‎2007 Aug 30 11:31 AM
Hi all
how to upload vendor master using bdc ? (if screen shots and & code are available then it will be very helpfull )
thanks
‎2007 Aug 30 11:39 AM
HI
I AM GIVING YOU SOME EXAMPLE WHICH I HAD DONE REFER TO THIS AND REWARD IF USEFULL
REPORT ZDAN94 .
UPLOADING AN .XLS FILE CONTENT INTO ITAB.
DATA: BEGIN OF ITAB OCCURS 0.
DATA: MANDT LIKE KNA1-MANDT,
KUNNR LIKE KNA1-KUNNR,
NAME1 LIKE KNA1-NAME1,
PSTLZ LIKE KNA1-PSTLZ,
REGIO LIKE KNA1-REGIO,
END OF ITAB.
DATA: FILE TYPE STRING.
START-OF-SELECTION.
FILE = 'C:\Documents and Settings\Administrator\Desktop\UPLOAD.XLS'.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = FILE
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = ' '
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = ITAB
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
.
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 ITAB.
WRITE:/ ITAB.
ENDLOOP.
PROGRAM TO DOWNLOAD FROM ITAB INTO FLAT FILE.
DATA: I_LFA1 LIKE LFA1 OCCURS 0 WITH HEADER LINE.
DATA: FILE TYPE STRING.
START-OF-SELECTION.
SELECT * FROM LFA1 INTO TABLE I_LFA1 UP TO 10 ROWS.
FILE = 'C:\Documents and Settings\ams03\Desktop\LFA.TXT'.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE =
FILENAME = FILE
FILETYPE = 'ASC'
APPEND = ' '
WRITE_FIELD_SEPARATOR = 'X'
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
IMPORTING
FILELENGTH =
TABLES
DATA_TAB = I_LFA1
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
WRITE: / 'FILE DOWNLOADED', FILE.
ENDIF.
‎2007 Aug 30 11:39 AM
HI
I AM GIVING YOU SOME EXAMPLE WHICH I HAD DONE REFER TO THIS AND REWARD IF USEFULL
REPORT ZDAN94 .
UPLOADING AN .XLS FILE CONTENT INTO ITAB.
DATA: BEGIN OF ITAB OCCURS 0.
DATA: MANDT LIKE KNA1-MANDT,
KUNNR LIKE KNA1-KUNNR,
NAME1 LIKE KNA1-NAME1,
PSTLZ LIKE KNA1-PSTLZ,
REGIO LIKE KNA1-REGIO,
END OF ITAB.
DATA: FILE TYPE STRING.
START-OF-SELECTION.
FILE = 'C:\Documents and Settings\Administrator\Desktop\UPLOAD.XLS'.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = FILE
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = ' '
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = ITAB
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
.
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 ITAB.
WRITE:/ ITAB.
ENDLOOP.
PROGRAM TO DOWNLOAD FROM ITAB INTO FLAT FILE.
DATA: I_LFA1 LIKE LFA1 OCCURS 0 WITH HEADER LINE.
DATA: FILE TYPE STRING.
START-OF-SELECTION.
SELECT * FROM LFA1 INTO TABLE I_LFA1 UP TO 10 ROWS.
FILE = 'C:\Documents and Settings\ams03\Desktop\LFA.TXT'.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE =
FILENAME = FILE
FILETYPE = 'ASC'
APPEND = ' '
WRITE_FIELD_SEPARATOR = 'X'
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
IMPORTING
FILELENGTH =
TABLES
DATA_TAB = I_LFA1
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
WRITE: / 'FILE DOWNLOADED', FILE.
ENDIF.
‎2007 Aug 30 11:40 AM
BDC program for Vendor Master with these details:
- Bdc program should open with a T-code like (ZKDBDC).
- After running t-code a selection screen appears with two radio buttons (X1 and X2).
- For X1 the program runs for XK01 Vendor Creation.
- For X2 the program runs for XK02 Change Vendor.
- First upload data for 10 Vendors using X1 radio button.
- Run the same program with X2 radio button i.e. for Change Vendor (XK02) and change address of all 10 vendors upload with X1 radio button.
- The Program should have an option for all modes run (A, E, N).
Report ZKDBDC
no standard page heading line-size 255.
Data : begin of it_itab occurs 10,
f1 type lifnr, Account no for vendor or creditor
f2 type bukrs, Company code
f3 type ekorg, Purchasing organization
f4 type ktokk, Vendor account group
f5 type name1, Name
f6 type sortl, Sort field
f7 type land1, Country Key
f8 type akont, Reconciliation Account in Genera
f9 type waers, Currency Key
end of it_itab.
parameters : x1 radiobutton group rad, For XK01 transaction
x2 radiobutton group rad. "for XK02 transaction
For XK02 transaction
Data : bdcdata type bdcdata occurs 1 with header line.
START-OF-SELECTION.
If x1 = 'X'.
CALL FUNCTION 'UPLOAD'
EXPORTING
CODEPAGE = ' '
FILENAME = ' '
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 = it_itab
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.
PERFORM DATA_LOOP.
Call transaction 'XK01' using bdcdata mode 'A'.
ELSEIF x2 = 'X'.
*BREAK-POINT.
CALL FUNCTION 'UPLOAD'
EXPORTING
CODEPAGE = ' '
FILENAME = 'D:\VENDORS.DAT.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 = it_itab
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.
Call transaction 'XK02' using bdcdata mode 'A'.
PERFORM DATA_LOOP1.
*perform bdc_transaction using 'XK01'.
*
*perform close_group.
ENDIF.
End-of-selection.
&----
*& Form BDC_DYNPRO
&----
text
----
-->PROGRAM text
-->DYNPRO text
----
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM. "BDC_DYNPRO
&----
*& Form BDC_FIELD
&----
text
----
-->FNAM text
-->FVAL text
----
FORM BDC_FIELD USING FNAM FVAL.
IF FVAL <> space.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDIF.
ENDFORM. "BDC_FIELD
&----
*& Form DATA_LOOP
&----
FORM DATA_LOOP .
loop at itab.
perform bdc_dynpro using 'SAPMF02K' '0100'.
perform bdc_field using 'BDC_CURSOR'
'RF02K-KTOKK'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RF02K-LIFNR'
it_itab-f1.
perform bdc_field using 'RF02K-BUKRS'
it_itab -f2.
perform bdc_field using 'RF02K-EKORG'
it_itab -f3.
perform bdc_field using 'RF02K-KTOKK'
it_itab -f4.
perform bdc_dynpro using 'SAPMF02K' '0110'.
perform bdc_field using 'BDC_CURSOR'
'LFA1-LAND1'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFA1-NAME1'
it_itab -f5.
perform bdc_field using 'LFA1-SORTL'
it_itab -f6.
perform bdc_field using 'LFA1-LAND1'
it_itab -f7.
perform bdc_dynpro using 'SAPMF02K' '0120'.
perform bdc_field using 'BDC_CURSOR'
'LFA1-KUNNR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02K' '0130'.
perform bdc_field using 'BDC_CURSOR'
'LFBK-BANKS(01)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_dynpro using 'SAPMF02K' '0210'.
perform bdc_field using 'BDC_CURSOR'
'LFB1-AKONT'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFB1-AKONT'
it_itab -f8.
perform bdc_dynpro using 'SAPMF02K' '0215'.
perform bdc_field using 'BDC_CURSOR'
'LFB1-ZTERM'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02K' '0220'.
perform bdc_field using 'BDC_CURSOR'
'LFB5-MAHNA'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02K' '0610'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'BDC_CURSOR'
'LFB1-QLAND'.
perform bdc_dynpro using 'SAPMF02K' '0310'.
perform bdc_field using 'BDC_CURSOR'
'LFM1-WAERS'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFM1-WAERS'
itab-f9.
perform bdc_dynpro using 'SAPMF02K' '0320'.
perform bdc_field using 'BDC_CURSOR'
'RF02K-LIFNR'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_dynpro using 'SAPLSPO1' '0300'.
perform bdc_field using 'BDC_OKCODE'
'=YES'.
Endloop.
*CLEAR BDCDATA.
*REFRESH BDCDATA.
*CLEAR it_itab.
*REFRESH it_itab.
ENDFORM. " DATA_LOOP
&----
*& Form DATA_LOOP1
&----
FORM DATA_LOOP1 .
perform bdc_dynpro using 'SAPMF02K' '0101'.
perform bdc_field using 'BDC_CURSOR'
'RF02K-D0110'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RF02K-LIFNR'
it_itab -f1 .
perform bdc_field using 'RF02K-BUKRS'
it_itab -f2 .
perform bdc_field using 'RF02K-D0110'
'X'.
perform bdc_dynpro using 'SAPMF02K' '0110'.
perform bdc_field using 'BDC_CURSOR'
'LFA1-LAND1'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFA1-NAME1'
it_itab -f3.
perform bdc_field using 'LFA1-SORTL'
ITAB-f4.
perform bdc_field using 'LFA1-LAND1'
it_itab -f5.
perform bdc_dynpro using 'SAPLSPO1' '0300'.
perform bdc_field using 'BDC_OKCODE'
'=YES'.
ENDFORM. " DATA_LOOP1
‎2007 Aug 30 11:41 AM
REPORT ZDAN97 .
*PROGRAM TO WRITE DATA INTO DATASET(APPLI SERVER) FROM ITAB.
DATA: I_LFA1 LIKE LFA1 OCCURS 0 WITH HEADER LINE.
START-OF-SELECTION.
SELECT * FROM LFA1 INTO TABLE I_LFA1 UP TO 10 ROWS.
END-OF-SELECTION.
*--OPEN DATASET
OPEN DATASET 'ZTEST' FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
*OPEN DATASET 'ZTEST' FOR OUTPUT IN BINARY MODE.
IF SY-SUBRC EQ 0.
LOOP AT I_LFA1.
TRANSFER I_LFA1 TO 'ZTEST'.
ENDLOOP.
*--CLOSE
CLOSE DATASET 'ZSTEST'.
WRITE:/ 'File created in app. server'.
ENDIF.
REPORT ZDAN98 LINE-SIZE 400 .
PROGRAM TO READ DATA FROM DATASET INTO ITAB.
DATA: ITAB LIKE LFA1 OCCURS 0 WITH HEADER LINE.
DATA: FILE TYPE STRING.
FILE = 'C:\Documents and Settings\Administrator\Desktop\DOWNLOAD2.XLS'.
START-OF-SELECTION.
*--OPEN DATASET
OPEN DATASET 'ZTEST' FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF SY-SUBRC EQ 0.
DO.
READ DATASET 'ZTEST' INTO ITAB.
IF SY-SUBRC NE 0.
EXIT.
ENDIF.
APPEND ITAB .
CLEAR ITAB.
ENDDO.
*-- CLOSE DATASET
CLOSE DATASET 'ZTEST'.
ENDIF.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE =
FILENAME = FILE
FILETYPE = 'ASC'
APPEND = ' '
WRITE_FIELD_SEPARATOR = 'X'
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
IMPORTING
FILELENGTH =
TABLES
DATA_TAB = ITAB
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
END-OF-SELECTION.
WRITE: / 'DATA DOWN LOADED INTO FILE'.
LOOP AT ITAB.
WRITE: / ITAB.
ENDLOOP.
*ASSIGNMENT READING DATA FROM NOTE PAD INTO ITAB THEN INTO APPLICATION SERVER & DISPLAYING THE SAME IN TH ALV GRID DISPLAY.
USING SPLIT.
TYPE-POOLS SLIS.
DATA : FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV.
DATA: WA_FIELDCATALOG TYPE SLIS_FIELDCAT_ALV.
DATA: BEGIN OF I_VBAK OCCURS 0.
DATA: MANDT LIKE VBAK-MANDT,
VBELN LIKE VBAK-VBELN,
ERDAT LIKE VBAK-ERDAT,
ERZET LIKE VBAK-ERZET,
ERNAM LIKE VBAK-ERNAM,
ANGDT LIKE VBAK-ANGDT,
END OF I_VBAK.
DATA: BEGIN OF ITAB OCCURS 0,
DATA TYPE STRING,
END OF ITAB.
DATA: FILE TYPE STRING .
*DATA DATA TYPE STRING.
START-OF-SELECTION.
FILE = 'C:\Documents and Settings\ams03\Desktop\NOTE.TXT'.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = FILE
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = ITAB
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
.
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 ITAB.
SPLIT ITAB-DATA AT ',' INTO I_VBAK-MANDT I_VBAK-VBELN I_VBAK-ERDAT I_VBAK-ERZET I_VBAK-ERNAM I_VBAK-ANGDT.
APPEND I_VBAK.
CLEAR I_VBAK.
ENDLOOP.
*--OPEN DATASET.
OPEN DATASET 'ZDANTEST' FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF SY-SUBRC NE 0 .
EXIT.
ENDIF.
IF SY-SUBRC EQ 0.
LOOP AT I_VBAK.
TRANSFER I_VBAK TO 'ZDANTEST'.
ENDLOOP.
*--CLOSE DATASET.
CLOSE DATASET 'ZDANTEST'.
WRITE : / 'FILE SUCCESSFULLY CREATED IN APPLICATION SERVER.'.
ENDIF.
*SPLIT NAMES AT ',' INTO ONE TWO THREE.
LOOP AT I_VBAK.
WRITE : / I_VBAK-MANDT, I_VBAK-VBELN, I_VBAK-ERDAT,
I_VBAK-ERZET, I_VBAK-ERNAM,I_VBAK-ANGDT.
ENDLOOP.
INCLUDE ZFIELDCATLOG.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = ' '
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT =
IT_FIELDCAT = FIELDCATALOG
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = I_VBAK
EXCEPTIONS
PROGRAM_ERROR = 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.
INCLUDE PROGRAM
&----
*& Include ZFIELDCATLOG *
&----
WA_FIELDCATALOG-FIELDNAME = 'MANDT'.
WA_FIELDCATALOG-REF_TABNAME = 'VBAK'.
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'VBELN'.
WA_FIELDCATALOG-REF_TABNAME = 'VBAK'.
WA_FIELDCATALOG-KEY = 'X'.
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'ERDAT'.
WA_FIELDCATALOG-REF_TABNAME = 'VBAK'.
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'ERZET'.
WA_FIELDCATALOG-REF_TABNAME = 'VBAK'.
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'ERNAM'.
WA_FIELDCATALOG-REF_TABNAME = 'VBAK'.
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'ANGDT'.
WA_FIELDCATALOG-REF_TABNAME = 'VBAK'.
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
‎2007 Aug 30 11:42 AM
REPORT ZDAN101 LINE-SIZE 300 .
Using Recording & Call Transaction Method.
DATA: BEGIN OF ITAB OCCURS 0 ,
DATA TYPE STRING,
END OF ITAB.
DATA: BEGIN OF ITAB1 OCCURS 0.
DATA: LIFNR LIKE LFA1-LIFNR,
BUKRS LIKE LFB1-BUKRS,
EKORG LIKE LFM1-EKORG,
KTOKK LIKE LFA1-KTOKK,
NAME1 LIKE LFA1-NAME1,
SORTL LIKE LFA1-SORTL,
LAND1 LIKE LFA1-LAND1,
AKONT LIKE LFB1-AKONT,
FDGRV LIKE LFB1-FDGRV,
WAERS LIKE LFM1-WAERS,
END OF ITAB1.
DATA: I_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
DATA: I_BDCMSGCOLL LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
DATA : FILE TYPE STRING.
FILE = 'C:\Documents and Settings\AMS02\Desktop\NOTE.TXT'.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = FILE
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = ' '
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = ITAB
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
.
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 ITAB.
SPLIT ITAB-DATA AT ',' INTO ITAB1-LIFNR
ITAB1-BUKRS
ITAB1-EKORG
ITAB1-KTOKK
ITAB1-NAME1
ITAB1-SORTL
ITAB1-LAND1
ITAB1-AKONT
ITAB1-FDGRV
ITAB1-WAERS.
APPEND ITAB1.
CLEAR ITAB1.
ENDLOOP.
LOOP AT ITAB1.
*--0100
I_BDCDATA-PROGRAM = 'SAPMF02K'.
I_BDCDATA-DYNPRO = '0100'.
I_BDCDATA-DYNBEGIN = 'X'.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'RF02K-LIFNR'.
I_BDCDATA-FVAL = ITAB1-LIFNR.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'RF02K-BUKRS'.
I_BDCDATA-FVAL = ITAB1-BUKRS.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'RF02K-EKORG'.
I_BDCDATA-FVAL = ITAB1-EKORG.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'RF02K-KTOKK'.
I_BDCDATA-FVAL = ITAB1-KTOKK.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
*--0110
I_BDCDATA-PROGRAM = 'SAPMF02K'.
I_BDCDATA-DYNPRO = '0110'.
I_BDCDATA-DYNBEGIN = 'X'.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'LFA1-NAME1'.
I_BDCDATA-FVAL = ITAB1-NAME1.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'LFA1-SORTL'.
I_BDCDATA-FVAL = ITAB1-SORTL.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'LFA1-LAND1'.
I_BDCDATA-FVAL = ITAB1-LAND1.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
*--- 0210
I_BDCDATA-PROGRAM = 'SAPMF02K'.
I_BDCDATA-DYNPRO = '0210'.
I_BDCDATA-DYNBEGIN = 'X'.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'LFB1-AKONT'.
I_BDCDATA-FVAL = ITAB1-AKONT.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'LFB1-FDGRV'.
I_BDCDATA-FVAL = ITAB1-FDGRV.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
*--0310
I_BDCDATA-PROGRAM = 'SAPMF02K'.
I_BDCDATA-DYNPRO = '0310'.
I_BDCDATA-DYNBEGIN = 'X'.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'LFM1-WAERS'.
I_BDCDATA-FVAL = ITAB1-WAERS.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
**--0320.
I_BDCDATA-PROGRAM = 'SAPMF02K'.
I_BDCDATA-DYNPRO = '0320'.
I_BDCDATA-DYNBEGIN = 'X'.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'BDC_CURSOR'.
I_BDCDATA-FVAL = 'RF02K-LIFNR'.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'BDC_OKCODE'.
I_BDCDATA-FVAL = '=ENTR'.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
*--CALL TRANSACTION
CALL TRANSACTION 'XK01' USING I_BDCDATA
UPDATE 'A'
MODE 'E'
MESSAGES INTO I_BDCMSGCOLL.
REFRESH I_BDCDATA.
ENDLOOP.
LOOP AT I_BDCMSGCOLL.
WRITE 😕 I_BDCMSGCOLL.
.
ENDLOOP.
REPORT ZDAN102 .
BDC Program with Session Method. .
DATA: BEGIN OF ITAB OCCURS 0 ,
DATA TYPE STRING,
END OF ITAB.
DATA: BEGIN OF ITAB1 OCCURS 0.
DATA: LIFNR LIKE LFA1-LIFNR,
BUKRS LIKE LFB1-BUKRS,
EKORG LIKE LFM1-EKORG,
KTOKK LIKE LFA1-KTOKK,
NAME1 LIKE LFA1-NAME1,
SORTL LIKE LFA1-SORTL,
LAND1 LIKE LFA1-LAND1,
AKONT LIKE LFB1-AKONT,
FDGRV LIKE LFB1-FDGRV,
WAERS LIKE LFM1-WAERS,
END OF ITAB1.
DATA: I_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
DATA : FILE TYPE STRING.
FILE = 'C:\Documents and Settings\Administrator\Desktop\NOTE.TXT'.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = FILE
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = ITAB
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
.
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 ITAB.
SPLIT ITAB-DATA AT ',' INTO ITAB1-LIFNR
ITAB1-BUKRS
ITAB1-EKORG
ITAB1-KTOKK
ITAB1-NAME1
ITAB1-SORTL
ITAB1-LAND1
ITAB1-AKONT
ITAB1-FDGRV
ITAB1-WAERS.
APPEND ITAB1.
CLEAR ITAB1.
ENDLOOP.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
DEST = FILLER8
GROUP = 'ZDAN6'
HOLDDATE = FILLER8
KEEP = 'X'
USER = SY-UNAME
RECORD = FILLER1
PROG = SY-CPROG
IMPORTING
QID =
EXCEPTIONS
CLIENT_INVALID = 1
DESTINATION_INVALID = 2
GROUP_INVALID = 3
GROUP_IS_LOCKED = 4
HOLDDATE_INVALID = 5
INTERNAL_ERROR = 6
QUEUE_ERROR = 7
RUNNING = 8
SYSTEM_LOCK_ERROR = 9
USER_INVALID = 10
OTHERS = 11
.
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 ITAB1.
*--0100
I_BDCDATA-PROGRAM = 'SAPMF02K'.
I_BDCDATA-DYNPRO = '0100'.
I_BDCDATA-DYNBEGIN = 'X'.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'RF02K-LIFNR'.
I_BDCDATA-FVAL = ITAB1-LIFNR.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'RF02K-BUKRS'.
I_BDCDATA-FVAL = ITAB1-BUKRS.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'RF02K-EKORG'.
I_BDCDATA-FVAL = ITAB1-EKORG.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'RF02K-KTOKK'.
I_BDCDATA-FVAL = ITAB1-KTOKK.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
*--0110
I_BDCDATA-PROGRAM = 'SAPMF02K'.
I_BDCDATA-DYNPRO = '0110'.
I_BDCDATA-DYNBEGIN = 'X'.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'LFA1-NAME1'.
I_BDCDATA-FVAL = ITAB1-NAME1.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'LFA1-SORTL'.
I_BDCDATA-FVAL = ITAB1-SORTL.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'LFA1-LAND1'.
I_BDCDATA-FVAL = ITAB1-LAND1.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
*--- 0210
I_BDCDATA-PROGRAM = 'SAPMF02K'.
I_BDCDATA-DYNPRO = '0210'.
I_BDCDATA-DYNBEGIN = 'X'.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'LFB1-AKONT'.
I_BDCDATA-FVAL = ITAB1-AKONT.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'LFB1-FDGRV'.
I_BDCDATA-FVAL = ITAB1-FDGRV.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
*--0310
I_BDCDATA-PROGRAM = 'SAPMF02K'.
I_BDCDATA-DYNPRO = '0310'.
I_BDCDATA-DYNBEGIN = 'X'.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = 'LFM1-WAERS'.
I_BDCDATA-FVAL = ITAB1-WAERS.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
*-- SESSION METHOD.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'XK01'
POST_LOCAL = NOVBLOCAL
PRINTING = NOPRINT
SIMUBATCH = ' '
CTUPARAMS = ' '
TABLES
DYNPROTAB = I_BDCDATA
EXCEPTIONS
INTERNAL_ERROR = 1
NOT_OPEN = 2
QUEUE_ERROR = 3
TCODE_INVALID = 4
PRINTING_INVALID = 5
POSTING_INVALID = 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.
REFRESH I_BDCDATA.
ENDLOOP.
CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
NOT_OPEN = 1
QUEUE_ERROR = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*
*0124,0001,0001,0001,kanth,abc,in,31000,a1,inr
*0126,0001,0001,0001,nanee,xyz,in,39000,a1,inr
*0129,0001,0001,0001,nani,abc,in,31000,a1,inr
*0063,0001,0001,0001,SAPAG,SAPAG,SAP,DE,01,DE,00000007,7777,SAPAG,04,GE
*,SAPINDIA,31000,A1,0001,0001,ADP.
*
*0124,0001,0001,0001,kanth,abc,in,31000,a1,inr
*0126,0001,0001,0001,nanee,xyz,in,39000,a1,inr
*0129,0001,0001,0001,nani,abc,in,31000,a1,inr
*
REWARD IF USEFULL