福利厚生抽出のカスタム・レイアウトの例
実装者または開発者は、カスタム・レイアウトを作成して、抽出した福利厚生登録データの形式を特定の保険会社の仕様にあわせて変換できます。
このトピックの内容は次のとおりです。
-
カスタム・レイアウトを作成するために必要なタグの説明
-
表の別名およびサンプルのカスタム・レイアウト
カスタム・レイアウトは、プラン保険会社の抽出オプションをアップロードした後、プラン保険会社のデフォルト・レイアウトになります。
次のコードは、カスタム・レイアウト内のXMLタグの構造を示しています。
<Layout
<Table
Record Type
<Field
Name
Source
Width
Padding
Field>
Table>
<Table
<Field
Name
Source
Width
Padding
Field>
-----------
More fields
-----------
Table>
<Table
-----------
More tables
-----------
Table>
Layout>
カスタム・レイアウトのフィールドのデータ・ソースには、次のものを使用できます。
-
福利厚生抽出ステージング表の列
-
Sourceタグの説明にリストされている他のいずれかの表の列
-
正確な値を入力する定数
表の列名を識別するには、Oracle BI Publisherでデータ・モデル問合せビルダーを使用します。 表名を検索し、列を表示します。
XMLタグの説明
このセクションでは、各XMLタグについて説明し、その属性、エレメント(サブタグ)および親タグをリストします。
Layout
説明: Rootタグ。
属性: なし
エレメント(サブタグ) |
親タグ |
---|---|
Table |
なし |
Table
説明: データの抽出元となるデータベース表を指定します。
属性: 1. tableName: サポートされる値 = {BEN_EXTRACT_REQ_DETAILS,BEN_EXTRACT_REQUEST, DUAL,PER_ALL_PEOPLE_F,PER_PERSONS,PER_ALL_ASSIGNMENTS_M,PER_PEOPLE_LEGISLATIVE_F,BEN_PL_F,BEN_PL_TYP_F,BEN_OPT_F,BEN_PGM_F }
エレメント(サブタグ) |
親タグ |
---|---|
1. RecordType 2. Field: Fieldタグの説明を参照してください |
Layout |
Record Type
説明: 抽出ファイル内のデータを区切る方法またはレイアウトする方法を指定します。
属性: サポートされる値: FIXEDWIDTH, CSV
CSV以外はすべて、デフォルトでFIXEDWIDTHとして区切られます。
エレメント(サブタグ) |
親タグ |
---|---|
なし |
Table |
フィールド
説明: 抽出された文書内の1つの列に対応します。 この列のテキストは、データベース表、SQL関数または定数をソースとします。
属性: なし
エレメント(サブタグ) |
親タグ |
---|---|
|
Table |
Name
説明: フィールドの名前
属性: なし
エレメント(サブタグ) |
親タグ |
---|---|
なし |
フィールド |
Source
説明: 現在のフィールドのデータのソースを指定します。
-
ソースが表の場合、渡される値は列名です。
-
複数の表が関与する場合は、完全修飾列名を使用します。
許可される表のリストには、表の別名が含まれています。
列名のかわりのSQL関数: タイプがTABLEに設定されている場合、このタグの値は列名として扱われます。 列名は問合せの構築中に直接使用されるため、列でSQL関数を使用できます。
-
例1
<Source type="TABLE">GENDER_FLAG</Source>
-
例2
<Source type="TABLE">DECODE(GENDER_FLAG,'F',1,2)</Source>
属性:
-
type:
-
サポートされる値= {TABLE, CONSTANT}
-
TABLEは、データがデータベース表からのものであることを指定します。
-
CONSTANTは、データがこのタグの値列にあることを指定します。
-
-
-
table: このタグは、目的の列がこのTableタグのtableName属性に指定された表からのものではない場合にのみ使用します。 このタグを使用しない場合、列はtableNameに指定された表で検索されます。
-
サポートされる値:
-
{BEN_EXTRACT_REQ_DETAILS
-
PER_ALL_PEOPLE_F
-
PER_PERSONS
-
PER_ALL_ASSIGNMENTS_M
-
PER_PEOPLE_LEGISLATIVE_F
-
BEN_PL_F
-
BEN_PL_TYP_F
-
BEN_OPT_F
-
BEN_PGM_F
-
-
エレメント(サブタグ) |
親タグ |
---|---|
なし |
フィールド |
Width
説明: 抽出ファイル内のこのフィールドの目的の幅を指定します。 渡される数値は、ファイル上の文字スペースの数です。
属性: サポートされる値は、正の整数です。
エレメント(サブタグ) |
親タグ |
---|---|
なし |
フィールド |
Padding
説明: 各列でのデータの配置を指定します。
属性: サポートされる値: {LEFT, RIGHT}
エレメント(サブタグ) |
親タグ |
---|---|
なし |
フィールド |
表の別名
許可される表 |
別名 |
---|---|
BEN_EXTRACT_REQ_DETAILS |
REQ |
PER_ALL_PEOPLE_F |
PEO |
PER_PERSONS |
PER |
PER_ALL_ASSIGNMENTS_M |
ASG |
PER_PEOPLE_LEGISLATIVE_F |
LEG |
BEN_PL_F |
PLN |
BEN_PL_TYP_F |
TYP |
BEN_OPT_F |
OPT |
BEN_PGM_F |
PGM |
サンプルのXMLレイアウト
<?xml version="1.0" encoding="utf-8"?>
<Layout>
<Table tableName="DUAL">
<RecordType>FIXEDWIDTH</RecordType>
<Field>
<Name>"Record Type"</Name>
<Source type="CONSTANT">001</Source>
<Width>3</Width>
<Padding>Left</Padding>
</Field>
</Table>
<Table tableName="BEN_EXTRACT_REQ_DETAILS">
<RecordType>CSV</RecordType>
<Field>
<Name>"Last Name"</Name>
<Source type="TABLE">LAST_NAME</Source>
<Width>25</Width>
<Padding>Left</Padding>
</Field>
<Field>
<Name>"First Name"</Name>
<Source type="TABLE">FIRST_NAME</Source>
<Width>50</Width>
<Padding>Left</Padding>
</Field>
<Field>
<Name>"Filler"</Name>
<Source type="CONSTANT">XXXXXXXXXX</Source>
<Width>10</Width>
<Padding>None</Padding>
</Field>
<Field>
<Name>"Plan Name"</Name>
<Source type="TABLE">PLAN</Source>
<Width>70</Width>
<Padding>Left</Padding>
</Field>
<Field>
<Name>"Coverage Start Date"</Name>
<Source type="TABLE">COVERAGE_START_DATE</Source>
<Width>15</Width>
<Padding>Left</Padding>
</Field>
<Field>
<Name>"SSN"</Name>
<Source type="TABLE">NATIONAL_IDENTIFIER</Source>
<Width>12</Width>
<Padding>Left</Padding>
</Field>
<Field>
<Name>"Gender"</Name>
<Source type="TABLE">DECODE(GENDER_FLAG,'F',1,2)</Source>
<Width>1</Width>
<Padding>Left</Padding>
</Field>
<Field>
<Name>"Person Number"</Name>
<Source type="TABLE" table="PER_ALL_PEOPLE_F">PERSON_NUMBER</Source>
<Width>30</Width>
<Padding>Left</Padding>
</Field>
<Field>
<Name>"Country of Birth"</Name>
<Source type="TABLE" table="PER_PERSONS">COUNTRY_OF_BIRTH</Source>
<Width>30</Width>
<Padding>Left</Padding>
</Field>
<Field>
<Name>"Assignment type"</Name>
<Source type="TABLE" table="per_all_assignments_m">assignment_type</Source>
<Width>30</Width>
<Padding>Left</Padding>
</Field>
<Field>
<Name>"Legislation code"</Name>
<Source type="TABLE" table="per_people_legislative_f">LEG.LEGISLATION_CODE</Source>
<Width>30</Width>
<Padding>Left</Padding>
</Field>
<Field>
<Name>"Legislation code"</Name>
<Source type="TABLE" table="ben_pl_f">PLN.PL_ID</Source>
<Width>30</Width>
<Padding>Left</Padding>
</Field>
</Table>
<Table tableName="DUAL">
<RecordType>FIXEDWIDTH</RecordType>
<Field>
<Name>"Record Type"</Name>
<Source type="CONSTANT">999</Source>
<Width>3</Width>
<Padding>Left</Padding>
</Field>
<Field>
<Name>"Record Type"</Name>
<Source type="SYSTEM">RECORDCOUNT</Source>
<Width>3</Width>
<Padding>Left</Padding>
</Field>
</Table>
</Layout>