Pop Select - Confluence

Download Report

Transcript Pop Select - Confluence

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
How Do I Implement it?
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 the Page Level
Turn off at Component Level
Add Page to Component
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
1.
2.
3.
4.
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
1.
2.
3.
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
1.
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
1.
2.
3.
4.
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.RowInit PeopleCode.
1.
2.
3.
4.
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.RowInit PeopleCode
/* 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;
Add Component to a Menu
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.
Use it Wisely Code Monkeys!