Insert Master and Detail in the same transaction

I have 2 view objects : Students and Enrollments.
Connecting those view objects, there is one view link :
Cardinality : 1..* (One student can enroll several courses).
This link is exposed in "Students" view object by the property "getEnrollments" and in "Enrollments" view object, by the property "getStudent".
I am try to insert records first in Student table, and Enrollment table in the same transaction.
The primary key for Student table is generatade by a sequence (database trigger)
My code is :
StudentListImpl studentView = getStudentList();
StudentListRowImpl studentRow = (StudentListRowImpl) studentView.createRow();
studentRow.setFirstname(student.getFirstName());
studentRow.setLastname(student.getLastName());
studentRow.setDatebirth(student.getDateBirth());
studentRow.setStatusid("A");
studentView.insertRow(studentRow);
EnrollmentListRowImpl enrollmentRow = (EnrollmentListRowImpl) studentRow.getEnrollments().createRow();
enrollmentRow.setCourseid("C-100");
studentRow.getEnrollments().insertRow(enrollmentRow);
The generated Student ID is not being retrieved by ADF and set up in Enrollment view object. So, database is firing foreign key violation (in Enrollment table - No student ID provided)
How can achieve this goal? Insert in DETAIL table with the key generated for the PARENT table?

Yes, ID attribute in Student EO is DBSequence.
If I insert only Student it works. But when I try to insert an Enrollment for that just created Student (same transaction), the Student ID is not assigned to Enrollment EO.
The code I use to insert Enrollment is :
EnrollmentListRowImpl enrollmentRow = (EnrollmentListRowImpl) studentRow.getEnrollments().createRow();
enrollmentRow.setCourseid("C-100");
My question is :
Since I am creating a new Enrollment row using view link acessors in Student VO (getEnrollments), will the Student ID (just generated by sequence) be automatically assigned to Enrollment VO?
I am totally lost about this (inserting master and detail in same transaction) and I can't find documentation on this topic.

