Sender File Adapter. Fixed Lengths and Field Separator
Hello guys,
I have a doubt in Sender File Adapter with Content Conversion.
I have a text file like:
a,b,c,,e
I have the configuration in the adapter:
Register.fieldNames: a,b,c,d,e
Register.fieldSeparator: ,
The question I have is can I format the length of the text when i create the XML?
I woul like to create the XML like:
<Row>
<Register>
<a>a </a>
<a>b </a>
<a>c </a>
<a> </a>
<a>e </a>
</Register>
</Row>
I would like that when I create the file in Field A I have length = 4, but I have only 1 in the entry, and I want to fill the rest of the length with spaces.
I tried with FieldFixedLengths but when I test it the fields are not being formatted and take the commas as part of the field.
I know that this can be done in Receiver File Adapter, you leave for example one field of 5 length and you format it to 12 length with spaces.
Is this possible for Sender File ADapter?
Many thanks.
Regards,
Xavi.
hi,
See the example given in this bog, in this blog the string has been splited into different fields as per the field length, so you may use the same concept to get your output.
/people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file
I hope it helps you.
Regards,
Sarvesh
Similar Messages
-
Sender File Adapter - Fixed Length
We have a Fixed File(Sender). With 3 fields. NO Header. Space is the separator for each fields
VendorNumber 10 bytes
VendorName 10 bytes
City 5 bytes
In the File we can have multiple records.
The Root Node is Vendor.
I am trying to define the SENDER FILE ADAPTER in the following way (I have referred mostly all the blogs) but my file is not picking up for some reason.
File looks like this
V123456789 A123456789 Bosto
V234567890 B123456789 Atlan
V334587900 C123456789 Austi
Note : I have been asked to give the Transport Protocol as "NFS" (Whether this is the problem???) I have summarised the complete details below. Please help me
Adapter Type : File Sender
Transport Protocol : NFS
Message Protocol : File Content Convervsion
Adapter Engine : Integration Server
FILE ACCESS PARAMETERS
Source Directory : /business
file Name : vendor.txt
Content Conversion Parameters
Document Name : Vendor
Document NameSpace: http://sap.com/xi/XI/SplitAndMerge
Recordsetname : Message1
Record Structure : File_MT,*
Recordset Sequence: Ascending
Key Field type : String(Case Sensitive)
Additional Parameters
File_MT.fieldFixedLengths 10,10,5
File_MT.fieldNames VendorNumber,VendorName,City
File_MT.fieldSeparator
File_MT..processFieldNames fromConfiguration.Hi Naveen,
Do check the following things,
>>Note : I have been asked to give the Transport Protocol as "NFS" (Whether this is the problem???) I have summarized the complete details below. Please help me
1.If your file resides on your local network/local computer give NFS(Network file system). if your file resides on a FTP location give FTP and also give the FTP log on parameters.
Additional Parameters
File_MT.fieldFixedLengths 10,10,5
File_MT.fieldNames VendorNumber,VendorName,City
File_MT.fieldSeparator
File_MT..processFieldNames fromConfiguration
2.If this structure does not match with the input file structure the file adapter wont pick up the file. So check for the help document provided by SAP in the following path.
help.sap.com --> Documentation --> SAPNetWeaver --> SAPNetWeaver '04 --> English --> process integration --> SAP Exchange Infrastructure --> connectivity --> Adapters --> File Adapter
Your file contains three records
V123456789 A123456789 Bosto
V234567890 B123456789 Atlan
V334587900 C123456789 Austi
You have mentioned the fieldSeperator as space but there is no File_MT.endSeparator '/n' which differentiates between each and every row (record).
Parameters for Record set Structures mentioned in the sender adapter configuration does not match with the actual file structure .
Try giving exact structures in the configuration of sender file adapter.
regards,
Aravindh. -
Sender File Adapter - FCC - No incoming field separator - How to do FCC?
Hi,
I have a sender File adapter and I need to do the File Content Conversion but there apparently no incoming field separator and the file ocntains just running text - no data records but just information.
For example the incoming file is something like:
The Hongkong and Shanghai Banking Corporation Limited 27JAN2009 PAGE 1
Incorporated in Hong Kong with limited liability
ABC IAL LIMITED ABU DHABI, UAE
ABC MIDDLE EAST Account No. 001-8888888
ABU DHABI Payment Set AAA
BBB MAIL BOX NO.99 Contact Person ABC LIMITED
7777777777 Telephone
AUTOPAY LIST - PROCESSED
(AUTOPAY-OUT SALARY)
Payment Date 27JAN2009
First Party Narrative . 66666666
Second Party Narrative .
The Message type that I am mapping to contains:
MT_XXXX
WA
Item
Item2
Item3
This is so that the information can be mapped to different field areas and send across to the Receiver Mail Adapter. In the mail i receive, i get the running text. I tried giving the field separator as '0x09' but it is not working.
I have also tried WA..fieldContentFormatting to nothing but again no luck.
I have tried with Recordset Sequence with Ascending and variable and have also tried Recordsets per Message with * and blank - but it did not help.
Please advice.
Regards,
ArchanaHi,
I assumed that it was tab but when I made the change in FCC, it did not work.
I would still like to have a output where it looks like below if more than 2 types of information in 1 line as below:
ABC IAL LIMITED ABU DHABI, UAE
ABC MIDDLE EAST Account No. 001-9999999999999
and not something like:
ABC IAL LIMITED ABU DHABI, UAE
ABC MIDDLE EAST Account No. 001-999999999999
I am not sure what to do here.
Help please.
Regards,
Archana -
File Adapter: Fixed length file read fails when all data not present
Hi
We have a BPEL process that reads fixed length data files. It works fine when all the data elements are available in the file but fails with 'rejected:10002' when even a single data is missing.
How to handle this situation in BPEL file adapter?
Are we doing something wrong or is this a normal functionality.
If yes, then is there any work around for this as this is a very usual business condition which may occur, where all data elements are not mandetory.
fixedLength
==========
2,3,3,2
Data - Successful
============
1234567890
2345678901
3456789012
Data - Failed
===========
1234567890
2345678901
345678901
Thanks in advance
BuddhadevHi Naveen,
Do check the following things,
>>Note : I have been asked to give the Transport Protocol as "NFS" (Whether this is the problem???) I have summarized the complete details below. Please help me
1.If your file resides on your local network/local computer give NFS(Network file system). if your file resides on a FTP location give FTP and also give the FTP log on parameters.
Additional Parameters
File_MT.fieldFixedLengths 10,10,5
File_MT.fieldNames VendorNumber,VendorName,City
File_MT.fieldSeparator
File_MT..processFieldNames fromConfiguration
2.If this structure does not match with the input file structure the file adapter wont pick up the file. So check for the help document provided by SAP in the following path.
help.sap.com --> Documentation --> SAPNetWeaver --> SAPNetWeaver '04 --> English --> process integration --> SAP Exchange Infrastructure --> connectivity --> Adapters --> File Adapter
Your file contains three records
V123456789 A123456789 Bosto
V234567890 B123456789 Atlan
V334587900 C123456789 Austi
You have mentioned the fieldSeperator as space but there is no File_MT.endSeparator '/n' which differentiates between each and every row (record).
Parameters for Record set Structures mentioned in the sender adapter configuration does not match with the actual file structure .
Try giving exact structures in the configuration of sender file adapter.
regards,
Aravindh. -
File Adapter fixed length Native format Builder schema not reading the data as expected
Hi
We are using a File Adapter for reading a fixed length data. Using the schema we are able to read the file but the places are incorrect. Following is the schema that we used and the payload.
At the last you can find our expected read of data how it should be.
With out the record type code we are not even reading the file. Hope there should be a correction in the schema. Please suggest
Schema that we are using:
<?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"
xmlns:tns="http://xmlns.energy.com/CreateReturnedItemGENVNDRPReqABCSImplFileAdapterReadReturnedItem"
targetNamespace="http://xmlns.energy.com/CreateReturnedItemGENVNDRPReqABCSImplFileAdapterReadReturnedItem"
elementFormDefault="qualified" attributeFormDefault="unqualified" nxsd:version="NXSD" nxsd:stream="chars"
nxsd:encoding="US-ASCII">
<xsd:element name="GENVNDRReturnedItem">
<xsd:complexType>
<xsd:sequence minOccurs="1" maxOccurs="unbounded" nxsd:choiceCondition="fixedLength" nxsd:length="1">
<xsd:element name="HeaderRec" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:startsWith="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="RecordTypeCode" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="1" nxsd:padStyle="tail"/>
<xsd:element name="PriorityCode" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="2" nxsd:padStyle="tail"/>
<xsd:element name="ImmediateDstn" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="10" nxsd:padStyle="tail"/>
<xsd:element name="ImmediateOrgin" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="10" nxsd:padStyle="tail"/>
<xsd:element name="FileCrDt" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="6" nxsd:padStyle="tail"/>
<xsd:element name="FileCrTm" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="4" nxsd:padStyle="tail"/>
<xsd:element name="FileIdMdfr" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="1" nxsd:padStyle="tail"/>
<xsd:element name="RecSize" type="xsd:string" nxsd:style="fixedLength" nxsd:length="3"
nxsd:padStyle="tail"/>
<xsd:element name="BlockingFctr" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="2" nxsd:padStyle="tail"/>
<xsd:element name="FormatCd" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="1" nxsd:padStyle="tail"/>
<xsd:element name="ImmediateDstnNm" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="23" nxsd:padStyle="tail"/>
<xsd:element name="ImmediateOrginNm" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="23" nxsd:padStyle="tail"/>
<xsd:element name="RefCd" type="xsd:string" nxsd:style="fixedLength" nxsd:length="8"
nxsd:padStyle="tail"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="BatchHdrRec" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:startsWith="5">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="RecordTypeCode" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="1" nxsd:padStyle="tail"/>
<xsd:element name="ServClsCode" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="3" nxsd:padStyle="tail"/>
<xsd:element name="CmpnyName" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="16" nxsd:padStyle="tail"/>
<xsd:element name="CmpnyDiscretionaryData" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="20" nxsd:padStyle="tail"/>
<xsd:element name="CmpnyIdfn" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="10" nxsd:padStyle="tail"/>
<xsd:element name="StdClsCode" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="3" nxsd:padStyle="tail"/>
<xsd:element name="CmpnyEntryDesc" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="10" nxsd:padStyle="tail"/>
<xsd:element name="CmpnyDescDate" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="6" nxsd:padStyle="tail"/>
<xsd:element name="EffEntryDate" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="6" nxsd:padStyle="tail"/>
<xsd:element name="SettlementDate" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="3" nxsd:padStyle="tail"/>
<xsd:element name="OrgntrStatusCode" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="1" nxsd:padStyle="tail"/>
<xsd:element name="OrgntrBatchCode" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="15" nxsd:padStyle="tail"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="FileControlRec" nxsd:style="terminated" nxsd:terminatedBy="${eol}"
nxsd:startsWith="9">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="RecordTypeCode" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="1" nxsd:padStyle="tail"/>
<xsd:element name="BatchCnt" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="6" nxsd:padStyle="tail"/>
<xsd:element name="BlockCnt" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="6" nxsd:padStyle="tail"/>
<xsd:element name="EntryAddendaCnt" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="8" nxsd:padStyle="tail"/>
<xsd:element name="EntryHash" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="10" nxsd:padStyle="tail"/>
<xsd:element name="TtlDbtEntryDlrAmt" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="12" nxsd:padStyle="tail"/>
<xsd:element name="TtlCrdtEntryDlrAmt" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="12" nxsd:padStyle="tail"/>
<xsd:element name="Reserved" type="xsd:string" nxsd:style="fixedLength"
nxsd:length="39" nxsd:padStyle="tail"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Sample data:
1011390714890 0910000191406110449A094101MCSCLDA_TESTIN
XPLLS KNRGO CNNK
5200MCSCLDA_TESTIN e-Bill
2390714890TELe-Bill
1406100001091000017000001
6262759774891010000074743
0000033793102651-013 U HOLBACH KARLA & JAMES 1091000013925011
799R01091000013925011
27597748
091000010000001
820000000200275977480000000337930000000000002390714890
091000010000001
9000060000025000001200995048661000001265867000000000000
Read File receive Activity:
<GENVNDRReturnedItem>
<HeaderRec>
<RecordTypeCode>0</RecordTypeCode>
<PriorityCode>11</PriorityCode>
<ImmediateDstn>390714890</ImmediateDstn>
<ImmediateOrgin>0910000191</ImmediateOrgin>
<FileCrDt>406110</FileCrDt>
<FileCrTm>449A</FileCrTm>
<FileIdMdfr>0</FileIdMdfr>
<RecSize>941</RecSize>
<BlockingFctr>01</BlockingFctr>
<FormatCd>M</FormatCd>
<ImmediateDstnNm>CSCLDA_TESTIN X</ImmediateDstnNm>
<ImmediateOrginNm>PLLS KNRGO CNNK</ImmediateOrginNm>
<RefCd></RefCd>
</HeaderRec>
<BatchHdrRec>
<RecordTypeCode>2</RecordTypeCode>
<ServClsCode>00M</ServClsCode>
<CmpnyName>CSCLDA_TESTIN e</CmpnyName>
<CmpnyDiscretionaryData>-Bill 2</CmpnyDiscretionaryData>
<CmpnyIdfn>390714890T</CmpnyIdfn>
<StdClsCode>ELe</StdClsCode>
<CmpnyEntryDesc>-Bill</CmpnyEntryDesc>
<CmpnyDescDate>1</CmpnyDescDate>
<EffEntryDate>406100</EffEntryDate>
<SettlementDate>001</SettlementDate>
<OrgntrStatusCode>0</OrgntrStatusCode>
<OrgntrBatchCode>91000017000001</OrgntrBatchCode>
</BatchHdrRec>
<FileControlRec>
<RecordTypeCode>0</RecordTypeCode>
<BatchCnt>000600</BatchCnt>
<BlockCnt>000250</BlockCnt>
<EntryAddendaCnt>00001200</EntryAddendaCnt>
<EntryHash>9950486610</EntryHash>
<TtlDbtEntryDlrAmt>000012658670</TtlDbtEntryDlrAmt>
<TtlCrdtEntryDlrAmt>00000000000</TtlCrdtEntryDlrAmt>
<Reserved></Reserved>
</FileControlRec>
</GENVNDRReturnedItem>
Expected Read data how we are looking:
<GENVNDRReturnedItem>
<HeaderRec>
<RecordTypeCode>0</RecordTypeCode>
<PriorityCode>11</PriorityCode>
<ImmediateDstn>39071489</ImmediateDstn>
<ImmediateOrgin>0091000019</ImmediateOrgin>
<FileCrDt>140611</FileCrDt>
<FileCrTm>0449</FileCrTm>
<FileIdMdfr>A</FileIdMdfr>
<RecSize>094</RecSize>
<BlockingFctr>10</BlockingFctr>
<FormatCd>1</FormatCd>
<ImmediateDstnNm>MCSCLDA_TESTIN</ImmediateDstnNm>
<ImmediateOrginNm>XPLLS KNRGO CNNK</ImmediateOrginNm>
<RefCd/>
</HeaderRec>
<BatchHdrRec>
<RecordTypeCode>2</RecordTypeCode>
<ServClsCode>200</ServClsCode>
<CmpnyName>MCSCLDA_TESTIN</CmpnyName>
<CmpnyDiscretionaryData>e-Bill</CmpnyDiscretionaryData>
<CmpnyIdfn>2390714890</CmpnyIdfn>
<StdClsCode>TEL</StdClsCode>
<CmpnyEntryDesc>e-Bill</CmpnyEntryDesc>
<CmpnyDescDate/>
<EffEntryDate>140610</EffEntryDate>
<SettlementDate>000</SettlementDate>
<OrgntrStatusCode>1</OrgntrStatusCode>
<OrgntrBatchCode>091000017000001</OrgntrBatchCode>
</BatchHdrRec>
<FileControlRec>
<RecordTypeCode>0</RecordTypeCode>
<BatchCnt>000060</BatchCnt>
<BlockCnt>000025</BlockCnt>
<EntryAddendaCnt>00000120</EntryAddendaCnt>
<EntryHash>0995048661</EntryHash>
<TtlDbtEntryDlrAmt>000001265867</TtlDbtEntryDlrAmt>
<TtlCrdtEntryDlrAmt>000000000000</TtlCrdtEntryDlrAmt>
<Reserved/>
</FileControlRec>
</GENVNDRReturnedItem>at step 8 of 9 of the file adapter wizard, the icon appears as a cog, on the right, with caption "define schema for native format".
I have JDev 11..1.1.3.0
The problem might be with the version of the SOA extensions you have installed.... -
File Adapter Fixed Length File issue
Hi,
I have a fixed length flat file with each row 13 characters long. First character of each row represents a record type i.e. 0,1,2,3,4,5,6,7,8,9 here is my sample file:
0123456
960373
A602710542583
7602710542583
1602750499275
4602750499275
1602750529800
7602750529800
1603030507732
7603030507732
1603030509055
7603030509055
1603030509229
7603030509229
2603600556240
0603600566095
2603600567460
3603310536370
5603310525810
3603310531092
3603310521842
0603310521842
3603310521842
3603310521842
860201450SA A
560201451SA A
560201452SA A
560201453SAN
1603630565355
7603630565355
1603630565500
7603630565500
9603460539390
2603460535260
3603790509870
560200401ABIL
660372TX066
660373TX01531
660373TX01532
860373TX066
660373TX068
360373TX09465
660373TX09471Here is the schema
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://xmlns.oracle.com/pcbpel/tstSchema/SMP" xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd" targetNamespace="http://xmlns.oracle.com/pcbpel/tstSchema/SMP" elementFormDefault="qualified" attributeFormDefault="qualified" nxsd:version="NXSD" nxsd:stream="chars">
<element name="SMP">
<complexType>
<choice maxOccurs="unbounded" nxsd:choiceCondition="fixedLength" nxsd:length="1">
<element ref="tns:smpRecords" nxsd:conditionValue="0" minOccurs="0" maxOccurs="unbounded"/>
<element ref="tns:smpRecords" nxsd:conditionValue="1" minOccurs="0" maxOccurs="unbounded"/>
<element ref="tns:smpRecords" nxsd:conditionValue="2" minOccurs="0" maxOccurs="unbounded"/>
<element ref="tns:smpRecords" nxsd:conditionValue="3" minOccurs="0" maxOccurs="unbounded"/>
<element ref="tns:smpRecords" nxsd:conditionValue="4" minOccurs="0" maxOccurs="unbounded"/>
<element ref="tns:smpRecords" nxsd:conditionValue="5" minOccurs="0" maxOccurs="unbounded"/>
<element ref="tns:smpRecords" nxsd:conditionValue="6" minOccurs="0" maxOccurs="unbounded"/>
<element ref="tns:smpRecords" nxsd:conditionValue="7" minOccurs="0" maxOccurs="unbounded"/>
<element ref="tns:smpRecords" nxsd:conditionValue="8" minOccurs="0" maxOccurs="unbounded"/>
<element ref="tns:smpRecords" nxsd:conditionValue="9" minOccurs="0" maxOccurs="unbounded"/>
</choice>
</complexType>
</element>
<element name="smpRecords" type="tns:smpRecordsType"/>
<complexType name="smpRecordsType">
<sequence>
<element name="data1" type="string" nxsd:style="fixedLength" nxsd:length="2" nxsd:padStyle="tail" nxsd:paddedBy=" "/>
<element name="data2" type="string" nxsd:style="fixedLength" nxsd:length="3" nxsd:padStyle="tail" nxsd:paddedBy=" "/>
<element name="emp" type="string" nxsd:style="terminated" nxsd:terminatedBy="${eol}"/>
</sequence>
</complexType>
</schema>When I run the process I get the following output and that is not correct as the first character is also being shown in the output as opposed to be skipped as it is the record type and the output should start from second character.
output
<SMP>
<smpRecords>
<data1>12</data1>
<data2>345</data2>
<emp>6 </emp>
</smpRecords>
<smpRecords>
<data1>96</data1>
<data2>037</data2>
<emp>3 </emp>
</smpRecords>
<smpRecords>
<data1>A16</data1>
<data2>027</data2>
<emp>10542583</emp>
</smpRecords>
<smpRecords>
<data1>76</data1>
<data2>027</data2>
<emp>10542583</emp>
</smpRecords>
<smpRecords>
<data1>16</data1>
<data2>027</data2>
<emp>50499275</emp>
</smpRecords>
<smpRecords>
<data1>46</data1>
<data2>027</data2>
<emp>50499275</emp>
</smpRecords>
<smpRecords>
<data1>16</data1>
<data2>027</data2>
<emp>50529800</emp>
</smpRecords>
<smpRecords>
<data1>76</data1>
<data2>027</data2>
<emp>50529800</emp>
</smpRecords>
<smpRecords>
<data1>16</data1>
<data2>030</data2>
<emp>30507732</emp>
</smpRecords>
<smpRecords>
<data1>76</data1>
<data2>030</data2>
<emp>30507732</emp>
</smpRecords>
<smpRecords>
<data1>16</data1>
<data2>030</data2>
<emp>30509055</emp>
</smpRecords>
<smpRecords>
<data1>76</data1>
<data2>030</data2>
<emp>30509055</emp>
</smpRecords>
<smpRecords>
<data1>16</data1>
<data2>030</data2>
<emp>30509229</emp>
</smpRecords>
<smpRecords>
<data1>76</data1>
<data2>030</data2>
<emp>30509229</emp>
</smpRecords>
<smpRecords>
<data1>26</data1>
<data2>036</data2>
<emp>00556240</emp>
</smpRecords>
<smpRecords>
<data1>06</data1>
<data2>036</data2>
<emp>00566095</emp>
</smpRecords>
<smpRecords>
<data1>26</data1>
<data2>036</data2>
<emp>00567460</emp>
</smpRecords>
<smpRecords>
<data1>36</data1>
<data2>033</data2>
<emp>10536370</emp>
</smpRecords>
<smpRecords>
<data1>56</data1>
<data2>033</data2>
<emp>10525810</emp>
</smpRecords>
<smpRecords>
<data1>36</data1>
<data2>033</data2>
<emp>10531092</emp>
</smpRecords>
<smpRecords>
<data1>36</data1>
<data2>033</data2>
<emp>10521842</emp>
</smpRecords>
<smpRecords>
<data1>06</data1>
<data2>033</data2>
<emp>10521842</emp>
</smpRecords>
<smpRecords>
<data1>36</data1>
<data2>033</data2>
<emp>10521842</emp>
</smpRecords>
<smpRecords>
<data1>36</data1>
<data2>033</data2>
<emp>10521842</emp>
</smpRecords>
<smpRecords>
<data1>86</data1>
<data2>020</data2>
<emp>1450SA A</emp>
</smpRecords>
<smpRecords>
<data1>56</data1>
<data2>020</data2>
<emp>1451SA A</emp>
</smpRecords>
<smpRecords>
<data1>56</data1>
<data2>020</data2>
<emp>1452SA A</emp>
</smpRecords>
<smpRecords>
<data1>56</data1>
<data2>020</data2>
<emp>1453SAN </emp>
</smpRecords>
<smpRecords>
<data1>16</data1>
<data2>036</data2>
<emp>30565355</emp>
</smpRecords>
<smpRecords>
<data1>76</data1>
<data2>036</data2>
<emp>30565355</emp>
</smpRecords>
<smpRecords>
<data1>16</data1>
<data2>036</data2>
<emp>30565500</emp>
</smpRecords>
<smpRecords>
<data1>76</data1>
<data2>036</data2>
<emp>30565500</emp>
</smpRecords>
<smpRecords>
<data1>96</data1>
<data2>034</data2>
<emp>60539390</emp>
</smpRecords>
<smpRecords>
<data1>26</data1>
<data2>034</data2>
<emp>60535260</emp>
</smpRecords>
<smpRecords>
<data1>36</data1>
<data2>037</data2>
<emp>90509870</emp>
</smpRecords>
<smpRecords>
<data1>56</data1>
<data2>020</data2>
<emp>0401ABIL</emp>
</smpRecords>
<smpRecords>
<data1>66</data1>
<data2>037</data2>
<emp>2TX066 </emp>
</smpRecords>
<smpRecords>
<data1>66</data1>
<data2>037</data2>
<emp>3TX015 </emp>
</smpRecords>
<smpRecords>
<data1>66</data1>
<data2>037</data2>
<emp>3TX01531</emp>
</smpRecords>
<smpRecords>
<data1>66</data1>
<data2>037</data2>
<emp>3TX01532</emp>
</smpRecords>
<smpRecords>
<data1>86</data1>
<data2>037</data2>
<emp>3TX066 </emp>
</smpRecords>
<smpRecords>
<data1>66</data1>
<data2>037</data2>
<emp>3TX068 </emp>
</smpRecords>
<smpRecords>
<data1>36</data1>
<data2>037</data2>
<emp>3TX09465</emp>
</smpRecords>
<smpRecords>
<data1>66</data1>
<data2>037</data2>
<emp>3TX09471</emp>
</smpRecords>
</SMP>As the output for the very first row comes up fine i.e. 0123456
for this the output is
<smpRecords>
<data1>12</data1>
<data2>345</data2>
<emp>6 </emp>
</smpRecords>But for all the rest it keeps adding the first character too i.e. 960373
for this the output is wrong
<smpRecords>
<data1>96</data1>
<data2>037</data2>
<emp>3 </emp>
</smpRecords>as the correct output should be:
<smpRecords>
<data1>60</data1>
<data2>373</data2>
<emp/>
</smpRecords>Any idea what I am doing wrong or how I can fix the schema. Also if I add any character other than 0....9 for the first character it still picks up the record i.e. A602710542583
as it should only process records starting with 0....9
ThanksI tried using transformation to check if the starting 2 chars are 56 then output else continue but the ourput is blank even though I have multiple records that start with 56. Here is the xsl I have
<?xml version="1.0" encoding="UTF-8" ?>
<?oracle-xsl-mapper
<!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. -->
<mapSources>
<source type="XSD">
<schema location="test2.xsd"/>
<rootElement name="SMP" namespace="http://xmlns.oracle.com/pcbpel/tstSchema/SMP"/>
</source>
</mapSources>
<mapTargets>
<target type="XSD">
<schema location="test2.xsd"/>
<rootElement name="SMP" namespace="http://xmlns.oracle.com/pcbpel/tstSchema/SMP"/>
</target>
</mapTargets>
<!-- GENERATED BY ORACLE XSL MAPPER 10.1.2.0.2(build 060111.0746) AT [TUE OCT 31 08:47:08 CST 2006]. -->
?>
<xsl:stylesheet version="1.0" xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap" xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:tns="http://xmlns.oracle.com/pcbpel/tstSchema/SMP" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:ns0="http://www.w3.org/2001/XMLSchema" xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc" xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd" exclude-result-prefixes="xsl tns ns0 nxsd ldap xp20 bpws ora orcl">
<xsl:template match="/">
<tns:SMP>
<xsl:for-each select="/tns:SMP/tns:smpRecords">
<xsl:if test="tns:data1 = '56'">
<tns:smpRecords>
<tns:data1>
<xsl:value-of select="tns:data1"/>
</tns:data1>
<tns:data2>
<xsl:value-of select="tns:data2"/>
</tns:data2>
<tns:emp>
<xsl:value-of select="tns:emp"/>
</tns:emp>
</tns:smpRecords>
</xsl:if>
</xsl:for-each>
</tns:SMP>
</xsl:template>
</xsl:stylesheet>and here is the out I get
<part name="SMP" >
<SMP/>
</part>Any ideas what might be wrong in the xsl itself.
Thanks -
File adapter fixed lenght with justify
Hi Developers ,
I'm developing an interface JDBC - File , the file have a special format because is a flat file with fixed length and some of the fields have to a justified to left , it's possible do that with the file content conversion ????,
the example of the file is :
lenght fields :3,3,3
xx , xx,xxx
xx , xx,xxx
xx , xx,xxx
RegardsHi,
Please see the below links
http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm
/people/venkat.donela/blog/2005/03/02/introduction-to-simplefile-xi-filescenario-and-complete-walk-through-for-starterspart1 - File to File Part 1
/people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2 - File to File Part 2
/people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter - FCC
/people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter - FCC
/people/jeyakumar.muthu2/blog/2005/11/29/file-content-conversion-for-unequal-number-of-columns - FCC
/people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file - FCC
/people/harrison.holland5/blog/2006/12/20/xi-configuration-for-mdm-integration--sample-scenario - FCC - MDM
/people/shabarish.vijayakumar/blog/2006/04/03/xi-in-the-role-of-a-ftp - FCC
/people/prateek.shah/blog/2005/06/14/file-to-r3-via-abap-proxy - FCC
/people/mickael.huchet/blog/2006/09/18/xipi-how-to-exclude-files-in-a-sender-file-adapter - EOIO - File
Regards
Chilla... -
Zero size files in Sender File Adapter
Hello!
I have the problem with my Sender File Adapter (ftp).
Sometimes in ftp directory there are empty files or messages with a zero-sized payload.
This situation cause an error and Adapter "sleep" until I save-active it in a configuration. (before I removed the 0-size file...).
Any suggestion?
Thanks
AlessandroHi ,
What the note states is that if your Sender File adapter picks up and empty file, then it would not trigger any message at all.
So, if what that note says is correct, then I guess for the empty file, the adapter would not ve passed any message to the integration engine.
Is there any entry in SXMB_MONI? If yes, then it means some message is actaully being passed by the adapter engine to the integration engine which shouldnt have happened at all.
What does the error message in the File Adapter state?
Regards,
Bhavesh -
File missing from Sender File Adapter
Hi,
I have got some serious issue in the production environment where the file picked up by the J2EE Sender File Adapter has disappeared and I can't see any trace in sxmb_moni, adapter engine monitoring, integration server monitoring within the Message Monitoring.
I have tried increasing the log to 1 in the sxmb_adm-->integration server configuration, still no help.
Can somebody please suggest where should I look at.
TIA.
Ranjan Koirala
The issue was that I was using a separate queue name and somehow the queue was corrupted thats why the message was not going anywhere.
Message was edited by: Ranjan KoiralaRanjan,
Incase you are trying to find out what happened to your message, one option could be to use the JMS commands - in particular 'JMS LIST DEADMSGS'. this command i believe lists the destinations for all the dead message on the server.
regards,
Sapknowledge -
System error when send file with Sender File Adapter
Hi all,
I have configured a "File To ABAP Proxy" scenario. After configuring, i executed a "Test Configuration" in Integration Directory and it's all OK. But this file unable to reach into ABAP Proxy Target. In the Runtime WorkBench\Message Monitoring, I get an error message in below:
Engine: Adapter Engine
Status: *System Error *
Start: 15.08.2008 14:04:01
End: 15.08.2008 14:19:01
Sender Service: BS_XI_SERVER
Interface Servic: urn://FILE_TO_PROXY
MI_EMPLOYEE_OB
In this case, I don't know why my Sender File Adapter is error and why status is "System Error" and why it can't reach into Target System. Can it concern a role user?
( For more clearly: I configured the source file and the path correctly. And i used the xml file with the content and the document name correctly. In general, the Sender Adapter File don't convert the sender file and its content is same as the Payload in the "Test Configuration", i think it is all OK.)
Could anyone please help me to resolve this problem, anyone can explain this error, how can i resolve this error?
Thanks a lot in advance,
Vinh VoHi Chirag,
1.I source structure is very simple as below:
<ns0:MT_MATERIAL xmlns:ns0="urn://FILE_TO_PROXY">
<MATERIAL>
<WERKS>1000</WERKS>
<MATNR>MAT00001</MATNR>
<MAKTX>Chemical Material</MAKTX>
</MATERIAL>
</ns0:MT_MATERIAL>
2. the Communication Channel Monitoring in Runtim WorkBench\Adapter Engine is OK for my Sender File Communication Channel, it's in Blue Light.
However, i don't know what's FCC?
Thanks and best regards,
Vinh Vo -
Send a flat file with fixed lengths to XI 3.0 using a Central File Adapter?
Hello,
I'm wondering if someone have experience setting up conversion for different record structures. The example shown,
/people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter,
(in a greate way) only picture one kind of structure.
How should it be done if the file would contain
10Mat1
20100PCS
The first record structure has columns
ID(2),Material(10)
The second redcord structure has columns
ID(2),Quantity(3), Unit of messure (3)
Brgds
Kalle
Message was edited by: Karl BergstromThe configuration would be like follows:
Content Conversion Parameters:
Document Name: <your message type name>
Document Namespace: <your message type namespace>
Document Offset: <leave empty>
Recordset Name: <any name>
Recordset Namespace: <leave empty>
Recordset Structure: row1,,row2,
Recordset Sequence: any
Recordsets per Message: *
Key Field Name: ID
Key Field Type: String
Parameters for Recordset Structures:
row1.fieldNames ID,Material
row1.fieldFixedLengths 2,10
row1.keyFieldValue 10
row2.fieldNames ID,Quantity,UOM
row2.fieldFixedLengths 2,3,3
row2.keyFieldValue 20
Instead of row1 and row2 you can choose any name.
Regards
Stefan -
Flat file with fixed lengths to XI 3.0 using a Central File Adapter---Error
Hi
According to the following link
/people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter
In Adapter Monitor I got the following error,
In sender Adapter,
Last message processing started 23:47:35 2008-10-25, Error: Conversion of complete file content to XML format failed around position 0 with java.lang.Exception: ERROR converting document line no. 1 according to structure 'Substr':java.lang.Exception: Consistency error: field(s) missing - specify 'lastFieldsOptional' parameter to allow this
last retry interval started 23:47:35 2008-10-25
length 15,000 secs
some one help me out ?
Thanks
Ramfrom the blog you referenced -
<u> /people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter
<b>goto step 4</b>
<u>additional parameters</u>
add as the last entry
<recordset structure>.lastFieldsOptional Yes
e.g.,
Substr.lastFieldsOptional Yes -
Sender file Adapter without Key field
my File structure will be as follows
<HEADER>
<DATA1>
<DATA2>
<DATA3>
<HEADER>
<ITEM>
<ITEM1>
<ITEM2>
<ITEM3>
<ITEM>
WHERE i do have flat file will be as follows
10001,20081902,US
10,soda,1
30,soda,4
40,soda,5
10002,20081902,US
10,steel,1
30,steel,4
40,steel,5
how to pick this file using FCC from sendere flat file adapter without keyfields , and i can use fixed length alsoHi,
with multiple nodes structure( like header and item in your case) you need to have a key field to process this file to a desidered structure using FCC.
Alternatively you can pick all these records as a single node type and classify it as header/items in your mapping by identifiing how each one differs frm other.
~SaNv... -
Sender file adapter Adapter with out Key field
Hi All
i do have have a requirment ,Sender file adapter , for FCC but file is with out Key field
HEADER>
<DATA1>
<DATA2>
<DATA3>
<HEADER> file structure
<ITEM>
<ITEM1>
<ITEM2>
<ITEM3>
<ITEM
and the file si
'10001,20081902,US
10,soda,1
30,soda,4
40,soda,5
10002,20081902,US
10,steel,1
30,steel,4
40,steel,5
, and i need to identify the Header and Item using there lenght only , please anyone as idea abt this help meWhy to post the same question TWICE... in 30 min ? you don't like the answers ?
File content Conversion Issuse for a Sender File Adapter -
Key field value in outbound/sender file adapter
Hi,
I have a flat file coming in PI. The structre for the same is
1. Detail record line ocurs n number of time
2.Summary record line occurs only once at the end
I have defined a datatype as follows
<DT>
<Recordset>
<Detail>
All the detail fields
</Detail>
<Summary>
All the summary fields
</Summary>
</Recordset>
</DT>
Now the number of detail record is not know. But there is only one summary record.
In the sender file adapter do we need to configure the keyfield paramter? If the number of detail record is * .
The problem is the input file does not has any key field to parse/identify the detail or sumary record.
Any alternative?
Thankshi ,
if you have two structures so do like this:
Recordset strucrure detail,summary*
detail.fieldFixedlength : 10,20
detail.fieldNames : xxx,yyy
summary.fieldFixedlength : 10,20
summary.fieldNames : www,vvv
rest configuration will be same.
hope this will help.
regards
HONEY
Maybe you are looking for
-
Macbook Pro can no longer connect to any wirless connection
My macbook pro has never had any problem connecting to a wireless connection up until recently. For the last two months, I have not been able to connect to any wireless signal although I can when connected directly to the router with a lan cable. the
-
Please could anyone help me with the "Request Timeout" thing? Once I installed the leopard on the laptop and Safari became a disaster .. It doesn't open most of the websites, even the apple website sometimes !! The error I get is : Request Timeout Th
-
How to activate WWAN on Satellite T210
Hi! i have recently purchased TOSHIBA Satellite T210 and as i checked on the battery, i saw a SIM card slot..and i search it is a WWAN card slot. I want to know more about t and how to activate it... should i install another app to activate it? Becau
-
Import from Excel to Project - blanks cells are having dates automatically added
Hi. I'm very new to Project but have started setting up a Roadmap using it which is working fairly well so far, although have hit one snag. I have data in Excel: it is a list of projects with 4 columns containing the dates of various stages (planning
-
Birthdays not showing up for birthdays after 1980
I have came across a little app called 'Dates to iCal', which basically does what Apple seems incapable of - allowing you to set alerts for birthdays. Problem is, (whether I use either the Apple way or the 'Dates to iCal) if I try and sync my phone,