4GL Problem on BPM

One option might be to do the check in pre processing and enable the post
processing directive.

Then, in the post processing just throw this code in (without the RowMod
check) ultimately getting you the result you wanted in a round-about sort of
way.

Enjoy!

--Sean



From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of
Sean McDaniel
Sent: Thursday, August 06, 2009 2:14 PM
To: vantage@yahoogroups.com
Subject: RE: [Vantage] 4GL Problem on BPM





Hi Karl,

I just tried this code myself. It threw a CSV file out there, but I had to
do it in the pre-processing. As soon as I added the rowmod check in post
processing it stopped working.

It may be that the post processing RowMod value is changed. Not sure, but
ultimately this works, you just need to figure a good place to put it.

--Sean

output to "c:\podata.csv" append.

for each ttPORel where ttPOREl.RowMod="A" or ttPOREL.RowMod="U" no-lock,
each PODetail where ttPORel.Company=PODetail.Company and
ttPOREL.PONum=PODetail.PONUM and ttPORel.POLine=PODetail.POLine no-lock:

export delimiter "," ttPORel.PONum ttPORel.POLine ttPORel.PORelNum
PODetail.PartNum

ttPORel.DueDate.

end.

output close.

From: vantage@yahoogroups.com <mailto:vantage%40yahoogroups.com>
[mailto:vantage@yahoogroups.com <mailto:vantage%40yahoogroups.com> ] On
Behalf Of
Karl Dash
Sent: Thursday, August 06, 2009 1:53 PM
To: vantage@yahoogroups.com <mailto:vantage%40yahoogroups.com>
Subject: RE: [Vantage] 4GL Problem on BPM

Sean,
Thanks for the assist. I rebuilt my query hopefully close to your
recommendations (shown below). It does validate properly but the output file
contains "** No ttPODetail record is available. (91)".

Code:
/* Create file for Due Date Change */
for each ttporel where
(ttPORel.RowMod='A' or ttPORel.rowmod='U') no-lock,
Each PODetail where PODetail.Company=ttPORel.Company and
PODetail.PONum=ttPORel.PONum and PODetail.POLine=ttPORel.POLine no-lock.
If available PODetail then
output to "d:\mfgsysdata\podata.csv" append.
export delimiter "," ttPORel.PONum ttPORel.POLine ttPORel.PORelNum
ttPORel.DueDate PODetail.PONum.
output close.
end.
/* end of export */

--- On Thu, 8/6/09, Sean McDaniel <smcdanie@...
<mailto:smcdanie%40rochester.rr.com>
<mailto:smcdanie%40rochester.rr.com> > wrote:

From: Sean McDaniel <smcdanie@...
<mailto:smcdanie%40rochester.rr.com>
<mailto:smcdanie%40rochester.rr.com> >
Subject: RE: [Vantage] 4GL Problem on BPM
To: vantage@yahoogroups.com <mailto:vantage%40yahoogroups.com>
<mailto:vantage%40yahoogroups.com>
Date: Thursday, August 6, 2009, 8:18 AM

Can't you just create a single query instead of creating the "sub query" to
retrieve the part?

For each ttPORel where ttPORel.RowMod= 'A' or ttPORel.rowmod= 'U' no-lock,

Each PODetail where PODetail.Company= ttPORel.company and
PODetail.PONum= ttPORel.PONum and PODetail.POLine= ttPORel.POLine no-lock

Also, isn't orderNum/OrderLine for orders? Shouldn't it be PONum and POLine?

From: vantage@yahoogroups .com [mailto:vantage@yahoogroups .com] On Behalf
Of
Karl Dash
Sent: Thursday, August 06, 2009 11:09 AM
To: Vantage Group
Subject: [Vantage] 4GL Problem on BPM

4GL Wizards,

I have created a post-processing BPM that determines if the DueDate on a
PORel has been changed. From that I want to create a csv file to identify
that. The code below for the Action in the Post-Processing phase does that
displaying the PO number, Line, Release and Due Date.

/* Create file for Due Date Change */
output to "d:\mfgsysdata\ podata.csv" append.
for first ttPORel no-lock:
export delimiter "," ttPORel.PONum ttPORel.POLine ttPORel.PORelNum
ttPORel.DueDate.
end.
output close.
/* end of export */

So far, so good. Now I want to include on the csv file the part number. Well
that is on the PODetail table, so I need to get the two linked. The
following is NOT working but is my attempt to do this. Can anyone shed light
on how I can get PODetail info available for the extract?

