Reading UI Tables in events

Hi
just a simple question I am sure for most of you.. but could someone tell me how to read data from a Table UI within an event controller method I have created for a button.  I wish to identify which row was selected in a table and from that make further selections on the database prior to populating a new detailed table in the View.
I am populating the header table with data from select-options input from the user OK so I understand about binding contents of an internal table to the View Controller Context Element of the table defined at design time, but I need to be able to read that table in a different event than the one originally called by the selection process (by the user).
Please help.. I think this is so basic, that I cannot find it in help anywhere.
ps. sample code would be nice.
Thanks
Mark

Hi,
you are not receiving a table of your structure but in case of the first option
you receive a table of context elements so lt_component_header type wdr_context_element_set
this way you receive a table with references to the selected elements.
option1
DATA: node_component_header TYPE REF TO if_wd_context_node.
DATA: lt_component_header TYPE TABLE OF zcontract_header_str.
DATA: lo_element TYPE REF TO if_wd_context_node_element.
DATA: lt_selected_elements TYPE wdr_context_element_set.
lt_selected_elements = node_component_header->get_selected_elements(  ).
loop at lt_selected_elements into lo_element.
lo_element->get_static_attributes( importing static_attributes = ls_component_header ).
...perform actions on structure...
endloop.
option 2
DATA: node_component_header TYPE REF TO if_wd_context_node.
DATA: lo_element TYPE REF TO if_wd_context_node_element.
DATA: ls_component_header TYPE zcontract_header_str
lo_element = node_component_header->get_lead_selection( ).
lo_element->get_static_attributes( importing static_attributes = ls_component_header ).
grtz
Koen

