cancel
Showing results for 
Search instead for 
Did you mean: 

FCC Nested

Former Member
0 Kudos

Hi Experts,

Scenario: File - XI- JMS. It's field fixed length file and using FCC at both the side. The source and target structure are same.

For testing purpose we are using File -- XI --- File (instead of JMS receiver)

As they were not using KeyField Name and Value in the file, Since the structure seems complex and consists multiple records.

So we convinced them to use Key filed name and value.

I am Refering the follwing blogs and discussion:

http://www.riyaz.net/blog/xipi-convert-flat-file-to-deeply-nested-xml-structures-using-only-graphica...

Source structure as shown below:

Root u2013 Occurs 1..unbounded

HEADER_RECORD u2013 Occurs 1..1

DETAIL_RECORD_DEPARTMENTS u2013 Occurs 1..unbounded

---field1

---field2

---fieldx

DETAIL_RECORD_JOBCODES u2013 Occurs 1..unbounded

---field1

---field2

---fieldx

DETAIL_RECORD_LOCATIONS u2013 Occurs 1..unbounded

---field1

---field2

---fieldx

DETAIL_RECORD_ROUTE u2013 Occurs 1..unbounded

---field1

---field2

---fieldx

DETAIL_RECORD_STOP u2013 Occurs 1..unbounded

---field1

---field2

---fieldx

TRAILER_RECORD u2013 Occurs 1..1

Target structure is as shown below :

Root u2013 Occurs 1..unbounded

HEADER_RECORD u2013 Occurs 1..1

DETAIL_RECORD_DEPARTMENTS u2013 Occurs 1..unbounded

---field1

---field2

---fieldx

DETAIL_RECORD_JOBCODES u2013 Occurs 1..unbounded

---field1

---field2

---fieldx

DETAIL_RECORD_LOCATIONS u2013 Occurs 1..unbounded

---field1

---field2

---fieldx

DETAIL_RECORD_ROUTE u2013 Occurs 1..unbounded

---field1

---field2

---fieldx

DETAIL_RECORD_STOP u2013 Occurs 1..unbounded

---field1

---field2

---fieldx

TRAILER_RECORD u2013 Occurs 1..1

Source and target structure are same.

Requirement: I need same file structure in the receiver side. Do we need to make any changes in reciver FCC as no Keyfiled value and name parameters are avialable in recv file adapter.

Later will use JMS receiver instead of File recv adapter. So at JMS recv side will this interface work?

Please throw some light and help me out in order to acheive this interface sucessfully.

Sameer

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

are the source and target structure identical?

if so, no mapping is needed. you can used SAP PI as an FTP and just move the files.

However, this will not work for JMS.

it would be easy enough to create the message and data types in SAP PI for this structure.

it seems very simple.

Former Member
0 Kudos

yes source and target structures are identical and we can't skip mapping as it required

Sameer

Former Member
0 Kudos

mapping is not always required.

i have worked on many interfaces where it is not needed.

create your simple structures in the ESR as data types and message types. there is nothing complex about the requirement for your structures.

Former Member
0 Kudos

Mapping is required and mandatory in this scenario so we can't avoid. I have created the structure and FCC part also done at both the side. If mapping not needed, we can ahieve it by using without IR.

Input file:

000000001HEADER20100227014824001652

000000002DEPT VCC BELDUMMY 2004-01-01IBelgian Dummy Department

000000003DEPT VCC ALSS 1901-01-01ALeveranciersopvolging

000000679JOBCD 371 AO00011901-01-01AAdm. Onderst. Productie 371 003A 00M

000000680JOBCD 371 AO00021901-01-01AAdm. Competentie Management 371 003A 00M

000001394LOCATNVCC6334 2001-03-01IVOLVO BUSINESS AREA 400 BA400 BELJohn Kennedylaan 25

000001394LOCATNVCC6334 2001-03-01IVOLVO BUSINESS AREA 400 BA400 BELJohn Kennedylaan 25

000001416ROUTE 031901-01-01ASaksenboom ploeg A

000001417ROUTE 041901-01-01ASaksenboom ploeg B

000001471STOP 495772004-01-01AWetteren station

000001472STOP 495802004-01-01AWetteren overschelde voor

000002103TRAILR

As the same file we required at the target side. mapping also required so we can't skip.

As decided to make HEADER,DEPT,JOBCD,LOCATN,ROUTE,STOP,TRAILR as a key field.

Will it possible as the key field taken from the second posstion of the given structure?

Recordset Name: Root

Recordset Structure: HEADER_RECORD,1,DETAIL_RECORD_DEPARTMENTS,,DETAIL_RECORD_JOBCODES,,DETAIL_RECORD_LOCATIONS,,DETAIL_RECORD_FMC_ROUTE_TBL,,DETAIL_RECORD_FMC_STOP_TBL,*,TRAILER_RECORD,1

Key Filed Name: Key

HEADER_RECORD.fieldFixedLengths: 9,6,14,6

HEADER_RECORD.fieldNames:Key,RecordSequenceNumber,FileIdentification,FileCreationTimestamp,FileSequenceNumber

HEADER_RECORD.keyFieldValue: HEADER

HEADER_RECORD.keyFieldInStructure: ignore

HEADER_RECORD.endSeparator: 'nl'

DETAIL_RECORD_DEPARTMENTS.fieldFixedLengths: 9,6,5,10,10,1,30

DETAIL_RECORD_DEPARTMENTS.fieldNames:Key,RecordSequenceNumber,DetailRecordType,SetID,DeptID,EffDt,Eff_Status,Descr

DETAIL_RECORD_DEPARTMENTS.keyFieldValue: DEPT

DETAIL_RECORD_DEPARTMENTS.keyFieldInStructure: ignore

