If you're using Design Studio, you can use the formlet tool in the Portal Page design to display the requisition (RQ10) form for approval review instead of building an HTML page to display.
However, if you're like my current client you don't want to click around so much to get to the information you want. We went through various designs and finally came up with one they liked.
Stage 1: Create a modified RQ10 and take away buttons, tabs and fields the approver doesn't need.
Stage 2: Use a reformatted RQ10 Header only and use a Data Query to display the line detail.
Stage 3: Use a reformatted RQ10 Header and a TextArea to write information extracted from DME calls and the getattachrec.exe program for comments so that you can display information from multiple tables.
It's like I always say, you are only limited by your imagination (for the most part).
Using Lawson's getattachrec.exe CGI to retrieve your comments
This sample is pulling the display only comments from the PO Header when a button is clicked and alert it.
function BUTTON_OnClick(id, row)
{
if (id!="push10") return true;
{
var vProd = portalWnd.oUserProfile.getAttribute("productline");
s = "/cgi-lawson/getattachrec.exe?_OUT=XML&_PDL=" + vProd;
s += "&_FN=PURCHORDER&_IN=PCRSET1&K1=1"; //Company
s += "&K2=" + lawForm.getFormValue("text6"); //PO Code
s += "&K3=" + lawForm.getFormValue("text4"); //PO Number
s += "&K4=" + lawForm.getFormValue("text5"); //PO Release
s += "&_ATYP=C&_AUDT=O&_OPM=C&_DATA=TRUE&_ECODE=FALSE";
var getCmnt = portalWnd.httpRequest(s);
var Cmntback = getCmnt.xml;
//Manipulate the data you receive back in order pull the actual comment out.
var B = Cmntback.indexOf("AttData")
var E = Cmntback .indexOf("/AttData")
var myComment = Cmntback.substr(B+23,E-B-32)
alert(myComment);
}
return;
}
I had previously listed the PO Header Comment Types and thought this might be useful.
Requisition Header Comment Types
I - Comments to Print on Headers of Internal Documents
Q - Comments to Print on Requisitions
P - Comments to Print on Purchase Orders
T - Comments to Print on a PO as Trailer Comments
L - Comments to Print on Pick Lists
R - Comments to Print on Receiving Documents
O - Requisition Header Display Only Comments
B - Bill to Address Comments
D - Comments to Print on Delivery Tickets
function BUTTON_OnClick(id, row)
{
if (id!="push10") return true;
{
var vProd = portalWnd.oUserProfile.getAttribute("productline");
s = "/cgi-lawson/getattachrec.exe?_OUT=XML&_PDL=" + vProd;
s += "&_FN=PURCHORDER&_IN=PCRSET1&K1=1"; //Company
s += "&K2=" + lawForm.getFormValue("text6"); //PO Code
s += "&K3=" + lawForm.getFormValue("text4"); //PO Number
s += "&K4=" + lawForm.getFormValue("text5"); //PO Release
s += "&_ATYP=C&_AUDT=O&_OPM=C&_DATA=TRUE&_ECODE=FALSE";
var getCmnt = portalWnd.httpRequest(s);
var Cmntback = getCmnt.xml;
//Manipulate the data you receive back in order pull the actual comment out.
var B = Cmntback.indexOf("AttData")
var E = Cmntback .indexOf("/AttData")
var myComment = Cmntback.substr(B+23,E-B-32)
alert(myComment);
}
return;
}
I had previously listed the PO Header Comment Types and thought this might be useful.
Requisition Header Comment Types
I - Comments to Print on Headers of Internal Documents
Q - Comments to Print on Requisitions
P - Comments to Print on Purchase Orders
T - Comments to Print on a PO as Trailer Comments
L - Comments to Print on Pick Lists
R - Comments to Print on Receiving Documents
O - Requisition Header Display Only Comments
B - Bill to Address Comments
D - Comments to Print on Delivery Tickets
I'm using a modified PO20 form for ProcessFlow PO approvals and my client didn't like the many steps required to add a comment to the PO (which I'm sending to the buyer to explain why their PO was being rejected). I am using the writeattach.exe CGI to add the comment from a Text Area on my form when the user clicks a "Add Comment" button.
if (id=="push11")
{
var vProd = portalWnd.oUserProfile.getAttribute("productline");
var vComm = lawForm.getFormValue("textarea1");
s = "/cgi-lawson/writeattach.exe?_OUT=XML&_PDL=" + vProd;
s += "&_FN=PURCHORDER&_IN=PCRSET1&K1=1";
s += "&K2=" + lawForm.getFormValue("text6");
s += "&K3=" + lawForm.getFormValue("text4");
s += "&K4=" + lawForm.getFormValue("text5");
s += "&_ATYP=C&_AUDT=O";
s +="&_USCH=none&_DATA=TRUE&_OPM=M&_ECODE=FALSE&_ANAM=Approval Comment";
s += "&_ATXT=" + vComm;
alert ("Your comments have been accepted.")
portalWnd.httpRequest(s);
}
The comment types (&_AUDT= ) are:
B – Purchase Order Bill To Address
D – Comment to Print on Delivery Ticket
E – Purchase Order Copy Comments and Errors
I – Comments to Print on Headers on Internal Documents
N – Invoice Comments
O – Purchase Order Header Display Only Comments
P – Comments to Print on Purchase Orders
Q – Comments Pertaining to Vendor Contacts
R – Comments to Print on Receiving Documents
T – Comments to Print on Purchase Orders as Trailer Comments
if (id=="push11")
{
var vProd = portalWnd.oUserProfile.getAttribute("productline");
var vComm = lawForm.getFormValue("textarea1");
s = "/cgi-lawson/writeattach.exe?_OUT=XML&_PDL=" + vProd;
s += "&_FN=PURCHORDER&_IN=PCRSET1&K1=1";
s += "&K2=" + lawForm.getFormValue("text6");
s += "&K3=" + lawForm.getFormValue("text4");
s += "&K4=" + lawForm.getFormValue("text5");
s += "&_ATYP=C&_AUDT=O";
s +="&_USCH=none&_DATA=TRUE&_OPM=M&_ECODE=FALSE&_ANAM=Approval Comment";
s += "&_ATXT=" + vComm;
alert ("Your comments have been accepted.")
portalWnd.httpRequest(s);
}
The comment types (&_AUDT= ) are:
B – Purchase Order Bill To Address
D – Comment to Print on Delivery Ticket
E – Purchase Order Copy Comments and Errors
I – Comments to Print on Headers on Internal Documents
N – Invoice Comments
O – Purchase Order Header Display Only Comments
P – Comments to Print on Purchase Orders
Q – Comments Pertaining to Vendor Contacts
R – Comments to Print on Receiving Documents
T – Comments to Print on Purchase Orders as Trailer Comments
My current client is implementing 9.0 and I wanted to use some of my previous ProcessFlow solutions for them, but most of my files are 8.03 .flo files.
Lawson does have a program to convert 8.03 flow files to 9.0 but they won't tell you how to use this program unless you've gone through the migration to 9.0 technical training. I haven't taken this training so I had to find a resource who had and was willing to share information.
The following instructions are a variation of Lawson's instructions. You will use the DEV product line in the Perl command instead of the 8.03 product line that Lawson's instructions say to use since if you're implementing 9.0 you won't have an 8.03 product line. Also, you will have to take the .xml files created and re-upload them into Lawson via the ProcessFlow Designer.
Create a directory: mkdir $GENDIR/ug81/803flows and copy your .flo files into that directory.
Change to the migration directory: cd $GENDIR/ug81
Run the flow conversion script:Perl pflowtoxml.pl DEV dir $GENDIR/ug81/803flows >pflowtoxml.log 2>&1
After running, check the pflowtoxml.log file for any conversion errors and the location of the revised files.
This program will write your revised .xml flow files to the pfrepository directory but you will have to transfer them to your workstation and upload them via the ProcessFlow Designer (after making any needed changes) since you're not actually converting to 9.0 and the system won't recognize the flows unless you upload them this way.
Lawson does have a program to convert 8.03 flow files to 9.0 but they won't tell you how to use this program unless you've gone through the migration to 9.0 technical training. I haven't taken this training so I had to find a resource who had and was willing to share information.
The following instructions are a variation of Lawson's instructions. You will use the DEV product line in the Perl command instead of the 8.03 product line that Lawson's instructions say to use since if you're implementing 9.0 you won't have an 8.03 product line. Also, you will have to take the .xml files created and re-upload them into Lawson via the ProcessFlow Designer.
Create a directory: mkdir $GENDIR/ug81/803flows and copy your .flo files into that directory.
Change to the migration directory: cd $GENDIR/ug81
Run the flow conversion script:Perl pflowtoxml.pl DEV dir $GENDIR/ug81/803flows >pflowtoxml.log 2>&1
After running, check the pflowtoxml.log file for any conversion errors and the location of the revised files.
This program will write your revised .xml flow files to the pfrepository directory but you will have to transfer them to your workstation and upload them via the ProcessFlow Designer (after making any needed changes) since you're not actually converting to 9.0 and the system won't recognize the flows unless you upload them this way.
In ProcessFlow 9 (this was updated in v 8.1, but I don't know anyone who used 8.1) you no longer have to default the application product line like you did with previous versions using WF00.
The application product line is now a criteria field on your Service so that you can enable your Service for only one product line or for different product lines by copying the Service (this allows connecting it to a different flow file by product line).
If you don't default a product line your Service will work with as many product lines as you've set up to use ProcessFlow. (Some of the enable flags, like with Match Company for cost messages still refer to ProcessFlow as WorkFlow).
The application product line is now a criteria field on your Service so that you can enable your Service for only one product line or for different product lines by copying the Service (this allows connecting it to a different flow file by product line).
If you don't default a product line your Service will work with as many product lines as you've set up to use ProcessFlow. (Some of the enable flags, like with Match Company for cost messages still refer to ProcessFlow as WorkFlow).
If you're using Design Studio to create your ProcessFlow Inbasket displays, you aren't limited to a Formlet, you can use a Data Query.
Here's how to include select criteria from the variables in your flow so that only the data you want will be displayed:
function data0_OnInit()
{
// create new variables and reference the variables from your flow (page.parameters.FLOWVARIABLE)
var myVen=page.parameters.VEN
var myInv=page.parameters.INV
var myItem=page.parameters.ITEM
// data0 = your Data Query name
var dmeObj = page.objects["data0"];
// pass your variables as Select criteria to your Data Query
dmeObj.criteria += "SELECT=VENDOR%3D" + myVen + "%26INVOICE^%3D" + myInv + "%26ITEM^%3D" + myItem
}
Here's how to include select criteria from the variables in your flow so that only the data you want will be displayed:
function data0_OnInit()
{
// create new variables and reference the variables from your flow (page.parameters.FLOWVARIABLE)
var myVen=page.parameters.VEN
var myInv=page.parameters.INV
var myItem=page.parameters.ITEM
// data0 = your Data Query name
var dmeObj = page.objects["data0"];
// pass your variables as Select criteria to your Data Query
dmeObj.criteria += "SELECT=VENDOR%3D" + myVen + "%26INVOICE^%3D" + myInv + "%26ITEM^%3D" + myItem
}
Subscribe to:
Posts (Atom)