Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

BDC-recording, only 8 entries captured, multiple selection of select option.

i am trying to create a bdc for module pool(module pool with selection screen)

For some reasons i won't be able to upload data from file or convert module pool into executable report.

While recording i am using multiple selection of select-options on selection screen of module pool.

But while recording i noticed that only 8 entries (out of 100, can be any,dynamic, entered in multiple selection) are captured. this is because only 8 rows are displayed directly and for rest we have to scroll again and again till the end.

Is there exists some way, we just paste entries and need not to scroll till the end(because at runtime, we don't know how many entries will be there.)

I am using recording  to fill BDCDATA. and using this internal table in statement.

CALL TRANSACTION 'ZTCODE' USING BDCDATA MODE 'E'.


Please guide .

Former Member
replied

Hi Abhishek,

I have reviewed your code, and done changes in it and tested on my system. Now it is working exactly you want. Please use below code.

report ZT5

        no standard page heading line-size 255.

include bdcrecx1.

DATA gtvbak TYPE STANDARD TABLE OF vbak WITH HEADER LINE.

data :v_index TYPE char2 VALUE '00'.

data v_string TYPE string.

start-of-selection.

SELECT * from vbak into  TABLE gtvbak UP TO 20 rows.

perform open_group.

perform bdc_dynpro      using 'ZT3' '1000'.

perform bdc_field       using 'BDC_CURSOR'

                               'SO_VBELN-LOW'.

perform bdc_field       using 'BDC_OKCODE'

                               '=%000'.

LOOP AT gtvbak.

   perform bdc_dynpro      using 'SAPLALDB' '3000'.

   v_index = v_index + 1.

   concatenate 'RSCSEL-SLOW_I(' v_index ')' INTO v_string.

   IF v_index = 1.

     perform bdc_field       using 'BDC_OKCODE'

                                   '=P+'.

   ENDIF.

   perform bdc_field       using 'BDC_OKCODE'

                                 '/00'.

   perform bdc_field       using v_string

                                 gtvbak-vbeln.

   IF v_index = 8.

     v_index = 1.

     IF v_index = 1.

       perform bdc_field       using 'BDC_OKCODE'

                                     '=P+'.

     ENDIF.

   ENDIF.

ENDLOOP.

perform bdc_dynpro      using 'SAPLALDB' '3000'.

perform bdc_field       using 'BDC_OKCODE'

                               '=ACPT'.

perform bdc_dynpro      using 'ZT3' '1000'.

perform bdc_field       using 'BDC_CURSOR'

                               'SO_VBELN-LOW'.

perform bdc_field       using 'BDC_OKCODE'

                               '=ONLI'.

perform bdc_dynpro      using 'ZT3' '1000'.

perform bdc_field       using 'BDC_OKCODE'

                               '/EE'.

perform bdc_field       using 'BDC_CURSOR'

                               'SO_VBELN-LOW'.

perform bdc_transaction using 'ZT2'.

perform close_group.

0 View this answer in context
Not what you were looking for? View more on this topic or Ask a question