DETAIL_RECORD_DEPARTMENTS.endSeparator: 'nl'

DETAIL_RECORD_JOBCODES.fieldFixedLengths: 9,6,5,6,10,1,30,5,3,3,2,1

DETAIL_RECORD_JOBCODES.fieldNames: Key,RecordSequenceNumber,DetailRecordType,SetID,JobCode,EffDt,Eff_Status,Descr,Setid_Salary,Sal_Admin_Plan,Grade,Step,Comp_Frequency

DETAIL_RECORD_JOBCODES.keyFieldValue: JOBCD

DETAIL_RECORD_JOBCODES.keyFieldInStructure: ignore

DETAIL_RECORD_JOBCODES.endSeparator: 'nl'

DETAIL_RECORD_LOCATIONS.fieldFixedLengths: 9,6,3,5,10,1,30,10,3,35,35,35,35,30,6,4,2,30,6,12,11,1

DETAIL_RECORD_LOCATIONS.fieldNames: Key,RecordSequenceNumber,DetailRecordType,SetID,Location,EffDt,Eff_Status,Descr,DescrShort,Country,Address1,Address2,Address3,Address4,City,Num1,Num2,House_Type,Country1,State,Postal,Geo_Code,In_City_Limit

DETAIL_RECORD_LOCATIONS.keyFieldValue: LOCATN

DETAIL_RECORD_LOCATIONS.keyFieldInStructure: ignore

DETAIL_RECORD_LOCATIONS.endSeparator: 'nl'

DETAIL_RECORD_FMC_ROUTE_TBL.fieldFixedLengths: 9,6,2,10,1,30

DETAIL_RECORD_FMC_ROUTE_TBL.fieldNames: Key,RecordSequenceNumber,DetailRecordType,BusRoute,EffDt,Eff_Status,Descr

DETAIL_RECORD_FMC_ROUTE_TBL.keyFieldValue: ROUTE

DETAIL_RECORD_FMC_ROUTE_TBL.keyFieldInStructure: ignore

DETAIL_RECORD_FMC_ROUTE_TBL.endSeparator: 'nl'

DETAIL_RECORD_FMC_STOP_TBL.fieldFixedLengths: 9,6,2,3,10,1,30

DETAIL_RECORD_FMC_STOP_TBL.keyFieldValue: STOP

DETAIL_RECORD_FMC_STOP_TBL.keyFieldInStructure: ignore

DETAIL_RECORD_FMC_STOP_TBL.fieldNames: RecordSequenceNumber,DetailRecordType,BusRoute,BusStop,EffDt,Eff_Status,Descr

DETAIL_RECORD_FMC_STOP_TBL.endSeparator: 'nl'

TRAILER_RECORD.fieldFixedLengths: 9,6,8

TRAILER_RECORD.fieldNames: Key,RecordSequenceNumber,Identification,TotalNumberOfEmployees

TRAILER_RECORD.keyFieldValue: TRAILR

TRAILER_RECORD.keyFieldInStructure: ignore

ignoreRecordsetName: true

Former Member
0 Kudos

Will it be possible to treat key field values HEADER,DEPT,JOBCD,LOCATN,ROUTE,STOP,TRAILR as in second position.

Usually Key filed Value are the first field, In my case, we considered as in second position.

WILL IT WORK ? Pls correct if m wrong

Sameer!

Former Member
0 Kudos

Can anyone pls help me out?

Sameer

Former Member
0 Kudos

Hi,

Its not possible to refer key field values from second position.

The work around is there..

Access all rows... HEADER,DEPT,JOBCD,LOCATN,ROUTE,STOP,TRAILR as single rows... no difference.

Based on the content u can again categorise the records...

Babu

Former Member
0 Kudos

Hi,

Input/Output file:

As I can not change the structure as we required the same in target. Also using the mapping.

000000001HEADER20100227014824001652

000000002DEPT VCC BELDUMMY 2004-01-01IBelgian Dummy Department

000000003DEPT VCC ALSS 1901-01-01ALeveranciersopvolging

000000679JOBCD 371 AO00011901-01-01AAdm. Onderst. Productie 371 003A 00M

000000680JOBCD 371 AO00021901-01-01AAdm. Competentie Management 371 003A 00M

000001394LOCATNVCC6334 2001-03-01IVOLVO BUSINESS AREA 400 BA400 BELJohn Kennedylaan 25

000001394LOCATNVCC6334 2001-03-01IVOLVO BUSINESS AREA 400 BA400 BELJohn Kennedylaan 25

000001416ROUTE 031901-01-01ASaksenboom ploeg A

000001417ROUTE 041901-01-01ASaksenboom ploeg B

000001471STOP 495772004-01-01AWetteren station

000001472STOP 495802004-01-01AWetteren overschelde voor

000002103TRAILR

As you suggested, we can't changed the key field value posoition. In our case the HEADER key field value comes in 2nd position.

what would be the other alternative?

Former Member
0 Kudos

Hi ,

This is a typical prblm in File adapter.

We have wrk arnd here...

Recordset u mention as just Records,*

Access all the header,data... trailer as Records only.

In mapping create a message mapping which will convert this data Records to proper format u want..

Eg: If the Records coming from source has in second position(For header as u mentioned XYZ) then map to Header of exact structure.

U will have 2 mappings.

1 for converting the Records,* structure to the exact structure.. u want to map for target.

2nd for mapping from exact source to target.

In OM specify the mapping 1 and 2 in sequence.

Babu

Former Member
0 Kudos

Thanks for your valuable inputs.

Instead of doing 2 mappings, I have convienced them to add the key field value in the intial postion, based on that FCC makes easier.

Will be back till issue not resolved.