miércoles, julio 07, 2010

Facturación electrónica de exportación Argentina con SAP-ABAP


Si bien, jamás incluí asuntos laborales en este blog, quería resumir el largo "combate" que me toco vivir, para implementar Webservices en SAP, vía certificado.

En el mes de Abril me dediqué a entender la operatoria de los certificados X509, para que servían, como se instalaban en SAP, como configurar un servicio HTTPS, para poder realizar la conexión vía certificado.
Me lo pasé fracasando, sin apoyo de basis, tampoco de SAP. Igualmente no bajé los brazos, seguí profundizando, además, sobre los WSDL, XSL_Tools (para armar los XML de requesisión y de respuesta), los SOAP,  y asi tener una base por lo menos para el servicio HTTP, aunque el webservice  conexión y el uso de todos los Webservices en producción eran vía certificado con HTTPS.
SAP y una consultora me sugirieron hacerlo con XI o vía Aplicación de JAVA. Pero como soy terco seguí investigando hacerlo directamente del ambiente ABAP hacia la AFIP.

Mediante 2 notas, y la bajada de los certificados por un internet explore en las páginas de los WEbservices, e instalando vía tx STRUST resolvimos la conexión. 
El login hacia el Webservice de AFIP, es un programa ABAP que realiza:
* La confección del archivo input, llamado request (XML), (vía Call transformation)
* luego, se utiliza un comando OPENSSL, para convetir el archivo XML en CMS
* Llama al webservice de login, se convierte el XML del archivo response, en datos ABAP
* y se guarda el token y el sign en Objetos de texto.

Después se realizó:
* User exit para el bloqueo de documentos
* Cada Webservice sería una función a ser llamada por un reporte ABAP de estados de billings.
* En definitiva, se juntaron en un solo programa Z los programas standars J_1ACAE y J_1AANIV. Realizando la llamada al webservice FEXAuthorize, teniendo en cuenta la conversión de datos en SAP a tablas de AFIP (países, cuit de país, unidad de medida y moneda)


El programa Z actualiza:
* La tabla J_1ACAE (que contiene el número de CAE y su fecha de vencimiento)
* Las tablas VBRK o BKPF (depende si es documento de venta o documento financiero)
* Desbloqueo del billing y la contabilización del mismo.

El primero de julio de 2010 fue registrada la primer factura de exportación exitosamente, vía este sistema.

6 comentarios:

Anónimo dijo...

Percho, ¿por favor me podrías dar más información de como creaste el CMS desde ABAP?

Llamaste el ejecutable del openssl o usaste las librerías de SAP para encriptar.

Muchas gracias!!
Mariano.

Percho dijo...

Llamé el CMS desde ABAP
Saludos

Anónimo dijo...

Muchas gracias por la pronta respuesta.
Estoy haciendo una solución en ABAP y todas las soluciones propuestas son con un componente externo.

Para evitar eso, estoy llamando al openssl.exe que está en el servidor mediante un comando creado en la SM59. Realmente no me gusta la idea pero aún no encontré forma de hacerlo con las funciones de SSF. ¿Vos lo pudiste hacer con las funciones?

Gracias, saludos.
Mariano.

Anónimo dijo...

Pordria especificar como hiciste la conexion desde abap al webservice tenes la doc. tecnica o funcional? cris.eze@hotmail.com es mi correo gracias

Percho dijo...
Este comentario ha sido eliminado por el autor.
Anónimo dijo...

Ja me paso lo mismo y lo resolví muy similar a vos, implementamos la Fac Electrónica Nacional y de Exportación.También aplicamos una buena lista de Notas OSS que solucionaron algunos de los problemas del XML y de allí viento en popa.

calanis

Saludos