LXRPIE11 時刻編集
サブルーチンID |
機能分類 |
サブルーチン名 |
テーブル名 |
---|---|---|---|
LXRPIE11 |
時間処理 |
LXRCIE11 |
インタフェース
入力(区分:INPUT-PARM=I,CONSTANT=C) |
||||
---|---|---|---|---|
レベル |
項目名 |
属性 |
説明および設定値 |
区分 |
03 |
I-TIME |
9(6) |
時刻 |
I |
− |
− |
− |
形式:hhmmss |
− |
− |
− |
− |
hh:時(24時間単位) |
− |
− |
− |
− |
mm:分 |
− |
− |
− |
− |
ss:秒 |
− |
03 |
I-TYP |
X(1) |
出力タイプ |
OT |
03 |
I-FORMAT |
X(100) |
出力フォーマット |
C |
− |
− |
− |
− |
− |
出力(区分:OUTPUT-PARM=O,RTN-CODE=R) |
||||
---|---|---|---|---|
レベル |
項目名 |
属性 |
説明および設定値 |
区分 |
03 |
O-TIME |
X(100) |
出力時刻 |
O |
03 |
O-RTN-CD |
X(10) |
リターンコード |
R |
− |
− |
− |
SPACE:正常終了 |
− |
− |
− |
− |
LXREE005:時刻が数値でない |
− |
− |
− |
− |
− |
− |
処理基準
-
I-FORMATに対して次の仕様で置換処理を行う。
No.
置換規則
1
AP
「時」が0〜11:'AM'
「時」12以上:'PM' ※1
2
○
「時」が0〜11:NC'前'
「時」12以上:NC'後' ※2
3
HH
「時」を全角変換したもの
4
ZH
「時」をZ9編集し,全角変換したもの
5
HH
「時」
6
ZH
「時」をZ9編集したもの
7
MN
「分」を全角変換したもの
8
ZN
「分」をZ9編集し,全角変換したもの
9
MN
「分」
10
ZN
「分」をZ9 編集したもの
11
SS
「秒」を全角変換したもの
12
ZS
「秒」をZ9 編集し,全角変換したもの
13
SS
「秒」
14
ZS
「秒」をZ9 編集したもの
注※1 I-FORMAT中に'AP'があり,「時」が12以上の場合,
「時」=「時」−12とする。
注※2 I-FORMAT中に'○'があり,'AP'がなく,「時」が12以上の場合,
「時」=「時」−12とする。
-
VOS3版では,編集された文字列に対して次の処理を行う。
2.1 I-TYPが'N'で文字列の先頭が機能キャラクタ(X'0A42')の場合,これを削除する。
2.2 I-TYPが'N'で文字列の先頭が機能キャラクタ(X'0A42')ではない場合,先頭に機能キャラクタ
(X'0A41')を付加する。
2.3 I-TYPが'N'で,文字列の最後の文字(その文字より後方に半角空白しかない文字)が機能キャラ
クタ(X'0A41')の場合,これを削除する。
例1
I-TIME :184500 I-TYP :'X' I-FORMAT:'「午OZH時ZN分ZS秒」' ↓ O-TIME :'「午後△6時45分△0秒」'
例2
I-TIME :223000 I-TYP :'N' I-FORMAT:'APHH:MN:SS' ↓ O-TIME :'」PM10:30:00'
例3
I-TIME :223000 I-TYP :'N' I-FORMAT:'HH:MN:SS' ↓ O-TIME :'」23:30:00' 注:例はVOS3版の場合で, '「'はX'0A42','」'はX'0A41'を表す。
注意事項
-
時刻の妥当性は,(時刻妥当性チェック(24時間):LXRPIE01)によって,チェックする。返されたリターンコードをそのままこのサブルーチンのリターンコードとする。エラーの場合は,I-FORMATをそのままO-TIMEに転記する。
-
このサブルーチンから(時刻妥当性チェック(24時間):LXRPIE01)および(半角→全角変換:LXRPIC01)を呼び出す。