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

Data transfer from Flat file

Former Member
0 Likes
707

how to transfer a flat file from application server/ presentation server to SAP system(tables).

1 ACCEPTED SOLUTION
Read only

paruchuri_nagesh
Active Contributor
0 Likes
643

if u want to transfer file from presentation server to sap tables

u have to use function module GUI_UPLOAD

if u want to transfer file from application server to sap tables

u have to use

OPEN DATASET <filename> FOR INPUT IN BINARY MODE

reward if u find useful

regards

Nagesh.Paruchuri

5 REPLIES 5
Read only

paruchuri_nagesh
Active Contributor
0 Likes
644

if u want to transfer file from presentation server to sap tables

u have to use function module GUI_UPLOAD

if u want to transfer file from application server to sap tables

u have to use

OPEN DATASET <filename> FOR INPUT IN BINARY MODE

reward if u find useful

regards

Nagesh.Paruchuri

Read only

Former Member
0 Likes
643

GUI_UPLOAD --presentation

OPEN DATASET <filename> FOR INPUT IN BINARY MODE -- app server

populate data into an internal table.

Look for Function mudules, BAPIs, Idocs available to update your data.

If u want to update custom tables go for INSERT command.

Read only

sangeetha_sk
Participant
0 Likes
643

to transfer file from PRESENTATION SERVER to SAP tables use GUI_UPLOAD Function module as

data: l__filename type string.

l_filename = p_file. "input file name

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = l_filename

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = '#'

TABLES

DATA_TAB = internaltable

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.

To transfer file from APPLICATION server to SAP internal tables use

Open dataset <appl file name> for input in text mode encoding default.

do.

read dataset <appl file name> into <work area>.

append <internal table> from <workarea>.

if sy-subrc <> 0.

exit.

enddo.

close dataset <appl file name>.

Message was edited by:

sangeetha s k

Read only

Former Member
0 Likes
643

DATA :IT_BDCDATA TYPE TABLE OF BDCDATA WITH HEADER LINE,

IT_MSGTAB TYPE TABLE OF BDCMSGCOLL WITH HEADER LINE,

ST_OPT TYPE CTU_PARAMS,

BEGIN OF IT_KA06 OCCURS 0,

KOKRS(10),

KSTAR(10),

DATAB_ANFO TYPE D,

DATBI_ANFO TYPE D,

KTEXT(10),

LTEXT(10),

KATYP(10),

MGEFL(10),

MSEHI_CHAR(10),

END OF IT_KA06,

BEGIN OF IT_EKA06 OCCURS 0,

KOKRS(10),

KSTAR(10),

DATAB_ANFO TYPE D,

DATBI_ANFO TYPE D,

KTEXT(10),

LTEXT(10),

KATYP(10),

MGEFL(10),

MSEHI_CHAR(10),

END OF IT_EKA06,

BEGIN OF IT_SKA06 OCCURS 0,

KOKRS(10),

KSTAR(10),

DATAB_ANFO TYPE D,

DATBI_ANFO TYPE D,

KTEXT(10),

LTEXT(10),

KATYP(10),

MGEFL(10),

MSEHI_CHAR(10),

END OF IT_SKA06,

MSG TYPE STRING,

FNAME TYPE STRING,

BEGIN OF IT_DISPERR OCCURS 0,

KSTAR(20),

MSG LIKE MSG,

END OF IT_DISPERR,

V_DOWNLOADFILE TYPE STRING,

V_UPLOADFILE TYPE STRING,

V_PORTSTRING(300),

V_EXPORTSTRING(300).

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

PARAMETERS:P_URL LIKE IBIPPARMS-PATH.

SELECTION-SCREEN END OF BLOCK B1.

SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-002.

PARAMETERS:P_DISP LIKE ST_OPT-DISMODE.

SELECTION-SCREEN END OF BLOCK B3.

SELECTION-SCREEN BEGIN OF BLOCK B4 WITH FRAME TITLE TEXT-004.

