LXRPID07 年月日算出(西暦年月日±年数)
サブルーチンID |
機能分類 |
サブルーチン名 |
テーブル名 |
---|---|---|---|
LXRPID07 |
日付処理 |
LXRCID07 |
インタフェース
入力(区分: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-YEARS |
P(5) |
年数 |
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 :19920229 I-YEARS :-1 ↓ O-YMD :19910228 O-RTN-CD:SPACE
注意事項
-
このサブルーチンから(実在日チェック(西暦):LXRPID01),(月末日算出(西暦年月日):LXRPID17)を呼び出す。
-
入力年月日が実在日でないと,LXRPID01のリターンコードを返す。
-
1≦入力西暦年+経過年数≦9999の範囲外になる場合,結果は不正とする。リターンコード'LXRED019'を返す。
-
入力年月日がうるう年の2月29日のとき,年を加減した結果が平年の場合は2月28日を返す。
-
エラーの場合,出力年月日には0を返す。