Skip to Content
0
Former Member
Sep 12, 2007 at 03:18 PM

How Scroll Table control in BDC (TCode = SR11)

54 Views

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