How to call variant

Hi,
In my selectin screen i have variable like Fiscal year. that fiscal year need to pick up year from one perticular table. so how can i create a variant for that and give link between my selection screen and table.
regards
raja

hi,
  you can create a variant with type "custom exit" and use transaction code CMOD to program the logic for the variant you create. Hope it helps.
Jin Ming

Similar Messages

  • How to call a transaction with a variant

    Hi all
    I created a bdc program after updating it should call another transaction with predefined variant that that transaction program is of type module pool.
    can anyone tell me the syntax how to call a transaction with a variant.

    Hi
    goto Tcode SHD0
    enter the Tcode for which Tran Variant has to be created(dialog Tcode)
    enter Trans variant to be created
    press create button
    it will go through all the screens of that Tcode and save
    and modify the fields as per requirement
    we can create Transaction Variants Using SHD0 Transaction.
    Transaction Variants and Screen Variants
    Transaction variants can simplify transaction runs as they allow you to:
    Preassign values to fields
    Hide and change the 'ready for input' status of fields
    Hide and change table control column attributes
    Hide menu functions
    Hide entire screens
    In particular, hiding fields in connection with screen compression, and hiding screens, can result in greater clarity and simplicity.
    Transaction variants are made up of a sequence of screen variants. The field values and field attributes for the individual screens found in transaction variants are stored in screen variants. Each of these variants is assigned to a specific transaction, can, however, also contain values for screens in other transactions if this is required by transaction flow. The transaction that the variant is assigned to serves as initial transaction when the variant is called.
    There are both client-specific and cross-client transaction variants. All screen variants are cross-client, but may be assigned to a client-specific transaction variant.
    A namespace exists for cross-client transaction variants and screen variants and both are automatically attached to the Transport Organizer. Client-specific transaction variants must be transported manually.
    In principle, transaction and screen variants can be created for all dialog and reporting transactions. There are, however, certain Restrictions that apply to certain transactions, depending on their internal structure.
    No transaction variants are possible with transactions already containing preset parameters (parameter transactions and variant transactions).
    Regards
    Anji

  • How to create variant for table/view ?

    Hi,
    When I go through SM30, I find a radio button called variant. I don't know the effect.
    Can anyone tell me how to create variant for table / view ?
    I want to know when we need to create variant for table/view.
    Best regards,
    Chris Gu

    hi ,
    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, refer to 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
    Procedure
    To create a new variant:
           1.      On the ABAP Editor initial screen, enter the name of the program for which you want to create a variant, select Variants, and choose Change.
           2.      On the variant maintenance initial screen, enter the name of the variant to be created.
    Note the naming convention for variants (see below).
           3.      Choose Create.
    If the program has more than one selection screen, a dialog box for screen assignment appears. The dialog box does not appear if the program only has one selection screen. The selection screen appears in this case.
           4.      If there is more than one selection screen, select the screens for which you want to create the variant
    5.      Choose Continue.
    The (first) selection screen for the report 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 and to fill the fields with values. If you keep scrolling forwards, the Continue button appears on the last selection screen.
           6.      Enter the desired selection values, including multiple selection and dynamic selection.
           7.      Choose Continue.

  • How to call smartform FM after using SSF_FUNCTION_MODULE_NAME?

    Hi Experts,
    How to call smartform FM after using SSF_FUNCTION_MODULE_NAME?
    I mean, in driver program i called SSF_FUNCTION_MODULE_NAME to get the related FM  for my smart form. after that How do I call it(smartform fm) . I tried to call by pressing PATTERN button in Report. but it is showing FM is not exist error.
    Call function SSF_FUNCTION_MODULE_NAME
    Export
    formname = 'zsmartform'
    import
    fm_name = function_name.
    function_name is stored the corresponding smartform fm. then How do i call it to process my smartform?
    thanks in advance.

    hi,
    Chk this sample.
    DATA: p_output_options TYPE ssfcompop, "occurs 0 with header line
    p_control_parameters TYPE ssfctrlop. "occurs 0 with header line
    p_output_options-TDCOPIES = 3. "number of copies.
    p_output_options-tddest = 'LP01'. "def
    p_control_parameters-no_dialog = 'X'. "no dilog box
    p_control_parameters-preview = 'X'. "no preview
    DATA : v_form_name TYPE rs38l_fnam.
    *---- Function to get the function module name of the    ----
    *---- specified Smart form.                              ----
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
    formname = 'GIVE YOUR SMART FORM NAME'   
    * VARIANT = ' '
    * DIRECT_CALL = ' '
    IMPORTING
    fm_name = v_form_name
    EXCEPTIONS
    no_form = 1
    no_function_module = 2
    OTHERS = 3 .
    *---- Function Module to call the Smart Form          ----
    *step 1 - go to ur smart form
    *step2 - take environment
    *step3-take function module name
    *copy that unique number.
    *step4 -come back to ur driver program.
    *step5 - place ur cursur here. take patter,.give that unique number.
    *at that time u will get the below code.
    *step6 - rename that unique number with 'v_form_name' in the code generated by pattern.
    CALL FUNCTION v_form_name
    EXPORTING
    * ARCHIVE_INDEX =
    * ARCHIVE_PARAMETERS =
    control_parameters = p_control_parameters
    * MAIL_APPL_OBJ =
    * MAIL_RECIPIENT =
    * MAIL_SENDER =
    output_options = p_output_options
    user_settings = ' '
    * ARCHIVE_INDEX_TAB =
    * IMPORTING
    * DOCUMENT_OUTPUT_INFO =
    * JOB_OUTPUT_INFO =
    * JOB_OUTPUT_OPTIONS =
    EXCEPTIONS
    formatting_error = 1
    internal_error = 2
    send_error = 3
    user_canceled = 4
    OTHERS = 5
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    for any clarifiaction pls revert.
    regards,
    Reshma

  • How to call a report in another report?reply plz

    how to call a report in another report?

    hi,
    chk this.
    *Code used to populate 'select-options' & execute report 
    DATA: seltab type table of rsparams,
          seltab_wa like line of seltab.
      seltab_wa-selname = 'PNPPERNR'.
      seltab_wa-sign    = 'I'.
      seltab_wa-option  = 'EQ'.
    * load each personnel number accessed from the structure into
    * parameters to be used in the report
      loop at pnppernr.
        seltab_wa-low = pnppernr-low.
        append seltab_wa to seltab.
      endloop.
      SUBMIT zreport with selection-table seltab
                                    via selection-screen.
    *Code used to populate 'parameters' & execute report 
    SUBMIT zreport with p_param1 = 'value'
                    with p_param2 = 'value'.
    Other additions for SUBMIT
    *Submit report and return to current program afterwards
    SUBMIT zreport AND RETURN.
    *Submit report via its own selection screen
    SUBMIT zreport VIA SELECTION-SCREEN.
    *Submit report using selection screen variant
    SUBMIT zreport USING SELECTION-SET 'VARIANT1'.
    *Submit report but export resultant list to memory, rather than
    *it being displayed on screen
    SUBMIT zreport EXPORTING LIST TO MEMORY.
    *  Once report has finished and control has returned to calling
    *  program, use function modules LIST_FROM_MEMORY, WRITE_LIST and
    *  DISPLAY_LIST to retrieve and display report.
    Regards
    Anver

  • How to call PBO in reports

    hi
    how to call PBO in reports

    <b>Whenever you are using CALL SCREEN <number> in your report,
    double click on <number> and then in the FLOW LOGIC,
    uncomment the PBO OUPUT, double click and then use it.</b>
    here's a sample code....
    *&      Module  STATUS_0100  OUTPUT
          PBO Event
    MODULE STATUS_0100 OUTPUT.
      SET PF-STATUS 'OOPS'.
      SET TITLEBAR 'TIT'.
    Subroutine to fill the Variant Structure
      PERFORM FILL_VARIANT.
      IF W_GRID IS INITIAL.
        CREATE OBJECT W_GRID
          EXPORTING
       I_SHELLSTYLE      = 0
       I_LIFETIME        =
            I_PARENT       = CL_GUI_CONTAINER=>SCREEN0
       I_APPL_EVENTS     =
       I_PARENTDBG       =
       I_APPLOGPARENT    =
       I_GRAPHICSPARENT  =
       I_NAME            =
       I_FCAT_COMPLETE   = SPACE
          EXCEPTIONS
            ERROR_CNTL_CREATE = 1
            ERROR_CNTL_INIT   = 2
            ERROR_CNTL_LINK   = 3
            ERROR_DP_CREATE   = 4
            OTHERS            = 5.
        IF SY-SUBRC <> 0.
          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                     WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.                             " IF SY-SUBRC <> 0
        CALL METHOD W_GRID->SET_TABLE_FOR_FIRST_DISPLAY
          EXPORTING
           I_BUFFER_ACTIVE               =
           I_BYPASSING_BUFFER            =
           I_CONSISTENCY_CHECK           =
           I_STRUCTURE_NAME              =
            IS_VARIANT                    = W_VARIANT
            I_SAVE                        = 'A'
           I_DEFAULT                     = 'X'
           IS_LAYOUT                     =
           IS_PRINT                      =
           IT_SPECIAL_GROUPS             =
           IT_TOOLBAR_EXCLUDING          =
           IT_HYPERLINK                  =
           IT_ALV_GRAPHICS               =
           IT_EXCEPT_QINFO               =
           IR_SALV_ADAPTER               =
          CHANGING
            IT_OUTTAB                     = T_OUTTAB
            IT_FIELDCATALOG               = T_FIELDCAT
           IT_SORT                       =
           IT_FILTER                     =
          EXCEPTIONS
            INVALID_PARAMETER_COMBINATION = 1
            PROGRAM_ERROR                 = 2
            TOO_MANY_LINES                = 3
            OTHERS                        = 4
        IF SY-SUBRC <> 0.
          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                     WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.                             " IF SY-SUBRC <> 0.
      ENDIF.                               " IF W_GRID IS INITIAL
      CREATE OBJECT W_EVENT_CLICK.
      SET HANDLER W_EVENT_CLICK->HANDLE_HOTSPOT_CLICK FOR W_GRID.
    ENDMODULE.                             " STATUS_0100  OUTPUT
    Regards,
    Pavan

  • How to call *.C file in LV

    Hi frenz,
    i have created .C file for addtion of two numbers. Now i need to call that file from LabVIEW. How is it possible?.
    Thanks in Advance 

    ragupathi wrote:
    Hi frenz,
    i have created .C file for addtion of two numbers. Now i need to call that file from LabVIEW. How is it possible?.
    Thanks in Advance 
    Well, considering the functionality you implement it would be about 1000% easier to implement that directly in LabVIEW. This is in fact a statement that is true for many programming problems although the amount of advantage you get will vary a bit.
    If you insist on using your C file approach you will have to find a C compiler that can create a DLL from that C file. This will likely require you to study a bit about DLLs and how to create them in your C compiler. And then some more studies about how to call a DLL from LabVIEW using the Call Library Node.
    But implementation of C code to be used in LabVIEW has only two really good reasons.
    1) If you already have the entire C code available and want to reuse it as library in LabVIEW. Rewriting everything in LabVIEW is in that case often not a feasable option.
    2) If you need to do low level stuff like calling into system APIs, calling device drivers, or doing general low level stuff that requires a lot of bit shuffling such as compression/decompression or encryption/decryption algorithmes.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • How to call our smartform in standard report

    Hi friends,
    How to call Zee smartform from standard report without affecting stadard flow.
    Thanks,
    Yogesh

    Hi,
      do it this way.
    in the ALV function call
    give in
    exporting
    I_CALLBACK_USER_COMMAND = 'user_command '
    write a subroutine
    FORM user_command USING whatcomm TYPE sy-ucomm whatrow TYPE
    slis_selfield.
    case whatcomm.
    when 'print'.
    call 2 function modules here
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING FORMNAME = P_FORM "Your form name
    variant = ' '
    direct_call = ' '
    IMPORTING FM_NAME = FM_NAME
    EXCEPTIONS NO_FORM = 1
    NO_FUNCTION_MODULE = 2
    OTHERS = 3.
    IF SY-SUBRC 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    EXIT.
    ENDIF.
    calling the generated function module
    CALL FUNCTION FM_NAME
    EXPORTING
    ARCHIVE_INDEX =
    ARCHIVE_INDEX_TAB =
    ARCHIVE_PARAMETERS =
    CONTROL_PARAMETERS = CPARAM
    OUTPUT_OPTIONS = OUTOP
    USER_SETTINGS = SPACE
    MAIL_APPL_OBJ =
    MAIL_RECIPIENT =
    MAIL_SENDER =
    IMPORTING
    JOB_OUTPUT_INFO = TAB_OTF_DATA
    DOCUMENT_OUTPUT_INFO =
    JOB_OUTPUT_OPTIONS =
    EXCEPTIONS
    FORMATTING_ERROR = 1
    INTERNAL_ERROR = 2
    SEND_ERROR = 3
    USER_CANCELED = 4
    OTHERS = 5
    IF SY-SUBRC 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    endcase.
    endform.
    This is an example in the function gereated call give you own importing and exporting parameters.
    Regards
    Kiran Sure

  • How to call procedure from OCI ?

    How to call oracle procedure from OCI ?

    Following works on Windows, your mileage may vary. IIRC one of the standard OCI examples that install with the libraries demonstrates this too.
    /* SQL to create table and Stored Procedures */
    Create table OCI8StoredProcedureSampleTable
              (field1 number(5), field2 varchar2(30));
    CREATE OR REPLACE PROCEDURE OCI8StoredProcedureSample3
    (field1 number, field2 IN OUT varchar2)
    is
    begin
    insert into OCI8StoredProcedureSampleTable values (field1, field2);
    Commit;
    field2 := 'Successful';
    end;
    CREATE OR REPLACE PROCEDURE OCI8StoredProcedureSample4
    (field1 number, field2 char, field3 OUT varchar2)
    is
    begin
    insert into OCI8StoredProcedureSampleTable values (field1, field2);
    Commit;
    field3 := 'Successful';
    end;
    CREATE OR REPLACE FUNCTION OCI8StoredProcedureSample5
    RETURN VARCHAR2
    is
    v_Sysdate DATE;
    v_charSysdate VARCHAR2(20);
    begin
    SELECT TO_CHAR(SYSDATE, 'dd-mon-yyyy') into v_charSysdate FROM DUAL;
    return(v_charSysdate);
    end;
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <oci.h>
    static void checkerr (OCIError *p_err, sword status);
    void main()
    OCIEnv          *p_env;
    OCIError     *p_err;
    OCISvcCtx     *p_svc;
    OCIStmt          *p_sql;
    OCIBind p_Bind1 = (OCIBind ) 0;
    OCIBind p_Bind2 = (OCIBind ) 0;
    OCIBind p_Bind3 = (OCIBind ) 0;
    OCIDefine p_define1 = (OCIDefine ) 0;
    char field2[20] = "Entry 3";
    char *field3;
    //char field3[20];
    sword field1 = 3;
    text mySql = (text ) "Begin OCI8StoredProcedureSample3(:field1, :field2); END;";
    printf("OCIInitialize\n");
    checkerr(p_err, OCIInitialize((ub4) OCI_OBJECT,
              (dvoid *) 0, (dvoid * (*) ()) 0,           
              (dvoid * (*) ()) 0, (void (*) ()) 0));
    printf("OCIEnvInit\n");
    checkerr(p_err, OCIEnvInit(&p_env, (ub4) OCI_DEFAULT,
                        (size_t) 0, (dvoid **)0));
    printf("OCIHandleAlloc\n");
    checkerr(p_err, OCIHandleAlloc(p_env, &p_err, OCI_HTYPE_ERROR,
                        (size_t) 0, (dvoid **) 0));
    printf("OCIHandleAlloc\n");
    checkerr(p_err, OCIHandleAlloc(p_env, &p_svc, OCI_HTYPE_SVCCTX,
                        (size_t) 0, (dvoid **) 0));
    printf("OCIHandleAlloc\n");
    checkerr(p_err, OCIHandleAlloc(p_env, &p_sql, OCI_HTYPE_STMT, (size_t) 0, (dvoid **) 0));
    printf("OCILogon\n\n");
    checkerr(p_err, OCILogon(p_env, p_err, &p_svc, "SCOTT", 5, "TIGER", 5, "V8", 2));
    /* Example 1 - Using an IN OUT Parameters */
    printf("*************************************************\n");
    printf("Example 1 - Using an IN OUT Parameters\n");
    printf("*************************************************\n");
    printf("     OCIStmtPrepare\n");
    printf("          %s\n",mySql);
    checkerr(p_err, OCIStmtPrepare(p_sql, p_err, mySql,
                        (ub4) strlen(mySql), OCI_NTV_SYNTAX, OCI_DEFAULT));
    printf("     OCIBindByPos 1\n");
    checkerr(p_err, OCIBindByPos(p_sql, &p_Bind1, p_err, 1, (dvoid *) &field1, sizeof(sword),
                             SQLT_INT, 0, 0, 0, 0, 0, OCI_DEFAULT));
    printf("     OCIBindByPos 2\n");
    checkerr(p_err, OCIBindByPos(p_sql, &p_Bind2, p_err, 2, field2, (sizeof(field2) - 1),
                             SQLT_CHR, 0, 0, 0, 0, 0, OCI_DEFAULT));
    printf("          Field2 Before:\n");
    printf("               size     ---> %d\n", sizeof(field2));
    printf("               length     ---> %d\n", strlen(field2));
    printf("               value     ---> %s\n", field2);
    printf("     OCIStmtExecute\n");
    checkerr(p_err, OCIStmtExecute(p_svc, p_sql, p_err, (ub4) 1, (ub4) 0, (OCISnapshot *)
                   NULL, (OCISnapshot *) NULL, (ub4) OCI_COMMIT_ON_SUCCESS));
    printf("          Field2 After:\n");
    printf("               size     ---> %d\n", sizeof(field2));
    printf("               length     ---> %d\n", strlen(field2));
    printf("               value     ---> %s\n", field2);
    /* Example 2 - Using OUT Parameters */
    field1 = 4;
    strcpy(field2, "Entry 4");
    printf("\n\n*************************************************\n");
    printf("Example 2 - Using OUT Parameters\n");
    printf("*************************************************\n");
    printf("     OCIStmtPrepare\n");
    strcpy(mySql,(text *) "Begin OCI8StoredProcedureSample4(:field1, :field2, :field3); END;");
    printf("     %s\n",mySql);
    checkerr(p_err, OCIStmtPrepare(p_sql, p_err, mySql,
                        (ub4) strlen(mySql), OCI_NTV_SYNTAX, OCI_DEFAULT));
    printf("     OCIBindByPos 1\n");
    checkerr(p_err, OCIBindByPos(p_sql, &p_Bind1, p_err, 1, (dvoid *) &field1, sizeof(sword),
                             SQLT_INT, 0, 0, 0, 0, 0, OCI_DEFAULT));
    printf("     OCIBindByPos 2\n");
    checkerr(p_err, OCIBindByPos(p_sql, &p_Bind2, p_err, 2, field2, strlen(field2),
                             SQLT_CHR, 0, 0, 0, 0, 0, OCI_DEFAULT));
    printf("     OCIBindByPos 3\n");
    checkerr(p_err, OCIBindByPos(p_sql, &p_Bind3, p_err, 3, field3, 19,
                             SQLT_CHR, 0, 0, 0, 0, 0, OCI_DEFAULT));
    printf("     OCIStmtExecute\n");
    checkerr(p_err, OCIStmtExecute(p_svc, p_sql, p_err, (ub4) 1, (ub4) 0, (OCISnapshot *)
                   NULL, (OCISnapshot *) NULL, (ub4) OCI_COMMIT_ON_SUCCESS));
    printf("          Field3 After:\n");
    printf("               size     ---> %d\n", sizeof(field3));
    printf("               length     ---> %d\n", strlen(field3));
    printf("               value     ---> %s\n", field3);
    /* Example 3 - Using a Function to Return a Value */
    printf("\n\n*************************************************\n");
    printf("Example 3 - Using a Function to Return a Value \n");
    printf("*************************************************\n");
    printf("     OCIStmtPrepare\n");
    strcpy(mySql,(text *) "SELECT OCI8StoredProcedureSample5 from DUAL");
    printf("     %s\n",mySql);
    checkerr(p_err, OCIStmtPrepare(p_sql, p_err, mySql,
                        (ub4) strlen(mySql), OCI_NTV_SYNTAX, OCI_DEFAULT));
    checkerr(p_err, OCIDefineByPos(p_sql, &p_define1, p_err, 1, (dvoid *) field3,
              (sword) 20, SQLT_STR, (dvoid *) 0, (ub2 *)0,          (ub2 *)0, OCI_DEFAULT));
    printf("     OCIStmtExecute\n");
    checkerr(p_err, OCIStmtExecute(p_svc, p_sql, p_err, (ub4) 1, (ub4) 0, (OCISnapshot *)
                   NULL, (OCISnapshot *) NULL, (ub4) OCI_COMMIT_ON_SUCCESS));
    printf("          The return value:\n");
    printf("               size     ---> %d\n", sizeof(field3));
    printf("               length     ---> %d\n", strlen(field3));
    printf("               value     ---> %s\n", field3);
    return;
    static void checkerr(errhp, status)
    OCIError *errhp;sword status;
    text errbuf[512];
    ub4 errcode;
    switch (status)
              case OCI_SUCCESS:
                   break;
              case OCI_SUCCESS_WITH_INFO:
                   printf("Error - OCI_SUCCESS_WITH_INFO\n");
                   break;
              case OCI_NEED_DATA:
                   printf("Error - OCI_NEED_DATA\n");
                   break;
              case OCI_NO_DATA:
                   printf("Error - OCI_NO_DATA\n");
                   break;
              case OCI_ERROR:
                   OCIErrorGet ((dvoid *) errhp, (ub4) 1, (text *) NULL, &errcode,
                             errbuf, (ub4) sizeof(errbuf), (ub4) OCI_HTYPE_ERROR);
                   printf("Error - %s\n", errbuf);
                   break;
              case OCI_INVALID_HANDLE:
                   printf("Error - OCI_INVALID_HANDLE\n");
                   break;
              case OCI_STILL_EXECUTING:
                   printf("Error - OCI_STILL_EXECUTE\n");
                   break;
              case OCI_CONTINUE:
                   printf("Error - OCI_CONTINUE\n");
                   break;
              default:
                   break;

  • How to declare variant

    Hi all
             how to declare variant in the screen(not the selection screen) used in module programming

    Hi Ganesh,
    Check this info.
    Variants
    the link is
    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".
    Check this Link :
    http://help.sap.com/saphelp_47x200/helpdata/en/0a/af73ec76ac11d1ad670000e8a6353a/frameset.htm
    Hope this resolves your query.
    Reward all the helpful answers.
    Regards

  • How to call a maintenance view  from a program

    Hello Abapers,
    Can anybody explain with some examples. How to call a mainetenance view from a program.
    Thanks
    Ranjith.

    Use FM 'VIEW_MAINTENANCE_CALL'.
    REPORT  zmaintaintest.
    VARIABLES / CONSTANTS                          
    CONSTANTS: 
                    c_action(1) TYPE c VALUE 'U',                                 "Update
              c_viewname TYPE tabname value 'ZEMP_EXAMPLE', "View Name
              c_field(6) TYPE c VALUE 'EMPNO'.                            "Field Name
    INTERNAL TABLES
    DATA: itab_rangetab TYPE STANDARD TABLE OF vimsellist,
              v_empno TYPE zempno,
              wa_rangetab TYPE vimsellist.
    SELECTION SCREEN
    PARAMETERS:     p_empno TYPE   zempno   OBLIGATORY.  "Emplyee ID
    AT SELECTION-SCREEN                                                 
    AT SELECTION-SCREEN.
    Chcking the existence of the user in EMPLOYEE table
      PERFORM validate_employee.
    START_OF_SELECTION                                                  
    START-OF-SELECTION.
    This will restrict the user view so that user can only view/change
    Table data corresponding to his/her Employee ID
      PERFORM define_limited_data_area.
    Displaying table maintenance view for a particular employee ID
      PERFORM call_view_maintenance.
    *&      Form validate_employee
    Validate plant entered in the selection screen
    FORM validate_employee.
      SELECT SINGLE empno     u201CEmployee ID
        FROM zemp_example     u201CEmployee Table
        INTO v_empno
        WHERE empno = p_empno.
      IF sy-subrc <> 0.
        MESSAGE 'Not an Valid User' TYPE 'I'.
      ENDIF.
    ENDFORM.                    "validate_employee
    *&      Form DEFINE_LIMITED_DATA_AREA
    To restrict the user view so that user can see/change table data
    corresponding to his employee ID. Here one internal table is
    getting populated with field name as u201CEMPNOu201D (Key field of the table)
    And value as given by user in Selection Screen and this is passed as
    Parameter in function module 'VIEW_MAINTENANCE_CALL'
    FORM define_limited_data_area.
      CLEAR wa_rangetab.
      wa_rangetab-viewfield  = c_field.
      wa_rangetab-operator  = 'EQ'.
      wa_rangetab-value       = p_empno.
      APPEND wa_rangetab TO itab_rangetab.
    ENDFORM.                    "define_limited_data_area
    *&      Form CALL_VIEW_MAINTENANCE.
    Displaying table maintenance view for a particular employee ID
    FORM call_view_maintenance.
      CALL FUNCTION 'VIEW_MAINTENANCE_CALL'      
        EXPORTING
          action           = c_action
          view_name   = c_viewname
        TABLES
          dba_sellist     = itab_rangetab.
    ENDFORM.                    "call_view_maintenance
    Regards,
    Joy.

  • How to call Subroutines,Standard Text  & using Internal Table in SmartForm

    Hi all,
    need help in the following areas.Its very urgent!
    1.How to CAll Subroutines in Smart Forms
    2.How to CAll Standard Text in Smart Forms
    Situation:
    We have an Internal Table T_SALES with all the data which am going to display in the smartform,How to retrive data from an internal table in Smart forms
    Any Help in this direction would be highly appreciated.
    Regards
    Ramu

    Hi,
      When you are using quantity or currency fields, you have to mentiong the reference fileds in a tab called CURRENCY/QUANTITY FILEDS in the GLOBAL DATA node.
    Specifying a Currency or Quantity Reference
    Use
    In the ABAP Dictionary, you can assign a currency or quantity field to a table field. In the output of these fields, the system can then insert the relevant currency or unit:
    ·        If the value field is in the same table as the corresponding currency or quantity field, the system recognizes the reference automatically, and formats the value field according to the currency or unit in the assigned field.
    ·        If the value field is in a different table from the currency or quantity field, the system cannot recognize this reference automatically.
    In the second case, you must indicate this reference to the system in the form, to ensure that the value field is formatted correctly.
    Procedure
    You want to assign a currency or quantity field in one table (for example, CURTAB) to a value field in another table (for example, VALTAB).
           1.      Create the reference to the currency field by entering the following values:
    -         Field Name: VALTAB-VALUE, if this is the value field of VALTAB that you want to display.
    -         Reference Field: CURTAB-CURRENCY, which is the currency field of CURTAB.
           2.      Under Data Type, specify whether the data type is a currency or quantity.
    Result
    In the output of the PDF-based print form, the system formats the value field VALTAB-VALUE according to the assigned value in the currency or quantity field of the global variable CURTAB-CURRENCY.
    Thanks and Regards,
    Bharat Kumar Reddy.V
    Message was Added by: Bharat Reddy V
    Message was Added by: Bharat Reddy V

  • How to call SAP Webservice in standalone java program

    Hi,
    In our Java application, we want to use the SAP Webservices. I dont know much about authentication mechanism used by SAP. Can any one please help me with any sample code how to Call SAP webservice in Standalone Jave Program. I searched alot on the web regarding this, but helpless. Please help me.
    Thanks,
    Mohan

    Hi Mohan,
    You need an account for the ES Workplace. I'm afraid this is not free, e.g. check [SAP NetWeaver, Composition Subscription|https://www.sdn.sap.com/irj/sdn/subscriptions/composition].
    But I thought you wanted to play with a WSDL [you already had at hand|Sample code to access BAPI Web services from JAVA required;?

  • How to call a servlet in new window without toolbar from OA page

    How to call a servlet in new window without toolbar from a OA page?Please provide sample code

    I have tried with the way suggested in Mukul's blog using javascript in Destination URI property.
    I tried to open a OA Page and from which forwarded it to a servlet..
    It is showing the error:
    Error Page
    Exception Details.
    oracle.apps.fnd.framework.OAException: The application id or shortname () you entered does not exist.
         at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1223)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1969)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:502)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:423)
         at oa_html._OA._jspService(_OA.java:86)
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
         at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:385)
         at oracle.jsp.JspServlet.doDispatch(JspServlet.java:259)
         at oracle.jsp.JspServlet.internalService(JspServlet.java:178)
         at oracle.jsp.JspServlet.service(JspServlet.java:148)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
         at oracle.jsp.provider.Jsp20RequestDispatcher.forward(Jsp20RequestDispatcher.java:162)
         at oracle.jsp.runtime.OraclePageContext.forward(OraclePageContext.java:175)
         at oa_html._OA._jspService(_OA.java:96)
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
         at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:385)
         at oracle.jsp.JspServlet.doDispatch(JspServlet.java:259)
         at oracle.jsp.JspServlet.internalService(JspServlet.java:178)
         at oracle.jsp.JspServlet.service(JspServlet.java:148)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
         at org.apache.jserv.JServConnection.processRequest(JServConnection.java:456)
         at org.apache.jserv.JServConnection.run(JServConnection.java:294)
         at java.lang.Thread.run(Thread.java:534)
    ## Detail 0 ##
    oracle.apps.fnd.framework.OAException: The application id or shortname () you entered does not exist.
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.getAppId(OAWebBeanFactoryImpl.java:5391)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:969)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:502)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:423)
         at oa_html._OA._jspService(_OA.java:86)
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
         at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:385)
         at oracle.jsp.JspServlet.doDispatch(JspServlet.java:259)
         at oracle.jsp.JspServlet.internalService(JspServlet.java:178)
         at oracle.jsp.JspServlet.service(JspServlet.java:148)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
         at oracle.jsp.provider.Jsp20RequestDispatcher.forward(Jsp20RequestDispatcher.java:162)
         at oracle.jsp.runtime.OraclePageContext.forward(OraclePageContext.java:175)
         at oa_html._OA._jspService(_OA.java:96)
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
         at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:385)
         at oracle.jsp.JspServlet.doDispatch(JspServlet.java:259)
         at oracle.jsp.JspServlet.internalService(JspServlet.java:178)
         at oracle.jsp.JspServlet.service(JspServlet.java:148)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
         at org.apache.jserv.JServConnection.processRequest(JServConnection.java:456)
         at org.apache.jserv.JServConnection.run(JServConnection.java:294)
         at java.lang.Thread.run(Thread.java:534)
    oracle.apps.fnd.framework.OAException: The application id or shortname () you entered does not exist.
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.getAppId(OAWebBeanFactoryImpl.java:5391)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:969)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:502)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:423)
         at oa_html._OA._jspService(_OA.java:86)
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
         at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:385)
         at oracle.jsp.JspServlet.doDispatch(JspServlet.java:259)
         at oracle.jsp.JspServlet.internalService(JspServlet.java:178)
         at oracle.jsp.JspServlet.service(JspServlet.java:148)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
         at oracle.jsp.provider.Jsp20RequestDispatcher.forward(Jsp20RequestDispatcher.java:162)
         at oracle.jsp.runtime.OraclePageContext.forward(OraclePageContext.java:175)
         at oa_html._OA._jspService(_OA.java:96)
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
         at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:385)
         at oracle.jsp.JspServlet.doDispatch(JspServlet.java:259)
         at oracle.jsp.JspServlet.internalService(JspServlet.java:178)
         at oracle.jsp.JspServlet.service(JspServlet.java:148)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
         at org.apache.jserv.JServConnection.processRequest(JServConnection.java:456)
         at org.apache.jserv.JServConnection.run(JServConnection.java:294)
         at java.lang.Thread.run(Thread.java:534)

  • How to Call Procedure or Function

    Hi,
    How to call a procedure or function in apex, Please let me know
    Thanks
    Sudhir

    Hi,
    This post might help
    Re: How to Call procedure In Processes
    Regards,
    Jari

