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

GUI_UPLOAD

Former Member
0 Likes
727

Hey all,

I am using GUI_UPLOAD function module. I want upload .xls file.when i am passing FILETYPE as 'ASC' it is accepting a file having record as well as the file which is blank it is showing one record. What i have to do???

Thanks for your help.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
706

HI

GUI_UPLOAD fm is used to upload .txt file

ALSM_EXCEL_TO_INTERNAL_TABLE fm is used to upload .xls file

try this program

data: begin of it_mara occurs 0,

matnr type matnr,

ernam type ernam,

end of it_mara.

data : begin of it_mara1 occurs 0 .

include STRUCTURE ALSMEX_TABLINE.

data : end of it_mara1.

data : p_file LIKE IBIPPARMS-PATH.

data : p_file1 LIKE RLGRAP-FILENAME.

data: v_col type KCD_EX_ROW_N.

parameters: p_file LIKE IBIPPARMS-PATH.

at selection-screen on value-request for p_file.

CALL FUNCTION 'F4_FILENAME'

  • EXPORTING

  • PROGRAM_NAME = SYST-CPROG

  • DYNPRO_NUMBER = SYST-DYNNR

  • FIELD_NAME = ' '

IMPORTING

FILE_NAME = p_file .

start-of-selection.

p_file1 = p_file.

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'

EXPORTING

FILENAME = p_file1

I_BEGIN_COL = 1

I_BEGIN_ROW = 1

I_END_COL = 10

I_END_ROW = 10

TABLES

INTERN = it_mara1.

  • EXCEPTIONS

  • INCONSISTENT_PARAMETERS = 1

  • UPLOAD_OLE = 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.

loop at it_mara1.

v_col = it_mara1-col.

case v_col.

when '1'.

it_mara-matnr = it_mara1-value.

when '2'.

it_mara-ernam = it_mara1-value.

endcase.

at end of row.

append it_mara.

endat.

endloop.

loop at it_mara.

write : / it_mara-matnr,

it_mara-ernam.

endloop.

plz reward if it is useful.

Thanks,

S.Gangi Reddy

6 REPLIES 6
Read only

Former Member
0 Likes
706

hi

use this :-

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = PATH

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X'

HEADER_LENGTH = 0

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.

reward if help.

Read only

0 Likes
706

Hey still, it is showing one record....

Read only

Former Member
0 Likes
706

hi,

use the FM ALSM_EXCEL_TO_INTERNAL_TABLE





DATA:BEGIN OF IT_CUSTOMER OCCURS 0,
     KUNNR LIKE MV10A-KUNNR,
     VKORG LIKE MV10A-VKORG,
     VTWEG LIKE MV10A-VTWEG,
     MATNR LIKE MV10A-MATNR,
     KDMAT LIKE MV10A-KDMAT,
     MEGRU LIKE MV10A-MEGRU,
     SELKZ TYPE C value 'X',
     LPRIO LIKE MV10A-LPRIO,
     ANTLF LIKE MV10A-ANTLF,
     END OF IT_CUSTOMER.

DATA:BEGIN OF IT_success OCCURS 0,
     KUNNR LIKE MV10A-KUNNR,
     VKORG LIKE MV10A-VKORG,
     VTWEG LIKE MV10A-VTWEG,
     MATNR LIKE MV10A-MATNR,
     KDMAT LIKE MV10A-KDMAT,
     MEGRU LIKE MV10A-MEGRU,
     SELKZ TYPE C value 'X',
     LPRIO LIKE MV10A-LPRIO,
     ANTLF LIKE MV10A-ANTLF,
     END OF IT_success.

DATA:BEGIN OF IT_error OCCURS 0,
     KUNNR LIKE MV10A-KUNNR,
     VKORG LIKE MV10A-VKORG,
     VTWEG LIKE MV10A-VTWEG,
     MATNR LIKE MV10A-MATNR,
     KDMAT LIKE MV10A-KDMAT,
     MEGRU LIKE MV10A-MEGRU,
     SELKZ TYPE C value 'X',
     LPRIO LIKE MV10A-LPRIO,
     ANTLF LIKE MV10A-ANTLF,
     END OF IT_error.

DATA: L_INDEX TYPE SY-TABIX.
DATA:IT_BDC LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
IT_DATA TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.



************************************************************************
*               S E L E C T I O N  -  S C R E E N                      *
************************************************************************

SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETER        : P_FILE LIKE RLGRAP-FILENAME .
SELECTION-SCREEN : END OF BLOCK B1.


************************************************************************
*            A T  S E L E C T I O N  -  S C R E E N                    *
************************************************************************

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
* to get F4 help for p_file
  PERFORM F4_FILENAME USING P_FILE.

************************************************************************
*             S T A R T   O F   S E L E C T I O N                      *
************************************************************************

