Has anyone or does anyone have experience designing a flow to grant ESS / MSS roles to:
- a user in LSF, or
- actor in Landmark, or
- on both in a federated systems setup?
Any advice, hints, or even a flow i can rework would be helpful. Thanks.
I've seen several different set-ups myself and they all seem to work well. I've seen some that use the webrun node to add to ISS (which keeps both LSF and Landmark up to date). I've also seen flows that add the roles to LSF and then to Landmark so the systems stay federated. A recent one I did and found helpful is looking at the HR07 Supervisor table and updating users who become managers with the MSS role, some groups tied to LBI reports and updating their portal role as well to include MSS bookmarks. The basic setup is to get the users' ID and then use the Resource Update/Landmark Transaction node to update security (or by using a webrun node to perform both in one step).
I'm just a beginner so take this with a grain of salt:
We have a nightly sql stored procedure that checks new hires, position change and terms. The sproc assigns their new roles, security, group, etc. into a table. A big process flow also runs nightly, reads this table, updates the LSF user credentials.We don't do anything with the Landmark side. Our system was setup with some sort of synchronization between LSF and Landmark. I've never looked if it is still working.
as for sample: (I don't know how to attach a file) Below is a flow I use to read another user and update my user with their security setup. This way, I can verify access/permission issues without asking for their password.
copy/pasta + save as an .lpd file. hope the formatting does not get messed up.
<?xml version="1.0" encoding="UTF-8"?><process className="FgProcess" connectionName="" designerVersion="9.1.0" id="imitate_user - Copy" priority="0" schemaVersion="1.0" service="" title=""> <description/> <processUserNode> <from/> <subject/> <content/> <displayType>1</displayType> <displayContent/> <displayName/> <hideActions>false</hideActions> </processUserNode> <activities> <activity activityType="START" caption="Start" className="com.lawson.bpm.processflow.workFlow.flowGraph.FgaStart" id="Start" x="14" y="275"> <prop className="java.lang.String" name="_activityCheckPoint" propType="SIMPLE"> <anyData/> </prop> <prop className="String" name="vRoles" propType="SIMPLE"> <anyData><![CDATA[%22%22]]></anyData> </prop> <prop className="String" name="vGroups" propType="SIMPLE"> <anyData><![CDATA[%22%22]]></anyData> </prop> <prop className="String" name="vCompanyControl" propType="SIMPLE"> <anyData><![CDATA[%22%22]]></anyData> </prop> <prop className="String" name="vProcessLevelControl" propType="SIMPLE"> <anyData><![CDATA[%22%22]]></anyData> </prop> <prop className="String" name="vtest" propType="SIMPLE"> <anyData><![CDATA[%22%22]]></anyData> </prop> <prop className="Boolean" name="vSame" propType="SIMPLE"> <anyData><![CDATA[false]]></anyData> </prop> <prop className="String" name="vSource_RMID" propType="SIMPLE"> <anyData><![CDATA[%221064065%22++%2F%2Fthe+employee+id+you+want+to+copy]]></anyData> </prop> <prop className="String" name="vDoppelganger_RMID" propType="SIMPLE"> <anyData><![CDATA[%271072202%27+%2F%2Fthis+will+be+an+account+you+have+access+to+e.g.%3A+your+regular+account]]></anyData> </prop> <prop className="Boolean" name="vInclude_Identity" propType="SIMPLE"> <anyData><![CDATA[false]]></anyData> </prop> <prop className="java.lang.String" name="variableType" propType="SIMPLE"> <anyData>NONE</anyData> </prop> <OnActivityError> <notify>false</notify> <to/> <cc/> <bcc/> <from/> <subject/> <body/> <goto>false</goto> <activity/> <log>false</log> <logString/> <emailCon/> </OnActivityError> </activity> <activity activityType="END" caption="End" className="com.lawson.bpm.processflow.workFlow.flowGraph.FgaEnd" id="End" x="798" y="280"> <prop className="java.lang.String" name="_activityCheckPoint" propType="SIMPLE"> <anyData/> </prop> <prop className="java.lang.String" name="processStatus" propType="SIMPLE"> <anyData/> </prop> <prop className="java.lang.String" name="variableType" propType="SIMPLE"> <anyData>NONE</anyData> </prop> <OnActivityError> <notify>false</notify> <to/> <cc/> <bcc/> <from/> <subject/> <body/> <goto>false</goto> <activity/> <log>false</log> <logString/> <emailCon/> </OnActivityError> </activity> <activity activityType="RMQR" caption="ResourceQuery" className="com.lawson.bpm.processflow.workFlow.flowGraph.FgaResourceQuery" id="q" x="111" y="280"> <prop className="java.lang.String" name="_activityCheckPoint" propType="SIMPLE"> <anyData/> </prop> <prop className="java.lang.String" name="rmQueryStr" propType="SIMPLE"> <anyData><![CDATA[%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22+standalone%3D%22yes%22%3F%3E%3CTRANSACTION+user%3D%22lawson%22+method%3D%22getRMQuery%22%3E%3COBJECT%3E%3C%21%5BCDATA%5BPeople%5D%5D%3E%3C%2FOBJECT%3E%3CATTRIBUTES%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BAccess%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BAccountingUnitControl%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BAcgrpCollect%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BActivityList%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BAddins%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BAllowJobQueue%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BCalendarType%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BCheckLS%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BCompanyControl%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BCreateTimeStamp%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BCreatorsId%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BDefValSep%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BEmail%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BFirstName%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BGroup%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BHRAuthorControl%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BID%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BISOLocale%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BIsDisabled%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BIsRunAsEnabled%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BLastName%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BModifiersId%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BModifyTimeStamp%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BName%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BPSAStandAlone%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BPortalAdmin%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BPortalRole%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BPrimaryGroup%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BPrimaryStructure%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BProcessLevelControl%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BProductLine%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BRole%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BSLDTFUNC%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BSLDTOBS%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BSNotesServer%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BULDTFUNC%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BULDTOBS%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BUTZOFFSET%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BWFUser%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BWKDAYEXPR%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BOLEDBC%5D%5D%3E%3C%2FATTRIBUTE%3E%3C%2FATTRIBUTES%3E%0D%0A%3CWHERE%3E%3C%21%5BCDATA%5B%28%7BID%7D%3D%3C%21vSource_RMID%3E%29%5D%5D%3E%3C%2FWHERE%3E%0D%0A%3COUTPUTSERVICEATTRS%3E%0D%0A%3C%21--OUTPUTSERVICEATTR+serviceName%3D%22LSFPROD%22%3E%3C%21%5BCDATA%5BDOMAIN_USER%5D%5D%3E%3C%2FOUTPUTSERVICEATTR--%3E%0D%0A%3C%21--OUTPUTSERVICEATTR+serviceName%3D%22LSFPROD%22%3E%3C%21%5BCDATA%5BPASSWORD%5D%5D%3E%3C%2FOUTPUTSERVICEATTR--%3E%0D%0A%3COUTPUTSERVICEATTR+serviceName%3D%22PROD_EMPLOYEE%22%3E%3C%21%5BCDATA%5BCOMPANY%5D%5D%3E%3C%2FOUTPUTSERVICEATTR%3E%0D%0A%3COUTPUTSERVICEATTR+serviceName%3D%22PROD_EMPLOYEE%22%3E%3C%21%5BCDATA%5BEMPLOYEE%5D%5D%3E%3C%2FOUTPUTSERVICEATTR%3E%0D%0A%3C%21--OUTPUTSERVICEATTR+serviceName%3D%22SSOP%22%3E%3C%21%5BCDATA%5BUSER%5D%5D%3E%3C%2FOUTPUTSERVICEATTR--%3E%0D%0A%3C%21--OUTPUTSERVICEATTR+serviceName%3D%22HRPRMNGL-2%22%3E%3C%21%5BCDATA%5BDOMAIN_USER%5D%5D%3E%3C%2FOUTPUTSERVICEATTR--%3E%0D%0A%3C%21--OUTPUTSERVICEATTR+serviceName%3D%22PSA%22%3E%3C%21%5BCDATA%5BUSER%5D%5D%3E%3C%2FOUTPUTSERVICEATTR--%3E%0D%0A%3C%2FOUTPUTSERVICEATTRS%3E%3C%2FTRANSACTION%3E]]></anyData> </prop> <prop className="java.lang.String" name="configurationName" propType="SIMPLE"> <anyData><![CDATA[SID-DEV]]></anyData> </prop> <prop className="java.lang.Boolean" name="stopOnError" propType="SIMPLE"> <anyData><![CDATA[false]]></anyData> </prop> <prop className="java.lang.Boolean" name="stopOnZeroRecords" propType="SIMPLE"> <anyData><![CDATA[false]]></anyData> </prop> <OnActivityError> <notify>false</notify> <to/> <cc/> <bcc/> <from/> <subject/> <body/> <goto>true</goto> <activity>err</activity> <log>true</log> <logString><![CDATA[Error+encountered+executing+process%0D%0A%0D%0AProcess%3A+RMquery%0D%0AWorkunit%3A+%3C%21WorkUnit%3E%0D%0AActivity+id%3A+%3C%21this%3E%0D%0A%0D%0AError+code%3A+%3C%21this_errorCode%3E%0D%0AInformation+code%3A+%3C%21this_informationCode%3E%0D%0A%0D%0AReturn+message%3A+%3C%21this_returnMessage%3E%0D%0A%0D%0AOutput+data%3A%0D%0A%3C%21this_outputData%3E%0D%0A%0D%0A]]></logString> <emailCon/> </OnActivityError> </activity> <activity activityType="ItEnd" caption="End-ResourceQuery" className="com.lawson.bpm.processflow.workFlow.flowGraph.FgaIterEnd" id="End-q" x="647" y="281"> <prop className="java.lang.String" name="_activityCheckPoint" propType="SIMPLE"> <anyData/> </prop> <prop className="java.lang.String" name="breakCondition" propType="SIMPLE"> <anyData><![CDATA[2]]></anyData> </prop> <prop className="java.lang.String" name="breakConditionText" propType="SIMPLE"> <anyData/> </prop> <OnActivityError> <notify>false</notify> <to/> <cc/> <bcc/> <from/> <subject/> <body/> <goto>false</goto> <activity/> <log>false</log> <logString/> <emailCon/> </OnActivityError> </activity> <activity activityType="RMQR" caption="ResourceQuery" className="com.lawson.bpm.processflow.workFlow.flowGraph.FgaResourceQuery" id="qX" x="192" y="144"> <prop className="java.lang.String" name="_activityCheckPoint" propType="SIMPLE"> <anyData/> </prop> <prop className="java.lang.String" name="rmQueryStr" propType="SIMPLE"> <anyData><![CDATA[%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22+standalone%3D%22yes%22%3F%3E%3CTRANSACTION+user%3D%22lawson%22+method%3D%22getRMQuery%22%3E%3COBJECT%3E%3C%21%5BCDATA%5BPeople%5D%5D%3E%3C%2FOBJECT%3E%3CATTRIBUTES%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BAccess%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BAccountingUnitControl%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BAcgrpCollect%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BActivityList%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BAddins%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BAllowJobQueue%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BCalendarType%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BCheckLS%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BCompanyControl%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BCreateTimeStamp%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BCreatorsId%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BDefValSep%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BEmail%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BFirstName%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BGroup%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BHRAuthorControl%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BID%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BISOLocale%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BIsDisabled%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BIsRunAsEnabled%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BLastName%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BModifiersId%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BModifyTimeStamp%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BName%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BPSAStandAlone%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BPortalAdmin%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BPortalRole%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BPrimaryGroup%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BPrimaryStructure%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BProcessLevelControl%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BProductLine%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BRole%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BSLDTFUNC%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BSLDTOBS%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BSNotesServer%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BULDTFUNC%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BULDTOBS%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BUTZOFFSET%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BWFUser%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BWKDAYEXPR%5D%5D%3E%3C%2FATTRIBUTE%3E%3CATTRIBUTE%3E%3C%21%5BCDATA%5BOLEDBC%5D%5D%3E%3C%2FATTRIBUTE%3E%3C%2FATTRIBUTES%3E%0D%0A%3CWHERE%3E%3C%21%5BCDATA%5B%28%7BID%7D%3D%3C%21vDoppelganger_RMID%3E%29%5D%5D%3E%3C%2FWHERE%3E%0D%0A%3COUTPUTSERVICEATTRS%3E%0D%0A%3C%2FOUTPUTSERVICEATTRS%3E%3C%2FTRANSACTION%3E]]></anyData> </prop> <prop className="java.lang.String" name="configurationName" propType="SIMPLE"> <anyData><![CDATA[SID-DEV]]></anyData> </prop> <prop className="java.lang.Boolean" name="stopOnError" propType="SIMPLE"> <anyData><![CDATA[false]]></anyData> </prop> <prop className="java.lang.Boolean" name="stopOnZeroRecords" propType="SIMPLE"> <anyData><![CDATA[false]]></anyData> </prop> <OnActivityError> <notify>false</notify> <to/> <cc/> <bcc/> <from/> <subject/> <body/> <goto>false</goto> <activity/> <log>true</log> <logString><![CDATA[Error+encountered+executing+process%0D%0A%0D%0AWorkunit%3A+%3C%21WorkUnit%3E%0D%0AActivity+id%3A+%3C%21this%3E%0D%0A%0D%0AError+code%3A+%3C%21this_errorCode%3E%0D%0AInformation+code%3A+%3C%21this_informationCode%3E%0D%0A%0D%0AReturn+message%3A+%3C%21this_returnMessage%3E%0D%0A%0D%0AOutput+data%3A%0D%0A%3C%21this_outputData%3E%0D%0A%0D%0A]]></logString> <emailCon/> </OnActivityError> </activity> <activity activityType="ItEnd" caption="End-ResourceQuery" className="com.lawson.bpm.processflow.workFlow.flowGraph.FgaIterEnd" id="End-qX" x="250" y="148"> <prop className="java.lang.String" name="_activityCheckPoint" propType="SIMPLE"> <anyData/> </prop> <prop className="java.lang.String" name="breakCondition" propType="SIMPLE"> <anyData><![CDATA[2]]></anyData> </prop> <prop className="java.lang.String" name="breakConditionText" propType="SIMPLE"> <anyData/> </prop> <OnActivityError> <notify>false</notify> <to/> <cc/> <bcc/> <from/> <subject/> <body/> <goto>false</goto> <activity/> <log>false</log> <logString/> <emailCon/> </OnActivityError> </activity> <activity activityType="ASSGN" caption="Assign" className="com.lawson.bpm.processflow.workFlow.flowGraph.FgaAssign" id="Compare" x="348" y="147"> <prop className="java.lang.String" name="_activityCheckPoint" propType="SIMPLE"> <anyData/> </prop> <prop className="Object" name="" propType="SIMPLE"> <anyData><![CDATA[if+%28%0D%0A%28+q_EMAIL+%3D%3D+qX_EMAIL+%29%0D%0A%26%26++%28+q_GROUP+%3D%3D+qX_GROUP+%29++%2F%2Fwil+always+fail+because+the+list+is+reversed%0D%0A%26%26++%28+q_ROLE+%3D%3D+qX_ROLE+%29%0D%0A%26%26++%28+q_PROCESSLEVELCONTROL+%3D%3D+qX_PROCESSLEVELCONTROL+%29%0D%0A%26%26++%28+q_COMPANYCONTROL+%3D%3D+qX_COMPANYCONTROL+%29%0D%0A%26%26++%28+q_PORTALROLE+%3D%3D+qX_PORTALROLE+%29%0D%0A%29%0D%0A%7B%0D%0A%09vSame%3Dtrue%3B%0D%0A%7D+else+%7B%0D%0A%09vSame%3Dfalse%3B%0D%0A%7D]]></anyData> </prop> <OnActivityError> <notify>false</notify> <to/> <cc/> <bcc/> <from/> <subject/> <body/> <goto>false</goto> <activity/> <log>false</log> <logString/> <emailCon/> </OnActivityError> </activity> <activity activityType="ASSGN" caption="Assign" className="com.lawson.bpm.processflow.workFlow.flowGraph.FgaAssign" id="err" x="619" y="31"> <prop className="java.lang.String" name="_activityCheckPoint" propType="SIMPLE"> <anyData/> </prop> <prop className="String" name="vtest" propType="SIMPLE"> <anyData><![CDATA[lastReturnMessage.replace%28%2F%27%2Fg%2C+%27%5C%27%5C%27%27%29]]></anyData> </prop> <OnActivityError> <notify>false</notify> <to/> <cc/> <bcc/> <from/> <subject/> <body/> <goto>false</goto> <activity/> <log>false</log> <logString/> <emailCon/> </OnActivityError> </activity> <activity activityType="BRANCH" caption="Branch" className="com.lawson.bpm.processflow.workFlow.flowGraph.FgaBranch" id="Include_identity" x="344" y="251">