2006 Nov 28 10:57 AM
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???
2006 Nov 28 11:24 AM
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
2006 Nov 28 11:25 AM
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
2006 Nov 28 11:26 AM
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
2006 Nov 28 11:35 AM
I AM CALLING THE FUNCTION MODULES,BUT IT IS NOT RECOGNISING THE TEXTS........
2006 Nov 28 11:36 AM
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