Job Receipt to Inventory

Sorry I was looking at my ver 6 documentation. <*hand slap*>

Anyway, yes, use the JobPart table. My point with not using the JobProd is that you have to summarize the values for the JobProd where the JobPart values will already be summarized for the received and shipped totals. No need to do calculations when they are already done.

Chris


--- In vantage@yahoogroups.com, "michael.hutcheson@..." <michael.hutcheson@...> wrote:
>
> Yes, you are correct it is in the Job Prod table. According to the data dictionary it is also present in the Job Part table.
>
> Regards,
>
> Michael Hutcheson
> IT Developer
> Anson
> Mission Products
> National Oilwell Varco
> Tel: + 44 (0) 191 4820022
>
>
> --- In vantage@yahoogroups.com, Michelle de la Vega <mdelavega@> wrote:
> >
> > I could be completely blind, but I don't see the receivedqty field in the JobHead table. That's why I went to the JobProd table.
> >
> > If this field is really there, please let me know, it would make my life a lot easier.
> >
> > Thanks!
> >
> > Michelle de la Vega
> > Business Applications Manager
> > Cold Jet, LLC
> > 455 Wards Corner Road
> > Loveland, Ohio 45140
> > USA
> > +1 513-716-6400 (office)
> > +1 513-382-3281 (mobile)
> > +1 513-831-1209 (fax)
> > www.coldjet.com<http://www.coldjet.com>
> > [cid:image001.jpg@]
> >
> > From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of saab_barracuda
> > Sent: Friday, December 04, 2009 9:11 AM
> > To: vantage@yahoogroups.com
> > Subject: [Vantage] Re: Job Receipt to Inventory
> >
> >
> >
> > I agree this needs to occur at the JobHead level rather than at the demand link in JobProd. There are three types of demand links, make to stock, make to order, and make to job. You don't have a robust solution if you don't account for all of them. Both the make to stock and make to job count in the ReceivedQty but for completeness sake you should include the ShippedQty in your formula. Even if you "always" make to stock, you never know...
> >
> > All these fields are stored in the JobHead so there isn't any advantage to pull from other tables. So I would use:
> >
> > (JobHead.QtyCompleted - JobHead.ReceivedQty - JobHead.ShippedQty) < ttPartTran.TranQty
> >
> > I haven't looked into it but you probably need to do this check in multiple places to account for all three ways the material can be relieved from the job.
> >
> > I will also mention that although you don't want this "feature", our company does take advantage of this flexibility. We often ship from the job before production has reported completed quantities. Although I'd like to have more real-time reporting, in the meantime, it's nice the system allows this.
> >
> > Chris
> >
> > --- In vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>, "Rob Bucek" <rbucek@> wrote:
> > >
> > > Correction, its jobpart table
> > >
> > >
> > >
> > > We use MES and hand helds so I am monitoring
> > > ReceiptsFromMfg.ReceiveMfgPartToInventory
> > >
> > >
> > >
> > > for each ttPartTran
> > >
> > > where (ttPartTran.RowMod = 'U' or ttPartTran.RowMod = 'A' and
> > > ttPartTran.TranType = 'MFG-STK') ,
> > >
> > > each JobHead
> > >
> > > each JobPart
> > >
> > > where JobHead.JobNum = ttPartTran.JobNum and JobPart.JobNum =
> > > ttPartTran.JobNum and
> > >
> > > (Jobhead.QtyCompleted - JobPart.ReceivedQty) < ttPartTran.TranQty
> > >
> > >
> > >
> > > Rob Bucek
> > >
> > > Manufacturing Engineer
> > >
> > > PH: (715) 284-5376 ext 3111
> > >
> > > FAX: (715)284-4084
> > >
> > > <http://www.dsmfg.com/>
> > >
> > > (Click the logo to view our site) <http://www.dsmfg.com/>
> >
> >
> >
> > [Non-text portions of this message have been removed]
> >
>
[8.03.404B SQL]



Is this a "feature" or is there some logic behind this design?



On Job# 123, Opr 10 I completed Qty of 5.



Upon doing a Job Receipt to Inventory if I attempt to receive qty 8 into
inventory it correctly gives me an error. So I receive qty 5 and it's
fine.



I can immediately perform another Job Receipt to Inventory of 5 again.
And another 5. Just not *more* than 5 per transaction.



Is there a reason for this?



Our stockroom guy accidentally received the completed qty twice and it
confused me as how this logic is permitted.



Thank you in advance.







Vic





[Non-text portions of this message have been removed]
The system is littered w/ this (shipping, labor entry, job receipts).

Write your own VB custmmizations (or BPMs) to make sure sum of previously received (or shipped, or labor reported) to date qty + current-about-to-be-received (or shipped, or labor reported) doesn't exist what you consider allowable total.




________________________________
From: Vic Drecchio <vic.drecchio@...>
To: vantage@yahoogroups.com
Sent: Friday, August 21, 2009 4:13:18 PM
Subject: [Vantage] Job Receipt to Inventory

Â
[8.03.404B SQL]

Is this a "feature" or is there some logic behind this design?

On Job# 123, Opr 10 I completed Qty of 5.

Upon doing a Job Receipt to Inventory if I attempt to receive qty 8 into
inventory it correctly gives me an error. So I receive qty 5 and it's
fine.

I can immediately perform another Job Receipt to Inventory of 5 again.
And another 5. Just not *more* than 5 per transaction.

Is there a reason for this?

Our stockroom guy accidentally received the completed qty twice and it
confused me as how this logic is permitted.

Thank you in advance.

Vic

[Non-text portions of this message have been removed]







[Non-text portions of this message have been removed]
Hi folks,

We have an on going problem in Vantage (406) whereby when stores receive parts in via the Job Receipt to Inventory it is possible to overbook. I.e. the qty entered (which is part tran\tran qty) sometimes exceeds the JobHead.Prod Qty.

Therefore on JobProd there will be the 0 received and 20 to produce, with a transaction qty of 21 in ttPartTran.

