320 likes | 827 Views
Pop Select. What is this Pop Select?. Method to select a population of students (or anything) based on the result set of a query, file or equation engine Delivered App-Package, Sub Pages, Sub Records and Online Setup pages are used Easy to implement in custom app-engine processes.
E N D
What is this Pop Select? • Method to select a population of students (or anything) based on the result set of a query, file or equation engine • Delivered App-Package, Sub Pages, Sub Records and Online Setup pages are used • Easy to implement in custom app-engine processes
Design Run Control Page • Key Page Elements • Run Control Sub Page – PRCSRUNCNTL_SBP • Population Selection Group Box • Population Selection Sub Page – SCCPS_RUNCNTL_SBP • Additional Run Control Parameters
How to Add the Pop Select Sub Page • Add the SCCPS_RCNTL_SBR subrecord to the run control record.
How to Add the Pop Select Sub Page • Add the Sub Page to the Run Control Page
How to Add the Pop Select Sub Page • Select the Sub Page and enter your run control record in the “To” field. • The Record Name Substitution allows the delivered Pop Select Sub Page to be used universally.
Turn Off Deferred Processing at Page Level Turn off at Component Level • Turn off at the Page Level
Add PeopleCode to Component • There are several Component PeopleCode Objects that need to be added in order for the Pop Select front end to work.
File Tool Related PeopleCode These objects are needed if the File Tool is enabled • ComponentName.SCCPS_DERIVED.ATTACHADD.FieldChange • ComponentName.SCCPS_DERIVED.ATTACHDELETE.FieldChange • ComponentName.SCCPS_DERIVED.ATTACHVIEW.FieldChange • ComponentName.RunControlRecord.SCCPS_FILE_PATH.FieldChange
QueryTool Related PeopleCode These objects are needed if the Query Tool is enabled • ComponentName.SCCPS_DERIVED.SCCPS_PROMPTS.FieldChange • ComponentName.SCCPS_DERIVED.SCCPS_RESULTS_URL.FieldChange • ComponentName.SCCPS_DERIVED.SCCPS_QUERYNAME.FieldChange
Equation Engine Tool Related PeopleCode These objects are needed if the Equation Engine Tool is enabled • ComponentName.SCCPS_DERIVED.SCCPS_QUERYNAME.FieldChange (This FieldChange code is shared for Query and Equation Engine)
Required Common Component PeopleCode These objects are required for pop-select to work • ComponentName.RunControlRecord.SCCPS_TOOL_ID.FieldChange • ComponentName.RunControlRecord.RowInit • ComponentName.RunControlRecord.SaveEdit • ComponentName.RunControlRecord.SavePreChange
Optional Common Component PeopleCode These objects are optional. Optional Pop Select Fields that are not being used do not require the following peoplecode objects. The SCCPS_RUN and SCCPS_POP_SEL fields will need to be hidden during the execution of the Component.RunControlRecord.RowInitPeopleCode. • ComponentName.SCCPS_DERIVED.SCCPS_RUN.FieldChange • ComponentName.SCCPS_DERIVED.SCCPS_TOOL_URL.FieldChange • ComponentName.RunControlRecord.SCCPS_POP_SEL.FieldChange • ComponentName.RunControlRecord.SCCPS_CNTXT_ID.FieldChange To hide the unused fields use the following code example in the ComponentName.RunControlRecord.RowInitPeopleCode /* Hide the unused population select checkbox and run fields */ RunControlRecord.SCCPS_POP_SEL.Visible = False; SCCPS_DERIVED.SCCPS_RUN.Visible = False;
Implementing PeopleCode • Use a delivered example • SSF_RUNCTL_PS_TPC • Rename example Run Control Record with your own • Example of SSF_RUNCTL_PS_TPC.SSF_RUN_PS_TPC.RowInit import SCC_POP_SELECT:UTIL:EXCEPTION:*; import SCC_POP_SELECT:PIAComponents:PopSelectController; Component SCC_POP_SELECT:PIAComponents:PopSelectController &PopController; /* First Ensure that Context and Tool have values */ If None(SSF_RUN_PS_TPC.SCCPS_TOOL_ID) Then Error MsgGet(14015, 13, "Message not found."); End-If; If None(SSF_RUN_PS_TPC.SCCPS_CNTXT_ID) Then Error MsgGet(14015, 14, "Message not found."); End-If; /* Execute the Pop Select save edit code */ try &PopController.SaveEdit(); catch SCC_POP_SELECT:UTIL:EXCEPTION:PopSelectException &Excptn &Excptn.LogToScreen(); end-try;
Define Pop Select Setup • Define Context Definition The context definition is used to tie a Menu/Component combination with Pop Select setup options
Context Definition Setup • Navigate to “Setup SACR -> System Administration -> Utilities -> Population Select -> Context Definition” There are no Add values. PeopleSoft creates a Context Id behind the scenes when the component is saved.
Context Definition Setup • Context Definition Page
Context Definition Setup • Select Mapping Page
Context Definition Setup • Selection Mapping Key Elements – Context Varies per App Data 99% of the time you will not use this option This is used when the Pop Select data needed for processing varies based on application specific data Example is 3Cs. Each Admin Function Requires a different set of Variable Data for processing Each Admin Function relies on a different transactional population.
Context Definition Setup • Selection Mapping Key Elements – Process Required Fields • Results Record • Used to Store Output/Input of the Query, File or Equation • Must have Process Instance as First Field of Record • Additional Key Fields will be based on the specific application • The target record should account for all fields on the required fields record • The target record can contain additional field, which can be defaulted or set during processing
Context Definition Setup • Selection Mapping Key Elements – Process Required Fields • Required Fields Record • Used to define required fields returned in Query, File or Equation Engine • Record can contain additional fields that are not required, which are optional • Used to map fields into the Target record • Used by SaveEdit to verify that Query or File layout contains the required fields
Context Definition Setup • Selection Mapping Key Elements – Data Source Records • Data Source Record • This is Query Specific • Query must contain this record to be visible from run control • PeopleSoft delivers these as simple views of context specific transactional table or in some cases they evaluate the entire PERSON_SA population. • Example1: SSF_PS_TPC_BND is a view of PERSON_SA • Example2: SCC_PS_ADMA_BND is a view of PS_ADM_APPL_DATA
Context Definition Setup • Required Fields Mapping • Used to Map Fields from the Required Fields Record to the Results Record • Process Instance must be set to a Mapping Action of Process Instance • Additional Fields on the Result Record can be mapped or defaulted to any value
Calling Pop Select from App-Engine • Select SCCPS Fields from the Run Control Record and store them in the AET record • AET must contain the SCCPS_RCNTL_SBR to store the selected values • After selecting the run control values execute PeopleCode routine to run Pop Select import SCC_POP_SELECT:MODEL:PopSelectFacade; /* Instance of the Population Selection Facade Class */ Local SCC_POP_SELECT:MODEL:PopSelectFacade &PopSelectFacade; &PopSelectFacade = create SCC_POP_SELECT:MODEL:PopSelectFacade(SSF_TP_CONT_AET.SCCPS_TOOL_ID, SSF_TP_CONT_AET.SCCPS_CNTXT_ID, SSF_TP_CONT_AET.OPRID, SSF_TP_CONT_AET.RUN_CNTL_ID, SSF_TP_CONT_AET.PROCESS_INSTANCE); /* Set the Query Name, Oprid, and Run Control ID (needed to run selection and get parm data) */ &PopSelectFacade.QueryName = SSF_TP_CONT_AET.SCCPS_QUERY_NAME; &PopSelectFacade.FilePath = SSF_TP_CONT_AET.SCCPS_FILE_PATH; &PopSelectFacade.AttachmentSystemFileName = SSF_TP_CONT_AET.ATTACHSYSFILENAME; /* Get the parm data if there is any*/ &PopSelectFacade.GetParmData(); /* Run Pop Select to a Record (e.g. SQL table)*/ &PopSelectFacade.ExecuteToRecord();
App-Engine Processing • Select Data from the Target Record by Process Instance • The Pop Select portion of the process is over…..Now do your shtuff.