0% found this document useful (0 votes)
8 views

05 ERFlow

JDE Development Training Doc

Uploaded by

zqtbok
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

05 ERFlow

JDE Development Training Doc

Uploaded by

zqtbok
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 66

ER

ER Flow
Flow of
of aa Find/Browse
Find/Browse Form
Form
Form
Form Type
Type Event
Event Flow
Flow

 Each form type has its own properties


 Therefore, each form has its own ER flow
 Each form type has its own runtime structures

 Some processing occurs through engine


 Engine 'pauses' at certain event points for manual
manipulation
 Provides place markers where you can add your

own logic
Runtime
Runtime Structures
Structures

 These are the mechanism for passing data


to/from the database or other structures
 Values contained in the Runtime

Structures can be manipulated manually


 Knowing what’s in the Runtime Structure

at a given event point is CRITICAL


 Runtime Structures can be thought of as C

variables
Runtime
Runtime Structures
Structures

 Not all form elements are visible (ex: hidden


controls, FI values)
 Therefore, think of a form as a collection of
values (or runtime structures)
 Connecting the visual form and the runtime
structures produces the following result
Find/Browse
Find/Browse Form
Form Elements
Elements

PO FI GC FC BC

F5501
Pre
Pre Dialog
Dialog is
is Initialized
Initialized

Before the Dialog Is Initialized event occurs:


Runtime Structures are initialized
 BC=0
 FC=0

 GC=0

 FI=Values passed from a calling form (if any)

 PO=Values passed from proc option template

(You can think of this as “memory is cleared”)


Form controls are initialized
Pre
Pre Dialog
Dialog is
is Initialized
Initialized

Other processing
 Initialize error handling
 Initialize static text

 Initialize helps

 Create toolbar
Dialog
Dialog is
is Initialized
Initialized

 Engine 'pauses' for the event to be processed


 All Event Rule logic attached to the Dialog Is
Initialized event is processed
 At the point when the engine 'pauses', Runtime
Structures have the following values
 BC=0
 GC=0

 FI=Values passed from a calling form (if any)

 PO=Values passed from proc option template


Dialog
Dialog is
is Initialized
Initialized
PO FI GC FC BC

0 0 0 0 0

0 0 0
0 0
0 0
0
F5501
0
0
0
0
0
0
Post
Post Dialog
Dialog Is
Is Initialized
Initialized

 Engine 'pauses' again for the event processing


 You can add your own logic to be processed
when Post Dialog Is Initialized is run
 At the point when the engine 'pauses', Runtime
Structures have the following values (The
following is for Non-input capable forms)
 BC, FC, and GC = 0 (or values already passed
in and assigned)
 FI=Values passed from a calling form (if any)
 PO=Values passed from proc option template
Post
Post Dialog
Dialog Is
Is Initialized
Initialized

PO FI GC FC BC

0 0 0 0 0

0 0 0
0 0

0 0
0
F5501
0
0
0
0
0
0
Post
Post Dialog
Dialog Is
Is Initialized
Initialized

 Use this event point to


 Load filter fields that will be used as WHERE clause in
SQL SELECT statement
 Load processing option values into filter fields
User
User Clicks
Clicks FIND
FIND
PO FI GC FC BC

0 0 0 0 0

0 0 0
0 0

0 0
0
F5501
0
0
0
0
0
0
SQL
SQL SELECT
SELECT Built
Built

 After the user clicks the FIND button, a SELECT


statement with a WHERE clause is built
 SELECT *
 SQL SELECT statement marks all columns in
Business View
 WHERE clause built from any values in QBE line or
in filter fields
 WHERE clause used to get all records that meet QBE
and/or filter criteria
SQL
SQL SELECT
SELECT Built
Built
PO FI GC FC BC

0 0 0 0 0

0 0 0
0 0

0 0
0
F5501
0
0
0
0
0
0
DO
DO in
in WHILE
WHILE Loop
Loop

 Records are fetched one at a time in a WHILE


loop
 WHILE database records are found and
WHILE grid rows are available on the form
 Page-at-a time processing means FETCH will
stop when no more grid rows are available on
the physical form
 SQL FETCH gets one record
