BPM Shipment Hold for 8.03.405

Does anyone know how to do this in 8.03.405? We want to put a
specific sales order on hold. We do not want to use the customer
credit hold to do this.

-- In vantage@yahoogroups.com, "Lynn" <lynn.khalife@...> wrote:
>
> Thank Nigel!
>
> I have the Epicor Tools User Guide and I did not understand their
> explanation of Pre-, Base-, and Post-Processing.
>
> Your explanation cleared it up for me.
>
> Lynn
>
> --- In vantage@yahoogroups.com, "Nigel Kerley" <nigel.kerley@>
> wrote:
> >
> > Hi Jeff,
> >
> > At the risk of sounding like I know what I'm talking about ;-) I'll
> > take a stab at answering this.
> >
> > First - sorry, but it needs to be said - get the Tools User Guide.
> I
> > agree that we shouldn't have to pay for it, but it does have some
> > good examples and makes a good starting point. Anyway:
> >
> >
> > Basics:
> > A BPM is basically a piece of code that is triggered by something
a
> > user does, or causes to be done. A BPM cannot run by itself.
Once
> > triggered, the BPM looks at whatever "conditions" have been
created
> > against it and, if the conditions are matched, "actions" are
> carried
> > out.
> >
> > In your requirement, the trigger would be the user adding a Sales
> > Order onto a Packing Slip, the "condition" would be that this
> > Customer is on Credit Hold, and the "action" would be to cause
> > an "Exception", ie. stop the user continuing.
> >
> >
> > Directives:
> > BPMs can be actioned at one of three specific points:
> > *before* Vantage carries out it's own actions - a "pre-processing"
> > directive. Used to check what the user has entered before letting
> > Vantage continue.
> > *instead* of Vantage's own actions - a "base processing" directive.
> > ABSOLUTELY NOT one you want to use unless you know what
you're
> doing.
> > *after* Vantage has carried out it's own actions - a "post-
> > processing" directive.
> >
> >
> >
> > Menus:
> > Regarding the Vantage menu options, the only one you will really
> use
> > is Setup | Method Directives. "Hold Type" is used to have Vantage
> put
> > orders/jobs/shipments/etc on hold pending release by a supervisor.
> > Without the Tools User Guide I wouldn't go near this - and anyway
> > we've never had a need for it. The Guide does seem to have a
good
> > example of this though.
> >
> > Action Process is the background task that Vantage uses to check
if
> > BPMs have been triggered. You need to set this to "Continuous
> > Processing" with a delay of 1 minute and a schedule of "Now",
> > then "Submit" the process. Once you've submitted it, you can
ignore
> > this option.
> >
> > Directive Update is used to update certain properties on multiple
> > BPMs all at once. Directive Export/Import are useful for copying
> BPMs
> > from your test database into your live one.
> >
> > And while I remember: IMPORTANT: The way Vantage is installed,
a
> BPM
> > created on one database will run on ALL databases on that server.
> So
> > as you are testing new BPMs on your test database (but on your
live
> > server) they will also be triggered on the live database. See
> message
> > #72077 in the Group for details on how to fix this.
> >
> >
> >
> > Creating a BPM:
> > You didn't set yourself an easy task for your first BPM. I don't
> > think any of the pre-prepared conditions can be used, so you'll
> have
> > to delve into a little 4GL code. If you've done any programming in
> > the past, or created your own Alert Programs for BAMs, then you
> > should be fine.
> >
> > You said you haven't the slightest idea... so I'm going to take
> that
> > literally. Apologies if some of the following is obvious to you,
> but
> > it may be of use to other readers.
> >
> > Open Method Directives (on your test Vantage, obviously!!).
> >
> > The first thing you need to decide is what BO (Business Object)
and
> > Method to create the directive against. The choice of these is
> > through experience or usually trial & error - I know of no place
> > where they're listed and explained. You want to stop a "Customer
> > Shipment", so the BO you need is "CustShip". So, open the
Method
> > Search search window, select CustShip in the Business Object
filter
> > and click Search. All the Vantage Methods that are available to
> users
> > are listed. These roughly equate to the different actions carried
> out
> > by Vantage when dealing with a Customer Shipment. A kind
of "catch-
> > all" is Update. This Method is called by Vantage whenever it saves
> a
> > packing slip. Select this one and click OK.
> >
> > The next thing you need to decide is the type of directive you want
> > to create. You want to stop Vantage *before* it creates the
> shipment,
> > so add a new Pre-Processing Directive. The fields on this screen
> are
> > explained in the help file, so I won't go into them.
> >
> > This BPM will be called *every* time a Customer Shipment is
saved.
> > Becuase it's being run on the server you don't need to worry about
> > resource overhead or slowing-down(!) Vantage. I have a number of
> BPMs
> > triggered on Sales Orders and my users haven't noticed any
> difference.
> >
> > Now, you need to add the condition(s) so that the action(s) will
> only
> > be carried out on the shipments you want them carried out on.
Click
> > the "conditions..." button, then click the New button. In the drop-
> > down under UserText select "number of rows in the designed query
is
> > not less than 1". You want to look at the CreditHold field for the
> > customer, but that field is not readily available in the tables
> > accessable, so you can't use any of the other conditions.
> >
> > Now click on "designed" to bring up the query box. Enter any name
> for
> > the query and enter the following in the query field:
> > for each ttShiphead where ttShipHead.RowMod = 'U' or
> > ttShipHead.RowMod = 'A', each Customer where
ttShipHead.Company =
> > Customer.Company and ttShipHead.CustNum =
Customer.custNum and
> > Customer.CreditHold = true no-lock
> >
> > Click Check Query to make sure it's entered ok, then click ok.
> >
> > Change "is not less that" to "is equal to" and click ok.
> >
> > Last, you need to add the action(s) you want carried out if the
> > condition(s) are met. Click the "Actions..." button, then click the
> > New button. In the drop-down under UserText select "raise
exception
> > based on the designed template". Click on "designed" and enter
the
> > details for the message box you want displayed to users if the
> > Customer is on hold. OK your way back to the Method Directives
> > window. Click "Enabled" and save.
> >
> > Now, whenever the user enters a Sales Order number and tries to
> save
> > the shipment (or clicks Mass Shipment, which causes the
shipment to
> > be saved), Vantage will trigger the BPM first and check it's
> > conditions/actions.
> >
> >
> > Couple of small points: Get into the habit of always
> clicking "Save"
> > on the Method Directives window. Changing Conditions and
Actions
> and
> > Ok'ing them doesn't update the code. Also, once you do save, the
> > changes are "live", i.e. users don't have to log off/on to activate.
> >
> >
> > Sorry for the long post. I hope I've managed to explain things
> > somewhat clearly.
> >
> > Nigel.
> >
> >
> > --- In vantage@yahoogroups.com, "Jeff Stockard"
<jeff.stockard@>
> > wrote:
> > >
> > > I have received for the too manyeth time an answer from
> Epicor "You
> > can
> > > always write a BPM. The Help file is completely useless. In the
> > Business
> > > Process Management, there are 2 folders one is Setup and the
> other
> > is
> > > General Operations. The Setup folder has 2 Icons "Hold Type"
> > and "Method
> > > Directives" . The General Operations has "Directive
> > Import", "Directive
> > > Export", "Directive Update" and "Action Process".
> > >
> > > I do not have even the slightest idea of how to even begin to
> write
> > a BPM
> > > especially with completely non descriptive names like these.
> Could
> > someone
> > > please tell me how to begin to write a BPM? From what I read on
> > the list,
> > > there is an "Epicor Tools User Guide" which of course I do not
> have.
> > > Apparently when you only spend ½ million dollars for software
and
> > setup, it
> > > does not come with a manual and my company does not want to
spend
> > another
> > > $150 on this book.
> > >
> > > I am sorry if I sound a little upset, but I don't believe that I
> > should have
> > > to rewrite Vantage every time development does not want to
make
> the
> > software
> > > run in a manner that make logical sense in an actual business
> > environment.
> > >
> > > I need to write this to stop Shipping from Shipping Parts to
> > Customers that
> > > are on Credit Hold, but have an Alternate Bill To, that is not on
> > Credit
> > > Hold. Apparently Epicor thinks it is OK to ignore the Stop and
> Warn
> > > messages that are setup if the Customer does not pay their own
> > bills and
> > > they have a Parent company that pays theirs.
> > >
> > > Thank you
> > >
> > > Jeff
> > >
> > >
> > >
> > > [Non-text portions of this message have been removed]
> > >
> >
>
Hello,

