cancel
Showing results for 
Search instead for 
Did you mean: 

Handling two record strucutre in incoming file adapter

Former Member
0 Kudos

I have a flat file (fixedlength type), which needs to be converted into the XMLPayload I tried multiple option but didn't work. Here is the file strucutre

P CONTRLT00010 01SCNCTCFSCR 001548340 12 130*

P CONTRLT00020 5 006

P CONTRLT00010 01SCNCTCFSCR 001548340 12 400 *

P CONTRLT00020 011

P CONTRLT00010 01SCNCTCFSCR 001548340 12 800 *

P CONTRLT00020 030

P CONTRLT00010 01SCNCTCFSCR 001548340 12 3200 *

P CONTRLT00020 350

P CONTRLT00010 01NCGRTCFSCR 004824269 12 176*

P CONTRLT00020 7 006

So this file has two record strucutre, I created the Datatypes with following strucutre

DT_TYPE

RECORD_SET1

FIELD1

FIELD2

RECORD_SET2

FIELD1

FIELD2

In the file adapter, I marked the recordsetignore true. and defined the following parameters

RECORD_SET1.fieldFixedLengths 1,8,6,1,1,6,6,1,1,10,15,2,6,7,1,4,7

RECORD_SET1.endSeparator 'nl'

RECORD_SET1.fieldNames KEY,PRGOGRAM_LITERAL,TASK_NUMBER,FILLER,COMM_CANCEL,COMPANY_NUMBER,PROGRAM_FIELD,CODE1,CODE2,KEY_FIELD,ADDITIONAL_KEY,CARD_CODE12,REGULAR_HOURS12,REGULAR_RATE12,OT_CODE12,OT_HOURS12,CONTINUATION_IND

RECORD_SET2.fieldFixedLengths 1,8,6,1,4,6,4,4,4,4,10,3,1,6,2,5,1,1,7

RECORD_SET2.endSeparator 'nl'

RECORD_SET2.fieldNames KEY,PRGOGRAM_LITERAL,TASK_NUMBER,FILLER,OT_HOURS12,OT_RATE12,CONTROL12_3,CONTROL12_4,CONTROL12_5,CONTROL12_6,FUNCTION12,HED_NBR_12,TAX_TYPE12,LOCAL_CODE12,STATE_CODE12,PERIOD_DATE12,SHIFT12,DEDUCTION_CYCLE12,ENDO_OF_FORM_IND

ignoreRecordSetName true

RECORD_SET1.keyFieldValue 1

RECORD_SET2.keyFieldValue 2

RECORD_SET1.keyFieldInStructure ignore

RECORD_SET2.keyFieldInStructure ignore

RECORD_SET2.missingLastfields

RECORD_SET1.missingLastfields

On the adapter end its not reading the message and thrwoing the warning

Channel CC_TCFSCR_SENDER: Converted complete file content to XML format.

2009-07-30 13:21:26 Warning Channel CC_TCFSCR_SENDER: Empty document found - proceed without sending message.

Any pointer will be helpful.

Thanks,

Samir

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

You are mentioning the wrong keyfield values i beleive.

RECORD_SET1.keyFieldValue 1 --- > on place of 1 enter the exactvalue which you want to use as key field.

RECORD_SET2.keyFieldValue 2 --- > same apply here.

As adapter is unable to find 1 or 2 in as keyfield in record its sending the empty document.

Try :

RECORD_SET1.keyFieldValue = P CONTRLT00010

RECORD_SET1.keyFieldValue = P CONTRLT00020

I hope his might help u.

Thanks.

Former Member
0 Kudos

Great help! Thanks. I was actually not sure how can it identify different record structure.

Answers (0)