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

READ_TEXT IN BDC!!!

Former Member
0 Likes
913

I AM DOING A BDC ON VA01.........AND I AM SENDING THE CODE I HAV WRITTEN SO FAR........

DATA: BEGIN OF T_RECORD OCCURS 0,

AUART LIKE VBAK-AUART,

VBELN LIKE VBAK-VBELN,

BSTKD LIKE VBKD-BSTKD,

KUNNR LIKE KNA1-KUNNR,

KUNNR1 LIKE KNA1-KUNNR,

POSNR LIKE VBAP-POSNR,

MATNR LIKE VBAP-MATNR,

ZMENG LIKE VBAP-ZMENG,

END OF T_RECORD.

DATA : BEGIN OF T_TEXT OCCURS 0,

VBELN LIKE VBAK-VBELN,

TEXT LIKE TLINE-TDLINE,

END OF T_TEXT.

DATA : BEGIN OF TTHEAD OCCURS 0,

TDOBJECT LIKE THEAD-TDOBJECT,

TDNAME LIKE THEAD-TDNAME,

TDID LIKE THEAD-TDID,

TDSPRAS LIKE THEAD-TDSPRAS,

END OF TTHEAD.

DATA : BDCDATA TYPE STANDARD TABLE OF BDCDATA INITIAL SIZE 0 WITH HEADER LINE,

MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE,

G_LANG LIKE SY-LANGU.

      • End generated data section ***

DATA : T_THEAD TYPE STANDARD TABLE OF THEAD INITIAL SIZE 0 WITH HEADER LINE,

T_TLINE TYPE STANDARD TABLE OF TLINE INITIAL SIZE 0 WITH HEADER LINE.

DATA : V_TDNAME(70).

CLEAR V_TDNAME.

CALL FUNCTION 'UPLOAD'

EXPORTING

  • CODEPAGE = ' '

FILENAME = 'C:\Documents and Settings\vasukir\Desktop\VA01-BDC.txt'

FILETYPE = 'DAT'

  • ITEM = ' '

  • FILEMASK_MASK = ' '

  • FILEMASK_TEXT = ' '

  • FILETYPE_NO_CHANGE = ' '

  • FILEMASK_ALL = ' '

  • FILETYPE_NO_SHOW = ' '

  • LINE_EXIT = ' '

  • USER_FORM = ' '

  • USER_PROG = ' '

  • SILENT = 'S'

  • IMPORTING

  • FILESIZE =

  • CANCEL =

  • ACT_FILENAME =

  • ACT_FILETYPE =

TABLES

DATA_TAB = T_RECORD

  • EXCEPTIONS

  • CONVERSION_ERROR = 1

  • INVALID_TABLE_WIDTH = 2

  • INVALID_TYPE = 3

  • NO_BATCH = 4

  • UNKNOWN_ERROR = 5

  • GUI_REFUSE_FILETRANSFER = 6

  • OTHERS = 7

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ELSE.

ENDIF.

CALL FUNCTION 'UPLOAD'

EXPORTING

  • CODEPAGE = ' '

FILENAME = 'C:\Documents and Settings\vasukir\Desktop\va01-bdc-text.txt'

FILETYPE = 'DAT'

  • ITEM = ' '

  • FILEMASK_MASK = ' '

  • FILEMASK_TEXT = ' '

  • FILETYPE_NO_CHANGE = ' '

  • FILEMASK_ALL = ' '

  • FILETYPE_NO_SHOW = ' '

  • LINE_EXIT = ' '

  • USER_FORM = ' '

  • USER_PROG = ' '

  • SILENT = 'S'

  • IMPORTING

  • FILESIZE =

  • CANCEL =

  • ACT_FILENAME =

  • ACT_FILETYPE =

TABLES

DATA_TAB = T_TEXT

  • EXCEPTIONS

  • CONVERSION_ERROR = 1

  • INVALID_TABLE_WIDTH = 2

  • INVALID_TYPE = 3

  • NO_BATCH = 4

  • UNKNOWN_ERROR = 5

  • GUI_REFUSE_FILETRANSFER = 6

  • OTHERS = 7

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

LOOP AT T_TEXT.

MOVE T_TEXT-TEXT TO T_TLINE-TDLINE.

APPEND T_TLINE.

ENDLOOP.

