BPM & 4GL Blank Title 71568

Yes. All modern, scalable multi user systems tend to use temp tables in the client to improve perceived UI response time & keep control of when 'real' table records are written.

It's not a new concept as even word processors and spreadsheet apps in the 80's quickly adopted it so only visible (cells in a spreadsheet for instance) would be immediately updated to reflect a formula recalc (with the others awaiting less intrusive time via background processing). - THEN the apps would update the 'real' data layer (that you would ultimately save).

This fact is one of the three big selling points of BPM over client VB (behavior modifying) customization. BPMs can be triggered by tt (temp) table events whereas as VB customizations generally cannot. (You can trick VB into effectively supporting this but it is a pain and adds yet more app slowing code).

Rob



--- On Fri, 12/5/08, Bill Jackson <fujijapman@...> wrote:
From: Bill Jackson <fujijapman@...>
Subject: Re: [Vantage] BPM & 4GL
To: vantage@yahoogroups.com
Date: Friday, December 5, 2008, 8:39 AM











 Would there be a 'temp table' (ttPart) being used by Vantage when revising parameters for an 'Existing' part?

I'd have to guess it has something to do with 'creating' a new Part vs updating an existing Part.



____________ _________ _________ __

From: jplehr <jlehr@astromfg. com>

To: vantage@yahoogroups .com

Sent: Wednesday, December 3, 2008 2:27:05 PM

Subject: [Vantage] BPM & 4GL



Vantage 8.03.406



Looking for a little help. Thought this was an easy one but it

doesn't seem to fire exactly how I thought.



I want to assign a Material Burden % to 'Purchased' part types. I

also want to make sure that 'Manufactured' part types remain at 0. I

have set up a Pre-processing BPM. Below is the 4GL I am running...



For each ttPart where (ttPart.RowMod = 'A' or ttPart.RowMod = 'U' and

ttPart.TypeCode = 'M') no-lock:

Assign ttPart.MtlBurRate = 0.

End.

For each ttPart where (ttPart.RowMod = 'A' or ttPart.RowMod = 'U' and

ttPart.TypeCode = 'P') no-lock:

Assign ttPart.MtlBurRate = 20.

End.



This works when entering a new 'Purchased' part. This works when

entering a new 'Manufactured' part. This works when changing

a 'Manufactured' part to 'Purchased'. It DOES NOT work when changing

from 'Purchased' to 'Manufactured' .



Thoughts?



Jeff



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

Looking for a little help. Thought this was an easy one but it
doesn't seem to fire exactly how I thought.

I want to assign a Material Burden % to 'Purchased' part types. I
also want to make sure that 'Manufactured' part types remain at 0. I
have set up a Pre-processing BPM. Below is the 4GL I am running...

For each ttPart where (ttPart.RowMod = 'A' or ttPart.RowMod = 'U' and
ttPart.TypeCode = 'M') no-lock:
Assign ttPart.MtlBurRate = 0.
End.
For each ttPart where (ttPart.RowMod = 'A' or ttPart.RowMod = 'U' and
ttPart.TypeCode = 'P') no-lock:
Assign ttPart.MtlBurRate = 20.
End.

This works when entering a new 'Purchased' part. This works when
entering a new 'Manufactured' part. This works when changing
a 'Manufactured' part to 'Purchased'. It DOES NOT work when changing
from 'Purchased' to 'Manufactured'.

Thoughts?

Jeff
Try changing it from pre-processing to post-processing.


--- In vantage@yahoogroups.com, "jplehr" <jlehr@...> wrote:
>
> Vantage 8.03.406
>
> Looking for a little help. Thought this was an easy one but it
> doesn't seem to fire exactly how I thought.
>
> I want to assign a Material Burden % to 'Purchased' part types. I
> also want to make sure that 'Manufactured' part types remain at 0.
I
> have set up a Pre-processing BPM. Below is the 4GL I am running...
>
> For each ttPart where (ttPart.RowMod = 'A' or ttPart.RowMod = 'U'
and
> ttPart.TypeCode = 'M') no-lock:
> Assign ttPart.MtlBurRate = 0.
> End.
> For each ttPart where (ttPart.RowMod = 'A' or ttPart.RowMod = 'U'
and
> ttPart.TypeCode = 'P') no-lock:
> Assign ttPart.MtlBurRate = 20.
> End.
>
> This works when entering a new 'Purchased' part. This works when
> entering a new 'Manufactured' part. This works when changing
> a 'Manufactured' part to 'Purchased'. It DOES NOT work when
changing
> from 'Purchased' to 'Manufactured'.
>
> Thoughts?
>
> Jeff
>
Nigel,

The Post-processing didn't fire at all. But, after disabling
the 'Post' and re-enabling the 'Pre' it worked as planned. Maybe it
is one of those 'save - change - save and enable/disable and save
again things. Although, I don't know why part of it worked earlier.
You would think it would be all or nothing.

