BPM - PORel Promise Date update from PORel Due Date

 I will try this method.  Thanks.



---In vantage@yahoogroups.com, <jlisser@...> wrote:

I believe I handled this with a BAM in v8.  The BAM was set up on the PORel table as a forward to the procedure.  So if you put code into a .p file - test for PORel.PrimomiseDt = ? (null) and find first PoRel.DueDate using the company, ponum, poline and porel like you did in your code.  It uses the same lib update too.  I don't have the exact code anymore but that should get you close.  You might have to bring the PORel table into the buffer at the beginning too.

 

Once I went to E9 I switched it over to a data directive though. Much easier.

 



---In vantage@yahoogroups.com, <juy@...> wrote:

Thanks Greg.  I forgot to mention that we are still in V8 so no DD for us but will be upgrading next year so I'll keep save this on my notes. 



---In vantage@yahoogroups.com, <vantage@yahoogroups.com> wrote:

 

I have a DD that does this in 905.702

 

Greg

 

condition

number of rows in the 'Empty Promise date' query is not less than 1

Query

for each ttPORel where ttPORel.PromiseDt = ? and ttPORel.DueDate <> ?

 

Action

ABL:

for each ttPORel where ttPORel.PromiseDt = ? and ttPORel.DueDate <> ? no-lock.

 

If available ttPORel then do:

 

                                                                      Assign ttPOrel.PromiseDt = ttPORel.DueDate.

 

End.

 

End.                                                            

 

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of juy@...
Sent: Friday, November 01, 2013 4:25 PM
To: vantage@yahoogroups.com
Subject: [Vantage] BPM - PORel Promise Date update from PORel Due Date

 

 

I am trying to create a BPM to automatically update the PORel Promise Date equal to the PORel Due Date on new POs.  If the new PO was created either from the Generate PO Suggestions screen or from Purchase Order Entry, the Promise Date does not get updated unless the buyer actually change the Due Date under the Release tab.  Here's what I have: 

 

First I had this:

 

for each ttPODetail where ttPODetail.RowMod = 'A' no-lock.

find first ttPORel where

ttPORel.Company = ttPODetail.Company and

ttPORel.PONum = ttPODetail.PONum and

ttPORel.POLine = ttPODetail.POLine no-lock.

 

if available ttPORel then do:

assign ttPORel.PromiseDt = ttPODetail.CalcDueDate.

end.

end.

 

Then I had this:

 

for each ttPOHeader where ttPOHeader.RowMod = 'A' or ttPOHea der.RowMod = 'U' no-lock,

each ttPODetail where

ttPODetail.Company = ttPOHeader.Company and

ttPODetail.PONum = ttPOHeader.PONum,

 

each ttPORel where

ttPODetail.Company = ttPORel.Company and

ttPODetail.PONum = ttPORel.PONum and

ttPODetail.POLine = ttPORel.POLine and

ttPORel.DueDate <> ttPORel.PromiseDt no-lock.

 

assign ttPORel.PromiseDt = ttPODetail.CalcDueDate.

end.

 

The two BPMs above are on PO.Update

 

Then I have this on the POSugg.Update:

for each ttSugPODtl where ttSugPODtl.RowMod = 'A' no-lock.

find first PORel where

PORel.Company = ttSugPODtl.Company and

PORel.PONum = ttSugPODtl.PONum and

PORel.POLine = ttSugPODtl.POLine no-lock.

 

if available PORel then do:

RUN LIB\UpdateTableBuffer. p(input buffer PORel:HANDLE,'PromiseDt',ttSugPODtl.DueDate).

end.

 

No matter what I use, unless you actually change the Due Date on the Release tab, the promise date does not get updated.  it seems that the PORel table does not have any connection to either the POHeader or the PODetail tables.  Or maybe I am just doing this wrong.

 

Please help.  Thank you.

 


CONFIDENTIALITY NOTICE

The information contained in this communication, including attachments, is privileged and confidential. It is intended only for the exclusive use of the addressee. If the reader of this message is not the intended recipient, or the employee or agent responsible for delivering it to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us at 727-578-6280 and immediately delete the communication.

