Priviledges required for dba_role_privs table

Hi Friends ,
I want one help ..
i am executing the query "select * from dba_role_privs" from sql developer worksheet..but when i am using same query in package which is in same schema .. when i am compiling this package ..this gave me error "table or view does not exist" meanwhile when i am using "DBA_USERS " table in package..it doesn't give error for this table while compiling the package..
i already provided "SELECT_CATALOG_ROLE" to schema..
which grants needs to give schema for accessing the table dba_role_privs?
can you please tell me why is this happening ?

It is happening because
a) You don't consult documentation prior to asking a question
if you would have done so you would have avoided to ask a question which has been asked and answered 99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 times before, by people, who like you, don't read documentation.
If you would have done so you would also have known
b) Roles are ignored in stored procedures as roles are volatile.
There are two solutions to this one
1) Grant the privilege to the user invoking the procedure directly. This is the worst solution you can think of, as your grants will get out of control.
2) create the procedure with authid current_user
Sybrand Bakker
Senior Oracle DBA

Similar Messages

  • Calculating Storage Requirements for Spatial Tables/Indexes

    Hello all,
    Can anyone tell me how to estimate the size of the spatial indexes? We are using fixed tile index type for indexing the polyline & point data, both being stored in seperate tables.
    Thanks,
    Kishore
    null

    Hi Kishore,
    You cannot know in advance for polygon or line data - it is dependent on the number of tiles generated for each geometry, which in turn depends on the sdo_level chosen, the the shape of the lines, the length of the lines, the location of the lines within the coordinate system, the orientation of the lines, etc.
    Since each point will have only one tile associated with it, you can safely assume about 100MB of spatial index for every 1 million points.
    Hope this helps, and regards,
    Dan

  • BTE for MARC table

    Hi All,
    could someone provide me the Business Transaction Event(BTE) for MARC table update.
    ex:for table EBKN   BTE is 01000710.
    in the same way i want to findout the BTE for MARC table update.
    Please help.
    Thanks
    Krishna.

    Thanks Very Much..
    for future requirement(may get same requirement for other table or T-Code), is there any way we can find BTE from t_code:MM03 or MARC table?
    appriciate your help.
    Thanks
    Krishna.

  • Table for temporarily stock /requirement  for tocde /afs/mdo4

    Dear expart,
    I developed a zreport for display STO number, Production order number, operation etc.
    mainly I use here AFPO,AFRU, MSEG, MCHB & J_3ABDSI Table.
    My problem is, when I compare with Tcode /afs/md04 tab-temporarily stock /requirement  .
    for some MATNR
    data show properly.
    and some MATNR are blank  with message Last MRP run on 04.04.2011 or such date.
    Hhow i can filter the in Z-report which MATNR are not in Tcode /afs/md04 tab-temporarily stock /requirement  .
    my code is.
    SELECT  j_3abdsiaufnr j_3abdsimatnr j_3abdsij_4krcat j_3abdsimbdat j_3abdsi~menge INTO TABLE it_eket FROM j_3abdsi
        FOR ALL ENTRIES IN it_final1
        WHERE
              j_3abdsi~j_4krcat = it_final1-j_4ksca AND
              j_3abdsi~matnr = it_final1-matnr AND
              j_3abdsi~werks = it_final1-werks AND
              j_3abdsi~bdart = 'TB' AND
              j_3abdsi~plart = 'B' AND
              j_3abdsi~bsart = 'UB'.
    Pls help .
    Rayhan
    Edited by: Abu Rayhan on Apr 5, 2011 10:24 AM

    CLEAR i_data1.
      REFRESH i_data1.
      LOOP AT i_mara.
        READ TABLE i_marc WITH KEY matnr = i_mara-matnr  BINARY SEARCH .
        IF sy-subrc = 0 .
          CALL FUNCTION 'J_3AM_DISPOSITION_DISPL'
            EXPORTING
              i_matnr                 = i_mara-matnr
              i_werks                 = p_werks
          I_DIALOG                = ' '
          I_SPERR                 = ' '
          I_AUFRUF                = ' '
          I_BANER                 = ' '
             i_todate                = todate
          I_HEADER_ONLY           = ' '
           IMPORTING
             ex_dbba                 = i_data3
          E_MDKP                  =
          EX_PBBD                 =
          EX_MELD                 =
          E_CM61M                 =
           EXCEPTIONS
             material_gesperrt       = 1
             wbz_fehler              = 2
             material_prgr           = 3
             dispo_gesperrt          = 4
             OTHERS                  = 5
          IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ELSE.
            IF i_data3[] IS NOT INITIAL.
              LOOP AT i_data3 INTO i_data4 .
                  IF ( i_data4-j_3astat ='A' OR i_data4-j_3astat ='T') AND i_data4-j_3abskz ='C'   .
                    READ TABLE i_t001l WITH KEY lgort = i_data4-lgonr  BINARY SEARCH .
                    IF sy-subrc = 0 .
                      CLEAR i_data1str.
                      i_data1str-matnr = i_data4-matnr.
                      i_data1str-j_3asize = i_data4-j_3asize .
                      i_data1str-lgort = i_data4-lgonr.
                      i_data1str-menge = i_data4-menge .
                      COLLECT i_data1str INTO i_data1.
                    ENDIF.
                  ENDIF.
              ENDLOOP.
            ENDIF.
          ENDIF.
      ENDLOOP.
    Questions
    i_mara  recordset 500 material
    It take more than 3 house to finished this report.
    do changed ?
    do you help me ?
    Think.

  • Inputs or tables required for customizing purchase register

    Hi,
          I have encountered a problem regarding Purchase Register.
    The requirement of the Client is that, he wants to have the Tax Details populated in the Purchase Register with reference to Tax Code in the Invoice Screen.
    This should happen, once the Client enters the Details related to Invoice Document in the Selection Screen.
    I searched for Table and Field related to Tax code.
    I found the Field for Tax Code and it is MWSKZ.
    But, the Table is a Structure.
    So, please guide me how to find the link so as to fetch the Tax Details with respect to Tax Code in the Invoice Screen?
    Please reply as soon as possible.
    Waiting for your responsw,
    Thanks in advance.
    Thanks & Regards
    Srinivasa M.S
    +91-9910077829
    Edited by: Jeyakanthan A on Jul 4, 2011 4:36 PM

    hi
    Logic For tax register
    Table
    EKBE
    1)     BELNR=MATERIAL DOC= HERE MOVEMENT TYPE  BWART=101
    2) GJAHR=MATERIAL DOC YEAR=2011
           3) BUZEI=ITEM OF MATERIAL DOC=1 and 2
        4)  BUDAT=posting date of material doc=28.2.2011
       5) MENGE=GRN QTY=1 FOR LINE ITEM 1,1 FOR LINE ITEM 2
    FOR ABOVE COMBINATION IN TABLE EKBE
    WE WILL GET FOLLOWING FIELDS
    1)     Po number= =EBELN
    2)     Po line item=10 and 20=EBELP
    TABLE
    EKPO
    NOW PASS THIS FIELD EBELN AND EBELP INTO TABLE EKPO AND GET FOLLOWING FIELDS
    1)     MATERIAL CODE=MATNR
    2)     MATERIAL DICRIPTION=EMATN
    3)     MATERIAL GROUP=MATKL
    4)     ITEM CATEGORY=PSTYP
    5)     ACCOUNT ASSIGEMENT=KNTTP
    6)     TAX CODE=MWSKZ
    7)     PLANT=WERS
    8)     COMPANY CODE=BUKRS
    TABLE
    EKKO
    NOW PASS EBELN FROM EKPO INTO TABLE EKKO AND GET FOLLOWINGS
    1)     VENDOR CODE=LIFNR
    2)     PURCHASING GROUP=EKGRP
    TABLE
    LFA1
    NOW PASS LIFNR FROM TABLE EKKO INTO TABLE LFA1 AND GET FOLLOWINGS
    1)     VENDOR NAME=NAME1
    2)     CITY=ORT01
    TABLE
    MSEG
    NOW PASS  MATERIAL DOCBELNR=
    MATERIAL DOC YEAR=GJAHR=2011
    MATERIAL DOC ITEM= BUZEI=1 AND 2
    PO NUMBER =EBELN=
    PO ITEM NUMBER=EBELP=10 AND 20
    ALL FROM TABLE EKBE AND GET FOLLOWING FIELDS
    1)     PROFIT CENTER=PRCTR
    2)     WBS ELEMNT=PS_PSP+PNR
    TABLE
    RSEG
    PASS FROM TABLE EKPO
    PO NUMBER =EBELN
    PO ITEM =EBELP
    INTO TBALE RSEG AND GET FOLLOWING FIELDS
    1)     INVOICE DOC NUMBER=BELNR=
    2)     FISCAL YEAR=GJAHR=2010
    3)     INVOICE ITEM=BUZEI
    4)     VALUVATION CLASS=BKLAS=7900
    5)     REFERNCE =XBLNR=156
    TABLE
    T025T
    PASS VALUVATION CALSS FROM TABLE RSEG INTO TABLE T025T ,USE LANUAGE KEY EN AND GET  FOLLOWINGFIELD
    1)     VALUVATION CALSS DISCRIPTION=BKBEZ=SEMIFINISH PRODUCT
    TABLE
    BKPF
    NOW PASS BELNR+GHJAR ( 51056016262010) ,FIELD AWKEY OF TABLE BKPF
    FISCAL YEAR=GHJAR INTO TABLE BKPF FROM TABLE RSEG AND GET FOLLOWING FIELDS
    1)     FI DOC NUMBER=5100001482
    2)     FISCAL YEAR=GHJAR=2010
    3)     DOC TYPE=BLART=RE
    4)     DOC DATE=BLDAT=23.2.2011
    5)     POSTING DATE=BUDAT=28.2.2011
    6)     TRASNCTION CODE=TCODE=MIRO
    7)     REFERNCE=XBELNR=156
    TABLE
    BSET
    NOW PASS
    FI DOC NUMBER=BELNR
    FISCAL YEAR=GHJAR=2010
    AND GET FOLLOWING VALUES
    1)     CONDITION TYPE =KSCHL
    A)     VAT=JVRD=12127.29
    B)     JVRN=CST
    C)     SERVICE TAX=JSRT
    D)      ECESS ON SERVICE=JEC3
    E)     HECESS ON SERVICE=JES3
    HERE APPLY LOGIC TAXPS FIELD =1=ONE LINE ITEM FOR BELNR
    Table
    BSAK
    NOW PASS BELNR,GHJAR ,BEART FROM TABLE BKPF AND VENDOR NUMBER LIFNR FROM TABLE  EKKO
    AND PASS THIS INTO TABLE BSAK
    AND GET FOLLOWING FIELDS
    1)     CLEARING DOC NUMBER=AUGBAL
    2)     CLEARING DATE=AUGDT
    I)Logic For excise values flow
    B.E.D,=
    A.E.D=
    S.E.D. =
    ECESS=
    HECESS=
    Pass GRN number From EKBE field MBLNR ,material doc year= MJAHR ,AND BUZEI=ITEM OF MATERIAL DOC=1 and 2
    into table J_1IPART1 and get
    Following
    a)     Excise group=field EXGRP=30
    b)     EXCISE REGISTER TYPE=REGTYP=A
    c)     INTERNAL DOC NUMBER=DOCNO=8100000013
    d)     Year=DOCYR=2011
    e)     ITEM=ZEILE
    TABLE
    J_1IEXCDTL       
    PASS DOCNO, EXGRP, RGTYP,DOCYR,ZEILE  INTO TABLE J_1IEXCDTL        AND GET values
    B.E.D, =field EXBED =8772
    A.E.D=field EXAED
    S.E.D. =field EXSED
    ECESS=field ECS=175.44
    HECESS=field EXADDTAX1=87.72
    TABLE J_1IEXCHDR
    NOW PASS EXGRP AND DOCNO,DOCYR FROM TABLE J_1IPART2  AND VENDOR CODE LIFNR FROM TABLE EKKO INTO TABLE J_1IEXCHDR AND GET FOLLOWING VALUES
    VENDOR ECC NUMBER=EXCCD
    CST NNUMBER=CST NO
    TABLE
    J_1IMTCHID
    CHAPTER ID LOGIC FOR MATERIAL
    From table EKPO
    Pass material number=MATNER and Plant=WERS into table J_1IMTCHID and get following field
    Chapter id=J_1ICHID
    Selection parameter for tax registers
    1)     Company code( mandatory)
    2)     Plant
    3)     Fi doc fiscal year( mandatory=GHJAR)
    4)     Fi doc posting date( mandatory=BUDAT from table BKPF)
    5)     Doc type from table BKPF( Mandatory field BLART)
    6)     Excise group
    7)     Vendor number
    8)     Fi doc number ( BELNR FROM TABLE BKPF)
    9)     Purchasing group
    10)     Material doc =BELNR from ekbe
    11)     Tax code
    HERE
    FISCAL YEAR=2010
    FI DOC PSOTING DATE=28.2.2011
    FI DOC TYPE =BLART=RE
    COMPANY CODE=
    Regards
    kailas
    Edited by: kailasugale on Jul 4, 2011 5:47 PM

  • VAT Tax determination- question about "Requirement" for Table-Is mandatory?

    Hi everybody,
    I am having problems to determine the appropriate VAT tax percent in some cases in Mexico.
    In Mexico for billing at the border with other countries the VAT tax percent is 11% and for billing inside the country the VAT tax percent is 16%. For determine the VAT tax percent the sequence access is MWST and is assigned to the condition type MWST.  For cover the border cases we create a table 989 with the fields: Distribution Channel/Plant and VK11 is fill out with this information. With these parameters is possible to determine successfully the VAT percent of 11% at border sales point.
    The problem that I have is related to the u201Crequirementu201D assigned to the table 989: Distribution Channel/Plant. This table has assigned a standard requirement number 7- Domestic Business and when billing to a customer with address of MX (Mexico) as LAND1 at general data section of customer master data, the VAT tax percent of 11% is obtained successfully, because all the fields of the table are filled. But when billing to a customer with address of US ( United States of America) as LAND1 at general data section of customer master data, is not possible to obtain the correct VAT tax percent of 11% even all the fields of the table are filled.
    I do not know if the problem is the requirement number 7- Domestic Business, but if I change for the requirement 8- Export Business then the opposite is occurring. For US customers the VAT tax percent is determinate successfully and for MX customers not, because the fields of the u201Crequirement u201Care not filled.  
    So, I am wondering if:
    1.     Would be necessary to create a new requirement for combine the 7- Domestic Business and 8- Export Business requirements or exist one like this? I do not need to conditioning anything
    2.     What happen if I left in blank the requirement field, I mean if I do not assign anything. I was doing testing for both customers and the VAT tax percent was determined correctly. But I do not know if is correct do not assign a u201Crequirementu201D to the table of the sequence of access MWST.
    Thank you in advance for your help!

    OK I think I understand but here is where I am at now. I originally created a regulation that requires a license when shipping to certain countries out of the EU. I set the regulation as an Export reg did all the necessary config and was able to assign licenses automatically where needed.
    Has I was testing the solution I could not find sales docs or deliveries for some of the materials and finally found out they are being moved on NB PO's.
    So I changed the reg to include imports etc., classified with import control class etc. but I am seeing a couple things that don't make sense and tells me my config isn't quite right.
    I finally do see that the system at least recognizes the new legal reg in the screening now. before this it had not. But it is still telling me it can't find any relevant country.
    The other thing the document itself only shows under Display Existing Export Documents even though in the log it says it's an import document and when I go to the Import log there is no data.
    Before I realized there was a note to change the Import to export on transfer I assigned the PO types to export orders and I am thinking that's why they are showing in the export list but I woul have tought that it would say it's an export doc which it doesn't.
    Any ideas?

  • Table required for billing and RG1 output

    Dear all,
    pls give me the list of tables required for billing output and RG1 output

    Hello Digs,
    Just check out these sites and see if this is useful to you
    http://www.erpgenie.com/abap/tables_sd.htm
    http://www.erpgenie.com/saptech/transactions.ht
    <b>**Reward if this helps**</b>
    Regards
    AK

  • Table details required for pegged requirements

    Dear All,
    I have the following scenario.
    One child components is required for three different header materials. After MRP run, In MD04, three diffenerent planned orders will be there for child component for three reservations of three Header materials. I want to see the immediate header level of the child component through tables for report purpose. If you see through the function module MD_PEGGING or MD_PEGGING_NODIALOG, it is showing the top most header material. But it is not showing the immediate header material for the child component planned order. Please guide me to get the immediate header material through table or function module or any.
    Thanks in advance.
    Vijay.

    Check these tables.
    MDTB,PLAF.

  • Extraction for Cube 0PM_C05 requires customizing of table T_PMC05

    Hi can any body tell how to solve this error.
    Extraction for Cube 0PM_C05 requires customizing of table T_PMC05.
    Iam loading data to 0PM_C05 CUBE which has a datasource 0PM_PRM_PLCS_1 which is displaying as errors in source systems.
    This is a plant maintenence cube and ia replicated the datasource agian in BI Production and it is active.
    Edited by: manukonda anil kumar on Feb 17, 2011 5:45 AM

    Hi syed
                 Take the help of an ABAP person.
                 There will be same table resembling the name .
    So the data needs to be updated in the corresponding table .
    When the core people are updating data from different palnts and sites accross.
    In my case i haven't moved further.
    This is a configuration change form R/3 side where the data had to be fetched in the orrect table .
    Regards
    Anil .

  • Table's requirement for range partition?

    Whether a table should have not null column for range partition.?
    And, what are all the requirements for range partitioning.?
    My table doesn't have primary key or not null column.

    1 SELECT COUNT(TO_CHAR(dt_enc_negotiation_date,'YYYY')) "Entries",
    2 TO_CHAR(dt_enc_negotiation_date,'YYYY') "Year"
    3 FROM tbl_trn_exports
    4 GROUP BY TO_CHAR(dt_enc_negotiation_date,'YYYY')
    5* ORDER BY 2
    15:11:27 SQL> /
    Entries Year
    1 1900
    3 1902
    2 1903
    1 1983
    5 1988
    1 1989
    6 1990
    7 1992
    5 1993
    362 1994
    1321 1995
    20044 1996
    44131 1997
    1363994 1998
    1222222 1999
    1440499 2000
    1611602 2001
    1798035 2002
    1886603 2003
    2164553 2004
    2230841 2005
    2347830 2006
    670443 2007
    141 2008
    1367 2009
    2 2010
    0
    27 rows selected.
    How many partitions can we choose for range partition?

  • How to find out the table column that is required for index

    hi all,
    i want to the column required for index in one schema.
    what are the ways to achieve the same.

    To know what columns to index you must, not should, but must, know your data, know how it will be used, and know how your WHERE clause filters will affect how the data is accessed.
    Building indexes based on some rule is a waste of CPU, disk i/o, and space.
    To build indexes that enhance rather than degrade a system requires research and the use of explain plan reports generated with DBMS_XPLAN.
    http://www.morganslibrary.org/library.html

  • Required to create a script for base table update using XMLSTORE package.

    Hi can anybody provide me some help full suggestion on how to update base table using XMLSTORE package.
    I created a simple script for Employee table and can able to do the basic operation like Insert and update on the table.
    Query is as follow's
    DECLARE
    insCtx DBMS_XMLSTORE.ctxType;
    rows NUMBER;
    xmlDoc CLOB :=
    '<ROWSET>
    <ROW num="1">
    <EMPLOYEE_ID>922</EMPLOYEE_ID>
    <SALARY>1801</SALARY>
    <HIRE_DATE>17-DEC-2007</HIRE_DATE>
    <JOB_ID>ST_CLERK</JOB_ID>
    <EMAIL>RAUSSJACK</EMAIL>
    <LAST_NAME>JACK</LAST_NAME>
    <DEPARTMENT_ID>20</DEPARTMENT_ID>
    </ROW>
    <ROW>
    <EMPLOYEE_ID>923</EMPLOYEE_ID>
    <SALARY>2001</SALARY>
    <HIRE_DATE>31-DEC-2005</HIRE_DATE>
    <JOB_ID>ST_CLERK</JOB_ID>
    <EMAIL>PATHAK</EMAIL>
    <LAST_NAME>PRATIK</LAST_NAME>
    <DEPARTMENT_ID>20</DEPARTMENT_ID>
    </ROW>
    </ROWSET>';
    BEGIN
    insCtx := DBMS_XMLSTORE.newContext('EMPLOYEES'); -- Get saved context
    DBMS_XMLSTORE.clearUpdateColumnList(insCtx); -- Clear the update settings
    -- Set the columns to be updated as a list of values
    DBMS_XMLSTORE.setUpdateColumn(insCtx, 'EMPLOYEE_ID');
    DBMS_XMLSTORE.setUpdateColumn(insCtx, 'SALARY');
    DBMS_XMLSTORE.setUpdateColumn(insCtx, 'HIRE_DATE');
    DBMS_XMLSTORE.setUpdateColumn(insCtx, 'JOB_ID');
    DBMS_XMLSTORE.setUpdateColumn(insCtx, 'EMAIL');
    DBMS_XMLSTORE.setUpdateColumn(insCtx, 'LAST_NAME');
    DBMS_XMLSTORE.setUpdateColumn(insCtx, 'DEPARTMENT_ID');
    -- Insert the doc.
    rows := DBMS_XMLSTORE.insertXML(insCtx, xmlDoc);
    --COMMIT;
    DBMS_OUTPUT.put_line(rows || ' rows inserted.');
    -- Close the context
    DBMS_XMLSTORE.closeContext(insCtx);
    END;
    SELECT employee_id, LAST_name FROM employees WHERE employee_id = 114;
    DECLARE
    updCtx DBMS_XMLSTORE.ctxType;
    rows NUMBER;
    xmlDoc CLOB :=
    '<ROWSET>
    <ROW>
    <EMPLOYEE_ID>114</EMPLOYEE_ID>
    <LAST_NAME>PRABHU</LAST_NAME>
    </ROW>
    </ROWSET>';
    BEGIN
    updCtx := DBMS_XMLSTORE.newContext('EMPLOYEES'); -- get the context
    DBMS_XMLSTORE.clearUpdateColumnList(updCtx); -- clear update settings
    -- Specify that column employee_id is a "key" to identify the row to update.
    DBMS_XMLSTORE.setKeyColumn(updCtx, 'EMPLOYEE_ID');
    rows := DBMS_XMLSTORE.updateXML(updCtx, xmlDoc); -- update the table
    DBMS_XMLSTORE.closeContext(updCtx); -- close the context
    commit;
    END;
    Nowi want little modification on this above query like as i am passing static XML tags and i want it to pick the dynamic XML from web and use the XMLSTORE for the update.
    and also for complex XML having 2-3 levels how this query needs to be changed.As i am new to this Oracle utillity any help from xepert will be a great help for me.
    Thanks

    Nowi want little modification on this above query like as i am passing static XML tags and i want it to pick the dynamic XML from webFrom a Web Service?
    You'll need UTL_HTTP or HttpUriType interface to send the request and receive the XML response.
    Search in the forum, there are already a lot of useful examples available.
    and also for complex XML having 2-3 levels how this query needs to be changed.DBMS_XMLStore is OK for readily processing a canonical XML format (/ROWSET/ROW/COLUMN structure or alike).
    However, if you have to deal with a more complex structure, you either have to :
    - use a target object table that matches the XML structure
    - preprocess the input document using XSLT to transform it to canonical format
    That's why DBMS_XMLStore is not appropriate for multilevel documents, especially if they contain nested repeating groups.
    In this case, XMLTable is a more flexible way of parsing the XML and process it relationally at the same time.
    Depending on the size of the document, performance may be improved with schema-based object-relational storage.
    For more help, please post a new thread in the {forum:id=34} forum, with the following information :
    - database version (select * from v$version)
    - a sample XML document (the complex one)
    - DDL of your target table
    - mapping between XML elements and columns (ie which tag goes to which column?)
    - an XML schema (if you have one)

  • Security - SM30 required for visualizing IMG TABLE / SPRO

    Hi!
    Is there a possibility to visualize IMG tables (for example T16FS), through SPRO without having SM30 transaction?
    It's a security policy where I work that most of the users can't have assigned SM30, but this interferes with visualizing of tables in SPRO.
    Would you help me, please?
    Thanks a lot!

    Julieta,
    I think if you know the table name , you can find the table entries through SE16 also. SM30 is not always needed. SM30 is needed only if you want to make some entry in sometables and for SPRO tables entry through SM30 is not possible.
    I could see the entries of T16FS through SE16
    If you want to see IMG tables through SPRO, you shoudl really knwo the SPRO path.If you ask any consultant belonging to that module, he should be able to guide you very well.
    Hope thsi helps you

  • How to come up with a magic number for any table that returns more than 32KB?

    I am in a unique situation where in I am trying to retrieve values from multiple tables and publish them as XML output. The problem is based on the condition a few tables could retrieve data more than 32KB and a few less than 32KB. Less than 32KB is not an issue as XML generation is smooth. The minute it reaches greater than 32KB it generates a run time error. Just wondering if there is any way to ensure that the minute the query's results is greater than 32 kb, it should break say - if the results is 35KB, then I should break that result into 32 KB and 3kb; once done then pass this data to be published as an XML output. This is again not just for one table, but all the tables that are called in the function.
    Is there any way?? I am unable to get any ideas nor have I done anything so complex from production support stand point. Would appreciate if someone can guide me on this.
    The way it is, is as follows:
    I have a table called ctn_pub_cntl
    CREATE TABLE CTNAPP.ctn_pub_cntl
    (ctn_pub_cntl_id          NUMBER(18)
    ,table_name                  VARCHAR2(50)
    ,last_pub_tms              DATE
    ,queue_name               VARCHAR2(50)
    ,dest_system              VARCHAR2(50)
    ,frequency                  NUMBER(6)
    ,status                      VARCHAR2(8)
    ,record_create_tms          DATE
    ,create_user_id                VARCHAR2(8)
    ,record_update_tms          DATE
    ,update_user_id             VARCHAR2(8)
    ,CONSTRAINT ctn_pub_cntl_id_pk PRIMARY KEY(ctn_pub_cntl_id)
    Data for this is:
    INSERT INTO CTNAPP.ctn_pub_cntl
    (ctn_pub_cntl_id   
    ,table_name        
    ,last_pub_tms 
    ,queue_name 
    ,dest_system       
    ,frequency         
    VALUES
    (CTNAPP_SQNC.nextval
    ,'TRKFCG_SBDVSN'
    ,TO_DATE('10/2/2004 10:17:44PM','MM/DD/YYYY HH12:MI:SSPM')
    ,'UT.TSD.TSZ601.UNP'
    ,'SAP'
    ,15
    INSERT INTO CTNAPP.ctn_pub_cntl
    (ctn_pub_cntl_id   
    ,table_name        
    ,last_pub_tms 
    ,queue_name 
    ,dest_system       
    ,frequency         
    VALUES
    (CTNAPP_SQNC.nextval
    ,'TRKFCG_TRACK_SGMNT_DN'
    ,TO_DATE('02/06/2015 9:50:00AM','MM/DD/YYYY HH12:MI:SSPM')
    ,'UT.TSD.WRKORD.UNP'
    ,'SAP'
    ,30
    INSERT INTO CTNAPP.ctn_pub_cntl
    (ctn_pub_cntl_id   
    ,table_name        
    ,last_pub_tms 
    ,queue_name 
    ,dest_system       
    ,frequency         
    VALUES
    (CTNAPP_SQNC.nextval
    ,'TRKFCG_FXPLA_TRACK_LCTN_DN'
    ,TO_DATE('10/2/2004 10:17:44PM','MM/DD/YYYY HH12:MI:SSPM')
    ,'UT.TSD.YRDPLN.INPUT'
    ,'SAP'
    ,30
    INSERT INTO CTNAPP.ctn_pub_cntl
    (ctn_pub_cntl_id   
    ,table_name        
    ,last_pub_tms 
    ,queue_name 
    ,dest_system       
    ,frequency         
    VALUES
    (CTNAPP_SQNC.nextval
    ,'TRKFCG_FXPLA_TRACK_LCTN2_DN'
    ,TO_DATE('02/06/2015 9:50:00AM','MM/DD/YYYY HH12:MI:SSPM')
    ,'UT.TSD.TSZ601.UNP'
    ,'SAP'
    ,120
    INSERT INTO CTNAPP.ctn_pub_cntl
    (ctn_pub_cntl_id   
    ,table_name        
    ,last_pub_tms
    ,queue_name 
    ,dest_system       
    ,frequency         
    VALUES
    (CTNAPP_SQNC.nextval
    ,'TRKFCG_FXPLA_TRACK_LCTN2_DN'
    ,TO_DATE('04/23/2015 11:50:00PM','MM/DD/YYYY HH12:MI:SSPM')
    ,'UT.TSD.YRDPLN.INPUT'
    ,'SAP'
    ,10
    INSERT INTO CTNAPP.ctn_pub_cntl
    (ctn_pub_cntl_id   
    ,table_name        
    ,last_pub_tms
    ,queue_name 
    ,dest_system       
    ,frequency         
    VALUES
    (CTNAPP_SQNC.nextval
    ,'TRKFCG_FIXED_PLANT_ASSET'
    ,TO_DATE('04/23/2015 11:50:00AM','MM/DD/YYYY HH12:MI:SSPM')
    ,'UT.TSD.WRKORD.UNP'
    ,'SAP'
    ,10
    INSERT INTO CTNAPP.ctn_pub_cntl
    (ctn_pub_cntl_id   
    ,table_name        
    ,last_pub_tms
    ,queue_name 
    ,dest_system       
    ,frequency         
    VALUES
    (CTNAPP_SQNC.nextval
    ,'TRKFCG_OPRLMT'
    ,TO_DATE('03/26/2015 7:50:00AM','MM/DD/YYYY HH12:MI:SSPM')
    ,'UT.TSD.WRKORD.UNP'
    ,'SAP'
    ,30
    INSERT INTO CTNAPP.ctn_pub_cntl
    (ctn_pub_cntl_id   
    ,table_name        
    ,last_pub_tms
    ,queue_name 
    ,dest_system       
    ,frequency         
    VALUES
    (CTNAPP_SQNC.nextval
    ,'TRKFCG_OPRLMT_SGMNT_DN'
    ,TO_DATE('03/28/2015 12:50:00AM','MM/DD/YYYY HH12:MI:SSPM')
    ,'UT.TSD.WRKORD.UNP'
    ,'SAP'
    ,30
    COMMIT;
    Once the above data is inserted and committed, then I created a function in a package:
    CREATE OR REPLACE PACKAGE CTNAPP.CTN_PUB_CNTL_EXTRACT_PUBLISH
    IS
    TYPE tNameTyp IS TABLE OF ctn_pub_cntl.table_name%TYPE INDEX BY BINARY_INTEGER;
    g_tName tNameTyp;
    TYPE tClobTyp IS TABLE OF CLOB INDEX BY BINARY_INTEGER;
    g_tClob tClobTyp;
    FUNCTION GetCtnData(p_nInCtnPubCntlID IN CTN_PUB_CNTL.ctn_pub_cntl_id%TYPE,p_count OUT NUMBER ) RETURN tClobTyp;
    END CTNAPP.CTN_PUB_CNTL_EXTRACT_PUBLISH;
    --Package body
    CREATE OR REPLACE PACKAGE BODY CTNAPP.CTN_PUB_CNTL_EXTRACT_PUBLISH
    IS
         doc           xmldom.DOMDocument;
         main_node     xmldom.DOMNode;
         root_node     xmldom.DOMNode;
         root_elmt     xmldom.DOMElement;
         child_node    xmldom.DOMNode;
         child_elmt    xmldom.DOMElement;
         leaf_node     xmldom.DOMNode;
         elmt_value    xmldom.DOMText;
         tbl_node      xmldom.DOMNode;
         table_data    XMLDOM.DOMDOCUMENTFRAGMENT;
         l_ctx         DBMS_XMLGEN.CTXHANDLE;
         vStrSqlQuery  VARCHAR2(32767);
         l_clob        tClobTyp;
         l_xmltype     XMLTYPE;
    --Local Procedure to build XML header    
    PROCEDURE BuildCPRHeader IS
      BEGIN
        child_elmt := xmldom.createElement(doc, 'PUBLISH_HEADER');
        child_node  := xmldom.appendChild (root_node, xmldom.makeNode (child_elmt));
        child_elmt := xmldom.createElement (doc, 'SOURCE_APLCTN_ID');
        elmt_value := xmldom.createTextNode (doc, 'CTN');
        leaf_node  := xmldom.appendChild (child_node, xmldom.makeNode (child_elmt));
        leaf_node  := xmldom.appendChild (leaf_node, xmldom.makeNode (elmt_value));
        child_elmt := xmldom.createElement (doc, 'SOURCE_PRGRM_ID');
        elmt_value := xmldom.createTextNode (doc, 'VALUE');
        leaf_node  := xmldom.appendChild (child_node, xmldom.makeNode (child_elmt));
        leaf_node  := xmldom.appendChild (leaf_node, xmldom.makeNode (elmt_value));
        child_elmt := xmldom.createElement (doc, 'SOURCE_CMPNT_ID');
        elmt_value := xmldom.createTextNode (doc, 'VALUE');
        leaf_node  := xmldom.appendChild (child_node, xmldom.makeNode (child_elmt));
        leaf_node  := xmldom.appendChild (leaf_node, xmldom.makeNode (elmt_value));
        child_elmt := xmldom.createElement (doc, 'PUBLISH_TMS');
        elmt_value := xmldom.createTextNode (doc, TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS'));
        leaf_node  := xmldom.appendChild (child_node, xmldom.makeNode (child_elmt));
        leaf_node  := xmldom.appendChild (leaf_node, xmldom.makeNode (elmt_value));
    END BuildCPRHeader;
    --Get table data based on table name
    FUNCTION GetCtnData(p_nInCtnPubCntlID IN CTN_PUB_CNTL.ctn_pub_cntl_id%TYPE,p_Count OUT NUMBER) RETURN tClobTyp IS
        vTblName      ctn_pub_cntl.table_name%TYPE;
        vLastPubTms   ctn_pub_cntl.last_pub_tms%TYPE;
    BEGIN
                g_vProcedureName:='GetCtnData';   
                g_vTableName:='CTN_PUB_CNTL';
            SELECT table_name,last_pub_tms
            INTO   vTblName, vLastPubTms
            FROM   CTN_PUB_CNTL
            WHERE  ctn_pub_cntl_id=p_nInCtnPubCntlID;
        -- Start the XML Message generation
            doc := xmldom.newDOMDocument;
            main_node := xmldom.makeNode(doc);
            root_elmt := xmldom.createElement(doc, 'PUBLISH');
            root_node := xmldom.appendChild(main_node, xmldom.makeNode(root_elmt));
          --Append Table Data as Publish Header
            BuildCPRHeader;
          --Append Table Data as Publish Body
           child_elmt := xmldom.createElement(doc, 'PUBLISH_BODY');
           leaf_node  := xmldom.appendChild (root_node, xmldom.makeNode(child_elmt));
           DBMS_SESSION.SET_NLS('NLS_DATE_FORMAT','''YYYY:MM:DD HH24:MI:SS''');
           vStrSqlQuery := 'SELECT * FROM ' || vTblName
                          || ' WHERE record_update_tms <= TO_DATE(''' || TO_CHAR(vLastPubTms, 'MM/DD/YYYY HH24:MI:SS') || ''', ''MM/DD/YYYY HH24:MI:SS'') ' ;
                        --  ||  ' AND rownum < 16'
          DBMS_OUTPUT.PUT_LINE(vStrSqlQuery);
           l_ctx  := DBMS_XMLGEN.NEWCONTEXT(vStrSqlQuery);
          DBMS_XMLGEN.SETNULLHANDLING(l_ctx, 0);
          DBMS_XMLGEN.SETROWSETTAG(l_ctx, vTblName);
          -- Append Table Data as XML Fragment
          l_clob(1):=DBMS_XMLGEN.GETXML(l_ctx); 
          elmt_value := xmldom.createTextNode (doc, l_clob(1));
         leaf_node  := xmldom.appendChild (leaf_node, xmldom.makeNode (elmt_value));
         xmldom.writeToBuffer (doc, l_clob(1));
         l_clob(1):=REPLACE(l_clob(1),'&lt;?xml version=&quot;1.0&quot;?&gt;', NULL);
         l_clob(1):=REPLACE(l_clob(1),'&lt;', '<');
         l_clob(1):=REPLACE(l_clob(1),'&gt;', '>');
         RETURN l_clob;
         DBMS_OUTPUT.put_line('Answer is' ||l_clob(1));
         EXCEPTION
            WHEN NO_DATA_FOUND THEN
            DBMS_OUTPUT.put_line('There is no data with' || SQLERRM);
            g_vProcedureName:='GetCtnData';
            g_vTableName:='CTN_PUB_CNTL';
            g_vErrorMessage:=SQLERRM|| g_vErrorMessage;
            g_nSqlCd:=SQLCODE;
            ctn_log_error('ERROR',g_vErrorMessage,'SELECT',g_nSqlCd,p_nInCtnPubCntlID,g_vPackageName,g_vProcedureName,g_vTableName);
            WHEN OTHERS THEN
           DBMS_OUTPUT.PUT_LINE('ERROR : ' || SQLERRM);
           ctn_log_error('ERROR',g_vErrorMessage,'OTHERS',g_nSqlCd,p_nInCtnPubCntlID,g_vPackageName,g_vProcedureName,g_vTableName);
    END GetCtnData;
    PROCEDURE printClob (result IN OUT NOCOPY CLOB) IS
        xmlstr   VARCHAR2 (32767);
        line     VARCHAR2 (2000);
    BEGIN
        xmlstr := DBMS_LOB.SUBSTR (result, 32767);
        LOOP
           EXIT WHEN xmlstr IS NULL;
           line := SUBSTR (xmlstr, 1, INSTR (xmlstr, CHR (10)) - 1);
           DBMS_OUTPUT.put_line (line);
           xmlstr := SUBSTR (xmlstr, INSTR (xmlstr, CHR (10)) + 1);
        END LOOP;
    END printClob;
    END CTN_PUB_CNTL_EXTRACT_PUBLISH;
    If you notice my query:
    vStrSqlQuery := 'SELECT * FROM ' || vTblName
                          || ' WHERE record_update_tms <= TO_DATE(''' || TO_CHAR(vLastPubTms, 'MM/DD/YYYY HH24:MI:SS') || ''', ''MM/DD/YYYY HH24:MI:SS'') ' ;
                         ||  ' AND rownum < 16'
    The minute I comment
    ||  ' AND rownum < 16' ;
    , it throws an error because this query returns around 600 rows and all of those rows need to be published as XML and the tragedy is that there is a C program in between as well i.e. C will call my packged functions and then will do all the processing. Once this is done will pass the results back to C program. So obviously C does not recognise CLOB and somewhere in the process I have to convert the CLOB to VARCHAR or instead of CLOB I have to use VARCHAR array as a return type. This is my challenge.
    Anyone that can help me to find out the required magic number and also a brief know how, I would appreciate that. Many thanks in advance.

    Not sure I understand which part is failing.
    Is it the C program calling your packaged function? Or does the error occur in the PL/SQL code, in which case you should be able to pinpoint where it's wrong?
    A few comments :
    1) Using DOM to build XML out of relational data? What for? Use SQL/XML functions.
    2) Giving sample data is usually great, but it's not useful here since we can't run your code. We're missing the base tables.
    3) This is wrong :
    vStrSqlQuery := 'SELECT * FROM ' || vTblName                     || ' WHERE record_update_tms <= TO_DATE(''' || TO_CHAR(vLastPubTms, 'MM/DD/YYYY HH24:MI:SS') || ''', ''MM/DD/YYYY HH24:MI:SS'') ' ;
    A bind variable should be used here for the date.
    4) This is wrong :
    elmt_value := xmldom.createTextNode (doc, l_clob(1));
    createTextNode does not support CLOB so it will fail as soon as the CLOB you're trying to pass exceeds 32k.
    Maybe that's the problem you're referring to?
    5) This is most wrong :
         l_clob(1):=REPLACE(l_clob(1),'&lt;?xml version=&quot;1.0&quot;?&gt;', NULL); 
         l_clob(1):=REPLACE(l_clob(1),'&lt;', '<'); 
         l_clob(1):=REPLACE(l_clob(1),'&gt;', '>'); 
    I understand what you're trying to do but it's not the correct way.
    You're trying to convert a text() node representing XML in escaped form back to XML content.
    The problem is that there are other things to take care of besides just '&lt;' and '&gt;'.
    If you want to insert an XML node into an existing document, treat that as an XML node, not as a string.
    Anyway,
    Anyone that can help me to find out the required magic number
    That would be a bad idea. Fix what needs to be fixed.
    And please clearly state which part is failing : the C program or the PL/SQL code?
    I'd vote for PL/SQL, as pointed out in [4].

  • List of Manual Setup required for iSetup to work

    Hi All,
    This is Mugunthan from iSetup development. Based on my interaction with customers and Oracle functional experts, I had documented list of manual setups that are required for smooth loading of selection sets. I am sharing the same. Please let me know if I anyone had to enter some manual setup while using iSetup.
    Understanding iSetup
    iSetup is a tool to migrate and report on your configuration data. Various engineering teams from Oracle develop the APIs/Programs, which migrates the data across EBS instances. Hence all your data is validated for all business cases and data consistency is guarantied. It requires good amount of setup functional knowledge and bit of technical knowledge to use this tool.
    Prerequisite setup for Instance Mapping to work
    ·     ATG patch set level should be same across all EBS instances.
    ·     Copy DBC files of each other EBS instances participating in migration under $FND_SECURE directory (refer note below for details).
    ·     Edit sqlnet.ora to allow connection between DB instacnes(tcp.invited_nodes=(<source>,<central>))
    ·     Make sure that same user name with iSetup responsibility exists in all EBS instances participating in migration.
    Note:- iSetup tool is capable of connecting to multiple EBS instances. To do so, it uses dbc file information available under $FND_SECURE directory. Let us consider three instances A, B & C, where A is central instance, B is source instance and C is target instances. After copying the dbc file on all nodes, $FND_SECURE directory would look like this on each machine.
    A => A.dbc, B.dbc, C.dbc
    B => A.dbc, B.dbc
    C => A.dbc, C.dbc
    Prerequisite for registering Interface and creating Custom Selection Set
    iSetup super role is mandatory to register and create custom selection set. It is not sufficient if you register API on central/source instance alone. You must register the API on all instances participating in migration/reporting.
    Understanding how to access/share extracts across instances
    Sharing iSetup artifacts
    ·     Only the exact same user can access extracts, transforms, or reports across different instances.
    ·     The “Download” capability offers a way to share extracts, transforms, and loads.
    Implications for Extract/Load Management
    ·     Option 1: Same owner across all instances
    ·     Option 2: Same owner in Dev, Test, UAT, etc – but not Production
    o     Extract/Load operations in non-Production instances
    o     Once thoroughly tested and ready to load into Production, download to desktop and upload into Production
    ·     Option 3: Download and upload into each instance
    Security Considerations
    ·     iSetup does not use SSH to connect between instances. It uses Concurrent Manager framework to lunch concurrent programs on source and target instances.
    ·     iSetup does not write password to any files or tables.
    ·     It uses JDBC connectivity obtained through standard AOL security layer
    Common Incorrect Setups
    ·     Failure to complete/verify all of the steps in “Mapping instances”
    ·     DBC file should be copied again if EBS instance has been refreshed or autoconfig is run.
    ·     Custom interfaces should be registered in all EBS instances. Registering it on Central/Source is not sufficient.
    ·     Standard Concurrent Manager should up for picking up iSetup concurrent requests.
    ·     iSetup financial and SCM modules are supported from 12.0.4 onwards.
    ·     iSetup is not certified on RAC. However, you may still work with iSetup if you could copy the DBC file on all nodes with the same name as it had been registered through Instance Mapping screen.
    Installed Languages
    iSetup has limitations where it cannot Load or Report if the number and type of installed languages and DB Charset are different between Central, Source and Target instances. If your case is so, there is a workaround. Download the extract zip file to desktop and unzip it. Edit AZ_Prevalidator_1.xml to match your target instance language and DB Charset. Zip it back and upload to iSetup repository. Now, you would be able to load to target instance. You must ensure that this would not corrupt data in DB. This is considered as customization and any data issue coming out this modification is not supported.
    Custom Applications
    Application data is the prerequisite for the most of the Application Object Library setups such as Menus, Responsibility, and Concurrent programs. iSetup does not migrate Custom Applications as of now. So, if you have created any custom application on source instance, please manually create them on the target instance before moving Application Object Library (AOL) data.
    General Foundation Selection Set
    Setup objects in General foundation selection set supports filtering i.e. ability to extract specific setups. Since most of the AOL setup data such as Menus, Responsibilities and Request Groups are shipped by Oracle itself, it does not make sense to migrate all of them to target instance since they would be available on target instance. Hence, it is strongly recommended to extract only those setup objects, which are edited/added, by you to target instance. This improves the performance. iSetup uses FNDLOAD (seed data loader) to migrate most of the AOL Setups. The default behavior of FNDLOAD is given below.
    Case 1 – Shipped by Oracle (Seed Data)
    FNDLOAD checks last_update_date and last_updated_by columns to update a record. If it is shipped by Oracle, the default owner of the record would be Oracle and it would skip these records, which are identical. So, it won’t change last_update_by or last_updated_date columns.
    Case 2 – Shipped by Oracle and customized by you
    If a record were customized in source instance, then it would update the record based on last_update_date column. If the last_update_date in the target were more recent, then FNDLOAD would not update the record. So, it won’t change last_update_by column. Otherwise, it would update the records with user who customized the records in source instance.
    Case 3 – Created and maintained by customers
    If a record were newly added/edited in source instance by you, then it would update the record based on last_update_date column. If the last_update_date of the record in the target were more recent, then FNDLOAD would not update the record. So, it won’t change last_update_by column. Otherwise, it would update the records with user who customized the records in source instance.
    Profiles
    HR: Business Group => Set the name of the Business Group for which you would like to extract data from source instance. After loading Business Group onto the target instance, make sure that this profile option is set appropriately.
    HR: Security Profile => Set the name of the Business Group for which you would like to extract data from source instance. After loading Business Group onto the target instance, make sure that this profile option is set appropriately.
    MO: Operating Unit => Set the Operating Unit name for which you would like to extract data from source instance. After loading Operating Unit onto the target instance, make sure that this profile option is set if required.
    Navigation path to do the above setup:
    System Administrator -> Profile -> System.
    Query for the above profiles and set the values accordingly.
    Descriptive & Key Flex Fields
    You must compile and freeze the flex field values before extracting using iSetup.
    Otherwise, it would result in partial migration of data. Please verify that all the data been extracted by reporting on your extract before loading to ensure data consistency.
    You can load the KFF/DFF data to target instance even the structures in both source as well as target instances are different only in the below cases.
    Case 1:
    Source => Loc1 (Mandate), Loc2 (Mandate), Loc3, and Loc4
    Target=> Loc1, Loc2, Loc3 (Mandate), Loc4, Loc5 and Loc6
    If you provide values for Loc1 (Mandate), Loc2 (Mandate), Loc3, Loc4, then locations will be loaded to target instance without any issue. If you do not provide value for Loc3, then API will fail, as Loc3 is a mandatory field.
    Case 2:
    Source => Loc1 (Mandate), Loc2 (Mandate), Loc3, and Loc4
    Target=> Loc1 (Mandate), Loc2
    If you provide values for Loc1 (Mandate), Loc2 (Mandate), Loc3 and Loc4 and load data to target instance, API will fail as Loc3 and Loc4 are not there in target instance.
    It is always recommended that KFF/DFF structure should be same for both source as well as target instances.
    Concurrent Programs and Request Groups
    Concurrent program API migrates the program definition(Definition + Parameters + Executable) only. It does not migrate physical executable files under APPL_TOP. Please use custom solution to migrate executable files. Load Concurrent Programs prior to loading Request Groups. Otherwise, associated concurrent program meta-data will not be moved even through the Request Group extract contains associated Concurrent Program definition.
    Locations - Geographies
    If you have any custom Geographies, iSetup does not have any API to migrate this setup. Enter them manually before loading Locations API.
    Currencies Types
    iSetup does not have API to migrate Currency types. Enter them manually on target instance after loading Currency API.
    GL Fiscal Super user--> setup--> Currencies --> rates -- > types
    Associating an Employee details to an User
    The extract process does not capture employee details associated with users. So, after loading the employee data successfully on the target instance, you have to configure them again on target instance.
    Accounting Setup
    Make sure that all Accounting Setups that you wish to migrate are in status “Complete”. In progress or not-completed Accounting Setups would not be migrated successfully.
    Note: Currently iSetup does not migrate Sub-Ledger Accounting methods (SLA). Oracle supports some default SLA methods such as Standard Accrual and Standard Cash. You may make use of these two. If you want to use your own SLA method then you need to manually create it on target instances because iSetup does not have API to migrate SLA. If a Primary Ledger associated with Secondary Ledgers using different Chart of Accounts, then mapping rules should be defined in the target instance manually. Mapping rule name should match with XML tag “SlCoaMappingName”. After that you would be able to load Accounting Setup to target instance.
    Organization API - Product Foundation Selection Set
    All Organizations which are defined in HR module will be extracted by this API. This API will not extract Inventory Organization, Business Group. To migrate Inventory Organization, you have to use Inventory Organization API under Discrete Mfg. and Distribution Selection Set. To extract Business Group, you should use Business Group API.
    Inventory Organization API - Discrete Mfg & Distribution Selection Set
    Inventory Organization API will extract Inventory Organization information only. You should use Inventory Parameters API to move parameters such as Accounting Information. Inventory Organization API Supports Update which means that you can update existing header level attributes of Inventory Organization on the target instance. Inventory Parameters API does not support update. To update Inventory Parameters, use Inventory Parameters Update API.
    We have a known issue where Inventory Organization API migrates non process enabled organization only. If your inventory organization is process enabled, then you can migrate them by a simple workaround. Download the extract zip file to desktop and unzip it. Navigate to Organization XML and edit the XML tag <ProcessEnabledFlag>Y</ProcessEnabledFlag> to <ProcessEnabledFlag>N</ProcessEnabledFlag>. Zip it back the extract and upload to target instance. You can load the extract now. After successful completion of load, you can manually enable the flag through Form UI. We are working on this issue and update you once patch is released to metalink.
    Freight Carriers API - Product Foundation Selection Set
    Freight Carriers API in Product Foundation selection set requires Inventory Organization and Organization Parameters as prerequisite setup. These two APIs are available under Discrete Mfg. and Distribution Selection Set. Also,Freight Carriers API is available under Discrete Mfg and Distribution Selection Set with name Carriers, Methods, Carrier-ModeServ,Carrier-Org. So, use Discrete Mfg selection set to load Freight Carriers. In next rollup release Freight Carriers API would be removed from Product Foundation Selection Set.
    Organization Structure Selection Set
    It is highly recommended to set filter and extract and load data related to one Business Group at a time. For example, setup objects such as Locations, Legal Entities,Operating Units,Organizations and Organization Structure Versions support filter by Business Group. So, set the filter for a specific Business Group and then extract and load the data to target instance.
    List of mandatory iSetup Fwk patches*
    8352532:R12.AZ.A - 1OFF:12.0.6: Ignore invalid Java identifier or Unicode identifier characters from the extracted data
    8424285:R12.AZ.A - 1OFF:12.0.6:Framework Support to validate records from details to master during load
    7608712:R12.AZ.A - 1OFF:12.0.4:ISETUP DOES NOT MIGRATE SYSTEM PROFILE VALUES
    List of mandatory API/functional patches*
    8441573:R12.FND.A - 1OFF:12.0.4: FNDLOAD DOWNLOAD COMMAND IS INSERTING EXTRA SPACE AFTER A NEWLINE CHARACTER
    7413966:R12.PER.A - MIGRATION ISSUES
    8445446:R12.GL.A - Consolidated Patch for iSetup Fixes
    7502698:R12.GL.A - Not able to Load Accounting Setup API Data to target instance.
    Appendix_
    How to read logs
    ·     Logs are very important to diagnose and troubleshoot iSetup issues. Logs contain both functional and technical errors.
    ·     To find the log, navigate to View Detail screens of Extracts/ Transforms/Loads/Standard/Comparison Reports and click on View Log button to view the log.
    ·     Generic Loader (FNDLOAD or Seed data loader) logs are not printed as a part of main log. To view actual log, you have to take the request_id specified in the concurrent log and search for the same in Forms Request Search Window in the instance where the request was launched.
    ·     Functional errors are mainly due to
    o     Missing prerequisite data – You did not load one more perquisite API before loading the current API. Example, trying to load “Accounting Setup” without loading “Chart of Accounts” would result in this kind of error.
    o     Business validation failure – Setup is incorrect as per business rule. Example, Start data cannot be greater than end date.
    o     API does not support Update Records – If the there is a matching record in the target instance and If the API does not support update, then you would get this kind of errors.
    o     You unselected Update Records while launching load - If the there is a matching record in the target instance and If you do not select Update Records, then you would get this kind of errors.
    Example – business validation failure
    o     VONAME = Branches PLSQL; KEY = BANKNAME = 'AIBC‘
    o     BRANCHNAME = 'AIBC'
    o     EXCEPTION = Please provide a unique combination of bank number, bank branch number, and country combination. The 020, 26042, KA combination already exists.
    Example – business validation failure
    o     Tokens: VONAME = Banks PLSQL
    o     BANKNAME = 'OLD_ROYAL BANK OF MY INDIA'
    o     EXCEPTION = End date cannot be earlier than the start date
    Example – missing prerequisite data.
    o     VONAME = Operating Unit; KEY = Name = 'CAN OU'
    o     Group Name = 'Setup Business Group'
    o     ; EXCEPTION = Message not found. Application: PER, Message Name: HR_ORG_SOB_NOT_FOUND (Set of books not found for ‘Setup Business Group’)
    Example – technical or fwk error
    o     OAException: System Error: Procedure at Step 40
    o     Cause: The procedure has created an error at Step 40.
    o     Action: Contact your system administrator quoting the procedure and Step 40.
    Example – technical or fwk error
    o     Number of installed languages on source and target does not match.
    Edited by: Mugunthan on Apr 24, 2009 2:45 PM
    Edited by: Mugunthan on Apr 29, 2009 10:31 AM
    Edited by: Mugunthan on Apr 30, 2009 10:15 AM
    Edited by: Mugunthan on Apr 30, 2009 1:22 PM
    Edited by: Mugunthan on Apr 30, 2009 1:28 PM
    Edited by: Mugunthan on May 13, 2009 1:01 PM

    Mugunthan
    Yes we have applied 11i.AZ.H.2. I am getting several errors still that we trying to resolve
    One of them is
    ===========>>>
    Uploading snapshot to central instance failed, with 3 different messages
    Error: An invalid status '-1' was passed to fnd_concurrent.set_completion_status. The valid statuses are: 'NORMAL', 'WARNING', 'ERROR'FND     at oracle.apps.az.r12.util.XmlTransmorpher.<init>(XmlTransmorpher.java:301)
         at oracle.apps.az.r12.extractor.cpserver.APIExtractor.insertGenericSelectionSet(APIExtractor.java:231)
    please assist.
    regards
    girish

Maybe you are looking for

  • Possible to have dynamic number of subviews?

    Hi, I am writing a blogging application, with JSF, which allows unlimited nesting of comments. The structure of my Comment bean is like this: class Comment List replies; //list of Comments Therefore, I need to use recursion to display the comments wi

  • SF300 VLAN IP Address Issues

    I have purchased 3 SF300-48 switches to work with my Aironet AP1131AG wireless APs. I have now switched from 1 VLAN for everything to having a Guest_Wireless VLAN 200 as well as the default VLAN 1 for my Corporate_Network. The issue that I am having

  • I can't open .psd file

    says error:213:19

  • Adapter Enine monitoring with GUI

    Hi I'm stuck with situation where RWB is is broken (some java stuff) but otherwise XI (ver 3.0) is ok. I would need to see some asynchronous messages and to resend them but as GUI is my only tool at the moment there seems no way of resending a asynch

  • How to install the SAX on Window platform

    Currently I am doing a project using XML and java, however as I did not know how to setup SAX (Actually I have installed JDK already, but I do not know how to add the SAX package) and compile the file, I could not start my project, could anyone help?