After the update has happened it will be 21 received and 20 to produce (assuming they have done 21 in the transaction).

My response from Epicor was "So what I would do is add a new condition line before the query line and put in a bit of code that gets the current qty produced and adds the current transaction qty to it, put that into a UD field.

Then change the query to check against the new UD field not the current produced qty"

However, what code would I use to get the current qty produced and then add the trans qty and write it to a UD field?

Or does anyone have a different solution?

Cheers,

Michael.
Actually I think you could just call the preprocess method "Number of rows in the designed query is equal to 1" and write something like this:

for each ttparttran where (ttparttran.RowMod = 'A' or ttparttran.RowMod = 'U'), each jobprod where ttparttran.jobnum = jobprod.jobnum and ttparttran.company = jobprod.company and ttparttran.tranqty < > (jobprod.prodqty - jobprod.receivedqty) NO-LOCK.

The only problem with this formula, is that you may not be able to do subtraction, I haven't tried it before so I'm not positive.

Has anyone else tried to do "math" in a query before?


Michelle de la Vega
Business Applications Manager
Cold Jet, LLC
455 Wards Corner Road
Loveland, Ohio 45140
USA
+1 513-716-6400 (office)
+1 513-382-3281 (mobile)
+1 513-831-1209 (fax)
www.coldjet.com<http://www.coldjet.com>
[cid:image001.jpg@01CA740E.8FB1D180]

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of michael.hutcheson@...
Sent: Thursday, December 03, 2009 11:09 AM
To: vantage@yahoogroups.com
Subject: [Vantage] Job Receipt to Inventory



Hi folks,

We have an on going problem in Vantage (406) whereby when stores receive parts in via the Job Receipt to Inventory it is possible to overbook. I.e. the qty entered (which is part tran\tran qty) sometimes exceeds the JobHead.Prod Qty.

Therefore on JobProd there will be the 0 received and 20 to produce, with a transaction qty of 21 in ttPartTran.

After the update has happened it will be 21 received and 20 to produce (assuming they have done 21 in the transaction).

My response from Epicor was "So what I would do is add a new condition line before the query line and put in a bit of code that gets the current qty produced and adds the current transaction qty to it, put that into a UD field.

Then change the query to check against the new UD field not the current produced qty"

However, what code would I use to get the current qty produced and then add the trans qty and write it to a UD field?

Or does anyone have a different solution?

Cheers,

Michael.



[Non-text portions of this message have been removed]
Ok, I have a better idea...

Create Two BPM's. The First BPM get's the remaining quantity available to be received. The second BPM compares the receipt quantity to the available quantity and if it doesn't match will throw a stop action.

The first BPM should call a pre-process method to synchronously execute 4GL code:

Find first ttparttran where ttparttran.RowMod = 'A' NO-LOCK NO-ERROR.
If available ttparttran then do:

DEFINE VARIABLE QTY AS decimal NO-UNDO.

QTY=0.

Find JobProd WHERE ttparttran.Company = JobProd.Company AND ttparttran.JobNum = JobProd.JobNum NO-LOCK NO-ERROR.

if available JobProd then do:

QTY = JobProd.ProdQty - JobProd.receivedqty.

Assign ttparttran.Number01 =QTY.

end.
end.

Then you can create a second pre-process method that calls a designed query that looks something like this:

for each ttparttran where (ttparttran.RowMod = 'A' or ttparttran.RowMod = 'U') and ttparttran.number01 <> ttparttran NO-LOCK.

And then give it a stop action the prevents them from receiving the wrong amount against the job.

Also, make sure the 4GL code pre-process method is called before the second pre-process query

Hope that makes sense. Good Luck.


Michelle de la Vega
Business Applications Manager
Cold Jet, LLC
455 Wards Corner Road
Loveland, Ohio 45140
USA
+1 513-716-6400 (office)
+1 513-382-3281 (mobile)
+1 513-831-1209 (fax)
www.coldjet.com<http://www.coldjet.com>
[cid:image001.jpg@01CA7417.7E2675C0]

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of Michelle de la Vega
Sent: Thursday, December 03, 2009 12:13 PM
To: vantage@yahoogroups.com
Subject: RE: [Vantage] Job Receipt to Inventory



Actually I think you could just call the preprocess method "Number of rows in the designed query is equal to 1" and write something like this:

for each ttparttran where (ttparttran.RowMod = 'A' or ttparttran.RowMod = 'U'), each jobprod where ttparttran.jobnum = jobprod.jobnum and ttparttran.company = jobprod.company and ttparttran.tranqty < > (jobprod.prodqty - jobprod.receivedqty) NO-LOCK.

The only problem with this formula, is that you may not be able to do subtraction, I haven't tried it before so I'm not positive.

Has anyone else tried to do "math" in a query before?

Michelle de la Vega
Business Applications Manager
Cold Jet, LLC
455 Wards Corner Road
Loveland, Ohio 45140
USA
+1 513-716-6400 (office)
+1 513-382-3281 (mobile)
+1 513-831-1209 (fax)
www.coldjet.com<http://www.coldjet.com>
[cid:image001.jpg@01CA740E.8FB1D180<mailto:image001.jpg%4001CA740E.8FB1D180>]

From: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com> [mailto:vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>] On Behalf Of michael.hutcheson@...<mailto:michael.hutcheson%40rocketmail.com>
Sent: Thursday, December 03, 2009 11:09 AM
To: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>
Subject: [Vantage] Job Receipt to Inventory

Hi folks,

We have an on going problem in Vantage (406) whereby when stores receive parts in via the Job Receipt to Inventory it is possible to overbook. I.e. the qty entered (which is part tran\tran qty) sometimes exceeds the JobHead.Prod Qty.

Therefore on JobProd there will be the 0 received and 20 to produce, with a transaction qty of 21 in ttPartTran.

After the update has happened it will be 21 received and 20 to produce (assuming they have done 21 in the transaction).

