Trouble with format of "Delimited List"

I’m attempting to build a BPM that updates the main company PerCon when the linked secondary company PerCon is changed. Unfortunately the linked contacts automagic updating is not working.

I’ve set up the BPM in the secondary company and made it company specific. I’ve set the condition to fire when any row is updated.

I’m now attempting to get the PerConID using the secondary PerConID which will be the GlbPerConID in the GlbPerCon table.

Unfortunately, it looks like I can only use Erp.PerCon.GetGlbPerConList to achieve this. It requires a string containing “Delimited list of GlbPerConID values” I’m just trying to get this working with hard code and I’ve tried “100000” and “~100000~” and “100000~” and they are all giving me an “ArguementOutOfRange” error.

If someone could tell me the correct format, or another way to get the primary PerConID from the GlbPerCon table given a GlbPerConID, I’d really appreciate it.

Thanks in advance.

have you tried a comma as a delimiter? Also try the back tick ` as in

100000`200000

I actually only need one ID passed in, yet “100000” doesn’t work.

Wondering if I need a delimiter in there even if I only need 1.

What about single quotes? ‘1000000’

I already know what you are working on, good luck :wink:

The best I can help with is to show you the logic for that delimiter:

for (int iRepeat = 1; iRepeat <= glbPerConIDList.Split(new char[]
	{
		'~'
	}).Length; iRepeat++)
	{
		TempGlbCompany = StringExtensions.Entry(StringExtensions.Entry(glbPerConIDList, iRepeat - 1, '~'), 0, '`');
		int TempGlbPerConID = Compatibility.Convert.ToInt32(StringExtensions.Entry(StringExtensions.Entry(glbPerConIDList, iRepeat - 1, '~'), 1, '`'));
this.GlbPerCon = this.FindFirstGlbPerCon(base.Session.CompanyID, TempGlbCompany, TempGlbPerConID);

So it appears you need:

Company'PerCon~Company2'PerCon2~

Note that I cant make the symbol I need to show you for the life of me.
In the example above replace these ’ with `

EDIT (removed all the “hard ways”)

or simply make a code block of type text

image

to get

Company`PerCon~Company2`PerCon~
1 Like

SOLVED!!! I went back to trying to do this completely with code and it turns out the code was fine, but I needed to make it run Asynchronously because I was trying to update the PerCon table while it was already In-Transaction.

Sure would’ve been nice to know that tasty little tidbit. Anyways, here’s my code in case someone in the future could use it.

// grab the 250 percon that has been UPDATED
var ttPerConRow = ( from ttPerCon_Row in ttPerCon where ttPerCon_Row.Company == “250” select ttPerCon_Row).FirstOrDefault();

// find the GlbPerCon Table record
var GlbPerConRow = ( from GlbPerCon_Row in Db.GlbPerCon where GlbPerCon_Row.GlbPerConID == ttPerConRow.PerConID select GlbPerCon_Row).FirstOrDefault();

// find the 200 PerCon Record
var pc200Row = Db.PerCon.FirstOrDefault(o => o.Company==“200” && o.PerConID==GlbPerConRow.PerConID);

//update the 200 PerCon to match the about to be updated 250 perCon
if (pc200Row==null)
return;

pc200Row.FirstName = ttPerConRow.FirstName.ToString();

Db.Validate();

1 Like