This page (revision-22) was last changed on 26-Nov-2021 10:22 by kparrott

This page was created on 26-Nov-2021 10:22 by jmyers

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
22 26-Nov-2021 10:22 26 KB kparrott to previous
21 26-Nov-2021 10:22 26 KB kparrott to previous | to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 5 changed 4 lines
*Create a new Departmental Birthday report
*Add a parameter to select a specific month
*Add a lexicon to the month parameter
*Create a Department Head Count report (based on [RENA])
#Create a new Departmental Birthday report
#Add a parameter to select a specific month
#Add a lexicon to the month parameter
#Create a Department Head Count report (based on [RENA])
At line 14 changed 9 lines
;Step 1:Create a new function for this report.\\ \\Any report run from within Personality must be defined as a function in the [IMFN] screen. The first two reports will be retrieving data from the HR tables only and is similar to the RENA report.\\ \\
;Step 2:Enter __REBR__ for the function name and add a description for this report.\\ \\This demonstration will create a report named __REBR__. This follows our standard report naming convention. The 'R' indicates a read only report. This will not make any changes to existing data within the database. 'E' represents it is a member of the HR (employee) module, and 'BR' is an abbreviation for a Birthday Report.\\ \\Since this report is displaying employee information only, it should be part of the HR product group.\\ \\
;Step 3:Set the following fields:
*Function Type to ‘Report’
*Usage to ‘User Defined’
*Computer Language to ‘Winward’
*Where Run to ‘Windward’
*Destination Format to ‘PDF’\\ \\PDF is the only supported output format at the time this demonstration was written.\\ \\
;Step 4:Add at least one user or role that will have execution rights to the new report.\\ \\Adding [P2K_MASTER] will allow P2K to run the report. If this report will prompt to users to enter parameters, both the Retrieve Allowed and Update Allowed toggles must be turned on.
#Create a new function for this report.\\ \\Any report run from within ePersonality must be defined as a function in the IMFN screen. The first two reports will be retrieving data from the HR tables only and is similar to the RENA report.\\ \\
#Enter REBR for the function name and add a description for this report.\\ \\This demonstration will create a report named REBR. This follows our standard report naming convention. The 'R' indicates a read only report. This will not make any changes to existing data within the database. 'E' represents it is a member of the HR [employee] module, and 'BR' is an abbreviation for a Birthday Report.\\ \\Since this report is displaying employee information only, it should be part of the HR prod¬uct group.\\ \\
#Set the following fields:
#*Function Type to ‘Report’
#*Usage to ‘User Defined’
#*Computer Language to ‘Winward’
#*Where Run to ‘Windward’
#*Destination Format to ‘PDF’\\ \\PDF is the only supported output format at the time this demonstration was written.\\ \\
#Add at least one user or role that will have execution rights to the new report.\\ \\Adding P2K_MASTER will allow P2K to run the report. If this report will prompt to users to enter parameters, both the Retrieve Allowed and Update Allowed toggles must be turned on.
At line 28 changed 4 lines
;Step 1:Add [P2K_AM_EXECUTIONS] in the Data Source field and set the Where Clause field to ‘NEW MEX ID ONLY’
;Step 2:Add [P2K_HR_ASSIGNMENT_DETAILS] in the Data Source field
;Step 3:Set the Table Usage field to ‘User Defined’ for both of these tables.
;Step 4:If you are creating a report that is accessing the same table twice for different information the Table Alias and Join Clause fields are required for the second occurrence of the table.
#Add P2K_AM_EXECUTIONS in the Data Source field and set the Where Clause field to ‘NEW MEX ID ONLY’
#Add P2K_HR_ASSIGNMENT_DETAILS in the Data Source field
#Set the Table Usage field to ‘User Defined’ for both of these tables.
#If you are creating a report that is accessing the same table twice for different information the Table Alias and Join Clause fields are required for the second occurrence of the table.
At line 46 changed one line
The extension on this URL __NAME=REBR__ is used to identify which tables the report will have access to. Each function will have access to a different set of tables as defined in the [IMFDH] screen earlier.
The extension on this URL [NAME=REBR] is used to identify which tables the report will have access to. Each function will have access to a different set of tables as defined in the IMFDH screen earlier.
At line 57 changed one line
If the data source provided to the template only contains one piece of information, it can simply be added to the report using an OUT tag. However, most reports will need to display several rows of information, sorted by one or more items. In this situation, a FOREACH tag will be needed to look through the data to display all the rows that pass the selection criteria defined within Personality.
If the data source provided to the template only contains one piece of information, it can simply be added to the report using an OUT tag. However, most reports will need to display several rows of information, sorted by one or more items. In this situation, a FOREACH tag will be needed to look through the data to display all the rows that pass the selection criteria defined within ePersonality.
At line 70 changed 2 lines
;Step 1:Add the first FOREACH tag on the line immediately above the table, using the Tag Builder in the Auto Tag menu. Each loop requires a selected item and a variable name to be defined. This loop will use the /Data/EASD/DDP_ID/DEPARTMENT_CODE item and should have a variable that identifies this, such as DDP. While not required, it is recommended that all Windward tags be given a nickname. This will be displayed within the template, but will not appear in the report output.
;Step 2:Add the END tag for this FOREACH loop on the line below the table. This will cause the table to appear and each tag within it to be processed for every department being reported.
#Add the first FOREACH tag on the line immediately above the table, using the Tag Builder in the Auto Tag menu. Each loop requires a selected item and a variable name to be defined. This loop will use the /Data/EASD/DDP_ID/DEPARTMENT_CODE item and should have a variable that identifies this, such as DDP. While not required, it is recommended that all Windward tags be given a nickname. This will be displayed within the template, but will not appear in the report output.
#Add the END tag for this FOREACH loop on the line below the table. This will cause the table to appear and each tag within it to be processed for every department being reported.
At line 78 changed 2 lines
;Step 1:Select the /Data/EASD/EAS_ID/EEM_ID/EID_ID/FULL_NAME item for this loop with a variable name of NAME.
;Step 2:Add the END tag for this loop on the line below the table, but before the END tag for the department loop.
#Select the /Data/EASD/EAS_ID/EEM_ID/EID_ID/FULL_NAME item for this loop with a variable name of NAME.
#Add the END tag for this loop on the line below the table, but before the END tag for the department loop.
At line 83 changed one line
This last item, DRV AGE, does not actually exist within the [P2K_HR_IDENTITIES] table. Instead, it is calculated when the data is generated within EP and presented to the Windward report engine. There are a large number of derived fields like this, each with DRV as the first three letters of the item name. Before saving the template, ensure the tag type for the Birth Date column is defined as DATE. Double click this tag to open the Tag Builder dialog and set this correctly. Failing to set it to a date type will display this data as a large numerical value.
This last item, DRV AGE, does not actually exist within the P2K_HR_IDENTITIES table. Instead, it is calculated when the data is generated within EP and presented to the Windward report engine. There are a large number of derived fields like this, each with DRV as the first three letters of the item name. Before saving the template, ensure the tag type for the Birth Date column is defined as DATE. Double click this tag to open the Tag Builder dialog and set this correctly. Failing to set it to a date type will display this data as a large numerical value.
At line 86 changed 4 lines
;Step 1:After creating the report template, save it as and RTF file named REBR.rtf.
;Step 2:In Personality, run the __REBR__ report by typing the command into the command window.
;Step 3:In the report parameter screen that appears, click the folder icon on the line labeled 'Upload Template' and open the template we just saved. This will upload the template and run it for this report once. After the report has completed the RTF file will be deleted from the application server. This option is provided to test the running of report templates prior to permanently uploading them to the application server.
;Step 4:Click the 'Launch' button to run your report.
#After creating the report template, save it as and RTF file named REBR.rtf.
#In ePersonality, run the REBR report by typing the command into the command window.
#In the report parameter screen that appears, click the folder icon on the line labeled 'Upload Template' and open the template we just saved. This will upload the template and run it for this report once. After the report has completed the RTF file will be deleted from the appli¬cation server. This option is provided to test the running of report templates prior to permanently uploading them to the application server.
#Click the 'Launch' button to run your report.
At line 94 changed one line
Currently, the report will retrieve every employee from the database and report them under the department they are currently working in. While this is useful, it would be more helpful to prompt the user for a specific month or months to report. Since we are restricting the amount of data that Windward needs to process, this must be done within Personality.
Currently, the report will retrieve every employee from the database and report them under the department they are currently working in. While this is useful, it would be more helpful to prompt the user for a specific month or months to report. Since we are restricting the amount of data that Windward needs to process, this must be done within ePersonality.
At line 98 changed 4 lines
;Step 1:Open the function definition and add [P2K_HR_ASSIGNMENT_DETAILS] to the subject table field.\\ \\
;Step 2:Save this change and immediately add a new record to the [IMLQ] screen.\\ \\Once a subject table has been specified in [IMFN], an entry in [IMLQ] is required for the report to run. Attempting to run the report now will result in the report parameter screen hanging at 'preparing report data'. \\ \\
;Step 3:In [IMLQ], edit the automatically generated list of values for IMPV_REBR. Any report defined in [IMFN] that contains a subject table value will have an entry in [IMLQ] named IMPV_<function name>. An example that could be used for our report is listed in the IMPV_RENA entry:\\ \\[Training.Create_Winward_Report_03.jpg]\\ \\All entries in the [IMLQ] screen must select five and only five columns from the database. The select statement must be in uppercase and the fifth column must return the ID of the subject table. Other than these restrictions the select statement can be as simple or complicated as needed to restrict the records to a known set. As can be seen in this statement, the table or view that is being used does not need to be the subject table at all. The fifth column in this statement is using the [EASD_ID] from the VSASSIGNMENTS view to build the report list. The current prime assignments will be the only records added to the report list due to the 'where' clause.\\ \\In the [IMPM] screen, a new parameter can now be defined for this report.\\ \\
;Step 4:Select __REBR__ as the function name opening the [IMPM] screen.\\ \\Since this is a new report there will be no parameters listed in the screen initially. Pressing the green plus icon will cause a new parameter to be created named P_MONTH with:
;Step 1:
Open the function definition and add P2K_HR_ASSIGNMENT_DETAILS to the subject table field.\\ \\
;Step 2:
Save this change and immediately add a new record to the IMLQ screen.\\ \\Once a subject table has been specified in IMFN, an entry in IMLQ is required for the report to run. Attempting to run the report now will result in the report parameter screen hanging at 'preparing report data'. \\ \\
;Step 3:
In IMLQ, edit the automatically generated list of values for IMPV_REBR. Any report defined in IMFN that contains a subject table value will have an entry in IMLQ named IMPV_<function name>. An example that could be used for our report is listed in the IMPV_RENA entry:\\ \\[Training.Create_Winward_Report_03.jpg]\\ \\All entries in the IMLQ screen must select five and only five columns from the database. The select statement must be in uppercase and the fifth column must return the ID of the subject table. Other than these restrictions the select statement can be as simple or complicated as needed to restrict the records to a known set. As can be seen in this statement, the table or view that is being used does not need to be the subject table at all. The fifth col¬umn in this statement is using the EASD_ID from the VSASSIGNMENTS view to build the report list. The current prime assignments will be the only records added to the report list due to the 'where' clause.\\ \\In the IMPM screen, a new parameter can now be defined for this report.\\ \\
;Step 4:
Select REBR as the function name opening the IMPM screen.\\ \\Since this is a new report there will be no parameters listed in the screen initially. Pressing the green plus icon will cause a new parameter to be created named P_MONTH with:
At line 105 changed one line
*Parameter length of ‘2’\\ \\Turning on the Filter checkmark indicates to Personality that this parameter will modify the SELECT statement in [IMLQ]. With this checkmark turned on, a Validation Clause is required in the CLAUSE tab of the [IMPM] record.\\ \\TO_CHAR(BIRTH_DATE, 'MM') IN (<LIST>)\\ \\Adding the code segment shown above will allow the user to enter one of more, 2 character months as a qualifier for the report list. \\ \\The final step is to add this parameter to the report parameter definition within the IMFDH screen.\\ \\
*Parameter length of ‘2’\\ \\Turning on the Filter checkmark indicates to ePersonality that this parameter will modify the SELECT statement in IMLQ. With this checkmark turned on, a Validation Clause is required in the CLAUSE tab of the IMPM record.\\ \\TO_CHAR(BIRTH_DATE, 'MM') IN (<LIST>)\\ \\Adding the code segment shown above will allow the user to enter one of more, 2 character months as a qualifier for the report list. \\ \\The final step is to add this parameter to the report parameter definition within the IMFDH screen.\\ \\
At line 107 changed one line
;Step 5:Open [IMFDH] and edit the Form Layout tab of the __REBR__ function.\\ \\[Training.Create_Winward_Report_04.jpg]\\ \\This will require the user to manually key in the two digit month in order to run the report. By making a simple change to the parameter defined in [IMPM], a lexicon list can be offered to the user to select the month or months to report.
;Step 5:
Open IMFDH and edit the Form Layout tab of the REBR function.\\ \\[Training.Create_Winward_Report_04.jpg]\\ \\
This will require the user to manually key in the two digit month in order to run the report. By making a simple change to the parameter defined in IMPM, a lexicon list can be offered to the user to select the month or months to report.
At line 110 changed 2 lines
In [IMPM], for the P_MONTH parameter of __REBR__, replace the VARCHAR2 in the Reference column with [X_REG_EMPLOYMENT_DATE].\\ \\
This is a pre-existing lexicon, provided by High Line for use in another report. We can make use of it in our report to present a list of months. When the user selects a month, the corresponding two digit month number will be passed to the [IMLQ] report list selection statement.
In [IMPM], for the P_MONTH parameter of [REBR], replace the VARCHAR2 in the Reference column with [X_REG_EMPLOYMENT_DATE].\\ \\
This is a pre-existing lexicon, provided by High Line for use in another report. We can make use of it in our report to present a list of months. When the user selects a month, the corresponding two digit month number will be passed to the IMLQ report list selection statement.
At line 116 changed one line
;Step 1:Start by opening the [IMFN] screen and selecting the RENA report.
;Step 1:
Start by opening the IMFN screen and selecting the RENA report.
At line 121 changed one line
;Step 2:Once the new function has been created, select it in [IMFN] and remove RENA from the Extends field. Failing to remove this entry will cause any user running RENA to run our report instead. The new function will have a new set of tables defined in [IMFDH], as well as a form layout definition. All the parameters will have been copied to our new function and a report list query created on IMLQ. If needed, any of these screens can be edited to alter the report to our needs. For this example we will leave them unaltered.
;Step 2:
Once the new function has been created, select it in IMFN and remove RENA from the Extends field. Failing to remove this entry will cause any user running RENA to run our report instead. The new function will have a new set of tables defined in IMFDH, as well as a form layout definition. All the parameters will have been copied to our new function and a report list query created on IMLQ. If needed, any of these screens can be edited to alter the report to our needs. For this example we will leave them unaltered.
At line 123 changed one line
;Step 3:Open MS Word and created a new RTF file that matches our new function name, REHC.rtf. Again, ensure that the file name is in uppercase while the extension is lowercase. Both Personality and the Windward report engine are case sensitive when it's looking for the report template file.
;Step 3:
Open MS Word and created a new RTF file that matches our new function name, REHC.rtf. Again, ensure that the file name is in uppercase while the extension is lowercase. Both ePersonality and the Windward report engine are case sensitive when it's looking for the report template file.
At line 125 changed one line
;Step 4:In the Auto Tag menu, define the data source for our new report:\\[http://argo.highlinecorp.com/selfService_AS01/reportdatastructure?NAME=REHC]\\ \\Again, this is only an example. Both the application server and Self Service instance name will need to be changed to a local environment.\\ \\The Windward report engine does not contain any functions or tags to generate totals in a report. Instead, the template will need to track the records that are processes and display these totals as they're needed. It will also need to reset one counter and start counting again during control breaks. Counters can be created anywhere in the template before looping through the data with a FOREACH tag. A SET tag is used to define a variable name and give it an initial value. A nickname is also suggested for these tags. This report will need two SET tags, one for the department total and a second for the grand total.\\ \\The entire report will be displayed in a table, five rows long by three columns wide.
;Step 4:
In the Auto Tag menu, define the data source for our new report:\\[http://argo.highlinecorp.com/selfService_AS01/reportdatastructure?NAME=REHC]\\ \\Again, this is only an example. Both the application server and Self Service instance name will need to be changed to a local environment.\\ \\The Windward report engine does not contain any functions or tags to generate totals in a report. Instead, the template will need to track the records that are processes and display these totals as they're needed. It will also need to reset one counter and start counting again during control breaks. Counters can be created anywhere in the template before looping through the data with a FOREACH tag. A SET tag is used to define a variable name and give it an initial value. A nickname is also suggested for these tags. This report will need two SET tags, one for the department total and a second for the grand total.\\ \\The entire report will be displayed in a table, five rows long by three columns wide.
At line 127 changed one line
;Step 5:Above a 3x5 table add two SET tags from the Tags drop down menu of the Auto Tag rib¬bon. One named 'setGT' with a variable name of GrndTotal and second named 'setDT' with a variable name of DeptTotal, both with a value of 0. These variables will be used later to count the number of records processed.
;Step 5:
Above a 3x5 table add two SET tags from the Tags drop down menu of the Auto Tag rib¬bon. One named 'setGT' with a variable name of GrndTotal and second named 'setDT' with a variable name of DeptTotal, both with a value of 0. These variables will be used later to count the number of records processed.
At line 130 changed one line
;Step 6:Also above the 3x5 table, create the first FOREACH tag. In the sample template this loop is named 'eachDEN' with a variable name of DEN. Ensure the following item is selected for the tag:\\ \\/Data/EASD/EAS_ID/EEM_ID/DEN_ID/ENTITY_CODE\\ \\The first cell of the first line will contain the entity code label and an OUT tag for this data. Ensure the item that is being displayed is the ENTITY_CODE from /Data/EASD_ID/EEM_ID/ DEN_ID. This is the entity code associated to the employee.\\ \\
;Step 6:
Also above the 3x5 table, create the first FOREACH tag. In the sample template this loop is named 'eachDEN' with a variable name of DEN. Ensure the following item is selected for the tag:\\ \\/Data/EASD/EAS_ID/EEM_ID/DEN_ID/ENTITY_CODE\\ \\The first cell of the first line will contain the entity code label and an OUT tag for this data. Ensure the item that is being displayed is the ENTITY_CODE from /Data/EASD_ID/EEM_ID/ DEN_ID. This is the entity code associated to the employee.\\ \\
At line 146 changed one line
The following two images show sample output from this report when run from Personality.\\ \\
The following two images show sample output from this report when run from ePersonality.\\ \\
At line 158 changed one line
%%warning Do not alter or edit the High Line supplied Windward reports and functions. Instead, use the Copy Function and Form option within [IMFN] to create a custom function with a new name. This demonstration will use RENAC as a custom version of the [RENA] function and report template.%%
%%warning Do not alter or edit the High Line supplied Windward reports and functions. Instead, use the Copy Function and Form option within IMFN to create a custom function with a new name. This demonstration will use RENAC as a custom version of the RENA function and report template.%%
At line 160 changed one line
All High Line supplied Windward report templates are shipped in a single ZIP file. Most of the templates are stored in Rich Text Format [RTF], but there can be XLSX and DOCX as well. During the installation and configuration of the Oracle Application Server, a copy of these files would have been placed in the REPORTS folder under the HLAppResources directory used by each Personality instance.\\ \\
All High Line supplied Windward report templates are shipped in a single ZIP file. Most of the templates are stored in Rich Text Format [RTF], but there can be XLSX and DOCX as well. During the installation and configuration of the Oracle Application Server, a copy of these files would have been placed in the REPORTS folder under the HLAppResources directory used by each ePersonality instance.\\ \\
At line 178 added one line
At line 180 added one line
At line 169 changed one line
*Ensure the vendor field is XML (file or url) and edit the File/URL field to point to the following URL:[http://argo.highlinecorp.com/selfService_AS01/reportdatastructure?NAME=RENAC]\\%%information Please note the URL shown above is an example only. You will need to alter this URL to point to your application server and Self Service instance.%%\\This URL is another entry point into the Self Service component of High Line's Personality application. This URL simply provides the XML format of the data that will be provided to the Windward report engine when the specified function is run. Auto Tag requires a data structure to provide a list of item that can be added to the report from its Data Bin.
*Ensure the vendor field is XML (file or url) and edit the File/URL field to point to the following URL:[http://argo.highlinecorp.com/selfService_AS01/reportdatastructure?NAME=RENAC]\\%%information Please note the URL shown above is an example only. You will need to alter this URL to point to your application server and Self Service instance.%%\\This URL is another entry point into the Self Service component of High Line's ePersonality application. This URL simply provides the XML format of the data that will be provided to the Windward report engine when the specified function is run. Auto Tag requires a data structure to provide a list of item that can be added to the report from its Data Bin.
At line 181 changed 2 lines
;Step 8:Save the report and connect to Personality as a user authorized to run RENA.
*Once connected type RENA in the command window, or select it from the report drop down menu. Since this function was extended earlier in the [IMFN] screen, running RENA will actually run RENAC.
;Step 8:Save the report and connect to ePersonality as a user authorized to run RENA.
*Once connected type RENA in the command window, or select it from the report drop down menu. Since this function was extended earlier in the IMFN screen, running RENA will actually run RENAC.
At line 189 changed one line
The next step is to alter the data that is presented to the new template for reporting. This is not controlled by either the template or Windward. Instead, altering this will need to be done within your Personality environment. Each report that has a subject table defined within its [IMFN] screen must have an entry in the [IMLQ] to build a report list. Since [RENAC] has the P2K_HR_ASSIGNMENT_DETAILS table defined for its subject table, there must be an entry within [IMLQ] with an LOV name of [IMPV_RENAC]. EP will look for an entry that starts with IMPV_ followed by the function name of the report. The Query Text defined in the [IMLQ] entry is a simple SQL select statement that will build a list of assignment detail ID's that are passed to our report. By altering this SQL statement we can change the quantity of data that will be processed by the report.\\ \\
The next step is to alter the data that is presented to the new template for reporting. This is not controlled by either the template or Windward. Instead, altering this will need to be done within your ePersonality environment. Each report that has a subject table defined within its [IMFN] screen must have an entry in the [IMLQ] to build a report list. Since [RENAC] has the P2K_HR_ASSIGNMENT_DETAILS table defined for its subject table, there must be an entry within [IMLQ] with an LOV name of [IMPV_RENAC]. EP will look for an entry that starts with IMPV_ followed by the function name of the report. The Query Text defined in the [IMLQ] entry is a simple SQL select statement that will build a list of assignment detail ID's that are passed to our report. By altering this SQL statement we can change the quantity of data that will be processed by the report.
The SQL statement provided by High Line is:
At line 191 changed 2 lines
The SQL statement provided by High Line is:\\
[Training.Create_Winward_Report_08.jpg]\\
The new statement is:
At line 194 changed 2 lines
The new statement is:\\
[Training.Create_Winward_Report_09.jpg]\\
The only difference in these two statements is the addition of:
At line 197 changed 4 lines
The only difference in these two statements is the addition of:\\
[Training.Create_Winward_Report_10.jpg]\\
This sub-query will restrict the records reported to only employees that have an employment status of ACTIVE, REGULAR or PROBATIONARY. This will eliminate all terminated and inactive employees from our report.\\ \\
This sub-query will restrict the records reported to only employees that have an employment status of ACTIVE, REGULAR or PROBATIONARY. This will eliminate all terminated and inactive employees from our report.