on 06-23-2010 1:45 PM
I want to have multiple outbound files based on the contents of the input file. For instance, in the example below, I want to have multiple outputs based on Report_ID.
So I would have Output 1 with Report_ID of 001 (With 2 lines), Output 2 with Report_ID of 002 (With 1 line), Output 3 with Report_ID of 007 (With 1 line) and Output 4 with Report_ID of 009 (With 2 lines).
- <ns:INB xmlns:ns="...">
- <EXPENSES>
- <EXPENSE_LINES>
<EMP_ID>TUUK1</EMP_ID>
<Report_ID>001</Report_ID>
<Value>7</Value>
</EXPENSE_LINES>
- <EXPENSE_LINES>
<EMP_ID>TUUK1</EMP_ID>
<Report_ID>001</Report_ID>
<Value>3</Value>
</EXPENSE_LINES>
- <EXPENSE_LINES>
<EMP_ID>TUUK1</EMP_ID>
<Report_ID>002</Report_ID>
<Value>25</Value>
</EXPENSE_LINES>
- <EXPENSE_LINES>
<EMP_ID>TUUK1</EMP_ID>
<Report_ID>007</Report_ID>
<Value>6</Value>
</EXPENSE_LINES>
- <EXPENSE_LINES>
<EMP_ID>TUUK1</EMP_ID>
<Report_ID>009</Report_ID>
<Value>63</Value>
</EXPENSE_LINES>
- <EXPENSE_LINES>
<EMP_ID>TUUK1</EMP_ID>
<Report_ID>009</Report_ID>
<Value>3</Value>
</EXPENSE_LINES>
</EXPENSES>
</ns:INB>
You just need use others outputs in your mapping, it is possible when You acess the Builder in your Integration Directory and ind the middle of the screen when You build a mapping you acces the Messages folder, in this folder you add other messages type You need to use for your input or output interface. In your case, you add one message to input param and 2 or more messages in output param, and, for this messages you need to make the correct mapping to generate the lines wich you need
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
We are currently using 7.0 (upgrading soon to 7.11).
I have everything setup already, but its the mapping I am struggling with. I can not get the header once, with lines and a new message for Report_ID.
Can you help?
Much appreciated.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
follow the these steps In Enterprise Service Buider
1.Create source Data type and Target Data type.
2.Create Source Message Type and Target message Type using the above created data type respectively.
3.create a otbound and Inbound Service Interfaces.
4.Create a Message Mapping .select the source message and go to the Signature Tab select the Target Message Type and change the occurence to 0..unbounded.
5,Create the Operation Mapping.for this select the Outbound and inbound interfaces as Source and Target Operations.
click on read Operations and Select the Message Mapping you have created in previous step.
Integration Directory
u2022 create sender and receiver Communication Component.
u2022 Assign the respective interfaces in the sender and receiver Tab of the Communication Component.
u2022 create sender and receiver communication channel selecting the respective Comm.Component.
u2022 create Receiver Determination.
u2022 Create Interface Determination.here select the Interface Mapping You have created in the ESR.
u2022 create Sender and Receiver Agreement.
Finally test your scenario.Taking the source payload from test tab of Message Mapping.Remove <ns0:Message1> and </ns0:Message1> tags while testing otherwise you will get the Split Error.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
All your answers are helpful, but they still dont show me what to do. Can you please give me an example or something in plain English.
I am really only a beginner.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
hi,
you must use a Multimapping.
in your case in Message Mapping>Signature Tab>Change the occurrance of you target Message. later in mapping, create a new <MT_OutputFile> for each repor_Id to do this you use SplitByValue(ValueChange). dont forget to change the context of report_id. press right buttom on report_id>context>EXPENSES.
The numbers of lines for each message could be determinate ussing the logic of the mapping before.
let me know.
RP
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You have to use Multimapping here.
for that create a Message mapping and switch to the signature tab ,change the Occurence of target Message Type to 0..unbounded.
Assign the Mapping as follows
Report_ID(Change the Context to Expences)-->splitByValue(value Change)-->collapeseContext--->TO THE Target Message Type
Report_ID(Change the Context to Expences)---> splitByValue(value Change)----->collapeseContext--->SplitByValue(ValueChange)---to the Target Report_Id.
EMP_ID(Change the Context to Expences)---> splitByValue(value Change)----->collapeseContext--->SplitByValue(ValueChange)---to the Target EMP_Id.
Value(Change the Context to Expences)------------------------------------------------------\
formatByExample-----To the TargetValue
Report_ID(Change the Context to Expences)-->splitByValue(value Change)---------------------/
this works fine if the Values are coming in the Order otherwise you also have to use Sort and SortBy Key functions.
It will be better if you provide the target structure to provide the exact mapping with the target fields
Edited by: Kubra fatima on Jun 23, 2010 3:32 PM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.