Inserting rows in master-detail views

I have two VOs connected by a view link. I want to insert new rows in both the master VO and the detail VO and connect them together.
I have the following:
MasterEO (mapped to master_table)
MasterVO (defined on MasterEO)
DetailEO (mapped to detail_table)
DetailVO (defined on DetailEO)
MasterDetailAO (1 to many Association between MasterEO and DetailEO. master_id in detail_table references id in master_table)
MasterDetailVL (1 to many ViewLink defined on MasterDetailAO)
My AM looks like:
MasterVO
DetailVO via MasterDetailVL1
I am trying to insert a new row in MasterVO, and a new row in DetailVO that should be linked to the new row in MasterVO. I used the code listed below. I was able to get the DetailEOImpl from the new row in DetailVO, and then get the new MasterEOImpl from the DetailEOImpl. However, when I called drow.getMasterVO() (drow being the new row created in DetailVO), I got null back instead of the new row in MasterVO. What do I have to do to connect the new row in MasterVO and DetailVO? (I got the same results regardless of whether the association is a composition or not)
Also another thing I noticed, even though I've called setMaxFetchSize(0) on both VOs, the sql trace still shows the queries being executed. Is there anything else I need to do?
MasterVOImpl master = (MasterVOImpl) testAM.findViewObject("MasterVO");
DetailVOImpl detail = (DetailVOImpl) testAM.findViewObject("DetailVO");
master.setMaxFetchSize(0);
detail.setMaxFetchSize(0);
MasterVORowImpl mrow = (MasterVORowImpl) master.createRow();
mrow.setId(new oracle.jbo.domain.Number(10));
master.insertRow(mrow);
DetailVORowImpl drow = (DetailVORowImpl) detail.createRow();
drow.setDetailId(new oracle.jbo.domain.Number(100));
detail.insertRow(drow);
DetailEOImpl deoi = drow.getDetailEO();
MasterEOImpl meoi = deoi.getMasterEO();
if (meoi != null)
System.out.println("ID from EO: " + meoi.getId()); // This value is correct
Row mrw = drow.getMasterVO(); // RETURNS NULL INSTEAD OF THE NEW ROW
if (mrw != null)
System.out.println("Row Class from Detail VO: " +
mrw.getClass().getName());
else
System.out.println("Master VO is null");
// THE OTHER DIRECTION ALSO DOESN'T WORK
RowIterator rt = mrow.getDetailVO();
DetailVORowImpl dd = (DetailVORowImpl) rt.first();
// dd IS NULL
if (dd != null)
System.out.println("New Detail Row: " + dd.getDetailId());
else
System.out.println("New Detail Row from Master is null");

You need to make your ViewObjects 'AssociationConsistent' for all collections to see new rows inserted into the cache. To set this setting for all VOs, edit your Appliation Module configuration and set the value for jbo.viewlink.consistent to be true.