New Post-processing
/* Create file for Due Date Change */
for each ttporel where
(ttPORel.RowMod= 'A' or ttPORel.rowmod= 'U') no-lock:
find ttPODetail where ttPORel.Company= ttPODetail. Company and
ttPORel.OrderNum= ttPODetail. OrderNum and
ttPORel.OrderLine= ttPODetail. OrderLine no-lock.
if available ttPODetail then
output to "d:\mfgsysdata\ podata.csv" append.
for first ttPORel no-lock:
export delimiter "," ttPORel.PONum ttPORel.POLine ttPORel.PORelNum
ttPORel.DueDate ttPODetail.PONum.
end.
output close.
end.
/* end of export */

Thanks,
-Karl

[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]





[Non-text portions of this message have been removed]
4GL Wizards,
Â
I have created a post-processing BPM that determines if the DueDate on a PORel has been changed. From that I want to create a csv file to identify that. The code below for the Action in the Post-Processing phase does that displaying the PO number, Line, Release and Due Date.
Â
/* Create file for Due Date Change */
output to "d:\mfgsysdata\podata.csv" append.
for first ttPORel no-lock:
export delimiter "," ttPORel.PONum ttPORel.POLine ttPORel.PORelNum ttPORel.DueDate.
end.
output close.
/* end of export */
Â
So far, so good. Now I want to include on the csv file the part number. Well that is on the PODetail table, so I need to get the two linked. The following is NOT working but is my attempt to do this. Can anyone shed light on how I can get PODetail info available for the extract?
Â
New Post-processing
/* Create file for Due Date Change */
for each ttporel where
(ttPORel.RowMod='A' or ttPORel.rowmod='U') no-lock:
find ttPODetail where ttPORel.Company=ttPODetail.Company and
ttPORel.OrderNum=ttPODetail.OrderNum and ttPORel.OrderLine=ttPODetail.OrderLine no-lock.
if available ttPODetail then
output to "d:\mfgsysdata\podata.csv" append.
for first ttPORel no-lock:
export delimiter "," ttPORel.PONum ttPORel.POLine ttPORel.PORelNum ttPORel.DueDate ttPODetail.PONum.
end.
output close.
end.
/* end of export */
Â
Thanks,
-Karl




[Non-text portions of this message have been removed]
Can't you just create a single query instead of creating the "sub query" to
retrieve the part?

For each ttPORel where ttPORel.RowMod='A' or ttPORel.rowmod='U' no-lock,

Each PODetail where PODetail.Company=ttPORel.company and
PODetail.PONum=ttPORel.PONum and PODetail.POLine=ttPORel.POLine no-lock



Also, isn't orderNum/OrderLine for orders? Shouldn't it be PONum and POLine?



From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of
Karl Dash
Sent: Thursday, August 06, 2009 11:09 AM
To: Vantage Group
Subject: [Vantage] 4GL Problem on BPM





4GL Wizards,

I have created a post-processing BPM that determines if the DueDate on a
PORel has been changed. From that I want to create a csv file to identify
that. The code below for the Action in the Post-Processing phase does that
displaying the PO number, Line, Release and Due Date.

/* Create file for Due Date Change */
output to "d:\mfgsysdata\podata.csv" append.
for first ttPORel no-lock:
export delimiter "," ttPORel.PONum ttPORel.POLine ttPORel.PORelNum
ttPORel.DueDate.
end.
output close.
/* end of export */

So far, so good. Now I want to include on the csv file the part number. Well
that is on the PODetail table, so I need to get the two linked. The
following is NOT working but is my attempt to do this. Can anyone shed light
on how I can get PODetail info available for the extract?

New Post-processing
/* Create file for Due Date Change */
for each ttporel where
(ttPORel.RowMod='A' or ttPORel.rowmod='U') no-lock:
find ttPODetail where ttPORel.Company=ttPODetail.Company and
ttPORel.OrderNum=ttPODetail.OrderNum and
ttPORel.OrderLine=ttPODetail.OrderLine no-lock.
if available ttPODetail then
output to "d:\mfgsysdata\podata.csv" append.
for first ttPORel no-lock:
export delimiter "," ttPORel.PONum ttPORel.POLine ttPORel.PORelNum
ttPORel.DueDate ttPODetail.PONum.
end.
output close.
end.
/* end of export */

Thanks,
-Karl

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





[Non-text portions of this message have been removed]
Try using PODetail not ttPODetail and see fi that works. The tt tables are
sometimes only populated with changes.
Sincerely
Jose C Gomez

http://www.josecgomez.com


On Thu, Aug 6, 2009 at 11:08 AM, Karl Dash <dashkarl@...> wrote:

