Current Record (XI 2.0 Mapping)

Hello,
  I have a record coming in that looks like this:
<root>
  <document>
    <type>sale</type>
    <company>GNS</company>
    <detailline>
      <amount>123.21</amount>
      <volume>555</volume>
    </detailline>
    <detailline>
      <amount>123.21</amount>
      <volume>555</volume>
    </detailline>
  </document>
  <document>
    <type>purch</type>
    <company>R1N</company>
    <detailline>
      <amount>123.21</amount>
      <volume>555</volume>
    </detailline>
    <detailline>
      <amount>123.21</amount>
      <volume>555</volume>
    </detailline>
    <detailline>
      <amount>445454.32</amount>
      <volume>65477</volume>
    </detailline>
  </document>
</root>
As you can see there can be multiple documents and within those multiple documents there are an indefinite amount of detaillines.
  These records are moving into SAP R/3 via RFC.  We are unable to find a way to build a remotely enabled function with a structure that will match the layout of this file (table within a table).  Normally this is allowed in ABAP functions however when the function is made "remotely enabled" it will not allow us to have a structure within a structure.  We have had to resort to creating two separate flat structures and mapping the header (document) data to table one and all the detail lines (detailline) to table two.  So, how do I know which detail lines go which header?  The simplest solution would be to move a unique key from the header into the detail lines it owns.  The problem is that there is no unique data in the header.  I would like to be able to draw out from XI the record number of the <document>.  This could be placed in a field in the header table on the RFM side and I could also place that same number in all the subsequent detail lines.
So…
  First of all, is there a way to create a structure within a structure and have it remotely enabled?
  Second, how would I be able to build that unique key the header and subsequent detail lines?  How can I retrieve the current record index from the XI mapping tool?
note * We are unable to have this field added to the XML file as it is being generated by an external company that would call something like this a three hundred thousand dollar change order.
Thx

Is it possible to use ABAP proxy?  The proxy can be generated based on the interface you designed in the IR.  This way you can have the "table within table" structure.
Regards,
Bill