"This (document/presentation) may contain technical data as defined in the International Traffic In Arms Regulations (ITAR) 22 CFR 120.10. Export of this material is restricted by the Arms Export Control Act (22 U.S.C. 2751 et seq.) and may not be exported to foreign persons without prior approval form the U.S. Department of State."
I am trying to create a BPM to automatically update the PORel Promise Date equal to the PORel Due Date on new POs.  If the new PO was created either from the Generate PO Suggestions screen or from Purchase Order Entry, the Promise Date does not get updated unless the buyer actually change the Due Date under the Release tab.  Here's what I have: 

First I had this:

for each ttPODetail where ttPODetail.RowMod = 'A' no-lock.
find first ttPORel where
ttPORel.Company = ttPODetail.Company and
ttPORel.PONum = ttPODetail.PONum and
ttPORel.POLine = ttPODetail.POLine no-lock.

if available ttPORel then do:
assign ttPORel.PromiseDt = ttPODetail.CalcDueDate.
end.
end.

Then I had this:

for each ttPOHeader where ttPOHeader.RowMod = 'A' or ttPOHeader.RowMod = 'U' no-lock,
each ttPODetail where
ttPODetail.Company = ttPOHeader.Company and
ttPODetail.PONum = ttPOHeader.PONum,

each ttPORel where
ttPODetail.Company = ttPORel.Company and
ttPODetail.PONum = ttPORel.PONum and
ttPODetail.POLine = ttPORel.POLine and
ttPORel.DueDate <> ttPORel.PromiseDt no-lock.

assign ttPORel.PromiseDt = ttPODetail.CalcDueDate.
end.

The two BPMs above are on PO.Update

Then I have this on the POSugg.Update:
for each ttSugPODtl where ttSugPODtl.RowMod = 'A' no-lock.
find first PORel where
PORel.Company = ttSugPODtl.Company and
PORel.PONum = ttSugPODtl.PONum and
PORel.POLine = ttSugPODtl.POLine no-lock.

if available PORel then do:
RUN LIB\UpdateTableBuffer.p(input buffer PORel:HANDLE,'PromiseDt',ttSugPODtl.DueDate).
end.

No matter what I use, unless you actually change the Due Date on the Release tab, the promise date does not get updated.  it seems that the PORel table does not have any connection to either the POHeader or the PODetail tables.  Or maybe I am just doing this wrong.

Please help.  Thank you.

 

I have a DD that does this in 905.702

 

Greg

 

condition

number of rows in the 'Empty Promise date' query is not less than 1

Query

for each ttPORel where ttPORel.PromiseDt = ? and ttPORel.DueDate <> ?

 

Action

ABL:

for each ttPORel where ttPORel.PromiseDt = ? and ttPORel.DueDate <> ? no-lock.

 

If available ttPORel then do:

 

                                                                      Assign ttPOrel.PromiseDt = ttPORel.DueDate.

 

End.

 

End.                                                            

 

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of juy@...
Sent: Friday, November 01, 2013 4:25 PM
To: vantage@yahoogroups.com
Subject: [Vantage] BPM - PORel Promise Date update from PORel Due Date

 

 

I am trying to create a BPM to automatically update the PORel Promise Date equal to the PORel Due Date on new POs.  If the new PO was created either from the Generate PO Suggestions screen or from Purchase Order Entry, the Promise Date does not get updated unless the buyer actually change the Due Date under the Release tab.  Here's what I have: 

 

First I had this:

 

for each ttPODetail where ttPODetail.RowMod = 'A' no-lock.

find first ttPORel where

ttPORel.Company = ttPODetail.Company and

ttPORel.PONum = ttPODetail.PONum and

ttPORel.POLine = ttPODetail.POLine no-lock.

 

if available ttPORel then do:

assign ttPORel.PromiseDt = ttPODetail.CalcDueDate.

end.

end.

 

Then I had this:

 

for each ttPOHeader where ttPOHeader.RowMod = 'A' or ttPOHea der.RowMod = 'U' no-lock,

each ttPODetail where

ttPODetail.Company = ttPOHeader.Company and

ttPODetail.PONum = ttPOHeader.PONum,

 

each ttPORel where

ttPODetail.Company = ttPORel.Company and

ttPODetail.PONum = ttPORel.PONum and

ttPODetail.POLine = ttPORel.POLine and

ttPORel.DueDate <> ttPORel.PromiseDt no-lock.

 

assign ttPORel.PromiseDt = ttPODetail.CalcDueDate.

end.

 

The two BPMs above are on PO.Update

 

Then I have this on the POSugg.Update:

for each ttSugPODtl where ttSugPODtl.RowMod = 'A' no-lock.

find first PORel where

PORel.Company = ttSugPODtl.Company and

PORel.PONum = ttSugPODtl.PONum and

PORel.POLine = ttSugPODtl.POLine no-lock.

 

if available PORel then do:

RUN LIB\UpdateTableBuffer. p(input buffer PORel:HANDLE,'PromiseDt',ttSugPODtl.DueDate).

end.

 

No matter what I use, unless you actually change the Due Date on the Release tab, the promise date does not get updated.  it seems that the PORel table does not have any connection to either the POHeader or the PODetail tables.  Or maybe I am just doing this wrong.

 

Please help.  Thank you.

 



CONFIDENTIALITY NOTICE

The information contained in this communication, including attachments, is privileged and confidential. It is intended only for the exclusive use of the addressee. If the reader of this message is not the intended recipient, or the employee or agent responsible for delivering it to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us at 727-578-6280 and immediately delete the communication.

"This (document/presentation) may contain technical data as defined in the International Traffic In Arms Regulations (ITAR) 22 CFR 120.10. Export of this material is restricted by the Arms Export Control Act (22 U.S.C. 2751 et seq.) and may not be exported to foreign persons without prior approval form the U.S. Department of State."

Thanks Greg.  I forgot to mention that we are still in V8 so no DD for us but will be upgrading next year so I'll keep save this on my notes. 



---In vantage@yahoogroups.com, <vantage@yahoogroups.com> wrote:

 

I have a DD that does this in 905.702

 

Greg

 

condition

number of rows in the 'Empty Promise date' query is not less than 1

Query

for each ttPORel where ttPORel.PromiseDt = ? and ttPORel.DueDate <> ?

 

Action

ABL:

for each ttPORel where ttPORel.PromiseDt = ? and ttPORel.DueDate <> ? no-lock.

 

If available ttPORel then do:

 

                                                                      Assign ttPOrel.PromiseDt = ttPORel.DueDate.

 

End.

 

End.                                                            

 

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of juy@...
Sent: Friday, November 01, 2013 4:25 PM
To: vantage@yahoogroups.com
Subject: [Vantage] BPM - PORel Promise Date update from PORel Due Date

 

 

I am trying to create a BPM to automatically update the PORel Promise Date equal to the PORel Due Date on new POs.  If the new PO was created either from the Generate PO Suggestions screen or from Purchase Order Entry, the Promise Date does not get updated unless the buyer actually change the Due Date under the Release tab.  Here's what I have: 

 

First I had this:

 

for each ttPODetail where ttPODetail.RowMod = 'A' no-lock.

find first ttPORel where

ttPORel.Company = ttPODetail.Company and

ttPORel.PONum = ttPODetail.PONum and

ttPORel.POLine = ttPODetail.POLine no-lock.

 

if available ttPORel then do:

assign ttPORel.PromiseDt = ttPODetail.CalcDueDate.

end.

end.

 

Then I had this:

 

for each ttPOHeader where ttPOHeader.RowMod = 'A' or ttPOHea der.RowMod = 'U' no-lock,

each ttPODetail where

ttPODetail.Company = ttPOHeader.Company and

ttPODetail.PONum = ttPOHeader.PONum,

 

each ttPORel where

ttPODetail.Company = ttPORel.Company and

ttPODetail.PONum = ttPORel.PONum and

ttPODetail.POLine = ttPORel.POLine and

ttPORel.DueDate <> ttPORel.PromiseDt no-lock.

 

assign ttPORel.PromiseDt = ttPODetail.CalcDueDate.

end.

 

The two BPMs above are on PO.Update

 

Then I have this on the POSugg.Update:

for each ttSugPODtl where ttSugPODtl.RowMod = 'A' no-lock.

find first PORel where

PORel.Company = ttSugPODtl.Company and

PORel.PONum = ttSugPODtl.PONum and

PORel.POLine = ttSugPODtl.POLine no-lock.

 

if available PORel then do:

RUN LIB\UpdateTableBuffer. p(input buffer PORel:HANDLE,'PromiseDt',ttSugPODtl.DueDate).

end.

 

No matter what I use, unless you actually change the Due Date on the Release tab, the promise date does not get updated.  it seems that the PORel table does not have any connection to either the POHeader or the PODetail tables.  Or maybe I am just doing this wrong.

 