My response from Epicor was "So what I would do is add a new condition line before the query line and put in a bit of code that gets the current qty produced and adds the current transaction qty to it, put that into a UD field.

Then change the query to check against the new UD field not the current produced qty"

However, what code would I use to get the current qty produced and then add the trans qty and write it to a UD field?

Or does anyone have a different solution?

Cheers,

Michael.

[Non-text portions of this message have been removed]



[Non-text portions of this message have been removed]
I do have a BPM that prevents receipt of job to inventory in quantities
greater than already completed on the job. In addition you need to tie
into quantities already received in previous transaction, this can be
gotten from the JobProd table.



Rob Bucek

Manufacturing Engineer

PH: (715) 284-5376 ext 3111

FAX: (715)284-4084

<http://www.dsmfg.com/>

(Click the logo to view our site) <http://www.dsmfg.com/>





From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf
Of Michelle de la Vega
Sent: Thursday, December 03, 2009 11:13 AM
To: vantage@yahoogroups.com
Subject: RE: [Vantage] Job Receipt to Inventory





Actually I think you could just call the preprocess method "Number of
rows in the designed query is equal to 1" and write something like this:

for each ttparttran where (ttparttran.RowMod = 'A' or ttparttran.RowMod
= 'U'), each jobprod where ttparttran.jobnum = jobprod.jobnum and
ttparttran.company = jobprod.company and ttparttran.tranqty < >
(jobprod.prodqty - jobprod.receivedqty) NO-LOCK.

The only problem with this formula, is that you may not be able to do
subtraction, I haven't tried it before so I'm not positive.

Has anyone else tried to do "math" in a query before?

Michelle de la Vega
Business Applications Manager
Cold Jet, LLC
455 Wards Corner Road
Loveland, Ohio 45140
USA
+1 513-716-6400 (office)
+1 513-382-3281 (mobile)
+1 513-831-1209 (fax)
www.coldjet.com<http://www.coldjet.com>
[cid:image001.jpg@01CA740E.8FB1D180
<mailto:image001.jpg%4001CA740E.8FB1D180> ]

From: vantage@yahoogroups.com <mailto:vantage%40yahoogroups.com>
[mailto:vantage@yahoogroups.com <mailto:vantage%40yahoogroups.com> ] On
Behalf Of michael.hutcheson@...
<mailto:michael.hutcheson%40rocketmail.com>
Sent: Thursday, December 03, 2009 11:09 AM
To: vantage@yahoogroups.com <mailto:vantage%40yahoogroups.com>
Subject: [Vantage] Job Receipt to Inventory

Hi folks,

We have an on going problem in Vantage (406) whereby when stores receive
parts in via the Job Receipt to Inventory it is possible to overbook.
I.e. the qty entered (which is part tran\tran qty) sometimes exceeds the
JobHead.Prod Qty.

Therefore on JobProd there will be the 0 received and 20 to produce,
with a transaction qty of 21 in ttPartTran.

After the update has happened it will be 21 received and 20 to produce
(assuming they have done 21 in the transaction).

My response from Epicor was "So what I would do is add a new condition
line before the query line and put in a bit of code that gets the
current qty produced and adds the current transaction qty to it, put
that into a UD field.

Then change the query to check against the new UD field not the current
produced qty"

However, what code would I use to get the current qty produced and then
add the trans qty and write it to a UD field?

Or does anyone have a different solution?

Cheers,

Michael.

[Non-text portions of this message have been removed]





[Non-text portions of this message have been removed]
Correction, its jobpart table



We use MES and hand helds so I am monitoring
ReceiptsFromMfg.ReceiveMfgPartToInventory



for each ttPartTran

where (ttPartTran.RowMod = 'U' or ttPartTran.RowMod = 'A' and
ttPartTran.TranType = 'MFG-STK') ,

each JobHead

each JobPart

where JobHead.JobNum = ttPartTran.JobNum and JobPart.JobNum =
ttPartTran.JobNum and

(Jobhead.QtyCompleted - JobPart.ReceivedQty) < ttPartTran.TranQty



Rob Bucek

Manufacturing Engineer

PH: (715) 284-5376 ext 3111

FAX: (715)284-4084

<http://www.dsmfg.com/>

(Click the logo to view our site) <http://www.dsmfg.com/>





From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf
Of Michelle de la Vega
Sent: Thursday, December 03, 2009 11:54 AM
To: vantage@yahoogroups.com
Subject: RE: [Vantage] Job Receipt to Inventory





Ok, I have a better idea...

Create Two BPM's. The First BPM get's the remaining quantity available
to be received. The second BPM compares the receipt quantity to the
available quantity and if it doesn't match will throw a stop action.

The first BPM should call a pre-process method to synchronously execute
4GL code:

Find first ttparttran where ttparttran.RowMod = 'A' NO-LOCK NO-ERROR.
If available ttparttran then do:

DEFINE VARIABLE QTY AS decimal NO-UNDO.

QTY=0.

Find JobProd WHERE ttparttran.Company = JobProd.Company AND
ttparttran.JobNum = JobProd.JobNum NO-LOCK NO-ERROR.

if available JobProd then do:

QTY = JobProd.ProdQty - JobProd.receivedqty.

Assign ttparttran.Number01 =QTY.

end.
end.

Then you can create a second pre-process method that calls a designed
query that looks something like this:

for each ttparttran where (ttparttran.RowMod = 'A' or ttparttran.RowMod
= 'U') and ttparttran.number01 <> ttparttran NO-LOCK.

And then give it a stop action the prevents them from receiving the
wrong amount against the job.

Also, make sure the 4GL code pre-process method is called before the
second pre-process query

Hope that makes sense. Good Luck.

Michelle de la Vega
Business Applications Manager
Cold Jet, LLC
455 Wards Corner Road
Loveland, Ohio 45140
USA
+1 513-716-6400 (office)
+1 513-382-3281 (mobile)
+1 513-831-1209 (fax)
www.coldjet.com<http://www.coldjet.com>
[cid:image001.jpg@01CA7417.7E2675C0
<mailto:image001.jpg%4001CA7417.7E2675C0> ]

