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: 

Application Server

Former Member
0 Kudos

Hi,

I wanti put the file from Presentation server to Application Server. Can anybody provide me the coding..

Thanks...

7 REPLIES 7

former_member188829
Active Contributor
0 Kudos

• OPEN DATASET ‘TEST.TXT’ FOR OUTPUT/INPUT /APPENDING IN TEXTMODE/BINARYMODE ENCODING DEFAULT

• O/P- moving data from itab to seq file

• I/p –moving data from seq file to itab

• Appending –this is also move data from itab to seq file but it doesn’t overwrites the existing content file , it adds content at last

• Open dataset- creating seqfile in app layer and open it to accept data

• Textmode- moving data line by line

• Binarymode – movin data char by char generally used in grtaphical

• Encoding default – converting data fornat to default format of seqfile i.e to Unicode or non-unicode format

• Transfer- to move data from itab to seqfile

• Never use sy-subrc after transfer because it doesn’t refer sy-subrc

• Close data set ‘tast.txt’

• Delete datset ‘test.txt’

Former Member
0 Kudos

HI,

Use the function module:

C13Z_FRONT_END_TO_APPL

to move a file from Front end (presentation) to application server.

regards

Subramanian

Former Member
0 Kudos

If it is a one time activity, use transaction CG3Z to upload the file. Or else use the function module ARCHIVFILE_CLIENT_TO_SERVER.

Manoj

0 Kudos

Use transactions CG3y and CG3z if download or upload is one time only.

otherwise refer demo cdoe below for both upload/download -

&----


*& Report ZGILL_AS *

*& *

&----


*& *

*& *

&----


REPORT ZGILL_AS message-id rp .

tables: pa0001,pa0002.

select-options s_pernr for pa0001-pernr no intervals MODIF ID XYZ.

parameters: p_dwnld AS CHECKBOX ,

p_upld AS CHECKBOX DEFAULT 'X'.

parameters: P_DSNI(75) TYPE C MODIF ID ABG DEFAULT

'/usr/local/sapdata/amit.dat' LOWER CASE.

data: begin of itab occurs 0,

pernr(8),

sp1(1) value ',',

werks(4),

sp2(1) value ',',

persg(1),

sp3(1) value ',',

persk(2),

end of itab.

data: s_eof(3).

start-of-selection.

if p_upld = 'X'.

OPEN DATASET P_DSNI FOR OUTPUT IN LEGACY TEXT MODE.

PERFORM FETCH_DATA.

STOP.

elseif p_dwnld = 'X'.

OPEN DATASET P_DSNI FOR INPUT IN LEGACY TEXT MODE.

IF SY-SUBRC NE 0.

MESSAGE E016 WITH

'Error opening seq. file, RC:' SY-SUBRC.

EXIT.

ENDIF.

CLEAR S_EOF.

DO.

PERFORM FETCH_file.

IF S_EOF EQ 'YES'. stop. ENDIF.

ENDDO.

endif.

END-OF-SELECTION.

if itab[] is not initial.

perform print_file1 tables itab.

else.

write:/ 'No records exists'.

endif.

&----


*& Form FETCH_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FETCH_DATA .

SELECT * FROM PA0001 WHERE PERNR IN S_PERNR.

MOVE-CORRESPONDING PA0001 TO ITAB.

TRANSFER ITAB TO P_DSNI.

APPEND ITAB.

ENDSELECT.

CLOSE DATASET P_DSNI.

ENDFORM. " FETCH_DATA

&----


*& Form FETCH_file

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FETCH_file .

READ DATASET P_DSNI INTO itab.

append itab.

clear itab.

IF SY-SUBRC NE 0.

S_EOF = 'YES'. EXIT.

ENDIF.

ENDFORM. " FETCH_file

&----


*& Form print_file1

&----


  • text

----


  • -->P_ITAB text

----


FORM print_file1 tables P_ITAB structure itab .

write:/2 'EmpNo',

14 'Personnel Area',

34 'Emp Group',

47 'Emp SubGroup'.

skip 1.

loop at p_itab.

write:2 p_itab-pernr,

14 p_itab-werks,

34 p_itab-persg,

47 p_itab-persk.

skip 1.

endloop.

ENDFORM. " print_file1

Former Member
0 Kudos

TYPES: BEGIN OF TY_ITAB,

BUKRS(4), "Comp Code

EBELN(10), "PO Number

BLDAT(8), " Inv Date

XBLNR(16), "Inv Number

LIFNR(10), "Vendor

AMOUNT(15), "

CURR(4),

BUSAREA(4),

BKTXT(25), "Header Text

DMBTR(16),