>
>
> 4GL Wizards,
>
> I have created a post-processing BPM that determines if the DueDate on a
> PORel has been changed. From that I want to create a csv file to identify
> that. The code below for the Action in the Post-Processing phase does that
> displaying the PO number, Line, Release and Due Date.
>
> /* Create file for Due Date Change */
> output to "d:\mfgsysdata\podata.csv" append.
> for first ttPORel no-lock:
> export delimiter "," ttPORel.PONum ttPORel.POLine ttPORel.PORelNum
> ttPORel.DueDate.
> end.
> output close.
> /* end of export */
>
> So far, so good. Now I want to include on the csv file the part number.
> Well that is on the PODetail table, so I need to get the two linked. The
> following is NOT working but is my attempt to do this. Can anyone shed light
> on how I can get PODetail info available for the extract?
>
> New Post-processing
> /* Create file for Due Date Change */
> for each ttporel where
> (ttPORel.RowMod='A' or ttPORel.rowmod='U') no-lock:
> find ttPODetail where ttPORel.Company=ttPODetail.Company and
> ttPORel.OrderNum=ttPODetail.OrderNum and
> ttPORel.OrderLine=ttPODetail.OrderLine no-lock.
> if available ttPODetail then
> output to "d:\mfgsysdata\podata.csv" append.
> for first ttPORel no-lock:
> export delimiter "," ttPORel.PONum ttPORel.POLine ttPORel.PORelNum
> ttPORel.DueDate ttPODetail.PONum.
> end.
> output close.
> end.
> /* end of export */
>
> Thanks,
> -Karl
>
> [Non-text portions of this message have been removed]
>
>
>


[Non-text portions of this message have been removed]
Sean,
 Thanks for the assist. I rebuilt my query hopefully close to your recommendations (shown below). It does validate properly but the output file contains "** No ttPODetail record is available. (91)".
Â
Code:
/* Create file for Due Date Change */
for each ttporel where
(ttPORel.RowMod='A' or ttPORel.rowmod='U') no-lock,
Each PODetail where PODetail.Company=ttPORel.Company and PODetail.PONum=ttPORel.PONum and PODetail.POLine=ttPORel.POLine no-lock.
If available PODetail then
output to "d:\mfgsysdata\podata.csv" append.
export delimiter "," ttPORel.PONum ttPORel.POLine ttPORel.PORelNum ttPORel.DueDate PODetail.PONum.
output close.
end.
/* end of export */

--- On Thu, 8/6/09, Sean McDaniel <smcdanie@...> wrote:


From: Sean McDaniel <smcdanie@...>
Subject: RE: [Vantage] 4GL Problem on BPM
To: vantage@yahoogroups.com
Date: Thursday, August 6, 2009, 8:18 AM


Â



Can't you just create a single query instead of creating the "sub query" to
retrieve the part?

For each ttPORel where ttPORel.RowMod= 'A' or ttPORel.rowmod= 'U' no-lock,

Each PODetail where PODetail.Company= ttPORel.company and
PODetail.PONum= ttPORel.PONum and PODetail.POLine= ttPORel.POLine no-lock

Also, isn't orderNum/OrderLine for orders? Shouldn't it be PONum and POLine?

From: vantage@yahoogroups .com [mailto:vantage@yahoogroups .com] On Behalf Of
Karl Dash
Sent: Thursday, August 06, 2009 11:09 AM
To: Vantage Group
Subject: [Vantage] 4GL Problem on BPM

4GL Wizards,

I have created a post-processing BPM that determines if the DueDate on a
PORel has been changed. From that I want to create a csv file to identify
that. The code below for the Action in the Post-Processing phase does that
displaying the PO number, Line, Release and Due Date.

/* Create file for Due Date Change */
output to "d:\mfgsysdata\ podata.csv" append.
for first ttPORel no-lock:
export delimiter "," ttPORel.PONum ttPORel.POLine ttPORel.PORelNum
ttPORel.DueDate.
end.
output close.
/* end of export */

So far, so good. Now I want to include on the csv file the part number. Well
that is on the PODetail table, so I need to get the two linked. The
following is NOT working but is my attempt to do this. Can anyone shed light
on how I can get PODetail info available for the extract?

New Post-processing
/* Create file for Due Date Change */
for each ttporel where
(ttPORel.RowMod= 'A' or ttPORel.rowmod= 'U') no-lock:
find ttPODetail where ttPORel.Company= ttPODetail. Company and
ttPORel.OrderNum= ttPODetail. OrderNum and
ttPORel.OrderLine= ttPODetail. OrderLine no-lock.
if available ttPODetail then
output to "d:\mfgsysdata\ podata.csv" append.
for first ttPORel no-lock:
export delimiter "," ttPORel.PONum ttPORel.POLine ttPORel.PORelNum
ttPORel.DueDate ttPODetail.PONum.
end.
output close.
end.
/* end of export */

