cancel
Showing results for 
Search instead for 
Did you mean: 

file contents conversion

Former Member
0 Kudos

source file

hhhhh001 hhhhh02 - header

b0000001 b000002 b000003 - N detail

b0000004 b000005 b000006

b0000007 b000008 b000009

tail0001 - tail

DT_FILE

- row

- h 1

- h01 1

- h02 1

- b 0...unbounded

- b01 1

- b02 1

- b03 1

- t 1

- t01 1

sender file adapter.

Recordset Name

Recordset Namespace

Recordset Structure h,1,b,*,t,1

Recordset Sequence Ascending

Key Field Name

Key Field Type String(Case-Sensitive)

h.fieldNames h01,h02

h.fieldFixedLengths 9,9

b.fieldNames b01,b02,b03

b.fieldFixedLengths 9,9,9

t.fieldNames t01

t.fieldFixedLengths 9

error on sender adapter monitoring

Sender Adapter v2703 for Party '', Service 'LEGACY_BS':

Configured at 2006-07-25 18:00:28 YAKST

History:

- 2006-07-25 18:00:28 YAKST: Error: Conversion initialization failed: Exception: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found:

Mandatory parameter 'xml.keyfieldName': no value found

should i input keyfieldName? and value?

what is the value? i am not clear on it because keyfieldvlaue is dynamic value

thanks

venjamin

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hey,

If u take the KeyFieldValue as a constant 'b',then the lenght of the field has to be 1.So in the content conversion depending on the keyfieldvalue,parameters has to be changed.

b.fieldNames b01,b02,b03

b.fieldFixedLengths 1,9,9(change the length of the field

according to ur requirement except for the keyField)

b.keyFieldValue b

in ur content conversion

h.fieldNames h01,h02

h.fieldFixedLengths 9,9

b.fieldNames b01,b02,b03

b.fieldFixedLengths 1,9,9

b.keyFieldValue b

t.fieldNames t01

t.fieldFixedLengths 9

cheers

jithesh

Former Member
0 Kudos

Hi all;

it does still not work.

i would like to explain regarding test with your advise.

the following configuration turn out that xi is picking txt file, but i could not see any message on SXMB_MONI.

KeyFieldName B01 or H01

h.fieldNames h01,h02

h.fieldFixedLengths 9,9

h.keyFieldValue h

b.fieldNames b01,b02,b03

b.fieldFixedLengths 9,9,9

b.keyFieldValue b

t.fieldNames t01

t.fieldFixedLengths 9

t.keyFieldValue t

if i eliminate keyFieldValue h,b,t, File adapter is not picking source text file.

please elaborate on it.

thanks

venjamin

Former Member
0 Kudos

Hi Venjamin,

U have take b01 field as ur keyfield , So u cant give the keyFieldName as B01,it has to be b01.

And the keyFieldValue is gonno have a constant value depending on which the records will be grouped.In ur case the constant value is 'b'.

So if u give in ur content conversion

b.fieldNames b01,b02,b03

b.fieldFixedLengths 9,9,9

then the field b01 will have value b000001 .Whcih can be seen from ur flat file

b0000001 b000002 b000003 - N detail

b0000004 b000005 b000006

b0000007 b000008 b000009

But if u need to have a constant value 'b' then give

b.fieldNames b01,b02,b03

b.fieldFixedLengths 1,9,9

which will return the value 'b' from ur flat file.

So give the

keyFieldName b01

and in the content conversion give

h.fieldNames h01,h02

h.fieldFixedLengths 9,9

b.fieldNames b01,b02,b03

b.fieldFixedLengths 1,9,9

b.keyFieldValue b

t.fieldNames t01

t.fieldFixedLengths 9

cheers

jithesh

Former Member
0 Kudos

Hi,

thanks for the note.

actually, source data has not common value like b

it is dynamic value.

is there a way not to use keyfieldname and value?

like this flat file, i did not use keyfiledname and value, and it did works fine.

adafsaf,dafasdf,dsafdsfsa

bbbbbbb,dafsadf,dafsdfsfa

source file...

hhhhh001 jhhhh02 - header

b0000001 b000002 b000003 - N detail

c0131314 b000005 b000006

m0123137 b000008 b000009

abcd1231 - tail

