HOWTO Create a Joined Grid

From Plex-XML
Jump to: navigation, search

( 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
Personal tools