Similar Messages

  • Master and detail in the same page

    db11xe , apex 4.0 , firefox 24 ,
    hi all ,
    i am trying to insert the master and detail data in one step in the same page :
    i have two tables (clients) and (tests_administered)
    the client table's region contains theses items
    client_id
    client_name
    the other table's region contains these columns -- the tabular region
    row selector
    test_admin_id -- pk,  hidden
    client_id          -- hidden , this is the one i should populate with values
    and more columns
    i've done this :
    1- removed the condition of the tabular region .
    2- Added the request CREATE to the list in condition of the APPLYMRU process -- or :request like ('CREATE')
    3- Added new process with following code : -- with sequence before the applymru process and after process row of clients process
    for i in 1..apex_application.g_f02.count
    loop
    apex_application.g_f02(i) := :p2_client_id ;
    end loop ;
    but nothing happened . why ? what did i miss ?
    thanks

    Hi,
    Create a Master Detail Form through the APEX Wizard 
    Make sure you choose the Primary Keys for the Master Detail as one of your Column and not the ROW ID.
    Selecting an existing Sequence for the Primary Key is preferred.
    Select the option the where your Master and Detail appears in the same page.
    Initially when you run the page your master and detail will not appear at the same time in the page when your Master Detail Form is in the entry form mode. For this you have to go to your Tabular Form(Detail Form) region, and below you will have to remove the Condition for the display of your Tabular form and set it to “No Condition”.
    Now when you run the page both the Master and Detail form will appear together in the create mode but you will not be able to insert or create both master and detail records at the same time when u click the create button. For this the following needs to be done: You need to create a PL SQL Tabular Form process :
    Let's say your master form is based on DEPT and your detail tabular form is based on EMP. Make sure the following things are configured:
    The DEPT insert/update DML process runs before the new tabular form PLSQL process. (ie) the new PL SQL Tabular Form Process that you create should be inbetween Automatic Row Processing(DML) and Multi Row Update Process , so create the new Tabular Form Pl SQL process with a sequence number inbetween these two Processes.
    Make sure you choose Tabular form while creating this PL SQL process.
    The new tabular form PL/SQL process executes the following as the source
       :DEPTNO := :P1_DEPTNO;
    Where DEPTNO is the Foreign Key column in the Tabular Form that links the Primary Key Item P1_DEPTNO of the Master Form.
    Finally this new PL SQL process conditionally runs when DEPTNO is null, so you need to add the following condition to the process:
    The final step to accomplish in creating both the Master and Detail records at the same time is to make a change in the condition of the Multi Row Update Process. :request in ('SAVE','CREATE') or :request like 'GET_NEXT%' or :request like 'GET_PREV%'
    -We make this change so that records get inserted into the Detail table when we click the ‘’Create” button.
    Now you can Run your page and create both the Master and Detail records at the same time.
    Thanks and Regards,
    Madonna

  • Insert master and detail rows with Composition assoc generating JBO-26048

    I have the Master and Detail Entity Objects and made an Association linking them as Composition related.
    I have 2 ViewObjects. the MasterViewObject is composed of the Master entity object and 1 other udpateable object. the DetailViewObejct only contains the Detail entity Object.
    I tried to create a row on the masterviewobject and then immeidately create a detail row, and then commit, ADF issues a JBO-26048 error. Constraint "MY_FK" violated during post operation.... ".
    I don't know wahts wrong, but this should not be error should nit be appearing, as ViewObjects and the Links with Composition Association take care of populating the Foreign Keys of the detail. Or am I missing something here?

    The ADF Guide covers this problem, and I have a method that works as well on jdevguru.com. Take a look at the manual first, they have an indepth view on it and how to get it all to work together.
    Kelly

  • Master and detail table in same block

    Master Table - Group Maintenance
    Columns - Group ID, Group Desc
    Detail Table - Group Usage
    Columns - Group ID(foreign key to Group Maint. table), forecast_date, plan_date, actual_date
    I am trying to create a form that will display both tables in one tabular block. I want to be able to insert/update both tables from this form. I can't seem to get it to work right. I have tried adding non table items to the master block and updating manually but changes to only the non table items don't change the record status so the form says 'no changes to save'. Any ideas?

    I'm not quite sure what's your requirement. Are some rows belonging to the master-table and some to the detail-table? If not, what happens if you change the master-table-attributs in one row. What then with the master-table-attributs in other records?
    About the non-database-items:
    There is a property "Lock record" at item-level, if you set that to Yes, the record will be marked as changed also if the item is a non-db-item.
    Another possibility would be to create a db-view with your master-detail-columns so that every item is a database-item. To write back data you could use an INSTEAD-OF-trigger on the view.

  • Keeping heading and detail on the same page

    Hi, I have a report with a group header section and a detail section.  How can I keep the heading section and all the detail section on the same page without starting each group on a new page?
    The detail section will have either 2 or 3 records with some of the objects set to grow if the data doesn't fit on one line.  This results in several changes of group appearing on the same page which is what I want.  However, what I don't want is the header section on one page with the detail section on the next, or the header and some of the detail records on one page with the rest of the detail records on the next.  What I would like is the report to start a new page if the header and all the detail records don't fit on the same page but without starting a new page for every group change.  How can I achieve this?

    you can put the group header and details into a sub report on the old group header section.
    then hide the details section

  • Controlling Master and Headset at the same time

    Hello,
    I'm using GNOME 2.14 and using a laptop computer for all my needs. I've
    3 controls (Volume Up, Down and Mute) on my laptop that I use to control
    the Master channel. But if I connect a headset to listen to my music, I
    have to manually change the volume from the mixer. Is there a option or
    some kind of work around that I can control the Master and Headset
    channels at the same time.. I want them to be the same always..?

    If you have setup keyboard shortcuts to run specific commands with xbindkeys or the like, you can make them run these commands:
    amixer set Master 1- & amixer set Headphone 1-
    amixer set Master 1+ & amixer set Headphone 1+
    You have to investigate how to match them as on my box the headphone command changes more than the master, so that you might need to use 3 -/+ from master to match 1 -/+ from headphones for example.

  • Three master detail on the same page

    Hi
    I generate master-detail pages (master and detail in the same page) and it works very well, but I can't generate three master detail (master-detail and the detail with other detail, three levels of tables) on the same page. How can I do it?
    Thanks in advance
    Liceth

    Liceth,
    You cannot generate this. You can add the third level post-generation using drag and drop.
    Steven Davelaar,
    JHeadstart Team.

  • BC4J - Inserting Master/Detail records in same transaction.

    I know this is possible, but I seem to be missing something to allow it to happen within BC4J.
    I'm creating a RowSet off of a View Object and inserting new Rows into this RowSet. This RowSet represents my child/detail records for insert into a child table.
    I then create a new Row off of another View Object. This row represents my Master/parent record for insert into a parent table.
    All of the above is being done in the same applicationModule transaction with locking mode set to Optimistic.
    Before I commit the transaction, I grab the next sequence # to use as the primary key for the master record and the foreign key for the child records. I apply those to the newly created child rows and the newly created master row.
    However, when I commit I continue to get a JBO-26041: Failed to post data to database during "Insert": error due to ORA-02291: integrity constraint (CUST_LICENSES_FK4) violated - parent key not found
    If everything was created in the same transaction, why won't this allow me to insert into both tables with the correct primary/foreign keys? It's almost as if the child records are being inserted first prior to the parent record.
    Any ideas?
    Thanks in advance..
    Teri Kemple
    TUSC
    [email protected]

    However, when I commit I continue to get a JBO-26041: Failed to post data to database during "Insert": error due to ORA-02291: integrity constraint (CUST_LICENSES_FK4) violated - parent key not found
    If everything was created in the same transaction, why won't this allow me to insert into both tables with the correct primary/foreign keys? It's almost as if the child records are being inserted first prior to the parent record.This is due to the order of rows being posted. In this case it seems the detail row is getting posted before the master.
    To avoid such situations, either you may implement your own post ordering by making sure that when a detail is to
    be inserted, it's master is inserted or you may use "Composition Association" flag in the association wizard between
    the master and the detail entities to let the framework manage a tight composition relationship between the two entity
    types. BTW, there was another definitive thread recently on inserting master-detail in the
    same transaction, but the forum search engine is so useless I can't find it. Anyone
    have the msgid handy or know how to find that thread again??
    FYI: the help describes the Composition flag functionality in terms of the Master record already existing in the DB. In our problem here, the Master is being inserted in the same transaction. Thus needs to be posted FIRST.
    I got a integrity constraint exception too, then set the composition flag and now I get:
    500 Internal Server Error
    oracle.jbo.InvalidOwnerException: JBO-25030: Failed to find or invalidate owning entity.
         void oracle.jbo.server.EntityImpl.create(oracle.jbo.AttributeList)
         void gov.ga.gdc.otf.bc.JotfWithdrawalsImpl.create(oracle.jbo.AttributeList)
         void oracle.jbo.server.ViewRowStorage.create(oracle.jbo.AttributeList)
         void oracle.jbo.server.ViewRowImpl.create(oracle.jbo.AttributeList)
         oracle.jbo.server.ViewRowImpl oracle.jbo.server.ViewObjectImpl.createInstance(oracle.jbo.server.ViewRowSetImpl, oracle.jbo.AttributeList)
         oracle.jbo.server.RowImpl oracle.jbo.server.QueryCollection.createRowWithEntities(int[], oracle.jbo.server.EntityImpl[], oracle.jbo.server.ViewRowSetImpl, oracle.jbo.AttributeList)
         oracle.jbo.Row oracle.jbo.server.ViewRowSetImpl.createRowWithEntities(int[], oracle.jbo.server.EntityImpl[], oracle.jbo.AttributeList)
         oracle.jbo.Row oracle.jbo.server.ViewRowSetImpl.createRow()
         oracle.jbo.Row oracle.jbo.server.ViewObjectImpl.createRow()
         void gov.ga.gdc.otf.appmodule.JOtfOffenderAppModuleImpl.insertWithdrawal(java.lang.String, java.lang.String, java.math.BigDecimal, oracle.jbo.domain.Number, java.lang.Integer, int)
         void gov.ga.gdc.otf.appmodule.JOtfOffenderAppModuleImpl.payOneObligation(java.lang.String, java.lang.String, java.lang.Integer, oracle.jbo.domain.Number, java.math.BigDecimal, int)
         void gov.ga.gdc.otf.appmodule.JOtfOffenderAppModuleImpl.payObligations(java.lang.String, java.lang.String, java.math.BigDecimal, oracle.jbo.domain.Number)
         void gov.ga.gdc.otf.appmodule.JOtfOffenderAppModuleImpl.receiveFunds(java.lang.String, java.lang.String, int, java.math.BigDecimal, java.lang.String, java.lang.String, java.lang.String, java.math.BigDecimal, long)TIA much! curt

  • Insert master, then details

    I'm using JDeveloper 10.1.3.5. I've set up ADF BC EO's and VO's for a master table and a detail table. There is also a 1:* Association, and a 1:* View Link between the master and details and this has all been added to an Application Module. The primary key of the master table is a surrogate PK generated from a sequence in a trigger. So the PK attribute has been designated as a DBSequence and has Refresh after Insert turned on.
    I have a jspx page using ADF Faces. It has a Create Form based on the master table. That means that a Create action was added to the page definition, and an invokeAction set to make sure Create is done when the page is first displayed. I added an InputFile component set to an UploadedFile in a backing bean. The files that users will be uploading contain detail records to be associated with this master. So I added an Iterator, Create action named CreateDetail, and AttributeValues for each attribute in the detail table's VO to the page definition. There is also a Commit action in the page definition.
    In the backing bean, there is an ActionEvent method tied to a commandButton on the page. It takes the uploaded file and executes CreateDetail for each record in the uploaded file, parses the record and sets the attributes. Then it executes Commit.
    Here's the problem:
    If I execute Commit before I start creating the detail records from the uploaded file, then Commit again after creating details, this works fine. However, if there is an error when I process the details, the master has already been committed. I'd rather consider master and details as a single transaction to be committed or rolled back as a unit.
    If I don't commit before I start creating the detail records, the new primary key for the master record hasn't been retrieved yet. So the detail records don't have the foreign key that points to the master. So the commit fails - missing mandatory field.
    I tried changing the Create on the master record to a CreateInsert, hoping that the framework would do the Insert of the master and retrieve its PK before processing the details, but no dice - it still works only if I Commit before processing details.
    Any ideas?

    In 11g, I've had some issues with compositions automatically maintaining foreign-key relationships for a sequence-based PK correctly if both master and detail are new. Have you tried implementing the (Java) solution provided by the aforementioned section of the dev guide (even though you shouldn't need it for compositions)?
    If that doesn't work for you, I've found the "old" method to be successful:
    In master:
    public void postChanges(TransactionEvent e) {
    /* Only references if this is NEW */
    RowSet newDetailsBeforePost = null;
    if (getPostState() == STATUS_NEW) {
    // Store the rowset of details related
    // to this new image before calling super
    newDetailsBeforePost = (RowSet)getXXX(); // replace "getXXX" with your association accessor method
    super.postChanges(e);
    if (newDetailsBeforePost != null) {
    adjustDetails(newDetailsBeforePost);
    private void adjustDetails(RowSet details) {
    Number newFkValue = getYYY.getSequenceNumber(); // replace "getYYY" with the getter for your sequence-based PK attribute
    while (details.hasNext()) {
    DetailImpl detail= (DetailImpl) details.next(); // replace "DetailImpl" with your detail EO class
    detail.setZZZ(newFkValue); // replace "setZZZ" with the setter for the detail's FK attribute
    In detail:
    public void postChanges(TransactionEvent e) {
    MasterImpl master = getMaster(); // replace "MasterImpl" with master EO class, "getMaster" with assoc accessor method
    if (STATUS_NEW == master.getPostState()) {
    master.postChanges(e);
    super.postChanges(e);
    Even better is to create an EO framework class that just fixes this problem (in general) for you, but that's more complicated--<plug>see the forthcoming JDev11g handbook</plug>.
    Hope this helps,
    Avrom

  • To create an application with a master and two details in the same page

    How I make to create an application contend a form master with two forms details in the same page?
    Tomaz
    Message was edited by:
    user517841

    Hi,
    You do not need to mount a screen. Just add a new region with several text fields inside. You should fetch a row by a process and populate the set when you load the page or click on a button. Insert, update, and delete should be done by processes. You have to have Next and Previous buttons to brows trough all rows of the detail table.
    The most important thing here is what the connections between tables in your database are.
    If they are the "One to many, One to one" you can use the approach described above.
    If they are "One to many, One to many" will be better to use buttons or links to lunch details' tables in separate forms.
    If the second and third tables are connected only to the master table you can use two buttons at the right of every master row. Clicking on the buttons will bring separate form for each detail table.
    If the third table is just a luckup table to the second one you can use "Select List" field into tabular form of the second table in one Master-Detail form.
    Konstantin
    [email protected]

  • Master and Detail records in the same table

    Hi Steve,
    I have master and detail address records in the same table (self-reference). The master addresses are used as templates for detail addresses. Master addresses do not have any masters. Detail addresses have three masters: a master address, a calendar reference and a department. Addresses change from time to time and every department has its own email-account, but they refer to the same master to pre-fill some common values.
    Now I need to edit the master and detail address records on the same web page simultaneously.
    My question is: Can I implement a Master-View and Detail-View which refer to the same Entity-Object? Or should I implement a second Entity-Object? Or can it be done in a single Master-Detail-View?
    Thanks a lot.
    Kai.

    At a high level, wouldn't this be similar to an Emp entity based on the familiar EMP table that has an association from Emp to itself for the Emp.Mgr attribute?
    You can definitely build a view object that references two entity usages of the same entity like this to show, say, an employee's ENAME and at the same time their manager's ENAME.
    If there are multiple details for a given master, you can also do that with separate VO's both based on the same entity, sure. Again, just like a VO that shows a manager, and a view-linked VO of all the employees that report to him/her.

  • How to insert  new records in Master and detail Forms.

    Hi,
    I am having trouble inserting values in both master and detail view at the same time. The scenarios is I have a Dept Table (View Object-VO1) and Employee Table(View Object -VO2) both linked with a foreign key, as per Default HR schema in Oracle DB XE.
    Now I want to insert new record in both Dept(VO1) and EMP(VO2) table via a New page say ( Page2 ). There is a button on Page1 with button INSERT .I can only drag-drop "CreateInsert" operation on that button for VO1 or VO2. So only text box for Dept records are enable to insert data but not Emp records. Is there a way I can insert data in both the tables at the sametime??
    Thanks,
    MB

    Hi MuradRabbani,
    You can programmatically call both createInsert Operations,
    Add to your pageDef both CreateInsert Operations.
    Create a button tha will call insert method from Master (VO1) and then call insert method for Detail (VO2)
    Here is an Example code of calling the operations:
    DCBindingContainer dcb = ADFUtils.getDCBindingContainer(); //you need ADFUtils.java and JSFUtils.java classes. You can find them in the sample applications in your JDeveloper.
    OperationBinding oper = dcb.getOperationBinding("CreateInsertVO1");
    oper.execute();
    -----------------NOTE: at this point you should have set values that compine the ViewLink on the master in order the detail will know where to link the new record there are many ways to do it.
    As an approach try to overrdi the create Method on the in the ViewRowImpl of your Master vo (VO1)
    e.g.
    @Override
    protected void create(AttributeList attributeList) {
    //before
    attributeList.setAttribute("NameOfAttribute", valueHere);
    super.create(attributeList);
    After that you should call the operation for your detail VO2
    e.g.
    DCBindingContainer dcb = ADFUtils.getDCBindingContainer();
    OperationBinding oper = dcb.getOperationBinding("CreateInsertVO2");
    oper.execute();
    The detail record will now have the values from your master automatically.
    Regards,
    Dimitris.

  • PRISM Master-Details with navigation between the Master and details view

    Hi, I have a Master list with accounts and a Details list containing transactions.
    The Master list : has a UserControl (AccountListView) and Viewmodel(AccountListViewModel)
    The list is bound to an observable collection of type AccountViewModel and has a SelectedAccount property to get the current selected account. Each AccountViewModel has a collection of type TransactionViewModel.
     public AccountListView(IAccountListViewModel viewModel)
                //this.DataContext = vm;
                InitializeComponent();
                ViewModel = viewModel;
            public Infrastructure.IViewModel ViewModel
                get
                    return (IAccountListViewModel)DataContext;
                set
                    DataContext = value;
    //the viewmodel
            public AccountListViewModel(IRegionManager regionManager)
                this.regionManager = regionManager;
                this.AccountList = GetAccounts(); // gets the list of accounts from another layer
            public AccountViewModel SelectedAccount
                get { return selectedAccount; }
                set
                    selectedAccount = value;
                    OnPropertyChanged("SelectedAccount");
    And the Details view has a user control(TransactionListView) and a viewmodel(AccountView);
    public TransactionListView(IAccountViewModel viewModel)
                InitializeComponent();
                ViewModel = viewModel;
                //this.DataContext = vm.SelectedAccount;
            public Infrastructure.IViewModel ViewModel
                get
                   return (IAccountViewModel)DataContext;
                set
                    DataContext = value;
    //the viewmodel 
    public AccountViewModel(Business.Account a)
                    AccountId = a.AccountId;
                    accountName = a.AccountName;
    I created a hyperlink command so that whenever I click on the name of an account from the master list it will navigate to the detail list and set the as the DataContext the account I clicked on. Before I had both Master and Detail lists displayed at the
    same time and set the DataContext of the Detail List as the SelectedAccount property(which is bound to the SelectedItem of the Master List) of the Master List. I am not sure how to pass the SelectedAccount when I navigate to the Detail List and set it as the
    DataContext of the Detail List.
           

    >>I'm using the reguestnavigate method, but from what I read you can't pass objects as parameters ?
    As I mentioned there is a NavigationParameters class that you can create an instance of and pass as a parameter to the RequestNavigate method in Prism 5:
    private void NavigateTransaction(AccountViewModel obj)
    var parameters = new NavigationParameters();
    parameters.Add("accountViewModel", obj);
    regionManager.RequestNavigate(RegionNames.ContentRegion, new Uri(transactionview, UriKind.Relative), parameters);
    The TransactionView should then implement the Microsoft.Practices.Prism.Regions.INavigationAware interface and retrieve the parameter in the OnNavigatedTo method:
    public partial class TransactionView : UserControl, INavigationAware
    public TransactionView()
    InitializeComponent();
    void INavigationAware.OnNavigatedTo(NavigationContext navigationContext)
    AccountViewModel myParameter = navigationContext.Parameters["accountViewModel"] as AccountViewModel;
    this.DataContext = myParameter;
    public bool IsNavigationTarget(NavigationContext navigationContext)
    return true;
    public void OnNavigatedFrom(NavigationContext navigationContext)
    In Prism 4 there is no NavigationParameters class so you either need to upgrade to Prism 5 if you haven't already done so or you could store the parameters to be passed yourself somewhere else. Please refer to the following links for more information and
    examples of how you could do this:
    http://stackoverflow.com/questions/9320638/how-to-pass-an-object-when-navigating-to-a-new-view-in-prism
    http://visualstudiomagazine.com/articles/2012/08/20/view-communication-in-wpf-and-prism.aspx
    Please also remember to mark helpful posts as answer to close the thread and then start a new thread if you have a new question. Please don't ask several questions in the same thread.

  • Populating a master detail on the same form

    Hi everyone,
    Here is my use case using the HR as an exemple. I need to create a form where I can create an new department (master) and a number of employees for that department (detail) on the same page. On my model I have a Employee view and Department view linked with a foreign key. I created a transient in the department view called nbempl (number of employee). nbempl is linked to a selectitem list where the user can select a number of employee to create for that department. I'm using PPR to display a number of detail rows for the user to fill in.
    My question is how do I create x number of detail rows when the user select a number from the drop-down list? do I need a valueChangeListener on nbempl and create the rows there? could someone point me to examples similar to this.
    Thank you

    Thanks for your reply.
    I looked at the example but my use case is different. I need to populate both the master and detail tables with new records using one form, that is one new record for dept. and any number of detail records as selected by the user. Here is the form i'm working on:
    <h:form>
    <af:panelForm>
    <af:inputText value="#{bindings.DepartmentId.inputValue}"
    label="Dept ID:"
    required="#{bindings.DepartmentId.mandatory}">
    <f:convertNumber groupingUsed="false"
    pattern="#{bindings.DepartmentId.format}"/>
    </af:inputText>
    <af:inputText value="#{bindings.DepartmentName.inputValue}"
    label="Dept Name"
    required="#{bindings.DepartmentName.mandatory}">
    <af:validator binding="#{bindings.DepartmentName.validator}"/>
    </af:inputText>
    </af:panelForm>
    <af:selectOneChoice value="#{bindings.DepartmentsView1NbEmpl.inputValue}"
    label="How many employee do you want to add for this dept.:"
    autoSubmit="true" id="nbempl" immediate="true">
    <f:selectItems value="#{bindings.DepartmentsView1NbEmpl.items}"/>
    </af:selectOneChoice>
    <af:panelGroup partialTriggers="nbempl">
    <af:panelGroup rendered="#{bindings.DepartmentsView1NbEmpl.inputValue > 0}">
    <af:outputText value="#{bindings.EmplTable.inputValue}"/>
    <af:forEach begin="1" end="#{bindings.DepartmentsView1NbEmpl.inputValue}" varStatus="stat">
    <af:panelForm>
    <af:inputText label="Employee ID:" value=""/> <----------------------------- What do I put here ??
    <af:inputText label="Employee Last Name:" value=""/> <----------------------------- What do I put here ??
    </af:panelForm>
    </af:forEach>
    </af:panelGroup>
    </af:panelGroup>
    </h:form>
    The selectOnChoice let the user select a number of detail records to add and the PPR will refresh the form and display a number of input fields in a forEach loop for employee details. Do I need to add a valueChangeListener to the selectOneChoice and insert new rows using a custom method? Is there a better way to do this? what kind of binding do I need in the page def?
    Thank you.
    Edited by: yvesg2 on Sep 17, 2009 5:59 AM

  • Can we use both INSERT and UPDATE at the same time in JDBC Receiver

    Hi All,
    I would like to know is it possible to use both INSERT and UPDATE at the same time in one interface because I have a requirement in which I have to perform both the task.
    user send the file which contains both new and old record and I need to save those in MS SQL database.
    If the record exist then use UPDATE otherwise use INSERT.
    I looked on sdn but didn't find any blog which perform both the things at the same time.
    Interface Requirement
    FILE -
    > PI -
    > JDBC(INSERT & UPDATE)
    I am thinking to use JDBC Lookup but not sure if it good to use for bulk record.
    Can somebody please suggest me something or send me the link of any blog or anything to solve this problem.
    Thanks,

    Hi ,
              If I have understood properly the scenario properly,you are not performing insert and update together. As you posted
    "If the record exist then use UPDATE otherwise use INSERT."
    Thus you are performing either an insert or an update which depends on outcome of a search if the records already exist in database or not. Obviously to search the tables you need " select * from ...  where ...." query. If your query returns some results you proceed with update since this means there are some old records already in database. If your query returns no rows  you proceed with "insert into tablename....." since there are no old records present in database.
      Now perhaps the best method to do the searching, taking a decision to insert or update, and finally insert or update operation is to be done by a stored procedure in MS SQL database.  A stored procedure is a subroutine available to applications accessing a relational database system. Here the application is PI server.   If you need further help on how to write and call stored procedure in MS SQL you can look into these links
    http://www.daniweb.com/web-development/databases/ms-sql/threads/146829
    http://www.sqlteam.com/article/stored-procedures-parameters-inserts-and-updates
    [ This part you can ignore, Since its not sure that you will face this situation
        Still you might face some problems while your scenario runs. Lets consider this scenario, after the stored procedure searches the database it found no rows. Thus you proceed with an insert operation. If your database table is being accessed by multiple applications (or users) other than yours then it is very well possible that after the search operation completed with a null result, an insert/update operation has been performed by some other application with the same primary key. Now when you are trying to insert another row with same primary key you get an error message like "duplicate entry not possible for same primary key value". Thus you need to be careful in this respect. MS SQL has a feature called "exclusive locks ". Look into these links for more details on the subject
    http://msdn.microsoft.com/en-us/library/aa213039(v=sql.80).aspx
    http://www.mssqlcity.com/Articles/Adm/SQL70Locks.htm
    http://www.faqs.org/docs/ppbook/r27479.htm
    http://msdn.microsoft.com/en-US/library/ms187373.aspx
    http://msdn.microsoft.com/en-US/library/ms173763.aspx
    http://msdn.microsoft.com/en-us/library/e7z8d5hf(v=vs.80).aspx
    http://mssqlserver.wordpress.com/2006/11/08/locks-in-sql/
    http://www.mollerus.net/tom/blog/2008/03/using_mssqls_nolock_for_faster_queries.html
        There must be other methods to avoid this problem. But the point is you need to be sure that all access to database for insert/update operations are isolated.
    regards
    Anupam

Maybe you are looking for

  • How to delete record from table control using BDC?

    Hello friends, I am running a BDC program to delete records. I have file with following records and i got these records into t_itab. Material     Plant     Start date     End date     Cost MQ100001     S001     09/01/2008     09/31/2008     55.00 MQ1

  • SAP Menu disappeared in GUI 7.10p4  after update from rel.6.20

    Hi Guys, you are my last chance! I'm going to update the SAP GUI in all our PCs (about 1500) from rel 6.20 to 7.10 Patch 4. Our PCs are WinXP SP2. This is a requirement due to a system upgrade from 4.6c to ECC6. I made some tests and I'm facing this

  • How do I reset firefox to default settings on android

    Experiencing problems due to some sort of plug-in error and general issues with flash player. Trying to fix this by reseting firefox but there is no reset option on the troubleshooting information page for my device which is a Samsung galaxy tab S SM

  • How long does itunes:new-feed-url take to completely change my podcast page?

    I've used the itunes:new-feed-url to change my podcast page, but I'm curious how long it takes. I have a new episode up, but the podcast page located here doesn't show that third episode, even though the new feed as well as 301 redirect is in place.

  • Dynamic proxy client error

    hello, im running a dynamic proxy client for a simple web service. I have the web service up and running but when i run the client i get the following error: run-client: [java] java.lang.NoClassDefFoundError: dynamicproxy/BookClient [java] Exception