Can anybody help me with VB Forms. The person who ran IT prior to me set-up a cool system to inform our plant floor employees of known discrepancies with parts when they clocked in on a Job for that part number. Here's how it works. Employee clocks on to the job and a form pops up with a description of a returned ( complete with photos ) part, letting them know what to look for. Now, our Quality folks put together the form that pops up and save it into a directory on our network. When a part is to be flagged as being on the "Quality Watch List", the Quality people go into the part master and click on VB Form. A form comes up and they place a check mark in the "Quality Watch List" field. That is supposed to trigger the Pop up form for the folks on the plant floor. I know that the name of the forms, saved on the network, are identical to the part number. It used to work great, but for some reason it stopped. The form is going into the network
directory and the check mark is being placed in the Quality Watch List field. Would any of you be able to tell me where to start looking in between to figure out why its no longer popping up when our folks clock on to a job with that part number?

Thanks for any help with this.

Ken the IT Manager




[Non-text portions of this message have been removed]
 Ken:
Â
 It sounds like a custom program was implemented to display the 'pop-up' during Job check-in. Does the operator have to push a 'button' on the screen, or does the pop-up automatically appear?
Â
 -Maybe the 'custom program' has been moved or deleted.
 -be sure that the 'check-box' on the VB form is still pointing to the correct field location.
Â
Bill
Â


--- On Mon, 1/19/09, Ken Cary <kencary@...> wrote:

From: Ken Cary <kencary@...>
Subject: [Vantage] [Vantage 6.0] Using VB Forms
To: vantage@yahoogroups.com
Date: Monday, January 19, 2009, 9:43 AM