From: vantage@yahoogroups.com <mailto:vantage%40yahoogroups.com>
[mailto:vantage@yahoogroups.com <mailto:vantage%40yahoogroups.com> ] On
Behalf Of Michelle de la Vega
Sent: Thursday, December 03, 2009 12:13 PM
To: vantage@yahoogroups.com <mailto:vantage%40yahoogroups.com>
Subject: RE: [Vantage] Job Receipt to Inventory

Actually I think you could just call the preprocess method "Number of
rows in the designed query is equal to 1" and write something like this:

for each ttparttran where (ttparttran.RowMod = 'A' or ttparttran.RowMod
= 'U'), each jobprod where ttparttran.jobnum = jobprod.jobnum and
ttparttran.company = jobprod.company and ttparttran.tranqty < >
(jobprod.prodqty - jobprod.receivedqty) NO-LOCK.

The only problem with this formula, is that you may not be able to do
subtraction, I haven't tried it before so I'm not positive.

Has anyone else tried to do "math" in a query before?

Michelle de la Vega
Business Applications Manager
Cold Jet, LLC
455 Wards Corner Road
Loveland, Ohio 45140
USA
+1 513-716-6400 (office)
+1 513-382-3281 (mobile)
+1 513-831-1209 (fax)
www.coldjet.com<http://www.coldjet.com>
[cid:image001.jpg@01CA740E.8FB1D180
<mailto:image001.jpg%4001CA740E.8FB1D180>
<mailto:image001.jpg%4001CA740E.8FB1D180>]

From: vantage@yahoogroups.com <mailto:vantage%40yahoogroups.com>
<mailto:vantage%40yahoogroups.com> [mailto:vantage@yahoogroups.com
<mailto:vantage%40yahoogroups.com> <mailto:vantage%40yahoogroups.com>]
On Behalf Of michael.hutcheson@...
<mailto:michael.hutcheson%40rocketmail.com>
<mailto:michael.hutcheson%40rocketmail.com>
Sent: Thursday, December 03, 2009 11:09 AM
To: vantage@yahoogroups.com <mailto:vantage%40yahoogroups.com>
<mailto:vantage%40yahoogroups.com>
Subject: [Vantage] Job Receipt to Inventory

Hi folks,

We have an on going problem in Vantage (406) whereby when stores receive
parts in via the Job Receipt to Inventory it is possible to overbook.
I.e. the qty entered (which is part tran\tran qty) sometimes exceeds the
JobHead.Prod Qty.

Therefore on JobProd there will be the 0 received and 20 to produce,
with a transaction qty of 21 in ttPartTran.

After the update has happened it will be 21 received and 20 to produce
(assuming they have done 21 in the transaction).

My response from Epicor was "So what I would do is add a new condition
line before the query line and put in a bit of code that gets the
current qty produced and adds the current transaction qty to it, put
that into a UD field.

Then change the query to check against the new UD field not the current
produced qty"

However, what code would I use to get the current qty produced and then
add the trans qty and write it to a UD field?

Or does anyone have a different solution?

Cheers,

Michael.

[Non-text portions of this message have been removed]

[Non-text portions of this message have been removed]





[Non-text portions of this message have been removed]
I agree this needs to occur at the JobHead level rather than at the demand link in JobProd. There are three types of demand links, make to stock, make to order, and make to job. You don't have a robust solution if you don't account for all of them. Both the make to stock and make to job count in the ReceivedQty but for completeness sake you should include the ShippedQty in your formula. Even if you "always" make to stock, you never know...

All these fields are stored in the JobHead so there isn't any advantage to pull from other tables. So I would use:

(JobHead.QtyCompleted - JobHead.ReceivedQty - JobHead.ShippedQty) < ttPartTran.TranQty

I haven't looked into it but you probably need to do this check in multiple places to account for all three ways the material can be relieved from the job.

I will also mention that although you don't want this "feature", our company does take advantage of this flexibility. We often ship from the job before production has reported completed quantities. Although I'd like to have more real-time reporting, in the meantime, it's nice the system allows this.


Chris

--- In vantage@yahoogroups.com, "Rob Bucek" <rbucek@...> wrote:
>
> Correction, its jobpart table
>
>
>
> We use MES and hand helds so I am monitoring
> ReceiptsFromMfg.ReceiveMfgPartToInventory
>
>
>
> for each ttPartTran
>
> where (ttPartTran.RowMod = 'U' or ttPartTran.RowMod = 'A' and
> ttPartTran.TranType = 'MFG-STK') ,
>
> each JobHead
>
> each JobPart
>
> where JobHead.JobNum = ttPartTran.JobNum and JobPart.JobNum =
> ttPartTran.JobNum and
>
> (Jobhead.QtyCompleted - JobPart.ReceivedQty) < ttPartTran.TranQty
>
>
>
> Rob Bucek
>
> Manufacturing Engineer
>
> PH: (715) 284-5376 ext 3111
>
> FAX: (715)284-4084
>
> <http://www.dsmfg.com/>
>
> (Click the logo to view our site) <http://www.dsmfg.com/>
Hello Michelle,

Thank you for this code, it has helped alot, but I still can't get it to work. I'm using the two below statements as two seperate Actions on the ReceiptsFromMfg.ReceiveMfgPartToInventory method. As the for the message, I have added an extra line of code to the last bit of the second BPM:

If available ttPartTran then {lib/PublishInfoMsg.i &InfoMsg = "'You have booked in more then the Job Prod Qty'"}.
End.


However, when I run it and book in more than the prod qty, nothing happens.

Regards,

Michael Hutcheson
IT Developer
Anson
Mission Products
National Oilwell Varco
Tel: + 44 (0) 191 4820022
michael.hutcheson@...



