|
#1
|
|||
|
|||
Hola compañero, entonces algo estás haciendo mal.
Manda el código como lo estás haciendo la conexión en ABAP......... Otra cosa que se puede hacer, nosotros lo tenemos con algún cliente o proveedor es en un servidor Windows tenemos compartidas una carpeta en dropbox, el proveedor o cliente nos pones el fichero que sea y nosotros tenemos compartida esa carpeta con NFS con el servidor de aplicación de SAP y luego tenemos un procesos que se pasa cada "X" tiempo en un job y lee el fichero hacemos con los datos lo que haga falta, pedidos, estadísticas, etc y luego lo borras o lo mueves a otros directorio. Según el cliente hay que hacer unas cosas o otras..... Sino manda el código y lo miramos........ Salu2. |
#2
|
|||
|
|||
Importar archivo XML desde servidor externo a SAP
Hola Compañero, de antemano muchas gracias por la ayuda, acá te comparto el código
DATA : hdl TYPE i. DATA : v_dstlen TYPE i, x_pwd(64) TYPE c. DATA: v_cmd(80) TYPE c. DATA: v_path LIKE sxpgcolist-parameters. DATA: v_file LIKE rlgrap-filename. DATA: v_error(1) TYPE c. DATA: i_messages LIKE soli OCCURS 0 WITH HEADER LINE. DATA: BEGIN OF it_result OCCURS 0, line(100) TYPE c. DATA: END OF it_result. DATA: key TYPE i VALUE 26101957. CONSTANTS: v_host(64) TYPE c VALUE '200.63.217.106'. CONSTANTS: v_user(64) TYPE c VALUE '#######'. CONSTANTS: v_pwd(64) TYPE c VALUE '#######'. START-OF-SELECTION. v_path = '/BACKUPS/RET_20140923_0004/'. v_file = 'RET_20140923_0004.txt'. PERFORM ftp_to_obe. LOOP AT i_messages. WRITE :/ i_messages-line. ENDLOOP. *************************** * FTP CONNECTION *************************** FORM ftp_to_obe. CLEAR: v_dstlen, x_pwd. DESCRIBE FIELD v_pwd LENGTH v_dstlen IN CHARACTER MODE. *.Se encripta la contraseña CALL 'AB_RFC_X_SCRAMBLE_STRING' ID 'SOURCE' FIELD v_pwd ID 'KEY' FIELD key ID 'SCR' FIELD 'X' ID 'DESTINATION' FIELD x_pwd ID 'DSTLEN' FIELD v_dstlen. CALL FUNCTION 'FTP_CONNECT' EXPORTING user = v_user password = x_pwd host = v_host rfc_destination = 'SAPFTP' " create using report program RSFTP002 IMPORTING handle = hdl EXCEPTIONS not_connected = 1 OTHERS = 2. WRITE : / ' sy-subrc ' , sy-subrc. WRITE : / 'hdl' , hdl. IF sy-subrc = 0. CLEAR v_cmd. CONCATENATE 'lcd' v_path INTO v_cmd SEPARATED BY space. PERFORM ftp_command USING v_cmd. CLEAR v_cmd. CONCATENATE 'put' v_file INTO v_cmd SEPARATED BY space. PERFORM ftp_command USING v_cmd. ELSE. v_error = 'X'. CONCATENATE 'Not connected to ftp: world finest ' 'user:' INTO i_messages SEPARATED BY space. APPEND i_messages. CLEAR i_messages. ENDIF. ENDFORM. " FTP_TO_OBE *************************** * FTP COMMAND *************************** FORM ftp_command USING v_cmd. CLEAR it_result. REFRESH it_result. CALL FUNCTION 'FTP_COMMAND' EXPORTING handle = hdl command = v_cmd TABLES data = it_result EXCEPTIONS tcpip_error = 1 command_error = 2 data_error = 3 OTHERS = 4. IF sy-subrc = 0. CONCATENATE 'FTP command:' 'executed on host:' INTO i_messages SEPARATED BY space. APPEND i_messages. CLEAR i_messages. LOOP AT it_result. i_messages = it_result. APPEND i_messages. CLEAR i_messages. ENDLOOP. CLEAR it_result. REFRESH it_result. ELSE. v_error = 'X'. CONCATENATE 'Command:' 'not run for host:' INTO i_messages SEPARATED BY space. APPEND i_messages. CLEAR i_messages. ENDIF. ENDFORM. " FTP_COMMAND |
#3
|
|||
|
|||
Lo primero de todo prueba que te hace la conexión desde SAP, te da algún mensaje de error o algo ?????
Pruebo con esto para ver si te hace conexión... data: ftp_user(64), "VALUE 'clones', "Case sensitive ftp_pwd(64), "VALUE '2133', "Case Sensitive ftp_host(50), "VALUE '192.xxx.xxx.xxx', "I.P. FTP server rfc_dest like rscat-rfcdest value 'SAPFTPA', hdl type i, key type i value 26101957, dstlen type i, cmd(255), ftp_file type string, slen type i. move: tserv-usuario to ftp_user, tserv-password to ftp_pwd, tserv-ip to ftp_host. describe field ftp_pwd length dstlen in character mode. "Añadido IN CHARACTER MODE POR EL TEMA DE UNICODE ALFONSO PEREZ 30/06/2014 slen = strlen( ftp_pwd ). * conectamos. call function 'HTTP_SCRAMBLE' exporting source = ftp_pwd sourcelen = slen key = key importing destination = ftp_pwd. ***Connect to FTP call function 'FTP_CONNECT' exporting user = ftp_user password = ftp_pwd host = ftp_host rfc_destination = rfc_dest importing handle = hdl exceptions not_connected = 1 others = 2. if sy-subrc ne 0. write:/ 'COULD NOT CONNECT TO', ftp_host. g_flag_conexion = 'FALSE'. else. write:/ 'Conexión(OK): ', ftp_host. g_flag_conexion = 'TRUE'. move ftp_host to g_errores-line. append g_errores. endif. Ya me dirás que pasa........... Salu2. |
#4
|
|||
|
|||
Importar archivo XML desde servidor externo a SAP
Mil Gracias Coloso, ya me funcionó, ahora ando buscando como proceder con lo archivos xml que están en el servidor ftp externo.
El archivo XML se carga en memoria y se mete en una tabla interna o se trae al ERP en un directorio? He estado ensayando con FTP_SERVER_TO_R3 no se si necesito la FTP_COMMAND o debo usar otra función? por que no me ha funcionado Agradezco tu atención. |
#5
|
|||
|
|||
Mira si te vale con esto, después de hacer la conexión tendrás que usar la función FTP_SERVER_TO_R3.
Salu2. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|