[{TableOfContents }]

!!!MAINTAIN FUNCTIONS

Functions are those user interface components or features which provide the business functionality of the  product. As a result, they may be screen forms, processes, reports, utilities, menus, capabilities, tools, or procedures. 

The Maintain Functions (IMFN) form describes each function within the system as well as defaults that are used elsewhere.   

This screen allows you to control the individual functions within the application. All functions must have their execution rights defined for users or roles in order for those functions to be accessed. You can indicate whether a specific user or role may create, retrieve, update or delete data within a function.  

This screen also allows you to indicate the purpose of the function, attach HTML files and control other features such as print orientation and function type. 

There are two categories of functions: 
|Internal Function|The main purpose of an Internal Function is to allow you to create, view, edit and delete your company’s information within the application.   For example, all the individuals who will be using the application are maintained as a list of users through the Maintain Users ([IMUS]) screen.\\In addition, these internal functions allow you to customize some of the structure of the application to suit your company’s needs.  You can indicate how information will be presented and who will be able to access or edit this information. 
|External Function |External Functions are links to either external web pages or to documents stored outside of the application.   For example, you may have a company policy that you would like to have accessible on the application.   You can create a new function which points the application to that document so that users may view it online. 
Through the IMFN screen, you will be able to modify the Internal Functions and also create and modify External Functions. 

The function table data is system provided, although certain options may be tailored by the system administrator, and new custom functions (e.g. procedures) may be added.  Typically, there is no modification of provided functions and they should not be changed unless directed to do so by Support. 

 
Security is defined at the function level. A user must be granted execution rights to the function to be able to access it. 

!Functions in Self Service
There are several function types defined by High Line, however only three apply to Self Service:
* Screen
* External
* Manual

;Screen: This is a High Line created function, which looks to a pre-loaded screen. e.g. WEBEL (Other Benefit Options in ESS). You may only alter Screen functions in Self Service if the original function has been copied. This leaves the original function intact and allows you to make changes to the new version. See “How Do I Copy/Extend a Function” in this manual for further details. Please note that all copied functions will become your responsibility. Any and all changes could be lost during system upgrades as old functions may become obsolete due to technology changes in an upgrade. It is recommended that wherever possible, object security ([IMOS]), translations ([IMTN], [IMLA]) and user defined columns be used to modify the appearance of functions, as these changes will not be affected by upgrades.
;External:External functions are links to either external web pages or to documents stored outside of the Self Service application. These functions will be placed on a menu and when accessed by a user, a separate window will open displaying the link. For example, you may have a company policy that you would like to have accessible through the Self Service application. You can create a new function which points the application to that document so that users may view it online.
;Manual:Manual functions are the same as External, however, when placed on a menu and accessed by a user, the link will open within the Self Service application.
\\

The definition data for the Maintain Functions screen is stored in the [P2K_AM_FUNCTIONS], [P2K_AM_EXECUTION_RIGHTS], [P2K_AM_PREFERENCE_VALUES] and [P2K_CM_CHANGE_REASON_USAGES] tables