START-OF-SELECTION.
* Uploading data from flat file into it_tab
  PERFORM BDC_UPLOAD USING P_FILE.
  PERFORM PROCESS_DATA.

*&---------------------------------------------------------------------*
*&      Form  F4_FILENAME
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_P_FILE  text
*----------------------------------------------------------------------*
FORM F4_FILENAME USING    P_P_FILE.
 DATA:L_FILE TYPE IBIPPARMS-PATH.
CALL FUNCTION 'F4_FILENAME'
* EXPORTING
*   PROGRAM_NAME        = SYST-CPROG
*   DYNPRO_NUMBER       = SYST-DYNNR
*   FIELD_NAME          = ' '
 IMPORTING
   FILE_NAME           = L_FILE .
   P_P_FILE = L_FILE.

ENDFORM.                    " F4_FILENAME
*&---------------------------------------------------------------------*
*&      Form  BDC_UPLOAD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_P_FILE  text
*----------------------------------------------------------------------*
FORM BDC_UPLOAD USING    P_P_FILE.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
  EXPORTING
    FILENAME                      = P_P_FILE
    I_BEGIN_COL                   = 1
    I_BEGIN_ROW                   = 1
    I_END_COL                     = 8
    I_END_ROW                     = 1000
  TABLES
    INTERN                        = IT_DATA
 EXCEPTIONS
   INCONSISTENT_PARAMETERS       = 1
   UPLOAD_OLE                    = 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.

ENDFORM.                    " BDC_UPLOAD
*&---------------------------------------------------------------------*
*&      Form  PROCESS_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM PROCESS_DATA.
SORT IT_DATA BY ROW COL.
  LOOP AT IT_DATA.
CASE IT_DATA-COL.
WHEN 1.
IT_CUSTOMER-KUNNR   = IT_DATA-VALUE.
WHEN 2.
IT_CUSTOMER-VKORG   = IT_DATA-VALUE.
WHEN 3.
IT_CUSTOMER-VTWEG   = IT_DATA-VALUE.
WHEN 4.
IT_CUSTOMER-MATNR   = IT_DATA-VALUE.
WHEN 5.
IT_CUSTOMER-KDMAT   = IT_DATA-VALUE.
WHEN 6.
IT_CUSTOMER-MEGRU   = IT_DATA-VALUE.
WHEN 7.
IT_CUSTOMER-LPRIO   = IT_DATA-VALUE.
WHEN 8.
IT_CUSTOMER-ANTLF   = IT_DATA-VALUE.

 APPEND IT_CUSTOMER.
    ENDCASE.
  ENDLOOP.

ENDFORM.                    " PROCESS_DATA

Read only

Former Member
0 Likes
706

Hi,

Try using refresh and clear statement before passing the file name to GUI_UPLOAD.

Thanks,

Sriram Ponna.

Read only

0 Likes
706

Hey i am clearing all fields and refreshing tables properly.

Read only

Former Member
0 Likes
707

HI

GUI_UPLOAD fm is used to upload .txt file

ALSM_EXCEL_TO_INTERNAL_TABLE fm is used to upload .xls file

try this program

data: begin of it_mara occurs 0,

matnr type matnr,

ernam type ernam,

end of it_mara.

data : begin of it_mara1 occurs 0 .

include STRUCTURE ALSMEX_TABLINE.

data : end of it_mara1.

data : p_file LIKE IBIPPARMS-PATH.

data : p_file1 LIKE RLGRAP-FILENAME.

data: v_col type KCD_EX_ROW_N.

parameters: p_file LIKE IBIPPARMS-PATH.

at selection-screen on value-request for p_file.

CALL FUNCTION 'F4_FILENAME'

  • EXPORTING

  • PROGRAM_NAME = SYST-CPROG

  • DYNPRO_NUMBER = SYST-DYNNR

  • FIELD_NAME = ' '

IMPORTING

FILE_NAME = p_file .

start-of-selection.

p_file1 = p_file.

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'

EXPORTING

FILENAME = p_file1

I_BEGIN_COL = 1

I_BEGIN_ROW = 1

I_END_COL = 10

I_END_ROW = 10

TABLES

INTERN = it_mara1.

  • EXCEPTIONS

  • INCONSISTENT_PARAMETERS = 1

  • UPLOAD_OLE = 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.

loop at it_mara1.

v_col = it_mara1-col.

case v_col.

when '1'.

it_mara-matnr = it_mara1-value.

when '2'.

it_mara-ernam = it_mara1-value.

endcase.

at end of row.

append it_mara.

endat.

endloop.

loop at it_mara.

write : / it_mara-matnr,

it_mara-ernam.

endloop.

plz reward if it is useful.

Thanks,

S.Gangi Reddy