cancel
Showing results for 
Search instead for 
Did you mean: 

From Sap to Remote Unix Server

Former Member
0 Kudos

Hi,

I have to send a file from an internal table to a remote unix server. i have tried a lot appling FTP with a put command but its still not getting transported.

please help me out.and also tell me wheather i can use some other way to do this.

also tell me wheather there are some issues of authorisation in this....

please help me as early as possible.. i am in a real need.. i promise to revert back with points...

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi ,

Are you getting any error while FTPing the file using put command ?

Please give me the log you are getting .

Nanda

former_member206604
Active Contributor
0 Kudos

Hi,

Check if the folder has write permission for the user.

Thanks,

Prakash

Former Member
0 Kudos

i am not getting error but system got hanged while running it.

please tell me one more thing that it is poosible to send a file from sap server to remote unix server using FTP.

i am also confused in this....

and if u want i can send u my code which will tell u the scenario

Former Member
0 Kudos

Ujjwal,

<i>please tell me one more thing that it is poosible to send a file from sap server to remote unix server using FTP</i>--> Yes it is possible to send a file from SAP server to remote unix server.

Explain your scenario briefly with the steps you have done on XI.

What is your input file size

Is your file size too big?(say greater than 3 MB)

Are you using content conversion?

DO you see any entries in SXMB_MONI?

Msg in adapter monitoring in RWB?

Provide us these details for more help.

Thanks & Regards,

Jai Shankar.

Answers (1)

Answers (1)

Former Member
0 Kudos

I HAVE TO SEND A FILE FROM OUR SAP TO REMOTE UNIX SERVER.

FOR THIS PURPOSE I AM USING FTP, BUT STILL I AM NOT ABLE TO DO THAT..

PLEASE HELP ME OUT ON THIS..

BELOW I AM GIVING MY CODE PLEASE HAVE A LOOK AT IT AND TELL ME WHATS WRONG.

**

REPORT ZIZSFPB001 .

TABLES : ZISFP03.

CONSTANTS: C_DELIMETER(1) TYPE C

VALUE '#'.

TYPES: BEGIN OF TY_FREIGHT,

VENDOR TYPE ZISFP03-VENDOR,

LR_NO TYPE ZISFP03-LR_NO,

EBELN TYPE ZISFP03-EBELN,

LR_DATE TYPE ZISFP03-LR_DATE,

PO_DATE TYPE ZISFP03-PO_DATE,

PO_BRANCH TYPE ZISFP03-PO_BRANCH,

TRK_NO TYPE ZISFP03-TRK_NO,

DISP_TIME TYPE ZISFP03-DISP_TIME,

SCAN_NO TYPE ZISFP03-SCAN_NO,

ACTU_QTY TYPE ZISFP04-ACTU_QTY,

MATERIAL TYPE ZISFP04-MATERIAL,

GR_BRANCH TYPE ZISFP04-GR_BRANCH,

STDTIME TYPE ZISFP14-STDTIME,

EST_ARRV_DT TYPE ZISFP04-ARRV_DT,

END OF TY_FREIGHT.

TYPES: BEGIN OF TY_FTP,

FIELD(90) TYPE C,

END OF TY_FTP.

DATA: IT_FREIGHT TYPE STANDARD TABLE OF TY_FREIGHT,

IT_OUTPUT TYPE STANDARD TABLE OF TY_FREIGHT,

IT_FTP TYPE STANDARD TABLE OF TY_FTP.

DATA : BEGIN OF TABL OCCURS 0,

LINE(560),

END OF TABL.

DATA: WA_FREIGHT TYPE TY_FREIGHT,

WA_OUTPUT TYPE TY_FREIGHT,

WA_FTP TYPE TY_FTP.

DATA: W_DSN TYPE SXPGCOLIST-PARAMETERS,

W_FTP_DSN TYPE SXPGCOLIST-PARAMETERS,

W_PARCOM_LOC(150) TYPE C,

W_FNAME(16) TYPE C,

W_ERROR_FLAG(1) TYPE C.

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

SELECT-OPTIONS : S_LR_DT FOR ZISFP03-LR_DATE.

SELECTION-SCREEN END OF BLOCK B1.

START-OF-SELECTION.

PERFORM GET_DATA.

PERFORM TRANSFER_DATA_TO_FILE.

PERFORM FTP_TRANSFER.

&----


*& Form GET_DATA

&----


  • text

----


FORM GET_DATA.

SELECT A~VENDOR

A~LR_NO

A~EBELN

A~LR_DATE

A~PO_DATE

A~PO_BRANCH

A~TRK_NO

A~DISP_TIME

A~SCAN_NO

B~ACTU_QTY

B~MATERIAL

B~GR_BRANCH

C~STDTIME

INTO TABLE IT_FREIGHT

FROM ( ( ZISFP03 AS A

INNER JOIN ZISFP04 AS B

ON AVENDOR = BVENDOR

AND ALR_NO = BLR_NO

AND AEBELN = BEBELN )

INNER JOIN ZISFP14 AS C

ON AVENDOR = CVENDOR

AND APO_BRANCH = CFROM_LOC

AND BGR_BRANCH = CTO_LOC

AND AZMODE = CEXPRES_TY )

WHERE A~LR_DATE IN S_LR_DT.