BC
BC Assigned
Assigned Database
Database Values
Values

 After SQL FETCH of first record is performed,


the BC Runtime Structure is assigned the
database values of the first record
 Values from each marked column in the table
are placed in BC Runtime Structure elements
BC
BC Assigned
Assigned Database
Database Values
Values
PO FI GC FC BC

0 0 0 0 46

0 0 E

0 Fred

0 1 Elm
#5
F5501
Denver
CO
80231
US
DEN
1000
Grid
Grid Rec
Rec is
is Fetched
Fetched

 Engine 'pauses' again for the event to be processed


 You can add your own logic to run at the Grid Rec is
Fetched event
 At the point when the engine 'pauses', Runtime
Structures have the following values
 BC=values from database
 GC=0
Grid
Grid Rec
Rec is
is Fetched
Fetched
PO FI GC FC BC

0 0 0 0 46

0 0 E

0 Fred

0 1 Elm
#5
F5501
Denver
CO
80231
US
DEN
1000
Grid
Grid Rec
Rec is
is Fetched
Fetched

 Use this event point to


 Calculate a derived value for a work field in the grid
GC
GC Assigned
Assigned BC
BC Values
Values

 After the Grid Rec is Fetched event is processed, the


GC runtime structure is assigned the values in the BC
runtime structure
GC
GC Assigned
Assigned BC
BC Values
Values
PO FI GC FC BC

0 0 46 0 46

E 0 E

Fred Fred

DEN 1 Elm
#5
F5501
Denver
CO
80231
US
DEN
1000
Write
Write Grid
Grid Line
Line -- Before
Before

 Engine 'pauses' again for the event to be processed


 You can add your own logic to be processed when
Write Grid Line - Before is run
 At the point when the engine 'pauses', Runtime
Structures have the following values
 BC=values from database
 GC=values from database
Write
Write Grid
Grid Line
Line Before
Before
PO FI GC FC BC

0 0 46 0 46

E 0 E

Fred Fred

DEN 1 Elm
#5
F5501
Denver
CO
80231
US
DEN
1000
Write
Write Grid
Grid Line
Line -- Before
Before

 Use this event point to


 Add logic before user sees row on screen
 Change formatting of a grid column
Values
Values Appear
Appear in
in Grid
Grid Row
Row

 After Write Grid Line - Before is processed, the GC


elements (which now include the database values for
the first record) are copied to the grid cells on the
screen
Values
Values Appear
Appear in
in Grid
Grid Row
Row
PO FI GC FC BC

0 0 46 0 46

E 0 E

Fred Fred

DEN 1 Elm
#5
F5501
Denver
CO
80231
US
DEN
1000
Write Grid Line - After
 Engine 'pauses' again for the event to be
processed
 You can add your own logic to run when the
Write Grid Line - After event is run
 At the point when the engine 'pauses', Runtime
Structures have the following values
 BC=values from database
 GC=values from database

* Screen grid cells display current record


Write
Write Grid
Grid Line
Line -- After
After
PO FI GC FC BC

0 0 46 0 46

E 0 E

Fred Fred

DEN 1 Elm
#5
F5501
Denver
CO
80231
US
DEN
1000
Write
Write Grid
Grid Line
Line -- After
After

 Use this event point to


 Add logic after user sees row on screen
DO
DO in
in WHILE
WHILE Loop
Loop

 Second record is fetched


 The same processing steps occur for the second
record
 SQL FETCH of next record that matches criteria
 BC assigned values from database

 Grid Rec is Fetched is processed

 GC assigned BC values

 Write Grid Line - Before is processed

 Values appear in grid row on screen

 Write Grid Line - After is processed


BC
BC Assigned
Assigned Database
Database Values
Values

PO FI GC FC BC

0 0 46 0 47

E 0 E

Fred Barney

DEN 2 Oak
#18
F5501
Denver
CO
80222
US
DEN
1200
Grid
Grid Rec
Rec is
is Fetched
Fetched
PO FI GC FC BC

0 0 46 0 47

E 0 E

Fred Barney

DEN 2 Oak
#18
F5501
Denver
CO
80222
US
DEN
1200
GC
GC Assigned
Assigned BC
BC Values
Values
PO FI GC FC BC

