lunes, 24 de marzo de 2014

Visualizar formulario sin cuadro de diálogo (SAP - ABAP - SMARTFORMS)

      La siguiente parametrización permite la visualización previa de un formulario sin cuadro de diálogo:

ls_control_param-no_dialog  = abap_on.  " SIN VENTANA DIALOGO
ls_control_param-preview    = abap_on.  " CON VISUALIZAC.PREVIA
ls_control_param-device     = 'PRINTER'.
ls_output_options-tddest    = 'LCL'.    " DISPOSITIVO DE SALIDA
ls_output_options-tdnoprint = abap_off. " IMPRIMIR
ls_output_options-tdarmod   = '1'.      " SOLO IMPRIMIR 

      
CALL FUNCTION lv_fm_name
        
EXPORTING
*         ARCHIVE_INDEX        =
*         ARCHIVE_INDEX_TAB    =
*         ARCHIVE_PARAMETERS   =

          control_parameters   
= ls_control_parameters
*         MAIL_APPL_OBJ        =
*         MAIL_RECIPIENT       =
*         MAIL_SENDER          =

          output_options       
= ls_output_options
          user_settings        
= abap_off
          is_xekko             
= p_s_xekko
          is_xpekko            
= p_s_xpekko
*        IMPORTING
*         DOCUMENT_OUTPUT_INFO =
*          job_output_info      = ls_job_output_info
*         JOB_OUTPUT_OPTIONS   =

        
TABLES
          it_xekpa             
= p_t_xekpa[]
          it_xekpo             
= p_t_xekpo[]
          it_xpekpo            
= p_t_xpekpo[]
          it_xeket             
= p_t_xeket[]
          it_xekkn             
= p_t_xekkn[]
          it_xekek             
= p_t_xekek[]

          it_xekeh             = p_t_xekeh[]
          it_xtkomv            
= p_t_xtkomv[]
          it_detocn            
= p_t_detcon[]
          it_serv              
= p_t_detser[]
        
EXCEPTIONS
          formatting_error     
= 1
          internal_error       
= 2
          send_error           
= 3
          user_canceled        
= 4
          
OTHERS               = 5.

Imprimir SMARTFORMS solo en SPOOL (SAP - ABAP - SMARTFORMS)

      Esta parametrización permite imprimir un formulario directamente al SPOOL sin opción a previsualización:

ls_composer_param-tdnoprev  = abap_on.  " SIN VISUALIZ. PREVIA
ls_composer_param
-tdnoprint = abap_off. " NO IMPRIMIR
ls_composer_param
-tdnoarch  = abap_off. " NO ARCHIVAR
ls_composer_param
-tddest    = 'LOCAL'.  " DISPOSITIVO DE SALIDA
ls_composer_param
-tdimmed   = abap_off. " SIN SALIDA INMEDIATA
ls_composer_param
-tddelete  = abap_off. " NO BORRAR TRAS SALIDA
ls_composer_param
-tdnewid   = abap_on.  " NUEVA ORDEN SPOOL
ls_composer_param
-tdfinal   = abap_on.  " CERRAR ORDEN DE SPOOL
ls_composer_param
-tdarmod   = '1'.      " SOLO IMPRIMIR
ls_composer_param
-tdcopies  = '001'.    " CANTIDAD DE COPIAS

ls_control_param
-no_dialog  = abap_on.  " SIN VENTANA DIALOGO
ls_control_param
-preview    = abap_off. " SIN VISUALIZ. PREVIA
ls_control_param
-device     = 'PRINTER'." DISPOSITIVO


      
CALL FUNCTION lv_fname
        
EXPORTING
*         archive_index      = toa_dara
*         archive_parameters = arc_params

          control_parameters 
= ls_control_param
          output_options     
= ls_composer_param
          user_settings      
= abap_off
          p_gjahr            
= p_gjahr
        
TABLES
          gt_cabecera        
= gt_head[]
          gt_detalle         
= gt_detail[]
        
EXCEPTIONS
          formatting_error   
= 1
          internal_error     
= 2
          send_error         
= 3
          user_canceled      
= 4
          
OTHERS             = 5.

      
IF sy-subrc <> 0.
        
MESSAGE e006(zcfcl_fi_0003).
      
ENDIF.