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

Program for uploading file on application server...

Former Member
0 Likes
1,703

Hi,

I have created a program to upload a file from presentation server (local desktop) to application server. But in this program I have to specify the file length. What should I do in given program so that I can upload file of any length on application server ?

*&---------------------------------------------------------------------*
*& Report  Z_FILE_DOWNLOAD_TO_APP_SERVER                               *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*


* This Program can be used to move flat files to application server from presentation server.

REPORT  Z_FILE_DOWNLOAD_TO_APP_SERVER.


PARAMETERS: P_FILE       LIKE IBIPPARMS-PATH,
           P_FILE1(20000) default 'E:CONVERSIONFLAT' lower case.

DATA: WS_FILE TYPE STRING.

DATA: BEGIN OF T_DATA OCCURS 0,
       RECORD(20000),
     END OF T_DATA.

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.

WS_FILE = P_FILE.

CALL FUNCTION 'GUI_UPLOAD'
 EXPORTING
   FILENAME                      = WS_FILE
  FILETYPE                      = 'ASC'
 TABLES
   DATA_TAB                      = T_DATA
 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.

* Creating the file at Appl server............................
OPEN DATASET P_FILE1 FOR OUTPUT IN TEXT MODE encoding utf-8.
if sy-subrc ne 0.
 message e000(--) with 'Error in opening file'.
endif.

* Trasfer the records to file.............
loop at t_data.
 transfer t_data to p_file1.

endloop.

close dataset p_file1.
if sy-subrc eq 0.
 write: / 'Written the files at ', p_file1.
 write:/ 'Goto AL11 Transaction and then click on SAP Directory DIR_SAPUSERS to look for the file'.
endif.

Please advice.

Regards,

Rajesh

2 REPLIES 2
Read only

Former Member
0 Likes
855

Try declaring it as TYPE STRING. Not sure though.

There are two predefined types in ABAP with variable length:

  • STRING for character strings

  • XSTRING for byte strings

Thanks,

SKJ

Read only

Clemenss
Active Contributor
0 Likes
855

Hi,

you can do it using SE37 function test with

FUNCTION 'ARCHIVFILE_SERVER_TO_CLIENT'

FUNCTION 'ARCHIVFILE_CLIENT_TO_SERVER'

Can handle anything.

Regards,

Clemens