LXRPID09 年月日算出(西暦年月日±月数)
サブルーチンID |
機能分類 |
サブルーチン名 |
テーブル名 |
---|---|---|---|
LXRPID09 |
日付処理 |
LXRCID09 |
インタフェース
入力(区分:INPUT-PARM=I,CONSTANT=C) |
||||
---|---|---|---|---|
レベル |
項目名 |
属性 |
説明および設定値 |
区分 |
03 |
I-YMD |
− |
入力西暦年月日(YYYYMMDD) |
I |
05 |
I-YY |
9(4) |
年 |
I |
05 |
I-MM |
9(2) |
月 |
I |
05 |
I-DD |
9(2) |
日 |
I |
03 |
I-MNTHS |
P(6) |
月数 |
I |
出力(区分:OUTPUT-PARM=O,RTN-CODE=R) |
||||
---|---|---|---|---|
レベル |
項目名 |
属性 |
説明および設定値 |
区分 |
03 |
O-YMD |
9(8) |
出力西暦年月日(YYYYMMDD) |
O |
03 |
O-RTN-CD |
X(10) |
リターンコード |
R |
− |
− |
− |
SPACE:正常 |
− |
− |
− |
− |
LXRED019:年が1〜9999の範囲外 |
− |
− |
− |
− |
LXRED017:月数が数値でない |
− |
処理基準
-
月数が+か-かを判断する。
1.1 月数が+の場合
入力西暦年月日に月数を加算し,出力西暦年月日にセットする。
1.2 月数が-の場合
入力西暦年月日から月数を減算し,出力西暦年月日にセットする。
例1
I-YMD :19890131 I-MNTHS :+1 ↓ O-YMD :19890228 O-RTN-CD:SPACE
注意事項
-
入力年月日が実在日でないと,LXRPID01のリターンコードを返す。
-
1か月後とは,入力西暦年月日の月に1を加えた同日,1か月前とは,入力西暦年月日の月から1を引いた同日とする。
-
加減算処理の結果,月末日を超えた場合は,月末日に合わせる。
-
1≦年≦9999の範囲外になる場合,結果は不正とする。リターンコード'LXRED019'を返す。
-
このサブルーチンから(実在日チェック(西暦):LXRPID01),(月末日算出(西暦年月日):LXRPID17)を呼び出す。