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

Uploading data from Flat file to internal table.

Former Member
0 Likes
661

Hi All,

TABLES: ZSWAMY_0403.

DATA: BEGIN OF ITAB OCCURS 0,

SID TYPE ZSID,

SNAME TYPE ZSNAME,

SPHONE TYPE ZSPHONE,

SADRES TYPE ZSADRES,

END OF ITAB.

*DATA: BEGIN OF JTAB OCCURS 0.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = 'D:\SWAMY.TXT'

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = ':'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • CODEPAGE = ' '

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • CHECK_BOM = ' '

  • VIRUS_SCAN_PROFILE =

  • NO_AUTH_CHECK = ' '

  • 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-SID, ITAB-SNAME, ITAB-SPHONE, ITAB-SADRES.

ENDLOOP.

INSERT INTO ZSWAMY_0403 FROM TABLE ITAB.

Can anyone help me out in this program.

I have created a flatfile with tab delimiter.

It should get inserted into my database table.

Thanks.

Hi All,

TABLES: ZSWAMY_0403.

DATA: BEGIN OF ITAB OCCURS 0,

SID TYPE ZSID,

SNAME TYPE ZSNAME,

SPHONE TYPE ZSPHONE,

SADRES TYPE ZSADRES,

END OF ITAB.

*DATA: BEGIN OF JTAB OCCURS 0.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = 'D:\SWAMY.TXT'

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = ':'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • CODEPAGE = ' '

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • CHECK_BOM = ' '

  • VIRUS_SCAN_PROFILE =

  • NO_AUTH_CHECK = ' '

  • 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-SID, ITAB-SNAME, ITAB-SPHONE, ITAB-SADRES.

ENDLOOP.

INSERT INTO ZSWAMY_0403 FROM TABLE ITAB.

Can anyone help me out in this program.

I have created a flatfile with tab delimiter.

It should get inserted into my database table.

Thanks.

3 REPLIES 3
Read only

Former Member
0 Likes
556

In order to send data into database table through program you have to use "update/modify" statements.

give "update " in your program and click on F1. You can get the syntax and theory on how to use it.

thanks.

Read only

Former Member
0 Likes
556

**************************************************************************

IN FLAT FILE U MUST ENTER THE TAB BETWEEN THE TWO FIELDS

************************************************************************

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = 'C:\PMAS.TXT'

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = '#'

TABLES

DATA_TAB = TAB.

.

**************************************************************************

IN FLAT FILE U MUST GIVE CORRECT ALIGNMENT AND ALS IT HAS USER *INERACTION.

************************************************************************

CALL FUNCTION 'UPLOAD'

EXPORTING

FILENAME = 'C:\PDMAS1.TXT'

FILETYPE = 'ASC'

ETYPE =

TABLES

DATA_TAB = TAB.

LOOP AT TAB.

INSERT ZPDMAS FROM TAB.

WRITE : / TAB-PNAME.

ENDLOOP.

Kevin

Read only

Former Member
0 Likes
556

Hi Swamy Kunche ,

Was your flat file initially having ":" as a separator between two fields,

What are the values you are in the internal table?

Okay, let do this way.

If you flat file is having ':' (colon) as a sperator,, then use the following sample code to get the content into the internal table..


DATA : BEGIN OF IT_TEXTFILE OCCURS  0,
                  REC(500) TYPE C,
            END OF IT_TEXTFILE.

CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
       FILENAME                      = FILENAME
       FILETYPE                      = 'ASC'
    TABLES
       DATA_TAB                      = IT_TEXTFILE.
            .
  LOOP AT IT_TEXTFILE.
      CLEAR WA_DATATAB.
      SPLIT IT_TEXTFILE AT ':' INTO WA_DATATAB-SID wa_datatab-SNAME 
                                                    wa_datatab-SPHONE wa_datatab-SADRES 

      APPEND WA_DATATAB TO itab.
  ENDLOOP.

INSERT INTO <TARGET> FROM <SOURCE>.

<REMOVED BY MODERATOR>

Thanks-

Rahul.

Edited by: Alvaro Tejada Galindo on Mar 4, 2008 6:19 PM