Similar Messages

  • No Current Record Error When Opening Project

    So, I have a large-ish project that I've been working with for a while in RoboHelp 9. Said project has historically been somewhat unstable (we had to strip it down and rebuild it entirely a couple years ago), and today said instability has reared its ugly head. Essentially, when I try to open the project, RoboHelp spins its wheels for a while, and eventually gives me a message reading "No current record." I got this error trying to open the XPJ file, then tried the HHP, which apparently blew the XPJ away, and gave me the same message.
    I have a backup project I can use if need be, but I'd rather get my original version running again. Any ideas?

    You haven't said whether you tried deleting the CPD?
    Also you haven't said where the project is located, network or local.
    See if this thread helps and post back.
    http://forums.adobe.com/message/244585#244585
    See www.grainge.org for RoboHelp and Authoring tips
    @petergrainge

  • How to Highlight the CURRENT RECORD in a Table with Report Form

    Hi,
    I have created a Table with Report Form....let suppose the table is - EMP
    Report page - 1
    Form page - 2
    Now, when I do Create / Update on Page 2,....the control is back on Page1.
    Suppose in the Report Page (Page1)..we have 10 records....NOW how should I highlight the CURRENT RECORD in Page 1 with some color to identify the record which I have updated/created just now...
    Thanks,
    Deepak

    Hi Deepak,
    You could do that with a custom report template. I've done that here: [http://apex.oracle.com/pls/otn/f?p=267:175]
    Go to Shared Components, Templates and create a new Report template as a copy of your existing one. Then edit your template. In the above example, the Column Template 1 setting was:
    &lt;td #ALIGNMENT# headers="#COLUMN_HEADER#" class="t18data"&gt;#COLUMN_VALUE#&lt;/td&gt;I copied this into the Column Template 2 setting and updated the Column Template 1 setting to:
    &lt;td #ALIGNMENT# headers="#COLUMN_HEADER#" class="t18data" style="background-color:red; color:yellow;"&gt;#COLUMN_VALUE#&lt;/td&gt;I then set the Column Template 1 Condition to: Use Based on PL/SQL Expression
    and the Column Template 1 Expression to: '#EMPNO#' = '&P178_EMPNO.'
    (In my example, P178_EMPNO is the single item on the linked to page.
    Save those changes and go to your report and change its template to the new one. As long as a selection has been made and P178_EMPNO has a value, the condition will make sure that the report uses the first template for the row with the matching EMPNO value. All other rows get the template from Column Template 2.
    Andy

  • Re: Displaying Current Record After Delete

    Hi all,
    I am using Jdeveloper 11.1.2.3.0
    I have two tables which has parent child relation among the both.
    I dragged the parent table as a adf form on to the .jspx page.
    Now if i am trying to delete fifth record in the parent table it is giving error message like "Table has child record, delete unsuccessful"
    It is fine, but the control going to first record after deletion.
    But i want to display current deleting record on the page if deletion is unsuccessful.
    Can anybody help me to resolve the above one.
    Thanks,
    Syam

    In this code when the bolded if condition fails i want to delete that record. I tried "delete struct1 index sy-tabix" but that record is not deleted.
    I tried "clear  struct1 ". its deletes the current record.
    but in some field its getting zero value & it is appending as a additional record.
    Please help me.
    loop at cdhdr.
    if ( it1-tcode = 'FSS0' or it1-tcode = 'FS00' ).
        w1_saknr = it1-objectid+4(10).
        w_orgid = it1-objectid+14(4).
       loop at it_cdpos  where changenr eq it1-changenr
                      and objectid eq it1-objectid
                       and   objectclas eq it1-objectclas.
       <b>If w_orgid in r_orgid.</b> 
      IF ( it_CDPOS-FNAME = 'XLOEV' AND it_cdpos-value_new eq 'X' ).
         replace struct1-change_ind with 'D' into struct1-change_ind.
                struct1-bukrs = w_orgid.
                struct1-cost = space.
                struct1-plant = space.
                append struct1.
          else.
             struct1-bukrs = w_orgid.
             struct1-change_ind = w_chngid.
             struct1-cost = space.
             struct1-plant = space.
             append struct1.
          endif.
       <b> else</b>.
        <b>delete struct1 index sy-tabix</b>.
      endif.
        append struct1.
           endloop.
    endif.
    endloop.

  • Task flow return-Current Record pointing issue.

    Hi friends
    Newbie in ADF (basically from .net back ground)...........I am in the process of developing my first module.
    I have a task flow where a master detail records are displayed ..When I click "Edit" it is calling a edit task flow where the editing of master/detail tables are performed .When I click "New" a blank record is created and it is calling same edit task flow.
    my problem is when the child task flow exits and returns to the parent it is not pointing to the current record I edited...This is true if return either by commit or cancel.
    My data control is shared , parent task flow does not have any transaction and child always starts a new transaction.
    What is the ideal solution to point to the current record when I return?.
    Thanks .
    Ashraf

    Below is updated bean code
    ViewObject VO;
    FacesContext fctx = FacesContext.getCurrentInstance();
    DCBindingContainer bindings = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
    DCIteratorBinding iter = bindings.findIteratorBinding("Delmast1Iterator");
    VO = iter.getViewObject();
    Key currKey = iter.getCurrentRow().getKey();
    Row[] rows = VO.findByKey(currKey, 1);
    if (rows.length == 1) {
    System.out.println("row found");
    VO.setCurrentRow(rows[0]);
    iter.executeQuery();
    iter.setCurrentRowWithKey(currKey.toStringFormat(true));
    iter.setCurrentRowWithKeyValue(iter.getCurrentRow().getAttribute("SaleId").toString());
    If my child task flow does not have a commit or rollback the above code works fine...But I am beginning a transaction in my child flow(edit flow) so it is a must to have commit/rollback.
    Is there any other options experts ?..Please guide me.
    Thax.

  • Set current record to uppercase

    Hi,
    How can i set a particular item in the current record to uppercase at runtime.
    Set_item_property is setting the item
    in all the records to uppercase.
    Thanks in advance.
    Phebe

    If you just want the value to be in upper case you can code a trigger to do this for you in when-validate-item or post-change.
    Just do it manually without a builtin .

  • Current Record Visual Attribute

    Hallo,
    In a Dev.2.1 Form I have defined a Visual attribute (VA01 - black on yellow) and then in a Data Base block I have assigned VA01 to the 'current record' property.
    One item of that block is not a Data Base one. When I scroll the rows of the Base Table only this item isn't affected by the current record visual attribute, i.e. it remains "black on white".
    Anyone kwnows why ?
    Thanks in advance.
    Dino.

    The 'Current record Visual attribute' property of that block is already set to VA01. The point is that all of the items of that block iherit the attribute, except the one I said, which doesn't belong to the base table. I ask if this behaviour is normal, and how to do to have also this item to be affected by the same visual attribute !
    Thanks.

  • No field in current record - message

    Access2007.accd of an old db built circa 90s .mdb; 
    Main form, with single form Sub form2, with continuous Sub form3
    Main form has a Combobox1 to select record from Table 1
    Sub form2 has a Combobox2 in its header to select record from Table 2 (Many to Table 1 key)
    Combobox2's record set is a query with criteria of Main form Key ID so it only displays choices valid to Main form 
    continuous Sub form3 displays records from Table 3 (Many to Table 2 key)
    and this all works fine
    when Main form's combobox1 is changed, subform 2 is requeried and combobox 2 requires an explicit requery in the combobox 1 AfterUpdate Event
    this also works fine - except - if one has highlighted a row in continuous sub form 3, and then using your cursor to go to Main form combobox 1 and select ; then the error message 'No combobox2 is in the current record' appears
    so I am guessing the 'current record' is the issue but not sure how to resolve.......

    All that I can add to this is:
    clicking in a row/field in continuous sub form 3 causes the problem as per the first post
    if one clicks into single Sub Form 2 before triggering the Main combo box - everything works ok
    because the error is saying 'there is no such field in the current record'....and the Go To step of the macro is to a control and not a field - it is a baffling error to me.  But to satisfy this insanity I created a calculated field in the query record
    source of continuous sub form 3 using the name of the control and just entering a fixed 'dummy' value....
    and that works.... a bizarre work around.......

  • APP-PAY-07092: This action is invalid for the current record.

    Unable to access employees assignment panel in order to make updates within oracle HR receiving this error.How to fix this.

    Please see these docs.
    APP-PAY-07092 This action is invalid for the current record when Trying to Access Assignment [ID 813815.1]
    PERWSHRG APP-PAY-07092 when Navigating to Assignments Screen [ID 796523.1]
    PERWSHRG APP-PAY-07092 Trying to Access Assignment [ID 1434212.1]
    PERWSEAC Cannot enter Costing for Contingent Workers APP-PAY-07092 [ID 1458000.1]
    App-Pay-07092:Action Invalid for Current Record:Salary for Active Contingent Asg [ID 360168.1]
    Payment Method Errors When Opened: APP-PAY-07092: This process is invalid for the current record. [ID 289691.1
    Thanks,
    Hussein                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • How to extract current record using get pernr (logical database)

    Hi all,
    I am using logical database in the program and using <b>get pernr</b> method. But there are multiple entries in the infotype for a perticular employee. i want to extract employees current record whose end date is greater than sy-datum.
    how to do this using <b>get pernr</b>?
    Thanks in advance.

    Hi Priti,
    Get Pernr statement will get all the records for each employee spcicified for the Begin and End dates on the selection screen and store in an internal table for the infotypes declared in the infotypes statement.
    You need to read this table and copy only the records that meet the date criteria in an internal table for further use.
    For Ex:
    infotypes : 0001.
    tables : pernr.
    TYPES : BEGIN OF ty_kostl,
             pernr TYPE pernr-pernr,
             kostl TYPE p0001-kostl,
             ename TYPE p0001-ename,
            END   OF ty_kostl.
    Work Areas
    DATA : g_kostl_wa  TYPE ty_kostl.
    Internal Tables
    DATA : i_kostl  TYPE TABLE OF ty_kostl.
    start-of-selection.
       get pernr.
       PROVIDE * FROM p0001 BETWEEN pn-begda AND pn-endda.
        if p0001-endda GT sy-datum.
           g_kostl_wa-pernr = p0001-pernr.
           g_kostl_wa-kostl = p0001-kostl.
           g_kostl_wa-ename = p0001-ename.
           APPEND g_kostl_wa TO i_kostl.
           CLEAR  g_kostl_wa.
        endif.
      ENDPROVIDE.

  • Updating current record using SET_CUSTOM_PROPERTY in a multi-record form

    Hi,
    I have a multi record form and am using the SET_CUSTOM_PROPERTY method in the when validate trigger of an item. The problem is that it updates all records in the form instead of updating just the current record.
    Any inputs to resolve this would be helpful.
    Thanks

    I cannot reproduce the issue here.
    I have modified the sample dialog shipped with th article to have a block that displays 2 records
    <p>See the screenshot here</p>
    Here is the code in the When-Button-Pressed trigger:
      Set_Custom_Property( 'BLZ.BEAN', 1, 'READIMGFILE', 'd:/coyote.jpg' ) ;
      Set_Custom_Property( 'BLZ.BEAN', 2, 'READIMGFILE', 'd:/oracle_community.gif' ) ;So everything is ok for me.
    Francois

  • Moving to current record after execute query

    Hi all,
    I have a form where i can list all db jobs which can be start or stop.
    for more details, form is having columns like jobs, current db status, action(start/stop drop down)
    The user will view list of jobs in the screen and he straightly goes to a record and start (submit) the job using drop down for that record.
    once they start/stop the job, execute query will fire to show the current status of the job.
    Now going to my requirement,after execute query, I want to go to the record (job) which user has started the job .
    Currently the cursor will go to first record.
    Is there any oracle 10g AS property where i can get current record , put it in parameter and go to that record after execute query?
    Is there any other way?
    Regards,
    Leonard

    Hello,
    If you are sure the record after query will keep the same position, you can before, store the current record in a number variable with Get_Block_Property( CURRENT_RECORD) built-in, then after query use the Go_Record() with stored number variable in parameter.
    If you think that after re-query the record number can change, you have to loop through your records, then stop navidation while you find the corresponding key.
    Francois

  • Current record issue

    Hi,
    I have a data block in tabular format, displaying 10 records at a time with a scrollbar. There is a checkbox for each record. When the checkbox is checked/unchecked, I have to populate a summary field by looping through all the records including/excluding the record which was checked/unchecked. After this is done, I want the cursor to remain in the same record. Since i am using NEXT_RECORD to loop through all the records, the cursor comes to the last record. Then i used CURRENT_RECORD property to store the current record value and I reset the property after the looping is done. Now the cursor remains in the same record, but that record becomes the first record in the canvas meaning that the record scrolls upwards. How can we avoid this ? I want the canvas to remain in the same position as it was before checking/unchecking.
    Regards,
    Suresh

    First of all, you don't have to loop over a block to sum something. That's what calculated items are for. Create a calulated item of type formula with something like the following as formula
    CASE WHEN :BLOCK.CHECKBOX='J' THEN :BLOCK.VALUE ELSE 0 ENDCreate another calculated item of type summary which sums up the formerly created item.
    If you still want to loop:
    -Remember SYSTEM.CURSOR_ITEM before starting
    -Remember GET_BLOCK_PROPERTY('BLOCK', TOPMOST_RECORD)
    -After finished, do a GO_RECORD(<theFormelryRememberedSYSTEM.CURSOR_ITEM);
    -Loop as long as GET_BLOCK_PROPERTY('BLOCK', TOPMOST_RECORD) is smaller then the remembered value and do a NEXT_RECORD;

  • Current Record Pointer after ResultSet.DeleteRow()

    I have a question about the position of the Current Record Pointer in a ResultSet after a call to DeleteRow(). I have three records in the ResultSet, and call DeleteRow() while positioned on the first record. If I call moveToCurrentRow() or do not call any routine. It appears I am still pointed at the deleted first row. I can call getString() and get the data from the first row, which has been deleted. If I call next(), I find myself positioned on the third row, not the second row. How do I delete the first row and position myself on the NEW first row?

    Here it is again, this time with some formating.
        private void DeleteButtonActionPerformed(java.awt.event.ActionEvent evt) {
            try {
                int result = JOptionPane.showOptionDialog( PeriodicalMaint.this, "Delete Current Periodical?",
                                                          "Warning", JOptionPane.OK_CANCEL_OPTION,
                                                          JOptionPane.WARNING_MESSAGE, null, null, null);
                if ( result == JOptionPane.OK_OPTION ) {
                    String Periodical = PeriodicalField.getText();
                    deleteAllIssues( Periodical );
                    periodicalsRS.deleteRow();
                    JOptionPane.showMessageDialog(PeriodicalMaint.this,
                                                  "Periodical " + Periodical + " has been Deleted!",
                                                  "Periodical Deleted", JOptionPane.PLAIN_MESSAGE);
                    clearAllFields();
                    disableAllFields();
                    boolean rsEmpty = false;
                    periodicalsRS.moveToCurrentRow();
                    if ( periodicalsRS.isAfterLast() && !periodicalsRS.previous() ) {
                        rsEmpty = true;
                    if ( !rsEmpty ) {
                        populateAllFields();
                        addMode = false;
                        if ( Periodicals.UpdatePriv ) {
                            enableAllFields();
                        IssuesTable.setEditable( false );
                        NameField.requestFocus();
            catch (SQLException sqle) {
                JOptionPane.showMessageDialog( PeriodicalMaint.this, "SQLException: " + sqle.getMessage(),
                                               "Delete Error", JOptionPane.OK_OPTION );
        }

  • Dynamic choice list dependent on current record in edit form (10.1.3.4)

    Using JDeveloper 10.1.3.4.0. BC4J+ADF Faces
    I have a page with an edit form that shows one record at a time for a view object ("VO one") and also has buttons to navigate to other records in the view object (first, prev, next, last).
    I use a selectOneChoice component to edit one of the attributes on the edit form. The choices for the selectOneChoice are driven by another view object ("VO two").
    The query for "VO two" so that it has a bind variable which is populated with one of the attributes of the current record of "VO one". Therefore, as the user navigates through records the choice list on the page shows different choices.
    What is the best way set up the selectOneChoice and to update the bind variable for "VO two" and re-execute its query when the form is navigated to different records in 10.1.3.4.0?
    (Yeah, I know its easy in 11g but I can't update the project yet...)
    Thank you for reading my question.

    Hello -
    I found a solution and am documenting it here in case someone else finds this while trying to solve a similar problem.
    1. I added the bind variable to my list choices view object and added a method in the app module that would set the bind variable and execute the query of the view object. The method was then added to the app module's public interface.
    2. In the page definition for the edit form page, I created a method binding for the method in the app module and set as parameter values data from attribute bindings already in the page definition.
    3. I created a backing bean to act as a page phase listener as detailed here:
    http://download.oracle.com/docs/html/B25947_01/bcdcpal005.htm#sm0271
    4. In the "onPagePreRender" method I get a hold of the method binding and execute it.

Maybe you are looking for

  • DBMS_METADATA.GET_DDL Not working

    Hi All, Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi I am creating table as: create table XX as select * from fnd;    select   DBMS_METADATA.GET_DDL('TABLE','xx') from dualI get the below given error: Error starting at line 1 in c

  • QuickVPN client login issues

                    Hello, I am using a RV180W router and using QuickVPN client ver 1.4.2.1  for remote access. Both the client and server are Window7. I have create 4 users in the router. I can connect using one user logon but when I logout and try to c

  • IPad Camera Connection Kit and iPhone 3GS

    I just got home with a Camera Connection kit and while it works with an iPhone 4 and even with an old iPhone 3G I had lying around, it doesn't work with my iPhone 3GS, giving me a "The attached accessory uses too much power" error. Both the iPad and

  • Install CS3 Over CS4 Demo

    I've given my daughter my old CS3 Design Suite. It is properly de-authorized from my computers. I am running CS4. She tried the CS4 30 day free demo. She has since "uninstalled" it from her MacBook Pro. She's trying to install the CS3 Design Suite an

  • Reporting in Different Planning Unit of Measures

    Dear Gurus, I have a requirement where in the trasnaction happens at EACH and the users want to view the reports at the planning unit of measure. The different conversion factors for planning unit of measure are maintained as part of the product mast