Hello,

Can anybody help me with VB Forms. The person who ran IT prior to me set-up a cool system to inform our plant floor employees of known discrepancies with parts when they clocked in on a Job for that part number. Here's how it works. Employee clocks on to the job and a form pops up with a description of a returned ( complete with photos ) part, letting them know what to look for. Now, our Quality folks put together the form that pops up and save it into a directory on our network. When a part is to be flagged as being on the "Quality Watch List", the Quality people go into the part master and click on VB Form. A form comes up and they place a check mark in the "Quality Watch List" field. That is supposed to trigger the Pop up form for the folks on the plant floor. I know that the name of the forms, saved on the network, are identical to the part number. It used to work great, but for some reason it stopped. The form is going into the network
directory and the check mark is being placed in the Quality Watch List field. Would any of you be able to tell me where to start looking in between to figure out why its no longer popping up when our folks clock on to a job with that part number?

Thanks for any help with this.

Ken the IT Manager

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


















[Non-text portions of this message have been removed]
The pop-up automatically appears as soon as they clock in on the job. As far as the check-box on the form, when I open the form in Forms Design, then double click the "Quality Watch List" box, these are the Toggle Box Attributes:

Control Name: Toggle-Box_4
External Name: PM - Then Blank
Label: Quality Watch List
Database Field: Checkbox 2

When I go to the VB Form Map, I don't see anything that references "Checkbox 2" or "Toggle-Box_4".

I'm not sure where I would look for a custom program.

Any Thoughts?




________________________________
From: Bill Jackson <fujijapman@...>
To: vantage@yahoogroups.com
Sent: Monday, January 19, 2009 10:03:24 AM
Subject: Re: [Vantage] [Vantage 6.0] Using VB Forms


Ken:

It sounds like a custom program was implemented to display the 'pop-up' during Job check-in. Does the operator have to push a 'button' on the screen, or does the pop-up automatically appear?

-Maybe the 'custom program' has been moved or deleted.
-be sure that the 'check-box' on the VB form is still pointing to the correct field location.

Bill


--- On Mon, 1/19/09, Ken Cary <kencary@rocketmail. com> wrote:

From: Ken Cary <kencary@rocketmail. com>
Subject: [Vantage] [Vantage 6.0] Using VB Forms
To: vantage@yahoogroups .com
Date: Monday, January 19, 2009, 9:43 AM

Hello,

Can anybody help me with VB Forms. The person who ran IT prior to me set-up a cool system to inform our plant floor employees of known discrepancies with parts when they clocked in on a Job for that part number. Here's how it works. Employee clocks on to the job and a form pops up with a description of a returned ( complete with photos ) part, letting them know what to look for. Now, our Quality folks put together the form that pops up and save it into a directory on our network. When a part is to be flagged as being on the "Quality Watch List", the Quality people go into the part master and click on VB Form. A form comes up and they place a check mark in the "Quality Watch List" field. That is supposed to trigger the Pop up form for the folks on the plant floor. I know that the name of the forms, saved on the network, are identical to the part number. It used to work great, but for some reason it stopped. The form is going into the network
directory and the check mark is being placed in the Quality Watch List field. Would any of you be able to tell me where to start looking in between to figure out why its no longer popping up when our folks clock on to a job with that part number?

Thanks for any help with this.

Ken the IT Manager

[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]
 ' be sure that the 'check-box' on the VB form is still pointing to the correct field location.
 Â
  VB Form: If the VB Form Checkbox previously was 'tied' to another table field instead
                 of  'checkbox02' this could cause problems.
