SEWB+/標準サブルーチン ライブラリリファレンス

手引書

3020-3-B86-10

前書き

対象製品

P-2451-F244 ＳＥＷＢ＋／標準サブルーチン 04-03（適用OS：Windows Server 2003，Windows Server 2008，Windows Server 2012，Windows Server 2016）

P-2651-F244 ＳＥＷＢ＋／標準サブルーチン 04-03（適用OS：Windows XP，Windows Vista，Windows 7，Windows 8，Windows 10）

P-2951-F144 ＳＥＷＢ＋／標準サブルーチン（６４） 04-03（適用OS：Windows 10）

P-2951-F244 ＳＥＷＢ＋／標準サブルーチン（６４） 04-03（適用OS：Windows Server 2012，Windows Server 2016）

P-1M51-FC31 ＳＥＷＢ＋／標準サブルーチン 03-02（適用OS：AIX 5L V5.3，AIX 6.1，AIX 7.1，AIX 7.2）

P-1M51-FD31 ＳＥＷＢ＋／標準サブルーチン（６４） 03-02（適用OS：AIX 7.1，AIX 7.2）

P-9W51-FD31 ＳＥＷＢ＋／標準サブルーチン（６４） 03-02（適用OS：RHEL 5 AP (EM64T)，RHEL 5 (EM64T)，RHEL 6 (EM64T)，RHEL 7 (EM64T)）

輸出時の注意

本製品を輸出される場合には、外国為替及び外国貿易法の規制並びに米国輸出管理規則など外国の輸出関連法規をご確認の上、必要な手続きをお取りください。

なお、不明な場合は、弊社担当営業にお問い合わせください。

商標類

HITACHI，SEWBは，株式会社 日立製作所の商標または登録商標です。

IBM，AIXは，世界の多くの国で登録されたInternational Business Machines Corporationの商標です。

AMDは，Advanced Micro Devices, Inc.の商標です。

Intelは，アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。

Itaniumは，アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。

Linuxは，Linus Torvalds氏の日本およびその他の国における登録商標または商標です。

Microsoftは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

Red Hatは，米国およびその他の国でRed Hat, Inc. の登録商標もしくは商標です。

UNIXは，The Open Groupの米国ならびに他の国における登録商標です。

Windowsは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

Windows Serverは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

Windows Vistaは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

その他記載の会社名，製品名などは，それぞれの会社の商標もしくは登録商標です。

マイクロソフト製品の表記について

このマニュアルでは，マイクロソフト製品の名称を次のように表記しています。

表記

正式名称

Windows

または

PC

Windows Server 2016

Windows Server 2016 Standard

Microsoft Windows Server 2016 Standard 日本語版

Windows Server 2016 Datacenter

Microsoft Windows Server 2016 Datacenter 日本語版

Windows Server 2012

Windows Server 2012 Standard

Microsoft Windows Server 2012 Standard 日本語版

Windows Server 2012 Datacenter

Microsoft Windows Server 2012 Datacenter 日本語版

Windows Server 2012 R2 Standard

Microsoft Windows Server 2012 R2 Standard 日本語版

Windows Server 2012 R2 Datacenter

Microsoft Windows Server 2012 R2 Datacenter 日本語版

Windows Server 2008

Windows Server 2008 Standard

Microsoft Windows Server 2008 Standard 32-bit 日本語版

Windows Server 2008 Enterprise

Microsoft Windows Server 2008 Enterprise 32-bit 日本語版

Windows Server 2008 R2 Standard

Microsoft Windows Server 2008 R2 Standard 日本語版

Windows Server 2008 R2 Enterprise

Microsoft Windows Server 2008 R2 Enterprise 日本語版

Windows Server 2008 R2 Datacenter

Microsoft Windows Server 2008 R2 Datacenter 日本語版

Windows Server 2003

Windows Server 2003 Standard

Microsoft Windows Server 2003, Standard Edition 日本語版

Windows Server 2003 Enterprise

Microsoft Windows Server 2003, Enterprise Edition

日本語版

Windows Server 2003 R2 Standard

Microsoft Windows Server 2003 R2, Standard Edition

日本語版

Windows Server 2003 R2 Enterprise

Microsoft Windows Server 2003 R2, Enterprise Edition

日本語版

Windows 10

Windows 10 Pro

Windows 10 Pro 日本語版(64ビット版)

Windows 10 Pro 日本語版(32ビット版)

Windows 10 Enterprise

Windows 10 Enterprise 日本語版(64ビット版)

Windows 10 Enterprise 日本語版(32ビット版)

Windows 8

Windows 8.1 Pro

Windows 8.1 Pro 日本語版(64ビット版)

Windows 8.1 Pro 日本語版(32ビット版)

Windows 8.1 Enterprise

Windows 8.1 Enterprise 日本語版(64ビット版)

Windows 8.1 Enterprise 日本語版(32ビット版)

Windows 8 Pro

Windows 8 Pro 日本語版(32ビット版)

Windows 8 Enterprise

Windows 8 Enterprise 日本語版(32ビット版)

Windows 7

Windows 7 Professional

Microsoft Windows 7 Professional 日本語版(32ビット版)

Windows 7 Enterprise

Microsoft Windows 7 Enterprise 日本語版(32ビット版)

Windows 7 Ultimate

Microsoft Windows 7 Ultimate 日本語版(32ビット版)

Windows Vista

Windows Vista Ultimate

Microsoft Windows Vista Ultimate 日本語版

Windows Vista Enterprise

Microsoft Windows Vista Enterprise 日本語版

Windows Vista Business

Microsoft Windows Vista Business 日本語版

Windows XP

Windows XP Home Edition

Microsoft Windows XP Home Edition Operating System

Windows XP Professional

Microsoft Windows XP Professional Operating System

発行

2018年8月　3020-3-B86-10

著作権

All Rights Reserved. Copyright (C) 2014, 2018, Hitachi, Ltd.

変更内容

変更内容（3020-3-B86-10）　ＳＥＷＢ＋／標準サブルーチン

追加・変更内容

変更個所

次に示す製品形名の追加に伴い，形名の記述を追加した。

P-2951-F144

−

次に示す製品形名の廃止に伴い，形名およびHP-UXに関する記述を削除した。

P-1J51-FD31

−

適用OSにWindows Server 2016およびAIX 7.2を追加した。

−

年号および祝祭日区分の変更への対応に関する記述を追加した。

1.5，3章，付録C.1，付録E

単なる誤字・脱字などはお断りなく訂正しました。

変更内容（3020-3-B86-01）　ＳＥＷＢ＋／標準サブルーチン

追加・変更内容

環境変数CBLLANGからEUC対応版の記述を削除した。

変更内容（3020-3-B86）　ＳＥＷＢ＋／標準サブルーチン

追加・変更内容

製品名を次のように変更した。

［変更前］

SEWB+/STANDARD-SUBROUTINE

［変更後］

ＳＥＷＢ＋／標準サブルーチン

これに伴い，マニュアル名およびマニュアル資料番号を次のように変更した。

［変更前］

SEWB+/STANDARD-SUBROUTINE 標準サブルーチン ライブラリリファレンス（3020-3-B85）

［変更後］

SEWB+/標準サブルーチン ライブラリリファレンス（3020-3-B86）

次に示す製品形名の追加に伴い，形名の記述を追加した。

P-2951-F244

P-1M51-FD31

適用OSにWindows 10およびRHEL 7 (EM64T)を追加した。

山の日に関する記述を追加した。

はじめに

このマニュアルは，次に示す製品の機能と使い方について説明したものです。

P-2451-F244　ＳＥＷＢ＋／標準サブルーチン

P-2651-F244　ＳＥＷＢ＋／標準サブルーチン

P-2951-F144　ＳＥＷＢ＋／標準サブルーチン（６４）

P-2951-F244　ＳＥＷＢ＋／標準サブルーチン（６４）

P-1M51-FC31　ＳＥＷＢ＋／標準サブルーチン

P-1M51-FD31　ＳＥＷＢ＋／標準サブルーチン（６４）

P-9W51-FD31　ＳＥＷＢ＋／標準サブルーチン（６４）

対象読者

このマニュアルは，COBOL2002を使用したアプリケーションプログラムを作成する方を対象としています。また，COBOLの基本文法を理解していることを前提としています。

1　標準サブルーチンの概要

標準サブルーチンは，データ項目単位のチェック処理，入力編集処理，出力編集処理を行うCOBOL外部サブルーチンです。

この章では，標準サブルーチンの特徴，適用方法，呼び出し方法，分類と命名基準，標準サブルーチンの年号および祝祭日区分の変更への対応について説明します。

1.1　標準サブルーチンの特徴

標準サブルーチンの特徴を次に示します。

1.1.1　標準データ項目に対する処理を行う部品（COBOL外部サブルーチン）の提供

データ項目に対応するチェック処理，入力編集処理，出力編集処理をCOBOL外部サブルーチンとして提供しています。これらを利用することでサブルーチンの設計・製造の手間を省くことができ，さらには単体テスト工程からサブルーチンを連動してテストできます。これによって，プログラム開発の生産性および品質を向上できます。

1.1.2　プラットフォーム間で互換性のあるサブルーチンの提供

プラットフォームによる差異（文字コードやエンディアンの違い，機能キャラクタの有無）を吸収した形でCOBOL外部サブルーチンを提供しています。したがって，開発環境がWindowsで，実行環境がUNIXという場合でも，容易に移行できます。標準サブルーチンが対応しているプラットフォームを次に示します。

Windows

Windows Server 2016，Windows 10，Windows 8，Windows Server 2012，Windows 7，Windows Server 2008，Windows Vista，Windows Server 2003，Windows XP

UNIX

AIX 5L V5.3，AIX 6.1，AIX 7.1，AIX 7.2，RHEL 5 AP，RHEL 5，RHEL 6，RHEL 7

標準サブルーチンがサポートする文字コードを次の表に示します。

表1‒1　標準サブルーチンがサポートする文字コード

形名

プラットフォーム

文字コード

KEIS

EUC

SJIS

Unicode

P-2451-F244

P-2651-F244

P-2951-F144

P-2951-F244

Windows

×

○

○

○

P-1M51-FC31

P-1M51-FD31

AIX（32ビットモード）

AIX（64ビットモード）

×

○

○

×

P-9W51-FD31

Linux(EM64T)

×

×

×

○

1.1.3　データ中心アプローチに基づく部品化・再利用の推進

データ項目単位に処理を実行するように設計してあるので，データ中心アプローチに基づく部品化・再利用を推進できます。

1.2　標準サブルーチンの適用方法

標準サブルーチンの適用方法について説明します。

1.2.1　Windows用標準サブルーチンの適用方法

(1)　提供形態

Windows用標準サブルーチンは，シングルスレッド対応版ライブラリを提供しており，文字コード形式のSJIS対応版とEUC対応版ではそれぞれにビッグエンディアン形式用（WS版）とリトルエンディアン形式用（PC版），ライブラリファイル形式とDLL形式の4種類（文字コード形式SJIS/EUCと合わせ全8種類）が提供されます。また，文字コード形式のUnicode対応版では文字データとバイナリデータのエンディアンの組み合わせで，ライブラリファイル形式とDLL形式についてそれぞれ4種類（全8種類）のライブラリが提供されます。Windows用標準サブルーチンのライブラリの種類一覧について，次の表に示します。

なお，SJIS対応版／EUC対応版／Unicode対応版の全16種類のライブラリに対し，それぞれの種類ごとに（和暦）規格の標準版とJIS規格版の2種類が提供されます。

これらを正しく使い分けないと，サブルーチンが正常に動作しない場合があるので，ご注意ください。

表1‒2　Windows用標準サブルーチンのライブラリの種類一覧

ライブラリの種類

種類詳細

文字コード形式

SJIS/EUC/UNI_BIG/UNI_LITTLE※の4種類

バイナリデータのエンディアン形式

BIG/LITTLEの2種類

ファイル形式

ライブラリファイル形式/DLL形式の2種類

（和暦）規格

標準版とJIS規格版の2種類

注※

UNI_BIG/UNI_LITTLEはUnicode対応版ライブラリのUTF-16文字データのエンディアン（UNI_BIG＝UTF-16BE/UNI_LITTLE＝UTF-16LE）を示します。

なお，各ライブラリにあるJIS規格版では標準版に対して，実在日チェック（和暦）［LXRPID02］，年月日変換（西暦→和暦）［LXRPID05］で各年号の期間が異なります。年号の詳細な期間については，「標準サブルーチン仕様書」を参照してください。

それぞれの提供形態を次に示します。なお，各ライブラリは次の場所を基点に格納されています。

（インストールパスはC:¥Program Files¥Hitachi¥SEWB+STD_SUB¥とする）

SJIS対応版　 ：C:¥Program Files¥Hitachi¥SEWB+STD_SUB¥

EUC対応版　 ：C:¥Program Files¥Hitachi¥SEWB+STD_SUB¥EUC

Unicode対応版：C:¥Program Files¥Hitachi¥SEWB+STD_SUB¥UNICODE

表1‒3　SJIS対応版の提供形態

格納場所

構成物

提供形態

├─COPY

コピークローズ

テキストファイル

├─BIG

｜　├─BIN

｜　├─LIB

ビッグエンディアン形式のライブラリ

ライブラリファイル

または

DLL

｜　├─JISBIN

｜　└─JISLIB

上記のJIS規格版

└─LITTLE

　　├─BIN

　　├─LIB

リトルエンディアン形式のライブラリ

　　├─JISBIN

　　└─JISLIB

上記のJIS規格版

表1‒4　EUC対応版の提供形態

格納場所

構成物

提供形態

EUC

　├─COPY

コピークローズ（EUCエンコード）

テキストファイル

　｜　└─CopySjis

コピークローズ（SJISエンコード）※

　├─BIG

　｜　├─BIN

　｜　├─LIB

ビッグエンディアン形式のライブラリ

ライブラリファイル

または

DLL

　｜　├─JISBIN

　｜　└─JISLIB

上記のJIS規格版

　└─LITTLE

　　　├─BIN

　　　├─LIB

リトルエンディアン形式のライブラリ

　　　├─JISBIN

　　　└─JISLIB

上記のJIS規格版

注※

COBOLエディタでの参照用で，コンパイルには利用しません。

表1‒5　Unicode対応版の提供形態

格納場所

構成物

提供形態

UNICODE

　├─COPY

コピークローズ

テキストファイル

　├─UNI_BIG

　｜　├─BIG

　｜　｜　├─BIN

　｜　｜　├─LIB

文字データ，バイナリデータが共にビッグエンディアン形式のライブラリ

ライブラリファイル

または

DLL

　｜　｜　├─JISBIN

　｜　｜　└─JISLIB

上記のJIS規格版

　｜　└─LITTLE

　｜　　　├─BIN

　｜　　　├─LIB

文字データがビッグエンディアン，バイナリデータがリトルエンディアン形式のライブラリ

　｜　　　├─JISBIN

　｜　　　└─JISLIB

上記のJIS規格版

　└─UNI_LITTLE

　　　├─BIG

　　　｜　├─BIN

　　　｜　├─LIB

文字データがリトルエンディアン，バイナリデータがビッグエンディアン形式のライブラリ

　　　｜　├─JISBIN

　　　｜　└─JISLIB

上記のJIS規格版

　　　└─LITTLE

　　　　　├─BIN

　　　　　├─LIB

文字データ，バイナリデータが共にリトルエンディアン形式のライブラリ

　　　　　├─JISBIN

　　　　　└─JISLIB

上記のJIS規格版

(a)　コピークローズ

標準サブルーチンのインタフェーステーブルが記述されています。標準サブルーチンを使用して作成したプログラムをコンパイルするときに使用します。

(b)　ビッグエンディアン形式のライブラリ

標準サブルーチンを使用して作成したプログラムを，ビッグエンディアン環境で実行するときに使用します。

(c)　リトルエンディアン形式のライブラリ

標準サブルーチンを使用して作成したプログラムを，リトルエンディアン環境で実行するときに使用します。

(d)　文字データ，バイナリデータ（Unicode対応版だけ）

ここでの文字データとは日本語文字列定数，バイナリデータとは2進および浮動小数点のデータ項目を示します。文字データおよびバイナリデータの形式は，コンパイルオプションの使用によって変わります。詳細については，「1.2.1(2)(c)　コンパイル・リンケージ」を参照してください。

(2)　適用方法

Windows用標準サブルーチンを使用してユーザアプリケーションプログラムを作成する手順を次に示します。

(a)　前提条件

Windows用標準サブルーチンでUnicode対応版を利用する場合，次に示すソフトウェアのどちらか1つが必要となります。

日立コード変換 - Server Runtime

日立コード変換 - Client Runtime

(b)　環境変数の設定

PATH，LIB

環境変数PATHに標準サブルーチンのDLL格納パス，環境変数LIBに標準サブルーチンのスタティックライブラリ，およびインポートライブラリの格納パスを追加する必要があります。格納パスについては，インストール時にユーザが任意に決定できるので，インストールした場所を指定してください。追加する環境変数の例を次に示します。

（例1）SJIS対応版ビッグエンディアン形式のライブラリを使用する場合

（格納パスはC:¥Program Files¥Hitachi¥SEWB+STD_SUB¥）

PATH=%PATH%;C:¥Program Files¥Hitachi¥SEWB+STD_SUB¥BIG¥BIN

LIB=%LIB%;C:¥Program Files¥Hitachi¥SEWB+STD_SUB¥BIG¥LIB

（例2）EUC対応版リトルエンディアン形式のライブラリを使用する場合

（格納パスはC:¥Program Files¥Hitachi¥SEWB+STD_SUB¥）

PATH=%PATH%;C:¥Program Files¥Hitachi¥SEWB+STD_SUB¥EUC¥LITTLE¥BIN

LIB=%LIB%;C:¥Program Files¥Hitachi¥SEWB+STD_SUB¥EUC¥LITTLE¥LIB

CBLLIB

環境変数CBLLIBに標準サブルーチンのインタフェーステーブル格納パスを設定する必要があります。したがって，CBLLIBに追加するパスは，そのインタフェーステーブルを格納した場所になります。

（例）SJIS対応版を使用する場合

（格納パスはC:¥Program Files¥Hitachi¥SEWB+STD_SUB¥）

CBLLIB=%CBLLIB%;C:¥Program Files¥Hitachi¥SEWB+STD_SUB¥COPY

CBLLANG，CBLUNIENDIAN

Unicode対応版を使用する場合，環境変数CBLLANGに'UNICODE'を指定してください。さらに，環境変数CBLUNIENDIANに'BIG'，または'LITTLE'を指定してください。

（例）Unicode対応版（文字データがリトルエンディアン形式）の場合

CBLLANG=UNICODE

CBLUNIENDIAN=LITTLE

(c)　コンパイル・リンケージ

コンパイル

「開発マネージャ for COBOL2002」を使用して，メニューから［ビルド］−［ビルド］をクリックしてコンパイルおよびリンケージを行います。

ユーザアプリケーションでのコンパイルオプションの使用の有無によって，リンクの対象となる標準サブルーチンのライブラリファイルが変わります。使用するコンパイルオプションと，リンクの対象となるライブラリファイルの対応を次の表に示します。

コンパイルオプションの設定方法，および各コンパイルオプションの機能については，マニュアル「COBOL2002　操作入門」，「COBOL2002　操作ガイド」を参照してください。また，Unicode対応版をご利用の場合は，マニュアル「COBOL2002　ユーザーズガイド」もあわせて参照してください。

表1‒6　コンパイルオプションとリンク対象ライブラリファイルとの対応

オプション名

SJIS

EUC

UNI_BIG

UNI_LITTLE

BIG

LITTLE

BIG

LITTLE

BIG

LITTLE

BIG

LITTLE

-JPN,Alnum

−

−

○

○

×

×

×

×

-UniObjGen

×

×

×

×

○

○

○

○

-UniEndian,Big

×

×

×

×

○

○

×

×

-UniEndian,Little

×

×

×

×

×

×

○

○

-BigEndian,Bin

○

×

○

×

○

×

○

×

-BigEndian,Float

○

×

○

×

○

×

○

×

（凡例）

○：指定する

×：指定しない

−：問わない

表1‒7　コンパイルオプションと標準サブルーチンのライブラリファイル形式の対応

オプション名

ライブラリファイル形式

DLL形式

-StdCall

×※1

○※2

-StdCallFile stdcall呼び出し指示ファイル名

×※1

○※2

（凡例）

○：指定する

×：指定しない

注※1

標準サブルーチン以外に使用するライブラリがstdcall呼び出し規約で作成しており，COBOLソースファイル中に呼び出し属性を指定していない場合は必要です。

注※2

標準サブルーチンの呼び出し属性をCOBOLソースファイル中で指定している場合は不要です。

リンケージ

「開発マネージャ for COBOL2002」のメニューから［プロジェクト］−［プロジェクトの設定］を選択し，［リンク］タブで使用するライブラリを指定します。標準サブルーチンをリンクする際に指定するライブラリを次に示します。

DLLをリンクする場合：lxdl.lib（インポートライブラリ）

スタティックライブラリを指定する場合：lxsl.lib

ただし，リンクするライブラリを指定する際，そのライブラリの格納されているパスが環境変数LIBに記述されていない場合は，ライブラリをフルパスで指定してください。

（例）DLLをリンクする場合

（インポートライブラリの格納パスがC:¥Program Files¥Hitachi¥SEWB+STD_SUB¥BIG¥LIB）

C:¥Program Files¥Hitachi¥SEWB+STD_SUB¥BIG¥LIB¥lxdl.lib

1.2.2　AIX用標準サブルーチンの適用方法

(1)　提供形態

AIX用標準サブルーチンは，スレッド種別（シングルスレッド対応用とマルチスレッド対応用），文字コード形式（SJIS対応版とEUC対応版），およびライブラリ形式（アーカイブ形式と共用ライブラリ形式）の組み合わせによって，全8種類のライブラリが提供されます。AIX用標準サブルーチンのライブラリの種類一覧について，次の表に示します。

なお，SJIS対応版／EUC対応版の全8種類のライブラリに対し，それぞれの種類ごとに（和暦）規格の標準版とJIS規格版の2種類が提供されます。

これらを正しく使い分けないと，サブルーチンが正常に動作しない場合があるので，注意してください。

表1‒8　AIX用標準サブルーチンのライブラリの種類一覧

ライブラリの種類

種類詳細

スレッド種別

シングルスレッド対応用/マルチスレッド対応用の2種類

文字コード形式

SJIS/EUCの2種類

ファイル形式

アーカイブ形式/共用ライブラリ形式の2種類

（和暦）規格

標準版とJIS規格版の2種類

なお，各ライブラリにあるJIS規格版では標準版に対して，実在日チェック（和暦）[LXRPID02]，年月日変換（西暦→和暦）[LXRPID05]で，各年号の期間が異なります。年号の詳細な期間については，「標準サブルーチン仕様書」を参照してください。

AIX対応版の提供形態を次に示します。

表1‒9　AIX用標準サブルーチンの提供形態

格納場所

構成物

提供形態

＜32ビットモード版の場合＞

/opt/SEWB3

＜64ビットモード版の場合＞

/opt/SEWB64

−

−

├─Ja_JP

｜　└─COMMON

｜　　　└─RTSP

｜　　　　　└─Cbl_Source

SJIS対応版のコピークローズ

テキストファイル

├─ja_JP

｜　└─COMMON

｜　　　└─RTSP

｜　　　　　└─Cbl_Source

EUC対応版のコピークローズ

テキストファイル

├─lib

シングルスレッド対応ライブラリ

「表1-10　libディレクトリの内容」を参照

└─mthread

　　└─lib

マルチスレッド対応ライブラリ

表1‒10　libディレクトリの内容

ファイル名

文字コード形式

形式

ライブラリ形式

libLx2000.a

SJIS

標準版

アーカイブ形式

libLx2000_sh.a

共用ライブラリ形式

libLxJIS.a

JIS規格版

アーカイブ形式

libLxJIS_sh.a

共用ライブラリ形式

libLxeuc2000.a

EUC

標準版

アーカイブ形式

libLxeuc2000_sh.a

共用ライブラリ形式

libLxeucJIS.a

JIS規格版

アーカイブ形式

libLxeucJIS_sh.a

共用ライブラリ形式

(a)　コピークローズ

標準サブルーチンのインタフェーステーブルが記述されています。標準サブルーチンを使用して作成したプログラムをコンパイルするときに使用します。

(b)　シングルスレッド対応ライブラリ

シングルスレッド対応プログラムで標準サブルーチンを使用するときに使用します。

(c)　マルチスレッド対応ライブラリ

マルチスレッド対応プログラムで標準サブルーチンを使用するときに使用します。

(2)　適用方法

AIX用標準サブルーチンを使用してユーザアプリケーションプログラムを作成する手順を次に示します。AIX（64ビットモード）版の場合は，「/opt/SEWB3」を「/opt/SEWB64」に読み替えてください。

(a)　環境変数の設定

PATH，LIBPATH

環境変数PATHおよびLIBPATHに標準サブルーチンのライブラリの格納パスを追加する必要があります。sh（Bourneシェル）を例に，環境変数の設定例を次に示します。

（例1）シングルスレッド対応版ライブラリを使用する場合

PATH=${PATH}:/opt/SEWB3/lib

LIBPATH=${LIBPATH}:/opt/SEWB3/lib

export PATH LIBPATH

（例2）マルチスレッド対応版ライブラリを使用する場合

PATH=${PATH}:/opt/SEWB3/mthread/lib

LIBPATH=${LIBPATH}:/opt/SEWB3/mthread/lib

export PATH LIBPATH

CBLLIB

環境変数CBLLIBに標準サブルーチンのインタフェーステーブル格納パスを設定する必要があります。

（例）SJIS対応版を使用する場合

CBLLIB=${CBLLIB}:/opt/SEWB3/Ja_JP/COMMON/RTSP/Cbl_Source

export CBLLIB

LANG

環境変数LANGに使用するロケールを設定する必要があります。

（例）SJIS対応版を使用する場合

LANG=Ja_JP

export LANG

(b)　コンパイル・リンケージ

ccbl2002コマンドを使用して，コンパイルおよびリンケージを行います。

ユーザアプリケーションでのコンパイルオプションの使用の有無によって，リンクの対象となる標準サブルーチンのライブラリファイルが変わります。使用するコンパイルオプションと，リンクの対象となるライブラリファイルの対応を次の表に示します。

コンパイルオプションの設定方法，および各コンパイルオプションの機能については，マニュアル「COBOL2002　使用の手引　手引編」を参照してください。

表1‒11　コンパイルオプションとリンク対象ライブラリファイルとの対応

オプション名

シングルスレッド

マルチスレッド

アーカイブライブラリ

共用ライブラリ

アーカイブライブラリ

共用ライブラリ

-MultiThread

×

×

×

×

○

○

○

○

-lpthreads

×

×

×

×

○

○

○

○

（凡例）

○：指定する

×：指定しない

コンパイルオプションの指定例を次に示します。

（例1）シングルスレッド対応版，文字データがSJIS版のアーカイブ形式ライブラリを使用する場合

(a)標準サブルーチンを呼び出すメインプログラムをコンパイルする場合

ccbl2002 -Main,System ABC.cbl -OutputFile ABC
-L/opt/SEWB3/lib -lLx2000

(b)標準サブルーチンを呼び出すメインプログラムがコンパイル済みの場合

ccbl2002 -OutputFile ABC ABC.o -L/opt/SEWB3/lib -lLx2000

（例2）シングルスレッド対応版，文字データがSJIS版の共用ライブラリを使用する場合

(a)標準サブルーチンを呼び出すメインプログラムをコンパイルする場合

ccbl2002 -Main,System ABC.cbl -OutputFile ABC
-L/opt/SEWB3/lib -lLx2000_sh

(b)標準サブルーチンを呼び出すメインプログラムがコンパイル済みの場合

ccbl2002 -OutputFile ABC ABC.o -L/opt/SEWB3/lib -lLx2000_sh

（例3）マルチスレッド対応版，文字データがEUC版の共用ライブラリを使用する場合

(a)標準サブルーチンを呼び出すメインプログラムをコンパイルする場合

ccbl2002 -MultiThread -Main,System ABC.cbl -OutputFile ABC
-L/opt/SEWB3/mthread/lib -lLxeuc2000_sh -lpthreads

(b)標準サブルーチンを呼び出すメインプログラムがコンパイル済みの場合

ccbl2002 -MultiThread -OutputFile ABC ABC.o
-L/opt/SEWB3/mthread/lib -lLxeuc2000_sh -lpthreads

1.2.3　Linux(EM64T)用標準サブルーチンの適用方法

(1)　提供形態

Linux(EM64T)用標準サブルーチンは，スレッド種別（シングルスレッド対応用とマルチスレッド対応用），ライブラリ形式（アーカイブ形式と共用ライブラリ形式），および文字コード形式とバイナリデータのエンディアン格納形式の組み合わせによって，全16種類のライブラリが提供されます。Linux(EM64T)用標準サブルーチンのライブラリの種類一覧について，次の表に示します。

なお，上記に加えてそれぞれの種類ごとに（和暦）規格の標準版とJIS規格版の2種類が提供されます。

これらを正しく使い分けないと，サブルーチンが正常に動作しない場合があるので，注意してください。

表1‒12　Linux(EM64T)用標準サブルーチンのライブラリの種類一覧

ライブラリの種類

種類詳細

スレッド種別

シングルスレッド対応用/マルチスレッド対応用の2種類

文字コード形式

UNI_BIG/UNI_LITTLE※の2種類

バイナリデータのエンディアン形式

BIG/LITTLEの2種類

ファイル形式

アーカイブ形式/共用ライブラリ形式の2種類

（和暦）規格

標準版とJIS規格版の2種類

注※

UNI_BIG/UNI_LITTLEはUnicode対応版ライブラリのUTF-16文字データのエンディアン（UNI_BIG＝UTF-16BE/UNI_LITTLE＝UTF-16LE）を示します。

なお，各ライブラリにあるJIS規格版では標準版に対して，実在日チェック（和暦）［LXRPID02］，年月日変換（西暦→和暦）［LXRPID05］で各年号の期間が異なります。年号の詳細な期間については，「標準サブルーチン仕様書」を参照してください。

Unicode対応版の提供形態を次に示します。

表1‒13　Linux(EM64T)用標準サブルーチンの提供形態

格納場所

構成物

提供形態

/opt/SEWB64

−

−

├─ja_JP.UTF-8

｜　└─COMMON

｜　　　└─RTSP

｜　　　　　└─Cbl_Source

コピークローズ

テキストファイル

├─lib

シングルスレッド対応ライブラリ

「表1-14　libディレクトリの内容」を参照

└─mthread

　　└─lib

マルチスレッド対応ライブラリ

表1‒14　libディレクトリの内容

ファイル名

形式

ライブラリ形式

libLxUniBSB.a

文字データ，バイナリデータが共にビッグエンディアン形式のライブラリ

アーカイブ形式

libLxUniBSB.so

共用ライブラリ形式

libLxUniBJB.a

上記のJIS規格版

アーカイブ形式

libLxUniBJB.so

共用ライブラリ形式

libLxUniBSL.a

文字データがビッグエンディアン，バイナリデータがリトルエンディアン形式のライブラリ

アーカイブ形式

libLxUniBSL.so

共用ライブラリ形式

libLxUniBJL.a

上記のJIS規格版

アーカイブ形式

libLxUniBJL.so

共用ライブラリ形式

libLxUniLSB.a

文字データがリトルエンディアン，バイナリデータがビッグエンディアン形式のライブラリ

アーカイブ形式

libLxUniLSB.so

共用ライブラリ形式

libLxUniLJB.a

上記のJIS規格版

アーカイブ形式

libLxUniLJB.so

共用ライブラリ形式

libLxUniLSL.a

文字データ，バイナリデータが共にリトルエンディアン形式のライブラリ

アーカイブ形式

libLxUniLSL.so

共用ライブラリ形式

libLxUniLJL.a

上記のJIS規格版

アーカイブ形式

libLxUniLJL.so

共用ライブラリ形式

(a)　コピークローズ

標準サブルーチンのインタフェーステーブルが記述されています。標準サブルーチンを使用して作成したプログラムをコンパイルするときに使用します。

(b)　シングルスレッド対応ライブラリ

シングルスレッド対応プログラムで標準サブルーチンを使用するときに使用します。

(c)　マルチスレッド対応ライブラリ

マルチスレッド対応プログラムで標準サブルーチンを使用するときに使用します。

(d)　ビッグエンディアン形式のライブラリ

標準サブルーチンを使用して作成したプログラムを，ビッグエンディアン環境で実行するときに使用します。

(e)　リトルエンディアン形式のライブラリ

標準サブルーチンを使用して作成したプログラムを，リトルエンディアン環境で実行するときに使用します。

(f)　文字データ，バイナリデータ

ここでの文字データとは日本語文字列定数，バイナリデータとは2進および浮動小数点のデータ項目を示します。文字データおよびバイナリデータの形式は，コンパイルオプションの使用によって変わります。詳細については，「1.2.3(2)(c)　コンパイル・リンケージ」を参照してください。

(2)　適用方法

Linux(EM64T)用標準サブルーチンを使用してユーザアプリケーションプログラムを作成する手順を次に示します。

(a)　前提条件

Linux(EM64T)用標準サブルーチンでUnicode対応版を利用する場合，次に示すソフトウェアが必要となります。

日立コード変換 - Runtime(64)

(b)　環境変数の設定

PATH，LD_LIBRARY_PATH

環境変数PATHおよびLD_LIBRARY_PATHに標準サブルーチンのライブラリの格納パスを追加する必要があります。sh（Bourneシェル）を例に，環境変数の設定例を次に示します。

（例1）シングルスレッド対応版ライブラリを使用する場合

PATH=${PATH}:/opt/SEWB64/lib

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/SEWB64/lib

export PATH LD_LIBRARY_PATH

（例2）マルチスレッド対応版ライブラリを使用する場合

PATH=${PATH}:/opt/SEWB64/mthread/lib

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/SEWB64/mthread/lib

export PATH LD_LIBRARY_PATH

CBLLIB

環境変数CBLLIBに標準サブルーチンのインタフェーステーブル格納パスを設定する必要があります。

（例）Unicode対応版を使用する場合

CBLLIB=${CBLLIB}:/opt/SEWB64/ja_JP.UTF-8/COMMON/RTSP/Cbl_Source

export CBLLIB

LANG

環境変数LANGに使用するロケールを設定する必要があります。

（例）Unicode対応版を使用する場合

LANG=ja_JP.UTF-8

export LANG

CBLLANG，CBLSRCENCODING，CBLUNIENDIAN

Unicode 対応版を使用する場合は，環境変数CBLLANG に'UNICODE'，環境変数CBLSRCENCODING に'SJIS'を指定し，さらに，環境変数CBLUNIENDIAN に'BIG'，または'LITTLE'を指定する必要があります。

（例）Unicode対応版（文字データがリトルエンディアン形式）を使用する場合

CBLLANG=UNICODE

export CBLLANG

CBLSRCENCODING=SJIS

export CBLSRCENCODING

CBLUNIENDIAN=LITTLE

export CBLUNIENDIAN

(c)　コンパイル・リンケージ

ccbl2002コマンドを使用して，コンパイルおよびリンケージを行います。

ユーザアプリケーションでのコンパイルオプションの使用の有無によって，リンクの対象となる標準サブルーチンのライブラリファイルが変わります。使用するコンパイルオプションと，リンクの対象となるライブラリファイルの対応を次に示します。

コンパイルオプションの設定方法，および各コンパイルオプションの機能については，マニュアル「COBOL2002　使用の手引　手引編」を参照してください。

表1‒15　コンパイルオプションとリンク対象ライブラリファイルとの対応（シングルスレッド対応ライブラリの場合）

オプション名

UNI_BIG

UNI_LITTLE

BIG

LITTLE

BIG

LITTLE

.a

.so

.a

.so

.a

.so

.a

.so

-UniObjGen

○

○

○

○

○

○

○

○

-UniEndian,Big

○

○

○

○

×

×

×

×

-UniEndian,Little

×

×

×

×

○

○

○

○

-BigEndian,Bin

○

○

×

×

○

○

×

×

-BigEndian,Float

○

○

×

×

○

○

×

×

（凡例）

○：指定する

×：指定しない

UNI_BIG：文字データがビッグエンディアン

UNI_LITTLE：文字データがリトルエンディアン

BIG：バイナリデータがビッグエンディアン

LITTLE：バイナリデータがリトルエンディアン

表1‒16　コンパイルオプションとリンク対象ライブラリファイルとの対応（マルチスレッド対応ライブラリの場合）

オプション名

UNI_BIG

UNI_LITTLE

BIG

LITTLE

BIG

LITTLE

.a

.so

.a

.so

.a

.so

.a

.so

-UniObjGen

○

○

○

○

○

○

○

○

-UniEndian,Big

○

○

○

○

×

×

×

×

-UniEndian,Little

×

×

×

×

○

○

○

○

-BigEndian,Bin

○

○

×

×

○

○

×

×

-BigEndian,Float

○

○

×

×

○

○

×

×

-MultiThread

○

○

○

○

○

○

○

○

-lpthread

○

○

○

○

○

○

○

○

（凡例）

○：指定する

×：指定しない

UNI_BIG：文字データがビッグエンディアン

UNI_LITTLE：文字データがリトルエンディアン

BIG：バイナリデータがビッグエンディアン

LITTLE：バイナリデータがリトルエンディアン

コンパイルオプションの指定例を次に示します。

（例1）シングルスレッド対応版，文字データがリトルエンディアン，バイナリデータがビッグエンディアン形式のアーカイブ形式ライブラリを使用する場合

(a)標準サブルーチンを呼び出すメインプログラムをコンパイルする場合

ccbl2002 -UniObjGen -UniEndian,Little -BigEndian,Bin -BigEndian,Float
-Main,System ABC.cbl -OutputFile ABC -L/opt/SEWB64/lib -Link,-Bstatic
-lLxUniLSB -Link,-Bdynamic

(b)標準サブルーチンを呼び出すメインプログラムがコンパイル済みの場合

ccbl2002 -UniObjGen -UniEndian,Little -BigEndian,Bin -BigEndian,Float
-OutputFile ABC ABC.o -L/opt/SEWB64/lib -Link,-Bstatic
-lLxUniLSB -Link,-Bdynamic

（例2）シングルスレッド対応版，文字データがリトルエンディアン，バイナリデータがビッグエンディアン形式の共有ライブラリを使用する場合

(a)標準サブルーチンを呼び出すメインプログラムをコンパイルする場合

ccbl2002 -UniObjGen -UniEndian,Little -BigEndian,Bin -BigEndian,Float -Main,System ABC.cbl -OutputFile ABC -L/opt/SEWB64/lib -lLxUniLSB

(b)標準サブルーチンを呼び出すメインプログラムがコンパイル済みの場合

ccbl2002 -UniObjGen -UniEndian,Little -BigEndian,Bin -BigEndian,Float -OutputFile ABC ABC.o -L/opt/SEWB64/lib -lLxUniLSB

（例3）マルチスレッド対応版，文字データがビッグエンディアン，バイナリデータがリトルエンディアン形式の共用ライブラリを使用する場合

(a)標準サブルーチンを呼び出すメインプログラムをコンパイルする場合

ccbl2002 -MultiThread -UniObjGen -UniEndian,Big
-Main,System ABC.cbl -OutputFile ABC
-L/opt/SEWB64/mthread/lib -lLxUniBSL -lpthread

(b)標準サブルーチンを呼び出すメインプログラムがコンパイル済みの場合

ccbl2002 -MultiThread -UniObjGen -UniEndian,Big
-OutputFile ABC ABC.o
-L/opt/SEWB64/mthread/lib -lLxUniBSL -lpthread

1.3　標準サブルーチンの呼び出し方法

標準サブルーチンの呼び出しをソースプログラム中に直接コーディングする場合は，次のように記述してください。

       (WORKING-STORAGE SECTIONに)
           COPY  ｲﾝﾀﾌｪｰｽID  PREFIXING  ﾌﾟﾚﾌｨｯｸｽ-.

       (PROCEDURE DIVISIONに)
           MOVE  ･･････         TO  ﾌﾟﾚﾌｨｯｸｽ-I-xxx
           MOVE  ･･････         TO  ﾌﾟﾚﾌｨｯｸｽ-I-yyy
                          ：
           CALL  'ｻﾌﾞﾙｰﾁﾝID'    USING  ﾌﾟﾚﾌｨｯｸｽ-TBL
           IF  ﾌﾟﾚﾌｨｯｸｽ-O-RTN-CD  =  SPACE
             THEN
               MOVE  ﾌﾟﾚﾌｨｯｸｽ-O-zzz  TO  ･･････
                              ：

（例）年月日変換（西暦→和暦）（LXRPID05）を呼び出す場合

       (WORKING-STORAGE SECTIONに)
           COPY  LXRCID05  PREFIXING  D05-.

       (PROCEDURE DIVISIONに)
           MOVE  ･･････         TO  D05-I-YMD
           CALL  'LXRPID05'     USING  D05-TBL
           IF  D05-O-RTN-CD  =  SPACE
             THEN
               MOVE  D05-O-YMDWA  TO  ･･････
                              ：

標準サブルーチンの呼び出しでは，次の点に注意して記述してください。

提供しているインタフェーステーブル以外を使用して呼び出した場合，またはインタフェーステーブルの01レベルの項目名（プレフィックス-TBL）以外に引数を指定した場合，結果は保証しません。

（例1）不正な利用例：提供しているインタフェーステーブル以外を使用した場合

       (WORKING-STORAGE SECTIONに)
           COPY  LXRCIX99  PREFIXING  X99-.

       (PROCEDURE DIVISIONに)
           CALL  'LXRPID01'     USING  X99-TBL.

（例2）不正な利用例：01レベル以外の項目名を引数に使用した場合

       (WORKING-STORAGE SECTIONに)
           COPY  LXRCID05  PREFIXING  D05-.

       (PROCEDURE DIVISIONに)
           MOVE  ･･････         TO  D05-I-YY
           CALL  'LXRPID05'     USING  D05-I-YY.
                              ：

提供しているインタフェーステーブルの01レベルの項目名はすべて'TBL'なので，標準サブルーチンを2つ以上使うときは，COPY文に異なるプレフィックスを指定してください。

1.4　標準サブルーチンの分類と命名基準

標準サブルーチンの分類を次の表に示します。

表1‒17　標準サブルーチンの分類

分類

分類コード

機能

文字列チェック／編集

Ａ

半角の文字列に対するチェック，編集処理

漢字チェック／編集

Ｂ

全角の文字列に対するチェック，編集処理

文字列コード変換

Ｃ

文字コードの変換

日付チェック／編集

Ｄ

日付（年月日，年月など）のチェック，編集処理

時間チェック／編集

Ｅ

時刻，時間のチェック，編集処理

項目チェック／編集

Ｆ

データ項目（日付，時刻，コードは除く）のチェック，編集処理

コードチェック／編集

Ｇ

業務に用いるコードのチェック，編集処理

その他の変換編集

Ｚ

その他の変換，編集処理

標準サブルーチンのサブルーチンID（プログラムID），インタフェースID（コピークローズ名），リターンコードの命名基準を次の図に示します。

図1‒1　標準サブルーチンの命名基準

備考

サブルーチンIDとインタフェースIDは1：1で対応しています。

サブルーチンIDの4桁目を‘P’→‘C’とすると，そのサブルーチンのインタフェースIDになります。

1.5　標準サブルーチンの年号および祝祭日区分の変更への対応

改元に伴う新年号への移行，祝祭日の変更などがあると，標準サブルーチンの年号および祝祭日区分に影響があります。

標準サブルーチンはCOBOL外部サブルーチンであるため，標準サブルーチンを使用してユーザアプリケーションプログラムを作成している場合は，標準サブルーチンへの影響が，ユーザアプリケーションにも影響しないか見直す必要があります。

年号および祝祭日の変更の流れを次に示します。

図1‒2　年号および祝祭日の変更の流れ

注※1

ユーザアプリケーションプログラムの見直し，および標準サブルーチンが取り込む設定情報を変更する方法については，「3.　標準サブルーチンで年号および祝祭日の変更に対応する方法」を参照してください。

注※2

プラットフォームが異なる場合でも，開発環境で作成したファイル（設定情報）を，アスキーモード転送で実行環境へ反映できます。

1.5.1　標準サブルーチンが取り込む設定情報の変更に必要なファイル

年号および祝祭日区分を変更するには，情報設定ファイルの変更が必要です。

情報設定ファイルには，次の2種類があります。

デフォルト情報設定ファイル（adsubinf.txt）

製品インストール時に作成される情報設定ファイル。

デフォルト情報設定ファイルの設定情報の変更や削除はできません。設定情報の変更や削除をした場合，動作は保証されません。

なお，元号や祝日関連の法律改正があった場合，製品エンハンスによって，デフォルト情報設定ファイルの内容が変更になることがあります。

カスタマイズ情報設定ファイル（adsubinf_custom.txt）

デフォルト情報設定ファイルから複写することで作成する情報設定ファイル。

デフォルト情報設定ファイルの設定情報の変更や削除ができないため，標準サブルーチンが取得する設定情報は，カスタマイズ情報設定ファイルで変更します。

標準サブルーチンが取得する設定情報は，カスタマイズ情報設定ファイルの有無によって取得先が異なります。カスタマイズ情報設定ファイルの有無による設定情報の取得先の差異を次の表に示します。

表1‒18　カスタマイズ情報設定ファイルの有無による設定情報の取得先の差異

カスタマイズ情報設定ファイルの有無

設定情報の取得先

あり

カスタマイズ情報設定ファイルを参照後，標準サブルーチンの処理対象となる年号や日付に対する祝祭日情報が無ければ，製品内部で保持している情報※1を使用します。

なし

デフォルト情報設定ファイル※2を参照後，標準サブルーチンの処理対象となる年号や日付に対する祝祭日情報が無ければ，製品内部で保持している情報※1を使用します。

注※1

製品内部では，年号の情報および平成19年1月1日施行の「国民の祝日に関する法律」に記載されている祝祭日の情報を保持しています。製品内部で保持している年号情報については「LXRPID05　年月日変換（西暦→和暦）」の「処理基準」を，祝祭日情報については「付録C　祝祭日・休日の有効期間」を参照してください。

注※2

デフォルト情報設定ファイルでは，平成19年1月1日施行の「国民の祝日に関する法律」から，変更のある次の祝祭日の情報を保持しています。

祝祭日

期間

内容

山の日

2016年〜2100年

2020年以外は8月11日に祝日を追加。

2020年だけ8月10日に祝日を追加。

海の日

2020年

7月20日から7月23日に祝日を移動。

スポーツの日

2020年

10月12日から7月24日に祝日を移動。

天皇誕生日

2019年〜2100年

2019年は12月23日の祝日を削除。

2020年以降は12月23日から2月23日に祝日を移動。

1.5.2　年号および祝祭日の設定情報のカスタマイズの概要

標準サブルーチンが取得する設定情報をカスタマイズ情報設定ファイルで変更することで，年号および祝祭日の設定を変更できます。

カスタマイズ情報設定ファイルによる標準サブルーチンが取得する設定情報（年号情報および祝祭日区分情報）のカスタマイズの例を次に示します。

なお，年号および祝祭日の設定情報のカスタマイズの流れの詳細については，「3.2.1　年号および祝祭日の設定情報のカスタマイズの流れ」を参照してください。

(1)　新年号設定情報のカスタマイズの例

新年号設定情報を追加することで，これまでの「平成」までのデータ処理に加えて，「平成」以降の新年号のデータ処理も可能になります。

新年号設定情報のカスタマイズの例として和暦日付を西暦日付に変換するサブルーチンを使用した処理の流れを次に示します。

図1‒3　新年号設定情報のカスタマイズの例

カスタマイズ情報設定ファイルの設定情報（新年号情報）をサブルーチンが取り込むことで，和暦で設定された入力データ（和元※YY年MM月DD日）が，西暦のデータ（20XX年MM月DD日）に変換されます。

注※

ここでは，新年号を「和元」と仮定し，その年号コード（数字）を'5'として説明しています。

(2)　祝祭日区分情報のカスタマイズの例

祝祭日区分情報の追加および変更をすることで，今まで祝祭日でなかった日を祝祭日に変更できます。また，祝祭日区分情報の変更および削除をすることで，祝祭日から祝祭日以外への変更もできます。

祝祭日区分設定情報のカスタマイズの例として西暦日付を平日，土曜，日曜および祝祭日に分類するサブルーチンを使用した処理の流れを次に示します。

図1‒4　祝祭日区分設定情報のカスタマイズの例

カスタマイズ情報設定ファイルの設定情報（祝祭日区分情報（20X5年MM月DD日を祝祭日として追加））をサブルーチンが取り込むことで，これまで平日に分類されていた入力データ（20X5年MM月DD日）が，祝祭日に分類されます。

1.5.3　カスタマイズ情報設定ファイルのチェックの概要

作成したカスタマイズ情報設定ファイルは，カスタマイズ情報設定ファイルチェックツール（LXRPIDCK）でチェックします。

カスタマイズ情報設定ファイルチェックツール（LXRPIDCK）には，次の機能があります。

カスタマイズ情報設定ファイルの内容チェック機能

カスタマイズ情報設定ファイルのフォーマットおよび指定内容をチェックします。

設定情報確認リストの出力機能

カスタマイズ情報設定ファイルの内容をチェックし，エラーがなければ設定情報確認リストに出力します。設定情報確認リストに出力される内容は次のとおりです。

新年号

カスタマイズ情報設定ファイルに指定された新年号名を漢字で表示します。

表示することによって，指定した16進文字列に誤りがないかを確認できます。

祝祭日

標準サブルーチン内部で保持している祝祭日情報とカスタマイズ情報設定ファイルで指定された祝祭日情報をマージした結果を表示します。

表示することによって，カスタマイズ情報設定ファイルへ祝祭日（振替休日および国民の休日を含む）の追加，削除および変更の登録漏れがないかを確認できます。

カスタマイズ情報設定ファイルチェックツール（LXRPIDCK）のチェック結果に問題が無ければ，開発環境および実行環境の情報設定ファイルの格納ディレクトリに，カスタマイズ情報設定ファイルを格納します。

カスタマイズ情報設定ファイルチェックツール（LXRPIDCK）を利用したカスタマイズ情報設定ファイルのチェック方法については，「3.2.4　カスタマイズ情報設定ファイルのチェック」を参照してください。

2　標準サブルーチンの仕様

この章では，標準サブルーチンで提供しているサブルーチンの一覧および仕様を説明します。

標準サブルーチンの一覧

標準サブルーチンの一覧を次に示します。

表2‒1　文字列チェック／編集サブルーチンの一覧

サブルーチンID

サブルーチン名

処理概要

LXRPIA01

文字コードチェック

入力されたデータがすべて半角文字であるかチェックする

LXRPIA03

文字属性チェック

入力データの属性をチェックし，チェック結果を返す

LXRPIA05

文字列シフト

文字データの内容を指定文字数分指定方向へシフトする

LXRPIA06

文字列左詰め

文字データを左に詰める

LXRPIA07

文字列右詰め

文字データを右に詰める

LXRPIA08

文字列中央揃え

文字データをセンタリング編集する

LXRPIA09

文字列有効桁数算出

文字データの有効桁数を求める

LXRPIA10

数字文字列チェック／入力編集

Ｘタイプの数字文字列をチェックし，内部10進数値に変換する

LXRPIA11

数字チェック／右詰め編集

入力エリア中の文字をNUMERICチェックし右詰めに編集する

LXRPIA12

数字文字列コンマ挿入

数値データをコンマ付きの文字列に変換し，右詰めにする

LXRPIA13

文字列前後反転

文字列データの前後を反転する

LXRPIA14

指定文字削除

文字データの中から指定された文字を削除し左または右に詰める

LXRPIA15

空白削除

文字データ中の空白を削除する

LXRPIA16

不要空白削除

文字データ中の不要な空白を削除する

LXRPIA17

第１文字列取得

スペースで区切られた第1文字列とその長さを取得する

LXRPIA19

文字列交互挿入

文字列1のスペースに文字列2の文字列を順次セットし編集する

LXRPIA20

EBCDIK/KEIS混在文字列出力編集

入力文字データを指定データ長に合わせて編集する

LXRPIA21

後方スペース機能キャラクタ置換

文字列の後方のスペースを機能キャラクタに置換する

LXRPIA22

半角カナ文字入力チェック

入力された文字が半角カナ文字であるかをチェックする

LXRPIA23

混在文字列チェック

入力された文字が半角，全角の混在文字であることをチェックする

LXRPIA24

混在文字列チェック（含外字）

LXRPIA23の外字対応

LXRPIA25

英数字チェック／編集

入力された文字に対し，パラメータで指定されたチェック／編集を行う

LXRPIA26

数字チェック／数値変換

入力された文字に対し，パラメータで指定されたチェック／変換を行う

LXRPIA27

数字範囲チェック／数値変換

入力された文字に対し，パラメータで指定された範囲チェック／変換を行う

LXRPIA28

文字列切断

文字データを指定された長さで切断する

表2‒2　漢字チェック／編集サブルーチンの一覧

サブルーチンID

サブルーチン名

処理概要

LXRPIB01

漢字コードチェック

入力されたデータがすべて全角文字であるかチェックする

LXRPIB02

漢字コードチェック（含外字）

LXRPIB01の外字対応

LXRPIB03

漢字シフト

漢字データの内容を指定文字数分指定方向へシフトする

LXRPIB04

漢字データ左詰め

漢字データを左に詰める

LXRPIB05

漢字データ右詰め

漢字データを右に詰める

LXRPIB06

漢字データ中央揃え

漢字データをセンタリング編集する

LXRPIB07

漢字データ有効桁数算出

漢字データの有効桁数を求める

LXRPIB08

空白削除（漢字データ）

漢字データ中の空白を削除する

LXRPIB09

不要空白削除（漢字データ）

漢字データ中の不要な空白を削除する

LXRPIB10

漢字交互挿入

全角文字列1のスペースに全角文字列2の文字列を順次セットし編集する

LXRPIB11

不当漢字コード置換

全角文字列の不当な文字コードを指定された文字コードに置換する

LXRPIB12

機能キャラクタ削除

全角文字列の機能キャラクタを削除する

LXRPIB13

全角空白→半角空白置換

入力された漢字データの中の全角空白を半角空白に置換する

LXRPIB14

半角空白→全角空白置換

入力された漢字データの中の半角空白を全角空白に置換する

LXRPIB15

漢字交互挿入（含外字）

LXRPIB10の外字対応

LXRPIB16

不当漢字コード置換（含外字）

LXRPIB11の外字対応

表2‒3　文字列コード変換サブルーチンの一覧

サブルーチンID

サブルーチン名

処理概要

LXRPIC01

半角→全角変換

半角文字を対応する全角文字に変換する

LXRPIC02

全角→半角変換

全角文字を対応する半角文字に変換する

LXRPIC03

EBCDIK→JIS変換

EBCDIKコードをJIS8単位文字コードに変換する

LXRPIC04

JIS→EBCDIK変換

JIS8単位文字コードをEBCDIKコードに変換する

LXRPIC05

JIS漢字→KEIS変換

JIS漢字コードをKEISコードに変換する

LXRPIC06

KEIS→JIS漢字変換

KEISコードをJIS漢字コードに変換する

LXRPIC07

16進文字列→バイナリ変換

16進文字列をキャラクタ文字列に変換する

LXRPIC08

バイナリ→16進文字列変換

キャラクタ文字列を16進文字列に変換する

LXRPIC09

2進文字列→バイナリ変換

2進文字列を内部2進数値に変換する

LXRPIC10

バイナリ→2進文字列変換

内部2進数値を2進文字列に変換する

LXRPIC11

KEIS83→KEIS78変換

KEIS83の漢字コードをKEIS78に変換する

LXRPIC12

KEIS78→KEIS83変換

KEIS78の漢字コードをKEIS83に変換する

表2‒4　日付チェック／編集サブルーチンの一覧

サブルーチンID

サブルーチン名

処理概要

LXRPID01

実在日チェック（西暦）

西暦日付の妥当性をチェックし，リターンコードを返す

LXRPID02

実在日チェック（和暦）

和暦日付の妥当性をチェックし，リターンコードを返す

LXRPID03

年月日範囲内チェック（西暦）

西暦日付が指定された開始日付と終了日付の間の日付かチェックする

LXRPID04

年月日範囲内チェック（和暦）

和暦日付が指定された開始日付と終了日付の間の日付かチェックする

LXRPID05

年月日変換（西暦→和暦）

西暦日付を和暦日付に変換する

LXRPID06

年月日変換（和暦→西暦）

和暦日付を西暦日付に変換する

LXRPID07

年月日算出（西暦年月日±年数）

西暦日付と年数の加減算を行い，西暦日付を返す

LXRPID08

年月日算出（和暦年月日±年数）

和暦日付と年数の加減算を行い，和暦日付を返す

LXRPID09

年月日算出（西暦年月日±月数）

西暦日付と月数の加減算を行い，西暦日付を返す

LXRPID10

年月日算出（和暦年月日±月数）

和暦日付と月数の加減算を行い，和暦日付を返す

LXRPID11

年月日算出（西暦年月日±日数）

西暦日付と日数の加減算を行い，西暦日付を返す

LXRPID12

年月日算出（和暦年月日±日数）

和暦日付と日数の加減算を行い，和暦日付を返す

LXRPID13

期間算出（西暦年月日間日数）

2つの西暦日付の期間を日数で求める

LXRPID14

期間算出（和暦年月日間日数）

2つの和暦日付の期間を日数で求める

LXRPID15

期間算出（西暦年月日間年月日）

2つの西暦日付の期間を年月日で求める

LXRPID16

期間算出（和暦年月日間年月日）

2つの和暦日付の期間を年月日で求める

LXRPID17

月末日算出（西暦年月日）

西暦年月の月末日を求める

LXRPID18

月末日算出（和暦年月日）

和暦年月の月末日を求める

LXRPID19

通算週算出（年始〜西暦年月日）

西暦日付が入力された西暦年の通算第何週か求める

LXRPID20

通算週算出（年始〜和暦年月日）

和暦日付が入力された和暦年の通算第何週か求める

LXRPID21

年月日分類（西暦）

西暦日付を平日，土曜，日曜および祝祭日に分類する

LXRPID22

年月日分類（和暦）

和暦日付を平日，土曜，日曜および祝祭日に分類する

LXRPID23

年月日出力編集（西暦）

西暦日付を指定された処理形式に従い編集する

LXRPID24

年月日出力編集（和暦）

和暦日付を指定された処理形式に従い編集する

LXRPID25

うるう年判定（西暦）

その年がうるう年かどうかを判定する

LXRPID26

うるう年判定（和暦）

その年がうるう年かどうかを判定する

LXRPID27

年月日（西暦）→一貫日変換

西暦１年１月１日から西暦日付までの一貫日を求める

LXRPID28

年月日（和暦）→一貫日変換

西暦１年１月１日から和暦日付までの一貫日を求める

LXRPID29

一貫日→年月日（西暦）変換

指定された一貫日に対応する西暦年月日を求める

LXRPID30

一貫日→年月日（和暦）変換

指定された一貫日に対応する和暦年月日を求める

LXRPID31

日数算出（西暦年月日〜月末日）

西暦日付から月末日までの日数を求める

LXRPID32

日数算出（和暦年月日〜月末日）

和暦日付から月末日までの日数を求める

LXRPID33

年月日（西暦）→曜日算出

西暦日付に対応する曜日を求める

LXRPID34

年月日（和暦）→曜日算出

和暦日付に対応する曜日を求める

LXRPID35

曜日コードチェック／編集

曜日コードをチェックし，曜日名に変換する

LXRPID36

年号コードチェック／編集

年号コードをチェックし，年号名に変換する

LXRPID37

年号コード変換（英字→数字）

年号（M，T，S，H）を年号コード（1〜4）に変換する

LXRPID38

年号コード変換（数字→英字）

年号コード（1〜4）を年号（M，T，S，H）に変換する

LXRPID39

年齢計算（慣習）

入力された生年月日および現在年月日から年齢を求める（誕生日当日に1歳増）

LXRPID40

年齢計算（法律）

入力された生年月日および現在年月日から年齢を求める（誕生日前日に1歳増）

LXRPID41

年月日（西暦）過去チェック

システム日付と比較し，過去である事をチェックする

LXRPID42

年月日（和暦）過去チェック

システム日付と比較し，過去である事をチェックする

LXRPID43

年月日（西暦）未来チェック

システム日付と比較し，未来である事をチェックする

LXRPID44

年月日（和暦）未来チェック

システム日付と比較し，未来である事をチェックする

LXRPID45

年月日（西暦）編集

西暦日付を指定された処理形式に従い編集する

LXRPID46

年月日（和暦）編集

和暦日付を指定された処理形式に従い編集する

LXRPID47

年月日変換（西暦→和暦）編集

西暦を和暦に変換し，指定された処理形式に従い編集する

LXRPID48

年月（西暦）チェック

年月（西暦）の妥当性チェックを行う

LXRPID49

年月（和暦）チェック

年月（和暦）の妥当性チェックを行う

LXRPID50

年月（西暦）過去チェック

システム日付と比較し，過去である事をチェックする

LXRPID51

年月（和暦）過去チェック

システム日付と比較し，過去である事をチェックする

LXRPID52

年月（西暦）未来チェック

システム日付と比較し，未来である事をチェックする

LXRPID53

年月（和暦）未来チェック

システム日付と比較し，未来である事をチェックする

LXRPID54

年月（西暦）編集

年月（西暦）を，指定された処理形式に従い編集する

LXRPID55

年月（和暦）編集

年月（和暦）を，指定された処理形式に従い編集する

LXRPID56

年月変換（西暦→和暦）編集

西暦年月を和暦年月に変換し，指定された処理形式に従い編集する

LXRPID57

年月変換（西暦→和暦）

西暦年月を和暦年月に変換する

LXRPID58

年月変換（和暦→西暦）

和暦年月を西暦年月に変換する

LXRPID59

年度（西暦）チェック

年度（西暦）の妥当性チェックを行い，リターンコードを返す

LXRPID60

年度（和暦）チェック

年度（和暦）の妥当性チェックを行い，リターンコードを返す

LXRPID61

年度（西暦）過去チェック

システム日付と比較し，過去である事をチェックする

LXRPID62

年度（和暦）過去チェック

システム日付と比較し，過去である事をチェックする

LXRPID63

年度（西暦）未来チェック

システム日付と比較し，未来である事をチェックする

LXRPID64

年度（和暦）未来チェック

システム日付と比較し，未来である事をチェックする

LXRPID65

年度（西暦）編集

年度（西暦）を指定された処理形式に従い編集する

LXRPID66

年度（和暦）編集

指定された処理形式に従い編集する

LXRPID67

年度変換（西暦→和暦）編集

西暦年度を和暦年度に変換し，指定された処理形式に従い編集する

LXRPID68

年度変換（西暦→和暦）

西暦年度を和暦年度に変換する

LXRPID69

年度変換（和暦→西暦）

和暦年度を西暦年度に変換する

LXRPID70

年（西暦）チェック

年（西暦）の妥当性チェックを行う

LXRPID71

年（和暦）チェック

年（和暦）の妥当性チェックを行う

LXRPID72

年（西暦）過去チェック

システム日付と比較し，過去である事をチェックする

LXRPID73

年（和暦）過去チェック

システム日付と比較し，過去である事をチェックする

LXRPID74

年（西暦）未来チェック

システム日付と比較し，未来である事をチェックする

LXRPID75

年（和暦）未来チェック

システム日付と比較し，未来である事をチェックする

LXRPID76

年変換（西暦→和暦）編集

西暦年を和暦年に変換し，指定された処理形式に従い編集する

LXRPID77

年変換（西暦→和暦）

西暦年を和暦年に変換する

LXRPID78

年変換（和暦→西暦）

和暦年を西暦年に変換する

LXRPID80

年度基準日取得

西暦→和暦年度変換を行う際に必要な年度基準日を取得する

LXRPID81

年基準日取得

西暦→和暦年変換を行う際に必要な年基準日を取得する

LXRPID88

システム日付取得変換（8桁）

システム日付を取得し，8桁に変換する

LXRPID90

処理期限年月日算出（西暦）

入力された締日から次の締日を西暦年月日で取得する

LXRPID91

処理期限年月日算出（和暦）

入力された締日から次の締日を和暦年月日で取得する

LXRPID92

通算日算出（年始〜西暦年月日）

1月1日から入力した西暦年月日までの通算日を算出する

LXRPID93

通算日算出（年始〜和暦年月日）

1月1日から入力した和暦年月日までの通算日を算出する

LXRPID94

年齢（年月）算出（慣習）

入力された生年月日および現在年月日から年齢を年月単位で求める（誕生日当日に1歳増）

LXRPID95

年齢（年月）算出（法律）

入力された生年月日および現在年月日から年齢を年月単位で求める（誕生日前日に1歳増）

表2‒5　時間チェック／編集サブルーチンの一覧

サブルーチンID

サブルーチン名

処理概要

LXRPIE01

時刻妥当性チェック（24時間）

24時間単位の時刻の妥当性をチェックする

LXRPIE02

時刻妥当性チェック（12時間）

12時間単位の時刻の妥当性をチェックする

LXRPIE05

24時間単位→12時間単位時刻変換

24時間単位の時刻を12時間単位の時刻に変換する

LXRPIE06

12時間単位→24時間単位時刻変換

12時間単位の時刻を24時間単位の時刻に変換する

LXRPIE07

経過時間算出（24時間単位）

入力された2つの時刻（24時間単位）の差を時分秒で求める

LXRPIE08

経過時間算出（12時間単位）

入力された2つの時刻（12時間単位）の差を時分秒で求める

LXRPIE09

時間加算

入力された2つの時間の加算を行う

LXRPIE10

時間差算出

入力された2つの時間の差を時分秒で求める

LXRPIE11

時刻編集

時刻を指定された処理形式に従い編集する

LXRPIE12

日時加減算（西暦12時間単位）

12時間単位の西暦日時と日時の加算または減算を行う

LXRPIE13

日時加減算（西暦24時間単位）

24時間単位の西暦日時と日時の加算または減算を行う

LXRPIE14

日時加減算（和暦12時間単位）

12時間単位の和暦日時と日時の加算または減算を行う

LXRPIE15

日時加減算（和暦24時間単位）

24時間単位の和暦日時と日時の加算または減算を行う

LXRPIE16

時間チェック

時間の妥当性をチェックする

LXRPIE17

時間（秒）→時間変換編集

秒単位の時間を時間に変換し，指定された処理形式に従い編集する

LXRPIE18

時間→時間（秒）変換

時間を秒単位の時間に変換する

LXRPIE19

時間（秒）→時間変換

秒単位の時間を時間に変換する

LXRPIE20

時間編集

時間を指定された処理形式に従い編集する

表2‒6　項目チェック／編集サブルーチンの一覧

サブルーチンID

サブルーチン名

処理概要

LXRPIF01

氏名（漢字）チェック

氏名（漢字）のチェックをする

LXRPIF02

氏名（半角カナ）チェック

氏名（半角カナ）のチェックをする

LXRPIF03

氏名（漢字）分離編集

氏名（漢字）の分離編集をする

LXRPIF04

氏名（半角カナ）分離編集

氏名（半角カナ）の分離編集をする

LXRPIF05

氏名（漢字）結合編集

氏名（漢字）の結合編集をする

LXRPIF06

氏名（半角カナ）結合編集

氏名（半角カナ）の結合編集をする

LXRPIF07

郵便番号チェック／入力編集

郵便番号のチェックを行い格納形式に変換する

LXRPIF08

郵便番号チェック／出力編集

郵便番号のチェックを行い表示形式に変換する

LXRPIF09

金額編集

金額を指定された処理形式に従い編集する

LXRPIF10

郵便番号チェック／入力編集（5桁および7桁）

郵便番号のチェックを行い格納形式に変換する（5桁および7桁）

LXRPIF11

郵便番号チェック／出力編集（5桁および7桁）

郵便番号のチェックを行い表示形式に変換する（5桁および7桁）

LXRPIF12

郵便番号チェック／入力編集（7桁）

郵便番号のチェックを行い格納形式に変換する（7桁）

LXRPIF13

郵便番号チェック／出力編集（7桁）

郵便番号のチェックを行い表示形式に変換する（7桁）

LXRPIF14

氏名（漢字）チェック（含外字）

LXRPIF01の外字対応

LXRPIF15

氏名（漢字）分離編集（含外字）

LXRPIF03の外字対応

LXRPIF16

氏名（漢字）結合編集（含外字）

LXRPIF05の外字対応

表2‒7　コードチェック／編集サブルーチンの一覧

サブルーチンID

サブルーチン名

処理概要

LXRPIG01

性別コードチェック／変換

JISコード表に基づいて性別コードを変換する（JIS X 0303）

LXRPIG02

学歴区分コードチェック／変換

JISコード表に基づいて学歴区分コードを変換する（旧JIS X 0407）

LXRPIG04

地目コードチェック／変換

JISコード表に基づいて地目コードを変換する（JIS X 0411）

LXRPIG05

勘定科目コードチェック／変換

JISコード表に基づいて勘定科目コードを変換する（JIS X 0406）

LXRPIG09

フラグチェック／変換

入力されたフラグ（スペース，0，1）を英字，漢字に変換する

LXRPIG10

都道府県コードチェック／変換

入力された都道府県コードを都道府県名に変換する（JIS X 0401）

LXRPIG11

有無チェック／変換

入力された有無（スペース，0，1）を漢字に変換する

LXRPIG12

可否チェック／変換

入力された可否（スペース，0，1）を英字，漢字に変換する

表2‒8　そのほかの変換編集サブルーチンの一覧

サブルーチンID

サブルーチン名

処理概要

LXRPIZ01

電話番号編集

電話番号の市外局番，市内局番，加入者番号をハイフンで編集する

LXRPIZ03

平方根算出

入力された数値データの平方根を求める

LXRPIZ04

チェックディジット計算

入力された数字文字列のチェックディジットを求める

LXRPIZ05

インチ→センチメートル変換

インチ単位の数値データをセンチメートル単位の数値データに変換する

LXRPIZ06

センチメートル→インチ変換

センチメートル単位の数値データをインチ単位の数値データに変換する

LXRPIZ07

ヤード→メートル変換

ヤード単位の数値データをメートル単位の数値データに変換する

LXRPIZ08

メートル→ヤード変換

メートル単位の数値データをヤード単位の数値データに変換する

LXRPIZ09

キログラム→ポンド変換

キログラム単位の数値データをポンド単位の数値データに変換する

LXRPIZ10

ポンド→キログラム変換

ポンド単位の数値データをキログラム単位の数値データに変換する

LXRPIZ11

パラメータ解析

入力パラメータを解析し，各項目とその値を出力する

標準サブルーチン仕様書

標準サブルーチン仕様書に記載してある項目と内容を次の表に示します。VOS3版とPC版・UNIX版で処理が異なるサブルーチンの場合，それぞれどのような処理を行うかを説明しています。

表2‒9　標準サブルーチン仕様書の記載内容

項目

内容

サブルーチンID

サブルーチンのプログラムID

機能分類

サブルーチンの機能分類

サブルーチン名

サブルーチンの日本語名

テーブル名

インタフェーステーブルID

入力

呼び出し前に設定すべきデータ項目とその説明

レベル

データ項目のレベル番号

項目名

データ項目名

属性

データ項目のタイプと桁数

説明および設定値

データ項目の説明

区分

I ：INPUT-PARM

C ：CONSTANT

IL：INPUT-IN-LENGTH

IT：INPUT-IN-TYPE

OL：INPUT-OUT-LENGTH

OT：INPUT-OUT-TYPE

出力

サブルーチンが設定するデータ項目とその説明

レベル

データ項目のレベル番号

項目名

データ項目名

属性

データ項目のタイプと桁数

説明および設定値

データ項目の説明およびリターンコードの設定値

区分

O：OUTPUT-PARM

R：RTN-CODE

処理基準

サブルーチンの処理内容

リターンコードの設定値（出力の欄に入らない場合）

例

サブルーチンの使用例

特に断りのないかぎり，SJIS対応版の例を掲載しています。

注意事項

使用上の注意事項

全角文字列を入力した機能キャラクタに関する処理は，VOS3環境とPC・UNIX環境とで動作が異なることがあります。

各サブルーチンのインタフェーステーブルはSJIS対応版のものを基準に掲載しています。

LXRPIA01　文字コードチェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA01

文字列処理

文字コードチェック

LXRCIA01

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STR

X(200)

文字列

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREA007：半角文字コード以外あり

−

−

−

−

LXREA008：入力文字列がスペース

−

処理基準

入力されたデータが半角文字コードであるかチェックする（チェックする文字コードの範囲は付録Aおよび付録Bを参照のこと）。

例1

　I-STR　 ：'ABCDEF'
　↓
　O-RTN-CD：SPACE

例2

　I-STR　 ：X'00'
　↓
　O-RTN-CD：'LXREA007'

例3

　I-STR　 ：SPACE
　↓
　O-RTN-CD：'LXREA008'

注意事項

　なし。

LXRPIA03　文字属性チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA03

文字列処理

文字属性チェック

LXRCIA03

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STR

X(200)

入力文字列

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR-BN

X(5)

チェック結果

O

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

入力文字列の属性をチェックし，チェック結果を返す。

1.1 英字（英大文字A〜Zおよび空白。英小文字は除く）

1.2 数字（0〜9）

1.3 半角カナ（ｱ〜ﾝ，濁点，半濁点，長音符。特殊な半角カナ（ｬｭｮｯｧｨｩｪｫｦ｢｣･､｡）は除く）

1.4 COBOL特殊文字（+-*/=¥,;:.'"()<>）

1.5 その他（上記以外。特殊な半角カナ，英小文字，非文字含む）

チェック結果は次の形式とする。

1： 入力文字列中にその属性が存在する。

0： 入力文字列中にその属性が存在しない。

例1

　I-STR　 ：'ABC123'
　↓
　O-STR-BN：'11000'

例2

　I-STR　 ：'ｱｲｳ/*:'
　↓
　O-STR-BN：'00110'

注意事項

入力文字列の属性はX(200)とする。

このサブルーチンから（文字列有効桁数算出：LXRPIA09）を呼び出す。

チェックは右の空白を除いた部分に対して行う。

入力文字列がすべて数字であることのチェックに使用する場合は，性能の観点からこのサブルーチンを呼び出すよりもCOBOL言語が提供するIS NUMERIC命令を使用することを推奨する。

LXRPIA05　文字列シフト

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA05

文字列処理

文字列シフト

LXRCIA05

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STR

X(200)

文字列

I

03

I-SHFT-LENG

P(3)

シフトする文字数

C

−

−

−

　正数：右方向にシフト

−

−

−

−

　負数：左方向にシフト

−

−

−

−

　ゼロ：シフトしない

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(200)

出力文字列

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREA024：NUMERICエラー

−

−

−

−

LXREA020：シフトする文字数が範囲外

−

処理基準

入力文字列の内容を指定文字数シフトする。

1.1 シフトする文字数（I-SHFT-LENG）によって，次の処理を行う。

　　正数：I-SHFT-LENGの値だけ，右方向にシフトする。

　　負数：I-SHFT-LENGの絶対値だけ，左方向にシフトする。

　　ゼロ：入力文字列をそのまま出力文字列とする。

例1

　I-STR　　　：'ABCDE'
　I-SHFT-LENG：2
　↓
　O-STR　　  ：'△△ABCDE'
　O-RTN-CD　 ：SPACE

例2

　I-STR　　　：'ABCDE'
　I-SHFT-LENG：-2
　↓
　O-STR　　  ：'CDE'
　O-RTN-CD   ：SPACE

注意事項

I-SHFT-LENGについてNUMERICチェックを行い，数値でない時はエラーコード'LXREA024'をリターンコードとして返す。出力文字列は入力文字列をそのまま転記する。

-200≦I-SHFT-LENG≦200でなければ，I-SHFT-LENGを200として処理を続行する。エラーコード'LXREA020'をリターンコードとして返す。

シフトした結果が出力文字列X(200)の範囲からはみだす時は切り捨てる。リターンコードには，スペースを出力する。

EUC対応版，Unicode対応版で半角カナを編集する場合，文字数は実バイト長（EUC：2バイト/文字，Unicode：3バイト/文字）で指定する。

LXRPIA06　文字列左詰め

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA06

文字列処理

文字列左詰め

LXRCIA06

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR

X(200)

文字列

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(200)

文字列

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREA024：NUMERICエラー

−

−

−

−

LXREA020：入力長が範囲外

−

−

−

−

LXREA008：入力文字列がスペース

−

−

−

−

LXREA018：切り捨てが発生した

−

処理基準

入力文字列を左に詰める。

1.1 （文字列有効桁数算出：LXRPIA09）によって，入力文字列の最右文字位置を求める。

1.2 入力文字列の最左文字位置（半角空白以外の最初の文字の位置）を求める。

1.3 入力文字列の最左文字位置から最右文字位置までの文字を，出力文字列の第1文字目から右側へ転

　　送する。

1.4 編集結果文字列が，出力フィールドの長さより長い場合は，エラーコード'LXREA018'をリターン

　　コードとして返し，処理を続行する。出力文字列の切り捨てはしない。

例1

　I-STR　　　 ：'△△△△△AB△C△△DE△F'
　I-LENG　　　：13
　↓
　O-STR　　   ：'AB△C△△DE△F'
　O-RTN-CD　  ：SPACE

例2

　I-STR　　　 ：'△△△△12345'
　I-LENG　　  ：3
　↓
　O-STR　　   ：'12345'
　O-RTN-CD    ：'LXREA018'

注意事項

I-LENGについてNUMERICチェックを行い，数値でなければエラーコード'LXREA024'をリターンコードとして返す。出力文字列は入力文字列をそのまま転記する。

1≦I-LENG≦200でなければエラーとし，エラーコード'LXREA020'をリターンコードとして返す。出力文字列は入力文字列をそのまま転記する。

入力文字列がスペースの場合，エラーコード'LXREA008'をリターンコードとして返す。出力はスペースとする。

このサブルーチンから（文字列有効桁数算出：LXRPIA09）を呼び出す。

EUC対応版，Unicode対応版で半角カナを編集する場合，文字列長は実バイト長（EUC：2バイト/文字，Unicode：3バイト/文字）で指定する。

LXRPIA07　文字列右詰め

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA07

文字列処理

文字列右詰め

LXRCIA07

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR

X(200)

文字列

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(200)

文字列

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREA024：NUMERICエラー

−

−

−

−

LXREA020：入力長が範囲外

−

−

−

−

LXREA008：入力文字列がスペース

−

−

−

−

LXREA018：切り捨てが発生した

−

処理基準

入力文字列を右に詰める。

1.1 （文字列有効桁数算出：LXRPIA09）によって，入力文字列の最右文字位置を求める。

1.2 入力文字列の最左文字位置（半角空白以外の最初の文字の位置）を求める。

1.3 入力文字列の最右文字位置から最左文字位置までの文字を，出力フィールドの長さによって示され

　　る出力文字列の最後の文字の位置から左側へ転送する。

1.4 出力文字列の左側が余る場合は，半角空白によって充填する。

1.5 入力文字列をすべて転送できない場合は，そこまでの文字列を出力文字列とする。エラーコード

　　'LXREA018'をリターンコードとして返す。

例1

　I-STR　　　 ：'AB△C△△DE△F'
　I-LENG　　　：13
　↓
　O-STR　　   ：'△△△AB△C△△DE△F'
　O-RTN-CD　  ：SPACE

例2

　I-STR　　　 ：'△△△12345'
　I-LENG　　  ：3
　↓
　O-STR　　   ：'345'
　O-RTN-CD    ：'LXREA018'

注意事項

I-LENGについてNUMERICチェックを行い，数値でなければエラーコード'LXREA024'をリターンコードとして返す。入力文字列をそのまま出力とする。

1≦I-LENG≦200でなければエラーとし，エラーコード'LXREA020'をリターンコードとして返す。入力文字列をそのまま出力とする。

入力文字列がスペースの場合，エラーコード'LXREA008'をリターンコードとして返す。出力はスペースとする。

このサブルーチンから（文字列有効桁数算出：LXRPIA09）を呼び出す。

EUC対応版，Unicode対応版で半角カナを編集する場合，文字列長は実バイト長（EUC：2バイト/文字，Unicode：3バイト/文字）で指定する。

LXRPIA08　文字列中央揃え

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA08

文字列処理

文字列中央揃え

LXRCIA08

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

出力フィールドの長さ

OL

03

I-STR

X(200)

入力文字列

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(200)

出力文字列

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREA024：NUMERICエラー

−

−

−

−

LXREA020：入力長が範囲外

−

−

−

−

LXREA008：入力文字列がスペース

−

−

−

−

LXREA018：切り捨てが発生した

−

処理基準

入力文字列をセンタリング編集する。

1.1 （文字列有効桁数算出：LXRPIA09）によって，入力文字列の最右文字位置を求める。

1.2 入力文字列の最左文字位置（半角空白以外の最初の文字の位置）を求める。

1.3 入力文字列の最右文字位置と最左文字位置から実文字数を求め，（出力フィールドの長さ：

　　I-LENG）に収まらなければ，エラーコード'LXREA018'をリターンコードとして返し，

　　左詰めを行う。

1.4 （出力フィールドの長さ − 実文字数）を2で割り（余り切り捨て），その商で表される出力文字列

　　上の位置に入力文字列の最左文字位置からの文字列を転送する。

例1

　I-STR　　　 ：'A△B△C△△△△△△'
　I-LENG　　　：10
　↓
　O-STR　　   ：'△△A△B△C△△△'
　O-RTN-CD　  ：SPACE

注意事項

左右の空白が等しくならないときは，左側の空白を1つ少なくする。

I-LENGについてNUMERICチェックを行い，数値でなければエラーコード'LXREA024'をリターンコードとして返す。入力文字列をそのまま出力とする。

1≦I-LENG≦200でなければエラーとし，エラーコード'LXREA020'をリターンコードとして返す。入力文字列をそのまま出力とする。

入力文字列がスペースの場合，エラーコード'LXREA008'をリターンコードとして返す。出力はスペースとする。

このサブルーチンから（文字列有効桁数算出：LXRPIA09）を呼び出す。

EUC対応版，Unicode対応版で半角カナを編集する場合，文字列長は実バイト長（EUC：2バイト/文字，Unicode：3バイト/文字）で指定する。

LXRPIA09　文字列有効桁数算出

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA09

文字列処理

文字列有効桁数算出

LXRCIA09

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STR

X(200)

文字列

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-LENG

P(3)

長さ

O

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

入力文字列の後方の半角空白を除いた長さを有効桁数として求める。

入力文字列の前方の空白は有効桁数に含む。

例1

　I-STR ：'△△ABC△D△EFG△△'
　↓
　O-LENG：11

例2

　I-STR ：SPACE
　↓
　O-LENG：0

注意事項

半角空白以外のすべての文字を有効桁数として数える。

EUC対応版，Unicode対応版で入力文字列に半角カナが存在する場合，出力される有効桁数は実バイト長（EUC：2バイト/文字，Unicode：3バイト/文字）で返される。

LXRPIA10　数字文字列チェック／入力編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA10

文字列処理

数字文字列チェック／入力編集

LXRCIA10

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STR-NU

X(24)

文字列（数字）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-NUM

P(12,6)

数値

O

03

O-INTP

P(2)

整数部

O

03

O-DECP

P(2)

小数部

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

処理基準

Xタイプの小数，コンマ，符号付きの数字文字列をチェック後，表意記号通りの内部10進数数値に変換する。

1.1 NUMERICチェック処理（0〜9,.+-およびSPACE）

1.2 符号変更

1.3 コンマ読みとばし

1.4 10進変換

1.5 小数部処理（仮想小数への変換）

1.6 リターンコード，小数桁数，整数桁数の出力

No.

リターンコード

意味

1

SPACE

正常終了

2

LXREA009

'+'の後に' '，'+'，'-'，','がある

3

LXREA010

'-'の後に' '，'+'，'-'，','がある

4

LXREA011

' 'の後に','がある

5

LXREA013

','の後に' '，'+'，'-'，'.'，','がある

6

LXREA014

'.'の後に' '，'+'，'-'，'.'，','がある

7

LXREA015

数字の後に'+'，'-'がある

8

LXREA016

0〜9,.+-およびSPACE以外の文字がある

9

LXREA017

整数部が13桁以上または小数部が7桁以上ある

10

LXREA018

入力文字列がスペース

例1

　I-STR-NU：'+123.4567'
　↓
　O-NUM   ：+123.4567
　O-INTP  ：+3
　O-DECP  ：+4
　O-RTN-CD：SPACE

注意事項

出力される数値の属性およびサイズはS9(12)V9(6) COMP-3とする。

エラーとなった場合，出力数値，整数部，小数部は0を返す。

LXRPIA11　数字チェック／右詰め編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA11

文字列処理

数字チェック／右詰め編集

LXRCIA11

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STR-NU

X(15)

文字列（数字）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR-NU

X(15)

文字列（数字）

O

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREA008：入力文字列がスペース

−

−

−

−

LXREA026：第一文字列内に数字以外のデータあり

−

−

−

−

−

−

処理基準

入力文字列中の初めの文字列群に対して，NUMERICチェックを行い，数値以外のものがあればO-STR-NUにスペースを送り，リターンコードに'LXREA026'を送る。

文字列群が数字であれば，右詰めに編集して出力エリアにセットする。

ゼロサプレスを行う。

例1

　I-STR-NU：'△△12345△△67'
　↓
　O-STR-NU：'△△△△△△△△△△12345'
　O-RTN-CD：SPACE

例2

　I-STR-NU：'010101'
　↓
　O-STR-NU：'△△△△△△△△△△10101'
　O-RTN-CD：SPACE

例3

　I-STR-NU：'△△A12△△34'
　↓
　O-STR-NU：SPACE
　O-RTN-CD：'LXREA026'

注意事項

文字列群の位置は入力文字列中のどこでもよいが，文字列群が複数個存在する場合，前方の文字列群についてだけ解析を行う。

入力文字列がスペースだった時は，リターンコードに'LXREA008'を送る。

エラーとなった場合，出力文字列にはスペースを返す。

LXRPIA12　数字文字列コンマ挿入

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA12

文字列処理

数字文字列コンマ挿入

LXRCIA12

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-NUM

P(18)

数値

I

03

I-LENG

P(2)

長さ

OL

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR-NU

X(24)

文字列（数字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREA024：NUMERICエラー

−

−

−

−

LXREA020：入力長が範囲外

−

−

−

−

LXREA018：切り捨てが発生した

−

処理基準

入力された数値データを右詰めに編集する。

編集の際，3桁おきにコンマ（，）を挿入する。

例1

　I-NUM   ：1234567
　I-LENG  ：19
　↓
　O-STR-NU：'△△△△△△△△△△1,234,567'

注意事項

このサブルーチンから（文字列右詰め：LXRPIA07）を呼び出す。

I-NUM，I-LENGについてNUMERICチェックを行い，数値でないときは，リターンコードに'LXREA024'を返し，出力文字列にスペースを転送する。

1≦I-LENG≦24以外の時はリターンコードに'LXREA020'を返し，出力文字列にスペースを転送する。

編集結果がI-LENGで指定した長さに入り切らないときは，リターンコードに'LXREA018'を返し，出力文字列の1文字目に＊を，2文字目以降に編集結果を左詰めで転送する。

LXRPIA13　文字列前後反転

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA13

文字列処理

文字列前後反転

LXRCIA13

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR

X(200)

文字列

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(200)

文字列

O

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREA024：NUMERICエラー

−

−

−

−

LXREA020：出力フィールド範囲外

−

−

−

−

LXREA008：入力文字列がスペース

−

−

−

−

LXREA018：切り捨てが発生した

−

処理基準

文字列データの前後を置換する。

1.1 エラーチェックを行う。

1.2 入力文字列の有効桁数を取得し，

　　入力文字列（有効桁数）　→出力文字列（1）

　　入力文字列（有効桁数-1）→出力文字列（2）

　　　　　　　　　　　・

　　　　　　　　　　　・

　　　　　　　　　　　・

　　入力文字列（1）　　　　→出力文字列（有効桁数）

　　のようにして出力文字列を得る。

例1

　I-STR   ：'ABCD'
　I-LENG  ：4
　↓
　O-STR   ：'DCBA'
　O-RTN-CD：SPACE

例2

　I-STR   ：'ABCDEF'
　I-LENG  ：4
　↓
　O-STR   ：'FEDCBA'
　O-RTN-CD：'LXREA018'

例3

　I-STR   ：'ｱｲｳｴｵ'
　I-LENG  ：5
　↓
　O-STR   ：'ｵｴｳｲｱ'
　O-RTN-CD：SPACE

注意事項

I-LENGについてNUMERICチェックを行い，数値でないときはリターンコードに'LXREA024'を返し，出力文字列にスペースを転送する。

1≦I-LENG≦200以外の時はリターンコードに'LXREA020'を返し，出力文字列にスペースを転送する。

入力文字列がスペースの場合はリターンコードに'LXREA008'を返す。出力文字列にスペースを転送する。

入力文字列の有効桁数＞I-LENGのとき，リターンコードに'LXREA018'を返す。出力文字列には処理基準に従って編集した結果を返す。

このサブルーチンから（文字列有効桁数算出：LXRPIA09）を呼び出す。

EUC対応版，Unicode対応版で半角カナ含む場合でも例と同一の結果が得られる。

EUC対応版，Unicode対応版で半角カナを編集する場合，文字列長は実バイト長（EUC：2バイト/文字，Unicode：3バイト/文字）で指定する。

LXRPIA14　指定文字削除

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA14

文字列処理

指定文字削除

LXRCIA14

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR

X(200)

文字列

I

03

I-DEL-STR

X(200)

削除文字

C

03

I-DEL-LENG

P(3)

削除文字数

C

03

I-SHFT-KBN

X(1)

シフト方向

C

−

−

−

'L'：左詰め

−

−

−

−

'R'：右詰め

−

−

−

−

上記以外：シフトしない

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(200)

文字列

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREA024：NUMERICエラー

−

−

−

−

LXREA020：入力長が範囲外

−

−

−

−

LXREA008：入力文字列がスペース

−

−

−

−

LXREA018：切り捨てが発生した

−

処理基準

入力文字列中から指定された文字を削除する。シフトする方向が指定された場合，左または右に詰める。

1.1 削除する方向は，次のとおり。

　　シフトする方向が，

　　'L'のとき

　　　　削除対象文字より右の文字列を左に詰める。

　　'R'のとき

　　　　削除対象文字より左の文字列を右に詰める。

　　上記以外

　　　　削除対象文字を半角空白１個に置換する（置換した空白は，編集結果の文字列長に含む）。

例1

　I-STR     ：'¥123△456,789.12'
　I-LENG    ：15
　I-DEL-STR ：'△¥,.'
　I-DEL-LENG：4
　I-SHFT-KBN：'R'
　↓
　O-STR     ：'△△△△12345678912'
　O-RTN-CD  ：SPACE

注意事項

削除文字は，入力文字列から削除する文字を直接指定する（上記の例では，'A¥,.'と指定する）。

I-LENGおよびI-DEL-LENGについてNUMERICチェックを行い，数値でないときはリターンコード'LXREA024'を返す。出力文字列は入力文字列をそのまま転記する。

1≦I-LENG≦200かつ1≦I-DEL-LENG≦200でなければ，リターンコードに'LXREA020'を返す。出力文字列には入力文字列をそのまま転記する。

編集結果の文字列長が，I-LENGより長いとき，エラーコード'LXREA018'を返す。出力文字列には編集結果を返す。

このサブルーチンから（文字列有効桁数算出：LXRPIA09）を呼び出す。

EUC対応版，Unicode対応版で文字列，削除文字に半角カナを入力する場合，文字数は実バイト長（EUC：2バイト/文字，Unicode：3バイト/文字）で指定する。

LXRPIA15　空白削除

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA15

文字列処理

空白削除

LXRCIA15

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR

X(200)

文字列

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(200)

文字列

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREA024：NUMERICエラー

−

−

−

−

LXREA020：入力長が範囲外

−

−

−

−

LXREA008：入力文字列がスペース

−

−

−

−

LXREA018：切り捨てが発生した

−

処理基準

文字データ中の半角空白を削除する。

例1

　I-STR   ：'A△△B△C△△△D'
　I-LENG  ：10
　↓
　O-STR   ：'ABCD△△△△△△'
　O-RTN-CD：SPACE

注意事項

I-LENGについてNUMERICチェックを行い，数値でないときはエラーコード'LXREA024'をリターンコードとして返す。処理は続行する。

1≦I-LENG≦200でなければ，エラーコードに'LXREA020'を返し，処理を続行する。

編集結果の文字列長が，I-LENGより長いとき，エラーコード'LXREA018'を返し，処理を続行する。出力は編集結果文字列をそのまま返す。

このサブルーチンから（文字列有効桁数算出：LXRPIA09）を呼び出す。

EUC対応版，Unicode対応版で文字列に半角カナを入力する場合，文字数は実バイト長（EUC：2バイト/文字，Unicode：3バイト/文字）で指定する。

LXRPIA16　不要空白削除

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA16

文字列処理

不要空白削除

LXRCIA16

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR

X(200)

文字列

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(200)

文字列

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREA024：NUMERICエラー

−

−

−

−

LXREA020：入力長が範囲外

−

−

−

−

LXREA008：入力文字列がスペース

−

−

−

−

LXREA018：切り捨てが発生した

−

処理基準

文字データ中の2個以上連続する空白を1個の空白に置き換える。

先頭の空白も同様に1個の空白とする。

例1

　I-STR　　　 ：'A△△B△C△△△D'
　I-LENG　　  ：10
　↓
　O-STR　　　 ：'A△B△C△D△△△'
　O-RTN-CD　　：SPACE

注意事項

I-LENGについてNUMERICチェックを行い，数値でないときはエラーコード'LXREA024'をリターンコードとして返す。処理は続行する。

1≦I-LENG≦200でなければ，エラーコードに'LXREA020'を返し，処理を続行する。

編集結果の文字列長が，I-LENGより長いとき，エラーコード'LXREA018'を返し，処理を続行する。出力は編集結果文字列をそのまま返す。

このサブルーチンから（文字列有効桁数算出：LXRPIA09）を呼び出す。

EUC対応版，Unicode対応版で文字列に半角カナを入力する場合，文字数は実バイト長（EUC：2バイト/文字，Unicode：3バイト/文字）で指定する。

LXRPIA17　第１文字列取得

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA17

文字列処理

第1文字列取得

LXRCIA17

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR

X(200)

文字列

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-LENG

P(3)

長さ

O

03

O-STR

X(200)

文字列

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREA024：NUMERICエラー

−

−

−

−

LXREA020：入力長が範囲外

−

−

−

−

LXREA008：入力文字列がスペース

−

−

−

−

LXREA018：切り捨てが発生した

−

処理基準

入力文字列からスペースで囲まれた第一文字列を取得し，その長さと文字をセットする。

例1

　I-STR   ：'ABCDEFGH△△IJK'
　I-LENG  ：14
　↓
　O-LENG  ：8
　O-STR   ：'ABCDEFGH'
　O-RTN-CD：SPACE

例2

　I-STR   ：'12345△ABC'
　I-LENG  ：3
　↓
　O-LENG  ：5
　O-STR   ：'12345'
　O-RTN-CD：'LXREA018'

注意事項

入力でエラーが発生した場合は，該当するリターンコードを返し，O-STRとO-LENGにスペースと０を返す（下記5.は例外）。

このサブルーチンから（文字列有効桁数算出：LXRPIA09）を呼び出す。

出力フィールドの長さと文字列有効桁数を比較する時の文字列有効桁数の長さは，第一文字列の長さとする。

初めがスペースの時，スペースの次の文字列を取得する。

出力で文字の切り捨てが発生した場合，第一文字列をそのまま出力してリターンコード'LXREA018'を返す。

EUC対応版，Unicode対応版で文字列に半角カナを入力する場合，文字数は実バイト長（EUC：2バイト/文字，Unicode：3バイト/文字）で指定する。

LXRPIA19　文字列交互挿入

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA19

文字列処理

文字列交互挿入

LXRCIA19

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-1ST-LENG

P(3)

第1文字列長

IL

03

I-1ST-STR

X(200)

第1文字列

I

03

I-2ND-LENG

P(3)

第2文字列長

IL

03

I-2ND-STR

X(200)

第2文字列

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(200)

文字列

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREA024：NUMERICエラー

−

−

−

−

LXREA020：入力長が範囲外

−

−

−

−

LXREA007：半角文字コード以外あり

−

−

−

−

LXREA008：入力文字列がスペース

−

−

−

−

LXREA018：切り捨てが発生した

−

処理基準

第1文字列のスペースエリアに第2文字列の文字（スペース以外）を順次セットし，編集する。

スペースの文字への置き換えは，第2文字列の文字数（スペースを除く）分だけ行い処理を終了する。

入力文字列の先頭がスペースの場合は，入力文字列の先頭がスペースでなくなった所から始める。

例1

　I-1ST-LENG ：7
　I-1ST-STR  ：'ｶﾝｼﾞ△ｶﾅ'
　I-2ND-LENG ：1
　I-2ND-STR  ：'ﾄ'
　↓
　O-STR　　　：'ｶﾝｼﾞﾄｶﾅ'
　O-RTN-CD　 ：SPACE

注意事項

第1文字列長，第2文字列長のそれぞれについてNUMERICチェックを行い，数字でなければリターンコード'LXREA024'を返す。出力文字列にはスペースを返す。

1≦第1（第2）文字列長≦200以外はエラーとし，出力文字列にスペースを返し，リターンコードに'LXREA020'を返す。

第1文字列，第2文字列のそれぞれについてサブルーチン'LXRPIA01'を用いてチェックを行い，エラーの場合はリターンコード'LXREA007'または'LXREA008'を返す。出力文字列にはスペースを返す。

第1（第2）文字列長よりそれぞれの文字列の有効桁数が長い場合と，出力文字列が200を超えた場合は，リターンコードに'LXREA018'を返す。処理は続行する。

このサブルーチンから（文字コードチェック：LXRPIA01），（文字列有効桁数算出：LXRPIA09）を呼び出す。

EUC対応版，Unicode対応版で文字列に半角カナを入力する場合，文字数は実バイト長（EUC：2バイト/文字，Unicode：3バイト/文字）で指定する。

LXRPIA20　EBCDIK/KEIS混在文字列出力編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA20

文字列処理

EBCDIK/KEIS混在文字列出力編集

LXRCIA20

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STR

X(200)

文字列

I

03

I-LENG

P(3)

長さ

OL

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(200)

文字列

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREA024：NUMERICエラー

−

−

−

−

LXREA020：入力長が範囲外

−

−

−

−

LXREA018：切り捨てが発生した

−

処理基準

PC・UNIX版

NUMERICチェックで，エラーの場合は，リターンコードに'LXREA024'を返し，出力文字列にはスペースを返す。

1≦I-LENG≦200とし，それ以外の場合は，リターンコードに'LXREA020'，出力文字列にはスペースを返す。

エラーでない場合はリターンコードにスペースを返し，入力文字列を出力文字列に転記する。

VOS3版

PC・UNIX版の1.および2.の処理を行う。

エラーでない場合は，入力文字列を実データ長※が指定した長さと等しくなるように編集し，出力文字に入れる。

入力文字列の実データ長が，指定した長さより短い場合は，後ろにX'40'を追加して調整する。

入力文字列の実データ長が，指定した長さより長い場合は，X'0A41'で置換して調整する。

出力文字列の最後は必ず１個以上の'0A41'で終わるようにする。

注※　機能キャラクタ分を除いたバイト数のこと

例1

　I-LENG     ：6
　I-STR      ：X'0A42A3B10A41F10A42A3B10A41F1F140404040.....'
　↓
　O-STR　　　：X'0A42A3B10A41F10A42A3B10A41F10A41.......0A41'
　O-RTN-CD　 ：SPACE

例2

　I-LENG     ：198
　I-STR      ：X'0A42B0ABB0AB...........B0ABB0AB0A41'
　↓
　O-STR　　　：X'0A42B0ABB0AB...........B0ABB0AB0A41'
　O-RTN-CD　 ：'LXREA018'

注意事項

処理基準に従った編集結果文字列の実データ長が指定した長さより短くなった場合は，リターンコード'LXREA018'を返す。出力文字列には編集結果を返す。

LXRPIA21　後方スペース機能キャラクタ置換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA21

文字列処理

後方スペース機能キャラクタ置換

LXRCIA21

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STR

X(200)

入力文字列

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(200)

出力文字列

O

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

PC・UNIX版

置換処理は行わず，入力文字列を出力文字列に転記する。

VOS3版

入力文字列中に空白（X'A1A1'，X'40'）よりも後方にある機能キャラクタ（X'0A41'）を前方に置き換える。処理方法を次に示す。

1.1 入力文字列中のX'400A41'，X'A1A10A41'を検索し，無くなるまで次の処理を繰り返す。

　1.1.1 X'400A41'をX'0A4140'に置き換える。

　1.1.2 X'A1A10A41'をX'0A414040'に置き換える。

例1

　I-STR  ：X'D8D8D84040400A41'
　↓
　O-STR  ：X'D8D8D80A41404040'

例2

　I-STR  ：X'0A42A3D8A3D8A1A10A41'
　↓
　O-STR  ：X'0A42A3D8A3D80A414040'

注意事項

置換対象が複数存在していてもすべて置換する。

LXRPIA22　半角カナ文字入力チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA22

文字列処理

半角カナ文字入力チェック

LXRCIA22

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STR-KN

X(200)

文字列（半角カナ）

I

03

I-SHR-KBN

X(1)

処理区分

C

−

−

−

'1'：半角カナ小文字をエラーにしない

−

−

−

−

'2'：半角カナ小文字をエラーとする

−

−

−

−

上記以外は，'1'と見なす

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREA025：半角カナ以外

−

−

−

−

LXREA008：入力データなし

−

−

−

−

−

−

処理基準

入力文字列（半角カナ）中に半角カナ以外の文字が含まれているかを判定する。

例1

　I-STR-KN  ：'ｻﾌﾞﾙｰﾁﾝ'
　I-SHR-KBN ：'1'
　↓
　O-RTN-CD  ：SPACE

例2

　I-STR-KN  ：'ｺｰﾄﾞ△ﾁｪｯｸ'
　I-SHR-KBN ：'2'
　↓
　O-RTN-CD  ：'LXREA025'

例3

　I-STR-KN  ：SPACE
　I-SHR-KBN ：'1'
　↓
　O-RTN-CD  ：'LXREA008'

例4

　I-STR-KN  ：'ｺﾎﾞﾙ2'
　I-SHR-KBN ：'1'
　↓
　O-RTN-CD  ：'LXREA025'

注意事項

入力文字列（半角カナ）の中で半角カナ文字と半角スペースの混在は許される。

入力文字列（半角カナ）の中でスペースしか存在しない場合はリターンコードに'LXREA008'を返す。

このサブルーチンから（文字列有効桁数算出：LXRPIA09）を呼び出す。

半角カナ小文字とは特殊な半角カナ（ｬｭｮｯｧｨｩｪｫｦ｢｣､｡･）のことを指す。

LXRPIA23　混在文字列チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA23

文字列処理

混在文字列チェック

LXRCIA23

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LGC-LENG

P(3)

論理長さ

C

03

I-PHSC-LENG

P(3)

物理長さ

IL

03

I-STR

X(200)

文字列

I

03

I-SHR-KBN

X(1)

処理区分

C

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREA024：NUMERIC エラー

−

−

−

−

LXREA020：入力長が範囲外

−

−

−

−

LXREA008：入力文字列がスペース

−

−

−

−

LXREA022：入力論理長誤り

−

−

−

−

LXREA021：入力物理長誤り

−

−

−

−

LXREA023：機能キャラクタ誤り

−

処理基準

PC・UNIX版

NUMERICチェック，長さ範囲チェック，スペースチェックだけ行う。

VOS3版

次のチェックを行い，該当するエラーコードまたはスペースをリターンコードに返す。

1.1 入力文字列の論理長と物理長が，入力論理長，入力物理長を超えていないことをチェックする。

1.2 入力文字列の中で，X'0A42'がある（KEIS状態になる）と，その後方にはX'0A42'よりも前に

　　必ず1つ以上のX'0A41'がある（EBCDIK状態に戻る）ことをチェックする。

1.3 処理区分が'N'の場合，入力文字列の先頭からX'0A41'の直前までの文字と，X'0A42'〜X'0A41'間

　　の文字に対してKEISコードチェックを行う。

1.4 項番1.3のKEISコードチェックで，対象となる文字列が奇数個である場合エラーとなり，リター

　　ンコードに'LXREB001'を返す。

1.5 処理区分が'N'以外の場合，入力文字列の先頭からX'0A42'の直前までの文字と，X'0A42'〜X'0A41'

　　間の文字に対してEBCDIKコードチェックを行う。

例1

　I-LGC-LENG ：6
　I-PHSC-LENG：5
　I-STR      ：X'414243444546'
　↓
　O-RTN-CD   ：'LXREA021'

例2

　I-LGC-LENG ：5
　I-PHSC-LENG：1
　I-STR      ：X'0A42A1A10A42'
　↓
　O-RTN-CD   ：'LXREA022'

例3

　I-LGC-LENG ：4
　I-PHSC-LENG：2
　I-STR      ：X'0A42A1A1'
　↓
　O-RTN-CD   ：'LXREA023'

注意事項

入力論理長，入力物理長の妥当性をチェックし，該当するリターンコードを返す。

KEISコードチェックで，エラーと判明した場合，'LXREB001'をリターンコードに転送する。

EBCDIKコードチェックで，エラーと判明した場合，'LXREA007'をリターンコードに転送する。

このサブルーチンから（文字コードチェック：LXRPIA01），（文字列有効桁数算出：LXRPIA09），（漢字コードチェック：LXRPIB01）を呼び出す。

X'40'は，KEISコードチェックの対象となる文字列中に，奇数個存在することを許される。

LXRPIA24　混在文字列チェック（含外字）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA24

文字列処理

混在文字列チェック（含外字）

LXRCIA24

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LGC-LENG

P(3)

論理長さ

C

03

I-PHSC-LENG

P(3)

物理長さ

IL

03

I-STR

X(200)

文字列

I

03

I-SHR-KBN

X(1)

処理区分

C

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREA024：NUMERICエラー

−

−

−

−

LXREA020：入力長が範囲外

−

−

−

−

LXREA008：入力文字列がスペース

−

−

−

−

LXREA022：入力論理長誤り

−

−

−

−

LXREA021：入力物理長誤り

−

−

−

−

LXREA023：機能キャラクタ誤り

−

処理基準

PC・UNIX版

NUMERICチェック，長さ範囲チェック，スペースチェックだけ行う。

VOS3版

次のチェックを行い，該当するエラーコードまたはスペースをリターンコードに返す。

1.1 入力文字列の論理長と物理長が，入力論理長，入力物理長を超えていないことをチェックする。

1.2 入力文字列の中で，X'0A42'がある（KEIS状態になる）と，その後方にはX'0A42'よりも前に

　　必ず1つ以上のX'0A41'がある（EBCDIK状態に戻る）ことをチェックする。

1.3 処理区分が'N'の場合，入力文字列の先頭からX'0A41'の直前までの文字と，X'0A42'〜X'0A41'間

　　の文字に対して，KEISコードチェックを行う。

1.4 処理区分が'N'以外の場合，入力文字列の先頭からX'0A42'の直前までの文字と，X'0A42'〜X'0A41'

　　間の文字に対して，EBCDIKコードチェックを行う。

例1

　I-LGC-LENG ：6
　I-PHSC-LENG：5
　I-STR      ：X'414243444546'
　↓
　O-RTN-CD   ：'LXREA021'

例2

　I-LGC-LENG ：5
　I-PHSC-LENG：1
　I-STR      ：X'0A42A1A10A42'
　↓
　O-RTN-CD   ：'LXREA022'

例3

　I-LGC-LENG ：4
　I-PHSC-LENG：2
　I-STR      ：X'0A42A1A1'
　↓
　O-RTN-CD   ：'LXREA023'

注意事項

入力論理長，入力物理長の妥当性をチェックし，該当するリターンコードを返す。

KEISコードチェックで，エラーと判明した場合，'LXREB006'をリターンコードに転送する。

EBCDIKコードチェックで，エラーと判明した場合，'LXREA007'をリターンコードに転送する。

このサブルーチンから（文字コードチェック：LXRPIA01），（文字列有効桁数算出：LXRPIA09），（漢字コードチェック（含外字）：LXRPIB02）を呼び出す。

X'40'は，KEISコードチェックの対象となる文字列中に，奇数個存在することを許される。

LXRPIA25　英数字チェック／編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA25

項目編集

英数字チェック／編集

LXRCIA25

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

IL

03

I-STR

X(200)

文字列

I

03

I-CHK-PARM

X(50)

チェック条件パラメータ

C

−

'ENT=入力モード指定，CHK=(文字指定〔,文字指定〕)'

−

−

−

−

（詳細はLXRPIZ11およびLXRPIA27の補足説明を参照のこと）

−

03

I-EDIT-PARM

X(50)

編集条件パラメータ

C

−

'CHG=変換指定，SHT=シフト指定'

（詳細はLXRPIZ11およびLXRPIA27の補足説明を参照のこと）

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(200)

文字列

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREA024：NUMERICエラー

−

−

−

−

LXREA020：入力長が範囲外

−

−

−

−

LXREA008：入力文字列がスペース

−

−

−

−

LXREA027：全桁満たされていない

−

−

−

−

LXREA030：指定以外の文字あり

−

処理基準

注意事項1.〜3.に従ってチェックする。

I-STRを次のように変換した結果を作業領域W-STR-1，W-STR-2(ともにPIC X(200))にセットする。

2.1 LOW-VALUEをSPACEに置き換えて，その結果をW-STR-1にセットする。

2.2 さらに左詰め処理を行った結果をW-STR-2にセットする。

W-STR-1に対してI-EDIT-PARMで指定した編集を行い，結果をO-STRにセットする。

I-CHK-PARMに'ENT=MENT'または'ENT=MFILL'の指定があり，かつW-STR-1がSPACEの時，O-RTN-CDに'LXREA008'を返す。

そのほかの時，次の処理を行う。

5.1 I-CHK-PARMに'ENT=MFILL'の指定があり，かつI-LENGがW-STR-2の有効桁数より大きい

　　時，O-RTN-CDに'LXREA027'を返す。

5.2 そのほかの時，W-STR-2（1：有効桁数）に対してI-CHK-PARMのCHKパラメータで指定した

　　チェックを行う。

　5.2.1 エラーの時，O-RTN-CDに'LXREA030'を返す。

　5.2.2 エラーでない時，O-RTN-CDにSPACEを返す。

例1

　I-LENG     ：6
　I-STR      ：'△A11△△'
　I-CHK-PARM ：'CHK=(ALPHA,ALNUM)'
　I-EDIT-PARM：'SFT=LEFT'
　↓
　O-STR      ：'A11△△△'
　O-RTN-CD   ：SPACE

例2

　I-LENG     ：6
　I-STR      ：'△a11△△'
　I-CHK-PARM ：'CHK=CAPS,ENT=MENT'
　I-EDIT-PARM：'SET=LEFT,CHG=STOC'
　↓
　O-STR      ：'A11△△△'
　O-RTN-CD   ：'LXREA030'

注意事項

I-LENGについてNUMERICチェックを行い，数値でないときはリターンコードに'LXREA024'を返す。O-STRにはSPACEをそのまま返す。

1≦I-LENG≦200でなければリターンコードに'LXREA020'を返す。O-STRにはSPACEを返す。

（パラメータ解析：LXRPIZ11）を呼び出してI-CHK-PARM，I-EDIT-PARMをチェックする。エラーの時は，リターンコードをそのまま返し，O-STRにはSPACEを返す。

I-STRの中のLOW-VALUEは，半角空白と同様に扱う。

このサブルーチンから，3.の他に（文字列左詰め：LXRPIA06）,（文字列右詰め：LXRPIA07）,（文字列有効桁数算出：LXRPIA09）を呼び出す。

LXRPIA26　数字チェック／数値変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA26

項目編集

数字チェック／数値変換

LXRCIA26

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(2)

長さ

IL

03

I-STR-NU

X(18)

文字列（数字）

I

03

I-CHK-PARM

X(50)

チェック条件パラメータ

C

−

−

−

'ENT=入力モード指定'

−

−

−

−

（詳細はLXRPIZ11およびLXRPIA27の補足説明を参照のこと）

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-NUM

9(18)

数値

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREA024：NUMERICエラー

−

−

−

−

LXREA020：入力長が範囲外

−

−

−

−

LXREA008：入力文字列がスペース

−

−

−

−

LXREA027：全桁満たされていない

−

−

−

−

LXREA026：指定以外の文字あり

−

処理基準

注意事項1.〜3.に従ってチェックする。

I-STR-NUを次のように変換した結果を作業領域W-STR-NU-1，W-STR-NU-2（共にPIC X(18)）にセットする。

2.1 LOW-VALUEをSPACEに置き換えて，その結果をW-STR-NU-1にセットする。

2.2 さらに右詰め処理を行い，前方のSPACEを'0'に置き換えた結果をW-STR-NU-2にセットする。

I-CHK-PARMに'ENT=MENT'または'ENT=MFILL'の指定があり，かつW-STR-NU-1がSPACEの時，O-NUMに0を，O-RTN-CDに'LXREA008'を返す。

そのほかの時，次の処理を行う。

4.1 I-CHK-PARMに'ENT=MFILL'の指定があり，かつI-LENGがW-STR-NU-1の有効桁数より大

　　きい時，O-NUMに0を，O-RTN-CDに'LXREA027'を返す。

4.2 そのほかの時，W-STR-NU-2に対してNUMERICチェックを行う。

　4.2.1 エラーの時，O-NUMに0を，O-RTN-CDに'LXREA026'を返す。

　4.2.2 エラーでない時，W-STR-NU-2をO-NUMに転送し，O-RTN-CDにSPACEを返す。

例1

　I-LENG    ：6
　I-STR-NU  ：'△123△△'
　I-CHK-PARM：'ENT=MENT'
　↓
　O-NUM     ：123
　O-RTN-CD  ：SPACE

例2

　I-LENG    ：2
　I-STR-NU  ：'△123456'
　I-CHK-PARM：'ENT=MNENT'
　↓
　O-NUM     ：123456
　O-RTN-CD  ：SPACE

例3

　I-LENG    ：6
　I-STR-NU  ：'123△△△'
　I-CHK-PARM：'ENT=MFILL'
　↓
　O-NUM     ：0
　O-RTN-CD  ：'LXREA027'

注意事項

I-LENGについてNUMERICチェックを行い，数値でないときはリターンコードに'LXREA024'を返す。O-NUMには0を返す。

1≦I-LENG≦18でなければリターンコードに'LXREA020'を返す。O-NUMには０を返す。

（パラメータ解析：LXRPIZ11）を呼び出してI-CHK-PARMをチェックする。エラーの時は，リターンコードをそのまま返し，O-NUMには０を返す。

I-LENGがW-STR-NU-1の有効桁数より小さくても，数値変換の結果は切り捨てない。

I-STR-NUの中のLOW-VALUEは，半角空白と同様に扱う。

このサブルーチンから，3.のほかに（文字列右詰め：LXRPIA07）,（文字列有効桁数算出：LXRPIA09）を呼び出す。

LXRPIA27　数字範囲チェック／数値変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA27

項目編集

数字範囲チェック／数値変換

LXRCIA27

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(2)

長さ

IL

03

I-STR-NU

X(18)

文字列（数字）

I

03

I-CHK-PARM

X(50)

チェック条件パラメータ

C

−

−

−

'ENT=入力モード指定'

−

−

−

−

（詳細はLXRPIZ11およびLXRPIA27の補足説明を参照のこと）

−

03

I-RNG-PARM

X(50)

範囲パラメータ

C

−

−

−

'1:3,11:13,99'の形式で指定

−

−

−

−

（詳細は処理基準，注意事項参照のこと）

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-NUM

9(18)

数値

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREA028：範囲パラメータエラー

−

−

−

−

LXREA029：数値が指定範囲外

−

−

−

−

（そのほかの内容はLXRPIA26の項を参照のこと）

−

処理基準

注意事項1.と2.に従ってチェックする。

I-LENG，I-STR-NU，I-CHK-PARMの値をそのまま渡して（数字チェック／数値変換：LXRPIA26）を呼び出す。

LXRPIA26の出力数値（O-NUM）をO-NUMに転送する。

LXRPIA26のリターンコード（O-RTN-CD）がSPACEの時，次の処理を行う。

4.1 I-RNG-PARMの値が次の範囲パラメータの文法に合っているかをチェックする。

　　範囲パラメータ＝範囲〔,範囲〕...

　　範囲＝数字並び〔:〔数字並び〕〕または

　　　　：数字並び

　　数字並び＝1個以上18個以下の数字（0〜9）の並び

4.2 チェック結果がエラーの時，O-RTN-CDに'LXREA028'を返す。

4.3 チェック結果がエラーでない時，次の処理を行う。

　　4.3.1 O-NUMの値が範囲パラメータで指定する範囲に含まれていればO-RTN-CDにSPACE

　　　　　を返す。

　　4.3.2 そのほかの時，O-RTN-CDに'LXREA029'を返す。

そのほかの時，LXRPIA26のリターンコード（O-RTN-CD）をそのままO-RTN-CDに返す。

例1

　I-LENG    ：6
　I-STR-NU  ：'△123△△'
　I-CHK-PARM：'ENT=MENT'
　I-RNG-PARM：'1:200,999'
　↓
　O-NUM     ：123
　O-RTN-CD  ：SPACE

例2

　I-LENG    ：2
　I-STR-NU  ：'△123△△'
　I-CHK-PARM：'ENT=MNENT'
　I-RNG-PARM：':99'
　↓
　O-NUM     ：123
　O-RTN-CD  ：'LXREA029'

注意事項

I-LENGについてNUMERICチェックを行い，数値でないときはリターンコード（O-RTN-CD）に'LXREA024'を返す。O-NUMには０を返す。

1≦I-LENG≦18でなければ，リターンコードに'LXREA020'を返す。O-NUMには０を返す。

範囲パラメータで指定する範囲の例を次に示す（O-NUMの値xとする）。

3.1 I-RNG-PARM＝'1:3,11:13,90'の時　1≦x≦3 OR 11≦x≦13 OR 90≦x

3.2 I-RNG-PARM＝':5,9'の時　　　　　 x≦5 OR x＝9

3.3 I-RNG-PARM＝':9,5:'の時　　　　　x≦9 OR 5≦x

範囲が重複していてもエラーにはならない。

範囲'a:b'は，aとbの大小関係に係わらず，常にa≦x AND x≦bと解釈される。

このサブルーチンから（数字チェック／数値変換：LXRPIA26），（文字列有効桁数算出：LXRPIA09）を呼び出す。

補足説明

チェック条件パラメータ

1.1 'ENT=入力モード指定'

　　入力必須，全桁入力の区分を指定する。

　1.1.1 入力モード指定

　　　MNENT　空白可　　入力データがSPACEの時，エラーにしない。

　　　MENT 　入力必須　入力データがSPACEの時，エラーにする。

　　　MFILL　全桁入力　入力データの有効桁数がI-LENGで指定した長さより短い場合，

　　　　　　　　　　　 エラーにする。

1.2 'CHK=(文字指定〔,文字指定〕)'

　　文字種別で指定した文字だけで構成されているかチェックする。チェックの範囲は，

　　SPACE以外の最初の文字からSPACE以外の最後の文字までとする。

　　文字指定を2つ指定した場合，1つ目の文字指定は先頭1文字に，2つ目の文字指定は

　　2文字目以降に適用する。

　　文字指定を１つ指定した場合，この指定を全文字に適用する。

　1.2.1 文字指定

　　　ALNUM　　英数字　　　　　　　A-Z,a-z,0-9　(62文字)

　　　ALPHA　　英字　　　　　　　　A-Z,a-z　　　(52文字)

　　　CAPS 　　英大文字　　　　　　A-Z　　　　　(26文字)

　　　SMLS 　　英小文字　　　　　　a-z　　　　　(26文字)

　　　NUM　　　数字　　　　　　　　0-9　　　　　(10文字)

　　　CAPSNUM　英大文字または数字　A-Z,0-9　　　(36文字)

　　　SMLSNUM　英小文字または数字　a-z,0-9　　　(36文字)

1.3 デフォルト値

　　'ENT=MNENT,CHK=(ALNUM,ALNUM)'

編集条件パラメータ

2.1 'CHG=変換指定'

　　文字変換を指定する。

　2.1.1 変換指定

　　　NOCHG　変換しない

　　　STOC 　英小文字を英大文字に変換

　　　CTOC 　英大文字を英小文字に変換

2.2 'SFT=シフト指定'

　　左詰め，右詰めするかを指定する。

　2.2.1 シフト指定

　　　NOSFT　シフトしない

　　　LEFT 　左詰めする

　　　RIGHT　右詰めする

2.3 デフォルト値

　　'CHG=NOCHG,SFT=NOSFT'

注意事項

キーワード（CHK，ENT，CHG，SFT）の指定がない時，あるいは等号の右側の値が上記以外の場合，デフォルト値が指定されたと解釈する。

各サブルーチンの入力パラメータとして必要としないキーワードが入力されても無視する。エラーとしない。

キーワードを重複して指定した場合，エラーとしないで次の例のように解釈する。

'CHK=ALNUM,CHK=ALPHA'　　→'CHK=(ALNUM,ALPHA)'と同等

'CHK=ALNUM,CHK=(CAPS,NUM)→'CHK=(ALNUM,CAPS)'と同等

　（CHKの場合，括弧の付き方に関係なく，前から2つが有効となる）

'SFT=(LEFT,RIGHT)'　　→'SFT=LEFT'と同等

'SFT=LEFT,SFT=RIGHT'→'SFT=LEFT'と同等

　（ENT，CHG，SFTの場合，括弧の付き方に関係なく，前から1つが有効となる）

LXRPIA28　文字列切断

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA28

文字列処理

文字列切断

LXRCIA28

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR

X(200)

文字列

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(200)

文字列

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREA024：NUMERICエラー

−

−

−

−

LXREA020：入力長が範囲外

−

処理基準

PC・UNIX版

I-LENGについてNUMERICチェックを行い，エラーのときはリターンコードに'LXREA024'を返す。

1≦I-LENG≦200とし，それ以外はリターンコードに'LXREA020'を返す。

文字データをI-LENGで指定された長さで切断する。

VOS3版

PC・UNIX版の1.および2.の処理を行う。

文字列中に機能キャラクタが正しく配置されていることを確認する。エラーの場合は，そのままリターンコードを返す。

文字データをI-LENGで指定された長さで切断する。

例1

　I-LENG  ：10
　I-STR   ：X'0A42A4A2A4A4A4A6A4A80A414040…'
　↓
　O-STR   ：X'0A42A4A2A4A4A4A60A414040…'
　O-RTN-CD：SPACE

注意事項

切断点が全角文字のコードの途中になる場合は，その前で切断する。

このサブルーチンから（文字列有効桁数算出：LXRPIA09）,（漢字コードチェック：LXRPIB01）,（混在文字列チェック：LXRPIA23　VOS3版だけ）を呼び出す。

EUC対応版，Unicode対応版で文字列に半角カナを入力する場合，文字列長は実バイト長（EUC：2バイト/文字，Unicode：3バイト/文字）で指定する。

LXRPIB01　漢字コードチェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIB01

漢字処理

漢字コードチェック

LXRCIB01

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STR-KJ

N(100)

文字列（漢字）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREB001：全角文字コード以外あり

−

−

−

−

LXREB003：入力文字列がスペース

−

−

−

−

−

−

処理基準

入力されたデータがすべて全角文字コードであるかチェックする（チェックする文字コードの範囲は付録Aおよび付録Bを参照のこと）。

例1

　I-STR-KJ：NC'あ'
　↓
　O-RTN-CD：SPACE

注意事項

半角空白2個は全角空白1個と見なす（Unicode対応版では半角空白1個は全角空白1個）。

VOS3版の場合，機能キャラクタは全角コードに含まない。したがって，機能キャラクタを含む場合はエラーとなる。

このサブルーチンから（漢字データ有効桁数算出：LXRPIB07）を呼び出す。

EUC対応版の場合，EUC-HJ（日立自治体用外字）はエラーとしない。

LXRPIB02　漢字コードチェック（含外字）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIB02

漢字処理

漢字コードチェック（含外字）

LXRCIB02

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STR-KJ

N(100)

文字列（漢字）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREB006：全角文字（含外字）コード以外あり

−

−

−

−

LXREB003：入力文字列がスペース

−

−

−

−

−

−

処理基準

入力されたデータがすべて全角文字コード（外字領域を含む）であるかチェックする（チェックする文字コードの範囲は付録Aおよび付録Bを参照のこと）。

例1

　I-STR-KJ：NC'あ'
　↓
　O-RTN-CD：SPACE

注意事項

半角空白2個は全角空白1個と見なす（Unicode対応版では半角空白1個は全角空白1個）。

VOS3版の場合，機能キャラクタは全角コードに含まない。したがって，機能キャラクタを含む場合はエラーとなる。

このサブルーチンから（漢字データ有効桁数算出：LXRPIB07）を呼び出す。

EUC対応版の場合，EUC-HJ（日立自治体用外字）はエラーとしない。

LXRPIB03　漢字シフト

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIB03

漢字処理

漢字シフト

LXRCIB03

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STR-KJ

N(100)

文字列（漢字）

I

03

I-SHFT-LENG

P(3)

シフトする文字数

C

−

−

−

正数：右方向にシフト

−

−

−

−

負数：左方向にシフト

−

−

−

−

ゼロ：シフトしない

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR-KJ

N(100)

文字列（漢字）

O

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREB005：NUMERICエラー

−

−

−

−

LXREB004：シフトする文字数が範囲外

−

処理基準

漢字データの内容を指定文字数分シフトする。

1.1 シフトする文字数（I-SHFT-LENG）によって，次の処理を行う。

　　正数：I-SHIFT-LENGの値だけ，右方向にシフトする。

　　負数：I-SHIFT-LENGの絶対値だけ，左方向にシフトする。

　　ゼロ：入力文字列をそのまま出力文字列とする。

例1

　I-STR-KJ   ：'あいうえお'
　I-SHFT-LENG：2
　↓
　O-STR-KJ   ：'△△あいうえお'
　O-RTN-CD　 ：SPACE

例2

　I-STR-KJ　 ：'あいうえお'
　I-SHFT-LENG：-2
　↓
　O-STR-KJ   ：'うえお'
　O-RTN-CD　 ：SPACE

注意事項

I-SHFT-LENGについてNUMERICチェックを行い，数値でない時はエラーコード'LXREB005'をリターンコードとして返し，出力文字列は入力文字列をそのまま転記する。

-100≦I-SHFT-LENG≦100でなければ，I-SHFT-LENGを100として処理を続行し，エラーコード'LXREB004'をリターンコードとして返す。

シフトした結果が出力文字列N(100)の範囲からはみだす時は切り捨てる。リターンコードには，スペースを出力する。

LXRPIB04　漢字データ左詰め

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIB04

漢字処理

漢字データ左詰め

LXRCIB04

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR-KJ

N(100)

文字列（漢字）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR-KJ

N(100)

文字列（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREB005：NUMERICエラー

−

−

−

−

LXREB004：入力長が範囲外

−

−

−

−

LXREB003：入力文字列がスペース

−

−

−

−

LXREB002：切り捨てが発生した

−

処理基準

漢字データを左に詰める。

例1

　I-STR-KJ   ：'△△△あい△う△△えお'
　I-LENG     ：11
　↓
　O-STR-KJ   ：'あい△う△△えお△△△'
　O-RTN-CD　 ：SPACE

注意事項

半角空白2個は全角空白1個と見なす（Unicode対応版では半角空白1個は全角空白1個）。

I-LENGについてNUMERICチェックを行い，数値でないときはエラーコード'LXREB005'をリターンコードとして返し，出力文字列は入力文字列をそのまま転記する。

1≦I-LENG≦100以外はエラーとし，エラーコード'LXREB004'をリターンコードとして返し，出力文字列は入力文字列をそのまま転記する。

編集結果文字列長＞出力フィールドの長さの場合，エラーコード'LXREB002'をリターンコードとして返し，処理を続行する。出力は編集結果文字列をそのまま転記する。

このサブルーチンから（漢字データ有効桁数算出：LXRPIB07）を呼び出す。

Unicode対応版では，サロゲートペアで表現される文字は1ペア2文字で指定する。

LXRPIB05　漢字データ右詰め

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIB05

漢字処理

漢字データ右詰め

LXRCIB05

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR-KJ

N(100)

文字列（漢字）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR-KJ

N(100)

文字列（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREB005：NUMERICエラー

−

−

−

−

LXREB004：入力長が範囲外

−

−

−

−

LXREB003：入力文字列がスペース

−

−

−

−

LXREB002：切り捨てが発生した

−

処理基準

漢字データを右に詰める。

例1

　I-STR-KJ   ：'あい△う△△えお△△△'
　I-LENG     ：11
　↓
　O-STR-KJ   ：'△△△あい△う△△えお'
　O-RTN-CD　 ：SPACE

注意事項

半角空白2個は全角空白1個と見なす（Unicode対応版では半角空白1個は全角空白1個）。

I-LENG についてNUMERIC チェックを行い，数値でないときはエラーコード'LXREB005'をリターンコードとして返す。入力文字列をそのまま出力とする。

1≦I-LENG≦100以外はエラーとし，エラーコード'LXREB004'をリターンコードとして返す。入力文字列（I-STR-KJ）をそのまま出力文字列（O-STR-KJ）に送る。

入力文字列をすべて転送できないときは，左側を切り捨てる。リターンコード'LXREB002'を返す。

このサブルーチンから（漢字データ有効桁数算出：LXRPIB07）を呼び出す。

Unicode対応版では，サロゲートペアで表現される文字は１ペア2文字で指定する。

LXRPIB06　漢字データ中央揃え

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIB06

漢字処理

漢字データ中央揃え

LXRCIB06

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR-KJ

N(100)

文字列（漢字）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR-KJ

N(100)

文字列（漢字）

O

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREB005：NUMERICエラー

−

−

−

−

LXREB004：入力長が範囲外

−

−

−

−

LXREB003：入力文字列がスペース

−

−

−

−

LXREB002：切り捨てが発生した

−

処理基準

入力文字列をセンタリング編集する。

1.1 （漢字データ有効桁数算出：LXRPIB07）によって，入力文字列の最右文字位置を求める。

1.2 入力文字列の最左文字位置（空白以外の最初の文字の位置）を求める

1.3 入力文字列の最右文字位置と最左文字位置から実文字数を求め，（出力フィールドの長さ：

　　I-LENG）に収まらなければエラーコード'LXREB002'をリターンコードとして返し，

　　左詰めを行う。

1.4 （出力フィールドの長さ-実文字数）を2で割り（余り切り捨て），その商で表される出力文字列上

　　の位置に入力文字列の最左文字位置からの文字列を転送する。

例1

　I-STR-KJ：'あ△い△う△え△△△△'
　I-LENG  ：11
　↓
　O-STR-KJ：'△△あ△い△う△え△△'
　O-RTN-CD：SPACE

注意事項

左右の空白が等しくならないときは，左側の空白を1つ少なくする。

I-LENGについてNUMERICチェックを行い，数値でなければエラーコード'LXREB005'をリターンコードとして返し，入力文字列はそのまま出力する。

1≦I-LENG≦100でなければエラーとし，エラーコード'LXREB004'をリターンコードとして返し入力文字列をそのまま出力する。

入力文字列がスペースの場合，エラーコード'LXREB003'をリターンコードとして返し，入力文字列をそのまま出力する。

このサブルーチンから（漢字データ有効桁数算出：LXRPIB07）を呼び出す。

Unicode対応版では，サロゲートペアで表現される文字は1ペア2文字で指定する。

LXRPIB07　漢字データ有効桁数算出

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIB07

漢字処理

漢字データ有効桁数算出

LXRCIB07

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STR-KJ

N(100)

文字列（漢字）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-LENG

P(3)

長さ

O

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

漢字データの有効桁数を求める。

例

　I-STR-KJ：'△あいう△△え△お'
　↓
　O-LENG  ：9

注意事項

半角空白2個は全角空白1個と見なす（Unicode対応版では半角空白1個は全角空白1個）。

入力文字列（漢字）の先頭空白は有効桁数に含む。

Unicode対応版では，サロゲートペアで表現される文字は1ペア2文字で返す。

LXRPIB08　空白削除（漢字データ）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIB08

漢字処理

空白削除（漢字データ）

LXRCIB08

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR-KJ

N(100)

文字列（漢字）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR-KJ

N(100)

文字列（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREB005：NUMERICエラー

−

−

−

−

LXREB004：入力長が範囲外

−

−

−

−

LXREB003：入力文字列がスペース

−

−

−

−

LXREB002：切り捨てが発生した

−

処理基準

漢字データ中の空白を削除する。

例1

　I-STR-KJ：'あ△△い△△△う△えお'
　I-LENG  ：11
　↓
　O-STR-KJ：'あいうえお△△△△△△'
　O-RTN-CD：SPACE

注意事項

左右の空白2個は全角空白1個と見なす（Unicode対応版では半角空白1個は全角空白1個）。

I-LENGについてNUMERICチェックを行い，数値でないときはエラーコード'LXREB005'をリターンコードとして返す。処理は続行する。

1≦I-LENG≦100以外はエラーとし，エラーコード'LXREB004'をリターンコードとして返す。処理を続行する。

編集結果文字列長＞出力フィールドの長さの場合，エラーコード'LXREB002'をリターンコードとして返し，処理を続行する。出力は編集結果文字列をそのまま返す。

このサブルーチンから（漢字データ有効桁数算出：LXRPIB07），（全角空白→半角空白置換：LXRPIB13）を呼び出す。

Unicode対応版では，サロゲートペアで表現される文字は1ペア2文字で指定する。

LXRPIB09　不要空白削除（漢字データ）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIB09

漢字処理

不要空白削除（漢字データ）

LXRCIB09

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR-KJ

N(100)

文字列（漢字）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR-KJ

N(100)

文字列（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREB005：NUMERICエラー

−

−

−

−

LXREB004：入力長が範囲外

−

−

−

−

LXREB003：入力文字列がスペース

−

−

−

−

LXREB002：切り捨てが発生した

−

処理基準

漢字データ中の2個以上連続する空白の2個目以降を削除する。

先頭の空白も同様に1個の空白とする。

例

　I-STR-KJ：'あ△△い△う△△△えお'
　I-LENG  ：11
　↓
　O-STR-KJ：'あ△い△う△えお△△△'
　O-RTN-CD：SPACE

注意事項

左右の空白2個は全角空白1個と見なす（Unicode対応版では半角空白1個は全角空白1個）。

I-LENGについてNUMERICチェックを行い，数値でないときはエラーコード'LXREB005'をリターンコードとして返す。処理は続行する。

1≦I-LENG≦100以外はエラーとし，エラーコード'LXREB004'をリターンコードとして返す。処理は続行する。

編集結果文字列長＞出力フィールドの長さの場合，エラーコード'LXREB002'をリターンコードとして返し，処理を続行する。出力は編集結果文字列をそのまま返す。

このサブルーチンから（漢字データ有効桁数算出：LXRPIB07），（全角空白→半角空白置換：LXRPIB13）を呼び出す。

Unicode対応版では，サロゲートペアで表現される文字は1ペア2文字で指定する。

LXRPIB10　漢字交互挿入

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIB10

漢字処理

漢字交互挿入

LXRCIB10

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-1ST-LENG

P(3)

第一文字列長

IL

03

I-1ST-STR

N(100)

第一文字列

I

03

I-2ND-LENG

P(3)

第二文字列長

IL

03

I-2ND-STR

N(100)

第二文字列

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

N(100)

文字列（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREB005：NUMERICエラー

−

−

−

−

LXREB004：入力長が範囲外

−

−

−

−

LXREB001：漢字コード範囲外

−

−

−

−

LXREB003：入力文字列がスペース

−

−

−

−

LXREB002：切り捨てが発生した

−

処理基準

I-1ST-STRを（文字コードチェック（漢字）：LXRPIB01）を呼びチェックする。

1.1 リターンコードがスペースの時，I-1ST-LENGのNUMERICチェックを行い，I-2ND-STRと

　　I-2ND-LENGに対しても同じ処理を行う。

1.2 リターンコードがスペースでない時（漢字コードチェック：LXRPIB01）のリターンコードを返す。

入力データがすべて正常だった場合，入力漢字データ1のスペースエリアに入力漢字データ2がスペースになるまで順次セットし編集する。

2.1 出力する時に切捨てが発生した時と，入力漢字データの長さが入力漢字データ数より短かった場合

　　は，エラーコードに'LXREB002'を返し，出力は編集結果文字列をそのまま返す。

例1

　I-1ST-LENG：8
　I-1ST-STR ：'世帯主△長男△子'
　I-2ND-LENG：3
　I-2ND-STR ：'の△の'
　↓
　O-STR     ：'世帯主の長男の子'
　O-RTN-CD  ：SPACE

注意事項

第一文字列長と第二文字列長が，１≦I-1ST-LENG,I-2ND-LENG≦100の範囲外だった時リターンコードに'LXREB004'を返す。

NUMERICエラーが起こった時は，リターンコードに'LXREB005'を返す。

このサブルーチンから（漢字データ有効桁数算出：LXRPIB01）と（全角空白→半角空白置換：LXRPIB07）を呼び出す。

Unicode対応版では，サロゲートペアで表現される文字は1ペア2文字で指定する。

LXRPIB11　不当漢字コード置換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIB11

漢字処理

不当漢字コード置換

LXRCIB11

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR-KJ

N(100)

文字列（漢字）

I

03

I-CHAR-KJ

N(1)

文字（漢字）

C

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR-KJ

N(100)

出力文字列（漢字）

O

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREB005：NUMERICエラー

−

−

−

−

LXREB004：入力長が範囲外

−

−

−

−

−

−

処理基準

長さのNUMERICチェックと範囲チェックを行う。

1.1 リターンコードがスペースの時，一文字ずつ漢字データを（漢字コードチェック：LXRPIB01）を

　　使ってチェックしリターンコードが'LXREB001'のとき置換する漢字を出力する。

例1

　I-STR-KJ ：X'A0A1A2A3'
　I-LENG   ：2
　I-CHAR-KJ：X'A1A1'
　↓
　O-STR-KJ ：X'A1A1A2A3'
　O-RTN-CD ：SPACE
　(この例はVOS3版の例です)

注意事項

I-LENGに数字以外が入力された時は，リターンコードに'LXREB005'を返す。出力文字列にはスペースを返す。

1≦I-LENG≦100以外はエラーとし，出力文字列にスペースをリターンコードに'LXREB004' を返す。

置換の範囲はI-LENGで指定した長さの範囲だけとする。

このサブルーチンから（漢字コードチェック：LXRPIB01）を呼び出す。

入力文字列中のスペースは，正常データとして処理する。

Unicode対応版では，サロゲートペアで表現される文字は1ペア2文字で指定する。

LXRPIB12　機能キャラクタ削除

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIB12

漢字処理

機能キャラクタ削除

LXRCIB12

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR

X(200)

文字列

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(200)

文字列

O

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREB005：NUMERICエラー

−

−

−

−

LXREB004：入力長が範囲外

−

−

−

−

LXREB002：切り捨てが発生した

−

−

−

−

−

−

処理基準

PC・UNIX版

I-LENGのNUMERICチェックと範囲チェックを行う。

VOS3版

I-LENGのNUMERICチェックと範囲チェックを行う。

リターンコードがスペースの場合，機能キャラクタを削除する。

例1

　I-LENG  ：6
　I-STR   ：X'0A41C3C20A42C3A10A410A42'
　↓
　O-STR   ：X'C3C2C3A1'
　O-RTN-CD：SPACE

例2

　I-LENG  ：3
　I-STR   ：X'0A42'1234X'0A41'
　↓
　O-STR   ：1234
　O-RTN-CD：'LXREB002'

注意事項

I-LENGに数字以外が入力されたときは，出力文字列にスペース，リターンコードに'LXREB005'を返す。

1≦I-LENG≦200でない場合，出力文字列にスペース，リターンコードに'LXREB004'を返す。

編集結果の有効桁数が出力フィールドの長さを超えていた場合はリターンコードに'LXREB002'を返す。

このサブルーチンから（文字列有効桁数算出：LXRPIA09）を呼び出す。

LXRPIB13　全角空白→半角空白置換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIB13

漢字処理

全角空白→半角空白置換

LXRCIB13

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR-KJ

N(100)

文字列（漢字）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR-KJ

N(100)

文字列（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREB005：NUMERICエラー

−

−

−

−

LXREB004：入力長が範囲外

−

−

−

−

LXREB003：入力文字列がスペース

−

−

−

−

LXREB002：切り捨てが発生した

−

処理基準

入力された漢字データの中の全角空白1個を半角空白2個に置換する（Unicode対応版では全角空白1個を半角空白1個に置換する）。

例1

　I-STR-KJ ：'あ□い□う'
　I-LENG   ：5
　↓
　O-STR-KJ ：'あ△△い△△う'
　O-RTN-CD ：SPACE

　　□：全角空白1個
　　△：半角空白1個

注意事項

半角空白2個は全角空白1個と見なす（Unicode対応版では半角空白1個は全角空白1個）。

I-LENGについてNUMERICチェックを行い，数値でないときはエラーコード'LXREB005'をリターンコードとして返す。処理は続行する。

1≦I-LENG≦100以外はエラーとし，エラーコード'LXREB004'をリターンコードとして返す。処理を続行する。

編集結果文字列長＞出力フィールドの長さの場合，エラーコード'LXREB002'をリターンコードとして返す。出力は編集結果文字列をそのまま返す。

このサブルーチンから（漢字データ有効桁数算出：LXRPIB07）を呼び出す。

Unicode対応版では，サロゲートペアで表現される文字は1ペア2文字で指定する。

LXRPIB14　半角空白→全角空白置換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIB14

漢字処理

半角空白→全角空白置換

LXRCIB14

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR-KJ

N(100)

文字列（漢字）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR-KJ

N(100)

文字列（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREB005：NUMERICエラー

−

−

−

−

LXREB004：入力長が範囲外

−

−

−

−

LXREB003：入力文字列がスペース

−

−

−

−

LXREB002：切り捨てが発生した

−

処理基準

入力された漢字データの中の半角空白2個を全角空白1個に置換する（Unicode対応版では半角空白1個を全角空白1個に置換する）。

例

　I-STR-KJ：'あ△△い△△う'
　I-LENG  ：5
　↓
　O-STR-KJ：'あ□い□う'
　O-RTN-CD：SPACE

　　△：半角空白1個
　　□：全角空白1個

注意事項

半角空白2個は全角空白1個と見なす（Unicode対応版では半角空白1個は全角空白1個）。

I-LENGについてNUMERICチェックを行い，数値でないときはエラーコード'LXREB005'をリターンコードとして返す。処理は続行する。

1≦I-LENG≦100以外はエラーとし，エラーコード'LXREB004'をリターンコードとして返す。処理は続行する。

編集結果文字列長＞出力フィールドの長さの場合，エラーコード'LXREB002'をリターンコードとして返す。出力は編集結果文字列をそのまま返す。

このサブルーチンから（漢字データ有効桁数算出：LXRPIB07）を呼び出す。

Unicode対応版では，サロゲートペアで表現される文字は1ペア2文字で指定する。

LXRPIB15　漢字交互挿入（含外字）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIB15

漢字処理

漢字交互挿入（含外字）

LXRCIB15

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-1ST-LENG

P(3)

第一文字列長

IL

03

I-1ST-STR

N(100)

第一文字列

I

03

I-2ND-LENG

P(3)

第二文字列長

IL

03

I-2ND-STR

N(100)

第二文字列

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

N(100)

文字列

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREB005：NUMERICエラー

−

−

−

−

LXREB004：入力長が範囲外

−

−

−

−

LXREB002：切り捨てが発生した

−

処理基準

注意事項1.〜3.に従ってチェックする。

リターンコードがスペースの場合，入力第一文字列のスペースエリアに入力第二文字列をスペースが現れるまで順次セットし編集する。

2.1 出力する時に切り捨てが発生した場合，また，入力文字列の文字数が入力長より短かった場合は，

　　エラーコード'LXREB002'をリターンコードに設定し，出力は結果文字列をそのまま返す。

例1

　I-1ST-LENG：8
　I-1ST-STR ：'世帯主△長男△子'
　I-2ND-LENG：3
　I-2ND-STR ：'の△の'
　↓
　O-STR     ：'世帯主の長男の子'
　O-RTN-CD  ：SPACE

注意事項

I-1ST-STR，I-2ND-STRについて（漢字コードチェック（含外字）：LXRPIB02）を呼び出し，チェックする。

I-1ST-LENG，I-2ND-LENGについてNUMERICチェックを行い，エラーのときはエラーコード'LXREB005'をリターンコードに設定する。

1≦I-1ST-LENG≦100，1≦I-2ND-LENG≦100でなければエラーコード'LXREB004'をリターンコードに設定する。

文字サブルーチンから（漢字コードチェック（含外字）：LXRPIB02）と（漢字データ有効桁数算出：LXRPIB07）を呼び出す。

Unicode対応版では，サロゲートペアで表現される文字は1ペア2文字で指定する。

LXRPIB16　不当漢字コード置換（含外字）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIB16

漢字処理

不当漢字コード置換（含外字）

LXRCIB16

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR-KJ

N(100)

文字列（漢字）

I

03

I-CHAR-KJ

N(1)

文字（漢字）

C

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR-KJ

N(100)

出力文字列（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREB005：NUMERICエラー

−

−

−

−

LXREB004：入力長が範囲外

−

処理基準

注意事項1.と2.に従ってチェックする。

リターンコードがスペースの場合，入力文字列を１文字ずつ（漢字コードチェック（含外字）：LXRPIB02）を呼び出してチェックし，リターンコードが'LXREB006'のとき，置換する漢字に置き換える。

例

　I-STR-KJ  ：X'A0A1A2A3'
　I-LENG    ：2
　I-CHAR-KJ ：X'A1A1'
　↓
　O-STR-KJ  ：X'A1A1A2A3'
　O-RTN-CD：SPACE
　（この例はVOS3版の例です）

注意事項

I-LENGについてNUMERICチェックを行い，エラーのときはエラーコード'LXREB005'をリターンコードに設定する。

1≦I-LENG≦100でなければエラーコード'LXREB004'をリターンコードに設定する。

置換の範囲はI-LENGで指定した長さの範囲だけとする。

このサブルーチンから（漢字コードチェック（含外字）：LXRPIB02）を呼び出す。

入力文字列中のスペースは，正常データとして処理する。

Unicode対応版では，サロゲートペアで表現される文字は1ペア2文字で指定する。

LXRPIC01　半角→全角変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIC01

コード変換

半角→全角変換

LXRCIC01

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR

X(200)

文字列

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR-KJ

N(200)

文字列（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREC005：NUMERICエラー

−

−

−

−

LXREC004：入力長が範囲外

−

処理基準

半角1文字を全角1文字に変換する。

濁音・半濁音は，半角2文字を全角1文字に変換する。

空白文字・制御文字および未使用コードは空白（2バイト）に変換する。

例1

　I-STR   ：'ﾋﾀﾁ'
　I-LENG  ：3
　↓
　O-STR-KJ：'ヒタチ'
　O-RTN-CD：SPACE

例2

　I-STR   ：'ｾﾞﾝｶｸ'
　I-LENG  ：5
　↓
　O-STR-KJ：'ゼンカク'
　O-RTN-CD：SPACE

注意事項

VOS3版の場合，機能キャラクタも通常の半角2バイトとして扱う。

I-LENGについてNUMERICチェックを行い，数値でないときはリターンコード'LXREC005'を返す。出力文字列にはスペースを返す。

1≦I-LENG≦200でなければ，エラーコード'LXREC004'をリターンコードとして返す。出力文字列にはスペースを返す。

I-LENGで指定した長さの範囲だけが変換の対象となる。

EUC対応版，Unicode対応版で半角カナを変換する場合，文字数は実バイト長（EUC：2バイト/文字，Unicode：3バイト/文字）で指定する。

特殊文字の半角文字と全角文字の対応を次の表に示す。

LXRPIC02　全角→半角変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIC02

コード変換

全角→半角変換

LXRCIC02

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR-KJ

N(100)

文字列（漢字）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(200)

文字列

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREC005：NUMERICエラー

−

−

−

−

LXREC004：入力長が範囲外

−

−

−

−

LXREC008：変換できない文字がある

−

−

−

−

LXREC009：切り捨てが発生した

−

処理基準

全角1文字を半角1文字に変換する。

濁音・半濁音は，全角1文字を半角2文字に変換する。

例1

　I-LENG  ：10
　I-STR-KJ：'ヴァイオリン'
　↓
　O-STR   ：'ｳﾞｧｲｵﾘﾝ'
　O-RTN-CD：SPACE

注意事項

対応する半角文字コードがない場合は空白文字に変換する。

I-LENGについてNUMERICチェックを行い，数値でないときはリターンコード'LXREC005'を返す。出力文字列にはスペースを返す。

1≦I-LENG≦100以外はエラーとし，リターンコード'LXREC004'を返す。出力文字列にはスペースを返す。

I-LENGで指定した長さの範囲だけが変換の対象となる。

編集結果が出力文字列に入りきらないときは，リターンコードに'LXREC009'を返し，超えた分は切り捨てて出力文字列にセットする。

Unicode対応版では，サロゲートペアで表現される文字は1ペア2文字で指定する。

特殊文字の半角文字と全角文字の対応は，LXRPIC01「半角→全角変換」の注意事項に記載されている，特殊文字の半角／全角の対応一覧を参照のこと。

LXRPIC03　EBCDIK→JIS変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIC03

コード変換

EBCDIK→JIS変換

LXRCIC03

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR

X(200)

文字列

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(200)

文字列

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREC005：NUMERICエラー

−

−

−

−

LXREC004：入力長が範囲外

−

処理基準

EBCDIKコードをJIS8単位コードに変換する。

例

　I-STR   ：X'F1F2F3F4'
　I-LENG  ：04
　↓
　O-STR   ：X'31323334'
　O-RTN-CD：SPACE

注意事項

文字が未定義の場合，空白に変換する。

I-LENGについてNUMERICチェックを行い，数値でないときはリターンコード'LXREC005'を返す。出力文字列にはスペースを返す。

1≦I-LENG≦200以外はエラーとし，リターンコード'LXREC004'を返す。出力文字列にはスペースを返す。

I-LENGで指定した長さの範囲だけが変換の対象となる。

LXRPIC04　JIS→EBCDIK変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIC04

コード変換

JIS→EBCDIK変換

LXRCIC04

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR

X(200)

文字列

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(200)

文字列

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREC005：NUMERICエラー

−

−

−

−

LXREC004：入力長が範囲外

−

処理基準

JIS8単位コードをEBCDIKコードに変換する。

例1

　I-STR   ：X'31323334'
　I-LENG  ：04
　↓
　O-STR   ：X'F1F2F3F4'
　O-RTN-CD：SPACE

注意事項

文字が未定義の場合，空白に変換する。

I-LENGについてNUMERICチェックを行い，数値でないときはリターンコード'LXREC005'を返す。出力文字列にはスペースを返す。

1≦I-LENG≦200以外はエラーとし，リターンコード'LXREC004'を返す。出力文字列にはスペースを返す。

I-LENGで指定した長さの範囲だけが変換の対象となる。

LXRPIC05　JIS漢字→KEIS変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIC05

コード変換

JIS漢字→KEIS変換

LXRCIC05

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR-KJ

N(100)

文字列（漢字）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR-KJ

N(100)

文字列（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREC005：NUMERICエラー

−

−

−

−

LXREC004：入力長が範囲外

−

処理基準

JIS漢字コードをKEISコードに変換する。

例1

　I-STR-KJ：X'234123422343'
　I-LENG  ：3
　↓
　O-STR-KJ：X'A3C1A3C2A3C3'
　O-RTN-CD：SPACE

注意事項

KEISコードはNタイプで出力する。

変換データの長さは文字数（バイト数/2）で指定する。

I-LENGについてNUMERICチェックを行い，数値でないときはリターンコード'LXREC005'を返す。出力文字列にはスペースを返す。

1≦I-LENG≦100以外はエラーとし，リターンコード'LXREC004'を返す。出力文字列にはスペースを返す。

I-LENGで指定した長さの範囲だけが変換の対象となる。

JIS漢字コード以外の文字列を入力した場合，リターンコードは正常終了となり，入力した文字コードと同じ文字コードの文字列を返す。

LXRPIC06　KEIS→JIS漢字変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIC06

コード変換

KEIS→JIS漢字変換

LXRCIC06

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR-KJ

N(100)

文字列（漢字）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR-KJ

N(100)

文字列（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREC005：NUMERICエラー

−

−

−

−

LXREC004：入力長が範囲外

−

処理基準

KEISコードをJIS漢字コードに変換する。

例1

　I-STR-KJ：X'A3C1A3C2A3C3'
　I-LENG  ：3
　↓
　O-STR-KJ：X'234123422343'
　O-RTN-CD：SPACE

注意事項

変換データの長さは文字数（バイト数/2）で指定する。

I-LENGについてNUMERICチェックを行い，数値でないときはリターンコード'LXREC005'を返す。出力文字列にはスペースを返す。

1≦I-LENG≦100以外はエラーとし，リターンコード'LXREC004'を返す。出力文字列にはスペースを返す。

I-LENGで指定した長さの範囲だけが変換の対象となる。

KEISコード以外の文字列を入力した場合，リターンコードは正常終了となり，出力文字列には不正なコードを返す。

LXRPIC07　16進文字列→バイナリ変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIC07

コード変換

16進文字列→バイナリ変換

LXRCIC07

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STR-HX

X(400)

文字列（16進）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-BNRY

X(200)

文字列

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREC001：入力データ中に不当な文字がある

−

−

−

−

LXREC002：入力データがスペース

−

−

−

−

LXREC003：入力データが奇数桁

−

処理基準

16進文字列をキャラクタ文字列に変換する。

例1

　I-STR-HX：'C5C1C7D3C5'
　↓
　O-BNRY　：X'C5C1C7D3C5'
　O-RTN-CD：SPACE

注意事項

左端から最初の空白までを変換する。

入力データの長さは，400バイトとする。

入力データ中に0〜9，A〜F以外の文字があった場合はリターンコードを返し，変換は行わない。

入力データが奇数桁の場合は，最後の1桁を無視して変換し，リターンコードを返す。

変換結果が，200バイトに充たない場合は，後方に空白をセットする。

エラーの場合，出力の文字列にはスペースを返す。

LXRPIC08　バイナリ→16進文字列変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIC08

コード変換

バイナリ→16進文字列変換

LXRCIC08

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-BNRY

X(200)

文字列

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR-HX

X(400)

文字列（16進）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

−

−

−

−

−

−

−

処理基準

キャラクタ文字列を16進文字列に変換する。

例1

　I-BNRY  ：X'C5C1C7D3C5'
　↓
　O-STR-HX：'C5C1C7D3C5'
　O-RTN-CD：SPACE

注意事項

200バイトすべてを変換する。

キャラクタ文字以外を入力した場合，リターンコードは正常終了となり，出力文字列にスペースを返す。

LXRPIC09　2進文字列→バイナリ変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIC09

コード変換

2進文字列→バイナリ変換

LXRCIC09

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STR-BN

X(64)

文字列（2進）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-BNRY

B(18)

内部2進

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREC001：入力データ中に不当な文字がある

−

−

−

−

LXREC002：入力データがスペース

−

−

−

−

−

−

処理基準

2進文字列を2進数値に変換する。

例1

　I-STR-BN：'11000'
　↓
　O-BNRY　：+24
　O-RTN-CD：SPACE

注意事項

後方の空白を除いた部分を変換する。

入力データ中に，1，0以外の文字があった場合はリターンコードを返し，変換は行わない。

LXRPIC10　バイナリ→2進文字列変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIC10

コード変換

バイナリ→2進文字列変換

LXRCIC10

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-BNRY

B(18)

内部2進

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR-BN

X(64)

文字列（2進）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

−

−

−

−

−

−

−

処理基準

2進数値を2進文字列に変換する。

例

　I-BNRY  ：+24
　↓
　O-STR-BN：'00------0011000'
　O-RTN-CD：SPACE

注意事項

　なし。

LXRPIC11　KEIS83→KEIS78変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIC11

コード変換

KEIS83→KEIS78変換

LXRCIC11

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR

X(200)

文字列

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(200)

文字列

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREC005：NUMERICエラー

−

−

−

−

LXREC004：入力長が範囲外

−

処理基準

KEIS83の漢字コードをKEIS78に変換する。

例1

　I-LENG  ：3
　I-STR   ：X'A8A3A1A1B0B3'
　↓
　O-STR   ：X'AFA1A1A1F2CD'
　O-RTN-CD：SPACE

注意事項

KEIS83に対するコードチェックは行わない。

変換データの長さは文字数（バイト数/2）で指定する。

I-LENGについてNUMERICチェックを行い，数値でないときはリターンコード'LXREC005'を返す。出力文字列にはスペースを返す。

1≦I-LENG≦100以外はエラーとし，リターンコード'LXREC004'を返す。出力文字列にはスペースを返す。

I-LENGで指定した長さの範囲だけが変換の対象となる。

KEIS83コード以外の文字列を入力した場合，リターンコードは正常終了となり，入力した文字コードと同じ文字コードを出力文字列に返す。

LXRPIC12　KEIS78→KEIS83変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIC12

コード変換

KEIS78→KEIS83変換

LXRCIC12

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR

X(200)

文字列

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(200)

文字列

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREC005：NUMERICエラー

−

−

−

−

LXREC004：入力長が範囲外

−

処理基準

KEIS78の漢字コードをKEIS83に変換する。

例1

　I-LENG  ：3
　I-STR   ：X'AFA1A1A1F2CD'
　↓
　O-STR   ：X'A8A3A1A1B0B3'
　O-RTN-CD：SPACE

注意事項

KEIS78に対するコードチェックは行わない。

変換データの長さは文字数（バイト数/2）で指定する。

I-LENGについてNUMERICチェックを行い，数値でないときはリターンコード'LXREC005'を返す。出力文字列にはスペースを返す。

1≦I-LENG≦100以外はエラーとし，リターンコード'LXREC004'を返す。出力文字列にはスペースを返す。

I-LENGで指定した長さの範囲だけが変換の対象となる。

KEIS78コード以外の文字列を入力した場合，リターンコードは正常終了となり，入力した文字コードと同じ文字コードを出力文字列に返す。

LXRPID01　実在日チェック（西暦）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID01

日付処理

実在日チェック（西暦）

LXRCID01

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMD

−

年月日（西暦）

I

05

I-YY

9(4)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

次の順でチェックを行い，エラーの場合はリターンコードを返す。

No.

チェック

リターンコード

1

2

3

4

5

6

年月日が数字だけである

年月日≠ALL ZERO

年≠ZERO

月＝1〜12

実在する月日である

月日＝2月29日ならば年＝うるう年

LXRED017

LXRED016

LXRED001

LXRED007

LXRED009

LXRED008

例1

　I-YMD   ：00000229
　↓
　O-RTN-CD：'LXRED001'

例2

　I-YMD   ：19901329
　↓
　O-RTN-CD：'LXRED007'

例3

　I-YMD   ：19900229
　↓
　O-RTN-CD：'LXRED008'

例4

　I-YMD   ：19900431
　↓
　O-RTN-CD：'LXRED009'

例5

　I-YMD   ：QQQQ0229
　↓
　O-RTN-CD：'LXRED017'

注意事項

年だけが0の場合，'LXRED001'をリターンコードに返す。

LXRPID02　実在日チェック（和暦）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID02

日付処理

実在日チェック（和暦）

LXRCID02

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

−

年月日（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード（処理基準参照）

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

次の順でチェックを行い，エラーの場合はリターンコードを返す。

No.

チェック

リターンコード

1

2

3

4

5

6

7

8

9

10

11

年月日が数字だけである

年月日≠ALL ZERO

年号＝1，2，3，4，M，T，S，H

年≠ZERO

月＝1〜12

実在する月日である

月日＝2月29日ならば年＝うるう年

明治：元年9月8日〜45年7月30日

大正：元年7月30日〜15年12月25日

昭和：元年12月25日〜64年1月7日

平成：元年1月8日〜

LXRED017

LXRED016

LXRED002

LXRED001

LXRED007

LXRED009

LXRED008

LXRED006

LXRED005

LXRED004

LXRED010

JIS規格版では，次の順でチェックを行い，エラーの場合はリターンコードを返す。

No.

チェック

リターンコード

1

2

3

4

5

6

7

8

9

10

11

年月日が数字だけである

年月日≠ALL ZERO

年号＝1，2，3，4，M，T，S，H

年≠ZERO

月＝1〜12

実在する月日である

月日＝2月29日ならば年＝うるう年

明治：元年9月8日〜45年7月30日

大正：元年7月31日〜15年12月25日

昭和：元年12月26日〜64年1月7日

平成：元年1月8日〜

LXRED017

LXRED016

LXRED002

LXRED001

LXRED007

LXRED009

LXRED008

LXRED006

LXRED005

LXRED004

LXRED010

例1

　I-YMDWA ：1450731
　↓
　O-RTN-CD：'LXRED006'

例2

　I-YMDWA ：S640108
　↓
　O-RTN-CD：'LXRED004'

注意事項

このサブルーチンから（うるう年判定（西暦）：LXRPID25，年号コード変換（英字→数字）：LXRPID37）を呼び出す。

年号がエラーのときは，リターンコードに'LXRED002'を設定するが処理を終わらせず，年号＝平成を仮定してチェックを続行する。年号以外のエラーがある場合は，そのリターンコードを返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.1　LXRPID02　（実在日チェック（和暦））」を参照のこと。

LXRPID03　年月日範囲内チェック（西暦）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID03

日付処理

年月日範囲内チェック（西暦）

LXRCID03

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMD

9(8)

年月日　　（YYYYMMDD）

I

03

I-STT-YMD

9(8)

開始年月日（YYYYMMDD）

I

03

I-END-YMD

9(8)

終了年月日（YYYYMMDD）

I

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：指定範囲内

−

−

−

−

LXRED012：年月日が指定範囲外

−

−

−

−

−

−

−

−

−

−

−

処理基準

入力された年月日，開始年月日および終了年月日のチェックを（実在日チェック（西暦）：LXRPID01）を用いて行い，エラーの場合はリターンコードを返す。

リターンコードがスペースの時，西暦年月日が，指定された開始年月日と終了年月日の間の年月日かチェックする。

例1

　I-YMD    ：19890131
　I-STT-YMD：19890101
　I-END-YMD：19890201
　↓
　O-RTN-CD ：SPACE

注意事項

このサブルーチンから（実在日チェック（西暦）：LXRPID01）を呼び出す。

開始年月日と，終了年月日は，西暦年月日とする。

開始年月日＞終了年月日と指定すると，リターンコード'LXRED012'を返す。

年月日，開始年月日，終了年月日が実在日でないと，LXRPID01のリターンコードを返す。

LXRPID04　年月日範囲内チェック（和暦）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID04

日付処理

年月日範囲内チェック（和暦）

LXRCID04

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

−

年月日（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

03

I-STT-YMDWA

−

開始年月日（和暦）

I

05

I-S-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-S-YY

9(2)

年

I

05

I-S-MM

9(2)

月

I

05

I-S-DD

9(2)

日

I

03

I-END-YMDWA

−

終了年月日（和暦）

I

05

I-E-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-E-YY

9(2)

年

I

05

I-E-MM

9(2)

月

I

05

I-E-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：指定範囲内

−

−

−

−

LXRED012：年月日が指定範囲外

−

−

−

−

−

−

−

−

−

−

−

処理基準

和暦年月日が，指定された開始年月日と終了年月日の間の年月日か（年月範囲内チェック（西暦）：LXRPID03）を用いてチェックする。

例1

　I-YMDWA    ：3631224
　I-STT-YMDWA：4020101
　I-END-YMDWA：4030101
　↓
　O-RTN-CD   ：'LXRED012'

注意事項

このサブルーチンから（年月日変換（和暦→西暦）：LXRPID06），（年月日範囲内チェック（西暦）：LXRPID03）を呼び出す。

開始年月日と終了年月日は，和暦年月日とする。

開始年月日＞終了年月日と指定すると，リターンコード'LXRED012'を返す。

年月日，開始年月日，終了年月日が実在日でないと，LXRPID02のリターンコードを返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.2　LXRPID04　（年月日範囲内チェック（和暦））」を参照のこと。

LXRPID05　年月日変換（西暦→和暦）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID05

日付処理

年月日変換（西暦→和暦）

LXRCID05

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMD

−

年月日（西暦）

I

05

I-YY

9(4)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMDWA

9(7)

年月日（和暦）

O

−

−

−

年号

−

−

−

−

（1：明治，2：大正，3：昭和，4：平成）

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXRED011：和暦日付が許容範囲外

−

処理基準

（実在日チェック（西暦）：LXRPID01）を呼び，年月日（I-YMD）をチェックする。

1.1 リターンコードがスペースの時

　　年月日を年月日（和暦）に変換する。

　　年号の範囲は次のとおり。

年号

西暦範囲

和暦範囲

明治

1868年9月8日〜1912年7月29日

元年9月8日〜45年7月29日

大正

1912年7月30日〜1926年12月24日

元年7月30日〜15年12月24日

昭和

1926年12月25日〜1989年1月7日

元年12月25日〜64年1月7日

平成

1989年1月8日〜2087年12月31日

元年1月8日〜99年12月31日

1.2 リターンコードがスペースでない時

　　（実在日チェック（西暦）：LXRPID01）のリターンコードを出力する。

JIS規格版における年号の範囲は次のとおり。

年号

西暦範囲

和暦範囲

明治

1868年9月8日〜1912年7月30日

元年9月8日〜45年7月30日

大正

1912年7月31日〜1926年12月25日

元年7月31日〜15年12月25日

昭和

1926年12月26日〜1989年1月7日

元年12月26日〜64年1月7日

平成

1989年1月8日〜2087年12月31日

元年1月8日〜99年12月31日

例1

　I-YMD   ：19661224
　↓
　O-YMDWA ：3411224
　O-RTN-CD：SPACE

例2

　I-YMD   ：18680907
　↓
　O-YMDWA ：0000000
　O-RTN-CD：'LXRED011'

例3

　I-YMD   ：20871231
　↓
　O-YMDWA ：4991231
　O-RTN-CD：SPACE

例4

　I-YMD   ：20880101
　↓
　O-YMDWA ：0000000
　O-RTN-CD：'LXRED011'

注意事項

このサブルーチンから（実在日チェック（西暦）：LXRPID01）を呼び出す。

エラーの場合，年月日（和暦）には0を返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.3　LXRPID05　（年月日変換（西暦→和暦））」を参照のこと。

LXRPID06　年月日変換（和暦→西暦）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID06

日付処理

年月日変換（和暦→西暦）

LXRCID06

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

−

年月日（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMD

9(8)

年月日

O

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

処理基準

（実在日チェック（和暦）：LXRPID02）を呼び，年月日（I-YMDWA）をチェックする。

1.1 リターンコードがスペースの時

　　次の方法で和暦年月日を西暦年月日に変換する。

入力年号

出力年月日（西暦）

'1', 'M'

'2', 'T'

'3', 'S'

'4', 'H'

その他

入力年月日（年号除く）+ 18670000

入力年月日（年号除く）+ 19110000

入力年月日（年号除く）+ 19250000

入力年月日（年号除く）+ 19880000

入力年月日（年号除く）+ 19880000

1.2 リターンコードがスペースでない時

　　（実在日チェック（和暦）：LXRPID02）のリターンコードを出力する。

例1

　I-YMDWA ：3411224
　↓
　O-YMD   ：19661224
　O-RTN-CD：SPACE

注意事項

誤った年号に対しては，平成（'4'，'H'）と同様の処理を行う。ただしリターンコードには'LXRED002'を返す。

このサブルーチンから（年号コード変換（英字→数字）：LXRPID37），（実在日チェック（和暦）：LXRPID02）を呼び出す。

入力年月日（和暦）が実在日でない場合，年月日には0を返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.4　LXRPID06　（年月日変換（和暦→西暦））」を参照のこと。

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を返す。

LXRPID08　年月日算出（和暦年月日±年数）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID08

日付処理

年月日算出（和暦年月日±年数）

LXRCID08

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

−

入力和暦年月日（NYYMMDD）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

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-YMDWA

9(7)

出力和暦年月日（NYYMMDD）

O

−

−

−

N：年号

−

−

−

−

（1：明治，2：大正，3：昭和，4：平成）

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXRED017：年数が数値でない

−

−

−

−

−

−

処理基準

年数が+か-かを判断する。

1.1 年数が+の場合

　　入力和暦年月日に年数を加算し，出力和暦年月日にセットする。

1.2 年数が-の場合

　　入力和暦年月日から年数を減算し，出力和暦年月日にセットする。

例1

　I-YMDWA ：3470229
　I-YEARS ：+19
　↓
　O-YMDWA ：4030228
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（年月日変換（西暦→和暦）：LXRPID05），（年月日変換（和暦→西暦）：LXRPID06），（年月日算出（西暦年月日±年数）：LXRPID07）を呼び出す。

入力年月日が実在日でないと，LXRPID02のリターンコードを返す。

明治元年≦入力年＋経過年数≦平成99年の範囲外になる場合，結果は不正とする。リターンコード'LXRED011'を返す。

入力年月日がうるう年の2月29日のとき，年を加減した結果が平年の場合は2月28日を返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.5　LXRPID08　（年月日算出（和暦年月日±年数））」を参照のこと。

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）を呼び出す。

LXRPID10　年月日算出（和暦年月日±月数）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID10

日付処理

年月日算出（和暦年月日±月数）

LXRCID10

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

−

入力和暦年月日（NYYMMDD）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

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-YMDWA

9(7)

出力和暦年月日（NYYMMDD）

O

−

−

−

N：年号

−

−

−

−

（1：明治，2：大正，3：昭和，4：平成）

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXRED017：月数が数値でない

−

−

−

−

−

−

処理基準

月数が+か-かを判断する。

1.1 月数が+の場合

　　入力和暦年月日に月数を加算し，出力和暦年月日にセットする。

1.2 月数が-の場合

　　入力和暦年月日から月数を減算し，出力和暦年月日にセットする。

例1

　I-YMDWA ：4010131
　I-MNTHS ：+1
　↓
　O-YMDWA ：4010228
　O-RTN-CD：SPACE

注意事項

入力年月日が実在日でないと，LXRPID02のリターンコードを返す。

1か月後とは，入力和暦年月日の月に1を加えた同日，1か月前とは，入力和暦年月日の月から1を引いた同日とする。

加減算処理の結果，月末日を超えた場合は，月末日に合わせる。

結果が和暦年月日の許容範囲外になる場合，結果は不正とする。リターンコード'LXRED011'を返す。

このサブルーチンから（年月日変換（和暦→西暦）：LXRPID06），（年月日算出（西暦年月日±月数）：LXRPID09），（年月日変換（西暦→和暦）：LXRPID05）を呼び出す。

年号情報を設定変更した場合の動作の変更点については，「3.4.6　LXRPID10　（年月日算出（和暦年月日±月数））」を参照のこと。

LXRPID11　年月日算出（西暦年月日±日数）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID11

日付処理

年月日算出（西暦年月日±日数）

LXRCID11

インタフェース

入力（区分：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-DAYS

P(7)

日数

I

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMD

9(8)

出力西暦年月日（YYYYMMDD）

O

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXRED017：日数が数値でない

−

−

−

−

−

−

処理基準

日数のNUMERICチェックを行う。

1.1 リターンコードがスペースの時

　　（年月日（西暦）→一貫日変更：LXRPID27）を呼び，このサブルーチンのリターンコードを

　　リターンコードに転送する。

1.2 リターンコードがスペースでない時

　　リターンコードに'LXRED017'を出力する。

リターンコードがスペースの時，算出した一貫日と入力日数を加算し，この結果を使って（一貫日→年月日（西暦）変換：LXRPID29）を呼ぶ。

このサブルーチンのリターンコードをリターンコードに転送する。

例1

　I-YMD   ：19890530
　I-DAYS  ：+1
　↓
　O-YMD   ：19890531
　O-RTN-CD：SPACE

注意事項

このプログラムから（年月日（西暦）→一貫日変換：LXRPID27），（一貫日→年月日（西暦）変換：LXRPID29）を呼び出す。

結果がエラーのときは，年月日には0を返す。

LXRPID12　年月日算出（和暦年月日±日数）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID12

日付処理

年月日算出（和暦年月日±日数）

LXRCID12

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

−

入力和暦年月日（NYYMMDD）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

03

I-DAYS

P(8)

日数

I

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMDWA

9(7)

出力和暦年月日（NYYMMDD）

O

−

−

−

N：年号

−

−

−

−

（1：明治，2：大正，3：昭和，4：平成）

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

処理基準

入力和暦年月日を（年月日変換（和暦→西暦）：LXRPID06）によって，西暦に変換する。このサブルーチンのリターンコードをリターンコードに転送する。

リターンコードがスペースのとき，次の処理を行う。

2.1 変換した西暦年月日と，入力日数を使って（年月日算出（西暦年月日±日数）：LXRPID11）を呼

　　び，このサブルーチンのリターンコードをリターンコードに転送する。

リターンコードがスペースのとき，次の処理を行う。

3.1 2.1で得た西暦年月日を（年月日変換（西暦→和暦）：LXRPID05）によって，和暦に変換する。

　　このサブルーチンのリターンコードをリターンコードに転送する。

例1

　I-YMDWA ：4010131
　I-DAYS  ：+1
　↓
　O-YMDWA ：4010201
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（年月日変換（西暦→和暦）：LXRPID05），（年月日変換（和暦→西暦）：LXRPID06），（年月日算出（西暦年月日±年数）：LXRPID11）を呼び出す。

結果がエラーのときは，年月日には0を返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.7　LXRPID12　（年月日算出（和暦年月日±日数））」を参照のこと。

LXRPID13　期間算出（西暦年月日間日数）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID13

日付処理

期間算出（西暦年月日間日数）

LXRCID13

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STT-YMD

9(8)

開始年月日（YYYYMMDD）

I

03

I-END-YMD

9(8)

終了年月日（YYYYMMDD）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-DAYS

P(8)

日数

O

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

Ｒ

−

−

−

SPACE：正常

−

−

−

−

LXRED020：比較エラー

−

処理基準

（年月日（西暦）→一貫日変換：LXRPID27）を呼び，開始年月日を一貫日に変換する。

1.1 リターンコードがスペースの時

　　終了年月日を一貫日に変換する。

1.2 リターンコードがスペースでない時

　　（年月日（西暦）→一貫日変換：LXRPID27）のリターンコードを返す。

開始年月日の一貫日と終了年月日の一貫日を比較する。

2.1 終了年月日の一貫日が大きいか等しい時

　　終了年月日の一貫日から開始年月日の一貫日を減算し，1を加えて出力日数に転送する。

2.2 そのほかの時

　　0を日数（O-DAYS）に出力し，'LXRED020'をリターンコード（O-RTN-CD）に出力する。

例1

　I-STT-YMD：19890710
　I-END-YMD：19900710
　↓
　O-DAYS   ：366
　O-RTN-CD ：SPACE

注意事項

このサブルーチンから（年月日（西暦）→一貫日変換：LXRPID27）を呼び出す。

終了年月日がエラーの時（年月日（西暦）→一貫日変換：LXRPID27）のリターンコードを返す。

エラーのときは，出力日数には0を返す。

LXRPID14　期間算出（和暦年月日間日数）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID14

日付処理

期間算出（和暦年月日間日数）

LXRCID14

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STT-YMDWA

−

開始年月日（和暦）（NYYMMDD）

I

05

I-S-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-S-YY

9(2)

年

I

05

I-S-MM

9(2)

月

I

05

I-S-DD

9(2)

日

I

03

I-END-YMDWA

−

終了年月日（和暦）

I

05

I-E-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-E-YY

9(2)

年

I

05

I-E-MM

9(2)

月

I

05

I-E-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-DAYS

P(8)

日数

O

03

O-RTN-CD

X(10)

リターンコード

Ｒ

−

−

−

−

−

処理基準

開始年月日を（年月日変換（和暦→西暦）：LXRPID06）によって，西暦に変換し，このサブルーチンのリターンコードをリターンコードに転送する。

リターンコードがスペースのとき次の処理を行う。

2.1 終了年月日を（年月日変換（和暦→西暦）：LXRPID06）によって，西暦に変換し，このサブルー

　　チンのリターンコードをリターンコードに転送する。

リターンコードがスペースのとき次の処理を行う。

3.1 西暦に変換済みの開始年月日，終了年月日を用いて（期間算出（西暦年月日間日数）：LXRPID13）

　　を呼び，日数を得る。このサブルーチンのリターンコードをリターンコードに転送する。

例1

　I-STT-YMDWA：4020721
　I-END-YMDWA：4020722
　↓
　O-DAYS     ：2
　O-RTN-CD   ：SPACE

注意事項

このサブルーチンから（年月日変換（和暦→西暦）：LXRPID06），（期間算出（西暦年月日間日数）：LXRPID13）を呼び出す。

エラーのときは，出力日数には0を返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.8　LXRPID14　（期間算出（和暦年月日間日数））」を参照のこと。

LXRPID15　期間算出（西暦年月日間年月日）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID15

日付処理

期間算出（西暦年月日間年月日）

LXRCID15

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STT-YMD

9(8)

開始年月日（YYYYMMDD）

I

03

I-END-YMD

9(8)

終了年月日（YYYYMMDD）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-KKN

9(8)

期間（YYYYMMDD）

O

03

O-RTN-CD

X(10)

リターンコード

Ｒ

−

−

−

SPACE：正常

−

−

−

−

LXRED020：比較エラー

−

−

−

−

−

−

処理基準

（実在日チェック（西暦）：LXRPID01）を呼び，開始年月日（I-STT-YMD）と終了年月日（I-END-YMD）をチェックする。

1.1 リターンコードがスペースの時

　　期間を算出する。

1.2 リターンコードがスペースでない時

　　（実在日チェック（西暦）：LXRPID01）のリターンコードを返す。

例1

　I-STT-YMD：19850101
　I-END-YMD：19901120
　↓
　O-KKN    ：00051020
　O-RTN-CD ：SPACE

注意事項

このサブルーチンから（実在日チェック（西暦）：LXRPID01）を呼び出す。

期間には開始年月日，終了年月日を含む。したがって開始＝終了の時は1日となる。

開始年月日＞終了年月日の時に，リターンコード'LXRED020'を返す。

エラーの時，期間には0を返す。

LXRPID16　期間算出（和暦年月日間年月日）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID16

日付処理

期間算出（和暦年月日間年月日）

LXRCID16

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STT-YMDWA

−

開始年月日（和暦）（NYYMMDD）

I

05

I-S-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-S-YY

9(2)

年

I

05

I-S-MM

9(2)

月

I

05

I-S-DD

9(2)

日

I

03

I-END-YMDWA

−

終了年月日（和暦）

I

05

I-E-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-E-YY

9(2)

年

I

05

I-E-MM

9(2)

月

I

05

I-E-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-KKN

9(8)

期間（年月日：YYYYMMDD）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

処理基準

（年月日変換（和暦→西暦）：LXRPID06）によって，開始年月日，終了年月日を西暦に変換する。このサブルーチンのリターンコードをリターンコードに転送する。

リターンコードがスペースのとき次の処理を行う。

2.1 西暦に変換した開始年月日，終了年月日を用いて（期間算出（西暦年月日間年月日）：LXRPID15）

　　を呼び，期間を得る。このサブルーチンのリターンコードをリターンコードに転送する。

例1

　I-STT-YMDWA：3601121
　I-END-YMDWA：4021120
　↓
　O-KKN      ：00050000
　O-RTN-CD   ：SPACE

注意事項

このサブルーチンから（年月日変換（和暦→西暦）：LXRPID06），（期間算出（西暦年月日間年月日）：LXRPID15）を呼び出す。

エラーの時，期間には0を返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.9　LXRPID16　（期間算出（和暦年月日間年月日））」を参照のこと。

LXRPID17　月末日算出（西暦年月日）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID17

日付処理

月末日算出（西暦年月日）

LXRCID17

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMD

−

年月日（西暦）

I

05

I-YY

9(4)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMD

9(8)

年月日（西暦）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

処理基準

（実在日チェック（西暦）：LXRPID01）を呼び，年月日（I-YMD）をチェックする。

1.1 リターンコードがスペースの時

　　年月日（I-YMD）に対応する月末日を求める。

1.2 リターンコードがスペースでない時

　　（実在日チェック（西暦）：LXRPID01）のリターンコードを出力する。

例1

　I-YMD   ：19920205
　↓
　O-YMD   ：19920229
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（実在日チェック（西暦）：LXRPID01）を呼び出す。

LXRPID18　月末日算出（和暦年月日）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID18

日付処理

月末日算出（和暦年月日）

LXRCID18

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

−

年月日（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMDWA

9(7)

年月日（月末）

O

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

処理基準

（年月日変換（和暦→西暦）：LXRPID06）を呼び，和暦年月日を西暦年月日に変換する。

1.1 リターンコードがスペースまたは'LXRED002'の時

　　西暦年月日に対応する月末日を算出する。

1.2 そのほかの時

　　（年月日変換（和暦→西暦）：LXRPID06）のリターンコードを出力する。

例1

　I-YMDWA ：4040205
　↓
　O-YMDWA ：4040229
　O-RTN-CD：SPACE

注意事項

年号は明治，大正，昭和，平成とし，これ以外の指定は，平成と見なす。

このサブルーチンから（年月日変換（和暦→西暦）：LXRPID06），（月末日算出（西暦年月日）：LXRPID17），（年月日変換（西暦→和暦）：LXRPID05）を呼び出す。

年号情報を設定変更した場合の動作の変更点については，「3.4.10　LXRPID18　（月末日算出（和暦年月日））」を参照のこと。

LXRPID19　通算週算出（年始〜西暦年月日）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID19

日付処理

通算週算出（年始〜西暦年月日）

LXRCID19

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMD

−

年月日（西暦）

I

05

I-YY

9(4)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-WKS

P(2)

通算週数

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

処理基準

西暦年月日のチェックを（実在日チェック（西暦）：LXRPID01）を用いて行い，エラーの場合はリターンコードを返す。

リターンコードがスペースの時，西暦年月日が入力された西暦年の通算第何週かを求める。

例1

　I-YMD   ：19900908
　↓
　O-WKS   ：36
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（実在日チェック（西暦）：LXRPID01），（期間算出（西暦年月日間日数）：LXRPID13），（年月日（西暦）→曜日算出： LXRPID33）を呼び出す。

月曜〜日曜を１週とする。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返す。

LXRPID20　通算週算出（年始〜和暦年月日）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID20

日付処理

通算週算出（年始〜和暦年月日）

LXRCID20

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

−

年月日（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-WKS

P(2)

通算週数

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

処理基準

和暦年月日が入力された和暦年の通算第何週かを求める。

例1

　I-YMDWA ：4020908
　↓
　O-WKS   ：36
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（年月日変換（和暦→西暦）：LXRPID06），（通算週算出（年始〜西暦年月日）：LXRPID19）を呼び出す。

エラーの場合，通算週数には0を返す。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.11　LXRPID20　（通算週算出（年始〜和暦年月日））」を参照のこと。

LXRPID21　年月日分類（西暦）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID21

日付処理

年月日分類（西暦）

LXRCID21

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMD

−

年月日（西暦）

I

05

I-YY

9(4)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-ORD-KBN

X(1)

平日・土日区分

O

−

−

−

（'0'：平日， '1'：土曜，'2'：日曜）

−

−

−

−

−

−

03

O-FEST-KBN

X(1)

祝祭日区分

O

−

−

−

（'0'：祝祭日ではない，

−

−

−

−

　'1'：祝祭日，'2'：休日）

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

処理基準

西暦年月日を平日，土曜，日曜，および祝祭日に分類する。

各祝祭日・休日は，2007年6月1日時点で公布されている「国民の祝日に関する法律」に基づくものとする。

2.1 本法の施行年月日である1948年（昭和23年）7月20日より前の日付が入力された場合はエラー

　　とし，2101年1月1日より後の日付は動作保証外とする。

2.2 本法に基づく各祝祭日・休日の有効期間は付録Cのとおりとする。有効期間外の場合は平日に分

　　類する。

例1

　I-YMD     ：19901224
　↓
　O-ORD-KBN ：'0'
　O-FEST-KBN：'2'
　O-RTN-CD  ：SPACE

注意事項

このサブルーチンから（年月日（西暦）→曜日算出：LXRPID33），（年月日算出（西暦年月日±日数）：LXRPID11）を呼び出す。

振替休日は，平日・土日区分が'0'（平日）で，祝祭日区分が'2'（休日）となる。

サブルーチンを呼んでエラーとなった時は，リターンコードをそのまま返し，O-ORD-KBN,O-FEST-KBNにはスペースを返す。

入力日付が1948年（昭和23年）7月20日より前の日付の場合はリターンコード'LXRED012'を返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.12　LXRPID21　（年月日分類（西暦））」を参照のこと。

LXRPID22　年月日分類（和暦）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID22

日付処理

年月日分類（和暦）

LXRCID22

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

−

年月日（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成） or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-ORD-KBN

X(1)

平日・土日区分

O

−

−

−

（'0'：平日， '1'：土曜，'2'：日曜）

−

03

O-FEST-KBN

X(1)

祝祭日区分

O

−

−

−

（'0'：祝祭日ではない，

−

−

−

−

　'1'：祝祭日，'2'：休日）

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

処理基準

和暦年月日を平日，土曜，日曜，および祝祭日に分類する。

（年月日分類（西暦）：LXRPID21）の処理基準2.と同じ。

例1

　I-YMDWA   ：4021224
　↓
　O-ORD-KBN ：'0'
　O-FEST-KBN：'2'
　O-RTN-CD  ：SPACE

注意事項

このサブルーチンから（年月日変換（和暦→西暦）：LXRPID06），（年月日分類（西暦）：LXRPID21）を呼び出す。

振替休日は，平日・土日区分が'0'（平日）で，祝祭日区分が'2'（休日）となる。

（年月日分類（西暦）：LXRPID21）の注意事項3.と同じ。

（年月日分類（西暦）：LXRPID21）の注意事項4.と同じ。

年号情報を設定変更した場合の動作の変更点については，「3.4.13　LXRPID22　（年月日分類（和暦））」を参照のこと。

LXRPID23　年月日出力編集（西暦）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID23

日付処理

年月日出力編集（西暦）

LXRCID23

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMD

−

入力年月日（西暦）

I

05

I-YY

9(4)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

03

I-FORMAT

X(100)

年月日形式（入力）

C

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMD

X(100)

年月日形式（出力）

O

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

処理基準

入力年月日のチェックを（実在日チェック（西暦）：LXRPID01）を用いて行い，エラーの場合はリターンコードを返す。

リターンコードがスペースの時，I-FORMATに対して次の順で置換処理を行う。

No.

置換規則

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

ＹＹＹＹ

ＺＺＺＹ

ＹＹ

ＺＹ

YYYY

ZZZY

YY

ZY

ＭＭ

ＺＭ

MM

ZM

ＤＤ

ＺＤ

DD

ZD

I-YYを全角変換

I-YYをZZZ9編集，全角変換

I-YY下2桁を全角変換

I-YY下2桁をZ9編集，全角変換

I-YY

I-YYをZZZ9編集

I-YY下2桁

I-YY下2桁をZ9編集

I-MMを全角変換

I-MMをZ9編集，全角変換

I-MM

I-MMをZ9編集

I-DDを全角変換

I-DDをZ9編集，全角変換

I-DD

I-DDをZ9編集

例1

　I-YMD   ：19920401
　I-FORMAT：'ＹＹ年ＭＭ月ＤＤ日'
　↓
　O-YMD   ：'９２年０４月０１日'

例2

　I-YMD   ：19920401
　I-FORMAT：'YYYY-MM-DD'
　↓
　O-YMD   ：'1992-04-01'

注意事項

このサブルーチンから（半角→全角変換：LXRPIC01），（実在日チェック（西暦）：LXRPID01）を呼び出す。

実在日チェックでエラーのときは，リターンコードをそのまま返し，I-FORMATをO-YMDに転送する。

LXRPID24　年月日出力編集（和暦）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID24

日付処理

年月日出力編集（和暦）

LXRCID24

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

−

年月日（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

03

I-FORMAT

X(100)

出力形式指定のフォーマット

C

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMDWA

X(100)

出力年月日（和暦）

O

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

処理基準

入力年月日のチェックを（実在日チェック（和暦）：LXRPID02）を用いて行い，エラーの場合はリターンコードを返す。

リターンコードがスペースのとき，I-FORMATに対して次の順で置換処理を行う。

No.

置換規則

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

ＮＮ

Ｎ

ＹＹ

ＺＹ

ＭＭ

ＺＭ

ＤＤ

ＺＤ

N

YY

ZY

MM

ZM

DD

ZD

I-NNGを全角変換

I-NNG上一桁を全角変換

I-YYを全角変換

I-YYをZ9編集，全角変換

I-MMを全角変換

I-MMをZ9編集，全角変換

I-DDを全角変換

I-DDをZ9編集，全角変換

I-NNG

I-YY

I-YYをZ9編集

I-MM

I-MMをZ9編集

I-DD

I-DDをZ9編集

例1

　I-YMDWA ：4040401
　I-FORMAT：'ＮＮＹＹ年ＭＭ月ＤＤ日'
　↓
　O-YMDWA ：'平成０４年０４月０１日'

例2

　I-YMDWA ：4040401
　I-FORMAT：'NYY.MM.DD'
　↓
　O-YMDWA ：'H04.04.01'

注意事項

このサブルーチンから（実在日チェック（和暦）：LXRPID02），（年号コードチェック/編集：LXRPID36），（半角→全角変換：LXRPIC01），（年号コード変換（数字→英字）：LXRPID38）を呼び出す。

実在日チェックでエラーのときは，リターンコードをそのまま返し，I-FORMATをO-YMDWAに転送する。

年号情報を設定変更した場合の動作の変更点については，「3.4.14　LXRPID24　（年月日出力編集（和暦））」を参照のこと。

LXRPID25　うるう年判定（西暦）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID25

日付処理

うるう年判定（西暦）

LXRCID25

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YY

9(4)

年

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-LEAP-KBN

X(1)

うるう年区分

O

−

−

−

　うるう年……1

−

−

−

−

　平年　　……0

−

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

処理基準

（年（西暦）チェック：LXRPID70）を呼び，入力年（I-YY）をチェックする。

1.1 リターンコードがスペースの時

　　その年がうるう年か平年かをチェックする。

1.2 リターンコードがスペースでない時

　　（年（西暦）チェック：LXRPID70）のリターンコードを出力する。

例1

　I-YY      ：1992
　↓
　O-LEAP-KBN：'1'
　O-RTN-CD  ：SPACE

注意事項

このサブルーチンから（年（西暦）チェック：LXRPID70）を呼び出す。

年のチェックがエラーのときは，O-LEAP-KBNにはスペースを返す。

LXRPID26　うるう年判定（和暦）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID26

日付処理

うるう年判定（和暦）

LXRCID26

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YYWA

−

年（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-LEAP-KBN

X(1)

うるう年判定フラグ

O

−

−

−

　うるう年……1

−

−

−

−

　平年　　……0

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

処理基準

その年がうるう年か平年かをチェックし，

うるう年であれば

　1→O-LEAP-KBN

平年であれば

　0→O-LEAP-KBN

をセットする。

例1

　I-YYWA    ：343
　↓
　O-LEAP-KBN：'1'
　O-RTN-CD  ：SPACE

注意事項

このサブルーチンから（年変換 （和暦→西暦）：LXRPID78）， （うるう年判定（西暦）：LXRPID25）を呼び出す。

サブルーチンでエラーになったときは，リターンコードをそのまま返し，O-LEAP-KBNにスペースを返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.15　LXRPID26　（うるう年判定（和暦））」を参照のこと。

LXRPID27　年月日（西暦）→一貫日変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID27

日付処理

年月日（西暦）→一貫日変換

LXRCID27

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMD

−

年月日（西暦）

I

05

I-YY

9(4)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-DAYS

P(8)

日数

O

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

処理基準

（実在日チェック（西暦）：LXRPID01）で年月日（I-YMD）をチェックする。

1.1 リターンコードがスペースの時

　　基準日（西暦1年1月1日）から入力年月日（西暦）までの一貫日を求める。

1.2 リターンコードがスペースでない時

　　（実在日チェック（西暦）：LXRPID01）のリターンコードを出力する。

例1

　I-YMD   ：19910415
　↓
　O-DAYS  ：726937
　O-RTN-CD：SPACE

例2

　I-YMD   ：99991231
　↓
　O-DAYS  ：3652059
　O-RTN-CD：SPACE

例3

　I-YMD   ：00010101
　↓
　O-DAYS  ：1
　O-RTN-CD：SPACE

注意事項

入力年月日が実在日でない場合，日数には0を返す。

このサブルーチンから（実在日チェック（西暦）：LXRPID01）を呼び出す。

LXRPID28　年月日（和暦）→一貫日変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID28

日付処理

年月日（和暦）→一貫日変換

LXRCID28

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

−

年月日（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-DAYS

P(8)

日数

O

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

処理基準

（年月日変換 （和暦→西暦）：LXRPID06）で和暦年月日（I-YMDWA）を西暦年月日に変換する。

1.1 リターンコードがスペースまたは'LXRED002'の時

　　基準日（西暦1年1月1日）から入力年月日（和暦）までの一貫日を求める。

1.2 そのほかの時

　　（年月日変換（和暦→西暦）：LXRPID06）のリターンコードを出力する。

例1

　I-YMDWA ：4030415
　↓
　O-DAYS  ：726937
　O-RTN-CD：SPACE

例2

　I-YMDWA ：5030415
　↓
　O-DAYS  ：726937
　O-RTN-CD：'LXRED002'

例3

　I-YMDWA ：1010101
　↓
　O-DAYS  ：0
　O-RTN-CD：'LXRED006'

注意事項

このサブルーチンから（年月日変換 （和暦→西暦）：LXRPID06），（年月日（西暦）→一貫日変換：LXRPID27）を呼び出す。

サブルーチンでエラーとなった場合はリターンコードをそのまま返し，日数には0を返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.16　LXRPID28　（年月日（和暦）→一貫日変換）」を参照のこと。

LXRPID29　一貫日→年月日（西暦）変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID29

日付処理

一貫日→年月日（西暦）変換

LXRCID29

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-DAYS

P(8)

日数

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMD

9(8)

年月日（YYYYMMDD）

O

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXRED021：一貫日が数字以外

−

−

−

−

LXRED022：一貫日がゼロ

−

−

−

−

LXRED023：一貫日範囲外

−

−

−

−

−

−

処理基準

一貫日（I-DAYS）のNUMERICチェックを行い，一貫日（I-DAYS）の範囲（0＜一貫日＜3652060）をチェックする。

1.1 エラーでない時

　　一貫日→年月日（西暦）変換を行う。

1.2 エラーの時

　　エラーに対応するリターンコードを出力する。

例1

　I-DAYS  ：726937
　↓
　O-YMD   ：19910415
　O-RTN-CD：SPACE

例2

　I-DAYS  ：1
　↓
　O-YMD   ：00010101
　O-RTN-CD：SPACE

例3

　I-DAYS  ：0
　↓
　O-YMD   ：00000000
　O-RTN-CD：'LXRED022'

注意事項

エラーの時は，O-YMDに0を返す。

LXRPID30　一貫日→年月日（和暦）変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID30

日付処理

一貫日→年月日（和暦）変換

LXRCID30

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-DAYS

P(8)

日数

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMDWA

9(7)

年月日（和暦）（NYYMMDD）

O

−

−

−

年号

−

−

−

−

（1：明治，2：大正，3：昭和，4：平成）

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

処理基準

（一貫日→年月日（西暦）変換：LXRPID29）を呼び，リターンコードをO-RTN-CDに転送する。

O-RTN-CDがスペースのとき，（年月日変換（西暦→和暦）：LXRPID05）を呼び，結果をO-YMDWA，O-RTN-CDに転送する。

例1

　I-DAYS  ：726937
　↓
　O-YMDWA ：4030415
　O-RTN-CD：SPACE

例2

　I-DAYS  ：682158
　↓
　O-YMDWA ：0000000
　O-RTN-CD：'LXRED011'

例3

　I-DAYS  ：762262
　↓
　O-YMDWA ：0000000
　O-RTN-CD：'LXRED011'

注意事項

このサブルーチンから（年月日変換（西暦→和暦）：LXRPID05），（一貫日→年月日（西暦）変換：LXRPID29）を呼び出す。

日数の範囲は682159（：明治元年9月8日）≦日数≦762261（：平成99年12月31日）とする。範囲外の日数が入力された場合，和暦年月日に0を，リターンコードに'LXRED011'を返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.17　LXRPID30　（一貫日→年月日（和暦）変換）」を参照のこと。

LXRPID31　日数算出（西暦年月日〜月末日）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID31

日付処理

日数算出（西暦年月日〜月末日）

LXRCID31

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMD

−

年月日（西暦）

I

05

I-YY

9(4)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-DAYS

P(8)

日数

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

西暦年月日から月末日までの日数を求める。

例1

　I-YMD   ：19890528
　↓
　O-DAYS  ：3
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（実在日チェック（西暦）：LXRPID01），（月末日算出（西暦年月日）：LXRPID17）を呼び出す。

サブルーチンでエラーとなった場合はリターンコードをそのまま返し，日数には０を返す。

当日は日数に含まない。したがって，月末日を入力すると日数は0となる。

LXRPID32　日数算出（和暦年月日〜月末日）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID32

日付処理

日数算出（和暦年月日〜月末日）

LXRCID32

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

−

年月日（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-DAYS

P(8)

日数

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

和暦年月日から月末日までの日数を求める。

例1

　I-YMDWA ：4020205
　↓
　O-DAYS  ：23
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（実在日チェック（和暦）：LXRPID02），（月末日算出（和暦年月日）：LXRPID18）を呼び出す。

サブルーチンでエラーとなった場合はリターンコードをそのまま返し，日数には0を返す。

当日は日数に含まない。したがって，月末日を入力すると日数は0となる。

年号情報を設定変更した場合の動作の変更点については，「3.4.18　LXRPID32　（日数算出（和暦年月日〜月末日））」を参照のこと。

LXRPID33　年月日（西暦）→曜日算出

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID33

日付処理

年月日（西暦）→曜日算出

LXRCID33

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMD

−

年月日（西暦）

I

05

I-YY

9(4)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YB-CD

X(1)

曜日コード

O

−

−

−

（1：月曜日，2：火曜日，3：水曜日，

−

−

−

−

　4：木曜日，5：金曜日，6：土曜日，

−

−

−

−

　7：日曜日）

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

処理基準

入力年月日（西暦）の曜日を求める。

例1

　I-YMD   ：19910306
　↓
　O-YB-CD ：'3'
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（年月日（西暦）→一貫日変換：LXRPID27）を呼び出す。

サブルーチンでエラーとなった場合はリターンコードをそのまま返し，曜日にはスペースを返す。

LXRPID34　年月日（和暦）→曜日算出

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID34

日付処理

年月日（和暦）→曜日算出

LXRCID34

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

−

年月日（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成） or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YB-CD

X(1)

曜日コード

O

−

−

−

（1：月曜日，2：火曜日，3：水曜日，

−

−

−

−

　4：木曜日，5：金曜日，6：土曜日，

−

−

−

−

　7：日曜日）

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

処理基準

入力年月日（和暦）の曜日を求める。

例1

　I-YMDWA ：4030415
　↓
　O-YB-CD ：'1'
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（年月日（和暦）→一貫日変換：LXRPID28）を呼び出す。

サブルーチンでエラーとなった場合はリターンコードをそのまま返し，曜日にはスペースを返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.19　LXRPID34　（年月日（和暦）→曜日算出）」を参照のこと。

LXRPID35　曜日コードチェック／編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID35

日付処理

曜日コードチェック／編集

LXRCID35

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YB-CD

X(1)

曜日コード

I

−

−

−

（1：月曜日，2：火曜日，3：水曜日，

−

−

−

−

　4：木曜日，5：金曜日，6：土曜日，

−

−

−

−

　7：日曜日）

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YB-KJ

N(3)

曜日（漢字）

O

03

O-YB-KN

X(3)

曜日（半角カナ）

O

03

O-YB-AL

X(3)

曜日（英字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXRED013：曜日コード範囲外

−

−

−

−

−

−

処理基準

曜日コードをチェックし，曜日名に変換する。

例1

　I-YB-CD ：'1'
　↓
　O-YB-KJ ：'月曜日'
　O-YB-KN ：'ｹﾞﾂ'
　O-YB-AL ：'MON'
　O-RTN-CD：SPACE

注意事項

曜日コードが'1'〜'7'以外のときは，リターンコードに'LXRED013'を出力し，曜日（漢字），曜日（半角カナ），曜日（英字）にスペースを出力する。

曜日（半角カナ）の属性は，EUC対応版ではX(6)，Unicode対応版ではX(9)である。

LXRPID36　年号コードチェック／編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID36

日付処理

年号コードチェック／編集

LXRCID36

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-NNG-KJ

N(2)

年号（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXRED014：年号コード範囲外

−

−

−

−

−

−

処理基準

年号コードをチェックし，年号名に変換する。

例1

　I-NNG   ：'4'
　↓
　O-NNG-KJ：'平成'
　O-RTN-CD：SPACE

注意事項

年号コードは'1'，'2'，'3'，'4'，'M'，'T'，'S'，'H'とする。

誤った年号コードが入力された場合，O-NNG-KJにはスペースを返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.20　LXRPID36　（年号コードチェック／編集）」を参照のこと。

LXRPID37　年号コード変換（英字→数字）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID37

日付処理

年号コード変換（英字→数字）

LXRCID37

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

−

年月日（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMDWA

9(7)

年月日（和暦）（NYYMMDD）

O

−

−

−

N：年号

−

−

−

−

（1：明治，2：大正，3：昭和，4：平成）

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXRED014：年号コード範囲外

−

−

−

−

−

−

処理基準

年号コード'M'，'T'，'S'，'H'を入力し，'1'，'2'，'3'，'4'に変換して出力する。

入力年号

出力年号

リターンコード

'M'

'T'

'S'

'H'

'1'

'2'

'3'

'4'

その他

1

2

3

4

1

2

3

4

4

SPACE

SPACE

SPACE

SPACE

SPACE

SPACE

SPACE

SPACE

'LXRED014'

例1

　I-YMDWA ：M150320
　↓
　O-YMDWA ：1150320
　O-RTN-CD：SPACE

例2

　I-YMDWA ：A150320
　↓
　O-YMDWA ：4150320
　O-RTN-CD：'LXRED014'

注意事項

年号コードが'1'，'2'，'3'，'4'の場合はそのまま出力する。

年月日の妥当性は，チェックしない。

誤った年号コードが入力された場合，出力側の年号に'4'，年月日はそのまま出力し，リターンコードに'LXRED014'を出力する。

年号情報を設定変更した場合の動作の変更点については，「3.4.21　LXRPID37　（年号コード変換（英字→数字））」を参照のこと。

LXRPID38　年号コード変換（数字→英字）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID38

日付処理

年号コード変換（数字→英字）

LXRCID38

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

−

年月日（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMDWA

−

年月日（和暦）

O

05

O-NNG

X(1)

年号

O

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

O-YY

9(2)

年

O

05

O-MM

9(2)

月

O

05

O-DD

9(2)

日

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXRED014：年号コード範囲外

−

処理基準

入力年号コード'1'，'2'，'3'，'4'に対し，'M'，'T'，'S'，'H'を出力する。

入力年号

出力年号

リターンコード

'1'

'2'

'3'

'4'

'M'

'T'

'S'

'H'

その他

'M'

'T'

'S'

'H'

'M'

'T'

'S'

'H'

'H'

SPACE

SPACE

SPACE

SPACE

SPACE

SPACE

SPACE

SPACE

'LXRED014'

例1

　I-YMDWA ：1150320
　↓
　O-YMDWA ：M150320
　O-RTN-CD：SPACE

例2

　I-YMDWA ：0150320
　↓
　O-YMDWA ：H150320
　O-RTN-CD：'LXRED014'

注意事項

年号コードが'M'，'T'，'S'，'H'の場合はそのまま出力する。

年月日の妥当性は，チェックしない。

誤った年号コードが入力された場合，O-NNGには'H'，年月日はそのまま出力し，リターンコードに'LXRED014'を出力する。

年号情報を設定変更した場合の動作の変更点については，「3.4.22　LXRPID38　（年号コード変換（数字→英字））」を参照のこと。

LXRPID39　年齢計算（慣習）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID39

日付処理

年齢計算（慣習）

LXRCID39

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-BRTH-YMD

9(8)

生年月日（YYYYMMDD）

I

03

I-KJN-YMD

9(8)

現在年月日（YYYYMMDD）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-NNR

9(4)

年齢

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXRED020：現在年月日が生年月日より前の場合

−

−

−

−

LXRED017：年月日が数値でない

−

処理基準

入力された生年月日および現在年月日から年齢を求める。

例1

　I-BRTH-YMD：19671224
　I-KJN-YMD ：19901223
　↓
　O-NNR     ：22
　O-RTN-CD  ：SPACE

例2

　I-BRTH-YMD：19671224
　I-KJN-YMD ：19661223
　↓
　O-NNR     ：0
　O-RTN-CD  ：'LXRED020'

注意事項

年齢計算は慣習による（誕生日当日に１歳増える）。

うるう年の2月29日が生年月日の場合，平年では2月28日に年齢が1歳増える。

このサブルーチンから（年月日算出（西暦年月日±日数）：LXRPID11），（期間算出（西暦年月日間年月日）：LXRPID15），（うるう年判定（西暦）：LXRPID25）を呼び出す。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返し，年齢に0を返す。

LXRPID40　年齢計算（法律）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID40

日付処理

年齢計算（法律）

LXRCID40

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-BRTH-YMD

9(8)

生年月日（YYYYMMDD）

I

03

I-KJN-YMD

9(8)

現在年月日（YYYYMMDD）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-NNR

9(4)

年齢

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXRED020：現在年月日が生年月日より前の場合

−

−

−

−

LXRED017：年月日が数値でない

−

処理基準

入力された生年月日および現在年月日から年齢を求める。

例1

　I-BRTH-YMD：19671224
　I-KJN-YMD ：19901223
　↓
　O-NNR     ：23
　O-RTN-CD  ：SPACE

例2

　I-BRTH-YMD：19671224
　I-KJN-YMD ：19661223
　↓
　O-NNR     ：0
　O-RTN-CD  ：'LXRED020'

注意事項

年齢計算は法律による（誕生日前日に1歳増える）。

このサブルーチンから（期間算出（西暦年月日間年月日）：LXRPID15）を呼び出す。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返し，年齢に0を返す。

LXRPID41　年月日（西暦）過去チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID41

日付処理

年月日（西暦）過去チェック

LXRCID41

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMD

−

年月日（西暦）

I

05

I-YY

9(4)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

実在日チェックを（実在日チェック（西暦）：LXRPID01）によって，次の順で行う（項番1〜6）。

入力年月日がシステム日付よりも過去ではない場合はリターンコードにLXRED003'を返す（項番7）。

No.

チェック

リターンコード

1

2

3

4

5

6

7

年月日が数字だけである

年月日≠ALL ZERO

年≠ZERO

月＝1〜12

実在する月日である

月日＝2月29日ならば年＝うるう年

年月日＜＝システム日付

LXRED017

LXRED016

LXRED001

LXRED007

LXRED009

LXRED008

LXRED003

例1

　I-YMD       ：19920331
　システム日付：920401
　↓
　O-RTN-CD    ：SPACE

例2

　I-YMD       ：19920401
　システム日付：920401
　↓
　O-RTN-CD    ：SPACE

例3

　I-YMD       ：19920402
　システム日付：920401
　↓
　O-RTN-CD    ：'LXRED003'

例4

　I-YMD       ：1992QQQQ
　システム日付：920401
　↓
　O-RTN-CD    ：'LXRED017'

注意事項

入力年月日がシステム日付と等しい場合はリターンコードにはスペースを返す。

このサブルーチンから（実在日チェック（西暦）：LXRPID01），（システム日付取得変換（8桁）：LXRPID88）を呼び出す。

LXRPID42　年月日（和暦）過去チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID42

日付処理

年月日（和暦）過去チェック

LXRCID42

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

−

年月日（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

実在日チェックを（実在日チェック（和暦）：LXRPID02）によって，次の順で行う（項番1〜11）。

入力年月日（和暦）がシステム日付よりも過去ではない場合はリターンコードに'LXRED003'を返す（項番12）。

No.

チェック

リターンコード

1

2

3

4

5

6

7

8

9

10

11

12

年月日が数字だけである

年月日≠ALL ZERO

年号＝1，2，3，4，M，T，S，H

年≠ZERO

月＝1〜12

実在する月日である

月日＝2月29日ならば年＝うるう年

明治：元年9月8日〜45年7月30日

大正：元年7月30日〜15年12月25日

昭和：元年12月25日〜64年1月7日

平成：元年1月8日〜

年月日＜＝システム日付

LXRED017

LXRED016

LXRED002

LXRED001

LXRED007

LXRED009

LXRED008

LXRED006

LXRED005

LXRED004

LXRED010

LXRED003

例1

　I-YMDWA     ：H040331
　システム日付：920401
　↓
　O-RTN-CD    ：SPACE

例2

　I-YMDWA     ：H040401
　システム日付：920401
　↓
　O-RTN-CD    ：SPACE

例3

　I-YMDWA     ：H040402
　システム日付：920401
　↓
　O-RTN-CD    ：'LXRED003'

例4

　I-YMDWA     ：H04QQQQ
　システム日付：920401
　↓
　O-RTN-CD    ：'LXRED017'

注意事項

入力年月日がシステム日付と等しい場合はリターンコードにはスペースを返す。

システム日付との比較は，入力年月日を（年月日変換（和暦→西暦）：LXRPID06）を用いて変換し，行う。

このサブルーチンから（年月日変換（和暦→西暦）：LXRPID06），（システム日付取得変換（8桁）：LXRPID88）を呼び出す。

年号情報を設定変更した場合の動作の変更点については，「3.4.23　LXRPID42　（年月日（和暦）過去チェック）」を参照のこと。

LXRPID43　年月日（西暦）未来チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID43

日付処理

年月日（西暦）未来チェック

LXRCID43

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMD

−

年月日（西暦）

I

05

I-YY

9(4)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

実在日チェックを（実在日チェック（西暦）：LXRPID01）によって，次の順で行う（項番1〜6）。

入力年月日がシステム日付よりも未来ではない場合はリターンコードに'LXRED015'を返す（項番7）。

No.

チェック

リターンコード

1

2

3

4

5

6

7

年月日が数字だけである

年月日≠ALL ZERO

年≠ZERO

月＝1〜12

実在する月日である

月日＝2月29日ならば年＝うるう年

年月日＞＝システム日付

LXRED017

LXRED016

LXRED001

LXRED007

LXRED009

LXRED008

LXRED015

例1

　I-YMD       ：19920331
　システム日付：920401
　↓
　O-RTN-CD    ：'LXRED015'

例2

　I-YMD       ：19920401
　システム日付：920401
　↓
　O-RTN-CD    ：SPACE

例3

　I-YMD       ：19920401
　システム日付：920402
　↓
　O-RTN-CD    ：'LXRED015'

例4

　I-YMD       ：1992QQQQ
　システム日付：920402
　↓
　O-RTN-CD    ：'LXRED017'

注意事項

入力年月日がシステム日付と等しい場合はリターンコードにはスペースを返す。

このサブルーチンから（実在日チェック（西暦）：LXRPID01），（システム日付取得変換（8桁）：LXRPID88）を呼び出す。

LXRPID44　年月日（和暦）未来チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID44

日付処理

年月日（和暦）未来チェック

LXRCID44

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

−

年月日（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

実在日チェックを（実在日チェック（和暦）：LXRPID02）によって，次の順で行う（項番1〜11）。

入力年月日（和暦）がシステム日付よりも未来ではない場合はリターンコードに'LXRED015'を返す（項番12）。

No.

チェック

リターンコード

1

2

3

4

5

6

7

8

9

10

11

12

年月日が数字だけである

年月日≠ALL ZERO

年号＝1，2，3，4，M，T，S，H

年≠ZERO

月＝1〜12

実在する月日である

月日＝2月29日ならば年＝うるう年

明治：元年9月8日〜45年7月30日

大正：元年7月30日〜15年12月25日

昭和：元年12月25日〜64年1月7日

平成：元年1月8日〜

年月日>＝システム日付

LXRED017

LXRED016

LXRED002

LXRED001

LXRED007

LXRED009

LXRED008

LXRED006

LXRED005

LXRED004

LXRED010

LXRED015

例1

　I-YMDWA     ：H040331
　システム日付：920401
　↓
　O-RTN-CD    ：'LXRED015'

例2

　I-YMDWA     ：H040401
　システム日付：920401
　↓
　O-RTN-CD    ：SPACE

例3

　I-YMDWA     ：H040401
　システム日付：920402
　↓
　O-RTN-CD    ：'LXRED015'

例4

　I-YMDWA     ：H04QQQQ
　システム日付：920402
　↓
　O-RTN-CD    ：'LXRED017'

注意事項

入力年月日がシステム日付と等しい場合はリターンコードにはスペースを返す。

システム日付との比較は，入力年月日を（年月日変換（和暦→西暦）：LXRPID06）を用いて変換し，行う。

このサブルーチンから（年月日変換（和暦→西暦）：LXRPID06），（システム日付取得変換（8桁）：LXRPID88）を呼び出す。

年号情報を設定変更した場合の動作の変更点については，「3.4.24　LXRPID44　（年月日（和暦）未来チェック）」を参照のこと。

LXRPID45　年月日（西暦）編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID45

日付処理

年月日（西暦）編集

LXRCID45

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMD

−

年月日（西暦）

I

05

I-YY

9(4)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

03

I-FORMAT

X(100)

フォーマット

C

03

I-TYP

X(1)

タイプ

OT

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMD

X(100)

年月日（西暦）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

処理基準

（年月日出力編集（西暦）：LXRPID23）を呼ぶ。

No.

置換処理

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

ＹＹＹＹ

ＺＺＺＹ

ＹＹ

ＺＹ

YYYY

ZZZY

YY

ZY

ＭＭ

ＺＭ

MM

ZM

ＤＤ

ＺＤ

DD

ZD

I-YYを全角変換

I-YYをZZZ9編集，全角変換

I-YY下2桁を全角変換

I-YY下2桁をZ9編集，全角変換

I-YY

I-YYをZZZ9編集

I-YY下2桁

I-YY下2桁をZ9編集

I-MMを全角変換

I-MMをZ9編集，全角変換

I-MM

I-MMをZ9編集

I-DDを全角変換

I-DDをZ9編集，全角変換

I-DD

I-DDをZ9編集

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-YMD   ：19920401
　I-FORMAT：'「ＹＹ年ＭＭ月ＤＤ日」'
　I-TYP   ：'N'
　↓
　O-YMD   ：'９２年０４月０１日'
　O-RTN-CD：SPACE

例2

　I-YMD   ：19920401
　I-FORMAT：'YYYY-MM-DD'
　I-TYP   ：'N'
　↓
　O-YMD   ：'」1992-04-01'
　O-RTN-CD：SPACE

　（注）例はVOS3版の場合で，
　　　　'「'：X'0A42'，
　　　　'」'：X'0A41'とする

注意事項

このサブルーチンから（年月日出力編集（西暦）：LXRPID23）を呼び出す。

リターンコードには，（年月日出力編集（西暦）：LXRPID23）のリターンコードを出力する。

2.3で，「文字列の最後の文字」とはその文字より後方にスペースしか存在していない文字を指す。

LXRPID46　年月日（和暦）編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID46

日付処理

年月日（和暦）編集

LXRCID46

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

−

年月日（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

03

I-FORMAT

X(100)

フォーマット

C

03

I-TYP

X(1)

タイプ

OT

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMDWA

X(100)

年月日（和暦）

O

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

処理基準

（年月日出力編集（和暦）：LXRPID24）を呼ぶ。

No.

置換処理

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

ＮＮ

Ｎ

ＹＹ

ＺＹ

ＭＭ

ＺＭ

ＤＤ

ＺＤ

N

YY

ZY

MM

ZM

DD

ZD

I-NNGを全角変換

I-NNG上一桁を全角変換

I-YYを全角変換

I-YYをZ9編集，全角変換

I-MMを全角変換

I-MMをZ9編集，全角変換

I-DDを全角変換

I-DDをZ9編集，全角変換

I-NNG

I-YY

I-YYをZ9編集

I-MM

I-MMをZ9編集

I-DD

I-DDをZ9編集

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-YMDWA ：4040401
　I-FORMAT：'「ＮＮＹＹ年ＭＭ月ＤＤ日」'
　I-TYP   ：'N'
　↓
　O-YMDWA ：'平成０４年０４月０１日'
　O-RTN-CD：SPACE

例2

　I-YMDWA ：4040401
　I-FORMAT：'NYY.MM.DD'
　I-TYP   ：'N'
　↓
　O-YMDWA ：'」H04.04.01'
　O-RTN-CD：SPACE

　（注）例はVOS3版の場合で，
　　　　'「'：X'0A42'，
　　　　'」'：X'0A41'とする

注意事項

このサブルーチンから（年月日出力編集（和暦）：LXRPID24）を呼び出す。

リターンコードには，（年月日出力編集（和暦）：LXRPID24）のリターンコードを出力する。

2.3で，「文字列の最後の文字」とはその文字より後方にスペースしか存在していない文字を指す。

年号情報を設定変更した場合の動作の変更点については，「3.4.25　LXRPID46　（年月日（和暦）編集）」を参照のこと。

LXRPID47　年月日変換（西暦→和暦）編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID47

日付処理

年月日変換（西暦→和暦）編集

LXRCID47

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMD

−

年月日（西暦）

I

05

I-YY

9(4)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

03

I-FORMAT

X(100)

フォーマット

C

03

I-TYP

X(1)

タイプ

OT

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMDWA

X(100)

年月日（和暦）

O

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

処理基準

（年月日変換（西暦→和暦）：LXRPID05）を用いて，入力年月日を和暦に変換する。

変換された年月日（和暦）を，年月日（和暦）編集によって編集する。

No.

置換処理

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

ＮＮ

Ｎ

ＹＹ

ＺＹ

ＭＭ

ＺＭ

ＤＤ

ＺＤ

N

YY

ZY

MM

ZM

DD

ZD

年号を全角変換

年号上一桁を全角変換

年を全角変換

年をZ9編集，全角変換

月を全角変換

月をZ9編集，全角変換

日を全角変換

日をZ9編集，全角変換

年号コード

年

年をZ9編集

月

月をZ9編集

日

日をZ9編集

例1

　I-YMD   ：19920401
　I-FORMAT：'「ＮＮＹＹ年ＭＭ月ＤＤ日」'
　I-TYP   ：'N'
　↓
　O-YMDWA ：'平成０４年０４月０１日'
　O-RTN-CD：SPACE

例2

　I-YMD   ：19920401
　I-FORMAT：'NYY-MM-DD'
　I-TYP   ：'N'
　↓
　O-YMDWA ：'」H04-04-01'
　O-RTN-CD：SPACE

　（注）例はVOS3版の場合で，
　　　　'「'：X'0A42'，
　　　　'」'：X'0A41'とする

注意事項

このサブルーチンから（年月日変換（西暦→和暦）：LXRPID05）と（年月日（和暦）編集：LXRPID46）を呼び出す。

リターンコードには，（年月日変換（西暦→和暦）：LXRPID05）のリターンコードを出力する。

機能キャラクタ編集については，（年月日（和暦）編集：LXRPID46）に準ずる。

年号情報を設定変更した場合の動作の変更点については，「3.4.26　LXRPID47　（年月日変換（西暦→和暦）編集）」を参照のこと。

LXRPID48　年月（西暦）チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID48

日付処理

年月（西暦）チェック

LXRCID48

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YM

−

年月（西暦）

I

05

I-YY

9(4)

年

I

05

I-MM

9(2)

月

I

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

入力年月が数字だけでない場合はリターンコードに'LXRED017'を返す（項番1）。

リターンコードがスペースの時，入力年月のチェックを（実在日チェック（西暦）：LXRPID01）を用いて行い，エラーの場合はリターンコードを返す（項番2〜3）。

No.

チェック

リターンコード

1

2

3

年月日が数字だけである

年≠ZERO

月＝1〜12

LXRED017

LXRED001

LXRED007

例1

　I-YM    ：000013
　↓
　O-RTN-CD：'LXRED001'

例2

　I-YM    ：199213
　↓
　O-RTN-CD：'LXRED007'

例3

　I-YM    ：000000
　↓
　O-RTN-CD：'LXRED001'

例4

　I-YM    ：QQQQ13
　↓
　O-RTN-CD：'LXRED017'

注意事項

このサブルーチンから（実在日チェック（西暦）：LXRPID01）を呼び出す。

LXRPID49　年月（和暦）チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID49

日付処理

年月（和暦）チェック

LXRCID49

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMWA

−

年月（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

次の順でチェックを行い，エラーの場合はリターンコードを返す。

No.

チェック

リターンコード

1

2

3

4

5

6

7

年月日が数字だけである

年号＝1，2，3，4，M，T，S，H

年≠ZERO

月＝1〜12

明治：元年9月〜45年7月

大正：元年7月〜15年12月

昭和：元年12月〜64年1月

LXRED017

LXRED002

LXRED001

LXRED007

LXRED006

LXRED005

LXRED004

例1

　I-YMWA  ：14508
　↓
　O-RTN-CD：'LXRED006'

例2

　I-YMWA  ：S6402
　↓
　O-RTN-CD：'LXRED004'

注意事項

このサブルーチンから（年号コード変換（英字→数字）：LXRPID37）を呼び出す。

年号がエラーのときは，リターンコードに'LXRED002'を設定するが処理を終わらせず，年号＝平成を仮定してチェックを続行する。年号以外のエラーがある場合は，そのリターンコードを返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.27　LXRPID49　（年月（和暦）チェック）」を参照のこと。

LXRPID50　年月（西暦）過去チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID50

日付処理

年月（西暦）過去チェック

LXRCID50

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YM

−

年月（西暦）

I

05

I-YY

9(4)

年

I

05

I-MM

9(2)

月

I

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

入力年月のチェックを（年月（西暦）チェック：LXRPID48）を用いて次の順で行う（項番1〜3）。

入力年月がシステム日付よりも過去ではない場合はリターンコードに'LXRED003'を返す（項番4）。

No.

チェック

リターンコード

1

2

3

4

年月が数字だけである

年≠ZERO

月＝1〜12

入力年月＜＝システム日付

LXRED017

LXRED001

LXRED007

LXRED003

例1

　I-YM    ：199204
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：SPACE

例2

　I-YM    ：199203
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：SPACE

例3

　I-YM    ：199205
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：'LXRED003'

注意事項

システム日付の年月と入力年月が等しい場合はリターンコードにはスペースを返す。

このサブルーチンから（年月（西暦）チェック：LXRPID48），（システム日付取得変換（8桁）：LXRPID88）を呼び出す。

LXRPID51　年月（和暦）過去チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID51

日付処理

年月（和暦）過去チェック

LXRCID51

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMWA

−

年月（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

（年月変換（和暦→西暦）：LXRPID58）を用いて，西暦年月に変換する。

1.1 リターンコードがスペースの時

　　システム日付と比較する。

1.2 リターンコードがスペースでない時

　　（年月変換（和暦→西暦）：LXRPID58）のリターンコードを出力する（項番1〜7）。

No.

チェック

リターンコード

1

2

3

4

5

6

7

8

年月日が数字だけである

年号＝1，2，3，4，M，T，S，H

年≠ZERO

月＝1〜12

明治：元年9月〜45年7月

大正：元年7月〜15年12月

昭和：元年12月〜64年1月

年月＜＝システム日付

LXRED017

LXRED002

LXRED001

LXRED007

LXRED006

LXRED005

LXRED004

LXRED003

例1

　I-YMWA  ：H0404
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：SPACE

例2

　I-YMWA  ：H0403
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：SPACE

例3

　I-YMWA  ：H0405
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：'LXRED003'

注意事項

システム日付の年月と変換後の年月（西暦）が等しい場合はリターンコードにスペースを返す。

システム日付よりも過去でない場合はリターンコードに'LXRED003'を返す（項番8）。

このサブルーチンから（年月変換（和暦→西暦）：LXRPID58），（システム日付取得変換（8桁）：LXRPID88）を呼び出す。

年号情報を設定変更した場合の動作の変更点については，「3.4.28　LXRPID51　（年月（和暦）過去チェック）」を参照のこと。

LXRPID52　年月（西暦）未来チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID52

日付処理

年月（西暦）未来チェック

LXRCID52

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YM

−

年月（西暦）

I

05

I-YY

9(4)

年

I

05

I-MM

9(2)

月

I

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

入力年月のチェックを（年月（西暦）チェック：LXRPID48）を用いて次の順で行う（項番1〜3）。

入力年月がシステム日付よりも未来ではない場合はリターンコードに'LXRED015'を返す（項番4）。

No.

チェック

リターンコード

1

2

3

4

年月が数字だけである

年≠ZERO

月＝1〜12

入力年月＞＝システム日付

LXRED017

LXRED001

LXRED007

LXRED015

例1

　I-YM    ：199204
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：SPACE

例2

　I-YM    ：199203
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：'LXRED015'

例3

　I-YM    ：199205
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：SPACE

注意事項

システム日付の年月と入力年月が等しい場合はリターンコードにはスペースを返す。

このサブルーチンから（年月（西暦）チェック：LXRPID48），（システム日付取得変換（8桁）：LXRPID88）を呼び出す。

LXRPID53　年月（和暦）未来チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID53

日付処理

年月（和暦）未来チェック

LXRCID53

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMWA

−

年月（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

（年月変換（和暦→西暦）：LXRPID58）を用いて，西暦年月に変換する。

1.1 リターンコードがスペースの時

　　システム日付と比較する。

1.2 リターンコードがスペースでない時

　　（年月変換（和暦→西暦）：LXRPID58）のリターンコードを出力する（項番1〜7）。

No.

チェック

リターンコード

1

2

3

4

5

6

7

8

年月日が数字だけである

年号＝1，2，3，4，M，T，S，H

年≠ZERO

月＝1〜12

明治：元年9月〜45年7月

大正：元年7月〜15年12月

昭和：元年12月〜64年1月

年月＞＝システム日付

LXRED017

LXRED002

LXRED001

LXRED007

LXRED006

LXRED005

LXRED004

LXRED015

例1

　I-YMWA  ：H0404
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：SPACE

例2

　I-YMWA  ：H0403
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：'LXRED015'

例3

　I-YMWA  ：H0405
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：SPACE

注意事項

システム日付の年月と変換後の年月（西暦）が等しい場合はリターンコードにスペースを返す。

システム日付よりも未来でない場合はリターンコードに'LXRED015'を返す（項番8）。

このサブルーチンから（年月変換（和暦→西暦）：LXRPID58），（システム日付取得変換（8桁）：LXRPID88）を呼び出す。

年号情報を設定変更した場合の動作の変更点については，「3.4.29　LXRPID53　（年月（和暦）未来チェック）」を参照のこと。

LXRPID54　年月（西暦）編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID54

日付処理

年月（西暦）編集

LXRCID54

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YM

−

年月日（西暦）

I

05

I-YY

9(4)

年

I

05

I-MM

9(2)

月

I

03

I-FORMAT

X(100)

フォーマット

C

03

I-TYP

X(1)

タイプ

OT

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YM

X(100)

年月（西暦）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXRED017：年月が数値でない

−

処理基準

入力年月の編集を次のように行う。

1.1 入力年月　→　年月

　　01　　　　→　日

1.2年月日の編集を（年月日（西暦）編集：LXRPID45）を用いて次の順で行う。

　1.2.1 置換処理

No.

置換処理

1

2

3

4

5

6

7

8

9

10

11

12

ＹＹＹＹ

ＺＺＺＹ

ＹＹ

ＺＹ

YYYY

ZZZY

YY

ZY

ＭＭ

ＺＭ

MM

ZM

I-YYを全角変換

I-YYをZZZ9編集，全角変換

I-YY下2桁を全角変換

I-YY下2桁をZ9編集，全角変換

I-YY

I-YYをZZZ9編集

I-YY下2桁

I-YY下2桁をZ9編集

I-MMを全角変換

I-MMをZ9編集，全角変換

I-MM

I-MMをZ9編集

　1.2.1 機能キャラクタ処理

　　　（LXRPID45参照）

例1

　I-YM    ：199204
　I-FORMAT：'「ＹＹ年ＭＭ月」'
　I-TYP   ：'N'
　↓
　O-YM    ：'９２年０４月'
　O-RTN-CD：SPACE

例2

　I-YM    ：199204
　I-FORMAT：'YYYY-MM'
　I-TYP   ：'N'
　↓
　O-YM    ：'」1992-04'
　O-RTN-CD：SPACE

　（注）例はVOS3 版の場合で，
　　　　'「'：X'0A42'，
　　　　'」'：X'0A41'とする

注意事項

このサブルーチンから（年月日（西暦）編集：LXRPID45）を呼び出す。

リターンコードには，（年月日（西暦）編集：LXRPID45）のリターンコードを返す。

I-FORMATの中で「日」項目（ＤＤ，ＺＤ，DD，ZDなど）を指定した場合，01をそれぞれの形式に編集し，置換する。

LXRPID55　年月（和暦）編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID55

日付処理

年月（和暦）編集

LXRCID55

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMWA

−

年月（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

03

I-TYP

X(1)

タイプ

OT

03

I-FORMAT

X(100)

フォーマット

C

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMWA

X(100)

年月（和暦）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXRED017：年月が数値でない

−

処理基準

入力年月のチェックを（実在日チェック（和暦）：LXRPID02）を用いて行い，リターンコードがスペースの時，次の処理を行う。

1.1 年月日（和暦）の編集を（年月日（和暦）編集：LXRPID46）を用いて次の順で行う。

　1.1.1 置換処理

No.

置換処理

1

2

3

4

5

6

7

8

9

10

11

ＮＮ

Ｎ

ＹＹ

ＺＹ

ＭＭ

ＺＭ

N

YY

ZY

MM

ZM

年号を全角変換

年号上一桁を全角変換

I-YYを全角変換

I-YYをZ9編集，全角変換

I-MMを全角変換

I-MMをZ9編集，全角変換

I-NNG

I-YY

I-YYをZ9編集

I-MM

I-MMをZ9編集

　1.1.2 機能キャラクタ処理

　　　（LXRPID46参照）

例1

　I-YMWA  ：40404
　I-FORMAT：'「ＮＮＹＹ年ＭＭ月」'
　I-TYP   ：'N'
　↓
　O-YMWA  ：'平成０４年０４月'
　O-RTN-CD：SPACE

例2

　I-YMWA  ：40404
　I-FORMAT：'NYY.MM'
　I-TYP   ：'N'
　↓
　O-YMWA  ：'」H04.04'
　O-RTN-CD：SPACE

　（注）例はVOS3版の場合で，
　　　　'「'：X'0A42'，
　　　　'」'：X'0A41'とする

注意事項

このサブルーチンから（実在日チェック（和暦）：LXRPID02），（年月日（和暦）編集：LXRPID46）を呼び出す。

I-FORMATの中で「日」項目（ＤＤ，ＺＤ，DD，ZDなど）を指定した場合，不定値に置き換える。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.30　LXRPID55　（年月（和暦）編集）」を参照のこと。

LXRPID56　年月変換（西暦→和暦）編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID56

日付処理

年月変換（西暦→和暦）編集

LXRCID56

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YM

−

年月（西暦）

I

05

I-YY

9(4)

年

I

05

I-MM

9(2)

月

I

03

I-TYP

X(1)

タイプ

OT

03

I-FORMAT

X(100)

フォーマット

C

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMWA

X(100)

年月（和暦）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXRED017：年月が数値でない

−

処理基準

（年月変換（西暦→和暦）：LXRPID57）を呼び，和暦年月に変換する。

1.2 年月の編集を，（年月（和暦）編集：LXRPID55）を用いて次の順で行う。

No.

置換処理

1

2

3

4

5

6

7

8

9

10

11

ＮＮ

Ｎ

ＹＹ

ＺＹ

ＭＭ

ＺＭ

N

YY

ZY

MM

ZM

年号を全角変換

年号上一桁を全角変換

年を全角変換

年をZ9編集，全角変換

月を全角変換

月をZ9編集，全角変換

年号コード

年

年をZ9編集

月

月をZ9編集

例1

　I-YM    ：199204
　I-FORMAT：'「ＮＮＹＹ年ＭＭ月」'
　I-TYP   ：'N'
　↓
　O-YMWA  ：'平成０４年０４月'
　O-RTN-CD：SPACE

例2

　I-YM    ：199204
　I-FORMAT：'NYY-MM'
　I-TYP   ：'N'
　↓
　O-YMWA  ：'」H04-04'
　O-RTN-CD：SPACE

　（注）例はVOS3版の場合で，
　　　　'「'：X'0A42'，
　　　　'」'：X'0A41'とする

注意事項

リターンコードは，（年月変換（西暦→和暦）：LXRPID57）のリターンコードを返す。

このサブルーチンから（年月（和暦）編集：LXRPID55），（年月変換（西暦→和暦）：LXRPID57）を呼び出す。

機能キャラクタ編集については，（年月（和暦）編集：LXRPID55）に準ずる。

I-FORMATの中で「日」項目（ＤＤ，ＺＤ，DD，ZDなど）を指定した場合，01をそれぞれの形式に編集し，置換する。

年号情報を設定変更した場合の動作の変更点については，「3.4.31　LXRPID56　（年月変換（西暦→和暦）編集）」を参照のこと。

LXRPID57　年月変換（西暦→和暦）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID57

日付処理

年月変換（西暦→和暦）

LXRCID57

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YM

−

年月（西暦）

I

05

I-YY

9(4)

年

I

05

I-MM

9(2)

月

I

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMWA

−

年月（和暦）

O

05

O-NNG

X(1)

年号

O

−

−

−

（1：明治，2：大正，3：昭和，4：平成）

−

05

O-YY

9(2)

年

O

05

O-MM

9(2)

月

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

処理基準

（年月（西暦）チェック：LXRPID48）を呼び，年月をチェックする。

1.1 リターンコードがスペースの時

　　入力年月　→　年月

　　01　　　　→　日

　　（年月日変換（西暦→和暦）：LXRPID05）を用いて年月日の変換を行う。

　　処理基準は次のとおり。

年号

西暦範囲

和暦範囲

明治

1868年9月8日〜1912年7月29日

元年9月8日〜45年7月29日

大正

1912年7月30日〜1926年12月24日

元年7月30日〜15年12月24日

昭和

1926年12月25日〜1989年1月7日

元年12月25日〜64年1月7日

平成

1989年1月8日〜

元年1月8日〜

1.2 リターンコードがスペースでない時

　　（年月（西暦）チェック：LXRPID48）のリターンコードを出力する。

例1

　I-YM    ：196612
　↓
　O-YMWA  ：34112
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（年月（西暦）チェック：LXRPID48），（年月日変換（西暦→和暦）：LXRPID05）を呼び出す。

（年月日変換（西暦→和暦）：LXRPID05）で範囲外だった場合はリターンコードに'LXRED011'を返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.32　LXRPID57　（年月変換（西暦→和暦））」を参照のこと。

LXRPID58　年月変換（和暦→西暦）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID58

日付処理

年月変換（和暦→西暦）

LXRCID58

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMWA

−

年月（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YM

−

年月（西暦）

O

05

O-YY

9(4)

年

O

05

O-MM

9(2)

月

O

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXRED017：年月が数値でない

−

処理基準

入力年月を（年月（和暦）チェック：LXRPID49）を用いて行い，エラーの場合はリターンコードを返す。

リターンコードがスペースの時，年月（和暦）→年月（西暦）変換を次のように行う。

入力年号

年月（西暦）

'1', 'M'

'2', 'T'

'3', 'S'

'4', 'H'

その他

年月（年号除く）+ 186700

年月（年号除く）+ 191100

年月（年号除く）+ 192500

年月（年号除く）+ 198800

年月（年号除く）+ 198800

例

　I-YMWA  ：34112
　↓
　O-YM    ：196612
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（年月（和暦）チェック：LXRPID49），（年号コード変換（英字→数字）：LXRPID37）を呼び出す。

サブルーチン呼び出しでエラーとなった時は，リターンコードをそのまま返し，年月には0を返す。ただし，リターンコードが'LXRED002'の場合処理を続行する。

年号情報を設定変更した場合の動作の変更点については，「3.4.33　LXRPID58　（年月変換（和暦→西暦））」を参照のこと。

LXRPID59　年度（西暦）チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID59

日付処理

年度（西暦）チェック

LXRCID59

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-NND

9(4)

年度（西暦）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

入力年度のチェックを次のように行う。

No.

チェック

リターンコード

1

2

年月日が数字だけである

年≠ZERO

LXRED017

LXRED001

例1

　I-NND  ：QQQQ
　↓
　O-RTN-CD：'LXRED017'

例2

　I-NND  ：0000
　↓
　O-RTN-CD：'LXRED001'

例3

　I-NND  ：1999
　↓
　O-RTN-CD：SPACE

注意事項

　なし。

LXRPID60　年度（和暦）チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID60

日付処理

年度（和暦）チェック

LXRCID60

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-NNDWA

X(3)

年度（和暦）

I

−

−

−

形式：NYY

−

−

−

−

　N：年号

−

−

−

−

　YY：年

−

−

−

−

年号：

−

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

入力年度のチェックを次のように行う。

1.1 （年度基準日取得：LXRPID80）を呼ぶ。

1.2 入力年度（和暦）　→　年号

　　　　　　　　　　　→　年

　　年度基準日　　　　→　月日

1.3 年月日（和暦）のチェックを（実在日チェック（和暦）：LXRPID02）を用いて行う。

No.

チェック

リターンコード

1

2

3

4

5

6

7

年が数字だけである

年号＝1，2，3，4，M，T，S，H

年≠ZERO

明治：元年9月8日〜45年7月30日

大正：元年7月30日〜15年12月25日

昭和：元年12月25日〜64年1月7日

平成：元年1月8日〜

LXRED017

LXRED002

LXRED001

LXRED006

LXRED005

LXRED004

LXRED010

例1

　I-NNDWA ：'100'
　↓
　O-RTN-CD：'LXRED001'

例2

　I-NNDWA ：'A01'
　↓
　O-RTN-CD：'LXRED002'

例3

　I-NNDWA ：'S64'
　↓
　O-RTN-CD：'LXRED004'

注意事項

このサブルーチンから（実在日チェック（和暦）：LXRPID02），（年度基準日取得：LXRPID80）を呼び出す。

（年度基準日取得：LXRPID80）によって取得される年度基準日とは，4月1日である。

年号がエラーのときは，リターンコードに'LXRED002'を設定するが処理を終わらせず，年号＝平成を仮定してチェックを続行する。年号以外のエラーがある場合は，そのリターンコードを返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.34　LXRPID60　（年度（和暦）チェック）」を参照のこと。

LXRPID61　年度（西暦）過去チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID61

日付処理

年度（西暦）過去チェック

LXRCID61

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-NND

9(4)

年度（西暦）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

入力年度のチェックを（年度（西暦）チェック：LXRPID59）を用いて下表の順で行う（項番1，2）。

システム日付を取得し，次の処理を行う。

2.1 システム日付の月が'1'，'2'，'3'の場合，システム日付の年から1を減じ，入力年度と比較する。比

　　較の結果，入力年度がシステム日付よりも過去ではない場合はリターンコードに'LXRED003'を

　　返す（項番3）。

2.2 システム日付の月が'1'，'2'，'3'以外の場合，システム日付の年を入力年度と比較する。比較の結

　　果，入力年度がシステム日付よりも過去ではない場合はリターンコードに'LXRED003'を返す

　　（項番3）。

No.

チェック

リターンコード

1

2

3

入力年度が数字だけである

入力年度≠ZERO

入力年度＜＝システム日付(年)

LXRED017

LXRED001

LXRED003

例1

　I-NND   ：1992
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：SPACE

例2

　I-NND   ：1993
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：'LXRED003'

例3

　I-NND   ：1992
　ｼｽﾃﾑ日付：920301
　↓
　O-RTN-CD：'LXRED003'

例4

　I-NND   ：1991
　ｼｽﾃﾑ日付：920301
　↓
　O-RTN-CD：SPACE

注意事項

システム日付の年と入力年度が等しい場合はリターンコードにはスペースを返す（システム日付の月が'1'，'2'，'3'の場合を除く）。

このサブルーチンから（年度（西暦）チェック：LXRPID59），（システム日付取得変換（8桁）：LXRPID88）を呼び出す。

LXRPID62　年度（和暦）過去チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID62

日付処理

年度（和暦）過去チェック

LXRCID62

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-NNDWA

X(3)

年度（和暦）

I

−

−

−

形式：NYY

−

−

−

−

　N：年号

−

−

−

−

　YY：年

−

−

−

−

年号：

−

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

入力年度のチェックを（年度（和暦）チェック：LXRPID60）を用いて下表の順で行う（項番1〜7）。

システム日付を取得し，次の処理を行う。

2.1 システム日付の月が'1'，'2'，'3'の場合，システム日付の年から1を減じ，入力年度と比較する。比

　　較の結果，入力年度（和暦）がシステム日付よりも過去ではない場合はリターンコードに

　　'LXRED003'を返す（項番8）。

2.2 システム日付の月が'1'，'2'，'3'以外の場合，システム日付の年を入力年度と比較する。比較の結

　　果，入力年度（和暦）がシステム日付よりも過去ではない場合はリターンコードに'LXRED003'

　　を返す（項番8）。

No.

チェック

リターンコード

1

2

3

4

5

6

7

8

入力年度が数字だけである

年号＝1，2，3，4，M，T，S，H

入力年度≠ZERO

明治：元年9月8日〜45年7月30日

大正：元年7月30日〜15年12月25日

昭和：元年12月25日〜64年1月7日

平成：元年1月8日〜

入力年度＜＝システム日付（年）

LXRED017

LXRED002

LXRED001

LXRED006

LXRED005

LXRED004

LXRED010

LXRED003

例1

　I-NNDWA  ：'H04'
　ｼｽﾃﾑ日付 ：920401
　↓
　O-RTN-CD ：SPACE

例2

　I-NNDWA  ：'H04'
　ｼｽﾃﾑ日付 ：930301
　↓
　O-RTN-CD ：SPACE

例3

　I-NNDWA  ：'H04'
　ｼｽﾃﾑ日付 ：920301
　↓
　O-RTN-CD ：'LXRED003'

注意事項

システム日付の年度と変換後の年度（西暦）が等しい場合はリターンコードにスペースを返す（システム日付の月が'1'，'2'，'3'の場合を除く）。

システム日付との比較は，入力年度を（年度変換（和暦→西暦）：LXRPID69）を用いて変換し，行う。

このサブルーチンから（年度（和暦）チェック：LXRPID60），（年度変換（和暦→西暦）：LXRPID69），（システム日付取得変換（8桁）：LXRPID88）を呼び出す。

年号情報を設定変更した場合の動作の変更点については，「3.4.35　LXRPID62　（年度（和暦）過去チェック）」を参照のこと。

LXRPID63　年度（西暦）未来チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID63

日付処理

年度（西暦）未来チェック

LXRCID63

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-NND

9(4)

年度（西暦）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

入力年度のチェックを（年度（西暦）チェック：LXRPID59）を用いて下表の順で行う（項番1，2）。

システム日付を取得し，次の処理を行う。

2.1 システム日付の月が'1'，'2'，'3'の場合，システム日付の年から1を減じ，入力年度と比較する。

　　比較の結果，入力年度がシステム日付よりも未来ではない場合はリターンコードに'LXRED015'

　　を返す（項番3）。

2.2 システム日付の月が'1'，'2'，'3'以外の場合，システム日付の年を入力年度と比較する。比較の結

　　果，入力年度がシステム日付よりも未来ではない場合はリターンコードに'LXRED015'を返す

　　（項番3）。

No.

チェック

リターンコード

1

2

3

入力年度が数字だけである

入力年度≠ZERO

入力年度＞＝システム日付(年)

LXRED017

LXRED001

LXRED015

例1

　I-NND   ：1992
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：SPACE

例2

　I-NND   ：1992
　ｼｽﾃﾑ日付：920301
　↓
　O-RTN-CD：SPACE

例3

　I-NND   ：1991
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：'LXRED015'

例4

　I-NND   ：1991
　ｼｽﾃﾑ日付：920301
　↓
　O-RTN-CD：SPACE

注意事項

システム日付の年と入力年度が等しい場合はリターンコードにはスペースを返す（システム日付の月が'1'，'2'，'3'の場合を除く）。

このサブルーチンから（年度（西暦）チェック：LXRPID59），（システム日付取得変換（8桁）：LXRPID88）を呼び出す。

LXRPID64　年度（和暦）未来チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID64

日付処理

年度（和暦）未来チェック

LXRCID64

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-NNDWA

X(3)

年度（和暦）

I

−

−

−

形式：NYY

−

−

−

−

　N：年号

−

−

−

−

　YY：年

−

−

−

−

年号：

−

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

入力年度のチェックを（年度（和暦）チェック：LXRPID60）を用いて下表の順で行う（項番1〜7）。

システム日付を取得し，次の処理を行う。

2.1 システム日付の月が'1'，'2'，'3'の場合，システム日付の年から1を減じ，入力年度と比較する。

　　比較の結果，入力年度（和暦）がシステム日付よりも未来ではない場合はリターンコードに

　　'LXRED015'を返す（項番8）。

2.2 システム日付の月が'1'，'2'，'3'以外の場合，システム日付の年を入力年度と比較する。比較の結

　　果，入力年度（和暦）がシステム日付よりも未来ではない場合はリターンコードに'LXRED015'

　　を返す（項番8）。

No.

チェック

リターンコード

1

2

3

4

5

6

7

8

入力年度が数字だけである

年号＝1，2，3，4，M，T，S，H

入力年度≠ZERO

明治：元年9月8日〜45年7月30日

大正：元年7月30日〜15年12月25日

昭和：元年12月25日〜64年1月7日

平成：元年1月8日〜

入力年度＞＝システム日付(年)

LXRED017

LXRED002

LXRED001

LXRED006

LXRED005

LXRED004

LXRED010

LXRED015

例1

　I-NNDWA ：'H04'
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：SPACE

例2

　I-NNDWA ：'H04'
　ｼｽﾃﾑ日付：930301
　↓
　O-RTN-CD：'LXRED015'

例3

　I-NNDWA ：'H04'
　ｼｽﾃﾑ日付：930301
　↓
　O-RTN-CD：SPACE

注意事項

システム日付の年度と変換後の年度（西暦）が等しい場合はリターンコードにスペースを返す（システム日付の月が'1'，'2'，'3'の場合を除く）。

システム日付との比較は，入力年度を（年度変換（和暦→西暦）：LXRPID69）を用いて変換し，行う。

このサブルーチンから（年度（和暦）チェック：LXRPID60），（年度変換（和暦→西暦）：LXRPID69），（システム日付取得変換（8桁）：LXRPID88）を呼び出す。

年号情報を設定変更した場合の動作の変更点については，「3.4.36　LXRPID64　（年度（和暦）未来チェック）」を参照のこと。

LXRPID65　年度（西暦）編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID65

日付処理

年度（西暦）編集

LXRCID65

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-NND

9(4)

年度（西暦）

I

03

I-TYP

X(1)

タイプ

OT

03

I-FORMAT

X(100)

フォーマット

C

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-NND

X(100)

年度（西暦）

O

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXRED017：年度が数値でない

−

処理基準

入力年度の編集を次のように行う。

1.1 （年度（西暦）チェック：LXRPID59）を呼ぶ。

1.2 （年度基準日取得：LXRPID80）を呼ぶ。

1.3 入力年度　　→　年

　　年度基準日　→　月日

1.4 年月日の編集を（年月日（西暦）編集：LXRPID45）を用いて次の順で行う。

　1.4.1 置換処理

No.

置換処理

1

2

3

4

5

6

7

8

ＹＹＹＹ

ＺＺＺＹ

ＹＹ

ＺＹ

YYYY

ZZZY

YY

ZY

年を全角変換

年をZZZ9編集，全角変換

年下2桁を全角変換

年下2桁をZ9編集，全角変換

年

年をZZZ9編集

年下2桁

年下2桁をZ9編集

　1.4.2 機能キャラクタ処理

　　　（LXRPID45参照）

例1

　I-NND   ：1992
　I-FORMAT：'「ＹＹ年」'
　I-TYP   ：'N'
　↓
　O-NND   ：'９２年'
　O-RTN-CD：SPACE

例2

　I-NND   ：1992
　I-FORMAT：'YYYY'
　I-TYP   ：'N'
　↓
　O-NND   ：'」1992'
　O-RTN-CD：SPACE

　（注）例はVOS3 版の場合で，
　　　　'「'：X'0A42'，
　　　　'」'：X'0A41'とする

注意事項

このサブルーチンから（年月日（西暦）編集：LXRPID45），（年度基準日取得：LXRPID80），（年度（西暦）チェック：LXRPID59）を呼び出す。

I-FORMATの中で「月」項目（ＭＭ，ＺＭ，MM，ZMなど）を指定した場合，04をそれぞれの形式に編集し，置換する。

I-FORMATの中で「日」項目（ＤＤ，ＺＤ，DD，ZDなど）を指定した場合，01をそれぞれの形式に編集し，置換する。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返す。

LXRPID66　年度（和暦）編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID66

日付処理

年度（和暦）編集

LXRCID66

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-NNDWA

X(3)

年度（和暦）

I

−

−

−

形式：NYY

−

−

−

−

　N：年号

−

−

−

−

　YY：年

−

−

−

−

年号：

−

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

03

I-TYP

X(1)

タイプ

OT

03

I-FORMAT

X(100)

フォーマット

C

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-NNDWA

X(100)

年度（和暦）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXRED017：年度が数値でない

−

−

−

−

−

−

処理基準

入力年度の編集を次のように行う。

1.1 （年度（和暦）チェック：LXRPID60）を呼ぶ。

1.2 （年度基準日取得：LXRPID80）を呼ぶ。

1.3 入力年度　　→　年

　　年度基準日　→　月日

1.4年月日の編集を（年月日（和暦）編集：LXRPID46）を用いて次の順で行う。

　1.4.1 置換処理

No.

置換処理

1

2

3

4

5

6

7

ＮＮ

Ｎ

ＹＹ

ＺＹ

N

YY

ZY

年号を全角変換

年号上一桁を全角変換

年を全角変換

年をZ9編集，全角変換

年号コード

年

年をZ9編集

　1.4.2 機能キャラクタ処理

　　　（LXRPID46参照）

例1

　I-NNDWA ：'H04'
　I-FORMAT：'「ＮＮＹＹ年」'
　I-TYP   ：'N'
　↓
　O-NNDWA ：'平成０４年'
　O-RTN-CD：SPACE

例2

　I-NNDWA ：'H04'
　I-FORMAT：'NYY'
　I-TYP   ：'N'
　↓
　O-NNDWA ：'」H04'
　O-RTN-CD：SPACE

　（注）例はVOS3版の場合で，
　　　　'「'：X'0A42'，
　　　　'」'：X'0A41'とする

注意事項

このサブルーチンから（年月日（和暦）編集：LXRPID46），（年度基準日取得：LXRPID80），（年度（和暦）チェック：LXRPID60）を呼び出す。

I-FORMATの中で「月」項目（ＭＭ，ＺＭ，MM，ZMなど）を指定した場合，04をそれぞれの形式に編集し，置換する。

I-FORMATの中で「日」項目（ＤＤ，ＺＤ，DD，ZDなど）を指定した場合，01をそれぞれの形式に編集し，置換する。

誤った年号を入力すると，'ＮＮ'，'Ｎ'，'N'は入力したものをそのまま送る。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.37　LXRPID66　（年度（和暦）編集）」を参照のこと。

LXRPID67　年度変換（西暦→和暦）編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID67

日付処理

年度変換（西暦→和暦）編集

LXRCID67

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-NND

9(4)

年度（西暦）

I

03

I-FORMAT

X(100)

フォーマット

C

03

I-TYP

X(1)

タイプ

OT

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-NNDWA

X(100)

年度（和暦）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXRED017：年度が数値でない

−

−

−

−

−

−

処理基準

入力年度の編集を次のように行う。

1.1 （年度変換（西暦→和暦）：LXRPID68）を呼ぶ。

1.2 年月日の編集を（年度（和暦）編集：LXRPID66）を用いて次の順で行う。

　1.2.1 置換処理

No.

置換処理

1

2

3

4

5

6

7

ＮＮ

Ｎ

ＹＹ

ＺＹ

N

YY

ZY

年号を全角変換

年号上一桁を全角変換

年を全角変換

年をZ9編集，全角変換

年号コード

年

年をZ9編集

　1.2.2 機能キャラクタ処理

　　　（LXRPID66参照）

例1

　I-NND   ：1992
　I-FORMAT：'「ＮＮＹＹ年」'
　I-TYP   ：'N'
　↓
　O-NNDWA ：'平成０４年'
　O-RTN-CD：SPACE

例2

　I-NND   ：1992
　I-FORMAT：'NYY'
　I-TYP   ：'N'
　↓
　O-NNDWA ：'」H04'
　O-RTN-CD：SPACE

　（注）例はVOS3版の場合で，
　　　　'「'：X'0A42'，
　　　　'」'：X'0A41'とする

注意事項

このサブルーチンから（年度変換（西暦→和暦）：LXRPID68），（年度（和暦）編集：LXRPID66）を呼び出す。

I-FORMATの中で「月」項目（ＭＭ，ＺＭ，MM，ZMなど）を指定した場合，04をそれぞれの形式に編集し，置換する。

I-FORMATの中で「日」項目（ＤＤ，ＺＤ，DD，ZDなど）を指定した場合，01をそれぞれの形式に編集し，置換する。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.38　LXRPID67　（年度変換（西暦→和暦）編集）」を参照のこと。

LXRPID68　年度変換（西暦→和暦）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID68

日付処理

年度変換（西暦→和暦）

LXRCID68

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-NND

9(4)

年度（西暦）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-NNDWA

9(3)

年度（和暦）

O

−

−

−

形式：NYY

−

−

−

−

　N：年号

−

−

−

−

　YY：年

−

−

−

−

年号：

−

−

−

−

（1：明治，2：大正，3：昭和，4：平成）

−

−

−

−

−

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXRED017：年度が数値でない

−

処理基準

年度（西暦）→年度（和暦）変換を次のように行う。

1.1 （年度（西暦）チェック：LXRPID59）を呼ぶ。

　　リターンコードがスペースの時，（年度基準日取得：LXRPID80）を呼ぶ。

　　　入力年度　　→　年

　　　年度基準日　→　月日

　　（年月日変換（西暦→和暦）：LXRPID05）を用いて年月日の変換を行う。

　　処理基準は次のとおり。

年号

西暦範囲

和暦範囲

明治

1868年9月8日〜1912年7月29日

元年9月8日〜45年7月29日

大正

1912年7月30日〜1926年12月24日

元年7月30日〜15年12月24日

昭和

1926年12月25日〜1989年1月7日

元年12月25日〜64年1月7日

平成

1989年1月8日〜

元年1月8日〜

　　リターンコードがスペースでない時，O-NNDWAに0を返し，（年度（西暦）チェック：

　　LXRPID59）のリターンコードを返す。

例1

　I-NND   ：1966
　↓
　O-NNDWA ：341
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（年月日変換（西暦→和暦）：LXRPID05），（年度基準日取得：LXRPID80），（年度（西暦）チェック：LXRPID59）を呼ぶ。

（年月日変換（西暦→和暦）：LXRPID05）で西暦年月日が和暦年月日範囲外だった場合（年月日変換（西暦→和暦）：LXRPID05）のリターンコードを返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.39　LXRPID68　（年度変換（西暦→和暦））」を参照のこと。

LXRPID69　年度変換（和暦→西暦）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID69

日付処理

年度変換（和暦→西暦）

LXRCID69

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-NNDWA

X(3)

年度（和暦）

I

−

−

−

形式：NYY

−

−

−

−

　N：年号

−

−

−

−

　YY：年

−

−

−

−

年号：

−

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-NND

9(4)

年度（西暦）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

年度（和暦）→年度（西暦）変換を次のように行う。

1.1 （年度（和暦）チェック：LXRPID60）を呼ぶ。

　　リターンコードがスペースまたは'LXRED002'の時，年の変換を行う。

　　処理方法は次のとおり。

入力年号

年度（西暦）

'1', 'M'

'2', 'T'

'3', 'S'

'4', 'H'

その他

年（年号除く）+ 1867

年（年号除く）+ 1911

年（年号除く）+ 1925

年（年号除く）+ 1988

年（年号除く）+ 1988

　　I-NNDWAの入力値に対するリターンコードがスペースと'LXRED002'以外の時，年度（西暦）

　　に0を返し，（年度（和暦）チェック：LXRPID60）のリターンコードを返す。

例1

　I-NNDWA ：341
　↓
　O-NND   ：1966
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（年度（和暦）チェック：LXRPID60），（年号コード変換（英字→数字）：LXRPID37）を呼ぶ。

年号情報を設定変更した場合の動作の変更点については，「3.4.40　LXRPID69　（年度変換（和暦→西暦））」を参照のこと。

LXRPID70　年（西暦）チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID70

日付処理

年（西暦）チェック

LXRCID70

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YY

9(4)

年（西暦）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

年（西暦）のチェックを次のように行う。

No.

チェック

リターンコード

1

2

年が数字だけである

年≠ZERO

LXRED017

LXRED001

例1

　I-YY    ：QQQQ
　↓
　O-RTN-CD：'LXRED017'

例2

　I-YY    ：0000
　↓
　O-RTN-CD：'LXRED001'

例3

　I-YY    ：1999
　↓
　O-RTN-CD：SPACE

注意事項

なし。

LXRPID71　年（和暦）チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID71

日付処理

年（和暦）チェック

LXRCID71

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YYWA

X(3)

年（和暦）

I

−

−

−

形式：NYY

−

−

−

−

　N：年号

−

−

−

−

　YY：年

−

−

−

−

年号：

−

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

入力年のチェックを次のように行う。

No.

チェック

リターンコード

1

2

3

4

5

6

年が数字だけである

年号＝1，2，3，4，M，T，S，H

年≠ZERO

明治：元年〜45年

大正：元年〜15年

昭和：元年〜64年

LXRED017

LXRED002

LXRED001

LXRED006

LXRED005

LXRED004

例1

　I-YYWA  ：'100'
　↓
　O-RTN-CD：'LXRED001'

例2

　I-YYWA  ：'A01'
　↓
　O-RTN-CD：'LXRED002'

例3

　I-YYWA  ：'S65'
　↓
　O-RTN-CD：'LXRED004'

注意事項

このサブルーチンから（年号コード変換（英字→数字）：LXRPID37）を呼び出す。

年号がエラーのときは，リターンコードに'LXRED002'を設定するが処理を終わらせず，年号＝平成を仮定してチェックを続行する。年号以外のエラーがある場合は，そのリターンコードを返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.41　LXRPID71　（年（和暦）チェック）」を参照のこと。

LXRPID72　年（西暦）過去チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID72

日付処理

年（西暦）過去チェック

LXRCID72

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YY

9(4)

年（西暦）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

入力年のチェックを（年（西暦）チェック：LXRPID70）を用いて次の表の順で行う（項番1，2）。

システム日付を取得し，入力年と比較する。比較の結果，入力年がシステム日付よりも過去ではない場合はリターンコードに'LXRED003'を返す（項番3）。

No.

チェック

リターンコード

1

2

3

入力年が数字だけである

入力年≠ZERO

入力年＜＝システム日付（年）

LXRED017

LXRED001

LXRED003

例1

　I-YY    ：1992
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：SPACE

例2

　I-YY    ：1993
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：'LXRED003'

例3

　I-YY    ：1992
　ｼｽﾃﾑ日付：920301
　↓
　O-RTN-CD：SPACE

例4

　I-YY    ：1991
　ｼｽﾃﾑ日付：920301
　↓
　O-RTN-CD：SPACE

注意事項

システム日付の年と入力年が等しい場合はリターンコードにはスペースを返す。

このサブルーチンから（年（西暦）チェック：LXRPID70），（システム日付取得変換（8桁）：LXRPID88）を呼び出す。

LXRPID73　年（和暦）過去チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID73

日付処理

年（和暦）過去チェック

LXRCID73

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YYWA

X(3)

年（和暦）

I

−

−

−

形式：NYY

−

−

−

−

　N：年号

−

−

−

−

　YY：年

−

−

−

−

年号：

−

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

入力年のチェックを（年（和暦）チェック：LXRPID71）を用いて次の表の順で行う（項番1〜6）。

システム日付を取得し，入力年と比較する。比較の結果，入力年（和暦）がシステム日付よりも過去ではない場合はリターンコードに'LXRED003'を返す（項番7）。

No.

チェック

リターンコード

1

2

3

4

5

6

7

入力年が数字だけである

年号＝1，2，3，4，M，T，S，H

入力年≠ZERO

明治：元年〜45年

大正：元年〜15年

昭和：元年〜64年

入力年＜＝システム日付（年）

LXRED017

LXRED002

LXRED001

LXRED006

LXRED005

LXRED004

LXRED003

例1

　I-YYWA  ：'H04'
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：SPACE

例2

　I-YYWA  ：'H04'
　ｼｽﾃﾑ日付：930301
　↓
　O-RTN-CD：SPACE

例3

　I-YYWA  ：'H04'
　ｼｽﾃﾑ日付：910301
　↓
　O-RTN-CD：'LXRED003'

注意事項

システム日付の年と西暦変換後の年が等しい場合はリターンコードにスペースを返す。

システム日付との比較は，入力年を（年変換（和暦→西暦）：LXRPID78）を用いて西暦に変換し，行う。

このサブルーチンから（年変換（和暦→西暦）：LXRPID78），（システム日付取得変換（8桁）：LXRPID88）を呼び出す。

年号情報を設定変更した場合の動作の変更点については，「3.4.42　LXRPID73　（年（和暦）過去チェック）」を参照のこと。

LXRPID74　年（西暦）未来チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID74

日付処理

年（西暦）未来チェック

LXRCID74

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YY

9(4)

年（西暦）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

入力年のチェックを（年（西暦）チェック：LXRPID70）を用いて次の表の順で行う（項番1，2）。

システム日付を取得し，入力年と比較する。比較の結果，入力年がシステム日付よりも未来ではない場合はリターンコードに'LXRED015'を返す（項番3）。

No.

チェック

リターンコード

1

2

3

入力年が数字だけである

入力年≠ZERO

入力年＞＝システム日付（年）

LXRED017

LXRED001

LXRED015

例1

　I-YY    ：1992
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：SPACE

例2

　I-YY    ：1992
　ｼｽﾃﾑ日付：920301
　↓
　O-RTN-CD：SPACE

例3

　I-YY    ：1991
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：'LXRED015'

例4

　I-YY    ：1991
　ｼｽﾃﾑ日付：920301
　↓
　O-RTN-CD：'LXRED015'

注意事項

システム日付の年と入力年が等しい場合はリターンコードにはスペースを返す。

このサブルーチンから（年（西暦）チェック：LXRPID70），（システム日付取得変換（8桁）：LXRPID88）を呼び出す。

LXRPID75　年（和暦）未来チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID75

日付処理

年（和暦）未来チェック

LXRCID75

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YYWA

X(3)

年（和暦）

I

−

−

−

形式：NYY

−

−

−

−

　N：年号

−

−

−

−

　YY：年

−

−

−

−

年号：

−

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

入力年のチェックを（年（和暦）チェック：LXRPID71）を用いて下表の順で行う（項番1〜6）。

システム日付を取得し，入力年と比較する。比較の結果，入力年（和暦）がシステム日付よりも未来ではない場合はリターンコードに'LXRED015'を返す（項番7）。

No.

チェック

リターンコード

1

2

3

4

5

6

7

入力年が数字だけである

年号＝1，2，3，4，M，T，S，H

入力年≠ZERO

明治：元年〜45年

大正：元年〜15年

昭和：元年〜64年

入力年＞＝システム日付（年）

LXRED017

LXRED002

LXRED001

LXRED006

LXRED005

LXRED004

LXRED015

例1

　I-YYWA  ：'H04'
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：SPACE

例2

　I-YYWA  ：'H05'
　ｼｽﾃﾑ日付：920401
　↓
　O-RTN-CD：SPACE

例3

　I-YYWA  ：'H04'
　ｼｽﾃﾑ日付：930401
　↓
　O-RTN-CD：'LXRED015'

例4

　I-YYWA  ：'H04'
　ｼｽﾃﾑ日付：930301
　↓
　O-RTN-CD：'LXRED015'

注意事項

システム日付の年と西暦変換後の年が等しい場合はリターンコードにスペースを返す。

システム日付との比較は，入力年を（年変換（和暦→西暦）：LXRPID78）を用いて西暦に変換し，行う。

このサブルーチンから（年変換（和暦→西暦）：LXRPID78），（システム日付取得変換（8桁）：LXRPID88）を呼び出す。

年号情報を設定変更した場合の動作の変更点については，「3.4.43　LXRPID75　（年（和暦）未来チェック）」を参照のこと。

LXRPID76　年変換（西暦→和暦）編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID76

日付処理

年変換（西暦→和暦）編集

LXRCID76

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YY

9(4)

年（西暦）

I

03

I-FORMAT

X(100)

フォーマット

C

03

I-TYP

X(1)

タイプ

OT

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YYWA

X(100)

年（和暦）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

入力年の編集を次のように行う。

1.1 （年変換（西暦→和暦）：LXRPID77）を呼ぶ。

1.2 （年基準日取得：LXRPID81）を呼ぶ。

1.3 入力年　　→　年

　　年基準日　→　月日

1.4 年月日の編集を，（年月日（和暦）編集：LXRPID46）を用いて次の順で行う。

No.

置換処理

1

2

3

4

5

6

7

ＮＮ

Ｎ

ＹＹ

ＺＹ

N

YY

ZY

年号を全角変換

年号上一桁を全角変換

年を全角変換

年をZ9編集，全角変換

年号コード

年

年をZ9編集

例1

　I-YY    ：1992
　I-FORMAT：'「ＮＮＹＹ年」'
　I-TYP   ：'N'
　↓
　O-YYWA  ：'平成０４年'
　O-RTN-CD：SPACE

例2

　I-YY    ：1992
　I-FORMAT：'NYY'
　I-TYP   ：'N'
　↓
　O-YYWA  ：'」H04'
　O-RTN-CD：SPACE

　（注）例はVOS3版の場合で，
　　　　'「'：X'0A42'，
　　　　'」'：X'0A41'とする

注意事項

このサブルーチンから（年月日（和暦）編集：LXRPID46），（年基準日取得：LXRPID81），（年変換（西暦→和暦）：LXRPID77）を呼び出す。

機能キャラクタ編集については，（年月日（和暦）編集：LXRPID46）に準ずる。

I-FORMATの中で「月」項目（ＭＭ，ＺＭ，MM，ZMなど）を指定した場合，01をそれぞれの形式に編集し，置換する。

I-FORMATの中で「日」項目（ＤＤ，ＺＤ，DD，ZDなど）を指定した場合，01をそれぞれの形式に編集し，置換する。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.44　LXRPID76　（年変換（西暦→和暦）編集）」を参照のこと。

LXRPID77　年変換（西暦→和暦）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID77

日付処理

年変換（西暦→和暦）

LXRCID77

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YY

9(4)

年（西暦）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YYWA

9(3)

年（和暦）

O

−

−

−

形式：NYY

−

−

−

−

　N：年号

−

−

−

−

　YY：年

−

−

−

−

年号：

−

−

−

−

（1：明治，2：大正，3：昭和，4：平成）

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

処理基準

年（西暦）→年（和暦）変換を次のように行う。

1.1 （年（西暦）チェック：LXRPID70）を呼ぶ。

　　リターンコードがスペースの時，（年基準日取得：LXRPID81）を呼ぶ。

　　　入力年　　→　年

　　　年基準日　→　月日

　　（年月日変換（西暦→和暦）：LXRPID05）を用いて年月日の変換を行う。

　　処理基準は次のとおり。

年号

西暦範囲

和暦範囲

明治

1868年9月8日〜1912年7月29日

元年9月8日〜45 年7月29日

大正

1912年7月30日〜1926年12月24日

元年7月30日〜15年12月24日

昭和

1926年12月25日〜 1989年1月7日

元年12月25日〜64年1月7日

平成

1989年1月8日〜

元年1月8日〜

　　リターンコードがスペースでない時，（年（西暦）チェック：LXRPID70）のリターンコードを

　　返し，年（和暦）には0を出力する。

例1

　I-YY    ：1966
　↓
　O-YYWA  ：341
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（年月日変換（西暦→和暦）：LXRPID05），（年基準日取得：LXRPID81），（年（西暦）チェック：LXRPID70）を呼ぶ。

（年月日変換（西暦→和暦）：LXRPID05）で西暦年月日が和暦年月日範囲外だった場合（年月日変換（西暦→和暦）：LXRPID05）のリターンコードを返し，年（和暦）には0を出力する。

年号情報を設定変更した場合の動作の変更点については，「3.4.45　LXRPID77　（年変換（西暦→和暦））」を参照のこと。

LXRPID78　年変換（和暦→西暦）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID78

日付処理

年変換（和暦→西暦）

LXRCID78

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YYWA

−

年（和暦）

I

−

−

−

形式：NYY

−

−

−

−

　N：年号

−

−

−

−

　YY：年

−

05

I-NNG

X(1)

年号：

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YY

9(4)

年（西暦）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

年（和暦）→年（西暦）変換を次のように行う。

1.1 （年（和暦）チェック：LXRPID71）を呼ぶ。

　　リターンコードがスペースまたは'LXRED002'の時，年の変換を行う。

入力年号

年（西暦）

'1', 'M'

'2', 'T'

'3', 'S'

'4', 'H'

その他

年（年号除く）+ 1867

年（年号除く）+ 1911

年（年号除く）+ 1925

年（年号除く）+ 1988

年（年号除く）+ 1988

　　I-YYWAの入力値に対するリターンコードがスペースと'LXRED002'以外の時，

　　（年（和暦）チェック：LXRPID71）のリターンコードを返す。年（西暦）には0を返す。

例1

　I-YYWA  ：341
　↓
　O-YY    ：1966
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（年（和暦）チェック：LXRPID71），（年号コード変換（英字→数字）：LXRPID37）を呼び出す。

年号情報を設定変更した場合の動作の変更点については，「3.4.46　LXRPID78　（年変換（和暦→西暦））」を参照のこと。

LXRPID80　年度基準日取得

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID80

日付処理

年度基準日取得

LXRCID80

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-NND-KJN-MM

9(2)

年度基準月

O

03

O-NND-KJN-DD

9(2)

年度基準日

O

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

次の処理を行う。

04　→　年度基準月

01　→　年度基準日

例

　なし。

注意事項

　なし。

LXRPID81　年基準日取得

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID81

日付処理

年基準日取得

LXRCID81

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-NEN-KJN-MM

9(2)

年基準月

O

03

O-NEN-KJN-DD

9(2)

年基準日

O

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

次の処理を行う。

01　→　年基準月

01　→　年基準日

例

　なし。

注意事項

　なし。

LXRPID88　システム日付取得変換（8桁）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID88

日付処理

システム日付取得変換（8桁）

LXRCID88

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-SYS-YMD

−

出力システム年月日（8桁）

O

05

O-SYS-YMD-YY

9(4)

出力システム年月日−年

O

05

O-SYS-YMD-MM

9(2)

出力システム年月日−月

O

05

O-SYS-YMD-DD

9(2)

出力システム年月日−日

O

−

−

−

−

−

処理基準

システム日付を取得する。

取得したシステム日付の「年」が92以上である場合，19を「年」の前方に付加し，O-SYS-YMD-YYに送る。

取得したシステム日付の「年」が92以上でない場合，20を「年」の前方に付加し，O-SYS-YMD-YYに送る。

システム日付の「月」，「日」をO-SYS-YMD-MM，O-SYS-YMD-DDにそれぞれ送る。

例1

　ｼｽﾃﾑ日付 ：920101
　↓
　O-SYS-YMD：19920101

例2

　ｼｽﾃﾑ日付 ：010101
　↓
　O-SYS-YMD：20010101

注意事項

本製品の01-07以降のバージョンでは，FUNCTION CURRENT-DATEを用いて直接8桁のシステム日付を取得する仕様の（システム日付取得変換（8桁）：LXRPID88）を別ライブラリで提供している。

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を返す。

LXRPID91　処理期限年月日算出（和暦）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID91

日付処理

処理期限年月日算出（和暦）

LXRCID91

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-CLOSE-DAY

P(2)

締日

C

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMDWA

−

出力和暦処理年月日（NYYMMDD）

O

05

O-NNG

X(1)

年号

O

−

−

−

（1：明治，2：大正，3：昭和，4：平成）

−

05

O-YY

9(2)

年

O

05

O-MM

9(2)

月

O

05

O-DD

9(2)

日

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXRED017：日が数字ではない

−

−

−

−

LXRED009：実在する日ではない

−

−

−

−

−

−

処理基準

（処理期限年月日算出（西暦）：LXRPID90）を呼び，処理年月日（西暦）を求め，このサブルーチンのリターンコードをチェックする。

リターンコードがスペースのとき，次の処理を行う。

2.1 処理年月日（西暦）を（年月日変換（西暦→和暦）：LXRPID05）によって，和暦に変換する。

例1

　I-CLOSE-DAY：20
　ｼｽﾃﾑ日付   ：H080815
　↓
　O-YMDWA    ：4080820
　O-RTN-CD   ：SPACE

例2

　I-CLOSE-DAY：31
　ｼｽﾃﾑ日付   ：H080915
　↓
　O-YMDWA    ：4080930
　O-RTN-CD   ：SPACE

注意事項

このサブルーチンから（処理期限年月日算出（西暦）：LXRPID90），（年月日変換（西暦→和暦）：LXRPID05）を呼び出す。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返し，出力年月日に0を返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.47　LXRPID91　（処理期限年月日算出（和暦））」を参照のこと。

LXRPID92　通算日算出（年始〜西暦年月日）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID92

日付処理

通算日算出（年始〜西暦年月日）

LXRCID92

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMD

−

年月日（西暦）

I

05

I-YY

9(4)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-DAYS

P(8)

日数

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

（実在日チェック（西暦）：LXRPID01）で年月日をチェックする。

リターンコードがスペースのとき，次の処理を行う。

2.1 （年基準日取得：LXRPID81）でその年の基準日を求める。

2.2 基準日から入力年月日までの通算日を（期間算出（西暦年月日間日数）：LXRPID13）によって

　　求める。

例1

　I-YMD   ：19960805
　↓
　O-DAYS  ：218
　O-RTN-CD：SPACE

例2

　I-YMD   ：19961231
　↓
　O-DAYS  ：366
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（実在日チェック（西暦）：LXRPID01），（期間算出（西暦年月日間日数）：LXRPID13），（年基準日取得：LXRPID81）を呼び出す。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返し，日数に0を返す。

LXRPID93　通算日算出（年始〜和暦年月日）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID93

日付処理

通算日算出（年始〜和暦年月日）

LXRCID93

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

−

年月日（和暦）

I

05

I-NNG

X(1)

年号

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）or

−

−

−

−

（M：明治，T：大正，S：昭和，H：平成）

−

05

I-YY

9(2)

年

I

05

I-MM

9(2)

月

I

05

I-DD

9(2)

日

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-DAYS

P(8)

日数

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

処理基準

（年月日変換（和暦→西暦）：LXRPID06）によって，入力年月日を西暦に変換し，このサブルーチンのリターンコードをチェックする。

リターンコードがスペースのとき，次の処理を行う。

2.1 （通算日算出（年始〜西暦年月日）：LXRPID92）を呼び，処理年月日（西暦）を求める。

例1

　I-YMDWA ：H080805
　↓
　O-DAYS  ：218
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（年月日変換（和暦→西暦）：LXRPID06），（通算日算出（年始〜西暦年月日）：LXRPID92）を呼び出す。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返し，日数に0を返す。ただし，誤った年号に対しては，平成（'4'，'H'）と同様の処理を行い，リターンコードには'LXRED002'を返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.48　LXRPID93　（通算日算出（年始〜和暦年月日））」を参照のこと。

LXRPID94　年齢（年月）算出（慣習）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID94

日付処理

年齢（年月）算出（慣習）

LXRCID94

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-BRTH-YMD

9(8)

生年月日（YYYYMMDD）

I

03

I-KJN-YMD

9(8)

現在年月日（YYYYMMDD）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-NNR-YM

−

年齢（年月）

O

05

O-NNR-YY

9(4)

年齢（年）

O

05

O-NNR-MM

9(2)

年齢（月）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

処理基準

入力された生年月日および現在年月日から年齢（年月）を求める。

例1

　I-BRTH-YMD：19710216
　I-KJN-YMD ：19960815
　↓
　O-NNR-YM  ：002505
　O-RTN-CD  ：SPACE

注意事項

年齢計算は慣習による（誕生日当日に1歳増える）。

うるう年の2月29日が生年月日の場合，平年では2月28日に年齢が1歳増える。

このサブルーチンから（年月日算出（西暦年月日±日数）：LXRPID11），（期間算出（西暦年月日間年月日）：LXRPID15），（うるう年判定（西暦）：LXRPID25）を呼び出す。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返し，年齢に0を返す。

LXRPID95　年齢（年月）算出（法律）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPID95

日付処理

年齢（年月）算出（法律）

LXRCID95

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-BRTH-YMD

9(8)

生年月日（YYYYMMDD）

I

03

I-KJN-YMD

9(8)

現在年月日（YYYYMMDD）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-NNR-YM

−

年齢（年月）

O

05

O-NNR-YY

9(4)

年齢（年）

O

05

O-NNR-MM

9(2)

年齢（月）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXRED017：年月日が数値でない

−

処理基準

入力された生年月日および現在年月日から年齢（年月）を求める。

例1

　I-BRTH-YMD：19900731
　I-KJN-YMD ：19970130
　↓
　O-NNR-YM  ：000606
　O-RTN-CD  ：SPACE

注意事項

年齢計算は法律による（誕生日前日に1歳増える）。

このサブルーチンから（期間算出（西暦年月日間年月日）：LXRPID15）を呼び出す。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返し，年齢に０を返す。

LXRPIE01　時刻妥当性チェック（24時間）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIE01

時間処理

時刻妥当性チェック（24時間）

LXRCIE01

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-TIME

9(6)

時刻

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREE005：入力が数字以外

−

−

−

−

LXREE002：時が不正

−

−

−

−

LXREE003：分が不正

−

−

−

−

LXREE004：秒が不正

−

−

−

−

−

−

処理基準

24時間単位の時刻の妥当性をチェックする。

1.1 時のチェック（0≦時≦23）

1.2 分のチェック（0≦分≦59）

1.3 秒のチェック（0≦秒≦59）

例1

　I-TIME  ：010161（1時1分61秒）
　↓
　O-RTN-CD：'LXREE004'

注意事項

　なし。

LXRPIE02　時刻妥当性チェック（12時間）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIE02

時間処理

時刻妥当性チェック（12時間）

LXRCIE02

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-TMAP

9(6)

時刻（12時制）

I

03

I-AP-KBN

X(2)

AM・PM区分

I

−

−

−

'AM'：午前， 'PM'：午後

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREE005：数字以外が入力された

−

−

−

−

LXREE001：午前または午後ではない

−

−

−

−

LXREE002：時が不正

−

−

−

−

LXREE003：分が不正

−

−

−

−

LXREE004：秒が不正

−

−

−

−

−

−

処理基準

12時間単位の時刻の妥当性をチェックする。

1.1 午前・午後のチェック

1.2 時のチェック（0≦時≦11）

1.3 分のチェック（0≦分≦59）

1.4 秒のチェック（0≦秒≦59）

例1

　I-AP-KBN：'AM'
　I-TMAP  ：017010（1時70分10秒）
　↓
　O-RTN-CD：'LXREE003'

注意事項

AM・PMフラグに'AM'，'PM'以外の文字をセットした場合は，エラーとする。

LXRPIE05　24時間単位→12時間単位時刻変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIE05

時間処理

24時間単位→12時間単位時刻変換

LXRCIE05

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-TIME

9(6)

時刻（24時制）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-TMAP

9(6)

時刻（12時制）

O

03

O-AP-KBN

X(2)

AM・PM区分

O

−

−

−

'AM'：午前

−

−

−

−

'PM'：午後

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREE005：時刻が数値でない

−

処理基準

入力時刻のチェックを（時刻妥当性チェック（24時間）：LXRPIE01）を用いて行い，エラーの場合はリターンコードを返す。

リターンコードがスペースの時，24時間単位の時刻を12時間単位の時刻に変換する。

例1

　I-TIME  ：151515（15時15分15秒）
　↓
　O-TMAP  ：031515（3時15分15秒）
　O-AP-KBN：'PM'
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（時刻妥当性チェック（24時間）：LXRPIE01）を呼び出す。

サブルーチン呼び出しでエラーになった場合はリターンコードをそのまま返し，時刻に0，AM・PM区分にスペースを返す。

LXRPIE06　12時間単位→24時間単位時刻変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIE06

時間処理

12時間単位→24時間単位時刻変換

LXRCIE06

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-TMAP

9(6)

時刻（12時制）

I

03

I-AP-KBN

X(2)

AM・PM区分

I

−

−

−

'AM'：午前

−

−

−

−

'PM'：午後

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-TIME

9(6)

時刻（24時制）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREE005：時刻が数値でない

−

−

−

−

−

−

−

−

−

−

−

処理基準

入力時刻のチェックを（時刻妥当性チェック（12時間）：LXRPIE02）を用いて行い，エラーの場合はリターンコードを返す。

リターンコードがスペースの時，12時間単位の時刻を24時間単位の時刻に変換する。

例1

　I-AP-KBN：'PM'
　I-TMAP  ：031515（3時15分15秒）
　↓
　O-TIME  ：151515（15時15分15秒）
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（時刻妥当性チェック（12時間）：LXRPIE02）を呼び出す。

サブルーチン呼び出しでエラーになった場合はリターンコードをそのまま返し，時刻に0を返す。

LXRPIE07　経過時間算出（24時間単位）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIE07

時間処理

経過時間算出（24時間単位）

LXRCIE07

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STT-TIME

9(6)

開始時刻

I

03

I-END-TIME

9(6)

終了時刻

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-HRS

9(6)

時間

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREE008：開始時刻≦終了時刻でない

−

−

−

−

LXREE005：時刻が数値でない

−

−

−

−

−

−

処理基準

入力された2つの時刻（24時間単位）のチェックを（時刻妥当性チェック（24時間）：LXRPIE01）を用いて行い，エラーの場合はリターンコードを返す。

リターンコードがスペースの時，入力された2つの時刻（24時間単位）の差を時分秒で求める。

例1

　I-STT-TIME：013030
　I-END-TIME：134545
　↓
　O-HRS     ：121515
　O-RTN-CD  ：SPACE

注意事項

このサブルーチンから（時刻妥当性チェック（24時間）：LXRPIE01）を呼び出す。

開始時刻＞終了時刻とすると，リターンコードに'LXREE008'を返す。

エラーの場合，出力時間には0を返す。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返す。

LXRPIE08　経過時間算出（12時間単位）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIE08

時間処理

経過時間算出（12時間単位）

LXRCIE08

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STT-TMAP

9(6)

開始時刻（12時制）

I

03

I-STT-AP-KBN

X(2)

開始AM・PM区分

I

−

−

−

'AM'：午前

−

−

−

−

'PM'：午後

−

03

I-END-TMAP

9(6)

終了時刻（12時制）

I

03

I-END-AP-KBN

X(2)

終了AM・PM区分

I

−

−

−

'AM'：午前

−

−

−

−

'PM'：午後

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-HRS

9(6)

時間

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREE005：時刻が数値でない

−

−

−

−

−

−

処理基準

入力された2つの時刻（12時間単位）の差を時分秒で求める。

例1

　I-STT-TMAP  ：'AM'
　I-STT-AP-KBN：100000
　I-END-TMAP  ：'PM'
　I-END-AP-KBN：033000
　↓
　O-HRS       ：053000
　O-RTN-CD    ：SPACE

注意事項

このサブルーチンから（12時間単位→24時間単位時刻変換：LXRPIE06），（経過時間算出（24時間単位）：LXRPIE07）を呼び出す。

開始時刻＞終了時刻とすると，リターンコードに'LXREE008'を返す。

エラーの場合，出力時間には0を返す。

サブルーチン呼び出しでエラーとなった場合は，リターンコードをそのまま返す。

LXRPIE09　時間加算

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIE09

時間処理

時間加算

LXRCIE09

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-1ST-HRS

9(8)

第一時間（hhhhmmss）

I

03

I-2ND-HRS

9(8)

第二時間（hhhhmmss）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-HRS

9(8)

時間（hhhhmmss）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREE006：桁あふれ

−

−

−

−

LXREE005：時間が数値でない

−

処理基準

入力された2つの時間のチェックを（時間チェック：LXRPIE16）を用いて行い，エラーの場合はリターンコードを返す。

リターンコードがスペースの時，入力された2つの時間の加算を行う。

例1

　I-1ST-HRS：00123456
　I-2ND-HRS：98765432
　↓
　O-HRS    ：98892928
　O-RTN-CD ：SPACE

注意事項

このサブルーチンから（時間チェック：LXRPIE16）を呼び出す。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返す。

エラーの場合，出力時間には0を返す。

LXRPIE10　時間差算出

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIE10

時間処理

時間差算出

LXRCIE10

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-STT-HRS

9(8)

開始時間（hhhhmmss）

I

03

I-END-HRS

9(8)

終了時間（hhhhmmss）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-HRS

9(8)

時間（hhhhmmss）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREE008：開始時間≦終了時間でない

−

−

−

−

LXREE005：時間が数値でない

−

処理基準

（時間チェック：LXRPIE16）によって，開始時間および終了時間のチェックを行う。エラーの場合，（時間チェック：LXRPIE16）のリターンコードをそのままリターンコードとする。出力時間は0とする。

開始時間≦終了時間であることをチェックする。そうでないときはエラーコード'LXREE008'をリターンコードとして返す。出力時間は0とする。

入力された2つの時間の差を時分秒で求める。

例1

　I-STT-HRS：00123456
　I-END-HRS：98765432
　↓
　O-HRS    ：98641936
　O-RTN-CD ：SPACE

例2

　I-STT-HRS：00001000
　I-END-HRS：00000959
　↓
　O-HRS    ：0
　O-RTN-CD ：'LXREE008'

注意事項

このサブルーチンから（時間チェック：LXRPIE16）を呼び出す。

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

ＨＨ

「時」を全角変換したもの

4

ＺＨ

「時」をZ9編集し，全角変換したもの

5

HH

「時」

6

ZH

「時」をZ9編集したもの

7

ＭＮ

「分」を全角変換したもの

8

ＺＮ

「分」をZ9編集し，全角変換したもの

9

MN

「分」

10

ZN

「分」をZ9 編集したもの

11

ＳＳ

「秒」を全角変換したもの

12

ＺＳ

「秒」を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：'「午ＯＺＨ時ＺＮ分ＺＳ秒」'
　↓
　O-TIME  ：'「午後△６時４５分△０秒」'

例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）を呼び出す。

LXRPIE12　日時加減算（西暦12時間単位）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIE12

日時処理

日時加減算（西暦12時間単位）

LXRCIE12

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMD

9(8)

年月日（YYYYMMDD）

I

03

I-TMAP

9(6)

時刻（12時制）（hhmmss）

I

03

I-AP-KBN

X(2)

AM・PM区分

I

−

−

−

'AM'：午前，'PM'：午後

−

03

I-KKN

9(7)

期間（DDDDDDD）

I

03

I-HRS

9(6)

時間（hhmmss）

I

03

I-SHR-KBN

X(1)

処理区分

I

−

−

−

'+'：加算，'-'：減算

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMD

9(8)

年月日（YYYYMMDD）

O

03

O-TMAP

9(6)

時刻（12時制）（hhmmss）

O

03

O-AP-KBN

X(2)

AM・PM区分

O

−

−

−

'AM'：午前，'PM'：午後

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREE005：年月日，時刻，期間，時間が数値でない

−

処理基準

入力時刻のチェックを（時刻妥当性チェック（12時間）：LXRPIE02）を用いて行い，エラーの場合はリターンコードを返す。

リターンコードがスペースの時，12時間単位の西暦日時と日時の加算または減算を行う。

例1

　I-YMD    ：19890701
　I-TMAP   ：012345
　I-AP-KBN ：'AM'
　I-KKN    ：0000005
　I-HRS    ：123456
　I-SHR-KBN：'+'
　↓
　O-YMD    ：19890706
　O-TMAP   ：015841
　O-AP-KBN ：'PM'
　O-RTN-CD ：SPACE

注意事項

このサブルーチンから（時刻妥当性チェック（12時間）：LXRPIE02），（24時間単位→12時間単位時刻変換：LXRPIE05），（12時間単位→24時間単位時刻変換：LXRPIE06），（日時加減算（西暦24時間単位）：LXRPIE13）を呼び出す。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返す。

エラーの時，年月日，時刻には0，AM・PM区分にはスペースを返す。

LXRPIE13　日時加減算（西暦24時間単位）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIE13

日時処理

日時加減算（西暦24時間単位）

LXRCIE13

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMD

9(8)

年月日（YYYYMMDD）

I

03

I-TIME

9(6)

時刻（hhmmss）

I

03

I-KKN

9(7)

期間（DDDDDDD）

I

03

I-HRS

9(6)

時間（hhmmss）

I

03

I-SHR-KBN

X(1)

処理区分

I

−

−

−

'+'：加算，'-'：減算

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMD

9(8)

年月日（YYYYMMDD）

O

03

O-TIME

9(6)

時刻（hhmmss）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXRED009：処理区分が'+''-'以外

−

−

−

−

LXREE005：年月日，時刻，期間，時間が数値でない

−

処理基準

入力年月日のチェックを（実在日チェック（西暦）：LXRPID01）を用いて行い，エラーの場合はリターンコードを返す。

リターンコードがスペースの時，入力時刻および入力時間のチェックを（時刻妥当性チェック（24時間）：LXRPIE01）を用いて行い，エラーの場合はリターンコードを返す。

リターンコードがスペースの時，24時間単位の西暦日時と日時の加算または減算を行う。

例1

　I-YMD    ：19890701
　I-TIME   ：123456
　I-KKN    ：0000009
　I-HRS    ：012345
　I-SHR-KBN：'+'
　↓
　O-YMD    ：19890710
　O-TIME   ：135841
　O-RTN-CD ：SPACE

注意事項

このサブルーチンから（実在日チェック（西暦）：LXRPID01），（年月日算出（西暦年月日±日数）：LXRPID11），（時刻妥当性チェック（24時間）：LXRPIE01），（時間加算：LXRPIE09），（時間差算出：LXRPIE10）を呼び出す。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返す。

エラーの時，年月日，時刻には0を返す。

LXRPIE14　日時加減算（和暦12時間単位）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIE14

日時処理

日時加減算（和暦12時間単位）

LXRCIE14

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

9(7)

年月日（和暦）（NYYMMDD）

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）

−

03

I-TMAP

9(6)

時刻（12時制）（hhmmss）

I

03

I-AP-KBN

X(2)

AM・PM区分（AM：午前，PM：午後）

I

03

I-KKN

9(7)

期間（DDDDDDD）

I

03

I-HRS

9(6)

時間（hhmmss）

I

03

I-SHR-KBN

X(1)

処理区分（+：加算，-：減算）

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMDWA

9(7)

年月日（和暦）（NYYMMDD）

O

−

−

−

（1：明治，2：大正，3：昭和，4：平成）

−

03

O-TMAP

9(6)

時刻（12時制）（hhmmss）

O

03

O-AP-KBN

X(2)

AM・PM区分（AM：午前，PM：午後）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREE005：年月日，時刻，期間，時間が数値でない

−

処理基準

入力年月日のチェックを（実在日チェック（和暦）：LXRPID02）を用いて行い，エラーの場合はリターンコードを返す。

リターンコードがスペースの時，12時間単位の和暦日時と日時の加算または減算を行う。

例1

　I-YMDWA  ：3630101
　I-TMAP   ：111111
　I-AP-KBN ：'AM'
　I-KKN    ：0000031
　I-HRS    ：022222
　I-SHR-KBN：'+'
　↓
　O-YMDWA  ：3630201
　O-TMAP   ：013333
　O-AP-KBN ：'PM'
　O-RTN-CD ：SPACE

注意事項

このサブルーチンから（実在日チェック（和暦）：LXRPID02），（年月日変換（西暦→和暦）：LXRPID05），（年月日変換（和暦→西暦）：LXRPID06），（日時加減算（西暦12時間単位）：LXRPIE12）を呼び出す。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返す。

エラーの時，年月日，時刻には0，AM・PM区分にはスペースを返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.49　LXRPIE14　（日時加減算（和暦12時間単位））」を参照のこと。

LXRPIE15　日時加減算（和暦24時間単位）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIE15

日時処理

日時加減算（和暦24時間単位）

LXRCIE15

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-YMDWA

9(7)

年月日（和暦）（NYYMMDD）

I

−

−

−

（1：明治，2：大正，3：昭和，4：平成）

−

03

I-TIME

9(6)

時刻（hhmmss）

I

03

I-KKN

9(7)

期間（DDDDDDD）

I

03

I-HRS

9(6)

時間（hhmmss）

I

03

I-SHR-KBN

X(1)

処理区分 （+：加算，-：減算）

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-YMDWA

9(7)

年月日（和暦）（NYYMMDD）

O

−

−

−

（1：明治，2：大正，3：昭和，4：平成）

−

03

O-TIME

9(6)

時刻（hhmmss）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREE005：年月日，時刻，期間，時間が数値でない

−

処理基準

入力年月日のチェックを（実在日チェック（和暦）：LXRPID02）を用いて行い，エラーの場合はリターンコードを返す。

リターンコードがスペースの時，24時間単位の和暦日時と日時の加算または減算を行う。

例1

　I-YMDWA  ：3630101
　I-TIME   ：111111
　I-KKN    ：0000373
　I-HRS    ：022222
　I-SHR-KBN：'+'
　↓
　O-YMDWA  ：4010108
　O-TIME   ：133333
　O-RTN-CD ：SPACE

注意事項

このサブルーチンから（実在日チェック（和暦）：LXRPID02），（年月日変換（西暦→和暦）：LXRPID05），（年月日変換（和暦→西暦）：LXRPID06），（日時加減算（西暦24時間単位）：LXRPIE13）を呼び出す。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返す。

エラーの時，年月日，時刻には0を返す。

年号情報を設定変更した場合の動作の変更点については，「3.4.50　LXRPIE15　（日時加減算（和暦24時間単位））」を参照のこと。

LXRPIE16　時間チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIE16

時間処理

時間チェック

LXRCIE16

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-HRS

9(8)

入力時間

I

−

−

−

形式：hhhhmmss

−

−

−

−

　hhhh：時

−

−

−

−

　mm：分

−

−

−

−

　ss：秒

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREF005：数字以外が入力された

−

−

−

−

LXREF003：分が不正

−

−

−

−

LXREF004：秒が不正

−

−

−

−

−

−

処理基準

次の順でチェックを行い，エラーの場合はリターンコードを返す。

No.

チェック

リターンコード

1

2

3

時間が数字だけである

「分」＜60

「秒」＜60

LXREE005

LXREE003

LXREE004

例1

　I-HRS   ：0000QQQQ
　↓
　O-RTN-CD：'LXREE005'

例2

　I-HRS   ：00006000
　↓
　O-RTN-CD：'LXREE003'

例3

　I-HRS   ：00000060
　↓
　O-RTN-CD：'LXREE004'

注意事項

　なし。

LXRPIE17　時間（秒）→時間変換編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIE17

時間処理

時間（秒）→時間変換編集

LXRCIE17

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-TYP

X(1)

タイプ

OT

03

I-SEC

P(9)

入力時間（秒）

I

03

I-FORMAT

X(100)

フォーマット

C

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-HRS

X(100)

出力時間

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

処理基準

次の順でチェックを行い，エラーの場合は該当するリターンコードを返す。

No.

チェック

リターンコード

1

2

3

時間（秒）が数字だけである

時間（秒）＞＝0

時間（秒）＜36000000

LXREE005

LXREE007

LXREE006

上表項番1のチェックでエラーでなければ時間（秒）を時間に変換する。

上表項番2と3のチェックで，エラーであっても，変換を行う（注意事項参照）。

（時間編集：LXRPIE20）を用いて編集処理を行う。

4.1 置換処理

No.

置換規則

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

ＨＨＨＨ

ＺＺＺＺ

HHHH

ZZZH

ＨＨ

ＺＨ

HH

ZH

ＭＮ

ＺＮ

MN

ZN

ＳＳ

ＺＳ

SS

ZS

「時」を全角変換

「時」をZZZ9編集，全角変換

「時」

「時」をZ9編集

「時」下2桁を全角変換

「時」下2桁をZ9編集，全角変換

「時」下2桁

「時」下2桁をZ9編集

「分」を全角変換

「分」をZ9編集，全角変換

「分」

「分」をZ9編集

「秒」を全角変換

「秒」をZ9編集，全角変換

「秒」

「秒」をZ9編集

4.2 機能キャラクタ処理

　　（LXRPIE20参照）

例1

　I-SEC   ：000003661
　I-TYP   ：'N'
　I-FORMAT：'「ＨＨＨＨ:ＭＮ:ＳＳ」'
　↓
　O-HRS   ：'０００１：０１：０１'
　O-RTN-CD：SPACE

例2

　I-SEC   ：-035999999
　I-TYP   ：'N'
　I-FORMAT：'「ＨＨＨＨ:ＭＮ:ＳＳ」'
　↓
　O-HRS   ：'９９９９：５９：５９'
　O-RTN-CD：'LXREE007'

例3

　I-SEC   ：036003661
　I-TYP   ：'N'
　I-FORMAT：'「ＺＺＺＨ:ＺＮ:ＺＳ」'
　↓
　O-HRS   ：'△△△１：△１：△１'
　O-RTN-CD：'LXREE006'

注意事項

上表チェック項番2によってエラーと判定されると，入力データが正の数であるとして変換を行い，リターンコードに'LXREE007'を送る。

上表チェック項番3によってエラーと判定されると，リターンコードに'LXREE006'を送った後に変換を行うが，その際桁あふれを生じる。

このサブルーチンから（時間（秒）→時間変換：LXRPIE19），（時間編集：LXRPIE20）を呼ぶ。

LXRPIE18　時間→時間（秒）変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIE18

時間処理

時間→時間（秒）変換

LXRCIE18

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-HRS

9(8,2)

入力時間

I

−

−

−

形式：hhhhmmssvv

−

−

−

−

　hhhh：時

−

−

−

−

　mm：分

−

−

−

−

　ss：秒

−

−

−

−

　vv：1/100秒

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-SEC

P(9,2)

出力時間（秒）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

処理基準

入力時間が数字だけでない場合はリターンコードに'LXREE005'を返す（項番1）。

リターンコードがスペースの時，入力時間のチェックを（時間チェック：LXRPIE16）を用いて行い，エラーの場合はリターンコードを返す（項番2〜3）。

No.

チェック

リターンコード

1

2

3

時間が数字だけである

「分」＜60

「秒」＜60

LXREE005

LXREE003

LXREE004

エラーでなければ，入力時間を秒に変換する。

例1

　I-HRS   ：0000QQQQ.00
　↓
　O-SEC   ：000000000.00
　O-RTN-CD：'LXREE005'

例2

　I-HRS   ：00006000.00
　↓
　O-SEC   ：000000000.00
　O-RTN-CD：'LXREE003'

例3

　I-HRS   ：00000060.00
　↓
　O-SEC   ：000000000.00
　O-RTN-CD：'LXREE004'

例4

　I-HRS   ：00010101.01
　↓
　O-SEC   ：000003661.01
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（時間チェック：LXRPIE16）を呼び出す。

LXRPIE19　時間（秒）→時間変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIE19

時間処理

時間（秒）→時間変換

LXRCIE19

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-SEC

P(9,2)

入力時間（秒）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-HRS

9(8,2)

出力時間

O

−

−

−

形式：hhhhmmssvv

−

−

−

−

　hhhh：時

−

−

−

−

　mm：分

−

−

−

−

　ss：秒

−

−

−

−

　vv：1/100秒

−

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

−

−

処理基準

次の順でチェックを行い，エラーの場合は該当するリターンコードを返す。

No.

チェック

リターンコード

1

2

3

時間（秒）が数字だけである

時間（秒）＞＝0

時間（秒）＜36000000.00

LXREE005

LXREE007

LXREE006

エラーでなければ時間(秒)を時間に変更する。

例1

　I-SEC   ：036003661.01
　↓
　O-HRS   ：00000000.00
　O-RTN-CD：'LXREE006'

例2

　I-SEC   ：-035999999.99
　↓
　O-HRS   ：00000000.00
　O-RTN-CD：'LXREE007'

例3

　I-SEC   ：0000QQQQQ.00
　↓
　O-HRS   ：00000000.00
　O-RTN-CD：'LXREE005'

例4

　I-SEC   ：000003661.01
　↓
　O-HRS   ：00010101.01
　O-RTN-CD：SPACE

注意事項

上表項番2のチェックによってエラーと判定されると，変換せずに終了し，リターンコードに'LXREE007'を送る。出力時間には0を返す。

上表項番3のチェックによってエラーと判定されると，変換せずに終了し，リターンコードに'LXREE006'を送る。出力時間には0を返す。

LXRPIE20　時間編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIE20

時間処理

時間編集

LXRCIE20

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-TYP

X(1)

タイプ

OT

03

I-HRS

9(8)

入力時間

I

−

−

−

形式：hhhhmmss

−

−

−

−

　hhhh：時

−

−

−

−

　mm：分

−

−

−

−

　ss：秒

−

03

I-FORMAT

X(100)

フォーマット

C

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-HRS

X(100)

出力時間

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREE005：時間が数値でない

−

処理基準

I-FORMATに対して次の仕様で置換処理を行う。

No.

置換規則

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

ＨＨＨＨ

ＺＺＺＺ

HHHH

ZZZH

ＨＨ

ＺＨ

HH

ZH

ＭＮ

ＺＮ

MN

ZN

ＳＳ

ＺＳ

SS

ZS

「時」を全角変換

「時」をZZZ9編集，全角変換

「時」

「時」をZ9編集

「時」下2桁を全角変換

「時」下2桁をZ9編集，全角変換

「時」下2桁

「時」下2桁をZ9編集

「分」を全角変換

「分」をZ9編集，全角変換

「分」

「分」をZ9編集

「秒」を全角変換

「秒」をZ9編集，全角変換

「秒」

「秒」をZ9編集

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-HRS   ：01234500
　I-TYP   ：'X'
　I-FORMAT：'「ＺＺＺＨ：ＭＮ：ＳＳ」'
　↓
　O-HRS   ：'「　１２３：４５：００」'
　O-RTN-CD：SPACE

例2

　I-HRS   ：00010101
　I-TYP   ：'N'
　I-FORMAT：'HHHH:MN:SS'
　↓
　O-HRS   ：'」0001:01:01
　O-RTN-CD：SPACE

　注：例はVOS3版の場合で，
　　　'「'はX'0A42',
　　　'」'はX'0A41'を表す。

注意事項

（時間チェック：LXRPIE16）によって，入力時間の妥当性をチェックし，リターンコードをそのままこのサブルーチンのリターンコードとする。エラーのときはフォーマットをそのまま出力時間に転記する。

このサブルーチンから（半角→全角変換：LXRPIC01），（時間チェック：LXRPIE16）を呼び出す。

2.3で，「文字列の最後の文字」とはその文字より後方にスペースしか存在していない文字を指す。

LXRPIF01　氏名（漢字）チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIF01

項目処理

氏名（漢字）チェック

LXRCIF01

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-SHMKJ

N(10)

氏名（漢字）

I

03

I-SHR-KBN

X(1)

処理区分

C

−

−

−

'1'：空白を全角空白にする

−

−

−

−

その他：空白を半角空白にする

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-SHMKJ

N(10)

氏名（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREB001：全角文字として正しくない

−

−

−

−

LXREF001：スペースが間にない

−

−

−

−

LXREF002：スペースが2個所以上ある

−

−

−

−

LXREF005：すべてがスペースである

−

−

−

−

−

−

処理基準

入力した氏名（漢字）のチェックをする。

1.1 I-SHMKJを（漢字コードチェック：LXRPIB01）を呼び，チェックする。

1.2 リターンコードがスペースの時，I-SHMKJ内のスペースの個所を数えてチェックする。

エラーでなければ次の編集処理を行う。

2.1 処理区分が'1'のときは，半角空白を全角空白に置換する。そのほかのときは，全角空白を半角空白

　　に置換する。

2.2 出力する氏名（漢字）は氏と名の間を空白1文字（空白の種類は処理区分に従う）にし，氏の前の

　　スペースは左詰めにして除く。

例1

　I-SHMKJ  ：'△△山田△太郎'
　I-SHR-KBN：SPACE
　↓
　O-SHMKJ：'山田△太郎'
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（漢字コードチェック：LXRPIB01），（漢字データ左詰め：LXRPIB04），（不要空白削除（漢字データ）：LXRPIB09），（漢字データ有効桁数算出：LXRPIB07），（全角空白→半角空白置換：LXRPIB13），（半角空白→全角空白置換：LXRPIB14）を呼び出す。

エラーの場合，I-SHMKJをそのままO-SHMKJに転記する。

入力する氏名（漢字）の空白は，半角2文字・全角1文字のどちらでも可。

LXRPIF02　氏名（半角カナ）チェック

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIF02

項目処理

氏名（半角カナ）チェック

LXRCIF02

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-SHMKN

X(20)

氏名（半角カナ）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-SHMKN

X(20)

氏名（半角カナ）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREA007：半角文字コード以外あり

−

−

−

−

LXREF001：スペースが間にない

−

−

−

−

LXREF002：スペースが2個所以上ある

−

−

−

−

LXREF005：すべてがスペースである

−

−

−

−

−

−

処理基準

入力した氏名(半角カナ)のチェックをする。

1.1 I-SHMKNを（文字コードチェック：LXRPIA01）を呼び，チェックする。

1.2 リターンコードがスペースの時，I-SHMKN内のスペースの個所を数えてチェックする。

エラーでなければ次の編集処理を行う。

2.1 出力する氏名（半角カナ）は氏と名の間をスペース1文字にし，氏の前のスペースは左詰めにして

　　除く。

例1

　I-SHMKN ：'△△ﾔﾏﾀﾞ△ﾀﾛｳ'
　↓
　O-SHMKN ：'ﾔﾏﾀﾞ△ﾀﾛｳ'
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（文字コードチェック：LXRPIA01），（文字列左詰め：LXRPIA06），（不要空白削除：LXRPIA16），（有効桁数算出：LXRPIA09）を呼び出す。

半角カナ以外の文字でも，半角文字として正しければエラーとはしない。

氏名（半角カナ）の属性は，EUC対応版ではX(40)，Unicode対応版ではX(60)である。

LXRPIF03　氏名（漢字）分離編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIF03

項目処理

氏名（漢字）分離編集

LXRCIF03

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-SHMKJ

N(10)

氏名（漢字）

I

03

I-SHR-KBN

X(1)

処理区分

C

−

−

−

'1'：空白を全角空白にする

−

−

−

−

その他：空白を半角空白にする

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-SHKJ

N(10)

氏（漢字）

O

03

O-NMKJ

N(10)

名（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREB001：全角文字コード以外あり

−

−

−

−

LXREF001：スペースが間にない

−

−

−

−

LXREF002：スペースが2個所以上ある

−

−

−

−

LXREF005：すべてがスペースである

−

処理基準

I-SHMKJを（氏名（漢字）チェック：LXRPIF01）を呼び，チェックする。

リターンコードがスペースのとき，氏名（漢字）の分離編集をする。

2.1 氏名（漢字）を氏（漢字）と名（漢字）に分離する。スペースで区切られた前半をO-SHKJ，後半

　　をO-NMKJに転記する。

注

　・氏名（漢字）のスペースは全角1個，半角2個のどちらでも可。

　・氏名（漢字）の左端のスペースは，左詰めする（氏と名の区切りとは見なさない）。

　・氏（漢字），名（漢字）のスペースの種類は処理区分に従う。

例1

　I-SHMKJ  ：'△山田△太郎
　I-SHR-KBN：SPACE
　↓
　O-SHKJ   ：'山田'
　O-NMKJ   ：'太郎'
　O-RTN-CD ：SPACE

注意事項

このサブルーチンから（全角空白→半角空白置換：LXRPIB13），（半角空白→全角空白置換：LXRPIB14），（氏名（漢字）チェック：LXRPIF01）を呼び出す。

サブルーチンでエラーとなった場合はリターンコードをそのまま返し，氏（漢字），名（漢字）にはスペースを返す。

LXRPIF04　氏名（半角カナ）分離編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIF04

項目処理

氏名（半角カナ）分離編集

LXRCIF04

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-SHMKN

X(20)

氏名（半角カナ）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-SHKN

X(20)

氏（半角カナ）

O

03

O-NMKN

X(20)

名（半角カナ）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREA007：半角文字コード以外あり

−

−

−

−

LXREF001：スペースが間にない

−

−

−

−

LXREF002：スペースが2か所以上ある

−

−

−

−

LXREF005：すべてがスペースである

−

処理基準

I-SHMKNを（氏名（半角カナ）チェック：LXRPIF02）を呼び，チェックする。

リターンコードがスペースのとき，氏名（半角カナ）の分離編集をする。

2.1 氏名（半角カナ）を氏（半角カナ）と名（半角カナ）に分離する。スペースで区切られた前半を

　　O-SHKN，後半をO-NMKNに転記する。

注　氏名（半角カナ）の左端のスペースは，左詰めする（氏と名の区切りとは見なさない）。

例1

　I-SHMKN ：'△△ﾋﾀﾁ△ﾀﾛｳ'
　↓
　O-SHKN  ：'ﾋﾀﾁ'
　O-NMKN  ：'ﾀﾛｳ'
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（氏名（半角カナ）チェック：LXRPIF02）を呼び出す。

サブルーチンでエラーとなった場合はリターンコードをそのまま返し，氏（半角カナ），名（半角カナ）にはスペースを返す。

氏名（半角カナ），氏（半角カナ），名（半角カナ）の属性は，EUC対応版ではX(40)，Unicode対応版ではX(60)である。

LXRPIF05　氏名（漢字）結合編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIF05

項目処理

氏名（漢字）結合編集

LXRCIF05

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-SHKJ

N(10)

氏（漢字）

I

03

I-NMKJ

N(10)

名（漢字）

I

03

I-SHR-KBN

X(1)

処理区分

C

−

−

−

'1'：空白を全角空白にする

−

−

−

−

その他：空白を半角空白にする

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-SHMKJ

N(10)

氏名（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREB001：全角文字コード以外あり

−

−

−

−

LXREF003：切り捨てが発生した

−

−

−

−

LXREF005：すべてがスペースである

−

処理基準

I-SHKJ，I-NMKJを（漢字コードチェック：LXRPIB01）を呼びチェックする。

リターンコードがともにスペースの場合，氏名（漢字）の結合編集をする。

2.1氏（漢字）と名（漢字）を結合する。

　　氏名（漢字）は

　　　氏＋空白１文字＋名＋空白ｎ文字

　　となるように編集する。

2.2 氏名（漢字）の空白の種類は処理区分に従う。

　　注　LXREF003：氏名が長過ぎる場合は，超えた分を切り捨てて氏名（漢字）にセットする。

例1

　I-SHKJ   ：'日立'
　I-NMKJ   ：'花子'
　I-SHR-KBN：SPACE
　↓
　O-SHMKJ  ：'日立△花子'
　O-RTN-CD ：SPACE

例2

　I-SHKJ   ：'日立'
　I-NMKJ   ：'花子'
　I-SHR-KBN：'1'
　↓
　O-SHMKJ  ：'日立▲花子'
　O-RTN-CD ：SPACE

　　△：半角空白２個
　　▲：全角空白１個

注意事項

氏（漢字），名（漢字）のそれぞれの空白は削除する。

このサブルーチンから（漢字コードチェック：LXRPIB01），（空白削除（漢字データ）：LXRPIB08），（全角空白→半角空白置換：LXRPIB13），（半角空白→全角空白置換：LXRPIB14）を呼び出す。

エラーの場合，氏名（漢字）にはスペースを返す。

LXRPIF06　氏名（半角カナ）結合編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIF06

項目処理

氏名（半角カナ）結合編集

LXRCIF06

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-SHKN

X(20)

氏（半角カナ）

I

03

I-NMKN

X(20)

名（半角カナ）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-SHMKN

X(20)

氏名（半角カナ）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREA007：半角文字コード以外あり

−

−

−

−

LXREF003：切り捨てが発生した

−

−

−

−

LXREF005：すべてがスペースである

−

−

−

−

−

−

処理基準

I-SHKN，I-NMKNを（文字コードチェック：LXRPIA01）を呼びチェックする。

リターンコードがともにスペースの場合，氏名（半角カナ）の結合編集をする。

2.1 氏（半角カナ）と名（半角カナ）を結合する。

　　氏名（半角カナ）は

　　　氏＋半角空白１文字＋名＋半角空白ｎ文字

　　となるように編集する。

　注　LXREF003：氏名が長過ぎる場合は，超えた分を切り捨てて氏名（半角カナ）にセットする。

例1

　I-SHKN  ：'ﾋﾀﾁ'
　I-NMKN  ：'ﾀﾛｳ'
　↓
　O-SHMKN ：'ﾋﾀﾁ△ﾀﾛｳ'
　O-RTN-CD：SPACE

注意事項

氏（半角カナ），名（半角カナ）のそれぞれの空白は削除する。

このサブルーチンから（文字コードチェック：LXRPIA01），（空白削除：LXRPIA15）を呼び出す。

氏名（半角カナ），氏（半角カナ），名（半角カナ）の属性は，EUC対応版ではX(40)，Unicode対応版ではX(60)である。

LXRPIF07　郵便番号チェック／入力編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIF07

項目処理

郵便番号チェック／入力編集

LXRCIF07

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-ZIPCD

X(6)

郵便番号

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-ZIPCD

X(5)

郵便番号

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREF004：入力データの形式不正

−

−

−

−

−

−

処理基準

郵便番号のチェックを行う。

1.1 入力として正しいのは，

　　［数字3桁］

　　［数字5桁］

　　［数字3桁 ＋ '-' ＋ 数字2桁］

　　［数字3桁 ＋ '△' ＋ 数字4桁］

　　の4とおりとする。

　　（前後のスペースはあってもよい）

郵便番号が正しければ，次の編集を行う。

2.1 I-ZIPCDが数字3桁または5桁の場合は，左詰めする。

2.2 I-ZIPCDが数字の間に'-'または空白を含む場合は，それを取り除く。

例1

　I-ZIPCD ：'102-99'
　↓
　O-ZIPCD ：'10299'
　O-RTN-CD：SPACE

注意事項

このサブルーチンから（文字列左詰め：LXRPIA06），（指定文字列削除：LXRPIA14），（空白削除：LXRPIA15）を呼び出す。

LXRPIF08　郵便番号チェック／出力編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIF08

項目処理

郵便番号チェック／出力編集

LXRCIF08

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-ZIPCD

X(5)

郵便番号

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-ZIPCD

X(6)

郵便番号

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREF004：入力データの形式不正

−

−

−

−

−

−

処理基準

郵便番号のチェックを行う。

1.1 入力として正しいのは，

　　［数字3桁＋空白2桁］

　　［数字5桁］

　　の2通りとする。

1.2 その他はエラーとする。I-ZIPCDをそのままO-ZIPCDに転記し，エラーコード'LXREF004'を

　　リターンコードとして返す。

郵便番号が正しければ，次の編集を行う。

2.1 I-ZIPCDが数字3桁の場合は，I-ZIPCDをそのままO-ZIPCDに転記する。

2.2 I-ZIPCD が数字5桁の場合は，「先頭の3桁」＋'-'＋「残りの2桁」となるようにする。

例1

　I-ZIPCD ：'00101'
　↓
　O-ZIPCD ：'001-01'
　O-RTN-CD：SPACE

例2

　I-ZIPCD ：'123'
　↓
　O-ZIPCD ：'123'
　O-RTN-CD：SPACE

例3

　I-ZIPCD ：'1234'
　↓
　O-ZIPCD ：'1234'
　O-RTN-CD：'LXREF004'

注意事項

　なし。

LXRPIF09　金額編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIF09

項目処理

金額編集

LXRCIF09

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-TYP

X(1)

タイプ

OT

−

−

−

（'X'，'Z'，'N'に限定）

−

03

I-LENG

9(2)

長さ

OL

−

−

−

（タイプが'X'，'Z'：1以上60以下に限定

−

−

−

−

　タイプが'N'　　 ：1以上30以下に限定）

−

03

I-MINUS-CHR

X(6)

マイナスキャラクタ

C

03

I-KNGK

P(18)

入力金額

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-KNGK

X(60)

出力金額

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREF006：NUMERICエラー

−

−

−

−

LXREF009：タイプが'X'，'Z'，'N'以外

−

−

−

−

LXREF004：入力データ不正

−

−

−

−

LXREF008：機能キャラクタ不正

−

−

−

−

LXREF007：頭切れが起こった

−

−

−

−

−

−

処理基準

次の順でチェックを行う。

No.

チェック

リターンコード

1

2

3

長さ，金額が数字だけである

1≦長さ≦60(30)

タイプが'X'，'Z'，'N'のどれかである

LXREF006

LXREF004

LXREF009

エラーの場合，出力金額はスペースとする。

タイプが'X'の場合，次の処理を行う。

2.1 入力金額をZZZ,ZZZ,ZZZ,ZZZ,ZZZ,ZZ9に編集する。

2.2 マイナスキャラクタの先頭と末尾がX'0A42'，X'0A41'の場合

　　入力金額が負数の場合，数値の前方にマイナスキャラクタを付加する。

　　入力金額が正数の場合，数値の後方にX'0A41'2個を付加する（出力位置を揃えるため）。

2.3 マイナスキャラクタ中に機能キャラクタが存在しない場合

　　入力金額が負数の場合，数値の前方にマイナスキャラクタを付加する。

2.4 マイナスキャラクタ中に機能キャラクタが不正に存在する場合※

　　リターンコードに'LXREF008'を送る。

　　出力金額にSPACEを送る。

2.5 （文字列右詰め：LXRPIA07）を用いて長さ（I-LENG）に合わせて編集する。この際文字列の頭

　　切れを起こすとリターンコードに'LXREF007'を送る。

タイプが'Z'の場合，次の処理を行う。

3.1 入力金額を----,---,---,---,---,--9に編集する。

3.2 （文字列右詰め：LXRPIA07）を用いて長さ（I-LENG）に合わせて編集する。この際文字列の頭

　　切れを起こすとリターンコードに'LXREF007'を送る。

VOS3版ではタイプが'N'の場合，次の処理を行う。

4.1 入力金額をZZZZZZZZZZZZZZZZZ9に編集する。

4.2 マイナスキャラクタの先頭と末尾がX'0A42'，X'0A41'の場合

　　入力金額が負数の場合，数値の前方にマイナスキャラクタの中央2バイトを付加する。

4.3 マイナスキャラクタ中に機能キャラクタが存在しない場合

　　入力金額が負数の場合，数値の前方にマイナスキャラクタを付加する。

　　入力金額が正数の場合，数値の後方にX'0A41'2個を付加する（出力位置を揃えるため）。

4.4 マイナスキャラクタ中に機能キャラクタが不正に存在する場合※

　　リターンコードに'LXREF008'を送る。

　　出力金額にSPACEを送る。

4.5 （半角→全角変換：LXRPIC01）を用いて全角コードに変換する。

4.6 （漢字データ右詰め：LXRPIB05）を用いて長さ（I-LENG）に合わせて編集する。この際文字列

　　の頭切れを起こすとリターンコードに'LXREF007'を送る。

PC・UNIX版ではタイプが'N'の場合，次の処理を行う。

5.1 入力金額をZZZZZZZZZZZZZZZZZ9に編集する。

5.2 （半角→全角変換：LXRPIC01）を用いて全角コードに変換する。

5.3 入力金額が負数の場合，数値の前方にマイナスキャラクタを付加する。

5.4 （文字列右詰め：LXRPIA07）を用いて長さ（I-LENG）に合わせて編集する。この際文字列の頭

　　切れを起こすとリターンコードに'LXREF007'を送る。

注※　マイナスキャラクタの先頭にX'0A42'があるが後方にX'0A41'がない，または先頭にX'0A42'がないが後方にX'0A41'がある場合。

例1

　I-TYP      ：'X'
　I-LENG     ：5
　I-MINUS-CHR：'-'
　I-KNGK     ：-123
　↓
　O-KNGK     ：'△-123'
　O-RTN-CD   ：SPACE

例2

　I-TYP      ：'Z'
　I-LENG     ：5
　I-MINUS-CHR：'-'
　I-KNGK     ：123456
　↓
　O-KNGK     ：'3,456'
　O-RTN-CD   ：'LXREF007'

例3

　I-TYP      ：'N'
　I-LENG     ：4
　I-MINUS-CHR：'▲'
　I-KNGK     ：-12
　↓
　O-KNGK     ：'△▲１２'
　O-RTN-CD   ：SPACE

注意事項

このサブルーチンから（文字列右詰め：LXRPIA07），（空白削除：LXRPIA15），（半角→全角変換：LXRPIC01），（漢字データ右詰め：LXRPIB05），（空白削除（漢字データ）：LXRPIB08）を呼び出す。

リターンコードがスペースでない場合，出力金額にはスペースを返す。ただし，リターンコードが'LXREF007'の場合は処理を続行し，出力金額には編集結果文字列をそのまま返す。

EUC対応版，Unicode対応版で出力金額に半角カナが含まれる場合，文字数は実バイト長（EUC：2バイト/文字，Unicode：3バイト/文字）で指定する。

LXRPIF10　郵便番号チェック／入力編集（5桁および7桁）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIF10

項目処理

郵便番号チェック／入力編集（5桁および7桁）

LXRCIF10

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-ZIPCD

X(8)

郵便番号

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-ZIPCD

X(7)

郵便番号

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREF004：入力データの形式が不当

−

−

−

−

−

−

処理基準

（郵便番号チェック／入力編集（7桁）：LXRPIF12）を呼び出して，郵便番号の7桁チェックを行う。リターンコードがスペースなら，出力をO-ZIPCDに設定する。

リターンコードがスペースでない場合，次の処理を行う。

2.1 （郵便番号チェック／入力編集：LXRPIF07）を呼び出して，リターンコードがスペースなら，出

　　力をO-ZIPCDに設定する。

2.2 2.1の結果リターンコードがスペースでないとき，エラーコード'LXREF004'をリターンコード

　　として返す。

例1

　I-ZIPCD    ：'123-4567'
　↓
　O-ZIPCD    ：'1234567'
　O-RTN-CD   ：SPACE

例2

　I-ZIPCD    ：'123 4567'
　↓
　O-ZIPCD    ：'1234567'
　O-RTN-CD   ：SPACE

例3

　I-ZIPCD    ：'102-99'
　↓
　O-ZIPCD    ：'10299'
　O-RTN-CD   ：SPACE

注意事項

このサブルーチンから（郵便番号チェック／入力編集（7桁）：LXRPIF12），（郵便番号チェック／入力編集：LXRPIF07）を呼び出す。

LXRPIF11　郵便番号チェック／出力編集（5桁および7桁）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIF11

項目処理

郵便番号チェック／出力編集（5桁および7桁）

LXRCIF11

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-ZIPCD

X(7)

郵便番号

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-ZIPCD

X(8)

郵便番号

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREF004：入力データの形式が不当

−

−

−

−

LXREF010：入力データの形式が不当（郵便番号7桁）

−

−

−

−

−

−

処理基準

（郵便番号チェック／出力編集（7桁）：LXRPIF13）を呼び出して，郵便番号の7桁チェックする。リターンコードがスペースなら，出力をO-ZIPCDに設定する。

リターンコードがスペースでない場合，次の処理を行う。

2.1 I-ZIPCDの6，7桁目がすべてスペースであるかチェックする。

　2.1.1 6，7桁目がすべてスペースである場合

　　　（郵便番号チェック／出力編集：LXRPIF08）を呼び出して，リターンコードがスペース

　　　なら，出力をO-ZIPCDに設定する。リターンコードがスペースでないとき，I-ZIPCDを

　　　そのままO-ZIPCDに転記し，エラーコード'LXREF004'をリターンコードとして返す。

　2.1.2 6，7桁目がスペースでない場合

　　　I-ZIPCDをそのままO-ZIPCDに転記し，エラーコード'LXREF010'をリターンコードとして

　　　返す。

例1

　I-ZIPCD    ：'00101'
　↓
　O-ZIPCD    ：'001-01'
　O-RTN-CD   ：SPACE

例2

　I-ZIPCD    ：'0010101'
　↓
　O-ZIPCD    ：'001-0101'
　O-RTN-CD   ：SPACE

注意事項

このサブルーチンから（郵便番号チェック/出力編集（7桁）：LXRPIF13），（郵便番号チェック/出力編集：LXRPIF08）を呼び出す。

LXRPIF12　郵便番号チェック／入力編集（7桁）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIF12

項目処理

郵便番号チェック／入力編集（7桁）

LXRCIF12

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-ZIPCD

X(8)

郵便番号（7桁）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-ZIPCD

X(7)

郵便番号（7桁）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREF010：入力データの形式不正（郵便番号7桁）

−

−

−

−

−

−

処理基準

（文字列左詰め：LXRPIA06）を呼び出して，郵便番号を左詰めする。

郵便番号のチェックを行う。

2.1 入力が次の3とおりのとき，次の処理を行う。

　　［数字7桁 ＋ ' ' ］

　　［数字3桁 ＋ '-' ＋ 数字4桁］

　　［数字3桁 ＋ ' ' ＋ 数字4桁］

　2.1.1 I-ZIPCDが数字の間に'-'または空白を含む場合は，それを取り除き，出力する。

2.2 入力がどれにもあてはまらないとき，エラーコード'LXREF010'をリターンコードとして返す。

例1

　I-ZIPCD    ：'123-4567'
　↓
　O-ZIPCD    ：'1234567'
　O-RTN-CD   ：SPACE

例2

　I-ZIPCD    ：'123 4567'
　↓
　O-ZIPCD    ：'1234567'
　O-RTN-CD   ：SPACE

注意事項

このサブルーチンから（文字列左詰め：LXRPIA06），（指定文字列削除：LXRPIA14），（空白削除：LXRPIA15）を呼び出す。

LXRPIF13　郵便番号チェック／出力編集（7桁）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIF13

項目処理

郵便番号チェック／出力編集（7桁）

LXRCIF13

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-ZIPCD

X(7)

郵便番号（7桁）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-ZIPCD

X(8)

郵便番号（7桁）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREF010：入力データの形式不正（郵便番号7桁）

−

−

−

−

−

−

処理基準

郵便番号のチェックを行う。

1.1 入力が次のとき，次の処理を行う。

　　［数字７桁］

　1.1.1 I-ZIPCDを［先頭の3桁 ＋ '-' ＋ 残りの4桁］となるようにし，O-ZIPCDに設定する。

1.2 入力がどれにもあてはまらないとき，I-ZIPCDをそのままO-ZIPCDに転記し，エラーコード

　　'LXREF010'をリターンコードとして返す。

例1

　I-ZIPCD    ：'0010101'
　↓
　O-ZIPCD    ：'001-0101'
　O-RTN-CD   ：SPACE

例2

　I-ZIPCD    ：'12345  '
　↓
　O-ZIPCD    ：'12345  '
　O-RTN-CD   ：'LXREF010'

注意事項

　なし。

LXRPIF14　氏名（漢字）チェック（含外字）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIF14

項目処理

氏名（漢字）チェック（含外字）

LXRCIF14

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-SHMKJ

N(10)

氏名（漢字）

I

03

I-SHR-KBN

X(1)

処理区分

C

−

−

−

'1'：空白を全角空白にする

−

−

−

−

その他：空白を半角空白にする

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-SHMKJ

N(10)

氏名（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREB006：全角文字（含外字）コード以外あり

−

−

−

−

LXREF001：スペースが間にない

−

−

−

−

LXREF002：スペースが2か所以上ある

−

−

−

−

LXREF005：すべてがスペースである

−

−

−

−

−

−

処理基準

入力した氏名（漢字）のチェックをする。

1.1 I-SHMKJを（漢字コードチェック（含外字）：LXRPIB02）を呼び出し，チェックする。

1.2 リターンコードがスペースの時，I-SHMKJ内のスペースの数を数えてチェックする。

エラーでなければ次の編集処理を行う。

2.1 処理区分が'1'のときは，半角空白を全角空白に置換する。そのほかのときは，全角空白を半角空白

　　に置換する。

2.2 出力する氏名（漢字）は氏と名の間を空白1文字（空白の種類は処理区分に従う）にし，氏の前の

　　スペースは左詰めにして除く。

例1

　I-SHMKJ  ：'△△山田△太郎'
　I-SHR-KBN：SPACE
　↓
　O-SHMKJ  ：'山田△太郎'
　O-RTN-CD ：SPACE

注意事項

このサブルーチンから（漢字コードチェック（含外字）：LXRPIB02），（漢字データ左詰め：LXRPIB04），（不要空白削除（漢字データ）：LXRPIB09），（漢字データ有効桁数算出：LXRPIB07），（全角空白→半角空白置換：LXRPIB13），（半角空白→全角空白置換：LXRPIB14）を呼び出す。

エラーの場合，I-SHMKJをそのままO-SHMKJに転記する。

入力する氏名（漢字）の空白は，半角2文字・全角1文字のどちらでも可。

LXRPIF15　氏名（漢字）分離編集（含外字）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIF15

項目処理

氏名（漢字）分離編集（含外字）

LXRCIF15

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-SHMKJ

N(10)

氏名（漢字）

I

03

I-SHR-KBN

X(1)

処理区分

C

−

−

−

'1'：空白を全角空白にする

−

−

−

−

その他：空白を半角空白にする

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-SHKJ

N(10)

氏（漢字）

O

03

O-NMKJ

N(10)

名（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREB006：全角文字（含外字）コード以外あり

−

−

−

−

LXREF001：スペースが間にない

−

−

−

−

LXREF002：スペースが2か所以上ある

−

−

−

−

LXREF005：すべてがスペースである

−

−

−

−

−

−

処理基準

I-SHMKJを（氏名（漢字）チェック（含外字）：LXRPIF14）を呼び出しチェックする。

リターンコードがスペースのとき，氏名（漢字）の分離編集をする。

2.1 入力した氏名（漢字）を氏（漢字）と名（漢字）に分離する。スペースで区切られた前半を

　　O-SHKJ，後半をO-NMKJに転記する。

注

　・入力する氏名（漢字）のスペースは全角1個，半角2個のどちらでも可。

　・入力する氏名（漢字）の左端のスペースは，左詰めにする（氏と名の区切りとは見なさない）。

　・出力する氏（漢字）と名（漢字）のスペースの種類は処理区分に従う。

例1

　I-SHMKJ  ：'△山田△太郎'
　I-SHR-KBN：SPACE
　↓
　O-SHKJ   ：'山田'
　O-NMKJ   ：'太郎'
　O-RTN-CD ：SPACE

注意事項

このサブルーチンから（全角空白→半角空白置換：LXRPIB13），（半角空白→全角空白置換：LXRPIB14），（氏名（漢字）チェック（含外字）：LXRPIF14）を呼び出す。

エラーの場合はリターンコードをそのまま返し，氏（漢字），名（漢字）にはスペースを返す。

LXRPIF16　氏名（漢字）結合編集（含外字）

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIF16

項目処理

氏名（漢字）結合編集（含外字）

LXRCIF16

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-SHKJ

N(10)

氏（漢字）

I

03

I-NMKJ

N(10)

名（漢字）

I

03

I-SHR-KBN

X(1)

処理区分

C

−

−

−

'1'：空白を全角空白にする

−

−

−

−

その他：空白を半角空白にする

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-SHMKJ

N(10)

氏名（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常

−

−

−

−

LXREB006：全角文字（含外字）コード以外あり

−

−

−

−

LXREF003：切り捨てが発生した

−

−

−

−

LXREF005：すべてがスペースである

−

−

−

−

−

−

処理基準

I-SHKJ，I-NMKJを（漢字コードチェック（含外字）：LXRPIB02）を呼びチェックする。

リターンコードがともにスペースのとき，氏名（漢字）の結合編集をする。

2.1 入力した氏（漢字）と名（漢字）を結合する。

　　出力する氏名（漢字）は

　　　氏＋空白１文字＋名＋空白ｎ文字　

　　となるように編集する。

2.2 出力する氏名（漢字）の空白の種類は処理区分に従う。

例1

　I-SHKJ   ：'日立'
　I-NMKJ   ：'花子'
　I-SHR-KBN：SPACE
　↓
　O-SHMKJ  ：'日立△花子'
　O-RTN-CD ：SPACE

例2

　I-SHKJ   ：'日立'
　I-NMKJ   ：'花子'
　I-SHR-KBN：'1'
　↓
　O-SHMKJ  ：'日立▲花子'
　O-RTN-CD ：SPACE

　　△：半角空白2個
　　▲：全角空白1個

注意事項

入力した氏（漢字），名（漢字）のそれぞれの空白は削除する。

このサブルーチンから（漢字コードチェック（含外字）：LXRPIB02），（空白削除（漢字データ）：LXRPIB08），（全角空白→半角空白置換：LXRPIB13），（半角空白→全角空白置換：LXRPIB14）を呼び出す。

エラーの場合，氏名（漢字）にはスペースを返す。

氏名が長過ぎる場合は，超えた分を切り捨てて氏名（漢字）にセットする。

LXRPIG01　性別コードチェック／変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIG01

コード変換

性別コードチェック／変換

LXRCIG01

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-SEX-CD

X(1)

性別コード

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-SEX-AL

X(6)

性別（英字）

O

03

O-SEX-KJ

N(1)

性別（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREG001：コード変換エラー

−

−

−

−

−

−

処理基準

JISコード表に基づいて性別コードを変換する（JIS X 0303）。

例1

　I-SEX-CD：'1'
　↓
　O-SEX-AL：'MALE'
　O-SEX-KJ：'男'
　O-RTN-CD ：SPACE

例2

　I-SEX-CD：'2'
　↓
　O-SEX-AL：' FEMALE '
　O-SEX-KJ：'女'
　O-RTN-CD ：SPACE

例3

　I-SEX-CD：'3'
　↓
　O-SEX-AL：SPACE
　O-SEX-KJ：SPACE
　O-RTN-CD ：'LXREG001'

注意事項

エラーの場合，性別（英字），性別（漢字）にはスペースを返す。

LXRPIG02　学歴区分コードチェック／変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIG02

コード変換

学歴区分コードチェック／変換

LXRCIG02

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-GRKBN-CD

X(2)

学歴区分コード

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-GRKBN-NMKJ

N(30)

学歴区分名（漢字）

O

03

O-GRKBN-NMKN

X(30)

学歴区分名（半角カナ）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREG001：コード変換エラー

−

−

−

−

−

−

処理基準

JISコード表に基づいて学歴区分コードを変換する（JIS X 0407）。

例1

　I-GRKBN-CD    ：'2'
　↓
　O-GRKBN-NMKJ ：'短大卒'
　O-GRKBN-NMKN ：'ﾀﾝﾀﾞｲｿﾂ'
　O-RTN-CD      ：SPACE

注意事項

JIS X 0407は平成3年10月1日で廃止となった。

エラーの場合，学歴区分名（漢字），学歴区分名（半角カナ）にはスペースを返す。

学歴区分名（半角カナ）の属性は，EUC対応版ではX(60)，Unicode対応版ではX(90)である。

LXRPIG04　地目コードチェック／変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIG04

コード変換

地目コードチェック／変換

LXRCIG04

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-CTGL-CD

X(2)

地目コード

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-CTGL-NMKJ

N(30)

地目（漢字）

O

03

O-CTGL-NMKN

X(30)

地目（半角カナ）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREG001：コード変換エラー

−

−

−

−

−

−

処理基準

JISコード表に基づいて地目コードを変換する（JIS X 0411）。

例1

　I-CTGL-CD    ：'10'
　↓
　O-CTGL-NMKJ ：'宅地'
　O-CTGL-NMKN ：'ﾀｸﾁ'
　O-RTN-CD     ：SPACE

注意事項

エラーの場合，地目（漢字），地目（半角カナ）にはスペースを返す。

地目（半角カナ）の属性は，EUC対応版ではX(60)，Unicode対応版ではX(90)である。

LXRPIG05　勘定科目コードチェック／変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIG05

コード変換

勘定科目コードチェック／変換

LXRCIG05

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-ACCNT-CD

X(4)

勘定科目コード

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-ACCNT-NMKJ

N(30)

勘定科目名（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREG001：コード変換エラー

−

−

−

−

−

−

処理基準

JISコード表に基づいて勘定科目コードを変換する（JIS X 0406）。

例1

　I-ACCNT-CD  ：'2000'
　↓
　O-ACCNT-NMKJ：'固定資産'
　O-RTN-CD    ：SPACE

注意事項

エラーの場合，勘定科目名（漢字）にはスペースを返す。

LXRPIG09　フラグチェック／変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIG09

コード変換

フラグチェック／変換

LXRCIG09

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-FLG

X(1)

入力フラグ

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-FLG-AL

X(3)

出力フラグ（英字）

O

03

O-FLG-KJ

N(1)

出力フラグ（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREG001：コード変換エラー

−

−

−

−

−

−

処理基準

次の仕様でフラグを変換する。

I-FLG

O-FLG-AL

O-FLG-KJ

O-RTN-CD

SPACE

'0'

'1'

その他

'OFF'

'OFF'

'ON'

SPACE

'無'

'無'

'有'

SPACE

SPACE

SPACE

SPACE

'LXREG001'

例1

　I-FLG   ：'1'
　↓
　O-FLG-AL：'ON'
　O-FLG-KJ：'有'
　O-RTN-CD：SPACE

例2

　I-FLG   ：'0'
　↓
　O-FLG-AL：'OFF'
　O-FLG-KJ：'無'
　O-RTN-CD：SPACE

例3

　I-FLG   ：'3'
　↓
　O-FLG-AL：SPACE
　O-FLG-KJ：SPACE
　O-RTN-CD：'LXREG001'

注意事項

エラーの場合，出力フラグ（英字），出力フラグ（漢字）にはスペースを返す。

LXRPIG10　都道府県コードチェック／変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIG10

コード変換

都道府県コードチェック／変換

LXRCIG10

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-TDFK-CD

X(2)

入力都道府県コード

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-TDFK-NMKJ

N(4)

出力都道府県名（漢字）

O

03

O-TDFK-NMKN

X(10)

出力都道府県名（半角カナ）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREG001：コード変換エラー

−

−

−

−

−

−

処理基準

JISコード表に基づいて都道府県コードを変換する（JIS X 0401）。

例1

　I-TDFK-CD   ：'40'
　↓
　O-TDFK-NMKJ ：'福岡県'
　O-TDFK-NMKN ：'ﾌｸｵｶｹﾝ'
　O-RTN-CD    ：SPACE

例2

　I-TDFK-CD   ：'48'
　↓
　O-TDFK-NMKJ ：SPACE
　O-TDFK-NMKN ：SPACE
　O-RTN-CD    ：'LXREG001'

注意事項

エラーの場合，出力都道府県名（漢字），出力都道府県名（半角カナ）にはスペースを返す。

出力都道府県名（半角カナ）の属性は，EUC対応版ではX(20)，Unicode対応版ではX(30)である。

LXRPIG11　有無チェック／変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIG11

コード変換

有無チェック／変換

LXRCIG11

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-UM

X(1)

入力有無

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-UM-KJ

N(1)

出力有無（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREG001：コード変換エラー

−

−

−

−

−

−

処理基準

次の仕様でフラグを変換する。

I-UM

O-UM-KJ

O-RTN-CD

SPACE

'0'

'1'

その他

'無'

'無'

'有'

SPACE

SPACE

SPACE

SPACE

'LXREG001'

例1

　I-UM    ：'0'
　↓
　O-UM-KJ ：'無'
　O-RTN-CD：SPACE

例2

　I-UM    ：'1'
　↓
　O-UM-KJ ：'有'
　O-RTN-CD：SPACE

例3

　I-UM    ：'3'
　↓
　O-UM-KJ ：SPACE
　O-RTN-CD：'LXREG001'

注意事項

エラーの場合，出力有無（漢字）にはスペースを返す。

LXRPIG12　可否チェック／変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIG12

コード変換

可否チェック／変換

LXRCIG12

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-KAHI

X(1)

入力可否

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-KAHI-AL

X(2)

出力可否（英字）

O

03

O-KAHI-KJ

N(1)

出力可否（漢字）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREG001：コード変換エラー

−

処理基準

次の仕様で可否を変換する。

I-KAHI

O-KAHI-AL

O-KAHI-KJ

O-RTN-CD

SPACE

'0'

'1'

その他

'NG'

'NG'

'OK'

SPACE

'否'

'否'

'可'

SPACE

SPACE

SPACE

SPACE

'LXREG001'

例1

　I-KAHI   ：'1'
　↓
　O-KAHI-AL：'OK'
　O-KAHI-KJ：'可'
　O-RTN-CD ：SPACE

例2

　I-KAHI   ：'0'
　↓
　O-KAHI-AL：'NG'
　O-KAHI-KJ：'否'
　O-RTN-CD ：SPACE

例3

　I-KAHI   ：'3'
　↓
　O-KAHI-AL：SPACE
　O-KAHI-KJ：SPACE
　O-RTN-CD ：'LXREG001'

注意事項

エラーの場合，出力可否（英字），出力可否（漢字）にはスペースを返す。

LXRPIZ01　電話番号編集

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIZ01

項目処理

電話番号編集

LXRCIZ01

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-TELNO

X(13)

電話番号

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-TELNO

X(13)

電話番号

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREZ002：電話番号なし

−

−

−

−

LXREZ003：電話番号編集警告1

−

−

−

−

LXREZ004：電話番号編集警告2

−

−

−

−

LXREZ005：電話番号編集不能1

−

−

−

−

LXREZ006：電話番号編集不能2

−

−

−

−

−

−

処理基準

電話番号の市外局番，局番，番号を'-'で編集する。

電話番号なし　　　：ＳＰＡＣＥ

　（スペースが入力された）

電話番号編集警告1：ＸＸＸＸＸ　　　　　　　※

　（編集されたデータに数字部分が1ブロックしかない）

電話番号編集警告2：ＸＸＸＸ−ＸＸＸＸ　　　※

　（編集されたデータに数字部分が2ブロックしかない）

電話番号編集不能1：ＳＰＡＣＥ

　（入力されたデータに数字部分がない）

電話番号編集不能2：

　（編集されたデータに数字部分が4ブロック以上ある）

注※　桁数は意味がない。

例1

　I-TELNO ：'123△4567△8910'
　↓
　O-TELNO ：'123-4567-8910'
　O-RTN-CD：SPACE

注意事項

区切りは，数字以外の文字すべてとする。

編集不能の場合，O-TELNO はスペースとする。

LXRPIZ03　平方根算出

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIZ03

演算

平方根算出

LXRCIZ03

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-NUM

P(10,1)

数値

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-NUM

P(10,1)

数値

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREZ009：NUMERICエラー

−

−

−

−

LXREZ010：入力数値が負である

−

−

−

−

−

−

処理基準

入力された数値データの平方根を求める。

例1

　I-NUM   ：1234567890.1
　↓
　O-NUM   ：35136.4
　O-RTN-CD：SPACE

注意事項

算出した結果は，小数第２位で四捨五入する。

LXRPIZ04　チェックディジット計算

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIZ04

項目処理

チェックディジット計算

LXRCIZ04

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(2)

長さ

IL

03

I-NUM

X(37)

数字列

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(38)

文字列

O

03

O-CHK-DGT

X(1)

チェックディジット

O

03

O-RTN-CD

X(1)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREZ009：NUMERICエラー

−

−

−

−

LXREZ011：入力長が範囲外

−

−

−

−

LXREZ008：入力数字列に数字以外がある

−

−

−

−

−

−

処理基準

入力された数値データ（最大37バイト）から，チェックディジット（モジュラス11）を求め出力する。

例1

　I-LENG   ：5
　I-NUM    ：'12345'
　↓
　O-STR    ：'123455'
　O-CHK-DGT：'5'
　O-RTN-CD ：SPACE

　（計算例）
　　　データ　　　重み
　　　　1　×　6　＝　 6
　　　　2　×　5　＝　10
　　　　3　×　4　＝　12
　　　　4　×　3　＝　12
　　　　5　×　2　＝　10　（＋
　　　　　　　　-----------
　　　　　　　　　　　50
　　　 50　÷ 11　＝　4…6
　　　 11　− 　6　＝　5

注意事項

1≦入力バイト長≦37の範囲外の場合は，結果は評価しない。

重みは，最右端から上位桁に向かって2，3，4，5，6，7の繰り返しとする。

剰余が0，1の場合，チェックディジットは0とする。2〜10の場合は，（11−剰余）をチェックディジットとする。

LXRPIZ05　インチ→センチメートル変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIZ05

単位変換

インチ→センチメートル変換

LXRCIZ05

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-DSTIN

P(6,2)

距離（インチ）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-DSTCM

P(7,4)

距離（センチメートル）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREZ009：距離が数値でない

−

−

−

−

−

−

処理基準

インチ単位の数値データをセンチメートル単位の数値データに変換する。

例1

　I-DSTIN ：12.15
　↓
　O-DSTCM ：30.8610
　O-RTN-CD：SPACE

注意事項

1インチ＝2.54cmとして変換する。

結果は，小数点以下5桁で四捨五入する。

LXRPIZ06　センチメートル→インチ変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIZ06

単位変換

センチメートル→インチ変換

LXRCIZ06

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-DSTCM

P(6,2)

距離（センチメートル）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-DSTIN

P(6,4)

距離（インチ）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREZ009：距離が数値でない

−

−

−

−

−

−

処理基準

センチメートル単位の数値データをインチ単位の数値データに変換する。

例1

　I-DSTCM ：12.15
　↓
　O-DSTIN ：4.7835
　O-RTN-CD：SPACE

注意事項

1インチ＝2.54cmとして変換する。

結果は，小数点以下5桁で四捨五入する。

LXRPIZ07　ヤード→メートル変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIZ07

単位変換

ヤード→メートル変換

LXRCIZ07

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-DSTYD

P(6,2)

距離（ヤード）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-DST

P(6,4)

距離（メートル）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREZ009：距離が数値でない

−

−

−

−

−

−

処理基準

ヤード単位の数値データをメートル単位の数値データに変換する。

例1

　I-DSTYD ：12.15
　↓
　O-DST   ：11.1097
　O-RTN-CD：SPACE

注意事項

１ヤード＝0.91438mとして変換する。

結果は，小数点以下5桁で四捨五入する。

LXRPIZ08　メートル→ヤード変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIZ08

単位変換

メートル→ヤード変換

LXRCIZ08

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-DST

P(6,2)

距離（メートル）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-DSTYD

P(7,4)

距離（ヤード）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREZ009：距離が数値でない

−

−

−

−

−

−

処理基準

メートル単位の数値データをヤード単位の数値データに変換する。

例1

　I-DST   ：12.50
　↓
　O-DSTYD ：13.6705
　O-RTN-CD：SPACE

注意事項

１ヤード＝0.91438mとして変換する。

結果は，小数点以下5桁で四捨五入する。

LXRPIZ09　キログラム→ポンド変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIZ09

単位変換

キログラム→ポンド変換

LXRCIZ09

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-WT

P(6,2)

重量（キログラム）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-WTLB

P(7,4)

重量（ポンド）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREZ009：重量が数値でない

−

−

−

−

−

−

処理基準

キログラム単位の数値データをポンド単位の数値データに変換する。

例1

　I-WT    ：12.50
　↓
　O-WTLB  ：27.5573
　O-RTN-CD：SPACE

注意事項

1ポンド＝0.4536kgとして変換する。

結果は，小数点以下5桁で四捨五入する。

LXRPIZ10　ポンド→キログラム変換

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIZ10

単位変換

ポンド→キログラム変換

LXRCIZ10

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-WTLB

P(6,2)

重量（ポンド）

I

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-WT

P(6,4)

重量（キログラム）

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREZ009：重量が数値でない

−

−

−

−

−

−

処理基準

ポンド単位の数値データをキログラム単位の数値データに変換する。

例1

　I-WTLB  ：12.50
　↓
　O-WT    ：5.67
　O-RTN-CD：SPACE

注意事項

１ポンド＝0.4536kgとして変換する。

結果は，小数点以下5桁で四捨五入する。

LXRPIZ11　パラメータ解析

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIZ11

文字列処理

パラメータ解析

LXRCIZ11

インタフェース

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

03

I-PARM

X(50)

入力パラメータ

I

−

−

−

−

−

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

03

O-PARM-TBL

−

パラメータ（テーブル）

O

05

O-PARM

反復

OCCURS 10 TIMES.

O

−

−

−

出力パラメータ

−

07

O-NAME-1

X(10)

名前1

O

07

O-NAME-2

X(10)

名前2

O

07

O-NAME-3

X(10)

名前3

O

07

O-VALUE

X(10)

値

O

03

O-RTN-CD

X(10)

リターンコード

R

−

−

−

SPACE：正常終了

−

−

−

−

LXREZ012：半角文字コード以外あり

−

−

−

−

LXREZ013：パラメータ構文誤り

−

−

−

−

−

−

処理基準

O-PARM-TBL，O-RTN-CDをSPACEで初期化する。

I-PARMを（文字コードチェック：LXRPIA01）を用いてチェックする。

2.1 LXRPIA01のリターンコードが'LXREA007'の時，O-RTN-CDに'LXREA012'を返す。

2.2 そのほかの時，O-RTN-CDにSPACEを返す。

O-RTN-CDがSPACEで，かつI-PARMがSPACE以外の時，次の処理を行う。

3.1 I-PARMを，','を区切り文字として2つの文字列に分割する。ただし，'('と')'で囲まれた','は区切り

　　文字として認識しない。

3.2 分割した文字列それぞれを，'='を区切り文字としてさらに分割し，次に従い，

　　名前１（O-NAME-1），値（O-VALUE）に転送する。

　3.2.1 分割の結果，右辺のパラメータが1つの場合

　　　（例：'A=B'を分割→左辺'A'，右辺'B'）

　　　O-NAME-1(01)に左辺，O-VALUE(01)に右辺のパラメータ

　3.2.2 分割の結果，右辺のパラメータが2つの場合

　　　（例：'A=(B,C)'を分割→左辺'A'，右辺'(B,C)'）

　　　O-NAME-1(01)に左辺，O-VALUE(01)に右辺のパラメータ1

　　　O-NAME-1(02)に左辺，O-VALUE(02)に右辺のパラメータ2

　　　　　　　　　　　　：

3.3 O-PARMの各文字列に対し（文字列左詰め：LXRPIA06）を呼び出すことによって左詰め編集を

　　行う。

例1

　I-PARM      ：'A=B'
　↓
　O-NAME-1(01)：'A'
　O-VALUE(01) ：'B'

例2

　I-PARM      ：'A=(B,C)'
　↓
　O-NAME-1(01)：'A'
　O-VALUE(01) ：'B'
　O-NAME-1(02)：'A'
　O-VALUE(02) ：'C'

例3

　I-PARM      ：'A=(B,C),D=E'
　↓
　O-NAME-1(01)：'A'
　O-VALUE(01) ：'B'
　O-NAME-1(02)：'A'
　O-VALUE(02) ：'C'
　O-NAME-1(03)：'D'
　O-VALUE(03) ：'E'

例4

　I-PARM      ：'A=B,A=C'
　↓
　O-NAME-1(01)：'A'
　O-VALUE(01) ：'B'
　O-NAME-1(02)：'A'
　O-VALUE(02) ：'C'

注意事項

入力パラメータの構文が下記以外の場合はリターンコードに'LXREZ013'を返し，O-PARM-TBLにはSPACEを返す。

1.'A=B'　2.'A=(B,C)'　3.'A=B,C=(D,E)'　4.'A=(B,C),D=E'　5.'A=B,A=C'

（A，B，C，D，E は1個以上10個以下の英大文字並び）

O-NAME-1，O-VALUEの重複チェックは行わない。例4のように処理する。

このサブルーチンから（文字コードチェック：LXRPIA01），（文字列左詰め：LXRPIA06），（文字列有効桁数算出：LXRPIA09）を呼び出す。

3　標準サブルーチンで年号および祝祭日の変更に対応する方法

この章では，年号および祝祭日の変更に対応する方法，および変更で影響を受けるサブルーチンについて説明します。

3.1　年号および祝祭日の変更で考慮する内容

年号および祝祭日の変更で考慮する内容を次に示します。

3.1.1　年号の追加

ユーザアプリケーションプログラムの動作に影響がないかを考慮する必要がある，標準サブルーチンの動作変更内容を次に示します。

(1)　ユーザアプリケーションプログラムの動作に影響がないか考慮する内容

改元に伴い，変更になった設定情報を標準サブルーチンが取り込むことで，ユーザアプリケーションプログラムの動作に影響がないかを考慮する必要があります。

ユーザアプリケーションプログラムの動作に影響がないかを考慮する内容を次に示します。

想定外の年号コードの扱いの変更

デフォルトとなる年号は改元後の最新年号に変更になります（想定外の年号コードに対し，最新年号コードと解釈する仕様に変わりはありません）。

例えば，最新年号の年号コード（数字）が'4'（平成）の場合，年号コード（数字）に'6'を設定すると，想定外の年号コードと判断され，年号コード（数字）に'4'（平成）が設定されたと解釈して処理されます。改元によって，最新年号の年号コード（数字）が'5'になった場合，想定外の年号コードを設定すると，年号コード（数字）に'5'が設定されたと解釈して処理されます。

そのため，改元時のシステム切替の際に注意が必要です。

旧年号での和暦範囲の変更

過去の年号で許可していた日が禁止になります。

例えば，「平成」の場合，改元前は平成99年12月31日まで許可されていましたが，改元後は平成31年4月30日までとなります。

そのため，改元時のシステム切替の際に注意が必要です。

リターンコードの追加・変更

新年号情報の追加に伴い，追加されるリターンコードがあります。

例えば，「平成」の次の年号を新年号情報として追加すると，リターンコード'LXRED041'が追加になり，新年号（年号コード（数字）が'5'）の範囲外の年月日を入力した場合に，このリターンコードが設定されます。

また，新年号情報の追加に伴い，変更になるリターンコードがあります。

そのため，改元時のシステム切替の際に注意が必要です。

設定情報を変更することで影響を受ける標準サブルーチンについては，「3.3　設定情報を変更した場合に影響を受ける標準サブルーチンの一覧」および「3.4　設定情報を変更した場合に影響を受ける標準サブルーチン」を参照してください。

また，新年号情報に設定変更した場合に影響があるリターンコードについては，「3.5　新年号情報に設定変更した場合に影響があるリターンコード」を参照してください。

(2)　カスタマイズ情報設定ファイルの設定情報（年号情報）を追加する際に考慮する内容

改元に伴い，カスタマイズ情報設定ファイルで，年号情報に新年号名を追加する必要があります。カスタマイズ情報設定ファイルの設定情報（年号情報）を追加する際に考慮する内容を次に示します。

新年号名の追加

新年号名（漢字2文字）の16進表記を追加する必要があります。16進表記は，16進表示可能なコマンド（Windowsの場合はcertutilコマンドなど，UNIXの場合はodコマンドなど）で確認してください。

（例）Windowsの場合

certutil -encodehex 入力ファイル名 出力ファイル名

（例）UNIXの場合

od -x 入力ファイル名

新年号コード（数字）の追加

「5」を追加する必要があります。今後さらに改元が起きた場合，最大で「7」まで追加できます。

新年号コード（英字）の追加

新年号の漢字を英字表記にしたときに，慣例に従い先頭1文字など，重複しない英字1文字を追加する必要があります。

新年号の開始西暦年月日の追加

新年号の開始年月日（西暦）を追加する必要があります。

例えば，「平成」の次の年号の場合，西暦2019年5月1日を追加する必要があります。

今後さらに改元が起きた場合，最新年号の開始西暦年月日を追加する必要があります。

3.1.2　祝祭日の変更

各祝祭日は，2019年5月1日に施行の「国民の祝日に関する法律」および2018年6月20日施行の「平成三十二年東京オリンピック競技大会・東京パラリンピック競技大会特別措置法」に基づいているため，法改正などで祝祭日が変更になった場合は，カスタマイズ情報設定ファイルで，祝祭日区分情報を変更する必要があります。

また，毎年2月の官報で正式決定される翌年の「春分の日」および「秋分の日」についても，変更になった場合は，カスタマイズ情報設定ファイルで，祝祭日区分情報を変更する必要があります。

祝祭日の有効期間については，「付録C.1　祝祭日・休日」を参照してください。また，「春分の日」および「秋分の日」については，「付録C.2　春分の日・秋分の日」を参照してください。

3.1.3　休日の変更

追加または変更になった祝祭日が日曜日と重なった場合など，祝祭日区分情報に振替休日を追加する必要があります。

また，皇室関係の慶弔行事（即位礼正殿の儀の行われる日を休日とする法律など）による休日を，祝祭日区分情報に追加する必要があります。

このほかに，その地方固有の祝日（都道府県民の日など）に合わせてその日を休日にしている場合や，会社の創立記念日など，一般的なカレンダーには載らない休日については，必要に応じて祝祭日区分情報に追加してください。

3.2　年号および祝祭日の設定情報のカスタマイズ

改元によって新年号への移行および祝祭日の変更が発生する場合，年号および祝祭日区分の情報をカスタマイズすることで対応できます。

3.2.1　年号および祝祭日の設定情報のカスタマイズの流れ

年号および祝祭日の設定情報のカスタマイズの流れを次に示します。

図3‒1　年号および祝祭日の設定情報のカスタマイズの流れ

注※

プラットフォームが異なる場合でも，開発環境で作成したカスタマイズ情報設定ファイルを，アスキーモード転送で実行環境へ反映できます。

(1)　カスタマイズの準備

情報設定ファイル（adsubinf.txt）をコピーし，カスタマイズ情報設定ファイル（adsubinf_custom.txt）を作成します。

カスタマイズの準備の詳細は，「3.2.2　カスタマイズの準備」を参照してください。

(2)　変更する情報の確認

年号および祝祭日区分で，追加，および削除が必要な情報を確認します。

年号情報を追加設定する場合

使用している文字コードで，新年号の16進表記を確認します。

16進表記は，16進表示可能なコマンド（Windowsの場合はcertutilコマンドなど，UNIXの場合はodコマンドなど）で確認してください。

（例）Windowsの場合

　　certutil -encodehex 入力ファイル名 出力ファイル名

（例）UNIXの場合

　　od -x 入力ファイル名

祝祭日区分情報を変更する場合

現行の祝日の設定と，カレンダーなどの実際の祝日を比較します。

現行の祝日の設定の確認は，カスタマイズ情報設定ファイルチェックツールを使用します。カスタマイズ情報設定ファイルチェックツールを使用方法については，「3.2.4(2)　チェックツールの使用方法」を参照してください。

(3)　カスタマイズ情報設定ファイルによる設定情報の変更

カスタマイズ情報設定ファイルに変更する情報を記載します。

年号情報を追加設定する場合

新年号の16進表記の確認結果を基に，カスタマイズ情報設定ファイルに年号の情報を追加します。

祝祭日区分情報を変更する場合

祝日の比較結果を基に，カスタマイズ情報設定ファイルの祝祭日区分情報を変更します。

カスタマイズ情報設定ファイルによる設定情報の変更の詳細は，「3.2.3　カスタマイズ情報設定ファイルによる設定情報の変更」を参照してください。

(4)　カスタマイズ情報設定ファイルのチェック

カスタマイズ情報設定ファイルチェックツールを実行し，修正に問題がないことを確認します。

カスタマイズ情報設定ファイルのチェックの詳細は，「3.2.4　カスタマイズ情報設定ファイルのチェック」を参照してください。

(5)　開発環境への反映および確認

開発環境の情報設定ファイルに，カスタマイズ情報設定ファイルの内容を反映し，動作確認をします。

(6)　実行環境への反映

実行環境の情報設定ファイルに，カスタマイズ情報設定ファイルの内容を反映します。

3.2.2　カスタマイズの準備

年号および祝祭日区分の設定情報は，カスタマイズ情報設定ファイルで変更できます。

カスタマイズ情報設定ファイルは，デフォルト情報設定ファイルをコピーして作成します。作成したカスタマイズ情報設定ファイルのファイル名は，adsubinf_custom.txtにしてください。格納先は，デフォルト情報設定ファイルの格納先と同じディレクトリです。デフォルト情報設定ファイルの格納先は次のとおりです。

表3‒1　デフォルト情報設定ファイルの格納ディレクトリ

形名

デフォルト情報設定ファイルの格納ディレクトリ

ファイル名

P-2451-F244

P-2651-F244

P-2951-F244

P-2951-F144

<インストールディレクトリ※>¥CONF¥

adsubinf.txt

P-1M51-FC31

/opt/SEWB3/conf/

P-1M51-FD31

/opt/SEWB64/conf/

P-9W51-FD31

/opt/SEWB64/conf/

注※

デフォルトのインストールパスは次のとおりです。

P-2451-F244，P-2651-F244の場合

Windows（32ビット版）の場合

<システムドライブ>:¥Program Files¥HITACHI¥SEWB+STD_SUB

Windows（64ビット版）の場合

<システムドライブ>:¥Program Files (x86)¥HITACHI¥SEWB+STD_SUB

P-2951-F244，P-2951-F144の場合

<システムドライブ>:¥Program Files¥HITACHI¥SEWB+STD_SUB

参考

デフォルト情報設定ファイルの格納先に，adsubinf_custom.txtが既に存在する場合は，そのadsubinf_custom.txtを使用できます。

3.2.3　カスタマイズ情報設定ファイルによる設定情報の変更

(1)　カスタマイズ情報設定ファイルの設定情報の記載順序

年号および祝祭日区分の設定情報をカスタマイズするには，カスタマイズ情報設定ファイルに，新年号設定情報と祝祭日区分設定情報を記載します。

なお，カスタマイズ情報設定ファイルには，アクセス時の確認のため，先頭と終端が分かるようにマーク（[/XXXX]，[XXXX/]）を付けてください。

新年号設定情報と祝祭日区分設定情報の記載例を次に示します。

[/NNNGINF]

（新年号設定情報）

[NNNGINF/]

[/FESTINF]

（祝祭日区分設定情報）

[FESTINF/]

注　新年号設定情報は，祝祭日区分設定情報より前に記載してください。

(2)　新年号設定情報

カスタマイズ情報設定ファイルに設定する新年号設定情報について説明します。

(a)　形式

新年号設定情報のフォーマットを次に示します。

[/NNNGINF]

年号コード(数字),年号コード(英字),西暦年月日,[新年号名(SJIS 16進文字列)],[新年号名(EUC 16進文字列)],[新年号名(UTF-16BE 16進文字列)],[新年号名(UTF-8 16進文字列)]

　　：

(繰り返し)

　　：

[NNNGINF/]

注　行終端改行コードは，プラットフォームに依存します。使用しているプラットフォームの規則に従って設定してください。

(b)　項目の内容

新年号設定情報として設定する項目の内容を次に示します。

表3‒2　新年号設定情報として設定する項目の内容

項目

設定

属性

説明

年号コード（数字）

必須

9(1)

5（「平成」の年号コード'4'の次）を設定します。

さらに改元があった場合，最大7まで設定できます。

ただし，年号コードの数字がファイルの最初から昇順でない場合は，エラーになります。

年号コード（英字）

必須

X(1)

年号コード（数字）に対応する新年号の英字略称を英半角大文字（例えば新年号が「和元（わげん）」だとすると'W'）で設定します。

ただし，年号コードの英字略称が重複すると，年号が特定できないサブルーチンがあるため，エラーになります。

西暦年月日

必須

9(8)

新年号の開始西暦年月日をYYYYMMDD形式の8桁で設定します。

なお，年号間で，ファイルの最初から昇順となっていることが前提となります。

また，前年号の終了西暦年月日は，新年号の開始西暦年月日の前日となります。

新年号名（SJIS 16進文字列）

任意

X(8)

新年号名のSJISでの16進表記（漢字2文字分）を設定します。※1

例として，旧年号の設定値を次に示します。

昭和：8FBA9861

平成：95BD90AC

新年号名（EUC 16進文字列）

任意

X(8)

新年号名のEUCでの16進表記（漢字2文字分）を設定します。※1

例として，旧年号の設定値を次に示します。

昭和：BEBCCFC2

平成：CABFC0AE

新年号名（UTF-16BE 16進文字列）※2

任意

X(8)

新年号名のUTF-16BEでの16進表記を設定します。

例として，旧年号の設定値を次に示します。※1

昭和：662D548C

平成：5E736210

ただし，BOMは付けません。

UTF-16LEでは，UTF-16BEから自動計算し，次の値になります。

昭和：2D668C54

平成：735E1062

新年号名（UTF-8 16進文字列）※2

任意

X(12)

新年号名のUTF-8での16進表記（漢字2文字分）を設定します。※1

例として，旧年号の設定値を次に示します。

昭和：E698ADE5928C

平成：E5B9B3E68890

ただし，BOMは付けません。

注※1

新年号名（漢字2文字）の16進表記は，16進表示可能なコマンド（Windowsの場合はcertutilコマンドなど，UNIXの場合はodコマンドなど）で確認してください。

（例）Windowsの場合

certutil -encodehex 入力ファイル名 出力ファイル名

（例）UNIXの場合

od -x 入力ファイル名

注※2

新年号名（UTF-16BE 16進文字列）と新年号名（UTF-8 16進文字列）は，同時に指定してください。

(3)　祝祭日区分設定情報

カスタマイズ情報設定ファイルに設定する祝祭日区分設定情報について説明します。

(a)　形式

祝祭日区分設定情報のフォーマットを次に示します。

[/FESTINF]

西暦年月日,祝祭日区分

西暦年月日,祝祭日区分

　　 ：

（繰り返し）

　　 ：

[FESTINF/]

注　行終端改行コードは，プラットフォームに依存します。使用しているプラットフォームの規則に従って設定してください。

(b)　項目の内容

祝祭日区分設定情報として設定する項目の内容を次の表に示します。

表3‒3　祝祭日区分設定情報として設定する項目の内容

項目

属性

説明

西暦年月日

9(8)

祝祭日区分変更対象の西暦年月日を，YYYYMMDD形式の8桁で指定します。

祝祭日区分

X(1)

変更が必要な西暦年月日の変更後の値を指定します。

0：祝祭日でない

1：祝祭日（国民の祝日）

2：休日（振替休日，祝日に挟まれる休日，その他政令によって随時指定されるその年限定の休日など）

(c)　注意事項

祝祭日をカスタマイズする場合，情報設定ファイルの設定状態によって，設定内容が異なります。

祝祭日区分設定情報に設定する内容の差異を次の表に示します。

表3‒4　祝祭日区分設定情報に設定する内容の差異

祝祭日の変更内容

情報設定ファイルの設定状態

祝祭日区分設定情報に設定する内容

祝祭日の追加※1

追加する日に，祝祭日区分が'0’（祝祭日でない），または'2'（休日）の行が記載済み。

記載済みの該当日の祝祭日区分を'1'（祝祭日）にします。

追加する日の記載なし。

追加する日に，祝祭日区分が'1'（祝祭日）の行を追加します。

休日の追加※2

追加する日に，祝祭日区分が'0'（祝祭日ではない），または'1'（祝祭日）の行が記載済み。

記載済みの該当日の祝祭日区分を'2'（休日）にします。

追加する日の記載なし。

追加する日に，祝祭日区分が'2'（休日）の行を追加します。

祝祭日の削除※3

削除する日に，祝祭日区分が'1'（祝祭日）の行が記載済み。

記載済みの該当日の祝祭日区分を'0'（祝祭日ではない）にします。

削除する日の記載なし。

削除する日に，祝祭日区分が'0'（祝祭日ではない）の行を追加します。

休日の削除※4

削除する日に，祝祭日区分が'2'（休日）の行が記載済み。

記載済みの該当日の祝祭日区分を'0'（祝祭日ではない）にします。

削除する日の記載なし。

削除する日に，祝祭日区分が'0'（祝祭日ではない）の行を追加します。

注※1

祝祭日を変更する際に追加される祝祭日を含む。

注※2

祝祭日を変更する際に追加される休日を含む。

注※3

祝祭日を変更する際に削除される祝祭日を含む。

注※4

祝祭日を変更する際に削除される休日を含む。

3.2.4　カスタマイズ情報設定ファイルのチェック

作成したカスタマイズ情報設定ファイルは，カスタマイズ情報設定ファイルチェックツール（LXRPIDCK）でチェックします。

(1)　チェックツールの格納ディレクトリおよび動作文字コード区分

カスタマイズ情報設定ファイルチェックツール（LXRPIDCK）の格納ディレクトリおよび動作する文字コード区分を次の表に示します。

表3‒5　カスタマイズ情報設定ファイルチェックツール（LXRPIDCK）の格納ディレクトリ

形名

格納ディレクトリ

文字コード区分

（環境変数LANGの設定値）※2

P-2451-F244

P-2651-F244

P-2951-F244

P-2951-F144

<インストールディレクトリ※1>¥LITTLE¥BIN

SJISで動作する

P-1M51-FC31

/opt/SEWB3/lib

LANG=Ja_JPで動作する

P-1M51-FD31

/opt/SEWB64/lib

P-9W51-FD31

/opt/SEWB64/lib

LANG=ja_JP.UTF-8で動作する

注※1

デフォルトのインストールパスは次のとおりです。

P-2451-F244，P-2651-F244の場合

Windows（32ビット版）の場合

<システムドライブ>:¥Program Files¥HITACHI¥SEWB+STD_SUB

Windows（64ビット版）の場合

<システムドライブ>:¥Program Files (x86)¥HITACHI¥SEWB+STD_SUB

P-2951-F244，P-2951-F144の場合

<システムドライブ>:¥Program Files¥HITACHI¥SEWB+STD_SUB

注※2

プラットフォームの文字コード区分とカスタマイズ情報設定ファイルチェックツールの文字コードが異なる場合，動作は保証されません。

(2)　チェックツールの使用方法

カスタマイズ情報設定ファイルチェックツール（LXRPIDCK）を実行する場合のコマンドの形式を次に示します。

なお，カスタマイズ情報設定ファイルチェックツールの格納ディレクトリをPATH環境変数に指定しているものとして説明します。

注意事項

標準サブルーチンをチェックツールと同時に使用し，チェックツールの格納パスをPATH環境変数に設定する場合は，チェックツールの格納パスを標準サブルーチンの格納パスより後方に指定してください。チェックツールの格納パスを前方に指定した場合，標準サブルーチンが意図しないライブラリをロードして不正な動作となります。

(a)　入力形式

カスタマイズ情報設定ファイルをチェックする場合

LXRPIDCK[△/i△カスタマイズ情報設定ファイル名]
         △/o△設定情報確認リストファイルベース名[△/m△YYYY:YYYY]

注1　△は1文字以上の空白を示します。

注2　[　]は指定を省略できることを示します。

ヘルプを表示する場合

LXRPIDCK または LXRPIDCK△/h

注　△は1文字以上の空白を示します。

(b)　コマンド詳細

/i△カスタマイズ情報設定ファイル名

カスタマイズ情報設定ファイル名をフルパスで指定します。

カスタマイズ情報設定ファイルについては「3.2.3　カスタマイズ情報設定ファイルによる設定情報の変更」を参照してください。

ファイル名の長さは，フルパスで255バイトまでです。

省略した場合，次に示す格納場所のカスタマイズ情報設定ファイルを仮定します。

形名

カスタマイズ情報設定ファイルの格納ディレクトリ

ファイル名

P-2451-F244

P-2651-F244

P-2951-F244

P-2951-F144

<インストールディレクトリ※>¥CONF¥

adsubinf_custom.txt

P-1M51-FC31

/opt/SEWB3/conf/

P-1M51-FD31

/opt/SEWB64/conf/

P-9W51-FD31

/opt/SEWB64/conf/

注※

デフォルトのインストールパスは次のとおりです。

P-2451-F244，P-2651-F244の場合

＜Windows（32ビット版）の場合＞

<システムドライブ>:¥Program Files¥HITACHI¥SEWB+STD_SUB

＜Windows（64ビット版）の場合＞

<システムドライブ>:¥Program Files (x86)¥HITACHI¥SEWB+STD_SUB

P-2951-F244，P-2951-F144の場合

<システムドライブ>:¥Program Files¥HITACHI¥SEWB+STD_SUB

/o△設定情報確認リストファイルベース名

設定情報確認リストファイルベース名をフルパスで指定します。

相対パスで指定した場合は，動作は保証されません。

設定情報確認リストについては，「(3)(d)　設定情報確認リスト」を参照してください。

ファイルベース名の長さは，フルパスで242バイトまでです。

設定情報確認リストファイルベース名と同名のファイルが存在する場合は，ファイルを上書きします。

存在するディレクトリ名を指定した場合，サフィックス部だけのファイルを出力します。

/m△YYYY:YYYY

設定情報確認リストファイルに出力する祝祭日の期間の開始年と終了年を「：」（コロン）で繋げて指定します。

開始年および終了年はどちらも指定を省略できません。

指定できる年は，2013〜2100の間として，開始年は終了年より前の年を指定します。

出力範囲は，期間は開始年1月1日（ただし，2013年は10月1日）から終了年の12月31日までとします。

省略した場合は，ユーザのカスタマイズが可能な2013/10/01から2100/12/31までを表示します。

/h

コマンドラインの説明を標準出力に表示する場合に指定します。

カスタマイズ情報設定ファイルのチェックおよび設定情報確認リストの出力はしません。

(c)　入力例

カスタマイズ情報設定ファイル名を指定してチェックする場合

 LXRPIDCK /i d:¥work¥adsubinf_custom.txt /o d:¥work¥list¥listfile /m 2019:2020

d:¥work¥adsubinf_custom.txtの指定内容を出力した結果が，d:¥work¥listの下に各設定情報リストファイルとして出力されます。

カスタマイズ情報設定ファイル名を指定を省略してチェックする場合

 LXRPIDCK /o d:¥work¥list¥listfile /m 2019:2020

<インストールディレクトリ>¥conf¥adsubinf_custom.txtの指定内容を出力した結果が，d:¥work¥listの下に各設定情報リストファイルとして出力されます。

コマンドラインの説明を表示する場合

 LXRPIDCK /h

コマンドラインの説明が表示されます。

(3)　チェック結果の確認

チェック結果は，ツールが返却する終了コードおよび終了メッセージに含まれる詳細メッセージで確認します。

(a)　終了コード

カスタマイズ情報設定ファイルチェックツールの終了コードを次に示します。

表3‒6　カスタマイズ情報設定ファイルチェックツールの終了コード

終了コード

説明

0

正常に実行されました。

1

カスタマイズ情報設定ファイルの不正を検知しました。

2

継続不能のエラーが発生しました。

(b)　終了メッセージ

カスタマイズ情報設定ファイルチェックツールの終了メッセージを次に示します。

●正常終了の場合（終了コードが0の場合）

正常終了しました。

●カスタマイズ情報設定ファイルの不正を検知した場合（終了コードが1の場合）

line <行番号>：<詳細メッセージID>△<メッセージテキスト>
    ：
チェック処理でエラーを検出しました。

カスタマイズ情報設定ファイルの不正を検知した場合，不正を検知したあともチェックを継続します。チェックが終了すると詳細メッセージを出力します。

行番号には，ファイル中の行番号を4ケタで表示します。

詳細メッセージIDおよびメッセージテキストについては，「(c)　詳細メッセージ」を参照してください。

（出力例）10行目にエラーがある場合

c:¥>LXRPIDCK /i d:¥work¥adsubinf_custom.txt /o d:¥work¥list¥listfile /m 2019:2020
line 0010:LXREDA21 祝祭日の西暦年月日には，実在日を指定してください。
チェック処理でエラーを検出しました。

c:¥>

●継続不能のエラーが発生した場合（終了コードが2の場合）

    ：
<詳細メッセージID>△<メッセージテキスト>
エラーが発生しました。処理を中止しました。

継続不能のエラーが発生した場合，エラーを検知した時点で処理を中止します。

詳細メッセージIDおよびメッセージテキストについては，「(c)　詳細メッセージ」を参照してください。

（出力例）詳細メッセージIDがLXREDA01の場合

LXRPIDCK /i d:¥work¥adsubinf_custom.txt /o d:¥work¥list¥listfile /m
LXREDA01 コマンドラインの形式に誤りがあります。
エラーが発生しました。処理を中止しました。

c:¥>

(c)　詳細メッセージ

カスタマイズ情報設定ファイルの不正を検知した場合の詳細メッセージを表3-7に，継続不能のエラーが発生した場合の詳細メッセージを表3-8に示します。

表3‒7　詳細メッセージ（カスタマイズ情報設定ファイルの不正を検知した場合）

メッセージID

メッセージテキスト

出力条件

対処方法

LXREDA08

新年号のカンマの位置，個数が正しくありません。

新年号指定行のカンマの位置または個数が正しくない。

<行番号>の行のカンマの位置や個数を確認する。

LXREDA09

新年号の行の末尾に不正な文字が存在します。

新年号指定行の末尾に不正な文字が存在している。

<行番号>の行の末尾にある文字を削除する。

LXREDA11

年号コード（数字）は5，6，7の順で指定してください。

年号コード（数字）が5，6，7の順番で指定されていない。

<行番号>の行の年号コード（数字）欄を'5'，'6'，'7'の順で指定する。

LXREDA12

年号コード（英字）は英大文字で指定してください。

年号コード（英字）欄の文字列が，半角英大文字でない。

<行番号>の行の年号コード（英字）を半角英大文字にする。

LXREDA13

年号コード（英字）は，重複しないように指定してください。

年号コード（英字）の文字が，M，T，S，Hのどれかになっている。

追加した年号コード（英字）が重複している。

<行番号>の行の年号コード（英字）が重複しないようにする。

LXREDA14

開始西暦年月日には，実在日を指定してください。

新年号の開始西暦年月日に指定した年月日が実在しない。

<行番号>の行の開始西暦年月日に存在する年月日を指定する。

LXREDA15

前年号の最終和暦年が100以上になります。

新年号西暦開始日の1日前が前年号の100年以上になっている。

<行番号>の行の新年号開始年月日を確認する。前年号の最終和暦年が99を超えない年を新年号西暦開始日に指定する。

LXREDA16

新年号名は16進文字列で指定してください。

新年号名欄に指定した文字列が，0〜9，A〜Fでない。

新年号名欄に指定した場文字列が，奇数桁で指定されている。

<行番号>の行の新年号名に指定した16進文字列を訂正する。

LXREDA17

祝祭日の指定行のカンマの位置，個数が正しくありません。

祝祭日指定行のカンマの位置または個数が正しくない。

<行番号>の行の途中空白やカンマの位置や個数を確認する。

LXREDA18

祝祭日の指定行の末尾に不正な文字が存在します。

祝祭日指定行の末尾に不正な文字が存在している。

<行番号>の行の末尾にある文字を削除する。

LXREDA19

祝祭日区分に0，1，2以外が指定されています。

祝祭日区分に0，1，2以外が指定されている。

<行番号>の行の祝祭日区分を訂正する。

LXREDA21

祝祭日の西暦年月日には，実在日を指定してください。

祝祭日の西暦年月日に指定した年月日が実在しない。

祝祭日の西暦年月日に指定した年月日が2100年12月31日を超えている。

<行番号>の行の開始西暦年月日に存在する年月日を指定する。

<行番号>の行の西暦年月日に西暦2100年12月31日を超えない実在日を指定する。

LXREDA22

祝祭日の西暦年月日が重複しています。

祝祭日の西暦年月日に指定した年月日が重複している。

<行番号>の行の西暦年月日を訂正する。

LXREDA23

祝祭日の西暦年月日は昇順に並べてください。

祝祭日の西暦年月日に指定した年月日が昇順に並んでいない。

<行番号>の行以降の西暦年月日が昇順になるように並べる。

LXREDA24

祝祭日の西暦年月日には，2013年10月1日以降の年月日を指定してください。

祝祭日の西暦年月日に指定した年月日に，カスタマイズ機能をサポートした2013年10月1日より前の日付が指定されている。

<行番号>の行の西暦年月日を訂正する。または，2013年10月1日より前の年月日の指定行は削除する。

LXREDA27

新年号のUTF-16BEでの設定とUTF-8での設定が同時に設定されていません。

UTF-16BEとUTF-8の16進文字列は同時に指定する必要がある。どちらか1つだけの指定はできない。

UTF-16BEとUTF-8の16進文字列は同時に指定する，または両方とも指定しない。

LXREDA28

新年号の西暦年月日は昇順に並べてください。

新年号の西暦年月日に指定した年月日が昇順に並んでいない。

<行番号>の行以降の西暦年月日が昇順になるように並べる。

表3‒8　詳細メッセージ（継続不能のエラーが発生した場合）

メッセージID

メッセージテキスト

出力条件

対処方法

LXREDA01

コマンドラインの形式に誤りがあります。

途中空白やキーワード誤りなど，コマンドラインの文法に誤りがある。※

コマンドラインを確認する。

LXREDA02

インストールディレクトリの取得に失敗しました。

【Windows版限定】

組込み情報（レジストリ）から組込み先パスの取得する時にエラーが発生した。

製品がインストールされているか確認する。

レジストリが壊れていないか確認する。

LXREDA03

カスタマイズ情報設定ファイルのオープンに失敗しました（詳細コード＝%n）。

ファイルのオープンを実行してエラーとなった。

/iオプションで指定したファイルが存在しているか確認する。

/iオプションを省略している場合は，<インストールディレクトリ>¥conf¥adsubinf_custom.txtが存在しているか確認する。

詳細コードとして出力される，COBOLの入出力状態の値に従い，対処する。

LXREDA04

カスタマイズ情報設定ファイルの読み込みに失敗しました（詳細コード＝%n）。

ファイルの読み込みを実行してエラーとなった。

/iオプションで指定したファイルに読み込み権限があるか確認する。

詳細コードとして出力される，COBOLの入出力状態の値に従い，対処する。

LXREDA05

[/NNNGINF][NNNGINF/]の指定がありません。

[/NNNGINF][NNNGINF/]のキーワードがない。

キーワードを入力する。

LXREDA06

[/FESTINF][FESTINF/]の指定がありません。

[/FESTINF][FESTINF/]のキーワードがない。

キーワードを入力する。

LXREDA07

[NNNGINF/]の直後に[/FESTINF]の指定がありません。

[NNNGINF/]の直後に[/FESTINF]のキーワードがない。

キーワードを入力する。

LXREDA10

新年号の記述が4行以上指定されています。

新年号が4行以上指定されている。

新年号の指定を3行以下にする。

LXREDA20

祝祭日の指定が2000行を超えています。

祝日の指定が2000行を超えている。

祝祭日の指定個数を2000行以下にする。

LXREDA25

設定情報確認リストファイルのオープンに失敗しました（詳細コード＝%n）。

ファイルのオープンを実行してエラーとなった。

/oオプションで指定したファイルを格納するフォルダに書き込み権限があるか確認する。

/oオプションで指定したファイルを格納するフォルダがあるか確認する。

詳細コードとして出力される，COBOLの入出力状態の値に従い，対処する。

LXREDA26

設定情報確認リストファイルの書き込みに失敗しました（詳細コード＝%n）。

ファイルの書き込みを実行してエラーとなった。

/oオプションで指定したファイルに書き込み権限があるか確認する。

/oオプションで指定したファイルを格納するドライブの空き容量が不足していないか確認する。

詳細コードとして出力される，COBOLの入出力状態の値に従い，対処する。

（凡例）

%n：COBOLでのファイルアクセス時の入出力状態の値。

入出力状態の値については，マニュアル「COBOL2002　ユーザーズガイド」を参照してください。

注※

コマンドラインの形式は次の内容をチェックします。なお，8つ目までの引数に/hオプションがある場合は次のチェックをしないで，コマンドラインの説明を出力します。

・オプションの指定値があるか

・/iオプション，/oオプションのパス長が最大値を超えていないか

・/mオプションの期間が2013〜2100の範囲を超えていないか

・オプションの指定ではない文字列が指定されていないか

・同一オプションを二重に指定していないか

(d)　設定情報確認リスト

設定情報確認リストは，新年号と祝祭日を別々のファイルに出力します。

設定情報確認リストのファイル名を次の表に示します。

表3‒9　設定情報確認リストのファイル名

ファイル名※

内容

設定情報確認リストファイルベース名 + "_SJIS.txt"

新年号（SJISコード）の設定情報確認リスト

設定情報確認リストファイルベース名 + "_EUC.txt"

新年号（EUCコード）の設定情報確認リスト

設定情報確認リストファイルベース名 + "_UTF16-BE.txt"

新年号（UTF-16BEコード）の設定情報確認リスト

設定情報確認リストファイルベース名 + "_UTF-8.txt"

新年号（UTF-8コード）の設定情報確認リスト

設定情報確認リストファイルベース名 + ".txt"

祝祭日の設定情報確認リスト

注※

「"」で囲んだ部分は，サフィックス部を表します。

次のコマンドを実行した場合の設定情報確認リストの出力結果を示します。

LXRPIDCK /o C:¥tmp¥kakunin_list

＜出力結果＞

新年号（SJISコード）の設定情報確認リストの場合

C:¥tmp¥kakunin_list_SJIS.txt

新年号（EUCコード）の設定情報確認リストの場合

C:¥tmp¥kakunin_list_EUC.txt

新年号（UTF16BEコード）の設定情報確認リストの場合

C:¥tmp¥kakunin_list_UTF-16BE.txt

新年号（UTF-8コード）の情報設定リストの場合

C:¥tmp¥kakunin_list_UTF-8.txt

祝祭日の設定情報確認リストの場合

C:¥tmp¥kakunin_list.txt

注意事項

該当する文字コードによる新年号の指定がない場合は，該当する文字コードの設定情報確認リストは作成されません。

新年号の指定行がない場合は，新年号の設定情報確認リストは作成されません。

設定情報確認リストは，各行の末尾に空白が出力されます。

設定情報確認リストを表示する画面の表示幅が小さい場合，1行が折り返され，空行が入ることがあります。この場合，画面の表示幅を大きくすると，1行で表示できます。

●新年号の設定情報確認リストの出力フォーマット

1.　ファイルの先頭行に次に示す内容のヘッダ行を出力します。

年号コード（数字）,年号コード（英字）,西暦年月日,新年号名

2.　ファイルの2行目からは，カスタマイズ情報ファイルに指定した次の項目を，

　　項目ごとに「,」（カンマ）で区切って出力します。

出力項目

内容

年号コード（数字）

カスタマイズ情報設定ファイルに指定された年号コード（数字）を出力します。

年号コード（英字）

カスタマイズ情報設定ファイルに指定された年号コード（英字）を出力します。

西暦年月日

カスタマイズ情報設定ファイルに指定された新年号の開始西暦年月日（YYYY/MM/DD）を出力します。

新年号名

カスタマイズ情報設定ファイルに指定された新年号16進文字列をバイナリ変換して出力します。

＜例＞

カスタマイズ情報設定ファイルの内容

「○○」「△△」を新年号として登録します。ただし，UTF-16BEおよびUTF-8は未指定とします。

[/NNNGINF]
5,X,20190501,819B819B,A1FBA1FB,,
6,Y,20510101,81A281A2,A2A4A2A4,,
[NNNGINF/]

出力結果（指定ファイル名_SJIS.txt（SJISの環境で参照する）の場合）

年号コード（数字）,年号コード（英字）,西暦年月日,新年号名
5,X,2019/05/01,○○
6,Y,2051/01/01,△△

出力結果（指定ファイル名_EUC.txt（EUCの環境で参照する）の場合）

年号コード（数字）,年号コード（英字）,西暦年月日,新年号名
5,X,2019/05/01,○○
6,Y,2051/01/01,△△

UTF-16BEおよびUTF-8は指定がないため，ファイルは出力されません。

●祝祭日の設定情報確認リストの出力フォーマット

1.　ファイルの先頭行に次に示す内容のヘッダ行を出力します。

西暦年月日,曜日,祝祭日区分

2.　ファイルの2行目からは，カスタマイズ情報ファイルに指定した次の項目を，

　　項目ごとに「,」（カンマ）で区切って出力します。

出力項目

内容

西暦年月日

祝祭日が設定されている年月日（YYYY/MM/DD）を出力します。

曜日

年月日に対する曜日（月，火，水，木，金，土，日）を出力します。

祝祭日区分

指定されたカスタマイズ情報設定ファイルを使用した場合の祝祭日区分を出力します。

祝祭日（祝祭日区分の指定が1）：「祝祭日」

休日　（祝祭日区分の指定が2）：「休日」

参考

標準サブルーチン内部で保持している祝祭日情報とカスタマイズ情報設定ファイルの祝祭日情報をマージして表示します。祝祭日でも休日でもない日は出力しません。

＜使用例＞

次の場合を例に，使用例を示します。

「2019年11月3日（日）が祝日ではなくなり，それに伴い，2019年11月4日（月）が振替休日ではなくなる。また，2020年6月21日（日）が祝日になり，それに伴い，2020年6月22日（月）が振替休日になる。」

3.2.5　カスタマイズ情報設定ファイルの設定例

カスタマイズ情報設定ファイルの設定例として，次の4つの内容を説明します。

年号の追加

祝日の追加

祝日の削除

祝日の変更

なお，各設定例では，カスタマイズ情報設定ファイルチェックツール（LXRPIDCK）の格納ディレクトリをPATH環境変数に指定しているものとして説明します。

(1)　年号の追加

年号が追加された場合に，その年号を標準サブルーチンで使用できるようにするための設定例を示す。

（例）

2019年5月1日から年号が「○○」となる場合（アルファベット1字での表記は「X」とする）

設定手順

情報設定ファイル（adsubinf.txt）をコピーし，カスタマイズ情報設定ファイル（adsubinf_custom.txt）を作成する。

使用している文字コードで，新年号の16進表記を確認する。

「○○」のそれぞれの文字コードでの16進表記は次のとおりです。

SJIS：819B819B

EUC：A1FBA1FB

UTF-16BE：25CB25CB

UTF-8：E2978BE2978B

注

文字コードがUTF-16BEの場合は，UTF-16BEとUTF-8の文字コードでの16進表記を確認し，UTF-16LEの場合は，UTF-16BEとUTF-8の文字コードでの16進表記を確認してください。

カスタマイズ情報設定ファイルに年号の情報を追加する。

[/NNNGINF]と[NNNGINF/]の間に新年号の16進表記を記載します。

カスタマイズ情報設定ファイルの記入例（年号の追加）を次に示します。

年号を複数追加する場合は最大3行まで記入できます。カスタマイズ情報設定ファイルの記入例（年号の複数追加）を次に示します。

カスタマイズ情報設定ファイルチェックツールを実行し，カスタマイズ情報設定ファイルをチェックする。

次のコマンドを実行してください。

LXRPIDCK /o 設定情報確認リストファイルベース名

注

情報設定ファイルの格納ディレクトリ以外でカスタマイズ情報設定ファイルを作成している場合は，/iオプションを指定すること。

カスタマイズ情報設定ファイルチェックツールの詳細は，「3.2.4　カスタマイズ情報設定ファイルのチェック」を参照してください。

チェック結果に問題がなければ，手順5に進んでください。

チェック結果に問題がある場合は，カスタマイズ情報設定ファイルの情報を修正し，再度カスタマイズ情報設定ファイルチェックツールを実行してください。

開発環境の情報設定ファイルに新年号設定情報を反映する。

開発環境の情報設定ファイルの格納ディレクトリに，カスタマイズ情報設定ファイルをコピーしてください。

実行環境の情報設定ファイルに新年号設定情報を反映する。

実行環境の情報設定ファイルの格納ディレクトリに，カスタマイズ情報設定ファイルをコピーしてください。

(2)　祝日の追加

祝日が追加となる場合に，その祝日を追加するための設定例を次に示します。

（例）

2020年6月21日に祝日が追加となる場合

設定手順

情報設定ファイル（adsubinf.txt）をコピーし，カスタマイズ情報設定ファイル（adsubinf_custom.txt）を作成する。

カスタマイズ情報設定ファイルチェックツールを使用し，現行の祝日の設定を確認する。

ここでは，2020年の祝祭日および休日の設定を確認する場合とします。

次のコマンドを実行してください。

LXRPIDCK /o 設定情報確認リストファイルベース名 /m 2020:2020

注

情報設定ファイルの格納ディレクトリ以外でカスタマイズ情報設定ファイルを作成している場合は，/iオプションを指定すること。

祝日追加前の設定情報確認リストファイルが出力されます。

「設定情報確認リストファイル」に出力された内容と，カレンダーなどの実際の祝日を比較する。

比較すると，6月21日（日）を祝日，6月22日（月）を振替休日として追加する必要があることがわかります。

カスタマイズ情報設定ファイルに手順3の確認結果を反映する。

再度カスタマイズ情報設定ファイルチェックツールを実行し，修正に問題がないことを確認する。

実行するコマンドの形式は手順2と同じです。

チェック結果に問題がなければ，手順6に進んでください。

チェック結果に問題がある場合は，カスタマイズ情報設定ファイルの情報を修正し，再度カスタマイズ情報設定ファイルチェックツールを実行してください。

開発環境の情報設定ファイルに新年号設定情報を反映する。

開発環境の情報設定ファイルの格納ディレクトリに，カスタマイズ情報設定ファイルをコピーしてください。

実行環境の情報設定ファイルに新年号設定情報を反映する。

実行環境の情報設定ファイルの格納ディレクトリに，カスタマイズ情報設定ファイルをコピーしてください。

(3)　祝日の削除

祝日が削除となる場合に，その祝日を削除するための設定例を次に示します。

（例）

2019年11月3日および8月11日が祝日ではなくなる場合

設定手順

情報設定ファイル（adsubinf.txt）をコピーし，カスタマイズ情報設定ファイル（adsubinf_custom.txt）を作成する。

カスタマイズ情報設定ファイルチェックツールを使用し，現行の祝日の設定を確認する。

ここでは，2019年の祝祭日および休日の設定を確認する場合とします。

次のコマンドを実行してください。

LXRPIDCK /o 設定情報確認リストファイルベース名 /m 2019:2019

注

情報設定ファイルの格納ディレクトリ以外でカスタマイズ情報設定ファイルを作成している場合は，/iオプションを指定すること。

祝日削除前の設定情報確認リストファイルが出力されます。

「設定情報確認リストファイル」に出力された内容と，カレンダーなどの実際の祝日を比較する。

比較すると，次のことが分かります。

8月11日（日）と11月3日（日）を祝日ではない日に変更する必要がある。

振替休日の8月12日（月）と11月4日（月）を休日ではない日に変更する必要がある。

カスタマイズ情報設定ファイルに手順3の確認結果を反映する。

再度カスタマイズ情報設定ファイルチェックツールを実行し，修正に問題がないことを確認する。

実行するコマンドの形式は手順2と同じです。

チェック結果に問題がなければ，手順6に進んでください。

チェック結果に問題がある場合は，カスタマイズ情報設定ファイルの情報を修正し，再度カスタマイズ情報設定ファイルチェックツールを実行してください。

開発環境の情報設定ファイルに新年号設定情報を反映する。

開発環境の情報設定ファイルの格納ディレクトリに，カスタマイズ情報設定ファイルをコピーしてください。

実行環境の情報設定ファイルに新年号設定情報を反映する。

実行環境の情報設定ファイルの格納ディレクトリに，カスタマイズ情報設定ファイルをコピーしてください。

(4)　祝日の変更

祝日が変更となる場合に，その祝日を変更するための設定例を次に示します。

（例）

2019年の山の日を8月11日から8月12日に，文化の日を11月3日から11月5日に，それぞれ変更する場合

設定手順

情報設定ファイル（adsubinf.txt）をコピーし，カスタマイズ情報設定ファイル（adsubinf_custom.txt）を作成する。

カスタマイズ情報設定ファイルチェックツールを使用し，現行の祝日の設定を確認する。

ここでは，2020年の祝祭日および休日の設定を確認する場合とします。

次のコマンドを実行してください。

LXRPIDCK /o 設定情報確認リストファイルベース名 /m 2020:2020

注

情報設定ファイルの格納ディレクトリ以外でカスタマイズ情報設定ファイルを作成している場合は，/iオプションを指定すること。

祝日削除前の設定情報確認リストファイルが出力されます。

「設定情報確認リストファイル」に出力された内容と，カレンダーなどの実際の祝日を比較する。

比較すると，次のことが分かります。

8月10日（月），および11月5日（火）を祝日として追加する必要がある

8月11日（火），および11月3日（日）を祝日ではない日に変更する必要がある

11月4日（月）を休日ではない日に変更する必要がある

カスタマイズ情報設定ファイルに手順3の確認結果を反映する。

再度カスタマイズ情報設定ファイルチェックツールを実行し，修正に問題がないことを確認する。

実行するコマンドの形式は手順2と同じです。

チェック結果に問題がなければ，手順6に進んでください。

チェック結果に問題がある場合は，カスタマイズ情報設定ファイルの情報を修正し，再度カスタマイズ情報設定ファイルチェックツールを実行してください。

開発環境の情報設定ファイルに新年号設定情報を反映する。

開発環境の情報設定ファイルの格納ディレクトリに，カスタマイズ情報設定ファイルをコピーしてください。

実行環境の情報設定ファイルに新年号設定情報を反映する。

実行環境の情報設定ファイルの格納ディレクトリに，カスタマイズ情報設定ファイルをコピーしてください。

3.3　設定情報を変更した場合に影響を受ける標準サブルーチンの一覧

設定情報を変更した場合に影響を受ける標準サブルーチンを次に示します。

3.3.1　入力項目に和暦新年号コード（数字および英字）が追加されるサブルーチン

入力項目に和暦新年号コード（数字および英字）が追加されるサブルーチンの一覧を次に示します。

表3‒10　入力項目に和暦新年号コード（数字および英字）が追加されるサブルーチンの一覧

サブルーチンID

サブルーチン名

レベル

項目名

属性

説明

LXRPID02

実在日チェック（和暦）

05

I-NNG

X(1)

年号

LXRPID04

年月日範囲内チェック（和暦）

05

I-NNG

X(1)

年号

05

I-S-NNG

X(1)

年号

05

I-E-NNG

X(1)

年号

LXRPID06

年月日変換（和暦→西暦）

05

I-NNG

X(1)

年号

LXRPID08

年月日算出（和暦年月日±年数）

05

I-NNG

X(1)

年号

LXRPID10

年月日算出（和暦年月日±月数）

05

I-NNG

X(1)

年号

LXRPID12

年月日算出（和暦年月日±日数）

05

I-NNG

X(1)

年号

LXRPID14

期間算出（和暦年月日間日数）

05

I-S-NNG

X(1)

年号

05

I-E-NNG

X(1)

年号

LXRPID16

期間算出（和暦年月日間年月日）

05

I-S-NNG

X(1)

年号

05

I-E-NNG

X(1)

年号

LXRPID18

月末日算出（和暦年月日）

05

I-NNG

X(1)

年号

LXRPID20

通算週算出（年始〜和暦年月日）

05

I-NNG

X(1)

年号

LXRPID22

年月日分類（和暦）

05

I-NNG

X(1)

年号

LXRPID24

年月日出力編集（和暦）

05

I-NNG

X(1)

年号

LXRPID26

うるう年判定（和暦）

05

I-NNG

X(1)

年号

LXRPID28

年月日（和暦）→一貫日変換

05

I-NNG

X(1)

年号

LXRPID32

日数算出（和暦年月日〜月末日）

05

I-NNG

X(1)

年号

LXRPID34

年月日（和暦）→曜日算出

05

I-NNG

X(1)

年号

LXRPID36

年号コードチェック／編集

05

I-NNG

X(1)

年号

LXRPID37

年号コード変換（英字→数字）

05

I-NNG

X(1)

年号

LXRPID38

年号コード変換（数字→英字）

05

I-NNG

X(1)

年号

LXRPID42

年月日（和暦）過去チェック

05

I-NNG

X(1)

年号

LXRPID44

年月日（和暦）未来チェック

05

I-NNG

X(1)

年号

LXRPID46

年月日（和暦）編集

05

I-NNG

X(1)

年号

LXRPID49

年月（和暦）チェック

05

I-NNG

X(1)

年号

LXRPID51

年月（和暦）過去チェック

05

I-NNG

X(1)

年号

LXRPID53

年月（和暦）未来チェック

05

I-NNG

X(1)

年号

LXRPID55

年月（和暦）編集

05

I-NNG

X(1)

年号

LXRPID58

年月変換（和暦→西暦）

05

I-NNG

X(1)

年号

LXRPID60

年度（和暦）チェック

03

I-NNG

X(1)

年号

LXRPID62

年度（和暦）過去チェック

03

I-NNDWA

X(3)

年度（和暦）

LXRPID64

年度（和暦）未来チェック

03

I-NNDWA

X(3)

年度（和暦）

LXRPID66

年度（和暦）編集

03

I-NNDWA

X(3)

年度（和暦）

LXRPID69

年度変換（和暦→西暦）

03

I-NNDWA

X(3)

年度（和暦）

LXRPID71

年（和暦）チェック

03

I-YYWA

X(3)

年（和暦）

LXRPID73

年（和暦）過去チェック

03

I-YYWA

X(3)

年（和暦）

LXRPID75

年（和暦）未来チェック

03

I-YYWA

X(3)

年（和暦）

LXRPID78

年変換（和暦→西暦）

05

I-NNG

X(1)

年号

LXRPID93

通算日算出（年始〜和暦年月日）

03

I-NNG

X(1)

年号

3.3.2　入力項目に和暦年号コード（数字）が追加されるサブルーチン

入力項目に和暦年号コード（数字）が追加されるサブルーチンの一覧を次に示します。

表3‒11　入力項目に和暦年号コード（数字）が追加されるサブルーチンの一覧

サブルーチンID

サブルーチン名

レベル

項目名

属性

説明

LXRPIE14

日時加減算（和暦12時間単位）

03

I-YMDWA

9(7)

年月日（和暦）

LXRPIE15

日時加減算（和暦24時間単位）

03

I-YMDWA

9(7)

年月日（和暦）

3.3.3　出力項目に和暦年号コード（数字）が追加されるサブルーチン

出力項目に和暦年号コード（数字）が追加されるサブルーチンの一覧を次に示します。

表3‒12　出力項目に和暦年号コード（数字）が追加されるサブルーチンの一覧

サブルーチンID

サブルーチン名

レベル

項目名

属性

説明

LXRPID05

年月日変換（西暦→和暦）

03

O-MDWA

9(7)

年月日（和暦）

LXRPID08

年月日算出（和暦年月日±年数）

03

O-YMDWA

9(7)

年月日（和暦）

LXRPID10

年月日算出（和暦年月日±月数）

03

O-YMDWA

9(7)

出力和暦年月日

LXRPID12

年月日算出（和暦年月日±日数）

03

O-YMDWA

9(7)

出力和暦年月日

LXRPID18

月末日算出（和暦年月日）

03

O-YMDWA

9(7)

年月日（月末）

LXRPID30

一貫日→年月日（和暦）変換

03

O-YMDWA

9(7)

年月日（和暦）

LXRPID37

年号コード変換（英字→数字）

03

O-YMDWA

9(7)

年月日（和暦）

LXRPID57

年月変換（西暦→和暦）

05

O-NNG

X(1)

年月日（和暦）

LXRPID68

年度変換（西暦→和暦）

03

O-NNDWA

9(3)

年度（和暦）

LXRPID77

年変換（西暦→和暦）

03

O-YYWA

9(3)

年（和暦）

LXRPID91

処理期限年月日算出（和暦）

03

O-YMDWA

9(7)

出力和暦処理年月日

LXRPIE14

日時加減算（和暦12時間単位）

03

O-YMDWA

9(7)

年月日（和暦）

LXRPIE15

日時加減算（和暦24時間単位）

03

O-YMDWA

9(7)

年月日（和暦）

3.3.4　出力項目に和暦年号コード（英字）が追加されるサブルーチン

出力項目に和暦年号コード（英字）が追加されるサブルーチンの一覧を次に示します。

表3‒13　出力項目に和暦年号コード（英字）が追加されるサブルーチンの一覧

サブルーチンID

サブルーチン名

レベル

項目名

属性

説明

LXRPID38

年号コード変換（数字→英字）

05

I-NNG

X(1)

年号

3.3.5　出力項目に年号（漢字）が追加されるサブルーチン

出力項目に年号（漢字）が追加されるサブルーチンの一覧を次に示します。

表3‒14　出力項目に年号（漢字）が追加されるサブルーチンの一覧

サブルーチンID

サブルーチン名

レベル

項目名

属性

説明

LXRPID36

年号コードチェック／編集

03

O-NNG-KJ

N(2)

年号（漢字）

3.3.6　出力用項目の年号（漢字）または年号コードをユーザが選択出力できるサブルーチン

出力用項目の年号（漢字）または年号コードをユーザが選択出力できるサブルーチンの一覧を次に示します。

表3‒15　出力用項目の年号（漢字）または年号コードをユーザが選択出力できるサブルーチンの一覧

サブルーチンID

サブルーチン名

レベル

項目名

属性

説明

LXRPID24

年月日出力編集（和暦）

03

O-YMDWA

X(100)

出力年月日

LXRPID46

年月日（和暦）編集

03

O-YMDWA

X(100)

年月日（和暦）

LXRPID47

年月日変換（西暦→和暦）編集

03

O-YMDWA

X(100)

年月日（和暦）

LXRPID55

年月（和暦）編集

03

O-YMWA

X(100)

年月（和暦）

LXRPID56

年月変換（西暦→和暦）編集

03

O-YMWA

X(100)

年月（和暦）

LXRPID66

年度（和暦）編集

03

O-NNDWA

X(100)

年度（和暦）

LXRPID67

年度変換（西暦→和暦）編集

03

O-NNDWA

X(100)

年度（和暦）

LXRPID76

年変換（西暦→和暦）編集

03

O-YYWA

X(100)

年（和暦）

3.3.7　祝祭日区分を出力するサブルーチン

祝祭日区分を出力するサブルーチンの一覧を次に示します。

表3‒16　祝祭日区分を出力するサブルーチン

サブルーチンID

サブルーチン名

レベル

項目名

属性

説明

LXRPID21

年月日分類（西暦）

03

O-FEST-KBN

X(1)

祝祭日区分

LXRPID22

年月日分類（和暦）

03

O-FEST-KBN

X(1)

祝祭日区分

3.4　設定情報を変更した場合に影響を受ける標準サブルーチン

設定情報を変更した場合に影響を受ける標準サブルーチンを次に示します。

なお，この節で示す変更点は，「平成」から新年号（年号コード（数字）では'5'）に変わることを前提にしています。今後さらに改元が起きた場合，新年号はさらに2つ（年号コード（数字）では'7'）まで追加できますので，「平成」から新年号に変わるときと同様に読み替えてください。また，さらに新年号を追加した場合は，リターンコードなども置き換えてください。

（変更点の記載例）

●インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

注

変更点の説明の中では，追加する新年号を「和元」（年号コード（英字）は「W」）と仮定しています。新年号が決定した時点で，斜体の文字の部分を新年号（年号コード（英字）も同様）に置き換えてください。

3.4.1　LXRPID02　（実在日チェック（和暦））

和暦日付の妥当性をチェックする「LXRPID02（実在日チェック（和暦））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲チェックが変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。「和元」の和暦年月日範囲エラー時は，リターンコードに'LXRED041'を設定します。

年号コードが想定外の値のときは，リターンコードに'LXRED002'を設定しますが，最新年の年号コードを仮定してチェックを続行します。

例えば，新年号情報を追加していない場合，「平成」に相当する年号コード（'4'または'H'）を仮定してチェックを続行しますが，新年号情報を追加した場合，「和元」に相当する年号コード（'5'または'W'）を仮定してチェックを続行します。

次に「LXRPID02（実在日チェック（和暦））」のインタフェース，処理基準，および注意事項の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　処理基準の変更点

(a)　標準版

（変更前）

（変更後）

No.

チェック

リターンコード

No.

チェック

リターンコード

3

年号＝1，2，3，4，M，T，S，H

LXRED002

3

年号＝1，2，3，4，5，M，T，S，H，W

LXRED002

11

平成：元年1月8日〜

LXRED010

11

平成：元年1月8日〜31年4月30日

LXRED010

−

−

−

12

和元：元年5月1日〜※

LXRED041

（凡例）

−：該当する内容はありません。

注※

「和元」は，99年12月31日に該当する日までの範囲となります。

さらに改元が起きた場合，「和元」の終了年月日は，最新年号の開始年月日の前日となり，最新年号の範囲は，99年12月31日に該当する日までとなります。

(b)　JIS規格版

（変更前）

（変更後）

No.

チェック

リターンコード

No.

チェック

リターンコード

3

年号＝1，2，3，4，M，T，S，H

LXRED002

3

年号＝1，2，3，4，5，M，T，S，H，W

LXRED002

11

平成：元年1月8日〜

LXRED010

11

平成：元年1月8日〜31年4月30日

LXRED010

−

−

−

12

和元：元年5月1日〜※

LXRED041

（凡例）

−：該当する内容はありません。

注※

「和元」は，99年12月31日に該当する日までの範囲となります。

さらに改元が起きた場合，「和元」の終了年月日は，最新年号の開始年月日の前日となり，最新年号の範囲は，99年12月31日に該当する日までとなります。

(3)　注意事項の変更点

（変更前）

（変更後）

年号がエラーのときは，リターンコードに'LXRED002'を設定するが処理を終わらせず，年号＝平成を仮定してチェックを続行する。年号以外のエラーがある場合は，そのリターンコードを返す。

年号がエラーのときは，リターンコードに'LXRED002'を設定するが処理を終わらせず，年号＝和元を仮定してチェックを続行する。年号以外のエラーがある場合は，そのリターンコードを返す。

3.4.2　LXRPID04　（年月日範囲内チェック（和暦））

和暦日付が指定された開始日付と終了日付の間の日付かをチェックする「LXRPID04（年月日範囲内チェック（和暦））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲チェックが変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

次に「LXRPID04（年月日範囲内チェック（和暦））」のインタフェースの変更点を示します。なお，ここでは，変更になる個所だけを示します。

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

：

：

：

：

：

：

05

I-S-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

：

：

：

：

：

：

05

I-E-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

3.4.3　LXRPID05　（年月日変換（西暦→和暦））

西暦日付を和暦日付に変換する「LXRPID05（年月日変換（西暦→和暦））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の西暦年月日範囲が変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の西暦年月日範囲が変更になります。

「明治」〜「平成」の西暦年月日範囲チェックに加え，「和元」の西暦年月日範囲チェックが追加になります。

次に「LXRPID05（年月日変換（西暦→和暦））」のインタフェース，処理基準，および例の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

O-YMDWA

9(7)

年月日（和暦）

年月日（和暦）

O

年号

年号

（1：明治，2：大正，3：昭和，4：平成）

（1：明治，2：大正，3：昭和，4：平成，5：和元）

(2)　処理基準の変更点

(a)　標準版

リターンコードがスペースのときの，年号の範囲の変更点は次のとおりです。

（変更前）

（変更後）

年号

西暦範囲

年号

西暦範囲

和暦範囲

和暦範囲

平成

1989年1月8日〜2087年12月31日

平成

1989年1月8日〜2019年4月30日

元年1月8日〜99年12月31日

平成：元年1月8日〜31年4月30日

−

−

和元

2019年5月1日〜2117年12月31日※

−

元年5月1日〜99年12月31日※

（凡例）

−：該当する内容はありません。

注※

さらに改元が起きた場合，「和元」の終了年月日は，最新年号の開始年月日の前日となり，最新年号の範囲は，99年12月31日に該当する日までとなります。

(b)　JIS規格版

リターンコードがスペースのときの，年号の範囲の変更点は次のとおりです。

（変更前）

（変更後）

年号

西暦範囲

年号

西暦範囲

和暦範囲

和暦範囲

平成

1989年1月8日〜2087年12月31日

平成

1989年1月8日〜2019年4月30日

元年1月8日〜99年12月31日

平成：元年1月8日〜31年4月30日

−

−

和元

2019年5月1日〜2117年12月31日※

−

元年5月1日〜99年12月31日※

（凡例）

−：該当する内容はありません。

注※

さらに改元が起きた場合，「和元」の終了年月日は，最新年号の開始年月日の前日となり，最新年号の範囲は，99年12月31日に該当する日までとなります。

(3)　例の変更点

（変更前）

（変更後）

例3

　I-YMD ：20871231

　↓

　O-YMDWA ：4991231

　O-RTN-CD：SPACE

例3

　I-YMD ：20871231

　↓

　O-YMDWA ：5691231

　O-RTN-CD：SPACE

例4

　I-YMD ：20880101

　↓

　O-YMDWA ：0000000

　O-RTN-CD：'LXRED011'

例4

　I-YMD ：21180101

　↓

　O-YMDWA ：0000000

　O-RTN-CD：'LXRED011'

−

例5

　I-YMD ：20191231

　↓

　O-YMDWA ：5011231

　O-RTN-CD：SPACE

（凡例）

−：該当する内容はありません。

3.4.4　LXRPID06　（年月日変換（和暦→西暦））

和暦日付を西暦日付に変換する「LXRPID06（年月日変換（和暦→西暦））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲が変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲が変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

年号コードが想定外の値のときは，リターンコードに'LXRED002'を設定しますが，最新年の年号コードを仮定してチェックを続行します。

例えば，新年号情報を追加していない場合，「平成」に相当する年号コード（'4'または'H'）を仮定してチェックを続行しますが，新年号情報を追加した場合，「和元」に相当する年号コード（'5'または'W'）を仮定してチェックを続行します。

次に「LXRPID06（年月日変換（和暦→西暦））」のインタフェース，処理基準，および注意事項の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　処理基準の変更点

（変更前）

（変更後）

入力年号

出力年月日（西暦）

入力年号

出力年月日（西暦）

'1', 'M'

入力年月日（年号除く）+ 18670000

'1', 'M'

入力年月日（年号除く）+ 18670000

'2', 'T'

入力年月日（年号除く）+ 19110000

'2', 'T'

入力年月日（年号除く）+ 19110000

'3', 'S'

入力年月日（年号除く）+ 19250000

'3', 'S'

入力年月日（年号除く）+ 19250000

'4', 'H'

入力年月日（年号除く）+ 19880000

'4', 'H'

入力年月日（年号除く）+ 19880000

−

−

'5', 'W'

入力年月日（年号除く）+ 20180000

その他

入力年月日（年号除く）+ 19880000

その他

入力年月日（年号除く）+ 20180000

（凡例）

−：該当する内容はありません。

(3)　注意事項の変更点

（変更前）

（変更後）

誤った年号に対しては，平成（'4'，'H'）と同様の処理を行う。ただしリターンコードには'LXRED002'を返す。

誤った年号に対しては，和元（'5'，'W'）と同様の処理を行う。ただしリターンコードには'LXRED002'を返す。

3.4.5　LXRPID08　（年月日算出（和暦年月日±年数））

和暦年月日に年数を加算または減算し，和暦日付を返す「LXRPID08（年月日算出（和暦年月日±年数））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲チェックが変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

次に「LXRPID08（年月日算出（和暦年月日±年数））」のインタフェースおよび注意事項の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

O-YMDWA

9(7)

出力和暦年月日（NYYMMDD）

出力和暦年月日（NYYMMDD）

O

N：年号

N：年号

（1：明治，2：大正，3：昭和，4：平成）

（1：明治，2：大正，3：昭和，4：平成，5：和元）

(2)　注意事項の変更点

（変更前）

（変更後）

明治元年≦入力年＋経過年数≦平成99年の範囲外になる場合，結果は不正とする。リターンコード'LXRED011'を返す。

明治元年≦入力年＋経過年数≦和元99年の範囲外になる場合，結果は不正とする。リターンコード'LXRED011'を返す。

3.4.6　LXRPID10　（年月日算出（和暦年月日±月数））

和暦年月日に月数を加算または減算し，和暦日付を返す「LXRPID10（年月日算出（和暦年月日±月数））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲チェックが変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

次に「LXRPID10（年月日算出（和暦年月日±月数））」のインタフェースの変更点を示します。なお，ここでは，変更になる個所だけを示します。

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

O-YMDWA

9(7)

出力和暦年月日（NYYMMDD）

出力和暦年月日（NYYMMDD）

O

N：年号

N：年号

（1：明治，2：大正，3：昭和，4：平成）

（1：明治，2：大正，3：昭和，4：平成，5：和元）

3.4.7　LXRPID12　（年月日算出（和暦年月日±日数））

和暦年月日に日数を加算または減算し，和暦日付を返す「LXRPID12（年月日算出（和暦年月日±日数））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲チェックが変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

次に「LXRPID12（年月日算出（和暦年月日±日数））」のインタフェースの変更点を示します。なお，ここでは，変更になる個所だけを示します。

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

O-YMDWA

9(7)

出力和暦年月日（NYYMMDD）

出力和暦年月日（NYYMMDD）

O

N：年号

N：年号

（1：明治，2：大正，3：昭和，4：平成）

（1：明治，2：大正，3：昭和，4：平成，5：和元）

3.4.8　LXRPID14　（期間算出（和暦年月日間日数））

2つの和暦日付の期間を日数で求める「LXRPID14（期間算出（和暦年月日間日数））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲チェックが変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

次に「LXRPID14（期間算出（和暦年月日間日数））」のインタフェースの変更点を示します。なお，ここでは，変更になる個所だけを示します。

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-S-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

：

：

：

：

：

：

05

I-E-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

3.4.9　LXRPID16　（期間算出（和暦年月日間年月日））

2つの和暦日付の期間を年月日で求める「LXRPID16（期間算出（和暦年月日間年月日））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲チェックが変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

次に「LXRPID16（期間算出（和暦年月日間年月日））」のインタフェースの変更点を示します。なお，ここでは，変更になる個所だけを示します。

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-S-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

：

：

：

：

：

：

05

I-E-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

3.4.10　LXRPID18　（月末日算出（和暦年月日））

和暦年月の月末日を求める「LXRPID18（月末日算出（和暦年月日））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲が変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲が変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

年号コードが想定外の値のときは，リターンコードに'LXRED002'を設定しますが，最新年の年号コードを仮定してチェックを続行します。

例えば，新年号情報を追加していない場合，「平成」に相当する年号コード（'4'または'H'）を仮定してチェックを続行しますが，新年号情報を追加した場合，「和元」に相当する年号コード（'5'または'W'）を仮定してチェックを続行します。

次に「LXRPID18（月末日算出（和暦年月日））」のインタフェースおよび注意事項の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　注意事項の変更点

（変更前）

（変更後）

年号は明治，大正，昭和，平成とし，これ以外の指定は，平成と見なす。

年号は明治，大正，昭和，平成，和元とし，これ以外の指定は，和元と見なす。

3.4.11　LXRPID20　（通算週算出（年始〜和暦年月日））

和暦日付が入力された和暦年の通算第何週かを求める「LXRPID20（通算週算出（年始〜和暦年月日））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲が変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲が変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

次に「LXRPID20（通算週算出（年始〜和暦年月日））」のインタフェースの変更点を示します。なお，ここでは，変更になる個所だけを示します。

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

3.4.12　LXRPID21　（年月日分類（西暦））

西暦日付を平日，土曜，日曜および祝祭日に分類する「LXRPID21（年月日分類（西暦））」の変更点は，次のとおりです。

各祝祭日・休日は，2019年5月1日に施行の「国民の祝日に関する法律」および2018年6月20日施行の「平成三十二年東京オリンピック競技大会・東京パラリンピック競技大会特別措置法」に基づくものに変更になります。

次に「LXRPID21（年月日分類（西暦））」の処理基準の変更点を示します。なお，ここでは，変更になる個所だけを示します。

（変更前）

（変更後）

各祝祭日・休日は，2007年6月1日時点で公布されている「国民の祝日に関する法律」に基づくものとする。

各祝祭日・休日は，2019年5月1日に施行の「国民の祝日に関する法律」および2018年6月20日施行の「平成三十二年東京オリンピック競技大会・東京パラリンピック競技大会特別措置法」に基づくものとする。

3.4.13　LXRPID22　（年月日分類（和暦））

和暦日付を平日，土曜，日曜および祝祭日に分類する「LXRPID22（年月日分類（和暦））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲が変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲が変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

次に「LXRPID22（年月日分類（和暦））」のインタフェースの変更点を示します。なお，ここでは，変更になる個所だけを示します。

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成） or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

3.4.14　LXRPID24　（年月日出力編集（和暦））

和暦日付を指定された処理形式に従い編集する「LXRPID24（年月日出力編集（和暦））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲チェックが変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

次に「LXRPID24（年月日出力編集（和暦））」のインタフェースの変更点を示します。なお，ここでは，変更になる個所だけを示します。

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

O-YMDWA

X(100)

出力年月日（和暦）

出力年月日（和暦）

O

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

3.4.15　LXRPID26　（うるう年判定（和暦））

その年がうるう年か平年かをチェックする「LXRPID26（うるう年判定（和暦））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年範囲が変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年範囲が変更になります。

「明治」〜「平成」の和暦年範囲チェックに加え，「和元」の和暦年範囲チェックが追加になります。

次に「LXRPID26（うるう年判定（和暦））」のインタフェースの変更点を示します。なお，ここでは，変更になる個所だけを示します。

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

3.4.16　LXRPID28　（年月日（和暦）→一貫日変換）

西暦1年1月1日から和暦日付までの一貫日を求める「LXRPID28（年月日（和暦）→一貫日変換）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲チェックが変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。「和元」の和暦年月日範囲エラー時は，リターンコードに'LXRED041'を設定します。

年号コードが想定外の値のときは，リターンコードに'LXRED002'を設定しますが，最新年の年号コードを仮定してチェックを続行します。

例えば，新年号情報を追加していない場合，「平成」に相当する年号コード（'4'または'H'）を仮定してチェックを続行しますが，新年号情報を追加した場合，「和元」に相当する年号コード（'5'または'W'）を仮定してチェックを続行します。

次に「LXRPID28（年月日（和暦）→一貫日変換）」のインタフェース，および例の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　例の変更点

（変更前）

（変更後）

例2

　I-YMDWA ：5030415

　↓

　O-DAYS ：726937

　O-RTN-CD：'LXRED002'

例2

　I-YMDWA ：5030415

　↓

　O-DAYS ：737894

　O-RTN-CD：SPACE

−

例3

　I-YMDWA ：6030415

　↓

　O-DAYS ：737894

　O-RTN-CD：'LXRED002'

例3

　I-YMDWA ：1010101

　↓

　O-DAYS ：0

　O-RTN-CD：'LXRED006'

例4

　I-YMDWA ：1010101

　↓

　O-DAYS ：0

　O-RTN-CD：'LXRED006'

3.4.17　LXRPID30　（一貫日→年月日（和暦）変換）

指定された一貫日に対応する和暦年月日を求める「LXRPID30（一貫日→年月日（和暦）変換）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲チェックが変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

次に「LXRPID30（一貫日→年月日（和暦）変換）」のインタフェース，注意事項，および例の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

O-YMDWA

9(7)

年月日（和暦）（NYYMMDD）

年月日（和暦）（NYYMMDD）

O

年号

年号

（1：明治，2：大正，3：昭和，4：平成）

（1：明治，2：大正，3：昭和，4：平成，5：和元）

(2)　注意事項の変更点

（変更前）

（変更後）

日数の範囲は682159（：明治元年9月8日）≦日数≦762261（：平成99年12月31日）とする。範囲外の日数が入力された場合，和暦年月日に0を，リターンコードに'LXRED011'を返す。

日数の範囲は682159（：明治元年9月8日）≦日数≦773218（：和元99年12月31日）とする。範囲外の日数が入力された場合，和暦年月日に0を，リターンコードに'LXRED011'を返す。

(3)　例の変更点

（変更前）

（変更後）

例3

　I-DAYS ：762262

　↓

　O-YMDWA ：0000000

　O-RTN-CD：'LXRED011'

例3

　I-DAYS ：773219

　↓

　O-YMDWA ：0000000

　O-RTN-CD：'LXRED011'

3.4.18　LXRPID32　（日数算出（和暦年月日〜月末日））

和暦日付から月末日までの日数を求める「LXRPID32（日数算出（和暦年月日〜月末日）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲チェックが変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

次に「LXRPID32（日数算出（和暦年月日〜月末日）」のインタフェースの変更点を示します。なお，ここでは，変更になる個所だけを示します。

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

3.4.19　LXRPID34　（年月日（和暦）→曜日算出）

和暦日付に対応する曜日を求める「LXRPID34（年月日（和暦）→曜日算出）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲チェックが変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

次に「LXRPID34（年月日（和暦）→曜日算出）」のインタフェースの変更点を示します。なお，ここでは，変更になる個所だけを示します。

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成） or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

3.4.20　LXRPID36　（年号コードチェック／編集）

年号コードをチェックし，年号名に変換する「LXRPID36（年号コードチェック／編集）」の変更点は，次のとおりです。

「明治」〜「平成」の年号コードチェックに加え，「和元」の年号コードチェックが追加になります。

次に「LXRPID36（年号コードチェック／編集）」のインタフェースおよび注意事項の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　注意事項の変更点

（変更前）

（変更後）

年号コードは'1'，'2'，'3'，'4'，'M'，'T'，'S'，'H'とする。

年号コードは'1'，'2'，'3'，'4'，'5'，'M'，'T'，'S'，'H'，'W'とする。

3.4.21　LXRPID37　（年号コード変換（英字→数字））

年号コード（英字）を年号コード（数字）に変換する「LXRPID37（年号コード変換（英字→数字））」の変更点は，次のとおりです。

「明治」〜「平成」の年号コードチェックに加え，「和元」の年号コードチェックが追加になります。

年号コードが想定外の値のときは，リターンコードに'LXRED014'を設定しますが，最新年の年号コードを仮定してチェックを続行します。

例えば，新年号情報を追加していない場合，「平成」に相当する年号コード（'4'または'H'）を仮定してチェックを続行しますが，新年号情報を追加した場合，「和元」に相当する年号コード（'5'または'W'）を仮定してチェックを続行します。

次に「LXRPID37（年号コード変換（英字→数字））」のインタフェース，処理基準，例，および注意事項の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

O-YMDWA

9(7)

年月日（和暦）（NYYMMDD）

年月日（和暦）（NYYMMDD）

O

N：年号

N：年号

（1：明治，2：大正，3：昭和，4：平成）

（1：明治，2：大正，3：昭和，4：平成，5：和元）

(2)　処理基準の変更点

（変更前）

（変更後）

年号コード'M'，'T'，'S'，'H'を入力し，'1'，'2'，'3'，'4'に変換して出力する。

年号コード'M'，'T'，'S'，'H'，'W'を入力し，'1'，'2'，'3'，'4'，'5'に変換して出力する。

（変更前）

（変更後）

入力年号

出力年号

リターンコード

入力年号

出力年号

リターンコード

'M'

1

SPACE

'M'

1

SPACE

'T'

2

SPACE

'T'

2

SPACE

'S'

3

SPACE

'S'

3

SPACE

'H'

4

SPACE

'H'

4

SPACE

−

−

−

'W'

5

SPACE

'1'

1

SPACE

'1'

1

SPACE

'2'

2

SPACE

'2'

2

SPACE

'3'

3

SPACE

'3'

3

SPACE

'4'

4

SPACE

'4'

4

SPACE

−

−

−

'5'

5

SPACE

その他

4

'LXRED014'

その他

5

'LXRED014'

（凡例）

−：該当する内容はありません。

(3)　例の変更点

（変更前）

（変更後）

例2

　I-YMDWA ：A150320

　↓

　O-YMDWA ：4150320

　O-RTN-CD：'LXRED014'

例2

　I-YMDWA ：A150320

　↓

　O-YMDWA ：5150320

　O-RTN-CD：'LXRED014'

(4)　注意事項の変更点

（変更前）

（変更後）

年号コードが'1'，'2'，'3'，'4'の場合はそのまま出力する。

年号コードが'1'，'2'，'3'，'4'，'5'の場合はそのまま出力する。

誤った年号コードが入力された場合，出力側の年号に'4'，年月日はそのまま出力し，リターンコードに'LXRED014'を出力する。

誤った年号コードが入力された場合，出力側の年号に'5'，年月日はそのまま出力し，リターンコードに'LXRED014'を出力する。

3.4.22　LXRPID38　（年号コード変換（数字→英字））

年号コード（数字）を年号コード（英字）に変換する「LXRPID38（年号コード変換（数字→英字））」の変更点は，次のとおりです。

「明治」〜「平成」の年号コードチェックに加え，「和元」の年号コードチェックが追加になります。

年号コードが想定外の値のときは，リターンコードに'LXRED014'を設定しますが，最新年の年号コードを仮定してチェックを続行します。

例えば，新年号情報を追加していない場合，「平成」に相当する年号コード（'4'または'H'）を仮定してチェックを続行しますが，新年号情報を追加した場合，「和元」に相当する年号コード（'5'または'W'）を仮定してチェックを続行します。

次に「LXRPID38（年号コード変換（数字→英字））」のインタフェース，処理基準，例，および注意事項の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）

（1：明治，2：大正，3：昭和，4：平成，5：和元）

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

O-NNG

X(1)

年号

年号

O

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　処理基準の変更点

（変更前）

（変更後）

入力年号コード'1'，'2'，'3'，'4'に対し，'M'，'T'，'S'，'H'を出力する。

入力年号コード'1'，'2'，'3'，'4'，'5'に対し，'M'，'T'，'S'，'H'，'W'を出力する。

（変更前）

（変更後）

入力年号

出力年号

リターンコード

入力年号

出力年号

リターンコード

'1'

'M'

SPACE

'1'

'M'

SPACE

'2'

'T'

SPACE

'2'

'T'

SPACE

'3'

'S'

SPACE

'3'

'S'

SPACE

'4'

'H'

SPACE

'4'

'H'

SPACE

−

−

−

'5'

'W'

SPACE

'M'

'M'

SPACE

'M'

'M'

SPACE

'T'

'T'

SPACE

'T'

'T'

SPACE

'S'

'S'

SPACE

'S'

'S'

SPACE

'H'

'H'

SPACE

'H'

'H'

SPACE

−

−

−

'W'

'W'

SPACE

その他

'H'

'LXRED014'

その他

'W'

'LXRED014'

（凡例）

−：該当する内容はありません。

(3)　例の変更点

（変更前）

（変更後）

例2

　I-YMDWA ：0150320

　↓

　O-YMDWA ：H150320

　O-RTN-CD：'LXRED014'

例2

　I-YMDWA ：0150320

　↓

　O-YMDWA ：W150320

　O-RTN-CD：'LXRED014'

(4)　注意事項の変更点

（変更前）

（変更後）

年号コードが'M'，'T'，'S'，'H'の場合はそのまま出力する。

年号コードが'M'，'T'，'S'，'H'，'W'の場合はそのまま出力する。

誤った年号コードが入力された場合，O-NNGには'H'，年月日はそのまま出力し，リターンコードに'LXRED014'を出力する。

誤った年号コードが入力された場合，O-NNGには'W'，年月日はそのまま出力し，リターンコードに'LXRED014'を出力する。

3.4.23　LXRPID42　（年月日（和暦）過去チェック）

システム日付と比較し，過去の日付かどうかをチェックする「LXRPID42（年月日（和暦）過去チェック）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲チェックが変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

次に「LXRPID42（年月日（和暦）過去チェック）」のインタフェースおよび処理基準の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　処理基準の変更点

（変更前）

（変更後）

実在日チェックを（実在日チェック（和暦）：LXRPID02）によって，次の順で行う（項番1〜11）。

実在日チェックを（実在日チェック（和暦）：LXRPID02）によって，次の順で行う（項番1〜12）。

入力年月日（和暦）がシステム日付よりも過去ではない場合はリターンコードに'LXRED003'を返す（項番12）。

入力年月日（和暦）がシステム日付よりも過去ではない場合はリターンコードに'LXRED003'を返す（項番13）。

（変更前）

（変更後）

No.

チェック

リターンコード

No.

チェック

リターンコード

3

年号＝1，2，3，4，M，T，S，H

LXRED002

3

年号＝1，2，3，4，5，M，T，S，H，W

LXRED002

11

平成：元年1月8日〜

LXRED010

11

平成：元年1月8日〜31年4月30日

LXRED010

−

−

−

12

和元：元年5月1日〜※

LXRED041

12

年月日＜＝システム日付

LXRED003

13

年月日＜＝システム日付

LXRED003

（凡例）

−：該当する内容はありません。

注※

「和元」は，99年12月31日に該当する日までの範囲となります。

さらに改元が起きた場合，「和元」の終了年月日は，最新年号の開始年月日の前日となり，最新年号の範囲は，99年12月31日に該当する日までとなります。

3.4.24　LXRPID44　（年月日（和暦）未来チェック）

システム日付と比較し，未来の日付かどうかをチェックする「LXRPID44（年月日（和暦）未来チェック）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲チェックが変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

次に「LXRPID44（年月日（和暦）未来チェック）」のインタフェースおよび処理基準の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　処理基準の変更点

（変更前）

（変更後）

実在日チェックを（実在日チェック（和暦）：LXRPID02）によって，次の順で行う（項番1〜11）。

実在日チェックを（実在日チェック（和暦）：LXRPID02）によって，次の順で行う（項番1〜12）。

入力年月日（和暦）がシステム日付よりも未来ではない場合はリターンコードに'LXRED015'を返す（項番12）。

入力年月日（和暦）がシステム日付よりも未来ではない場合はリターンコードに'LXRED015'を返す（項番13）。

（変更前）

（変更後）

No.

チェック

リターンコード

No.

チェック

リターンコード

3

年号＝1，2，3，4，M，T，S，H

LXRED002

3

年号＝1，2，3，4，5，M，T，S，H，W

LXRED002

11

平成：元年1月8日〜

LXRED010

11

平成：元年1月8日〜31年4月30日

LXRED010

−

−

−

12

和元：元年5月1日〜※

LXRED041

12

年月日＞＝システム日付

LXRED015

13

年月日＞＝システム日付

LXRED015

（凡例）

−：該当する内容はありません。

注※

「和元」は，99年12月31日に該当する日までの範囲となります。

さらに改元が起きた場合，「和元」の終了年月日は，最新年号の開始年月日の前日となり，最新年号の範囲は，99年12月31日に該当する日までとなります。

3.4.25　LXRPID46　（年月日（和暦）編集）

和暦日付を指定された処理形式に従い編集する「LXRPID46（年月日（和暦）編集）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲チェックが変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

次に「LXRPID46（年月日（和暦）編集）」のインタフェースの変更点を示します。なお，ここでは，変更になる個所だけを示します。

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

3.4.26　LXRPID47　（年月日変換（西暦→和暦）編集）

西暦を和暦に変換し，指定された処理形式に従い編集する「LXRPID47（年月日変換（西暦→和暦）編集」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の西暦年月日範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の西暦年月日範囲チェックが変更になります。

「明治」〜「平成」の西暦年月日範囲チェックに加え，「和元」の西暦年月日範囲チェックが追加になります。

3.4.27　LXRPID49　（年月（和暦）チェック）

年月（和暦）の妥当性をチェックする「LXRPID49（年月（和暦）チェック）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月範囲チェックが変更になります。「平成」の和暦年月範囲エラー時は，リターンコードに'LXRED010'を設定します。なお，改元前は，リターンコードに'LXRED010'が設定されることはありません。

「明治」〜「平成」の和暦年月範囲チェックに加え，「和元」の和暦年月範囲チェックが追加になります。「和元」の和暦年月範囲エラー時は，リターンコードに'LXRED041'を設定します。

年号コードが想定外の値のときは，リターンコードに'LXRED002'を設定しますが，最新年の年号コードを仮定してチェックを続行します。

例えば，新年号情報を追加していない場合，「平成」に相当する年号コード（'4'または'H'）を仮定してチェックを続行しますが，新年号情報を追加した場合，「和元」に相当する年号コード（'5'または'W'）を仮定してチェックを続行します。

次に「LXRPID49（年月（和暦）チェック）」のインタフェース，処理基準，および注意事項の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　処理基準の変更点

（変更前）

（変更後）

No.

チェック

リターンコード

No.

チェック

リターンコード

2

年号＝1，2，3，4，M，T，S，H

LXRED002

2

年号＝1，2，3，4，5，M，T，S，H，W

LXRED002

−

−

−

8

平成：元年1月〜31年4月

LXRED010

−

−

−

9

和元：元年5月〜※

LXRED041

（凡例）

−：該当する内容はありません。

注※

「和元」は，99年12月31日に該当する日までの範囲となります。

さらに改元が起きた場合，「和元」の終了年月日は，最新年号の開始年月日の前日となり，最新年号の範囲は，99年12月31日に該当する日までとなります。

(3)　注意事項の変更点

（変更前）

（変更後）

年号がエラーのときは，リターンコードに'LXRED002'を設定するが処理を終わらせず，年号＝平成を仮定してチェックを続行する。年号以外のエラーがある場合は，そのリターンコードを返す。

年号がエラーのときは，リターンコードに'LXRED002'を設定するが処理を終わらせず，年号＝和元を仮定してチェックを続行する。年号以外のエラーがある場合は，そのリターンコードを返す。

3.4.28　LXRPID51　（年月（和暦）過去チェック）

システム日付と比較し，過去の日付かどうかをチェックする「LXRPID51（年月（和暦）過去チェック）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月範囲チェックが変更になります。「平成」の和暦年月範囲エラー時は，リターンコードに'LXRED010'を設定します。なお，改元前は，リターンコードに'LXRED010'が設定されることはありません。

「明治」〜「平成」の和暦年月範囲チェックに加え，「和元」の和暦年月範囲チェックが追加になります。「和元」の和暦年月範囲エラー時は，リターンコードに'LXRED041'を設定します。

年号コードが想定外の値のときは，リターンコードに'LXRED002'を設定しますが，最新年の年号コードを仮定してチェックを続行します。

例えば，新年号情報を追加していない場合，「平成」に相当する年号コード（'4'または'H'）を仮定してチェックを続行しますが，新年号情報を追加した場合，「和元」に相当する年号コード（'5'または'W'）を仮定してチェックを続行します。

次に「LXRPID51（年月（和暦）過去チェック）」のインタフェースおよび処理基準の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　処理基準の変更点

（変更前）

（変更後）

（年月変換（和暦→西暦）：LXRPID58）を用いて，西暦年月に変換する。

リターンコードがスペースの時

システム日付と比較する。

リターンコードがスペースでない時

（年月変換（和暦→西暦）：LXRPID58）のリターンコードを出力する（項番1〜7）。

（年月変換（和暦→西暦）：LXRPID58）を用いて，西暦年月に変換する。

リターンコードがスペースの時

システム日付と比較する。

リターンコードがスペースでない時

（年月変換（和暦→西暦）：LXRPID58）のリターンコードを出力する（項番1〜9）。

（変更前）

（変更後）

No.

チェック

リターンコード

No.

チェック

リターンコード

2

年号＝1，2，3，4，M，T，S，H

LXRED002

2

年号＝1，2，3，4，5，M，T，S，H，W

LXRED002

−

−

−

8

平成：元年1月〜31年4月

LXRED010

−

−

−

9

和元：元年5月〜※

LXRED041

8

年月＜＝システム日付

LXRED003

10

年月＜＝システム日付

LXRED003

（凡例）

−：該当する内容はありません。

注※

「和元」は，99年12月31日に該当する日までの範囲となります。

さらに改元が起きた場合，「和元」の終了年月日は，最新年号の開始年月日の前日となり，最新年号の範囲は，99年12月31日に該当する日までとなります。

3.4.29　LXRPID53　（年月（和暦）未来チェック）

システム日付と比較し，未来の日付かどうかをチェックする「LXRPID53（年月（和暦）未来チェック）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月範囲チェックが変更になります。「平成」の和暦年月範囲エラー時は，リターンコードに'LXRED010'を設定します。なお，改元前は，リターンコードに'LXRED010'が設定されることはありません。

「明治」〜「平成」の和暦年月範囲チェックに加え，「和元」の和暦年月範囲チェックが追加になります。「和元」の和暦年月範囲エラー時は，リターンコードに'LXRED041'を設定します。

年号コードが想定外の値のときは，リターンコードに'LXRED002'を設定しますが，最新年の年号コードを仮定してチェックを続行します。

例えば，新年号情報を追加していない場合，「平成」に相当する年号コード（'4'または'H'）を仮定してチェックを続行しますが，新年号情報を追加した場合，「和元」に相当する年号コード（'5'または'W'）を仮定してチェックを続行します。

次に「LXRPID53（年月（和暦）未来チェック）」のインタフェースおよび処理基準の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　処理基準の変更点

（変更前）

（変更後）

（年月変換（和暦→西暦）：LXRPID58）を用いて，西暦年月に変換する。

リターンコードがスペースの時

システム日付と比較する。

リターンコードがスペースでない時

（年月変換（和暦→西暦）：LXRPID58）のリターンコードを出力する（項番1〜7）。

（年月変換（和暦→西暦）：LXRPID58）を用いて，西暦年月に変換する。

リターンコードがスペースの時

システム日付と比較する。

リターンコードがスペースでない時

（年月変換（和暦→西暦）：LXRPID58）のリターンコードを出力する（項番1〜9）。

（変更前）

（変更後）

No.

チェック

リターンコード

No.

チェック

リターンコード

2

年号＝1，2，3，4，M，T，S，H

LXRED002

2

年号＝1，2，3，4，5，M，T，S，H，W

LXRED002

−

−

−

8

平成：元年1月〜31年4月

LXRED010

−

−

−

9

和元：元年5月〜※

LXRED041

8

年月＞＝システム日付

LXRED015

10

年月＞＝システム日付

LXRED015

（凡例）

−：該当する内容はありません。

注※

「和元」は，99年12月31日に該当する日までの範囲となります。

さらに改元が起きた場合，「和元」の終了年月日は，最新年号の開始年月日の前日となり，最新年号の範囲は，99年12月31日に該当する日までとなります。

3.4.30　LXRPID55　（年月（和暦）編集）

年月（和暦）を編集する「LXRPID55（年月（和暦）編集）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月範囲チェックが変更になります。

「明治」〜「平成」の和暦年月範囲チェックに加え，「和元」の和暦年月範囲チェックが追加になります。

次に「LXRPID55（年月（和暦）編集）」のインタフェースの変更点を示します。なお，ここでは，変更になる個所だけを示します。

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

3.4.31　LXRPID56　（年月変換（西暦→和暦）編集）

西暦年月を和暦年月に変換し，指定された処理形式に従い編集する「LXRPID56（年月変換（西暦→和暦）編集）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の西暦年月範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の西暦年月範囲チェックが変更になります。

「明治」〜「平成」の西暦年月範囲チェックに加え，「和元」の西暦年月範囲チェックが追加になります。

3.4.32　LXRPID57　（年月変換（西暦→和暦））

西暦の年月を和暦に変換する「LXRPID57（年月変換（西暦→和暦））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の西暦年月範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の西暦年月範囲チェックが変更になります。

「明治」〜「平成」の西暦年月範囲チェックに加え，「和元」の西暦年月範囲チェックが追加になります。なお，「和元」の西暦開始年月は，「平成」の終了西暦年月の翌月からとなります。

次に「LXRPID57（年月変換（西暦→和暦））」のインタフェースおよび処理基準の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

O-NNG

X(1)

年号

年号

O

（1：明治，2：大正，3：昭和，4：平成）

（1：明治，2：大正，3：昭和，4：平成，5：和元）

(2)　処理基準の変更点

リターンコードがスペースのときの，年号の範囲の変更点は次のとおりです。

（変更前）

（変更後）

年号

西暦範囲

年号

西暦範囲

和暦範囲

和暦範囲

平成

1989年1月8日〜

平成

1989年1月8日〜2019年4月30日

元年1月8日〜

平成：元年1月8日〜31年4月30日

−

−

和元

2019年5月1日〜※

−

元年5月1日〜※

（凡例）

−：該当する内容はありません。

注※

最新年号は，和暦の99年12月31日に該当する日までの範囲となります。

さらに改元が起きた場合，「和元」の終了年月日は，最新年号の開始年月日の前日となり，最新年号の範囲は，99年12月31日に該当する日までとなります。

3.4.33　LXRPID58　（年月変換（和暦→西暦））

和暦の年月を西暦に変換する「LXRPID58（年月変換（和暦→西暦））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月範囲チェックが変更になります。「平成」の和暦年月範囲エラー時は，リターンコードに'LXRED010'を設定します。なお，改元前は，リターンコードに'LXRED010'が設定されることはありません。

「明治」〜「平成」の和暦年月範囲チェックに加え，「和元」の和暦年月範囲チェックが追加になります。「和元」の和暦年月範囲エラー時は，リターンコードに'LXRED041'を設定します。

年号コードが想定外の値のときは，リターンコードに'LXRED002'を設定しますが，最新年の年号コードを仮定してチェックを続行します。

例えば，新年号情報を追加していない場合，「平成」に相当する年号コード（'4'または'H'）を仮定してチェックを続行しますが，新年号情報を追加した場合，「和元」に相当する年号コード（'5'または'W'）を仮定してチェックを続行します。

次に「LXRPID58（年月変換（和暦→西暦））」のインタフェースおよび処理基準の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　処理基準の変更点

（変更前）

（変更後）

入力年号

出力年月日（西暦）

入力年号

出力年月日（西暦）

'1', 'M'

入力年月日（年号除く）+ 18670000

'1', 'M'

入力年月日（年号除く）+ 18670000

'2', 'T'

入力年月日（年号除く）+ 19110000

'2', 'T'

入力年月日（年号除く）+ 19110000

'3', 'S'

入力年月日（年号除く）+ 19250000

'3', 'S'

入力年月日（年号除く）+ 19250000

'4', 'H'

入力年月日（年号除く）+ 19880000

'4', 'H'

入力年月日（年号除く）+ 19880000

−

−

'5', 'W'

入力年月日（年号除く）+ 20180000

その他

入力年月日（年号除く）+ 19880000

その他

入力年月日（年号除く）+ 20180000

（凡例）

−：該当する内容はありません。

3.4.34　LXRPID60　（年度（和暦）チェック）

年度（和暦）の妥当性をチェックする「LXRPID60（年度（和暦）チェック）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年度範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年度範囲チェックが変更になります。「平成」の和暦年度範囲エラー時は，リターンコードに'XRED010'を設定します。なお，改元前は，リターンコードに'LXRED010'が設定されることはありません。

「明治」〜「平成」の和暦年度範囲チェックに加え，「和元」の和暦年度範囲チェックが追加になります。「和元」の和暦年度範囲エラー時は，リターンコードに'LXRED041'を設定します。

年号コードが想定外の値のときは，リターンコードに'LXRED002'を設定しますが，最新年の年号コードを仮定してチェックを続行します。

例えば，新年号情報を追加していない場合，「平成」に相当する年号コード（'4'または'H'）を仮定してチェックを続行しますが，新年号情報を追加した場合，「和元」に相当する年号コード（'5'または'W'）を仮定してチェックを続行します。

次に「LXRPID60（年度（和暦）チェック）」のインタフェース，処理基準，および注意事項の変更点を示します。ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

I-NNDWA

X(3)

年度（和暦）

年度（和暦）

I

形式：NYY

形式：NYY

　N：年号

　N：年号

　YY：年

　YY：年

年号：

年号：

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　処理基準の変更点

（変更前）

（変更後）

No.

チェック

リターンコード

No.

チェック

リターンコード

2

年号＝1，2，3，4，M，T，S，H

LXRED002

2

年号＝1，2，3，4，5，M，T，S，H，W

LXRED002

7

平成：元年1月8日〜

LXRED010

7

平成：元年1月8日〜31年4月30日

LXRED010

−

−

−

8

和元：元年5月1日〜※

LXRED041

（凡例）

−：該当する内容はありません。

注※

「和元」は，99年12月31日に該当する日までの範囲となります。

さらに改元が起きた場合，「和元」の終了年月日は，最新年号の開始年月日の前日となり，最新年号の範囲は，99年12月31日に該当する日までとなります。

(3)　注意事項の変更点

（変更前）

（変更後）

年号がエラーのときは，リターンコードに'LXRED002'を設定するが処理を終わらせず，年号＝平成を仮定してチェックを続行する。年号以外のエラーがある場合は，そのリターンコードを返す。

年号がエラーのときは，リターンコードに'LXRED002'を設定するが処理を終わらせず，年号＝和元を仮定してチェックを続行する。年号以外のエラーがある場合は，そのリターンコードを返す。

3.4.35　LXRPID62　（年度（和暦）過去チェック）

システム日付と比較し，過去の年度かどうかをチェックする「LXRPID62（年度（和暦）過去チェック）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年度範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年度範囲チェックが変更になります。「平成」の和暦年度範囲エラー時は，リターンコードに'LXRED010'を設定します。なお，改元前は，リターンコードに'LXRED010'が設定されることはありません。

「明治」〜「平成」の和暦年度範囲チェックに加え，「和元」の和暦年度範囲チェックが追加になります。「和元」の和暦年度範囲エラー時は，リターンコードに'LXRED041'を設定します。

年号コードが想定外の値のときは，リターンコードに'LXRED002'を設定しますが，最新年の年号コードを仮定してチェックを続行します。

例えば，新年号情報を追加していない場合，「平成」に相当する年号コード（'4'または'H'）を仮定してチェックを続行しますが，新年号情報を追加した場合，「和元」に相当する年号コード（'5'または'W'）を仮定してチェックを続行します。

次に「LXRPID62（年度（和暦）過去チェック）」のインタフェースおよび処理基準の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

I-NNDWA

X(3)

年度（和暦）

年度（和暦）

I

形式：NYY

形式：NYY

　N：年号

　N：年号

　YY：年

　YY：年

年号：

年号：

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　処理基準の変更点

（変更前）

（変更後）

入力年度のチェックを（年度（和暦）チェック：LXRPID60）を用いて下表の順で行う（項番1〜7）。

入力年度のチェックを（年度（和暦）チェック：LXRPID60）を用いて下表の順で行う（項番1〜8）。

システム日付を取得し，次の処理を行う。

システム日付の月が'1'，'2'，'3'の場合，システム日付の年から1 を減じ，入力年度と比較する。比較の結果，入力年度（和暦）がシステム日付よりも過去ではない場合はリターンコードに'LXRED003'を返す（項番8）。

システム日付の月が'1'，'2'，'3'以外の場合，システム日付の年を入力年度と比較する。比較の結果，入力年度（和暦）がシステム日付よりも過去ではない場合はリターンコードに'LXRED003'を返す（項番8）。

システム日付を取得し，次の処理を行う。

システム日付の月が'1'，'2'，'3'の場合，システム日付の年から1 を減じ，入力年度と比較する。比較の結果，入力年度（和暦）がシステム日付よりも過去ではない場合はリターンコードに'LXRED003'を返す（項番9）。

システム日付の月が'1'，'2'，'3'以外の場合，システム日付の年を入力年度と比較する。比較の結果，入力年度（和暦）がシステム日付よりも過去ではない場合はリターンコードに'LXRED003'を返す（項番9）。

（変更前）

（変更後）

No.

チェック

リターンコード

No.

チェック

リターンコード

2

年号＝1，2，3，4，M，T，S，H

LXRED002

2

年号＝1，2，3，4，5，M，T，S，H，W

LXRED002

7

平成：元年1月8日〜

LXRED010

7

平成：元年1月8日〜31年4月30日

LXRED010

−

−

−

8

和元：元年5月1日〜※

LXRED041

8

入力年度＜＝システム日付（年）

LXRED003

9

入力年度＜＝システム日付（年）

LXRED003

（凡例）

−：該当する内容はありません。

注※

「和元」は，99年12月31日に該当する日までの範囲となります。

さらに改元が起きた場合，「和元」の終了年月日は，最新年号の開始年月日の前日となり，最新年号の範囲は，99年12月31日に該当する日までとなります。

3.4.36　LXRPID64　（年度（和暦）未来チェック）

システム日付と比較し，未来の年度かどうかをチェックする「LXRPID64（年度（和暦）未来チェック）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年度範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年度範囲チェックが変更になります。「平成」の和暦年度範囲エラー時は，リターンコードに'LXRED010'を設定します。なお，改元前は，リターンコードに'LXRED010'が設定されることはありません。

「明治」〜「平成」の和暦年度範囲チェックに加え，「和元」の和暦年度範囲チェックが追加になります。「和元」の和暦年度範囲エラー時は，リターンコードに'LXRED041'を設定します。

年号コードが想定外の値のときは，リターンコードに'LXRED002'を設定しますが，最新年の年号コードを仮定してチェックを続行します。

例えば，新年号情報を追加していない場合，「平成」に相当する年号コード（'4'または'H'）を仮定してチェックを続行しますが，新年号情報を追加した場合，「和元」に相当する年号コード（'5'または'W'）を仮定してチェックを続行します。

次に「LXRPID64（年度（和暦）未来チェック）」のインタフェースおよび処理基準の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

I-NNDWA

X(3)

年度（和暦）

年度（和暦）

I

形式：NYY

形式：NYY

　N：年号

　N：年号

　YY：年

　YY：年

年号：

年号：

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　処理基準の変更点

（変更前）

（変更後）

入力年度のチェックを（年度（和暦）チェック：LXRPID60）を用いて下表の順で行う（項番1〜7）。

入力年度のチェックを（年度（和暦）チェック：LXRPID60）を用いて下表の順で行う（項番1〜8）。

システム日付を取得し，次の処理を行う。

システム日付の月が'1'，'2'，'3'の場合，システム日付の年から1 を減じ，入力年度と比較する。比較の結果，入力年度（和暦）がシステム日付よりも未来ではない場合はリターンコードに'LXRED015'を返す（項番8）。

システム日付の月が'1'，'2'，'3'以外の場合，システム日付の年を入力年度と比較する。比較の結果，入力年度（和暦）がシステム日付よりも未来ではない場合はリターンコードに'LXRED015'を返す（項番8）。

システム日付を取得し，次の処理を行う。

システム日付の月が'1'，'2'，'3'の場合，システム日付の年から1 を減じ，入力年度と比較する。比較の結果，入力年度（和暦）がシステム日付よりも未来ではない場合はリターンコードに'LXRED015'を返す（項番9）。

システム日付の月が'1'，'2'，'3'以外の場合，システム日付の年を入力年度と比較する。比較の結果，入力年度（和暦）がシステム日付よりも未来ではない場合はリターンコードに'LXRED015'を返す（項番9）。

（変更前）

（変更後）

No.

チェック

リターンコード

No.

チェック

リターンコード

2

年号＝1，2，3，4，M，T，S，H

LXRED002

2

年号＝1，2，3，4，5，M，T，S，H，W

LXRED002

7

平成：元年1月8日〜

LXRED010

7

平成：元年1月8日〜31年4月30日

LXRED010

−

−

−

8

和元：元年5月1日〜※

LXRED041

8

入力年度＞＝システム日付（年）

LXRED015

9

入力年度＞＝システム日付（年）

LXRED015

（凡例）

−：該当する内容はありません。

注※

「和元」は，99年12月31日に該当する日までの範囲となります。

さらに改元が起きた場合，「和元」の終了年月日は，最新年号の開始年月日の前日となり，最新年号の範囲は，99年12月31日に該当する日までとなります。

3.4.37　LXRPID66　（年度（和暦）編集）

年度（和暦）を編集する「LXRPID66（年度（和暦）編集）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年度範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年度範囲チェックが変更になります。

「明治」〜「平成」の和暦年度範囲チェックに加え，「和元」の和暦年度範囲チェックが追加になります。

次に「LXRPID66（年度（和暦）編集）」のインタフェースの変更点を示します。なお，ここでは，変更になる個所だけを示します。

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

I-NNDWA

X(3)

年度（和暦）

年度（和暦）

I

形式：NYY

形式：NYY

　N：年号

　N：年号

　YY：年

　YY：年

年号：

年号：

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

3.4.38　LXRPID67　（年度変換（西暦→和暦）編集）

西暦年度を和暦年度に変換し，指定された処理形式に従い編集する「LXRPID67（年度変換（西暦→和暦）編集」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の西暦年度範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の西暦年度範囲チェックが変更になります。

「明治」〜「平成」の西暦年度範囲チェックに加え，「和元」の西暦年度範囲チェックが追加になります。

3.4.39　LXRPID68　（年度変換（西暦→和暦））

西暦年度を和暦年度に変換する「LXRPID68（年度変換（西暦→和暦））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の西暦年度範囲が変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の西暦年度範囲が変更になります。

「明治」〜「平成」の西暦年度範囲チェックに加え，「和元」の西暦年度範囲チェックが追加になります。

次に「LXRPID68（年度変換（西暦→和暦））」のインタフェースおよび処理基準の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

O-NNDWA

9(3)

年度（和暦）

年度（和暦）

O

形式：NYY

形式：NYY

　N：年号

　N：年号

　YY：年

　YY：年

年号：

年号：

（1：明治，2：大正，3：昭和，4：平成）

（1：明治，2：大正，3：昭和，4：平成，5：和元）

(2)　処理基準の変更点

（変更前）

（変更後）

年号

西暦範囲

年号

西暦範囲

和暦範囲

和暦範囲

平成

1989年1月8日〜

平成

1989年1月8日〜2019年4月30日

元年1月8日〜

平成：元年1月8日〜31年4月30日

−

−

和元

2019年5月1日〜※

−

元年5月1日〜※

（凡例）

−：該当する内容はありません。

注※

最新年号は，和暦の99年12月31日に該当する日までの範囲となります。

さらに改元が起きた場合，「和元」の終了年月日は，最新年号の開始年月日の前日となり，最新年号の範囲は，99年12月31日に該当する日までとなります。

3.4.40　LXRPID69　（年度変換（和暦→西暦））

和暦年度を西暦年度に変換する「LXRPID69（年度変換（和暦→西暦））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年度範囲が変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年度範囲が変更になります。

「明治」〜「平成」の和暦年度範囲チェックに加え，「和元」の和暦年度範囲チェックが追加になります。

年号コードが想定外の値のときは，リターンコードに'LXRED002'を設定しますが，最新年の年号コードを仮定してチェックを続行します。

例えば，新年号情報を追加していない場合，「平成」に相当する年号コード（'4'または'H'）を仮定してチェックを続行しますが，新年号情報を追加した場合，「和元」に相当する年号コード（'5'または'W'）を仮定してチェックを続行します。

次に「LXRPID69（年度変換（和暦→西暦））」のインタフェースおよび処理基準の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

I-NNDWA

X(3)

年度（和暦）

年度（和暦）

I

形式：NYY

形式：NYY

　N：年号

　N：年号

　YY：年

　YY：年

年号：

年号：

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　処理基準の変更点

（変更前）

（変更後）

入力年号

出力年月日（西暦）

入力年号

出力年月日（西暦）

'1', 'M'

年（年号除く）+ 1867

'1', 'M'

年（年号除く）+ 1867

'2', 'T'

年（年号除く）+ 1911

'2', 'T'

年（年号除く）+ 1911

'3', 'S'

年（年号除く）+ 1925

'3', 'S'

年（年号除く）+ 1925

'4', 'H'

年（年号除く）+ 1988

'4', 'H'

年（年号除く）+ 1988

−

−

'5', 'W'

年（年号除く）+ 2018

その他

年（年号除く）+ 1988

その他

年（年号除く）+ 2018

（凡例）

−：該当する内容はありません。

3.4.41　LXRPID71　（年（和暦）チェック）

年（和暦）の妥当性をチェックする「LXRPID71（年（和暦）チェック）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年範囲チェックが変更になります。「平成」の和暦年範囲エラー時は，リターンコードに'LXRED010'を設定します。なお，改元前は，リターンコードに'LXRED010'が設定されることはありません。

「明治」〜「平成」の和暦年範囲チェックに加え，「和元」の和暦年範囲チェックが追加になります。ただし，「和元」の和暦年範囲は1年〜99年であるため，「和元」に相当する年号コード（'5'または'W'）を指定した場合はエラーが発生しません。

年号コードが想定外の値のときは，リターンコードに'LXRED002'を設定しますが，最新年の年号コードを仮定してチェックを続行します。

例えば，新年号情報を追加していない場合，「平成」に相当する年号コード（'4'または'H'）を仮定してチェックを続行しますが，新年号情報を追加した場合，「和元」に相当する年号コード（'5'または'W'）を仮定してチェックを続行します。

次に「LXRPID71（年（和暦）チェック）」のインタフェース，処理基準，および注意事項の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

I-YYWA

X(3)

年（和暦）

年（和暦）

I

形式：NYY

形式：NYY

　N：年号

　N：年号

　YY：年

　YY：年

年号：

年号：

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　処理基準の変更点

（変更前）

（変更後）

No.

チェック

リターンコード

No.

チェック

リターンコード

2

年号＝1，2，3，4，M，T，S，H

LXRED002

2

年号＝1，2，3，4，5，M，T，S，H，W

LXRED002

−

−

−

7

平成：元年〜31年

LXRED010

（凡例）

−：該当する内容はありません。

(3)　注意事項の変更点

（変更前）

（変更後）

年号がエラーのときは，リターンコードに'LXRED002'を設定するが処理を終わらせず，年号＝平成を仮定してチェックを続行する。年号以外のエラーがある場合は，そのリターンコードを返す。

年号がエラーのときは，リターンコードに'LXRED002'を設定するが処理を終わらせず，年号＝和元を仮定してチェックを続行する。年号以外のエラーがある場合は，そのリターンコードを返す。

3.4.42　LXRPID73　（年（和暦）過去チェック）

システム日付と比較し，過去の年かどうかをチェックする「LXRPID73（年（和暦）過去チェック）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年範囲チェックが変更になります。「平成」の和暦年範囲エラー時は，リターンコードに'LXRED010'を設定します。なお，改元前は，リターンコードに'LXRED010'が設定されることはありません。

「明治」〜「平成」の和暦年範囲チェックに加え，「和元」の和暦年範囲チェックが追加になります。「和元」の和暦年範囲エラー時は，リターンコードに'LXRED041'を設定します。

年号コードが想定外の値のときは，リターンコードに'LXRED002'を設定しますが，最新年の年号コードを仮定してチェックを続行します。

例えば，新年号情報を追加していない場合，「平成」に相当する年号コード（'4'または'H'）を仮定してチェックを続行しますが，新年号情報を追加した場合，「和元」に相当する年号コード（'5'または'W'）を仮定してチェックを続行します。

次に「LXRPID73（年（和暦）過去チェック）」のインタフェースおよび処理基準の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

I-YYWA

X(3)

年（和暦）

年（和暦）

I

形式：NYY

形式：NYY

　N：年号

　N：年号

　YY：年

　YY：年

年号：

年号：

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　処理基準の変更点

（変更前）

（変更後）

入力年のチェックを（年（和暦）チェック：LXRPID71）を用いて次の表の順で行う（項番1〜6）。

入力年のチェックを（年（和暦）チェック：LXRPID71）を用いて次の表の順で行う（項番1〜7）。

システム日付を取得し，入力年と比較する。比較の結果，入力年（和暦）がシステム日付よりも過去ではない場合はリターンコードに'LXRED003'を返す（項番7）。

システム日付を取得し，入力年と比較する。比較の結果，入力年（和暦）がシステム日付よりも過去ではない場合はリターンコードに'LXRED003'を返す（項番8）。

（変更前）

（変更後）

No.

チェック

リターンコード

No.

チェック

リターンコード

2

年号＝1，2，3，4，M，T，S，H

LXRED002

2

年号＝1，2，3，4，5，M，T，S，H，W

LXRED002

−

−

−

7

平成：元年〜31年

LXRED010

7

入力年＜＝システム日付（年）

LXRED003

8

入力年＜＝システム日付（年）

LXRED003

（凡例）

−：該当する内容はありません。

注※

「和元」は，99年12月31日に該当する日までの範囲となります。

さらに改元が起きた場合，「和元」の終了年月日は，最新年号の開始年月日の前日となり，最新年号の範囲は，99年12月31日に該当する日までとなります。

3.4.43　LXRPID75　（年（和暦）未来チェック）

システム日付と比較し，未来の年かどうかをチェックする「LXRPID75（年（和暦）未来チェック）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年範囲チェックが変更になります。平成」の和暦年範囲エラー時は，リターンコードに'LXRED010'を設定します。なお，改元前は，リターンコードに'LXRED010'が設定されることはありません。

「明治」〜「平成」の和暦年範囲チェックに加え，「和元」の和暦年範囲チェックが追加になります。「和元」の和暦年範囲エラー時は，リターンコードに'LXRED041'を設定します。

年号コードが想定外の値のときは，リターンコードに'LXRED002'を設定しますが，最新年の年号コードを仮定してチェックを続行します。

例えば，新年号情報を追加していない場合，「平成」に相当する年号コード（'4'または'H'）を仮定してチェックを続行しますが，新年号情報を追加した場合，「和元」に相当する年号コード（'5'または'W'）を仮定してチェックを続行します。

次に「LXRPID75（年（和暦）未来チェック）」のインタフェースおよび処理基準の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

I-YYWA

X(3)

年（和暦）

年（和暦）

I

形式：NYY

形式：NYY

　N：年号

　N：年号

　YY：年

　YY：年

年号：

年号：

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　処理基準の変更点

（変更前）

（変更後）

入力年のチェックを（年（和暦）チェック：LXRPID71）を用いて次の表の順で行う（項番1〜6）。

入力年のチェックを（年（和暦）チェック：LXRPID71）を用いて次の表の順で行う（項番1〜7）。

システム日付を取得し，入力年と比較する。比較の結果，入力年（和暦）がシステム日付よりも未来ではない場合はリターンコードに'LXRED015'を返す（項番7）。

システム日付を取得し，入力年と比較する。比較の結果，入力年（和暦）がシステム日付よりも未来ではない場合はリターンコードに'LXRED015'を返す（項番8）。

（変更前）

（変更後）

No.

チェック

リターンコード

No.

チェック

リターンコード

2

年号＝1，2，3，4，M，T，S，H

LXRED002

2

年号＝1，2，3，4，5，M，T，S，H，W

LXRED002

−

−

−

7

平成：元年〜31年

LXRED010

7

入力年＞＝システム日付（年）

LXRED015

8

入力年＞＝システム日付（年）

LXRED015

（凡例）

−：該当する内容はありません。

注※

「和元」は，99年12月31日に該当する日までの範囲となります。

さらに改元が起きた場合，「和元」の終了年月日は，最新年号の開始年月日の前日となり，最新年号の範囲は，99年12月31日に該当する日までとなります。

3.4.44　LXRPID76　（年変換（西暦→和暦）編集）

西暦年を和暦年に変換し，指定された処理形式に従い編集する「LXRPID76（年変換（西暦→和暦）編集）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の西暦年範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の西暦年範囲チェックが変更になります。

「平成」の終了日が規定されることによって，「平成」の西暦年範囲が変更になります。

「明治」〜「平成」の西暦年範囲チェックに加え，「和元」の西暦年範囲チェックが追加になります。

3.4.45　LXRPID77　（年変換（西暦→和暦））

西暦の年を和暦に変換する「LXRPID77（年変換（西暦→和暦））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の西暦年範囲が変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の西暦年範囲が変更になります。

「明治」〜「平成」の西暦年範囲チェックに加え，「和元」の西暦年範囲チェックが追加になります。

次に「LXRPID77（年変換（西暦→和暦））」のインタフェースおよび処理基準の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

O-YYWA

9(3)

年（和暦）

年（和暦）

O

形式：NYY

形式：NYY

　N：年号

　N：年号

　YY：年

　YY：年

年号：

年号：

（1：明治，2：大正，3：昭和，4：平成）

（1：明治，2：大正，3：昭和，4：平成，5：和元）

(2)　処理基準の変更点

（変更前）

（変更後）

年号

西暦範囲

年号

西暦範囲

和暦範囲

和暦範囲

平成

1989年1月8日〜

平成

1989年1月8日〜2019年4月30日

元年1月8日〜

元年1月8日〜31年4月30日

−

−

和元

2019年5月1日〜※

−

元年5月1日〜※

（凡例）

−：該当する内容はありません。

注※

最新年号は，和暦の99年12月31日に該当する日までの範囲となります。

さらに改元が起きた場合，「和元」の終了年月日は，最新年号の開始年月日の前日となり，最新年号の範囲は，99年12月31日に該当する日までとなります。

3.4.46　LXRPID78　（年変換（和暦→西暦））

和暦の年を西暦に変換する「LXRPID78（年変換（和暦→西暦））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年範囲が変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年範囲が変更になります。

「明治」〜「平成」の和暦年範囲チェックに加え，「和元」の和暦年範囲チェックが追加になります。

年号コードが想定外の値のときは，リターンコードに'LXRED002'を設定しますが，最新年の年号コードを仮定してチェックを続行します。

例えば，新年号情報を追加していない場合，「平成」に相当する年号コード（'4'または'H'）を仮定してチェックを続行しますが，新年号情報を追加した場合，「和元」に相当する年号コード（'5'または'W'）を仮定してチェックを続行します。

次に「LXRPID78（年変換（和暦→西暦））」のインタフェースおよび処理基準の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号：

年号：

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　処理基準の変更点

（変更前）

（変更後）

入力年号

出力年月日（西暦）

入力年号

出力年月日（西暦）

'1', 'M'

年（年号除く）+ 1867

'1', 'M'

年（年号除く）+ 1867

'2', 'T'

年（年号除く）+ 1911

'2', 'T'

年（年号除く）+ 1911

'3', 'S'

年（年号除く）+ 1925

'3', 'S'

年（年号除く）+ 1925

'4', 'H'

年（年号除く）+ 1988

'4', 'H'

年（年号除く）+ 1988

−

−

'5', 'W'

年（年号除く）+ 2018

その他

年（年号除く）+ 1988

その他

年（年号除く）+ 2018

（凡例）

−：該当する内容はありません。

3.4.47　LXRPID91　（処理期限年月日算出（和暦））

入力された締日から次の締日を和暦年月日で取得する「LXRPID91（処理期限年月日算出（和暦））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲が変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲が変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

次に「LXRPID91（処理期限年月日算出（和暦））」のインタフェースの変更点を示します。なお，ここでは，変更になる個所だけを示します。

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

O-NNG

X(1)

年号

年号

O

（1：明治，2：大正，3：昭和，4：平成）

（1：明治，2：大正，3：昭和，4：平成，5：和元）

3.4.48　LXRPID93　（通算日算出（年始〜和暦年月日））

1月1日から入力した和暦年月日までの通算日を算出する「LXRPID93（通算日算出（年始〜和暦年月日）」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲チェックが変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲チェックが変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

年号コードが想定外の値のときは，リターンコードに'LXRED002'を設定しますが，最新年の年号コードを仮定してチェックを続行します。

例えば，新年号情報を追加していない場合，「平成」に相当する年号コード（'4'または'H'）を仮定してチェックを続行しますが，新年号情報を追加した場合，「和元」に相当する年号コード（'5'または'W'）を仮定してチェックを続行します。

次に「LXRPID93（通算日算出（年始〜和暦年月日）」のインタフェースおよび注意事項の変更点を示します。なお，ここでは，変更になる個所だけを示します。

(1)　インタフェースの変更点

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

05

I-NNG

X(1)

年号

年号

I

（1：明治，2：大正，3：昭和，4：平成）or

（1：明治，2：大正，3：昭和，4：平成，5：和元）or

（M：明治，T：大正，S：昭和，H：平成）

（M：明治，T：大正，S：昭和，H：平成，W：和元）

(2)　注意事項の変更点

（変更前）

（変更後）

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返し，日数に0を返す。ただし，誤った年号に対しては，平成（'4'，'H'）と同様の処理を行い，リターンコードには'LXRED002'を返す。

サブルーチン呼び出しでエラーとなった場合はリターンコードをそのまま返し，日数に0を返す。ただし，誤った年号に対しては，和元（'5'，'W'）と同様の処理を行い，リターンコードには'LXRED002'を返す。

3.4.49　LXRPIE14　（日時加減算（和暦12時間単位））

12時間単位の和暦日時と日時の加算または減算をする「LXRPIE14（日時加減算（和暦12時間単位））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲が変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲が変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

次に「LXRPIE14（日時加減算（和暦12時間単位））」のインタフェースの変更点を示します。なお，ここでは，変更になる個所だけを示します。

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

I-YMDWA

9(7)

年月日（和暦）（NYYMMDD）

年月日（和暦）（NYYMMDD）

I

（1：明治，2：大正，3：昭和，4：平成）

（1：明治，2：大正，3：昭和，4：平成，5：和元）

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

O-YMDWA

9(7)

年月日（和暦）（NYYMMDD）

年月日（和暦）（NYYMMDD）

O

（1：明治，2：大正，3：昭和，4：平成）

（1：明治，2：大正，3：昭和，4：平成，5：和元）

3.4.50　LXRPIE15　（日時加減算（和暦24時間単位））

24時間単位の和暦日時と日時の加算または減算をする「LXRPIE15（日時加減算（和暦24時間単位））」の変更点は，次のとおりです。

新年号の開始日が規定されることによって，改元前の年号の終了日が決まり，改元前の年号の和暦年月日範囲が変更になります。

例えば，「和元」の開始日が規定されることによって，「平成」の終了日が決まるため，「平成」の和暦年月日範囲が変更になります。

「明治」〜「平成」の和暦年月日範囲チェックに加え，「和元」の和暦年月日範囲チェックが追加になります。

次に「LXRPIE15（日時加減算（和暦24時間単位））」のインタフェースの変更点を示します。なお，ここでは，変更になる個所だけを示します。

入力（区分：INPUT-PARM=I，CONSTANT=C）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

I-YMDWA

9(7)

年月日（和暦）（NYYMMDD）

年月日（和暦）（NYYMMDD）

I

（1：明治，2：大正，3：昭和，4：平成）

（1：明治，2：大正，3：昭和，4：平成，5：和元）

出力（区分：OUTPUT-PARM=O，RTN-CODE=R）

レベル

項目名

属性

説明および設定値

区分

（変更前）

（変更後）

03

O-YMDWA

9(7)

年月日（和暦）（NYYMMDD）

年月日（和暦）（NYYMMDD）

O

（1：明治，2：大正，3：昭和，4：平成）

（1：明治，2：大正，3：昭和，4：平成，5：和元）

3.5　新年号情報に設定変更した場合に影響があるリターンコード

新年号情報に設定変更した場合に影響があるリターンコードを次に示します。

3.5.1　新年号情報に設定変更した場合に追加および変更になるリターンコード

新年号情報に設定変更した場合に追加および変更になるリターンコードを次に示します。

(1)　追加になるリターンコード

表3‒17　新年号情報に設定変更した場合に追加になるリターンコード

リターンコード

意味

説明

LXRED041

新年号（年号コード（数字）が'5'）の年月日入力範囲に誤りがある。

新年号（年号コード（数字）が'5'）の範囲外の年月日を入力している。

LXRED042

新年号（年号コード（数字）が'6'）の年月日入力範囲に誤りがある。

新年号（年号コード（数字）が'6'）の範囲外の年月日を入力している。

LXRED043

新年号（年号コード（数字）が'7'）の年月日入力範囲に誤りがある。

新年号（年号コード（数字）が'7'）の範囲外の年月日を入力している。

(2)　変更になるリターンコード

表3‒18　新年号情報に設定変更した場合に変更になるリターンコード

リターンコード

意味

説明

変更前

変更後

LXRED002

年号コードの指定に誤りがある。

和暦サブルーチンの入力年号コードに'1'，'2'，'3'，'4'／'M'，'T'，'S'，'H'以外を入力している。

和暦サブルーチンの入力年号コードに'1'，'2'，'3'，'4'，5'／'M'，'T'，'S'，'H'，'W'※以外を入力している。

LXRED010

平成の和暦年月日入力範囲に誤りがある。

平成元年1月1日〜平成元年1月7日を入力している。

平成元年1月1日〜平成元年1月7日，および平成31年5月1日〜平成99年12月31日を入力している。

LXRED011

西暦→和暦変換時の西暦日付許容範囲外を指定している。

〜1868年9月7日または2088年1月1日〜を指定している。

〜1868年9月7日または2118年1月1日〜を指定している。

LXRED014

年号コードの指定に誤りがある。

和暦サブルーチンの入力年号コードに'1'，'2'，'3'，'4'／'M'，'T'，'S'，'H'以外を入力している。

和暦サブルーチンの入力年号コードに'1'，'2'，'3'，'4'，5'／'M'，'T'，'S'，'H'，'W'※以外を入力している。

注※

ここでは新年号を「和元」（年号コード（英字）は'W'）と仮定して説明します。新年号が決定した時点で，斜体の文字の部分を新年号（年号コード（英字）も同様）に置き換えてください。

3.5.2　情報設定ファイルに起因するエラーリターンコード

情報設定ファイルのアクセスに失敗した場合や情報設定ファイルの内容が誤っている場合などに返されるエラーリターンコードを次に示します。

なお，情報設定ファイルに起因するエラーリターンコードを返す標準サブルーチンについては，「3.3　設定情報を変更した場合に影響を受ける標準サブルーチンの一覧」を参照してください。

表3‒19　情報設定ファイルに起因するエラーリターンコード

エラーリターンコード

意味

説明

LXRED051

情報設定ファイルの読み取りに失敗した。

情報設定ファイルが指定ディレクトリパスに存在しない。

ファイルのアクセスに失敗した。

LXRED052

情報設定ファイルの内容に誤りがある。

ファイルのフォーマットが誤っている（内容が妥当でない，指定した和暦開始日が実在しないなど）。

付録

付録A　EUC対応版の仕様

EUC（Extended Unix Code）対応版の標準サブルーチンでは，文字列に対するチェックおよび編集をEUCのコード体系に基づいて行います。このため，SJIS対応版と出力結果が異なることがあります。

また，EUCでは半角カナを2バイトで表現するため，半角カナを含む文字列を取り扱う場合には注意が必要です。詳細は，マニュアル「COBOL2002　言語　標準仕様編」および「COBOL2002　言語　拡張仕様編」を参照してください。

EUC対応版の標準サブルーチンの仕様について，次に示します。

付録A.1　SJIS対応版との処理の違い

(1)　文字コードチェックの違い

次の表に示すサブルーチンでは，EUCのコード体系でチェックを行います。

表A‒1　文字コードチェックの範囲

サブルーチンID

サブルーチン名

SJIS

EUC

KEIS

LXRPIA01

文字コードチェック

(20〜7E）

(A1〜DF)

(20〜7E)

(8E：A1〜DF)

−

LXRPIB01

漢字コードチェック

（漢字）

(81〜9F：40〜FC)

(E0〜EF：40〜FC)

(A1〜FE：21〜7E)

(A1〜FE：A1〜FE)

(A1〜FE：A1〜FE)

LXRPIB02

漢字コードチェック

（含外字）

(81〜9F：40〜FC)

(E0〜EF：40〜FC)

(F0〜FC：40〜7E)

(F0〜FC：80〜FC)

(A1〜FE：21〜7E)

(A1〜FE：A1〜FE)

(A1〜FE：A1〜FE)

(41〜A0：A1〜FE)

（凡例）

（上位1バイトの範囲：下位1バイトの範囲）で示しています。

(2)　半角カナ文字の違い

半角文字列を扱うサブルーチンで，文字列の長さを指定する場合の単位はバイト数です。このため，表A-2に示すサブルーチンで入力文字列中に半角カナ文字を含む場合は，半角カナ1文字につき2バイトとして長さを指定してください。同様に，表A-3が示すサブルーチンでは，半角カナ1文字につき2バイトとして長さを出力します。

これによって，SJIS対応版と処理結果が異なる場合があります。

表A‒2　長さを入力するサブルーチン

サブルーチンID

サブルーチン名

長さを指定する項目

LXRPIA05

文字列シフト

I-SHFT-LENG

LXRPIA06

文字列左詰め

I-LENG

LXRPIA07

文字列右詰め

I-LENG

LXRPIA08

文字列中央揃え

I-LENG

LXRPIA13

文字列前後反転

I-LENG

LXRPIA14

指定文字削除

I-LENG

I-DEL-LENG

LXRPIA15

空白削除

I-LENG

LXRPIA16

不要空白削除

I-LENG

LXRPIA17

第1文字列取得

I-LENG

LXRPIA19

文字列交互挿入

I-1ST-LENG

I-2ND-LENG

LXRPIA28

文字列切断

I-LENG

LXRPIC01

半角→全角変換

I-LENG

表A‒3　長さを出力するサブルーチン

サブルーチンID

サブルーチン名

長さが返される項目

LXRPIA09

文字列有効桁数算出

O-LENG

LXRPIA17

第1文字列取得

O-LENG

EUC対応版とSJIS対応版で処理が異なる例を次に示します。

（例1）文字列シフト（LXRPIA05）

（例2）文字列右詰め（LXRPIA07）

（例3）文字列有効桁数算出（LXRPIA09）

付録A.2　インタフェーステーブルの変更

次の表に示すサブルーチンでは，インタフェーステーブルの項目のうち半角カナ文字専用のものについては，項目長を2倍に拡張しています。

表A‒4　インタフェーステーブルを変更したサブルーチン

サブルーチンID

サブルーチン名

項目名

SJIS対応版の属性

EUC対応版の属性

LXRPID35

曜日コードチェック／編集

O-YB-KN

X(3)

X(6)

LXRPIF02

氏名（半角カナ）チェック

I-SHMKN

O-SHMKN

X(20)

X(20)

X(40)

X(40)

LXRPIF04

氏名（半角カナ）分離編集

I-SHMKN

O-SHKN

O-NMKN

X(20)

X(20)

X(20)

X(40)

X(40)

X(40)

LXRPIF06

氏名（半角カナ）結合編集

I-SHKN

I-NMKN

O-SHMKN

X(20)

X(20)

X(20)

X(40)

X(40)

X(40)

LXRPIG02

学歴区分コードチェック／変換

O-GRKBN-NMKN

X(30)

X(60)

LXRPIG04

地目コードチェック／変換

O-CTGL-NMKN

X(30)

X(60)

LXRPIG10

都道府県コードチェック／変換

O-TDFK-NMKN

X(10)

X(20)

付録A.3　注意事項

(1)　文字列前後反転（LXRPIA13）

文字列は文字単位で反転します（半角カナ文字の上位バイト，下位バイトは反転しません）。

(2)　全角→半角変換（LXRPIC02）

編集結果が出力文字列に入りきらない場合，リターンコードに'LXREC009'を返し，超えた分を切り捨てて出力します。

付録B　Unicode対応版の仕様

Unicode対応版の標準サブルーチンでは，文字列に対するチェックおよび編集をUnicodeのコード体系に基づいて行います。このため，SJIS対応版と出力結果が異なることがあります。

また，Unicode(UTF-8)では半角カナを3バイトで表現するため，半角カナを含む文字列を取り扱う場合には注意が必要です。詳細は，マニュアル「COBOL2002　ユーザーズガイド」を参照してください。

Unicode対応版の標準サブルーチンの仕様について，次に示します。

付録B.1　SJIS対応版との処理の違い

(1)　X，Nタイプインタフェースの符号化方式

インタフェース項目のうち属性がＸ，およびＮタイプのものについては，次の表に示す符号化方式でエンコードして使用してください。それ以外の符号化方式として扱った場合の動作は保証しません。

表B‒1　属性別の符号化方式

属性

符号化方式

備考

Xタイプ

UTF-8

ASCIIは1バイト／文字

それ以外は可変

Nタイプ

UTF-16

2バイト／文字，または

4バイト／文字

(2)　文字コードチェックの違い

次の表に示すサブルーチンでは，Unicode体系でチェックを行います。

表B‒2　文字コードチェックの範囲

サブルーチンID

サブルーチン名

SJIS

Unicode

LXRPIA01

文字コードチェック

(20〜7E)

(A1〜DF)

(20〜7E)

(EFBDA1〜EFBDBF)

(EFBE80〜EFBE9F)

LXRPIB01

漢字コードチェック

（漢字）

(81〜9F：40〜FC)

(E0〜EF：40〜FC)

JIS X 0213:2004で定義された11233文字。ASCII(U+0020〜U+007E)および半角カナ(U+FF61〜U+FF9F)は含まれません。

LXRPIB02

漢字コードチェック

（含外字）

(81〜9F：40〜FC)

(E0〜EF：40〜FC)

(F0〜FC：40〜7E)

(F0〜FC：80〜FC)

LXRPIB01の範囲にUCS-2における私用領域(U+E000〜U+F8FF)と第15面および第16面を加えた範囲

（凡例）

（上位１バイトの範囲：下位１バイトの範囲）を示しています。

(3)　半角カナ文字の違い

半角文字列を扱うサブルーチンで，文字列の長さを指定する場合の単位はバイト数です。このため表B-3に示すサブルーチンで入力文字列中に半角カナ文字を含む場合は，半角カナ１文字につき3バイトとして長さを指定してください。同様に，表B-4に示すサブルーチンでは，半角カナ1文字につき3バイトとして長さを出力します。

これによって，SJIS対応版と処理結果が異なる場合があります。

表B‒3　長さを入力するサブルーチン

サブルーチンID

サブルーチン名

長さを指定する項目

LXRPIA05

文字列シフト

I-SHFT-LENG

LXRPIA06

文字列左詰め

I-LENG

LXRPIA07

文字列右詰め

I-LENG

LXRPIA08

文字列中央揃え

I-LENG

LXRPIA13

文字列前後反転

I-LENG

LXRPIA14

指定文字削除

I-LENG, I-DEL-LENG

LXRPIA15

空白削除

I-LENG

LXRPIA16

不要空白削除

I-LENG

LXRPIA17

第１文字列取得

I-LENG

LXRPIA19

文字列交互挿入

I-1ST-LENG, I-2ND-LENG

LXRPIA28

文字列切断

I-LENG

LXRPIC01

半角→全角変換

I-LENG

表B‒4　長さを出力するサブルーチン

サブルーチンID

サブルーチン名

長さが返される項目

LXRPIA09

文字列有効桁数算出

O-LENG

LXRPIA17

第1文字列取得

O-LENG

Unicode対応版とSJIS対応版で処理が異なる例を次に示します。

（例1）文字列シフト（LXRPIA05）

（例2）文字列右詰め（LXRPIA07）

（例3）文字列有効桁数算出（LXRPIA09）

付録B.2　インタフェーステーブルの変更

次の表に示すサブルーチンでは，インタフェーステーブルの項目のうち半角カナ文字専用のものについては，項目長を3倍に拡張しています。

表B‒5　インタフェーステーブルを変更したサブルーチン

項番

サブルーチンID

サブルーチン名

項目名

SJIS対応版の属性

Unicode対応版の属性

1

LXRPID35

曜日コードチェック／編集

O-YB-KN

X(3)

X(9)

2

LXRPIF02

氏名（半角カナ）チェック

I-SHMKN

O-SHMKN

X(20)

X(20)

X(60)

X(60)

3

LXRPIF04

氏名（半角カナ）分離編集

I-SHMKN

O-SHKN

O-NMKN

X(20)

X(20)

X(20)

X(60)

X(60)

X(60)

4

LXRPIF06

氏名（半角カナ）結合編集

I-SHKN

I-NMKN

O-SHMKN

X(20)

X(20)

X(20)

X(60)

X(60)

X(60)

5

LXRPIG02

学歴区分コードチェック／変換

O-GRKBN-NMKN

X(30)

X(90)

6

LXRPIG04

地目コードチェック／変換

O-CTGL-NMKN

X(30)

X(90)

7

LXRPIG10

都道府県コードチェック／変換

O-TDFK-NMKN

X(10)

X(30)

付録B.3　注意事項

(1)　文字列前後反転（LXRPIA13）

文字列は文字単位で反転します（半角カナ文字内のバイトの並びは反転しません）。

(2)　全角→半角変換（LXRPIC02）

編集結果が出力文字列に入りきらない場合，リターンコードに'LXREC009'を返し，超えた分を切り捨てて出力します。

付録C　祝祭日・休日の有効期間

付録C.1　祝祭日・休日

各祝祭日・休日は，2019年5月1日に施行の「国民の祝日に関する法律」および2018年6月20日施行の「平成三十二年東京オリンピック競技大会・東京パラリンピック競技大会特別措置法」に基づくものとし，その有効期間は次の表のとおりとします。

表C‒1　祝祭日・休日の有効期間

日付

種別

有効期間

1月1日

元日

1949年(昭和24年)〜

1月15日

成人の日

1949年(昭和24年)〜

1999年(平成11年)

1月第2月曜日

2000年(平成12年)〜

2月11日

建国記念の日

1949年(昭和24年)〜

2月23日

天皇誕生日

2020年〜

春分日

春分の日

1949年(昭和24年)〜

4月29日

天皇誕生日

1949年(昭和24年)〜

1988年(昭和63年)

みどりの日

1989年(平成元年)〜

2006年(平成18年)

昭和の日

2007年(平成19年)〜

5月3日

憲法記念日

1949年(昭和24年)〜

5月4日

国民の休日

1986年(昭和61年)〜

2006年(平成18年)

みどりの日

2007年(平成19年)〜

5月5日

こどもの日

1949年(昭和24年)〜

7月20日

海の日

1996年(平成8年)〜

2002年(平成14年)

7月第3月曜日

2003年(平成15年)〜2019年

2021年〜

7月23日

2020年

7月24日

スポーツの日

2020年

8月10日

山の日

2020年

8月11日

2016年(平成28年)〜2019年

2021年〜

9月15日

敬老の日

1966年(昭和41年)〜

2002年(平成14年)

9月第3月曜日

2003年(平成15年)〜

秋分日

秋分の日

1948年(昭和23年)〜

10月10日

体育の日

1966年(昭和41年)〜

1999年(平成11年)

10月第2月曜日

2000年(平成12年)〜2019年

10月第2月曜日

スポーツの日

2021年〜

11月3日

文化の日

1948年(昭和23年)〜

11月23日

勤労感謝の日

1948年(昭和23年)〜

12月23日

天皇誕生日

1989年(平成元年)〜

2018年(平成30年)

−

振替休日

1973年(昭和48年)

4月12日〜

上記一覧表の「振替休日」は，「国民の祝日に関する法律」の第3条第2項の定義に準じます。「国民の休日」については，第3条第3項の定義に準じます。

上記一覧表のうち，振替休日を除く日については祝祭日区分（O-FEST-KBN）として祝祭日（'1'）を返します。1986年〜2006年における5月4日の「国民の休日」についても，日曜日や5月3日の「憲法記念日」の振替休日であっても祝祭日として判定します。

振替休日については祝祭日区分（O-FEST-KBN）として休日（'2'）を返します。

付録C.2　春分の日・秋分の日

「春分の日」・「秋分の日」については，毎年2月の官報で正式決定されますが，このサブルーチンでは計算から算出した仮の値を保持しています。保持している値はそれぞれ表C-2，表C-3のとおりです。

表C‒2　サブルーチンが保持する春分の日

−

19490321

19500321

19510321

19520321

19530321

19540321

19550321

19560321

19570321

19580321

19590321

19600320

19610321

19620321

19630321

19640320

19650321

19660321

19670321

19680320

19690321

19700321

19710321

19720320

19730321

19740321

19750321

19760320

19770321

19780321

19790321

19800320

19810321

19820321

19830321

19840320

19850321

19860321

19870321

19880320

19890321

19900321

19910321

19920320

19930320

19940321

19950321

19960320

19970320

19980321

19990321

20000320

20010320

20020321

20030321

20040320

20050320

20060321

20070321

20080320

20090320

20100321

20110321

20120320

20130320

20140321

20150321

20160320

20170320

20180321

20190321

20200320

20210320

20220321

20230321

20240320

20250320

20260320

20270321

20280320

20290320

20300320

20310321

20320320

20330320

20340320

20350321

20360320

20370320

20380320

20390321

20400320

20410320

20420320

20430321

20440320

20450320

20460320

20470321

20480320

20490320

20500320

20510321

20520320

20530320

20540320

20550321

20560320

20570320

20580320

20590320

20600320

20610320

20620320

20630320

20640320

20650320

20660320

20670320

20680320

20690320

20700320

20710320

20720320

20730320

20740320

20750320

20760320

20770320

20780320

20790320

20800320

20810320

20820320

20830320

20840320

20850320

20860320

20870320

20880320

20890320

20900320

20910320

20920319

20930320

20940320

20950320

20960319

20970320

20980320

20990320

21000320

−

−

−

表C‒3　サブルーチンが保持する秋分の日

19480923

19490923

19500923

19510924

19520923

19530923

19540923

19550924

19560923

19570923

19580923

19590924

19600923

19610923

19620923

19630924

19640923

19650923

19660923

19670924

19680923

19690923

19700923

19710924

19720923

19730923

19740923

19750924

19760923

19770923

19780923

19790924

19800923

19810923

19820923

19830923

19840923

19850923

19860923

19870923

19880923

19890923

19900923

19910923

19920923

19930923

19940923

19950923

19960923

19970923

19980923

19990923

20000923

20010923

20020923

20030923

20040923

20050923

20060923

20070923

20080923

20090923

20100923

20110923

20120922

20130923

20140923

20150923

20160922

20170923

20180923

20190923

20200922

20210923

20220923

20230923

20240922

20250923

20260923

20270923

20280922

20290923

20300923

20310923

20320922

20330923

20340923

20350923

20360922

20370923

20380923

20390923

20400922

20410923

20420923

20430923

20440922

20450922

20460923

20470923

20480922

20490922

20500923

20510923

20520922

20530922

20540923

20550923

20560922

20570922

20580923

20590923

20600922

20610922

20620923

20630923

20640922

20650922

20660923

20670923

20680922

20690922

20700923

20710923

20720922

20730922

20740923

20750923

20760922

20770922

20780922

20790923

20800922

20810922

20820922

20830923

20840922

20850922

20860922

20870923

20880922

20890922

20900922

20910923

20920922

20930922

20940922

20950923

20960922

20970922

20980922

20990923

21000923

−

−

−

付録C.3　国民の休日

「国民の休日」に関しては，このVer完成時点では祝日と公布されていない秋分の日が関連して休日となる見込みの場合も，表C-3で示した秋分の日に基づいて休日として判定します。9月の「国民の休日」として見込まれる日は次の表に示すとおりで，祝祭日区分（O-FEST-KBN）として休日（'2'）を返します。

表C‒4　9月の「国民の休日」

20090922

20150922

20260922

20320921

20370922

20430922

20490921

20540922

20600921

20710922

20770921

20880921

20940921

20990922

−

−

−

−

付録C.4　山の日

「山の日」に関しては，毎年8月11日となります。「山の日」として見込まれる日は次の表に示すとおりで，祝祭日区分（O-FEST-KBN）として祝休日（'1'）を返します。

表C‒5　「山の日」

20160811

20170811

20180811

20190811

（20190812）※

20200810

20210811

20220811

20230811

20240811

（20240812）※

20250811

20260811

20270811

20280811

20290811

20300811

（20300812）※

20310811

20320811

20330811

20340811

20350811

20360811

20370811

20380811

20390811

20400811

20410811

（20410812）※

20420811

20430811

20440811

20450811

20460811

20470811

（20470812）※

20480811

20490811

20500811

20510811

20520811

（20520812）※

20530811

20540811

20550811

20560811

20570811

20580811

（20580812）※

20590811

20600811

20610811

20620811

20630811

20640811

20650811

20660811

20670811

20680811

20690811

（2069081）※

20700811

20710811

20720811

20730811

20740811

20750811

（20750812）※

20760811

20770811

20780811

20790811

20800811

（20800812）※

20810811

20820811

20830811

20840811

20850811

20860811

（20860812）※

20870811

20880811

20890811

20900811

20910811

20920811

20930811

20940811

20950811

20960811

20970811

（20970812）※

20980811

20990811

21000811

−

−

−

−

−

注※

（）内は振替休日を示しています。

付録C.5　そのほかの休日

次の表に示す日については，休日とします。

表C‒6　そのほかの休日

日付

もとになる法律

1959年(昭和34年) 4月10日

皇太子明仁親王の結婚の儀の行われる日を休日とする法律

1989年(平成元年) 2月24日

昭和天皇の大喪の礼の行われる日を休日とする法律

1990年(平成 2年) 11月12日

即位礼正殿の儀の行われる日を休日とする法律

1993年(平成 5年) 6月 9日

皇太子徳仁親王の結婚の儀の行われる日を休日とする法律

付録D　一部製品に含まれる旧仕様ライブラリ

AIX（32ビットモード）用標準サブルーチン製品に含まれる一部ライブラリでは，サブルーチンLXRPID88（システム日付取得変換（8桁））で，現在西暦年を2桁で取得し，取得値により4桁の西暦年に変換しています。

実際には西暦年が92以上では1900年代，91以下では2000年代として扱うため，2092年では誤って1992年として処理します。

これらのライブラリを使用している場合は同じ格納場所に含まれる移行先ライブラリへの変更をご検討お願いします。

付録D.1　各製品に含まれる旧仕様ライブラリ

表D‒1　AIX（32ビットモード）用標準サブルーチン製品の旧仕様ライブラリ

旧仕様ライブラリ

スレッド種別

格納場所

文字コード形式

ライブラリ形式

移行先ライブラリ

libLx.a

シングルスレッド対応

/opt/SEWB3/lib

マルチスレッド対応

/opt/SEWB3/mthread/lib

SJIS対応版

アーカイブ形式

libLx2000.a

libLx_sh.a

共用ライブラリ形式

libLx2000_sh.a

libLxeuc.a

EUC対応版

アーカイブ形式

libLxeuc2000.a

libLxeuc_sh.a

共用ライブラリ形式

libLxeuc2000_sh.a

付録D.2　現在システム日付を扱うサブルーチン一覧

表D‒2　現在システム日付を扱うサブルーチン一覧

サブルーチンID

サブルーチン名

サブルーチンID

サブルーチン名

LXRPID41

年月日（西暦）過去チェック

LXRPID63

年度（西暦）未来チェック

LXRPID42

年月日（和暦）過去チェック

LXRPID64

年度（和暦）未来チェック

LXRPID43

年月日（西暦）未来チェック

LXRPID72

年（西暦）過去チェック

LXRPID44

年月日（和暦）未来チェック

LXRPID73

年（和暦）過去チェック

LXRPID50

年月（西暦）過去チェック

LXRPID74

年（西暦）未来チェック

LXRPID51

年月（和暦）過去チェック

LXRPID75

年（和暦）未来チェック

LXRPID52

年月（西暦）未来チェック

LXRPID88

システム日付取得変換（8桁）

LXRPID53

年月（和暦）未来チェック

LXRPID90

処理期限年月日算出（西暦）

LXRPID61

年度（西暦）過去チェック

LXRPID91

処理期限年月日算出（和暦）

LXRPID62

年度（和暦）過去チェック

付録E　ファイルおよびエラーコード追加

表 E-1の形名・VRS以降の製品では，インストールディレクトリにディレクトリとファイルを追加しています。

本ディレクトリおよびファイル（以下「情報設定ファイル」と記載）は標準サブルーチンの動作上必須ですので，削除したり更新したりしないようにお願いします。

情報設定ファイルにアクセスできない場合は一部のサブルーチンで「LXRED051」，誤って不当に更新した場合は一部のサブルーチンで「LXRED052」をそれぞれリターンコードとして返却するか，サブルーチンが不当な出力結果となり，正常な出力が行えません。

表E‒1　製品への追加ディレクトリと追加ファイル（情報設定ファイル）

形名

VRS

インストールディレクトリ

追加ディレクトリ

追加ファイル

P-2451-F244

P-2651-F244

P-2951-F244

0402〜

標準では

<システムドライブ>:¥Program Files¥Hitachi¥SEWB+STD_SUB

¥CONF¥

adsubinf.txt

P-2951-F144

0403〜

P-1M51-FC31

0301〜

/opt/SEWB3

/conf/

P-1M51-FD31

0302〜

/opt/SEWB64

/conf/

P-9W51-FD31

0301〜

/opt/SEWB64

/conf/

表E‒2　追加されるエラーコード

エラーコード

意味

LXRED051

情報設定ファイルの読み取りに失敗した

LXRED052

情報設定ファイルの内容に誤りがある

表E‒3　エラーコード追加対象サブルーチン一覧

サブルーチンID

サブルーチン名

サブルーチンID

サブルーチン名

LXRPID02

実在日チェック（和暦）

LXRPID47

年月日変換（西暦→和暦）編集

LXRPID04

年月日範囲内チェック（和暦）

LXRPID49

年月（和暦）チェック

LXRPID05

年月日変換（西暦→和暦）

LXRPID51

年月（和暦）過去チェック

LXRPID06

年月日変換（和暦→西暦）

LXRPID53

年月（和暦）未来チェック

LXRPID08

年月日算出（和暦年月日±年数）

LXRPID55

年月（和暦）編集

LXRPID10

年月日算出（和暦年月日±月数）

LXRPID56

年月変換（西暦→和暦）編集

LXRPID12

年月日算出（和暦年月日±日数）

LXRPID57

年月変換（西暦→和暦）

LXRPID14

期間算出（和暦年月日間日数）

LXRPID58

年月変換（和暦→西暦）

LXRPID16

期間算出（和暦年月日間年月日）

LXRPID60

年度（和暦）チェック

LXRPID18

月末日算出（和暦年月日）

LXRPID62

年度（和暦）過去チェック

LXRPID20

通算週算出（年始〜和暦年月日）

LXRPID64

年度（和暦）未来チェック

LXRPID21

年月日分類（西暦）

LXRPID66

年度（和暦）編集

LXRPID22

年月日分類（和暦）

LXRPID67

年度変換（西暦→和暦）編集

LXRPID24

年月日出力編集（和暦）

LXRPID68

年度変換（西暦→和暦）

LXRPID26

うるう年判定（和暦）

LXRPID69

年度変換（和暦→西暦）

LXRPID28

年月日（和暦）→一貫日変換

LXRPID71

年（和暦）チェック

LXRPID30

一貫日→年月日（和暦）変換

LXRPID73

年（和暦）過去チェック

LXRPID32

日数算出（和暦年月日〜月末日）

LXRPID75

年（和暦）未来チェック

LXRPID34

年月日（和暦）→曜日算出

LXRPID76

年変換（西暦→和暦）編集

LXRPID36

年号コードチェック／編集

LXRPID77

年変換（西暦→和暦）

LXRPID37

年号コード変換（英字→数字）

LXRPID78

年変換（和暦→西暦）

LXRPID38

年号コード変換（数字→英字）

LXRPID91

処理期限年月日算出（和暦）

LXRPID42

年月日（和暦）過去チェック

LXRPID93

通算日算出（年始〜和暦年月日）

LXRPID44

年月日（和暦）未来チェック

LXRPIE14

日時加減算（和暦12時間単位）

LXRPID46

年月日（和暦）編集

LXRPIE15

日時加減算（和暦24時間単位）

付録F　このマニュアルの参考情報

このマニュアルを読むに当たっての参考情報を示します。

付録F.1　関連マニュアル

関連マニュアルを次に示します。必要に応じてお読みください。

COBOL2002　操作入門（3020-3-D46）

COBOL2002　操作ガイド（3020-3-D41）

COBOL2002　言語　標準仕様編（3020-3-D44）

COBOL2002　言語　拡張仕様編（3020-3-D45）

COBOL2002　操作ガイド（3020-3-D47）

COBOL2002　ユーザーズガイド（3020-3-D48）

COBOL2002　操作ガイド（3020-3-D61）

COBOL2002　ユーザーズガイド（3020-3-D62）

COBOL2002　使用の手引　手引編（3000-3-D42）

COBOL2002　使用の手引　手引編（3000-3-D08）

COBOL2002　ユーザーズガイド（3021-3-600）

COBOL2002　操作ガイド（3021-3-601）

COBOL2002　使用の手引　手引編（3021-3-602）

COBOL2002　言語　標準仕様編（3021-3-604）

COBOL2002　言語　拡張仕様編（3021-3-605）

付録F.2　このマニュアルでの表記

このマニュアルでは，製品名を次のように表記しています。

表記

製品名

AIX※

AIX 7.2

AIX 7.1

AIX 6.1

AIX 5L V5.3

COBOL2002またはCOBOL

COBOL2002 Net Client Suite

COBOL2002 Net Client Runtime

COBOL2002 Net Developer

COBOL2002 Net Server Suite

COBOL2002 Net Server Runtime

Linux

(EM64T)

RHEL (EM64T)

RHEL 7 (EM64T)

Red Hat Enterprise Linux Server 7

(64-bit x86_64)

RHEL 6 (EM64T)

Red Hat Enterprise Linux Server 6

(64-bit x86_64)

RHEL 5 AP (EM64T)

Red Hat Enterprise Linux 5 Advanced Platform

(AMD/Intel 64)

RHEL 5 (EM64T)

Red Hat Enterprise Linux 5

(AMD/Intel 64)

注※

32ビットモード，64ビットモードの両方を示します。区別が必要な場合，AIX（32ビットモード）のように表記します。

付録F.3　KB（キロバイト）などの単位表記について

1KB（キロバイト），1MB（メガバイト），1GB（ギガバイト），1TB（テラバイト）はそれぞれ1,024バイト，1,024²バイト，1,024³バイト，1,024⁴バイトです。

索引

数字

12時間単位→24時間単位時刻変換[1]

16進文字列→バイナリ変換[1]

24時間単位→12時間単位時刻変換[1]

2進文字列→バイナリ変換[1]

A

AIX用標準サブルーチンの適用方法[1]

C

COBOL外部サブルーチン[1]

E

EBCDIK/KEIS混在文字列出力編集[1]

EBCDIK→JIS変換[1]

EUC[1]

EUC対応版の仕様[1]

J

JIS漢字→KEIS変換[1]

JIS→EBCDIK変換[1]

K

KEIS[1]

KEIS78→KEIS83変換[1]

KEIS83→KEIS78変換[1]

KEIS→JIS漢字変換[1]

L

Linux(EM64T)用標準サブルーチンの適用方法[1]

LXRPIA01[1]

LXRPIA03[1]

LXRPIA05[1]

LXRPIA06[1]

LXRPIA07[1]

LXRPIA08[1]

LXRPIA09[1]

LXRPIA10[1]

LXRPIA11[1]

LXRPIA12[1]

LXRPIA13[1]

LXRPIA14[1]

LXRPIA15[1]

LXRPIA16[1]

LXRPIA17[1]

LXRPIA19[1]

LXRPIA20[1]

LXRPIA21[1]

LXRPIA22[1]

LXRPIA23[1]

LXRPIA24[1]

LXRPIA25[1]

LXRPIA26[1]

LXRPIA27[1]

LXRPIA28[1]

LXRPIB01[1]

LXRPIB02[1]

LXRPIB03[1]

LXRPIB04[1]

LXRPIB05[1]

LXRPIB06[1]

LXRPIB07[1]

LXRPIB08[1]

LXRPIB09[1]

LXRPIB10[1]

LXRPIB11[1]

LXRPIB12[1]

LXRPIB13[1]

LXRPIB14[1]

LXRPIB15[1]

LXRPIB16[1]

LXRPIC01[1]

LXRPIC02[1]

LXRPIC03[1]

LXRPIC04[1]

LXRPIC05[1]

LXRPIC06[1]

LXRPIC07[1]

LXRPIC08[1]

LXRPIC09[1]

LXRPIC10[1]

LXRPIC11[1]

LXRPIC12[1]

LXRPID01[1]

LXRPID02[1]、[2]

LXRPID03[1]

LXRPID04[1]、[2]

LXRPID05[1]、[2]

LXRPID06[1]、[2]

LXRPID07[1]

LXRPID08[1]、[2]

LXRPID09[1]

LXRPID10[1]、[2]

LXRPID11[1]

LXRPID12[1]、[2]

LXRPID13[1]

LXRPID14[1]、[2]

LXRPID15[1]

LXRPID16[1]、[2]

LXRPID17[1]

LXRPID18[1]、[2]

LXRPID19[1]

LXRPID20[1]、[2]

LXRPID21[1]、[2]

LXRPID22[1]、[2]

LXRPID23[1]

LXRPID24[1]、[2]

LXRPID25[1]

LXRPID26[1]、[2]

LXRPID27[1]

LXRPID28[1]、[2]

LXRPID29[1]

LXRPID30[1]、[2]

LXRPID31[1]

LXRPID32[1]、[2]

LXRPID33[1]

LXRPID34[1]、[2]

LXRPID35[1]

LXRPID36[1]、[2]

LXRPID37[1]、[2]

LXRPID38[1]、[2]

LXRPID39[1]

LXRPID40[1]

LXRPID41[1]

LXRPID42[1]、[2]

LXRPID43[1]

LXRPID44[1]、[2]

LXRPID45[1]

LXRPID46[1]、[2]

LXRPID47[1]、[2]

LXRPID48[1]

LXRPID49[1]、[2]

LXRPID50[1]

LXRPID51[1]、[2]

LXRPID52[1]

LXRPID53[1]、[2]

LXRPID54[1]

LXRPID55[1]、[2]

LXRPID56[1]、[2]

LXRPID57[1]、[2]

LXRPID58[1]、[2]

LXRPID59[1]

LXRPID60[1]、[2]

LXRPID61[1]

LXRPID62[1]、[2]

LXRPID63[1]

LXRPID64[1]、[2]

LXRPID65[1]

LXRPID66[1]、[2]

LXRPID67[1]、[2]

LXRPID68[1]、[2]

LXRPID69[1]、[2]

LXRPID70[1]

LXRPID71[1]、[2]

LXRPID72[1]

LXRPID73[1]、[2]

LXRPID74[1]

LXRPID75[1]、[2]

LXRPID76[1]、[2]

LXRPID77[1]、[2]

LXRPID78[1]、[2]

LXRPID80[1]

LXRPID81[1]

LXRPID88[1]

LXRPID90[1]

LXRPID91[1]、[2]

LXRPID92[1]

LXRPID93[1]、[2]

LXRPID94[1]

LXRPID95[1]

LXRPIE01[1]

LXRPIE02[1]

LXRPIE05[1]

LXRPIE06[1]

LXRPIE07[1]

LXRPIE08[1]

LXRPIE09[1]

LXRPIE10[1]

LXRPIE11[1]

LXRPIE12[1]

LXRPIE13[1]

LXRPIE14[1]、[2]

LXRPIE15[1]、[2]

LXRPIE16[1]

LXRPIE17[1]

LXRPIE18[1]

LXRPIE19[1]

LXRPIE20[1]

LXRPIF01[1]

LXRPIF02[1]

LXRPIF03[1]

LXRPIF04[1]

LXRPIF05[1]

LXRPIF06[1]

LXRPIF07[1]

LXRPIF08[1]

LXRPIF09[1]

LXRPIF10[1]

LXRPIF11[1]

LXRPIF12[1]

LXRPIF13[1]

LXRPIF14[1]

LXRPIF15[1]

LXRPIF16[1]

LXRPIG01[1]

LXRPIG02[1]

LXRPIG04[1]

LXRPIG05[1]

LXRPIG09[1]

LXRPIG10[1]

LXRPIG11[1]

LXRPIG12[1]

LXRPIZ01[1]

LXRPIZ03[1]

LXRPIZ04[1]

LXRPIZ05[1]

LXRPIZ06[1]

LXRPIZ07[1]

LXRPIZ08[1]

LXRPIZ09[1]

LXRPIZ10[1]

LXRPIZ11[1]

S

SJIS[1]

U

Unicode[1]

Unicode対応版の仕様[1]

W

Windows用標準サブルーチンの適用方法[1]

い

一部製品に含まれる旧仕様ライブラリ[1]

一貫日→年月日（西暦）変換[1]

一貫日→年月日（和暦）変換[1]

インタフェーステーブルの変更[1]

インチ→センチメートル変換[1]

う

有無チェック／変換[1]

うるう年判定（西暦）[1]

うるう年判定（和暦）[1]

え

英数字チェック／編集[1]

か

学歴区分コードチェック／変換[1]

カスタマイズ情報設定ファイルによる設定情報の変更[1]

カスタマイズ情報設定ファイルの設定情報の記載順序[1]

カスタマイズ情報設定ファイルの設定例[1]

カスタマイズ情報設定ファイルのチェック[1]

カスタマイズ情報設定ファイルのチェックの概要[1]

可否チェック／変換[1]

漢字交互挿入[1]

漢字交互挿入（含外字）[1]

漢字コードチェック[1]

漢字コードチェック（含外字）[1]

漢字シフト[1]

漢字チェック／編集サブルーチンの一覧[1]

漢字データ中央揃え[1]

漢字データ左詰め[1]

漢字データ右詰め[1]

漢字データ有効桁数算出[1]

勘定科目コードチェック／変換[1]

き

期間算出（西暦年月日間日数）[1]

期間算出（西暦年月日間年月日）[1]

期間算出（和暦年月日間日数）[1]

期間算出（和暦年月日間年月日）[1]

機能キャラクタ削除[1]

休日の変更[1]

キログラム→ポンド変換[1]

金額編集[1]

く

空白削除[1]

空白削除（漢字データ）[1]

け

経過時間算出（12時間単位）[1]

経過時間算出（24時間単位）[1]

月末日算出（西暦年月日）[1]

月末日算出（和暦年月日）[1]

こ

後方スペース機能キャラクタ置換[1]

項目チェック／編集サブルーチンの一覧[1]

コードチェック／編集サブルーチンの一覧[1]

互換性のあるサブルーチンの提供[1]

混在文字列チェック[1]

混在文字列チェック（含外字）[1]

し

時間（秒）→時間変換[1]

時間（秒）→時間変換編集[1]

時間加算[1]

時間差算出[1]

時間チェック[1]

時間チェック／編集サブルーチンの一覧[1]

時間編集[1]

時間→時間（秒）変換[1]

時刻妥当性チェック（12時間）[1]

時刻妥当性チェック（24時間）[1]

時刻編集[1]

システム日付取得変換（8桁）[1]

実在日チェック（西暦）[1]

実在日チェック（和暦）[1]

指定文字削除[1]

氏名（漢字）結合編集[1]

氏名（漢字）結合編集（含外字）[1]

氏名（漢字）チェック[1]

氏名（漢字）チェック（含外字）[1]

氏名（漢字）分離編集[1]

氏名（漢字）分離編集（含外字）[1]

氏名（半角カナ）結合編集[1]

氏名（半角カナ）チェック[1]

氏名（半角カナ）分離編集[1]

祝祭日区分設定情報[1]

祝祭日区分を出力するサブルーチン[1]

祝祭日の変更[1]

祝祭日・休日の有効期間[1]

出力項目に年号（漢字）が追加されるサブルーチン[1]

出力項目に和暦年号コード（英字）が追加されるサブルーチン[1]

出力項目に和暦年号コード（数字）が追加されるサブルーチン[1]

出力用項目の年号（漢字）または年号コードをユーザが選択出力できるサブルーチン[1]

情報設定ファイルに起因するエラーリターンコード[1]

処理期限年月日算出（西暦）[1]

処理期限年月日算出（和暦）[1]

新年号情報に設定変更した場合に影響があるリターンコード[1]

新年号情報に設定変更した場合に追加および変更になるリターンコード[1]

新年号設定情報[1]

す

数字チェック／数値変換[1]

数字チェック／右詰め編集[1]

数字範囲チェック／数値変換[1]

数字文字列コンマ挿入[1]

数字文字列チェック／入力編集[1]

せ

性別コードチェック／変換[1]

設定情報を変更した場合に影響を受ける標準サブルーチン[1]

設定情報を変更した場合に影響を受ける標準サブルーチンの一覧[1]

全角空白→半角空白置換[1]

全角→半角変換[1]

センチメートル→インチ変換[1]

そ

そのほかの変換編集サブルーチンの一覧[1]

た

第1文字列取得[1]

ち

チェック結果の確認[1]

チェックツールの格納ディレクトリおよび動作文字コード区分[1]

チェックツールの使用方法[1]

チェックディジット計算[1]

地目コードチェック／変換[1]

つ

通算週算出（年始〜西暦年月日）[1]

通算週算出（年始〜和暦年月日）[1]

通算日算出（年始〜西暦年月日）[1]

通算日算出（年始〜和暦年月日）[1]

て

データ中心アプローチ[1]

電話番号編集[1]

と

都道府県コードチェック／変換[1]

に

日時加減算（西暦12時間単位）[1]

日時加減算（西暦24時間単位）[1]

日時加減算（和暦12時間単位）[1]

日時加減算（和暦24時間単位）[1]

日数算出（西暦年月日〜月末日）[1]

日数算出（和暦年月日〜月末日）[1]

入力項目に和暦新年号コード（数字および英字）が追加されるサブルーチン[1]

入力項目に和暦年号コード（数字）が追加されるサブルーチン[1]

ね

年（西暦）過去チェック[1]

年（西暦）チェック[1]

年（西暦）未来チェック[1]

年（和暦）過去チェック[1]

年（和暦）チェック[1]

年（和暦）未来チェック[1]

年月日（西暦）過去チェック[1]

年月日（西暦）編集[1]

年月日（西暦）未来チェック[1]

年月日（西暦）→一貫日変換[1]

年月日（西暦）→曜日算出[1]

年月日（和暦）過去チェック[1]

年月日（和暦）編集[1]

年月日（和暦）未来チェック[1]

年月日（和暦）→一貫日変換[1]

年月日（和暦）→曜日算出[1]

年月日算出（西暦年月日±月数）[1]

年月日算出（西暦年月日±日数）[1]

年月日算出（西暦年月日±年数）[1]

年月日算出（和暦年月日±月数）[1]

年月日算出（和暦年月日±日数）[1]

年月日算出（和暦年月日±年数）[1]

年月日出力編集（西暦）[1]

年月日出力編集（和暦）[1]

年月日範囲内チェック（西暦）[1]

年月日範囲内チェック（和暦）[1]

年月日分類（西暦）[1]

年月日分類（和暦）[1]

年月日変換（西暦→和暦）[1]

年月日変換（西暦→和暦）編集[1]

年月日変換（和暦→西暦）[1]

年基準日取得[1]

年月（西暦）過去チェック[1]

年月（西暦）チェック[1]

年月（西暦）編集[1]

年月（西暦）未来チェック[1]

年月（和暦）過去チェック[1]

年月（和暦）チェック[1]

年月（和暦）編集[1]

年月（和暦）未来チェック[1]

年月変換（西暦→和暦）[1]

年月変換（西暦→和暦）編集[1]

年月変換（和暦→西暦）[1]

年号および祝祭日の設定情報のカスタマイズ[1]

年号および祝祭日の設定情報のカスタマイズの概要[1]

年号および祝祭日の設定情報のカスタマイズの流れ[1]

年号および祝祭日の変更で考慮する内容[1]

年号コードチェック／編集[1]

年号コード変換（英字→数字）[1]

年号コード変換（数字→英字）[1]

年号の追加[1]

年度（西暦）過去チェック[1]

年度（西暦）チェック[1]

年度（西暦）編集[1]

年度（西暦）未来チェック[1]

年度（和暦）過去チェック[1]

年度（和暦）チェック[1]

年度（和暦）編集[1]

年度（和暦）未来チェック[1]

年度基準日取得[1]

年度変換（西暦→和暦）[1]

年度変換（西暦→和暦）編集[1]

年度変換（和暦→西暦）[1]

年変換（西暦→和暦）[1]

年変換（西暦→和暦）編集[1]

年変換（和暦→西暦）[1]

年齢（年月）算出（慣習）[1]

年齢（年月）算出（法律）[1]

年齢計算（慣習）[1]

年齢計算（法律）[1]

は

バイナリ→16進文字列変換[1]

バイナリ→2進文字列変換[1]

パラメータ解析[1]

半角カナ文字入力チェック[1]

半角空白→全角空白置換[1]

半角→全角変換[1]

ひ

日付チェック／編集サブルーチンの一覧[1]

標準サブルーチン[1]

標準サブルーチンがサポートする文字コード[1]

標準サブルーチンが取り込む設定情報の変更に必要なファイル[1]

標準サブルーチン仕様書[1]

標準サブルーチン仕様書の記載内容[1]

標準サブルーチンで年号および祝祭日の変更に対応する方法[1]

標準サブルーチンの一覧[1]

標準サブルーチンの仕様[1]

標準サブルーチンの適用方法[1]

標準サブルーチンの特徴[1]

標準サブルーチンの年号および祝祭日区分の変更への対応[1]

標準サブルーチンの分類[1]

標準サブルーチンの命名基準[1]

標準サブルーチンの呼び出し方法[1]

ふ

ファイルおよびエラーコード追加[1]

不当漢字コード置換[1]

不当漢字コード置換（含外字）[1]

不要空白削除[1]

不要空白削除（漢字データ）[1]

フラグチェック／変換[1]

へ

平方根算出[1]

ほ

ポンド→キログラム変換[1]

め

メートル→ヤード変換[1]

も

文字コードチェック[1]

文字属性チェック[1]

文字列交互挿入[1]

文字列コード変換サブルーチンの一覧[1]

文字列シフト[1]

文字列切断[1]

文字列前後反転[1]

文字列チェック／編集サブルーチンの一覧[1]

文字列中央揃え[1]

文字列左詰め[1]

文字列右詰め[1]

文字列有効桁数算出[1]

や

ヤード→メートル変換[1]

ゆ

郵便番号チェック／出力編集[1]

郵便番号チェック／出力編集（5桁および7桁）[1]

郵便番号チェック／出力編集（7桁）[1]

郵便番号チェック／入力編集[1]

郵便番号チェック／入力編集（5桁および7桁）[1]

郵便番号チェック／入力編集（7桁）[1]

よ

曜日コードチェック／編集[1]