Page History
[ |../../index.htm#lansa/wamtut01_0625.htm]
You are here:
...
Use the following RDMLX source code to create iiiEmpMaint_TB in Step 5 of this exercise.
...
DEF_
...
LIST NAME(#emps)
...
FIELDS(
...
#empno (
...
#givename *out)
...
(
...
#surname *out)
...
(
...
#deptment *out)
...
(
...
#section *out)
...
(
...
#salary *out))
...
COUNTER(#listcount)
...
TYPE(*Working)
...
ENTRYS(99)
...
DEFINE FIELD(#hidesave)
...
TYPE(*char)
...
LENGTH(1)
...
DEFINE FIELD(#hidedel)
...
TYPE(*char)
...
LENGTH(1)
...
DEFINE FIELD(#hidenew)
...
TYPE(*char)
...
LENGTH(1)
...
DEFINE FIELD(#hidesrch)
...
TYPE(*char)
...
LENGTH(1)
...
DEFINE FIELD(#empnow)
...
REFFLD(#empno)
...
Define Field(#wrname)
...
Type(*char)
...
Length(50)
GROUP_
...
BY NAME(#empmnt)
...
FIELDS(#SURNAME #GIVENAME #ADDRESS1 #ADDRESS2 #ADDRESS3 #POSTCODE #PHONEHME #PHONEBUS)
GROUP_BY NAME(#empadd) FIELDS(#EMPNO #SURNAME #GIVENAME #ADDRESS1 #ADDRESS2 #ADDRESS3 #POSTCODE #PHONEHME #PHONEBUS #DEPTMENT #SECTION #SALARY #STARTDTE)
WEB_MAP FOR(*output) FIELDS((#hidesave *hidden) (#hidedel *hidden) (#hidenew *hidden) (#hidesrch *hidden) (#wrname *hidden))
WEB_MAP FOR(*both) FIELDS((#stdrentry *hidden) (#empnow *hidden))
WebRoutine NAME(Begin)
WEB_MAP FOR(*output) FIELDS(#surname)
#hidedel #hidesave #hidesrch := Y
ENDROUTINE
WebRoutine NAME(empgrid)
WEB_MAP FOR(*input) FIELDS(#surname)
WEB_MAP FOR(*output) FIELDS((#emps *private))
#hidedel #hidesave := Y
EXECUTE SUBROUTINE(bldlist)
ENDROUTINE
WebRoutine NAME(emplist) DESC('Employee List')
WEB_MAP FOR(*input) FIELDS(#surname)
WEB_MAP FOR(*output) FIELDS(#emps)
#hidedel #hidesave := Y
EXECUTE SUBROUTINE(bldlist)
ENDROUTINE
WebRoutine NAME(maint)
WEB_MAP FOR(*both) FIELDS((#empno *out) #empmnt)
#hidedel #hidesave #hidesrch #hidenew := N
#wrname := 'maint'
CASE (#stdrentry)
WHEN (= S)
UPDATE FIELDS(#empmnt) IN_FILE(pslmst) WITH_KEY(#empnow) VAL_ERROR(*next)
IF_STATUS IS(*OKAY)
MESSAGE MSGTXT('Employee changed')
TRANSFER TOROUTINE(begin)
ENDIF
#EMPNO := #EMPNOW
WHEN (= D)
DELETE FROM_FILE(pslmst) WITH_KEY(#empnow) VAL_ERROR(*next)
IF_STATUS IS(*OKAY)
MESSAGE MSGTXT('Employee deleted')
TRANSFER TOROUTINE(begin)
ENDIF
#EMPNO := #EMPNOW
OTHERWISE
FETCH FIELDS(#empmnt) FROM_FILE(pslmst) WITH_KEY(#empno)
#empnow := #empno
MESSAGE MSGTXT('Enter changes and Save')
ENDCASE
ENDROUTINE
WebRoutine NAME(new)
WEB_MAP FOR(*both) FIELDS(#empadd)
#hidedel #hidenew := Y
CASE (#stdrentry)
WHEN (= N)
#empadd := *default
MESSAGE MSGTXT('Enter details and Save')
WHEN (= S)
INSERT FIELDS(#empadd) TO_FILE(pslmst) VAL_ERROR(*next)
...
IF_STATUS IS(*OKAY)
...
MESSAGE MSGTXT('New Employee added')
...
ENDIF
ENDCASE
#wrname := 'new'
...
ENDROUTINE
SUBROUTINE NAME(bldlist)
...
CLR_LIST NAMED(#emps)
...
SELECT FIELDS(#emps) FROM_FILE(pslmst2) WITH_KEY(#surname) GENERIC(*yes)
...
ADD_ENTRY TO_LIST(#emps)
...
IF (#listcount = 15)
...
MESSAGE MSGTXT('First 15 entries shown only')
...
LEAVE
ENDIF
ENDSELECT
ENDROUTINE