;[Product|PRODUCT_CODE]:Which product the function applies against.  Every function must belong to a product of one type or another. 
;[Function Name|FUNCTION_NAME]:Name of the function. This is the shortcut code that you can type in the Command window.  For system supplied functions, this should not be changed. 
;[Description|DESCRIPTION]:This field provides a short description of the function and its role within the system. It also
describes what the associated screen allows a user to do, for example, viewing or managing information in the screen. This field also controls the text that appears on the screen's heading (found at the upper left-hand corner of the screen).
;[Description (FRE)|DESCRIPTION_TRANSLATE]:This field provides the description in an secondary language. (On the example screen, the second language is identified as French -(FRE)’.)
;[Function Type|FUNCTION_TYPE]:Defines that the function is a screen, menu, procedure etc.  
;[Usage|FUNCTION_USAGE]:The Usage field indicates where the function originates.  The function may be system supplied or user defined. 
;[Computer Language|COMPUTER_LANGUAGE]:Specifies the computer language in which the function has been developed. 
;[Destination Format|DESTINATION_FORMAT]:This indicates the type of output to be generated, e.g PDF. 
;[Function Style |FUNCTION_STYLE]:
;[Subject Table|TABLE_NAME]: 
;[Find LOV|LOV_CODE]:If an LOV is used to display the data for find blocks, the LOV code is held here. 
;[Extends|FUNCTION_NAME]: If a function has been copied, the original function name will display here. 
;[PL/SQL Logic|PLSQL_BLOCK]: 
;[Web Address|WEB_ADDRESS]:If the function is to call up a web page or document on a server, the URL for that page or document will be provided in this field.
;[Implementation Name|IMPLEMENTATION_NAME]:
;[Where to Run |WHERE_RUN]:Determines that the function runs on the client or on the server. 
;[Function Level|FUNCTION_LEVEL]:Describes the level of complexity of the function, from low to high. 
;[PA Type|PA_TYPE_CODE]:If the form allows a PA to be generated, the PA Type Code needs to placed here. For example, if PAs are required for contact changes in the [WEECN] function, the user defined contact pa type code would be placed here. 
;[Create Allowed|CREATE_ALLOWED]:If the Create Allowed toggle is ON, users are able to add records with the function. If the toggle is OFF, no user is permitted to add records with the function. 
;[Retrieve Allowed|RETRIEVE_ALLOWED]:If the Retrieve Allowed toggle is ON, users are able to browse records with the function. If the toggle is OFF, no users is permitted to browse records with the function. 
;[Update Allowed |UPDATE_ALLOWED]:If the Update Allowed toggle is ON, users are able to change records with the function. If the toggle is OFF, no user is permitted to change records with the function. 
;[Delete Allowed|DELETE_ALLOWED]:If the Delete Allowed toggle is ON, users are able to delete records with the function. If the toggle is OFF, no user is permitted to delete records with the function. 
;[Purpose|PURPOSE]:This field allows you to provide a description of the menu item (either function or sub-menu). 
;:If you are using the web menu instead of the web splash, the text you supply here will appear on the Menu as the description under Label. 
;:The purpose provided here will not be seen on the splash screen. 
;[Copy Function and Form|ACT_EXTEND_FORM]:This button will allow the user to copy the function and form in focus. This will create an exact copy that the user may edit.
\\  \\
----
!!Execution Rights tab 
The Execution Rights tab allows you to grant specific users or roles access to the function and to define in what capacity. 

;[Role|ROLE_NAME] or [User|USER_NAME]:These fields allow you to chose the individual or role you wish to assign execution rights to. 
;[Create|CREATE_ALLOWED]/[Retrieve|RETRIEVE_ALLOWED]/[Update|UPDATE_ALLOWED]/[Delete Allowed|DELETE_ALLOWED]:These toggles allow you to indicate the specific execution rights you wish grant to the user or role. 
\\  \\
----
!!Preferences tab
The Preferences tab allows you to add features to the function, such as headers or footers. 
 
;[Preference|PREFERENCE_CODE]:If the function has any preferences associated with it, you may define those preferences in this field. There are a list of preferences in the drop down menu for you to select from. At this time, however, there are only two preferences that are applicable to functions within the application: 
;:HEADER INFO and FOOTER INFO 
;:These selections will allow you to add text to either the bottom (footer) or top (header) of the function form. 
;:The Header and Footer preferences are exclusive to functions and may not be attached to other items such as roles. 
;:ALLOW FIND FOCUS 
;:This will prevent a screen from having their list or find block hidden. This is particularly useful for the screens that have no other data other then the find block. 
;[Priority|PREFERENCE_SEQUENCE]:This field allows you to define the order in which the preferences will appear. Although at this time none of the preferences would occur at the same time, preferences developed in the future, however, may need a sequential order. 
;[Value|PREFERENCE_VALUE]:You need to specify the details of the preference in this field. 
;:For example:
||Preference|| 	Value 
|FOOTER INFO| 	docs/WEECN_FOOTER.html 
|ALLOW FIND FOCUS| 	N 
|Add OPEN IN SAFEMODE |

;:You must create an HTML file and save that file in the document folder on your application server. 
;:e.g. oracle/ias_903/j2ee/home/applications/selfService/HLApplication/doc/file.html 

;:Once the file has been saved, you will indicate the folder, file name and extension; there is no need to include the path up to the application folder. 
;:e.g. doc/file.html 
;:Both the file name and extension must be entered with the exact spelling and case as indicated in the document folder. 
;:`Preference' and 'Value' are mandatory fields that must be completed when you are creating a new record. 
\\  \\
----
!!Change Reasons tab 
;[Change Reason|CHANGE_CODE]:The reason the function has been modified is provided in this field. 
;[Description|DESCRIPTION]:This field full details about the change reason.