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

bdc

former_member329386
Participant
0 Likes
427

Hi all

how to upload vendor master using bdc ? (if screen shots and & code are available then it will be very helpfull )

thanks

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
407

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.

4 REPLIES 4
Read only

Former Member
0 Likes
408

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.

Read only

Former Member
0 Likes
407

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

Read only

Former Member
0 Likes
407

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.

Read only

Former Member
0 Likes
407

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