PARAMETERS:P_ERROR LIKE IBIPPARMS-PATH.

SELECTION-SCREEN END OF BLOCK B4.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_URL.

PERFORM GET_FILE_NAME USING 'P_URL'

CHANGING P_URL.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_ERROR.

PERFORM GET_FILE_NAME USING 'P_ERROR'

CHANGING P_ERROR.

START-OF-SELECTION.

PERFORM UPLOAD_DATA.

PERFORM BUILD_DATA.

END-OF-SELECTION.

PERFORM DOWNLOAD_ERRORS.

&----


*& Form GET_FILE_NAME

&----


  • text

----


  • -->P_0208 text

  • <--P_P_URL text

----


FORM GET_FILE_NAME USING P_NAME TYPE ANY

CHANGING P_VALUE TYPE ANY.

CALL FUNCTION 'F4_FILENAME'

EXPORTING

PROGRAM_NAME = SYST-CPROG

DYNPRO_NUMBER = SYST-DYNNR

FIELD_NAME = P_NAME

IMPORTING

FILE_NAME = P_VALUE.

ENDFORM. " get_file_name

&----


*& Form UPLOAD_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM UPLOAD_DATA .

OPEN DATASET FNAME FOR INPUT IN TEXT MODE ENCODING DEFAULT.

IF SY-SUBRC <> 0.

MESSAGE I000 WITH 'sorry file not found continue any way'.

STOP.

ELSE.

DO.

READ DATASET FNAME INTO V_PORTSTRING.

IF SY-SUBRC = 0.

SPLIT V_PORTSTRING AT ','

INTO

IT_KA06-KOKRS

IT_KA06-KSTAR

IT_KA06-DATAB_ANFO

IT_KA06-DATBI_ANFO

IT_KA06-KTEXT

IT_KA06-LTEXT

IT_KA06-KATYP

IT_KA06-MGEFL

IT_KA06-MSEHI_CHAR.

APPEND IT_KA06.

ELSE.

CLOSE DATASET FNAME.

EXIT.

ENDIF.

ENDDO.

ENDIF.

ENDFORM. " UPLOAD_DATA

&----


*& Form BUILD_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BUILD_DATA .

LOOP AT IT_KA06.

perform bdc_dynpro using 'SAPLKMA4' '0200'.

perform bdc_field using 'BDC_CURSOR'

'CSKBZ-KOKRS'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'CSKBZ-KOKRS'

IT_KA06-KOKRS."1

perform bdc_field using 'CSKBZ-KSTAR'

IT_KA06-KSTAR."2

perform bdc_field using 'CSKBZ-DATAB_ANFO'

IT_KA06-DATAB_ANFO."3

perform bdc_field using 'CSKBZ-DATBI_ANFO'

IT_KA06-DATBI_ANFO."4

perform bdc_dynpro using 'SAPLKMA4' '0299'.

perform bdc_field using 'BDC_OKCODE'

'=KZEI'.

perform bdc_field using 'BDC_CURSOR'

'CSKBZ-FUNC_AREA'.

perform bdc_field using 'CSKBZ-KTEXT'

IT_KA06-KTEXT."5

perform bdc_field using 'CSKBZ-LTEXT'

IT_KA06-LTEXT."6

perform bdc_field using 'CSKBZ-KATYP'

IT_KA06-KATYP."7

perform bdc_field using 'CSKBZ-EIGEN'

''.

perform bdc_dynpro using 'SAPLKMA4' '0299'.

perform bdc_field using 'BDC_OKCODE'

'=BU'.

perform bdc_field using 'BDC_CURSOR'

'CSKBZ-MSEHI_TEXT'.

perform bdc_field using 'CSKBZ-MGEFL'

IT_KA06-MGEFL."8

perform bdc_field using 'CSKBZ-MSEHI_CHAR'

IT_KA06-MSEHI_CHAR."9

