East Coast Advance Programming Course Review

As I am from Europe I don't have chance to be on this course.
Therefore I have some question.

"...BPMs can be schedule..." - Did you received information how?

"...Can automate processes at BL level without a tool like service connect..." - can you give some example (how to correct connect to BO's, invoke methods, and pass a data to datasets?)

phoenix

--- In vantage@yahoogroups.com, effgroups@... wrote:
>
> I agree with Joe.
> Was a very educational class and I'm sure it will help me a lot in future projects and also to review old code.
>
> Ephraim
>
> Ephraim Feldman
>
> -----Original Message-----
> From: Joe Rojas <jrojas@...>
> Sender: vantage@yahoogroups.com
> Date: Thu, 28 Oct 2010 20:46:41
> To: <vantage@yahoogroups.com>
> Reply-To: vantage@yahoogroups.com
> Subject: [Vantage] East Coast Advance Programming Course Review
>
> Hi All,
>
>
>
> Today was the last day of our East Coast training session for "Advanced
> Programming in Epicor".
>
> I've got to say that this class was excellent! Worth the travel and
> worth every penny.
>
> This feedback was consist from all those that attended.
> Kenny is a great instructor, very patient, and extremely knowledgeable.
> He works in the custom solutions group so he is doing this kind of stuff
> all the time.
>
>
>
> I know not everyone could attend and it takes a small group to
> coordinate a regional training session so I wanted to share some of the
> things I learned during the training session.
>
> I just keep notes of things I learned so feel free to ask for more
> detail.
>
>
>
> * Architecture only supports one dirty row at a time
>
> * In 4GL/ABL, always use "exclusive lock" for all updates
>
> * In 4GL/ABL, using OUTPUT/PUT to create a log file is an effective way
> to debug as well as creating files for external programs. (e.g. Service
> Connect, Excel, Bartender)
>
> * BPMs can be scheduled. Kenny to find out how and on what version this
> become available
>
> * In 4GL/ABL, "num-entries" is useful to count number of items in a
> delimited list
>
> * Can connect to other business objects in 4GL/ABL to do process
> automation. Don't need Service Connect to do process automation.
>
> * Business Logic (BL) layer is very powerful.
>
> * Can automate processes at BL level without a tool like service connect
>
> * Automating at the BL level is much faster than anything else
>
> * :U in 4GL means "don't translate string"
>
> * Learned about the "BPM Property Bag". Can be used to pass values from
> PreProcessing to PostProcessing directives. run SetBPMProperty(<Key>,
> <value>) run GetBPMProperty(<Key>). Epicor 9 introduced CallContext
> dataset.
>
> * Epicor is data-centric. Programming logic should be applied to
> DataView. Avoid working with controls directly unless required. For
> example, don't sent controls Enabled property directly, set it at the
> DataView.
>
> * Epicor expects you to work with dataset not controls. Working with
> controls can result in unexpected results.
>
> * You can bind a control to a fake field to make it behave like native
> controls (e.g. when clearing a screen) For example: Part.BtnUD01
>
> * Use Epicor Resource Editor to change or add icons to Epicor library
>
> * Don't hook into EpiViewNotify to trigger events when records change.
> Use BeforeAdapter and AfterAdapter methods.
>
>
>
>
>
>
>
>
>
>
> Joe Rojas | Director of Information Technology | Mats Inc
> dir: 781-573-0291 | cell: 781-408-9278 | fax: 781-232-5191
> jrojas@... | www.matsinc.com Ask us about our clean, green and beautiful matting and flooring
>
>
> This message is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake. Please note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company.
>
>
> [Non-text portions of this message have been removed]
>
>
>
>
> [Non-text portions of this message have been removed]
>
Hi All,



Today was the last day of our East Coast training session for "Advanced
Programming in Epicor".

I've got to say that this class was excellent! Worth the travel and
worth every penny.

This feedback was consist from all those that attended.
Kenny is a great instructor, very patient, and extremely knowledgeable.
He works in the custom solutions group so he is doing this kind of stuff
all the time.



I know not everyone could attend and it takes a small group to
coordinate a regional training session so I wanted to share some of the
things I learned during the training session.

I just keep notes of things I learned so feel free to ask for more
detail.



* Architecture only supports one dirty row at a time

* In 4GL/ABL, always use "exclusive lock" for all updates

* In 4GL/ABL, using OUTPUT/PUT to create a log file is an effective way
to debug as well as creating files for external programs. (e.g. Service
Connect, Excel, Bartender)

* BPMs can be scheduled. Kenny to find out how and on what version this
become available

* In 4GL/ABL, "num-entries" is useful to count number of items in a
delimited list

* Can connect to other business objects in 4GL/ABL to do process
automation. Don't need Service Connect to do process automation.

* Business Logic (BL) layer is very powerful.

* Can automate processes at BL level without a tool like service connect

* Automating at the BL level is much faster than anything else

* :U in 4GL means "don't translate string"

* Learned about the "BPM Property Bag". Can be used to pass values from
PreProcessing to PostProcessing directives. run SetBPMProperty(<Key>,
<value>) run GetBPMProperty(<Key>). Epicor 9 introduced CallContext
dataset.

* Epicor is data-centric. Programming logic should be applied to
DataView. Avoid working with controls directly unless required. For
example, don't sent controls Enabled property directly, set it at the
DataView.

* Epicor expects you to work with dataset not controls. Working with
controls can result in unexpected results.

* You can bind a control to a fake field to make it behave like native
controls (e.g. when clearing a screen) For example: Part.BtnUD01

* Use Epicor Resource Editor to change or add icons to Epicor library

* Don't hook into EpiViewNotify to trigger events when records change.
Use BeforeAdapter and AfterAdapter methods.










Joe Rojas | Director of Information Technology | Mats Inc
dir: 781-573-0291 | cell: 781-408-9278 | fax: 781-232-5191
jrojas@... | www.matsinc.com Ask us about our clean, green and beautiful matting and flooring


This message is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake. Please note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company.


[Non-text portions of this message have been removed]
I agree with Joe.
Was a very educational class and I'm sure it will help me a lot in future projects and also to review old code.

Ephraim

Ephraim Feldman

-----Original Message-----
From: Joe Rojas <jrojas@...>
Sender: vantage@yahoogroups.com
Date: Thu, 28 Oct 2010 20:46:41
To: <vantage@yahoogroups.com>
Reply-To: vantage@yahoogroups.com
Subject: [Vantage] East Coast Advance Programming Course Review

Hi All,



Today was the last day of our East Coast training session for "Advanced
Programming in Epicor".

I've got to say that this class was excellent! Worth the travel and
worth every penny.

This feedback was consist from all those that attended.
Kenny is a great instructor, very patient, and extremely knowledgeable.
He works in the custom solutions group so he is doing this kind of stuff
all the time.



I know not everyone could attend and it takes a small group to
coordinate a regional training session so I wanted to share some of the
things I learned during the training session.

I just keep notes of things I learned so feel free to ask for more
detail.



* Architecture only supports one dirty row at a time

* In 4GL/ABL, always use "exclusive lock" for all updates

* In 4GL/ABL, using OUTPUT/PUT to create a log file is an effective way
to debug as well as creating files for external programs. (e.g. Service
Connect, Excel, Bartender)

* BPMs can be scheduled. Kenny to find out how and on what version this
become available

* In 4GL/ABL, "num-entries" is useful to count number of items in a
delimited list

* Can connect to other business objects in 4GL/ABL to do process
automation. Don't need Service Connect to do process automation.

* Business Logic (BL) layer is very powerful.

* Can automate processes at BL level without a tool like service connect

* Automating at the BL level is much faster than anything else

* :U in 4GL means "don't translate string"

* Learned about the "BPM Property Bag". Can be used to pass values from
PreProcessing to PostProcessing directives. run SetBPMProperty(<Key>,
<value>) run GetBPMProperty(<Key>). Epicor 9 introduced CallContext
dataset.

* Epicor is data-centric. Programming logic should be applied to
DataView. Avoid working with controls directly unless required. For
example, don't sent controls Enabled property directly, set it at the
DataView.

* Epicor expects you to work with dataset not controls. Working with
controls can result in unexpected results.

* You can bind a control to a fake field to make it behave like native
controls (e.g. when clearing a screen) For example: Part.BtnUD01

* Use Epicor Resource Editor to change or add icons to Epicor library

* Don't hook into EpiViewNotify to trigger events when records change.
Use BeforeAdapter and AfterAdapter methods.










Joe Rojas | Director of Information Technology | Mats Inc
dir: 781-573-0291 | cell: 781-408-9278 | fax: 781-232-5191
jrojas@... | www.matsinc.com Ask us about our clean, green and beautiful matting and flooring


This message is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake. Please note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company.


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




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