ODI Procedure to File Mapping

HI,
My scenario is like this i have a package/function in db which returns a custom type. Now i want to transform this custom type into a flat file.
Here is my procedure :
Declare
v_return_value XXTLN_EMP_ASSG_DATA_TAB := XXTLN_EMP_ASSG_DATA_TAB ();
P_TOTAL_RECORDS NUMBER;
P_RECORDS_RETURNED NUMBER;
p_batch_id NUMBER;
p_le_array le_array := le_array();
Begin
p_le_array.extend();
p_le_array(1) := 'SE';
v_return_value := XXTLN_ATLAS_CASSINI_PKG.XXTLN_EMPLOYEE_DATA_LE(p_le_array,p_batch_id,500,P_TOTAL_RECORDS,P_RECORDS_RETURNED);
dbms_output.put_line('DONE');
P$_temp.pv_ret := P_RECORDS_RETURNED;
p$_temp.v_return_val := v_return_value;
end;
I have defined a variable name Result with refresh as:
select P$_temp.get_ret_tab from dual
when i run the package which executes procedure in Step 1 and variable refresh in Step 2 i get oracle.sql.Array in this variable, My step 3 is an interface, i want to access this variable data in the interface.
I want to transform this variable into a flat file. Is this possible?
Or more simple is it possible to get what ever the procedure is returning as a source in the interface while mapping ?
Regards
Atif Dar