MENGE(17),

SRNO(4),

END OF TY_ITAB.

DATA: I_TAB TYPE STANDARD TABLE OF TY_ITAB WITH HEADER LINE.

DATA : GFILE(150).

DATA: G_FILE(150).

DATA: PATH(100).

DATA: DATE(8), DATE1(6).

DATA: RECORD TYPE STRING,

FILE TYPE STRING.

DATA: L_FILETAB TYPE FILETABLE,

L_FILETAB_H TYPE FILETABLE WITH HEADER LINE,

INITIAL_DIR_PATH TYPE STRING,

L_RC TYPE I.

SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

PARAMETERS: FNAME TYPE LOCALFILE OBLIGATORY.

SELECTION-SCREEN: END OF BLOCK B1.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR FNAME.

REFRESH L_FILETAB.

INITIAL_DIR_PATH = 'C:\'.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG

EXPORTING

WINDOW_TITLE = 'Select the Asset Master Data file'

  • DEFAULT_EXTENSION =

  • DEFAULT_FILENAME =

FILE_FILTER = 'Text Files (.TXT)|.TXT|'

INITIAL_DIRECTORY = INITIAL_DIR_PATH

MULTISELECTION = SPACE

  • WITH_ENCODING =

CHANGING

FILE_TABLE = L_FILETAB

RC = L_RC

  • USER_ACTION =

  • FILE_ENCODING =

EXCEPTIONS

FILE_OPEN_DIALOG_FAILED = 1

CNTL_ERROR = 2

ERROR_NO_GUI = 3

NOT_SUPPORTED_BY_GUI = 4

OTHERS = 5

.

IF SY-SUBRC <> 0.

WRITE:/ 'Error while selecting the input file'.

ELSE.

LOOP AT L_FILETAB INTO L_FILETAB_H.

FNAME = L_FILETAB_H-FILENAME.

EXIT.

ENDLOOP.

ENDIF.

START-OF-SELECTION.

PERFORM READ_FILE_DATA.

PERFORM SUB_GET_FILEPATH.

PERFORM WRITE_FILE_DATA.

&----


*& Form READ_FILE_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM READ_FILE_DATA .

DATA: VFILE TYPE STRING.

DATA: FL(1).

FILE = FNAME.

WHILE FL <> 'X'.

SEARCH FILE FOR '\'.

IF SY-SUBRC = 0.

SPLIT FILE AT '\' INTO PATH FILE.

ELSE.

FL = 'X'.

ENDIF.

ENDWHILE.

VFILE = FNAME.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = VFILE

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • CODEPAGE = ' '

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • CHECK_BOM = ' '

  • VIRUS_SCAN_PROFILE =

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

DATA_TAB = I_TAB

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.

ENDFORM. " READ_FILE_DATA

&----


*& Form SUB_GET_FILEPATH

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM SUB_GET_FILEPATH .

GFILE = 'E:\SAP_INT\INBOUND\INBOX'.

ENDFORM. " SUB_GET_FILEPATH

&----


*& Form WRITE_FILE_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM WRITE_FILE_DATA .

DATA: L_FL.

CLEAR L_FL.

DATE = SY-DATUM.

CONCATENATE DATE6(2) DATE4(2) DATE+0(4) INTO DATE.

DATE1 = DATE+2(6).

IF NOT I_TAB[] IS INITIAL.

CONCATENATE: GFILE '\' FILE INTO G_FILE.

OPEN DATASET G_FILE FOR OUTPUT IN TEXT MODE

ENCODING DEFAULT

IGNORING CONVERSION ERRORS.

IF SY-SUBRC = 0.

LOOP AT I_TAB.

CONCATENATE I_TAB-BUKRS ',' I_TAB-EBELN ','

I_TAB-BLDAT ',' I_TAB-XBLNR ','

I_TAB-LIFNR ',' I_TAB-AMOUNT ','

I_TAB-CURR ',' I_TAB-BUSAREA ','

I_TAB-BKTXT ',' I_TAB-DMBTR ','

I_TAB-MENGE ',' I_TAB-SRNO INTO RECORD.

TRANSFER RECORD TO G_FILE.

L_FL = 'X'.

ENDLOOP.

CLOSE DATASET G_FILE.

IF L_FL = 'X'.

MESSAGE S038 WITH FILE.

CLEAR L_FL.

ENDIF.

ENDIF.

ENDIF.

ENDFORM. " WRITE_FILE_DATA

Former Member
0 Kudos

Use transaction CG3Z.

Former Member
0 Kudos

Tcode CG3Z <------Presentation to application Server

CG3Y <-----Application to presentation Server

Regards