Â
  - Any custom programs I've designed to run 'in' Vantage, I've had to supply a 'button' or something to 'launch' the program ( usually a button I'll add to the VB Form or to one of the 'customizable' maintenance screens), I wouldn't be sure how to have it launch otherwise ( it could be launching from a database 'trigger' - have been reluctant to try to use that method myself). Can you find out from the previous programmer/IT person?

--- On Mon, 1/19/09, Ken Cary <kencary@...> wrote:

From: Ken Cary <kencary@...>
Subject: Re: [Vantage] [Vantage 6.0] Using VB Forms
To: vantage@yahoogroups.com
Date: Monday, January 19, 2009, 11:25 AM






The pop-up automatically appears as soon as they clock in on the job. As far as the check-box on the form, when I open the form in Forms Design, then double click the "Quality Watch List" box, these are the Toggle Box Attributes:

Control Name: Toggle-Box_4
External Name: PM - Then Blank
Label: Quality Watch List
Database Field: Checkbox 2

When I go to the VB Form Map, I don't see anything that references "Checkbox 2" or "Toggle-Box_ 4".

I'm not sure where I would look for a custom program.

Any Thoughts?

____________ _________ _________ __
From: Bill Jackson <fujijapman@yahoo. com>
To: vantage@yahoogroups .com
Sent: Monday, January 19, 2009 10:03:24 AM
Subject: Re: [Vantage] [Vantage 6.0] Using VB Forms

Ken:

It sounds like a custom program was implemented to display the 'pop-up' during Job check-in. Does the operator have to push a 'button' on the screen, or does the pop-up automatically appear?

-Maybe the 'custom program' has been moved or deleted.
-be sure that the 'check-box' on the VB form is still pointing to the correct field location.

Bill


--- On Mon, 1/19/09, Ken Cary <kencary@rocketmail . com> wrote:

From: Ken Cary <kencary@rocketmail . com>
Subject: [Vantage] [Vantage 6.0] Using VB Forms
To: vantage@yahoogroups .com
Date: Monday, January 19, 2009, 9:43 AM

Hello,

Can anybody help me with VB Forms. The person who ran IT prior to me set-up a cool system to inform our plant floor employees of known discrepancies with parts when they clocked in on a Job for that part number. Here's how it works. Employee clocks on to the job and a form pops up with a description of a returned ( complete with photos ) part, letting them know what to look for. Now, our Quality folks put together the form that pops up and save it into a directory on our network. When a part is to be flagged as being on the "Quality Watch List", the Quality people go into the part master and click on VB Form. A form comes up and they place a check mark in the "Quality Watch List" field. That is supposed to trigger the Pop up form for the folks on the plant floor. I know that the name of the forms, saved on the network, are identical to the part number. It used to work great, but for some reason it stopped. The form is going into the network
directory and the check mark is being placed in the Quality Watch List field. Would any of you be able to tell me where to start looking in between to figure out why its no longer popping up when our folks clock on to a job with that part number?

Thanks for any help with this.

Ken the IT Manager

[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]
I have received for the too manyeth time an answer from Epicor “You can
always write a BPM. The Help file is completely useless. In the Business
Process Management, there are 2 folders one is Setup and the other is
General Operations. The Setup folder has 2 Icons “Hold Type” and “Method
Directives” . The General Operations has “Directive Import”, “Directive
Export”, “Directive Update” and “Action Process”.

I do not have even the slightest idea of how to even begin to write a BPM
especially with completely non descriptive names like these. Could someone
please tell me how to begin to write a BPM? From what I read on the list,
there is an “Epicor Tools User Guide” which of course I do not have.
Apparently when you only spend ½ million dollars for software and setup, it
does not come with a manual and my company does not want to spend another
$150 on this book.

I am sorry if I sound a little upset, but I donÂ’t believe that I should have
to rewrite Vantage every time development does not want to make the software
run in a manner that make logical sense in an actual business environment.

I need to write this to stop Shipping from Shipping Parts to Customers that
are on Credit Hold, but have an Alternate Bill To, that is not on Credit
Hold. Apparently Epicor thinks it is OK to ignore the Stop and Warn
messages that are setup if the Customer does not pay their own bills and
they have a Parent company that pays theirs.

Thank you

Jeff



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

At the risk of sounding like I know what I'm talking about ;-) I'll
take a stab at answering this.

First - sorry, but it needs to be said - get the Tools User Guide. I
agree that we shouldn't have to pay for it, but it does have some
good examples and makes a good starting point. Anyway:


Basics:
A BPM is basically a piece of code that is triggered by something a
user does, or causes to be done. A BPM cannot run by itself. Once
triggered, the BPM looks at whatever "conditions" have been created
against it and, if the conditions are matched, "actions" are carried
out.

In your requirement, the trigger would be the user adding a Sales
Order onto a Packing Slip, the "condition" would be that this
Customer is on Credit Hold, and the "action" would be to cause
an "Exception", ie. stop the user continuing.


Directives:
BPMs can be actioned at one of three specific points:
*before* Vantage carries out it's own actions - a "pre-processing"
directive. Used to check what the user has entered before letting
Vantage continue.
*instead* of Vantage's own actions - a "base processing" directive.
ABSOLUTELY NOT one you want to use unless you know what you're doing.
*after* Vantage has carried out it's own actions - a "post-
processing" directive.



Menus:
Regarding the Vantage menu options, the only one you will really use
is Setup | Method Directives. "Hold Type" is used to have Vantage put
orders/jobs/shipments/etc on hold pending release by a supervisor.
Without the Tools User Guide I wouldn't go near this - and anyway
we've never had a need for it. The Guide does seem to have a good
example of this though.

Action Process is the background task that Vantage uses to check if
BPMs have been triggered. You need to set this to "Continuous
Processing" with a delay of 1 minute and a schedule of "Now",
then "Submit" the process. Once you've submitted it, you can ignore
this option.

Directive Update is used to update certain properties on multiple
BPMs all at once. Directive Export/Import are useful for copying BPMs
from your test database into your live one.

And while I remember: IMPORTANT: The way Vantage is installed, a BPM
created on one database will run on ALL databases on that server. So
as you are testing new BPMs on your test database (but on your live
server) they will also be triggered on the live database. See message
#72077 in the Group for details on how to fix this.



Creating a BPM:
You didn't set yourself an easy task for your first BPM. I don't
think any of the pre-prepared conditions can be used, so you'll have
to delve into a little 4GL code. If you've done any programming in
the past, or created your own Alert Programs for BAMs, then you
should be fine.

You said you haven't the slightest idea... so I'm going to take that
literally. Apologies if some of the following is obvious to you, but
it may be of use to other readers.

Open Method Directives (on your test Vantage, obviously!!).

The first thing you need to decide is what BO (Business Object) and
Method to create the directive against. The choice of these is
through experience or usually trial & error - I know of no place
where they're listed and explained. You want to stop a "Customer
Shipment", so the BO you need is "CustShip". So, open the Method
Search search window, select CustShip in the Business Object filter
and click Search. All the Vantage Methods that are available to users
are listed. These roughly equate to the different actions carried out
by Vantage when dealing with a Customer Shipment. A kind of "catch-
all" is Update. This Method is called by Vantage whenever it saves a
packing slip. Select this one and click OK.

The next thing you need to decide is the type of directive you want
to create. You want to stop Vantage *before* it creates the shipment,
so add a new Pre-Processing Directive. The fields on this screen are
explained in the help file, so I won't go into them.

This BPM will be called *every* time a Customer Shipment is saved.
Becuase it's being run on the server you don't need to worry about
resource overhead or slowing-down(!) Vantage. I have a number of BPMs
triggered on Sales Orders and my users haven't noticed any difference.

Now, you need to add the condition(s) so that the action(s) will only
be carried out on the shipments you want them carried out on. Click
the "conditions..." button, then click the New button. In the drop-
down under UserText select "number of rows in the designed query is
not less than 1". You want to look at the CreditHold field for the
customer, but that field is not readily available in the tables
accessable, so you can't use any of the other conditions.

Now click on "designed" to bring up the query box. Enter any name for
the query and enter the following in the query field:
for each ttShiphead where ttShipHead.RowMod = 'U' or
ttShipHead.RowMod = 'A', each Customer where ttShipHead.Company =
Customer.Company and ttShipHead.CustNum = Customer.custNum and
Customer.CreditHold = true no-lock

Click Check Query to make sure it's entered ok, then click ok.

Change "is not less that" to "is equal to" and click ok.

Last, you need to add the action(s) you want carried out if the
condition(s) are met. Click the "Actions..." button, then click the
New button. In the drop-down under UserText select "raise exception
based on the designed template". Click on "designed" and enter the
details for the message box you want displayed to users if the
Customer is on hold. OK your way back to the Method Directives
window. Click "Enabled" and save.

Now, whenever the user enters a Sales Order number and tries to save
the shipment (or clicks Mass Shipment, which causes the shipment to
be saved), Vantage will trigger the BPM first and check it's
conditions/actions.


Couple of small points: Get into the habit of always clicking "Save"
on the Method Directives window. Changing Conditions and Actions and
Ok'ing them doesn't update the code. Also, once you do save, the
changes are "live", i.e. users don't have to log off/on to activate.


Sorry for the long post. I hope I've managed to explain things
somewhat clearly.

Nigel.


--- In vantage@yahoogroups.com, "Jeff Stockard" <jeff.stockard@...>
wrote:
>
> I have received for the too manyeth time an answer from Epicor "You
can
> always write a BPM. The Help file is completely useless. In the
Business
> Process Management, there are 2 folders one is Setup and the other
is
> General Operations. The Setup folder has 2 Icons "Hold Type"
and "Method
> Directives" . The General Operations has "Directive
Import", "Directive
> Export", "Directive Update" and "Action Process".
>
> I do not have even the slightest idea of how to even begin to write
a BPM
> especially with completely non descriptive names like these. Could
someone
> please tell me how to begin to write a BPM? From what I read on
the list,
> there is an "Epicor Tools User Guide" which of course I do not have.
> Apparently when you only spend ½ million dollars for software and
setup, it
> does not come with a manual and my company does not want to spend
another
> $150 on this book.
>
> I am sorry if I sound a little upset, but I don't believe that I
should have
> to rewrite Vantage every time development does not want to make the
software
> run in a manner that make logical sense in an actual business
environment.
>
> I need to write this to stop Shipping from Shipping Parts to
Customers that
> are on Credit Hold, but have an Alternate Bill To, that is not on
Credit
> Hold. Apparently Epicor thinks it is OK to ignore the Stop and Warn
> messages that are setup if the Customer does not pay their own
bills and
> they have a Parent company that pays theirs.
>
> Thank you
>
> Jeff
>
>
>
> [Non-text portions of this message have been removed]
>
Thank Nigel!

I have the Epicor Tools User Guide and I did not understand their
explanation of Pre-, Base-, and Post-Processing.

Your explanation cleared it up for me.

Lynn

--- In vantage@yahoogroups.com, "Nigel Kerley" <nigel.kerley@...>
wrote:
>
> Hi Jeff,
>
> At the risk of sounding like I know what I'm talking about ;-) I'll
> take a stab at answering this.
>
> First - sorry, but it needs to be said - get the Tools User Guide.
I
> agree that we shouldn't have to pay for it, but it does have some
> good examples and makes a good starting point. Anyway:
>
>
> Basics:
> A BPM is basically a piece of code that is triggered by something a
> user does, or causes to be done. A BPM cannot run by itself. Once
> triggered, the BPM looks at whatever "conditions" have been created
> against it and, if the conditions are matched, "actions" are
carried
> out.
>
> In your requirement, the trigger would be the user adding a Sales
> Order onto a Packing Slip, the "condition" would be that this
> Customer is on Credit Hold, and the "action" would be to cause
> an "Exception", ie. stop the user continuing.
>
>
> Directives:
> BPMs can be actioned at one of three specific points:
> *before* Vantage carries out it's own actions - a "pre-processing"
> directive. Used to check what the user has entered before letting
> Vantage continue.
> *instead* of Vantage's own actions - a "base processing" directive.
> ABSOLUTELY NOT one you want to use unless you know what you're
doing.
> *after* Vantage has carried out it's own actions - a "post-
> processing" directive.
>
>
>
> Menus:
> Regarding the Vantage menu options, the only one you will really
use
> is Setup | Method Directives. "Hold Type" is used to have Vantage
put
> orders/jobs/shipments/etc on hold pending release by a supervisor.
> Without the Tools User Guide I wouldn't go near this - and anyway
> we've never had a need for it. The Guide does seem to have a good
> example of this though.
>
> Action Process is the background task that Vantage uses to check if
> BPMs have been triggered. You need to set this to "Continuous
> Processing" with a delay of 1 minute and a schedule of "Now",
> then "Submit" the process. Once you've submitted it, you can ignore
> this option.
>
> Directive Update is used to update certain properties on multiple
> BPMs all at once. Directive Export/Import are useful for copying
BPMs
> from your test database into your live one.
>
> And while I remember: IMPORTANT: The way Vantage is installed, a
BPM
> created on one database will run on ALL databases on that server.
So
> as you are testing new BPMs on your test database (but on your live
> server) they will also be triggered on the live database. See
message
> #72077 in the Group for details on how to fix this.
>
>
>
> Creating a BPM:
> You didn't set yourself an easy task for your first BPM. I don't
> think any of the pre-prepared conditions can be used, so you'll
have
> to delve into a little 4GL code. If you've done any programming in
> the past, or created your own Alert Programs for BAMs, then you
> should be fine.
>
> You said you haven't the slightest idea... so I'm going to take
that
> literally. Apologies if some of the following is obvious to you,
but
> it may be of use to other readers.
>
> Open Method Directives (on your test Vantage, obviously!!).
>
> The first thing you need to decide is what BO (Business Object) and
> Method to create the directive against. The choice of these is
> through experience or usually trial & error - I know of no place
> where they're listed and explained. You want to stop a "Customer
> Shipment", so the BO you need is "CustShip". So, open the Method
> Search search window, select CustShip in the Business Object filter
> and click Search. All the Vantage Methods that are available to
users
> are listed. These roughly equate to the different actions carried
out
> by Vantage when dealing with a Customer Shipment. A kind of "catch-
> all" is Update. This Method is called by Vantage whenever it saves
a
> packing slip. Select this one and click OK.
>
> The next thing you need to decide is the type of directive you want
> to create. You want to stop Vantage *before* it creates the
shipment,
> so add a new Pre-Processing Directive. The fields on this screen
are
> explained in the help file, so I won't go into them.
>
> This BPM will be called *every* time a Customer Shipment is saved.
> Becuase it's being run on the server you don't need to worry about
> resource overhead or slowing-down(!) Vantage. I have a number of
BPMs
> triggered on Sales Orders and my users haven't noticed any
difference.
>
> Now, you need to add the condition(s) so that the action(s) will
only
> be carried out on the shipments you want them carried out on. Click
> the "conditions..." button, then click the New button. In the drop-
> down under UserText select "number of rows in the designed query is
> not less than 1". You want to look at the CreditHold field for the
> customer, but that field is not readily available in the tables
> accessable, so you can't use any of the other conditions.
>
> Now click on "designed" to bring up the query box. Enter any name
for
> the query and enter the following in the query field:
> for each ttShiphead where ttShipHead.RowMod = 'U' or
> ttShipHead.RowMod = 'A', each Customer where ttShipHead.Company =
> Customer.Company and ttShipHead.CustNum = Customer.custNum and
> Customer.CreditHold = true no-lock
>
> Click Check Query to make sure it's entered ok, then click ok.
>
> Change "is not less that" to "is equal to" and click ok.
>
> Last, you need to add the action(s) you want carried out if the
> condition(s) are met. Click the "Actions..." button, then click the
> New button. In the drop-down under UserText select "raise exception
> based on the designed template". Click on "designed" and enter the
> details for the message box you want displayed to users if the
> Customer is on hold. OK your way back to the Method Directives
> window. Click "Enabled" and save.
>
> Now, whenever the user enters a Sales Order number and tries to
save
> the shipment (or clicks Mass Shipment, which causes the shipment to
> be saved), Vantage will trigger the BPM first and check it's
> conditions/actions.
>
>
> Couple of small points: Get into the habit of always
clicking "Save"
> on the Method Directives window. Changing Conditions and Actions
and
> Ok'ing them doesn't update the code. Also, once you do save, the
> changes are "live", i.e. users don't have to log off/on to activate.
>
>
> Sorry for the long post. I hope I've managed to explain things
> somewhat clearly.
>
> Nigel.
>
>
> --- In vantage@yahoogroups.com, "Jeff Stockard" <jeff.stockard@>
> wrote:
> >
> > I have received for the too manyeth time an answer from
Epicor "You
> can
> > always write a BPM. The Help file is completely useless. In the
> Business
> > Process Management, there are 2 folders one is Setup and the
other
> is
> > General Operations. The Setup folder has 2 Icons "Hold Type"
> and "Method
> > Directives" . The General Operations has "Directive
> Import", "Directive
> > Export", "Directive Update" and "Action Process".
> >
> > I do not have even the slightest idea of how to even begin to
write
> a BPM
> > especially with completely non descriptive names like these.
Could
> someone
> > please tell me how to begin to write a BPM? From what I read on
> the list,
> > there is an "Epicor Tools User Guide" which of course I do not
have.
> > Apparently when you only spend ½ million dollars for software and
> setup, it
> > does not come with a manual and my company does not want to spend
> another
> > $150 on this book.
> >
> > I am sorry if I sound a little upset, but I don't believe that I
> should have
> > to rewrite Vantage every time development does not want to make
the
> software
> > run in a manner that make logical sense in an actual business
> environment.
> >
> > I need to write this to stop Shipping from Shipping Parts to
> Customers that
> > are on Credit Hold, but have an Alternate Bill To, that is not on
> Credit
> > Hold. Apparently Epicor thinks it is OK to ignore the Stop and
Warn
> > messages that are setup if the Customer does not pay their own
> bills and
> > they have a Parent company that pays theirs.
> >
> > Thank you
> >
> > Jeff
> >
> >
> >
> > [Non-text portions of this message have been removed]
> >
>
Does anyone know how to do this in 8.03.405? We want to put a
specific sales order on hold. We do not want to use the customer
credit hold to do this.

-- In vantage@yahoogroups.com, "Lynn" <lynn.khalife@...> wrote:
>
> Thank Nigel!
>
> I have the Epicor Tools User Guide and I did not understand their
> explanation of Pre-, Base-, and Post-Processing.
>
> Your explanation cleared it up for me.
>
> Lynn
>
> --- In vantage@yahoogroups.com, "Nigel Kerley" <nigel.kerley@>
> wrote:
> >
> > Hi Jeff,
> >
> > At the risk of sounding like I know what I'm talking about ;-) I'll
> > take a stab at answering this.
> >
> > First - sorry, but it needs to be said - get the Tools User Guide.
> I
> > agree that we shouldn't have to pay for it, but it does have some
> > good examples and makes a good starting point. Anyway:
> >
> >
> > Basics:
> > A BPM is basically a piece of code that is triggered by something
a
> > user does, or causes to be done. A BPM cannot run by itself.
Once
> > triggered, the BPM looks at whatever "conditions" have been
created
> > against it and, if the conditions are matched, "actions" are
> carried
> > out.
> >
> > In your requirement, the trigger would be the user adding a Sales
> > Order onto a Packing Slip, the "condition" would be that this
> > Customer is on Credit Hold, and the "action" would be to cause
> > an "Exception", ie. stop the user continuing.
> >
> >
> > Directives:
> > BPMs can be actioned at one of three specific points:
> > *before* Vantage carries out it's own actions - a "pre-processing"
> > directive. Used to check what the user has entered before letting
> > Vantage continue.
> > *instead* of Vantage's own actions - a "base processing" directive.
> > ABSOLUTELY NOT one you want to use unless you know what
you're
> doing.
> > *after* Vantage has carried out it's own actions - a "post-
> > processing" directive.
> >
> >
> >
> > Menus:
> > Regarding the Vantage menu options, the only one you will really
> use
> > is Setup | Method Directives. "Hold Type" is used to have Vantage
> put
> > orders/jobs/shipments/etc on hold pending release by a supervisor.
> > Without the Tools User Guide I wouldn't go near this - and anyway
> > we've never had a need for it. The Guide does seem to have a
good
> > example of this though.
> >
> > Action Process is the background task that Vantage uses to check
if
> > BPMs have been triggered. You need to set this to "Continuous
> > Processing" with a delay of 1 minute and a schedule of "Now",
> > then "Submit" the process. Once you've submitted it, you can
ignore
> > this option.
> >
> > Directive Update is used to update certain properties on multiple
> > BPMs all at once. Directive Export/Import are useful for copying
> BPMs
> > from your test database into your live one.
> >
> > And while I remember: IMPORTANT: The way Vantage is installed,
a
> BPM
> > created on one database will run on ALL databases on that server.
> So
> > as you are testing new BPMs on your test database (but on your
live
> > server) they will also be triggered on the live database. See
> message
> > #72077 in the Group for details on how to fix this.
> >
> >
> >
> > Creating a BPM:
> > You didn't set yourself an easy task for your first BPM. I don't
> > think any of the pre-prepared conditions can be used, so you'll
> have
> > to delve into a little 4GL code. If you've done any programming in
> > the past, or created your own Alert Programs for BAMs, then you
> > should be fine.
> >
> > You said you haven't the slightest idea... so I'm going to take
> that
> > literally. Apologies if some of the following is obvious to you,
> but
> > it may be of use to other readers.
> >
> > Open Method Directives (on your test Vantage, obviously!!).
> >
> > The first thing you need to decide is what BO (Business Object)
and
> > Method to create the directive against. The choice of these is
> > through experience or usually trial & error - I know of no place
> > where they're listed and explained. You want to stop a "Customer
> > Shipment", so the BO you need is "CustShip". So, open the
Method
> > Search search window, select CustShip in the Business Object
filter
> > and click Search. All the Vantage Methods that are available to
> users
> > are listed. These roughly equate to the different actions carried
> out
> > by Vantage when dealing with a Customer Shipment. A kind
of "catch-
> > all" is Update. This Method is called by Vantage whenever it saves
> a
> > packing slip. Select this one and click OK.
> >
> > The next thing you need to decide is the type of directive you want
> > to create. You want to stop Vantage *before* it creates the
> shipment,
> > so add a new Pre-Processing Directive. The fields on this screen
> are
> > explained in the help file, so I won't go into them.
> >
> > This BPM will be called *every* time a Customer Shipment is
saved.
> > Becuase it's being run on the server you don't need to worry about
> > resource overhead or slowing-down(!) Vantage. I have a number of
> BPMs
> > triggered on Sales Orders and my users haven't noticed any
> difference.
> >
> > Now, you need to add the condition(s) so that the action(s) will
> only
> > be carried out on the shipments you want them carried out on.
Click
> > the "conditions..." button, then click the New button. In the drop-
> > down under UserText select "number of rows in the designed query
is
> > not less than 1". You want to look at the CreditHold field for the
> > customer, but that field is not readily available in the tables
> > accessable, so you can't use any of the other conditions.
> >
> > Now click on "designed" to bring up the query box. Enter any name
> for
> > the query and enter the following in the query field:
> > for each ttShiphead where ttShipHead.RowMod = 'U' or
> > ttShipHead.RowMod = 'A', each Customer where
ttShipHead.Company =
> > Customer.Company and ttShipHead.CustNum =
Customer.custNum and
> > Customer.CreditHold = true no-lock
> >
> > Click Check Query to make sure it's entered ok, then click ok.
> >
> > Change "is not less that" to "is equal to" and click ok.
> >
> > Last, you need to add the action(s) you want carried out if the
> > condition(s) are met. Click the "Actions..." button, then click the
> > New button. In the drop-down under UserText select "raise
exception
> > based on the designed template". Click on "designed" and enter
the
> > details for the message box you want displayed to users if the
> > Customer is on hold. OK your way back to the Method Directives
> > window. Click "Enabled" and save.
> >
> > Now, whenever the user enters a Sales Order number and tries to
> save
> > the shipment (or clicks Mass Shipment, which causes the
shipment to
> > be saved), Vantage will trigger the BPM first and check it's
> > conditions/actions.
> >
> >
> > Couple of small points: Get into the habit of always
> clicking "Save"
> > on the Method Directives window. Changing Conditions and
Actions
> and
> > Ok'ing them doesn't update the code. Also, once you do save, the
> > changes are "live", i.e. users don't have to log off/on to activate.
> >
> >
> > Sorry for the long post. I hope I've managed to explain things
> > somewhat clearly.
> >
> > Nigel.
> >
> >
> > --- In vantage@yahoogroups.com, "Jeff Stockard"
<jeff.stockard@>
> > wrote:
> > >
> > > I have received for the too manyeth time an answer from
> Epicor "You
> > can
> > > always write a BPM. The Help file is completely useless. In the
> > Business
> > > Process Management, there are 2 folders one is Setup and the
> other
> > is
> > > General Operations. The Setup folder has 2 Icons "Hold Type"
> > and "Method
> > > Directives" . The General Operations has "Directive
> > Import", "Directive
> > > Export", "Directive Update" and "Action Process".
> > >
> > > I do not have even the slightest idea of how to even begin to
> write
> > a BPM
> > > especially with completely non descriptive names like these.
> Could
> > someone
> > > please tell me how to begin to write a BPM? From what I read on
> > the list,
> > > there is an "Epicor Tools User Guide" which of course I do not
> have.
> > > Apparently when you only spend ½ million dollars for software
and
> > setup, it
> > > does not come with a manual and my company does not want to
spend
> > another
> > > $150 on this book.
> > >
> > > I am sorry if I sound a little upset, but I don't believe that I
> > should have
> > > to rewrite Vantage every time development does not want to
make
> the
> > software
> > > run in a manner that make logical sense in an actual business
> > environment.
> > >
> > > I need to write this to stop Shipping from Shipping Parts to
> > Customers that
> > > are on Credit Hold, but have an Alternate Bill To, that is not on
> > Credit
> > > Hold. Apparently Epicor thinks it is OK to ignore the Stop and
> Warn
> > > messages that are setup if the Customer does not pay their own
> > bills and
> > > they have a Parent company that pays theirs.
> > >
> > > Thank you
> > >
> > > Jeff
> > >
> > >
> > >
> > > [Non-text portions of this message have been removed]
> > >
> >
>