#1
|
|||
|
|||
Importar archivo XML desde servidor externo a SAP
Cordial saludo,
Quería pedirles el favor de ayudarme informándome como importar uno o varios archivos xml que están en un servidor Windows Server externo al de SAP que está en Unix. No tienen la herramienta PI por lo que se descarta esta opción. Cualquier información que me puedan compartir sería de gran ayuda. Hasta pronto! |
#2
|
|||
|
|||
hola
Yo usaria Idocs. Hay varios manuales dando vuelta.
__________________
Sebas Desarrollador ABAP. |
#3
|
|||
|
|||
También tienes otra solución, compartir por NFS la carpeta de Windows con el servidor de aplicación de SAP y luego tú ya te lo lees desde un programa de SAP.
Salu2. |
#4
|
|||
|
|||
Importar archivo XML desde servidor externo a SAP
Se me olvidaba especificar que el servidor externo que contiene los archivos XML es SFTP
|
#5
|
|||
|
|||
Hola compañero, entonces usa los comandos que tiene SAP para conexión por FTP...
Busca por internet información sobre estas funciones: HTTP_SCRAMBLE FTP_CONNECT FTP_COMMAND FTP_DISCONNECT Salu2. |
#6
|
|||
|
|||
Importar archivo XML dse servidor externo a Sap
Gracias por responder,
estuve analizando la función FTP_CONNET con los datos del servidor y no se conecta, los datos son correctos por que usando filezilla si se conecta bien. No se si hay que registrar el servidor en alguna tabla de Sap? gracias por su atención y quedo atento. Saludos! Úlima edición por julk32 fecha: 04/03/15 a las 12:40:51. |
#7
|
|||
|
|||
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. |
#8
|
|||
|
|||
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 |
#9
|
|||
|
|||
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. |
#10
|
|||
|
|||
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. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|