How to bring oracle function into ODI

Hi,
I have a oracle function which I have to bring into ODI, could you please let me know how to do that?
Thanks!
Regards,
Supreeth

Hi Supreeth ,
Before invoking a stored procedure from Oracle Data Integrator (ODI), run it outside ODI (i.e. SqlPlus), on the database, using the same database user as entered in the ODI Topology for this connection and make sure it is working properly .
Then, when invoking the stored procedure from Oracle Data Integrator (ODI):
1. Create an ODI Specific Procedure.
2. Insert a step and, in the "Technology" drill down box, choose the appropriate RDBMS. Leave the context to "<Execution Context>".
3. The precise syntax for calling RDBMS stored procedures in ODI may vary from one Technology to another one.
For Oracle technologies, the syntax is as follows:
BEGIN
<%=odiRef.getObjectName (pMode, My_Procedure, pLogicalSchemaName, pContextName, pLocation)%> (MY_PARAM1, MY_PARAM2...);
END;
where
* My_Procedure - is the stored procedure name
* MY_PARAM1, MY_PARAM2... - are stored procedure parameter values
* pMode, pLogicalSchemaName, pContextName, pLocation - are parameters of the getObjectName Substitution Method.
At my Oracle instance I have a function called MY_FUNCTION
So my syntax would be
<%=odiRef.getObjectName ("L","MY_FUNCTION","D")%>
Thanks,
Sutirtha

