Personas 2.0: How to catch the selection event of a dropdown list?

Hi Personas 2.0 experts,
The use case:
I want to use a text field to show the "key" of an item that can be selected in a dropdown list.
The issue:
After clicking the list and selecting an item, the text field is not automatically updated with the newly selected item content.
Anyone has an idea to how make such an auto update (pls note I don't want to use an extra button to do the update, just by clicking the list only)?
Thx.
Dong

To display the key (the actual value) that's selected in a dropdown, there is a property called ShowKeys which you could set.
However if you'd want to show the selected value in another field upon picking an option, this would require an event associated in Personas 2.0 with the selection of a dropdown value. This is currently not available so I'm afraid what you are looking for is not possible.
Edit: It turns out I was wrong... there is an option (at least it's there in SP3) which allows linking a script button to the dropdown property OnValueChanged, so you can use this to do any script action you need when the user selects a value.
(thanks, Sushant )
Message was edited by: Tamas Hoznek

Similar Messages

  • How to read the selected value of a dropdown list box

    Hello,
    I have 2 custom fields which are of type dropdown list on Accounts(CRMM_ACCOUNT) PCUI application details tab.I need to read the selected value of first dropdown list item,based on that second dropdown list will be populated.
    I know where to populate the dropdown list box,it is in FILL_DROPDOWN_LISTBOX.
    I dont know how to trap the selection made on dropdown list.
    PLease guide me on how to trap the dropdown list field selection value.
    Thanks in advance.
    Thirumala.

    Hello,
    Check what is done in standard for the fielf REGION which is inked to the country.
    Otherwise, you can do the following :
    - in field group customizing, for field 1, flag the 'send request' flag. So, when you change the value in this field via the dropdown, the MAC methods are immediately called.
    - Put the new value in a global variable (GV).
    - in the fill_dropdown_listbox method, get the value from this GV and based on it, filter the values for the dropdown of field 2.
    Hope this will help you,
    Regards,
    Frederic

  • How to catch the mouse event from the JTable cell of  the DefaultCellEditor

    Hi, my problem is:
    I have a JTable with the cells of DefaultCellEditor(JComboBox) and added the mouse listener to JTable. I can catch the mouse event from any editor cell when this cell didn't be focused. However, when I click the editor to select one JComboBox element, all the mouse events were intercepted by the editor.
    So, how can I catch the mouse event in this case? In other word, even if I do the operation over the editor, I also need to catch the cursor position.
    Any idea will be highly appreciated!
    Thanks in advance!

    Hi, bbritta,
    Thanks very much for your help. Really, your code could run well, but my case is to catch the JComboBox event. So, when I change the JTextField as JComboBox, it still fail to catch the event. The following is my code. Could you give me any other suggestion?
    Also, any one has a good idea for my problem? I look forward to the right solution to this problem.
    Thanks.
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Test3
    extends JFrame {
    // JTextField jtf = new JTextField();
    Object[] as = {"aa","bb","cc","dd"};
    JComboBox box = new JComboBox(as);
    public Test3() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Container content = getContentPane();
    String[] head = {
    "One", "Two", "Three"};
    String[][] data = {
    "R1-C1", "R1-C2", "R1-C3"}
    "R2-C1", "R2-C2", "R2-C3"}
    JTable jt = new JTable(data, head);
    box.addMouseListener(new MouseAdapter() {
    // jtf.addMouseListener(new MouseAdapter() {
    public void mouseClicked(MouseEvent e)
    System.out.println("-------------------JComboBox mouseclick....");
    jt.addMouseListener(new MouseAdapter() {
    public void mouseClicked(MouseEvent e)
    System.out.println("-------------------JTable mouseclick....");
    // jt.setDefaultEditor(Object.class, new DefaultCellEditor(jtf));
    jt.setDefaultEditor(Object.class, new DefaultCellEditor(box));
    content.add(new JScrollPane(jt), BorderLayout.CENTER);
    setSize(300, 300);
    public static void main(String[] args) {
    new Test3().setVisible(true);
    }

  • How to catch the ApplicationStart event??

    how to catch the application start event??
    i want to do some actions (Java code) that will be run once when the application started
    this like ApplicationStart event in ASP.NET
    how ???

    Google for javax.servlet.ServletContextListener. You need to write a class that implements this interface and register it in web.xml.
    Please ask questions like this in the JDeveloper or OC4J forum since they are not related to JHeadstart.
    Steven Davelaar,
    JHeadstart Team.

  • Creating a dropdown list which is depending on the selections from 2 other dropdown lists

    Hi,
    I'm new to LiveCycle and JavaScript and I was hoping someone could help me with this form I am creating.
    This is what I want it to do:
    I have a dropdown list named 'Area' which drops down to 3 options.  Once the form filler selects an area, they will then select an option from dropdown list 2 which is named 'Brand'  (there is up to 5 options), I then I want dropdown list 3 named 'Address" to have all of the address of the area and brand selected.
    Is this possible?
    Thankyou for your help!!

    Hi,
    here is an example for three dropdowns with dependencies.
    You have to copy this code in the change-event of the fist dd:
    Number and Letter are the entries in my example in the first dd. You have to adapt to your entries. Then you have your object names change in the script.
    DropdownListe2.addItem("123"); - this phrase you could use several times (in your example 5x for the second dd)
    switch (xfa.event.newText)
        case "Number":
            DropdownListe2.clearItems();
            DropdownListe3.clearItems();
            DropdownListe3.rawValue = null;
            DropdownListe2.addItem(" ");
            DropdownListe2.addItem("123");
            DropdownListe2.addItem("456");
            DropdownListe2.selectedIndex = 0;
            break;
        case "Letter":
            DropdownListe2.clearItems();
            DropdownListe3.clearItems();
            DropdownListe3.rawValue = null;
            DropdownListe2.addItem(" ");
            DropdownListe2.addItem("A");
            DropdownListe2.addItem("B");
            DropdownListe2.selectedIndex = 0;
            break;
        default:
            break;
    This code you have to copy in the change-vent from the second dropdown:
    switch (xfa.event.newText)
        case "123":
            DropdownListe3.clearItems();
            DropdownListe3.addItem(" ");
            DropdownListe3.addItem("123_aa");
            DropdownListe3.addItem("123_bb");
            DropdownListe3.selectedIndex = 0;
            break;
        case "456":
            DropdownListe3.clearItems();
            DropdownListe3.addItem(" ");
            DropdownListe3.addItem("456_aa");
            DropdownListe3.addItem("456_bb");
            DropdownListe3.selectedIndex = 0;
            break;
        case "A":
            DropdownListe3.clearItems();
            DropdownListe3.addItem(" ");
            DropdownListe3.addItem("A_1");
            DropdownListe3.addItem("A_2");
            DropdownListe3.selectedIndex = 0;
            break;
        case "B":
            DropdownListe3.clearItems();
            DropdownListe3.addItem(" ");
            DropdownListe3.addItem("B_1");
            DropdownListe3.addItem("B_2");
            DropdownListe3.selectedIndex = 0;
            break;
        default:
            break;
    Here you will find an example:
    https://workspaces.acrobat.com/?d=WjPa976zd1Ekdahx9r9kUw
    Hope it will helps you,
    Mandy

  • How to get the selected entry from a Dropdown (using IF_WD_SELECT_OPTIONS)

    Hello,
    I created a Selection screen by adding attribute M_HANDLER of type IF_WD_SELECT_OPTIONS.
    This way I can create a selection screen with normal select-options.
    Now I added a parameter for a dropdown list. The Value set is passed correctly. No problem there. The values are filled and diplayed correctly.
    * add the SHIP-TO field to the selection
      DATA: ltp_text  TYPE string.
      DATA: lta_ship_to_table type WDY_KEY_VALUE_table,
            lwa_ship_to       like LINE OF lta_ship_to_table.
      DATA: context_node_ship_to_table TYPE REF TO if_wd_context_node.
    * get all declared attributes
      context_node_ship_to_table = wd_context->get_child_node( 'SHIP_TO_TABLE' ).
      context_node_ship_to_table->get_static_attributes_table(
        IMPORTING
          table  = lta_ship_to_table ).
      ltp_text = wd_assist->if_wd_component_assistance~get_text( 'L01' ).
      wd_this->m_handler_dlv->add_parameter_field(
                             i_id           = 'KUNWE'
                             i_description  = ltp_text
                             i_as_dropdown  = 'X'
                             it_value_set   = lta_ship_to_table
                             i_within_block = 'BLK1' ).
    The problem is to GET the selected value in the method that is called after clicking on the Search button.
    I tried using several methods, for example GET_PARAMETER_FIELD and GET_SELECTION_SCREEN_ITEMS.
    * Get the Ship-to
      DATA: ltp_kunwe       TYPE REF TO data.
      ltp_kunwe = wd_this->m_handler_dlv->get_value_of_parameter_field(
                                            i_id = 'KUNWE' ).
    * Assign it to a field symbol
      ASSIGN ltp_kunwe->* TO <fs_kunwe>.
    Result was INITIAL.
    DATA: lrf_get_selection_screen_items TYPE if_wd_select_options=>tt_selection_screen_item.
      wd_this->m_handler_dlv->get_selection_screen_items(
                  IMPORTING
                     et_selection_screen_items = lrf_get_selection_screen_items ).
    Result was INITIAL, although the table was retrieved with all values.
    wd_this->m_handler_dlv->get_parameter_field(
                                          EXPORTING
                                            i_id = 'KUNWE'
                                          IMPORTING
                                            e_value = ltp_kunwe ).
    Also INITIAL.
    It looks like I am missing a step (maybe to set lead selection for this field). What did I miss?
    How can I get to the value?

    Thanks!
    Problem solved:
    DATA: lr_value             TYPE REF TO data.
    CREATE DATA lr_value TYPE string.                     "<----  I was missing this code
      LOOP AT lta_ship_to_table INTO lwa_ship_to.
        value_set-key   = lwa_ship_to-key.
        value_set-value = lwa_ship_to-value.
    *    INSERT value_set INTO TABLE lt_value_set.
        append value_set TO lt_value_set.
      ENDLOOP.
      ltp_text = wd_assist->if_wd_component_assistance~get_text( 'L01' ).
      wd_this->m_handler_dlv->add_parameter_field(
                              i_description  = ltp_text
                              i_id           = 'KUNWE'
                              i_value        = lr_value   "<----  I was missing this code
                              i_as_dropdown  = abap_true
                              it_value_set   = lt_value_set
                              i_within_block = 'BLK1' ).
    I looked at that parameter, but thought is was only used to SET the value, not required to get it back as well. Because it IS an import parameter...

  • How to catch the select-options value in AT SELECTION-SCREEN event?

    Hi,all
    This is my code:
    SELECT-OPTIONS: P_BUKRS FOR T012-BUKRS.
    PARAMETERS: P_BNKA TYPE BANKA.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_BNKA.
    select single bankl from bnka where bukrs = p_bukrs.
    Last statement failed because p_bukrs was null.
    So, How can I got the value of p_bukrs in AT SELECTION-SCREEN event?

    Hi Jie,
    try following code.
    REPORT zanu_test.
    TABLES : t012.
    PARAMETERS: p_bukrs LIKE t012-bukrs.
    PARAMETERS: p_bnka TYPE banka.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_bnka.
      DATA: BEGIN OF dynpfields OCCURS 0.
              INCLUDE STRUCTURE dynpread.
      DATA: END OF dynpfields.
    *---  IT for changing fields on the screen
      DATA : t_dynp_flds LIKE  dynpread OCCURS 0 WITH HEADER LINE,
             t_dynpfields LIKE  dynpread OCCURS 0 WITH HEADER LINE.
      DATA: l_bukrs  LIKE t012-bukrs.
      DATA: BEGIN OF it_bank OCCURS 0,
              banka LIKE bnka-banka,
           END OF it_bank.
      DATA: l_tabix LIKE sy-tabix.
      dynpfields-fieldname = 'P_BUKRS'. APPEND dynpfields.
      CALL FUNCTION 'DYNP_VALUES_READ'
           EXPORTING
                dyname               = 'ZANU_TEST'
                dynumb               = sy-dynnr
           TABLES
                dynpfields           = dynpfields
           EXCEPTIONS
                invalid_abapworkarea = 1
                invalid_dynprofield  = 2
                invalid_dynproname   = 3
                invalid_dynpronummer = 4
                invalid_request      = 5
                no_fielddescription  = 6
                invalid_parameter    = 7
                undefind_error       = 8
                double_conversion    = 9
                stepl_not_found      = 10
                OTHERS               = 11.
      IF sy-subrc EQ 0.
        READ TABLE dynpfields WITH KEY fieldname = 'P_BUKRS'.
        IF sy-subrc EQ 0.
          MOVE dynpfields-fieldvalue TO l_bukrs.
        ENDIF.
      ELSE.
        EXIT.
      ENDIF.
      SELECT b~banka INTO CORRESPONDING FIELDS OF TABLE it_bank
      FROM t012 AS a
      INNER JOIN bnka AS b
      ON abanks = bbanks AND abankl = bbankl
      WHERE a~bukrs = l_bukrs.
      CLEAR l_tabix.
      CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY'
           EXPORTING
                endpos_col   = 85
                endpos_row   = 20
                startpos_col = 50
                startpos_row = 10
                titletext    = text-035
           IMPORTING
                choise       = l_tabix
           TABLES
                valuetab     = it_bank
           EXCEPTIONS
                break_off    = 1
                OTHERS       = 2.
      IF sy-subrc EQ 0.
        READ TABLE it_bank INDEX l_tabix.
        IF sy-subrc EQ 0.
    *---  Clear IT t_dynp_flds
          CLEAR : t_dynp_flds,
                  t_dynp_flds[].
    *---  Append screen values
          t_dynp_flds-fieldname = 'P_BNKA'.
          t_dynp_flds-fieldvalue = it_bank-banka.
          APPEND t_dynp_flds.
          CLEAR  t_dynp_flds.
        ENDIF.
      ENDIF.
    *---  Change screen field contents w/o PBO
      CALL FUNCTION 'DYNP_VALUES_UPDATE'
           EXPORTING
                dyname               = 'ZANU_TEST'
                dynumb               = sy-dynnr
           TABLES
                dynpfields           = t_dynp_flds
           EXCEPTIONS
                invalid_abapworkarea = 1
                invalid_dynprofield  = 2
                invalid_dynproname   = 3
                invalid_dynpronummer = 4
                invalid_request      = 5
                no_fielddescription  = 6
                undefind_error       = 7
                OTHERS               = 8.
    START-OF-SELECTION.
    -Anu

  • How to get the selected cell in a Matrix.

    Hi all,
    Does any one know how to get the selected cell in a Matrix. Please help to answer. Thanks in advance.
    Regards,
    Thanh Tran

    Hi,
    You can get the value of every cell  using UI API but using datasources is a better aproach.
    Using UI API you need to know the event you want to catch. Example: Catching click event in itemcode column and getting the value (C#):Ki
          if ((pVal.EventType == BoEventTypes.et_CLICK) &&  //CLICK EVENT
              (pVal.ItemUID == "38")  &&                                       //MATRIX-> ITEM 38
              (pVal.ColUID == "1") &&                                           //ITEMCODE COLUMN
              (!pVal.InnerEvent) &&                                
              (!pVal.BeforeAction))
                    Form form = null;
                    try
                        form = kernel.Application.Forms.Item(pVal.FormUID);
                        form.Freeze(true);
                        Matrix mtx = (form.Items.Item(pVal.ItemUID).Specific as Matrix);  //MATRIX OBJECT
                        string itemCode = (mtx.Columns.Item("1").Cells.Item(pVal.Row).Specific as EditText).Value.Trim();  //itemcode = VALUE OF CELL. COLUMN "1": ITEMCODE COLUMN. CURRENT ROW: pVal.Row
                    catch (Exception ex)
                        kernel.Application.MessageBox("Error " + ex.Message, 0, "", "", "");
                    finally
                         if (form != null)
                            form.Freeze(false);
    Kind regards,
    Nauzet Díaz

  • How to insert the select query result into table?

    How to insert the select query result into table?
    SELECT  top 20 creation_time  
            ,last_execution_time 
            ,total_physical_reads
            ,total_logical_reads  
            ,total_logical_writes
            , execution_count 
            , total_worker_time
            , total_elapsed_time 
            , total_elapsed_time / execution_count avg_elapsed_time
            ,SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,
             ((CASE statement_end_offset 
              WHEN -1 THEN DATALENGTH(st.text)
              ELSE qs.statement_end_offset END 
                - qs.statement_start_offset)/2) + 1) AS statement_text
    FROM sys.dm_exec_query_stats AS qs
    CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
    ORDER BY total_elapsed_time / execution_count DESC;
    Thanks,
    Tirumala

    1. SELECT INTO
    Below method will create table when data is inserted from one table to another table. Its useful when you need exactly same datatype as source table.
    Use AdventureWorks2008R2;
    Go
    ---Insert data using SELECT INTO
    SELECT AddressLine1, City
    INTO BothellAddresses
    FROM Person.Address
    where City = 'Bothell';
    GO
    ---VERIFY DATA
    Select AddressLine1, City
    FROM BothellAddresses
    ---DROP TABLE
    DROP TABLE BothellAddresses
    GO
    2. INSERT INTO SELECT
    Below method will need table to be created prior to inserting data. Its really useful when table is already created and you want insert data from
    another table.
    Use AdventureWorks2008R2;
    Go
    ---Create Table
    CREATE TABLE BothellAddresses (AddressLine1 NVARCHAR(60), City NVARCHAR(30))
    ---Insert into above table using SELECT
    INSERT INTO BothellAddresses(AddressLine1, City)
    SELECT AddressLine1, City
    FROM Person.Address
    where City = 'Bothell';
    ---VERIFY DATA
    Select AddressLine1, City
    FROM BothellAddresses
    ---DROP TABLE
    DROP TABLE BothellAddresses
    GO
    Regards,
    Vishal Patel
    Blog: http://vspatel.co.uk
    Site: http://lehrity.com

  • How to notify the selected user of a role.

    Hi,
    Currently I have  GP Role Approving Officer link to the EP Group : ApprovingOfficer and GP Role Applicant link to EP Group: Applicant. I have also tag a list of EP user to the EP Group accordingly.
    Whenever the Applicant submit a request via Web Dynpro, the Applicant can select a list of person who of the ApprovingOfficer Group from a dropdown list in  WD UI. Once the Applicant submits the request, there will be a task pending in the ApprovingOfficer GP Runtime.
    I want only the task to be pending only for that selected person of the ApprovingOfficer instead of all the person which is the current case.
    For example,
    Role - ApprovingOfficer consisting user A, user B and user C
    If I am from dept A, the WD UI will displayed user A and user C for selection. Whenever, I select user A, I would like the pending request entry to be reflected in user A GP Runtime only.
    how to I do that? can advise?
    thank you.

    Hi cocomo,
                       This is possible. In GP design time, now I think you are assigning the EP Groups at the block level (for each action). That is the reason the request is send to all the users (approvers) in that group and they all will see it as pending task in their inbox.
                        You have to pick the users dynamically at runtime. For this you can follow these steps.
    1. When the Initiator selects his approver from the dropdown list of webdynpro UI (It should be a portal ID), capture it from the current context element and expose it into GP Context as an attribute say DynApprover  (in complete method.... before this you have to define an attribute DynApprover in getDescription also).
    2. In GP Design time at the block level, instead of assigning the roles directly, make it dynamic -
    >
          -- Select the Process and click on Roles Tab.
          -- Select the Administrator, Overseer, Owner roles manually and leve it as "Initiation Defined" as Role Type
          --Change the Approver's Role Type to "Runtime Defined" (Select this option from the drop down in RoleType column).
          -- Select the Approver's Block and click on Roles Tab.
          -- In the Processor of Approver's Action Choose the GP Attribute (that you have filled with dropdown value and exposed already) from the dropdown list of the "Filled from context Parameter" Column.
    Let me know if you need any clarifications and I am sure it can be made to work....
    Regards
    Ramesh

  • In BI how to filter the selection options based on inputs on top field

    Hi Friends,
    In BI, How to filter the selection options based on inputs on top field.
    The system should automatically filter the lower level drop downs based on the selection of a higher level.
    For e.g. :
    If a user selects a Country then the States drop down should only display the State's belongs to the Country. Similarly when a State is selected, the District drop down should display only those District's belongs to the State.
    Thanks in Advance.
    Regards
    Jayaram M

    Hi Anil,
    Thanks for reply but I couldn't use Compounding Characteristic here. Need some other solution.
    Regards
    Jayaram M

  • How to get the selected values from the shuttle

    Hi
    Please tell me how to get the selected option values from the shuttle leading list.
    Thanks

    you can also obtain the option values present in the leading and trailing lists using the
    following methods:
    public String[] getLeadingListOptionValues(OAPageContext pageContext, OAWebBean
    webBean)
    public String[] getTrailingListOptionValues(OAPageContext pageContext, OAWebBean
    webBean)For example, the following code sample returns an array of values in the trailing list, ordered according to the
    order in which they appear in the list:
    String[] trailingItems =
    shuttle.getTrailingListOptionValues(pageContext, shuttle);Thanks
    --Anil                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • How to Retrieve the Selected Values from selectOrderShuttle using ADF 11g

    Hi Every One,
    Does anyone has idea how to retrieve the selected Items using shuttle and Order of the items using 'SelectOrderShuttle' component ?
    Thanks

    shuttle's valuechangeevent would fire when you shuttle items back and forth.
        public void selectOrderShuttle1_valueChangeListener(ValueChangeEvent valueChangeEvent) {
            ArrayList list = new ArrayList(Arrays.asList(valueChangeEvent.getNewValue()));
            if (list != null){
                for (int i=0; i<list.size(); i++) {
                    int l = list.size()-1;
                    val = list.get(l).toString(); //returns , delimited string
                    if (val != null){
                        val = val.replaceAll("[\\[\\]]", "");
                        StringTokenizer st = new StringTokenizer (val, ",");
                        int nto = st.countTokens ();
                        for (int j = 0; j < nto; j++)
                            String token = st.nextToken ();                     
                ..........

  • How to use the select option to get the multiple bom explosion

    hi friends,
              i have completed the bom exp using parameters to get one material
    input,but i need to adopt select option to give from and to materials
    i ll gives from and to materials with description and bom deails
    i here gave the coding also, pl give me a suggestion how to adpot the select
    optoins instead of parameters ,very urgent
    REPORT PP_BOM_EXPLOSION.
    tables :mara,marc,stpo.
    TYPE-POOLS : SLIS.
    *parameters: p_werks like t001w-werks obligatory.
    SELECT-OPTIONS : p_matnr FOR mara-matnr obligatory.
    **select-options : p_matnr for mara-matnr obligatory.
    PARAMETERS : P_WERKS LIKE T001W-WERKS OBLIGATORY,
            P_MATNR LIKE MARA-MATNR OBLIGATORY.
    *parameters: p_werks like marc-werks obligatory,
    *p_matnr like marc-matnr obligatory.
    constants c_x value 'X'.
    data: begin of it_comp occurs 0,
    matnr like mara-matnr,
    maktl like makt-maktx,
    idnrk like stpox-idnrk,
    ojtxp like stpox-ojtxp,
    menge like stpox-menge,
    meins like stpox-meins,
    matkl like stpox-matmk,
    end of it_comp.
    data : topmat like cstmat.
    data: w_topmat like cstmat.
    DATA : IT_MARA LIKE MARA OCCURS 0 WITH HEADER LINE.
    DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
    DATA : WA_FIELDCAT_LN LIKE LINE OF IT_FIELDCAT.
    DATA : IT_EVENTCAT  TYPE SLIS_T_EVENT.
    DATA : WA_EVENTCAT_LN  LIKE LINE OF IT_EVENTCAT.
    DATA : IT_LAYOUT TYPE SLIS_LAYOUT_ALV.
    DATA: S_COL_POS TYPE I.
    start-of-selection.
    perform explode_assembly.
    PERFORM BUILD_FIELDCATALOG.
    PERFORM DATA_DISPLAY.
    *end-of-selection.
    *perform write_report.
    *top-of-page.
    *perform print_header.
    *form print_header.
    *write: /(18) 'Component'(h00),
    *(40) 'Description'(h01),
    *'Mat.Group'(h02),
    *(18) 'Quantity'(h03).
    *uline.
    *endform.
    *form write_report.
    *write: / w_topmat-matnr under text-h00 color col_heading,
    *w_topmat-maktx under text-h01 color col_heading.
    *loop at it_comp.
    *write: /
    *it_comp-idnrk under text-h00,
    *it_comp-ojtxp under text-h01,
    *it_comp-matkl under text-h02,
    *it_comp-menge unit it_comp-meins under text-h03,
    *it_comp-meins.
    *endloop.
    *uline.
    *endform.
    form explode_assembly.
    data: it_stb like stpox occurs 0 with header line,
    it_stb2 like stpox occurs 0 with header line,
    it_stb3 like stpox occurs 0 with header line,
    w_msg(255) type c.
    SELECT MATNR FROM MARA INTO CORRESPONDING FIELDS OF TABLE IT_MARA
                               WHERE MATNR IN P_MATNR.
    Explode highest level:
    *LOOP AT IT_MARA.
    call function 'CS_BOM_EXPL_MAT_V2'
    exporting
    auskz = c_x
    capid = 'PP01'
    cuols = c_x
    datuv = sy-datum
    knfba = c_x
    ksbvo = c_x
    mbwls = c_x
    mdmps = c_x
    BGIXO = c_x
    MKMAT = c_x
    MMAPS = c_x
    FBSTP = c_x
    FTREL = c_x
    mtnrv = P_MATNR
    werks = p_werks
    importing
    topmat = w_topmat
    tables
    stb = it_stb
    exceptions
    alt_not_found = 1
    call_invalid = 2
    material_not_found = 3
    missing_authorization = 4
    no_bom_found = 5
    no_plant_data = 6
    no_suitable_bom_found = 7
    conversion_error = 8
    others = 9.
    if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
    into w_msg.
    *write: / w_msg.
    exit.
    endif.
    Don't process documents
    delete it_stb where idnrk is initial.
    Don't process valid from furure:
    delete it_stb where datuv >= sy-datum.
    Explode phantom assemblies up to last level
    *do.
    it_stb2[] = it_stb[].
    *delete it_stb2 where dumps is initial.
    *if it_stb2[] is initial.
    *exit.
    *endif.
    *delete it_stb where not dumps is initial.
    delete it_stb where VPRSV <> 'S' OR MMSTA = '61'.
    loop at it_stb2.
    call function 'CS_BOM_EXPL_MAT_V2'
    exporting
    capid = 'PP01'
    auskz = c_x
    cuols = c_x
    datuv = sy-datum
    knfba = c_x
    ksbvo = c_x
    mbwls = c_x
    mdmps = c_x
    FBSTP = c_x
    FTREL = c_x
    mtnrv = it_stb2-idnrk
    werks = p_werks
    tables
    stb = it_stb3
    exceptions
    alt_not_found = 1
    call_invalid = 2
    material_not_found = 3
    missing_authorization = 4
    no_bom_found = 5
    no_plant_data = 6
    no_suitable_bom_found = 7
    conversion_error = 8
    others = 9.
    if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
    into w_msg.
    *write: / w_msg.
    else.
    delete it_stb3 where idnrk is initial.
    delete it_Stb3 where sobsl = 50.
    loop at it_stb3 .
    multiply it_stb3-menge by it_stb2-menge.
    modify it_stb3 transporting menge.
    endloop.
    append lines of it_stb3 to it_stb.
    endif.
    *ENDLOOP.
    endloop.
    *enddo.
    Build table of components collecting the same components from
    all levels
    loop at it_stb.
    it_comp-matkl = it_stb-matmk.
    it_comp-idnrk = it_stb-idnrk.
    it_comp-ojtxp = it_stb-ojtxp.
    it_comp-menge = it_stb-menge.
      CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'
        EXPORTING
        INPUT                = IT_STB-MEINS
        LANGUAGE             = SY-LANGU
        IMPORTING
      LONG_TEXT            =
       OUTPUT               = IT_STB-MEINS
      SHORT_TEXT           =
    EXCEPTIONS
       UNIT_NOT_FOUND       = 1
       OTHERS               = 2
        IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    it_comp-meins = it_stb-meins.
    collect it_comp.
    clear it_comp.
    endloop.
    *READ TABLE IT_COMP INDEX 1.
    *IF SY-SUBRC = 0.
    IT_COMP-MATNR = w_topmat-matnr.
    IT_COMP-MAKTL = w_topmat-maktx.
    INSERT IT_COMP index 1.
    *ENDIF.
    ENDFORM.
    FORM TO APPEND DATA INTO ALV FORM
    FORM BUILD_FIELDCATALOG.
    PERFORM BUILD_FIELDCAT USING 'MATKL' 'Component'.
    PERFORM BUILD_FIELDCAT USING 'MATKL' 'Component'.
    *loop at it_comp.
       PERFORM BUILD_FIELDCAT USING 'MATNR' 'Material'.
      PERFORM BUILD_FIELDCAT USING 'MAKTL' 'Material Description'.
      PERFORM BUILD_FIELDCAT USING 'IDNRK' 'Component'.
      PERFORM BUILD_FIELDCAT USING 'OJTXP' 'Description'.
      PERFORM BUILD_FIELDCAT USING 'MATKL' 'Material Group'.
      PERFORM BUILD_FIELDCAT USING 'MENGE'  'Quantity'.
      PERFORM BUILD_FIELDCAT USING 'MEINS' 'Unit Of MEASUREMENT'.
    *endloop.
    ENDFORM.
    FORM TO BUILD IN FIELD CATALOG FOR ALV FORM
    FORM BUILD_FIELDCAT USING L_FIELDNAME LIKE DD03L-FIELDNAME S_TEXT LIKE DD03P-SCRTEXT_M.
      CLEAR WA_FIELDCAT_LN.
      ADD 1 TO S_COL_POS.
      WA_FIELDCAT_LN-REF_TABNAME  = 'IT_COMP'.
      WA_FIELDCAT_LN-FIELDNAME    = L_FIELDNAME.
      WA_FIELDCAT_LN-SELTEXT_M    = S_TEXT.
      WA_FIELDCAT_LN-COL_POS      = S_COL_POS.
      WA_FIELDCAT_LN-QFIELDNAME   = SPACE.
      WA_FIELDCAT_LN-HOTSPOT      = SPACE.
      WA_FIELDCAT_LN-JUST         = 'R'.
      APPEND WA_FIELDCAT_LN TO IT_FIELDCAT.
    ENDFORM.
    FORM TO BUILD IN FIELD CATALOG FOR ALV FORM
    FORM DATA_DISPLAY.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
       I_GRID_TITLE                      = TEXT-001
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
       IT_FIELDCAT                       = IT_FIELDCAT
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
      TABLES
        T_OUTTAB                          = IT_COMP
       EXCEPTIONS
       PROGRAM_ERROR                     = 1
       OTHERS                            = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    endform.
    Thanks in advance
                                                                                    Regards
    senthilkumar D

    tables :mara,marc,stpo.
    parameters: p_werks like t001w-werks obligatory.
    *p_matnr like mara-matnr obligatory.
    *select-options : p_matnr for mara-matnr obligatory.
    select-options : P_matnr for mara-matnr.
    *parameters: p_werks like marc-werks obligatory,
    *p_matnr like marc-matnr obligatory.
    constants c_x value 'X'.
    data: begin of it_comp occurs 0,
    idnrk like stpox-idnrk,
    ojtxp like stpox-ojtxp,
    menge like stpox-menge,
    meins like stpox-meins,
    matkl like stpox-matmk,
    end of it_comp.
    data: w_topmat like cstmat.
    data : begin of itab occurs 0,
            matnr like mara-matnr,
            end of itab.
    *data : itab type table of mara with header line.
    start-of-selection.
    perform explode_assembly.
    end-of-selection.
    perform write_report.
    top-of-page.
    perform print_header.
    form print_header.
    write: /(18) 'Component'(h00),
    (40) 'Description'(h01),
    'Mat.Group'(h02),
    (18) 'Quantity'(h03).
    uline.
    endform.
    form write_report.
    write: / w_topmat-matnr under text-h00 color col_heading,
    w_topmat-maktx under text-h01 color col_heading.
    loop at it_comp.
    write: /
    it_comp-idnrk under text-h00,
    it_comp-ojtxp under text-h01,
    it_comp-matkl under text-h02,
    it_comp-menge unit it_comp-meins under text-h03,
    it_comp-meins.
    endloop.
    uline.
    endform.
    form explode_assembly.
    data: it_stb like stpox occurs 0 with header line,
    it_stb2 like stpox occurs 0 with header line,
    it_stb3 like stpox occurs 0 with header line,
    w_msg(255) type c.
    select matnr from mara into table itab where matnr  between p_matnr-low and p_matnr-high.
    loop at p_matnr.
      itab-matnr = p_matnr-low.
       append itab.
       itab-matnr = p_matnr-high.
       append itab.
       clear itab.
       endloop.
    Explode highest level:
    loop at itab.
    call function 'CS_BOM_EXPL_MAT_V2'
    exporting
    auskz = c_x
    capid = 'PP01'
    cuols = c_x
    datuv = sy-datum
    knfba = c_x
    ksbvo = c_x
    mbwls = c_x
    mdmps = c_x
    BGIXO = c_x
    MKMAT = c_x
    MMAPS = c_x
    FBSTP = c_x
    FTREL = c_x
    mtnrv = itab-matnr
    werks = p_werks
    importing
    topmat = w_topmat
    tables
    stb = it_stb
    exceptions
    alt_not_found = 1
    call_invalid = 2
    material_not_found = 3
    missing_authorization = 4
    no_bom_found = 5
    no_plant_data = 6
    no_suitable_bom_found = 7
    conversion_error = 8
    others = 9.
    if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
    into w_msg.
    write: / w_msg.
    exit.
    *else.
    endif.
    loop at it_stb.
    it_comp-matkl = it_stb-matmk.
    it_comp-idnrk = it_stb-idnrk.
    it_comp-ojtxp = it_stb-ojtxp.
    it_comp-menge = it_stb-menge.
    it_comp-meins = it_stb-meins.
    collect it_comp.
    clear it_comp.
    endloop.
    endloop.
    endform.
    i got the low and high from selectoption and then move it into itab.
    then i pass itab-matnr into fm. using loop.
    but i got only one output
    but ineet to got from and to output.
    give me a solution
    Regards
    ds

  • How can i delete the new feature "get in contact with your favourite persons"?? When u press the "home" button twice, theres a list on top of the ipad with the last persons youve been in contact with. How do i delete that, or some of them ;-)

    How can i delete the new feature "get in contact with your favourite persons"?? When u press the "home" button twice, theres a list on top of the ipad with the last persons youve been in contact with. How do i delete that, or some of them ;-) Sorry for the danish  

    You can turn that feature off in Settings>Mail, contacts, calendars>Contacts>Show in App Switcher>Recents>Off.

Maybe you are looking for

  • What is the software/firmware version and Nike+ipod problem

    Mine says 1.0.1 in iTunes and says it is up to date. I tried to update the 1.2 version from June and it won't let me. I am having problems with the Nike+ipod receiver recognizing the sensor and the Apple help says to have version 1.2. Any thoughts. I

  • Program to read Mx records

    Hi Can anybody post the sample code or provide a URL for how to read MX records using java. Regards, Godspeed

  • Email report Requirement

    Hi , I have a requirement to work on Interface, where i need to transfer the data present in Bi Server to the SAP ECC via an XI. In this scenario, where I have to maintain some historical data, which is to be trigerred even at success or failure to t

  • Database connectivity toolkit create a new databse

    Hi all, I would like to know is there a vi in database connectivity toolkit to create a  new database. and as in labsql if we directly pass the connection string it is not necceassry to follow the steps in administrartive tools to connect to the DSN.

  • HT201250 how to transfer from mac to mac using time machine

    how to transfer from mac to mac using time machine