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.
La clase /TBAI/CL_API_JOB_IMPRESION utiliza el servicio estandar de programación de jobs External Scheduler - Application Job Scheduling Integration https://api.sap.com/api/BC_EXT_APPJOB_MANAGEMENT/resource, 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)
API Job Impresión - (/TBAI/CS_JOB_IMPRESION)
Ambos acuerdos deben estar implementados para el sistema local y usando el mismo usuario de comunicaciones.