please elaborate on this.

thanks

venjamin

Former Member
0 Kudos

Hi,

If the first charachter of the records are dynamic then you cannot use this option of keyFieldValue.

The alternative might be to pick up the whole records.

Regards

Vijaya

Former Member
0 Kudos

Hi,

if u have a dynamic values inur flat file then u cant use keyFieldValue.But in most of the case if ther is N occurance of a record then there has to be a keyField.

In ur case u create a flat structure using a dynamic record lines,and change the structure according to ur requirement using XSLT mapping.

cheers

jithesh

Former Member
0 Kudos

hi,

thanks for all effort continually.

let's assume not dynamic value and

keyFieldValue is babcdef.

1. source txt file

hhhhh001 ddddd001 - header

babcdef1 c00000211 1000003 - N detail

babcdef4 g00000511 t000006

babcdef5 y00000811 h000009

tttttt01 - tail

2. Source DT.

DT_FILE

- row

- h 0,1

-


h01 1

-


h02 1

- b 0...unbounded

-


b01 1

- b02 1

- b03 1

- t 0,1

-


t01 1

3. sender file adapter

sender file adapter.

Recordset Name

Recordset Namespace

Recordset Structure h,1,b,*,t,1

Recordset Sequence Ascending

Key Field Name b01

Key Field Type String(Case-Sensitive)

h.fieldNames h01,h02

h.fieldFixedLengths 9,9

h.keyFieldValue h

b.fieldNames b01,b02,b03

b.fieldFixedLengths 9,10,9

b.keyFieldValue b

t.fieldNames t01

t.fieldFixedLengths 9

t.keyFieldValue t

result of this configuratoin ..

XI is picking source txt file and source txt file was deleted by xi configuration after picking, but still not put into integration engine(pipeline) because i could not see any message on sxmb_moni.

please point with wrong something to me.

let's think about keyFieldValue is babcdef.

this flat file structure like header, detail, tail structure is in real life as many useful thing(source txt)?

thanks

venjamin

Message was edited by: venjamin

Former Member
0 Kudos

Hi,

Please can you look at htis weblog for your Data structure and FCC details that you are trying to give.

/people/shabarish.vijayakumar/blog/2006/02/27/content-conversion-the-key-field-problem

Please do let us know if it's the same and still not working

Your Structure also has 'row' before the header starts. Please can you cross check the structure.

Regards

Vijaya

Former Member
0 Kudos

hi,

could you get into yahoo messenger?

my id is yourgoodyd@yahoo.com

sdn is getting slow with too long reply contents,

i will give you source txt file by email

thanks

venjamin

Former Member
0 Kudos

Hey,

if ur structure is like

DT_FILE

- row

- h 0,1

if the h01 is a substructure of row then content conversion is not possible.it does not support more than 2 levels.

and if both r in the same level then as vijaya said cross check the strucutre.

if babcdef is ur keyfield then take the fixedfieldlength as 7.

cheers

jithesh

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Venjamin,

Did it work?

cheers,

Prashanth

Former Member
0 Kudos

Hi Venjamin,

Keyfield name will be <b>B01</b>, Keyfield value will be value of that field which has to be a constant.

cheers,

Prashanth

P.S : Please mark all helpful answers

Message was edited by: Prashanth Azharuddin

Former Member
0 Kudos

Hi,

Try this

sender file adapter.

Recordset Name

Recordset Namespace

Recordset Structure h,1,b,*,t,1

Recordset Sequence Ascending

Key Field Name B01

Key Field Type String(Case-Sensitive)

h.fieldNames h01,h02

h.fieldFixedLengths 9,9

h.keyFieldValue h

b.fieldNames b01,b02,b03

b.fieldFixedLengths 9,9,9

b.keyFieldValue b

t.fieldNames t01

t.fieldFixedLengths 9

t.keyFieldValue t

Regards

Vijaya

Former Member
0 Kudos

Hi Venjamin,

You will have to specify a keyfield name and a value for it in content conversion params. Give the value for it, as the name of the field which is used to group your records depending on a common value.

cheers,

Prashanth

Former Member
0 Kudos

Hi,

thanks for the note

you mean , keyfield name = H01

keyfield value = H01?

thanks

venjamin