here are the object of database:
CREATE SEQUENCE "XXTLN_ATLAS_CASSINI_LE_SEQ" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 NOCACHE NOORDER NOCYCLE
CREATE OR REPLACE TYPE "EMP_ARRAY" IS VARRAY(50000) OF VARCHAR2 (30)
CREATE OR REPLACE TYPE "LE_ARRAY" IS VARRAY(1000) OF VARCHAR2 (50)
CREATE OR REPLACE TYPE "XXTLN_ASSG_DATA_OBJ"
AS
OBJECT (
Global_Employee_Number VARCHAR2 (30),
Primary_Flag VARCHAR2 (1),
Primary_Network_User_Flag VARCHAR2 (1),
Assignment_Person_Type VARCHAR2 (60),
Legal_Entity VARCHAR2 (150),
Legal_Entity_Name VARCHAR2 (240),
Cost_center VARCHAR2 (150),
Cost_Center_Name VARCHAR2 (240),
Legal_Entity_Country VARCHAR2 (30),
Assignment_Organization VARCHAR2 (240),
Assignment_Start_Date DATE,
Assignment_End_Date DATE,
Local_Physical_Location VARCHAR2 (150),
Local_Employee_Number VARCHAR2 (150),
Local_User_ID VARCHAR2 (150),
Local_IT_Domain VARCHAR2 (150),
Local_Email_address VARCHAR2 (150),
Local_Mobile_Number VARCHAR2 (150),
Assignment_Supervisor_number VARCHAR2 (30),
Assignment_Supervisor_name VARCHAR2 (240),
Assignment_Manager_Flag VARCHAR2 (1),
Workaround_Global_User_ID VARCHAR2 (150))
CREATE OR REPLACE TYPE "XXTLN_EMP_ASSG_DATA_OBJ" AS OBJECT (
emp_info XXTLN_EMP_DATA_OBJ,
asg_info XXTLN_ASSG_DATA_OBJ
CREATE OR REPLACE TYPE "XXTLN_EMP_ASSG_DATA_TAB"
as TABLE OF
XXTLN_EMP_ASSG_DATA_OBJ
create or replace PACKAGE XXTLN_ATLAS_CASSINI_PKG
AS
FUNCTION XXTLN_EMPLOYEE_DATA_LE (p_le_names IN le_array,
p_batch_id IN OUT NUMBER,
p_record_count IN NUMBER,
P_TOTAL_RECORDS OUT NUMBER,
P_RECORDS_RETURNED OUT NUMBER)
RETURN XXTLN_EMP_ASSG_DATA_TAB;
FUNCTION XXTLN_EMPLOYEE_DATA (p_emp_array IN emp_array,
p_batch_id IN OUT NUMBER,
p_record_count IN NUMBER,
P_TOTAL_RECORDS OUT NUMBER,
P_RECORDS_RETURNED OUT NUMBER)
RETURN XXTLN_EMP_ASSG_DATA_TAB;
END;
create or replace PACKAGE BODY XXTLN_ATLAS_CASSINI_PKG
AS
FUNCTION XXTLN_EMPLOYEE_DATA_LE (p_le_names IN le_array,
p_batch_id IN OUT NUMBER,
p_record_count IN NUMBER,
P_TOTAL_RECORDS OUT NUMBER,
P_RECORDS_RETURNED OUT NUMBER)
RETURN XXTLN_EMP_ASSG_DATA_TAB
IS
i NUMBER := 1;
p_counter NUMBER := 1;
v_error VARCHAR2 (70) := NULL;
v_return_value XXTLN_EMP_ASSG_DATA_TAB := XXTLN_EMP_ASSG_DATA_TAB ();
v_le_names VARCHAR2 (500) := NULL;
le_counter NUMBER := 1;
emp_array_func emp_array := emp_array ();
v_le_batch NUMBER := 1;
BEGIN
v_return_value :=
XXTLN_EMP_ASSG_DATA_TAB (XXTLN_EMP_ASSG_DATA_OBJ (
XXTLN_EMP_DATA_OBJ ('T796811',
'T796811',
'Dar',
'Atif',
'Atif Dar',
'Pakistani',
'Male',
'Permanent',
SYSDATE,
SYSDATE,
SYSDATE),
XXTLN_ASSG_DATA_OBJ (
'T796811',
'Y',
'Y',
'PTYPE',
'YK',
'YK',
'CO',
'CONAME',
'PK',
'DD',
SYSDATE,
SYSDATE,
--NVL (v_assg_end_date, v_end_date),
'NA',
'T796811',
'T796811',
'TP',
'[email protected]',
'+923343',
'T790811',
'Dar',
'N',
'809799'
return v_return_value;
END XXTLN_EMPLOYEE_DATA_LE;
FUNCTION XXTLN_EMPLOYEE_DATA (p_emp_array IN emp_array,
p_batch_id IN OUT NUMBER,
p_record_count IN NUMBER,
P_TOTAL_RECORDS OUT NUMBER,
P_RECORDS_RETURNED OUT NUMBER)
RETURN XXTLN_EMP_ASSG_DATA_TAB
IS
v_error VARCHAR2 (70);
i NUMBER := 1;
v_counter NUMBER := 1;
batch_check NUMBER := 1;
v_return_value XXTLN_EMP_ASSG_DATA_TAB := XXTLN_EMP_ASSG_DATA_TAB ();
BEGIN
v_return_value :=
XXTLN_EMP_ASSG_DATA_TAB (XXTLN_EMP_ASSG_DATA_OBJ (
XXTLN_EMP_DATA_OBJ ('T796811',
'T796811',
'Dar',
'Atif',
'Atif Dar',
'Pakistani',
'Male',
'Permanent',
SYSDATE,
SYSDATE,
SYSDATE),
XXTLN_ASSG_DATA_OBJ (
'T796811',
'Y',
'Y',
'PTYPE',
'YK',
'YK',
'CO',
'CONAME',
'PK',
'DD',
SYSDATE,
SYSDATE,
--NVL (v_assg_end_date, v_end_date),
'NA',
'T796811',
'T796811',
'TP',
'[email protected]',
'+923343',
'T790811',
'Dar',
'N',
'809799'
return v_return_value;
END XXTLN_EMPLOYEE_DATA;
END;
In my procedure on ODI side i am calling XXTLN_EMPLOYEE_DATA_LE which in turn is returning a custom type. i want to transform the data in a flat file like in this format
1;t796811;Atif;Dar;[email protected];N;80799
i am able to get this data in a variable. is it possible to use this variable as a source in an interface ?

Similar Messages

  • Table to File using ODI Procedure

    Pls help me ...describing what are the steps in ODI need for loading a RDBMS table to File using ODI Procedure....not using Interface and OdiSqlUnload
    Thanks in Advance

    You can use Java Beanshell or Jython to load data in to a file. The only thing is that you need to create a connection so that you can run the select query and get the resultset. Now write it using your rest code.
    If i would have been in your situtation i would prefer Java Beanshell ( not good in jython ;) . Dev can help you on this.). The readymade query is already here
    http://odiexperts.com/generate-column_name-header-for-odisqlunload/
    Thanks.

  • How use return value of JavaBeanShell ODI prodecure in Interface Mapping

    My source data is in Complex FIle and Target data is in Oracle.
    I have written ODI procedure using JavaBeanShell technology
    The "command on Source" is below (actual implementation is much more complex):
    /---------------For Example-----------------------
    <@
    import java.sql.*;
    public class JBTest
         public static String test() throws Exception
              conn=odiRef.getJDBCConnection("SRC");
              Statement stmt=conn.createStatement();
              String result="";
              ResultSet rs=stmt.executeQuery("select SNPSLOADDATE from ROOT_ELEMENT");
              while(rs.next()){
                   result = rs.getString(1);
              return result;
    @>
    Is it possible to use this "result"(return val of function test) in Interface mapping implementation.
    If yes how?
    Or any way to assign this return value to an ODI variable.

    Hi,
    I have done using PL/SQL or a simple select from dual statement under oracle tech in function/procedure which can used anywhere.
    I tried using return in java bean shell , didn't worked.
    Unfortunately there is little / no document about how to use java bean shell in ODI. Alternatively you can try jython.

  • How to execute unix command from ODI Procedure

    Hi,
    I am trying to execute below unix command from ODI Procedure (Command on Target tab) but I am getting the error "java.io.IOException: Cannot run program "cd": error=2, No such file or directory" but when I try to execute the same command using OdiOSCommand, it is executing successfully. I don't want to use shell script to execute this command. Is there any specific syntax am I missing to execute this command from ODI procedure?
    cd /project3/tmt/;ls *.dmp > dmplist.lst
    Please help me on this...
    Thanks
    MT

    Hi nahlikh,
    Thank you for the reply.
    I used below command in Procedure but still getting the same error as "java.io.IOException: Cannot run program "OdiOSCommand": error=2, No such file or directory".
    OdiOSCommand "-COMMAND=cd /project3/tmt/;ls *.dmp > dmplist.lst"
    as I mentioned earlier if I use the command cd /project3/tmt/;ls *.dmp > dmplist.lst in OdiOSCommand tool it is executing successfully without any issues.
    any thoughts appreciated to get a solution for this issue.
    Thanks
    MT

  • How to call a Windows DLL out of a ODI procedure?

    Hi
    we'd like to use an external tool, provided as a MS Windows DLL, in our odi flow.
    The idea is to use an ODI procedure preparing the input, calling the dll function and handling the functions output.
    Is this possible? How?
    Thanks a lot!

    Perhaps Netbeans is having troubles with the import statements in the wsdl.  OSS note 738912 describes how to combine the 3 parts of the downloaded wsdl into a single file.

  • Executing Java Code in ODI Procedure

    Hi All,
    I have following  java code which i need to write on ODI procedure but i am not sure which technology to chose (Jython,Sunopsis API or Java BeanShell).
    I tried to execute the procedure Jyhton with <% "Java code"%> but getting the error.Any boddy can suggest where i doing wrong.
    <%
    import javax.naming.Context;
    import javax.naming.NamingEnumeration;
    import javax.naming.directory.*;
    import java.util.Hashtable;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    String userName = "HXXXXXX";
    String CN1=null;
    String Dis_Name=null;
    String Mem_of=null;
    String Mail=null;
    String SGID=null;
    File file = new File("C:/Project/ODI/LDAPID.txt");
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
    env.put(Context.PROVIDER_URL, "LDAP://XX.if.YYYY.net:389/OU=XYZ,DC=ZZ,DC=if,DC=XYZ,DC=COM");
    env.put(Context.SECURITY_AUTHENTICATION, "simple");
    env.put(Context.SECURITY_PRINCIPAL, new String("" + "\\" + userName));
    env.put(Context.SECURITY_CREDENTIALS, "");
    DirContext ctx = null;
    NamingEnumeration results = null;
    ctx = new InitialDirContext(env);
    SearchControls controls = new SearchControls();
    controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
    results = ctx.search("", "(objectclass=person)", controls);
    FileWriter fw = new FileWriter(file.getAbsoluteFile());
    BufferedWriter bw = new BufferedWriter(fw);
       while (results.hasMore())
             SearchResult searchResult = (SearchResult) results.next();
             Attributes attributes = searchResult.getAttributes();
             Attribute attr = attributes.get("cn");
             String cn = (String) attr.get();
             CN1=(String.valueOf(attributes.get("cn")));
             Dis_Name=(String.valueOf(attributes.get("displayName")));
             SGID=(String.valueOf(attributes.get("userPrincipalName")));
             Mem_of=(String.valueOf(attributes.get("memberOf")));
             Mail=(String.valueOf(attributes.get("mail")));
             bw.write(CN1 + " || " + Dis_Name + " || " + SGID + " || " + Mail);
             bw.newLine();
    bw.close();
    results.close();
    ctx.close();
    %>
    I am getting following error.
    The application script threw an exception: java.lang.NullPointerException BSF info: CODE_JAVA at line: 0 column: columnNo
    Please suggest what went wrong with the code.
    Thanks
    Regards

    In Jython you don not need to declare the type so String userName = "HXXXXXX"; should simply read userName = "HXXXXXX" . Lots of your code need to be rewritten to work with Jython if you choose that as your technology.

  • How to list all physical schemas in ODI procedure

    Dear Experts,
    I am trying a requirement which is to execute a set of sqls in all the schemas configured in ODI.
    for example
    1) I have four data servers/physical schemas configured in Physical Architecture under Oracle techonlogy.
    2) Created corresponding 4 logical schemas for Oracle.
    3) Mapped using two different contexts.
    4) one context mapped two schemas and another mapped two other schemas.
    now, I need to exeture the following sql for all the Oracle schemas mapped in context selected.
    just for testing: select dummy from dual
    I would like to execute this sql in ODI procedure for every schema mapped in the selected context in single execution.
    Can any expert help me on this solution?
    - Raja

    Raja,
    I was actually talking about multiple ODI Step command rather than multiple procedure. What you are trying to achieve is difficult unless you specify the logical schema in ODI Procedure , becuase getInfo will throw Null pointer if we dont specify the logical schema ,
    the getSchema needs Logical schema . The other way i can think query in work rep tables and get the schema name and pass it .
    Any way in case your figure out without passing Logical schema . Please share with us , i would be interested in learning the trick .

  • File Mapping Failed

    I have a laptop 3000 N100 with XP.  I keep getting an small error screen that pops up on the desktop several minutes after the laptop starts up indicating "File Mapping Failed".  How do I correct this error?

    Laptop is used at both office and home.  Regardless of whether it is comnnecting to a network or used as a stand-alone computer, the file mapping error screen displays a few minutes after start-up.  I have also noticed that files open slower and the "File Save As" command is very slow.  I found one solution on the Internet to update the bios but the update procedure failed.

  • Importing ODI Procedure in Insert/Insert-Update mode

    Can we import an ODI procedure from one project to another in INSERT or INSERT-UPDATE mode?
    We are getting xml import error while doing this. But when we do the import in DUPLICATION mode, it successfully does so.
    The issue is that we have an ODI procedure in INT environment which is been used by several other packages. We changed the code of it in our DEV environment and when we tried to import it in INT environment through INSERT-UPDATE mode so that the the changes gets effected, we got error.
    This is quite obvious that the folder/sub-folder IDs are different in both environment and this is causing trouble.
    So, is there any other way, we can reflect the change in the INT environment with minimum effort? I mean, we don't want to import it in DUPLICATION mode....if we do so, we will have to re-map that procedure in all the packages and regenerate them.

    You can use variable to replace the value at runtime in the query but you need to either pass the variable value at startup or you can refresh variable value. But I dont think you can directly retrieve any topology setting as the variable value to be substituted in the query.

  • File mapping in R/3

    Hey guys,
    is there a mapping module in R/3 like on PI Enterprise Service Builder? I mean, i want to know whether it is possible to use a standard tool from SAP to do a file mapping to a ABAP structure? E.g. a get a XML file via PI (i know, i could do the mapping in PI) which is routed to R/3. Now i want to do my mapping in R/3. Is there a tool in R/3? I could build such a tool but i want to know, does SAP deliver such a tool for R/3? Is it possible to use the module of PI for mapping in R/3?
    thx for your answers,
          W.

    You do not need another mapping in SAP once the mapping is done in PI. PI will map from external format to SAP IDOC format (either in IDOC flat file based or IDOC XML format). After you drop this mapped file which is in IDOC format (flat file/XML) into the application server (configured in the receiving systems) and trigger the startrfc.exe, SAP would take care of the rest (provided all inbound setting are setup).
    Now if you want a custom ABAP structure, you'll have to mimic the standard FM's. If you have a predefined structure, then create an custom IDOC and a custom FM to process it. Set it up just like the standards and then do the same process - map into the custom format from PI and then trigger the RFC, this would trigger the process code and invoke your custom FM to process this custom IDOC/structure.

  • Error in ODI procedure

    Hi Experts,
    I have created following procedure and triyng to get column value by using rownum. When I run the scenario, I am getting following exception at ODI Procedure step. Can any one please help me on it
    I have created loop package to fetch column value until loop end.
    Please let me know if you are not clear my query
    ODI Procedure:
    begin
    select a.eno into '#EMPNO' from (select rownum r,e.* from trg_emp_01 e) a where a.r=#Counter;
    end;
    #EMPNO variable created as alphanumeric datatype and
    #Counter variable created as alphanumic datatype and it is assign with '1' value
    Exception:
    6550 : 65000 : java.sql.SQLException: ORA-06550: line 1, column 25:
    PLS-00220: simple name required in this context
    ORA-06550: line 1, column 28:
    PL/SQL: ORA-00904: : invalid identifier
    ORA-06550: line 1, column 7:
    PL/SQL: SQL Statement ignored
    java.sql.SQLException: ORA-06550: line 1, column 25:
    PLS-00220: simple name required in this context
    ORA-06550: line 1, column 28:
    PL/SQL: ORA-00904: : invalid identifier
    ORA-06550: line 1, column 7:
    PL/SQL: SQL Statement ignored
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:185)
         at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStatement.java:633)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1086)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2984)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3057)
         at com.sunopsis.sql.SnpsQuery.executeUpdate(SnpsQuery.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execSrcOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlS.treatTaskTrt(SnpSessTaskSqlS.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.i(e.java)
         at com.sunopsis.dwg.cmd.g.y(g.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Thread.java:595)
    ODI Procedure:
    begin
    select a.eno into #EMPNO from (select rownum r,e.* from trg_emp_01 e) a where a.r=#Counter;
    end;
    Exception:
    6550 : 65000 : java.sql.SQLException: ORA-06550: line 1, column 26:
    PL/SQL: ORA-00936: missing expression
    ORA-06550: line 1, column 7:
    PL/SQL: SQL Statement ignored
    java.sql.SQLException: ORA-06550: line 1, column 26:
    PL/SQL: ORA-00936: missing expression
    ORA-06550: line 1, column 7:
    PL/SQL: SQL Statement ignored
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:185)
         at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStatement.java:633)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1086)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2984)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3057)
         at com.sunopsis.sql.SnpsQuery.executeUpdate(SnpsQuery.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execSrcOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlS.treatTaskTrt(SnpSessTaskSqlS.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.i(e.java)
         at com.sunopsis.dwg.cmd.g.y(g.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Thread.java:595)
    Thanks
    Phani
    Edited by: Phanikanth on Jul 9, 2010 1:25 AM
    Edited by: Phanikanth on Jul 9, 2010 2:08 AM

    Good point - In my case, these are single executable statements. These have been saved in ODI and executed successfully. Just no using my machine.
    EXAMPLE 1------------
    DECLARE
    RetVal ;
    I_STRING VARCHAR2(200);
    BEGIN
    I_STRING := '';
    RetVal := XXX.PKG_XXX.SF_COMMA_TO_TABLE ( I_STRING );
    COMMIT;
    END;
    EXAMPLE 2------------
    SELECT C.COL1, B.COL2, B.COL3,TO_CHAR(B.EFFDT,'YYYY-MM-DD') COL4,B.COL5,B.COL6
    FROM TABLE1 A, TABLE2 B, TABLE3 C
    WHERE
    and A.ID = 'XXX'
    and a.setcntrlvalue = ' '
    AND A.NAME = 'XXX'
    AND A.EFFDT =
    (SELECT MAX(A_ED.EFFDT) FROM TABLE1 A_ED
    WHERE A.SETID = A_ED.SETID
    AND A_ED.EFFDT <= SYSDATE)
    AND B.EFFDT =
    (SELECT MAX(B_ED.EFFDT) FROM TABLE2 B_ED
    WHERE B.SETID = B_ED.SETID
    AND B.ACCOUNT = B_ED.ACCOUNT
    AND B_ED.EFFDT <= SYSDATE)
    AND A.SETID = B.SETID
    AND A.RANGE_FROM = A.RANGE_TO
    AND B.ACCOUNT = A.RANGE_FROM
    AND A.SETID = C.SETID
    AND A.TREE_NAME = C.TREE_NAME
    AND A.TREE_NODE_NUM = C.TREE_NODE_NUM
    AND C.EFFDT =
    (SELECT MAX(C_ED.EFFDT) FROM TABLE3 C_ED
    WHERE C.SETID = C_ED.SETID
    AND C_ED.EFFDT <= A.EFFDT)
    ------------------

  • How to load a flat file with utf8 format in odi as source file?

    Hi All,
    Anybody knows how we can load a flat file with utf8 format in odi as source file.Please everybody knows to guide me.
    Regards,
    Sahar

    Could you explain which problem are you facing?
    Francesco

  • "Could not open a file mapping" and crashes.

    Hello. I've just downloaded ReaderX from Adobe website. Rebooted. Now when I try to start Reader, the message box with title "Adobe Reader:AcroRd32.exe - Application Error", and the message box contents are "Could not open a file mapping". Reader window does not even show. When I click OK, the program terminates.
    What can I do to fix this error?
    I have a Windows 7 x64 installed.
    Update: Uninstalled, rebooted once again, reinstalled reader, now all works. Thread can be closed.
    Update2: After a hour of successful usage, I closed the Reader and then tried to open it again. Same problem with "Could not open a file mapping". Any suggestions?

    Repair via ARP is go to Add Remove Programs and select Adobe Reader, You will find two options highlighted one is repair and other is remove.
    From there you can Click on repair and click on next. It will repair your Reader install if there is some file missing.
    What are the other applications you have installed on your PC?

  • How to use Update Statement in ODI Procedure

    Hi,
    How can I use an update statement inside an ODI procedure.
    Thanks

    Hi,
    You do not need the BEGIN and END. ODI procedures are free text, so you can simply write your update statement, as you would in toad/sql developer etc etc. Just make sure you set the Technology and the logical schema. It is how ever best practice to also use the API:
    <%=odiRef.getSchemaName("YOUR_LOGICAL_SCHEMA_NAME", "D")%>. to prefix tables. This way, you select data from different schema's in the same instance (as long a your user has the correct privs).
    Cheers
    Bos
    Edited by: Bos on Jun 22, 2011 3:09 PM

  • Flat file mapping problem.

    Hi,
    I've just created a file mapping, and i'm trying to split a flat file field into 3 subfields for a xml record, but i have the following message:
    Before the process run, i've tested the message mapping and the interface mapping, and the log result said that the mapping has been successfully ended, so, Have you ever seen this problem before?
    I appreciate your help, thanks.
    Marzolla.

    Hi Jorge,
              Check your XML input. Try to put the same xml instance in the message mapping transformation and test it out.
    Regards,
    Dhana

Maybe you are looking for

  • ALV Report output as per selection screen

    Hi, I got a requirement. In selection screen there is field where i can entered 1 to 12 numbers. When i entered a number,  so that in output of an alv report should display that many fields for eg. if  i entered 5 in selection screen in out put 5 fie

  • How to load a font as resource in javafx ?

    Hi, I am trying to load a font as a resource as supposed of installing the font on the system. Is there a way in javafx to load font from a file at runtime? Thanks.

  • Report to scan a program

    Hello ABAPers, i want to develop a program which will take the Program name as input and output will be list of all variables which are used in the program. i want to use this list for some other purpose. The output list should contain all variables

  • How to configure N9 for push e-mail?

    Does anybody know how to configure N9 for push e-mail? It should be possible because push email is part of Nokia's N9 official specs but I'm unable to find any reference in the manual or online.

  • IDOC from inbound function module

    Hi All, I have a inbound function module.. I dont know its Idoc type. Ho to find the IDOC based on Inbound Function module Thanks Amruta