Application Development 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: 

gui_upload

Former Member
0 Kudos

REPORT Z_MM_UPLOAD_VA41.

PARAMETERS: p_infile LIKE rlgrap-filename.

DATA: gd_file type string.

*Internal tabe to store upload data

TYPES: BEGIN OF t_record,

name1 LIKE pa0002-vorna,

name2 LIKE pa0002-name2,

age TYPE i,

<b>znum(8),

keydate like sy-datum,

keydate1 like sy-datum,</b>

END OF t_record.

DATA: it_record TYPE STANDARD TABLE OF t_record INITIAL SIZE 0,

wa_record TYPE t_record.

*Internal table to upload data into

DATA: BEGIN OF it_datatab OCCURS 0,

row(500) TYPE c,

END OF it_datatab.

*Text version of data table

TYPES: BEGIN OF t_uploadtxt,

name1(10) TYPE c,

name2(15) TYPE c,

age(5) TYPE c,

<b>znum(8),

keydate like sy-datum,

keydate1 like sy-datum,</b> END OF t_uploadtxt.

DATA: wa_uploadtxt TYPE t_uploadtxt.

*String value to data in initially.

DATA: wa_string(255) TYPE c.

CONSTANTS: con_tab TYPE x VALUE '09'.

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

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_infile.

CALL FUNCTION 'WS_FILENAME_GET'

EXPORTING

def_filename = p_infile

mask = ',*.txt.'

mode = 'O'

title = 'Upload File'(078)

IMPORTING

filename = p_infile

EXCEPTIONS

inv_winsys = 1

no_batch = 2

selection_cancel = 3

selection_error = 4

OTHERS = 5.

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

*START-OF-SELECTION

START-OF-SELECTION.

gd_file = p_infile.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = gd_file

has_field_separator = 'X' "file is TAB delimited

TABLES

data_tab = it_record

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 NE 0.

write: 'Error ', sy-subrc, 'returned from GUI_UPLOAD FM'.

skip.

endif.

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

*END-OF-SELECTION

END-OF-SELECTION.

*!! Text data is now contained within the internal table IT_RECORD

  • Display report data for illustration purposes

LOOP AT it_record INTO wa_record.

WRITE:/ sy-vline,

(10) wa_record-name1, sy-vline,

(10) wa_record-name2, sy-vline,

(10) wa_record-age, sy-vline.

ENDLOOP.

this is the code.

i get only 3 rows and i need 6.

i append <b>this three</b> but i get 3 rows again.

thanks.

6 REPLIES 6

Former Member
0 Kudos

yehiel braha

Change as per in BOLD ...

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = gd_file

<b> FILETYPE = 'ASC'</b>

HAS_FIELD_SEPARATOR = 'X'

.....

Thanks

Kam

former_member181962
Active Contributor
0 Kudos

Hi Yehiel,

Keep a soft break-point at the start of the loop statement and see if the internal table has indeed 6 records?

I don't think you are picking up the correct file.

Regards,

Ravi

former_member188685
Active Contributor
0 Kudos

Hi Check the flat file how many records are there.

based on that you can get.

regards

vijay

Former Member
0 Kudos

Hi,

Please give the appropriate requirement.

Whether u have the values in the IT_Record.Just try in debug mode.

If the values are there in IT_Record then Check in wa_Record.

If it is not there the problem is in the input file format.

Former Member
0 Kudos

What is the solution for ur problem

Former Member
0 Kudos

Try using the follwoing GUI_UPLOAD function module.

DATA : L_FILENAME TYPE STRING,

L_FILETYPE TYPE CHAR10 VALUE 'ASC',

L_HEADER_LENGTH TYPE I VALUE 0,

L_READ_BY_LINE TYPE CHAR01 VALUE 'X'.

MOVE P_INFILE TO L_FILENAME.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = L_FILENAME

FILETYPE = L_FILETYPE

HEADER_LENGTH = L_HEADER_LENGTH

READ_BY_LINE = L_READ_BY_LINE

HAS_FIELD_SEPARATOR = C_SPLIT

TABLES

DATA_TAB = IT_RECORD

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.

Hope this helps u.

Pl. reward the points for this.