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

problem with internal table declaration in function gui_upload

Former Member
0 Likes
1,040

hi friends,

can u tell me how should i define internal table when i use this function?

i get error that in oo my declaration not good.

thanks,

dana.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,009

DATA: BEGIN OF ITAB OCCURS 0,

AUART LIKE VBAK-AUART,

VKORG LIKE VBAK-VKORG,

VTWEG LIKE VBAK-VTWEG,

SPART LIKE VBAK-SPART,

BSTKD LIKE VBKD-BSTKD, "PO NUMBER

BSTDK LIKE VBKD-BSTDK,

KUNNR LIKE KNA1-KUNNR,

END OF ITAB.

DATA : l_fname TYPE string.

l_fname = 'C:\test1.xls'

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = L_FNAME

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X'

tables

data_tab = ITAB.

(or)

DATA : L_FILE TYPE STRING VALUE 'C:\TABLE.XLS'.

TYPES: BEGIN OF TP_DATA_TAB,

TEXT TYPE STRING,

END OF TP_DATA_TAB.

DATA : DATA_TAB TYPE STANDARD TABLE OF TP_DATA_TAB.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD

EXPORTING

FILENAME = L_FILE

FILETYPE = 'ASC'

CHANGING

DATA_TAB = DATA_TAB.

9 REPLIES 9
Read only

JozsefSzikszai
Active Contributor
0 Likes
1,009

the table has to be declared without header line. I guess you declared with header line, this is why you face problems in oo.

Read only

ThomasZloch
Active Contributor
0 Likes
1,009

Define the table without header line, e.g. DATA: it_tab TYPE TABLE OF ...

Thomas

Read only

Former Member
0 Likes
1,009

Hi ,

You need to declare the table without header line or if the internal table is with header line the while passing to Fm pass as Itab[ ].

Read only

Former Member
0 Likes
1,009

hello,

can u plz tell me wat error u r getting?

u must declare the structure in same sequence,u have declared in non sap file,

and it must contain same no of fields,

chitra.

Read only

Former Member
0 Likes
1,009

Hi,

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

*TABLES DECLARATIONS

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

data : itab_text type standard table of zmasterdatatable.

data : itab_text1 type standard table of zhrs_ess02_masterdata.(FM)

and define the corersponding workareas like this

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

*WORK AREAS DECLARATIONS

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

data : wa_text type zmasterdatatable.

data: wa_text1 type zhrs_ess02_masterdata.(FM)

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

thanks and regards

neha

Read only

Former Member
0 Likes
1,010

DATA: BEGIN OF ITAB OCCURS 0,

AUART LIKE VBAK-AUART,

VKORG LIKE VBAK-VKORG,

VTWEG LIKE VBAK-VTWEG,

SPART LIKE VBAK-SPART,

BSTKD LIKE VBKD-BSTKD, "PO NUMBER

BSTDK LIKE VBKD-BSTDK,

KUNNR LIKE KNA1-KUNNR,

END OF ITAB.

DATA : l_fname TYPE string.

l_fname = 'C:\test1.xls'

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = L_FNAME

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X'

tables

data_tab = ITAB.

(or)

DATA : L_FILE TYPE STRING VALUE 'C:\TABLE.XLS'.

TYPES: BEGIN OF TP_DATA_TAB,

TEXT TYPE STRING,

END OF TP_DATA_TAB.

DATA : DATA_TAB TYPE STANDARD TABLE OF TP_DATA_TAB.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD

EXPORTING

FILENAME = L_FILE

FILETYPE = 'ASC'

CHANGING

DATA_TAB = DATA_TAB.

Read only

Former Member
0 Likes
1,009

see this example:-

DATA: BEGIN OF itab OCCURS 0,

tdname TYPE mara-matnr,

tdline1 TYPE tline-tdline,

tdline2 TYPE tline-tdline,

tdline3 TYPE tline-tdline,

tdline4 TYPE tline-tdline,

tdline5 TYPE tline-tdline,

END OF itab.

DATA: BEGIN OF itab_error OCCURS 0,

tdname TYPE mara-matnr,

error TYPE string,

END OF itab_error.

DATA: lines TYPE STANDARD TABLE OF tline WITH HEADER LINE.

DATA: temp TYPE string.

DATA: tdspras TYPE thead-tdspras.

DATA: tdname TYPE thead-tdname.

DATA: tdobject TYPE thead-tdobject.

DATA: tdid TYPE thead-tdid.

DATA :flag TYPE c.

----


  • At Selection Screen Event

----


AT SELECTION-SCREEN ON VALUE-REQUEST FOR p1.

CALL FUNCTION 'F4_FILENAME'

IMPORTING

file_name = p1.

----


  • At Start of Selection Event

----


START-OF-SELECTION.

PERFORM upload_data.

PERFORM upload_text.

&----


*& Form upload_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM upload_data .

temp = p1.

**& Upload Data from Excel

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = temp

filetype = 'ASC'

has_field_separator = 'X'

TABLES

data_tab = itab.

ENDFORM. " upload_data

&----


*& Form upload_text

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM upload_text .

tdspras = 'EN'.

tdid = 'BEST'.

tdobject = 'MATERIAL'.

LOOP AT itab.

REFRESH lines.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = itab-tdname

IMPORTING

output = itab-tdname.

TRANSLATE itab-tdname TO UPPER CASE.

tdname = itab-tdname.

PERFORM check_material.

lines-tdline = itab-tdline1.

APPEND lines.

CLEAR lines.

lines-tdline = itab-tdline2.

APPEND lines.

CLEAR lines.

lines-tdline = itab-tdline3.

APPEND lines.

CLEAR lines.

lines-tdline = itab-tdline4.

APPEND lines.

CLEAR lines.

lines-tdline = itab-tdline5.

APPEND lines.

CLEAR lines.

CALL FUNCTION 'CREATE_TEXT'

EXPORTING

fid = tdid

flanguage = tdspras

fname = tdname

fobject = tdobject

TABLES

flines = lines.

ENDLOOP.

IF itab_error[] IS NOT INITIAL.

WRITE : / 'PO Text For Following Material is not Uploaded'.

WRITE : / .

WRITE : / 'Material', ' Error'.

LOOP AT itab_error.

WRITE : / itab_error-tdname, ' ', itab_error-error.

ENDLOOP.

ELSE.

MESSAGE s001(38) WITH 'Data Uploaded Succcesfully'.

ENDIF.

ENDFORM. " upload_text

&----


*& Form check_material

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM check_material .

DATA : w_matnr TYPE mara-matnr.

SELECT SINGLE matnr

INTO w_matnr

FROM mara

WHERE matnr = itab-tdname.

IF sy-subrc = 0.

flag = 'X'.

ELSE.

MOVE-CORRESPONDING itab TO itab_error.

itab_error-error = 'Material does not exist'.

APPEND itab_error.

ENDIF.

ENDFORM. " check_material

Read only

0 Likes
1,009

thank you allfor reply to me.

when i execute this function i got a error:

"Access via 'NULL' object reference not possible"

what is that mean?

my code is this:

types: begin of ztemp,

text type string,

end of ztemp.

data: itab standard table of ztemp.

call function gui_upload

exporting

filename = 'c:\dana\test.txt'

filetype = 'ASC'

tables

data_tab = itab

exceptions

.

.

.

thank you,

dana

Read only

0 Likes
1,009

close

i open same question in another session.