BPM- Method Directive Pre-Processing for PO Entry Maintenance

Thank you those sites helped. I was able to use your code to link the releases to the PO header when it is approved, but now I am trying to get the BPM to assess the G/L account to make sure it is valid when the Approval button is pushed. I set two conditions, the first being the one referenced before, the second referencing the G/L account fields. The second query looks like this:

for each GLAcctDisp, first TranGLC where GLAcctDisp.Company = TranGLC.Company and TranGLC.GLAccount = GLAcctDisp.GLAcctDisp no-lock

The condition I am using is 'number of rows in the specified query is less than 1'. Within the query, the TranGLC.GLAccount will accept invalid G/L numbers (this is also the field that is present in the maintenance form). The GLAcctDisp.GLAcctDisp field only accepts valid G/L Accounts.

When I run this BPM by executing the approval button in PO Entry Maintenance, the form seems to run in a loop, never finishing the 'approval' action. Once I end the process I get an error message that reads "Tried to call a method in an invalid procedure". I'm not sure what I am referencing in the second condition that is creating this error. Thanks for the help.

Eliza



--- In vantage@yahoogroups.com, "McMullen, Travis" <tmcmullen@...> wrote:
>
> The query syntax is 4GL or ABL code which is a Progress language. Examples
> can be found in the Tools User guide if you have it, or you can go to the
> Progress website. A Google search of ABL or 4GL code should give a
> reference guide as one of the first 2 sites returned.
>
> As for the field not existing, that can be obtained by clicking in the
> field in PO Entry and going to Help > Field Level Help. This will give you
> the name of the field that you need to reference in the query.
>
> Travis L. McMullen
> ERP Specialist
> ComSonics, Inc.
> Harrisonburg, VA 22801
> Phone: 540-434-5965 x1274
> Toll Free: 1-800-336-9681 x1274
> Mobile: 540-435-1920
> Fax: 540-434-9847
> E-Mail: tmcmullen@...
>
>
> On Fri, Jun 8, 2012 at 4:27 PM, elizaroberts14 <
> eroberts@...> wrote:
>
> > **
> >
> >
> > I don't have the porel.expchart option, how does this affect the BPM? I am
> > using E905.607A. Where do you find information about query syntax through
> > Epicor? I am unable to find this information anywhere. Thanks for the
> > response.
> >
> >
> > --- In vantage@yahoogroups.com, "McMullen, Travis" <tmcmullen@> wrote:
> > >
> > > What version of Vantage/Epicor are you working with? If it's Vantage 8,
> > > you can't reference to different tables in separate conditions, even if
> > > they are in the same dataset. I had to do the following:
> > >
> > > I used the PO.ChangeApproveSwitch business method. I then created a
> > > Post-Processing directive. I used the 'number of rows in designed query
> > is
> > > not less than 1' condition. My query looks like this:
> > >
> > > for each ttPOHeader where (ttPOHeader.ApprovalStatus = 'A' or
> > > ttPOHeader.ApprovalStatus = 'P') , first PORel where PORel.Company =
> > > ttPOHeader.Company and PORel.PONum = ttPOHeader.PONum and PORel.ExpChart
> > =
> > > '999999' no-lock
> > >
> > > My users only wanted an informational message as the action, but you can
> > > also raise an exception.
> > >
> > > Travis L. McMullen
> > > ERP Specialist
> > > ComSonics, Inc.
> > > Harrisonburg, VA 22801
> > > Phone: 540-434-5965 x1274
> > > Toll Free: 1-800-336-9681 x1274
> > > Mobile: 540-435-1920
> > > Fax: 540-434-9847
> > > E-Mail: tmcmullen@
> >
> > >
> > >
> > > On Fri, Jun 8, 2012 at 3:37 PM, elizaroberts14 <
> > > eroberts@> wrote:
> > >
> > > > **
> >
> > > >
> > > >
> > > > I am working on a BPM right now for PO Entry maintenance that ensures
> > that
> > > > the user has entered a G/L account at the release level before the PO
> > > > itself can be approved. When I input conditions involving header level
> > > > fields, for example POHeader.Approved = Yes, withan action statement
> > that
> > > > returns an error message, the BPM works correctly. However, when I
> > input
> > > > conditions that involve release level tables for the PO, ie
> > > > PORelTGLC.GLAccount or PORel.TranType, which is what I need for this
> > BPM to
> > > > work properly, the BPM no longer executes when I test it in the PO
> > Entry
> > > > Form. Does anyone know why this is, and if so, how to resolve the
> > issue?
> > > > I'm not sure why release level tables would not work in condition
> > > > statements, but header level fields do.
> > > >
> > > > Thank you.
> > > >
> > > >
> > > >
> > >
> > >
> > > [Non-text portions of this message have been removed]
> > >
> >
> >
> >
>
>
> [Non-text portions of this message have been removed]
>
I am working on a BPM right now for PO Entry maintenance that ensures that the user has entered a G/L account at the release level before the PO itself can be approved. When I input conditions involving header level fields, for example POHeader.Approved = Yes, withan action statement that returns an error message, the BPM works correctly. However, when I input conditions that involve release level tables for the PO, ie PORelTGLC.GLAccount or PORel.TranType, which is what I need for this BPM to work properly, the BPM no longer executes when I test it in the PO Entry Form. Does anyone know why this is, and if so, how to resolve the issue? I'm not sure why release level tables would not work in condition statements, but header level fields do.

Thank you.
What version of Vantage/Epicor are you working with? If it's Vantage 8,
you can't reference to different tables in separate conditions, even if
they are in the same dataset. I had to do the following:

I used the PO.ChangeApproveSwitch business method. I then created a
Post-Processing directive. I used the 'number of rows in designed query is
not less than 1' condition. My query looks like this:

for each ttPOHeader where (ttPOHeader.ApprovalStatus = 'A' or
ttPOHeader.ApprovalStatus = 'P') , first PORel where PORel.Company =
ttPOHeader.Company and PORel.PONum = ttPOHeader.PONum and PORel.ExpChart =
'999999' no-lock

My users only wanted an informational message as the action, but you can
also raise an exception.

Travis L. McMullen
ERP Specialist
ComSonics, Inc.
Harrisonburg, VA 22801
Phone: 540-434-5965 x1274
Toll Free: 1-800-336-9681 x1274
Mobile: 540-435-1920
Fax: 540-434-9847
E-Mail: tmcmullen@...


On Fri, Jun 8, 2012 at 3:37 PM, elizaroberts14 <
eroberts@...> wrote:

> **
>
>
> I am working on a BPM right now for PO Entry maintenance that ensures that
> the user has entered a G/L account at the release level before the PO
> itself can be approved. When I input conditions involving header level
> fields, for example POHeader.Approved = Yes, withan action statement that
> returns an error message, the BPM works correctly. However, when I input
> conditions that involve release level tables for the PO, ie
> PORelTGLC.GLAccount or PORel.TranType, which is what I need for this BPM to
> work properly, the BPM no longer executes when I test it in the PO Entry
> Form. Does anyone know why this is, and if so, how to resolve the issue?
> I'm not sure why release level tables would not work in condition
> statements, but header level fields do.
>
> Thank you.
>
>
>


[Non-text portions of this message have been removed]
I don't have the porel.expchart option, how does this affect the BPM? I am using E905.607A. Where do you find information about query syntax through Epicor? I am unable to find this information anywhere. Thanks for the response.

--- In vantage@yahoogroups.com, "McMullen, Travis" <tmcmullen@...> wrote:
>
> What version of Vantage/Epicor are you working with? If it's Vantage 8,
> you can't reference to different tables in separate conditions, even if
> they are in the same dataset. I had to do the following:
>
> I used the PO.ChangeApproveSwitch business method. I then created a
> Post-Processing directive. I used the 'number of rows in designed query is
> not less than 1' condition. My query looks like this:
>
> for each ttPOHeader where (ttPOHeader.ApprovalStatus = 'A' or
> ttPOHeader.ApprovalStatus = 'P') , first PORel where PORel.Company =
> ttPOHeader.Company and PORel.PONum = ttPOHeader.PONum and PORel.ExpChart =
> '999999' no-lock
>
> My users only wanted an informational message as the action, but you can
> also raise an exception.
>
> Travis L. McMullen
> ERP Specialist
> ComSonics, Inc.
> Harrisonburg, VA 22801
> Phone: 540-434-5965 x1274
> Toll Free: 1-800-336-9681 x1274
> Mobile: 540-435-1920
> Fax: 540-434-9847
> E-Mail: tmcmullen@...
>
>
> On Fri, Jun 8, 2012 at 3:37 PM, elizaroberts14 <
> eroberts@...> wrote:
>
> > **
> >
> >
> > I am working on a BPM right now for PO Entry maintenance that ensures that
> > the user has entered a G/L account at the release level before the PO
> > itself can be approved. When I input conditions involving header level
> > fields, for example POHeader.Approved = Yes, withan action statement that
> > returns an error message, the BPM works correctly. However, when I input
> > conditions that involve release level tables for the PO, ie
> > PORelTGLC.GLAccount or PORel.TranType, which is what I need for this BPM to
> > work properly, the BPM no longer executes when I test it in the PO Entry
> > Form. Does anyone know why this is, and if so, how to resolve the issue?
> > I'm not sure why release level tables would not work in condition
> > statements, but header level fields do.
> >
> > Thank you.
> >
> >
> >
>
>
> [Non-text portions of this message have been removed]
>
The query syntax is 4GL or ABL code which is a Progress language. Examples
can be found in the Tools User guide if you have it, or you can go to the
Progress website. A Google search of ABL or 4GL code should give a
reference guide as one of the first 2 sites returned.

As for the field not existing, that can be obtained by clicking in the
field in PO Entry and going to Help > Field Level Help. This will give you
the name of the field that you need to reference in the query.

Travis L. McMullen
ERP Specialist
ComSonics, Inc.
Harrisonburg, VA 22801
Phone: 540-434-5965 x1274
Toll Free: 1-800-336-9681 x1274
Mobile: 540-435-1920
Fax: 540-434-9847
E-Mail: tmcmullen@...


On Fri, Jun 8, 2012 at 4:27 PM, elizaroberts14 <
eroberts@...> wrote:

> **
>
>
> I don't have the porel.expchart option, how does this affect the BPM? I am
> using E905.607A. Where do you find information about query syntax through
> Epicor? I am unable to find this information anywhere. Thanks for the
> response.
>
>
> --- In vantage@yahoogroups.com, "McMullen, Travis" <tmcmullen@...> wrote:
> >
> > What version of Vantage/Epicor are you working with? If it's Vantage 8,
> > you can't reference to different tables in separate conditions, even if
> > they are in the same dataset. I had to do the following:
> >
> > I used the PO.ChangeApproveSwitch business method. I then created a
> > Post-Processing directive. I used the 'number of rows in designed query
> is
> > not less than 1' condition. My query looks like this:
> >
> > for each ttPOHeader where (ttPOHeader.ApprovalStatus = 'A' or
> > ttPOHeader.ApprovalStatus = 'P') , first PORel where PORel.Company =
> > ttPOHeader.Company and PORel.PONum = ttPOHeader.PONum and PORel.ExpChart
> =
> > '999999' no-lock
> >
> > My users only wanted an informational message as the action, but you can
> > also raise an exception.
> >
> > Travis L. McMullen
> > ERP Specialist
> > ComSonics, Inc.
> > Harrisonburg, VA 22801
> > Phone: 540-434-5965 x1274
> > Toll Free: 1-800-336-9681 x1274
> > Mobile: 540-435-1920
> > Fax: 540-434-9847
> > E-Mail: tmcmullen@...
>
> >
> >
> > On Fri, Jun 8, 2012 at 3:37 PM, elizaroberts14 <
> > eroberts@...> wrote:
> >
> > > **
>
> > >
> > >
> > > I am working on a BPM right now for PO Entry maintenance that ensures
> that
> > > the user has entered a G/L account at the release level before the PO
> > > itself can be approved. When I input conditions involving header level
> > > fields, for example POHeader.Approved = Yes, withan action statement
> that
> > > returns an error message, the BPM works correctly. However, when I
> input
> > > conditions that involve release level tables for the PO, ie
> > > PORelTGLC.GLAccount or PORel.TranType, which is what I need for this
> BPM to
> > > work properly, the BPM no longer executes when I test it in the PO
> Entry
> > > Form. Does anyone know why this is, and if so, how to resolve the
> issue?
> > > I'm not sure why release level tables would not work in condition
> > > statements, but header level fields do.
> > >
> > > Thank you.
> > >
> > >
> > >
> >
> >
> > [Non-text portions of this message have been removed]
> >
>
>
>


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