HOWTO Create a Joined Grid
From Plex-XML
( This example is based on the Plex-XML Tutorial )
- create a new BlockFetchSQLJoin function scoped under the Findbrowse-View of the main entity (Task)
Task.FindBrowse function FNC BlockFetchSQLJoin
Task.FindBrowse.BlockFetchSQLJoin is a FNC Task.FindBrowse.BlockFetchSQL
local view VW Task.FindBrowse
...for DataForFetch
local view VW Project.FindBrowse
...for DataForFetch
local view VW Employee.FindBrowse
...for DataForFetch
output view VW Project.FindBrowse
...for FetchedData
output view VW Employee.FindBrowse
...for FetchedData
- for each joined entity create a Join-Generation-Function( has to be scoped by a view) (Project,Employee)
Employee.SQLFunctions.GenJoinTask is a FNC SQLGenJoinSelectFrom.GenJoinSelectFrom.GenJoinSelectFromStatement
local FLD EmployeeID
...for JoinFields01
local FLD EmployeeID
...for OmitSelectFields
Project.SQLFunctions.GenJoinTask is a FNC SQLGenJoinSelectFrom.GenJoinSelectFrom.GenJoinSelectFromStatement
local FLD ProjectID
...for JoinFields01
local FLD ProjectID
...for OmitSelectFields
- create the XML findbrowse function
Task_XML.XML_Intern.FindBrowse.FBJoinProjectEmployee is a FNC Task_XML.XML_Intern.FindBrowse.FindBrowse
replaces FNC Task.FindBrowse.BlockFetchSQL
...by Task.FindBrowse.BlockFetchSQLJoin
local view VW Project.FindBrowse
...for FetchedData
local view VW Employee.FindBrowse
...for FetchedData
- edit the newly created XML findbrowse to enter the Join-Generation calls
Post Point GenSQLSelectStatement
Call Project.SQLFunctions.GenJoinTask:
<GenWherePrefix.B> to Input<GenWherePrefix>
<GenJoinType.inner join> to Input<GenJoinType>
Task.FindBrowse.GenSelectFromStatement/SQLStatement To SQLStatment
<GenJoinPrefix1.A> To JoinPrefix<GenJoinPrefix1>
<GenJoinPrefix2.B> To JoinPrefix<GenJoinPrefix2>
Call Employee.SQLFunctions.GenJoinTask
<GenWherePrefix.C> to Input<GenWherePrefix>
<GenJoinType.left outer join> to Input<GenJoinType>
Task.FindBrowse.GenSelectFromStatement/SQLStatement To SQLStatment
<GenJoinPrefix1.A> To JoinPrefix<GenJoinPrefix1>
<GenJoinPrefix2.C> To JoinPrefix<GenJoinPrefix2>
- continue as with other Plex-XML functions