ttTables ... Blank Title 114333

I have found that the only time I am able to update PORel is when there is an existing ttPORel. From the header the BPM does not work, but if I change a PO release (so a ttPORel record now exists) the BPM executes for that release only on update. Sigh...

The next option, as Jim suggested, is the embedded customisation in VB. I can get that to work, but only for the "current" PODetail record. My question to anybody out there who may know, is how can I step through each line in VB and within each line, step through each release. I can only get down one level, so to speak, but I need to go two.

This is the code I was using, which is obviously missing the link to each line from the header, but how to get that I do not know. I think I need to be able to set the "CurrentDataRow" property for each line in turn somehow...

-----------------------------------
Dim edvPOHeader As EpiDataView = CType(Me.oTrans.EpiDataViews("POHeader"),EpiDataView)
Dim edvPOHeaderRow As System.Data.DataRow = edvPOHeader.CurrentDataRow
Dim NewDate as Date = edvPOHeaderRow("Date01")

If NewDate > DateValue(Now) then

Dim edvPOrel As EpiDataView = CType(Me.oTrans.EpiDataViews("PORel"),EpiDataView)
Dim ThisRow as Int32

For ThisRow = 0 To 1000 Step 1
Try
If edvPORel.dataView(ThisRow)("TranType") = "PUR-STK" then
edvPORel.dataView(ThisRow).BeginEdit
edvPORel.dataView(ThisRow)("DueDate") = NewDate
edvPORel.dataView(ThisRow).EndEdit
End If
Catch ex As Exception
Exit For
End Try
Next ThisRow
EpiMessageBox.Show("Finished.")
End If
----------------------------------------

- Neil

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of Neil Buckman
Sent: Monday, 8 October 2012 8:08 AM
To: vantage@yahoogroups.com
Subject: RE: [Vantage] Re: ttTables ...



Thanks Jim,

Good advice, and I will follow it up.

- Neil

From: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com> [mailto:vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>] On Behalf Of jckinneman
Sent: Monday, 8 October 2012 4:05 AM
To: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>
Subject: [Vantage] Re: ttTables ...

Have you turned on Trace Log and seen what data-sets are being passed around along with which methods are being called? There might be several intermediary methods that might present an opportunity. It will also show you what data you have available when.

One thing to watch out for when updating tables, if at all possible update the TT tables. If you update the physical table you run the probably risk of the "row has been modified by someone else" type message forcing the user to do a refresh.

While BPMs are the ideal place to do most things like this, falling back to embedded is something to consider.

You might also look at data directives, they work similar to BPMS but trigger based on data changes not methods.

Jim Kinneman
Encompass Solutions, Inc.

