Written by

Enterprise Application Development Consultant at The Ohio State University Wexner Medical Center
MOD
Question Scott Roth · Mar 9, 2018

Incrementing Session ID through BPL

I have several BPL's that act like SQL Server Integration Services (SSIS) where they are transferring data. When I do this they are all being written under 1 session id, is it possible to make the BPL create multiple session ID's as it is cycling through a Snapshot, so it is easier to read in the trace?

Thanks

Scott Roth

Comments

Eduard Lebedyuk · Mar 9, 2018

Set SessionId property to empty string and Ensemble would automatically start a new session.

Also why are you iterating over a result set in a BP and not in BS? It would probably be better.

0
Scott Roth  Mar 9, 2018 to Eduard Lebedyuk

Within the BPL editor how do you set a Property in Code?

0
Eduard Lebedyuk  Mar 9, 2018 to Scott Roth

You can use assign action:

<assign property='..%Process.%SessionId' value='""'/>

Still, I'd recommend the same trick but in BS not BP:

set ..%SessionId = ""
0
Scott Roth  Mar 9, 2018 to Eduard Lebedyuk

Can I still add code in Business Studio and it maintain integrity to be able to still open in the BPL editor?

I added the following in my while loop, but then the BPL hung.

<assign property='..%Process.%SessionId' value='""'/>
0
Eduard Lebedyuk  Mar 9, 2018 to Scott Roth

Can I still add code in Business Studio and it maintain integrity to be able to still open in the BPL editor?

It's easier to use one tool to modify BPL.  <assign> is available in UI so you can add it without writing XML at all.

  then the BPL hung.

I tested that behavior in BS only and it works there fine there.  Maybe it causes BP to break. You can try to set SessionId just before sending request to other BP or BO and then reinstating old SesionId  value back. That way persistent  session value on disc would stay the same and BP can maybe survive unload from memory.

My recommendation is to iterate over result set in BS rather than BP, then send each new snapshot (preferably preprocessed  in BS) to BP with new session for each object.

0
Rabindra Nayak · Sep 10, 2019

<assign value='%Ensemble("%Process").%SessionId' property='target.{MSH:MessageControlID}' action='set' />

0