If you're getting one of those annoying DME connection errors with user lawson when running your flow on the server but it works just fine within PF Designer then I have a possible solution for you (I just discovered this for a client).
If the DME has a SELECT statement with an Escape character (%3D for the = character) then replace it with the normal character.
Replace SELECT=STATUS%3D1 with SELECT=STATUS=1
When I did this my DME call worked on the server.
ProcessFlow Not Triggering
I've been asked several times recently why ProcessFlow isn't triggering so wanted to give some ProcessFlow 101 things to check:
Does the application form WF01 have the LOGAN value in the Collarborative Commerce Productline field? If not, ProcessFlow won't trigger.
Have you enabled all three of the ProcessFlow Administration Service forms?
Service Definition - Service Criteria Level Definition - Service Process Definition.
If not, ProcessFlow won't trigger.
Have you set up the application prerequisites for your approvals?
PA50 Personnel Action - Use Workflow = Y
RQ04 Requester - Requisition Approval Type - Header using Process Flow
AP00.4 Company - Workflow = Y (and so forth)
If not, ProcessFlow won't trigger.
My favorite recent issue - along with the ProcessFlow Solution Packs being installed, was the WFDATA installation also done?
If not, ProcessFlow won't trigger.
Does the application form WF01 have the LOGAN value in the Collarborative Commerce Productline field? If not, ProcessFlow won't trigger.
Have you enabled all three of the ProcessFlow Administration Service forms?
Service Definition - Service Criteria Level Definition - Service Process Definition.
If not, ProcessFlow won't trigger.
Have you set up the application prerequisites for your approvals?
PA50 Personnel Action - Use Workflow = Y
RQ04 Requester - Requisition Approval Type - Header using Process Flow
AP00.4 Company - Workflow = Y (and so forth)
If not, ProcessFlow won't trigger.
My favorite recent issue - along with the ProcessFlow Solution Packs being installed, was the WFDATA installation also done?
If not, ProcessFlow won't trigger.
Approving Requisition by Line with ProcessFlow
My latest client is only my third to decide to approve requisitions through ProcessFlow by line instead of by header. While I like the concept, I don't like all of the WorkUnits (one for the requisition header and then one for each line to be approved).
I only had last week to work with them on developing this flow so I didn't get to test a theory that I'd like to put in place for this process - a process that would be easier for the approver but much more complicated to program.
In concept the approver should be able to view all of the pending lines on the requisition and then select which to approve, which to reject and which to unrelease; all from one Inbasket form.
After selecting the lines to reject or unrelease the Portal Page script would update RQ13.2 and then for the lines being approved the script would trigger ProcessFlow for the next approval level. (You'd have to program the script to require the approval to be done last.)
This way the number of WorkUnits would be greatly minimized as well as the number of UserAction notification emails. Like I said, it would be easier for the approver but more complicated to program.
I'm willing to give it a try - any takers?
I only had last week to work with them on developing this flow so I didn't get to test a theory that I'd like to put in place for this process - a process that would be easier for the approver but much more complicated to program.
In concept the approver should be able to view all of the pending lines on the requisition and then select which to approve, which to reject and which to unrelease; all from one Inbasket form.
After selecting the lines to reject or unrelease the Portal Page script would update RQ13.2 and then for the lines being approved the script would trigger ProcessFlow for the next approval level. (You'd have to program the script to require the approval to be done last.)
This way the number of WorkUnits would be greatly minimized as well as the number of UserAction notification emails. Like I said, it would be easier for the approver but more complicated to program.
I'm willing to give it a try - any takers?
Parsing Data
I often need to parse data within ProcessFlow or Design Studio and thought I'd share some quick tips on parsing text using JavaScript.
If I have a variable called mytext with the value of "David's Blog" and only want to use part of the value I can parse it.
mytext.substring(0,4) would return "David"
Substring returns the text between two points so to get the value substring starts at the 1st position (JavaScript starts with 0, not 1) and ends with the 2nd position.
mytext.substr(0,5) would return "David"
Substr returns the text from the starting point and forward the number of characters specified. If you leave the 2nd position off the substr command it will parse the text to the end point.
mytext.indexOf("Blog") would return 8
The indexOf method searches for your quoted value and returns the starting point of that value within the text.
mytext.length would return 12
The length method returns the number of characters (including spaces) within your text. This method doesn't start with zero so you get the actual number of characters.
You can use these methods together:
mytext.substr(mytext.indexOf("'s"),5) would return "'s Bl"
If I have a variable called mytext with the value of "David's Blog" and only want to use part of the value I can parse it.
mytext.substring(0,4) would return "David"
Substring returns the text between two points so to get the value substring starts at the 1st position (JavaScript starts with 0, not 1) and ends with the 2nd position.
mytext.substr(0,5) would return "David"
Substr returns the text from the starting point and forward the number of characters specified. If you leave the 2nd position off the substr command it will parse the text to the end point.
mytext.indexOf("Blog") would return 8
The indexOf method searches for your quoted value and returns the starting point of that value within the text.
mytext.length would return 12
The length method returns the number of characters (including spaces) within your text. This method doesn't start with zero so you get the actual number of characters.
You can use these methods together:
mytext.substr(mytext.indexOf("'s"),5) would return "'s Bl"
ProcessFlow User Level Work
Recently on John Henley's Lawson Guru Forum another contributor suggested assigning UserAction approvals to the User rather than to the Task. Normally the User Level Work Inbasket is used with HRUserAction approvals so why not assign non-HR approvals to Users as well?
The only real objection I have to this is that when a user leaves then the flow file would have to be updated rather than updating the ProcessFlow Admin User setup forms. When you update the User Task then the new user will see the existing Inbasket tasks right away - but if existing WorkUnits are assigned to Users they will have to be reassigned.
Either way there is some maintenance but I think updating the User Task is much easier and I would recommend keeping it simple.
The only real objection I have to this is that when a user leaves then the flow file would have to be updated rather than updating the ProcessFlow Admin User setup forms. When you update the User Task then the new user will see the existing Inbasket tasks right away - but if existing WorkUnits are assigned to Users they will have to be reassigned.
Either way there is some maintenance but I think updating the User Task is much easier and I would recommend keeping it simple.
Get URL Attachment from RQ and add to PO
Ash Gajjar contacted me recently with an interesting question. Could he get the URL for an attachment from a requisition and add that to the purchase order created from that requisition? Of course, I assured him. Now came the matter of how.
I offered Ash a solution with two methods of achieving that solution - use Design Studio when the PO was released to perform a DME on the PO Line Source Record, use the getattachrec.exe CGI to retrieve the URL Attachment, parse that for the actual URL value and then writeattach.exe to add it to the PO.
Ash chose the 2nd method I suggested and is using ProcessFlow to perform this solution. I have an old posting on how to get comments but the values are a little different when you want the URL Attachment instead of a standard comment.
I offered Ash a solution with two methods of achieving that solution - use Design Studio when the PO was released to perform a DME on the PO Line Source Record, use the getattachrec.exe CGI to retrieve the URL Attachment, parse that for the actual URL value and then writeattach.exe to add it to the PO.
Ash chose the 2nd method I suggested and is using ProcessFlow to perform this solution. I have an old posting on how to get comments but the values are a little different when you want the URL Attachment instead of a standard comment.

Subscribe to:
Posts (Atom)