図6
Figure 6 - Using a Monitor block
*.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++
/Free
Monitor;
Dou %EOF(TimeRecord);
Read TimeRecord;
If %EOF(TimeRecord);
Leave;
Else;
TotalPay = (RegHours * Rate)
+
(OvtHours * Rate * 1.5)
+
(DblHours * Rate * 2);
Update TimeRecord;
Endif;
Enddo;
On-error 1218; //
Record locked
Dsply 'TimeRecord record locked.';
Leave;
On-error 1011:1211:*FILE; //
File error
Dsply 'Unexpected file error occurred.';
Leave;
On-error *PROGRAM; //
Non-file error
Dsply 'Unexpected program error
occurred.';
Leave;
Endmon;
*INLR = *ON;
Return;
/End-Free