Peovisioning multivalued attribute to a Detail table in SQL using GTC

I have a trusted recon set up from Sun LDAP to OIM followed by auto provisioning to SQL's "MyUser" table using GTC. This works fine so far.
Now the difficult part of the requirements. I have a multi-valued attribute called 'AppRoles' associated to User in Sun LDAP. I want to provision this attribute to SQL's "MyUserToRole" table (this is a detail table of Master "MyUser" table). What should be the best approach to do this task ?
Thanks!
Kabi

For Look-Up:
Once you run Trusted Recon, all your AppRoles are inserted into this look-up as different rows for different users. Use OIM API's for that. A basic structure could be like following:
Code - Decode
User01 - Role01,Role02
User02 - Role02,Role03,Roel04
User03 - Role08,Role12
This way all the roles are stored in this look-up. Bu the only issue with this could be the modification in the look up manually which could be tolerated as their are glitches with almost every solution implemented.
For UDF Field
Yes, their would be a limitation in the Text Area field and it is *200* characters. So if that is the case then you should go for Look-up which doesn't have such restrictions at-least for your requirement.

Similar Messages

  • Master table detail table with SQL based read only VO with bind variables

    i have a page where i am displaying data as master table and detail table. both table VOs are based on SQL queries which use bind variables.
    i have a view link between vos of type 1:M
    i created master table detail table page by dropping detail iterator from data control panel under master and selecting master table detail table
    on my page i see detail table records getting populated only for first record of parent table.
    on changing parent record, child table shows same records and does not refresh
    i am using partial triggers on both tables to be populated on a button click as i need to pass some bind variables to VOs which are taken as input from users
    how can i show corresponding rows in detail table when parent record in table changes
    is it possible declaratively to have master detail table view when both VOs have bind variables
    jdev 11 1 1 5
    these are the SQLs used
    Parent SQL Based VO Query
    SELECT to_char(d.status_date,'yyyymmddhh24') TIME123, count(DISTINCT d.c4)
    FROM t1 d,
    t2 w
    WHERE w.c1 = nvl(:ou, w.c1)
    AND UPPER(w.c2) = UPPER(nvl(:tt, w.c2))
    AND d.c3 >= :startTime AND :startTime IS NOT NULL
    AND d.c3 <= :endTime AND :endTime IS NOT NULL
    AND d.c4 = w.c4
    AND UPPER(d.status) = 'CLOSED'
    GROUP BY to_char(status_date,'yyyymmddhh24') ORDER BY to_char(status_date,'yyyymmddhh24') DESC
    Child SQL Based VO Query
    SELECT w.c1,
    w.c5 - w.c6 processing_time,
    w.c3,
    w.c6,
    w.c7,
    w.c8,
    to_char(d.status_date,'yyyymmddhh24') TIME123 FROM t1 d,
    t2 w
    WHERE w.c2 = nvl(:ou, w.c2)
    AND UPPER(w.c3) = UPPER(nvl(:tt, w.c3))
    AND d.c4 >= :startTime AND :startTime IS NOT NULL
    AND d.c4 <= :endTime AND :endTime IS NOT NULL
    AND d.c1 = w.c1
    AND UPPER(d.status) = 'CLOSED' ORDER BY to_char(status_date,'yyyymmddhh24') DESC
    view link is based on column TIME123

    Instead of doing the master-detail layout by dragging the details over, can you try a new page where you first drag the master VO over and then drag the detail VO over, and then set partialTrigger from the detail to point to the master?

  • ADF Faces Query Panel: How to display master data in detail table?

    Before stating the question, here is the background:
    I've a Fusion ADF (model/viewController) app that includes 2 tables with a master-detail relationship. The master table stores error numbers and associated levels of logging severity; the detail table stores the actual message text. These need to be separate, related tables because the requirement is that message text for a given error number can vary by product release.
    Messages are added in a bounded task flow; data for the master table entered in 1 fragment, data for the detail table in a 2nd page fragment. In the app, the Entity Objects for these tables are related with a foreign key association and have a composition association. This was done because the error numbers are generated in an Oracle DB sequence, and from what i have read that is a way in a task flow to have ADF put the number generated for the master table into the related key of the child table.
    The question is this:
    I need to create an ADF query panel with a table that searches on the detail DB table. However, i also need to use a couple of fields from the master DB table in both the query and in the ADF table. In addition, I need to add the ability for the user to edit either the master or detail record for the row he/she selects in the ADF table. I know how to create a view that would display the info i need; however, i have not been able to figure out how to obtain the keys for the selected ADF table row and pass them to the task flows that would edit.
    The master table has a numeric primary key. The detail table primary key consists of a foreign key to the master key and also a release number.
    I'm new to ADF and have been struggling with how to do this: i've a workaround that is functional but too klunky to be a permanent solution. So, could someone point me to some information on how to accomplish this?
    Versions: JDeveloper 11.1.1.4, ADF Business Components 11.1.1.59.23
    Thanks for your help!

    Thanks. I tried this out, but ran into an issue in that the detail table has 2 keys - a foreign key to the master primary key, and a 2nd key that uniquely distinguishes the detail. So i tried various things centered around using the SetCurrentRowWithKey operation and trying to obtain the selected ADF table row using an EL OF #{data.<pageDef>.<Iterator>.currentRowKeyString}; however i could not get the detail record for the selected row to display.
    I did find another approach that worked - I am wondering, is there anything problematic with this approach?:
    1. Create a VO joining the Master and Detail tables, with the Detail table being updatable.
    2. Made sure the applicable attributes were defined as keys.
    3. Add a query panel w/table using this VO.
    4. Create an ADF form based on the VO, showing the updatable fields.
    5. Create a bounded task flow with the following set on the Behavior tab:
    a. Share data controls with calling task flow
    b. Always Begin Transaction
    I specifically am wondering whether "Share data controls with calling task flow" has any negative implications or gotchas to handle. The doc at http://download.oracle.com/docs/cd/E21764_01/web.1111/b31974/taskflows_parameters.htm#ADFFD1693 doesn't suggest so, but just wanted to double-check before I go down this path.

  • Multiple details table on the same page

    Newbi to APEX. Can I have muliple details table for update/insert in tabular format on the same page with the same master? Thanks!

    In the meantime, I can answer to your questions:
    · Why does JHeadstart not make use of the UIX-Struts integration (see Chapter 15 of the UIX developer’s Guide)?This has been done to allow the same page to be run both with Struts and MVC Framework, without needing to change the page. Using the UIX-Struts integration would have made the pages 'controller aware'.
    · How do you specify which columns/attributes in a Table Layout are sortable?As far as generation is concerned, you can only specify the whole table to be sortable. In case of UIX you can post-gen modify the <sortableHeader> tag of each column separately. In case of JSP you can remove the <a href> tag for each column that you do not want to sort on.
    Jan Kettenis
    JHeadstart Team

  • LOVs in Detail Table

    Hi
    I've been generanting pages with LOVs in table layouts, I have an specific problem with LOVs in forms with two tables in the same page (one master and the other details, its generated with the option master and detail on Same PAge). The first table (master) is readonly and the second table (detail) is editable. The second table have an LOV, but it doesn't work.
    The problem is the following when trying to insert a record: the user click on LOV icon, the window is opened and the user select a value, the window LOV is closed but the value selected (display value) is not displayed in the text field, it continues always blank.
    When trying to update a record: the user click on LOV icon, the window is opened and the user select a value, the window LOV is closed but the value selected is not displayed in the text field, it still displayed the old value.
    The master deail structure is very simple, I reproduce the mistake two times with diferents tables. What would be the problem? May I use LOVs in master-detail tables?
    Thanks in advance
    Liceth

    Liceth,
    Using JHeadstart 10.1.2.0.20, I could not reproduce the problem with the following settings:
    Master: DepartmentsView - Table Layout - no insert/update/delete - no 'newrows'
    Detail: EmployeesView - Table layout (same page) -insert-update-delete allowed - newrows =2
    Lookup on Employees: JobsLookup: type = lov, all attributes (base + lookup) on JobId.
    Could you try this and indicate what I should change to this situation to reproduce the problem?
    Kind regards,
    Peter Ebell
    JHeadstart Team

  • Provision a multivalued attribute from OIM to OID

    Hi,
    I have a requirement to provision a new multivalued attribute from OIM to OID.
    Steps followed:
    Created a child form
    Attached child form to the OID Parent form
    Created a process task adapter.
    Created a task in process definition and the attached the adapter
    Adapter code.
    public String addChildData(tcDataProvider ioDatabase, long procInstKey, long childDefKey){
              try{
                   tcFormInstanceOperationsIntf formInstOper = (tcFormInstanceOperationsIntf)tcUtilityFactory.getUtility(ioDatabase, "Thor.API.Operations.tcFormInstanceOperationsIntf");
                   HashMap testval = new HashMap();
                   testval.put("UD_TESTCHIL_TESTGROUP","abcd2134");
                   System.out.println("testval..."+testval);
                   long formreturn = formInstOper.addProcessFormChildData(childDefKey,procInstKey,testval);
                   System.out.println("formreturn" +formreturn);
              catch(Exception e){
                   System.out.println("exce" +e);
              return "Success";
    After attaching while provisioning I am seeing both parent and child forms. I have provided the values and its successfully provisioning.
    But how I can provision the new OID multivalued attribute. We have to do any setting in the lookup?
    Regards,
    KK

    Just create your new adapter for add and delete from this new child table just like the other triggered tasks. If it's a multi value on the user profile, use the adapter for Add Multi Value Attribute that comes with the connector. In the property name, put in your multi value attribute name, and map the value from the child table.
    -Kevin

  • FIM multivalue attribute export to SQL - error 0x80230808

    Hi,
    Running FIM Synchronization Service v 4.0.3531.2 - Update1.
    This instance is a simple setup, import from AD, export to SQL. I'm trying to export two multivalue attributes, one is a normal multivalue string, second is a reference attribute (member). My anchor is the GUID from AD in string format, perfectly fitting
    into uniqueidentifier sql datatype.
    Since I wanted to have the member values in the multivalue table also stored in a uniqueidentifier column (for further linking) I had to create two columns, one as "uniqueidentifier" and second as "text". FIM configuration went smoothly,
    I defined a member multivalue reference attribute and selected the uniqueidentifier column as "String attribute column", and the other multivalue string attribute had to be linked as "Large string attribute column" and I pointed it to the
    text datatype column.
    Synchronization completed without errors, export step properly exported all multivalue string attributes to the text column, BUT when it came to exporting the GUID reference attribute to the uniqueidentifier column it exported only the first value showing
    a "dn-attribute-failure" error. From the FIM GUI it was only showing the error number = 0x80230808.
    I did a SQL trace to see what's going on. I re-run the export and saw FIM trying to delete all the values for this attribute multiple times with:
    DELETE from [tblAD_Multivalue]  WHERE [objectGUID] = N'{B011B424-5B2F-43A9-84C5-8605A570487B}' AND [attributeName] = N'member'
    followed by doing cursor magic with the first value that was already added:
    exec sp_cursor 180150007,4,0,N'tblAD_Multivalue',@objectGUID='B011B424-5B2F-43A9-84C5-8605A570487B',@attributeName='member',@guidValue='2E52A484-C7F6-49C0-AAC8-0A30C732A385'
    After repeating the above for over 10 times it added a export_error_detail:
    update [mms_connectorspace] set [export_error_detail] = N'<export-status>
    <cd-error>
    <error-code>0x80230808</error-code><error-literal>[Modify] Failed operation</error-literal>
    </cd-error>
    </export-status>
    ',[count_export_error_retries] = 0,[is_export_error] = 1,[initial_export_error_date] = '2011-02-12 21:36:08.995',[last_export_error_date] = '2011-02-12 21:36:08.995',[export_error_code] = -2145189885,[unapplied_export_batch_number] = 1,[unapplied_export_sequencer_number] = 2162572,[original_export_batch_number] = 1,[original_export_sequencer_number] = 2162572,[current_export_batch_number] = 4,[current_export_sequence_number] = 2216213 where ([object_id] = '6F5C98E3-38FF-4F32-95F6-B5A315B71D7A')
    I tried manually adding one of the following values directly to SQL and it worked, so I'm not really sure what's wrong here.
    Any ideas?
    Piotr

    Hi Markus,
    yes, I know all about the architecture to allow multi-value attributes to be exported to SQL.
    Everything works when I have just one string value column in my tblAD_Multivalue. The problem is that my anchor in the primary table is a GUID in a uniqueidentifier SQL column type (in FIM MV it's a string), so when I'm exporting multivalue reference attributes
    to SQL I would like the GUID values also to go to a uniqueidentifier type column. That's why I set up the secondary column in the multi-value table with text datatype, so FIM recognizes it as a "large string column". I think I did everything within
    the guidelines, so I was puzzled when I saw that error.
    Consider this simple example, you're exporting users and groups from AD, you're anchor data type is uniqueidentifier, and you need to export the member attribute and the proxyAddresses attribute. What would you do to allow future SQL joins to calculate membership?
    hope this explains a bit more this scenario, would appreciate any suggestions.
    Piotr

  • Filtering not working for newly added child objects in master-detail table

    Hi,
    I am using Jdeveloper 11.1.1.4 version.
    Problem scenario:
    Filtering of records is not working for newly created child objects in a master-detail scenario.
    Steps to reproduce this issue using HR Schema (using LOCATIONS and DEPARTMENTS table ) :
    1. Create Business components (EO's & VO's ) for LOCATIONS & DEPARTMENTS table)
    1. Create a .jspx page and insert a readonly master table of Locations
    2. Insert a child table (inline-edit table) of Departments and enable filtering
    4. For the child table, drag and drop CreateInsert operation as a toolbar button .
    5. Create a new child record using the toolbar button and enter data .
    6. Filtering on the newly created child record's attributes does not work.
    Please note that the same filter works for existing child records.
    Any suggestions for resolving this issue?
    Thanks,
    Vikas

    Found from Fusion Developer's Guide the following snippet about QBE functionality :
    "+When you create data controls, all data collections will automatically include a Named Criteria node with an All Queriable Attributes criteria. This is the default view criteria that includes all the searchable attributes or columns of the data collection. You cannot edit or modify this view criteria+. "
    So, the question is if the implicit view criteria cannot be edited, how else to set the query execution mode to "Both" ?
    Shouldn't ADF BC support this by default? Is this a bug?
    Note:- If you create a maste-detail table using POJO datacontrols, filter works correctly for newly created child records also .
    This seems to be an issue with ADF-BC datacontrols only.
    Thanks,
    Vikas

  • Commit operation not enabled after createinsert in detail table

    Hi Everybody,
    After clicking createinsert operation for detail table in master detail, i got unique contraint error from db.after rectifiying the data for newly created row..commit operation not enabled to save the data.
    Please find the code i used in my jsf.
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
              xmlns:f="http://java.sun.com/jsf/core"
              xmlns:h="http://java.sun.com/jsf/html"
              xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
      <jsp:directive.page contentType="text/html;charset=UTF-8"/>
      <f:view>
        <af:document id="d1">
          <af:messages id="m1"/>
          <af:form id="f1">
            <af:panelBox text="PanelBox2" id="pb2">
              <f:facet name="toolbar">
                <af:group id="g2">
                  <af:commandButton actionListener="#{bindings.Delete1.execute}"
                                    text="Delete1"
                                    disabled="#{!bindings.Delete1.enabled}"
                                    id="cb4"/>
                  <af:commandButton
                                    text="CreateInsert1"
                                    disabled="#{!bindings.CreateInsert1.enabled}"
                                    id="cb3"
                                    action="#{backingBeanScope.MyIndustryBean.cb3_action}"/>
                  <af:commandButton actionListener="#{bindings.Commit.execute}"
                                    text="Commit"
                                    disabled="#{!bindings.Commit.enabled}"
                                    id="cb5"/>
                  <af:commandButton actionListener="#{bindings.Rollback.execute}"
                                    text="Rollback"
                                    disabled="#{!bindings.Rollback.enabled}"
                                    immediate="true" id="cb6">
                    <af:resetActionListener/>
                  </af:commandButton>
                </af:group>
              </f:facet>
              <af:table value="#{bindings.IndustryEOView1.collectionModel}"
                        var="row" rows="#{bindings.IndustryEOView1.rangeSize}"
                        emptyText="#{bindings.IndustryEOView1.viewable ? 'No data to display.' : 'Access Denied.'}"
                        fetchSize="#{bindings.IndustryEOView1.rangeSize}"
                        rowBandingInterval="0"
                        filterModel="#{bindings.IndustryEOView1Query.queryDescriptor}"
                        queryListener="#{bindings.IndustryEOView1Query.processQuery}"
                        filterVisible="true" varStatus="vs"
                        selectedRowKeys="#{bindings.IndustryEOView1.collectionModel.selectedRow}"
                        selectionListener="#{bindings.IndustryEOView1.collectionModel.makeCurrent}"
                        rowSelection="single" id="t1" width="448"
                        inlineStyle="height:193px;" partialTriggers="::cb3 ::cb4">
                <af:column sortProperty="IdDesc" filterable="true" sortable="true"
                           headerText="#{bindings.IndustryEOView1.hints.IdDesc.label}"
                           id="c2">
                  <af:inputText value="#{row.bindings.IdDesc.inputValue}"
                                label="#{bindings.IndustryEOView1.hints.IdDesc.label}"
                                required="#{bindings.IndustryEOView1.hints.IdDesc.mandatory}"
                                columns="#{bindings.IndustryEOView1.hints.IdDesc.displayWidth}"
                                maximumLength="#{bindings.IndustryEOView1.hints.IdDesc.precision}"
                                shortDesc="#{bindings.IndustryEOView1.hints.IdDesc.tooltip}"
                                id="it2">
                    <f:validator binding="#{row.bindings.IdDesc.validator}"/>
                  </af:inputText>
                </af:column>
                <af:column sortProperty="IdPlace" filterable="true" sortable="true"
                           headerText="#{bindings.IndustryEOView1.hints.IdPlace.label}"
                           id="c1">
                  <af:inputText value="#{row.bindings.IdPlace.inputValue}"
                                label="#{bindings.IndustryEOView1.hints.IdPlace.label}"
                                required="#{bindings.IndustryEOView1.hints.IdPlace.mandatory}"
                                columns="#{bindings.IndustryEOView1.hints.IdPlace.displayWidth}"
                                maximumLength="#{bindings.IndustryEOView1.hints.IdPlace.precision}"
                                shortDesc="#{bindings.IndustryEOView1.hints.IdPlace.tooltip}"
                                id="it1">
                    <f:validator binding="#{row.bindings.IdPlace.validator}"/>
                  </af:inputText>
                </af:column>
              </af:table>
            </af:panelBox>
            <af:panelBox text="PanelBox1" id="pb1">
              <f:facet name="toolbar">
                <af:group id="g1">
                  <af:commandButton actionListener="#{bindings.Delete.execute}"
                                    text="Delete"
                                    disabled="#{!bindings.Delete.enabled}"
                                    id="cb2"/>
                  <af:commandButton
                                    text="CreateInsert"
                                    disabled="#{!bindings.CreateInsert.enabled}"
                                    id="cb1"
                                    action="#{backingBeanScope.MyIndustryBean.cb1_action}"/>
                  <af:commandButton actionListener="#{bindings.Create.execute}"
                                    text="Create"
                                    disabled="#{!bindings.Create.enabled}"
                                    id="cb7"/>
                </af:group>
              </f:facet>
              <af:table value="#{bindings.IndustryRatinEOView1.collectionModel}"
                        var="row" rows="#{bindings.IndustryRatinEOView1.rangeSize}"
                        emptyText="#{bindings.IndustryRatinEOView1.viewable ? 'No data to display.' : 'Access Denied.'}"
                        fetchSize="#{bindings.IndustryRatinEOView1.rangeSize}"
                        rowBandingInterval="0"
                        filterModel="#{bindings.IndustryRatinEOView1Query.queryDescriptor}"
                        queryListener="#{bindings.IndustryRatinEOView1Query.processQuery}"
                        filterVisible="true" varStatus="vs"
                        selectedRowKeys="#{bindings.IndustryRatinEOView1.collectionModel.selectedRow}"
                        selectionListener="#{bindings.IndustryRatinEOView1.collectionModel.makeCurrent}"
                        rowSelection="single" id="t2"
                        partialTriggers="::t1 ::cb1 ::cb2 ::cb7">
                <af:column sortProperty="RatingId" filterable="true" sortable="true"
                           headerText="#{bindings.IndustryRatinEOView1.hints.RatingId.label}"
                           id="c5">
                  <af:selectOneChoice value="#{row.bindings.RatingId.inputValue}"
                                      label="#{row.bindings.RatingId.label}"
                                      required="#{bindings.IndustryRatinEOView1.hints.RatingId.mandatory}"
                                      shortDesc="#{bindings.IndustryRatinEOView1.hints.RatingId.tooltip}"
                                      id="soc2" autoSubmit="true">
                    <f:selectItems value="#{row.bindings.RatingId.items}" id="si2"/>
                  </af:selectOneChoice>
                </af:column>
                <af:column sortProperty="RatingSubId" filterable="true"
                           sortable="true"
                           headerText="#{bindings.IndustryRatinEOView1.hints.RatingSubId.label}"
                           id="c6" partialTriggers="soc2">
                  <af:selectOneChoice value="#{row.bindings.RatingSubId.inputValue}"
                                      label="#{row.bindings.RatingSubId.label}"
                                      required="#{bindings.IndustryRatinEOView1.hints.RatingSubId.mandatory}"
                                      shortDesc="#{bindings.IndustryRatinEOView1.hints.RatingSubId.tooltip}"
                                      id="soc1" partialTriggers="soc2">
                    <f:selectItems value="#{row.bindings.RatingSubId.items}"
                                   id="si1"/>
                  </af:selectOneChoice>
                </af:column>
                <af:column sortProperty="Place" filterable="true" sortable="true"
                           headerText="#{bindings.IndustryRatinEOView1.hints.Place.label}"
                           id="c4">
                  <af:inputText value="#{row.bindings.Place.inputValue}"
                                label="#{bindings.IndustryRatinEOView1.hints.Place.label}"
                                required="#{bindings.IndustryRatinEOView1.hints.Place.mandatory}"
                                columns="#{bindings.IndustryRatinEOView1.hints.Place.displayWidth}"
                                maximumLength="#{bindings.IndustryRatinEOView1.hints.Place.precision}"
                                shortDesc="#{bindings.IndustryRatinEOView1.hints.Place.tooltip}"
                                id="it3">
                    <f:validator binding="#{row.bindings.Place.validator}"/>
                  </af:inputText>
                </af:column>
                <af:column sortProperty="RatingDesc" filterable="true"
                           sortable="true"
                           headerText="#{bindings.IndustryRatinEOView1.hints.RatingDesc.label}"
                           id="c3">
                  <af:inputText value="#{row.bindings.RatingDesc.inputValue}"
                                label="#{bindings.IndustryRatinEOView1.hints.RatingDesc.label}"
                                required="#{bindings.IndustryRatinEOView1.hints.RatingDesc.mandatory}"
                                columns="#{bindings.IndustryRatinEOView1.hints.RatingDesc.displayWidth}"
                                maximumLength="#{bindings.IndustryRatinEOView1.hints.RatingDesc.precision}"
                                shortDesc="#{bindings.IndustryRatinEOView1.hints.RatingDesc.tooltip}"
                                id="it4">
                    <f:validator binding="#{row.bindings.RatingDesc.validator}"/>
                  </af:inputText>
                </af:column>
              </af:table>
            </af:panelBox>
          </af:form>
        </af:document>
      </f:view>
    </jsp:root>

    Hi,
    Need to set partialSubmit true for CreateInsert and partialTrigger attribute for Commit button(Select Createinsert button for partialTrigger )

  • Master form -detail table

    Hi,
    Jdeveloper Verison: 11.1.2.1.0
    I m creating a master detail form .
    hr_feedback_mt
    id_feedback
    employee_no
    id_training_program
    trainer
    location
    attended date
    hr_ratings_tt
    id_feedback
    id_question
    rating
    hr_questions_mt
    id_question
    question
    I have created master EO and VO for hr_feedback_mt, hr_ratings_tt. created associations and viewlink between EO and VO's.
    On the form I have dragged the master VO from the data control as form, and detial VO as editable  table.
    On master from i clicked createinsert operation and filled the attributes. on details table, i click on createinsert operation, it creates on row in the detail table.
    But actually when i click on createinsert operation of detail table, i need to display all the questions(rows and the ratings so that user fills all the questions.
    on commit master and detail should be saved into the database.
    How to achieve detail table to show all the questions on one click of createinsert operation and user fills all the questions and ratings.

    There is no automatic insert of all possible question in the detail table. You have to do this by hand in a beam method or better in a service method in the Application module or VO.
    Timo

  • More than one Detail table in the Master Detail forms!

    Hi,
    I need to have more than one Detail table in Master Detail Forms.
    I want to see the details of the rows of the first Detail table in the Second Detail table. Please guide me to do this.
    Sincerely yours,
    Mozhdeh

    You can do one of two things
    1) Depends on the nature of your data model. I was able to manage many to many
    relationships using views and instead of triggers. This solution is somewhat complex but can work in certain situations.
    2)Works for situations where master record exists. create a page with mulitple portlets syncronized on some related key.
    create the following package to use on the md forms to place on the one page to be rendered.
    -- this package will facilitate the storage and retrieval of keys used by the related forms.
    create or replace package session_var
    IS
    session_parms portal30.wwsto_api_session;
    g_domain varchar2(2000) := portal30.wwctx_api.get_user;
    function get_id (id in varchar2) return number;
    PROCEDURE SET_ID
    (ID in VARCHAR2
    ,p_val in VARCHAR2
    ,P_URL in VARCHAR2
    END SESSION_VAR;
    create or replace package body session_var
    IS
    --pkg body
    function get_id(id in varchar2) return number is
    l_store_session portal30.wwsto_api_session;
    l_id number;
    begin
    l_store_session := portal30.wwsto_api_session.load_session(
    p_domain => session_var.g_domain,
    p_sub_domain => 'your domain');
    l_id := l_store_session.get_attribute_as_varchar2( p_name => id);
    return l_id;
    end get_id;
    PROCEDURE SET_ID
    (ID in VARCHAR2
    ,p_val in VARCHAR2
    ,P_URL in VARCHAR2
    IS
    l_store_session portal30.wwsto_api_session;
    begin
    l_store_session := portal30.wwsto_api_session.load_session(
    p_domain => session_var.g_domain,
    p_sub_domain => 'your domain');
    l_store_session.set_attribute(
    p_name => id,
    p_value => p_val );
    l_store_session.save_session;
    * Redirect to the page using p_url;
    portal30.wwv_redirect.url(P_URL);
    end set_id;
    END SESSION_VAR;
    --the form master detail form, section  before display page enter the following code and publish as portlet.
    declare
    l_fs varchar2(4000);
    l_s varchar2(4000);
    v_con_id number;
    begin
    v_con_id :=rfq.session_var.get_id('CON_ID'); -- primary key and key used to relate details
    p_session.set_shadow_value( p_block_name => 'MASTER_BLOCK',
    p_attribute_name => 'A_CON_ID', -- attribute on form related to primary key
    p_value => '= '|| v_con_id,
    p_language => portal30.wwctx_api.get_nls_language ,
                   p_index => 1
    l_fs := p_session.get_value_as_varchar2(p_block_name => 'MASTER_BLOCK', p_attribute_name => '_FORM_STATE');
    l_s := p_session.get_value_as_varchar2(p_block_name => 'MASTER_BLOCK', p_attribute_name => '_STATUS');
    if l_fs = 'SAVE' and l_s is null then
    WWV_MASTER_GENSYS_1(p_block_name => p_block_name,
    p_object_name => p_object_name,
    p_instance => p_instance,
    p_event_type => p_event_type,
    p_user_args => p_user_args,
    p_session => p_session);
    p_session.save_session;
    end if;
    if l_fs = 'QUERY_AND_SAVE' and l_s is null then
    WWV_MASTER_GENSYS_1(p_block_name => p_block_name,
    p_object_name => p_object_name,
    p_instance => p_instance,
    p_event_type => p_event_type,
    p_user_args => p_user_args,
    p_session => p_session);
    p_session.save_session;
    end if;
    exception
    when others then
    PORTAL30.wwerr_api_error.add(PORTAL30.wwerr_api_error.DOMAIN_WWV,'app','generic','onLink', p1 => sqlerrm);
    raise;
    end;
    --then create other md forms and publish as portlets in a similar manner.
    -- create a form (form_session_vars) to call procedure session_vars and place the following code in the
    addiontional pl/sql tab
    WWV_GENSYS_1(
    p_block_name => p_block_name ,
    p_object_name => p_object_name,
    p_instance => p_instance ,
    p_event_type => p_event_type ,
    p_user_args => p_user_args ,
    p_session => p_session);
    --then create a page and place the md forms created above as portlets on the page.
    --create a link and target the form_session_vars and in the link target inputs
    enter the values for your user parameters
    id= CON_ID --"your primary key name"
    p_url= url/page/"your_page"
    --finally create a report (QBE or standard).
    in the column formation section use the link created earlier to direct the user to the target page.
    How it works.
    When the link is selected the form_session_Var is called and automatically runs setting the primary key values
    in the user session store. The step is required or the resulting page will not render properly. Then the user is redirected to the page where the portlets are rendered. The portlets start rendering, the before display page calls the session vars package to retrieve the key and put the form into query_update mode returning the data.
    The portlets finish in query_and_save mode with details in update mode, the allowable insert, delete and none actions will be available for the details.
    benefits: The session_Var package code is resuable as well as the form form_session_Var and the link. passing the key name and values are done at the report level and detailed in the report links. the md forms will need to reference their related keys.

  • AD group in multivalue attribute in OIA

    Hi,
    I am trying to load AD groups into OIA via csv feed using schema files. I have created a multivalue attribute adgroup in OIA, but when i am entering multiple AD groups in the csv feed file for one user as "ou=abc,dc=abc ; ou=def,dc=ab", so instead of getting separated into two groups it is getting split into 4 different values at commas, is there any way to handle this type of values in the feed file or OIA cannot handle this kind of multiple values.
    Any pointers would be really helpful.

    Hi there abhishek,
    By default the seperator char is a comma, that's why OIA splits it up into the "wrong pieces".
    If you would like to use a different separator, you'll have to make a config adjustment in the database.
    Find the NAMESPACES table and look for the AD resource you created (resource has to be created first). One of the other fields is the 'multivalue_separator' field, if you change this to a semicolon (;) it should work alright. You might want to restart the application for it to work and re-import the accounts.
    I'm still looking for a more gentle way to commit the change instead of restarting OIA.
    Hope this helps you!
    Best regards,
    Jeff

  • 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.

  • Exchange Connector 9.1.1.1.0 -Support for multivalued attribute

    Hi,
    I am currently on OIM 9.1 BP07 + weblogic 10.3 + RHEL5.
    Currently I have a mutlvalued attribute that needs to be reconciled, when I use OOTB reconciliation task i get column not found exception on child table which is configured to hold multivalued attribute.
    1. Is OOTB exchange connector supports Multivalued attribute reconciliation?
    2. If no, how can i populate the child form during custom reconciliation process?
    Thanks

    Hello,
    This is the Berkeley DB forum. As such you can try your question in the General Database forum at:
    General Database Discussions
    Thanks,
    Sandra

  • Getting counts from detail tables

    I have multiple record bock that displaye a list of cell ids and their attributes; each record also displays record counts of its 3 detail tables.
    Originally, the POST-QUERY trigger select the counts (3 detail tables) as part of the data block for each record (or cell id). There are over 16K records, so each record query issues 3 selects. The whole query toke over a minute. I was asked to improve the retrieval time.
    At first I thought perhaps I could put the 3 counts in 3 separate data blocks and issue one query each in a "select cell_id, count(*). . . group by cell_id" but scrolling would not synchronize with the other blocks. So I dropped that idea.
    Next, I added a program unit from which the WHEN-NEW-FORM-INSTANCE trigger calls after execute_query. It issues "select cell_id, count(*). . . group by cell_id" (one for each detail table) and fills the count columns in the original data block. However I need to set the block property Query All Records to YES so that the cell ids and attributes are filled first. That means that before the form comes up it has to retrieve all records. That saves me about 10-15 seconds od retrieval time and I lose the ability to quickly bring up the form.
    Then I looked at using dfferent Query Data Source Types. I don't think I could do one query with counts of detail tables. Besides, some items (attrinutes) of the cell are upate-able.
    Any ideas and suggestions will be appreciated.

    Yes. I suggested adding columns to the master tables and introduce stored triggers.
    Since the change is not trivial, according to management, they put in on hold.I'm not sure if you misunderstood my suggestion or were responding to a different post. The query I wrote was for counting the detail records on the fly rather than populating new columns. If you include the counting in your main query then you will probably not have a much slower query than if you don't show any counts at all. Scrolling through the block will be no slower than if you had no counts, because no extra processing needs to be done. (You'll still have to fetch the detail blocks for each row, so moving to the last record will still be slow - that's a bad indicator of the performance of a query.)
    For example, fetching the objects for each user takes 5 seconds. When I include the number of tables, indexes and constraints for each user within the query the time only goes up to just under 9.
    SQL> set autot trace stat
    SQL> set timing on
    SQL> SELECT
      2    owner,
      3    object_name,
      4    object_type
      5  FROM all_objects ao;
    39062 rows selected.
    Elapsed: 00:00:05.13
    Statistics
           4656  recursive calls
              0  db block gets
          85106  consistent gets
              0  physical reads
              0  redo size
        1469372  bytes sent via SQL*Net to client
          29021  bytes received via SQL*Net from client
           2606  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
          39062  rows processed
    SQL> SELECT
      2    owner,
      3    object_name,
      4    object_type,
      5    (SELECT Count(*) FROM all_tables WHERE owner = ao.owner) count_tables,
      6    (SELECT Count(*) FROM all_indexes WHERE owner = ao.owner) count_indexes,
      7    (SELECT Count(*) FROM all_constraints WHERE owner = ao.owner) count_constraints
      8  FROM all_objects ao;
    39062 rows selected.
    Elapsed: 00:00:08.86
    Statistics
           4656  recursive calls
              0  db block gets
         270299  consistent gets
              0  physical reads
              0  redo size
        1684042  bytes sent via SQL*Net to client
          29021  bytes received via SQL*Net from client
           2606  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
          39062  rows processed
    SQL> If you populate the counts in post-query then the process is similar to the block below. I tried to get a timing and stats for this but it took over 15 minutes so I shut it down.
    DECLARE
    ct NUMBER;
    ci NUMBER;
    cc NUMBER;
    BEGIN
      FOR ao IN (SELECT owner, object_name, object_type FROM all_objects)
      LOOP
        SELECT Count(*) INTO ct FROM all_tables WHERE owner = ao.owner;
        SELECT Count(*) INTO ci FROM all_indexes WHERE owner = ao.owner;
        SELECT Count(*) INTO cc FROM all_constraints WHERE owner = ao.owner;
      END LOOP;
    END;Creating a view on the query and writing the "instead of" triggers is hopefully a trivial enough operation that management won't get in the way. Then you'll be able to update the block.

Maybe you are looking for

  • Migrate from Macbook Pro to Macbook Pro

    I have an existing Macbook w/ 120Gb HD.  Always running out of space.  Picked up a slightly used Macbook Pro w/ 500 Gb HD and I want to migrate to the new machine.  Does anyone know of the best procedure to follow.  I have my existing Macbook backed

  • 'sign in' button grayed out when adding account-email address has five letters after the '.'

    so i have this email account that uses a peculiar sever name with five letters after the '.' ie: [email protected] the thing is i can set up the server and user name and pass for the account so that it connects and syncs fine. the only problem is tha

  • Error uploading iphoto book

    I am using iphoto 6.0.4. I keep getting an error while trying to upload pictures. It assembles the book okay then always gets stuck at "transferring 119k of 15.1 MB" for a while then an error message pops up saying there was an error with one of the

  • One problem using TI to catch Objects allocation

    To get objects allocated during runtime, I use byecode intrumentation, JNI function interception, and VM Object Allocation Event of TI. But I still miss the allocation of many objects, about 15% of all the heap objects. why this happens, the objects

  • I can not to received the email for verified by apple id

    I can not to received the email for verified by apple id