Mapping multi-segment IDOC to multiple JDBC INSERT statements

Hi Everyone,
This is probably going to be easy for the experienced PI developers out there but I'm just starting out in this technology. We are running PI 1.11 and the scenario is as follows. We have a bespoke IDOC message type ZSTOCK which can contain 1-many segments with the following field content:
WERKS
MATNR
VBELN
ACT_LABST
AVL_LABST
For each segment in the source IDOC, I want to generate an INSERT statement to insert a row in an SQL table via the JDBC adapter with the following columns:
Plant
Material
SalesOrd
ActStock
AvlStock
Basically, each field on the source IDOC segment maps directly onto the target column of the SQL table. The problem is, on a multi-segment IDOC only the first segment is generating a row in the SQL table. I've seen a number of threads on this forum that seem to tackle the same issue but the solution is either missing or unclear. I think the solution lies somwhere in the occurrences of the STATEMENT node in my target message type and perhaps specific definitions in the message mapping. Can anyone help solve this mystery?
Thanks,
Gary

Hi Gary
If you created a data type, try to change occurrence of STATEMENT node to 0..unbounded or 1..unbounded.
In the message mapping, map the target STATEMENT node with the source 1-many segment.
You can find [here|http://help.sap.com/saphelp_nw70/helpdata/en/4d/8c103e05df2e4b95cbcc68fed61705/content.htm] more informations about the JDBC structure
Regards,
Giuseppe

Similar Messages

  • Mapping Issue: one IDoc to multiple IDocs concerning incoming segments

    Hi,
    i want to devide one incoming IDoc to two or more outgoing IDoc's of same type concerning the appearance of one segment.
    Incoming is:
       <IDOC BEGIN="">                   1...1
          <EDI_DC40 SEGMENT="">
          </EDI_DC40>
          <..>
          <Z1MOV SEGMENT="">  0..99999
          </Z1MOV>
       </IDOC>
    Target should be:
    for each Z1MOV one IDOC.
       <IDOC BEGIN="">                   1...1
          <EDI_DC40 SEGMENT="">
          </EDI_DC40>
          <..>
          <Z1MOV SEGMENT="">  0..1
          </Z1MOV>
       </IDOC>
    I already did the occurance change, like imported target IDoc with changed attribute maxOccurs="unbounded".
    I mapped the segment Z1MOV to IDOC but when Z1MOV occurs more than one time the target gets generated only one time. I changed the occurance of the IDoc to maxOccurs="unbounded".
    What do i have to do to make it run?!
    br

    Can someone help?
    When i switch to debug while testing message mapping i get following:
    Close tag
    Close tag
    Start tag
    Targetelement /ZIDOC/IDOC[2]/BEGIN kann nicht angelegt werden. Prüfen Sie, ob die XML-Instanz für die Ausgangs-XSD und die Zielfeldzuordnung die Anforderungen der Ziel-XSD erfüllt. Zielelement /ZIDOC/IDOC[2]/BEGIN kann nicht angelegt werden. Prüfen Sie, ob die XML-Instanz für die Ausgangs-XSD und die Zielfeldzuordnung die Anforderungen der Ziel-XSD erfüllt.
    I hope you can get the idea of this error because i can't tanslate.
    But the BEGIN is required for each message so how to get rid of it. This also concerns the SEGMENT-tag under each Segment of the IDoc.
    br

  • JDBC insert statement problem

    i have the following code. please help me out.
    import java.io.*;
    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.ResultSet;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement ;
    import java.util.*;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class BookIssue extends JFrame
         JComboBox cbBooks;
         JLabel lblIssue;
         String selectedBook;
         JButton btnIssue;
         public BookIssue(String title)
              super(title);
              setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
               lblIssue = new JLabel("Select books from combo box",JLabel.CENTER);
               btnIssue = new JButton("Issue");
              cbBooks = new JComboBox(new Object[] {"RaghuRamkrishnan","J2CR","Netwrok Security"});   
              Container cp=getContentPane();
              setLayout(new FlowLayout());
              cp.add(lblIssue);
              cp.add(cbBooks);
              cp.add(btnIssue);
              selectedBook =(String) (cbBooks.getSelectedItem());
              btnIssue.addActionListener(new IssueListerner());
              setSize(300,300);
              setVisible(true);
         }// constructor end
         class IssueListerner implements ActionListener
              Connection conn;
              Statement stmt;
                   public void actionPerformed(ActionEvent ae)
                         try
                              if(btnIssue==ae.getSource())
                                  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                                  conn = DriverManager.getConnection("jdbc:odbc:JemNat","","");
                                  stmt=conn.createStatement();
                                  stmt.executeUpdate("Insert into StudentIssueDetails(BookName) values(selectedBook)");
                             }///End outer if
                             stmt.close();
                             conn.close();
                         } //end try
                         catch(SQLException exc)
                             exc.printStackTrace();
                        catch(Exception exc)
                             exc.printStackTrace();
                    }   /// end function
          public static void main(String[] args)
              new BookIssue("Book Issue");
    } ///end class
         getting the following list of errors::
    ---------- java ----------
    RaghuRamkrishnan
    java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
         at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)
         at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)
         at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111)
         at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
         at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(JdbcOdbcStatement.java:288)
         at BookIssue$IssueListerner.actionPerformed(BookIssue.java:59)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
         at java.awt.Component.processMouseEvent(Component.java:5488)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
         at java.awt.Component.processEvent(Component.java:5253)
         at java.awt.Container.processEvent(Container.java:1966)
         at java.awt.Component.dispatchEventImpl(Component.java:3955)
         at java.awt.Container.dispatchEventImpl(Container.java:2024)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
         at java.awt.Container.dispatchEventImpl(Container.java:2010)
         at java.awt.Window.dispatchEventImpl(Window.java:1774)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

    stmt.executeUpdate("Insert into
    t into StudentIssueDetails(BookName)
    values(selectedBook)");What is this 'selectedBook'? Is this a variable name?
    In that case, you shouldn't be just writing it within the string. That would be an incorrect SQL. It should look like:
    stmt.executeUpdate("Insert into StudentUssueDetails(BookName) values('" +selectedBook +"')");Of course, a better way is to use PreparedStatement.

  • JDBC Insertion Response

    Hello everybody,
    I have the next scenario:
    R/3 IDOC -> XI -> Oracle JDBC Insertion
    the problem is that the database is returning the reponse of the insertion and the idocs are asynchronous, so XI gives an error of mapping cause I can't map a synchronous interface to a asynchrounous one, can anyone help me with this problem any suggestions?????
    Thanks in advance,
    Regards,
    Julio Cesar

    Hi,
    If you want pass the data from IDOC to Oracle database to update the information of Oracle table,it is possible.
    see this for sample weblog....
    /people/prateek.shah/blog/2005/06/08/introduction-to-idoc-xi-file-scenario-and-complete-walk-through-for-starters
    For target JDBC structure see the following weblog...
    /people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30
    and also refer
    Re: IDOC to File Scenario
    Thanks
    Vikranth

  • One IDOC to multiple XML messages

    Hi! I am using the graphical mapper in XI to map the SHPMNT03 IDOC to an XML message. The IDOC has a shipment node and potentially multiple delivery nodes, for example:
    E1EDT20
      - E1EDL20
      - E1EDL20
      - E1EDL20
    I need to create one XML message per E1EDL20 node. I figured I could do this in the mapper but when I execute the map for an IDOC with multiple E1EDL20 nodes, I get a 'Cannot cast 2 to boolean' error. The map executes fine when there is a single E1EDL20 in the IDOC.
    As always, help is very much appreciated and points awarded.
    Thx, Duncan

    Hi Duncan,
    Can you just check if this is what you have done,
    IR
    1. Message Mapping -- Occurence of the Destination message type ( file ) is unbounded
    2. Interface Mapping -- Occurence of the Destination Interface ( File ) is unbounded
    ID
    1. No sender communication channel , sender agreement
    2. Receiver communcation channel for FIle with appropriate FILE CONSTRUCTION MODE
    3. Receiver Determination  and Interface Determination with Sender Interface as the IDOC interface and Receiver Interface as the FILE INTERFACE.
    I think there is some misunderstanding on this front.
    Multimapping will work if you are trying to  do an IDOC to FILE with a 1:N split
    just check this and let me know if you ve missed something.
    Regards,
    Bhavesh

  • JDBC to IDoc ( error when mapping multiple JDBC records to IDoc)

    Hi,
    I am working on JDBC to IDoc scenario, I have declared row as 0 to unbounded and by default the IDoc structure is 1..1.
    Inorder to map multiple rows from JDBC to get multiple IDoc's, I have changed the occurrence of IDoc in "Messages" tab of Message mapping to 0 to unbounded.
    I have mapped "row" to "IDoc".
    When I test the mapping, it works fine, giving the same number of IDoc's with that of row.
    When I test end to end, in SXMB_MONI, it gives me following error:
    <SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_IDOC_RUNTIME</SAP:Code>
      <SAP:P1>MSGGUID 54A3A64E895D48EC3F20C69FEFE2E82B: Tag found instead of tag IDOC BEGIN=</SAP:P1>
    can any one help me out with this.
    Thanks in advance.

    Hi Jwalith,
    Check this blog from Michel
    The specified item was not found.
    Make sure that you changed occurance as per this blog.
    hope this is helpful
    regards,
    Venkat.

  • How to isolate error with a record/segment in IDOC with multiple records

    I have an IDOC with multiple records/segments (typically 1000 records/segments). Sometime XI can not process the IDOC because of some control characters in data.
    1. How can I pre-processed the IDOC to remove those control characters?
    Can I use XPATH expression/Java class to do it? How can I configure the XPATH expression/Java class in XI to pre-process the file?
    2. Until I have answer to 1st question. I would like to find out the error is exactly for which record? What configuration can I do in XI to isolate the error is with which record/segment in IDOC?
    Thanks in advance.

    Split the IDoc.
    with in the UDF, after the validations if every thing fine, pass as successful records to success_MT and pass it to target system using Branching in BPM.
    if errors found in the record, then store the error records in Hash table with in UDF, get the IDoc number, frame as a string and raise alert.
    U have to do this in the context of IDoc.
    If U wanna get the IDoc Number, Segment Name and field name for every failure, U can pass the expected error field name as constant to UDF, frame the sentence in the UDF like -> <b>IDoc 1234321 segment – SEG001 – field – FLD03 has a special character ‘*’</b>.
    If U wanna pass this string to source/target, U can do in error messages branch in BPM.
    U must use BPM for splitting the IDoc, since it is multi-mapping.
    reg.,
    Yallabandi.

  • Create multiple idoc with multiple receivers based on value mapping table

    Hi,
    Scenario: 
    Step1 : sender sends a finance doc iin the form of an idoc. This idoc will have multiple line items based on profit center. Do determine the value of receiving comp code(header field) n receiving system(logical sys name) value mapping table has to be used.
    Solution so far: I can put an rfc lookup for fetching receiving comp code from mapping table with i/p paraameter as profit center . And split the incoming idoc based on comp code value by using split by value. Now I need your advise 2 take this further.
    Issue 1 : say the incoming idoc has 4  line seg wid 4 diff profit center
    Profit center.       Rec comp code.   Recv sys
    P1.                       C1.                        R1
    P2.                       C2.                        R1
    PS.                       C2.                        R1
    P3.                       C3.                        R2
    Nw using this info, I want 3 diff idocs to be created for each unique comp code.
    Idoc 1 : for C1 wid one line item + 1 for reconsilation ( to be generated additionally)
    Idoc2 : for C2 wid 2 line items + 1 for reconsilation
    Idoc 3: for C3 wid 1 line item + 1 for reconsilation
    Idoc 1 and idoc 2 shud be sent to R1.
    Idoc 3 shud be sent to R2.
    Kindly advise on this

    Hi experts,
    U all r pretty close, but let me put this more clearly.
    Step1: create multiple idocs based on unique comp code - I'm able to do this using rfc lookup n split by value. So I get 3 idocs each for c1, c2 n c3.
    Nw as per the values from value mapping table.
    Idoc for c1 contains 1 line seg.
    Idoc for c2 contains 2 line segs.
    N idoc for c3 contains 1 line seg.
    steps2 n 3,  where I do not have a confirmed solution yet n need ur advise.
    Step 2 : for each idoc generated I need 2 create n additional segment, mapping 4 which will be based on the values in the original segments for that idoc.
    In d above scenario, idoc for c1 contains 1 line seg, nw I want 2 add one more seg to it. The amount and pisting key values in this segment wud be calculated based on the values of the amount and posting key belonging to the original segment in this idoc.
    Similarly for idoc for c2 there are 2 segs, nw I need one more, means 3 in allm
    Hence for idoc for c3, 1 orig already present + 1 more. = total 2.
    Nw I need ur advise on how 2 generate this additional seg in each idocm
    Step 3: when all dese 3 idocs are generated, ( in this case itz 3, in real time it can be n), I need to find their respective receivers using rfc lookup n then based on the receiver send 2 resp recvng systm
    Nw how do I do this?
    Please explain with examples if possible 4 bettr understanding.
    u2020ђąu03B7kўu03C3u03C5 in advance.

  • Mapping issue in idoc to JDBC scenario

    mapping issue in idoc to JDBC scenario
    source structure
    E1KNB1M
      BUKRS = 1000
    E1KNB1M
      BUKRS=  9000
    E1KNB1M
      BUKRS=  2000
    THE NODE E1KNB1M is repeated many times and the field BUKRS is also repeated with E1KNB1M as above
    TARGET field : ISFRANCHISE
    if any where value of BUKRS =9000 we have to pass Y to the target filed, else N
    if BUKRS = 9000   THEN ISFRANCHISE= Y
                   ELSE
                ISFRANCHISE=N
    I've done the mapping as below
    BUKRS = 9000--> IF THEN Y ELSE N--
    > ISFRANCHISE
    BUT everry time the target value is N only
    pl suggest
    rgds
    mojib

    mapped like this
    BUKRS--->SORT---->
                                                 EQUALS --------IF---THEN    Y
    9000------------------------>                                               ----------------->ISFRANCHISE
                                                                  ELSE   N
    context of BUKRS set to parent node
    its worked
    thanks to all for valuable suggestions
    rgds
    mojib

  • Split Single IDOC into Multiple IDOC's Based on Segment Type

    Hi Experts,
    I have a scenario IDOC to FILE ,  Split Single IDOC into Multiple IDOC's based on Segment Type
    Outbound:
    ZIdocName
    Control Record
    Data Record
    Segment 1
    Segment 2
    Segment 3
    Status Record
    I should get output like below
    Inbound:
    ZIdocName
    Control Record
    Data Record
    Segment 1
    Status Record
    ZIdocName
    Control Record
    Data Record
    Segment 2
    Status Record
    ZIdocName
    Control Record
    Data Record
    Segment 3
    Status Record
    Please suggest me step by step process to achieve this task.
    Thanks.

    Thanks a lot Harish for reply.
    I have small doubt. According to your reply , If we have N number of segments in single IDOC with same fields in all segments then for splitting Single IDOC into Multiple IDOC's based on Segment Type we need to duplicate N number of target IDOC tree structure.
    Is that possible to Split single IDOC into Multiple IDOC's based on Segment Type using only one Target IDOC structure without duplicating the Target IDOC structure tree.

  • PI JDBC INSERT Failed but message is registered as successful

    Dear all,
    We have a scenario where we send an IDOC with prices of several materials to PI and then using JDBC we send it to an SQL database. During the mapping, we create an INSERT statement for each segment of the IDOC .
    The problem is, that sometimes one or more insert statements may fail (the customer can see no new lines in the database), but in the monitoring everything seems ok . The message has a "processed successfully"  status so there is no way for the customer to know that something went wrong so each time they check the prices one by one .
    The strange part is that if they find a mistake, they just resend the same message and after one or two tries it works ! This indicates that the problem is not in the actual data but somewhere else (probably in the database ?) .
    So, one problem is why the data is not written and the second issue is why the message is logged as successful although one query has failed ,
    Thank you all for your help .

    Thank you for both for your quick response .
    Unfortunately this scenario is up and running for quite some time already and the customer does not want to change it . Also, I am not sure how I could make an Insert statement that would include many lines .
    Right now, the mapping produces the following result (I only post the first two statements, the actual number is around 500)
    <Statement><dbTableName action="INSERT">
    <table>min_sapsrs_price</table>
    <access><STAT>0</STAT><
    ACT_DATE>20100701</ACT_DATE>
    <MOD_DEL>MOD</MOD_DEL>
    <INTCODE>000000000014009003</INTCODE>
    </access>
    </dbTableName>
    </Statement>
    <Statement>
    <dbTableName action="INSERT">
    <table>min_sapsrs_price</table>
    <access><STAT>0</STAT>
    <ACT_DATE>20100701</ACT_DATE>
    <MOD_DEL>MOD</MOD_DEL>
    <INTCODE>000000000014009004</INTCODE>
    </access>
    </dbTableName>
    </Statement>
    could you please tell me how should I propose them to do it ?

  • From IDOC to Multiple Oracle tables Structure

    Hi Guys,
    I am doing a one Senario which is Custom idoc and Custom Tables of oracle they both have same fields and Same Sturucte does it possible from to do 1:1 mapping shall i process these in 1:n.Need a sugestion in these  How i can slove these problem. IF some from india will give their cont pho to my mail id [email protected] i can call them and dicuss about these problem..
      the senario is idoc to multiple oracle tables..need to map.
    Regd's
    Raj

    Hi Raj,
    you scenario can be:
    R/3 -> XI -> JDBC
    The flow is asynchronous - so you dont have any responses. If you want to use BPM/acknowledgements to catch errors have a look to <a href="/people/udo.martens/blog/2005/09/30/one-logical-system-name-for-serveral-bpm-acknowledgements Logical System Name for serveral BPM Acknowledgements</a>
    You can split the IDoc (<a href="/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible without BPM - Yes, it’s possible!</a>) to several JDBC messages or put serveral statements into one message (
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/frameset.htm">Document Formats for the Receiver JDBC Adapter</a>)
    Regards,
    Udo

  • IDOC to (multiple) file design help

    Hi all,
    i am trying to do a IDOC to multiple file scenario.
    Requirement:
    An outbound idoc has 4 segments.
    now i want the output of first 2 segments in one file and second 2 segments in another file.
    How to approach this design (without BPM).
    Waiting for reply,
    Senthilprakash.

    Hi,
    Use multimapping (use external definition of Idoc in source side) in which target message occurance should be 0..unbounded.
      write one UDF like below
    for(int i=1;i<=4;i++)
         if(i==2||i==4){
         result.addValue("");;
                     so that it will split the target structure 2 time(when i=2 and i=4). so that you map all the source fields to target fields(all one to one mapping except UDF).
    start doing this so that you will get the required output easily.
    thanks,
    madhu

  • Multiple Idocs to Multiple files

    Hi,
    I have a Idoc to File Scenario, where I get multiple Idocs and I need to generate multiple files with different file names
    Assume I am using file XML port at SAP to collect the Idocs.
    Target files are generated based on two field values (Delivery Type and Shipping Point)from Idoc.
    Eg:
    I have three Idocs at a time.
    Idoc1 has Delivery Type = EL & Shipping Point = 2550 --> Target file name is test1.bpr
    Idoc2 has Delivery Type = LF & Shipping Point = 2551 --> Target file name is test2.bps
    Idoc3 has Delivery Type = NL & Shipping Point = 2552 --> Target file name is test3.bpr and test3.bps
    1) Does Mult-mapping support in the case... ?
    2) Do I need to change the Idoc Occurrence 0 to unbounded ?
    3) What will be the Occurrences in the interface Mapping
    4) Can i generate Multiple fileswith different names at one time as specified above using Dynamic Configuration?
    5) What will be the Target Structure Occurrence ?
    Thanks,
    Varun

    Hi,
    Though I am using Multi - Mapping only 1 file is being created. I tested with two Idocs, where 2 files should be created.
    In Moni, under Payload,  I can see 2 sets of Main Document and SubMainDocument been created.
    How to generate 2 files/multiple files ?
    If Dynamic Configuration is not supported in case of Multi Mapping, If I want to use Variable Substitution, then What will be the Target path to be defined in the comm channel since Multi mapping is there. I am trying to define for Action field. Does Variable Substitution support Attributes in the aml payload ?
    My target structure
    <?xml version="1.0" encoding="utf-8" ?>
    - <ns1:Root xmlns:ns1="urn:ap:xi:dwn:Logi:100">
    - <Shipment Company="XX" Warehouse="01" ErpOrder="0830001212">
      <Action>0830001212_2551.bpr</Action>
      <Customer Customer="DEMO" Company="DEMO" />
      </Shipment>
      </ns1:Root>
    <?xml version="1.0" encoding="UTF-8" ?>
    <root>
    <Shipment>
    <Action>0830001212_2551.bpr</Action>
    </Shipment>
    </root>
    Shipment Occurrence is 0 to unbounded and above root I have Messages and message1 node (since Multi mapping)..
    so How do I specify Path for variable substitution in this case, i tried all possibilities, but i am getting error as
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: var2: com.sap.aii.adapter.file.configuration.DynamicConfigurationException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: var2
    I am working on PI 7.0 SP 21
    Thanks
    Edited by: Varun Reddy on May 9, 2011 4:38 PM

  • Multiple row insert "How To".

    I need a "How To" to add multiple rows to a table based on various input values.
    On my page I have the following:
    In the report section:
    select htmldb_item.hidden(1,null) circuit_id,
    htmldb_item.text(2,null) datacomm_id,
    htmldb_item.text(3,null) lan_equip_id,
    htmldb_item.text(4,null) circuit,
    htmldb_item.text(6,null) segment,
    htmldb_item.text(7,null) subnet,
    htmldb_item.text(8,null) lan_equip_model_id,
    htmldb_item.text(12,null) jack,
    htmldb_item.text(13,null) jpairs,
    htmldb_item.text(14,null) risers,
    htmldb_item.text(15,null) building,
    htmldb_item.text(16,null) uplink_lan_equip,
    htmldb_item.text(17,null) uplink_group,
    htmldb_item.text(21,null) comments,
    htmldb_item.text(22,null) vlan
    from neteng_circuits
    In the page processing processes section:
    -- insert circuits
    for i in 1..htmldb_application.g_f01.count
    loop
    insert into neteng_circuits
    (datacomm_id,
    lan_equip_id,
    circuit,
    topology,
    segment,
    subnet,
    lan_equip_model_id,
    lan_equip_ip,
    group1,
    port,
    jack,
    jpairs,
    risers,
    building,
    uplink_lan_equip,
    uplink_group,
    uplink_port,
    initials,
    date_modified,
    comments,
    vlan)
    values
    (htmldb_application.g_f02(i),
    htmldb_application.g_f03(i),
    htmldb_application.g_f04(i),
    :P41_TOPOLOGY,
    htmldb_application.g_f06(i),
    htmldb_application.g_f07(i),
    htmldb_application.g_f08(i),
    :P41_LAN_EQUIP_IP,
    :P41_GROUP1,
    :P41_PORT,
    htmldb_application.g_f12(i),
    htmldb_application.g_f13(i),
    htmldb_application.g_f14(i),
    htmldb_application.g_f15(i),
    htmldb_application.g_f16(i),
    htmldb_application.g_f17(i),
    :P41_UPLINK_PORT,
    :P41_INITIALS,
    :P41_DATE_MODIFIED,
    htmldb_application.g_f21(i),
    htmldb_application.g_f22(i));
    end loop;
    In the items section (with appropriate setup):
    5: P41_TOPOLOGY Select List
    9: P41_LAN_EQUIP_IP Text Field
    10: P41_GROUP1 Text Field
    11: P41_PORT Text Field
    18: P41_UPLINK_PORT Text Field
    19: P41_INITIALS Select List
    20: P41_DATE_MODIFIED Date Picker (DD-MON-RR)
    Ultimately the only fields which differ for the 48 new circuits
    which I wish to insert are:
    circuit_id (based on a trigger), jack, jpair (based on a select list),
    and port (values are 1-48, could be 1-16 under some circumstances).
    The uplink fields depend on the uplink_port value and there are similar
    relationships for other fields - I need to get them using select statements
    dynamically behind the scenes.
    Please help me to create this scenario.
    Thank you for all your help. Trudy.

    Does she want to insert 48 rows from the multi-row add delete check box report? If I understand that part correctly, then she needs to create an add button that adds another empty row into the table. Then she needs to populate the row with data; she would have to do this 48 times. From a form or a report I doubt that there is any other way to do it. When you do the update, the database gets updated by your sql insert statement that is in the update process you create. The update gets an event notification by an update button that you have created by clicking the Create a button displayed among the region's items when you created the button. The view also gets rendered with the same sql code. Refer to the example in the links that I gave you;
    your other question seems to revolve around sql.
    add the condition where x > =1 and y <= 48 into your sql conditions with an
    if condition. there are plenty of references for sql through a search on google;
    Let me know how things go.
    I have gotten my update to work with the workaround. The delete works with the following code:
    for i in 1..htmldb_application.g_f01.count
    loop
    delete from patient_info where primary_key_Column = htmldb_application.g_f02(htmldb_application.g_f01(i));
    end loop;
    I also have the sample add and insert(update) working. but I need to get the add the row dynamically to work in my real world data.
    Veena