*LOOP AT T_TLINE.

  • WRITE : / T_TLINE-TDLINE.

  • ENDLOOP.

CALL FUNCTION 'CONVERSION_EXIT_ISOLA_INPUT'

EXPORTING

INPUT = 'E'

IMPORTING

OUTPUT = G_LANG

  • EXCEPTIONS

  • UNKNOWN_LANGUAGE = 1

  • OTHERS = 2

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

LOOP AT T_RECORD.

CONCATENATE T_RECORD-VBELN T_RECORD-POSNR INTO V_TDNAME.

MOVE V_TDNAME TO T_THEAD-TDNAME.

T_THEAD-TDOBJECT = 'VBBP'.

T_THEAD-TDID = '0001'.

T_THEAD-TDSPRAS = G_LANG.

APPEND T_THEAD.

ENDLOOP.

CALL FUNCTION 'READ_TEXT'

EXPORTING

  • CLIENT = SY-MANDT

ID = T_THEAD-TDID

LANGUAGE = T_THEAD-TDSPRAS

NAME = T_THEAD-TDNAME

OBJECT = T_THEAD-TDOBJECT

  • ARCHIVE_HANDLE = 0

  • LOCAL_CAT = ' '

  • IMPORTING

  • HEADER =

TABLES

LINES = T_TLINE

  • EXCEPTIONS

  • ID = 1

  • LANGUAGE = 2

  • NAME = 3

  • NOT_FOUND = 4

  • OBJECT = 5

  • REFERENCE_CHECK = 6

  • WRONG_ACCESS_TO_ARCHIVE = 7

  • OTHERS = 8

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL FUNCTION 'SAVE_TEXT'

EXPORTING

CLIENT = SY-MANDT

HEADER = T_THEAD

INSERT = ' '

SAVEMODE_DIRECT = 'X'

  • OWNER_SPECIFIED = ' '

  • LOCAL_CAT = ' '

  • IMPORTING

  • FUNCTION =

  • NEWHEADER =

TABLES

LINES = T_TLINE

EXCEPTIONS

ID = 1

LANGUAGE = 2

NAME = 3

OBJECT = 4

OTHERS = 5

.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL FUNCTION 'COMMIT_TEXT'

  • EXPORTING

  • OBJECT = '*'

  • NAME = '*'

  • ID = '*'

  • LANGUAGE = '*'

  • SAVEMODE_DIRECT = ' '

  • KEEP = ' '

  • LOCAL_CAT = ' '

  • IMPORTING

  • COMMIT_COUNT =

  • TABLES

  • T_OBJECT =

  • T_NAME =

  • T_ID =

  • T_LANGUAGE =

.

START-OF-SELECTION.

LOOP AT T_RECORD.

REFRESH BDCDATA.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '0101'.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'VBAK-AUART'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.

PERFORM BDC_FIELD USING 'VBAK-AUART' T_RECORD-AUART.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.

PERFORM BDC_FIELD USING 'VBAK-VBELN' T_RECORD-VBELN.

PERFORM BDC_FIELD USING 'KUAGV-KUNNR' T_RECORD-KUNNR.

PERFORM BDC_FIELD USING 'KUWEV-KUNNR' T_RECORD-KUNNR1.

PERFORM BDC_FIELD USING 'VBKD-BSTKD' T_RECORD-BSTKD.

PERFORM BDC_DYNPRO USING 'SAPMSSY0' '0120'.

PERFORM BDC_FIELD USING 'BDC_CURSOR' '07/41'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=CHOO'.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.

*PERFORM BDC_FIELD USING 'VBAK-FAKSK' T_RECORD-FAKSK_006.

*PERFORM BDC_FIELD USING 'VBKD-PRSDT' T_RECORD-PRSDT_007.

PERFORM BDC_FIELD USING 'VBAP-POSNR(01)' T_RECORD-POSNR.

PERFORM BDC_FIELD USING 'RV45A-MABNR(01)' T_RECORD-MATNR.

*PERFORM BDC_FIELD USING 'RV45A-MABNR(02)' T_RECORD-MABNR_02_009.

PERFORM BDC_FIELD USING 'VBAP-ZMENG(01)' T_RECORD-ZMENG.

*PERFORM BDC_FIELD USING 'VBAP-ZMENG(02)' T_RECORD-ZMENG_02_011.