0 0 47 0 47

E 0 E

Barney Barney

DEN 2 Oak
#18
F5501
Denver
CO
80222
US
DEN
1200
Write
Write Grid
Grid Line
Line -- Before
Before
PO FI GC FC BC

0 0 47 0 47

E 0 E

Barney Barney

DEN 2 Oak
#18
F5501
Denver
CO
80222
US
DEN
1200
Values
Values Appear
Appear in
in Grid
Grid Row
Row
PO FI GC FC BC

0 0 47 0 47

E 0 E

Barney Barney

DEN 2Oak
#18
F5501
Denver
CO
80222
US
DEN
1200
Write
Write Grid
Grid Line
Line -- After
After
PO FI GC FC BC

0 0 47 0 47

E 0 E

Barney Barney

DEN 2Oak
#18
F5501
Denver
CO
80222
US
DEN
1200
DO
DO in
in WHILE
WHILE Loop
Loop

 Page-at-a-time processing
 One record at a time is fetched WHILE database
records are found and WHILE grid rows are available
 Once available grid rows are filled, FETCH stops

 Example: If grid on screen holds 10 rows, only 10

records are fetched


 User must press the page down button to fetch next 10

records
DO
DO in
in WHILE
WHILE Loop
Loop

 Page-at-a-time processing
 Once records have been copied to screen, the grid
display is cached in memory
 This memory cache has nothing to do with the Runtime

Structure in memory (different locations)


 Therefore, if user clicks the up arrow to view a

previously loaded record, the record is retrieved from


the grid display in memory
 A new FETCH is not performed if a user clicks the up

arrow button
SQL
SQL FETCH
FETCH Fails
Fails

 If grid records were found and user has clicked


arrow keys to fetch all records that meet criteria,
SQL FETCH will finally fail
 If the grid is full and the user has never clicked
down arrow key, FETCH may not fail, because
there are may be matching records that haven’t
been read in
 Once FETCH fails, Last Grid Rec Has Been
Read is processed
 If the FETCH doesn’t fail, Last Grid Rec Has
Been Read will never be processed
Last
Last Grid
Grid Rec
Rec Has
Has Been
Been Read
Read

 Engine 'pauses' again for the event to be processed


 You can add your own logic to process when the Last
Grid Rec Has Been Read event is run
 At the point when the engine 'pauses', Runtime
Structures have the following values
 BC=last record read in from database
 GC=last record read in from database
Last
Last Grid
Grid Rec
Rec Has
Has Been
Been Read
Read
PO FI GC FC BC

0 0 54 0 54

E 0 E

Betty Betty

DEN 9 Ash
#40
F5501
Denver
CO
80222
US
DEN
6000
Last
Last Grid
Grid Rec
Rec Has
Has Been
Been Read
Read

 Use this event point to


 Write total lines to the grid
 Display on the form totals based on grid values
Select
Select Button
Button Processing
Processing

 When a user highlights a grid row and clicks the


Select button, processing occurs in the
following order
GC
GC Assigned
Assigned Screen
Screen Values
Values

 After the user highlights a grid row, the GC Runtime


Structure is assigned the values that show in the grid
record on the screen
GC
GC Assigned
Assigned Values
Values from
from Grid
Grid Row
Row
PO FI GC FC BC

0 0 47 0 54

E 0 E

Barney Betty

DEN 9 Ash
#40
F5501
Denver
CO
80222
US
DEN
6000
Button
Button Clicked
Clicked

 Engine 'pauses' again for the event to be processed


 You can add your own logic to process when the
Button Clicked event is run
 At the point when the engine 'pauses', Runtime
Structures have the following values
 BC=last record read in from database
 GC=values in selected grid row
Select
Select Button
Button Clicked
Clicked
PO FI GC FC BC

0 0 47 0 54

E 0 E

Barney Betty

DEN 9 Ash
#40
F5501
Denver
CO
80222
US
DEN
6000
Select
Select Button
Button Clicked
Clicked Processing
Processing

 Use this event point to


 Interconnect to another form
 Pass GC values from this screen into FI structure

of receiving form
Add
Add Button
Button Processing
Processing

 When a user clicks the Add button, processing


