勤怠管理システム production 定版
This commit is contained in:
+37
-31
@@ -42,57 +42,63 @@
|
||||
1.制御処理(0000MAINSOR)
|
||||
1-1.T01TIMRRCにより丸めモードを分岐する。
|
||||
1-1-1.T01TIMRRC = 0 の場合(0.5時間単位・切上)
|
||||
2000RNDHALFへ。
|
||||
1000RNDHALFへ。
|
||||
1-1-2.T01TIMRRC = 1 の場合(0.1時間単位・切上)
|
||||
3000RNDUP01へ。
|
||||
2000RNDUPへ。
|
||||
1-1-3.T01TIMRRC = 2 の場合(0.1時間単位・切捨)
|
||||
4000RNDDN01へ。
|
||||
3000RNDDOWNへ。
|
||||
1-1-4.T01TIMRRC = 3 の場合(単純四捨五入・0.1h単位)
|
||||
5000RNDNORMへ。
|
||||
4000RNDNORMALへ。
|
||||
1-1-5.その他の場合
|
||||
T01TIMOUT = T01TIMHRS をそのまま設定する。
|
||||
1-2.復帰(GOBACK)。
|
||||
|
||||
2.0.5時間単位・切上(2000RNDHALF)
|
||||
2.0.5時間単位・切上(1000RNDHALF)
|
||||
2-1.T01TIMHRSを分に変換する。
|
||||
WRK-MIN = T01TIMHRS * 60.
|
||||
2-2.30分単位で切り上げる。
|
||||
WRK-R = FUNCTION MOD(WRK-MIN, 30).
|
||||
2-2-1.WRK-R > 0 の場合
|
||||
WRK-MIN = ((WRK-MIN / 30) + 1) * 30.
|
||||
2-2-2.WRK-R = 0 の場合
|
||||
WRK-MINUTES = T01TIMHRS * 60.
|
||||
2-2.30分単位で切り上げる(DIVIDE REMAINDER)。
|
||||
DIVIDE WRK-MINUTES BY 30
|
||||
GIVING WRK-HOURS
|
||||
REMAINDER WRK-REMAINDER.
|
||||
2-2-1.WRK-REMAINDER > 0 の場合
|
||||
WRK-HOURS = WRK-HOURS + 1.
|
||||
2-2-2.WRK-REMAINDER = 0 の場合
|
||||
そのまま。
|
||||
2-3.時間に戻す。
|
||||
T01TIMOUT = WRK-MIN / 60.
|
||||
T01TIMOUT = WRK-HOURS * 0.5.
|
||||
2-4.復帰(0000MAINSOR-EXTへ)。
|
||||
|
||||
3.0.1時間単位・切上(3000RNDUP01)
|
||||
3.0.1時間単位・切上(2000RNDUP)
|
||||
3-1.T01TIMHRSを分に変換する。
|
||||
WRK-MIN = T01TIMHRS * 60.
|
||||
3-2.6分単位で切り上げる。
|
||||
WRK-R = FUNCTION MOD(WRK-MIN, 6).
|
||||
3-2-1.WRK-R > 0 の場合
|
||||
WRK-MIN = ((WRK-MIN / 6) + 1) * 6.
|
||||
3-2-2.WRK-R = 0 の場合
|
||||
WRK-MINUTES = T01TIMHRS * 60.
|
||||
3-2.6分単位で切り上げる(DIVIDE REMAINDER)。
|
||||
DIVIDE WRK-MINUTES BY 6
|
||||
GIVING WRK-HOURS
|
||||
REMAINDER WRK-REMAINDER.
|
||||
3-2-1.WRK-REMAINDER > 0 の場合
|
||||
WRK-HOURS = WRK-HOURS + 1.
|
||||
3-2-2.WRK-REMAINDER = 0 の場合
|
||||
そのまま。
|
||||
3-3.時間に戻す。
|
||||
T01TIMOUT = WRK-MIN / 60.
|
||||
3-4.復帰(0000MAJSOR-EXTへ)。
|
||||
T01TIMOUT = WRK-HOURS * 0.1.
|
||||
3-4.復帰(0000MAINSOR-EXTへ)。
|
||||
|
||||
4.0.1時間単位・切捨(4000RNDDN01)
|
||||
4.0.1時間単位・切捨(3000RNDDOWN)
|
||||
4-1.T01TIMHRSを分に変換する。
|
||||
WRK-MIN = T01TIMHRS * 60.
|
||||
4-2.6分単位で切り捨てる。
|
||||
WRK-MIN = (WRK-MIN / 6) * 6.
|
||||
WRK-MINUTES = T01TIMHRS * 60.
|
||||
4-2.6分単位で切り捨てる(DIVIDE REMAINDER)。
|
||||
DIVIDE WRK-MINUTES BY 6
|
||||
GIVING WRK-HOURS
|
||||
REMAINDER WRK-REMAINDER.
|
||||
4-3.時間に戻す。
|
||||
T01TIMOUT = WRK-MIN / 60.
|
||||
4-4.復帰(0000MAJSOR-EXTへ)。
|
||||
T01TIMOUT = WRK-HOURS * 0.1.
|
||||
4-4.復帰(0000MAINSOR-EXTへ)。
|
||||
|
||||
5.単純四捨五入・0.1h単位(5000RNDNORM)
|
||||
5.単純四捨五入・0.1h単位(4000RNDNORMAL)
|
||||
5-1.T01TIMHRSに0.05を加算する。
|
||||
WRK-WK = T01TIMHRS + 0.05.
|
||||
WRK-HOURS = T01TIMHRS + 0.05.
|
||||
5-2.小数点第2位以下を切り捨てる。
|
||||
T01TIMOUT = WRK-WK.
|
||||
T01TIMOUT = WRK-HOURS.
|
||||
*> 9(4)V9(1)へのMOVEにより自動で切捨
|
||||
5-3.復帰(0000MAJSOR-EXTへ)。
|
||||
5-3.復帰(0000MAINSOR-EXTへ)。
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user