Similar Messages

  • 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 load oracle data into SQL SERVER 2000?

    how to load oracle data into SQL SERVER 2000.
    IS THERE ANY UTILITY AVAILABLE?

    Not a concern for an Oracle forum.
    Als no need for SHOUTING.
    Conventional solutions are
    - dump the data to a csv file and load it in Mickeysoft SQL server
    - use Oracle Heterogeneous services
    - use Mickeysoft DTS
    Whatever you prefer.
    Sybrand Bakker
    Senior Oracle DBA

  • How to connect oracle database into VC?GIve step by step.

    Hi Experts,
    Please help
    How to connect oracle database into VC?
    I need step by step.
    what shall i do the first to connect via jdbc or  something else.
    whether we have to create dsn name or using jdbc connections?which one to use?
    Please give the basic steps.Its very urgent.
    Thanks and Regards,
    Nutan

    Hi ,
    all information are in the following document:
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/6209b52e-0401-0010-6a9f-d40ec3a09424">How to Configure a Business Intelligence JDBC System for Visual Composer</a>
    Rgds,
    Karim

  • How to bring a website into Adobe muse for editing

    How to bring a website into Adobe muse for editing?

    Adobe Muse only allows .muse files for editing. You can't import a previously created page say in Dreamweaver into Muse.

  • Converting Oracle Functions to ODI

    Does anyone have an example of converting an Oracle function to ODI?
    FUNCTION <function_name> (
    <parameters> [IN | OUT | IN OUT] [NOCOPY] <data_type>)
    RETURN <data_type> [AUTHID <CURRENT_USER | DEFINER>] IS
    <constant, exception, and variable declarations>
    BEGIN
    <code_here>;
    END <function_name>;
    Can you call a Function in ODI?

    Yes you can call a PL/SQL or oracle funciton from ODI.
    FOr that you will have to create a ODI procedure with technology as Oracle.
    Call that function in to a PL/SQL "BEGIN END" block.
    Value returned by function you can use there is self or can pass to an ODI variable.
    Hope it helps!
    Regards,
    amit

  • How to compile Oracle procedure throught ODI procedure

    Hi
    Can any one help me how to compile oracle procedure through ODI11g
    I am awar of that, how to call oracle procedure in ODI and execute it.
    Please help me
    Regards,
    Phanikanth

    You want to know how to compile, or how to call, or both ?
    I don't know for compilation, but call a procedure is simple.
    You juste have to create an ODI Procedure and write the SQL statement like you do in a query editor.

  • Call oracle function in ODI

    I am new to ODI. I need to call a function created on the database which return a value. In ODI I created a variable. In the select (of the variable) I don't know how to call the source table value that needs to be passed to the function.
    My oracle function:
    create or replace function return_timeid(trans_date in date)
    return number is
    Result number;
    v_trans_date varchar2(30) := to_char(trans_date, 'dd-mon-rrrr hh24miss');
    v_hour number := 0;
    v_min number := 0;
    begin
    v_hour := substr(v_trans_date, 13, 2);
    v_min := substr(v_trans_date, 15, 2);
    case
    when v_min between 1 and 30 then
    result := (v_hour * 100) + 30;
    when v_min = 0 then
    result := v_hour * 100;
    when v_min > 30 then
    result := (v_hour + 1) * 100;
    end case;
    -- convert 2400 to 0000
    if result = 2400 then
    result := 0;
    elsif result = 2430 then
    result := 30;
    end if;
    return result;
    end return_timeid;
    The result will be a time ID, depending on the source record value in the source table. How do I keep the time ID in the variable that I created.
    This is the select in my variable (Time_ID):
    SELECT BIUSER.return_timeid(GPRS_HOME_CDRS.CALL_DATE_DT) FROM dual
    this is my error:
    904 : 42000 : java.sql.SQLException: ORA-00904: "GPRS_HOME_CDRS"."CALL_DATE_DT": invalid identifier
    Regards

    I tried to call the function in the mapping. My code:
    biuser.return_timeid(GPRS_HOME_CDRS.CALL_DATE_DT)
    but then I get the ORA-00936 (missing expression)
    My code generated in the operator when loading the flow table:
    insert /*+ APPEND */ into BIUSER.I$_FACT_ABIL_GPRS_T
         DIMDATASOURCEID,
         DIMDATARECORDTYPEID,
         DIMDATEID,
         DIMTIMEID,
         DIMAPNID_IC,
         DIMIMSIID,
         DIMCALLLOCATIONID,
         DIMCAUSERECCLOSEID,
         CALLDURATION,
         UPLINK_DATAVOLUME,
         DOWNLINK_DATAVOLUME,
         CALL_CHARGE,
         DIMRATEPLANID,
         TRANS_DATE,
         DIMPEAKID,
         DIMTARIFFCODEID,
         DIMCHARGEID,
         MOBL_NUM,
         ACC_LINK_CODE,
         CHARGED_UNITS,
         CHARGED_DURATION,
         CHARGED_VOLUME,
         DISCOUNTED_VALUE,
         DISCOUNTED_AMOUNT,
         FACT_PROCESS_DATE,
         CHRONO_NUM,
         ORIGINATE_CELL_ID,
         STAGE_PROCESS_DATE,
         IND_UPDATE
    select      
         case
    When length(rtrim(C19_QOS_USED_1_V)) = 7 then 1
    else 2
    end case,
         DIM_DATA_RECORD_TYPE.DIMDATARECORDTYPEID,
         DIM_DATE.DIMDATEID,
         biuser.return_timeid(C12_CALL_DATE_DT),     DIM_APN.DIMAPNID,
         to_number(DIM_IMSI_MSISDN.DIMIMSIMSISDNID),
         to_number(DIM_CALL_LOCATION.DIMCALLLOCATIONID),
         to_number(DIM_TERM_CAUSE.DIMTERMCAUSEID),
         C5_CALL_DURATION_N,
         .DATA_VOLUME_OUTGOING_1_N,
         C17_DATA_VOLUME_INCOMING_1_N,
         C1_CALL_CHARGE,
         DIM_RATEPLAN.DIMRATEPLANID,
         C12_CALL_DATE_DT,
         to_number(DIM_RATEPLAN.DIMRATEPLANID),
         DIM_TARIFF.DIMTARIFFID,
         to_number(DIM_CALLCHARGE_TYPE_TB.DIMCALLCHARGETYPEID),
         C2_MOBL_NUM,
         C21_ACCOUNT_LINK_CODE_N,
         C10_CHARGED_UNITS_N,
         C9_CHARGED_DURATION_N,
         C8_CHARGED_VOLUME_N,
         C16_DISCOUNTED_VALUE_N,
         round(C15_DISCOUNTED_AMOUNT_N/1000,4),
         SYSDATE,
         C13_CHRONO_NUM_N,
         C6_ORGINATE_CELL_ID_V,
         C3_STAGE_PROCESS_DATE,
         'I' IND_UPDATE
    from     BIUSER.DIM_DATA_RECORD_TYPE DIM_DATA_RECORD_TYPE, BIUSER.DIM_DATE DIM_DATE, BIUSER.DIM_CALL_LOCATION DIM_CALL_LOCATION, BIUSER.DIM_APN DIM_APN, BIUSER.DIM_IMSI_MSISDN DIM_IMSI_MSISDN, BIUSER.DIM_TERM_CAUSE DIM_TERM_CAUSE, BIUSER.DIM_CALLCHARGE_TYPE_TB DIM_CALLCHARGE_TYPE_TB, BIUSER.DIM_TARIFF DIM_TARIFF, BIUSER.DIM_RATEPLAN DIM_RATEPLAN, BIUSER.C$_0FACT_ABIL_GPRS_T
    where     (1=1)
    And (nvl(to_number(C14_SWITCH_CALL_TYPE_V),99999)=DIM_DATA_RECORD_TYPE.RECORD_TYPE)
    AND (to_number(to_char(C12_CALL_DATE_DT,'RRRRMMDD'))=DIM_DATE.DIMDATEID)
    AND (nvl(C11_MOBL_ORIGINATE_ZONE_CODE_V,'Undefined')=DIM_CALL_LOCATION.COUNTRY)
    AND (nvl(C4_ACCESS_POINT_NAME_V,'Undefined')=DIM_APN.APN)
    AND (nvl(C23_IMSI_NUM_N,99999999999)=DIM_IMSI_MSISDN.IMSI_NR)
    AND (nvl(C20_CALL_TERMINATION_CAUSE_V,'XX')=DIM_TERM_CAUSE.TERMCAUSE)
    AND (nvl(C18_CALL_CHRG_TYPE_V,'9')=DIM_CALLCHARGE_TYPE_TB.CALL_CHARGE_TYPE)
    AND (nvl(C7_TARIFF_CODE_V,'999999')=DIM_TARIFF.TARIFF_CODE)
    AND (nvl(C22_RATE_PLAN_CODE_N,99999)=DIM_RATEPLAN.RATEPLAN_CODE and
    nvl(C7_TARIFF_CODE_V,'999999')=DIM_RATEPLAN.TARIFF_CODE)
    minus
    select
         DIMDATASOURCEID,
         DIMDATARECORDTYPEID,
         DIMDATEID,
         DIMTIMEID,
         DIMAPNID_IC,
         DIMIMSIID,
         DIMCALLLOCATIONID,
         DIMCAUSERECCLOSEID,
         CALLDURATION,
         UPLINK_DATAVOLUME,
         DOWNLINK_DATAVOLUME,
         CALL_CHARGE,
         DIMRATEPLANID,
         TRANS_DATE,
         DIMPEAKID,
         DIMTARIFFCODEID,
         DIMCHARGEID,
         MOBL_NUM,
         ACC_LINK_CODE,
         CHARGED_UNITS,
         CHARGED_DURATION,
         CHARGED_VOLUME,
         DISCOUNTED_VALUE,
         DISCOUNTED_AMOUNT,
         FACT_PROCESS_DATE,
         CHRONO_NUM,
         ORIGINATE_CELL_ID,
         STAGE_PROCESS_DATE,
         'I'     IND_UPDATE
    from     BIUSER.FACT_ABIL_GPRS_T

  • How to convert Oracle function in UDB

    Hi ,
    i am writing this function in oracle.Could you please convert this function in UDB because i am new in this and dont know how to use decode function in UDB
    Please following is the code for oracle.
    CREATE OR REPLACE function fun ( localex varchar2,titlex varchar2)
    return number
    as x number;
    begin
    select sum ( decode (count (username),max(prereq_count),1,0) ) x into x from
    SELECT
    prereq_count,
    username
    FROM
    table1
    group by username ;
    return x;
    end fun;
    Regards
    Vishal

    First, you posted in the wrong forum for UDB, this is DB2 on z/OS
    Secondly, your question is not SAP related (at least I can't see that).
    Thirdly, you posted the same question for SQL-Server:
    want to convert function in SQL Server 2000
    Markus

  • How to call oracle function from ejb3

    i'm trying to call an oracle query-function from ejb3.
    The oracle function:
    create or replace FUNCTION getSecThreadCount(secId in NUMBER,avai in NUMBER)
    RETURN SYS_REFCURSOR is cur SYS_REFCURSOR;
    m_sql VARCHAR2(250);
    BEGIN
    m_sql:='select count(thrId) from thread where secId='|| secid||'
    and thrAvai='|| avai;
    open cur for m_sql;
    return cur;
    END;
    I'v tried several ways to call it,but all failed:
    1. the calling code:
    public Object getSectionThreadCount(int secId,int avai){
              Query query=manager.createNativeQuery("{call getSecThreadCount(?,?) }");     
              query.setParameter(1, secId);
              query.setParameter(2, avai);
              return query.getSingleResult();
    but i got the exception:
    Exception in thread "main" javax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query; nested exception is: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query
    javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query
    Caused by: java.sql.SQLException: ORA-06550: row 1, col 7:
    PLS-00221: 'GETSECTHREADCOUNT' not procedure or not defined
    ORA-06550: row 1, col 7:
    PL/SQL: Statement ignored
    2. the calling code:
    @SqlResultSetMapping(name = "getSecThreadCount_Mapping")
    @NamedNativeQuery(name = "getSecThreadCount",
    query = "{?=call getSecThreadCount(:secId,:avai)}",
    resultSetMapping = "getSecThreadCount_Mapping",
    hints = {@QueryHint(name = "org.hibernate.callable", value = "true"),
              @QueryHint(name = "org.hibernate.readOnly", value = "true")})
    public Object getSectionThreadCount(int secId,int avai){
              Query query=manager.createNamedQuery("getSecThreadCount");     
              query.setParameter("secId", secId);
              query.setParameter("avai", avai);
              return query.getSingleResult();
    but i run into the exception:
    Exception in thread "main" javax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query; nested exception is: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query
    javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query
    Caused by: java.sql.SQLException: lost in index IN or OUT parameter:: 3
    By the way, i have successfully called the function from hibernate. And i use oracle 11g, JBoss5 RC1.
    Could anyone tell me how to call the function from EJB3?
    Thanks.

    Here's a working model:
    package.procedure: (created in example schema scott)
    CREATE OR REPLACE package  body data_pkg as
      type c_refcursor is ref cursor;
      -- function that return all emps of a certain dept
      function getEmployees ( p_deptId in number
      return c_refcursor
      is
        l_refcursor c_refcursor;
      begin
         open l_refcursor
        for
              select e.empno as emp_id
              ,        e.ename as emp_name
              ,        e.job   as emp_job
              ,        e.hiredate as emp_hiredate
              from   emp e
              where  e.DEPTNO = p_deptId;
        return l_refcursor;
      end getEmployees;
    end data_pkg;
    /entity class:
    package net.app.entity;
    import java.io.Serializable;
    import java.util.Date;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.NamedNativeQuery;
    import javax.persistence.QueryHint;
    import javax.persistence.SequenceGenerator;
    import javax.persistence.Table;
    @SuppressWarnings("serial")
    @Entity
    @Table (name="emp")
    @SequenceGenerator(name = "EmployeeSequence", sequenceName = "emp_seq")
    @NamedNativeQuery( name = "getEmpsByDeptId"
                   , query = "{ ? = call data_pkg.getEmployees(?)}"
                   , resultClass = Employee.class
                   , hints = { @QueryHint(name = "org.hibernate.callable", value = "true")
                          , @QueryHint(name = "org.hibernate.readOnly", value = "true")
    public class Employee implements Serializable
        @Id
        @Column(name="emp_id")
        @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "EmployeeSequence")
        private int id;
        @Column(name="emp_name")
        private String name;
        @Column(name="emp_job")
        private String job;
        @Column(name="emp_hiredate")
        private Date hiredate;
        // constructor
        public Employee (){}
        // getters and setters
        public int getId()
         return id;
    etc...session bean:
    package net.app.entity;
    import java.util.ArrayList;
    import java.util.List;
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    import javax.persistence.Query;
    import net.app.entity.Employee;
    import net.app.iface.ScottAdmin;
    @Stateless
    public class ScottAdminImpl implements ScottAdmin
        @PersistenceContext
        private EntityManager entityManager;
        @SuppressWarnings("unchecked")
        public List<Employee> getEmployeesByDeptId(int deptId)
         ArrayList<Employee> empList;
         try
             Query query = entityManager.createNamedQuery("getEmpsByDeptId");
             query.setParameter(1, deptId);
             empList = (ArrayList<Employee>) query.getResultList();
             return empList;
         catch (Exception e)
             e.printStackTrace(System.out);
             return null;
    }client:
    package net.app.client;
    import java.util.List;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import net.app.entity.Employee;
    import net.app.iface.ScottAdmin;
    public class ScottClient
        public static void main(String[] args)
         try
             // create local interface
             InitialContext ctx = new InitialContext();
             ScottAdmin adminInterface = (ScottAdmin) ctx.lookup("ScottAdminImpl/remote");
             // select employees by deptno
             int deptno = 20;
             List<Employee> empList = adminInterface.getEmployeesByDeptId(deptno);
             // output
             System.out.println("Listing employees:");
             for (Employee emp : empList)
              System.out.println(emp.getId() + ": " + emp.getName() + ", " + emp.getJob() + ", " + emp.getHiredate());
         catch (NamingException e)
             e.printStackTrace(System.out);
    }Basically you just ignore the refcursor outbound parameter.
    This is a stored function, have yet to try outbound refcursor parameters in stored procedures...
    Edited by: _Locutus on Apr 2, 2009 2:37 PM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • How to call oracle Function which has If else condition in Data Template

    Hi,
    currently I am working on creating Data Template which uses a Oracle Function which I need to make use in my data template. But I have some confusions on using the same. Could anybody please help me in this regard.
    I have a function like this,
    function invoice_query (p_facility_id facility.facility_id%TYPE,
    p_wave_nbr pick_directive.wave_nbr%TYPE,
    p_container_id unit_pick_group_detail.container_id%TYPE,
    p_distro_nbr unit_pick_group_detail.distro_nbr%TYPE) return invoice_refcur IS
    refcur invoice_refcur;
    begin
    IF p_wave_nbr IS NOT NULL THEN
    OPEN refcur FOR SELECT t1.distro_nbr,
    t1.cust_order_nbr,
    t1.pick_not_before_date,
    SYSDATE,
    t1.ship_address_description,
    t1.ship_address1,
    t1.ship_address2,
    t1.ship_address3,
    t1.ship_address4,
    t1.ship_address5,
    t1.ship_city || ', ' || t1.ship_state || ' ' || t1.ship_zip,
    t1.ship_country_code,
    t1.bill_address_description,
    t1.bill_address1,
    t1.bill_address2,
    t1.bill_address3,
    t1.bill_address4,
    t1.bill_address5,
    t1.bill_city || ', ' || t1.bill_state || ' ' || t1.bill_zip,
    t1.bill_country_code,
    min(t2.pick_order),
    NULL,
    t2.wave_nbr
    FROM stock_order t1,
    pick_directive t2,
    unit_pick_group_detail t3
    WHERE t1.facility_id = t2.facility_id
    AND t1.facility_id = t3.facility_id
    AND t2.facility_id = t3.facility_id
    AND t1.distro_nbr = t2.distro_nbr
    AND t1.distro_nbr = t3.distro_nbr
    AND t2.distro_nbr = t3.distro_nbr
    AND t1.facility_id = p_facility_id
    AND t2.wave_nbr = p_wave_nbr
    AND g_scp(p_facility_id, 'interface_tcp_flag') = 'N'
    AND t2.pick_type = 'U'
    AND t3.group_id in (SELECT t4.group_id
    FROM unit_pick_group t4
    WHERE t4.facility_id = p_facility_id
    AND t4.wave_nbr = p_wave_nbr)
    GROUP BY t1.distro_nbr,
    t1.cust_order_nbr,
    t1.pick_not_before_date,
    t1.ship_address_description,
    t1.ship_address1,
    t1.ship_address2,
    t1.ship_address3,
    t1.ship_address4,
    t1.ship_address5,
    t1.ship_city || ', ' || t1.ship_state || ' ' || t1.ship_zip,
    t1.ship_country_code,
    t1.bill_address_description,
    t1.bill_address1,
    t1.bill_address2,
    t1.bill_address3,
    t1.bill_address4,
    t1.bill_address5,
    t1.bill_city || ', ' || t1.bill_state || ' ' || t1.bill_zip,
    t1.bill_country_code,
    t2.wave_nbr
    ORDER BY MIN(t3.group_id), MAX(t3.slot);
    elsif p_container_id is not null then
    OPEN refcur FOR SELECT distinct t1.distro_nbr,
    t1.cust_order_nbr,
    t1.pick_not_before_date,
    SYSDATE,
    t1.ship_address_description,
    t1.ship_address1,
    t1.ship_address2,
    t1.ship_address3,
    t1.ship_address4,
    t1.ship_address5,
    t1.ship_city || ', ' || t1.ship_state || ' ' || t1.ship_zip,
    t1.ship_country_code,
    t1.bill_address_description,
    t1.bill_address1,
    t1.bill_address2,
    t1.bill_address3,
    t1.bill_address4,
    t1.bill_address5,
    t1.bill_city || ', ' || t1.bill_state || ' ' || t1.bill_zip,
    t1.bill_country_code,
    NULL,
    t2.dest_id,
    null
    FROM stock_order t1,
    unit_pick_group_detail t2
    WHERE t1.facility_id = t2.facility_id
    and t1.distro_nbr = t2.distro_nbr
    and t1.facility_id = p_facility_id
    AND g_scp(p_facility_id, 'interface_tcp_flag') = 'N'
    AND t2.container_id = p_container_id;
    else
    open refcur for SELECT distinct t1.distro_nbr,
    t1.cust_order_nbr,
    t1.pick_not_before_date,
    SYSDATE,
    t1.ship_address_description,
    t1.ship_address1,
    t1.ship_address2,
    t1.ship_address3,
    t1.ship_address4,
    t1.ship_address5,
    t1.ship_city || ', ' || t1.ship_state || ' ' || t1.ship_zip,
    t1.ship_country_code,
    t1.bill_address_description,
    t1.bill_address1,
    t1.bill_address2,
    t1.bill_address3,
    t1.bill_address4,
    t1.bill_address5,
    t1.bill_city || ', ' || t1.bill_state || ' ' || t1.bill_zip,
    t1.bill_country_code,
    NULL,
    NULL,
    t3.wave_nbr
    FROM stock_order t1,
    unit_pick_group_detail t2,
    unit_pick_group t3
    WHERE t1.facility_id = t2.facility_id
    and t2.facility_id = t3.facility_id
    and t1.distro_nbr = t2.distro_nbr
    and t2.group_id = t3.group_id
    and t1.facility_id = p_facility_id
    AND g_scp(p_facility_id, 'interface_tcp_flag') = 'N'
    AND t2.distro_nbr = p_distro_nbr;
    END IF;
    return refcur;
    end;
    I have created data template like following,
    <sqlStatement name="Q_INVOICE">
                   <![CDATA[
              SELECT Pack_Slip_R.invoice_query(:P_FACILITY_ID,:P_WAVE_NBR,:P_CONTAINER_ID,:P_DISTRO_NBR) from dual
                                                     ]]>
    </sqlStatement>
    But how does I create a element for the "t1.ship_city || ', ' || t1.ship_state || ' ' || t1.ship_zip" column in the oracle function. I normally create an element like following,
    <group name="G_INVOICE" source="Q_INVOICE">
                   <element name="CUST_ORDER_NBR" value="cust_order_nbr"/>
                   <element name=":dest_id" value="dest_id"/>
    </Group>
    But how do i create element if a column name is kind of dynamic. Please help. I cannot Rename/change the Column in SQL Query. Please let me know If I could handle this whole logic in BI Publsiher.
    Regards,
    Ashoka BL

    try useing alias
    t1.ship_city || ', ' || t1.ship_state || ' ' || t1.ship_zip as <COLUMN_ALIAS>

  • How to convert Oracle reports into excel?

    How can we convert Oracle reports into excel.
    i know there was a thread on this topic which i am not able to find.
    give the link / help.

    I found Std Oracle Report output to Excel Sheet has some suggestions. Not being a Reports person anymore I am not in a position to vouch for them.
    How did I find this thread? By not using the forum search tool but using Google instead.
    Cheers, APC

  • How to convert Oracle scheme into UML

    I created Oracle scheme with Toad database modeler. I'm interested how I can convert it into UML diagram? Is there any tool that can convert it?

    You can use some Tools :-
    1-altova
    2-microsoft visio, its contain features that allow you to convert to UML

  • How to Bring "Division" field into PCA form to create Report?

    Hi,
    I need to create Balance sheet reports -Division wise in profit center accounting.Kindly advise me how to bring Division field in to FORM of PCA.Once i get the Division field in to FORM of PCA then i can full fill the requirement.
    Kindly advise me as i am not able to bring it either through Key figures or Characterstics.how do i bring into KE84 form
    Please help me
    Supriya

    Hello,
    I do not think division wise balance sheet is possible.
    Regards,
    Ravi

  • How to use aggregate functions into Analytical functions

    Can we use aggregate functions into analytical functions?
    Please provide one example.
    Smiles.

    HI Learner6
    for information:
    Aggregate Functions
    Analytic Functions
    for practic:
    ORACLE-BASE - Analytic Functions
    Thank you

Maybe you are looking for