Please help.  Thank you.

 



CONFIDENTIALITY NOTICE

The information contained in this communication, including attachments, is privileged and confidential. It is intended only for the exclusive use of the addressee. If the reader of this message is not the intended recipient, or the employee or agent responsible for delivering it to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us at 727-578-6280 and immediately delete the communication.

"This (document/presentation) may contain technical data as defined in the International Traffic In Arms Regulations (ITAR) 22 CFR 120.10. Export of this material is restricted by the Arms Export Control Act (22 U.S.C. 2751 et seq.) and may not be exported to foreign persons without prior approval form the U.S. Department of State."

I believe I handled this with a BAM in v8.  The BAM was set up on the PORel table as a forward to the procedure.  So if you put code into a .p file - test for PORel.PrimomiseDt = ? (null) and find first PoRel.DueDate using the company, ponum, poline and porel like you did in your code.  It uses the same lib update too.  I don't have the exact code anymore but that should get you close.  You might have to bring the PORel table into the buffer at the beginning too.

 

Once I went to E9 I switched it over to a data directive though. Much easier.

 



---In vantage@yahoogroups.com, <juy@...> wrote:

Thanks Greg.  I forgot to mention that we are still in V8 so no DD for us but will be upgrading next year so I'll keep save this on my notes. 



---In vantage@yahoogroups.com, <vantage@yahoogroups.com> wrote:

 

I have a DD that does this in 905.702

 

Greg

 

condition

number of rows in the 'Empty Promise date' query is not less than 1

Query

for each ttPORel where ttPORel.PromiseDt = ? and ttPORel.DueDate <> ?

 

Action

ABL:

for each ttPORel where ttPORel.PromiseDt = ? and ttPORel.DueDate <> ? no-lock.

 

If available ttPORel then do:

 

                                                                      Assign ttPOrel.PromiseDt = ttPORel.DueDate.

 

End.

 

End.                                                            

 

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of juy@...
Sent: Friday, November 01, 2013 4:25 PM
To: vantage@yahoogroups.com
Subject: [Vantage] BPM - PORel Promise Date update from PORel Due Date

 

 

I am trying to create a BPM to automatically update the PORel Promise Date equal to the PORel Due Date on new POs.  If the new PO was created either from the Generate PO Suggestions screen or from Purchase Order Entry, the Promise Date does not get updated unless the buyer actually change the Due Date under the Release tab.  Here's what I have: 

 

First I had this:

 

for each ttPODetail where ttPODetail.RowMod = 'A' no-lock.

find first ttPORel where

ttPORel.Company = ttPODetail.Company and

ttPORel.PONum = ttPODetail.PONum and

ttPORel.POLine = ttPODetail.POLine no-lock.

 

if available ttPORel then do:

assign ttPORel.PromiseDt = ttPODetail.CalcDueDate.

end.

end.

 

Then I had this:

 

for each ttPOHeader where ttPOHeader.RowMod = 'A' or ttPOHea der.RowMod = 'U' no-lock,

each ttPODetail where

ttPODetail.Company = ttPOHeader.Company and

ttPODetail.PONum = ttPOHeader.PONum,

 

each ttPORel where

ttPODetail.Company = ttPORel.Company and

ttPODetail.PONum = ttPORel.PONum and

ttPODetail.POLine = ttPORel.POLine and

ttPORel.DueDate <> ttPORel.PromiseDt no-lock.

 

assign ttPORel.PromiseDt = ttPODetail.CalcDueDate.

end.

 

The two BPMs above are on PO.Update

 

Then I have this on the POSugg.Update:

for each ttSugPODtl where ttSugPODtl.RowMod = 'A' no-lock.

find first PORel where

PORel.Company = ttSugPODtl.Company and

PORel.PONum = ttSugPODtl.PONum and

PORel.POLine = ttSugPODtl.POLine no-lock.

 

if available PORel then do:

RUN LIB\UpdateTableBuffer. p(input buffer PORel:HANDLE,'PromiseDt',ttSugPODtl.DueDate).

end.

 

No matter what I use, unless you actually change the Due Date on the Release tab, the promise date does not get updated.  it seems that the PORel table does not have any connection to either the POHeader or the PODetail tables.  Or maybe I am just doing this wrong.

 

Please help.  Thank you.

 


CONFIDENTIALITY NOTICE

