cancel
Showing results for 
Search instead for 
Did you mean: 

IDOC to multiple header scenario..

former_member238007
Contributor
0 Kudos

Hi,

My scenario is Idoc to multiple flle scenario..(CDMA & GSM files needs to routed to differient structures)

The requirement is Idoc is triggered at R/3 ECC side, at the target end we have 3 structures, the 1st structure is common as it has email details and the 2nd structure (CDMA structure)and the 3rd structure (GSM Structure) is differient which should handle CDMA & GSM.

so, the IDOC triggers with the following case

1. Only CDMA files

2. Only GSM files

3. Mixed CDMA & GSM files

4. Sometimes missed data without having anyinformation to differentiate (For this case the records should not be geterated)

Ouput should be as follows:

for the first case:

1. If only CDMA files -


> In this case the output should be 2 files (one email file , CDMA text file--- so totally 2 files)

2. If only GSM files -


>In this case the output should be 2 files (one email file , GSM text file--- so totally 2 files)

3. If both CDMA & GSM -


> Then here totally 3 output files where (One email file, CDMA text file, GSM test file -- totally 3 files)

Please throw some light for how to proceed with this type of scenario..

Thanks,

--Kishore

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

For this requirement first of all create 3 different Data types & message types. Now create the message mapping and come to "Message Tab" there under "Target Messages" add all 3 different message types. Now come to design tab there you will see Message1, Message2 & Message3 segment which corresponds to Email, CDMA & GSM file structures. So do you mapping and in the mapping logic check incoming data belongs to which file and do the mapping accordingly..

For more information go through this blog.. /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible

former_member238007
Contributor
0 Kudos

Hi Sarvesh,

The reply was really useful and also can you clarify the below things,

1. I have to drop the files by using dynamic file naming configuration i mean i have to drop the files with the name as below

First case: If only CDMA records in the IDOC then i need to drop 2 files (1 email file -- 1 CDMA text file)

the file names should be as : IDOCNumber_Currentdate.xml -- For email file & IDOCNumber_CurrentDate.txt for CDMA text file

Second case: If only GSM records in the IDOC then i need to drop 2 files (1 email file -- 1 GSM text file)

the file names should be as : IDOCNumber_Currentdate.xml -- For email file & IDOCNumber_CurrentDate.txt for CDMA text file

Third case: If mixed CDMA & GSM records in the IDOC then i need to drop 3 files (1 email file -- 1 CDMA text file & 1 GSM text file)

the file names should be as : IDOCNumber_Currentdate.xml -- For email file & IDOCNumber_CDMA_CurrentDate.txt for CDMA text file, IDOCNumber_GSM_Currentdate.txt)

Here the IDOC number and the text GSM is not used in the ouput structure to use variable substitution method, when we use dynamic file naming configuration UDF then the files are getting overwritten with the first UDF.

Please let me know how to proceed further..

Thanks,

--Kishore

Edited by: Kishore Kumar N.T on Dec 10, 2010 11:33 AM

Edited by: Kishore Kumar N.T on Dec 10, 2010 11:34 AM

RKothari
Contributor
0 Kudos

Hi,

You can add an extra field filename in all the 3 target structures you have created and use Variable substituion for populating the file.

I am not sure if dynamic configuration supports 1:N mapping transformation.

-Rahul

former_member238007
Contributor
0 Kudos

Hi,

How could i suppress that in my output field..

can i suppress that filed using file content conversion -- i should drop text files at the output...

Thanks,

--Kishore

RKothari
Contributor
0 Kudos

Hi,

Check the below mentioned thread, it will help you:

-Rahul

Former Member
0 Kudos

Dynamic configuration does not support multimappig, therefore go for variable substitution method and create one additional field in your target messages to map your file name. This additional field can be simply suppressed in FCC just by using to parameters as shown below...

myfilename.fieldFixedLengths = 0 
myfilename.fixedLengthTooShortHandling = Cut

former_member238007
Contributor
0 Kudos

HI Sarvesh,

My structure is as below

MT_FCC

Header

Field1

Field2

FileName

SubHeader

Field3

Field4

Record

Field4

Field5

In the above structure i have used another field in the Header part with Field name as FileName which is used to handle the file name which can be used for variable substitution.

While suppressing that particular field at the output i am unable to suppress it after using the fcc parameters as suggested by you.

i have declared as below

Recordset Structure: Header,SubHeader,Record

FCC Parameters :

Header.fieldSeparator -- |

Header.endSeparator -- 'nl'

FileName.fieldFixedLengths -- 0

FileName.fixedLengthTooShortHandling -- cut

SubHeader.fieldSeparator -- |

SubHeader.endSeparator -- 'nl'

Record.fieldSeparator -- |

Record.endSeparator -- 'nl'

Correct me if i am wrong in the above decleration..

Thanks,

--Kishore

Former Member
0 Kudos

Hi,

Apart from using Multi mapping .. you can proceed like this also..

Create three mappings one for email other for CDMA and third one for GSM..

1.if you are using different business systems for each data then at the receiver determination tab ..

i. Dont provide any condition for email data.

ii. Provide the condition based on the field name or data which identifies CDMA or GSM..

2. if you are using same business systems for all three receivers then at interface determinations

provide three mappings and at CDMA and GSM mapping steps provide the conditions ....

this will help to reuse the mappings and also Dynamic configuraton for file names can be done ..

HTH

Rajesh

Former Member
0 Kudos

Actually you have to create a seprate node for this.. Create a node at the end e.g. MyFile and then do the changes in FCC as shown below

<MT_FCC>
 <Header>
   <Field1></Field1>
   <Field2></Field2>
   <SubHeader>
     <Field3></Field3>
     <Field4></Field4>
   </SubHeader>
 </Header>
 <Record>
   <Field4></Field4>
   <Field5></Field5>
 </Record>
 <MyFile>
   <FileName></FileName>
 </MyFile>
</MT_FCC>

Recordset Structure: Header,SubHeader,Record,MyFile

Header.fieldSeparator -- |
 Header.endSeparator -- 'nl'
 MyFile.fieldFixedLengths -- 0
 MyFile.fixedLengthTooShortHandling -- Cut (it should be Cut and not cut)
 SubHeader.fieldSeparator  -- |
 SubHeader.endSeparator -- 'nl'
 Record.fieldSeparator -- |
 Record.endSeparator -- 'nl'

Do above changes and hopefully this time it should work..