Etiquetas

20150703

ABAP Tips: ALV vía Submit to Spool

Problema: Al ejecutar un reporte vía SUBMIT TO SPOOL el cual imprime un ALV, éste no se imprime en la salida, por ser ejecutado vía Job de Fondo (Batch). Esto se soluciona con la función GET_PRINT_PARAMETERS, como se ve en el siguiente ejemplo:


IF sy-batch = 'X'.
   CLEAR print_parameters.
   report = sy-repid.

   CALL FUNCTION 'GET_PRINT_PARAMETERS'
     EXPORTING
       report               = report
       archive_mode         = '1'
       mode                 = 'BATCH'
       no_dialog            = 'X'
     IMPORTING
       out_parameters       = print_parameters
       valid                = valid_flag
     EXCEPTIONS
       invalid_print_params = 2
       OTHERS               = 4.

   IF valid_flag = 'X' AND sy-subrc = 0.
     SUBMIT zhr_rpuaud00
*     WITH SELECTION-TABLE gt_rspar
     TO SAP-SPOOL
     SPOOL PARAMETERS print_parameters.
   ENDIF.
 ELSE.
   SUBMIT zhr_rpuaud00
*   WITH SELECTION-TABLE gt_rspar
   AND RETURN.
 ENDIF.