PDA

Ver la Versión Completa : Ftp Sap


Edd_401
19/12/08, 15:35:51
Hola que tal tengo que mandar unos archivos de tipo .XML a un servidor FTP.

El problemas es que no se como hacer, agradeceria su valiosa ayuda con documentacion a acerca de FTP que es, como funciona, etc, etc.

En verdad me ayudarian mucho..

Grax.

edd_401@hotmail.com

DCErick
19/12/08, 16:07:16
Pues casi no he hecho nada para FTP, pero un día para quitarme la duda logré hacerme este programa:


REPORT zsd_deposito_bancarios.

DATA: BEGIN OF outrec,
matnr(15),
maktx(30),
ean11(18),
bismt LIKE mara-bismt,
END OF outrec.

CONSTANTS: user(12) TYPE c VALUE 'opernes',
pwd(20) TYPE c VALUE 'marlsuna'.

DATA: hdl TYPE i,
key TYPE i VALUE 26101957,
dstlen TYPE i,
upc(11) TYPE n.

DATA: BEGIN OF result OCCURS 0,
line(100) TYPE c,
END OF result.

DATA: BEGIN OF commands OCCURS 0,
line(100) TYPE c,
END OF commands.


DATA: wrkfile LIKE rlgrap-filename VALUE '/sapmnt/data/outbound/'.

*PARAMETERS : p_cmd(200) TYPE c.

END-OF-SELECTION.

PERFORM connect_ftp
CHANGING
hdl.

IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.



CALL FUNCTION 'FTP_COMMAND'
EXPORTING
handle = hdl
command = 'ls' "'get 007000001247.txt \\192.16.1.33\Instaladores\007000001247.txt'
TABLES
data = result
EXCEPTIONS
command_error = 1
tcpip_error = 2.

IF sy-subrc = 0.
PERFORM write_result.


ELSE.
PERFORM write_result.
*Cerramos Conección FTP
PERFORM disconnect_ftp.
ENDIF.
ENDIF.

*&--------------------------------------------------------------------*
*& Form Connect_FTP
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->HDL text
*---------------------------------------------------------------------*
FORM connect_ftp CHANGING hdl.
****Nos conentamos a sitio FTP.
CALL 'AB_RFC_X_SCRAMBLE_STRING'
ID 'SOURCE' FIELD pwd ID 'KEY' FIELD key
ID 'SCR' FIELD 'X' ID 'DESTINATION' FIELD pwd
ID 'DSTLEN' FIELD dstlen.


CALL FUNCTION 'FTP_CONNECT'
EXPORTING
user = user
password = pwd
* ACCOUNT =
host = '192.68.1.252'
rfc_destination = 'SAPFTPA'
* GATEWAY_USER =
* GATEWAY_PASSWORD =
* GATEWAY_HOST =
IMPORTING
handle = hdl
EXCEPTIONS
not_connected = 1
OTHERS = 2.

ENDFORM. "Connect_FTP

*&--------------------------------------------------------------------*
*& Form WRITE_RESULT
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM write_result.
LOOP AT result.
WRITE : / result.
ENDLOOP.
PERFORM disconnect_ftp.
ENDFORM. "WRITE_RESULT
*&--------------------------------------------------------------------*
*& Form DISCONNECT_FTP
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM disconnect_ftp.

CALL FUNCTION 'FTP_DISCONNECT'
EXPORTING
handle = hdl.

ENDFORM. " DISCONNECT_FTP