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

How Scroll Table control in BDC (TCode = SR11)

Former Member
0 Likes
544

Hi Gurus,

I'm trying to insert lines in a table control via batch.

Unfortunately I must be able to insert more lines than the table control can show (4 lines at the same time).

I am not able to get the good OkCode trough SHDB.

I tried to add a line via OkCode 'P++' but it didnt worked.

See below a sample of my code.

IF NOT P_L_DATA-SA01 IS INITIAL.

CLEAR L_C_INDEX.

L_C_INDEX = L_INDEX.

CONCATENATE 'ADRCITYCCS-SPARTE(0' L_C_INDEX ')' INTO L_FIELD.

L_VALUE = '01'.

PERFORM BDC_FIELD USING L_FIELD L_VALUE.

CONCATENATE 'ADRCITYCCS-BUKRS(0' L_C_INDEX ')' INTO L_FIELD.

L_VALUE = P_L_DATA-SA01.

PERFORM BDC_FIELD USING L_FIELD L_VALUE.

L_INDEX = L_INDEX + 1.

ENDIF.

IF NOT P_L_DATA-SA04 IS INITIAL.

CLEAR L_C_INDEX.

L_C_INDEX = L_INDEX.

CONCATENATE 'ADRCITYCCS-SPARTE(0' L_C_INDEX ')' INTO L_FIELD.

L_VALUE = '04'.

PERFORM BDC_FIELD USING L_FIELD L_VALUE.

CONCATENATE 'ADRCITYCCS-BUKRS(0' L_C_INDEX ')' INTO L_FIELD.

L_VALUE = P_L_DATA-SA04.

PERFORM BDC_FIELD USING L_FIELD L_VALUE.

L_INDEX = L_INDEX + 1.

ENDIF.

IF NOT P_L_DATA-SA05 IS INITIAL.

CLEAR L_C_INDEX.

L_C_INDEX = L_INDEX.

CONCATENATE 'ADRCITYCCS-SPARTE(0' L_C_INDEX ')' INTO L_FIELD.

L_VALUE = '05'.

PERFORM BDC_FIELD USING L_FIELD L_VALUE.

CONCATENATE 'ADRCITYCCS-BUKRS(0' L_C_INDEX ')' INTO L_FIELD.

L_VALUE = P_L_DATA-SA05.

PERFORM BDC_FIELD USING L_FIELD L_VALUE.

L_INDEX = L_INDEX + 1.

ENDIF.

IF NOT P_L_DATA-SA06 IS INITIAL.

CLEAR L_C_INDEX.

L_C_INDEX = L_INDEX.

CONCATENATE 'ADRCITYCCS-SPARTE(0' L_C_INDEX ')' INTO L_FIELD.

L_VALUE = '06'.

PERFORM BDC_FIELD USING L_FIELD L_VALUE.

CONCATENATE 'ADRCITYCCS-BUKRS(0' L_C_INDEX ')' INTO L_FIELD.

L_VALUE = P_L_DATA-SA06.

PERFORM BDC_FIELD USING L_FIELD L_VALUE.

L_INDEX = L_INDEX + 1.

ENDIF.

L_FIELD = 'BDC_OKCODE'.

L_VALUE = '/00'.

PERFORM BDC_FIELD USING L_FIELD L_VALUE.

IF L_INDEX = 5.

L_PROG = 'SAPLSZRC'.

L_DYN = '0200'.

PERFORM BDC_DYNPRO USING L_PROG L_DYN.

L_FIELD = 'BDC_CURSOR'.

L_VALUE = 'ADRCITYCCS-BUKRS(04)'.

PERFORM BDC_FIELD USING L_FIELD L_VALUE.

L_FIELD = 'BDC_OKCODE'.

L_VALUE = 'P++'.

PERFORM BDC_FIELD USING L_FIELD L_VALUE.

ENDIF.

L_PROG = 'SAPLSZRC'.

L_DYN = '0200'.

PERFORM BDC_DYNPRO USING L_PROG L_DYN.

L_FIELD = 'BDC_CURSOR'.

L_VALUE = 'ADRCITYCCS-BUKRS(02)'.

PERFORM BDC_FIELD USING L_FIELD L_VALUE.

      • the 5th line

IF NOT P_L_DATA-SA07 IS INITIAL.

CLEAR L_C_INDEX.

L_C_INDEX = L_INDEX.

CONCATENATE 'ADRCITYCCS-SPARTE(' '02' ')' INTO L_FIELD.

L_VALUE = '07'.

PERFORM BDC_FIELD USING L_FIELD L_VALUE.

CONCATENATE 'ADRCITYCCS-BUKRS(' '02' ')' INTO L_FIELD.

L_VALUE = P_L_DATA-SA07.

PERFORM BDC_FIELD USING L_FIELD L_VALUE.

L_INDEX = L_INDEX + 1.

ENDIF.

L_FIELD = 'BDC_OKCODE'.

L_VALUE = '/00'.

PERFORM BDC_FIELD USING L_FIELD L_VALUE.

L_PROG = 'SAPLSZRC'.

L_DYN = '0200'.

PERFORM BDC_DYNPRO USING L_PROG L_DYN.

L_FIELD = 'BDC_OKCODE'.

L_VALUE = 'SAVE'.

PERFORM BDC_FIELD USING L_FIELD L_VALUE.

Any idea will be welcomed.

Please try to be clear and precide as I always wen trought several posts wich just not match.

Thanks

2 REPLIES 2
Read only

Former Member
0 Likes
490

Hi,

You can insert only limited records in to table control. if you want to increase that, While creating BDC recoring check for button near the table control. this button will be visible only at the time of recording. This button will enable to add new rows.

There will also be a button like goto line. once you reach some limit, you can trigger this button and give the line number. THis will take you the next set of lines

Regards,

Niyaz

Read only

0 Likes
490

Hi Niyaz,

Sorry but there is no button to add lines to this table control during the bdc recording.

The only way to enter more lines than the default number is to scroll the table control.

Unfortunatly this scroll action is not recorded (no OkCode) during recording.

Any idea gurus ???

Regards