--- In vantage@yahoogroups.com, Michelle de la Vega <mdelavega@...> wrote:
>
> Ok, I have a better idea...
>
> Create Two BPM's. The First BPM get's the remaining quantity available to be received. The second BPM compares the receipt quantity to the available quantity and if it doesn't match will throw a stop action.
>
> The first BPM should call a pre-process method to synchronously execute 4GL code:
>
> Find first ttparttran where ttparttran.RowMod = 'A' NO-LOCK NO-ERROR.
> If available ttparttran then do:
>
> DEFINE VARIABLE QTY AS decimal NO-UNDO.
>
> QTY=0.
>
> Find JobProd WHERE ttparttran.Company = JobProd.Company AND ttparttran.JobNum = JobProd.JobNum NO-LOCK NO-ERROR.
>
> if available JobProd then do:
>
> QTY = JobProd.ProdQty - JobProd.receivedqty.
>
> Assign ttparttran.Number01 =QTY.
>
> end.
> end.
>
> Then you can create a second pre-process method that calls a designed query that looks something like this:
>
> for each ttparttran where (ttparttran.RowMod = 'A' or ttparttran.RowMod = 'U') and ttparttran.number01 <> ttparttran NO-LOCK.
>
> And then give it a stop action the prevents them from receiving the wrong amount against the job.
>
> Also, make sure the 4GL code pre-process method is called before the second pre-process query
>
> Hope that makes sense. Good Luck.
>
>
> Michelle de la Vega
> Business Applications Manager
> Cold Jet, LLC
> 455 Wards Corner Road
> Loveland, Ohio 45140
> USA
> +1 513-716-6400 (office)
> +1 513-382-3281 (mobile)
> +1 513-831-1209 (fax)
> www.coldjet.com<http://www.coldjet.com>
> [cid:image001.jpg@...]
>
> From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of Michelle de la Vega
> Sent: Thursday, December 03, 2009 12:13 PM
> To: vantage@yahoogroups.com
> Subject: RE: [Vantage] Job Receipt to Inventory
>
>
>
> Actually I think you could just call the preprocess method "Number of rows in the designed query is equal to 1" and write something like this:
>
> for each ttparttran where (ttparttran.RowMod = 'A' or ttparttran.RowMod = 'U'), each jobprod where ttparttran.jobnum = jobprod.jobnum and ttparttran.company = jobprod.company and ttparttran.tranqty < > (jobprod.prodqty - jobprod.receivedqty) NO-LOCK.
>
> The only problem with this formula, is that you may not be able to do subtraction, I haven't tried it before so I'm not positive.
>
> Has anyone else tried to do "math" in a query before?
>
> Michelle de la Vega
> Business Applications Manager
> Cold Jet, LLC
> 455 Wards Corner Road
> Loveland, Ohio 45140
> USA
> +1 513-716-6400 (office)
> +1 513-382-3281 (mobile)
> +1 513-831-1209 (fax)
> www.coldjet.com<http://www.coldjet.com>
> [cid:image001.jpg@...<mailto:image001.jpg%4001CA740E.8FB1D180>]
>
> From: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com> [mailto:vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>] On Behalf Of michael.hutcheson@...<mailto:michael.hutcheson%40rocketmail.com>
> Sent: Thursday, December 03, 2009 11:09 AM
> To: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>
> Subject: [Vantage] Job Receipt to Inventory
>
> Hi folks,
>
> We have an on going problem in Vantage (406) whereby when stores receive parts in via the Job Receipt to Inventory it is possible to overbook. I.e. the qty entered (which is part tran\tran qty) sometimes exceeds the JobHead.Prod Qty.
>
> Therefore on JobProd there will be the 0 received and 20 to produce, with a transaction qty of 21 in ttPartTran.
>
> After the update has happened it will be 21 received and 20 to produce (assuming they have done 21 in the transaction).
>
> My response from Epicor was "So what I would do is add a new condition line before the query line and put in a bit of code that gets the current qty produced and adds the current transaction qty to it, put that into a UD field.
>
> Then change the query to check against the new UD field not the current produced qty"
>
> However, what code would I use to get the current qty produced and then add the trans qty and write it to a UD field?
>
> Or does anyone have a different solution?
>
> Cheers,
>
> Michael.
>
> [Non-text portions of this message have been removed]
>
>
>
> [Non-text portions of this message have been removed]
>
I could be completely blind, but I don't see the receivedqty field in the JobHead table. That's why I went to the JobProd table.

If this field is really there, please let me know, it would make my life a lot easier.

Thanks!

Michelle de la Vega
Business Applications Manager
Cold Jet, LLC
455 Wards Corner Road
Loveland, Ohio 45140
USA
+1 513-716-6400 (office)
+1 513-382-3281 (mobile)
+1 513-831-1209 (fax)
www.coldjet.com<http://www.coldjet.com>
[cid:image001.jpg@01CA74CF.794F68A0]

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of saab_barracuda
Sent: Friday, December 04, 2009 9:11 AM
To: vantage@yahoogroups.com
Subject: [Vantage] Re: Job Receipt to Inventory



I agree this needs to occur at the JobHead level rather than at the demand link in JobProd. There are three types of demand links, make to stock, make to order, and make to job. You don't have a robust solution if you don't account for all of them. Both the make to stock and make to job count in the ReceivedQty but for completeness sake you should include the ShippedQty in your formula. Even if you "always" make to stock, you never know...

All these fields are stored in the JobHead so there isn't any advantage to pull from other tables. So I would use:

(JobHead.QtyCompleted - JobHead.ReceivedQty - JobHead.ShippedQty) < ttPartTran.TranQty

I haven't looked into it but you probably need to do this check in multiple places to account for all three ways the material can be relieved from the job.

I will also mention that although you don't want this "feature", our company does take advantage of this flexibility. We often ship from the job before production has reported completed quantities. Although I'd like to have more real-time reporting, in the meantime, it's nice the system allows this.

Chris