Thanks,
-Karl

[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]
Hi Karl,

I just tried this code myself. It threw a CSV file out there, but I had to
do it in the pre-processing. As soon as I added the rowmod check in post
processing it stopped working.

It may be that the post processing RowMod value is changed. Not sure, but
ultimately this works, you just need to figure a good place to put it.

--Sean



output to "c:\podata.csv" append.

for each ttPORel where ttPOREl.RowMod="A" or ttPOREL.RowMod="U" no-lock,
each PODetail where ttPORel.Company=PODetail.Company and
ttPOREL.PONum=PODetail.PONUM and ttPORel.POLine=PODetail.POLine no-lock:

export delimiter "," ttPORel.PONum ttPORel.POLine ttPORel.PORelNum
PODetail.PartNum

ttPORel.DueDate.

end.

output close.

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of
Karl Dash
Sent: Thursday, August 06, 2009 1:53 PM
To: vantage@yahoogroups.com
Subject: RE: [Vantage] 4GL Problem on BPM





Sean,
Thanks for the assist. I rebuilt my query hopefully close to your
recommendations (shown below). It does validate properly but the output file
contains "** No ttPODetail record is available. (91)".

Code:
/* Create file for Due Date Change */
for each ttporel where
(ttPORel.RowMod='A' or ttPORel.rowmod='U') no-lock,
Each PODetail where PODetail.Company=ttPORel.Company and
PODetail.PONum=ttPORel.PONum and PODetail.POLine=ttPORel.POLine no-lock.
If available PODetail then
output to "d:\mfgsysdata\podata.csv" append.
export delimiter "," ttPORel.PONum ttPORel.POLine ttPORel.PORelNum
ttPORel.DueDate PODetail.PONum.
output close.
end.
/* end of export */

--- On Thu, 8/6/09, Sean McDaniel <smcdanie@...
<mailto:smcdanie%40rochester.rr.com> > wrote:

From: Sean McDaniel <smcdanie@...
<mailto:smcdanie%40rochester.rr.com> >
Subject: RE: [Vantage] 4GL Problem on BPM
To: vantage@yahoogroups.com <mailto:vantage%40yahoogroups.com>
Date: Thursday, August 6, 2009, 8:18 AM



Can't you just create a single query instead of creating the "sub query" to
retrieve the part?

For each ttPORel where ttPORel.RowMod= 'A' or ttPORel.rowmod= 'U' no-lock,

Each PODetail where PODetail.Company= ttPORel.company and
PODetail.PONum= ttPORel.PONum and PODetail.POLine= ttPORel.POLine no-lock

Also, isn't orderNum/OrderLine for orders? Shouldn't it be PONum and POLine?

From: vantage@yahoogroups .com [mailto:vantage@yahoogroups .com] On Behalf
Of
Karl Dash
Sent: Thursday, August 06, 2009 11:09 AM
To: Vantage Group
Subject: [Vantage] 4GL Problem on BPM

4GL Wizards,

I have created a post-processing BPM that determines if the DueDate on a
PORel has been changed. From that I want to create a csv file to identify
that. The code below for the Action in the Post-Processing phase does that
displaying the PO number, Line, Release and Due Date.

/* Create file for Due Date Change */
output to "d:\mfgsysdata\ podata.csv" append.
for first ttPORel no-lock:
export delimiter "," ttPORel.PONum ttPORel.POLine ttPORel.PORelNum
ttPORel.DueDate.
end.
output close.
/* end of export */

So far, so good. Now I want to include on the csv file the part number. Well
that is on the PODetail table, so I need to get the two linked. The
following is NOT working but is my attempt to do this. Can anyone shed light
on how I can get PODetail info available for the extract?

New Post-processing
/* Create file for Due Date Change */
for each ttporel where
(ttPORel.RowMod= 'A' or ttPORel.rowmod= 'U') no-lock:
find ttPODetail where ttPORel.Company= ttPODetail. Company and
ttPORel.OrderNum= ttPODetail. OrderNum and
ttPORel.OrderLine= ttPODetail. OrderLine no-lock.
if available ttPODetail then
output to "d:\mfgsysdata\ podata.csv" append.
for first ttPORel no-lock:
export delimiter "," ttPORel.PONum ttPORel.POLine ttPORel.PORelNum
ttPORel.DueDate ttPODetail.PONum.
end.
output close.
end.
/* end of export */

Thanks,
-Karl

[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]