File Adapter - Multiple Record Types to same Target

I am currently reading in a fixed length file and loading into a table.
The issue is, some of the lines in my file differ by two spaces at the end. See example below.
For example,
Record 1 might look like :
DD/MM/YY - length of 8
Record 2 might look like:
DD/MM/YY{space}{space} - length of 10
and they both go into the same date column of my target
Question 1) Is there a way for BPEL to skip the two spaces at the end of each line for Record 2
Queston 2) I have currently created multiple record types for the two types but it won't allow me in my transformation to map them both to the "date" column in the target table. It says multiple nodes cannot be mapped to the target
Any help would be appreciated.

Hi,
Unfortunately the IKM SQLDR doesn't have the "when" condition to be wrote at ctl file.
If you wish a simple solution, just add an option (drop me a email if you want a LKM with this)
The point is:
With a single option, you will control the when ctl clause and, for instance, can define:
1) create 2 datastores (1 for each file)
2) the first position will be a column at each datastore
3) write the when condition to this first column at the LKM in the interface.
Does it help you?

Similar Messages

  • Flat File with multiple record types (OWB 10.2.0.2)

    Hi!
    I`m using OWB 10.2.0.2 and I`m trying to load a flat file with multiple record types, using SQL LOADER.
    In the flat file editor in the Record tab, I`ve set the type values and the corresponding record names like this:
    Type Value Record Name
    ======== ===========
    T TRAILER
    0 DETAILS
    1 DETAILS
    2 DETAILS
    When using this flat file in a mapping to load the data in a staging table, the generated code looks like this:
    INTO TABLE TRAILER
    TRUNCATE
    REENABLE DISABLED_CONSTRAINTS
    WHEN (1:1) = 'T'
    INTO TABLE DETAILS
    APPEND
    REENABLE DISABLED_CONSTRAINTS
    WHEN (1:1) = '0,1,2'
    The above clause (WHEN (1:1) = '0,1,2') is wrong as I expect one "INTO TABLE..." clause for each record type.
    Could this be a bug or am I doing something wrong?
    Thanks a lot for your help,
    Yorgos

    We`re using two target tables, one for the trailer record and the other for the details records.
    We are facing this problem from the moment we upgraded from OWB 10.1 to OWB 10.2.0.2, so we think it must be something with the way the sql loader code is generated in the new version.
    As our data sources are mainly flat files coming from mainframes, this is a huge problem for us. We even asked an expert in DW from Oracle to help us on this, but still haven`t found a solution.
    Is there any workaround for this or should we forget sql loader and go with an external tables + custom PL/SQL code solution?
    Your help is greatly appreciated Jean-Pierre.
    Regards,
    Yorgos

  • File Adapter: Multiple Records, Multiple Types to Multiple DB Tables

    Hi there,
    I have a proof-of-concept scenario which I am trying to model in ESB:
    I have a single flat file with one invoice header record and multiple invoice lines.
    I want to read this file via the File Adapter, and insert the different records into different database tables: the invoice header in an invoice table, and the invoice lines into a line item table.
    If I tackle the lines in isolation no problem (i.e. single file with only invoice lines in to the invoice lines table). Things break down when I add the invoice header into the mix.
    Does anyone have an example of this or something similar?
    Would I need to use seperate database adapters for the two tables, or is this achievable with a single database adapter?
    Thanks in advance!

    Thanks for that Abhi.
    I actually tried that, but I'd find that I would only get the header record added properly; the multiple invoice lines would not get written to the invoice line table properly.
    I found that I would either get the same invoice line added many times, or I would get null values.
    I played around with the for-each statement, and I even tried creating my own xsd for the data file (instead of using the native format tool).
    Any ideas what the issue might be?
    Thanks,
    Richard

  • Load data from a file with multiple record types to a single table-sqlldr

    We are using two datastores which refer to the same file. The file has 2 types of records header and detail.
    h011234tyre
    d01rey5679jkj5679
    h011235tyrr
    d01rel5678jul5688
    d01reh5698jll5638
    Can someone help in loading these lines from one file with only two data stores(not 2 separate files) using File to Oracle(SQLLDR) Knowledge Module.

    Hi,
    Unfortunately the IKM SQLDR doesn't have the "when" condition to be wrote at ctl file.
    If you wish a simple solution, just add an option (drop me a email if you want a LKM with this)
    The point is:
    With a single option, you will control the when ctl clause and, for instance, can define:
    1) create 2 datastores (1 for each file)
    2) the first position will be a column at each datastore
    3) write the when condition to this first column at the LKM in the interface.
    Does it help you?

  • How can I call multiple records(40) at same time as webservice ?

    Hi All
      My scenario is some thing like calling SOAP(Webservice) to Rfc(BAPI)
      Thing is how can i call multiple records at the same time using the SOAP
       adapter i.e i need to make a request to BAPI and in the BAPI response
       based on the fields, i need to send to different records....it is Sync call
    Can any explain me how to implement this scenario ?
    Regards
    Kiran lvs

    HI,
    Please see the below link
    http://help.sap.com/saphelp_nw04/helpdata/en/42/ed364cf8593eebe10000000a1553f7/content.htm
    Regards
    Chilla..

  • Reading fixed length file with different record types

    Hi,
    I need to read a fixed-length file with different record types, but the record identifier is in 31st position and not in 1st position.
    But if I give 31 as position in File adpater wizard, BPEL takes whole 1-31 as identifier.
    How we need to read such files.
    Thanks
    Ravdeep

    hi ,
    u cannot use the default wzard for this
    use some thing like this nxsd:lookAhead="30" nxsd:lookFor="S"have a look at the below link it has some examples
    http://download.oracle.com/docs/cd/B31017_01/integrate.1013/b28994/nfb.htm

  • Insert Insert XML file into multiple records in Oracle Database

    I would like to find out if it is possible to insert a single XML file into multiple records or tuples in a Oracle database table. I have a single XML file which is at multiple levels. The meta data for the levels are common and each level can have meta data of their own in addition. I do not have any meta data field which will uniquely determine whether the data belongs to Root level, Intermediate level or at the document level. Is there any way I can determine which level the meta data belongs to and thereby make a corresponding entry into the database table tuple? For example I could have an attribute called level which is going to be present only in the database table and not in the XML file. If level=1 then it corresponds to "Root" meta data, if level=2 then it corresponds to "Intermediate" level and if level=3 then it corresponds to meta data at document level. I need a way to calculate the value for level from the XML file and thereby insert the meta data element into a tuple in a single table in Oracle.

    Hi,
    extract your xml and then you can use insert all clause.
    here's very small example on 10.2.0.1.0
    SQL> create table table1(id number,val varchar2(10));
    Table created.
    SQL> create table table2(id number,val varchar2(10));
    Table created.
    SQL> insert all
      2  into table1 values(id,val)
      3  into table2 values(id2,val2)
      4  select extractValue(x.col,'/a/id1') id
      5        ,extractValue(x.col,'/a/value') val
      6        ,extractValue(x.col,'/a/value2') val2
      7        ,extractValue(x.col,'/a/id2') id2
      8  from (select xmltype('<a><id1>1</id1><value>a</value><id2>2</id2><value2>b</value2></a>') col from dual) x;
    2 rows created.
    SQL> select * from table1;
            ID VAL                                                                 
             1 a                                                                   
    SQL> select * from table2;
            ID VAL                                                                 
             2 b                                                                    Ants

  • Correlation for files containing multiple records

    I was learning correlation from a nice blog below.
    /people/milan.thaker/blog/2008/07/23/correlation-150-runtime-behavior-of-bpm
    I have one question though. In the case where the correlation is done on  a key field say PsNo.
    Now if two files have multiple records, will the correlation compare the PsNo of each record or is the comparison just on the first PsNo of each file record.
    Thanks,
    Minhaj.

    Hi Minhaj,
    1) Suppose if you want to merge 2 files into a single file based on a keyfield (PsNo), You are opting Correlation in BPM.
    In your Correlation Editor, You should mention the XPATH Expression for Keyfield(PsNO) for the involved messages.
    2) Only if both the values of keyfied(PsNo) in 2 files are equal then Only you can merge all those 2 files into single file.
    So first PsNo of each file record is going to compared with another file.

  • Single batch for multiple Valuation Type on same Plant

    Hi,
    Is it possible to have single batch for multiple valuation type on same Plant.
    Regards

    No you cannot have different valuation type for same batch of material for same plant.
    Regards
    Srinivas.P

  • Reading a multiple record types from a single File using BPEL file adapter

    Hi all.
    We have a requirement where we want to read a CSV file using the BPEl adapter.
    Following is the sample of csv file
    HDR,1,2,3
    ---- First transaction starts----
    TH,1,2,3
    RSD,1,1
    RSD,1,1
    TD,1
    -------Second transaction starts---
    TH,1,2,3
    RSD,1,1
    RSD,1,1
    RSD,1,1
    RSD,1,2
    TD,1
    TD,1
    -------------Third Transaction starts---
    TH,1,2,3
    RSD,1,1
    TD,1
    TD,1
    TD,1
    TD,1
    -------------Fourth Transaction starts---
    TH,1,2,3
    LN,1,1,1,1,2
    -----End of File---
    TAIL
    I have modified the file with some comments to have some clear understanding.
    Basically our file is a transactions file from legacy system & contains mutliple transactions
    First line will be a Header record starting "HDR" & contains all summary details about the file.
    After it is details of all transactions thorughout the day, each transaction begins with record starting "TH".As shown in all transactions above.EAch transaction can have other multiple records like the RSD & TD shown above.
    Our need is to read each transaction from the file & create an instance.How can we configure BPEL to grab the data starting with TH till it encounter's another TH.
    Please advise
    Krunal

    You can't use the wizard to create a schema if a file as complex as this. the good news is that you can create one yourself. What you need to do is create standard xsd that will handle your file, then what you do is add the terminators that determine when a field stops.
    Here is an example, hopefully this provides you enough infor for you to make your own.
    <?xml version="1.0" encoding="UTF-8" ?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
    targetNamespace="http://Invoice"
    xmlns:tns="http://Invoice"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    nxsd:encoding="ASCII"
    nxsd:stream="chars"
    nxsd:version="NXSD">
    <xsd:element name="Invoice">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="InvoiceHeader" nxsd:startsWith="000" maxOccurs="unbounded">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element ref="tns:InvoiceHeaderDetails" />
    <xsd:element ref="tns:LineItem" nxsd:startsWith="001" maxOccurs="unbounded"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="InvoiceHeaderDetails">
    <xsd:complexType>
    <xsd:sequence nxsd:style="array" nxsd:arrayTerminatedBy="${eol}">
    <xsd:element name="BusinessUnit" type="xsd:string" nxsd:style="fixedLength" nxsd:length="13" nxsd:paddedBy=" " nxsd:padStyle="tail"/>
    <xsd:element name="InvoiceNo" type="xsd:string" nxsd:style="fixedLength" nxsd:length="16" nxsd:paddedBy=" " nxsd:padStyle="tail" />
    <xsd:element name="InvoiceDate" type="xsd:string" nxsd:style="fixedLength" nxsd:length="15" nxsd:paddedBy=" " nxsd:padStyle="tail" />
    <xsd:element name="VendorNo" type="xsd:string" nxsd:style="fixedLength" nxsd:length="29" nxsd:paddedBy=" " nxsd:padStyle="tail" />
    <xsd:element name="OriginCode" type="xsd:string" nxsd:style="fixedLength" nxsd:length="3" nxsd:paddedBy=" " nxsd:padStyle="tail" />
    <xsd:element name="OperatorID" type="xsd:string" nxsd:style="fixedLength" nxsd:length="8" nxsd:paddedBy=" " nxsd:padStyle="tail" />
    <xsd:element name="LineCount" type="xsd:integer" nxsd:style="fixedLength" nxsd:length="34" nxsd:paddedBy=" " nxsd:padStyle="tail" />
    <xsd:element name="GrossAmount" type="xsd:decimal" nxsd:style="fixedLength" nxsd:length="17" nxsd:paddedBy=" " nxsd:padStyle="tail" />
    <xsd:element name="DiscountAmount" type="xsd:decimal" nxsd:style="fixedLength" nxsd:length="50" nxsd:paddedBy=" " nxsd:padStyle="tail" />
    <xsd:element name="FreightAmount" type="xsd:decimal" nxsd:style="fixedLength" nxsd:length="93" nxsd:paddedBy=" " nxsd:padStyle="tail" />
    <xsd:element name="TaxAmount" type="xsd:decimal" nxsd:style="fixedLength" nxsd:length="50" nxsd:paddedBy=" " nxsd:padStyle="tail" />
    <xsd:element name="DiscountFlag" type="xsd:string" nxsd:style="fixedLength" nxsd:length="1" nxsd:paddedBy=" " nxsd:padStyle="tail" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="LineItem">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="LineItemDetails">
    <xsd:complexType>
    <xsd:sequence nxsd:style="array" nxsd:arrayTerminatedBy="${eol}">
    <xsd:element name="BusinessUnit" type="xsd:string" nxsd:style="fixedLength" nxsd:length="13" nxsd:paddedBy=" " nxsd:padStyle="tail"/>
    <xsd:element name="InvoiceLineNo" type="xsd:integer" nxsd:style="fixedLength" nxsd:length="5" nxsd:paddedBy=" " nxsd:padStyle="tail" />
    <xsd:element name="DistributionCount" type="xsd:integer" nxsd:style="fixedLength" nxsd:length="5" nxsd:paddedBy=" " nxsd:padStyle="tail" />
    <xsd:element name="BusinessUnitPO" type="xsd:string" nxsd:style="fixedLength" nxsd:length="5" nxsd:paddedBy=" " nxsd:padStyle="tail"/>
    <xsd:element name="PONo" type="xsd:string" nxsd:style="fixedLength" nxsd:length="10" nxsd:paddedBy=" " nxsd:padStyle="tail"/>
    <xsd:element name="POLineNo" type="xsd:integer" nxsd:style="fixedLength" nxsd:length="38" nxsd:paddedBy=" " nxsd:padStyle="tail"/>
    <xsd:element name="InvoiceLineAmount" type="xsd:decimal" nxsd:style="fixedLength" nxsd:length="17" nxsd:paddedBy=" " nxsd:padStyle="tail"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element ref="tns:Distribution" nxsd:startsWith="002" maxOccurs="unbounded"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="Distribution">
    <xsd:complexType>
    <xsd:sequence nxsd:style="array" nxsd:arrayTerminatedBy="${eol}">
    <xsd:element name="BusinessUnit" type="xsd:string" nxsd:style="fixedLength" nxsd:length="13" nxsd:paddedBy=" " nxsd:padStyle="tail"/>
    <xsd:element name="InvoiceLineNo" type="xsd:integer" nxsd:style="fixedLength" nxsd:length="5" nxsd:paddedBy=" " nxsd:padStyle="tail" />
    <xsd:element name="DistributionLineNo" type="xsd:integer" nxsd:style="fixedLength" nxsd:length="10" nxsd:paddedBy=" " nxsd:padStyle="tail" />
    <xsd:element name="GLAccountCode" type="xsd:string" nxsd:style="fixedLength" nxsd:length="84" nxsd:paddedBy=" " nxsd:padStyle="tail"/>
    <xsd:element name="DistributionAmount" type="xsd:decimal" nxsd:style="fixedLength" nxsd:length="162" nxsd:paddedBy=" " nxsd:padStyle="tail" />
    <xsd:element name="DistributionTaxAmount" type="xsd:decimal" nxsd:style="fixedLength" nxsd:length="62" nxsd:paddedBy=" " nxsd:padStyle="tail" />
    <xsd:element name="GLDepartmentCode" type="xsd:string" nxsd:style="fixedLength" nxsd:length="10" nxsd:paddedBy=" " nxsd:padStyle="tail"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    cheers
    James

  • File Adapter - Multiple fixed length records in the same file

    Hi
    I am developing a BPEL process that "Sync Read" a file. The file is a flat file comprising of multiple records and each record is of fixed length. There are no delimiters in the file. I got the xsd associated to this flat file and each element is defined with some fixed length and starting position. The xsd is valid.
    When I execute the BPEL Process, I get the following error - I verified the file structure and the position of the fields map correctly. Remember this is not an xml file just a plain text file. Can BPEL process such files or should I always provide an "xml" file?
    <bpelFault><faultType>0</faultType><bindingFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="detail"><detail>Start of root element expected.</detail></part><part name="summary"><summary>Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'SynchRead' failed due to: Error while translating. Translation exception. Error occured while translating content from file /tmp/inputDir/VDA1.txt ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. </summary></part><part name="code"><code>null</code></part></bindingFault></bpelFault>
    Thanks
    Shanthi

    hi,
    see you actually read a XML file and when you read it it is verified by a XSD the location of the XSD is in the XML file it self,
    <tns:abc xmlns:tns="http://xmlns.int.aaa.co.uk/xmlns/BPELXXX"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.int.aaa.co.uk/xmlns/BPELXXX *c:/aaa/bbb/ccc/XSD/abc.xsd*">
    if the file you are reading is valid then it is read, other wise not, I am not sure about sys read, but in empty BPEL process, if the XML is not validated with the XSD, then the XML is not read, I am still not sure what is the meaning of flat file, are you doing a opaque read?
    Yatan

  • Pl/Sql for creating Multiple record type file

    Hi all,
    I have a scenario where I need to create a flat file that contains two different record types in the same file. Basically, a way of getting both the header record and the corresponding detail records. Following are the details:
    Table A (Header Records)
    "REC_TYPE" "M_ID" "DATE" "*C_ID*"
    1 123 090807 *222*
    1 345 090907 *333*
    Table B (Detail Records)
    "REC_TYPE" "A_NO" "LINE_NO" "*C_ID*"
    2 7564 1 *222*
    2 4535 2 *222*
    2 4656 1 *333*
    2 6576 2 *333*
    In the output file, the resultset should be as:
    222, 123, 090807 (Header Record)
    *222, 7564, 1* (Detail Record)
    *222, 4535, 2* (Detail Record)
    333, 345, 090907 (Header Record)
    *333, 4656, 1 (Detail Record)*
    *333, 6576, 2 (Detail Record)*
    Any input is greatly appreciated.
    Thank you!

    NOT TESTED ! Don't remember when I used loops for the last time. I won't have database access until september (on vacation).
    declare
      type header_t is record
        c_id ... ,
      type detail_t is record
        c_id ... ,
      header_r header_t;
      detail_r detail_t;
      cursor c_h is select c_id, ...
                      from ...
                     order by 1;                      -- header cursor
      cursor c_d is select c_id, ...
                      from ...
                     order by 1;                      -- detail cursor
      end_line    varchar2(2) := chr(13) || chr(10);  -- chr(10) to be used for non Windows
      a_separator varchar2(1) := ',';
      a_buffer    varchar2(32767);
      l_buffer    constant number := 32767;
      f_handle    utl_file.file_type;
      procedure buffer_put(p_line in varchar2) is
      begin
        if length(a_buffer) + length(p_line) < l_buffer then
          a_buffer := a_buffer || p_line;
        else
          utl_file.put(f_handle,a_buffer);
          a_buffer := p_line;
        end if;
      end;
      function build_header_record(p_record in header_t) return varchar2 is
        retval varchar2(4000) := '';
      begin
        retval := retval || to_char(p_record.c_id) || a_separator;
        retval := retval || ... || a_separator;
        retval := retval || ... || end_line;
        return retval;
      end;
      function build_detail_record(p_record in detail_t) return varchar2 is
        retval varchar2(4000) := '';
      begin
        retval := retval || to_char(p_record.c_id) || a_separator;
        retval := retval || ... || a_separator;
        retval := retval || ... || end_line;
        return retval;
      end;
    begin
      f_handle := utl_file.fopen ('THE_DIRECTORY','the_file.ext','w',l_buffer);
      open c_h;
      open c_d;
      loop
        fetch c_h into header_r;
        exit when c_h%notfound;
        buffer_put(build_header_record(header_r));
        if c_h%rowcount > 1 and (header_r.c_id = detail_r.c_id) then
          buffer_put(build_detail_record(detail_r));
        end if;
        loop
          fetch c_d into detail_r;
          exit when c_d%notfound or (detail_r.c_id != header_r.c_id);
          buffer_put(build_detail_record(detail_r));
        end loop;
      end loop;
      if length(a_buffer) > 0 then
        utl_file.put(f_handle,a_buffer);
      end if;
      utl_file.fflush(f_handle);
      utl_file.fclose(f_handle);
    end;Regards
    Etbin
    utl_file.fclose(f_handle); instead of utl_file.fclose;
    Edited by: Etbin on 11.8.2009 8:54

  • File to rfc (file has multiple records)

    Hi Guys,
    I have a filr to rfc scenario..
    I created a Z table with ITAB in import tab and field names and then a BAPi using se37...
    The BAPI source code is just one line
    Modify Ztable from ITAB
    I first tried wth input file having one record, and in scenario runs successfully to update the Z table, checked in se 16
    Now when the input file has more than one record, but ZBAPI has just 1..1 ITAB tab
    Ho can I do multiple inserts using the same rfc/bapi??
    Regards,
    Teja

    Hi,
    As Prateek suggested 2 opionts, so I think option 2 is best for your otherwise option 1 can lead into performance issues.
    Make sure that you have declard your internal table ITAB as standard table of ztable. e.g.
    DATA: ITAB      type standard table of ztable,
           WA_ITAB  type ztable.
    if you do like this and import the BAPI in XI then you can see the occurence of target has been changed as 0..unbounded
    Finally, when you have multiple records in your internal table then loop on it and update the table. e.g.
    Loop at itab into wa_itab.
    Modify Ztable from WA_ITAB.
    Clear:wa_itab.
    Endloop.
    Regards,
    Sarvesh

  • Get MUTLIPLE output files for SINGLE input file with multiple records

    Hi ,
    I have source xml file  which has multiple records in it and  I want to get multiple seperate  flat files for it.
    this is my source structure
    <root>
    <Header1 fld1=1234 fld2="name1" fld3='SAP1"
    fld4='000" fld5=0 fld6="sdn1"></header>...............no line items here
    <Header2 fld1=123 fld2="name" fld3='SAP"
    fld4='00" fld5=0 fld6="sdn" ><line fld7=value1 fld8=value2 fld9=value3 /line><line fld7=value4 fld8=value5 fld9=value6 /line></header>.....two line items here
    <Header3 fld1=123 fld2="name" fld3='SAP"
    fld4='00" fld5=0 fld6="sdn" ><line fld7=value7 fld8=value8 fld9=value9 /line></header>......one line item here
    Header4 fld1=12345 fld2="name2" fld3='SAP2"
    fld4='0006" fld5=01 fld6="sdn2"</header>.......no line items here
    </root>
    I am trying to get flat files as many time the <b>header</b> values occur that many target files should appear in the target.
    like
    file1:
    1234name1SAP10000~sdn1
    file2:
    123nameSAp000~sdn
    value1value2valu3
    valu4value5value6
    file3:
    123namesap000~sdn
    value7valu8value9
    file4:
    12345name2SAP2000601~SDN2
    here I have 4 headers so i need to get 4 output files ,similarly for 'n' headers I need to get 'n'  output flat files. the above mentioned source xml file is just one file,like that I might get somany sourc xml files which has similar structure in it.
    and also it is important to get the line items,if exists to the header, for the corresponding headers.
    how can I achieve this?do I need to use BPM or any mappings other than Graphical? 
    please suggest me.
    thank you.
    Babu
    sorry,output file structure changed
            Babu

    Babu,
    See the Mapping and the logic.
    Make sure your target message occurrence:http://www.flickr.com/photo_zoom.gne?id=1412748793&size=o
    Check out for source and target structure
    http://www.flickr.com/photo_zoom.gne?id=1412748803&size=o
    http://www.flickr.com/photo_zoom.gne?id=1412748809&size=o
    http://www.flickr.com/photo_zoom.gne?id=1412748815&size=o
    http://www.flickr.com/photo_zoom.gne?id=1412748825&size=o
    Results:http://www.flickr.com/photo_zoom.gne?id=1412748799&size=o
    Note:
    While creating Interface determination choose it as Enhanced/Extended
    The Receiver Content conversion - For field separator and line separator give 'nl' , coz we concatenated all of them using ~ in mapping.
    If you find any discrepancy in the above logic , please let me know.
    raj.

  • VSAM file with multiple record layouts (COBOL REDEFINES)

    Hi. We're using Tuxedo 12c to migrate a COBOL/CICS/VSAM application from MVS to Solaris/Oracle 11gR2.
    We have a few VSAM files with record layouts that start with a record-type field, and based on that, the remainder of the record layout varies based on COBOL copybooks using REDEFINES. We can't be the first to have this issue, and am wondering if there's a best-practice solution. Our initial thought is that each record type should become a separate database table, but if we need to do this manually, we'll also need to modify the post-converted code manually. I'm hoping there's a better way.
    Thanks.

    You are correct; you are not the first person to do this. There are a number of different strategies depending upon what you are trying to accomplish. First, is your objective to leave the COBOL/CICS/VSAM as is? If so, which COBOL compiler do you intend to use? Are you using Tuxedo ART Workbench? Are you aware that you have the option of leaving the VSAM datasets as VSAM on the target platform? If you want to convert VSAM to Oracle DB tables, you can create a separate table for each record type as you suggested or you can treat the entire record as a blob and let the copyfile sort it out once the data is returned to the program. Of course with this approach you will not realize the benefits Oracle DB as an RDBMS. Please provide me some additional context and I will make some best practices suggestions.
    You can get some insight on Tuxedo ART Workbench at http://docs.oracle.com/cd/E18050_01/artwb/docs11gr1/wbuser/FileToOracle.html

Maybe you are looking for