*PERFORM BDC_FIELD USING 'VBAP-POSNR(01)' T_RECORD-POSNR_01_012.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=PTEX_SUB'.

*PERFORM BDC_FIELD USING 'VBKD-BSTKD' T_RECORD-BSTKD_014.

*PERFORM BDC_FIELD USING 'KUAGV-KUNNR' T_RECORD-KUNNR_015.

*PERFORM BDC_FIELD USING 'KUWEV-KUNNR' T_RECORD-KUNNR_016.

*PERFORM BDC_FIELD USING 'VBKD-FKDAT' T_RECORD-FKDAT_017.

*PERFORM BDC_FIELD USING 'VBAK-FAKSK' T_RECORD-FAKSK_018.

*PERFORM BDC_FIELD USING 'VBKD-PRSDT' T_RECORD-PRSDT_019.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'VBAP-POSNR(01)'.

*PERFORM BDC_FIELD USING 'RV45A-VBAP_SELKZ(01)' T_RECORD-VBAP_SELKZ_01_020.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '4003'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=%_GC 267 22'.

PERFORM BDC_FIELD USING 'LV70T-SPRAS' T_THEAD-TDSPRAS.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '4003'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '/EBACK'.

*PERFORM BDC_FIELD USING 'LV70T-SPRAS' T_RECORD-SPRAS_022.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=PTEX_SUB'.

*PERFORM BDC_FIELD USING 'VBKD-BSTKD' T_RECORD-BSTKD_023.

*PERFORM BDC_FIELD USING 'KUAGV-KUNNR' T_RECORD-KUNNR_024.

*PERFORM BDC_FIELD USING 'KUWEV-KUNNR' T_RECORD-KUNNR_025.

*PERFORM BDC_FIELD USING 'VBKD-FKDAT' T_RECORD-FKDAT_026.

*PERFORM BDC_FIELD USING 'VBAK-FAKSK' T_RECORD-FAKSK_027.

*PERFORM BDC_FIELD USING 'VBKD-PRSDT' T_RECORD-PRSDT_028.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'VBAP-POSNR(02)'.

*PERFORM BDC_FIELD USING 'RV45A-VBAP_SELKZ(02)' T_RECORD-VBAP_SELKZ_02_029.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '4003'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=SICH'.

*PERFORM BDC_FIELD USING 'LV70T-SPRAS' T_RECORD-SPRAS_030.

PERFORM BDC_DYNPRO USING 'SAPLSPO2' '0101'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=OPT1'.

*PERFORM BDC_TRANSACTION USING 'VA01'.

CALL TRANSACTION 'VA01' USING BDCDATA

MODE 'A'

UPDATE 'S'

MESSAGES INTO MESSTAB.

ENDLOOP.

----


  • Start new screen *

----


FORM BDC_DYNPRO USING PROGRAM DYNPRO.

CLEAR BDCDATA.

BDCDATA-PROGRAM = PROGRAM.

BDCDATA-DYNPRO = DYNPRO.

BDCDATA-DYNBEGIN = 'X'.

APPEND BDCDATA.

ENDFORM.

----


  • Insert field *

----


FORM BDC_FIELD USING FNAM FVAL.

IF FVAL <> SPACE.

CLEAR BDCDATA.

BDCDATA-FNAM = FNAM.

BDCDATA-FVAL = FVAL.

APPEND BDCDATA.

ENDIF.

ENDFORM.

WAT THE BDC HAS TO DO IS THAT FOR A PARTICULAR ITEM IT HAS TO TAKE THE TEXT USING THE FM'S AND SAVE IT AGAINST THAT PARTICULAR ITEM IN THE TRANSACTION...................COULD U TELL ME HOW TO DO THAT???

I AM DOING A BDC ON VA01.........AND I AM SENDING THE CODE I HAV WRITTEN SO FAR........

DATA: BEGIN OF T_RECORD OCCURS 0,

AUART LIKE VBAK-AUART,

VBELN LIKE VBAK-VBELN,

BSTKD LIKE VBKD-BSTKD,

KUNNR LIKE KNA1-KUNNR,

KUNNR1 LIKE KNA1-KUNNR,

POSNR LIKE VBAP-POSNR,

MATNR LIKE VBAP-MATNR,

ZMENG LIKE VBAP-ZMENG,

END OF T_RECORD.

DATA : BEGIN OF T_TEXT OCCURS 0,

