勤怠管理システム production 定版
This commit is contained in:
+32
-15
@@ -24,7 +24,7 @@
|
||||
|
||||
| NO | 入出力区分 | 名称 | 属性 | 桁数 | 説明 |
|
||||
|----|-----------|------|------|------|------|
|
||||
| 1 | I | C01CHKTYP | X(8) | 8 | チェックタイプ(DATE/TIME/NUM) |
|
||||
| 1 | I | C01CHKTYP | X(8) | 8 | チェックタイプ(DATE/TIME/NUM/EMPID) |
|
||||
| 2 | I | C01CHKDAT | X(80) | 80 | チェック対象データ |
|
||||
| 3 | O | C01CHKRRC | 9(4) | 4 | 復帰コード(0000:正常,0001:日付不正,0002:時刻不正,0003:数字不正) |
|
||||
|
||||
@@ -36,7 +36,8 @@
|
||||
| 2 | 0001 | 日付不正(DATE指定時、月01〜12/日01〜31範囲外) |
|
||||
| 3 | 0002 | 時刻不正(TIME指定時、時00〜23/分00〜59範囲外) |
|
||||
| 4 | 0003 | 数字不正(NUM指定時、非数字文字を含む) |
|
||||
| 5 | 0004 | チェックタイプ不明 |
|
||||
| 5 | 0004 | 社員番号不正(EMPID指定時、8桁以外または空欄) |
|
||||
| 6 | 9999 | チェックタイプ不明 |
|
||||
|
||||
---
|
||||
|
||||
@@ -46,16 +47,18 @@
|
||||
1.制御処理(0000MAINSOR)
|
||||
1-1.C01CHKTYPにより分岐する。
|
||||
1-1-1.C01CHKTYP = 'DATE' の場合
|
||||
2000CHKDATEへ。
|
||||
1000CHKDATEへ。
|
||||
1-1-2.C01CHKTYP = 'TIME' の場合
|
||||
3000CHKTIMEへ。
|
||||
2000CHKTIMEへ。
|
||||
1-1-3.C01CHKTYP = 'NUM' の場合
|
||||
4000CHKNUMへ。
|
||||
1-1-4.その他の場合
|
||||
C01CHKRRC = 0004 を設定し、1-2へ。
|
||||
3000CHKNUMへ。
|
||||
1-1-4.C01CHKTYP = 'EMPID' の場合
|
||||
4000CHKEMPへ。
|
||||
1-1-5.その他の場合
|
||||
C01CHKRRC = 9999 を設定し、1-2へ。
|
||||
1-2.復帰(GOBACK)。
|
||||
|
||||
2.日付チェック(2000CHKDATE)
|
||||
2.日付チェック(1000CHKDATE)
|
||||
2-1.C01CHKDATから年月日を抽出する。
|
||||
YYYY = C01CHKDAT(1:4)
|
||||
MM = C01CHKDAT(5:2)
|
||||
@@ -70,26 +73,40 @@
|
||||
C01CHKRRC = 0000 を設定する。
|
||||
2-5.復帰(0000MAINSOR-EXTへ)。
|
||||
|
||||
3.時刻チェック(3000CHKTIME)
|
||||
3.時刻チェック(2000CHKTIME)
|
||||
3-1.C01CHKDATから時分を抽出する。
|
||||
HH = C01CHKDAT(1:2)
|
||||
MM = C01CHKDAT(3:2)
|
||||
3-2.時チェック(HH)
|
||||
3-2-1.HH < 0 OR HH > 23
|
||||
3-2-1.HH > 23
|
||||
→ C01CHKRRC = 0002 を設定し、3-5へ。
|
||||
3-3.分チェック(MM)
|
||||
3-3-1.MM < 0 OR MM > 59
|
||||
3-3-1.MM > 59
|
||||
→ C01CHKRRC = 0002 を設定し、3-5へ。
|
||||
3-4.正常の場合
|
||||
C01CHKRRC = 0000 を設定する。
|
||||
3-5.復帰(0000MAINSOR-EXTへ)。
|
||||
|
||||
4.数字チェック(4000CHKNUM)
|
||||
4-1.C01CHKDATに非数字文字が含まれるかチェックする。
|
||||
INSPECT C01CHKDAT TALLYING WRK-NONDIGIT FOR NON-NUMERIC.
|
||||
4-2.WRK-NONDIGIT > 0 の場合
|
||||
4.数字チェック(3000CHKNUM)
|
||||
4-1.C01CHKDATにSPACEより前の文字があるかチェックする。
|
||||
INSPECT C01CHKDAT TALLYING WRK-NN FOR
|
||||
CHARACTERS BEFORE INITIAL SPACE.
|
||||
4-2.WRK-NN > 0 の場合
|
||||
C01CHKRRC = 0003 を設定し、4-4へ。
|
||||
4-3.正常の場合
|
||||
C01CHKRRC = 0000 を設定する。
|
||||
4-4.復帰(0000MAINSOR-EXTへ)。
|
||||
|
||||
5.社員番号チェック(4000CHKEMP)
|
||||
5-1.桁数チェック(8桁以内)
|
||||
C01CHKDAT(9:72)にSPACES以外がある場合
|
||||
C01CHKRRC = 0004 を設定し、5-4へ。
|
||||
5-2.空欄チェック
|
||||
INSPECT C01CHKDAT(1:8) TALLYING WRK-NN FOR
|
||||
CHARACTERS BEFORE INITIAL SPACE.
|
||||
WRK-NN > 0 の場合
|
||||
C01CHKRRC = 0004 を設定し、5-4へ。
|
||||
5-3.正常の場合
|
||||
C01CHKRRC = 0000 を設定する。
|
||||
5-4.復帰(0000MAINSOR-EXTへ)。
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user