How to expose master-detail ViewObject of AppModule to service interface.

Hi all,
There is two VOs(master-detail), One is deptmentVO and the other is emloyeeInDeptVo. and a view link between departmentVO and employeeInDeptVO, the relationship is master detail.
Now, I want to expose the custom method to web service, i.e createEmployee(EmployeeInDeptViewRowImpl employee).
I perform the steps in Fusion ADF guide(+11.2.6 How to Support Nested Processing in Service-Enabled Master-Detail View Objects+).
such as generate the SDO, and set the SERVICE_PROCESS_CHILDREN=true of the viewlink property.
But when I publish the method in service interface, I cant get operation of the nested VO(employeeInDeptVO), only the master ViewObject is available.
Any one have suggestions on this.
Thank in advance.

I have a similar scenario, and I'm seeing the same thing. The detail view isn't available for selection in the edit "Service View Instances" dialog of the "Service Interface" tab of the related application module. In my case, I have a view link based on an association that is rooted in a foreign key relationship between the underlying DB tables. The view link includes accessors in both the master and detail views. Based on the developer guide, I should be able to service enable the detail view, but this doesn't seem possible. My master view is service enabled, but my detail view isn't.
Has anyone ever successfully service enabled a detail view in a master-detail relationship?
Thanks

Similar Messages

  • How to implement Master-Detail Search in TopLink without using DataControl

    Hi,
    I am using TopLink and EJB in our requirement. But we are not creating any data controls. Without data controls how to implement master detail search using TopLink and EJB. I did search for a single table. It is working fine. The way i implented is as follows.
    1) Taking search parameter from UI and passing it to A delegator class's method.
    2) Delegator class's method calls the EJB's NamedQuery which i already created using expression builder.
    3) EJB executes the NamedQuery with the parameter we are passing. And it returns the results back to UI.
    But as i am new to TopLink, can anyone tell me the procedure to implement Master - Detail search. Here we need to search based on Master table's column.
    Waiting for the replies regarding this.
    Thanks & Regards,
    Suresh Kethireddy

    Hi,
    I did it successfully. Following is the code.
    Session session = getSessionFactory().acquireSession();
    UnitOfWork uow = session.acquireUnitOfWork();
    ReadAllQuery raq = new ReadAllQuery();
    Dept d = new Dept();
    d.setLoc(loc);
    raq.setExampleObject(d);
    List<Dept> res=(List<Dept>)uow.executeQuery(raq);
    for(int i=0; i<res.size();i++){
    System.out.println("Dept DeptNo ---"+res.get(i).getDeptno());
    System.out.println("Dept DeptName ---"+res.get(i).getDname());
    System.out.println("Dept Location ---"+res.get(i).getLoc());
    List<Emp> eRes=res.get(i).getEmpCollection();
    for(int j=0; j<eRes.size();j++){
    System.out.println(" Emp No ---"+eRes.get(j).getEmpno());
    System.out.println(" Emp Name ---"+eRes.get(j).getEname());
    System.out.println("Emp HireDate ---"+eRes.get(j).getHiredate());
    System.out.println(" Emp Job ---"+eRes.get(j).getJob());
    System.out.println(" Emp Mgr ---"+eRes.get(j).getMgr());
    System.out.println(" Emp Sal ---"+eRes.get(j).getSal());
    But now my question is, i want to search by providing Dept param as well Emp(Which is child table) param also. Is it possible?
    I tried in 2 ways like this.
    1) Emp emp = new Emp();
    emp.setEname(eName);
    dept.addEmp(emp);
    raq.setExampleObject(dept);
    2) Emp e = new Emp();
    e.setEname("ADAMS");
    List<Emp> list = new ArrayList();
    list.add(e);
    d.setEmpCollection(list);
    raq.setExampleObject(d);
    But in both cases i failed to search based on the values i am passing to Emp.
    Is there any other way to achieve my requirement?
    Any help on this is great.
    Thanks & Regards,
    Suresh K

  • How to Create Master Detail Page with Query Region

    Hi,
    1. I have a requirement that i need to create a Master(Supplier) Detail(Supplier Site) Page with Query Region.
    Eg. Supplier A in Australia has Supplier Sites X in Melbourne and Y in Sydney.
          Supplier B in US has Supplier Sites C in New York and D in California.
    I need to have Search, based on two fields Supplier Name and Country
    Let us assume i am searching with Supplier Name A then the page should be in the below layout
    Query Region
    Supplier Name : A
    Country:
    Master
    Supplier Name  Country
        A                     Australia
    Detail
    Supplier Site  City
    X                   Melbourne
    Y                   Sydney
    In detail VO it should allow me to add new sites which means i need to connect this VO to database to insert new records
    I have gone few threads and understood that this can be achieved by creating SupplierVO, SupplierSiteVO and a ViewLink.
    But when tried i don't know how can i relate my query region with the Suppleir Table(Header Reagin and Table Using Wizard) and Supplier Site Table(Header Region and Table Using Wizard) i am not sure if i am correct or not, please advise
    2. Also i need to have a Open button in this page and if click the button it should navigate to some other page.
    Please help me how can i achieve this.
    - How to design my page with query region and master detail tables
    - what is the AM and CO code need to be handled
    - What is the code should i write in Open button to open new OAF page.
    Thanks,
    CSK

    Hi,
    This link will be useful for your requirement.
    Master Detail Page using Hide Show and Advanced Table inside Advanced Table - OracleArea51.com
    Let me know if you need more help in this.
    Thanks and Regards,
    Myvizhi

  • How do I - MASTER -DETAIL JSP

    Hi -
    How do I create a simple Master-Detail page in JSP like Oracle Forms type.
    I want to show/enter one master record and multiple child records and let the users enter data. I DO NOT WANT TO CREATE SEPERATE MASTER AND SEPERATE DETAIL JSP PAGE. I want the basic Master-Detail Form like Oracle Forms.
    I am using JDeveloper 3.2
    Thanks for your help !
    Fahim

    In our current release, we dont generate a single-page master-detail editing page. You would are missing an editable data-grid tag for this to be possible. You can create this control yourself using the provided datatags.

  • How to Create Master-Detail OA Page

    Hi,
    I'm trying to create Master - Detail Page in OAF, but i can't find right way to do that.
    Can anyone please explain me in steps how to create or give me any document/web link for reference.
    Thanks,
    SAN

    Hi
    chk below links
    http://oracle.anilpassi.com/master-detail-screen-in-oa-framework-part-i-2.html
    http://oraclearea51.com/blog/master-detail-page-in-oa-framework.html
    Thanks
    Pratap

  • How to implement Master - Detail relation between two table views in OBI11g

    Hi Gurus,
    I was able to create master- detail between table and graph.
    But between two tables not.
    I put the listening column on the table prompt and specified channel for the Listen to Master-Detail Events in the table properties.
    But did not work.
    Where is the mistake?
    I"d appreciate any ideas, help!
    Thanks
    Laszlo

    Thanks for the link!
    My question is :
    Are the same thinga the page edge and table prompt for the tables?
    If not how to add a column to the page edge (not to the table prompt)?
    Thanks
    Laszlo

  • How to create Master Detail Form in htmldb 2.0

    This option use to be available in 1.6 but I can't see it anywhere in 2.0.

    Anonymous - Create Page>Form>Master Detail Form.
    Scott

  • 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

  • How to expose custom methods of servlet as web services

    Can i know how to expose the custom methods of the servlet as web services. if it is not posssible then what alternate ways are possible other than ejbs?
    regards

    Hi
    I want to know that whether the custom methods of servlet can be exposed as webservices or not?
    Secondly is there init method like we have in servlets so that we can do all the one time loading in the init() method.
    regards

  • Detail ViewObject in AppModule won't retrieve data

    I have a viewobject called BidView that is called BidByPK in my AppModule. There is another viewobject called PoolDetailView and is a child of BidByPK and is called PoolDetailsForBid in the appmodule. (I have defined a viewlink between BidView and PoolDetailView)
    If I test it through my application module, I get see the correct children for the parent record.
    However when I execute the project the appmodule won't retrieve the children.
    Once I set the where clause on BidByPK I DO get one row as expected but the PoolDetailByPK view object instance is always empty..

    Jitendra,
    Could you clarify the following statement?
    However when I execute the project the appmodule won't retrieve the children.Did you make changes to master when you execute? Is this after you set the where clause or before you change the where clause on BidByPK?
    Thanks,
    Yvonne

  • How to expose an ERP function as an enterprise service

    Hi there
    I am searching for an enterprise service which can create a contract account for a business partner (in the FA/CA area). It seems no such a service operation is availalbe after exhaustive search in the ESWorkplace and ESR. (Please correct me if you know where to find it). As an alternative, I think it is probably the only way to create an ABAP (?) service by my own, which does the job, and then to publish it as a WS service.
    Is there anyone who knows how to do it or can point me the documents about how to do that?   Thanks a lot.
    Best,
    Ji

    Hi,
    I didn't search for service but if you want to expose existing functionality as webservice then first find which FM/BAPI etc working behind that business function.
    Next step would be exposing that BAPI/FM as service which can be done using transaction SE80 (Web Service Creation Wizard).
    If no BAPI/FM available then probably you need to write something to exploit current business transaction.
    For tutotial please search SCN for keyword: "Web Service Creation Wizard".
    Regards,
    Gourav

  • Calling web service from AppModule using service interface.

    Hi All,
    I am using Jdev 11.1.1.1.0 and the integrated weblogic server 11gR1.
    Created the application on HR Schema and deployed in Integrated WebLogic Server (WLS). When I try to test WebService UI as the stand alone WLS. The Webservice UI get display with my tow operation that I have created in service interface.
    When I try to get the result from my operation eg operation is getEmployeeByKey, putting employee Id in parameter and invoking, I am getting error that :
    javax.xml.soap.SOAPException: Bad response: 404 Not Found
    Cause: javax.xml.soap.SOAPException: Bad response: 404 Not Found

    Hi,
    Either your service has gone down or the server is not able to reach the endpoint. Can you put the service address in web browser and check if you can reach it.
    -Vishal

  • ADF BC : setNamedWhereClauseParam() on detail ViewObject

    hi
    Using JDeveloper 10.1.3.0.4, I have some trouble setting a named where clause parameter on a "detail" ViewObject.
    I have an ApplicationModule (DetailSubsetService) with two instances of the same ViewObject (EmpsInMonth) that has a bind variable (vHireMonth). The ViewObject instances are "AllEmpsInMonth" and "EmpsInMonthForDept".
    In the sample application below, I try to change the bind variable value using setNamedWhereClauseParam() on a ViewObject instance. The default for "vHireMonth" is "05".
    System.out.println("DetailSubsetStuff.main() : begin");
    String vAppModuleDef = "poc.detailsubset.services.DetailSubsetService";
    String vConfig = "DetailSubsetServiceLocal";
    ApplicationModule vAppModule =
         Configuration.createRootApplicationModule(vAppModuleDef, vConfig);
    ViewObject vAllEmpsInMonth = vAppModule.findViewObject("AllEmpsInMonth");
    vAllEmpsInMonth.setNamedWhereClauseParam("vHireMonth", "02");
    while (vAllEmpsInMonth.hasNext())
         EmpsInMonthRow vEmpsInMonthRow = (EmpsInMonthRow)vAllEmpsInMonth.next();
         System.out.println("vEmpsInMonthRow info = "
              + vEmpsInMonthRow.getEname()
              + ", " + vEmpsInMonthRow.getHiredate()
              + ", " + vEmpsInMonthRow.getDeptno());
    ViewObject vEmpsInMonthForDept =
         vAppModule.findViewObject("EmpsInMonthForDept");
    System.out.println("vEmpsInMonthForDept = " + vEmpsInMonthForDept);
    vEmpsInMonthForDept.setNamedWhereClauseParam("vHireMonth", "12");
    ViewObject vDeptView = vAppModule.findViewObject("DeptView");
    while (vDeptView.hasNext())
         DeptViewRow vDeptViewRow = (DeptViewRow)vDeptView.next();
         System.out.println("vDeptViewRow info = "
              + vDeptViewRow.getDeptno() + ", " + vDeptViewRow.getDname());
         RowIterator vEmpsInMonthRI = vDeptViewRow.getEmpsInMonth();
         while (vEmpsInMonthRI.hasNext())
              EmpsInMonthRow vEmpsInMonthRow =
                   (EmpsInMonthRow)vEmpsInMonthRI.next();
              EmpsInMonthRowImpl vEmpsInMonthRowImpl =
                   (EmpsInMonthRowImpl)vEmpsInMonthRow;
              System.out.println("-- vEmpsInMonthRowImpl.getViewObject() = " +
                   vEmpsInMonthRowImpl.getViewObject());
              System.out.println("-- vEmpsInMonthRow info = "
                   + vEmpsInMonthRow.getEname()
                   + ", " + vEmpsInMonthRow.getHiredate()
                   + ", " + vEmpsInMonthRow.getDeptno());
    Configuration.releaseRootApplicationModule(vAppModule, true);
    System.out.println("DetailSubsetStuff.main() : end");This results in output like:
    DetailSubsetStuff.main() : begin
    vEmpsInMonthRow info = ALLEN, 1981-02-20, 30
    vEmpsInMonthRow info = WARD, 1981-02-22, 30
    vEmpsInMonthForDept = poc.detailsubset.dataaccess.EmpsInMonthImpl@2b
    vDeptViewRow info = 10, ACCOUNTING
    vDeptViewRow info = 20, RESEARCH
    -- vEmpsInMonthRowImpl.getViewObject() = poc.detailsubset.dataaccess.EmpsInMonthImpl@2f
    -- vEmpsInMonthRow info = ADAMS, 1987-05-23, 20
    vDeptViewRow info = 30, SALES
    -- vEmpsInMonthRowImpl.getViewObject() = poc.detailsubset.dataaccess.EmpsInMonthImpl@2f
    -- vEmpsInMonthRow info = BLAKE, 1981-05-01, 30
    vDeptViewRow info = 40, OPERATIONS
    DetailSubsetStuff.main() : endThere seems to be no problem for the ViewObject instance "AllEmpsInMonth".
    For the ViewObject instance "EmpsInMonthForDept", I try to bind the value "12", but the default value "05" stays in effect.
    From the output it is clear that for the same ViewObject instances a different Java object instance gets used when accessed using the method getEmpsInMonth() on the master row. If I'm correct this is intended ADF BC framework behaviour.
    My question is ...
    How do I set a value for a named where clause parameter on such a detail ViewObject?
    If I run the DetailSubsetService in the Oracle Business Component Browser there is no problem changing the value for the bind variable in this detail ViewObject instance. I gues this is because the BC Browser shows master-detail relations based on iterators it gets from the source and destination of a ViewLink instance. I don't think I can use a similar approach because I really want to use the getEmpsInMonth() method on a master row because I want to pass the master row into a VelocityContext so I can approach it using the Velocity Template Language.
    thanks
    Jan Vervecken

    Thanks for your reply Blaise.
    Both of your suggestions check out to be valid, but I don't think any of them can be directly applied in the VelocityContext scenario I need.
    It appears that I also need a non-ADF BC interface like java.util.Iterator to use in this Velocity Template Language, so I introduced this BCIterator class that delegates to a RowIterator:
    package poc.detailsubset;
    import java.util.Iterator;
    import oracle.jbo.JboException;
    import oracle.jbo.RowIterator;
    public class BCIterator
         implements Iterator
         RowIterator fRowIterator = null;
         public BCIterator(RowIterator pRowIterator)
              if (pRowIterator == null)
                   throw new JboException("pRowIterator should not be null");
              fRowIterator = pRowIterator;
         public boolean hasNext()
              return fRowIterator.hasNext();
         public Object next()
              return fRowIterator.next();
         public void remove()
              fRowIterator.removeCurrentRow();
    }If something like this exists in the ADF BC API, let me know.
    Based on your suggestions I introduced this method in DeptViewRowImpl:
    public Iterator getEmpsInMonthIterator()
         ApplicationModule vAppModule = getApplicationModule();
         ViewObject vEmpsInMonthForDept =
              vAppModule.findViewObject("EmpsInMonthForDept");
         return new BCIterator(vEmpsInMonthForDept);
    }So I can now write my loops like so:
    ViewObject vEmpsInMonthForDept =
         vAppModule.findViewObject("EmpsInMonthForDept");
    vEmpsInMonthForDept.setNamedWhereClauseParam("vHireMonth", "12");
    ViewObject vDeptView = vAppModule.findViewObject("DeptView");
    while (vDeptView.hasNext())
         DeptViewRow vDeptViewRow = (DeptViewRow)vDeptView.next();
         for(Iterator vEmpsInMonthIterator = vDeptViewRow.getEmpsInMonthIterator();
              vEmpsInMonthIterator.hasNext(); )
              EmpsInMonthRow vEmpsInMonthRow =
                   (EmpsInMonthRow)vEmpsInMonthIterator.next();
    }This will probably work in my VelocityContext scenario. (I haven't been able to test this yet.)
    All suggestions for improvements are still welcome.
    Like how to avoid having to now the ViewObject instance name (EmpsInMonthForDept) in the master row implementation class (DeptViewRowImpl). Or how to use the detail ViewObject instances the framework provides without having to call setNamedWhereClauseParam() for each master row explicitly.
    regards
    Jan

  • Problem on Master Detail CRUD

    Dear All,
    I am trying to figure out how ADFBC handles Master Detail relationship as this
    is the first time where I need to handle table relationship.
    From practice, I only used one table but this time I need to manage the relationship also.
    I have two tables below. They have a one to many relationship.
    PART_ID in the PARTS_CODE table is populated by a DB sequence.
    PARTS_CODE                                   PART_DESC
         - PART_ID (PK)                              - PART_ID (PK)
         - RANGE                                   - REGION  (PK)
         - CATEGORY                              - DESCUse Case is like this:
    PARTS_CODE table holds the data on the parts while PARTS_DESC holds the information on the Region specific description of the parts.
    Now I created a View object that joins the two tables. Then I drag this View Object from
    my Data Control as an update-able table.
    I just have some questions on the implementations:
    1. When I drag the CreateInsert button and click it, I notice that it adds a new row to the
         table but I notice that it creates Input Text component only on the columns associated with
         the PARTS_CODE Table, the other columns for the PART_DESC does not have any UI components.
         How to solve this?
    2. How can I manage the relationship such that when it inserts the data on the PARTS_CODE, I need
         to get the DB sequence generated number and insert it into the PART_DESC table
    3. Any demo/links that shows CRUD operations that involves master detail tables?
    I have searched the forum for Master-Detail Crud but I only see how to display the relationship and not
    the CRUD operations.
    Found this blog also http://andrejusb.blogspot.com/2009/03/create-operation-for-master-detail.html but
    I am having trouble fully understanding it yet.
    JDEV 11G PS3
    Thanks

    Hi,
    Which of the following is your case scenario?
    1) By pressing CreateInsert, You want to have one new row with data from both tables?
    For this, You should make the reference entity to be updatable. You will find the property in the Entities level of your View Object. By creating at the same time, you have to handle the PK properly. Especially if there is a change to the PK of the master entity.
    2) Do You want to have two createInsert Buttons and press them in order?
    You have to follow the view Link
    Regards,
    Dimitris.

  • DVT: Master-Detail Bar Graph

    Hi,
    JDev Version: 11.1.1.5.0
    I am using ADF DVT Bar Graphs to show the details of Master-Detail Tables. I found one useful sample at: http://www.oracle.com/technetwork/developer-tools/adf/learnmore/057-dvt-master-detail-172847.pdf by Frank. This example contains Master as a Bar Graph and on clicking a particular Bar refreshes the detail table with corresponding detail content.
    I would like to have a similar behavior but the detail table should be another Bar Graph instead of a table. Can some one let me know or share some example to show how to have master-detail relationship with two bar graphs?
    Thanks in advance
    Rathnam

    Hi,
    creating an m-d begavior is quite simple:
    1) drag the parent collection (e.g. Departments) as a bar graph to a page
    2) Select the checkbox to set the selected pie as the current row
    3) drag and drop the dependent collection (e.g. Employees) as another graph
    4) either set changeEventPolicy=ppr in the PageDef file for the Employee Iterator or
    set the PartialTriggers property of the detail graph component to point to the parent
    Frank

Maybe you are looking for