sHelp
                                     SCH.CAL
     i   2
     sch.cal.input.search.top
     sch.cal.input.table.queue
       sch.cal.input.table.queue.appt
     sch.cal.input.table.resources
     sch.cal.week.inq.res
       sch.cal.week.inquiry
     sch.cal.week.inq.rsrc.grp
   sch.calendar.resources
     sch.calendar.comments.daily
       sch.cal.comments.date.texts
     sch.cal.comments.general.text
     sch.calendar.comments.schedule
       sch.cal.comments.sched.texts
     sch.calendar
       sch.cal.basic.schedule
         sch.cal.profile.dr.group
           sch.cal.profile.dr
         sch.cal.profile.group
           sch.cal.profile.type
         profile.patient.type
       sch.cal.detail
       calendar.edits
       sch.cal.table
         sch.cal.table.appts
         sch.cal.table.unavail.times
   sch.cal.rsrc.book.top
     sch.cal.resource.book
       sch.cal.resource.book.detail

 Ì     i   2
sch.cal.input.search.top    (input.search.top) 
[inp.srch.date,inp.srch.resource]
/WSCI["S",wscD,wre]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 inp.srch.date                8 DATE     L                 wscD                                                        
 inp.srch.resource           15 FREE     L  SCH.RESOURCE   wre                                                     
 Ì     i   2
sch.cal.input.table.queue    (input.table.queue) 
[inp.table.time.row,inp.table.rsrc.col]
/WSCI["T",wscTR,wscRC]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 inp.table.time.row           2 PINT     R                 wscTR                                                       
 inp.table.rsrc.col           2 PINT     R                 wscRC                                                       
 inp.table.appointments       3 PINT     R                 /WSCI["T",wscTR,wscRC]|7                                    
 inp.table.available          3 PINT     R                 /WSCI["T",wscTR,wscRC]|6                                    
 inp.table.book               3 PINT     R                 /WSCI["T",wscTR,wscRC]|8                                    
 inp.table.capacity           3 PINT     R                 /WSCI["T",wscTR,wscRC]|3                                    
 inp.table.end.time           4 HHMM5    L                 /WSCI["T",wscTR,wscRC]|2                                    
 inp.table.group             10 FREE     L  SCH.RSRC.GRP   /WSCI["T",wscTR,wscRC]|4                                
 inp.table.no.times           1 YN       L                 /WSCI["T",wscTR,wscRC]|9                                    
 inp.table.obk                1 YN       L                 /WSCI["T",wscTR,wscRC]|10                                   
 inp.table.prof.time          4 HHMM5    L                 /WSCI["T",wscTR,wscRC]|13                                   
 inp.table.profile            1 YN       L                 /WSCI["T",wscTR,wscRC]|12                                   
 inp.table.reserved           3 PINT     R                 /WSCI["T",wscTR,wscRC]|5                                    
 inp.table.resource          15 FREE     L  SCH.RESOURCE   /WSCI["T",wscTR,wscRC]|0                                
 inp.table.resource.seq       3 PINT     R                 /WSCI["T",wscTR,wscRC]|11                                   
 inp.table.start.time         4 HHMM5    L                 /WSCI["T",wscTR,wscRC]|1                                    
 Ì     i   2
sch.cal.input.table.queue.appt    (input.table.queue.appt) 
[inp.table.time.row,inp.table.rsrc.col, inp.table.appt.urn]
/WSCI["T",wscTR,wscRC]A[wz]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 inp.table.appt.urn          10 FREE     L  SCH.APPT       wz                                                      
 Ì     i   2
sch.cal.input.table.resources    (input.table.resources) 
[input.table.resource.seq]
/WSCI["TR",wreQ]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 input.table.resource.seq     3 PINT     R                 wreQ                                                        
 inp.table.earliest           4 HHMM5    L                 /WSCI["TR",wreQ]|3                                          
 inp.table.resource.pcp       1 YN       L                 /WSCI["TR",wreQ]|2                                          
 inp.table.resource.rows      2 PINT     R                 /WSCI["TR",wreQ]|1                                          
 input.table.resource        15 FREE     L  SCH.RESOURCE   /WSCI["TR",wreQ]|0                                      
 Ì     i   2
