Splitter ALV container + 2 layout definitions

Hello,
I wrote an ALV report using splitter container. In the upper part of my report I need to define a layout , and another one for the bottom part.
Also in my selection screen there are 2 parametrets for the upper and the lower layouts.
I have 1 problems :
B. when I use F4 functionalty from the selection screen for the upper part I get also layout of the lower part, and the samefor the lower part .
attach is a part of the code.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lay01.
  PERFORM f4_layouts USING if_salv_c_layout=>restrict_none CHANGING p_lay01.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lay02.
  PERFORM f4_layouts_sec USING if_salv_c_layout=>restrict_none CHANGING p_lay02.
FORM f4_layouts   USING i_restrict TYPE salv_de_layout_restriction
                  CHANGING c_layout TYPE disvariant-variant.
  DATA: ls_layout TYPE salv_s_layout_info,
        ls_key    TYPE salv_s_layout_key.
  ls_key-report = sy-repid.
  ls_layout = cl_salv_layout_service=>f4_layouts(
    s_key    = ls_key
    restrict = i_restrict ).
  c_layout = ls_layout-layout.
ENDFORM.                    " F4_LAYOUTS
FORM f4_layouts_sec   USING i_restrict TYPE salv_de_layout_restriction
             CHANGING c_layout TYPE disvariant-variant.
  DATA: ls_layout TYPE salv_s_layout_info,
        ls_key    TYPE salv_s_layout_key.
  ls_key-report = sy-repid.
  ls_layout = cl_salv_layout_service=>f4_layouts(
    s_key    = ls_key
    restrict = i_restrict ).
  c_layout = ls_layout-layout.
ENDFORM.                    "
screen 100.
CREATE OBJECT g_custom
    EXPORTING
      container_name = 'CONTAINER'.
  CREATE OBJECT o_splitter
    EXPORTING
      parent  = g_custom
      rows    = 2
      columns = 1.
  CALL METHOD o_splitter->get_container
    EXPORTING
      row       = 1
      column    = 1
    RECEIVING
      container = o_grid1.
  CALL METHOD o_splitter->get_container
    EXPORTING
      row       = 2
      column    = 1
    RECEIVING
      container = o_grid2.
  cl_salv_table=>factory( EXPORTING r_container    = o_grid1
                         IMPORTING r_salv_table   = gr_table1
                         CHANGING  t_table        = gt_printout_main ).
  cl_salv_table=>factory( EXPORTING r_container    = o_grid2
                          IMPORTING r_salv_table   = gr_table2
                          CHANGING  t_table        = lt_printout_second ).
cl_salv_table=>factory( IMPORTING r_salv_table = gr_table
                          CHANGING  t_table = gt_alv_data1 ). "<tb> ).
  lr_layout = gr_table1->get_layout( ).
  lu_layout = gr_table2->get_layout( ).
*... §4.1 set the Layout Key
  ls_key-report = sy-repid.
  lr_layout->set_key( ls_key ).
  lu_layout->set_key( ls_key ).
*... §4.2 set usage of default Layouts
  lr_layout->set_default( abap_true ).
  lu_layout->set_default( abap_true ).
*... §4.3 set Layout save restriction
  lr_layout->set_save_restriction( if_salv_c_layout=>restrict_none ).
  gs_test-layout    = p_lay01.
  lr_layout->set_initial_layout( gs_test-layout ).
  lu_layout->set_save_restriction( if_salv_c_layout=>restrict_none ).
  gs_test-layout    = p_lay02.
  lu_layout->set_initial_layout( gs_test-layout ).
lr_layout  = gr_table2->get_layout( ).
lr_layout->set_save_restriction( if_salv_c_layout=>restrict_none ).
*... §4.1 set the Layout Key
ls_key-report = sy-repid.
CONCATENATE ls_key-report 'SEC' INTO ls_key-report.
lr_layout->set_key( ls_key ).
lr_layout->set_default( abap_true ).
gs_test-layout  = p_lay02.
lr_layout->set_initial_layout( gs_test-layout ).
  lr_events = gr_table1->get_event( ).
  lu_events = gr_table2->get_event( ).
  CREATE OBJECT ge_events.
  SET HANDLER ge_events->on_user_command FOR lr_events.
  SET HANDLER ge_events->on_double_click FOR lr_events.
  CREATE OBJECT gu_events.
  SET HANDLER gu_events->on_user_command FOR lu_events.
SET HANDLER gu_events->on_double_click FOR lu_events.
  lr_selections = gr_table1->get_selections( ).
  lr_selections->set_selection_mode( if_salv_c_selection_mode=>multiple ).
  lu_selections = gr_table2->get_selections( ).
  lu_selections->set_selection_mode( if_salv_c_selection_mode=>multiple ).
  lr_columns = gr_table1->get_columns( ).
lr_columns->set_optimize( abap_true ).
  lu_columns = gr_table2->get_columns( ).
lu_columns->set_optimize( abap_true ).
  PERFORM create_toolbar.
  PERFORM set_zebra_pattern.
  PERFORM set_columns_technical USING lr_columns lu_columns.
  PERFORM sort.
  PERFORM add_button_to_pf_status.
*-> Display the grid, for this we use the DISPLAY method
  CALL METHOD gr_table1->display.
  CALL METHOD gr_table2->display.
Please advise.
Thanks
Yifat

Hi Ifat
to access layouts for tab and bottom independantly, use the 'HANDLE' element of is_variant as follows
at selection-screen on value-request for p_tvar.           
  is_variant-report = sy-repid.                           
  is_variant-handle = 'TOP'.                              
  call function 'REUSE_ALV_VARIANT_F4'                  
    exporting                                           
      is_variant                = is_variant            
      i_save                    = 'A'                   
      i_display_via_grid        = 'X'
    importing                                             
      es_variant                = is_variant              
    exceptions                                            
      not_found                 = 1                       
      program_error             = 2                       
      others                    = 3                       
  if sy-subrc <> 0.                                      
  else.                                                  
    p_tvar = is_variant-variant.                         
  endif.                                                 
