Ever used the Table API (TAPI) with object type in the DB?

Hi all,
We are trying to generate the table API of a table that has a column defined by an object type. It works without problems if that column always has a value (is instantiated in object term). The problem is when we update a row where the column is null (all attributes of the object are null thus the object is not instantiated).
The "before update row" trigger of the Table API fails with error "ora-30625-method dispath on NULL SELF argument is disallowed".
Any of you guys made it work? If so, how?
Thanks

user8879206 wrote:
Hi friends,
I have a procedure with object type IN OUT parameters which is used for fetching status. We are calling this from Java. But I want to call it from oracle for testing purpose. I am trying from my end but not able to do it as of now. This is the first time I am dealing with object type.We need more information. What is wrong? Your code looked okay and you did not mention any Oracle errors. What is happening that should not be or not happening that should be?
You can call the procedure with a simple call in PL/SQL but will not be able to use it in SQL because 1) it is a procedure and 2) it has an OUT argument. A sample call should look something like (untested)
declare
   x rec2;
   y rec3;
begin
  --use the arguments rru was defined with as the arguments in the same order: types rec2 (x), rec3 (y)
  rru(x,y);
end;>
Any help would be appreciated.
Details are given below.
CREATE OR REPLACE TYPE REC1 AS OBJECT
(RELAY_USAGE VARCHAR2(30)
,STATE VARCHAR2(1)
TYPE REC AS TABLE OF REC1;
CREATE OR REPLACE TYPE REC2 AS OBJECT
(GSRN VARCHAR2(18)
,METERING_POINT_NAME VARCHAR2(80)
,RELAYS REC)
CREATE OR REPLACE TYPE REC3 AS OBJECT
(INFO VARCHAR2(2000)
,STATUS NUMBER
PROCEDURE RRU(
rcRelayControl IN OUT REC2
, rcResp IN OUT REC3)
IS
BEGIN
APKG.GetDetails(rcRelayControl, rcResp);
IF rcResp.Status = BPKG.iStatusFailure THEN
rcResp.Info := BPKG.Get_Message('20889', rcResp.Info);
END IF;
END RRU;
How to call this procedure in oracle?
Thanks.

Similar Messages

  • Ever used the Designer Table API (TAPI) with object type in the DB?

    Hi all,
    We are trying to generate the Oracle Designer table API of a table that has a column defined by an object type. It works without problems if that column always has a value (is instantiated in object term). The problem is when we update a row where the column is null (all attributes of the object are null thus the object is not instantiated).
    The "before update row" trigger of the Table API fails with error "ora-30625-method dispath on NULL SELF argument is disallowed".
    The code that fails is the following:
    cg$ind.TFO_DESCRIPTION :=(:new.TFO_DESCRIPTION IS NULL AND :old.TFO_DESCRIPTION IS NOT NULL )
    OR (:new.TFO_DESCRIPTION IS NOT NULL AND :old.TFO_DESCRIPTION IS NULL)
    OR NOT(:new.TFO_DESCRIPTION = :old.TFO_DESCRIPTION) ;
    In this example, cg$ind.TFO_DESCRIPTION is a boolean and the TFO_DESCRIPTION column is based on an object type.
    Thanks for any feedback or suggestions

    For a solution to this problem: I set down to write a relatively simple and small piece of code that we can use as post compiler or post generator. After we generated one or more TAPIs, we can run this post compiler to remedy the problem the TAPI has with Merge operations. The post compiler will fix the PL/SQL inside the database. It reads the TAPI objects using dbms_metadata, makes the simple change by manipulating the PL/SQL source and then recreates the objects using execute immediate. Using this post compiler, it takes but a few seconds to fix the merge flaw in all TAPIs in your application.
    http://technology.amis.nl/blog/index.php?p=842

  • Mapping refcursors with object types in a procedure

    Hi all,
    I need some help regarding the mapping of refcursors with object types .
    Example: Procedure "A" has object types as input/output parameters which lies in the Web Method Application as a API.
    We are creating a procedure "B" which has ref cursors as input/ouput parameters
    which will map to the Procedure "A"'s object type parameters.
    It will be highly needful for the solution.
    Regards
    Saugata

    Your pseudocode has a lot of steps in it, but you didn't say which step you need help with. Since I already covered going from a nested table type to a refcursor, I'll assume you want an example that goes the other way now, like from a refcursor to a nested table type. Here's one ...
    SQL>
    SQL>
    SQL> set serveroutput on
    SQL>
    SQL> create type nested_table_type as table of varchar2(14) ;
      2  /
    Type created.
    SQL> show errors
    No errors.
    SQL>
    SQL>
    SQL> create function func
      2    ( p_cursor in sys_refcursor )
      3    return nested_table_type
      4  as
      5    v_nested_table nested_table_type ;
      6  begin
      7
      8    fetch p_cursor bulk collect into v_nested_table ;
      9    return( v_nested_table );
    10
    11  end;
    12  /
    Function created.
    SQL> show errors
    No errors.
    SQL>
    SQL> select func( cursor( select dname from dept ) ) as nested_table from dual ;
    NESTED_TABLE
    NESTED_TABLE_TYPE('ACCOUNTING', 'RESEARCH', 'SALES', 'OPERATIONS')If your cursor selects objects instead of simple data types, the code is pretty much the same.
    SQL> create type object_type as object ( c1 varchar2(14), c2 varchar2(13) );
      2  /
    Type created.
    SQL> show errors
    No errors.
    SQL>
    SQL> create type nested_table_type as table of object_type ;
      2  /
    Type created.
    SQL> show errors
    No errors.
    SQL>
    SQL>
    SQL>
    SQL> create function func
      2    ( p_cursor in sys_refcursor )
      3    return nested_table_type
      4  as
      5    v_nested_table nested_table_type ;
      6  begin
      7
      8    fetch p_cursor bulk collect into v_nested_table ;
      9    return( v_nested_table );
    10
    11  end;
    12  /
    Function created.
    SQL> show errors
    No errors.
    SQL>
    SQL> select
      2    func( cursor( select object_type( dname, loc ) from dept ) ) as object_table
      3  from dual ;
    OBJECT_TABLE(C1, C2)
    NESTED_TABLE_TYPE
      ( OBJECT_TYPE('ACCOUNTING', 'NEW YORK'),
        OBJECT_TYPE('RESEARCH', 'DALLAS'),
        OBJECT_TYPE('SALES', 'CHICAGO'),
        OBJECT_TYPE('OPERATIONS', 'BOSTON')
      )(NB I manually reformated the query results for clarity).

  • Create a Navigational Hierarchy for filtering with the Table API

    Hello,
    I've built a WAD report acourding to the how to document: "Create a Navigational Hierarchy for filtering with the Table API".
    It works great but i dont know How to make the hirarchey to show the key and the text.
    Please Advice.
    David

    Hi Kenneth,
    please have a look in the source of the executed Web Application. What is inside of the <div> with the id filter?
    You should also find a td tag with id hier_xyz with xyz the filter inside of the <div>-Tag with id filter.
    Also check whether you have a javascript error.
    Have a look on the Javascript function set_style. Perhaps you can paste it here, than I can have a look.
    Heike

  • IDoc failed with the error massaeg "Instance of object type could not be ch

    Hi All
    I am getting IDoc failed with the error massaeg "Instance of object type could not be changed"
    Message type :PORDCR
    Basic type : PORDCR05
    Message no. BAPI003
    Status : 51
    All POs are get uploaded in SAP during Cut over activities only.
    Please suggest on this.It will be a great help.
    Thanks
    Ajit

    Hi
    After uploading POs into SAP we are changing quantity and value in PO in Legacy system, and for this all IDocs are failed, subsequently these changes are not triggering to ECC.
    Please help
    Thanks
    Ajit

  • I have an old PowerPC and a Macbook Pro running 10.6.7 sitting side by side. Both are using AirPort to connect to the internet wirelessly to the same router, but the old Mac connects with full bars, but the MBP struggles with only 2. Pls help, thanks!

    I have an old PowerPC running 10.4.11 and a Macbook Pro running 10.6.7 sitting side by side. Both are using AirPort to connect to the internet wirelessly to the same wireless router. The old Mac connects with full bars but the MBP struggles with only 2 bars. Pls help, thanks!

    BDAqua,
    Thanks for the response.
    Apple has used the term "Digital Audio" to identify this machine.  System Profiler has the following information:
    Machine Name:          Power Mac G4
      Machine Model:          PowerMac3,5
      CPU Type:          PowerPC G4  (2.1)
      Number Of CPUs:          1
      CPU Speed:          800 MHz
      L2 Cache (per CPU):          256 KB
      Memory:          768 MB
      Bus Speed:          133 MHz
      Boot ROM Version:          4.3.3f2
      Serial Number:          XBxxxxxMK9
      Sales Order Number:
    Yes, I could connect them by ethernet if all I wanted to do was transfer files, but I would like to network them so I could use wireless internet.  The machines are not always so close together, I did that to simplify the testing.  With the very slow transfer speeds I am reluctant to move ahead with the internet step. 
    <Edited By Host>

  • Is it possible to use the Mac mini as the start up disk with an older iMac (the basketball with moveable screen) as the monitor?

    I really, really love the moveable screen to our old desktop iMac, and would hate to lose that feature, but, let's face it, it isn't Intel.  Since you can use other hard drives as start-up disks, would it be possible to do so in this instance? and how difficult would it be?

    A slim chance, only if the new Mini was running a Universal version of 10.5.x, which the newest ones cannot.
    But, you could display & run the Mini on the old iMacs screen with Screen Sharing on the Mini, & the iMac using Chicken of the VNC...
    http://sourceforge.net/projects/cotvnc/files/cotvnc/Chicken%20of%20the%20VNC%202 .0b4/cotvnc-20b4.dmg/download
    Assuming the iMac is running an OSX version the CoVNC can use.

  • Restrictions with object types

    Hello
    Among other restrictions Oracle 8.1.7 does not support (1) change of definitions of types that have dependent data and (2)replication of object columns and object tables.
    (1) While it is possible to add columns to existing relational tables and even change the size of columns it is not possible to do so with object types. This may expose a significant limitation for schema migration and maintainance. Is there any other support for those requirements, any workarounds other than crafting table copy scripts from scratch?
    (2) This seems to make a couple of good things in Oracle unavailable with objects. No fault tolerance through replication? No standby database? What (development and runtime efficient) options remain with objects in that category?
    Do the limitations persist in Oracle 9i?
    What about tool support in Oracle 9i? DBA Studio, for example, is rather poor in dealing with objects in 8.1.7 - no browsing and management of object schema and data, you cannot even select an existing object type for a table column.
    Are there other restrictions one should be aware of before touching objects?
    Any experiences and information greatly appreciated.
    Thanks,
    Thomas
    null

    Thomas,
    Do you have some specific applications that you have in mind to use Oracle Objects? Do you plan to use type evolution and replication?
    Oracle9i Object-Relational Technology has reached a major milestone with several 'completeness' features. As Arvind pointed out, in Oracle9i, type evolution can propogate changes to dependents. Object replication is also supported in Oracle9i.
    Although Enterprize Management tools do provide easy-to-use GUIs, there are some limitations in handling Objects, especially when there are nesting involved. Fortunately, SQL*Plus can be used to remedy some of these limitations.
    Regards,
    Geoff

  • Declare object type inside the package

    Hi,
    How can I declare an object type inside the package?
    CREATE TYPE TempObj AS OBJECT (
    user_id number,
    text varchar2(4000),
    date_created DATE
    This will not work if placed inside this:
    CREATE OR REPLACE PACKAGE SAMPLE_PKG IS
    ---declaration goes here.
    END SAMPLE_PKG;
    I tried using the type RECORD and it worked. But I am just curious how to declare an Object. Or maybe RECORD is the replacement of Object? is this correct?
    thanks,
    Baldwin

    The inside of a PL/SQL package should contain PL/SQL statements.
    CREATE TYPE is not a PL/SQL statement. You can't create a table in package either.
    If data protection is the reason that you would rather create the type inside the package, then consider using a record type as you suggested, or hiding the SQL type in a more protected schema.
    Message was edited by:
    jonjac

  • DB Adapter - Calling Stored Procedure with Object Type

    So, we are using JDeveloper 10.1.3.3
    We are trying to create an ESB process that invokes a SP with an object type. However, the owner of the package / SP, is NOT the owner of the object type. When going through the DB Adapter wizard, it gives us the following error:
    When attempting to use the DB Adapter in JDeveloper to create a partner link to execute a stored procedure. JDeveloper returns the following error:
    Unable to import WSDL.
    Error while writing wsdl file
    Database type is either not supported or is not implemented.
    Check to ensure that the type of the parameter is one of the supported datatypes or that there is a collection or user defined type definition representing this type defined in the database.
    However, if I create a wrapper package / SP, it works just fine. I'd really like to not be having to create wrapper code for these SPs to work. Is this resolved in 11g? Is there a patch available for 10.1.3.3?
    I think this is a JDeveloper Wizard issue, but thought I'd post this here as well.
    Thanks,
    BradW

    This problem can be resolved by granting execute permission on the object type to the caller. For example, if the stored procedure is in schema1 and the object type is in schema2 then you would connect as schema2 and execute
    SQL> grant execute on <object type> to schema1
    Referencing object types defined in other schemas is documented. This is the described method for accessing object types in other schemas.

  • Ability to process several raw files with the same content but with different exposure into the single picture

    Can you add to the Lightroom an ability to process several raw files with the same content but with different exposure into the single picture?
    Base raw files can be given with exposure bracketing during shooting, for example.
    The goal - to get maximum details in darks and lights (if we use the "ligths recovery" or "fill lights" we lose the quality because raw file just have no all required information).
    The similar (but not the same, only the idea) thing - is High Dynamic Range Photography in Adobe Photoshop
    Thank you

    The plugin LR/Enfuse does this already. And of course Photomatix have a plugin available for Lightroom. This essentially amounts to pixel editing, which is beyond the range of Lightroom's metadata editing.

  • I start my mac book pro and the screen goes white with an apple in the middle

    I start my mac book pro and the screen goes white with an apple in the middle. Starts like charging  but then it turns
    off again

    Reinstall Snow Leopard without erasing the drive
    1. Repair the Hard Drive and Permissions
    Boot from your Snow Leopard Installer disc. After the installer loads select your language and click on the Continue button. When the menu bar appears select Disk Utility from the Utilities menu. After DU loads select your hard drive entry (mfgr.'s ID and drive size) from the the left side list.  In the DU status area you will see an entry for the S.M.A.R.T. status of the hard drive.  If it does not say "Verified" then the hard drive is failing or failed. (SMART status is not reported on external Firewire or USB drives.) If the drive is "Verified" then select your OS X volume from the list on the left (sub-entry below the drive entry,) click on the First Aid tab, then click on the Repair Disk button. If DU reports any errors that have been fixed, then re-run Repair Disk until no errors are reported. If no errors are reported click on the Repair Permissions button. Wait until the operation completes, then quit DU and return to the installer.
    If DU reports errors it cannot fix, then you will need Disk Warrior and/or Tech Tool Pro to repair the drive. If you don't have either of them or if neither of them can fix the drive, then you will need to reformat the drive and reinstall OS X.
    2. Reinstall Snow Leopard
    If the drive is OK then quit DU and return to the installer.  Proceed with reinstalling OS X.  Note that the Snow Leopard installer will not erase your drive or disturb your files.  After installing a fresh copy of OS X the installer will move your Home folder, third-party applications, support items, and network preferences into the newly installed system.
    Download and install Mac OS X 10.6.8 Update Combo v1.1.
    Reinstalling Lion/Mountain Lion Without Erasing the Drive
    Boot to the Recovery HD: Restart the computer and after the chime press and hold down the COMMAND and R keys until the menu screen appears. Alternatively, restart the computer and after the chime press and hold down the OPTION key until the boot manager screen appears. Select the Recovery HD and click on the downward pointing arrow button.
    Repair the Hard Drive and Permissions: Upon startup select Disk Utility from the main menu. Repair the Hard Drive and Permissions as follows.
    When the recovery menu appears select Disk Utility. After DU loads select your hard drive entry (mfgr.'s ID and drive size) from the the left side list.  In the DU status area you will see an entry for the S.M.A.R.T. status of the hard drive.  If it does not say "Verified" then the hard drive is failing or failed. (SMART status is not reported on external Firewire or USB drives.) If the drive is "Verified" then select your OS X volume from the list on the left (sub-entry below the drive entry,) click on the First Aid tab, then click on the Repair Disk button. If DU reports any errors that have been fixed, then re-run Repair Disk until no errors are reported. If no errors are reported click on the Repair Permissions button. Wait until the operation completes, then quit DU and return to the main menu.
    Reinstall Lion/Mountain Lion: Select Reinstall Lion/Mountain Lion and click on the Continue button.
    Note: You will need an active Internet connection. I suggest using Ethernet if possible because it is three times faster than wireless.

  • Any experience with Object Types and Forms6i / 9i ???

    Has anyone got any experience in working with Object Types and Object Views together with Forms 6i or 9i???
    TIA
    Rob Zoeteweij

    Hi AnneCarmen,
    Check this small video, http://project02.businesscatalyst.com/Jing/2012-07-13_0508.swf
    This is just an example where I am trying to demonstrate how the html embedded into the frame sticks to only one image and not to all the other images. Also, how to keep the thumbnails. Under menu options you can modify the transition and speed option as per your need.
    Regards,
    Abhishek Maurya

  • Can we list all the users or groups with there rights on the universe\s

    Can we list all the users or groups with there rights on the universe\s using query builder.
    Can we do the same by using auditor reports.
    PLZ  help

    Thanks ,
    It can be acihived by using secuirty viewer.
    Thanks again

  • [svn:fx-4.0.0] 14150: revert the rollback of revision# 13951 to have the automation swcs built with current version of the SDK

    Revision: 14150
    Revision: 14150
    Author:   [email protected]
    Date:     2010-02-12 12:36:19 -0800 (Fri, 12 Feb 2010)
    Log Message:
    revert the rollback of revision# 13951 to have the automation swcs built with current version of the SDK
    QE notes: no
    Doc notes: no
    Bugs: FLEXENT-1230
    Reviewer: lauren
    Tests run: checkintests
    Is noteworthy for integration: no
    Ticket Links:
        http://bugs.adobe.com/jira/browse/FLEXENT-1230
    Modified Paths:
        flex/sdk/branches/4.0.0/frameworks/libs/automation_agent.swc
        flex/sdk/branches/4.0.0/frameworks/libs/qtp.swc
        flex/sdk/branches/4.0.0/frameworks/libs/qtp_air.swc
        flex/sdk/branches/4.0.0/frameworks/locale/da_DK/automation_agent_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/da_DK/qtp_air_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/de_DE/automation_agent_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/de_DE/qtp_air_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/en_US/automation_agent_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/en_US/qtp_air_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/es_ES/automation_agent_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/es_ES/qtp_air_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/fi_FI/automation_agent_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/fi_FI/qtp_air_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/fr_FR/automation_agent_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/fr_FR/qtp_air_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/it_IT/automation_agent_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/it_IT/qtp_air_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/ja_JP/automation_agent_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/ja_JP/qtp_air_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/ko_KR/automation_agent_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/ko_KR/qtp_air_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/nb_NO/automation_agent_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/nb_NO/qtp_air_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/nl_NL/automation_agent_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/nl_NL/qtp_air_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/pt_BR/automation_agent_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/pt_BR/qtp_air_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/ru_RU/automation_agent_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/ru_RU/qtp_air_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/sv_SE/automation_agent_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/sv_SE/qtp_air_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/zh_CN/automation_agent_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/zh_CN/qtp_air_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/zh_tw/automation_agent_rb.swc
        flex/sdk/branches/4.0.0/frameworks/locale/zh_tw/qtp_air_rb.swc
    Removed Paths:
        flex/sdk/branches/4.0.0/frameworks/projects/automation_air/bundles/
        flex/sdk/branches/4.0.0/frameworks/projects/automation_dmv/bundles/
        flex/sdk/branches/4.0.0/frameworks/projects/automation_flashflexkit/bundles/
        flex/sdk/branches/4.0.0/frameworks/projects/automation_spark/bundles/
    Property Changed:
        flex/sdk/branches/4.0.0/

    Credit Tony E
    To downgrade to Firefox 3.6 first uninstall Firefox 4, but do not select the option to "Remove my Firefox personal data". If you select that option it will delete your bookmarks, passwords and other user data. See https://support.mozilla.com/kb/Uninstalling+Firefox
    You can then install the latest version of Firefox 3.6 available from http://www.mozilla.com/en-US/firefox/all-older.html - it will automatically use your current bookmarks, passwords etc.
    To avoid possible problems with downgrading, I recommend going to your profile folder and deleting the following files if they exist - extensions.cache, extensions.rdf, extensions.ini, extensions.sqlite and localstore.rdf. Deleting these files will force Firefox to rebuild the list of installed extensions, checking their compatibility, and reset toolbar customizations.
    For details of how to find your profile folder see https://support.mozilla.com/kb/Profiles

Maybe you are looking for

  • How can I format cells in numbers to display swim times?

    I need to list swim times in a numbers spread sheet.  Swim times are listed as 2:17.75, meaning 2 minutes, 17 seconds and 75 hundreths of a second.  Numbers automatically changes this to 2 m 17s and 750mm, or 2 h 18m 15s.  I have tried to make a cust

  • Error while inserting rows in a table

    Hi, We have recently migrated from 9i to 10g. We have a scheduled job out our DB which first deletes all the rows from a table and then inserts them back by selecting rows from 5 tables. This table has a composite primary key based on 6 columns in it

  • CitiBank Credit Card Nightmare - Please go back to Capital One

    I am ready to cancel my best buy credit card.  On December 27, 2013, there was fraud on my account (I believe from the Target breach from black friday sales).  Anyways, there was fraud and my card was canceled.  However, I didn't find this out until

  • Getting "an unknown error has occurred" when signing into apps store

    I'm getting "an unknown error has occurred' when I tried to sign into Apps Store from one of my Mac Air. This is the only device that is having sign in problem. I can sign into Apps Store from another Mac Air, iPad and PC. What gives?

  • PDF viewed on iPad external links didn't work

    I have a pdf made from InDesign CS5.5 with internal navigation links, and links to external websites. I looked at it on a new iPad G4 iOS 5.1 I opened it on Safari (would not download the pdf but would view) The internal links worked, the two flash p