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: 

upload data to application server

surya_ramireddy
Participant
0 Kudos

Hi Experts, Good day!

I have to upload /transfer data from itab to application server folder ' /usr/sap/INTF/OUTBOUND\OUTPUT.

'OUTBOUND\OUTPUT' this folder doesnt existing appl server I have to create the folder as well.

I am not able to get it.

please post it to me.

thanks

S.R.

3 REPLIES 3

Former Member
0 Kudos

Hi,

Check this code,

DATA : BEGIN OF WA_CUST_INITIAL,
       STYPE(5),
       CUSTOMER(10),
       Company_Code(10),
       Sales_Organization(10),
       Distribution_Channel(10),
       Division(10),
       Account_Group(10),
       END OF WA_CUST_INITIAL.

DATA : IT_CUST_INITIAL LIKE STANDARD TABLE OF WA_CUST_INITIAL WITH HEADER LINE.


DATA : SOURCE_FILE_INITIAL TYPE STRING VALUE 'C:256_FLATCUST_INITIAL.TXT'.
DATA : TARGET_FILE_INITIAL(200) VALUE 'D:usrsaptransCUST_INITIAL.TXT'.

ALL FUNCTION 'GUI_UPLOAD'
  EXPORTING
    FILENAME                      = SOURCE_FILE_INITIAL
   FILETYPE                      = 'ASC'
   HAS_FIELD_SEPARATOR           = 'X'

 TABLES
    DATA_TAB                      = IT_CUST_INITIAL.

OPEN DATASET TARGET_FILE_INITIAL IN TEXT MODE FOR OUTPUT ENCODING DEFAULT.    ----> This Open Data Set is used for Creating the file in Application Server.

LOOP AT IT_CUST_INITIAL INTO WA_CUST_INITIAL.
TRANSFER WA_CUST_INITIAL TO TARGET_FILE_INITIAL.
ENDLOOP.
CLOSE DATASET TARGET_FILE_INITIAL.

Thanks.

Former Member
0 Kudos

hi S.R

try it like this

DATA : F1 TYPE STRING VALUE 'C:\TEST\HEADER.TXT'. "specify your prsentation path file name

  • to upload the flat file f1 & f2 from presentation server

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = F1

FILETYPE = 'ASC'

  • HAS_FIELD_SEPARATOR = '#'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • CODEPAGE = ' '

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • CHECK_BOM = ' '

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

DATA_TAB = ITAB1

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

  • reading the file and to download in application server

DATA : FILE1(200) TYPE C VALUE 'D:\usr\sap\trans\HEADER.TXT',

OPEN DATASET FILE1 IN TEXT MODE FOR OUTPUT ENCODING DEFAULT.

LOOP AT ITAB1 INTO HEADER.

TRANSFER HEADER TO FILE1.

ENDLOOP.

LOOP AT ITAB2 INTO ITEM.

TRANSFER ITEM TO FILE2.

ENDLOOP.

IF SY-SUBRC = 0.

WRITE 'FILE OPEN'.

ELSE.

WRITE 'NO FILE'.

ENDIF.

CLOSE DATASET FILE1.

CLOSE DATASET FILE2.

Former Member
0 Kudos

Hi!

For browsing (checking the folder exists or not) you can use the following code:

CALL FUNCTION 'EPS_GET_DIRECTORY_PATH'

  • EXPORTING

  • EPS_SUBDIR = 'log'

DIR_NAME = 'DIR_TMP'

  • IMPORTING

  • DIR_NAME =

EXCEPTIONS

INVALID_EPS_SUBDIR = 1

SAPGPARAM_FAILED = 2

BUILD_DIRECTORY_FAILED = 3

OTHERS = 4

.

if sy-subrc <> 0.

"the directory not present.

endif.

For creating directory, you have to know the exact path of your server, and then you can use the following code:

path = '
172.52.72.651\qfilesvr400\S109XXXX\usr\sap\TST\SYS\test'.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_CREATE

EXPORTING

DIRECTORY = path

CHANGING

RC = rc

EXCEPTIONS

DIRECTORY_CREATE_FAILED = 1

CNTL_ERROR = 2

ERROR_NO_GUI = 3

PATH_NOT_FOUND = 4

DIRECTORY_ACCESS_DENIED = 5

DIRECTORY_ALREADY_EXISTS = 6

UNKNOWN_ERROR = 7

others = 8

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.