[項目変換設定]画面の設定内容のフィールドで[利用者プログラム設定]を選択し、[設定内容の編集]ボタンをクリックすると[利用者プログラム設定]画面が表示されます。[設定内容]タブをクリックし、変換内容の設定を行います。
図6.35 利用者プログラム設定画面(設定内容)
ここでは、利用者プログラム設定の内容を登録します。
入力された情報を登録します。 | |
入力された設定内容をキャンセルします。 |
フィールド名 | 入力/出力 | 必須 | 最大項目長 | フィールド説明 |
---|---|---|---|---|
項目名 | OUT | ○ | ― | 選択されているフィールド名が表示されます。 |
利用者プログラムID/名称 | IN/OUT | ○ | 半角 | 使用する利用者プログラムIDを選択します。 |
OUT | ○ | ― | 上記利用者プログラムIDに対する利用者プログラム名称が表示されます。 | |
引数リスト | IN/OUT | ― | ― | 入力元もしくは出力先の値を使用する場合には、フィールド名を選択します。 |
利用者プログラムIDの選択
使用する利用者プログラムIDの選択を行います。項目名の下向き矢印をクリックすると、[利用者プログラムIDの選択]画面が表示されます。
図6.36 利用者プログラムIDの選択画面
ここでは使用する利用者プログラムIDを選択します。
利用者プログラムIDの選択を確定します。 | |
利用者プログラムIDの選択をキャンセルします。 |
フィールド名 | 入力/出力 | 必須 | 最大項目長 | フィールド説明 | |
---|---|---|---|---|---|
利用者プログラムID/利用者プログラム名 | OUT | ○ | ― | 登録済みの利用者プログラムIDが表示されます。 | |
OUT | ○ | ― | 上記利用者プログラムIDに対する利用者プログラム名が表示されます。 |
対象項目の設定
[引数リスト]の[値]の設定を行います。値の下向き矢印をクリックすると、[項目名の選択]が表示されます。
図6.37 対象項目の設定画面
ここでは、[入力元項目]の対象項目の詳細を設定します。
検索に入力した文字列を、選択されている行から下方向にフィールド名を検索します。 | |
検索に入力した文字列を、選択されている行から上方向にフィールド名を検索します。 | |
固定値を選択時、設定できます。 | |
項目の選択を確定します。 | |
項目の選択をキャンセルします。 |
フィールド名 | 入力/出力 | 必須 | 最大項目長 | フィールド説明 |
---|---|---|---|---|
検索 | IN | △ | 半角1000桁(全角混在可) | 検索したいフィールドのフィールド名に含まれる文字列を入力します。英大文字と英小文字は区別します。 |
固定値 | IN/OUT | ○ | 半角128桁(全角混在可)
半角32桁(全角混在可) | 直接設定する場合の値を入力します。システム変数の中からの選択も可能です。 |
入力元/出力先 | IN/OUT | △ | ― | 選択する項目が入力元の項目か、出力先の項目かを選択します。 |
フィールド名 | OUT | ○ | ― | 入力元/出力先で選択されたフォーマットのフィールド名が表示されます。 |
桁数 | OUT | ○ | ― | 上記フィールドの桁数が表示されます。 |
固定値を選択した欄に値を入力し、[HEX支援]ボタンをクリックした場合、値は“@HEX(”と“) ”の間にはさまれます。
※例)
ポイント
[確定]ボタンクリック時に文字列の確認をします。使用可能な文字は、“0”~“9”と“A”~“F”(小文字可)です。また、偶数桁であるかもチェックされます。
図6.38 利用者プログラム設定画面(例-設定内容)
和暦西暦変換用利用者プログラムの使用方法
和暦西暦変換用利用者プログラムを使用する方法を説明します。
和暦西暦変換用利用者プログラムは、以下の8通りの変換をサポートしています。
関数名 | 引数 | 機能 |
---|---|---|
ConvertAD8toAD6 | 1 | 西暦8桁→西暦6桁変換 |
ConvertAD8toBasis6 | 2 | 西暦8桁→基準暦6桁変換 |
ConvertAD6toAD8 | 2 | 西暦6桁→西暦8桁変換 |
ConvertAD6toBasis6 | 2 | 西暦6桁→基準暦6桁変換 |
ConvertBasis6toAD8 | 3 | 基準暦6桁→西暦8桁変換 |
ConvertBasis6toAD6 | 3 | 基準暦6桁→西暦6桁変換 |
ConvertAD8toJpCal7 | 2 | 西暦8桁→和暦7桁変換 |
Convert JpCal7toAD8 | 2 | 和暦7桁→西暦8桁変換 |
それぞれの引数には以下を指定します。また結果は以下のように出力されます。
関数名 | 機能 | 引数 | 出力 |
---|---|---|---|
ConvertAD8toAD6 | 西暦8桁(yyyymmdd)から西暦6桁(yymmdd)に変換する。 | 第1引数: | 西暦6桁(出力項目長が7桁以上の場合は左詰めで6桁) |
ConvertAD8toBasis6 | 西暦8桁(yyyymmdd)から基準暦6桁(yymmdd)に変換する。 | 第1引数: 第2引数: | 基準暦6桁(出力項目長が7桁以上の場合は左詰めで6桁) |
ConvertAD6toAD8 | 西暦6桁(yymmdd)から西暦8桁(yyyymmdd)に変換する。 | 第1引数: 第2引数: | 西暦8桁(出力項目長が9桁以上の場合は左詰めで8桁) |
ConvertAD6toBasis6 | 西暦6桁(yymmdd)から基準暦6桁(yymmdd)に変換する。 | 第1引数: 第2引数: | 基準暦6桁(出力項目長が7桁以上の場合は左詰めで6桁) |
ConvertBasis6toAD8 | 基準暦6桁(yymmdd)から西暦8桁(yyyymmdd)に変換する。 | 第1引数: 第2引数: 第3引数:※ポイント1.を参照 | 西暦8桁(出力項目長が9桁以上の場合は左詰めで8桁) |
ConvertBasis6toAD6 | 基準暦6桁(yymmdd)から西暦6桁(yymmdd)に変換する。 | 第1引数: 第2引数: 第3引数:※ポイント1.を参照 | 西暦6桁(出力項目長が7桁以上の場合は左詰めで6桁) |
ConvertAD8toJpCal7 | 西暦8桁(yyyymmdd)から和暦7桁(eyymmdd)に変換する。 | 第1引数: 第2引数: | 和暦7桁(出力項目長が8桁以上の場合は左詰めで7桁) |
ConvertJpCal7toAD8 | 和暦7桁(eyymmdd)から西暦8桁(yyyymmdd)に変換する。 | 第1引数: 第2引数: | 西暦8桁 (出力項目長が9桁以上の場合は左詰めで8桁) |
ポイント
第3引数の元号略称/世代指定は、先頭1文字だけ有効です。このため、世代指定は0~9(0世代~-9世代)までの指定となります。("10"を指定した場合、先頭の"1"が有効となり、-1世代の扱いとなる)
入力値として、明治初期等、結果が1800年代になる値が指定された場合、西暦6桁では表現できませんが、特にエラーとはしません。
和暦の年が"00"の場合、入力値不当のワーニングとなります。
和暦の年が"01"かつ日付が開始日よりも前の場合、入力値不当のワーニングとなります。
また、以下の復帰値を返却します。
復帰値 | 種別 | 意味 |
---|---|---|
0 | 正常復帰 | 変換成功 (出力項目に変換結果が設定される) |
-1 | エラー | パラメタエラー |
-10 | エラー | 入力データ長不当 |
11 | ワーニング | 入力データ不当 |
-20 | エラー | 出力データ格納域長不当 |
-30 | エラー | 指定されたCSV-IDが見つからない |
-31 | エラー | CSVファイル形式不当 |
-32 | エラー | 西暦切換えポイントが定義されていない |
40 | ワーニング | 範囲外の年数が指定された |
41 | ワーニング | 範囲外の世代が指定された |
※ワーニングで復帰した場合、出力項目に値は設定しない。
また、西暦6桁、基準暦6桁および和暦の変換には、専用のCSVファイルを使用します。CSVファイルは項目コード変換用CSVとしてあらかじめFEDIT/FL-TABLE上で登録し、和暦西暦変換用利用者プログラムには登録したCSV-IDを指定します。
CSVファイル(タブ区切り)の形式を以下に示します。
# コメント ← コメントの記述形式(1列目が"#") * NN ← 西暦切換えポイントの記述形式(1列目が"*") X YYYYMMDD ← 元号略称/開始日の記述形式(1列目が"A"~"Z"(元号略称)) |
西暦切換えポイントは、西暦6桁から西暦8桁に変換する際の、年代の切換えポイントを2桁で指定する。西暦6桁の上位2桁が、指定された値以上の場合は1900年代、未満の場合は2000年代として変換する。
元号略称は、元号の略称を記号1文字(A~Z)で指定する。
開始日は、元号に対応する開始日を西暦8桁で指定する。
3列目以降はフリーフォーマット(コメント記述可能)。
西暦切換えポイントの指定が複数行あった場合、先頭の1行が採用される。
元号略称/開始日指定は複数行指定可能であり、ファイルの先頭から最終に向かって0世代、-1世代…-n世代の扱いとなる。
CSVファイルのエラーチェックは検索と同時に実施する。検索はファイルの先頭から実施するため、不当な行が記述されていてもそれ以前の行に検索ヒットした場合はエラーとならない。
※例)
# 西暦上位2桁切換えポイント |
なお、(FEDIT/FL-TABLEのインストールフォルダ)\sample\Calendarにあるバックアップファイルをリストアすることで、入力を省略することができます。(リストア時、“リストアするデータベースに取込み”を強く推奨)