--- In vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>, "Rob Bucek" <rbucek@...> wrote:
>
> Correction, its jobpart table
>
>
>
> We use MES and hand helds so I am monitoring
> ReceiptsFromMfg.ReceiveMfgPartToInventory
>
>
>
> for each ttPartTran
>
> where (ttPartTran.RowMod = 'U' or ttPartTran.RowMod = 'A' and
> ttPartTran.TranType = 'MFG-STK') ,
>
> each JobHead
>
> each JobPart
>
> where JobHead.JobNum = ttPartTran.JobNum and JobPart.JobNum =
> ttPartTran.JobNum and
>
> (Jobhead.QtyCompleted - JobPart.ReceivedQty) < ttPartTran.TranQty
>
>
>
> Rob Bucek
>
> Manufacturing Engineer
>
> PH: (715) 284-5376 ext 3111
>
> FAX: (715)284-4084
>
> <http://www.dsmfg.com/>
>
> (Click the logo to view our site) <http://www.dsmfg.com/>



[Non-text portions of this message have been removed]
Yes, you are correct it is in the Job Prod table. According to the data dictionary it is also present in the Job Part table.

Regards,

Michael Hutcheson
IT Developer
Anson
Mission Products
National Oilwell Varco
Tel: + 44 (0) 191 4820022


--- In vantage@yahoogroups.com, Michelle de la Vega <mdelavega@...> wrote:
>
> I could be completely blind, but I don't see the receivedqty field in the JobHead table. That's why I went to the JobProd table.
>
> If this field is really there, please let me know, it would make my life a lot easier.
>
> Thanks!
>
> Michelle de la Vega
> Business Applications Manager
> Cold Jet, LLC
> 455 Wards Corner Road
> Loveland, Ohio 45140
> USA
> +1 513-716-6400 (office)
> +1 513-382-3281 (mobile)
> +1 513-831-1209 (fax)
> www.coldjet.com<http://www.coldjet.com>
> [cid:image001.jpg@...]
>
> From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of saab_barracuda
> Sent: Friday, December 04, 2009 9:11 AM
> To: vantage@yahoogroups.com
> Subject: [Vantage] Re: Job Receipt to Inventory
>
>
>
> I agree this needs to occur at the JobHead level rather than at the demand link in JobProd. There are three types of demand links, make to stock, make to order, and make to job. You don't have a robust solution if you don't account for all of them. Both the make to stock and make to job count in the ReceivedQty but for completeness sake you should include the ShippedQty in your formula. Even if you "always" make to stock, you never know...
>
> All these fields are stored in the JobHead so there isn't any advantage to pull from other tables. So I would use:
>
> (JobHead.QtyCompleted - JobHead.ReceivedQty - JobHead.ShippedQty) < ttPartTran.TranQty
>
> I haven't looked into it but you probably need to do this check in multiple places to account for all three ways the material can be relieved from the job.
>
> I will also mention that although you don't want this "feature", our company does take advantage of this flexibility. We often ship from the job before production has reported completed quantities. Although I'd like to have more real-time reporting, in the meantime, it's nice the system allows this.
>
> Chris
>
> --- In vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>, "Rob Bucek" <rbucek@> wrote:
> >
> > Correction, its jobpart table
> >
> >
> >
> > We use MES and hand helds so I am monitoring
> > ReceiptsFromMfg.ReceiveMfgPartToInventory
> >
> >
> >
> > for each ttPartTran
> >
> > where (ttPartTran.RowMod = 'U' or ttPartTran.RowMod = 'A' and
> > ttPartTran.TranType = 'MFG-STK') ,
> >
> > each JobHead
> >
> > each JobPart
> >
> > where JobHead.JobNum = ttPartTran.JobNum and JobPart.JobNum =
> > ttPartTran.JobNum and
> >
> > (Jobhead.QtyCompleted - JobPart.ReceivedQty) < ttPartTran.TranQty
> >
> >
> >
> > Rob Bucek
> >
> > Manufacturing Engineer
> >
> > PH: (715) 284-5376 ext 3111
> >
> > FAX: (715)284-4084
> >
> > <http://www.dsmfg.com/>
> >
> > (Click the logo to view our site) <http://www.dsmfg.com/>
>
>
>
> [Non-text portions of this message have been removed]
>
Rob: Would you have a BPM that prevents over-reporting completion of an operation?
If you can share the over-receipt of job to inventory, I would be interested in receiving these BPM.

Thanks
Oscar
AIM Aviation
ohernandez@...
or
racso111@...

Â



________________________________
From: Rob Bucek <rbucek@...>
To: vantage@yahoogroups.com
Sent: Thu, December 3, 2009 4:34:32 PM
Subject: RE: [Vantage] Job Receipt to Inventory

Â
I do have a BPM that prevents receipt of job to inventory in quantities
greater than already completed on the job. In addition you need to tie
into quantities already received in previous transaction, this can be
gotten from the JobProd table.

Rob Bucek

Manufacturing Engineer

PH: (715) 284-5376 ext 3111

FAX: (715)284-4084

<http://www.dsmfg com/>

(Click the logo to view our site) <http://www.dsmfg com/>

From: vantage@yahoogroups .com [mailto:vantage@yahoogroups .com] On Behalf
Of Michelle de la Vega
Sent: Thursday, December 03, 2009 11:13 AM
To: vantage@yahoogroups .com
Subject: RE: [Vantage] Job Receipt to Inventory

Actually I think you could just call the preprocess method "Number of
rows in the designed query is equal to 1" and write something like this:

for each ttparttran where (ttparttran. RowMod = 'A' or ttparttran.RowMod
= 'U'), each jobprod where ttparttran.jobnum = jobprod.jobnum and
ttparttran.company = jobprod.company and ttparttran.tranqty < >
(jobprod.prodqty - jobprod.receivedqty ) NO-LOCK.

The only problem with this formula, is that you may not be able to do
subtraction, I haven't tried it before so I'm not positive.

Has anyone else tried to do "math" in a query before?

