on 2005 Aug 03 2:56 PM
Hello,
I am still trying to upload a flat text file to XI. Its a non separator file.
Here the error message from the XI adaper engine:
Sender Adapter v1508 for Party '', Service 'IXI_FileSystem_CSV':
Configured at 15:36:12 2005-08-03
Initialization error: Conversion initialization failed with java.lang.Exception: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found: <b>
Mandatory parameter 'CONTROL.keyFieldValue': no value found</b>
Here all my settings:
Message protocol: File Content Conversion
Document name: CMA_FILEINPUT1
Document namespace: http://www.xyz/ogsd
Recordset name: RECORD
Recordset structure: CONTROL,1,SEGMENT,*
<b>Key Field Name: SEGMENT.DUMMYKEY</b>
Key Field Type: String (cs) -> default
Fields:
CONTROL.fieldNames:TABNAM,MANDT,DOCNUM,DOCREL,....
CONTROL.fieldFixedLengths:10,3,16,4,2,1,1,...
SEGMENT.fieldNames:DUMMYKEY,DUMMY,LOCATIONID,...
SEGMENT.fieldFixedLengths:12,51,10,18,4,10,
SEGMENT.keyFieldValue:E2BPBULOCM03 (string that occurs in the first field DUMMYKEY of SEGMENT)
The message type looks like this:
CMA_MSGTYP1 1:1
RECORD 1:1
CONTROL 1:1
TABNAM
MANDT...
SEGMENT 0:unbounded
DUMMYKEY
DUMMY
LOCATIONID...
Why do i get that error message? How to fill Key field name correctly? In my opinion i dont need key fields for CONTROL because of the occurence of one.
Any idea?
Hello Christian,
the key field settings for your CONTROL line is necessary since there is no "excluding" logic for reading the different lines (e.g. all lines with DUMMYKEY <> E2BPBULOCM03 are SEGMENT lines.). The file adapter looks for lines identified by a specific key and then converts these lines to xml fragments.
In your case you should look for a field that identifies your CONTROL lines and use this field as key field.
Best regards
Joachim
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks to all. So "Key Field Name" is just symbolic?
Here are my new settings:
Message protocol: File Content Conversion
Document name: CMA_FILEINPUT1
Document namespace: http://www.xyz.de/ogsd
Recordset name: RECORD
Recordset structure: CONTROL,1,SEGMENT,*
<b>Key Field Name: KF</b>
Key Field Type: String (cs) -> default
Fields:
CONTROL.fieldNames:TABNAM,MANDT,DOCNUM,DOCREL,....
CONTROL.fieldFixedLengths:10,3,16,4,2,1,1,...
SEGMENT.fieldNames:DUMMYKEY,DUMMY,LOCATIONID,...
SEGMENT.fieldFixedLengths:12,51,10,18,4,10,
<b>SEGMENT.keyFieldValue:E2BPBULOCM03 (from DUMMYKEY)
CONTROL.keyFieldValue: HRETZU (from TABNAM) </b>
Both key fields are the first entries in the substructures.
Now this error is coming up:
Sender Adapter v1508 for Party '', Service 'IXI_FileSystem_CSV':
Configured at 16:41:24 2005-08-03
Last message processing started 16:41:24 2005-08-03, Error: Conversion of complete file content to XML format failed around position 0 with java.lang.Exception: ERROR converting document line no. 2 according to structure 'SEGMENT':java.lang.Exception: Consistency error: field(s) missing - specify 'lastFieldsOptional' parameter to allow this
last retry interval started 16:41:24 2005-08-03
length 30,000 secs
What is that for a new parameter(lastFieldsOptional)?
Hi
Go thru this blog <b>How to send a flat file with various field lengths and variable substructures to XI 3.0</b>
/people/venkat.donela/blog/2005/06/08/how-to-send-a-flat-file-with-various-field-lengths-and-variable-substructures-to-xi-30
here the H1 record come once but keyFieldValue is defined for that.
So give the keyFieldValue for the <b>CONTROL</b> also.
Hope it helps.
Regards
Arpit Seth
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Christian,
Key Field value is:
<i>Specify the value of the key field for the structure. <b>This specification is mandatory if the key field name is set.</b> Otherwise, the specification is ignored.</i>
You are right you need not give the parameter keyFieldName and your problem will be solved.
Moreover,
KeyFieldName is:
<i>If you specified a variable number of substructures for Recordset Structure, in other words, at least one substructure has the value *, then the substructures must be identified by the parser from their content. This means that a key field must be set with different constants for the substructures. In this case, you must specify a key field and the field name must occur in all substructures.</i>
here in your case KeyFieldName should be SEGMENT. In this case you also need to give <b><i>KeyFieldValue</i></b> for SEGMENT.
I hope it helps,
Thanks & Regards,
Varun Joshi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
67 | |
10 | |
10 | |
10 | |
10 | |
8 | |
8 | |
7 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.