Application Development 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: 

page down issue in f-28 BDC

Former Member
0 Kudos

Hi all,

I am not able to page down in one of the screens in the transaction F-28 while doing BDC.

Pls find the code that i had used when the items are more than 17,

Loop

......

IF l_cnt = 17.

PERFORM bdc_field USING 'BDC_OKCODE'

'=P+'.

PERFORM bdc_dynpro USING 'SAPDF05X' '4201'.

perform bdc_field using 'BDC_CURSOR'

'DF05B-TREST(01)'.

cnt = 0.

e ndif.

.....

Endloop.

Pls help in this matter.

1 ACCEPTED SOLUTION

vinod_vemuru2
Active Contributor
0 Kudos

Hi,

I also faced same issue in this transaction. This t code works differently.

What u can do is, get all the documents in to one internal table.

LOOP at that table enter first record in line 1 and click enter.

Now entered data will be stored and again first line becomes ready for input.

once u finish all the records and click continue u can see all the documents in next screen.

I have implemented this logic and is woking fine.

Below is the sample code.


*Enter all other document numbers corrosponding to this ZW document line
*item.
        LOOP AT li_doc_items INTO lwa_doc_items.
          PERFORM bdc_dynpro USING:
                  c_x   'SAPMF05A'        '0731',
                  space 'BDC_OKCODE'      '/00',   "Enter
                  space 'RF05A-SEL01(01)'           "First row
                  lwa_doc_items-belnr.
        ENDLOOP.

Do recording in this way and try.

Thanks,

Vinod.

4 REPLIES 4

Former Member
0 Kudos

Hi,

Set IF condition to IF ln_cnt > 17.

---

---

---

ln_cnt = 0.

ENDIF.

Best Regards,

Suresh

Former Member
0 Kudos

hi,

Follow this link where it has been shown a scenario to handle the page down issue during BDC programming.

[Page Down|https://wiki.sdn.sap.com/wiki/display/ABAP/BDCtablecontrolsusingtheNEWLINEbuttonontheGUI+status]

Thanks

Sharath

vinod_vemuru2
Active Contributor
0 Kudos

Hi,

I also faced same issue in this transaction. This t code works differently.

What u can do is, get all the documents in to one internal table.

LOOP at that table enter first record in line 1 and click enter.

Now entered data will be stored and again first line becomes ready for input.

once u finish all the records and click continue u can see all the documents in next screen.

I have implemented this logic and is woking fine.

Below is the sample code.


*Enter all other document numbers corrosponding to this ZW document line
*item.
        LOOP AT li_doc_items INTO lwa_doc_items.
          PERFORM bdc_dynpro USING:
                  c_x   'SAPMF05A'        '0731',
                  space 'BDC_OKCODE'      '/00',   "Enter
                  space 'RF05A-SEL01(01)'           "First row
                  lwa_doc_items-belnr.
        ENDLOOP.

Do recording in this way and try.

Thanks,

Vinod.

0 Kudos

Hi Vinod,

i used the above logic. I enter 4 values in one line ie amount, reason code , reference1 and reference2. The reference1 is unmatched document number.

Now what happens is all the amounts get added up as 1 line item and no document number is displayed in the next screen. But i need all that to be different line items. I am attaching the code that used.

Please help me.

LOOP AT t_820_payadv_tmp WHERE chect EQ st_checks-chect

AND kukey EQ st_checks-kukey

AND esnum EQ st_checks-esnum

AND sgtxt(3) NE 'INV'.

l_cnt = 1.

perform bdc_dynpro using 'SAPDF05X' '4201'.

perform bdc_field using 'BDC_CURSOR'

'DF05B-XREF1(01)'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

  • -Fill amount

CLEAR : l_fld.

concatenate : 'DF05B-TREST(' l_cnt ')' INTO l_fld.

condense : l_fld.

clear l_amt.

l_amt = t_820_payadv_tmp-WRBTR.

condense : l_amt.

PERFORM bdc_field USING l_fld l_amt.

  • -Fill reason code

CLEAR : l_fld.

concatenate : 'DF05B-RSTGR(' l_cnt ')' INTO l_fld.

condense : l_fld.

PERFORM bdc_field USING l_fld

t_820_payadv_tmp-rstgn.

  • -Fill reference numbers

CLEAR : l_fld.

concatenate : 'DF05B-XREF1(' l_cnt ')' INTO l_fld.

condense : l_fld.

PERFORM bdc_field USING l_fld

t_820_payadv_tmp-xref1.

CLEAR : l_fld.

concatenate : 'DF05B-XREF2(' l_cnt ')' INTO l_fld.

condense : l_fld.

PERFORM bdc_field USING l_fld

t_820_payadv_tmp-xref2.

Endloop.

perform bdc_dynpro using 'SAPDF05X' '4201'.

perform bdc_field using 'BDC_CURSOR'

'DF05B-XREF1(01)'.

perform bdc_field using 'BDC_OKCODE'

'=PA'.