Michelle de la Vega
Business Applications Manager
Cold Jet, LLC
455 Wards Corner Road
Loveland, Ohio 45140
USA
+1 513-716-6400 (office)
+1 513-382-3281 (mobile)
+1 513-831-1209 (fax)
www.coldjet. com<http://www.coldjet com>
[cid:image001.jpg@ 01CA740E. 8FB1D180
<mailto:image001. jpg%4001CA740E. 8FB1D180> ]

From: vantage@yahoogroups .com <mailto:vantage% 40yahoogroups. com>
[mailto:vantage@yahoogroups .com <mailto:vantage% 40yahoogroups. com> ] On
Behalf Of michael.hutcheson@ rocketmail. com
<mailto:michael. hutcheson% 40rocketmail. com>
Sent: Thursday, December 03, 2009 11:09 AM
To: vantage@yahoogroups .com <mailto:vantage% 40yahoogroups. com>
Subject: [Vantage] Job Receipt to Inventory

Hi folks,

We have an on going problem in Vantage (406) whereby when stores receive
parts in via the Job Receipt to Inventory it is possible to overbook.
I.e. the qty entered (which is part tran\tran qty) sometimes exceeds the
JobHead.Prod Qty.

Therefore on JobProd there will be the 0 received and 20 to produce,
with a transaction qty of 21 in ttPartTran.

After the update has happened it will be 21 received and 20 to produce
(assuming they have done 21 in the transaction) .

My response from Epicor was "So what I would do is add a new condition
line before the query line and put in a bit of code that gets the
current qty produced and adds the current transaction qty to it, put
that into a UD field.

Then change the query to check against the new UD field not the current
produced qty"

However, what code would I use to get the current qty produced and then
add the trans qty and write it to a UD field?

Or does anyone have a different solution?

Cheers,

Michael.

[Non-text portions of this message have been removed]

[Non-text portions of this message have been removed]







[Non-text portions of this message have been removed]
We are using this but at the job adjustment level. You may be able to
modify to suit your needs.





def var NewTotal as int no-undo.

def var RunQty as int no-undo.

find first ttJALaborDtl where ttJALaborDtl.ROWMOD = "U":U or
ttJALaborDtl.ROWMOD = "A":U

no-lock no-error.

IF available ttJALaborDtl and ttJALaborDtl.JobNum <> "xxx" THEN do:

find JobOper where JobOper.Company = CUR-COMP and JobOper.JobNum =
ttJALaborDtl.JobNum and JobOper.OprSeq = ttJALaborDtl.OprSeq

no-lock no-error.

IF available JobOper THEN Assign

RunQty = JobOper.RunQty

NewTotal = JobOper.QtyCompleted + ttJALaborDtl.laborqty.

IF NewTotal > JobOper.RunQty THEN DO:

