LXRPID90 処理期限年月日算出(西暦)
サブルーチンID |
機能分類 |
サブルーチン名 |
テーブル名 |
---|---|---|---|
LXRPID90 |
日付処理 |
LXRCID90 |
インタフェース
入力(区分:INPUT-PARM=I,CONSTANT=C) |
||||
---|---|---|---|---|
レベル |
項目名 |
属性 |
説明および設定値 |
区分 |
03 |
I-CLOSE-DAY |
P(2) |
締日 |
C |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
出力(区分:OUTPUT-PARM=O,RTN-CODE=R) |
||||
---|---|---|---|---|
レベル |
項目名 |
属性 |
説明および設定値 |
区分 |
03 |
O-YMD |
− |
出力西暦処理年月日(YYYYMMDD) |
O |
05 |
O-YY |
9(4) |
年 |
O |
05 |
O-MM |
9(2) |
月 |
O |
05 |
O-DD |
9(2) |
日 |
O |
03 |
O-RTN-CD |
X(10) |
リターンコード |
R |
− |
− |
− |
SPACE:正常 |
− |
− |
− |
− |
LXRED017:日が数字ではない |
− |
− |
− |
− |
LXRED009:実在する日ではない |
− |
− |
− |
− |
− |
− |
処理基準
-
注意事項1.と2.に従ってチェックする。
-
リターンコードがスペースのとき,次の処理を行う。
2.1 (システム日付取得変換(8桁):LXRPID88)によって,システム日付を取得する。
2.2 処理年月日を次のように設定する。
2.2.1 システム日付の「日」が締日より前の場合,その月の締日
2.2.2 システム日付の「日」が締日より後の場合,次の月の締日
2.3 設定した処理年月日の実在日チェックを行う。
2.4 処理年月日が実在しない場合,その月の月末日を処理年月日とする。
例1
I-CLOSE-DAY:20 システム日付 :19960815 ↓ O-YMD :19960820 O-RTN-CD :SPACE
例2
I-CLOSE-DAY:31 システム日付 :19960915 ↓ O-YMD :19960930 O-RTN-CD :SPACE
注意事項
-
I-CLOSE-DAYについてNUMERICチェックを行い,数値でないときはエラーコード'LXRED017'をリターンコードとして返す。
-
1≦I-CLOSE-DAY≦31でなければエラーコード'LXRED009'をリターンコードとして返す。
-
このサブルーチンから(システム日付取得変換(8桁):LXRPID88),(実在日チェック(西暦):LXRPID01),(年月日算出(西暦年月日±月数):LXRPID09),(月末日算出(西暦年月日):LXRPID17)を呼び出す。
-
エラーのときは,出力年月日に0を返す。