--- In vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>, Neil Buckman <nbuckman@...<mailto:nbuckman@...<mailto:nbuckman@...%3cmailto:nbuckman@...>>> wrote:
>
> Thanks Carl and "bwalker" for your replies,
>
> Yes the problem is no ttPORel data to work with. The idea is that the user, having already created a PO with lots of lines wants to change the release date on all of them in one go. So a date field on the header and a checkbox to say do it seemed like a good idea. I was hoping that a BPM run at pre-update time could change all the PORel data and any existing ttPORel at the same time, but it seems that there is some special trick to changing PORel (as opposed to ttPORel)...
>
> - Neil
>
>
> From: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com> [mailto:vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>] On Behalf Of carl.heeder
> Sent: Sunday, 7 October 2012 3:46 AM
> To: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>
> Subject: [Vantage] Re: ttTables ...
>
>
>
> You really can't update the PORel in the way you have written this.
> To update the PORel, you either have to find each ttPOrel, the look up the related POheader (not ttPOhed) then make the rel date in POREl = the Date1 in POHeader.
>
> This assumes that you will first enter and save the Date1 in POHeader and then create the lines and releases.
>
> That code may look like this:
>
> Find First ttPORel where ttPORel.rowmod="A" or ttporel.Rowmod="U" no-lock no-error.
> if available ttporel then do:
> find first poheader where poheader.company = ttporel.company and
> poheader.ponum = ttporel.ponum no-lock no-error.
> if available poheader then ttporel.duedate=poheader.date1.
> end. /* ends ttporel find */
>
> --- In vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>, Neil Buckman <nbuckman@<mailto:nbuckman@>> wrote:
> >
> > Thanks John for the encouragement to try again, but alas I cannot get it to work.
> >
> > My code is below. I had messages in it to tell me where it was going and basically it stops at the assignment below with the arrow (<===) on it. If I take that statement out it goes further but finds no ttPORel records.
> >
> > Any suggestions welcome...
> >
> > ----------------------------------------------------------
> > /*Add source code that should be executed before the designed actions here*/
> > DEFINE VARIABLE NewDate AS DATE INITIAL ? NO-UNDO.
> > DEFINE VARIABLE Coy AS CHARACTER INITIAL "" NO-UNDO.
> > DEFINE VARIABLE PONUM AS INTEGER INITIAL 0 NO-UNDO.
> > DEFINE VARIABLE POLINEN AS INTEGER INITIAL 0 NO-UNDO.
> > DEFINE VARIABLE PORELN AS INTEGER INITIAL 0 NO-UNDO.
> >
> > For each ttPOHeader where (ttPOHeader.RowMod = "U" AND ttPOHeader.CheckBox01 = TRUE) no-lock:
> > IF AVAILABLE ttPOHeader THEN DO:
> > NewDate = ttPOHeader.Date01.
> > COY = ttPOHeader.Company.
> > PONUM = ttPOHeader.PONum.
> > END.
> > For each PORel where (PORel.Company = COY and PORel.PONum = PONUM ) no-lock:
> > POLINEN = PORel.POLine.
> > PORELN = PORel.PORelNum.
> > PORel.DueDate = NewDate. /* <========*/
> > Find First ttPORel where (ttPORel.Company = COY and ttPORel.PONum = PONUM and ttPORel.POLine = POLINEN and ttPORel.PORelNum = PORELN).
> > IF Available ttPORel THEN ttPORel.DueDate = NewDate.
> > End.
> > End.
> > {&CALL_DESIGNED_ACTIONS}
> >
> > /*Add source code that should be executed after the designed actions here*/
> > ----------------------------------------------------------
> >
> > - Neil
> >
> >
> >
> >
> > -----Original Message-----
> > From: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com> [mailto:vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>] On Behalf Of John Driggers
> > Sent: Friday, 5 October 2012 11:49 PM
> > To: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>
> > Subject: Re: [Vantage] Re: ttTables ...
> >
> > You can do that via BPM. However you are right, the ttTables don't always contain ALL the records of the dataset.
> >
> > However, you can look up the actual PORel and edit it there. Something like:
> >
> > FOR EACH PORel WHERE PORel.PONum = <PO number>:
> > FIND FIRST ttPORel WHERE <field = field>.
> > IF AVAIL ttPOREL THEN
> > <update ttPORel>
> > ELSE
> > <update PORel>
> > END.
> >
> > *John Driggers*
> > **
> > *Chief Data Wrangler*
> > *
> > *
> > *I have an Epicor blog <http://usdoingstuff.com/>. How useful is that?*
> > *
> > *:: 904.404.9233
> > :: waffqle@
> > :: http://www.usdoingstuff.com <http://www.usdoingstuff.com/>
> >
> > *
> >
> > *
> >
> >
> >
> > On Fri, Oct 5, 2012 at 9:05 AM, Neil Buckman < nbuckman@> wrote:
> >
> > > **
> > >
> > >
> > > Thanks Jim,
> > >
> > > I am wanting to update the date on PO releases in a PO from a date
> > > entered in a UD field on the header. I have tried a BPM but without
> > > success (I think because all the PORel data is not in ttPORel - it is
> > > already saved in the database.
> > >
> > > I am trying VB now, but struggling with that - I can do the releases
> > > for one line only - I need to be able to step through the lines and
> > > that is my current road block...
> > >
> > > - Neil
> > >
> > > From: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com> [mailto:vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>] On
> > > Behalf Of jckinneman
> > > Sent: Friday, 5 October 2012 10:15 PM
> > > To: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>
> > > Subject: [Vantage] Re: ttTables ...
> > >
> > >
> > > ttTables are used by the BPMs to work with the data from the
> > > associated physical tables. The ttTables may have fields (calculated)
> > > that do not exist in the physical tables and depending on the menu
> > > option there may not be an associated physical table. Time Phase
> > > Material is one example of a ttTable without a direct one to one connection to a physical table.
> > >
> > > The ttTables hold data for the methods to process. You can interact
> > > with that data in pre and post BPM processing. in pre processing you
> > > can change it before the method acts on the data. This would be the
> > > place to do validation (i.e. ensure a state code is correct). In post
> > > processing you can change the value before it is returned to the
> > > screen or do further processing based on the result of the method.
> > >
> > > Within the .net level (embedded customization) the data is held within
> > > the associated adapter's data-set. At that level the ttTables are not
> > > visible or accessible except through the data-set.
> > >
> > > Jim Kinneman
> > > Encompass Solutions, Inc
> > >
> > > --- In vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>,
> > > "nbuckman@<mailto:nbuckman@>"
> > > <nbuckman@<mailto:nbuckman@>>
> > > wrote:
> > > >
> > > >
> > > > Quick question...
> > > >
> > > > When I open, say, a PO with a number of lines and releases on it, is
> > > > all
> > > that data in the various tables - POHeader, PODetail, PORel etc
> > > loading into ttTables?
> > > >
> > > > - Neil
> > > >
> > >
> > > Notice:This e-mail and any attachments are confidential and are only
> > > for the use of the person to whom they are addressed. If you are not
> > > the intended recipient please advise the sender by return e-mail and
> > > delete the message and any attachments. Any use, interference with,
> > > disclosure or copying of this message or any attachments is unauthorised and prohibited.
> > > The sender does not warrant that the information is free of a virus or
> > > any other defect or error, and any views expressed herein, unless
> > > specifically indicated otherwise, are those of the individual sender.
> > >
> > > The DH Gibson Group of Companies - http://www.gibsonshopfitters.com.au
> > >
> > > P Please consider our shared environment before printing this
> > > communication.
> > >
> > > [Non-text portions of this message have been removed]
> > >
> > >
> > >
> >
> >
> > [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/.<http://groups.yahoo.com/group/vantage/files/><http://groups.yahoo.com/group/vantage/files/><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
> >
> >
> >
> >
> > Notice:This e-mail and any attachments are confidential and are only for the use of the person to whom they are addressed. If you are not the intended recipient please advise the sender by return e-mail and delete the message and any attachments. Any use, interference with, disclosure or copying of this message or any attachments is unauthorised and prohibited. The sender does not warrant that the information is free of a virus or any other defect or error, and any views expressed herein, unless specifically indicated otherwise, are those of the individual sender.
> >
> > The DH Gibson Group of Companies - http://www.gibsonshopfitters.com.au
> >
> > P Please consider our shared environment before printing this communication.
> >
>
>
>
> [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]
Quick question...

When I open, say, a PO with a number of lines and releases on it, is all that data in the various tables - POHeader, PODetail, PORel etc loading into ttTables?

- Neil
ttTables are used by the BPMs to work with the data from the associated physical tables. The ttTables may have fields (calculated) that do not exist in the physical tables and depending on the menu option there may not be an associated physical table. Time Phase Material is one example of a ttTable without a direct one to one connection to a physical table.

The ttTables hold data for the methods to process. You can interact with that data in pre and post BPM processing. in pre processing you can change it before the method acts on the data. This would be the place to do validation (i.e. ensure a state code is correct). In post processing you can change the value before it is returned to the screen or do further processing based on the result of the method.

Within the .net level (embedded customization) the data is held within the associated adapter's data-set. At that level the ttTables are not visible or accessible except through the data-set.

Jim Kinneman
Encompass Solutions, Inc

--- In vantage@yahoogroups.com, "nbuckman@..." <nbuckman@...> wrote:
>
>
> Quick question...
>
> When I open, say, a PO with a number of lines and releases on it, is all that data in the various tables - POHeader, PODetail, PORel etc loading into ttTables?
>
> - Neil
>
Thanks Jim,

I am wanting to update the date on PO releases in a PO from a date entered in a UD field on the header. I have tried a BPM but without success (I think because all the PORel data is not in ttPORel - it is already saved in the database.

I am trying VB now, but struggling with that - I can do the releases for one line only - I need to be able to step through the lines and that is my current road block...

- Neil

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of jckinneman
Sent: Friday, 5 October 2012 10:15 PM
To: vantage@yahoogroups.com
Subject: [Vantage] Re: ttTables ...



ttTables are used by the BPMs to work with the data from the associated physical tables. The ttTables may have fields (calculated) that do not exist in the physical tables and depending on the menu option there may not be an associated physical table. Time Phase Material is one example of a ttTable without a direct one to one connection to a physical table.

The ttTables hold data for the methods to process. You can interact with that data in pre and post BPM processing. in pre processing you can change it before the method acts on the data. This would be the place to do validation (i.e. ensure a state code is correct). In post processing you can change the value before it is returned to the screen or do further processing based on the result of the method.

Within the .net level (embedded customization) the data is held within the associated adapter's data-set. At that level the ttTables are not visible or accessible except through the data-set.

Jim Kinneman
Encompass Solutions, Inc

--- In vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>, "nbuckman@...<mailto:nbuckman@...>" <nbuckman@...<mailto:nbuckman@...>> wrote:
>
>
> Quick question...
>
> When I open, say, a PO with a number of lines and releases on it, is all that data in the various tables - POHeader, PODetail, PORel etc loading into ttTables?
>
> - Neil
>



Notice:This e-mail and any attachments are confidential and are only for the use of the person to whom they are addressed. If you are not the intended recipient please advise the sender by return e-mail and delete the message and any attachments. Any use, interference with, disclosure or copying of this message or any attachments is unauthorised and prohibited. The sender does not warrant that the information is free of a virus or any other defect or error, and any views expressed herein, unless specifically indicated otherwise, are those of the individual sender.

The DH Gibson Group of Companies - http://www.gibsonshopfitters.com.au

P Please consider our shared environment before printing this communication.



[Non-text portions of this message have been removed]
You can do that via BPM. However you are right, the ttTables don't always
contain ALL the records of the dataset.

However, you can look up the actual PORel and edit it there. Something like:

FOR EACH PORel WHERE PORel.PONum = <PO number>:
FIND FIRST ttPORel WHERE <field = field>.
IF AVAIL ttPOREL THEN
<update ttPORel>
ELSE
<update PORel>
END.

*John Driggers*
**
*Chief Data Wrangler*
*
*
*I have an Epicor blog <http://usdoingstuff.com/>. How useful is that?*
*
*:: 904.404.9233
:: waffqle@...
:: http://www.usdoingstuff.com <http://www.usdoingstuff.com/>

*

*



On Fri, Oct 5, 2012 at 9:05 AM, Neil Buckman <
nbuckman@...> wrote:

> **
>
>
> Thanks Jim,
>
> I am wanting to update the date on PO releases in a PO from a date entered
> in a UD field on the header. I have tried a BPM but without success (I
> think because all the PORel data is not in ttPORel - it is already saved in
> the database.
>
> I am trying VB now, but struggling with that - I can do the releases for
> one line only - I need to be able to step through the lines and that is my
> current road block...
>
> - Neil
>
> From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf
> Of jckinneman
> Sent: Friday, 5 October 2012 10:15 PM
> To: vantage@yahoogroups.com
> Subject: [Vantage] Re: ttTables ...
>
>
> ttTables are used by the BPMs to work with the data from the associated
> physical tables. The ttTables may have fields (calculated) that do not
> exist in the physical tables and depending on the menu option there may not
> be an associated physical table. Time Phase Material is one example of a
> ttTable without a direct one to one connection to a physical table.
>
> The ttTables hold data for the methods to process. You can interact with
> that data in pre and post BPM processing. in pre processing you can change
> it before the method acts on the data. This would be the place to do
> validation (i.e. ensure a state code is correct). In post processing you
> can change the value before it is returned to the screen or do further
> processing based on the result of the method.
>
> Within the .net level (embedded customization) the data is held within the
> associated adapter's data-set. At that level the ttTables are not visible
> or accessible except through the data-set.
>
> Jim Kinneman
> Encompass Solutions, Inc
>
> --- In vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>,
> "nbuckman@...<mailto:nbuckman@...>" <nbuckman@...<mailto:nbuckman@...>>
> wrote:
> >
> >
> > Quick question...
> >
> > When I open, say, a PO with a number of lines and releases on it, is all
> that data in the various tables - POHeader, PODetail, PORel etc loading
> into ttTables?
> >
> > - Neil
> >
>
> Notice:This e-mail and any attachments are confidential and are only for
> the use of the person to whom they are addressed. If you are not the
> intended recipient please advise the sender by return e-mail and delete the
> message and any attachments. Any use, interference with, disclosure or
> copying of this message or any attachments is unauthorised and prohibited.
> The sender does not warrant that the information is free of a virus or any
> other defect or error, and any views expressed herein, unless specifically
> indicated otherwise, are those of the individual sender.
>
> The DH Gibson Group of Companies - http://www.gibsonshopfitters.com.au
>
> P Please consider our shared environment before printing this
> communication.
>
> [Non-text portions of this message have been removed]
>
>
>


[Non-text portions of this message have been removed]
Thanks John for the encouragement to try again, but alas I cannot get it to work.

My code is below. I had messages in it to tell me where it was going and basically it stops at the assignment below with the arrow (<===) on it. If I take that statement out it goes further but finds no ttPORel records.

Any suggestions welcome...

--------------------------------------------------------------------------------------------------------
/*Add source code that should be executed before the designed actions here*/
DEFINE VARIABLE NewDate AS DATE INITIAL ? NO-UNDO.
DEFINE VARIABLE Coy AS CHARACTER INITIAL "" NO-UNDO.
DEFINE VARIABLE PONUM AS INTEGER INITIAL 0 NO-UNDO.
DEFINE VARIABLE POLINEN AS INTEGER INITIAL 0 NO-UNDO.
DEFINE VARIABLE PORELN AS INTEGER INITIAL 0 NO-UNDO.

For each ttPOHeader where (ttPOHeader.RowMod = "U" AND ttPOHeader.CheckBox01 = TRUE) no-lock:
IF AVAILABLE ttPOHeader THEN DO:
NewDate = ttPOHeader.Date01.
COY = ttPOHeader.Company.
PONUM = ttPOHeader.PONum.
END.
For each PORel where (PORel.Company = COY and PORel.PONum = PONUM ) no-lock:
POLINEN = PORel.POLine.
PORELN = PORel.PORelNum.
PORel.DueDate = NewDate. /* <========*/
Find First ttPORel where (ttPORel.Company = COY and ttPORel.PONum = PONUM and ttPORel.POLine = POLINEN and ttPORel.PORelNum = PORELN).
IF Available ttPORel THEN ttPORel.DueDate = NewDate.
End.
End.
{&CALL_DESIGNED_ACTIONS}

/*Add source code that should be executed after the designed actions here*/
--------------------------------------------------------------------------------------------------------

- Neil




-----Original Message-----
From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of John Driggers
Sent: Friday, 5 October 2012 11:49 PM
To: vantage@yahoogroups.com
Subject: Re: [Vantage] Re: ttTables ...

You can do that via BPM. However you are right, the ttTables don't always contain ALL the records of the dataset.

However, you can look up the actual PORel and edit it there. Something like:

FOR EACH PORel WHERE PORel.PONum = <PO number>:
FIND FIRST ttPORel WHERE <field = field>.
IF AVAIL ttPOREL THEN
<update ttPORel>
ELSE
<update PORel>
END.

*John Driggers*
**
*Chief Data Wrangler*
*
*
*I have an Epicor blog <http://usdoingstuff.com/>. How useful is that?*
*
*:: 904.404.9233
:: waffqle@...
:: http://www.usdoingstuff.com <http://www.usdoingstuff.com/>

*

*



On Fri, Oct 5, 2012 at 9:05 AM, Neil Buckman < nbuckman@...> wrote:

> **
>
>
> Thanks Jim,
>
> I am wanting to update the date on PO releases in a PO from a date
> entered in a UD field on the header. I have tried a BPM but without
> success (I think because all the PORel data is not in ttPORel - it is
> already saved in the database.
>
> I am trying VB now, but struggling with that - I can do the releases
> for one line only - I need to be able to step through the lines and
> that is my current road block...
>
> - Neil
>
> From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On
> Behalf Of jckinneman
> Sent: Friday, 5 October 2012 10:15 PM
> To: vantage@yahoogroups.com
> Subject: [Vantage] Re: ttTables ...
>
>
> ttTables are used by the BPMs to work with the data from the
> associated physical tables. The ttTables may have fields (calculated)
> that do not exist in the physical tables and depending on the menu
> option there may not be an associated physical table. Time Phase
> Material is one example of a ttTable without a direct one to one connection to a physical table.
>
> The ttTables hold data for the methods to process. You can interact
> with that data in pre and post BPM processing. in pre processing you
> can change it before the method acts on the data. This would be the
> place to do validation (i.e. ensure a state code is correct). In post
> processing you can change the value before it is returned to the
> screen or do further processing based on the result of the method.
>
> Within the .net level (embedded customization) the data is held within
> the associated adapter's data-set. At that level the ttTables are not
> visible or accessible except through the data-set.
>
> Jim Kinneman
> Encompass Solutions, Inc
>
> --- In vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>,
> "nbuckman@...<mailto:nbuckman@...>"
> <nbuckman@...<mailto:nbuckman@...>>
> wrote:
> >
> >
> > Quick question...
> >
> > When I open, say, a PO with a number of lines and releases on it, is
> > all
> that data in the various tables - POHeader, PODetail, PORel etc
> loading into ttTables?
> >
> > - Neil
> >
>
> Notice:This e-mail and any attachments are confidential and are only
> for the use of the person to whom they are addressed. If you are not
> the intended recipient please advise the sender by return e-mail and
> delete the message and any attachments. Any use, interference with,
> disclosure or copying of this message or any attachments is unauthorised and prohibited.
> The sender does not warrant that the information is free of a virus or
> any other defect or error, and any views expressed herein, unless
> specifically indicated otherwise, are those of the individual sender.
>
> The DH Gibson Group of Companies - http://www.gibsonshopfitters.com.au
>
> P Please consider our shared environment before printing this
> communication.
>
> [Non-text portions of this message have been removed]
>
>
>


[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




Notice:This e-mail and any attachments are confidential and are only for the use of the person to whom they are addressed. If you are not the intended recipient please advise the sender by return e-mail and delete the message and any attachments. Any use, interference with, disclosure or copying of this message or any attachments is unauthorised and prohibited. The sender does not warrant that the information is free of a virus or any other defect or error, and any views expressed herein, unless specifically indicated otherwise, are those of the individual sender.

The DH Gibson Group of Companies - http://www.gibsonshopfitters.com.au

P Please consider our shared environment before printing this communication.
It looks to me like your code only executes when ttPOHeader has RowMod of U. It is most likely that only ttPOHeader has data in it at that point.



--- In vantage@yahoogroups.com, Neil Buckman <nbuckman@...> wrote:
>
> Thanks John for the encouragement to try again, but alas I cannot get it to work.
>
> My code is below. I had messages in it to tell me where it was going and basically it stops at the assignment below with the arrow (<===) on it. If I take that statement out it goes further but finds no ttPORel records.
>
> Any suggestions welcome...
>
> --------------------------------------------------------------------------------------------------------
> /*Add source code that should be executed before the designed actions here*/
> DEFINE VARIABLE NewDate AS DATE INITIAL ? NO-UNDO.
> DEFINE VARIABLE Coy AS CHARACTER INITIAL "" NO-UNDO.
> DEFINE VARIABLE PONUM AS INTEGER INITIAL 0 NO-UNDO.
> DEFINE VARIABLE POLINEN AS INTEGER INITIAL 0 NO-UNDO.
> DEFINE VARIABLE PORELN AS INTEGER INITIAL 0 NO-UNDO.
>
> For each ttPOHeader where (ttPOHeader.RowMod = "U" AND ttPOHeader.CheckBox01 = TRUE) no-lock:
> IF AVAILABLE ttPOHeader THEN DO:
> NewDate = ttPOHeader.Date01.
> COY = ttPOHeader.Company.
> PONUM = ttPOHeader.PONum.
> END.
> For each PORel where (PORel.Company = COY and PORel.PONum = PONUM ) no-lock:
> POLINEN = PORel.POLine.
> PORELN = PORel.PORelNum.
> PORel.DueDate = NewDate. /* <========*/
> Find First ttPORel where (ttPORel.Company = COY and ttPORel.PONum = PONUM and ttPORel.POLine = POLINEN and ttPORel.PORelNum = PORELN).
> IF Available ttPORel THEN ttPORel.DueDate = NewDate.
> End.
> End.
> {&CALL_DESIGNED_ACTIONS}
>
> /*Add source code that should be executed after the designed actions here*/
> --------------------------------------------------------------------------------------------------------
>
> - Neil
>
>
>
>
> -----Original Message-----
> From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of John Driggers
> Sent: Friday, 5 October 2012 11:49 PM
> To: vantage@yahoogroups.com
> Subject: Re: [Vantage] Re: ttTables ...
>
> You can do that via BPM. However you are right, the ttTables don't always contain ALL the records of the dataset.
>
> However, you can look up the actual PORel and edit it there. Something like:
>
> FOR EACH PORel WHERE PORel.PONum = <PO number>:
> FIND FIRST ttPORel WHERE <field = field>.
> IF AVAIL ttPOREL THEN
> <update ttPORel>
> ELSE
> <update PORel>
> END.
>
> *John Driggers*
> **
> *Chief Data Wrangler*
> *
> *
> *I have an Epicor blog <http://usdoingstuff.com/>. How useful is that?*
> *
> *:: 904.404.9233
> :: waffqle@...
> :: http://www.usdoingstuff.com <http://www.usdoingstuff.com/>
>
> *
>
> *
>
>
>
> On Fri, Oct 5, 2012 at 9:05 AM, Neil Buckman < nbuckman@...> wrote:
>
> > **
> >
> >
> > Thanks Jim,
> >
> > I am wanting to update the date on PO releases in a PO from a date
> > entered in a UD field on the header. I have tried a BPM but without
> > success (I think because all the PORel data is not in ttPORel - it is
> > already saved in the database.
> >
> > I am trying VB now, but struggling with that - I can do the releases
> > for one line only - I need to be able to step through the lines and
> > that is my current road block...
> >
> > - Neil
> >
> > From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On
> > Behalf Of jckinneman
> > Sent: Friday, 5 October 2012 10:15 PM
> > To: vantage@yahoogroups.com
> > Subject: [Vantage] Re: ttTables ...
> >
> >
> > ttTables are used by the BPMs to work with the data from the
> > associated physical tables. The ttTables may have fields (calculated)
> > that do not exist in the physical tables and depending on the menu
> > option there may not be an associated physical table. Time Phase
> > Material is one example of a ttTable without a direct one to one connection to a physical table.
> >
> > The ttTables hold data for the methods to process. You can interact
> > with that data in pre and post BPM processing. in pre processing you
> > can change it before the method acts on the data. This would be the
> > place to do validation (i.e. ensure a state code is correct). In post
> > processing you can change the value before it is returned to the
> > screen or do further processing based on the result of the method.
> >
> > Within the .net level (embedded customization) the data is held within
> > the associated adapter's data-set. At that level the ttTables are not
> > visible or accessible except through the data-set.
> >
> > Jim Kinneman
> > Encompass Solutions, Inc
> >
> > --- In vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>,
> > "nbuckman@<mailto:nbuckman@>"
> > <nbuckman@<mailto:nbuckman@>>
> > wrote:
> > >
> > >
> > > Quick question...
> > >
> > > When I open, say, a PO with a number of lines and releases on it, is
> > > all
> > that data in the various tables - POHeader, PODetail, PORel etc
> > loading into ttTables?
> > >
> > > - Neil
> > >
> >
> > Notice:This e-mail and any attachments are confidential and are only
> > for the use of the person to whom they are addressed. If you are not
> > the intended recipient please advise the sender by return e-mail and
> > delete the message and any attachments. Any use, interference with,
> > disclosure or copying of this message or any attachments is unauthorised and prohibited.
> > The sender does not warrant that the information is free of a virus or
> > any other defect or error, and any views expressed herein, unless
> > specifically indicated otherwise, are those of the individual sender.
> >
> > The DH Gibson Group of Companies - http://www.gibsonshopfitters.com.au
> >
> > P Please consider our shared environment before printing this
> > communication.
> >
> > [Non-text portions of this message have been removed]
> >
> >
> >
>
>
> [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
>
>
>
>
> Notice:This e-mail and any attachments are confidential and are only for the use of the person to whom they are addressed. If you are not the intended recipient please advise the sender by return e-mail and delete the message and any attachments. Any use, interference with, disclosure or copying of this message or any attachments is unauthorised and prohibited. The sender does not warrant that the information is free of a virus or any other defect or error, and any views expressed herein, unless specifically indicated otherwise, are those of the individual sender.
>
> The DH Gibson Group of Companies - http://www.gibsonshopfitters.com.au
>
> P Please consider our shared environment before printing this communication.
>
You really can't update the PORel in the way you have written this.
To update the PORel, you either have to find each ttPOrel, the look up the related POheader (not ttPOhed) then make the rel date in POREl = the Date1 in POHeader.

This assumes that you will first enter and save the Date1 in POHeader and then create the lines and releases.

That code may look like this:


Find First ttPORel where ttPORel.rowmod="A" or ttporel.Rowmod="U" no-lock no-error.
if available ttporel then do:
find first poheader where poheader.company = ttporel.company and
poheader.ponum = ttporel.ponum no-lock no-error.
if available poheader then ttporel.duedate=poheader.date1.
end. /* ends ttporel find */


--- In vantage@yahoogroups.com, Neil Buckman <nbuckman@...> wrote:
>
> Thanks John for the encouragement to try again, but alas I cannot get it to work.
>
> My code is below. I had messages in it to tell me where it was going and basically it stops at the assignment below with the arrow (<===) on it. If I take that statement out it goes further but finds no ttPORel records.
>
> Any suggestions welcome...
>
> --------------------------------------------------------------------------------------------------------
> /*Add source code that should be executed before the designed actions here*/
> DEFINE VARIABLE NewDate AS DATE INITIAL ? NO-UNDO.
> DEFINE VARIABLE Coy AS CHARACTER INITIAL "" NO-UNDO.
> DEFINE VARIABLE PONUM AS INTEGER INITIAL 0 NO-UNDO.
> DEFINE VARIABLE POLINEN AS INTEGER INITIAL 0 NO-UNDO.
> DEFINE VARIABLE PORELN AS INTEGER INITIAL 0 NO-UNDO.
>
> For each ttPOHeader where (ttPOHeader.RowMod = "U" AND ttPOHeader.CheckBox01 = TRUE) no-lock:
> IF AVAILABLE ttPOHeader THEN DO:
> NewDate = ttPOHeader.Date01.
> COY = ttPOHeader.Company.
> PONUM = ttPOHeader.PONum.
> END.
> For each PORel where (PORel.Company = COY and PORel.PONum = PONUM ) no-lock:
> POLINEN = PORel.POLine.
> PORELN = PORel.PORelNum.
> PORel.DueDate = NewDate. /* <========*/
> Find First ttPORel where (ttPORel.Company = COY and ttPORel.PONum = PONUM and ttPORel.POLine = POLINEN and ttPORel.PORelNum = PORELN).
> IF Available ttPORel THEN ttPORel.DueDate = NewDate.
> End.
> End.
> {&CALL_DESIGNED_ACTIONS}
>
> /*Add source code that should be executed after the designed actions here*/
> --------------------------------------------------------------------------------------------------------
>
> - Neil
>
>
>
>
> -----Original Message-----
> From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of John Driggers
> Sent: Friday, 5 October 2012 11:49 PM
> To: vantage@yahoogroups.com
> Subject: Re: [Vantage] Re: ttTables ...
>
> You can do that via BPM. However you are right, the ttTables don't always contain ALL the records of the dataset.
>
> However, you can look up the actual PORel and edit it there. Something like:
>
> FOR EACH PORel WHERE PORel.PONum = <PO number>:
> FIND FIRST ttPORel WHERE <field = field>.
> IF AVAIL ttPOREL THEN
> <update ttPORel>
> ELSE
> <update PORel>
> END.
>
> *John Driggers*
> **
> *Chief Data Wrangler*
> *
> *
> *I have an Epicor blog <http://usdoingstuff.com/>. How useful is that?*
> *
> *:: 904.404.9233
> :: waffqle@...
> :: http://www.usdoingstuff.com <http://www.usdoingstuff.com/>
>
> *
>
> *
>
>
>
> On Fri, Oct 5, 2012 at 9:05 AM, Neil Buckman < nbuckman@...> wrote:
>
> > **
> >
> >
> > Thanks Jim,
> >
> > I am wanting to update the date on PO releases in a PO from a date
> > entered in a UD field on the header. I have tried a BPM but without
> > success (I think because all the PORel data is not in ttPORel - it is
> > already saved in the database.
> >
> > I am trying VB now, but struggling with that - I can do the releases
> > for one line only - I need to be able to step through the lines and
> > that is my current road block...
> >
> > - Neil
> >
> > From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On
> > Behalf Of jckinneman
> > Sent: Friday, 5 October 2012 10:15 PM
> > To: vantage@yahoogroups.com
> > Subject: [Vantage] Re: ttTables ...
> >
> >
> > ttTables are used by the BPMs to work with the data from the
> > associated physical tables. The ttTables may have fields (calculated)
> > that do not exist in the physical tables and depending on the menu
> > option there may not be an associated physical table. Time Phase
> > Material is one example of a ttTable without a direct one to one connection to a physical table.
> >
> > The ttTables hold data for the methods to process. You can interact
> > with that data in pre and post BPM processing. in pre processing you
> > can change it before the method acts on the data. This would be the
> > place to do validation (i.e. ensure a state code is correct). In post
> > processing you can change the value before it is returned to the
> > screen or do further processing based on the result of the method.
> >
> > Within the .net level (embedded customization) the data is held within
> > the associated adapter's data-set. At that level the ttTables are not
> > visible or accessible except through the data-set.
> >
> > Jim Kinneman
> > Encompass Solutions, Inc
> >
> > --- In vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>,
> > "nbuckman@<mailto:nbuckman@>"
> > <nbuckman@<mailto:nbuckman@>>
> > wrote:
> > >
> > >
> > > Quick question...
> > >
> > > When I open, say, a PO with a number of lines and releases on it, is
> > > all
> > that data in the various tables - POHeader, PODetail, PORel etc
> > loading into ttTables?
> > >
> > > - Neil
> > >
> >
> > Notice:This e-mail and any attachments are confidential and are only
> > for the use of the person to whom they are addressed. If you are not
> > the intended recipient please advise the sender by return e-mail and
> > delete the message and any attachments. Any use, interference with,
> > disclosure or copying of this message or any attachments is unauthorised and prohibited.
> > The sender does not warrant that the information is free of a virus or
> > any other defect or error, and any views expressed herein, unless
> > specifically indicated otherwise, are those of the individual sender.
> >
> > The DH Gibson Group of Companies - http://www.gibsonshopfitters.com.au
> >
> > P Please consider our shared environment before printing this
> > communication.
> >
> > [Non-text portions of this message have been removed]
> >
> >
> >
>
>
> [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
>
>
>
>
> Notice:This e-mail and any attachments are confidential and are only for the use of the person to whom they are addressed. If you are not the intended recipient please advise the sender by return e-mail and delete the message and any attachments. Any use, interference with, disclosure or copying of this message or any attachments is unauthorised and prohibited. The sender does not warrant that the information is free of a virus or any other defect or error, and any views expressed herein, unless specifically indicated otherwise, are those of the individual sender.
>
> The DH Gibson Group of Companies - http://www.gibsonshopfitters.com.au
>
> P Please consider our shared environment before printing this communication.
>
Thanks Carl and "bwalker" for your replies,

Yes the problem is no ttPORel data to work with. The idea is that the user, having already created a PO with lots of lines wants to change the release date on all of them in one go. So a date field on the header and a checkbox to say do it seemed like a good idea. I was hoping that a BPM run at pre-update time could change all the PORel data and any existing ttPORel at the same time, but it seems that there is some special trick to changing PORel (as opposed to ttPORel)...

- Neil


From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of carl.heeder
Sent: Sunday, 7 October 2012 3:46 AM
To: vantage@yahoogroups.com
Subject: [Vantage] Re: ttTables ...



You really can't update the PORel in the way you have written this.
To update the PORel, you either have to find each ttPOrel, the look up the related POheader (not ttPOhed) then make the rel date in POREl = the Date1 in POHeader.

This assumes that you will first enter and save the Date1 in POHeader and then create the lines and releases.

That code may look like this:

Find First ttPORel where ttPORel.rowmod="A" or ttporel.Rowmod="U" no-lock no-error.
if available ttporel then do:
find first poheader where poheader.company = ttporel.company and
poheader.ponum = ttporel.ponum no-lock no-error.
if available poheader then ttporel.duedate=poheader.date1.
end. /* ends ttporel find */

--- In vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>, Neil Buckman <nbuckman@...<mailto:nbuckman@...>> wrote:
>
> Thanks John for the encouragement to try again, but alas I cannot get it to work.
>
> My code is below. I had messages in it to tell me where it was going and basically it stops at the assignment below with the arrow (<===) on it. If I take that statement out it goes further but finds no ttPORel records.
>
> Any suggestions welcome...
>
> ----------------------------------------------------------
> /*Add source code that should be executed before the designed actions here*/
> DEFINE VARIABLE NewDate AS DATE INITIAL ? NO-UNDO.
> DEFINE VARIABLE Coy AS CHARACTER INITIAL "" NO-UNDO.
> DEFINE VARIABLE PONUM AS INTEGER INITIAL 0 NO-UNDO.
> DEFINE VARIABLE POLINEN AS INTEGER INITIAL 0 NO-UNDO.
> DEFINE VARIABLE PORELN AS INTEGER INITIAL 0 NO-UNDO.
>
> For each ttPOHeader where (ttPOHeader.RowMod = "U" AND ttPOHeader.CheckBox01 = TRUE) no-lock:
> IF AVAILABLE ttPOHeader THEN DO:
> NewDate = ttPOHeader.Date01.
> COY = ttPOHeader.Company.
> PONUM = ttPOHeader.PONum.
> END.
> For each PORel where (PORel.Company = COY and PORel.PONum = PONUM ) no-lock:
> POLINEN = PORel.POLine.
> PORELN = PORel.PORelNum.
> PORel.DueDate = NewDate. /* <========*/
> Find First ttPORel where (ttPORel.Company = COY and ttPORel.PONum = PONUM and ttPORel.POLine = POLINEN and ttPORel.PORelNum = PORELN).
> IF Available ttPORel THEN ttPORel.DueDate = NewDate.
> End.
> End.
> {&CALL_DESIGNED_ACTIONS}
>
> /*Add source code that should be executed after the designed actions here*/
> ----------------------------------------------------------
>
> - Neil
>
>
>
>
> -----Original Message-----
> From: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com> [mailto:vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>] On Behalf Of John Driggers
> Sent: Friday, 5 October 2012 11:49 PM
> To: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>
> Subject: Re: [Vantage] Re: ttTables ...
>
> You can do that via BPM. However you are right, the ttTables don't always contain ALL the records of the dataset.
>
> However, you can look up the actual PORel and edit it there. Something like:
>
> FOR EACH PORel WHERE PORel.PONum = <PO number>:
> FIND FIRST ttPORel WHERE <field = field>.
> IF AVAIL ttPOREL THEN
> <update ttPORel>
> ELSE
> <update PORel>
> END.
>
> *John Driggers*
> **
> *Chief Data Wrangler*
> *
> *
> *I have an Epicor blog <http://usdoingstuff.com/>. How useful is that?*
> *
> *:: 904.404.9233
> :: waffqle@...
> :: http://www.usdoingstuff.com <http://www.usdoingstuff.com/>
>
> *
>
> *
>
>
>
> On Fri, Oct 5, 2012 at 9:05 AM, Neil Buckman < nbuckman@...> wrote:
>
> > **
> >
> >
> > Thanks Jim,
> >
> > I am wanting to update the date on PO releases in a PO from a date
> > entered in a UD field on the header. I have tried a BPM but without
> > success (I think because all the PORel data is not in ttPORel - it is
> > already saved in the database.
> >
> > I am trying VB now, but struggling with that - I can do the releases
> > for one line only - I need to be able to step through the lines and
> > that is my current road block...
> >
> > - Neil
> >
> > From: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com> [mailto:vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>] On
> > Behalf Of jckinneman
> > Sent: Friday, 5 October 2012 10:15 PM
> > To: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>
> > Subject: [Vantage] Re: ttTables ...
> >
> >
> > ttTables are used by the BPMs to work with the data from the
> > associated physical tables. The ttTables may have fields (calculated)
> > that do not exist in the physical tables and depending on the menu
> > option there may not be an associated physical table. Time Phase
> > Material is one example of a ttTable without a direct one to one connection to a physical table.
> >
> > The ttTables hold data for the methods to process. You can interact
> > with that data in pre and post BPM processing. in pre processing you
> > can change it before the method acts on the data. This would be the
> > place to do validation (i.e. ensure a state code is correct). In post
> > processing you can change the value before it is returned to the
> > screen or do further processing based on the result of the method.
> >
> > Within the .net level (embedded customization) the data is held within
> > the associated adapter's data-set. At that level the ttTables are not
> > visible or accessible except through the data-set.
> >
> > Jim Kinneman
> > Encompass Solutions, Inc
> >
> > --- In vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>,
> > "nbuckman@<mailto:nbuckman@>"
> > <nbuckman@<mailto:nbuckman@>>
> > wrote:
> > >
> > >
> > > Quick question...
> > >
> > > When I open, say, a PO with a number of lines and releases on it, is
> > > all
> > that data in the various tables - POHeader, PODetail, PORel etc
> > loading into ttTables?
> > >
> > > - Neil
> > >
> >
> > Notice:This e-mail and any attachments are confidential and are only
> > for the use of the person to whom they are addressed. If you are not
> > the intended recipient please advise the sender by return e-mail and
> > delete the message and any attachments. Any use, interference with,
> > disclosure or copying of this message or any attachments is unauthorised and prohibited.
> > The sender does not warrant that the information is free of a virus or
> > any other defect or error, and any views expressed herein, unless
> > specifically indicated otherwise, are those of the individual sender.
> >
> > The DH Gibson Group of Companies - http://www.gibsonshopfitters.com.au
> >
> > P Please consider our shared environment before printing this
> > communication.
> >
> > [Non-text portions of this message have been removed]
> >
> >
> >
>
>
> [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/.<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
>
>
>
>
> Notice:This e-mail and any attachments are confidential and are only for the use of the person to whom they are addressed. If you are not the intended recipient please advise the sender by return e-mail and delete the message and any attachments. Any use, interference with, disclosure or copying of this message or any attachments is unauthorised and prohibited. The sender does not warrant that the information is free of a virus or any other defect or error, and any views expressed herein, unless specifically indicated otherwise, are those of the individual sender.
>
> The DH Gibson Group of Companies - http://www.gibsonshopfitters.com.au
>
> P Please consider our shared environment before printing this communication.
>



[Non-text portions of this message have been removed]
Have you turned on Trace Log and seen what data-sets are being passed around along with which methods are being called? There might be several intermediary methods that might present an opportunity. It will also show you what data you have available when.

One thing to watch out for when updating tables, if at all possible update the TT tables. If you update the physical table you run the probably risk of the "row has been modified by someone else" type message forcing the user to do a refresh.

While BPMs are the ideal place to do most things like this, falling back to embedded is something to consider.

You might also look at data directives, they work similar to BPMS but trigger based on data changes not methods.

Jim Kinneman
Encompass Solutions, Inc.

--- In vantage@yahoogroups.com, Neil Buckman <nbuckman@...> wrote:
>
> Thanks Carl and "bwalker" for your replies,
>
> Yes the problem is no ttPORel data to work with. The idea is that the user, having already created a PO with lots of lines wants to change the release date on all of them in one go. So a date field on the header and a checkbox to say do it seemed like a good idea. I was hoping that a BPM run at pre-update time could change all the PORel data and any existing ttPORel at the same time, but it seems that there is some special trick to changing PORel (as opposed to ttPORel)...
>
> - Neil
>
>
> From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of carl.heeder
> Sent: Sunday, 7 October 2012 3:46 AM
> To: vantage@yahoogroups.com
> Subject: [Vantage] Re: ttTables ...
>
>
>
> You really can't update the PORel in the way you have written this.
> To update the PORel, you either have to find each ttPOrel, the look up the related POheader (not ttPOhed) then make the rel date in POREl = the Date1 in POHeader.
>
> This assumes that you will first enter and save the Date1 in POHeader and then create the lines and releases.
>
> That code may look like this:
>
> Find First ttPORel where ttPORel.rowmod="A" or ttporel.Rowmod="U" no-lock no-error.
> if available ttporel then do:
> find first poheader where poheader.company = ttporel.company and
> poheader.ponum = ttporel.ponum no-lock no-error.
> if available poheader then ttporel.duedate=poheader.date1.
> end. /* ends ttporel find */
>
> --- In vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>, Neil Buckman <nbuckman@<mailto:nbuckman@>> wrote:
> >
> > Thanks John for the encouragement to try again, but alas I cannot get it to work.
> >
> > My code is below. I had messages in it to tell me where it was going and basically it stops at the assignment below with the arrow (<===) on it. If I take that statement out it goes further but finds no ttPORel records.
> >
> > Any suggestions welcome...
> >
> > ----------------------------------------------------------
> > /*Add source code that should be executed before the designed actions here*/
> > DEFINE VARIABLE NewDate AS DATE INITIAL ? NO-UNDO.
> > DEFINE VARIABLE Coy AS CHARACTER INITIAL "" NO-UNDO.
> > DEFINE VARIABLE PONUM AS INTEGER INITIAL 0 NO-UNDO.
> > DEFINE VARIABLE POLINEN AS INTEGER INITIAL 0 NO-UNDO.
> > DEFINE VARIABLE PORELN AS INTEGER INITIAL 0 NO-UNDO.
> >
> > For each ttPOHeader where (ttPOHeader.RowMod = "U" AND ttPOHeader.CheckBox01 = TRUE) no-lock:
> > IF AVAILABLE ttPOHeader THEN DO:
> > NewDate = ttPOHeader.Date01.
> > COY = ttPOHeader.Company.
> > PONUM = ttPOHeader.PONum.
> > END.
> > For each PORel where (PORel.Company = COY and PORel.PONum = PONUM ) no-lock:
> > POLINEN = PORel.POLine.
> > PORELN = PORel.PORelNum.
> > PORel.DueDate = NewDate. /* <========*/
> > Find First ttPORel where (ttPORel.Company = COY and ttPORel.PONum = PONUM and ttPORel.POLine = POLINEN and ttPORel.PORelNum = PORELN).
> > IF Available ttPORel THEN ttPORel.DueDate = NewDate.
> > End.
> > End.
> > {&CALL_DESIGNED_ACTIONS}
> >
> > /*Add source code that should be executed after the designed actions here*/
> > ----------------------------------------------------------
> >
> > - Neil
> >
> >
> >
> >
> > -----Original Message-----
> > From: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com> [mailto:vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>] On Behalf Of John Driggers
> > Sent: Friday, 5 October 2012 11:49 PM
> > To: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>
> > Subject: Re: [Vantage] Re: ttTables ...
> >
> > You can do that via BPM. However you are right, the ttTables don't always contain ALL the records of the dataset.
> >
> > However, you can look up the actual PORel and edit it there. Something like:
> >
> > FOR EACH PORel WHERE PORel.PONum = <PO number>:
> > FIND FIRST ttPORel WHERE <field = field>.
> > IF AVAIL ttPOREL THEN
> > <update ttPORel>
> > ELSE
> > <update PORel>
> > END.
> >
> > *John Driggers*
> > **
> > *Chief Data Wrangler*
> > *
> > *
> > *I have an Epicor blog <http://usdoingstuff.com/>. How useful is that?*
> > *
> > *:: 904.404.9233
> > :: waffqle@
> > :: http://www.usdoingstuff.com <http://www.usdoingstuff.com/>
> >
> > *
> >
> > *
> >
> >
> >
> > On Fri, Oct 5, 2012 at 9:05 AM, Neil Buckman < nbuckman@> wrote:
> >
> > > **
> > >
> > >
> > > Thanks Jim,
> > >
> > > I am wanting to update the date on PO releases in a PO from a date
> > > entered in a UD field on the header. I have tried a BPM but without
> > > success (I think because all the PORel data is not in ttPORel - it is
> > > already saved in the database.
> > >
> > > I am trying VB now, but struggling with that - I can do the releases
> > > for one line only - I need to be able to step through the lines and
> > > that is my current road block...
> > >
> > > - Neil
> > >
> > > From: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com> [mailto:vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>] On
> > > Behalf Of jckinneman
> > > Sent: Friday, 5 October 2012 10:15 PM
> > > To: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>
> > > Subject: [Vantage] Re: ttTables ...
> > >
> > >
> > > ttTables are used by the BPMs to work with the data from the
> > > associated physical tables. The ttTables may have fields (calculated)
> > > that do not exist in the physical tables and depending on the menu
> > > option there may not be an associated physical table. Time Phase
> > > Material is one example of a ttTable without a direct one to one connection to a physical table.
> > >
> > > The ttTables hold data for the methods to process. You can interact
> > > with that data in pre and post BPM processing. in pre processing you
> > > can change it before the method acts on the data. This would be the
> > > place to do validation (i.e. ensure a state code is correct). In post
> > > processing you can change the value before it is returned to the
> > > screen or do further processing based on the result of the method.
> > >
> > > Within the .net level (embedded customization) the data is held within
> > > the associated adapter's data-set. At that level the ttTables are not
> > > visible or accessible except through the data-set.
> > >
> > > Jim Kinneman
> > > Encompass Solutions, Inc
> > >
> > > --- In vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>,
> > > "nbuckman@<mailto:nbuckman@>"
> > > <nbuckman@<mailto:nbuckman@>>
> > > wrote:
> > > >
> > > >
> > > > Quick question...
> > > >
> > > > When I open, say, a PO with a number of lines and releases on it, is
> > > > all
> > > that data in the various tables - POHeader, PODetail, PORel etc
> > > loading into ttTables?
> > > >
> > > > - Neil
> > > >
> > >
> > > Notice:This e-mail and any attachments are confidential and are only
> > > for the use of the person to whom they are addressed. If you are not
> > > the intended recipient please advise the sender by return e-mail and
> > > delete the message and any attachments. Any use, interference with,
> > > disclosure or copying of this message or any attachments is unauthorised and prohibited.
> > > The sender does not warrant that the information is free of a virus or
> > > any other defect or error, and any views expressed herein, unless
> > > specifically indicated otherwise, are those of the individual sender.
> > >
> > > The DH Gibson Group of Companies - http://www.gibsonshopfitters.com.au
> > >
> > > P Please consider our shared environment before printing this
> > > communication.
> > >
> > > [Non-text portions of this message have been removed]
> > >
> > >
> > >
> >
> >
> > [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/.<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
> >
> >
> >
> >
> > Notice:This e-mail and any attachments are confidential and are only for the use of the person to whom they are addressed. If you are not the intended recipient please advise the sender by return e-mail and delete the message and any attachments. Any use, interference with, disclosure or copying of this message or any attachments is unauthorised and prohibited. The sender does not warrant that the information is free of a virus or any other defect or error, and any views expressed herein, unless specifically indicated otherwise, are those of the individual sender.
> >
> > The DH Gibson Group of Companies - http://www.gibsonshopfitters.com.au
> >
> > P Please consider our shared environment before printing this communication.
> >
>
>
>
> [Non-text portions of this message have been removed]
>
Thanks Jim,

Good advice, and I will follow it up.

- Neil


From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of jckinneman
Sent: Monday, 8 October 2012 4:05 AM
To: vantage@yahoogroups.com
Subject: [Vantage] Re: ttTables ...



Have you turned on Trace Log and seen what data-sets are being passed around along with which methods are being called? There might be several intermediary methods that might present an opportunity. It will also show you what data you have available when.

One thing to watch out for when updating tables, if at all possible update the TT tables. If you update the physical table you run the probably risk of the "row has been modified by someone else" type message forcing the user to do a refresh.

While BPMs are the ideal place to do most things like this, falling back to embedded is something to consider.

You might also look at data directives, they work similar to BPMS but trigger based on data changes not methods.

Jim Kinneman
Encompass Solutions, Inc.

--- In vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>, Neil Buckman <nbuckman@...<mailto:nbuckman@...>> wrote:
>
> Thanks Carl and "bwalker" for your replies,
>
> Yes the problem is no ttPORel data to work with. The idea is that the user, having already created a PO with lots of lines wants to change the release date on all of them in one go. So a date field on the header and a checkbox to say do it seemed like a good idea. I was hoping that a BPM run at pre-update time could change all the PORel data and any existing ttPORel at the same time, but it seems that there is some special trick to changing PORel (as opposed to ttPORel)...
>
> - Neil
>
>
> From: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com> [mailto:vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>] On Behalf Of carl.heeder
> Sent: Sunday, 7 October 2012 3:46 AM
> To: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>
> Subject: [Vantage] Re: ttTables ...
>
>
>
> You really can't update the PORel in the way you have written this.
> To update the PORel, you either have to find each ttPOrel, the look up the related POheader (not ttPOhed) then make the rel date in POREl = the Date1 in POHeader.
>
> This assumes that you will first enter and save the Date1 in POHeader and then create the lines and releases.
>
> That code may look like this:
>
> Find First ttPORel where ttPORel.rowmod="A" or ttporel.Rowmod="U" no-lock no-error.
> if available ttporel then do:
> find first poheader where poheader.company = ttporel.company and
> poheader.ponum = ttporel.ponum no-lock no-error.
> if available poheader then ttporel.duedate=poheader.date1.
> end. /* ends ttporel find */
>
> --- In vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>, Neil Buckman <nbuckman@<mailto:nbuckman@>> wrote:
> >
> > Thanks John for the encouragement to try again, but alas I cannot get it to work.
> >
> > My code is below. I had messages in it to tell me where it was going and basically it stops at the assignment below with the arrow (<===) on it. If I take that statement out it goes further but finds no ttPORel records.
> >
> > Any suggestions welcome...
> >
> > ----------------------------------------------------------
> > /*Add source code that should be executed before the designed actions here*/
> > DEFINE VARIABLE NewDate AS DATE INITIAL ? NO-UNDO.
> > DEFINE VARIABLE Coy AS CHARACTER INITIAL "" NO-UNDO.
> > DEFINE VARIABLE PONUM AS INTEGER INITIAL 0 NO-UNDO.
> > DEFINE VARIABLE POLINEN AS INTEGER INITIAL 0 NO-UNDO.
> > DEFINE VARIABLE PORELN AS INTEGER INITIAL 0 NO-UNDO.
> >
> > For each ttPOHeader where (ttPOHeader.RowMod = "U" AND ttPOHeader.CheckBox01 = TRUE) no-lock:
> > IF AVAILABLE ttPOHeader THEN DO:
> > NewDate = ttPOHeader.Date01.
> > COY = ttPOHeader.Company.
> > PONUM = ttPOHeader.PONum.
> > END.
> > For each PORel where (PORel.Company = COY and PORel.PONum = PONUM ) no-lock:
> > POLINEN = PORel.POLine.
> > PORELN = PORel.PORelNum.
> > PORel.DueDate = NewDate. /* <========*/
> > Find First ttPORel where (ttPORel.Company = COY and ttPORel.PONum = PONUM and ttPORel.POLine = POLINEN and ttPORel.PORelNum = PORELN).
> > IF Available ttPORel THEN ttPORel.DueDate = NewDate.
> > End.
> > End.
> > {&CALL_DESIGNED_ACTIONS}
> >
> > /*Add source code that should be executed after the designed actions here*/
> > ----------------------------------------------------------
> >
> > - Neil
> >
> >
> >
> >
> > -----Original Message-----
> > From: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com> [mailto:vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>] On Behalf Of John Driggers
> > Sent: Friday, 5 October 2012 11:49 PM
> > To: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>
> > Subject: Re: [Vantage] Re: ttTables ...
> >
> > You can do that via BPM. However you are right, the ttTables don't always contain ALL the records of the dataset.
> >
> > However, you can look up the actual PORel and edit it there. Something like:
> >
> > FOR EACH PORel WHERE PORel.PONum = <PO number>:
> > FIND FIRST ttPORel WHERE <field = field>.
> > IF AVAIL ttPOREL THEN
> > <update ttPORel>
> > ELSE
> > <update PORel>
> > END.
> >
> > *John Driggers*
> > **
> > *Chief Data Wrangler*
> > *
> > *
> > *I have an Epicor blog <http://usdoingstuff.com/>. How useful is that?*
> > *
> > *:: 904.404.9233
> > :: waffqle@
> > :: http://www.usdoingstuff.com <http://www.usdoingstuff.com/>
> >
> > *
> >
> > *
> >
> >
> >
> > On Fri, Oct 5, 2012 at 9:05 AM, Neil Buckman < nbuckman@> wrote:
> >
> > > **
> > >
> > >
> > > Thanks Jim,
> > >
> > > I am wanting to update the date on PO releases in a PO from a date
> > > entered in a UD field on the header. I have tried a BPM but without
> > > success (I think because all the PORel data is not in ttPORel - it is
> > > already saved in the database.
> > >
> > > I am trying VB now, but struggling with that - I can do the releases
> > > for one line only - I need to be able to step through the lines and
> > > that is my current road block...
> > >
> > > - Neil
> > >
> > > From: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com> [mailto:vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>] On
> > > Behalf Of jckinneman
> > > Sent: Friday, 5 October 2012 10:15 PM
> > > To: vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>
> > > Subject: [Vantage] Re: ttTables ...
> > >
> > >
> > > ttTables are used by the BPMs to work with the data from the
> > > associated physical tables. The ttTables may have fields (calculated)
> > > that do not exist in the physical tables and depending on the menu
> > > option there may not be an associated physical table. Time Phase
> > > Material is one example of a ttTable without a direct one to one connection to a physical table.
> > >
> > > The ttTables hold data for the methods to process. You can interact
> > > with that data in pre and post BPM processing. in pre processing you
> > > can change it before the method acts on the data. This would be the
> > > place to do validation (i.e. ensure a state code is correct). In post
> > > processing you can change the value before it is returned to the
> > > screen or do further processing based on the result of the method.
> > >
> > > Within the .net level (embedded customization) the data is held within
> > > the associated adapter's data-set. At that level the ttTables are not
> > > visible or accessible except through the data-set.
> > >
> > > Jim Kinneman
> > > Encompass Solutions, Inc
> > >
> > > --- In vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>,
> > > "nbuckman@<mailto:nbuckman@>"
> > > <nbuckman@<mailto:nbuckman@>>
> > > wrote:
> > > >
> > > >
> > > > Quick question...
> > > >
> > > > When I open, say, a PO with a number of lines and releases on it, is
> > > > all
> > > that data in the various tables - POHeader, PODetail, PORel etc
> > > loading into ttTables?
> > > >
> > > > - Neil
> > > >
> > >
> > > Notice:This e-mail and any attachments are confidential and are only
> > > for the use of the person to whom they are addressed. If you are not
> > > the intended recipient please advise the sender by return e-mail and
> > > delete the message and any attachments. Any use, interference with,
> > > disclosure or copying of this message or any attachments is unauthorised and prohibited.
> > > The sender does not warrant that the information is free of a virus or
> > > any other defect or error, and any views expressed herein, unless
> > > specifically indicated otherwise, are those of the individual sender.
> > >
> > > The DH Gibson Group of Companies - http://www.gibsonshopfitters.com.au
> > >
> > > P Please consider our shared environment before printing this
> > > communication.
> > >
> > > [Non-text portions of this message have been removed]
> > >
> > >
> > >
> >
> >
> > [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/.<http://groups.yahoo.com/group/vantage/files/><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
> >
> >
> >
> >
> > Notice:This e-mail and any attachments are confidential and are only for the use of the person to whom they are addressed. If you are not the intended recipient please advise the sender by return e-mail and delete the message and any attachments. Any use, interference with, disclosure or copying of this message or any attachments is unauthorised and prohibited. The sender does not warrant that the information is free of a virus or any other defect or error, and any views expressed herein, unless specifically indicated otherwise, are those of the individual sender.
> >
> > The DH Gibson Group of Companies - http://www.gibsonshopfitters.com.au
> >
> > P Please consider our shared environment before printing this communication.
> >
>
>
>
> [Non-text portions of this message have been removed]
>



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