Anyway, it worked again in my test so I took it live. I setup an
email to see if I can track if it is working or not at the time it
fires.

If there is anything I can watch for please let me know.

Thanks,
Jeff
--- In vantage@yahoogroups.com, "Nigel Kerley" <nigel.kerley@...>
wrote:
>
> Try changing it from pre-processing to post-processing.
>
>
> --- In vantage@yahoogroups.com, "jplehr" <jlehr@> wrote:
> >
> > Vantage 8.03.406
> >
> > Looking for a little help. Thought this was an easy one but it
> > doesn't seem to fire exactly how I thought.
> >
> > I want to assign a Material Burden % to 'Purchased' part types.
I
> > also want to make sure that 'Manufactured' part types remain at
0.
> I
> > have set up a Pre-processing BPM. Below is the 4GL I am
running...
> >
> > For each ttPart where (ttPart.RowMod = 'A' or ttPart.RowMod = 'U'
> and
> > ttPart.TypeCode = 'M') no-lock:
> > Assign ttPart.MtlBurRate = 0.
> > End.
> > For each ttPart where (ttPart.RowMod = 'A' or ttPart.RowMod = 'U'
> and
> > ttPart.TypeCode = 'P') no-lock:
> > Assign ttPart.MtlBurRate = 20.
> > End.
> >
> > This works when entering a new 'Purchased' part. This works when
> > entering a new 'Manufactured' part. This works when changing
> > a 'Manufactured' part to 'Purchased'. It DOES NOT work when
> changing
> > from 'Purchased' to 'Manufactured'.
> >
> > Thoughts?
> >
> > Jeff
> >
>
 Would there be a 'temp table' (ttPart) being used by Vantage when revising parameters for an 'Existing' part?
I'd have to guess it has something to do with 'creating' a new Part vs updating an existing Part.




________________________________
From: jplehr <jlehr@...>
To: vantage@yahoogroups.com
Sent: Wednesday, December 3, 2008 2:27:05 PM
Subject: [Vantage] BPM & 4GL


Vantage 8.03.406

Looking for a little help. Thought this was an easy one but it
doesn't seem to fire exactly how I thought.

I want to assign a Material Burden % to 'Purchased' part types. I
also want to make sure that 'Manufactured' part types remain at 0. I
have set up a Pre-processing BPM. Below is the 4GL I am running...

For each ttPart where (ttPart.RowMod = 'A' or ttPart.RowMod = 'U' and
ttPart.TypeCode = 'M') no-lock:
Assign ttPart.MtlBurRate = 0.
End.
For each ttPart where (ttPart.RowMod = 'A' or ttPart.RowMod = 'U' and
ttPart.TypeCode = 'P') no-lock:
Assign ttPart.MtlBurRate = 20.
End.

This works when entering a new 'Purchased' part. This works when
entering a new 'Manufactured' part. This works when changing
a 'Manufactured' part to 'Purchased'. It DOES NOT work when changing
from 'Purchased' to 'Manufactured' .

Thoughts?

Jeff






[Non-text portions of this message have been removed]
You can do this without using 4gl.

I do this with three different tasks;
New record added on a new row that part type = "p" set the mtlburrate to
"20"
Changed row the part type = "p" set the mtlburrate to "20"
And Changed row the part type <> "p" set the mtlburrate to "0"

Don't forget that you can have a part type as a kit.

Steve

From: Bill Jackson [mailto:fujijapman@...]
Sent: Friday, December 05, 2008 7:40 AM
To: vantage@yahoogroups.com
Subject: Re: [Vantage] BPM & 4GL

 Would there be a 'temp table' (ttPart) being used by Vantage when revising
parameters for an 'Existing' part?
I'd have to guess it has something to do with 'creating' a new Part vs
updating an existing Part.

________________________________
From: jplehr <jlehr@...>
To: vantage@yahoogroups.com
Sent: Wednesday, December 3, 2008 2:27:05 PM
Subject: [Vantage] BPM & 4GL

Vantage 8.03.406

Looking for a little help. Thought this was an easy one but it
doesn't seem to fire exactly how I thought.

I want to assign a Material Burden % to 'Purchased' part types. I
also want to make sure that 'Manufactured' part types remain at 0. I
have set up a Pre-processing BPM. Below is the 4GL I am running...

For each ttPart where (ttPart.RowMod = 'A' or ttPart.RowMod = 'U' and
ttPart.TypeCode = 'M') no-lock:
Assign ttPart.MtlBurRate = 0.
End.
For each ttPart where (ttPart.RowMod = 'A' or ttPart.RowMod = 'U' and
ttPart.TypeCode = 'P') no-lock:
Assign ttPart.MtlBurRate = 20.
End.

This works when entering a new 'Purchased' part. This works when
entering a new 'Manufactured' part. This works when changing
a 'Manufactured' part to 'Purchased'. It DOES NOT work when changing
from 'Purchased' to 'Manufactured' .

Thoughts?

Jeff

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