Dynamic programming( how to read a dynamic node )

Hi,
    i have a node consists of four static and 5 dynamic attributes, how to capture all the data as a table or how do i read full node as a table. i have used get_static_attributes_table( ), it works only for static attributes,but i need to read complete node as a table. Kindly help me, high priority
Regards,
sankar

Hi Sankar,
I would suggest you to remove "high priority" to get any attention to this post. Sorry for not answering your question directly, but the answer depends on what context you need to read the node with static and dynamic attributes?
One suggestion would be to use the GET_ATTRIBUTES( ) metods of the node info (IF_WD_CONTEXT_NODE_INFO). You get the node info by calling method GET_NODE_INFO( ) from the node. The GET_ATTRIBUTES( ) method will return a table, which you for example can loop. To get a value of an attribute you use the GET_ATTRIBUTE( ) method of the node (IF_WD_CONTEXT_NODE).
/Björn-Henrik

Similar Messages

  • Dynamic programming How to assign a static UI element to a static tray

    Hi There,
    We are enhancing a standard WDA application and we have a few static UI element created on the view. And now we want to rearrange these element to look like this.
    Current:
    Root
    -> Transparent container1
    -> ZTray
    -> Transparent container2
    target
    Root
    -> ZTray
         -> Transparent container1
        -> Transparent container2
    Can you help me to find out me how can i perform this 'move" assignment using dynamic programming.
    Thanks for your inputs.
    Rgds

    Hi Sudhir,
    You can start trying something like this in WDDOMODIFYVIEW.
      DATA:
         lo_element       type ref to cl_wd_uielement,
         LO_CONTAINER    TYPE REF TO CL_WD_UIELEMENT_CONTAINER.
      IF first_time = abap_true.
        LO_CONTAINER ?= view->get_element( 'ROOTUIELEMENTCONTAINER' ).
        lo_element = LO_CONTAINER->REMOVE_CHILD( ID = 'ZTRAY' ).
        LO_CONTAINER->ADD_CHILD( INDEX = 1
                                 THE_CHILD = LO_ELEMENT ).
      ENDIF.
    I never did something like that. I guess that depending on the layout type of the view this code will need some changes (e.g matrix layout). I tried a simple test with flow layout and worked fine here.

  • How to read whether dynamic checkboxes are checked or not

    Hi experts ,
              I have created number of checkboxes dynamically. I want to read whether they are checked or not. If they are checked I will do some operations and if not checked some different operations are to be done. Please tell me how to read that checkbox is checked or not.
    Please help.
    Thanks & Regards,
    Pratibha

    Hi pratibhas ,
    While creating the checkbox dynamically, you can bind that checkbox with some context attribute of type WDY_BOOLEAN.
    Now when you need to see whether a perticular checkbox is selected or not, check it's attributes value whether it is 'X' or ' ' .
    Regards,
    Vikrant

  • How to read the context node of used component?

    Hi,
    I have component called : SRQM_INCIDENT_H. This component has used component - BTSTATUS.
    Now, I need to read the context node of the BTSTATUS/UserStatus in GET Methods of Context node in SRQM_INCIDENT_H.
    Can you plese help me out.
    Thanks,
    Sandeep

    The component usages can be accessed from the component controller
    You should however assure that the context node is present in comp controlelr of the used component.View context nodes cannot be accessed.
    if not ,then you need to goto the component BTSTATUS ,add the context node  explicitly to comp controller,and do correct bindings to the view context node.
    Once you add the context node to the com controller,yo also need to expose it.
    go to runtime repository->component_interface->interface_controller->context->right click and select ADD CONTEXT NODE, and add you newly creatde context ndoe of comp contorller here.
    Now you cann access it using the code below in your comp SRQM_INCIDENT_H
    data:lr_comp_controller type ref to <ur comp controller class>lr_comp_controller ?= me->comp_controller.
        lr_comp_usage ?= lr_comp_controller->get_component_usage( iv_usage_name = '<name of the comp usage as in runtime repository' ).
        CHECK lr_comp_usage IS NOT INITIAL.
        lr_cnode ?= lr_comp_usage->get_context_node( iv_cnode_name = '<the required context node name>' ).
    Suvidha

  • How to read a xml node name in xsl? Urgent!

    Hi,
    I've a dynamic xml which gets generated at runtime. The basic nodes remain same but the content and nodes vary.
    - <root>
    - <list>
    - <row>
    <courseStartDate></courseStartDate>
    <courseEndDate></courseEndDate>
    <courseName>ORACLE</courseName>
    </row>
    - </list>
    </root>
    I have an xsl which would read the values
    as :
    <xsl:value-of select="courseStartDate"/>
    I would like to know if its possible to read the node name "courseStartDate" through xsl, which could be stored in a variable and then the corresponding value could be retrieved??
    Thanks

    If u want to display the name : value then u can do like this
    <xsl:eval>this.selectSingleNode("name").nodeName</xsl:eval> : <xsl:value-of select="name" />

  • XMLTable.. how to reading the parent node..

    <CONTEXT>
    <UID>
    <id>23</id>
    <STARTTIME>01/01/2010</STARTTIME>
    <STOPTIME>01/31/2010 23:59:59</STOPTIME>
    <ACCOUNTID>
    <acctid>Ac1</acctid>
    <METERID>
    <namek>METER1</namek>
    <DETERMINANTVALUES>
    <value>
    <name>RECORDED_KWH</name>
    <reading_charges>13955.58</reading_charges>
    <cost>2.81</cost>
    </value>
    <value>
    <name>STRND_KW_CHARGES</name>
    <reading_charges>89.84</reading_charges>
    <cost>2.01</cost>
    </value>
    <value>
    <name>DEL_CHARGES</name>
    <reading_charges>891.84</reading_charges>
    <cost>5.29</cost>
    </value>
    </DETERMINANTVALUES>
    </METERID>
    <METERID>
    <namek>METER2</namek>
    <DETERMINANTVALUES>
    <value>
    <name>RECORDED_KWH</name>
    <reading_charges>139553.58</reading_charges>
    <cost>2.81</cost>
    </value>
    <value>
    <name>STRND_KW_CHARGES</name>
    <reading_charges>893.84</reading_charges>
    <cost>2.01</cost>
    </value>
    <value>
    <name>DEL_CHARGES</name>
    <reading_charges>8913.84</reading_charges>
    <cost>5.29</cost>
    </value>
                        </DETERMINANTVALUES>
                   </METERID>
                   </ACCOUNTID>
         </UID>
    </CONTEXT>
    This XML data is read and put into an XMLType variable. We want each meters different values to be different rows:
    select t.*
    from
    XMLTABLE('for $i in /CONTEXT/UID/ACCOUNTID/METERID/DETERMINANTVALUES/value return $i'
    passing var1
    COLUMNS
    detval1 varchar2(100) PATH 'reading_charges',
    meterid varchar2(100) PATH '../../name'
    ) t;
    but the meterid fetches null value .. how can we fetch
    uid1, accountid1, reading_charge1, cost1
    uid1, accountid1, reading_charge2, cost2
    uid1, accountid1, reading_charge3, cost3
    Edited by: user3178919 on Feb 10, 2010 7:49 AM

    Heres the formatted XML:
    <CONTEXT>
         <UID>
              <id>23</id>
              <STARTTIME>01/01/2010</STARTTIME>
              <STOPTIME>01/31/2010 23:59:59</STOPTIME>
              <ACCOUNTID>
                   <acctid>Ac1</acctid>
                   <METERID>
                        <namek>METER1</namek>
                        <DETERMINANTVALUES>
                             <value>
                                  <name>RECORDED_KWH</name>
                                  <reading_charges>13955.58</reading_charges>
                                  <cost>2.81</cost>
                             </value>
                             <value>
                                  <name>STRND_KW_CHARGES</name>
                                  <reading_charges>89.84</reading_charges>
                                  <cost>2.01</cost>
                             </value>
                             <value>
                                  <name>DEL_CHARGES</name>
                                  <reading_charges>891.84</reading_charges>
                                  <cost>5.29</cost>
                             </value>
                        </DETERMINANTVALUES>
                   </METERID>
                   <METERID>
                        <namek>METER2</namek>
                        <DETERMINANTVALUES>
                             <value>
                                  <name>RECORDED_KWH</name>
                                  <reading_charges>139553.58</reading_charges>
                                  <cost>2.81</cost>
                             </value>
                             <value>
                                  <name>STRND_KW_CHARGES</name>
                                  <reading_charges>893.84</reading_charges>
                                  <cost>2.01</cost>
                             </value>
                             <value>
                                  <name>DEL_CHARGES</name>
                                  <reading_charges>8913.84</reading_charges>
                                  <cost>5.29</cost>
                             </value>
                        </DETERMINANTVALUES>
                   </METERID>
              </ACCOUNTID>
         </UID>
    </CONTEXT>
    Expected output:
    UID-ID, ACCOUNTID-acctid, METERID-NAME, DETERMINANT-value-reading-charges
    23 Ac1 METER1 13955.58
    23 Ac1 METER1 89.84
    23 Ac1 METER1 891.84
    because if we do as shown below the meterid value comes as NULL (not able to go the parent node and get the values)
    select t.*
    from
    XMLTABLE('for $i in /CONTEXT/UID/ACCOUNTID/METERID/DETERMINANTVALUES/value return $i'
    passing var1
    COLUMNS
    detval1 varchar2(100) PATH 'reading_charges',
    meterid varchar2(100) PATH '../../name'
    ) t;
    IF we do 'for $i in /CONTEXT
    return $i//UID/ACCOUNTID/METERID/DETERMINANTVALUES/value'
    - will we be able to get the paret node value
    Can this be achieved using multiple XMLTable only can be achieved using single XMLTable?

  • Please help how to pass the dynamic value to VO -- Urgent.

    Hi,
    I have an Oracle Standard VO( SQL Query). As per my requriemnt i extended standard VO with one new feild.Now i want to query the new VO dynamically.
    How to pass the dynamic values to new query?
    for refence i am giving my old query.
    select
    secondary_inventory_name as SubInventoryName,
    description as Description,
    from mtl_secondary_inventories
    my new Query is like this:
    select
    secondary_inventory_name,
    description,
    Item
    from mtl_secondary_inventories
    where item='123456'
    I want to pass this "where item="123456" as dynamically. please help where i will do the change's.
    Thanks,
    Sekhar.

    Hi,
    thanks pratap for quick response...but i am extending VO from Standard VO.
    I have a Standard VO which contains a bind variable suppose :1.
    I have extended this above standard VO and i want to add another bind variable say :2 to the custom VO.
    Please tell me how will i pass bind parameter value to the bind variable in runtime ?
    what are files i want to change?
    Thanks,
    Sekhar.

  • Dynamic Programing : WebDynPro ABAP

    Hi expert ,
                      I need to create UI element (Text_view) dynamically ,
                      can anyone send the code for that one .
    Thanks & Regards
    Sankar.M

    Hi,
    Refer to this link -
    Dynamic Programing
    Regards,
    Lekha.

  • How to read selected item of the dropdown listbox in dialog prgmming

    hello to all,
    i need one help.In dialog programming how to read the selected value of the dropdown listbox created in se51. the values are appering in listbox by using FM 'VRM_SET_VALUES' .and function code is also assigned to lisbox .but how to read that one particular value selected by user form the dropdown list.
    thanks.

    hello mate
    Try this following  logic and code  u will getting the answer
    Here this example  :  
                      Let Name of the LIST BOX BE  :  LT
    Code :
    Data Declaration :
      I_NATIO TYPE VRM_VALUES,
      W_NATIO LIKE LINE OF I_NATIO
    data: begin of itab occurs 0,
    LT(10)  type c,    
    end of itab.
    **This query to data retrival
    select  x1 x2 into table itab form tbl .
    loop at itab.
    w_natio-key = itab-LT.
    w_natio-text = itab-LT.
    append w_natio into i_natio.
    clear w_natio.
    endloop.
    **This code  for setting values in the list box
    CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          ID     = 'LT'
          VALUES = I_NATIO.
    **This code getting the valu form the list box
      CALL FUNCTION 'VRM_GET_VALUES'
        EXPORTING
          ID     = 'LT'
        IMPORTING
          VALUES = I_NATIO.
    **simply to print the values selected
    write : i_natio-lt.
    I hope this will help u out.
    Anand

  • Sysgen : How to read the input port data type, width and rate dynamically in a masked subsystem ?

    Hello everybody,
         I am designing a general purpose block in system generator. I pass the user parameters to the block through masking it. Some user parameters can change the block configuration. The input port data type, width and rate can also affect the block configuration.
         The problem is that these values (input port data type, width and rate) are subject to change. So I should read them dynamically, then change the block configuration through programming the "Initialization Commands" field. But unfortunately there is no straight way to read the input port information.
         There are some methods in for example the "Black Box". these are:
    input_width = this_block.port('din').width;
    input_rate = this_block.port('din').rate;
    But these methods are not applicable to a masked subsystem.
    I have tried other ways also. You can find them below. None of them worked.
    Does anybody know how can I solve this problem?
    Other ways I tried:
    1)
    design_name([],[],[],'compile')                                       
    q=get_param(gcb,'PortHandles');
    get_param(q.Inport,'CompiledPortDataType')
    get_param(q.Inport,'CompiledPortWidth')
    get_param(q.Inport,'CompiledPortDimensions')
    design_name([],[],[],'term')
    2)
    ssGetInputPortDataType
    3)
    ts = Simulink.Block.getSampleTimes([gcb '/Input'])
     

    Today we rely on Simulink to perform parameterization of your designs in two ways:
    Parameterizable Subsystems and Blocks : Parameters themselves can be MATLAB expressions that need to be evaluated for which we need the MATLAB interpreter
    The very useful Rate and Type propagation or Simulink compilation that allows us to specify types & rates in one location that gets systematically propagated to all.
    To truly make the HDL Netlist that is generated from SysGen parameterizable, we would have to implement some of this capability in the HDL netlist itself by:
    Using Generics(VHDL) or Parameters(Verilog) - We would have to capture the bit width(type) propagation through levels of hierarchies and finally parameterize the IP itself based on this value
    Since IP itself does not have this capability through generics, we would have to package a separate tcl script that updates the IP parameterization appropriately in response to top level parameters(or GUI parameters)
    Interpreting MATLAB expressions and translating them into VHDL/Verilog expressions (alternatively tcl expressions of IP). In simulink, mask parameters can be passed from one level to the next. Also parameterization of a block can be composed of Matlab expressions using variables from ancestor masks & the MATLAB interpreter – so we will need to somehow capture that as well.
     

  • How to access a dynamic created attribute in a context node?

    <i>Hello,</i>
    <i>who could help? I can't set a value for a dynamically created attribute which is bind to a table.</i>
    <i>My context of the view looks as follow (is defined in NetWeaver):</i>
      - Context
         - Availability (Node)
             - vctxService (Attribute)
             - vctxServiceDesc (Attribute)
             - ... (further predefined attributes)
             - ... (some have to be set dynamically as follows)
    <i>Then I have added attributes dynamically in the wdDoModifyView(...) - method, as follows:</i>
    for (int i = 0; i < max; i++) {
       // some code to dynamically create table columns
       // adding attributes dynamically
       IWDAttributeInfo attrInfo =       wdContext.nodeAvailability().getNodeInfo().      addAttribute("vctxAvailability_" + i, "ddic:com.sap.dictionary.string");
       tv.bindText(attrInfo); // bind to TextView in table
    <i>In the method onPlugFrom... I tried to set the values for the attributes "vctxAvailability_ + i" as follows:</i>
    for (int i = 0; i < max; i++) {
       IAvailabilityElement newAvailNodeElement =     wdContext.createAvailabilityElement();
       // some values will be set for the
       // predefined attributes of AvailabilityNode
       // newAvailNodeElement.set...( value );
       // newAvailNodeElement.setVctxService( xy.getServ() );
       // now the values of dynamically created and added
       // attributes in AvailabilityNode will be added
       // THIS DOESN'T WORK
       newAvailNodeElement.setAttributeValue    ("vctxAvailability_" + i, "value" + i);
    <i>It would be great if someone could help me.
    Thanks in advance.
    Kind regards,
    Carsten</i>

    Carsten,
    Here is a sample code that creates context attributes dynamically and also sets values:
    //Creates a node
    IWDNodeInfo nodeInfo = wdContext.wdGetAPI().getRootNodeInfo().addChild("TestNode", null, true, true, false, true, false, true, null, null, null);
    //If you want to bind the node to a model node then the
    //second argument to the above method should be the
    //model class.
    //Creates an attribute under the node just created.
    IWDAttributeInfo testAttrib = wdContext.wdGetAPI().getRootNodeInfo().getChild("TestNode").addAttribute("testAttrib", "ddic:com.sap.dictionary.string");
    IWDNodeElement testNode = wdContext.getChildNode("TestNode", IWDNode.LEAD_SELECTION).getCurrentElement();
    IWDNode testNode2 = wdContext.getChildNode("TestNode", IWDNode.LEAD_SELECTION);
    //Now you can bind testNode with the Model Node
    //You can also set a value to the newly created attribute
    testNode.setAttributeValue("testAttrib", new String("Value"));
    Hope this helps.
    Shakeel

  • How to know the dynamic values for this :AND category_id_query IN (1, :3, )

    Hi Team,
    R12 Instance :
    Oracle Installed Base Agent User Responsibility --> Item Instances -->
    Item Instance: Item Instances > View : Item Instance : xxxxx> Contracts : Item Instance : xxxxx> Service Contract: xxxxx>
    In the above page there are two table regions.
    Notes.
    -------------------------------------Table Region---------------------------
    Attachments
    -------------------------------------Table Region---------------------------
    --the attachments are shown using the query from the fnd_lobs and fnd_docs etc...
    I want to know what are the document types are displayed in this page ?
    --We developed a custom program to attach the attachments to the  services contracts and the above seeded OAF page displays those ..as needed.
    But after recent changes..the Attachments--> table region is not showing the attachments.
    I have verified the query..and could not find any clue in that..
    but i need some help if you guys can provide..
    SELECT *
    FROM
    *(SELECT d.DOCUMENT_ID,*
    d.DATATYPE_ID,
    d.DATATYPE_NAME,
    d.DESCRIPTION,
    DECODE(d.FILE_NAME, NULL,
    *(SELECT message_text*
    FROM fnd_new_messages
    WHERE message_name = 'FND_UNDEFINED'
    AND application_id = 0
    AND language_code  = userenv('LANG')
    *), d.FILE_NAME)FileName,*
    d.MEDIA_ID,
    d.CATEGORY_ID,
    d.DM_NODE,
    d.DM_FOLDER_PATH,
    d.DM_TYPE,
    d.DM_DOCUMENT_ID,
    d.DM_VERSION_NUMBER,
    ad.ATTACHED_DOCUMENT_ID,
    ad.ENTITY_NAME,
    ad.PK1_VALUE,
    ad.PK2_VALUE,
    ad.PK3_VALUE,
    ad.PK4_VALUE,
    ad.PK5_VALUE,
    d.usage_type,
    d.security_type,
    d.security_id,
    ad.category_id attachment_catgeory_id,
    ad.status,
    d.storage_type,
    d.image_type,
    d.START_DATE_ACTIVE,
    d.END_DATE_ACTIVE,
    d.REQUEST_ID,
    d.PROGRAM_APPLICATION_ID,
    d.PROGRAM_ID,
    d.category_description,
    d.publish_flag,
    DECODE(ad.category_id, NULL, d.category_id, ad.category_id) category_id_query,
    d.URL,
    d.TITLE
    FROM FND_DOCUMENTS_VL d,
    FND_ATTACHED_DOCUMENTS ad
    WHERE d.DOCUMENT_ID = ad.DOCUMENT_ID
    *) QRSLT*
    WHERE ((entity_name    ='OKC_K_HEADERS_V'-- :1
    AND pk1_value          IN ( 600144,599046) --:2
    AND category_id_query IN (1, :3, :4, :5, :6, :7) )
    AND datatype_id       IN (6,2,1,5)
    AND (SECURITY_TYPE     =4
    OR PUBLISH_FLAG        ='Y')))
    --='000180931' -- 'ADP118'
    The above seeded query is the one which is used for table region to retrieve the data..
    how to know the dynamic values for this : AND category_id_query IN (1, :3, :4, :5, :6, :7) )
    --Sridhar                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    Hi Patricia,
    is it working for restricted key figure and calculated key figure ??
    Note Number Fisc Period Opening Days
    1 1 2
    2 1 3
    3 1 0
    because I have other restriction, so I create two restricted key figure..
    RK1  with restriction :  Total Number of Note,
    RK2  with restriction :  Total Opening Days ,
    then I Created a calculated key figure, average opening days in a period
    CK1 = RK2 / RK1..
    in this case, I am not sure if it will work or not..
    for example, during RK2 calclation, it might be this   2+3 = 5, the line with 0 will be ignored..
    during RK1 calcualtion, it might be 1 + 1 + 1 = 3. ---> Not sure in this case, the line with opening days 0 will be calculated or not..
    could you please confirm..

  • Download a special kind of internal table (dynamic programming)

    Hi guys,
    with dynamic programming, i've created a complex internal table of this type :
    KNA1                          |
    KNB1                          |                         
    GS_CUSTOMERADDRESS            |               
    GS_CUSTOMERGENERALDETAIL      |
    The declaration of the internal table is :
    TYPES: BEGIN OF gty_record,
            table TYPE tabname,
            dataref  TYPE REF TO data,
           END OF gty_record.
    This means that each line, has a different line-type. In the first field of the table, i have the name of the structure. In the second, the data-part (in debug double click on leads to structure contents - field by field).
    The structure KNA1 contains C and packed (P) fields also so when i pass the internal table to FM GUI_DOWNLOAD, i have this short-dump : UC_OBJECTS_NOT_CONVERTIBLE.
    Is there a way to solve this problem quickly?
    The goals is download all data of a customer into a local file. Data is distribuited on different structures, readed by standard bapi 'BAPI_CUSTOMER_GETDETAIL2'. This file will be read in another program, of another system.
    Any hints/suggestion will be appreciated.
    Thanks a lot.
    Andrea

    Hi Sandra,
    thx for you suggestions.
    About your answer :
    " Or use a DO. ASSIGN COMPONENT sy-index OF STRUCTURE ... to loop at each field, and do whatever you want with them (using WRITE ... TO ... for example, to convert numbers into text)."
    I cannot use this approach to the problem, because i should keep in mind the dimension of single fields and the blanks should be concatenated also, but RESPECTING BLANK switch of concatenate instruction doesen't exists in 4.7 abap.
    Sure, i can use a workaround, but i'll have a lot of programming.
    "you could use XML for instance. It's rather standard! By using CALL TRANSFORMATION ID SOURCE dataObject RESULT XML string."
    This could be the solution. I've already read some posts about it before write mine. I should test it: i don't know if in 4.7 release works. So i could transform the internal table to xml and save to text file.
    But then, how i can read xml string and mapping again in this special kind of table ?
    Is CALL TRANSFORMATION ID SOURCE XML String RESULT Dataobject instruction sufficient to perform this task?
    Thanks a lot
    Andrea
    BR
    Sandra

  • How to manage a dynamic table

    Hi, i need some advice on how to manage a requirement i have.
    My application receives an uploaded CSV as input. I can easily model the content in an internal table, but the CSV has an arbitrary number of columns, with arbitrary names of the fields (the first line acts as a header, and contains labels) in no particular order.
    Since I'm really new to Web Dynpro, i'm wondering what's the most manageable way of storing the information in a central way, since the data contained needs to be used in many views, and other data needs to be extrapolated from it.
    Please consider that i'm a neophyte to Web Dynpro, so i'm not looking for the state-of-the-art solution, but the easiest to manage. So far I've thought of 3 ways:
    Dynamically create a node in the controller context, with the corresponding element representing a record and an attribute for each column.
    Create a class which encapsulates the internal table, which will be stored as an attribute. However i'm not sure if i can instantiate this class in the code of one controller, and reference it from anothere (besides, it violates MVC model, not that i really care tbh)
    Use the assistance class and do as in the previous point, since it is automatically instantiated at runtime and can be referenced in every point of the WD component, as far as i know
    Do you have any other advice? Do you recommend one of the above answers as the most manageable? I tried the first but it's so slow to code that i'm exploring the second option.
    Edited by: Giuseppe on Oct 11, 2010 2:23 PM

    Hi,
    I would suggest that you use assistance class, as this would be the most performance effecient way of achieveing the requirement. I would suggest you to define an attribute at class level and use it across views. I would also suggest if you are thinking of defining components for easy maitenance and reusability then go for global class. and then bring the reference of root context of various views to the class level and bind the data to those attributes and contexts.
    Now coming to the display of data :
    Since the number of columns is not known at design time you have to go for dynamic programming,
    But one thing which you could do is limit yourself to manipulate things at runtime. You could define minimum number of columns at design time which you expect from the excel and then take the reference of that table and then add columns accordingly, you also have scope while displaying the data that is how you pass the data from internal table to the context.
    Regards
    Anurag Chopra

  • DYNAMIC PROGRAMMING IN WEBDYNPRO ABAP.

    Hi Experts
    How to create input field dynamical and when i click on the input field drop down ui  should display,If i click n time the input field that many drop down should be displayed this should be done using dynamic programming.
    Waiting for Reply.
    Thanks & Regards.
    kittu

    Hi,
    Please search before posting.. discussed many times.
    To create Input field dynamically, follow like this...
    DATA LR_CONTAINER TYPE REF TO CL_WD_UIELEMENT_CONTAINER.
    DATA LR_INPUT TYPE REF TO CL_WD_INPUT_FIELD.
    DATA LR_LABEL TYPE REF TO CL_WD_LABEL.
    DATA LR_TABLE TYPE REF TO CL_WD_TABLE.
    DATA LR_BUTTON TYPE REF TO CL_WD_BUTTON.
    DATA LR_GRID_DATA TYPE REF TO CL_WD_GRID_DATA.
    DATA LR_FLOW_DATA TYPE REF TO CL_WD_FLOW_DATA.
    DATA LR_MATRIX TYPE REF TO CL_WD_MATRIX_HEAD_DATA.
    LR_CONTAINER ?= VIEW->GET_ELEMENT( 'ROOTUIELEMENTCONTAINER' ).
    CALL METHOD CL_WD_INPUT_FIELD=>NEW_INPUT_FIELD
    EXPORTING
    BIND_VALUE = ATTRIBUTE
    ID = ATTRIBUTE
    RECEIVING
    CONTROL = LR_INPUT.
    lr_matrix = cl_wd_matrix_head_data=>new_matrix_head_data( lr_input ).
    lr_input->set_layout_data( lr_matrix ).
    LR_CONTAINER->ADD_CHILD( LR_INPUT ).
    ENDIF.
    Cheers,
    Kris.

Maybe you are looking for