Using dynamic variants in ABAP

Hi,
I have an issue. I want to use dynamic variants in my program. On the selection screen of my program, I have a parameter called Planning date which takes in the current week of the year as input value, i.e lets say today we are Monday 14th of May 2007, so the current week is 20. I want to make this parameter dynamic, i.e to change automatically so that next week the value is week 21.
Also is setting dynamic variants version dependent? My version is 5.0 SR1 and I don't have the option of save my variant using the 'D' traffic signal.
Please help me out.
Thanks

Hi,
you can fill your parameter in the initialization event of your report. In order to get the week you can use the function DATE_GET_WEEK.
Kostas

Similar Messages

  • BEx Broadcasting through e-mail, using dynamic variant

    Dear SAP Gurus,
    I'm new to SAP-BI, I came across the following situation:
    I've a query based on which the reports are being generated.
    My client wants to broadcast it every month, as they don't have any portal, so it has to be done through e-mail.
    the query has 3 system variable which are FISCALYEAR and CALDAY, i dont remember 3rd.
    So, I've to create DYNAMIC VARIANT, I tried the following procedure but its not working.
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/9075b11a-6e43-2c10-b7be-cfa0e97ec0cc?QuickLink=index&overridelayout=true
    please help me.

    Hi shivsam  ,
    1. What you need is dynamic filling the variant value.
    2. In transaction SE38 enter the variant name
    3.choose the attributes  button.
    4. Here you can set the field to u201Cselection variable.u201D
    5.Then you can define something like  SY-DATUM(4)  for fiscal year and in the same way for calday SY-DATUM+6(2) .
    Hope this will help .
    Regards,
    Jaya Tiwari

  • How to use Dynamic SQL in ABAP

    If I have mara table and I have an selection screen where I have allowed user to select the fields of MARA,Now What I want is depending on his selection we should be able to execute the sql command.
    E.g.
    Tables: mara.
    selection-screen
    MATNR , ERSDA , ERNAM , MTART , MEINS.
    NOW THE OUTPUT SHOULD BE ABLE TO DISPLAY ONLY THE SELECTED FIELD VALUE.

    Hello Nandan,
    Try the following code. It works.
    tables: mara.
    data: tablename  type tabname,
          fname      type fieldname,
          fieldnames type fieldname occurs 0.
    field-symbols : <fs_tableline> type any,
                    <fs_fieldval>  type any.
    initialization.
      tablename = 'MARA'.
      assign (tablename) to <fs_tableline> .
      fname = 'MATNR'.
      append fname to fieldnames.
      fname = 'MTART'.
      append fname to fieldnames.
    select (fieldnames)
      from (tablename)
      up to 20 rows
      into corresponding fields of <fs_tableline>.
      loop at fieldnames into fname.
        assign component fname of structure <fs_tableline> to <fs_fieldval>.
        write : <fs_fieldval>.
      endloop.
      new-line.
    endselect.
    The <b>tables</b> statement is very important. You should at least have the list of the tables which you expect the user to enter.
    Please do get back if you have any doubts. If you think the question is answered, please reward the points to the useful answers and close the thread.
    Regards,
    Anand Mandalika.

  • Redwood Cronacle - dynamic variants

    Would like to better understand dynamic variants.  I have looked in Cronacle on-line help and cannot find anything there.  Only information I have is that is needed to run RSI_GENERATE_VARIANT and then in a job chain...
       step 1 to set the variant using generated script and
       step 2 to executes the ABAP using template or imported script
    Would like to obtain better understanding of what situations one would use dynamic variants in and maybe short list of steps to do to acccomplish same.
    Best Regards,
    Dean Atteberry.

    Hello Dean,
    Yes indeed, there is no help available for dynamic variants in Redwood. Dynamic variants are those variants that are dynamically picked up from the SAP database. They are supposed to be automatically generated nightly via job RSI_GENERATE_VARIANTS. Unfortunately in Redwood, it often fails on individual jobs.
    Regards,
    Atul Lotlikar

  • Dynamic query in ABAP

    Can we use dynamic query in ABAP?

    1. Dynamic where clause
    You can use an internal table to build a dynamic where clause:
    data: where_tab(30) occurs 1 with header line,                     
             where_clause(30) type c.                                     
    Build the where clause. Will look like this when finished
    WHERE ZAFSTMD02 = 'X' AND rbusa = '5145'
    With a constant, result: ZAFSTMD01 = 'X'
    concatenate 'ZAFSTMD' zcostcheck-zmaaned  ' = ''X'''  into where_clause.                              
    Append to internal table where_tab
    append where_clause to where_tab.                                  
    With a variable, result: AND rbusa = '5145'
    concatenate 'AND rbusa = '  ''''  i_tab-zgsber  ''''
    append where_clause to where_tab.                                  
    Select
    select * from zcostfreq                                           
         where (where_tab).                                              
    endselect.                                                        
    Note that you can combine static and dynamic where clauses:
    select * from zcostfreq                                           
         where bukrs = '2021' AND
                                  (where_tab).                                              
    endselect.                                                        
    2. Using a dynamic table name
    This report prints the number og entries in a table. The table name is
    specified by a parameter.
    data:
      l_count type i.
    parameters:
    p_tab type tabname.
    start-of-selection.
      select count(*) from (p_tab) into l_count.
      write: / 'Number of entries in table ', p_tab, l_count.
    3. Dynamic retrieval and writing of data
    In this example, data is retrieved from the table selected on the selection
    screen, and the contents of the
    table is written to the screen.
    DATA:
    Create variable that can contain referecene to any data
      dataref TYPE REF TO data.
    FIELD-SYMBOLS:
      <row>         TYPE ANY,
      <component>   TYPE ANY.
    PARAMETERS:
    p_tab TYPE tabname.
    START-OF-SELECTION.
    Create a workarea for the tabel selected on the selection screen
      CREATE DATA dataref TYPE (p_tab).
    The variable dataref cannot be accessed directly, so a field symbol is
    used
      ASSIGN dataref->* TO <row>.
      SELECT *
        FROM (p_tab) UP TO 10 ROWS
        INTO <row>.
        NEW-LINE.
        DO.
        Write all the fields in the record   
          ASSIGN COMPONENT sy-index
            OF STRUCTURE <row>
            TO <component>.
          IF sy-subrc <> 0.
            EXIT.
          ENDIF.
          WRITE <component>.
        ENDDO.
      ENDSELECT.
    4. Dynamic SELECT
    TYPES:
      BEGIN OF st_bseg,
        bukrs LIKE bseg-bukrs,
        belnr LIKE bseg-belnr,
        dmbtr LIKE bseg-dmbtr,
      END OF st_bseg.
    DATA:
      sel_list   TYPE STANDARD TABLE OF edpline,
      li_bseg    TYPE STANDARD TABLE OF st_bseg,
      l_bseg     TYPE st_bseg.
    START-OF-SELECTION.
      APPEND 'bukrs belnr dmbtr' TO sel_list.
      SELECT (sel_list)
        FROM bseg  UP TO 100 ROWS
        INTO TABLE li_bseg.
      LOOP AT li_bseg INTO l_bseg.
        WRITE : / l_bseg-bukrs, l_bseg-belnr, l_bseg-dmbtr.
      ENDLOOP.

  • Tricky dynamic date variant in ABAP query

    Hello All,
    In an abap query there is a date field in the selection screen with from & to values.
    I am trying to create a dynamic variant that will fill the following data into those fields:
    From date: will be left blank
    To date: will show today's date - 90 days
    For example, if today's date is 01/12/2006 the variant should fill the following data into the fields:
    From date: <blank>
    To date: 01/09/2006
    I have tried all the methods I know with dynamic dates calculation in the variant definition but did not manage to create such variant.
    Any help will be very appreciated and points would be rewarded generously !
    Thank you very much,
    Ronen

    If the "from" date is meant to be left blank (beginning of time) and the "to" date is some date plus or minus number of days from today, you use the "current +/- days" dynamic date calculation format as was mentioned earlier.  Likewise if the "from" date is some date plus or minus today's date, and the "to" date is infinity -- you only need the one Dynamic Date calculation.
    To do this, first don't think about this as a date range, think of your Dynamic Date calculation as if this were a single parameter and not a select-option.  You are really saying "my date is anything LT/LE this date" or "my date is anything GT/GE this date" -- not a range
    In the Save Variant screen, find the desired date select-option and:
    1. Choose in column "Selection Variable", a "D" (Dynamic date calculation)
    2. Use F4 in the "Name of Variable" column
    3. Find "Current date +/- ??? days" or "Current date +/- ??? work days" in the popup, as appropriate
    4. For "I/E" (include/exclude) column select as appropriate
    5. For "Option" column, choose "LE", "LT", "GE", "GT", "NE" as appropriate
    6. After clicking green check mark, enter your plus or minus days (and factory calendar if using work days).
    7. Finish saving your variant.
    8. You may not see your changes in your variant until you back all the way out of the variant and then redisplay it.  You'll see a greyed out date along with the symbol matching your choice (LT, LE, etc.)
    Unfortunately if you don't have infinity on either end of the date you are limited to 999 days differences as far as I am aware.  If that is the case you can populate TVARVC table with parameter or selection variables, maintain them with STVARV transaction by hand, or use an ABAP program in batch to regularly calculate the values.  Then you can reference the TVARVC values in your variant instead of the Dynamic Date calculation.
    If someone knows a way to bypass the use of TVARVC for date ranges that are more than 999 days apart please let me know.  TVARVC works well but it is extra effort whereas Dynamic Date calculation would be much easier to maintain if the date range could be made larger than 999 days.

  • How to get a default variant screen using LDB.(HR-ABAP)

    Hello,
                   I have created a report using LDB PNP.Used HRBEN000 as a hr report category.
    Got a default selection screen, I want to add one more field, for this I have selected the field from further
    selection button, and displayed on the screen. Now i saved as a variant.
    how to get this default screen using the variant in the report/program when executed?
    Please help me.
    Thanks&Regards,
    Archana.

    Hi ,you camn always make your Z report category...if the field is present in further selection tab..
    if not you can create your own paramerter or select option.....
    but you have to handle it in your code ....as get pernr wont filter on its basis(parameter select optyin created by you)
    but why loop at screen is not working?
    let me know how you are doing...
    have to do it in at selection-screen output

  • How to create a multipage PDF with same template but dynamically varying data?

    Hello,
    I need to create a multi-page PDF where I need to use the same template but dynamically varying data.
    Eg Scenario:
    1. I have data for 5 material in my ABAP program.
    2. I have a PDF template in SFP which has a 2 page structure.
    3. Based on the number of materials (5 in this case), I need to generate a PDF which will have 10 pages (2 for each material).
    4. the generated PDF should be like the one shown below:
    e.g.  MATERIAL_PDF (pdf name)  
          |  Page1(Mat1[View1].data)
          |  Page2(Mat1[View2].data)
          |  Page3(Mat2[View1].data)
          |  Page4(Mat2[View2].data)
          |  Page5(Mat3[View1].data)
          |  Page6(Mat3[View2].data)
             .. and so on...
    Thanks,
    Aniket

    Isn't it just by setting the two pages into a form ( like an subform in the content ) and put the settings in a proper way?
    There is this setting, that the masterpage comes up everytime the pagecount is done.
    Example
    Page 1 3 5 --> Masterpage 1
    Page 2 4 6 --> Masterpage 2
    And the designview with the flowing data, you can do it by scripting to get to the next page after the pos is finished.
    Unfortunaly I do not got a system atm, so I hope the explaination give you a clue, where to search.
    Regards
    Florian

  • What is the use of variant in the alv report

    hello all,
    what is the use of variant in the alv report

    Hi,
    For Variants
    follow the link:
    http://help.sap.com/search/highlightContent.jsp
    Variants allow you to save sets of input values for programs that you often start with the same selections. You can use them for any programs except subroutine pools (type S).
    Contents
    Variants: Overview
    Initial Screen
    Displaying a Variant Overview
    Creating and Maintaining Variants
    Creating Variants
    Attributes of Variants
    Changing Variants
    Deleting Variants
    Printing Variants
    Variable Values in Variants
    Creating Variables for Date Calculations
    User-specific Selection Variables
    Creating User-specific Variables
    Changing Values Interactively
    Changing Values from the Program
    Fixed Values from Table TVARV
    Creating Table Variables from TVARV
    Changing TVARV entries
    Running a Program with a Variant
    Variants: Overview
    Use
    Whenever you start a program in which selection screens are defined, the system displays a set of input fields for database-specific and program-specific selections. To select a certain set of data, you enter an appropriate range of values.
    For further information about selection screens, see Working with selection screens in the ABAP User's Guide.
    If you often run the same program with the same set of selections (for example, to create a monthly statistical report), you can save the values in a selection set called a variant.
    You can create any number of variants for any program in which selection screens are defined. Variants are assigned exclusively to the program for which they were created.
    You can also use variants to change the appearance of the selection screen by hiding selection criteria. This is particularly useful when you are working with large selection screens on which not all of the fields are relevant.
    Reports, module pools, and function groups may have several selection screens. It is therefore possible to create a variant for more than one selection screen.
    Variants are an interface between the user and the selection screen. They can be used both in dialog and in background mode, although their uses are slightly different.
    Variants in Dialog Mode
    In dialog mode, variants make things easier for the user, since they save him or her from continually having to enter identical values. They can also make the selection screen easier to read, because you can use them to hide input fields. Running an executable program with a variant containing an optimal set of values also reduces the capacity for user error. The optimized database selections speed up the runtime of the program.
    Variants in Background Mode
    Variants are the only method for passing values to a report program in a background job. Therefore, when you run a program in the background, you must use a variant (or SUBMIT... VIA JOB). To avoid you having to create a new variant each time you run the report, ABAP contains a mechanism allowing you to pass variable values to variants. See variable values in variants.
    To ensure that an executable program is always started using a variant, you can specify in the program attributes that the program may only be started in this way.
    Features
    Creation of variants
    Display, change, copy, print, and delete variants
    Use and definition of variables in variants
    Variable date calculation
    User-specific fixed values
    Fixed values in table TVARV
    You access the variant maintenance tool from the initial screen of the ABAP Editor. Enter the name of the program, select Variants in the Sub-objects group box, and then choose Display or Change.
    Functions
    The above screen allows you to:
    Create variants
    Display the variant directory
    Display and change values and attributes
    Copy, delete, and rename variants
    Before creating a new variant for a program, you should check whether you can use or adapt an existing variant instead.
    There are two ways to display variants:
    Position the cursor on the Variant field on the initial screen and press F4. The following dialog box lists all of the available variants:
    Choose Variants ® Directory on the initial screen:
    Creating Variants
    Prerequisites
    You must have defined one or more selection screens for the relevant program. The program may have any type except type S.
    Procedure
    On the initial screen of the ABAP Editor, enter the name of the program for which you want to create a variant, select Variants in the Sub-objects group box, and choose Change.
    On the variant maintenance initial screen, enter the name of the variant you want to create.
    Note the naming convention for variants (see below).
    Choose Create.
    If the program has more than one selection screen, a dialog box appears in which you can assign the variant to one or more screens. The dialog box does not appear if the program only has one selection screen. In this case, the selection screen of the program appears straight away.
    If there is more than one selection screen, select the screens for which you want to create the variant.
    Example:
    If you choose Variant for all selection screens, the variant also applies to any selection screens that you create after creating the variant.
    Otherwise, the variant only supplies values to the selection screens that you select in the list.
    Choose Continue.
    The (first) selection screen of the program appears.
    If your program has more than one selection screen, use the scroll buttons in the left-hand corner of the application toolbar to navigate between them. If you keep scrolling forwards, the Continue button appears on the last selection screen.
    Enter the required selections, including multiple and dynamic selections.
    Choose Continue.
    Result
    When you have finished, an overview screen appears (ABAP: Save Attributes of Variant), on which you can enter the attributes of your variant and save it.
    Note that when you create a new variant, you must enter both values and attributes.
    Names of variants: Names can consist of up to 14 alphanumeric characters. The "% " character is not allowed. If you want the variant to be transported automatically with its program, you must create a system variant. The name of a system variant starts "CUS&" for customers, and "SAP&" for SAP system variants. You can only use the "&" character within this prefix in the name of a system variant. It may not occur in any other context. System variants are administered by the Workbench Organizer. Although you can create and access variants from any client, they are always stored in client "000".
    Creating Variants
    Prerequisites
    You must have defined one or more selection screens for the relevant program. The program may have any type except type S.
    Procedure
    On the initial screen of the ABAP Editor, enter the name of the program for which you want to create a variant, select Variants in the Sub-objects group box, and choose Change.
    On the variant maintenance initial screen, enter the name of the variant you want to create.
    Note the naming convention for variants (see below).
    Choose Create.
    If the program has more than one selection screen, a dialog box appears in which you can assign the variant to one or more screens. The dialog box does not appear if the program only has one selection screen. In this case, the selection screen of the program appears straight away.
    If there is more than one selection screen, select the screens for which you want to create the variant.
    Example:
    If you choose Variant for all selection screens, the variant also applies to any selection screens that you create after creating the variant.
    Otherwise, the variant only supplies values to the selection screens that you select in the list.
    Choose Continue.
    The (first) selection screen of the program appears.
    If your program has more than one selection screen, use the scroll buttons in the left-hand corner of the application toolbar to navigate between them. If you keep scrolling forwards, the Continue button appears on the last selection screen.
    Enter the required selections, including multiple and dynamic selections.
    Choose Continue.
    Result
    When you have finished, an overview screen appears (ABAP: Save Attributes of Variant), on which you can enter the attributes of your variant and save it.
    Note that when you create a new variant, you must enter both values and attributes.
    Names of variants: Names can consist of up to 14 alphanumeric characters. The "% " character is not allowed. If you want the variant to be transported automatically with its program, you must create a system variant. The name of a system variant starts "CUS&" for customers, and "SAP&" for SAP system variants. You can only use the "&" character within this prefix in the name of a system variant. It may not occur in any other context. System variants are administered by the Workbench Organizer. Although you can create and access variants from any client, they are always stored in client "000".
    reward all help full answers

  • How to set up Dynamic Variants for job which is based on Pay Period

    Hi,
    We need to set up dynamic variant for payroll interface.  This interface is based on Pay periods and that is why we need to use different variant for each month.  Letus know how to set up dynamic variant which will take care of Pay Periods

    Hi,  Thnx for reply.
    We are not changing the control records, current period will be some old period in system. 
    payroll is not processed in SAP,

  • How to make a default value by using dynamic actions

    Hi,
           I want to default a field nationality in infotype 0002 as a great britan, using dynamic actions but unable to go ahead. Any help regarding this really appreciate.
    Regards
    Niranjan

    Hi,
    I need some guidance around creating dynamic action with default value, Please guide me through.
    I am aware I can set default values for new infotype, but I need to set default value for same infotype, let me explain the scenario.
    Currently employee is on one pension scheme which is called NE1 and now we are moving this employee to CRESP Pension Scheme.
    When employee is in NE1, his IT0071 has got a opt in field with a flag on, when the same employee is moved from NE1 pension scheme to CRESP Pension scheme, his new IT0071 record should have the same opt in field with a flag on, I want it to set this flag automatically using dynamic action. I dont want to update this field manually, while moving from NE1 to CRESP.
    Currently the below dynamic  action is coded when employees are being moved form NE1 to CRESP, but now they will have a opt in flag which should appear automatically, What needs to be done to make this happen?
    Please let me know if I set default value for the Opt in field for the same infotype.
    . When employees are being moved from NE1 to CRESP pension scheme we currently use a dynamic action as show below:
    0071                      04      10      I        INS,0069
    0071                      04      20      W       P0069-BEGDA=P0071-BEGDA
    0071                      04      30      W       P0069-ENDDA=P0071-ENDDA
    0071                      06      1        F        DYNACT_PAE031(ZHRPROG016)
    Also if it is not possible via dynamic action could you please explain how to create it using user exit, I am not an ABAPer.
    Your help is very much appreciated.
    Kind Regards,
    SK

  • Dynamic configuration in ABAP Mapping

    Dear All,
    I have requirement to use the filename's name in the mapping to the target message.
    e.g: Filename is Victor.303, i need to take this 303 and map it to the target message.
    I understand i can get that value using dynamic configuration in Adapter-Specific Attributes.
    But all the samples are using Java code used in UDF.
    How to do the same in ABAP Mapping?
    I tried:
       record =  dynamic_configuration->get_record( namespace = 'http://sap.com/xi/XI/System/File'
                                                        name = 'FileName').
    But record-value return blank.
    Best Regards,
    Victor.

    Dear Prateek,
    I changed my code with:
      DATA: record TYPE mpp_dynamic.
      CALL METHOD dynamic_configuration->get_record
        EXPORTING
          namespace = 'http://sap.com/xi/XI/System/File'
          name      = 'FileName'
        RECEIVING
          record    = record.
    but record-value still return as blank.
    I have doubt in this, do i need to populate the FileName in the dynamic configuration (in the graphical mapping) first before i can get the value in the ABAP mapping? or System should filled it and i just can use it directly in the ABAP mapping?
    How we know what is the available name and namespace in that dynamic configuration-->get record??
    (e.g: my case is FileName, and in the link that you gave is ERROR.)
    Any link for this?
    Best Regards,
    Victor.

  • How to add Image dynamically in Webdynpro ABAP

    Hi Experts,
    How to add Image dynamically in Webdynpro ABAP.
    My requirement is i maintain all the images in a table.
    image source has to pick the table URl dynamically and display.
    is that possible in webdynpro?
    and also please give the suggesion,
    without using MIME objects is that anyway to get images?
    Thanks in advance.
    Regrads,
    Jeyanthi

    Hi,
      are those icons wou want to display then. he following code will be useful.
    data : lo_IMG type ref to CL_WD_IMAGE.
    LO_IMG = cl_wd_IMAGE=>new_IMAGE( id = img_id SOURCE = 'ICON_BW_APD_TARGET' tooltip = sts_tltp ).
    lo_cont->add_child( the_child = lo_img ).
    here lo_cont is the container where you want to add the image dynamically and source is the attribiute through which you can change the ICON image. this thing you can getit from data base table and change accordingly.
    Regards,
    Anil kumar G

  • What is variant in ABAP Program Process Block in Process Chain?

    I wrote an ABAP program:
    REPORT ZTEST,
    PARAMETERS:  PROC(80) TYPE C.
    I can test this PORGRAM from SE38, it shows me a pop-up screen for PROC and I can enter a value and execute.
    Now I want to call this  program ZTEST from a process chain. In Process Chain Selected a Process u201CABAP Programu201D. It asks me program name and Program variant, I entered Program Name as ZTEST and
    Program variant as a character string HELLO.
    When I execute Porcess Chain, ABAP Program errors saying that variant HELLO not found.
    What is Program variant in ABAP Program Process in Process Chain?
    Thanks,

    Dont get confused here.
    Variant name is not which you are pasing to the program.
    You enter some values inside the variant and you specify the program to take the input from the variant.
    Suppose you have to pass 10 parameters to a program.
    user1 creates a variant " hello1" which contains his own selection for the 10 values
    user2 creates another variant "hello2" which contain his own set of selecion values.
    When we use this program in PC, you can use the variant user1 or user2 as per our requirement.
    please check if you are giving variant as input or the proc value.
    Hope this helps,
    Sri....

  • How to set a dynamic variant for date in select-options in the upper field

    Hi  Variant experts Good Evening!
           I have the following problem while setting up a dynamic varinat .
    Ex: select-options: dat for sy-datum.  
    I am able to save the lower limit as a dynamic value but not able to save the upper values as dynamic in the select-options. Could any of you please help me in this.
    Regards
    Ravi.

    i hope dynamic variant concept is not there,
    but u can use the fn module DYPRO_GET_VALUES  and
    DYNPRO_SET_VALUES
    DYNPRO_GET_VALUES gets the values in the screen,
    DYNPRO_SET VALUES sets the values.
    first get the values, compare and set the values as u want

Maybe you are looking for