How to dispay report with layout option in selection screen?

Hi all,
I have designed a report which also has a list box in the selection screen for the type of saved  layout that users have saved. I want the report to be displayed in the  layout that the user has entered.
Eg:  if user chooses \RP from the listbox in the selection screen; then the layout format for \RP should be displayed as output of the report.Can anyone tell me how to do this?Thanks in Advance.

Hi ,
parameters:p_vari type disvariant.
data: v_save type c.
v_save = 'A'.
data:i_variant type disvariant.
write the code in the At selection screen on value request p_vari.use the FM reuse_alv_variant_f4.
then in the at selection screen check weather the selected variant is existed by using the FM reuse_alv_variant_existance
and in the main GRID FM pass the variant internal table.
or check BALV* in the Se38 for examples
Regards,
Bharani,

Similar Messages

  • Layout Option on Selection Screen For Zreport

    Hi All,
           Plz explain how to do coding for using Layout option  on selection screen of
    report. Also i should be able to save and create new layout on selection screen.
           Thnaks in advance.
    Aniket Dayama

    hi,
    creation of sub-screens.
    selection-screen begin of tabbed block <name of the tab> for < height of the tab in no's> lines.
    eg;
    selection-screen tab(20) l1 <data element> user-comand <name of the funcion code>
    selection-screen end of block <name of the tab strip>.
    eg;
    selection-screen begin of tabbed block mytab for 10 lines.
    selection-screen tab(20) l1 user-command tab1.
    selection-screen tab (20) l2 user-command tab2..
    selection-screen end of block mytab.
    Under initialization.
    data element = text-01.
    data element = text=02.
    How to initialize the tab with default screen.
    <name of the tab> - prog = sy-repid.
    <name of the tab>- dynnr = '<subscreen no>'.
    <nane of the tab>-activetab = '<user-command for the strip>
    if this has solved ur problem then dont forget to reward with points.
    with regards,
    madhuri.

  • Download ALV report with layout to application server

    Hi Gurus,
    I have a problem as follows:
    I have one ALV Grid report. This report is very time consuming.
    That is why, user wants this to be run in background every night and in the morning when user comes to the office that ALV report should be on user's drive in excel format.
    However, it should run with one specific variant and that variant should be dynamically populated. (I have handled this part)
    It should also apply specific layout that has many filtering conditions.
    As I can not download ALV to excel in background, I decided to download it to the Application server.
    My problem is that when run in background, in spool ALV report shows o/p with proper filter conditions that is 5 out of 20 records.
    But, when I write this report o/p to Application server, it writes all the records in there, i.e., all 20 records. It does not take into account all the filters. [:(]
    I also tried downloading spool to excel, but o/p is not neatly formatted. All columns are fying here and there.
    Any suggestion, how can I write ALV o/p to Application server with layout into consideration?
    P.S. I have searched forum for this type of query, but no apt responses.
    Thanks

    did u downloaded the report with standard option provided in the alv and checked the data? that is populating all 20 records?. if so then use coding for achieving the standard one
    at the end of selection do like this ..
    SET USER-COMMAND ' %PC' .
    and in the user-command use like this..
    case sy-ucomm.
    when '  %PC'.
    give the file name ..
    do processing ..
    endcase.

  • Hyperion Anaylzer - how to Print report with information in pages?

    Hi,<BR><BR>I use Hyperion Analyzer Version: 6.1.1.00206 (from Help | About menu).<BR><BR>I created report with pages (on Navigate button selected the Pages). In pages are months (January, February, March, etc).<BR><BR>Now I would like to print current report. So I did:<BR>1. click on arrow beside Print button<BR>2. Print Current Report windows is displayed. I selected default options and press OK button.<BR><BR>Report is printed, but there is no page information printed out. So on paper there is report without months (January, February, March, etc).<BR><BR>How to print report with information in pages?<BR><BR>Thanks,<BR>Grofaty

    Jia Shun,
    I had the same issue for printing A/R Invoices - I created a Crystal Report based on a SQL View, works fine with A/R Invoice document, but the Draft Invoice printing has 3 pages: 1st page blank, 2nd page with watermark "DRAFT", 3rd page my Crystal Report layout without any data. When printing normally it is only 1 page.
    Here is what I did as a work around:
    Create two SQL Views, one select from OINV (joining INV1 and other tables needed), the other select from ODRF (joining DRF1 and other tables needed), for the draft printing.
    Create two identicle Crystal Reports, only difference are: datasource location (from different views), the "draft" crystal report has a watermark section.
    Go to Administration>System Initialization>Print Preferences and uncheck "Print draft watermark..."
    Import both crystal reports. Invoice can be printed normally. But the Draft Invoice has more steps: Open Draft document report, change settings so it shows the DocEntry in the Draft Table. Select and open the desired document, hit Print Preview, and enter the DocEntry, it displays the layout with data and "DRAFT" watermark.
    This is a workaround. I don't like it because it is not scalable - too much workload if you want to print 100 invoices.
    Hopefully someone will provide a better solution.
    regards,
    G

  • Print or download ALV report with sort options

    Dear friends,
    How i can download into excel or print ALV report with sort options, like customer name column with similar values should not repeat in the print out or download file.
    Regards,
    Praveen Lobo

    Hi Praveen,
    Use this code, its working:-
    *FOR SORTING DATA
    DATA : it_sort TYPE slis_t_sortinfo_alv,
           wa_sort TYPE slis_sortinfo_alv.
    *          SORT W.R.T. CUSTOMER NAME
      wa_sort-spos = 1.
      wa_sort-fieldname = 'NAME1'. "field customer name
      wa_sort-tabname = 'IT_KNA1'. "internal table with records
      wa_sort-up = 'X'.
      APPEND wa_sort TO it_sort.
      CLEAR wa_sort.
    "this will sort the ALV o/p for customer with same name
    "now the name will not be repeated
    "records with same name will be grouped
    *          DISPLAY RECORDS IN ALV GRID
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
      EXPORTING
        i_callback_program                = sy-repid "report id
        it_fieldcat                       = it_field "field catalog
        it_sort                           = it_sort "sort info
      TABLES
        t_outtab                          = it_kna1 "internal table
      EXCEPTIONS
        program_error                     = 1
        OTHERS                            = 2.
      IF sy-subrc <> 0.
      ENDIF.
    Hope this solves your problem.
    Thanks & Regards,
    Tarun Gambhir
    Edited by: Tarun Gambhir on Dec 31, 2008 1:13 PM

  • In my MacBook Pro, finder is crashing after logging in. It is showing crash report with Relaunch option, when i click on Relaunch option finder is working properly but i am unable to see top bar(Apple, Date, Wifi). Even in safari address bar not accepting

    In my MacBook Pro(10.7.5), finder is crashing after logging in. It is showing crash report with Relaunch option, when i click on Relaunch option finder is working properly but i am unable to see Top bar(Apple logo, Date and Wifi etc... bar). Even in safari address bar, TextEdit not accepting any text means when type something not showing up and also i am unable operate any thing from keyboard. Plz help me…..

    One thing that you can try is installing a 'fresh' version of OS X Lion. Boot into your Recovery partition (holding down the command and R keys whilst booting) and elect to install OS X from the Recovery screen. You need not erase your hard drive and you should not lose any of your data.
    Oh, and just as a precaution, I would use Disk Utility, once you're in Recovery mode, to verify your hard drive before trying to install the OS again.
    Clinton

  • How to make report with access 2010 from SharePoint Discussion lists 2013

    HI,
    I want to make an access report from SharePoint Discussion lists 2013. When i open the list with access, the body of the list is in HTML format in access. Also if i reply something to one subject in the discussion, the reply is not mapped to that subject
    but instead it is shown as a separate entry in the database.
    Anyone can please help?
    SAN
    Santhiya
    Santhiya

    Hi Santhiya,
    I have seen a similar post from you, my understanding is that you wonder that the reply is mapped to the related subject. You can take a look at Daniel's reply in the following thread:
    http://social.technet.microsoft.com/Forums/en-US/dfb5bcb9-0076-412a-b34f-46aa9cfba876/how-to-make-report-with-access-2010-from-sharepoint-discussion-lists-2013?forum=sharepointgeneral
    Thanks,
    Wendy
    Wendy Li
    TechNet Community Support

  • How to generate report with dynamic variable number of columns?

    How to generate report with dynamic variable number of columns?
    I need to generate a report with varying column names (state names) as follows:
    SELECT AK, AL, AR,... FROM States ;
    I get these column names from the result of another query.
    In order to clarify my question, Please consider following table:
    CREATE TABLE TIME_PERIODS (
    PERIOD     VARCHAR2 (50) PRIMARY KEY
    CREATE TABLE STATE_INCOME (
         NAME     VARCHAR2 (2),
         PERIOD     VARCHAR2 (50)     REFERENCES TIME_PERIODS (PERIOD) ,
         INCOME     NUMBER (12, 2)
    I like to generate a report as follows:
    AK CA DE FL ...
    PERIOD1 1222.23 2423.20 232.33 345.21
    PERIOD2
    PERIOD3
    Total 433242.23 56744.34 8872.21 2324.23 ...
    The TIME_PERIODS.Period and State.Name could change dynamically.
    So I can't specify the state name in Select query like
    SELECT AK, AL, AR,... FROM
    What is the best way to generate this report?

    SQL> -- test tables and test data:
    SQL> CREATE TABLE states
      2    (state VARCHAR2 (2))
      3  /
    Table created.
    SQL> INSERT INTO states
      2  VALUES ('AK')
      3  /
    1 row created.
    SQL> INSERT INTO states
      2  VALUES ('AL')
      3  /
    1 row created.
    SQL> INSERT INTO states
      2  VALUES ('AR')
      3  /
    1 row created.
    SQL> INSERT INTO states
      2  VALUES ('CA')
      3  /
    1 row created.
    SQL> INSERT INTO states
      2  VALUES ('DE')
      3  /
    1 row created.
    SQL> INSERT INTO states
      2  VALUES ('FL')
      3  /
    1 row created.
    SQL> CREATE TABLE TIME_PERIODS
      2    (PERIOD VARCHAR2 (50) PRIMARY KEY)
      3  /
    Table created.
    SQL> INSERT INTO time_periods
      2  VALUES ('PERIOD1')
      3  /
    1 row created.
    SQL> INSERT INTO time_periods
      2  VALUES ('PERIOD2')
      3  /
    1 row created.
    SQL> INSERT INTO time_periods
      2  VALUES ('PERIOD3')
      3  /
    1 row created.
    SQL> INSERT INTO time_periods
      2  VALUES ('PERIOD4')
      3  /
    1 row created.
    SQL> CREATE TABLE STATE_INCOME
      2    (NAME   VARCHAR2 (2),
      3       PERIOD VARCHAR2 (50) REFERENCES TIME_PERIODS (PERIOD),
      4       INCOME NUMBER (12, 2))
      5  /
    Table created.
    SQL> INSERT INTO state_income
      2  VALUES ('AK', 'PERIOD1', 1222.23)
      3  /
    1 row created.
    SQL> INSERT INTO state_income
      2  VALUES ('CA', 'PERIOD1', 2423.20)
      3  /
    1 row created.
    SQL> INSERT INTO state_income
      2  VALUES ('DE', 'PERIOD1', 232.33)
      3  /
    1 row created.
    SQL> INSERT INTO state_income
      2  VALUES ('FL', 'PERIOD1', 345.21)
      3  /
    1 row created.
    SQL> -- the basic query:
    SQL> SELECT   SUBSTR (time_periods.period, 1, 10) period,
      2             SUM (DECODE (name, 'AK', income)) "AK",
      3             SUM (DECODE (name, 'CA', income)) "CA",
      4             SUM (DECODE (name, 'DE', income)) "DE",
      5             SUM (DECODE (name, 'FL', income)) "FL"
      6  FROM     state_income, time_periods
      7  WHERE    time_periods.period = state_income.period (+)
      8  AND      time_periods.period IN ('PERIOD1','PERIOD2','PERIOD3')
      9  GROUP BY ROLLUP (time_periods.period)
    10  /
    PERIOD             AK         CA         DE         FL                                             
    PERIOD1       1222.23     2423.2     232.33     345.21                                             
    PERIOD2                                                                                            
    PERIOD3                                                                                            
                  1222.23     2423.2     232.33     345.21                                             
    SQL> -- package that dynamically executes the query
    SQL> -- given variable numbers and values
    SQL> -- of states and periods:
    SQL> CREATE OR REPLACE PACKAGE package_name
      2  AS
      3    TYPE cursor_type IS REF CURSOR;
      4    PROCEDURE procedure_name
      5        (p_periods   IN     VARCHAR2,
      6         p_states    IN     VARCHAR2,
      7         cursor_name IN OUT cursor_type);
      8  END package_name;
      9  /
    Package created.
    SQL> CREATE OR REPLACE PACKAGE BODY package_name
      2  AS
      3    PROCEDURE procedure_name
      4        (p_periods   IN     VARCHAR2,
      5         p_states    IN     VARCHAR2,
      6         cursor_name IN OUT cursor_type)
      7    IS
      8        v_periods          VARCHAR2 (1000);
      9        v_sql               VARCHAR2 (4000);
    10        v_states          VARCHAR2 (1000) := p_states;
    11    BEGIN
    12        v_periods := REPLACE (p_periods, ',', ''',''');
    13        v_sql := 'SELECT SUBSTR(time_periods.period,1,10) period';
    14        WHILE LENGTH (v_states) > 1
    15        LOOP
    16          v_sql := v_sql
    17          || ',SUM(DECODE(name,'''
    18          || SUBSTR (v_states,1,2) || ''',income)) "' || SUBSTR (v_states,1,2)
    19          || '"';
    20          v_states := LTRIM (SUBSTR (v_states, 3), ',');
    21        END LOOP;
    22        v_sql := v_sql
    23        || 'FROM     state_income, time_periods
    24            WHERE    time_periods.period = state_income.period (+)
    25            AND      time_periods.period IN (''' || v_periods || ''')
    26            GROUP BY ROLLUP (time_periods.period)';
    27        OPEN cursor_name FOR v_sql;
    28    END procedure_name;
    29  END package_name;
    30  /
    Package body created.
    SQL> -- sample executions from SQL:
    SQL> VARIABLE g_ref REFCURSOR
    SQL> EXEC package_name.procedure_name ('PERIOD1,PERIOD2,PERIOD3','AK,CA,DE,FL', :g_ref)
    PL/SQL procedure successfully completed.
    SQL> PRINT g_ref
    PERIOD             AK         CA         DE         FL                                             
    PERIOD1       1222.23     2423.2     232.33     345.21                                             
    PERIOD2                                                                                            
    PERIOD3                                                                                            
                  1222.23     2423.2     232.33     345.21                                             
    SQL> EXEC package_name.procedure_name ('PERIOD1,PERIOD2','AK,AL,AR', :g_ref)
    PL/SQL procedure successfully completed.
    SQL> PRINT g_ref
    PERIOD             AK         AL         AR                                                        
    PERIOD1       1222.23                                                                              
    PERIOD2                                                                                            
                  1222.23                                                                              
    SQL> -- sample execution from PL/SQL block
    SQL> -- using parameters derived from processing
    SQL> -- cursors containing results of other queries:
    SQL> DECLARE
      2    CURSOR c_period
      3    IS
      4    SELECT period
      5    FROM   time_periods;
      6    v_periods   VARCHAR2 (1000);
      7    v_delimiter VARCHAR2 (1) := NULL;
      8    CURSOR c_states
      9    IS
    10    SELECT state
    11    FROM   states;
    12    v_states    VARCHAR2 (1000);
    13  BEGIN
    14    FOR r_period IN c_period
    15    LOOP
    16        v_periods := v_periods || v_delimiter || r_period.period;
    17        v_delimiter := ',';
    18    END LOOP;
    19    v_delimiter := NULL;
    20    FOR r_states IN c_states
    21    LOOP
    22        v_states := v_states || v_delimiter || r_states.state;
    23        v_delimiter := ',';
    24    END LOOP;
    25    package_name.procedure_name (v_periods, v_states, :g_ref);
    26  END;
    27  /
    PL/SQL procedure successfully completed.
    SQL> PRINT g_ref
    PERIOD             AK         AL         AR         CA         DE         FL                       
    PERIOD1       1222.23                           2423.2     232.33     345.21                       
    PERIOD2                                                                                            
    PERIOD3                                                                                            
    PERIOD4                                                                                            
                  1222.23                           2423.2     232.33     345.21                       

  • PS:Copy of MBBS report with Date(GR) selection option in selection screen.

    Hi,
    We are developing a report, which is Copy of MBBS report, addition as Date(GR) selection option in selection screen to view historical data {i.e.Project Stock(Q) on back dates}.
    MBBS is showing Project Stock w.r.t. WBS. So pls suggest Table, which can fulfill the requirement to show the Project Stock from GR w.r.t. Purchase and Production order in back date w.r.t. that WBS.
    Pls do the needful.
    Thanks,
    Amit Jain.

    Hi Amit ,
    The Project Stock Table is MSPR , and the Project stock history table is MSPRH .
    Though not through with your actual requirement , There is a standard Report MB5B -- Stock on Posting Date . In the selection screen , we can have the Special Stock Q (Project Stock ) .
    If you can develop copying this report instead of MBBS , it would take care of receipts as well as issues ,and from the material Document you can build a relation to the account assignment  WBS/Network Activity through MSEG Table .
    Hope it helps .
    thanks and regards
    Kish

  • Report Painter: How to change the order of lines in selection screen

    Dear Gurus on Report Painter,
    how can I change the order of the lines (where the values for the variable selection of my cost center report are entered) in the selection screen of a report painter report? The Selection screen looks awful.
    Is there also a possibility to add another description to each line of the selection screen?
    Thank you very much for your advice.
    Best regards Timo

    I am afraid you have much choice in choosing the order of the selection parameters. However, with the developer's access you may.
    This is how!
    Step 1: If it is a standard report, copy to your own report. and assign it to a report group. and execute.
    Step 2: When you execute, and the selection appears, go to systems>status and here , copy the program name (it may look something like GP46LP6VEDORBSA2IHWYSR4TL58020)
    Step3: Go to SE38 and enter the above derived program name with a view to re-arrange the line withing the program, with reference to selection parameters. 
    For example: I have a selection screen in the following order:
      Controlling area            
      Fiscal Year                 
      From period                 
      To period                   
      Plan version                                                                               
    Cost center group           
      Or value(s)                 
      Cost element group          
      Or value(s)                 
    The corresponding program that drives this order is in the program and would look like this,
    SELECTION-SCREEN BEGIN OF BLOCK VALUE_SELECTION
                     WITH FRAME TITLE TEXT-003.
    <b> PARAMETERS: $1KOKRE  LIKE CCR1S-KOKRS .
      PARAMETERS: %1KOKRE  LIKE CCR1S-KOKRS MODIF ID IN4.</b>
    <b><i> for controlling area</i></b>
      PARAMETERS: $1GJAHR  LIKE COSP-GJAHR .
      PARAMETERS: %1GJAHR  LIKE COSP-GJAHR MODIF ID IN4.
    <b><i> for fiscal year</i></b>
      PARAMETERS: $1PERIV  LIKE COSP-PERBL .
      PARAMETERS: %1PERIV  LIKE COSP-PERBL MODIF ID IN4.
    <b><i> for period from</i></b>
      PARAMETERS: $1PERIB  LIKE COSP-PERBL .
      PARAMETERS: %1PERIB  LIKE COSP-PERBL MODIF ID IN4.
    <b><i> for period to</i></b>
    etc.
      PARAMETERS: $1VERP   LIKE COSP-VERSN .
      PARAMETERS: %1VERP   LIKE COSP-VERSN MODIF ID IN4.
      PARAMETERS: $1VALUTP LIKE CCR1S-VALUTYP MODIF ID IN4 .
      PARAMETERS: %1VALUTP LIKE CCR1S-VALUTYP MODIF ID IN4.
    SELECTION-SCREEN END OF BLOCK VALUE_SELECTION.
    ......... set variables ..............................................
    SELECTION-SCREEN BEGIN OF BLOCK SET_SELECTION
                     WITH FRAME TITLE TEXT-004.
      PARAMETERS: $1KOSET  LIKE RKSB1-KSGRU.
      PARAMETERS: %1KOSET  LIKE RGSBS-SETNR MODIF ID IN5.
      SELECT-OPTIONS _1KOSET  FOR CCR1S-KOSTL .
      PARAMETERS: $1KSTAR  LIKE RKSB1-KAGRU.
      PARAMETERS: %1KSTAR  LIKE RGSBS-SETNR MODIF ID IN5.
      SELECT-OPTIONS _1KSTAR  FOR CCR1Z-KSTAR .
    SELECTION-SCREEN END OF BLOCK SET_SELECTION.<i></i><b></b>
    If you want fiscal year to appear first, you try just copying the coding relating to fiscal year just above the coding for Controlling area.
    Extend the same logic for what you may want to get.

  • How to display the sort value in the selection screen in the report title

    Dear All,
    How to display the sort value in the selection screen in the report title? I have selected a value in the selection screen for sorting , but i need that values by which i have sorted with in the report title. Can you please throw some light on this!!
    Good day,
    Thanks and regards
    Arun S

    Hi Arun,
    Try this.
    1, Set one dynamic parameter,
    2, Drag and drop that parameter into  your report title.
    3, Pass the value(sort value) dynamically from your application,
    4, Cheers..
    Other wise Try with Dataset, create a dataset and fill thev alue into that.. Then  set the data source from CR designer. and darg and drop that data column into the report.
    Hope this will work,
    Regards,
    Salah
    Edited by: salahudheen muhammed on Mar 25, 2009 11:13 AM

  • Calling the selection screen of report with data for the selection field

    I have the selection screen with 2 fileds.
    sales order and  payment terms.
    My requirement is to update the payment terms into the ztable for the given order.
    Sometimes the payment terms will be there ie already maintained ,in that case i need to show to the user the existing payment term ,so that he can modify and save that one.If the payment term is not existing then simply i can go inside the program and update the payment term.
    What I thought of doing is , writing a report program and then after the user inputs the selection screen ie order number , I Will check in the ztable and if the payment terms is found then i will use the key word leave list processing. But i dont know how to populate the payement term in the selection screen oncegaing from the program

    Hi shiva,
    when the user enters sales order number on screen, in parameter 1,
    you want to show payment term, on selection screen itself, in parameter 2.
    We can use the event
    AT SELECTION-SCREEN.
    Eg. PO Number <----
    > User
    Below is sample code for same.
    If you enter PO Number, the system will show the corresponding user in parameter2.
    Just copy paste.
    REPORT  YAM_TEMPA09.
    PARAMETERS : EBELN LIKE EKKO-EBELN.
    PARAMETERS : ERNAM LIKE EKKO-ERNAM.
    AT SELECTION-SCREEN.
    ERNAM = ''.
    SELECT SINGLE ERNAM
    FROM EKKO
    INTO ERNAM
    WHERE EBELN = EBELN.
    regards,
    amit m.

  • ALV + layout varient on selection screen

    hiii
    with ALV list i want to know with how to allow to put the layout on the selection screen and when user press F4 he will be able to use the list of layout he has save on the ALV output
    Note for the layout button to appear i had to activate shown below:
    i_save                   = c_x
    please give me sample code where user can choose layout on selection screen and this layout will be used to display on ALV

    Hi,
    Please refer the code below for layout variants :
    DATA:   gt_rsparams  TYPE TABLE OF rsparams.
    * Data for ALV variant
    DATA  gv_repname          LIKE sy-repid.
    DATA  gv_x_variant        LIKE disvariant.
    DATA  gv_exit(1)          TYPE c.
    DATA  gv_save(1)          TYPE c.
    DATA  gv_variant          LIKE disvariant.
    PARAMETERS: sp_vari LIKE disvariant-variant.        "Dispaly Variant
    INITIALIZATION.
      gv_repname = sy-repid.
      REFRESH : gt_glacct,
                gr_rcomp,
                gt_output,
                gt_fieldcat,
                gt_sort.
    * Initialize ALV Layout variant
      PERFORM f_initialize_variant.
    FORM f_initialize_variant .
      CLEAR gv_variant.
      gv_save           = 'X'.
      gv_variant-report = gv_repname.
      gv_x_variant      = gv_variant.
      CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
        EXPORTING
          i_save     = gv_save
        CHANGING
          cs_variant = gv_x_variant
        EXCEPTIONS
          not_found  = 2.
      IF sy-subrc = 0.
        sp_vari = gv_x_variant-variant.
      ENDIF.
    ENDFORM.                    " f_initialize_variant
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR sp_vari.
      PERFORM f_f4_for_variant.
    FORM f_f4_for_variant .
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
        EXPORTING
          is_variant = gv_variant
          i_save     = gv_save
        IMPORTING
          e_exit     = gv_exit
          es_variant = gv_x_variant
        EXCEPTIONS
          not_found  = 2.
      IF sy-subrc = 2.
        MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ELSE.
        IF gv_exit = space.
          sp_vari = gv_x_variant-variant.
        ENDIF.
      ENDIF.
    ENDFORM.                    " f_f4_for_variant
    AT SELECTION-SCREEN.
    *  Validating selection screen fields
      PERFORM f_at_selection_screen.
    FORM f_at_selection_screen .
    * ALV Layout variant
      IF NOT sp_vari IS INITIAL.
        MOVE gv_variant TO gv_x_variant.
        MOVE sp_vari    TO gv_x_variant-variant.
        CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
          EXPORTING
            i_save     = gv_save
          CHANGING
            cs_variant = gv_x_variant.
        gv_variant = gv_x_variant.
      ELSE.
        PERFORM f_initialize_variant.
      ENDIF.
    FORM f_initialize_variant .
      CLEAR gv_variant.
      gv_save           = 'X'.
      gv_variant-report = gv_repname.
      gv_x_variant      = gv_variant.
      CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
        EXPORTING
          i_save     = gv_save
        CHANGING
          cs_variant = gv_x_variant
        EXCEPTIONS
          not_found  = 2.
      IF sy-subrc = 0.
        sp_vari = gv_x_variant-variant.
      ENDIF.
    ENDFORM.                    " f_initialize_variant
    Thanks,
    Sriram POnna.

  • How to add Material type(MTART) field on Selection screen of MB5B transaction code.

    Hi All,
        Please let me know how to add material type field on selection screen of MB5B transaction
    For that i made copy ZMB5B_COPY of original report RM07MLBD.
    Thanks in adv .
    Samadhan

    Hi,
    Once you copied the standard report to Z report, you can MTART in selection screen like below.
    and in order to inlcude the same in programming logic, we have three option.
    1) Check all related select queries, and include MTART in SELECT query using inner join with MARA.
    2) In START-OF-SELECTION event fill MATNR as shown below.
    3) If user entered any value in MTART, then before displaying the report just check material type of each material in the final internal table(which is used to display report) delete enteries from internal table accordingly.
    START-OF-SELECTION.
    IF MTART[] IS NOT INITIAL AND MATNR[] IS INITIAL.
        SELECT MATNR FROM MARA INTO MATNR-LOW WHERE MTART IN MTART.
          MATNR-OPTION = 'EQ'.
          MATNR-SIGN = 'I'.
          APPEND MATNR.
          CLEAR MATNR.
        ENDSELECT.
    ENDIF.
    The above option has one limitation: The selection screen variables has some restriction, please read the below thread.
    Facing problem in select statement dump DBIF_RSQL_INVALID_RSQL CX_SY_OPEN_S
    Getting Dump in the select query has more than 2000 entries
    Hope this will work for you .
    regards,
    Rajesh Sadula.

  • How to populate f4 values to standard pnp selection screen fields

    Hi Experts,
    my question is how to populate f4 values to standard pnp selection screen field. i am using LDB PNP for a report , it displays several fields with f4 values, i need to remove all the stadard f4 values and want to place my  f4 values in the selection screen

    Hi Venkat,
    To put ur own values in the F4 help of any field...all u have to do is.
    1st fetch all the records that u need to display in F4 help list...in one internal table.
    and then use the function module  'F4IF_INT_TABLE_VALUE_REQUEST'
    call function 'F4IF_INT_TABLE_VALUE_REQUEST'
    exporting
    retfield =
    value_org =
    tables
    value_tab =
    return_tab =
    exceptions
    parameter_error = 1
    no_values_found = 2
    others = 3.
    where retfield is the field for which u need to give the F4 help.
    and valu_tab is the internal table in which u have the list of records to be displayed.
    this would do the work...
    I dont have the system in front of me...as soon as i have...will try to send a piece of code, to make ur work easy.
    Till then hope this helps u...all the best
    Regards,
    Radhika

Maybe you are looking for