How to call custom API in ODI

Hi All,how to call custom API in ODI and how can multiple people run the scenario at same time. I explained my process below
1. Through ODI console pass parameter (file name) to scenario and read the file form configured location
2. Insert the data from flat file to custom table
3. Call custom API
4. Generating a report in ODI in same location where we read the file from. Creating sample report just reading from custom table
5. The above design should be such that multiple people can run the scenario at same time.
can any one help me on step 3 and step 5 how to go forward..
Thanks in Advance.
Edited by: 981371 on Mar 4, 2013 3:19 AM

You can invoke java api in the procedure or KM tasks. You can select Jython technology type and can call the custom java API.
You may find relevant info at
http://docs.oracle.com/cd/E23943_01/integrate.1111/e12643/procedures.htm#CHDIDDFE
http://docs.oracle.com/cd/E23943_01/integrate.1111/e12645/intro.htm#sthref5
http://docs.oracle.com/cd/E23943_01/integrate.1111/e12645/api_intro.htm#CEGFCFHC
You can directly put DB functions in the your mapping expressions.

Similar Messages

  • How to call an API through Forms

    Hi,
    I want to call 'inv_quantity_tree_pub.query_quantities' from a custom form developed using Template.fmb.
    It is displaying error that 'remote package can not be called '.
    can any one help me on this issue.

    Hi;
    What is your OS?
    Please check below which could be helpful for your issue
    Oracle E-Business Suite Java APIs for Forms Troubleshooting Guide, Release 12 [ID 966982.1]
    http://drupal.org/node/751826
    http://oracle.ittoolbox.com/groups/technical-functional/oracle-dev-l/how-to-call-windows-apis-through-oracle-forms-developer-6i-1082381
    Regard
    Helios

  • Photoshop CS6 could not update successfully.  Error codes Adobe Photoshop 13.0.1.3 Installation failed. Error Code: U44M1P7  Extension Manager 6.0.8 Update Installation failed. Error Code: U44M1P7  Please help me figure out how to call customer service. 

    Photoshop CS6 could not update successfully.  Error codes Adobe Photoshop 13.0.1.3 Installation failed. Error Code: U44M1P7  Extension Manager 6.0.8 Update Installation failed. Error Code: U44M1P7  Please help me figure out how to call customer service.  I would prefer to talk to someone directly.

    Are you using any disk cleaner or optimization tools like CleanMymac or Mackeeper?
    Regards,
    Ashutosh

  • How to call Java API from BSP?

    I have a requirement to call Java API from BSP application.
    I have checked the forum and found that it is possible by using some ABAP codes.
    However there is no pointer on how this is done.
    Can someone explain the details on how to call Java API from BSP is done?
    I found class CL_EJB_JAVA_OBJECT_METHODS to call a method in EJB but can't find function or SAP class to call Java API.
    Actually is there any BSP extention which can used to call Java API?
    Thanks,
    Hendri

    check out these weblogs, it should give you an idea how to go about it.
    /people/ignacio.hernndez/blog/2006/12/04/speech-synthesis-listen-the-application-server-is-talking-to-you
    /people/puru.govind/blog/2006/12/20/let-abap-speak
    Regards
    Raja

  • How to call SOAP API from JavaScript

    Hi,
    I'm trying to call the SOAP API to get statistics about emails. Are there any examples on how to call the API from JavaScript?
    Here is a link to my original question about using the REST API. REST API URL for email statistics
    Thanks,
    Tim

    Tim,
    In order to consume a SOAP API I recommend you use something other than JavaScript.
    Any platform can offer you a good SOAP client should be OK. (.Net, Java, php, Ruby, python).
    I didn't see anyone successfully used javascript and consume the Eloqua SOAP API.
    I know you can create a SOAP client in Java script but it will be too much work to handle the Eloqua response in some cases.
    Regards,
    Daniel

  • How to Call Custom BPEL Process using JSP

    Hi All,
    I m not able to find out the way " How to deploy Custom BPEL process using JSP." Suppose I m Designing my custom BPEL process , and I want to call process through JSP.
    In order to call the BPEL process using JSP I may get the Reference from Oracle guide, But it is for Existing Example like Hello world, Order Booking.
    But I am facing the problem in order to call the Custom BPEL process.
    In case of Oracle Example it looks Simple but How to call Custom BPEL process using JSP.
    Please help me.
    Thanks&Regards
    Devesh Mishra

    hi
    The BPEL Developer guide give the way to Locate the service.can you please specify where you are getting the problem.
    Thanks,
    Sivakumar

  • How to call excel macros in ODI

    Hi gurus,
    I am new In ODI please help me with this. i want to store sheet name of excel file in a variable.I have written a macro function for this please help me how to call that macro function in ODI
    Thanks & regards

    this are my thoughts ,since you will have to deal with multiple files and read multiple sheets . While dealing with Excel ,we have to deal with DSN and so multiple Excel can a be a little complex.
    I think we can make use of your macro function by calling via VB and once you find the correct value write a in separate txt File. Now this File can be called in ODI and read and processed as you wish to .
    Step 1. Call your Macro Function via VB
    Step 2. Call this VB program via OS Command, which write to a separate file.
    Step 3. Call this variable and read from the file via this methods http://odiexperts.com/?p=243 , http://odiexperts.com/?p=273.
    Does this helps you .

  • How to use custom API's

    Hi All,
    In OIM how can i use my own/Custom API"S. Wher do i need to place the Jar/Class files. Like in other Identity Management tools (I only have the experience of SUN) you can place the files under WEB-INF/lib or WEB-INF/classes and then can easily use them, does OIM provides this/similar kind of functionality and how we can use that.

    Hi,
    If you want to use custom API to create adapter then put the jar file in <OIM_Install>/xellerate/Java Task/
    folder and if you want to use them to create task Schedular then put it in <OIM_Install>/xellerate/Schedular/
    regards

  • How to call Custom RFC enabled Function Module in R/3 From XI

    Hi Experts,
    I want to call custom RFC enabled Function Module by sending some input parameters from XI.
    How to do this
    Thnx
    RAMS

    Hi RAMS,
    1. Under the SWCV Go to the Imported Objects.
    2. Right click on the RFC and click on the Import of SAP object.
    3. Give the logon server name, system number the user name and pasword.
    4. Select the RFC u want to import.
    5. Execute the import and the RFC is imported under the SWCV.
    Now u can use this Imported RFC in the scenarios of that SWCV.
    Regards
    Santhosh
    Remember to set the thread to solved when you have received a solution

  • How to call Oracle Procedure into ODI

    Hi,
    I'm using ODI 10g.
    Before executing the interface in a package i wanted to place my Procedure.
    I created following procedure in d/b (target)
    CREATE OR REPLACE PROCEDURE TEST_MY_NEW_PROCE
    AS
    BEGIN
    DELETE FROM EMPLOYEE_TABLE
    WHERE EMPLOPYEE_ID LIKE 'P%';
    COMMIT;
    END;
    The Procedure is working fine in target database.
    Now, before executing my interface i would like to run this procedure in my package. So, can some one please help me how to call this oracle procedure (Created in Target schema) into ODI and run this.
    thank you.

    Hi GRK,
    You can create an ODI procedure, add a single step, choose Oracle as Technology and your target schema.
    Then just call it through a pl/sql block :
    BEGIN
    TEST_MY_NEW_PROCE;
    END;Then drag this ODI procedure in your package.
    Regards,
    JeromeFr

  • How to call custom BSP application (copied from standard)

    Hi,
    I came across 1 interesting link in SDN.
    [Enhancement procedure of BSP application HRRCF_RECRUITER in eRecruitment]
    My requirement is also similar.
    I need to copy the HRRCF_TRM_SRCH application.
    I know how to make the changes for the logic (like copying the standard controller & iterator class etc.)
    But I donu2019t know how to call the custom BSP application.
    One requirement is, I need to call a BSP application, in which there are only UI(user interface/screen) changes .
    That is, if there are only changes made to hitlist_cand.bsp page . And no changes made to hitlist_cand.do page.
    Eg: Removing one button from screen.
    Second requirement is, I need to call a BSP application in which there are logic changes also.
    (I know how to  change the standard controller class to custom class)
    Eg: Changing logic of button.
    We tried renaming the application name from standard to custom one (with Namespace=SAP itself, though it gave a warning) in the table T77RCF_LOG_APPL .
    Then we used this name to configure the start page link. But still the execution control is going to standard page & not to custom BSP application.
    How will I know which BSP application(Appl A), is calling the BSP application (Appl B) in which I want to make changes ?
    The starting application is HRRCF_START_INT.
    Would really appreciate solutions posted.
    Thanks,
    Nisha Vengal.

    Hi Nisha,
    I think you have an issue to call custom BSP.
    -     Ignore the warning message (in the table T77RCF_LOG_APPL) as it is just a warning message. I did not touch start page link at all.
    -     Additionally you need to make (I had to made) an entry in table u2018V77RCF_SMG_NAVIu2019.
    Let me know, if you need anything else.
    ...Naddy

  • How to call Custom or Component Controller methods from View Controller

    Hy Guys,
    how do I call Custom Controller or Component controller methods from a View or Context Controlller?
    thanks in advance
    Jürgen

    Hi Juergen
    Yes it is possible, pls follow the below approach to access the component controller in context node class
    1) since the standard component controller class is protect variable , declare a variable of type component controller in your controller class.
    say for example the public variable you declared is  g_comp_controller
    2)  now redefine the controller class method WD_CREATE_CONTEXT  and add the below lines of code
       g_comp_controller ?= me->comp_controller.
    3) go to context node class  (CNXX)  there declare the varaible which of type controller class (IMPL)  as public variable, for example g_owner
    4) redefine the method  IF_BSP_MODEL~INIT  and write the below code
         CALL METHOD super->if_bsp_model~init
        EXPORTING
          id    = id
          owner = owner.
      g_owner ?= owner.
    5) now the variable   g_owner  that is declared in  (CNXX)   contains reference to your controller class
    6) in  on_new_focus  method access your component controller in the below manner and access the entities also.
    DATA: lv_owner                    TYPE REF TO xxxxx_impl,  " Implementation class
                 lr_comp_cont                TYPE REF TO xxxx_bspwdcomponen_impl, " component controller class
                 lv_entity type ref to cl_crm_bol_entity.
    lv_owner ?= g_owner.
    lr_comp_cont    ?= lv_owner->g_comp_controller.
    IF lr_comp_cont IS BOUND.
       lv_entity ?= lr_comp_cont->typed_context->mdfcampaign->collection_wrapper->get_current( ).
    now lv_entity contains the value of component controller context node.
    Thanks & Regards
    Raj
    Edited by: bmsraj on Sep 27, 2011 3:28 PM

  • How to call remote API from root SharePoint 2013 domain (not an app)

    I'm trying to follow the article
    http://msdn.microsoft.com/en-us/library/office/fp179895%28v=office.15%29.aspx
    For a SharePoint 2013 hosted under O365, do I need to create an app to use the SP.* methods in sp.js? I need to call a remote API from the root domain (https://mycompany.sharepoint.com). But the app, as mentioned in the article
    above, deploys on a whole different URL (https://mycompany-a2d3f4t454.sharepoint.com).
    I need to be able to call the API from pages like https://mycompany.sharepoint.com/pages/default.aspx. Is this not possible?

    Hi,
    According to your description, my understanding is that you want to call remote API from the root domain site.
    Yes, you can use SharePoint hosted app to achieve it. SharePoint hosted app has app web and host web, you can create an app to call the remote api in the host web from app web.
    Here are some detailed articles for your reference:
    http://blog.ctp.com/2014/06/23/data-access-in-sharepoint-hosted-apps/
    http://msdn.microsoft.com/en-us/library/office/fp179925(v=office.15).aspx
    Best Regards
    Zhengyu Guo
    TechNet Community Support

  • How to call Soap API plsql package with ws security ?

    Hi all,
    I want to consume a webservice which comes with the basic authentication (username and password in soap header).
    By calling Soap api through a anonymous block shows this error
    "Error report:
    ORA-20000: wsse:InvalidSecurity - Missing &lt;wsse:Security&gt; in SOAP Header
    ORA-06512: at "APPS.SOAP_API", line 124
    ORA-06512: at "APPS.SOAP_API", line 157
    ORA-06512: at line 76
    20000. 00000 -  "%s"
    *Cause:    The stored procedure 'raise_application_error'
               was called which causes this error to be generated.
    *Action:   Correct the problem as described in the error message or contact
               the application administrator or DBA for more information."
    My Anonymous Block is:
    set serveroutput on
    declare
      l_request   soap_api.t_request;
      l_response  soap_api.t_response;
      l_return    VARCHAR2(32767);
      l_url          VARCHAR2(32767);
      l_namespace    VARCHAR2(32767);
      l_method       VARCHAR2(32767);
      l_soap_action  VARCHAR2(32767);
      l_result_name  VARCHAR2(32767);
      l_envelope       VARCHAR2(32767);
    BEGIN
       l_url         := 'my wsdl url';                                 -- i provided the original URL in my actual code
      l_namespace   := 'xmlns="my namespace"';       -- same here
      l_method      := 'get_details';                              -- same here
      l_soap_action := 'my soap action';                        -- same here
      l_result_name := 'REQUEST_STAT';
      l_request := soap_api.new_request(p_method       => l_method,
                                        P_Namespace    => L_Namespace);
       soap_api.add_parameter(p_request => l_request,
                             p_name    => 'Username',
                             p_type    => '',
                             p_value   => 'user1');
      soap_api.add_parameter(p_request => l_request,
                             p_name    => 'Password',
                             P_Type    => '',
                             p_value   => 'passwd');
      soap_api.add_parameter(p_request => l_request,
                             p_name    => 'empid',
                             p_type    => '',
                             p_value   => '9989');
      soap_api.add_parameter(p_request => l_request,
                             p_name    => 'emp_TYPE',
                             P_Type    => '',
                             p_value   => 'COCD');
      soap_api.add_parameter(p_request => l_request,
                             p_name    => 'name',
                             P_Type    => '',
                             p_value   => 'Danny');
      soap_api.add_parameter(p_request => l_request,
                             p_name    => 'STATUS',
                             P_Type    => '',
                             p_value   => 'pending');
      soap_api.add_parameter(p_request => l_request,
                             p_name    => 'mgr_name',
                             P_Type    => '',
                             P_Value   => 'Auditore');
      soap_api.add_parameter(p_request => l_request,
                             p_name    => 'ADDRESS',
                             P_Type    => '',
                             p_value   => '13 new street');
      soap_api.add_parameter(p_request => l_request,
                             p_name    => 'PHONE',
                             P_Type    => '',
                             p_value   => '123456');
      l_Response := Soap_Api.Invoke(P_Request => l_Request,
                                    P_Url     => l_Url,
                                   P_Action  => L_Soap_Action);
      l_return := soap_api.get_return_value(p_response  => l_response,
                                            p_name      => l_result_name,
                                            P_Namespace => Null);
    -- DBMS_OUTPUT.put_line(l_return );                                    
    END;
    I have Two questions :
    1) Where to give the soap header details ?
    2) In my soap header am also having the header atributes like "Responsiblity" ,"Resp Application" ,"Security Group" ,"Language" ,"Org ID"
    Where to give these values in my anonymous block?
    My Request.xml looks like this:
    <soapenv:Header>
        <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
             <wsse:UsernameToken wsu:Id="UsernameToken-4" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
                <wsse:Username>user1</wsse:Username>
                <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">passwd</wsse:Password>
             </wsse:UsernameToken>
          </wsse:Security>
          <sr:SOAHeader>
             <!--Optional:-->
             <sr:Responsibility>PURCHASING_SUPER_USER</sr:Responsibility>
             <!--Optional:-->
             <sr:RespApplication>PO</sr:RespApplication>
             <!--Optional:-->
             <sr:SecurityGroup>standard</sr:SecurityGroup>
             <!--Optional:-->
             <sr:NLSLanguage>american</sr:NLSLanguage>
             <!--Optional:-->
             <sr:Org_Id></sr:Org_Id>
          </sr:SOAHeader>
       </soapenv:Header>
       <soapenv:Body>
          <get:InputParameters>
             <!--Optional:-->
             <get:EMP_NUMBER>9969</get:EMP_NUMBER>
             <!--Optional:-->
             <get:EMP_TYPE></get:EMP_TYPE>
             <!--Optional:-->
             <get:name></get:name>
             <!--Optional:-->
             <get:STATUS></get:STATUS>
             <!--Optional:-->
             <get:MGR_NAME></get:MGR_NAME>
             <!--Optional:-->
             <get:ADDRESS></get:ADDRESS>
             <!--Optional:-->
             <get:PHONE></get:PHONE>
          </get:InputParameters>
       </soapenv:Body>
    </soapenv:Envelope>

    Hi Arik,
    Thanks for the reply. I got the solution by configuring a NonXA data source. The problem was with internal commits of the fnd_global.initialize api.
    If the DB adapter is calling aPL/SQL procedure (written inside a pakcage) using the data source configured to support XA, will expect not to have any commits in side the procedure or anywhere, the XA driver will take of the commits and whole transactions. By default the FND_GLOBAL.INITIALIZE(...) procedure will have the internal commits, so it was throwing the errors.
    The solution was configuring the a NonXA Data source in the databae adapter configuration will allow the commits inside the callings procedures. So we created Two data sources one for XA and another for NonXA and we are using the NonXA datasource whereever we are calling the EBS APIs which have the internal commits.
    -- Khaleel

  • How to call OIM API from external app?

    Hi,
    I have an java application and I would like to call OIM API to accept a request. The application resides in separate server than OIM.
    My questions:
    *1.* What to do to call OIM API from external application (import any OIM jars etc.)?
    *2.* Which method to use, setRequestResponse , closeRequest or any other?
    I appreciate any help, thanks.
    Edited by: m.m. on Feb 2, 2010 5:33 AM

    Hello,
    If it is an external client, you need to provide the "login" and "password" details explicitly in the code (something like this), before getting any other Interface control to invoke the OIM APIs -
    public class OIMAPIClientTest {
    public static void main(String[] args) {
    try{
    System.out.println("Starting...");
    ConfigurationClient.ComplexSetting config = ConfigurationClient.getComplexSettingByPath("Discovery.CoreServer");
    Hashtable env = config.getAllSettings();
    tcUtilityFactory ioUtilityFactory = new tcUtilityFactory(env,"xelsysadm","abcd1234");
    System.out.println("Getting utility interfaces...");
    Regards,
    Amit
    Edited by: amitKumar on Feb 2, 2010 5:29 AM

Maybe you are looking for