How to use a package as an interface for doing DML on a tabular region?

Hello,
I want to build a page to perform DML. However, I want to use a package containing the procedures for the select, insert, update and delete statements. The reason is that there is a one-to-many relationship between the table shown on the screen and the tables in the database.
When the page is first displayed, I want to call the SELECT procedure.
When the user is done with their changes, I want to loop through the rows and perform
the DELETE procedure on all the deleted rows and
the UPDATE procedure on each modified row.
What is the easiest way to do this?
Where do I start reading/learning?
Thanks,
Gabor

Hi Gabor,
If you base your Tabular Form on a database view, you can use an INSTEAD OF trigger to invoke your package. Have a look at this article, which describes this technique with some example code:
http://rokitta.blogspot.com/2009/12/tabular-forms-on-complex-views-using.html
regards,
Christian

Similar Messages

  • How to use a case ststement in interface?

    how to use a case statement in interface?
    My requirement is in interface for one column for
    Eg: In source column if a.b=c.d then i need to write as "Source"
    else when a.c=d.e then i need to write as "Target".
    please can you help in solving this.
    Regards,
    Sridhar

    You will literally write in the "Implemenation", the following:
    Case when a.b=c.d then "Source"
    Else
    "Target"
    End

  • How to use utl_ftp package to transfer files from one system to another

    Hi all,
    How to use utl_ftp package to transfer files from one system to another using plsql procedure .
    I failed to find the appropriate document ,kindly help me .
    Thanks,
    P Prakash

    prakash wrote:
    I am sorry tell you, this blog is not enough to for me.It's not a blog, it's Chris' website where you download the package from. Once you download the package and unrar it, then the package spec gives instructions (and I think there's instructions on how to install it too).
    Kindly let me know if there is any oracle documentation for this .It's not an Oracle created package, it was created by Chris. It's based around the UTL_TCP package if you really want to get into the nitty gritty of how it works, but I don't think you do.

  • How to use DDE package in form 10g module

    Hi All,
    I am using DDE.package in form 10g for uploading excels data in oracle database at windows platform but it is showing non-oracle exception.
    Thanks

    hi
    mehwish............just do for attachment.......
    u can also use something like this...
    Execute send_mail;and also.
    try something like this..
    example:
    begin
    mahi.mail('email address','subject','message','attachment');
    end;Edited by: Sarah on Apr 18, 2011 10:25 AM

  • How to prevent JaxB creation of 2 Interfaces for each Element?

    hi,
    does any body know how to prevent JaxB creation of 2 Interfaces for each Element (The Content Interface and the element interface)?
    I want to configure JaxB to use only one Interface and only one implementation Class.
    Thank's,

    I am sorry I can not answer your question, I have got the same problem. Could you please email me to
    [email protected] when you know the answer, please.
    I have a question for you. When and complex type is validated, I get the object which contains the error. ( or objects ).
    However. How do know the position in the actual parent object. basically. Is there a way to know exactly the position of that attribute in that object. I need to store errors strings.
    The first problem derives from this one:
    It is not possible to execute validate function for a primitive attribute inside an structure.
    I would appreciate your help.
    Thanks.
    Gustavo.

  • How do use my ITunes balance to pay for Apps

    How do use my ITunes balance to pay for Apps?

    You just buy what you want.  If you have a credit (balance), it is automatically used before you are billed (if you run over your balance).
    How to manage unused iTunes Gift Card and Gift Certificate balances
    "Each time you purchase content, iTunes will deduct funds from the credit until it's depleted."

  • How to use "url.openStream()" . What this function does?

    how to use "url.openStream()" . What this function does?
    Edited by: sahil1287 on Apr 16, 2009 10:02 PM

    http://java.sun.com/javase/6/docs/api/java/net/URL.html#openStream()
    http://java.sun.com/docs/books/tutorial/networking/urls/readingWriting.html

  • How do I set up the port interface for the WAN side of my RVS4000 to 100T Full Duplex?

    How do I set up the port interface for the WAN side of my RVS4000? The ISP says I need to set it to 100T Full Duplex, but where would I do that? In the Router's administration GUI I can't find any options to make such settings for the WAN side.

    The setup of the folders in Finder is entirely up to you. Whatever suits your needs is what you should do. Lightroom will be fine no matter how you set it up.
    So I'm not really sure what your question is.

  • How to use same Data Type and Length for two fields

    How to use same data type and length for two fields when using 'FOR ALL ENTRIES IN' in a select statement? For instance the select queries are :
    SELECT bukrs gjahr belnr lifnr budat bldat zlspr dmbtr waers shkzg
    FROM bsik
    INTO TABLE it_bsik
    WHERE bukrs = p_bukrs
    AND lifnr IN s_lifnr.
    IF it_bsik IS NOT INITIAL.
    SELECT belnr gjahr awkey awtyp
    FROM bkpf
    INTO TABLE it_bkpf
    FOR ALL ENTRIES IN it_bsik
    WHERE belnr = it_bsik-belnr
    AND gjahr = it_bsik-gjahr.
    IF it_bkpf IS NOT INITIAL.
    SELECT belnr gjahr lifnr xblnr
    FROM rbkp
    INTO TABLE it_rbkp
    FOR ALL ENTRIES IN it_bkpf
    WHERE belnr = it_bkpf-awkey+0(10)
    AND gjahr = it_bkpf-awkey+10(4).
    ENDIF.
    ENDIF.
    Here it gives an error in the 3rd select query that 'When you use the addition "FOR ALL ENTRIES IN itab", the fields "GJAHR" and "IT_BKPF2-AWKEY+10(4)" must have the same type and the same length.'
    Kindly clarify.

    Hi Saurabh,
    Please see the example code that I have developed for you. It will help you solve the problem.
    REPORT ZTEST_3 .
    tables : BKPF.
    data : begin of it_bkpf occurs 1,
             belnr type RE_BELNR,
             awkey type awkey,
             awtyp type awtyp,
             gjahr type GJAHR,
           end of it_bkpf.
    data : begin of it_bkpf1 occurs 1,
             belnr type RE_BELNR,
             awkey type gjahr,              " change the data type
             awtyp type awtyp,
             gjahr type GJAHR,
           end of it_bkpf1.
    data : begin of it_rbkp occurs 1,
             belnr type BELNR_D,
             gjahr type gjahr,
             lifnr type LIFRE,
             xblnr type XBLNR,
           end of it_rbkp.
    select belnr
           awkey
           awtyp
           gjahr
           from bkpf
           into table it_bkpf
           where BUKRS = 'TELH'.
    loop at it_bkpf.
    it_bkpf1-belnr = it_bkpf-belnr.
    it_bkpf1-awkey = it_bkpf-awkey+10(4).           "Here only append the required length.
    it_bkpf1-awtyp = it_bkpf-awtyp.
    it_bkpf1-gjahr = it_bkpf-gjahr.
    append it_bkpf1.
    clear it_bkpf1.
    endloop.
    select  belnr
            gjahr
            lifnr
            xblnr
            from RBKP
            into table it_rbkp
            for all entries in it_bkpf1
            where belnr = it_bkpf1-belnr
    This is just an example. Change the fields according to your requirement.
    Regards
    Abhii
    Edited by: Abhii on Mar 9, 2011 9:08 AM

  • How to use a packaged Jar File?

    Greetings to everyone reading this post!
    I have a query about a thing that seems to be basic but I don't know how to accomplish, here it goes:
    I have packaged a Simple application into a Jar file. this application contains a package like this:
    lib.demo, inside this package I have a Class named MyClass with some simple methods like this one:
    public void sayHi(String name){
    //implementation here
    }Now, I would like to Know how to use the Method sayHI(String name) from an entirely different Project. I have successfully included the Jar File as a Library(in the new Project), but I have I no Clue on How to invoke a Class inside my Jar library, and more Importantly, a method.
    Could anybody help me?

    if the "project" (not a Java-related system, it's IDE-specific) already includes the JAR file in its classpath (library), then all you need is to import the package/class and invoke the method, as such:
    // in your client code:
    import lib.demo.*;         // or, import lib.demo.MyClass;
    public class Test {
      public void inAMethod() {
        MyClass myC = new MyClass();
        myC.sayHi("say hi"); 
    }simple.

  • How to use Salary packaging in ESS...?

    Hi All,
    We are using ESS 1.0, Webdynpro 600 (EP 7.0).
    Is there any standard service for Salary packaging compare (employee perspective) to re-structure his salary components ?
    I found tcode : P16B in ECC 6.0.
    But I donno how to use and customize it. Please shade some light regarding the same...... what are prerequisites for this tcode ?
    Looking forward to your responses. Appreciate your help in advance. Usefull answers would be rewarded full points.
    Regards,
    Anil Kumar

    Hi Sakti,
    We are using India Country Grouping - 40.
    When I enter the tcode - p16b from end user;s logon, it says transaction cannot be performed.
    Please let me know your inputs for the same.
    Regards,
    Anil Kumar

  • How to use the Packager for iPhone ?

    Hi What`s up guys??
    I Download the Packager for iPhone and i can`t used this ?
    please help me and show me in picture how to use this.

    my question about http://labs.adobe.com/technologies/packagerforiphone/ package.

  • How to use the packager with Flash?

    Hi all,
    I've installed the packager, but I can't see any difference inside Flash CS5 editor or any new menus like "Export" or "Package"
    Does it work from within the editor or does it only compile AS3 files?
    Can I turn a Flash project which has an .fla file with some timeline animation, manually created MovieClips etc into a iOS app using the packager?
    Is there any tutorial how to do it?
    Thanks!

    I'm compiling a public list of useful links for exactly these sorts of situations: http://forums.adobe.com/thread/785692
    Have you installed the latest updates to Flash CS5? They are the first 2 links under "Downloads and Official Documentation" in the link above. Then you should be able to start a new project in Flash and specify "iPhone OS". From there, try to follow Adobe's official documentation until it doesn't work properly, then come back, search around for others talking about the same issues, or start a new thread that is more specific.
    Hope that helps a bit.

  • How to use third party usb 485 interface

    I have a third party usb-485 interface that we frequently use within our company and want to be able to use Labview to create a program to talk to our systems. The interface is a kk systems usb-rs485 isolated converter which I have been able to recognise in MAX explorer after using the NI VISA driver wizard but I am unsure how to now use it for 485 comms within Labview. I don't seem to be able to detect it with the VISA configure serial port vi. I have used the NI usb-485 interface before and found this quite easy to set up but am not sure how to use this third party interface. I have attatched screen shots of the MAX window to show what it is seeing. Any help would be greatly appriciated.
    Attachments:
    MAX usb 485 screen shot.PNG ‏102 KB
    MAX usb 485 screen shot2.PNG ‏120 KB

    I have undone everything as recommended and the comm port does appear in the devices tree but when I try to use the device I don't seem to be able to get any response even though I can select the port as the VISA device name in my vi. I am pretty sure I have the baud rate etc.set the same as when we use the interface in other software,is there something else I need to do? I am using the rs485 example in labview as my code which works with the ni-usb485 we have. 

  • Please show how to use UTL_DBWS package?

    I've been digging around google but unable to find any or working example using this package. Oracle document is not much help in this. I've install all the necessary file to get this running. I just need a little kick start and if some one have use this before, please help. Here is what I am trying to consume.
    ----sample wdsl---
    <?xml version="1.0" encoding="utf-8" ?>
    - <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="sangle" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="sangle" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Web Service to Authenticate and Manage slb_webservice</wsdl:documentation>
    - <wsdl:types>
    - <s:schema elementFormDefault="qualified" targetNamespace="sangle">
    - <s:element name="Authenticate">
    - <s:complexType>
    - <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    - <s:element name="AuthenticateResponse">
    - <s:complexType>
    - <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="AuthenticateResult" type="s:boolean" />
    </s:sequence>
    </s:complexType>
    </s:element>
    - <s:element name="GetRecord">
    - <s:complexType>
    - <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="email" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    - <s:element name="GetRecordResponse">
    - <s:complexType>
    - <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="GetRecordResult" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    - <s:element name="AddUser">
    - <s:complexType>
    - <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="email" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    - <s:element name="AddUserResponse">
    - <s:complexType>
    - <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="AddUserResult" type="s:boolean" />
    </s:sequence>
    </s:complexType>
    </s:element>
    - <s:element name="DeleteUser">
    - <s:complexType>
    - <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    - <s:element name="DeleteUserResponse">
    - <s:complexType>
    - <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="DeleteUserResult" type="s:boolean" />
    </s:sequence>
    </s:complexType>
    </s:element>
    - <s:element name="EditUser">
    - <s:complexType>
    - <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="email" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    - <s:element name="EditUserResponse">
    - <s:complexType>
    - <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="EditUserResult" type="s:boolean" />
    </s:sequence>
    </s:complexType>
    </s:element>
    - <s:element name="ReturnName">
    - <s:complexType>
    - <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    - <s:element name="ReturnNameResponse">
    - <s:complexType>
    - <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="ReturnNameResult" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    - <s:element name="ReturnEmail">
    - <s:complexType>
    - <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    - <s:element name="ReturnEmailResponse">
    - <s:complexType>
    - <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="ReturnEmailResult" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:schema>
    </wsdl:types>
    - <wsdl:message name="AuthenticateSoapIn">
    <wsdl:part name="parameters" element="tns:Authenticate" />
    </wsdl:message>
    - <wsdl:message name="AuthenticateSoapOut">
    <wsdl:part name="parameters" element="tns:AuthenticateResponse" />
    </wsdl:message>
    - <wsdl:message name="GetRecordSoapIn">
    <wsdl:part name="parameters" element="tns:GetRecord" />
    </wsdl:message>
    - <wsdl:message name="GetRecordSoapOut">
    <wsdl:part name="parameters" element="tns:GetRecordResponse" />
    </wsdl:message>
    - <wsdl:message name="AddUserSoapIn">
    <wsdl:part name="parameters" element="tns:AddUser" />
    </wsdl:message>
    - <wsdl:message name="AddUserSoapOut">
    <wsdl:part name="parameters" element="tns:AddUserResponse" />
    </wsdl:message>
    - <wsdl:message name="DeleteUserSoapIn">
    <wsdl:part name="parameters" element="tns:DeleteUser" />
    </wsdl:message>
    - <wsdl:message name="DeleteUserSoapOut">
    <wsdl:part name="parameters" element="tns:DeleteUserResponse" />
    </wsdl:message>
    - <wsdl:message name="EditUserSoapIn">
    <wsdl:part name="parameters" element="tns:EditUser" />
    </wsdl:message>
    - <wsdl:message name="EditUserSoapOut">
    <wsdl:part name="parameters" element="tns:EditUserResponse" />
    </wsdl:message>
    - <wsdl:message name="ReturnNameSoapIn">
    <wsdl:part name="parameters" element="tns:ReturnName" />
    </wsdl:message>
    - <wsdl:message name="ReturnNameSoapOut">
    <wsdl:part name="parameters" element="tns:ReturnNameResponse" />
    </wsdl:message>
    - <wsdl:message name="ReturnEmailSoapIn">
    <wsdl:part name="parameters" element="tns:ReturnEmail" />
    </wsdl:message>
    - <wsdl:message name="ReturnEmailSoapOut">
    <wsdl:part name="parameters" element="tns:ReturnEmailResponse" />
    </wsdl:message>
    - <wsdl:portType name="Mini_x0020_PassportSoap">
    - <wsdl:operation name="Authenticate">
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Method to Authenticate slb_webservice</wsdl:documentation>
    <wsdl:input message="tns:AuthenticateSoapIn" />
    <wsdl:output message="tns:AuthenticateSoapOut" />
    </wsdl:operation>
    - <wsdl:operation name="GetRecord">
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Method to response with sqlStr</wsdl:documentation>
    <wsdl:input message="tns:GetRecordSoapIn" />
    <wsdl:output message="tns:GetRecordSoapOut" />
    </wsdl:operation>
    - <wsdl:operation name="AddUser">
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Method to Add User</wsdl:documentation>
    <wsdl:input message="tns:AddUserSoapIn" />
    <wsdl:output message="tns:AddUserSoapOut" />
    </wsdl:operation>
    - <wsdl:operation name="DeleteUser">
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Method to Delete User</wsdl:documentation>
    <wsdl:input message="tns:DeleteUserSoapIn" />
    <wsdl:output message="tns:DeleteUserSoapOut" />
    </wsdl:operation>
    - <wsdl:operation name="EditUser">
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Method to Edit User Information</wsdl:documentation>
    <wsdl:input message="tns:EditUserSoapIn" />
    <wsdl:output message="tns:EditUserSoapOut" />
    </wsdl:operation>
    - <wsdl:operation name="ReturnName">
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Method to Obtain User Name</wsdl:documentation>
    <wsdl:input message="tns:ReturnNameSoapIn" />
    <wsdl:output message="tns:ReturnNameSoapOut" />
    </wsdl:operation>
    - <wsdl:operation name="ReturnEmail">
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Method to obtain User Email Address</wsdl:documentation>
    <wsdl:input message="tns:ReturnEmailSoapIn" />
    <wsdl:output message="tns:ReturnEmailSoapOut" />
    </wsdl:operation>
    </wsdl:portType>
    - <wsdl:binding name="Mini_x0020_PassportSoap" type="tns:Mini_x0020_PassportSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    - <wsdl:operation name="Authenticate">
    <soap:operation soapAction="sangle/Authenticate" style="document" />
    - <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    - <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    - <wsdl:operation name="GetRecord">
    <soap:operation soapAction="sangle/GetRecord" style="document" />
    - <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    - <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    - <wsdl:operation name="AddUser">
    <soap:operation soapAction="sangle/AddUser" style="document" />
    - <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    - <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    - <wsdl:operation name="DeleteUser">
    <soap:operation soapAction="sangle/DeleteUser" style="document" />
    - <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    - <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    - <wsdl:operation name="EditUser">
    <soap:operation soapAction="sangle/EditUser" style="document" />
    - <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    - <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    - <wsdl:operation name="ReturnName">
    <soap:operation soapAction="sangle/ReturnName" style="document" />
    - <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    - <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    - <wsdl:operation name="ReturnEmail">
    <soap:operation soapAction="sangle/ReturnEmail" style="document" />
    - <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    - <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    - <wsdl:binding name="Mini_x0020_PassportSoap12" type="tns:Mini_x0020_PassportSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    - <wsdl:operation name="Authenticate">
    <soap12:operation soapAction="sangle/Authenticate" style="document" />
    - <wsdl:input>
    <soap12:body use="literal" />
    </wsdl:input>
    - <wsdl:output>
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    - <wsdl:operation name="GetRecord">
    <soap12:operation soapAction="sangle/GetRecord" style="document" />
    - <wsdl:input>
    <soap12:body use="literal" />
    </wsdl:input>
    - <wsdl:output>
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    - <wsdl:operation name="AddUser">
    <soap12:operation soapAction="sangle/AddUser" style="document" />
    - <wsdl:input>
    <soap12:body use="literal" />
    </wsdl:input>
    - <wsdl:output>
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    - <wsdl:operation name="DeleteUser">
    <soap12:operation soapAction="sangle/DeleteUser" style="document" />
    - <wsdl:input>
    <soap12:body use="literal" />
    </wsdl:input>
    - <wsdl:output>
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    - <wsdl:operation name="EditUser">
    <soap12:operation soapAction="sangle/EditUser" style="document" />
    - <wsdl:input>
    <soap12:body use="literal" />
    </wsdl:input>
    - <wsdl:output>
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    - <wsdl:operation name="ReturnName">
    <soap12:operation soapAction="sangle/ReturnName" style="document" />
    - <wsdl:input>
    <soap12:body use="literal" />
    </wsdl:input>
    - <wsdl:output>
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    - <wsdl:operation name="ReturnEmail">
    <soap12:operation soapAction="sangle/ReturnEmail" style="document" />
    - <wsdl:input>
    <soap12:body use="literal" />
    </wsdl:input>
    - <wsdl:output>
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    - <wsdl:service name="Mini_x0020_Passport">
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Web Service to Authenticate and Manage slb_webservice</wsdl:documentation>
    - <wsdl:port name="Mini_x0020_PassportSoap" binding="tns:Mini_x0020_PassportSoap">
    <soap:address location="http://sangle-l-ofs.nam.slb.com/webserv/miniPassport.asmx" />
    </wsdl:port>
    - <wsdl:port name="Mini_x0020_PassportSoap12" binding="tns:Mini_x0020_PassportSoap12">
    <soap12:address location="http://sangle-l-ofs.nam.slb.com/webserv/miniPassport.asmx" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    ----end----
    Here is my function
    ----begin copy/paste---
    CREATE OR REPLACE FUNCTION CONCUR_ADMIN.slb_webserv_call (p_stock_code IN VARCHAR2)
    RETURN VARCHAR2
    AS
    l_service UTL_DBWS.service;
    l_call UTL_DBWS.call;
    l_result ANYDATA;
    l_wsdl_url VARCHAR2(1024);
    l_service_name VARCHAR2(200);
    l_operation_name VARCHAR2(200);
    l_input_params UTL_DBWS.anydata_list;
    BEGIN
    l_wsdl_url := 'http://sangle-l-ofs.nam.slb.com/webserv/miniPassport.asmx';
    l_service_name := 'Mini_x0020_Passport';
    l_operation_name := 'ReturnEmail';
    l_service := UTL_DBWS.create_service (
    wsdl_document_location => URIFACTORY.getURI(l_wsdl_url),
    service_name => l_service_name);
    l_call := UTL_DBWS.create_call (
    service_handle => l_service,
    port_name => NULL,
    operation_name => l_operation_name);
    l_input_params(1) := ANYDATA.ConvertVarchar2(p_stock_code);
    l_result := UTL_DBWS.invoke (
    call_handle => l_call,
    input_params => l_input_params);
    UTL_DBWS.release_call (call_handle => l_call);
    UTL_DBWS.release_service (service_handle => l_service);
    RETURN ANYDATA.AccessNumber(l_result);
    EXCEPTION
    WHEN OTHERS THEN
    RETURN NULL;
    END;
    ---end----
    This is my first experience with SOAP so please be gentle. Thanks.

    I am implying that there is documentation in Metalink about the UTL_DBWS package and that it is in Metalink Note given above.
    Since you asked, I now assume that you do not have access to Oracle's Support site called Metalink. If not, perhaps you could ask your colleagues to extract that note for you.

Maybe you are looking for