SEWB+/REPOSITORY 辞書設計ガイド

手引書

3020-3-B82

目　　次

前書き

はじめに

1.　概要

1.1　辞書を共有資源とするデータ中心のシステム開発

1.2　辞書の構成

1.2.1　辞書の考え方

1.2.2　辞書フォルダによるマルチ辞書の構築

1.2.3　データ項目とは

1.2.4　業務ルールとは

1.3　辞書を利用したシステム開発

1.3.1　辞書を利用したアプリケーション開発

1.4　SEWB+/REPOSITORYの機能

1.5　辞書に関係する作業の流れ

2.　辞書の設計

2.1　設計手順

2.2　ドメインの分析

2.2.1　ドメインの分析とは

2.2.2　ドメインの値域と制約条件を基に，辞書を設計する

2.3　名称の標準化

2.3.1　データ項目の名称基準

2.3.2　名称を標準化する

2.4　データ項目の設計

2.4.1　データ項目に定義する情報

2.4.2　データ項目の継承

2.4.3　データ項目の結合

2.4.4　ドメインを登録する

2.4.5　ドメインにグルーピングされたデータ項目を登録する

2.4.6　データ項目を削除する

2.5　レコード構造の設計

2.5.1　辞書のレコード定義（最上位結合項目）とプログラムの関係

2.5.2　辞書のレコード定義（最上位結合項目）を登録する

2.6　業務ルールの設計

2.6.1　業務ルールに定義する情報

2.6.2　業務ルールとプログラムの関係

2.6.3　ルールスクリプトの記述

2.6.4　適用条件の指定

2.6.5　システムで共用する業務ルールを登録する

2.6.6　特定業務で扱う業務ルールを登録する

2.6.7　同一項目用業務ルールを登録する

2.7　辞書登録の確認

2.7.1　定義内容を検査する

2.7.2　目的のデータ項目や業務ルールを検索する

2.7.3　関連を基に，資源の相互関係を調査する

2.7.4　データ項目，業務ルールを印刷する

3.　辞書の環境設定と運用

3.1　辞書の準備

3.1.1　環境を設定する

3.1.2　辞書フォルダを作成する

3.1.3　同一項目用業務ルールを辞書に準備する

3.1.4　タイプマッピングの規則を定義する

3.2　辞書情報のセキュリティ

3.2.1　アクセス権の設定

3.2.2　排他制御

3.3　辞書の配布，複製

3.3.1　複数のリポジトリで辞書を運用する

3.3.2　辞書のエクスポート

3.3.3　辞書のインポート

4.　辞書情報の一括登録と出力

4.1　CSV形式ファイルを使って辞書登録と出力をする

4.1.1　アプリケーション間の辞書情報の受け渡し

4.1.2　CSV形式ファイルの入力

4.1.3　CSV形式ファイル入力コマンド（RPCsvin）の使い方

4.1.4　CSV形式ファイルの出力

4.1.5　CSV形式ファイル出力コマンド（RPCsvout）の使い方

4.1.6　CSV形式の記述規則

4.1.7　CSV形式ファイルフォーマット

4.2　データベースから辞書のレコード定義（最上位結合項目）を生成する

4.2.1　データベースの表および列情報の入力

4.2.2　結合項目と構成項目の生成規則

4.2.3　ODBC入力コマンド（RPOdbcin）の使い方

4.3　SEWB3資産を移行する

4.3.1　SEWB3 データ項目辞書の移行作業

4.3.2　基本項目の変換規則

4.3.3　詳細項目の変換規則

4.3.4　SEWB3辞書移行コマンド（RPTrans）の使い方

5.　EURのレポート設計

5.1　辞書のレコード定義（最上位結合項目）を基にレポートを設計する

5.1.1　辞書のレコード定義（最上位結合項目）とレポート出力アプリケーションの関係

5.1.2　レポート設計の手順

5.1.3　フィールドの生成規則

付録

付録A　標準データ項目辞書の紹介

付録A.1　SEWB+/STANDARD-SUBROUTINE（標準データ項目辞書サブルーチン）

付録B　ERwin/ERXからの辞書登録

付録B.1　ERwin/ERXからデータ分析情報を連携する

付録B.2　エンティティレポートの連携

付録B.3　属性レポートの連携

付録B.4　テーブルレポートの連携

付録B.5　辞書登録の例

付録C　命名ルールインタフェース

付録C.1　条件DLLの作成

付録C.2　ヘッダファイル（Nrl_interface.h）

付録C.3　関数の記述形式

付録D　検査項目インタフェース

付録D.1　検査DLLの作成

付録D.2　ヘッダファイル（Dsc_interface.h）

付録D.3　関数の記述形式

付録D.4　エラーメッセージ

付録E　標準提供の同一項目用業務ルール

付録E.1　同一項目用業務ルールの概要

付録E.2　ルールスクリプト

付録F　このマニュアルの参考情報

付録F.1　関連マニュアル

付録F.2　このマニュアルでの表記

付録F.3　KB（キロバイト）などの単位表記について

付録G　用語解説

索引

[他社商品名称に関する表示]

All Rights Reserved. Copyright (C) 2012, Hitachi, Ltd.

前書き

■ 対象製品

P-2451-1444　 SEWB+ 基本開発環境セット　 04-00（適用OS：Windows XP，Windows Vista，Windows 7，Windows Server 2003，Windows Server 2003 x64※，Windows Server 2003 R2，Windows Server 2003 R2 x64※，Windows Server 2008，Windows Server 2008 x64※，Windows Server 2008 R2※）

注※　WOW64（Windows On Windows 64）環境だけで使用できます。

この製品は，ISO9001およびTickITの認証を受けた品質マネジメントシステムで開発されました。

■ 輸出時の注意

本製品を輸出される場合には，外国為替および外国貿易法ならびに米国の輸出管理関連法規などの規制をご確認の上，必要な手続きをお取りください。
なお，ご不明な場合は，弊社担当営業にお問い合わせください。

■ 商標類

ERwinは，Computer Associates International,Inc.の登録商標です。
Microsoftは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Microsoft Excelは，米国Microsoft Corporationの商品名称です。
Microsoft Office Excelは，米国 Microsoft Corporationの商品名称です。
Microsoft Office Wordは，米国 Microsoft Corporationの商品名称です。
Microsoft Wordは，米国 Microsoft Corporationの商品名称です。
ODBCは，米国Microsoft Corporationが提唱するデータベースアクセス機構です。
OracleとJavaは，Oracle Corporation 及びその子会社，関連会社の米国及びその他の国における登録商標です。
UNIFYは，米国Unify Corp.の登録商標です。
UNIFY2000は，米国Unify Corp.の商品名称です。
UNIXは，The Open Groupの米国ならびに他の国における登録商標です。
Windowsは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Windows Serverは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Windows Vistaは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Xupperは，ケン・システムコンサルティング(株)の商標です。
その他記載の会社名，製品名は，それぞれの会社の商標もしくは登録商標です。

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

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

表記 | 正式名称
Microsoft Excel | Microsoft(R) Excel
Microsoft(R) Office Excel
Microsoft Word | Microsoft(R) Word
Microsoft(R) Office Word
Visual Basic | Microsoft(R) Visual Basic(R)
Visual C++ | Microsoft(R) Visual C++(R)
Windows | Windows XP | Microsoft(R) Windows(R) XP Home Edition Operating System
Microsoft(R) Windows(R) XP Professional Operating System
Windows Vista | Microsoft(R) Windows Vista(R) Business 日本語版(32ビット版)
Microsoft(R) Windows Vista(R) Enterprise 日本語版(32ビット版)
Microsoft(R) Windows Vista(R) Ultimate 日本語版(32ビット版)
Microsoft(R) Windows Vista(R) Business 日本語版(64ビット版)※
Microsoft(R) Windows Vista(R) Enterprise 日本語版(64ビット版)※
Microsoft(R) Windows Vista(R) Ultimate 日本語版(64ビット版)※
Windows 7 | Microsoft(R) Windows(R) 7 Home Premium 日本語版(32ビット版)
Microsoft(R) Windows(R) 7 Professional 日本語版(32ビット版)
Microsoft(R) Windows(R) 7 Ultimate 日本語版(32ビット版)
Microsoft(R) Windows(R) 7 Home Premium 日本語版(64ビット版)※
Microsoft(R) Windows(R) 7 Professional 日本語版(64ビット版)※
Microsoft(R) Windows(R) 7 Ultimate 日本語版(64ビット版)※
Windows Server | Windows Server 2003 | Microsoft(R) Windows Server(R) 2003, Standard Edition 日本語版
Microsoft(R) Windows Server(R) 2003, Enterprise Edition 日本語版
Windows Server 2003 x64 | Microsoft(R) Windows Server(R) 2003, Standard x64 Edition 日本語版※
Microsoft(R) Windows Server(R) 2003, Enterprise x64 Edition 日本語版※
Windows Server 2003 R2 | Microsoft(R) Windows Server(R) 2003 R2, Standard Edition 日本語版
Microsoft(R) Windows Server(R) 2003 R2, Enterprise Edition 日本語版
Windows Server 2003 R2 x64 | Microsoft(R) Windows Server(R) 2003 R2, Standard x64 Edition 日本語版※
Microsoft(R) Windows Server(R) 2003 R2, Enterprise x64 Edition 日本語版※
Microsoft(R) Windows Server(R) 2003 R2, Datacenter x64 Edition 日本語版※
Windows Server 2008 | Microsoft(R) Windows Server(R) 2008 Standard 32-bit 日本語版
Microsoft(R) Windows Server(R) 2008 Enterprise 32-bit 日本語版
Windows Server 2008 x64 | Microsoft(R) Windows Server(R) 2008 Standard 日本語版※
Microsoft(R) Windows Server(R) 2008 Enterprise 日本語版※
Windows Server 2008 R2 | Microsoft(R) Windows Server(R) 2008 R2 Standard 日本語版※
Microsoft(R) Windows Server(R) 2008 R2 Enterprise 日本語版※
Microsoft(R) Windows Server(R) 2008 R2 Datacenter 日本語版※

注※

64ビット版のWindowsです。

Windows Server 2003とWindows Server 2003 R2とで機能差がない場合，Windows Server 2003と表記しています。

Windows Server 2003 x64とWindows Server 2003 R2 x64とで機能差がない場合，Windows Server 2003 x64と表記しています。

Windows Server 2008 x64とWindows Server 2008 R2とで機能差がない場合，Windows Server 2008 x64と表記しています。

■ 発行

2012年 7月　3020-3-B82

■ 著作権

All Rights Reserved. Copyright (C) 2012, Hitachi, Ltd.

はじめに

このマニュアルは，SEWB+ 基本開発環境セットのリポジトリ管理機能およびリポジトリブラウザ機能を使って，辞書を設計および管理する方法について説明したものです。

SEWB+ 基本開発環境セットは，SEWB+ 基本開発環境とGroupmax Object Serverから構成されます。SEWB+ 基本開発環境は，次に示す機能から構成されます。

リポジトリ管理機能（SEWB+/REPOSITORY）

リポジトリブラウザ機能（SEWB+/REPOSITORY-BROWSERまたはリポジトリブラウザ）

プログラム構築支援機能（SEWB+/CONSTRUCTION）

レコード設計支援機能（SEWB+/RECORD DEFINER）

なお，このマニュアルでは，SEWB+ 基本開発環境のリポジトリ管理機能SEWB+/REPOSITORY，リポジトリブラウザ機能をSEWB+/REPOSITORY-BROWSERまたはリポジトリブラウザと表記しています。また，特に区別する必要がない場合は，SEWB+/REPOSITORYとSEWB+/REPOSITORY-BROWSER（またはリポジトリブラウザ）をあわせて，SEWB+/REPOSITORYと表記しています。

＜はじめにの構成＞

対象読者

読書手順

このマニュアルでのバージョン表記

このマニュアルで使用する記号

構文の説明で使用する記号

マニュアルで使用する文字種の表現

このマニュアルで使用する画面図と操作説明について

マニュアルとヘルプを効果的にお使いいただくために

対象読者

SEWB+/REPOSITORYを使って，システム開発プロジェクトで共有する辞書を設計および管理する方

マニュアル「SEWB+/REPOSITORY 運用ガイド」で説明されている，リポジトリのシステム開発資源の構成，およびSEWB+/REPOSITORYの機能の概要を理解されている方

使用しているサーバOSとクライアントOSの機能および操作を理解されている方

読書手順

このマニュアルは，利用目的に合わせて次の個所をお読みいただくことをお勧めします。

マニュアルを読む目的 | 記述個所
SEWB+/REPOSITORYの辞書の概要について知りたい | 1章
辞書の設計について知りたい | 設計手順 | 2.1節
ドメインの分析 | 2.2節
名称の標準化 | 2.3節
データ項目の設計 | 2.4節
レコード構造の設計 | 2.5節
業務ルールの設計 | 2.6節
辞書登録の確認 | 2.7節
辞書の環境設定と，管理・運用の作業について知りたい | 辞書の準備 | 3.1節
辞書情報のセキュリティ | 3.2節
辞書の配布，複製 | 3.3節
辞書情報の一括登録と出力について知りたい | CSV形式ファイルを使って辞書登録と出力をする | 4.1節
データベースから辞書のレコード定義（最上位結合項目）を生成する | 4.2節
SEWB3資産を移行する | 4.3節
EURを使ったレポートの設計について知りたい | 5章
標準データ項目辞書について知りたい | 付録A
ERwin/ERXからの辞書登録について知りたい | 付録B
命名ルールインタフェースについて知りたい | 付録C
検査項目インタフェースについて知りたい | 付録D
標準提供の同一項目用業務ルールについて知りたい | 付録E
このマニュアルの参考情報について知りたい | 付録F
このマニュアルで使用する用語について知りたい | 付録G

このマニュアルでのバージョン表記

このマニュアルでは，SEWB+ 基本開発環境セットとSEWB+ リポジトリ セットのバージョンを次のように表記しています。

バージョン | このマニュアルでのバージョン表記
SEWB+ 基本開発環境セット | 04-00 | SEWB+ 基本開発環境 04-00
03-01 | SEWB+ 基本開発環境 03-01
SEWB+ リポジトリ セット | 02-57 | SEWB+/REPOSITORY 02-08
02-55
02-53 | SEWB+/REPOSITORY 02-07
02-51 | SEWB+/REPOSITORY 02-06
02-49 | SEWB+/REPOSITORY 02-05
02-47 | SEWB+/REPOSITORY 02-04
02-45 | SEWB+/REPOSITORY 02-03
02-43 | SEWB+/REPOSITORY 02-02
02-41 | SEWB+/REPOSITORY 02-01
02-00 | SEWB+/REPOSITORY 02-00

このマニュアルで使用する記号

このマニュアルで使用する記号を次のように定義しています。

記号
意味

［　　］メニュー
［　　］ボタン
［　　］ダイアログ
など
メニュータイトル，メニュー項目，ダイアログボックスのボタン，操作キー，ウィンドウ，ダイアログボックスなどを示します。

［A］－［B］
－の前に示した［A］メニューから［B］を選択することを示します。

構文の説明で使用する記号

このマニュアルのコマンドの構文の説明では，次の記号を使用します。

記号
意味

〔　〕
この記号で囲まれている項目は，省略してもよいことを示します。
複数の項目が縦または横に並べて記述されている場合には，すべてを省略できます。

…
記述が省略されていることを示します。
この記号の直前に示された項目を繰り返して複数個を指定できます。

マニュアルで使用する文字種の表現

このマニュアルでは，文字種は次の「文字セット」で表現します。

文字セット | 定義 | 備考
英字 | 英大文字（A～Z）および英小文字（a～z） | 1バイトを1文字とする半角文字
英大文字 | A～Z，¥，@，#
カナ文字 | ア～ン，゛，゜，ー，およびカナ小文字
数字 | 0～9
数値 | 数字，.，+，-
英数字 | 英字および数字
日本語文字 | シフトJIS標準漢字コードで定められた漢字 | 2バイトを1文字とする全角文字

このマニュアルで使用する画面図と操作説明について

このマニュアルでは特に断りのないかぎり，次に示すWindowsで表示される画面，メニュー名およびアイコンで操作を説明しています。これら以外のWindowsでは，画面，メニュー名およびアイコンが異なることがあります。詳細は，Windowsのドキュメントを参照してください。

機能名 | Windows
SEWB+/REPOSITORY | Windows Server 2003
SEWB+/REPOSITORY-BROWSER | Windows Vista
SEWB+/CONSTRUCTION
SEWB+/RECORD DEFINER

マニュアルとヘルプを効果的にお使いいただくために

SEWB+/REPOSITORYではオンラインヘルプ（以降，ヘルプと呼びます）を提供しています。利用の目的に応じて，マニュアルとヘルプを使い分けることをお勧めします。

マニュアルは，SEWB+/REPOSITORY全体の機能や使い方を理解したいときや，プロジェクトに適した運用を検討するときにお使いください。

ヘルプは，SEWB+/REPOSITORYを操作中に機能の詳細を知りたいときにお使いください。ダイアログの操作方法，メニューバーの利用方法の詳細，または注意事項などを参照できます。ヘルプでは，次の内容を説明しています。

リポジトリブラウザの操作

ユティリティの操作

コマンドの操作

各定義項目

用語

1.　概要

SEWB+/REPOSITORYは，システム開発に使用するデータの名称とその情報を「辞書」に格納して，データ中心アプローチによる開発を支援します。辞書はシステム開発で扱う情報の基本単位となる「データ項目」と，データ項目特有の処理を部品化した「業務ルール」を管理します。

この章では，SEWB+/REPOSITORYの辞書によってシステム開発で使用するデータを一元管理する概要について説明します。

＜この章の構成＞

1.1　辞書を共有資源とするデータ中心のシステム開発

1.2　辞書の構成

1.3　辞書を利用したシステム開発

1.4　SEWB+/REPOSITORYの機能

1.5　辞書に関係する作業の流れ

1.1　辞書を共有資源とするデータ中心のシステム開発

SEWB+/REPOSITORYは，サーバでリポジトリを管理し，クライアントのSEWB+ツールやほかのアプリケーションと連携してシステム開発資源を蓄積したり，供給したりする役割を担います。リポジトリが管理するシステム開発資源は，システムの各工程で作成される情報である「ドキュメント」，データ項目と業務ルールを蓄積する「辞書」に大別されます。

データ中心アプローチの基盤となる辞書

データ中心アプローチとは，データを企業全体の重要な財産であると考え，共有資源として扱うシステム開発の方法論です。企業情報システムの基盤整備のために必要な方法論として提唱されてきました。データ中心アプローチを採用したシステム開発では，先にデータを共有資源として分析し，標準化します。データの基盤を整えたあと，システムやプログラムを設計，開発します。SEWB+/REPOSITORYの辞書は，このデータ中心アプローチの考え方に基づいて，データ中心のシステム開発を支援する機能を備えています。

システム開発での辞書の位置づけを次の図に示します。

図1-1　システム開発での辞書の位置づけ

システム開発の概要

システム開発の概要を次に説明します。

まず，システム開発に先立って，現行システム，長期的・全体的ニーズを基にした目標とするシステムなどを対象に，データ分析をします。このデータ分析で抽出，標準化したデータを辞書に登録して，システム開発の基盤を整備します。そのあと，辞書をシステム開発の共有資源として管理・運用していきます。

SEWB+/RECORD DEFINERを使ったレコード設計時や，SEWB+/CONSTRUCTIONまたはEURを使ったアプリケーション開発時に，辞書は共有資源として利用されます。

開発を終えたあとも，辞書は次のシステム開発に継続して利用されていきます。

1.2　辞書の構成

＜この節の構成＞

1.2.1　辞書の考え方

1.2.2　辞書フォルダによるマルチ辞書の構築

1.2.3　データ項目とは

1.2.4　業務ルールとは

1.2.1　辞書の考え方

辞書は，データ中心アプローチの考え方に基づいて，システム開発の基本単位であるデータ項目と，データ項目特有の処理を部品化した業務ルールから構成されます。

辞書の基本構成

辞書は，データ項目を管理する「データ項目辞書」と，業務ルールを管理する「業務ルール辞書」から構成されています。この2種類の辞書は「辞書フォルダ」という単位で管理されます。辞書フォルダは，リポジトリで辞書を管理する場合の最上位の単位となります。

データ項目辞書とは
データ項目は，システム開発で使用する情報の基本単位となるものです。データ中心アプローチによるシステム開発では，データ項目を標準化し，そのデータ項目を使ってシステムやプログラムを設計します。データ項目辞書は，この標準化されたデータ項目の保管庫の役割を果たします。

業務ルール辞書とは
業務ルールは，データ項目辞書のデータ項目に対応して，個々のデータ項目の性質，データ項目，データ項目間の制約条件などを表す処理です。業務ルール辞書は，業務ルールの保管庫の役割を果たします。

異なる各国語，プログラミング言語の情報を一元管理する

データ項目や業務ルールの定義内容をアプリケーション開発に使用するプログラミング言語間，国語間で共通化して一元管理できます。このため，同じ辞書を異なる国語圏で相互に使用するというような運用形態に対応できます。また，同じ辞書からC，COBOL，Javaなどの複数のプログラミング言語に対応できます。

独自の辞書にカスタマイズする

システムで使用する国語や開発言語，登録時の制限，データ項目や業務ルールの名称基準など，開発内容に合わせて辞書をカスタマイズできます。

辞書の構築を支援する検査機能

辞書登録やメンテナンス時などに，定義内容の妥当性を診断するための検査機能が提供されています。名称をリポジトリ内で重複して付けていないか，プロジェクトの名称基準（命名ルール）に従って名称が付けられているかどうかなど，辞書の構築を支援する検査項目が用意されています。また，ユーザ独自の検査項目を作成し，利用することもできます。

ほかのアプリケーションと辞書情報を連携する

ほかのアプリケーションから生成したCSV（Comma Separated Values）形式ファイルを辞書に登録できます。また，辞書情報を，CSV形式ファイルに出力できます。このほか，ODBC（Open DataBase Connectivity）インタフェースをサポートしているDBMS（DataBase Management System）上のデータベースから，データ項目辞書の情報を生成できます。

1.2.2　辞書フォルダによるマルチ辞書の構築

一つのリポジトリで，複数の辞書フォルダを管理できます。これを，マルチ辞書といいます。マルチ辞書の構成は，システム開発形態，プロジェクトの体制などの独自の環境に合わせて構築できます。また，辞書フォルダには，独自の名称を付けられます。

マルチ辞書の構成の例を次の図に示します。

図1-2　マルチ辞書の例

この例では，顧客管理システムの開発で使用する「顧客管理データ辞書」，売上管理システムの開発で使用する「売上管理データ辞書」，プロジェクトで共通に使用する「プロジェクト共通辞書」というように，辞書をプロジェクトの用途に応じて分類しています。

この例のように用途別に分類するほか，システムの開発単位などで分類することもできます。例えば，あるシステムの開発を終了する場合，それまで開発に使用してきた辞書を，新たに作成した別の保管用の辞書フォルダで管理するというような運用もできます。

1.2.3　データ項目とは

データ項目は，システム開発の情報の基本単位となる情報といえます。データ項目は，データ項目同士に継承や結合関係を定義することで階層化できます。

次にデータ項目の階層化について説明します。継承関係による階層化では，データ中心アプローチで提唱されているドメインの概念を辞書に採用できます。重複する内容をそのたびに定義する必要がないため，定義作業の効率化を図れます。データ項目の継承関係および結合関係は，相互に組み合わせることもできます。

データ項目の継承
継承とは，共通の性質を持つ上位に位置づけられたデータ項目から，下位に位置づけられた複数のデータ項目にその性質やデータの表現形式を引き継ぐことです。例えば，日付を表すデータ項目「年月日」のように，システムで共通の性質と形式を持つデータ項目をグルーピングして，継承関係の上位のデータ項目（これがドメインに相当します）として定義します。そして，「営業日」，「受注日」および「発注日」を，同じ日付の性質を持つデータ項目として，下位のデータ項目に定義します。
この継承の例を次の図に示します。

図1-3　データ項目の継承の例

データ項目の結合
結合とは，複数のデータ項目を連結して定義し，そのデータ項目の集まりを一つのデータ項目として扱うことです。COBOLの集団項目，C言語の構造体の考え方に相当します。例えば，商品を識別するためのデータ項目「商品コード」では，まず，「商品大区分」，「商品区分」および「色区分」を定義したあと，これらのデータ項目を結合して定義します。
この結合の例を次の図に示します。この例の「商品コード」のように，複数のデータ項目で構成されるデータ項目を「結合項目」といいます。また，結合項目の構成要素となるデータ項目を「構成項目」といいます。

図1-4　データ項目の結合の例

なお，レコード構造は，SEWB+/RECORD DEFINERでも定義できます。

1.2.4　業務ルールとは

業務ルールとは，データ項目に着目して，データ項目特有の処理を部品化したものです。SEWB+/CONSTRUCTIONを使ったアプリケーション開発で共通に利用することを目的としています。業務ルールは必ずデータ項目と関連づけて登録し，業務ルール辞書で管理します。データ項目に関連する業務ルールの例を次の図に示します。

図1-5　データ項目に関連する業務ルールの例

なお，データ項目間の転記処理のような同じデータ項目を使った処理を記述するための特殊な業務ルールがあります。これを「同一項目用業務ルール」といいます。同一項目用業務ルールは，データ項目と関連づけないで，リポジトリ内のデータ項目で共用できます。

データ項目特有の処理を業務ルールとして登録しておけば，そのデータ項目を使用するさまざまなアプリケーションで再利用でき，処理を標準化できます。アプリケーションを作成するときには，あらかじめ用意された業務ルールから目的に合った業務ルールを選択するだけでよいので，効率良く作業できます。

データ項目特有の処理とは

次に，データ項目特有の処理（つまり，業務ルールに適した処理）とは，どのような処理なのかについて解説します。業務ルールに適した処理としては，「データ項目の値の妥当性をチェックする処理」および「データ項目から別のデータ項目の値を導き出す処理」が挙げられます。

＜データ項目の値の妥当性をチェックする処理＞

クライアント画面やファイルなどから入力された値が，正しいかどうかを判定する処理です。例えば，次に示すような処理などを業務ルールにできます。

データ項目に入力された値の形式（英字，数字，漢字など）を判定する

データ項目に入力された値の範囲（0以上，100以下など）を判定する

年月日のデータ項目の値が，実在する日付かどうかを判定する

出荷年月日は受注年月日よりもあとかどうか判定する

＜データ項目から別のデータ項目の値を導き出す処理＞

データベースやファイル，クライアント画面や帳票データなど，これらの間でデータをやり取り（入力または出力）する場合に必要な処理です。例えば，次に示すような，形式を変換する処理，編集処理，複数のデータ項目で成り立つ計算処理などを業務ルールにできます。

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

時刻をhh:mm:ssの形式に編集する

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

商品単価と売り上げ数量を基に，売り上げ金額を計算する

売り上げ金額と消費税率を基に，消費税（外税）を計算する

作業開始年月日と作業終了年月日から，実作業日数を求める

商品コードから商品名を取得する

所属事業所，入社年，従業員氏名から，氏名NOを割り当てる

例に挙げたように，業務ルールには，データ項目の形式や範囲を判定するなどの汎用性の高いチェック処理だけでなく，編集処理や計算処理など，業務の規則や制度などに密接な処理を蓄積して，アプリケーション開発に利用できます。業務の見直しや制度の変更に伴ってデータ項目に関する処理を変更しなければならない場合でも，業務ルールを使用していれば，変更波及のある開発資源を容易に調査でき，作業量も軽減できます。

1.3　辞書を利用したシステム開発

辞書は，SEWB+/RECORD DEFINERを使ったレコード設計，SEWB+/CONSTRUCTION，またはEURを使ったアプリケーション開発で共通に利用されます。データ分析で標準化された再利用性の高い辞書の資源を，複数の開発者と開発工程で共通に利用することで，システム開発作業の効率を向上すると同時に，システムでのデータや処理の一貫性を保てます。

＜この節の構成＞

1.3.1　辞書を利用したアプリケーション開発

1.3.1　辞書を利用したアプリケーション開発

＜この項の構成＞

(1)　SEWB+/CONSTRUCTIONを使ったアプリケーション開発

(2)　EURを使ったレポート設計

(1)　SEWB+/CONSTRUCTIONを使ったアプリケーション開発

SEWB+/CONSTRUCTIONとは

SEWB+/CONSTRUCTIONは，C/Sシステムのアプリケーション開発を支援するツールです。特に，TPモニタやジョブ運用管理ツールなどを利用する大規模なC/Sシステム上で動作するサーバ側のプログラムおよびバッチシステムの開発に適しています。テンプレート，データ定義，プログラム定義の機能を使い，C/Sシステムのサーバプログラムと，クライアントプログラムに必要なサーバプログラムとのリンクのインタフェースを効率良く作成できます。

辞書の利用の流れ

次に，SEWB+/CONSTRUCTIONから辞書に登録した資源がどのように利用されるのかについて，おおまかに説明します。この流れを次の図に示します。

図1-6　辞書の利用の流れ（SEWB+/CONSTRUCTION）

データ定義
データ定義では，アプリケーションに使用するファイル，データベースおよびクライアントとサーバ間の通信のインタフェースを定義します。ここでは，辞書のレコード定義（最上位結合項目）やSEWB+/RECORD DEFINERで作成したレコード定義が利用されます。

プログラム定義
プログラム定義では，作成するアプリケーションに必要なデータ定義や，アプリケーション固有の処理を定義します。ここでは，テンプレート※に記述された指示に従って，作成するアプリケーションに適した業務ルールの一覧が表示されます。その中から，プログラマが目的の業務ルールを選択することで，業務ルールが利用されます。
注※
テンプレートとは，ソースプログラムの生成時にアプリケーションの枠組みとなる処理構成を記述したものです。テンプレートは，実際にアプリケーション作成の作業を開始する前に，専任者（テンプレート作成者）によって作成されます。テンプレート記述言語と，開発に使用するプログラミング言語で記述されます。

ソースプログラムの生成
プログラム定義からソースプログラムが生成されるとき，データ定義で利用したデータ項目の情報と，プログラム定義で利用した業務ルールの情報が，ソースプログラム中に展開されます。

このようにして，辞書の情報は，ソースプログラムまで引き継がれ，データ中心の開発を実現できます。

SEWB+/CONSTRUCTIONを使ったアプリケーション開発の詳細は，マニュアル「SEWB+/CONSTRUCTION アプリケーション開発ガイド」を参照してください。

(2)　EURを使ったレポート設計

EURとは

SEWB+/REPOSITORYと連携し，レポートの設計から印刷までを支援するツールです。EURでは，マウス操作を基本とした簡単な操作で，自由な形式のレポートを効率良く設計できます。設計時には，SEWB+/REPOSITORYの辞書のレコード定義（最上位結合項目）から，レポートの設計に必要なフィールド定義情報を自動的に生成して利用できます。また，SEWB+/CONSTRUCTIONで作成したアプリケーションとEURで作成したレポートの設計情報を組み合わせれば，効率良くレポート出力アプリケーションを作成できます。

注

SEWB+/REPOSITORYとの連携は，EURのバージョン04-01以降が前提となります。

辞書の利用の流れ

次に，EURから辞書に登録した資源がどのように利用されるのかについて，おおまかに説明します。この流れを次の図に示します。

図1-7　辞書の利用の流れ（EUR）

フィールド定義情報の生成
辞書のレコード定義（最上位結合項目）を選び，レポートの設計に必要なフィールド定義情報（データのけた数やデータ種別などの情報をいいます）を生成します。

レポート設計
生成されたフィールド定義情報を基に，けい線や印字位置などのレイアウトを編集してレポートを設計します。

辞書とSEWB+/CONSTRUCTIONで作成するアプリケーション，レポートの関係，レポートの設計手順などについては，「5.　EURのレポート設計」を参照してください。

1.4　SEWB+/REPOSITORYの機能

ここでは，SEWB+/REPOSITORYに用意されている機能の中から，辞書の作成や管理に利用する機能を紹介します。SEWB+/REPOSITORY全体の機能については，マニュアル「SEWB+/REPOSITORY 運用ガイド」を参照してください。

サーバの機能

サーバには，リポジトリの開発資源を管理・運用するためのユティリティが用意されています（Windows Serverで動作）。次に，辞書の管理に利用するユティリティを紹介します。なお，サーバのユティリティ群は，システム管理者だけが利用できます。

環境構築ユティリティ
辞書フォルダの作成や，独自の辞書環境，辞書に関する操作ログを出力するかどうかを設定します。
また，ODBC入力やERwin/ERXと連携したCSV入力をするときのタイプ変換（タイプマッピング）の規則を設定します。

エクスポート・インポートユティリティ
リポジトリから辞書情報を取り出すことをエクスポート，エクスポートした辞書情報をリポジトリに取り込むことをインポートといいます。辞書を分散環境へ配布したり，複製したりします。

CSV形式ファイルの入力（CSV入力）
CSV形式ファイルからデータ項目または業務ルールの辞書情報を入力します。

CSV形式ファイルの出力（CSV出力）
データ項目または業務ルールの辞書情報をCSV形式ファイルへ出力します。

ODBC入力コマンド
ODBCインタフェースをサポートしているDBMS上の既存データベースからスキーマ定義情報を取り出し，データ項目を生成します。

SEWB3辞書移行コマンド
SEWB3 データ項目辞書の辞書情報をSEWB+/REPOSITORYの辞書に移行します。

クライアントの機能

クライアントの機能を紹介します。

リポジトリブラウザ
クライアントには，リポジトリの開発資源を操作，利用するための「リポジトリブラウザ」が用意されています（Windowsで動作）。リポジトリブラウザを使うと，リポジトリのシステム開発資源をクライアント側でビジュアルに操作できます。リポジトリブラウザには，次の三つの機能があります。

　リポジトリのブラウジング機能

リポジトリに格納されたシステム開発資源をツリー形式やリスト形式で表示します。データ項目や業務ルールをリポジトリに登録したり，目的の辞書情報を検索したりできます。

　結合項目のブラウジング機能

データ項目を，結合関係に基づいてブラウジングしたり編集したりできます。

　関連情報のブラウジング機能

データ項目を，関連に基づいてブラウジングできます。

CSV形式ファイルの入力（CSV入力）
CSV形式ファイルからデータ項目または業務ルールの辞書情報を入力します。

CSV形式ファイルの出力（CSV出力）
データ項目または業務ルールの辞書情報をCSV形式ファイルへ出力します。

1.5　辞書に関係する作業の流れ

ここでは，SEWB+/REPOSITORYの環境に辞書を構築して，その辞書を管理・運用するまでの作業例を説明します。新システムの開発を例に，おおまかな作業の流れを次の図に示します。

図1-8　新規システム開発での作業例

図で示した新システムの開発を例に，各作業の概要を説明します。

＜この節の構成＞

(1)　辞書に蓄積するデータの分析と設計

(2)　環境設定

(3)　辞書登録

(4)　辞書の管理・運用

(5)　次期開発への再利用，保守

(1)　辞書に蓄積するデータの分析と設計

システム分析段階で，辞書に蓄積するデータを分析し，情報をどのように辞書に蓄積するかを検討します。

辞書の設計の詳細は，「2.　辞書の設計」を参照してください。

辞書の構造と仕組みの理解

SEWB+/REPOSITORYでは，一般的なシステム開発を想定して，標準の辞書の枠組みを提供しています。この標準的な枠組みを基に，プロジェクトの開発体制や開発する業務システムに合わせて，COBOLやCなどのアプリケーション開発に使用するプログラミング言語，システムで使用する日本語や英語などの国語，命名ルール，検査項目などの辞書の構造をカスタマイズできます。

データ分析の結果を辞書にスムーズに引き継いで，辞書を有効に利用しながらデータ中心の開発を進めていくには，辞書の構造や仕組みを考慮したデータ分析が必要になります。このため，実際のデータ分析作業に入る前に，あらかじめ辞書の構造と仕組みについて理解しておくことをお勧めします。

データ分析と標準化，辞書の設計

データ分析
データ中心アプローチの方法論に基いて辞書に格納するデータ項目と業務ルールを分析・設計します。方法論に従って，正規化，名称・属性の標準化をして，一貫性のあるデータの体系を作ります。この作業では，辞書登録のために，分析した内容と，辞書に登録できる内容を一致させるよう考慮します。データ分析では，辞書に登録するデータ項目，ドメインを分析します。また，各データ項目に特有の処理（業務ルール）を抽出して整理します。

データモデリングの情報を連携
システム開発の上流工程を支援するCASEツールを使用している場合，この情報を引き継いだ辞書登録を検討します。
例えば，データモデリングを支援するツール「ERwin/ERX」で作成した設計情報を，CSV形式ファイルを経由して辞書登録します。また，業務設計を支援するツール「Xupper」で作成した設計情報をERwin/ERXに連携し，さらにCSV形式ファイルを経由して辞書登録します。正規化によってデータの重複を排除したデータモデルから，エンティティやエンティティ属性などの情報を辞書に連携できます。

既存資産の利用
現行システムの開発資産の有効利用を検討します。SEWB+/REPOSITORYでは，SEWB3のデータ項目辞書から辞書情報を移行して再利用できます。また，ORACLE，HiRDBなどのODBCインタフェースをサポートしているDBMSの既存データベースから，スキーマ定義情報を取り出し，辞書のデータ項目を生成して登録できます。
どの資産を引き継いで辞書に登録して利用するかを，データ分析とあわせて検討します。

リポジトリで辞書をどのように管理・運用するか検討

リポジトリで辞書をどのように管理・運用するか検討します。

辞書の構成の検討
管理方法や用途によってマルチ辞書（辞書フォルダ）をどのように構成するか，検討します。

辞書のカスタマイズの検討
アプリケーション開発に使用するプログラミング言語，データ項目や業務ルールに対する命名ルールや検査項目，検索用のフィールドをどのように設けるのかなどを検討，決定します。

運用ルールの検討
辞書の作成者と利用者の権限や役割，辞書の作成者が辞書情報を変更する際の作業・変更通知ルール，分散配布のルールなど，プロジェクトでの運用ルールを明確にします。

(2)　環境設定

SEWB+/REPOSITORYをインストールし，サーバおよびクライアントで構成されるシステム開発環境を構築します。この作業は，システム開発環境全体を管理するシステム管理者が実行します。なお，SEWB+/REPOSITORYは，SEWB+ 基本開発環境のインストールを実行することで，インストールできます。

SEWB+/REPOSITORYの基本環境の設定

まず，次の基本環境を構築します。詳細な手順や設定内容については，マニュアル「SEWB+/REPOSITORY 運用ガイド」を参照してください。

OSの設定
SEWB+/REPOSITORYをWindows Serverで稼働させるための通信環境を設定します。

データベースの初期設定
リポジトリを格納する前提データベースシステムの環境を設定します。

ユーザ，グループの登録
リポジトリ内のシステム開発資源を操作できる利用者（ユーザ）をユーザ登録ファイルに登録します。ここで登録されたユーザが，辞書情報を作成，更新したり，辞書情報にアクセスしたりできます。また，各ユーザを，例えば，辞書の管理をするグループ，システム設計者のグループというように，プロジェクトや役割などでグルーピングします。このグループを，グループ登録ファイルに登録します。

SEWB+/REPOSITORYの初期設定
リポジトリを格納するデータベース名称，ドキュメントの格納ディレクトリなどを初期設定ユティリティを使用して設定します。

管理者パスワードの設定
環境構築ユティリティや各種コマンドなど，サーバに用意されている機能はシステム管理者だけが利用できます。このための，システム管理者用のパスワードを設定します。

辞書の準備

基本環境の設定を終えたあと，環境構築ユティリティを使用してプロジェクトに合わせた辞書の環境を準備します。詳細は，「3.1　辞書の準備」を参照してください。

辞書フォルダの作成
辞書フォルダを作成し，マルチ辞書を構成します。

辞書の環境設定
プロジェクトや開発体制に合わせて辞書をカスタマイズします。プログラミング言語，国語区分，タイプ，検索に使用するためのフィールド名，検査時に適用する検査項目，命名ルールなどを設定します。また，リポジトリブラウザを使ったデータ項目，業務ルール編集時の文字数制限を設定します。
なお，検査項目や命名ルールは，標準で用意されているもののほかに，独自の規則を記述したDLLを作成して登録することもできます。名称に使用する文字セットの制限など，プロジェクト独自の検査項目や命名ルールを定義できます。

タイプマッピングの設定
ODBC入力やERwin/ERXと連携したCSV入力を使って辞書登録をする際のタイプの変換規則を設定します。プロジェクトに合わせて，標準で用意されている変換規則をカスタマイズします。

標準提供の同一項目用業務ルールの登録
SEWB+/REPOSITORYでは，実際の業務に使用することを想定した同一項目用業務ルール（同一項目間転記）を提供しています。プロジェクトの必要に応じて，あらかじめ辞書に登録しておきます。

(3)　辞書登録

辞書の運用を始める前に，データ分析結果を辞書に登録します。リポジトリブラウザのデータ項目編集機能，業務ルール編集機能を使ってデータ項目，業務ルールを登録します。コマンドを使って一括登録することもできます。どちらの場合も，辞書情報が正しく定義されているか検査したり，継承や結合関係を定義したり，定義内容を変更したりするなどの作業や，登録結果の確認には，リポジトリブラウザを使用します。

(4)　辞書の管理・運用

アプリケーション開発で辞書の利用が開始されてからの管理・運用作業について説明します。

辞書情報のメンテナンス

辞書情報の追加，変更，削除
リポジトリブラウザのデータ項目編集・作成機能，結合項目の構成機能，業務ルール編集・作成機能などを使用して辞書情報をメンテナンスします。

辞書情報の検査
環境設定で設定した検査項目に従って，辞書情報の内容を検査します。

関連検索，変更波及の調査
辞書情報を更新する際などに，その変更波及を調査します。リポジトリブラウザの検索機能，関連ブラウザ機能などを使用して変更波及の範囲を確認します。関連ブラウザでツリー形式で表示される資源の関連図は，SEWB+で定義した情報の印刷を支援するツール「SEWB+/REPORT MANAGER」と連携することで，インパクトレポートとして印刷できます（インパクトレポートの印刷は，リポジトリブラウザの関連ブラウザから実行します）。

辞書情報の印刷，文書作成
SEWB+/REPORT MANAGERを使用して，データ項目または業務ルールの定義内容や一覧を印刷します（定義内容および一覧の印刷は，リポジトリブラウザから実行します）。
辞書情報をCSV形式ファイルに出力したあと，Microsoft ExcelやOFIS/POLなどの帳票出力に適したアプリケーションを使って印刷する方法もあります。また，このCSV形式ファイルを使って必要に応じて辞書情報を加工し，辞書の作成者とアプリケーションの開発者の間でやり取りするための文書を作成したりします。

辞書情報のセキュリティ

辞書フォルダ，データ項目または業務ルール単位にアクセス権を設定し，辞書情報を保全します。アクセス権の設定によって，辞書情報を作成・更新できるユーザ，辞書情報を参照してシステム開発に利用するユーザを分け，辞書の一貫性を守ります。

異なるサーバへの辞書の配布，複製

辞書を複数のサーバに分散して運用している場合，エクスポート・インポートユティリティを使用して，辞書情報のサーバ間の配布，複製をします。エクスポート・インポートは，対象の範囲を全体または増分情報のどちらかを選択できるため，効率良く作業できます。

定期的なバックアップ

辞書は，システム開発プロジェクト共通の重要な情報資源といえます。運用ルールを定めて，定期的に（例えば，業務終了後に毎日，一週間おきなどに）辞書情報を外部媒体に退避（バックアップ）することをお勧めします。予期しない障害が発生して辞書が破壊された場合でも，バックアップしておけば，その内容をリポジトリに回復（リストア）できます。バックアップおよびリストアは，Windows Serverのファイルシステムに用意されている機能を使用します。環境構築ユティリティを使用すれば，バックアップのためのコマンドファイルを生成できます。詳細は，マニュアル「SEWB+/REPOSITORY 運用ガイド」を参照してください。

(5)　次期開発への再利用，保守

システム開発の終了後，そのシステムの開発に利用した辞書を保守します。また，次期システムの開発に，継続して辞書を利用していきます。なお，辞書情報の見直しが必要な場合は，次期システム開発を始める前に（新システムの開発時と同様に），辞書を整備しておくことをお勧めします。

開発システム単位の管理
システム開発に利用した辞書を凍結用に用意した別の辞書フォルダにエクスポート・インポートしたり，外部媒体に辞書をエクスポートして保守に備えます。

システム保守（システムの拡張）への利用
次期システムの開発へ利用します。

2.　辞書の設計

この章では，システム開発の上流工程で辞書を設計していく手順を紹介し，手順に沿いながらデータ項目と業務ルールの設計方法について説明します。

＜この章の構成＞

2.1　設計手順

2.2　ドメインの分析

2.3　名称の標準化

2.4　データ項目の設計

2.5　レコード構造の設計

2.6　業務ルールの設計

2.7　辞書登録の確認

2.1　設計手順

辞書に登録するデータ項目および業務ルールは，システム開発の基盤となる情報です。アプリケーションを標準化して，システム開発や保守の効率を向上させるためには，アプリケーション開発に先駆けて，データ中心アプローチの考え方に基づいたデータ分析が必要です。ここでは，そのデータ分析の作業の中で，辞書の仕組みを生かしてデータ項目や業務ルールを効果的に利用するための，辞書の設計手順を説明します。

＜この節の構成＞

(1)　データ分析の中での辞書の設計手順

(2)　効果的なデータ分析をするには

(1)　データ分析の中での辞書の設計手順

データ中心アプローチでは，現行システムや，目標とする新システム，全体的または長期的なニーズを基にデータ分析をします。データ分析とは，データを共有資源として活用するために業務システムで使用するデータの要素や相互関係を分析し，その名称，構造，意味，表現形式や値の制限などを定義する作業をいいます。このデータ分析の過程で，システム開発で共有するデータ項目や業務ルールを設計し，辞書に登録していきます。

ここでは，データ分析の中で，どのような手順で辞書を設計すればよいのかについて説明します。辞書の設計手順と，システム開発の上流工程での位置づけを次の図に示します。

図2-1　辞書の設計手順

業務で使用するデータを調査します
業務分析によって求められた，分析対象とする現行システムと，新システムの要求仕様の内容を引き継ぎ，業務で使用するデータを調査します。ここでは，システム開発のすべての工程で使用するデータが対象になります。現行システムからは，既存の帳票，画面，データベース，ファイルなどからデータ項目を抽出し，そのデータの属性，性質や制約条件を詳細に調査します。このとき，あらかじめ収集しておいた運用マニュアルなどを参考資料とします。また，システムで新しく使用するデータについても同様に，データの属性や性質などについて詳細に検討します。

ドメインを分析します
1.の調査結果を基に，業務システムに使用するデータから，共通の値域（タイプ，けた数，意味など）を持つデータをグルーピングします。これが，ドメインとなります（例：「年月日」，「金額」など）。システム開発に効果的に使用できる辞書を設計するには，あらかじめ，このドメインを分析する作業が必要です。ドメインの考え方や，分析の進め方については，「2.2　ドメインの分析」を参照してください。

名称基準を決め，それに従って名称を標準化します
データ項目は，辞書の中で最も基本となる情報です。このデータ項目を効率良く利用するには，データ項目の名称によって各データを識別できる必要があります。このために，あらかじめ名称基準を定めておき，それに基づいて名称を決めるようにします。詳細は，「2.3　名称の標準化」を参照してください。

データモデルを作成します（データモデリング）
データモデリングとは，業務システムの静的なデータの構造を，全体像としてまとめることをいいます。データを正規化する作業も，このデータモデリングに含まれます。作成するデータモデルは，実体を表すエンティティとエンティティ属性，エンティティ間の関連であるリレーションシップで構成されます。
大規模システムのデータモデリングには，これを支援するツールを利用すると効率良く作業できます。データモデリングの進め方については，使用するツールのマニュアルを参照してください。ERwin/ERXを使用する場合には，作成したデータモデルから，エンティティやエンティティ属性の情報を，CSV形式ファイルを経由してデータ項目辞書に登録できます。

データ項目を設計してデータ項目辞書に登録します
ドメインの分析，名称の標準化およびデータモデリングの結果を基に，各データ項目の名称，意味，タイプ，けた数などを検討し，データ項目辞書に登録します。まず，2.で分析したドメインに相当するデータ項目をデータ項目辞書に登録します。そのあと，ドメインのデータ項目を継承して，下位のデータ項目をデータ項目辞書に登録します。詳細は，「2.4　データ項目の設計」を参照してください。

レコード構造を設計してデータ項目辞書に登録します
アプリケーション開発の準備として，サーバアプリケーション，およびクライアントとサーバのインタフェースに使用するレコードの構造やレポート出力に使用するレコードの構造をデータ項目辞書に用意します。このレコード構造には，データベースやファイルの設計結果，業務設計から求められたC/S（クライアントサーバ）システムのインタフェース仕様などを反映します。
SEWB+/CONSTRUCTION，およびEURでレコード構造をどのように利用するかを考慮しながら設計します。 レコードの構造は5.で登録したデータ項目を組み合わせて，登録します。詳細は，「2.5　レコード構造の設計」を参照してください。
なお，レコード構造は，SEWB+/RECORD DEFINERでも定義できます。SEWB+/RECORD DEFINERでは，データ項目辞書に登録されていないデータ項目（COBOLのFILLERなど）をレコードの構成要素として使用できます。

業務ルールを設計して業務ルール辞書に登録します
ドメイン分析や業務設計の結果を基に，各データ項目特有の処理を抽出して，業務ルール辞書に登録します。業務ルールは，SEWB+/CONSTRUCTIONで作成するアプリケーションにどのように利用するかを考慮しながら設計します。データ項目と同様に，まず，継承関係の上位のデータ項目（ドメインに相当するデータ項目）の業務ルールから登録し，それに基づいて下位のデータ項目の業務ルールを登録します。詳細は，「2.6　業務ルールの設計」を参照してください。

(2)　効果的なデータ分析をするには

データ分析の分析対象は，データ分析をする際の目的やプロジェクトの開発体制や制限によって，現行システムを主体とするか，現行システムに対するニーズとするか，またはその両方とするかが異なります。しかし，実際にデータ分析をするときには，現行システムや現行システムに対するニーズおよび目標を取り混ぜた分析が必要といえます。また，システムが大規模であったり，複雑なシステムを扱うときや，分析作業に多くの時間を費やせない場合など，ユーザのおかれるシステム開発の環境はさまざまです。

したがって，データ分析作業は，一律ではないと考えられます。データ分析を始める前に，自プロジェクトではどのような分析方法，手順を採用すれば開発の目的を達成できるか検討し，状況に応じた適切な手段でデータ分析を実施するようにしてください。

2.2　ドメインの分析

ドメインとは，共通の意味と属性を持つデータ要素の集合をいいます。例えば，業務で使用する年月日データ「入社年月日」，「異動年月日」，「従業員生年月日」の値をすべて和暦で表すとき，これらの共通要素をまとめ，ドメイン「和暦年月日」を求められます。SEWB+/REPOSITORYの辞書の仕組みを効果的にシステム開発に利用するには，辞書を設計する前に，このドメインを分析することが重要な作業になります。

業務で使用するデータ全体に対してドメインを分析し，整理しておくことで，辞書の設計作業の効率を向上できます。また，辞書に登録するデータ項目や業務ルールを標準化し，それぞれの品質を向上できます。

＜この節の構成＞

2.2.1　ドメインの分析とは

2.2.2　ドメインの値域と制約条件を基に，辞書を設計する

2.2.1　ドメインの分析とは

ドメインの分析とは，業務で使用するデータから，共通の値域と制約条件を抽出し，標準化することです。

＜この項の構成＞

(1)　値域，制約条件とは

(2)　ドメインを分析し，その値域と制約条件を整理する

(1)　値域，制約条件とは

ドメインを理解するために，まず値域と制約条件について解説します。

値域とは，データのタイプ，けた数，意味，構成，値の範囲などのことをいいます。

制約条件とは，データ項目を利用するに当たって守らなければならない制約をいいます。制約条件は，次の2種類に分類できます。

データの値が妥当であるかを判断する条件
例えば，「受注年月日」は，必ず企業の「営業日」でなければならないという業務の規則があるとき，受注年月日が営業日であるかどうかを検証する条件のことです。

データの値が導き出されるルール
そのデータが，ある別のデータから，計算，編集，形式変換などの処理を経て導き出されるルールのことです。例えば，「売り上げ金額」が，「単価×数量」で求められるものであれば，この計算式が「売り上げ金額」の導出ルールになります。

(2)　ドメインを分析し，その値域と制約条件を整理する

ドメインを分析し，その値域と制約条件を整理する手順を次に説明します。

ドメインを抽出する
ドメインを抽出するには，まず，業務に使用するデータを調査し，その中から共通の値域を持つデータをグルーピングします。値域が共通なデータは，その制約条件も共通であると考えられます。それぞれのグループに対して，共通の制約条件を洗い出します。このようにして，データ共通の値域と制約条件をまとめ，整理したものがドメインとなります。

必要に応じて，ドメインを階層化する
ドメインによってグルーピングされたデータのなかで，さらに共通の値域や制約条件を抽出できれば，ドメインを階層化し，下位ドメインとして整理しておきます。

ドメインに名称を付ける
それぞれのドメインには，業務の中で一意に識別できるよう，ユニークな名称を付けます。このドメインの名称は，データ項目の名称に反映します。詳細は「2.3　名称の標準化」を参照してください。

ドメインの抽出例を次に示します。

ドメイン名称
定義
データの例

コード
企業の主要な管理対象を識別するための文字列（値）で，必ず個々の値が示す対象が決められるデータ
顧客コード
製品コード
銀行コード

番号
企業の主要な管理対象を識別するための文字列（値）で，時々刻々と発生する出来事（取り引き）などを識別するデータ
社員番号
受注番号

区分
ある特定の条件を満たすかどうかを示すデータ
引当区分
割引区分

年月日
ある特定時点の年，月，日を表すデータ
営業年月日
発注年月日
登録年月日

金額
円やドルなどの通貨を表すデータ
売り上げ金額
割引金額

このようにして整理したドメインと，その値域，制約条件を基に，辞書のデータ項目と業務ルールを設計します。

2.2.2　ドメインの値域と制約条件を基に，辞書を設計する

ドメインの分析で求められた，ドメインの名称と値域は，継承関係の上位に位置づけるデータ項目としてデータ項目辞書に登録します。また，ドメインの制約条件は，ドメインのデータ項目に対応する業務ルールとして業務ルール辞書に登録します。

ドメインにまとめられた共通の値域と制約条件は，データ項目の「継承」という仕組みによって，ドメインにグルーピングされたデータ項目に引き継がれます。この継承の考え方を次の図に示します。

図2-2　ドメインの値域と制約条件の継承

この継承の仕組みを有効に利用するために，ドメインを分析して，その内容を確定する（値域や制約条件を確定する）ということは，重要な意味を持っています。

あらかじめドメインの共通の値域と制約条件を整理しておき，辞書の設計にドメインの内容を取り込めば，個々のデータ項目や業務ルールを設計するとき，そのデータ項目または業務ルールに固有の値域や制約条件だけを決定すればよいことになります。すでにドメインに整理されている値域や制約条件を重ねて決定する必要がなく，設計作業の効率を向上でき，標準化を促進できます。

また，ドメインの内容を変更しなければならないときでも継承の仕組みを利用すれば，その変更内容を自動的にデータ項目や業務ルールに展開できるため，作業の効率化を図れます。

2.3　名称の標準化

データ項目は，辞書およびシステムの中で最も基本となる情報です。このデータ項目を共用資源とするために，データ項目には，次のような要素が求められます。

区別できる→データ項目はすべてユニークな名称を持つ

安定している→組織の変更やシステムの変更の影響を受けない

わかりやすい→データ項目の名称を見れば，その意味がわかる

扱いやすい→使いたいデータ項目がすぐに探し出せる

この要素を兼ね備えたデータ項目を設計するには，あらかじめプロジェクトの名称基準を定め，それに基づいて適切なデータ項目の名称を付けることが大切です。データ項目の名称は，システム開発に携わる人およびシステムの利用者のだれもが，共通に内容や意味を理解し，使いこなせるものである必要があります。ここでは，お勧めする標準的なデータ項目の名称基準と，名称の標準化について説明します。

＜この節の構成＞

2.3.1　データ項目の名称基準

2.3.2　名称を標準化する

2.3.1　データ項目の名称基準

辞書に登録するデータ項目の名称は，「実体名+属性名+ドメイン名」の形式で構成することをお勧めします。これは，「ある対象を，ある特性に限定して，ある範囲（単位）で」表現した名称です。このため，対象となるデータ本来の姿を表す名称を付けられます。この名称基準は，意味や内容がわかりやすいだけでなく，データ項目を辞書に登録したあと，名称でソートしたり，絞り込んだりしやすいという特長があります。さらに，データ項目そのものの内容に着目しているため，システムや業務の変更の影響を受けにくい名称になります。

（例）　名称基準に従ったデータ項目の名称

実体名：商品

属性名：種別

ドメイン名：コード

データ項目の名称：商品種別コード

次に，データ項目の名称を構成する「実体名」，「属性名」および「ドメイン名」の意味を説明します。

実体名

業務およびシステムで管理する，人，物，場所または概念が実体です。この実体に名称を付けたものが，実体名となります。実体は，データ項目を抽出したあと，データモデリング（データの正規化）の過程で求められます。実体は，エンティティに相当します。

（例）

人：顧客，従業員

物：商品

場所：本店，営業所，事業所

概念：取引，営業，仕入れ，発注，受注

属性名

実体の特性（特徴や性質）を表すものです。この属性に名称を付けたものが，属性名となります。属性によって，実体の表す意味を限定できます。一つの実体に対し，複数の属性を持てます。属性も実体と同様に，データモデリング（データの正規化）の過程で求められます。

（例）

店別，月別，最大，最小，平均，合計

ドメイン名

ドメインとは，共通の意味と属性を持つデータ項目の集合のことです。辞書を設計するために，このドメインの分析が重要な作業であることは「2.2　ドメインの分析」で見てきました。データ項目が属すドメインの名称を，データ項目の末尾に付けます。データ項目に共通の値域や，制約条件がまとめられたドメインの名称を反映すれば，データ項目の内容を適切に判断できるようになります。

（例）

年月日，コード，番号，金額，数量

2.3.2　名称を標準化する

データ項目の名称の定義項目には，「データ項目名」，「標準名称」，「フリガナ」，「言語別(プログラミング言語別)の名前」があります。データ項目の設計，登録を始める前に，それぞれの定義項目についてプロジェクト独自の名称基準を定めておきましょう。特に，データ項目名および標準名称は，前述した標準的な名称基準に沿った名称にすることをお勧めします。

SEWB+/REPOSITORYでは，プロジェクトで定めた名称基準を命名ルール※として定義することで，データ項目に定義した名称が，その基準に合わせて付けられているかどうかを診断する機能を提供しています。詳細は，「2.7.1　定義内容を検査する」および「3.1.1(11)　命名ルールを定義する」を参照してください。

注※

命名ルールは，環境構築ユティリティを使用して定義します。データ項目の名称のほか，業務ルールの定義項目「業務ルール名」，「標準名称」および「フリガナ」についても診断できます。

2.4　データ項目の設計

データ項目は，アプリケーション開発に使用する情報の最も基本的な単位です。辞書の設計は，このデータ項目の設計から始めます。

＜この節の構成＞

2.4.1　データ項目に定義する情報

2.4.2　データ項目の継承

2.4.3　データ項目の結合

2.4.4　ドメインを登録する

2.4.5　ドメインにグルーピングされたデータ項目を登録する

2.4.6　データ項目を削除する

2.4.1　データ項目に定義する情報

データ項目にどのような情報を定義するかについて説明します。

＜この項の構成＞

(1)　データ項目の定義項目

(2)　名称

(3)　属性

(4)　付加情報

(5)　言語別詳細情報

(1)　データ項目の定義項目

データ項目の定義項目の一覧を次の表に示します。データ項目名や標準名称などに定義する文字数の上限はカスタマイズできます。なお，「データ項目名」は，必ず定義します。ほかの定義項目は，必要に応じて定義を省略できます。

表2-1　データ項目の定義項目

定義項目
文字数の上限
文字セット

標準値
設定範囲

名称
データ項目名
30
1～92
英数字，カナ文字，日本語文字※4

標準名称※1
46
1～92
英数字，カナ文字，日本語文字

フリガナ
30
1～92
英数字，カナ文字，日本語文字

属性
分類
－
－
（リストからの選択で定義）

けた数
9
固定
数字

小数部けた数
9
固定
数字

反復回数
5
固定
数字

付加情報
フィールド1～20
30
1～255
任意

コメント※1
6500
固定
任意

言語別
詳細情報※2
名前
46
1～92
英数字，カナ文字，日本語文字

タイプ
－
－
（リストからの選択で定義）

フリー定義
6500
固定
英数字，カナ文字，日本語文字

タイプ修飾情報※3
30
固定
英数字，カナ文字，日本語文字

取りうる値
6500
固定
英数字，カナ文字，日本語文字※5

初期値
160
固定
英数字，カナ文字，日本語文字

言語別フィールド
30
1～255
任意

（凡例）

固定：文字数の上限は固定されていることを示します。

注※1

4種類までの国語区分別に定義できます。

注※2

10種類までの言語区分別に定義できます。

注※3

言語区分「COBOL又はOOCOBOL」の編集文字列を定義します。

注※4

「：」および「｜」は使えません。また，文字列の途中に空白文字を含めてはいけません。

注※5

記述規則に従います。詳しくは「2.4.1(5)(d)　取りうる値」を参照してください。

(2)　名称

名称は，データ項目辞書で管理される個々のデータ項目を識別し，その意味を知るための定義情報です。名称の定義内容を基に，目的のデータ項目を検索したり，指定した条件でソートしたりするために利用できます。この情報を定義するリポジトリブラウザのダイアログ（［基本属性］タブ）を次の図に示します。

図2-3　データ項目を作成するダイアログ（［基本属性］タブ）

(a)　データ項目名

データ項目を識別するために付ける名称です。データ項目名は必ず定義します。

（例）

SHOHIN-CODE

(b)　データ項目種別

登録するデータ項目を結合項目にする場合には，データ項目種別に「結合項目」を選択します。さらに，レコードの構造を定義する結合項目の場合には「最上位結合項目」を指定します。結合項目，最上位結合項目については，「2.4.3　データ項目の結合」および「2.5　レコード構造の設計」を参照してください。

データ項目を結合項目にしない場合には「単項目」を選択します。

(c)　標準名称

データ項目の内容や意味をわかりやすくするために付ける，システム標準の名称です。4種類までの国語別に定義できます。

（例）

日本語の標準名称：商品コード

(d)　フリガナ

日本語読みの名称（フリガナ）を付けます。国語区分「英語」の場合は，フリガナを定義できません。

（例）

ショウヒンコード

注

データ項目を作成するダイアログの［基本属性］タブに表示される「親データ項目名」について説明します。定義対象としているデータ項目は，親データ項目名に表示されたデータ項目から，定義情報を直接，継承していることを示します。継承については，「2.4.2　データ項目の継承」を参照してください。

(3)　属性

属性は，そのデータ項目で構成されるファイルやデータベースを定義するための開発言語共通の定義情報です。この情報を定義するリポジトリブラウザのダイアログ（［ソース生成属性］タブ）を次の図に示します。

図2-4　データ項目を作成するダイアログ（［ソース生成属性］タブ）

(a)　分類

データ項目のデータの形式を，次に示す分類区分から選択します。

英数字文字列データ：英数字や記号（半角文字）で表す文字列のデータ

日本語文字列データ：日本語文字（全角文字）で表す文字列のデータ

整数データ：整数で表す数値のデータ

正整数データ：正の整数で表す数値のデータ

実数データ：実数で表す数値のデータ

時刻データ：時刻のデータ

日付データ：日付のデータ

分類なし：上記分類以外のデータまたは分類できないデータ

プログラムで使用する詳細なデータの形式は，言語別詳細情報のタイプに定義します。分類区分に応じて定義できる言語別のタイプも異なります。この対応関係は，環境構築ユティリティでカスタマイズできます。標準で設定されている分類とタイプの対応を，表2-2から表2-7に示します。

また，言語区分SQLのタイプをHiRDBとして使用する場合のカスタマイズ例を表2-8に示します。

表2-2　分類区分とタイプの対応（COBOL又はOOCOBOL）

分類区分
タイプ

英数字文字列データ
X 英数字項目，Z 数字編集項目，
フリー定義

日本語文字列データ
N 漢字項目，フリー定義

整数データ
9 符号なし外部10進項目，S 符号付き外部10進項目，
U 符号なし内部10進項目，P 符号付き内部10進項目，
BU 符号なし2進項目，B 符号付き2進項目，
E 外部浮動小数点項目，D 内部浮動小数点項目，
フリー定義

正整数データ
9 符号なし外部10進項目，S 符号付き外部10進項目，
U 符号なし内部10進項目，P 符号付き内部10進項目，
BU 符号なし2進項目，B 符号付き2進項目，
E 外部浮動小数点項目，D 内部浮動小数点項目，
フリー定義

実数データ
9 符号なし外部10進項目，S 符号付き外部10進項目，
U 符号なし内部10進項目，P 符号付き内部10進項目，
E 外部浮動小数点項目，D 内部浮動小数点項目，
フリー定義

時刻データ
X 英数字項目，フリー定義

日付データ
X 英数字項目，フリー定義

分類なし
X 英数字項目，Z 数字編集項目，
N 漢字項目，9 符号なし外部10進項目，
S 符号付き外部10進項目，U 符号なし内部10進項目，
P 符号付き内部10進項目，BU 符号なし2進項目，
B 符号付き2進項目，E 外部浮動小数点項目，
D 内部浮動小数点項目，1 内部ブール項目，
8 外部ブール項目，T アドレスデータ項目，
フリー定義

注

アンダーラインは，初期値を示します。

表2-3　分類区分とタイプの対応（C又はC++）

分類区分
タイプ

英数字文字列データ
char 文字型，char* 文字型（ポインタ），
フリー定義

日本語文字列データ
char 文字型，char* 文字型（ポインタ），
フリー定義

整数データ
short 符号付き短整数型，unsigned short 符号なし短整数型，
int 符号付き整数型，unsigned int 符号なし整数型，
long 符号付き長整数型，unsigned long 符号なし長整数型，
float 単精度浮動小数点型，double 倍精度浮動小数点型，
long double 拡張精度浮動小数点型，フリー定義

正整数データ
short 符号付き短整数型，unsigned short 符号なし短整数型，
int 符号付き整数型，unsigned int 符号なし整数型，
long 符号付き長整数型，unsigned long 符号なし長整数型，
float 単精度浮動小数点型，double 倍精度浮動小数点型，
long double 拡張精度浮動小数点型，フリー定義

実数データ
float 単精度浮動小数点型，double 倍精度浮動小数点型，
long double 拡張精度浮動小数点型，フリー定義

時刻データ
char 文字型，フリー定義

日付データ
char 文字型，フリー定義

分類なし
char 文字型，char* 文字型（ポインタ），
short 符号付き短整数型，unsigned short 符号なし短整数型，
int 符号付き整数型，unsigned int 符号なし整数型，
long 符号付き長整数型，unsigned long 符号なし長整数型，
float 単精度浮動小数点型，double 倍精度浮動小数点型，
long double 拡張精度浮動小数点型，フリー定義

注

アンダーラインは，初期値を示します。

表2-4　分類区分とタイプの対応（SQL）

分類区分
タイプ

英数字文字列データ
CHAR 固定長文字列，VARCHAR2 可変長文字列，
LONG 可変長長文字列，フリー定義

日本語文字列データ
CHAR 固定長文字列，VARCHAR2 可変長文字列，
LONG 可変長長文字列，フリー定義

整数データ
NUMBER 固定小数点数，NUMBERf 浮動小数点数，
フリー定義

正整数データ
NUMBER 固定小数点数，NUMBERf 浮動小数点数，
フリー定義

実数データ
NUMBER 固定小数点数，NUMBERf 浮動小数点数，
フリー定義

時刻データ
フリー定義

日付データ
DATE 日付，フリー定義

分類なし
CHAR 固定長文字列，VARCHAR2 可変長文字列，
LONG 可変長長文字列，NUMBER 固定小数点数，
NUMBERf 浮動小数点数，DATE 日付，
フリー定義

注

アンダーラインは，初期値を示します。

表2-5　分類区分とタイプの対応（帳票定義）

分類区分
タイプ

英数字文字列データ
C 文字データ，M 画像データ，
フリー定義

日本語文字列データ
C 文字データ，M 画像データ，
フリー定義

整数データ
I 数値データ，B 集計対象外数値データ，
SP 特殊編集レベルデータ，フリー定義

正整数データ
I 数値データ，B 集計対象外数値データ，
SP 特殊編集レベルデータ，フリー定義

実数データ
I 数値データ，B 集計対象外数値データ，
フリー定義

時刻データ
C 文字データ，フリー定義

日付データ
CY 年次データ，MO 月次データ，
DA 日次データ，HS 日付・時刻データ，
C 文字データ，フリー定義

分類なし
C 文字データ，I 数値データ，
B 集計対象外数値データ，CY 年次データ，
MO 月次データ，DA 日次データ，
HS 日付・時刻データ，M 画像データ，
SP 特殊編集レベルデータ，フリー定義

注

アンダーラインは，初期値を示します。

表2-6　分類区分とタイプの対応（Java）

分類区分
タイプ

英数字文字列データ
byte バイト型，フリー定義

日本語文字列データ
char 文字型，フリー定義

整数データ
byte バイト型，short 符号付き短整数型，
int 符号付き整数型，long 符号付き長整数型，
フリー定義

正整数データ
byte バイト型，short 符号付き短整数型，
int 符号付き整数型，long 符号付き長整数型，
フリー定義

実数データ
float 単精度浮動小数点型，double 倍精度浮動小数点型，
フリー定義

時刻データ
フリー定義

日付データ
フリー定義

分類なし
byte バイト型，short 符号付き短整数型，
int 符号付き整数型，long 符号付き長整数型，
float 単精度浮動小数点型，double 倍精度浮動小数点型，
char 文字型，boolean 論理型，
フリー定義

注

アンダーラインは，初期値を示します。

表2-7　分類区分とタイプの対応のカスタマイズ例（言語区分SQLのタイプをHiRDBとして使用する場合）

分類区分
タイプ

英数字文字列データ
CHAR 固定長文字列，VARCHAR 可変長文字列，
MCHAR 固定長混在文字列，MVARCHAR 可変長混在文字列，
フリー定義

日本語文字列データ
NCHAR 固定長各国文字列，NVARCHAR 可変長各国文字列，
MCHAR 固定長混在文字列，MVARCHAR 可変長混在文字列，
フリー定義

整数データ
SMALLINT 短整数，INT 整数，
DEC 固定小数点数，SMALLFLT 単精度浮動小数点数，
FLOAT 倍精度浮動小数点数，フリー定義

正整数データ
SMALLINT 短整数，INT 整数，
DEC 固定小数点数，SMALLFLT 単精度浮動小数点数，
FLOAT 倍精度浮動小数点数，フリー定義

実数データ
DEC 固定小数点数，SMALLFLT 単精度浮動小数点数，
FLOAT 倍精度浮動小数点数，フリー定義

時刻データ
TIME 時刻，フリー定義

日付データ
DATE 日付，フリー定義

分類なし
CHAR 固定長文字列，VARCHAR 可変長文字列，
NCHAR 固定長各国文字列，NVARCHAR 可変長各国文字列，
MCHAR 固定長混在文字列，MVARCHAR 可変長混在文字列，
SMALLINT 短整数，INT 整数，
DEC 固定小数点数，SMALLFLT 単精度浮動小数点数，
FLOAT 倍精度浮動小数点数，TIME 時刻，
DATE 日付，フリー定義

注1

アンダーラインは，初期値を示します。

注2

言語区分SQLのタイプをHiRDBとして使用する場合は，上表の例のように環境構築ユティリティでカスタマイズすることをお勧めします。また，言語区分SQLのタイプをHiRDBとして使用する場合は，標準に設定されているタイプの組み合わせを変更する必要があります。タイプの組み合わせの変更については「3.1.1(8)　タイプの組み合わせを変更する」を参照してください。

(b)　けた数

データのけた数（文字列データの場合は文字数）を定義します。分類区分「分類なし」を選択した場合は，けた数を定義しなくてもかまいません。

けた数の範囲※は，言語区分や言語別のタイプによって異なります。

標準に設定されているけた数の範囲を，表2-9から表2-14に示します。なお，けた数の範囲は必要に応じ，環境構築ユティリティを使ってカスタマイズすることもできます。

注※

検査機能でチェックされるけた数の範囲を指します。

表2-8　タイプに対応するけた数（COBOL又はOOCOBOL）

タイプ | けた数範囲
X 英数字項目 | 1～16,777,215
Z 数字編集項目 | 1～18
N 漢字項目 | 1～16,383
9 符号なし外部10進項目 | 1～18
S 符号付き外部10進項目 | 1～18
U 符号なし内部10進項目 | 1～18
P 符号付き内部10進項目 | 1～18
BU 符号なし2進項目 | 1～18
B 符号付き2進項目 | 1～18
E 外部浮動小数点項目 | 1～15
D 内部浮動小数点項目 | 1～15
1 内部ブール項目 | 1～2,034
8 外部ブール項目 | 1～2,034
T アドレスデータ項目 | （チェック対象外）

表2-9　タイプに対応するけた数（C又はC++）

タイプ | けた数範囲
char 文字型 | 1～999,999,999※1
char＊ 文字型（ポインタ） | 1～999,999,999※1
short 符号付き短整数型 | 1～4
unsigned short 符号なし短整数型 | 1～4
int 符号付き整数型 | 1～9※2
unsigned int 符号なし整数型 | 1～9※2
long 符号付き長整数型 | 1～9
unsigned long 符号なし長整数型 | 1～9
float 単精度浮動小数点型 | 1～6
double 倍精度浮動小数点型 | 1～15
long double 拡張精度浮動小数点型 | 1～33※3

注※1

SEWB+/REPOSITORYで定めた制限値を示しています。けた数の制限は実行するシステムによって異なるため，その制限に合わせてカスタマイズすることをお勧めします。

注※2

32ビット表現の場合を示します。

注※3

128ビット表現の場合を示します。

表2-10　タイプに対応するけた数（SQL）

タイプ | けた数範囲
CHAR 固定長文字列 | 1～255※1
VARCHAR2 可変長文字列 | 1～2,000
LONG 可変長長文字列 | 1～99,999,999※2
NUMBER 固定小数点数 | 1～38
NUMBERf 浮動小数点数 | 1～38
DATE 日付 | （チェック対象外）
VARCHAR 可変長文字列 | 1～32,000
NCHAR 固定長各国文字列 | 1～15,000
NVARCHAR 可変長各国文字列 | 1～16,000
MCHAR 固定長混在文字列 | 1～15,000
MVARCHAR 可変長混在文字列 | 1～16,000
SMALLINT 短整数 | 1～4
INT 整数 | 1～9
DEC 固定小数点数 | 1～29
SMALLFLT 単精度浮動小数点数 | 1～6
FLOAT 倍精度浮動小数点数 | 1～15
TIME 時刻 | （チェック対象外）

注※1

言語区分SQLのタイプをHiRDBとして使用する場合は，けた数の範囲を1～30,000に変更しておくことをお勧めします。

注※2

SEWB+/REPOSITORYで定めた制限値を示しています。けた数の制限値は実行するシステムによって異なるため，その制限に合わせてカスタマイズすることをお勧めします。

表2-11　タイプに対応するけた数（帳票定義）

タイプ | けた数範囲
C 文字データ | 1～4,096
I 数値データ | 1～4,096
B 集計対象外数値データ | 1～4,096
CY 年次データ | 4～4
MO 月次データ | 6～6
DA 日次データ | 8～8
HS 日付・時刻データ | 4～19
M 画像データ | 1～256
SP 特殊編集レベルデータ | 1～2

表2-12　タイプに対応するけた数（Java）

タイプ | けた数範囲
byte バイト型 | 1～3
char 文字型 | 1～999,999,999※
short 符号付き短整数型 | 1～4
int 符号付き整数型 | 1～9※
long 符号付き長整数型 | 1～19
float 単精度浮動小数点型 | 1～6
double 倍精度浮動小数点型 | 1～15
boolean 論理型 | （チェック対象外）

注※

SEWB+/REPOSITORYで定めた制限値を示しています。けた数の制限値は実行するシステムによって異なるため，その制限に合わせてカスタマイズすることをお勧めします。

(c)　小数部けた数

分類区分「実数データ」を選択した場合に，小数点以下のけた数を定義します。小数部けた数には，定義項目「けた数」の定義内容より小さい値を定義します。

(d)　反復回数

データが反復構造を持つ場合に，反復回数を定義します。反復回数を指定したデータ項目は，C言語やIDLでは配列を意味し，反復回数に指定した値が要素数になります。

(4)　付加情報

付加情報は，自由に使用できる付属的な定義情報です。この付加情報を基に，目的のデータ項目を検索することもできます。この情報は，データ項目を作成するダイアログの［基本属性］タブに定義します。

(a)　フィールド1～20

プロジェクト独自の情報を定義するなどして，自由に使用できるフィールドです。環境構築ユティリティを使用し，任意のフィールド名称を付けられます。また，リポジトリブラウザのダイアログに表示されるフィールドの数もカスタマイズできます。

（例）

環境構築ユティリティを使って，フィールド1の名称に「管理部署」を設定する

リポジトリブラウザのデータ項目を作成するダイアログでフィールド「管理部署」に「製品企画部」を定義する

このように定義すると，リポジトリブラウザで「管理部署」に定義された名称をキーにしてデータ項目を検索できます。

(b)　コメント

データ項目の使用目的，内容，注意事項などを記述します。4種類までの国語別に定義できます。

（例）

日本語のコメント：各商品に付ける識別用コード

(5)　言語別詳細情報

言語別詳細情報は，データ項目の定義内容を，実際のアプリケーションに使用するソースコード（COBOLソースプログラムやIDLなど）に反映するための定義情報です。10種類までの言語区分別に，それぞれの言語で規定された規則に従って定義します。この情報は，データ項目を作成するダイアログの［ソース生成属性］タブに定義します。

(a)　名前

データの名前を言語別に定義します。例えば，「COBOL又はOOCOBOL」ではデータ項目名を，「C又はC++」では変数名を記述します。言語別の名前に記述する文字数の制限や文字の種類は，使用する言語の規則に従ってください。

「COBOL又はOOCOBOL」，「C又はC++」の名前の記述には
記述する文字数は，SEWB+/CONSTRUCTIONで言語別の名前がソースコードに生成されるときに付加される接頭語または接尾語についても留意する必要があります。これらが付加された結果，文字数の制限を超えてしまわないように，あらかじめテンプレート作成者と言語別の名前に記述する文字数について検討することをお勧めします。

（例）

COBOL又はOOCOBOL：SYOHIN-CODE

C又はC++：syohin-code

(b)　タイプ

データの形式を表すタイプを，言語別に定義します。タイプは，英字の識別子と日本語名で表現され，設定されているレコード生成キーワードに従ってソースコードに対応づけられます。例えば，「COBOL又はOOCOBOL」のタイプ「X 英数字項目」は，「PICTURE X( )」に対応づけられています。なお，レコード生成キーワードは，環境構築ユティリティで編集できます。詳しくは「3.1.1(9)　タイプに対するレコード生成キーワードを編集する」を参照してください。

分類区分に応じて，定義できる言語別のタイプが異なります。分類区分とタイプの対応の詳細は，「2.4.1(3)(a)　分類」を参照してください。

タイプ「フリー定義」を選択すると，各言語の文法に従ってデータの形式を直接，記述できます。フリー定義の言語別の記述方法を次の表に示します。

表2-13　タイプ「フリー定義」の記述方法

言語区分
記述内容
記述例

COBOL又は
OOCOBOL
PICTURE句およびUSAGE句の定義内容

PICTURE 9(5) PACKED-DECIMAL
PICTURE ¥¥¥¥,¥¥9

C又はC++
基本型，ユーザ定義型，typedef名など

BOOLEAN
int*

SQL
SQLデータ型

LARGE DECIMAL
INTEGER

帳票定義
EURのデータ種別記号※

SP
F

Java
ユーザ定義型，typedef名など

int*

注※

フリー定義に記述するデータ種別記号については，「表5-3 データ種別記号とデータ種別」を参照してください。

(c)　タイプ修飾情報（編集文字列/シーケンス）

タイプ修飾情報は，言語区分「COBOL又はOOCOBOL」の編集文字列の定義項目の総称です。この項目を定義できるのは，言語区分が「COBOL又はOOCOBOL」の場合です。

リポジトリブラウザでは，言語区分に応じて「編集文字列」が定義項目の名称として表示されます。

COBOL又はOOCOBOLでの編集文字列の定義
タイプに「Z 数字編集項目」または「E 外部浮動小数点項目」を定義した場合に，COBOLの文法に従って編集文字列を記述します。

（例）

ZZZ,ZZZ,ZZ9

(d)　取りうる値

扱うデータが限られるデータ項目で，それぞれの値に名前を付けて管理したい場合に定義する項目です。「取りうる値」では，識別のために付ける名前とデータ項目に格納する値の組み合わせを，言語別に定義します。

データ項目を作成するダイアログで［取りうる値］ボタンから表示されるダイアログを次の図に示します。

図2-5　取りうる値を定義するダイアログ

取りうる値は言語別に一覧で管理します。COBOLでの条件名や，C言語やIDLの列挙定数（列挙型の識別子）のように，値に対応する名前で指定します。この名前を「記号」と呼びます。明示的に記号に値を割り当てる場合はC言語の列挙子のように半角の「=」を使って値を記述します。複数の場合は半角のコンマ（,）で区切ります。

例えば，「実行結果」というデータ項目が「成功」と「失敗」のどちらかの状態だけを扱う場合，取りうる値の記号には，成功の「OK」と失敗の「ERROR」を指定します。さらに，OKにだけ値「1」を割り当てておくという指定（OK＝1，ERROR）ができます。

なお，この項目を定義できるのは，言語区分が「SQL」，「帳票定義」以外で，タイプが「フリー定義」以外の場合です。

注

記号には全角および半角の空白と「,」，「=」は使えません。また，値に半角の「,」，「=」，「¥」を使う場合は，その直前に「¥」を付加する必要があります。

(e)　初期値

データ項目に初期値を定義する場合，各言語の文法に従って言語別に記述します。初期値の言語別の記述方法を次に示します。なお，「COBOL又はOOCOBOL」での引用符の記述には，アポストロフィ（'）を使うことをお勧めします。

なお，この項目を定義できるのは，言語区分が「SQL」，「帳票定義」以外の場合です。

COBOL又はOOCOBOLでは，VALUE句に定義する文字列または表意定数を記述します。

（例）

'顧客名' ALL '*' ZERO

C又はC++，Javaでは，初期化文字列を記述します。

（例）

100 "SHIKOKU"

(f)　言語別フィールド

自由に使用できる言語別のフィールドです。

2.4.2　データ項目の継承

データ分析で求められたドメインと，ドメインによってグルーピングされたデータ項目は，継承関係で結び付けてデータ項目辞書に登録します。継承とは，データ項目間で共通の性質を持つデータ項目から，その定義情報を複数のデータ項目に引き継ぐことです。この継承の仕組みを利用して，ドメインを継承関係の上位のデータ項目に登録し，ドメインによってグルーピングされたデータ項目を，その定義情報を引き継ぐ下位のデータ項目として登録します。

このように，ドメインの分析結果に基づいてデータ項目を登録すれば，データ項目を効率良く体系的に登録および管理できるとともに，定義情報の標準化を図れます。

ここでは，データ項目を設計および登録するための前提知識として，継承の考え方について解説します。

＜この項の構成＞

(1)　ドメインと，ドメインにグルーピングされたデータ項目の登録

(2)　ドメインから下位のデータ項目への定義情報の継承

(3)　定義情報を継承する定義項目の指定

(1)　ドメインと，ドメインにグルーピングされたデータ項目の登録

ドメインの分析結果をデータ項目辞書に登録するには，まず，最も共通的な値域を持つドメインを，継承関係の最上位のデータ項目として登録します。ドメインとなるデータ項目の登録を終えたあと，そのデータ項目から定義情報を継承して，ドメインにグルーピングされたデータ項目または下位のドメインを登録します。このようにして，データ項目同士に継承関係を定義したとき，データ項目の間には，関連種別「継承」の関連が自動的に付けられます。

(2)　ドメインから下位のデータ項目への定義情報の継承

ドメインのデータ項目の定義情報は，継承関係の下位のデータ項目に引き継がれます。したがって，ドメインにグルーピングされたデータ項目は，各データ項目固有の定義情報だけを定義し，登録すればよいことになります。

継承関係を定義しておけば，変更波及の管理も容易になります。継承関係を定義したあと，上位のデータ項目の内容を変更すると，下位のデータ項目に継承された定義情報にも，その変更が自動的に反映されます。ただし，下位のデータ項目固有の定義情報には，変更は反映されません。

定義情報の継承と変更波及の例を次の図に示します。

図2-6　定義情報の継承と変更波及の例

「データ項目B-1」の定義内容には，「データ項目A」の変更がそのまま引き継がれます。これに対して，「データ項目C-1」では，固有のけた数「6」を定義しているため，「データ項目A」のけた数を変更しても，定義内容は変更されません。

(3)　定義情報を継承する定義項目の指定

それぞれの定義項目に対して，データ項目同士の継承関係を定義したときに，ドメイン（上位のデータ項目）の情報を必ず継承するか，リポジトリブラウザで任意に継承を指定するか，または継承を禁止するかを，環境構築ユティリティであらかじめ設定しておけます。これを「継承モード」といい，標準では任意に継承を指定することを示す「任意継承」が設定されています。

2.4.3　データ項目の結合

データ分析で求められたデータの構造は，複数のデータ項目同士を結合関係で結び付けて，データ項目辞書に登録します。結合とは，複数のデータ項目を順序づけて連結することです。この結合の仕組みを利用すれば，COBOLでの集団項目と基本項目の関係，C言語での構造体とそれを構成する変数の関係，アプリケーションに使用するレコードとレコードを構成するデータ項目の関係などの，データの構造をデータ項目辞書に登録できます。

ここでは，データ項目を設計および登録するための前提知識として，結合の考え方を解説します。

＜この項の構成＞

(1)　結合項目と構成項目

(2)　結合項目の定義項目

(3)　結合関係の継承

(1)　結合項目と構成項目

データ項目同士の関係を結合の関係でとらえる場合，複数のデータ項目をまとめるデータ項目を，結合項目といいます。結合項目は，COBOLでの集団項目，C言語での構造体に相当します。また，結合項目の構成要素となるデータ項目を，構成項目といいます。例えば，データ項目「年月日」を複数のデータ項目「年」，「月」，「日」で構成する場合，「年月日」が結合項目，「年」，「月」，「日」が構成項目となります。

結合関係を定義するには，まず，基本的な要素となるデータ項目（構成項目）を設計および登録します。結合項目を登録するには，すでに登録されているデータ項目を順番に組み合わせて結合項目の構成を定義します。このようにして，データ項目同士に結合関係を定義したとき，データ項目の間には，関連種別「結合」の関連が自動的に付けられます。

結合関係は階層化できます。結合項目の構成の例を次の図に示します。

図2-7　結合項目の構成の例

この例では，「商品発注レコード」を最上位結合項目として定義しています。最上位結合項目とは，アプリケーションで使用するレコード構造が定義された結合項目を意味します。レコード構造の定義は，データ項目の設計および登録を終えたあと，データ項目辞書に登録します。詳細は，「2.5　レコード構造の設計」を参照してください。

(2)　結合項目の定義項目

結合項目は，一つのデータ項目として扱えますが，定義できる項目が限られます。結合項目の定義項目を次の表に示します。

表2-14　結合項目の定義項目

定義項目 | 定義区分
名称 | データ項目名※1 | ○
標準名称 | △
フリガナ | △
属性 | 分類※2 | －
けた数 | －
小数部けた数 | －
反復回数 | △
付加情報 | フィールド1～20 | △
コメント | △
言語別 | 名前 | △
詳細情報 | タイプ | －
フリー定義 | －
取りうる値 | －
初期値 | －
言語別フィールド | △

（凡例）

○：必ず定義しなければならない定義項目

△：定義を省略できる定義項目

－：定義できない項目

注※1

データ項目名（結合項目の名称）は必ず定義してください。

注※2

「結合データ」が自動的に定義されます。

(3)　結合関係の継承

結合項目を，継承関係の上位のデータ項目として位置づけて，結合関係を継承できます。結合項目を継承するデータ項目は，その親となる結合項目と同じ構造（構成項目の並びや数が同じ）の結合項目になります。親となる結合項目の構成項目が継承関係の下位のデータ項目を持つ場合には，同じ位置の構成項目を，その下位のデータ項目の中から選択できます。この例を次の図に示します。例えば，「受注年月日」の年を定義するための構成項目を，「年」，「営業年」または「受注年」から選択できます。

図2-8　結合関係の継承の例

注

結合項目ではないデータ項目から，その定義情報を継承する結合項目を定義することはできません。

注※

構成項目を選択できる範囲です。

2.4.4　ドメインを登録する

初めに，「西暦年月日」，「和暦年月日」，「コード」，「金額」などに代表されるような，最も共通的な要素を持つドメインを，データ項目辞書に登録します。

＜この項の構成＞

(1)　ドメインを登録する辞書フォルダを準備する

(2)　ドメインのデータ項目を登録する

(3)　結合項目を登録する

(1)　ドメインを登録する辞書フォルダを準備する

まず，データ分析結果に従って，辞書フォルダをどのように分類し，辞書フォルダにどのようなドメインを登録するかを検討します。例えば，複数のシステム間で共通なドメインは，システムで共用する「システム共通辞書フォルダ」に登録し，システムに特有なドメインは，そのシステム専用の「Aシステム専用辞書フォルダ」に登録するようにします。

サーバの環境構築ユティリティを使い，データ項目辞書および業務ルール辞書を管理する辞書フォルダを準備します。詳細は，「3.1.2　辞書フォルダを作成する」を参照してください。

(2)　ドメインのデータ項目を登録する

ドメインを登録する辞書フォルダを決定したあと，その辞書フォルダが管理するデータ項目辞書に，ドメインのデータ項目を整備していきます。次に，リポジトリブラウザを使ったデータ項目の定義について説明します。

リポジトリブラウザウィンドウで，データ項目を登録する辞書フォルダのデータ項目辞書を選びます。

［リポジトリ］－［新規作成］－［単項目］を選びます。
データ項目を作成するダイアログが表示されます。ドメインの名称をデータ項目名に定義し，継承関係の下位のデータ項目に引き継ぐための共通の定義情報を定義します。

(3)　結合項目を登録する

データ項目が結合項目の場合は，構成項目となるデータ項目をあらかじめ登録しておきます。次に，結合項目ブラウザおよびリポジトリブラウザを使った，結合項目の定義について説明します。

結合項目ブラウザを使った結合項目の定義手順

結合項目ブラウザウィンドウで，結合項目を登録する辞書フォルダを選びます。

［リポジトリ］－［新規作成］－［結合項目］を選びます。
データ項目を作成するダイアログが表示されます。

データ項目名を定義したあと，［結合項目構成］タブを表示します。
「結合項目構成」欄で，すでに登録されたデータ項目を選択して結合項目の構成を編集します。

なお，結合項目の構成だけを編集したい場合は，ドラッグ&ドロップまたは［構成項目］メニューを使って操作してください。

リポジトリブラウザを使った結合項目の定義手順

リポジトリブラウザウィンドウで，結合項目を登録する辞書フォルダのデータ項目辞書を選びます。

［リポジトリ］－［新規作成］－［結合項目］を選びます。
データ項目を作成するダイアログが表示されます。

データ項目名を定義したあと，［結合項目構成］タブを表示します。
「結合項目構成」欄で，すでに登録されたデータ項目を選択して結合項目の構成を編集します。

なお，結合項目の構成だけを編集したい場合は，目的の結合項目を選択して［リポジトリ］－［結合項目の構成］を選んでください。

2.4.5　ドメインにグルーピングされたデータ項目を登録する

ドメインのデータ項目をデータ項目辞書に登録したあと，ドメインの定義情報を継承して下位のデータ項目を登録します。次にリポジトリブラウザを使った下位のデータ項目の定義について説明します。

リポジトリブラウザウィンドウで，定義情報を継承したいドメインのデータ項目を選びます。

ドメインのデータ項目が単項目か結合項目かによって，［リポジトリ］－［新規作成］－［単項］を選ぶか，または［リポジトリ］－［新規作成］－［結合項目］を選びます。
データ項目を作成するダイアログが表示されます。このダイアログには，1.で選んだデータ項目の定義情報が継承されて表示されています。そのデータ項目に固有の情報だけを定義してください。

2.4.6　データ項目を削除する

データ項目を設計および登録する作業では，必要に応じて，いったん登録したデータ項目をリポジトリブラウザを使って削除しなければならない場合があります。

結合項目の構成としたデータ項目や業務ルールの適用データ項目としたデータ項目でも削除できます。それぞれの削除の例を次に示します。

結合項目の構成としたデータ項目を削除する
結合項目の構成としたデータ項目を削除すると，結合項目との関連が削除されデータ項目自体も削除されます。

業務ルールの適用データとしたデータ項目を削除する
業務ルールの適用項目としたデータ項目を削除すると，業務ルールとの関連が削除されデータ項目自体も削除されます。

データ項目同士に継承関係または結合関係を定義しているデータ項目を削除した場合，相互の関連も自動的に削除および変更されます。次に，データ項目の削除に伴った関連の変更規則について説明します。

最上位階層のデータ項目を削除する
削除対象のデータ項目から子の位置にあったデータ項目との継承の関連および結合の関連も同時に削除されます。そして，子の位置にあったデータ項目が自動的に最上位階層に繰り上げられます。

最下位階層のデータ項目を削除する
削除対象のデータ項目から親の位置にあったデータ項目との継承の関連および結合項目であれば結合の関連も同時に削除されます。

中間層のデータ項目を削除する
削除対象のデータ項目から親の位置にあったデータ項目との継承の関連と，子の位置にあったデータ項目との継承の関連も削除されます。結合項目であれば結合の関連も削除されます。さらに，削除したデータ項目に関連していた双方のデータ項目同士を直接結ぶ関連が付けられます。

2.5　レコード構造の設計

データ項目を整えたあと，RDB（Relational DataBase）やファイルのレコード構造や，通信のインタフェーステーブルなどアプリケーション開発に使用するレコードの構造を，最上位結合項目としてデータ項目辞書に登録，またはレコード定義ファイルを作成します。このマニュアルでは，これを「レコード定義」と呼びます。レコード定義は，次のアプリケーション開発の場面で利用されます。

SEWB+/CONSTRUCTIONでのデータ定義

EURでのレポート設計

なお，アプリケーション開発で使用するツールによって，どちらのレコード定義を使用するかどうかを選択します。

使用するツール
最上位結合項目
（辞書のレコード定義）
レコード定義ファイル
（SEWB+/RECORD DEFINERのレコード定義）

SEWB+/CONSTRUCTION
○※

EUR
○
×

（凡例）

○：使用できる

×：使用できない

注※

SEWB+/RECORD DEFINERでは，最上位結合項目（レコードの構成情報を含む）を，簡単にレコード定義に取り込めます。また，データ項目辞書に登録されていない項目（COBOLのFILLERなど）についてもレコード定義の構成要素として使用できます。このため，SEWB+/CONSTRUCTIONでのアプリケーション開発の場合には，SEWB+/RECORD DEFINERのレコード定義を使用することを推奨します。

＜この節の構成＞

2.5.1　辞書のレコード定義（最上位結合項目）とプログラムの関係

2.5.2　辞書のレコード定義（最上位結合項目）を登録する

2.5.1　辞書のレコード定義（最上位結合項目）とプログラムの関係

SEWB+/CONSTRUCTIONを使ったアプリケーション開発の準備として，サーバアプリケーション，およびクライアントとサーバのインタフェースに使用するレコードの構造をデータ項目辞書またはレコード定義ファイルに用意します。なお，レコード定義ファイルは，SEWB+/RECORD DEFINERで作成します。詳細は，マニュアル「SEWB+/RECORD DEFINER 操作ガイド」を参照してください。

ここでは，レコードの構造をデータ項目辞書に用意する場合について説明します。

最初に，適切なレコードの構造をデータ項目辞書に用意するために，あらかじめ，辞書のレコード定義（最上位結合項目）とプログラムの関係を理解しておきましょう。辞書のレコード定義（最上位結合項目）がアプリケーション開発に利用され，プログラムに反映されるまでの流れを次の図に示します。

図2-9　辞書のレコード定義（最上位結合項目）がプログラムに反映されるまで

＜この項の構成＞

(1)　レコード定義（最上位結合項目）の登録

(2)　SEWB+/CONSTRUCTIONのデータ定義との関係

(3)　ソースコードの生成

(1)　レコード定義（最上位結合項目）の登録

データベースやファイル設計および業務設計から求められたC/S（クライアントサーバ）システムのインタフェース仕様などの情報を基に，辞書に登録するレコード構造を設計します。このレコード構造に従って，すでに辞書に登録してあるデータ項目を組み合わせて結合項目を構成します。この結合項目は，SEWB+/CONSTRUCTION，およびEURでレコードとして扱われるために「最上位結合項目」として定義します。

SEWB+/CONSTRUCTIONでは，データ定義を使って，実際にアプリケーションで使用するデータを定義するときに，辞書に用意されているレコード定義（最上位結合項目）を参照します。例えば，RDBの定義では，RDBの表の構造としてレコード定義（最上位結合項目）が参照され，データが定義されます。このため，辞書の作成者は，アプリケーション開発に使用するデータの種類を考慮しながら，辞書に用意するレコード構造を決めてください。

SEWB+/CONSTRUCTIONで定義できるデータ種別を次に示します。

ファイル

RDB

DAM（Direct Access Method）

TAM（Table Access Method）

RPC（Remote Procedure Call）

メッセージ

ユーザジャーナル

メッセージログ

共通作業領域

データ定義や，データ種別の詳細は，マニュアル「SEWB+/CONSTRUCTION アプリケーション開発ガイド」を参照してください。

(2)　SEWB+/CONSTRUCTIONのデータ定義との関係

実際にアプリケーションで使用するファイルやRDBの情報を，SEWB+/CONSTRUCTIONのデータ定義機能で定義します。図2-9のデータ定義の例では，辞書に登録された「商品レコード」を，実際に使用する「商品マスタファイル」のレコードとして定義しています。データ定義情報をリポジトリにチェックインすると，レコード定義（最上位結合項目）とデータ定義のドキュメントとの間に，自動的に関連（関連種別「辞書参照」）が付けられます。

(3)　ソースコードの生成

辞書のレコード定義情報は，データ定義と関連づけられたあと，プログラム定義機能を経て，ソースプログラムが生成されるときに，レコードの記述として展開されます。また，クライアントとサーバ間のインタフェーステーブルを作成したい場合には，データ定義機能から，個別のCOPYメンバ（COBOLの場合）またはヘッダファイル（C言語の場合）を生成することもできます。生成時には，SEWB+/REPOSITORYのデータ項目の定義情報とともにレコード生成キーワードが参照されます。参照されるデータ項目の定義情報を次の表に示します。

表2-15　プログラム生成時に参照されるデータ項目の定義情報

定義項目
COBOL又はOOCOBOL
C又はC++

名称
データ項目名
×※
×※

標準名称
×
×

フリガナ
×
×

属性
分類
×
○

けた数
○
○

小数部けた数
○
○

反復回数
○
○

付加情報
フィールド1～20
×
×

コメント
×
×

言語別
詳細情報
名前
○
○

タイプ
○
○

タイプ修飾情報（編集文字列）
○
－

取りうる値
○
○

初期値
△
×

言語別フィールド
×
×

（凡例）

○：生成時に参照される

△：生成するかどうかを指定できる

×：生成時に参照されない

－：定義できない

注※

言語別の名前を定義していない場合には，データ項目名が参照されます。

レコード生成キーワードとは
レコード生成キーワードとは，言語別のタイプごとに，データ項目の定義情報をどのようにソースコードに生成するかが指定されたものです。レコード生成キーワードの内容は，SEWB+/REPOSITORYの環境構築ユティリティで，独自のアプリケーション開発の運用に合わせて編集できます。詳細は「3.1.1(9)　タイプに対するレコード生成キーワードを編集する」を参照してください。

2.5.2　辞書のレコード定義（最上位結合項目）を登録する

ここでは，辞書のレコード定義（最上位結合項目）を登録するする場合について説明します。

＜この項の構成＞

(1)　リポジトリブラウザを使ったレコード定義（最上位結合項目）の登録

(2)　レポート出力に使用するレコード定義（最上位結合項目）を登録するには

(3)　レコード定義（最上位結合項目）を変更する

(1)　リポジトリブラウザを使ったレコード定義（最上位結合項目）の登録

辞書のレコード定義を構成するデータ項目と結合項目は，すでに辞書に登録されていることが前提になります。リポジトリブラウザを使ったレコード定義（最上位結合項目の定義）の登録手順は，結合項目を登録する場合と同様です。

レコード定義（最上位結合項目）を登録するには，データ項目を作成するダイアログの［基本属性］タブで，データ項目種別から「結合項目」を選択し，さらに「最上位結合項目」を指定してください。また，結合項目を構成する構成項目の順番は，レコード構造の設計で決めたデータ項目の並び順と一致させてください。

また，結合項目ブラウザを起動してレコード定義（最上位結合項目）を登録することもできます。結合項目ブラウザを起動するには，リポジトリブラウザの［リポジトリ］－［結合項目ブラウザ］を選びます。

(2)　レポート出力に使用するレコード定義（最上位結合項目）を登録するには

レポート出力アプリケーションに使用するデータファイル用のレコード定義（最上位結合項目）には，アプリケーションからのデータの出力形態を考慮することをお勧めします。

COBOLでレポート用のデータファイル（CSV形式ファイルまたはFIX形式ファイル）を出力するアプリケーションを作成するには，表計算プログラム入出力機能またはテキストファイル機能を使用します※。これらはCOBOL2002で提供している機能です。この機能では，集団項目に従属する基本項目のデータを出力します。このため，レコード定義（最上位結合項目）も，この出力形態に合わせて，1階層のデータ項目の結合関係で構成するようにしてください。次の例のように，単独のデータ項目をフラットに並べた構造にします。

注※

FIX形式のデータファイルおよびテキストファイル機能を使用するのは，帳票設計ツールにEURを使用している場合だけです。

(3)　レコード定義（最上位結合項目）を変更する

基本的には，アプリケーション開発を始める前にレコード定義（最上位結合項目）を用意しておきますが，アプリケーション開発中でもレコード定義（最上位結合項目）を変更しなければならない場合が考えられます。このようなとき，SEWB+/CONSTRUCTIONのデータ定義から，レコード定義（最上位結合項目）を構成するデータ項目を追加したり変更したりできます。しかし，SEWB+/CONSTRUCTIONからは，新しいレコード定義（最上位結合項目）を作成することはできません。新しいレコード定義（最上位結合項目）が必要な場合には，リポジトリブラウザを使って辞書の作成者が登録してください。

2.6　業務ルールの設計

業務ルールとは，データ項目に着目して，データ項目特有の処理を部品化したものです。データ項目辞書を整備したあと，この業務ルールを格納する業務ルール辞書を整備します。

業務ルールには，データ項目と関連づけて設計，登録する通常の業務ルールと，同じデータ項目を使った処理を記述するための同一項目用業務ルールがあります。通常，業務ルールはデータ項目の継承の関連を考慮して設計，登録します。ただし，同一項目用業務ルールの設計と登録では，継承の関連を考慮する必要はありません。

なお，SEWB+/REPOSITORYでは，一般の業務に使用することを想定した同一項目用業務ルール（同一項目間転記）を提供しています。辞書への登録方法については「3.1.3　同一項目用業務ルールを辞書に準備する」を，内容については「付録E　標準提供の同一項目用業務ルール」を参照してください。

＜この節の構成＞

2.6.1　業務ルールに定義する情報

2.6.2　業務ルールとプログラムの関係

2.6.3　ルールスクリプトの記述

2.6.4　適用条件の指定

2.6.5　システムで共用する業務ルールを登録する

2.6.6　特定業務で扱う業務ルールを登録する

2.6.7　同一項目用業務ルールを登録する

2.6.1　業務ルールに定義する情報

業務ルールにどのような情報を定義するかについて説明します。

＜この項の構成＞

(1)　業務ルールの定義項目

(2)　属性

(3)　業務ルールに適用するデータ項目との関係

(4)　ルールスクリプト

(1)　業務ルールの定義項目

業務ルールの定義項目の一覧を次の表に示します。業務ルール名や標準名称に定義する文字数の上限は，カスタマイズできます。なお，業務ルール名と適用条件は，必ず定義します。ほかの定義項目は，必要に応じて定義を省略できます。

表2-16　業務ルールの定義項目

定義項目 | 文字数の上限 | 文字セット
標準値 | 設定範囲
属性 | 業務ルール名 | 63 | 1～92 | 英数字，カナ文字，日本語文字※3
標準名称※1 | 63 | 1～92 | 英数字，カナ文字，日本語文字
フリガナ | 30 | 1～92 | 英数字，カナ文字，日本語文字
コメント※1 | 6500 | 固定 | 任意
フィールド1～3 | 30 | 1～255 | 任意
関連 | キーワード | 93 | 固定 | 英数字，カナ文字，日本語文字
適用条件 | － | － | ※4
ルールスクリプト※2 | 6500 | 固定 | 英数字，カナ文字，日本語文字

（凡例）

固定：文字数の上限は固定されていることを示します。

注

文字数は半角文字の単位です。

注※1

4種類までの国語区分別に定義できます。

注※2

10種類までの言語区分別に定義できます。

注※3

「：」および「｜」は使えません。また，文字列の途中に空白文字を含めてはいけません。

注※4

「入力」，「出力」または「－」から選択します。

(2)　属性

業務ルールを識別したり，検索したりするための情報を，次に説明する定義項目に定義します。この情報を定義するリポジトリブラウザのダイアログ（［属性］タブ）を次の図に示します。

図2-10　業務ルールを作成するダイアログ（［属性］タブ）

(a)　業務ルール名

業務ルール辞書で管理される業務ルールを識別するために付ける名称です。業務ルール名は必ず定義します。

(b)　標準名称

業務ルールの処理内容をわかりやすくするために付ける，システム標準の名称です。4種類までの国語別に定義できます。

(c)　フリガナ

日本語読みの名称（フリガナ）を定義します。国語区分「英語」の場合は，フリガナを定義できません。

(d)　コメント

処理の概要，ソースプログラムへの展開条件，注意事項などを記述します。SEWB+/CONSTRUCTIONから適切に業務ルールを選択するためのポイントとなる情報であるため，必ず定義することをお勧めします。コメントは，4種類までの国語別に定義できます。リポジトリブラウザでは，このコメントを基に目的の業務ルールを検索することもできます。

(e)　フィールド1～3

プロジェクト独自の情報を定義するなどして，自由に使用できるフィールドです。環境構築ユティリティを使用し，任意のフィールド名称を付けられます。

(3)　業務ルールに適用するデータ項目との関係

業務ルールは，通常，データ項目と必ず関連づけて登録します。このほか，同一データ項目間の処理専用の業務ルールである「同一項目用業務ルール」があります。この2種類の業務ルールは，適用するデータ項目との関係や定義のしかたが異なります。ここでは，この2種類を分けて説明します。

(a)　適用するデータ項目と業務ルールの関連

業務ルールに使用するデータ項目や，その適用形態などを，次に説明する定義項目に定義します。この情報を定義するリポジトリブラウザのダイアログ（［データ項目］タブ）を次の図に示します。

図2-11　業務ルールを作成するダイアログ（［データ項目］タブ）

(i) データ項目の適用形態

データ項目の適用形態を「専用にする」または「共用する」から選択します。

専用にする

特定のデータ項目（単独のデータ項目または複数のデータ項目の組み合わせ）に対応する業務ルールであることを示します。

共用する

複数のデータ項目に共通に対応する業務ルールであることを示します。

データ項目の適用形態の考え方
データ項目と業務ルールの関係を明確にし，データ項目の体系に基づいて効率良く業務ルールを登録，管理するために，通常は「専用にする」を選択することをお勧めします。
業務ルールに使用するデータ項目がドメイン，つまり継承関係の上位のデータ項目であるとき，業務ルールとの対応もドメインにグルーピングされた下位のデータ項目に継承されます。したがって，複数のデータ項目で業務ルールを共用したい場合には， 継承の仕組みを利用して共用するようにしてください。

複数の辞書フォルダに登録した同一のドメインに対応する業務ルールを登録したい場合には，「共用する」を選択します。

(ii) データ項目

業務ルールに使用するデータ項目を定義します。

データ項目の適用形態に「専用にする」を選んだ場合には，単独のデータ項目または組み合わせるデータ項目を定義します。「共用する」を選んだ場合は，その業務ルールを共通に使用するデータ項目を定義します。業務ルールを登録したとき，ここに定義したデータ項目と業務ルールの間に，関連種別「ルール」の関連が自動的に付けられます。

(iii) キーワード

業務ルールに使用するデータ項目の仮の名称です。業務ルールに使用するデータ項目を定義すると，記号「@」にデータ項目名を加えた名称が初期値として表示されます。必要に応じてキーワードを変更してください。ここで定義したキーワードは，ルールスクリプトを記述する際に必ず使用してください。

データ項目の適用形態に「専用にする」を選んだ場合には，組み合わせるデータ項目それぞれに対してキーワードを定義します。「共用する」を選んだ場合は，すべてのデータ項目に対して共通のキーワードを定義します。

(iv) 適用条件

データ項目がどのような条件（処理の入力または出力）にあるときに，その業務ルールをアプリケーションに適用させるのか，という情報を指定します。一般に，業務ルールの処理の入力となるデータ項目には適用条件に「入力」を，業務ルールの処理結果を出力するデータ項目には，適用条件に「出力」を指定します。どちらにも役割を限定しない場合や，役割を明確にしたくない場合には，指定しなくてもかまいません（指定しない場合は「－」となります）。

データ項目の適用形態に「専用にする」を選んだ場合には，組み合わせるデータ項目それぞれに対して適用条件を指定します。「共用する」を選んだ場合は，すべてのデータ項目に対して共通の適用条件を指定します。

適用条件は，SEWB+/CONSTRUCTIONからアプリケーションに適用する業務ルールを抽出する場合にキーとなる情報です。したがって，SEWB+/CONSTRUCTIONからの利用も考慮した指定が必要となります。指定の考え方については，「2.6.4　適用条件の指定」を参照してください。

(b)　同一項目用業務ルール

同一項目用業務ルールは，二つの同じデータ項目間の処理を記述するための業務ルールです。主に，COBOLでMOVE文，C言語でstrcpy関数で記述できるような，入力側のデータ項目から出力側のデータ項目へのデータの転記処理に使用します。同一項目用業務ルールとして作成した業務ルールは，リポジトリ内のすべてのデータ項目で共用できます。同一項目用業務ルールでは，データ項目との関連は付けません。しかし，業務ルールを利用するSEWB+/CONSTRUCTIONからは，アプリケーションに使用するデータ項目と同一項目用業務ルールの間に関連が付けられていると見なされ，通常の業務ルールと同様に扱えます。この情報を定義する場合のリポジトリブラウザのダイアログ（［データ項目］タブ）を次の図に示します。

図2-12　同一項目用業務ルールを作成するダイアログ（［データ項目］タブ）

(i) データ項目の適用形態

同一項目用業務ルールでは，データ項目の適用形態は，必ず「専用にする」になります。この業務ルールに仮想的に関連づけるデータ項目を「すべての単項目」または「すべての項目」から選択します。

すべての単項目

リポジトリ内の結合項目ではないデータ項目（単項目）に対して仮想的な関連を付け，適用できるようにします。

すべての項目

リポジトリ内の結合項目を含めたすべてのデータ項目に対して仮想的な関連を付け，適用できるようにします。

「すべての単項目」，「すべての項目」の選択の考え方
適用するデータ項目の範囲で考えます。どちらの場合も，データ項目の継承関係を考慮する必要はありません。
COBOLでの基本項目同士の転記処理，C言語での構造体を構成する変数同士の転記処理だけを適用したい場合は，「すべての単項目」を選択します。この場合には，次に示すような仮想的な関連が付けられたものと見なされます。

また，結合項目や構成項目に関係なく，すべてのデータ項目を適用範囲にしたい場合，つまり，COBOLでの集団項目同士の転記処理，C言語での構造体同士の転記処理を適用範囲に含めたい場合には，「すべての項目」を選択します。この場合には，次に示すような仮想的な関連が付けられたものと見なされます。

(ii) データ項目

組み合わせるデータ項目を定義します。組み合わせるデータ項目は，必ず「すべての単項目」同士または「すべての項目」同士である必要があります。

(iii) キーワード

キーワードの考え方は，通常の業務ルールを作成する場合と同様です。同一項目用業務ルールでは，組み合わせる各データ項目にキーワードを付けます。キーワードは，例えば，転記処理用の業務ルールの場合，転記元と転記先のデータ項目をそれぞれ識別できるように，重複しない名称を付けてください。

(iv) 適用条件

適用条件の考え方は，通常の業務ルールを作成する場合と同様です。同一項目用業務ルールでは，一般に，入力側のデータ項目に「入力」を，出力側データ項目に「出力」を指定します。

(4)　ルールスクリプト

ルールスクリプトには，ソースプログラムに展開する業務ルールの処理を，アプリケーション開発に使用するプログラミング言語別にコーディングします。この情報を定義するリポジトリブラウザのダイアログ（［ルールスクリプト］タブ）を次の図に示します。

図2-13　業務ルールを作成するダイアログ（［ルールスクリプト］タブ）

ルールスクリプトは10種類までの言語区分別に定義できます。記述方法の詳細は，「2.6.3　ルールスクリプトの記述」を参照してください。

2.6.2　業務ルールとプログラムの関係

SEWB+/CONSTRUCTIONを使ったアプリケーション開発の準備として，データ項目それぞれに特有の処理を抽出し，業務ルールとして辞書に登録します。業務ルールを効果的にアプリケーション開発に利用してもらうために，あらかじめ，辞書の業務ルールとプログラムの関係を理解しておきましょう。辞書の業務ルールがアプリケーション開発に利用され，プログラムに反映されるまでの流れを次の図に示します。

図2-14　業務ルールがプログラムに反映されるまで

SEWB+/CONSTRUCTIONを使って作成するアプリケーションで業務ルールをどのように利用するのかは，テンプレート作成者がテンプレートに記述します。このため，SEWB+/CONSTRUCTIONから効果的に利用できる業務ルールを設計し，業務ルール辞書に登録するには，テンプレート作成者と辞書の作成者がコミュニケーションをとりながら作業することが大切です。業務ルールの設計やテンプレートの作成を始める前に，プロジェクト独自の基準を決定してドキュメントにまとめ，これに基づいて作業することをお勧めします。基準の決め方については，「2.6.2(1)　業務ルールの基準を決める」を参照してください。

テンプレートとは
業務ルールとの関係を理解するために，テンプレートについて少し説明しましょう。テンプレートは，プログラムのひな形のような役割を持っています。テンプレートには，例えば，検索や更新，帳票出力など，業務システムのアプリケーションの構造がパターン化されて記述されています。アプリケーションにどんな処理をさせるか，それにはどんなデータ定義が必要かなどのプログラムの処理および構成が書かれます。テンプレートは，通常，業務システム全体を把握する専任者（テンプレート作成者）によって作成されます。
業務ルールをSEWB+/CONSTRUCTIONから利用する場合には，テンプレートに，生成されるソースプログラムでルールスクリプトの展開位置を指示する文（これを@@rule文といいます）と，業務ルールの抽出条件（@@rule文のWITH USAGE句の指定）が書かれます。プログラム定義では，この指定に従って辞書から抽出された業務ルールの一覧が表示されます。
詳細は，マニュアル「SEWB+/CONSTRUCTION アプリケーション開発ガイド」を参照してください。

＜この項の構成＞

(1)　業務ルールの基準を決める

(2)　業務ルールの設計，登録

(3)　SEWB+/CONSTRUCTIONからの業務ルールの利用

(1)　業務ルールの基準を決める

業務ルールの設計およびテンプレートの作成に当たり，あらかじめ次の2点についてプロジェクト独自の基準を決定します。

どのような処理を業務ルールにするか

業務ルールをアプリケーションにどのように適用させるのか

この結果をドキュメントにまとめ，これに基づいて，業務ルールを設計し，テンプレートを作成することをお勧めします。このほか，ルールスクリプトの記述についてもあらかじめ統一が必要な事項があります。詳細は，「2.6.3　ルールスクリプトの記述」を参照してください。

(a)　どのような処理を業務ルールにするか

まず，データ分析で抽出された各データ項目の制約条件や，業務設計から求められた業務の規則，制度などを基に，どのような処理を業務ルールとして辞書に登録するかを検討します。このとき，テンプレート作成者の，アプリケーションを作成する立場から，どのような処理を業務ルールとして用意してほしいか，という意見も重要になります。

データ項目を中心に，データ項目に関するどのような処理を業務ルールにすればよいのかを決定します。業務ルールとする処理の例を次に示します。

(b)　業務ルールをアプリケーションにどのように適用させるか

業務ルールの適用条件と，テンプレートの@@rule文の抽出条件の指定基準を決めます。

業務ルールの適用条件とは，アプリケーションに業務ルールを適用する条件を指定するものです。辞書の作成者は，「データ項目がどのような条件（処理の入力なのか，出力なのか）にあるときに，この業務ルールをアプリケーションに適用させるのか」という観点で指定します。

SEWB+/CONSTRUCTIONから業務ルールを使用する場合，この適用条件が指定されていることが前提になります。テンプレート作成者は，テンプレートの@@rule文の抽出条件に，「データ定義に含まれるデータ項目が，ある条件（アプリケーションの入力または出力）にあるとき，条件に一致する業務ルールを抽出する」ということを指定します。

このため，業務ルールをSEWB+/CONSTRUCTIONから適切に利用するためには，辞書の作成者およびテンプレート作成者それぞれが，統一した基準に従って適用条件や抽出条件を扱う必要があります。

この基準を決定するまでの手順を次に示します。

業務ルールを機能（処理内容）別に分類する

分類ごとに，アプリケーション中でデータ項目がどのような条件にあるときに，業務ルールを適用させるのかを検討する

検討した適用のしかたに従って，業務ルールおよびテンプレートの両面から，指定基準を決定する

その分類の業務ルールを作成するときの，データ項目の適用条件「入力」，「出力」および「－（指定しない）」の指定方法

その分類の業務ルールをアプリケーションに適用するときの，テンプレートに記述する@@rule文の抽出条件（WITH USAGE句）の指定方法

1.～3.の過程では，必要に応じて分類の詳細化や統合を行います。実際に業務ルールを設計，登録するときには，その業務ルールが含まれる分類の基準に従って適用条件を指定してください。

(2)　業務ルールの設計，登録

業務ルールについてのプロジェクトの基準に従って，業務ルールを設計，登録します。データ項目の登録の手順と同様に，まず，ドメインの業務ルールを登録し，そのあとにドメインにグルーピングされた下位のデータ項目の業務ルールを登録していきます。また，必要に応じて同一項目用業務ルールを登録します。

なお，通常の業務ルールは必ずデータ項目と関連づけて登録します。したがって，業務ルール辞書を整備するには，使用するデータ項目，それらの継承関係，結合関係が整えられていることが前提となります。

(3)　SEWB+/CONSTRUCTIONからの業務ルールの利用

次に，業務ルールがSEWB+/CONSTRUCTIONから利用される流れを説明します。

業務ルールを使う仕組みの詳細は，マニュアル「SEWB+/CONSTRUCTION アプリケーション開発ガイド」を参照してください。

(a)　テンプレートの記述

テンプレート作成者によって，業務ルールをアプリケーションにどのように利用するかが，テンプレートに記述されます。

(b)　データ定義

データ定義では，アプリケーションで使用するファイル，データベース，およびクライアントとサーバ間の通信のインタフェースが定義されます。データ定義では，レコード定義が参照されます。

(c)　プログラム定義

プログラム定義では，プログラマが使用するテンプレートやデータ定義を選び，それらに定義されている情報を基に，ソースプログラム生成に必要な情報を定義していきます。

プログラマは，まず，作成するアプリケーションに使用するデータ定義を指定します。データ定義の使用は，テンプレートの@@interface文で宣言されています。

選択したテンプレートに@@rule文が書いてある場合には，1.で指定したデータ定義のレコード定義と@@rule文のWITH USAGE句に指定した抽出条件に従って，アプリケーションに適用できる業務ルールの候補が抽出され，一覧に表示されます。プログラマは，この候補の中から，ソースプログラムに展開させたい業務ルールを選択します。このとき，プログラマは，業務ルール名とコメントの情報を手がかりにして業務ルールを選択します。したがって，辞書の作成者が業務ルールを登録するときには，プログラマに対しても，わかりやすく検索しやすい業務ルール名，コメントを定義するようにしましょう。

なお，プログラム定義情報をリポジトリにチェックインすると，選択した業務ルールとプログラム定義のドキュメントの間に，自動的に関連（関連種別「辞書参照」）が付けられます。

(d)　ソースプログラムの生成

プログラム定義からソースプログラムを生成すると，プログラム定義で選ばれた業務ルールのルールスクリプトがソースプログラムの中に展開されます。

2.6.3　ルールスクリプトの記述

ルールスクリプトは，アプリケーション開発に使用するプログラミング言語（COBOLやC言語など）の文法に従って記述します。これに加えて， ソースプログラムへの展開位置を指定する文や，業務ルールやデータ項目の情報を取り出せる予約キーワードなど，ルールスクリプトを記述するための独自の文法が用意されています。さらに，SEWB+/CONSTRUCTIONのテンプレート記述言語をルールスクリプトの記述に使用することもできます。

業務ルールの内容に応じた書き方については「2.6.5　システムで共用する業務ルールを登録する」および「2.6.6　特定業務で扱う業務ルールを登録する」を参照してください。

＜この項の構成＞

(1)　キーワードでデータ項目の名称を記述する

(2)　記述形式

(3)　記述方法

(4)　作業領域を記述する

(5)　ルールスクリプトを分割して展開する

(6)　作業領域のデータ項目名の重複を回避する

(7)　作業領域を1回だけ展開する

(8)　データ項目の定義情報を取り出す

(9)　チェック処理を記述する場合には

(10)　予約キーワードの留意事項

(1)　キーワードでデータ項目の名称を記述する

業務ルールで使用するデータ項目名は，必ずキーワードで記述します。キーワードは，SEWB+/CONSTRUCTIONでソースプログラムが生成されるときに，データ項目に定義されている言語別の名前に置換されます。

注

なお，言語別の名前を定義していない場合には，キーワードはデータ項目名に置換されます。また，ソースプログラムに生成されるとき，テンプレートに記述した@@rule文の指定に従って，言語別の名前に接頭語または接尾語が付加される場合があります。@@rule文の詳細は，マニュアル「SEWB+/CONSTRUCTION アプリケーション開発ガイド」を参照してください。

(2)　記述形式

COBOLでルールスクリプトを記述するときの規則について説明します。SEWB+/CONSTRUCTIONで作成するアプリケーションのコーディング形式に固定形式（正書法）を採用している場合でも，ルールスクリプト中に一連番号（正書法1～6カラム目）を記述する必要はありません。7カラム目の標識領域から記述してください。一連番号は，SEWB+/CONSTRUCTIONでソースプログラムを生成したときに自動的に付加されます。

(3)　記述方法

ルールスクリプトの記述には，ルールスクリプト独自の文法とプログラミング言語で記述する方法と，これにテンプレート記述言語を併用して記述する方法の2とおりがあります。

前者の記述方法は，データ項目と業務ルールが一対一に対応する業務ルール，またはデータ項目の属性や性質がそのまま下位のデータ項目に継承するドメインの業務ルールの記述に適しています。

これに対して，後者のテンプレート記述言語の展開制御文（可変記号に値を代入する@@set文や，可変記号の値によって条件判定する@@if文など）を併用する方法は，異なる複数のドメインやデータ項目に対応させる業務ルールの記述に適しています。汎用性が高い業務ルールを作成できるため，業務ルールの再利用性を向上できます。ただし，この場合は，辞書を設計する知識に加えて，テンプレートを作成する知識が必要になります。また，業務ルールとテンプレートの関係も複雑になります。

どちらの方法でルールスクリプトを記述すればよいかは，プロジェクトの状況や，どれだけ業務ルールに汎用性を持たせるかなどによって異なります。テンプレート作成者と十分検討した上で，最適な記述方法を採用するようにしてください。

(4)　作業領域を記述する

ルールスクリプトには，手続きだけではなく，処理内容に応じてデータの作業領域（データ項目の内部構造を分割または統合するための領域，処理に使う一時領域，外部サブルーチンとのインタフェース領域など）を記述できます。作業領域の記述については，「2.6.3(5)　ルールスクリプトを分割して展開する」，「2.6.3(6)　作業領域のデータ項目名の重複を回避する」および「2.6.3(7)　作業領域を1回だけ展開する」を参考にしてください。

(5)　ルールスクリプトを分割して展開する

ルールスクリプトは通常，SEWB+/CONSTRUCTIONのテンプレートの@@rule文で，業務ルールが挿入指示された位置にソースコードが展開されます。しかし，@@section文を利用すれば，ルールスクリプト中のコードの一部分を，指定した別の位置に展開できます。例えば，COBOLで記述する場合には，ルールスクリプト中の作業領域を，手続きとは別の位置（WORKING-STORAGE SECTIONやLINKAGE SECTIONなど）へ展開する必要があります。このようなときに「@@section文」を使用します。

なお，分割展開の必要がないときには@@section文を記述しなくてもかまいません。ルールスクリプト中に@@section文がない場合，テンプレートの@@rule文でその業務ルールが引き当てられた位置に展開されます。

(a)　@@section文

形式

@@section　{MAIN | コード名}

文

注

{　}内のどちらかを選んで記述します。

規則

@@sectionに続く文には，テンプレート記述言語以外の任意のテキストを記述できます。

次のどちらかの方法でソースプログラムへの展開先を指定します。
MAIN： SEWB+/CONSTRUCTIONのテンプレートの@@rule文で，その業務ルールが挿入指示された位置に展開されます。
コード名： 29文字以内の文字列を指定します。テンプレート中の，コード名の先頭に@を付加した可変記号が指定された@@merge文の位置に展開されます。この関係については「2.6.3(5)(b)　テンプレートに記述する@@merge文との関係」を参照してください。

@@section文の指定は，次の@@section文が同じルールスクリプト上に記述されるまで有効になります。

@@section文のコード名と一致するものが@@merge文の可変記号に指定されていない場合には，展開されません。

(b)　テンプレートに記述する@@merge文との関係

@@section文で@@rule文以外の場所に展開先を指定されたルールスクリプトは，テンプレートの@@merge文の位置に展開されます。この関係を次の例で見てみましょう。

ルールスクリプトの作業領域「W-事業所コード」は，同一のコード名を持つ可変記号「@WORK」が指定された@@merge文の位置に展開されています。

このように，適切に分割展開するには，ルールスクリプトの「@@section コード名」とテンプレートの「@@merge文 可変記号」のコード名が一致している必要があります。したがって，辞書の作成者はテンプレート作成者の協力を得て，ルールスクリプトとテンプレートで，どのように分割展開し，どのようなコード名を使うかをあらかじめ決めておく必要があります。

@@merge文の詳細は，マニュアル「SEWB+/CONSTRUCTION アプリケーション開発ガイド」を参照してください。

(6)　作業領域のデータ項目名の重複を回避する

作業領域を記述するときに予約キーワード「@rulecount」を使用すれば，ソースプログラム中に同じルールスクリプトが複数個展開されても，データ項目名の重複を回避できます。@rulecountは，ソースプログラムの生成時に，その業務ルールが展開された回数と置換されます。

(a)　@rulecount

作業領域のデータ項目名に記述します。回数は，通し番号（4けたの整数）で生成されます。

@rulecountを使った作業領域の展開例を次に示します。

(7)　作業領域を1回だけ展開する

ルールスクリプトにテンプレート記述言語の展開制御文を使用すれば，@@section文と同様の分割展開ができます。さらに，ソースプログラム中に同じルールスクリプトが複数個展開されるときに，作業領域を1回だけ展開するように記述できます。ただし，この記述では，テンプレートに，最初の業務ルールの展開かどうかを判断するための可変記号を定義する必要があります。

この例では，展開制御文の一つである@@put文を使用して分割展開しています。ソースプログラム中に最初に業務ルールが展開されたとき，@@put文で指定された作業領域が，テンプレート上の同じ可変記号「@WORK」が指定された@@merge文の位置に展開されます。同時に，可変記号@RULE_FLAG［時刻編集］に文字列「Y」がセットされます。以降にこの業務ルールが展開されても，@@if文の判定によって作業領域の展開が抑止されます。なお，ルールスクリプトに記述されている@@if文，@@put文，@@set文は，すべてテンプレート記述言語の展開制御文です。詳細は，マニュアル「SEWB+/CONSTRUCTION アプリケーション開発ガイド」を参照してください。

(8)　データ項目の定義情報を取り出す

データ項目に定義されているけた数，タイプ，反復回数または修飾情報付データ項目名を，それぞれに対応した予約キーワードで取り出せます。取得した値を比較条件に利用したり，処理に渡したりすることで，汎用性の高い業務ルールを作成できます。例えば，同じドメインを継承するデータ項目であっても，けた数，タイプなどが異なる場合があります。このようなとき，定義情報が異なる部分を予約キーワードを使って記述すれば，ドメインに関連する共通の業務ルールを作成できます。

(a)　@len

データ項目に定義されているけた数を取り出します。

形式

@len(キーワード)

規則

キーワードに対応するデータ項目が結合項目の場合，またはけた数が定義されていない場合には，取得されません。

ルールスクリプトを記述している言語が「C又はC++」で，分類に日本語文字列データを定義したデータ項目のけた数では，けた数の2倍の値が取得されます。

（例）

キーワード「@コード」に対応するデータ項目のけた数を取り出し，外部サブルーチンに引き渡すインタフェース領域にセットします。

(b)　@type

データ項目に定義されているタイプを取り出します。

形式

@type(キーワード)

規則

キーワードに対応するデータ項目が結合項目の場合は，取得されません。

@typeで取得される値とタイプの対応を次に示します。@typeで取得される値は，SEWB+/CONSTRUCTIONのテンプレート@@lang文のFOR_REPOSITORY句に指定された言語区分に対応した値となります。
また，追加したユーザ定義のタイプで取得される@typeの値は，そのタイプの英字識別子となります。例えば，「B 符号付き2進項目」の場合は「B」が取得されます。

表2-17　タイプと@typeの値の対応（COBOL又はOOCOBOL）

タイプ | @typeの値
X 英数字項目 | X
Z 数字編集項目 | Z
N 漢字項目 | N
9 符号なし外部10進項目 | 9
S 符号付き外部10進項目 | S
U 符号なし内部10進項目 | U
P 符号付き内部10進項目 | P
BU 符号なし2進項目 | BU
B 符号付き2進項目 | B
E 外部浮動小数点項目 | E
D 内部浮動小数点項目 | D
1 内部ブール項目 | 1
8 外部ブール項目 | 8
T アドレスデータ項目 | T
フリー定義 | フリー定義の内容

表2-18　タイプと@typeの値の対応（C又はC++）

タイプ | @typeの値
char 文字型 | char
char* 文字型（ポインタ） | char*
short 符号付き短整数型 | short
unsigned short 符号なし短整数型 | unsigned short
int 符号付き整数型 | int
unsigned int 符号なし整数型 | unsigned int
long 符号付き長整数型 | long
unsigned long 符号なし長整数型 | unsigned long
float 単精度浮動小数点型 | float
double 倍精度浮動小数点型 | double
long double 拡張精度浮動小数点型 | long double
フリー定義 | フリー定義の内容

表2-19　タイプと@typeの値の対応（SQL）

タイプ | @typeの値
CHAR 固定長文字列 | CHAR
VARCHAR2 可変長文字列 | VARCHAR2
LONG 可変長長文字列 | LONG
NUMBER 固定小数点数 | NUMBER
NUMBERf 浮動小数点数 | NUMBERf
DATE 日付 | DATE
VARCHAR 可変長文字列 | VARCHAR
NCHAR 固定長各国文字列 | NCHAR
NVARCHAR 可変長各国文字列 | NVARCHAR
MCHAR 固定長混在文字列 | MCHAR
MVARCHAR 可変長混在文字列 | MVARCHAR
SMALLINT 短整数 | SMALLINT
INT 整数 | INT
DEC 固定小数点数 | DEC
SMALLFLT 単精度浮動小数点数 | SMALLFLT
FLOAT 倍精度浮動小数点数 | FLOAT
TIME 時刻 | TIME
フリー定義 | フリー定義の内容

表2-20　タイプと@typeの値の対応（帳票定義）

タイプ | @typeの値
C 文字データ | C
I 数値データ | I
B 集計対象外数値データ | B
CY 年次データ | CY
MO 月次データ | MO
DA 日次データ | DA
HS 日付・時刻データ | HS
M 画像データ | M
SP 特殊編集レベルデータ | SP
フリー定義 | フリー定義の内容

表2-21　タイプと@typeの値の対応（Java）

タイプ | @typeの値
char 文字型 | char
short 符号付き単整数型 | short
int 符号付き整数型 | int
long 符号付き長整数型 | long
float 単精度浮動小数点型 | float
double 倍精度浮動小数点型 | double
byte バイト型 | byte
boolean 論理型 | boolean
フリー定義 | フリー定義の内容

（例）

キーワード「@氏名」に対応するデータ項目のタイプを取り出し，「X 英数字項目」，「N 漢字項目」のタイプ別に処理を分岐します。

(c)　@occurs

データ項目に定義されている反復回数を取り出します。

形式

@occurs(キーワード)

規則

キーワードに対応するデータ項目に反復回数が定義されていない場合には，取得されません。

（例）

キーワード「@金額」に対応するデータ項目の反復回数を取り出し，反復回数分，処理をループします。

(d)　@occurs_dimension

結合関係の最も上位に位置するデータ項目から，キーワードに対応するデータ項目までの，配列の次元数を取り出します。結合関係の最も上位にある結合項目からそのデータ項目までに反復回数が定義されていない場合は，0が展開されます。

形式

@occurs_dimension(キーワード)

（例）

データ項目が次のような結合関係にあるときを例に，次元数がどのように取り出されるかについて考えてみましょう。キーワード「@データ項目d」には「データ項目D」が対応するとします。例えば，ルールスクリプトに「@occurs_dimension(@データ項目d)」を記述すると，「データ項目D」の次元数として「2」が取り出されます。

規則

SEWB+/RECORD DEFINERのレコード定義に取り込まれたデータ項目の場合，レコード定義で定義された上位項目の配列は，次元数に反映されません。

(e)　@occurs1～@occurs9

キーワードに対応するデータ項目の反復回数，または結合関係の上位にあるデータ項目の反復回数を取り出します。主に@occurs_dimensionで取り出した次元数と組み合わせて使用します。

形式

@occurs1(キーワード)～@occurs9(キーワード)

規則

@occurs1は，キーワードに対応するデータ項目が属する結合関係の中で，反復回数が定義されたデータ項目のうち，最も上位にある結合項目の反復回数を取り出します。反復回数が定義されたデータ項目が，結合関係の下位になるに従って，@occurs2，@occurs3，…@occurs9が対応します。

予約キーワードに指定した次元数（@occursNの，Nに記述した数字）が，データ項目の配列の次元数（@occurs_dimensionで取り出した次元数）を超える場合は，何も展開されません。

SEWB+/RECORD DEFINERのレコード定義に取り込まれたデータ項目の場合，レコード定義で定義された上位項目の反復回数は展開されません。

（例1）

「データ項目D」の次元数として「2」が取り出された場合を考えてみましょう。キーワード「@データ項目d」は「データ項目D」に対応するとします。ルールスクリプトに「@occurs1(@データ項目d)」と記述すると，反復回数が定義されたデータ項目のうち，結合関係の最も上位にある「データ項目B」の反復回数が取り出されます。また，「@occurs2(@データ項目d)」と記述すると，一つ下位の反復回数が定義されたデータ項目，つまり「データ項目D」の反復回数が取り出されます。なお，「データ項目D」の配列の次元数は「2」となっているため，@occurs3を使用しても何も展開されません。

（例2）

@occurs_dimensionと@occurs1～@occurs9を組み合わせたルールスクリプトの記述例を示します。まず，@occurs_dimensionを使って，キーワード「@コード」に対応するデータ項目の，結合関係の最も上位にあるデータ項目からの配列の次元数を取り出します。各次元の結合項目に定義された反復回数分，処理をループして，配列に含まれるすべてのコードの数字チェックを行います。

(f)　@modify

キーワードに対応するデータ項目名を修飾情報（全パスの項目名）付きで取り出します。

形式

@modify（キーワード）

規則

取得するデータ項目名の修飾順序は，SEWB+/CONSTRUCTIONのテンプレート @@lang文のMODIFY_ORDER句の指定に従います。MODIFY_ORDER句の指定がなく，ルールスクリプトを記述している言語が「C又はC++」，「COBOL又はOOCOBOL」以外の場合，修飾順序はDESCEND（上位レベル項目から下位レベル項目の順に修飾）になります。

取得するデータ項目の言語区分はSEWB+/CONSTRUCTIONのテンプレート @@lang文のFOR_REPOSITORY句の指定に従います。指定された言語別の名前が定義されていない場合，共通のデータ項目名となります。指定された言語区分がSEWB+/REPOSITORYの辞書に登録されているものと一致しない場合，ソースプログラムの生成時にエラーとなります。

修飾情報の連結文字はSEWB+/CONSTRUCTIONのテンプレート @@lang文のMODIFY_CONNECT句の指定に従います。MODIFY_CONNECT句の指定がなく，ルールスクリプトを記述している言語が「C又はC++」，「COBOL又はOOCOBOL」以外の場合，修飾情報（データ項目名）がそのまま連結されて置換されます。

最上位結合項目名はSEWB+/CONSTRUCTIONのテンプレート @@rule文のTOP句で指定した文字列に変更して取得できます。

取得するデータ項目名には，SEWB+/CONSTRUCTIONのテンプレート @@rule文で指定した接頭語および接尾語を付けられます。

取得するデータ項目の上位項目に繰り返しがある場合，ソースプログラムの生成時にエラーとなります。

SEWB+/RECORD DEFINERのレコード定義に取り込まれたデータ項目の場合，レコード定義で定義された上位項目についての修飾は展開されません。

（例）

キーワード「@受注日」および「@手配日」に対応するデータ項目名を修飾情報付きの項目名に置き換えて，代入文を生成します。

(9)　チェック処理を記述する場合には

データの妥当性をチェックする処理での，チェック結果を受けたエラー処理の記述について説明します。エラー処理は一般に，アプリケーション間で共通化することが望ましいと考えられます。したがって，エラー処理の内容や，エラー処理に使うデータ項目は，SEWB+/CONSTRUCTIONのテンプレート上に記述することをお勧めします（さらに，エラー処理部分は複数のテンプレートから汎用的に使えるよう，部品テンプレートにしておくことをお勧めします）。

業務ルールのチェック処理とテンプレートのエラー処理を適切に連携するには，データ項目名や相互でやり取りする値を正しく記述することが重要です。このため，業務ルールやテンプレートを作成する前に，あらかじめエラー処理の仕様を検討して，そのインタフェース（エラー処理に使用するデータ項目，やり取りする値など）を決めておきます。辞書の作成者およびテンプレート作成者は，この仕様に基づいて，業務ルールやテンプレートを作成するようにしてください。

（例）

業務ルールAおよびBでは共通に，「RTN-CODE」に処理結果を，「ERR-FLG」にエラーの有無を，「ERR-VALUE」にチェックしたデータの種類を設定しています。これらのデータ項目の定義とチェック結果に従って実行するエラー処理「ERR-DATA-EDIT-PROC」と「ERR-LIST-WRITE-PROC」は，テンプレート上に記述しています。

(10)　予約キーワードの留意事項

予約キーワード（「@type」，「@len」など）を記述する場合は，次の点に留意してください。

予約キーワードは，小文字または大文字のどちらでも記述できます。ただし，両方を混在して記述することはできません。

括弧「( )」を使って値を取得する予約キーワードでは，括弧の前後に空白や改行を挿入してはいけません。

2.6.4　適用条件の指定

適用条件とは，アプリケーションに業務ルールを適用する条件を指定するものです。辞書の作成者は，「データ項目がどのような条件（処理の入力なのか，出力なのか）にあるときに，この業務ルールをアプリケーションに適用させるのか」という観点で指定します。適用条件を指定するには，「2.6.2(1)　業務ルールの基準を決める」で説明したように，テンプレートに記述される@@rule文の抽出条件の指定と考え方が統一されていることが大切です。

＜この項の構成＞

(1)　業務ルールの分類と適用条件の指定

(2)　@@rule文で抽出される業務ルール

(1)　業務ルールの分類と適用条件の指定

業務ルールの処理は一般に，「データの値の妥当性をチェックする処理」と「データの値を導き出す処理」に大別されると考えられます。ここでは，この分類を例に，適用条件の指定について考えてみましょう。

(a)　データの値の妥当性をチェックする処理

単一のデータ項目または複数のデータ項目間のデータの値の妥当性をチェックする処理には，次のように適用条件を指定します。

チェック対象のデータ項目に，「入力」を指定する

(b)　データの値を導き出す処理

編集処理や計算処理など，あるデータ項目の値から別のデータ項目の値を導き出す処理には，次のように適用条件を指定します。

データの入力元となるデータ項目に「入力」を指定する

導き出された結果を格納するデータ項目に 「出力」を指定する

なお，業務ルールEのデータ項目「@税率」のように，処理をする際に補助的に利用するデータ項目については，適用条件を指定しないで「－」のままにしておきます。

(2)　@@rule文で抽出される業務ルール

業務ルールの適用条件の指定を検討するときには，テンプレートの@@rule文の指定によって，目的の業務ルールが適切に抽出されるかどうかについても考慮する必要があります。@@rule文による業務ルールの抽出には，WITH USAGE句を使って抽出条件を基に業務ルールを絞り込む方法と，絞り込みを行わない方法の2とおりがあります。@@rule文の抽出条件の指定や，抽出の考え方については，マニュアル「SEWB+/CONSTRUCTION アプリケーション開発ガイド」を参照してください。

(1)の業務ルールA～Eを抽出するときの@@rule文の記述について，例を見ながら考えてみましょう。次に，@@rule文の記述例と，データ定義（ファイルおよびレコード定義）にファイルa～ファイルiを仮定したとき抽出される業務ルールを示します。

表2-22　@@rule文の記述例と抽出される業務ルール

項番
@@rule文の記述例
抽出される業務ルール

A
B
C
D
E

1

@@rule "展開1" WITH USAGE{{USAGE=IN REF=ファイルa}};

○
○
×
×
×

2

@@rule "展開2" WITH USAGE{{USAGE=IN REF=ファイルb}{USAGE=IN REF=ファイルc}};

×
○
×
×
×

3

@@rule "展開3" WITH USAGE{{USAGE=IN REF=ファイルb REF=ファイルc}};

○
○
×
×
×

4

@@rule "展開4" WITH USAGE{{USAGE=IN REF=ファイルa}{USAGE=OUT REF=ファイルd}};

×
×
○
○
×

5

@@rule "展開5" WITH USAGE{{USAGE=IN REF=ファイルb}{USAGE=IN REF=ファイルc}{USAGE=OUT REF=ファイルd}};

×
×
×
○
×

6

@@rule "展開6" WITH USAGE{{USAGE=IN REF=ファイルb REF=ファイルc}{USAGE=OUT REF=ファイルd}};

×
×
○
○
×

7

@@rule "展開7" WITH USAGE{{USAGE=IN REF=ファイルe}{USAGE=OUT REF=ファイルg}};

×
×
×
×
○

8

@@rule "展開8" WITH USAGE{{USAGE=IN REF=ファイルe}{USAGE=OUT REF=ファイルh}};

×
×
×
×
○

9

@@rule "展開9" WITH USAGE{{USAGE=IN REF=ファイルe}{USAGE=OUT REF=ファイルg}REF=ファイルi};

×
×
×
×
○

10

@@rule "展開10" {REF=ファイルb REF=ファイルc REF=ファイルd REF=ファイルe REF=ファイルh};

○
○
○※
○
○

（凡例）

○：抽出される

×：抽出されない

注※

取引先コードがファイルb側に含まれるものとファイルc側に含まれるものの2とおり抽出されます。

(a)　データの値の妥当性をチェックする業務ルールの抽出

@@rule文に抽出条件を指定して，この業務ルールを抽出するには，記述例1，2および3のような記述が考えられます。

記述例2では，ファイルbとファイルcの両方に入力側のデータ項目がある業務ルールが対象になるため，業務ルールBが抽出されます。また，記述例3では，ファイルbとファイルcのどちらかに入力側のデータ項目がある業務ルールが対象になるため，業務ルールAとBの両方が抽出されます。

(b)　データの値を導き出す業務ルールの抽出

@@rule文に抽出条件を指定して，この業務ルールを抽出するには，記述例4～9のような記述が考えられます。

@@rule文の記述によって，記述例5のように，使用するデータ項目が三つのレコードに含まれる業務ルールだけを絞り込むこともできます。また，記述例6のように，どちらかの入力レコード含まれる入力側のデータ項目があれば抽出されるように指定することもできます。

業務ルールEでは，データ項目「@税率」に適用条件を指定していませんでした。こうした場合，そのデータ項目が，@@rule文のUSAGE=INで指定したデータ定義，USAGE=OUTで指定したデータ定義，あるいはUSAGE指定をしていないデータ定義のうち，どれかのデータ定義中に含まれれば，その業務ルールが抽出されます。したがって，業務ルールEは，記述例7，8，9のどれからでも抽出されることになります。

(c)　絞り込みをしない抽出

記述例10のように，@@rule文に抽出条件の指定をしない場合には，データ項目が関連するすべての業務ルールが抽出されます。この抽出方法では，業務ルールに指定した適用条件は，関係ありません。記述例10では，データの値の妥当性をチェックする業務ルール（業務ルールA，B）およびデータの値を導き出す業務ルール（業務ルールC～E）のどれもが抽出されます。

2.6.5　システムで共用する業務ルールを登録する

実際に業務ルール辞書を整備するには，まず，ドメイン，つまり，継承関係の上位のデータ項目の業務ルールから登録を始めます。ドメインと業務ルールの関連は，データ項目の体系と同じようにドメインを継承するすべてのデータ項目に引き継がれ，業務ルールを共用できます。したがって，ドメインの業務ルールとは，システムで共用することを目的とした汎用性の高い業務ルールといえます。

ドメインの業務ルールは，次の手順で登録します。

データの値の妥当性をチェックする業務ルール

データの値を導き出す業務ルール

ここでは，例題に沿ってドメインの業務ルールの登録を説明します。

＜この項の構成＞

(1)　データの妥当性をチェックする業務ルールを登録する

(2)　データの値を導き出す業務ルールを登録する

(1)　データの妥当性をチェックする業務ルールを登録する

(a)　例題の概要

データ分析の結果，ドメインのデータ項目「コード」には，'0000'，'9999'以外の数字で入力されなければならない，という制約条件が抽出されました。この制約条件は，ドメインを継承するデータ項目に共通です。例題では，入力された値の妥当性をチェックする業務ルール「コードチェック」を登録します。

(b)　業務ルールの定義

リポジトリブラウザを使った定義について説明します。業務ルールを新しく登録するには，業務ルールのアイコンを選び，［リポジトリ］－［新規作成］－［業務ルール］を選んでください。業務ルールの情報を定義するダイアログが表示されます。

業務ルール名，コメントを定義する
［属性］タブの情報を定義します。業務ルール名とコメントは，SEWB+/CONSTRUCTIONでプログラマが目的の業務ルールを選択するときの大切な情報となります。理解しやすい業務ルール名，処理内容や展開条件を適切に把握できるようなコメントを定義しましょう。

業務ルール名に，「コードチェック」
コメントに，「入力されたコードの値が，'0000'以上'9999'未満および数字かどうかをチェックする。」

適用するデータ項目と業務ルールの関連を定義する
［データ項目］タブの情報を定義します。「コード」特有の制約条件を反映するため，データ項目の適用形態は「専用にする」を選びます。

組み合わせるデータ項目に，「コード」
キーワードに，「@コード」
適用条件に，「入力」

ルールスクリプトを記述する
［ルールスクリプト］タブの情報を定義します。

記述のポイントを次に示します。

データ項目の名称をキーワード「@コード」で記述します。

エラーの記述に使うデータ項目や値は，あらかじめテンプレート作成者と決めておいたエラー処理の仕様に従います。ここでは，エラー状態'1001'を「R-CHECK-STAT」にセットしています。このデータ項目の定義は，テンプレート上に記述されることを前提としています。

(c)　業務ルールの適用例

業務ルール「コードチェック」が，SEWB+/CONSTRUCTIONからアプリケーションに適用される例を示します。

テンプレート記述
エラー状態を格納するデータ項目「R-CHECK-STAT」は，ここに記述されます。@@rule文では，次の指定をしています。

データ定義IN_FILEに含まれるデータ項目を使用している業務ルールを抽出する。このとき，データ項目の適用条件に「入力」が指定された業務ルールだけを対象にする。

データ項目の言語別の名前に接頭語「IN-」を付加する。

プログラム定義
プログラム定義で1.のテンプレートを選択し，IN_FILEに指定されたデータ定義のレコード定義に，データ項目「コード」，「取引先コード」，「仕入先コード」，「業種コード」または「営業所コード」のどれかが含まれている場合，業務ルールの候補として「コードチェック」が表示されます。

生成ソースプログラム
@@rule文の位置にルールスクリプトが展開されます。この例は，アプリケーションで使用するデータ項目が「業種コード」の場合です。

(2)　データの値を導き出す業務ルールを登録する

(a)　例題の概要

例題業務では，年月日データをクライアント画面に表示したりレポートに印刷したりする際には，西暦年を和暦年に変換し，さらに出力用の形式に編集します（例：19970301→平成 9年 3月 1日）。西暦年月日の形式を持つデータ項目は，ドメインのデータ項目「西暦年月日」にまとめられています。また，和暦年月日の形式を持つデータ項目は，ドメインのデータ項目「和暦年月日」にまとめられています。例題では，この二つのドメインを組み合わせて，データの値を導き出す業務ルール「西暦/和暦編集」を登録します。

(b)　業務ルールの定義

リポジトリブラウザを使った定義について説明します。業務ルールを新しく登録するには，業務ルールのアイコンを選び，［リポジトリ］－［新規作成］－［業務ルール］を選んでください。業務ルールの情報を定義するダイアログが表示されます。

業務ルール名，コメントを定義する
［属性］タブの情報を定義します。理解しやすい業務ルール名を付け，ドメインの導出関係，処理内容や展開条件が適切に把握できるようなコメントを定義しましょう。

業務ルール名に，「西暦/和暦編集」
コメントに，「西暦年を和暦年に変換し，「年号YY年MM月DD日」の形式に編集する。和暦年，月，日が1けたの場合，左側は空白にする。編集処理は外部サブルーチン「UXDATE」を使う」

適用するデータ項目と業務ルールの関連を定義する
［データ項目］タブの情報を定義します。「西暦年月日」および「和暦年月日」の組み合わせに特有の処理のため，データ項目の適用形態は「専用にする」を選びます。

組み合わせるデータ項目に，「西暦年月日」
キーワードに，「@西暦年月日」
適用条件に，「入力」

組み合わせるデータ項目に，「和暦年月日」
キーワードに，「@和暦年月日」
適用条件に，「出力」

ルールスクリプトを記述する
［ルールスクリプト］タブの情報を定義します。

記述のポイントを次に示します。

入力するデータ項目をキーワード「@西暦年月日」で，編集結果を出力するデータ項目をキーワード「@和暦年月日」で記述します。

外部サブルーチンとのインタフェース領域は，@@section文でWORKING-STORAGE SECTIONへの分割展開を指定します。@@section文に指定するコード名は，あらかじめテンプレート作成者と決めておいたコード名を使います。ここでは，「WORK」を指定しました。このコード名に対応する@@merge文が，テンプレート上に記述されることを前提としています。

(c)　業務ルールの適用例

業務ルール「西暦/和暦編集」が，SEWB+/CONSTRUCTIONからアプリケーションに適用される例を示します。

テンプレート記述
ルールスクリプトの作業領域（インタフェース領域）の展開位置は，「@@merge @WORK」で指定されています。@@rule文では，次の二つの条件を満たす業務ルールを抽出することが指定されています。

データ定義IN_FILEに含まれるデータ項目を使用している業務ルール。このとき，データ項目の適用条件に「入力」が指定された業務ルールだけを対象にする。

データ定義OUT_FILEに含まれるデータ項目を使用している業務ルール。このとき，データ項目の適用条件に「出力」が指定された業務ルールだけを対象にする。

プログラム定義
プログラム定義で1.のテンプレートを選択し，@@rule文の指定に一致するデータ項目をアプリケーションに使用している場合，業務ルールの候補として「西暦/和暦編集」が表示されます。ドメインの下位のデータ項目を使用している場合も抽出されます。

生成ソースプログラム
テンプレートで指定された位置にルールスクリプトが展開されます。この例は，アプリケーションで使用するデータ項目が「入社西暦年月日」と「入社和暦年月日」の場合です。

2.6.6　特定業務で扱う業務ルールを登録する

ドメインの業務ルールを業務ルール辞書に整備したあと，継承関係の下位にあるデータ項目の業務ルールを登録します。特定のデータ項目に関する業務の規則，制度などを業務ルールとして登録します。

特定業務で扱う業務ルールも，ドメインの業務ルールと同様に，次の手順で登録します。

データの値の妥当性をチェックする業務ルール

データの値を導き出す業務ルール

＜この項の構成＞

(1)　データの値の妥当性をチェックする業務ルールを登録する

(2)　データの値を導き出す業務ルールを登録する

(1)　データの値の妥当性をチェックする業務ルールを登録する

(a)　例題の概要

データ項目「氏名NO」は，データ分析の結果，次の制約条件が抽出されました。

氏名NOは，事業所コード，入社コードおよび通番の値で構成される

通番は必ず数字で入力する

例題では，「氏名NO」に対して，入力された値の妥当性をチェックする業務ルール「氏名NOチェック」を登録します。

(b)　業務ルールの定義

ここでは，例題業務ルールの定義情報を説明します。なお，リポジトリブラウザの定義手順は，ドメインの業務ルールを登録するときと同様です。「2.6.5　システムで共用する業務ルールを登録する」を参照してください。

業務ルール名，コメント

業務ルール名に，「氏名NOチェック」
コメントに，「入力された氏名NOのデータを，事業所コード，入社年，通番に分割し，通番が数字で入力されているかをチェックする。」

適用するデータ項目と業務ルールの関連
「氏名NO」特有の制約条件を反映するため，データ項目の適用形態は「専用にする」を選びます。

組み合わせるデータ項目に，「氏名NO」
キーワードに，「@氏名NO」
適用条件に，「入力」

ルールスクリプトの記述

記述のポイントを次に示します。

データ項目の名称をキーワード「@氏名NO」で記述します。

通番だけをチェックするため，業務ルール内部の作業領域を使って氏名NOのデータを分割します。作業領域の記述部分は，@@section文を使用してWORKING-STORAGE SECTIONへの分割展開を指定します。ここでは，あらかじめテンプレート作成者と決めておいたコード名「WORK」を指定しています。

エラーの記述に使うデータ項目や値は，あらかじめテンプレート作成者と決めておいたエラー処理の仕様に従います。ここでは，エラー状態'5001'を「R-CHECK-STAT」にセットしています。このデータ項目の定義は，テンプレート上に記述されることを前提としています。

(c)　業務ルールの適用例

業務ルール「氏名NOチェック」が，SEWB+/CONSTRUCTIONからアプリケーションに適用される例を示します。

テンプレート記述
エラー状態を格納するデータ項目「R-CHECK-STAT」は，ここに記述されます。また，データ分割に使用した作業領域の展開位置は，「@@merge @WORK」で指定されています。@@rule文では，次の指定をしています。

データ定義IN_FILEに含まれるデータ項目を使用している業務ルールを抽出する。このとき，データ項目の適用条件に「入力」が指定された業務ルールだけを対象にする。

データ項目の言語別の名前に接頭語「IN-」を付加する。

プログラム定義
プログラム定義で1.のテンプレートを選択し，IN_FILEに指定されたデータ定義のレコード定義にデータ項目「氏名NO」が含まれている場合，業務ルールの候補として「氏名NOチェック」が表示されます。

生成ソースプログラム
@@rule文の位置にルールスクリプトが展開されます。

(2)　データの値を導き出す業務ルールを登録する

(a)　例題の概要

例題業務では，従業員個人の識別に「氏名NO」を使用します。このデータを格納するデータ項目「氏名NO」は，データ項目「事業所コード」，「入社コード」および「通番」で構成されます。「氏名NO」の三つの構成項目それぞれについて，次のような作成規則があります。

事業所コード…入力されたデータ項目「事業所名」の値からコード変換する

入社コード…入力されたデータ項目「入社年」の値からコード変換する

通番…入力されたデータ項目「氏名」の値から入社年別の通番を割り当てる

例題では，それぞれ導出関係にあるデータ項目を組み合わせ，データの値を導き出す業務ルールを登録します。 SEWB+/CONSTRUCTIONから，この三つの業務ルールを適用することで，結合項目「氏名NO」の値を割り当てる処理を実現できます。

(b)　業務ルールの定義

ここでは，例題業務ルールの定義情報について説明します。リポジトリブラウザの定義手順は，ドメインの業務ルールを登録するときと同様です。「2.6.5　システムで共用する業務ルールを登録する」を参照してください。

事業所コード入力編集

業務ルール名，コメント

業務ルール名に，「事業所コード入力編集」
コメントに，「事業所名を事業所コードに変換する。変換処理は外部サブルーチン「CDHENKN1」を使う。」

適用するデータ項目と業務ルールの関連

適用形態に，「専用にする」
組み合わせるデータ項目に，「入社年」
キーワードに，「@入社年」
適用条件に，「入力」

適用形態に，「専用にする」
組み合わせるデータ項目に，「入社コード」
キーワードに，「@入社コード」
適用条件に，「出力」

ルールスクリプトの記述

入社コード入力編集

業務ルール名，コメント

業務ルール名に，「入社コード入力編集」
コメントに，「入社年を入社コードに変換する。変換処理は外部サブルーチン「CDHENKN2」を使う。」

適用するデータ項目と業務ルールの関連

適用形態に，「専用にする」
組み合わせるデータ項目に，「事業所名」
キーワードに，「@事業所名」
適用条件に，「入力」

適用形態に，「専用にする」
組み合わせるデータ項目に，「事業所コード」
キーワードに，「@事業所コード」
適用条件に，「出力」

ルールスクリプトの記述

通番入力編集

業務ルール名，コメント

業務ルール名に，「通番入力編集」
コメントに，「氏名を通番に変換する。変換処理は外部サブルーチン「CDHENKN3」を使う。」

適用するデータ項目と業務ルールの関連

適用形態に，「専用にする」
組み合わせるデータ項目に，「氏名」
キーワードに，「@氏名」
適用条件に，「入力」

適用形態に，「専用にする」
組み合わせるデータ項目に，「通番」
キーワードに，「@通番」
適用条件に，「出力」

ルールスクリプトの記述

(c)　業務ルールの適用例

業務ルール「事業所コード入力編集」，「氏名コード入力編集」および「通番入力編集」が，SEWB+/CONSTRUCTIONからアプリケーションに適用される例を示します。

テンプレート記述
@@rule文では，次の二つの条件を満たす業務ルールを抽出することが指定されています。

データ定義IN_FILEに含まれるデータ項目を使用している業務ルール。このとき，データ項目の適用条件に「入力」が指定された業務ルールだけを対象にする。

データ定義OUT_FILEに含まれるデータ項目を使用している業務ルール。このとき，データ項目の適用条件に「出力」が指定された業務ルールだけを対象にする。

プログラム定義
1.のテンプレートを利用したプログラム定義で，アプリケーションの入力となるデータ定義のレコード定義にデータ項目「事業所名」，「入社年」および「氏名」が含まれており，また，出力となるデータ定義のレコード定義にデータ項目「事業所コード」，「入社コード」および「氏名コード」が含まれているとき，業務ルールの候補として三つの業務ルールが表示されます。

生成ソースプログラム
@@rule文の位置にルールスクリプトが展開されます。プログラマがこの三つの業務ルールを選んだ場合，例に示したようなソースプログラムが生成されます。

2.6.7　同一項目用業務ルールを登録する

ここでは，同一項目用業務ルールの登録を例題に沿って説明します。

(a)　例題の概要

同一のデータ項目間でデータを転記する同一項目用業務ルールを登録します。この業務ルールを，リポジトリ内のすべてのデータ項目に対応するようにします。

(b)　同一項目用業務ルールの定義

リポジトリブラウザを使った定義について説明します。業務ルールを新しく登録するには，業務ルールのアイコンを選び，［ツール］－［同一項目業務ルールの作成］を選んでください。同一項目用業務ルールを作成するダイアログが表示されます。

業務ルール名，コメントを定義する
［属性］タブの情報を定義します。

業務ルール名に，「項目間転記処理」
コメントに，「同一のデータ項目間でデータを転記する。」

適用するデータ項目を選択し，キーワードと適用条件を定義する
［データ項目］タブの情報を定義します。この例では，リポジトリ内のすべてのデータ項目に適用する［すべての項目］ボタンを選びます。

組み合わせるデータ項目に，「すべての項目」
キーワードに，「@入力項目」
適用条件に，「入力」

組み合わせるデータ項目に，「すべての項目」
キーワードに，「@出力項目」
適用条件に，「出力」

ルールスクリプトを記述する
［ルールスクリプト］タブの情報を定義します。

(c)　同一項目用業務ルールの適用例

同一項目用業務ルール「項目間転記処理」が，SEWB+/CONSTRUCTIONからアプリケーションに適用される例を示します。SEWB+/CONSTRUCTIONからは，通常の業務ルールと同様に同一項目用業務ルールを使用できます。

テンプレート記述
@@rule文に，同一項目用業務ルールを含めた業務ルールの抽出条件を指定します。なお，入力側と出力側のデータ項目のキーワードが置換される名称に，接頭語または接尾語を付加する指定が必要です。同一項目用業務ルールがソースプログラムに展開されたとき，転記元と転記先のデータ項目の名称が一意になるようにします。

プログラム定義
1.のテンプレートを選択し，アプリケーションプログラムの入力側と出力側で例に示したデータ定義を使用している場合，業務ルールの候補として「項目間転記処理」が表示されます。

生成ソースプログラム
プログラム定義で同一項目用業務ルールを選択すると，同じ2項目間の転記処理をするMOVE文が生成されます。

2.7　辞書登録の確認

クライアントのリポジトリブラウザでは，辞書登録時やメンテナンス時に必要に応じて，定義内容を検査したり，データ項目や業務ルールを検索したり，資源の相互関係を調査したりできます。ここでは，リポジトリブラウザを使った辞書の登録内容の確認について解説します。

＜この節の構成＞

2.7.1　定義内容を検査する

2.7.2　目的のデータ項目や業務ルールを検索する

2.7.3　関連を基に，資源の相互関係を調査する

2.7.4　データ項目，業務ルールを印刷する

2.7.1　定義内容を検査する

＜この項の構成＞

(1)　検査の仕組み

(2)　目的のデータ項目または業務ルールを指定して検査する

(3)　検査結果を確認し，定義内容を修正する

(1)　検査の仕組み

リポジトリブラウザでは，データ項目や業務ルールの定義内容について，プロジェクトの基準やプログラミング言語の文法などに従って適切に定義されているかどうかを検査できます。

検査では，辞書の環境設定内容（環境構築ユティリティで設定した，検査に適用する検査項目，命名ルール，分類とタイプの対応など）および言語の文法を基にして，データ項目または業務ルール別に定義内容の妥当性が診断されます。検査の仕組みを次の図に示します。

図2-15　検査の仕組み

(a)　適用する検査項目とは

データ項目または業務ルールの検査内容別に，検査項目が用意されています。リポジトリブラウザでの検査に適用する検査項目を，あらかじめサーバの環境構築ユティリティを使って設定しておきます。また，ユーザが作成した検査DLLを登録して，独自の検査項目を追加することもできます。

プロジェクト内で定める辞書情報の基準に沿うよう，検査項目を設定してください。検査項目の詳細は，「3.1.1　環境を設定する」を参照してください。

データ項目の検査には，次の検査項目が用意されています。

データ項目名の一意性チェック

名称と命名ルールのマッチングチェック

けた数とタイプの整合性チェック

タイプの組み合わせチェック

初期値の記述チェック

編集文字列の記述チェック

構成項目の名前の重複チェック

業務ルールの検査項目には，次の検査項目が用意されています。

業務ルール名の一意性チェック

名称と命名ルールのマッチングチェック

ルールスクリプトのキーワード使用チェック

このうち，「データ項目名の一意性チェック」および「業務ルール名の一意性チェック」は，リポジトリブラウザでデータ項目または業務ルールを作成した時と，データ項目名または業務ルール名を変更した時に自動的に検査が実行されます。SEWB+/REPOSITORYでは，データ項目名および業務ルール名を，リポジトリ内で一意に定義しなければならないという制限はありません。したがって，同じ辞書フォルダや別の辞書フォルダに同一のデータ項目名または業務ルール名を定義することもできます（例えば，ドメインとなるデータ項目「年月日」を複数の辞書フォルダに登録した場合）。この検査項目でチェックされたデータ項目名または業務ルール名に対しては，プロジェクト独自の名称基準を確認した上で，必要に応じて別の名称を付けてください。

その他の検査項目は，リポジトリブラウザのメニューの［検査］または［一括検査］を使用して検査します。

(b)　命名ルールとは

データ項目および業務ルールの名称の規則を命名ルールといいます。命名ルールは，データ項目および業務ルールの名称の標準化を図ることを目的としています。検査のために，プロジェクトの名称基準を，あらかじめ環境構築ユティリティを使って設定しておきます。命名ルールの条件の値は，辞書フォルダ単位で定義項目別に定義できます。

(c)　検査状態とは

個々のデータ項目および業務ルールには，それぞれ「検査状態」が設定されています。ここには，そのデータ項目または業務ルールがすでに検査されているかどうか，また，検査の結果，エラーがあったのかどうかを知るための情報が設定されます。これを「状態値」と呼びます。状態値の種類と意味は次のとおりです。

エラーあり：定義内容にエラーが発見された

エラーなし：定義内容は妥当である

未検査：定義内容の検査をしていない

検査をすると，状態値には「エラーあり」または「エラーなし」のどちらかが設定されます。また，データ項目の定義内容を変更したり，継承関係にある上位データ項目の定義内容が変更されたりすると，状態値は「未検査」に戻ります。

(2)　目的のデータ項目または業務ルールを指定して検査する

すでにリポジトリに格納されている辞書情報が検査の対象になります。目的に応じて，特定のデータ項目や業務ルールだけを指定して検査したり，辞書フォルダを指定してデータ項目と業務ルールを一括して検査したりできます。

ここでは，リポジトリブラウザから検査する方法について説明します。この方法のほかに，関連ブラウザウィンドウまたは検索ウィンドウの検索結果一覧から，データ項目や業務ルールを指定して検査することもできます。

特定のデータ項目や業務ルールだけを検査する

リポジトリブラウザウィンドウのツリービューまたはリストビューで，データ項目もしくは業務ルールを選択します。次に，［リポジトリ］－［検査］を選ぶと，検査のオプションを指定するダイアログが表示されます。ここで，検査対象とするデータ項目の検査状態を指定し［OK］ボタンをクリックすると検査が実行されます。

継承関係の下位データ項目も含めて検査する

リポジトリブラウザウィンドウのツリービューまたはリストビューで，データ項目を選択します。次に，［リポジトリ］－［一括検査］を選ぶと，検査のオプションを指定するダイアログが表示されます。ここで，検査対象とするデータ項目の検査状態を指定し［OK］ボタンをクリックすると検査が実行されます。選択したデータ項目と，継承関係の下位データ項目が検査されます。

辞書フォルダ内のすべてのデータ項目と業務ルールを検査する

リポジトリブラウザウィンドウのツリービューまたはリストビューで，辞書フォルダを一つ選択します。次に，［リポジトリ］－［一括検査］を選ぶと，検査のオプションを指定するダイアログが表示されます。ここで，検査対象とするデータ項目の検査状態を指定し［OK］ボタンをクリックすると検査が実行されます。

(3)　検査結果を確認し，定義内容を修正する

定義内容にエラーがあった場合は，その内容が検査結果ダイアログに一覧表示されます。検査結果を確認して，必要に応じて修正を加えてください。この検査結果の一覧から，エラーのあったデータ項目または業務ルールを選ぶと，編集のためのダイアログを開くこともできます。

2.7.2　目的のデータ項目や業務ルールを検索する

辞書に登録されているデータ項目や業務ルールの検索には，リポジトリブラウザで［リポジトリ］－［検索］を選ぶと表示される［検索］ダイアログを使います。このダイアログでは，大きく分けて次の5種類の条件を指定して，条件に一致するデータ項目や業務ルールを検索できます。

名前：データ項目の検索ではデータ項目名または標準名称を，業務ルールの検索では業務ルール名または標準名称を指定できます。

更新日付：データ項目または業務ルールが作成もしくは更新された日付の範囲を指定できます。

所有者・更新者：ユーザを指定できます。

コメント：コメントの定義内容を指定できます。

フィールド：フィールドの定義内容を指定できます。

2.7.3　関連を基に，資源の相互関係を調査する

資源間に付けられている関連を基にして，データ項目同士の関係や，辞書の資源とリポジトリに登録されているドキュメントとの相互の依存関係などを調査できます。

＜この項の構成＞

(1)　変更波及を調査する

(2)　データ項目の継承関係を調査する

(3)　業務ルールをブラウジングする

(1)　変更波及を調査する

辞書の作成者が，データ項目や業務ルールの定義内容などを変更する場合には，その変更が，ほかのどの資源に波及するのかを把握しておく必要があります。リポジトリブラウザの関連ブラウザウィンドウを使用すれば，資源同士の相互関係を，資源間に付けられた関連を基に調査できます。

リポジトリブラウザで調査の起点とする資源のアイコンを選び，［リポジトリ］－［関連ブラウザ］－［すべての関連］（関連種別を指定したい場合は［他の関連］）を選択すると，関連ブラウザウィンドウが表示されます。

例えば，あるレコード定義を構成するデータ項目を変更するとき，そのレコード定義を調査の起点にすれば，SEWB+/CONSTRUCTIONで作成されたどのドキュメントに波及するのかをツリー形式の関連図で確認できます。

関連ブラウザウィンドウのツールバーで［インパクトレポート］ボタンをクリックすると，表示された資源の関連図（インパクトレポート）を印刷することもできます※。

辞書の資源の調査に利用できる関連の例を次に示します。

データ項目の結合の関連（関連種別「結合」）

データ項目と業務ルールの関連（関連種別「ルール」）

データ項目とSEWB+/RECORD DEFINERのレコード定義の関連
（関連種別「辞書参照」）

辞書のレコード定義（最上位結合項目）とデータ定義の関連
（関連種別「辞書参照」）

業務ルールとプログラム定義の関連（関連種別「辞書参照」）

データ項目と，そのほかの資源に付けたユーザ関連

注※

インパクトレポートの印刷機能を使用するには，クライアントにSEWB+/REPORT MANAGERをインストールしていることが前提となります。詳細は，マニュアル「SEWB+/REPORT MANAGER ドキュメント作成支援 使用の手引」を参照してください。

(2)　データ項目の継承関係を調査する

データ項目の継承関係を調査したい場合は，リポジトリブラウザウィンドウを使用します。

(3)　業務ルールをブラウジングする

業務ルールのブラウジングには，「業務ルールブラウザ」を使用します。データ項目を調査の起点にして，そのデータ項目を使用している業務ルールを調査できます。また，業務ルールを起点にして，その業務ルールで使用しているデータ項目を一覧表示することもできます。

2.7.4　データ項目，業務ルールを印刷する

クライアントにSEWB+/REPORT MANAGERをインストールしている場合には，リポジトリブラウザから，データ項目，業務ルールの定義内容または一覧を印刷できます。印刷形式については，マニュアル「SEWB+/REPORT MANAGER ドキュメント作成支援 使用の手引」を参照してください。

＜この項の構成＞

(1)　データ項目または業務ルールの定義内容を印刷する

(2)　データ項目または業務ルールの一覧を印刷する

(1)　データ項目または業務ルールの定義内容を印刷する

各データ項目または業務ルールの定義内容を印刷します。

まず，リポジトリブラウザウィンドウから，定義内容を印刷したいデータ項目または業務ルールを選択します（複数を選択することもできます）。次に，［リポジトリ］－［SEWB+/REPORT MANAGERから印刷］を選ぶと，SEWB+/REPORT MANAGERが起動されます。そして，SEWB+/REPORT MANAGERのウィンドウから定義内容の印刷を実行します。

(2)　データ項目または業務ルールの一覧を印刷する

データ項目辞書または業務ルール辞書が管理する資源の一覧を印刷します。

まず，リポジトリブラウザウィンドウから，データ項目辞書のアイコン（または業務ルール辞書のアイコン）を選択します。次に，［リポジトリ］－［SEWB+/REPORT MANAGERから印刷］を選ぶと，SEWB+/REPORT MANAGERが起動されます。そして，SEWB+/REPORT MANAGERのウィンドウから一覧の印刷を実行します。

なお，一覧の印刷では，リポジトリブラウザウィンドウのリストビューにそのとき表示されている資源が印刷の対象になります。

3.　辞書の環境設定と運用

SEWB+/REPOSITORYでは，プロジェクトやシステム開発環境に合わせて辞書の環境を設定するなど，辞書を効率良く管理・運用するためのユティリティや機能を提供しています。この章では，辞書の環境設定と，管理・運用の作業について説明します。

＜この章の構成＞

3.1　辞書の準備

3.2　辞書情報のセキュリティ

3.3　辞書の配布，複製

3.1　辞書の準備

辞書の運用を開始するために，プロジェクトや開発体制に合わせた環境を準備します。ここでは，環境構築ユティリティを使用した辞書の準備について概要を説明します。この機能は，サーバでシステム管理者だけが利用できます。環境構築ユティリティの詳しい操作方法については，ヘルプを参照してください。なお，辞書の準備を始める前に，あらかじめサーバの環境設定とSEWB+/REPOSITORYの初期設定が必要です。詳細については，マニュアル「SEWB+/REPOSITORY 運用ガイド」を参照してください。また，サーバの環境設定を変更した場合には，複数のリポジトリに配布する必要があります。

＜この節の構成＞

3.1.1　環境を設定する

3.1.2　辞書フォルダを作成する

3.1.3　同一項目用業務ルールを辞書に準備する

3.1.4　タイプマッピングの規則を定義する

3.1.1　環境を設定する

ここでは，辞書の環境設定の内容について説明します。なお，辞書の環境は，運用を開始したあとでも必要に応じて変更できます。この場合は，環境構築ユティリティで環境を変更したあと，クライアントのリポジトリブラウザを再起動してください。リポジトリに作成されている，すべての辞書フォルダの環境が変更されます。

＜この項の構成＞

(1)　国語区分を設定する

(2)　言語区分を設定する

(3)　定義項目のフィールドの属性を設定する

(4)　フィールドの名称を設定する

(5)　ユーザ定義のタイプを追加する

(6)　分類区分とタイプの対応を変更する

(7)　タイプのけた数の範囲を変更する

(8)　タイプの組み合わせを変更する

(9)　タイプに対するレコード生成キーワードを編集する

(10)　検査項目を定義する

(11)　命名ルールを定義する

(12)　データ項目名・業務ルール名の一意性チェック範囲を設定する

(1)　国語区分を設定する

プロジェクトで使用する各国語の名称を，国語区分に設定します。国語区分の名称は，4種類まで設定できます。国語区分「日本語」および「英語」が標準に設定されています。

新しい国語区分の名称を付けるときは，「未設定n」の名称を変更します。

なお，標準に設定されている国語区分の設定順序は，SEWB+/REPOSITORYで参照されます。変更しないよう留意してください。

(2)　言語区分を設定する

アプリケーションの開発に使用するプログラミング言語の名称を，言語区分に設定します。言語区分の名称は，10種類まで設定できます。次に示す言語区分が標準に設定されています。

COBOL又はOOCOBOL…COBOLとOOCOBOL共通の言語区分

C又はC++…C言語とC++共通の言語区分

SQL…SQL言語の言語区分

帳票定義…EURで作成するレポートのフィールド定義情報を設定するための言語区分

Java…Javaの言語区分

新しい言語区分の名称を付けるときは，「言語n」の名称を変更します。また，SQL言語を「HiRDBのSQL言語の言語区分」にするには，標準に設定されている分類区分とタイプの対応をカスタマイズする必要があります。カスタマイズの詳細については，「表2-8 分類区分とタイプの対応のカスタマイズ例（言語区分SQLのタイプをHiRDBとして使用する場合）」を参照してください。

なお，標準に設定されている言語区分の設定順序は，SEWB+/REPOSITORYやSEWB+/CONSTRUCTIONなどの辞書を利用するSEWB+ツールから参照されます。設定順序を変更しないよう留意してください。

(3)　定義項目のフィールドの属性を設定する

(a)　文字数の上限（フィールド長）の設定

リポジトリブラウザでの定義項目の文字数の上限（テキストボックスのフィールド長）を変更します。変更できる定義項目，標準に設定されている値および設定範囲については，「2.4.1　データ項目に定義する情報」または「2.6.1　業務ルールに定義する情報」を参照してください。

(b)　データ項目の継承モードの設定

継承関係を定義したとき，データ項目の各定義項目の情報を，下位のデータ項目にどのように継承するかを継承モードで設定します。この設定は，リポジトリブラウザでのデータ項目の操作，およびコマンドを使ったCSV形式ファイル（標準フォーマット）の入出力時に反映されます。

(4)　フィールドの名称を設定する

データ項目および業務ルールの定義項目「フィールド」の名称を変更して，プロジェクト独自の名称を付けます。また，リポジトリブラウザに表示するフィールドを設定します。標準に設定されている値および設定範囲については，「2.4.1　データ項目に定義する情報」または「2.6.1　業務ルールに定義する情報」を参照してください。

(5)　ユーザ定義のタイプを追加する

標準で用意されているタイプに加えて，プロジェクトに応じたユーザ定義のタイプを登録できます。例えば，言語区分「COBOL又はOOCOBOL」で使用するタイプとして，「J 右寄せ英数字項目」を追加登録できます。

追加したユーザ定義のタイプについては，分類区分との対応づけやけた数の範囲など，タイプに関する設定をしてください。

ユーザ定義のタイプは，削除することもできます。ただし，ユーザ定義のタイプを削除するには，そのタイプが分類区分のデフォルトタイプではなく，さらに，リポジトリ内で使用されていない（データ項目の定義に使用されていない）ことが必要です。ユーザ定義のタイプを削除すると，そのタイプに関する分類区分の対応づけなどの設定も削除されます。

注

エクスポート・インポート機能を使用するような，複数のSEWB+/REPOSITORYサーバを使用する環境で言語別タイプを追加する場合には，エクスポート・インポート機能で言語別タイプ（データ項目，業務ルール辞書の環境情報）も配布してください。また，それぞれのSEWB+/REPOSITORYサーバで言語別タイプを追加するのではなく，言語別タイプを追加するSEWB+/REPOSITORYサーバを決めて管理するようにしてください。

(6)　分類区分とタイプの対応を変更する

プロジェクトに応じて，分類区分に対応するタイプを変更します。プロジェクトで使用するユーザ定義のタイプを追加したり，標準で設定されているタイプのうち使用しないものを削除したりします。また，タイプの初期値（デフォルトタイプ）を設定することもできます。

例えば，COBOLでアプリケーションを開発するプロジェクトで浮動小数点データ形式を扱わないとき，分類区分「整数データ」に対応するタイプから「E 外部浮動小数点項目」および「D 内部浮動小数点項目」を除きます。

標準に設定されている分類区分とタイプの対応については，「2.4.1　データ項目に定義する情報」を参照してください。

(7)　タイプのけた数の範囲を変更する

検査でチェックされるけた数の範囲は，あらかじめ各プログラミング言語の仕様に基づいて設定されています。さらにプロジェクト固有の制限を設けたい場合には，けた数の上限値と下限値を設定して範囲を変更します。

標準に設定されているタイプに対応するけた数については，「2.4.1　データ項目に定義する情報」を参照してください。

(8)　タイプの組み合わせを変更する

言語間でデータの形式を表すタイプの整合性を保つため，「COBOL又はOOCOBOL」，「C又はC++」，「SQL」，「帳票定義」，「Java」のタイプの組み合わせが標準に設定されています。例えば，「COBOL又はOOCOBOL」のタイプ「X 英数字項目」に着目した場合，次の組み合わせが規則に従って設定されています。

規則

「COBOL又はOOCOBOL」のタイプ「X 英数字項目」は分類区分「英数字文字列データ」，「英数字項目」，「日付データ」に対応しています。「COBOL又はOOCOBOL」と「C又はC++」間のデータ形式を表すタイプの整合性を保つために，「C又はC++」の分類区分「英数字文字列データ」，「英数字項目」，「日付データ」に対応するタイプが標準に設定されています。つまり，「C又はC++」のタイプ「char 文字型」，「char* 文字型（ポインタ）」が設定されています。分類区分とタイプの対応については「2.4.1(3)(a)　分類」を参照してください。

ほかの「言語区分」と「タイプの種類」に対する標準に設定されているタイプの組み合わせも，同様に，この規則に従っています。ただし，分類区分の「分類なし」は標準のタイプの組み合わせには設定されていません。

必要に応じて，整合性を取るタイプの組み合わせを変更してください。

また，言語区分SQLのタイプをHiRDBとして使用する場合，標準に設定されているタイプの組み合わせを変更する必要があります。例えば「COBOL又はOOCOBOL」のタイプ「X 英数字項目」に着目した場合，次の組み合わせを設定します。

(9)　タイプに対するレコード生成キーワードを編集する

レコード生成キーワードは，「COBOL又はOOCOBOL」および「C又はC++」の言語別のタイプごとに，データ項目の定義情報を，どのようにソースコードに生成するかを指定するものです。SEWB+/CONSTRUCTIONでアプリケーション開発を始める前に，レコード生成キーワードの内容を確認し，必要であれば編集してください。ただし，この内容は，SEWB+/CONSTRUCTIONおよびSEWB+/RECORD DEFINERでのすべてのプログラム生成およびレコード生成に有効になりますので，編集に際しては，あらかじめ十分な検討が必要です。

レコード生成キーワードの内容

レコード生成キーワードは，プログラミング言語で規定されたデータの定義と，データ項目の定義情報を置換するための可変記号（@で始まる文字列）で記述されます。標準設定の内容を表3-1および表3-2に示します。また，可変記号の生成規則を表3-3に示します。

表3-1　レコード生成キーワードの内容（COBOL又はOOCOBOL）

タイプ
レコード生成キーワード

X　英数字項目

@DATAITEM PIC X@LEN @OCCURS @VALUE

Z　数字編集項目

@DATAITEM PIC @EDITCHAR @OCCURS @VALUE

N　漢字項目

@DATAITEM PIC N@LEN @OCCURS @VALUE

9　符号なし外部10進項目

@DATAITEM PIC 9@ILEN@DLEN @OCCURS @VALUE

S　符号付き外部10進項目

@DATAITEM PIC S9@ILEN@DLEN @OCCURS @VALUE

U　符号なし内部10進項目

@DATAITEM PIC 9@ILEN@DLEN USAGE PACKED-DECIMAL @OCCURS @VALUE

P　符号付き内部10進項目

@DATAITEM PIC S9@ILEN@DLEN USAGE PACKED-DECIMAL @OCCURS @VALUE

BU　符号なし2進項目

@DATAITEM PIC 9@ILEN@DLEN USAGE BINALY @OCCURS @VALUE

B　符号付き2進項目

@DATAITEM PIC S9@ILEN@DLEN USAGE BINALY @OCCURS @VALUE

E　外部浮動小数点項目

@DATAITEM PIC @EDITCHAR @OCCURS

D　内部浮動小数点項目

@DATAITEM @COMP @OCCURS @VALUE

1　内部ブール項目

@DATAITEM PIC 1@LEN USAGE BIT @OCCURS @VALUE

8　外部ブール項目

@DATAITEM PIC 1@LEN USAGE DISPLAY @OCCURS @VALUE

T　アドレスデータ項目

@DATAITEM USAGE ADDRESS @OCCURS @VALUE

フリー定義

@DATAITEM @FREE

表3-2　レコード生成キーワードの内容（C又はC++）

タイプ
レコード生成キーワード

char　文字型

char @DATAITEM@OCCURS@LEN

char*　文字型（ポインタ）

char* @DATAITEM@OCCURS

short　符号付き短整数型

short @DATAITEM@OCCURS

unsigned short　符号なし短整数型

unsigned short @DATAITEM@OCCURS

int　符号付き整数型

int @DATAITEM@OCCURS

unsigned int　符号なし整数型

unsigned int @DATAITEM@OCCURS

long　符号付き長整数型

long @DATAITEM@OCCURS

unsigned long　符号なし長整数型

unsigned long @DATAITEM@OCCURS

float　単精度浮動小数点型

float @DATAITEM@OCCURS

double　倍精度浮動小数点型

double @DATAITEM@OCCURS

long double　拡張精度浮動小数点型

long double @DATAITEM@OCCURS

フリー定義

@FREE @DATAITEM

表3-3　可変記号の生成規則

可変記号
COBOL又はOOCOBOL
C又はC++

@DATAITEM
言語別の名前※1
言語別の名前※1

@LEN
けた数がnのとき「(n)」が生成される
けた数がnのとき「[n+1]」が生成される
分類が日本語文字列データの場合，1文字を2バイトとして扱い「[n×2+1]」となる

@PLEN
けた数がnのとき「(n)」が生成される
けた数がnのとき「[n]」が生成される
分類が日本語文字列データの場合，1文字を2バイトとして扱い「[n×2]」となる

@ILEN
けた数がm小数部けた数がnのとき「(m－nの値)」が生成される
－

@DLEN
小数部けた数がnのとき「V9(n)」が生成される
－

@OCCURS
反復回数がnのとき「OCCURS n」が生成される
反復回数がnのとき「[n]」が生成される

@VALUE
データ項目に初期値があるとき，「VALUE 初期値」が生成される※2
－

@EDITCHAR
編集文字列
－

@COMP
タイプがDのとき，次のどちらかが生成される
「COMP-1」：けた数が1～7の場合
「COMP-2」：けた数が8～16の場合
－

@FREE
フリー定義の内容
フリー定義の内容

（凡例）

－：指定できません（何も生成されません）。

注1

可変記号は必ず大文字で記述してください。

注2

可変記号に対応するデータ項目の定義情報がない場合には，何も生成されません。

注※1

言語別の名前が定義されていない場合は，データ項目名と置換されます。

注※2

SEWB+/CONSTRUCTIONのテンプレートの@@expand文に@VALUEの指定がない場合には，生成されません。

日立製以外のCOBOLを使用する場合には

言語区分「COBOL又はOOCOBOL」のレコード生成キーワードの内容はCOBOL2002の文法に従って設定されています。日立製以外のCOBOLを使用する場合は，タイプごとにデータを定義する文法に相違がないか確認し，違いがあればレコード生成キーワードを変更してください。例えば，PICTURE句の日本語データを定義する文字が異なる場合，タイプ「N 漢字項目」のレコード生成キーワード「@DATAITEM PIC N@LEN @OCCURS」の「N」を目的の文字に変更します。

(10)　検査項目を定義する

データ項目および業務ルールの検査項目から，適用する検査項目を選びます。

(a)　データ項目の検査項目

データ項目用に用意されているの各検査項目の内容を次に説明します。

データ項目名の一意性チェック
データ項目名を重複して付けていないかどうかをチェックします。同じデータ項目名があると，リポジトリブラウザでのデータ項目の編集の操作が自動的に中断されます。
標準では，リポジトリの中での一意性がチェックされます。リポジトリの辞書フォルダをグループに分けて指定し，その中での一意性をチェックする設定もできます。詳細については，「3.1.1(12)　データ項目名・業務ルール名の一意性チェック範囲を設定する」を参照してください。

名称と命名ルールのマッチングチェック
データ項目名，国語別の標準名称，フリガナおよび言語別の名前を，命名ルールに照らし合わせてチェックします。命名ルールの条件に従っていないと，エラーと判断されます。この検査項目を適用するには，あらかじめ命名ルールを定義しておく必要があります。命名ルールの定義については，「3.1.1(11)　命名ルールを定義する」を参照してください。

けた数とタイプの整合性チェック
けた数を，タイプに対応するけた数の範囲以内で定義しているかどうかをチェックします。範囲外のけた数を定義していると，エラーと判断されます。

タイプの組み合わせチェック
データ項目には，言語共通の分類区分に対して，言語別にタイプを定義できます。この言語間のタイプの整合性をチェックします。組み合わせに従っていないと，エラーと判断されます。

初期値の記述チェック
標準提供の検査DLLを使用し，「COBOL又はOOCOBOL」および「C又はC++」で言語別の初期値が各言語の文法に従って記述されているかどうかをチェックします。次に示すチェックの内容に従っていないと，エラーと判断されます。チェックの内容は分類区分に応じて異なります。

英数字文字列データ※¹，時刻データ※¹，日付データ※¹

文字列の先頭と末尾を引用符で囲んでいるか

半角文字で記述しているか

記述した文字数が，けた数の定義内容を超えていないか

日本語文字列データ※¹

日本語文字の先頭と末尾を引用符で囲んでいるか※2

記述した文字数が，けた数の定義内容を超えていないか

整数データ※¹

整数値を記述しているか

記述した文字数が，けた数の定義内容を超えていないか

正整数データ※¹

正の整数値を記述しているか

記述した文字数が，けた数の定義内容を超えていないか

実数データ※¹

実数値を記述しているか

記述した文字数が，けた数，小数部けた数の定義内容を超えていないか

注

SEWB+/REPOSITORYの辞書の検査では，「COBOL又はOOCOBOL」ではアポストロフィ（'）が，「C又はC++」ではダブルクォーテーション（"）が引用符と見なされます。

注※1

「COBOL又はOOCOBOL」で記述した16進の定数および表意定数はチェックの対象になりません。また，浮動小数点項目のけた数もチェックの対象になりません。

注※2

「COBOL又はOOCOBOL」の場合，日本語文字定数を表す分離符（例：「N'日本語'」）はエラーになりません。

編集文字列の記述チェック
標準提供の検査DLLを使用し，「COBOL又はOOCOBOL」のタイプに「Z 数字編集項目」または「E 外部浮動小数点項目」を定義したときに記述する編集文字列の定義内容について，次の項目をチェックします。

言語の文法に従って編集文字列を記述しているか

編集文字列の記述が，けた数の定義内容と一致しているか

構成項目の名前の重複チェック
結合項目だけを検査対象とします。
検査対象の結合項目を構成している構成項目の言語別詳細情報の名前が重複して付けられていないかどうかを言語区分ごとにチェックします。名前が重複して付けられていると，エラーと判断されます。構成項目が，さらに結合項目でもある場合，その結合項目の構成項目についても，名前が重複して付けられていないかどうかをチェックします。このように構成項目が結合項目を兼ねている間は，同様にチェックを繰り返していきます。
なお，言語別詳細情報の名前が定義されていない構成項目に限り，データ項目名を代わりにチェックします。

(b)　業務ルールの検査項目

業務ルール用に用意されている各検査項目の内容を次に説明します。

業務ルール名の一意性チェック
業務ルール名を重複して付けていないかどうかをチェックします。同じ業務ルール名があると，リポジトリブラウザでの業務ルールの編集の操作が自動的に中断されます。
標準では，リポジトリの中での一意性がチェックされます。リポジトリの辞書フォルダをグループに分けて指定し，その中での一意性をチェックする設定もできます。詳細については，「3.1.1(12)　データ項目名・業務ルール名の一意性チェック範囲を設定する」を参照してください。

名称と命名ルールのマッチングチェック
業務ルール名，国語別の標準名称，フリガナを，命名ルールに照らし合わせてチェックします。命名ルールの条件に従っていないと，エラーと判断されます。この検査項目を適用するには，あらかじめ命名ルールを定義しておく必要があります。命名ルールの定義については，「3.1.1(11)　命名ルールを定義する」を参照してください。

ルールスクリプトのキーワード使用チェック
業務ルールに使用する各データ項目に定義したキーワードが，ルールスクリプトに記述されているかどうかをチェックします。記述されていない場合は，エラーと判断されます。

(c)　検査項目のカスタマイズ

標準で用意されている検査項目は，DLLとして登録されています。これに加えて，SEWB+/REPOSITORYでは，プロジェクト独自の基準を反映して検査DLLを作成，登録するためのインタフェースを提供しています。検査項目インタフェースと検査DLLの作成方法については，「付録D　検査項目インタフェース」を参照してください。

(11)　命名ルールを定義する

検査で適用する命名ルールの条件を選択して，辞書フォルダ単位で定義項目別に値を設定します。次の定義項目に対する命名ルールを定義できます。

データ項目の名称…データ項目名，標準名称，フリガナ，言語別の名前

業務ルールの名称…業務ルール名，標準名称，フリガナ

例えば，辞書フォルダ「システム開発辞書」のデータ項目名，辞書フォルダ「社内向け辞書」の業務ルール名というように，辞書フォルダ単位で定義項目別に命名ルールを定義できます。プロジェクトの名称基準を基に命名ルールを定義することで，名称の標準化を図れます。

(a)　命名ルールの条件

命名ルールには，複数の条件を組み合わせて設定します。次に示す条件が標準に用意されています。

最大長（バイト数）
名称の最大の長さを統一する値を設定します。例えば，特定の辞書フォルダのデータ項目名の長さについて，20バイト以内という基準を設定したいときに利用します。

プリフィックス
名称のプリフィックス（接頭語）を設定します。例えば，辞書フォルダ「顧客管理システム辞書」のデータ項目名のプリフィックスを「KOKYAKU-」で統一するという基準を設定したいときに利用します。

カナ文字以外の使用
カナ文字以外の使用を制限するかどうかを設定します。例えば，定義項目「フリガナ」の定義内容をチェックする場合に使用します。

(b)　条件のカスタマイズ

標準で用意されている命名ルールの条件は，DLLとして登録されています。これに加えて，SEWB+/REPOSITORYでは，プロジェクト独自の名称基準を反映して条件DLLを作成，登録するためのインタフェースを提供しています。命名ルールインタフェースと条件DLLの作成方法については，「付録C　命名ルールインタフェース」を参照してください。

(12)　データ項目名・業務ルール名の一意性チェック範囲を設定する

データ項目名および業務ルール名の一意性チェック範囲の設定について説明します。この設定を有効にするには，データ項目の場合は検査項目「データ項目名の一意性チェック」を，業務ルールの場合は検査項目「業務ルール名の一意性チェック」を選択しておく必要があります。

チェック範囲の設定
リポジトリ内の辞書フォルダから，一意性チェックを実行したい辞書フォルダを選択してグループ分けすることで，チェック範囲を設定します。データ項目と業務ルール別に，それぞれ最大20のチェック範囲を設定できます。

一意性チェック範囲の設定例
一意性チェック範囲の設定例を示します。一意性チェックの検査は，範囲を設定した辞書フォルダ内で，データ項目や業務ルールを作成，移動または名称変更したときに実行されます。
辞書の構成例

データ項目の一意性チェック範囲の設定例
辞書の構成例に示した辞書フォルダに対する，データ項目の一意性チェック範囲の設定例を示します。

一意性チェック範囲名「プロジェクトA チェックグループ」
一意性チェックする辞書フォルダ：共通辞書，A辞書

一意性チェック範囲名「プロジェクトB チェックグループ」
一意性チェックする辞書フォルダ：共通辞書，B辞書

3.1.2　辞書フォルダを作成する

環境構築ユティリティを使用して，辞書フォルダをリポジトリに作成します。辞書フォルダにはリポジトリでユニークな名称を付け，運用状況に応じたアクセス権を設定してください。辞書フォルダを作成すると，辞書フォルダが管理するデータ項目辞書および業務ルール辞書も自動的に作成されます。

辞書フォルダを作成する場合には，その辞書フォルダでどのくらいの数の資源を管理するのかについても検討する必要があります。一つの辞書フォルダでは，最大30,000のデータ項目を管理できます。

＜この項の構成＞

(1)　辞書フォルダの定義項目

(2)　マルチ辞書を構築するには

(3)　辞書フォルダを変更または削除するときの留意事項

(1)　辞書フォルダの定義項目

(a)　辞書フォルダ名

プロジェクトでの辞書の用途や管理内容に合わせて，辞書フォルダを識別する名称を付けます。辞書フォルダにはリポジトリでユニークな名称を付けます。

辞書フォルダ名は必ず定義します。

文字数の上限（半角文字単位）は，1～92で設定できます。標準値は63です。

英数字，カナ文字，日本語文字を使えます。ただし，「：」，「｜」は使えません。また，文字列の途中に空白文字を含めてはいけません。

(b)　コメント

その辞書フォルダがどのような辞書情報を管理しているのか，使用目的や内容，使用時の注意事項などを記述します。4種類までの国語区分別に記述できます。

文字数の上限（半角文字単位）は，6500です。変更はできません。

任意の文字を使えます。

(2)　マルチ辞書を構築するには

リポジトリに複数の辞書フォルダを作成することで，マルチ辞書を構築できます。システム開発形態，プロジェクトの体制や運用などに合わせて，最適な辞書フォルダの構成を検討してください。構成を検討する場合には，次に説明する辞書の資源間の関連を考慮することをお勧めします。

(a)　データ項目同士の関連

データ項目の継承関係は，辞書フォルダ内にだけ定義できます。したがって，継承関係を定義する場合には，ドメインとするデータ項目が，同じ辞書フォルダ内に登録されている必要があります。同一の定義情報を持つドメインでも，マルチ辞書を構成するそれぞれの辞書フォルダに登録する必要があります。

データ項目の結合関係は，複数の辞書フォルダにわたって定義することもできます。例えば，辞書のレコード定義（最上位結合項目）を専用に管理する辞書フォルダ，レコード定義を構成する基本的なデータ項目を専用に管理する辞書フォルダというような分類ができます。

(b)　業務ルールとデータ項目の関連

業務ルールとデータ項目は，複数の辞書フォルダにわたって関連づけることもできます。例えば，あるプロジェクト専用のデータ項目を「辞書フォルダA」で管理し，別のプロジェクト専用のデータ項目を「辞書フォルダB」で管理する場合に，両方のプロジェクトから共用できる業務ルール専用の辞書フォルダを作成できます。

(3)　辞書フォルダを変更または削除するときの留意事項

(a)　辞書フォルダの環境を変更するとき

辞書フォルダの環境を変更（作成や削除）する前にクライアントのリポジトリブラウザを起動しているときには，変更後，再起動してください。

(b)　辞書フォルダを削除するとき

辞書フォルダを削除すると，その辞書フォルダが管理しているデータ項目辞書および業務ルール辞書もあわせて削除されます。

複数の辞書フォルダにわたって結合項目を定義している場合，削除する辞書フォルダに構成項目となるデータ項目がある場合には，辞書フォルダを削除できません。

複数の辞書フォルダにわたって業務ルールを定義している場合，削除する辞書フォルダに適用条件「専用にする」が定義された業務ルールがある場合には，辞書フォルダを削除できません。

3.1.3　同一項目用業務ルールを辞書に準備する

SEWB+/REPOSITORYでは，実際の業務に使用することを想定した同一項目用業務ルールを提供しています。この同一項目用業務ルールを利用するには，辞書を準備する際に，あらかじめ辞書に登録しておく必要があります。ここでは，同一項目用業務ルールの登録方法について説明します。

標準提供される同一項目用業務ルールの内容については，「付録E　標準提供の同一項目用業務ルール」を参照してください。

提供形態
CSV形式ファイルで提供されています。提供ディレクトリとファイル名を次に示します。

ディレクトリ：サーバのSEWB+ 基本開発環境の組み込み先パス名¥Repository¥Sample

ファイル名：moverule.csv

なお，組み込み先パス名は，デフォルトでは次のように設定されています。システムドライブとは，Windows Serverが組み込まれているドライブです。

システムドライブ:¥Program Files¥HITACHI¥Sewb

注意

64ビット版のWindowsでの，デフォルトの組み込み先パス名を次に示します。

システムドライブ:¥Program Files (x86)¥HITACHI¥Sewb

登録方法
CSV形式ファイルを入力する機能を使い，提供ファイルを辞書に登録します。この作業は，サーバでシステム管理者が行ってください。
［スタート］メニューの［プログラム］または［すべてのプログラム］から［Sewb+］－［Repository］－［CSV入力］を選びます。［CSV入力］ダイアログで，次の指定をして実行すると，指定した辞書フォルダの業務ルール辞書に同一項目用業務ルールが登録されます。

「登録先辞書フォルダ」で，同一項目用業務ルールを登録する辞書フォルダを指定する

「CSV入力ファイル名」に「サーバのSEWB+ 基本開発環境の組み込み先パス名¥Repository¥Sample¥moverule.csv」を指定する

「入力する辞書種別」で「業務ルール」を選ぶ

3.1.4　タイプマッピングの規則を定義する

ODBC入力や，ERwin/ERXと連携したCSV入力を使って辞書登録をすると，元のタイプはマッピング規則に従ってSEWB+/REPOSITORYの分類区分や言語別タイプ，けた数，小数部けた数に変換されます。

この変換に適用するタイプマッピング規則は，環境構築ユティリティでカスタマイズできます。プロジェクトに応じて，変換元のタイプと，変換先の分類区分や言語別タイプなどの対応を定義できます。また，変換元のスケールや精度（長さ）に基づく条件を指定して，条件ごとの変換規則も定義できます。

なお，標準で用意されているタイプマッピング規則を適用する場合は，カスタマイズは必要ありません。標準のタイプマッピング規則の内容については，「4.2.2(2)(c)　ODBCタイプマッピングの規則」および「付録B.2(5)　ERwin/ERX タイプマッピングの規則」を参照してください。

3.2　辞書情報のセキュリティ

ここでは，辞書情報を保護するためのアクセス権の設定と，排他制御の概要について説明します。

＜この節の構成＞

3.2.1　アクセス権の設定

3.2.2　排他制御

3.2.1　アクセス権の設定

辞書の作成者や利用者というようにユーザを分類して，アクセス権を設定すれば辞書情報に対する操作を制限できます。アクセス権の設定は，プロジェクトの大切な共有資源である辞書情報を保護し，整合性を保つことを目的としています。次に示す単位にアクセス権を設定できます。

辞書フォルダ

データ項目

業務ルール

ユーザの分類方法と権限の種類については，マニュアル「SEWB+/REPOSITORY 運用ガイド」を参照してください。アクセス権の種類と許可される操作の詳細は，ヘルプを参照してください。

＜この項の構成＞

(1)　辞書フォルダに設定するアクセス権

(2)　データ項目に設定するアクセス権

(3)　業務ルールに設定するアクセス権

(1)　辞書フォルダに設定するアクセス権

辞書フォルダに設定できるアクセス権の種類と，初期値を説明します。辞書フォルダのアクセス権は，サーバの環境構築ユティリティで変更できます。

(a)　アクセス権の種類

辞書フォルダのアクセス権は，「読み取り」，「書き込み」，「作成」および「削除」の4種類の権限の組み合わせで構成されます。辞書フォルダを作成するには，「書き込み」権限が必要です。「作成」権限では，辞書フォルダが管理する下位のデータ項目や業務ルールの作成ができます。

アクセス権の種類 | 権限の内容
アクセス権なし※ | アクセスできない
読み取り | 読み取りの権限を持つ
変更 | 読み取り，作成の権限を持つ
フルコントロール | 読み取り，作成，書き込みの権限を持つ
特殊なアクセス権 | 各権限をユーザの必要に応じて，任意に組み合わせたアクセス権

注※

環境構築ユティリティ，リポジトリブラウザのどちらにも辞書フォルダの情報（名称やアクセス権）は表示されません。

(b)　アクセス権の初期値

環境構築ユティリティで辞書フォルダを作成するとき，あらかじめ設定されている初期値を次に示します。コマンドを使った一括登録で新しい辞書フォルダを作成する場合には，アクセス権の初期値が自動的に設定されます。

所有者：フルコントロール

グループ：変更

すべてのユーザ：読み取り

(2)　データ項目に設定するアクセス権

データ項目に設定できるアクセス権の種類と，初期値を説明します。データ項目のアクセス権は，クライアントのリポジトリブラウザで変更できます。変更の際には，下位データ項目も含めて設定することもできます。

(a)　アクセス権の種類

データ項目のアクセス権は，「読み取り」，「書き込み」および「削除」の3種類の権限の組み合わせで構成されます。

アクセス権の種類 | 権限の内容
アクセス権なし | アクセスできない
読み取り | 読み取りの権限を持つ
変更 | 読み取り，書き込みの権限を持つ
フルコントロール | 読み取り，書き込み，削除のすべての権限を持つ
特殊なアクセス権 | 各権限をユーザの必要に応じて，任意に組み合わせたアクセス権

(b)　アクセス権の初期値

リポジトリブラウザでデータ項目を作成するとき，あらかじめ設定されている初期値を次に示します。コマンドを使った一括登録で新しいデータ項目を作成する場合には，アクセス権の初期値が自動的に設定されます。なお，CSV形式ファイル入力コマンドで新しいデータ項目を作成するとき，CSV形式ファイル上に直接アクセス権の値を記述している場合は，その値が設定されます。

所有者：フルコントロール

グループ：変更

すべてのユーザ：読み取り

(3)　業務ルールに設定するアクセス権

業務ルールに設定できるアクセス権の種類と，初期値を説明します。業務ルールのアクセス権は，クライアントのリポジトリブラウザで変更できます。

(a)　アクセス権の種類

業務ルールのアクセス権は，「読み取り」，「書き込み」および「削除」の3種類の権限の組み合わせで構成されます。

アクセス権の種類 | 権限の内容
アクセス権なし | アクセスできない
読み取り | 読み取りの権限を持つ
変更 | 読み取り，書き込みの権限を持つ
フルコントロール | 読み取り，書き込み，削除のすべての権限を持つ
特殊なアクセス権 | 各権限をユーザの必要に応じて，任意に組み合わせたアクセス権

(b)　アクセス権の初期値

リポジトリブラウザで業務ルールを作成するとき，あらかじめ設定されている初期値を次に示します。コマンドを使った一括登録で新しい業務ルールを作成する場合には，アクセス権の初期値が自動的に設定されます。なお，CSV形式ファイル入力コマンドで新しい業務ルールを作成するとき，CSV形式ファイル上に直接アクセス権の値を記述している場合は，その値が設定されます。

所有者：フルコントロール

グループ：変更

すべてのユーザ：読み取り

3.2.2　排他制御

複数のユーザが同じ辞書情報に対して操作しているとき，自動的に排他制御が働き，辞書情報の二重更新が防止されます。排他制御の機能は，辞書情報の整合性を保つことを目的としています。

排他制御の単位
辞書フォルダ，データ項目および業務ルール単位の操作に排他制御が働きます。

データ項目の階層単位の排他制御
データ項目は継承関係によって階層化されるため，上位データ項目の定義情報を変更すると，下位データ項目の定義情報にも波及します。そこで，データ項目では，階層単位の操作についても排他制御が働きます。操作しているデータ項目の変更がほかに波及する場合や，ほかのデータ項目変更がそのデータ項目に波及する場合には，メッセージが表示されるため，留意してください。

3.3　辞書の配布，複製

分散された複数のサーバ（リポジトリ）間で辞書を運用するには，エクスポート・インポートユティリティを使用します。この機能は，サーバでシステム管理者だけが利用できます。

リポジトリの資源をファイル形式で外部媒体に取り出すことをエクスポートといいます。また，取り出したエクスポートファイルをリポジトリに取り込むことをインポートといいます。

ここでは辞書を中心に説明していますが，エクスポート・インポートはシステム管理者が，分散環境，ドキュメントと辞書，相互の資源に付けられた関連を合わせて検討した上で運用していきます。エクスポート・インポートユティリティの全体像と運用例については，マニュアル「SEWB+/REPOSITORY 運用ガイド」を参照してください。また，詳しい操作方法については，ヘルプを参照してください。

＜この節の構成＞

3.3.1　複数のリポジトリで辞書を運用する

3.3.2　辞書のエクスポート

3.3.3　辞書のインポート

3.3.1　複数のリポジトリで辞書を運用する

＜この項の構成＞

(1)　運用の目的に応じたエクスポート・インポートの利用

(2)　エクスポート・インポートの流れ

(3)　効率良く運用するには

(4)　辞書をエクスポート・インポートするときの留意事項

(1)　運用の目的に応じたエクスポート・インポートの利用

エクスポート・インポートは，次の2とおりの運用が想定されています。この考え方は，辞書とドキュメント共通のものです。

(a)　リポジトリの資源の配布

ほかの開発環境にオリジナルの資源を配布する運用です。辞書フォルダや資源同士の関連などを，すべてオリジナルと同じ状態で配布先のリポジトリに再現することを目的とします。

例えば，複数のリポジトリで同じ辞書を使って開発を進めたいとき，まず初めに，オリジナルの辞書を管理するリポジトリで，辞書登録をします。次に，完成した辞書をエクスポートし，配布先のリポジトリへインポートします。これによって，複数の開発環境や拠点へ速やかに辞書の環境を構築できます。さらに配布を繰り返す運用をしたい場合には，一度全体をエクスポートすれば，2回目からは前回にエクスポートした時点から追加または変更のあった情報だけをエクスポートすることなどもでき，作業の効率化を図れます。

また，システムの開発やコンポーネント機能の開発が終了したときに，その辞書をリポジトリから外部媒体に取り出して管理したい場合にも利用できます。辞書をエクスポートでファイルに取り出し，あとでシステムの保守や拡張が必要になったときリポジトリにインポートで取り込めば，以前と同じ環境に戻せます。

(b)　リポジトリの資源の複製

オリジナルの資源を基に，別の開発環境を構築するときの運用です。複製元（エクスポート元）のリポジトリの資源と複製先（インポート先）のリポジトリの資源は，運用の異なる別の資源として扱います。

例えば，新規システムの辞書を構築するとき，データ分析をした結果，既存システムの辞書を流用できる場合には，新規システムの開発環境に辞書を複製して効率の良い辞書登録ができます。

配布，複製のどちらの運用でも，インポート先に新規に追加する資源に対してエクスポート元とは別のアクセス権を設定できます。例えば，辞書を配布する際に，インポート先の辞書の資源に対して変更操作を制限するアクセス権を設定します。このようにして，オリジナル辞書と配布した辞書との整合性を守るというような運用ができ，辞書の管理が容易になります。

(2)　エクスポート・インポートの流れ

エクスポート・インポートをするには，まず複数の運用パターンを分散環境や運用状況に応じて設定し，用意しておきます。これを，エクスポートに対してはエクスポート運用，インポートに対してはインポート運用といいます。エクスポート・インポート運用を作成することで，辞書の配布や複製を定型化できます。また，一度運用を作成しておけば，ユティリティのウィンドウから実行するほか，コマンドで実行することもできるため作業の効率化を図れます。

エクスポート・インポートの実行時にはログ情報を取得できます。実行日時，運用名，エクスポートファイル名，対象となった資源の一覧情報などのログが出力されます。辞書の管理者は，分散されているサーバ間の辞書情報が相互に整合性があるかどうか，適切なタイミングでエクスポート・インポート作業が行われたかどうかを把握している必要があります。ログ情報を取得して，辞書の管理に役立てることをお勧めします。

エクスポート・インポートユティリティを使ったエクスポート・インポートの流れを次の図に示し，おおまかな手順を説明します。

図3-1　エクスポート・インポートの流れ

(a)　エクスポートの手順

エクスポート運用を設定する
目的に応じて運用名を決め，エクスポートする資源などを設定します。辞書については，エクスポートする辞書フォルダ，どの資源や関連情報をエクスポートするか，また，データ項目や業務ルールの絞り込み条件などを設定します。

エクスポートを実行する
運用名を指定してエクスポートを実行します。エクスポート運用の設定内容に従って，リポジトリの資源がエクスポートファイルに取り出されます。このあと，インポートに備えて，エクスポートファイルを資源の受け取り側のサーバに転送するか，またはそのサーバから参照できるようにします。

(b)　インポートの手順

インポート運用を設定する
目的に応じて運用名を決め，インポートするエクスポートファイル，インポート方法，インポート先の辞書フォルダ，追加される資源に与えるアクセス権などを設定します。

インポートを実行する
運用名を指定してインポートを実行します。インポート運用の設定内容に従って，エクスポートファイルの資源がリポジトリに取り込まれます。

(3)　効率良く運用するには

システム開発資源のすべてを定期的にバックアップするような運用をしたい場合は，Windows Serverのファイルシステムに用意されているバックアップ機能を使用します。環境構築ユティリティを使用すれば，バックアップのためのコマンドファイルを生成できます。詳細は，マニュアル「SEWB+/REPOSITORY 運用ガイド」を参照してください。

また，辞書の配布に際して毎回，全体をエクスポートすると，処理時間が掛かり，作業効率が下がります。2回目からは，追加または変更のあった情報だけをエクスポート・インポートして作業の効率化を図ることをお勧めします。

(4)　辞書をエクスポート・インポートするときの留意事項

(a)　辞書をインポートできるサーバ

辞書に関する情報をインポートできるサーバを次に示します。

自サーバ※

自サーバと異なるノードIDを持つ，ほかのサーバ
この条件に合わないサーバへリポジトリの資源をインポートしたいときには，次のどちらかの方法でインポートしてください。ただし，この作業をした場合，「インポート方法1」では，配布先のドキュメントとデータ項目および業務ルールの関連を復元できません。また，「インポート方法2」では，配布元のドキュメントとデータ項目および業務ルールの関連をインポートできません。

注※

自サーバの資源をエクスポートしたあと，自サーバのデータベースを初期化すると，エクスポートした資源を配布の目的でインポートすることはできません。この場合は，「インポート方法2」の2.を行ってください。

<インポート方法1>

配布先のリポジトリの資源をエクスポートする。

配布先のサーバを初期化する。
データベースの環境を設定するとき，必ずほかのサーバと異なるノードIDを設定してください。ノードIDの設定については，マニュアル「Groupmax Object Server Version 6 システム管理者ガイド」を参照してください。サーバの初期化については，マニュアル「SEWB+ /REPOSITORY 運用ガイド」を参照してください。

1.の資源を，元のサーバに復元する。
このときの辞書のインポート運用の設定では「指定した辞書フォルダへ複製する」※を選択し，ドキュメントのインポート運用の設定では「ドキュメントとデータ項目間の関連をインポートしない」および「ドキュメントと業務ルール間の関連をインポートしない」を選択してください。

注※

自サーバの資源をエクスポートしたあと，自サーバのデータベースを初期化すると，エクスポートした資源を配布の目的でインポートすることはできません。必ず複製の目的でインポートしてください。

配布元から配布先へエクスポート・インポートする。

<インポート方法2>

配布元のリポジトリの資源をエクスポートする。

1.をインポートする。
このときの辞書のインポート運用の設定では「指定した辞書フォルダへ複製する」を選択し，ドキュメントのインポート運用の設定では「ドキュメントとデータ項目間の関連をインポートしない」および「ドキュメントと業務ルール間の関連をインポートしない」を選択してください。

(b)　辞書フォルダをサーバ間で相互に配布する場合

辞書フォルダをサーバ間で相互に配布する場合は，エクスポート運用の「他の辞書フォルダのデータ項目を一緒にエクスポートする」の設定を解除してください。標準の設定では，結合項目をエクスポートしたときに構成項目もエクスポートされ，資源の管理元となっている辞書フォルダ内のデータ項目が上書きされてしまう場合があります。「他の辞書フォルダのデータ項目を一緒にエクスポートする」の設定を解除することでこれを回避できます。

ただし，この設定では，構成項目となるデータ項目がインポート先に存在しなかった場合はエラーとなり，インポートが中断されます。

3.3.2　辞書のエクスポート

＜この項の構成＞

(1)　エクスポート運用の設定

(2)　辞書と関連情報のエクスポート規則

(1)　エクスポート運用の設定

辞書に関する設定を中心に，エクスポート運用の設定内容を説明します。

次に示すエクスポート方法は，エクスポート運用を実行するときに指定します。

全体エクスポート： エクスポートのたびに，設定した範囲内のすべての資源がエクスポートの対象になります。

増分エクスポート： 前回のエクスポート以降に追加または変更のあった情報だけがエクスポートの対象になります。ただし，環境構築情報は変更の有無に関係なく対象になります。

運用名，エクスポートファイル

辞書およびドキュメント共通の設定内容です。目的に応じて固有の運用名を定義し，資源を取り出すエクスポートファイルを指定します。

エクスポートする辞書フォルダ，対象資源

エクスポートする辞書フォルダを指定します。マルチ辞書を構成している複数の辞書フォルダを指定できます。この場合，エクスポートする資源や絞り込み条件の指定は共通になります。したがって，辞書フォルダごとに別の設定が必要なときには，エクスポート運用を分けてください。

辞書のどの資源を対象にするかを選択します。次の3とおりから対象資源の範囲を選択できます。
1. 辞書フォルダのすべての資源
2. 条件に一致するデータ項目とそのデータ項目に関連する業務ルール
3. 条件に一致する業務ルールとその業務ルールに関連するデータ項目

データ項目の絞り込み条件

対象資源に2.を選んだ場合，エクスポートするデータ項目を条件を指定して絞り込めます。必要に応じ，絞り込み条件（名称の文字列，国語区分，言語区分など）を指定してください。さらに，絞り込み条件に一致したデータ項目を継承している下位のデータ項目もエクスポートするかどうかを指定します。

業務ルールの絞り込み条件

対象資源に3.を選んだ場合，エクスポートする業務ルールを条件を指定して絞り込めます。必要に応じ，絞り込み条件（名称の文字列，国語区分など）を指定してください。

エクスポートするドキュメント

ルートドキュメントフォルダまたはシステムバージョンで，エクスポートするドキュメントを指定します。ドキュメントと辞書を同時にエクスポートする場合には，必要に応じて，ドキュメントとデータ項目，またはドキュメントと業務ルールの関連のエクスポートを指定します。

ログ情報の取得方法

メッセージログおよび実行結果リストの出力について指定します。

(2)　辞書と関連情報のエクスポート規則

辞書と辞書の関連情報がどのようにエクスポートされるのかを説明します。

(a)　データ項目のエクスポート

データ項目とデータ項目に関連する業務ルール
対象資源に，「条件に一致するデータ項目とそのデータ項目に関連する業務ルール」を指定した場合は，エクスポート対象のデータ項目だけでなく，そのデータ項目に関連する業務ルールもエクスポートされます。ただし，業務ルールに定義したデータ項目の適用形態が「専用にする」の場合には，その業務ルールに関連するデータ項目がすべてエクスポートの対象になっていることが前提となります。エクスポート運用に設定していない辞書フォルダの業務ルールでも，エクスポート対象のデータ項目と関連があれば，エクスポートされます。

継承関係の下位データ項目
絞り込み条件に下位データ項目のエクスポートを指定した場合，エクスポートの対象となったデータ項目を継承するすべての下位データ項目がエクスポートされます。この場合のエクスポート範囲の例を次の図に示します。

図3-2　下位データ項目を指定した場合のエクスポート範囲の例

同様の関連が定義された辞書で下位データ項目のエクスポートを指定しない場合の例を次の図に示します。

図3-3　下位データ項目を指定しない場合のエクスポート範囲の例

結合関係，継承関係にあるデータ項目
エクスポート対象のデータ項目が，結合項目または継承関係の下位データ項目の場合，次に示すデータ項目もエクスポートされます。

エクスポート対象の結合項目の構成項目

結合関係の最下位にある構成項目までが対象になります。この構成項目のうち，エクスポート運用に設定していない辞書フォルダにあるものについてはエクスポートの対象にするかどうかを指定できます。

　注

エクスポート運用で，「辞書」タブの「関連のある他の辞書フォルダの資源をエクスポートする」を指定しない場合，そのエクスポート運用に指定した複数の辞書フォルダ間で相互に関連があるときはエクスポートは実行できません。そのような場合には，「関連のある他の辞書フォルダの資源をエクスポートする」を指定してください。

例を次の図に示します。

図3-4　辞書フォルダ間に相互関連がある場合

この例では，辞書Aの資源である結合項目Aは，辞書Bの資源である単項目B1を構成項目にしています。また，辞書Bの資源である結合項目Bは，辞書Aの資源である単項目A2を構成項目にしています。この場合，「辞書」タブの「関連のある他の辞書フォルダの資源をエクスポートする」を指定しなければ，エクスポートは実行できません。

エクスポート対象のデータ項目の上位データ項目

継承関係にある最上位データ項目までが対象になります。

関連情報
エクスポート運用の設定によって対象になったデータ項目の範囲内に付けられた次の関連情報がエクスポートされます。

データ項目間の継承の関連，結合の関連

データ項目と業務ルールの関連

データ項目とドキュメントの関連※

注※

辞書とドキュメントを同時にエクスポートするとき，エクスポート運用にこの関連情報を指定していることが前提になります。

関連情報のエクスポートの例を次の図に示します。

図3-5　関連情報のエクスポートの例

(b)　業務ルールのエクスポート

業務ルールと業務ルールに関連するデータ項目
対象資源に，「条件に一致する業務ルールとその業務ルールに関連するデータ項目」を指定した場合は，エクスポート対象の業務ルールだけでなく，その業務ルールに関連するデータ項目もエクスポートされます。

関連情報
エクスポート運用の設定によって対象になった業務ルールの範囲内に付けられた次の関連情報がエクスポートされます。
業務ルールとデータ項目の関連
業務ルールとドキュメントの関連

(c)　環境構築情報のエクスポート

辞書に関する環境構築情報として，次の情報をエクスポートできます。環境構築情報のエクスポートについては，マニュアル「SEWB+/REPOSITORY 運用ガイド」を参照してください。

辞書フォルダ
辞書資源をエクスポート対象にした場合にエクスポートされます。

データ項目情報
データ項目や業務ルールに関する各種の環境構築情報がエクスポートされます。ただし，命名ルール情報や検査項目情報は対象になりません。

タイプマッピング情報
ODBC入力や，ERwin/ERXと連携したCSV入力をするときのタイプの変換規則がエクスポートされます。

3.3.3　辞書のインポート

＜この項の構成＞

(1)　インポート運用の設定

(2)　辞書と関連情報のインポート規則

(1)　インポート運用の設定

辞書に関する設定を中心に，インポート運用の設定内容を説明します。

運用名，インポートするエクスポートファイル

辞書およびドキュメント共通の設定内容です。目的に応じて固有の運用名を定義し，インポートで取り込むエクスポートファイルを指定します。

辞書のインポート方法，インポート先の辞書フォルダ

目的に応じたインポート方法を選択します。

　挿入インポート

インポート先にない情報をエクスポートファイルから追加します。インポート先に同じ情報があっても，置換しません。

　上書きインポート

インポート先にない情報をエクスポートファイルから追加します。また，インポート先に同じ情報があれば，エクスポートファイルの情報と置換します。

運用の目的に応じてインポート先の辞書フォルダを指定します。

　辞書を配布する

「すべてエクスポート元と同じ辞書フォルダへ配布する」を選びます。

　辞書を複製する

「指定した辞書フォルダに複製する」を選び，エクスポート元の辞書フォルダ単位にインポート先の辞書フォルダを指定します。このとき，インポート先の辞書フォルダを指定しないと情報はインポートされないことを留意してください。

インポートで新規に追加される辞書フォルダに設定するアクセス権を指定します。

データ項目のアクセス権

インポートで新規に追加されるデータ項目に，エクスポート元と同じアクセス権の設定を指定するか，または新たに設定するアクセス権を指定します。

業務ルールのアクセス権

インポートで新規に追加される業務ルールに，エクスポート元と同じアクセス権の設定を指定するか，または新たに設定するアクセス権を指定します。

ドキュメントのインポート方法，インポート先，対象資源など

辞書と同様に，インポート方法などを指定します。辞書とドキュメントを同時にインポートする場合には，必要に応じて，ドキュメントとデータ項目間，またはドキュメントと業務ルール間の関連のインポートを指定してください。

ログ情報の取得方法

メッセージログおよび実行結果リストの出力について指定します。

(2)　辞書と関連情報のインポート規則

辞書と辞書の関連情報がどのようにインポートされるのかを説明します。

(a)　インポートで回復されるエクスポート元の情報

エクスポート方法および辞書のインポート方法によって異なります。データ項目，業務ルール，データ項目間の関連，およびデータ項目と業務ルールの関連情報の回復方法を次に示します。

全体エクスポートした情報
挿入インポートでは，設定範囲内のすべての情報を基に追加します。
上書きインポートでは，設定範囲内のすべての情報を基に追加および置換します。

増分エクスポートした情報
挿入インポートでは，設定範囲内から増分として抽出された情報を基に追加します。
上書きインポートでは，設定範囲内から増分として抽出された情報を基に追加および置換します。

注1

追加とは，インポート先に同じ情報がない場合に追加することです。また，置換とは，インポート先に同じ情報があればその情報を置換することです。

注2

データ項目および業務ルールの検査状態は，インポートしてもエクスポート元の情報は回復されません。

(b)　インポート先の辞書フォルダ

インポート先のリポジトリに配布または複製の目的に対応した辞書フォルダがない場合には，次の規則で自動的に作成されます。

配布を目的にエクスポート元と同じ辞書フォルダへインポートする場合には，エクスポート元と同じ名称の辞書フォルダが自動的に作成されます。また，複製を目的に辞書フォルダを指定してインポートする場合には，インポート運用に設定した名称の辞書フォルダが自動的に作成されます。どちらの場合も作成された辞書フォルダには，エクスポート元の辞書フォルダと同じコメントが付けられます。

(c)　エクスポート運用に設定していない辞書フォルダ資源のインポート

辞書と関連情報のエクスポート規則にあるように，運用に設定しなかった辞書フォルダの資源でも，結合およびデータ項目と業務ルールの関連を基にエクスポートされる場合があります。この資源がどのようにインポートされるのかを次に説明します。なお，どの場合もインポートされる資源が関連を持っていれば，その関連もインポートされます。

挿入インポートでの扱い
エクスポート元と同じ名称の辞書フォルダに資源が作成されます。ただし，この資源が継承関係の下位データ項目および構成項目で，上位データ項目がエクスポート元とは異なる辞書フォルダにある場合は，上位データ項目と同じ辞書フォルダに作成されます。エクスポート元と同じ名称の辞書フォルダがない場合は，その辞書フォルダが自動的に作成され，この中に構成項目が作成されます。

上書きインポートでの扱い
エクスポート元と同じ名称の辞書フォルダに資源が作成されます。すでにその辞書フォルダに資源がある場合は，エクスポート元と同じ名称の辞書フォルダに資源が移動し，置換されます。なお，エクスポート元と同じ名称の辞書フォルダがない場合は，その辞書フォルダが自動的に作成されます。

複製を目的に，辞書フォルダを指定してインポートした場合の扱い
指定外の辞書フォルダにあった資源については，新しい辞書フォルダが自動的に作成され，その中にインポートされます。この辞書フォルダには「エクスポート元の辞書フォルダ名-WORK」の名称が付けられます。

(d)　複製を目的とした，相互に関連する辞書フォルダのインポート

この場合の運用は2とおり考えられます。別の辞書フォルダのデータ項目同士が結合関係にある場合の例を次の図に示します。

図3-6　相互に関連する辞書フォルダのインポート

相互に関連する辞書フォルダを同時に複製する
図は，辞書フォルダA，Bを同時に複製する場合の例です。辞書フォルダA，Bを同時にエクスポートします。そして，インポートではインポート先にそれぞれX，Yを指定しています。辞書フォルダの資源および相互の関連が，そのままインポート先に指定した辞書フォルダに複製されます。

相互に関連する辞書フォルダから，特定の辞書フォルダだけを複製する
図は，辞書フォルダA，Bを同時にエクスポートしていますが，インポートではAに対してだけインポート先にXを指定しています。この例のように，インポートで指定しなかった辞書フォルダに関連する資源がある場合には，辞書フォルダが自動的に作成され，その辞書フォルダとの関連と，関連する資源だけが複製されます。

(e)　辞書（データ項目，業務ルール）とドキュメント間の関連

辞書とドキュメントを複製の目的でインポートした場合には，辞書のデータ項目または業務ルールとドキュメント間の関連はインポートされません。

(f)　環境構築情報のインポート

インポート先の環境構築情報（辞書フォルダやデータ項目などの情報）の情報は，エクスポート元の環境構築情報に置換されます。

(g)　インポートの中止

インポートを中止した場合，中止する前までの資源はインポート先に登録されているので，エクスポート元のリポジトリとインポート先のリポジトリで矛盾が生じてしまいます。インポート先のリポジトリを回復するためには，中止したインポートを再実行してインポートを完了させる必要があります。

4.　辞書情報の一括登録と出力

SEWB+/REPOSITORYには，辞書情報を一括して登録したり出力したりするための機能が用意されています。この機能を利用すれば一度に複数の辞書情報を扱えるため，作業の効率化と既存の開発資源の有効利用を図れます。

この章では，一括して辞書情報を扱う作業と機能の使い方を説明します。

＜この章の構成＞

4.1　CSV形式ファイルを使って辞書登録と出力をする

4.2　データベースから辞書のレコード定義（最上位結合項目）を生成する

4.3　SEWB3資産を移行する

4.1　CSV形式ファイルを使って辞書登録と出力をする

CSV形式とは，表計算プログラムやリレーショナルデータベースで扱える一般的なテキストデータの形式です。このCSV形式でデータが記述されたファイルをCSV形式ファイルと呼びます。

SEWB+/REPOSITORYでは，CSV形式ファイルを使って一括して辞書情報を登録または出力できる機能を用意しています。この機能を「CSV入力」，「CSV出力」といいます。コマンドで実行することもでき，入力に使用するコマンドをCSV形式ファイル入力コマンド，出力に使用するコマンドをCSV形式ファイル出力コマンドといいます。

＜この節の構成＞

4.1.1　アプリケーション間の辞書情報の受け渡し

4.1.2　CSV形式ファイルの入力

4.1.3　CSV形式ファイル入力コマンド（RPCsvin）の使い方

4.1.4　CSV形式ファイルの出力

4.1.5　CSV形式ファイル出力コマンド（RPCsvout）の使い方

4.1.6　CSV形式の記述規則

4.1.7　CSV形式ファイルフォーマット

4.1.1　アプリケーション間の辞書情報の受け渡し

CSV形式ファイルを経由したアプリケーション間の辞書情報の受け渡しの利用例を次に説明します。

データ分析やデータベース設計ツールから情報を連携する

システム開発の上流工程を支援するアプリケーションから，データ分析結果やデータ構造に関する情報を引き継いで辞書に登録します。アプリケーションで扱えるCSV形式のファイルフォーマットはそれぞれ異なるため，情報を連携したいアプリケーションに対応したフォーマットを使用します。

表計算プログラムを利用して一覧表示や印刷をする

表計算プログラムを使ってデータ分析結果をまとめている場合，その情報を引き継いで辞書に登録します。また，実際に辞書を運用しているときのメンテナンス作業では，辞書情報を印刷したり，一覧表で確認したりします。

テキストエディタで直接，編集する

メモ帳などのテキストエディタで直接，辞書情報を編集したりCSV形式ファイルのフォーマットを変更したりします。

CSV形式ファイルを経由したアプリケーション間の辞書情報の受け渡しの例を次の図に示します。

図4-1　アプリケーション間での情報の受け渡しの例

SEWB+/REPOSITORYで扱うフォーマットや使い方の概要を理解していただくため，CSV形式ファイルのサンプルが用意されています。表計算プログラムやテキストエディタを使って参照したり，辞書登録を体験したりすることをお勧めします。

デ－タ項目辞書と業務ルール辞書の2種類のサンプルファイルがあります。それぞれのファイルの概要を次の図に示します。

図4-2　CSV形式ファイルのサンプル

サンプルの提供ディレクトリとファイル名を次に示します。

ディレクトリ：

SEWB+ 基本開発環境の組み込み先パス名¥Repository¥sample（サーバの場合）

または

SEWB+ 基本開発環境の組み込み先パス名¥Repository-Browser¥sample（クライアントの場合）

ファイル名：

sampledi.csv（データ項目辞書）

samplebr.csv（業務ルール辞書）

サンプルの登録手順
「CSV入力」を使い，CSV形式ファイルを辞書登録します。次の手順で登録すると，辞書フォルダ「Sample」の下にデータ項目と業務ルールが作成されます。

データ項目辞書のサンプル入力
［スタート］メニューの［プログラム］または［すべてのプログラム］から［Sewb+］－［Repository］－［CSV入力］を選び，表示されるダイアログで次の指定をして実行します。

［CSV入力］ダイアログ
［登録先辞書フォルダ］の［新規に作成する］をオンにし，「Sample」を指定。
［入力CSV形式ファイル名］に，データ項目辞書のサンプルファイル名を指定。
［入力する辞書種別］に「データ項目」を指定。

［CSV入力オプション］ダイアログ
［CSVファイルのヘッダを識別する］をオン指定。

業務ルール辞書のサンプル入力
［スタート］メニューの［プログラム］または［すべてのプログラム］から［Sewb+］－［Repository］－［CSV入力］を選び，表示されるダイアログで次の指定をして実行します。

［CSV入力］ダイアログ
［登録先辞書フォルダ］の［既存の辞書フォルダに登録する］をオンにし，「Sample」を指定。
［入力CSV形式ファイル名］に業務ルール辞書のサンプルファイル名を指定。
［入力する辞書種別］に「業務ルール」を指定。

［CSV入力オプション］ダイアログ
［CSVファイルのヘッダを識別する］をオン指定。

なお，組み込み先パス名は，デフォルトでは次のように設定されています。システムドライブとは，Windowsが組み込まれているドライブです。

システムドライブ:¥Program Files¥HITACHI¥Sewb

注意

64ビット版のWindowsでの，デフォルトの組み込み先パス名を次に示します。

システムドライブ:¥Program Files (x86)¥HITACHI¥Sewb

データ項目辞書，業務ルール辞書のそれぞれに対応したCSV形式のファイルフォーマットは，入力と出力で共通に使用できます。詳細は，「4.1.7　CSV形式ファイルフォーマット」を参照してください。

4.1.2　CSV形式ファイルの入力

ここでは， CSV形式ファイルから辞書情報を入力する場合の入力規則について説明します。

ダイアログでの操作については，ヘルプを参照してください。また，CSV形式ファイル入力コマンドの指定方法については，「4.1.3　CSV形式ファイル入力コマンド（RPCsvin）の使い方」を参照してください。

＜この項の構成＞

(1)　データ項目辞書の入力規則

(2)　業務ルール辞書の入力規則

(1)　データ項目辞書の入力規則

データ項目辞書にCSV形式ファイルが入力される規則について説明します。

(a)　システム内部IDによるデータ項目の識別

リポジトリ内の各データ項目は，SEWB+/REPOSITORYによって一意の値が割り当てられた「システム内部ID」で識別されます。したがって，データ項目名が同じでも，このシステム内部IDの値が異なれば，別のデータ項目として扱われます。このシステム内部IDは，データ項目自身を示すほか，継承関係にある上位データ項目や結合関係にある構成項目など，関連するデータ項目の識別にも使われます。

CSV形式ファイルを作成して入力するときや，既存のCSV形式ファイルにデータ項目を追加するときには，システム内部IDの代わりにユーザが仮のIDを決めて割り当てます。これを「仮システム内部ID」といい，先頭が「0x」で始まる16文字以内の16進文字列で記述します（システム内部IDの先頭には「＆」が付き，これによって形式が区別されます）。仮システム内部IDは，CSV形式ファイルを入力すると自動的にシステム内部IDに変換されます。

注

これらのIDは，標準フォーマットのCSV形式ファイルで使用します。

作業の目的に応じたIDの扱い方
ユーザ作業の例とCSV形式ファイルの入出力の関係（コマンドを使用する場合）を次の図に示します。

図4-3　ユーザ作業の例とCSV形式ファイルの入出力の関係

図の1.～4.の作業に応じたIDの扱いについて解説します。入力時のIDの扱いは，CSV形式ファイル入力コマンドの引数「/S 辞書の登録方法」，または［CSVオプション］ダイアログの「辞書の登録方法」で指定します。また，出力時のIDの扱いは，CSV形式ファイル出力コマンドの引数「/S IDの出力形式」，または［CSV出力オプション］ダイアログの「出力IDの形式」で指定します。

新規にCSV形式ファイルを作成してデータ項目を登録する
各データ項目には，CSV形式ファイル内で一意となるユーザ任意の仮システム内部IDを割り当てます。

辞書情報を出力する（更新を目的としないとき）
表計算プログラムで辞書情報を印刷したいときなど，辞書情報の更新を目的としない場合には，仮システム内部IDの形式で出力します。

CSV形式ファイルで辞書情報を編集したあと，再入力して辞書を更新する
出力では，システム内部IDの形式で出力します。CSV形式ファイル上で既存の辞書情報を編集するときには，システム内部IDを変更しないように注意してください。再入力時には，CSV形式ファイルのシステム内部IDを使用して入力します。

既存の辞書情報を基に別の辞書を作成する
出力では，システム内部IDの形式で出力します。再入力時には，システム内部IDを新しく割り当てて入力します。

システム内部IDの注意事項
CSV形式ファイルに出力されたシステム内部IDは，変更しないでそのまま使用してください。変更した場合，CSV形式ファイルのデータと辞書の整合性は保証されません。

(b)　データ項目名によるデータ項目の識別

CSV形式ファイルでのデータ項目の識別には，システム内部IDを使用するほかに，データ項目名を使用することもできます。ただし，この場合には，CSV形式ファイル，およびCSV形式ファイルを入力する辞書フォルダ内で，データ項目名を必ず一意に定義していることが前提になります。このため，データ項目名の継承フラグには「1」を指定してはいけません。データ項目名をデータ項目の識別に使用する場合，システム内部IDおよび仮システム内部IDは，ほかのデータ項目からの関連先としてだけ使用されます。

データ項目名によるデータ項目の識別は，CSV形式ファイル入力コマンドの引数「/S 辞書の登録方法」，または［CSV入力オプション］ダイアログの「辞書への登録方法」で指定します。

(c)　データ項目の登録および更新

入力時の指定によって，データ項目の登録および更新の方法を次の3とおりから選択できます。これは，CSV形式ファイル入力コマンドの引数「/S 辞書の登録方法」，または［CSV入力オプション］ダイアログの「辞書への登録方法」で指定します。

a. 新規に登録する

b. システム内部IDで更新する

c. データ項目名で更新する

新規に登録したい場合は，a.の方法で入力を実行します。b.またはc.の方法を選んだ場合，システム内部IDまたはデータ項目名によって，更新する対象のデータ項目が特定されます。一致するデータ項目が辞書に存在しない場合は新規データ項目として登録されます。

(d)　関連情報の扱い

いったん，CSV形式ファイルに辞書フォルダをわたる結合項目をシステム内部IDを使用して出力したあと，再びそのCSV形式ファイル入力すると，出力時の関連情報を基にして結合項目の関連が復元されます。

したがって，結合先のデータ項目がCSV形式ファイルまたはリポジトリ内にないと，CSV形式ファイルを入力できません。この場合には，CSV形式ファイルの内容を見直して，再度入力をしてください。

(e)　国語区分，言語区分，フィールドの指定

入力するデータ項目の定義情報の国語区分，言語区分およびフィールドを指定できます。CSV形式ファイル入力コマンドの引数「/C 登録先国語別」，「/N 登録先言語別」，「/I 登録先フィールド別」，または［CSV入力オプション］ダイアログの「入力する辞書情報」で指定します。指定した区分に対応する行の値だけが辞書に入力されます。

(f)　継承フラグ

CSV形式ファイル中の定義情報を継承できる定義項目にはそれぞれ継承フラグが設けられています。したがって，項目ごとに上位データ項目から値を継承するかどうかを指定できます。標準フォーマットで継承フラグを省略した場合や，継承フラグを指定できないフォーマットで入力する場合には，継承関係の最上位以外にあるデータ項目の継承フラグに「継承する」が仮定されます。

ただし，環境構築ユティリティで継承モードに「必ず継承」または「継承禁止」を設定している場合は，継承モードが優先されます。

(g)　継承関係のデータ項目を扱うときの注意

継承関係の下位のデータ項目を登録する場合，次の点に注意してください。

データ項目の定義情報のうち，上位データ項目から継承するように指定したものについては，CSV形式ファイルで値が定義されていても無視され，上位データ項目の値が継承されます。

下位にある結合項目の構成項目を指定する場合は，親の構成項目と同じ順番にある構成項目，または下位のデータ項目である必要があります。

(h)　継承関連の更新有無の指定

データ項目名を使用して更新登録する場合，ユーザが既存のデータ項目に定義していた継承の関連を更新しない指定ができます。CSV形式ファイル入力コマンドの引数「/P 継承関連の更新有無」，または［CSV入力オプション］ダイアログの「辞書への登録方法」で指定します。

例えば，ERwin/ERXからの辞書登録では通常，データ項目は継承関係の最上位のデータ項目として登録されます。しかし，ERwin/ERXから新規に辞書登録したあと，ユーザがデータ項目の継承関係を変更していても，この指定をすれば，この関係を保てます。

(i)　親データ項目と構成項目の指定

親データ項目や構成項目は，システム内部IDや仮システムIDで指定する代わりに，プリフィックスを付けたデータ項目名を指定して辞書に入力できます。

同一名称のデータ項目が，同じCSVファイルや辞書フォルダに複数ある場合，プリフィックスを付けたデータ項目名で親データ項目や構成項目を指定することはできません。その場合は，システム内部ID，または仮システムIDで指定してください。

(j)　連携するERwin/ERXの情報だけの更新

ERwin/ERXの分析情報で既存のデータ項目を更新する場合，ERwin/ERXで変更された属性情報だけをデータ項目に反映できます。CSV形式ファイルコマンドの引数「/W 更新対象属性」で指定，または［CSV入力オプション］ダイアログの「CSVフォーマット種別」で「ERwin/ERX属性のみを更新する」を選びます。

ERwin/ERXの属性の更新だけを指定すれば，通常の変換規則で初期値やシステムで変換した値が設定される定義情報は変更されません。

ERwin/ERXのタイプ情報から変換されたデータ項目種別（単項目/結合項目）が，更新の対象になったデータ項目と異なる場合は，登録時にエラーとなります。

(k)　データ項目を一括更新する辞書フォルダの範囲

データ項目名でデータ項目を更新する場合，辞書フォルダの更新の対象範囲を次の三つから選択できます。

登録先の辞書フォルダ

一意性チェック範囲の辞書フォルダ

すべての辞書フォルダ

登録先の辞書フォルダをデータ項目の一括更新の対象にするには，CSV形式ファイル入力コマンドの引数「/V 更新対象とする辞書フォルダの範囲」に「only」を指定するか，または［CSV入力オプション］ダイアログの「辞書への登録方法」で「登録先辞書フォルダのみを更新対象にする」を選びます。

一意性チェック範囲の辞書フォルダを一括更新の対象にするには，CSV形式ファイル入力コマンドの引数「/V 更新対象とする辞書フォルダの範囲」で「scope」を指定するか，または［CSV入力オプション］ダイアログの「辞書への登録方法」で「一意性チェック範囲を更新対象にする」を選びます。環境構築ユティリティで登録した一意性チェック範囲の辞書が更新の対象になります。一意性チェック範囲は，CSV形式ファイル入力コマンドの引数「/H データ項目の一意性チェックの範囲」，または［CSV入力オプション］ダイアログの［データ項目の一意性チェック範囲］のコンボボックスで指定します。

リポジトリのすべての辞書フォルダをデータ項目の一括更新の対象にするには，CSV形式ファイル入力コマンドの引数「/V 更新対象とする辞書フォルダの範囲」で「all」を指定するか，または［CSV入力オプション］ダイアログの「辞書への登録方法」で「全辞書フォルダを更新対象にする」を選びます。全辞書フォルダを更新対象にすれば，新規登録したあとに，データ項目の辞書フォルダを変更しても，定義情報を更新できます。

一意性チェック範囲の辞書フォルダまたはすべての辞書フォルダを対象とした場合，対象となる辞書フォルダに存在する，データ項目名が一致するデータ項目が更新されます。したがって，データ項目を新規登録したあとに，所属する辞書フォルダを変更しても，同じデータ項目の定義情報を更新できます。なお，CSV形式ファイルで定義されたデータ項目名がどの辞書フォルダにも存在しない場合には，指定した辞書フォルダに新規データ項目として登録されます。

(2)　業務ルール辞書の入力規則

業務ルール辞書にCSV形式ファイルが入力される規則について説明します。

(a)　システム内部IDによる業務ルールの識別

リポジトリ内の各業務ルールは，SEWB+/REPOSITORYによって一意の値が割り当てられた「システム内部ID」で識別されます。したがって，業務ルール名が同じでも，このシステム内部IDの値が異なれば，別の業務ルールとして扱われます。

CSV形式ファイルを作成して入力するときや，既存のCSV形式ファイルに業務ルールを追加するときは，システム内部IDの代わりにユーザが仮のIDを割り当てます。これを「仮システム内部ID」といい，先頭が「0x」で始まる16文字以内の16進文字列で記述します（システム内部IDの先頭には，「&」が付き，これによって形式が区別されます）。仮システム内部IDは，CSV形式ファイルを入力すると自動的にシステム内部IDに変換されます。

作業の目的に応じたIDの扱い方
作業に応じたIDの扱いや入力時の指定の考え方については，データ項目の場合と同様です。「4.1.2(1)(a)　システム内部IDによるデータ項目の識別」を参考にしてください。

システム内部IDの注意事項
CSV形式ファイルに出力されたシステム内部IDは，変更しないでそのまま使用してください。変更した場合，CSV形式ファイルのデータと，辞書の整合性は保証されません。

(b)　業務ルール名による業務ルールの識別

CSV形式ファイルでの業務ルールの識別には，システム内部IDを使用するほかに，業務ルール名を使用することもできます。ただし，この場合には，CSV形式ファイル，およびCSV形式ファイルを入力する辞書フォルダ内で，業務ルール名を必ず一意に定義していることが前提になります。業務ルール名を識別に使用する場合，システム内部IDおよび仮システム内部IDは，無視されます。

業務ルール名による業務ルールの識別は，CSV形式ファイル入力コマンドの引数「/S 辞書の登録方法」，または［CSV入力オプション］ダイアログの「辞書への登録方法」で指定します。

(c)　業務ルールに関連するデータ項目の指定

業務ルールに関連するデータ項目を指定するときは，データ項目辞書から出力されたCSV形式ファイル中のシステム内部ID，またはプリフィックスを付けたデータ項目名を使用します。システム内部IDを使用して業務ルールの識別をする場合には，ほかの辞書フォルダにあるデータ項目への関連も指定できます。

関連するデータ項目名と同一名称のデータ項目が複数登録されている場合，プリフィックスを付けたデータ項目名では指定できません。その場合は，システム内部IDで指定してください。

(d)　関連情報の扱い

いったん，複数の辞書フォルダにわたって関連するデータ項目を，システム内部IDを指定してCSV形式ファイルに出力します。そのあと，再びそのCSV形式ファイルを入力すると，出力時の関連情報を基にして関連が復元されます。したがって，関連するデータ項目がCSV形式ファイルまたはリポジトリ内にないと，CSV形式ファイルを入力できないため，注意が必要です。

(e)　業務ルールの登録および更新

入力時の指定によって，業務ルールの登録および更新の方法を次の3とおりから選択できます。これは，CSV形式ファイル入力コマンドの引数「/S 辞書の登録方法」，または［CSV入力オプション］ダイアログの「辞書への登録方法」で指定します。

a. 新規に登録する

b. システム内部IDで更新する

c. 業務ルール名で更新する

新規に登録したい場合は，a.の方法で入力を実行します。b.またはc.の方法を選んだ場合，システム内部IDまたは業務ルール名によって，更新する対象の業務ルールが特定されます。一致する業務ルールが辞書に存在しない場合は新規業務ルールとして登録されます。

(f)　業務ルールを一括更新する辞書フォルダの範囲

業務ルール名で業務ルールを更新する場合，辞書フォルダの更新の対象範囲を次の三つから選択できます。

登録先の辞書フォルダ

一意性チェック範囲の辞書フォルダ

すべての辞書フォルダ

登録先の辞書フォルダを業務ルールの一括更新の対象にするには，CSV形式ファイル入力コマンドの引数「/V 更新対象とする辞書フォルダの範囲」に「only」を指定するか，または［CSV入力オプション］ダイアログの「辞書への登録方法」で「登録先辞書フォルダのみを更新対象にする」を選びます。

一意性チェック範囲の辞書フォルダを一括更新の対象にするには，CSV形式ファイル入力コマンドの引数「/V 更新対象とする辞書フォルダの範囲」で「scope」を指定するか，または［CSV入力オプション］ダイアログの「辞書への登録方法」で「一意性チェック範囲を更新対象にする」を選びます。環境構築ユティリティで登録した一意性チェック範囲の辞書が更新の対象になります。一意性チェック範囲は，CSV形式ファイル入力コマンドの引数「/J 業務ルールの一意性チェックの範囲」，または［CSV入力オプション］ダイアログの［業務ルールの一意性チェック範囲］のコンボボックスで指定します。

リポジトリのすべての辞書フォルダを業務ルールの一括更新の対象にするには，CSV形式ファイル入力コマンドの引数「/V 更新対象とする辞書フォルダの範囲」で「all」を指定するか，または［CSV入力オプション］ダイアログの「辞書への登録方法」で「全辞書フォルダを更新対象にする」を選びます。全辞書フォルダを更新対象にすれば，新規登録したあとに，業務ルールの辞書フォルダを変更しても，定義情報を更新できます。

一意性チェック範囲の辞書フォルダまたはすべての辞書フォルダを対象とした場合，対象となる辞書フォルダに存在する，業務ルール名が一致する業務ルールが更新されます。したがって，業務ルールを新規登録したあとに，所属する辞書フォルダを変更しても，同じ業務ルールの定義情報を更新できます。なお，CSV形式ファイルで定義された業務ルール名がどの辞書フォルダにも存在しない場合には，指定した辞書フォルダに新規業務ルールとして登録されます。

(g)　国語区分，言語区分，フィールドの指定

入力する業務ルールの定義情報の国語区分，言語区分およびフィールドを指定できます。CSV形式ファイル入力コマンドの引数「/C 登録先国語別」，「/N 登録先言語別」，「/I 登録先フィールド別」，または［CSV入力オプション］ダイアログの「入力する辞書情報」で指定します。指定した区分に対応する行の値だけが辞書に入力されます。

4.1.3　CSV形式ファイル入力コマンド（RPCsvin）の使い方

＜この項の構成＞

(1)　CSV形式ファイル入力コマンドが格納されているディレクトリ

(2)　コマンド実行時の注意事項

(3)　CSV形式ファイル入力コマンド（RPCsvin）の指定

(1)　CSV形式ファイル入力コマンドが格納されているディレクトリ

CSV形式ファイル入力コマンドが格納されているディレクトリを示します。

(a)　SEWB+/REPOSITORY（サーバ）の場合

コマンドは，次のディレクトリに格納されています。

SEWB+ 基本開発環境の組み込み先パス名¥Repository¥bin

SEWB+ 基本開発環境の組み込み先パス名は，デフォルトでは次のように設定されています。システムドライブとは，Windows Serverが組み込まれているドライブです。

システムドライブ:¥Program Files¥HITACHI¥Sewb

注意

64ビット版のWindowsでの，デフォルトの組み込み先パス名を次に示します。

システムドライブ:¥Program Files (x86)¥HITACHI¥Sewb

(b)　SEWB+/REPOSITORY-BROWSER（クライアント）の場合

コマンドは，次のディレクトリに格納されています。

SEWB+ 基本開発環境の組み込み先パス名¥Repository-Browser

SEWB+ 基本開発環境の組み込み先パス名は，デフォルトでは次のように設定されています。システムドライブとは，Windowsが組み込まれているドライブです。

システムドライブ:¥Program Files¥HITACHI¥Sewb

注意

64ビット版のWindowsでの，デフォルトの組み込み先パス名を次に示します。

システムドライブ:¥Program Files (x86)¥HITACHI¥Sewb

(2)　コマンド実行時の注意事項

(a)　コマンドを実行する前に

サーバでコマンドを実行するときは，サーバではSEWB+/REPOSITORYからログアウトしておいてください。

(b)　コマンド実行中にほかの作業をする場合

CSV形式ファイル入力コマンドでは，実行中に排他制御を行っていません。したがって，コマンドの実行中でも並行してほかの作業ができます。ただし，次に示す点に注意してください。

コマンドの実行中に対象となっている資源や関連情報を更新または削除してはいけません。不整合が検出され，正常に終了しない場合があります。この場合には，CSV形式ファイル入力コマンドの再実行が必要です。

コマンドの実行中に，CSV形式ファイルの入力先で更新の対象となっている資源を更新してはいけません。CSV形式ファイル入力コマンドが正常に終了しても，資源の内容が更新されていない場合があります。

(c)　ほかの辞書フォルダに構成項目を持つ結合項目をCSV形式ファイルに出力し，このファイルを再び辞書登録する場合

このCSV形式ファイルには構成項目IDが含まれるため，そのまま辞書に登録しようとすると構成項目が要因となってエラーが発生します。また，IDをシステム内部IDの形式で出力した場合，出力されたシステム内部IDがCSV形式ファイルまたはリポジトリ内にないときにもエラーとなります。構成項目IDまたはその構成項目を参照している結合項目を削除してからCSV形式ファイル入力コマンドを実行してください。

(d)　システム内部IDの注意事項

システム内部IDの形式で出力したCSV形式ファイルを次の条件で入力してはいけません。

同じノードIDでデータベースを初期化したあと，初期化する前に出力したCSV形式ファイルを入力する

データベースのノードIDが重複して指定されているサーバ間で，CSV形式ファイルを入力したり出力したりする

この条件で入力してエラーが発生した場合には，「3.3.1(4)　辞書をエクスポート・インポートするときの留意事項」を参照し，<インポート方法1>1.～3.の手順を実行してください。そのあとに，CSV形式ファイルを入力してください。

(3)　CSV形式ファイル入力コマンド（RPCsvin）の指定

コマンドラインに，次に示す構文に従ってコマンドと引数を指定して実行します。

サーバ上では，リポジトリのシステム管理者の権限で実行します。起動時に表示されるダイアログに，システム管理者のパスワードを入力する必要があります。クライアント上では，SEWB+ログインに指定されたユーザの権限で実行します。起動時に表示されるダイアログに，ユーザ名，ログイン先およびユーザのパスワードを入力する必要があります。

実行中には，データ項目または業務ルールの登録件数が表示されます。また，詳細情報がログファイルに出力されます。

(a)　形式

RPCsvin　/F　入力CSV形式ファイル名　/D　辞書フォルダ名

〔 /O　所有者名 〕〔 /G　グループ名 〕

〔 /K　辞書種別 〕〔 /C　登録先国語別 〕〔 /N　登録先言語別 〕

〔 /I　登録先フィールド別 〕

〔 /E　ファイルフォーマット種別（02-01互換用） 〕

〔 /M　ファイルフォーマット種別 〕〔 /B　データベース種別 〕

〔 /Z　物理名の異なる外部キーを識別する 〕

〔 /A　属性レポートファイル名 〕

〔 /T　ヘッダの有無 〕

〔 /S　辞書への登録方法 〕

〔 /W　更新対象属性 〕

〔 /R　同一カラム名の属性のマージ有無 〕

〔 /P　継承関連の更新有無 〕

〔 /V　更新対象とする辞書フォルダの範囲 〕

〔 /H　データ項目の一意性チェックの範囲 〕

〔 /J　業務ルールの一意性チェックの範囲 〕

〔 /L　ログファイル名 〕

〔 /? 〕

(b)　引数

/F　入力CSV形式ファイル名

入力するCSV形式のファイル名を指定します。

/D　辞書フォルダ名

入力した辞書情報の登録先となる辞書フォルダ名を指定します。

/O　所有者名※¹

登録する辞書の所有者名を指定します。省略時はログインしたユーザが仮定されます。ただし，入力するCSV形式ファイルに所有者名が定義されている場合は，定義内容がこの引数の指定より優先されます。

/G　グループ名※¹

登録する辞書のグループ名を指定します。省略時は，システム管理者でログインしている場合は「everyone」が，システム管理者以外の場合はログインしたユーザが所属するグループが仮定されます。ただし，入力するCSV形式ファイルにグループ名が定義されている場合は，定義内容がこの引数の指定より優先されます。

/K　辞書種別

登録する辞書の種別を指定します。省略時は「DI」が仮定されます。

DI：データ項目辞書

BR：業務ルール辞書

/C　登録先国語別

登録する国語区分を指定します。環境構築ユティリティで設定した国語区分の順序に対応して1～4の数字で指定します。省略時は，CSV形式ファイルに記述されている値が，記述順で国語区分の設定順に辞書へ登録されます。

/N　登録先言語別

登録する言語区分を指定します。環境構築ユティリティで設定した言語区分の順序に対応して1～10の数字で指定します。省略時は，CSV形式ファイルに記述されている値が，記述順で言語区分の設定順に辞書へ登録されます。

/I　登録先フィールド別

登録するフィールドを指定します。環境構築ユティリティで設定したフィールドの順序に対応してデータ項目の場合は1～20，業務ルールの場合は1～3の数字で指定します。省略時は，CSV形式ファイルに記述されている値が，記述順でフィールドの設定順に辞書へ登録されます。

/E　ファイルフォーマット種別（02-01互換用）

入力するCSV形式ファイルのフォーマット種別を次の値で指定します。省略時は「std」が仮定されます。

ただし，この引数は，SEWB+ リポジトリセットのSEWB+/REPOSITORY 02-01以前での指定と互換性を保つためのものです。したがって，SEWB+ リポジトリセットのSEWB+/REPOSITORY 02-02以降でのフォーマット種別の指定には，引数「/Mファイルフォーマット種別」で指定することをお勧めします。

std：標準フォーマット（「/M　std」と同様）

ERwin/ERXのデータ分析情報を利用する場合（データベース：ORACLE）
ewe_o ：エンティティレポート形式フォーマット（「/M ewe /B ora_c」と同様）
ewa_o ：属性レポート形式フォーマット（「/M ewa /B ora_c」と同様）
ewe_ox：エンティティレポート形式フォーマット（「/M ewe /B ora」と同様）
ewa_ox：属性レポート形式フォーマット（「/M ewa /B ora」と同様）
バージョン2.6以前のERwin/ERXでORACLEを使用する場合「ewe_o」，「ewa_o」はSEWB+ リポジトリセットのSEWB+/REPOSITORY 02-00との互換用フォーマットです。SEWB+ リポジトリセットのSEWB+/REPOSITORY 02-01以降の場合，より効率的な「ewe_ox」，「ewa_ox」の使用をお勧めします。

ERwin/ERXのデータ分析情報を利用する場合（データベース：HiRDB）
ewe_h ：エンティティレポート形式フォーマット（「/M ewe /B hir」と同様）
ewa_h ：属性レポート形式フォーマット（「/M ewa /B hir」と同様）

/M　ファイルフォーマット種別

入力するCSV形式ファイルのフォーマット種別を次の値で指定します。省略時には「std」が仮定されます。

std：標準フォーマット

ewe：ERwin/ERX（バージョン2.6以前）エンティティレポート形式

ewa：ERwin/ERX（バージョン2.6以前）属性レポート形式

ewt：ERwin/ERX（バージョン3.5以降）テーブルレポート形式

/B　データベース種別

ERwin/ERXで使用するデータベース種別を次の値で指定します。省略時は「ora」が仮定されます。

ora：ORACLE

ora_c：ORACLE（SEWB+ リポジトリセットのSEWB+/REPOSITORY 02-00との互換用）

hir：HiRDB

この引数は，引数「/Mファイルフォーマット種別」または「/E ファイルフォーマット種別（02-01互換用）」でERwin/ERX専用のフォーマット種別が指定されている場合に有効となります。

/Z　物理名の異なる外部キーを識別する

ERwin/ERXでPK属性と物理名の異なるFK属性を識別するかどうかを次の値で指定します。省略時は「use」が仮定されます。

use：識別する

uouse：識別しない

この引数は，引数「/M ファイルフォーマット種別」または「/E ファイルフォーマット種別（02-01互換用）」でERwin/ERX専用のフォーマット種別が指定されている場合に有効となります。

/A　属性レポートファイル名

引数「/F 入力CSV形式ファイル名」にエンティティレポートのファイル名を指定した場合，同時に入力する属性レポートのファイル名を指定します。この引数を省略すると，属性レポートは同時入力されません。この引数は，引数「/M ファイルフォーマット種別」または「/E ファイルフォーマット種別（02-01互換用）」で，ERwin/ERX専用のフォーマット種別としてエンティティレポート形式が指定されている場合に有効となります。

/T　ヘッダの有無

入力するCSV形式ファイルのヘッダの有無を次の値で指定します。省略時は「nouse」が仮定されます。

use：ヘッダあり

nouse：ヘッダなし

/S　辞書への登録方法

辞書から出力したCSV形式ファイルを再び入力したり，辞書のデータ項目または業務ルールをCSV形式ファイル中のデータ項目名や業務ルール名で特定して更新したりする場合に指定します。CSV形式ファイル中に定義されている辞書の資源（データ項目または業務ルール）を新規に登録するかどうかの判別と，更新する場合の資源の特定方法を指定します。データ項目または業務ルールの定義情報を更新する場合，システム内部IDで識別するには「use」，データ項目名または業務ルール名で識別するには「name」を指定します。元のデータ項目や業務ルールとは別に新しく作成する場合は「nouse」を指定してください。省略時は「use」が仮定されます。

use：CSV形式ファイル出力コマンドによって出力されたシステム内部IDで辞書の資源を特定し，既存の資源を更新する

nouse：CSV形式ファイル出力コマンドによって出力されたシステム内部IDを使わず，別のシステム内部IDで資源を新規に登録する

name：CSV形式ファイル出力コマンドで出力されたシステム内部IDを使わず，指定したデータ項目名または業務ルール名から辞書の資源を特定し，既存の資源を更新する

/W　更新対象属性

ERwin/ERXからの辞書登録で，データ項目名から特定したデータ項目を更新する場合に，更新対象とする属性を指定します。省略時には「all」が仮定されます。

erwin：ERwin/ERXで定義した情報だけをデータ項目の属性として更新する

all：データ項目のすべての属性を更新する

この引数は，データ項目辞書への入力で，引数「/S 辞書の登録方法」へ「name」を指定し，さらに，引数「/M ファイルフォーマット種別」または「/E ファイルフォーマット種別」でERwin専用のフォーマット種別を指定している場合に有効となります。

/R　同一カラム名の属性のマージ有無

ERwin/ERXの定義情報の中に，同一カラム名の属性情報が複数ある場合，それらの情報をマージしてデータ項目辞書に登録するかどうかを指定します。省略時は「nouse」が仮定されます。

use：同一カラム名の属性をマージする

nouse：同一カラム名の属性をマージしない

/P　継承関連の更新有無

引数「/S　辞書の登録方法」に「name」を指定したときに，CSV形式ファイルの中で継承の最上位に定義されたデータ項目の継承の関連を更新するかどうかを指定します。省略時は「use」が仮定されます。

use：継承の関連を最上位に更新する

nouse：継承の関連を更新しない

なお，引数「/S　辞書の登録方法」に「name」を指定しなかったときには，この引数は指定できません。また，この引数は，データ項目辞書の入力時にだけ有効になります。

/V 更新対象とする辞書フォルダの範囲

データ項目または業務ルールを一括更新する辞書フォルダの範囲を指定します。省略時は「only」が仮定されます。

only：引数「/D 辞書フォルダ名」で指定した辞書フォルダだけを更新対象とする

all：リポジトリのすべての辞書フォルダを更新対象とする

scope：一意性チェックの範囲内の辞書フォルダを更新対象とする

この引数は，引数「/S 辞書の登録方法」に「name」が指定されている場合に有効となります。

/H　データ項目の一意性チェックの範囲

環境構築ユティリティで登録してあるデータ項目の一意性チェック範囲名を指定します。指定できる一意性チェック範囲名は，引数「/D辞書フォルダ名」で指定した辞書フォルダが存在する範囲名です。

この引数は，引数「/V 更新対象とする辞書フォルダの範囲」に「scope」が指定されている場合に有効となります。

/J　業務ルールの一意性チェックの範囲

環境構築ユティリティで登録してある業務ルールの一意性チェック範囲名を指定します。指定できる一意性チェック範囲名は，引数「/D辞書フォルダ名」で指定した辞書フォルダが存在する範囲名です。

この引数は，引数「/V 更新対象とする辞書フォルダの範囲」に「scope」が指定されている場合に有効となります。

/L　ログファイル名※²

ログファイルの出力先を指定します。省略時は登録する辞書の種別に応じて次のファイルがログファイルとして作成されます。

パス：環境変数「TEMP」または「TMP」に代入されている値

ファイル名：rpdicsvi.log（データ項目辞書），rpbrcsvi.log（業務ルール辞書）

/?

コマンドの構文と引数の指定方法を表示します。

注※1

新しい辞書フォルダ，データ項目または業務ルールを登録するときに指定します。ここで指定した所有者（ユーザ）名とグループ名は，辞書フォルダ，データ項目または業務ルールに共通に設定されます。引数に指定する名称は，辞書登録するサーバに登録されているユーザ，グループの名称を使用してください。ユーザ，グループの登録についてはマニュアル「SEWB+/REPOSITORY 運用ガイド」を参照してください。なお，この指定では，既存の辞書情報に設定されている所有者およびグループ名は変更できません。

注※2

ログファイルはコマンドの実行ごとに上書きされます。残しておきたい場合は，異なるログファイル名を指定してください。

(c)　リターン値

コマンドの実行が終了すると，次のリターン値が返されます。

0：正常終了した

1：その他のエラーが発生した

2：メモリが確保できない

3：引数が不正である

4：ログファイルが作成できない

5：辞書に対するアクセス権がない

6：入力ファイルがない

7：入力ファイルのフォーマットが不正である

4.1.4　CSV形式ファイルの出力

ここでは，辞書情報をCSV形式ファイルに出力する場合の出力規則について説明します。

ダイアログでの操作については，ヘルプを参照してください。また，CSV形式ファイル出力コマンドの指定方法については，「4.1.5　CSV形式ファイル出力コマンド（RPCsvout）の使い方」を参照してください。

＜この項の構成＞

(1)　データ項目辞書の出力規則

(2)　業務ルール辞書の出力規則

(1)　データ項目辞書の出力規則

データ項目辞書をCSV形式ファイルに出力する規則について説明します。

(a)　データ項目のIDの出力

コマンドのIDの出力形式の指定に従って，データ項目のIDが仮システム内部IDまたはシステム内部IDの形式で出力されます。CSV形式ファイル出力コマンドの引数「/S IDの出力形式」，または［CSV出力オプション］ダイアログの「出力IDの形式」で指定します。IDの扱い方については，「4.1.2(1)(a)　システム内部IDによるデータ項目の識別」を参照してください。

(b)　関連情報の扱い

データ項目辞書に辞書フォルダにわたる結合項目がある場合の出力規則を次に示します。

指定した辞書フォルダのデータ項目辞書内のデータ項目だけをCSV形式ファイルに出力します。

IDの形式にシステム内部IDを使用する場合，指定していない辞書フォルダにある結合先のデータ項目に対しては，CSV形式ファイルを入力したときに結合関係を復元できるように関連情報だけを出力します。

(c)　国語区分，言語区分，フィールドの指定

出力するデータ項目の定義情報の国語区分，言語区分およびフィールドを指定できます。CSV形式ファイル出力コマンドの引数「/C 出力国語別」，「/N 出力言語別」，「/I 出力フィールド別」，または［CSV出力オプション］ダイアログの「出力する辞書情報」で指定します。指定した区分の定義内容だけが，CSV形式ファイルに出力されます。データ項目の最初の行から，指定した区分に対応する行までを出力するように指定することもできます。

(d)　親データ項目と構成項目の指定

指定によって，親データ項目や構成項目を，システム内部IDや仮システムIDで出力する代わりに，プリフィックスを付けたデータ項目名でCSV形式ファイルに出力できます。CSV形式ファイル出力コマンドの引数「/R 関連するデータ項目の出力形式」，または［CSV出力オプション］ダイアログの「出力IDの形式」で指定します。

関連するデータ項目が同一の名称で複数登録されている場合，プリフィックスを付けたデータ項目名で出力したCSV形式ファイルを，再び入力することはできません。その場合は，データ項目名を一意に変更するか，システム内部IDまたは仮システムIDでCSV形式ファイルに出力してください。

(e)　出力基準とする日時の指定

指定した日時よりもあとに更新・追加したデータ項目だけをCSV形式ファイルに出力できます。CSV形式ファイル出力コマンドの引数「/U 出力基準とする日時」，または［CSV出力オプション］ダイアログの「出力基準日時」で指定します。

(2)　業務ルール辞書の出力規則

業務ルール辞書をCSV形式ファイルに出力する規則を説明します。

(a)　業務ルールのIDの出力

コマンドのIDの出力形式の指定に従って，業務ルールのIDが仮システムIDまたはシステム内部IDの形式で出力されます。CSV形式ファイル出力コマンドの引数「/S IDの出力形式」，または［CSV出力オプション］ダイアログの「出力IDの形式」で指定します。IDについては，「4.1.2(2)(a)　システム内部IDによる業務ルールの識別」を参照してください。

(b)　関連情報の扱い

業務ルール辞書に，複数の辞書フォルダにわたってデータ項目と関連する業務ルールがある場合の出力規則を説明します。

指定した辞書フォルダの業務ルール辞書内の業務ルールだけをCSV形式ファイルに出力します。

関連するデータ項目については，業務ルールとの関連情報だけを出力します。CSV形式ファイルを入力したとき，この関連情報を基にして業務ルールとデータ項目の関連が復元されます。

(c)　国語区分，言語区分，フィールドの指定

出力する業務ルールの定義情報の国語区分，言語区分およびフィールドを指定できます。CSV形式ファイル出力コマンドの引数「/C 出力国語別」，「/N 出力言語別」，「/I 出力フィールド別」，または［CSV出力オプション］ダイアログの「出力する辞書情報」で指定します。指定した区分の定義情報だけが，CSV形式ファイルに出力されます。業務ルール定義の最初の行から，指定した区分に対応する行までを出力するように指定することもできます。

(d)　業務ルールに関連するデータ項目の指定

指定によって，業務ルールに関連するデータ項目を，システム内部ID，またはプリフィックスを付けたデータ項目名でCSV形式ファイルに出力できます。CSV形式ファイル出力コマンドの引数「/R 関連するデータ項目の出力形式」または［CSV出力オプション］ダイアログの「出力IDの形式」で指定します。

関連するデータ項目が同一の名称で複数登録されている場合，プリフィックスを付けたデータ項目名で出力したCSV形式ファイルを，再び入力することはできません。その場合は，データ項目をシステム内部IDでCSV形式ファイルに出力してください。

(e)　出力基準とする日時の指定

指定した日時よりもあとに更新・追加した業務ルールだけをCSV形式ファイルに出力できます。CSV形式ファイル出力コマンドの引数「/U 出力基準とする日時」，または［CSV出力オプション］ダイアログの「出力基準日時」で指定します。

4.1.5　CSV形式ファイル出力コマンド（RPCsvout）の使い方

CSV形式ファイル出力コマンドが格納されているディレクトリを示します。

＜この項の構成＞

(1)　CSV形式ファイル出力コマンドが格納されているディレクトリ

(2)　コマンド実行時の注意事項

(3)　CSV形式ファイル出力コマンド（RPCsvout）の指定

(1)　CSV形式ファイル出力コマンドが格納されているディレクトリ

(a)　SEWB+/REPOSITORY（サーバ）の場合

コマンドは，次のディレクトリに格納されています。

SEWB+ 基本開発環境の組み込み先パス名¥Repository¥bin

SEWB+ 基本開発環境の組み込み先パス名は，デフォルトでは次のように設定されています。システムドライブとは，Windows Serverが組み込まれているドライブです。

システムドライブ:¥Program Files¥HITACHI¥Sewb

注意

64ビット版のWindowsでの，デフォルトの組み込み先パス名を次に示します。

システムドライブ:¥Program Files (x86)¥HITACHI¥Sewb

(b)　SEWB+/REPOSITORY-BROWSER（クライアント）の場合

コマンドは，次のディレクトリに格納されています。

SEWB+ 基本開発環境の組み込み先パス名¥Repository-Browser

SEWB+ 基本開発環境の組み込み先パス名は，デフォルトでは次のように設定されています。システムドライブとは，Windowsが組み込まれているドライブです。

システムドライブ:¥Program Files¥HITACHI¥Sewb

注意

64ビット版のWindowsでの，デフォルトの組み込み先パス名を次に示します。

システムドライブ:¥Program Files (x86)¥HITACHI¥Sewb

(2)　コマンド実行時の注意事項

(a)　コマンドを実行する前に

サーバでコマンドを実行するときは，サーバではSEWB+/REPOSITORYからログアウトしておいてください。

(b)　コマンド実行中にほかの作業をする場合

CSV形式ファイル出力コマンドでは，実行中に排他制御を行っていません。したがって，コマンドの実行中でも並行してほかの作業ができます。ただし，次に示す点に注意してください。

コマンドの実行中に対象となっている資源や関連情報を更新または削除してはいけません。不整合が検出され，正常に終了しない場合があります。この場合には，CSV形式ファイル出力コマンドの再実行が必要です。

コマンドの実行中に，CSV形式ファイルの出力先で出力の対象となっている資源を更新してはいけません。CSV形式ファイル出力コマンドが正常に終了しても，その更新内容がCSV形式ファイルに反映されていない場合があります。

(3)　CSV形式ファイル出力コマンド（RPCsvout）の指定

サーバのコマンドラインに，次に示す構文に従ってコマンドと引数を指定して実行します。サーバ上では，リポジトリのシステム管理者の権限で実行します。起動時に表示されるダイアログに，システム管理者のパスワードを入力する必要があります。クライアント上では，SEWB+ログインに指定されたユーザの権限で実行します。起動時に表示されるダイアログに，ユーザ名，ログイン先およびユーザのパスワードを入力する必要があります。

実行中には，データ項目または業務ルールの出力件数が表示されます。また，詳細情報がログファイルに出力されます。

(a)　形式

RPCsvout　/F　出力CSV形式ファイル名　/D　辞書フォルダ名

〔 /K　辞書種別 〕〔 /C　出力国語別 〕〔 /N　出力言語別 〕

〔 /I　出力フィールド別 〕

〔 /T　ヘッダの有無 〕

〔 /S　IDの出力形式 〕

〔 /R　関連するデータ項目の出力形式 〕

〔 /U　出力基準とする日時 〕

〔 /L　ログファイル名 〕

〔 /? 〕

(b)　引数

/F　出力CSV形式ファイル名

出力先のCSV形式ファイル名を指定します。既存のファイルを指定した場合は，コマンド実行後に表示されるメッセージで上書きするかどうかを確認してください。

/D　辞書フォルダ名

出力する辞書情報が格納されている辞書フォルダ名を指定します。

/K　辞書種別

出力する辞書の種別を指定します。省略時は「DI」が仮定されます。

DI：データ項目辞書

BR：業務ルール辞書

/C　出力国語別

出力する辞書項目の国語区分を指定します。環境構築ユティリティで設定した国語区分の順序に対応して1～4の数字で指定します。値の前に「:」を付けると，最初の行から指定した国語区分までが出力されます。省略時はすべての国語別情報が，国語別の登録順にCSV形式ファイルへ出力されます。

/N　出力言語別

出力する辞書項目の言語区分を指定します。環境構築ユティリティで設定した言語区分の順序に対応して1～10の数字で指定します。値の前に「:」を付けると，最初の行から指定した言語区分までが出力されます。省略時はすべての言語別情報が，言語別の登録順にCSV形式ファイルへ出力されます。

/I　出力フィールド別

出力するフィールドを指定します。環境構築ユティリティで設定したフィールドの順序に対応して，データ項目の場合は1～20，業務ルールの場合は1～3の数字で指定します。値の前に「:」を付けると，最初の行から指定したフィールドまでが出力されます。省略時はすべてのフィールドの情報が，フィールド別の登録順にCSV形式ファイルへ出力されます。

/T　ヘッダの有無

CSV形式ファイルに，ヘッダを出力するかどうかを次の値で指定します。省略時は「nouse」が仮定されます。

use：ヘッダあり

nouse：ヘッダなし

/S　IDの出力形式

CSV形式ファイル中のデータ項目および業務ルールのIDの出力形式を次の値で指定します。省略時は「nouse」が仮定されます。

use：システム内部IDを使用して出力する

nouse：システム内部IDを使用しないで，仮システム内部IDにして出力する

/R　関連するデータ項目の出力形式

CSV形式ファイルに，関連するデータ項目をデータ項目のIDで出力するか，プリフィックス付きデータ項目名で出力するかを次の値で指定します。省略時は「id」が仮定されます。

id：関連するデータ項目をデータ項目のIDで出力する。

name：関連するデータ項目をプリフィックス付きデータ項目名で出力する。

「id」を指定した場合，業務ルールのCSV形式ファイル中の関連データ項目IDは，引数「/S IDの出力形式」の指定に関係なく，常にシステム内部IDで出力されます。

/U　出力基準とする日時

指定した日時よりもあとに更新・追加したデータ項目または業務ルールだけをCSV形式ファイルに出力します。コマンドの引数に出力基準とする日時を指定してください。

省略時は，すべてのデータ項目または業務ルールをCSV形式ファイルに出力します。日付を指定して，時刻を省略した場合，時刻は「00：00：00」と仮定されます。

出力基準とする日時は，次の形式で指定してください。

YYYY/MM/DD〔△hh：mm：ss〕〔△TYPE〕
△は半角スペースを示します。〔 〕内は省略できます。
YYYY/MM/DDは西暦年月日を示します。hh：mm：ssは時刻を示します。
TYPEは，指定した日時よりもあとに更新・追加したもののうち，どのデータ項目または業務ルールをCSV形式ファイルに出力するかを次の値で指定します。省略時は，「all」が仮定されます。
all：更新・追加したすべてのデータ項目または業務ルール
up：更新したデータ項目または業務ルールだけ
new：追加したデータ項目または業務ルールだけ

/L　ログファイル名※

ログファイルの出力先を指定します。省略時は，出力する辞書の種別に応じて次のファイルがログファイルとして作成されます。

パス：環境変数「TEMP」または「TMP」に代入されている値

ファイル名：rpdicsvo.log（データ項目辞書），rpbrcsvo.log（業務ルール辞書）

/?

コマンドの構文と引数の指定方法を表示します。

注※

ログファイルはコマンドの実行ごとに上書きされます。残しておきたい場合は，異なるログファイル名を指定してください。

(c)　リターン値

コマンドの実行が終了すると，次のリターン値が返されます。

0：正常終了した

1：その他のエラーが発生した

2：メモリが確保できない

3：引数が不正である

4：ログファイルが作成できない

5：辞書に対するアクセス権がない

6：辞書フォルダがない

7：出力ファイルが作成できない

4.1.6　CSV形式の記述規則

ここでは，辞書情報をCSV形式で表すための共通の記述規則について説明します。

＜この項の構成＞

(1)　レコードの記述

(2)　数値の記述

(3)　文字列の記述

(4)　定義項目の初期値

(1)　レコードの記述

各定義項目に対応する値は，数値または文字列で記述します。値は区切り文字となるコンマ（,）で区切ります。空白やタブは区切り文字と見なされません。

「,,」のように区切り文字を連続して記述すると，その中の値は省略されたものと見なされます。この場合，対応する定義項目には数値または文字列の初期値があてはめられます。数値または文字列のどちらが省略されたのかは，対応する定義項目の属性によって判断されます。詳細は，「4.1.6(4)　定義項目の初期値」を参照してください。

(2)　数値の記述

整数および実数の記述規則を次に説明します。

(a)　整数

次の形式で整数を表記します。

Snnnn

S は符号（＋または－）を示します。ただし＋の場合は省略できます。

nnnn は仮数部を示します。整数値で表記します。

(b)　実数

次の形式で実数を表記します。

SnnnnESnn

S は符号（＋または－）を示します。ただし＋の場合は省略できます。

nnnn は仮数部を示します。整数値で表記します。小数点を含めて表記することもできます。

E は指数部の始まりを示します。「E」または「e」で表記します。

nn は指数部を示します。整数値で表記します。

(3)　文字列の記述

文字列の記述には，ダブルクォーテーション（"）で囲む方法と，ダブルクォーテーションで囲まないでそのまま記述する方法の2とおりがあります。

文字列をダブルクォーテーションで囲む方法は，標準フォーマットの記述に使用します。また，ダブルクォーテーションで囲まない方法は，標準フォーマットのほかに，ERwin/ERXなどのほかのアプリケーションと連携するためのフォーマットの記述に使用します。フォーマットの詳細は，「4.1.7　CSV形式ファイルフォーマット」を参照してください。

(a)　ダブルクォーテーションで囲む文字列

次の方法で文字列を記述します。全角文字を記述する場合には，シフトJIS標準漢字コードを使用します。

文字列中のダブルクォーテーションは「""」と記述します。

ダブルクォーテーションで囲まれた文字列はすべて値となります。したがって，コンマ（,）や空白文字も値と見なされます。

文字列を囲むダブルクォーテーションは，値と見なされません。

(b)　ダブルクォーテーションで囲まない文字列

次の方法で文字列を記述します。全角文字を記述する場合には，シフトJIS標準漢字コードを使用します。

区切り文字の間のすべての文字が値と見なされます。

コンマ（,）を文字列の値として記述することはできません。

区切り文字であるコンマ以外の文字はすべて値となります。したがって，アポストロフィ（'）や空白文字も値と見なされます。

(c)　共通規則

コメントおよびルールスクリプトの値には，文字列中に改行とタブを記述できます。このほかの定義項目に改行とタブを記述することはできません。

改行の記述
改行は，識別子「¥n」で表します。CSV形式ファイルの入力時に「¥n」が改行に変換され，出力時には改行が「¥n」に変換されます。「¥n」自体を文字列として記述する場合には¥の記述に従って「¥¥n」を使用します。

タブの記述
タブは，識別子「¥t」で表します。CSV形式ファイルの入力時に「¥t」がタブに変換され，出力時にはタブが「¥t」に変換されます。「¥t」自体を文字列として記述する場合には¥の記述に従って「¥¥t」を使用します。

¥の記述

「¥」は，改行やタブを記述するために特別な扱いをしています。このため，CSV形式ファイルの入力時には「¥¥」が「¥」に変換され，出力時には「¥」が「¥¥」に変換されます。

(4)　定義項目の初期値

区切り文字を連続して記述し，値を省略した場合の初期値を次に示します。

(a)　データ項目の初期値

データ項目の定義項目，アクセス権および関連情報の初期値を次の表に示します。

表4-1　データ項目の初期値

項目 | 初期値
定義項目 | データ項目名 | －※1
標準名称 | 長さ0の文字列（NULL）
フリガナ | 長さ0の文字列（NULL）
分類 | 「分類なし」※2
けた数 | 特定の値は設定されない
小数部けた数 | 特定の値は設定されない
反復回数 | 特定の値は設定されない
最上位結合項目フラグ | 最上位結合項目ではない
フィールド1～20 | 長さ0の文字列（NULL）
コメント | 長さ0の文字列（NULL）
名前 | 長さ0の文字列（NULL）
タイプ | 「フリー定義」（長さ0の文字列（NULL））
タイプ修飾情報※3 | 長さ0の文字列（NULL）
取りうる値 | 長さ0の文字列（NULL）
初期値 | 長さ0の文字列（NULL）
言語別フィールド | 長さ0の文字列（NULL）
セキュリティ情報 | 所有者名 | ログインしたユーザまたは指定した所有者※4
グループ名 | システム管理者でログインしている場合は「everyone」が，システム管理者以外の場合はログインしたユーザが所属するグループまたは指定したグループ※5
アクセス権 | アクセス権の初期値※6
関連情報 | 親データ項目 | 辞書フォルダを親とする
構成項目 | 構成項目なし

注※1

必ず定義しなければならないため，初期値はありません。

注※2

結合項目の場合は「結合データ」となります。

注※3

言語区分「COBOL又はOOCOBOL」で定義する編集文字列を指します。

注※4

CSV形式ファイル入力コマンドの引数，または［CSV入力オプション］ダイアログで指定した所有者名です。

注※5

CSV形式ファイル入力コマンドの引数，または［CSV入力オプション］ダイアログで指定したグループ名です。

注※6

初期値については，「3.2.1　アクセス権の設定」を参照してください。

(b)　業務ルールの初期値

業務ルールの定義項目，アクセス権および関連情報の初期値を次の表に示します。

表4-2　業務ルールの初期値

| 項目 | 初期値
定義項目 | 業務ルール名 | －※1
標準名称 | 長さ0の文字列（NULL）
フリガナ | 長さ0の文字列（NULL）
フィールド1～3 | 長さ0の文字列（NULL）
共用情報 | 「共用する」
キーワード | キーワードなし
適用条件 | 適用条件なし
関連データ項目 | 関連データ項目なし
ルールスクリプト | 長さ0の文字列（NULL）
コメント | 長さ0の文字列（NULL）
セキュリティ情報 | 所有者名 | ログインしたユーザ，または指定した所有者※2
グループ名 | システム管理者でログインしている場合は「everyone」が，システム管理者以外の場合はログインしたユーザが所属するグループまたは指定したグループ※3
アクセス権 | アクセス権の初期値※4

注※1

必ず定義しなければならないため，初期値はありません。

注※2

CSV形式ファイル入力コマンドの引数，または［CSV入力オプション］ダイアログで指定した所有者名です。

注※3

CSV形式ファイル入力コマンドの引数，または［CSV入力オプション］ダイアログで指定したグループ名です。

注※4

初期値については，「3.2.1　アクセス権の設定」を参照してください。

4.1.7　CSV形式ファイルフォーマット

CSV形式ファイルのフォーマットは，用途に応じて，標準フォーマットとアプリケーション専用フォーマットの2種類に分類されます。標準フォーマットは通常，SEWB+/REPOSITORYの辞書情報を入出力するために使用します。また，アプリケーション専用フォーマットは，SEWB+/REPOSITORYの辞書情報をほかのアプリケーションに連携するために使用します。

ここでは，基本的なファイル内部の構成と，標準フォーマットの詳細について説明します。アプリケーション専用フォーマット（ERwin/ERX）の詳細は，「付録B　ERwin/ERXからの辞書登録」を参照してください。

＜この項の構成＞

(1)　ファイル内部の構成

(2)　データ項目辞書の標準フォーマット

(3)　業務ルール辞書の標準フォーマット

(1)　ファイル内部の構成

基本的なファイル内部の構成を次に示します。

先頭の1行目には，ヘッダがあります。ヘッダには，定義項目の名称を記述してそのCSV形式ファイルにどのような定義情報があるのかを示す役割があります。ヘッダは，標準フォーマット（データ項目辞書），アプリケーション専用フォーマットで記述内容が異なります。なお，コマンド実行時の引数の指定によって，必要に応じ，ヘッダの入出力を抑止することもできます。

2行目以降からは，定義情報を記述します。定義情報の記述内容も標準フォーマット（データ項目辞書），アプリケーション専用フォーマットで異なります。

(2)　データ項目辞書の標準フォーマット

データ項目辞書のファイル内部の構成を次に示します。

1行目にはヘッダを，2行目からは個々のデータ項目の定義情報を記述します。一つのデータ項目に対応する定義情報は，内容に応じて1から複数行で記述します。国語区分，言語区分，フィールドおよび結合項目の関連の数のように，一つのデータ項目で複数の定義内容を持つ場合は，複数行になります。

(a)　データ項目のヘッダの記述内容

データ項目のヘッダの記述内容を次の表に示します。CSV形式ファイル入力コマンドでヘッダの入力を指定した場合には，ヘッダが記述されている必要があります。

表4-3　データ項目のヘッダの記述内容

記述順 | 項目名 | ヘッダの記述内容
1 | データ項目名継承フラグ | DataItemNameIFlg
2 | データ項目名 | DataItemName
3 | 標準名称継承フラグ | StdNameIFlg
4 | 標準名称 | StdName
5 | フリガナ継承フラグ | SymbolNameIFlg
6 | フリガナ | SymbolName
7 | 分類継承フラグ | TypeIFlg
8 | 分類 | Type
9 | けた数継承フラグ | DigitIFlg
10 | けた数 | Digit
11 | 小数部けた数継承フラグ | FloatDigitIFlg
12 | 小数部けた数項目名 | FloatDigit
13 | 反復回数継承フラグ | RepeatNumberIFlg
14 | 反復回数 | RepeatNumber
15 | フィールド継承フラグ | FieldIFlg
16 | フィールド | Field
17 | 名前継承フラグ | SourceNameIFlg
18 | 名前 | SourceName
19 | タイプ継承フラグ | SourceTypeIFlg
20 | タイプ | SourceType
21 | タイプ修飾情報継承フラグ | TypeModifyInfoIFlg
22 | タイプ修飾情報 | TypeModifyInfo
23 | 初期値継承フラグ | InitValueIFlg
24 | 初期値項目名 | InitValue
25 | 言語別フィールド継承フラグ | SourceFieldIFlg
26 | 言語別フィールド | SourceField
27 | 最上位結合項目フラグ | TopCompositeFlg
28 | 所有者 | Owner
29 | グループ | Group
30 | アクセス権 | AccessRight
31 | データ項目ID | DataItemID
32 | 親データ項目ID | PrntDataItemID
33 | 構成項目ID | ElmtDataItemID
34 | コメント | Comment
35 | 取りうる値 | AvailableValue

注

この表の記述順に従って記述してください。

(b)　データ項目の定義情報の記述内容

データ項目の定義項目に対応する値を記述するためのフォーマットを次の表に示します。国語区分，言語区分，フィールドおよび結合項目の構成項目のように，一つのデータ項目で複数の定義内容を持つ場合は，最大の個数の数だけ，複数行にわたって同じ列に値を記述します。

CSV形式ファイルを入力する場合，データ項目名およびデータ項目名継承フラグには値が記述されている必要があります。ほかの定義項目の値の記述は任意です。なお，一つのデータ項目を複数行にわたって記述する場合は，開始行にだけデータ項目名とデータ項目名継承フラグを記述します。2行目からは，この値は記述してはいけません。

表4-4　データ項目の定義情報の記述内容

記述順 | 記述する定義情報 | 記述順 | 記述する定義情報
1 | データ項目名継承フラグ※1 ※2 | 18 | 名前
2 | データ項目名※1 | 19 | タイプ継承フラグ※2
3 | 標準名称継承フラグ※2 | 20 | タイプ※3
4 | 標準名称 | 21 | タイプ修飾情報継承フラグ※2 ※4
5 | フリガナ継承フラグ※2 | 22 | タイプ修飾情報※4
6 | フリガナ | 23 | 初期値継承フラグ※2
7 | 分類継承フラグ※2 | 24 | 初期値
8 | 分類 | 25 | 言語別フィールド継承フラグ※2
9 | けた数継承フラグ※2 | 26 | 言語別フィールド
10 | けた数 | 27 | 最上位結合項目フラグ※5
11 | 小数部けた数継承フラグ※2 | 28 | 所有者※6
12 | 小数部けた数 | 29 | グループ※6
13 | 反復回数継承フラグ※2 | 30 | アクセス権※7
14 | 反復回数 | 31 | データ項目ID※8
15 | フィールド継承フラグ※2 | 32 | 親データ項目ID※8 ※9
16 | フィールド | 33 | 構成項目ID※8 ※9
17 | 名前継承フラグ※2 | 34 | コメント※10
35 | 取りうる値※11

注

この表の記述順に従って記述してください。

注※1

CSV形式ファイルを入力するときは，必ず値を記述します。一つのデータ項目を複数行にわたって記述する場合は，開始行にだけ記述します。

注※2

「データ項目の継承フラグ」を参照してください。

注※3

タイプの英字の識別子を記述します。識別子の前後に空白を記述してはいけません。複数のキーワードで構成される識別子（例：unsigned int）は，半角の空白1文字で区切ります。タイプの英字の識別子以外の文字が指定された場合は，フリー定義と見なされます。

注※4

言語区分「COBOL又はOOCOBOL」で定義する編集文字列を指します。

注※5

最上位結合項目であることを示す「1」，または最上位結合項目ではないことを示す「0」を指定します。CSV形式ファイルの入力時には，初期値として「0」が設定されます。

注※6

サーバに登録されている所有者（ユーザ）名，グループ名を記述します。

注※7

「データ項目のアクセス権」を参照してください。

注※8

「データ項目のID」を参照してください。

注※9

「データ項目名の指定」を参照してください。

注※10

文字列の途中に改行またはタブを記述できます。

注※11

「取りうる値の指定」を参照してください。

データ項目のID

各IDの内容を次に示します。

データ項目ID …データ項目を一意に識別するID

親データ項目ID …そのデータ項目が定義情報を継承している上位データ項目のデータ項目ID

構成項目ID …その結合項目を構成している構成項目のデータ項目ID※

注※

構成項目は空白行をはさまないで連続して記述してください。上位データ項目と同じにする場合はすべて省略してください。

IDの値は，次の2種類の形式で記述します。

仮システム内部ID ：「0x」で始まる最大16けたの16進の文字列。

システム内部ID ：「＆」で始まる英数字と記号から成る文字列。SEWB+/REPOSITORYが割り当てたシステム内部IDを文字列に変換した値。

データ項目名の指定

親データ項目，構成項目にはデータ項目名を指定できます。指定形式を次に示します。

　*〔辞書フォルダ名:|〕データ項目名

〔 〕内は省略できます。データ項目名は省略できません。

記述する文字列に「¥」，「*」，「?」，「,」，「;」，「/」，「<」，「>」および半角空白を含む場合は，「¥」に続けて各文字を記述してください。

構成項目を定義している辞書フォルダを指定する場合は，データ項目名の直前に必ず辞書フォルダ名を記述してください。辞書フォルダ名とデータ項目名は「:|」で区切ってください。

辞書フォルダ名を含めたデータ項目名の指定の直前には，「*」を付加します。CSV形式ファイルの入力時，辞書フォルダ名を省略した親データ項目および構成項目は，全辞書フォルダを対象として一括更新する場合，全辞書フォルダから特定されます。

全辞書フォルダを対象として一括更新する場合以外は，親データ項目に辞書フォルダ名を指定してはいけません。

データ項目の継承フラグ

継承フラグは，各定義項目の値を上位データ項目から引き継ぐかどうかを示します。継承フラグには，次の値を指定します。

1：上位データ項目から値を継承する

0：そのデータ項目で定義する値を示す

継承モードとの関係
継承フラグは，その定義項目の継承モードに「任意継承」を設定している場合だけ有効になります。継承モードが「必ず継承」の場合は継承フラグの値に関係なく「1」が設定されたものと見なされます。継承モードが「継承禁止」の場合は継承フラグの値に関係なく「0」が設定されたものと見なされます。

初期値
継承フラグが有効なとき，CSV形式ファイルの入力時には初期値として「1」が設定されます。ただし，最上位データ項目には「0」が設定されます。
注　CSV形式ファイルの入力時，継承関係の下位のデータ項目に指定した値のうち，継承フラグに「1」が指定されているときの定義情報の値は無視されます。

データ項目のアクセス権

アクセス権は，次に示す形式で記述します。

それぞれのアクセス権は，次に示す値の組み合わせで設定します。

r ：読み取り権　　w ：書き込み権　　d ：削除権

（例）　「rwd:rw:r」は，次に示すアクセス権の設定を表します。

所有者…読み取り権，書き込み権，削除権

グループ…読み取り権，書き込み権

すべてのユーザ…読み取り権

取りうる値の指定

取りうる値には，記号だけ，または記号と値を「＝」で結んだ記号の定義を定義数分繰り返した文字列を記述します。

繰り返す記号の定義は「，」で区切り，定義文字列全体は「"」で囲みます。なお，記号には，半角の空白，「，」および「＝」を記述できません。ただし，記号の前後にある半角空白または全角空白は無視されます。

値の記述に「，」，「＝」，「¥」を含む場合は，「¥」に続けて各文字が記述されている必要があります。

（例）　"NAGOYA=3"　　"OK=1,NG"

(3)　業務ルール辞書の標準フォーマット

業務ルール辞書のファイル内部の構成を次に示します。

1行目にはヘッダを，2行目からは個々の業務ルールの定義情報を記述します。一つのデータ項目に対応する定義情報は，内容に応じて1から複数行で記述します。国語区分，言語区分，フィールドおよび業務ルールに関連するデータ項目のように，一つの業務ルールで複数の定義内容を持つ場合は，複数行になります。例えば，1行目の標準名称の定義情報は国語区分「日本語」，3行目のルールスクリプトの定義情報は言語区分「SQL」と見なされます。ある特定の区分だけを入力する時，CSV形式ファイルコマンドの引数に指定する数字も定義情報の定義行に対応していますので，注意してください。

(a)　業務ルールのヘッダの記述内容

業務ルールのヘッダの記述内容を次の表に示します。CSV形式ファイル入力時にヘッダの入力を指定した場合には，ヘッダが記述されている必要があります。

表4-5　業務ルールのヘッダの記述内容

記述順 | 項目名 | ヘッダの記述内容
1 | 業務ルール名 | BusiRuleName
2 | 標準名称 | StdName
3 | フリガナ | SymbolName
4 | フィールド | Field
5 | 所有者 | Owner
6 | グループ | Group
7 | アクセス権 | AccessRight
8 | 業務ルールID | BusiRuleID
9 | 共用情報 | ShareInfo
10 | キーワード | Keyword
11 | 適用条件 | ApplyCond
12 | 関連データ項目ID | ReltnDataItemID
13 | ルールスクリプト | RuleScript
14 | コメント | Comment

注

この表の記述順に従って記述してください。

(b)　業務ルールの定義情報の記述内容

業務ルールの定義項目に対応する値を記述するためのフォーマットを次の表に示します。国語区分，言語区分，フィールドおよび業務ルールに関連するデータ項目のように，一つの業務ルールで複数の定義内容を持つ場合は，最大の個数の数だけ，複数行にわたって同じ列に値を記述します。

表4-6　業務ルールの定義情報の記述内容

記述順 | 記述する定義情報 | 記述順 | 記述する定義情報
1 | 業務ルール名※1 | 8 | 業務ルールID※4
2 | 標準名称 | 9 | 共用情報※5
3 | フリガナ | 10 | キーワード
4 | フィールド | 11 | 適用条件※6
5 | 所有者※2 | 12 | 関連データ項目ID※7，※8
6 | グループ※2 | 13 | ルールスクリプト※9
7 | アクセス権※3 | 14 | コメント※9

注

この表の記述順に従って記述してください。

注※1

CSV形式ファイルを入力するときには，必ず値を記述します。一つの業務ルールを複数行にわたって記述する場合は，開始行にだけ記述します。

注※2

サーバに登録されている所有者（ユーザ）名，グループ名を記述します。

注※3

アクセス権の設定方法は，データ項目と同様です。「4.1.7(2)(b)　データ項目の定義情報の記述内容」のデータ項目のアクセス権の説明を参照してください。

注※4

「業務ルールのID」を参照してください。

注※5

データ項目の適用形態が「共用する」の場合は何も記述しません。「専用にする」の場合は，すべての関連データ項目IDを記述する行に「M」を記述します。同一項目用業務ルールでは，「専用にする」を示す「M」を記述します。

注※6

適用条件が入力の場合は「I」，出力の場合は「O」を記述します。

注※7

業務ルールに関連するデータ項目のシステム内部IDを記述します。ただし，同一項目用業務ルールの場合は，「すべての単項目」を関連づけるときは「?S」，「すべての項目」を関連づけるときは「?A」を記述します。同一項目用業務ルールでは関連データ項目を2行に記述します。この2行はどちらも同じ形式で記述してください。

注※8

「関連するデータ項目のID」を参照してください。

注※9

文字列の途中に改行またはタブを記述できます。

業務ルールのID

IDの値は，次の2種類の形式で記述します。

仮システム内部ID：「0x」で始まる最大16けたの16進の文字列。

システム内部ID：「&」で始まる英数字と記号から成る文字列。SEWB+/REPOSITORYが割り当てたシステム内部IDを文字列に変換した値。

関連するデータ項目のID

関連するデータ項目のIDはシステム内部IDと同じ形式，または次の形式で記述します。

　*〔辞書フォルダ名:|〕データ項目名

〔 〕内は省略できます。データ項目名は省略できません。リポジトリに登録されているデータ項目を識別するデータ項目名を記述してください。

記述する文字列に「¥」，「*」，「?」，「,」，「;」，「/」，「<」，「>」および半角空白を含む場合は，「¥」に続けて各文字を記述してください。

関連データ項目を定義している辞書フォルダを指定する場合は，データ項目名の直前に必ず辞書フォルダ名を記述してください。辞書フォルダ名とデータ項目名は「:|」で区切ってください。

また，指定する関連データ項目が入出力対象の辞書フォルダに定義されている場合は，辞書フォルダ名の指定は必要ありません。

4.2　データベースから辞書のレコード定義（最上位結合項目）を生成する

ORACLEなどのODBCインタフェース機能をサポートしているデータベースから表と列の情報を取り出して，結合項目および構成項目を生成できます。この機能はコマンドとして用意され（ODBC入力コマンドといいます），サーバでシステム管理者だけが利用できます。

ODBC入力コマンドを使って生成された結合項目は，既存データベースのレコード構造を反映しています。したがって，SEWB+/CONSTRUCTIONのデータ定義で，辞書のレコード定義（最上位結合項目）を利用すれば，既存データベースにアクセスするアプリケーションの開発効率を向上できます。

＜この節の構成＞

4.2.1　データベースの表および列情報の入力

4.2.2　結合項目と構成項目の生成規則

4.2.3　ODBC入力コマンド（RPOdbcin）の使い方

4.2.1　データベースの表および列情報の入力

ODBC入力コマンドは，各種データベースによって生成されたデータソースの中から表に関する情報を取得して，これを基に結合項目と構成項目を生成します。データ項目辞書に生成された結合項目のうち，最上位結合項目は，SEWB+/CONSTRUCTIONからは，辞書のレコード定義（最上位結合項目）として扱われます。したがって，SEWB+/CONSTRUCTIONのデータ定義で，この最上位結合項目（つまり，生成元データベースのレコード定義）を利用すれば，このデータソースにアクセスするためのプログラムを生成できます。

ODBC入力コマンドを使いデータベースから表情報を入力して，SEWB+/CONSTRUCTIONでプログラムを生成するまでのデータの流れを次の図に示します。

図4-4　データベースからのデータの流れ

データソースとは
ユーザがアクセスするデータとそのデータを取得するために必要な情報です。例えば，ORACLEのデータベース，ORACLEデータベースが保存されているサーバ，そのサーバへアクセスするために使われるネットワークがデータソースになります。

ODBC入力コマンドを使う前に

あらかじめODBCドライバの組み込みと，データソースの追加およびセットアップが必要です。ODBCドライバの組み込みと，データソースの追加およびセットアップには，ODBCコントロールパネルを使用します。

ODBCタイプをSEWB+/REPOSITORYの分類区分やタイプなどに変換するためのマッピング規則を，環境構築ユティリティでカスタマイズします。ただし，標準で用意されている規則を適用する場合はカスタマイズは必要ありません。

4.2.2　結合項目と構成項目の生成規則

ここでは，データベースの表情報から，どのように結合項目と構成項目が生成されるのかについて説明します。

＜この項の構成＞

(1)　結合項目と構成項目の生成例

(2)　生成規則

(3)　データ項目名による更新入力

(4)　外部キーの扱い

(1)　結合項目と構成項目の生成例

データソース「TESTDATA」を例に，使用するデータベースがORACLEの場合，どのように結合項目と構成項目が生成されるのかについて説明します。データソース「TESTDATA」は表「NEWTABLE」を持ち，表「NEWTABLE」は「City」および「State」という列を持ちます。このデータソースの表から求められる列情報の例を次の表に示します。

表4-7　データソースの表から求められる列情報の例

列情報項目 | 列情報1 | 列情報2
表名 (TABLE_NAME) | NEWTABLE | NEWTABLE
列名 (COLUMN_NAME) | City | State
データ型 (DATA_TYPE) | SQL_CHAR | SQL_CHAR
精度 (PRECISION) | 10 | 2

この例から生成されるデータ項目の関係を次の図に示します。

図4-5　生成されるデータ項目間の関係

生成されるデータ項目の定義内容の例を次の表に示します。

表4-8　生成されるデータ項目の定義内容の例

定義項目
生成される定義内容

データソース
NEWTABLE（表）
City（列）
State（列）

データ項目名
TESTDATA
NEWTABLE
City
State

データ項目種別
結合項目
結合項目
単項目
単項目

分類
結合データ
結合データ
英数字文字列データ
英数字文字列データ

けた数
－
－
10
2

名前（言語共通）
TESTDATA
NEWTABLE
City
State

タ
イ
プ
COBOL又はOOCOBOL
－
－
X
X

C又はC++
－
－
char
char

SQL
－
－
CHAR
CHAR

帳票定義
－
－
C
C

Java
－
－
char
char

言語4～7
－
－
フリー定義
フリー定義

生成されるデータ項目の詳細な定義内容の例は，CSV形式ファイルで提供されています。このサンプルの提供先を次に示します。

サーバのSEWB+ 基本開発環境の組み込み先パス名¥Repository¥sample¥odbcin.csv

なお，組み込み先パス名は，デフォルトでは次のように設定されています。システムドライブとは，Windows Serverが組み込まれているドライブです。

システムドライブ:¥Program Files¥HITACHI¥Sewb

注意

64ビット版のWindowsでの，デフォルトの組み込み先パス名を次に示します。

システムドライブ:¥Program Files (x86)¥HITACHI¥Sewb

(2)　生成規則

(a)　生成の概要

ODBC入力コマンドを使用すると，生成元のデータソースから結合項目の構成が生成され，データ項目辞書に格納されます。生成されるデータ項目の関係の例を次の図に示します。

図4-6　データソースから生成されるデータ項目の関係

データソースから生成されるデータ項目は，次の3種類に分類されます。

データソースに対応するデータ項目
結合項目となります。一つのデータソースに対し，一つだけ生成されます。2.のデータ項目が，この結合項目の構成項目になります。

表に対応するデータ項目
結合項目（最上位結合項目）となります。データソース中の表に対応して，複数生成されます。3.のデータ項目が，この結合項目の構成項目になります。

列に対応するデータ項目
単項目※1または結合項目となります。データ項目種別（単項目または結合項目）は，列のSQLデータ型※2によって異なります。

注※1

単項目とは，構成項目を持たないデータ項目のことです。

注※2

ODBC SQLデータ型（SEWB+/REPOSITORYでは「ODBCタイプ」と呼びます）とは，ODBCで規定されるSQLデータ型のことです。ODBC SQLデータ型の詳細は，ODBCに接続するデータベースのマニュアルを参照してください。

(b)　データソース，表，列から生成されるデータ項目の定義内容

(a)で説明した分類に従って，それぞれのデータ項目に生成される定義内容を次の表に示します。

データ項目名，標準名称，コメント，名前に設定される名称の文字数が，定義項目の上限値を超える場合，超えた部分が切り捨てられて生成されます。

データソースの情報を使用するため，生成された言語別の名前が言語の規則（文字数や使用できる文字の種類など）に従っていない場合があります。生成後，リポジトリブラウザを使用して適切な名前に変更してください。

列に対応するデータ項目の種別，分類，けた数，小数部けた数，言語別のタイプは，列のODBCタイプで決まります。詳細な対応については，「4.2.2(2)(c)　ODBC タイプマッピングの規則」を参照してください。

表4-9　データソースから生成されるデータ項目の定義内容

定義項目 | データ項目の定義内容
データソースから生成 | 表から生成 | 列から生成
名称 | データ項目名 | データソース名 | テーブル識別子 | 列識別子
標準名称 | データソース名※1 | テーブル識別子※1 | 列識別子※1
フリガナ | － | － | －
属性 | 分類 | 結合データ | 結合データ | ODBCタイプに対応
けた数 | － | － | ODBCタイプに対応
小数部けた数 | － | － | ODBCタイプに対応
反復回数 | － | － | －
付加情報 | フィールド1～20 | － | － | －
コメント | － | テーブルの説明 | 列の説明
言語別詳細情報 | 名前 | データソース名※2 | テーブル識別子※2 | 列識別子※2
タイプ | － | － | ODBCタイプに対応
タイプ修飾情報※3 | － | － | －
取りうる値 | － | － | －
初期値 | － | － | －
言語別フィールド | － | － | －
セキュリティ情報 | 所有者名 | －※4 | －※4 | －※4
グループ名 | －※5 | －※5 | －※5
アクセス権 | －※6 | －※6 | －※6

（凡例）

－：設定されない

注

データソース名は，コマンド実行時に，引数に指定したデータソース名です。

テーブル識別子は，表の名前を示す文字列です。

テーブルの説明は，表を説明する文字列です。

列識別子は，列の名前を示す文字列です。

列の説明は，列を説明する文字列です。

注※1

コマンド実行時に，引数に指定した国語区分に対して設定されます。指定していない場合，すべての国語区分に同じ内容が設定されます。

注※2

すべての言語区分に同じ内容が設定されます。

注※3

言語区分「COBOL又はOOCOBOL」で定義する編集文字列を指します。

注※4

コマンド実行時に，引数に指定した所有者名が設定されます。指定していない場合は，システム管理者が設定されます。

注※5

コマンド実行時に，引数に指定したグループ名が設定されます。指定していない場合は，システム管理者の所属するグループ名が設定されます。

注※6

新規に登録したデータ項目にはアクセス権の初期値が設定されます。初期値については「3.2.1　アクセス権の設定」を参照してください。なお，既存のデータ項目を更新した場合には，設定されているアクセス権は変更されません。

(c)　ODBCタイプマッピングの規則

データ項目種別

構造を持つ列は結合項目，構造を持たない列は単項目となります。

結合項目として生成される場合，構成項目も同時に生成され，そのデータ項目名には内容を表すサフィックスが付加されます。

ODBCタイプと付加されるサフィックスの有無の対応については，表4-10を参照してください。

分類，けた数，小数部けた数

タイプマッピングの規則に従って，ODBCタイプや条件に応じた分類，けた数，小数部けた数が設定されます。標準で用意されているタイプマッピングの規則を次の表に示します。

結合項目として生成されたデータ項目は分類が「結合データ」となるため，けた数と小数部けた数は設定されません。単項目または結合項目の構成項目として生成されたデータ項目には，ODBCタイプに応じた分類，けた数，小数部けた数が設定されます。

列の精度からけた数が設定されるデータ項目で，列の精度がけた数の上限値を超える場合，代わりに上限値が設定されます。

表4-10　ODBCタイプと分類，けた数，小数部けた数の対応

ODBCタイプ
データ項目の定義内容

構成項目のサフィックス
分類
けた数
小数部
けた数

SQL_CHAR
－
英数字文字列
長さ
－

SQL_VARCHAR
-length
整数
9
－

-char
英数字文字列
長さ
－

SQL_LONGVARCHAR
-length
整数
9
－

-char
英数字文字列
長さ
－

SQL_DECIMAL
－
整数※
精度
－

実数※
精度
スケール

SQL_NUMERIC
－
整数※
精度
－

実数※
精度
スケール

SQL_SMALLINT
－
整数
精度
－

SQL_INTEGER
－
整数
精度
－

SQL_REAL
－
実数
精度
－

SQL_FLOAT
－
実数
精度
－

SQL_DOUBLE
－
実数
精度
－

SQL_BIT
-filler
分類なし
7
－

-bit
分類なし
1
－

SQL_TINYINT
－
整数
精度
－

SQL_BIGINT
－
整数
精度
－

SQL_BINARY
－
英数字文字列
長さ
－

SQL_VARBINARY
-length
整数
9
－

-bit
英数字文字列
長さ
－

SQL_LONGVARBINARY
-length
整数
9
－

-bit
英数字文字列
列最大長
－

SQL_DATE
-year
整数
4
－

-month
整数
4
－

-day
整数
4
－

SQL_TIME
-hour
整数
4
－

-minute
整数
4
－

-second
整数
4
－

SQL_TIMESTAMP
-year
整数
4
－

-month
整数
4
－

-day
整数
4
－

-hour
整数
4
－

-minute
整数
4
－

-second
整数
4
－

-fraction
整数
9
－

その他
－
分類なし
－
－

（凡例）

－：設定されない

注

構成項目のサフィックス欄が「－」のODBCタイプは，単項目として生成されるタイプです。「－」以外のタイプは，結合項目としてその構成項目が生成されるタイプです。

注※

スケールに依存します。スケール=0の場合は「整数データ」となります。その他の場合は「実数データ」となります。

言語別のタイプ

タイプマッピングの規則に従って，ODBCタイプや条件に応じたタイプが設定されます。標準で用意されているタイプマッピングの規則を，表4-11から表4-13に示します。

結合項目として生成されたデータ項目には，言語別のタイプは設定されません。単項目または結合項目の構成項目として生成されたデータ項目には，ODBCタイプに応じた言語別のタイプが設定されます。

同じODBCタイプでも，列の符号の有無によって，設定されるタイプが異なる場合があります。

言語別4～7のタイプには「フリー定義」が設定されます。定義文字列は設定されません。

表4-11　ODBCタイプと言語別タイプの対応（COBOL又はOOCOBOL，C又はC++）

列の情報
データ項目の定義内容

ODBCタイプ
構成項目のサフィックス
言語別のタイプ

COBOL又はOOCOBOL
C又はC++

SQL_CHAR
－
X
char

SQL_VARCHAR
-length
B
long

-char
X
char *

SQL_LONGVARCHAR
-length
B
long

-char
X
char *

SQL_DECIMAL
－
フリー定義※1
フリー定義※5

SQL_NUMERIC
－
フリー定義※1
フリー定義※5

SQL_SMALLINT
－
B※²
BU※²
short※⁶
unsigned short※⁶

SQL_INTEGER
－
B※²
BU※²
long※⁷
unsigned long※⁷

SQL_REAL
－
D
float

SQL_FLOAT
－
D
double

SQL_DOUBLE
－
D
double

SQL_BIT
-filler
1
フリー定義※8

-bit
1
フリー定義※8

SQL_TINYINT
－
フリー定義※3
int※9
unsigned int※9

SQL_BIGINT
－
B※²
BU※²
フリー定義※5

SQL_BINARY
－
X
フリー定義※10

SQL_VARBINARY
-length
B
long

-bit
X
フリー定義※10

SQL_LONGVARBINARY
-length
B
long

-bit
X
フリー定義※10

SQL_DATE
-year
B
short

-month
BU
unsigned short

-day
BU
unsigned short

SQL_TIME
-hour
BU
unsigned short

-minute
BU
unsigned short

-second
BU
unsigned short

SQL_TIMESTAMP
-year
B
short

-month
BU
unsigned short

-day
BU
unsigned short

-hour
BU
unsigned short

-minute
BU
unsigned short

-second
BU
unsigned short

-fraction
BU
unsigned long

その他
－
フリー定義※4
フリー定義※4

（凡例）

－：設定されない

注※1

精度を$p，スケールを$sとするとき，定義文字列は「PIC S9($p－$s)V9($s) SIGN LEADING SEPARATE」となります。

注※2

列符号がある場合は「B」，ない場合は「BU」となります。

注※3

定義文字列には「PIC X(1)」が設定されます。

注※4

定義文字列は設定されません。

注※5

定義文字列には「char *」が設定されます。

注※6

列符号がある場合は「short」，ない場合は「unsigned short」となります。

注※7

列符号がある場合は「long」，ない場合は「unsigned long」となります。

注※8

定義文字列には「unsigned char」が設定されます。

注※9

列符号がある場合は「int」，ない場合は「unsigned int」となります。

注※10

定義文字列には「unsigned char *」が設定されます。

表4-12　ODBCタイプと言語別タイプの対応（SQL）

列の情報 | データ項目の定義内容
ODBCタイプ | 構成項目のサフィックス | 言語別のタイプ（SQL）
データべースがORACLE | データべースがHiRDB
SQL_CHAR | － | CHAR | CHAR
SQL_VARCHAR | -length | NUMBER | SMALLINT
-char | VARCHAR2 | VARCHAR
SQL_LONGVARCHAR | -length | NUMBER | DEC
-char | LONG | フリー定義※
SQL_DECIMAL | － | NUMBER | DEC
SQL_NUMERIC | － | NUMBER | DEC
SQL_SMALLINT | － | NUMBER | SMALLINT
SQL_INTEGER | － | NUMBER | INT
SQL_REAL | － | NUMBERf | SMALLFLT
SQL_FLOAT | － | NUMBERf | FLOAT
SQL_DOUBLE | － | NUMBERf | FLOAT
SQL_BIT | -filler | フリー定義※ | フリー定義※
-bit | フリー定義※ | フリー定義※
SQL_TINYINT | － | NUMBER | SMALLINT
SQL_BIGINT | － | NUMBER | DEC
SQL_BINARY | － | フリー定義※ | フリー定義※
SQL_VARBINARY | -length | NUMBER | SMALLINT
-bit | フリー定義※ | フリー定義※
SQL_LONGVARBINARY | -length | NUMBER | DEC
-bit | フリー定義※ | フリー定義※
SQL_DATE | -year | NUMBER | SMALLINT
-month | NUMBER | SMALLINT
-day | NUMBER | SMALLINT
SQL_TIME | -hour | NUMBER | SMALLINT
-minute | NUMBER | SMALLINT
-second | NUMBER | SMALLINT
SQL_TIMESTAMP | -year | NUMBER | SMALLINT
-month | NUMBER | SMALLINT
-day | NUMBER | SMALLINT
-hour | NUMBER | SMALLINT
-minute | NUMBER | SMALLINT
-second | NUMBER | SMALLINT
-fraction | NUMBER | SMALLINT
その他 | － | フリー定義※ | フリー定義※

（凡例）

－：該当しない

注

言語別SQLに「ORACLE」または「HiRDB」のどちらのタイプで登録するかを，コマンドに指定してください。コマンドの詳細は，「4.2.3(3)　ODBC入力コマンド（RPOdbcin）の指定」の引数 /Qを参照してください。言語別SQLで使用するタイプを，あらかじめ環境構築ユティリティでカスタマイズしておく必要があります。標準に設定されている分類とタイプの対応については「表2-4 分類区分とタイプの対応（SQL）」，HiRDBのカスタマイズ例については「表2-8 分類区分とタイプの対応のカスタマイズ例（言語区分SQLのタイプをHiRDBとして使用する場合）」を参照してください。

注※

定義文字列は設定されません。

表4-13　ODBCタイプと言語別タイプの対応（帳票定義，Java）

列の情報
データ項目の定義内容

ODBCタイプ
構成項目のサフィックス
言語別のタイプ

帳票定義
Java

SQL_CHAR
－
C
※1

SQL_VARCHAR
-length
I
※1

-char
C
※1

SQL_LONGVARCHAR
-length
I
※1

-char
C
※1

SQL_DECIMAL
－
I※²
フリー定義※²
※1

SQL_NUMERIC
－
I※³
B※³
※1

SQL_SMALLINT
－
I
※1

SQL_INTEGER
－
I
※1

SQL_REAL
－
I
※1

SQL_FLOAT
－
B
※1

SQL_DOUBLE
－
B
※1

SQL_BIT
-filler
フリー定義※4
※1

-bit
フリー定義※4
※1

SQL_TINYINT
－
I
※1

SQL_BIGINT
－
I
※1

SQL_BINARY
－
フリー定義※4
※1

SQL_VARBINARY
-length
I
※1

-bit
フリー定義※4
※1

SQL_LONGVARBINARY
-length
I
※1

-bit
フリー定義※4
※1

SQL_DATE
-year
I
※1

-month
I
※1

-day
I
※1

SQL_TIME
-hour
I
※1

-minute
I
※1

-second
I
※1

SQL_TIMESTAMP
-year
I
※1

-month
I
※1

-day
I
※1

-hour
I
※1

-minute
I
※1

-second
I
※1

-fraction
I
※1

その他
－
フリー定義※5
フリー定義※⁵

（凡例）

－：設定されない

注※1

環境構築ユティリティで設定した分類区分に対応するタイプの初期値（デフォルトタイプ）が設定されます。

注※2

列の精度とスケールに依存します。スケール=0 かつ 精度≦16の場合と，0＜スケール≦5 かつ（精度－スケール）≦16の場合は「I」となります。その他の場合はフリー定義で，内容は「C」となります。

注※3

列の精度とスケールに依存します。スケール＝0 かつ 精度≦10の場合は「I」となります。その他の場合は「B」となります。

注※4

定義文字列には「C」が設定されます。

注※5

定義文字列は設定されません。

(3)　データ項目名による更新入力

データベースから生成された定義情報で，すでに辞書に登録されているデータ項目を更新できます（更新入力）。この場合は，ODBC入力コマンドで，引数「/N　辞書への登録方法」を指定します。

更新入力では，データ項目名によって，更新の対象となるデータ項目が特定されます。このため，既存の辞書フォルダ内および登録されるデータ項目には，一意のデータ項目名が定義されている必要があります。なお，対象となるデータ項目が辞書にない場合には，新しいデータ項目として作成，登録されます。

(4)　外部キーの扱い

表に指定された外部キーの関係を，辞書に反映できます。ここでは，外部キーを含む表の生成規則について説明します。ODBC入力コマンドの引数の指定によって，個別のデータ項目として生成するか，またはデータ項目に外部キーに基づいた関連を付けて生成するかを選択できます。

(a)　外部キーを個別のデータ項目として生成

ODBC入力コマンドで，引数「/R 外部キー関連付けの有無」を省略，または引数「/R 外部キー関連付けの有無」で「nouse」を指定すると，外部キーは個別のデータ項目として生成されます。この場合の例を次に示します。

(b)　外部キーをデータ項目の関連として生成

ODBC入力コマンドで，引数「/R 外部キー関連付けの有無」に「use」を指定すると，外部キーの関係をデータ項目間の関連として生成できます。この場合，外部キーとなるデータ項目は作成されず，主キーとなるデータ項目に関連が付けられます。

なお，外部キーの情報をデータソースから取得するためには，ODBCドライバがAPI適合レベル2に準拠している必要があります。ODBCドライバのAPI適合レベルについては，使用するODBCドライバまたはデータベースのマニュアルなどで確認してください。

外部キーの関連づけは，ODBCドライバのAPI適合レベルによって，生成規則が異なります。

(i) API適合レベル2の場合

関連の生成規則
外部キーとなるデータ項目は作成されず，主キーとなるデータ項目に結合の関連が付けられます。この場合の例を次に示します。

ただし，一度に入力する表に，主キーと外部キーの両方の指定が含まれていることが前提となります。主キーとなるデータ項目が一度に入力する表に含まれない場合には，外部キーのデータ項目だけが新規に作成されます。また，外部キーの名称を別名で指定している場合は，主キーのデータ項目を親として継承するデータ項目が作成されます。この場合の例を次に示します。

表から生成されたデータ項目と既存のデータ項目との関連
データ項目名による更新入力を併用することで，入力する外部キーのデータ項目と既存の辞書フォルダ内にある主キーのデータ項目とに関連が付けられます。
既存の辞書フォルダ内にある主キーのデータ項目は，表の外部キーの属性で更新されます。また，外部キーが別名のデータ項目は，既存の辞書フォルダ内の主キーとなるデータ項目を親とする継承の関連が付けられます。
ただし，継承の関連は，主キーとなるデータ項目が先に辞書フォルダに登録されていることが前提となります。

(ii) API適合レベル2がサポートされていない場合

名称が同じ列に対するデータ項目が，一つのデータ項目に統合されます。この場合，属性が同じ列を除く列の名称は，入力する表全体で一意であることが前提になります。名称が同じ列が複数ある場合には，入力時に先に登録されたデータ項目に統合されます。

このように，列の名称によって一つのデータ項目に統合されるため，データ項目名による更新入力を行う場合に，入力するデータ項目の名称を一意に保ちやすくなります。

なお，列に別名が付けられている場合，主キーと外部キーで継承の関係が結べないため，独立したデータ項目として登録されます。この場合の例を次に示します。

4.2.3　ODBC入力コマンド（RPOdbcin）の使い方

＜この項の構成＞

(1)　ODBC入力コマンドが格納されているディレクトリ

(2)　コマンド実行時の注意事項

(3)　ODBC入力コマンド（RPOdbcin）の指定

(1)　ODBC入力コマンドが格納されているディレクトリ

コマンドは，次のディレクトリに格納されています。

サーバのSEWB+ 基本開発環境の組み込み先パス名¥Repository¥bin

SEWB+ 基本開発環境の組み込み先パス名は，デフォルトでは次のように設定されています。システムドライブとは，Windows Serverが組み込まれているドライブです。

システムドライブ:¥Program Files¥HITACHI¥Sewb

注意

64ビット版のWindowsでの，デフォルトの組み込み先パス名を次に示します。

システムドライブ:¥Program Files (x86)¥HITACHI¥Sewb

(2)　コマンド実行時の注意事項

(a)　コマンドを実行する前に

コマンドを実行するサーバでは，SEWB+/REPOSITORYからログアウトしておいてください。

(b)　コマンド実行時にほかの作業をする場合

ODBC入力コマンドでは，実行時に排他制御を行っていません。したがって，コマンドの実行中でもほかの作業ができます。ただし，次に示す点に注意してください。

コマンドの実行中に対象となっている資源や関連情報を，更新または削除してはいけません。不整合が検出され，正常に終了しない場合があります。この場合には，ODBC入力コマンドの再実行が必要です。

コマンドの実行中に，更新の対象となっている資源を変更してはいけません。ODBC入力コマンドが正常に終了しても，資源の内容が更新されていない場合があります。

(3)　ODBC入力コマンド（RPOdbcin）の指定

サーバのコマンドラインに，次に示す構文に従ってコマンドと引数を指定して実行します。実行中には，データ項目の登録件数が表示されます。また，詳細情報がログファイルに出力されます。

(a)　形式

RPOdbcin　/S　データソース名　〔〔 /T　表名 〕... 〕

〔 /U　ユーザID 〕〔 /P　パスワード 〕

/D　辞書フォルダ名

〔 /O　所有者名 〕〔 /G　グループ名 〕

〔 /C　登録先国語別 〕

〔 /Q　SQLタイプ 〕

〔 /R　外部キー関連付けの有無 〕

〔 /N　辞書への登録方法 〕

〔 /L　ログファイル名 〕

〔 /? 〕

(b)　引数

/S　データソース名

ODBCコントロールパネルを使って追加およびセットアップしたデータソースの名称を指定します。

/T　表名

データソースの中から結合項目を生成する表名を指定します。省略すると，データソース中にあるすべての表から結合項目が生成されます。

/U　ユーザID

データソースとなるデータベースに接続するため，必要に応じてユーザIDを指定します。

/P　パスワード

データソースとなるデータベースに接続するため，必要に応じてパスワードを指定します。

/D　辞書フォルダ名

入力した情報の登録先となる辞書フォルダ名を指定します。

/O　所有者名※¹

作成する辞書の所有者名を指定します。省略時はシステム管理者が仮定されます。

/G　グループ名※¹

作成する辞書のグループ名を指定します。省略時はシステム管理者が所属するグループが仮定されます。

/C　登録先国語別

登録する国語区分を指定します。環境構築ユティリティで設定した国語区分の順序に対応して1～4の数字で指定します。省略時は，データソースから得られた値がすべての国語別に登録されます。

/Q　SQLタイプ

言語別SQLに登録するタイプを指定します。省略時は「ora」が仮定されます。

ora：言語別SQLに，ORACLEのタイプを登録

hir：言語別SQLに，HiRDBのタイプを登録

/R　外部キー関連付けの有無

外部キーの構成項目を，主キーとなるデータ項目に関連づけるかどうかを指定します。省略時は「nouse」が仮定されます。

nouse：外部キーでも新規にデータ項目を作成する

use：外部キーは主キーのデータ項目に関連づける

/N　辞書への登録方法

辞書フォルダへデータ項目を新規に登録するか，データ項目名で更新するかどうかを指定します。省略時は「new」が仮定されます。

new：すべてのデータ項目を新規に登録する

name：登録先の辞書フォルダに同じデータ項目名のデータ項目がある場合，定義情報を更新する

/L　ログファイル名※²

ログファイルの出力先を指定します。省略時は，次のファイルがログファイルとして作成されます。

パス：環境変数「TEMP」または「TMP」に代入されている値

ファイル名：rpodbcin.log

/?

コマンドの構文と引数の指定方法を表示します。

注※1

新しい辞書フォルダまたはデータ項目を登録するときに指定します。ここで指定した所有者名とグループ名は辞書フォルダ，データ項目に共通に設定されます。引数に指定する名称は，辞書登録するサーバに登録されているユーザ，グループの名称を使用してください。ユーザ，グループの登録についてはマニュアル「SEWB+/REPOSITORY 運用ガイド」を参照してください。なお，この指定では，既存の辞書情報に設定されている所有者名およびグループ名は変更できません。

注※2

ログファイルはコマンドの実行ごとに上書きされます。残しておきたい場合は異なるログファイル名を指定してください。

(c)　リターン値

コマンドの実行が終了すると，次のリターン値が返されます。

0：正常終了した

1：その他のエラーが発生した

2：メモリが確保できない

3：引数が不正である

4：ログファイルが作成できない

5：辞書に対するアクセス権がない

6：データソースが開けない

7：表が開けない

4.3　SEWB3資産を移行する

SEWB+/REPOSITORYでは，UNIXの開発で蓄えられたSEWB3の辞書情報を移行するためのコマンド（SEWB3辞書移行コマンドといいます）が用意されています。この機能は，サーバでシステム管理者だけが利用できます。

SEWB+/REPOSITORYのデータ項目辞書には，SEWB3のデータ項目の基本項目および詳細項目から，次の定義情報が移行されます。

基本項目…名称，属性，付加情報

詳細項目…入力項目，出力項目，チェック条件

また，業務ルール辞書には，詳細項目のフリー定義から定義情報が移行されます。

なお，それぞれの辞書の定義項目には相違がありますが，SEWB+/REPOSITORYが定めた規則に従って自動的に変換されます。

＜この節の構成＞

4.3.1　SEWB3 データ項目辞書の移行作業

4.3.2　基本項目の変換規則

4.3.3　詳細項目の変換規則

4.3.4　SEWB3辞書移行コマンド（RPTrans）の使い方

4.3.1　SEWB3 データ項目辞書の移行作業

ここでは，SEWB3辞書移行コマンドを使用した移行作業について説明します。SEWB3のエクスポート機能の使い方については，マニュアル「SEWB3 データ項目設計支援 使用の手引」を参照してください。

＜この項の構成＞

(1)　移行作業の流れ

(2)　辞書フォルダへの登録

(1)　移行作業の流れ

移行作業の流れを次の図に示します。

図4-7　移行作業の流れ

移行作業

SEWB3のデータ項目辞書はUNIFY2000リポジトリまたはISAMリポジトリに格納されています。次に移行作業の手順を説明します。

注

SEWB3辞書移行コマンドを使用して移行できるのは，シフトJISのロケール環境で作成したデータ項目辞書だけです。したがって，シフトJIS以外のロケール環境で作成したデータ項目辞書をこのコマンドで移行しても，SEWB+/REPOSITORYおよびSEWB+/REPOSITORYの機能を使用するクライアントプログラムの動作は保証されませんので注意してください。日本語EUC環境で作成したデータ項目辞書を移行したい場合には，SEWB3でシフトJISコードに変換したあと，そのファイルをエクスポートして，SEWB+への移行に使用してください。変換の手順については，マニュアル「SEWB3 運用の手引」の異なる言語間のコード変換の説明を参照してください。

SEWB3のエクスポート機能を使って，移行するデータ項目辞書をエクスポートファイルに取り出します。

エクスポートファイルをWindows環境に，バイナリモードで転送します。
または，OS（Windows Server）のネットワーク機能を使用して，Windowsからエクスポートファイルを参照できるようにします。

エクスポートファイルを指定してSEWB3辞書移行コマンドを実行します。

移行後の辞書情報の確認と変更作業

移行した辞書情報をSEWB+/REPOSITORYの辞書でどのように利用するか検討し，必要に応じて辞書情報を加工します。辞書情報の確認と変更や，データ項目の継承関係，結合関係を定義する作業にはリポジトリブラウザを使用します。また，移行した辞書情報をCSV形式ファイル出力コマンドを使ってCSV形式ファイルに出力すれば，他のアプリケーション上で確認と変更作業をすることもできます。

(2)　辞書フォルダへの登録

辞書フォルダへの登録規則を次に説明します。

登録したい辞書フォルダがリポジトリにある場合
SEWB3辞書移行コマンドで指定した辞書フォルダに，辞書情報が変換されて登録されます。データ項目と業務ルールが新規に追加されます。

新しい辞書フォルダに登録する場合
SEWB3辞書移行コマンドで指定した辞書フォルダ名で，新しい辞書フォルダが作成されます。そこに，辞書情報が変換されて登録されます。

4.3.2　基本項目の変換規則

ここでは，SEWB3データ項目の基本項目と，SEWB+/REPOSITORYデータ項目との対応と変換規則について説明します。

＜この項の構成＞

(1)　データ項目の名称，属性および付加情報の変換

(2)　タイプから分類区分への変換

(3)　タイプから言語別タイプへの変換

(4)　移行前のタイプの扱い

(1)　データ項目の名称，属性および付加情報の変換

SEWB3データ項目の名称，属性，付加情報の対応関係と変換規則を次の表に示します。

表4-14　基本項目の変換

SEWB3　データ項目辞書 | SEWB＋辞書（データ項目）
データ項目名 | データ項目名
日本語名 | 標準名称（日本語）
振り仮名 | フリガナ
略称 | フィールド1 ※1
グループ | フィールド2 ※2
タイプ | 分類，タイプ ※3
けた数（整数部），けた数（小数部） | けた数 ※4
けた数（小数部） | 小数部けた数
反復回数 | 反復回数
初期値 | 初期値（COBOL又はOOCOBOL）
編集文字列 | タイプ修飾情報（COBOL又はOOCOBOLの編集文字列）
コメント | コメント（日本語）

注※1

「フィールド1」の名称が「略称」に変更されて定義情報が移行されます。

注※2

「フィールド2」の名称が「グループ」に変更されて定義情報が移行されます。

注※3

詳細は，「表4-15 タイプから分類区分への変換」，「表4-16 タイプから言語別タイプへの変換」を参照してください。

注※4

「けた数（整数部）」と「けた数（小数部）」の和が「けた数」に移行されます。

(2)　タイプから分類区分への変換

SEWB3データ項目に定義されたタイプは，その内容に応じて分類区分に変換されます。タイプから分類区分への対応関係と変換規則を次の表に示します。

表4-15　タイプから分類区分への変換

SEWB3 データ項目辞書
SEWB＋ 辞書（データ項目）

タイプ
内容
分類区分

X
文字データ，
固定長文字列データ
英数字文字列データ

XR
可変長文字列データ
英数字文字列データ

XL
可変長長文字列データ
英数字文字列データ

N
固定長漢字文字列データ
日本語文字列データ

NR
可変長漢字文字列データ
日本語文字列データ

NL
可変長長漢字文字列データ
日本語文字列データ

M
固定長混在文字列データ
日本語文字列データ

MR
可変長混在文字列データ
日本語文字列データ

ML
可変長長混在文字列データ
日本語文字列データ

S
10進ゾーン形式データ（符号付き）
　※1

9
10進ゾーン形式データ（符号なし）
　※2

P
10進パック形式データ（符号付き）
　※1

U
10進パック形式データ（符号なし）
　※2

B
2進固定小数点データ（符号付き）
整数データ

BU
2進固定小数点データ（符号なし）
正整数データ

E
外部10進浮動小数点データ
実数データ

D
内部10進浮動小数点データ
実数データ

G
集団項目
分類なし

8
外部ブール項目
分類なし

1
内部ブール項目
分類なし

T
ポインタデータ
分類なし

Z
数字編集項目
英数字文字列データ

PL
拡張精度固定小数点データ（10進パック数形式）
　※1

XD
日付型データ
分類なし

XT
時刻型データ
分類なし

その他のタイプ
分類なし

注※1

小数部けた数が0または指定されていない場合は「整数データ」となります。これ以外の場合は「実数データ」となります。

注※2

小数部けた数が0または指定されていない場合は「正整数データ」となります。これ以外の場合は「実数データ」となります。

(3)　タイプから言語別タイプへの変換

SEWB3データ項目に定義されたタイプは，その内容に応じて言語別に「COBOL又はOOCOBOL」および「SQL」のタイプに変換されます。ただし，「C又はC++」のタイプには変換されません。タイプから言語別のタイプへの対応関係と変換規則を次の表に示します。

表4-16　タイプから言語別タイプへの変換

SEWB3 データ項目辞書
SEWB＋辞書（データ項目）※1

タイプ
内容
言語区分がCOBOL又はOOCOBOLのタイプ
言語区分がSQLのタイプ※2

X
文字データまたは固定長文字列データ
X：英数字項目
CHAR：固定長文字列

XR
可変長文字列データ
X：英数字項目
VARCHAR2：可変長文字列

XL
可変長長文字列データ
X：英数字項目
LONG：可変長長文字列

N
固定長漢字文字列データ
N：漢字項目
CHAR：固定長文字列

NR
可変長漢字文字列データ
N：漢字項目
VARCHAR2：可変長文字列

NL
可変長長漢字文字列データ
N：漢字項目
LONG：可変長長文字列

M
固定長混在文字列データ
フリー定義
CHAR：固定長文字列

MR
可変長混在文字列データ
フリー定義
VARCHAR2：可変長文字列

ML
可変長長混在文字列データ
フリー定義
LONG：可変長長文字列

S
10進ゾーン形式データ
（符号付き）
S：符号付き外部10進項目
NUMBER：固定小数点数

9
10進ゾーン形式データ
（符号なし）
9：符号なし外部10進項目
NUMBER：固定小数点数

P
10進パック形式データ
（符号付き）
P：符号付き内部10進項目
NUMBER：固定小数点数

U
10進パック形式データ
（符号なし）
U：符号なし内部10進項目
NUMBER：固定小数点数

B
2進固定小数点データ
（符号付き）
B：符号付き2進項目
NUMBER：固定小数点数

BU
2進固定小数点データ
（符号なし）
BU：符号なし2進項目
NUMBER：固定小数点数

E
外部10進浮動小数点データ
E：外部浮動小数点項目
NUMBERf：浮動小数点数

D
内部10進浮動小数点データ
D：内部浮動小数点項目
NUMBERf：浮動小数点数

G
集団項目
フリー定義
フリー定義

8
外部ブール項目
8：外部ブール項目
フリー定義

1
内部ブール項目
1：内部ブール項目
フリー定義

T
ポインタデータ
T：アドレスデータ項目
フリー定義

Z
数字編集項目
Z：数字編集項目
フリー定義

PL
拡張精度固定小数点データ（10進パック数形式）
P：符号付き内部10進項目
NUMBER：固定小数点数

XD
日付型データ
フリー定義
DATE：日付

XT
時刻型データ
フリー定義
フリー定義

その他のタイプ
フリー定義
フリー定義

注※1

言語区分「C又はC++」，「帳票定義」および「Java」のタイプには，フリー定義が設定されます。

注※2

言語区分「SQL」にはORACLEの標準タイプが設定されます。ORACLEの標準タイプについては「表2-4 分類区分とタイプの対応（SQL）」を参照してください。

(4)　移行前のタイプの扱い

任意の利用のために用意されているフィールド「フィールド3」の名称が，「移行前のタイプ」に変更されます。このフィールドの中に変換される前のタイプの定義情報が格納されます。

4.3.3　詳細項目の変換規則

ここでは，SEWB3データ項目の詳細項目と，SEWB+/REPOSITORYのデータ項目および業務ルールとの対応と変換規則について説明します。移行の主な規則を次に示します。

詳細項目の入力項目，出力項目および条件名は，データ項目の定義情報に移行されます。このとき，「フィールド4」の名称が「詳細項目種別」に変更されます。このフィールドには，移行元の詳細項目の種別に従って，「入力項目」，「出力項目」または「チェック条件」が格納されます。

業務ルール名は，基本項目のデータ項目名などからSEWB+/REPOSITORYが定めた規則に従って付けられます。

詳細項目のフリー定義情報は，業務ルールのルールスクリプト（「COBOL又はOOCOBOL」のルールスクリプト）に移行されます。

ワーク領域，条件キーワードおよびエラーコードの定義情報は，データ項目のコメントに移行されます。

＜この項の構成＞

(1)　詳細項目の変換

(2)　業務ルールの名称の付加規則

(3)　業務ルールと関連するデータ項目の適用形態の設定

(4)　内部項目の変換

(1)　詳細項目の変換

SEWB3データ項目の詳細項目とデータ項目および業務ルールの定義項目との対応関係と変換規則を次の表に示します。

表4-17　詳細項目からデータ項目および業務ルールへの変換

SEWB3 データ項目辞書
SEWB＋ 辞書

詳細項目の種別
定義項目
辞書の種別
定義項目

入力項目
入力項目名
データ項目
データ項目名

日本語名
データ項目
標準名称（日本語）

タイプ
データ項目
タイプ

整数部けた数
データ項目
けた数

小数部けた数
データ項目
小数部けた数

使用目的
データ項目
フィールド5

コメント，
ワーク領域名，
編集キーワード
データ項目
コメント（日本語）

フリー定義情報
業務ルール
ルールスクリプト

出力項目
出力項目名
データ項目
データ項目名

日本語名
データ項目
標準名称（日本語）

タイプ
データ項目
タイプ

整数部けた数
データ項目
けた数

小数部けた数
データ項目
小数部けた数

使用目的
データ項目
フィールド5

コメント，
ワーク領域名，
編集キーワード
データ項目
コメント（日本語）

フリー定義情報
業務ルール
ルールスクリプト

チェック条件
条件項目名
データ項目
データ項目名

日本語名
データ項目
標準名称（日本語）

タイプ
データ項目
タイプ

整数部けた数
データ項目
けた数

小数部けた数
データ項目
小数部けた数

使用目的
データ項目
フィールド5

コメント，
ワーク領域名，
条件キーワード，
エラーコード，
メッセージ可変部
データ項目
コメント（日本語）

フリー定義情報
業務ルール
ルールスクリプト

条件キーワード
条件キーワード，
コメント，
条件式
データ項目
コメント（日本語）

エラーコード
エラーコード，
エラーメッセージ
データ項目
コメント（日本語）

(2)　業務ルールの名称の付加規則

SEWB3データ項目で，日本語名を定義している場合と定義していない場合とでは名称が付けられる規則が異なります。

(a)　日本語名を定義していない場合

「データ項目名」と「詳細項目の種別」が順に組み合わされて業務ルール名が付けられます。詳細項目の種別は，次の全角文字に変換されます。

入力項目…「入力」

出力項目…「出力」

チェック条件…「チェック」

(b)　日本語名を定義している場合

この場合は，業務ルール名と標準名称（日本語名）が付けられます。

業務ルール名
「データ項目名」，ハイフン（－）および「詳細項目の種別」が順に組み合わされて業務ルール名が付けられます。詳細項目の種別は，次の半角文字に変換されます。

入力項目…「INPUT」

出力項目…「OUTPUT」

チェック条件…「CHECK」

標準名称（日本語名）
「データ項目名」と「詳細項目の種別」が順に組み合わされて標準名称が付けられます。詳細項目の種別は，次の全角文字に変換されます。

入力項目…「入力」

出力項目…「出力」

チェック条件…「チェック」

(3)　業務ルールと関連するデータ項目の適用形態の設定

SEWB3データ項目の詳細項目から，SEWB+に移行した業務ルールとデータ項目に関連が付けられます。また，移行した業務ルールには，データ項目の適用形態，キーワードおよび適用条件が次のように設定されます。

適用形態：専用にする

キーワード：「@」+データ項目名

適用条件：
詳細項目の種別に応じて，入力項目は「入力」，出力項目は「出力」，チェック条件は「－（指定しない）」が設定される

(4)　内部項目の変換

詳細項目の内部項目の変換規則を次に説明します。

なお，SEWB3/DATAITEMのバージョン01-13から，ワーク領域に日本語名が追加されました。01-13より前のバージョンで作成したエクスポートファイルを移行する場合，日本語名は省略されます。

(a)　移行順序

データ項目の日本語のコメントに，次の順番で移行されます。

内部構造：
レベル，従属項目名，再定義従属項目名

ワーク領域：
レベル，ワーク領域名，日本語名，タイプ，けた数，整数部，小数部，反復回数，再定義ワーク領域名

詳細項目のワーク領域名

詳細項目のキーワード

詳細項目のエラーコード

詳細項目のメッセージ可変部

リソース区分

漢字タイトル

仮名タイトル

日本語説明文

注

1.～10.の長さが6,500バイトを超える場合には，6,501バイト目以降（2バイトコードがあれば6,500バイト目以降）が切り捨てられます。

(b)　ワーク領域の移行

詳細項目にワーク領域名がある場合には，ワーク領域定義情報（レベル，ワーク領域名，日本語名，タイプ，けた数，整数部，小数部，反復回数および再定義ワーク領域名）がデータ項目の日本語のコメントに移行されます。

(c)　キーワードの移行

詳細項目にキーワードがある場合には，そのキーワード情報（キーワード，コメントおよび条件式）が，データ項目の日本語のコメントに移行されます。

(d)　エラーコードの移行

詳細項目にエラーコードがある場合には，そのエラーコード情報（エラーコード，エラーメッセージ）がデータ項目の日本語のコメントに移行されます。

(e)　コメントのフォーマット

コメントに移行される場合のフォーマット

内部構造：レベル，従属項目名，再定義従属項目名

ワーク領域：レベル，日本語名，ワーク領域名，タイプ，けた数，整数部，小数部，反復回数，再定義ワーク領域名

ワーク領域名：XXXXX

キーワード：XXXXX，コメント，条件式

エラーコード：XXXXX，メッセージ可変部，エラーメッセージ

リソース区分：XXXXX

漢字タイトル：XXXXX

仮名タイトル：XXXXX

日本語説明文：XXXXX

注

XXXXXは，定義情報を示します。

内部項目の移行の例

内部項目の移行の例を次の図に示します。

図4-8　内部項目の移行の例

4.3.4　SEWB3辞書移行コマンド（RPTrans）の使い方

＜この項の構成＞

(1)　SEWB3辞書移行コマンドが格納されているディレクトリ

(2)　コマンド実行時の注意事項

(3)　SEWB3辞書移行コマンド（RPTrans）の指定

(1)　SEWB3辞書移行コマンドが格納されているディレクトリ

コマンドは，次のディレクトリに格納されています。

サーバのSEWB+ 基本開発環境の組み込み先パス名¥Repository¥bin

SEWB+ 基本開発環境の組み込み先パス名は，デフォルトでは次のように設定されています。システムドライブとは，Windows Serverが組み込まれているドライブです。

システムドライブ:¥Program Files¥HITACHI¥Sewb

注意

64ビット版のWindowsでの，デフォルトの組み込み先パス名を次に示します。

システムドライブ:¥Program Files (x86)¥HITACHI¥Sewb

(2)　コマンド実行時の注意事項

(a)　コマンドを実行する前に

コマンドを実行するサーバでは，SEWB+/REPOSITORYからログアウトしておいてください。

(b)　コマンド実行中にほかの作業をする場合

SEWB3辞書移行コマンドでは，実行中に排他制御を行っていません。したがって，コマンドの実行中でも並行してほかの作業ができます。ただし，次に示す点に注意してください。

コマンドの実行中に，対象となっている資源や関連情報を更新または削除してはいけません。不整合が検出され，正常に終了しない場合があります。この場合には，SEWB3辞書移行コマンドの再実行が必要です。

コマンドの実行中に，移行先で更新の対象となっている資源を更新してはいけません。SEWB3辞書移行コマンドが正常に終了しても，資源の内容が更新されていない場合があります。

(3)　SEWB3辞書移行コマンド（RPTrans）の指定

サーバのコマンドラインに，次に示す構文に従ってコマンドと引数を指定して実行します。実行中には，データ項目および業務ルールの登録件数が表示されます。また，詳細情報がログファイルに出力されます。

(a)　形式

RPTrans　/F　エクスポートファイル名 /D　辞書フォルダ名

〔 /O　所有者名 〕〔 /G　グループ名 〕

〔 /L　ログファイル名 〕

〔 /? 〕

(b)　引数

/F　エクスポートファイル名

入力するエクスポートファイルを指定します。

/D　辞書フォルダ名

辞書情報を登録する辞書フォルダ名を指定します。

/O　所有者名※¹

作成する辞書の所有者名を指定します。省略時はシステム管理者が仮定されます。

/G　グループ名※¹

作成する辞書のグループ名を指定します。省略時はシステム管理者が所属するグループが仮定されます。

/L　ログファイル名※²

ログファイルの出力先を指定します。省略時は次のファイルがログファイルとして作成されます。

パス：環境変数「TEMP」または「TMP」に代入されている値

ファイル名：rptrans.log

/?

コマンドの構文と引数の指定方法を表示します。

注※1

新しい辞書フォルダ，データ項目または業務ルールを登録するときに指定します。ここで指定した所有者名とグループ名は，辞書フォルダ，データ項目および業務ルールに共通に設定されます。引数に指定する名称は，辞書登録するサーバに登録されているユーザ，グループの名称を使用してください。ユーザ，グループの登録についてはマニュアル「SEWB+/REPOSITORY 運用ガイド」を参照してください。なお，この指定では既存の辞書情報に設定されている所有者名およびグループ名は変更できません。

注※2

ログファイルはコマンドの実行ごとに上書きされます。残しておきたい場合は異なるログファイル名を指定してください。

(c)　リターン値

コマンドの実行が終了すると，次のリターン値が返されます。

0：正常終了した

1：その他のエラーが発生した

2：メモリが確保できない

3：引数が不正である

4：ログファイルが作成できない

5：辞書に対するアクセス権がない

6：入力ファイルがない

7：入力ファイルのフォーマットが不正である

5.　EURのレポート設計

帳票設計ツールにEURを使用すれば，辞書のレコード定義情報を基にしてレポートを効率良く設計できます。さらに，SEWB+/CONSTRUCTIONで作成したレポート用のデータファイルを出力するアプリケーションと組み合わせ，効率良くレポート出力アプリケーションを作成できます。この章では，あらかじめ辞書の作成者に理解しておいてほしい辞書のレコード定義（最上位結合項目）とアプリケーションの関係，EURを使ったレポートの設計手順や，フィールド定義情報の生成規則について説明します。

＜この章の構成＞

5.1　辞書のレコード定義（最上位結合項目）を基にレポートを設計する

5.1　辞書のレコード定義（最上位結合項目）を基にレポートを設計する

SEWB+/REPOSITORYでは，クライアントのEURおよびSEWB+/CONSTRUCTIONと連携して，効率良くレポート出力アプリケーションを作成する機能を提供しています。この機能では，辞書のレコード定義（最上位結合項目）を構成するデータ項目の定義情報から，EURでレポートを設計する際に必要なデータのけた数，データ種別などの情報（フィールド定義情報）を自動的に生成できます。生成元となったレコード定義はSEWB+/CONSTRUCTIONでのアプリケーション作成時に共通に利用されるため，レポートの設計内容とアプリケーションで出力するデータファイルのレコードの構造を一致させることができます。

フィールド定義情報を生成したあとの基本的なレポート設計および印刷方法を知りたい方は，EURのバージョンに応じて，次のマニュアルを参照してください。

マニュアル「uCosminexus EUR システム設計ガイド」

マニュアル「uCosminexus EUR システム構築ガイド」

マニュアル「uCosminexus EUR 帳票作成 画面リファレンス」

マニュアル「uCosminexus EUR 帳票出力 機能解説 EUR Server編」

マニュアル「uCosminexus EUR 帳票出力 リファレンス EUR Server編」

マニュアル「uCosminexus EUR データベース連携ガイド」

マニュアル「uCosminexus EUR 帳票設計」

マニュアル「uCosminexus EUR クライアント帳票出力」

マニュアル「uCosminexus EUR サーバ帳票出力」

なお，ここではEUR：イーユーアール Professional Editionを例にして説明します。

＜この節の構成＞

5.1.1　辞書のレコード定義（最上位結合項目）とレポート出力アプリケーションの関係

5.1.2　レポート設計の手順

5.1.3　フィールドの生成規則

5.1.1　辞書のレコード定義（最上位結合項目）とレポート出力アプリケーションの関係

EURと連携して効率良く，また，効果的に利用できる辞書のレコード定義（最上位結合項目）を用意するために，辞書のレコード定義（最上位結合項目）とレポート出力アプリケーションの関係について理解しておきましょう。辞書に登録したレコード定義の情報がどのようにレポート設計や，レポート出力アプリケーションに反映されていくのかを次の図に示します。SEWB+/REPOSITORYでは，次の図の流れに沿ったサンプルを提供しています。このサンプルの使用方法については，サンプルディレクトリ中のReadme.txtを参照してください。サンプルは次に示すディレクトリに格納されています。

SEWB+ 基本開発環境の組み込み先パス名¥Repository¥sample¥EUR_Sample

SEWB+ 基本開発環境の組み込み先パス名は，デフォルトでは次のように設定されています。システムドライブとは，Windows Serverが組み込まれているドライブです。

システムドライブ:¥Program Files¥HITACHI¥Sewb

注意

64ビット版のWindowsでの，デフォルトの組み込み先パス名を次に示します。

システムドライブ:¥Program Files (x86)¥HITACHI¥Sewb

図5-1　辞書のレコード定義（最上位結合項目）がレポート出力アプリケーションに反映されるまで

辞書登録（1.）

辞書の作成者が，レコード定義を用意します。

アプリケーションの作成（2.～3.）

アプリケーションの開発者が，辞書のレコード定義（最上位結合項目）を利用してレポート出力アプリケーションを作成します。

テスト・実行（4.～5.）

作成したアプリケーションをテスト・実行して，データファイルの出力やレポートの印刷をします。

レコード構造を登録する
レポート出力に使うレコードの構造（レコード定義）を辞書に登録します。このレコード定義は，EURでレポートを設計するとき，およびSEWB+/CONSTRUCTIONでデータ定義をするときに共通に利用することを目的とします。レポート出力のための辞書のレコード定義（最上位結合項目）については，「2.5.2(2)　レポート出力に使用するレコード定義（最上位結合項目）を登録するには」を参照してください。また，辞書のレコード定義（最上位結合項目）を登録する際に考慮する生成規則については，「5.1.3　フィールドの生成規則」を参照してください。

レポートを設計する
EURのレポートエディタで，レポートに使用する辞書のレコード定義（最上位結合項目）を選択し，レポートを構成するデータのフィールド定義情報を生成します。生成された情報を基にレイアウトを編集し，レポートを設計していきます。完成したレイアウトなどのレポート設計情報は，レポートファイル※に保存します。設計手順については，「5.1.2　レポート設計の手順」を参照してください。

注※

アプリケーションをUNIX上で実行するレポートの場合は，フォームシートファイルに保存します。レポートファイル（.agr）およびフォームシートファイル（.fms）については，EURのヘルプを参照してください。

SEWB+/CONSTRUCTIONを使ってデータファイルを出力するアプリケーションを作成する
アプリケーションでは，EURを使ってレポートを印刷するときに使用するCSV形式やFIX形式※1のデータ※2を，COBOL2002の表計算プログラム入出力機能やテキストファイル機能などを使用して出力します。このアプリケーションで使用するデータファイルのデータ定義では，2.で利用したものと同じ辞書のレコード定義（最上位結合項目）を参照して，データを定義します。そして，プログラム定義からソースプログラムを生成し，使用するコンパイラでビルドして実行可能ファイルを作成します。

注※1

FIX形式データを扱う場合には，作成したデータファイル出力アプリケーションの仕様に合わせて，レポートファイルのデータ幅を編集する必要があります。レポートエディタを使ったデータ幅の編集方法については，EURのヘルプを参照してください。

注※2

EURでは，非表示形式（バイナリ）データを印刷時の入力データとして扱えません。このため，非表示形式データは表示形式に変換するように，データファイル出力アプリケーションを作成する必要があります。表示形式への変換方法については，各プログラミング言語のマニュアルを参照してください。

データファイルを出力する
3.で作成したアプリケーションを実行すると，CSV形式またはFIX形式のデータファイルが出力されます。

EURを使ってレポートを印刷する
EURをコマンドで起動するか，またはアプリケーションから呼び出して，レポートを印刷します。このとき，EURが，2.で作成したレポートファイル（UNIXで実行する場合はフォームシートファイル）と4.で出力したデータファイルを読み込み，レポートとして印刷します。印刷方法については，EURのヘルプを参照してください。

5.1.2　レポート設計の手順

辞書のレコード定義情報を利用した，EURのレポート設計の手順を説明します。詳細な使い方については，EURのヘルプを参照してください。

＜この項の構成＞

(1)　レポートの設計

(2)　レポート設計内容の変更

(1)　レポートの設計

設計手順を次に説明します。なお，EURをクライアントにインストールしたあと，リポジトリブラウザを起動すると，ドキュメント種別の情報（ドキュメント種別の名称，テンプレートファイル，ファイルエクステンション）が自動的にサーバの運用環境に設定されます。

リポジトリブラウザでドキュメントを作成する場所を選びます。

［新規作成］－［ドキュメント］を選び，レポートファイル（またはフォームシートファイル）作成の指定をします。
このとき，レポート出力アプリケーションを実行する環境（WindowsまたはUNIX）に合わせて，ドキュメント種別とファイルエクステンションを選択してください。

実行環境がWindowsの場合
ドキュメント種別は，EURレポートファイル（Windows版）またはEURフォームシートファイル（Windows，UNIX版）
ファイルエクステンションは，.agr または .fms

実行環境がUNIXの場合
ドキュメント種別は，EURフォームシートファイル（UNIX版）
ファイルエクステンションは，.fms

新しいレポートファイル（またはフォームシートファイル）が作成されて自動的にリポジトリに登録されます。
同時に，クライアント側の指定した場所にチェックアウトされ，EURのウィンドウが表示されます。

EURのウィンドウから［データ］－［最上位結合項目］を選びます。
辞書のレコードを選択するためのダイアログが表示されます。ここで目的のレコードを検索するために［検索開始］を選びます。

表示されたレコード定義の一覧から目的のレコードを選択し，［OK］ボタンをクリックします。
辞書のレコード定義情報から，レポートのフィールド定義情報が自動的に生成されます。この生成規則については，「5.1.3　フィールドの生成規則」を参照してください。

自動的に生成された情報を基にして目的のレポートを設計します。
完成後，EURを終了すると，レポートの情報がレポートファイル（またはフォームシートファイル）に保存されます。

レポートファイル（またはフォームシートファイル）をリポジトリにチェックインします。
チェックインすると，レポート設計に利用した辞書のレコード定義（最上位結合項目）とそのファイルの間に自動的に関連が付けられます。

(2)　レポート設計内容の変更

リポジトリブラウザで目的のレポートファイル（またはフォームシートファイル）を選び，クライアント側にチェックアウトします。そのファイルを開いてEURを起動し，レポートの設計内容を変更します。

なお，前回EURでレポートを設計した時点から，生成元となった辞書のレコード定義（最上位結合項目）が変更されている場合には，最新のレコード定義情報を読み込むかどうかを確認するメッセージが表示されます。レコード定義情報を再度読み込むと，レイアウトが変更される場合があります。この場合には，レイアウトを見直して再編集してください。

5.1.3　フィールドの生成規則

辞書のレコード定義（最上位結合項目）を構成するデータ項目の定義情報から，レポートの設計に必要なフィールド定義情報が生成されます。EURを利用したレポート出力アプリケーション用の辞書のレコード定義（最上位結合項目）を登録する際には，ここで説明するフィールドの生成規則を考慮することをお勧めします。

＜この項の構成＞

(1)　フィールドの生成

(2)　フィールド定義情報の生成規則

(3)　フィールドの反復生成

(1)　フィールドの生成

辞書のレコード定義（最上位結合項目）の結合関係で構成項目に相当するデータ項目から，フィールドが生成されます。結合項目からは，フィールドは生成されません。構成項目に結合項目が定義されている場合には，さらにその結合項目の構成項目が生成対象となります。フィールドが生成される順番は，構成項目が定義された順番に対応します。

（例）

レコード定義「商品名一覧」からは，次のようにフィールドが生成されます。

(2)　フィールド定義情報の生成規則

フィールド定義情報として，フィールド名称，データ種別およびサンプルデータが生成されます。この生成規則を次の表に示します。

表5-1　フィールド定義情報の生成規則

フィールド定義情報 | データ項目の定義
フィールド名称 | 言語区分「帳票定義」の言語別の名前から生成される。言語別の名前が定義されていない場合には，データ項目名から生成される。
データ種別 | 言語区分「帳票定義」のタイプから変換される（表5-2を参照）
サンプルデータ | 変換されたデータ種別に対応するサンプルデータが生成される（表5-2を参照）

また，言語区分「帳票定義」に定義したタイプからデータ種別およびサンプルデータが生成される規則を次の表に示します。

表5-2　データ種別とサンプルデータの生成規則

データ項目の定義項目 | 生成される情報 | 備考
分類区分 | タイプ | データ種別記号※1：サンプルデータ
英数字文字列データ | 文字データ | C：A～Zをけた数分繰り返し |
画像データ | M：sample.bmp | ※2
フリー定義 | ユーザ指定：ユーザが指定したデータ | ※3
日本語文字列データ | 文字データ | C：あ～んまでけた数分繰り返し |
画像データ | M：サンプル.bmp | ※2
フリー定義 | ユーザ指定：ユーザが指定したデータ | ※3
整数データ | 数値データ | I：1～0をけた数分繰り返し |
集計対象外数値データ | B：1～0をけた数分繰り返し |
特殊編集レベルデータ | SP：1 | ※2
フリー定義 | ユーザ指定：ユーザが指定したデータ | ※3
正整数データ | 数値データ | I：1～0をけた数分繰り返し |
集計対象外数値データ | B：1～0をけた数分繰り返し |
特殊編集レベルデータ | SP：1 | ※2
フリー定義 | ユーザ指定：ユーザが指定したデータ | ※3
実数データ | 数値データ | I：1～0をけた数分繰り返し | ※4
集計対象外数値データ | B：1～0をけた数分繰り返し | ※4
フリー定義 | ユーザ指定：ユーザが指定したデータ | ※3
日付データ | 年次データ | CY：1996 | ※2，※5
月次データ | MO：199603 | ※2，※6
日次データ | DA：19960331​ | ※2，※7
日付・時刻データ | HS：1996/03/31 12:42:07 | ※2，※8
文字データ | C：19960331​ | ※2
フリー定義 | ユーザ指定ユーザが指定したデータ | ※3
時刻データ | 文字データ | C：12：42：07 | ※2
フリー定義 | ユーザ指定：ユーザが指定したデータ | ※3
分類なし | 文字データ | C：A～Zをけた数分繰り返し |
数値データ | I：1～0をけた数分繰り返し | ※4
集計対象外数値データ | B：1～0をけた数分繰り返し | ※4
年次データ | CY：1996 | ※2，※5
月次データ | MO：199603 | ※2，※6
日次データ | DA：19960331​ | ※2，※7
日付・時刻データ | HS：1996/03/31 12:42:07 | ※2，※8
画像データ | M：sample.bmp | ※2
特殊編集レベルデータ | SP：1 | ※2
フリー定義 | ユーザ指定：ユーザが指定したデータ | ※3

注※1

データ種別記号とデータ種別の対応は，表5-3を参照してください。

注※2

データ項目に定義されたけた数に関係なく，固定のサンプルデータが生成されます。

注※3

タイプに「フリー定義」を指定した場合は，表5-3に示したデータ種別記号か，またはEURで新たに追加されたデータ種別記号をフリー定義に指定します。例えば，バーコードデータにしたい場合は「R」を指定すると，フィールド定期情報の生成時にバーコードとして生成されます。

注※4

小数部のけた数が1以上の場合，'.'を付けた形式のサンプルデータが生成されます。

注※5

年次データの場合，けた数は4を指定します。

注※6

月次データの場合，けた数は6を指定します。

注※7

日次データの場合，けた数は8を指定します。

注※8

時刻・日付データの場合，けた数は4～19を指定します。

表5-3　データ種別記号とデータ種別

データ種別記号 | データ種別 | データの例
C | 文字列 | ABCD，あいう，12:42:07，19960331​
I | 数値 | 1234
B | 集計対象外数値 | 1234
DA | 日付（日次） | 19960331​
MO | 日付（月次） | 199603
CY | 日付（年次） | 1996
HS | 日付（日付・時刻） | 1996/03/31 12:42:07
M | 画像 | sample.bmp，サンプル.bmp
SP | 特殊編集レベル | 1

(3)　フィールドの反復生成

フィールドの生成対象に当たるデータ項目の反復回数に2以上を定義している場合には，反復回数分，フィールドが繰り返して生成されます。

（例）

データ項目「品目」の反復回数に「2」が定義されている場合，次のようにフィールドが生成されます。

フィールド名称の生成規則
フィールド名称には，「データ項目名:n」が生成されます（nは反復回数を示します）。なお，データ項目の反復が入れ子になっている場合（例えば，上記の例で考えてみると，品名にも反復回数に「2」が定義されている場合）のフィールド名称には，「データ項目名:n1:n2」が生成されます（n1は1次元目の反復回数，n2は2次元目の反復回数を示します）。
また，反復回数の情報を付加するとフィールド名称が重複する場合には，一意の名称にするために，データ項目名に「m｜」が付加されます（mは同一名称の出現回数を示します）。

付録

＜この付録の構成＞

付録A　標準データ項目辞書の紹介

付録B　ERwin/ERXからの辞書登録

付録C　命名ルールインタフェース

付録D　検査項目インタフェース

付録E　標準提供の同一項目用業務ルール

付録F　このマニュアルの参考情報

付録G　用語解説

付録A　標準データ項目辞書の紹介

SEWB+/STANDARD-SUBROUTINEを利用すれば，辞書の品質の向上を図れます。ここでは，この製品の概要を紹介します。

＜この節の構成＞

付録A.1　SEWB+/STANDARD-SUBROUTINE（標準データ項目辞書サブルーチン）

付録A.1　SEWB+/STANDARD-SUBROUTINE（標準データ項目辞書サブルーチン）

SEWB+/STANDARD-SUBROUTINEは，標準的なデータ項目に対応する処理（文字列の字種チェック，日付・時間のチェックや編集処理など）を実行する部品をCOBOL外部サブルーチンとして提供しています。 SEWB+ツールとCOBOL2002を連携したアプリケーション開発に利用できます。 データ項目単位に処理できるよう設計されているため，データ中心アプローチに基づく部品化，再利用を促進できます。

詳細は，マニュアル「SEWB+/STANDARD-SUBROUTINE 標準サブルーチン 使用の手引」を参照してください。

付録B　ERwin/ERXからの辞書登録

＜この節の構成＞

付録B.1　ERwin/ERXからデータ分析情報を連携する

付録B.2　エンティティレポートの連携

付録B.3　属性レポートの連携

付録B.4　テーブルレポートの連携

付録B.5　辞書登録の例

付録B.1　ERwin/ERXからデータ分析情報を連携する

SEWB+/REPOSITORYでは，ERwin/ERXからデータ項目辞書への連携をサポートしています。ここでは，CSV形式ファイルを経由して行う，ERwin/ERXで作成したデータ分析情報の連携について説明します。

ERwin/ERXからは，3とおりのレポート形式から情報を辞書に登録できます。辞書に登録できるレポート形式はERwin/ERXのバージョンによって異なります。

辞書登録の概要を次の図に示します。

図B-1　ERwin/ERXからの辞書登録

ERwin/ERXのレポート（エンティティレポート，属性レポートまたはテーブルレポート）から，CSV形式ファイルを出力する
SEWB+/REPOSITORYの辞書へ連携するには，各レポート形式に専用のフォーマットのCSV形式ファイルを使用します。ERwin/ERXで，このマニュアルの説明に従って出力項目を設定し，CSV形式ファイルを出力してください。

注

ERwin/ERXのフィルタ機能を使って一部のエンティティの内容だけを出力したレポートを辞書登録したとき，FK属性（外部キー属性）に対応するPK属性（主キー属性）の定義が同一レポート内に存在しないと，FK属性のデータ項目は対応するPK属性を継承できない場合があります。FK属性を含むエンティティをフィルタ出力するときは，対応するPK属性を含むエンティティも同時にフィルタ出力対象にしてください。

辞書登録の準備をする
ここからのSEWB+/REPOSITORYの作業は，システム管理者が行ってください。必要に応じて，次の準備をします。

辞書フォルダを準備する

ERwin/ERXタイプをSEWB+/REPOSITORYの分類区分やタイプなどに変換するためのタイプマッピング規則を，環境構築ユティリティでカスタマイズする（ただし，標準で用意されている規則を適用する場合はカスタマイズは不要）

CSV形式ファイルの入力を実行する
登録するCSV形式ファイル，登録先の辞書フォルダなどを指定して実行します。
［スタート］メニューの［プログラム］または［すべてプログラム］から［Sewb+］－［Repository］－［CSV入力］を選ぶと表示されるダイアログから実行する場合は，［CSV入力オプション］ダイアログで必ず次のオプションを指定してください。

「CSV入力フォーマット種別」で「ERwin/ERX」を選ぶ

「レポート形式選択」で該当するレポート形式を選ぶ

CSV形式入力コマンドを使ってコマンドラインから実行する場合は，必ず引数「/M ファイルフォーマット種別」を指定してください。この引数には，ERwin/ERXで出力したレポート形式に対応した値を指定します。

エンティティレポート形式：/M ewe

属性レポート形式：/M ewa

テーブルレポート形式：/M ewt

ERwin/ERXでエンティティの属性のカラム名を一意に定義していれば，エンティティレポートと属性レポートの情報をデータ項目辞書で統合できます。統合するには，先にエンティティレポートをデータ項目辞書に入力し，次に属性レポートをデータ項目辞書に入力します。統合する場合には，CSV形式ファイル入力コマンドの引数「/S 辞書の登録方法」に「name」を指定，または［CSVオプション］ダイアログの「辞書の登録方法」に「データ項目名/業務ルール名で更新する」を指定してください。なお，統合するとき，エンティティレポートから変換されたデータ項目に，属性レポートから変換されたデータ項目の情報が上書きされる場合があります。

CSV形式の記述規則やCSV形式ファイルの入力の詳細は，「4.1　CSV形式ファイルを使って辞書登録と出力をする」を参照してください。

付録B.2　エンティティレポートの連携

ここでは，ERwin/ERX（バージョン2.6以前）で作成したエンティティレポートの辞書登録について説明します。

＜この項の構成＞

(1)　ERwin/ERXでのエンティティレポートの出力設定

(2)　エンティティレポートからデータ項目辞書への変換規則

(3)　エンティティレポートからデータ項目辞書への変換規則（同一カラム名をマージする場合）

(4)　データ項目辞書とエンティティレポート形式の対応

(5)　ERwin/ERX タイプマッピングの規則

(6)　エンティティレポート形式フォーマット

(1)　ERwin/ERXでのエンティティレポートの出力設定

ERwin/ERXで次に示す設定をしてCSV形式ファイルを出力してください。

サーバの対象SQL DBMSの設定

使用するデータベースがORACLEの場合

対象データベース（SQLベース）：ORACLE

使用するデータベースがHiRDBの場合

対象データベース（SQLベース）：DB2

CSV形式ファイルへの出力項目の設定
エンティティレポートから，SEWB+/REPOSITORYの辞書に連携するために必要な出力項目を設定します。出力項目と指定順序を次の表に示します。指定順序が列の並び順になります。このため，必ず指定順序に従って設定してください。

表B-1　エンティティレポートの出力項目と指定順序

指定順 | 出力項目（オプション名）
ERwin/ERX　日本語版 | ERwin/ERX　英語版
1 | テーブル名（テーブルオプション） | Table Name(Table Option)
2 | エンティティ名（エンティティオプション） | Entity Name(Entity Option)
3 | 属性名（属性オプション） | Attribute Names(Attribute Option)
4 | カラム/タイプ（属性オプション） | Columns/Types(Attribute Option)
5※1 | コメント（エンティティオプション） | Note(Entity Option)
5※1 | 定義（エンティティオプション） | Definition(Entity Option)
6※2 | 外部キー（リレーションシップオプション） | Foreign Keys(Relationship Option)
7※3 | カンマ区切り（レポート形式） | Comma Delimited(Report Format)
8※3 | ヘッダー（表示形式） | Header(Multi-Valued Format)
9※3 | マージ（表示形式） | Merge(Multi-Valued Format)
10※³ | 改行コードの除去※4 | Remove Newline

注※1

どちらかを選択してください。両方の同時指定はできません。

注※2

属性レポートを同時入力する場合は，必ず指定してください。

注※3

指定順序どおりでなくてもかまいません。

注※4

ERwin/ERX 2.5以前のバージョンでは「新規行の除去」となります。

(2)　エンティティレポートからデータ項目辞書への変換規則

依存関係のあるエンティティレポートを辞書登録する場合の変換規則について説明します。エンティティレポート形式の辞書登録の例を次の図に示します。

図B-2　エンティティレポート形式の辞書登録の例

エンティティレポート形式のCSV形式ファイルを辞書に登録するときの指定によって，登録されるデータ項目およびデータ項目の関係が異なります。図B-2は，属性レポートの同時入力の指定と，物理名の異なる外部キーを識別する指定をした場合の登録例です。

(a)　PK属性とFK属性の定義を，データ項目間の継承関係として登録する

エンティティレポートと属性レポートを同時に入力
PK属性とFK属性の定義をデータ項目間の継承関係として登録するには，エンティティレポートと属性レポートを同時入力します。CSV形式ファイル入力コマンドで引数「/A　同時に入力する属性レポートファイル名」を指定するか，または［CSV入力］ダイアログで「同時に入力するERwin/ERX属性レポートファイル名」を指定します。

エンティティレポートだけを単独で入力
属性レポートを同時入力しない場合には，図B-2で示した「2」と「2'」，「4」と「4'」のデータ項目間の継承関係は登録されません。

(b)　物理名の異なる外部キーを識別して登録する

物理名の異なる外部キーを識別して登録するには，CSV形式ファイル入力コマンドで引数「/Z　物理名の異なる外部キーを識別する」を省略するか，［CSV入力オプション］ダイアログの「物理名の異なる外部キーを識別する」のチェックをオンにします。

この指定をしない場合には，図B-2で示した「2'」と「4'」のデータ項目は登録されません。

(3)　エンティティレポートからデータ項目辞書への変換規則（同一カラム名をマージする場合）

エンティティレポート中に，同一のカラム名が定義された属性情報が複数ある場合，その情報をマージしてデータ項目辞書に登録できます。

この場合のエンティティレポートの変換規則を次の図に示します。

図B-3　エンティティレポート形式の辞書登録の例（同一カラム名をマージする場合）

エンティティレポート形式のCSV形式ファイルを辞書に登録するときの指定によって，登録されるデータ項目およびデータ項目の関係が異なります。図B-3は，属性レポートの同時入力の指定と，物理名の異なる外部キーを識別する指定をした場合の登録例です。

(a)　同一カラム名をマージして登録する

同一カラム名をマージして辞書に登録するには，CSV形式ファイル入力コマンドで引数「/R　同一カラム名のマージ有無」に「use」を指定するか，または［CSV入力オプション］ダイアログの「同一カラム名の属性をマージする」のチェックをオンにします。

なお，FK属性のカラム名と，その移行先のPK属性のカラム名が同じ場合は，この指定に関係なく，必ずマージされて登録されます。詳細は，「付録B.2(2)　エンティティレポートからデータ項目辞書への変換規則」を参照してください。

(b)　マージされる属性の条件

同一カラム名の属性のマージでは，マージされる属性間で，属性の値が一致している必要があります。

マージされる属性間の条件を次の表に示します。条件は，エンティティレポートを単独で入力する場合と，エンティティレポートと属性レポートを同時に入力する場合とで異なります。

表B-2　マージされる属性間の条件

属性情報
マージする属性間の条件

エンティティレポートを単独で入力
エンティティレポートと属性レポートを同時に入力

カラム名
○
○

属性名
○
○

カラムデータタイプ
（精度，スケールを含む）
○
○

デフォルト値
－
○

移行先を示す情報
親テーブル名
×
△

ベース名
－
△

主キー
×
×

外部キー
×
×

コメントまたは定義
－
×※

（凡例）

○：一致しなければならない

△：マージする属性の双方が移行元の情報を持っている場合，移行元の情報が一致している場合はマージできる。また，マージする属性の一方だけ移行元の情報を持っている場合，またはマージする属性の双方が移行元の情報を持っていない場合はマージできる（マージする属性の双方が同じ移行元の情報を持っている場合，およびマージする属性の一方だけ移行元を示す情報を持っている場合は，移行元を示す情報を基に，マージしたデータ項目に継承の関連が付けられる）

×：一致しなくてもよい

－：該当しない

注※

コメントまたは定義の情報が，マージ対象の複数の項目に設定されている場合は，その中で最も長い情報が，データ項目のコメントに設定されます。

(4)　データ項目辞書とエンティティレポート形式の対応

データ項目辞書の定義項目とエンティティレポート形式の対応を次の表に示します。

表B-3　データ項目辞書とエンティティレポートの対応

データ項目辞書の定義項目
エンティティレポート形式

結合項目※1
構成項目

単項目
結合項目とその構成項目
結：結合項目
構：構成項目

名称
データ項目名
テーブル名
カラム名※2
結：カラム名※2
構：カラム名+サフィックス※2

標準名称
エンティティ名
属性名※3
結：属性名※3
構：属性名+サフィックス※2，※3

フリガナ
×
×
結：×
構：×

属性
分類
結合データ
カラム名※⁴，※⁵
結：結合データ
構：カラム名※⁴，※⁵

けた数
－
カラム名※⁴，※⁵
結：－
構：カラム名※⁴，※⁵

小数部
けた数
－
カラム名※⁴，※⁵
結：－
構：カラム名※⁴，※⁵

反復回数
－
×
結：－
構：×

付加情報
フィールド
1～n
×
×
結：×
構：×

コメント
エンティティコメント/定義
＊　属性
コメント/定義
結：＊　属性 コメント/定義
構：×

言語別詳細情報
名前
テーブル名
カラム名※2
結：カラム名※2
構：カラム名+サフィックス※2

タイプ
－
カラム名※4，※5
結：－
構：カラム名※4，※5

タイプ修飾情報※6
－
×
結：－
構：×

取りうる値
－
×
結：－
構：×

初期値
－
＊　デフォルト値
結：－
構：＊※7

言語別
フィールド
×
×
結：×
構：×

（凡例）

×：ERwin/ERX側にデータ項目辞書に対応する情報がない項目

－：データ項目辞書に値が設定されない項目

＊：属性レポートから取得される情報。属性レポートを同時入力しない場合は「×」

注※1

エンティティから変換されるデータ項目は，最上位結合項目となります。

注※2

属性名の末尾に出力される（PK）などのキー情報は削除されます。

注※3

カラム名の空白で区切られた情報の一つ目から取得されます。

注※4

カラム名の空白で区切られた情報の二つ目から取得されます。

注※5

変換される分類とタイプは，「付録B.2(5)　ERwin/ERX タイプマッピングの規則」を参照してください。

注※6

「COBOL又はOOCOBOL」で定義する編集文字列を指します。

注※7

構成項目のサフィックスが-charの場合はデフォルト値，-lengthの場合は デフォルト値の文字列長が設定されます。

規則

データ項目は通常，継承関係の最上位にあるデータ項目として登録されます。

属性レポートとの同時入力で，CSV形式ファイル入力コマンドの引数「/Z　物理名の異なる外部キーを識別する」，または［CSV入力オプション］ダイアログの「物理名の異なる外部キーを識別する」を指定すると，データ項目の継承関係も登録されます。この場合，PK属性とカラム名が異なるFK属性は，PK属性のベース名と同じ属性名のPK属性データ項目を継承します。

継承関係の下位にあるデータ項目として登録されたとき，表B-2で「×」または「－」以外が記された定義項目には，上位のデータ項目の情報は継承されません。また，「×」が記された定義項目の継承モードは，環境構築ユティリティのデータ項目の継承モードの設定に従います。継承モードについては「3.1.1(3)(b)　データ項目の継承モードの設定」を参照してください。

CSV形式ファイル入力コマンドの引数「/W　更新対象属性」，または［CSV入力オプション］ダイアログの「CSV入力フォーマット種別」で，ERwin/ERX属性だけを更新する指定をすると，表B-2で「×」または「－」以外が記された定義情報のうち言語別名前を除く情報だけを更新できます。

(5)　ERwin/ERX タイプマッピングの規則

ERwin/ERXで指定したタイプから，SEWB+/REPOSITORYのデータ項目の分類とタイプへ変換されます。変換にはタイプマッピングの規則が適用され，ERwin/ERXタイプや条件に応じた分類，タイプ，けた数，小数部けた数が設定されます。

標準で用意されているタイプマッピングの規則については，使用するデータベースの種類に応じて次から選択してください。

ORACLEを使用する場合

変換規則A（表B-4，B-5参照）　SEWB+ リポジトリセットのSEWB+/REPOSITORY 02-01以降

変換規則B（表B-6，B-7参照）　SEWB+ リポジトリセットのSEWB+/REPOSITORY 02-00との互換用

HiRDBを使用する場合

変換規則C（表B-8，B-9参照）

適用する変換規則は，CSV形式ファイル入力コマンドの引数「/E ファイルフォーマット種別（02-01互換用）」または「/B データベース種別」で指定するか，［CSV入力オプション］ダイアログの「対象データベース選択」で指定します。

なお，これらの変換をするには，あらかじめ環境構築ユティリティで言語別タイプをそれぞれの分類で指定できるタイプとして登録しておく必要があります。標準に設定されている分類とタイプの対応については「2.4.1(3)(a)　分類」を参照してください。

変換規則を表B-4から表B-9に示します。

表B-4　ERwin/ERXのタイプの変換規則A-1（ORACLE）

ERwin/ERX
SEWB＋/REPOSITORY

データベースタイプ
精度・長さ
スケール
分類
けた数
小数部けた数

CHAR
[n] (255)
×
英数字文字列
n
－

CHARACTER
[n] (255)
×
英数字文字列
n
－

CHARZ
[n] (255)
×
英数字文字列
n
－

CURSOR
×
×
なし
－
－

DATE
×
×
日付
7
－

DECIMAL
p (38)
[s] (0)
実数※¹
p
s※³

DISPLAY
p (38)
[s] (0)
なし
p
s※⁴

FLOAT
[p] (126)
×
実数
p
－

INTEGER
×
×
整数
38
－

LONG
[n]
(16777215​)
×
英数字文字列
n
－

LONG RAW
[n]
(16777215​)
×
なし
n
－

LONG VARCHAR
[n]
(16777215​)
×
英数字文字列
n
－

LONG VARRAW
n (16777215​)
×
なし
n
－

MLSLABEL
[n] (4)
×
なし
n
－

NUMBER
[p] (38)
[s] (0)
なし
p+2※²
s※³

RAW
[n] (2000)
×
なし
n
－

RAW MLSLABEL
[n] (255)
×
なし
n
－

ROWID
×
×
なし
2000
－

STRING
[n] (2000)
×
英数字文字列
n
－

UNSIGNED
[p] (10)
×
なし
p
－

VARCHAR
[n] (65533)
×
英数字文字列
n
－

VARCHAR2
[n] (2000)
×
英数字文字列
n
－

VARNUM
×
×
なし
22
－

VARRAW
n (65533)
×
なし
n
－

その他
[p]
[s]
なし
－
－

（凡例）

×：指定できない

－：設定されない

n：長さ

p：精度

s：スケール

[ ]：括弧内は省略できる

( )：括弧内は，ERwin/ERXでの記述が省略または数値以外の文字列の場合の仮定値

注

データ項目種別はすべて「単項目」となります。

注※1

s=0の場合と，sが省略された場合は「整数」となります。

注※2

s＜0の場合は「p+(sの絶対値)+1」となります。p＜sの場合は「s+2」となります。

注※3

s=0の場合と，sが省略された場合は「－」となります。

注※4

sが省略された場合は「－」となります。

表B-5　ERwin/ERXのタイプの変換規則A-2（ORACLE）

ERwin/ERXのデータベースタイプ | SEWB＋/REPOSITORYの言語別タイプ
COBOL又はOOCOBOL | C又はC++ | SQL | その他
CHAR | X | char | CHAR | ※8
CHARACTER | X | char | CHAR | ※8
CHARZ | X | char | フリー定義※⁶ | ※8
CURSOR | フリー定義※¹ | フリー定義※⁴ | フリー定義※⁶ | ※8
DATE | X | char | DATE | ※8
DECIMAL | P | float | フリー定義※⁶ | ※8
DISPLAY | フリー定義※² | char | フリー定義※⁶ | ※8
FLOAT | D | float | フリー定義※⁶ | ※8
INTEGER | フリー定義※³ | int | フリー定義※⁶ | ※8
LONG | X | char | LONG | ※8
LONG RAW | X | char | フリー定義※⁶ | ※8
LONG VARCHAR | X | char | フリー定義※⁶ | ※8
LONG VARRAW | X | char | フリー定義※⁶ | ※8
MLSLABEL | X | char | フリー定義※⁶ | ※8
NUMBER | X | char | ※7 | ※8
RAW | X | char | フリー定義※⁶ | ※8
RAW MLSLABEL | X | char | フリー定義※⁶ | ※8
ROWID | X | char | フリー定義※⁶ | ※8
STRING | X | char | フリー定義※⁶ | ※8
UNSIGNED | フリー定義※⁴ | unsigned int | フリー定義※⁶ | ※8
VARCHAR | フリー定義※⁵ | char | フリー定義※⁶ | ※8
VARCHAR2 | X | char | VARCHAR2 | ※8
VARNUM | X | char | フリー定義※⁶ | ※8
VARRAW | X | char | フリー定義※⁶ | ※8
その他 | フリー定義※⁴ | フリー定義※⁴ | フリー定義※⁶ | ※8

注※1

定義文字列には「SQL-CURSOR」が設定されます。

注※2

定義文字列には，「PIC S9($p)V9($s) DISPLAY SIGN LEADING SEPARATE」が設定されます。（$p：精度（長さ）， $s：スケール）

注※3

定義文字列には「PIC S9($p) COMP-5」が設定されます。（$p：精度（長さ））

注※4

定義文字列は設定されません。

注※5

定義文字列には「PIC X($p) VARYING」が設定されます。（$p：精度（長さ））

注※6

定義文字列にはERwin/ERXタイプが設定されます。

注※7

pとsが省略された場合は「NUMBERf」が設定されます。s=0の場合と，pが指定されてsが省略された場合は「NUMBER」が設定されます。その他の場合はフリー定義となり，定義文字列にはERwin/ERXタイプが設定されます。

注※8

言語区分「帳票定義」，「Java」のタイプには，環境構築ユティリティで設定した分類区分に対応するタイプの初期値（デフォルトタイプ）が設定されます。言語別4～7のタイプはフリー定義となり，定義文字列は設定されません。

表B-6　ERwin/ERXのタイプの変換規則B-1（ORACLE）

ERwin/ERX | SEWB＋/REPOSITORY
データベースタイプ | 精度・長さ | スケール | 分類 | けた数 | 小数部けた数
CHAR | [n] (18) | × | 英数字文字列 | n | －
CHARACTER | [n] (18) | × | 英数字文字列 | n | －
DATE | × | × | なし | 18 | －
DECIMAL | [p] (18) | [s] (0) | 実数※¹ | p | s※²
FLOAT | × | × | 実数 | 18 | －
INTEGER | × | × | 整数 | 18 | －
LONG | × | × | 英数字文字列 | 18 | －
LONG RAW | × | × | 英数字文字列 | 18 | －
LONG VARCHAR | [n] (18) | × | 英数字文字列 | n | －
MLSLABEL | × | × | なし | 18 | －
NUMBER | [p] (18 (*のとき38)) | [s] (0) | 実数※¹ | p | s※²
RAW | [n] (18) | × | 英数字文字列 | n | －
RAW MLSLABEL | × | × | なし | 18 | －
ROWID | × | × | なし | 18 | －
SMALLINT | × | × | 整数 | 18 | －
VARCHAR | [n] (18) | × | 英数字文字列 | n | －
VARCHAR2 | [n] (18) | × | 英数字文字列 | n | －
その他 | [p] (18) | [s] | なし | p | －

（凡例）

×：指定できない

－：設定されない

n：長さ

p：精度

s：スケール

[ ]：括弧内は省略できる

( )：括弧内は，ERwin/ERXでの記述が省略または数値以外の文字列の場合の仮定値

注

データ項目種別はすべて「単項目」となります。

注※1

s=0の場合と，pが指定されてsが省略された場合は「整数」となります。

注※2

s=0の場合と，sが省略された場合は「－」となります。

表B-7　ERwin/ERXのタイプの変換規則B-2（ORACLE）

ERwin/ERXのデータベースタイプ | SEWB＋/REPOSITORYの言語別タイプ
SQL | その他
CHAR | CHAR | ※3
CHARACTER | フリー定義※¹ | ※3
DATE | フリー定義※¹ | ※3
DECIMAL | フリー定義※¹ | ※3
FLOAT | フリー定義※¹ | ※3
INTEGER | フリー定義※¹ | ※3
LONG | LONG | ※3
LONG RAW | フリー定義※¹ | ※3
LONG VARCHAR | フリー定義※¹ | ※3
MLSLABEL | フリー定義※¹ | ※3
NUMBER | NUMBERf※² | ※3
RAW | フリー定義※¹ | ※3
RAW MLSLABEL | フリー定義※¹ | ※3
ROWID | フリー定義※¹ | ※3
SMALLINT | フリー定義※¹ | ※3
VARCHAR | フリー定義※¹ | ※3
VARCHAR2 | VARCHAR2 | ※3
その他 | フリー定義※¹ | ※3

注※1

定義文字列にはERwin/ERXタイプが設定されます。

注※2

s=0の場合と，pが指定されてsが省略された場合は「NUMBER」が設定されます。

注※3

言語区分「COBOL又はOOCOBOL」，「C又はC++」，「帳票定義」，「Java」のタイプには，環境構築ユティリティで設定した分類区分に対応するタイプの初期値（デフォルトタイプ）が設定されます。言語別4～7のタイプはフリー定義となり，定義文字列にはERwin/ERXタイプが設定されます。

表B-8　ERwin/ERXのタイプの変換規則C-1（HiRDB）

ERwin/ERX | SEWB＋/REPOSITORY
データベースタイプ | 精度・長さ | スケール | 構成項目サフィックス | 分類 | けた数 | 小数部けた数
CHAR | [n] (1) | × | － | 英数字文字列 | n | －
CHARACTER | [n] (1) | × | － | 英数字文字列 | n | －
DATE | × | × | － | 日付 | 10 | －
DEC | [p] (15) | [s] (0) | － | 実数※¹ | p | s※²
DECIMAL | [p] (15) | [s] (0) | － | 実数※¹ | p | s※²
DOUBLE PRECISION | × | × | － | 実数 | 16 | －
FLOAT | × | × | － | 実数 | 16 | －
INT | × | × | － | 整数 | 9 | －
INTEGER | × | × | － | 整数 | 9 | －
INTERVAL YEAR TO DAY | × | × | － | なし | 8 | －
INTERVAL HOUR TO SECOND | × | × | － | なし | 6 | －
MCHAR | [n] (1) | × | － | 英数字文字列 | n | －
MVARCHAR | n (32000) | × | -length | 整数 | 4 | －
-char | 英数字文字列 | n | －
NCHAR | [n] (1) | × | － | 日本語文字列 | n | －
NVARCHAR | n (16000) | × | -length | 整数 | 4 | －
-char | 日本語文字列 | n | －
REAL | × | × | － | 実数 | 7 | －
SMALLFLT | × | × | － | 実数 | 7 | －
SMALLINT | × | × | － | 整数 | 4 | －
TIME | × | × | － | 時刻 | 8 | －
VARCHAR | n (32000) | × | -length | 整数 | 4 | －
-char | 英数字文字列 | n | －
その他 | [p] | [s] | － | なし | － | －

（凡例）

×：指定できない

－：設定されない

n：長さ

p：精度

s：スケール

[ ]：括弧内は省略できる

( )：括弧内は，ERwin/ERXでの記述が省略または数値以外の文字列の場合の仮定値

注

構成項目のサフィックス欄が「－」のタイプは，単項目として生成されるタイプです。「－」以外のタイプは，結合項目としてその構成項目が生成されるタイプです。

注※1

s=0の場合と，pが指定されてsが省略された場合は「整数」となります。

注※2

s=0の場合と，sが省略された場合は「－」となります。

表B-9　ERwin/ERXのタイプの変換規則C-2（HiRDB）

ERwin/ERXのデータベースタイプ
SEWB＋/REPOSITORYの言語別タイプ

構成項目
サフィックス
COBOL又はOOCOBOL
C又はC++
SQL
その他
備考

CHAR
－
X
char
CHAR
※3

CHARACTER
－
X
char
CHAR
※3

DATE
－
X
char
DATE
※3

DEC
－
P
フリー定義※¹
DEC
※3

DECIMAL
－
P
フリー定義※¹
DEC
※3
※4

DOUBLE PRECISION
－
D
double
フリー定義※²
※3
※5

FLOAT
－
D
double
FLOAT
※3

INT
－
B
long
INT
※3

INTEGER
－
B
long
INT
※3

INTERVAL YEAR TO DAY
－
P
フリー定義※¹
フリー定義※²
※3

INTERVAL HOUR TO SECOND
－
P
フリー定義※¹
フリー定義※²
※3

MCHAR
－
X
char
MCHAR
※3

MVARCHAR
-length※⁶
B
short
SMALLINT
※3
※4

-char※⁶
X
char
MVARCHAR
※3
※5

NCHAR
－
N
char
NCHAR
※3

NVARCHAR
-length※⁶
B
short
SMALLINT
※3
※4

-char※⁶
N
char
NVARCHAR
※3
※5

REAL
－
D
float
フリー定義※²
※3

SMALLFLT
－
D
float
SMALLFLT
※3

SMALLINT
－
B
short
SMALLINT
※3

TIME
－
X
char
TIME
※3

VARCHAR
-length※⁶
B
short
SMALLINT
※3
※4

-char※⁶
X
char
VARCHAR
※3
※5

その他
－
フリー定義※¹
フリー定義※¹
フリー定義※²
※3

注※1

定義文字列は設定されません。

注※2

定義文字列にはERwin/ERXタイプが設定されます。

注※3

言語区分「帳票定義」，「Java」のタイプには，環境構築ユティリティで設定した分類区分に対応するタイプの初期値（デフォルトタイプ）が設定されます。言語別4～7のタイプはフリー定義となり，定義文字列は設定されません。

注※4

初期値に，カラムのデフォルト値の文字列長が設定されます。

注※5

初期値に，カラムのデフォルト値が設定されます。

注※6

環境構築ユティリティのタイプマッピングの設定で，サフィックスをカスタマイズできます。

(6)　エンティティレポート形式フォーマット

ERwin/ERXのエンティティレポートに対応するCSV形式ファイルフォーマットについて説明します。

(a)　ファイル内部の構成

エンティティレポート形式のファイル内部の構成を次に示します。

1行目にはヘッダを，2行目からは個々のデータ項目の定義情報を記述します。エンティティレポート形式では，結合関係を記述できます。ただし，結合項目を階層化して記述することはできません。

結合項目を1行で記述します。そのあとに続けて，その結合項目を構成する個々の構成項目を1行ずつ連続して記述します。構成項目は，次の結合項目を記述するまで，同じ結合項目と関連する構成項目と見なされます。結合項目と構成項目の区別は，テーブル名があるかどうかで判断されます。

(b)　ヘッダ

ヘッダはERwin/ERXでレポートを出力した場合に付けられます。ヘッダの内容は任意ですが，ヘッダ行のカンマで区切られた列数は，定義情報と同じである必要があります。

(c)　定義情報

定義情報のフォーマットとエンティティレポートで定義する必要のある値と省略できる値を次の表に示します。エンティティレポート形式では，文字列の値はすべてクォーテーション（「"」または「'」）で囲まないで記述します。

表B-10　データ項目の定義情報の記述内容（エンティティレポート形式）

記述順 | 記述する定義情報 | 結合項目 | 構成項目
1 | テーブル名 | ○ | －
2 | エンティティ名 | △ | －
3 | 属性名 | － | △
4 | カラム名 | － | ○
5※1 | エンティティコメント | △ | －
5※1 | エンティティ定義 | △ | －
6※2 | 外部キー | △ | △

（凡例）

○：必要な値

△：省略できる値

－：該当しない

注※1

どちらか一方を記述します。

注※2

属性レポートを同時入力する場合は，必ず記述します。

付録B.3　属性レポートの連携

ここでは，ERwin/ERX（バージョン2.6以前）で作成した属性レポートの辞書登録について説明します。

＜この項の構成＞

(1)　ERwin/ERXでの属性レポートの出力設定

(2)　属性レポートからデータ項目辞書への変換規則

(3)　属性レポートからデータ項目辞書への変換規則（同一カラム名をマージする場合）

(4)　データ項目辞書と属性レポート形式の対応

(5)　属性レポート形式フォーマット

(1)　ERwin/ERXでの属性レポートの出力設定

ERwin/ERXで次に示す設定をして，CSV形式ファイルを出力してください。

サーバの対象SQL DBMSの設定

使用するデータベースがORACLEの場合

対象データベース（SQLベース）：ORACLE

使用するデータベースがHiRDBの場合

対象データベース（SQLベース）：DB2

CSV形式ファイルへの出力項目の設定
属性レポートから，SEWB+/REPOSITORYの辞書に連携するために必要な出力項目を設定します。出力項目と指定順序を次の表に示します。指定順序が列の並び順になります。このため，必ず指定順序に従って設定してください。

表B-11　属性レポートの出力項目と指定順序

指定順 | 出力項目（オプション名）
ERwin/ERX　日本語版 | ERwin/ERX　英語版
1 | カラム名（カラムオプション） | Column Name（Column Option）
2 | 属性名（属性オプション） | Attribute Name（Attribute Option）
3 | FK指定（属性オプション） | FK Designator（Attribute Option）
4 | カラムデータタイプ（カラムオプション） | Column Datatype（Column Option）
5 | デフォルト値（制約オプション） | Default Values（Constraint Option）
6※1 | 属性コメント（属性オプション） | Note（Attribute Option）
6※1 | 属性定義（属性オプション） | Definition（Attribute Option）
7※2 | PK指定（属性オプション） | PK Designator（Attribute Option）
8※2 | ベース名（属性オプション） | Basename（Attribute Option）
9※3 | カンマ区切り（レポート形式） | Comma Delimited（Report Format）
10※3 | ヘッダー（表示形式） | Header（Multi-Valued Format）
11※3 | マージ（表示形式） | Merge（Multi-Valued Format）
12※3 | 改行コードの除去※4 | Remove Newline

注※1

どちらか一方を選択してください。両方の同時指定はできません。

注※2

属性レポートを同時入力する場合，または物理名の異なる外部キーを識別する場合には，必ず指定してください。

注※3

指定順序どおりでなくてもかまいません。

注※4

ERwin/ERX 2.5以前のバージョンでは「新規行の除去」となります。

(2)　属性レポートからデータ項目辞書への変換規則

依存関係のある属性レポートを単独で辞書登録する場合の変換規則について説明します。エンティティレポートと同時に入力する場合については，「付録B.2(2)　エンティティレポートからデータ項目辞書への変換規則」を参照してください。

属性レポート形式の辞書登録の例を次の図に示します。

図B-4　属性レポート形式の辞書登録の例

属性レポート形式のCSV形式ファイルを辞書に登録するとき，物理名の異なる外部キーの識別を指定するかどうかによって，登録されるデータ項目が異なります。図B-4は，物理名の異なる外部キーを識別する指定をした場合の登録例です。

物理名の異なる外部キーを識別して登録するには， CSV形式ファイル入力コマンドで引数「/Z　物理名の異なる外部キーを識別する」を省略するか，［CSV入力オプション］ダイアログの「物理名の異なる外部キーを識別する」のチェックをオンにします。

この指定をしない場合には，図B-4の「2'」と「4'」のデータ項目は登録されません。

(3)　属性レポートからデータ項目辞書への変換規則（同一カラム名をマージする場合）

属性レポート中に，同一のカラム名が定義された属性情報が複数ある場合，その情報をマージしてデータ項目辞書に登録できます。エンティティレポートと同時に入力する場合については，「付録B.2(3)　エンティティレポートからデータ項目辞書への変換規則（同一カラム名をマージする場合）」を参照してください。

同一カラム名の属性をマージする場合の属性レポートの変換規則を次の図に示します。

図B-5　属性レポート形式の辞書登録の例（同一カラム名をマージする場合）

属性レポート形式のCSV形式ファイルを辞書に登録するとき，物理名の異なる外部キーの識別を指定するかどうかによって，登録されるデータ項目が異なります。図B-5は，物理名の異なる外部キーを識別する指定をした場合の登録例です。

(a)　同一カラム名をマージして登録する

同一カラム名をマージして辞書に登録するには，CSV形式ファイル入力コマンドで引数「/R　同一カラム名のマージ有無」に「use」を指定するか，または［CSV入力オプション］ダイアログの「同一カラム名の属性をマージする」のチェックをオンにします。

なお，FK属性のカラム名と，その移行先のPK属性のカラム名が同じ場合は，この指定に関係なく，必ずマージされて登録されます。詳細は，「付録B.3(2)　属性レポートからデータ項目辞書への変換規則」を参照してください。

(b)　マージされる属性の条件

同一カラム名の属性のマージでは，マージされる属性間で，属性の値が一致している必要があります。マージされる属性間の条件を次の表に示します。

表B-12　マージされる属性間の条件

属性情報 | マージする属性間の条件
カラム名 | ○
属性名 | ○
カラムデータタイプ（精度,スケールを含む） | ○
デフォルト値 | ○
移行先を示す情報 | ベース名 | ×
PK指定 | ×
FK指定 | ×
属性コメントまたは定義 | ×※

（凡例）

○：一致しなければならない

×：一致しなくてもよい

注※

コメントまたは定義の情報が，マージ対象の複数の項目に設定されている場合は，その中で最も長い情報が，データ項目のコメントに設定されます。

(4)　データ項目辞書と属性レポート形式の対応

データ項目辞書の定義項目と属性レポート形式の対応を次の表に示します。

表B-13　データ項目辞書と属性レポート形式の対応

データ項目辞書の定義項目
属性レポート形式

構成項目

単項目
結合項目とその構成項目
結：結合項目
構：構成項目

名称
データ項目名
カラム名
結：カラム名
構：カラム名+サフィックス※1

標準名称
属性名
結：属性名
構：属性名+サフィックス※1

フリガナ
×
結：×
構：×

属性
分類
カラムデータタイプから分類へ変換※1
結：結合データ
構：カラムデータタイプから分類へ変換※1

けた数
カラムデータタイプから抽出※1
結：－
構：カラムデータタイプから抽出※1

小数部けた数
カラムデータタイプから抽出※1
結：－
構：カラムデータタイプから抽出※1

反復回数
×
結：－
構：×

付加情報
フィールド1～n
×
結：×
構：×

コメント
属性コメント/定義
結：属性コメント/定義
構：×

言語別詳細情報
名前
カラム名
結：カラム名
構：カラム名+サフィックス※1

タイプ
カラムデータタイプから分類へ変換※1
結：－
構：カラムデータタイプから分類へ変換※1

タイプ修飾情報※3
×
結：－
構：×

取りうる値
×
結：－
構：×

初期値
デフォルト値
結：－
構：※2

言語別フィールド
×
結：×
構：×

（凡例）

×：データ項目辞書に対応するERwin/ERX側の情報がない項目

－：データ項目辞書に値がない項目

注※1

変換される分類とタイプの変換規則は，エンティティレポート形式と同じです。「付録B.2(5)　ERwin/ERX タイプマッピングの規則」を参照してください。

注※2

サフィックス「-char」の構成項目にはデフォルト値を，サフィックス「-length」の構成項目にはデフォルト値の文字列長を初期値として設定します。

注※3

「COBOL又はOOCOBOL」で定義する編集文字列を指します。

データ項目は通常，継承関係の最上位にあるデータ項目として登録されます。

表B-13で「×」または「－」以外が記された定義項目には，継承関係の上位のデータ項目の情報は継承されません。また，「×」が記された定義項目の継承モードは，環境構築ユティリティのデータ項目の継承モードの設定に従います。継承モードについては「3.1.1(3)(b)　データ項目の継承モードの設定」を参照してください。

CSV形式ファイル入力コマンドの引数「/W　更新対象属性」，または［CSV入力オプション］ダイアログの「CSV入力フォーマット種別」で，ERwin/ERX属性だけを更新する指定をすると，表B-13で「×」または「－」以外が記された定義情報のうち言語別名前を除く情報だけを更新できます。

(5)　属性レポート形式フォーマット

ERwin/ERXの属性レポートに対応するCSV形式ファイルフォーマットについて説明します。

(a)　ファイル内部の構成

属性レポート形式のファイル内部の構成を次に示します。

1行目にはヘッダを，2行目からは個々のデータ項目の定義情報を記述します。

(b)　ヘッダ

ヘッダはERwin/ERXでレポートを出力した場合に付加されます。ヘッダの内容は任意ですが，ヘッダ行のカンマで区切られた列数は，定義情報と同じである必要があります。

(c)　定義情報

定義情報のフォーマットと属性レポートで定義する必要のある値と省略できる値を次の表に示します。属性レポート形式では，文字列の値はすべてクォーテーション（「"」または「'」）で囲まないで記述します。

表B-14　データ項目の定義情報の記述内容（属性レポート形式）

記述順 | 記述する定義情報 | 構成項目
1 | カラム名 | ○
2 | 属性名 | △
3 | FK指定 | △
4 | カラムデータタイプ | △
5 | デフォルト値 | △
6※¹ | 属性コメント | △
6※¹ | 属性定義 | △
7※² | PK指定 | △
8※² | ベース名 | △

（凡例）

○：必要な値

△：省略できる値

注※1

どちらか一方を記述します。

注※2

物理名の異なる外部キーを識別する場合は，必ず記述します。

付録B.4　テーブルレポートの連携

ここでは，ERwin/ERX（バージョン3.5以降）で作成したテーブルレポートの辞書登録について説明します。

＜この項の構成＞

(1)　ERwin/ERXでのテーブルレポートの出力設定

(2)　テーブルレポートからデータ項目辞書への変換規則

(3)　テーブルレポートからデータ項目辞書への変換規則（同一カラム名をマージする場合）

(4)　データ項目辞書とテーブルレポート形式の対応

(5)　テーブルレポート形式フォーマット

(1)　ERwin/ERXでのテーブルレポートの出力設定

ERwin/ERXで次の設定をして，CSV形式ファイルを出力してください。

(a)　サーバの対象SQL DBMSの設定

データベースにORACLEを使用する場合

SQL DBMSの設定値：ORACLE

DBのバージョン：任意

データベースにHiRDBを使用する場合

SQL DBMSの設定値：HiRDB※

DBのバージョン：任意

注※

ERwin/ERXのバージョン7.0以降ではHiRDBを選択できません。

(b)　レポート作成時の設定

ERwin/ERXのでレポートを作成するときには，次のオプションを設定してください。

バージョン3.5の場合

論理/物理：物理

カテゴリ：テーブル

バージョン4.0以降の場合

エクスポート形式のプロパティ
エクスポート形式：TEXT
生成ファイル：出力先CSVファイル名

テキストエクスポートプロパティ
形式：重複あり
区切り文字：カンマ区切り

セクションの選択
［物理］－［テーブル］を選択する

(c)　レポート形式に設定する項目

テーブルレポートから辞書に連携するために必要なカラムオプションと，その並び順を次に示します。

順序 | カラム
1 | テーブル 名前
2 | テーブル カラム 名前
3 | テーブル カラム データ型
4 | テーブル カラム 主キーである
5 | テーブル カラム 外部キーである
6 | テーブル カラム デフォルト デフォルト
7 | テーブル カラム 属性 名前
8※ | テーブル カラム 属性 ノート
8※ | テーブル カラム 属性 定義
9 | テーブル 親リレーションシップ 親テーブル 名前
10 | テーブル 親リレーションシップ 移行カラム 名前
11 | テーブル 親リレーションシップ 移行カラム 属性 ベース名
12 | テーブル エンティティ 名前
13※1 | テーブル エンティティ ノート
13※1 | テーブル エンティティ 定義
－※2 | テーブル カラム フィルタ 実カラム（非FK）を含む
－※2 | テーブル カラム フィルタ FKカラムを含む
－※2 | テーブル カラム ソート 物理順序

注※1

どちらか一方だけを指定してください。

注※2

必ず指定してください。順序は該当しません。

(d)　レポートのエクスポート時の設定

ERwin/ERXのバージョン3.5の場合，レポートをファイルにエクスポートするときには，次のオプションを設定してください。

エクスポート形式：CSV

表示形式：表形式（重複）

エクスポート先：ファイル

ERwin/ERXのバージョン4.0以降の場合，レポートテンプレート作成時に入力しているため，エクスポート時の設定は不要です。

(2)　テーブルレポートからデータ項目辞書への変換規則

依存関係のあるテーブルレポートを辞書登録する場合の変換規則は，エンティティレポートと属性レポートを同時入力する場合と同様です。「付録B.2(2)　エンティティレポートからデータ項目辞書への変換規則」を参照してください。

(3)　テーブルレポートからデータ項目辞書への変換規則（同一カラム名をマージする場合）

テーブルレポート中に，同一のカラム名が定義された属性情報が複数ある場合，その情報をマージしてデータ項目辞書に登録できます。この変換規則は，エンティティレポートと属性レポートを同時入力する場合と同様です。「付録B.2(3)　エンティティレポートからデータ項目辞書への変換規則（同一カラム名をマージする場合）」を参照してください。

(4)　データ項目辞書とテーブルレポート形式の対応

データ項目辞書の定義項目とテーブルレポート形式の対応を次の表に示します。

表B-15　データ項目辞書とテーブルレポート形式の対応

データ項目辞書の定義項目
テーブルレポート形式

結合項目※1
構成項目

単項目
結合項目とその構成項目
結：結合項目
構：構成項目

名称
データ項目名
テーブル　名前
カラム　名前
結：カラム　名前
構：カラム　名前+サフィックス※2

標準名称
エンティティ　名前
属性　名前
結：属性　名前
構：属性　名前+サフィックス※2

フリガナ
×
×
結：×
構：×

属性
分類
結合データ
カラム　データ型を変換※2
結：結合データ
構：カラム　データ型を変換※²

けた数
－
カラム　データ型から抽出※2
結：－
構：カラム　データ型から抽出※2

小数部
けた数
－
カラム　データ型から抽出※²
結：－
構：カラム　データ型から抽出※²

反復回数
－
×
結：－
構：×

付加情報
フィールド
1～n
×
×
結：×
構：×

コメント
エンティティ　ノート/定義
属性　ノート/定義
結：属性　ノート/定義
構：×

言語別詳細情報
名前
テーブル　名前
カラム　名前
結：カラム　名前
構：カラム　名前+サフィックス※2

タイプ
－
カラム　データ型を変換※²
結：－
構：カラム　データ型を変換※²

タイプ修飾情報※3
－
×
結：－
構：×

取りうる値
×
×
結：×
構：×

初期値
－
カラム　デフォルト　デフォルト
結：－
構：※4

言語別フィールド
×
×
結：×
構：×

（凡例）

×：ERwin/ERX側にデータ項目辞書に対応する情報がない項目

－：データ項目辞書側に値が設定されない項目

注※1

エンティティから変換されるデータ項目は，最上位結合項目となります。

注※2

変換される分類とタイプは，「付録B.2(5)　ERwin/ERX タイプマッピングの規則」を参照してください。

注※3

「COBOL又はOOCOBOL」で定義する編集文字列を指します。

注※4

初期値にはタイプマッピングで定義した値が設定されます。

データ項目は通常，継承関係の最上位にあるデータ項目として登録されます。

「カラム　名前」がPK属性と異なるFK属性は，CSV形式ファイル入力コマンドの引数「/Z　物理名の異なる外部キーを識別する」，または［CSV入力オプション］ダイアログの「物理名の異なる外部キーを識別する」に物理名の異なる外部キーを識別する指定をすると，FK属性の「ベース名」と同じ「属性　名前」のPK属性のデータ項目を継承します。

継承関係の下位にあるデータ項目として登録されたとき，表B-15で「×」または「－」以外が記された定義項目には，上位のデータ項目の情報は継承されません。また，「×」が記された定義項目には初期値が設定されます。データ項目の初期値については，「4.1.6(4)　定義項目の初期値」を参照してください。

CSV形式ファイル入力コマンドの引数「/W　更新対象属性」，または［CSV入力オプション］ダイアログの「CSV入力フォーマット種別」で，ERwin/ERX属性だけを更新する指定をすると，表B-15で「×」または「－」以外が記された定義情報のうち言語別名前を除く情報だけを更新できます。

(5)　テーブルレポート形式フォーマット

ERwin/ERXのテーブルレポートに対応するCSV形式ファイルフォーマットについて説明します。

(a)　ファイル内部の構成

テーブルレポート形式のファイル内部の構成を次に示します。

1行目からはヘッダを，2行目からはこのデータ項目の定義情報を記述します（ヘッダはERwin/ERXのバージョンによっては出力されない場合があります）。定義情報の行では，前の行と異なるテーブル名の記述がある行をエンティティの開始行とし，結合項目に対応するエンティティの情報と構成項目に対応する属性のうち1番目の情報を合わせて1行に記述します。そのあとの行で，2番目以降の属性の情報を一行ずつ連続して記述します。次のエンティティ情報が現れるまでをエンティティに属する属性情報と見なします。

(b)　ヘッダ

ヘッダはERwin/ERX（バージョン3.5以降）でレポートを出力した場合に付加されます。ヘッダの内容は任意ですが，ヘッダ行のカンマで区切られた列数は，定義情報と同じである必要があります。

(c)　定義情報

定義情報のフォーマットとテーブルレポートで定義する必要のある値と省略できる値を次の表に示します。文字列の値はすべてクォーテーション（「"」または「'」）で囲まないで記述します。

表B-16　データ項目の定義情報の記述内容（テーブルレポート形式）

記述順 | 記述内容 | 設定区分
1 | テーブル名 | ○
2 | カラム名 | ○
3 | カラムデータタイプ | △
4 | PK指定 | △
5 | FK指定 | △
6 | デフォルト値 | △
7 | 属性名 | △
8※ | 属性コメント | △
8※ | 属性定義 | △
9 | 親テーブル名 | △
10 | 移行カラム名 | △
11 | 移行属性ベース名 | △
12 | エンティティ名 | △
13※ | エンティティコメント | △
13※ | エンティティ定義 | △

（凡例）

○：必要な値

△：省略できる値

注※

どちらか一方を記述します。

付録B.5　辞書登録の例

次のケースを例に，ERwin/ERXから辞書登録するときにSEWB+/REPOSITORYでどのような設定をするとよいかを説明します。

ERwin/ERXの分析情報を，新規に辞書登録する

辞書のデータ項目を，ERwin/ERXの分析情報で更新する

＜この項の構成＞

(1)　ERwin/ERXの分析情報を，新規に辞書登録する

(2)　辞書のデータ項目を，ERwin/ERXの分析情報で更新する

(1)　ERwin/ERXの分析情報を，新規に辞書登録する

(a)　辞書登録の概要

ERwin/ERXで設計した分析情報をCSV形式ファイルに出力し，指定した辞書フォルダに新しいデータ項目として登録します。この例を次に示します。

(b)　SEWB+/REPOSITORYでのCSV形式ファイル入力時の設定

ダイアログから実行する場合

［スタート］メニューの［プログラム］または［すべてプログラム］から［Sewb+］－［Repository］－［CSV入力］を選びます。表示されるダイアログで次の設定をします。

表B-17　［CSV入力］ダイアログ

設定項目 | 設定値
入力CSVファイル名 | ERwin/ERXから出力したレポートファイル名を指定
登録先辞書フォルダ名 | データ項目を登録する辞書フォルダ名を指定
同時に入力するERwin/ERX属性レポートファイル名※ | エンティティレポートと同時に入力する属性レポートファイル名を指定
入力する辞書種別 | 「データ項目」を選択

注※

PK属性のデータ項目とFK属性のデータ項目との間に継承関係を登録したい場合，指定してください。

表B-18　［CSV入力オプション］ダイアログ

設定項目
設定値

辞書への登録方法
「新規に登録する」を選択
（ただし属性レポートでは「データ名項目/業務ルール名で更新する」を選択）

CSV入力フォーマット種別

「ERwin/ERX」を選択

「対象データベース選択」でデータベースを選択

「レポート形式選択」でERwin/ERXのバージョンに対応した形式を選択

物理名の異なる外部キーを識別する：オン

CSVファイルのヘッダを識別する
オン（レポート出力時にヘッダを付加した場合）

コマンドラインから実行する場合

CSV形式ファイル入力コマンドを使用してコマンドラインから実行する場合，次のように指定します。

ERwin/ERX（バージョン2.6以前）からのエンティティレポートの登録（属性レポートの同時入力）
RPCsvin /F エンティティレポートファイル名 /D 登録先辞書フォルダ名 /M ewe /A 属性レポートファイル名 /B データベース種別 /Z use

　注

属性レポートをあとに登録するときは「/S name」を必ず指定してください。

ERwin/ERX（バージョン3.5以降）からのテーブルレポートの登録
RPCsvin /F テーブルレポートファイル名 /D 登録先辞書フォルダ名 /M ewt /B データベース種別 /Z use

(2)　辞書のデータ項目を，ERwin/ERXの分析情報で更新する

(a)　辞書登録の概要

一度，辞書に登録したデータ項目を，そのデータ項目に対応するERwin/ERXの分析情報で更新します。データ項目の対応は，データ項目名で判断されます。

この例を次に示します。(1)で説明した新規登録のあと，用途ごとにフォルダに分けて管理している例です。この辞書にERwin/ERXで変更した分析情報を再登録すると，既存のデータ項目の定義情報が更新され，追加した属性が新しいデータ項目として登録されます。

(b)　SEWB+/REPOSITORYでのCSV形式ファイル入力時の設定

ダイアログから実行する場合

［スタート］メニューの［プログラム］から［Sewb+］－［Repository］－［CSV入力］を選びます。表示されるダイアログで次の設定をします。

表B-19　［CSV入力］ダイアログ

設定項目 | 設定値
入力CSVファイル名 | ERwin/ERXから出力したレポートファイル名を指定
登録先辞書フォルダ名 | データ項目を登録する辞書フォルダ名を指定
同時に入力するERwin/ERX属性レポートファイル名※ | エンティティレポートと同時に入力する属性レポートファイル名を指定
入力する辞書種別 | 「データ項目」を選択

注※

PK属性のデータ項目とFK属性のデータ項目との間に継承関係を登録したい場合，指定してください。

表B-20　［CSV入力オプション］ダイアログ

設定項目
設定値

辞書への登録方法

「データ項目名/業務ルール名で更新する」を選択

全辞書フォルダを更新対象にする：オン

継承関係も更新する：オフ※¹

CSV入力フォーマット種別

「ERwin/ERX」を選択

「対象データベース選択」でデータベースを選択

「レポート形式選択」でERwin/ERXのバージョンに対応した形式を選択

物理名の異なる外部キーを識別する：オン

Erwin/ERX属性のみを更新する：オン※²

CSVファイルのヘッダを識別する
オン（レポート出力時にヘッダを付加した場合）

注※1

新規登録したあとにデータ項目の継承関係を変更していて，その関係を保ったままERwin/ERX属性だけを更新したい場合に，必ず指定してください。

注※2

フリガナなどのERwin/ERX属性以外の定義情報を保ったまま，ERwin/ERX属性だけでデータ項目を更新したい場合に，必ず指定してください。

コマンドラインから実行する場合

CSV形式ファイル入力コマンドを使用して，コマンドラインから実行する場合は，次のように指定します。

ERwin/ERX（バージョン2.6以前）からのエンティティレポートの登録（属性レポートの同時入力）
RPCsvin /F エンティティレポートファイル名 /D 登録先辞書フォルダ名 /S name /P nouse /M ewe /A 属性レポートファイル名 /B データベース種別 /Z use /W erwin /V all

ERwin/ERX（バージョン3.5以降）からのテーブルレポートの登録
RPCsvin /F テーブルレポートファイル名 /D 登録先辞書フォルダ名 /S name /P nouse /M ewt /B データベース種別 /Z use /W erwin /V all

付録C　命名ルールインタフェース

SEWB+/REPOSITORYでは，独自の条件DLLを作成するためのインタフェースを提供しています。

ここでは，条件DLLの作成の概要と，インタフェース（ヘッダファイルおよび関数）の詳細について説明します。なお，このインタフェースの利用には，C言語の基本文法をある程度理解されていることを前提としています。

＜この節の構成＞

付録C.1　条件DLLの作成

付録C.2　ヘッダファイル（Nrl_interface.h）

付録C.3　関数の記述形式

付録C.1　条件DLLの作成

＜この項の構成＞

(1)　インタフェースの構成

(2)　インタフェースが格納されているディレクトリ

(3)　条件DLLの登録

(1)　インタフェースの構成

命名ルールインタフェースは，次に示すヘッダファイル，関数で構成します。

(a)　ヘッダファイル

ヘッダファイル（Nrl_interface.h）には，関数の戻り値などの宣言が記述されています。

(b)　関数

(i) 条件情報取得関数（NrlGetConditionInfo）

追加する条件名，条件の値の型および条件の値の初期値をSEWB+/REPOSITORYに返す関数です。この関数で返した値が，環境構築ユティリティの［データ項目］ダイアログの［命名ルール］の条件一覧に表示されます。条件の値の初期値は，「データ項目名」や「データ項目名標準名称」などのすべての名称の種別に対して設定します。

（例）

条件名として「最大長(バイト数)」，条件の値の型としてNRL_VALUE_TYPE_INT，初期値として名称の種別ごとの最大長を格納したNRL_values_struct_t構造体を返す関数

(ii) チェック関数（NrlCheckName）

検査項目「名称と命名ルールのマッチングチェック」の検査が実行されたときに，定義された名称が条件に従っているかどうかを判定する関数です。比較する値には，環境構築ユティリティで設定した値が渡されます。

（例）　名称の長さを調べ，16以下ならNRL_OK，17以上ならNRL_ERRORを返す関数

(2)　インタフェースが格納されているディレクトリ

ヘッダファイルが格納されているディレクトリを次に示します。

サーバのSEWB+ 基本開発環境の組み込み先パス名¥Repository¥include

次のディレクトリには，サンプルソース「Nrl_Check_Byte.c」が提供されています。条件DLLを作成するときの参考にしたり，必要に応じてサンプルをコピーしたりして利用してください。

サーバのSEWB+ 基本開発環境の組み込み先パス名¥Repository¥sample

SEWB+ 基本開発環境の組み込み先パス名は，デフォルトでは次のように設定されています。システムドライブとは，Windows Serverが組み込まれているドライブです。

システムドライブ:¥Program Files¥HITACHI¥Sewb

注意

64ビット版のWindowsでの，デフォルトの組み込み先パス名を次に示します。

システムドライブ:¥Program Files (x86)¥HITACHI¥Sewb

(3)　条件DLLの登録

環境構築ユティリティを使用して，独自に作成した条件DLLを登録すると，SEWB+/REPOSITORYで利用できるようになります。最大10種類の条件DLLを登録できます。条件DLLを登録すると，登録時に指定したパスとファイル名を基に，条件DLLから「条件名」，「条件の値の型」および「条件の値の初期値」の情報が引き継がれ，［データ項目］ダイアログの［命名ルール］タブの条件一覧に表示されます。

付録C.2　ヘッダファイル（Nrl_interface.h）

＜この項の構成＞

(1)　関数の戻り値

(2)　値の型

(3)　初期値の構造体

(4)　チェック結果

(5)　論理値型の値

(1)　関数の戻り値

typedef enum {
   NRL_ERROR = 0,                         //異常終了
   NRL_OK                                 //正常終了
} Nrl_status_t;

(2)　値の型

typedef enum {
   NRL_VALUE_TYPE_CHAR = 0,               //文字型
   NRL_VALUE_TYPE_STRING,                 //文字列型
   NRL_VALUE_TYPE_INT,                    //整数型
   NRL_VALUE_TYPE_BOOLEAN                 //論理値型
} Nrl_value_type_t;

(3)　初期値の構造体

typedef struct Nrl_value_struct_t {
   const void*  item_name;        //データ項目名
   const void*  item_std_name;    //データ項目標準名称(国
                                    語別共通)
   const void*  item_furigana;    //データ項目フリガナ(国
                                    語別共通)
   const void*  item_var_name;    //データ項目名前(言語別
                                    共通)
   const void*  rule_name;        //業務ルール名
   const void*  rule_std_name;    //業務ルール標準名称(国
                                    語別共通)
   const void*  rule_furigana;    //業務ルールフリガナ(国
                                    語別共通)
} Nrl_init_value_struct_t;

(4)　チェック結果

typedef enum {
   NRL_CHECK_NG = 0,           //条件を満たさない
   NRL_CHECK_OK                //条件を満たす
} Nrl_result_t;

(5)　論理値型の値

typedef enum {
   NRL_OFF = 0,                 //不可
   NRL_ON                       //可
} Nrl_boolean_t;

付録C.3　関数の記述形式

＜この項の構成＞

(1)　条件情報取得関数

(2)　チェック関数

(1)　条件情報取得関数

条件名，条件の値の型および値の初期値を返します。

(a)　関数名

NrlGetConditionInfo

(b)　形式

Nrl_status_t NrlGetConditionInfo(
   Nrl_char_t**              ConditionName,
                              /* 条件名          */
   Nrl_value_type_t*         ValueType,
                              /* 値の型          */
   Nrl_init_value_struct_t*  InitValueList
                              /* 条件の値の初期値*/
);

(c)　引数

ConditionName：条件名（出力引数）

ValueType：条件の値の型（出力引数）

InitValueList：条件の値の初期値（出力引数）

(d)　戻り値

NRL_OK：正常終了

NRL_ERROR：異常終了

(2)　チェック関数

定義されている名称（文字列）が，条件にあっているかどうかをチェックします。

(a)　関数名

NrlCheckName

(b)　形式

Nrl_status_t NrlCheckName(
   const Nrl_char_t*       Name,
                        /* チェック対象の文字列 */
   const void*             Value,
                        /* 値                   */
   Nrl_result_t*           Result
                        /* チェック結果         */
);

(c)　引数

Name：チェック対象の文字列（入力引数）

Value：値（入力引数）

Result：チェック結果（出力引数）

(d)　戻り値

NRL_OK：正常終了

NRL_ERROR：異常終了

付録D　検査項目インタフェース

SEWB+/REPOSITORYでは，独自の検査DLLを作成するためのインタフェースを提供しています。

ここでは，検査DLLの作成の概要と，インタフェース（ヘッダファイルおよび関数）の詳細について説明します。なお，このインタフェースの利用には，C言語の基本文法をある程度理解されていることを前提としています。

＜この節の構成＞

付録D.1　検査DLLの作成

付録D.2　ヘッダファイル（Dsc_interface.h）

付録D.3　関数の記述形式

付録D.4　エラーメッセージ

付録D.1　検査DLLの作成

＜この項の構成＞

(1)　インタフェースの構成

(2)　インタフェースが格納されているディレクトリ

(3)　検査DLLの登録

(1)　インタフェースの構成

検査項目インタフェースは，次に示すヘッダファイル，関数で構成します。

(a)　ヘッダファイル

ヘッダファイル（Dsc_interface.h）には，関数の戻り値などの宣言が記述されています。

(b)　関数

(i) データ項目の検査関数（DscCheckItem）

データ項目の定義情報をチェックし，その結果をResultに返す関数です。

この関数はデータ項目の検査DLLに必ず定義します。

(ii) 業務ルールの検査関数（DscCheckRule）

業務ルールの定義情報をチェックし，その結果をResultに返す関数です。

この関数は業務ルールの検査DLLに必ず定義します。

(iii) エラーIDからのメッセージ取得関数（DscGetMessageFromErrID）

エラーIDからエラーメッセージを取得する関数です。指定されたエラーIDに対応するメッセージがない場合は，戻り値にDSC_ERRORを返します。

この関数は検査DLLに必ず定義します。

(iv) エラーID領域の解放関数（DscFreeErrID）

検査関数で返されたエラーID領域を破棄する関数です。

この関数は検査DLLに必ず定義します。

(2)　インタフェースが格納されているディレクトリ

ヘッダファイルが格納されているディレクトリを次に示します。

サーバのSEWB+ 基本開発環境の組み込み先パス名¥Repository¥include

(3)　検査DLLの登録

環境構築ユティリティを使用して，独自に作成した検査DLLを登録すると，SEWB+/REPOSITORYで利用できるようになります。最大10種類の検査DLLを登録できます。なお，登録時には，DLL中に定義されているユーザ定義の関数の有無がチェックされます。

検査DLLを登録すると，登録時に指定したパスとファイル名を基に，検査DLLから情報が引き継がれ，［データ項目］ダイアログの［検査項目］タブの検査項目一覧に表示されます。

付録D.2　ヘッダファイル（Dsc_interface.h）

＜この項の構成＞

(1)　構成項目情報構造体（Dsc_member_item_struct_t）

(2)　データ項目情報構造体（Dsc_item_struct_t）

(3)　関連データ項目情報構造体（Dsc_link_item_struct_t）

(4)　業務ルール情報構造体（Dsc_rule_struct_t）

(5)　関数の戻り値（Dsc_status_t）

(6)　検査結果（Dsc_result_t）

(7)　エラーID（Dsc_err_id_t）

(1)　構成項目情報構造体（Dsc_member_item_struct_t）

typedef struct Dsc_member_item_struct_t {
 Dsc_int_t    item_kind;          //データ項目種別
 Dsc_char_t  *item_name;          //データ項目名
 Dsc_int_t    type_group;         //分類
 Dsc_int_t    total;              //けた数
 Dsc_int_t    dec_part;           //小数部けた数
 Dsc_int_t    repeat;             //反復回数
 Dsc_char_t  *var_name[11];       //名前(言語別)
 Dsc_int_t    type[11];           //タイプ(言語別)
 Dsc_char_t  *type_name[11];      //タイプキーワード名
                                    (言語別)
 Dsc_char_t  *type_comment[11];   //タイプキーワードの
                                    説明(言語別)
 Dsc_char_t  *edit_str[11];       //タイプ修飾情報
                                    (言語別)
 void        *reserve;            //予備
} Dsc_member_item_struct_t;

(2)　データ項目情報構造体（Dsc_item_struct_t）

typedef struct Dsc_item_struct_t {
 Dsc_int_t     item_kind;         //データ項目種別
 Dsc_char_t   *item_name;         //データ項目名
 Dsc_char_t   *parent_name;       //親データ項目名
 Dsc_char_t   *dict_name;         //辞書フォルダ名
 Dsc_char_t   *std_name[5];       //標準名称(国語別)
 Dsc_char_t   *furigana[5];       //フリガナ(国語別)
 Dsc_char_t   *comment[5];        //コメント(国語別)
 Dsc_char_t   *field[21];         //フィールド1～20
 Dsc_int_t     type_group;        //分類
 Dsc_int_t     total;             //けた数
 Dsc_int_t     dec_part;          //小数部けた数
 Dsc_int_t     repeat;            //反復回数
 Dsc_char_t   *var_name[11];      //名前(言語別)
 Dsc_int_t     type[11];          //タイプ(言語別)
 Dsc_char_t   *type_name[11];     //タイプキーワード名
                                    (言語別)
 Dsc_char_t  *type_comment[11];   //タイプキーワードの
                                    説明(言語別)
 Dsc_char_t   *type_free[11];     //タイプフリー定義
                                    (言語別)
 Dsc_char_t   *edit_str[11];      //タイプ修飾情報
                                    (言語別)
 Dsc_char_t   *init_val[11];      //初期値(言語別)
 Dsc_char_t   *lang_field[11];    //言語別フィールド
                                    (言語別)
 Dsc_int_t     exam_result;       //検査状態
 time_t        update_time;       //更新日時
 Dsc_member_item_struct_t  *member_array;
                                  //構成項目情報
 Dsc_int_t     member_cnt;        //構成項目数
 void         *reserve;           //予備
} Dsc_item_struct_t;

(3)　関連データ項目情報構造体（Dsc_link_item_struct_t）

typedef struct Dsc_link_item_struct_t {
 Dsc_int_t    item_kind;          //データ項目種別
 Dsc_char_t  *item_name;          //データ項目名
 Dsc_char_t  *keyword;            //キーワード
 Dsc_trigger_t  trigger;          //適用条件
 Dsc_int_t    type_group;         //分類
 Dsc_int_t    total;              //けた数
 Dsc_int_t    dec_part;           //小数部けた数
 Dsc_int_t    repeat;             //反復回数
 Dsc_char_t  *var_name[11];       //名前(言語別)
 Dsc_int_t    type[11];           //タイプ(言語別)
 Dsc_char_t  *type_name[11];      //タイプキーワード名
                                    (言語別)
 Dsc_char_t  *type_comment[11];   //タイプキーワードの説
                                    明(言語別)
 Dsc_char_t  *type_free[11];      //タイプフリー定義(言語
                                    別)
 Dsc_char_t    *edit_str[11];     //タイプ修飾情報(言語別)
 Dsc_char_t    *init_val[11];     //初期値(言語別)
 Dsc_char_t    *lang_field[11];   //言語別フィールド(言語
                                    別)
 void          *reserve;          //予備
} Dsc_link_item_struct_t;

(4)　業務ルール情報構造体（Dsc_rule_struct_t）

typedef struct Dsc_rule_struct_t {
 Dsc_int_t     rule_kind;          //業務ルール種別
 Dsc_char_t   *rule_name;          //業務ルール名
 Dsc_char_t   *dict_name;          //辞書フォルダ名
 Dsc_char_t   *std_name[5];        //標準名称(国語別)
 Dsc_char_t   *furigana[5];        //フリガナ(国語別)
 Dsc_char_t   *comment[5];         //コメント(国語別)
 Dsc_char_t   *field[4];           //フィールド1～3
 Dsc_char_t   *src_info[11];       //ルールスクリプト
                                     (言語別)
 Dsc_int_t     exam_result;        //検査状態
 time_t        update_time;        //更新日時
 Dsc_link_item_struct_t  *item_array;
                                   //関連データ項目情報
 Dsc_int_t       item_cnt;         //関連データ項目数
 void           *reserve;          //予備
} Dsc_rule_struct_t;

(5)　関数の戻り値（Dsc_status_t）

typedef enum {
 DSC_ERROR = 0,                //エラー発生
 DSC_OK                        //正常終了
} Dsc_status_t;

(6)　検査結果（Dsc_result_t）

typedef enum {
 DSC_CHECK_NG = 0,              //エラーあり
 DSC_CHECK_OK                   //エラーなし
} Dsc_result_t;

(7)　エラーID（Dsc_err_id_t）

typedef enum {
 DSC_ERRID_ITEM_ERR_1 = 10000,     //データ項目検査用
 DSC_ERRID_ITEM_ERR_2,
 DSC_ERRID_ITEM_ERR_3,
 DSC_ERRID_ITEM_ERR_4,
 DSC_ERRID_ITEM_ERR_5,
           ：
 DSC_ERRID_ITEM_ERR_100,
 DSC_ERRID_RULE_ERR_1 = 20000,     //業務ルール検査用
 DSC_ERRID_RULE_ERR_2,
 DSC_ERRID_RULE_ERR_3,
 DSC_ERRID_RULE_ERR_4,
 DSC_ERRID_RULE_ERR_5,
           ：
 DSC_ERRID_RULE_ERR_100
} Dsc_err_id_t;

付録D.3　関数の記述形式

＜この項の構成＞

(1)　データ項目の検査関数

(2)　業務ルールの検査関数

(3)　エラーIDからメッセージの取得関数

(4)　エラーID領域の解放関数

(1)　データ項目の検査関数

データ項目の定義情報をチェックし，その結果をResultに返します。

(a)　関数名

DscCheckItem－データ項目の定義情報チェック

(b)　形式

Dsc_status_t DscCheckItem(
 const Dsc_item_struct_t    *Item,
                         /* データ項目情報構造体 */
 Dsc_err_id_t              **ErrIDList,
                         /* エラーID配列        */
 Dsc_int_t                  *ErrCount,
                         /* エラーの数           */
 Dsc_result_t               *Result
                         /* 検査結果             */
);

(c)　引数

●Item

データ項目情報構造体を格納するポインタを指定します。

データ項目種別（item_kind）には，対象データ項目の種別が返ります。
DSD_ITM_KIND_SIMPLE ：単項目
DSD_ITM_KIND_COMPOSITE ：結合項目

親データ項目名（parent_name）には，対象データ項目の親データ項目名が返ります。ただし，親データ項目なし（辞書フォルダ直下のデータ項目）の場合はNULLが返ります。

標準名称（std_name），フリガナ（furigana），コメント（comment）は，配列の添字に国語区分番号を指定することで値を取得できます。指定できる値を次に示します。
DSD_NATIONAL_NO_JAPANESE ：国語区分「日本語」
DSD_NATIONAL_NO_ENGLISH ：国語区分「英語」
DSD_NATIONAL_NO_RESERVED_1 ：国語区分「未設定1」
DSD_NATIONAL_NO_RESERVED_2 ：国語区分「未設定2」

フィールド（field）は，配列の添字にフィールド番号を指定することで値を取得できます。指定できる値は，「DSD_ITEM_FIELD_NO_x」です。xは1～20の数字で，それぞれフィールド1～20に対応します。

分類（type_group）には，次に示すDS_type_group_t列挙型※の値が返ります。
DSD_GRP_ALPHABETIC ：英数字文字列データ
DSD_GRP_JAPANESE ：日本語文字列データ
DSD_GRP_INTEGRAL ：整数データ
DSD_GRP_POSITIVE ：正整数データ
DSD_GRP_REAL ：実数データ
DSD_GRP_DATE ：日付データ
DSD_GRP_TIME ：時刻データ
DSD_GRP_COMPOSITE ：結合データ
DSD_NO_GRP ：分類なし

名前（var_name），タイプ（type），タイプキーワード名（type_name），タイプキーワードの説明（type_comment），タイプフリー定義（type_free），タイプ修飾情報（edit_str），初期値（init_val），言語別フィールド（lang_field）は，配列の添字に言語区分番号を指定することで値を取得できます。指定できる値を次に示します。
DSD_PROG_NO_COBOL ：言語区分「COBOL又はOOCOBOL」
DSD_PROG_NO_C ：言語区分「C又はC++」
DSD_PROG_NO_SQL ：言語区分「SQL」
DSD_PROG_NO_EUR ：言語区分「帳票定義」
DSD_PROG_NO_JAVA ：言語区分「Java」
DSD_PROG_NO_RESERVED_4：言語区分「言語4」
DSD_PROG_NO_RESERVED_5：言語区分「言語5」
DSD_PROG_NO_RESERVED_6：言語区分「言語6」
DSD_PROG_NO_RESERVED_7：言語区分「言語7」

言語区分「COBOL又はOOCOBOL」のメンバedit_strには，編集文字列の定義情報が返ります。

言語区分「COBOL又はOOCOBOL」，「C又はC++」で，タイプが「フリー定義」以外の場合，メンバtype_freeには，文字列表現された取りうる値の定義情報が返ります。
例えば，取りうる値リストの記号と値の組み合わせが次に示す表の場合，"TOKYO=,NAGOYA,OOSAKA= ¥,¥=¥¥ ¥¥ "という文字列が返ります。

記号
値

"TOKYO"

""

"NAGOYA"

NULL

"OOSAKA"

" ,=¥ ¥  "

タイプ（type）には，DS_type_id_t列挙型※の値が返ります。

タイプキーワード名（type_name）には，DS_type_id_t列挙型※の値に対応したタイプキーワード名が返ります。

タイプキーワードの説明（type_comment）には，DS_type_id_t列挙型※の値に対応したタイプキーワードの説明が返ります。

検査状態（exam_result）には，次に示すDS_exam_result_t列挙型※の値が返ります。
DSD_EXM_OK ：エラーなし
DSD_EXM_NG ：エラーあり
DSD_NO_EXM ：未検査

注※

列挙型の値は，ヘッダファイル（Dsc_interface.h）中のコメントで確認できます。

●ErrIDList

エラーID配列へのポインタを受け取るエリアのポインタを指定します。

●ErrCount

エラーの数（ErrIDListに指定した配列の要素数）を受け取るエリアのポインタを指定します。

●Result

検査結果を受け取るエリアのポインタを指定します。

(d)　戻り値

DSC_OK ：正常終了

DSC_ERROR：エラーが発生した

(e)　注意事項

検査DLLを複数登録する場合は，検査関数で返すエラーID（Dsc_err_id_t列挙型）は，登録した検査DLL内でユニークにする必要があります。

次に該当する場合，データ項目情報構造体または構成項目情報構造体のメンバには次の未定義値が返ります。

データ項目種別（item_kind）がDSD_ITM_KIND_SIMPLE（単項目）でけた数，小数部けた数，反復回数が未定義の場合

データ項目種別（item_kind）がDSD_ITM_KIND_COMPOSITE（結合項目）で反復回数が未定義の場合

各メンバの未定義値を次に示します。

けた数（total）：DSD_ITM_TOTAL_NULL（-1）

小数部けた数（dec_part）：DSD_ITM_DEC_PART_NULL（-1）

反復回数（repeat）：DSD_ITM_REPEAT_NULL（-1）

データ項目種別（item_kind）がDSD_ITM_KIND_COMPOSITE（結合項目）の場合，けた数（total），小数部けた数（dec_part），タイプ（type）の値は保証されません。

(2)　業務ルールの検査関数

業務ルールの定義情報をチェックし，その結果をResultに返します。

(a)　関数名

DscCheckRule－業務ルールの定義情報チェック

(b)　形式

Dsc_status_t DscCheckRule(
 const Dsc_Rule_struct_t     *Rule,
                        /* 業務ルール情報構造体 */
 Dsc_err_id_t               **ErrIDList,
                        /* エラーID配列         */
 Dsc_int_t                   *ErrCount,
                        /* エラーの数            */
 Dsc_result_t                *Result
                        /* 検査結果              */
);

(c)　引数

●Rule

業務ルール情報構造体を格納するポインタを指定します。

業務ルール種別（rule_kind）には，対象業務ルールの種別が返ります。
DSD_BRL_KIND_SINGLE：単項目関連業務ルール（共有する）
DSD_BRL_KIND_MULTI：複項目関連業務ルール（専用にする）
DSD_BRL_KIND_MULTI_SAME_ANY：同一項目用業務ルール（結合，単項目）
DSD_BRL_KIND_MULTI_SAME_SIMPLE：同一項目用業務ルール（単項目）

標準名称（std_name），フリガナ（furigana），コメント（comment）は，配列の添字に国語区分番号を指定することで値を取得できます。指定できる値を次に示します。
DSD_NATIONAL_NO_JAPANESE ：国語区分「日本語」
DSD_NATIONAL_NO_ENGLISH ：国語区分「英語」
DSD_NATIONAL_NO_RESERVED_1：国語区分「未設定1」
DSD_NATIONAL_NO_RESERVED_2：国語区分「未設定2」

フィールド（field）は，配列の添字にフィールド番号を指定することで値を取得できます。指定できる値を次に示します。
DSD_RULE_FIELD_NO_1 ：フィールド1
DSD_RULE_FIELD_NO_2 ：フィールド2
DSD_RULE_FIELD_NO_3 ：フィールド3

ルールスクリプト（src_info）は，配列の添字に言語区分番号を指定することで値を取得できます。指定できる値を次に示します。
DSD_PROG_NO_COBOL ：言語区分「COBOL又はOOCOBOL」
DSD_PROG_NO_C ：言語区分「C又はC++」
DSD_PROG_NO_SQL ：言語区分「SQL」
DSD_PROG_NO_EUR ：言語区分「帳票定義」
DSD_PROG_NO_JAVA ：言語区分「Java」
DSD_PROG_NO_RESERVED_4 ：言語区分「言語4」
DSD_PROG_NO_RESERVED_5 ：言語区分「言語5」
DSD_PROG_NO_RESERVED_6 ：言語区分「言語6」
DSD_PROG_NO_RESERVED_7 ：言語区分「言語7」

検査状態（exam_result）には，次に示すDS_exam_result_t列挙型※の値が返ります。
DSD_EXM_OK ：エラーなし
DSD_EXM_NG ：エラーあり
DSD_NO_EXM ：未検査

関連データ項目情報の適用条件（trigger）には，次に示すDS_trigger_t列挙型※の値が返ります。
DSD_NO_TRIGGER ：未指定
DSD_TRIGGER_INPUT ：入力
DSD_TRIGGER_OUTPUT ：出力
関連データ項目情報のほかのメンバについては，「付録D.3(1)　データ項目の検査関数」の引数 Itemの説明を参照してください。

注※

列挙型の値は，ヘッダファイル（Dsc_interface.h）中のコメントで確認できます。

●ErrIDList

エラーID配列へのポインタを受け取るエリアのポインタを指定します。

●ErrCount

エラーの数（ErrIDListに指定した配列の要素数）を受け取るエリアのポインタを指定します。

●Result

検査結果を受け取るエリアのポインタを指定します。

(d)　戻り値

DSC_OK：正常終了

DSC_ERROR：エラーが発生した

(e)　注意事項

複数の検査DLLを登録する場合は，検査関数で返すエラーID（Dsc_err_id_t列挙型）は，登録した検査DLL内でユニークにする必要があります。

業務ルール種別がDSD_BRL_KIND_SINGLE（単項目関連業務ルール（共有する））またはDSD_BRL_KIND_MULTI（複項目関連業務ルール（専用にする））のとき，次に該当する場合は関連データ項目情報構造体のメンバには，未定義値が返ります。

関連データ項目情報構造体のデータ項目種別（item_kind）がDSD_ITM_KIND_SIMPLE（単項目）で，けた数，小数部けた数，反復回数が未定義の場合

関連データ項目情報構造体のデータ項目種別（item_kind）がDSD_ITM_KIND_COMPOSITE（結合項目）で，反復回数が未定義の場合

各メンバの未定義値を次に示します。

けた数（total）：DSD_ITM_TOTAL_NULL（-1）

小数部けた数（dec_part）：DSD_ITM_DEC_PART_NULL（-1）

反復回数（repeat）：DSD_ITM_REPEAT_NULL（-1）

業務ルール種別がDSD_BRL_KIND_SINGLE（単項目関連業務ルール（共有する））またはDSD_BRL_KIND_MULTI（複項目関連業務ルール（専用にする））のとき，関連データ項目情報構造体のデータ項目種別（item_kind）がDSD_ITM_KIND_COMPOSITE（結合項目）の場合，けた数（total），小数部けた数（dec_part），タイプ（type）の値は保証されません。

業務ルール種別がDSD_BRL_KIND_MULTI_SAME_ANYまたはDSD_BRL_KIND_MULTI_SAME_SIMPLE（同一項目用業務ルール）の場合，関連データ項目情報構造体のキーワード（keyword）と適用条件（trigger）以外は保証されません。

(3)　エラーIDからメッセージの取得関数

エラーIDからエラーメッセージを取得します。

指定されたエラーIDに対応するメッセージがない場合は，戻り値にDSC_ERRORを返します。

(a)　関数名

DscGetMessageFromErrID－エラーIDからメッセージを取得

(b)　形式

Dsc_status_t DscGetMessageFromErrID(
 Dsc_err_id_t    ErrID,     /* エラーID         */
 Dsc_char_t    **Message    /* エラーメッセージ */
);

(c)　引数

●ErrID

エラーIDを指定します。

●Message

エラーメッセージへのポインタを受け取るエリアのポインタを指定します。

エラーID（Dsc_err_id_t）に対応したメッセージを返します。
エラーIDとメッセージの対応例を次に示します。

DSC_ERRID_ITEM_ERR_1

コメント（COBOL又はOOCOBOL）が指定されていません。

DSC_ERRID_ITEM_ERR_2

コメント（C又はC++）が指定されていません。

DSC_ERRID_RULE_ERR_1

ルールスクリプト（COBOL又はOOCOBOL）に誤りがあります。

DSC_ERRID_RULE_ERR_2

ルールスクリプト（C又はC++）に誤りがあります。

(d)　戻り値

DSC_OK：正常終了

DSC_ERROR：エラーIDに対応にするメッセージがない

(4)　エラーID領域の解放関数

引数ErrIDListで指定されたエラーID配列を破棄します。

(a)　関数名

DscFreeErrID－エラーID配列の破棄

(b)　形式

void DscFreeErrID(
 Dsc_err_id_t    *ErrIDList     /* エラーID配列 */
);

(c)　引数

●ErrIDList

削除するエラーID（検査関数で返されたエラーID）のポインタを指定します。

(d)　戻り値

戻り値はありません。

付録D.4　エラーメッセージ

検査関数でエラーの場合
DscCheckItem，DscCheckRuleの戻り値としてDSC_ERRORが返された場合，次のメッセージが表示されます。

「検査DLLの検査関数でエラーが発生しました。DLL：MMMM，関数：NNNN」

MMMM：検査DLL名称（パス名を含む）

NNNN ：検査関数名称（DscCheckItemまたはDscCheckRule）

注
P-2651-1524 SEWB+/REPOSITORY-BROWSERのバージョン02-02以前で，検査関数でエラーIDが返された場合は，次のメッセージとなります。
「検査でエラーが発生しました。エラーコード：XXXXX」
XXXXX：検査関数で返されたエラーID

エラーIDからメッセージ取得関数で取得できた場合
DscGetMessageFromErrIDの戻り値でDSC_OKが返された場合，取得したメッセージが表示されます。

エラーIDからメッセージ取得関数で取得できなかった場合
DscGetMessageFromErrIDの戻り値でDSC_ERRORが返された場合，次のメッセージが表示されます。

「定義内容に誤りがあります。エラーコード：XXXXX」

XXXXX：検査関数で返されたエラーID

付録E　標準提供の同一項目用業務ルール

SEWB+/REPOSITORYでは，実際の業務に使用することを想定した同一項目用業務ルールを提供しています。この同一項目用業務ルールは，辞書に登録すれば，そのまま利用できます。独自の同一項目用業務ルールを作成する場合は，サンプルとしてお役立てください。

＜この節の構成＞

付録E.1　同一項目用業務ルールの概要

付録E.2　ルールスクリプト

付録E.1　同一項目用業務ルールの概要

業務ルール名：「同一項目間転記」

処理概要

同一のデータ項目間で，入力側のデータ項目から出力側のデータ項目へデータを転記します。一般に，アプリケーションの入力側でそのデータ項目が含まれるレコード定義の構成と，出力側でそのデータ項目が含まれるレコード定義の構成は，異なる場合があると考えられます。この同一項目用業務ルールでは，それぞれのレコード定義を構成する結合項目に異なる反復回数が定義されている場合の転記処理にも対応しています。

データ項目の対象範囲

適用するデータ項目には，「すべての単項目」が指定されています。リポジトリ内の結合項目ではないデータ項目（単項目）に対して適用できます。

付録E.2　ルールスクリプト

ルールスクリプトを次に示します。なお，このルールスクリプトには，テンプレート記述言語が使用されており，ルールスクリプトとテンプレートで共通に使用する可変記号が定義されています。このため，どのようにこの同一項目用業務ルールを利用するかについてを，あらかじめテンプレート作成者と検討しておくことをお勧めします。

付録F　このマニュアルの参考情報

このマニュアルを読むに当たっての参考情報を示します。

＜この節の構成＞

付録F.1　関連マニュアル

付録F.2　このマニュアルでの表記

付録F.3　KB（キロバイト）などの単位表記について

付録F.1　関連マニュアル

SEWB+のマニュアル体系を次に示します。

関連マニュアルを次に示します。必要に応じてお読みください。

SEWB+ 基本開発環境セット

SEWB+ 概説（3020-3-B80）

SEWB+/REPOSITORY 運用ガイド（3020-3-B81）

SEWB+/CONSTRUCTION アプリケーション開発ガイド（3020-3-B83）

SEWB+/RECORD DEFINER 操作ガイド（3020-3-B84）

Groupmax Object Server Version 6 システム管理者ガイド（3020-3-B56）

SEWB+関連製品

SEWB+/REPORT MANAGER ドキュメント作成支援 使用の手引（3020-3-720）

SEWB+/STANDARD-SUBROUTINE 標準サブルーチン 使用の手引（3020-3-725）

SEWB3

SEWB3 データ項目設計支援 使用の手引（3000-7-455）

SEWB3 運用の手引（3000-7-451）

EUR

uCosminexus EUR 概説（3020-7-531）※1

uCosminexus EUR 帳票設計（3020-7-533）※1

uCosminexus EUR 帳票設計（EUR Form帳票）（3020-7-534）※1

uCosminexus EUR クライアント帳票出力（3020-7-535）※1

uCosminexus EUR サーバ帳票出力（3020-7-536）※1

uCosminexus EUR メッセージ（3020-7-537）※1

uCosminexus EUR システム設計ガイド（3020-7-702）※2

uCosminexus EUR システム構築ガイド（3020-7-703）※2

uCosminexus EUR 帳票作成 画面リファレンス（3020-7-705）※2

uCosminexus EUR 帳票出力 機能解説 EUR Server編（3020-7-708）※2

uCosminexus EUR 帳票出力 リファレンス EUR Server編（3020-7-710）※2

uCosminexus EUR データベース連携ガイド（3020-7-713）※2

uCosminexus EUR メッセージ（3020-7-714）※2

注※1

EUR Version 8の場合にお読みください。

注※2

EUR Version 9の場合にお読みください。

付録F.2　このマニュアルでの表記

このマニュアルでは，製品名および機能名を次のように表記しています。

表記 | 正式名称
EUR | EUR：イーユーアール Professional Edition
uCosminexus EUR：イーユーアール Designer
uCosminexus EUR：イーユーアール Developer
JP1/NETM/Audit | JP1/NETM/Audit - Manager
Object Server | Groupmax Object Server | Groupmax Object Server Version 6
Groupmax High-end Object Server | Groupmax High-end Object Server Version 6
SEWB+/CONSTRUCTION | SEWB+ 基本開発環境のプログラム構築支援機能
SEWB+/RECORD DEFINER | SEWB+ 基本開発環境のレコード設計支援機能

付録F.3　KB（キロバイト）などの単位表記について

1KB（キロバイト），1MB（メガバイト），1GB（ギガバイト），1TB（テラバイト）はそれぞれ1,024バイト，1,024²バイト，1,024³バイト，1,024⁴バイトです。

付録G　用語解説

英字｜ア行｜カ行｜サ行｜タ行｜マ行｜ヤ行｜ラ行

英字

CSV形式ファイル（Comma Separated Values形式ファイル）

CSV形式でデータが記述されたファイルのことです。CSV形式とは，表計算プログラムやリレーショナルデータベースでデータを扱えるテキストデータの形式をいいます。データの区切りをコンマ（,），レコードの区切りを改行で表します。レコードは可変長形式になります。辞書情報を一括して登録したり出力したりするには，CSV形式ファイルを使います。

EUR

SEWB+/REPOSITORYと連携し，レポートの設計から印刷までを支援するツールです。EURでは，マウス操作を基本とした簡単な操作で，自由な形式のレポートを効率良く設計できます。設計時には，SEWB+/REPOSITORYの辞書のレコード定義（最上位結合項目）から，レポートの設計に必要なフィールド定義情報を自動的に生成して利用できます。また，設計したレポートの印刷にはプログラミングの必要がなく，レポート出力アプリケーションを容易に作成できます。

SEWB+/CONSTRUCTION

SEWB+ 基本開発環境のプログラム構築支援機能のことです。

特に，TPモニタやジョブ運用管理ツールなどを利用する大規模なC/Sシステム上で動作するサーバ側のプログラムおよびバッチシステムの開発に適しています。テンプレート，データ定義，プログラム定義の機能を使い，C/Sシステムのサーバプログラムと，クライアントプログラムに必要なサーバプログラムとのリンクのインタフェースを効率良く作成できます。

SEWB+/RECORD DEFINER

SEWB+ 基本開発環境のレコード設計支援機能のことです。

SEWB+/REPOSITORYの辞書情報を使用して，レコード情報を定義できます。

SEWB+/REPORT MANAGER

SEWB+で定義した情報の印刷を支援するツールです。SEWB+/CONSTRUCTIONと連携してプログラム処理概要図を，SEWB+/REPOSITORYと連携してインパクトレポートやデータ項目または業務ルールの定義内容などを印刷できます。これらのドキュメントを定義内容の確認や，保守作業に役立てられます。

SEWB+ 基本開発環境

次に示す機能を一つに統合したツールです。

リポジトリ管理機能（SEWB+/REPOSITORY）

リポジトリブラウザ機能（SEWB+/REPOSITORY-BROWSER）

プログラム構築支援機能（SEWB+/CONSTRUCTION）

レコード設計支援機能（SEWB+/RECORD DEFINER）

SEWB+ 基本開発環境セット

SEWB+ 基本開発環境とGroupmax Object Serverから構成される製品です。

SEWB+ツール

Windowsマシンを使った分散開発環境で，システム開発を支援するSEWB+シリーズのツールの総称です。

ア行

アクセス権

リポジトリに格納された辞書やドキュメントを，参照したり更新したりする権利のことです。所有者（辞書やドキュメントを作成するユーザ），グループおよびすべてのユーザに対して，それぞれのアクセス権を設定できます。

インポート

エクスポートで取り出したシステム開発情報をリポジトリに取り込むことをいいます。各サーバに分散された資源を収集する場合などに利用します。

エクスポート

リポジトリのシステム開発情報を，ハードディスク上のファイル，フロッピーディスク，またはカートリッジ磁気テープなどの外部媒体に取り出すことをいいます。ルートドキュメントフォルダ単位または辞書フォルダ単位でエクスポートできます。各サーバへ資源を配布または複製する場合に利用します。

カ行

関連

データ項目とドキュメント，データ項目と業務ルールというように，資源間に付けられた依存関係をいいます。関連は，リポジトリブラウザを使用して任意に設定できる「ユーザ関連」と，SEWB+ツールによって自動的に設定される「関連」に大別されます。リポジトリブラウザの関連ブラウザ機能を使用すると，関連づけられた資源をブラウジングでき，変更波及の解析などに利用できます。

キーワード

業務ルールに使用するデータ項目の仮の名称です。ルールスクリプトでは，データ項目の名称をキーワードで記述します。このキーワードは，SEWB+/CONSTRUCTIONでソースプログラム中にルールスクリプトが展開されたときに，データ項目の言語別の名前に置換されます。

業務ルール

データ項目に着目して，データ項目特有の処理を部品化したものです。SEWB+/CONSTRUCTIONを使ったアプリケーション開発で共通に利用することを目的としています。業務ルールは必ずデータ項目と関連づけて登録し，業務ルール辞書で管理します。

（データ項目と関連づけない特殊な業務ルールもあります。用語「同一項目用業務ルール」の説明を参照してください）

実際にソースプログラムに展開する処理の内容は，ルールスクリプトに記述します。業務ルールに適した処理としては，データ項目の値や形式の妥当性をチェックする処理，形式を変換する処理，編集処理，複数のデータ項目で成り立つ計算処理などが挙げられます。

業務ルール辞書

アプリケーション開発で共有する業務ルールを格納する辞書です。

グループ

複数のユーザ（SEWB+/REPOSITORYの利用者）をまとめる単位です。ユーザが所属するグループは，システム管理者によってグループ登録ファイルに登録されます。辞書およびオブジェクトに対するアクセス権は，グループ単位で設定することもできます。

継承

データ項目間で共通の性質を持つデータ項目（上位データ項目）から，その定義情報を複数のデータ項目（下位データ項目）に引き継ぐことです。継承によって，データ項目を階層化できます。上位データ項目の定義情報を変更すれば，継承関係にある下位データ項目の定義情報も同時に変更されます。

結合項目

複数のデータ項目が連結して定義されるデータ項目です。COBOLの集団項目，C言語の構造体の考え方に相当します。リポジトリブラウザの結合項目ブラウザ機能を使用すると，データ項目を結合関係に基づいてブラウジングしたり編集したりできます。

構成項目

結合項目の構成要素となるデータ項目です。

サ行

辞書

リポジトリで管理されるデータ項目辞書および業務ルール辞書の総称です。一つのリポジトリ上に，管理内容や用途に応じて複数の辞書を作成できます。

辞書フォルダ

リポジトリで辞書を管理する最上位の単位です。辞書フォルダは，データ項目辞書および業務ルール辞書を管理します。

システム管理者

Windows ServerのAdministrators権限を持ち，SEWB+/REPOSITORYを利用したシステム開発環境を管理する人です。ユーザ登録ファイルに，ユーザ名［system］で登録されているユーザを指します。

タ行

データ項目

ファイル設計，レコード設計，リレーショナルデータベース設計などのシステム設計およびプログラム設計と作成で使用する情報の基本単位のことです。

データ項目辞書

プロジェクト間で共有するデータ項目を格納する辞書です。データ中心アプローチに基づいてデータ分析し，標準化したデータ項目を蓄積します。SEWB＋ツールを使ったシステム開発で作成するドキュメント間で共通に利用することを目的とします。

データ中心アプローチ

データを企業全体の重要な財産であると考え，共有資源として扱うシステム開発の方法論です。企業情報システムの基盤整備のために必要な方法論といえます。データ中心アプローチを採用したシステム開発では，先にデータを共有資源として分析して標準化したあと，システムやプログラムを設計，開発します。

データ定義

SEWB+/CONSTRUCTIONでのAP作成に使用するファイルやDBを設計します。ファイルやDBの設計には，辞書のレコード定義（最上位結合項目）やSEWB+/RECORD DEFINERで作成したレコード定義を利用します。

適用条件

アプリケーションに業務ルールを適用する条件をいいます。適用条件は，業務ルールに使用するデータ項目ごとに指定します。一般に，業務ルールの処理の入力となるデータ項目には「入力」を，業務ルールの処理結果を出力するデータ項目には「出力」を指定します。どちらにも役割を限定しない場合や，役割を明確にしたくない場合には，指定しなくてもかまいません。

SEWB+/CONSTRUCTIONのプログラム定義では，プログラムで使用するデータ項目を基にして，その処理に使用できる業務ルールの候補が表示されます。あらかじめ，SEWB+/CONSTRUCTIONのテンプレート上に抽出条件を指定しておくことで，表示される業務ルールの候補を絞り込めます。プログラマは，データ項目の役割に適合した業務ルールから，目的の業務ルールを容易に選択できます。

テンプレート

SEWB+/CONSTRUCTIONが提供する機能の一つです。テンプレートとは，ソースプログラムの生成時にアプリケーションの枠組みとなる処理構成を記述したものです。テンプレートは，テンプレート記述言語とアプリケーション開発に使用するプログラミング言語で記述します。

同一項目用業務ルール

同じデータ項目間の処理を記述するための業務ルールです。主に，転記処理の記述に使用します。この同一項目用業務ルールは，リポジトリ内のすべてのデータ項目に適用できます。同一項目用業務ルールでは，データ項目との関連は付けません。しかし，業務ルールを利用するSEWB+/CONSTRUCTIONからは，アプリケーションに使用するデータ項目と同一項目用業務ルールの間に関連が付けられていると見なされ，通常の業務ルールと同様に扱えます。同一項目用業務ルールの作成時には，この仮想的な関連を，リポジトリ内の結合項目を含めたすべてのデータ項目に対して付けるのか，またはリポジトリ内の結合項目ではないデータ項目（単項目）だけに付けるのかを選択できます。

ドキュメント

リポジトリで管理されるシステム分析・設計情報およびプログラム開発情報を保管するファイルです。ドキュメントの例としては，SEWB+ツールで作成したシステム分析図やデータ定義情報，ソースプログラム，またはMicrosoft WordやMicrosoft Excelなどで作成した企画文書，設計文書類があります。

ドメイン

データ中心アプローチの用語で，共通の意味と属性を持つデータ要素の集合を指します。SEWB+/REPOSITORYの辞書の仕組みを効果的にシステム開発に利用するには，ドメインを分析することが重要な作業になります。業務に使用するデータ項目を調査し，その中から共通のデータの値域（タイプ，意味，けた数，構成や範囲など）を持つデータをグルーピングします。データ項目辞書には，この共通のデータの値域を定義したデータ項目を，継承関係の上位に位置づけます。

マ行

命名ルール

データ項目の名称（データ項目名，標準名称，フリガナおよび言語別の名前）および業務ルールの名称（業務ルール名，標準名称およびフリガナ）の規則をいいます。プロジェクトの名称基準を命名ルールに定義して，検査機能でチェックできます。

ヤ行

ユーザ

SEWB+/REPOSITORYを使い，リポジトリのシステム開発資源を操作できる人です。システム管理者によってユーザ登録ファイルに登録されます。それぞれのユーザは，固有に与えられたユーザIDとパスワードを持ちます。

ラ行

リポジトリ

システム開発の各工程で発生する情報のデータベースです。このシステム開発資源（ドキュメントと辞書）と，その資源間の関連をサーバで統合管理します。リポジトリによって，Windowsクライアントで動作するSEWB+ツールやそのほかのアプリケーション間で，システム開発資源を共有したり連携したりできます。

リポジトリブラウザ

リポジトリのシステム開発資源を，クライアントでビジュアルに操作できる機能です。リポジトリに格納されたシステム開発資源がツリー形式で表示されます。リポジトリブラウザでは，リポジトリへ辞書やドキュメントを登録したり，目的の資源を検索したり，資源間の関連を手がかりにブラウジングしたりできます。

ルールスクリプト

業務ルールの処理を，プログラミング言語を使ってコーディングしたものです。この内容は，SEWB+/CONSTRUCTIONのプログラム生成でソースプログラムに展開されます。汎用的に使える業務ルールを作成するために，ルールスクリプトには独自の文法が用意されています。ソースプログラムへの展開位置を指定する@@section文や，データ項目の定義情報を取り出す@typeなどの予約キーワードが用意されています。

レコード生成キーワード

データ項目の定義情報を，どのようにソースコードとして生成するかを指定するものです。言語別のタイプごとに指定します。レコード生成キーワードの内容は，プログラミング言語で規定されたデータの定義と，データ項目の定義情報を置換するための可変記号で記述されます。辞書に定義したレコード構造はSEWB+/CONSTRUCTIONのデータ定義で参照され，さらに，プログラム生成またはレコード生成機能でレコード生成キーワードに従ってソースプログラム中に展開されます。

レコード定義

レコードの構造を定義した最上位結合項目またはレコード定義ファイルのことです。レコード定義は，SEWB+/RECORD DEFINERを利用すれば，効率良く登録できます。レコード定義は，次のアプリケーション開発の場面で利用されます。

SEWB+/CONSTRUCTIONでのデータ定義

EURでのレポート設計

索引

[記号]
[Ｃ][Ｅ][Ｏ][Ｒ][Ｓ]
[ア行][カ行][サ行][タ行][ナ行][ハ行][マ行][ヤ行][ラ行]

(記号)

@@merge文

@@rule

@@rule文

@@rule文で抽出される業務ルール

@@section

@len

@modify

@occurs

@occurs_dimension

@occurs1～@occurs9

@type

(英字)

(Ｃ)

CSV形式の記述規則

CSV形式ファイル

CSV形式ファイル〔用語解説〕

CSV形式ファイル出力コマンド

CSV形式ファイル入力コマンド

CSV形式ファイルの出力 ,[2]

CSV形式ファイルの入力 ,[2]

CSV形式ファイルフォーマット

CSV出力 ,[2] ,[3]

CSV入力 ,[2] ,[3]

(Ｅ)

ERwin/ERX ,[2]

EUR

EUR〔用語解説〕

(Ｏ)

ODBC入力コマンド ,[2]

(Ｒ)

RPCsvin

RPCsvout

RPOdbcin

RPTrans

(Ｓ)

SEWB+/CONSTRUCTION

SEWB+/CONSTRUCTION〔用語解説〕

SEWB+/RECORD DEFINER〔用語解説〕

SEWB+/REPORT MANAGER ,[2]

SEWB+/REPORT MANAGER〔用語解説〕

SEWB+/STANDARD-SUBROUTINE

SEWB+ 基本開発環境〔用語解説〕

SEWB+ 基本開発環境セット〔用語解説〕

SEWB+ツール〔用語解説〕

SEWB3辞書移行コマンド ,[2]

SEWB3 データ項目辞書の移行

(ア行)

(あ)

アクセス権〔用語解説〕

アクセス権の設定

(い)

一意性チェック範囲を設定する

インポート ,[2]

インポート〔用語解説〕

インポート運用 ,[2]

(う)

上書きインポート

(え)

英数字文字列データ

エクスポート ,[2]

エクスポート〔用語解説〕

エクスポート・インポートの利用

エクスポート・インポートユティリティ ,[2]

エクスポート運用 ,[2]

エラーIDからのメッセージ取得関数

エラーID領域の解放関数

エンティティレポート

(カ行)

(か)

カナ文字以外の使用

仮システム内部ID

環境構築情報のエクスポート

環境構築ユティリティ ,[2]

環境設定 ,[2]

関連

関連〔用語解説〕

(き)

キーワード ,[2]

キーワード〔用語解説〕

業務ルール ,[2]

業務ルール〔用語解説〕

業務ルール辞書 ,[2] ,[3]

業務ルール辞書〔用語解説〕

業務ルール辞書の標準フォーマット

業務ルールに設定するアクセス権

業務ルールに適用するデータ項目

業務ルールのエクスポート

業務ルールの検査関数

業務ルールの検査項目

業務ルールの設計

業務ルールの定義項目

業務ルール名

業務ルール名の一意性チェック

共用する

(く)

グループ〔用語解説〕

(け)

継承 ,[2] ,[3]

継承〔用語解説〕

継承関係

継承モード ,[2]

けた数

けた数とタイプの整合性チェック

結合 ,[2]

結合関係

結合関係の継承

結合項目 ,[2]

結合項目〔用語解説〕

結合項目の定義項目

言語区分を設定

言語別フィールド

検査

検査DLL ,[2]

検査DLLの作成

検査DLLの登録

検査項目 ,[2] ,[3]

検査項目インタフェース

検査項目を定義

検査状態

(こ)

構成項目 ,[2]

構成項目〔用語解説〕

構成項目の名前の重複チェック

国語区分を設定

コメント ,[2] ,[3]

(サ行)

(さ)

最上位結合項目 ,[2] ,[3]

最大長（バイト数）

(し)

時刻データ

辞書〔用語解説〕

辞書情報のセキュリティ

辞書登録

辞書登録の確認

辞書と関連情報のインポート規則

辞書のインポート

辞書のエクスポート

辞書の環境設定

辞書の基本構成

辞書の準備 ,[2]

辞書の配布，複製

辞書フォルダ ,[2]

辞書フォルダ〔用語解説〕

辞書フォルダに設定するアクセス権

辞書フォルダの定義項目

辞書フォルダ名

辞書フォルダを作成

システム開発の概要

システム管理者〔用語解説〕

システム内部ID ,[2]

実数データ

条件DLL ,[2]

条件DLLの作成

条件DLLの登録

条件情報取得関数

小数部けた数

初期値

初期値の記述チェック

(せ)

整数データ

正整数データ

制約条件

全体エクスポート

専用にする

(そ)

挿入インポート

増分エクスポート

属性レポート

(タ行)

(た)

タイプ

タイプ修飾情報

タイプに対応するけた数（COBOL又はOOCOBOL）

タイプに対応するけた数（C又はC++）

タイプに対応するけた数（Java）

タイプに対応するけた数（SQL）

タイプに対応するけた数（帳票定義）

タイプの組み合わせチェック

タイプの組み合わせを変更

タイプのけた数の範囲を変更

タイプマッピング

(ち)

値域

チェック関数

チェック処理を記述する場合には

(て)

データ項目 ,[2]

データ項目〔用語解説〕

データ項目から別のデータ項目の値を導き出す処理

データ項目辞書

データ項目辞書〔用語解説〕

データ項目辞書の標準フォーマット

データ項目種別

データ項目特有の処理とは

データ項目に設定するアクセス権

データ項目の値の妥当性をチェックする処理

データ項目の継承 ,[2]

データ項目の継承モードの設定

データ項目の結合 ,[2]

データ項目の検査関数

データ項目の設計

データ項目の定義項目

データ項目への定義情報の継承

データ項目名

データ項目名の一意性チェック

データ中心アプローチ ,[2]

データ中心アプローチ〔用語解説〕

データ中心アプローチの基盤となる辞書

データ定義 ,[2]

データ定義〔用語解説〕

データ分析

テーブルレポート

適用条件 ,[2] ,[3]

適用条件〔用語解説〕

テンプレート ,[2]

テンプレート〔用語解説〕

(と)

同一項目用業務ルール ,[2] ,[3] ,[4]

同一項目用業務ルール〔用語解説〕

ドキュメント〔用語解説〕

ドメイン ,[2] ,[3] ,[4]

ドメイン〔用語解説〕

ドメインの分析

取りうる値

(ナ行)

(な)

名前

(に)

日本語文字列データ

(ハ行)

(は)

排他制御

配布

反復回数

(ひ)

日付データ

標準データ項目辞書

標準フォーマット

標準名称 ,[2]

(ふ)

フィールド ,[2]

フィールドの属性を設定

フィールドの名称を設定

複製

フリー定義

フリガナ ,[2]

プリフィックス

分類

分類区分

分類区分とタイプの対応（COBOL又はOOCOBOL）

分類区分とタイプの対応（C又はC++）

分類区分とタイプの対応（Java）

分類区分とタイプの対応（SQL）

分類区分とタイプの対応（帳票定義）

分類区分とタイプの対応のカスタマイズ例

分類区分とタイプの対応を変更

分類なし

(へ)

ヘッダ ,[2]

編集文字列

編集文字列の記述チェック

(マ行)

(ま)

マルチ辞書 ,[2]

(め)

名称基準

名称と命名ルールのマッチングチェック ,[2]

名称の標準化

命名ルール

命名ルール〔用語解説〕

命名ルールインタフェース

命名ルールの条件

命名ルールを定義

(も)

文字数の上限（フィールド長）の設定

(ヤ行)

(ゆ)

ユーザ〔用語解説〕

ユーザ定義のタイプを追加

(よ)

予約キーワード ,[2]

予約キーワードの留意事項

(ラ行)

(り)

リポジトリ

リポジトリ〔用語解説〕

リポジトリブラウザ〔用語解説〕

(る)

ルールスクリプト

ルールスクリプト〔用語解説〕

ルールスクリプトのキーワード使用チェック

ルールスクリプトの記述

(れ)

レコード構造の設計

レコード生成キーワード〔用語解説〕

レコード生成キーワードとは

レコード生成キーワードを編集

レコード定義 ,[2]

レコード定義〔用語解説〕

■ 商標類

ERwinは，Computer Associates International,Inc.の登録商標です。
Microsoftは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Microsoft Excelは，米国Microsoft Corporationの商品名称です。
Microsoft Office Excelは，米国 Microsoft Corporationの商品名称です。
Microsoft Office Wordは，米国 Microsoft Corporationの商品名称です。
Microsoft Wordは，米国 Microsoft Corporationの商品名称です。
ODBCは，米国Microsoft Corporationが提唱するデータベースアクセス機構です。
OracleとJavaは，Oracle Corporation 及びその子会社，関連会社の米国及びその他の国における登録商標です。
UNIFYは，米国Unify Corp.の登録商標です。
UNIFY2000は，米国Unify Corp.の商品名称です。
UNIXは，The Open Groupの米国ならびに他の国における登録商標です。
Windowsは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Windows Serverは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Windows Vistaは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Xupperは，ケン・システムコンサルティング(株)の商標です。
その他記載の会社名，製品名は，それぞれの会社の商標もしくは登録商標です。