occurs in the following order
GC
GC Assigned
Assigned Screen
Screen Values
Values

 After the user highlights a grid row, the GC Runtime


Structure is assigned the values that show in the grid
record on the screen
 The user normally would not highlight a row before
an add, but if a row is highlighted, screen values are
still copied to the GC Runtime Structure
 If the user does not highlight a record, the GC
Runtime Structure will contain the values from the
last grid record read in, if any
Button
Button Clicked
Clicked

 Engine 'pauses' again for the event to be processed


 You can add your own logic to process when the
Button Clicked event is run
 At the point when the engine 'pauses', Runtime
Structures have the following values
 BC=last record read in from database
 GC=values in selected grid row
Add
Add Button
Button Clicked
Clicked
PO FI GC FC BC

0 0 47 0 54

E 0 E

Barney Betty

DEN 9 Ash
#40
F5501
Denver
CO
80222
US
DEN
6000
Add
Add Button
Button Clicked
Clicked Processing
Processing

 Use this event point to


 Interconnect to another form
 You would generally not pass GC values to FI

structure of receiving form, because you’re


adding a new record
Delete
Delete Button
Button Processing
Processing

 When a user highlights a grid row and clicks the


Delete button, processing occurs in the
following order
GC
GC Assigned
Assigned Screen
Screen Values
Values

 After the user highlights a grid row, the GC Runtime


Structure is assigned the values that show in the grid
record on the screen
Button
Button Clicked
Clicked

 Engine 'pauses' again for the event to be processed


 You can add your own logic to be processed when the
Button Clicked event occurs
 At the point when the engine 'pauses', Runtime
Structures have the following values
 BC=last record read in from database
 GC=values in selected grid row
Delete
Delete Button
Button Clicked
Clicked
PO FI GC FC BC

0 0 47 0 54

E 0 E

Barney Betty

DEN 9 Ash
#40
F5501
Denver
CO
80222
US
DEN
6000
Delete
Delete Grid
Grid Rec
Rec Verify
Verify -- Before
Before

 Engine 'pauses' again for the event to be processed


 You can add your own logic to process when the
Delete Grid Rec Verify - Before event is run
 Logic attached to this event is processed after you
press Delete but before the pop-up Verify window
appears
Verify
Verify Window
Window Appears
Appears
PO FI GC FC BC

0 0 47 0 54

E 0 E
Barney
Betty

DEN 9 Ash
#40
F5501
Denver
CO
80222
US
DEN
6000
Delete
Delete Grid
Grid Rec
Rec Verify
Verify -- After
After

 Engine 'pauses' again for the event to be processed


 You can add your own logic to process when the
Delete Grid Rec Verify - After event is run
 Logic attached to this event is processed after you
press OK in the Verify confirmation window
 If you cancel the Verify, the behavior attached to this
event won’t occur
Delete
Delete Grid
Grid Rec
Rec from
from DB
DB -- Before
Before

 Engine 'pauses' again for the event to be processed


 You can add your own logic to process when the
Grid Rec from DB - Before event is run
 Logic attached to this event is processed after you
press OK to delete and after the Verify window is
processed, but before the record is actually deleted
SQL
SQL DELETE
DELETE of
of Current
Current Rec
Rec in
in DB
DB

 After Delete Grid Record from DB - Before is


processed, SQL DELETE statement built
 Current record is deleted from database
 When multiple lines are selected, one delete call can
delete multiple records
Delete
Delete Grid
Grid Rec
Rec from
from DB
DB -- After
After

 Engine 'pauses' again for the event to be processed


 You can add your own logic to process when the
Delete Grid Rec from DB - After event is run
 Logic attached to this event is processed after you
press OK to delete, after the Verify window is
processed, and after the record is actually deleted
All
All Grid
Grid Recs
Recs Deleted
Deleted from
from DB
DB

 Engine 'pauses' again for the event to be processed


 You can add your own logic to process when the All
Grid Recs Deleted from DB event is run
 Logic attached to this event is processed after
multiple grid lines and the corresponding database
records have been deleted
 Rules attached to this event aren’t apparent on the
screen and can’t manipulate the grid lines or involve
the records

You might also like