Smartforms SpoolId(转)

转自:http://www.kodyaz.com/articles/sap-smartforms-output-in-single-spool-request-using-output_options-tdnewid.aspx

While SmartForms calls, ABAP developers can set single spool request or a spool request for each SAP Smartform call using the output-options tdnewid.

Distinct Spool Reqests for each SmartForms Call

The following ABAP code calls the same SAP Smartforms report within a loop.
You can call SAP Smartform with different parameters each time according to your Smart Form requirements.
Within the ABAP loop we call Smartform report using CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' and CALL FUNCTION fm_name methods.
Note that the Smartform control_parameters and output_options are determined prior ABAP loop and Smartforms call methods as follows:
gs_control_parameters-no_dialog = 'X'.
Setting no_dialog field Smarforms control_parameters to 'X' means that no dialog screen will be displayed to the user.
gs_output_options-tdnewid = 'X'.
Setting tdnewid option of SAP Smartforms output_options to 'X' means that the print will request for a new print spool id.
So calling SAP Smartform report each time with the above settings and output options will create a new spool entry for each Smartform call.

REPORT Z_CALL_SMARTFORM.

DATA :
  fm_name TYPE rs38l_fnam,
  it_vbak TYPE TABLE OF vbak.

SELECT * FROM vbak into TABLE it_vbak
  WHERE vbeln GE '0100000004'
  AND vbeln LE '0100000010'.

DATA :
  gs_control_parameters TYPE SSFCTRLOP,
  gs_output_options TYPE SSFCOMPOP.

gs_control_parameters-no_dialog = 'X'.
gs_output_options-tdnewid = 'X'.

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
  EXPORTING
    formname = 'ZSMARTFORMS_SALES_DOCUMENTS3'
  IMPORTING
    FM_NAME = fm_name
  EXCEPTIONS
    NO_FORM = 1
    NO_FUNCTION_MODULE = 2
    OTHERS = 3.

DATA : i TYPE i VALUE 5.

WHILE i > 0.

CALL FUNCTION fm_name
  EXPORTING
    control_parameters = gs_control_parameters
    output_options = gs_output_options
  TABLES
    it_vbak = it_vbak
  EXCEPTIONS
    FORMATTING_ERROR = 1
    INTERNAL_ERROR = 2
    SEND_ERROR = 3
    USER_CANCELED = 4
    OTHERS = 5.

i = i - 1.
ENDWHILE.

As you can see in the below screenshot of the SAP SP01 screen, there are 5 spool reuests displayed for 5 SAP Smartform calls from sample ABAP code.

create distinct spool for each output and each smartform call

原文地址:https://www.cnblogs.com/lnu2471/p/3600825.html