Maybe you are looking for

  • Call Transaction CRMD_ORDER

    Hi experts, I made a report displayed in ALV  and one of the column was the transaction no. Now, my user wants it to display the specific line in CRMD_ORDER once it is being double click in the grid filtered by lead. My problem is that the transactio

  • After sleeping, My i-Mac never changes to Stand-by.what's wrong?

    why my i-Mac does not go to Stand-by after sleeping for three hours? (the back fan keeps working). Apple website says after 3 hours, it should change from Sleep to Stand-by. No USB/memory/SDcard is connected either, only cable connected is for Ethern

  • 7.4.1 Woes

    I just completed a software update that included going from 7.2.1 to 7.4.1 on my Airport Extreme. Now my computer doesn't see my network. AX works fine (a little slow) bouncing off the neighbors network, but how do I get back to my network ? I'm not

  • Convert if to switch...

    how to convert the if statements to switch statement if (grade = "a" || grade = 'A')           {comment = "Excellent";}      else if (grade = "b" || grade = 'B')           {comment = "Very Good";}      else if (grade = "c" || grade = 'C')           {

  • How to register a regular rmi object in the class which is not setted as startup classes?

    hi: it seems the rmi object can only be registed in a startup class, is there any way to do this in an nostartup class? Thanks for any clue. Reno hu TCSI