The information contained in this communication, including attachments, is privileged and confidential. It is intended only for the exclusive use of the addressee. If the reader of this message is not the intended recipient, or the employee or agent responsible for delivering it to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us at 727-578-6280 and immediately delete the communication.

"This (document/presentation) may contain technical data as defined in the International Traffic In Arms Regulations (ITAR) 22 CFR 120.10. Export of this material is restricted by the Arms Export Control Act (22 U.S.C. 2751 et seq.) and may not be exported to foreign persons without prior approval form the U.S. Department of State."

Can there be a message box to ask the user if that should be done?  on this BPM.   



---In vantage@yahoogroups.com, <juy@...> wrote:

Thanks Greg.  I forgot to mention that we are still in V8 so no DD for us but will be upgrading next year so I'll keep save this on my notes. 



---In vantage@yahoogroups.com, <vantage@yahoogroups.com> wrote:

 

I have a DD that does this in 905.702

 

Greg

 

condition

number of rows in the 'Empty Promise date' query is not less than 1

Query

for each ttPORel where ttPORel.PromiseDt = ? and ttPORel.DueDate <> ?

 

Action

ABL:

for each ttPORel where ttPORel.PromiseDt = ? and ttPORel.DueDate <> ? no-lock.

 

If available ttPORel then do:

 

                                                                      Assign ttPOrel.PromiseDt = ttPORel.DueDate.

 

End.

 

End.                                                            

 

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of juy@...
Sent: Friday, November 01, 2013 4:25 PM
To: vantage@yahoogroups.com
Subject: [Vantage] BPM - PORel Promise Date update from PORel Due Date

 

 

I am trying to create a BPM to automatically update the PORel Promise Date equal to the PORel Due Date on new POs.  If the new PO was created either from the Generate PO Suggestions screen or from Purchase Order Entry, the Promise Date does not get updated unless the buyer actually change the Due Date under the Release tab.  Here's what I have: 

 

First I had this:

 

for each ttPODetail where ttPODetail.RowMod = 'A' no-lock.

find first ttPORel where

ttPORel.Company = ttPODetail.Company and

ttPORel.PONum = ttPODetail.PONum and

ttPORel.POLine = ttPODetail.POLine no-lock.

 

if available ttPORel then do:

assign ttPORel.PromiseDt = ttPODetail.CalcDueDate.

end.

end.

 

Then I had this:

 

for each ttPOHeader where ttPOHeader.RowMod = 'A' or ttPOHea der.RowMod = 'U' no-lock,

each ttPODetail where

ttPODetail.Company = ttPOHeader.Company and

ttPODetail.PONum = ttPOHeader.PONum,

 

each ttPORel where

ttPODetail.Company = ttPORel.Company and

ttPODetail.PONum = ttPORel.PONum and

ttPODetail.POLine = ttPORel.POLine and

ttPORel.DueDate <> ttPORel.PromiseDt no-lock.

 

assign ttPORel.PromiseDt = ttPODetail.CalcDueDate.

end.

 

The two BPMs above are on PO.Update

 

Then I have this on the POSugg.Update:

for each ttSugPODtl where ttSugPODtl.RowMod = 'A' no-lock.

find first PORel where

PORel.Company = ttSugPODtl.Company and

PORel.PONum = ttSugPODtl.PONum and

PORel.POLine = ttSugPODtl.POLine no-lock.

 

if available PORel then do:

RUN LIB\UpdateTableBuffer. p(input buffer PORel:HANDLE,'PromiseDt',ttSugPODtl.DueDate).

end.

 

No matter what I use, unless you actually change the Due Date on the Release tab, the promise date does not get updated.  it seems that the PORel table does not have any connection to either the POHeader or the PODetail tables.  Or maybe I am just doing this wrong.

 

Please help.  Thank you.

 


CONFIDENTIALITY NOTICE

The information contained in this communication, including attachments, is privileged and confidential. It is intended only for the exclusive use of the addressee. If the reader of this message is not the intended recipient, or the employee or agent responsible for delivering it to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us at 727-578-6280 and immediately delete the communication.

"This (document/presentation) may contain technical data as defined in the International Traffic In Arms Regulations (ITAR) 22 CFR 120.10. Export of this material is restricted by the Arms Export Control Act (22 U.S.C. 2751 et seq.) and may not be exported to foreign persons without prior approval form the U.S. Department of State."