AS/400 - マジックソフトウェア・ジャパン株式会社

06897+-,, MY?>E
目 次
第1章
はじめに.................................................................................................................................................. 4
Magic/400とは? ................................................................................................................................................. 4
このガイドの対象者............................................................................................................................................. 5
概要 ...................................................................................................................................................................... 5
表記上の注意事項 ................................................................................................................................................ 5
第2章
製品アーキテクチャ................................................................................................................................ 7
メッセージサーバの構成 ..................................................................................................................................... 8
サーバ構成例 .................................................................................................................................................... 8
第3章
Magic/400クライアント ....................................................................................................................... 10
通信環境............................................................................................................................................................. 10
インストール前のチェック................................................................................................................................ 11
dbMAGICのバージョン ................................................................................................................................. 11
AS/400オペレーティング・システム必要条件 .............................................................................................. 11
ワークステーション必要条件......................................................................................................................... 12
通信構成 ......................................................................................................................................................... 12
インストールの概要........................................................................................................................................... 13
TCP/IPを利用する場合のインストール手順..................................................................................................... 13
dbMAGICエンタープライズ開発/クライアント実行のインストール......................................................... 13
TCP/IPのインストール .................................................................................................................................. 14
Magic/400クライアントのインストール........................................................................................................ 14
ホストライブラリ(Host DBA)のインストール ......................................................................................... 16
AS/400ライセンス登録................................................................................................................................... 18
NS/Routerを利用する場合のインストール手順 ............................................................................................... 19
dbMAGICエンタープライズ・サーバ開発/クライアント実行のインストール .......................................... 19
NS/Routerのインストール............................................................................................................................. 19
Magic/400クライアントインストール ........................................................................................................... 20
ホストライブラリ(Host DBA)のインストール ......................................................................................... 21
AS/400ライセンス登録................................................................................................................................... 22
Magic/400ゲートウェイの設定 ......................................................................................................................... 23
[設定/DBMS]パラメータの設定................................................................................................................... 23
[設定/データベース]の設定 .......................................................................................................................... 25
テーブルリポジトリの設定................................................................................................................................ 27
AS/400ファイルシステム ...............................................................................................................................27
AS/400ファイルの名前の割当........................................................................................................................ 27
ファイルオープンの考察 ................................................................................................................................ 28
定義取得 ......................................................................................................................................................... 29
カラム名の設定............................................................................................................................................... 30
テーブル特性キーワード ................................................................................................................................ 30
OPNQRYFの利用 ― Q u e ry ファイル・オープン− ..................................................................................... 32
Queryファイル・オープンのフォーム........................................................................................................... 32
セレクトコマンドでのOPNQRYF ................................................................................................................. 33
dbMAGICのトランザクションとAS/400ファイル ........................................................................................... 34
Magic/400固有のUDF/ユーザPRCインタフェース .......................................................................................... 34
AS/400プログラムのコール ........................................................................................................................... 34
AS/400コマンド(CL)の起動 .................................................................................................................... 35
AS/400プログラムコールとコマンドコールの利用方法................................................................................ 35
Magic/400サーバの起動 ................................................................................................................................. 36
-1-
Magic/400 開発ガイド
dbMAGIC Ver8
例外処理とエラーハンドリング ..................................................................................................................... 36
EBCDICコードによる文字コードの比較 ...................................................................................................... 37
Magic/400サーバ .................................................................................................................................. 38
第4章
サーバ・プログラムのインストール ................................................................................................................. 38
Magic/400サーバのライセンス登録............................................................................................................... 40
サーバ構成 ......................................................................................................................................................... 41
MAGICコンフィグレーション・ユーティリティの使用方法........................................................................ 42
複数のユーザ環境の構成手順......................................................................................................................... 47
MAGICサブシステム構成の変更 ................................................................................................................... 48
アプリケーションパーティショニングとインターネット設定 ...................................................................... 49
DataQueueメッセージサーバ .............................................................................................................. 50
第5章
Magic/400サーバの設定 .................................................................................................................................... 50
MGREQ.INIファイルの設定 ......................................................................................................................... 50
MAGIC.INIファイルの設定........................................................................................................................... 50
dbMAGICクライアントの設定.......................................................................................................................... 51
MGREQ.INIファイルの設定 ......................................................................................................................... 51
サーバテーブルの設定.................................................................................................................................... 51
サービスの設定............................................................................................................................................... 52
制限事項............................................................................................................................................................. 53
第6章
アプリケーションパーティショニング................................................................................................................ 54
アプリケーションパーティショニングの種類................................................................................................... 54
同期と非同期 .................................................................................................................................................. 54
Magic/400サーバのアプリケーションパーティショニング........................................................................... 54
ネイティブAS/400プログラムのパーティショニング ................................................................................... 54
Magic/400サーバの設定 .................................................................................................................................... 55
システム全体の設定 ....................................................................................................................................... 55
アプリケーション固有の設定......................................................................................................................... 55
Magic/400サーバの起動 ................................................................................................................................. 56
Magic/400サーバの終了 ................................................................................................................................. 56
サーバの印刷機能 .............................................................................................................................................. 57
メンテナンスヒント........................................................................................................................................... 57
第7章
インターネット..................................................................................................................................... 59
ファイルシステム .............................................................................................................................................. 59
HTTPサーバのセットアップ............................................................................................................................. 59
MAGIC CGIリクエスタのセットアップ........................................................................................................... 60
Magic/400サーバのセットアップ...................................................................................................................... 61
システム全体の設定 ....................................................................................................................................... 61
アプリケーション固有の設定......................................................................................................................... 62
WWWブラウザからの起動............................................................................................................................. 63
第8章
高水準言語インタフェース(H L L ) .................................................................................................. 64
OPMインタフェース・プログラムのインストール .......................................................................................... 64
MAGIC ILE API ............................................................................................................................................... 64
MAGIC OPM API ............................................................................................................................................. 65
リクエストパラメータ.................................................................................................................................... 65
オプションパラメータ.................................................................................................................................... 65
第9章
DBCS.................................................................................................................................................... 67
DBCSの種類 ...................................................................................................................................................... 67
文字型書式の「位置指示記号」の追加機能 ...................................................................................................... 68
第10章
-2-
補足.................................................................................................................................................... 69
Magic/400 開発ガイド
dbMAGIC Ver8
開発時の留意点.................................................................................................................................................. 69
データ記憶形式とAS/400データタイプの対照表 .............................................................................................. 69
文字型記憶型式の説明.................................................................................................................................... 70
数値型記憶型式の説明.................................................................................................................................... 70
論理型記憶型式の説明.................................................................................................................................... 72
日付型記憶型式の説明.................................................................................................................................... 73
時刻型記憶型式の説明.................................................................................................................................... 73
メモ型記憶型式の説明.................................................................................................................................... 74
定義取得............................................................................................................................................................. 74
各種限界値 ......................................................................................................................................................... 75
z 本マニュアルの一部または全部を、無断で転載することは固くお断りします。
z 本マニュアルの内容は、将来予告なしに変更することがあります。
z 運用した結果の影響につきましては、責任を負いかねますのでご了承ください。
AS/400™、DB2/400™、およびMQ/Series™ は IBM 社の登録商標です。
SNAServer™、およびWindows95™、Windows98™、WindowsNT™ は マイクロソフト社の登録商標です。
NS/Router™、およびNS/TransferはNetsoft社の登録商標です。
EASYCOM™はAURA Equipments社の登録商標です。
dbMAGIC ™はマジックソフトウエア・ジャパン株式会社の商標です。
一般に会社名、製品名は、会社の商標または登録商標です。
初版
1999年5月
第二版
1999年7月
マジックソフトウェア・ジャパン株式会社
マジックソフトウェア・ジャパン株式会社
-3-
Magic/400 開発ガイド
dbMAGIC Ver8
第1章
はじめに
dbMAGIC Version 8は、シングル、およびマルチプラットフォームでのビジネス・アプリケーション開発者
のために設計されました。インターネット・ブラウザ、WWWサーバ、アプリケーション・サーバ、多言
語対応とデータベースに対してオープンで拡張性のあるサポートを提供します。
dbMAGICを理解するには、次に挙げるマニュアルを参照してください。
z
リファレンス
Version 8の全機能を記述したマニュアル。
z
新機能ガイド
Version 8の新機能を記述したマニュアル。
z
チュートリアル
Version 8のアプリケーションを実際に開発するステップを通して学習を行う手引書。
z
開発者ガイド
z
インストールガイド
dbMAGICインストールとライセンス方法を記述したマニュアル
z
開発者ガイド・分散開発編
エンタープライズ環境にあったシステム構築を志向し、Version 8のクライアント/サーバ、および
アプリケーションパーティショニング機能の習得をめざす開発者のためのガイド
z
SQLガイド
インストールおよび起動方法と、記憶タイプ等についての詳細を記述したガイド。
z
開発者ガイド・インターネット編
dbMAGICでインターネット対応アプリケーションを開発する手法が記された手引書
Magic/400 とは?
dbMAGICはWindows環境だけでもアプリケーション開発が可能ですが、多くのWindows以外のOS環境でも、
Version 8アプリケーションを提供することが可能です。実際に、同じアプリケーションが、アプリケーショ
ンパーティショニングによって、別の部分を異なるプラットホームで同時に動かすことができます。
アプリケーションパーティショニングでは、一つはワークステーション、すなわちクライアントで、もう
一つはサーバで実行することができます。
サーバへのインタフェースは、リクエストです。サーバは通常、リクエストを待機して、それを受け取っ
て実行し、結果を返します。
Magic/400は、dbMAGICのアプリケーションをAS/400の環境に提供するソフトウェアです。
Magic/400では、ワークステーションからAS/400サーバにリクエストを送り、結果を返す特別なゲートウェ
イを提供します。
ワークステーションのゲートウェイでは、次のような処理を行います。
-4-
z
AS/400サーバのデータベース(DB2/400)へのアクセス
z
AS/400サーバのコマンドの実行
z
AS/400サーバでdbMAGICプログラム、またはアプリケーションをコール
Magic/400 開発ガイド
dbMAGIC Ver8
このガイドの対象者
Magic/400開発ガイドは、次のような開発者を対象に、Magic/400ソフトウェアをインストール、および利
用方法を説明します。
z
リモート・プログラム・コールやアプリケーションパーティショニングを使って、データベースアク
セスをしたいdbMAGICの開発者。
z
AS/400サーバへdbMAGICアプリケーション環境を構築したいシステム管理者。
z
AS/400をベースにしたインターネットアプリケーションのために、AS/400インターネット・サーバと
dbMAGICエンタープライズ・サーバを構成する必要があるWWW管理者。
すなわち、Magic/400ユーザが開発ツールとしてのdbMAGICと、AS/400オペレーティング・システムに対
する知識を前提とします。
dbMAGICの開発ガイド、開発者ガイド・分散開発編、開発者ガイド・インターネット編の各マニュアルに
加えて、次に挙げたIBMが提供のマニュアルは、AS/400サーバ環境でのアプリケーションの知識を補足す
ることができます。
z
AS/400 実行管理の手引
【SC41-4306-01】
z
DB2/400データベース概要
【SC41-3700-00】
z
TCP/IP 構成および解説書
【SC41-3420-04】
z
TCP/IP 簡易セットアップ
【SC41-3430-01】
概要
第2章では、Magic/400の全体の構成を説明します。
第3章では、Magic/400ゲートウェイのワークステーションでのインストール方法、および利用方法を説明
します。
第4章では、Magic/400のAS/400サーバでのインストール方法、および設定方法を説明します。
第5章では、AS/400上で実行されるMAGICメッセージサーバ、すなわちMagic/400サーバを制御するミド
ルウェアであるDataQueメッセージサーバについて説明します。
第6章では、アプリケーションパーティショニングの一般的なプロセスと、 Magic/400サーバでのプロセ
スについて説明します。
第7章では、インターネットからのリクエストに対して、Magic/400サーバを利用するための方法とイン
ターネット機能について説明します。
第8章では、Magic/400の高水準言語であるHLLインタフェースについて説明します。
第9章では、日本語環境のDBCSについて説明します。
第10章では、dbMAGICで定義されたデータの型とAS/400のデータタイプの対応等を説明します。
表記上の注意事項
-5-
Magic/400 開発ガイド
dbMAGIC Ver8
このマニュアルでは、
「ファイル」と「テーブル」
、
「キー」と「インデックス」は同じ語として使用して
います。これは、dbMAGIC本体とドキュメントでは、SQL用語である「テーブル」と「インデックス」
を使用していますが、AS/400ゲートウェイはISAMのゲートウェイである関係上、AS/400製品とドキュメ
ントに名称を合わせているためです。
-6-
Magic/400 開発ガイド
dbMAGIC Ver8
第2章
製品アーキテクチャ
dbMAGICネットワークは、MAGICメッセージサーバによって定義されます。
各MAGICエンジンは、メッセージサーバのスタートアップ時に登録され、定義したアプリケーションが実
行されます。
各クライアントは、リクエストをMAGICメッセージサーバに送り、メッセージサーバが利用できるMAGIC
エンジンにリクエストを振り分けます。MAGICエンジンはリクエストを処理して結果を返します。
図 2-1
構成要素
説 明
dbMAGICクライアント
dbMAGICエンタープライズ開発、又はクライアント実行
DB2/400ゲートウェイ
Windowsプラットホームで動いているdbMAGICエンジンに、次の機能を提供。
z DB2/400データベース・ゲートウェイ
z ネイティブAS/400コマンド実行
z ネイティブAS/400プログラムへのリモート・プログラム・コール。
z AS/400ライセンス・サーバ
MAGICサーバ
スタンドアロンのバッチ・ジョブとして、またはアプリケーションパーティショニ
ングサーバとしてdbMAGICアプリケーションを実行することができるネイティブ
Magic/400エンジン
dbMAGIC イ ン タ ー ネ ッ
ト・リクエスタ
MAGICメッセージサーバを通して、MAGICサーバにインターネット・リクエスト
のルートを決めるAS/400 HTTPサーバへのCGIインタフェース
MAGICメッセージサーバ
サーバとリクエストを管理するためのミドルウェア・テクノロジー。
アプリケーションパーティショニングとインターネット・リクエストを透過的に
サーバーへ振り分けを行う。主なものは次の通り。
z MRB :Windowsプラットホーム上で利用できるMAGICリクエスト・ブローカ。
-7-
Magic/400 開発ガイド
dbMAGIC Ver8
z MQ/Series :WindowsとUNIXプラットホームで利用可能(IBM製品)
z Data Queue:AS/400プラットホームのみで利用可能
dbMAGICエンタープライ
ズ・サーバ
インターネット/イントラネットのアプリケーション・サーバ。
ユーザ・プログラム・イ
ンタフェース(HLLプロ
グラム)
HLL、RPG、C、COBOL、CL、JavaのようなHLLとして知られる高水準言語で書か
れたプログラムのインタフェース。これにより、5250-ベースまたはバッチ・アプリ
ケーションを含むレガシー・アプリケーションとdbMAGICアプリケーションが、
MAGICメッセージサーバを介して統合することが可能。
インターネットでのリクエストに対して、HTMLとJavaフォームのサポート、ある
いは、MAGICサーバ・アプリケーションで外部のHTMLページとのマージ機能のサ
ポート、さらにdbMAGICと他のオーサリング・ツールでの構築も可能。
メッセージサーバの構成
さまざまなクライアントがMAGICメッセージサーバにリクエストすることができます。
これらのクライアントは、dbMAGICクライアントか、別のMAGICサーバ、インターネット・ブラウザ、
ネットワーク・コンピュータ、HLLプログラムなど、多くのプラットホームで可能です。
dbMAGICエンタープライズ・サーバは、インターネット・リクエスタのサーバとしてもインストールされ
ます。
更に、dbMAGICインターネット・リクエスタを利用するときは、HTTPサーバがインストールされ、MAGIC
メッセージサーバにインターネット・リクエストが接続されるように構築する必要があります。
下に挙げたのプログラムは、それぞれ別のハードウェアで実行することができます
z
dbMAGICインターネット・リクエスタとHTTPサーバ。
z
MAGICメッセージサーバ。詳細は「メッセージサーバ」を参照のこと。
z
MAGICサーバ。MAGICサーバは、HTTPサーバに利用できるファイルシステムにアクセスできる必要
があります。従って、HTTPサーバと同じマシンにMAGICサーバを置くことを推奨します。
z
dbMAGICクライアント、インターネット・ブラウザ、HLLの各クライアント。
サーバ構成例
AS/400サーバのみの構成
サーバのみの構成
この構成は、次のソフトウェア構成要素をAS/400サーバで構築します。
z
Internet Connection Server OS/400 V3R7以降 または、Internet Connection Secure Server OS/400 V4R1
以上
z
dbMAGIC CGI リクエスタ
z
dbMAGICエンタープライズ・サーバ
z
Data Queueメッセージサーバ
AS/400サーバと
サーバとWinodwsNTメッセージングサーバの構成
メッセージングサーバの構成
サーバと
この構成は、次のソフトウェア構成要素をAS/400サーバで構築します。
Windows NTサーバは、次のソフトウェアを実行します。
z
-8-
メッセージサーバとしてのMAGICリクエスト・ブローカ
Magic/400 開発ガイド
dbMAGIC Ver8
AS/400サーバは、次のソフトウェアを実行します。
z
Internet Connection Server OS/400 V3R7以降 または、Internet Connection Secure Server OS/400 V4R1
以上
z
dbMAGIC CGI リクエスタ
z
dbMAGICエンタープライズ・サーバ
AS/400アプリケーション
NTインターネット
アプリケーション・サーバと
インターネット・サーバの構成
アプリケーション・サーバとWindows
・サーバと
インターネット・サーバの構成
OS/400 V4R2では、Integrated PC Server(IPCS)で、NTサーバを選択することも可能です。
Windows NTサーバは、次のソフトウェアを実行します。
z
マイクロソフト・インターネット・サーバ、あるいはNetscapeインターネット・サーバ
z
dbMAGIC CGI、ISAPI、NSAPIリクエスタ
AS/400サーバは、次のソフトウェアを実行します。
z
dbMAGICエンタープライズ・サーバ
z
メッセージサーバとしてのdbMAGIC Data Queue
この場合、MAGICサーバがHTTPサーバにファイルを作成するのを可能にするために、NTファイルシステ
ムは、AS/400 IFSにマウントされなければなりません。
これは、ネットワーク・ファイル・システム(NFS)を利用することで可能です。
-9-
Magic/400 開発ガイド
dbMAGIC Ver8
第3章
Magic/400 クライアント
Magic/400は、OS/400®の機能とDB2/400™データファイルに対して、APPCまたは、TCP/IPコミュニケーショ
ン・アクセスによって可能になった、統合化ソフトウェア・パッケージです。
FATクライアント・モデルに従って、dbMAGICのプログラムがWindowsワークステーションで完全に実行
されます。
インストールは、最初にMagic/400がワークステーションでロードされてから、AS/400特有のSAVE/
RESTOREメディアを使用せずに、ワークステーションからAS/400サーバにアップロードします。
Magic/400は、OS/400V3R1以上を必要とします。また、NetSoft社 32bit NS/Routerがバンドルされています。
Magic/400は、EASYCOM™テクノロジーを採用しています。
通信環境
Magic/400クライアントは、AS/400のデータベースファイルへのアクセスをサポートします。
PCとAS/400上にロードされたEASYCOMがMagic/400のクライアントとAS/400間で通信サポートを行って
います。
MAGICアプリケーションはクライアント上で動作し、Magic/400ゲートウェイ(MGEAC32.DLL)を通じて
EASYCOMクライアント/サーバエンジンに接続し、AS/400のデータベースにアクセスします。
SNA(APPC) 、TCP/IP(Anynet :APPC over TCP/IP)、または TCP/IP(ネイティブ)により接続することができ
ます。
従っ て、 TCP/IP、 も しく はAPPC API(Advanced Program to Program Communication Applocation Program
Interface)がインストールされていることが必要です。
クライアント
dbMAGIC
クライアント
Magic/400
Magic/400
DB2/400
AS/400
ゲートウェイ
EASYCOM Client
Magic/400
EASYCOM Server
(HOST DBA)
Token-Ring,
Ethernet etc.
NS/Router or TCP/IP
SNA/APPCルーター
or TCP/IP
図 3-1
-10-
Magic/400 開発ガイド
dbMAGIC Ver8
インストール前のチェック
Magic/400のインストール前に、次にあげるインストールに必須の全構成要素をチェックしてください。
z
dbMAGICメディアとドキュメンテーション・パッケージ
z
dbMAGICとMagic/400のライセンスコード
z
AS/400オペレーティング・システム
z
PCワークステーション・ハードウェア・コンフィギュレーション
z
コミュニケーション・セットアップ
dbMAGIC のバージョン
Magic/400クライアントをサポートするdbMAGIC開発版/実行版のバージョンは、Windows版dbMAGIC
バージョン8.2です。したがって、dbMAGICのライセンスも同時に必要です。
AS/400 オペレーティング・システム必要条件
オペレーティング・システム必要条件
サポートされるAS/400オペレーティング
オペレーティング・システム
サポートされる
オペレーティング・システム
z
V4R1Mx
z
V4R2Mx
z
V4R3Mx
V = Version, R = Release, M = Modification Level
通信アダプタ
AS/400とPCワークステーションは、同じ種類の通信アダプタを使用する必要があります。通信ハードウェ
ア、通信ソフトウェアのインストールは、Magic/400インストールの前に実行する必要があります。
サポートされる一般的な接続は、次の通りです
z
WSC Twinaxローカルまたはリモート
z
LAN アダプタ (Ethernet 、Token-Ring)
z
SDLC
ディスク容量条件
Magic/400は、AS/400のディスク20MBを機能ライブラリとして使用します。
ホスト・インストール・フェーズの間、AS/400プログラムは、PCからAS/400までアップロードされます。
従って、AS/400システムの「閾値(threshold)限界値」を越えるインストールはできません。
ディスク使用量と限界値の確認
1.
ディスク使用量を確認するために、AS/400ターミナルでWRKSYSSTS コマンドを使用します。
2.
閾値限界値の定義された値を確認するために、システムサービスツール(STRSST)を使用します。
一時的に、Magic/400インストールのために、この値を増加させることができますが、その場合インストール
終了後に限界値を元に戻すことを忘れないようにしてください。
詳細は、IBMが提供するマニュアル「基本バックアップおよび回復の手引【SC41-4304-01】
」を参照してく
ださい。
-11-
Magic/400 開発ガイド
dbMAGIC Ver8
セキュリティ権限
Magic/400のホストインストールは、AS/400のセキュリティー権限が必要な次の内容を実行します。
z
ライブラリの作成(CRTLIB)
z
AS/400オブジェクトのリストア(RSTOBJ)
z
Netsoft/APPCベースのインストール
♦ ネットワーク・ファイルの送信(SNDNETF)
♦ ネットワーク・ファイルの受信(RCVNETF)
z
TCP/IPのインストール
♦ サブシステム記述の作成、修正(CRTSBSD)
♦ サブシステムQSYSWRKを修正して、システムスタートアップでdbMAGICサブシステムを自動起
動させます。
Magic/400のホストインストールのために使用するユーザプロフィールは、全てこれらのコマンドを実行で
きる権限が必要です。NS/Router(SNA)のインストールの場合、AS/400のシステムネットワークディレクト
リ で 定 義 し て お く 必 要 が あ り ま す 。 シ ス テ ム デ ィ レ ク ト リ の ユ ー ザ 定 義 は 、 AS/400 で WRKDIR か
WRKDIRE コマンドで実行します。
Magic/400のインストールには、セキュリティーオファープロフィール(QSECOFR)を使用することをお勧
めいたします。
ワークステーション必要条件
z
Pentium 90MHz 以上推奨
z
RAM 32 MB以上推奨
z
HDDかネットワーク・ドライブの容量 29 MB以上
z
AS/400に接続可能なコミュニケーション・アダプター
z
サポートされているMagic/400オペレーティング・システム
♦ Windows 95/98
♦ Windows NT 4.0
z
ディスク容量必要条件
♦ Magic/400のサポートモジュール
5MB
♦ NS/Router、及びNS/Transfer
5∼9MB
♦ ホストインストールのためのテンポラリー
8MB
♦ Acrobat Reader(マニュアル表示・印刷)ツール
7MB
♦ dbMAGIC Ver.8.2 開発/実行システム
別途クライアント開発/実行のマニュアルを参照してください。
通信構成
Magic/400は、AS/400と通信するために、APPCまたはTCP/IPプロトコルを使います。
APPC APIは、NetSoft NS/Routerのような、IBM APPCと完全に互換性を持たなければなりません。
TCP/IPスタックは、Winsock 1.1と互換性を持つものでなければなりません。
それらのソフトは、PCとAS/400にそれぞれロードされますので、Magic/400を使用する前に、正しく構成さ
れたことをチェックする必要があります。
ユーザの物理リンク構成により、様々な接続オプションがあります。
-12-
Magic/400 開発ガイド
dbMAGIC Ver8
z
802. 2
z
TCP/IP
z
非同期
z
Microsoft SNA Server
z
SDLC
z
Twinax
Token-Ring/Ethernet
LAN環境でPCとAS/400を接続するならば、AS/400は802.2LLCまたは、ネイティブTCP/IPでのみ通
信可能です。
インストールの概要
通 信 プ ロ ト コル にTCP/IPを
を利用する場合
に
z
dbMAGICエンタープライズ開発/クライアント実行のインストール
z
TCP/IPのインストール
z
クライアントインストール
z
ホストライブラリ(Host DBA)のインストール
z
AS/400ライセンス登録
通 信 プ ロ ト コル に NS/Routerを
を利用する場合
z
dbMAGICエンタープライズ開発/クライアント実行のインストール
z
NS/Routerのインストール
z
クライアントインストール
z
ホストライブラリ(Host DBA)のインストール
z
AS/400ライセンス登録
TCP/IP を利用する場合のインストール手順
注意:
注意:
PCクライアントとAS/400をSNA APPC(Ns/Router)で接続するならば、TCP/IPについての記述を無視して
も構いません。
dbMAGIC エンタープライズ開発/クライアント実行のインストール
PC上には、アプリケーションを開発/実行するためのクライアントソフトとして、dbMAGICエンタープラ
イズ開発/クライアント実行が必要です。インストールの詳細は、製品に付属のインストールマニュアル
-13-
Magic/400 開発ガイド
dbMAGIC Ver8
をご覧ください。
TCP/IP のインストール
クライアントにTCP/IPのインストールを行っていない場合は、コントロールパネル/ネットワークより
TCP/IPのインストールを行ってください。また、AS/400マシンのIPアドレスを、クライアントのHOSTSファ
イル等に設定することも必要です。HOSTSは、Windows95/98ではC:¥windows¥HOSTS、WindowsNTでは
C:¥windows¥system32¥drivers¥etc¥HOSTS。
Magic/400 クライアントのインストール
Magic/400クライアントのインストールによって、dbMAGICエンタープライズ開発/クライアント実行に、
Magic/400ゲートウェイモジュールをインストールすることができます。方法は製品のCD-ROMより、
SETUP.EXEを実行して、順次ボタンで選択していきます。
Magic/400コンポーネントを選択します。
図 3-2
Magic/400クライアント(Gateway)を選択します。
-14-
Magic/400 開発ガイド
dbMAGIC Ver8
図 3-3
[次へ]をクリックした後、セットアップ済みのdbMAGICエンタープライズ開発/実行にインストールするか、
他のディレクトリにインストールするか指定します。他のディレクトリを指定した場合は,インストールする
ディレクトリを指定します。
図 3-4
[次へ]をクリックすると、確認ダイヤログの後、クライアントモジュールのインストールが実行されま
す。
-15-
Magic/400 開発ガイド
dbMAGIC Ver8
ホストライブラリ(
)のインストール
ホストライブラリ(Host DBA)のインストール
Magic/400モジュール(EASYCOM Server)をAS/400サーバにインストールします。セットアッププログラ
ムから「ホストライブラリ(PowerPC)」を選択します。
図 3-5
[次へ]をクリックします。
図 3-6
入力項目は以下の通り。
z
-16-
AS/400 Destination Library ... Magic/400 Host DBAをインストールするライブラリ名。ただし、ライブ
ラリがすでにAS/400に存在するならば、インストールは失敗します。
Magic/400 開発ガイド
dbMAGIC Ver8
z
Language、PC Client Code Pageは、デフォルトのままにします。
z
UserFTP (TCP/IP) …チェックします。
z
AS/400 System ... インストールするAS/400マシン名、またはIPアドレス
z
User ID /User Psssword ... AS/400に接続する時のユーザ名/パスワード
これらの項目をすべて入力した後、[Install]ボタンをクリックしてください。
インストールの間、進行状況を示すメッセージが表示され、インストールが終了すると、次のダイ
ヤログが表示されます。
図 3-7
Host DBAのインストールが完了すると、次のような構成がAS/400に存在します。
z
MAGICという名前の新しいサブシステム記述が、ホストライブラリにつくられます。
z
MAGICサブシステムが起動され、自動的にEASYCOMジョブ(Magic/400デーモン)を開始するよう設
定されます。
z
システム・スタートアップで、自動的にMAGICサブシステムを開始するよう設定されます。
ターミナルかターミナル・エミュレータでCFGTCPMGCコマンドを使えば、この設定を変更することもで
きます。ただし、デフォルトの動作をできる限り、変更しないことを推奨します。
図 3-8
-17-
Magic/400 開発ガイド
dbMAGIC Ver8
設定の変更方法
①
カレントライブラリを変更するため、CHGCURLIB MAGIC400(”MAGIC400”はインストールしたホ
ストライブラリ名)をタイプして、 実行 を押下してください。
②
MAGICのTCPを設定するために、CFGTCPMGCをタイプして、 F4 を押下してください。
③
必要に応じてフィールドに入力して、 実行 を押下してください。
システムは、新しい設定値で構成されます。AUTOSTART(*YES)のデフォルトが許可されていれば、次に
システムがIPLを実行するとき、MAGICサブシステムとデーモンが自動的に開始されます。
AS/400 ライセンス登録
Magic/400を使用するには、AS/400上でライセンス登録を行う必要があります。
Magic/400のライセンス登録を行うには、製品に添付されているユーザ登録シートに必要事項を記入して、
インフォメーションセンター宛にお送りください。後ほど、ユーザ登録コード
ユーザ登録コード(
ユーザ登録コード
(Activation key)
) を通知
いたします。
注意:
・ Magic/400のインストールライブラリに対する "CHANGE"権限を持つ必要があります。
・ Magic/400のライブラリオブジェクトを、他のジョブ/ユーザによってロックをかけないでくだ
さい。
・ WRKOBJLCKコマンドによりMagic/400のライブラリのロック状態をチェックすることがで
きます。
Magic/400をインストールした後に、以下のコマンドをタイプします。
AS/400ターミナルでのコマンド
ターミナルでのコマンド:
ターミナルでのコマンド:
①
CHGCURLIB [ Magic/400インストールライブラリ]
②
CHGJOB CCSID(*HEX)
③
EASYCLEF
実行
実行
F4
取得したライセンス発行内容を各フィールドに入力し、
実行
キーを押下します。
ライセンス登録が成功した場合、下記メッセージが表示されます。
「Activation key is correct. EASYCOM is operational.」
エラーメッセージの場合には、詳細レベルでのジョブログのメッセージをチェックしてください。
-18-
Magic/400 開発ガイド
dbMAGIC Ver8
図 3-9
注意:
EASYCOMは、英字小文字を使用しています。従って、ログ情報、エラー情報等をAS/400ターミナ
ルで表示すると、一部の文字が化けて表示されることがあります。その場合は、AS/400ターミナ
ルの画面を切り替えて(通常は CTRL
+ F3 )で確認してください。
NS/Router を利用する場合のインストール手順
注意:
注意:
PCクライアントとAS/400をTCP/IP(ネイティブ)で通信するならば、NS/Routerについての記述を無視して
も構いません。
dbMAGIC エンタープライズ・サーバ開発/クライアント実行のインストール
エンタープライズ・サーバ開発/クライアント実行のインストール
(TCP/IPを利用する場合のインストール手順をご覧ください。
)
NS/Router のインストール
-19-
Magic/400 開発ガイド
dbMAGIC Ver8
AS/400のデータベースにSNA(APPC)接続、TCP/IP(Anynet :APPC over TCP/IP)で接続する場合と、Host DBA
をインストールする場合に使用します。
NS/Routerによって提供されるインストールオプションは以下の通りです。
z
シングルユーザ(Single user installation)
標準的なインストール方法で、CD-ROMからローカルなハードディスクまたは、ネットワーク・ド
ライブにシングルコピーします。
z
ネットワーク(Network installation)
CD-ROMからネットワークディレクトリ(共有サーバ)にNS/Routerモジュールがコピーされます。
次に各クライアントはこのネットワークディレクトリよりSingle User Installation(
(Setup.exe)
)を実
行しローカルディスクにシングルコピーします。
z
共有アクセス(Shared access installation)
CD-ROMからネットワークディレクトリ(共有サーバ)にNS/Routerモジュールをインストールしま
す。
次に各クライアントは、ネットワークディレクトリ上にあるセットアッププログラム(Setupusr.exe)
を実行してユーザ別にセットアップ情報を設定します。
各クライアントは、ネットワークディレクトリのNS/Routerモジュールをロードし実行します。
図 3- 10
NS/Transfer インストール
ファイル転送機能が必要な場合は、Magic/400にバンドルされている NS/Transferを使用することが可能で
す。
Magic/400 クライアントインストール
(TCP/IPを利用する場合のインストール手順をご覧ください。
)
-20-
Magic/400 開発ガイド
dbMAGIC Ver8
ホストライブラリ(
)のインストール
ホストライブラリ(Host DBA)のインストール
NS/Routerは自動的に起動されますが、Ns/Routerにて複数台のAS/400接続を設定した場合は、インストール
を行いたいAS/400のみを接続状態にしてからインストール作業を行ってください。
Magic/400モジュール(EASYCOM Server)をAS/400サーバにインストールします。セットアッププログラ
ムから「ホストライブラリ(PowerPC)」を選択します。
図 3- 11
[次へ]をクリックすると、AS/400の指定されたライブラリの中にインストールするための設定を行いま
す。
インストールのために指定されるユーザIDは、AS/400システムネットワークディレクトリの中で定義して
おかなければならないため、あらかじめAS/400のターミナル上で、WRKDIR か WRKDIREコマンドで
ネットワーク・ユーザを定義しておく必要があります。
-21-
Magic/400 開発ガイド
dbMAGIC Ver8
図 3- 12
入力項目は以下の通りです。
z
AS/400 Destination Library ... Magic/400 Host DBAをインストールするライブラリ名
z
Language、PC Client Code Pageは、デフォルトのままにします。
z
Use EHNAPPC Router (C/A Netsoft…) を選択
この項目を入力した後、[Install]ボタンをクリックしてください。
インストールの間、いくつかのメッセージは、進行状況を表示します。
ホストライブラリ(Host DBA)のインストールが終了すると、次のメッセージが表示されます。
図 3- 13
AS/400 ライセンス登録
(TCP/IPを利用する場合のインストール手順をご覧ください。
)
-22-
Magic/400 開発ガイド
dbMAGIC Ver8
Magic/400 ゲートウェイの設定
Magic/400の環境設定は、AS/400との接続、データベース(ライブラリ)の定義、データアクセス時のオプ
ション等を管理するための実行時のパラメータを含んでいます。
パラメータを正しく設定しないと、Magic/400が正常に動作しないことがあります。
設定/DBMS]パラメータの設定
[設定/
設定/
パラメータの設定
[設定/DBMS]テーブルは、Magic/400にて接続されるAS/400への処理全体に対して影響を及ぼすグローバ
ルなオプション設定です。
[設定/DBMS]テーブルを設定するには、次のように実行します。
①
dbMAGICを起動します。
②
プルダウンメニューバーで[設定/DBMS]を選択します。
③
AS/400を検索して、レコードを移動します。AS/400が見つからなければ
登録
ボタン、または
F4
を押下して、任意の行にレコードを追加し、[名前]を「AS/400」、[ID]を「17」と入力してください。
④
AS/400のパラメータ欄にカーソルを移動させ、必要なパラメータを入力します。
(
F6
を押下して
拡張ウインドウを利用することもできます。
)
⑤
⑥
OK
ボタンか
ENTER
を入力します。
新しく指定されたパラメータを有効にするために、dbMAGICを終了し再起動します。
パラメータ記述の一般構文
パラメータのオプションは、「キーワード=値」
「キーワード 値」の形式で指定します。複数のキーワードを指定するには、
1Byte以上の半角スペースで区切ります。指定しないキーワード値には、デフォルト値が設定され、一部の
キーワードは自動的に設定されるものがあります。
注意:
キーワードと値は、大文字で指定します。
„
EAC_LOG=[ライブラリ名/ファイルレベル][:ログレベル]
AS/400上のEASYCOMでのMagic/400のログ(トレース)ファイルを指定します。レベルオプションは情報
レベルを指定します。
0ログ無し 1−4 (4が最も詳細なレベル)
(例)EAC_LOG =MAGIC400/EACLOG:1
„
MAGICDBA=[AS/400_LIBRARY_NAME]
Magic/400をデフォルトライブラリ(Magic/400)以外のライブラリにインストールした場合に、ライブ
ラリ名を指定します。
このオプションにより、同時に別々のクライアントで異なるバージョンのMagic/400を使用することが
-23-
Magic/400 開発ガイド
dbMAGIC Ver8
できます。
„
MAGICSRV=[AS/400のライブラリ名]
デフォルトのディレクトリ以外にMagic/400サーバをインストールした場合、そのライブラリ名を指定
します。
„
*RNGSVR=Y
範囲抽出時にOPNQRYFを利用するために追加されました。この設定はDBMSテーブルのパラメータ以
外にも、データベース特性/SQLデータベース情報、テーブル特性/SQLデータベース情報で設定可
能です。詳細は、
「OPNQRYFを利用」を参照してください。
„
DBCS=[PCコードページテーブル:AS/400コードページテーブル]
PC及びAS/400のコードページを指定します。
テーブル名
コードページ
タイプ
IBM-930
930(日本語英数カナ)
Host
IBM-939
939(日本語英数小文字拡張)
Host
IBM-990 *2
990(日本語英数カナ,NEC特殊文
字対応)
Host
IBM-999 *2
999(日本語英数小文字拡張,NEC
特殊文字対応)
Host
IBM-943
943
PC
省略時は、IBM-943:IBM-930になります。
*1:実際に使用できるコードページ(CCSID)は、930は5026、939は5035となります。従って、対応外字
文字数は1880文字となります。
*2:NEC特殊文字(IBM拡張文字に存在するものは除く)を外字領域に割当てたもので、IBM-930はIBM990、IBM-939はIBM-999に対応します。
NEC特殊文字
特殊文字 外字割当一覧
-24-
文字 シフトJIS EBCDIC
文字 シフトJIS EBCDIC
文字 シフトJIS EBCDIC
文字 シフトJIS EBCDIC
文字 シフトJIS EBCDIC
①
②
③
④
⑤
⑥
⑦
⑧
⑨
⑩
⑪
⑫
⑬
⑭
⑮
⑯
⑰
⑱
⑲
⑳
㍉
㌔
㌢
㍍
㌘
㌧
㌃
㌶
㍑
㍗
㌍
㌦
㌣
㌫
㍊
㌻
㎜
㎝
㎞
㎎
㎏ 8773
㏄ 8774
㎡ 8775
㍻ 877e
〝 8780
〟 8781
㏍ 8783
㊤ 8785
㊥ 8786
㊦ 8787
㊧ 8788
㊨ 8789
㈲ 878b
㈹ 878c
㍾ 878d
㍽ 878e
㍼ 878f
∮ 8793
∑ 8794
∟ 8798
⊿ 8799
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
874a
874b
874c
874d
874e
874f
8750
8751
8752
8753
72be
72bf
72c0
72c1
72c2
72c3
72c4
72c5
72c6
72c7
72c8
72c9
72ca
72cb
72cc
72cd
72ce
72cf
72d0
72d1
875f
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
876a
876b
876c
876d
876e
876f
8770
8771
8772
72d2
72d3
72d4
72d5
72d6
72d7
72d8
72d9
72da
72db
72dc
72dd
72de
72df
72e0
72e1
72e2
72e3
72e4
72e5
72e6
72e7
72e8
72e9
72ea
72eb
72ec
72ed
72ee
72ef
72f0
72f1
72f2
72f3
72f4
72f5
72f6
72f7
72f8
72f9
72fa
Magic/400 開発ガイド
dbMAGIC Ver8
*3コード変換時に、変換できない例外コードが存在した場合は、その文字は自動的に次の文字に変換し
ます。
・シフトJIS->EBCIDIC変換時例外コード
(SBCS:3f DBCS:fefe)
・EBCIDIC->シフトJIS変換時例外コード
(SBCS:7f DBCS:fcfc)
設定/データベース]の設定
[設定/データベース
設定/データベース の設定
[設定/データベース]では、AS/400ライブラリの定義を行います。
データベースの定義
①
dbMAGICを起動します。
②
プルダウンメニューバーから[設定/データベース]を選択します。
③
新しい行を作成するために、 登録 ボタンまたは、 F4 を押下します。
④
[名前]に、適当なデータベース名を入力します。データベース名は、ユーザが自由に設定できます。こ
こで、設定した名前は、アプリケーションテーブルやテーブルリポジトリの[データベース]などで参
照します。
⑤
[DBMS]からズームして、[DBMS一覧]を開き、[AS/400]を選択します。
⑥
[DB名]は、ブランク以外の任意の文字列を設定します。文字は必ず大文字で指定してください。
⑦
[MAGICサーバ]は、ブランクにします。
⑧
[位置]は、AS/400のライブラリ名を、半角文字(アルファベットは大文字)で指定します。ライブラ
リ名の後ろにスラッシュは記述しないでください。
⑨
[編集/特性]を選択するか、 Ctrl
⑩
[データベース特性]ダイアログの設定を行います。
(後述)
⑪
+ P
を押下して、[データベース特性]ダイアログを開きます。
OK ボタンを2回クリックして、[設定/データベース]ダイアログを終了します。
データベース特性の定義
図 3- 14
[データベース特性]ダイアログでは、AS/400ライブラリの定義とデータアクセスに関するパラメータを追
加することができます。方法は次の通りです。
-25-
Magic/400 開発ガイド
dbMAGIC Ver8
①
該当するAS/400のデータベースに位置付けて、
プルダウン・メニュー[編集/特性]を選択するか
Ctrl
+ P を押下すると、データベース特性ダイアログのログイン・タブが表示されます。
②
SNA APPCプロトコルで接続する場合、ルータで構成されているAS/400 ID(AS/400名)を記述しま
す。このフィールドをブランクにすると、「デフォルトルータ接続」を使用します。TCP/IP(ネイティ
ブ)プロトコルで接続する場合、HOSTSファイルに記述したホスト名、またはIPアドレスを記述しま
す。
③
TCP/IP(ネイティブ)プロトコルで接続する場合のみ、接続するユーザ名とパスワードを記述します。
ただし、パスワード・フィールドは隠し文字で表示されません。ブランクにしてデータベースの接続
時にユーザで入力させるか、あるいは、シークレット名を利用することができます。シークレット名
の詳細はMAGICのリファレンスマニュアルを参照してください。
④
データベース特性ダイアログのオプションタブで、サーバソートパラメータを指定することができま
す。サーバソートを利用すると、タスクでのソート処理が実行されるとき、dbMAGICで定義された
仮想のインデックスをOPNQRYFで処理するかどうかを制御します。サーバソートを有効にすると、
dbMAGIC自体のソート機能でなく、AS/400上でソート処理を行います。
⑤
SQLタブのデータベース情報にKEYWORD=VALUEのフォーマット形式で、追加のパラメータを指定
することができます。詳しい構文の内容は、次の「データベース情報キーワード」を参照してくださ
い。
⑥
OK ボタンを2回クリックして、[設定/データベース]ダイアログを終了します。
データベース情報キーワード
データベース情報のための利用できるキーワードは、次の通りです
„
CTLRECOVERY=Y
このキーワードを記述すると、CTLファイルをAS/400で開発するときにジャーナル機能が有効になり
ます。また、この設定を行う際には、併せて[設定/動作環境/マルチユーザータブ/ISAMトランザクショ
ン]のパラメータをYESにしてください。
„
FLDNAMES
このキーワードを記述すると、定義取得時にテーブルリポジトリのカラム名に、AS/400ファイルの実際
の項目名を代入します。
このキーワードの指定がない場合(デフォルト)では、DDSの機能ワードで定義された項目名
(COLHDG)を代入します。
„
TRANSACTIONS=Y
このキーワードを指定すると、ライブラリ内の全データファイルを対象にコミットメントコントロー
ルを開始します。また、この設定を行う際には、併せて[設定/動作環境/マルチユーザータブ/ISAMト
ランザクション]のパラメータをYESにしてください。(詳細は後述「MAGICのトランザクションと
AS/400ファイル」を参照してください。
)
„
NOMSGBOX
このキーワードを記述すると、dbMAGICのエラーメッセージボックスを表示しなくなります。エラー
は、 DBERR() 内部関数か RTVERRID UDF を使って取得することができます。オペレーターの介入
ができないバッチ型プログラムや自動エラーハンドリングが必要なときに使用します。
„
*RNGSVR=Y
このキーワードは、範囲抽出時にOPNQRYFを利用するために追加されました。この設定はデータベー
ス特性/SQLデータベース情報以外にも、DBMSテーブルのパラメータ、テーブル特性/SQLデータ
ベース情報で設定可能です。
-26-
Magic/400 開発ガイド
dbMAGIC Ver8
テーブルリポジトリの設定
DB2/400のファイルシステム固有の機能や特徴に合わせて、dbMAGICのテーブルリポジトリの設定上、い
くつか考慮すべき点があります。ここでは、既存のパラメータのDB2/400への影響や、Magic/400だけに有
効なパラメータについて説明します。
AS/400 ファイルシステム
一般にDB2/400は、2つの基本的なファイルタイプを持っています。
z
物理ファイル
z
論理ファイル
論理ファイルは異なるデータビューの定義だけなのに対して、物理ファイルは実際にデータを含んでいま
す。キーフィールド(インデックス)を、物理ファイル 論理ファイル 共に使用することができます。
DB2/400ファイルのレコード構造は、DDS (Data Description Specification)、 IDDU (Interactive Data Definition
Utility) か SQL を使って定義することができます。
ファイル・レコード構造が、各ファイルのために「レコード様式」として定義され割当てられた名前「レコー
ド様式名」を持つ必要があります。
「レコード様式」は、プログラミング言語のI/Oで使用されます。
論理ファイルは、次のように分類することができます。
z
単純な論理ファイル(キー定義)
物理ファイルの全レコード形式を定義(引用)して、物理データに追加のキーフィールドを定義し
た論理ファイル。
z
条件なし論理ファイル
物理的なファイル・レコード形式からの特有のフィールドを抽出して、そのレコードでフィールド
位置を変えたり、またはフィールドを追加して、オリジナル構造が判らないような定義をした論理
ファイル。
z
条件付き論理ファイル
選択/除外キーワード(比較、範囲、値指定)の条件指示により物理ファイルからデータを選択した
論理ファイル。
z
結合論理ファイル
複数の物理ファイル(32個まで)フィールドを一つの論理的なレコードビュー様式に結合した論理
ファイル。
重要!
dbMAGICでは、単純な論理ファイルに対してのみテーブルリポジトリにキー定義し使用するこ
とができます。他の種類の論理ファイルに対して、テーブルリポジトリで別々のファイルとして
定義する必要があります。
AS/400 ファイルの名前の割当
dbMAGICの機能により、ファイル辞書のDBファイル欄をスペースにすると、アプリケーションメニュー
の識別子+”FIL”+ファイル番号でファイル名が生成されますが、ファイル名は個別に記述することをお勧め
いたします。
AS/400ファイル名は、「ライブラリ名/ファイル名」か「ファイル名」の2種類の形式で指定することがで
きます。もし、ファイル名だけを指定するならば、[設定/データベース]の位置パラメータに指定されたライ
-27-
Magic/400 開発ガイド
dbMAGIC Ver8
ブラリ名が使用されます。
ファイルにキーを定義して新規にファイルを作成したときには、そのキーが定義された論理ファイルが作
成されます。論理ファイル名は、[インデックス特性/DBインデックス名]で指定します。
[インデックス特性/DBインデックス名]がブランクの場合、ファイル名は、DBファイル名の左から5Byte+
「K」+キー番号となります。ファイル名を個別に指定するには、[インデックス特性/DBインデックス名]に
ファイル名を記述します。
(例)
テーブルリポジトリのDBファイル名の指定が「ABCDEFGH」の場合、
AS/400での物理ファイル名
ABCDEFGH
インデックス番号1のAS/400での論理ファイル名
ABCDEK1
下図に示されるように、インデックス特性で論理ファイル名を指定することができます。
図 3- 15
重要!
・ 存在しないライブラリを指定してファイルを作成しようとしたときは、次のようなエラー
メッセージが表示されます。
図 3- 16
・ DBファイル名に左から5文字が同じファイル名を複数定義すると、キーの論理ファイル名が
同じになるため、動作が予測できません。従って、必ずDBファイル名を変更するか、キーの
[キー特性/データベース名]にファイル名を定義してください。
ファイル・オープンの考察
ファイル・オープンの考察
ファイルは、dbMAGICで指定されたオープンモードで開きます。
-28-
Magic/400 開発ガイド
dbMAGIC Ver8
MAGICのプログラムでキーが指定されている時(例えばタスク特性など)、そのキーが存在しない場合、
キーで定義された論理ファイルを生成しようとします。
重要!
ファイルオープン時、dbMAGICはAS/400ファイルのファイルレベル識別コードと「データベース情
報」で指定された「FILELVL=」キーワードの値を比較します。その値が同一でなければ、「定義内
容が一致しません」のエラーが表示され、ファイルを開くことができません。
ただし、
「データベース情報」に「
「RECLVL=」
」キーワードの値が設定され、レコード様式識別コー
ドが同一ならば、ファイルレベル識別コードが異なっていてもファイルのオープンが可能になりま
す。結合論理ファイルは、リードオンリーモードのみでオープンします。
結合論理ファイルをオープンしてデータの修正を行おうとすると、エラーメッセージが表示され、プ
ログラムが終了します。
定義取得
dbMAGICは、テーブル定義取得機能を使ってAS/400ファイル構造をテーブルリポジトリに取り込むことが
できます。
リストからAS/400ファイルを選択
ファイルを選択
リストから
①
[開発/テーブルリポジトリ] を開きます。
②
テーブルの最初のラインより上に、カーソルを移動します。
③
[オプション/定義取得] を選択します。
④
データベース欄でズームして、定義取得するライブラリ(データベース)を選択します。
⑤
タグファイルを [選択] にします。
⑥
ライブラリ中のファイルがリスト表示されます。
⑦
スペース
⑧
選択
⑨
を使ってファイルにタグ(*)を付けます。
ボタン、または
ENTER
を押下します。
dbMAGICは自動的に、タグを付けられたファイル定義を定義取得します。
特定のAS/400ファイルを選択
ファイルを選択
特定の
①
テーブルリポジトリの任意の位置で、 登録 ボタンまたは、 F4 を押下して、新規行を作成します。
②
DBテーブル名とデータベース(ライブラリ)を指定します。
③
[オプション/定義取得]を選択します。
④
dbMAGICは、自動的にそのファイルの定義を取り込みます。
注意:
AS/400から定義取得されたファイル構造は、dbMAGICからすぐに変更することができません。変更
したい場合、[テーブル特性/SQLデータベース情報]に記述された「TYPE=XX」キーワードを削除し
てください。
-29-
Magic/400 開発ガイド
dbMAGIC Ver8
カラム名の設定
Magic/400はファイルのフィールド名を設定する場合、[カラム特性/データベース名]に定義します(英数字
のみ10Byteまで)
。この欄がスペースであれば、FLDn(n項目番号)と定義されます。
また、ファイルのCOLHDGの名称については、カラムの[名前]が反映されます(シフトイン・シフトアウト
文字含めて30Byteまで)。
逆に定義取得を行うと、デフォルトでファイルのフィールド名は[カラム特性/データベース名]に、COLHDG
の名称は[名前]に反映されます。
項目の[名前]にフィールド名を反映させるには、[設定/データベース/データベース特性]のデータベース情
報パラメータにFLDNAMESのキーワードを記述して、定義取得を行います。詳細は「[設定/データベース]
の設定」を参照してください。
テーブル特性キーワード
Magic/400は、ファイル定義と I/O属性を拡張するために、「テーブル特性/SQLタブ/SQLデータベース情
報」を使用しています。
データベース情報で利用できるキーワード
„
TYPE=PF/TYPE=LF
「定義取得」機能で自動的に挿入されます。物理ファイル(PF)と論理ファイル(LF)の区別する機能と共
に、dbMAGICでAS/400ファイル構造の変更を防ぐ機能があります。
このキーワードを持っているファイル構造に修正を行おうすると、次のようなエラーメッセージが表
示されます。
図 3- 17
„
COMPLEX_LOGIC
「定義取得」機能によって自動的に挿入されます。
DB2/400特有のファイル定義ステートメントのために、再作成することができないファイルとして認
識させるために使用されます。
„
FILELEVEL=[ファイルレベル識別コード]
「定義取得」機能によりファイルレベル識別子が自動的に挿入されます。詳細は「ファイルオープン
考察」を参照してください。
„
RECLVL=[レコード様式識別コード]
「定義取得ユーティリティ」によりレコード・レベル識別子が自動的に挿入されます。詳細は「ファ
イルオープン考察」を参照してください。
„
RECNAME=[レコード様式名]
レコード様式名を定義する文字列の指定です(最大長は10)。これは、新規のAS/400ファイルが作成さ
れるとき、dbMAGICによって追加されます。この値はファイル再作成の実行時に、新規ファイルのレ
コード様式名として利用されます。
-30-
Magic/400 開発ガイド
dbMAGIC Ver8
定義取得を行った場合も、AS/400で定義されたファイルのレコード名パラメータが、
「RECNAME=[レ
コード様式名]」の形式で追加されます。
„
*RNGSVR=Y
このキーワードは、範囲抽出時にOPNQRYFを利用するために追加されました。この設定はテーブル
特性/SQLデータベース情報以外に、DBMSテーブルのパラメータ、データベース特性/SQLデータ
ベース情報で設定可能です。
„
SHARE=Y
同じジョブでファイルODPを他のプログラムと共有するために記述します。
„
STORAGE=DB2
次に示す項目についてDB2/400の形式で格納するかどうかを指定します。
dbMAGICの日付型と時間型の項目は、デフォルトではDB2/400の英数字フィールドとして定義されま
す。このキーワードを記述することにより、AS/400のネィティブの日付/時間フォーマットで保管しま
す。
論理フィールドは、デフォルトとしてASCIIコードの『F』または『T』で保管されます。このキーワー
ドを記述することにより、AS/400でEBCDICコードの『F』または『T』で保管されます。
„
CREATE="SIZE(*NOMAX)" / CREATE="SIZE(MAXレコード数)"
dbMAGICからAS/400ファイルを生成するとき、AS/400で設定された最大レコード数を、デフォルト値
以外に設定する場合、このキーワードを使用します。
(例)CREATE="SIZE(*NOMAX)"
„
CACHE=[レコードブロック数]
1回のREAD要求毎にどれだけのレコード数を転送するか指定します。
連続したREAD操作には、I/Oパフォーマンスを改善します。
„
TRANSACTIONS=Y
このキーワードを指定すると、指定したファイルがプログラムで利用されるとき、トランザクション
処理を開始します。(詳細は後述の「MAGICのトランザクションとAS/400ファイル」を参照してくだ
さい。
)
„
OPEN_PF=Y
dbMAGICのファイルアクセスモードでファイルロックが発生するモードを使用したい場合は、この
キーワードを記述します。このキーワードを指定しないでファイルロックが発生するとロックが解除
されるまで応答が返らないか、
「Fail to Open ...」のエラーダイヤログが表示されます。
ただし、このキーワードを指定すると論理ファイルのオープン時にも、常に物理ファイルのオープン
処理が行われるため、パフォーマンスが低下します。極力、レコードロック方式に変更することをお
奨めいたします。
„
EXITPGM=[ライブラリ/プログラム]
ユーザが記述したプログラムを dbMAGICのファイルをオープンする前、ファイルをクローズした後
に起動します。例えば、このインタフェースにより、dbMAGICがテーブルをオープンする前に
OPNQRYFレコード選択することができます。このパラメータは、Ver.7.xとの互換性のためにあります。
Ver.8では、次の「OPNQRYFの利用」を参照してください。
ユーザプログラムパラメータインタフェース
-31-
♦ ライブラリ名
10文字
♦ ファイル名
10文字
♦ メンバー名
10文字
(メンバー指定で無いならば、このフィールドは空です。)
♦ オペレーションコード
1文字
("O"= OPEN 、"C" = CLOSE)
Magic/400 開発ガイド
dbMAGIC Ver8
OPNQRYF の利用 ―
の利用 ― Query ファイル・オープン
ファイル・オープン−
・オープン−
プログラムでOPNQRYFのQuery選択式を定義するには、[タスク環境/Queryファイル・オープン]を選択し
ます。ここで、プログラムのセレクトコマンドで定義されたカラムを使い、OPNQRYFで有効なQuery選択
式を記述します。AS/400ゲートウェイはこの設定に基づきQueryファイルをオープンします。
図 3- 18
ファイル・オープンのフォーム
Query ファイル・オープンのフォーム
Queryファイル・オープンダイヤログは、次の部分で構成されています。
z
カラム一覧
z
Query定義式
z
Query定義式全体表示領域
カラム一覧
ここには、Query選択式で使用できるカラムが一覧で表示されます。指定できるカラムは、次の通り
です。
z
メインテーブルの実項目
… DB2/400のフィールド名に置き換えられます。
z
親タスクの項目
… 値に置き換えられます。
z
カレントタスクの変数項目とその他の実項目
… 値に置き換えられます。
Query定義式
定義式
この領域にQuery選択式を記述できます。ここに記述したQuery選択式がQueryファイルをオープンする
ときに利用されます。項目の記述方法としては、次の2種類があります。
-32-
z
ファイルのフィールド名、演算子、値を直接記述。
z
メインテーブルで定義されたカラムについて、AS/400でのフィールド名、および演算子等を直接記述
することで、この式がそのままQuery選択式として、Queryファイルオープンに利用されます。
Magic/400 開発ガイド
dbMAGIC Ver8
z
項目の番号(A、B、Cなど)の先頭に「:」記号を付けて記述
メインテーブルのカラムでカラム特性のDBカラム名が定義してある場合、この方式が利用できま
す。項目名は、カラム特性のDBカラム名に置き換えられます。
メインテーブルでない場合、データ型にしたがって値に変換されます。項目の型が文字型の場合、dbMAGIC
により後続のスペースが削除されるとともに引用符が追加されます。
Query定義式全体表示領域
定義式全体表示領域
この領域には、Query選択式全体が表示されます。このQuery選択式は、dbMAGICから作成されるQueryファ
イルに使われます。表示される内容は次の通りです。
z
レコードメインにより生成されたQuery選択式:範囲式も表示されます。
z
Query選択式:AND句を使い、カッコで囲まれて表示されます。レコードメインの範囲に追加されま
す。
Query選択式全体表示領域では、カラム一覧の項目はすべて置き換えられます。項目のうち、メインテーブ
ルの実データのカラムは、DB2/400のフィールド名に置き換えられます。また、変数項目はその名前に置
き換えられます。項目が置き換えられるときには、dbMAGICにより項目の型と記憶型式がチェックされ、
必要な場合(例えば、文字型の場合)には引用符が追加されます。
ウィンドウの右下の[表示]ボタンをクリックすると、Query選択式表示領域の内容が更新されます。
注意:
・ カレントのタスクで変数項目を使っており、その変数項目をQuery選択式で使う場合、変数項目
には呼び出し側のタスクのパラメータを使って値を渡さなければなりません。この方法で値を
渡さないときにはデフォルトの値が使われます。すなわちセレクトコマンドの代入式は、Query
選択式の後に実行されるので利用されません。
・ Query選択式には、データ型がBLOBまたはメモの項目は指定できません。
・ Query選択式に指定されている項目のデータ型はチェックされません。項目のデータ型に対して
はそれぞれ、文字列への変換が試みられ、Query選択式の所定の場所に連結されます。このため、
データ型に注意する必要があります。
セレクトコマンドでの OPNQRYF
Queryファイル・オープンダイヤログを使わず、タスクのセレクトコマンドの範囲指定のみが設定されてい
る場合は、
「*RNGSVR=Y」キーワードがDBMSパラメータ、データベース特性、テーブル特性のいずれか
で設定している時に限り、その範囲条件がQueryファイルに含めることができます。
範囲大小の設定パターンにより、次のようなOPNQRYFのステートメントが発行されます。
範囲小
-33-
範囲大
ステートメント
A
B
Field >=A *AND Field <=B
または、
%Range(A,B)
A
−
Field >=A
−
B
Field <=B
NULL
NULL
Field=%NULL
NULL
−
Field=%NULL
NULL
Field=%NULL
NULL
B
Field=%NULL
A
NULL
Field=%NULL
Magic/400 開発ガイド
dbMAGIC Ver8
dbMAGIC のトランザクションと AS/400 ファイル
dbMAGICで AS/400ファイルのトランザクション処理を行うためには、次の設定を行う必要があります。
z
[設定/動作環境/マルチユーザータブ/ISAMトランザクション]パラメータをYESにします。
z
データベース特性、またはテーブル特性のSQLデータベース情報プロパティで、AS/400データベース
のために「TRANSACTIONS=Y」を指定します。
z
プログラムで、処理レベルテーブルのトランザクション欄の指定をします。
重要!
このキーワードは、次の新しい機能を起動します。
・ ジャーナルレシーバーとジャーナルを自動生成します。
(ファイル名が、レシーバーとジャーナルファイルにて使用されます。
)
・ 物理ファイルならば ジャーナルPFを開始します。
論理ファイルならば、ジャーナルアクセスパスを開始します。
・ メッセージを QSYSOPR へ送ります。
Magic/400 固有の UDF/ユーザ
ユーザ PRC インタフェース
Magic/400では、AS/400に特化した機能のために、固有のユーザ定義関数(UDF)/ユーザプロシージャ(ユー
ザPRC)インタフェースをサポートしています。
プログラムでの設定方法は、dbMAGICリファレンスのUDF関数、またはコールユーザPROに関する記述を
参照してください。
AS/400 プログラムのコール
構文
UDF(’MGEAC32.AS400PGMCALL’, A ,B ,C ,D)
パラメータ
z
A = AS/400システム名
;文字型変数
z
B =プログラムライブラリ/プログラム名
;文字型変数
z
C =パラメータ(戻り値)
;文字型変数(可変長)
z
D =パラメータ長
;数字型変数
関数は、AS/400プログラムからパラメータに戻り値(リターンパラメータ)を返します。
-34-
Magic/400 開発ガイド
dbMAGIC Ver8
注意:
最大長は2048バイトです。受け渡したパラメータは、パラメータ長の長さを最大の戻り値として返されま
す。
AS/400 コマンド(CL)の起動
コマンド(CL)の起動
構文
UDF(’MGEAC32.RMTCMD’, A, B)
パラメータ
z
A = AS/400 システム名
z
B = CL コマンド
;文字型変数
関数は、正常/異常として、’0’/’1’の戻り値を返します。
※DBCSのパラメータは対応していません。
AS/400 プログラムコールとコマンドコールの利用方法
z
パラメータを持たないAS/400のプログラムをコールするには、次のような方法があります。
UDF('MGEAC32.RMTCMD','システム名
[ライブラリ名
システム名','CALL
ライブラリ名/プログラム名
システム名
ライブラリ名 プログラム名]')
プログラム名
z
パラメータを複数必要とするAS/400のプログラムをコールするには、次のような方法があります。
♦ パラメータの戻り値がない場合
UDF('MGEAC32.RMTCMD','システム名
[ライブラリ名
システム名','CALL
ライブラリ名/プログラム名
システム名
ライブラリ名 プログラム名]
プログラム名
PARM([パラメータ
パラメータ1
パラメータ パラメータ2
パラメータ ...])')
♦ パラメータの戻り値がある場合
UDF('MGEAC32.AS400PGMCALL','システム名
システム名','Magic/400/TMPPRG',
システム名
'パラメータ
パラメータ',
パラメータ パラメータ長)
パラメータ長
<CLプログラムの例>
**************************
**************************
0001.00
/* Magic/400 UDF 機能サンプルCL プログラム
0002.00
PGM
PARM(&MGPAR)
0003.00
DCL
VAR(&MGPAR)
0004.00
DCL
VAR(&MGPAR1) TYPE(*CHAR) LEN(10)
0005.00
DCL
VAR(&MGPAR2) TYPE(*CHAR) LEN(06)
0006.00
DCL
VAR(&MGPAR3) TYPE(*CHAR) LEN(04)
0007.00
CHGVAR
VAR(&MGPAR1) VALUE(%SST(&MGPAR 1 10))
0008.00
CHGVAR
VAR(&MGPAR2) VALUE(%SST(&MGPAR 11 6))
0009.00
CHGVAR
VAR(&MGPAR3) VALUE(%SST(&MGPAR 17 4))
0010.00
CALL
PGM(PGM1) PARM(&MGPAR1 &MGPAR2 &MGPAR3)
0011.00
CHGVAR
0012.00
0013.00
*/
TYPE(*CHAR) LEN(20)
VAR(&MGPAR) +
VALUE(&MGPAR1 *CAT &MGPAR2 *CAT &MGPAR3)
ENDPGM
**************************
-35-
データの始め
データの終り
**************************
Magic/400 開発ガイド
dbMAGIC Ver8
Magic/400 サーバの起動
Magic/400 サーバを起動し、指定したプログラムを実行します。パラメータを渡すことも可能です。
Magic/400 サーバが正しくインストールされていることが前提となります。詳細は第4章をご覧ください。
構文
UDF( ’MGEAC32.STRMAGRUN’,A ,B ,C ,D ,E)
パラメータ
z
A = システム名
;文字型変数
z
B = アプリケーション番号
;文字型変数
z
C = プログラム番号
;文字型変数
z
D = dbMAGIC起動パラメータ*1
;文字型変数
z
E =パラメータ長
;数字型変数
注意:
*1:プログラムにパラメータを渡す方法には、次のような方法があります。
①
Magic/400 サーバのMAGIC.INIの[MAGIC_ENV]セクションの最後にPARA=の行を追加。
②
UDFの第4パラメータ(D)に、'-PARA='&X&':'&Y&':'&Z ...(X,Y,Zは変数項目)と設定。
③
サーバのプログラムで、Xの値を取得するには、STRTOKEN(INIGET('PARA'),1,':')と設定。
例外処理とエラーハンドリング
dbMAGICプログラム実行の間にエラーまたは例外処理が発生した場合、dbMAGICはエラーメッセージ
ボックスに Error_ ID とそのエラーの簡単な記述を表示します。
[データベース特性/データベース情報] に 「NOMSGBOX」キーワードを指定することによってこのデ
フォルトの動作を無効にすることができます。
構文
UDF(’MGEACW.RTVERRID’, A )
戻り値 = Error_ID (dbMAGIC文字型変数)
A =ブランクの(ダミー)パラメータ
注意:
①
DBERR()は、Error_IDを返します。
②
DBERR()は、各レコードサイクルの初めにエラーコードをクリアーします。次のエラーが
発生するまで、RTVERRIDは Error_IDを保持します。
③
Error_ IDが、「CPFxxxx」として示されているならば、AS/400 CPFエラーメッセージに対応
しています。
下図に示されるように、AS/400コマンドのCPFメッセージガイドWRKMSGD により、メッ
セージについて詳細を知ることができます。
-36-
Magic/400 開発ガイド
dbMAGIC Ver8
図 3- 19
EBCDIC コードによる文字コードの比較
EBCDICコードで文字型項目の大小比較を行います。この関数は、タスク制御/範囲式等で利用すること
が可能です。
構文
UDF('MGEAC32.EBCCMP',A,B)
パラメータ
A,B = 比較文字項目
戻り値
A>B の時 1
A=B の時 0
A<B の時 -1
注意:
比較対象のベースとなるコードページは、設定/DBMSで定義されたコードページを使用します。
(デフォルト:IBM-943:IBM:930)
-37-
Magic/400 開発ガイド
dbMAGIC Ver8
第4章
Magic/400 サーバ
サーバをインストールする前に、第3章で記述された通りに、クライアントにMagic/400ゲートウェイを正
しくインストールする必要があります。Magic/400サーバ・プログラムは、AS/400サーバ上にインストール
されます。
サーバ・プログラムのインストール
サーバ・プログラムのインストール
APPC接続を利用する場合、サーバーのインストールの前にセッションが正しく構成されていることを確認
してください。
TCP/IPプロトコル利用する場合、サーバーのインストールの前に、AS/400サーバーに対してpingコマンド
での接続とFTPサーバの起動を確認してください。
インストール手順
①
dbMAGICセットアップ・プログラムを実行して、Magic/400コンポーネントを選択します。
図 4-1
②
-38-
Magic/400サーバを選択します。
Magic/400 開発ガイド
dbMAGIC Ver8
図 4-2
③
インストールプログラムが起動されます。
図 4-3
z
APPC接続の場合、デフォルトのユーザIDを使います。ルータに接続していないならば、ユー
ザIDとパスワードを定義してください。ユーザIDは、AS/400システムネットワークディレク
トリで定義しておかなければなりません。ネットワーク・ユーザを定義するには、AS/400ターミ
ナルでWRKDIRコマンドか、WRKDIREコマンドを利用することができます。
z
TCP/IP接続の場合、FTPの設定を利用し、AS400で有効なユーザID、パスワード、システム名
を指定してください。
インストールするライブラリ名を指定する必要があります。ただし、ライブラリがすでにAS/400に存
-39-
Magic/400 開発ガイド
dbMAGIC Ver8
在するならば、インストールは失敗します。
④
「インストール」をクリックすると、サーバーのインストールが始まります。
サーバー・インストール・ファイルがAS/400マシンに転送され、サーバーインストールのプログラム
が実行されます。
注意:
・ サーバ・プログラムのライブラリは、デフォルトでMAGICRUN8nnですが、(8nnバージョン番
号)、IFSサーバ・コンフィギュレーション・ディレクトリは、このライブラリと同じ名前がつ
けられます。
・ 使用するユーザIDのデフォルトCCSIDは英小文字が使用できるように、939または5035
のものを使用してください。
APPC接続のインストールの過程では、APPCルータの構成で定義されたデフォルトのAS/400コンピュータ
が認識されます。
複数のAS/400が接続されているならば、正しいAS/400コンピュータがデフォルトの接続として定義されて
いることを確認してください。
Magic/400 サーバのライセンス登録
Magic/400を使用するには、AS/400上でホスト・ライセンスPAKの登録を行う必要があります。
Magic/400のライセンス登録を行うには、製品に添付されているユーザ登録シートに必要事項を記入して、
インフォメーションセンター宛にお送りください。後ほど、ユーザ登録コード
ユーザ登録コード(
ユーザ登録コード
(Activation key)
) を通知
いたします。
注意:
・ Magic/400のインストールライブラリに対する "CHANGE"権限を持つ必要があります。
・ Magic/400のライブラリオブジェクトを、他のジョブ/ユーザによってロックをかけないでくださ
い。WRKOBJLCKコマンドによりMagic/400のライブラリのロック状態をチェックすることが
できます。
AS/400ターミナルでのコマンド
ターミナルでのコマンド
Magic/400をインストールした後に、AS/400ターミナルで次のコマンドを実行してください。
①
CHGCURLIB [ Magic/400インストールライブラリ]
実行
②
CHGJOB CCSID(*HEX)
③
EASYCLEF
④
取得したライセンス発行内容を各フィールドに入力し、
実行
F4
実行
キーを押下します。
ライセンス登録が成功した場合、下記メッセージが表示されます。
-40-
Magic/400 開発ガイド
dbMAGIC Ver8
「Activation key is correct. EASYCOM is operational.」
エラーメッセージの場合には、詳細レベルでのジョブログのメッセージをチェックしてください。
図 4-4
注意:
EASYCOMは、英字小文字を使用しています。従って、ログ情報、エラー情報等をAS/400ターミナル
で表示すると、文字が化けて表示されることがあります。その場合は、AS/400ターミナルの画面を
切り替えて(通常は CTRL
+ F3 )で確認してください。
Magic/400サーバーのライセンス登録を行った後、AS/400のMAGIC.iniファイルを次のように編集する必要
があります。
「サーバ構成の設定」に従って、構成画面を開き、LicenseName = mgdemoの箇所を次のように
変更します。
dbMAGIC製品
AS/400ライセンス
MAGIC.iniライセンス名
エンタープライ
ズ・サーバ
MAGICS8
MGENT2
サーバ構成
Magic/400サーバには、AS/400ネイティブ環境で実行可能なオブジェクト群が存在するライブラリと、
MAGIC.INIファイルやセキュリティファイル等の環境設定ファイル、およびその他のストリームファイル
が存在するMAGICルートディレクトリによって構成されています。
-41-
Magic/400 開発ガイド
dbMAGIC Ver8
Magic/400サーバを実行するためには、これらの実行環境、言語設定、作業ディレクトリなどの設定と、サ
ブシステム名、ジョブキュー等、AS/400実行パラメータの設定を正確に行う必要があります。
また、アプリケーションパーティショニングや、インターネットアプリケーションを構築するための
MAGICメッセージサーバの定義(詳細は第5章で説明)や、インターネットアプリケーションでの更にい
くつかの設定を必要とします。
MAGICコンフィグレーション・ユーティリティを使用することで、これらの設定を全て行うことができま
す。
MAGIC コンフィグレーション・ユーティリティの使用方法
コンフィグレーション・ユーティリティの使用方法
MAGICコンフィグレーション・ユーティリティは、5250のターミナルかターミナル・エミュレータから実
行できるメニュー選択方式のアプリケーションです。(図4-5)
①
コマンド・ラインでCHGCURLIB LIBNAME
(LIBNAMEインストールライブラリ名)
を入力して 実行
を押下します。
②
CFGMGCSVRコマンドを入力して 実行 を押下すると、下図に示されるように、MAGIC コンフィ
グレーション・ユーティリティの画面にアクセスされます。
ターミナル・エミュレータを使っている場合、マウスクリックか TAB を押下すると、メニューバーにカー
ソルが移動します。カーソルの移動には、 TAB か矢印キーを使います。
図 4-5
Magic/400サーバのカレントライブラリ、及びディレクトリ、コードページの設定
サーバのカレントライブラリ、及びディレクトリ、コードページの設定
デフォルトの設定を変更するには、次のステップに従ってください
-42-
Magic/400 開発ガイド
dbMAGIC Ver8
①
「MAGIC Config」にカーソルを置いて 実行 を押下すると、プルダウン・メニューが開きます。
②
「2. Environment」を選択すると、
「Change MAGIC Environment」
(MAGICの環境変更)画面にアクセ
スされます。(図4-6)
③
ライブラリ名、ディレクトリ名を入力します。ASCII File Code Page は932を使用します。
④
実行 を押下します。
設定を変更しないフィールドは、ブランクにしてください。
図 4-6
MAGIC.INIファイルの編集
ファイルの編集
MAGIC.INI ファイルを編集するには、次のステップに従ってください。
①
「MAGIC Config」にカーソルを置いて 実行 を押下すると、プルダウン・メニューが開きます。
②
「1. MAGIC.INI」を選択してください。
③
初期画面で2=Editを選択して 実行 を押下すると、AS/400ソースファイル・エディタが実行され、
現在のMAGIC.INIファイルがロードされます。(図4-7,図4-8)
④
-43-
必要に応じてMAGIC.INIファイルを編集して、最後に保存して終了してください。
Magic/400 開発ガイド
dbMAGIC Ver8
図 4-7
図 4-8
-44-
Magic/400 開発ガイド
dbMAGIC Ver8
サーバログの開始/終了
サーバログの開始/終了を行うには、次のステップに従ってください。
①
「MAGIC Config」にカーソルを置いて 実行 を押下すると、プルダウン・メニューが開きます。
②
「4. Setup Log」を選択すると、
「Update Log Environment」
(ログ環境の更新)画面にアクセスされま
す。(図4-9)
③
「New Log setup」の欄でYを入力して 実行 を押下すると、サーバログが開始されます。
④
サーバログを終了するには、
「New Log setup」の欄でNを入力して 実行 を押下します。
図 4-9
サーバログが活動中ならば、サーバが実行している間、MGRNTLOGとQPRINTのスプール・ファイルが、
ユーザのジョブキューに作成されます。
また、MAGICサーバライブラリに、ログオプションの開始/終了を切りかえる2つのAS/400プログラムが
あります。
ログを開始するのはMGLOGSTR、ログを終了するのはMGLOGENDです。
これらのプログラムは、AS/400コマンド・ライン、すなわちネイティブAS/400プログラムから起動するこ
ともできます。あるいはAS400PGMCALLのUDFを使ってdbMAGICプログラムからコールすることもでき
ます。
例えば、dbMAGICプログラムからログを開始するには次のコマンドを実行してください。
UDF(’MGEAC32.AS400PGMCALL’, SYSNAME, ’MGLOGSTR’, SERVLIB, 10)
SYSNAMEにはシステム名、SERVLIBにはサーバライブラリ名を入れます。
dbMAGICプログラムからログを終了するには、次のコマンドを実行してください。
-45-
Magic/400 開発ガイド
dbMAGIC Ver8
UDF( ’MGEAC32.AS400PGMCALL’, SYSNAME, ’MGLOGEND’, SERVLIB, 10)
SYSNAMEにはシステム名、SERVLIBにはサーバライブラリ名を入れます。
dbMAGICのAS/400プログラムコールに関する記述は、「AS/400コマンド/プログラムとのインタフェー
ス」の項を参照してください。
プロファイラの設定と出力ファイルの参照
プロファイラを開始するには、次のステップに従ってください。
①
既にMAGICSERVERのジョブが開始されている場合は終了します。
②
「Profiler」にカーソルを置いて 実行 を押下すると、プルダウン・メニューが開きます。
③
「1. Setup Profiler」を選択すると、
「Update Profiler Environment」画面にアクセスされます。(図4-10)
④
「Change Profiler setup」の欄でYを入力して 実行 を押下します。
⑤
Magic/400サーバを起動します。(起動方法は後述)
⑥
サーバログを終了するには、
「New Log setup」の欄でNを入力して 実行 を押下します。
図 4- 10
プロファイラの結果を参照するには、次のステップに従ってください。
①
コンフィグレーションユーティリティのCurrent Directoryが、
「MAGIC Config」のEnvironmentで指定
されたディレクトリ以外の場合、
「IFS Utility」にカーソルを置いて 実行 を押下し、プルダウン・
メニューを開きます。
「MAGIC Config」のEnvironmentで指定されたディレクトリの場合は、④に進み
ます。
-46-
Magic/400 開発ガイド
dbMAGIC Ver8
②
Change Curr Directoryを選択して 実行 を押下すると、
「CHGCURDIR」
、すなわち現行ディレクトリ
の変更画面にアクセスします。
③
ディレクトリを、
「MAGIC Config」のEnvironmentで指定されているディレクトリに変更します。
④
「Profiler」のDisplay mgtcnf およびDisplay mgtlogを実行すると、それぞれのログが参照できます。
mgtcnf(オープンファイルトレースファイル)とmglog(プログラム実行トレースファイル)の詳細は、リ
ファレンスマニュアルの14章「MAGICプロファイラ」を参照してください。
複数のユーザ環境の構成手順
Magic/400サーバは、複数の動作環境で起動することが可能です。これはログオンするユーザ毎に固有の動
作環境を構成することで実現します。構成を変更できる項目を次に列挙します。
z
カレントライブラリ
z
MAGIC.INIファイルと他のコンフィグレーションファイルを含むMAGICルートディレクトリ
z
ASCIIファイルのコードページ
z
EBCDICファイルのコードページ
新しいユーザの作成
新しいユーザを作成するためには、次のステップに従ってください。
①
「MAGIC Config」にカーソルを置いて 実行 を押下すると、プルダウン・メニューが開きます。
②
「Setup User」
(ユーザの設定)画面にアクセスしま
「3.Setup User」を選択して 実行 を押下すると、
す。(図4-11)
③
ユーザID(ユーザプロフィール)とディレクトリ情報に記入して 実行 を押下します。
新しいユーザが作成され、同時に指定したディレクトリにMagic/400サーバの環境設定に必要なモ
ジュールが最初にインストールされたディレクトリ(デフォルトでは/MAGICRUN82)からコピーさ
れます。
-47-
Magic/400 開発ガイド
dbMAGIC Ver8
図 4- 11
ユーザごとのサーバ構成の変更
ユーザのサーバ構成を変更するには、次のステップに従ってください。
①
新しく作成したユーザプロフィールでログオンします。
②
前項で述べた方法で、カレントディレクトリとコードページの変更と、MAGIC.INIファイルの修正を
行います。
MAGIC サブシステム構成の変更
Magic/400サーバは、MAGICサブシステムで実行するよう設定されています。
MAGICサブシステム構成を変更する場合には、次のステップに従ってください。
①
「MAGIC Config」にカーソルを置いて 実行 を押下すると、プルダウン・メニューが開きます。
②
「5. MAGIC Subsystem Config」を選択して 実行 を押下すると、「MAGIC Subsystem Config」
(MAGICサブシステム構成)画面にアクセスします。(図4-12)
MAGICサブシステム構成画面で、AS/400サブシステム名とMagic/400サーバのジョブの属性を決めること
ができます。
注意:
・ MAGICサブシステムの変更はインストール時に自動で実行されています。
・ これらの値を変更は、AS/400オペレーティング・システムに精通したAS/400の管理者が行ってくだ
さい。できる限りデフォルトの設定を推奨します。
-48-
Magic/400 開発ガイド
dbMAGIC Ver8
図 4- 12
アプリケーションパーティショニングとインターネット設定
サーバ構成の設定後は、メッセージサーバの種類とMagic/400サーバの用途により、設定方法が異なります。
Magic/400サーバは、先にメッセージサーバを正しく設定する必要があります。DataQueueメッセージサー
バに関する詳細は5章、MRBメッセージサーバに関する詳細は開発者ガイド・分散開発編を参照してくだ
さい。
Magic/400サーバのアプリケーションパーティショニング機能を利用するには、MAGIC.INIファイルにパラ
メータを設定する必要があります。詳細は6章の「アプリケーションパーティショニング」を参照してく
ださい。
Magic/400サーバのインターネット機能を利用するには、AS/400 HTTPサーバと、TCP/IPのホスト・テーブ
ルを設定し、HTTP構成ファイルに、MAGICメッセージサーバに関する情報を更新する必要があります。
これらの詳細は、IBMが提供する「TCP/IP 構成および解説書【SC41-3420-04】
」、及びこのマニュアルの7
章インターネットの「HTTPサーバのセットアップ」を参照してください。
Magic/400サーバをHLLインタフェースで利用するには、MGREQ.INIファイルにリクエスタパラメータファ
イルを設定する必要があります。HLLインタフェースの詳細は8章の「高水準言語インタフェース(HLL)
」
を参照してください。
作業を容易にするため、HTTPサーバに関するコマンド、IFSに関するコマンド等は、MAGICコンフィグレー
ション・ユーティリティのメニューに組み込まれています。
これらのオプションは、標準のAS/400コマンドを呼び出します。詳細はAS/400の資料を参照してください。
-49-
Magic/400 開発ガイド
dbMAGIC Ver8
第5章
DataQueue メッセージサーバ
MAGICメッセージサーバは、サーバとリクエストを管理するミドルウェア・テクノロジーです。
MAGICメッセージサーバには、次の3つのプログラムが提供されています。
MAGICリクエスト・ブローカ(MRB)は、Windowsプラットホームのメッセージサーバとして利用され、Data
Queueは、AS/400で利用されます。また、MQ/SeriesはWindowsとUNIXプラットホームで利用されるIBM製
品のメッセージサーバです。
Magic/400 サーバの設定
MGREQ.INI ファイルの設定
ユーザのディレクトリにあるMGREQ.INIファイルに対して、以下のようなエントリを設定します。
MGREQ.INIの編集は、MAGICコンフィグレーション・ユーティリティのInternetメニューの「MGREQ.INI」
から行うことができます。
[MAGIC_MESSAGING_GATEWAYS]
MGSRVR03=MAGICRUN82/MGDQ, N, /MAGICRUN82/MGDQ.LOG, N DF,
MAGIC.INI ファイルの設定
DataQueueサーバのアドレスの設定は次のような指定が必要です。
サーバアドレス|ライブラリ名|キュー識別子
z
サーバアドレスは、AS/400のホスト名または、IPアドレスです。
ホスト名は、ドメイン名を付加した表記を記述してください。
z
ライブラリ名は、オブジェクトのあるライブラリ名です。
z
キュー識別子は、サーバで作成されるキューを区別するために使用される1桁∼8桁の識別子です。
従ってMAGIC.INIファイルでの定義は、次のようになります。
[MAGIC_SERVERS]
Default Broker = 2,MAGICS20.MAGIC-SW.CO.JP|MAGICRUN82|MGDQ1,John,Smith,0,1,3
パラメータをコンマで区切って、次の順序で指定されます。
-50-
z
2…サーバテーブルエントリの連番。2番目のメッセージサーバの意味
z
MAGICS20.MAGIC-SW.CO.JP|MAGICRUN82|MGDQ1…サーバアドレスの設定例
z
John…サーバ特性/ユーザ名
z
Smith…サーバ特性/パスワード
z
0…サーバ特性/タイムアウト
z
1…サーバ特性/代替のサーバ設定
z
3…メッセージサーバ・タイプ(1MRB、2MQ/Series、3Data Queue)
Magic/400 開発ガイド
dbMAGIC Ver8
dbMAGIC クライアントの設定
DataQueueメッセージサーバを設定したMagic/400サーバに対して、dbMAGICクライアントがリモートコー
ルを行うためには、PCクライアントにおいても、DataQueueメッセージサーバに関する設定が必要になり
ます。
MGREQ.INI ファイルの設定
dbMAGICクライアントの起動前に、PCクライアントのカレントディレクトリのMGREQ.INIファイルに対
して、以下のようなエントリを設定します。
[MAGIC_MESSAGING_GATEWAYS]
MGSRVR03=MGDQ.dll, N, c:¥temp¥dq.log, LogSyncFlush, DQ parameters
サーバテーブルの設定
サーバテーブルでは、別のdbMAGICアプリケーションとデータ交換を行うメッセージサーバを定義します。
図 5-1
①
現在のアプリケーションを閉じて、プルダウンメニューバーから[設定/サーバ]を選択します。
②
新しい行を作成するために、 登録 ボタンまたは、 F4 を押下します。
③
[名前]に、適当なサーバ名を入力します。サーバ名は、メッセージサーバの種類を定義するので、その
タイプが認識できる名前をお勧めします。
④
-51-
[サーバタイプ]では、ズームでサーバタイプのリストから選択します。
⑤
[サーバアドレス]では、メッセージサーバの正確なインスタンスを設定します。 (後述)
⑥
[編集/特性]または、 Ctrl
⑦
[サーバ特性]ダイアログの設定を行います。
+ P
を押下して、[サーバ特性]ダイアログを開きます。
Magic/400 開発ガイド
dbMAGIC Ver8
⑧
OK ボタンを2回クリックして、[設定/サーバ]ダイアログを終了します。
図 5-2
Data Queueでのサーバアドレス
でのサーバアドレス
サーバタイプがData Queueの場合、サーバアドレスの欄には次のような指定が必要です。
サーバアドレス|ライブラリ名|キュー識別子
z
サーバアドレスは、AS/400サーバ名前または、IPアドレスです。
z
ライブラリ名は、オブジェクトのあるライブラリ名です。
z
キュー識別子は、サーバで作成されるキューを区別するために使用される1桁∼8桁の識別子です。
MAGIC.INIファイルでの定義は次のようになります。
[MAGIC_SERVERS]
Default Broker = 2,MAGICS20|MAGICRUN82|MGDQ1,John,Smith,0,1,3
パラメータをコンマで区切って、次の順序で指定されます。
z
2…サーバテーブルエントリの連番。2番目のメッセージサーバの意味
z
MAGICS20|MAGICRUN82|MGDQ1…サーバアドレスの設定例
z
John…サーバ特性/ユーザ名
z
Smith…サーバ特性/パスワード
z
0…サーバ特性/タイムアウト
z
1…サーバ特性/代替のサーバ設定
z
3…メッセージサーバ・タイプ(1MRB、2MQ/Series、3Data Queue)
サーバテーブルに関する詳細は、
「開発者ガイド・分散開発編」を参照してください。
サービスの設定
サービステーブルでは、アプリケーションをサーバのインスタンスに割当てます。
下図に示されるように、[設定/サービス]を選択すると、サービステーブルが開きます。
-52-
Magic/400 開発ガイド
dbMAGIC Ver8
図 5-3
例えばMAGIC.INIファイルに、次のように定義します。
[MAGIC_SERVICES]
Default Service = My Local Broker,8.01,,
Personnel = Data Queue,Travel Agent Demo,John,Smith
サービステーブルに関する詳細は、
「開発者ガイド・分散開発編」を参照してください。
制限事項
Data Queueメッセージサーバで利用されるメカニズムは、AS/400サーバで管理するキューに基づきます。
各メッセージサーバは、キュー名の識別子、キューのあるライブラリ、AS/400サーバ名によって区別され
ます。実際のメッセージのやりとりは、OS/400のオペレーティング・システムによって実行されます。
したがって、このプロセスはAS/400のData Queueのシステムにおける以下のような固有の制限があります。
-53-
z
Data Queueに分けられたリクエストは、プライオリティを割当てられません。プライオリティの高い
リクエストだけを処理する専用のサーバを定義することがベストです。
z
Data Queueサーバは、自動ロードバランスのプロセスに参加することができません。
Magic/400 開発ガイド
dbMAGIC Ver8
第6章
アプリケーションパーティショニング
アプリケーションパーティショニングは、dbMAGICのプログラム処理を、別のdbMAGICエンジンか、あ
るいは別のサーバーのdbMAGICを呼び出して実行させる機能です。
アプリケーションパーティショニングを利用すると、次のような利点があります。
z
サーバの処理パワーが利用できます。
z
データをアクセスする同一のマシンでプログラムを実行することにより、ネットワークトラフィック
を減らすことができます。
z
クライアントを共通のデータから分離することができます。
アプリケーションパーティショニングの種類
同期と非同期
リクエストのアプリケーションパーティショニングは、同期、非同期いずれの処理も可能です。
z
非同期のリクエストはリモートのサーバに送られ、コール元のプログラムは直ちに次の処理を続行し
ます。非同期のリクエストは、印刷や一括更新のようなバッチ処理で典型的に利用されます。コール
元のプログラムは、オンラインであろうとバッチであろうと処理は継続します。
z
同期のリクエストは、応答が返るかタイムアウトが満たされるまで、コール元のプログラムは処理を
待機します。従って、コール元のプログラムがリモート処理の完了に依存する場合に同期のリクエス
トを利用します。例えば、プログラムが、パラメータや結果ファイルの形でデータを期待している場
合や、リモートのリクエストが正常終了したという確認が必要である場合です。
Magic/400 サーバのアプリケーションパーティショニング
5章で記述されるように、メッセージサーバのいくつかのタイプが、dbMAGICでサポートされます。
サポートされたサーバで、Magic/400 サーバを使用することができます。
Magic/400 サーバは、他のdbMAGICエンジンからのアプリケーションパーティショニングのリクエストを
送り、逆に他のエンジンとHLLプログラムからアプリケーションパーティショニングのリクエストを処理
することもできます。
また、Magic/400 サーバは、全てのメッセージサーバのタイプとのインタフェースを持っています。
アプリケーションパーティショニングのリクエストは、リモートコール処理でアプリケーション名と公開
プログラム名をパラメータとして送ります。
オプションで、パラメータと結果ファイルを指定することができます。
リモートコール処理に関するより詳細は、
「開発者ガイド・分散開発編」を参照してください。
ネイティブ AS/400 プログラムのパーティショニング
レガシー・アプリケーションと統合する機能は、dbMAGICアーキテクチャの最も強力な機能の一つです。
3章で記述されているように、dbMAGICプログラムはAS400PGMCALL機能によってネイティブAS/400プロ
グラムをコールすることができます。
-54-
Magic/400 開発ガイド
dbMAGIC Ver8
アプリケーションパーティショニングの機能を利用しても、ネイティブAS/400プログラムからdbMAGICの
プログラムをコールすることができます。
これによって、5250のターミナルCOBOLアプリケーションやバッチのRPGプログラムを、dbMAGICのア
プリケーションに新しい機能を加えることも可能なのです。
MAGICメッセージサーバへのインタフェースが定義されているため、どんな高水準言語からでも、
Magic/400サーバにリクエストを送ることができます。
HLLプログラムからのdbMAGICのプログラムコールついての詳細は、第8章を参照してください。
Magic/400 サーバの設定
システム全体の設定
アプリケーションパーティショニングをセットアップするには、Magic/400サーバはコール元のプログラム
と同じメッセージサーバを利用するように設定する必要があります。次の環境設定はアプリケーション
パーティショニングの機能にとって重要な設定です。
MAGIC.INIのエント
リ名
セットパラメータ
[MAGIC_ENV]
動作環境
ActivateRequests Server
アプリケーション・
サーバとして動作
説明
dbMAGICがリクエスト・ブローカに対するアプリケーショ
ン・サーバとして動作させるかどうかを設定します。
Yesにセットすると、dbMAGICは・ブローカに名前を登録
して、プログラム実行のためにリクエストを受け付けま
す。
MessagingServer
メッセージサーバ
アプリケーション・サーバとして動作する場合、接続する
メッセージサーバを設定します。[MAGIC_SERVERS]のエ
ントリ名を記述します。通常はデフォルトのDefalt Broker
を利用します。
RequestsServerCan
ReplaceCtl
アプリケーション・
サーバはアプリケー
ションを変更可
アプリケーション・サーバが、複数アプリケーションのプ
ログラム実行のためにリクエストを受け付けることがで
きるかどうかを設定します。
Yesに設定すると、オープンされていないアプリケーショ
ンのリクエストを受け付けると、オープン中のアプリケー
ションが閉じて、要求されたアプリケーションが開きま
す。
Noに設定すると、オープン中でないアプリケーションのリ
クエストは失敗します。
[MAGIC_SERVERS]
サーバテーブル
Default Broker
Default Broker
アプリケーション・サーバとして動作するときの、接続す
るメッセージサーバの種類、サーバアドレスを設定しま
す 。( MRB に つ い て は 開 発 者 ガ イ ド ・ 分 散 開 発 編 、
DataQueueについては事項を参照してください。
)
アプリケーション固有の設定
[MAGIC_DATABASES]セクションのメンテナンス
セクションのメンテナンス
アプリケーションで指定しているデータベース名([MAGIC_SYSTEMS]セクションで指定)と、アプリケー
-55-
Magic/400 開発ガイド
dbMAGIC Ver8
シ ョ ン の 中 の テ ー ブ ル リ ポ ジ ト リ で 設 定 し て い る デ ー タ ベ ー ス 名 を 、 MAGIC.INI フ ァ イ ル の
[MAGIC_DATABASES]のエントリに正しく登録します。ファイルの存在するライブラリ名も指定すること
ができます。
[MAGIC_DATABASES]
Default Database = 17, MAGIC, , MGSYS, , , , , MagicRecordLock, +
ChangeFileInToolkit, CheckDefinition, CheckKey, FileLocks, , , , NoChecExist+
, 0, , NoXATrans
AS400 = 17, MAGIC, , MGKEIRI, , , , , MagicRecordLock, +
ChangeFileInToolkit, CheckDefinition, CheckKey, FileLocks, , , , NoChecExist+
, 0, , NoXATrans
[MAGIC_SYSTEMS]セクションのメンテナンス
セクションのメンテナンス
サーバで使用するアプリケーションを、MAGIC.INIファイルの[MAGIC_SYSTEMS]セクションに登録しま
す。
[MAGIC_SYSTEMS]
System1 = CTL_A,CA,,,1,Default Database,,N,
System2 = CTL_B,CB,,,1,Default Database,,N,
System3 = CTL_C,CC,,,1,Default Database,,N,
注意:
MAGIC.INIの編集は、PC上でMAGICクライアントを起動し、設定/動作環境、設定/データベース、
設定/アプリケーション、設定/サーバで編集した後、対象となるMAGIC.INIをFTPコマンドで
AS/400にアップロードすることでも可能です。(6章のメンテナンスヒントを参照。)
AS/400上にdbMAGICのアプリケーションファイルを作成するには、Magic/400クライアントがイン
ストールされた、dbMAGICエンタープライズ開発版が必要です。
Magic/400 サーバの起動
MAGICコンフィグレーション・ユーティリティ(CFGMGCSVRコマンド)を起動し、Internetのメニューの
「Start Magic Server」を実行します。
Magic/400 サーバの終了
Magic/400サーバを終了するには以下の方法があります。
DataQueue、または
、またはMRBがメッセージサーバの場合
がメッセージサーバの場合
、または
z
AS/400ターミナルよりENDJOBコマンドによりMagicサーバージョブを終了させます。
MRBがメッセージサーバの場合
がメッセージサーバの場合
z
DOSのコマンド・ラインより、mgrqcmdl -term=AS/400ホスト名/ポート番号を実行します。
<例>
z
-56-
mgrqcmdl -term=MAGICS10.MAGIC-SW.CO.JP/1678
PCで起動しているMRBを終了させます。
Magic/400 開発ガイド
dbMAGIC Ver8
サーバの印刷機能
Magic/400サーバのプログラムは、dbMAGICのテキスト形式印刷機能を使用して、ネイティブのAS/400プ
リンターを機能させることができます。
デフォルトではMagic/400サーバインストールライブラリ(MAGICRUN8n)のMAGICPRTFプリントファイ
ルを使用します。
ユーザが独自に作成したプリントファイルを使用する場合は設定/プリンタのキュー(MAGIC.INIの
[MAGIC_PRINTERS]セクション)に以下のように指定します。
z
設定/プリンタのキュー
印刷装置ファイル名/CCSID
・CCSID(IBM-930、IBM-939 デフォルトはIBM-930)
(例)
[MAGIC_PRINTERS]
Printer1=MAGICPRTF/IBM-930,,,60
作成する印刷装置ファイルには、以下のパラメータを指定してください。
・IGCDTA
*YES
(DBCS対応)
・IGCSOSI
*NO
(SI/SOを印刷しないようにする。
)
メンテナンスヒント
アプリケーションパーティショニングでは、dbMAGICクライアントとMagic/400サーバのMAGIC.INIの同期
をとる必要があります。
メンテナンスを容易に行う一つの方法は、ClientAccessを利用してIFSディレクトリをネットワーク・ドラ
イブをマップすることです。例えば、Qドライブが開発中のAS/400 IFSディレクトリとすると、dbMAGIC
クライアントのショートカットに、/INI=Q:¥MAGIC.INIと定義すれば、AS/400サーバと開発マシンの間で
共有することができます。
もう一つの方法は、ファイル転送プロトコル(FTP)か、別のファイル転送ユーティリティで、クライアント
のMAGIC.INIファイルをAS/400 IFSにコピーして、利用することです。
ただし、Magic/400サーバがMAGIC.INIをASCIIファイルで扱うため、ファイルはバイナリー形式で転送す
る必要があります。
-57-
Magic/400 開発ガイド
dbMAGIC Ver8
図 6-1
<FTPの使用例>
z ftpup.bat
ftp -s:ftpup.txt S10AS400 z
:MAGIC.INIアップロードバッチファイル
:S10AS400:AS/400システム名
ftpup.txt
AS/400ユーザID
パスワード
quote site namefmt 1
quote type b 1
cd /MAGICRUN82
put c:¥magic¥v8gen¥magic.ini MAGIC.INI
put c:¥magic¥v8gen¥mgreq.ini MGREQ.INI
bye
:ディレクトリの変更
:magic.iniのアップロード
:mgreq.iniアップロード
注意:
AS/400上のファイル名は大文字を使用することをお勧めします。
-58-
Magic/400 開発ガイド
dbMAGIC Ver8
第7章
インターネット
dbMAGICエンタープライズ・サーバは、強力なインターネットアプリケーションサーバです。インターネッ
トアプリケーションシステムは、dbMAGICエンタープライズ・サーバで簡単に構築することができます。
エンドユーザはWWWブラウザだけで、インターネット、イントラネット、エクストラネットのネットワー
ク環境を通じて、WWWサーバに連結されたインターネットシステムを利用します。
dbMAGICは、WWWサーバに最適なWWWリクエスタを提供します。
WWWリクエスタはHTTPを経由して、MAGICメッセージサーバを制御し、実行可能なdbMAGICエンター
プライズ・サーバにリクエストを送ります。
dbMAGICエンタープライズ・サーバは、HTMLドキュメント、HTMLフォーム、フレーム対応のHTML、
Java対応フォームという、いずれかの形式でWWWブラウザに出力します。
また、JavaアプレットとActiveXコントロールを、HTMLの出力の中に含めることもできます。
ファイルシステム
インターネットアプリケーションで利用される全ての資源は、IFSに属します。
これらはマージ出力処理、画像ファイル、HTMLファイルに使われているJavaアプレットとActiveXコント
ロール、Javaフォームを含みます。
HTTP サーバのセットアップ
AS/400でHTTPサーバを実行しているならば、次のような構成が必要です。
TCP/IPプロトコル
プロトコル
詳細は、IBMが提供する「TCP/IP 構成および解説書【SC41-3420-04】
」を参照してください。
HTTPサーバ
サーバ
HTMLの資源を利用するためのディレクトリマッピング。資源とはすなわち、GIFファイル、HTML、JPEG
ファイル、Javaアプレット、ActiveXコントロールなど。
♦ Magic/400サーバライブラリのMGRQCGIプログラムに対するCGIマッピング
♦ Magic/400サーバによって一時的に作成されるJavaフォームのファイルや、データベースに格納さ
れているBLOBデータを展開するためのディレクトリマッピング
♦ POSTメソットの設定(ENABLE POST)
次の例は、AS/400のIBMインターネットコネクションサーバに対する構成メンバです。
Map /magicrun8/demo/* /magicrun82/mgwebdoc/*
Map /scripts/mgwebdoc/* /magicrun82/mgwebdoc
Pass /magicrun82/mgwebdoc/*
Exec /scripts/mgas4.req /qsys.lib/magicrun82.lib/mgrqcgi.pgm
-59-
Magic/400 開発ガイド
dbMAGIC Ver8
図 7-1
サードパーティのHTTPサーバを利用する場合は、関連するマニュアルを参照して、同様の環境設定を行っ
てください。
HOSTテーブルのメンテナンス
テーブルのメンテナンス
AS/400マシン名をホスト・テーブルに登録します。Magicリクエスト・ブローカー(MRB)を使用している場
合は、PCのマシン名もあわせて実行ホスト・テーブルに登録します。
<例>
TCP/IP ホスト・テーブル項目の処理
OPT インターネット・アドレス
127.0.0.1
ホスト名
LOOPBACK
LOCALHOST
192.168.1.7
S102AP0M.MAGIC-SW.CO.JP
S102AP0M
192.168.1.90
WINDOWS_MRB
MAGIC CGI リクエスタのセットアップ
MAGIC CGIリクエスタは、WWWブラウザから呼び出すAS/400上のCGIプログラムです。Magic/400サーバ
-60-
Magic/400 開発ガイド
dbMAGIC Ver8
のインターネットアプリケーションを実行するには、MAGIC CGIリクエスタの設定として、MGREQ.INI
ファイルのメンテナンスを行う必要があります。
MGREQ.INIファイルの位置
ファイルの位置
Magic/400サーバとMAGICリクエスタが、同じメッセージサーバの構成を利用していることを確認する必
要があります。
MAGIC CGIリクエスタは、MGCGIREQデータエリアでMGREQ.INIファイルの位置を参照します。
第4章の「サーバ構成」で説明したように、Magic/400サーバはAS/400環境で定義された作業ディレクトリ
でこのファイルを参照します。
MGREQ.INIファイルの位置を指定するには、MAGICコンフィグレーション・ユーティリティのInternetメ
ニューにある「Environment」から行うことができます。
[REQUESTER_ENV]セクションの以下のエントリを編集します。
z
Gateway = n
n:利用するメッセージサーバ・タイプを指定します。
z
1.
MAGICリクエスト・ブローカ
2.
MQ/Series
3.
AS/400 Data Queue
MessagingServer = xxxx
xxxx: メッセージサーバ・アドレスに適切な値を指定します。サーバアドレスに関する詳細は5章を
参照してください。
z
ServerTimeout = n
n:リクエスタがタスクの終了するまで待機する最大時間を秒単位で指定します。
Magic/400 サーバのセットアップ
システム全体の設定
次の環境設定はインターネットアプリケーションの機能にとって重要な設定です。
MAGIC.INIのエント
リ名
セットパラメータ
[MAGIC_ENV]
動作環境
ActivateRequests Server
アプリケーション・
サーバとして動作
説明
dbMAGICがリクエスト・ブローカに対するアプリケーショ
ン・サーバとして動作させるかどうかを設定します。
Yesにセットすると、dbMAGICは・ブローカに名前を登録
して、プログラム実行のためにリクエストを受け付けま
す。
-61-
MessagingServer
メッセージサーバ
アプリケーション・サーバとして動作する場合、接続する
メッセージサーバを設定します。[MAGIC_SERVERS]のエ
ントリ名を記述します。通常はデフォルトのDefalt Broker
を利用します。
RequestsServerCan
ReplaceCtl
アプリケーション・
サーバはアプリケー
アプリケーション・サーバが、複数アプリケーションのプ
ログラム実行のためにリクエストを受け付けることがで
Magic/400 開発ガイド
dbMAGIC Ver8
ションを変更可
きるかどうかを設定します。
Yesに設定すると、オープンされていないアプリケーショ
ンのリクエストを受け付けると、オープン中のアプリケー
ションが閉じて、要求されたアプリケーションが開きま
す。
Noに設定すると、オープン中でないアプリケーションのリ
クエストは失敗します。
WebDocumentPath
Webドキュメント・パ
ス
dbMAGICエンタープライズ・サーバで、Javaフォームを利
用する場合に必要なJavaファイルを置くディレクトリパス
を定義します。あるいは、BLOBをサポートするデータベー
スを使っている場合も、データベースからBLOBを展開す
るために使われます。
(DB2/400はBLOBをサポートしませ
ん。
)デフォルトは/MAGICRUN82/MGWEBDOC
WebDocumentAlias
Webドキュメント・パ
スの別名
この別名で使用して、一時ファイルに対して追加され、
Webサーバではこの別名を使用してアクセスされます。
InternetDispatcherPath
HTTPリクエスタ
dbMAGICインターネットリクエスタモジュールの名前と
URLを指定します。
このURLは、HTMLのハイパーリンクにdbMAGICプログラ
ムが生成されているときに利用されます。
[MAGIC_SERVERS]
サーバテーブル
Default Broker
Default Broker
アプリケーション・サーバとして動作するときの、接続す
るメッセージサーバの種類、サーバアドレスを設定しま
す 。( MRB に つ い て は 開 発 者 ガ イ ド ・ 分 散 開 発 編 、
DataQueueについては事項を参照してください。
)
アプリケーション固有の設定
[MAGIC_DATABASES]セクションのメンテナンス
セクションのメンテナンス
アプリケーションで指定しているデータベース名([MAGIC_SYSTEMS]セクションで指定)と、アプリケー
シ ョ ン の 中 の テ ー ブ ル リ ポ ジ ト リ で 設 定 し て い る デ ー タ ベ ー ス 名 を 、 MAGIC.INI フ ァ イ ル の
[MAGIC_DATABASES]のエントリに正しく登録します。ファイルの存在するライブラリ名も指定すること
ができます。
[MAGIC_DATABASES]
Default Database = 17, MAGIC, , MGSYS, , , , , MagicRecordLock, +
ChangeFileInToolkit, CheckDefinition, CheckKey, FileLocks, , , , NoChecExist+
, 0, , NoXATrans
AS400 = 17, MAGIC, , MGKEIRI, , , , , MagicRecordLock, +
ChangeFileInToolkit, CheckDefinition, CheckKey, FileLocks, , , , NoChecExist+
, 0, , NoXATrans
[MAGIC_SYSTEMS]セクションのメンテナンス
セクションのメンテナンス
サーバで使用するアプリケーションを、MAGIC.INIファイルの[MAGIC_SYSTEMS]セクションに登録しま
す。
[MAGIC_SYSTEMS]
System1 = CTL_A,CA,,,1,Default Database,,N,
-62-
Magic/400 開発ガイド
dbMAGIC Ver8
System2 = CTL_B,CB,,,1,Default Database,,N,
System3 = CTL_C,CC,,,1,Default Database,,N,
注意:
MAGIC.INIの編集は、PC上でMAGICクライアントを起動し、設定/動作環境、設定/データベース、
設定/アプリケーション、設定/サーバで編集した後、対象となるMAGIC.INIをFTPコマンドで
AS/400にアップロードすることでも可能です。(6章のメンテナンスヒントを参照。)
AS/400上にdbMAGICのアプリケーションファイルを作成するには、Magic/400クライアントがイン
ストールされた、dbMAGICエンタープライズ開発版が必要です。
WWW ブラウザからの起動
この章の「HTTPサーバのセットアップ」で構成を行ったWWWリクエスタのエイリアスを利用して、次の
ようなコマンドでアプリケーションを実行します。
http://ホスト名/SCRIPTS/MGAS4.REQ?APPNAME=アプリケーション名&PRGNAME=公開プログラム名
これは、Exec /scripts/mgas4.req /qsys.lib/magicrun82.lib/mgrqcgi.pgm
と記述した場合の起動方法です。
-63-
Magic/400 開発ガイド
dbMAGIC Ver8
第8章
高水準言語インタフェース(
)
高水準言語インタフェース(HLL)
高水準言語プログラムのAPI(High Level Language API)によって、MAGICメッセージサーバを通し、どんな
プラットホームで稼動しているdbMAGICプログラムでも呼び出すことができます。
メッセージサーバから制御が可能ならば、あらゆるdbMAGICエンジンを呼び出して、プログラムを実行す
ることができます。
例えば、ネイティブRPG、COBOLプログラム、5250インタラクティブやバッチが、ネイティブのAS/400、
Windowsワークステーション、RS/6000や他のどのUNIXサーバで実行されているdbMAGICプログラムを
コールすることができます。
OPM インタフェース・プログラムのインストール
インタフェース・プログラムのインストール
OPMインタフェース・プログラムをインストールするためには、次のステップに従ってください。
1.
AS/400にサインオンします。
2.
次のコマンドを入力します
RSTLIB SAVLIB(MGRQTOOL) DEV(*SAVF) SAVF(MAGICRUN82/MGRQTOOL)
AS/400にMGRQTOOLライブラリが作成されます。このライブラリには、次のオブジェクトが含まれ
ています。
オブジェクト
タイプ
記述
MGRQS
*SRVPGM
dbMAGICメッセージAPIサービス・プログラム
QCSRC
*FILE
サンプルCプログラムのソース・ファイル
H
*FILE
ヘッダ・ファイル(RQAS400)
QCLSRC
*FILE
サンプルCLプログラムのソース・ファイル
QDDSSRC
*FILE
サンプルCLプログラムのDDSソース・ファイル
MGCALL
*PGM
OPMインタフェース・プログラム
TEST
*PGM
サンプルCLプログラム
TEST
*FILE
サンプルCLプログラムのための画面ファイル
MAGIC ILE API
例えば、MGReqBuildServiceRequestの関数は、AS400MGReqBuildServiceRequestという名前がつけられます。
MGRQTOOLライブラリのヘッダ・ファイルのRQAS400メンバには、プロトタイプ定義と#defineステート
メントを含まれてており、プログラムがどんなソースの変更もなしに、他のプラットホームからの移行を
許しています。
QCSRCファイルにあるサンプル・プログラムRQCLIENTには、MAGICメッセージサーバAPIの典型的なイ
ンプリメンテーションを記述しています。
サンプルを作成するために、次のコマンドを入れてください。
-64-
Magic/400 開発ガイド
dbMAGIC Ver8
z
CHGCURLIB CURLIB(MGRQTOOL)
z
CRTCMOD MODULE(RQCLIENT)
z
CRTPGM PGM(RQCLIENT) BNDSRVPGM(MGRQS)
サンプル・プログラムのデバッグを許すために、DBGVIEW(*ALL)を加えることを選択できます。
言語とコードページの設定を含むMGRUNINIデータエリアが、ライブラリリストに含まれていることを確
認してください。
結果ファイルを利用している場合は、IFSに置かれます。
MAGIC OPM API
アプリケーションのプログラミングには、通常OPMインタフェースを利用することがより簡単です。これ
により、ネイティブのCOBOL、RPG、CL、あるいは他のどのプログラミング言語でも、dbMAGICプログ
ラムをコールしてパラメータの受け渡しが可能です。
OPMインタフェースは、低レベルのインタフェース・インプリメンテーション以外のアプリケーションロ
ジックに焦点を当てます。
MGCALLインタフェース・プログラムのもう一つの利点は、ビジネス・アプリケーションで一般に使われ
るパック10進数のサポートです。
提供されているMGCALLプログラムは、次のフォーマットをサポートしています。
z
Decimal
z
Character
z
Binary
大部分のネイティブAS/400プログラムは、通常IFSファイルへのアクセスを必要としないため、このインタ
フェースはIFSに結果ファイルを返すことをサポートにしません。
MGCALLは、パラメータを次のように記述します。
リクエストパラメータ
No
フォーマット
レングス
記述
コメント
1
Character
30
アプリケーション名
2
Character
30
プログラム名
公開プログラム名
3
Fixed Decimal
15,0
リターン・コード
0:成功
4
Character
1
同期
'A' - 非同期
5-n
オプションパラメータ
オプションパラメータ
次のパラメータは、dbMAGICプログラムに渡されるアプリケーションのパラメータを意味します。
各パラメータには、フォーマット、長さ(10進の精度)と実際のデータが含まれていなければなりません。
サポートされているパラメータのフォーマットは、次の通りです。
Decimalのパラメータ
のパラメータ
各Decimalのパラメータは、ガイドラインに沿って、MGCALLプログラムにパラメータを送ってください。
-65-
Magic/400 開発ガイド
dbMAGIC Ver8
フォーマット
レングス
記述
Character
1
パラメータタイプ
Fixed Decimal
15,0
桁
Fixed Decimal
15,0
小数以下の桁数
Fixed Decimal
指定され
た長さ
値
コメント
'D'
Characterのパラメータ
のパラメータ
各Characterのパラメータは、ガイドラインに沿って、MGCALLプログラムにパラメータを送ってください。
フォーマット
レングス
記述
Character
1
パラメータタイプ
Fixed Decimal
15,0
長さ
Character
指定され
た長さ
値
コメント
'C'
Binaryのパラメータ
のパラメータ
各Binaryのパラメータは、ガイドラインに沿って、MGCALLプログラムにパラメータを送ってください。
フォーマット
レングス
記述
コメント
Character
1
パラメータタイプ
'B'
Fixed Decimal
15,0
長さ
4のみサポート
Binary
4
値
QCLSRCファイルのテストメンバーには、MGCALL APIのCLインプリメンテーションのサンプルが含まれ
ています。
-66-
Magic/400 開発ガイド
dbMAGIC Ver8
第9章
DBCS
PC(dbMAGICクライアント)はシフトJISコード、AS/400は EBCIDICコードにて処理しています。Magic/400
では、PCとAS/400の間でデータのやりとりを行う際に、自動的にシフトJIS ↔ EBCIDICのコード変換を行い
ます。
EBCIDICコードにおいて、DBCSとSBCSの区別はシフトコートの追加により表現されています。
DBCS の種類
DBCSは2種類の種類が提供されています。シフト文字付き DBCSデータと図形(シフト文字なし)DBCS
データです。シフト文字付きDBCSデータは、DBCSシフトアウト文字とDBCSシフトイン文字によりDBCS
を表現します。
DBCSデータタイプ(DDS コーディング形式)は、次の4種類が提供されています。
DDS記入項目記号 および名称
説 明
J:DBCS専用フィールド
漢字専用シフト付き 2 バイトデータのみが含まれる文字ストリングス。
O:DBCS混用フィールド
漢字混用SBCS及びシフト文字付きDBCSデータが含めることができる文字スト
リングス。
E:DBCS択一フィールド
漢字択一 すべてSBCSか、すべてシフト文字付きDBCSデータかのストリング
ス。
G:DBCS図形フィールド
DBCS図形シフト文字なし2バイトデータのみが含まれる文字ストリグス。
<例>
z
DBCS専用フィールド、またはDBCS択一フィールドに”漢字”を登録した場合
SO
漢
字
SI
0E
4F58
48F2
0F
※ SO(0Eh)シフトアウト文字 SI(0Fh)シフトイン文字
z
z
DBCS混用フィールドに”ABC漢字DEF”を登録した場合
A
B
C
C1
C2 C3
SO
漢
字
SI
D
E
F
0E
4F58
48F2
0F
C4
C5
C6
DBCS図形フィールドに”漢字”を登録した場合
漢
字
4F58
48F2
すなわち、DBCS図形フィールド以外に2バイト文字を登録したフィールドには、シフトコードが付加され
るため、実際に入力/表示される文字データよりも格納されるフィールド長が大きくなります。Magic/400
では、シフトJIS→EBCIDICのコード変換に於いて変換データがデータ格納エリアよりも大きくなった場合
は、オーバーした分をカットします。アプリケーションはこのことを考慮して設計する必要があります。
-67-
Magic/400 開発ガイド
dbMAGIC Ver8
文字型書式の「位置指示記号」の追加機能
文字型書式の「位置指示記号」の追加機能
DBCS対応のために、DDSのデータフィールドに対応してdbMAGICに機能追加しています。次の表の
dbMAGIC位置指示記号をテーブルリポジトリの各項目の書式に定義します。例えば、10桁のDBCS専用
フィールドを定義する場合には、J10あるいはJJJJJJJJJJと記述します。位置指示記号の指定がない場合、
DBCS混用フィールド(X)になります。
DDSフィールド
フィールド
dbMAGIC位置指示記号
位置指示記号
制限事項
DBCS 専用フィールド(J)
J
全角のみ入力可
DBCS 混用フィールド(O)
X
全角、半角の混在入力可
DBCS 択一フィールド(E)
T
全て全角か、全て半角で入力可
DBCS 図形フィールド(G)
G
全角のみ入力可。
シフトコード無し
SBCS(A)
S
半角のみ入力可
注意
・ dbMAGIC位置指示記号の(J, T, G)は、必ず2文字単位で記述します。
・ 追加された位置指示記号と、dbMAGIC位置指示記号文字(J, X, T, G, S)は混在して記述すること
ができません。例.JJJJXXXXなど
・ 追加された位置指示記号(J, T, G, S)は、U, L, # を使用できません。
-68-
Magic/400 開発ガイド
dbMAGIC Ver8
第10章 補足
開発時の留意点
z
dbMAGICの本体の機能は、データをすべてShift-JISコード体系で処理します。従って、次のパラメー
タ欄では、特にSHIFT-JISコードとして処理されることを考慮した上で、プログラムの開発を行う必
要があります。
♦ タイプリポジトリの範囲欄
♦ テーブルリポジトリ/カラムテーブルの範囲欄
♦ タスク制御/範囲式または位置付式
3番目に関連して、この欄に文字型項目のコードを大小比較する条件式を定義すると、場合によっ
てはデータが正しく抽出されないことがあります。その場合は、「MAGIC固有のUDF/UDPインタ
フェース」に記述された、EBCDICコードによる文字型コードの比較を行うUDF関数を使用してく
ださい。
z
クライアント版では、次に挙げる入出力関数はPCのディスク上にあるファイルを対象にしています
ので、AS/400のファイルに対する処理は無効です。
IOCOPY、IODEL、IOEXIST、IOREN、IOSIZE
z
Magic/400がデータベースを新規作成する時に使用されるDDSのソース・ファイルは、データベース
ファイルと同じライブラリに作成され、ファイル名はMGDDSSRCとなります。
z
MAGICから新規に作成するファイルに定義されたDBCSの文字項目の最大は256byteまでです。
データ記憶形式と AS/400 データタイプの対照表
dbMAGIC記憶形式
bMAGIC記憶形式
String [default]
Lstring
Zstrig
Signed Integer
数値型
Unsigned Integer
Float
Float MS-Basic
Float Decimal
Packed Decimal [default]
Numeric
Character Number
String Number
MAGIC Number
C-ISAM Decimal
Extended Float
Integer Logical
論理型
String Logical [default]
日付型 *3 Integer Date
Integer Date -1901
文字型
-69-
ASでのデータ型
ASでのデータ型
文字
文字
文字
2進数
2進数
浮動小数点数
文字
文字
パック10進数
ゾーン10進数
文字
文字
文字
文字
文字
文字
文字
2進数
2進数
ASでのデータ可視
ASでのデータ可視 *1
可能
不可
不可
可能
可能
可能
不可
不可
可能
可能
不可
不可
不可
不可
不可
不可
可能 *2
不可
不可
Magic/400 開発ガイド
dbMAGIC Ver8
時間型 *3
メモ型
String Date [default]
YYMD Date
MAGIC Date
MAGIC Date -1901
Integer Time
String Time [default]
HMSH Time
MAGIC Time
String Memo [default]
MAGIC Memo
文字
2進数
文字
文字
2進数
文字
2進数
文字
文字(可変長)
文字
可能
不可
不可
不可
不可
可能
不可
不可
可能
不可
*1:RUNQRYでデータを出力した結果です。
*2:ASCIIコードの「T」または「F」が格納されます。EBCDICコードで格納するときは、「テーブル特性
キーワードのSTRORAGE=DB2」を参照してください。
*3 : AS/400 の 日 付 ま た は 時 刻 の デ ー タ タ イ プ を 格 納 す る と き は 、 「 テ ー ブ ル 特 性 キ ー ワ ー ド 」 の
STRORAGE=DB2を参照してください。
制限事項
z
BLOB型は、使用できません。
z
メモ項目は、DBCS混用フィールド(X)のみがサポートされています。
文字型記憶型式の説明
文字型記憶型式は、英数字およびカナ、漢字の文字列を表わします。[ ]内はAS/400でのデータタイプを表わ
します。
1.
String[ 文字 ]
サイズ1 バイトから 32000 バイトまで
・dbMAGIC は、左から右に並べられた文字の連なりを記憶します。半角文字は 1 文字 1 バイトで、
全角文字は 1 文字 2 バイトとなります。
2.
LString(長さ+文字列)
[ 文字 ]
サイズ1 バイトから 255 バイト
・
「LString」は、Pascal 言語の文字列定義に対応しており、最初の 1 バイトに文字列の長さがバイト単
位で含まれています。
・[記憶型式]を「String」から「LString」に変更すると、長さを格納する 1 バイトを確保するため、
dbMAGIC は元のサイズに 1 を加えます(逆に、[記憶型式]を「LString」から「String」に変更す
ると、dbMAGIC はサイズの値から 1 を減らします)
。
3.
ZString(ゼロバイト終了文字列)
[ 文字 ]
サイズ1 バイトから 32000 バイトまで
・
「ZString」は、C 言語の文字列定義に対応しています。すなわち、最後のバイトには、文字列の終わり
を示す 2 進数のゼロ(ヌル文字)が含まれています。
・[記憶型式]の値を「String」から「ZString」に変更すると、dbMAGIC では、[サイズ]の値には 1
が加算されます。逆に、[記憶型式]を「ZString」から「String」に変更すると、 dbMAGIC では、[サ
イズ]の値から 1 が減算されます。
数値型記憶型式の説明
数値型記憶型式は、計算で通常使用される数値を表わします。この数値型データを利用する時には、次のこ
-70-
Magic/400 開発ガイド
dbMAGIC Ver8
とに注意してください。
z
dbMAGIC がサポートする最大桁数は、18 桁です。
z
dbMAGIC 以外のアプリケーションで作成されたファイルに、18 桁以上の数値型の項目がある場合、
それ以下に切り捨てます。
z
デフォルト以外の数値型記憶型式は、ほかのシステムとの互換性をもたせるときだけ使用してくださ
い。
「Signed Integer」
「Unsigned Integer」
「Float」
「Float MS-Basic」の数値型記憶型式では、上記で説明した桁数
以上の数字を受け付けることができますが、この場合でも、値が正しく記憶されないことがあります。
1.
Signed Integer(符号付き整数)
[2進数]
これは、9 桁までの符号(+ / -)付き整数に対して使用されます。
サイズそれぞれ 2 、4 または 9 桁まで記憶するとき、1、2 または 4 バイト。
「Signed Integer」の実際のマシン表記は、ハードウェアに依存します。詳細については、そのコンピュー
タのマニュアルを参照してください。
2.
Unsigned Integer(符号なし整数)
[2進数]
これは、9 桁までの正の整数のみを記憶するために使用されます。
サイズそれぞれ 2 、4 または 9 桁まで記憶するとき、1、2 または 4 バイト。
「Unsigned Integer」の実際のマシン表記は、ハードウェアに依存します。詳細については、そのコン
ピュータのマニュアルを参照してください。
3.
Float(浮動小数点)
[浮動小数点]
これらは、16 桁までの整数部分と小数部分を記憶するために使用される IEEE 浮動小数点タイプで
す。
サイズそれぞれ 6 または 15 桁まで記憶するとき、4 または 8 バイト。
実際のマシン表記は、ハードウェアに依存します。詳細は、コンピュータのマニュアルを参照してくだ
さい。
4.
Float MS-Basic(浮動小数点 MS-Basic )
[文字]
サイズそれぞれ 6 または 16 桁まで記憶するとき、4 または 8 バイト。
これは、Microsoft Basic で使用されている単精度および倍精度の浮動小数点です。バイナリデータと
して格納されます。
5.
Float Decimal(浮動小数点10進数)
[文字]
サイズそれぞれ 6 または 14 桁まで記憶するとき、4 または 8 バイト。
これは、MS-Pascal Decimal Float ライブラリ内の REAL4 および REAL8 のデータタイプと互換性の
ある単精度および倍精度の浮動小数点です。
6.
Packed Decimal(パック10進数)
[ パック10進数 ]
数値型を選んだ時には、デフォルトとして「Packed Decimal」が設定されます。
これは 10 進数表記で表わした数字を 1 バイトごとに 2 桁づつ格納し、一番右側のバイトの後半分
には符号(正数の場合は 16 進数の F または C、負数の場合は D )を格納したものです。
サイズ1 から 10 バイト
・「Packed Decimal」は、ANSI-74 標準 COBOL の COMP-3 データタイプと互換性があります。
・与えられたサイズが n の場合、「Packed Decimal」で記憶できる最大桁数は、2 * n - 1 です。したがっ
-71-
Magic/400 開発ガイド
dbMAGIC Ver8
て、サイズが 1 の「Packed Decimal」項目は、2 * 1 - 1 = 1 桁しか保持できません。サイズが 10 の場
合 は、2 * 10 - 1 = 19 桁となりますが、dbMAGIC 上限が 18 桁なので dbMAGIC内では 18 桁までし
か扱えません。
7.
Numeric(数値)
[ ゾーン10進数 ]
1桁につき1バイトのEBCDICコードの数字で格納されます。右端のバイト上位4ビットに符号(+で
はF,-ではD)が入ります。
サイズ1 から 18 バイト
8.
Character Number(文字数字)
[ 文字 ]
1桁につき1バイトのASCIIコードの数字が格納されます。右端のバイトに`+' または `-' の符号が
ASCIIコードで格納されます。
サイズ1 から 18 バイト
・与えられたサイズが n の場合、記憶される最大桁数は n - 1 です。
9.
String Number(文字列数字)
[ 文字 ]
1桁につき1バイトのASCIIコードの数字が格納されます。数字に小数点が含まれる場合は、1 バイト
追加されます。負数は、最初の桁の前に `-' を含みます。
サイズ 1 から19 バイト
10.
MAGIC Number( MAGIC 数字)
[ 文字 ]
「MAGIC Number」は、dbMAGIC によって使用される内部表記です。基数を 100 として、1 バイトに
2 桁ずつ記憶し、追加バイトを 1 バイト付加します。
サイズ2 から 10 バイト
・ 「MAGIC Number」は、18 桁までの数値をサポートします。
11.
C-ISAM Decimal( C-ISAM 10 進数)
[ 文字 ]
「C-ISAM Decimal」は、1 バイトに 2 桁ずつ記憶し、追加バイトを 1 バイト付加します。
サイズ2 から 17 バイト
・与えられたサイズが n の場合、「C-ISAM Decimal」で記憶できる最大桁数は、2 * (n - 1) です。サ
イズが2 の C-ISAM 項目 は、2 * (2 - 1) = 1 桁しか保持しません。サイズが 17 の場合は、 2 * (17 - 1)
= 32 桁となりますが、 dbMAGICの上限が 18 なので dbMAGIC 内では 18 桁までしか使えません。
12.
Extended Float(拡張浮動小数点)
[ 文字 ]
整数部と小数部で14 桁まで記憶する時に使用される IEEE 浮動小数点です。
サイズ8 バイト。
この型式は、DEC Rdb の GFLOAT 記憶型式に基づいています。
論理型記憶型式の説明
1.
Integer Logical(整数論理)
[ 文字 ]
「Integer Logical」は、1 バイト(または 2 バイト)のヘキサコードで真の場合には01(または0001)、偽の
場合には00(または0000) を格納します。
サイズ1 バイトまたは 2 バイト
2.
String Logical(文字列論理)
[ 文字 ]
論理型を選んだ時には、デフォルトとして「String Logical」が設定されます。
-72-
Magic/400 開発ガイド
dbMAGIC Ver8
「String Logical」は、1 バイト文字列に、文字 T(真)または F(偽)をASCIIコードで格納します。
サイズ1 バイト
EBCDICコードの文字T、またはFを格納するには、[ファイル/テーブル特性/データベース特性]に、
STORAGE=DB2と記述します(詳細は6章ファイル/テーブル特性キーワードを参照)
。
日付型記憶型式の説明
1.
Integer Date(整数日付)
[ 2進数 ]
基準日である西暦 1 年 1 月 1 日からの経過日数を表わします。データベースによって、符号付きま
たは符号なしの整数として記憶されます。
サイズ4 バイト
2.
Integer Date - 1901(整数日付 - 1901 )
[ 2進数 ]
基準日である 1901 年 1 月 1 日からの経過日数を表わします。符号なしの整数として記憶されます。
サイズ4 バイト
3.
String Date(文字列日付)
[ 文字 ]
日付型を選んだ時には、デフォルトとして「String Date」が設定されます。
「String Date」は、'YYYYMMDD' のフォーマットの文字列で日付を表わします。
ここで、YYYY は年を 4 桁で表わします。MM は月を、DD は日を表わします。
サイズ6 バイトまたは 8 バイト
4.
YYMD Date(YYMD 日付)
[ 2進数 ]
YYMD 日付は、'YYMD' フォーマットの 2 進整数として日付を表わします。
最上位の 2 バイトは年、3 番目のバイトは月、最後のバイトは日を 2 進数表記で記憶します。
これは、
Btrieve データ項目のフォーマットです。
サイズ4 バイト
5.
MAGIC Date( MAGIC 日付)
[ 文字 ]
MAGIC 日付は、基準日西暦 1 年 1 月 1 日からの経過日数を、「MAGIC Number」の型式で表現しま
す。
サイズ4 バイト
6.
MAGIC Date - 1901( MAGIC 日付 - 1901)
[ 文字 ]
この記憶型式は、基準日 1901 年 1 月 1 日からの経過日数を、「MAGIC Number」の記憶型式の数値
項目として表現します。
サイズ4 バイト
時刻型記憶型式の説明
1.
Integer Time(整数時間)
[ 2進数 ]
秒数は、データベースによって、符号付きまたは符号なしの倍長整数として記憶されます。
サイズ4 バイト
-73-
Magic/400 開発ガイド
dbMAGIC Ver8
2.
String Time(文字列時間)
[ 文字 ]
時刻型を選んだ時には、デフォルトとして「String Time」が設定されます。
「String Time」は、フォーマットが 'HHMMSS' の文字列で時間を表わします。ここで、最初の 2 文字
は時間を、次の 2 文字は分を、最後の 2 文字は秒を表わします。
サイズ6 バイト
3.
HMSH Time( HMSH 時間)
[ 2進数 ]
「HMSH Time」は、'HMSH' の形式の 2 進整数として時間を表わします。最上位バイトが時間を、2 番
目が分を、3 番目が秒を、最後のバイトが 100 分の 1 秒を、それぞれ 2 進数表記で表現します。これ
は、Btrieve の時間項目のフォーマットです。
サイズ4 バイト
4.
MAGIC Time( dbMAGIC 時間)
[ 文字 ]
「MAGIC Time」では、秒数が「MAGIC Number」の記憶型式で表現されます。
サイズ4 バイト
メモ型記憶型式の説明
1.
String Memo(文字列メモ)
[ 文字 ]
メモ型を選んだ時には、デフォルトとして「String Memo」が設定されます。
メモ項目には、2バイトとそれに可変長の文字列が続く形で格納されます。
2.
MAGIC Memo( MAGIC メモ)
[ 文字 ]
これは、dbMAGIC バージョン 4 の「メモ型」記憶型式です。最初の 2 バイトには、メモ項目の実際
のサイズが含まれます。記憶されるとき1バイトコードのみ容量が最小となるように圧縮されます。
定義取得
AS/400の各データタイプのフィールドをdbMAGICでのテーブルリポジトリに取り込んだときのそれぞれ
のデータ型、および記憶形式は次のようになります。
文字[A]
データ型
文字型
dbMAGICのデータ記憶形式
dbMAGICのデータ記憶形式
記憶サイズ
記憶形式
String
n
書式
Sn
DBCS専用[J]
文字型
String
n
Jn
DBCS混用[O]
文字型
String
n
Xn
DBCS択一[E]
文字型
String
n
Tn
DBCS図形[G]
文字型
String
n
Gn
パック10進数[P]
数値型
Packed Decimal
n
n
ゾーン10進数[S]
数値型
Numeric
n
n
2進数[B]
数値型
Signed Integer
n
Nn
AS/400のデータタイプ
AS/400のデータタイプ
-74-
Magic/400 開発ガイド
dbMAGIC Ver8
浮動小数点[F]
数値型
Float
n
n
16進数[H]
文字型
String
2
S2
日付[L]
日付型
String Date
8
##/##/##
時刻[T]
時刻型
String Time
6
HHMMSS
タイムスタンプ[Z]
文字型
String
26
26
各種限界値
項 目
-75-
AS/400での制限
での制限
キーの最大数
99
一つのキーあたりの最大セグメント数
120
一つのキーの最大レコード長
128
最大文字型長
32kバイト
最大レコード長
32kバイト
最大メモ型長
32Kバイト
メモ型項目の最大数
制限なし
双方向キーのサポート
あり
デフォルトサフィックス
なし
Magic/400 開発ガイド
dbMAGIC Ver8