at selection-screen on value-request for p_bvar.         
  is_variant-report = sy-repid.                          
  is_variant-handle = 'BOT'.                             
  call function 'REUSE_ALV_VARIANT_F4'                   
    exporting                                            
      is_variant                = is_variant             
      i_save                    = 'A'                    
      i_display_via_grid        = 'X'
    importing                                           
      es_variant                = is_variant            
    exceptions                                          
      not_found                 = 1                     
      program_error             = 2                     
      others                    = 3                     
  if sy-subrc <> 0.                                      
  else.                                                  
    p_bvar = is_variant-variant.                         
  endif.                                                 
Regards
Joel

Similar Messages

  • Editor using ALV Container

    Hi All,
    Please anyone suggest me, how can I use text-editor in ALV container?
    Means when i execute the program, i want to see editor screen.
    Thanks
    Amit

    see
    Custom Controls
    A custom control is an area on a screen. You create them in the Screen Painter, and, like all other screen objects, they have a unique name. You use custom controls to embed controls. Controls are software components of the presentation server. Depending on the used SAP GUI, these are either ActiveX Controls or JavaBeans. They allow you to perform tasks, such as editing texts, locally on the presentation server. The control is driven by the application logic, which still runs on the application server.
    The SAP Control Framework
    The controls on the presentation server and the ABAP application programs on the application server communicate using the SAP Control Framework. The SAP Control Framework is programmed in ABAP Objects . It contains global classes that can be found in the class library under Basis ® Frontend Services. These classes encapsulate the communication between the application server and presentation server, which is implemented using Remote Function Call.
    All application controls are encapsulated in a global class. You can find the SAP Basis controls in the Class Browser under Basis ® Frontend Services or Basis ® Component Integration. Programs that use controls on a screen work with the methods and events of the global classes that encapsulates them.
    Container Controls
    Before you can work with a custom control on a screen, you must assign a SAP Container Control to it. Container controls are instances of special global classes from the SAP Control Framework. The global class for custom controls is called CL_GUI_CUSTOM_CONTAINER. To link a custom control to a container control, pass the custom control name to the constructor of the container control when you instantiate it using CREATE OBJECT.
    As well as using custom containers, you can link controls to a screen using a SAP Docking Container. This is encapsulated in the global class CL_GUI_DOCKING_CONTAINER. The SAP Docking Container does not place the control within a screen. Instead, it attaches it to one of the four edges. You can nest containers. For example, you can use the SAP Splitter Container (classes CL_GUI_EASY_SPLITTER_CONTAINER or CL_GUI_SPLITTER_CONTAINER) within other containers. This allows you to split a custom control or docking control into more than one area, allowing you to embed more than one control.
    Application Controls
    You must also create instances for the application controls that you want to place within your container - for example, a SAP Textedit Control (class CL_GUI_TEXTEDIT) or a SAP Tree Control (for which there is more than one global class - an example is CL_GUI_SIMPLE_TREE). When you instantiate the control, you pass a reference to the container in which you want to place it to the PARENT parameter of its constructor method. The container may be an instance of the class CL_GUI_CUSTOM_CONTAINER, but can also be an instance of one of the other SAP Container controls.
    Control Methods
    For information about control methods and their documentation, refer to the class definitions in the Class Builder or the SAP Library documentation. To minimize the network load between the application and presentation servers, method calls are buffered in the automation queue before being sent to the presentation server at defined synchronization points. One of the automatic synchronization points is the end of PBO processing. You can force a synchronization point in your program by calling a method that is not buffered, or by calling the static method FLUSH.
    Control Events
    Unlike screens, on which user interaction triggers the PAI event and control returns to the application server, user interaction on controls is not automatically passed back to the application server. If you want an event to be passed back to the application server, you must register it in your program using the special method SET_REGISTERED_EVENTS. For a list of the events that you can register for each control, refer to its wrapper class in the Class Builder. You can register two kinds of event handling using SET_REGISTERED_EVENTS:
    System Events (Default)
    The event is passed to the application server, but does not trigger the PAI. If you have registered an event handler method in your ABAP program for the event (using the SET HANDLER statement), this method is executed on the application server.
    Within the event handler method, you can use the static method SET_NEW_OK_CODE of the global class CL_GUI_CFW to set a function code and trigger the PAI event yourself. After the PAI has been processed, the PBO event of the next screen is triggered.
    The advantage of using this technique is that the event handler method is executed automatically and there are no conflicts with the automatic input checks associated with the screen. The disadvantage is that the contents of the screen fields are not transported to the program, which means that obsolete values could appear on the next screen. You can work around this by using the SET_NEW_OK_CODE method to trigger field transport and the PAI event after the event handler has finished.
    Application Events
    The event is passed to the application server, and triggers the PAI. The function code that you pass contains an internal identifier. You do not have to evaluate this in your ABAP program. Instead, if you want to handle the event, you must include a method call in a PAI dialog module for the static method DISPATCH of the global class CL_GUI_CFW. If you have defined an event handler method in your ABAP program for the event (using the SET HANDLER statement), the DISPATCH method calls it. After the event handler has been processed, control returns to the PAI event after the DISPATCH statement and PAI processing continues.
    The advantage of this is that you can specify yourself the point at which the event is handled, and the contents of the screen fields are transported to the application server beforehand. The disadvantage is that this kind of event handling can lead to conflicts with the automatic input checks on the screen, causing events to be lost.
    Related Information
    For further information about controls, and in particular, help on troubleshooting and optimizing synchronization, refer to BC Controls Tutorial and BC SAP Control Framework.
    Example
    The following example shows the difference between system and application events.
    REPORT demo_custom_control .
    Declarations *****************************************************
    CLASS event_handler DEFINITION.
      PUBLIC SECTION.
        METHODS: handle_f1 FOR EVENT f1 OF cl_gui_textedit
                           IMPORTING sender,
                 handle_f4 FOR EVENT f4 OF cl_gui_textedit
                           IMPORTING sender.
    ENDCLASS.
    DATA: ok_code LIKE sy-ucomm,
          save_ok LIKE sy-ucomm.
    DATA: init,
          container TYPE REF TO cl_gui_custom_container,
          editor    TYPE REF TO cl_gui_textedit.
    DATA: event_tab TYPE cntl_simple_events,
          event     TYPE cntl_simple_event.
    DATA: line(256) TYPE c,
          text_tab LIKE STANDARD TABLE OF line,
          field LIKE line.
    DATA handle TYPE REF TO event_handler.
    Reporting Events ***************************************************
    START-OF-SELECTION.
      line = 'First line in TextEditControl'.
      APPEND line TO text_tab.
      line = '----
      APPEND line TO text_tab.
      line = '...'.
      APPEND line TO text_tab.
      CALL SCREEN 100.
    Dialog Modules *****************************************************
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'SCREEN_100'.
      IF init is initial.
        init = 'X'.
        CREATE OBJECT:
               container EXPORTING container_name = 'TEXTEDIT',
               editor    EXPORTING parent = container,
               handle.
        event-eventid = cl_gui_textedit=>event_f1.
        event-appl_event = ' '.                     "system event
        APPEND event TO event_tab.
        event-eventid = cl_gui_textedit=>event_f4.
        event-appl_event = 'X'.                     "application event
        APPEND event TO event_tab.
        CALL METHOD: editor->set_registered_events
                     EXPORTING events = event_tab.
        SET HANDLER handle->handle_f1
                    handle->handle_f4 FOR editor.
      ENDIF.
      CALL METHOD editor->set_text_as_stream
                  EXPORTING text = text_tab.
    ENDMODULE.
    MODULE cancel INPUT.
      LEAVE PROGRAM.
    ENDMODULE.
    MODULE user_command_0100 INPUT.
      save_ok = ok_code.
      CLEAR ok_code.
      CASE save_ok.
        WHEN 'INSERT'.
          CALL METHOD editor->get_text_as_stream
                      IMPORTING text = text_tab.
        WHEN 'F1'.
          MESSAGE i888(sabapdocu) WITH text-001.
        WHEN OTHERS.
          MESSAGE i888(sabapdocu) WITH text-002.
          CALL METHOD cl_gui_cfw=>dispatch.
      ENDCASE.
      SET SCREEN 100.
    ENDMODULE.
    Class Implementations **********************************************
    CLASS event_handler IMPLEMENTATION.
      METHOD handle_f1.
        DATA row TYPE i.
        MESSAGE i888(sabapdocu) WITH text-003.
        CALL METHOD sender->get_selection_pos
             IMPORTING from_line = row.
        CALL METHOD sender->get_line_text
             EXPORTING line_number = row
             IMPORTING text = field.
        CALL METHOD cl_gui_cfw=>set_new_ok_code 
             EXPORTING new_code = 'F1'.         
        CALL METHOD cl_gui_cfw=>flush.
      ENDMETHOD.
      METHOD handle_f4.
        DATA row TYPE i.
        MESSAGE i888(sabapdocu) WITH text-004.
        CALL METHOD sender->get_selection_pos
             IMPORTING from_line = row.
        CALL METHOD sender->get_line_text
             EXPORTING line_number = row
             IMPORTING text = field.
        CALL METHOD cl_gui_cfw=>flush.
      ENDMETHOD.
    ENDCLASS.
    The layout of screen 100 is:
    The screen contains an output field field and a custom control called textedit.
    The flow logic of screen 100 is:
    PROCESS BEFORE OUTPUT.
      MODULE status_0100.
    PROCESS AFTER INPUT.
      MODULE cancel AT EXIT-COMMAND.
      MODULE user_command_0100.
    The GUI status SCREEN_100 has the functions BACK, EXIT, and CANCEL (all with type E) and the function INSERT (normal function).
    There is a local class event_handler defined in the program. It contains event handler methods for the F1 and F4 events of global class CL_GUI_TEXTEDIT. When you run the program, the classes CL_GUI_CUSTOM_CONTROL, CL_GUI_TEXTEDIT, and event_handler are instantiated in the PBO of screen 100.
    The container control is linked to the custom control on the screen, and the instance of the textedit control is linked to this container. The F1 and F4 events of the textedit control are registered using the SET_REGISTERED_EVENTS method to ensure that they are passed to the application server when they occur. F1 is defined as a system event, F4 as an application event. The event handler methods of the handle instance of the class event_handler are registered as handlers for the events.
    Before screen 100 is displayed, the program fills the textedit control with the contents of table text_tab . The user can edit the text while the screen is displayed. If the user chooses INSERT, the PAI event is triggered and the current text from the textedit control is copied into table text_tab.
    If the user chooses F1 on the textedit control, the handle_f1 method is executed. This assigns the contents of the line to the field field: The method SET_NEW_OK_CODE triggers the PAI event. It is this that ensures that the PBO is processed, and the contents of field are sent to the screen.
    If the user chooses F4 on the textedit control, the PAI event is triggered. The DISPATCH method is called, and this triggers the method handle_f4. This assigns the contents of the line to the field field: Since the PAI processing continues after the event, the PBO event follows, and the field contents are transferred to the screen.
    The contents of the textedit control are not passed to the internal table text_tab either after F1 or after F4. The contents of the textedit control are therefore overwritten in the PBO event with the previous contents of text_tab.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/2a/755b94ca5911d299af5c9604c10e27/content.htm

  • OO Splitter  ALV  grid's  Header  data Download

    Guys ,
       I  have OO Splitter  ALV  grid   but   unable  to  download Upper section( Splitter  ALV ) Header  data .....I  am  only  able  to  download  Lower part  data ...
      How  do  i  download  even  Upper section ( Splitter  ALV ) Header  data ...
      Please   help...OO Splitter  ALV  grid's  Header  data Download

    hi,
    when you use the splitter you cannot download both. You will be to download the data of that container on which you press download functionality. You need to add the button to download and add the logic to it.

  • Print from ALV container

    Hi ,
    I am trying to print the contents from the ALV Container,This is a pop-up screen
    displaying details of the line selected in the ALV report.
    Standard tool bar print button is available, and it works, but I also have the print icon in bottom of the screen , which should print the container contents.
    Not sure what custom code shd go in for printing,
    Looked into the std BCALV * programs, but no luck so far.
    Appreciate any help.
    Thank you
    Lalitha

    Hi Joseph,
    in my case these are the settings...
    Just change your spool  settings also ..
    in my case
    SAP Cover Page  System Administrator: Default Settings
    OS Covert Sheet  System Administrator: Default Settings
    ALV statastics     NO
    i think for your case ALV statastics is markes as YES is it true.
    Can you change the settings.
    Regards
    Vijay

  • Download alv report using layout variant in background

    Hi All,
    I want to download an Alv report using layout varaint in background job.
    can any one please help me.
    i.e...
    I am facing a problem in downloading a text file to the Application server.
    My requirement is, when the user downloads a file with the layout variant, the file should have only the columns which was selected in the variant.
    Will rewards to helpfull ans
    regards
    Chetan

    hey seshu,
    I am facing a problem in downloading a text file to the Application server.
    My requirement is, when the user downloads a file with the layout variant, the file should have only the columns which was selected in the variant.

  • Unable to run jar file without lib folder containing swing-layout-1.0.jar

    I have done my project through NetBeans 5.0. Eventhough I have copied my lib foloder containing swing-layout-1.0.jar inside my project.jar, I am still unable to run my project.jar in other systems, it is creating an error as Could not find the main class. Program will exit. But if I copy the lib foloder containing swing-layout-1.0.jar in the same path as the project.jar, then my project.jar is running.
    But I want to give only the project.jar for other users and not also lib foloder containing swing-layout-1.0.jar each time.
    Could someone please help me with this.

    When you develop GUI applications using the Netbeans you may endup using netbeans specific jar files in your auto generated code.
    And when you build jar files with netbeans it copy the third party jar files used in a application in to a lib folder in the same directory as the jar file of your project. And then set a class path entry to those jar files in your project jar file's manifest file.
    So if you want to redistribute the package you have to redistribute your jar file and every thing in the lib folder in with the same directory structure.
    If you want to change the structure you will have to change the class path to suit the new structure.

  • Creat icon to display no of entries in ALV container

    HI,
    I have to display no of records on push button type icon,
    it should directly display no of entries like'50 hits'.Need not to give any function code,we need not to click push button,it should display like text on button,
    button should be added in alv  container tool bar.
    I am giving output in alv on subscreen

        HANDLE_TOOLBAR
            FOR EVENT TOOLBAR OF CL_GUI_ALV_GRID
                IMPORTING E_OBJECT E_INTERACTIVE.
    define gloabal variable to populate the no of records.and use the variable
      METHOD HANDLE_TOOLBAR.
        DATA: LS_TOOLBAR  TYPE STB_BUTTON.
    * append a separator to normal toolbar
        CLEAR LS_TOOLBAR.
        MOVE 3 TO LS_TOOLBAR-BUTN_TYPE.
        APPEND LS_TOOLBAR TO E_OBJECT->MT_TOOLBAR.
    * append an icon to to save data
        CLEAR LS_TOOLBAR.
        MOVE 'TOTAL' TO LS_TOOLBAR-FUNCTION.
    <b>    MOVE ICON_SYSTEM_SAVE TO LS_TOOLBAR-ICON. "Choose your Icon</b>
        MOVE 'Save' TO LS_TOOLBAR-QUICKINFO.
    <b>    MOVE V_VAR  TO LS_TOOLBAR-TEXT.</b>
        MOVE ' '  TO LS_TOOLBAR-DISABLED.
        APPEND LS_TOOLBAR TO E_OBJECT->MT_TOOLBAR.
        CLEAR LS_TOOLBAR.
    * append a separator to normal toolbar
        CLEAR LS_TOOLBAR.
        MOVE 3 TO LS_TOOLBAR-BUTN_TYPE.
        APPEND LS_TOOLBAR TO E_OBJECT->MT_TOOLBAR.
         ENDMETHOD.                    "handle_toolbar
    Before creating the ALV GRID object try to populate the variable V_VAR with no of records.
    obvious you need to set the handler to appear in the toolbar.
    Regards
    vijay

  • Database Structure containing Apex users definition ...

    Hi for all,
    Application Express manage users in 3 types (administrator, developer, end user).
    But in my case I have to classify my application users to more and different types. I can't find the database object containing Apex users definition so that I can customize my users management.
    So Is there a database table where I can access from my application (HtmlDB application) to users definitions related to Apex.
    Thanks a lot for any kind of help.
    Jamel

    The tables used are wwv_flow_fnd_user and wwv_flow_developers but you should not attempt to change their structure and all operations against those tables should be done using the user management api calls explained in the User's Guide.
    If you need a custom user management solution you should consider building one from scratch.
    Scott

  • Capture ALV container event and change data in screen header

    Hi,
    I have a REPORT calling a custom screen with a header section and an ALV container displaying ITEMS.
    <b>Situation:</b>
    If I use the FILTER button on the ALV container, it works fine but I wish to capture the details, so that I can change my header data accordingly.
    <b>Example</b>
    e.g : Suppose the ALV container on the screen displays 4 lines of data.
       So my header area displays '4' as the no of items displayed
    Now when I use FILTER button on the ALV container, it then dispalys only '2' lines of data as per the filter criteria. Now how do I capture this details so that my header now displays 2 instead of 4.
    Basically I want my HEADER data to get refreshed whenever I use the filter button to change the number of data lines dispalyed.
    Hope I make some sense with the example.
    Appreciate if you gurus could help ..
    Thanks and Regards
    RK

    Can you post your code.
    Regards,
    Rich Heilman

  • Refreshing alv container

    I have editable alv container in a module pool which runs through transaction code.the problem is each time the editabale alv is displayed the old values remain....How can i refresh my alv container?

    Hi Priya,
    you can try with --
          CALL METHOD grid->refresh_table_display.
              CLEAR:  gh_index.
    Thanks,
    Venkat

  • ALV USING FM (layout)

    what is the purpose ''slis_layout_alv".Please explain briefly  and with sample code.

    Hi,
    SLIS_LAYOUT_ALV is a structure which contains
    -->slis_layout_main.
    -->slis_layout_alv_spec.
    structures.
    Actually these structure contains the formatting options of the ALV Display
    Again slis_layout_alv_spec. include contains
    -->slis_layout_alv_spec0.
    -->slis_layout_alv_spec1
    includes.
    In slis_layout_alv_spec0 we contain the following fields
    no_col                   head no headings
    no_hotspot                headings not as hotspot
    zebra                      striped pattern
    no_vline                   columns separated by space
    no_hline                  rows separated by space
    cell_merge                 not suppress field replication
    edit                        for grid only
    edit_mode                  or grid only
    numc_sum                 totals for NUMC-Fields possib.
    no_input                  only display fields
    f2code                    sy-ucomm,  
    reprep                     report report interface active
    no_keyfix                   do not fix keycolumns
    expand_all                  Expand all positions
    no_author                  No standard authority check
    def_status                 default status  space or 'A'
    item_text                   Text for item button
    countfname
    slis_layout_alv_spec1 contains
    no_sumchoice                    no choice for summing up
    no_totalline(                       no total line
    no_subchoice                     no choice for subtotals
    no_subtotals                     no subtotals possible
    no_unit_splitting                no sep. tot.lines by inh.units
    totals_before_items            diplay totals before the items
    totals_only                         show only totals
    totals_text                          text for 1st col. in total line
    subtotals_text                     text for 1st col. in subtotals
    Actually these structure contains the formatting options of the ALV Display
    report zbnstest.
    * TABLES AND DATA DECLARATION.
    *TABLES: mara,makt.",marc.
    data syrepid like sy-repid.
    data sydatum(10). " LIKE sy-datum.
    data sypagno(3) type n.
    * WHEN USING MORE THAN ONE TABLE IN ALV WE NEEED TO DECLARE THE TYPE
    * GROUP (TYPE-POOLS--------->SLIS)
    type-pools : slis.
    * INTERNAL TABLE DECLARATION.
    * INTERNAL TABLE TO HOLD THE VALUES FROM THE MARA TABLE
    data: begin of t_mara occurs 0,
    matnr like mara-matnr,
    meins like mara-meins,
    mtart like mara-mtart,
    matkl like mara-matkl,
    end of t_mara.
    * INTERNAL TABLE TO HOLD THE CONTENTS FROM THE EKKO TABLE
    data : begin of t_marc occurs 0,
    matnr like mara-matnr,
    werks like marc-werks,
    minbe like marc-minbe.
    data: end of t_marc.
    * INTERNAL TABLE TO HOLD THE VALUES FROM MAKT TABLE.
    data : begin of t_makt occurs 0,
    matnr like mara-matnr,
    maktx like makt-maktx,
    spras like makt-spras,
    end of t_makt.
    * INTERNAL TABLE WHICH ACTUALLY MERGES ALL THE OTHER INTERNAL TABLES.
    data: begin of itab1 occurs 0,
    matnr like mara-matnr,
    meins like mara-meins,
    maktx like makt-maktx,
    spras like makt-spras,
    werks like marc-werks,
    minbe like marc-minbe,
    end of itab1.
    * THE FOLLOWING DECLARATION IS USED FOR DEFINING THE FIELDCAT
    * AND THE LAYOUT FOR THE ALV.
    * HERE AS slis_t_fieldcat_alv IS A INTERNAL TABLE WITHOUT A HEADER LINE
    * WE EXPLICITELY DEFINE AN INTERNAL TABLE OF THE SAME STRUCTURE AS THAT
    * OF slis_t_fieldcat_alv BUT WITH A HEADER LINE IN THE DEFINITION.
    * THIS IS DONE TO MAKE THE CODE SIMPLER.
    * OTHERWISE WE MAY HAVE TO DEFINE THE STRUCTURE AS IN THE NORMAL SAP
    * PROGRAMS.
    * IN THE FIELDCATALOG TABLE WE ACTUALLY PASS THE FIELDS FROM ONE OR
    * MORE TABLES AND CREATE A STRUCTURE
    * IN THE LAYOUT STRUCTURE WE BASICALLY DEFINE THE FORMATTING OPTIONS
    * LIKE DISPLAY IN THE ZEBRA PATTERN ,THE HOTSPOT OPTIONS ETC.
    data: fieldcatalog type slis_t_fieldcat_alv with header line,
    fieldlayout type slis_layout_alv.
    * DECLARING THE EVENTTABLE INTERNL TABLE FOR USING EVENTS LIKE
    * TOP-OF-PAGE ETC.
    data : eventstab type slis_t_event with header line.
    * DECLARING AN INTERNAL TABLE TO HOLD THE DATA FOR THE TOP-OF-PAGE
    data : heading type slis_t_listheader with header line.
    data : heading1 type slis_t_listheader with header line.
    data : heading2 type slis_t_listheader with header line.
    data : heading3 type slis_t_listheader with header line.
    data : heading4 type slis_t_listheader with header line.
    data : heading5 type slis_t_listheader with header line.
    data : heading6 type slis_t_listheader with header line.
    data : heading7 type slis_t_listheader with header line.
    data : heading8 type slis_t_listheader with header line.
    * STRUCTURE TO PASS THE COLOR ATTRIBUTES FOR DISPLAY.
    data : colorstruct type slis_coltypes.
    * INITIALIZATION. *
    initialization.
    syrepid = sy-repid.
    sypagno = sy-pagno.
    clear fieldcatalog.
    * START-OF-SELECTION. *
    start-of-selection.
    * SUBROUTINE TO POPULATE THE COLORSTRUCT
    perform fill_colorstruct using colorstruct.
    * SUBROUTINE TO POPULATE THE FIELDS OF THE FIELD CATALOGUE
    perform populate_fieldcatalog.
    * SUBROUTINE TO SELECT DATA FROM VARIOUS TABLES AND POPULATE IT IN THE
    * INTERNAL TABLE.
    perform selectdata_and_sort.
    * SUBROUTINE TO POPULATE THE LAYOUT STRUCTURE.
    perform populate_layout using fieldlayout.
    * SUBROUTINE TO CALL THE FUNCTION MERGE TO ENSURE PROPER DISPLAY.
    perform merge_fieldcatalog.
    * SUBROUTINE TO POPULATE THE EVENTSTAB.
    perform fill_eventstab tables eventstab.
    * SUBROUTINE TO POPULATE THE HEADING TABLES.
    perform fill_headingtable tables heading using 'HEADING'.
    perform fill_headingtable tables heading1 using 'HEADING1'.
    perform fill_headingtable tables heading2 using 'HEADING2'.
    perform fill_headingtable tables heading3 using 'HEADING3'.
    perform fill_headingtable tables heading4 using 'HEADING4'.
    perform fill_headingtable tables heading5 using 'HEADING5'.
    perform fill_headingtable tables heading6 using 'HEADING6'.
    perform fill_headingtable tables heading7 using 'HEADING7'.
    perform fill_headingtable tables heading8 using 'HEADING8'.
    * SUBROUTINE TO DISPLAY THE LIST.
    perform display_alv_list.
    * FORMS
    * IN THIS SUBROUTINE WE POPULATE THE FIELDCATALOG TABLE WITH THE NAMES
    * OF THE TABLE,FIELDNAME,WHETHER IT IS KEY FIELD OR NOT,HEADING AND
    * COLUMN JUSTIFICATION.
    form populate_fieldcatalog.
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MATNR' 'X' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MEINS' ' '.
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MAKTX' ' ' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MTART' ' ' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MATKL' ' ' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'SPRAS' ' ' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'WERKS' ' ' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MINBE' ' ' .
    endform. " POPULATE_FIELDCATALOG
    * FORM FILL_FIELDS_OF_FIELDCATALOG *
    * --> FIELDCATALOG *
    * --> P_TABNAME *
    * --> P_FIELDNAME *
    * --> P_KEY *
    * --> P_KEY *
    form fill_fields_of_fieldcatalog tables fieldcatalog
    structure fieldcatalog
    using p_tabname
    p_fieldname
    p_key.
    * p_no_out.
    fieldcatalog-tabname = p_tabname.
    fieldcatalog-fieldname = p_fieldname.
    fieldcatalog-key = p_key.
    fieldcatalog-emphasize = '1234'.
    *fieldcatalog-no_out = p_no_out.
    append fieldcatalog.
    endform. " FILL_FIELDSOFFIELDCATALOG
    * FORM POPULATE_LAYOUT *
    * --> FIELDLAYOUT *
    form populate_layout using fieldlayout type slis_layout_alv.
    fieldlayout-f2code = '&ETA' .
    fieldlayout-zebra = 'X'.
    * FOR THE WINDOW TITLE.
    fieldlayout-window_titlebar = 'ALV with Events'.
    fieldlayout-colwidth_optimize = 'X'.
    fieldlayout-no_vline = ' '.
    *fieldlayout-no_input = 'X'.
    fieldlayout-confirmation_prompt = ''.
    fieldlayout-key_hotspot = 'X'.
    * This removes the column headings if the flag is set to 'X'
    fieldlayout-no_colhead = ' '.
    *fieldlayout-hotspot_fieldname = 'MAKTX'.
    fieldlayout-detail_popup = 'X'.
    * fieldlayout-coltab_fieldname = 'X'.
    endform. " POPULATE_LAYOUT
    * FORM SELECTDATA_AND_SORT *
    form selectdata_and_sort.
    select matnr meins mtart matkl from mara
    into corresponding fields of t_mara
    up to 500 rows .
    select matnr maktx spras from makt
    into corresponding fields of t_makt
    where matnr = t_mara-matnr and
    spras = sy-langu.
    select matnr werks minbe from marc
    into corresponding fields of t_marc
    where matnr = t_mara-matnr.
    append t_marc.
    endselect.
    append t_makt.
    endselect.
    append t_mara.
    endselect.
    perform populate_itab1.
    sort itab1 by matnr.
    endform. " SELECTDATA_AND_SORT
    * FORM MERGE_FIELDCATALOG *
    form merge_fieldcatalog.
    call function 'REUSE_ALV_FIELDCATALOG_MERGE'
    exporting
    i_program_name = syrepid
    i_internal_tabname = 'ITAB1'
    * i_structure_name = 'COLORSTRUCT'
    * I_CLIENT_NEVER_DISPLAY = 'X'
    i_inclname = syrepid
    changing
    ct_fieldcat = fieldcatalog[]
    exceptions
    inconsistent_interface = 1
    program_error = 2
    others = 3.
    endform. " MERGE_FIELDCATALOG
    * IN THIS FUNCTION THE MINIMUM PARAMETERS THAT WE NEED TO PASS IS AS
    * FOLLOWS:-
    * i_callback_program --> CALLING PROGRAM NAME
    * i_structure_name --> STRUCTURE NAME.
    * is_layout --> LAYOUT NAME.
    * it_fieldcat ---> BODY OF THE FIELD CATALOGUE INTERNAL TABLE
    form display_alv_list.
    call function 'REUSE_ALV_LIST_DISPLAY'
    exporting
    * I_INTERFACE_CHECK = ' '
    i_callback_program = syrepid
    * I_CALLBACK_PF_STATUS_SET = ' '
    * I_CALLBACK_USER_COMMAND = ' '
    i_structure_name = 'ITAB1'
    is_layout = fieldlayout
    it_fieldcat = fieldcatalog[]
    * IT_EXCLUDING =
    * IT_SPECIAL_GROUPS =
    * IT_SORT =
    * IT_FILTER =
    * IS_SEL_HIDE =
    * I_DEFAULT = 'X'
    * THE FOLLOWING PARAMETER IS SET AS 'A' INORDER TO DISPLAY THE STANDARD
    * TOOL BAR
    i_save = 'A'
    * IS_VARIANT = ' '
    it_events = eventstab[]
    * IT_EVENT_EXIT =
    * IS_PRINT =
    * I_SCREEN_START_COLUMN = 0
    * I_SCREEN_START_LINE = 0
    * I_SCREEN_END_COLUMN = 0
    * I_SCREEN_END_LINE = 0
    * IMPORTING
    * E_EXIT_CAUSED_BY_CALLER =
    * ES_EXIT_CAUSED_BY_USER =
    tables
    t_outtab = itab1
    exceptions
    program_error = 1
    others = 2.
    endform. " DISPLAY_ALV_LIST
    *& Form POPULATE_ITAB1
    * text
    * --> p1 text
    * <-- p2 text
    form populate_itab1.
    loop at t_mara.
    loop at t_makt where matnr = t_mara-matnr.
    loop at t_marc where matnr = t_mara-matnr.
    move-corresponding t_mara to itab1.
    move-corresponding t_makt to itab1.
    move-corresponding t_marc to itab1.
    append itab1.
    endloop.
    endloop.
    endloop.
    endform. " POPULATE_ITAB1
    *& Form FILL_EVENTSTAB
    * text
    * -->P_EVENTSTAB text *
    form fill_eventstab tables p_eventstab structure eventstab.
    * WHEN THE FOLLOWING FUNCTION IS CALLED THE SYSTEM POPULATES THE
    * INTERNAL TABLE EVENTSTAB WITH A LIST OF EVENTS NAME.
    * AS SHOWN BELOW WHEN USING I_LIST_TYPE = 0 THE FUNCTION RETURNS 14
    * EVENTS NAME.
    call function 'REUSE_ALV_EVENTS_GET'
    exporting
    i_list_type = 0
    importing
    et_events = p_eventstab[]
    exceptions
    list_type_wrong = 1
    others = 2.
    * BY CALLING THE ABOVE FUNCTION WE FIRST POPULATE THE EVENTSTAB WITH
    * THE PREDEFINED EVENTS AND THEN WE MOVE THE FORM NAME AS SHOWN BELOW.
    * WE ASSIGN A FORM NAME TO THE EVENT AS REQUIRED BY THE USER.
    * FORM NAME CAN BE ANYTHING.THE PERFORM STATEMENT FOR THIS FORM
    * IS DYNAMICALY CALLED.
    read table p_eventstab with key name = slis_ev_top_of_page.
    if sy-subrc = 0 .
    move 'TOP_OF_PAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_top_of_coverpage.
    if sy-subrc = 0 .
    move 'TOP_OF_COVERPAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_end_of_coverpage .
    if sy-subrc = 0 .
    move 'END_OF_COVERPAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_foreign_top_of_page.
    if sy-subrc = 0 .
    move 'FOREIGN_TOP_OF_PAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_foreign_end_of_page.
    if sy-subrc = 0 .
    move 'FOREIGN_END_OF_PAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_list_modify.
    if sy-subrc = 0 .
    move 'LIST_MODIFY' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_top_of_list.
    if sy-subrc = 0 .
    move 'TOP_OF_LIST' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_end_of_page.
    if sy-subrc = 0 .
    move 'END_OF_PAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_end_of_list .
    if sy-subrc = 0 .
    move 'END_OF_LIST' to p_eventstab-form.
    append p_eventstab.
    endif.
    endform. " FILL_EVENTSTAB
    *& Form FILL_HEADINGTABLE
    * text
    * -->P_HEADING text *
    form fill_headingtable tables p_heading structure heading
    using tablename.
    case tablename.
    when 'HEADING'.
    p_heading-typ = 'H'.
    concatenate
    ' REPORT NAME:-' syrepid
    ' ABB Industry Pte Ltd' into p_heading-info.
    append p_heading.
    write sy-datum using edit mask '__/__/____' to sydatum.
    concatenate
    ' DATE:-' sydatum ' USER: ' sy-uname 'PAGE NO:' sypagno
    into p_heading-info.
    append p_heading.
    when 'HEADING1'.
    p_heading-typ = 'H'.
    p_heading-info = 'TOP-OF-COVER-PAGE'.
    append p_heading.
    when 'HEADING2'.
    p_heading-typ = 'H'.
    p_heading-info = 'END-OF-COVER-PAGE'.
    append p_heading.
    when 'HEADING3'.
    p_heading-typ = 'H'.
    p_heading-info = 'FOREIGN-TOP-OF-PAGE'.
    append p_heading.
    when 'HEADING4'.
    p_heading-typ = 'H'.
    p_heading-info = 'FOREIGN-END-OF-PAGE'.
    append p_heading.
    * WHEN 'HEADING5'.
    * P_HEADING-TYP = 'H'.
    * P_HEADING-INFO = 'LIST-MODIFY'.
    * APPEND P_HEADING.
    when 'HEADING6'.
    p_heading-typ = 'H'.
    p_heading-info = 'END-OF-PAGE'.
    append p_heading.
    when 'HEADING7'.
    p_heading-typ = 'H'.
    p_heading-info = 'END-OF-LIST'.
    append p_heading.
    when 'HEADING8'.
    p_heading-typ = 'H'.
    p_heading-info = 'TOP-OF-LIST'.
    append p_heading.
    endcase.
    endform. " FILL_HEADINGTABLE
    * FORM TOP_OF_PAGE *
    form top_of_page.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading[]
    exceptions
    others = 1.
    endform.
    *& Form FILL_COLORSTRUCT
    * text
    * -->P_COLORSTRUCT text *
    form fill_colorstruct using p_colorstruct type slis_coltypes .
    p_colorstruct-heacolfir-col = 6.
    p_colorstruct-heacolfir-int = 1.
    p_colorstruct-heacolfir-inv = 1.
    endform. " FILL_COLORSTRUCT
    * FORM TOP_OF_COVERPAGE *
    form top_of_coverpage.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading1[]
    exceptions
    others = 1.
    endform.
    * FORM END_OF_COVERPAGE *
    form end_of_coverpage.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading2[]
    exceptions
    others = 1.
    endform.
    * FORM FOREIGN_TOP_OF_PAGE *
    form foreign_top_of_page.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading3[]
    exceptions
    others = 1.
    endform.
    * FORM FOREIGN_END_OF_PAGE *
    form foreign_end_of_page.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading4[]
    exceptions
    others = 1.
    endform.
    * FORM LIST_MODIFY *
    *FORM LIST_MODIFY.
    * CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    * EXPORTING
    * IT_LIST_COMMENTARY = HEADING5[]
    * EXCEPTIONS
    * OTHERS = 1.
    *ENDFORM.
    * FORM END_OF_PAGE *
    form end_of_page.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading6[]
    exceptions
    others = 1.
    endform.
    * FORM END_OF_LIST *
    form end_of_list.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading7[]
    exceptions
    others = 1.
    endform.
    * FORM TOP_OF_LIST *
    form top_of_list.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading8[]
    exceptions
    others = 1.
    endform.
    reward if helpful
    raam

  • IN ALV Report 'SAVE LAYOUT' option missing

    Dear All,
                 I have created one report in ALV GRID using ABAP OBJECTS(Using class CL_GUI_CUSTOM_CONTAINER and
    CL_GUI_ALV_GRID).But in output when i click on change layout option i am not getting SAVE layout option.
    I have already passed I_SAVE parameter = 'A' while calling metod SET_TABLE_FOR_FIRST_DISPLAY. But i didnt worked.
               Please do needful.
    Regards,
    Mayank

    Hi,
    You can manage display variants by using parameters, “is_variant” and “i_save” of “set_table_for_first_display”. Here are options for variant handling. <structure_name> is the variant-defining structure of type “DISVARIANT”. The field “report” in this structure should contain the value of “sy-repid.”
    Hope this helps. Reward points if helpful.
    Thanks,
    Balaji

  • ALV Grid save layout

    Hi all,
    in a programm there is a ALV grid of type cl_gui_alv_grid.
    When I run the programm, I can change the layout (hide columns etc) but I can't
    save the changes I make. What do I have to do to activate the saving of the layout?
    Which field do I have to set to activate it or what can already be set which disables the showing of the save possibility?
    Greetings Fred.

    Hi Fred
    U need to transfer the name of the report and the user to the grid class in order to allow to save the layout:
    DATA: LT_VARIANT  TYPE DISVARIANT.
    LT_VARIANT-REPORT   = SY-REPID.
    LT_VARIANT-USERNAME = SY-UNAME.
    CALL METHOD ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY
           EXPORTING
                     IS_VARIANT                      = LT_VARIANT
                     I_SAVE                             = 'A'
                     IS_LAYOUT                       = LT_LAYOUT
                     IT_TOOLBAR_EXCLUDING = GT_NO_CODES
           CHANGING 
                     IT_OUTTAB                  = T_OUTPUT
                     IT_FIELDCATALOG      = GT_FIELDCAT.
    The user has to have the authorizations to manage the layout.
    Max

  • ALV report - SAving layout

    Hi,
    I have created an ALV report using the class CL_GUI_ALV_GRID. The report has a toolbar which allows the layout of the report to be changed. But, it doesn't have any provision to save layouts. How do I enable this functionality?
    Any help would be appreciated.
    Thanks,
    Divyaman

    Hi,
    while calling method grid1->set_table_for_first_display
    pass parameter i_save = 'A'.
    CALL METHOD grid1->set_table_for_first_display
        EXPORTING
          i_structure_name = 'ZCA0FCSTFTOP'
          is_layout        = grid_layout
          is_variant       = s_variant
          i_save           = 'A'
        CHANGING
          it_outtab        = t_zca0fcstftop
          it_fieldcatalog  = fieldcat.
    regards,
    vikas.
    plz reward if helpful...

  • ALV report - copy layout to another user

    Hello,
    I have a question about ALV reports.
    In ALV we have option to select layout and save it by user-specific.
    How to copy this layout to another user?
    Is there some function/Bapi?
    Thanks in advance,
    Michal

    Hi Michael,
    Here are the steps I documented for managing this procedure:
    First Step is to READ the Layout into the Program
         The parameters for the layout can be found in table LTDX
    Goto SE37 and enter: LT_DBDATA_READ_FROM_LTDX
    When (READ) you will input information for the following parameters:
    Report Name
    Handle
    Log Group
    User
    Variant
    Type
    An example is shown below:
    <screen shots didn't load in my response> email if you'd like the document with screen shots>
    Execute.
    Now our next step is to WRITE the information from the program into table: LTDX
    While at the Function Builder Screen enter the new function module: LT_DBDATA_WRITE_TO_LTDX
    When you (WRITE) you will input information for the following parameters:
    Report Name
    Handle
    Log Group
    User
    Variant
    Type
    When completed, your input screen for (WRITE) should look like the screen below:
      <screen shots didn't load in my response> email if you'd like the document with screen shots>
    IMPORTANT     When entering information for IS_VARKEY, remember to use the u201Cnew useru201D ID
    When entering information for IS_VARIANT, remember to enter information exactly as found in table LTDX and remember that the parameter:  DEPENDVARS may be needed to complete your entry
    Now Execute the Function Module.  When completed go to table: LTDX and confirm that your new entry has been added.
    Pre Checklist:
    1.)     Capture entries (users) you want to copy from table: LTDX
    2.)     Make sure you have access to execute function modules/eCATT scripts
    3.)     Make sure you have table display access (needed to find and validate updates)
    If you'd like the documentation with screen shots please reply with your email address.
    Cheers,
    Robert

Maybe you are looking for

  • Can I apply electronic signatures to secured PDF's and hide them?

    Hello, I currently have our product datasheets on secured PDF's (approximately 40,000 of them). We post these datasheets directly onto our website. What I am looking to do is to have 3 people electronically sign-off on each of these datasheets, befor

  • Project documentation

    Hello, We hare using solution manager for project documentation. We have put a lot of documentation into various projects. Is there a central transaction on the solution manager, where we can see all documentation stored, in the different documentati

  • How to setup Appraisal Template in multiple languages?

    Hi, We are currently in R12.1.1. We would like to setup appraisal template in multiple languages. For example, Template 1 - English Template 2 - Malay. Appreciate guidance on how this can be done. Thanks and Regards, SC

  • Propagation of security between appplications and servers

    It appears that WebLogic propagates security between applications and domains using a cookie. So as long as all applications use the same cookie id (JSESSIONID) then a single sign-on is enabled between applications. Is it correct this would apply to

  • Screen Issues since upgrading

    Since upgrading to `lion,  my 2007 Macpro often runs very hot and also I have been experiencing some screen issues (hangs, on reboot get a pink and grey check effect, wont boot) Support center advised on some resets and a re-install of Lion.  However