IF SY-SUBRC EQ 0.

SORT IT_FREIGHT BY VENDOR LR_NO EBELN.

DELETE ADJACENT DUPLICATES FROM IT_FREIGHT.

ENDIF.

IT_OUTPUT[] = IT_FREIGHT[].

ENDFORM. " GET_DATA

&----


*& Form TRANSFER_DATA_TO_FILE

&----


  • text

----


FORM TRANSFER_DATA_TO_FILE.

MOVE 'createnew.txt' TO W_FNAME.

CONCATENATE '/usr/sap/trans/mmpp/' W_FNAME INTO W_DSN.

OPEN DATASET W_DSN FOR OUTPUT IN TEXT MODE.

IF SY-SUBRC NE 0.

WRITE : 'File open error occured.'.

STOP.

ENDIF.

LOOP AT IT_OUTPUT INTO WA_OUTPUT.

TRANSFER WA_OUTPUT TO W_DSN.

CLEAR WA_OUTPUT.

ENDLOOP.

IF SY-SUBRC NE 0.

WRITE : 'File write error occured.'.

EXIT.

ENDIF.

CLOSE DATASET W_DSN.

ENDFORM. " TRANSFER_DATA_TO_FILE

&----


*& Form FTP_TRANSFER

&----


  • text

----


FORM FTP_TRANSFER.

PERFORM BUILD_FTP_FILE.

PERFORM TRANSFER_FTP_FILE.

*

ENDFORM. " FTP_TRANSFER

&----


*& Form BUILD_FTP_FILE

&----


  • text

----


FORM BUILD_FTP_FILE.

W_FTP_DSN = '/usr/sap/trans/mmpp/createcheck.txt'.

CONCATENATE 'open'

'www.info.com'

INTO WA_FTP-FIELD

SEPARATED BY SPACE.

APPEND WA_FTP TO IT_FTP.

CLEAR WA_FTP.

CONCATENATE 'user'

'myusername'

'mypassword'

INTO WA_FTP-FIELD

SEPARATED BY SPACE.

APPEND WA_FTP TO IT_FTP.

CLEAR WA_FTP.

CONCATENATE 'cd'

'/oracle01/oracle/product/iSuites/Apache/Apache/htdocs/etrans/user/upload/'

INTO WA_FTP-FIELD separated by space.

APPEND WA_FTP TO IT_FTP.

CLEAR WA_FTP.

MOVE 'put /usr/sap/trans/mmpp/createnew.txt' TO WA_FTP-FIELD.

APPEND WA_FTP TO IT_FTP.

CLEAR WA_FTP.

MOVE 'close' TO WA_FTP-FIELD.

APPEND WA_FTP TO IT_FTP.

CLEAR WA_FTP.

MOVE 'bye' TO WA_FTP-FIELD.

APPEND WA_FTP TO IT_FTP.

CLEAR WA_FTP.

OPEN DATASET W_FTP_DSN FOR OUTPUT IN TEXT MODE.

LOOP AT IT_FTP INTO WA_FTP.

TRANSFER WA_FTP-FIELD TO W_FTP_DSN.

CLEAR WA_FTP.

ENDLOOP.

CLOSE DATASET W_FTP_DSN.

ENDFORM. " BUILD_FTP_FILE

&----


*& Form TRANSFER_FTP_FILE

&----


  • text

----


FORM TRANSFER_FTP_FILE.

FREE TABL.

CONCATENATE 'ftp -v -n < 'W_FTP_DSN INTO W_PARCOM_LOC.

CALL 'SYSTEM' ID 'COMMAND' FIELD W_PARCOM_LOC

ID 'TAB' FIELD TABL-SYS.

IF W_ERROR_FLAG = '*'.

MESSAGE I036(ZIMM).

ELSEIF W_ERROR_FLAG = 'F' .

MESSAGE I139(ZIMM) WITH W_FNAME.

ELSE.

MESSAGE I038(ZIMM) WITH W_FNAME.

ENDIF.

ENDFORM. " TRANSFER_FTP_FILE

**THE ABOVE GIVEN IS THE CODE I AM WRITING FOR THE FTP TO TRANSFER DATA FROM OUR APLICATION SERVER TO

THE REMOTE UNIX SERVER.

BUT WHEN I DO THE

CALL 'SYSTEM' ID 'COMMAND' FIELD W_PARCOM_LOC

ID 'TAB' FIELD TABL-SYS.

MY SYSTEM GOT HANGED AND GVES NO RESPONSE...

PLEASE HELP ME OUT AS EARLY AS POSSIBLE...

I WILL SURE U THAT U WULL REVERT BACK WITH POINTS...

PLEASE HELP...

ARE THERE ANY AUTHORISATIONS ISSUES..OR I AM DOING SOMETHING WRONG...

Former Member
0 Kudos

Ujjwal,

Are you not using XI server to connect your R/3 and remote UNIX server?

If that is the case, post the question with the code in <b>ABAP forum</b> https://www.sdn.sap.com/irj/sdn/collaboration -->Application Server --> ABAP Programing. You will get the response you need. I thought you were using XI to connect R/3 and UNIX. And this forum is for gaining knowledge in XI part.

Thanks & Regards,

Jai Shankar.

Message was edited by: Jai Shankar

Message was edited by: Jai Shankar