sch.cal.week.inq.res    (week.inq.resource) 
[week.day.resource]
/WSCI["W",wre]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 week.day.resource           15 FREE     L  SCH.RESOURCE   wre                                                     
 week.day1                    8 DATE     L                 /WSCI["W",wre]|1                                            
 week.day1.name               4 FREE     L                 VAL=%Z.day.out(%Z.day.from.date(@week.day1))_(IF{@edit      
                                                           VAL=ed[week.day.resource,@week.day1] "*"})                  
 week.day2                    8 DATE     L                 /WSCI["W",wre]|2                                            
 week.day2.name               4 FREE     L                 VAL=%Z.day.out(%Z.day.from.date(@week.day2))_IF{@edite      
                                                           VAL=d[week.day.resource,@week.day2] "*"}                    
 week.day3                    8 DATE     L                 /WSCI["W",wre]|3                                            
 week.day3.name               4 FREE     L                 VAL=%Z.day.out(%Z.day.from.date(@week.day3))_IF{@edite      
                                                           VAL=d[week.day.resource,@week.day3] "*"}                    
 week.day4                    8 DATE     L                 /WSCI["W",wre]|4                                            
 week.day4.name               4 FREE     L                 VAL=%Z.day.out(%Z.day.from.date(@week.day4))_IF{@edite      
                                                           VAL=d[week.day.resource,@week.day4] "*"}                    
 week.day5                    8 DATE     L                 /WSCI["W",wre]|5                                            
 week.day5.name               4 FREE     L                 VAL=%Z.day.out(%Z.day.from.date(@week.day5))_IF{@edite      
                                                           VAL=d[week.day.resource,@week.day5] "*"}                    
 week.day6                    8 DATE     L                 /WSCI["W",wre]|6                                            
 week.day6.name               4 FREE     L                 VAL=%Z.day.out(%Z.day.from.date(@week.day6))_IF{@edite      
                                                           VAL=d[week.day.resource,@week.day6] "*"}                    
 week.day7                    8 DATE     L                 /WSCI["W",wre]|7                                            
 week.day7.name               4 FREE     L                 VAL=%Z.day.out(%Z.day.from.date(@week.day7))_IF{@edite      
                                                           VAL=d[week.day.resource,@week.day7] "*"}                    
 week.inq.out                90 FREE     L                 /WSCI["W",wre]|0                                            
 week.resource.and.name      48 FREE     L                 VAL=week.day.resource_" - "_@SCH.RESOURCE.name[week.da      
                                                           VAL=y.resource]                                             
 Ì     i   2