ST_OPT-DISMODE = P_DISP.

ST_OPT-DEFSIZE = 'X'.

CALL TRANSACTION 'KA06' USING IT_BDCDATA OPTIONS FROM ST_OPT

MESSAGES INTO IT_MSGTAB.

IF SY-SUBRC = 0.

IT_SKA06 = IT_KA06.

APPEND IT_SKA06.

ELSE.

IT_EKA06 = IT_KA06.

APPEND IT_EKA06.

LOOP AT IT_MSGTAB.

CALL FUNCTION 'FORMAT_MESSAGE'

EXPORTING

ID = IT_MSGTAB-MSGID

  • LANG = '-D'

NO = IT_MSGTAB-MSGNR

V1 = IT_MSGTAB-MSGV1

V2 = IT_MSGTAB-MSGV2

V3 = IT_MSGTAB-MSGV3

V4 = IT_MSGTAB-MSGV4

IMPORTING

MSG = MSG

EXCEPTIONS

NOT_FOUND = 1

OTHERS = 2

.

IF SY-SUBRC = 0.

IT_DISPERR-KSTAR = IT_KA06-KSTAR.

IT_DISPERR-MSG = MSG.

APPEND IT_DISPERR.

CLEAR IT_DISPERR.

ENDIF.

ENDLOOP.

ENDIF.

CLEAR IT_BDCDATA[].

CLEAR IT_MSGTAB[].

CLEAR IT_KA06.

ENDLOOP.

ENDFORM. " BUILD_DATA

&----


*& Form bdc_dynpro

&----


  • text

----


  • -->P_0322 text

  • -->P_0323 text

----


FORM BDC_DYNPRO USING PROGNAME

SCREEN.

IT_BDCDATA-PROGRAM = PROGNAME.

IT_BDCDATA-DYNPRO = SCREEN.

IT_BDCDATA-DYNBEGIN = 'X'.

APPEND IT_BDCDATA.

CLEAR IT_BDCDATA.

ENDFORM. " bdc_dynpro

&----


*& Form bdc_field

&----


  • text

----


  • -->P_0407 text

  • -->P_IT_KA06_MGEFL text

----


FORM BDC_FIELD USING FIELDNAME

FIELDVALUE.

IT_BDCDATA-FNAM = FIELDNAME.

IT_BDCDATA-FVAL = FIELDVALUE.

APPEND IT_BDCDATA.

CLEAR IT_BDCDATA.

ENDFORM. " bdc_field

&----


*& Form DOWNLOAD_ERRORS

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM DOWNLOAD_ERRORS .

OPEN DATASET V_DOWNLOADFILE FOR OUTPUT IN TEXT MODE ENCODING DEFAULT .

IF SY-SUBRC = 0.

LOOP AT IT_EKA06.

CONCATENATE IT_KA06-KOKRS

IT_KA06-KSTAR

IT_KA06-DATAB_ANFO

IT_KA06-DATBI_ANFO

IT_KA06-KTEXT

IT_KA06-LTEXT

IT_KA06-KATYP

IT_KA06-MGEFL

IT_KA06-MSEHI_CHAR

INTO V_EXPORTSTRING

SEPARATED BY ',' .

TRANSFER V_EXPORTSTRING TO V_DOWNLOADFILE.

ENDLOOP.

CLOSE DATASET V_DOWNLOADFILE.

ENDIF.

ENDFORM. " DOWNLOAD_ERRORS

Read only

Former Member
0 Likes
643

Hi Mr:Kumard,

In order to transfer data from a flat file from presentation server:

1. Use FM GUI_UPLOAD, which will trasfer the data into some Internal table, and from that you can updateyour data base tables.

2. You can use FM "ARCHIVFILE_CLIENT_TO_SERVER" which will trasfer flat file into SAP application server from there you can use OPEN DATA SEt and alll.

If you have any doubt on this regard, probably I can help you

Thanks

Antony Thomas