Ftp Sap

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Edd_401
    Senior Member
    • may
    • 119

    #1

    Ftp Sap

    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
    Sapero prodigio ! ! !
  • DCErick
    Moderator
    • mar
    • 1090

    #2
    Pues casi no he hecho nada para FTP, pero un día para quitarme la duda logré hacerme este programa:

    Código:
    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
    -------------------
    ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?

    Comentario

    Trabajando...