on 03-11-2007 1:24 AM
Hi,
I have a N:2 Transformation scenario in BPM
Receive IDoc -> Collect the IDoc for 2 minutes (time depenedent) -> Transformation(N:2) -> send1(file1) -> send2(file2)
we know that the BPM(transformation) does not give access to Runtime Constant. I cannot get in Transformation.
Question:
I want to get Message ID of file1 and it will input for file2.
How do i do that?
Kindly Advice,
Thanks,
Gowri
Gowri,
you cant have message id inside BPM
regards
sreeram.g.reddy
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Gowri,
Message ID's cannot be accesed inside a BPM.
Look at this blgo on the alternatives and the reason you cannot access Message ID in the BPM,
/people/michal.krawczyk2/blog/2005/06/11/xi-how-to-retrieve-messageid-from-a-bpm
Regards
Bhavesh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Gowri,
Before your message enters your BPM , you will need to have a mapping ( used in the interface determination ) and this willpopulate the Message ID.
The Sender Interface will be the OB Asynch MI and Inbound Interface will be the Abstract Message Inaterface.
You will have to change the Datatype to add the Message ID field.
Regards
Bhavesh
Bhavesh,
I guess, you have not understood the question.
I don't need a parent Message ID. I need a file1 message id. Now if i want to get the result of file1 in file 2, how do i do that?
I have defined a Data type Message ID and i have a mapping between
File1_Abstract to MessageID(MI)
Now i am not sure, how do i define Message ID to File2 in Interface determination because it is not defined in BPM and it is not outbound.
Thanks,
Gowri
Gowri
here then u need to have a field which holds the message id. say u will have an mapping for o/b interface to abs/ interface...ie for getting the message inside bpm. try to have the message id captured at this point as insde the bpm it is not possible to have message id. then in transformation step u can have this value passed to file1 and the same to file2. as u wud do in transformation step. i believe u may want to have xi message id. if not xi message id u can have ur own message id interms of some constant+datetime stamp that is mapped to a field in file1 and this in terms can be mapped to file2 thru using lookup fucntionality.
for xi message id u need to have it implemented using udf.
java.util.Map map = container.getTransformationParameters();
String msgid = (String) map.get ( StreamTransformationConstants.MESSAGE_ID);
return msgid;
if u want to set a meesage id for urself for file1 and then use it in file2 use a udf which will store the id fo ex const+datetime stamp in a file/table and then in file u retireive it using lookup functionlity,
Message was edited by:
Prabhu S
Gowri,
We've decided that we want to have incomming message ID in you of the fields of your abstract interface.
We create a Simple Java function to that will map the MESSAGE_ID to one of the fields of our absrtract interface.
String constant;
java.util.Map map;
map = container.getTransformationParameters();
constant = (String) map.get(StreamTransformationConstants.MESSAGE_ID);
return constant;
thn use inteface mapping in interface selecthe mapping where you wortethe above code.
regards
sreeram.g.reddy
Bhavesh,
I have reached a step further in my Mapping.
I have defined a Mapping between File1_ABS and File2_IN (get Message ID)
Second Mapping is between File2_ABS and File2_IN
for Scenario : N:2 Transformation
N IDoc collected (Receive) -> Transform(2 files) -> Send1(File1_ABS)
-> Send2(File2_ABS)
I am struck at the Scenario. How do i define Receiver Agreement, Interface determination and Receiver determination?
Kindly Advice.
Thanks,
Gowri
Bhavesh,
I have N(IDoc) to 2 Transformation in BPM.
I collect PAYEXT IDoc for 2 minutes and then transform it to EDI820 structure and RECON structure. So My BPM has one input and 2 outputs.
EDI820 structure is send to ftp server and RECON structure updates the XI table.
In the RECON structure, i have to capture XI message's Message ID of EDI820 structure before inserting it in Database.
I know that in BPM i cannot capture XI Message id. It can be captured only in IM.
My question: How do i define the whole process of getting the Message ID and defining it in RECON?
Thanks,
Gowri
Gowri,
><i>In the RECON structure, i have to capture XI message's Message ID of EDI820 structure before inserting it in Database.</i>
This is not possbile. The message ID for EDI820 will be created only after the message leaves your BPM and so there is no way you can read the same message Id inside the BPM before sending the RECON message.
Regards
Bhavesh
Hi
Please see the below for the solution
Use UDF and maintain the another structure for only msg id - header info and use transform into that and this transformation you can do it in IP and assign to target fiedl whatever you want..
Because In IP we cannot access the Msg ID, but if it is in structure as a field then you can capture it via any way like xpath context object..
i hope it is clear..
Regards
Chilla..
points rewarded if it is helpful..
Chilla,
When you deal with BPM's you have 2 message Id's.
1. Message Id for the message when it enters the BPM
2. Another message Id for the message going out of the BPM.
In this case, the requirement is to access the Message ID 2 inside the BPM for one of the messages. This is not possible as you cannot read the messge Id of the message that is still to go out of the BPM before the message leaves the BPM.
The UDF idea will be useful only if you need to access Message ID in Step 1.
Regards
Bhavesh
User | Count |
---|---|
83 | |
10 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.