sch.cal.week.inquiry    (week.inquiry) 
[week.day.resource, week.day.time.seq.no]
/WSCI["W",wre,wscT]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 week.day.time.seq.no         2 PINT     R                 wscT                                                        
 week.day.end.time            4 HHMM5    L                 /WSCI["W",wre,wscT]|1                                       
 week.day.time                4 HHMM5    L                 /WSCI["W",wre,wscT]|0                                       
 week.day1.avail              5 DEC      R                 /WSCI["W",wre,wscT]|3                                       
 week.day1.cap                5 DEC      R                 /WSCI["W",wre,wscT]|4                                       
 week.day1.ovbk               5 DEC      R                 /WSCI["W",wre,wscT]|5                                       
 week.day1.ovbk.yn            1 YN       L                 VAL=IF{@week.day1.ovbk+0'=0 "Y";"N"}                        
 week.day1.usage              5 DEC      R                 /WSCI["W",wre,wscT]|2                                       
 week.day1.usage.obk          6 FREE     L                 VAL=@week.day1.usage:5R_IF{@week.day1.ovbk+0>0 "*"}      
 week.day2.avail              5 DEC      R                 /WSCI["W",wre,wscT]|7                                       
 week.day2.cap                5 DEC      R                 /WSCI["W",wre,wscT]|8                                       
 week.day2.ovbk               5 DEC      R                 /WSCI["W",wre,wscT]|9                                       
 week.day2.ovbk.yn            1 YN       L                 VAL=IF{@week.day2.ovbk+0'=0 "Y";"N"}                        
 week.day2.usage              5 DEC      R                 /WSCI["W",wre,wscT]|6                                       
 week.day2.usage.obk          6 FREE     L                 VAL=@week.day2.usage:5R_IF{@week.day2.ovbk+0>0 "*"}      
 week.day3.avail              5 DEC      R                 /WSCI["W",wre,wscT]|11                                      
 week.day3.cap                5 DEC      R                 /WSCI["W",wre,wscT]|12                                      
 week.day3.ovbk               5 DEC      R                 /WSCI["W",wre,wscT]|13                                      
 week.day3.ovbk.yn            1 YN       L                 VAL=IF{@week.day3.ovbk+0'=0 "Y";"N"}                        
 week.day3.usage              5 DEC      R                 /WSCI["W",wre,wscT]|10                                      
 week.day3.usage.obk          6 FREE     L                 VAL=@week.day3.usage:5R_IF{@week.day3.ovbk+0>0 "*"}      
 week.day4.avail              5 DEC      R                 /WSCI["W",wre,wscT]|15                                      
 week.day4.cap                5 DEC      R                 /WSCI["W",wre,wscT]|16                                      
 week.day4.ovbk               5 DEC      R                 /WSCI["W",wre,wscT]|17                                      
 week.day4.ovbk.yn            1 YN       L                 VAL=IF{@week.day4.ovbk+0'=0 "Y";"N"}                        
 week.day4.usage              5 DEC      R                 /WSCI["W",wre,wscT]|14                                      
 week.day4.usage.obk          6 FREE     L                 VAL=@week.day4.usage:5R_IF{@week.day4.ovbk+0>0 "*"}      
 week.day5.avail              5 DEC      R                 /WSCI["W",wre,wscT]|19                                      
 week.day5.cap                5 DEC      R                 /WSCI["W",wre,wscT]|20                                      
 week.day5.ovbk               5 DEC      R                 /WSCI["W",wre,wscT]|21                                      
 week.day5.ovbk.yn            1 YN       L                 VAL=IF{@week.day5.ovbk+0'=0 "Y";"N"}                        
 week.day5.usage              5 DEC      R                 /WSCI["W",wre,wscT]|18                                      
 week.day5.usage.obk          6 FREE     L                 VAL=@week.day5.usage:5R_IF{@week.day5.ovbk+0>0 "*"}      
 week.day6.avail              5 DEC      R                 /WSCI["W",wre,wscT]|23                                      
 week.day6.cap                5 DEC      R                 /WSCI["W",wre,wscT]|24                                      
 week.day6.ovbk               5 DEC      R                 /WSCI["W",wre,wscT]|25                                      
 week.day6.ovbk.yn            1 YN       L                 VAL=IF{@week.day6.ovbk+0'=0 "Y";"N"}                        
 week.day6.usage              5 DEC      R                 /WSCI["W",wre,wscT]|22                                      
 week.day6.usage.obk          6 FREE     L                 VAL=@week.day6.usage:5R_IF{@week.day6.ovbk+0>0 "*"}      
 week.day7.avail              5 DEC      R                 /WSCI["W",wre,wscT]|27                                      
 week.day7.cap                5 DEC      R                 /WSCI["W",wre,wscT]|28                                      
 week.day7.ovbk               5 DEC      R                 /WSCI["W",wre,wscT]|29                                      
 week.day7.ovbk.yn            1 YN       L                 VAL=IF{@week.day7.ovbk+0'=0 "Y";"N"}                        
 week.day7.usage              5 DEC      R                 /WSCI["W",wre,wscT]|26                                      
 week.day7.usage.obk          6 FREE     L                 VAL=@week.day7.usage:5R_IF{@week.day7.ovbk+0>0 "*"}      
 Ì     i   2
sch.cal.week.inq.rsrc.grp    (week.inq.rsrc.grp) 
[week.rsrc.grp]
/WSCI["W",wrg]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 week.rsrc.grp               10 FREE     L  SCH.RSRC.GRP   wrg                                                     
 week.grp.and.name           48 FREE     L                 VAL=week.day.rsrc.grp_" - "_@SCH.RSRC.GRP.description[      
                                                           VAL=week.day.rsrc.grp]                                      
 week.grp.day1                8 DATE     L                 /WSCI["W",wrg]|1                                            
 week.grp.day1.name           3 FREE     L                 VAL=%Z.day.out(%Z.day.from.date(@week.grp.day1))            
 week.grp.day2                8 DATE     L                 /WSCI["W",wrg]|2                                            
 week.grp.day2.name           3 FREE     L                 VAL=%Z.day.out(%Z.day.from.date(@week.grp.day2))            
 week.grp.day3                8 DATE     L                 /WSCI["W",wrg]|3                                            
 week.grp.day3.name           3 FREE     L                 VAL=%Z.day.out(%Z.day.from.date(@week.grp.day3))            
 week.grp.day4                8 DATE     L                 /WSCI["W",wrg]|4                                            
 week.grp.day4.name           3 FREE     L                 VAL=%Z.day.out(%Z.day.from.date(@week.grp.day4))            
 week.grp.day5                8 DATE     L                 /WSCI["W",wrg]|5                                            
 week.grp.day5.name           3 FREE     L                 VAL=%Z.day.out(%Z.day.from.date(@week.grp.day5))            
 week.grp.day6                8 DATE     L                 /WSCI["W",wrg]|6                                            
 week.grp.day6.name           3 FREE     L                 VAL=%Z.day.out(%Z.day.from.date(@week.grp.day6))            
 week.grp.day7                8 DATE     L                 /WSCI["W",wrg]|7                                            
 week.grp.day7.name           3 FREE     L                 VAL=%Z.day.out(%Z.day.from.date(@week.grp.day7))            
 week.grp.inq.out            90 FREE     L                 /WSCI["W",wrg]|0                                            
 Ì     i   2
sch.calendar.resources    (resources) 
[resource]
?WSC[wre]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 resource                    15 FREE     L  SCH.RESOURCE   wre                                                     
 comments.dai.seq.no          4 PINT     R                 ?WSC[wre]|2                                                 
 comments.gen.seq.no          4 PINT     R                 ?WSC[wre]|0                                                 
 comments.sch.seq.no          4 PINT     R                 ?WSC[wre]|1                                                 
 resource.and.name           48 FREE     L                 VAL=(@SCH.CAL.resource_" - "_@SCH.RESOURCE.name)            
 resource.ok                  1 YN       L                 VAL=%SCH.ACCESS.check.M.resource(resource,@.user)           
 Ì     i   2
sch.calendar.comments.daily    (comments.daily) 
[resource, comment.dai.seq.no]
?WSC[wre]CD[wscCD]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 comment.dai.seq.no           4 PINT     R                 wscCD                                                       
 comment.dai.edit             1 YN       L                 ?WSC[wre]CD[wscCD]|0                                        
 for.comment.dai.text         1 FREE     L                 VAL=@comment.dai.texts[mnemonic,"CD",comment.dai.seq.n      
                                                           VAL=o,@.comment.dai.text]                                   
 Ì     i   2
sch.cal.comments.date.texts    (comments.daily.texts) 
[resource,comment.dai.seq.no, comment.dai.text.seq]
?WSC[wre]CD[wscCD]T[wscDT]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 comment.dai.text.seq         3 PINT     R                 wscDT                                                       
 comment.dai.text            60 FREE     L                 ?WSC[wre]CD[wscCD]T[wscDT]                                  
 Ì     i   2
sch.cal.comments.general.text    (comments.general.text) 
[resource, comment.gen.text.seq]
?WSC[wre]CG[wscCG]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 comment.gen.text.seq         3 PINT     R                 wscCG                                                       
 comment.gen.text            79 FREE     L                 ?WSC[wre]CG[wscCG]                                          
 Ì     i   2
sch.calendar.comments.schedule    (comments.schedule) 
[resource, comment.sch.seq.no]
?WSC[wre]CS[wscCS]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 comment.sch.seq.no           4 PINT     R                 wscCS                                                       
 comment.sch.edit             1 YN       L                 ?WSC[wre]CS[wscCS]|0                                        
 for.comment.sch.text         1 FREE     L                 VAL=@comment.sch.texts[mnemonic,"CG",comment.gen.seq.n      
                                                           VAL=o,@.comment.gen.text]                                   
 Ì     i   2
sch.cal.comments.sched.texts    (comments.schedule.texts) 
[resource,comment.sch.seq.no, comment.sch.text.seq]
?WSC[wre]CS[wscCS]T[wscST]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 comment.sch.text.seq         3 PINT     R                 wscST                                                       
 comment.sch.text            60 FREE     L                 ?WSC[wre]CS[wscCS]T[wscST]                                  
 Ì     i   2
sch.calendar    (main) 
[resource, date]
?WSC[wre]A[wscD]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 date                         8 DATE     L                 wscD                                                        
 app.mins                     4 PINT     R                 ?WSC[wre]A[wscD]|1                                          
 app.no                       3 PINT     R                 ?WSC[wre]A[wscD]|5                                          
 cap.mins                     5 PINT     R                 ?WSC[wre]A[wscD]|0                                          
 comment.no                   3 PINT     R                 ?WSC[wre]A[wscD]|7                                          
 date.text.out               45 FREE     L                 VAL=%SCH.COMMON.calendar.date.out("","",date)               
 edit.comment.no              3 PINT     R                 ?WSC[wre]A[wscD]|8                                          
 edit.reason                 10 FREE     L  SCH.EDIT.RSN   ?WSC[wre]A[wscD]|10                                     
 edited                       1 YN       L                 ?WSC[wre]A[wscD]|9                                          
 largest.avail.time.count     3 INT      R                 VAL=@SCH.CAL.count[largest.avail.time.start]                
 largest.avail.time.dt.grp   10 FREE     L                 VAL=@SCH.CAL.detail.group[largest.avail.time.start]         
 largest.avail.time.end       4 HHMM5    L                 VAL=@SCH.CAL.thru.time[largest.avail.time.start]            
 largest.avail.time.start     4 HHMM5    L                 VAL=%SCH.CAL.build.time.status.array(resource,date,"A"      
                                                           VAL=)^largest.avail.time.start                              
 ob.mins                      4 PINT     R                 ?WSC[wre]A[wscD]|3                                          
 res.mins                     4 PINT     R                 ?WSC[wre]A[wscD]|4                                          
 res.no                       3 PINT     R                 ?WSC[wre]A[wscD]|6                                          
 sch.mins                     4 PINT     R                 ?WSC[wre]A[wscD]|2                                          
 wait.mins                    4 PINT     R                 ?WSC[wre]A[wscD]|11                                         
 wait.no                      3 PINT     R                 ?WSC[wre]A[wscD]|12                                         
 Ì     i   2
sch.cal.basic.schedule    (basic.sched) 
[resource,date, basic.start]
?WSC[wre]A[wscD]B[wscF]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 basic.start                  4 HHMM     L                 wscF                                                        
 basic.capacity               3 INT      R                 ?WSC[wre]A[wscD]B[wscF]|1                                   
 basic.end                    4 HHMM     L                 ?WSC[wre]A[wscD]B[wscF]|0                                   
 basic.group                 10 FREE     L  SCH.RSRC.GRP   ?WSC[wre]A[wscD]B[wscF]|2                               
 basic.group.name            30 FREE     L                 VAL=IF{'@basic.group IF{@basic.capacity+0=0 "<UNAVA      
                                                           VAL=ILABLE>";"<AVAILABLE TO ANY GROUP>"};@SCH      
                                                           VAL=.RSRC.GRP.description[@basic.group]}                    
 basic.group.ok               1 YN       L                 VAL=%SCH.ACCESS.check.M.rsrc.grp(@basic.group,@.user)       
 basic.pro.from.time          4 HHMM     L                 ?WSC[wre]A[wscD]B[wscF]|6                                   
 basic.profile                1 YN       L                 ?WSC[wre]A[wscD]B[wscF]|7                                   
 basic.profile.inc.exc        7 CHOICE   L                 ?WSC[wre]A[wscD]B[wscF]|9                                   
 basic.profile.release        4 FREE     L                 ?WSC[wre]A[wscD]B[wscF]|8                                   
 Ì     i   2
sch.cal.profile.dr.group    (or.profile.dr.group) 
[resource,date,basic.start, or.pro.dr.group]
?WSC[wre]A[wscD]B[wscF]OR[ggh]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 or.pro.dr.group             10 FREE     L  MIS.DOC.GRP    ggh                                                     
 Ì     i   2
sch.cal.profile.dr    (or.profile.dr) 
[resource,date,basic.start,or.pro.dr.group, or.pro.dr]
?WSC[wre]A[wscD]B[wscF]OR[ggh]DR[ggg]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 or.pro.dr                   10 FREE     L  MIS.DOC.DICT   ggg                                                     
 Ì     i   2
sch.cal.profile.group    (profile.group) 
[resource,date,basic.start, pro.group]
?WSC[wre]A[wscD]B[wscF]PG[wac]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 pro.group                   10 FREE     L  SCH.APPT.GROUP wac                                                     
 Ì     i   2
sch.cal.profile.type    (profile.type) 
[resource,date,basic.start,pro.group, pro.type]
?WSC[wre]A[wscD]B[wscF]PG[wac]PT[wat]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 pro.type                    10 FREE     L  SCH.APPT.TYPE  wat                                                     
 pro.type.max                 3 PINT     R                 ?WSC[wre]A[wscD]B[wscF]PG[wac]PT[wat]|0                     
 Ì     i   2
profile.patient.type    (profile.pt.type) 
[resource,date,basic.start, pro.pt.type]
?WSC[wre]A[wscD]B[wscF]PT[wscPT]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 pro.pt.type                  3 CHOICE   L                 wscPT                                                       
 Ì     i   2
sch.cal.detail    (detail) 
[resource,date, status,from.time]
?WSC[wre]A[wscD]D[wscS,wscF]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 status                       1 CHOICE   L                 wscS                                                        
 from.time                    4 HHMM     L                 wscF                                                        
 count                        3 INT      R                 ?WSC[wre]A[wscD]D[wscS,wscF]|1                              
 detail.comment.no            3 PINT     R                 ?WSC[wre]A[wscD]D[wscS,wscF]|2                              
 detail.group                10 FREE     L  SCH.RSRC.GRP   ?WSC[wre]A[wscD]D[wscS,wscF]|4                          
 detail.group.name           30 FREE     L                 VAL=IF{'@detail.group IF{@status="U"!(@status="O") "&l      
                                                           VAL=t;UNAVAILABLE>";"<AVAILABLE FOR ANY GROUP>      
                                                           VAL=;"};@SCH.RSRC.GRP.description[@detail.group]}           
 detail.group.ok              1 YN       L                 VAL=%SCH.ACCESS.check.M.rsrc.grp(@detail.group,@.user)      
 detail.pro.from.time         4 HHMM     L                 ?WSC[wre]A[wscD]D[wscS,wscF]|6                              
 detail.profile               1 YN       L                 ?WSC[wre]A[wscD]D[wscS,wscF]|7                              
 edit.detail.comment.no       3 PINT     R                 ?WSC[wre]A[wscD]D[wscS,wscF]|3                              
 status.expanded.out         11 FREE     L                 VAL=IF{status="A" "AVAILABLE";status="B" "BOOKED";stat      
                                                           VAL=us="R" "RESERVED";status="U" "UNAVAILABLE";"OVERBO      
                                                           VAL=OKED"}                                                  
 thru.time                    4 HHMM     L                 ?WSC[wre]A[wscD]D[wscS,wscF]|0                              
 waitlist.release.dt         13 FREE     L                 ?WSC[wre]A[wscD]D[wscS,wscF]|8                              
 Ì     i   2
calendar.edits    (edits) 
[resource,date, edit.seconds]
?WSC[wre]A[wscD]ED[wscED]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 edit.seconds                 9 DEC      R                 wscED                                                       
 edit.reason.log             10 FREE     L  SCH.EDIT.RSN   ?WSC[wre]A[wscD]ED[wscED]|1                             
 edit.user                   10 FREE     L  MIS.USER       ?WSC[wre]A[wscD]ED[wscED]|0                             
 Ì     i   2
sch.cal.table    (table) 
[resource,date, start.time]
?WSC[wre]A[wscD]T[wscF]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 start.time                   4 HHMM     L                 wscF                                                        
 appointments                 3 INT      R                 ?WSC[wre]A[wscD]T[wscF]|5                                   
 available                    3 INT      R                 ?WSC[wre]A[wscD]T[wscF]|4                                   
 capacity                     3 INT      R                 ?WSC[wre]A[wscD]T[wscF]|1                                   
 end.time                     4 HHMM     L                 ?WSC[wre]A[wscD]T[wscF]|0                                   
 group                       10 FREE     L  SCH.RSRC.GRP   ?WSC[wre]A[wscD]T[wscF]|2                               
 group.name                  30 FREE     L                 VAL=IF{'@group IF{@capacity+0=0 "<UNAVAILABLE>";      
                                                           VAL="<AVAILABLE FOR ANY GROUP>"};@SCH.RSRC.GRP.d      
                                                           VAL=escription[@group]}                                     
 overbooked                   3 INT      R                 VAL=(@SCH.CAL.appointments+@SCH.CAL.reserved-@SCH.CAL.      
                                                           VAL=capacity>0)                                          
 reserved                     3 INT      R                 ?WSC[wre]A[wscD]T[wscF]|3                                   
 table.grp.appts              1 YN       L                 VAL=IF{%SCH.CAL.table.grp.appts(resource,date,start.ti      
                                                           VAL=me) "Y";"N"}                                            
 table.grp.avail              1 YN       L                 VAL=IF{@group=group!(@group_.=.)&(@available+0>0) "      
                                                           VAL=Y";"N"}                                                 
 table.grp.avail.or.appts     1 YN       L                 VAL=IF{IF{%SCH.CAL.table.grp.appts(resource,date,start      
                                                           VAL=.time);@available+0'>0 "";@group=group;@group_.      
                                                           VAL==.} "Y";"N"}                                            
 table.grp.conflict           1 YN       L                 VAL=IF{'@SCH.CAL.group "N";@Last(SCH.CAL.appt.rsrc.gro      
                                                           VAL=up)_.^g'=(@First(SCH.CAL.appt.rsrc.group)_.) "Y";g      
                                                           VAL='=.'=(@SCH.CAL.group_.) "Y";"N"}                        
 table.pro.from.time          4 HHMM     L                 ?WSC[wre]A[wscD]T[wscF]|6                                   
 table.profile                1 YN       L                 ?WSC[wre]A[wscD]T[wscF]|7                                   
 table.time.in.range          1 YN       L                 VAL=IF{b.from.time'<start.time<@end.time "Y";sta      
                                                           VAL=rt.time>b.from.time<e.from.time "Y";"N"}          
 table.time.ok                1 YN       L                 VAL=%SCH.CAL.check.table.time.access(resource,date,sta      
                                                           VAL=rt.time)                                                
 usage                        3 INT      R                 VAL=(0+@SCH.CAL.appointments+@SCH.CAL.reserved)             
 waitlist.hold                1 YN       L                 ?WSC[wre]A[wscD]T[wscF]|8                                   
 Ì     i   2
sch.cal.table.appts    (table.appts) 
[resource,date,start.time, appt.rsrc.group,appt.urn]
?WSC[wre]A[wscD]T[wscF,wrg,wz]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 appt.rsrc.group             10 FREE     L  SCH.RSRC.GRP   wrg                                                     
 appt.urn                    10 FREE     L  SCH.APPT       wz                                                      
 appt.continued               1 FREE     L                 VAL=IF{@table.appts[resource,date,@end.time,appt.urn]       
                                                           VAL="*"}                                                    
 appt.rsrc.grp.conflict       1 YN       L                 VAL=IF{appt.rsrc.group=@group "N";"Y"}                      
 appt.rsrc.grp.ok             1 YN       L                 VAL=%SCH.ACCESS.check.M.rsrc.grp(appt.rsrc.group,@.use      
                                                           VAL=r)                                                      
 appt.type                   10 FREE     L  SCH.APPT.TYPE  ?WSC[wre]A[wscD]T[wscF,wrg,wz]|0                        
 Ì     i   2
sch.cal.table.unavail.times    (table.unavail.times) 
[resource,date,start.time, time.reason]
?WSC[wre]A[wscD]T[wscF,wer]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 time.reason                 10 FREE     L  SCH.EDIT.RSN   wer                                                     
 time.comment                15 FREE     L                 ?WSC[wre]A[wscD]T[wscF,wer]|0                               
 Ì     i   2
sch.cal.resource.book    (rsrc.book) 
[book.resource,book.date,book.time]
/WSCB[wre,wscD,wscBT]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 book.resource               15 FREE     L  SCH.RESOURCE   wre                                                     
 book.date                    8 DATE     L                 wscD                                                        
 book.time                    4 PINT     R                 wscBT                                                       
 book.capacity                3 INT      R                 VAL=(@SCH.CAL.capacity[SCH.CAL.book.resource,SCH.CAL.b      
                                                           VAL=ook.date,@SCH.CAL.book.from.time]+0)                    
 book.date.out               45 FREE     L                 VAL=%SCH.COMMON.calendar.date.out("","",book.date)          
 book.from.time               4 HHMM5    L                 /WSCB[wre,wscD,wscBT]|1                                     
 book.resource.and.name      48 FREE     L                 VAL=(@SCH.CAL.book.resource_" - "_@SCH.RESOURCE.name)       
 book.time.edit.comment      15                            /WSCB[wre,wscD,wscBT]|3                                     
 book.time.edit.reason       10 FREE     L  SCH.EDIT.RSN   /WSCB[wre,wscD,wscBT]|2                                 
 book.time.in.order           1 YN       L                 /WSCB[wre,wscD,wscBT]|0                                     
 book.time.out                6 FREE     L                 VAL=IF{"N"=@book.time.in.order "  "_book.time;book.tim      
                                                           VAL=e}                                                      
 book.time.status            10 CHOICE   L                                                                             
 Ì     i   2
sch.cal.resource.book.detail    (rsrc.book.detail) 
[book.resource,book.date,book.time, book.table]
/WSCB[wre,wscD,wscBT,wscbS]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 book.table                   2 PINT     R                 wscbS                                                       
 book.appt1                  10 FREE     L  SCH.APPT       /WSCB[wre,wscD,wscBT,wscbS]|0                           
 book.appt1.cont              1 YN       L                 /WSCB[wre,wscD,wscBT,wscbS]|1                               
 book.appt1.description      30 FREE     L                 VAL=%SCH.CAL.set.up.book.M.edit.rsn({book.resource,boo      
                                                           VAL=k.date,book.time,book.table})                           
 book.appt2                  10 FREE     L  SCH.APPT       /WSCB[wre,wscD,wscBT,wscbS]|4                           
 book.appt2.cont              1 YN       L                 /WSCB[wre,wscD,wscBT,wscbS]|5                               
 book.appt2.description      30 FREE     L                 VAL=IF{@book.appt2^book.appt2 IF{%SCH.APPT.check.user.      
                                                           VAL=appt.access(book.appt2,@.user)="Y" @SCH.APPT.pt.na      
                                                           VAL=me.desc;"<NA>"}^XX,%SCH.CAL.set.up.book.M.ap      
                                                           VAL=pt.description(XX,@book.appt2.cont)}                    
 book.appt3                  10 FREE     L  SCH.APPT       /WSCB[wre,wscD,wscBT,wscbS]|8                           
 book.appt3.cont              1 YN       L                 /WSCB[wre,wscD,wscBT,wscbS]|9                               
 book.appt3.description      30 FREE     L                 VAL=IF{@book.appt3^book.appt3 IF{%SCH.APPT.check.user.      
                                                           VAL=appt.access(book.appt3,@.user)="Y" @SCH.APPT.pt.na      
                                                           VAL=me.desc;"<NA>"}^XX,%SCH.CAL.set.up.book.M.ap      
                                                           VAL=pt.description(XX,@book.appt3.cont)}                    
 book.appt4                  10 FREE     L  SCH.APPT       /WSCB[wre,wscD,wscBT,wscbS]|12                          
 book.appt4.cont              1 YN       L                 /WSCB[wre,wscD,wscBT,wscbS]|13                              
 book.appt4.description      30 FREE     L                 VAL=IF{@book.appt4^book.appt4 IF{%SCH.APPT.check.user.      
                                                           VAL=appt.access(book.appt4,@.user)="Y" @SCH.APPT.pt.na      
                                                           VAL=me.desc;"<NA>"}^XX,%SCH.CAL.set.up.book.M.ap      
                                                           VAL=pt.description(XX,@book.appt4.cont)}                    
 book.appt5                  10 FREE     L  SCH.APPT       /WSCB[wre,wscD,wscBT,wscbS]|16                          
 book.appt5.cont              1 YN       L                 /WSCB[wre,wscD,wscBT,wscbS]|17                              
 book.appt5.description      30 FREE     L                 VAL=IF{@book.appt5^book.appt5 IF{%SCH.APPT.check.user.      
                                                           VAL=appt.access(book.appt5,@.user)="Y" @SCH.APPT.pt.na      
                                                           VAL=me.desc;"<NA>"}^XX,%SCH.CAL.set.up.book.M.ap      
                                                           VAL=pt.description(XX,@book.appt5.cont)}                    
 book.appt6                  10 FREE     L  SCH.APPT       /WSCB[wre,wscD,wscBT,wscbS]|20                          
 book.appt6.cont              1 YN       L                 /WSCB[wre,wscD,wscBT,wscbS]|21                              
 book.appt6.description      30 FREE     L                 VAL=IF{@book.appt6^book.appt6 IF{%SCH.APPT.check.user.      
                                                           VAL=appt.access(book.appt6,@.user)="Y" @SCH.APPT.pt.na      
                                                           VAL=me.desc;"<NA>"}^XX,%SCH.CAL.set.up.book.M.ap      
                                                           VAL=pt.description(XX,@book.appt6.cont)}                    
 book.rsrc.from1              4 HHMM     L                 /WSCB[wre,wscD,wscBT,wscbS]|3                               
 book.rsrc.from2              4 HHMM     L                 /WSCB[wre,wscD,wscBT,wscbS]|7                               
 book.rsrc.from3              4 HHMM     L                 /WSCB[wre,wscD,wscBT,wscbS]|11                              
 book.rsrc.from4              4 HHMM     L                 /WSCB[wre,wscD,wscBT,wscbS]|15                              
 book.rsrc.from5              4 HHMM     L                 /WSCB[wre,wscD,wscBT,wscbS]|19                              
 book.rsrc.from6              4 HHMM     L                 /WSCB[wre,wscD,wscBT,wscbS]|23                              
 book.status1                 1 CHOICE   L                 /WSCB[wre,wscD,wscBT,wscbS]|2                               
 book.status1.out            30 FREE     L                 VAL=%SCH.CAL.set.up.book.M.status.out(@book.status1,@b      
                                                           VAL=ook.appt1,@book.appt1.cont)                             
 book.status2                 1 CHOICE   L                 /WSCB[wre,wscD,wscBT,wscbS]|6                               
 book.status2.out            30 FREE     L                 VAL=%SCH.CAL.set.up.book.M.status.out(@book.status2,@b      
                                                           VAL=ook.appt2,@book.appt2.cont)                             
 book.status3                 1 CHOICE   L                 /WSCB[wre,wscD,wscBT,wscbS]|10                              
 book.status3.out            30 FREE     L                 VAL=%SCH.CAL.set.up.book.M.status.out(@book.status3,@b      
                                                           VAL=ook.appt3,@book.appt3.cont)                             
 book.status4                 1 CHOICE   L                 /WSCB[wre,wscD,wscBT,wscbS]|14                              
 book.status4.out            30 FREE     L                 VAL=%SCH.CAL.set.up.book.M.status.out(@book.status4,@b      
                                                           VAL=ook.appt4,@book.appt4.cont)                             
 book.status5                 1 CHOICE   L                 /WSCB[wre,wscD,wscBT,wscbS]|18                              
 book.status5.out            30 FREE     L                 VAL=%SCH.CAL.set.up.book.M.status.out(@book.status5,@b      
                                                           VAL=ook.appt5,@book.appt5.cont)                             
 book.status6                 1 CHOICE   L                 /WSCB[wre,wscD,wscBT,wscbS]|22                              
 book.status6.out            30 FREE     L                 VAL=%SCH.CAL.set.up.book.M.status.out(@book.status6,@b      
                                                           VAL=ook.appt6,@book.appt6.cont)                             
 Ì       2
 INDEX FILE/INTERNAL NAME           SUBSCRIPTS/PHYSICAL BASE

 sch.cal.res.rsn.x                  [resource,date,start.time,end.time,time.reason] = time.comment
   resource.rsn.x                     ?WSCRN[wre,wscD,wscF,wscT,wer]

 sch.cal.wait.res.x                 [resource,date,start.time,waitlist.release.dt] = capacity
   waitlist.resource.x                ?WSCWR[wre,wscD,wscF,wscWR]

 sch.cal.wait.time.x                [waitlist.release.dt,resource,date,start.time] = capacity
   waitlist.time.x                    ?WSCWT[wscWR,wre,wscD,wscF]