<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Background Processing Option in Report in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/background-processing-option-in-report/m-p/3130704#M743706</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;1) Read help on the ABAP statement SUBMIT&lt;/P&gt;&lt;P&gt;2) Examine JOB_OPEN and JOB_CLOSE function modules by issuing a where-used command and finding out how to use these FMs.&lt;/P&gt;&lt;P&gt;3) Within your program, watch for the new checkbox. If it is checked, SUBMIT the same again in background and exit the program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You have to build your own logic to determine if the program is running in dialog mode or background mode and behave differently if the checkbox is checked. Make sure that the program doesn't go in a never ending recursive loop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
  call function 'JOB_OPEN' ...
  submit ...
  call function 'JOB_CLOSE' ...
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 04 Dec 2007 16:43:49 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-12-04T16:43:49Z</dc:date>
    <item>
      <title>Background Processing Option in Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/background-processing-option-in-report/m-p/3130701#M743703</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Fellow Abapers,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to edit a report whereby there is an option to display further fields. Now if they select this option, the report NEEDS to run in the background and output to the file. This will later be retrieved byt the SAP Output Controller (Which there is already a program). It is a must. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does anybody have any links, codes, tips? Helpful posters will be awarded.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Dec 2007 16:08:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/background-processing-option-in-report/m-p/3130701#M743703</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-04T16:08:19Z</dc:date>
    </item>
    <item>
      <title>Re: Background Processing Option in Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/background-processing-option-in-report/m-p/3130702#M743704</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Use submit report when the user select Displ. further filelds, then it will run in backgorund and it will create a spool, so you can see it in SP01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pavan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Dec 2007 16:13:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/background-processing-option-in-report/m-p/3130702#M743704</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-04T16:13:25Z</dc:date>
    </item>
    <item>
      <title>Re: Background Processing Option in Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/background-processing-option-in-report/m-p/3130703#M743705</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok - but I don't know how to submit the report to the spool. Can you explain please?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Dec 2007 16:17:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/background-processing-option-in-report/m-p/3130703#M743705</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-04T16:17:50Z</dc:date>
    </item>
    <item>
      <title>Re: Background Processing Option in Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/background-processing-option-in-report/m-p/3130704#M743706</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;1) Read help on the ABAP statement SUBMIT&lt;/P&gt;&lt;P&gt;2) Examine JOB_OPEN and JOB_CLOSE function modules by issuing a where-used command and finding out how to use these FMs.&lt;/P&gt;&lt;P&gt;3) Within your program, watch for the new checkbox. If it is checked, SUBMIT the same again in background and exit the program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You have to build your own logic to determine if the program is running in dialog mode or background mode and behave differently if the checkbox is checked. Make sure that the program doesn't go in a never ending recursive loop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
  call function 'JOB_OPEN' ...
  submit ...
  call function 'JOB_CLOSE' ...
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Dec 2007 16:43:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/background-processing-option-in-report/m-p/3130704#M743706</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-04T16:43:49Z</dc:date>
    </item>
    <item>
      <title>Re: Background Processing Option in Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/background-processing-option-in-report/m-p/3130705#M743707</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can run your program from SE38, from program menu -&amp;gt; choose Execute in Background. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To make some decisions you can use the following code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-batch is initial. &lt;/P&gt;&lt;P&gt;Process for foreground. &lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;process for background.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Baburaj&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Dec 2007 17:50:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/background-processing-option-in-report/m-p/3130705#M743707</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-04T17:50:24Z</dc:date>
    </item>
    <item>
      <title>Re: Background Processing Option in Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/background-processing-option-in-report/m-p/3130706#M743708</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi You can do that programatically, no need to say execute it in background from se38. Make sure you are not using file download but use open dataset. here is the sample program. Just copy and paste this in test program and check it. hope this will be helpfull. this report reads only materials for plant and there is an option on the selection screen to print or email or you can write it to spool. ofcourse it does automatically and then you can retrieve or print from SP01 but in your case you have to write to application server.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ysam_test5 MESSAGE-ID zsummit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: marc TYPE marc.&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_marc,&lt;/P&gt;&lt;P&gt;       matnr TYPE matnr,&lt;/P&gt;&lt;P&gt;       werks TYPE werks_d,&lt;/P&gt;&lt;P&gt;       mmsta TYPE mmsta,&lt;/P&gt;&lt;P&gt;       maabc TYPE maabc,&lt;/P&gt;&lt;P&gt;       END OF t_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_marc TYPE TABLE OF t_marc,&lt;/P&gt;&lt;P&gt;      wa_marc TYPE t_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA  : gr_table   TYPE REF TO cl_salv_table.&lt;/P&gt;&lt;P&gt;DATA  : gr_functions TYPE REF TO cl_salv_functions_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*fields used for variant create&lt;/P&gt;&lt;P&gt;DATA: wa_var_desc         TYPE varid,&lt;/P&gt;&lt;P&gt;      it_var_contents     TYPE TABLE OF rsparams,&lt;/P&gt;&lt;P&gt;      it_var_text         TYPE TABLE OF varit,&lt;/P&gt;&lt;P&gt;      wa_var_text         TYPE varit,&lt;/P&gt;&lt;P&gt;      w_var_varname       TYPE variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*printer information&lt;/P&gt;&lt;P&gt;DATA: wa_print_options TYPE fpm_parcon,&lt;/P&gt;&lt;P&gt;      wa_arc_options   TYPE fpm_parcon,&lt;/P&gt;&lt;P&gt;      w_print_options  TYPE pri_params.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*email information&lt;/P&gt;&lt;P&gt;INCLUDE &amp;lt;cntn01&amp;gt;.&lt;/P&gt;&lt;P&gt;DATA: w_recipient     TYPE swc_object,&lt;/P&gt;&lt;P&gt;      w_recipient_obj TYPE swotobjid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*container macro&lt;/P&gt;&lt;P&gt;swc_container      w_swc_container.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*batch job information&lt;/P&gt;&lt;P&gt;INCLUDE lbtchdef.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: w_job       TYPE tbtcjob.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*constants&lt;/P&gt;&lt;P&gt;CONSTANTS: c_on VALUE 'X',&lt;/P&gt;&lt;P&gt;           c_off VALUE space,&lt;/P&gt;&lt;P&gt;           c_int(11) VALUE ' 0123456789'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK main with frame.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_matnr FOR marc-matnr,&lt;/P&gt;&lt;P&gt;                s_werks FOR marc-werks.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK back WITH FRAME TITLE text-ss2.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_fore RADIOBUTTON GROUP proc DEFAULT 'X', "foreground&lt;/P&gt;&lt;P&gt;            p_ball radiobutton group proc,&lt;/P&gt;&lt;P&gt;            p_berr radiobutton group proc.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK back.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK mail WITH FRAME TITLE text-ss3.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_print RADIOBUTTON GROUP mail DEFAULT 'X',&lt;/P&gt;&lt;P&gt;            p_email RADIOBUTTON GROUP mail.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK mail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK main.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  IF sy-batch = c_off AND p_fore = c_off.&lt;/P&gt;&lt;P&gt;    PERFORM create_variant.&lt;/P&gt;&lt;P&gt;    PERFORM build_print_parameters.&lt;/P&gt;&lt;P&gt;    IF p_email = c_on.&lt;/P&gt;&lt;P&gt;      PERFORM build_email_container.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    PERFORM open_job.&lt;/P&gt;&lt;P&gt;    PERFORM submit_job.&lt;/P&gt;&lt;P&gt;    PERFORM close_job.&lt;/P&gt;&lt;P&gt;    MESSAGE i000 WITH 'Job' w_job-jobname&lt;/P&gt;&lt;P&gt;                      'has been submitted'.&lt;/P&gt;&lt;P&gt;    perform delete_variant.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform select_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM salv_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  salv_grid&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM salv_grid .&lt;/P&gt;&lt;P&gt;  DATA:      lref TYPE REF TO cx_root .&lt;/P&gt;&lt;P&gt;  DATA:      lr_layout TYPE REF TO cl_salv_layout,&lt;/P&gt;&lt;P&gt;             ls_key    TYPE salv_s_layout_key.&lt;/P&gt;&lt;P&gt;  TRY.&lt;/P&gt;&lt;P&gt;      cl_salv_table=&amp;gt;factory(&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          r_salv_table   = gr_table&lt;/P&gt;&lt;P&gt;        CHANGING&lt;/P&gt;&lt;P&gt;          t_table        = it_marc ).&lt;/P&gt;&lt;P&gt;    CATCH cx_salv_msg INTO lref.&lt;/P&gt;&lt;P&gt;  ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***Sub Total&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM sub_total.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***Layout&lt;/P&gt;&lt;P&gt;  lr_layout = gr_table-&amp;gt;get_layout( ).&lt;/P&gt;&lt;P&gt;  ls_key-report = sy-cprog.&lt;/P&gt;&lt;P&gt;  lr_layout-&amp;gt;set_key( ls_key ).&lt;/P&gt;&lt;P&gt;  lr_layout-&amp;gt;set_default( 'X' ).&lt;/P&gt;&lt;P&gt;  lr_layout-&amp;gt;set_save_restriction( if_salv_c_layout=&amp;gt;restrict_none ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***toolbar&lt;/P&gt;&lt;P&gt;  gr_functions = gr_table-&amp;gt;get_functions( ).&lt;/P&gt;&lt;P&gt;  gr_functions-&amp;gt;set_all( 'X' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*final display&lt;/P&gt;&lt;P&gt;  gr_table-&amp;gt;display( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " salv&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  sub_total&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sub_total .&lt;/P&gt;&lt;P&gt;  DATA: lr_aggregations TYPE REF TO cl_salv_aggregations.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lr_aggregations = gr_table-&amp;gt;get_aggregations( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lr_aggregations-&amp;gt;clear( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TRY.&lt;/P&gt;&lt;P&gt;      lr_aggregations-&amp;gt;add_aggregation( columnname = 'Z_BALANCE_REM' ).&lt;/P&gt;&lt;P&gt;    CATCH cx_salv_not_found cx_salv_data_error cx_salv_existing.&lt;/P&gt;&lt;P&gt;  ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TRY.&lt;/P&gt;&lt;P&gt;      lr_aggregations-&amp;gt;add_aggregation( columnname = 'Z_PAY_AMT' ).&lt;/P&gt;&lt;P&gt;    CATCH cx_salv_not_found cx_salv_data_error cx_salv_existing.&lt;/P&gt;&lt;P&gt;  ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " sub_total&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  select_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form select_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select matnr werks mmsta maabc into table it_marc&lt;/P&gt;&lt;P&gt;       from marc&lt;/P&gt;&lt;P&gt;       where matnr in s_matnr&lt;/P&gt;&lt;P&gt;         and werks in s_werks.&lt;/P&gt;&lt;P&gt;endform.                    " select_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  create_variant&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form create_variant .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      curr_report           = sy-cprog&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      selection_table       = it_var_contents&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     not_found             = 1&lt;/P&gt;&lt;P&gt;     no_report             = 2&lt;/P&gt;&lt;P&gt;     OTHERS                = 3&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE sy-datum sy-timlo INTO w_var_varname.&lt;/P&gt;&lt;P&gt;  wa_var_desc-mandt = sy-mandt.&lt;/P&gt;&lt;P&gt;  wa_var_desc-report = sy-cprog.&lt;/P&gt;&lt;P&gt;  wa_var_desc-variant = w_var_varname.&lt;/P&gt;&lt;P&gt;  wa_var_desc-transport = 'F'.&lt;/P&gt;&lt;P&gt;  wa_var_desc-environmnt = 'A'.&lt;/P&gt;&lt;P&gt;  wa_var_desc-version = '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_var_text-mandt = sy-mandt.&lt;/P&gt;&lt;P&gt;  wa_var_text-langu = sy-langu.&lt;/P&gt;&lt;P&gt;  wa_var_text-report = sy-cprog.&lt;/P&gt;&lt;P&gt;  wa_var_text-variant = w_var_varname.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'Batch Job Variant -' sy-uname INTO wa_var_text-vtext.&lt;/P&gt;&lt;P&gt;  APPEND wa_var_text TO it_var_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RS_CREATE_VARIANT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      curr_report                     = sy-cprog&lt;/P&gt;&lt;P&gt;      curr_variant                    = w_var_varname&lt;/P&gt;&lt;P&gt;      vari_desc                       = wa_var_desc&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      vari_contents                   = it_var_contents&lt;/P&gt;&lt;P&gt;      vari_text                       = it_var_text&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     illegal_report_or_variant       = 1&lt;/P&gt;&lt;P&gt;     illegal_variantname             = 2&lt;/P&gt;&lt;P&gt;     not_authorized                  = 3&lt;/P&gt;&lt;P&gt;     not_executed                    = 4&lt;/P&gt;&lt;P&gt;     report_not_existent             = 5&lt;/P&gt;&lt;P&gt;     report_not_supplied             = 6&lt;/P&gt;&lt;P&gt;     variant_exists                  = 7&lt;/P&gt;&lt;P&gt;     variant_locked                  = 8&lt;/P&gt;&lt;P&gt;     OTHERS                          = 9&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " create_variant&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_print_parameters&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form build_print_parameters .&lt;/P&gt;&lt;P&gt;  IF p_print = c_on.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'MAINTAIN_PRINT_PARAMETERS'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_title_text         = 'Select your printer'&lt;/P&gt;&lt;P&gt;      CHANGING&lt;/P&gt;&lt;P&gt;        c_pri_params         = wa_print_options&lt;/P&gt;&lt;P&gt;        c_arc_params         = wa_arc_options&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        parameters_not_valid = 1&lt;/P&gt;&lt;P&gt;        OTHERS               = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e000 WITH 'Print parameters could not be gathered'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CHECK_PRINT_PARAMETERS'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_title_text               = 'Select your printer'&lt;/P&gt;&lt;P&gt;      i_pri_params               = wa_print_options&lt;/P&gt;&lt;P&gt;      i_arc_params               = wa_arc_options&lt;/P&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;     e_pri_params                = w_print_options&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     parameters_not_valid       = 1&lt;/P&gt;&lt;P&gt;     OTHERS                     = 2&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e000 WITH 'Print parameters could not be assigned'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF p_print = c_on.&lt;/P&gt;&lt;P&gt;    w_print_options-primm = c_on.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    w_print_options-primm = c_off.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " build_print_parameters&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_email_container&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form build_email_container .&lt;/P&gt;&lt;P&gt;  swc_create_object w_recipient 'RECIPIENT' space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  swc_clear_container w_swc_container.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  swc_set_element w_swc_container 'AddressString' sy-uname.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE 'E' NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  swc_set_element w_swc_container 'TypeId' 'B'.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE 'E' NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  swc_call_method w_recipient 'CreateAddress' w_swc_container.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e000 WITH 'Could not determine email address'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  swc_set_element w_swc_container 'SendExpress' 'X'.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE 'E' NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;                      WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  swc_call_method w_recipient 'SetExpress' w_swc_container.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  swc_call_method w_recipient 'Save' w_swc_container.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  swc_object_to_persistent w_recipient w_recipient_obj.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " build_email_container&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  open_job&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form open_job .&lt;/P&gt;&lt;P&gt;  CONCATENATE sy-cprog '-' sy-uname INTO w_job-jobname.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'JOB_OPEN'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      jobname          = w_job-jobname&lt;/P&gt;&lt;P&gt;      jobclass         = 'A'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      jobcount         = w_job-jobcount&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      cant_create_job  = 1&lt;/P&gt;&lt;P&gt;      invalid_job_data = 2&lt;/P&gt;&lt;P&gt;      jobname_missing  = 3&lt;/P&gt;&lt;P&gt;      OTHERS           = 4.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " open_job&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  submit_job&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form submit_job .&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'JOB_SUBMIT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      authcknam               = sy-uname&lt;/P&gt;&lt;P&gt;      jobcount                = w_job-jobcount&lt;/P&gt;&lt;P&gt;      jobname                 = w_job-jobname&lt;/P&gt;&lt;P&gt;      priparams               = w_print_options&lt;/P&gt;&lt;P&gt;      report                  = 'YSAM_TEST5'&lt;/P&gt;&lt;P&gt;      variant                 = w_var_varname&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      bad_priparams           = 1&lt;/P&gt;&lt;P&gt;      bad_xpgflags            = 2&lt;/P&gt;&lt;P&gt;      invalid_jobdata         = 3&lt;/P&gt;&lt;P&gt;      jobname_missing         = 4&lt;/P&gt;&lt;P&gt;      job_notex               = 5&lt;/P&gt;&lt;P&gt;      job_submit_failed       = 6&lt;/P&gt;&lt;P&gt;      lock_failed             = 7&lt;/P&gt;&lt;P&gt;      program_missing         = 8&lt;/P&gt;&lt;P&gt;      prog_abap_and_extpg_set = 9&lt;/P&gt;&lt;P&gt;      OTHERS                  = 10.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " submit_job&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  close_job&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form close_job .&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'JOB_CLOSE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      jobcount             = w_job-jobcount&lt;/P&gt;&lt;P&gt;      jobname              = w_job-jobname&lt;/P&gt;&lt;P&gt;      strtimmed            = c_on&lt;/P&gt;&lt;P&gt;      recipient_obj        = w_recipient_obj&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      cant_start_immediate = 1&lt;/P&gt;&lt;P&gt;      invalid_startdate    = 2&lt;/P&gt;&lt;P&gt;      jobname_missing      = 3&lt;/P&gt;&lt;P&gt;      job_close_failed     = 4&lt;/P&gt;&lt;P&gt;      job_nosteps          = 5&lt;/P&gt;&lt;P&gt;      job_notex            = 6&lt;/P&gt;&lt;P&gt;      lock_failed          = 7&lt;/P&gt;&lt;P&gt;      invalid_target       = 8&lt;/P&gt;&lt;P&gt;      OTHERS               = 9.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " close_job&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  delete_variant&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form delete_variant .&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'RS_VARIANT_DELETE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    report                     = sy-cprog&lt;/P&gt;&lt;P&gt;    variant                    = w_var_varname&lt;/P&gt;&lt;P&gt;   FLAG_CONFIRMSCREEN         = 'X'&lt;/P&gt;&lt;P&gt;   FLAG_DELALLCLIENT          = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  VARIANT                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   NOT_AUTHORIZED             = 1&lt;/P&gt;&lt;P&gt;   NOT_EXECUTED               = 2&lt;/P&gt;&lt;P&gt;   NO_REPORT                  = 3&lt;/P&gt;&lt;P&gt;   REPORT_NOT_EXISTENT        = 4&lt;/P&gt;&lt;P&gt;   REPORT_NOT_SUPPLIED        = 5&lt;/P&gt;&lt;P&gt;   VARIANT_LOCKED             = 6&lt;/P&gt;&lt;P&gt;   VARIANT_NOT_EXISTENT       = 7&lt;/P&gt;&lt;P&gt;   NO_CORR_INSERT             = 8&lt;/P&gt;&lt;P&gt;   VARIANT_PROTECTED          = 9&lt;/P&gt;&lt;P&gt;   OTHERS                     = 10&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt; MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " delete_variant&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Dec 2007 17:59:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/background-processing-option-in-report/m-p/3130706#M743708</guid>
      <dc:creator>former_member191735</dc:creator>
      <dc:date>2007-12-04T17:59:16Z</dc:date>
    </item>
  </channel>
</rss>