Similar Messages

  • How to create a table with events in smartforms?

    How to create a table with events view in smartforms?
    It doesn't like general table with header, main area and footer.
    for example:
    in smartforms: LE_SHP_DELNOTE
    table name is TABLEITEM(Delivery items table)

    Vel wrote:
    I am creating XML file using DBMS_XMLGEN package. This XML file will contain data from two different database tables. So I am creating temporary table in the PL/SQL procedure to have the data from these different tables in a single temporary table.
    Please find the below Dynamic SQL statements that i'm using for create the temp table and inserting the data into it.
    Before insert the V_NAME filed, i will be appending a VARCHAR field to the original data.
    EXECUTE IMMEDIATE 'CREATE TABLE TEMP_TABLE (UNIQUE_KEY NUMBER , FILE_NAME VARCHAR2(1000), LAST_DATE DATE)';
    EXECUTE IMMEDIATE 'INSERT INTO TEMP_TABLE values (SEQUENCE.nextval,:1,:2)' USING V_NAME,vLastDate;What exactly i need is to eliminate the INSERT portion of it,Since i have to insert more 90,000 rows into it. Is there way to have the temp table created with data in it along with the sequence value as well.
    I'm using Oracle 10.2.0.4 version.
    Edited by: 903948 on Dec 22, 2011 10:58 PMWhat you need to do to eliminate the INSERT statement is to -- as already suggested by others - eliminate the temporary table. You don't need it. It is just necessary overhead. Please explain why you (apparently) believe that the suggestion of a view will not meet your requirements.

  • How to use the table maintenance events for validating the input entries..?

    Hi,
    I have created a Z table with 6 fields in which all are KEY fields. All are of CHAR type. I have created the Table Maintenance Generator for the same. While maintaining the entries in the table, even though I maintain a blank entry for a field it is saving the entry. But, I don't want that way. All the fields are mandatory in my table. One should enter all the fields. Otherwise it should not allow to save the entry. So, I think it can be done using the Table Maintenance Events. can someone tell me how to use the Table Maintenance Events. and which event to use for my reuqirement and what is the logic to be written.
    Or Is there any other way to solve my problem.
    Please share your inputs. Thanks in advance.
    Best regards,
    paddu.

    In the table maintenance generator, Environment --> Modifications --> Events then a screen will be appear here,we need to create the Events.In the EVENTS screen, press new Entries, there give 01(Before Saving the Data in the Database) and give a name(This will become a PERFORM), then click the Editor pushbutton, this will be there at the right side of the entry, then a popup will be appear, you can create an include program, there inside of the include program write ur code.
    Here is documentation for Event 01(Before Saving the Data in the Database )
    Event 01: Before Saving the Data in the Database
    Use
    This event occurs before new, changed or deleted entries are written to the database. Other activities can be performed, for example:
    hidden entry processing
    fill hidden fields
    flag data to be written to hidden tables after the database change.
    To have the changes saved by the central maintenance dialog routines, SY-SUBRC must be set to 0 at the end of the routine.
    Realization
    This event has no standard routine. The following global data is available for the realization of the user routine:
    internal table TOTAL
    field symbols
    field symbols <ACTION> and <ACTION_TEXT>
    <STATUS>-UPD_FLAG
    If internal table data are to be changed before saving, t he changes should be made in both the internal table TOTAL and in the internal table EXTRACT.
    FORM abc.
    DATA: F_INDEX LIKE SY-TABIX. "Index to note the lines found
    LOOP AT TOTAL.
    IF <ACTION> = desired constant.
    READ TABLE EXTRACT WITH KEY <vim_xtotal_key>.
    IF SY-SUBRC EQ 0.
    F_INDEX = SY-TABIX.
    ELSE.
    CLEAR F_INDX.
    ENDIF.
    (make desired changes to the line TOTAL)
    MODIFY TOTAL.
    CHECK F_INDX GT 0.
    EXTRACT = TOTAL.
    MODIFY EXTRACT INDEX F_INDX.
    ENDIF.
    ENDLOOP.
    SY-SUBRC = 0.
    ENDFORM.
    Regards,
    Joy.

  • Table maintenance events

    Hello,
    Does anyone has a code example of table maintenance events?
    I have a custom table ( zitab ) , with a maintenance view in SM30. I would like to use the table maintenance events for some authorisation check before the data is displayed, then, depending on the authorisation, display what the user is authorised to see. After data input, perform validation, if errors occur, inform the user what the problem is, if not, save in tha z table.
    Can this be done in sm30 or I need to write a new program?
    Thank you!

    Can someone please explain me why I have this short dump (before save event)?
    Error analysis
        The statement
          "MOVE src TO dst"
        requires the operands "dst" and "src" to be comvertible.
        Since this statement occurs in a Unicode program, the special
        convertibility rules for Unicode programs apply. In this case, the
        following rules have been broken:
    Source Code Extract
    Line  SourceCde
        1 ----
        2 ***INCLUDE LYTableF04 .
        3 ----
        4
        5 form before_save.
        6
        7 DATA: l_field_is_blank.
        8   DATA: BEGIN OF s_ytable.
        9           INCLUDE STRUCTURE ytable.
       10           INCLUDE STRUCTURE vimtbflags.
       11   DATA: END OF s_ytable.
       12
       13   LOOP AT total.
       14     CLEAR s_ytable.
    >>>>>     MOVE total TO s_table.
       16
       17   ENDLOOP.
       18
       19 endform.
    In all examples that i read on this forum this code works, I don't know why it fails for me.

  • Issuing an Error in Table Maintenance Event

    Hi,
    How can I issue an error in the table maintenance event without exiting the screen.
    When an event is triggered (Before Save), it will perform a check in the data changed or created. It will issue an error when the changes are not correct. But when I press enter or click on the check button, it will exit the table maintenance screen.
    What do I have to do in order to issue an error but will still go back to the table maintenance view.
    Making the message as information or type I, will not work because it will still save.

    Hi,
    I came to the same problem, maybe this will help someone.
    You can move check into view cluster event.
    1. load the view
         PERFORM vcl_set_table_access_for_obj
              USING 'view'
              CHANGING error_flag.
    2. assing to structure
         LOOP AT <vcl_total> INTO ls_view
    3. perform check, set VCL_STOP which will stop saving and will display message
         VCL_STOP = 'X'.
         MESSAGE ....

  • Read only table issue

    By default, read only table should take selected row as current row as long as we have
    selectedRowKeys & selectionListener within table definition. But, it doesn't, why?
    How to resolve this issue? Thanks.

    you can verify your selectionListener event by creating your own custom selection listener
    public void mySelectionListener(SelectionEvent selectionEvent) {
    FacesContext fc = FacesContext.getCurrentInstance();
    String me = "#{bindings.myViewObject1.collectionModel.makeCurrent}"
    MethodExpression myMethodExpr = fc.getApplication().getExpressionFactory().createMethodExpression(fc.getELContext(),me, null, new Class[] {SelectionEvent.class});
    myMethodExpr.invoke(fc.getElContext(), new Object[] {selectionEvent});
    RowKeySet rwKeySet = selectionEvent.getAddedSet();
    and in your jspx <af:table selectionListener="#{package1.view.backing_myBackingBean.mySelectionListener}"/>
    by that way you can atlest verify whats wrong... ,hope this helps,

  • Read only table in jdeveloper11

    I use a read only af:table in my page..
    1-as the page loads for first time , I want to navigate between rows as using up/down arrow keys. How can I focus on the first row to navigate...
    2- if I can make partial trigger script , I think I will be able to click the first row of this read only table. Do you have any sample about this click event to the first row of a table?
    3- Or initial focusid of document I want to use to focus on first row but I can't know the id of the fisrt row as I give it an id... How can I reach at this row or column?
    do you have an idea ?

    Hi,
    did you make the table selectable ? as the page loads for first time , I want to navigate between rows as using up/down arrow keys doesn't make much sense to me. assume you want o put focus on the component, is this what you want?
    Frank

  • Two triggers in the same table and event

    If I created two triggers on the same table and event (before insert), which of them will be triggered first ?...
    The problem from the beginning is that I created the second one as after insert and in the body of the trigger I wrote (:new.xxx:= value) ... then an error (that it should be before insert trigger or update trigger), so I created it as before update ,,, but I have already before update trigger (for primary key)..... and the problem -I think- which of them start first...
    Can make the second one as after insert and make update statement instead of assigning (:new.xxx:= value).....
    Regards

    If I created two triggers on the same table and event
    (before insert), which of them will be triggered
    first ?...As already mentioned, prior to 11g the order of firing is undetermined.
    The problem from the beginning is that I created the
    second one as after insert and in the body of the
    trigger I wrote (:new.xxx:= value) ... then an error
    (that it should be before insert trigger or update
    trigger), so I created it as before update ,,, but I
    have already before update trigger (for primary
    key)..... and the problem -I think- which of them
    start first...If there is a conflict of interest inside the code then you will have to alter your design principle around this to cater for it. Also consider combining the code into a single before insert trigger to prevent any confusion.
    Can make the second one as after insert and make
    update statement instead of assigning (:new.xxx:=
    value).....Attempting to update or query the same table as is causing the trigger to fire will result in a mutating table error. You can't do this.

  • How to improve the event log read performance under intensive event writing

    We are collecting etw events from customer machines. In our perf test, the event read rate can reach 5000/sec when there is no heavy event writing. However, the customer machine has very intensive event writing and our read rate dropped a lot (to 300/sec).
    I understand there is IO bound since event write and read will race for the log file, which is also confirmed by the fact that whenever there is a burst of event write, a dip of event read happens at the same time. Therefore, the event read cannot catch up
    the event write and the customer gets lagging behind logs.
    Note that most of the events are security events generated by windows (instead of customers).
    Is there a way to improve the event read performance under intensive event write? I know it is a hard question given the theory blocker just mentioned. But we will lose customers if there is no solution. Appreciate any clue very much!

    Hi Leonjl,
    Thank you for posting on MSDN forum.
    I am trying to invite someone who familiar with this to come into this thread.
    Regards,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Performance problems due to sequential read on tables WBCROSSGT and CROSS

    Hello all,
    got the SAPNW2004s Sneak Preview ABAP installed. Performance is quite ok. But with certain dictionary operations like creating new attributes for a class I experience exceptional long runtimes and timeout dumps. In SM50 I see a sequential read on table WBCROSSGT. In OSS I can't find anything applicable yet for this release  (SAP_BASIS 700, support level 5).
    Any suggestions appreciated.
    Simon

    Hello,
    i had exactly the same problem after upgrading from MS SQL 2005 to MS SQl 2008 R2.
    Our DEV system was almost completely exhausted and normal operation wasn't possible anymore.
    SAP Note 1479008 solved the issue, even it is only "released" for MaxDB.
    Cheers, Christoph

  • Help to read a table with data source and convert time stamp

    Hi Gurus,
      I have a req and need to write a ABAP prog. As soon as i excute ABAP program it should ask me enter a data source name, then my ABAP prog has excute teh code, in ABAP code i have to read a table with this data source as key, sort time stamp from table and should display the data source and time stamp as output.
    As follows:
    Enter Data Source Name: 
    Then user enters : 2lis_11_vahdr
    Then out put should be "Data source  :"  10-15-2008.
    The time stamp format in table is 20,050,126,031,520 (YYYYMMDDhhmmss). I have to display as 05-26-2005. Any help would be apprciated.
    Thanks,
    Ram

    Hi Jayanthi Babu Peruri,
    I tried to extract YEAR, MONTH, DAY separately and using
    EDIT MASK written it.
    Definitely there will be some STANDARD CONVERSION ROUTINE will be there. But no idea about it.
    DATA : V_TS      TYPE TIMESTAMP,
           V_TS_T    TYPE CHAR16,
           V_YYYY    TYPE CHAR04,
           V_MM      TYPE CHAR02,
           V_DD      TYPE CHAR02.
    START-OF-SELECTION.
      GET TIME STAMP FIELD V_TS.
      V_TS_T = V_TS.
      CONDENSE V_TS_T.
      V_YYYY = V_TS_T.
      V_MM   = V_TS_T+4(2).
      V_DD   = V_TS_T+6(2).
      V_TS_T(2) = V_MM.
      V_TS_T+2(2) = V_DD.
      V_TS_T+4(4) = V_YYYY.
      SKIP 10.
      WRITE : /10 V_TS," USING EDIT MASK '____-__-________'.
              /10 V_YYYY,
              /10 V_MM,
              /10 V_DD,
              /10 V_TS_T USING EDIT MASK '__-__-__________'.
    If you want DATE alone, just declare the length of V_TS_T as 10.
    Regards,
    R.Nagarajan.
    We can -

  • Read-only table with a LOV on a VO's attribute

    Hi,
    I have a VO ('X') that is displayed as a read-only table. 'X' has an attribute called 'SubscriptionId'. The value of 'SubscriptionId' is a foreign key to another table called 'Subscription'. My 'Subscription' database table has a column named 'Description'.
    Example:
    'X' has an attribute 'SubscriptionId' = 14
    DB table 'Subscription' has a row that looks like this:
    14, "A subscription description" (where "A subscription description" is the 'Description' column)
    I set up a LOV for 'SubscriptionId' on my VO 'X', so that it should show the value of 'Description' from 'Subscription' instead of the 'SubscriptionId'.
    If I display my VO 'X' as a form, I can see my LOV (for 'Description').
    However, when I display my VO ('X') as a read-only table, it isn't adhering to the LOV I defined on my VO, and is instead showing the 'SubscriptionId'.
    What do I need to do differently on my table to show the 'Description' instead of the foreign key 'SubscriptionId'? I want it to be just an output text of the Description, not a choice list.
    Thanks,
    Joel

    Hi
    In simple way just set the ReadOnly property of choice list in the coloum = true
    for example
    <af:column sortProperty="EmpId" sortable="true"
    headerText="#{bindings.DocTransactionView1.hints.EmpId.label}"
    id="c2" align="center">
    <af:selectOneChoice value="#{row.bindings.EmpId.inputValue}"
    label="#{row.bindings.EmpId.label}"
    required="#{bindings.DocTransactionView1.hints.EmpId.mandatory}"
    shortDesc="#{bindings.DocTransactionView1.hints.EmpId.tooltip}"
    id="soc4" readOnly="true">
    <f:selectItems value="#{row.bindings.EmpId.items}" id="si3"/>
    </af:selectOneChoice>
    </af:column>

  • How to get a list of displayed columns from a UIX read only table

    I am using JDev 9.0.5.2 ADF UIX. Is there a way to get all the columns and/or column labels displayed in a UIX read only table? I would like to be able to do this in my DataForwardAction.

    Please don't post the same question multiple times.

  • UIX: How to add linked view table columns to the Read-only table

    Hi
    I have two tables
    T1: ID, STAFF_ID, NOTE
    T2: STAFF_ID, USERNAME
    I have created corresponding entity objects (E1, E2), views (V1, V2), association A(E1->E2 as *..1 using STAFF_ID) and viewlink VL(V1->V2 as *..1 using association A).
    My model in AppModule looks like
    V1
    ----V2 via VL
    Now I have single UIX page in which I drop V1 as Read-only table. The table displays columns correctly: ID, STAFF_ID, NOTE
    What I want is to add a column STAFF_ID from the V2 into this table. I have tried to drop it into the table but when the page is run it does not display anything in that column. It has to do something with binding.
    I have done similar test with dropping V1 as read-only FORM and then added STAFF_ID from V2 as messageTextInput and everything is rendered correctly.
    Anyone knows how to do the same thing but with table?

    Yes that is true but I would like to give another example where this may not apply.
    Say I have 3 tables
    CLIENT(INDIVIDUAL_ID,...)
    ADDRESS(ADDRESS_ID,...)
    ADDRESS_HISTORY(ADDRESS_ID, INDIVIDUAL_ID,BEST_ADDRESS)
    where ADDRESS_HISTORY is intersection table in CLIENT to ADDRESS many to many relationship.
    Suppose I have VO2 that consists of ADDRESS and ADDRESS_HISTORY entities (corresponding association exists) and user needs to add new address for the selected customer in VO1 (made from CLIENT entity). There are several issues here:
    1) An input form made out of VO2 must contain an entry for BEST_ADDRESS flag but since it will be read-only, seems that this approach may not work. However, I found a post re:Updating view objects with multiple entities that provides workaround this.
    2) In that case assume that I use DBSequence to automatically add ADDRESS_ID when user inputs new record in this input form. I am using DB Trigger on ADDRESS table and have selected ADDRESS_ID in ADDRESS entity as DBSequence. Now observe that VO2 would contain another ADDRESS_ID from ADDRESS_HISTORY entity which has to be automatically populated with the same value. How?
    In a nutshell my question relates to the problem how to automatically populate intersection table when new record is added to the detail. But the trick is that some attributes of the intersection table must be inserted by the user in the form..
    Please advise

  • Need to Add and Remove Columns of ADF Read Only table from Backing bean

    I have a scenario where I am trying to Populate TransientVO which is shown has a ADF Read Only Table in page.
    I have couple of Check Boxes Based on their selection I am trying to render and hide certain Columns.
    But the Issue which I am facing is only the Column Header seems to change where as the Rows and Values doesnt..
    even If I apply the expression language rendering condition on the outputText inside those columns.. ..
    So I am thinking to add and remove VO Attribute columns to the table from backing bean.
    Need some sample code snippet or a better design to achieve this. Its kind of urgent too...having an aggressive deadline :(
    Please chip in People..
    Thanks in Advance .
    TK

    Table Code..
    <af:table value="#{bindings.InventoryGridTrans.collectionModel}"
                                    var="row"
                                    rows="#{bindings.InventoryGridTrans.rangeSize}"
                                    emptyText="#{bindings.InventoryGridTrans.viewable ? 'No data to display.' : 'Access Denied.'}"
                                    fetchSize="#{bindings.InventoryGridTrans.rangeSize}"
                                    rowBandingInterval="0" id="t4"
                                    partialTriggers="::sbcSales ::sbcUsage ::cb1">
                            <af:column sortProperty="Period" sortable="false"
                                       headerText="#{bindings.InventoryGridTrans.hints.Period.label}"
                                       id="c38">
                              <af:outputText value="#{row.Period}" id="ot33"/>
                            </af:column>
                            <af:column sortProperty="Past12SalesCount"
                                       sortable="false"
                                       headerText="#{bindings.InventoryGridTrans.hints.Past12SalesCount.label}"
                                       id="c29"
                                       rendered="#{backingBeanScope.IndexPageBackingBean.onUsage != true and backingBeanScope.IndexPageBackingBean.onSales == true}">
                              <af:outputText value="#{row.Past12SalesCount}"
                                             id="ot40"
                                             rendered="#{backingBeanScope.IndexPageBackingBean.onUsage != true and backingBeanScope.IndexPageBackingBean.onSales == true}"
                                             visible="#{backingBeanScope.IndexPageBackingBean.onUsage != true and backingBeanScope.IndexPageBackingBean.onSales == true}">
                                <af:convertNumber groupingUsed="false"
                                                  pattern="#{bindings.InventoryGridTrans.hints.Past12SalesCount.format}"/>
                              </af:outputText>
                            </af:column>
                            <af:column sortProperty="Past12UsageCount"
                                       sortable="false"
                                       headerText="#{bindings.InventoryGridTrans.hints.Past12UsageCount.label}"
                                       id="c40"
                                       rendered="#{backingBeanScope.IndexPageBackingBean.onUsage == true and backingBeanScope.IndexPageBackingBean.onSales != true}"
                                       visible="#{backingBeanScope.IndexPageBackingBean.onUsage == true and backingBeanScope.IndexPageBackingBean.onSales != true}">
                              <af:outputText value="#{row.Past12UsageCount}"
                                             id="ot47"
                                             rendered="#{backingBeanScope.IndexPageBackingBean.onUsage == true and backingBeanScope.IndexPageBackingBean.onSales != true}"
                                             visible="#{backingBeanScope.IndexPageBackingBean.onUsage == true and backingBeanScope.IndexPageBackingBean.onSales != true}">
                                <af:convertNumber groupingUsed="false"
                                                  pattern="#{bindings.InventoryGridTrans.hints.Past12UsageCount.format}"/>
                              </af:outputText>
                            </af:column>
                            </af:column>
                    </af:table>

Maybe you are looking for

  • How to find first day of the year

    Big picture: trying to determine how many pay periods are left in the year. There are 52 weeks in a year, and our company pay out each week. The first pay week of the year always starts on a Friday. So If Janurary 1 is a friday, then the 1st week of

  • Using SQL Loader in a procedure

    Can we use SQL Loader in a stored procedure to load data in an Excel file into the database? If so, how. Also, how can it create a log file to save records that have not been loaded.

  • Apps are stuck in an "installing" mode

    I have several apps stuck in the "installing mode" after a recent attempted update.  It is very strange because these apps are not visible on my homescreen - so I cannot delete and reinstall.  I can only see them in the purchased apps category within

  • HT201365 How to disable the activation lock feature..

    This options seems to be enabled automatically with iOS7. How do I disable it. I work for a company and do not want people who leave the company able to wipe and lock the device once they leave. Thanks!

  • How do I get rid of Firefox? I hate it.

    How do I get rid of Firefox? I just don't like it, unequicably.