Extensibilidad impresión de formulario estandar
Existe un punto de ampliación /TBAI/ES_BADI_PRINT_PDF, que contiene una sola BADI /TBAI/BADI_PRINT_PDF → Punto de ampliación para imprimir usando el Job Estandar.
Esta BADI permite la ejecución del JOB estándar de impresión de facturación, similar a ejecutar la aplicación ‘Programar salida de facturación’.
La BADI incluye una clase que ejemplifica una posible implementación:
En el ejemplo se lee el documento financiero asociado al JournalEntry y se lanza el job para imprimir solo por la cola de impresión, siempre y cuando el documento no tenga ya un proceso de impresión ejecutado (iv_repeat = abap_false) . La API de impresión tiene los siguientes parámetros:
iv_job_name | Nombre del job a ejecutar. Por defecto: 'BILLING_DOCUMENTS_OUTPUT_RUN'.
iv_job_text | Descripción del job. Opcional.
iv_job_userid | Usuario responsable del job. Por defecto: usuario actual (sy-uname).
it_mode | Modo de salida del job (Canal). Valores posibles: 'PRINT', 'EMAIL', 'IDOC', 'XML', 'EDI.
iv_repeat | Flag para repetir la impresión, si no se marca y el documento ya tiene una impresión, no se vuelve a imprimir.
itr_vbeln | Rangos con los números de documentos financieros a procesar.
Algunos clientes tienen configurada una orden de impresión programada automáticamente en el documento financiero. En estos casos, y de manera general, es obligatorio que el usuario especificado en iv_job_userid
sea el mismo que creó la orden de impresión, que suele ser el que creó el documento financiero.
La clase /TBAI/CL_API_JOB_IMPRESION utiliza el servicio estándar de programación de jobs External Scheduler - Application Job Scheduling Integration SAP Business Accelerator Hub, por lo que para que funcione se deben implementar 2 acuerdos de comunicación, uno que enviará la petición y otro que la recibirá en el sistema.
External Scheduler - Application Job Scheduling Integration (SAP_COM_0064).
Este acuerdo debe tener como sistema de comunicaciones el sistema local y debe tener configurado un usuario de comunicaciones de entrada.
También tienen que completarse las propiedades adicionales, son texto libre pero recomendamos los valores que aparecen en la siguiente imagen:
API Job Impresión - (/TBAI/CS_JOB_IMPRESION)
Este acuerdo debe tener como sistema de comunicaciones el sistema local y debe tener configurado el mismo usuario de salida que configuramos en el escenario anterior como usuario de entrada.
Ambos acuerdos deben estar implementados para el sistema local y usando el mismo usuario de comunicaciones, cuando ambos estén correctamente implementados se puede verificar su conexión desde el acuerdo de comunicaciones.
Avvale 2024