Step 1. Create Login Function
In this step, you will create a new process iiiPROC04 which contains a login function iiiFN10. The login function simply requests a user ID. (You will create a new field in the Repository for the login ID.) The login ID will be added to the STDHEADER so that it is displayed in each function. The login function will have a link to the iiiFN07 Display Sections function. The iiiFN07 function will be modified to check that a login has been entered. If no value has been entered, the iiiFN10 login will be called so that the user must be logged in to use iiiFN07.
1. From the LANSA development environment, work with the fields in the LANSA Repository. Create a new field as follows:
|
2. Create a new LANSA process named iiiPROC04 Login Process, where iii is your course assigned ID. (If the process already exists, select a different set of characters for iii.)
3. Enable your iiiPROC04 process for web. If you need to know how, refer to Web Enabling a LANSA Process.
4. Working with your iiiPROC04 process, create a new function named iiiFN10 Request Login. You will manually enter the code for the function.
5. Write the RDML Code to request the field iiiLOGIN. (This example does not include any field/file level validation. You could include validation routines inside the RDML to validate the login.)
One possible solution to this exercise is shown below (where iii is your course assigned ID):
FUNCTION (*DIRECT *WEBEVENT)
REQUEST FIELDS((#iiiLOGIN)) EXIT_KEY(*NO) MENU_KEY(*NO) USER_KEYS((01 SUBMIT))
6. Exit and save your RDML function.
7. Compile your functions.
8. Using the LANSA HTML editor, register the keywords to link your iiiFN10 Request Login function to your iiiFN007 Display Sections in Department function
The keyword entries are specified as follows (where iii is your course assigned ID):
|
9. Working with your iiiPROC03 process, manually edit your function iiiFN07 so that it checks the value of iiiLOGIN. If the value is blank, then the iiiFN10 login function should be called. Your modified function might appear as follows (where iii is your course assigned ID):
FUNCTION OPTIONS(*DIRECT *WEBEVENT)
GROUP_BY NAME(#HEADER) FIELDS((#iiiDEPT) (#DEPTDESC) (#RENTRY *HIDDEN))
DEF_LIST NAME(#iiiLIST) FIELDS((#LISTDUMMY *HIDDEN) #SECTION #SECDESC #SECPHBUS)
IF COND('#iiiLOGIN *EQ *BLANKS')
CALL PROCESS(*DIRECT) FUNCTION(iiiFN10)
ENDIF
IF COND('#RENTRY *NE Y')
...
10. Exit and save your RDML function.
11. Compile your function.