Purchase order performance report

madm
Member Posts: 92
In order to analyse our vendors, I have created a report that compares the promised receipt date with the posting date of the last GRN against this order.
I have then set it
if promised < GRN posting date then late
if promised > GRN Posring date then early etc
One thing I have noticed is that our purch department seem to miss the promised date on a number of orders. In this case I would like the variable to be calculated from the requested delivery date.
I have tried to IF Promised Date <> '' THEN..
but this gives a date to text conversion errror. How do I go about saying that if the Promised Date <> '' then calculate "this way", else calculate "another way"..
The next thing I would like to do, is then count late/early/on time and do a percentage against each supplier, and then possibly a league table at the end of the report. Will this be simple?!
Thanks
I have then set it
if promised < GRN posting date then late
if promised > GRN Posring date then early etc
One thing I have noticed is that our purch department seem to miss the promised date on a number of orders. In this case I would like the variable to be calculated from the requested delivery date.
I have tried to IF Promised Date <> '' THEN..
but this gives a date to text conversion errror. How do I go about saying that if the Promised Date <> '' then calculate "this way", else calculate "another way"..
The next thing I would like to do, is then count late/early/on time and do a percentage against each supplier, and then possibly a league table at the end of the report. Will this be simple?!
Thanks
0
Comments
-
IF Promised Date <> 0D THEN
To have the no. of days between 2 dates, just subtract them and the result is an integer.Regards,Alain Krikilion
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!0 -
kriki wrote:
IF Promised Date <> 0D THEN
To have the no. of days between 2 dates, just subtract them and the result is an integer.
thanksbut the promised date is an actual date entered on the purchase header. What I am trying to do, is if the promised date is missing, then use expected receipt date.
0 -
TheDate := "promised date"; IF TheDate O 0D THEN TheDate := "Expected Receipt Date";
Regards,Alain Krikilion
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!0 -
that has sorted it!
Thanks.
I now have a set of IFs :
IF TheDate < PRH."Posting Date" THEN
KPI := 'LATE';
giving early, on time etc
How would I count each late for each group? I have tried the kpi = late then latecounter = 1
and then have done a totallate = latecounter + 1.
However, since late is a text it doesnt like it. I then tried putting
IF TheDate < PRH."Posting Date" THEN
KPI := 'LATE';
LATEBOOLEAN := True
but that didnt work either.0 -
madm wrote:that has sorted it!
Thanks.
I now have a set of IFs :
IF TheDate < PRH."Posting Date" THEN
KPI := 'LATE';
giving early, on time etc
How would I count each late for each group? I have tried the kpi = late then latecounter = 1
and then have done a totallate = latecounter + 1.
However, since late is a text it doesnt like it. I then tried putting
IF TheDate < PRH."Posting Date" THEN
KPI := 'LATE';
LATEBOOLEAN := True
but that didnt work either.
I didn't understand what exactly you want to do :-kRegards,Alain Krikilion
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!0 -
kriki wrote:I didn't understand what exactly you want to do :-k
The report checks the purchase order header "expected/promised date" against the last receipt posting date. This then illustrates how late/early the vendor sent the goods in.
I have declared the following variables ( I used your "TheDate"!):
IF TheDate < PRH."Posting Date" THEN
KPI := 'LATE';
IF TheDate > PRH."Posting Date" THEN
KPI := 'EARLY';
IF TheDate = PRH."Posting Date" THEN
KPI := 'ON TIME';
IF ("Last Receiving No." = '') AND (TheDate <= TODAY) THEN
KPI := 'GOODS OVERDUE';
IF ("Last Receiving No." = '') AND (TheDate >= TODAY) THEN
KPI := 'NOT DUE';
As a summary for each vendor, I want to count the number of orders and then number of lates, on time etc etc. This will then illustrate how the vendor is performing.
(we use get receipt lines so the purchase orders are not posted upon invoice).
Vendor No Of Orders Late On Time Early Etc etc
abc 10 2 7 10 -
IF TheDate < PRH."Posting Date" THEN BEGIN KPI := 'LATE'; intLate := intLate + 1; END; IF TheDate > PRH."Posting Date" THEN BEGIN KPI := 'EARLY'; intEarly := intEarly + 1; END; IF TheDate = PRH."Posting Date" THEN BEGIN KPI := 'ON TIME'; intOnTime := intOnTime + 1; END; IF ("Last Receiving No." = '') AND (TheDate <= TODAY) THEN KPI := 'GOODS OVERDUE'; IF ("Last Receiving No." = '') AND (TheDate >= TODAY) THEN KPI := 'NOT DUE';
And later you print those integers.
Remember that you have to reset the integers for each vendor.
I also suppose you print the orders ordered per Vendor.
If not, those integers you must keep per vendor in a temptable.Regards,Alain Krikilion
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions