Excuting 4GL code Problem

The BPM will not let you define a temporary table within the BPM designer or least I have never been able to.

If you are just looking up data from the Jobhead access it directly, no need to use a temporary table. temporary tables typically only come into play if you want to use the Business Objects for that table.

FOR EACH ttPartTran WHERE (ttPartTran.JobNum="008236" AND
> ttPartTran.TranType="MFG-STK"), each JobHead Where
> JobHead.JobNum="008236":

If you really need to have temporary tables have the BPM call a .p file within which you can define a temporary table. You can pass over values from the BPM including the ttPartTran dataset to the .p file.

Jim Kinneman
Senior Consultant
Encompass Solutions, Inc

--- In vantage@yahoogroups.com, "Herby Dallard" <hdallard@...> wrote:
>
> I am trying to execute the following 4GL code in a BPM Post-Proc action
> directive -Vantage 803.408B.
>
> I am trying to produce a running total of a PartTran's TranQty for a
> specific Job Number(small test before a mass update).
>
> However I keep getting the following error
>
>
>
> Exception caught in: Epicor.Mfg.BO.BpMethod
>
> Error Detail
>
> ============
>
> Message: Compilation error: You cannot define a TEMP-TABLE inside an
> internal procedure. (3355)
>
> ** Could not understand line 18. (196)
>
>
>
> Type: Error
>
> Program: Bpm/Misc.p
>
> Method: DeployProcedure
>
> Table:
>
> Row:
>
> Field:
>
>
>
>
>
>
>
> My Code: FYI: The problem is properly defining a temp table for JobHead that
> I can use in this BPM directive. Any assistance or example will be greatly
> appreciated.
>
> Thanks.
>
>
>
> Define Temp-Table ttJobHead
>
> Like JobHead.
>
> Define Input-Output Parameter Table for ttJobhead.
>
>
>
> Procedure JobHeadNum01Update:
>
>
>
> Define Variable iTranQtyRunTotal As Integer.
>
>
>
> FOR EACH ttPartTran WHERE (ttPartTran.JobNum="008236" AND
> ttPartTran.TranType="MFG-STK"), each ttJobHead Where
> ttJobHead.JobNum="008236":
>
> iTranQtyRunTotal=iTranQtyRunTotal + PartTran.TranQty.
>
> RUN lib\UpdateTableBuffer.p(Input BUFFER JobHead:HANDLE, 'Number01',
> iTranQtyRunTotal).
>
> END.
>
> End Procedure.
>
>
>
>
>
>
>
>
>
> Best Regards,
>
>
>
> Herby Dallard
>
> Information Technology Engineer
>
> Endicott Research Group
>
> hdallard@...
>
> 607-754-9187 ext. 3078
>
> www.ergpower.com <http://www.ergpower.com/>
>
>
>
>
>
>
>
> [Non-text portions of this message have been removed]
>
I am trying to execute the following 4GL code in a BPM Post-Proc action
directive -Vantage 803.408B.

I am trying to produce a running total of a PartTran's TranQty for a
specific Job Number(small test before a mass update).

However I keep getting the following error



Exception caught in: Epicor.Mfg.BO.BpMethod

Error Detail

============

Message: Compilation error: You cannot define a TEMP-TABLE inside an
internal procedure. (3355)

** Could not understand line 18. (196)



Type: Error

Program: Bpm/Misc.p

Method: DeployProcedure

Table:

Row:

Field:







My Code: FYI: The problem is properly defining a temp table for JobHead that
I can use in this BPM directive. Any assistance or example will be greatly
appreciated.

Thanks.



Define Temp-Table ttJobHead

Like JobHead.

Define Input-Output Parameter Table for ttJobhead.



Procedure JobHeadNum01Update:



Define Variable iTranQtyRunTotal As Integer.



FOR EACH ttPartTran WHERE (ttPartTran.JobNum="008236" AND
ttPartTran.TranType="MFG-STK"), each ttJobHead Where
ttJobHead.JobNum="008236":

iTranQtyRunTotal=iTranQtyRunTotal + PartTran.TranQty.

RUN lib\UpdateTableBuffer.p(Input BUFFER JobHead:HANDLE, 'Number01',
iTranQtyRunTotal).

END.

End Procedure.









Best Regards,



Herby Dallard

Information Technology Engineer

Endicott Research Group

hdallard@...

607-754-9187 ext. 3078

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







[Non-text portions of this message have been removed]
Where are you running this? If it's attached to a Job method you shouldn't
need to create a temp table, as it should already be there.

If you're running it somewhere else, I'd just drop the temp table as you
shouldn't need it.

Also, you may find it easier to just write some 4gl and compile it instead
of trying to run mass updates through BPM-land. You know your situation
better than I do though.

On Tue, Nov 22, 2011 at 10:43 AM, Herby Dallard <hdallard@...>wrote:

> **
>
>
> I am trying to execute the following 4GL code in a BPM Post-Proc action
> directive -Vantage 803.408B.
>
> I am trying to produce a running total of a PartTran's TranQty for a
> specific Job Number(small test before a mass update).
>
> However I keep getting the following error
>
> Exception caught in: Epicor.Mfg.BO.BpMethod
>
> Error Detail
>
> ============
>
> Message: Compilation error: You cannot define a TEMP-TABLE inside an
> internal procedure. (3355)
>
> ** Could not understand line 18. (196)
>
> Type: Error
>
> Program: Bpm/Misc.p
>
> Method: DeployProcedure
>
> Table:
>
> Row:
>
> Field:
>
> My Code: FYI: The problem is properly defining a temp table for JobHead
> that
> I can use in this BPM directive. Any assistance or example will be greatly
> appreciated.
>
> Thanks.
>
> Define Temp-Table ttJobHead
>
> Like JobHead.
>
> Define Input-Output Parameter Table for ttJobhead.
>
> Procedure JobHeadNum01Update:
>
> Define Variable iTranQtyRunTotal As Integer.
>
> FOR EACH ttPartTran WHERE (ttPartTran.JobNum="008236" AND
> ttPartTran.TranType="MFG-STK"), each ttJobHead Where
> ttJobHead.JobNum="008236":
>
> iTranQtyRunTotal=iTranQtyRunTotal + PartTran.TranQty.
>
> RUN lib\UpdateTableBuffer.p(Input BUFFER JobHead:HANDLE, 'Number01',
> iTranQtyRunTotal).
>
> END.
>
> End Procedure.
>
> Best Regards,
>
> Herby Dallard
>
> Information Technology Engineer
>
> Endicott Research Group
>
> hdallard@...
>
> 607-754-9187 ext. 3078
>
> www.ergpower.com <http://www.ergpower.com/>
>
> [Non-text portions of this message have been removed]
>
>
>



--
*Waffqle Driggers*
*High End Dev, System Design, Profit Drinking
*
*:: 904.962.2887*
*:: waffqle@...*
*:: NO FAXES*

*

*


[Non-text portions of this message have been removed]
I am running BPM Method Directives ReceiptsFromMfg which has PartTran
already there but I need the running total to sum to JobHead.Number01 (UD
field) which is not there.

If I chose to write it in 4gL as I am but compile it. IS this correct
:
I would do this from Open Edge Data Administration and open the procedure
editor. Write and verify syntax and compile it but make sure I a connection
to a Pilot or test DB?

Thanks for the quick reply.

Best Regards,
Â
Herby Dallard
Information Technology Engineer
Endicott Research Group
hdallard@...
607-754-9187 ext. 3078
www.ergpower.com



-----Original Message-----
From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of
Waffqle
Sent: Tuesday, November 22, 2011 10:48 AM
To: vantage@yahoogroups.com
Subject: Re: [Vantage] Excuting 4GL code Problem

Where are you running this? If it's attached to a Job method you shouldn't
need to create a temp table, as it should already be there.

If you're running it somewhere else, I'd just drop the temp table as you
shouldn't need it.

Also, you may find it easier to just write some 4gl and compile it instead
of trying to run mass updates through BPM-land. You know your situation
better than I do though.

On Tue, Nov 22, 2011 at 10:43 AM, Herby Dallard
<hdallard@...>wrote:

> **
>
>
> I am trying to execute the following 4GL code in a BPM Post-Proc action
> directive -Vantage 803.408B.
>
> I am trying to produce a running total of a PartTran's TranQty for a
> specific Job Number(small test before a mass update).
>
> However I keep getting the following error
>
> Exception caught in: Epicor.Mfg.BO.BpMethod
>
> Error Detail
>
> ============
>
> Message: Compilation error: You cannot define a TEMP-TABLE inside an
> internal procedure. (3355)
>
> ** Could not understand line 18. (196)
>
> Type: Error
>
> Program: Bpm/Misc.p
>
> Method: DeployProcedure
>
> Table:
>
> Row:
>
> Field:
>
> My Code: FYI: The problem is properly defining a temp table for JobHead
> that
> I can use in this BPM directive. Any assistance or example will be greatly
> appreciated.
>
> Thanks.
>
> Define Temp-Table ttJobHead
>
> Like JobHead.
>
> Define Input-Output Parameter Table for ttJobhead.
>
> Procedure JobHeadNum01Update:
>
> Define Variable iTranQtyRunTotal As Integer.
>
> FOR EACH ttPartTran WHERE (ttPartTran.JobNum="008236" AND
> ttPartTran.TranType="MFG-STK"), each ttJobHead Where
> ttJobHead.JobNum="008236":
>
> iTranQtyRunTotal=iTranQtyRunTotal + PartTran.TranQty.
>
> RUN lib\UpdateTableBuffer.p(Input BUFFER JobHead:HANDLE, 'Number01',
> iTranQtyRunTotal).
>
> END.
>
> End Procedure.
>
> Best Regards,
>
> Herby Dallard
>
> Information Technology Engineer
>
> Endicott Research Group
>
> hdallard@...
>
> 607-754-9187 ext. 3078
>
> www.ergpower.com <http://www.ergpower.com/>
>
> [Non-text portions of this message have been removed]
>
>
>



--
*Waffqle Driggers*
*High End Dev, System Design, Profit Drinking
*
*:: 904.962.2887*
*:: waffqle@...*
*:: NO FAXES*

*

*


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



------------------------------------

Useful links for the Yahoo!Groups Vantage Board are: ( Note: You must have
already linked your email address to a yahoo id to enable access. )
(1) To access the Files Section of our Yahoo!Group for Report Builder and
Crystal Reports and other 'goodies', please goto:
http://groups.yahoo.com/group/vantage/files/.
(2) To search through old msg's goto:
http://groups.yahoo.com/group/vantage/messages
(3) To view links to Vendors that provide Vantage services goto:
http://groups.yahoo.com/group/vantage/linksYahoo! Groups Links