Preguntas frecuentes sobre TFORMer SDK
¿Cómo puedo interconectar SAP con TFORMer?
¿Cómo puedo interconectar SAP con TFORMer?
Para la interconexión con SAP® tiene tres opciones (todas requieren algo de programación ABAP):
TFORMer TFPrint
TFPrint es una utilidad de línea de comandos que crea un trabajo de impresión a partir de plantillas TFORMer. Se llama a TFPrint desde SAP y se pasan el nombre del archivo de plantilla, el nombre del archivo de datos CSV o XML y la impresora de destino en los argumentos de línea de comandos.
tfprint -F "C:\Templates\LogisticLabel.tff" -D "C:\JobData\20220927_ID1022.csv" -DT TEXT –DO SC; -O MyPrinterName -OT WIN32En ABAP puede usar FM SXPG_COMMAND_EXECUTE y los comandos mantenidos en la transacción SM69 para ejecutar cualquier script externo. Si desea un registro para la resolución de problemas, podría redirigir la salida estándar/error estándar de TFPrint a un archivo de estado (con marca de tiempo e ID de trabajo). Si desea procesar mensajes de estado/error en SAP, podría volver a leer el archivo de estado después de imprimir.
Si desea aislar/desconectar el proceso de impresión del servidor de aplicaciones, puede ejecutar TFPrint en otro servidor (servidor de impresión) mediante ejecución remota de shell.
- Invoke-Command: Running Remote Commands - PowerShell | Microsoft Learn
- PSExec: PsExec - Windows Sysinternals | Microsoft Learn
Recomendamos encapsular todo el proceso de impresión en un script de PowerShell o CMD; este script puede después llamarse desde cualquier lugar. Los datos pueden pasarse y/o las plantillas pueden actualizarse mediante una carpeta compartida; un script de limpieza programado puede eliminar los archivos de trabajo y de estado antiguos (tras nn días).
- TFPrint forma parte de TFORMer SDK y usa una licencia de SDK.
- Para crear las plantillas de etiquetas/informes necesita una licencia de TFORMer Designer.
- El esfuerzo de programación ABAP es bajo. La ejecución remota de shell necesita una configuración de seguridad adecuada.
Servicio web de TFORMer
Bajo petición, ofrecemos un servicio web basado en WCF que proporciona la API de TFORMer en un formato compatible con SOAP (WSDL). Puede imprimir en todas las impresoras disponibles en el servidor (o de forma remota) o simplemente crear un PDF que se devuelve al llamador (matriz de bytes).
Las plantillas de etiquetas se almacenan en un directorio específico del servidor (App_Data); solo los datos de la etiqueta se envían en la solicitud SOAP. Las plantillas se pueden actualizar externamente compartiendo la carpeta de plantillas o usando una herramienta de sincronización de archivos, que distribuye las plantillas desde una carpeta central o repositorio maestro. La respuesta SOAP proporciona información completa del error, que puede gestionarse en ABAP o simplemente almacenarse en un registro para la resolución de problemas.
Entregamos el servicio como código fuente y como paquete de implementación web precompilado. Puede alojar el servicio en su propia infraestructura (servidor Windows/IIS).
- En la versión estándar no hay mecanismo de inicio de sesión, pero el código fuente (.NET C#) se puede ampliar libremente. Para usuarios externos, solo debería permitir https y usar listas blancas de IP (función de IIS).
Para acceder al servicio web desde SAP ABAP, es posible que desee crear un proxy y un consumidor de servicio; aquí tiene un tutorial/guía:
- Consume SOAP Based Web Services with SAP BTP, ABAP Environment | Tutorials for SAP Developers
- Generating Proxies | SAP Help Portal
- How to configure a Service Consumer - ABAP Connectivity - Support Wiki (sap.com)
Tras la instalación, el WSDL se puede obtener desde la siguiente URL
http://yourhostname/yourinstallationpath/TFORMer.asmx?WSDL
No disponemos de un ejemplo en ABAP para consumir (llamar) el servicio web, pero la aplicación de prueba incluida (código fuente C# .NET) muestra cómo rellenar los parámetros de la solicitud. También se puede usar para probar la disponibilidad/funcionalidad del servicio web.
- El servicio web se basa en TFORMer SDK y usa una licencia de SDK.
- Para crear las plantillas de etiquetas/informes necesita una licencia de TFORMer Designer.
- El esfuerzo de programación ABAP es algo mayor: necesita integrar las llamadas al servicio web SOAP (clase proxy). Una vez configurado el servicio web, la solución debería funcionar sin problemas.
TFORMer Server
TFORMer Server proporciona impresión automática de etiquetas mediante la supervisión de directorios específicos (configurables) en busca de nuevos archivos de trabajo. Los archivos de trabajo están en un formato de texto propietario o en formato XML y contienen la plantilla que se debe usar, el nombre de la impresora de destino y los pares nombre-valor (registros) para los campos de datos. Las plantillas se organizan en un repositorio, que se lee desde una carpeta local o compartida (externa). Si supervisar un directorio no resulta adecuado, también puede enviar trabajos mediante una interfaz telnet o una consulta ODBC periódica.
El servidor mantiene "colas", donde se ven los archivos de trabajo por impresora. Puede reimprimir trabajos seleccionados de una cola o detener y reanudar una cola. Una vez importado el archivo de trabajo, los trabajos se mantienen en el servidor y se gestionan mediante una interfaz de navegador o una aplicación dedicada de "Spool Admin". De forma predeterminada, no hay respuesta de estado hacia SAP, excepto con la interfaz telnet/ODBC. Unicode es compatible mediante archivos XML; el resto de canales usan ANSI ASCII o Latin-1.
Póngase en contacto con nosotros para obtener la versión de demostración y los manuales de instalación y de usuario.
- TFORMer Server usa su propia licencia, que es por impresora/sitio.
- Para crear las plantillas de etiquetas/informes necesita una licencia de TFORMer Designer.
- Mientras se limite a escribir el archivo de datos, el esfuerzo de programación ABAP es manejable. Por otro lado, esta solución requiere más conocimientos (configuración de seguridad, cómo gestionar códigos de error específicos, etc.) y más formación de usuarios.