VBELN LIKE VBAK-VBELN,

TEXT LIKE TLINE-TDLINE,

END OF T_TEXT.

DATA : BEGIN OF TTHEAD OCCURS 0,

TDOBJECT LIKE THEAD-TDOBJECT,

TDNAME LIKE THEAD-TDNAME,

TDID LIKE THEAD-TDID,

TDSPRAS LIKE THEAD-TDSPRAS,

END OF TTHEAD.

DATA : BDCDATA TYPE STANDARD TABLE OF BDCDATA INITIAL SIZE 0 WITH HEADER LINE,

MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE,

G_LANG LIKE SY-LANGU.

      • End generated data section ***

DATA : T_THEAD TYPE STANDARD TABLE OF THEAD INITIAL SIZE 0 WITH HEADER LINE,

T_TLINE TYPE STANDARD TABLE OF TLINE INITIAL SIZE 0 WITH HEADER LINE.

DATA : V_TDNAME(70).

CLEAR V_TDNAME.

CALL FUNCTION 'UPLOAD'

EXPORTING

  • CODEPAGE = ' '

FILENAME = 'C:\Documents and Settings\vasukir\Desktop\VA01-BDC.txt'

FILETYPE = 'DAT'

  • ITEM = ' '

  • FILEMASK_MASK = ' '

  • FILEMASK_TEXT = ' '

  • FILETYPE_NO_CHANGE = ' '

  • FILEMASK_ALL = ' '

  • FILETYPE_NO_SHOW = ' '

  • LINE_EXIT = ' '

  • USER_FORM = ' '

  • USER_PROG = ' '

  • SILENT = 'S'

  • IMPORTING

  • FILESIZE =

  • CANCEL =

  • ACT_FILENAME =

  • ACT_FILETYPE =

TABLES

DATA_TAB = T_RECORD

  • EXCEPTIONS

  • CONVERSION_ERROR = 1

  • INVALID_TABLE_WIDTH = 2

  • INVALID_TYPE = 3

  • NO_BATCH = 4

  • UNKNOWN_ERROR = 5

  • GUI_REFUSE_FILETRANSFER = 6

  • OTHERS = 7

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ELSE.

ENDIF.

CALL FUNCTION 'UPLOAD'

EXPORTING

  • CODEPAGE = ' '

FILENAME = 'C:\Documents and Settings\vasukir\Desktop\va01-bdc-text.txt'

FILETYPE = 'DAT'

  • ITEM = ' '

  • FILEMASK_MASK = ' '

  • FILEMASK_TEXT = ' '

  • FILETYPE_NO_CHANGE = ' '

  • FILEMASK_ALL = ' '

  • FILETYPE_NO_SHOW = ' '

  • LINE_EXIT = ' '

  • USER_FORM = ' '

  • USER_PROG = ' '

  • SILENT = 'S'

  • IMPORTING

  • FILESIZE =

  • CANCEL =

  • ACT_FILENAME =

  • ACT_FILETYPE =

TABLES

DATA_TAB = T_TEXT

  • EXCEPTIONS

  • CONVERSION_ERROR = 1

  • INVALID_TABLE_WIDTH = 2

  • INVALID_TYPE = 3

  • NO_BATCH = 4

  • UNKNOWN_ERROR = 5

  • GUI_REFUSE_FILETRANSFER = 6

  • OTHERS = 7

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

LOOP AT T_TEXT.

MOVE T_TEXT-TEXT TO T_TLINE-TDLINE.

APPEND T_TLINE.

ENDLOOP.

*LOOP AT T_TLINE.

  • WRITE : / T_TLINE-TDLINE.

  • ENDLOOP.

CALL FUNCTION 'CONVERSION_EXIT_ISOLA_INPUT'

EXPORTING

INPUT = 'E'

IMPORTING

OUTPUT = G_LANG

  • EXCEPTIONS

  • UNKNOWN_LANGUAGE = 1

  • OTHERS = 2

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

LOOP AT T_RECORD.

CONCATENATE T_RECORD-VBELN T_RECORD-POSNR INTO V_TDNAME.

MOVE V_TDNAME TO T_THEAD-TDNAME.

T_THEAD-TDOBJECT = 'VBBP'.

T_THEAD-TDID = '0001'.

T_THEAD-TDSPRAS = G_LANG.

