Page History
RDMLX Source code to complete iiiFN15 – Create PDF Output for Employees
...
* Produce PDF document for employees selected by surname...
When (= S)
...
#outsts := *blanks
...
#rep1page := 1
...
Select Fields(*all) From_File(pslmst2) With_Key(#surname) Nbr_Keys(*compute) Generic(*yes)
...
* Add Logo
...
Change Field(#JSMXCMD) To('ADD CONTENT(LOGO) ')
...
Use Builtin(JSMx_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMSTS #JSMMSG)
...
Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)
...
* Clear employee header list
...
Clr_List Named(#header)
...
#fullname := #surname + ', ' + #givename
...
Fetch Fields(#deptdesc) From_File(deptab) With_Key(#deptment)
...
Fetch Fields(#secdesc) From_File(sectab) With_Key(#deptment #section)
...
Add_Entry To_List(#header)
...
If_Status Is(*OKAY)
...
Change Field(#JSMXCMD) To('ADD CONTENT(HEADER) ')
...
Use Builtin(JSMx_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD #HEADER) To_Get(#JSMSTS #JSMMSG)
...
Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)
...
#outsts := OK
...
Else
...
Message Msgtxt('Employees not found for surname: ' + #surname)
...
Leave
...
Endif
...
* Add Employee Skills List
...
* Get employee skills
...
* ======================
...
Clr_List Named(#skilltbl)
...
Select Fields(#skills) From_File(pslskl) With_Key(#empno) Nbr_Keys(*compute) Generic(*yes) Val_Error(*next)
...
Fetch Fields(#skills) From_File(skltab) With_Key(#skilcode) Val_Error(*next)
...
#std_text := #dateacq.asdate( MMDDYY ).asdisplayString( MMsDDsCCYY )
...
* if your locale date format is not MMDDYY, change this value to DDMMYY
...
Execute Subroutine(grade)
...
Add_Entry To_List(#skilltbl)
...
Endselect
...
If_Status Is_Not(*error)
...
Change Field(#JSMXCMD) To('ADD CONTENT(SKILLTBL) SERVICE_LIST(SKILDESC,GRADEDES,DATEACQ,COMMENT)')
...
Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMSTS #JSMMSG #SKILLTBL)
...
Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)
...
Else
...
Message Msgtxt('Employee skills not found')
...
Endif
...
Execute Subroutine(footer)
...
#rep1page += 1
...
Endselect
...
If (#outsts = OK)
...
Execute Subroutine(CLOSE)
...
Else
...
Message Msgtxt('No output produced')
...
* Close the JSM
...
Use Builtin(JSMX_CLOSE) With_Args(#jsmxhdle1) To_Get(#JSMSTS #JSMMSG)
...
Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)
...
Endif
...
* Produce PDF document for Employees by Department
...
When (= D)
...
#rep1page := 1
...
#outsts := *blanks
...
Select Fields(*all) From_File(pslmst1) With_Key(#deptment) Nbr_Keys(*compute)
...
* Add Logo
...
Change Field(#JSMXCMD) To('ADD CONTENT(LOGO) ')
...
Use Builtin(JSMx_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMSTS #JSMMSG)
...
Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)
...
* Clear employee header list
...
Clr_List Named(#header)
...
#fullname := #surname + ', ' + #givename
...
Fetch Fields(#deptdesc) From_File(deptab) With_Key(#deptment)
...
Fetch Fields(#secdesc) From_File(sectab) With_Key(#deptment #section)
...
Add_Entry To_List(#header)
...
If_Status Is(*OKAY)
...
Change Field(#JSMXCMD) To('ADD CONTENT(HEADER) ')
...
Use Builtin(JSMx_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD #HEADER) To_Get(#JSMSTS #JSMMSG)
...
Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)
...
#outsts := OK
...
Else
...
Message Msgtxt('Employees not found for Dept ' + #deptment)
...
Leave
...
Endif
...
* Add Employee Skills List
...
* Get employee skills
...
* ======================
...
Clr_List Named(#skilltbl)
...
Select Fields(#skills) From_File(pslskl) With_Key(#empno) Nbr_Keys(*compute) Val_Error(*next)
...
Fetch Fields(#skills) From_File(skltab) With_Key(#skilcode) Val_Error(*next)
...
#std_text := #dateacq.asdate( MMDDYY ).asdisplayString( MMsDDsCCYY )
...
* if your locale date format is not MMDDYY, change this value to DDMMYY
...
Execute Subroutine(grade)
...
Add_Entry To_List(#skilltbl)
...
Endselect
...
If_Status Is_Not(*error)
...
Change Field(#JSMXCMD) To('ADD CONTENT(SKILLTBL) SERVICE_LIST(SKILDESC,GRADEDES,DATEACQ,COMMENT)')
...
Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMSTS #JSMMSG #SKILLTBL)
...
Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)
...
Else
...
Message Msgtxt('Employee skills not found')
...
Endif
...
Execute Subroutine(footer)
...
#rep1page += 1
...
Endselect
...
If (#outsts = OK)
...
Execute Subroutine(CLOSE)
...
Else
...
* Close the JSM
...
Use Builtin(JSMX_CLOSE) With_Args(#jsmxhdle1) To_Get(#JSMSTS #JSMMSG)
...
Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)
...
Message Msgtxt('No output produced')
...
Endif