Maybe you are looking for

  • Error testing Web Dynpro Callable Object (GP Interface)

    With reference to thread: Interactive form as  Callable object error on testing the object. FYI, I'm running NW04s, EP 7.0 SPS 13, JDK 1.4.2_14, Unix OS Hi All, I have created a Web Dynpro App with a Adobe Form as the frontend. I have included the ca

  • Problem with STMS_QA

    Hi, After releasing the transport requests in SE01, I have to approve these requests in STMS_QA, but these requests not appear in STMS_QA. Can any one help me? regards, prabhu

  • Using a varchar field to select statement

    Hi all I have a single row and single column table T(command varchar2(4000)) and the row is sno,name And I have another table T1(sno number,name varchar) Now can any body tell how can i use command column in table T to query T1 to get sno,name from T

  • Why is Dutch not available in Siri?

    Could someone please tell me why Dutch is not available in Siri (ios6). It is deffinately not the same as German (just for the info). By the way, Arabic is also a worldlanguage, spoken by many people. There is Chinese but no Arabic. Really something

  • URGENT - ACTIVESYNC - Create access denied to Subject XYZ

    I am running a flatfile activeSync. Adapter stautus indicates .. Executing. When i look at the ActiveSync log file all, I can see all the mapped attributes being pulled in correctly. But no user is created in IDM. The log file shows 'Create Access De