Similar Messages

  • Insert a row in master detail view & jboRowKey parameter

    Hi
    I hava a minor problem.
    On JSP page I have edit form for master view, beyond edit form is browse of detail view. I would like to insert or edit a row on master view and after update and commit, a would like to stay on the same page to insert some rows into detail view.
    When I editing rows it is Ok, becose jboRowKey parameter is always the same (to find proper row on master view).
    Problem appears when I want to Insert a row into master view, becose after transaction is commited, jboRowKey parameter is changed.
    Primary key on master table is sequence and it is inserted by (preinsert) trigger before commit.
    If anybody has some idea to solve this problem, please help.
    Gorazd

    Without knowing exactly the technology you are using, (JDev version, BC4J JSP tags/Components tags?),
    In general with BC4J after you do a commit, you do not necessarily have a record pointer on the new record that you just insert on the master table, so you would have to locate it again.
    Here is one way you could do this.
    After you commit your new inserted record, you could go back to a master "browse" page which shows the records of your master table along with a link to it's corresponding detail page. Encoded in the link you could pass the rowkey of the master record as a parameter and then in the detail page you could locate the master record that was clicked on by using the Find operation of the Row tag. When the master row is located, you automatically would be pointing to the correct detail records.
    In this case since the master was just created, there wouldn't be any detail records yet. You could then create new detail records for the new master..
    Let me know if this helps..
    -Chris

  • Date validation in a master/detail view

    Hi everyone,
    I have a problem and I hope someone can help me. I'm trying to create a validation for my application. I have a Master/Detail view where I add rows to my database and in the rows there is a "from date" and "to date". I want to create a validation so that the "from date" can not be chosen before the current date.
    I'm having trouble because most of the tutorials I read on this work with page items, but since I have this in a Master/Detail view I have Column Attributes, wich do not behave the same way as page items.
    Any help would be very appreciated.
    Thanks,
    Luka

    I'm still having quite some trouble with this... everything I try gives me some sort of error.
    My latest attempt was to make a PL/SQL returning boolean validation with the code:
    FOR i IN 1..APEX_APPLICATION.G_F10.COUNT LOOP
    IF DATUM_OD(APEX_APPLICATION.G_F10(i), 'DD.MM.YYYY HH24:MI') < SYSDATE THEN
    return true;
    else
    return false;
    END IF;
    END LOOP;
    and it says:
    Error processing validation.
    ORA-06550: line 2, column 4: PLS-00201: identifier 'DATUM_OD' must be declared ORA-06550: line 2, column 1: PL/SQL: Statement ignored

  • Problem occured when create a tree table for master-detail view objects using SQL queries?

    I am programming a tree table for master-detail view objects using SQL queries and these 2 view objects are not simple singel tables queries, and 2 complex SQL are prepared for master and view objects. see below:
    1. Master View object (key attribute is SourceBlock and some varaible bindings are used for this view object.)
    SELECT  cntr_list.SOURCE_BLOCK,                   
            sum(                   
             case when cntr_list.cntr_size_q = '20'                   
                  then cntr_list.cntr_qty                   
                  else 0 end ) as cntr20 ,                   
            sum(                   
             case when cntr_list.cntr_size_q = '40'                   
                  then cntr_list.cntr_qty                   
                  else 0 end ) as cntr40 ,                   
             sum(                   
             case when cntr_list.cntr_size_q = '45'                   
                  then cntr_list.cntr_qty                   
                  else 0 end ) as cntr45                    
    FROM (       
        SELECT yb1.BLOCK_M as SOURCE_BLOCK,       
               scn.CNTR_SIZE_Q,        
               count(scn.CNTR_SIZE_Q) AS cntr_qty        
        FROM  SHIFT_CMR scm, SHIFT_CNTR scn, YARD_BLOCK yb1, YARD_BLOCK yb2       
        WHERE       
        scm.cmr_n = scn.cmr_n             
        AND (scm.plan_start_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS')                 
        OR scm.plan_end_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS'))                 
        AND scm.shift_mode_c = :ShiftModeCode                           
        AND scm.end_terminal_c = :TerminalCode      
        AND scm.start_terminal_c = yb1.terminal_c                  
        AND scm.start_block_n = yb1.block_n                  
        AND substr(scn.start_location_c,(instr(scn.start_location_c,',',1,5)+1),instr(scn.start_location_c,',',1,6)-(instr(scn.start_location_c,',',1,5)+1)) BETWEEN yb1.slot_from_n AND yb1.slot_to_n                  
        AND scm.end_terminal_c = yb2.terminal_c                  
        AND scm.end_block_n = yb2.block_n                  
        AND substr(scn.end_location_c,(instr(scn.end_location_c,',',1,5)+1),instr(scn.end_location_c,',',1,6)-(instr(scn.end_location_c,',',1,5)+1)) BETWEEN yb2.slot_from_n AND yb2.slot_to_n           
        AND scn.status_c not in (1, 11)             
        AND scn.shift_type_c = 'V'             
        AND scn.source_c = 'S'       
        GROUP BY yb1.BLOCK_M, scn.CNTR_SIZE_Q       
    ) cntr_list       
    GROUP BY cntr_list.SOURCE_BLOCK
    2. Detail View object (key attributes are SourceBlock and EndBlock and same varaible bindings are used for this view object.)
    SELECT  cntr_list.SOURCE_BLOCK, cntr_list.END_BLOCK,                
            sum(                     
             case when cntr_list.cntr_size_q = '20'                     
                  then cntr_list.cntr_qty                     
                  else 0 end ) as cntr20 ,                     
            sum(                     
             case when cntr_list.cntr_size_q = '40'                     
                  then cntr_list.cntr_qty                     
                  else 0 end ) as cntr40 ,                     
             sum(                     
             case when cntr_list.cntr_size_q = '45'                     
                  then cntr_list.cntr_qty                     
                  else 0 end ) as cntr45                      
    FROM (         
        SELECT yb1.BLOCK_M as SOURCE_BLOCK,     
               yb2.BLOCK_M as END_BLOCK,  
               scn.CNTR_SIZE_Q,          
               count(scn.CNTR_SIZE_Q) AS cntr_qty          
        FROM  SHIFT_CMR scm, SHIFT_CNTR scn, YARD_BLOCK yb1, YARD_BLOCK yb2         
        WHERE         
        scm.cmr_n = scn.cmr_n               
        AND (scm.plan_start_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS')                   
        OR scm.plan_end_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS'))                   
        AND scm.shift_mode_c = :ShiftModeCode                             
        AND scm.end_terminal_c = :TerminalCode        
        AND scm.start_terminal_c = yb1.terminal_c                    
        AND scm.start_block_n = yb1.block_n                    
        AND substr(scn.start_location_c,(instr(scn.start_location_c,',',1,5)+1),instr(scn.start_location_c,',',1,6)-(instr(scn.start_location_c,',',1,5)+1)) BETWEEN yb1.slot_from_n AND yb1.slot_to_n                    
        AND scm.end_terminal_c = yb2.terminal_c                    
        AND scm.end_block_n = yb2.block_n                    
        AND substr(scn.end_location_c,(instr(scn.end_location_c,',',1,5)+1),instr(scn.end_location_c,',',1,6)-(instr(scn.end_location_c,',',1,5)+1)) BETWEEN yb2.slot_from_n AND yb2.slot_to_n             
        AND scn.status_c not in (1, 11)               
        AND scn.shift_type_c = 'V'               
        AND scn.source_c = 'S'         
        GROUP BY yb1.BLOCK_M, yb2.BLOCK_M, scn.CNTR_SIZE_Q         
    ) cntr_list         
    GROUP BY cntr_list.SOURCE_BLOCK, cntr_list.END_BLOCK
    3. I create a view link to create master-detail relationship for these 2 view objects.
    masterview.SourceBlock (1)->detailview.SourceBlock (*).
    4. I create a tree table using these 2 view objects with master-detail relationship.
    When I set default value for variable bindings of these 2 view objects and the matching records exist, tree table can work well. I can expand the master row to display detail row in UI.
    But I need to pass in dymamic parameter value for variable bindings of these 2 view objects, tree table cannnot work again. when I expand the master row and no detail row are displayed in UI.
    I am sure that I pass in correct parameter value for master/detail view objects and matching records exist.
    Managed Bean:
            DCIteratorBinding dc = (DCIteratorBinding)evaluteEL("#{bindings.MasterView1Iterator}");
            ViewObject vo = dc.getViewObject();
            System.out.println("Before MasterView1Iterator vo.getEstimatedRowCount()="+ vo.getEstimatedRowCount());
            System.out.println("Before MasterView1Iterator ShiftModeCode="+ vo.ensureVariableManager().getVariableValue("ShiftModeCode"));
            vo.ensureVariableManager().setVariableValue("DateFrom", dateFrom);
            vo.ensureVariableManager().setVariableValue("DateTo", dateTo);
            vo.ensureVariableManager().setVariableValue("ShiftModeCode", shiftModeC);
            vo.ensureVariableManager().setVariableValue("TerminalCode", terminalCode);
            vo.executeQuery();
            System.out.println("MasterView1Iterator vo.getEstimatedRowCount()="+ vo.getEstimatedRowCount());
            DCIteratorBinding dc1 = (DCIteratorBinding)evaluteEL("#{bindings.DetailView1Iterator}");
            ViewObject vo1 = dc1.getViewObject();
            System.out.println("Before DetailView1Iterator vo1.getEstimatedRowCount()="+ vo1.getEstimatedRowCount());
            System.out.println("Before DetailView1Iterator ShiftModeCode="+ vo1.ensureVariableManager().getVariableValue("ShiftModeCode"));
            vo1.ensureVariableManager().setVariableValue("DateFrom", dateFrom);
            vo1.ensureVariableManager().setVariableValue("DateTo", dateTo);
            vo1.ensureVariableManager().setVariableValue("ShiftModeCode", shiftModeC);
            vo1.ensureVariableManager().setVariableValue("TerminalCode", terminalCode);
            vo1.executeQuery();
            System.out.println("after DetailView1Iterator vo1.getEstimatedRowCount()="+ vo1.getEstimatedRowCount());
    5.  What's wrong in my implementation?  I don't have no problem to implement such a tree table if using simple master-detail tables view object, but now I have to use such 2 view objects using complex SQL for my requirement and variable bindings are necessary for detail view object although I also think a bit strange by myself.

    Hi Frank,
    Thank you and it can work.
    public void setLowHighSalaryRangeForDetailEmployeesAccessorViewObject(Number lowSalary,
                                                                              Number highSalary) {
            Row r = getCurrentRow();
            if (r != null) {
                RowSet rs = (RowSet)r.getAttribute("EmpView");
                if (rs != null) {
                    ViewObject accessorVO = rs.getViewObject();
                    accessorVO.setNamedWhereClauseParam("LowSalary", lowSalary);
                    accessorVO.setNamedWhereClauseParam("HighSalary", highSalary);
                executeQuery();
    but I have a quesiton in this way. in code snippet, it is first getting current row of current master VO to determine if update variables value of detail VO. in my case, current row is possibly null after executeQuery() of master VO and  I have to change current row manually like below.
    any idea?
                DCIteratorBinding dc = (DCIteratorBinding)ADFUtil.evaluateEL("#{bindings.SSForecastSourceBlockView1Iterator}");
                ViewObject vo = dc.getViewObject();           
                vo.ensureVariableManager().setVariableValue("DateFrom", dateFrom);
                vo.ensureVariableManager().setVariableValue("DateTo", dateTo);
                vo.ensureVariableManager().setVariableValue("ShiftModeCode", shiftModeC);
                vo.ensureVariableManager().setVariableValue("TerminalCode", terminalCode);
                vo.executeQuery();
                vo.setCurrentRowAtRangeIndex(0);
                ((SSForecastSourceBlockViewImpl)vo).synchornizeAccessorVOVariableValues();

  • Performance Problem with Master-Detail Views

    Hi,
    I have developed a JSP-Applikcation with the master-detail views.
    I would like to report a bad performance at fetching data records from the detail view, because all records
    from master view have firstly to be retrieved to locate right row (rangesize="-1"). The number of records in
    the master table ist 2500 and 7000 in detail table.
    ============= Code Snippets (See HOWTO:Navigate using Data Tags of J. Oropeza) =====
    <jbo:DataSource id="dsMaster appid=testAppId viewobject="MaterView" rangesize="-1">
    <jbo:RefreshDataSource datasource="dsMaster">
    <jbo:Row id="msRow" datasource="dsMaster" action="Find" rowkeyparam="RowkeyValue">
    <jbo:dataSource id="dsDetail" appid="testAppId viewobject="DetailView">
    ======================================================================
    When rangesize="20" sets, performance is good, but the right row location of master view ist not found if the row
    is not positoned in this range (No data from detail view object are displayed).
    How can I improve the performance?
    Many thanks for your help.
    regards,
    Yoo

    Sung:
    Thank you for your suggestion.
    According to your suggestion I have changed my BC4J/JSP-application. However, the performance ist still bad.Whenn I click on a row retrieved from the master view, it takes 15 seconds until the associated data in detail view will be displayed on the other window (The application has been deployed on the test system of ISP).
    In an other case with much less data (162 master and 228 detail rows), it takes only 2 seconds (The application
    goes with the local server and DB of our company).
    ======================== master.jsp =================================
    <jbo:DataSource id="dsMaster appid=testAppId viewobject="MaterView" >
    <a href="detail.jsp?RowKeyValue=<jbo:ShowValue datasource="dsMaster" dataitem="RowKey"/>">
    Here Click
    </a>
    ======================== detail.jsp ======================================
    <jbo:DataSource id="dsMaster appid=testAppId viewobject="MaterView">
    <jbo:RefreshDataSource datasource="dsMaster">
    <jbo:Row id="msRow" datasource="dsMaster" action="Find" rowkeyparam="RowkeyValue">
    <jbo:dataSource id="dsDetail" appid="testAppId viewobject="DetailView">
    How do you think of this coding (My application is based on the document How to of J. Oropeza)?
    How can I increase the performance independently of the number of rows?
    Many thanks for your help.
    regards,
    Yoo

  • ADFBC JTree Master-Detail view

    Hello, I am using Jdeveloper 10.1.3.3. with ADFBC.
    I have table ORGUNIT with following fields:
    1. ID_ORGUNIT
    2. NAME
    3. ID_PARENT_ORGUNIT
    I have created Entity and View for this table, and ViewLink which is used for fields ID_ORGUNIT and ID_PARENT_ORGUNIT.
    In short, I am trying to create JTree which contains data about organizational units.
    Let's say these are my data:
    1. "ADM" "ADMINISTRATION" "NULL"
    2. "FIN" "FINANCING DEPARTMENT" "NULL"
    3. "FIN1" "FINANCING DEPARTMENT - XXX" "NULL"
    4. "FIN2" "FINANCING DEPARTMENT - YYY" "NULL"
    5. "DEV" "DEVELOPMENT DEPARTMENT" "NULL"
    So, I want to use JTree to create hierarchy:
    ADM
    I--FIN
    I I--FIN1
    I I--FIN2
    I
    I--DEV
    The problem is, when I create view link previously described...I get all data from view with their descendants...
    ADM
    I--FIN
    I I--FIN1
    I I--FIN2
    I
    I--DEV
    FIN
    I--FIN1
    I--FIN2
    FIN1
    FIN2
    DEV
    Can anyone help me? What could be the problem?

    Hi John,
    Thank you for your assistance.
    Just to confirm the details of what I have.
    Master VO: CustomerVO (based on customer table) correct!>Child VO: A VO based on a join between preferences and customer_preferences. (i.e. base your VO on two EO's) correct!what I have is a customer VO based on a customer EO, a customer_preferencesVO based on a customer_preferencesEO and a preferencesVO based on a preferencesEO.
    View links exist between customerVO and customer_preferencesVO and again between preferences and customer_preferences thus facilitating a many-to-many relationship.
    so what I'm trying to do is construct a master detail view between customers and preferences . I figured that in order to achieve this I would need to create two new VO instances, one for customers and one for preferences and then to probable use a statement in the where clause so that only preferences are returned for customers on the current row where a relationship exist via the customer_preverencesVO.
    This is where I'm struggling in understanding how best to implement this.
    All I want is a mechanism whereby when I come to use a tree view component in my UI model I will have a node that will display preferences.
    Thanks again,
    Gary

  • How to create Insert & Update on master-detail form JPA/EJB 3.0

    Is there any demonstration or tips how to Insert record on master-details form for JPA/EJB 3.0 with ADF binding?

    I have master-detail forms (dept-emp). I drag the dept->operations->create method to JSF page. But when I click create button, only dept form is clear and ready for insert. But emp form is not clear. How can I add create method for this?
    Can you give some example how to pass the right object to the persist or merge method so that it can save both the two objects (master-detail tables)
    Thanks
    Edited by: user560557 on Oct 9, 2009 8:58 AM

  • Can there be multiple Master Detail Views, if yes then how? Please suggest

    Dear All,
    In first master-detail view, I have a button, which when clicked will trigger the second detail view.
    I tried invoking second master detail view but was not able to see the second master view. Could you please guide as to how to go about this.
    Thanks.

    Do a Google search. Here's one link.
    http://mobiforge.com/developing/story/developing-split-view-based-apps-ipad
     Cheers, Tom

  • 3 Levels Master Detail View Object with Java class interface

    Hi Developers,
    I've created 3 tables with one to many relations as below
    BOARD ------<- APPLICANT ------<- QUALIFICATION
    a board includes many applicants and an applicant includes many qualifications.
    When I add these tables to a Fusion Project, JDeveloper 11g helps me to add the Entity Links and View Associations automatically.
    Then, I defined these relations in an ApplicantModule's Data Model as below.
    [+] BoardVO1
          |
          |--[+] ApplicantVO1
                   |
                   |--[+] QualificationVO1The problem is: I cannot write any function in QualificationVO and publish it by client interface.
    I created a simple function with a single line (System.out.println(...) ) in QualificationVOImpl.java. and selected it in Client Interface. But when I execute it from the ApplicantionModel for testing, an oracle.jbo.NoObjException JBO-25003 is raised. with message: Object ... ApplicantVO1 of type ApplicationModule not found.
    Has anyone tried to implement some coding in the third level of a master details view structure as my example? How do you make it works?
    I'm using JDeveloper 11.1.1.3 with ADF BC.
    Regards,
    Samson Fu

    Samson,
    Looks like a bug (probably with the application module tester). I created your tables:
    create table board(board_id number primary key not null);
    create table applicant(applicant_id number primary key not null, board_id number not null);
    create table qualification(qualification_id number primary key not null, aplicant_id number not null);
    alter table applicant add a_fk foreign key(board_id) references board;
    alter table qualification add q_fk foreign key(aplicant_id) references applicant;I created a JDev project and got the same results. I've e-mailed a test case off to Frank.
    Frank - the method is indeed exposed on the VO instance, and I tried testing that way, but the AM tester gives the error as if it is looking for an AM instance with the VO's name.
    John

  • Master/Detail Viewer Application in Web Dynpro ABAP

    Hello @ll,
    i search a Master/Detail Viewer Application in Web Dynpro ABAP like this in WEB Dynpro Java (show below).
    http://help.sap.com/saphelp_nw04/helpdata/en/84/8bc1a36a38da41a46517b114ca0974/frameset.htm
    Have anyone a tutorial or can help how i config the event "onLeadSelect".
    I create a master- and detail table done all context mapping.
    Thanks in advance
    regards
    armin

    Hi Armin,
    Please go through
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/7a89b067-0801-0010-8192-a9896a60938e?quicklink=index&overridelayout=true
    Thanks,
    Prahsant

  • Insert new row to master - detail form using bindingsource

    Hi all,
    I have a form to analyse price of product, the form include master (textbox:slip ID,datetimepicker : date) and detail(datagridview:slipID,productID,price..)
    When I insert new row as below code, all inserted to DB but not show on form, I must close and reopen the form the new row will show, how i must to do to fix it 
    please help, thanks
    Select data when form load 
    ds = New DataSet
    damaster = New SqlDataAdapter("select soPTG,ngaybd,ngaykt,khoa = case when sttesign =0 then 'True' else 'False' end from tbl_PTGMaster", conn)
    damaster.Fill(ds, "tbl_ptgMaster")
    dadet = New SqlDataAdapter("select [SoPTG],[Mahang],[gianhap],[thuesuat],[laigop],[giacu],[giamoi] from tbl_PTGDetail", conn)
    dadet.Fill(ds, "tbl_ptgdetail")
    ds.Relations.Add("PTG_rel", ds.Tables("tbl_ptgmaster").Columns("SoPTG"), ds.Tables("tbl_ptgdetail").Columns("SoPTG")).ChildKeyConstraint.UpdateRule = Rule.Cascade
    BindingMaster.DataSource = ds
    BindingMaster.DataMember = "tbl_ptgmaster"
    BindingDetail.DataSource = BindingMaster
    BindingDetail.DataMember = "PTG_rel"
    gridchitiet.DataMember = "tbl_ptgdetail"
    txtptgnumb.DataBindings.Add("text", BindingMaster, "soPTG")
    dtstart.DataBindings.Add("Text", BindingMaster, "ngaybd")
    dtend.DataBindings.Add("Text", BindingMaster, "ngaykt")
    cmdlock.DataBinding.Add("Enabled", BindingMaster, "khoa", True, DataSourceUpdateMode.OnPropertyChanged)
    setStatus()
    SetHeader()
    Dim cmdinsert As New SqlCommand("insert into tbl_PTGMaster(SoPTG,ngaybd,ngaykt) values(@SoPTG,@ngaybd,@ngaykt)", conn)
    cmdinsert.Parameters.Add("@soPTG", SqlDbType.Char, 10).Value = txtptgnumb.Text
    cmdinsert.Parameters.Add("@ngaybd", SqlDbType.DateTime).Value = dtstart.Value
    cmdinsert.Parameters.Add("@ngaykt", SqlDbType.DateTime).Value = dtend.Value
    damaster.InsertCommand = cmdinsert
    damaster.FillSchema(ds, SchemaType.Source)
    cmdinsert = New SqlCommand("insert into tbl_PTGDetail(SoPTG,mahang,gianhap) values(@SoPTG,@mahang,@gianhap)", conn)
    cmdinsert.Parameters.Add("@SoPTG", SqlDbType.Char, 10).Value = txtptgnumb.Text
    cmdinsert.Parameters("@SoPTG").Direction = ParameterDirection.InputOutput
    cmdinsert.Parameters.Add("@mahang", SqlDbType.Char, 10, "mahang")
    cmdinsert.Parameters.Add("@gianhap", SqlDbType.Decimal, 8, "gianhap")
    dadet.InsertCommand = cmdinsert
    dadet.FillSchema(ds, SchemaType.Source)
    gridchitiet.FinishEditing()
    BindingMaster.EndEdit()
    damaster.Update(ds, "tbl_PTGMaster")
    ds.Tables("tbl_PTGMaster").AcceptChanges()
    BindingDetail.EndEdit()
    dadet.Update(ds, "tbl_PTGDetail")
    ds.Tables("tbl_PTGDetail").AcceptChanges()
    BindingMaster.ResetBindings(False)
    BindingDetail.ResetBindings(False)

    Hello,
    The base idea here is if the record is added successfully you would then get the new primary key then manually add the record to the underlying data source. Does not matter if we are talking a single table or a master-detail setup.
    The following shows the basics
    https://code.msdn.microsoft.com/Adding-new-records-into-bff5eaaf 
    All of the above is done without using a DataSet yet the same thing needs to happen with a DataSet, simply focus on the one table.
    Please remember to mark the replies as answers if they help and unmark them if they provide no help, this will help others who are looking for solutions to the same or similar problem.

  • Insert Record in Master-Detail block

    I am using JDev 10.1.2, Struts, ADF and JSP
    I have a Master-Detail relationship. As the master table(Course) is browsed , the details(Students) record keep changing. Now I want to insert records to the detail (Students) block alone. I am generating the Students id using Sequence, but I want use the Course Id that is being browsed for the new record inserted. How do I do this.
    I used the 'Read Only Dynamic Table' for the Details table and used the create button and forward it to create jsp. When I click on create button, it does go to the create jsp, but the the row is not blank. what do I have to do.
    Any help will be appreciated.

    Hi Shay,
    Thanks for the response. At least I'm getting some response after so long a time.
    I'm not sure what are you looking at. But this is what I have.
    I have a browseCourse.jsp that displays the courses in the master and students in the detail. I have a create button for the detail, and my code looks like this.
    public class BrowseCourseAction extends DataForwardAction
    public void onCreate (DataActionContext actionContext)
    actionContext.getHttpServletRequest().getSession().setAttribute("type", "create");
    if (actionContext.getEventActionBinding() != null)
    actionContext.getEventActionBinding().doIt();
    actionContext.setActionForward("createstudent");
    when the user click on create button it shows the createstudent.jsp. My question is how to set the course id for the new student that is about to be created.
    What do I have to do for this?

  • Add Row in Master Detail Form

    Hi all,
    I wonder if there is a way to just Add Row in the master detail (tabular) form without actually submitting the page. So if user has updated any existing row before clicking the Add Row button, the update should not be submitted by Add Row button click. If this is possible, then I want to submit (insert) the newly added row as well as any updates made to the existing rows when user click the "apply changes" button.
    Any luck?
    Thanks for the help.
    Milaan

    Hi Andy,
    Thanks for your response. Here is what I am doing... On submit I am calling another page (popup) for user to enter electronic signature. So when they add row (which is a submit), it calls the electronic signature page popup, and only upon entering the signature (nuisance at this point) it adds a row in the tabular form. Is there a way to change this behavior to not to submit the page every time user click Add row button?
    Thnx
    Milaan

  • ADF Faces and multiframe window for master/detail view

    Hi,
    I have a web page divide into 2 frames : frame1, the master view and frame2 the detail view.
    When I load the whole web page, the master frame print all the paginated list. Each row has a "show more" button. When I click one, the corresponding detail view is displayed in the detail view (frame2). And, when I clicked again the "show more" button, the paginated list (present in the master view) is displayed in the detail view !!! WHY ??
    When I click a third time on the "show more" button, the detail view display the corresponding detail information (work well like first click)....and alternatively clicking on the "show more" button, this problems occurs.
    Where does this problem come from ?
    The ADF Faces code shown in the master view (targetFrame attribute means to display on the detail view when show more button is clicked).
    <?xml version="1.0" encoding="iso-8859-1"?>
    <!-- table displaying the list of buildings -->
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2"
         xmlns:f="http://java.sun.com/jsf/core"
         xmlns:h="http://java.sun.com/jsf/html"
         xmlns:afh="http://xmlns.oracle.com/adf/faces/html"
         xmlns:af="http://xmlns.oracle.com/adf/faces">
         <jsp:directive.page contentType="text/html;charset=utf-8" />
         <f:view >
              <af:document title="List of buildings" >
                   <af:form >
                        <af:panelPage title="Show the list of buildings">
                             <af:table var="building" value="#{buildingsBean.buildingsList}">
                                  <af:column>
                                       <af:outputText value="#{building.name}" />
                                  </af:column>
                                  <af:column>
                                       <af:outputText value="#{building.objectId}" />
                                  </af:column>
                                  <af:column>
                                       <af:commandButton text="Show more"
                                            action="#{adfMasterSlaveBackingBean.showBuilding}" >
                                       </af:commandButton>
                                  </af:column>
                             </af:table>
                        </af:panelPage>
                   </af:form>
              </af:document>
         </f:view>
    </jsp:root>

    Yes I put a targetFrame (I forgot to restablish it).
    Code of the backing bean (to show building list) :
    public List getBuildingsList() throws Exception {
              System.out.println("getBuildings");          
              CLPNetworkInstanceAPI netAPI = CLPNetworkInstanceAPI.getNetworkInstanceAPI();
              buildingsList.clear();
    try {
         CTResource resources[] = netAPI.fetchAllResourcesByType("CLPRMBuilding");      
                   for (int i=0; i<resources.length;i++)
                        buildingsList.add(resources);
              } catch (CTConnectionException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch (CTUnsupportedTypeException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              return buildingsList;
    and the backing bean to show building detail :
    public String showBuilding() {
              FacesContext context = FacesContext.getCurrentInstance();
              CLPRMBuilding building = (CLPRMBuilding)
         context.getApplication().getVariableResolver().resolveVariable(context, "building");
         if (building == null)
         return "error";
         AdfFacesContext afContext = AdfFacesContext.getCurrentInstance();
         afContext.getProcessScope().put("buildingDetail", building);
         return "showBuilding";

  • Disable row highlighting in details view in file explorer

    Cannot extract files from archive to existing folder using drag and drop operation.
    screenshot here http ://imgur. com/lmERkkw (it doesn't let me attach images or links until "verify my account", but no such option I am offered)
    or a simply file drag and drop copy http ://imgur .com/CHgmu5R
    In file explorer navigate to a folder containing enough files that there is no space between the last file and the bottom window edge.
    In another file explorer window, open a ZIP archive with explorer.
    Select all files and try to drag and drop these files over the first window. An operation that you would routinely perform and expect no issues, you might say.
    This however will fail because sometime after XP a "brilliant" mind at Microsoft decided that 1) items in details view should be highlighted when the mouse is over and 2) not being satisfied with the damage (1) is doing, the entire row is highlighted
    when the mouse is over, so when a drag and drop operation comes to this target, it is not interpreted as a drop to empty space but a drop to a target file.
    In XP, if I really wanted to drop an object into a file, I would EXPLICITELY drop it onto the FILENAME. If I wanted to drop into the containing/displayed folder, I would just drop it into an empty space.
    But in recent windows, this has changed and there is no space left to drop the drag-and-drop operation.
    I am ***baffled*** at me as a small user having to sum all this up. Don't windows developers use windows themselves??!?!?!?!
    I read on the net that for windows 7 there was a workaround for this called "folder options X". it seems that it does not work in win10.
    If someone cares to collect this feedback and send it to developers, this is just ONE of MANY features slashed from XP file explorer and XP desktop and XP taskbar and XP start menu (everything being offered by explorer.exe). Find a whole list here:
    http :// xpwasmyidea.blogspot .com
    Left tree folder jumping bug is back. Single-click expanding in left panel folder tree only worked in XP. etc....

    thank you Raafje.
    It works well!
    But I have still an issue with colored content of table cells. Some cells in my report contains HTML-colored content(a kind of intra-cell progress bar). Any hover color (I tried same color row and background-color:transparent) overwrite the color of cell's content and it looks no so nice. Each cell may have different colors so I can not define one standard for hover for all cases.
    Is there a way to deactivate this hover completely?
    Thank you!

Maybe you are looking for

  • From MacBook to TV in streaming...

    I'm just passed from my old PC on a world with only Mac (sorry for my English, is not my mother language), now I have one MacBook, one Ipad and One old AppleTV. I have a lot of file .avi on my Macbook (or better they are on an external HD), if I want

  • Scanning of QR Code.

    How to scan qr codes in Lumia 535 Moderator's note: The subject was edited as the post was moved to a more appropriate board.

  • HSI speed went from ~340kps to ~110kps! Need help!

    I've been a Verizon Customer for well over 10 years and this has never happend to me ever.  My internet service has been down before and after Hurricane Irene has hit NYC for about a month now.  About a week ago Verizon High Speed Internet was finall

  • SAP import the part of system copy.

    Dear Experts, I am doing SAP import the part of system copy.  Every phase is complete successfully but in u201C Create Database Schema u201C status bar i got information u201C remove schema user SAPSR3u201D. This step is running since 10 hours.  Is t

  • CRM Middleware Object extensions

    Hi All - Can someone send me the "CRM Middleware Object extensions for custom Bdoc developments/Bdoc Modeling" book and any stuff on Business Transaction Events (BTE)? TIA, Aarthi.