Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

[ Image Removed |../../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