APPEND T_THEAD.

ENDLOOP.

CALL FUNCTION 'READ_TEXT'

EXPORTING

  • CLIENT = SY-MANDT

ID = T_THEAD-TDID

LANGUAGE = T_THEAD-TDSPRAS

NAME = T_THEAD-TDNAME

OBJECT = T_THEAD-TDOBJECT

  • ARCHIVE_HANDLE = 0

  • LOCAL_CAT = ' '

  • IMPORTING

  • HEADER =

TABLES

LINES = T_TLINE

  • EXCEPTIONS

  • ID = 1

  • LANGUAGE = 2

  • NAME = 3

  • NOT_FOUND = 4

  • OBJECT = 5

  • REFERENCE_CHECK = 6

  • WRONG_ACCESS_TO_ARCHIVE = 7

  • OTHERS = 8

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL FUNCTION 'SAVE_TEXT'

EXPORTING

CLIENT = SY-MANDT

HEADER = T_THEAD

INSERT = ' '

SAVEMODE_DIRECT = 'X'

  • OWNER_SPECIFIED = ' '

  • LOCAL_CAT = ' '

  • IMPORTING

  • FUNCTION =

  • NEWHEADER =

TABLES

LINES = T_TLINE

EXCEPTIONS

ID = 1

LANGUAGE = 2

NAME = 3

OBJECT = 4

OTHERS = 5

.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL FUNCTION 'COMMIT_TEXT'

  • EXPORTING

  • OBJECT = '*'

  • NAME = '*'

  • ID = '*'

  • LANGUAGE = '*'

  • SAVEMODE_DIRECT = ' '

  • KEEP = ' '

  • LOCAL_CAT = ' '

  • IMPORTING

  • COMMIT_COUNT =

  • TABLES

  • T_OBJECT =

  • T_NAME =

  • T_ID =

  • T_LANGUAGE =

.

START-OF-SELECTION.

LOOP AT T_RECORD.

REFRESH BDCDATA.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '0101'.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'VBAK-AUART'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.

PERFORM BDC_FIELD USING 'VBAK-AUART' T_RECORD-AUART.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.

PERFORM BDC_FIELD USING 'VBAK-VBELN' T_RECORD-VBELN.

PERFORM BDC_FIELD USING 'KUAGV-KUNNR' T_RECORD-KUNNR.

PERFORM BDC_FIELD USING 'KUWEV-KUNNR' T_RECORD-KUNNR1.

PERFORM BDC_FIELD USING 'VBKD-BSTKD' T_RECORD-BSTKD.

PERFORM BDC_DYNPRO USING 'SAPMSSY0' '0120'.

PERFORM BDC_FIELD USING 'BDC_CURSOR' '07/41'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=CHOO'.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.

*PERFORM BDC_FIELD USING 'VBAK-FAKSK' T_RECORD-FAKSK_006.

*PERFORM BDC_FIELD USING 'VBKD-PRSDT' T_RECORD-PRSDT_007.

PERFORM BDC_FIELD USING 'VBAP-POSNR(01)' T_RECORD-POSNR.

PERFORM BDC_FIELD USING 'RV45A-MABNR(01)' T_RECORD-MATNR.

*PERFORM BDC_FIELD USING 'RV45A-MABNR(02)' T_RECORD-MABNR_02_009.

PERFORM BDC_FIELD USING 'VBAP-ZMENG(01)' T_RECORD-ZMENG.

*PERFORM BDC_FIELD USING 'VBAP-ZMENG(02)' T_RECORD-ZMENG_02_011.

*PERFORM BDC_FIELD USING 'VBAP-POSNR(01)' T_RECORD-POSNR_01_012.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=PTEX_SUB'.

*PERFORM BDC_FIELD USING 'VBKD-BSTKD' T_RECORD-BSTKD_014.

*PERFORM BDC_FIELD USING 'KUAGV-KUNNR' T_RECORD-KUNNR_015.

*PERFORM BDC_FIELD USING 'KUWEV-KUNNR' T_RECORD-KUNNR_016.

*PERFORM BDC_FIELD USING 'VBKD-FKDAT' T_RECORD-FKDAT_017.

*PERFORM BDC_FIELD USING 'VBAK-FAKSK' T_RECORD-FAKSK_018.

