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???