{lib/PublishEx.i

&ExMsg = "'The Labor Quantity plus the previous quantity
completed exceeds the Run Quantity for this operation. Please enter the
correct Quantity (BPM on JabAdjustment.CommitLaborAdj).'"}

END.

IF NewTotal = RunQty THEN Assign

ttJALaborDtl.OpComplete=yes.

END. /*IF available */



_____

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of
Oscar Hernandez
Sent: Friday, December 04, 2009 11:33 AM
To: vantage@yahoogroups.com
Subject: Re: [Vantage] Job Receipt to Inventory





Rob: Would you have a BPM that prevents over-reporting completion of an
operation?
If you can share the over-receipt of job to inventory, I would be interested
in receiving these BPM.

Thanks
Oscar
AIM Aviation
ohernandez@aimseatt <mailto:ohernandez%40aimseattle.com> le.com
or
racso111@yahoo. <mailto:racso111%40yahoo.com> com



________________________________
From: Rob Bucek <rbucek@dsmfg. <mailto:rbucek%40dsmfg.com> com>
To: vantage@yahoogroups <mailto:vantage%40yahoogroups.com> .com
Sent: Thu, December 3, 2009 4:34:32 PM
Subject: RE: [Vantage] Job Receipt to Inventory


I do have a BPM that prevents receipt of job to inventory in quantities
greater than already completed on the job. In addition you need to tie
into quantities already received in previous transaction, this can be
gotten from the JobProd table.

Rob Bucek

Manufacturing Engineer

PH: (715) 284-5376 ext 3111

FAX: (715)284-4084

<http://www.dsmfg com/>

(Click the logo to view our site) <http://www.dsmfg com/>

From: vantage@yahoogroups .com [mailto:vantage@yahoogroups .com] On Behalf
Of Michelle de la Vega
Sent: Thursday, December 03, 2009 11:13 AM
To: vantage@yahoogroups .com
Subject: RE: [Vantage] Job Receipt to Inventory

Actually I think you could just call the preprocess method "Number of
rows in the designed query is equal to 1" and write something like this:

for each ttparttran where (ttparttran. RowMod = 'A' or ttparttran.RowMod
= 'U'), each jobprod where ttparttran.jobnum = jobprod.jobnum and
ttparttran.company = jobprod.company and ttparttran.tranqty < >
(jobprod.prodqty - jobprod.receivedqty ) NO-LOCK.

The only problem with this formula, is that you may not be able to do
subtraction, I haven't tried it before so I'm not positive.

Has anyone else tried to do "math" in a query before?

Michelle de la Vega
Business Applications Manager
Cold Jet, LLC
455 Wards Corner Road
Loveland, Ohio 45140
USA
+1 513-716-6400 (office)
+1 513-382-3281 (mobile)
+1 513-831-1209 (fax)
www.coldjet. com<http://www.coldjet com>
[cid:image001.jpg@ 01CA740E. 8FB1D180
<mailto:image001. jpg%4001CA740E. 8FB1D180> ]

From: vantage@yahoogroups .com <mailto:vantage% 40yahoogroups. com>
[mailto:vantage@yahoogroups .com <mailto:vantage% 40yahoogroups. com> ] On
Behalf Of michael.hutcheson@ rocketmail. com
<mailto:michael. hutcheson% 40rocketmail. com>
Sent: Thursday, December 03, 2009 11:09 AM
To: vantage@yahoogroups .com <mailto:vantage% 40yahoogroups. com>
Subject: [Vantage] Job Receipt to Inventory

Hi folks,

We have an on going problem in Vantage (406) whereby when stores receive
parts in via the Job Receipt to Inventory it is possible to overbook.
I.e. the qty entered (which is part tran\tran qty) sometimes exceeds the
JobHead.Prod Qty.

Therefore on JobProd there will be the 0 received and 20 to produce,
with a transaction qty of 21 in ttPartTran.

After the update has happened it will be 21 received and 20 to produce
(assuming they have done 21 in the transaction) .

My response from Epicor was "So what I would do is add a new condition
line before the query line and put in a bit of code that gets the
current qty produced and adds the current transaction qty to it, put
that into a UD field.

Then change the query to check against the new UD field not the current
produced qty"

However, what code would I use to get the current qty produced and then
add the trans qty and write it to a UD field?

Or does anyone have a different solution?

Cheers,

Michael.

[Non-text portions of this message have been removed]

[Non-text portions of this message have been removed]

[Non-text portions of this message have been removed]





[Non-text portions of this message have been removed]
Yes, we prevent (don’t ever suggest to someone not to do something you don’t want them to…absolutely prevent it!) i.e. raise exception, for job quantity overcompletion, we control receipts to stock from jobs, as well as over shipments from jobs as well as inventory. This greatly reduces the non value added time to correct all of these errors as well as goes a long ways to supporting cost integrity and accuracy. Contact me offline if you need any of these. Chris is correct, there often are several places you may need to put BPM’s to cover all of the potential places these transactions could occur depending on levels of access.



Rob Bucek

Manufacturing Engineer

PH: (715) 284-5376 ext 3111

FAX: (715)284-4084

<http://www.dsmfg.com/>

(Click the logo to view our site) <http://www.dsmfg.com/>





From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of Oscar Hernandez
Sent: Friday, December 04, 2009 10:33 AM
To: vantage@yahoogroups.com
Subject: Re: [Vantage] Job Receipt to Inventory





Rob: Would you have a BPM that prevents over-reporting completion of an operation?
If you can share the over-receipt of job to inventory, I would be interested in receiving these BPM.

Thanks
Oscar
AIM Aviation
ohernandez@... <mailto:ohernandez%40aimseattle.com>
or
racso111@... <mailto:racso111%40yahoo.com>



________________________________
From: Rob Bucek <rbucek@... <mailto:rbucek%40dsmfg.com> >
To: vantage@yahoogroups.com <mailto:vantage%40yahoogroups.com>
Sent: Thu, December 3, 2009 4:34:32 PM
Subject: RE: [Vantage] Job Receipt to Inventory


I do have a BPM that prevents receipt of job to inventory in quantities
greater than already completed on the job. In addition you need to tie
into quantities already received in previous transaction, this can be
gotten from the JobProd table.

Rob Bucek

Manufacturing Engineer

PH: (715) 284-5376 ext 3111

FAX: (715)284-4084

<http://www.dsmfg com/>

(Click the logo to view our site) <http://www.dsmfg com/>

From: vantage@yahoogroups .com [mailto:vantage@yahoogroups .com] On Behalf
Of Michelle de la Vega
Sent: Thursday, December 03, 2009 11:13 AM
To: vantage@yahoogroups .com
Subject: RE: [Vantage] Job Receipt to Inventory

Actually I think you could just call the preprocess method "Number of
rows in the designed query is equal to 1" and write something like this:

for each ttparttran where (ttparttran. RowMod = 'A' or ttparttran.RowMod
= 'U'), each jobprod where ttparttran.jobnum = jobprod.jobnum and
ttparttran.company = jobprod.company and ttparttran.tranqty < >
(jobprod.prodqty - jobprod.receivedqty ) NO-LOCK.

The only problem with this formula, is that you may not be able to do
subtraction, I haven't tried it before so I'm not positive.

Has anyone else tried to do "math" in a query before?

Michelle de la Vega
Business Applications Manager
Cold Jet, LLC
455 Wards Corner Road
Loveland, Ohio 45140
USA
+1 513-716-6400 (office)
+1 513-382-3281 (mobile)
+1 513-831-1209 (fax)
www.coldjet. com<http://www.coldjet com>
[cid:image001.jpg@ 01CA740E. 8FB1D180
<mailto:image001. jpg%4001CA740E. 8FB1D180> ]

From: vantage@yahoogroups .com <mailto:vantage% 40yahoogroups. com>
[mailto:vantage@yahoogroups .com <mailto:vantage% 40yahoogroups. com> ] On
Behalf Of michael.hutcheson@ rocketmail. com
<mailto:michael. hutcheson% 40rocketmail. com>
Sent: Thursday, December 03, 2009 11:09 AM
To: vantage@yahoogroups .com <mailto:vantage% 40yahoogroups. com>
Subject: [Vantage] Job Receipt to Inventory

Hi folks,

We have an on going problem in Vantage (406) whereby when stores receive
parts in via the Job Receipt to Inventory it is possible to overbook.
I.e. the qty entered (which is part tran\tran qty) sometimes exceeds the
JobHead.Prod Qty.

Therefore on JobProd there will be the 0 received and 20 to produce,
with a transaction qty of 21 in ttPartTran.

After the update has happened it will be 21 received and 20 to produce
(assuming they have done 21 in the transaction) .

My response from Epicor was "So what I would do is add a new condition
line before the query line and put in a bit of code that gets the
current qty produced and adds the current transaction qty to it, put
that into a UD field.

Then change the query to check against the new UD field not the current
produced qty"

However, what code would I use to get the current qty produced and then
add the trans qty and write it to a UD field?

Or does anyone have a different solution?

Cheers,

Michael.

[Non-text portions of this message have been removed]

[Non-text portions of this message have been removed]

[Non-text portions of this message have been removed]





[Non-text portions of this message have been removed]