<?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: dynamic variant in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-variant/m-p/2909723#M684630</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hadrien, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is no such date in selection variable, so we have to move out of the box.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let's say this batch job of yours ( ex: job_A ) is expected to run monthly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can then create a program , ex: job_B, consists of this logic : &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- create selection screen entries for job_A&lt;/P&gt;&lt;P&gt;- calculate the last day of 2 month ago&lt;/P&gt;&lt;P&gt;- another check or values preparation &lt;/P&gt;&lt;P&gt;- submit job_A to background job using specified values defined previously&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then you could schedule this job_B to run monthly .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this would help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rgds,&lt;/P&gt;&lt;P&gt;Tuwuh Sih Winedya&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 10 Oct 2007 08:28:13 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-10-10T08:28:13Z</dc:date>
    <item>
      <title>dynamic variant</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-variant/m-p/2909722#M684629</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to create a dynamic variant for a batch job.  There is an input date field in the abap program and when the job will run, this date field must be "the last day of month of 2 month ago".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I check in the selection variable screen for the date, but I don't see anything that be usefull for what I need.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hadrien&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Oct 2007 07:54:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-variant/m-p/2909722#M684629</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-10T07:54:08Z</dc:date>
    </item>
    <item>
      <title>Re: dynamic variant</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-variant/m-p/2909723#M684630</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hadrien, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is no such date in selection variable, so we have to move out of the box.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let's say this batch job of yours ( ex: job_A ) is expected to run monthly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can then create a program , ex: job_B, consists of this logic : &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- create selection screen entries for job_A&lt;/P&gt;&lt;P&gt;- calculate the last day of 2 month ago&lt;/P&gt;&lt;P&gt;- another check or values preparation &lt;/P&gt;&lt;P&gt;- submit job_A to background job using specified values defined previously&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then you could schedule this job_B to run monthly .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this would help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rgds,&lt;/P&gt;&lt;P&gt;Tuwuh Sih Winedya&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Oct 2007 08:28:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-variant/m-p/2909723#M684630</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-10T08:28:13Z</dc:date>
    </item>
    <item>
      <title>Re: dynamic variant</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-variant/m-p/2909724#M684631</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Look at the following Code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please find the sample using RS_CREATE_VARIANT (FM).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It make use of other FM also , just have a look .&lt;/P&gt;&lt;P&gt;Hope this may help you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZEXAMPLE.&lt;/P&gt;&lt;P&gt;DATA: JVARI_DESC LIKE VARID,&lt;/P&gt;&lt;P&gt;RC LIKE SY-SUBRC,&lt;/P&gt;&lt;P&gt;VARIANT_TEXT LIKE VARIT-VTEXT,&lt;/P&gt;&lt;P&gt;JVT LIKE VARIT OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;SELPA LIKE RSPARAMS OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;PARMS LIKE RSPARAMS OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;OBJS LIKE VANZ OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_VAR LIKE RSVAR-VARIANT. "NAME OF VARIANT&lt;/P&gt;&lt;P&gt;JVARI_DESC-REPORT = SY-REPID.&lt;/P&gt;&lt;P&gt;JVARI_DESC-VARIANT = P_VAR.&lt;/P&gt;&lt;P&gt;JVARI_DESC-ENAME = 'EXAMPLES'.&lt;/P&gt;&lt;P&gt;JVT-REPORT = SY-REPID.&lt;/P&gt;&lt;P&gt;JVT-VARIANT = P_VAR.&lt;/P&gt;&lt;P&gt;JVT-LANGU = SY-LANGU.&lt;/P&gt;&lt;P&gt;JVT-VTEXT = 'FUNCTION EXAMPLES'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND JVT.&lt;/P&gt;&lt;P&gt;CLEAR SELPA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELPA-SIGN = 'I'.&lt;/P&gt;&lt;P&gt;SELPA-OPTION = 'EQ'.&lt;/P&gt;&lt;P&gt;SELPA-KIND = 'P'.&lt;/P&gt;&lt;P&gt;SELPA-SELNAME = 'P_VAR'.&lt;/P&gt;&lt;P&gt;SELPA-LOW = P_VAR.&lt;/P&gt;&lt;P&gt;APPEND SELPA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHECK IF VARIANT EXISTS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'RS_VARIANT_EXISTS'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;REPORT = JVARI_DESC-REPORT&lt;/P&gt;&lt;P&gt;VARIANT = P_VAR&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;R_C = RC&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;NOT_AUTHORIZED = 1&lt;/P&gt;&lt;P&gt;NO_REPORT = 2&lt;/P&gt;&lt;P&gt;REPORT_NOT_EXISTENT = 3&lt;/P&gt;&lt;P&gt;REPORT_NOT_SUPPLIED = 4&lt;/P&gt;&lt;P&gt;OTHERS = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF RC = 0 AND SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DELETE OLD VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&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 = JVARI_DESC-REPORT&lt;/P&gt;&lt;P&gt;VARIANT = P_VAR&lt;/P&gt;&lt;P&gt;FLAG_CONFIRMSCREEN = 'X'&lt;/P&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 NE 0.&lt;/P&gt;&lt;P&gt;WRITE: 'UNABLE TO DELETE VARIANT:', P_VAR ,'STATUS=', SY-SUBRC.&lt;/P&gt;&lt;P&gt;EXIT.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;WRITE:/ P_VAR, 'DELETED'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;WRITE:/ P_VAR, 'DOES NOT EXIST'.&lt;/P&gt;&lt;P&gt;ENDIF. " ALREADY EXISTS&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 = JVARI_DESC-REPORT&lt;/P&gt;&lt;P&gt;CURR_VARIANT = P_VAR&lt;/P&gt;&lt;P&gt;VARI_DESC = JVARI_DESC&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;VARI_CONTENTS = SELPA&lt;/P&gt;&lt;P&gt;VARI_TEXT = JVT&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 EQ 0.&lt;/P&gt;&lt;P&gt;WRITE:/ 'VARIANT', P_VAR, 'CREATED FOR PROGRAM', JVARI_DESC-REPORT.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;WRITE:/ 'VARIANT', P_VAR, 'NOT CREATED FOR PROGRAM', JVARI_DESC-REPORT.&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;CALL FUNCTION 'RS_VARIANT_CONTENTS'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT = JVARI_DESC-REPORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VARIANT = P_VAR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VALUTAB = PARMS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OBJECTS = OBJS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VARIANT_NON_EXISTENT = 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VARIANT_OBSOLETE = 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OTHERS = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE : / 'ERROR READING VARIANT CONTENTS.'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'RS_VARIANT_TEXT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;LANGU = SY-LANGU&lt;/P&gt;&lt;P&gt;CURR_REPORT = JVARI_DESC-REPORT&lt;/P&gt;&lt;P&gt;VARIANT = P_VAR&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;V_TEXT = VARIANT_TEXT.&lt;/P&gt;&lt;P&gt;WRITE:/ 'VARIANT DESCRIPTION:', VARIANT_TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT PARMS.&lt;/P&gt;&lt;P&gt;CHECK PARMS-LOW NE SPACE OR PARMS-HIGH NE SPACE.&lt;/P&gt;&lt;P&gt;READ TABLE OBJS WITH KEY NAME = PARMS-SELNAME.&lt;/P&gt;&lt;P&gt;WRITE : /2 PARMS-SELNAME, OBJS-TEXT,&lt;/P&gt;&lt;P&gt;45 PARMS-KIND,&lt;/P&gt;&lt;P&gt;PARMS-SIGN,&lt;/P&gt;&lt;P&gt;PARMS-OPTION,&lt;/P&gt;&lt;P&gt;PARMS-LOW,&lt;/P&gt;&lt;P&gt;PARMS-HIGH.&lt;/P&gt;&lt;P&gt;NEW-LINE.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;SKIP.&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;some other approach....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This function module selects the Selection Screen contents&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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-repid&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;selection_table = loc_int_tab&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;IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;MESSAGE i000 WITH 'Error in RS_REFRESH_FROM_SELECTOPTIONS'(029).&lt;/P&gt;&lt;P&gt;LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Craete the variant VAR1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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-repid&lt;/P&gt;&lt;P&gt;curr_variant = wf_variant&lt;/P&gt;&lt;P&gt;vari_desc = loc_varid&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;vari_contents = loc_int_tab&lt;/P&gt;&lt;P&gt;vari_text = loc_varit&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;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE i000 WITH 'Error while creating dynamic variant'(028).&lt;/P&gt;&lt;P&gt;LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;ENDIF. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Reward if usefull&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Oct 2007 08:30:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-variant/m-p/2909724#M684631</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-10T08:30:20Z</dc:date>
    </item>
  </channel>
</rss>

