Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

BDC Page scroll Issue

hossain_rajib55
Participant
0 Likes
2,944

Hello Gurus!!

Greetings !!

Having a problem. Using BDC record i need to complete PGI against Delivery order.

Problem is its skipping one line every time to updated data. I can not find out the problem.Sample code is given here as reference. Please help me to sort it out. Also item number not perfectly maintain which is given in the attachment even its take an extra line also.Its an urgent issue. Please help me.


  LOOP AT it_lips INTO wa_lips.

    indx indx + 1.

    PERFORM bdc_dynpro      USING 'SAPMV50A' '1000'.

    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '=POPO_T'.

    PERFORM bdc_dynpro      USING 'SAPMV50A' '0111'.
    PERFORM bdc_field       USING 'BDC_CURSOR'
                                  'RV50A-POSNR'.
    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '=WEIT'.
    PERFORM bdc_field       USING 'RV50A-POSNR'
                              wa_lips-posnr.


***WHEN ON Below code ONE LINE SKIP  & SCROLL WORK PERFECTLY WITH UPDATED VALUES
****WHEN OFF ITS SCROLL WORKS PERFECTLY BUT DATA NOT UPDATED

    PERFORM bdc_dynpro      USING 'SAPMV50A' '1000'.
    PERFORM bdc_field       USING 'BDC_OKCODE'
                              '/00'.


    DATA(txt_lg|LIPS-LGORT({ indx })|.
    PERFORM bdc_field       USING txt_lg
                                  '0004'.

    DATA(txt_dlqt|LIPSD-G_LFIMG({ indx })|.
    txt_qt wa_lips-lfimg.
    PERFORM bdc_field       USING txt_dlqt
                                  txt_qt.


    DATA(txt_pk|LIPSD-PIKMG({ indx })|.
    PERFORM bdc_field       USING txt_pk
                                  txt_qt.
  ENDLOOP.


  PERFORM bdc_dynpro      USING 'SAPMV50A' '1000'.
  PERFORM bdc_field       USING 'BDC_OKCODE'
                                '=WABU_T'.
  PERFORM bdc_field       USING 'BDC_CURSOR'
                                'LIPSD-PIKMG(01)'.

  PERFORM bdc_transaction USING 'VL02N' 'A'.

Screenshot (41).pngScreenshot (42).pngScreenshot (40).png

Hello Gurus!!

Greetings !!

Having a problem. Using BDC record i need to complete PGI against Delivery order.

Problem is its skipping one line every time to updated data. I can not find out the problem.Sample code is given here as reference. Please help me to sort it out. Also item number not perfectly maintain which is given in the attachment even its take an extra line also.Its an urgent issue. Please help me.


  LOOP AT it_lips INTO wa_lips.

    indx indx + 1.

    PERFORM bdc_dynpro      USING 'SAPMV50A' '1000'.

    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '=POPO_T'.

    PERFORM bdc_dynpro      USING 'SAPMV50A' '0111'.
    PERFORM bdc_field       USING 'BDC_CURSOR'
                                  'RV50A-POSNR'.
    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '=WEIT'.
    PERFORM bdc_field       USING 'RV50A-POSNR'
                              wa_lips-posnr.


***WHEN ON Below code ONE LINE SKIP  & SCROLL WORK PERFECTLY WITH UPDATED VALUES
****WHEN OFF ITS SCROLL WORKS PERFECTLY BUT DATA NOT UPDATED

    PERFORM bdc_dynpro      USING 'SAPMV50A' '1000'.
    PERFORM bdc_field       USING 'BDC_OKCODE'
                              '/00'.


    DATA(txt_lg|LIPS-LGORT({ indx })|.
    PERFORM bdc_field       USING txt_lg
                                  '0004'.

    DATA(txt_dlqt|LIPSD-G_LFIMG({ indx })|.
    txt_qt wa_lips-lfimg.
    PERFORM bdc_field       USING txt_dlqt
                                  txt_qt.


    DATA(txt_pk|LIPSD-PIKMG({ indx })|.
    PERFORM bdc_field       USING txt_pk
                                  txt_qt.
  ENDLOOP.


  PERFORM bdc_dynpro      USING 'SAPMV50A' '1000'.
  PERFORM bdc_field       USING 'BDC_OKCODE'
                                '=WABU_T'.
  PERFORM bdc_field       USING 'BDC_CURSOR'
                                'LIPSD-PIKMG(01)'.

  PERFORM bdc_transaction USING 'VL02N' 'A'.

Screenshot (41).pngScreenshot (42).pngScreenshot (40).png

5 REPLIES 5
Read only

Sandra_Rossi
Active Contributor
2,938

Could you please embed the screenshots instead of hyperlinks? Note that Batch Input (BDC has been obsolete for 20 years) doesn't permit to scroll, instead you must use any function code which permits to reposition (scroll) the table control (it depends on the transaction code and screen). At last resort, you may extend the standard to permit this feature and use it via Batch Input.

Read only

0 Likes
2,885

@Sandra_Rossi  Please check now. Scroll is working but it skip one line . In internal table i got all the values without interval.

@Dominik_Tylczynski  I create a BAPI for doing it automatically using API.

Read only

2,866

You are positioning the item number 00020 at the line 1. At the next item number, you are positioning it again at the line 1.

So, you should ALWAYS refer to LIPS-LGORT(1), LIPSD-G_LFIMG(1), LIPSD-PIKMG(1).

Is that clear?

Read only

Dominik_Tylczynski
SAP Champion
SAP Champion
2,888

Hello @hossain_rajib55 

Why don't you use WS_DELIVERY_UPDATE function or Delivery Interface to update picking quantities and post GI? It's documented, supported, much easier than error prone BDC.

Best regards

Dominik Tylczynski

Read only

hossain_rajib55
Participant
0 Likes
2,866

Its done. Thanks for reply