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

Recording program

Former Member
0 Likes
603

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
536

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.

3 REPLIES 3
Read only

Former Member
0 Likes
536

Hi,

Please refer to the link below:

http://abapcode.blogspot.com/2007/05/learn-bdc-step-by-step.html

Thanks,

Sriram Ponna.

Read only

Former Member
0 Likes
537

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.