*PERFORM BDC_FIELD USING 'VBKD-PRSDT' T_RECORD-PRSDT_019.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'VBAP-POSNR(01)'.

*PERFORM BDC_FIELD USING 'RV45A-VBAP_SELKZ(01)' T_RECORD-VBAP_SELKZ_01_020.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '4003'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=%_GC 267 22'.

PERFORM BDC_FIELD USING 'LV70T-SPRAS' T_THEAD-TDSPRAS.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '4003'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '/EBACK'.

*PERFORM BDC_FIELD USING 'LV70T-SPRAS' T_RECORD-SPRAS_022.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=PTEX_SUB'.

*PERFORM BDC_FIELD USING 'VBKD-BSTKD' T_RECORD-BSTKD_023.

*PERFORM BDC_FIELD USING 'KUAGV-KUNNR' T_RECORD-KUNNR_024.

*PERFORM BDC_FIELD USING 'KUWEV-KUNNR' T_RECORD-KUNNR_025.

*PERFORM BDC_FIELD USING 'VBKD-FKDAT' T_RECORD-FKDAT_026.

*PERFORM BDC_FIELD USING 'VBAK-FAKSK' T_RECORD-FAKSK_027.

*PERFORM BDC_FIELD USING 'VBKD-PRSDT' T_RECORD-PRSDT_028.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'VBAP-POSNR(02)'.

*PERFORM BDC_FIELD USING 'RV45A-VBAP_SELKZ(02)' T_RECORD-VBAP_SELKZ_02_029.

PERFORM BDC_DYNPRO USING 'SAPMV45A' '4003'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=SICH'.

*PERFORM BDC_FIELD USING 'LV70T-SPRAS' T_RECORD-SPRAS_030.

PERFORM BDC_DYNPRO USING 'SAPLSPO2' '0101'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=OPT1'.

*PERFORM BDC_TRANSACTION USING 'VA01'.

CALL TRANSACTION 'VA01' USING BDCDATA

MODE 'A'

UPDATE 'S'

MESSAGES INTO MESSTAB.

ENDLOOP.

----


  • Start new screen *

----


FORM BDC_DYNPRO USING PROGRAM DYNPRO.

CLEAR BDCDATA.

BDCDATA-PROGRAM = PROGRAM.

BDCDATA-DYNPRO = DYNPRO.

BDCDATA-DYNBEGIN = 'X'.

APPEND BDCDATA.

ENDFORM.

----


  • Insert field *

----


FORM BDC_FIELD USING FNAM FVAL.

IF FVAL <> SPACE.

CLEAR BDCDATA.

BDCDATA-FNAM = FNAM.

BDCDATA-FVAL = FVAL.

APPEND BDCDATA.

ENDIF.

ENDFORM.

WAT THE BDC HAS TO DO IS THAT FOR A PARTICULAR ITEM IT HAS TO TAKE THE TEXT USING THE FM'S AND SAVE IT AGAINST THAT PARTICULAR ITEM IN THE TRANSACTION...................COULD U TELL ME HOW TO DO THAT???

5 REPLIES 5
Read only

Former Member
0 Likes
852

hi supriya

use if condition like below for ur particular item ...for example.

if t_record-matnr = '123123'.

read table tline.

PERFORM BDC_FIELD USING ..............

endif.

hope this will be usefull

regards,

aswin

Read only

Former Member
0 Likes
852

You should call the functions after the BDC is executed and you have got the sales order details so that you have the values of the parameters.

Once you get the order number, use that to build the parameter values and call the functions.

Regards,

Ravi

Note - Please mark all the helpful answers

Read only

Former Member
0 Likes
852

Hi supriya,

i did't go through the code but... i can give one solution to save the text..

after creating the sales orders using u r BDC program

Call the FM.. SAVE_TEXT using this FM we can update the text,,, don't forget to call the FM COMMIT_TEXT.

Regrds

Naresh K Reddy

Read only

Former Member
0 Likes
852

I AM CALLING THE FUNCTION MODULES,BUT IT IS NOT RECOGNISING THE TEXTS........

Read only

Former Member
0 Likes
852

Hi Supriya,

Once the BDC is success, you take the order number and Now you call the FM to save the Text.

instead i would suggest you to use the BAPI

<b>BAPI_SALESORDER_CREATEFROMDAT1

BAPI_SALESORDER_CREATEFROMDAT2</b>

Regards

Vijay