SQL Server administration and T-SQL development, Web Programming with ASP.NET and Javascript, SAP Smartforms and ABAP Programming, Windows 7, Visual Studio and MS Office software Kodyaz Development Resources
Development resources, articles, tutorials, samples, codes and tools for .Net, SQL Server, Vista, etc.




Win FREE BOOK
from Kodyaz



CRM Companies List
Web Based CRM Software



Request Single Spool Record for SmartForms Call within an ABAP Loop using output_options tdnewid


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





Unique Spool Reqests for all SmartForms Call with in a Loop

Generally, the case is just the opposite. I mean ABAP developers do not request for a huge number of spool requests.
Working with a lot of spool requests makes tasks more difficult. So it is easier to work with a single spool request for a SAP Smartform output task.

The solution is setting the approtiate values for the control_parameters no_dialog parameter and for output_options tdnewid option.
Actually setting the output_options 's tdnewid property to 'X' value for the first print spool request and then setting the output_options 's tdnewid to ' ' or space for the following print / spool requests will solve the problem.
In such a case there will be only one spool request created for the all print requests created within the ABAP loop by calling the SAP Smartform.
Here below, you can find the ABAP code example for single spool request creation.

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_params TYPE SSFCTRLOP,
  gs_output_options TYPE SSFCOMPOP.

gs_control_params-no_dialog = '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.
IF i = 5.
  gs_output_options-tdnewid = 'X'.
ELSE.
  gs_output_options-tdnewid = space.
ENDIF.

CALL FUNCTION fm_name
  EXPORTING
    control_parameters = gs_control_params
    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.

create single spool request for all SAP Smartforms calls in a loop

If you do not set the control_parameters no_dialog to 'X', then the SAP print dialog screen will be displayed for each SAP Smartforms call request.
Note that on the first print SAP dialog screen, "New spool request" checkbox is checked causing a new print spool request to open.
On the other hand on the following print dialog screens, the "New spool request" checkbox is cleared. So all these print requests will be in the same spool request as desired.
Please note that you will not want to click on the print buttons for more than you can stand, if your loop has a large number of iterations.

first spool request with output_options tdnewid x

following spool requests with output_options tdnewid cleared







SAP Resources

SAP Tutorial

SAP Forums

SAP Tools

SAP Transaction Codes Table














Recent and Top SAP Tutorial and ABAP Tutorials

Change Output Condition Records
Web Dynpro Text Translation using Assistance Class
Move Minus Sign from Right to Left of Negative Number in SAP Smartform
Read Address Data using FM ADDR_GET instead of Querying ADRC Table
Add Value Help to Web Dynpro Select Options
Add Web Dynpro Applications to SAP Favorites Menu
Component Usage ALV Does Not Have an Active Component
Web Dynpro Component Service Syntax Error in Program /1BCWDY/O3EC1AX6A3OVKK9L5FXO==CP
Web DynPro Tutorial - Display Spool Requests using Web DynPro Table
Web DynPro Tutorial - How to create Web Dynpro Application (Web Dynpro Component)
Display Data on Web DynPro Table Element
Test Web Dynpro ABAP Component by Creating Web Dynpro Application
Graphics White Background Displayed Grey on SAP Smartform Output
Get SAP Document Flow using SD_DOCUMENT_FLOW_GET ABAP Function Module
How to Spell Numbers using ABAP Spell_Amount Function Module
How to Transport SAP Graphics using SE78 Transaction
How to Delete Standard Text using SO10 SAP Transaction
Dynamic Programming using Field Symbols in ABAP Reports
How to Disable Word Editor in SAP Smartform Text
How to Debug Popup Screen in ABAP
TVAP Item Category and SAP Table TVAPT for Text Translations
ABAP Runtime Error ST22 Transaction using Short Dump Analysis
Create Transport Request for Text Translations using RS_LXE_RECORD_TORDER
SAP Invoice Output Determination Analysis for Not Created Output Message
Set Default Single Values List for SAP Selection Screen Parameter
SAP Payment Terms Table and ZTERM Texts Table for ABAP Developers
How to Create SAPScript Text using SO10 Transaction Code
SAP Smartforms Tutorial - Table Calculations using Sum Total
SAP Smartforms Tutorial - Table Calculations using Count
SAP Smartforms Tutorial - How to Create Smartform
SAP NetWeaver Installation Guide using installshield wizard
SAP Smartforms Table for Sales Order and Invoice Outputs
Email Spool Request using SAPOffice - Spool to PDF
How to Display SAP Graphics using SE78 Transaction Code
SAPScript Transaction Codes
ABAP Tutorial - ABAP String Split Example Code
Sales Tables among ABAP Tables (SAP Sales and Distribution SD Tables)
How to Upload Data to SAP from Excel File using alsm_excel_to_internal_table Function Module
ALV Grid Color - Table Row Background Color in ALV List
Multi Color ALV Grid Color Alternate using ALV Layout info_fname Property
How to Debug SmartForms - Debugging SAP SmartForm in ABAP ?
ABAP - Create Hierarchy Tree List using rs_tree_construct, rs_tree_list_display and snodetext
Create CL_GUI_ALV_GRID ALV Grid Column Header using ABAP Data Element
ABAP Tutorial - SAP Split and ABAP Split String Function
Upload Data from Excel File in ABAP using TEXT_CONVERT_XLS_TO_SAP
SAP Tutorial - Convert Spool Request to PDF File using RSTXPDFT4 ABAP Report
SAP ABAP Tutorial - ALV Grid Example with cl_gui_alv_grid and Screen Painter
SAP Smartforms Tutorial - Create Smartforms Example
SAP Smartforms - How to Call Smartform within ABAP Program
Complete List of SAP Modules






Copyright © 2004 - 2011 Eralper Yilmaz. All rights reserved.
Community Server, by Telligent Systems