2009 Aug 15 12:53 PM
Hi,
i have develop the BDC Program for AS91 transation and it is uploading from the excel file .But it takign the first record from the excel file and it is not taking the other records.below is the code.
Hi,
DATA: I_BDCDATA TYPE BDCDATA OCCURS 0 WITH HEADER LINE,
I_ERROR TYPE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
PARAMETERS: P_FILE TYPE RLGRAP-FILENAME OBLIGATORY,
P_MODE(1) DEFAULT 'A'.
p_erfile TYPE rlgrap-filename.
SELECTION-SCREEN : BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.
PARAMETER: PBROW_HD TYPE I, PEROW_HD TYPE I, PBCOL_HD TYPE I, PECOL_HD TYPE I.
SELECTION-SCREEN : END OF BLOCK BLK1.
DATA: T_EXCEL LIKE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
*
DATA: BEGIN OF RECORD OCCURS 0,
ANLKL(8),
BUKRS(4),
TXT50(50),
ANLHTXT(50),
SERNR(18),
INVNR(25),
MENGE(16),
MEINS(3),
INKEN(1),
INVZU(15),
AKTIV(10),
KOSTL(10),
WERKS(4),
EQANZ(1),
LIEFE(30),
HERST(30),
LAND1(3),
TYPBZ(15),
URJHR(4),
URWRT(13),
VSART(2),
VSGES(2),
VSSTX(15),
VSZTX(50),
VRSBG(10),
VRSBA(16),
NDJAR_01(3),
NDPER_01(3),
AFASL(4),
AFABG(10),
SCHRW(16),
SCHRW_PROZ(25),
ANBTR_01(16),
ANBTR_06(16),
END OF RECORD.
START-OF-SELECTION.
DATA: V_FILENAME LIKE RLGRAP-FILENAME.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
PERFORM read_file CHANGING p_file.
CALL FUNCTION 'F4_FILENAME'
* EXPORTING
* PROGRAM_NAME = SYST-CPROG
* DYNPRO_NUMBER = SYST-DYNNR
* FIELD_NAME = ' '
IMPORTING
FILE_NAME = P_FILE.
START-OF-SELECTION.
PERFORM UPLOAD.
PERFORM BDC.
FORM UPLOAD .
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = P_FILE
I_BEGIN_COL = PBCOL_HD
I_BEGIN_ROW = PBROW_HD
I_END_COL = PECOL_HD
I_END_ROW = PEROW_HD
TABLES
INTERN = T_EXCEL
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.
LOOP AT T_EXCEL.
CASE T_EXCEL-COL.
WHEN 1. MOVE T_EXCEL-VALUE TO RECORD-ANLKL.
WHEN 2. MOVE T_EXCEL-VALUE TO RECORD-BUKRS.
WHEN 3. MOVE T_EXCEL-VALUE TO RECORD-TXT50.
WHEN 4. MOVE T_EXCEL-VALUE TO RECORD-ANLHTXT.
WHEN 5. MOVE T_EXCEL-VALUE TO RECORD-SERNR.
WHEN 6. MOVE T_EXCEL-VALUE TO RECORD-INVNR.
WHEN 7. MOVE T_EXCEL-VALUE TO RECORD-MENGE.
WHEN 8. MOVE T_EXCEL-VALUE TO RECORD-MEINS.
WHEN 9. MOVE T_EXCEL-VALUE TO RECORD-INKEN.
WHEN 10. MOVE T_EXCEL-VALUE TO RECORD-INVZU.
WHEN 11. Move t_excel-value to record-aktiv.
WHEN 12. MOVE T_EXCEL-VALUE TO RECORD-KOSTL.
WHEN 13. MOVE T_EXCEL-VALUE TO RECORD-WERKS.
WHEN 14. MOVE T_EXCEL-VALUE TO RECORD-EQANZ.
WHEN 15. MOVE T_EXCEL-VALUE TO RECORD-LIEFE.
WHEN 16. MOVE T_EXCEL-VALUE TO RECORD-HERST.
WHEN 17. MOVE T_EXCEL-VALUE TO RECORD-LAND1.
WHEN 18. MOVE T_EXCEL-VALUE TO RECORD-TYPBZ.
WHEN 19. MOVE T_EXCEL-VALUE TO RECORD-URJHR.
WHEN 20. MOVE T_EXCEL-VALUE TO RECORD-URWRT.
WHEN 21. MOVE T_EXCEL-VALUE TO RECORD-VSART.
WHEN 22. MOVE T_EXCEL-VALUE TO RECORD-VSGES.
WHEN 23. MOVE T_EXCEL-VALUE TO RECORD-VSSTX.
WHEN 24. MOVE T_EXCEL-VALUE TO RECORD-VSZTX.
WHEN 25. MOVE T_EXCEL-VALUE TO RECORD-VRSBG.
WHEN 26. MOVE T_EXCEL-VALUE TO RECORD-VRSBA.
WHEN 27. MOVE T_EXCEL-VALUE TO RECORD-NDJAR_01.
WHEN 28. MOVE T_EXCEL-VALUE TO RECORD-NDPER_01.
WHEN 29. MOVE T_EXCEL-VALUE TO RECORD-AFASL.
WHEN 30. MOVE T_EXCEL-VALUE TO RECORD-AFABG.
WHEN 31. MOVE T_EXCEL-VALUE TO RECORD-SCHRW.
WHEN 32. MOVE T_EXCEL-VALUE TO RECORD-SCHRW_PROZ.
WHEN 33. MOVE T_EXCEL-VALUE TO RECORD-ANBTR_01.
WHEN 34. MOVE T_EXCEL-VALUE TO RECORD-ANBTR_06.
ENDCASE.
AT END OF ROW.
APPEND RECORD.
CLEAR RECORD.
ENDAT.
ENDLOOP.
ENDFORM. " UPLOAD
FORM BDC .
LOOP AT RECORD.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '0105'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-ANLKL'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'ANLA-ANLKL'
RECORD-ANLKL.
PERFORM BDC_FIELD USING 'ANLA-BUKRS'
RECORD-BUKRS.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB02'.
PERFORM BDC_FIELD USING 'ANLA-TXT50'
RECORD-TXT50.
PERFORM BDC_FIELD USING 'ANLH-ANLHTXT'
RECORD-ANLHTXT.
PERFORM BDC_FIELD USING 'ANLA-SERNR'
RECORD-SERNR.
PERFORM BDC_FIELD USING 'ANLA-INVNR'
RECORD-INVNR.
PERFORM BDC_FIELD USING 'ANLA-MENGE'
RECORD-MENGE.
PERFORM BDC_FIELD USING 'ANLA-MEINS'
RECORD-MEINS.
PERFORM BDC_FIELD USING 'ANLA-INKEN'
RECORD-INKEN.
PERFORM BDC_FIELD USING 'ANLA-INVZU'
RECORD-INVZU.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-AKTIV'.
PERFORM BDC_FIELD USING 'ANLA-AKTIV'
RECORD-AKTIV.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB03'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLZ-WERKS'.
PERFORM BDC_FIELD USING 'ANLZ-KOSTL'
RECORD-KOSTL.
PERFORM BDC_FIELD USING 'ANLZ-WERKS'
RECORD-WERKS.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB04'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RA02S-EQANZ'.
PERFORM BDC_FIELD USING 'RA02S-EQANZ'
RECORD-EQANZ.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB06'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-URWRT'.
PERFORM BDC_FIELD USING 'ANLA-LIEFE'
RECORD-LIEFE.
PERFORM BDC_FIELD USING 'ANLA-HERST'
RECORD-HERST.
PERFORM BDC_FIELD USING 'ANLA-LAND1'
RECORD-LAND1.
PERFORM BDC_FIELD USING 'ANLA-TYPBZ'
RECORD-TYPBZ.
PERFORM BDC_FIELD USING 'ANLA-URJHR'
RECORD-URJHR.
PERFORM BDC_FIELD USING 'ANLA-URWRT'
RECORD-URWRT.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB08'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLV-VRSBA'.
PERFORM BDC_FIELD USING 'ANLV-VSART'
RECORD-VSART.
PERFORM BDC_FIELD USING 'ANLV-VSGES'
RECORD-VSGES.
PERFORM BDC_FIELD USING 'ANLV-VSSTX'
RECORD-VSSTX.
PERFORM BDC_FIELD USING 'ANLV-VSZTX'
RECORD-VSZTX.
PERFORM BDC_FIELD USING 'ANLV-VRSBG'
RECORD-VRSBG.
PERFORM BDC_FIELD USING 'ANLV-VRSBA'
RECORD-VRSBA.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SELZ'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLB-AFABG(01)'.
PERFORM BDC_FIELD USING 'ANLB-NDJAR(01)'
RECORD-NDJAR_01.
PERFORM BDC_FIELD USING 'ANLB-NDPER(01)'
RECORD-NDPER_01.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '0195'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ALTD'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLB-SCHRW_PROZ'.
PERFORM BDC_FIELD USING 'ANLB-AFASL'
RECORD-AFASL.
PERFORM BDC_FIELD USING 'ANLB-NDJAR'
RECORD-NDJAR_01.
PERFORM BDC_FIELD USING 'ANLB-NDPER'
RECORD-NDPER_01.
PERFORM BDC_FIELD USING 'ANLB-AFABG'
RECORD-AFABG.
PERFORM BDC_FIELD USING 'ANLB-SCHRW'
RECORD-SCHRW.
PERFORM BDC_FIELD USING 'ANLB-SCHRW_PROZ'
RECORD-SCHRW_PROZ.
PERFORM BDC_DYNPRO USING 'SAPLALTD' '1100'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RALT_DYNP_STRUC-ANBTR01(06)'.
PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(01)'
RECORD-ANBTR_01.
PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(06)'
RECORD-ANBTR_06.
PERFORM BDC_DYNPRO USING 'SAPLALTD' '1100'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-ANLN1'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BUCH'.
clear record.
CALL TRANSACTION 'AS91' USING I_BDCDATA MODE P_MODE.
ENDLOOP.
ENDFORM. " BDC
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR I_BDCDATA.
I_BDCDATA-PROGRAM = PROGRAM.
I_BDCDATA-DYNPRO = DYNPRO.
I_BDCDATA-DYNBEGIN = 'X'.
APPEND I_BDCDATA.
ENDFORM.
FORM BDC_FIELD USING FNAM FVAL.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = FNAM.
I_BDCDATA-FVAL = FVAL.
APPEND I_BDCDATA.
ENDFORM.
Hi,
i have develop the BDC Program for AS91 transation and it is uploading from the excel file .But it takign the first record from the excel file and it is not taking the other records.below is the code.
Hi,
DATA: I_BDCDATA TYPE BDCDATA OCCURS 0 WITH HEADER LINE,
I_ERROR TYPE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
PARAMETERS: P_FILE TYPE RLGRAP-FILENAME OBLIGATORY,
P_MODE(1) DEFAULT 'A'.
p_erfile TYPE rlgrap-filename.
SELECTION-SCREEN : BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.
PARAMETER: PBROW_HD TYPE I, PEROW_HD TYPE I, PBCOL_HD TYPE I, PECOL_HD TYPE I.
SELECTION-SCREEN : END OF BLOCK BLK1.
DATA: T_EXCEL LIKE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
*
DATA: BEGIN OF RECORD OCCURS 0,
ANLKL(8),
BUKRS(4),
TXT50(50),
ANLHTXT(50),
SERNR(18),
INVNR(25),
MENGE(16),
MEINS(3),
INKEN(1),
INVZU(15),
AKTIV(10),
KOSTL(10),
WERKS(4),
EQANZ(1),
LIEFE(30),
HERST(30),
LAND1(3),
TYPBZ(15),
URJHR(4),
URWRT(13),
VSART(2),
VSGES(2),
VSSTX(15),
VSZTX(50),
VRSBG(10),
VRSBA(16),
NDJAR_01(3),
NDPER_01(3),
AFASL(4),
AFABG(10),
SCHRW(16),
SCHRW_PROZ(25),
ANBTR_01(16),
ANBTR_06(16),
END OF RECORD.
START-OF-SELECTION.
DATA: V_FILENAME LIKE RLGRAP-FILENAME.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
PERFORM read_file CHANGING p_file.
CALL FUNCTION 'F4_FILENAME'
* EXPORTING
* PROGRAM_NAME = SYST-CPROG
* DYNPRO_NUMBER = SYST-DYNNR
* FIELD_NAME = ' '
IMPORTING
FILE_NAME = P_FILE.
START-OF-SELECTION.
PERFORM UPLOAD.
PERFORM BDC.
FORM UPLOAD .
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = P_FILE
I_BEGIN_COL = PBCOL_HD
I_BEGIN_ROW = PBROW_HD
I_END_COL = PECOL_HD
I_END_ROW = PEROW_HD
TABLES
INTERN = T_EXCEL
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.
LOOP AT T_EXCEL.
CASE T_EXCEL-COL.
WHEN 1. MOVE T_EXCEL-VALUE TO RECORD-ANLKL.
WHEN 2. MOVE T_EXCEL-VALUE TO RECORD-BUKRS.
WHEN 3. MOVE T_EXCEL-VALUE TO RECORD-TXT50.
WHEN 4. MOVE T_EXCEL-VALUE TO RECORD-ANLHTXT.
WHEN 5. MOVE T_EXCEL-VALUE TO RECORD-SERNR.
WHEN 6. MOVE T_EXCEL-VALUE TO RECORD-INVNR.
WHEN 7. MOVE T_EXCEL-VALUE TO RECORD-MENGE.
WHEN 8. MOVE T_EXCEL-VALUE TO RECORD-MEINS.
WHEN 9. MOVE T_EXCEL-VALUE TO RECORD-INKEN.
WHEN 10. MOVE T_EXCEL-VALUE TO RECORD-INVZU.
WHEN 11. Move t_excel-value to record-aktiv.
WHEN 12. MOVE T_EXCEL-VALUE TO RECORD-KOSTL.
WHEN 13. MOVE T_EXCEL-VALUE TO RECORD-WERKS.
WHEN 14. MOVE T_EXCEL-VALUE TO RECORD-EQANZ.
WHEN 15. MOVE T_EXCEL-VALUE TO RECORD-LIEFE.
WHEN 16. MOVE T_EXCEL-VALUE TO RECORD-HERST.
WHEN 17. MOVE T_EXCEL-VALUE TO RECORD-LAND1.
WHEN 18. MOVE T_EXCEL-VALUE TO RECORD-TYPBZ.
WHEN 19. MOVE T_EXCEL-VALUE TO RECORD-URJHR.
WHEN 20. MOVE T_EXCEL-VALUE TO RECORD-URWRT.
WHEN 21. MOVE T_EXCEL-VALUE TO RECORD-VSART.
WHEN 22. MOVE T_EXCEL-VALUE TO RECORD-VSGES.
WHEN 23. MOVE T_EXCEL-VALUE TO RECORD-VSSTX.
WHEN 24. MOVE T_EXCEL-VALUE TO RECORD-VSZTX.
WHEN 25. MOVE T_EXCEL-VALUE TO RECORD-VRSBG.
WHEN 26. MOVE T_EXCEL-VALUE TO RECORD-VRSBA.
WHEN 27. MOVE T_EXCEL-VALUE TO RECORD-NDJAR_01.
WHEN 28. MOVE T_EXCEL-VALUE TO RECORD-NDPER_01.
WHEN 29. MOVE T_EXCEL-VALUE TO RECORD-AFASL.
WHEN 30. MOVE T_EXCEL-VALUE TO RECORD-AFABG.
WHEN 31. MOVE T_EXCEL-VALUE TO RECORD-SCHRW.
WHEN 32. MOVE T_EXCEL-VALUE TO RECORD-SCHRW_PROZ.
WHEN 33. MOVE T_EXCEL-VALUE TO RECORD-ANBTR_01.
WHEN 34. MOVE T_EXCEL-VALUE TO RECORD-ANBTR_06.
ENDCASE.
AT END OF ROW.
APPEND RECORD.
CLEAR RECORD.
ENDAT.
ENDLOOP.
ENDFORM. " UPLOAD
FORM BDC .
LOOP AT RECORD.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '0105'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-ANLKL'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'ANLA-ANLKL'
RECORD-ANLKL.
PERFORM BDC_FIELD USING 'ANLA-BUKRS'
RECORD-BUKRS.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB02'.
PERFORM BDC_FIELD USING 'ANLA-TXT50'
RECORD-TXT50.
PERFORM BDC_FIELD USING 'ANLH-ANLHTXT'
RECORD-ANLHTXT.
PERFORM BDC_FIELD USING 'ANLA-SERNR'
RECORD-SERNR.
PERFORM BDC_FIELD USING 'ANLA-INVNR'
RECORD-INVNR.
PERFORM BDC_FIELD USING 'ANLA-MENGE'
RECORD-MENGE.
PERFORM BDC_FIELD USING 'ANLA-MEINS'
RECORD-MEINS.
PERFORM BDC_FIELD USING 'ANLA-INKEN'
RECORD-INKEN.
PERFORM BDC_FIELD USING 'ANLA-INVZU'
RECORD-INVZU.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-AKTIV'.
PERFORM BDC_FIELD USING 'ANLA-AKTIV'
RECORD-AKTIV.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB03'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLZ-WERKS'.
PERFORM BDC_FIELD USING 'ANLZ-KOSTL'
RECORD-KOSTL.
PERFORM BDC_FIELD USING 'ANLZ-WERKS'
RECORD-WERKS.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB04'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RA02S-EQANZ'.
PERFORM BDC_FIELD USING 'RA02S-EQANZ'
RECORD-EQANZ.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB06'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-URWRT'.
PERFORM BDC_FIELD USING 'ANLA-LIEFE'
RECORD-LIEFE.
PERFORM BDC_FIELD USING 'ANLA-HERST'
RECORD-HERST.
PERFORM BDC_FIELD USING 'ANLA-LAND1'
RECORD-LAND1.
PERFORM BDC_FIELD USING 'ANLA-TYPBZ'
RECORD-TYPBZ.
PERFORM BDC_FIELD USING 'ANLA-URJHR'
RECORD-URJHR.
PERFORM BDC_FIELD USING 'ANLA-URWRT'
RECORD-URWRT.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB08'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLV-VRSBA'.
PERFORM BDC_FIELD USING 'ANLV-VSART'
RECORD-VSART.
PERFORM BDC_FIELD USING 'ANLV-VSGES'
RECORD-VSGES.
PERFORM BDC_FIELD USING 'ANLV-VSSTX'
RECORD-VSSTX.
PERFORM BDC_FIELD USING 'ANLV-VSZTX'
RECORD-VSZTX.
PERFORM BDC_FIELD USING 'ANLV-VRSBG'
RECORD-VRSBG.
PERFORM BDC_FIELD USING 'ANLV-VRSBA'
RECORD-VRSBA.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SELZ'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLB-AFABG(01)'.
PERFORM BDC_FIELD USING 'ANLB-NDJAR(01)'
RECORD-NDJAR_01.
PERFORM BDC_FIELD USING 'ANLB-NDPER(01)'
RECORD-NDPER_01.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '0195'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ALTD'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLB-SCHRW_PROZ'.
PERFORM BDC_FIELD USING 'ANLB-AFASL'
RECORD-AFASL.
PERFORM BDC_FIELD USING 'ANLB-NDJAR'
RECORD-NDJAR_01.
PERFORM BDC_FIELD USING 'ANLB-NDPER'
RECORD-NDPER_01.
PERFORM BDC_FIELD USING 'ANLB-AFABG'
RECORD-AFABG.
PERFORM BDC_FIELD USING 'ANLB-SCHRW'
RECORD-SCHRW.
PERFORM BDC_FIELD USING 'ANLB-SCHRW_PROZ'
RECORD-SCHRW_PROZ.
PERFORM BDC_DYNPRO USING 'SAPLALTD' '1100'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RALT_DYNP_STRUC-ANBTR01(06)'.
PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(01)'
RECORD-ANBTR_01.
PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(06)'
RECORD-ANBTR_06.
PERFORM BDC_DYNPRO USING 'SAPLALTD' '1100'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-ANLN1'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BUCH'.
clear record.
CALL TRANSACTION 'AS91' USING I_BDCDATA MODE P_MODE.
ENDLOOP.
ENDFORM. " BDC
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR I_BDCDATA.
I_BDCDATA-PROGRAM = PROGRAM.
I_BDCDATA-DYNPRO = DYNPRO.
I_BDCDATA-DYNBEGIN = 'X'.
APPEND I_BDCDATA.
ENDFORM.
FORM BDC_FIELD USING FNAM FVAL.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = FNAM.
I_BDCDATA-FVAL = FVAL.
APPEND I_BDCDATA.
ENDFORM.
2009 Aug 16 10:13 AM