‎2008 Mar 10 4:08 PM
Hi,
Could anybody give me sample coding for recording program which is useful for the furtherrecordings.
Waiting for Reply,
Regards,
Koti
Edited by: Alvaro Tejada Galindo on Mar 10, 2008 1:34 PM
‎2008 Mar 10 4:21 PM
Hi,
Try with the below code this will be useful for anyrecording by changing the fileds accordingly to the requirement.
REPORT ZFIIO1ST MESSAGE-ID ZZ.
DATA: BEGIN OF BDCDATA OCCURS 0.
INCLUDE STRUCTURE BDCDATA.
DATA: END OF BDCDATA.
DATA: BEGIN OF IT_OUT OCCURS 0,
AUART LIKE COAS-AUART,
KTEXT LIKE COAS-KTEXT,
AUFEX LIKE COAS-AUFEX,
KOSTV LIKE COAS-KOSTV,
BUKRS LIKE COAS-BUKRS,
GSBER LIKE COAS-GSBER,
PRCTR LIKE COAS-PRCTR,
USER0 LIKE COAS-USER0,
USER1 LIKE COAS-USER1,
USER6 LIKE COAS-USER6,
USER2 LIKE COAS-USER2,
USER3 LIKE COAS-USER3,
USER4(14),
PROZS(5),
PERBZ LIKE COBRB-PERBZ,
GABPE LIKE COBRB-GABPE,
GABJA LIKE COBRB-GABJA,
GBISP LIKE COBRB-GBISP,
GBISJ LIKE COBRB-GBISJ,
KOSTL LIKE COBL-KOSTL,
END OF IT_OUT.
DATA: IT_MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
**- SELECTION-SCREEN
SELECTION-SCREEN BEGIN OF BLOCK BLK01 WITH FRAME TITLE TEXT-001.
*parameters: bukrs like coas-bukrs default '8530'.
PARAMETERS: P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.
SELECTION-SCREEN END OF BLOCK BLK01.
***********************Authority check***************************
AUTHORITY-CHECK OBJECT 'Z_BUKRS'
ID 'ACTVT' FIELD '01'
ID 'BUKRS' FIELD '8530'.
IF SY-SUBRC NE 0.
MESSAGE E000(ZZ) WITH 'You are not authorised to run this program'.
ENDIF.
**- VALIDATIONS
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
MASK = ',Text files, *.txt'
STATIC = 'X'
CHANGING
FILE_NAME = P_FILE.
start-of-selection.
PERFORM FILE_UPLOAD.
PERFORM UPLOAD_DATA.
----
FORM KF_UPLOAD *
----
........ *
----
FORM FILE_UPLOAD.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = P_FILE
FILETYPE = 'DAT'
TABLES
DATA_TAB = IT_OUT
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TABLE_WIDTH = 4
INVALID_TYPE = 5
NO_BATCH = 6
UNKNOWN_ERROR = 7
OTHERS = 8.
ENDFORM.
----
FORM UPLOAD_DATA *
----
........ *
----
FORM UPLOAD_DATA.
LOOP AT IT_OUT.
CLEAR: BDCDATA,IT_MESSTAB. REFRESH: BDCDATA,IT_MESSTAB.
perform bdc_dynpro using 'SAPMKAUF' '0100'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'BDC_CURSOR'
'COAS-AUART'.
perform bdc_field using 'COAS-AUART'
IT_OUT-AUART.
perform bdc_dynpro using 'SAPMKAUF' '0120'.
perform bdc_field using 'BDC_OKCODE'
'ABVO'.
perform bdc_field using 'COAS-KTEXT'
IT_OUT-KTEXT.
perform bdc_field using 'COAS-AUFEX'
IT_OUT-AUFEX.
perform bdc_field using 'COAS-KOSTV'
IT_OUT-KOSTV.
perform bdc_field using 'COAS-BUKRS'
IT_OUT-BUKRS.
perform bdc_field using 'COAS-GSBER'
IT_OUT-GSBER.
perform bdc_field using 'COAS-PRCTR'
IT_OUT-PRCTR.
perform bdc_field using 'BDC_CURSOR'
'COAS-USER6'.
perform bdc_field using 'COAS-USER0'
IT_OUT-USER0.
perform bdc_field using 'COAS-USER1'
IT_OUT-USER1.
perform bdc_field using 'COAS-USER6'
IT_OUT-USER6.
perform bdc_field using 'COAS-USER2'
IT_OUT-USER2.
perform bdc_field using 'COAS-USER3'
IT_OUT-USER3.
perform bdc_field using 'COAS-USER4'
IT_OUT-USER4.
perform bdc_dynpro using 'SAPLKOBS' '0100'.
perform bdc_field using 'BDC_OKCODE'
'SICH'.
perform bdc_field using 'BDC_CURSOR'
'COBRB-GBISJ'.
perform bdc_field using 'COBRB-PROZS'
IT_OUT-PROZS.
perform bdc_field using 'COBRB-PERBZ'
IT_OUT-PERBZ.
perform bdc_field using 'COBRB-GABPE'
IT_OUT-GABPE.
perform bdc_field using 'COBRB-GABJA'
IT_OUT-GABJA.
perform bdc_field using 'COBRB-GBISP'
IT_OUT-GBISP.
perform bdc_field using 'COBRB-GBISJ'
IT_OUT-GBISJ.
perform bdc_field using 'COBL-KOSTL'
IT_OUT-KOSTL.
*perform bdc_transaction using 'KO01'.
CALL TRANSACTION 'KO01' USING BDCDATA MODE 'N'
MESSAGES INTO IT_MESSTAB.
IF SY-SUBRC EQ 0.
WRITE: / IT_OUT-AUFEX, ' Internal Oredr Created'.
ELSE.
WRITE: / IT_OUT-AUFEX, ' Internal Oredr Failed'.
ENDIF.
ENDLOOP.
ENDFORM.
----
FORM BDC_DYNPRO *
----
........ *
----
--> PROGRAM *
--> DYNPRO *
----
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM.
----
FORM BDC_FIELD *
----
........ *
----
--> FNAM *
--> FVAL *
----
FORM BDC_FIELD USING FNAM FVAL.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDFORM.
Regards,
Sunil.
‎2008 Mar 10 4:13 PM
Hi,
Please refer to the link below:
http://abapcode.blogspot.com/2007/05/learn-bdc-step-by-step.html
Thanks,
Sriram Ponna.
‎2008 Mar 10 4:21 PM
Hi,
Try with the below code this will be useful for anyrecording by changing the fileds accordingly to the requirement.
REPORT ZFIIO1ST MESSAGE-ID ZZ.
DATA: BEGIN OF BDCDATA OCCURS 0.
INCLUDE STRUCTURE BDCDATA.
DATA: END OF BDCDATA.
DATA: BEGIN OF IT_OUT OCCURS 0,
AUART LIKE COAS-AUART,
KTEXT LIKE COAS-KTEXT,
AUFEX LIKE COAS-AUFEX,
KOSTV LIKE COAS-KOSTV,
BUKRS LIKE COAS-BUKRS,
GSBER LIKE COAS-GSBER,
PRCTR LIKE COAS-PRCTR,
USER0 LIKE COAS-USER0,
USER1 LIKE COAS-USER1,
USER6 LIKE COAS-USER6,
USER2 LIKE COAS-USER2,
USER3 LIKE COAS-USER3,
USER4(14),
PROZS(5),
PERBZ LIKE COBRB-PERBZ,
GABPE LIKE COBRB-GABPE,
GABJA LIKE COBRB-GABJA,
GBISP LIKE COBRB-GBISP,
GBISJ LIKE COBRB-GBISJ,
KOSTL LIKE COBL-KOSTL,
END OF IT_OUT.
DATA: IT_MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
**- SELECTION-SCREEN
SELECTION-SCREEN BEGIN OF BLOCK BLK01 WITH FRAME TITLE TEXT-001.
*parameters: bukrs like coas-bukrs default '8530'.
PARAMETERS: P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.
SELECTION-SCREEN END OF BLOCK BLK01.
***********************Authority check***************************
AUTHORITY-CHECK OBJECT 'Z_BUKRS'
ID 'ACTVT' FIELD '01'
ID 'BUKRS' FIELD '8530'.
IF SY-SUBRC NE 0.
MESSAGE E000(ZZ) WITH 'You are not authorised to run this program'.
ENDIF.
**- VALIDATIONS
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
MASK = ',Text files, *.txt'
STATIC = 'X'
CHANGING
FILE_NAME = P_FILE.
start-of-selection.
PERFORM FILE_UPLOAD.
PERFORM UPLOAD_DATA.
----
FORM KF_UPLOAD *
----
........ *
----
FORM FILE_UPLOAD.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = P_FILE
FILETYPE = 'DAT'
TABLES
DATA_TAB = IT_OUT
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TABLE_WIDTH = 4
INVALID_TYPE = 5
NO_BATCH = 6
UNKNOWN_ERROR = 7
OTHERS = 8.
ENDFORM.
----
FORM UPLOAD_DATA *
----
........ *
----
FORM UPLOAD_DATA.
LOOP AT IT_OUT.
CLEAR: BDCDATA,IT_MESSTAB. REFRESH: BDCDATA,IT_MESSTAB.
perform bdc_dynpro using 'SAPMKAUF' '0100'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'BDC_CURSOR'
'COAS-AUART'.
perform bdc_field using 'COAS-AUART'
IT_OUT-AUART.
perform bdc_dynpro using 'SAPMKAUF' '0120'.
perform bdc_field using 'BDC_OKCODE'
'ABVO'.
perform bdc_field using 'COAS-KTEXT'
IT_OUT-KTEXT.
perform bdc_field using 'COAS-AUFEX'
IT_OUT-AUFEX.
perform bdc_field using 'COAS-KOSTV'
IT_OUT-KOSTV.
perform bdc_field using 'COAS-BUKRS'
IT_OUT-BUKRS.
perform bdc_field using 'COAS-GSBER'
IT_OUT-GSBER.
perform bdc_field using 'COAS-PRCTR'
IT_OUT-PRCTR.
perform bdc_field using 'BDC_CURSOR'
'COAS-USER6'.
perform bdc_field using 'COAS-USER0'
IT_OUT-USER0.
perform bdc_field using 'COAS-USER1'
IT_OUT-USER1.
perform bdc_field using 'COAS-USER6'
IT_OUT-USER6.
perform bdc_field using 'COAS-USER2'
IT_OUT-USER2.
perform bdc_field using 'COAS-USER3'
IT_OUT-USER3.
perform bdc_field using 'COAS-USER4'
IT_OUT-USER4.
perform bdc_dynpro using 'SAPLKOBS' '0100'.
perform bdc_field using 'BDC_OKCODE'
'SICH'.
perform bdc_field using 'BDC_CURSOR'
'COBRB-GBISJ'.
perform bdc_field using 'COBRB-PROZS'
IT_OUT-PROZS.
perform bdc_field using 'COBRB-PERBZ'
IT_OUT-PERBZ.
perform bdc_field using 'COBRB-GABPE'
IT_OUT-GABPE.
perform bdc_field using 'COBRB-GABJA'
IT_OUT-GABJA.
perform bdc_field using 'COBRB-GBISP'
IT_OUT-GBISP.
perform bdc_field using 'COBRB-GBISJ'
IT_OUT-GBISJ.
perform bdc_field using 'COBL-KOSTL'
IT_OUT-KOSTL.
*perform bdc_transaction using 'KO01'.
CALL TRANSACTION 'KO01' USING BDCDATA MODE 'N'
MESSAGES INTO IT_MESSTAB.
IF SY-SUBRC EQ 0.
WRITE: / IT_OUT-AUFEX, ' Internal Oredr Created'.
ELSE.
WRITE: / IT_OUT-AUFEX, ' Internal Oredr Failed'.
ENDIF.
ENDLOOP.
ENDFORM.
----
FORM BDC_DYNPRO *
----
........ *
----
--> PROGRAM *
--> DYNPRO *
----
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM.
----
FORM BDC_FIELD *
----
........ *
----
--> FNAM *
--> FVAL *
----
FORM BDC_FIELD USING FNAM FVAL.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDFORM.
Regards,
Sunil.
‎2008 Mar 10 4:42 PM
hi check these links you get test codes for more tcodes...
http://myweb.dal.ca/hchinni/sap/bdc_home.htm
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&;
http://www.sap-img.com/abap/learning-bdc-programming.htm
http://www.sapdevelopment.co.uk/bdc/bdchome.htm
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm
http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html
see the below thread, it will have the Nice sample code also for MM01 BDC
http://www.sap-img.com/bdc.htm
http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html
regards,
venkat.