Magic xpiへようこそ

Magic xpi インテグレーションプラットフォームのヘルプ システムへようこそ。このヘルプ システムは、Magic xpiインテグレーション ソリューションの多彩な機能に関する情報を提供します。

製品概要

インストールガイド

はじめに

ローカルエージェント

xpi Cloud Native

リファレンスガイド

コンポーネント シリーズ

Magic xpi for IBM i ガイド

コンセプトペーパ

Magic xpi 逆引き辞典

テクニカルノート

Magic xpi互換性ガイド

マイグレーション

トラブルシューティング

© 2020


製品概要

Magic xpiは、迅速かつ容易にビジネスプロセスを合理化させるMagicのコードフリーの統合プラットホームです。そして、多様なアプリケーション、プラットホームそしてデータベースに渡って統合します。Magic xpiは、ビジネス情報や、ロジックそして、組織やプラットフォームビジネス・プロセスをまたがるデータを統合することができます。ビジネス・プロセスを円滑に進めることで、オペレーションコストを下げ、収益パフォーマンスを向上させて、ビジネス上のリスクを減らします。

Magic xpiは、ビジネスロジックを統合技術から切り離すことによって、設計と統合プロセスを簡単にします。実際のビジネスまたは技術レイヤに影響を及ぼすことなく、プロトタイプ・ビジネス・モデルに変更をすることができます。ウィザードやドラッグ＆ドロップそしてテーブルのようなユーザフレンドリーで、コードフリーのツールを使用することで、Magic xpiは、様々なハードウェアやOSまたはデータベース技術上で実行するエンタープライズ・アプリケーションとのシームレスな接続を作成します。

Magic xpiは柔軟で、スケーラブルで、陳腐化せず、結果として組織を技術的にもビジネス条件も素早く変え、さらにITコストを下げることができます。

関連トピック：

Magic xpi スタジオ

Magic xpi サーバ

互換性


Magic xpa xpiスタジオ

Magic xpi スタジオは、ビジネスプロセスの開発環境とIDEです。Magic xpi スタジオは、2つの主要なツール（フローエディタとデータマッパー）から構成されています。これらの2つのエディタを使用することで、ビジネスプロセスを組織化することができ、データ変換を定義し、メッセージフローをコントロールすることができます。さらに、Magic xpiは、ビジネスプロセスの開発者がそれらのソリューションを設計し実装することを支援する開発とモデリングの支援機能を提供します。


フローエディタ

Magic xpiのフローエディタを使用することで、ビジネスプロセスの開発者は、エンタープライズアプリケーションの間に存在するビジネスプロセスを定義することができます。フローはMagic xpiにおける作業の基本的な単位です。そして、それらはB2Bにおける通信やトランザクションと同じように、すべての内外のデータ操作を定義します。ビジネスアプリケーション間の関係は、メッセージやデータまたは、これらのメッセージとデータ周辺のビジネスロジックの交換となります。フローは一連の相互接続されたコンポーネントから構成されます。これはコネクタやアダプタ、コンバータと一緒にビジネスプロセス機能を提供するビジネスロジック・コンポーネントです。フローはコンポーネント間の関係を定義するだけでなく、Magic xpiサーバが実行時中に、フローを実行する方法を定義するロジックも含んでいます。

単純なフローの例は、アプリケーションを起因とするメッセージを取得し、そこからデータを取得し、XMLフォーマットに変換し、2番目のアプリケーションに異なるメッセージング・ミドルウェアを使用してそれを渡すことができます。Magic xpiは、ワークフロー機能を提供します。これは、開発者がフローの一部を他のフローや複数サーバにまたがったり、元のフローに戻るようにフローを接続することができます。

フローを視覚的に定義することで、Magic xpiは、以下の機能を可能にします。

  • ビジネスルールと条件付ロジック、関数、式、分岐とコントロールフロー処理を定義する。

  • フローは、任意のアプリケーションからイベントによって起動することができます。

  • フローは、実行間隔、カレンダーを元にした日付指定、起動時や連続起動などを指定してスケジュールを定義することができます。

  • フローはトランザクショナルで、統合された回復とエラーの処理機能提供します。

  • フローロジックは、分割し並行に実行させることができます。

  • フローは、統合モニタリングとロギングのツールを使用することで、システム管理者によって、実行時に管理、モニタされます。


フローエディタコンポーネント

Magic xpiは、任意のデータソースやエンタープライズ・アプリケーションまたはフレームワークに接続するためのビルトインコンポーネントのセットを提供します。ビジネスプロセスの開発者は、複雑なビジネスプロセスに複数のアプリケーションとデータソースを統合するために、データマッパーと一緒にフローエディタ内でこれらのコンポーネントを使用します。

また、Magic xpa xpiは、3GLプログラマーに対してMagic xpa xpiのビルトインコネクタによって使用することができるすべての機能を持つプロフェッショナルなコネクタをビルドし、配布し、利用させることができるコネクタビルダーを提供します。

以下は、ビルトインコネクタです。

エンタープライズ・アプリケーション・コンポーネント

  • Dynamics AX 2012

  • Dynamics CRM

  • HL7

  • IBM i

  • JD Edwards Enterprise One

  • JD Edwards World

  • OData

  • Salesforce

  • SAP Business One

  • SAP ERP と SAP A1

  • ServiceMax

  • SharePoint

  • Sugar

オフィス・スイート

  • Domino

  • Exchange

  • Google Calendar

  • Google Drive

  • Microsoft Excel

  • Microsoft Word

  • Notes DB

技術フレームワーク

  • .NET

  • Java

  • WCF Client

メッセージング、通信そしてSOA

  • Email

  • FTP

  • HTTP

  • JMS

  • LDAP

  • MQTT

  • MSMQ

  • TCP Listener

  • Web Service

  • WebSphere MQ

ファイル処理

  • Directory Scanner

  • ファイル アーカイブ

  • ファイル管理

  • ファイル分割

  • XML 処理

  • XSLT


データマッパー

Magic xpiのデータマッパーは、ビジネスプロセスの開発者は、単純でビジュアルな方法によってデータソース間で異なるフォーマットの階層データ構成をマッピングしたり、変換したりすることができるツールです。ビジュアルマッピングを行った結果は、実際の抽出、変換、データソースからデータの出力先までのデータの読込の定義となります。

データマッパーは、視覚的で、ソースデータ要素と宛先のデータ要素の関係のグラフィカルに表示します。これによって、コードを記述することなくデータ操作を行う方法を作成します。

データマッパーは、以下の機能を提供します。

  • 任意のデータソースから出力先（例えば、XMLまたはフラットファイル、JSONファイル、データベース、メッセージ、他のフローまたはコンポーネントまたは内部項目（処理中またはメモリ上)）へのマッピングと変換

  • ビルトインであるかカスタム関数または計算値を使用して、任意のフォーマットから別のフォーマットに自動的にデータを変換します。

  • 一つのビュー内に複数の送り元と送り先をマッピングします。

  • 一つのビュー内に階層的な（合成)データソース（complex XML 要素、master-detail)をマッピングします。

  • より小さなXMLファイルを使用するDOMパーサに加え、ストリーミングXMLパーサを使用して大きなXML送り元を処理します。

  • 式と関数を使用している条件つきのマッピングを実行します。

  • 類似した送り元と送り先を自動的にマッピングします。


統合化ツールと機能

フローエディタとデータマッパエディタに加え、Magic xpiは、一つのIDEで最初から最後までプロジェクト設計、開発と検証を可能にするために、多くのサポート機能を提供します。以下の機能が含まれています。

  • デバッガ …… プロジェクトフローに対する実行デバッガ

  • チェッカ …… プロジェクトフローに対する一貫性の検証

  • ソース管理インテグレーション …… サードパーティのバージョン管理ツールとの接続

  • リソース …… 統合プロジェクト（接続、権利、位置とポート)によって使用されるすべての外部リソースを割り当、定義します。


デバッガ

Magic xpiデバッガは、Magic xpi スタジオの一部です。これは、開発ステージの間に統合プロジェクトをテストすることができます。デバッガを使用することで、実行順序やフロー項目、そしてMagic xpiサービスをコントロールしたり表示したりすることができます。

デバッガは、以下の機能を提供します。

  • 一つのフローや複数のプロジェクトをデバッグします。

  • フロー状態や項目とメッセージを表示します。

  • フロー実行の有効、無効を設定します。

  • 特定のコンポーネントまたはフローのデバッグを停止します。

  • コンポーネント上でブレイクポイントを定義します。

  • コンテキスト・ツリーは、並行プロセスや分岐を含むフロー実行を完全に表示します。


チェッカ

チェッカは、Magic xpiプロジェクトにエラーがないかどうかをチェックするツールです。チェッカーは、統合プロジェクト内で見つかった様々なエラーまたは問題をリポートとして表示します。潜在的な問題を解決するために率先してこの情報を使用することができます。したがって、運用時にプロジェクトの円滑な実行を確実にします。チェッカーは、プロジェクトの実行プロセスの開始前や、デバッガを実行する前に自動的に実行します。

チェッカは、以下のレベル上でプロジェクトをチェックします。

  • プロジェクト ……… このレベルでは、チェッカーはプロジェクト全体をチェックします。ここでは、チェッカーはすべてのビジネスプロセス、フロー、リポジトリ、コンポーネントとサーバに関する問題を報告します。

  • ビジネスプロセス ……… このレベルでは、チェッカーは選択されたビジネスプロセスの構成をチェックします。ここでは、チェッカーは選択されたビジネスプロセスのすべてのフロー、リポジトリ、コンポーネントとサーバに関する問題を報告します。

  • フロー ……… このレベルでは、チェッカーは選択されたフローの構成をチェックします。ここでは、チェッカーは選択されたフロー内のすべてのコンポーネントに関する問題を報告します。

  • ステップまたはトリガ ……… チェッカーは、選択されたコンポーネントの設定とそれに割り当てられた式をチェックします。

  • フォーム確認 ……… このレベルでは、チェッカーはフォームやサービス、リポジトリ内でのフィールドの欠落をチェックします。


ソース管理インテグレーション

Magic xpiは、SCC（Source Code Control) API V1.01（例えば、Microsoft のTFSやVisual SourceSafe （VSS)を使用する様々なサードパーティのバージョン管理ツールに接続することができます。

これは、以下の機能を提供します。

  • チーム開発 …… マルチ開発者環境でプロジェクトを開発することができます。各開発者はプロジェクトのソースファイルの個別のコピーで作業を行い、それらのコピーを中央バージョンと同期させる役割を果たします。

  • バージョンの保存 …… プロジェクトのバージョンを保存して、後で任意のバージョンにアクセスすることができます。マルチ開発者環境で動作したい場合に有益です。トラックを維持して、プロジェクトのバージョンにアクセスするために、一人の開発者でバージョン管理機能を使用することもできます。

  • ファイルの保護 …… ファイルを編集するには、最初にファイルをチェックアウトする必要があります。これは、ソースファイルを別のユーザによって偶発的に上書きされることから保護します。

  • トラックの変更 …… 保存した様々なバージョンを比較することができます。

  • ユーザのトレース …… 誰がバージョンを編集したを簡単に確認することができます。


リソース

［設定］ダイアログボックスの［リソース］セクションは、Magic xpa xpiが、プロジェクト実行中にアクセスする必要がある外部システムを定義します。これは、実際のプロジェクトの外で別々の位置からプロジェクトのリソースを管理する方法を提供します。異なるプロジェクトであらかじめ定義された環境設定を再利用することもできます。そして、あなたは迅速かつ容易に実行環境を変更することができます。たとえば、コンポーネントのメソッドまたはXMLインターフェースを起動する時、環境特性（例えばサーバやユーザ、ポート#）を指定する必要があります。［リソース］セクションは、コンポーネントの設定が定義済みリソースを参照して、その特性を受け継ぐことを可能にします。これらのリソースの設定は、コンポーネント、データベース、Web Service、XMLスキーマまたは他のどのユーザ定義のリソースなどと一緒に使用することができます。


Magic xpi サーバ

Magic xpi サーバは、統合プロジェクトの配備、実行、管理、維持を行うため、高性能アプリケーションサーバです。統合プロジェクトで定義されるように、Magic xpi Serverは統合プロセスを実行する実行コンテナとエンタープライズ・サービスを提供します。

Magic xpi サーバは、基礎となるメッセージングとコンテキスト・インフラとしてのインメモリのデータグリッド技術と、統合フローを実行するMagic xpi実行プロセス（ワーカー)に基づいています。

Magic xpiサーバは、以下の機能を提供します。

  • インメモリ・データグリッド技術に基づいたシェアード・ナッシングのグリッド実行アーキテクチャー

  • 無制限のノードに渡るアクティブ/アクティブ設定内のビルトインのクラスタリング機能

  • 自動的なロードバランシング機能を持つ作業ノードの数に拡張性があります

  • 統合プロセスを実行するための高性能でネイティブな実行ワーカ

  • 保証されたメッセージ配信

  • 負荷の再配置機能を持つ自動的なエラーや失敗の回復メカニズム

  • 広範囲の管理、ロギングそしてレポート機能

  • .NETとJavaによるサードパーティの拡張機能とアドオンの利用

関連トピック：

統合サービス

Magic xpiモニタ


統合サービス

Magic xpiサーバは、真のビジネス・プロセス管理を提供するために必要な機能を提供します。Magic xpiは、以下のサービスをサポートします。

  • 起動 …… 同期および非同期プロトコル

  • ルーティング …… 固定、ルールベース、ポリシーベース

  • メディエーションアダプター …… プロトコル変換とサービスマッピング

  • メッセージング …… メッセージ処理、変換と拡張

  • プロセス・コレオグラフィ…… 複雑なビジネス・プロセスの実装

  • サービス・オーケストレーション …… 一つの総計サービスとして公開される複数の実装サービスの調整

  • トランザクショナル …… フル・プロセスのトランザクション管理

  • エラー処理と回復 …… エラーや例外、失敗に対する柔軟な処理


Magic xpiモニタ

Magic モニタは、Magic xpaモニタは、Magicのインフラストラクチャーを管理し、モニタします。また、一つの直観的で使いやすいダッシュボードからプロジェクトについての正確な情報を取得することができます。プロジェクト全体の情報を表示することができ、プロジェクト内の異なるレベルを選択することができ、指定した時間の情報を表示するためにフィルタを使用することができます。表示される情報は定期的に更新されます。各プロジェクトのステータスはスペースから取得されます。

モニタはWebベースで、プロジェクトの実行時の動作についての追加情報を表示するリアルタイムデータグラフやチャート、および警告の機能が提供されます。例えば、エンジンが代替ライセンスで動作しているとか、スペースのステータスに損傷が出たことを表示します。

Magic モニタによって提供された情報は、プロジェクトを調査し、性能を改善するために修正をする必要がある場所を特定することができます。例えば、データの読み込みが遅い場合やライセンスの制限によって発生した問題を切り分けることができます。

さらに、プロジェクトを再設定するためにMagic xpiスタジオに戻ることなくサーバの調整を行うことができます。


互換性

Magic xpiに対応するさまざまなプラットホームに関する詳細は、以下のトピックを参照してください。

  • プラットホームとOS

  • データベース

  • Webサーバ

  • ミドルウェア、フレームワークとプロトコル

  • アプリケーション・サーバ


インストールガイド

このセクションでは、様々なMagic xpa xpi製品とコンポーネントのインストールやMagic xpa xpiライセンス管理についての方法を説明しています。

このセクション内のリソースをレビューし、Magic xpa xpiのインストールを行ったり修正インストールを行う前にインストール処理のウィザードに慣れるために、しばらく時間をください。

次のセクションでは、システムをインストールしたり修正する際に、遭遇するであろうMagic xpa xpiのインストールウィザードと実際のインストール処理について説明します。

  • Magic xpa xpiのインストール

  • Magic xpiファイル

  • Magic xpiライセンス

  • インストールのために必要なシステム構成


Magic xpiのインストール

このセクションでは、Magic xpiインストール処理の異なるステージについて説明しています。

  • インストールの開始

  • ウェルカムダイアログ

  • インストールディレクトリ

  • セットアップタイプ

  • プログラムフォルダの選択

  • 機能の選択

  • GigaSpacesの設定

  • データベース

  • 要約ダイアログ

  • インストールウィザードの終了

  • インストール後にデータベーススクリプトを手動で実行する

  • Magic モニタサーバサービスのインスト－ルと手動起動

  • インストール後のガイドライン

  • 言語サポート


インストールの開始

Magic xpiをインストールする前に以下のことを行ってください。

  • インストールを開始するユーザにマシンの管理者権限があることを確認してください。製品のインストール、および全てのサービスと停止と開始には管理者権限が必要です。

  • Magic xpiサーバがサポートする内部データベースにアクセスできることを確認してください。

  • システムが、Magic xpiの必要条件(インストールでのシステム要件を参照してださい)を満たしていることを確認してください。

  • 以前のMagic xpiインストールフォルダからMagic.iniファイルをバックアップしてください。

  • .NETフレームワーク4.0がPCにインストールされることを確認してください。

スペースを含む場所にインストールする場合は、Magic xpiは8.3形式(ショートネーム)のサポートを必要とします。

インストールの前に、8.3形式がサポートされていることを確認してください。これを行うには、管理者としてコマンドプロンプトを開き、以下のコマンドを実行します：

fsutil 8dot3name query <required installation drive>

例えば、Magic xpiをCドライブにインストールする場合、次のコマンドを使用してください：

fsutil 8dot3name query c:

fsutil ユーティリティは、C:\Windows\system32にあります。上記のコマンドが見つからない場合は、コマンドプロンプトでSystem32フォルダにカレントを移してください。

コマンドの結果、ボリュームの状態が「0」0(8.3形式での作成が有効)であり、レジストリの状態が「2」の場合、デフォルト(ボリュームレベルの設定)であり、8.3形式が有効で、インストールを続行することができます。

8.3形式が無効の場合、管理者として以下のコマンドを実行してください：

fsutil 8dot3name set <必要なインストールドライブ> 0

例えばCドライブ上で8.3形式を有効にするには：

fsutil 8dot3name set c: 0

設定内容を有効にするには、PCを再起動する必要があるかもしれません。

https://ja.wikipedia.org/wiki/8.3%E5%BD%A2%E5%BC%8F


Magic xpiへのローカルエージェントサポートの追加

Magic xpiにローカルエージェントサポートを追加するには、-localagentオプションを使用してMagic xpiセットアップを実行します。

これを行うには、setup.exeファイルを含むフォルダーを開きます。この場所からコマンドウィンドウを開き、setup.exeの後に--localagentコマンドを追加します。次のようになります

<Path of setup.exe>\setup.exe --localagent

これにより、ユーザーはローカルエージェント関連の構成を行うことができるインストールの実行中に、次の2つの追加画面が表示されます。

インストールが完了すると、インストーラーはMAGICXPI_LAという名前のセクションをmagic.iniファイルに追加します。このファイルで、ユーザーはローカルエージェント関連のMagic xpiサーバー構成を設定できます。 サーバー構成に関連するすべてのパラメーターの詳細については、「Magic xpiサーバー構成」ページを参照してください。

この機能は、Windowsオペレーティングシステムでのみサポートされています。


ローカルエージェント通信とデータ転送設定

ローカルエージェントの実行に必要な通信プロトコルに関する詳細を提供します。次の情報を入力する必要があります。

  • 管理ID：これは、特定の管理コンソールに属するすべてのローカルエージェントコンポーネント間で共有されます。

  • MQTTブローカーURL：これは、ローカルエージェントコンポーネントとMagic xpiサーバー間の通信手段として使用されます。 MQTTブローカーがローカルマシンで実行されている必要があります。 MQTTブローカーのデフォルトのエンドポイントURLはtcp：// localhost：1883です。 MQTTブローカーが別のアドレスで実行されている場合は、それに応じて情報を入力します。

  • MINIOサーバーのURL：これは、メッセージの転送、ログの収集、ローカルネットワークでのコネクタの更新に必要なデータを永続的または一時的に保存するために使用されます。 Minioサーバーがローカルマシンで実行されている必要があります。 MINIOサーバーエンドポイントURLのデフォルト値はhttp：// localhost：9000です。 MINIOサーバーが別のアドレスで実行されている場合は、それに応じて情報を入力します。


ローカルエージェント認証設定

クラウドへの接続に使用する認証設定の詳細を入力します。

認証情報を提供するには、[基本認証]チェックボックスをオンにします。認証部分をスキップするには、チェックボックスをオフにします。

クラウド認証を実行するための次の情報を入力します。

  • ユーザー名：クラウドに接続するためのユーザー名を入力します。

  • パスワード：ユーザーがクラウドに接続するためのパスワードを入力します。


ウェルカムダイアログ

最初にMagic xpiのインストールウイザードを実行すると、［ウェルカム］ダイアログが開きます。

Magic xpiがPCにインストールされていない場合は、［次へ］をクリックして［使用許諾］ダイアログに移行します。使用許諾を読み、受け入れてたら、［次へ］をクリックして［インストールディレクトリの選択］ダイアログを開きます。

すでにMagic xpiがインストールされているのであれば、［ウェルカム］ダイアログには以下のオプションが表示されます。

  • 古いバージョンのMagic xpiが2つインストールされている場合は、いずれか1つを手動でアンインストールしてから、もう一方をMagic xpi 4.7にアップグレードすることが要求されます。

アップグレード処理の場合：

  • PCにインストールされた古いバージョンのMagic xpiの機能のみがアップグレードされます。

  • 古いバージョンをMagic xpi 4.7にアップグレードする場合は、古いバージョンのバックアップは行われません。


インストールディレクトリ

［インストールディレクトリの選択］ダイアログで、Magic xpiインテグレーションプラットフォームをインストールしたいフォルダまたはディレクトリを入力します。デフォルトでは、C:\Magic xpi x.xフォルダにインストールされます。このディレクトリにインストールする場合は、［次へ］をクリックしてください。

別のフォルダにインストールしたい場合は、［参照］ボタンをクリックし、必要なディレクトリを選択しでください。次の画面に移るには、［次へ］をクリックしてください。

この時、アプリケーションを誰が利用するかを定義する必要があります。以下のオプションのどれかを選択してください。

  • このPCを使用する人(すべてのユーザ)

  • 私(<PCのユーザID>)のみ

  • Magic xpiを空のフォルダにインストールしなければなりません。

  • インストールパスに特殊文字"("や")"を含んでいる場合、GigaSpacesは動作しません。例： C:\Program Files (x86)

［次へ］をクリックすると［プログラムフォルダの選択］ダイアログが開きます。


セットアップタイプ

このダイアログでは、以下のセットアップタイプのどれかを選択します。

  • 標準 …… このオプションが選択されると、Magic xpiのインストールによるショートカットフォルダが自動的に作成されます。さらに、［機能選択］ダイアログに表示されるすべての機能がデフォルトでインストールされます。このダイアログの後は、［GigaSpaces設定］ダイアログに移ります。

  • カスタム …… このオプションが選択されると、［プログラムフォルダの選択］ダイアログが開きます。必要なフォルダ名を選択した後で、インストールしたい機能を選択するために［機能選択］ダイアログに移ります。

Since version:

4.5


プログラムフォルダの選択

このダイアログでは、プログラムメニューに追加するMagic xpiのショートカットの名前を入力することができます。デフォルト名が表示されていますが変更することができます。選択されたプログラムフォルダがすでに存在している場合、新しいショートカット名を入力したいかどうかの問い合わせが表示されます。［はい］が選択されると、プログラムフォルダを変更することができます。［いいえ］が選択されると、選択されたプログラムフォルダは既存のものと置き換わります。［セットアップタイプ］ダイアログで「カスタム」が選択されると、このダイアログが表示されます。

［次へ］をクリックすると［機能の選択］ダイアログが開きます。


機能の選択

このダイアログでは、インストール処理でどの機能をインストールするかを指定します。選択できる機能は以下の通りです。

  • Server …… 配備された統合プロジェクトを実行するMagic xpiサーバ。

  • Studio …… コンポーネントツールキットを含むMagic xpiスタジオ。

  • Monitor …… 実行中のモニタ機能を提供するMagic xpiモニタサーバ。このオプションを選択する時、手動でモニタサーバのサービスをインストールし開始させる必要があります。この処理は、Magic モニタサーバサービスのインスト－ルと手動起動で説明しています。

  • GigaSpaces: …… GigaSpacesインフラストラクチャーをインストールします。

  • 内部DB …… Magic xpiの内部データベースをインストールします。

  • Systinet Web Service Framework …… Systinet Web サービスフレームワークをインストールします。

  • Sample Projects …… 異なるMagic xpiの特徴と機能をもとにどのように動作するかを支援するMagic xpiのプロジェクトトをインストールします。

  • Requesters …… Javaと.NETリクエスタをインストールします。

［セットアップタイプ］ダイアログで「カスタム」を選択した場合、または既存のインストール内容を変更したい場合、このダイアログが表示されます。［次へ］をクリックすると［GigaSpacesの設定］ダイアログが開きます。


GigaSpaces構成

GigaSpacesインフラストラクチャーは、大量のデータをメモリに保存するため、一緒に動作する複数のマシンインスタンス(物理的または、仮想化された)上で実行する複数のサーバプロセスから構成されています。従って高性能でしなやかなスケーラビリティ、およびフェイルセーフな冗長性を実現しています。このダイアログは、GigaSpacesインフラストラクチャーの詳細を設定します。

  • ［GigaSpace構成の指定］セクションでは、［Grid Service Agent(GSA)をサービスとしてインストールする］のチェックボックスを選択します。これによってMagic xpiインストール処理によって自動的にGSAサービスがインストールされます。GSAサービスの名前は［サービス名］欄に表示されます。

  • ［Space構成］セクションでは、以下の特性を設定します。

  • 開発PC上だけで動作するスペースを設定したい場合は、［実行マシン］のチェックボックスを選択してください。このオプションによって、GigaSpacesの設定によって1つのGSC(これによって512MBのメモリが割り当てられます)と、バックアップの無い1つのパーティションと、LUSの実行がが予め設定されます。

  • クラスタ環境でスペースを実行させたい場合は、［実行マシン］のチェックボックスをオフにしてください。ここで、必要ならばデフォルト値のままにして後で手動でそれらを変更したり、必要な値を今入力することができます。［使用ロケーション］欄のにLUSサーバとして指定したアプリケーションサーバのアドレス(カンマ区切り)を入力してください。［GSC値］欄には、配備したいグリッドサービスコンテナの数を入力してください。［GSCメモリアロケーション(MB)］欄では、GSCに割り当てたいメモリの容量を入力してください。

  • ［Space実行環境］セクションの［パーティション数］欄では、スペースに含めて欲しいパーティションの数を入力します。最後に、各パーティションに対してバックアップを持たせるように［パーティションバックアップ］のチェックボックスを選択します。

GigaSpacesのルックアップサービス(LUS)の詳細は、以下のリンクをクリックしてください。

http://wiki.gigaspaces.com/wiki/display/XAP9/The+Lookup+Service

［GigaSpaces構成］ダイアログでGigaSpaces のGSAサービスを自動的に実行するように設定しない場合、以下のコマンドを実行することで手動でサービスをインストールしたり、アンインストールすることができます：

  • Install_GSA_service.bat (GSAをインストール)

  • Uninstall_GSA_service.bat (GSAをアンインストール)

これらのファイルは、以下のフォルダ内にインスト－ルされます：

<Magic xpi のインストールフォルダ>\Runtime\OS_Service\bat

Windows7以上のOSの場合、管理者権限でこれらのコマンドを実行しなければなりません。

［次へ］をクリックすると［データベースサポート］ダイアログが開きます。


データベース

［データベースサポート］ダイアログでは、インストール中にデータベーステーブルスペースとテーブルを作成するために、［データベーステーブルを今作成しますか］というチェックボックスを選択します。

このチェックボックスを選択しない場合、テーブルはインストール時に作成されず、後で手動で作成する必要があります。

サポートされるデータベースについての情報は、互換性のトピックを参照してください。

MSSQLのJDBCドライバ(JARファイル)だけがMagic xpiインストール時に提供されます。他のDBMSに対しては、JDBCドライバのjarを提供しなければなりません。

他の内部データベースを使用して動作させるには：

  1. 以下のフォルダにJDBCドライバのjarファイルをコピーしてください：
    <Magicxpiのインストールフォルダ>\Runtime\java\DatabaseDrivers

  2. datasource.xmlファイルでデータベースの設定を行ってください。datasource.xml で定義されたdriverClassNameがJDBCドライバと互換性があることを確認してください。

そして、内部のMagic xpiデータベースとして使用されるデータベースを選択してください。Magic xpiは以下のデータベースをサポートします。

  • MSSQL

  • Oracle (OCI 32bit のみ)

データベースを選択したら、［次へ］をクリックしてください。

選択したデータベースのデータベース情報を入力します。この画面では、[DB パーティション] チェックボックスを選択することで、Oracle および MS-SQL データベースのパーティショニングサポートを有効にすることができます。 データベース情報を入力したら、[次へ]をクリックして、選択したデータベースにデータベースのテーブル空間とテーブルを作成します。

（heb は、ヘブライ語を表しています）

(Since version: 4.13)

パスワードの暗号化

Magic xpi は内部データベースのパスワードの暗号化をサポートしています。

Magic xpi 4.13.1 を古いバージョンのMagic xpi に対してインストールする場合、インストールが完了するとインストールプロセスは内部データベースのパスワード（datasource.xml内）を暗号化します。

後でパスワードを変更する場合は、「データベースのパスワードを変更するにはを参照してください。

暗号化されたパスワードは、アンインストールの際には復号化されません。 暗号化されたパスワードの代わりに、プレーンテキストのパスワードを入力する場合はユーザの責任で実施してください。

(Since version: 4.13.1)


MSSQL

MSSQLを選択した場合、［データベースサポート］ダイアログが開きます。

Magic xpiのインストール前に、インストール処理中に内部データベースとして自動的にMSSQLを使用したい場合は、［サーバー認証］で［SQL Server認証モードとWindows認証モード(MSSQLの［サーバーのプロパティ］ダイアログの［セキュリティ］セクション)になっていることを確認してください。

Magic xpiをインストールしている同じPCにデータベースサーバがある場合、［サーバ名］欄をデフォルトの状態にしてください。デフォルトの状態は、<ホスト名>\SQLインスタンス（もしあれば)です。

リモートのデータベースサーバを使用したい場合は、［選択］ボタンをクリックして［サーバ一覧］を開いてください。［サーバ一覧］から、データベースサーバがインストールされたPCの名前を選択し、［選択］ボタンをクリックして［サーバ一覧］を閉じてください。

SQL Serverの証明書を使用してデータベースを認証するには、［Windows認証］チェックボックスをオフのままにしておいてください。また、データベースのためにユーザIDとパスワードを入力してください。ユーザとデータベースを作成するために、ユーザ証明書が十分な権限を与えることを保証しなければなりません。データベースを認証するためにWindows認証を使用する場合は、［Windows認証］チェックボックスを選択してください。

内部データベースがWindows認証モードを使用する場合、手動でデータベースを設定する必要があります。詳細は、ここをクリックしてください。

Windows認証モードを使用する必要があり、GigaSpacesインフラストラクチャーが、64ビットのJVMを使用するように設定されている場合、2つのファイル(<Magic xpiのインストールフォルダ>\Runtimeに置かれます)の名前を以下のように変更する必要があります。

  • sqljdbc_auth.dllファイルの名前に"_32bit"を付加してください。新しい名前は、sqljdbc_auth.dll_32bit になります。

  • sqljdbc_auth.dll_64bit ファイルの名前から"64bit"を削除してください。新しい名前はsqljdbc_auth.dllになります。

後でデータベースをインストールすることを選択した場合、このデータベースに必要なすべての論理名はMagic.iniファイルに定義されていますが、いくつかがセミコロンによって無効化されています。

例えば、DB_SERVER_NAMEのみ指定されていない場合、Magic.iniには以下が含まれています：

;DB_SERVER_NAME=dbservername

［次へ］をクリックすると［要約］ダイアログが開きます。


Oracle

Magic xpiはOracleデータベースサーバのV10gとV11gをサポートします。データベースサーバが異なるPCにインストールされている場合、［選択］ボタンをクリックして［サービス一覧］を開いてください。［サービス一覧］から、データベースとして使用するOracleデータベースクライアントの名前を選択してください。［サービス一覧］が閉じ、データベースのユーザ名とパスワードを入力することができます。スキーマを作成するために、ユーザ証明書が十分な権限を与えることを保証しなければなりません。

内部データベースとしてOracleを設定する場合、Magic xpiは実行時にOracleのシンクライアントを使用します。インストールはまだ、スキーマとテーブルの作成のためにOracleクライアントのインストールを必要とするファットクライアントを使用します。

datasource.xml ファイル内で、datasource URLは次のを使用します：jdbc:oracle:thin:@<tns_entry>

例：jdbc:oracle:thin:@MyTNSAlias

さらに、インストールはoracle.net.tns_admin jvm の引数を持つGigaSpaces-xpa/bin/magicxpi-setenv.bat > ADDITIONAL_OPTIONS を更新します。これは、TNSNAMES.ORAファイルを含むフォルダへのパスが含まれています。例：

set ADDITIONAL_OPTIONS=%ADDITIONAL_OPTIONS% -Dcom.magicsoftware.ibolt.home=%MAGIC_XPI_HOME%\runtime -Doracle.net.tns_admin=$ORACLE_HOME/network/admin

［次へ］をクリックすると［要約］ダイアログが開きます。


JDKの場所を選択

この画面では、ユーザーはJAVA開発環境（JDK）のインストールパスを入力する必要があります。 Magic xpiは、この画面で提供されるフォルダーにインストールされているこれらのJREを使用します。

次のJDKzインストール場所を指定する必要があります。

  1. JDK 1.8（32ビット）フォルダー

ここでは、バージョン1.8 32ビットのJAVA開発環境（JDK）インストールのパスを示します。

  2. JDK 1.8（64ビット）フォルダー

ここでは、バージョン1.8 64ビットのJAVA開発環境（JDK）インストールのパスを示します。

インストーラは、Windowsオペレーティング・システム内のJavaインストールの関連するバージョンを探し出し、識別された値でフィールドを自動で埋めようとします。

Magic xpi のインストーラは、この画面でユーザーが選択した JDK フォルダへのリンクを Magic xpi のインストールフォルダ内に作成します。


要約ダイアログ

［要約］ダイアログは、Magic xpiのインストールウイザードが、Magic xpiをインストールする用意ができてたことを示します。インストールの設定を変更する必要がある場合は、前の画面に戻るために、［戻る］をクリックしてください。

準備ができたら、［次へ］をクリックするとインストール処理が開始します。処理が終了すると、インストールの完了のダイアログが開きます。


インストールウィザードの終了

［インストール］ウイザードが正常に終了すると、［インストール完了］ダイアログが開きます。このダイアログには、以下の3つのチェックボックスが含まれています。

  • インストールを終了してRedMeファイルを表示します …… ReleaseNoteを開く場合は、このチェックボックスを選択してください。

  • インストールを終了してMagic xpi スタジオを起動します …… Magic xpiを起動する場合は、このチェックボックスを選択してください。

  • はい、MSSQLログファイルを表示します …… MSSQLログファイルを開く場合は、このチェックボックスを選択してください。

［完了］をクリックすると［インストール］ウイザードが終了します。


Magic モニタサーバサービスのインスト－ルと手動起動

Magic モニタサーバサービスをインストールする

インストール処理が完了したらに、<Magic xpiのインストールフォルダ>\Runtime\OS_Service\scriptsフォルダを開いてください。このフォルダには、以下のファイルが含まれています：

  • Magic xpi GSA(Install_GSA_service.bat)とMagic モニタサーバサービス(Install_MagicMonitor_services.bat)のインストールスクリプト

  • Magic xpi GSA(Uninstall_GSA_service.bat)とMagic モニタサーバサービス(Uninstall_MagicMonitor_services.bat)のアンインストールスクリプト

次に、以下の操作を行ってください：

  1. コマンドプロンプトを管理者権限で開きます。

  2. カレントをScriptsフォルダに移動します。

  3. Install_MagicMonitor_services.batスクリプトを実行してください。これはMagic モニタサーバサービスをインストールします。

  4. Magic モニタサーバサービスがインストールされることを確認するために、Windowsの［サービス］ダイアログをリフレッシュしてください。

Magic モニタサーバサービスを開始する前に、GigaSpaces関連の設定(LOOKUPGROUPSとLOOKUPLOCATORS 変数)が<Magic xpiのインストールフォルダ>\Runtime\RTView\magicmonitorフォルダ内にある runwebmonitor.batファイルに適切に設定されていることを確認してください。

これは、<Magic xpiのインストールフォルダ>\Tools\MgxpiLookupUpdator\MgxpiLookupUpdator.exeファイルを使用して手動で行うこともできます。

Magic モニタサーバサービスを開始する

Windowsの［サービス］ダイアログを開き、そこからMagic モニタサーバサービスを開始することができます。


インストール後にデータベーススクリプトを手動で実行する

Magic xpi のインストールには、データベース定義用のスクリプトを実行するオプションがあります。インストーラはスクリプトを db というサブフォルダにコピーし、その中に Magic xpi がサポートする各データベースのための入れ子になったサブフォルダを作成します。ユーザーは、後の段階でデータベース定義をインストールすることもできます。これは db フォルダの下にあるバッチファイルを使用して行うことができます。

  • 手動インストールを行う前に、Magic.iniファイル、Datasources.xmlおよびその他の場所のデータベースへの参照が正しいことを確認してください。

  • 移行スクリプトは、必要に応じて、プロジェクトを実行する前にすぐに実行してください。後から実行すると、データの整合性に問題が生じる可能性があります。

  • パーティショニングのサポートは、MSSQL と Oracle データベースに対してのみ追加できます。データベースのインストールでパーティショニングが有効になっていることを確認してください。

データベースの変更をインストールするためのバッチファイルはRunDB.bat、変更をロールバックするためのバッチファイルはDropDB.batです。バッチファイルに必要なパラメータの一覧については、バッチファイルと一緒に提供されるReadme.txtを参照してください。

これらのバッチ ファイルは、各データベースの下にあるスクリプトを実行します。MS-SQL と Oracle データベースの場合、スクリプトは Enterprise フォルダと Standard フォルダの下にあります。


インストール後のガイドライン

  1. Windows Server ホストで作業している場合、最初に管理者権限で Studio を開きます。 この後、スタジオは通常の権限で開始できます。

  2. 場合によっては、インストーラがデスクトップ ショートカット フォルダへの書き込みアクセス許可を付与できないことがあります。 その場合、このフォルダ内にショートカットを作成できません。

この問題を解決する場合、次のコマンドを使用して必要な権限を付与するよう管理者に依頼してください。

cacls "c:\PathToDesktopFolder" /T /C /E /G Users:F

例,

cacls "c:\%USERPROFILE%\Desktop\Magic xpi 4.13.x" /T /C /E /G Users:F

または

cacls "c:\Users\public\Desktop\Magic xpi 4.13.5" /T /C /E /G Users:F

インストール時に「このコンピュータを使用する全てのユーザ (全てのユーザ)」を選択した場合、ショートカット フォルダーは「C:\Users\Public」フォルダーの下に作成されます。

Since version: 4.13.5


言語サポート

英語以外の文字が、説明だけでなくビジネスプロセスやフロー、およびステップの名前で使用することができます。プロジェクトやリソース、サービス、および変数の名前は、英数字またはOSで使用している言語でのみ記述することができます。

Magic xpiをインストールする場合、デフォルト言語は英語になります。他の言語を利用する場合は、以下の場所に言語を設定する必要があります。

  • Magic.iniファイル内のConstFileパラメータ。例えば、日本語をサポートする場合は、以下のように設定してください：ConstFile =C:\Magic xpi x.x\Runtime\Magic xpa\mgconstw.jpn

  • Magic.iniファイルで設定している外部コードページ。

  • Windowsのコントロールパネル>地域>形式

  • コントロールパネルの地域の［管理］タブの［Unicode対応でないプログラムの言語］


Magic xpiファイル

このセクションは、異なるMagic xpiモジュールのためにインストールされるファイルについて説明し、規則正しく論理的な方式でMagic xpiファイルの管理を支援するために重要な情報を提供します。

  • Magic xpi インテグレーションプラットフォームファイル


Magic xpi インテグレーションプラットフォームファイル

このトピックは、インストールされるMagic xpiのファイルを説明し、規則正しく論理的な方式でMagic xpiファイルの管理を支援するために重要な情報を提供します。

Windows2003またはWindows2003R2を使用している場合：

  • . NET4は必須で、事前にインストールしなければなりません。

それ以上のバージョンのWindowsを使用している場合：

  • . NET4.5.2はは必須で、Magic xpiが自動的にインストールします。

以下のテーブルは、Magic xpiのインストールによって含まれる各フォルダについて説明しています。

フォルダ | 内容
db | 内部データベースを手動でインストールする場合に利用可能なデータベーススクリプト。
Extra | ここには、サンプルプロジェクト用のサブフォルダが含まれています。
Help | ここれは、REFフォルダと同様に(Magic xpaヘルプファイルを含む)Magic xpiのドキュメントが含まれています。
Runtimeフォルダ内：
addon_connectors | ユーザ定義のコンポーネントは、このフォルダ内に作成されます。
config | スペースの設定とプロジェクトを配備するための様々なファイルが含まれています。
Gigaspaces | PC上でスペースを実行するための様々なファイルが含まれています。
Gigaspaces-xpi | 追加のGigaspaces-xpiフォルダが作成されます。 このフォルダには、Magic xpiでカスタマイズされたスクリプトとjarファイルがすべて含まれています。
Icons | 様々なMagic xpiコンポーネントで使用されるすべてのイメージファイルが含まれています。ここには、独自に開発する任意のコンポーネントに対するイメージを追加する必要があります。
ifclib | コンポーネントファイル。各コンポーネントはコンポーネントと同じ名前の個別のフォルダに配置されます。これらのフォルダ内のファイルは、エディタ内のコンポーネント設定で使用されます。
java | Magic xpi のJavaクラスとJARファイル
Logs | プロジェクトの実行中に作成dされるログのためのディレクトリ。
scripts | Web関連のスクリプトが含まれています。Webエイリアスは、このフォルダを参照するサーバで定義されます。64ビットサポートのセクションを参照してください。
Temp | Magic xpiの動作中に使用されるテンポラリファイル用です。
Magic xpa フォルダ内：
Gateways | データベースゲートウェイ
Messaging | メッセージのキューイングで必要なファイル。

Magic xpiのインストール中、［インストール］ウイザードは内に特定のファイルをシステムのCommon Files フォルダ内のMagic xpiフォルダに保存します。異なるMagic xpiモジュールはこれらのファイルを使用します、従ってこのフォルダを削除しないでください。


64 ビットサポート

Magic xpiをインストールすると、32ビットのリクエスタdllがScriptsフォルダにインストールされます。

さらに、32bitと64bitと呼ばれる2つのサブフォルダが作成されて、関連したdllが含まれています。


Magic xpiライセンス

このトピックでは、Magic xpiのライセンスを説明し、それらがどう管理されるかを説明しています。

ライセンス管理

Magic xpiは、製品の各部分に対して個別のライセンスを使用するように設計されています。

ライセンス

説明

スタジオ

このライセンスは、以下のことが可能になります。

  • Magic xpiスタジオを起動する。

  • Magic xpiのプロジェクトを開発する。

  • デバッガを使用してプロジェクトをデバッグする。

サーバ

このライセンスは、Magic xpiサーバの運用を可能にします。ライセンスは、Windowsと非Windows OSで異なります。デフォルトのMagic xpiのインストールでは、サーバライセンスの評価バージョンが含まれています。

モニタ

このライセンスは、Magic xpiモニタサーバの使用が可能になります。

評価ライセンス

評価ライセンスは、製品の初期リリース日からの最高90日までの期間中、商用開発を目的としないすべての機能が利用できます。評価製品にアクセスする場合、評価ライセンスがいつ期限切れになるかをメッセージで表示します。

ライセンスタイプ

Magic xpiのライセンスファイルの様々な部分と機能についての情報については、ここをクリックしてください。

Magic xpiライセンスファイルのインストール

Magic xpiをインストールすると、デフォルトでは評価ライセンスがインストールされます。

評価ライセンスを差し替えるには：

  1. ライセンスのZIPファイルを解凍し、Magic xpiのルートディレクトリに.txtファイルをコピーしてください。

  2. Magic.iniファイルを開き、LicenseFileパラメータに移動します。ここではどのライセンスファイルにアクセスするかを指定します。この設定を修正してください。
    例：LicenseFile=c：\Magic xpi x.x\MyLicense.txt。

  3. 以下のライセンス名の1つがサーバのifs.iniファイルの[MAGIC_ENV]LicenseNameセクションに正しく設定されることを確認してください：

  • IBPRSRVI

  • IBNPSRV

  • IBPRSRVN

.iniファイル内のライセンス名がライセンスファイル内に定義されているFUTURE名と同じでない場合、以下のエラーが関連するログファイルに記録されます：

“Failed to set the license file parameters.”


インストールでのシステム要件

このセクションは、Magic xpiサーバをインストールする場合に必要な、システムとデータベースの最小限度の要件について説明しています。

  • システム要件

  • データベース要件

  • サポートする内部データベースプラットフォーム


システム要件

Magic xpiをインストールする際のシステム要件は、下記の開発システムおよび実行システムを参照してください。実行システムは実行するプログラムによって、より大きいコンピュータリソースを必要とする場合があります。使用するWindows®オペレーティングシステムは、互換性ガイドに掲載されているOSを使用してください。リソースが減少するとパフォーマンスが低下する可能性があります。

実行システムについては、アプリケーションの複雑さ、予想されるTPS（Transaction Per Second）や同時実行性によって、追加のリソースが必要になります。

開発システム

  • RAM: 16GB以上

  • CPU: Dual-core running at 2.66-GHz以上

  • 空きHDD容量: 2GB以上

  • オペレーティングシステム: Windows 8.1以上

  • Web サーバ: xpiプロジェクトでHTTPトリガーを使用する場合に必要

実行システム

  • RAM: 32GB以上

  • CPU: 2.66GHz以上、および4 物理コア(または予約済み仮想コア) 以上

  • ネットワーク:1Gbps以上

  • 空きHDD容量: 1G以上

  • オペレーティングシステム: Windows server 2016以上

  • Web サーバ: xpiプロジェクトでHTTPトリガーを使用する場合に必要

  • Magic xpiとIIS 7を利用して動作する場合に必要な設定があります。詳細は、テクニカルノートのMagic xpiとIIS 7を利用して動作させるを参照してください。

  • 上記のシステム要件は、PC上でMagic xpiサーバをインストールする場合だけです。これらの要件は、他のMagic xpiモジュールのインストールは含まれません。

  • 最低限のシステム要件は、プロジェクト固有の要件を考慮していません。

  • 上記の情報はコンポーネント設定または追加ソフトウェアなどの実行するMagic xpiコンポーネントのための追加要件を参照しません。


データベース要件

Magic xpiサーバをWindowsプラットフォームにインストールする時、以下のデータベースのどれかを使用しなければなりません。

  • Oracle Database Server 11g or 12c

  • Microsoft SQL Server 2005, 2008, 2012. or 2014

データベースは、Magic xpiサーバと同じPC上にある必要はありませんが、もしそうでなければ、Magic xpiサーバがインストールされるPC上にデータベースのためにクライアントソフトウエアが必要になります。


サポートする内部データベースプラットフォーム

以下のテーブルは、様々なプラットフォームでの各内部データベースに対するサポートレベルを表示しています。

内部データベース | Windows
MSSQL 2005 |
MSSQL 2008 |
MSSQL 2012 |
MSSQL 2014 |
MySQL |
Oracle 11 |
Oracle 12 |
DB2/400 |


はじめに

これはMagic xpiインテグレーションスイートのステップ バイ ステップガイドです。ビジネスシナリオのサンプルを例に取り、設計、開発、デバッギング、実装の詳細なステップを説明します。

このガイドは､素早くMagic xpiを利用し始められるようにMagic xpiの能力についての情報を提供します。

プロジェクト開発段階

Magic xpiプロジェクトの工程には以下の段階があります。

  • 新しいプロジェクトを作成する

  • プロジェクトリソースを定義する

  • プロジェクトサービスを定義する

  • フローの作成と設定

  • プロジェクトをテストする

  • プロジェクトを配備する

サンプルプロジェクトのシナリオ

この例では、書籍卸業者の在庫システムの在庫更新を実装する方法を説明します。

この在庫システムは、他の部署からの更新リクエストを受け取る、在庫更新というサービスを提供します。

この例では、リクエストはHTTPから送られ、出版社情報と本のタイトル情報が含まれています。サービスは、指定された出版社がデータベースに存在していて、在庫システムのデータベースでタイトルの情報を更新するかどうかをチェックします。サービスは成功もしくは失敗の通知メールを送信します。


新しいプロジェクトを作成する

Magic xpiを使用した最初のステップは、Magic xpiスタジオでプロジェクトを作成することです。Magic xpiスタジオは､Magic xpiプロジェクトの設計、開発、テスト環境を提供します。

新しいプロジェクトを定義するには：

  1. Magic xpiスタジオを開き［ファイル］メニューから［新規作成］(CTRL+Shift+N.)を選択します。

  2. ［新しいプロジェクト］ダイアログボックスでデフォルトプロジェクト名を InventoryProject に変更します。

  3. ［OK］をクリックしプロジェクト定義を保存します。

デフォルトプロジェクトの位置は、My Documentsディレクトリ内のMagicフォルダ内のになります。

次のステップは、プロジェクトリソースを定義することです。


プロジェクトリソースを定義する

プロジェクトリソースは、プロジェクト実行時にMagic xpiが接続しなければならない外部システムを定義します。プロジェクトのリソースは、独立したXMLファイルに保存され、実際のプロジェクトの外に置かれます。これはプロジェクトを変更せずに環境設定を変更したり、複数のプロジェクト間で環境設定を共有することを可能にします。

在庫管理プロジェクトには2つのリソースが含まれています：Emailサーバとデータベース

リソースを定義するには：

  1. ［プロジェクト］メニューから［設定］を選択します。

  2. ［設定］ダイアログで［リソース］にパークします。

  3. ［追加］をクリックして、［リソースタイプ］のドロップダウンリストから Email を選択してください。

  4. 新しいリソースに名前を付けます：Inventory_Email_Server.

  5. リソースプロパティを定義します。

    1. サーバタイプ: POP3

    2. 送信メールサーバ: localhost

    3. From アドレス: Inventory@warehouse.com

  6. ［設定］ダイアログで［リソース］にパークします。

  7. ［追加］をクリックして、［リソースタイプ］のドロップダウンリストから Database を選択してください。

  8. 新しいデータベースリソースの名前を定義します：Inventory_Database.

  9. データベースリソース特性を定義します。

    1. DBMS: Microsoft SQL Server

    2. データベース名: Pubs

    3. サーバ：デフォルトのローカルサーバか自身のサーバ名

    4. データベースのユーザ名とパスワード

  10. ［検証］ボタンをクリックし、データベースへ接続できるかを確認します。

  11. ［適用］ボタンをクリックしてリソース定義を保存してください。

  12. ［設定］ダイアログボックスを閉じてください。

次のステップは、プロジェクトサービスを定義することです。


プロジェクトサービスを定義する

在庫管理プロジェクトで提供されているサービスは、Update Inventoryで販売アプリケーションからのHTTPリクエストによって起動されます。

サービスを定義するには：

  1. ［プロジェクト］メニューから［設定］を選択します。

  2. ［設定］ダイアログで［サービス］にパークします。

  3. ［追加］をクリックして、［サービスタイプ］のドロップダウンリストから HTTP を選択してください。

  4. 新しいサービスに名前を付けます： Update_Inventory.

  5. 新しいサービスの説明文を記述します： Update_books_inventory.

  6. ［Webサーバ］と［エイリアス］は、環境変数によって既に定義されています。必要であれば定義を変更できます。

  7. ［エンドポイント］ボタンをクリックし［エントポイント］ダイアログボックスを開きます。

  8. ［追加］ボタンをクリックし、名前をUpdate_Publisher_Books に変更します。

  9. HTTPの呼び出しに含まれる引数を定義するには、引数セクションで［追加］をクリックし、［引数詳細］セクションで以下の引数を定義します。

    1. 名前: Publisher_ID, データタイプ: Alpha

    2. 名前: Title_ID, データタイプ: Alpha

    3. 名前: Title_Name, データタイプ: Alpha

  10. ［サンプルHTMLの生成］のチェックボックスをクリックすると、フローの起動に使用するHTMLドキュメントが自動的に作成されます。

  11. ［OK］をクリックして［エントポイント］ダイアログボックスを閉じます。

  12. 全てのサービスタイプに対して、最初に生成されるサービスはそのタイプのデフォルトサービスと定義されます。同じサービスタイプに基づきトリガを定義すると、［設定］セクションはデフォルトサービスを開きます。デフォルトサービスを変更するには、他のサービスを選択し、コンテキストメニューから［デフォルトに設定］を選択します。

  13. ［適用］をクリックして、サービス定義を保存してください。

  14. ［OK］をクリックして［設定］ダイアログボックスを閉じてください。

次のステップは、フローの作成と設定です。


フローの作成と設定

実装ステージでは、フロー内のステップを定義して設定します。

Update Inventoryサービスを実装しているフローは、HTTP updateリクエストを受け入れて、publisherがデータベース内に存在していることを確認します。Publiserが見つかった場合、タイトル・テーブルは更新され、確認の電子メールが送られます。更新されなかった場合、拒否の電子メールが送られます。

フローを作成するには：

  1. ソリューションエクスプローラでデフォルトフロー（Flow-1）にパークします。

  2. フローの名前を Update_Inventory に変更します。

  3. このフローの下の、フロー変数をダブルクリック（Ctrl+L）し、［フロー変数］リポジトリを開きます。

  4. ［追加］をクリックして新しいフロー変数を作成し、名前を F.PublisherID に変更します。項目タイプはAlpha、長さを 30 に設定してください。

  5. F.TitleID と F.TitleName という2つのフロー変数を追加します。どちらもAlphaで長さを 30 に設定します。

  6. F.PublisherExists という名前の4番目の変数を作成して、Logical に設定してください。これは、変数がTue/Falseの値を受け入れることを意味します。

  7. ［ツールボックス］ペインから、［HTTP］コンポーネントを選択して、［トリガー］エリアにドラッグします。

  8. HTTPトリガプロパティを設定します。

    1. ［設定］セクションには、トリガ設定が表示されています（これは、以前定義されたデフォルトのHTTPサービスです)。

    2. HTTPトリガコンポーネントでダブルクリックか右クリックで［設定］を選択して［コンポーネントの設定：HTTP］ダイアログを開きます。

    3. ［エンドポイント名］ドロップダウンリストからUpdate_Publisher_Booksを選択します。

    4. 以下のように、HTTPコール内に送られる引数を受け取るためのフロー変数を選択してください。

このステージでは、指定されたPubliherがPublishers データベース内に存在するかどうかについて調べるデータマッパーのステップを設定します。これを行うために、有効なpublisher レコードまたは空のレコードを返すSelectステートメントを使用します。

  1. ［フロー］エリアに［データマッパー］ユーティリティをドラッグしてください。

  2. ［プロパティ］ペインで［ステップ名］を Validate_Publisher_ID に変更してください。

  3. データマッパー上でダブルクリックか右クリックします。［設定］をクリックして［データマッパー］ウィンドウを開きます。.

  4. ツールボックスの［マッパースキーマ］セクションから、Databaseを［データマッパー］ウィンドウの［送り元］エリアにドラッグします。

  5. ［プロパティ］ペインで送り元の名を Publishers に変更してください。

  6. 以下の通りに送り元プロパティを設定してください。

    1. ［データベース定義］のドロップダウンリストから、Inventory_ Databaseを選択します。これは以前に定義したデータベース・リソースです。

    2. テーブルとカラムを選択するために［ウイザード］パラメータで [image] をクリックしてください。

    3. ［有効なテーブル］リストから、Publishersテーブルを選択します。［追加］をクリックして、dbo.[Publishers] が［選択済みテーブル］リストに追加されていることを確認してください。

    4. ［次へ］をクリックして［カラム選択］ダイアログに移動します。

    5. ［カラム］リストから、pub_idを追加します。

    6. ［次へ］をクリックして［Where句と Order By］ダイアログに移動します。

    7. 以下の通りにWhere句を定義してください： [publishers].pub_id='<?F.PublisherID?>'
      これは、指定されたpublisherのレコードだけを取得します。

    8. ［次へ］をクリックしてデータベースに送られるSQL文を表示します。

    9. ［完了］をクリックして［データベース］ウィザードの定義を終了してください。tu-rubokkusu

  7. ツールボックスの［マッパースキーマ］セクションから、項目タイプを［データマッパー］ウィンドウの［宛先］エリアにドラッグします。

  8. ［プロパティ］ペインで宛先名を"PublisherExists"に変更します。

  9. 以下の通りに宛先特性を設定してください：

    1. リストからF.PublisherExistsを選択してください。

    2. ［保存］をクリックして画面を終了します。

  10. 以下の通りに送り元を送り先にマッッピングしてください：

    1. pub_id送り元ノードを選択して、F.PublisherExists送り先ノードにドラッグしてください。この時点で、接続が2つの選択されたノードの間で確立され、さらに自動的に、親ノードの間でも確立されます。

    2. F.PublisherExistsノードにパークします。

    3. ［プロパティ］ペインで以下の計算値を挿入してください。最後の2つの文字は、2つのシングルクオーテーションである点に注意してください： src.Source/S3/Record/pub_id <>''

      これは、publisherがデータベース内で見つかった場合、項目をTrueに設定します。

    4. ［保存］をクリックして［データマッパー］ダイアログを閉じ、設定処理を終了します。

  11. 前のステップ（Validate Publisher IDD)の上で、新しい［データマッパー］ステップをドロップしてください。このステップは、publisherが見つかった場合だけデータベース内のタイトルを更新します。

    1. ［プロパティ］ペインでサービス名を"Update Titles"に変更します。

    2. ［保存］をクリックして定義を保存してください。

    3. ［コンポーネント］で右クリックして、コンテキストメニューから［条件］を選択します。

    4. 式エディタが開きます。データ項目リストを開くために、ツールバーボタンの［項目］（左からの2番目)をクリックしてください。

    5. F.PublisherExists項目で位置付け、ダブルクリックして選択します。これは、True/Falseの値だけが入力できる論理型項目です。

    6. ［検証］をクリックして、式を検証します。［OK］をクリックして式を保存します。定義された条件は、ステップの上の右側に表示されます。

    7. データマッパー上でダブルクリックか右クリックして［データマッパー］ウィンドウを開きます。

    8. ツールボックスの［マッパースキーマ］セクションから、項目タイプを［データマッパー］ウィンドウの［送り先］エリアにドラッグします。

    9. ［プロパティ］ペインで名前を"TitleDetails"に変更します。

    10. ［プロパティ］ペインの［項目］パラメータで、 [image] をクリックして［ソースプロパティ］ダイアログボックスを開きます。ここで、次の項目を選択します。 F.PublisherID, F.TitleID, F.TitleName.

    11. ツールボックスの［マッパースキーマ］セクションから、データベースタイプを［データマッパー］ウィンドウの［送り先］エリアにドラッグします。

    12. ［プロパティ］ペインで名前を"UpdateDatabase"に変更します。

    13. ［プロパティ］ペインで、以下のように宛先のプロパティを定義します。

      • データベース定義がInventory Databaseへのセットであることを確認してください。

      • ［ウイザード］パラメータで、 [image] をクリックしてウイザードを開いてください。

      • DB Operation を Insertに設定します。

      • ［データベース］ウィザードで、［Title］テーブルを選択します。

      • ［次へ］をクリックして［カラム選択］ダイアログに移動します。

      • ［カラム］リストから、title_idと titleとpub_idを選択します。

      • ［次へ］をクリックします。

    15. ［完了］をクリックしてウィザードを終了します。

    16. 以下のノードを接続することによって、送り元上の項目を送り先のデータベース・フィールドに接続します。

      • F.PublisherID から titles.pub_id

      • F.TitleID から titles.title_id

      • F.TitleName から titles.title

    16. ［保存］クリックしてマッピング定義とデータマッパーの設定を保存してください。

この時点で、新しいタイトル情報によってデータベースを更新しました。しかし、publisherが見つからない場合、データベースを更新する代わりに、拒否のeメールを送りたいところです。

  11. データマッパーのValidate Publisher ID ステップの先頭で新しい［eメール］コンポーネントをドロップします。

  12. 以下の通りに［eメール］コンポーネントを設定してください。

    1. コンポーネント名をRejection Email に変更してください。

    2. ［設定］セクションで、Inventory Email Server Resourceが選択されることを確認してください。

    3. ［eメール］コンポーネント上でダブルクリックか右クリックして［ダイレクトアクセスメソッド：Email］ダイアログボックスを開きます。

    4. ［追加］をクリックしてQuick Send メソッドを選択します。

    5. ［To］欄に受信したいeメールアドレスを設定します。例：postmaster@Magicxpi.com。

    6. ［題名］欄には次のように入力します：Inventory 拒否メッセージ。

    7. ［本文］欄には、以下を入力してください: 'タイトル ' & F.TitleName & ' は、inventoryシステムで更新されませんでした。'

最後のステップは、データベースが更新されたあと、確認のeメールを送信する別のeメール・コンポーネントを設定することです。

  13. Update Titlesステップの上位に 新しい［eメール］コンポーネントをドロップしてください。

  14. 以下の通りに［eメール］コンポーネントを設定してください。

    1. コンポーネント名をConfirmation Emailに変更してください。

    2. ［設定］セクションのeメール設定で、Inventory Email Serverリソースが選択されることを確認してください。

    3. ［eメール］コンポーネント上でダブルクリックか右クリックして［ダイレクトアクセスメソッド：Email］ダイアログボックスを開きます。

    4. ［追加］をクリックしてQuick Send メソッドを選択します。

    5. ［To］欄に受信したいeメールアドレスを設定します。例：postmaster@Magicxpi.com。

    6. ［題名］欄には次のように入力します：Inventory 確認メッセージ。

    7. ［本文］欄には、以下を入力してください: 'タイトル ' & F.TitleName & ' は、inventoryシステムで更新されました。'

    8. ［保存］をクリックしてプロジェクトを保存します。

次のステップは、フ プロジェクトのテストです。


プロジェクトをテストする

Magic xpiは、テスト・フェーズを容易にするために、デバッガを提供しています。デバッグ処理を開始します。

  1. ［デバッグxpi］メニューから、［オープン］を選択します。

  2. ブレイクポイントを定義して、ステップまたは全ての分岐を停止することで、実行をコントロールすることができます。この例ではステップを選択し、コンテキストメニューから［ブレイクポイント］オプションを選択することで、Validate Publisher IDステップ上にブレイクポイントを定義しています。

  3. 次に、デバッガ画面はデータマッパーのステップの次に赤い点でフローを表示します。そして、ブレイクポイントを示します。

  4. ［デバッガ］メニューを開き、［実行］を選択することでプロジェクトを実行してください。サーバは、実行を開始し、HTMLトリガを待ちます。

  5. Magic xpiのインストールフォルダ内の\Runtime\User Resources\Services\Update Inventory ディレクトリ内に、トリガを呼び出すために自動的に作成されたサンプルのHTMLページに位置付けます。

  6. UpdatePublisherBooks HTMLファイルを実行してください。

  7. 以下の引数に値を入力してください：

    1. PubId: 1389

    2. TitleID: abcd

    3. Title: Magic xpi Getting Started

  8. トリガーを操作するために、［Call Magic xpi］ボタンをクリックしてください。

  9. ［デバッグxpi］メニューから、［コンテキストビュー］オプションを選択してHTMLページで設定した値が以前に定義されたフロー項目に渡されることを確認してください。

  10. ［デバッグxpi］メニューから［継続］を選択してプロジェクトを実行し継続してください。［デバッグxpi］メニューから、［アクティビティログ］を選択してフローのステータスをチェックしてください。

  11. 指定したeメール・アドレスに確認メールが受信されることを確認してください。

  12. ［デバッグxpi］メニューから［停止］を選択して、デバッガを終了してください。

次のステップは、プロジェクトの配備です。


プロジェクトを配備する

プロジェクトの開発が終了した後、開発環境から運用環境へ移行する必要があります。プロジェクトが作成され、テストされた後、プロジェクトを実行サーバへコピーしてください。運用がスムーズに行われることを確実にするには、配備のトピックを参照してください。


ローカルエージェント

Magic xpi のインストールは、同じPC上でもローカルネットワーク上でも実行することができます。

いくつかのビジネスユースケースでは、ローカルネットワーク上に配置されたプロジェクトが互いに通信する必要があるかもしれません。この通信を可能にするために、Magic xpiはローカルエージェント実装を提供します。

ローカルエージェントは、あるマシン上のプロジェクトが、同じネットワーク上の別のマシンでプロジェクトステップを実行するためにリモートホストに呼び出しをしたり、フローを開始するためにリモートトリガーからの呼び出しを受信したりすることを可能にするソリューションとして定義することができます。ローカルエージェントの実装では、LAN上に追加のポートを開かず、VPN接続を使用しません。ローカルエージェントは、HTTPSやセキュアなWebソケットのような一般に利用可能なプロトコルに基づいて通信を行います。

Magic xpiは、Windowsオペレーティングシステムでのみローカルエージェントのインストールをサポートし、残りのオペレーティングシステムでは使用できません。

(Since version: 4.12)

関連トピック

  • Eclipse Mosquittoのインストール

  • Minioのインストール

  • ローカルエージェントのインストールガイド

  • 管理サーバーと管理コンソールのインストール

  • Magic xpiサーバー構成

  • ローカルエージェント管理コンソール

  • ローカルエージェントにコネクタを追加するには

  • ローカルエージェントの保護


Eclipse Mosquittoのインストール

このセクションでは、Eclipse Mosquittoのインストール方法について説明します。 Magic xpiローカルエージェントは、通信サービスのMQTTブローカーとしてMosquittoを使用します。

WindowsではEclipse Mosquittoを使用することをお勧めします。他のMQTTブローカーを使用している場合は、そのドキュメントを参照してインストールしてください。

ダウンロードとインストール

Eclipse Mosquittoは以下のページからダウンロードできます。

https://mosquitto.org/download/

Mosquitto バージョン1.5.xは、Magic xpi でテストされ、認定されています。

ダウンロードしたら、Eclipse Mosquittoをインストールしてください。

インストールが完了したら、<Magic xpi Installer>\LocalAgent\Prerequisites\Mosquitto に移動し、以下にリストされているファイルを Mosquitto インストール フォルダにコピーします。

  • broker.cmd

  • mosquitto.pass.txt

  • mosquitto_localagent.conf

構成

Eclipse Mosquittoには、アプリケーションを実行するための2つのモードが用意されています。

1 匿名モード

2 ブローカー認証モード

ローカルエージェントは両方のモードをサポートします。独自の認証を持つAPIゲートウェイの背後にMosquittoブローカーがインストールされている場合は、構成が少なくて済むため、匿名モードをお勧めします。
匿名モード

匿名モードには2つのファイルが必要です。

  • 設定ファイル（例：mosquito_localagent.conf）

  • コマンドファイル（broker.cmdなど） ユーザーは、必要に応じて、構成ファイルでポートとログファイル名を設定する必要があります。

ユーザーは、設定ファイルのポートやログファイル名を要件に応じて変更することができます。

ブローカー認証モード

ブローカー認証モードに切り替える前に、システムにローカルエージェントをインストールする必要があります。

ブローカー認証モードを使用する場合は、パスワードファイルをMosquittoフォルダーに追加し、構成ファイルで適切な参照を指定します。 次のファイルに必要なユーザー名とパスワードを入力します。

  • エージェントサービスとエージェントコネクタのapplication.propertiesファイル

  • 管理コンソールのmgmt-console-api.properties

  • Magic xpiサーバーのmagic.ini

たとえば、usernameをlocalagentとして、パスワードファイルを作成するには、Mosquittoフォルダーで次の呼び出しを実行する必要があります。

mosquitto_passwd -c mosquitto.pass.txt localagent

このコマンドを実行した後、ユーザーはパスワードの入力を求められます。パスワードを入力すると、ユーティリティは暗号化されたパスワードを含むmosquitto.pass.txtファイルを作成します。

次に、構成ファイルに次の変更を加える必要があります。

  • 以下のように、allow_anonymousパラメータを変更します。

allow_anonymous false

  • ユーザー名とパスワードファイルを定義する2行を追加します。

user localagent

password_file .\msp.txt

application.propertiesファイルでは、対応するエントリがブローカーのユーザー名とパスワードと一致する必要があります。次に例を示します。

mqtt.broker.username=localagent

mqtt.broker.password=12345qwerty

これらの値はデフォルトであり、ローカルエージェントのインストーラーによって書き込まれます。その他の値は手動で調整する必要があります。

Eclipse Mosquitto MQTTブローカーの開始

Mosquittoインストールフォルダーに移動し、broker.cmdを実行します。


Minioのインストール

このセクションでは、Minio Serviceのインストール方法について説明します。

Magic xpiローカルエージェントは、Minioをデータ転送サービスのオープンソースオブジェクトストレージサーバーとして使用します。

ダウンロードとインストール

Minioサーバーは以下からダウンロードできます。

https://www.minio.io/downloads.html

ユーザーは次のファイルをダウンロードする必要があります。

  • Minio.exe（MINIOサーバー自体）

  • Mc.exe（MINIOクライアント）

<Magic xpi Installer>\LocalAgent\Prerequisites\Minio に移動し、上記の 2 つの Minio 実行可能ファイルをダウンロードしたフォルダーに minio-storage.cmd および minio.cmd ファイルをコピーします。

構成

データフォルダの作成と定義済みバケットをデータフォルダに生成する

minio.exe と mc.exe がダウンロードされたフォルダーの下に、まだ存在しない場合は、data という名前のフォルダーを作成します。

次のコマンドを実行します。

minio-storage.cmd ./ ./data

その結果、3つのバケットが作成され、それらのバケットへのパブリックアクセス（アクセスキーとシークレットキーなし）が許可されます。

上記のコマンドを実行してもバケットが作成されない場合は、minioのホームを設定して以下のコマンドを再度実行してみてください。

set minio_home=<Path to minio>

cd <Path to minio>

call minio-storage.cmd ./ ./data

この時、Minioサーバーも起動します。

追加インスタンスでMinioサーバーを起動

Minioインストールフォルダーに移動し、次のコマンドのいずれかを実行します。

1 minio.cmd

2 minio.exe server ./data


ローカルエージェントのインストールガイド

このセクションでは、ローカルエージェントのインストールの前提条件について説明します。また、インストールプロセスのさまざまな段階の概要も示します。

前提条件

ローカルエージェントのインストールを開始する前に、次のサービスをマシンにインストールして実行する必要があります。

  • 通信に使用されるMosquitto MQTTブローカー。

Eclipse Mosquittoのインストール方法の詳細については、ここをクリックしてください。

  • Minioはデータ転送に使用されます。

Minioのインストール方法の詳細については、ここをクリックしてください。

ローカルエージェントの設定

Magic xpi のインストールが完了したら、Magic xpi のインストーラのディレクトリに戻り、ローカルエージェントのインストールを開始します。ここで、LocalAgentフォルダの中に、ローカルエージェントのインストールに必要なファイルが入っている以下の3つのフォルダを探してください。

LAN

このフォルダには、ローカルエージェントのインストールに必要なsetupLA.exeファイルが入っています。

管理画面

このフォルダには、ローカルエージェント管理コンソールの起動に必要なファイルがあります。

前提条件

このフォルダには、Mosquitto、Minio、Kongのセットアップと設定ファイルがあります。

ローカルエージェントのインストール

ローカルエージェントのインストールは、標準モードまたはサイレントモードで行うことができます。

標準モード

標準モードでインストールを開始するには、LANフォルダ内のsetupLA.exeファイルを実行します。これにより、ローカルエージェントのインストールウィザードが起動します。ローカルエージェントのインストールウィザードは、ローカルエージェントのインストール手順を案内します。ウィザードには以下の画面が表示されます。各画面で必要な情報を入力します。

  • 宛先の場所を選択

  • 共通設定

  • 通信とデータ転送の設定

  • 認証設定

  • インストールの準備

関連トピック：

新規コネクタの自動取り付け


新規コネクタの自動取り付け

ローカルエージェントは、インストールプロセスの一部としてコネクタのインストールをサポートしています。インストールするコネクタは、setupLA/addons フォルダに存在している必要があります。

ローカルエージェントのインストーラは、標準モードとサイレントモードの両方で、このaddonsフォルダからコネクタのリストを準備します。

インストーラは、setupLA/addons フォルダとその中の各コネクタのサブフォルダをスキャンします。対応するアドオンコネクタのメタデータを含む settings.dat ファイルを探します。メタデータファイルが見つかると、そのメタデータから名前とバージョン情報を抽出します。すべてのコネクタは、インストール中に選択されたInstallationFolderにインストールされます。

サイレントインストールの場合、選択したインストールフォルダに同名のコネクタが既に存在する場合、そのコネクタは変更されません。ユーザーは、config.ini ファイルの [Connectors]Overwrite フラグを True に設定することで、既存のコネクタを上書きすることができます。

標準インストールでは、選択したフォルダにコネクタが既に存在する場合、インストーラーはそれらを保持し、インストーラーに付属のコネクタをスキップします。


宛先の場所を選択

ここで、ローカルエージェントをインストールする場所を参照します。デフォルトでは、ローカルエージェントはC：\ LocalAgentにインストールされます。別の場所にインストールするには、[参照]ボタンをクリックして、インストールディレクトリを指定します。

場所を選択したら、[次へ]をクリックして[共通設定]画面に移動します。


共通設定

[共通設定]画面で、ローカルマシンにインストールされているJREへのパスを選択します。ローカルエージェントを使用するには、Java JRE 8 64ビットをローカルマシンにインストールする必要があります。 JREを選択したら、[次へ]をクリックして共通設定を続行します。

共通設定（続き）

この画面では、ローカルエージェントが使用する次の情報を入力します。

  • エージェント名：ローカルエージェントサービスを識別するために使用されます。エージェント名は、ホストマシンごとに一意であることが推奨されます。

  • 管理ID：これは、特定の管理コンソールに属するすべてのローカルエージェントコンポーネント間で共有されます。

必要な情報を入力したら、[次へ]をクリックして通信とデータ転送の設定を続行します。


通信とデータ転送の設定

ローカルエージェントの実行に必要な通信プロトコルに関する詳細を提供します。次の情報を入力する必要があります。

  • MQTTブローカーURL：これは、ローカルエージェントコンポーネントとMagic xpiサーバー間の通信手段として使用されます。 MQTTブローカーがローカルマシンで実行されている必要があります。 MQTTブローカーのデフォルトのエンドポイントURLはtcp：// localhost：1883です。 MQTTブローカーが別のアドレスで実行されている場合は、それに応じて情報を入力します。

  • MINIOサーバーのURL：これは、メッセージの転送、ログの収集、ローカルネットワークでのコネクタの更新に必要なデータを永続的または一時的に保存するために使用されます。 Minioサーバーがローカルマシンで実行されている必要があります。 MINIOサーバーエンドポイントURLのデフォルト値はhttp：// localhost：9000です。 MINIOサーバーが別のアドレスで実行されている場合は、それに応じて情報を入力します。

必要な情報を入力したら、[次へ]をクリックして認証設定の入力を続行します。


認証設定

クラウドへの接続に使用する認証設定の詳細を入力します。

認証情報を提供するには、[クラウド認証]チェックボックスをオンにします。認証部分をスキップするには、チェックボックスをオフにします。 クラウド認証を実行するための次の情報を入力します。

  • ユーザー名：クラウドに接続するためのユーザー名を入力します。

  • パスワード：ユーザーがクラウドに接続するためのパスワードを入力します。

必要な情報を入力したら、[次へ]をクリックしてセットアップを完了します。


インストールの準備

これで、ローカルエージェントをインストールする準備ができました。 [インストール]ボタンをクリックして、インストールプロセスを完了します。

ローカルエージェントがインストールされ、"Magic xpi 4.12 Local Agent"という名前のWindowsサービスとして利用できるようになります。

サービスがインストールされると、標準のWindowsサービスGUIから開始または停止できます。


管理サーバーと管理コンソールのインストール

このセクションでは、ローカルエージェント管理サーバーと管理コンソールをインストールする方法について説明します。

管理サーバーと管理コンソールは、Apache Tomcat 8アプリケーションサーバーの下にデプロイされる個別のWebアプリケーションです。たとえば、Apache Tomcat 8.5.55です。

以下、<Tomcat>はApache Tomcatインストールフォルダーを表します。例：C：\apache-tomcat-8.5.55

<管理>は、インストールパッケージの<インストーラルート>\LocalAgent\Managementフォルダです。

前提条件

Tomcatサーバーを起動する前に、次のサービスをマシンにインストールして実行する必要があります。

  • 通信に使用されるMosquitto MQTTブローカー Eclipse Mosquittoのインストール方法の詳細については、ここをクリックしてください。

  • データ転送に使用されるMinio Minioのインストール方法の詳細については、ここをクリックしてください。

配備

  1. Tomcatが実行中の場合は停止します（たとえば、<Tomcat>\binフォルダーに移動して、shutdown.batを実行します）。

  2. logback.xmlおよびmgmt.console.api.propertiesファイルを<Management>フォルダーから<Tomcat>\libフォルダーにコピーします。

  3. <Tomcat>\webapps\mgmt-console-apiフォルダと<Tomcat>\webapps\mgmt-console-api.warファイルが存在する場合は削除します。

  4. mgmt-console-api.warファイルを<Management>フォルダーから<Tomcat>\webappsフォルダーにコピーします。

構成

次のエントリを調整してmgmt.console.api.propertiesを編集します。

  • mqtt.broker.url

  • mqtt.broker.username （必要な場合）

  • mqtt.broker.password （必要な場合）

  • minio.url

  • localAgent.managementId

  • kong.use.domain.authorization

  • kong.username （必要な場合）

  • kong.username （必要な場合）

これらは、ローカルエージェントのインストールのセットアップ画面で入力された値と、Magic xpiサーバーのmagic.iniエントリと一致する必要があります。

デフォルト値は次のとおりです。

  • mqtt.broker.url=tcp://localhost:1883

  • mqtt.broker.username=localagent

  • mqtt.broker.password=12345qwerty

  • minio.url=http://localhost:9000

  • localAgent.managementId=installation1

  • kong.use.domain.authorization=false

  • kong.username= c5-dev-developer

  • kong.username=12345

管理コンソールの起動

Tomcatアプリケーションを起動します（例：<Tomcat> \ binフォルダーのstartup.batを実行します）


Magic xpiサーバー構成

前提条件

Magic xpiプロジェクトを開始する前に、次のサービスをマシンにインストールして実行する必要があります。

  • 通信に使用されるMosquitto MQTTブローカー

Eclipse Mosquittoのインストール方法の詳細については、ここをクリックしてください。

  • データ転送に使用される

Minio Minioのインストール方法の詳細については、ここをクリックしてください。

ユーザーは、Magic xpiサーバー構成を提供するために、MAGICXPI_LAセクションの下のmagic.iniファイルで以下のパラメーターを定義する必要があります。

プロパティ | 説明
管理ID | インストールを識別します（単一の管理コンソールで管理されるLANホストとクラウドホストのセット）
ステップタイムアウト | ミリ秒単位で提供されるリモートステップ実行のタイムアウト値
更新タイムアウト | ACMがミリ秒単位で提供されたリクエストを送信した後、新しいエージェントコネクタが聞こえるのを待つタイムアウト
リースタイムアウト | ミリ秒単位で提供される使用可能なエージェントコネクタのリストから削除される前の、エージェントコネクタからのハートビートなしのタイムアウト
Xpiサーバーのハートビート期間 | ミリ秒単位で提供されるMagic xpiサーバーのハートビート期間
ブローカ | MQTTブローカーのURL
データ転送 | MINIOサーバーのURL
コンガ認証 | KONG認証が必要な場合は、これをtrueに設定します。
KONGユーザー名 | KONGA uthentication値がtrueに設定されている場合にのみ必要なKONGユーザー名
KONGパスワード | KONGAuthentication値がtrueに設定されている場合にのみ必要なKONGパスワード


ローカルエージェントにコネクタを追加するには

ローカルエージェントにコネクタをインストールするプロセスについて説明します。 ここでは、JDBCコネクタの例を取り上げます。

はじめる前に

PCに下記の設定が準備されていることを確認してください。:

  • ローカルエージェントがインストールされており、必要なコネクタが存在する。

  • ローカルエージェント管理コンソールが起動されている。

  • JDBCコネクタの場合は、下記の1ステップが追加で必要です。RESTコネクタの場合は必要ありません。

必要なデータベースドライバのjarファイルを次のフォルダにコピーしてください。<LocalAgent Installation>\addons\<JDBC>\runtime\java\lib

コネクタのアップロード

  • ローカルエージェント管理コンソールを開き、All Management IDsのメニューを展開し、ドロップダウンリストから必要なIDを選択する。

  • コネクタタブを開き、「コネクタのアップロード」ボタンをクリックする。

  • <Magic xpi インストールフォルダ>\Runtime\addon_connectors フォルダを参照し、JDBCフォルダを選択してアップロードをクリックします。管理コンソールが2種類の確認メッセージが表示しますが、アップロードとOKをそれぞれクリックしてください。この操作によってコネクタはアップロードされます。

コネクタのデプロイ

  • エージェントタブを開き、名前欄の下にあるエージェントを選択し、選択したエージェントの前にある [image] ボタンをクリックします。これにより、エージェントの下にある使用可能コネクタが表示されます。

  • 使用可能コネクタタブのコネクタデプロイボタン ( [image] ) をクリックします。コネクタ選択画面が表示され、アップロード済みのコネクタが表示されます。デプロイするコネクタを選択し、デプロイボタンをクリックしてください。確認ダイアログでOKをクリックします。

  • コネクタが正常にデプロイされると、以下の図のように[使用可能なコネクタ]リストの下に、選択したコネクタが表示されます。:

プロジェクトを実行する前に、コネクタがアップロードされて正常にデプロイされているかを確認してください。続いて次の内容を実行してください。:

  • エージェントコネクタタブを開き、「新しいエージェントコネクタを開始」ボタンをクリックします。

  • 「エージェントコネクタの開始」ウィンドウでそれぞれの項目に適切な値を設定してOKをクリックします。

  • 確認ダイアログが表示されれるので、OKを選択します。

  • エージェントコネクタタブでコネクタのステータスが開始から実行中に変わることを確認します。

  • xpi スタジオで新規プロジェクトを作成します。

  • ローカルエージェントの値をTrueに設定したJDBCリソースを定義します。

  • 下図の例のようにリソース検証を行います。:

関連トピック

ローカルエージェント下でのJDBCコネクタの設定


ローカルエージェント管理コンソール

ローカルエージェント管理コンソールでは、ローカルエージェントインフラストラクチャを管理および監視できます。ユーザーは、システムで実行されているエージェントに関する情報、およびローカルエージェントごとに使用可能なコネクタを取得できます。ユーザーは、ローカルエージェントおよびローカルエージェントごとのリモート構成のログを表示することもできます。

前提条件

ローカルエージェントを開始する前に、次のサービスがマシンで稼働している必要があります。

  1. MQTTブローカー

Eclipse Mosquittoをお勧めします。 Eclipse Mosquittoのインストール方法の詳細については、ここをクリックしてください。

  2. Minio、オープンソースのオブジェクトストレージサーバー

Minioサービスのインストール方法の詳細については、ここをクリックしてください。

管理コンソールの使用

Tomcatアプリケーションサーバーがデフォルト設定を使用する場合、アプリケーションのURLはhttp：// <ホスト名>：8080 / mgmt-console-apiになります。

管理コンソールがブラウザーと同じホストにインストールされている場合、URLはhttp：// localhost：8080 / mgmt-console-apiとして入力できます。

Internet Explorerは使用しないことをお勧めします。 Chrome、Firefox、およびMicrosoft Edgeを使用して、管理コンソールにアクセスできます。]

ローカルエージェント管理コンソールには次のタブがあります。

  • エージェント

  • エージェントコネクタ

  • コネクタ

  • ログ

  • 構成

  • ディストリビューション

  • イベントログ

  • 設定


エージェントページ

エージェントはコンテナとして機能し、同じ内部で複数のエージェントコネクタをホストします。

「エージェント」ページには、使用可能なエージェントの詳細がリストされます。このタブでは、ユーザーが特定のエージェントにコネクタをデプロイすることもできます。各エージェントは複数のエージェントコネクタを持つことができます。

このページの右上にある[再起動]ボタンは、ユーザーに複数のエージェントを再起動する機能を提供します。ボタンをクリックすると、利用可能なエージェントのリストが表示され、ユーザはリストから1つまたは複数のエージェントを選択し、同じものを再起動することができます。

このページには、事前に定義された基準に基づいてエージェントを検索するためのフィルタが用意されています。利用可能なフィルタは、名前、ID、ホスト、OS、バージョン、ステータスです。

複数のマネジメントIDでの作業

ローカルエージェントのエージェント、エージェントコネクタ、およびコネクタは、特定の管理IDに関連付けられています。ローカルエージェントのインストールでは、複数の管理IDを設定できます。これらのIDは、ローカル・エージェント・インストールの一部であるmanagement-ids.xmlファイルの一部として管理されます。 このファイルは、<Tomcat Installation>/libフォルダにコピーする必要があります。詳細については、「管理サーバーと管理コンソールのインストール」ページを参照してください。

エージェントビューには、選択した管理IDまたはすべての管理IDのエージェントのリストが表示されます。これは、Management Consoleの左側ペインにあるAll Management IDsのドロップダウンメニューで設定できます。ここでは、特定の管理IDを選択したり、すべての管理IDのリストを表示したりすることができます。

マネージメントIDごとにデータを表示する機能は、エージェントコネクターやコネクターページでも同じように利用できます。

各エージェントに関する以下の詳細が[エージェント]タブに表示されます

カラム

説明

名前

エージェントの名前。

名前の横にある [image] ボタンをクリックすると、使用可能なコネクタのリストが表示されます。

管理ID

エージェントの管理IDです。この値は、特定のマネジメントコンソールに属するすべてのローカルエージェントコンポーネント間で共有されます。

このカラムは、［すべての管理ID］オプションが選択されている場合のみ表示されます。

ID

IDはエージェントサービスの一意の識別子であり、ログファイルでエージェントサービスのインスタンスを識別するために使用することができます。

ホスト

エージェントがデプロイされているホスト。各ホストには1つのエージェントのみが含まれます。

OS

ホストのオペレーティングシステム。

バージョン

エージェント上で実行されているソフトウェアのバージョン。

ステータス

これはエージェントのステータスです。ステータスは、以下の値のいずれかを持つことができます。

  • 有効

有効なステータスは、指定されたホスト上でAgentサービスが実行されているときに表示されます。ユーザーは、ステータスの横にあるDisableボタンをクリックすることで、エージェントを無効にすることができます。

無効化ボタンをクリックすると、そのAgent上でAgent Connectorsが動作している場合、Agent Connectorsを終了させるための確認メッセージがユーザに表示されます。確認すると、無効化要求が管理サーバーに送信されます。

  • 無効化

Disabled ステータスは、エージェント サービスが無効化されている場合に表示されます。このステータスでは、エージェントサービスはエージェントコネクタを実行せず、コネクタの挿入、更新、または削除の要求を受け付けません。

ユーザーは、［Enable］ボタンをクリックすることで、エージェントサービスを有効にすることができます。

  • 無効状態では、[Update]ボタンをクリックすることで、ディストリビューションのバージョンを更新することができます。Update ボタンをクリックすると、ディストリビューションを選択するためのダイアログボックスが表示されます。配布ボタンをクリックすると、新しいバージョンの配布物が配布されます。

  • 再起動

  • 無効な状態では、「Restart」ボタンをクリックしてエージェントを再起動することもできます。再起動ボタンをクリックすると、確認ダイアログが表示されます。確認すると、エージェントの再起動プロセスが開始されます。

ディストリビューションを更新している間、既存のすべてのバイナリファイルはディストリビューションからのファイルに置き換えられます。設定ファイル、すなわち、AgentService用のapplication.propertiesとAgentConnector用のapplication.propertiesがマージされます。古いプロパティは既存のインストールと同様に保持され、新しいプロパティが追加されます。

利用可能なコネクタ

エージェントには、1つ以上のコネクタをデプロイできます。コネクタをデプロイするには、 [image] ボタンをクリックします。ボタンをクリックすると、[コネクタの選択]ウィンドウが開き、指定したエージェントにデプロイできるすべてのコネクタが表示されます。デプロイするコネクタを選択して、[デプロイ]ボタンをクリックします。コネクタをエージェントにデプロイするには、確認ボックスで[OK]をクリックします。

コネクタをエージェントにデプロイする前に、コネクタを最初に[コネクタ]ページからアップロードする必要があります。

「エージェント」ページには、エージェントにすでにデプロイされているコネクタの次の詳細が表示されます。

プロパティ

説明

コネクタ名

コネクタの名前。

バージョン

コネクタのバージョン。

ランタイムテクノロジー

デプロイされたコネクターのランタイム技術。 Javaまたは.NETのいずれかです。

Runtime Technology Magic xpaは、ローカルエージェントではサポートされていません。

ステップ

この列には、コネクタにステップがあるかどうかが表示されます。

トリガー

この列には、コネクタにトリガーがあるかどうかが表示されます。

ステータス

エージェントにデプロイされるコネクターのこの状況。ステータスは次のいずれかの値になります。

  • 利用可能

  • ランニング

  • サスペンド

アクション

利用可能なコネクタでは、次のアクションを実行できます。

  • 更新

  • 削除する

エージェントコネクターは、ステータスが[一時停止]に変更された場合にのみ削除できます。

管理サーバーと管理コンソール間の接続が失われた場合、ページの上部に「管理サーバーがオフラインです」というメッセージが表示されます。


エージェントコネクタページ

[エージェントコネクタ]ページには、エージェントに展開されたエージェントコネクタの詳細と、情報が最後に同期された時刻が一覧表示されます。

[エージェントコネクタ]ページでは、ユーザーは新しいエージェントコネクタを開始したり、既存のコネクタの詳細を表示したりできます。

新しいエージェントコネクタを開始

このボタンをクリックして、新しいエージェントコネクタを開始します。必要な詳細を入力して、「OK」をクリックします。選択を終了するには、[キャンセル]をクリックします。

エージェントコネクタの詳細がこのページに表示されます。

プロパティ

説明

コネクタ名

コネクタの名前。

エージェント

コネクタがデプロイされているエージェントの名前。

ホストごとに異なるエージェント名を使用することをお勧めします。

プロジェクト

コネクタが追加されるプロジェクトの名前。

ホスト

エージェントコネクタのホストマシン名。

同じ名前のエージェントがある場合は、使用者が正しいエージェントを選択してください。

モード

エージェントコネクターのモード（ステップまたはトリガー）。

ステータス

エージェントコネクタのこのステータス。

  • ランニング

  • 一時停止

エージェントコネクタが一時停止しても、着信リクエストは拒否されません。これは、呼び出し側（Magic xpiサーバー）に、一時停止している間は呼び出し元がこのエージェントコネクタを使用しないように指示するだけです。

ロード （現在/最大）

初の数値は、現在処理中の要求の数を示しています。 2番目は、Agent Connectorが同時に受け入れることができるリクエストの最大数を表示します。

デフォルトでは、負荷の最大値は44です。その値は、connectors.xmlファイル内の各コネクタに対して変更できます。

リクエスト（失敗/成功/Ack/トータル）

ここに表示されている数字は、失敗したリクエスト、成功したリクエスト、確認したリクエスト、受信したリクエストの総数をそれぞれ表示しています。

起動(起動/戻り/タイムアウト)

このプロパティは、エージェントコネクタのトリガータイプにのみ適用されます。これは、現在 -呼出、戻り、タイムアウト の状態にあるリクエストの数を示します。

  • "呼出"カウントは、Magic xpi サーバーに送信されたリクエストの数を示します。

  • "戻り"カウントは、外部トリガーの場合のフローコンプリートレスポンスの数を示します。

  • "タイムアウト" カウントは、フローが完了せずにタイムアウトした Invoke フローリクエストの数を示す。

Asyncタイプのトリガーの場合、戻りパラメータの値は常に0である。

ID

エージェントコネクタのID。

最終更新

エージェントコネクタの最終更新時刻。

アクション

エージェントコネクタでは、次のアクションを実行できます。

  • 再開（一時停止状態の場合）

  • 一時停止（実行状態の場合）

  • 終了する

  • 一時停止 アクションは、トリガータイプの エージェントコントローラ には適用されません。

  • コネクタを修正または削除する前に、トリガータイプの エージェントコントローラを使用しているプロジェクトを停止してください。

情報のフィルタリング

上記の情報は、エージェントコネクタの詳細テーブルの任意の列でフィルタリングできます。

フィルター条件を選択し、フィルターする値を入力し、[適用]ボタンをクリックして、選択した条件に基づいてデータをフィルターします。フィルター基準を取り消すには、「クリア」ボタンをクリックします。

情報は、以下のリストの列のいずれかに基づいてフィルタリングおよび検索できます。

  • コネクタ

  • エージェント

  • プロジェクト

  • ホスト

  • モード

  • 状態

  • ID

  • 新しいエージェント コネクタに対するサーバーの応答を待つタイムアウト値は、デフォルトで 5 分に設定されています。

プロジェクトが起動していない場合、タイムアウト期間に達すると、Agent Connector は終了し、このページの Agent Connector リストから削除されます。

  • 管理コンソールからトリガー エージェント コネクタを起動することはお勧めしません。ローカルエージェントトリガーを含む Magic xpi プロジェクトが起動すると、トリガーエージェントコネクタは自動的に起動します。


コネクタページ

[コネクタ]ページには、コネクタストレージに保存され、エージェントサービスが実行されているホストに展開する準備ができているコネクタが一覧表示されます。ユーザーは、自分のマシンまたはネットワークからコネクタストレージにコネクタをアップロードすることもできます。

コネクタをアップロード

[コネクタのアップロード]ボタンは、ローカルエージェント管理サーバーのコネクタストレージにコネクタをアップロードする機能をユーザーに提供します。

Connector SDKのLocal Agent Compatible = Trueフィールドで構築されたコネクタはアップロードのみが可能です。コネクタメタデータの[ローカルエージェント互換]フィールドにより、ローカルエージェントに必要な事前定義されたパラメーターを持つリソースが確実に含まれます。

コネクタのランタイム技術は、Javaまたは.NETのいずれかである必要があります。 Magic xpaとしてのランタイムテクノロジを備えたコネクタはサポートされていません。

このオプションは、 全ての Management ID リストからManagement IDが選択されている場合にのみ使用できます。 全てのManagement IDオプションが選択されている場合、ユーザーはコネクタのリストを表示できますが、新しいコネクタをアップロードすることはできません。

制限事項

  • metadata.xmlファイルを持たないSDKコネクタはアップロードできません。

  • アップロードできるのは、UIタイプが動的（D）であるコネクタのみです。

  • UIタイプを静的（S）に変更すると、エラーがスローされ、コネクタのアップロードに失敗します。

コネクタに関する次の詳細がこのページに表示されます。

プロパティ

説明

名前

コネクタの名前

バージョン

コネクタのバージョン

サイズ

コネクタのサイズ（キロバイト）

実行テクノロジー

デプロイされたコネクターのランタイム技術。 Javaまたは.NETのいずれかです。

ステップ

コネクタにステップがあるかどうかを表示します。

トリガー

コネクタにトリガーがあるかどうかを表示します。

アクション

コネクタストレージ内のコネクタに対して、次のアクションを実行できます。

  • 削除

  • プッシュ

[プッシュ]ボタンをクリックすると、利用可能なエージェントのリストが表示されます。ここでコネクタをデプロイしたいエージェントを 1 つ以上選択し、「Deploy」ボタンをクリックします。確認ダイアログが表示されますので、OK ボタンをクリックして選択を確認してください。

コネクタが変更中または無効の状態になっている エージェント や、既にデプロイ済みの エージェント は、利用可能な エージェントの一覧には表示されません。

データ コネクタ

コネクタがデータマッパーのデータコネクタタイプに属しているかどうかを表示します。

(Since version: 4.13.3)

Magic xpi Studioのコネクタリソースの検証は、ローカルエージェントを介して行われません。リソースのローカルエージェントプロパティがTrueに設定されている場合でも検証されません。リソースからの接続はStudioのネットワークでアクセス可能である必要があります。


ログページ

「ログ」ページでは、エージェントのログを表示およびダウンロードするオプションをユーザーに提供します。ユーザーは、ホストにデプロイされたエージェントのログを表示できます。 ログをダウンロードするには、ユーザーはソース列から関連するエージェントサービスを選択できます。 「ログ」ページには、使用可能なログのリストが表示されます。ログテーブルには、特定のホストとエージェントのログが表示され、ログが最後に更新された日時が表示されます。

ログのフィルタリング基準

ログは、さまざまな基準に基づいてフィルタリングできます。

ソースに基づいてフィルタリング

ログをフィルタリングできるさまざまなソースは次のとおりです。

  • エージェントサービス

  • Javaコネクタ

  • NETコネクタ

  • エージェントコネクタ

間隔に基づくフィルター

ログは、時間間隔または日付範囲に基づいてフィルタリングできます。ユーザーは、開始日と終了日を指定してログをフィルタリングできます。

ファイル名に基づくフィルター

ユーザーは、ファイル名を指定してログをフィルタリングすることもできます。

.NETコネクタは、ロギングにNLogシステムを使用する必要があります。他のロギングシステムは、必要なログを生成しません。

NLogシステムの詳細については、

https：//github.com/NLog/NLog/wiki/Tutorialなどのサイトにアクセスできます。


構成ページ

[リモート構成]ページでは、ユーザーはデプロイされたコネクタの構成を変更できます。変更された構成値は、[エージェント]タブとcurrent.application.propertiesファイルに反映されます。

設定を変更したら、[保存]ボタンをクリックして、更新した値を保存します。 [保存]ボタンをクリックするとダイアログが開き、ユーザーに古い値と新しい変更値が表示されます。

[OK]をクリックして値を保存するか、[キャンセル]をクリックして保存せずに終了します。

ユーザーが更新できる構成値は次のとおりです。

プロパティ | 説明
エージェント名 | エージェントの名前
エージェントサービスのハートビート期間[ミリ秒] | 値はミリ秒単位で指定する必要があります。デフォルトは30000で、範囲は3000〜300000ミリ秒です。
エージェントコネクタのハートビート期間[ミリ秒] | 値はミリ秒単位で指定する必要があります。デフォルトは30000で、範囲は3000〜300000ミリ秒です。
エージェントサービスログレベル | 可能な値がINFO、DEBUGであるエージェントサービスのログレベル
エージェントコネクタログレベル | 可能な値がINFO、DEBUGであるエージェントサービスのログレベル
コネクタログレベル | 可能な値がINFO、DEBUGであるエージェントサービスのログレベル
ログのクリーニング間隔[日] | 値は日数で指定する必要があります。デフォルトは7で、範囲は1〜30です。

このページでは、エージェントコネクタの詳細を以下のように表示しています。

プロパティ | 説明
パラメータ | エージェントサービスのパラメータ
現在値 | エージェントコネクタの各パラメータの現在値を表示します。 これは修正して保存することができます。変更した値を保存する前に、確認ダイアログが表示されます。
新しい値 | これは、エージェント コネクタの変更された値を表示します。
許容値 | 許可された値が表示されます。新しい値は、設定した範囲内で設定できます。
説明 | パラメータの説明です。


ディストリビューションページ

顧客は、異なるシステム上でLocal Agentを稼働させていることになります。新しいバージョンのLocal Agentサービスがリリースされると、顧客は各システムで個別に管理しなければなりません。これを回避するために、集中管理が可能なディストリビューション機構が導入されました。

ディストリビューション・ページでは、ユーザーはローカル・エージェント・サービスのディストリビューションを管理することができます。ユーザーは、エージェント サービス ディストリビューションの新しいバージョンをアップロードしたり、追加されたバージョンを削除したりすることができます。

ディストリビューションのアップロード

このボタンをクリックして、新しいバージョンの エージェントサービス ディストリビューションをアップロードします。フォルダ選択ダイアログボックスが表示されます。ディストリビューション・フォルダへのパスを選択し、[OK]をクリックして、ディストリビューションをアップロードします。選択を終了するには、[キャンセル]をクリックします。

ディストリビューションへのパスが有効で、同じバージョンの配布物が配布物リストに存在しない場合、ユーザーに確認画面が表示されます。確認後、ディストリビューションがアップロードされます。アップロードが完了すると、新しいバージョンがディストリビューションページで利用可能になります。

バージョンが既にストレージに存在する場合は、エラーメッセージが表示されます。

選択したフォルダが無効な場合は、フォルダ内に不足しているファイルのリストと共にエラーメッセージが表示されます。

［ディストリビューション] ページには、エージェント サービス ディストリビューションの次の詳細が表示されます。

カラム

説明

バージョン

エージェントサービスの配布バージョンです。

サイズ

エージェントサービスの配布サイズ。

説明

アップロードしたディストリビューションの説明文。

アクション

ディストリビューションには以下のアクションが可能です。

  • 削除

選択したエージェントのディストリビューションを削除します。

有効なディストリビューションの選択

アップロード中は、エージェントサービスのアップデートに必須のファイルがbinフォルダに存在している必要があります。bin フォルダには AgentService フォルダと AgentConnector フォルダがあります。bin フォルダには、descriptor.json と localagent.updater.jar ファイルも含まれている必要があります。

以下のファイルをLocal Agentサーバにアップロードします。

1 AgentService/localagent.agent.service.jar

2 AgentService/application.properties

3 AgentConnector/localagent.agentconnector.jar

4 AgentConnector/ application.properties

5 AgentConnector/DotnetBridgeApp/NLog.dll

6 AgentConnector/DotnetBridgeApp/XPI_SDK.dll

7 AgentConnector/DotnetBridgeApp/Newtonsoft.Json.dll

8 AgentConnector/DotnetBridgeApp/NLog.config

9 AgentConnector/DotnetBridgeApp/DotnetBridgeNetCpp.dll

10 AgentConnector/DotnetBridgeApp/DotnetBridgeNetWrapper.dll

11 AgentConnector/DotnetBridgeApp/DotnetBridgeNet.dll

Tomcatサーバはデフォルトでは、ディストリビューションのアップロードサイズを制限しています。これにより、ディストリビューションのアップロード中にエラーが発生する可能性があります。この制限を克服するには、Tomcatの設定のmaxSwallowSizeの値を-1に設定することをお勧めします。

例えば、以下のようにします。:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxSwallowSize="-1" />


イベントログページ

イベントログページでは、ホスト上に配置されたエージェントのイベントを表示するオプションを提供します。ユーザーは、コネクタで実行された Insert、Update、または Delete 操作に関するイベントを表示することができます。Insert と Update の両方の操作は Update 操作として記録されます。

イベントログは、管理サーバーのメモリに保存されます。サーバーを再起動したり、設定ページの「コンテンツの更新」ボタンからコンテンツを更新すると、イベントログはクリアされます。

このページでは、Management Serverによるコネクタの変更要求とエージェントの応答も別のイベントとして表示されます。

また、イベントログ内のすべてのレコードは、管理サーバーが書き込んだ永久ログにコピーされます。

イベントログのフィルタリング基準

イベントログをフィルタリングできるさまざまなソースは以下の通りです。

  • エージェント

  • イベント

  • メッセージ

イベントログページには、以下のようなイベントの詳細が表示されます。

カラム | 説明
日時 | イベントのタイムスタンプ
エージェント | イベントが発生したエージェント
イベント | イベントの種類
メッセージ | イベントメッセージのテキスト


設定ページ

ユーザーは、このページでローカルエージェントに関連するさまざまな設定を行うことができます。

コンテンツをリフレッシュ

[コンテンツの更新]ボタンをクリックすると、Management Serverのすべてのデータベーステーブルがクリアされ、関連性がなくなった可能性のあるすべてのレコードが削除されます。これにより、サーバーは実際のソースからメッセージを受信し、実際のデータでテーブルをリセットできます。

コンテンツの更新ボタンをクリックすると、実行中のイベントログ、エージェント、エージェントコネクタに関する一時的な情報がクリアされます。

ユーザーはこのページで以下の詳細情報を確認することができます。

名前 | 説明
管理ID | これは、特定の管理コンソールに属するすべての ローカルエージェント間で共有されます。
ビルドバージョン | エージェントサービスのバージョンを配布しています。
ブローカーURL | ローカルエージェントコンポーネントとMagic xpiサーバ間の通信媒体として使用するMQTT ブローカーです。
ストレージURL | メッセージの転送、ログの収集、ローカルネットワークでのコネクタの更新などに必要なデータを恒久的または一時的に保存するために使用されるMINIOサーバのURLです。


ローカルエージェントの保護

次のローカルエージェントのコンポーネントはSSL暗号化によって保護されます。

ローカルエージェント管理コンソール

ローカルエージェント管理コンソールは、Apache Tomcatで動作します。このApache Tomcatのインストールは のインストールはユーザが行うため、Tomcatのインストールパスが異なる場合があります。ローカル・エージェント管理コンソールを保護する前に ローカル エージェント管理コンソールを保護する前に、管理サーバと管理コンソールのインストールページで提供される手順に従って、管理コンソールを構成します。サーバーと管理コンソールのインストール]ページで提供される手順に従って設定します。

SSLを実装するには、tomcatのconfフォルダにあるserver.xmlとweb.xmlのファイルを変更する必要があります。ファイルに変更を加える必要があります。以下の手順に従ってください。Apache TomcatにSSLを実装するには？ 、の手順に従い、適宜変更してください。SSL用に同じポートを維持したい場合、ローカルエージェント管理コンソールのデフォルトポートは8010です。コンソールのデフォルトポートは、8010です。

設定が完了したら、Local Agent Management Consoleのサービスを再起動します。

Mosquitto

MosquittoのSSLを有効にするには、Mosquittoの公式ドキュメントに記載されている手順で行います。

Minio

MinioのSSLを有効にするには、Minioのドキュメントに記載されている手順に従います。


xpi Cloud Native

Cloud Nativeは、Dockerizationを使用して、クラウドまたはオンプレミスですぐに展開できるプロジェクトを構築、展開、実行できるようにし、パブリック、プライベート、ハイブリッドクラウドで拡張性のあるプロジェクトを実行し、クラウド配信モデルが提供する分散コンピューティングを利用できるようにします。

Cloud Nativeサービスは、DockerやKubernetesなどの技術を使用してCloud Nativeアプリケーションを構築、展開、管理するための包括的で標準的なプラットフォームを開発者に提供します。

xpi Cloud Native アプリケーションのメリット

  • プロジェクトの容易な展開

  • 迅速なスケーリング

  • 高い可用性

  • 環境の監視を簡素化

  • xpiプロジェクトのホットスワップ

Cloud Nativeのアプローチにより、Dev-2-Deployサイクルを最適化することで、市場投入までの時間を短縮することができます。

Magic xpiは、オンプレミスからクラウドネイティブへの移行を行うために、Dockerを使ったコンテナアーキテクチャを利用しています。

Dockerに関する詳細は、https://docs.docker.com/get-started/overview/ を参照してください。

xpiクラウドネイティブの特徴

  • Magic xpiプロジェクトからxpi Studioまたはコマンドラインを使用してDockerイメージを作成します。

(Since version: 4.13.5)

関連トピック

xpi Cloud Native セットアップ前提条件

Docker インストール

プロジェクトDockerイメージのパッケージ

Dockerの重要なコンセプト


xpi Cloud Native セットアップ前提条件

xpi Cloud Native セットアップは、xpi プロジェクトイメージのビルド、プッシュ、実行について、Docker コマンドラインインターフェース（CLI）を使用します。このDocker CLIは使用するコンピュータのLinux環境にインストールされている必要があります。WindowsにはWSL機能が組み込まれていますが、これはLinuxの媒介体になることができます。

Magic xpi インストーラには、WSLを有効するための長くて複雑なプロセスや、Ubuntuのインストール、構成と依存関係のチェック、最終的にDockerをインストールするプロセスを簡素化するためのスクリプトが含まれています。

Linux Dockerインストールの前提条件

xpiプロジェクトのDockerイメージをビルドするには、下記のインストールが必要です。

  • Windows 10 version 1909(OS build 18363.1049) 以降

  • WSL2 (Windows Subsystem for Linux) の有効化 および Ubuntu 20.04 LTS のインストール

  • Docker のUbuntuへのインストール

もし、何らかの前提条件が不足していたり、スクリプトでエラーが発生した場合、マニュアルでのインストールが必要です。Docker Installation ページのマニュアルインストールの章を参照してください。


Docker インストール

Home > xpi Cloud Native > Docker インストール

Dockerのインストール

前提条件

  • Windows 10 version 1909(OS build 18363.1049) 以降

WSLの有効化

WSLを有効化するには、<Magic xpi インストールフォルダ>\Studio\Docker\scripts folderに移動します。このフォルダで、コマンドプロンプトを管理者権限で起動し、PrepWSL2.bat を実行してください。

これによりWSLが有効になります。バッチファイルを実行後に、コンピュータを再起動してください。

WSLの詳細については、次のリンクを参照してください。https://docs.microsoft.com/en-us/windows/wsl/install

Ubuntu のインストール

ストールが始まります。この処理は（システムの構成によりますが）数分で終了します。

次に、UNIXユーザアカウントの作成を促されます。その案内に沿って、ユーザ名とパスワードを設定してください。これでインストールは終了です。

注意：ユーザ名とパスワードは後で必要になるので、覚えておいてください。

Windowsストアに移動して、Ubuntu 20.04 LTSを検索します。「入手」ボタンをクリックしてローカルマシンにダウンロードします。ダウンロードが完了したら、「開く」ボタンをクリックするとイン

DockerをWSLにインストール

Docker をインストールするには、<Magic xpi インストールフォルダ>\Studio\Docker\scripts に移動します。このフォルダでコマンドプロンプトを管理者権限で開き、Install_Docker.bat を実行してください。

インストールに成功すると、コマンドプロンプトに"Docker is running message" と表示されます。


プロジェクトDockerイメージのパッケージ

このトピックでは、プロジェクトのDockerイメージをビルドするプロセスを説明します。ビルドされたイメージはDocker hub リポジトリにプッシュすることができます。

Dockerイメージをビルドする前に、プロジェクトのビルドは成功しておく必要があります。

Dockerイメージのビルドは、下記のパラメータがあります。太字で記載されているパラメータは必須項目です。

パラメータ | 説明
Docker イメージ名 | Dockerイメージ名はプロジェクト名であり、英小文字で ある必要があります。必要に応じて変更することができます。 Dockerイメージ名の命名規則については こちらを参照してください。
タグ | Dockerタグは、ユニークなアイデンティティを提供し、Dockerイメージの識別を容易にします。タグを利用すれば、同じイメージの複数のバージョンをロールアウトすることができます。1つのイメージに複数のタグを付けることができます。 タグを入力すると、Docker Image Name（上図）は以下のようなフォーマットで表示されます。 name:tag タグはオプションで、タグを入力しない場合は、イメージは最新版としてタグ付けされます。 このフィールドは、「Docker Imageを作成する」チェックボックス（下図）を選択したときに使用できます。
エンジンバージョン | これは、プロジェクトのDockerイメージに埋め込まれるMagic xpiのバージョンです。
プロジェクトのZip SHA-256 | プロジェクトはZIPとしてパッケージ化され、このフィールドにはフィンガープリント/SHA-256チェックサムが表示されます。(今後の機能のために実装されました)
プロジェクト Zip の位置 | プロジェクトのZIPファイルがビルドされている場所に移動します。(今後の機能拡張のために実装されました)
Dockerイメージの作成 | このチェックボックスをクリックすると、Docker イメージの作成に必要な以下のプロパティが表示されます。
ベースイメージ Hub URL | Studioがイメージを取得（pull）するDocker HubのURLを設定します。 例：https://hub.docker.com/ デフォルトのベースイメージのHub URLは、10.23.23.7:8034 ベースイメージHubは、Magic モニタ、GigaSpaces、xpi プロジェクトのベースイメージのDockerイメージをホストし、URLはpublicまたはprivateリポジトリを指定することができます。
ベースイメージHub ユーザ名 | ベースイメージHubに接続するユーザ名を設定します。
ベースイメージHub パスワード | ベースイメージHubに接続するパスワードを設定します。
保存 | デフォルトでは、このチェックボックスはチェックされていません。ベースイメージハブへの接続に使用されたパスワードが保存されます。
イメージをプロジェクトフォルダに保存 | このラジオボタンを設定すると、ローカルマシンのプロジェクトフォルダにDockerイメージを保存します。イメージは、プロジェクトフォルダ下のDockerフォルダに保存されます。
ターゲットハブにイメージをアップロード | このラジオボタンを設定すると、下記パラメータで設定されたターゲットイメージHubにDockerイメージをアップロードします。
ターゲットDocker Hub URL | プロジェクトのDockerイメージをプッシュするターゲットDocker Hub URL。このURLは、ベースイメージHubと同じURLにすることができます。また、publicかprivateレジストリのどちらでも指定することができます。 イメージをこのリポジトリにpublishする前に、publish権限があることを確認してください。
ターゲットDocker Hubユーザ名 | ターゲットDocker Hubに接続するユーザ名を設定してください。
ターゲットDocker Hub パスワード | ターゲットDocker Hubに接続するパスワードを設定してください。

Dockerイメージのビルドのダイアログでは、下記のボタンがあります。:

ボタン | 説明
キャンセル | Dockerイメージビルドの生成プロセスをキャンセルします。
イメージ生成 | Dockerイメージ生成を開始します。


Dockerの重要なコンセプト

DockerFile

DockerFileには、Dockerコンテナ・イメージの構築方法が記載されています。DockerFile は、Dockerイメージの作成プロセスを自動化します。このファイルには、Docker Engineが使用するコマンドラインインターフェイス（CLI）命令のセットが含まれており、Docker Engineがイメージを組み立てるために実行されます。イメージを構築するためにDocker Engineが実行するコマンドラインインターフェース（CLI）命令のセットが含まれています。

Docker イメージ

Dockerイメージは、コンテナを作成するためのブループリントです。このイメージには、アプリケーションと、アプリケーションをコンテナとして実行するために必要なツール、ライブラリ、および依存関係が含まれています。

Dockerイメージを使用すると、コンテナの複数のインスタンスを実行することができます。

Docker コンテナ

Dockerコンテナは、Dockerイメージの実行インスタンスです。Dockerイメージ は読み取り専用のファイルであるのに対し、コンテナはライブで一時的な実行可能なコンテンツです。ユーザーはコンテナに対して 管理者は、ドッカーコマンドを使用して、コンテナの設定や状態を調整することができます。ドッカーコマンドを使用して設定や条件を調整できます。

Docker レジストリ

Dockerレジストリとは、Dockerイメージの保管・配布システムです。レジストリは、識別のためのタグ付けを使用して複数のイメージのバージョンを維持します。


リファレンスガイド

リファレンスガイドには以下のトピックが含まれています：

プロジェクト

Magic xpi 設定ファイル

設定

ビジネスプロセス

フロー

式エディタ

エラー

フローコンポーネント

ソース管理

ユーティリティ

プロジェクト開発ツール

サーバ

Magic モニタ

xpi モニタ

配備


プロジェクト

Magic xpiを利用してインテグレーション・ソリューションを構築する際、まず始めにアウトラインフォームにプロジェクトを定義し、それから詳細を追加していきます。 Magic xpiでは、プロジェクトを開始する前にプロジェクトの全体像と個々の構成パーツを想定しておくことを推奨します。中で組み合わせられるのかを把握することがきます。

関連トピック

プロジェクト構造

相対パス表記

書式

Magic xpiスタジオを使用する

［ワークスペース］ペイン

テキスト検索

リファレンス検索

インポート/エクスポート

環境変数

エンコード処理

Unicodeサポート


プロジェクト構造

このトピックでは､どのようにMagic xpiプロジェクトが作られるのか、どのような要素を組み合わせて効率的なプロジェクトを構築するかを説明しています。

ビジネスプロセス

最初にプロジェクトをビルドする際に考慮すべきことは、全体像のシナリオです。要するに、プロジェクト全体がどのように見え、動作するかを理解することで、プロジェクトの設計プロセスの間、とても役に立つツールといえます。

ビジネスプロセスは､ビジネスプロセスビューで作成します。しかしこれは､統合プロジェクトをMagic xpiを使用して作成する為､必ずしも必要ではありません。

フロー

フローは､作成されたビジネスプロセスを実行可能なステップとして構成します。フローとプロセスの関係は柔軟です。別な言い方をすれば､一つのフローは一つもしくは複数のプロセスを構成でき、また一つのプロセスが複数のフローから構成されることもあります。詳細については､こちらをクリックしてください。

  • プロジェクトには少なくとも1つのビジネスプロセスと1つのフローが必要です。

  • それらを削除しようとする前に、フローと変数が他のフローで使用されていないことを確かめてください。リファレンス検索ユーティリティを使用して確認することができます。

コンポーネント

コンポーネントは､フロー内でインテグレーション機能として使用されます。コンポーネントは接続、互換、変換、処理といった機能を持つことができます。Magic xpiには､即利用可能なコンポーネントの集まりが含まれています。さらに、コネクタビルダーを使用して独自のコンポーネントを開発することもできます。詳細については､こちらをクリックしてください。

ユーティリティ

ユーティリティは、プロジェクトに関するより多くのコントロールを提供するビルドブロックです。これらは、プロジェクトを作成する間に実行する動作を定義するために使用されます。Magic xpiの主要なユーティリティはデータマッパーです。詳細は、ここをクリックしてください。

ステップ

ステップは、フロー内のコンポーネントもしくはユーティリティのインスタンスです。各フローには、フローロジックを実装する一つもしくは複数のステップで構成されています。

リソース

リソースとは、プロジェクト実行時にMagic xpiがアクセスしなければならない外部システムのことです。これらのシステムは、［設定］ダイアログボックスの［リソース］セクションで定義されます。［リソース］セクションは、実際のプロジェクトの外部からプロジェクトのリソースを管理することができます。詳細については、こちらをクリックしてください。

サービス

サービスとは、フローがどのように外部のシステムから起動できるようにするかを設定できるようにするために公開されている機能です。これらの公開されているサービスを［設定］ダイアログボックスの［サービス］セクションで管理、定義することができます。詳細については､こちらを参照してください。

コンテキスト

コンテキストとは､フローの共有メモリ環境とそれによって呼び出される全てのリニアなフローのことです。コンテキストにはフロー開始時に初期化される共有コンテキスト変数が含まれ、最初のフローが終了するまでそのフローそしてそのリニアなフローから利用することができます。


相対パス表記

相対パスの表記は、Microsoft® Windows® の定義を踏襲します。以下のテーブルよく使用されるファイルパスとその例です。

相対パス表記例 | 説明
D:\NetShare\Dam.xsd | 要求されるファイルは、Magic xpiディレクトリの外にあります。
..\..\Dam.xsd | 要求されるファイルは、Magic xpiのルートディレクトリにあります。
..\Dam.xsd | 要求されるファイルは、Magic xpiプロジェクトのディレクトリにあります。
Dam.xsd | 要求されるファイルは、現在アクティブなプロジェクトのディレクトリにあります。
..\..\logs\Dam.xsd | 要求されるファイルは、Magic xpiルートディレクトリ内とは別のディレクトリにあります。
..\project1\Dam.xsd | 要求されたファイルはMagic xpiプロジェクトディレクトリ内の他のディレクトリにあります。 をクリックしてください。

  • ドット二つ ("..") は、ディレクトリ階層を一つ上がります。親ディレクトリを指します。.

  • カレントディレクトリを示す為に (".\") とタイプするとファイル名のみが表示されます。

  • カレントディレクトリのファイルを選択するとファイル名のみが表示されます。


書式

書式は、Magic xpiがデータをどのように入力または表示するかを指定する文字列です。Magic xpiでは、日付などの一般的な属性を持つデータ項目については、最もよく使用される書式が自動的に定義されます。

2つの異なる状況で書式を指定する必要があるかもしれません。

  • データマッパーのフラットファイルんのソースまたは宛先の［フラットファイル］欄

  • Magic xpiのデータ変換機能用にデータの変換規則を定義する場合。たとえば、Str 関数は、数値型を文字型表記に変換します。その結果、Str (712.93, '###.####') は、文字列712.9300を返します。

書式の文字列は、次の3 種類の文字で構成されます。

  • 機能指示記号

  • 位置指示記号

  • マスク文字

Magic xpiの各書式には、独自の指示記号があります。

関連トピック

文字型書式の指示記号

数値型書式の指示記号

日付型書式の指示記号

時型型書式の指示記号

構文規則


機能指示記号

機能指示記号は、書式のどの位置に置いても同じ意味に解釈される書式文字です。例えば、次の3つの書式があるとします。

N####、####N、##N##

  • これらはいずれも、正および負の値を持つことのできる4桁の整数を表します。

  • Nは、この型に負の値が含まれる可能性があることを示す機能指示記号です。書式文字列内のNの挿入位置はどこでもかまいません。これはほかの機能指示記号も同様です。

機能指示記号は全て大文字で指定する必要があります。


位置指示記号

位置指示記号は、書式内で位置を指定する書式文字です。したがって、書式文字列内の挿入位置に基づいて解釈されます。例えば、次の3つの書式があるとします。

UXX、XUX、XXU

これらはそれぞれ、異なる3バイトの文字を表します。

文字型項目の位置指示記号"U"は、キーボードからデータが入力された時に、「U」の位置に対応する文字を大文字に変換するよう指定します。したがって、書式「UXX」は最初の入力文字を大文字に変換し、「XUX」は2番目の入力文字を大文字に変換します。このように、位置指示記号の挿入位置は非常に重要です。

位置指示記号は全て大文字で指定する必要があります。

位置指示記号は書式内にいくつでも使用できます。続けて繰り返しマスク文字を指定する簡単な方法については、「カウント値」の説明を参照してください。


文字型書式の指示記号

次の表は、文字型/Unicode型書式の位置指示記号の一覧です。

指示記号 | 説明
X{n} | 任意の文字に対するプレースホルダー。
U{n} | 入力した英文字（半角）を大文字に変換
L{n} | 入力した英文字（半角）を小文字に変換
#{n} | 数字やシンボル記号（. , - + * /）に対するプレースホルダー。 データ入力時に、Magic xpiは、ユーザが数字を#で指定された位置に入力したことを検証します。

文字型の書式が定義されたデータ項目では、"X"や"U"、"L"、または"#"を文字のタイプとして扱います。XやU、Lそして#sの定義数はデータ項目のサイズを表します。

n …… カウント値を表しています。

{ } …… オプション値を表しています。


数値型書式の指示記号

DataMapperでサポートされている書式は、N12.4ZCおよびN12.4CZです。 ユーザーは、これらの指示記号を部分的に組み合わせて書式形式を作成することもできます。 チェッカーは、他の組み合わせに対して検証エラーを発生させます。

これらの指示記号では大文字と小文字が区別されます。 チェッカーは、小さなケースで指示記号を入力するとエラーをスローします。

フラットファイル以外のスキーマタイプの場合、これらの指示記号は、[常にカスタム画像のプロパティを使用する]が[はい]に設定されている場合にのみ有効です。

フラットファイルスキーマの場合、指示記号は行定義内で定義する必要があります。 これらの指示記号はノードプロパティに反映されます。

以下の表は、数値画像の位置指示記号のリストを示しています。

位置指示記号

指示記号 | 説明
#{n} | 数値のプレースホールダー
. | Magic.iniファイルで定義される、小数点の挿入位置を表します。

機能指示記号

指示記号

名前

説明

N

負数入力

この指示記号は、データ入力時に負数が入力できることを指示します。「Yes」を選択すると、書式の表示サイズがテンプレートの記述に従って自動的に拡大され、負数記号を表示できるようになります。

デフォルト: No

C

3桁区切

この指示記号は、データを3桁ごとにカンマで区切るように指示します。「Yes」を選択すると、書式の表示サイズがテンプレートの記述に従って自動的に拡大され、区切り文字を表示できるようになります。このカンマは、Magic.iniファイルの［３桁区切文字］で指定された文字に置き換えることができます。

デフォルト: No

L

左詰

この指示記号は、データを左寄せで表示するよう指示します。

デフォルト: No (右寄せ)

Pc

余白埋

この指示記号は、データ数字が含まれていない部分に、[文字]欄にて指定した文字を表示するように指示します。文字を指定しない場合、空白で表示されます。

デフォルト: No

Zc

0値表示

この指示記号は、データがゼロの場合、全ての桁に、「文字」欄にて指定した文字を表示するように指示します。文字を指定しない場合、空白で表示されます。with blanks.

デフォルト: No

-c{,S};

負数符号

負の値の前（または後）に表示する文字を指定します。

負の値の前に通常のマイナス記号（－）以外の文字列を表示する場合、「-」指示記号のすぐ後に"新しい前付符号"と"カンマ"、"新しい後付符号"、最後にセミコロン(；)を続けて指定します。負の値の最後に文字列を表示する場合は、接尾辞パラメータに表示させたい文字を入力してください。

例:

  • 書式"N4.3+,CR;-,DB;" …… 正の数値は文字列"CR"を、負の数値は、"DB"を接尾辞として指定します。.

  • 書式"N10.2C+$;-$-;" …… 負の数と正の数の両方で"$" という文字の接頭辞が表示されます。この指定は、通貨を表示する場合に利用されます。

+c{,S};

正数符号

正の値の前（または後）に表示する文字を指定します。

正の値の前に通常のマイナス記号（+）以外の文字列を表示する場合、「+」指示記号のすぐ後に"新しい前付符号"と"カンマ"、"新しい後付符号"、最後にセミコロン(；)を続けて指定します。負の値の最後に文字列を表示する場合は、接尾辞パラメータに表示させたい文字を入力してください。

例

  • 書式"N4.3+,CR;-,DB;" …… 正の数値は文字列"CR"を、負の数値は、"DB"を接尾辞として指定します。.

  • 書式"N10.2C+$;-$-;" …… 負の数と正の数の両方で"$" という文字の接頭辞が表示されます。この指定は、通貨を表示する場合に利用されます。

数値型書式の項目では、#指示、カウント値やオプションの３桁区切の文字によって、数値を定義します。これは、デフォルトのストレージフィールド・モデルと変数の長さを順番に定義します。

n …… カウント値を表しています。

{ } …… オプション値を表しています。

c …… マスク文字を表しています。cが表示される場所で、指示文字（たとえばX）を使用するには、\Xのように、前にバックスラッシュを指定してください。

関連トピック

数値型書式の例


数値型書式の例

次の表は、数値型書式の表示例です。

属性の値 | 書式 | 結果 | コメント
-1234.56 | ######.## | ^^1234.56 | 負の数値は使用不可
-1234.56 | N######.## | ^^-1234.56 | 負の数値も使用可能
-1234.56 | N######.##C | ^^-1,234.56 | カンマを表示
-1234.56 | N######.##L | -1234.56^^ | 左詰で表示
-1234.56 | N######.##P* | -**1234.56 | 余白埋部分にアスタリスクを表示
0 | N######.##Z* | ********* | 数値がゼロのため、全体をアスタリスクとして表示
-13.5 | N##.##-DB; | DB13.50 | 負の値の記号として"DB"を使用
45.3 | N##.##+CR; | CR45.30 | 正の値の記号として"CR"を使用
-13.5 | N##.##-(,); | (13.50) | 負数符号を表す前付符号と後付符号として括弧を使用
4055.3 | $######.## | $^^4055.30 | $をマスク文字として表示

^は、1桁のスペース文字を表します。


日付型書式の指示記号

次の表は、日付型書式の位置指示記号の一覧です。

位置指示記号

指示記号 | 説明 | 範囲
DD | 月間の日付を示す数字 | 1-31
DDD | 年間の日付を示す数字 | 1-366
DDDD | 月間の日付の英語表記 | 1st, 2nd, 3rd, 4th など
MM | 月を示す数字 | 1-12
MMM | 月名の略語表記 | Jan, Feb, Mar など
MMM... | 月の英語表記（「M」は3～10桁使用可能であり、月の名前が「M」の数より少ない場合、残りは空白を表示） | N/A
YY | 年を示す数字の末尾2桁 | 0-99
YYYY | 年を示す数字4桁 | N/A
W | 週間の曜日を示す数字 | 1-7
WWW | 曜日名の略語表記 | Sun, Mon, Tue, Wed など
WWW... | 曜日の英語表記（「W」は3～10桁使用可能であり、曜日の名前が「W」の数より少ない場合、残りは空白を表示） | N/A
/ | 日付区切文字の挿入位置（挿入される文字はMagic.ini ファイルの[日付区切文字]にて指定） | N/A
##/##/## | Magic.ini ファイルの[日付タイプ]の設定により、日付をDD/MM/YY、MM/DD/YY、またはYY/MM/DDの型式で表示します。 |

機能指示記号

指示記号

名前

説明

Zc

0 値表示

この指示記号は、データがゼロの場合、全ての桁に、「文字」欄にて指定した文字を表示するように指示します。

文字を指定しない場合、空白で表示されます。

'c'は、マスク文字を表します。指示記号として予約されている文字（例えばX）をマスク文字として使用したい場合、その文字の前に円記号（\）を置きます。

デフォルト: No

T

空白詰

この指示記号は、位置指示記号の「WWW...（曜日）」「MMM...（月）」「DDDD（日付の英語表記）」により挿入された空白を削除するよう指示します。これらの位置指示記号は、使用可能な最大の桁数で書式文字列に指定されるため、指定した長さより短い名前には不要な空白が作成されることがあります。この指示記号は、これらの空白を全て削除します。

空白が必要な場合、マスク文字として明示的に書式文字列に挿入する必要があります。^は、1桁のスペースを表します。

TWWWWWWWWW^DDDD^MMMMMMMMM,YYYY

デフォルト: No

サンプル

日付型のデフォルトの書式は##/##/##として定義されています。この場合、［動作環境］ダイアログの［日付タイプ］欄の指定（［A=アメリカ］、 ［E=ヨーロッパ］、または［J=日本］）に応じて、MM/DD/YY、DD/MM/YY、またはYY/MM/DDの型式で日付が表示されます。

デフォルトの書式を変更すると、この欄にはデータが実際にどのように出力されるかを示すテンプレートが表示されます。すなわち、表示されるマスク文字や、属性が画面または帳票フォームで使用する桁数を確認できます。

関連トピック

日付型書式の例


日付型書式の例

次の例で使用されている日付は1997年3月21日です。この場合日付の値は、729104になります。これは、西暦1年1月1日からカウントされた日数です。

書式 | 結果
MM/DD/YY | 03/21/97
DD/MM/YY | 21/03/97
YY/MM/DD | 97/03/21
DD/MM/YY | 21-03-97 [日付区切文字]が-に設定されている場合
DD-MM-YYYY | 21-03-1997 「-」 はマスク文字
YY.DDD | 97.081
##/##/## | 03/21/97,Magic.ini ファイルの[日付タイプ]が[A=アメリカ]に設定されている場合
 | 21/03/97, Magic.ini ファイルの[日付タイプ]が[E=ヨーロッパ]に設定されている場合
 | 97/03/21, Magic.ini ファイルの[日付タイプ]が[J=日本]に設定されている場合
MMMMMMMMMM^DDDD, ^YYYY | March^^^^^^21st,^1997
MMMMMMMMMM^DDDD, ^YYYYT | March^21st,^1997 機能指示記号Tにより空白詰
WWWWWWWWWW^-^W | Saturday^^^-^7
WWWWWWWWWW^-^WT | Saturday^-^7 指示記号Tにより空白詰

^は、1桁のスペース文字を表します。


時刻型書式の指示記号

次の表は、時刻型書式の位置指示記号の一覧です。

位置指示記号

指示記号 | 説明 | 範囲
HH | 時間 | 00-99
MM | 分 | 00-59
SS | 秒 | 00-59
: | 時刻区切文字の挿入位置（挿入される文字はMagic.iniファイルの[時刻区切文字]にて指定） |
PM | AMまたはPMを表示し、時間を12時間制（1～11）にて表示 | AM or PM

機能指示記号

指示記号 | 名前 | 説明
Zc | 0 値表示 | この指示記号は、データがゼロの場合、全ての桁に、「文字」欄にて指定した文字を表示するように指示します。文字を指定しない場合、空白で表示されます。 'c'は、マスク文字を表します。指示記号として予約されている文字（例えばX）をマスク文字として使用したい場合、その文字の前に円記号（\）を置きます。 デフォルト: No
 | サンプル | Magic xpiでは、時刻型属性のデフォルトの書式マスクがHH:MM:SSとして定義されているので、この表示領域にも、最初はHH:MM:SSの型式で時刻が表示されます。デフォルトの書式を変更すると、この領域にはパラメータが実際にどのように出力されるかを示すテンプレートが表示されます。すなわち、表示されるマスク文字や、パラメータが画面または帳票フォームで使用する桁数を確認できます。

関連トピック

時刻型書式の例


時刻型書式の例

次の表は、時刻型書式の表示例です。

値 | 書式 | 結果 | コメント
(00:00からカウントされた秒数) |  |  |
30000 | HH:MM:SS | 08:20:00 | 24時間制で表示される時刻
60000 | HH:MM:SS | 16:40:00 | 24時間制で表示される時刻
30000 | HH:MM PM | 8:20 am | 12時間制で表示される時刻
60000 | HH:MM PM | 4:40 pm | 12時間制で表示される時刻
60000 | HH:MM PM | 4-40 pm | Magic.ini ファイルで[時刻区切文字]が"-"に設定されている場合
60000 | HH-MM-SS | 16-40-00 | "-"はマスク文字


デフォルトの位置指示記号

文字型とUnicode型、数値型において最もよく使用される属性を、位置指示記号の省略形で定義できます。

書式をカウント値のみで記述した場合、デフォルトの位置指示記号が繰り返されているものと解釈されます。解釈されるデフォルトの指示記号は、型に応じて次のようになります。

型 | デフォルトの指示記号
文字/Unicode | X（任意の文字の位置を示します）
数値 | #（1 桁の数値の位置を示します）

この方法により、次の表に示すように、最も頻繁に使用される書式を簡単に定義できます。

型 | 実際の書式 | 同義の書式
文字/Unicode | 7 | XXXXXXX または X7
文字/Unicode | 3U2 | XXXU2 または X3UU
数値 | 4 | #### または #4


マスク文字

書式文字列の中で、機能指示記号と位置指示記号以外の文字は、全てマスク文字です。マスク文字は、実際のデータ値に挿入されて表示されます。例えば、文字列$#####は、常に先頭にドル記号を付けて表示される5桁の整数の属性を定義します。

マスク文字の挿入位置は重要です。 #####$というように、ドル記号を右端に指定すると、ドル記号はデータの右端（#####$）に表示されます。

マスク文字はデータには格納されません。格納される項目のサイズや内部表現には影響しません。

マスク文字は書式内にいくつでも使用できます。続けてマスク文字を指定する簡単な方法については、「カウント値」の説明を参照してください。

マスク文字は大文字または小文字で指定できます。しかし、マスク文字として大文字を使用する場合、エスケープ文字を使う必要があります。


書式作成時の構文規則

大文字/小文字の区別

機能指示記号と位置指示記号は、全て大文字で指定します。小文字はマスク文字として解釈されます。

例：

書式XXXXXは、5文字の文字型属性を定義します。

書式XXxXXは、マスク文字xが含まれる4文字のデータを表します。

エスケープ文字

エスケープ文字「\」は、その直後の文字がマスク文字であることを明示的に指定します。これにより、指示記号によって暗黙的に指定された意味を無効にし、マスク文字として使用できるようになります。

例：

書式XX\XXは、真中にマスク文字Xが挿入された4文字のデータを表します。この例の場合、文字「\」って、その直後のXがマスク文字として解釈されます。

重量をポンドで表現した4桁の数値を想定し、この値の前にPを付けて表示するものとします。この場合、単に書式をP####と指定すると、Pが余白部分を埋める機能指示記号として解釈されるため、希望どおりに表示されません。そのため、\P####と指定します。

「\」文字自体をマスク文字として使用する場合は、「\\」というように2回指定してください。

カウント値

カウント値は、書式に同じ文字を繰り返し使用する時に使用できます。カウント値は繰り返し使用する文字の後ろに配置して、その文字の繰り返し回数を指定します。

例：

$#4は$####と同義です。

X6はXXXXXXと同義です。

X3U2はXXXUUと同義です。

カウント値は、位置指示記号またはマスク文字に使用できます。


Magic xpi スタジオを使用する

統合プロジェクトを作成すると、情報はMagic xpiプロジェクトファイル(.ibp)に保存されます。このファイルは、Magic xpiサーバでのみが扱えるフォーマットで保存されます。このフォーマットには二つの長所があります。読み書きが早く行われ、他の人が解読することができません。使用されるバイナリーフォーマットはサーバでのみ認識できます。この特性は他の人がファイルがを開き、改ざんされたくない場合に有用です。

Magic xpiのプロジェクトファイルは、統合プロジェクトを実行するためにMagic xpiサーバによって実行時に使用されます。このセクションでは、Magic xpi スタジオを使用してプロジェクトを作成する方法について説明します。

スタジオ起動のオプション

Since version: 4.5

Magic xpi スタジオの起動方法を定義するために［スタートアップ時］ドロップダウンリストを使用することができます。このリストは、［ツール］メニューから［オプション］をクリックし、［環境］セクション内で［スタートアップ］を選択することでアクセスできます。 ここには以下のオプションが提供されています：

  • ホームページを開く

  • 最後に読み込んだソリューション

  • ［プロジェクトを開く］ダイアログボックスの表示

  • ［新しいプロジェクト］ダイアログボックスの表示

  • 空の環境の表示

関連トピック

プロジェクトを開く

複数プロジェクトサポート

新しいプロジェクトを作成する

プロジェクトの保存とビルド

Magic xpiのショートカット

Magic xpiツールバー

必要なライセンス


プロジェクトを開く

以前に使用して保存したプロジェクトを開くことができます。プロジェクトには、作成されたフローが含まれています。

既存のプロジェクトを開くには：

  1. ［ファイル］メニューの［開く］をクリックして、［プロジェクト／ソリューション］(Ctrl+Shift+O)を選択すると［プロジェクトを開く］ダイアログボックスが開きます。

  2. 開きたいプロジェクトを選択します。

  3. ［開く］をクリックすると（または、リストからプロジェクトをダブルクリックすると）、プロジェクトが開きます。

  • プロジェクト一覧が［プロジェクトを開く］ダイアログボックスで表示されない場合、Magic xpiのprojectsフォルダを探し、プロジェクトファイルをダブルクリックしてください。

  • もし正しいプロジェクトフォルダ内にプロジェクトファイルが表示されない場合、正しいファイル形式が表示されているか確認してください。プロジェクトを保存した時のファイル形式に従い、正しいファイル形式を選択してください。

  • 新しいプロジェクトを開くと User_Resources\Componentsディレクトリにある全てのコンポーネントが［ツールボックス］ペインに表示されます。


複数プロジェクトサポート

Magic xpiの複数プロジェクト機能は、複数のプロジェクトを同じMagic xpiインストレーションの一部として展開することができます。つまり複数のプロジェクトを同時に同じサーバを使用しながら実行することができます。Magic xpiモニタを複数プロジェクトの集中モニタ用と管理用に使用することができます。


複数プロジェクトの実行

Magic xpiでプロジェクトを作成した場合、Magic xpiはプロジェクトを起動するために以下のようなショートカットを作成します。

  • Start

  • Stop

  • Restart

スタート → プログラム → Magic xpi x.x → Projects → <プロジェクト名> → メニューからこれらのショートカットにアクセスできます。

Magic xpiのインストール時にショートカットフォルダを作成することを選択した場合、以下のショートカットフォルダにもショートカットができます。Projects → <プロジェクト名>


新しいプロジェクトを作成する

新しいプロジェクトを作成するには：

  1. ［ファイル］メニューから［新規作成］をクリックして［プロジェクト］を選択すると[新しいプロジェクト]ダイアログボックスが開きます。

  2. プロジェクト名を入力します。プロジェクト名は数値、スペースや特殊文字から始めることはできません。また、長さは30桁までになります。さらに、プロジェクト名は半角の英数字のみをサポートします。

  3. プロジェクトを作成したいフォルダを指定してください。

  4. ソリューション名は、デフォルトでは新しいプロジェクトに割り当てる名前と同じになります。［ソリューションのディレクトリを作成］のチェックボックスがチェック（デフォルト）されていると、必要に応じて、ソリューション名を変更することができます。

  5. 新しいプロジェクトをソース管理にふくめた場合は、 ［ソース管理に追加］のチェックボックスを選択してください。.

  6. ［OK］をクリックして、新しいプロジェクトを開きます。変更を保存せずにダイアログボックスを閉じるには、［キャンセル］をクリックします。

  • プロジェクト情報の定義が完了すると、Magic xpiは、［場所］欄に設定されたパスに新しいフォルダを作成します。フォルダ名は、［名前］欄に入力した名前が使用されます。

  • プロジェクトのフォルダを変更すると、Magic モニタがプロジェクトを見つけられるように、ApplicationsList.xml内のパスの定義を変更する必要があります。詳細は、ここをクリックしてください。

  • 新しいプロジェクトを設定すると、同じ名前のプロジェクトがすでに存在していないかどうかチェックされます。すでに同じ名前のプロジェクトが存在する場合は、別の名前を使用するよう求めるエラー メッセージが表示されます。

  • デフォルトのプロジェクト位置は、Magic フォルダ内の My Documentsディレクトリの下にあります。


プロジェクトプロパティ

［プロジェクトプロパティ］ウィンドウを使用すると、新しいプロジェクトのプロパティを定義したり、既存のプロジェクトのプロパティを編集したりすることができます。このウィンドウを開くには、既存のプロジェクトで［プロジェクト］メニューを選択し、<プロジェクト名>のプロパティをクリックします。

  • Magic xpi モニタで監視している場合、プロジェクトの設定を変更することができません。

  • ［リソース］セクションまたは、［設定］ダイアログボックスの［サービス］セクションで変更を加えると、異なるリソースまたはサービスファイルの内容をロードすることによるプロジェクトのプロパティは更新されません。

このウィンドウには、以下のセクションがあります：

  • 詳細

  • 環境

  • モード設定のクリア

設定

説明

詳細

名称

この編集不可フィールドは ［新しいプロジェクト］ダイアログボックスで入力されたプロジェクト名が表示されます。

説明

このフィールドには、プロジェクトの概要をテキスト入力できます。

変更

プロジェクトが最後に保存された日付と時刻を表示します。このフィールドは編集できません。

オーナー

このプロジェクトに責任を持つ人または組織を表示します。このフィールドは編集できません。オーナ名はMagic.ini ファイルのOwnerパラメータから取得され、編集することが可能です。

バージョン

Magic xpiのバージョンとは関係ないプロジェクトのバージョンを表示するためにバージョン番号を入力します。

プロジェクト データ エンコーディング

データマッパーによって作成されるXMLで使用されるデフォルトのエンコード方法を選択します。［XMLプロパティ］ダイアログボックス内の［XMLファイルエンコーディング］プロパティ内の各データマッパー送り先XML(またはXML送り先)のためのデフォルトのエンコーディングを上書きすることもできます。Magic xpiでサポートされる言語セットのリストについては、サポートされたエンコーディングを参照してください。

リソース設定ファイル

スタジオで使用したいリソースファイル名を選択するために [image] をクリックしてください。このようにしてリソースファイル名を選択すると、即使用できるように読み込まれます。選択されたリソースファイル名は、プロジェクトのifs.iniファイルに保存されます。ifs.iniでこの設定を変更すると、プロジェクトは新しい設定によって読み込まれます。

このフィールドは環境変数をサポートします。

サービス設定ファイル

スタジオで使用したいサービスファイル名を選択するために [image] をクリックしてください。このようにしてサービスファイル名を選択すると、即使用できるように読み込まれます。選択されたサービスファイル名は、プロジェクトのifs.iniファイルに保存されます。ifs.iniでこの設定を変更すると、プロジェクトは新しい設定によって読み込まれます。

このフィールドは環境変数をサポートします。

カレンダー設定ファイル

スタジオで使用したい休日カレンダーで使用するカレンダー設定 XML ファイルを選択するために [image] をクリックしてください。スタジオは、選択されたファイルからカレンダーのエントリを読み込みます。カレンダーへの変更は、このファイルにも保存されます。

(終了したら［OK］をクリックして詳細を保存し、ダイアログボックスを閉じます。詳細を保存せずにダイアログボックスを閉じたい場合は、［キャンセル］をクリックします。


サポートされるエンコーディング

Magic xpiは、標準のエンコーディングオプションを使用して、さまざまな言語のプロジェクトファイルを読み取ることができます。以下は、Magic xpiによってサポートされている言語エンコーディングです。

言語/文字セット | コード
西ヨーロッパ言語/文字 | ISO-8859-1
中央および東ヨーロッパ言語/文字 | ISO-8859-2
南ヨーロッパ言語/文字 | ISO-8859-3
北ヨーロッパ言語/文字 | ISO-8859-4
キリル言語/文字 | ISO-8859-5
Cyrillic (Windows) | Windows-1251
アラブ言語/文字 | ISO-8859-6
ギリシャ語 | ISO-8859-7
ヘブライ言語/文字 | ISO-8859-8
トルコ語 | ISO-8859-9
タイ語 | ISO-8859-11
US-ASCII | US-ASCII
Unicode(UTF-8) | UTF-8
Unicode(UTF-16) | UTF-16
日本語 | Shift-JIS
日本語 | EUC-JP
日本語 | ISO-2022-JP
韓国語 | EUC-KR
中国語 | GB2312
台湾語 | Big5

Magic xpiにインポートされた古いプロジェクトのうち、サポートされないエンコーディングを使用しているものは、西ヨーロッパ言語/文字セットに変換されます。


プロジェクトの保存とビルド

Magic xpiは、<My Documents>\Magic\projects\<プロジェクト名>\<現在のプロジェクト>\Source ディレクトリ内に、XMLフォーマットでプロジェクト定義ファイルを保存します。プロジェクトを開発している場合、変更内容を保存するには、[ファイル］メニューの［選択されたファイルを上書き保存］(Ctrl＋S)または［すべてを保存］（Ctrl＋Shift+S）を選択します。Magic xpiはXMLファイルに変更内容を保存します。Magic xpiは保存オプションのために構文チェッカーを実行しません。

新しい名前で既存のプロジェクトのコピーを保存することもできます。これを行うには、［ファイル］メニューで［別名で保存］を選択します。リネームされたプロジェクトは、オリジナルのプロジェクトと同じフォルダに保存されます。(Since version: 4.5)

プロジェクトを配備したい場合、実行可能ファイル(.ibp)としてプロジェクトを保存する必要があります。これを行うには、［ビルド］メニューで以下のオプションのどれかを選択してください。

  • ソリューションのビルド …… 実行可能ファイル (.ibp)を作成するために、修正されたオブジェクトの作成処理上での多数の最適化規則を使用します。Magic xpiはプロジェクト(修正されたオブジェクトだけ)を保存し、プロジェクトファイルをロードし、プロジェクトレベル上のチェッカーを実行します。チェッカーでエラーが見つかった場合、Magic xpiはプロジェクトをビルドしません。［ソリューションのビルド］オプションを使用する時、Magic xpiチェッカーは、使用されていないデータ項目をチェックしないことに注意してください。

  • ソリューションのリビルド …… 最適化規則を無視します。Magic xpiはプロジェクトを保存し、プロジェクトファイルをロードし、プロジェクトレベル上のチェッカーを実行させます。チェッカーでエラーが見つかった場合、Magic xpiはプロジェクトをビルドしません。

［ビルド］メニューは、追加オプションも提供します：ソリューションのクリーン。 このオプションは、 <My Documents>\Magic\projects\<プロジェクト名>\<現在のプロジェクト>フォルダ から以下のファイルとフォルダを削除します：

  • <プロジェクト名>.ibp

  • mappergenerate

  • Temp

  • _opt

プロジェクトをビルドする際、構文チェッカーがエラーを見つけた場合、エラーメッセージが表示されます。[エラー表示］ボタンをクリックすると［チェック結果］ダイアログボックスが開きます。

  • プロジェクトをビルドする時に、プロジェクトのフォルダ内のTempフォルダを開かないようにしてください。この操作は、ビルド処理をプロセスを妨害するかもしれません。

  • ビルド処理によって、スタジオはstart.xmlと呼ばれているファイルを作成します（Magic.iniのStartProjectFileNameには、実際の名前が定義されます)。作成されたstart.xmlファイルはMagic xpiのインストールフォルダに置かれ、プロジェクト起動に使用される設定を保持します。このXMLファイルは、<My Documents>\Magic\projects\<プロジェクト名>\<現在のプロジェクト>フォルダに配置されたテンプレートに基づいています。これはビルド処理によってのみ作成され、ファイルが存在しない場合だけ作成されます。

  • プロジェクトを異なるPCに移行する場合は、新しいプロジェクトの位置とホスト名に対応するようにStart.xmlファイルを修正しなければなりません。

  • 期限切れのlicense.datファイルを使用してプロジェクトをビルドしようとすると、"Abnormal Termination: your license has expired" というエラーが発生します。

関連トピック

配備のために使用する実行可能ファイルを作成するには


Magic xpiスタジオでのキーボードショートカット

Magic xpiスタジオでは、以下のショートカットが使用できます。

コマンド | ショートカット
［ファイル］メニュー
新規作成 > プロジェクト | Ctrl+SHIFT+N
開く > プロジェクト/ソリューション | Ctrl+SHIFT+O
選択されたファイルを上書き保存 | Ctrl+S
すべて保存 | Ctrl+SHIFT+S
終了 | Alt+F4
［編集］メニュー
切り取り | Ctrl+X
コピー | Ctrl+C
貼付 | Ctrl+V
削除 | Del
検索 > テキスト検索 | Ctrl+SHIFT+F
検索 > リファレンス検索 | Ctrl+F
［表示］メニュー
ソリューションエクスプローラ | Ctrl+W, S
出力 | Ctrl+W, O
ツールボックス | Ctrl+W, X
前に戻る | Ctrl+–
次に進む | Ctrl+SHIFT+–
プロパティウィンドウ | Alt+Enter
［プロジェクト］メニュー
設定 | Ctrl+E
チェッカー | Ctrl+R
［ビルド］メニュー
ソリューションのビルド | Ctrl+SHIFT+B
［デバッグ xpi］メニュー
デバッグ開始 | F5
デバッグ停止 | SHIFT+F5
再起動 | Ctrl+SHIFT+F5
ブレイクポイント設定/解除 | F9
ステップ | F10
スケジューラ | Ctrl+3
コンテキストビュー | Ctrl+4
［リポジトリ］セクション
コンテキスト変数 | SHIFT+F4
データコンバータ | SHIFT+F9
デフォルトデータフォーマット | SHIFT+F11
エラー | SHIFT+F3
グローバル変数 | SHIFT+F7
ODS | SHIFT+F6
PSSトピック | SHIFT+F8
UDS | SHIFT+F10
追加のショートカット
ヘルプ | F1
［設定］ダイアログボックスの［リソース］セクション | SHIFT+F1
［設定］ダイアログボックスの［サービス］セクション | SHIFT+F2
行をリポジトリに追加 | F4
データグリッド内で行を削除 | Alt+Delete
フロー変数 | Ctrl+L
BP変数 | Ctrl+SHIFT+L
ステップ設定 | Alt+Enter


Magic xpiツールバー

Magic xpiスタジオには、以下のボタンを含んだツールバーが備わっています。

ボタン | 名前／説明 | ショートカット
 | 新しいプロジェクト： 新しいプロジェクトを作成するための［新しいプロジェクト］ダイアログボックスを開きます。 | Ctrl+SHIFT+N
 | 選択されたファイルを上書き保存: 現在のプロジェクトを閉じる場合にクリックします。 | Ctrl+S
 | すべてを保存: 全ての作業ファイルを保存します。 | Ctrl+SHIFT+S
 | コピー: ステップまたは分岐をコピーします。 | Ctrl+C
 | 貼り付け: ステップまたは分岐を貼り付けます。 | Ctrl+V
 | 前に戻る: 以前の作業したスタジオの領域に戻ります。 | Ctrl+-
 | 次に進む: いったん戻した作業を進めます。 | Ctrl+SHIFT+-
 | デバッグ開始: デバッガを起動します。 | F5
 | ソリューションエクスプローラ: ソリューションエクスプローラを開きます。 | Ctrl+W, S
 | プロパティウィンドウ: プロパティウィンドウを開きます。 | Alt+Enter
 | ツールボックス: ［ツールボックス］ペインを開きます。 | Ctrl+W, X
 | 呼び出したフローに戻る: ［フロー呼出］ユーティリティに戻ります。 |
 | データベーススキーマをリフレッシュ: 複数のデータベーススキーマを再表示します。 |

追加のボタンは、［データベーススキーマのリフレッシュ］ボタンの後に位置している矢印をクリックし、［追加］または［削除］のボタンを選択することで必要に応じて追加されます。


ワークスペース ペイン

Home > リファレンスガイド > プロジェクト > ［ワークスペース］ペイン

［ワークスペース］ペイン

Magic xpiの［ワークスペース］ペインは、プロジェクトのほとんどの関連情報を分かりやすく表示しています。すべての［ワークスペース］ペインはフローティングで、ドッキングすることができます。ウィンドウの端をドラッグすることで必要なサイズに変更することができます。

関連トピック

メインペイン

ソリューションエクスプローラ

［ツールボックス］ペイン

［プロパティ］ペイン


メインのペイン

Magic xpiのメインのペインは、リポジトリやビジネスプロセス、および統合フローを定義する場所です。ここに表示されるj情報は、ソリューションエクスプローラで選択された内容に依存し、表示が変更されます。

例えば、ソリューションエクスプローラでリポジトリを選択すると、ペインはそのリポジトリの定義内容を表示します。ソリューションエクスプローラで特定のフローを選択すると、ペインはフロー自身を表示します。

英語以外の文字がビジネスプロセスやフロー、およびステップの名前が説明文と同様に使用することができます。プロジェクト、リソース、サービス、および変数の名前は、英語表記かOSの言語で記述する必要があります。


ソリューションエクスプローラ

ソリューションエクスプローラは、Magic xpiスタジオでの3つの主要な情報ペインのうちの1つです。他の2つは、［ツールボックス］ペインと［プロパティ］ペインです。

ソリューションエクスプローラは、プロジェクトやリポジトリ、ビジネスプロセス、およびフローを表示します。エントリの1つをクリックすると、主要な［プロパティ］ペインは選択された定義内容が表示されます。

［表示］メニューから［ソリューションエクスプローラ］を選択するか、Ctrl+W の次に S を押下することでアクセスすることができます。

ソリューションエクスプローラペインはMagic xpi としてではなく、Visual Studioのフレームワークとして提供されています。

Since version:

4.5


ツールボックス ペイン

Home > リファレンスガイド > プロジェクト > ［ワークスペース］ペイン > ［ツールボックス］ペイン

［ツールボックス］ペイン

[ツールボックス]ペインは、Magic xpiスタジオでの3つの主要な情報ペインのうちの1つです。他の2つは、ソリューションエクスプローラと［プロパティ］ペインです。

ソリューションエクスプローラでフローを選択すると、[ツールボックス]ペインにMagic xpiのコンポーネントのリストが表示され、以下のカテゴリーによってグループ分けされます：

  • ユーティリティ

  • トリガー

  • コンバータ

  • ファイル管理

  • コネクタ

  • 通信

  • メール

  • メッセージング

  • 全般

  • ユーザコンポーネント

  • いくつかのコンポーネントが、[ツールボックス]ペインに複数のカテゴリで表示されます。

  • 作成されるユーザコンポーネントには、常に[ツールボックス]ペインが追加されます。

[表示]メニューから［ツールボックス］を選択するか、Ctrl+W と X を押下することでアクセスすることができます。

コンポーネントを選択し、メインのペイン内の必要な位置にドラッグしてください。

［ツールボックス］ペインを再表示する

[ツールボックス]ペインからコンポーネントを削除した場合、［編集］メニューをクリックし、［ツールボックスをリフレッシュ］を選択することでペインを再表示させることができます。これによって、削除されたコンポーネントが復元されます。

Since version:

4.5

関連トピック：

フローコンポーネント

フローにコンポーネントを配置

コンポーネントシリーズ


プロパティペイン

[プロパティ]ペインは、Magic xpiスタジオでの3つの主要な情報ペインのうちの1つです。他の2つは、［ツールボックス］ペインとソリューションエクスプローラです。[プロパティ]ペインは、特定の要素上でパークすると、プロジェクトの様々な設定に対応したプロパティが表示されます。例えば、指定したコンポーネントの設定を変更するには、メインのペイン内のコンポーネント上でパークしてください。

[表示]メニューから［プロパティウィンドウ］を選択するか、Alt+Enterを押下することでアクセスすることができます。

Since version:

4.5


テキスト検索

Magic xpiは、フローまたはコンポーネント特性内で、プロジェクト中の特定のテキストを検索するツールを搭載しています。テキスト検索は［編集］メニューから［テキスト検索］を選択するかCtrl+Shift+Fを押下することでアクセスすることができます。検索する文字を入力する、［テキスト検索］ダイアログボックスが開きます。

以下のことができます。

  • 検索がどこで実行されるか（カレントのDocument フォルダか Projectフォルダ）をドロップダウンリストから選択することができます。

  • ［検索の絞り込み］チェックボックスをチェックすると、「ステップ名のみ（Step name only）」（デフォルト）か「ノード名のみ（Node name only）」、「送り元のみ（Source only）」、「リポジトリのみ（Repositories only）」のどれかをドロップダウンリストから選択することができます。ここに表示されるオプションは、［検索対象（look In）］ドロップダウンリストの選択内容によって決定されます。

  • さらに、［検索の絞り込み（Narrow the search to）］チェックボックスや、［検索オプション（Find Options）］の下に表示される［完全に一致する語（Match whole word）］のチェックボックスを選択することで検索精度を上げることができます。

［すべて検索］をクリックすると、Magic xpiは検索を実行し、検索結果を含む［テキスト検索結果］ウィンドウを開きます。ここでは、特定の結果項目をダブルクリックしたり、その項目上で右クリックし［コンテキスト］メニューから［移動］を選択したり、 [image] をクリックすることで、参照された位置に移動することができます。

テキスト検索は、以下の項目上で実行することができます：

実行場所

検索内容

表示結果

フロー

  • ステップ名、以下を含みます。

  • 説明

  • すべての編集可能なステップのテキスト

  • すべてステップとトリガのリソースとサービスの名前のプロパティ

「現在のドキュメント」と「ステップ名のみ」を選択すると、結果は［テキスト検索結果］ウィンドウに表示されます。F3を押下することで結果を通して操作することができます。

他の検索オプションを選択すると、［テキスト検索結果］ウィンドウには結果が表示されます。エントリをダブルクリックすることで直接参照項目にアクセスすることができます。

リポジトリ

  • ［名前］カラム(オブジェクト名が検索される唯一の場所です)

  • ［説明］カラム

  • ［デフォルト値］カラム

［テキスト検索結果］ウィンドウには結果が表示されます。エントリをダブルクリックすることで直接参照項目にアクセスすることができます。

データマッパドキュメント

  • 送り元と送り先のノード名

  • ノード上の式(条件、計算値、複合レベルの計算値、およびソース内の単一インスタンスのフィルタ)。

  • プロパティの説明

「現在のドキュメント」と「ステップ名のみ」を選択すると、結果は［テキスト検索結果］ウィンドウに表示されます。F3を押下することで結果を通して操作することができます。

他の検索オプションを選択すると、［テキスト検索結果］ウィンドウには結果が表示されます。エントリをダブルクリックすることで直接参照項目にアクセスすることができます。

プロジェクト全体

  • ステップ名.

  • ［リポジトリ名］カラム

  • ［リポジトリ説明］カラム

  • ［リポジトリデフォルト値］カラム.

  • データマッパーの送り元と送り先のノード、式、および説明のプロパティ

  • ビジネスプロセス名

  • フロー名.

  • 条件や設定画面、およびプロパティシートを含むプロジェクトの任意の位置の式(フリーテキストのみ検索し、オブジェクト名は探しません)。

［テキスト検索結果］ウィンドウには結果が表示されます。エントリをダブルクリックすることで直接参照項目にアクセスすることができます。

フロー名またはビジネスプロセス名をダブルクリックすると、ソリューションエクスプローラ内のノードに移動します。

ワイルドカードの文字はサポートされません。

関連トピック

［テキスト検索結果］ウィンドウ


テキスト検索結果ウィンドウ

［テキスト検索結果］ウィンドウは、検索条件に一致したエントリーの一覧を表示します。

以下のような結果を表示します。

カラム | 表示
オブジェクトタイプ | フロー名やサブスクリプションなど検索テキストが置かれているオブジェクトのタイプ
名 | エントリの位置の名前。これは、ステップやフロー、またはビジネスプロセスの名前または検索テキストが位置しているフィールドの名前になります。
BP | エントリが置かれているビジネスプロセス
フロー | エントリが置かれているフロー
ステップ/トリガ | 検索エントリが置かれているステップ
説明 | エントリーの説明

  • 画面内のエントリの1つを右クリックし、［移動］を選択するか、［テキスト検索結果］ウィンドウ内の［移動］ボタンをクリックすることで、テキストが存在しているMagic xpiの領域に移動することができます。

  • ［テキスト検索結果］ウィンドウは、階層化されずフラットに結果を表示します。

  • 結果は［テキスト検索結果ウィンドウ］に追加的にテキストで書き込まれます。検索は、［テキスト検索結果］ウィンドウ内で右クリックして［検索停止］を選択するか、［テキスト検索結果］ウィンドウの下に表示された［検索停止］ボタンをクリックすると停止します。

  • 何らかの理由で結果のソート順序を変更したい場合は、 [image] をクリックしてデフォルトのソート順序をに戻ることができます。


クロスリファレンス

リファレンス検索機能は、プロジェクト内で選択されたオブジェクトの存在を検索することができます。例えば、フロー上でリファレンス検索を実行させると、それはプロジェクトでそのフローを表示させるプロジェクトを検索し、［リファレンス検索結果］ペインにそれらを表示します。要求されるエントリ上でダブルクリックすると、［リファレンス検索結果］ペインから参照していいるオブジェクトへにアクセスすることができます。

オブジェクトがプロジェクト内のどこで使用されているかをチェックするため、オブジェクトを削除する前にリファレンス検索を実行することを推奨します。削除されるオブジェクトはその参照情報を削除せず、実行時にエラーが発生することになります。

関連トピック

リファレンス検索の使用

［リファレンス検索結果］ペインの使用


リファレンス検索の使用

リファレンス検索検索を実行するには：

  • 検索したいオブヘクト上で右クリックして、以下のどれかを実行してください：

    • コンテキストメニューから［リファレンス検索］を選択します。

    • Ctrl+F.を押下する。

    • ［編集］メニューから［検索］を選択し、［リファレンス検索］に続きます。

リファレンス検索のメカニズムが実行され、検索結果は［リファレンス検索結果］ペインに表示されます。

  • コンテキストメニューから［検索停止］を選択するか、Alt+F3を押下することでリファレンス検索ユーティリティを止めることができます。表示される結果は、このポイントまでの処理が反映されます。.

  • UDSモデルのエントリの任意のフィールド上でリファレンス検索を実行すると、主要なエントリ(UやUDS1など)のみが検索に含められます。

  • I停止中のフローは、検索に含められます。これらは［リファレンス検索結果］ペインに赤色で表示されます。

  • リファレンス検索は、新しく作成されたオブジェクトでは利用できません。.

  • リファレンス検索は、編集モードのフィールドでは利用できません。

  • リファレンス検索のオプションは、リソースとサービスでは利用できません。リソースまたはサービスがどこで使用されるかを見つけるには、現在のプロジェクト上でテキスト検索オプションを使用してください。

以下の表はリファレンス検索の動作と条件を表示しています：

検索対象

実行される場所

表示される結果

フロー

  • ソリューションエクスプローラ

  • フロー エディタ(ステップ上にはパークしていない)

  • サービス(フロー呼出、遅延フロ-呼出、PSS削除、PSS サブスクライブ、スケジュールフロー、データマッパー)

  • エラーフロー

  • ロジックフロー

  • クリーンアップフロー

PSS

PSSリポジトリ

すべての式

変数

変数リポジトリ

  • すべての式

  • フロー範囲のフロー変数。他のフロー内のフロー呼出引数。

  • ステップ条件(ブレークポイントの条件を含む)

  • データマッパー

  • フロー呼出スキーマは、マップされたノードやツリーノードの式に対するツリーのみの変数の位置を表示します。

  • エラー処理フロー変数

送り先の式の内のパスノードとして使用される送り元から変数を検索することはできません。

ODS

ODSリポジトリ

そのコンポーネント(式を含む)を含むステップ

UDS

UDSリポジトリ

そのコンポーネント(式を含む)を含むステップ

データコンバータ

データコンバータ リポジトリ

そのコンポーネント(式を含む)を含むステップ


クロスリファレンス結果ペインの使用

[リファレンス検索結果]ペインは、階層構造でないフラットに検索結果を表示します。

これらの結果には以下の情報が含まれます。

  • オブジェクトのタイプ

  • オブジェクトの名前

  • オブジェクトが位置しているビジネスプロセス(有効ならば)

  • オブジェクトが位置しているフロー(有効ならば)

  • オブジェクトが位置しているステップまたはトリガ(有効ならば)

  • オブジェクトの説明(有効ならば)

複数のインスタンスが検索結果で表示される場合、数値がインスタンスの発生数を指定するために［名前］エントリと隣接して表示されます。例えば、メッセージ保存ステップ内の［メッセージ］欄に、特定の変数の複数のインスタンス自身を含む式を含んでいる場合、1つの行だけが[リファレンス検索結果]ペイン内のステップに対して表示されます。しかし、［名前］エントリの隣に、この変数が使用される回数を示す数値が表示されます。

必要なエントリをダブルクリックするか、コンテキストメニューから［移動］を選択すすことで、[リファレンス検索結果]ペインから直接オブジェクトにアクセスすることができます。


インポート/エクスポート

Magic xpiのインポート/エクスポートの機能は、プロジェクトのオブジェクトを簡単に保存したり、読み込んだりする便利な方法を提供します。エクスポート機能は、プロジェクトのオブジェクトを専用の.mgexpファイルに保存します。インポート機能は、以前に保存されたエクスポートファイルからオブジェクトを入力します。これで、1つのプロジェクトで開発されたオブジェクトが他のプロジェクトで共有して、再利用することが可能になります。

  • インポート/エクスポートの機能を使用する前に開いているプロジェクトを保存する必要があります。

  • 現在は、インポートできるのは、Magic xpiの同じバージョンのプロジェクトをエクスポートしたものだけです。

  • .mgexpファイルのデフォルト位置は、 <My Documents>\Magic\Templates\Exportsフォルダです。必要ならこの位置を変更することができます。

  • .インポート/エクスポートのセッションで発生するすべての処理または動作は、MagicXpi.Logファイルに記録されます(<Magic xpiのインストールフォルダ>\Studio\Log フォルダに作成されます)。

  • オブジェクトが入力された後、オブジェクトのドキュメントは送り先プロジェクトに保存されていないドキュメントとして自動的に開かれます。

  • バージョン管理を使用している場合は、インポート/エクスポートの機能を使用する前にプロジェクト全体を最新のバージョンにする必要があります。

以下で説明されているように、この機能の使用は、どのオブジェクトが出力／入力されるかによって、わずかに変わります。

以下のMagic xpi の部分に対して、インポート／エクスポートを実行することができます。

  • ビジネスプロセス(すべてのフローを含みます)

  • フロー(すべてのステップとトリガーを含みます)

  • ステップ(関連したリポジトリの項目と変数を含みます)

  • トリガー(関連したリポジトリの項目と変数を含みます)

  • リソースとサービスは入力されません。リソースまたはサービスを入力したい場合は、［設定］ダイアログボックスで読み込む必要があります。追加情報は、次を参照してください：リソースとサービスのインポート。入力した項目が、更新したリソースまたはサービスを使用している場合、最初に更新されたリソースとサービスを入力することを推奨します。そうしないと、更新されたリソースとサービスへの参照は失われます。

  • オブジェクト参照はインポート処理によって行われます。参照オブジェクトが送り先プロジェクトに存在していない場合、参照は削除されます。例えば、一方のフローが、フロー呼出ステップを使用して、他を呼び出す2つのフローを含む1つのビジネスプロセスを持つことができます。フロー呼出ステップ含むフローをインポートし、呼び出されたフローが送り先プロジェクトに存在していない場合、インポート処理が実行された後で、フロー呼出ステップはどのフローも示さなくなります。このような例では、参照を維持するためにビジネスプロセス全体を入力する必要があります。

項目をエクスポートする

項目をエクスポートするには、それで右クリックし、［エクスポート］を選択してください。

項目をインポートする

項目をインポートするには、インポートする項目上で右クリックして［インポート］を選択します。例えば、ビジネスプロセスをインポートするには、ソリューションエクスプローラでプロジェクトを右クリックし、［インポート］を選択してください。

インポート処理中の競合を管理する

インポートされたオブジェクトが、プロジェクトに存在している変数を含んでいる場合、［インポート競合解決］ダイアログボックスが表示されます。ここでは、Magic xpi スタジオ内のどこで発生したかに基づいて、競合する変数がリストされ、インポート処理がどのようにこれらの競合を処理するべきかを定義することができます。

このダイアログボックスには、以下のプロパティがあります。

プロパティ | 説明
名前 | 競合する変数の名前。フィールドは読み込み専用です。
既存を使用 | このチェックボックスを選択すると、変数はインポートファイルからコピーされず、既存の変数が使用されます。変数の属性または長さが異なる場合、このチェックボックスは無効になります。
作成する | ［既存を使用］チェックボックスがクリアになっている場合だけ、このフィールドは有効です。ここは、新しい変数名を定義することができるようになります。これを行うと、オリジナルの変数に対するエクスポート内のすべての参照は新しい名前に変換されます。これは式を含みます。

［継続］をクリックするとインポート処理は終了します。

Since version:

4.6


環境変数

環境変数は、外部のIT環境特性をMagic xpiプロジェクト内で使用する場合に定義します。環境変数を実際のファイル名の代わりに作成することで、開発環境から運用環境へのスムーズな移行を可能にしています。

環境変数は、これを物理的ストレージメディアやOSの命名規約などから独立してフロー要素の変数を作成することにより実現しています。例えばデータベースに対して環境変数を使用することができます。そしてMagic xpiのダイアログボックスにデータベース情報を入力する場合、実際のデータベース名ではなく環境変数を入力します。

Magic xpiは、［設定］ダイアログボックスの［汎用環境］セクションの設定値に従い実行時に環境変数を変換することにより高い移植性を維持しています。これらの値は自動的にMagic xpiの設定ファイルに反映されます。環境変数の変換は実行時に変更することができますが、通常は固定値として使用されています。

環境変数は、他の環境変数内で(ネスティングされた環境変数として)使用することができます。

例えば、currentprojectdir環境変数があり、projects と sl という環境変数を含んでいます。 projects環境変数は、Magic xpiの環境変数(project = %Magicxpi%projects%sl%)として変換されます。

Magic xpi4.5では、ifs.iniファイルはタジオと実行エンジンの両方でMagic.iniファイルに優先します。Magic xpi4.1以前は、Magic.iniファイルはスタジオで優先し、ifs.niiファイルは実行エンジンで優先していたため、両方のファイル内で環境変数を定義しておく必要がありました。

環境変数がプロジェクトのMagic.iniファイルとそのifs.iniファイル内に存在している場合、Magic xpiスタジオはifs.iniファイル内の変数のの値を使用します。環境変数がプロジェクトのifs.iniファイルだけに存在している場合、それはプロジェクトで利用できます。

最善の方法： | 動的挙動が必要で式を使用することができない場合のみ、環境変数を明示的に使用してください。
 | プロジェクトのサーバは、すべて同じ環境変数を共有しなければなりません。これらの値は、Magic.iniファイルから各プロセスによって読み込まれ、スペースでグローバルに管理されません。

環境変数を使用することにより、Magic xpiスイートのWindowsベースの開発環境から、別のOSの実行環境への移行がMagic xpiサーバを使用するだけで簡単に行う事ができます。この理由は以下の通りです。

  • Magic xpi サーバの実行環境を設置した後で、設定ファイル上で変更できます。これにより開発環境を離れた後、各要素の名前を簡単に変更できるようになります。例えば開発環境で使用しているデータベースの名前がManagementで実行環境で使用している同じデータベースの名前がManagerだったとした場合、Magic xpiサーバは新しい名前を認識しなければいけません。環境変数を使用するとサーバ環境の設定ファイルの設定値を変更することができます。例えば［設定］ダイアログボックスの［リソース］セクション内のManageという環境変数を作成します。Manageとしてこの値を入力すると、設定ファイルにManage=Managementとして入力されます。プロジェクトを実行環境に展開し、設定ファイルの設定値をManage=Managementと書き換えると、Magic xpiサーバは新しいデータベースの名前を認識するようになります。

  • Windows®環境、もしくはIBM i環境のどちらでも認識できる名前やパス名を作成することができます。例えばMagic xpiはSL という標準環境変数を持っています。この名前はスラッシュ(/)もしくはバックスラッシュ(\)に変換されます。全てのバックスラッシュをこの環境変数で置き換えると全てのバックスラッシュをスラッシュに変換しなくてもプロジェクトをIBM i環境に展開することができます。

環境設定

［設定］ダイアログボックスの［環境］セクションで、容易に環境変数を割り当てることができます。ここの値は、フロー要素の実際の名前の代わりに使用されます。環境変数をデータベースやファイル、フォルダ、および統合フロー内で使用された他のほとんどの要素に割り当てることができます。

環境変数は、現在のリソースファイル内に保存されます。

環境変数と複数プロジェクト

複数のプロジェクト環境で動作させることは、環境変数の定義に影響します。プロジェクト用の環境変数を定義している場合、［設定］ダイアログボックスの［環境］セクションで変更するたびに［保存］ボタンをクリックする必要があります。(プロジェクトフォルダ内の)プロジェクトのためにifs.iniファイルの名前と位置を入力すべき場所で、［保存］ダイアログボックスが開きます。

関連トピック

環境変数一覧

配備


環境変数一覧

  • 一覧から環境変数を選択して［選択］をクリックします。

  • 選択せずに環境変数一覧を閉じるには［取消］をクリックします。

  • フィールドの値を元のデフォルト値（空白）に戻すには［リセット］をクリックします。


コンテンツエンコード処理

Magic xpiには、以下のテキストのエンコーディングに対するビルトインのサポート機能があります。

  • Ansi …… 英語に加え、1つのコードページで表示することができます。

  • Unicode (UTF-16) …… 一度に複数のコードページで表示させることができます。詳細は、ユニコード サポートを参照してください。

  • バイナリは、原文通りでない内容を表しています。

バイナリは、テキストでない内容を表します。TrimやInStrなどのテキスト関数はバイナリ上では利用できません。

テキストデータ操作で動作する場合、Magic xpiは自動的にエンコーディング変換を行い、通常は結果をUnicodeに変換します。

UTF-8エンコーディングのビルトインのサポートはありません。以下のUTF-8の内容のセクションを参照してください。

UnicodeのBLOBをAnsi BLOBで更新すると、Magic xpiは最初にAnsiの内容をUnicodeに変換し、UnicodeデータによってUnicode BLOBを更新します。

Ansi BLOBをUnicode BLOBで更新すると、Magic xpiは、最初にUnicodeの内容をAnsiに変換し、AnsiデータによってAnsi BLOBを更新します。

UnicodeまたはAnsi のどちらかのBLOBをバイナリBLOBで更新すると、データはそのまま更新されます。変換処理は行われず、結果は、BLOBタイプとBLOBの内容の間での不整合が発生します。

バイナリBLOBを任意のBLOBタイプで更新した場合、データはそのまま渡されます。送り元がUnicodeの場合、Unicodeの内容がそのままで渡され、結果としてバイナリBLOBにはBOMがない状態になります。

値を変数(Flow Data、データマッパー変数、およびフロー送り先呼出)にマッピングすると、この変数が保持する内容のエンコーディングを選択することができます。Magic xpiは自動的に選択されたコンテントタイプへの変換を実行します。

File2Blob の動作

ファイルがUnicode BOMを含んでいる場合、内容はBOMなしでそのままで読み込まれ、内容を保持するように選択されたBlobタイプで変換されます。

ファイルがUTF-8 BOMを含んでいる場合、内容はUTF-8からUnicodeに変換します。内容を保持するように選択されたBlobタイプに変換されます。

ファイルがUTF-8 BOMを含んでいない場合、内容はAnsiとして処理され、Ansiから、内容を保持するように選択されたBlobタイプに変換されます。この部分には、バイナリとUTF-8とAnsiの内容が含まれています。

Blob2File の動作

BlobがバイナリかAnsiの場合、ファイルの内容はバイナリのBlobと同じ内容になります。

Unicodeの場合、Unicodeファイル(Unicode であることがわかっているので、Unioce BOMにはBOMが含まれていません)であることを示すためにファイルの最初にBOMが付加されます。

UTF-8 コンテンツ

Magic xpiはUTF-8エンコーディングを標準的にサポートしていません。UTF-8への(からの)変換だけが可能です(例えば、入出力関数で)。BOMが存在している場合、BOMを含むバイナリBlobにUTF-8を格納する必要があります。テキスト処理が必要な場合、UTF8toUnicode関数を使用してUnicodeに転換してください。必要なら、データはUTF8fromUnicode関数を使用して、UTF-8に戻すことができます。

UTF-8では、BLOB(内部はバイナリと定義されています)上で文字関数を使用すると、マルチバイトでエンコードされた文字を失います。

この問題を解決するには、UTF-8の内容を、サポートされる他のコンテントタイプに変換することができるユーティリティ関数を選択機能が提供されます。

UTF-8がバイナリBLOB内に格納されている場合、UTF-8の内容をファイルシステムに保存すると、内容は「そのまま」保存されます。BOMがBLOBデータの一部である場合、ファイルはBOMを持つことになります。

UTF-8を含むファイルには、BOMを含める必要性はありません。しかし、BOMを含まないUTF-8コンテンツ・ファイルの正確な識別は保証されません。また、識別処理にも時間がかかります。UTF-8ファイルには常にBOMが含まれているようにすることを強く推奨します。UTF-8ファイルが常にBOM付きで作成されることを保証するためにBlobAddBOM関数を使用することができます。

関連トピック

推奨方法とヒント


Unicodeサポート

Magic xpiは、データ変換と転送のためにUnicodeが標準で利用できます。この機能は、Magic xpiのANSIとOEMのサポートに追加されたものです。

以下の場合にUnicodeが利用できます：

  • 外部システム間のUnicodeデータの送受信

  • データベース内のUnicodeデータの読み書き

  • データマッパー内のUnicode処理

  • フラットファイル内のUnicodeデータの読み書き

Unicode(UTF-16)の内容は、対応するUnicode BLOBに読み込まれ、BOMは処理中に削除されます。

このBLOBがHTTPの応答として提供された場合、そこにはBOMを含まれません。これにより、クライアントは、応答の内容のエンコーディング(Since version: 4.0a)を識別でません。以下のどちらかの方法でUnicodeの内容を処理することを推奨します：

  • BlobAddBOM関数の使用

  • SetHTTPHeaders関数を使用してコンテンツタイプのヘッダーを追加する

BLOBはすでにUnicodeと認定されているため、Unicode BLOBはデータの一部としてBOMを保持しません。このシナリオの例は以下の通りです：

  1. File2Blb関数を使用してUnicodeファイルのBLOBを更新し、［Flow Data設定］ウィンドウ内で［エンコーディング］カラムのドロップダウンリストからバイナリを選択してください。Magic xpiは、処理中にBOMを削除し、Unicode BLOBに最初に内容をロードし、バイナリBlobを「そのまま」の内容で更新します。

  2. 現在Unicode内容のバイナリBLOBがありますが、BOMなしです。Blb2File関数を使用してファイルシステムにバイナリBLOBを書き込みます。これによってUnicode内容のBOMなしのファイルが得られます。

Unicode BLOBをファイルシステムに保存するto、BOMは新しいファイルに自動的に追加されます。

  • このバージョンでは、SAP A1、SAP ERP、およびSAP usiness OneのコンポーネントがUnicodeを完全にサポートします。他のすべてのコンポーネントは、ステップモード内でANSIだけをサポートします。これらのコンポーネントのためにUnicodeデータを処理する場合、結果は未確定です。

  • Directory ScannerやHTTP、およびWeb ServiceのコンポーネントはトリガモードでのみUnicodeをサポートします。

  • Magic xpiはBLOBに保存されたすべてのデータをバイナリデータとして扱います。従って、Unicodeデータを表示すためには、NotepadなどのUnicodeをサポートするアプリケーションを使用してください。

Unicode関数

Magic xpiは、以下のUnicode関数を提供します：

  • UnicodeChr …… 数値を対応するUnicode文字に変換します。

  • UnicodeFromANSI: …… ANSI文字列を選択されたコードページでUnicode文字に変換します。

  • UnicodeToANSI …… Unicode文字を選択されたコードページでANSI文字に変換します。

  • UnicodeVal …… Unicode文字を対応する数値に変換します。

  • UTF8fromUnicode …… BOMを含むUTF-8でUnicode BLOBをバイナリBLOBに変換します。

  • UTF8toUnicode …… ANSIまたはUTF-8 を持つバイナリ BLOBをUnicode BLOBに変換します。

データマッパーでのUnicode使用

Magic xpiのUnicodeサポートとは、データベーステーブルでUnicodeフィールドを使用することができるということです。nVarCharフィールドは、自動的にUnicodeフィールドとして扱われます。この場合、内部属性ノードプロパティは、AlphaではなくUnicodeと表示されます。

Base64フィールド要素を持つUniocdeXML送り元がある場合、直接BLOBの宛先にマッピングできません。最初に、Base64の内容をANSIに変換する必要があります。

式エディタでのUnicode使用

式エディタは完全にUnicodeベースです。

  • Blb2File関数は、UnicodeファイルからBOMを削除します。このためUnicodeデータの操作にこの関数を使用すると予期せぬ結果をもたらす場合があります。データをANSI形式で保存するには、UnicodeToANSI関数を使用する必要があります。

  • データを式エディタに入力すると、Unicodeで保存されます。たとえば、ファイル管理コンポーネントのWrite Fileメソッドを使用する場合、データ特性内にハードコートされた文字列は、Unicodeファイルを作成します。データ特性のために項目がANSIで保存されている場合、ANSIファイルが作成されます。

ODS、UDSとUnicode変換

ODSとUDS変数に蓄えられたUnicodeベースのデータは、透過的にUnicodeとして扱われ保存されます。全てのUDSとODS関数群は、透過的にUnicodeデータをサポートしています。

関連トピック

内容のエンコーディング処理


ユーティリティ関数

以下の関数は、BLOBの処理で使用することができます。

  • Blb2File …… BLOB オブジェクトをファイルに保存します。

  • BlobAddBOM …… BLOBにUnicodeかUTF-8 BOMを追加します。

  • File2Blb …… ファイルの内容をBlob変数に保存します。

  • UTF8toUnicode …… UTF-8コンテンツのバイナリBLOBをUnicode BLOBに変換します。

  • UTF8fromUnicode …… Unicode BLOBをUTF-8コンテンツのバイナリBLOBに変換します。


Magic xpi のBLOB/文字型のエンコード処理

Magic xpiは、［Flow Data設定］ウインドウやデータマッパーの送り先で変数のターゲットBLOBタイプを選択することができます。

Flow Data

［Flow Data設定］ウィンドウ内でで、BLOB変数が更新される時、［エンコーディング］カラムのドロップダウンリストには、以下のオプションが表示されます：ANSI,Unicode,Binary。文字型変数が更新される場合、ドロップダウンリストには以下のオプションが表示されます：ANSIとUnicode。Magic xpiは、選択されたエンコードで更新式を自動的に変換します。

任意の内容でBLOBを更新し、［Flow Data設定］ウィンドウでそのエンコーディングを「バイナリ」と定義した場合、内容は、バイナリBLOBに変換されずにそのまま渡されます。

上記の例では、最初の行を評価されると、F.Var1項目がANSIに変換され'OK'のテキストがANSIにエンコードされます。2行目が評価されると、F.Var1 変数は、Unicode BLOBに変換され'OK'のテキストはUnicodeにエンコードされます。

データマッパー送り先 – 変数/コールフロー

変数送り先とコールフロー送り先のためにノードプロパティで変数のターゲットエンコード方式をコントロールすることができます。使用方法は、［Flow Data設定］ウインドウ（上記)での定義方法と同じです。

データマッパー送り元変数

作成されたデータマッパーコードでは、文字型項変数、UnicodeとバイナリのBLOBとしてデフォルトで定義されます。これはソ送り元として変数を使用すると、最初に選択した任意の文字型変数がUnicodeに変換され、最初に選択した任意のBLOB変数がバイナリBLOB変換されることを意味します。この変換を回避したい場合、個別の送り元として定義する代わりに、式で直接変数を使用しなければなりません。


推奨方法とヒント

  1. テキストのコンテンツを保存する場合は、バイナリのエンコードを使用しないでください。代わりにUnicodeを使用してください。

  2. XMLエンコーディングは、XMLヘッダ内でデータの一部として定義されます。XMLコンテンツ上でエンコーディング変換を行う場合は、必ずヘッダに合わせてください。

  3. ヘッダのないXMLは、パーサによってUTF-8とみなされます。

  4. ANSIにUnicodeコンテンツを更新すると、マシンの非Unicodeエンコーディングに合わないマルチバイトデータが失われます。

  5. UTF-8コンテンツ上で任意のテキストデータの操作を実行する前に、UTF8toUnicode関数を使用してUnicodeに変換してください。必要に応じて、UTF8fromUnicode 関数を使用してデータをUTF-8に戻すことができます。

  6. データマッパーのXML宛先のためにシステム・エンコーディングを使用しないでください。代わりに、必要なエンコード方法を選択してください。これによって、正しいBLOBタイプが作成されます。


プロジェクトのプレビュー

Magic xpiは、Magic xpiプロジェクトのすべての要素を表示する、HTMLフォーマットでユーザフレンドリで印刷可能な出力を作成することができます。

プロジェクトプレビューを作成するには：

  • Magic xpiスタジオの［プロジェクト］メニューから、［ドキュメント生成］を選択してください。これで、プロジェクトプレビューが開きます。

Magic xpiのプロジェクトプレビューは、Magic xpiスタジオから別のウィンドウのWebブラウザで表示されます。他の任意のWindowsプログラムの間で操作する場合と同じ方法で、このウィンドウとMagic xpiの間で操作することができます。

プロジェクトプレビューは、［ナビゲーション］と［コンテンツ］のフレームから構成されています。

［ナビゲーション］フレームは、画面の左側に表示され、印刷が可能なビューへのリンクが提供されています。

［コンテンツ］フレームは、メインフレームであり、プロジェクトについての具体的な印刷可能な情報が表示されます。［ナビゲーション］フレームで関連したリンクをクリックして、ビューを選択してください。

プロジェクトプレビューは、［ナビゲーション］フレームでどのリンクをクリックするかによって、以下の要素が表示されます。

  • プロジェクトプロパティ …… 一般的なプロパティが含まれています。

  • ビジネスプロセス …… 要素と変数が含まれています。

  • フロー …… プロパティやグラフィカルなビュー、およびフローのコンテンツ(ステップやトリガーなど)が含まれています。

  • 管理者詳細 …… プロジェクト管理者のEメールの詳説。

  • リポジトリ

  • ユーザグローバル変数

  • ユーザコンテキスト変数

  • デフォルトデータフォーマット

  • ユーザエラー

  • ODS

  • UDS

  • PSS

  • データコンバーター

  • リソース

  • サービス

  • 環境変数

  • データマッピング …… ノードが使用されなかった場合、プロジェクトプレビューには表示されません。

Since version:

4.6


Magic xpi 設定ファイル

Magic xpiは、プロジェクトの動作を変更できるように様々な設定ファイルを提供しています。以下は主なファイルです。

ファイル

説明

Magic.ini

このファイルはMagic xpiの変数構成情報を格納しています。

ifs.ini

これはMagic xpiサーバの設定ファイルです。

  • Magic xpiのルートにあるifs.iniファイルは、ただのテンプレートです。これは、新しいプロジェクトが作成されると、コピーされます。

  • Magic xpi4.5において、ifs.iniファイルは常にスタジオとランタイムの両方でMagic.iniファイルに優先します。Magic xpi4.1までは、Magic.iniファイルはスタジオで優先され、ifs.niiファイルはランタイムで優先されていたので、両方に対して環境変数を維持する必要がありました。

  • 移行されたプロジェクトでは、内部論理名（例えば、MagicxpiやiBOLT、プロジェクトのifs.iniファイルに定義されている内容）のデフォルト値を上書きします。論理名が正しく設定されていないと、プロジェクトの実行中にエラーや予期しない動作が発生する可能性があります。これを修正するには、内部論理名を正しい値に変更するか、ifs.iniファイルの内部論理名をコメントにしてください。

上記のファイルの詳細は、ここをクリックしてください。

Mgreq.ini

このファイルは、GigaSpaces関連の情報を格納します。

Mgreq.iniファイルが、Webリクエスタの使用のためにScripts\configディレクトリにコピーされています。Mgreq.iniファイルが、コマンドラインリクエスタの使用のために<Magic xpiインストールフォルダ>\Runtimeフォルダにコピーされます。

start.xml

start.xml 設定ファイルは、各プロジェクトがグリッド上でどのように配備されるかを定義します。

EASYCOM.INI

このファイルはIBM i Magic xpiスタジオで使用されます。

関連トピック：

Magic.ini, Ifs.ini, Ife.ini, Ifm.ini ファイルの役割 - テクニカルノート


Magic.iniファイル

Magic.iniファイルには、Magic xpiの変数構成情報がすべて含まれています。Magic xpiを起動するには、Magic.iniファイルを<Magic xpi のインストールフォルダ>\Runtime\Magic xpaフォルダに置く必要があります。必要な構成のほとんどはMagic xpiを通じて直接行われ、Magic.iniファイルは自動的に更新されます。

Magic.iniファイルは、Magic xpiが起動された時に毎回読み込まれ、変更された設定内容が有効になります。

Magic.iniファイルは、フリー形式のテキストファイルであり、外部テキストエディタを使用して編集できます。Magic.iniファイルは複数のセクションに分かれています。それぞれのセクションには、更に関連する設定が含まれています。Magic.iniファイルの一部セクションは、Magic xpiにより使用され、また一部はユーザ情報を含んでいます。Magic.ini内のセクションは以下の通りです：

[MAGIC_ENV] | [MAGIC_ENV] グローバルな環境パラメータ。詳細は、ここをクリックしてください。
[MAGIC_SERVERS] | インストール済みのアプリケーションで利用可能なリモートサーバの一覧。[DBMS]テーブルの情報がこのセクションに含まれています。
[MAGIC_COMMS] | Magic xpiコミュニケーションドライバーの一覧です。
[MAGIC_DBMS] | Magic xpiによりサポートされているDBMSの一覧です。
[MAGIC_DATABASES] | Magic xpiによりサポートされている全てのデータベースの一覧です。
[MAGIC_LOGICAL_NAMES] | 環境変数値リポジトリです。
[MAGIC_PRINTERS] | プリンタ情報です。
[MAGIC_SERVICES] | サーバ別の利用可能なMagic xpiプロジェクトの一覧です。
[MAGIC_GATEWAYS] | Magic xpiゲートウェイの一覧です。
[MAGIC_JAVA] | Magic xpiサーバがJavaを利用する場合に必要な情報。詳細はここをクリックしてください。
[MAGIC_LOGGING] | Magic xpiのロギング設定。
[TOOLS_MENU] | ユーザ定義開発メニューを定義します。
[MAGIC_BUILDERS] | Magic xpiビルダの設定。
[MAGIC_IBOLT] | Magic xpi の設定。詳細はここをクリックしてください。
[MAGICXPI_GS] | Magic xpi 4.x の設定。詳細はここをクリックしてください。

Magic.iniファイルのユーザセクションには、格納したい任意の情報を入力することができます。一般的な使い方は以下の通りです：

  • プロジェクトが生成する中間値を格納します。様々なファイルやプログラムの最終処理行（例えば：最後に処理された顧客）をデータベースを煩わせずに格納する等です。

  • グローバル変数のストレージ。これらは、プロジェクト内の異なるプログラムで共有する値です。

Magic.iniファイルアクセス時は並行処理コントロールが効きません。複数ユーザ環境で複数のユーザに共用される場合は、読み取りのみの運用をしてください。共用されているMagic.iniファイルを複数のユーザが上書きした場合、他のユーザによる更新の上書き等が起きてしまいます。

Magic.iniファイルを変更する場合は、慎重に行ってください。


MAGIC_ENV

Home > リファレンスガイド > Magic xpi 設定ファイル > Magic.iniファイル > [MAGIC_ENV]

[MAGIC_ENV]

Magic.iniファイルのこのセクションにはグローバル環境パラメータがあります。以下のリストはMagic xpiプロジェクトで頻繁に使用されると思われるパラメータです：

Owner

Date Mode

Thousand Separator

Decimal Separator

Date Separator

Time Separator

Century

Runtime Application Color Definition File

Runtime Internal Color Definition File

Studio Font Definition File

Runtime Application Font Definition File

Runtime Internal Font Definition File

Studio Keyboard Mapping File

Runtime Keyboard Mapping File

Requester Timeout

Web Document Path

HTTP Requester

Web Document Alias

Indent Characters

Maximum File Handles

Command Processor

Lock File

Resource Lock File

ISAM – Force Locking Within Transactions

License File

License

Tooltip Timeout

Web Authoring Tool

Context Inactivity Timeout

Post Context Unload Timeout

HTTP Timeout

LDAP Address:Port

LDAP Connection String

LDAP Domain Contexts

LDAP Timeout

Default Source Directory

Default Exports Directory

External Code Page

SOAP Client Modules Path

MailCharset

HTTP Framework


オーナ名

Magic xpiプロジェクトのオーナの名前を 30桁以内の文字列で指定します。この名前は、Owner関数を使用して取得し、フォームやレポートに出力できます。

デフォルト値： Magic Software Japan K.K.

変更の反映: 次のセッションから

MAGIC.INIでの名前： Owner


日付タイプ

システム全体で使用される日付の表示形式を指定します。例えば、2001年6月25日は次のように表示されます。

設定 | 書式 | 表示
A=アメリカ | MM/DD/YY | 06/25/01
E=ヨーロッパ | DD/MM/YY | 25/06/01
J=日本 | YY/MM/DD | 01/06/25

デフォルト値： J=日本

Change effective: 次のセッションから

MAGIC.INIでの名前： DateMode


３桁区切文字

この設定は､Magic xpiが起動時に数値変数を表示するときに1000単位の区切り文字として使用する文字を定義します。 開発モード時、Magic xpiは書式定義ではこの設定値に関わらずカンマ(,)を日付区切り文字として使用 します。

デフォルト値：カンマ(,)

変更の反映: 次のセッションから

MAGIC.INIでの名前： ThousandSeparator


小数点

数値型の項目の整数部と小数部を分ける区切文字を指定します。ここで指定した文字は、実行モード時に使用されます。開発モードでは、この欄の設定にかかわらず、小数点としてはピリオドが使用されます。

デフォルト値：.（ピリオド）。Magic xpiは、デフォルト値の変更をサポートしません。デフォルト以外の値を設定した場合、サーバは起動に失敗します。

変更の反映: 次のセッションから

MAGIC.INIでの名前： DecimalSeparator


日付区切文字

日付型の項目の月、日、年を分ける区切文字を指定します。ここで指定した文字は、実行モード時に使用されます。日付の表示順は、[日付モード]の設定で指定できます。開発モードでは、この欄の設定にかかわらず、日付区切文字としては、スラッシュ（/）が使用されます。

デフォルト値： スラッシュ (/)

変更の反映: 次のセッションから

MAGIC.INIでの名前： DateSeparator


時刻区切り文字

時刻型の項目の時間、分、秒を分ける区切文字を指定します。ここで指定した文字は、実行モード時に使用されます。

開発モードでは、この欄の設定にかかわらず、時刻区切文字としてはコロンが使用されます。

デフォルト値： コロン (:)

変更の反映: 次のセッションから

MAGIC.INIでの名前： TimeSeparator


アプリケーション用基本色定義ファイル

Magic xpiの基本色定義が保存された clr_iBolt.eng のファイルの場所とファイル名を指定します。

変更の反映: 次のセッションから

MAGIC.INIでの名前： RuntimeApplicationColorDefinitionFile


内部用基本色定義ファイル

Magic xpiの内部基本色定義が保存された clr_iBolt.eng のファイルの場所とファイル名を指定します。

変更の反映: 次のセッションから

MAGIC.INIでの名前： RuntimeInternalColorDefinitionFile


開発用フォント定義ファイル

Magic xpiのフォント定義が保存されるファイルの場所とファイル名を指定します。

デフォルト値： fnt_std.jpn

変更の反映: 次のセッションから

MAGIC.INIでの名前： StudioFontDefinitionFile


アプリケーション用フォント定義ファイル

Magic xpiのフォント定義が保存された fnt_iBolt.eng のファイルの場所とファイル名を指定します。

変更の反映: 次のセッションから

MAGIC.INIでの名前： RuntimeApplicationFontDefinitionFile


内部用フォント定義ファイル

Magic xpiのフォント定義が保存された fnt_iBolt.eng のファイルの場所とファイル名を指定します。

変更の反映: 次のセッションから

MAGIC.INIでの名前： RuntimeInternalFontDefinitionFile


開発用キーボード割付ファイル

Magic xpi スタジオが使用するキーボード割付定義が保存されるファイルの場所とファイル名を指定します。

変更の反映: 次のセッションから

MAGIC.INIでの名前： StudioKeyboardMappingFile


実行用キーボード割付ファイル

Magic xpiの実行モード時に使用されるキーボード割付定義が保存されるファイルの場所とファイル名を指定します。

変更の反映: 次のセッションから

MAGIC.INIでの名前： RuntimeKeyboardMappingFile


リクエスタのタイムアウト

リクエスタがタスク処理の終了を待つ最大秒数です。この時間を超えると、エラーメッセージが表示されます。デフォルト設定の「0」の場合、タイムアウトは発生しません。エンジンからのリモートコールが実行された場合、この設定はmgreq.iniファイルのRequesterTimeoutSecキーワードを上書きします。

デフォルト値： 0

変更の反映: 次のセッションから

MAGIC.INIでの名前： RequesterTimeoutSec


Webドキュメントパス

使用するイメージ、Java 、ActiveX のデータが置かれているパスを指定します。パスは、実行時のWeb サーバのルートを基に指定します。

デフォルト値： インストーラで設定

変更の反映： 次のセッションから

MAGIC.INIでの名前： WebDocumentPath


HTTPリクエスタ

URL とMagicインターネットリクエスタモジュールの名前を指定します。このURL を使用して、Magicインターネットリクエスタモジュールの名前と場所がプログラムに伝えられます。

デフォルト値： インストーラで設定

変更の反映: 次のセッションから

MAGIC.INIでの名前： InternetDispatcherPath


Webドキュメントパスの別名

[Webドキュメントパス]のエイリアスを指定します。このエイリアスを使用して、インターネットサーバ上に一時ファイルが作成されます。エイリアスは、Web の全ての一時ファイルに対して追加され、Web サーバでは、このエイリアスを使用してアクセスが実行されます。

デフォルト値： インストーラで設定

変更の反映: 次のセッションから

MAGIC.INIでの名前： WebDocumentAlias


インデント文字

この設定は、HTMLページでのインデント間隔の文字数を指定します。

デフォルト値： 0

変更の反映: 次のセッションから

MAGIC.INIでの名前： IndentCharacters


Home > リファレンスガイド > Magic xpi 設定ファイル > Magic.iniファイル > [MAGIC_ENV] > Maximum File Handles

最大ファイル数

OSでオープンできる最大ファイル処理数が変更されます。

デフォルト値： 0

変更の反映： 次のセッションから

MAGIC.INIでの名前： FileHandles


コマンドプロセッサ

OS上のフルパスを使用するこの設定は、コマンドプロセッサーを起動するため使用されるプログラムを指定します。

デフォルト値： インストールするOSに基づいて設定されます。

変更の反映: 次のセッションから

MAGIC.INIでの名前： CommandProcessor


ロックファイル

この設定は、Magic xpiがロックメカニズムを実現するのに使用するファイルの名前を特定します。ロックファイルパラメータへのパス名は自動的に与えられますのでパス名は使用しないでください。

デフォルト値： mglock.dat

変更の反映: 次のセッションから

MAGIC.INIでの名前： LockFile


リソースロックファイル

この設定は､ロックリソースユーティリティのロックファイルへのパスを指定します。Magic xpiはデータベースロックファイルを使用することはできません。それぞれのデータベース定義で一つずつ指定されているからです。

デフォルト値： mgres.loc

変更の反映: 次のセッションから

MAGIC.INIでの名前： ResourceLockFilePath


ロック前にトランザクション開始（ISAM）

Yes値は､ISAM マルチユーザトランザクションへのアクセスを一人のユーザに制限します。

有効な値: Yes, No

デフォルト値： Yes

変更の反映: 次のセッションから

MAGIC.INIでの名前： LockWithinTran


ライセンスファイル

この設定は、ライセンスファイル名を指定します。また、アクセス可能なファイルシステム上にある代替のライセンス ファイルの場所を指定します。もしMagic xpiが第一のライセンスファイルを見つけられなかった場合、指定された代替のライセンスファイルを探します。 もしMagic xpiがライセンスファイルを見つけられなかった場合、エラーメッセージを表示して停止します。

デフォルト値： インストールプログラムにより設定されます。

変更の反映: 次のセッションから

MAGIC.INIでの名前： LicenseFile


ライセンス

この設定は、ライセンスファイルの設定に従いMagic xpiエンジンの動作をコントロールします。ライセンスファイル内に該当するライセンス情報が見つからない場合、エラーメッセージが表示され、アボート終了します

デフォルト値：インストールプログラムにより設定されます。

変更の反映: 次のセッションから

MAGIC.INIでの名前： LicenseName


ツールチップ表示タイムアウト

ツーチップ表示タイムアウトは､プロジェクト開発中に式の上で、あるいは実行中のコントロール上でツールのヒントが表示される秒数を設定します。

ツーチップを無効にする場合は、0 を設定します。

有効な値： 0-31

デフォルト値： 5

変更の反映： 次のセッションから

MAGIC.INIでの名前： TooltipTimeout


Webオーサリングツール

マージフォームの編集で使用する外部のWebオーサリングツールを指定します。

変更の反映: 次のセッションから

MAGIC.INIでの名前： AuthoringToolPath


コンテキスト非稼動タイムアウト

この設定は、ブラウザーベースのプログラムを実行しているユーザが、応答がなくなってからMagic xpiアプリケーションから切断されるまでの時間を1/10秒単位で設定します。値0は応答がなくなってからも接続し続けることに何の制限もつけないという意味です。

デフォルト値： 6000

変更の反映: 次のセッションから

MAGIC.INIでの名前： ContextInactivityTimeout


コンテキストのアンロードタイムアウト

この設定は､ブラウザーを使用しタスクページが他のページに切り替えられてしまった場合（戻る、進む、他のURL）のコンテキストのタイムアウト時間を指定 します。もしまだタイムアウトになっていない場合、前のページに戻ると最後に開いたコンテキストが再読み込みされます。もしタイムアウト時間を越 えてしまうと以前のタスクページのコンテキストは終了されます。

タイムアウト値は1/10秒単位で定義されます。もし値が0の場合、タイムアウト持続時間はなくなり、コンテキストは直ちにクリアされます。

デフォルト値： 1200

変更の反映: 次のセッションから

MAGIC.INIでの名前： ContextUnloadTimeout


HTTP タイムアウト

HTTPコンポーネント（Post/Get）を実行する場合のタイムアウトを秒数で指定します。

HTTPタイムアウト設定は、経過時間を秒数で定義します。「0」が指定された場合、2分になります。

この設定は、Magic xpiの内部コンポーネント間の内部接続に影響し、不明のIPアドレスにアクセス使用とした場合などのOSでの通信には影響しません。

有効な値: 0 から 300 (秒)

デフォルト値： 120

変更の反映: 次のセッションから

MAGIC.INIでの名前： HTTPTimeout


LDAP アドレス：ポート番号

この設定は､LDAPディレクトリのアドレスとポート番号を指定できます。

例： 127.0.0.1:389

変更の反映: 次のセッションから

MAGIC.INIでの名前： LdapAddress


LDAP 接続文字列

LDAPサーバへの接続文字列を指定します。LDAPサーバによってこの設定は異なります。

LDAPサーバに対してユーザ認証を行う際のユーザ情報を検索するためのUserDNを指定します。接続文字列にはユーザ名が必要となります。 この場合、ユーザ名を直接指定するか、$USER$ という特殊な論理名を指定することができます。Magic xpiは、この名前をログイン時のユーザIDに変換します。

例えば、iPlanetでユーザグループの登録のために接続する場合、以下のように指定します。

uid=$USER$,ou=people,dc=mydomain

変更の反映: 次のセッションから

MAGIC.INIでの名前： LdapConnectionString


LDAP ドメインコンテキスト

LDAPサーバに登録されているグループ情報を検索する場合に必要なBaseDNを指定します。例えば：ou=groups,dc=mydomain。Microsoft Active Directoryにアクセスするには名前付けコンテキストのいずれかを使用します。例えば：dc=mycompany,dc=com。

変更の反映: 次のセッションから

MAGIC.INIでの名前： LdapDomainContext


LDAP タイムアウト

LDAPサーバにアクセスする際のタイムアウト値を秒数で指定します。 指定時間内に、LDAP サーバからの応答を受信できない場合、エラーメッセージが表示されます。

デフォルト値： 120 (秒)

変更の反映: 次のセッションから

MAGIC.INIでの名前： LdapTimeout


デフォルトソースディレクトリ

この設定は、ソースサブディレクトリの名前を設定できます。プロジェクトが作成されたとき、ソースサブディレクトリの名前はプロジェクトファイルに保存されます。この環境設定値を変更しても作成されたプロジェクトには影響を与えません。

変更の反映: 次のセッションから

MAGIC.INIでの名前： DefaultSourceDir


デフォルト出力ディレクトリ

この設定は、Magic xpiが出力ファイルの名前の前に追加する出力サブディレクトリ名を設定します。例えばEXPと入力すると、それぞれの出力ファイル名は名前の前にEXPが付くようになります。これによりMagic xpiは出力ファイルを認識し、プロジェクト内のサブディレクトリに保存するようになります。

変更の反映: 次のセッションから

MAGIC.INIでの名前： DefaultExportsDir


外部コードページ

この設定は、外部データ変換に使用されるコードページIDを設定します。これはブラウザータスクのHTMLページのコードページとJava、COM、DLL、Web Serviceのインタフェースに影響を与えます。

インストール時に設定されたデフォルト値は、システムコードページです。コードページがオペレーティングシステムとは異なる言語を使用したい場合は、その言語のコードページを設定してください。値が定義されない場合は、システムのデフォルトコードページが使用されます。

この設定の値は、Eメールコンポーネントには影響しません。

変更の反映: 次のセッションから

MAGIC.INIでの名前： ExternalCodePage


SOAPクライアントモジュールのパス

この設定は、Web Serviceクライアントモジュールを格納するパスを定義します。

論理名とシークレット名を使用することができます。使用できる文字数は260文字です。

変更の反映: 次のセッションから

MAGIC.INIでの名前： SoapClientModulesPath


メール文字セット

以下の行をMagic.iniファイルの[MAGIC_ENV]セクションに手動で追加することでメールの文字セットを設定することができます：MailCharset =

例えば：

MailCharset = UTF-16

MailCharset = Windows-1255

MailCharset = Shify_JIS

文字セットが定義されない場合、システムコードページが使用されます。


HTTPフレームワーク

この設定は、HTTPコンポーネントのために使用される基礎となるHTTPライブラリを指定します。

キーワードはプロセス毎です (これは、コンテキストが個々に設定をコントロールすることができないことを意味しています)。

有効な値： DotNet, Java, そして Soap

デフォルト値： S. これはインストール時のデフォルトです。値が設定されていない場合は、SOAPが使用されます。

変更の反映: 次のセッションから

MAGIC.INIでの名前： HttpFramework

Since version:

4.6


MAGICXPI_GS

Home > リファレンスガイド > Magic xpi 設定ファイル > Magic.iniファイル > [MAGICXPI_GS]

[MAGICXPI_GS]

フラグ | 説明
SpaceName= | このフラグは、Magic xpiサーバが接続するSpaceを指定します。
LookupGroupName= | このフラグは、接続するMagic xpiサーバが接続するSpaceName=フラグ（上記)によって特定されたSpace内のグループを指定します。 このフラグの値は、（GigaSpaces\binフォルダ内に配置されている)setenv.batファイル内のLOOKUPGROUPSの値と同じでなければなりません。SpaceがLookUpGroupName=フラグで定義される値と異なるLOOKUPGROUPSの値を使用して読み込まれる場合、プロジェクトはSpaceでは動作しません。
LookupLocators= | このフラグは、［GigaSpaces設定］画面のUse the following locators(Unicast)パラメータで定義されたロケータの詳細を保持します。これらの詳細は、ロケータのサービスがカンマ区切りの指定された<ホスト：ポート>リストとして表示されます。
StartProjectFileName= | このフラグは、Magic xpiスタジオやモニタ、デバッガのために最初のXMLの名前を定義します。プロジェクトが開始されると、モニタとデバッガは指定したプロジェクトフォルダ内のこのXMLを捜します。 このフラグのデフォルト値は、start.xmlです。

以下の設定は、デフォルトでは定義されていません。使用するには手動でそれらを定義する必要があります。

フラグ

説明

TriggersBufferSize=

非同期のトリガが処理されないフローリクエストメッセージでスペースをあふれさせることを防止するために、各トリガは、キューがあらかじめ決められたサイズ(デフォルトは、10メッセージ)を越える場合、新しいイベントの作成を防止するために使用されるバッファキューを維持しています。

デフォルト値を上書きするには、このフラグをMagic.iniファイルの[MAGICXPI_GS]セクションに追加してください。また、新しいトリガのデフォルトバッファ値に必要な値を設定してください。

スペースで処理されないメッセージ量がバッファ値を超えた場合、トリガはポーリングを停止します。

このフラグは、すべてのトリガのバッファサイズを定義することを覚えておいてください。トリガ毎に異なるサイズを定義することはできません。

WorkerReadDeeperMessagesfirst=

このフラグは、Magic xpiに対しスペースからのメッセージを読み込む際により高い階層を持つメッセージを優先させるように支持する場合に使用されます。これは、新しいビジネスプロセスが開始される前に、プロセス(様々なレベルでの並列性を持つルートメッセージから開始されるプロセス)が完了されることを保証します。

このフラグのデフォルト値(フラグが定義されていない場合)は、Yです。

DIR_SCANNER_ORDERED=

このフラグは、Directory Scannerトリガのメッセージ順序をコントロールするために使用されます。

このフラグがYに設定されると、トリガは同期をとって実行され、前のトリガが処理されたか、アボートするまで、次のファイルは選択されません。

さらに、異常終了してもフローがコントロールされた方法で確実に終了するようにするために、リカバリをフローに設定する必要があります。

CheckServerEntryInspaceRetrytimes=

Magic xpiエンジンは、Magic SpaceからServerDataオブジェクトを読み込みます。ロードに失敗した場合、エンジンを終了する前に定義された回数だけリトライします。デフォルトでは、リトライ回数は"10"に設定されています。

デフォルト値を上書きするには、このフラグをMagic.iniファイルの[MAGICXPI_GS]セクションに追加してから、必要に応じて新しい再試行回数を設定します。リトライ回数が "0"以下の場合、デフォルトの"10"になります。

各リトライは、ログファイル内のリトライ番号とともにデバッグレベルで記録されます。

IBM_I_ORDERED=

このフラグは、IBM Iトリガーが一度に1つのメッセージを処理するように制限するために使用されます。これにより、データキューに設定された順序（FIFO / FILO）に準拠します。有効にするには、このフラグをMagic.iniまたはifs.iniファイルの[MAGICXPI_GS]セクションに追加し、値をYに設定します。

このフラグをYに設定すると、トリガーは同期的に動作し、IBM iコンポーネントのトリガー構成で定義されたシーケンスに従ってメッセージを受信します。

PauseOnCriticalConditions

このフラグは、Magic xpi サーバーがシステムのクリティカルな状態を処理するために使用されます。

クリティカルな状態は、データの不整合やビジネスイベント/トリガーの重複処理につながることが知られています。クリティカルな状態が発生した場合、システムは新しいリクエストの実行を一時停止し、それによって矛盾や重複の問題のリスクを減らします。

クリティカルアラートの詳細については、ここをクリックしてください。

フラグがYに設定されている場合、システムがRedoログが超過したり、Split-Brain状態になったり、データベースにアクセスできなくなったりするようなクリティカルな状態になったとき、xpiサーバーは新しいフローリクエストを受け付けません。サーバはクリティカルな状態が解消され、システムが回復するまで一時停止して待ちます。現在処理中のスレッドは継続して実行され、一時停止されることはありません。

サーバーの一時停止時間は、30分、60分、最大値120分の間隔で増加する遅延アルゴリズムに基づいて実行されます。イベントはログに記録され、管理者にはサーバーの一時停止の前に電子メールで通知されます。状況が解決して通常の状態に戻ると、管理者には通常の動作の回復に関する電子メールが送信されます。

デフォルト値は N です。この動作を有効にするには、フラグの値を Y に設定する必要があります。

処理が一時停止されて再開されたイベントは、Gigaspaces のログに記録されます。ログレベルはロガー "com.magicsoftware.xpi.server.spacebridge "を使用して制御します。詳細については、ログバック設定のページを参照してください。

(Since version: 4.13)

関連トピック：

[MAGIC_SPECIALS] フラグ


MAGIC_JAVA

Home > リファレンスガイド > Magic xpi 設定ファイル > Magic.iniファイル > [MAGIC_JAVA]

[MAGIC_JAVA]

フラグ

説明

JAVA_HOME=

Java Development Kitフォルダを指定します。これは、OSのJAVA_HOME環境変数を上書きします。

JVM_PATH=

JVM.dllファイルのパスを指定します。この設定が使用されると、JVM.dllファイルはOSによって定義されたフォルダではなく、このパスから読み込まれます。

JVM_PATHで設定された値に.dllの拡張子が付いていない場合、Magic xpiが、Windowsのサーチパスによって、JVMを検索したパスに値を挿入します (http://msdn.microsoft.com/en-us/library/7d83bc18(VS.71).aspx)。でなければ、Magic xpiは、指定されたdllファイルを動的に読み込みます。

CLASSPATH=

追加クラスを位置づけるためのパス。この設定が使用されると、OSのclasspathの先頭に追加されます。

JVM_ARGS=

Java仮想マシンに送ることができる追加パラメータ。ここでは、Magic xpiサーバが読み込まれた時に使用するメモリサイズを設定することができます。このフラグは、Java仮想マシン（JVM)に渡される引数が含まれています。

  • -Xms引数は、最初のメモリサイズをJVMに設定します。これは、Magic xpiサーバが起動されると、JVMがすぐにこの量のメモリを割り当てることを意味します。プログラムが最初から大量のヒープメモリーを消費する場合に有益です。

  • -Xmx引数は、JVMが割り当てることができる最大メモリサイズを定義します。低い値を指定した場合、パフォーマンスの低下を引き起こしたり、out-of-memoryエラーが発生する場合もあります。

Magic xpiサーバのインストール処理によって、これらの引数が以下のように設定されます。

JVM_ARGS=-Xms256m -Xmx256m

Magic xpiサーバの2つのインスタンスがある場合、各インスタンスは256MBのメモリ（総数で、512MB）を使用します。ほとんどの場合、Magic xpiのデフォルト値で十分です。


Mgreq.ini

Mgreq.iniファイルは、GigaSpaces関連の情報を保存します。このファイルは、Webリクエスタが使用するため、<Magic xpi のインストールフォルダ>\Runtime\scripts\config フォルダ内に配置されます。<Magic xpi のインストールフォルダ>\Runtime\フォルダ上にあるMgreq.iniファイルは、コマンドラインリクエスタで使用されます。

パラメータ

説明

HttpVars

インターネット・リクエスタで使用します。異なるリクエスタ（ISAPIまたはCGI）を使用してWebサーバから実行するタスクに送られる項目リストを指定します。

構文： httpVars=VarName1, VarName2,...

PollingIntervalMs

Webリクエスタのポーリング間隔（ミリ秒）を指定します。

値が小さい場合は、応答時間が速くなりますが、CPUとネットワークへの負荷が増大します。値を大きくするとクライアントは長時間の待ちが発生します。

デフォルト: 10

RequesterTimeoutSec

Webリクエスタのタイムアウト（秒）を指定します。

デフォル: 30

参照： リクエスタのタイムアウト

TCPリスナーコンポーネントでは、タイムアウト値0は無限とはみなされません。要求に応じてタイムアウト値を大きくしてください。下記ファイルにて適用します。

Magic xpi インストールフォルダ\Runtime\Mgreq.ini file

SpaceName

Magic xpiサーバが接続するSpaceを指定します。

LookupGroupName

Magic xpiサーバが接続するSpaceNameパラメータ（上記)によって特定されたSpace内のグループを指定します。

LookupLocators

［GigaSpaces設定］画面の［Use the following locators (Unicast)］パラメータ)で定義されるロケータの詳細。


Start.xml

start.xml 設定ファイルは（［ビルド］メニューからの）ビルド処理によって、ファイルが存在しない場合だけ、Magic xpiスタジオで作成されます。このファイルは、プロジェクトが実行される時に使用されます。ファイルは、Magic xpiのインストールフォルダに配置されます。

start.xmlファイルは、各プロジェクトに対応したセクションが含まれています。これらのセクションは、各プロジェクトがどのようにグリッドに配備されるか、どのサーバで実行するか、どれくらいのエンジ、ワーカーそしてトリガがプロジェクトに含まれているかを定義しています。プロジェクトが現在実行していない場合、開始された最初のMgxpiServer.exeはMagic Spaceにプロジェクトのメタデータを読み込ませ、プロジェクトの実行状態を設定する役割を果たします。追加サーバはどれも、ワークフォースに参加するだけです。

start.xmlファイルを修正(NotePadやXMLエディタなどの外部のエディタが利用できます)して、プロジェクトエンジンの開始をコントロールすることができます。各プロジェクトのために複数のMagic xpiエンジンを起動し、実行エンジン内のどのグリッドを使用するかをコントロールするためにファイルを設定することができます。一つの開始処理から複数のサーバで複数のプロジェクトを開始することもできます。

プロジェクトが開始されるように指定されたとき、Startリンクやデバッガ、そしてモニタは、すべてstart.xml を参照します。

StartProjectFileNameフラグで定義されているように、ファイルのデフォルト名はstart.xmlです。これは、Magic xpiのルートフォルダに位置付けられたテンプレートに基づいています。start.xmlファイルの例を参照するには、ここをクリックしてください。

<?xml version="1.0" encoding="UTF-8"?>

<Magicxpi_Startup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<Projects>

<Project Name="project1" ProjectsDirPath="d:\Magic_xpi\projects">

<Servers>

<Server host="myhost1">

<NumberOfWorkers>5</NumberOfWorkers>

<NumberOfInstances>1</NumberOfInstances>

<Triggers load="true"/>

<Scheduler load="true"/>

<AutoStart load="true"/>

</Server>

<Server host="myhost2">

<NumberOfWorkers>8</NumberOfWorkers>

<NumberOfInstances>1</NumberOfInstances>

<Triggers load="false"/>

<Scheduler load="false"/>

<AutoStart load="false"/>

</Server>

</Servers>

</Project>

<Project Name="project2" ProjectsDirPath="d:\Magic_xpi\projects">

<Servers>

<Server host="myhost3">

<NumberOfWorkers>5</NumberOfWorkers>

<NumberOfInstances>2</NumberOfInstances>

<Triggers load="true"/>

<Scheduler load="true"/>

<AutoStart load="true"/>

</Server>

</Servers>

</Project>

</Projects>

</Magicxpi_Startup>

以下の設定を行うことができます：

  • 単一サーバ+単一エンジン+複数ワーカ

  • 単一サーバ+複数エンジン+複数ワーカ

  • 複数サーバ+複数エンジン+複数ワーカ

start.xmlファイルには、以下の設定パラメータが含まれています：

パラメータ

説明

ProjectsDirPath=

プロジェクトの、ディレクトリ・パスです。2つの異なる方法でこのパラメータを使用することができます：

  • すべてのサーバで一つのプロジェクト位置を定義する。

  • 現在のサーバの配下で指定したサーバのために指定した位置を定義する。

Server host=

このフラグは、このサーバがどのホストで実行するかを定義します。

ホスト定義は、IPアドレスまたはホスト名で指定できます。

alternateHosts=

このフラグは、主要なホストが利用できなかったり主要なホストへの開始手続が失敗した場合に、代替のサーバを定義するオプションを提供します。詳細は、ここをクリックしてください。

Since version: 4.1

NumberOfWorkers=

このフラグは、サーバが読み込むjワーカの数を指定します。

異なる複数のスレッドを異なるMagic xpiサーバに設定することができます。

NumberOfWorkers=0 の場合、ワーカなしでサーバを起動します。例えば、サーバがトリガをリッスンするだけの場合です。

常時フローを実行するワーカの数は、ライセンス内でのスレッド数によってバインドされます。

このフラグの値は、負数を指定できません。

デフォルト値は10です。

NumberOfInstances=

まったく同じ環境で実行する複数のサーバが必要な場合、start.xml内の一つのサーバセクションを定義することができ、このフラグで実行するサーバの数を指定できます。

デフォルト値は1です。

サーバの性能に影響するさまざまな要因の詳細については、ここをクリックしてください。

Triggers load=

このフラグは、プロジェクトが開始する時、プロジェクトのトリガがサーバ毎にアクティブに設定されるかどうかを定義します。フラグは、True(デフォルト)またはFalseのどちらかに設定してください。

特定のプロジェクトを処理するために複数のサーバを読み込む場合、各サーバがトリガを処理する必要はまったくありません。特定のサーバがトリガイベントをリッスンし、他のサーバでは行われません。

これは、Web ServiceのトリガとHTTPトリガには関連しません。

どのトリガが各サーバ上で動作するかを定義することもできます。詳細は、ここをクリックしてください。(Since version: 4.1)

Scheduler load=

このフラグは、プロジェクトが開始される時に、プロジェクトのスケジューラ・サービスがサーバ毎に有効にするかどうかを指定します。フラグは、True(デフォルト)またはFalseで設定します。

1つのサーバだけがスケジューラを読み込む必要があります。それ以外の場合、重複スケジュールの通知を受け取ることになります。

AutoStart load=

このフラグは、サーバ起動時にプロジェクトの自動スタート・フローを実行するかどうかを指定します。フラグは、True(デフォルト)またはFalseで設定します。

Magic xpiは、自動起動フローがすでに実行していることを識別し、サーバがクラッシュして再起動した場合、再起動されません。

データベーステーブルを初期設定するフローがある場合、読み込まれるサーバの全てが読み込み時にテーブルを初期設定してほしくないでしょう。

このフラグを特定のサーバホストの配下で Trueと設定しても、自動起動のフローは異なるサーバホストで代わりに動作するかもしれません。

  • start.xmlファイルには、PCのホスト名が保存されています。異なるPCにプロジェクトを配備する場合、新しいプロジェクトの位置とホスト名を一致させるためにstart.xmlファイルを修正しなければなりません。一旦ファイルを削除して、プロジェクトを作り直すこともできます。

  • プロジェクトをビルドまたはリビルドすると、そのプロジェクトのstart.xmlファイルがすでに存在している場合、ファイルの内容は上書きされません。それを回避するには、magic.iniファイルの[MAGIC_IBOLT]セクションのフラグ OverriteStartXMLFile をNoにしてください。

1台のPC上のサーバに複数のインスタンスを動作させるビデオデモンストレーションを参照する場合は、ここをクリックしてください。


MAGIC_IBOLT

Home > リファレンスガイド > Magic xpi 設定ファイル > [MAGIC_IBOLT]

[MAGIC_IBOLT]

フラグ

説明

NullifyXMLSourceNonExistentTagValue

Magic xpiで、［XMLソース］内にタグが存在しないとき、宛先に渡される値はデータ型のデフォルト値です。たとえば、存在しない数値型は、0を返します。

このフラグは、この値がデータ型のデフォルトとして残すか、Nullかどうかを指定します。このフラグに設定することができる2つのオプションは以下のとおりです。

  • N（デフォルト) …… 渡された値は、データ型のデフォルトとして残ります。

  • Y…… 渡された値はNullです。

NullifyJSONSourceNonExistentTagValue

Magic xpiで、［JSONソース］内にタグが存在しないとき、宛先に渡される値はデータ型のデフォルト値です。たとえば、存在しない数値型は、0を返します。

このフラグは、この値がデータ型のデフォルトとして残すか、Nullかどうかを指定します。このフラグに設定することができる2つのオプションは以下のとおりです。

  • N（デフォルト) …… 渡された値は、データ型のデフォルトとして残ります。

  • Y…… 渡された値はNullです。

Since version: 4.5

JMSIncludeMessageInArgumentsXML

JMSコンポーネント・トリガの引数XMLは、メッセージ特性とBase64でエンコード化されたメッセージを含みます。メッセージが非常に大きい場合、引数XMLは大きすぎてデータマッパが実際のメッセージを抜き出すことができなくなります。

このフラグがNに設定されるとき、引数XMLはメッセージ特性だけで、メッセージそのものは含まれていません。メッセージと特性を取得するには、メッセージ内容と引数XMLをマッピングするためにデータマッパーを使用する必要があります。

このフラグのデフォルト値はYです。

UseDBdateFormat

このフラグは、データベースのSelectステートメントから返されるOracle DB文字列のフォーマットを決定します。

このフラグがYに設定されるとき、Oracle DB文字列のフォーマットは、Oracleが返すフォーマットと同じです。

このフラグのためのデフォルト値はNです。

DCRM2013OnPremise

このフラグは、プロジェクトがDynamics CRM の業務用のマシンと接続することができるかどうかを定義します。このフラグはDynamics CRMコネクタの業務用バージョンにのみ関連します。

このフラグに設定することができるオプションは、以下の2つがあります。

  • N …… プロジェクトはDynamics CRMの業務用マシンと接続することができません。

  • Y(デフォルト) …… プロジェクトはDynamics CRMの業務用マシンと接続することができます。

Since version: 4.1

DCRMOnlineSDK

このフラグは、実行時の実装を定義するためにDynamics CRMコネクタによって使用されます。デフォルトでは、Magic.iniファイルにはありません。必要に応じて、それを追加する必要があります。

このフラグに設定することができるオプションは、以下の2つがあります。

  • N …… CRM 2011 Soap API が実行時に使用されます。

  • Y (デフォルト) …… DCRM 2016 SDK が実行時に使用されます。

フラグがYに設定された場合、実行時の実装はWindows OSサーバ上の時だけ有効です。

Since version: 4.6

SVCUtil

このフラグはDynamics AX 2012コネクタとWCFClientコネクタで使用されます。このフラグは、Svcutil.exeファイルを示しています(これは、Windows SDKの一部で、C#クライアントのコードやclient.configファイルの作成のために使用されます)。

例： SVCUtil = C:\Program Files (x86)\Microsoft SDKs\Windows\<v7.xx>\Bin\NETFX 4.0 Tools\x64\SvcUtil.exe

有効: 4.1 以上

SvcConfigEditor

サービスコンフィギュレーションエディタへのフルパス。WCFClientリソースの［サービス設定］ボタンをクリックした時、この特性はSvcConfigEditor.exeファイルを呼び出すために使用されます。

この特性が無効な場合、Magic xpiは、SVCUtilフラグで定義されたパスを使用して、場所を探します。

Since version: 4.5

DotNetCompiler

このフラグはDynamics AX 2012コネクタとWCFClientコネクタで使用されますこのフラグは、デフォルトのC#コンパイラを示しています(これはインストールさられた.NETフレームワークの一部で、Svcutil.exeファイルによって作成されたコードをコンパイルします)。

例： DotNetCompiler = C:\Windows\Microsoft.NET\Framework\<.NET 4.0.xxx または .NET 3.5 フォルダ名>\csc.exe

有効: 4.1 以上

ActivityBlobFileLocation

このフラグは、SaveMessage BLOBを書き込む場所のフルパスを設定するために使用します。共有ドライブや論理名を使用することをお勧めします。

フラグが設定されていない場合、すべてのプロジェクトの一時的なBlobファイルは、Apache Tomcatインストール下の一時的な場所に作成されます。\RTView\serversers\apache-tomcat-7.0.104\webappsMagicmonitor\TempDownloadBlob. この場所は全てのプロジェクトで共通なので、これらの一時ファイルは Activity Log の削除プロセスの一部として削除されません。

このフラグは、デフォルトでは ifs.ini ファイルで使用可能です。移行したプロジェクトでは、このフラグはデフォルトでは使用できません。

参照： Magic xpi4.5との動作の違い

Since version: 4.5

Oracle Database Blobの場合、デフォルトで2kまでサポートされています。2KB以上のBLOBフィールドのサポートを取得するには、プロジェクトのifs.iniに次のパスを定義します。

このパスは、指定された場所にあるデータ用のファイルを作成し、モニターでも正常に実行されます。

[MAGIC_IBOLT] activityBlobFileLocation = c：\\temp\\

ActivityBlobFileFallbackToDB

このフラグがYの場合、ActivityBlobFileLocationフラグへの書き込みが失敗すると、Magic xpiはデータベースのifs_actlogテーブルに直接書き込もうとします。

このフラグがN(デフォルト)に設定された場合、データは失われます。

このフラグは、ifs.iniファイルにデフォルトで定義されています。移行プロジェクトでは、このフラグはデフォルトでは利用できません。

参照： Magic xpi4.5との動作の違い

Since version: 4.5

DCRMAD

このフラグはDynamics CRMコネクタによって使用されます。

Dynamics CRMリソースの確［セキュア接続］プロパティを Yesに設定し、［配布タイプ］を「オンプロミス」とした場合、のフラグをMagic.iniファイルに追加し、それをYに設定してください。

Since version: 4.5

WCFCustomFault

このフラグは、カスタム障害サポートを無効または有効にするためにWCFクライアントによって使用されます。 カスタム障害サポートを無効にするには、このフラグ値をNに設定します。 デフォルトでは、Magic.iniまたはifs.iniファイルには設定されておらず、カスタムフォルトサポートは有効になっています。

Since version: 4.8

SFDCremoveNewLineDelimiterInData

このフラグはSalesforceコネクタによって使用されます。

このフラグをYに設定すると、Salesforceコネクタによって生成されたCSVファイル内のすべての改行コード（CRLF）が空白に置き換えられます。

デフォルトでは、Magic.iniファイルまたはifs.iniファイルには設定されていません。この動作を有効にするには、フラグを追加して値をYに設定してください。

Since version: 4.8

DCRMContinueRequestOnError

このフラグはDynamics コネクタで使用します。

デフォルトでは、Magic.iniまたはifs.iniファイルには表示されません。 この動作を有効にするには、Magic.iniファイルの[MAGIC_IBOLT]セクションにフラグを追加するか、ifs.iniファイルに[MAGIC_IBOLT] DCRMContinueRequestOnErrorを追加して、値をYに設定します。

このフラグがYに設定されている場合、Dynamics CRMコネクタはレコードの処理に失敗しても実行を停止せず、後続の要求処理を続行します。

このフラグがN（デフォルト）に設定され、レコードの処理に失敗した場合、後続の要求は処理されません。

Since version: 4.7.7

SUGARCRM_Max_Number

このフラグは、SugarCRMサーバーから1回の往復でフェッチされるレコードの数を入力するために使用されます。

デフォルトでは、Magic.iniまたはifs.iniファイルには表示されません。 このフラグがこれらのファイルのいずれにも存在しない場合、デフォルト値は1回の往復で1000レコードフェッチします。

このフラグをMagic.iniファイルの[MAGIC_IBOLT]セクションに追加するか、[MAGIC_IBOLT] SUGARCRM_Max_Numberをifs.iniファイルに追加して値を設定します。これは、SugarCRMサーバーからフェッチするレコードの数を制御する必要がある場合です。

一度にフェッチされるレコードの最大数は、サーバー側で1000に制限されています。 したがって、1000を超える値は1000として扱われます。

Since version: 4.7.7

DBTriggerSyncMode

このフラグは DBTrigger の実行モードをコントロールします。

DBトリガーを同期モードで動作させるには、magic.iniの[MAGIC_IBOLT]セクションにこのフラグを追加するか、ifs.iniファイルに[MAGIC_IBOLT]DBTriggeSyncModeを追加して、その値をYにしてください。

非同期モードで動作させるには、この値をNにするか、何も設定をしないでください。デフォルト値はNになります

Since version: 4.13

UseUnescapeSequence

Magic.iniファイルの[MAGIC_IBOLT]セクションにこのフラグを追加し、値をYに設定することで、データマッパが結果として返るJSON内の'\n'（改行）、'\r'（キャリッジリターン）、\t'（タブ）に余分な’\’(バックスラッシュ)を追加しないようにします。

Since version: 4.13.1

EDISyncMode

このフラグは、EDIトリガーの実行モードを制御します。

同期モードでEDIトリガーを実行するには、Magic.iniファイルの[MAGIC_IBOLT]セクションの下にフラグを追加するか、ifs.iniファイルに[MAGIC_IBOLT] EDISyncModeを追加して、値をYに設定します。

トリガーを同期モードで実行すると、パフォーマンスが低下する可能性があります。

非同期モードで実行するには、値をNに設定するか、空白のままにします。 このフラグのデフォルト値（およびこのフラグが存在しない場合）はNです。

Since version: 4.13.1（日本語版ではサポートされません）

OverwriteStartXMLFile

このフラグは、Magic xpiStudioがプロジェクトのビルドまたはリビルド時にstart.xmlファイルの内容を上書きしないようにするために使用されます。 デフォルトではMagic.iniには表示されていません。 この動作を有効にするには、Magic.iniファイルの[MAGIC_IBOLT]セクションの下にこのフラグを追加して、値をNに設定します。

Since version: 4.13.1

RestClientPathParamURlEncode

このフラグは、RESTクライアントコンポーネントのパスパラメーター中に記述される特殊文字のエンコードを防ぐために使用されます。

このフラグのデフォルト値（またはこのフラグがiniファイルに定義されていない場合）：N

Ifs.iniファイルにはこのフラグはデフォルトでは定義されていません。

パラメータをエンコードするには、ifs.iniファイルに下記フラグを追加し、値をYにします。[MAGIC_IBOLT]RestClientPathParamURlEncode

Since version: 4.13.1

HTTPTrigSeparator

Magic xpiは、トリガー名の区切り文字としてハッシュ（＃）文字を使用します。 スラッシュ（/）などの他の区切り文字を使用するには、このフラグを使用できます。 フラグはデフォルトでは存在しないため、Magic.iniファイルの[MAGIC_IBOLT]セクションに追加し、必要な値を指定する必要があります。

このフラグのデフォルト値（およびこのフラグが存在しない場合）は＃文字です。 1文字のみ使用できます。 複数の文字が指定されている場合は、最初の文字が使用されます。

このフラグはMagic.iniでのみサポートされており、ifs.inとしてはサポートされていません。

  • ここで提供される値はMagic xpiによって検証されません。 キャラクターの選択は慎重に行うことをお勧めします。 *、％などの一部のHTTP予約文字は失敗する可能性があります。 不適切なキャラクターによる失敗はユーザーの責任となります。

  • この機能をJavaWebリクエスターで使用する場合は、変更を有効にするために下記の手順を実行します。:

  • <Apahe-tomcat Installation> \ webappsフォルダーの下にあるデプロイ済みフォルダー（Magicxpi4.xx.x）を削除します。

  • Magic xpi-Wceb Server Installation.pdfに従って変更を行った後、Tomcatを再起動します。

Since version: 4.13.2

MQTTSyncProcessMode

このフラグはMQTTトリガーによって処理されるメッセージの処理順序を決定します。

メッセージを同期的に受信するには、magic.iniファイルの[MAGIC_IBOLT]セクションの下にこのフラグを追加し、値をYとしてください。

SDKConnectorLanguage

このフラグはxpi スタジオのSDKコネクタのローカライズ言語を設定するために使用します。このフラグはmagic.iniの[MAGIC_IBOLT]セクションに追加するか、ifs.iniに追加して必要な言語に従って値を設定します。言語の値はtranslation.xmlで定義している言語の一つと一致する必要がある。フラグで指定した言語がtranslation.xmlに存在しない場合は、インストールした基本言語（ENまたはJP）が使用されます。基本言語がtranslation.xmlに存在しない場合、翻訳は適用されません。

Since version: 4.13.4

WriteBigdecimalAsPlain

このフラグは、数値が指数表記形式に変換されないようにし、値をプレーンテキストでそのまま表示するために使用されます。

たとえば、数値12345678は、指数表記形式で1.2345678E7に変換されます。 このような変換をさせないためには、Magic.iniファイルの[MAGIC_IBOLT]セクションの下にWriteBigdecimalAsPlainフラグを追加し、値をYに設定します。

デフォルトでは、Magic.iniファイルにはこのフラグはありません。フラグがない場合は、デフォルト値はNと見なされます。

Since version: 4.13.4

DBConnectionClean

このフラグは、内部データベースリソースの接続を定期的にクリーンアップするために使用されます。

Magic.iniファイルの[MAGIC_IBOLT}セクションにこのフラグを追加し、値をYに設定します。

デフォルトでは、Magic.iniファイルには定義されていません。このフラグのデフォルト値はNであり、Magic.iniファイルに定義されていない場合も値はNです。

Since version: 4.13.4

SwapShutdownTime

このフラグは、HotSwap機能と組み合わせて使用されます。このフラグはスワップされたプロジェクトのifs.iniに、デフォルト値を300秒として追加されます。

HotSwap プロセスの間、元のプロジェクトは、フラグで定義された時間待機して正常にシャットダウンします。

フラグで定義された時間が経過した後、もし元のプロジェクトが実行されている場合は、プロジェクトは強制的にシャットダウンされ、実行中のワーカーも停止します。

このフラグはifs.iniのみサポートし、magic.iniではサポートされません。

Since version: 4.13.5


構成ファイルフラグ

Magic xpi構成ファイル（.ini）の様々なフラグでプロジェクトの動作を変更することができます。

フラグの情報に関しては、以下のトピックを参照してください。

  • アクティビティログ

  • Directory Scanner

  • デバッガ

  • SAP

  • 汎用

  • [MAGIC_SPECIALS] フラグ

Magic xpiサーバ上で実行されるプロジェクトの動作を変更することができます。Magic xpiサーバはユーザイン タフェースを持っていないため、ifs.iniファイルを編集する必要があります。［設定］ダイアログボックスの［プロジェクト設定］セクションを使用して選択されたifs.iniフラグを編集することもできます。実行環境では、Magic.iniが、サーバにロードされます。その後、追加の実行設定ファイル(ifs.ini)に含まれているフラグがロードされます。後からロードされたフラグ内容が実行時に有効になります。

ifs.iniファイルは、各Magic xpiサーバ上のMagic xpiルートディレクトリまたはプロジェクトフォルダに配置されています。ファイルは、テキストファイルです。一般的なテキストエディタで編集することができます。

このトピックで説明しているフラグのみ変更するようにしてください。それ以外のフラグを修正した場合、プロジェクトは予期しない動作になる可能性があります。


アクティビティログ

アクティビティログは､プロジェクトの実行中に発生した動作を記録します。ログの記録を止めたり、記録されるレコードの種類を制限することができます。またどのスレッドでログを取るかを決めることもできます。これらの設定変更はサーバのパフォーマンスに影響します。多くの動作をする大きなプロジェクトの場合、どのように動作のログを取るかの変更によりサーバのスピードとパフォーマンスを向上させることができます。

これらのフラグは、[MAGIC_IBOLT]セクションにあります。

フラグ

説明

DisableActivityLog=

  • Y …… 全てのログ動作を止めることができます。何もログファイルに記録されずモニタにも何も表示されません。

  • N（デフォルト） …… ログが記録されるようになっています。

ログ記録を無効にするとサーバのスピードとパフォーマンスが向上します。

MonitorMode=

このフラグはどのタイプのログを取るかを規定します。

  • Statistic …… モニタは統計情報を表示しますが、ログは記録されません。このオプションは著しくCPUリソースを消費しますので注意してください。

  • Activity (デフォルト) …… モニタは動作ログを表示しますが統計情報は表示しません。

  • Both …… モニタは動作ログと統計情報の両方を表示します。

  • 単語の文字が欠けていないか、注意してください。また大文字小文字は区別されます。スペルミスや最初の文字を大文字にし忘れるとデフォルトはBothとなります。

  • ログを記録する動作のタイプを制限することによりサーバのスピードとパフォーマンスは向上します。

MonitorLogLevel=

どのように開始された動作か（動作レベル）によりログを取るかどうかを指定します。

  • User …… ユーザ定義されたメッセージのログを取ります。

  • Error …… エラーとエラーコンポーネントの呼び出しのログを取ります。

  • Exec …… サーバやフロー呼出等の実行動作のログを取ります。エラーとユーザメッセージも含まれます。

  • Service …… ODS、ロック、発行、購読等の動作。

  • All (デフォルト) …… 全ての動作のログを取ります。

  • None …… メッセージを表示しない。

ログを記録する動作レベルを制限することによりサーバのスピードとパフォーマンスを向上させることができます。

この入力に複数の値を定義する場合は、等号の後にアスタリスク(*)が指定されていることを確認してください。

ActivityLogSynchronizationMode=

アクティビティログがどのように扱われるかを指定します。

  • Async(デフォルト) …… 単一のスレッドが全てのログを記録します。このオプションを選択すると、Magic xpiサーバは単一のスレッド内で動作をまとめて記録します。これによりシステムのスピードとパフォーマンスは向上します。

  • Sync …… それぞれのスレッドが独自にログを記録します。このオプションを選択するとMagic xpiサーバは動作が実行されている同一スレッドからリアルタイムにログを記録させたり、動作の多いプロジェクトの負荷を調整することができます。


Directory Scanner

フラグ | 説明
ClearGlobalList= | 処理されなかったファイルをグローバルリストから削除する間隔の時間（分）。 デフォルト： 5 minutes
SupportFtpRelativePath= | ソースディレクトリパスが与えられなかった場合（空白の場合）、このパラメータをYに設定することにより相対パスをサポートするようになります。 デフォルト： N
DIR_SCANNER_ORDERED | このフラグは、Directory Scannerのトリガのメッセージ順序をコントロールするために使用されます。 このフラグがYに設定された場合、トリガは同期的に動作し、前のものが処理されるかアボートするまで、次のファイルは選択されません。 さらに、リカバリは、異常終了が発生しても、フローが管理された方法で終了することを確認するためにフローに設定する必要があります。


デバッガ

フラグ

説明

DebugMapper=

このフラグはデータマッパーのデバッグを容易にします。

この設定がifs.iniファイルでオンになっている場合(DebugMapper = Y) 、Magic xpiがサーバを使用してデータマッパーを実行するとmapper.log というログファイルがlogsディレクトリに作成されます。

このログファイルには、データマッパーのデータベースの送り元と送り先のみについての実行情報が含まれています。

DebugMapper=YフラグをMagic.iniファイルに追加する前に、ifs.iniファイルに含められていないことを確認してください。フラグがifs.iniはファイルに含まれている場合、フラグは上書きされファイルは作成されません。

DebugMDCRMComponent=

このフラグは、Dynamics CRMコネクタのデバッグを簡単にします。

この設定がifs.iniファイルでオンになっている場合(DebugMDCRMComponent=Y) 、Magic xpiがサーバを使用してDynamics CRMステップを実行するとMDCRM_Debug.logというログファイルがlogsディレクトリに作成されます。

DebugSharepointComponent=

このフラグは、SharePointコネクタのデバッグを簡単にします。

この設定がifs.iniファイルでオンになっている場合(DebugSharepointComponent=Y) 、Magic xpiがサーバを使用してSharePointステップを実行するとSharepoint_Debug.logというログファイルがlogsディレクトリに作成されます。

DebugExchangeComponent=

このフラグは、Exchangeコネクタのデバッグを簡単にします。

この設定がifs.iniファイルでオンになっている場合(DebugExchangeComponent=Y) 、Magic xpiがサーバを使用してExchangeステップを実行するとExchange_Debug.logというログファイルがlogsディレクトリに作成されます。

logback.xmlファイルのdebug level を変更することで、SAP ERPコネクタをデバッグすることができます。ifc.sapr3.log（SAP ERPステップ用）およびifc.sapr3Trigger.log（SAP ERPトリガー用）がlogsディレクトリに作成されます。

これを行う方法については、このトピックを参照してください。

［設定］ダイアログボックスの［デバッグフラグ］セクションでこれらの設定を設定することもできます。


SAP

フラグ

説明

SAPB1Locking=

このフラグは、SAPのロックをコントロールします：

  • N …… 複数のSAPB1ステップは、プロジェクトの実行範囲全体にわたり同時に実行することができます。

  • Y（デフォルト)…… 1つのSAPB1ステップのみ一度に実行することができます。

このフラグが存在しない場合、SAPはロックされます。

SAPがロックされ、2つのフローがSAPB1ステップ内で同時に実行しようとしている場合、最初のフローが終わるまで、2番目のフローは待ちます。

SAPB1RemoveEmptyNodes=

このフラグはSAPB1と連携して使用されて、ifs.iniファイルの[MAGIC_IBOLT]セクションで定義されます。

XMLインターフェースでSAPB1を設定すると、空のノードを削除するか、そのままにするかを指定します。

  • N（デフォルト) …… 空のノードは、XML設定で保持されます。

  • Y …… 空のノードは、XML設定から削除されます。

RfcAllowStartProgram=

このフラグは、SAP ERPと連携して使用されます。

いくつかのビジネスアプリケーションプログラミング・インタフェース（BAPI)は、クライアントPCでプログラムを実行するために、RFCコールバック機能を使用します。

このフラグによって、どのプログラムを実行できるかを定義することができます。3つのオプションがあります：

  • デフォルトは、RfcAllowStartProgramフラグが無効になっています。これは、クライアントPCでプログラムのローカル実行を防止します。最初にこの関数を呼び出さないと、RFCコールバック機能を使用することができません。

  • ifs.iniファイルの［MAGIC_IBOLT］セクションにRfcAllowStartProgramフラグを追加し、値をNULL（大文字と小文字は区別しません）に設定することができます。これによって、RFCコールバック機能がクライアントPCでどんなプログラムでも呼び出すことができるようになります。

  • ifs.iniファイルの［MAGIC_IBOLT］セクションにRfcAllowStartProgramフラグを追加して、プログラムをセミコロン区切りにしたリストとして値を設定することができます。これによって、リストされたプログラムだけを、RFCコールバック機能によって呼び出すことができます。

SAPJCO=

このフラグは、SAP ERP の実行で使用される基盤を定義します。2つのオプションがあります：

デフォルトは、SAPJCOフラグが無効になっています。これは、SAP ERPがSAP JCO V3上で実装されることを意味します。JCOがMicrosoft のライブラリバージョンで合っていないため、読み込みに失敗した場合、Microsoft Visual C++ 2005 Service Pack 1 再頒布可能パッケージ ATL のセキュリティ更新プログラムをインストールする必要があります。

Magic.iniファイルの［MAGIC_IBOLT］セクションにSAPJCOフラグを追加し、値を「N」に設定すると、ERPがlibrfc32上で実装されます。

DebugTraceLevel=

このフラグは、SAP ERPコネクタに拡張トレースオプションを追加します。Magic.iniファイルの [MAGIC_IBOLT]セクションで定義します。各オプションはJCOのバージョンと実行情報を返します。そして、以下のような追加のトレースオプションを選択することができます：

  • 0 …… トレース無し

  • 1 …… 重要な公開API呼び出し

  • 2 …… 追加された公開API呼び出し（例、getClientやreleaseClient)。

  • 3 …… （デフォルト)内部のミドルウェア呼び出し（JNI/JRfc レイヤ)

  • 4 …… 追加された内部ミドルウェアの詳細（例、APIへの入出情報)

  • 5 …… メモリアロケーション情報の記録。重要な呼び出しスタック能登レース情報（例：removePool、SetTraceLevel)。

  • 6 …… RFCメタデータ（名前、タイプ、オフセット、長さ、インポート/エクスポートオプション); ASCIIデータ（構造の最初の100文字とテーブルの最初の5行)。

  • 7 …… 追加された16進データ

  • 8 …… 全ての内容データのダンプ（文字でないか、行の制限がない）。

  • 9 …… CからJavaに割り振る項目データ。コードページコンバータを呼び出します。

  • 10 …… メモリリークの分析情報（レコードObjectIDsと詳細なfreeRecord)。


汎用

ifs.iniファイルで編集できる残りのフラグの説明です。

フラグ

説明

DisableSecurity=

このフラグはセキュリティ設定をコントロールします：

  • N(デフォルト) …… セキュリティが有効です。

  • Y …… Magic xpiスタジオで設定されたすべてのセキュリティオプションはキャンセルされます。

環境への外部アクセスがブロックされ、内部のMagic xpiセキュリティメカニズムを回避し、より速いフローの実行が容易になる、テスト環境においてこのフラグを使用してください。

StepRetryLimit=

［エラーポリシー］が"Retry"に設定されている場合、Magic xpiサーバがステップをリトライし続ける回数を指定します。

StepRetryClearError=

［エラーポリシー］を"Retry"に設定したステップがあり、StepRetryLimitフラグで定義された制限がステップを実行しているMagic xpiサーバを使用しないで達成した場合、最後のエラーはc.sys.ErrorCodeコンテキスト変数に保存されます。

最後のエラーがc.sys.ErrorCode変数から消されたかどうかにかかわらず、このフラグはコントロールします。

  • N(デフォルト) …… 最後のエラーは消去されません。

  • Y …… 最後のエラーは消去されます。

フラグが存在していない場合、デフォルト値はNです。

Since version: 4.5

StepRetryDelayTnSec=

［エラーポリシー］を"Retry"に設定したステップがあり、エラーが発生した場合、Magic xpiサーバは、再びステップを実行しようとします。

このフラグはリトライ間の遅延をコントロールします。

値(1/10秒)は、正値で指定してください。0または、負数の場合遅延がないことを意味しています。

Since version: 4.5

RuntimeVariableTypeValidation=

変数のデフォルト値が有効な値であるかどうかをMagic xpiがチェックするかどうかを指定します。

  • Y（デフォルト） …… チェックを行います。

  • N …… チェックを行いません。パフォーマンスを向上させるにはフラグをNにします。

CleanTemp=

このフラグは、サーバ起動時に<メインのMagic xpi インスト－ルフォルダ>\tempフォルダ内を削除するかを指定します。

  • Y …… 削除機能が有効になります。

  • N（デフォルト） …… 無効です。

JMSStartupConnectionFailurePolicy=

サーバ間通信がJMSを通して行なわれている場合、このフラグは接続が切れてしまった時に、サーバが再接続を試みるかどうかを指定します。

  • Retry (デフォルト) …… 再接続を行います。

  • Ignore …… エラーを無視します。

  • None …… 何もしません。

FlowTimeoutGraceTime=

このフラグは、mgxpiserver.exeが、同じルートFSIDを提供する関連したワーカスレッドを終了するために、フロータイムアウトの終わりの後に待つ時間(数秒)を定義します。

フローが実行中で、タイムアウトが経過したら、猶予時間がまだ経過していなくても、現在のステップを終了したら、フロー(ワーカではありません)は終了します。しかし、フローが特定のステップ上にとどまっているのであれば、ワーカが終了される前に、全ての猶予時間を経過することになります。

プロジェクトが実行している各PCのifs.iniファイル内のFlowTimeoutGraceTimeフラグを設定することが最善の方法です。それによって、例えば堅固なマシンから脆弱なマシンに変えることもできます。これは、フローのために定義できる別のタイムアウトのために追加のオフセットとして使用することができます。

フローのタイムアウトが0ではない場合のみ、FlowTimeoutGraceTimeが考慮されます。

デフォルト値： 300（秒）

フロータイムアウトのポリシーについての追加情報は、ここをクリックしてください。

Since version: 4.0a


MAGIC_SPECIALS フラグ

Home > リファレンスガイド > Magic xpi 設定ファイル > 構成ファイルフラグ > [MAGIC_SPECIALS] フラグ

［MAGIC_SPECIALS］フラグ

Magic xpiの設定ファイル(iniファイル)には､いくつもの特殊なフラグがあります。ほとんどはMagic xpi内部用です。Magic xpiユーザに関係したフラグは以下のとおりです。これらのフラグは、システムパフォーマンスの向上とシステムのプロセスが正しく管理されているかを確認するためのものです。Magic xpiユーザに関連するフラグは、以下の通りです。

フラグ

説明

SpecialEventQMaxInterval=

キューにイベントを再送信する前に現在のプロセスが待つ時間（ミリ秒）。これは前回の送信時にキューが一杯だった場合に行なわれます。デフォルトは10です。

これはシステムパフォーマンスの微調整にも使用されます。

SpecialEventQSizeLimit=

内部イベント用の最大のキューサイズを示します。デフォルトは5000です(バージョン4.5aまでは、デフォルトは100でした)。フラグが0に設定された場合、キューの最大長は仮想メモリのサイズによってのみ制限されます。

キューがその限界に達した場合、これらのメッセージを送ろうとするワーカは、処理されるまで待つことになります。

このフラグは、サーバ毎の動作スレッドのキューサイズを定義します。動作スレッドは、様々なリクエスト(サーバの内部リクエストとプロジェクトの有効なリクエストの両方)を処理します。キュー内で待っているアクティビティが多すぎないことを保証するために、より小さなキューの制限を設定してください。しかし、最高の性能を引き出すには、このフラグの値は、別の性能考察とともに検討する必要があります。このフラグを増やすとサーバの性能は改善しますがメモリの消費が増えます。

広範囲なロギングが生産環境で利用されている場合、値を5000にすることを推奨します。

参照:

パフォーマンスガイドライン

サーバのパフォーマンスの考察

既存の配備のためにワーカ数を増やしましたが、処理リクエストの数は同じままです。なぜですか？

場所： ifs.ini

変更の反映： プロジェクトの再起動後

SpecialBeepOnRequest=

Magic xpi実行可能モジュール作成時にビープ音が発生します。これによりモジュールが作成されていることが分かります。このフラグとSpecialBeepOnWarning フラグは音を出すか止めるかを指定します。フラグをN にするとビープ音を無効化します。

SpecialBeepOnWarning=

Magic xpi実行可能モジュール作成時にビープ音が発生します。これによりモジュールが作成されていることが分かります。このフラグとSpecialBeepOnRequestフラグは音を出すか止めるかを指定します。フラグをN にするとビープ音を無効化します。

XMLDomMapper=

このフラグがN（デフォルト)に設定されると、送り先のXMLと送り先のIFCModelはDOMに読み込ませることなく作成されます。これによって、データマッパーでXML作成のパフォーマンスが向上します。

しかし、［XMLプロパティ］ダイアログボックスの［Append Data］チェックボックスが選択されると、上記の送り先は常にDOMに読み込まれます。

送り先が常にDOMに読み込ませるためには、Magic xpiスタジオを閉じる必要があり、XMLDomMapperの値をYに変更し、スタジオを開いてプロジェクトをリビルドします。

ExceptionMessageBoxDisplay=

このフラグは、スレッドが異常終了した場合の動作を指定します。

フラグがN（デフォルト)に設定されると、エラーが発生したスレッドは終了します、そして、Magic xpiモニタにメッセージが表示されます。内部のクリーンアップ・プロセスは実行され、そのスレッド上で定義される回復ポリシーが適用されます。そして、Magic xpiサーバは実行を継続します。

フラグがYに設定されると、スレッドがクラッシュした時にメッセージが表示され、全Magic xpiサーバが終了されます。この設定は、デバッグを目的した場合に必要です（例、ダンプファイルを作成する)。Magic xpiサーバの終了後、各スレッドに対して定義される回復ポリシーが適用されられます。

  • Magic.iniファイルからこのフラグを削除しないでください。このフラグがMagic.iniファイルに設定されていないと、ExceptionMessageBoxDisplay=Yと設定されているように動作します。この場合、スレッドの異常終了によってサーバ全体が異常終了してしまいます。

  • フラグがYに設定されると、使用しているOSで異常終了が発生した場合メッセージが表示されます。他のプラットホーム（例えばIBM iとAIX)では、メッセージはExternalLogFileNameフラグにもとづいてログファイルに書き込まれます。

SpecialExpReturnNull=

空の値として、Null値が設定されている変数を比較する場合、このフラグは下位互換性を維持しています。

Magic xpi4.1以前はと比較すると、空白の文字または0値とNull値を持つ変数の比較は、Falseが返り、式の残りは無視されました。例えば、''F.Var1<>'' または 'True'Log '' の式（F.Var1 には Null値が格納されています）は、Falseが返り、残りの式は無視されます。

Magic xpi4.5からは、''F.Var1<>''(（F.Var1 には Null値が格納されています)の式は、Trueが返ります。

このフラグをYに設定すると、Magic xpi4.1以前の動作になります。これは、下位互換性を維持するための移行されたプロジェクトのためのデフォルト値になります。

このフラグをNに設定すると、Magic xpi4.5の動作に基づいて計算を実行します。

Since version: 4.5


設定

Magic xpiの［設定］ダイアログボックスは、プロジェクトの以下の要素を管理することができるように、中央のアクセスしやすい位置で表示されます：

  • リソース

  • サービス

  • カレンダー

  • プロジェクト環境

  • 一般的な環境

スタジオや配布環境から［設定］ダイアログボックスにアクセスすることができます。

スタジオからは、2つの方法でアクセスすることができます：

  • ［プロジェクト］メニューから、［設定］を選択します。

  • ソリューションエクスプローラで、必要なプロジェクトを右クリックし、コンテキストメニューから設定を選択します。

配布環境から、スタンドアロンモードでエディタを開くことができます。これは、Magic xpiスタジオを起動することなく外面からプロジェクトを設定することができます。配布環境からは、2つの方法でスタンドアロンの［設定］ダイアログボックスにアクセスすることができます：

  • ［スタート］メニューから、スタート > 全てのプログラム > Magic xpi 4.6 > 環境設定 を選択します。

  • <Magic xpi のインストールフォルダ>\Runtime\EEフォルダ内の、EnvironmentSettings.exeをクリックします。

resources.xmlとservices.xmlファイルがプロジェクトのフォルダに配置されている場合にだけ、スタンドアロンのエディタはリソースとサービスを編集することができます。

スタンドアロンのエディタとしてアクセスされると、［設定］ダイアログボックスには、左上に［プロジェクトを開く］ボタンが表示されます。Magic xpiをインストールした後に、最初に［設定］ダイアログボックスを開くと、［一般的な環境］の要素だけが有効になっています。プロジェクトの設定を行うためには、［プロジェクトを開く］ボタンをクリックし、関連したプロジェクトのifs.iniファイルにアクセスしてください。リソースやサービス、およびプロジェクト環境の要素が有効になります。

プロジェクト設定が終了したら、［OK］をクリックしてください。次回このように［設定］ダイアログボックスを開くと、設定した最後のプロジェクトがデフォルトで有効になります。

［設定］ダイアログボックスはプロジェクト単位で動作します。

Since version:

4.5


リソース

［設定］ダイアログボックス内の［リソース］セクションは、Magic xpiプロジェクトがプロジェクト実行中にアクセスする必要がある外部システムを定義するために提供されます。これらの外部システム定義は、<プロジェクト名>フォルダ内のXMLファイル(Resources.xml)に保存されます。定義は簡単に修正することができ、プロジェクトをリビルドすることなくプロジェクトのどのような段階(開発または配備)ででも効果が生じます。

Magic xpiの環境変数は、このダイアログボックス内で次の構文を使用して利用できます：%環境変数名%。異なるプロジェクト内であらかじめ決められた環境設定を再利用することができます。これによって迅速で容易に実行環境を切り換えることができます。例えば、コンポーネントのメソッドまたはXMLインタフェースを利用する場合、サーバやユーザ、およびポートなどの環境特性を指定する必要があります。これを行うには、［リソース］セクション内でリソースを定義し、コンポーネントから参照します。

これらのリソース設定は以下と共に使用することができます。

  • コンポーネント

  • データベース

  • Web Service

  • XMLスキーマ

  • 他のユーザ定義リソース

［設定］ダイアログの［リソースリ］セクションでは以下のリソースを定義することができます：

  • D365 Finance Operations

  • データベース

  • Domino

  • Dynamics AX

  • Dynamics CRM

  • Email

  • Exchange

  • FTP

  • File Watcher

  • Google

  • HL7

  • HTTP

  • HL7-FHIR

  • IBM i

  • JD Edwards Enterprise One

  • JD Edwards World

  • JDBC

  • JMS

  • LDAP

  • MQTT

  • MSMQ

  • Notes DB

  • OData

  • OPC UA

  • REST クライアント

  • Salesforce

  • SAP A1

  • SAP B1

  • SAP ERP

  • ServiceMax

  • SharePoint

  • Sugar

  • WCFClient

  • Web Serviceサーバ

  • WebSphereMQ

新しくリソースを定義するには：

  1. ［プロジェクト］メニューから、［設定］を選択し［設定］ダイアログボックスを開きます。

  2. ［設定］ダイアログボックスの左側のペインで、リソースでパークしてください。

  3. ［追加］をクリックすると［新しいリソース］ダイアログボックスが開きます。

  4. ［リソースタイプ］のドロップダウンリストからリソースを選択してください。［リソース名］フィールドで、新しいリソースの名前を入力し［OK］をクリックしてください。リソース名には、最高30文字を含めることができ、半角の英数字のみが指定できます。

  5. 新しいリソースは、［設定］ダイアログボックスの［リソース］セクションや、入力した名前の下や同じリソースタイプ名で作成されたファイルァイルに表示されます。

  6. 左側のペインの新しいリソースをクリックしてください。リソースのパラメータの上のフィールドにリソースの説明を入力することができます。

  7. 次に、リソースのパラメータを入力してください。これらのパラメータは、各リソース毎に異なります。トリガエリアにコンポーネントをドラッグすると、ここで定義されたパラメータが［コンポーネント特性］ペインの［設定］セクションにも表示されます。指定したリソースパラメータの詳細は、上記のリソースリストをクリックしてください。

  8. 各リソースには追加ボタンがあり、リソースを指定しリソースを設定するために使用されます。これらのボタンの詳細は、上記のリソースリストのをクリックしてください。

  9. リソースを定義したら、［適用］または［OK］をクリックすることでリソースが保存され［設定］ダイアログボックスが終了します。新しいリソースは保存することなくダイアログボックスを終了させることもできます。

リソースで右クリックすると、以下のオプションのコンテキストメニューが開きます。

  • 削除

  • リネーム

  • デフォルトに設定 …… 特定のリソースタイプの下に複数のリソースが作成されている場合、このオプションを選択して、どちらのリソースがそのタイプのデフォルトリソースかを選択します。デフォルトリソースは、プロジェクトで使用されるそのタイプの任意の新しいステップに対して自動的に選択されます。（デフォルトでない）リソースで右クリックすると、このオプションが利用できます。デフォルトのリソースは、太字で識別できます。

［設定］ダイアログボックスの左側のペインのリソース上でパークすると、［読み込み］ボタンが有効になります。リソースファイルを入力するために、このボタンをクリックしてください。既存のエントリを上書きするか、マージすることができます。詳細は、ここをクリックしてください。

Magic xpi は定義されたリソースを次の二つのXMLファイルに保存します。

  • Resources.xmファイル …… 各新しいプロジェクトはResources.xmlテンプレートファイルをコピーし、<Magic xpi>\Studio\Templates\ProjectTemplates\Magic xpi Projects\Magic xpi Project\Magic xpi Project.zip ファイルを置き、プロジェクトフォルダの下にファイルを置きます。そして、各プロジェクトの特定の設定はプロジェクトフォルダ内のResources.xmlファイルを修正します。新しいプロジェクトを作成する能力を持たずに終了するようにzipの内容を変更する場合は、気をつけてください。変更する前に、zipファイルをバックアップしておいてください。

  • resource_types.xmlファイル …… これは一般的な定義済みのリソースタイプ定義を保持し、Runtimeフォルダ内のMagic xpiのインストールフォルダに保存されます。各Magic xpiスタジオのインストール用のリソースタイプ定義ファイルは1つしかありません。コネクタビルダで作成されたコネクタは、このファイルには保存されず動的に読み込まれます。

  • 配備環境では、Magic xpiサーバを実行すると、リソース設定ファイルが自動的にロードされます。lリソースがプロジェクト内での中で使用されると、それらは、サーバが実行された時に、ロードされたリソースの設定に基づきます。リソース設定ファイルが見つからない場合、サーバはシャットダウンしエラーメッセージが表示されます。

  • リソース設定を必要とするMagic xpiコンポーネントは、コンポーネントの[プロパティ]ペインに[コンポーネントの[プロパティ]ペインの中に設定セクションを持っています。［設定］セクションがあります。

  • 既存のリソース名を変更すると、そのリソースを参照している全てのコンポーネントのリソース設定が消滅します。これは、リソース名がコンポーネントで使用するリソース設定の参照情報として使用されているからです。これを修正するには、関連するコンポーネントの[プロパティ]ペインを開いてください。［設定］セクションで、［リソース名］特性のドロップダウンリストから新しいリソース名前を選択してください。

  • リソースファイルは、それらをリソースと認識するルート要素上の属性によって保存されます。

  • [結果を格納]パラメーターの[ファイル]オプションは、ローカルエージェントパラメーターがTrueに設定されているSDKコネクタのリソースを使用しているステップではサポートされていません。 そのステップがすでに[ファイル]オプションで構成されていて、ローカルエージェントパラメーターをTrueとしてリソースを再構成した場合、そのステップは開きません。 これを回避するには、リソースでローカルエージェントのサポートを有効にする前に、まずステップの[結果を格納]パラメータを変数に変更する必要があります。


D365 Finance Operations リソース

D365 Finance Operationsリソースには、次のパラメーターが含まれています（太字のパラメーターは必須です）。:

パラメータ

説明

ローカルエージェント

リソースをローカルエージェントの一部として機能させるには、この値をTrueにします。

デフォルト値はFaleseです。

LA Name

ローカルエージェントの名前。このリソースに基づくステップが呼び出されます。

このパラメータはローカルエージェントの設定がTrueの場合に有効になります。

サーバURL

D365 Finance OperationsサーバーのURLを入力するか、 [image] （省略記号ボタン）をクリックして環境変数リストを開きます。ここで、ユーザーはサーバーURLとして使用する環境変数を選択できます。

リソースヒント

Dynamics 365 CEPを使用する場合、CEPのバージョンを次の規則に従って設定してください。CEP_<API Version>.

例：CEPのバージョンが8.2の場合、CEP_8.2

デフォルト値は空白で、その場合はDynamics365Finance&Operationが選択されていることになります。

セキュリティ

セキュリティタイプは、実装されているセキュリティサーバーのタイプに基づいて使用されます。

サポートされているセキュリティタイプは次の通りです。:

  • OAuth2

アクセストークンURL

アクセストークンエンドポイントは、アクセストークンまたはリフレッシュトークンを取得するアプリケーションによって使用されます。

アクセストークンのURLを入力するか、 [image] （省略記号ボタン）をクリックして環境変数リストを開きます。ここでユーザーはアクセストークンURLとして使用する環境変数を選択できます。

クライアントID

承認を要求するアプリケーションのID。 クライアントIDとクライアントシークレットは、承認サーバーでのクライアント登録プロセス時に生成されます。

クライアントIDを入力するか、 [image] （省略記号ボタン）をクリックして環境変数リストを開きます。 ここでユーザーはクライアントIDとして使用する環境変数を選択できます。

クライアントシークレット

承認プロセス中にクライアントIDに提供されるシークレット文字列。

クライアントシークレットを入力するか、 [image] （省略記号ボタン）をクリックして環境変数リストを開きます。ここでユーザーはクライアントシークレットとして使用する環境変数を選択できます。

この項目は、Azureポータルで生成されたSecret IDではなく、Secret Valueを設定してください

Azureポータルの「証明書とシークレット」で、クライアントシークレットの値を生成することができます。その後は値を生成できないので、この値をコピーしてください。

会社間データ共有

基本的にD365 Finance Operations APIは、ユーザーのデフォルトの会社に属するデータのみを返します。ユーザーがアクセスできるすべての会社のデータを取得するには、値をTrueに設定します。

デフォルト値はFalseです。

HTTP タイムアウト

HTTPリクエストタイムアウトの値を入力します。 このリソースで提供される値は、Magic.iniファイルの[MAGIC_ENV]セクションのHTTPTimeoutの値よりも優先されます。

プロキシの使用

ドロップダウンメニューから[Yes]を選択すると、D365 FinanceOperationsコネクタはプロキシサーバを使用します。

プロキシアドレス

プロキシサーバーのアドレスを入力するか、 [image] （省略記号ボタン）をクリックして環境変数リストを開きます。 ここではプロキシアドレスの環境変数を選択できます。

ユーザ名

プロキシサーバーで認証するためのユーザー名を入力します。または、 [image] （省略記号ボタン）をクリックして環境変数リストを開きます。 ここでユーザー名の環境変数を選択できます。

パスワード

プロキシサーバーで認証するためのパスワードを入力します。または、 [image] （省略記号ボタン）をクリックして環境変数リストを開きます。 ここでパスワードの環境変数を選択できます。

D365 Finance Operationsリソースには、下記のボタンもあります:

ボタン | 説明
検証 | このボタンをクリックして、D365 FinanceOperationsサーバーへの接続が有効であることを確認します。接続が確立されたことを示すメッセージ、または接続が失敗した場合はエラーメッセージが表示されます。 接続を検証する前に、メタデータを取得する必要があります。
メタデータ取得 | このボタンをクリックして、D365 FinanceOperationsサービスのメタデータを取得します。
エンティティ | このボタンをクリックして、エンティティリストを開きます。 ここで必要なD365 FinanceOperationsエンティティを選択します。 選択したエンティティは、このリソースを使用して構成されたステップで使用できます。 エンティティを選択する前に、[メタデータ取得]ボタン（上記）をクリックしてメタデータを取得する必要があります。

(Since version: 4.13.2)


エンティティリスト

  • リストからエンティティを選択し、[OK]をクリックします。 使用可能なすべてのエンティティを選択するには、左上のチェックボックスを選択します。 選択したエンティティは、このリソースを使用して構成されたステップに表示されます。

  • 選択せずにエンティティリストを閉じるには、[キャンセル]をクリックします。


データベースリソース

Magic xpiは、[設定]ダイアログボックスでデータベースリソースの情報を格納します。ここには、データマッパーを使用してマッピングすることのできるデータを持ったデータベースの一覧が含まれています。

Magic xpiは、問題なくプロジェクトを構築し、デプロイするために、データベースクライアントとドライバが正しく設定されている必要があります。

Magic xpiランタイムは、デプロイを成功させるために64ビットのクライアントを必要とします。ユーザーは64ビットのOracleクライアントがマシンにインストールされていることを確認する必要があります。

必要なサービス名を Tnsnames.ora (32 ビット Oracle クライアントのファイル)から 64 ビット Oracle クライアントの同じファイルにコピーしてください。

ODBCの場合は、64ビットのODBCドライバがインストールされている必要があります。システムDSN名は一意ではないので、64ビットのODBCドライバでも32ビットのODBCドライバでも同じシステムDSNを定義することができる。

Studioでデータベースリソースを検証するには、すべてのデータベースに32ビットドライバが必要です。

データベースリソースには、以下のパラメータがあります（太字のパラメータは必須です）。

パラメータ

説明

DBMS

データベースのタイプ。データベースのタイプをドロップダウンリストから選択します。 一覧には Microsoft SQL Server、Oracle、ODBC、DB2/400、DB2、 Pervasive SQLが含まれています。

データベースタイプのためのデフォルトは以下のファイルに保存されます： <Magic xpi >\Studio\data_types.xml.

データベース名

接続文字列

データソース名

データベースエイリアス

ライブラリ/スキーマ名

データベースのタイプによって、以下の情報を入力します。

  • Microsoft SQL Server とDB2 UDB …… 実際のデータベース名を入力してください。

  • データベース名に特殊文字（スペースやハイフン(-)、プラス符号(+)で終了）が含まれている場合、角括弧で囲まなければなりません。例： [My Database Name]

  • リソース名は、データベース名が<リソース名>_DBになるように定義してはいけません。

  • Oracle 10g と 11e …… 接続文字列を入力してください。

データベースがローカルにあっても、Magic xpiを通してOracleに接続する場合はエイリアスを使用する必要があります。

  • ODBC/Pervasive …… ODBC データソース名を入力してください。ODBCデータソースがコンピュータのWindows設定に入力されているかを確認してください。Magic xpiは、最大30桁のテーブル名で接続することができます。より長いテーブル名が定義されている場合の処理についの詳細は、この技術情報を照してください。

ODBCリソースと共にデータマッパーを使用する場合、あなたがODBCリソースを[設定]ダイアログボックスの中の［リソース］セクションから削除する時、スキーマにはデフォルトのODBCデータ型を含まれ、削除されたODBCリソースにはODBCデータ型は含まれません。デフォルトは、data_types.xmlファイルに定義されています。

  • DB2/400 …… ［DB2/400ライブラリ］ダイアログボックス内での中で有効なライブラリから選択するには、［ライブラリ］ボタンをクリックしてください。存在していないライブラリを選択しても、ウィザードや実行時には表示されません。

Magic.iniファイルの[MAGIC_GATEWAYS]セクションで適切なデータベースゲートウェイがコメントアウトされているか確認してください。エントリーがコメントアウトされている場合（エントリーの前にセミコロン(;)がある）、それを削除するとゲートウェイが有効になります。

Magic xpi StudioでネイティブのMicrosoft® ODBC Driver for SQL Server®を使用するには、data_types.xmlファイルの情報をdata_types_MSSQLODBC.xmlファイルの情報に置き換える必要があります。これらのファイルは両方とも以下の場所にあります。<Magic xpiのインストール先>\Studio.

サーバ名

データベースがインストールされているコンピュータのホスト名。DB2/400の場合は、サーバ名は19文字を越えることができません。

ユーザ

データベースを使用することを承認されているユーザID。ユーザ名にはカンマを含めないでください。データベースのフィルタも参照してください。

ユーザフィールドに入力された名前がデータベースサーバ側に存在することを確認してください。

DB2/400 データベースの場合：

  • データベースがインストールされているIBM i マシンで[設定]ダイアログボックスの[リソース]セクションのユーザのユーザプロファイルのコード文字セットIDオプションに数値65535 が使用されていないことを確認してください。

  • 異なるユーザーログインと同じサーバへの複数セッションはサポートされていません。Magic xpiは、見つかったサーバに最初のセッションを持って行きます。

パスワード

ユーザーのパスワード。パスワードにはカンマやパーセント記号（%）を含めないでください。

開始オーナー

このデータベースエントリーを使用するときにフィルタリングで使用するオーナー名。［オーナ］をクリックし、オーナ一覧から選択します。

空白の場合、オーナは最初のオーナが設定されます。Since version: 4.5

参照： データベースのフィルタ

データベースリソースは以下の追加ボタンも提供しています。

ボタン

説明

検証

このボタンはデータベースへの接続が有効かどうかを確認します。データベースへの接続状況がメッセージ表示されます。DB2 for IBM iデータベースを選択した場合、このボタンをクリックしライブラリへの接続性が確認できます。テーブル選択フォームには（オーナー名ではなく）ライブラリ名でプレフィックスされた指定ライブラリのテーブルが表示されます。テーブルを選択すると、オーナの詳細が画面の下部に表示されます。［データベースウィザード］カラムの選択フォーム内の［有効カラム］一覧には、ライブラリ/スキーマで選択したテーブルのカラムを表示します。

テーブル

このボタンは［データベース用フィルタ］ウィンドウを開きます。このウィンドウはこのデータベース接続でどのテーブルが使用されているかを選択することができます。

オーナー

このボタンはオーナ一覧を開きます。ここでは、このデータベースエントリーに必要な開始オーナを選択します。

DB2 for IBM iデータベースを選択した場合、このボタンは無効です。

ライブラリ

このボタンはDB2 for IBM iデータベースを選択した場合のみ有効です。使用する複数のライブラリを選択することができます。

オンライン/オフライン

データマッパーが、データマッパーのドキュメントが開いている時は常に設定されたデータベースと接続しようとするかどうかを定義します。このボタンをクリックしてオンラインとオフライン(デフォルト)モードを切り替えてください。

ボタンがオフラインに設定されると、キャッシュがロードされます。ボタンがオンラインに設定されると、Magic xpiは、現在のテーブルの構造を取得するためにデータベースと接続しようとします。

DBスキーマがオフラインリソースに属していても、以下の場合は接続はデータベースに強制されます。

  • スキーマノード上の［リフレッシュ］オプションを選択する

  • プロパティシート内のSQL文を変更する

  • スキーマリソースを変更する

  • DBウィザードを開く

接続が失敗すると、最後にキャッシュされたデータが使用されます。

ツールバーの上の［リフレッシュデータベーススキーマ］アイコン [image] をクリックするか、［編集］メニューをクリックし［リフレッシュデータベーススキーマ］を選択することで、複数のデータベーススキーマをリフレッシュすることができます。この機能は、データマッパドキュメントがスタジオのフォーカスにある時と、オンラインリソースに属している少なくとも1つのデータベーススキーマがある時だけ有効です。

Since version: 4.5

以下のフィールドで環境変数を使用することができます。

  • データベース名；接続文字列;データソース名；データベースエイリアス

  • サーバ名

  • ユーザ

  • パスワード

環境変数は、動的に項目を定義する実際のデータベースに対するエイリアスです。環境変数はパーセント記号(%)で囲む必要があります。また、［環境変数］リポジトリで環境変数を定義する必要があります。環境変数についての詳細は、環境変数を使用するを参照してください。

同じ値に変換される環境変数によって定義された2つ以上のライブラリがある場合、"Incomplete libraries/schema definition"エラーが発生します。

2つのライブラリが同じ値(実ライブラリ名)で定義された場合、（重複した）名前を入力したり、重複名を選択するとライブラリダイアログから抜け出せなくなります。

UPSERT機能を持つデータベースリソースの使用

UPSERT操作は、ネイティブデータベースドライバといくつかのODBCドライバによってサポートされています。

ネイティブドライバを使用してサポートされているデータベースは以下の通りです。

  • MS-SQL

  • Oracle

  • DB2

  • DB2/400

  • Pervasive SQL

ODBC ドライバでサポートされているデータベースは以下の通りです。

  • MySQL

  • PostgreSQL

データベース リソースが、UPSERT 機能をサポートする Data Mapper のデスティネーション タブの一部として使用されている場合、プロパティに変更があった場合は、その都度、データベース リソースを検証して保存します。

移行またはアップグレードされたプロジェクトでは、UPSERT 機能の一部として使用する前に、すべてのデータベース リソースを明示的に検証して保存する必要があります。


DB2 for IBM i ライブラリ ダイアログボックス

［DB2 for IBM i ライブラリ］ダイアログボックスはDB2 for IBM iリソースのライブラリを選択できます。ダイアログボックスが開いたら を [image] クリックし、追加のダイアログボックスを開きます。

このダイアログボックスは以下の二つのタブがあります。

  • ライブラリ …… DB2 for IBM iデータベースにあるライブラリの一覧。

  • 環境 …… ランタイムでライブラリ名に返還される環境変数を選択します。

各リソースに対し、複数のライブラリ名を入力したり複数のライブラリを選択できます。

ライブラリ名と環境変数の組み合わせを選択することができます。

カンマ区切りの選択されたライブラリが［ライブラリ名］フィールドの横に表示されます。


オーナリスト

  • 選択内容を消去するには、［リセット］をクリックしてください。

  • リストからOD変数を選択して、［選択］をクリックします。

  • 選択しないでリストを閉じる場合は、［取消］をクリックしてください。


Domino リソース

Dominoリソースには、以下のパラメータがあります（太字のパラメータは必須）。

パラメータ

説明

サーバ(Server)

サーバのホスト名またはIPアドレス。

サーバ名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでサーバを定義する環境変数を選択します。

リモートアクセスが有効な場合、コロン（：）の後にポート番号を入力することができます。例えば、ホスト名が「Misdomino8」で、ポート番号が「63148」の場合、価は「Misdomino8:63148」として定義します。ポートを指定しない場合、値は「MisDomino8」になります。

ファイル名(File Name)

このリソースが使用する Lotus Notes ファイル名。

ファイル名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでファイルを名付ける環境変数を選択します。

ユーザID(UserID)

Lotus NotesのユーザID。アクセスがローカルの場合、c:\notes\data\user.idのようにユーザIDファイルへのフルパスを入力します。この項目が空白の場合、最後のログインIDを参照します。アクセスが外部の場合、サーバのDominoディレクトリのPerson Document内のユーザ名を入力します。

ユーザIDを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでUser IDとして使用する環境変数を選択します。

パスワード(Password)

Lotus Notesのクライアントパスワード。アクセスがローカルの場合、ロータスクライアントパスワードを入力します。アクセスがリモートの場合、サーバのDominoディレクトリのPersonドキュメントと同じようにインターネットパスワードを入力します。

パスワードを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでパスワードで使用する環境変数を選択します。

環境変数として入力されたパスワードはアスタリスク(*)でマスクされます。

リモートアクセス(Remote Access)

ドミノサーバにリモートアクセスが可能であるかどうかを決定します。Yes が選択されると、［SSL］フィールドが有効になります。

SSL

ドミノサーバのリモートアクセスがSSLをサポートするかどうかを指定します。［リモートアクセス］でYesが選択された場合、このフィールドが有効になります。

Dominoリソースには以下のボタンもあります。

ボタン | 説明
検証 | このボタンはDominoサーバへの接続が有効かどうかを確認します。接続が確立したか失敗したかを示すメッセージを受け取ります。


Dynamics AX リソース

Dynamics AX リソースには、以下のパラメータがあります（太字のパラメータは必須）。

パラメータ | 説明
サービスURL(Service URL) | Dynamics AX で公開されるインバウンドの統合ポートアドレス。サポートされたプロトコルはNetTCP、HTTP、およびHTTPSです。
ドメイン(Domain) | Dynamics AXサーバのあるドメイン。
ユーザ名(User Name) | Dynamics AXサーバにログインするためのユーザID。
パスワード(Password) | Dynamics AXサーバにログインするためのパスワード。

Dynamics AXリソースには以下のボタンもあります。

ボタン | 説明
サービスをロード | 与えられたWSDLからスキーマを生成し設定ファイルを作成する場合は、このボタンをクリックしてください。設定ファイルはclient.configという名前で、projects/<プロジェクト名>/DynamicsAX/<リソース名> フォルダに保存されます。実行時に使用できるように、このファイルはここに作成されます。

Dynamics AXリソースをリネームした場合、サービスを再読込する必要があります。そうしない場合、Dynamics AX 2012ステップは、関連スキーマを参照しません。

    Since version:

    4.1


Dynamics CRM リソース

始める前に

OAuth2を使用してMagic xpiのDynamics CRMリソース設定をする前に、下記の内容を実施してください。

  • Dynamics 365のアプリケーションユーザを作成する

Azureアプリケーションから取得したアプリケーションIDに注意してください。

詳細は下記のリンクを参照してください:

https://docs.metallic.io/metallic/136337_create_application_user_for_dynamics_365.html

  • Azure アクティブディレクトリのAppを登録してください

詳細は下記リンクを参照してください:

https://docs.microsoft.com/en-us/powerapps/developer/data-platform/walkthrough-register-app-azure-active-directory

Dynamics CRMリソースには、以下のパラメータがあります（太字のパラメータは必須）。

パラメータ

説明

サーバ(Server)

Dynamics CRMサーバのIPアドレス

サーバのIPアドレスを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでサーバのIPアドレスを定義する環境変数を選択します。

ドメイン(Domain)

Dynamics CRMサーバのドメイン名

ドメイン名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでドメイン名を定義する環境変数を選択します。

認証タイプ

構成する認証タイプを選択してください

設定可能な値は下記の通りです:

  • OAuth2 (デフォルト)

  • Basic

Magic xpi 4.13.3より前のバージョンで作成されたDynamics CRM リソースをマイグレーションした場合、Basicタイプ認証が選択されます。

(Since version: 4.13.3)

ユーザ名(User Name)

Dynamics CRMシステムでの認証用ユーザID

ユーザIDを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでユーザIDを定義する環境変数を選択します。

パスワード(Password)

Dynamics CRMシステムでの認証用パスワード

パスワードを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでパスワードを定義する環境変数を選択します。

テナント ID

テナントIDは組織名やドメインとは異なるGlobally Unique Identifier ID（GUID）です。

Directory IDとも呼ばれます。

このパラメータは認証タイプがOAuth2の場合にのみ有効です。

(Since version: 4.13.3)

クライアント ID

認証を要求するID（Application IDとも呼ばれます）。クライアントIDとクライアントシークレットは認証サーバでクライアントを登録する時に生成されます。

クライアントIDを入力するか、 [image] をクリックして環境変数一覧を開いて下さい。環境変数をクライアントIDとして選択できます。

このパラメータは認証タイプがOAuth2の場合にのみ有効です。

(Since version: 4.13.3)

クライアントシークレット

認証プロセスにおいてクライアントIDに提供される秘密文字列。

クライアントIDを入力するか、 [image] をクリックして環境変数一覧を開いて下さい。環境変数をクライアントシークレットとして選択できます。

この項目は、Azureポータルで生成されたSecret IDではなく、Secret Valueを設定してください

Azureポータルの「証明書とシークレット」で、クライアントシークレットの値を生成することができます。その後は値を生成できないので、この値をコピーしてください。

このパラメータは認証タイプがOAuth2の場合にのみ有効です。

(Since version: 4.13.3)

組織(Organization)

Dynamics CRMの組織名

組織名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここで組織名を定義する環境変数を選択します。

セキュア接続(Secured Connection)

Dynamics CRMシステムへのセキュア接続するかどうかを指定します。ドロップダウンリストからの以下のどちらかを選択します。

  • No (デフォルト)

  • Yes

デプロイメントタイプ(Deployment Type)

Dynamics CRMの配備タイプを指定します。ドロップダウンリストからの以下のどちらかを選択します。

  • On Premise (デフォルト) …… オンプレミス（自社運用）

  • On Demand …… オンデマンド

サブスクリプションタイプ(Subscription Type)

オンデマンドのDynamics CRMシステムに対してどのようにサブスクライブするかを指定します。ドロップダウンリストからの以下のどちらかを選択します。

  • Partner Hosted (デフォルト) …… パートナーのホスト

  • Microsoft Hosted ……Microsoft社のホスト

実行タイプが On Demandの場合のみ、このパラメータは有効です。

実行タイプが On Demandの場合のみ、日付はコンピュータのタイムゾーンではなくUTCで格納されます。

Dynamics CRMリソースには以下のボタンがあります。

ボタン | 説明
検証 | このボタンは、Dynamics CRMサーバへの接続が有効かどうかを確認します。接続が確立したか失敗したかを示すメッセージを受け取ります。
組織 | このボタンは、Dynamics CRMサーバから組織名のリストを取得し、組織リストを開きます。 この機能はMagic xpi4.13.2以降のOn-Demandデプロイタイプ以降で非推奨になりました。 オンプレミスデプロイタイプでも同じことが利用できます。

交換可能な用語

項目名 | 別名
テナント ID | Directory ID
クライアント ID | Application ID

関連トピック

OAuth2を構成して、AzureポータルにDynamics CRMを登録するには？


Email リソース

Emailリソースには、以下のパラメータ（太字のパラメータは必須）があります。

パラメータ

説明

サーバタイプ(Server Type)

Eメールサーバのタイプ。サーバタイプの定義は受信メールに対してのみ有効です。ドロップダウンリストから以下のいずれかを選択します。

  • POP3

  • IMAP

このフィールドを空白のままにすると、SMTPはデフォルトとして使用されます。

受信メールサーバ(Incoming Mail Server)

有効なPOP3またはIMAPサーバのアドレスを入力します。例： localhost

をクリックし、環境変数一覧を開きます。ここでアドレスとして使用する環境変数を選択できます。

受信ポート番号(Incoming Port)

接続するサーバのポート番号を入力してください。値が設定されない場合のデフォルト値は以下の通りです。

  • POP3 …… デフォルトは、110。セキュア接続の場合は、995。

  • IMSP …… デフォルトは、143。セキュア接続の場合は、993。

をクリックすると、環境変数一覧が開きます。ここでポート番号として使用する環境変数を選択できます。

受信セキュア接続（SSL）
Incoming Secure Connection (SSL)

受信メールサーバにセキュア接続するかどうかを指定します。ドロップダウンリストから選択します。

  • No（デフォルト）

  • Yes

送信メールサーバ(Outgoing Mail Server)

有効なSMTPサーバのアドレスを入力します。例：localhost

Magic xpiがメール送信でサポートしているプロトコルはSMTPのみですので、サーバタイプは空白のままでかまいません。

をクリックして環境変数一覧を開きます。ここでアドレスとして使用する環境変数を選択できます。

送信ポート番号(Outgoing Port)

接続するサーバのポート番号を入力してください。値が設定されない場合のデフォルト値は以下の通りです。

  • SMTP …… デフォルトは、25。

  • SSL …… デフォルトは、465。

  • TLS …… デフォルトは、587。

をクリックすると、環境変数一覧が開きます。ここでポート番号として使用する環境変数を選択できます。

送信セキュア接続（SSL）
Outgoing Secure Connection

送信メールサーバにセキュア接続するかどうかを指定します。ドロップダウンロストから以下のどれかを選択します。

  • No（デフォルト）

  • SSL

  • TLS

Fromアドレス(From Address)

サーバが起動や停止したり、エラーが発生した場合、通知用の電子メールを受け取るためのメールアドレスを入力してください。例：postmaster@Magic_xpi.com

をクリックして環境変数一覧を開きます。ここでアドレスとして使用する環境変数を選択できます。ここでメールアドレスとして使用する環境変数を選択できます。

認証タイプ（Authentication Type）

メールサーバーで公開する認証タイプを選択します。

  • Basic(デフォルト)

  • OAuth 2

OAuth 2 認証タイプは IMAP および SMTP プロトコルでのみサポートされています。

Since version: 4.13.1

ユーザ(User)

Eメールサーバへサインインする人のユーザ名。

ユーザ名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでユーザ名として使用する環境変数を選択します。

パスワード(Password)

ユーザのパスワード。

パスワードを入力するか [image] をクリックして環境変数一覧を開きます。ここでパスワードとして使用する環境変数を選択できます。

  • 環境変数として入力されたパスワードはアスタリスク(*)でマスクされます。

  • 基本認証では、GmailをEメールプロバイダとして使用している場合、Appパスワードを作成してパスワード欄に設定する必要があります。通常のパスワードはサポートされません。Appパスワードを作成するには、下記URLを参照してください。

https://support.google.com/accounts/answer/185833

OAuth2 リフレッシュトークンステータス（OAuth Refresh Token Status）

OAuth 2 認証プロセスが実行されたときにリフレッシュトークンが正常に取得されたかどうかを示します。可能な値は以下のとおりです。

  • Missing (Default)

  • Available

認証URL(Authorization URL)

保護されたリソースへのアクセスを許可するために、リソース所有者と対話するための認証エンドポイント URL を提供します。

認証 URL を入力するか、 [image] をクリックして環境変数リストを開きます。ここで、ユーザーは認証 URL として使用する環境変数を選択できます。

アクセストークンURL(Access Token URL)

アクセストークン エンドポイントは、アプリケーションが アクセストークン または リフレッシュトークン を取得するために使用します。

アクセス トークンのURLを入力するか、 [image] をクリックして環境変数リストを開きます。ここでは、アクセス トークンの URL として使用する環境変数を選択できます。

コールバックURL(Callback URL)

認証 URLを通じて認証コードを要求する場合、redirect_uriというパラメータの値としてコールバックURLが渡されます。認証エンドポイントからの応答が成功すると、このURLにリダイレクトされます。

コールバックURLを入力するか、 [image] をクリックして環境変数リストを開きます。ここでは、コールバック URL として使用する環境変数を選択できます。

クライアントID(Client ID)

認証を依頼するアプリケーションのID。クライアントIDとクライアントシークレットは、オーソライズサーバでのクライアント登録処理時に生成されます。

クライアント ID を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでは、クライアント ID として使用する環境変数を選択できます。

クライアントシークレット(Client Secret)

認証処理中にクライアント ID に提供される秘密の文字列です。

クライアントシークレットを入力するか、 [image] をクリックして環境変数リストを開きます。ここで、クライアントシークレットとして使用する環境変数を選択できます。

スコープ(Scope)

スコープは、OAuth 2 Access/Refresh Token を取得している間に、ある認証サーバがスコープを定義しており、スコープが送信されることを期待している場合に使用するオプションです。

スコープを入力するか、 [image] をクリックして環境変数リストを開きます。ここでは、スコープとして使用する環境変数を選択することができます。

状態(State)

一部の電子メールエンドポイントでは、OAuth 2 の処理中に「State」パラメータの提供を要求する場合があります。このパラメータは通常、より安全な認証システムのために必要です。要求された状態の値が欠けていたり、間違っていたりすると、OAuth 2 認証に失敗する可能性があります。これは、Cross Site Request Forgery (CSRF) を防ぐために必要です。

Email リソースには以下のボタンがあります。

ボタン | 説明
検証 | このボタンはEメールサーバへの接続が有効かどうか確認します。接続が確立したか失敗したかを示すメッセージを受け取ります。 OAuth 2の場合、検証ボタンを押すと認証を許可するためのページが表示されます。そのページで、登録されたEメールアドレスを使用してログインするとEメールコンポーネントがOAuth2認証を介してアクセスするための権限が与えられます。 [許可]ボタンをクリックすると、アクセストークンが正常に生成された旨のメッセージが表示されます。

EmailリソースのOAuth2の検証は、外部環境設定を使用しても機能しません。


Exchange リソース

Exchange リソースには、以下のパラメータ（太字のパラメータは必須）があります。

パラメータ

説明

サーバ(Server)

サーバのホスト名かIPアドレス

サーバ名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでサーバを定義する環境変数を選択できます。

リモートアクセスが有効な場合、コロン（：）の後にポート番号を入力することができます。例えば、ホスト名が「MisExchange8」で、ポート番号が「63148」の場合、価は「MisExchange8:63148」として定義します。ポートを指定しない場合、値は「MisExchange8」になります。

ドメイン(Domain)

Exchange サーバのドメイン名

ドメイン名を入力するか､ [image] をクリックして環境変数一覧を開きます。ここでドメイン名を定義する環境変数を選択します。

認証タイプ

Exchangeサーバーで公開する認証タイプを選択します。

  • Basic (デフォルト)

  • OAuth 2

(Since version: 4.13.1)

ユーザ名(User Name)

Exchange での認証用ユーザID

ユーザIDを入力するか､ [image] をクリックして環境変数一覧を開きます。ここでユーザIDを定義する環境変数を選択します。

パスワード(Password)

Exchange クライアントの認証用パスワード

パスワードを入力するか､ [image] をクリックして環境変数一覧を開きます。ここでパスワードを定義する環境変数を選択します。

環境変数として入力されたパスワードはアスタリスク(*)でマスクされます。

OAuth 2 リフレッシュトークンステータス

OAuth 2 認証プロセスが実行されたときにリフレッシュトークンが正常に取得されたかどうかを示します。可能な値は以下のとおりです。

  • Missing (デフォルト)

  • Available

認証URL

保護されたリソースへのアクセスを許可するために、リソース所有者と通信するための認証エンドポイント URL を提供します。証 URL を入力するか、(ボタン)をクリックして環境変数リストを開きます。ここで、ユーザーは認証 URL として使用する環境変数を選択できます。

アクセストークン URL

アクセストークン エンドポイントは、アプリケーションが アクセストークン または リフレッシュトークン を取得するために使用します。

アクセス トークンのURLを入力するか、 [image] をクリックして環境変数リストを開きます。ここでは、アクセス トークンの URL として使用する環境変数を選択できます。

コールバック URL

認証 URLを通じて認証コードを要求する場合、redirect_uriのパラメータの値としてコールバックURLが渡されます。認証エンドポイントからの応答が成功すると、このURLにリダイレクトされます。

コールバックURLを入力するか、 [image] をクリックして環境変数リストを開きます。ここでは、コールバック URL として使用する環境変数を選択できます。

クライアント ID

認証を依頼するアプリケーションのID。クライアントIDとクライアントシークレットは、オーソライズサーバでのクライアント登録処理時に生成されます。

クライアント ID を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでは、クライアント ID として使用する環境変数を選択できます。

クライアントシークレット

認証処理中にクライアント ID に提供されるシークレット文字列です。

クライアントシークレットを入力するか、 [image] をクリックして環境変数リストを開きます。ここで、クライアントシークレットとして使用する環境変数を選択できます。

スコープ

スコープは、OAuth 2 Access/Refresh Token を取得している間に、ある認証サーバがスコープを定義しており、スコープが送信されることを期待している場合に使用するオプションです。

スコープを入力するか、 [image] をクリックして環境変数リストを開きます。ここでは、スコープとして使用する環境変数を選択することができます。

状態(State)

一部の電子メールエンドポイントでは、OAuth 2 の処理中に「State」パラメータの提供を要求する場合があります。このパラメータは通常、より安全な認証システムのために必要です。要求された状態の値が欠けていたり間違っていたりすると、OAuth 2 認証に失敗する可能性があります。これは、Cross Site Request Forgery (CSRF) を防ぐために必要です。

応答モード

応答モードを提供して、認証サーバーが認証エンドポイントから結果パラメーターを返す方法を決定します。

デフォルト値はqueryです。要件に応じて、他の任意の応答モードに設定することができます。または [image] をクリックして環境変数リストを開きます。ここで応答モードとして使用できる環境変数を選択できます。

Exchange リソースには以下のボタンがあります。

ボタン | 説明
検証 | このボタンはExchange サーバへの接続が有効かどうか確認します。接続が確立したか失敗したかを示すメッセージを受け取ります。


FTPリソース

FTPリソースには、以下のパラメータ（太字 のパラメータは必須）があります。

パラメータ

説明

ローカルエージェント(Local Agent)

のリソースをローカルエージェントとして使用する場合、Trueにしてください。

デフォルト値はFalseです。

このパラメーターは、DirectoryScannerコンポーネントには適用されません。ローカルエージェントをサポートする場合は、Directory ScannerではなくFile Watcher を使用してください。

Since version: 4.13.2

LA Name

このリソースに基づくステップであるローカルエージェントの名前が呼び出されます。

このパラメーターは、ローカルエージェントの値がTrueに設定されている場合にのみ使用できます。

このパラメーターは、DirectoryScannerコンポーネントには適用されません。

Since version: 4.13.2

サーバ(Server)

FTPサーバ名

ポート番号を指定したい場合は、以下の構文を使用してください：サーバ名:ポート番号

サーバ名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでサーバ名として使用する環境変数を選択します。

プロトコル(Protocol)

リソースのための必要なプロトコル。ドロップダウンリストから以下の1つを選択してください：

  • FTP (デフォルト)

  • SFTP

Since version: 4.5

サーバ認証を有効(Enable Server Validation)

サーバの認証を可能にするかどうかを指定します。ドロップダウンリストから以下の1つを選択してください：

  • Yes (デフォルト)

  • No

生産環境で実行している間は、サーバ認証機能を無効するべきでありません。

［プロトコル］パラメータ(上記)で SFTP を選択した場合、このパラメータが有効になります。

Since version: 4.5

認証対象(Validate Against)

サーバの認証のために使用されるファイルの種類。ドロップダウンリストから以下の1つを選択してください：

  • Public Key file (デフォルト)

  • Known hosts file

［サーバ認証を証有効］パラメータ(上記)をYesに設定すると、このパラメータが有効になります。

Since version: 4.5

サーバ認証ファイル(Server Validation File)

既知のホストファイルとパブリックキーファイルのリストを保持しているファイルまたは、単一サーバのパブリックキーを保持しているファイルへのフルパス。

ファイルパスを入力するか、 [image] をクリックして環境変数一覧を開きます。ここで使用する環境変数をファイルパスとして選択することができます。

［サーバ認証jを証有効］パラメータ(上記)をYesに設定すると、このパラメータが有効になります。

Since version: 4.5

クライアント認証(Client Authentication)

SFTPの認証タイプ。ドロップダウンリストから以下の1つを選択してください：

  • User password (デフォルト)

  • Public private key

［プロトコル］パラメータ(上記)を SFTP に設定すると、このパラメータが有効になります。

Since version: 4.5

ユーザ(User)

FTP/SFTPのユーザ名

ユーザ名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでユーザ名として使用する環境変数を選択します。

パスワード(Password)

FTP/SFTPのパスワード

SFTPを使用している場合、［クライアント認証］パラメータ(上記)に設定したタイプに基づいて、SFTPで使用するクライアントのパスワードまたはプライベートキーパスワードのどちらかを入力してください。

パスワードを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでパスワードとして使用する環境変数を選択します。

環境変数として入力されたパスワードはアスタリスク(*)でマスクされます。

クライアント秘密鍵ファイルのパス(Client Private Key File Path)

プライベートキーを保持しているファイルへのフルパス。以下のフォーマットがサポートされています：

  • OpenSSH

  • SSH.com

  • PuTTY

ファイルパスを入力するか、 [image] をクリックして環境変数一覧を開きます。ここで、使用する環境変数をファイルパスとして選択することができます。

［クライアント認証］パラメータ(上記)で「パブリックプライベートキー」が選択された場合、このパラメータが有効になります。

Since version: 4.5

クライアント秘密鍵パスフレーズ（Client Private Key Pass Phrase）

このプロパティは、クライアント秘密鍵のパスフレーズを保持します。

このパラメーターは、クライアント認証パラメーター（上記）で公開秘密鍵（Public Private Keys）を選択した場合にのみ使用できます。

Since version: 4.13.2

エンコーディング(Encoding)

スキャンしたファイルをエンコードするかどうかを指定します。エンコーディングについての詳細についてはこちらをクリックしてください。

ロケール名(Locale Name)

これはDIRテキストの「last modified」日付を解析する時に使用されるJavaロケールもしくはロケール名です。

例: en_US, fr, he_IL

タイムアウト(Timeout in Milliseconds)

コンポーネントがスキャンを行なう間隔（ミリ秒）

時間を入力するか、 [image] をクリックして環境変数一覧を開きます。ここで、使用する環境変数を時間として選択することができます。

接続モード(Connect Mode)

ドロップダウンリストからいずれかを選択します。

  • PASSIVE (デフォルト)

  • ACTIVE

各ファイル転送(アップロードまたはダウンロード)では、データ転送のための追加の接続が必要です。通常（アクティブモードの場合）は、サーバがこの接続を確立します。パッシブモードの場合は、接続を確立しなくてはなりません。これは外部からの接続を許可していないファイアーウォールを利用している場合などに必要となります。

［プロトコル］パラメータ(上記)で FTP が選択された場合、このパラメータが有効になります。

ログインリトライ回数(Number of Login Retries)

サーバとの接続が失敗した場合に、リトライを試みる回数を指定します

リトライ回数の数値を入力するか、 [image] をクリックして環境変数一覧を開きます。ここで、使用する環境変数をリトライ回数として選択することができます。

ログインリトライ待ち時間(Delay Between Login Retries)

サーバとの接続に失敗した場合に、リトライ処理の間の遅延時間（秒数）を指定します。

遅延時間を入力するか、 [image] をクリックして環境変数一覧を開きます。ここで、使用する環境変数を遅延時間として選択することができます。

セキュアFTPの使用(Use Secured FTP)

（FTPとDirectory Scannerコンポーネントの両方のための)FTPプロトコル実装がサポートされ、セキュアソケットレイヤ(SSL)がセキュリティの追加が必要かどうかを指定します。

  • No (デフォルト)

  • Yes

［プロトコル］パラメータ(上記)で FTP が選択された場合、このパラメータが有効になります。

サーバ証明書の認証(Server Certificate Validation)

FTPのSSLプロトコル実装がサーバ証明書認証を必要とするかどうかを指定します。ドロップダウンリストから以下の1つを選択してください：

  • No (デフォルト)

  • Yes

［セキュアFTPの使用］パラメータ(上記)で Yes が選択された場合、このパラメータが有効になります。

サーバ証明書ファイル(Server Certificate File)

サーバ側のPEMフォーマットの証明書ファイルのファイル名を指定します。

パスを入力するか、 [image] をクリックして環境変数一覧を開きます。ここで、使用する環境変数をパスとして選択することができます。

［セキュアFTPの使用］パラメータ(上記)で Yes が選択された場合、このパラメータが有効になります。

クライアント証明書を使用(Use Client Certificate)

FTPのSSLプロトコル実装がクライアント証明書認証を必要とするかどうかを指定します。ドロップダウンリストから以下の1つを選択してください：

  • No (デフォルト)

  • Yes

［セキュアFTPの使用］パラメータ(上記)で Yes が選択された場合、このパラメータが有効になります。

クライアント証明書ファイル(Client Certificate File)

クライアント側のPEMフォーマットの証明書とプライベートキーのファイル名を指定します。

パスを入力するか、 [image] をクリックして環境変数一覧を開きます。ここで、使用する環境変数をパスとして選択することができます。

［セキュアFTPの使用］パラメータ(上記)で Yes が選択された場合、このパラメータが有効になります。

クライアント証明書パスワード(Client Certificate Password)

クライアント証明書のためのパスワード。

［セキュアFTPの使用］パラメータ(上記)で Yes が選択された場合、このパラメータが有効になります。

SSL接続でHTTPを使用する場合は、FTPのImplicitモードは現在サポートされません。

FTPリソースには以下のボタンがあります。

ボタン

説明

検証

このボタンはFTPサーバへの接続が有効かどうか確認します。接続が確立したか失敗したかを示すメッセージを受け取ります。

サーバPub

このボタンをクリックすると、自動的に以下のステップを実行します。

  1. サーバのパブリックキーを取得します。

  2. 実行時のTEMPディレクトリにキーを保存します。

  3. ［サーバ認証ファイル］パラメータにファイルパスを追加します。

［プロトコル］パラメータ(上記)で「SFTP」を選択すると、このボタンが有効になります。

Since version: 4.5

関連トピック

キーペアの作成

「要求されたFTPサーバとの接続が確立することができませんでした.内部のIOの問題のため、キーを読めませんでした.」というエラーが発生しました.


キーペアの作成

SFTPを使用する場合、クライアント認証の目的のためにパブリック、またはプライベートキーのペアを作成する必要があります。これを行なうには、PuTTYgenなどのキー生成ツールを使用することができます。

キーペアを作成するには：

  1. ［PuTTY Key Generator］ウィンドウ(以下)内で、新しいインデックスペアを作成するために、［Generate］をクリックしてください。

  2. 次に、新しいキーペアを保存するために、［Save public key］や［Save private key］ボタンをクリックしてください。

  3. SFTPサーバ内でパブリックキーを登録してください。

  4. FTPリソースでプライベートキーとそのパスワードを定義してください。


File Watcher リソース

File Watcherリソースのパラメータは以下の通りです。（太字のパラメーターは必須です）:

パラメータ

説明

ローカルエージェント

リソースを ローカルエージェント の一部として動作させるには、この値を True にします。

デフォルト値は False です。

LA 名

このリソースに基づくステップが起動しようとしているローカルエージェントの名前。

このパラメータは、ローカルエージェントの値がTrueに設定されている場合にのみ使用できます。

送り元フォルダタイプ

File Watcherは2つのモードで動作します。FTPサーバに接続するモードと、ストレージ（ハードディスクまたはネットワークドライブ）にアクセスするモードです。

  • Disk （システムまたはネットワーク上の物理ストレージ）

  • FTP （FTPサーバーに接続）

FTPを選択する場合は、全てのサーバーの詳細が正しく入力され、サーバー接続が検証されていることを確認してください。

サーバ

FTPサーバ名。

ポート番号を指定する場合は下記の書式で設定してください。

サーバ名:ポート番号

サーバ名を入力するか、 [image] をクリックして環境変数リストから環境変数を選択してください。 環境変数にサーバ名を設定することができます。

プロトコル

FTPサーバに基づいてドロップダウンリストから適切なプロトコルタイプを選択します。

  • FTP (デフォルト). SSLの場合は下記Secured FTPを使用してください。

  • SFTP (secured FTP)

サーバ検証を有効

サーバーの検証を有効にするかどうかを決定します。 ドロップダウンリストから次のいずれかを選択します:

  • Yes (デフォルト)

  • No

本番環境で動作している場合は、サーバー検証機能を無効にしないでください。

このパラメータは上記「プロトコル」パラメータがSFTの場合に有効です。

検証対象

サーバの検証に使用されるファイルタイプ。 ドロップダウンリストから次のいずれかを選択します:

  • Public Key File (デフォルト)

  • Known Hosts File

このパラメータは上記「サーバ検証を有効」をYesに設定した場合のみ有効です。

サーバ検証ファイル

既知のホストとその公開鍵のリストを保持しているファイル、または単一サーバの公開鍵を保持しているファイルへのフルパス。

ファイルパスを入力するか、 [image] ボタンをクリックして環境変数リストを開くことができます。ここでファイルパスを設定した環境変数を選択できます。

このパラメータは上記「サーバ検証を有効」をYesに設定した場合のみ有効です。

クライアント認証

SFTP認証タイプ。下記ドロップダウンリストから認証タイプを選択してください。:

  • User Password (デフォルト)

  • Public Private Keys

このパラメータは上記「サーバ検証を有効」をYesに設定した場合のみ有効です。

ユーザ

FTPまたはSFTPのユーザ名

ユーザー名を入力するか、 [image] ボタンをクリックして環境変数リストを開くことができます。 ここではユーザー名として使用する環境変数を選択できます。

パスワード

FTPまたはSFTPのパスワード。SFTPを使用している場合は、クライアント認証パラメータ（上記）で設定したタイプに応じて、SFTPプロトコルで使用されるクライアントパスワードまたはPrivate Keyパスワードのいずれかを入力します。

パスワードを入力するか、 [image] ボタンをクリックして環境変数リストを開くことができます。 ここではパスワードとして使用する環境変数を選択できます。

環境変数として入力されたパスワードは＊でマスクされます。

クライアント Private Key ファイルパス

Private Keyを保持するファイルのフルパス。下記のフォーマットがサポートされています。:

  • OpenSSH

  • SSH.com

  • PuTTY

ファイルパスを入力するか、 [image] ボタンをクリックして環境変数リストを開くことができます。 ここではファイルパスとして使用する環境変数を選択できます。

このパラメータは上記「クライアント認証」パラメータでPublic Private Keyを選択した場合のみ有効です。

クライアント Private Key パスフレーズ

このプロパティはクライアントPrivate Keyのパスフレーズを設定します。

このパラメータは上記「クライアント認証」パラメータでPublic Private Keysが選択されている場合にのみ有効です。

エンコーディング

スキャンしたファイルをエンコードするかどうかを指定します。 エンコーディングの詳細については、ここ をクリックしてください。

ロケール名

DIRテキストの「最終変更日」を解析するために使用されるJavaロケールまたはロケール名です。

例: en_US, fr, he_IL

デフォルトロケールはEnglish_United Statesです。

タイムアウト（ミリ秒）

コンポーネントがスキャンを実行する時間（ミリ秒単位）を定義します。

時間を入力するか、 [image] ボタンをクリックして環境変数リストを開くことができます。 ここでは時間として使用する環境変数を選択できます。

接続モード

下記ドロップダウンリストから選択します。

  • Passive (デフォルト)

  • Active

各ファイル転送（アップロードまたはダウンロード）には、データストリーム用の追加の接続が必要です。 通常（アクティブモードでは）、サーバはこの接続を確立します。 ただし、パッシブモードでは、接続を確立する必要があります。 これは、外部からの接続を許可しないファイアウォールを使用する場合に必要になることがあります。

このパラメータは上記「プロトコル」パラメータがFTPで設定されている場合にのみ有効です。

ログインリトライ回数

サーバーとの接続に失敗したときに再試行するログインリトライの回数。

リトライ回数を入力するか、 [image] ボタンをクリックして環境変数リストを開くことができます。 ここではリトライ回数として使用する環境変数を選択できます。

ログイン再試行間の遅延

サーバへの接続が失敗した場合、接続復元を再試行する際の遅延時間（秒単位）。

時間を入力するか、 [image] ボタンをクリックして環境変数リストを開くことができます。 ここでは遅延時間として使用する環境変数を選択できます。

セキュアFTP使用

FTPプロトコルの実装がSecure Sockets Layer（SSL）の追加セキュリティを必要とするかどうかを指定することができます。 ドロップダウンリストから次のいずれかを選択します。:

  • No (デフォルト)

  • Yes

このパラメータは上記「プロトコル」パラメータがFTPで設定されている場合にのみ有効です。

サーバ証明書の検証

FTP SSLプロトコルの実装にサーバ証明書の検証が必要かどうかを指定します。ドロップダウンリストから次のいずれかを選択します。:

  • No (デフォルト)

  • Yes

このパラメータは上記「セキュアFTP使用」パラメータがFTPで設定されている場合にのみ有効です。

サーバ証明書ファイル

サーバのPEM形式証明書へのパス。

パスを入力するか、ボ [image] タンをクリックして環境変数リストを開くことができます。 ここではパスとして使用する環境変数を選択できます。

このパラメータは上記「セキュアFTP使用」パラメータがFTPで設定されている場合にのみ有効です。

クライアント証明書を使用

FTP SSLプロトコルの実装にクライアント証明書の検証が必要かどうかを指定することができます。 ドロップダウンリストから次のいずれかを選択します:

  • No (デフォルト)

  • Yes

このパラメータは上記「セキュアFTP使用」パラメータがFTPで設定されている場合にのみ有効です。

クライアント証明書ファイル

クライアントPEM形式の証明書とPrivate Keyへのパス。

パスを入力するか、 [image] ボタンをクリックして環境変数リストを開くことができます。 ここではパスとして使用する環境変数を選択できます。

このパラメータは上記「セキュアFTP使用」パラメータがFTPで設定されている場合にのみ有効です。

クライアント証明書パスワード

クライアント証明書のパスワード

このパラメータは上記「セキュアFTP使用」パラメータがFTPで設定されている場合にのみ有効です。

File Watcher のリソースには下記のボタンもあります。

ボタン | 説明
検証 | このボタンをクリックして、FTPサーバへの接続が有効であることを確認します。 接続に成功すれば、接続が確立されたことを示すメッセージが表示され、接続が失敗した場合はエラーメッセージが表示されます。

(Since version: 4.13.2)


Googleリソース

このリソースは、GoogleカレンダとGoogle ドライブ のコンポーネントで使用できます。

Googleリソースには、以下のパラメータ（太字 のパラメータは必須）があります。

パラメータ | 説明
プロキシー(Proxy) | インターネット接続がプロキシを使用するかを指定します。デフォルトでは、使用しません。
プロキシーアドレス(Proxy Address) | プロキシが使用される場合、Google接続にアクセスするために、プロキシサーバのアドレスを入力します(［インターネット接続］と同じように入力します)。
プロキシーポート(Proxy Port) | プロキシが使用される場合、Google接続にアクセスするために、プロキシサーバのポート番号を入力します(［インターネット接続］と同じように入力します)。
API | APIリストで選択された値を含む読込専用フィールド。 利用可能: 4.1 以上
資格証明データストア(Credential's Data Store) | 証明書のデータストアへのパスを含む表示のみのフィールド。 これはStoredCredentialファイルを示しています(このファイルは、プロジェクト内の関連したGoogleリソースの下に配置されています)。 Since version: 4.1

Googleリソースには以下のボタンがあります。

ボタン | 説明
検証 | このボタンは、接続のためのGmailアカウントが有効かどうか確認します。接続が確立したか失敗したかを示すメッセージを受け取ります。 このボタンはまた、<My Documents>\Magic\projects\<プロジェクト名>\<現在のプロジェクト>\resource\Google\<Google リソース名>\secret に client_secretsファイルの存在しているかどうかを検証します。検証処理が失敗したら、詳細についてはここをクリックしてください。
OAuth | ［OAuth 2.0認可］ダイアログボックスを開く場合は、このボタンをクリックしてください。 Since version: 4.1
APIs | APIリストを開く場合は、このボタンをクリックしてください。API選択の詳細については、ここをクリックしてください。 利用可能: 4.1 以上

関連トピック

Googleトラブルシューティング


OAuth 2.0 認可

Googleの［リソース設定］ウィンドウで［OAuth］ボタンをクリックすると、［OAuth 2.0認可］ダイアログボックスが開きます。このダイアログボックスには、以下の特性があります：

プロパティ | 説明
クライアントのシークレットファイル | をクリックし、Google Developers Console (下の［OAuth 2.0認可フロー］セクションの設定を参照してください)から取得したclient_secret .jsonファイルを選択してください。
認可URL | ［認可URL］ボタン(以下)をクリックして得られた認可URLを含むコピー可能で読込専用のフィールド。
コード | このフィールドにGoogleから受け取ったコードを貼り付けてください。

［OAuth 2.0認可］ダイアログボックスには、以下のボタンがあります：

ボタン | 説明
認可URL | 認可URLを取得します。［クライアントのシークレットファイル］フィールド(上記)が定義された時だけに、このボタンは有効になります。
起動 | 外部のブラウザで認可URLを起動します。［認可URL］フィールド(上記)が追加された時だけに、このボタンは有効になります。

Since version:

4.1

OAuth 2.0認可フローの設定

Googleに送られた各リクエストは、適切なAPIによって識別されなければなりません。従って、Google側(サーバ側)だけでなくMagic xpi側(クライアント側)でAPIが利用できなければなりません。

  1. [設定]ダイアログボックスの[リソース]セクションで、新しいGoogleリソースを作成してください。［API］ボタンをクリックしてAPIリストを開き、リストからAPIを選択します。次に［OK］をクリックします。

  2. そして、Google Developers Consoleで以下のステップを実行することにより、クライアントIDを作成してください：

a. Google Developers Console(https://console.developers.google.com/)を開き、カレンダのユーザ証明書でログインしてください。

b. 新しいプロジェクトを作成してください。この例では、magic xpi と呼びます。

c. たった今作成したプロジェクトの下で、左上の [image] をクリックしてサイドバーを開きます。サイドバーの中の［API Manager］をクリックしてください。

d. ［よく使われているAPI］I画面で、［Google Apps API］セクションに位置付けます。

e. ［Google Apps APIs］セクションで、使用するAPIに基づいて、Drive API か Calendar API のどちらかをクリックしてください。

f. 有効にするをクリックしてください。

g. 左のサイドバーで、認証情報をクリックしてください。［認証情報 ］画面の先頭で、［OAuth同意画面］タブをクリックしてください。

h. ［メールアドレス］パラメータには、あなたのEメールアドレスを選択してください。［ユーザに表示するサービス名］パラメータには、Magic xpi と入力します。名前は、Magic xpi にする必要はありませんが、これは、同意ページに表示される名前になります。他のフィールドはオプションです。

i. ［保存］をクリックしてください。

j. 次に、クライアントIDを作成する必要があります。［保存］(上記)をクリックした時に、［認証情報］タブが自動的に開かなかった場合、左側のサイドバーで［認証情報］をクリックしてください。

k. ［認証情報］画面の［認証情報］タブで、［新しい証明書］ドロップダウンリストからOAuthクライアントIDを選択してください。

l. ［クライアントIDの作成］画面の［アプリケーションタイプ］セクションで、その他を選択し、必要な名前を入力してください。

m. ［作成］をクリックして、クライアントIDを作成します。

n. クライアントIDを作成したら、［OK］をクリックしてください。

o. 次に、［JSONのダウンロード］ボタンをクリックし、新しく作成された.jsonファイルをPCに保存してください。

  3. 次に、Magic xpiで以下のステップを実行してください：

a. 早期に作成したGoogleリソースで、［OAuth］ボタンをクリックして［OAuth 2.0認可］ダイアログボックスを開きます。

b. ［OAuth 2.0認可］ダイアログボックスで、Google Developers Consoleからダウンロードした.jsonファイルを選択します。

c. ［認可URL］ボタンをクリックします。値は［認可URL］パラメータで表示されます。

d. ［OAuth 2.0認可］ダイアログボックスの［起動］ボタンをクリックしてデフォルトブラウザでURLを開くか、［認可URL］パラメータから任意のブラウザにURLをコピーします。

e. Googleアカウントでログインしていれば、同意ページにリダイレクトされます。まだログインしていない場合は、同意ページを開く前にログインする必要があります。このページには、Google Developers Consoleで以前に定義したアプリケーション名が表示されます。

f.GoogleカレンダやGoogleドライブへのアクセス許可を与えるために、［同意］ボタンをクリックしてください。.

g. この時、コードを含むページにリダイレクトされます。このコードをコピーし、Magic xpi のGoogleリソースに戻ってください。

h. コードを［OAuth 2.0認可］ダイアログボックスの［コード］パラメータに貼り付け、［OK］をクリックしてください。

i. この時点でエラーが表示されなければ、［OAuth 2.0認可］ダイアログボックスは閉じます。エラーが発生したら、解決方法についての情報としてにここをクリックしてください。

j. Googleリソースの［認証］ボタンをクリックして、プロセスが成功したことを確認してください。


HTTP リソース

HTTP リソースには、以下のパラメータ（太字のパラメーターは必須）があります。

パラメータ | 説明
URL | 外部アプリケーションに接続するURLアドレス。URLとして、最高2500バイト分の文字を含めることができます。 URLアドレスを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでURLアドレスとして使用する環境変数を選択します。


IBM iリソース

IBM i リソースには、以下のパラメータ（太字のパラメーターは必須）があります。

パラメータ

説明

IPアドレス(IP Address)

IBM iサーバのIPアドレス。

サーバのIPアドレスを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでサーバのIPアドレスとして使用する環境変数を選択します。

ユーザ(User)

IBM iシステムのユーザ名。

ユーザ名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでユーザ名として使用する環境変数を選択します。

異なるユーザログインで同じサーバに対する複数セッションはサポートされていません。Magic xpiは最初のセッションを、見つかったサーバに持って行きます。

パスワード(Password)

IBM iシステムのためのユーザパスワード。

パスワードを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでパスワードとして使用する環境変数を選択します。

環境変数として入力されたパスワードはアスタリスク(*)でマスクされます。

異なるリソースが同じIBM iサーバに対する異なるステップに割り当てられても、最初のIBM iリソースのユーザの詳細はプロジェクトの中で常に使用されます。

IBM i リソースには以下のボタンがあります。

ボタン | 説明
検証 | このボタンはIBM iサーバへの接続が有効かどうか確認します。接続が確立したか失敗したかを示すメッセージを受け取ります。


JD Edwards Enterprise One リソース

JD Edwards Enterprise One リソースには、以下のパラメータ（太字 のパラメータは必須）があります。

パラメータ

説明

サーバ名(Server Name)

JD Edwards Enterprise One サーバ名

サーバ名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでサーバ名として使用する環境変数を選択します。

環境(Environment)

JD Edwards Enterprise One 環境名

環境名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここで環境名として使用する環境変数を選択します。

ユーザ名(User Name)

JD Edwards Enterprise One ユーザ名

ユーザ名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでユーザ名として使用する環境変数を選択します。

パスワード(Password)

JD Edwards Enterprise One のパスワード

パスワードを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでパスワードとして使用する環境変数を選択します。

環境変数として入力されたパスワードはアスタリスク(*)でマスクされます。

ロール(Role)

JD Edwards Enterprise Oneシステムロール名

システムロール名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでシステムロール名として使用する環境変数を選択します。

接続プールサイズ(Connection Pool Size)

JD Edwards Enterprise One サーバへの接続数を定義します。デフォルトは、1です。

接続数を入力するか、 [image] をクリックして環境変数一覧を開きます。ここで接続数として使用する環境変数を選択します。

JD Edwards Enterprise Oneリソースには以下のボタンがあります。

ボタン | 説明
検証 | このボタンはJD Edwards Enterprise One サーバへの接続が有効かどうか確認します。接続が確立したか失敗したかを示すメッセージを受け取ります。
インデックス | このボタンは、有効なBSFNsのリストをbsfn.xmlと呼ばれるローカルインデックス・ファイルに読み込みます。JD Edwards Enterprise Oneコネクタを設定すると、後でこれらのBSFNsを検索することができます。ファイルは、＜プロジェクト＞/jdedwards/<リソース名>のフォルダに位置づけられます。


JD Edwards World リソース

JD Edwards World リソースには、以下のパラメータ（太字 のパラメータは必須）があります。

パラメータ

説明

サーバアドレス(Server Address)

JD Edwards World サーバのアドレス

サーバアドレスを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでサーバアドレスとして使用する環境変数を選択します。

ユーザ(User)

JD Edwards World のユーザ名

ユーザ名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでユーザ名として使用する環境変数を選択します。

パスワード(Password)

JD Edwards World のパスワード

パスワードを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでパスワードとして使用する環境変数を選択します。

環境変数として入力されたパスワードはアスタリスク(*)でマスクされます。

データベース (リソース)
Database (Resource)

JD Edwards Worldリソースで使用したいデータベースのリソース。ドロップダウンリストから使用したいデータベースリソースを選択してください。

JD Edwards Worldリソースを作成する前に、最初にIBM iデータベース・リソースを作成する必要があります。データベース・リソースを設定する際の詳細については、ここをクリックしてください。

データベースライブラリ(Database Library)

JD Edwards Worldリソースで使用するために選択したデータベースライブラリ。

JD Edwards World リソースには以下のボタンがあります。

ボタン

説明

検証

このボタンは JD Edwards Worldサーバへの接続が有効かどうか確認します。接続が確立したか失敗したかを示すメッセージを受け取ります。

JD Edwards Worldコネクタを使用することができる前に、IBM iデータベースとの接続が有効であることを確認しなければなりません。

設定

このボタンは、［JD Edwards Worldメタデータメンテナンス］ダイアログボックスを開きます。ここで、JDEMetadata.xmlファイルを参照したり編集することができます。

JD Edwards Worldコネクタを設定する時に、このファイルには後で使用されるモジュールと処理が含まれています。

ライブラリ

JD Edwards Worldリソース内で使用したいライブラリを選択するには、このボタンをクリックしてください。


JD Edwards World メタデータメンテナンス

JD Edwards Worldの［リソース設定］ウインドウで［設定］ボタンをクリックすると、［JD Edwards Worldメタデータメンテナンス］ダイアログボックスが開きます。このダイアログボックスでは、JDEMetadata.xmlファイルに新しいモジュールや処理を追加したり、既存のものを編集することができます。ここには、以下の特性が含まれています：

プロパティ | 内容
モジュール
名称 | モジュールの名前。この編集可能なプロパティは、JDEMetadata.xmlファイルから取得されます。
説明 | モジュールの説明。この編集可能なプロパティは、JDEMetadata.xmlファイルから取得されます。
オペレーション
名称 | 処理の名前。この編集可能なプロパティは、JDEMetadata.xmlファイルから取得されます。
ファイル | IBM iデータベースのファイル名。この編集可能なプロパティは必須です。
バージョン フォーム ID ジョブ ID | 実行されるJD Edwards World のパラメータ。これらの編集可能なプロパティは必須です。

各モジュール毎にごとに少なくとも1つの処理を定義しなければなりません。

［JD Edwards Worldメタデータメンテナンス］ダイアログボックスには、［モジュール］と［オペレーション］のセクションに以下のボタンがあります。

ボタン | 説明
新規 | モジュールまたは処理を新規作成します。
削除 | 既存のモジュールまたは処理を削除します。

JDEMetadata.xmlファイル内のモジュールと処理を変更し終わったら、［OK］をクリックしてください。

［取消］をクリックすると保存されずにダイアログが閉じます。


JDBC リソース

JDBCリソースでは下記のパラメータを設定します（ボールド字は必須項目）:

パラメータ | 説明
ローカルエージェント | リソースをローカルエージェントの一部として機能させるには、この値をTrueにします。 デフォルト値はFalseです。
LA 名 | このリソースに基づくステップが起動しようとしているローカルエージェントの名前。 このパラメータは、ローカルエージェントの値がTrueに設定されている場合にのみ使用できます。
JDBC URL | データベースに接続するためのJDBCURLを入力します。 JDBC URLは環境変数を使用して選択することもできます。 JDBC URLには、データベースサーバーのJDBCURLを指定します。 オプションでデータベース名、ユーザー名、およびパスワードを必要な形式で含めることができます。
データベース名 | データベース名を入力します。 データベース名がJDBCURLの一部として定義されている場合、このフィールドは空白のままにすることができます。 ここに入力されたデータベース名は、JDBCURLで指定されたデータベース名よりも優先されます。
ユーザ | データベースに接続するためのユーザー名を入力します。 ユーザー名がJDBCURLの一部として定義されている場合、このフィールドは空白のままにすることができます. ここに入力されたユーザー名はJDBCURLで指定されたユーザー名よりも優先されます。
パスワード | データベースで認証するためのパスワードを入力します。 ユーザー名がJDBCURLの一部として定義されている場合、このフィールドは空白のままにすることができます。 ここに入力されたパスワードは、JDBCURLで指定されたパスワードよりも優先されます。
開始オーナー | このデータベースエントリを使用するときにフィルタリングするオーナー。 [オーナー]をクリックして、オーナーリストを開きます。 リストから必要なオーナーを選択します。 この値はデータマッパーのデータベースウィザードのデフォルトの所有者として使用されます。 このプロパティが空白の場合、オーナーは最初のオーナーに設定されます。

JDBCリソースには下記のボタンも追加されています:

ボタン

説明

検証

このボタンをクリックして、データベースへの接続が有効であることを確認します。 接続が確立されたことを示すメッセージ、または接続が失敗した場合はエラーメッセージが表示されます。 DB2 / 400データベースを選択する場合、このボタンをクリックして、ライブラリーへのアクセス可能性を確認できます。 テーブル選択フォームには、指定されたライブラリのテーブルが表示され、前にライブラリ名が付けられます（オーナーではありません）。 テーブルを選択すると、画面の下部にオーナーの詳細が表示されます。 データベースウィザードの列選択フォームの[使用可能な列]リストには、ライブラリ/スキーマで選択したテーブルの列が表示されます。

テーブル

このボタンをクリックしてデータベースフィルタウィンドウを開きます。このウィンドウではこのデータベース接続で使用するテーブルを選択できます。

オーナー

このボタンは所有者リストを開き、データベースエントリに必要な開始オーナーを選択できます。

オンライン/オフライン

データマッパードキュメントが開いているときに、データマッパーが構成済みデータベースへの接続を試行するかどうかを決定します。 このボタンをクリックして、オンラインモードとオフライン（デフォルト）モードを切り替えます。

ボタンがオフラインに設定されている場合、キャッシュがロードされます。 ボタンがオンラインに設定されている場合は、Magic xpiはデータベースに接続して現在のテーブルの構造を取得しようとします。

以下の場合、DBスキーマがオフラインリソースに属している場合でも、データベースへ接続されます:

  • スキーマノードで[更新]オプションを選択する

  • プロパティシートでSQLステートメントの変更

  • スキーマリソースの変更

  • DBウィザードの実行時

接続に失敗した場合、最後にキャッシュされたデータが使用されます。

[更新]をクリックすると、複数のデータベーススキーマを更新できます。

ツールバーの[データベーススキーマ] [image] アイコン、または[編集]メニューをクリックして[データベーススキーマの更新]を選択します。 この機能はxpi Studioでデータマッパードキュメントがフォーカスされている場合、およびオンラインリソースに属するデータベーススキーマが少なくとも1つある場合にのみ使用できます。

日本語OSにおいて、JDBCリソースでLocal Agentを使用する場合（Local Agent=True）、magic.iniの[MAGIC_SPECIALS]にフラグSpecialExpReturnNull を追加し、値をNにする必要があります。

サポートデータベース一覧

JDBCリソースがサポートするデータベースは下記の通りです。:

  • MS-SQL

  • MySQL

  • Oracle

  • DB2/400

以下は、Magicxpi用に認定されたサポートされているデータベースドライバのリストです。他の互換性のあるドライバーも機能する可能性があります。

データベース | ドライバー名 JAR File(s)
MSSQL | mssql-jdbc-8.4.1.jre8.jar
MySQL | mysql-connector-java-5.1.41.jar and mysql-connector-java-8.0.26.jar
Oracle | ojdbc7.jar
DB2/400 | Jt400.jar

(Since version: 4.13.3)

関連トピック

サポートされているJDBC URLフォーマット


サポートされているJDBC URL フォーマット

以下に示すのはURLのサブセットであり、包括的なリストではないことに注意してください。 サポートされているURLの完全なリストについては、製品のドキュメントを確認してください。

MSSQL

  • jdbc:sqlserver://[Host]:[Port];databaseName=[DatabaseName]

  • jdbc:sqlserver://[Host]:[Port];databaseName=[DatabaseName];integratedSecurity=true

  • jdbc:sqlserver://[Host]:[port];databaseName=[DatabaseName];user=[UserName];password=[Password]

MySQL

  • jdbc:mysql://[Host]:[Port]/[DatabaseName]

  • jdbc:mysql://address=(host=[Host])(port=[Port])(user=[UserName])(password=[Password])/[DatabaseName]

  • jdbc:mysql://[Host]:[Port]/[DatabaseName]?user=[UserName]&password=[Password]&characterEncoding=[Encoding]

Oracle

  • jdbc:oracle:thin:@[Host]:[Port]:[SID]

  • jdbc:oracle:thin:[User]/[Password]@[Host]:[Port]:[SID]

  • jdbc:oracle:thin:@//[Host]:[Port]/[Service Name]

  • jdbc:oracle:thin:[User]/[Password]@//[Host]:[Port]/[Service Name]

DB2400/AS400

  • jdbc:as400://[Host]/[DatabaseName]

PostgreSQL

  • jdbc:postgresql://[Host]:[Port]/[DatabaseName]?user=[UserName]&password=[Password]

  • jdbc:postgresql://[Host]:[Port]/[DatabaseName]

DB2

  • jdbc:db2://[Host]:[Port]/[DatabaseName]

  • jdbc:db2://[Host]:[Port]/[DatabaseName]:user=[UserName];password=[Password]

JDBCリソースでは、PostgreSQLと and DB2 データベースについて検証機能は無効です。


JMS リソース

JMSリソースには、以下のパラメータ（太字 のパラメータは必須）があります。

パラメータ

説明

接続ファクトリ名(Connection Factory Name)

キュー接続ファクトリ名、もしくはトピック接続ファクトリ名を入力します。例： MyConnectionFactory

名前を入力するか、 [image] をクリックして環境変数一覧を開きます。ここで名前として使用する環境変数を選択します。

ユーザ(User)

接続のためのユーザ名。例：MyUser

ユーザ名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでユーザ名として使用する環境変数を選択します。

パスワード(Password)

接続のためのパスワード。例： MyPassword

パスワードを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでパスワードとして使用する環境変数を選択します。

環境変数として入力されたパスワードはアスタリスク(*)でマスクされます。


LDAP リソース

LDAP リソースには、以下のパラメータ（太字 のパラメータは必須）があります。

パラメータ

説明

サーバ名(Server Name)

LDAPサーバのURL

サーバ名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでサーバ名として使用する環境変数を選択します。

SSL接続が必要な場合は、サーバアドレスのURLは以下ようになります。SSL：//URLまたはSSL：//IP

サーバポート (Server Port)

LDAPサーバのポート番号

ポート番号を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでポート番号として使用する環境変数を選択します。

デフォルトのポート番号は389です。

接続文字列(Connection string)

ユーザのDN(LDAPサーバデータベースでユニークなエントリIDです)を指定するために、LDAP接続文字列を使用してください。

例：cn=John, ou=users, dc=mycompany, dc=com

参照： LDAP接続文字列

ドメインコンテキスト(Domain context)

LDAPユーザがメンバになっているグループを検索するために使用される検索ベースを指定するために、この設定を使用してください。

例：ou=groups,dc=mydomain

参照： LDAPドメインコンテキスト

ユーザ名(User Name)

LDAPシステムのユーザ名。

パスワード(Password)

LDAPシステムのユーザパスワード。

パスワードを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでパスワードとして使用する環境変数を選択します。

環境変数として入力されたパスワードはアスタリスク(*)でマスクされます。

  • 異なるリソースが、同じLDAPサーバに対する異なるステップに対応していても、最初のLDAPリソースのユーザの詳細情報は、プロジェクト内で常に使用されます。

  • 管理者としてアクセスするには、Magic xpiのルートフォルダにsecmod.db、cert7.db、およびkey3.dbファイルをコピーする必要があります。これらのファイルが、Magic xpiのインストール処理によってインストールされなかった場合は、LDAPサーバからそれらをコピーすることができます。詳細は、ラブルシューティングの「LDAPリソースとの管理者接続を有効にしようとすると、エラーが発生するには何故ですか？」を参照してください。

LDAPリソースには以下のボタンがあります。

ボタン | 説明
検証 | このボタンは、接続のためのLDAPアカウントが有効かどうか確認します。接続が確立したか失敗したかを示すメッセージを受け取ります。


MQTTリソース

MQTT リソースには、以下のパラメータ（太字 のパラメータは必須）があります。

パラメータ

説明

ブローカURL(Broker URLs)

ブローカURLのカンマ区切りのリスト。以下のように表示されます。

<プロトコル>：//<ホスト>：<ポート>

サポートされるプロトコルは以下の通りです：

  • TCP

  • SSL

ブローカURLを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでブローカURLとして使用する環境変数を選択します。

セッションのクリーン(Clean Session)

何らかの理由でブローカから切断された場合のクライアントの動作を定義します。ドロップダウンリストから以下の1つを選択してください：

  • Yes(デフォルト) …… 切断後、前のセッションのすべての情報は破棄さて、新しいセッションがは開始されます。

  • No …… 切断後、前のセッションからの情報は新しいセッションで使用するために保持されてます。

ユーザ名(User Name)

ブローカ認証のためのユーザ名。

パスワード(Password)

ブローカ認証のためのパスワード。

LWTの使用(Use LWT)

"遺言状"機能を有効にします。クライアントがブローカから切断されると、ブローカは供給されたLWTの詳細を使用して、自身にメッセージを発行します。ドロップダウンリストから以下の1つを選択してください：

  • No (デフォルト)

  • Yes

LWTトピック(LWT Topic)

発行したいトピック。

トピックを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでトピックとして使用する環境変数を選択します。

［LWTの使用］パラメータ(上記)がYesに設定された場合のみ、このパラメータが有効になります。

LWTメッセージ(LWT Message)

トピックに送信したいメッセージ。

メッセージを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでメッセージとして使用する環境変数を選択します。

［LWTの使用］パラメータ(上記)がYesに設定された場合のみ、このパラメータが有効になります。

LWT QoS

メッセージを送信する時のサービスの質。ドロップダウンリストから以下の1つを選択してください：

  • 0 (デフォルト) …… 最大でも一回

  • 1 …… 少なくとも1回

  • 2 …… 正確に一回

［LWTの使用］パラメータ(上記)がYesに設定された場合のみ、このパラメータが有効になります。

LWT保持(LWT Retained)

メッセージの保持これは、送信後にブローカがメッセージを保持するかどうかを指定します。ドロップダウンリストから以下の1つを選んでください：。

  • No (デフォルト) …… メッセージの送信後、ブローカはそれを保持することなく、サブスクライバは参照できません。

  • Yes …… メッセージの送信後、ブローカはそれを保持し、サブスクライバが参照することができます。

［LWTの使用］パラメータ(上記)がYesに設定された場合のみ、このパラメータが有効になります。

MQTT接続タイムアウト(MQTT Connection TImeout)

ブローカとの接続タイムアウト（秒）。デフォルトは30です。

値が0の場合は、タイムアウト処理が無効になります。この場合、クライアントは、ネットワーク接続が成功するか失敗するまでで待ちます。

タイムアウト値を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでタイムアウト値として使用する環境変数を選択します。

MQTTキープアライブ間隔(MQTT Keep Alive Interval)

接続のキープアライブ間隔（秒）。これはクライアントに、ブローカがTCP/IPタイムアウトを待つことなく有効でないこと検出させます。

キープアライブ値を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでキープアライブ値として使用する環境変数を選択します。

MQTT発行タイムアウト(MQTT Publish Timeout)

発行タイムアウト（ミリ秒）

発行タイムアウト値を入力するか、 [image] をクリックして環境変数一覧を開きます。ここで発行タイムアウト値として使用する環境変数を選択します。

サーバ証明書ファイル(Server Certificate File)

［ブローカーURL］プロパティ(上記)がSSLに設定された場合、このプロパティはブローカ証明書(PEMフォーマット)のパスを指定します。MQTTコネクタは、ブローカが信頼できるかどうかを判断するためにサーバ証明書を使用します。

ブローカ証明書へのパスを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでのパスとして使用する環境変数を選択します。

セキュリティプロトコル(Security Protocol)

［ブローカURL］パラメータ(上記)がSSLに設定される場合に使用するセキュリティプロトコル。ドロップダウンリストから以下の1つを選んでください：

  • TLSv1.2 (デフォルト)

  • TLSv1.1

  • TLSv1

クライアント証明書ファイル(Client Certificate File)

［ブローカURL］プロパティ(上記)がSSLに設定されて、相互認証が必要な場合、このプロパティはクライアント証明書とプライベートキーアーカイブ(PKCS#12フォーマット)のパスを指定する必要があります。

クライアント証明書パスワード(Client Certificate Password)

クライアント証明書のためのパスワード。

パスワードを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでパスワードとして使用する環境変数を選択します。

MQTTリソースには以下のボタンがあります。

ボタン | 説明
検証 | このボタンは、MQTTブローカとの接続が有効かどうか確認します。接続が確立したか失敗したかを示すメッセージを受け取ります。

Since version:

4.5


MSMQ リソース

MSMQリソースには、以下のパラメータ（太字 のパラメータは必須）があります。

パラメータ

説明

アクセスタイプ(Access Type)

メッセージキューの情報タイプ（キュー情報のフォーマット名）。有効な値は以下の通りです。

  • Direct …… ローカルコンピュータのOSを通してのアクセス。

  • TCP/IP …… TCP/IP接続を通してのアクセス。

  • Public …… キューを各種のメッセージキューアプリケーションで管理します。

  • Private …… キューをローカルマシンからのみ参照できるようにします。

アドレス(Address)

ホストコンピュータのIPアドレス（TCP/IP）、ホスト名(ダイレクトアクセス)、もしくはGUID（プライベート）。［アクセスタイプ］が Public の場合のみ、ここを空白にできます。

アドレスを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでアドレスとして使用する環境変数を選択します。

アドレスもしくはTCP/IPアドレスが正しくなくても、フローの実行時にエラーは発行されません。


Notes DB リソース

Notes DB リソースには、以下のパラメータ（太字 のパラメータは必須）があります。

パラメータ

説明

ホスト名(Host Name)

Notes DB ホスト名を入力します。

ユーザID(User ID)

ユーザIDを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでユーザIDとして使用する環境変数を選択します。

パスワード(Password)

ユーザIDに対応するパスワードを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでパスワードDとして使用する環境変数を選択します。パスワードは大文字/小文字を区別します。

環境変数として入力されたパスワードはアスタリスク(*)でマスクされます。

データベースファイル名(Database Filename)

データベースファイル名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでデータベースファイル名として使用する環境変数を選択します。

リモートアクセス(Remote Access)

Notes DBサーバのリモートアクセスが可能かどうかを指定します。Yesを選択した場合、SSLフィールドが有効になります。

SSL

DominoサーバのリモートアクセスがSSLをサポートするかどうかを指定します。リモートアクセスフィールドでYesを選択した場合、このフィールドが有効になります。

Notes DBリソースには以下のボタンがあります。

ボタン | 説明
検証 | このボタンはNotes DBサーバへの接続が有効かどうかを確認します。接続が確立したか失敗したかを示すメッセージを受け取ります。
DBリスト | 有効なデータベースの一覧へアクセスできます。


OData リソース

ODataリソースを使用すると、ユーザーはODataサービスの詳細を構成できます。 ユーザーは、サービスのルートURLを設定し、追加のメタデータヘッダーを提供し、サービスにアクセスするための認証メカニズムを選択できます。 ユーザーは、サービスによって提供されるアノテーションを追加することもできます。

これらのODataアノテーションは、行の数、コンテキスト、または追加の操作を実行するためにアクセスできるエンドポイントへのリンクなど、ODataサービスから取得されるデータに関する追加情報を提供します。 アノテーションはOData応答データの一部であり、識別のために@odata接頭辞が付いています。

インスタンスレベルと行レベルのアノテーションは、それぞれGet AnnotationsプロパティとGet Row Annotationsプロパティに追加できます。

OData リソースには、以下のパラメータ（太字 のパラメータは必須）があります。

パラメータ

説明

ルート URL(Root URL)

ODataサービスのルートURL。

必要なルート URLを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでルート URLとして使用する環境変数を選択します。

メタデータヘッダ(Metadata Headers)

ODataサービスのメタデータを取り出すためのHTTPヘッダ。［ヘッダ］ボタン（以下）をクリックして必要なHTTPヘッダ情報を入力します。

このフィールドは、リソース内でのみ有効で、実行中は利用できません。

Authentication Type

これはコンボボックスです。 ドロップダウンリストから必要な認証タイプを選択します。

  • None (デフォルト)

  • Basic

  • Digest

  • Windows

Since version: 4.7.2

User

ODataリソースを認証するためのユーザ名。

ユーザ名を入力するか、 [image] をクリックして環境変数一覧を開くことができます。ここでは、ユーザ名として使用する環境変数を選択できます。

Password

ODataリソースを認証するためのパスワード。

パスワードを入力するか、 [image] をクリックして環境変数一覧を開くことができます。ここでは、パスワードとして使用する環境変数を選択できます。

環境変数として入力されたパスワードはアスタリスクでマスクされています。

Workstation

リクエストを出したコンピューターのワークステーション名。

これは、Authentication Typeパラメータ（上記）でWindowsを選択した場合にのみ使用可能です。

Domain

ODataリソースの認証に使用されるドメイン。

これは、Authentication Typeパラメータ（上記）でWindowsを選択した場合にのみ使用可能です。

Get Annotation

これらは、エンティティレベルまたはストリームレベルの注釈です。 それらはエンティティのルートレベルで適用できます。 データマッパーの下では、ルートレベルの注釈要素の下に表示されます。 ここでは、複数の注釈をコンマ区切り値として追加できます。 注釈を追加する際、@ odata接頭辞を追加しないでください。

使用可能なデフォルトのアノテーションは、カウントとコンテキストです。 これらはオプションであり、ユーザーが削除できます。

(Since version: 4.13)

row Annotation

これらは行レベルのアノテーションです。 それらは、取得されるエンティティの各行に適用されます。 データマッパーでは、行要素の子となるrowAnnotations要素の下に表示されます。 ここでは、複数の注釈をコンマ区切り値として追加できます。 アノテーションを追加する際、@ odata接頭辞を追加しないでください。

利用可能なデフォルトのアノテーションはetagとidです。 これらはオプションであり、ユーザーが削除できます。

(Since version: 4.13)

Odataリソースには以下のボタンがあります。

ボタン

説明

メタデータの取得

ODataサービスのメタデータを取り出す場合は、このボタンをクリックしてください。

ODataサービスがクラウド上で実行されている場合は、ODataサービスのメタデータを取得するために、TLS 1.2関連の設定を構成する必要があります。これを行うには、.NET FrameworkがTLS 1.2をサポートするように設定されていることを確認してください。

.NET 4.0は、デフォルトでTLS 1.2を有効にしません。TLS 1.2をデフォルトで有効にするには、次の手順を実行してくだい。

次の2つのレジストリキーで、SchUseStrongCrypto（DWORD）の値を1に設定します。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319

エンティティ

このボタンをクリックすると、エンティティ一覧が開きます。ここで、必要なODataエンティティを選択します。

エンティティの選択に先がけて、［メタデータの取得］ボタン(上記)をクリックしてメタデータを取り出す必要があります。

ヘッダ

このボタンをクリックすると、［ヘッダ］ダイアログボックスが開きます。ここで、ODataサービスのメタデータを取り出すためにHTTPヘッダを提供することができます。ヘッダには、改行されたキー値のペアとして入力する必要があります。

例：

Authorization: Bearer TXkgQWNjZXNzIFRva2Vu
Accept: application/json

Since version:

4.6


エンティティ一覧

  • リストからエンティティを選択し、［OK］をクリックしてください。有効なすべてのエンティティを選択する場合は、左上のチェックボックスを選択して。

  • エンティティリストをリフレッシュする場合は、［リフレッシュ］をクリックしてください。

  • 選択をせずにエンティティリストを閉じる場合は、［取消］をクリックしてください。


OPC UA リソース

OPC UAリソースには、以下のパラメータが含まれています（太字のパラメータは必須）。

パラメータ | 説明
サーバー | 必要なOPCサーバーアドレスを入力するか、 [image] をクリックして環境変数リストを開きます。ここでは、サーバーアドレスとして使用する環境変数を選択することができます。
チャンネル | OPCチャンネル名を入力するか、 [image] をクリックして環境変数リストを開きます。ここでは、チャネルとして使用する環境変数を選択できます。 チャネルノードがサーバーから正常に取得されると、リソースが検証されます。
必要な認証 | デフォルト値が False に設定されているコンボボックスです。ドロップダウンメニューから値をTrueに設定すると、リソースを認証します。
ユーザー名 | OPCサーバーで認証操作を実行するために必要なユーザー名の値です。 このフィールドは、[Authentication Needed]パラメータがTrueに設定されている場合に使用できます。
パスワード | OPCサーバーで認証操作を実行するために必要なパスワードの値です。 このフィールドは、[Authentication Needed]パラメータがTrueに設定されている場合に使用できます。
セキュア接続を使用する | デフォルト値が False に設定されているコンボボックスです。ドロップダウン メニューから値を True に設定すると、リソースに安全な接続を使用することができます。
サーバー証明書 | 安全な接続を実行するためのサーバー証明書。 このフィールドは、[セキュア接続の使用] パラメータが True に設定されている場合に使用できます。
クライアント証明書 | 安全な接続を実行するためのクライアント証明書です。 このフィールドは、[安全な接続を使用する] パラメータが True に設定されている場合に使用できます。
クライアント証明書のパスワード | クライアント証明書のパスワードです。このフィールドは、[セキュア接続を使用する]パラメータが True に設定されている場合に使用できます。

OPC UA リソースは、以下のボタンも提供しています。

ボタン | 説明
検証 | このボタンをクリックして、OPCサーバーへの接続が有効であることを確認します。接続が確立されたことを示すメッセージが表示され、接続に失敗した場合はエラーメッセージが表示されます。


RESTクライアント リソース

RESTクライアントリソースは、RESTful APIサーバのURLとサーーによって公開される操作を定義するために使用されます。ユーザは、RESTful APIプロバイダによって公開されるサーバURL、パス、および操作について知識があることを前提としています。ユーザはリソースごとに1つのセキュリティタイプを定義することができます。 リソースは、APIを定義するための1つ以上のパスを持つことができ、各パスに対して、クエリパラメータやヘッダパラメータ、およびフォームパラメータを定義することができます。

RESTクライアント リソースには、以下のパラメータ（太字 のパラメータは必須）があります。

パラメータ

説明

サーバURL(Server URL)

サーバURLは、APIエンドポイントの定義に使用されるベースパスとしても知られています。サーバURLとパスは、Get、PostなどのHTTP操作に対して呼び出すことができる1つのAPIエンドポイントURLを作成します。

RESTサーバのURLを入力するか、 [image] をクリックして環境変数一覧を開きます。ここで、サーバURLとして使用する環境変数を選択することができます。

  • サーバURLは、ドット（.）やスラッシュ（/）で開始したり終了したりしてはいけません。また、サーバURLの一部として次の文字を使用することはできません。[スペース] <> {}です。 \ ^〜＃

  • ホスト名の代わりにIPアドレスを使用してホストにアクセスすると、RESTクライアントのホスト検証機能でエラーが発生します。 ホストの検証をスキップするには、HTTPプロトコルのサフィックスとしてアンダースコア（_）文字を追加します。

例）https_:\\

セキュリティ(Security)

セキュリティタイプは、どのタイプのセキュリティサーバが実装されているかに基づいて使用されます。

これはコンボボックスです。ドロップダウンリストから必要なセキュリティタイプを選択します。

  • None (デフォルト)

  • HTTP-Basic

  • HTTP-Digest

  • OAuth2

ユーザ(User)

ユーザがセキュリティで、HTTP-BasicまたはHTTP-Digestを選択したときにRESTクライアントリソースを認証するためのユーザID。

パスワード（Password)

ユーザがセキュリティで、HTTP-BasicまたはHTTP-Digestを選択したときにRESTクライアントリソースを認証するためのパスワード。

OAuthリフレッシュトークンステータス（OAuth Refresh Token Status）

OAuth認証プロセスが実行されたときにリフレッシュトークンが正常に取得されたかどうかを示します。選択できる値は以下のとおりです。

  • Missing （デフォルト）

  • Available

認証URL(Authorization URL)

認証エンドポイントは、リソースのオーナと対話し、保護されたリソースにアクセスするための承認を取得するために使用されます。

認証URLを入力するか、 [image] をクリックして環境変数一覧を開きます。ここで、認証URLとして使用する環境変数を選択することができます。

アクセストークンURL(Access Token URL)

アクセストークンエンドポイントは、アクセストークンまたはリフレッシュトークンを取得するためにアプリケーションによって使用されます。

アクセストークンのURLを入力するか、 [image] をクリックして環境変数一覧を開きます。ここで、アクセストークンURLとして使用する環境変数を選択することができます。

コールバックURL(Callback URL)

認証URLを介して認証コードを要求すると、コールバックURLがredirect_uriというパラメータの値として渡されます。認証エンドポイントからの応答が成功すると、このURLにリダイレクトされます。

コールバックURLを入力するか、 [image] をクリックして環境変数一覧を開きます。ここで、コールバックURLとして使用する環境変数を選択することができます。

クライアントID(Client Id)

認証を要求するアプリケーションのID。クライアントIDとクライアントシークレットは、認証サーバでのクライアント登録処理時に生成されます。

クライアントIDを入力するか、 [image] をクリックして環境変数一覧を開きます。ここで、クライアントIDとして使用する環境変数を選択することができます。

クライアントシークレット(Client Secret)

認証プロセス中にクライアントIDに提供された秘密の文字列。

クライアントシークレットを入力するか、 [image] をクリックして環境変数一覧を開きます。ここで、クライアントシークレットとして使用する環境変数を選択することができます。

スコープ(Scope)

スコープが定義されており、OAuthアクセス/リフレッシュトークンを取得している間にスコープが送信されることが期待されている場合は、スコープはオプションになります。

スコープを入力するか、 [image] をクリックして環境変数一覧を開きます。ここで、スコープとして使用する環境変数を選択することができます。

State

一部のRESTエンドポイントでは、OAuth2プロセス中にStateパラメーターの指定が必要な場合があります。 このパラメーターは通常、より安全な認証システムである場合に必要です。 パラメータに必要な状態値が不足しているか正しくない場合、OAuth2認証に失敗する可能性があります。 これはクロスサイトリクエストフォージェリ（CSRF）を防ぐために必要です。

(Since version: 4.13)

クライアント証明書の要求

クライアント証明書の認証を有効にするには、ドロップダウンメニューからYesを選択します。クライアント証明書は、サーバーでクライアントのIDを検証するために使用されます。

デフォルト値はNoです。

(Since version: 4.13.4)

クライアント証明書タイプ

証明書のタイプを選択します。サポートされているフォーマットは次の通り。:

  • JKS (Java Key Store) – デフォルト

  • p12/pfx

このパラメータは上記「クライアント証明書の要求」がYesの場合にのみ有効です。

クライアント証明書ファイル

「クライアント証明書タイプ」で選択した形式に従って、クライアント証明書へのパスを指定します。

このパラメータは上記「クライアント証明書の要求」がYesの場合にのみ有効です。

クライアント証明書パスワード

クライアント証明書のパスワード

このパラメータは上記「クライアント証明書の要求」がYesの場合にのみ有効です。

RESTクライアント リソースには以下のボタンがあります。

ボタン

説明

アクセストークン

セキュリティでOAuth2が選択されている場合、このボタンをクリックしてアクセス/リフレッシュトークンを取得します。

ボタンをクリックすると、OAuth認証プロセスが開始されます。このプロセスにより、ユーザはブラウザウィンドウの承認付与ページに移動し、そこでユーザIDとパスワードを使用してログインすることができ、RESTコンポーネントがOAuth承認ウィンドウのリソースにアクセスできるようにするためのアクセス付与が提供されます。このプロセスでは、次のパラメータが使用される認可コードとして認可タイプを使用します。

  • Authorization URL

  • Access Token URL

  • Callback URL

  • Client ID

  • Client Secret

  • Scope(オプション)

ユーザはこれらの値を入力し、プロバイダからアクセストークンを取得するために［トークン作成］ボタンをクリックする必要があります。この操作が完了すると、OAuth Refresh Token Statusパラメータ（上記）はAvailableに設定されます。

パス

RESTクライアントによって使用されるパスを定義します。ユーザは、各パスのクエリパラメータやヘッダパラメータ、フォームパラメータを追加または削除することができます。

このボタンをクリックすると、［パス設定］ウィンドウが開きます。詳細は、こちらをクリックしてください。

Since version:

4.9


REST クライアントパスの設定

パスはRESTful URLの一部です。完全なRESTful API呼び出しURLを形成するために、他のパラメータと一緒にパスがサーバURLに追加されます。

パスボタンをクリックすると、2つのペインを持つウィンドウが開きます。

左側のペインでは、ユーザはパス名を追加および削除することができます。ユーザは、パスパラメータの名前を中括弧（{}）で囲むことで、ダイナミックなパスパラメータを定義することができます。たとえば、Product/{id}/customersです。ユーザはデータマッパーで動的パスパラメータの値を設定することができます。

  • 次の文字は使用できません、[スペース] [space] < > | \ ^~ # %。

  • パスパラメータは{}で囲む必要があります。

  • パーセント（%）の文字はサーバURLに使用することができます。

右側のペインでは、ユーザはクエリパラメータやヘッダパラメータ、フォームパラメータを設定することができます。ここで、ユーザは上下の矢印キーを使用してパラメーターを選択し、値を編集することができます。

OKボタンをクリックすると設定は完了し、キャンセルボタンをクリックすると設定は中止されます。

1.クエリパラメータ：

[クエリパラメータ]タブでは、ユーザは次のパラメータを表示および設定することができます。

パラメータ | 説明
名前 | クエリパラメータ名を入力します。
デフォルト値 | デフォルト値を入力します。

追加ボタンをクリックすると、新しい[クエリパラメータ]行が追加されます。

削除ボタンをクリックすると、強調表示されている[クエリパラメータ]行が削除されます。

2.ヘッダパラメータ：

[ヘッダパラメータ]タブでは、ユーザは次のパラメータを表示および設定することができます。

パラメータ | 説明
名前 | クエリパラメータ名を入力します。
デフォルト値 | デフォルト値を入力します。

追加ボタンをクリックすると、新しい[ヘッダパラメータ]行が追加されます。

削除ボタンをクリックすると、強調表示されている［ヘッダパラメータ］行が削除されます。

3.フォームパラメータ - リクエスト：

[フォームパラメータ - リクエスト]タブでは、ユーザは次のパラメータを表示および設定することができます。

パラメータ

説明

名前

フォームパラメータ - リクエスト名を入力します。

パートタイプ

これは複数選択のグリッドフィールドです。 をクリックするとパートのタイプが開きます。

サポートされているパートのタイプは次のとおりです。

  • Attachment

  • Text

パーツタイプで[Attachment]が選択されている場合は、添付ファイルのフォルダへのパスをデータマッパーで指定する必要があります。ユーザは、RESTClientステップを設定しながら、データマッパーで添付ファイルの値をマップすることができます。

データマッパーでフィールドをマッピングするときは、フィールドのタイプが文字型なので、実際の添付ファイルバイナリ（Blob）の内容ではなく、添付ファイルの場所のファイルパスを指定する必要があります。

Content-Type

これは複数選択のグリッドフィールドです。 をクリックするとコンテンツタイプが開きます。ユーザは他のコンテンツタイプを追加または削除することもできます。

サポートされているコンテンツタイプは次のとおりです。

  • Application/pdf

  • Application/json

  • Application/xml

  • Image/jpeg

  • Image/png

  • Multipart/form-data

  • Text/plain

  • Text/html

  • Text/xml

エンコーディング

これは複数選択グリッドフィールドです。 をクリックするとエンコードが開きます。ユーザは他のエンコーディングを追加または削除することもできます。

サポートされているエンコーディングは次のとおりです。

  • Binary

  • UTF-8

追加ボタンをクリックすると、新しい[フォームパラメータ - リクエスト]行が追加されます。

削除ボタンをクリックすると、強調表示されている［フォームパラメータ - リクエスト］行が削除されます。

4.フォームパラメータ - レスポンス：

[フォームパラメータ - レスポンス]タブでは、ユーザは次のパラメータを表示および設定することができます。

パラメータ

説明

名前

フォームパラメータ - レスポンス名を入力します。

パートタイプ

これは複数選択のグリッドフィールドです。クリックするとパートのタイプが開きます。

サポートされているパートのタイプは次のとおりです。

  • Attachment

  • Text

パーツタイプで[Attachment]が選択されている場合は、添付ファイルのフォルダへのパスをデータマッパーで指定する必要があります。ユーザは、RESTClientステップを設定しながら、データマッパーで添付ファイルの値をマップすることができます。

データマッパーでフィールドをマッピングするときは、フィールドのタイプが文字型なので、実際の添付ファイルバイナリ（Blob）の内容ではなく、添付ファイルの場所のファイルパスを指定する必要があります。

Content-Type

これは複数選択のグリッドフィールドです。 をクリックするとコンテンツタイプが開きます。ユーザは他のコンテンツタイプを追加または削除することもできます。

サポートされているコンテンツタイプは次のとおりです。

  • Application/pdf

  • Application/json

  • Application/xml

  • Image/jpeg

  • Image/png

  • Multipart/form-data

  • Text/plain

  • Text/html

  • Text/xml

エンコーディング

これは複数選択グリッドフィールドです。 をクリックするとエンコードが開きます。ユーザは他のエンコーディングを追加または削除することもできます。

サポートされているエンコーディングは次のとおりです。

  • Binary

  • UTF-8

ユーザは、REST クライアントのステップを追加した後に、データマッパーの［宛先］ペインにあるフォームパラメーターのデフォルト値を上書きすることができます。

追加ボタンをクリックすると、新しい[フォームパラメータ - レスポンス]行が追加されます。

削除ボタンをクリックすると、強調表示されている[フォームパラメータ - レスポンス]行が削除されます。

  • ユーザが既存のステップを選択してパラメータウィンドウを開くまで、リソースのクエリおよびヘッダのパラメーターを変更しても、既存のステップでは自動的に更新されません。

  • ステップの作成後に既存のクエリおよびヘッダパラメータ値が変更された場合、その変更は既存のステップには反映されません。

  • フォームパラメータがリソースレベルで変更されている場合は、既存の手順でスキーマを更新する必要があります。

Since version:

4.9


Salesforce リソース

Salesforce リソースには、以下のパラメータ（太字 のパラメータは必須）があります。

パラメータ

説明

エンドポイントURL(Endpoint URL)

Salesforce組織へのログイン上のエンドポイントURL。デフォルト値は、https://login.salesforce.com です。

エンドポイントURLを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでエンドポイントURLとして使用する環境変数を選択します。

Since version: V4.5

OAuthリフレッシュトークンステータス(OAuth Refresh Token Status)

Salesforceの認可処理を実行した時、リフレッシュトークンの取得が成功したかどうかを示します。

有効な値は以下の通りです：

  • Missing (デフォルト)

  • Available

Since version: V4.5

フィールド切捨て許可(Allow Field Truncation)

Salesforce（API 15.0から)では、関連したフィールド定義のために大き過ぎる値が指定されると処理は失敗します。そして、STRING_TOO_LONGの障害コードが返されます。SalesforceのAllowFieldTruncationHeaderのプロパティは、この動作を制御します。フィールド切捨て許可が定義されると、Magic xpi.を通してAllowFieldTruncationHeaderプロパティの動作を定義することができます。

ドロップダウンリストから以下のどれかを選択してください：

  • Yes（デフォルト) …… フィールド定義より大きい場合、値は切り捨てられます。これによって実行時にエラーが発生し、次の処理が失敗することを回避します。これはまた、V3.2 SP1以前（Salesforce API 12.0)で開発されたプロジェクトとの下位互換性が可能になります。

  • No …… フィールド値を切り捨てません。実行時にエラーが返され、処理が失敗します。

同じプロジェクトでこれらの両方を使用する必要がある場合、このプロパティが異なるだけの 2つのリソースを定義しなければなりません。

Salesforce リソースには以下のボタンも利用できます。

ボタン | 説明
検証 | このボタンはSalesforceサーバへの接続が有効かどうか確認します。接続が確立したか失敗したかを示すメッセージを受け取ります。
OAuth2 | OAuth2フローのために設定されたブラウザウィンドウを開くには、このボタンをクリックしてください。このブラウザで、Salesforce証明書を入力しSalesforce認可処理を完了してください。これが成功したら、［OAuthリフレッシュトークンステータス］パラメータ(上記)は、有効に設定されます。［検証］ボタン(上記)をクリックして、Salesforceサーバとの接続が有効であることを確認することができます。

関連トピック

Salesforceトラブルシューティング


SAP A1 リソース

SAP A1 リソースには、以下のパラメータ（太字 のパラメータは必須）があります。

パラメータ

説明

SAP ホスト名(SAP Host Name)

SAP A1ホスト名はサーバ間の通信を可能にします。数値、文字、マイナス記号(-)から構成される文字列です。マイナス記号を最後の文字として使用することはできません。ホスト名は大文字小文字の区別がありません。

ホスト名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでホスト名として使用する環境変数を選択します。

SAP システム番号(SAP System Number)

ホストが設定されたシステムを特定するためにシステム番号が使用されます。

SAP クライアント番号(SAP Client Number)

SAP A1 システムはクライアント情報を隠して保持するためにクライアントを3桁のクライアント番号で特定します。

クライアント番号を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでクライアント番号として使用する環境変数を選択します。

SAP ユーザ名(SAP User Name)

SAP A1システムではユーザ名で識別されます。

ユーザ名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでユーザ名として使用する環境変数を選択します。

SAP パスワード(SAP Password)

SAP A1システムでは、パスワードであなた本人であることを認証します。

パスワードを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでパスワードとして使用する環境変数を選択します。

環境変数として入力されたパスワードはアスタリスク(*)でマスクされます。

SAP ルータ文字列(SAP Router String)

ルータ文字列によりアプリケーションサーバに接続できます。

ルータ文字列を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでルータ文字列として使用する環境変数を選択します。

SAP 言語(SAP Language)

SAP A1データに使用される言語を選択します。このフィールドは取り出されるXMLファイルのキャラクター設定を定義します。デフォルト言語はEnglishです。

SAP コードページ(SAP Codepage)

SAP A1サーバに接続する時に使用されるコードページ。

SAP Unicode システム(SAP Unicode System)

ターゲットのSAP A1サーバがUnicodeを使用するかどうかを指定します。デフォルト値はNoです。

Unicode サポート(Unicode Support)

SAP A1のデータがどのようにMagic xpiに流し込まれるかを管理します。

  • Yes ……　SAP A1から受け取るXMLはUnicodeになります。これにより一つのXML上で複数の文字を扱えます。

  • No(デフォルト)　……　AP A1から受け取るXMLはSAP コードページプロパティに準拠したANSI形式になります。

SAP トレース(SAP Trace)

SAP RFC トレースを使用するかどうかを指定します。デフォルト値はNoです。

接続プールサイズ(Connection Pool Size)

SAP A1サーバに対するオープンされた接続の総数を定義します。デフォルトは、5です。

接続数を入力するか、 [image] をクリックして環境変数一覧を開きます。ここで接続プールサイズとして使用する環境変数を選択します。

SAP A1 リソースでは以下のボタンも利用できます。

ボタン | 説明
検証 | このボタンはSAP A1サーバへの接続が有効かどうか確認します。接続が確立したか失敗したかを示すメッセージを受け取ります。


SAP B1 リソース

このセクションはSAPB1 2004、SAPB1 2005、とSAPB1 2007そして SAPB1 8.8に関係しています。

SAPB1 リソースには、以下のパラメータ（太字 のパラメータは必須）があります。

パラメータ

説明

サーバ(Server)

SAP Business One のカンパニーサーバ名を入力します。これはSAP Business One のカンパニーデータベースが物理的に置かれているマシンの名前です。

例：Server1 または (local) または 10.1.2.3.

をクリックして環境変数一覧を開きます。ここでサーバ名として使用する環境変数を選択します。

カンパニーデータベース(Company Database)

SAP Business One のカンパニーデータベース名を入力します。

例： SBODemo_US.

をクリックして環境変数一覧を開きます。ここでデータベース名として使用する環境変数を選択します。

ユーザ名(User Name)

SAP Business One ログインユーザ名を入力します。

例： manager.

をクリックして環境変数一覧を開きます。ここでユーザ名として使用する環境変数を選択します。

パスワード(Password)

SAP Business One ユーザパスワード。

例： manager.

をクリックして環境変数一覧を開きます。ここでパスワードとして使用する環境変数を選択します。

環境変数として入力されたパスワードはアスタリスク(*)でマスクされます。

ライセンスサーバ(License Server)

ライセンスサーバは SAP Business Oneのユーザとライセンスを管理します。SAP Business Oneライセンスサーバマシン名、コロン、サプライセンスサーバのポート番号を入力します。 ポート番号はSAPB1 2005および 2007および8.8でのみ必要です。例： localhost:30000 (30000 はSAPB1 2005または2007および8.8のデフォルトポート番号)

をクリックして環境変数一覧を開きます。ここでライセンスサーバのホスト名として使用する環境変数を選択します。

言語(Language)

SAP Business Oneデータに使用される言語を選択します。この項目は取り出されるXMLファイルのキャラクタセットを指定します。

DB サーバタイプ(DB Server Type)

ドロップダウンリストから以下のいずれかのデータベースサーバを選択します。

  • MSSQL (デフォルト)

  • MSSQL 2005 (SAP B1 2004では使用できません)

  • MSSQL 2008 (SAP B1 2004、またはSAP B1 2005では使用できません)

  • MSSQL 2012 (SAP B1 2004、またはSAP B1 2005、SAP B1 2007では使用できません) Since version: 4.0a

  • HANA DB Since version: 4.5a

ISAP HANAトリガを使用したい場合、［ODBCデータソース管理者］ダイアログボックスに定義されている、ODBC接続文字列を取得し、それを［SAPB1 マルチMultiリソースリスト］の［接続プロパティ］カラムに入力する必要があります。

Windows 認証(Windows Authentication)

SAP Business One カンパニーオブジェクトがWindows 認証を使用するかどうかを定義します。ドロップダウンリストから以下のいずれかを選択します。

  • No (オブジェクトは内部SQLサーバを使用します)

  • Yes

DB ユーザ名 （DB User Name：Windows 認証 が Yes の場合は無効です。 )

SAP Business One カンパニーデータベース接続に使用するユーザ名。

ユーザを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでユーザとして使用する環境変数を選択します。

DB パスワード（DB Password ：Windows 認証 が Yes の場合は無効です。)

SAP Business One カンパニーデータベース接続に使用するユーザパスワード。

パスワードを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでパスワードとして使用する環境変数を選択します。

環境変数として入力されたパスワードはアスタリスク(*)でマスクされます。

DI API バージョン（DI API Version）

Magic xpiは、一つのプロジェクト内で複数のSAP Business OneデータインターフェースのAPIバージョンの使用をサポートします。例えば、同じプロジェクトから、以下のことが可能です：

  • Magic xpiと同じPCにインストールされたSAP Business One 8.8 DI APIで動作させる。

  • リモートサーバ上の異なるSAP Business One company（つまりSAP Business One 2005 DI APIが実行しています）に接続する。

このパラメータは、指定したSAPB1リソースを使用して動作させたいDI APIバージョンを定義することができます。ただし、PC上にインストールされている場合に限定されます。

たとえば、SAP Business One 2005 DI APIで動作したい場合、このパラメータに"2005.0"を入力しなければなりません。

DI値は、レジストリのSAPbobsCOM.Company.Xキーの配下に定義されています。Xはバージョンを表しています。

このパラメータのデフォルト値は、空白です。これは、リソースが、使用しているSAPインストレーションによって定義されるデフォルトDI APIを使用することを意味しています。デフォルトDI値は、レジストリのSAPbobsCOM.Companyキーの配下に定義されています。

  • 使用したいDIバージョンを常に指定するべきで、デフォルト値を信頼しないでください。

  • DI API dllファイルとして、DI APIに接続するSAP Business Oneのバージョンを合わせることを推奨します。不適当な組合せになった場合、DI API dllファイルをリモートのSAP Business Oneサーバからコピーすることができ、Magic xpiがインストールされた場所で使用します。

SAPB1 リソースには以下のボタンも利用できます。

ボタン | 説明
検証 | このボタンはSAPB1サーバへの接続が有効かどうか確認します。接続が確立したか失敗したかを示すメッセージを受け取ります。

理論的には無限にSAPデータベースを定義できますが、実際には使用するライセンス数によって制限されます。このため、以下のように動作します。

  • ライセンスによって制限されているデータベース接続数を超えた場合は、エラーメッセージが表示されます。

  • Magic xpi接続は、接続リストの順番に使用されます。制限数を超えた接続は処理されません。


SAP ERP リソース

SAP ERP リソースには、以下のパラメータ（太字 のパラメータは必須）があります。

パラメータ

説明

ローカルエージェント

リソースを ローカルエージェント の一部として動作させるには、この値を True にします。

デフォルト値は False です。

LA名

このリソースに基づくステップが起動しようとしているローカルエージェントの名前。

このパラメータは、ローカルエージェントの値がTrueに設定されている場合にのみ使用できます。

開発時のLA使用

Trueに設定すると、SAPERPリソースは検証およびその他の補助アクション等すべての要求を、SAPERPサーバーに直接アクセスする必要なくローカルエージェントを介してルーティングします。これは通常、Studioがクラウドにあるか、またはネットワークアクセスが制限されている環境で実行されている場合に役立ちます。

このパラメーターは、ローカルエージェントパラメーター（上記）の値がTrueに設定されている場合にのみ使用できます。

Since version: 4.13.4

接続タイプ

SAP ERP リソースが使用する接続タイプを決定します。ドロップダウンリストから次のいずれかを選択します。

  • アプリケ－ションサーバ（デフォルト）…… SAP ERP サーバに直接接続できるようにします。

  • メッセージサーバ …… SAP ERP サーバーに直接接続します。SAP ERP クラスタリングアーキテクチャを使用できるようにします。

SAP ホスト名

SAP ERPのホスト名は、サーバー同士の通信を可能にします。これは、数字、文字、マイナス記号（-）で構成されたテキスト文字列です。マイナス記号を最後の文字として使用することはできません。また、ホスト名は大文字と小文字を区別しないことにも注意が必要です。

ホスト名を入力するか、 [image] をクリックして環境変数リストを開きます。ここでは、ホスト名として使用する環境変数を選択することができます。

ポート

メッセージサーバーのポート名です。

ポート名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでは、ポート名として使用する環境変数を選択できます。

このパラメータは、［接続タイプ］パラメータ（上記）で［メッセージサーバ］を選択した場合にのみ使用できます。

グループ

SAP ERP アプリケーションサーバーのグループ名です。

グループ名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでは、グループ名として使用する環境変数を選択できます。

このパラメータは、［接続タイプ］パラメータ（上記）で［メッセージサーバ］を選択した場合にのみ使用できます。

SAP システム番号

システム番号は、ホストが設定されているシステムを識別するために使用します。クライアント番号を入力するか、 [image] をクリックして環境変数を選択します。

SAP クライアント番号

SAP ERP システムでは、3 桁のクライアント番号を使用してクライアントを識別するため、そのクライアントに関する情報を安全に保持することができます。

クライアント番号を入力するか、 [image] をクリックして環境変数リストを開きます。ここでは、ホスト名として使用する環境変数を選択することができます。

SAPユーザー名

ユーザー名は、SAP ERP システムに対して自分を識別します。ユーザー名を入力するか、 [image] をクリックして 環境変数リストを開きます。ここでは、ユーザ名として使用する環境変数を選択できます。

SAP パスワード

パスワードは、SAP ERP システムへの身元を確認します。

パスワードを入力するか、 [image] をクリックして環境変数リストを開きます。ここでは、パスワードとして使用する環境変数を選択できます。

環境変数として入力されたパスワードは、アスタリスクでマスクされます。

SAP ルータ文字列

ルーター文字列を使用すると、アプリケーションサーバーへの接続が可能になります。ルーター文字列を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでは、ルータのデータ文字列として使用する環境変数を選択できます。

セキュアなネットワーク接続を使用する

セキュアネットワーク接続（SNC）を介した通信を有効にします。ドロップダウンリストから以下のいずれかを選択します。

  • Off (既定)

  • On

SNC名

SNC名。これは、デフォルトのSNCパートナーよりも優先されます。

SNC名を入力するか、を [image] クリックして環境変数リストを開きます。ここで、SNC名として使用する環境変数を選択できます。

このパラメータは、[セキュアなネットワーク接続を使用する] パラメータ (上記) が [On] に設定されている場合にのみ使用できます。

SNCパートナー

SNCの相手先。例えば、p:CN=ECC6, O=MG-INC, C=DEなどです。

SNCパートナーを入力するか、 [image] をクリックして環境変数リストを開きます。ここでは、SNC パートナとして使用する環境変数を選択できます。

このパラメータは、[セキュアなネットワーク接続を使用する] パラメータ (上記) が [On] に設定されている場合にのみ使用できます。

SNCセキュリティレベル

SNC のセキュリティレベルを 1 から 10 の範囲で指定します。既定値は3です。

SNCセキュリティレベルを入力するか、 [image] をクリックして環境変数リストを開きます。ここで、SNC セキュリティレベルとして使用する環境変数を選択できます。

このパラメータは、[セキュアなネットワーク接続を使用する] パラメータ (上記) が [On] に設定されている場合にのみ使用できます。

SNC ライブラリパス

SNC ライブラリへのパス。たとえば、C:\SNC\sapcrypto.dll。

SNC ライブラリのパスを入力するか、 [image] をクリックして環境変数リストを開きます。ここで、SNC ライブラリのパスとして使用する環境変数を選択できます。

このパラメータは、[セキュアなネットワーク接続を使用する] パラメータ (上記) が [On] に設定されている場合にのみ使用できます。

SAP 言語

SAP ERP データで使用する言語を選択します。このフィールドは、取得した XML ファイルの文字設定を定義します。デフォルトの言語は英語です。

SAP コードページ

SAP ERP サーバに接続する際に使用するコードページです。

SAP Unicode システム

ターゲットの SAP ERP サーバが Unicode を使用しているかどうかを示します。デフォルト値は No です。

Unicode サポート

SAP ERPからMagic xpiへのデータの流れを制御します。ドロップダウンリストから以下のいずれかを選択します。

  • Yes …… SAP ERP から取得した XML は Unicode になります。これにより、同じ XML ファイル内に複数の言語を持つことができます。.

  • No (デフォルト) :…… SAP ERP から取得した XML は、[SAP コードページ]パラメータに基づいて ANSI 形式になります。

SAP トレース

SAP RFC トレースを使用するかどうかを示します。既定値は No です。

接続プールのサイズ

SAP ERP サーバへのオープンな接続の総数を定義します。デフォルトは 5 です。

接続数を入力するか、 [image] をクリックして環境変数リストを開きます。ここでは、接続プールのサイズとして使用する環境変数を選択できます。

接続プールを無効にするには、接続プールのサイズを 0 に設定します。接続は、SAP ERP ステップを使用している新しいスレッドごとに開かれ、スレッドが終了すると閉じられます。

[セッション保持]チェックボックスをオフにすると、ステップの完了時に接続が閉じられます。

SAP ERP リソースには、次のようなボタンもあります。

ボタン | 説明
検証 | このボタンをクリックして、SAP ERP サーバへの接続が有効であることを確認します。接続が確立されたことを示すメッセージが表示され、接続に失敗した場合はエラーメッセージが表示されます。

Magic xpi は、log4j インフラストラクチャをロギングに使用します。

ローカルエージェント互換コンポーネントのロギング設定は、<ローカルエージェントのインストールフォルダ>\LocalAgent\AgentConnector\addons\log4j.xmlファイルに設定されています。

ローカルエージェント対応コンポーネントのロギングを有効にするには、レベル値をoffから任意のレベルに変更してlog4j.xmlを更新してください。ロギングレベルについては、こちらを参照してください。

SAP ERP リソース の ローカルエージェント パラメータの値を True に設定すると、ログはデフォルトで <ローカルエージェントのインストールフォルダ>\LocalAgent\AgentConnector\addons\logs フォルダに作成されます。同じ値をFalseに設定すると、ログは、<Magic xpi のインストールフォルダ>\Runtime\logs\javaフォルダに作成されます。

Since version:4.12


ServiceMaxリソース

ServiceMaxリソース リソースには、以下のパラメータ（太字 のパラメータは必須）があります。

パラメータ

説明

エンドポイントURL

ServiceMaxのエンドポイントURL。このフィールドのデフォルト値は、https://login.salesforce.comです。

必要なエンドポイントURLを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでエンドポイントURLとして使用する環境変数を選択します。

OAuthリフレッシュトークンステータス

Salesforce認可処理を実行した場合に、リフレッシュトークンが完了したことを示します。有効な価値は以下の通りです：

  • Missing (デフォルト)

  • Available

フィールドの切り捨て許可

ServiceMaxにおいて、対応するフィールド定義よりも長すぎるフィールド値が指定された場合、処理は失敗し、STRING_TOO_LONG障害コードが返ります。［AllowFieldTruncationHeader］プロパティはこの動作をコントロールします。［Allow Field Truncation］パラメータは、Magic xpiを通して［AllowFieldTruncationHeader］特性の動作を定義することを可能にします。ドロップダウンリストから以下の1つを選んでください：

  • Yes(デフォルト) …… 入力値がフィールド定義より大きい場合、切り捨てます。これによって、実行時のエラーやその後の処理が失敗することを回避します。これは、3.2SP1以前で開発されたプロジェクトとの互換性のための機能です。

  • No …… 値は切り捨てられません。実行時にエラーが発生し、処理が失敗する場合があります。

同じプロジェクトでこれらの両方の動作をを使用する必要がある場合、［Allow Field Truncation ］パラメータが異なる2つの同じリソースを定義する必要があります。

ServiceMax リソースでは以下のボタンも利用できます。

ボタン | 説明
検証 | このボタンはServiceMaxサーバへの接続が有効かどうか確認します。接続が確立したか失敗したかを示すメッセージを受け取ります。
OAuth2 | OAuth2フローのために設定されたブラウザウィンドウを開くには、このボタンをクリックしてください。このブラウザで、Salesforce証明書を入力しSalesforce認可処理を完了してください。これが成功したら、［OAuthリフレッシュトークンステータス］パラメータ(上記)は、有効に設定されます。［検証］ボタン(上記)をクリックして、ServiceMaxサーバとの接続が有効であることを確認することができます。

Since version:

4.6

関連トピック

Salesforceトラブルシューティング


SharePoint リソース

SharePoint リソースには、以下のパラメータ（太字 のパラメータは必須）があります。

パラメータ

説明

ルートサイト(Root Site)

SharePoint のルートサイト名。

必要な名前を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでルートサイト名として使用する環境変数を選択します。

ドメイン(Domain)

SharePoint のドメイン名。

必要なドメイン名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでドメイン名として使用する環境変数を選択します。

ユーザ名(User Name)

SharePoint サーバに接続するためのユーザ名。

必要なユーザ名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでユーザ名として使用する環境変数を選択します。

パスワード(Password)

SharePoint サーバに接続するためのパスワード。

必要なパスワードを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでパスワードとして使用する環境変数を選択します。

サブサイト(Sub Site)

SharePoint サーバのサブサイト名。

必要なサイト名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでサイト名として使用する環境変数を選択します。

ホームサイトに接続している場合は、このパラメータを空白のままにしてください。

参照： SharepointサブサイトURLを使用する時に、SharepPointリソースが有効になりません。

デプロイメントタイプ(Deployment Type)

使用したいSharePointの配備タイプを定義します。ドロップダウンリストからの以下のどれかを選択します：

  • On Premise (デフォルト)

  • OnDemand

このパラメータが空白の場合、デフォルト値の"オンプロミス"が使用されます。

Since version: 4.0a

ADFS

SharePoint認証タイプ。

デプロイメントタイプがOnDemandに設定されている場合、Active Directoryフェデレーションサービス（ADFS）のサポートが有効になります。

Since version: 4.7

SharePoint リソースでは以下のボタンも利用できます。

ボタン | 説明
検証 | このボタンはSharePoint サーバへの接続が有効かどうか確認します。接続が確立したか失敗したかを示すメッセージを受け取ります。
サブサイト | このボタンは、すべてのサブサイトのリストを開きます。一つのサブサイトを選択するか、選択をリセットすることができます。選択をリセットすると、［サブサイト］パラメータ（上記)は空白になり、SharePointリソースはデフォルトのホームサイトに接続します。


サブサイトコレクション

  • リストからSharePointサブサイトを選択し、[選択]をクリックします。

  • SharePointサーバからサブサイトの更新されたリストを取得するには、[再読み込み]をクリックします。

SharePointサーバに追加されたサブサイトが存在しない場合、リストは空として表示されます。

  • 選択しないで[サブサイトコレクション]ウィンドウを閉じるには、[キャンセル]をクリックします。


Sugar リソース

Sugar リソースには、以下のパラメータ（太字 のパラメータは必須）があります。

パラメータ

説明

APIバージョン(API Version)

Sugar コネクタによって使用されるAPIのバージョン。ドロップダウンリストから以下の1つを選択してください：

  • V10+ API (デフォルト)

  • Legacy API

RESTエンドポイント(REST Endpoint)

完全なRESTエンドポイントURL。

例：

V10+APIの場合の構文：http://{site url}/rest/v10/ または http://{site url}/rest/v11_x/

APIの詳細な情報は次のページを参照してください。 official documentation for Sugar CRM.

レガシーAPIの場合の構文：http://{site url}/service/v4_1/rest.php 例：http://myHost/service/v4_1/rest.php

必要なRESTエンドポイントURLを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでRESTエンドポイントURLとして使用する環境変数を選択します。

ユーザ名(User Name)

Sugar サーバに接続するためのユーザ名。

必要なユーザ名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでユーザ名として使用する環境変数を選択します。

パスワード(Password)

Sugar サーバに接続するためのパスワード。

必要なパスワードを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでパスワードとして使用する環境変数を選択します。

キャッシュレベル(Caching Level)

メタデータとログインのキャッシュレベルを定義します。キャッシュが必要となる基本的な想定は、同じデータが何回も必要となることです。従って、データが、ディスクのアクセスを行うことなく再度取り出すことができるのであれば、全体のパフォーマンスが強化されます。ドロップダウンリストから以下の1つを選択してください：

  • Context …… ログインとモジュールのメタデータはコンテキストにわたってキャッシュされます。ログインコンテキストは、フローにおける最初のSugarステップによって作成され、同じリソースによって設定されたコンテキスト内の他のすべてのSugarステップによって使用されます。

  • Engine(デフォルト) …… ログインとモジュールのメタデータは、Magic xpiエンジンの配下で動作しているすべてのコンテキストでキャッシュされます。ログインは、有効でなくなるまで、すべてのコンテキストに対して1回だけ発生します。

このオプションはパフォーマンスを強化し、SugarAPIの呼び出し頻度を下げます。

このパラメータが空白の場合、デフォルト値のエンジンが使用されます。

Platform

Platformの値は、使用されているプラットフォームを示すために、Sugar REST APIに渡されます。Sugarサーバでdisable_unknown_platformsプロパティーがtrueに設定されている場合、ユーザはSugarが承認した既知のプラットフォームの値を指定する必要があります。この値はシステムが生成したプラットフォームの値を上書きします。

必要なプラットフォーム値を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでは、プラットフォームとして使用する環境変数を選択できます。

固定プラットフォーム値は、Sugarサーバへのオープン接続の量を制限するため、同じリソースと並行して複数の操作を実行するとエラーになる可能性があります。

Since version: 4.7.3

Sugar リソースでは以下のボタンも利用できます。

ボタン | 説明
説明 | このボタンはSugarサーバへの接続が有効かどうか確認します。接続が確立したか失敗したかを示すメッセージを受け取ります。


UDDI Server リソース

UDDIサーバは、現在サポートされていません。

UDDI サーバは検索可能なWeb Serviceのリポジトリで、新しく作成したサービスを発行することもできます。このサービスは、Web Serviceの検索やMagic xpiプロジェクトで実行されているWeb Serviceの発行を行なうことができます。Web ServiceリソースでUDDIサーバ内のWSDLを検索できます。[設定]ダイアログボックスの［サービス］セクションの［Web Service］セクションで、UDDIサーバで新しく作成されたサービスを発行することができます。

UDDIサーバリソースには以下のパラメータ（太字 のパラメータは必須）があります。

パラメータ

説明

発行URL(Publish URL)

サービスを発行できるUDDIサービスの名前。他のユーザが新しいサービスを検索し使用することができます。

UDDIサービスの名前を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでサービスの名前として使用する環境変数を選択します。

問合URL(Inquire URL)

検索文字列とワイルドカードを使用して、サービスを検索することを可能にするUDDIサービスの名前。

名前を入力するか、 [image] をクリックして環境変数一覧を開きます。ここで名前として使用する環境変数を選択します。

UDDIユーザ(UDDI User)

検索やサービス発行で使用する認証ユーザ名。

ユーザ名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでユーザ名として使用する環境変数を選択します。

UDDI パスワード(UDDI Password)

検索やサービス発行に使用する認証パスワード

パスワードを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでパスワードとして使用する環境変数を選択します。

環境変数として入力されたパスワードはアスタリスク(*)でマスクされます。


WCFクライアント リソース

WCFクライアント リソースには以下のパラメータ（太字 のパラメータは必須）があります。

パラメータ

説明

サービスURL(Service URL)

WCFサービスのURL。

Endpoint URL

[エンドポイントURL]を使用すると、ユーザはWCFクライアントコネクタを経由してWebサービスを呼び出すときに異なるエンドポイントのURLアドレスを指定することができます。このフィールドに値が指定されている場合、WCFクライアントコネクタのステップの実行中にエンドポイント定義のアドレス属性（client.configurationファイルに格納されている）がエンドポイントURL値に置き換えられます。

エンドポイントURLは、プロジェクト固有の環境変数にマップすることができます。

Since version: 4.8

認証タイプ(Credentials Type)

実行時にWCFClientリソースを認証するための認証タイプ。ドロップダウンリストから以下の1つを選んでください：

  • None (デフォルト)

  • UserName

  • HttpDigest

  • Windows

ユーザ名(UserName)

WCFClientリソースを認証するためのユーザ名。

ユーザ名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでユーザ名として使用する環境変数を選択します。

パスワード(Password)

WCFClientリソースを認証するためのパスワード。

パスワードを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでパスワードとして使用する環境変数を選択します。

環境変数として入力されたパスワードはアスタリスク(*)でマスクされます。

ドメイン(Domain)

WCFClientリソースを認証するために使用されるドメイン。

［認証タイプ］パラメータ(上記)でWindowsが選択された場合に有効です。

WCFクライアント リソースでは以下のボタンも利用できます。

ボタン

説明

サービス設定

Microsoft の［WCF構成エディタ］ツールを呼び出すには、このボタンをクリックしてください。Magic.iniファイルのSvcConfigEditorフラグに割り当てられた値に従ってMagic xpiは［WCF構成エディタ］ツール（SvcConfigEditor.exe）を検索します。エディタが見つからない場合は、Magic.iniファイルのSVCUtilフラグに定義された値に従って検索します。

サービスをロード

このボタンをクリックすると、WSDLサービスに基づいたスキーマと構成ファイルが生成されます。スキーマは、各コントラクトと、指定されたコントラクトに対応する操作に対して生成されます。スキーマファイルは、input、output、およびfaultに対して生成されます。

構成ファイルclient.configは、<プロジェクトフォルダ>\WCFClient\<リソース名>フォルダの配下に作成されます。

スキーマファイルは、次の場所に作成されます。

  • <プロジェクトフォルダ>\WCFClient\<リソース名>\XSD\<コントラクト名>\Fault \

  • <プロジェクトフォルダ>\WCFClient\<リソース名>\XSD\<コントラクト名>\<操作名>\Input \

  • <プロジェクトフォルダ>\WCFClient\<リソース名>\XSD\<コントラクト名>\<操作名>\Output \

  • <プロジェクトフォルダ>\WCFClient\<リソース名>\XSD\<コントラクト名>\<操作名>\Fault\

Since version: 4.8

Since version:

4.5


Web Service クライアントリソース

Web Serviceを利用したい場合、最初に[設定]ダイアログボックスの[リソース]セクションのWeb Serviceパラメータを定義しなくてはなりません。その後、 Web サービスユーティリティをフローエリアにドラッグした時に、このサービスがこれらのパラメータを使用して動作するように設定することができます。

以下のパラメータ（太字のパラメータは必須）を定義することで、Web Serviceクライアントリソースを設定することができます。

パラメータ

説明

WSDL URL

WSDL URL もしくはファイルが存在する場所。例： http://localhost/AsymEncryptPolicyService/AsymEncryptService.asmx?WSDL.

WSDL URLまたはファイルの場所を手動で入力できます。 または、このパラメーターで環境変数を使用できます。

サービスエンドポイントURL(Service Endpoint URL)

このフィールドはWeb Serviceのステップが呼び出すサービスエンドポイントのURLを定義します。例： http://localhost/AsymEncryptPolicyService/AsymEncryptService.asmx

エンドポイントURLを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでエンドポイントURLとして使用する環境変数を選択します。

添付タイプ

使用する添付ファイルのタイプを決定します。 ドロップダウンリストから次のいずれかを選択します。

  • ダイム

  • MIME（デフォルト）

ここで、空白の値は、Webサービスの呼び出しで添付ファイルを送信する必要がないことを示します。

InまたはOut添付ファイルがなく、添付ファイルタイプの値がDimeまたはMimeに設定されている場合、実行時にエラーがスローされます。

タイムアウト

Webサービスクライアントがサービスの応答を待機する時間（秒単位）。 このプロパティを空白のままにするか、ゼロ（0）に設定すると、タイムアウトは無限になります。

WSDL ポート

この値は、Windowの下段にあるWSDLポートボタンをクリックして追加するか、マニュアルで入力します。ポート番号を指定しない場合は、最初に検出されたポートがWeb Service Clientステップのロードプロセスに使用されます。デフォルト値は空白です。

マイグレーションされたリソース

このフィールドは、Webサービスクライアントリソースを持つプロジェクトがMagic xpiの古いバージョンから移行されたかどうかを示します。

プロジェクトの移行時にこのフィールドが表示されない場合は、プロジェクトを再度開いて、更新されたリソースとともにフィールドを確認してください。

Since version:4.12

Web Serviceクライアントリソースでは、以下のボタンも利用できます。

ボタン | 説明
WSDLロード | このボタンをクリックして、WSDLをロードするか、既存のWSDLを再ロードします。 WSDLのロードに失敗すると、エラーメッセージが表示されます.
セキュリティ | このボタンをクリックして、[Webサービスセキュリティの構成]ダイアログボックスを開きます。.
WSDLポート | WSDLには複数のポート定義を含めることができ、それぞれに独自の操作セットと独自のエンドポイントがあります。このボタンをクリックすると、WSDLファイルで利用可能なポートのリストが表示されます。リストからポートを選択すると、ポートの値が WSDL ポートフィールドに入力されます。

(Since version:4.12)


Web Serviceのセキュリティ設定

［セキュリティ] ボタンをクリックすると、以下のパラメータを表示および設定することができます。

パラメータ

説明

セキュリティレベル

ドロップダウンリストから必要なセキュリティレベルを選択します。

  • なし (デフォルト)

  • Transport

  • WS Security

認証方法

ドロップダウンリストから必要な認証タイプを選択します。セキュリティレベルごとに適用されるタイプは以下の通りです。

  • なし

  • Transport

  • なし (デフォルト)

  • Basic

  • Digest

  • SSL

  • Kerberos

  • SSL

  • WS Security

  • なし (デフォルト)

  • Basic

  • Digest

暗号化アルゴリズム

このフィールドは、[セキュリティ レベル] が [WS Security] として選択されている場合にのみ有効になります。

ドロップダウンリストから必要な暗号化アルゴリズムを選択します。サポートされるアルゴリズムによりリストは変わります。

署名アルゴリズム

このフィールドは、[セキュリティ レベル] が [WS Security] として選択されている場合にのみ有効になります。

ドロップダウンリストから必要な署名アルゴリズム を選択します。サポートされるアルゴリズムによりリストは変わります。

タイムスタンプを含める

このフィールドは、[セキュリティ レベル] が [WS Security] として選択されている場合にのみ有効になります。

SOAPメッセージにタイムスタンプを含めたい場合はチェックを入れます。

オペレーション名

この編集不可フィールドには、WSDLで定義されたオペレーションの名前がアルファベット順で並びます。

  • サービスがロードされるまで、［セキュリティ］タブにアクセスすることはできません。

  • 手動でSSL証明書を追加する必要はなくなりました。

  • Magic xpi 4.12のランタイムではKerberos をサポートしていません。


Web Service サーバリソース

Web ServiceサーバリソースはSystinetサーバの接続パラメータを持っています。これらのパラメータはWeb Serviceの実行と停止を行ないます。実行情報はプロジェクトごとではなく、スタジオの設定として保存されます。

Web Serviceサーバリソースには、以下のパラメータ（太字 のパラメータは必須です）があります。

パラメータ

説明

サーバ URL(Server URL)

Web ServiceサーバのURL。例： http://localhost:6060.

URLを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでURLとして使用する環境変数を選択します。

ユーザ名(User Name)

Web Serviceサーバにアクセスするためのユーザ名。例： admin

ユーザ名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでユーザ名として使用する環境変数を選択します。

パスワード(Password)

Web Serviceサーバにアクセスのためのパスワード。例： changeit (デフォルト)

WCFClientリソースを認証するためのパスワード。

パスワードを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでパスワードとして使用する環境変数を選択します。

環境変数として入力されたパスワードはアスタリスク(*)でマスクされます。


WebSphere MQ リソース

WebSphere MQ リソースには、以下のパラメータ（太字 のパラメータは必須です）があります。

パラメータ

説明

キューマネージャー(Queue Manager)

アクセスしたいWebSphere MQマネージャーの名前。

キューマネージャーの名前（例： QManager1）を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでキューマネージャー名として使用する環境変数を選択します。

ユーザID(User ID)

ユーザ名を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでユーザ名として使用する環境変数を選択します。

パスワード(Password)

ユーザーIDに対応したパスワードを入力するか、 [image] をクリックして環境変数一覧を開きます。ここでパスワードとして使用する環境変数を選択することができます。

パスワードは大文字と小文字を区別します。

環境変数として入力されたパスワードはアスタリスク(*)でマスクされます。

  • ユーザーIDとパスワードがWebSphere MQリソースに指定されていない場合、古い接続方法（認証なし）でアクセスします。

  • クライアント/サーバーなどのモードを選択した場合、WMQ認証は必要ありません。

Since version:

4.7


リソースとサービスのインポート

Magic xpiは、以前に作成し保存したリソースとサービスをインポートすることができます。インポートを実行するには、次の2つの異なる方法があります。

  • ［設定］ダイアログボックスの［リソース］または［サービス］セクションに含まれている既存のコンテンツを上書きする。

  • 選択されたリソースまたはサービスをこれらのリポジトリに追加する。

リソースまたはサービスに上書きするには：

  1. ［設定］ダイアログボックスの［リソース］または［サービス］セクションで［ロード］をクリックします。［リソースの読込］または［ロードサービス］のダイアログのどちらかが開きます。

  2. ［ロードリソース］または［ロードサービス］のダイアログで、［ファイル名］フィールドの隣の [image] をクリックし、必要なリソース/サービスのXMLファイルを選択します。手動でリソースまたはサービスをに入力することはできません。ファイルに含まれているリソースまたはサービスは、［リソースエントリ選択］または［サービスエントリ選択］ペインのツリーに表示され、すべてデフォルトで選択されています。これらのエントリ上でパークすると、詳細がツリーの右側に表示されます。

  3. ［オペレーション］ドロップダウンリストから、上書 を選択してください。

  4. XMLを選択後、［ロードリソース］または［ロードサービス］のダイアログの［OK］をクリックします。新しいリソースファイルに含まれている内容で現在のリソース設定を上書きします。.

リソースまたはサービスを追加するには：

  1. ［設定］ダイアログボックスの［リソース］または［サービス］セクションで［ロード］をクリックします。［ロードリソース］または［ロードサービス］のダイアログのどちらかが開きます。

  2. ［ロードリソース］または［ロードサービス］のダイアログで、［ファイル名］フィールドの隣の [image] をクリックし、必要なリソース/サービスのXMLファイルを選択します。手動でリソースまたはサービスをに入力することはできません。ファイルに含まれているリソースまたはサービスが［リソースエントリ選択］または［サービスエントリ選択］ペインのツリーに表示され、どのリソースとサービスのどちらを入力したいかを選択することができます。

  3. ［オペレーション］ドロップダウンリストから、マージ を選択してください。

  4. ［OK］をクリックすることによって、リクエストの読み込みを確認します。選択されたツリーノードの中に重複した内容があれば、［リソース名が重複しています。］または、［サービス名が重複しています。］のダイアログボックスが開きます。ここには、重複したリソース/サービスの内容が一覧表示されます。ここでは、以下のオプションのどれかを選択する必要があります。

  • 上書 …… 選択された既存のリソース/サービスを新しくロードしたものに置き換えます。

  • 別名で作成 …… これは、新しいリソースまたはサービスのエントリ名を入力することで、既存の［リソース］セクションまたは［サービス］セクションへの重複エントリのロードを可能にします。関連するサービスまたはリソースの名前の横にある［名前を指定して作成］カラムに必要な新しい名前を入力してください。［上書］チェックボックス(上記)が選択されていると、これは無効になります。

［リソース名が重複しています。］または、［サービス名が重複しています。］のダイアログボックスのリソースまたはサービスの名前のそばに、［重複］チェックボックスが表示されないかもしれません。インポート手続で重複名を持つリソースまたはサービスを認知し、異なるリソースまたはサービスのタイプが設定されている場合に発生します。

  5. 重複処理の定義を確認し、読込(マージ)処理を開始するには、［リソース名が重複しています。］または［サービス名が重複しています。］のダイアログボックスで［OK］をクリックしてください。

重複処理を終了させ、［ロードリソース］または［ロードサービス］のダイアログに戻すには、［キャンセル］をクリックしてください。

resources.xmlファイルとservices.xmlファイル以外のファイルによって動作するリソースとサービスを入力することができません。このような場合に、このようなファイルを必要な場所に手動でコピーすることを確認しなければなりません。

インポート処理は、既存のresources.xmlとservices.xmlファイルの追加に関連しているデータにのみ追加されます。他のファイルはコピーされません。

Since version:

4.6


サービス

Magic xpiのプロジェクトがプロジェクト実行中にアクセスする必要がある外部システムを定義するために、[設定]ダイアログボックスの［サービス］セクションは中心的な位置に表示されます。これらの外部システム定義は、<プロジェクト名>フォルダ内のXMLファイル(Services.xml)に保存されます。定義は簡単に修正することができ、プロジェクトのリビルドを行う必要はなく、プロジェクト(開発または配備)の任意のステージで有効になります。しかし、そのような部分修正の後に、Magic xpiエンジンを再起動するか、新しくエンジンを起動する必要があります。

Magic xpiの環境変数は、以下の構文でこのダイアログボックス内で使用することができます：%環境変数名%。

異なるプロジェクトであらかじめ決められた環境設定を再利用することで、迅速で容易に実行環境を切り換えることができます。例えば、トリガインタフェースを起動させた場合、［サービス］プロパティを指定する必要があります。これを行うには、［サービス］セクションでサービスを定義し、コンポーネントからそれを参照するようにします。環境変数は、Web サービスコンポーネントではサポートされていないことに注意してください。

いくつかのサービスは、それらの設定の中であらかじめ決められたリソースの証明書を使用することができます。

[設定]ダイアログボックスの［サービス］セクションで以下のサービスを定義することができます：

  • Eメール

  • Exchange

  • File Watcher

  • Flow Enablement

  • FTP

  • HL7

  • HTTP

  • IBM i

  • JMS

  • MQTT

  • MSMQ

  • OData

  • Salesforce

  • SAP A1

  • SAPB1

  • SAP ERP

  • Scheduler

  • ServiceMax

  • Sugar

  • TCPListner

  • Web Services

  • WebSphereMQ

新しいサービスを定義するには：

  1. ［プロジェクト］メニューから［設定］を選択し、［設定］ダイアログを開きます。

  2. [設定]ダイアログボックスの左側のペインで、［サービス］にパークします。

  3. ［追加］をクリックしてください。［新しいサービス］ダイアログボックスが開きます。

  4. ［サービスタイプ］ドロップダウンリストからサービスの1つを選択してください。［サービス名］フィールドで、新しいサービスの名前を入力し、［OK］をクリックしてください。［サービス名］には最高30桁の文字を含めることができ、半角の英数字のみ有効です。

  5. 新しいサービスは[設定]ダイアログボックスの［サービス］セクションまたは、入力した名前の下または同じサービスタイプ名を持つ汎用ファイルに表示されます。

  6. 左側のペインの新しいサービス上でクリックしてください。サービスのパラメータ上のフィールドでサービスのための説明を入力することができます。.

  7. 次に、サービスのパラメータを入力してください。これらのパラメータは、各サービス毎に異なりますコンポーネントをトリガ領域にドラッグすると、ここで定義されるパラメータがコンポーネントの[プロパティ]ペインの［設定］セクションに表示されます。特定のサービスパラメータの詳細については、上のサービスをクリックしてください。

  8. 各サービスには、サービス固有の追加ボタンがあり、サービスの設定に使用されます。これらのボタンについての詳細は上のサービスの説明を参照してください。

  9. サービスの定義を終了したら［適用］または［OK］をクリックしてサービスを保存しダイアログボックスを閉じます。サービスの内容を保存せずにダイアログボックスを閉じることもできます。

サービス上で右クリックすると、以下のオプションを持つコンテキストメニューが開きます。

  • 削除

  • リネーム

  • デフォルトとして選択 …… 特定のサービスタイプの下で複数のサービスを作成した場合、これらのサービスの1つをそのタイプのためのデフォルトサービスとして定義するオプションを選択します。デフォルトサービスは、プロジェクトで使用されるタイプの任意の新しいトリガに対して自動的に選択されます。 デフォルトではないサービス上で右クリックした場合、このオプションが有効になります。デフォルトサービスは、太字で表示されます。

[設定]ダイアログボックスの左側のペインの［サービス］でパークすると、［読込］ボタンが有効になります。サービスファイルを入力するには、このボタンをクリックしてください。既存のエントリに上書きするか、マージすることができます。詳細については、ここをクリックしてください。

Magic xpiは定義されたサービスを2つの個別のXMLファイルに保存します。これらは以下の通りです：

  • Services.xml ファイル …… 各新規委プロジェクトは、Services.xmlテンプレートファイルをコピーし、<Magic xpiインストールフォルダ>\Studio\Templates\ProjectTemplates\Magic xpi\Magic xpi Project\Magic xpi Project.zipファイルに位置付け、プロジェクトフォルダにファイルを置きます。そして、各プロジェクトのための設定は、プロジェクトフォルダ内のServices.xmlファイルを修正します。Magic xpiのインストールフォルダ内にあるファイルを選択する代わりに、プロジェクト内の異なる位置でServices.xmlファイルを使用してプロジェクトを設定することができます。

  • service_types.xmlファイル …… このファイルは、一般的な事前に定義されたサービスタイプ定義を保持し、Runtimeフォルダ内のMagic xpiのインストールフォルダに保存されます。各Magic xpiスタジオのインストールに対してサービスタイプ定義のファイルは1つしかありません。.

  • サービスは、%currentprojectdir%Service フォルダ内に作成されます。

  • サービスファイルは、それらをサービスと認定するルート要素上の属性によって保存されます。


DBトリガーサービス

トリガーサービスは、データベーストリガーを使用してデータベース内のCRUD操作をキャプチャするメカニズムを提供します。ユーザーは、選択したデータベースの複数のテーブルの作成、更新、削除イベントをキャプチャし、これらのイベントに基づいてフローをトリガーできます。

このため、ユーザーはデータベース接続の詳細を提供し、作成、更新、および削除イベントをキャプチャする必要があるテーブルを追加する必要があります。 イベントの下に複数のテーブルをグループ化できます。 これらのイベントは、フローに定義されたトリガーによって使用されます。

DB Triggerサービスには、次のパラメーターが含まれています。 太字のパラメーターは必須です。

パラメータ

説明

JDBC URL

データベースに接続するためのJDBC URLを入力します。 JDBC URLは、環境変数を使用して選択することもできます。

JDBC URLには、データベースサーバーのJDBC URLが含まれている必要があります。オプションで、データベース名、ユーザー名、パスワードを必要な形式で含めることができます。

MySQLデータベースのスキーマ名に英文字でない文字が含まれている場合、JDBC URLのcharacterEncoding をutf8にする必要があります。以下を参考にしてください。

jdbc:mysql://<Host>:<Port>/<DbName>?characterEncoding=utf8

サポートされているフォーマットと用例については、サポートされているJDBC URL フォーマットを参考にしてください。

データベース名

データベース名を入力します。 データベース名がJDBC URLの一部として定義されている場合、このフィールドは空白のままにすることができます。

ここに入力したデータベース名は、JDBC URLで指定したデータベース名よりも優先されます。

ユーザ名

データベースに接続するためのユーザー名を入力します。 ユーザー名がJDBC URLの一部として定義されている場合、このフィールドは空白のままにすることができます。

ここに入力したユーザー名は、JDBC URLで指定したユーザー名よりも優先されます。

パスワード

データベースで認証するためのパスワードを入力します。 ユーザー名がJDBC URLの一部として定義されている場合、このフィールドは空白のままにすることができます。

ここで入力したパスワードは、JDBC URLで指定したパスワードよりも優先されます。

クリーンアップ期間（日数）

クリーンアップ期間の値を日数で入力します。この値は、処理されてクリーンアップ経過時間を過ぎたイベントをクリーンアップするために使用されます。

デフォルトでは、クリーンアップは午前0時に行われます。 または、ユーザーはクリーンアップ時間の明示的な値を0〜23の範囲で設定できます。

デフォルト値を変更するには、Magic.iniファイルのJVM_ARGに-Ddbtrigger.clean.atプロパティを追加します。

クリーンアップ期間の値が空の場合、デフォルトでは実行時に1日に設定されます。

DB Triggerサービスには、次のボタンもあります。:

名前 | 説明
検証 | 検証ボタンは、最初にデータベースパラメータに基づいてデータベースへの接続を試みます。接続が成功すると、トリガーアクションテーブルがデータベースに存在するかどうかがチェックされます。 トリガーテーブルがデータベースに存在しない場合は、テーブルが作成されます。 データベース接続が成功し、トリガーテーブルが作成されると、成功メッセージが表示されます。
イベント | このボタンをクリックして、[トリガーイベント]ダイアログを開きます。 データベース定義が検証されない場合は、イベントが最初に検証されます。

DBトリガーサービスは、それぞれのJDBCドライバーを使用してさまざまなデータベースに接続します。 Magic xpiのインストールには、サポートされているすべてのJDBCドライバーが含まれているわけではありません。 必要に応じて、ユーザーが手動で準備する必要があります。 JDBCトリガーのjarファイルは、DBトリガーサービスを作成する前に、<Magic xpi インストールフォルダ>\Runtime\Java\DatabaseDriversに配置する必要があります。

トリガーアクションテーブル

トリガーイベントダイアログで、ユーザーは、作成、更新、削除イベントなどの、キャプチャする必要があるテーブルを追加します。すべてのイベントが追加されると、データベースにトリガーを作成するためのテンプレートスクリプトが生成されます。 このスクリプトはトリガーアクションテーブルを使用して、キャプチャされたCRUDイベントを格納します。このテーブルは、DBトリガーによって実行時にポーリングされます。処理される行には、クリーンアップのマークが付けられます。 これらのレコードは、定義されたクリーンアップ期間を過ぎるとテーブルから削除されます。

テーブル内のレコードは、以下の規則に基づいて処理されます:

  • 新しいイベントは、トリガーステータス列の値を0に設定してトリガーアクションテーブルに挿入されます。値が0のすべてのレコードは、実行時にDBトリガーによって処理されます。

  • レコードが選択されるとトリガーステータス値は１に変更されます。テーブル内の行のうちトリガーステータスが１の全ての行がクリーンアップの対象になります。

  • レコードの処理が失敗した場合、トリガーステータス値は2に設定されます。失敗した行に対してのアクションは、ユーザーが実行する必要があります。 これらのレコードを再処理するには、ユーザーはエラーを修正してから、トリガーステータス値を0に設定する必要があります。

  • 実行時にプロジェクトを実行する前。 トリガーアクションテーブルがデータベースに存在し、必要なすべてのトリガーが（生成されたスクリプトを使用して）トリガーイベントで選択されたテーブルに作成されていることを確認します。

  • Oracleデータベースの場合、TriggerActionテーブルでdropコマンドを実行した後、TRIGGERACTION_ACTIONID_SEQという名前のシーケンスも削除する必要があります。
    テーブルとシーケンスを削除するには、次のデータベースコマンドを使用します。

  • DROP TABLE TriggerAction;

  • DROP SEQUENCE TRIGGERACTION_ACTIONID_SEQ;

サポートされるデータベース

DBトリガーサービスは、下記のデータベースをサポートします。:

  • MS-SQL

  • Oracle

  • MySQL

  • DB2

  • DB2/400

  • PostgreSQL

以下は、Magicxpi用に認定されたサポートされているデータベースドライバーのリストです。これは完全なリストではなく、他の互換性のあるドライバーも機能する可能性があります。

データベース

ドライバ名 JARファイル

MSSQL

mssql-jdbc-8.4.1.jre8.jar

MySQL

mysql-connector-java-5.1.41.jar

DBTrigger サービスは mysql-connector-java-8.0.26.jar で動作しません。

Oracle

ojdbc7.jar

PostgreSQL

postgresql-42.2.6.jre7.jar

DB2/400

Jt400.jar

DB2

db2jcc4.jar

db2jcc.jar

db2jcc_license_cu.jar

(Since version: 4.13)

関連トピック

トリガーイベント


トリガーイベント

DBトリガーサービスの設定と検証が成功したら、ユーザーは[イベント]ボタンをクリックして、キャプチャするイベントを設定します。 [トリガーイベント]ダイアログを開き、ユーザーは複数のイベントを定義し、それらにテーブルを追加し、それぞれのテーブルでキャプチャする必要がある作成、更新、削除イベントを構成します。

[トリガーイベント]ダイアログボックスは、2つのペインで構成されています。 左側のペインには、追加されたイベントのリストが表示されます。 イベント名自体がトリガーの名前になります。 ユーザーは、[追加]または[削除]ボタンをクリックして、新しいイベントを作成したり、既存のイベントを削除します。

右側のペインでは、ユーザーはテーブルを選択したイベントに関連付けることができます。 テーブルを追加できるグリッドには、次のフィールドが含まれています:

パラメータ

説明

テーブル名

CRUDイベントをキャプチャするテーブルの名前。 テーブル名のリストに新しいエントリを追加するには、[追加]ボタンをクリックします。 （省略記号ボタン）をクリックしてテーブルリストを開き、テーブルを選択します。テーブルリストには、選択したデータベースのすべてのテーブルが表示されます。

  • テーブルが1つのイベントに追加された場合、同じアクションの別のイベントに追加することはできません。

  • テーブルは、複数のプロジェクトで2回以上使用しないでください。

作成

テーブルの作成イベントをキャプチャするには、このチェックボックスを選択します。テーブルに行が追加されると、トリガーアクションテーブルに行が追加されます。

更新

テーブルの更新イベントをキャプチャするには、このチェックボックスをオンにします。テーブルの行が更新されると、トリガーアクションテーブルに行が追加されます。

削除

テーブルの削除イベントをキャプチャするには、このチェックボックスを選択します。テーブルから行が削除されると、トリガーアクションテーブルに行が追加されます。

クリップボードにコピー

各エントリの最後にある [image] （省略記号ボタン）をクリックして、選択したテーブルエントリの[DBトリガースクリプト]ダイアログボックスを開きます。ダイアログボックスには、トリガー作成スクリプトが含まれます。 これはテンプレートスクリプトです。ユーザーは、データベースでスクリプトを実行する前に、ペイロード構造を編集する必要があります。スクリプトをクリップボードにコピーするには、[クリップボードにコピー]ボタンをクリックします。

イベントを追加したら、[OK]ボタンをクリックしてイベントを保存します。イベントが保存された後、スタジオは次の場所にテンプレートSQLスクリプトを生成します：DBTrigger\<DBトリガーサービス名>\EventActionScripts。

このスクリプトは、イベントで選択されたテーブルに対して生成されたトリガーの定義です。スクリプトにはデフォルトのペイロード構造があります。実行する前に、ユーザーはそれを編集してペイロード構造を変更する必要があります。最大ペイロードサイズは1000文字を超えないようにしてください。1000文字を超える場合、トリガーアクションテーブルの挿入操作が失敗します。

  • プロジェクトを開始する前に、データベースでこのSQLスクリプトをユーザが実行してください。

  • PostgreSQLの場合、テーブルがパブリックスキーマ以外のデータベーススキーマから選択される場合は、スクリプト内に記述されたテーブルが生成される前に、スキーマ名を追加する必要があります。 この変更は、選択したテーブルのCREATE TRIGGERステートメントで行う必要があります。


Email サービス

Emailサービスには、以下のパラメータ（太字のパラメータは必須）があります。

パラメータ

説明

Emailリソース(Email Resource)

ドロップダウンリストからEmailリソースを選択します。例： MyResource1

Emailサービスを設定する前に、[設定]ダイアログボックスの[リソース]セクションですでにEメールリソースが設定されていることを確認してください。

ポーリング間隔(Polling Interval)

ポーリング間隔を秒単位で定義します。例： 30

Emailトリガでエラーが発生した場合、サーバへの再接続に30秒のポーリング間隔が適用されます。このフィールドに入力された値は上書きされます。


Exchangeサービス

Exchangeサービスには、以下のパラメータ（太字のパラメータは必須）があります。

パラメータ

説明

Emailリソース(Email Resource)

ドロップダウンリストからExchangeリソースを選択します。例： MyResource1

Exchangeサービスを設定する前に、[設定]ダイアログボックスの[リソース]セクションですでにExchangeリソースが設定されていることを確認してください。


File Watcher サービス

File Watcherサービスは、File Watcherコンポーネントをトリガーとして使用する際に使用されます。

File Watcher サービスで使用するパラメータは下記の通りです（太字は必須）:

パラメータ

説明

File Watcher リソース

ドロップダウンリストからFile Watcherのリソースを選択します。

File Watcherサービスを構成する前に、[設定]ダイアログボックスの[リソース]セクションでFileWatcherリソースが既に構成されていることを確認する必要があります。

(Since version: 4.13.2)


フロー可能化サービス

Flow Enablementサービスには、以下のパラメータ（太字のパラメータは必須）があります。

パラメータ

説明

アクティベーションタイプ(Activation Type)

ドロップダウンリストから以下のフローアクティベーションタイプの1種類を選択してください：

  • 常に (デフォルト) …… フローは常に有効です。

  • 週次 …… フローは毎週有効です。フローが有効な1週間でどの日が有効かを定義するために、チェックボックスで選択してください。
    ［フロー有効時間］パラメータの隣の [image] をクリックすると、［有効時間範囲］リストが開きます。ここで、フローが利用できる開始と終了の時刻を入力してください。

  • 月次 …… フローは毎月有効です。フローが有効な1年間でどの月が有効かを定義するために、チェックボックスで選択してください。 ［フロー有効日付］パラメータの隣の [image] をクリックすると、［日付選択］ダイアログボックスが開きます。ここで、フローが利用できる月の日付を入力してください。［フロー有効時間］パラメータの隣の [image] をクリックすると、［有効時間範囲］リストが開きます。ここで、フローが利用できる開始と終了の時刻を入力してください。

休日カレンダー

特定の日にフローをアクティブ化しない場合、ドロップダウンリストからカレンダーエントリの1つを選択します。

カレンダーのリストは、カレンダーセクションで定義されたカレンダーのリストに基づいて入力されます。

カレンダーに加えられた変更は、実行中のすべてのプロジェクトに対して即座に有効になります。

これは、アクティベーションタイプ（上記）が[常時]に設定されている場合は適用されません。

(Since version: 4.13)


日付選択

  • 必要とする日付をクリックしてください。選択した日付は、大文字で表示されます。

  • 日付を選択するダイアログボックスを終了するには、［OK］をクリックしてください。

  • 日付を選択せずにダイアログボックスを終了するには、［取消］をクリックしてください。


可能時間範囲リスト

  • 新規行を開くには、［新規］をクリックしてください。

  • ［開始］カラムに必要な開始時刻を入力してください。

  • ［終了］カラムに必要な終了時刻を入力してください。

  • 時刻を入力したら、［OK］をクリックすることで情報を保存しダイアログボックスが閉じます。

  • 保存しないで終了するには、［取消］をクリックしてください。


FTP サービス

FTPサービスは、Directory Scannerーコンポーネントをトリガとして使用されます。

FTPサービスには、以下のパラメータ（太字のパラメータは必須）があります。

パラメータ

説明

FTPリソース(FTP Resource)

FTP リソースをドロップダウンリストから選択します。

FTPサービスを設定する前に、[設定]ダイアログボックスの[リソース]セクションですでにFTPリソースが設定されていることを確認してください。


HTTP サービス

HTTPサービスには、以下のパラメータ（太字のパラメータは必須）があります。

パラメータ | 説明
Web サーバ(Web Server) | WEBサイトのリクエスタアドレス。例： localhost
エイリアス(Alias) | WEBサイトのエイリアス名。デフォルトは Magcxpi4です。

HTTPをサービスとして設定する時に以下のボタンを利用できます。

ボタン | 説明
エンドポイント | このボタンをクリックし、［エンドポイント］ダイアログボックスを開きます。ここで、HTTPトリガエンドポイントを定義したり参照することができます。エンドポイント定義の詳細については、こちらをクリックしてください。
APIマネージメント | このボタンをクリックすると、API管理ダイアログボックスが開きます。ここでは、HTTPエンドポイントを消費するWeb APIとして統合することができます。API管理サーバーとの統合方法については、こちらをご覧ください。 (Since version: 4.12）

関連トピック

APIマネージメント

サーバー設定

HTTPカスタムヘッダーへのアクセス


HTTP エンドポイント設定

[設定]ダイアログボックスの［サービス］セクションでHTTPサービスを設定するには、［エンドポイント］ボタンをクリックして［エンドポイント］ダイアログボックスを開きます。ここで、トリガを起動する為にHTTP URLからMagic xpiをどのように呼び出すかを定義します。

［エンドポイント］ダイアログボックスには３つのセクションがあります。左側のセクションがエンドポイント一覧が表示される［エンドポイント名］ペインです。［新規］や［削除］ボタンをクリックすることによりエンドポイントを追加、削除することができます。

ダイアログボックスの上部にあるのが［エンドポイント詳細］ペインです。ここには以下のパラメータがあります。

名前 | 説明
エンドポイント URL | ここには、外部ソースからHTTPトリガを呼ぶためのURLが表示されます。修正はできません。URLは［設定］ダイアログのボックスの［サービス］セクションで定義されたWEBサーバとエイリアスに基づいています。
サンプルHTMLの作成 | Magic xpiは指定したHTTPトリガの呼び出しを容易にするためにサンプルHTMLページを作成することができます。この機能を使用したい場合、このチェックボックスにチェックを入れます。 その後、 [image] をクリックしサンプルHTMLページを保存したい場所を選択します。 このようなトリガの構文についての情報は、こちらをクリックしてください。

ダイアログボックスの下部は［引数詳細］ペインです。ここには［エンドポイント詳細］ペインで追加された処理の引数が表示されます。以下のフィールドがあります。

名前

説明

引数名

Magic xpiへの外部コールによってHTTPトリガに送られる引数の名前。名前は特殊文字で始めることはできません。

データタイプ

ドロップダウンリストから以下のいずれかのデータタイプを選択します。

  • Alpha（文字）

  • Numeric（数値）

  • Date（日付）

  • Time（時刻）

  • BLOB (１つのBLOB変数のみ定義できます)

  • Logical（論理）

フォーマット

変数のサイズとその書式。

デフォルト値

引数に値が入っていない場合に自動的に設定されるデフォルト値。

必須

トリガに送信する際に、この引数に値（もしくはデフォルト値）が必要な場合はチェックを入れます。


APIマネージメント

API マネージメント は、Web API を作成して公開し、その使用状況を監視・分析し、セキュリティポリシーを適用して誤使用を保護するための機能を含みます。

Magic xpi は、消費される API として HTTP と OData エンドポイントを公開するためのサポートを提供します。

Magic xpiはTyk API管理ツールと統合されています。

Tykについての詳細は https://tyk.io/ を参照してください。

Magic xpi の API マネージメント ダイアログボックスは 2 つのペインで構成されています。左側のペインは、トリガ エンドポイント ペインで、利用可能なエンドポイントのリストが表示されます。右側のペインには、各エンドポイントの API の詳細と、各エンドポイントの公開、再公開、または公開解除のオプションが表示されます。

エンドポイント一覧

エンドポイントセクションには、利用可能なエンドポイントのリストを含むテーブルがあります。このテーブルには、以下の列があります。

名前 | 内容
エンドポイント名 | これは、サービスに対して定義されたエンドポイント設定の一部として追加されたエンドポイントの名前です。
公開 | このカラムｊは、エンドポイントがAPI管理サーバーに公開されているかどうかを表示します。 エンドポイントが公開されている場合、値はYesに設定され、公開されていない場合はNoに設定されます。
API ID | エンドポイントが公開されている場合はAPI IDが生成され、この欄に表示されます。

エンドポイントの詳細

トリガーの詳細セクションでは、選択したエンドポイントの詳細を設定することができます。エンドポイントの設定には、以下の詳細を設定することができます。(太字のパラメータは必須)

名前

内容

API名

API Gateway Server上のAPIエントリを識別するための有効かつ一意なAPI名。一意性を保つのはユーザーの責任です。一意性はAPI Gatewayサーバーによって検証されません。

リッスンパス

API 管理サーバーがリッスンするリッスンパス。これは API Gateway エンドポイントになり、この HTTP または OData エンドポイントにマップされます。API 管理サーバーは、このリッスンパスからのリクエストをこのエンドポイントに転送します。

ターゲット URL

APIがリダイレクトされるターゲットURLです。

コピーボタンを使用すると、ターゲットURLをクリップボードにコピーすることができます。

API URL

エンドポイントのAPI URL。これはAPIが利用可能なURLです。

コピーボタンを使用すると、API URLをクリップボードにコピーすることができます。

認証

API管理サーバーとエンドポイント間の認証モード。認証の種類は以下の通りです。

  1. オープン(Keyless)

  2. 基本認証

  3. 認証トークン

ユーザー名

API管理サーバでBasic認証を行う際に必要なユーザ名の値です。

基本認証タイプの認証の場合に表示されます。

パスワード

API 管理サーバで Basic 認証を行う際に必要なパスワードの値です。

基本認証タイプの認証の場合に表示されます。

トークン

API管理サーバで認証トークン認証を行う際に必要なトークンです。

このフィールドは、認証が 基本認証 または 認証トークンタイプの場合に表示されます。

コピー ボタンを押すと、トークンをクリップボードにコピーすることができます。

トリガーの詳細ページには、以下のボタンがあります。

ボタン | 説明
発行 | このボタンをクリックすると、エンドポイントをAPI管理サーバーに公開します。APIが公開されると、Publish欄の値がYesに設定され、API IDが取得されてエンドポイントに設定されます。
再発行 | このボタンは、公開されたエンドポイントに対して表示されます。これにより、ユーザーは変更されたエンドポイントを再公開し、API管理サーバーとの同期を保つことができます。
公開の解除 | このボタンをクリックすると、API管理サーバーからエンドポイントの公開を解除します。 APIの公開が解除されると、Published欄の値がNoになり、エンドポイントからAPI IDが削除されます。

Magic xpi のエンドポイントと API マネージメント サーバーのエンドポイントを同期させるのはユーザーの責任です。Magic xpiからエンドポイントを削除した場合は、API管理サーバーからエンドポイントを削除する必要があります。エンドポイントがAPI管理サーバーから削除された場合、エンドポイントの詳細セクションのAPI ID欄から生成されたAPI IDが削除され、公開欄の値がNoに設定されます。

また、API管理ページには以下のボタンがあります。

ボタン | 説明
サーバー設定 | このボタンをクリックすると、サーバー設定ダイアログボックスが開きます。ここでは、API管理サーバーのサーバー設定を定義することができます。 これらのサーバー設定の定義方法の詳細については、ここをクリックしてください。
閉じる | このボタンをクリックして、API管理設定ダイアログを終了します。

Since version:4.12


サーバー設定

APIマネージメントサーバーは、APIゲートウェイとAPIマネージメントダッシュボードを提供します。

サーバー設定ダイアログボックスでは、APIマネージメントサーバーの設定を追加することができます。 追加できる設定は以下の通りです。Magic xpi は、提供された設定に基づいて APIマネージメント サーバーに接続します。(太字のパラメータは必須です)

名前 | 説明
ダッシュボードホスト | API Dashboardに接続するDashboardホストのURL。 例： http://<ip_address> または http://<hostname>
ダッシュボードポート | API Dashboardに接続するDashboardポート番号です。値が80以外の場合は必須。 例： 808080。
ゲートウェイ ホスト | API ゲートウェイに接続するためのゲートウェイホスト URL。 例： http://<ip_address> または http://<hostname>
ゲートウェイポート | APIゲートウェイに接続するゲートウェイポート番号です。値が80以外の場合は必須。 例：8080
組織ID | APIマネージメントサーバーの組織ID。このIDは、ユーザーがTyk DashboardのEdit Userページからアクセスすることができます。
ダッシュボード認証ID | ダッシュボードの認証ID。このIDは、ユーザーがTyk DashboardのEdit Userページからアクセスすることができます。
管理者認証ID | API マネージャーのAdminの認証IDです。これはTyk ダッシュボードの管理者のみが提供できるもので、ダッシュボード自体では利用できません。

サーバー設定ダイアログボックスには、以下のボタンもあります。

ボタン | 説明
検証 | 検証ボタンは、APIマネージメントサーバーへの接続を確認します。 接続に成功した場合は「成功」のメッセージが表示され、失敗した場合は「エラー」のメッセージが表示されます。
OK | OK ボタンをクリックして、サーバー設定を保存します。
キャンセル | キャンセルボタンをクリックして、サーバー設定の設定をキャンセルします。

Since version: 4.12


HTTPカスタムヘッダーへのアクセス

標準のHTTPヘッダーとは別に、カスタムHTTPヘッダーもMagic xpiで使用できます。名前と値のペアで定義されたカスタムHTTPヘッダー（例：Reference1 = Test）は、Postman、SOAP UIなどの任意のHTTPクライアントを使用して設定できます。クライアント側で設定されるカスタムヘッダーは、Magic xpiサーバーでアクセスできます。

  1. カスタムヘッダーを使用する前に、ユーザーはパラメーターHttpVarsの下のmgreq.iniファイルでそれらを定義する必要があります。ヘッダー名に接頭辞HTTPを追加する必要があります。例：HTTP_Reference1。

複数のヘッダーをコンマ区切り値として追加できます。

例：HttpVars = HTTP_Reference1、HTTP_Reference2

  2. ヘッダーが定義されると、式エディターのGetParam関数を使用してヘッダーの値にアクセスできます。
    例：GetParam（ 'HTTP_Reference1'）

カスタムヘッダー構成を有効にするには、IISサーバーを再起動する必要があります。


IBM iサービス

IBM i サービスには、以下のパラメータ（太字のパラメータは必須）があります。

パラメータ

説明

IBM iリソース(IBM i Resource)

ドロップダウンリストからIBM iリソースを選択してください。

IBM iサービスを設定する前に、[設定]ダイアログボックスの[リソース]セクションですでにIBM iリソースが設定されていることを確認してください。

ライブラリ名(Library Name)

IBM iライブラリ名を入力してください。 をクリックして環境変数一覧を開きます。ここでライブラリ名として使用する環境変数を選択することができます。


JMS サービス

JMS サービスには、以下のパラメータ（太字のパラメータは必須）があります。

パラメータ

説明

JMS リソース(MS Resource)

ドロップダウンリストからJMSリソースを選択します。

JMSサービスを設定する前に、[設定]ダイアログボックスの[リソース]セクションですでにJMSリソースが設定されていることを確認してください。


MQTTサービス

MQTT サービスには、以下のパラメータ（太字のパラメータは必須）があります。

パラメータ

説明

MQTT リソース(MQTT Resource)

ドロップダウンリストからMQTTリソースを選択してください。

MQTTサービスを設定する前に、[設定]ダイアログボックスの[リソース]セクションですでにMQTTリソースが設定されていることを確認してください。

クライアントID(Client ID)

クライアントID。クライアントと関連したデータを格納するためにサーバーによって使用されます。このため、永続的なサブスクリプションまたは信頼できるメッセージングが必要とされているならば、サーバと接続する時に同じ状態であり続けなければなりません。

MQTTサービスには以下のボタンがあります。

ボタン | 説明
ID作成 | ユニークなクライアントIDを作成する場合は、このボタンをクリックしてください。このクライアントIDは、自動的に［クライアントID］パラメータ(上記)に追加されます。クライアントIDがすでに［クライアントID］パラメータに設定されていれば、それを上書き確認が表示されます。

Since version:

4.5


MSMQ サービス

MSMQサービスには、以下のパラメータ（太字のパラメータは必須）があります。

パラメータ

説明

MSMQ リソース(MSMQ Resource)

ドロップダウンリストからMSMQリソースを選択します。

MSMQサービスを設定する前に、[設定]ダイアログボックスの[リソース]セクションですでにMSMQリソースが設定されていることを確認してください。


OData サービス

ODataサービスには、次のパラメータが含まれています。

パラメータ | 説明
ネームスペース | ネームスペースの値はODataエントリに一意性を与え、Magic xpiによって公開されるすべてのODataサービスで一意でなければなりません。

ODataサービスでは、次のボタンも表示されます。

ボタン

説明

エンティティ

エンティティエディタを開き、ODataサービスのデータ構造を定義するには、このボタンをクリックします。

サービスXMLの読込

Magic xpiは、ファイルから既存のメタデータをロードすることによって新しいODataサービスを作成するためのオプションをユーザに提供します。メタデータファイルはOData V4に準拠している必要があります。

ODataサービスのメタデータを含むXMLファイルを選択するには、[OData サービス]ダイアログでサービスXMLの読込をクリックします。サービスがすでに作成されていて、このサービスのメタデータXMLが存在する場合、このボタンは無効になります。

(Since version: 4.9）

APIマネージメント

このボタンをクリックすると、API マネージメントダイアログボックスが開きます。ここでは、OData エンドポイントを消費する Web API として統合することができます。APIマネージメントサーバーとの統合方法については、こちらをご覧ください。

(Since version: 4.12）

サービスメタデータファイルの制限事項

Magic xpi OData プロバイダは、単一のスキーマと単一の名前空間のみをサポートします。

サービスメタデータのXMLファイルにネームスペースの異なる複数のスキーマが含まれている場合、Magic xpiはメタデータをロードしている間に、参照されているすべてのオブジェクトを単一のスキーマにデプロイします。

OData V4の仕様に従って、メタデータ定義にはエンティティコンテナが1つだけ存在するはずです。そのため、複数のエンティティコンテナを含むファイルは無効と見なされます。

Since version: 4.7

関連トピック：

APIマネージメント

サーバー設定


エンティティエディタ

Home > リファレンスガイド > 設定 > サービス > OData サービス > ［エンティティ］エディタ

［エンティティ］エディタ

［エンティティ］エディタは、構成ダイアログを使用してODataサービス構造を定義するためのエントリポイントです。［終了］ボタンをクリックすると設定は終了し、［キャンセル］ボタンをクリックすると、設定は中止されます。

［エンティティ］ボタンをクリックすると、エンティティエディタ画面が起動します。

１．エンティティ

［エンティティ］タブでは、以下のパラメータを表示及び設定できます（太字のパラメータは必須です）。

パラメータ名 | 説明
名前 | 有効なエンティティ名を入力してください。
複数名 | Metadata.xmlで使用される複数形式のエンティティ名を入力します。
プロパティ | 右端の [image] ボックスをクリックすると、エンティティプロパティを定義できる構成画面が開きます。詳細についてはここをクリックしてください。
キー | 右端の [image] ボックスをクリックすると複数のプロパティを定義できる構成画面が開きます。ドロップダウンリストからプロパティを追加します。 ［追加］ボタンをクリックすると、新しいプロパティ行を追加します。 ［削除］ボタンは強調表示されたプロパティ行を削除します。

［追加］ボタンで新しいエンティティ行を作成します。

［削除］ボタンで強調表示されたエンティティ行を削除します。

２．複合型

［複合型］タブでは、以下のパラメータを表示及び設定できます（太字のパラメータは必須です）。

パラメータ名 | 説明
名前 | 有効な複合名を入力してください。
プロパティ | 右端の [image] ボタンをクリックすると、複雑なエンティティのプロパティを定義できる構成画面が開きます。詳細についてはこちらをクリックしてください。

［追加］ボタンで新しいエンティティ行を作成します。

［削除］ボタンで強調表示されたエンティティ行を削除します。

３．列挙型

［列挙型］タブでは、以下のパラメータを表示及び設定できます（太字のパラメータは必須です）。

パラメータ名 | 説明
名前 | 有効な列挙名を入力してください。
メンバ | 右端の [image] ボタンをクリックすると、列挙値を定義できる構成画面が開きます。詳細についてはこちらをクリックしてください。

［追加］ボタンで新しいエンティティ行を作成します。

［削除］ボタンで強調表示されたエンティティ行を削除します。

［次へ］ボタンをクリックすると［ナビゲーションプロパティ］画面が開きます。

［ナビゲーションプロパティ］タブでは、以下のパラメータを設定できます（太字のパラメータは必須です）。

パラメータ名 | 説明
エンティティ１ | このコンボボックスには、サービスで事前に定義されたエンティティが設定されます。 ドロップダウンリストから目的のエンティティを選択します。
関連エンティティ | このコンボボックスには、サービスで事前に定義されたエンティティが設定されます。 ドロップダウンリストから目的のエンティティを選択します。
コレクション | これはチェックボックスです。 デフォルトではチェックされていません。このチェックボックスを選択すると、1対多（1..n）の関係を示すことができます。 選択を解除すると、エンティティとその関連エンティティとの1対1（1..1）の関係が表示されます。
プロパティ名 | これはナビゲーションプロパティの名前です。このフィールドは編集可能です。ユーザは手動で名前を入力するか、[デフォルト名]ボタンをクリックして名前を生成することができます。 プロパティ名は、エンティティとその関連エンティティに対してユニークである必要があります。

［デフォルト名］ボタンはプロパティ名を生成します。このボタンは各ナビゲーションプロパティ行で使用でき、[エンティティ]フィールドと[関連エンティティ]フィールドの両方に入力したときに表示されます。

  • 関連エンティティがコレクションに参加している場合は、そのエンティティの複数名が定義されていれば、それがプロパティ名として使用されます。

  • 関連エンティティがコレクションに参加していない場合は、そのエンティティの名前がプロパティ名として使用されます。

  • 対応する関連エンティティの複数名が定義されていない場合は、そのエンティティの名前がプロパティ名として使用されます。

［追加］ボタンで新しいナビゲーションプロパティ行を作成します。

［削除］ボタンで強調表示されたナビゲーションプロパティ行を削除します。

［次へ］ボタンをクリックすると［エンティティセット］画面が開きます。

［エンティティセット］タブでは、以下のパラメータを設定できます（太字のパラメータは必須です）。

パラメータ

説明

エンティティコンテナ名

有効なエンティティコンテナ名を入力します。

名前

有効なエンティティセット名を入力します。

エンティティ

このコンボボックスには、サービスで事前に定義されたエンティティが設定されます。

ドロップダウンリストから目的のエンティティを選択します。

メソッド

複数選択が可能なグリッド項目です。右端の [image] ボックスをクリックすると、メソッド選択画面が表示されます。

サポートされるメソッドは以下の通りです。

  • Get

  • Get (By Key)

  • Post

  • Put

  • Patch

  • Delete

クエリオプション

複数選択が可能なグリッド項目です。右端の [image] ボックスをクリックすると、クエリオプション選択画面が表示されます。

サポートされるメソッドは以下の通りです。

  • Filter

  • Order by

  • Expand

  • Select

  • Top

  • Skip

拡張

複数選択が可能なグリッド項目です。右端の [image] ボックスをクリックするとエンティティ選択画面が表示されます。

ナビゲーションプロパティで選択したエンティティに接続されているエンティティセットを選択できます。

［追加］ボタンで新しいナビゲーションプロパティ行を作成します。

［削除］ボタンで強調表示されたナビゲーションプロパティ行を削除します。

ユーザが既存のODataサービスのODataエンティティに変更を加えると、警告メッセージがポップアップ表示され、ユーザにトリガの再設定を要求します。トリガが再設定されると、ODataプロバイダは既存のスキーマを内部的に生成または変更します。このスキーマは、ODataコネクタステップでのマッピングに役立ちます。

Since version: 4.7


エンティティプロパティダイアログ

Home > リファレンスガイド > 設定 > サービス > OData サービス > ［エンティティプロパティ］ダイアログ

［エンティティプロパティ］ダイアログ

プロパティダイアログでは、エンティティのプロパティを定義できます（太字のパラメータは必須です）。

パラメータ

説明

名前

有効なプロパティ名を入力してください。

タイプ

コンボボックスで指定します。以下のタイプが有効です。

  • EDMプリミティブ型

  • 事前定義した複合型

  • 事前定義した列挙型

ドロップダウンリストから目的のプロパティタイプを選択します。

コレクション

デフォルトでこのチェックボックスはオフになっています。

NULL可

デフォルトでこのチェックボックスはオフになっています。

［追加］ボタンで新しいエンティティプロパティ行を作成します。

［削除］ボタンで強調表示されたエンティティプロパティ行を削除します。

Since version: 4.7


複合型プロパティダイアログ

Home > リファレンスガイド > 設定 > サービス > OData サービス > ［複合型プロパティ］ダイアログ

［複合型プロパティ］ダイアログ

プロパティダイアログでは、複合型プロパティを定義できます（太字のパラメータは必須です）。

パラメータ | 説明
名前 | 有効な複合型プロパティ名を入力してください。
タイプ | コンボボックスで指定し、以下のタイプが有効です。
NULL可 | デフォルトでこのチェックボックスはオフになっています。

［追加］ボタンで新しい複合型プロパティ行を作成します。

［削除］ボタンで強調表示された複合型プロパティ行を削除します。

Since version: 4.7


列挙型プロパティダイアログ

Home > リファレンスガイド > 設定 > サービス > OData サービス > ［列挙型プロパティ］ダイアログ

［列挙型プロパティ］ダイアログ

プロパティダイアログでは、列挙型プロパティを定義できます（太字のパラメータは必須です）。

パラメータ | 説明
メンバー | 有効な名前を入力してください。
値 | 最大長が3桁の数値項目です。 列挙型をここに入力します。

［追加］ボタンで新しい列挙型プロパティ行を作成します。

［削除］ボタンで強調表示された列挙型プロパティ行を削除します。

Since version: 4.7


OData トリガー構成

ODataトリガー構成画面で、ODataアダプタにトリガーオプションを追加することができます。追加された全てのエンティティは、ODataサービスの一部となり、エンドポイントとして解決され、単一プロセスを起動するために使用されます。

ODataトリガー構成では、以下のパラメータを表示、および構成することができます。

パラメータ | 説明
サービス名 | トリガー構成で使用するサービス名が自動的に入力されます。
エンドポイント名 | 利用可能な全てのエンドポイントを表示するコンボボックスです。エンドポイントリストは、ODataサービスの一部として追加されたエンティティに基づいて作成されます。 ドロップダウンリストからエンドポイント名を選択します。
戻り値 | OData応答の一部として戻す結果Blobです。デフォルト値は、C.UserBlobです。
戻りHTTPステータスコード | OData応答の一部として送信するステータスコードです。デフォルトのステータスコードを上書きして、4xxと5xxの範囲のエラーコードを戻すことができます。 4xxまたは5xxの範囲で値を設定している場合、［エラー応答コード］と［エラー応答メッセージ］のパラメータを使用してエラーメッセージを設定するためのオプションの規定がユーザに提供されます。Since version: 4.8
エラー応答コード | ［戻りHTTPステータスコード］を4XXまたは5XXの範囲に設定すると、ユーザは［エラー応答コード］パラメーターを使用してエラーコード値を指定することができます。この値は、ODataエラー応答のコードのプロパティとして設定されます。Since version: 4.8
エラー応答メッセージ | ［戻りHTTPステータスコード］を4XXまたは5XXの範囲に設定すると、ユーザは［エラー応答メッセージ］パラメーターを使用してエラーの説明を指定することができます。この値は、ODataエラー応答のメッセージのプロパティとして設定されます。Since version: 4.8

引数の詳細：

各要求に対して、様々なOdataパラメータが解析され、あらかじめ定義されたODataトリガ引数に分解されます。引数の詳細セクションでは、事前に定義されたこれらの引数を同じデータ型のプロジェクトの変数にマッピングします。

パラメータ

説明

引数名

事前に定義されている引数は次のとおり。

  1. Method

  2. Top

  3. Skip

  4. Filter

  5. OrderBy

  6. Select

  7. Expand

  8. FullQuery

  9. Payload

データタイプ

サポートされるデータタイプは次のとおり。

  • Alpha

  • Numeric

  • Blob

フォーマット

指定されたデータタイプでサポートされている形式

マッピング変数

右端の [image] ボックスをクリックすると、指定した引数にマップする変数リストが開きます。リストから必要な変数を選択します。

［OK］ボタンをクリックすると、生成されたスキーマセクションで定義された通りに、選択したエンティティセットの新しいスキーマを生成します。

［キャンセル］ボタンをクリックすると、トリガー構成の作成プロセスがキャンセルされます。

OData生成スキーマ

ODataトリガは、選択されたエンティティセットに対して新しいスキーマを生成します。 スキーマはGETおよびPOST 処理用に生成されます。

ODataトリガの設定が完了すると、スキーマは次の場所に生成されます。

<xpi project>/ODataProvider/<OData Service>

スキーマ名は次のように生成されます。

<ODataトリガ内のエンドポイント名>_POST.xsd (Since version: 4.8)

上記で生成されたスキーマは、ODataトリガによって取得されたペイロードの解析に使用されます。

スキーマ名：<ODataトリガ内のエンドポイント名>.xsd

上記で生成されたスキーマは、ODataクライアントに対する応答を生成するために使用されます。

Since version: 4.7


Salesforce サービス

Salesforce サービスには、以下のパラメータ（太字のパラメータは必須）があります。

パラメータ

説明

Salesforce リソース(Salesforce Resource)

ドロップダウンリストからSalesforceリソースを選択してください。

Salesforceサービスを設定する前に、[設定]ダイアログボックスの[リソース]セクションですでにSalesforceリソースが設定されていることを確認してください。


SAP A1 サービス

SAP A1 サービスには、以下のパラメータ（太字のパラメータは必須）があります。

パラメータ

説明

SAP A1 リソース(SAP A1 Resource)

ドロップダウンリストからSAP A1リソースを選択してください。

SAP A1サービスを設定する前に、[設定]ダイアログボックスの[リソース]セクションですでにSAP A1リソースが設定されていることを確認してください。

SAP GW ホスト名(SAP GW Host Name)

SAP A1ゲートウェイのホスト名を入力します。

をクリックして環境変数一覧を開きます。ここでホスト名として使用する環境変数を選択することができます。

SAP GW サービス(SAP GW Service)

SAP A1ゲートウェイのサービス詳細を入力します。

をクリックして環境変数一覧を開きます。ここでサービス名として使用する環境変数を選択することができます。

プログラムID(Progid)

SAP A1ゲートウェイで登録されるプログラムIDを入力します。

をクリックして環境変数一覧を開きます。ここでプログラムIDとして使用する環境変数を選択することができます。

接続数(Connection Count)

並行処理のために使用される接続数を入力します。

をクリックして環境変数一覧を開きます。ここで接続数として使用する環境変数を選択することができます。


SAP B1 サービス

SAP B1 2004、2005、2007、または SAP B1 8.8 の各サービスには、以下のパラメータ（太字のパラメータは必須）があります。

パラメータ | 説明
SAP B1 リソース(SAPB1 Resources) | ここには接続するSAP B1リソースが表示されます。修正はできません。SAP B1リソースにはSAP B1データベースに接続するのに必要な詳細情報があります。［リソース］ボタンをクリックしてリソースを選択することができます（下を参照してください）。
トレースオブジェクト(Trace Objects) | ここには、このサービスでどのオブジェクトの変更をモニタしたいかを表示します。［オブジェクト］ボタンをクリックしてオブジェクトを選択します（下を参照してください）。
ポーリング間隔(Polling Interval) | SAPB1が新しい処理をチェックする間隔を設定します。

ISAP HANAトリガを使用したい場合、［ODBCデータソース管理者］ダイアログボックスに定義されている、ODBC接続文字列を取得し、それを［SAPB1 マルチMultiリソースリスト］の［接続プロパティ］カラムに入力する必要があります。

SAP B1 2004、2005、2007、または SAP B1 8.8 の各サービスには、は以下のボタンも利用できます。

ボタン | 説明
リソース | SAPB1複数リソース一覧を開きます。［設定］ダイアログの［リソース］セクションで定義されたSAPB1リソースの一覧が表示されます。必要なリソースを選択します。
オブジェクト | ［SAPB1 トレースオプジェクト設定］ダイアログボックスが開きます。［新規］をクリックして［新規トレースオブジェクト定義］ダイアログボックスを開きます。 オブジェクトをドロップダウンリストから選択し、オブジェクトに割り当てたい処理の横のチェックボックスにチェックを入れ、［OK］をクリックします。サービスに追加したいトレースオブジェクトごとにこの手順を繰り返します。 SAPB1の必要なトレースオブジェクトを［SAPB1トレースオブジェクト設定］ダイアログボックスで追加したら［OK］をクリックします。
デプロイ | SAPB1データベースにストアドプロシージャを作成します。ストアドプロシージャは、［オブジェクト］ボタン（上記）をクリックしたときに選択したオブジェクトに基づいています。

異なるSAPデータベースに置かれている同じオブジェクトの変更をモニタする場合は、各データベースに対する複数接続を定義することができます。そして適切な接続のみを選択するか［全てのリソース］チェックボックスにチェックを入れます。これにより、トリガに定義された全ての接続を使用することができます。


SAPB1複数リソース一覧

このリストは、以前に［設定］ダイアログボックスの［リソース］セクションで定義したSAPB1リソースを選択することができます。

［設定］ダイアログボックスの［サービス］セクションでSAPB1サービスを定義する時に、これらのリソースを使用することができます。

  • 特定のSAPB1リソースの隣のチェックボックスを選択します。

  • [カンパニーデータベースを使用する]チェックボックスをオンにするか、［トリガデータベースの詳細］を入力して[OK]をクリックします。［トリガデータベースの詳細］には、サーバ名やデータベース名、ユーザ、およびパスワードが含まれています。これは、Magic xpiが監視している1つ以上の会社のトリガテーブルを保持する新しいデータベースです。この専用データベースを作成するのは顧客の責任になります。

  • 複数のリソースを選択することができます。

  • すべての有効なSAPB1リソースを選択する場合は、［全てのリソース］チェックボックスを選択してください。

パラメータ

説明

接続プロパティ

接続プロパティカラムにODBC接続文字列を入力します。これは、リソースのDBサーバタイプがHANA DBに設定されている場合にのみ有効になります。

ここでは、[ODBCデータソースアドミニストレータ]ダイアログボックスで定義されているODBC接続文字列を入力する必要があります。

必要な形式は<接続文字列>\<db owner>です。

バックスラッシュ（\）が入力されていない場合は、エントリ全体が接続文字列と見なされ、db ownerの値はSAPB1リソースのカンパニーデータベースプロパティから取得されます。

SAPB1 HANAを使用する方法の詳細については、ここをクリックしてください。

カンパニーデータベースを使用

カンパニーデータベースを使用する場合は、特定のSAPB1リソースに対してチェックボックスをオンにします。このオプションを選択すると、トリガとステップは、会社のテーブルを別のトリガのデータベースであるかのように使用します。データベースの詳細は不要になります。[サーバ名]や[データベース名]、[ユーザ]、および[パスワード]の各フィールドは読み取り専用モードになります。

チェックボックスがオフの場合、ユーザは後続のフィールドにトリガのデータベース詳細を入力する必要があります。

サーバ名

トリガのデータベース用のサーバの名前を入力してください。このフィールドは、トリガのデータベースがカンパニーデータベースとは異なるサーバでホストされている場合に適用されます。[サーバ名]フィールドは、[カンパニーデータベースを使用]チェックボックスがオフの場合に有効になります。

[サーバー名]フィールドの値が指定されていない場合、値はSAPB1リソースの[サーバ]パラメータから取得されます。

  • カンパニーサーバ以外のサーバを使用するには、以下の前提条件を満たす必要があります。サーバはリンクサーバにする必要があります。リンクサーバを設定するには、「リンクサーバーを設定するには」というトピックを参照してください。

  • Microsoft分散トランザクションコーディネータ（DTC）Windowsサービスが起動され、実行されているはずです。

Since version: 4.7.6

データベース名

データベースの名前を入力します。これは、Magic xpiが監視する会社のトリガテーブルを保持する新しいデータベースです。ユーザは同じデータベースに複数の会社を追加することができ、Magic xpiはそれらを監視できます。

トリガテーブルの名前は、<サーバ名>_<カンパニーデータベース名>_magic_xpi_triggerと同じになります。このテーブルは、StudioからDeployコマンドが呼び出されたときに作成されます。

トリガ用の専用データベースを作成し、接続の詳細を提供するのはユーザの責任です。Magic xpiは、データベーステーブルに対してCRUD操作を実行する権限を持っている必要があります。

ユーザ

トリガのデータベースに接続するためのユーザIDを入力してください。

パスワード

指定したユーザ名のトリガのデータベースに対して認証するためのパスワードを入力します。

  • 選択せずにSAPB1の複数リソース一覧を閉じるには、[キャンセル]をクリックします。

  • SAP HANAの実装の場合、トリガデータベースは同じHANAサーバ上になければなりません。

  • 今後Magic xpiはこれらのオブジェクトを使用しないため、ibolt_notificationストアード・プロシージャーおよびibolt_triggerテーブルが既に存在する場合は削除します。

  • Magic xpi 4.7.6にサービスをデプロイする前に、Magic xpi 4.6.5の修正プログラムの一部としてSBO_SP_PostTransactionNoticeストアドプロシージャに変更が加えられた場合は、それらの変更を元に戻す必要があります。

  • スクリプトをカンパニーデータベースにデプロイすることとは別に、スクリプトのコピーも次の場所に作成されます。

%currentprojectdir%\service\<サーバ>_<カンパニーデータベース>\StoredProcedure.sql

変更前の既存のストアドプロシージャのバックアップは、バックアップ時のタイムスタンプで作成され、次の場所に保存されます。

%currentprojectdir%\service\<サーバ>_<カンパニーデータベース>\<タイムスタンプ>_StoredProcedure.sql

  • テーブル作成スクリプトは、次の場所にも生成されます。

  • カンパニーデータベースを使用してトリガテーブルを作成する場合、テーブル作成スクリプトは次の場所に保存されます。

%currentprojectdir%\service\<サーバ>_<カンパニーデータベース>\<カンパニーデータベース>_CreateTable.sql

  • 別のトリガのデータベースを使用してトリガテーブルを作成した場合、スクリプトは次の場所に保存されます。

%currentprojectdir%\service\<サーバ>_<トリガデータベース>\<カンパニーデータベース>_CreateTable.sql

  • これらのスクリプトを作成すると、ユーザは必要に応じて手動でスクリプトをデプロイすることができます。


SAP ERP サービス

SAP ERP サービスには、以下のパラメータ（太字のパラメータは必須）があります。

パラメータ

説明

SAP ERP リソース

ドロップダウンリストからSAP ERPリソースを選択してください。

SAP ERPサービスを設定する前に、[設定]ダイアログボックスの[リソース]セクションですでにSAP ERPリソースが設定されていることを確認してください。

SAP GW ホスト名

SAP ERPゲートウェイのホスト名を入力します。

をクリックして環境変数一覧を開きます。ここでホスト名として使用する環境変数を選択することができます。

SAP GW サービス

SAP ERPゲートウェイのサービス詳細を入力します。

をクリックして環境変数一覧を開きます。ここでサービス名として使用する環境変数を選択することができます。

プログラムID

SAP ERPゲートウェイで登録されるプログラムIDを入力します。

をクリックして環境変数一覧を開きます。ここでプログラムIDとして使用する環境変数を選択することができます。

接続数

並行処理のために使用されるRFCの接続数を入力します。

  • 2つのプロジェクトを同じサービス定義で定義すると、Magic xpiで問題が発生します。2つのプロジェクトが同じ定義で異なるiDOCで実行されている場合、いくつかのiDOCはもう一方のサーバーに移動して無視されるため、失われてしまいます。

  • 2つ以上のMagic xpiプロジェクトが同じProgidを使って並行して実行されている場合、Magic xpiランタイムは同じIDoc Typeでも異なるMessage TypeのIDocsを取得することはできません。
    この制限を克服するには、各プロジェクトで別々のProgidを使用していることを確認してください。

  • 同じProgidを使用して複数のMagic xpiプロジェクトが並行して実行されている場合、Magic xpiランタイムは、同じIDocタイプでメッセージタイプが異なるIDocを取得しません。この制限を克服するには、プロジェクトごとに個別のProgidを使用していることを確認してください。


Schedulerサービス

Schedulerサービスには、以下のパラメータが含まれています：

パラメータ

説明

スケジューラタイプ(Scheduler Type)

フロー呼出しが実行して欲しい場合。ドロップダウンリストから以下の1つを選択してください：

  • 間隔 …… 以下でリストされた3タイプ以外のユーザ定義の間隔の場合はここを選択してください。例えば1ヶ月間で毎日10:00。

  • 日次…… 日単位でフローをスケジューリングする場合は、ここを選択します。この画面で時刻と日単位の頻度(例えば2日ごと)を定義することができます。

  • 週次 …… 週単位でのフローをスケジューリングする場合は、ここを選択します。フロー実行する曜日や時刻、週単位の頻度(例えば2週間ごと)を定義することができます。

  • 月次 …… 月単位でフローをスケジューリングする場合は、ここを選択します。フロー実行する月やその月の日にちや時刻を定義することができます。

選択すると、ダイアログボックスのオプションは変更されます。スケジュールタイプの各オプションの説明については以下を参照してください。

休日カレンダー

スケジューラーが特定の日付でフローを呼び出さないようにするには、休日カレンダーを選択して日付を選択します。

カレンダーのリストは、カレンダーセクションで定義されたカレンダーのリストに基づいて入力されます。

休日カレンダーで構成されたスケジューラーの場合、Magicモニターの[スケジューラー]タブには、休日カレンダーによって除外されたスケジューラーイベントのエントリが引き続き表示されます。

(Since version: 4.13)

［スケジューラタイプ］パラメータ(上記)で間隔を選択した場合：

開始時にスケジューラ実行時間を計算

スケジューラが計算を開始する開始ポイントを定義します。チェックされると、スケジューラは、サーバが読み込まれてから計算を開始します。

このチェックボックスが選択される(デフォルト)と、スケジュール間隔に日、時間、分、および数秒を入力することができます。例えば、2時間ごとにスケジューラを実行させたい場合は、［時］フィールドに2を入力します。サーバが読み込まれてから、2時間おきに実行します。

このチェックボックスが選択されない場合、［時間後の分］フィールドにスケジューラを実行したい経過時間（0～59の数値）を入力する必要があります。また［時］フィールドに時間で間隔を入力する必要があります。［時間後の分］の値が経過しない限り、スケジューラの実行は現在の時間から開始されます。

例えば、現在の時間が"12:20"で、スケジューラが、毎回 2時間と35分ごとに実行するように設定されている場合、スケジューラの実行は、"12:35"に開始され、次に"14:35"に開始します。

詳細

日 …… ［間隔］に日数を入力してください。

時 …… ［間隔］に時間数を入力してください。

分 …… ［間隔］に分数を入力してください。

秒 …… ［間隔］に秒数を入力してください。

［スケジューラタイプ］パラメータ(上記)で日次を選択した場合：

毎

スケジュールが実行される日数を選択してください。

例：

4 …… スケジューラが4日ごとに起動されることを意味しています。

7 …… スケジューラが1週間に1回起動されることを意味しています。

実行時刻

スケジューラを起動させたい日中の時間のリストを入力する選択ボックスです。

をクリックして有効時効リストを開いてください。フローを実行したい日の時間を追加してください。

有効なエントリがない場合、真夜中(00:00)に実行されます。

［スケジューラタイプ］パラメータ(上記)で週次を選択した場合：

日付選択

スケジューラを起動する日付

間隔

スケジュールが実行される日数を選択してください。

例：スケジューラが、隔週(2を入力)ごとや毎月第4週に実行するように定義できます。これは、必ずしも月末であることを意味している訳ではありません。

実行時刻

スケジューラを起動させたい日中の時間のリストを入力する選択ボックスです。

をクリックして有効時効リストを開いてください。フローを実行したい日の時間を追加してください。

有効なエントリがない場合、真夜中(00:00)に実行されます。

［スケジューラタイプ］パラメータ(上記)で月次を選択した場合：

月の選択

フローを実行する年の月数

日付選択

スケジューラが作動する月の日付。

をクリックして、日数選択カレンダーを開きます。毎月のフロー実行のために日付を選択します。このようにして複数の日付を選択することができます。

実行時刻

スケジューラを起動させたい日中の時間のリストを入力する選択ボックスです。

をクリックして有効時効リストを開いてください。フローを実行したい日の時間を追加してください。

有効なエントリがない場合、真夜中(00:00)に実行されます。

関連トピック

有効時刻

日付選択

カレンダー


有効時刻

  • 時間をリストに追加するには、［新規］クリックしてください。

  • 時間をリストから削除するには、［削除］をクリックしてください。

  • 追加した時間を保存する場合は、［OK］をクリックしてください。

  • 時間を追加せずにリストを閉じるには、［取消］をクリックしてください。


ServiceMaxサービス

ServiceMax サービスには、以下のパラメータ（太字のパラメータは必須）があります。

パラメータ

説明

ServiceMaxリソース(ServiceMax Resource)

ドロップダウンリストから ServiceMaxリソースを選択してください。

ServiceMaxサービスを設定する前に、[設定]ダイアログボックスの[リソース]セクションですでに ServiceMaxリソースが設定されていることを確認してください。

Since version:

4.6


Sugar サービス

Sugar サービスには、以下のパラメータ（太字のパラメータは必須）があります。

パラメータ

説明

Sugar リソース(Sugar Resource)

ドロップダウンリストから Sugarリソースを選択してください。

Sugarサービスを設定する前に、[設定]ダイアログボックスの[リソース]セクションですでに Sugarリソースが設定されていることを確認してください。


TCP リスナーサービス

TCPListner サービスには、以下のパラメータ（太字のパラメータは必須）があります。

パラメータ

説明

ポート(Port)

クライアントのリクエストを受け、処理するTCPポートを入力します。

ポートの値を入力するか、 [image] をクリックして環境変数一覧を開きます。ここでポートの値として使用する環境変数を選択します。

リトライ間隔(Retry Interval)

インスタンスの最大数に達した場合、Magic xpiサーバがフローを呼び出そうと別の試みを実行する前に、経過する時間(秒数)を指定します。デフォルトは10秒です。

タイムアウト(Timeout)

クライアントが受信した最後の応答とクライアントが送信する新しいリクエストとの間のアイドル時間(数秒)を指定します。例えば、アイドル時間を60秒に設定し、クライアントがこの60秒間に次のリクエストを送信しない場合、エラーが発生し、接続は終了します。

デフォルトは0秒です。これは、タイムアウトが発生せず、TCPListnerは接続を終了せず、無制限にリクエストを待つことを意味しています。

タイムアウトの値は、mgreq.iniファイルの[REQUESTER_ENV]セクションのRequesterTimeoutSec で定義される場合、サービスで定義されたタイムアウトよりも優先されます。Mgreq.iniファイルは、次のフォルダにあります。

<Magic xpi インストールフォルダ>\Runtime


WebSphere MQ サービス

WebSphereMQサービスには、以下のパラメータ（太字のパラメータは必須）があります。

パラメータ

説明

WebSphereMQ リソース(WebSphereMQ Resource)

ドロップダウンリストから WebSphere MQリソースを選択してください。

WebSphere MQサービスを設定する前に、[設定]ダイアログボックスの[リソース]セクションですでに WebSphere MQリソースが設定されていることを確認してください。


Web Services

Web Serviceを提供したい場合、最初に[設定]ダイアログボックスの[リソース]セクションでWeb サービスプロバイダーを定義し、[設定]ダイアログボックスの［サービス］セクションでWeb サービスパラメータを定義する必要があります。次に［Web Service］ユーティリティをフローのトリガエリアにドラッグすると、このコンポーネントをこれらのパラメータで動作するように構成することができます。

サービスをUDDIレジストリで発行したい場合、UDDIリソースも定義する必要があります。

ユーティリティとしてのWeb サービスには、以下のパラメータ（太字のパラメータは必須）があります。

パラメータ

説明

Web Serviceプロバイダ(Web Service Provider)

［設定］ダイアログボックスの[リソース]セクションで作成したリソースのリストから、必要なWeb サービスプロバイダーリソースを選択してください。

Web Service名(Web Service Name)

サービス名の .jar ファイル。

サービスネームスペース(Service Namespace)

サービスのネームスペース識別子が表示されます。値はこちらで説明されている［Web Serviceデプロイメント］ダイアログボックスから取得されます。

SOAP バージョン(SOAP Version)

このWSDLファイルで使用されているSOAPプロトコル。ドロップダウンリストから以下のいずれかを選択します。

  • SOAP 1.1

  • SOAP 1.2

オペレーションンタイプ(Operation Type)

SOAP Binding/Encoding タイプ。ドロップダウンリストから以下のいずれかを選択します。

  • Document/Literal

  • Document/Wrapped

  • RPC/Literal (Magic xpiは、複雑なタイプのRPCをサポートしません.)

添付ファイルタイプ(Attachment Type)

引数として送られないサービスレベルの添付がSOAPリクエストに添付されるかを指定します。ドロップダウンリストから以下のいずれかを選択します。

  • MIME (デフォルト)

  • DIME

UDDI サーバ(UDDI Server)

Web Service発行に使用される UDDIリソース。

Web Serviceをサービスとして構成するときに以下のボタンが利用できます。

ボタン

説明

オペレーション

このボタンをクリックして［Web Serviceオペレーション］ダイアログボックスを開きます。ここで、サービスの動作と動作パラメータを定義します。詳細についてはこちら をクリックしてください。

マネージメント

このボタンをクリックして［管理Web Serviceデプロイメント］ダイアログボックスを開きます。ここでWeb Serviceのデプロイ開始/停止を行ったり、UDDIサーバへの発行を行うことができます。詳細については、こちらをクリックしてください。

サーバが動作することを保証するにはSystinetサーバに配備しなければなりません。

関連トピック：

Magic SOAP サーバー


Web Serviceオペレーションの詳細

[設定]ダイアログボックスの［サービス］セクションでWeb Serviceを定義する時に、［オペレーション］ダイアログボックスを開くために［オペレーション］ボタンをクリックする必要があります。ここで、オペレーションとそれらのパラメータを定義することができます。新しいオペレーションを追加するには、ダイアログボックスの左側のペインの下の［追加］をクリックしてください。ユニークな名前を、追加する各オペレーションに割り当てる必要があります。

ダイアログボックスには、以下のフィールドがあります：

名前

説明

タイプ

オペレーションタイプ。ドロップダウンリストから以下のいずれかを選択します。

  • 本文

  • 添付ファイル

引数名

有効な引数名を入力します。

方向

ドロップダウンリストから以下のいずれかを選択します。

  • 入力

  • 入/出力

  • 戻り

データタイプ

オペレーションにより扱われるデータのタイプ。ドロップダウンリストから以下のいずれかを選択します。

  • 文字

  • 数値

  • 論理

  • 日付

  • 時刻

  • BLOB

書式

書式文字列によって戻りパラメータの形式を定義します。例えば15文字の英数字パラメータの書式定義は15になります。

XSDタイプ

このフィールドは､XMLドキュメントのデータ形式フォーマットを定義します。ドロップダウンリストから以下のいずれかのXMLタイプを選択します。

  • Attachment

  • XML Document …… このオプションを選択し、 [image] をクリックすると､［ドキュメント形式のスキーマ］ダイアログボックスが開きます。このダイアログボックスで呼び出し側に返すXMLを定義するスキーマを選択することができます。ネームスペースが既に定義されているスキーマを選択する必要があります。

  • xsd:base64Binary

  • XSD:string

XML スキーマ

[設定]ダイアログボックスの［リソース］セクションから定義済みの XMLスキーマを選択します。


Web Service実行詳細

サービスリポジトリでWeb Serviceを定義するには、［管理］ボタンをクリックして［Web Service実行］ダイアログボックスを開く必要があります。

サーバが動作することを保証するにはSystinetサーバに配備しなければなりません。

このダイアログボックスには以下のフィールドがあります。

名前 | 説明
WSDL URL | ここには、WSDL URLが<server URL>/<service name>形式で表示されます。内容は自動的に更新されます。 例： http://myserver:6060/service1
エンドポイント URL | ここには、WSDL SOAPアドレス要素で定義されたエンドポイントURLが表示されます。内容は自動的に更新されます。
サービスネームスペース | サービスのネームスペースを入力します。
Web Serviceのデプロイ | このチェックボックスのチェックを外すとサービスは生成されますがデプロイされません。デフォルトではチェックが入っています。
デプロイ日付 | ここには、最後にサービスがデプロイされた日付が表示されます。

ダイアログボックスには以下のボタンがあります。

ボタン | 説明
生成 | このボタンをクリックするとサービスを生成しデプロイします。
アンデプロイ | このボタンをクリックすると現在のサービスの実行停止をSystinetサーバに指示します。
OK | このボタンをクリックすると［Web Serviceデプロイ］ダイアログボックスを閉じ、情報を保存します。


Magic SOAP サーバ

Home > リファレンスガイド > 設定 > サービス > Web Services > Magic SOAP サーバー

Magic SOAP サーバー

Magic SOAPサーバーを使用すると、ユーザーはMagic xpiでWebサービスを管理できます。 ユーザーは、xpi StudioからWebサービスを展開し、Magic SOAPサーバーのWebインターフェイスからそれらを表示および展開解除できます。 ユーザーは、サービスをデプロイして表示し、Magic SOAPサーバーでこれらのサービスのWSDLファイルを生成できます。

サーバの開始

Magic SOAP Serverは、以下のようにいくつかの方法で起動できます。

サービス起動

Magic SOAPサーバーは、Magic xpi 4.13 Soap Serviceという名前のWindowsサービスとしてインストールされ、自動的に起動します。このモードで実行することをお勧めします。

手動起動

デスクトップセッションから手動で実行するには、<Magic xpi のインストールフォルダ>\xpi_webserver\binフォルダーに移動し、コマンドプロンプトからrunSoapServer.batファイルを実行します。

スタンドアロン起動

Magic xpiをインストールせずにMagic SOAPサーバーをスタンドアロンとして実行するには、次の手順を実行します。:

  • 互換性のあるJDKがインストールされ、JAVA_HOME変数が正しく設定されていることを確認してください。

  • Apache Tomcat サーバをインストール

  • Tomcatインストールのconfおよびwebservice-configフォルダーを、既存のMagic xpi 4.13以降のインストールからの以下にリストされたフォルダーにそれぞれ置き換えます。

  • <Magic xpi のインストールフォルダ>\xpi_webserver\conf

  • <Magic xpi のインストールフォルダ>\xpi_webserver\webservice-config

  • webserviceprovider.warファイルを<Magic xpi のインストールフォルダ>\xpi_webserver\webappsからTomcatインストールのwebappsフォルダーにコピーします。

  • <Tomcat のインストールフォルダ>\binフォルダーからstartup.batファイルを実行します。

要件に従って、ユーザーは<Tomcat のインストールフォルダ>\confフォルダにあるserver.xmlファイルのポートを手動で変更できます。

Magic SOAPサーバーへのアクセス

Magic SOAPサーバーはポート6443で起動します。

  • サーバーにアクセスするには、ブラウザでURL http://localhost:6443/webserviceproviderを開きます。

デフォルトの接続値は下記のとおりです:

  • User Name: admin

  • Password: changeit

デプロイされたサービスの一覧

Magic SOAP Serverページには、デプロイされたすべてのWebサービスが表示されます。

サービスは、Webサービスの[Webサービスデプロイメントの詳細]セクションからStudioにデプロイされます。

セキュリティ操作はInternet Explorerではサポートされていません。

(Since version: 4.13)


カレンダー

スケジューラサービスは、定義された周期でスケジューラを実行するように設定することができます。実行間隔は、日次、週次、月次のいずれかで、スケジューラサービスの設定で定義することができます。

また、その年の特定の日にスケジューラの実行を停止することもできます。例えば、国民の祝日など、スケジューラを実行しなくてもよい日を選択することができます。スケジューラサービスを実行しない日を定義するには、除外カレンダーを使用します。

［設定] ダイアログボックスの [カレンダー] セクションには、この除外/ホリデーカレンダーを定義するための中心的な場所が用意されています。これらのカレンダーの定義は、<プロジェクト名>フォルダ内のXMLファイル（Calendars.xml）に保存されます。カレンダーに加えられた変更は、実行中のすべてのプロジェクトに対して即時に有効になります。例えば、ユーザーは、プロジェクトの実行中にスタジオまたは外部環境設定を使用してカレンダーを更新することができ、プロジェクト内の次の予定されたイベントは、休日カレンダーの変更に基づいて評価されます。

カレンダーの日付は、Calendars.xml ファイルに常に YYYY-MM-DD 形式で保存されます。

カレンダーを定義するには:

  1. ［プロジェクト］メニューから、［設定］を選択して、設定ダイアログボックスを開きます。

  2. 設定ダイアログボックスの左側のペインで、[カレンダー] をクリックします。

  3. ［追加］をクリックします。設定ダイアログボックスの カレンダー セクションに新しいカレンダーが表示されます。

  4. 次に、カレンダーのパラメータを入力します。

  5. カレンダーにさらにエントリを追加するには、カレンダー名の上にカーソルを合わせ、[追加] をクリックします。

カレンダーを右クリックすると、コンテキストメニューが開きます。ここで、カレンダエントリの名前変更または削除を選択できます。

カレンダータイプには、以下のパラメータが含まれています。

パラメータ | 説明
名前 | ［名前］フィールドは、日付に名前を付けるために使用できます。名前には、スケジューラを実行してはいけない祝日やスケジュールされたシャットダウンを指定することができます。
日付 | 日付ピッカーを使用して除外日を選択します。値はyyyy/mm/dd形式で定義されます。 カレンダーはMagic.iniファイルのDateModeで設定する書式をサポートします。ユーザはMagic.iniファイルのDateModeで設定された書式に従って日付を手動で入力できます。

(Since version: 4.13)

関連トピック：

DateInCalendar


プロジェクト環境

[設定]ダイアログボックスの［プロジェクト環境］セクションは、ifs.iniファイルからの選択されたエントリが含まれています。

ここでの設定を更新すると、対応するifs.iniファイルのエントリも更新されます。プロジェクトがロードされる時に、ifs.iniは1回読み込まれます。ifs.iniファイルが［プロジェクト環境］セクションとは別の任意の場所で修正されると、変更内容は反映されません。これは、［プロジェクト環境］セクションでの変更が、プロジェクトが開いている限りifs.iniに書き込まれることを意味しています。しかし、プロジェクトが読み込まれる場合だけ、［プロジェクト環境］セクションは1回だけifs.iniから読み込まれます。

このセクションのエントリは、以下のグループで表示されます：

  • デバッグ用フラグ

  • SAPアダプタ設定

  • 一般的な設定

  • 内部環境変数 …… これらはここで説明された内部環境変数と同じですが、Magic.iniファイルの代わりにifs.iniファイルに保存されます。

  • ユーザー環境変数 …… これらはここで説明されたユーザ環境変数と同じですが、Magic.iniファイルの代わりにifs.iniファイルに保存されます。


デバッグ用フラグ

以下のフラグは、特定のMagic xpiコンポーネントをデバッグすることを支援します。

名前

説明

Debug Mapper

このフラグは、Magic xpi のlogsフォルダに作成されるデータマッパログを有効にすることでデータマッパーのデバッグをより容易にします。

ドロップダウンリストから以下の1つを選択してください：

  • No (デフォルト)

  • Yes

プロジェクトの ifs.ini ファイルのエントリ： DebugMapper

Debug DCRM Component

このフラグは、Magic xpi のlogsフォルダで作成されるDynamics CRMコンポーネントログを有効にすることでDynamics CRMコネクタのデバッグをより容易にします。

ドロップダウンリストから以下の1つを選択してください：

  • No (デフォルト)

  • Yes

プロジェクトの ifs.ini ファイルのエントリ： DebugMDCRMComponent

Debug SharePoint Component

このフラグは、Magic xpi のlogsフォルダで作成されるSharePoinコンポーネントログを有効にすることでSharePoinコネクタのデバッグをより容易にします。

ドロップダウンリストから以下の1つを選択してください：

  • No (デフォルト)

  • Yes

プロジェクトの ifs.ini ファイルのエントリ： DebugSharepointComponent

Debug Exchange Component

このフラグは、Magic xpi のlogsフォルダで作成されるExchangeコンポーネントログを有効にすることでExchangeコネクタのデバッグをより容易にします。

ドロップダウンリストから以下の1つを選択してください：

  • No (デフォルト)

  • Yes

プロジェクトの ifs.ini ファイルのエントリ： DebugExchangeComponent

Debug SFDC Component

このフラグを使用すると、Magic xpi logフォルダの下に作成されたSalesforceコンポーネントログをアクティブ化し、Salesforceコネクタをデバッグできます。

ドロップダウンリストから次のいずれかを選択します:

  • No (デフォルト)

  • Yes

このフラグはxpi 4.13から非推奨となります。.

新しいロギング機能については、 ロギングとデバッグオプションを参照してください。


SAPアダプタの設定

以下のフラグは、Magic xpiのSAPコネクタを使用して動作させる場合に機能を提供します。

名前 | 説明
SAPB1 Locking | このフラグはSAPのロックをコントロールします。複数のSAPB1ステップに、プロジェクト全体の実行範囲で同時に動作させることを許すために、Nを入力してください。 プロジェクトの ifs.ini ファイルのエントリ：SAPB1Locking
SAPB1 Remove Empty Nodes | このフラグは、XMLインタフェースでSAPB1を設定する時に発生するかもしれない空ノードを削除するか残すかを指定します。空ノードをXMLの設定から削除する場合は、Yを入力してください。 プロジェクトの ifs.ini ファイルのエントリ： SAPB1RemoveEmptyNodes
Rfc Allow Start Program | このフラグは、どのプログラムが、クライアント上で実行できるかを指定します。 プロジェクトの ifs.ini ファイルのエントリ： RfcAllowStartProgram
Debug Trace Level | このフラグは、拡張されたトレースオプションをSAP ERPコネクタに追加します。 プロジェクトの ifs.ini ファイルのエントリ： DebugTraceLevel


一般的設定

以下のフラグは、一般的なMagic xpiプロジェクトの設定を支援します。

名前

説明

HTTP Proxy Address

HTTPホスト：ポート

ifs.ini ファイルのエントリ： HTTPProxyAddress

HTTP Timeout

設定された時間(秒数指定)が経過した後で、HTTPコンポーネント(Post/Get)の検索フェーズを停止することができます。デフォルト値は0です。HTTPタイムアウトが2分であることを意味しています。

ifs.ini ファイルのエントリ： HTTPTimeout

Soap Spy Address

SoapSpyアドレス。デフォルトはポート4242。

ifs.ini ファイルのエントリ： SoapSpyAddress

Reserved License Threads

サーバが自身の使用のために確保するスレッド数。この値は、プロジェクトのメタデータの一部としてスペースに保存されます。

プロジェクトが実行される時に、ワーカはこの特性で定義されたライセンスをチェックしますが、チェックインはしません。ワーカがフローを完了した時も、ライセンスは開放されません。プロジェクトのワーカの残りは、プールからライセンスを使用し続けることができます。

サーバが手動でシャットダウンされたり、Magic モニタで停止された場合、確保されたライセンスはプールに戻ります。そのプロジェクトを処理しているサーバは、フローティングライセンスを消費し続けます。しかし、サーバが再起動したり、別のサーバがそのプロジェクトのために読み込まれると、確保されたライセンスはもう一度チェックアウトされます。

このフラグが0(デフォルト値)に設定されている場合、プロジェクトはライセンスを確保することなく、ライセンスプールで有効なライセンスを使用します。

ifs.ini ファイルのエントリ： ReservedLicenseThreads

License Name

プロジェクトが使用しているライセンス。Magic xpiライセンスの構造の詳細について、ここをクリックしてください。

ifs.ini ファイルのエントリ： LicenseName

Disable Activity Log

メッセージが書き込まれる場所へのログを無効にします。このフラグの詳細について、ここをクリックしてください。

ドロップダウンリストから以下の1つを選んでください：

  • No (デフォルト)

  • Yes

ifs.ini ファイルのエントリ： DisableActivityLog

Nullify XML Source NonExistent Tag Value

送り先に渡される値がデータタイプに対するデフォルトとして残すかNullにするかを指定しますj。

ドロップダウンリストから以下の1つを選んでください：

  • No (デフォルト)

  • Yes

ifs.ini ファイルのエントリ： NullifyXMLSourceNonExistentTagValue

Nullify JSON Source NonExistent Tag Value

送り先に渡される値がデータタイプに対するデフォルトとして残すかNullにするかを指定しますj。

ドロップダウンリストから以下の1つを選んでください：

  • No (デフォルト)

  • Yes

ifs.ini ファイルのエントリ： NullifyJSONSourceNonExistentTagValue


一般環境

［設定］ダイアログボックスの［一般環境］セクションには、Magic.iniファイルの[MAGIC_LOGICAL_NAMES]セクションに格納jされている環境変数が含まれています。［一般的な環境］セクションでは、プロジェクトで使用する新しい環境変数を入力したり、既存の環境変数を編集することができます。環境変数の詳細について、ここをクリックしてください。

このセクションのエントリは、以下のグループで表示されます。

  • 内部環境変数

  • ユーザ環境変数

内部環境変数

これはMagic xpiの恒久的な環境変数のリストです。これらは、Magic xpiスタジオや実行環境で必要なため削除することができません。しかし、値を変更することはできます。新しい環境変数をこのセクションに追加することはできません。

Magic xpiサーバの読み込みに失敗するため、Magic.iniファイルのprojectsフラグの値を変更しないようにしてくいださい。

ユーザ環境変数

これは、ユーザが入力した環境変数のリストです。新しい環境変数を追加したり、既存の環境変数を削除したりすることができます。環境変数の値を編集することもできます。エントリを追加したり削除する時または、エントリの値を編集すると、変更内容はMagic.iniファイルに保存されます。プロジェクトが読み込まれるときに、Magic.iniは1回ロードされます。Magic.iniファイルが［一般的な環境］セクションとは異なる別の場所で修正された場合、変更内容は反映されません。

これは、［一般環境］セクションの変更内容は、プロジェクトが開いている限りMagic.iniに書き込まれることを意味しています。しかし、プロジェクトが読み込まれる時だけに、［一般的な環境］セクションは1回Magic.iniから読み込まれます。

新しい環境変数を追加するには：

  1. ［プロジェクト］メニューから、［設定］を選択します。［設定］ダイアログボックスが開きます。

  2. ［設定］ダイアログボックスの［一般環境］セクションで、［ユーザ環境変数］をクリックしてください。

  3. 新規エントリ行を開くために、［追加］をクリックしてください。

  4. 環境変数を入力して、TABを押下してください。

  5. 値(環境変数として置き換える実際の値)を入力してください。環境変数の文字列の制限は260文字です。

  6. 環境変数をMagic.iniファイルに追加するために、［適用］をクリックしてください。

環境変数を定義する場合、次の文字はサポートされていません： @ # - & \ / < > { } [ ]( ) , ; " % =

環境変数を削除するには：

  1. ［ユーザ環境変数］リストから環境変数を選択してください。

  2. 環境変数をリストから削除するには、［削除］をクリックしてください。

  3. 環境変数をMagic.iniファイルから削除するには、［適用］をクリックしてください。

環境変数を更新するFlow Dataユーティリティを使用することができます。これを使用すると、値は現在の実行中の変更のみ有効で、サーバが停止すると保存されません。値は、環境変数を使用する同じスレッド内ですべてのステップによって認識されています。


ビジネスプロセス

［プロパティ］ペインのビジネスプロセスを設定します。そのプロパティにアクセスするには、ソリューションエクスプローラで関連したビジネスプロセスにパークしてください。

設定 | 説明
名前 | ビジネスプロセスの名前。名前には最高30桁の文字を含めることができます。
説明 | ビジネスプロセスの説明を入力してください。
パス | ビジネスプロセス・ファイルの位置を表示する読み込み専用パラメータ。
ID | 内部の識別子番号。これはシステムによって自動的に決定されます。これらの識別子は、プロジェクトで各オブジェクトを識別するためにデプロイ中にMagic xpiサーバによって使用されます。

ビジネスプロセス上で右クリックすると、以下のオプションを持つコンテキストメニューが開きます。

  • フロー追加 …… フローを追加するには、ここをクリックしてください。

  • コピー …… ビジネスプロセスをコピーしたら、ビジネスプロセスのコピーを貼り付けるために、カーソルをプロジェクトノードに置いてください。

  • 削除

  • 名前の変更

  • チェッカー

  • Windowsエクスプローラでフォルダを開く

  • プロパティ


フロー

フローは、統合プロセスを定義する場所です。フロー内部には、統合プロセスを管理するためのフローコンポーネントを組み込みます。また、フローのエラー処理ポリシーを定義することもできます。

フローエディタにはトリガエリアが備わっており、ここには、フローの実行をトリガするために使用するコンポーネントを配置することができます。

Magic xpiは、あなたにフロー実行のためにロジック条件を引き起こさせる式エディタを持っています。定義されたフロー変数を条件の一部として使用することができます。

関連トピック

フロープロパティ

フローの挿入

フローエディタ

フロー内でODSを使用

変数

ユーザ定義ストレージ

フローロジックの使用

フリーの無効化、不稼働化、削除

ミニマップ


フロープロパティ

［プロパティ］ペインでフローを設定します。プロパティにアクセスするには、ソリューションエクスプローラで関連するフロー上でパークしてください。

ペインには3つのセクションがあります。

  • 一般

  • 有効化

  • 外部

設定

説明

全般

名

フローの名前。名前には最高30桁の文字を含めることができます。次の特殊文字を含めることができません： / ? : & \ * " < > | # %.

説明

フローの説明を入力します。

パス

フローファイルの位置を表示している読み込み専用パラメータ。

ID

内部の識別番号。システムによって自動的に決定されます。 このIDは、プロジェクト内の各オブジェクトを識別するため､実行中にMagic xpiサーバによって使用されます。

自動繰返

最後のフローコンポーネントが完了した後でサーバによってフローを再び呼び出すかどうかを決定します。この機能を有効にすると、ループ効果を作成できます。YesまたはNoを選択します。

フローを自動繰返にすると、Auto Repeatアイコン（左側参照）がトリガエリアの左側に表示されます。

Magic xpiのループの作成についての詳細についてはこちらを参照してください。

自動起動

Magic xpiサーバが起動時にフローを呼び出すかどうかを決定します。YesまたはNo を選択します。

トリガやスケジューラを持たないフローの場合､このプロパティをYesに設定します。そうしないと他にフローを開始する方法がありません。他にこのプロパティをYesにする例としては、テーブル初期化、ログテーブル消去などフロー呼出時に毎回行ないたい機能がある場合です。

フローを自動起動にするとAuto Startアイコン（左側参照）がトリガエリアの左側に表示されます。

start.xml設定ファイルのAutoStart load = entryについての情報は、ここをクリックしてください。

DBトランザクション

ドロップダウンリストからYesまたはNoを選択します。デフォルトはNoです。Yesを選択すると［データベースリソースリスト］が開きます。ここでFlow Dataベーストランザクションに含まれる、最大５つまでのデータベースリソースを選択します。

ここでフロー呼出を含めこのフローに関わる全てのDBリソースを定義する必要があります。

フロートランザクションを使用し、事前にフロー（またはサブフロー）で使用するデータベースリソースを定義していなかった場合、ロールバックやコミットの時に予想外の動作をすることがあります。このため、事前に全てのデータベースを選択する必要があります。

Yes を選択するとフローは実行を開始し、全ての定義されたデータベースでトランザクションが開かれ、フロー終了時に閉じます。

マッパーステップのDBトランザクションモードは、Flow Dataベーストランザクションに含まれていないデータベースリソースにのみ適用されます。Flow Dataベーストランザクションで定義されたデータベースはフロートランザクションの一部として振舞います。

フロー呼出や起動フロー（同期）はトランザクションに含まれます。

Magic xpiはネスとトランザクションをサポートしません。

有効にする

フローを有効にするか無効にするかをYes/Noで選択します。

フローを無効にすると、プロジェクトがデプロイされてもフローは実行されません。

アクティブ

フローを稼働させるかさせないかを、Yes/Noで選択します。

不稼働にマークすることでチェッカーのパフォーマンスを高めることができます。これによって、フローはチェッカー処理やデプロイ処理から除外されます。

最大インスタンス

フローが持つことができる並行インスタンスの数を制限します。

サーバが呼び出すことができるフローインスタンスの最大数を入力します。

フローを実行しようとしているワーカは、このフローのために［最大インスタンス数］で最初にスペースをチェックし、この値を越えない場合にだけ、フローが実行されます。現在実行中のフローの数が［最大インスタンス数］を超えている場合は、エラーメッセージが表示されます。

例えば、HTTPトリガを持つフローは何度も呼び出されることがあり、このプロパティによってそれを制限しない限り、同じフローの複数のインスタンスを持つことになります。

これは、環境設定ファイルのReservedLicenseThreadsフラグと混同しないでください。これはライセンスと関連しています。

リカバリ ポリシー

エラーが起こる時に、この特性はフローの標準の復興政策を決定します。リカバリーポリシーは主要なリニアなフローにのみ適用されます。

リカバリーメカニズムは､フローがクラッシュした時に開始されます。この状況で、フローの動作は、フローが無視（なし）されたり、再起動したり、中断したり、最後のセーブポイントから起動したりするかを定義します。

なし以外のすべての場合、［フロー］プロパティの［クリーンアップリカバリーフロー］を定義していると､クリーンアップ処理（ユーザのクリーンアップを含む）がフローの実行/アボート前に行なわれます。セーブポイントデータがない場合、［セーブポイント］オプションは［再起動］と同じ動作をします。

リカバリメカニズムの詳細については、ここをクリックしてください。

タイムアウト ポリシー

タイムアウトに達した場合に、何が発生するかを定義します。タイムアウトポリシーのオプションは以下の通りです：アボート、再起動、なし。

フローがタイムアウトすると、タイムアウトはフロータイムアウトとフローグレースタイムアウトの合計値となり、ワーカーのステータスはSTUCKの値に変わり、ライセンスのステータスはCHECKED_INと表示されます。現在のステップの実行が終了すると、フローはアボートされます。

ワーカーがスタックした場合、新しいスレッドが呼び出され、それ以降のリクエストが処理されるようになりました。(Since version: 4.12）

タイムアウト値(無制限)

このプロパティは、Magic xpiが終了する前に、フローがどれくらい実行するかを定義します。

フローが無制限に応答を待つことを防止するために、IBM iとコマンドラインなどの外部システムと接続する場合にタイムアウトをフローに設定することを推奨します。

タイムアウトをフローに設定する場合、最初に、フローの実行にどれくらいの時間がかかるかをチェックする必要があります。フロータイムアウトは、制限のないフロー(他のフローから呼ばれなかったフロー)にだけ働くことに注意してください。これは、呼び出すフローと呼び出されたフローにタイムアウトが定義されると、呼び出すフローのタイムアウトだけが強制されるとを意味しています。

  • フロータイムアウトは、実行可能な最初のポイントで実行されます。ステップがトランザクションの途中または外部スレッドにある場合、このトランザクションが終了した後にタイムアウトが適用されます。

  • 複数のMagic xpiサーバーを使用している場合、すべてのPCのクロックが同期することを確認してください。

フロータイムアウトは、［ユーザ定義据置期間］の後でスレッドをキルします。フローが、応答(例えばHTTPとWeb Services内で)を待ち、［再起動］オプションとトリガを含む場合、トリガーに対する応答はタイムアウトエラーになり、フローは新しいスレッド内で再起動します。

フロータイムアウトの詳細については、ここをクリックしてください。また、リカバリメカニズムの詳細についてはここをクリックしてください。

コメント

この読み込み専用のプロパティには、移行されたプロジェクト内でテキストエリアツールを使用して追加されたテキストを表示します。 Since version: 4.5

有効化

有効化サービス

フローがいつ可能にしたいかを表示するために、ドロップダウンリストから以下の1つを選択してください：

  • 常に …… フローは常に有効です。

  • 新規 …… ［設定］ダイアログボックスの［サービス］セクションの設定のために準備された新しい［フロー使用可能］サービスを開きます。

  • <フロー有効サービス名> (デフォルト): …… 選択された［Flow Enablement］サービスで定義されたパラメータに従ってフローは可能になります。

外部

クリーンナップリカバリフロー

どのフローが、リカバリ処理の一部としてクリーンナップデータを処理するために使用されるか示すために、 [image] をクリックしてフローリストを開きに、フローを選択し、［選択］をクリックします。

エラー処理フロー

どのフローがエラーコードを処理するために使用されるかを示すために、 [image] をクリックしてフローリストを開きに、フローを選択し、［選択］をクリックします。

エラーコードを処理するために特定のフローを割り当てると、Error Flowアイコン(左側に表示されるような)がトリガエリアに表示されます。

ロジックフロー

どのフローがフローロジックを処理するために使用されるかを示すために、 [image] をクリックしてフローリストを開きに、フローを選択し、［選択］をクリックします。

ここでフローを選択すると、［コールロジックフロー］コンポーネントのプロパティをYesに設定する必要があります。

正常に終了したかどうかは無関係に、コンポーネントの終了後にロジックフローが実行します。

ロジックフローと一緒にエラーフローがある場合、コンポーネント内にエラーがあるとロジックフローは動作しません。

サブスクライブ名

フローを呼び出すことができるイベントにフローを購読するには、を [image] クリックして、PSS トピックリストを開きます。イベントを選択して［OK］をクリックします。

一度だけサブスクライブ

フローが購読されるイベントがフローを一度だけ呼び出すか、イベントが発生するたびに呼び出すのかを指定します。オプション：No/Yes


フローの挿入

フローを挿入するには：

  1. ソリューションエクスプローラで、フローの挿入先とするビジネスプロセスを選択します。

  2. ［プロジェクト］メニューから［追加］を、次に［フロー］をクリックしてください。

  3. フローを設定します。

  4. コンポーネントとMagic xpiユーティリティをフローエディタにドラッグします。

関連トピック

フローにコンポーネントを配置する


フローリスト

  • リストからフローを選択して、［選択］をクリックします。

  • リストを再読込するには、［リセット］をクリックします。

  • 選択しないでフローリストを閉じるには、［キャンセル］をクリックしてください。

フロー名は昇順で表示されます。


フローエディタ

フーロエディタにフローを挿入することでフローを作成することができます。フローエディタには、トリガとフローのエリアがあります。フローをトリガするコンポーネントは、トリガエリアに自動的に配置されます。フローの一部であるコンポーネントは、メインのフローエリアに配置されます。フローはコンポーネントの配置順に実行されますが、コンポーネントの分岐を移動して、分岐の順序を変更することもできます。

さらに、フローロジックを作成することもできます。これは、フローを実行するための条件やルールを設定します。

フローで右クリックし、［フローを上移動］または［フローを下移動］を選択することでソリューションエクスプローラ内のフローの順序を変更することができます。

トリガコンポーネントはトリガエリアに配置します。

以下はフローエディタに表示されている様々な表示アイテムの一覧です。

表示項目

説明

ステップの［処理完了を待つ］パラメータがYesに設定されていることを示しています。

コンポーネントアイコンの右上のコーナーの赤いホイールシンボルは、コンポーネントが設定されていないことを示しています。

処理モード：

  • 実線はステップ間の接続を示します。

  • 点線はステップ間のパラレル接続を示しています。.

  • 破線はステップ間のスタンドアロン接続を示しています。

フローを自動起動としてマークすると、Auto Startアイコンがトリガエリアの左側に表示されます。

フローを自動繰返としてマークすると、Auto Repeatアイコンがトリガエリアの左側に表示されます。

フローにブレイクポイントが定義されていると、赤い点がアイコンの左上のコーナーに表示されます。

ステップが一時停止と定義されていると、グレーでが表示されます。

GoToアイコンは、このステップがフロー内の他のステップの実際のポインタであることを示しています。これはフローに既にあるコードを再利用する簡単な方法です。

他のコンポーネントへ進むコンポーネントを選択した場合、Magic xpiは次に実行されるコンポーネントに点線で表示します。

次のテーブルは、フローエディタ内の要素について説明したものです。

要素

説明

インスタンス/ステップ

  • [ツールボックス]ペインからフローへ複数のコンポーネントをドラッグすることができます。各コンポーネントはフロー内のインスタンスまたはステップを表しています。

  • Ctrl+Fを押下するか、［編集］メニューを開き［検索］メニューから［リファレンス検索］を選択すると、［リファレンス検索結果］ダイアログボックスが開きます。この機能を使用することで、探索文字列を含む最初のステップを見つけることができます。

  • Ctrl+Shift+Fを押下するか、［編集］メニューを開き［検索］メニューから［テキスト検索］を選択すると、［テキスト検索］ダイアログボックスが開きます。この機能を使用することで、探索文字列を含む最初のステップを見つけることができます。

プロセスモード

  • フローは一度に一つのリニアなパス、または分岐のみ実行できます。フローロジックを使用してこのパスを指定できます。

  • フローはフローの各レベルで複数の並行ステップを持つことができます。

分岐の縮小/拡大

  • フローエディタで長いフローを作成した場合、その分岐を展開したり折りたたんだりできます。これによりスクロールダウンせずに多くのフローを表示させることができます。

  • 分岐を折りたたむには､折りたたみたい分岐の最初のステップで右クリックし、コンテキストメニューから［縮小］を選択します。

  • 展開表示させたい場合は、ステップで右クリックし、［展開］もしくは［全て展開］をコンテキストメニューから選択します。ステップの下の [image] アイコンは、分岐が拡張できることを示しています。このアイコンをクリックすることでもステップを拡張することができます。

  • 分岐を縮小させると、選択したステップ配下の全てのステップと分岐は縮小表示されます。

  • 最後に縮小/展開されたステップの情報はプロジェクト外部の外部ファイルに保存されます。プロジェクトを開くと、分岐の前回の状況が保存されたファイルから読み込まれます。

フロー ロジック

  • フローロジックを指定するには、式エディタを使用して条件を設定します。式エディタにアクセスするには、フローロジックを追加するコンポーネントで右クリックしてコンテキストメニューから［条件］を選択します。


フロー内でODSを使用

オペレーショナルデータストレッジ(ODS)システムは、複数のコンポーネントやフローが共用できるデータの保存方法を提供します。ODSは、すばやくデータの保存場所にアクセスできるデータベースのタイプです。Magic xpiを使用すると、データをODSに入力して、さまざまなフローで使用できるようになります。Magic xpiでは、ODSデータを簡単に管理できます。

Magic xpi ODSシステムは、ODSに保存されている各アイテムのエントリを保持するデータテーブルを管理しています。ODSに保存されている各アイテムは、フローシーケンスIDとユーザキーで認識されます。 新しいエントリーをODSリポジトリに作成することでプロジェクトにユーザキーを追加することができます。

インテグレーションフローの実行中にODSデータを自動的に管理するには、以下の二つの方法があります。

  • データマッパーユーティリティを使用してデータをODSエントリーにマップします。データマッパーを使用する場合は、最初にODSエントリーをODSリポジトリで作成しなければなりません。

  • Flow Dataユーティリティを使用すると、ODSエントリーにデータを挿入したり更新、削除を行うことができます。 またはODSエントリーそのものをエントリーに含まれる全てのデータごと削除することもできます。これによりODSデータをフローの一部として管理することができます。


ODS リポジトリ

ODSエントリを作成するには、ODSリポジトリを使用します。ODSエントリはユーザキーと同じです。各エントリは、データもしくはデータの配列を格納できます。ほとんどの場合、ODSエントリを最初に作成し、その後データを取り扱うためにフローを設定します。ODSデータについての詳細に関しては、Operational Data Storage (ODS)を参照してください。

ODSエントリはODSリポジトリで作成します。ODSリポジトリは全ての固定のODSエントリ名と説明を管理し、データマッパやFlow Dataユーティリティを使用してODSデータを管理するときに使用されるODSエントリを選択できるようにします。

ODSエントリをリポジトリに追加するには：

  1. ソリューションエクスプローラの［リポジトリ］セクションで、［ODS］をダブルクリックして［ODSリポジトリ］を開きます。SHIFT+F6を押下することで［ODSリポジトリ］を開くこともできます。

  2. ［新規］をクリックして新しいエントリを作成します。新規をクリックすると次の行が有効になります。

  3. 以下の情報をリポジトリのカラムに入力します。

プロパティ

説明

名前

ODSデータの名前を入力します。これはユーザキーです。名前には最高30桁の文字を含めることができます。名前には、以下の文字を含めることができません： [スペース] ~ ` ! @ # , % ^ & * - = + ( ) { } [ ] | " ? / \ < > ; または複数のドット(.)。

説明

データの使用目的がわかるような説明を入力します。これはオプションです。

スコープ

ドロップダウンリストから以下の1つを選択してください。

  • グローバル (デフォルト) …… フロー間のデータを保存します。すべてのフローはデータを検索することができます。

  • ローカル …… 同じフロー内の並行ステップによる使用のための特定のフローのためにデータをODSデータベースに保存します。特定のフローが完了したら、データはODSから消去されます。

  4. 情報の入力が終了したら、［OK］をクリックしリポジトリを閉じデータを保存します。

  5. エントリーを削除する場合は、リポジトリ内のトピックを選択し［削除］をクリックすることでリポジトリからトピックが削除されます。エントリを削除する前に、プロジェクト内の別の場所で使用されていないことを確認してください。リファレンス検索ユーティリティを実行することでこれを行うことができます。

  • ODSリポジトリで定義したODSのスコープを変更した場合、ODSがデータマッパーで送り先タイプとして使用されていると変更は反映されません。例えば、ODS1というグローバルODSを定義し、そのスコープをローカルに変更した場合、プロジェクト実行時にはローカルODSではなくグローバルODSが生成されます。

  • 重複した名前でODSリポジトリに追加することはできません。また、［名前］フィールドを空白のままにすることはできません。

  • ODS変数には接頭辞としてOという文字が自動的に追加されます。 Since version: 4.5

  • 無効なエントリが使用された場合、Magic xpiはエラーアイコン [image] を表示します。ツールティップにはエラーの説明が表示されます。 Since version: 4.5


変数

Magic xpiでは、プロジェクトやフローで使用する変数を定義できます。変数とは、フローの条件に基づいて変化する項目を表す任意のタイプのデータを指します。顧客の名前は条件に基づいて変化するため、Customer_Name は変数になる場合があります。変数はフローロジックを作成するために使用されます。

Magic xpiは、以下のタイプの変数をサポートしています。

  • フロー変数 …… ソリューションエクスプローラ内の関連したフローの下で フロー変数 をダブルクリックすることでアクセスできます。または、［プロジェクト］メニューを選択し、フローエリアが表示されるたら［変数］をクリックするか、関連したフロー上でパークして、Ctrl+L.を押下することでアクセスできます。

  • コンテキスト変数 …… ソリューションエクスプローラ内の［リポジトリ］フォルダの下で［コンテキスト変数］をダブルクリックすることでアクセスできます。

  • ビジネスプロセス変数 …… ソリューションエクスプローラの関連したビジネスプロセスの下で［BP変数］をダブルクリックすることでアクセスできます。

  • グローバル変数 …… ソリューションエクスプローラ内の［リポジトリ］フォルダの下で［グローバル変数］をダブルクリックすることでアクセスできます。

様々な変数リポジトリは、フローコンポーネントにデータアイテムを保存したり取り出したりするストーレッジエリアです。これらは、フローロジックを管理したりデータをコンポーネントから別のコンポーネントに移動するために使用することができます。

変数リポジトリでは、以下のようにすることで［リファレンス検索結果］ダイアログボックスを開くことができます：

  • リポジトリ内にパークしている状態でCtrl+Fを押下する。

  • リポジトリ内にパークしている状態で［編集］メニューを選択し、［検索］をクリックし、［リファレンス検索］を選択します。

  • リポジトリ内にパークしている状態で右クリックを行い、コンテキストメニューから［リファレンス検索］を選択する。

これによって、選択された変数がMagic xpi内でどのように使用されているかを検索することができます。探索文字列を含む最初の変数を見つけるためにこの機能を使用することができます。検索は、名前と説明のカラムのみの文字を対象に行われます。

変数を削除しようとする前に使用されていないことを確認してください。リファレンス検索ユーティリティを実行することでこれを行うことができます。

変数は以下のプロパティが含まれています：

プロパティ

説明

名前

変数名。大文字小文字の区別はありません。

変数名には、次の文字を含めることができません： [スペース] ~ ` ! @ # , % ^ & * - = + ( ) { } [ ] | " ? / \ < > ; 複数のドット(.)。

実行するには、変数名は英語またはOSの言語に対応する必要があります。

変数名の長さは、30文字です。しかし、Magic xpiがを各変数名に接頭辞（例えばF.、C.またはG.）に追加するため、実際の変数の最大サイズは28文字になります。

全ての変数タイプで名前を変更する場合は、リファレンス検索ユーティリティを使用してその変数がどこで使用されているか確認する必要があります(変数がEnvVal関数で使用されている場合に限って、環境変数に対するリファレンス検索はサポートされます。)。この操作はフローをメモリにロードし、全体的な名前変換を可能にします。

変数をリネームすると、以下の場所の変数名が自動的に変更されます：

  • 以前に開かれていて、変数を使用した式が含まれている式エディタ。

  • 開かれいて、変数が含まれているか、変数を使用した式が含まれているステップ特性。

  • 変数を含むステップ上の条件。

  • 送り元または送り先に変数が定義されたデータマッパー。

変数をリネームしても以下の場所では変数名は自動的に変わりません。

  • UDS

  • ODS

  • 変換テーブル

説明

変数の簡単な説明

タイプ

データタイプ。ドロップダウンリストから以下のいずれかを選択します。

  • Alpha

  • BLOB

  • Date (参照： データタイプ変数の更新)

  • Logical

  • Numeric (数値型変数は、小数点以下を含めて17桁までの数値です。小数点も数字として扱われます。負数の場合は、Nが接頭辞として数値に追加されます。)

  • Time

  • UDSモデルをUDSリポジトリで定義した場合、それらはフロー変数タイプ(フロー変数リポジトリの［タイプ］カラム）に追加されます。

  • 変数のタイプを変更した場合、Flow Dataユーティリティとデータマッパーの接続内でのみ自動的に変更されます。変更された変数を他の場所で使用または選択すると、チェッカーがミスマッチエラーを返します。

  • Alpha タイプの変数の場合、最大長は 32k 文字です。 長さが 32k を超える場合、変数が Data Mapper の一部として式または文字列関数で使用されている場合、32k 文字に切り捨てられます。(Since

各データタイプは、格納エリア内の情報へのアクセスを可能にするユニークキー（名）を持っています。データタイプへのアクセスは、ユーザ定義文字列によって可能になります。

データタイプを変更すると、フローを読み込んだりチェックアウトしない限り、現在それを使用している式では変数名は更新されません。

長さ

変数の最大長

デフォルト値

変数のデフォルト値。以下の設定が可能です。

  • 変数には、文字列を自由に入力できます。

  • をクリックし式エディタを使用してデフォルト値を作成できます。

式は、既存の式の計算規則を使用して各変数のために順々に計算されます。

  • 式エディタを使用して変数を含むデフォルト値を定義する場合、グローバル変数または環境変数のみ使用することができます。

  • デフォルト値としてハードコーディングされた文字列を使用する場合、英語とOS上の言語だけがサポートされます。(Since version: 4.5).

式でグローバル変数とローカル変数を区別するためにMagic xpiは自動的に変数に接頭辞を付与しています。以下が接頭辞です。

  • F …… フロー変数

  • B …… ビジネスプロセス変数

  • C …… コンテキスト変数

  • G …… グローバル変数

  • P …… PSS 変数

  • O …… ODS 変数

  • U …… UDS 変数

これらの接頭辞は自動的に追加されるため、変数名のみ入力します。しかし、式を編集したい場合、適切な接頭辞も入力しなくてはなりません。


フロー変数

フロー変数リポジトリは、データアイテムを保存したり、取り出すためにフローコンポーネントによって使用されるストーレッジエリアです。フローロジックを管理するためにフロー変数を使用することができます。

フロー変数の値は、定義されるフローのコンテキスト内で有効になります。

フロー変数を定義するには：

  1. 以下の方法のどれかでフロー変数リポジトリを開いてください：

  • ソリューションエクスプローラの関連したフローの下で［フロー変数］をダブルクリックする。

  • 関連したフローの上にパークして、 Ctrl+L.を押下する

  2. ［追加］をクリックしてリストに一行追加します。

  3. 変数のプロパティを定義します。これらのプロパティの完全な説明は、ここをクリックして参照してください。

  4. 関連したプロパティを入力したらメニューバーの［フロー変数 の保存］をクリックしてください。

  5. 関連した行の上でパークし、［削除］をクリックし［保存］を選択することで変数を削除することができます。

  • プロジェクト内の各フロー変数には、ユニークな名前を割り当てる必要があります。Magic xpiでは、複数のフローが同じコンテキストを共有している場合（親子関係の場合など）、同じ名前を持つフロー変数は、別のフローで定義されていても区別されません。

  • 無効なエントリが使用された場合、Magic xpiはエラーアイコン [image] を表示します。ツールティップにはエラーの説明が表示されます。 Since version: 4.5

関連トピック

ビジネスプロセス変数

コンテキスト変数

グローバル変数


コンテキスト変数

コンテキスト変数は、新しいコンテキスト（スレッド）が起動した時に作成されます。この変数はコンテキストが生きている間は、終了までに複数のフローをまたがった場合でも有効です。コンテキスト変数の定義は、プロジェクト内の全てのフローに引き継がれます。この変数はプロジェクト内の全てのフローのために一回定義されます。コンテキスト変数はフローロジックを管理するため、そしてプロジェクト内の全てのフローのコンポーネント間でデータをやり取りするために使用されます。

成功事例 | データマッパーを使用して、送り先のフロー呼出を使用して前のフローから呼び出されたデータを操作します。
 | サブプロセスを使用して、メインプロセスで受け取ったデータの確認を行います。

コンテキスト変数を定義するときは、各フローに自動的に生成されます。Flow Dataユーティリティまたは、データマッパを使用してコンテキスト変数に値を割り当てることができます。これらの値に変更を加えた場合、その特定のリニアなプロセスに対してのみ、その変更は反映されます。これはプロジェクト内にパラレルなフローがあった場合も同様です。コンテキスト変数はそれぞれが定義されたリニアプロセスごとに固有の値を持ちます。

定義済みのコンテキスト変数は以下の通りです。

変数

説明

タイプ

長さ

C.sys.ErrorCode

現在のエラーコードです。ステップに入る段階でこの変数はクリアされ、ステップ動作でエラーが発生した場合に値が設定されます。この変数は次のステップ条件でしか使用できません。エラーコードはC.sys.LastErrorCodeにも保存され、こちらはクリアされません。この変数と.NETの詳細は、ここをクリックしてください。

数値

12

C.sys.ErrorDescription

エラーの説明。ステップに入る段階でこの変数はクリアされ、ステップ動作でエラーが発生した場合に値が設定されます。この変数は次のステップ条件でしか使用できません。エラーコードはC.sys.LastErrorDescription にも保存され、こちらはクリアされません。この変数と.NETの詳細は、ここをクリックしてください。

文字

1000

C.sys.RemoteUser

この変数は外部コールからのユーザ名を保持します。これはHTTPトリガで使用されます。

文字

30

C.sys.LastErrorFlowName

最後のエラーが発生したフローの名前。

文字

30

C.sys.LastErrorStepName

最後のエラーが発生したステップの名前。

文字

30

C.sys.LastErrorInfo

エラーについての詳細情報。送り元または送り先のタイプがデータベースの場合、データベースに送られたSQL文がエラー情報に含まれています。送り元または送り先のタイプがXMLの場合、検証エラーがエラー情報に含まれます。

BLOB

C.sys.LastErrorCode

最後のエラーコード。新しいエラーが発生するとこの変数が設定されます。新しいエラーコードによって上書きされるまで、エラーコードは変数内に保持されます。

数値

12

C.sys.LastStepID

最後に実行されたステップのID。この変数は各コンポーネントの実行の後に設定されます。

数値

12

C.sys.LastFlowID

最後に実行されたステップのフローID。この変数は各コンポーネントの実行の後に設定されます。

数値

12

C.sys.LastErrorDescription

最後のエラーの説明

文字

1000

C.sys.LastErrorComponentType

最後のエラーが発生したコンポーネントのタイプ。

エラーを見つけるには、どのコンポーネントタイプでエラーが発生したか、そしてエラーコード(C.sys.ErrorCode)の情報を知る必要があるので、この変数は有益です。もし両方の変数が更新されていれば、モニタにマッチしたエラーが表示され、エラー動作が行なわれます。

数値

12

C.sys.LastTriggerName

この変数はフローを起動したコンポーネント名を保持します。この変数はトリガ呼び出しごとに更新されるので、トリガがあったかどうかをフローから確認するのに使用することができます。

文字

30

C.sys.ContextLogging

動的にコンポーネントロギングをコントロールするフローレベル(コンテキスト)変数。True（デフォルト値）に設定されると、ロギングは、［コンポーネント］プロパティの［のロギング］セクションで定義され内容に基づいて動作します。G.sys.ComponentLogging 変数の設定によって上書きされます。

論理

1

C.sys.InvokingBPName

最後にエラーが発生したり、起動フローが呼びだされたビジネスプロセス。

文字

30

C.UserString

この変数はフロー内のコンポーネント間の文字-数値情報の受け渡しに使用されます。

文字

1000

C.UserCode

この変数はフロー内のコンポーネント間の数値情報の受け渡しに使用されます。

数値

12

C.UserBlob

この変数はフロー内のコンポーネント間の不確定な形式の情報の受け渡しに使用されます。

BLOB

C.UserXML

XMLインタフェースが使用される場合に、設定用のXMLをコンポーネントに渡す内部の処理で使用されます。

BLOB

C.HTTP_Body

HTTPリクエストのBody。

<Magic xpi>\scripts\config\mgreq.ini ファイルのHttpVarsが有効で、MG_POST_BODYを含んでいることをを確認してください。

BLOB

C.sys.InvokingFlowName

最後のエラーが発生したり、起動フローが呼びだされたフロー名。

文字

30

C.sys.InvokingComponentName

最後のエラーが発生したり、起動フローが呼びだされたコンポーネントの名前。

文字

30

C.UserString, C.UserBlob そして C.UserXMLの各変数はコンポーネントで定義されているデフォルト変数で、同じ形式のユーザ定義変数に変更することができます。

ただし二つの例外があります。

  • コンポーネントXMLインタフェースは、常に C.UserXML変数をもとにしています。

  • 全てのメッセージトリガは、メッセージ内容としてC.UserBlob変数を使用します。

コンテキスト変数を作成するには：

  1. ソリューションエクスプローラの［リポジトリ］フォルダの下で、［コンテキスト変数］をダブルクリックするとコンテキスト変数リポジトリが開きます。または、SHIFT+F4を押下することでも開きます。

  2. ［追加］をクリックしリストに一行作成。

  3. 変数のプロパティを定義してください。これらのプロパティの説明は、ここをクリックして参照してください。

  4. 関連したプロパティを入力したら、メニューバーの［コンテキスト変数 の保存］をクリックしてください。

  5. 関連行の上でパークし、［削除］と［保存］をクリックすることで変数を削除することができます。エントリを削除する前に、プロジェクトの別の場所で使用されていないことを確認してください。リファレンス検索ユーティリティを実行することでこれを行うことができます。

重複した名前をコンテキスト変数リポジトリには追加できません。また、［名前］フィールドは空白のままにはできません。

関連トピック

フロー変数

ビジネスプロセス変数

グローバル変数


ビジネスプロセス変数

ビジネスプロセス変数はビジネスプロセスの範囲で定義されます。ビジネスプロセス変数の定義は、ビジネスプロセス内の全てのフローで利用できます。ビジネスプロセス変数は、一度定義すればビジネスプロセス内の全てのフローで使用できます。フローで変更されたビジネスプロセス変数は、同じビジネスプロセス内の全てのフローに影響を与えます。

ビジネスプロセス変数は、同じ実行プロジェクトに属しているすべてのサーバで共有されるため、これらの値はスペースに保存され、各プロセスのメモリには保存されません。

最良事例

グローバル変数を使用する場合と同じ方法でビジネスプロセス変数を使用します。ただし、全てのプロジェクトではなくビジネスプロセスレベルでのみ有効だということに留意してください。

ビジネスプロ セス変数を作成するには：

  1. ソリューションエクスプローラの関連したビジネスプロセスの下で、［BP変数］をダブルクリックしてBP変数ポジトリを開きます。

  2. ［追加］をクリックしてリストに一行作成します。

  3. 変数のプロパティを定義してください。これらのプロパティの説明は、ここをクリックして参照してください。

  4. 関連したプロパティを入力したら、メニューバーの［BP変数 の保存］をクリックしてください。

  5. 関連行の上でパークし、［削除］と［保存］をクリックすることで変数を削除することができます。

関連トピック

フロー変数

コンテキスト変数

グローバル変数


グローバル変数

グローバル変数は、同じメモリアドレスを共有する同じプロジェクト内の全てのフローで利用できます。あらゆるフローでグローバル変数に加えられた変更は、そこで使用されている全てのフローに影響を与えます。これらの変数はフロー変数と同じ方法で使用されます。

グローバル変数は、同じ実行プロジェクトに属しているすべてのサーバで共有されるため、これらの値はスペースに保存され、各プロセスのメモリには保存されません。

グローバル変数を使用してプロジェクト内の全てのフローのコンポーネント間でデータ転送を行ったり、フローロジックを管理したりすることができます。

最良事例 | プロジェクトの開始時に環境変数として保存された値でグローバル変数を初期設定してください。
 | パフォーマンスを向上させえるために、プロジェクトに渡って環境変数の代わりにグローバル変数を使用してください。

変数 | 説明 | タイプ | 長さ
G.sys.ServerInstance | スペースによって与えられたユニークなMagic xpiサーバID。 | 数値 | 5.0
G.sys.ComponentLogging | この変数を使用して、動的にコンポーネントロギングをコントロールします。 この変数は、C.sys.ContextLogging変数の設定を上書きします。 両方の変数がTrue(デフォルト値)に設定されている場合、コンポーネントのロギングタブで定義されるようにロギングが動作します。 | 論理 | 1

グローバル変数を作成するには：

  1. ソリューションエクスプローラの［リポジトリ］フォルダの下で、［グローバル変数］をダブルクリックしてグローバル変数リポジトリを開いてください。または、SHIFT+F7を押下することで開くことができます。

  2. ［追加］をクリックしてリストに一行作成します。.

  3. 変数のプロパティを定義してください。これらのプロパティの説明は、ここをクリックして参照してください。

  4. 関連したプロパティを入力したら、メニューバーの［グローバル変数 の保存］をクリックしてください。

  5. 関連行の上でパークし、［削除］と［保存］をクリックすることで変数を削除することができます。エントリを削除する前に、プロジェクトの別の場所で使用されていないことを確認してください。リファレンス検索ユーティリティを実行することでこれを行うことができます。

重複した名前をコンテキスト変数リポジトリには追加できません。また、［名前］フィールドは空白のままにはできません。

関連トピック

フロー変数

ビジネスプロセス変数

コンテキスト変数


日付タイプ変数の更新

Magic xpiは、統合プロジェクトで情報を受け渡しする為にユーザに変数を定義させることができます。変数は異なる形式で定義されます。変数のタイプの一つは日付タイプです。このタイプの変数は常にカレンダ日付を保持しています。

もし変数の値をFlow Dataユーティリティで特定の値に更新したい場合、日付とその形式を示す式を入力しなければなりません。例えば、21/06/2005という日付を入力するには、'21/06/2005'DATE という式を入力する必要があります。日付の形式は、設定ファイル(magic.ini)の[MAGIC_LOGICAL_NAMES]セクションの定義で決まります。

Date() 関数を使用して日付タイプの変数を更新することもできます。この関数は変数を現在の日付で更新します。

例

以下の例では、特定の日付でフロー変数を更新する方法を紹介します。

  1. Magic xpiスタジオで既存のフローを開くか新しいフローを作成します。

  2. フロー変数をフローに追加し形式を Date に設定します。

  3. ［ツールボックス］ペインからFlow Dataユーティリティをフローにドラッグします。

  4. ［Flow Data設定］ダイアログボックスで［追加］をクリックしてテーブルに以下の行を追加します。

  5. ［アクション］カラムでドロップダウンリストから Update を選択します。

  6. ［タイプ］カラムで Flow を選択します。

  7. ［名］カラムで、 [image] をクリックして定義した変数をリストから選択します。

  5. ［更新式］カラムで [image] をクリックして式エディタを開きます。

  6. 必要な値（日付）を入力し、シングルクオーテーションで囲み､後ろにDATEを入力します（後ろのシングルクオーテーションとDATEの間にはスペースは入りません）。入力はこのようになります。'21/06/2009'DATE.

  7. ［確認］をクリックし、式を確認します。

  8. ［OK］をクリックして、式エディタを閉じます。

  9. ［OK］をクリックして、設定を終了します。

  10. サンプルのフローを実行します。


ユーザ定義ストレージ

Magic xpiのUDS（User Defined Storage）は、多次元ストレージテーブル（配列)を定義することができます。これらの定義をインテグレーションフローで使用して、マルチインスタンスデータタイプの保存や読み出しを行うことができます。

UDSデータはメモリに保存されているため、現在実行中のフローでのみ利用できます。しかし、UDSデータをBLOB形式で受け取ることができるため、後で使用することもできます。UDSリポジトリでUDSモデルを定義します。

UDS機能を利用するには：

  1. ソリューションエクスプローラの［リポジトリ］セクションで、 UDS をダブルクリックしてUDSリポジトリを開きます。または、 SHIFT+F10を押下することで開くこともできます。

  2. UDSリポジトリは二つのペインに分かれています。左側のペインには以下の特性があります。

プロパティ | 説明
名 | 特定のUDSモデルのために定義する名前。例：顧客。 名前には最高30桁の文字を含めることができます。次の特殊文字を含めることができません： / ? : & \ * " < > | # %、空白、または、3つの疑問符(???)
説明 | これはUDSモデルの説明です。特定のUDSモデルを特定できる情報を含めることができます。あるいはUDSモデルの機能の短い説明を入れることもできます。

  3. 右側のペインは［フィールド］テーブルです。これらのフィールドには、左側のペインに追加したUDSモデルに属している配列を定義します。ここには以下のプロパティがあります。

プロパティ

説明

名前

プロパティの名前を定義します。例：CustomerName。名前には最高30桁の文字を含めることができます。

タイプ

データのタイプをドロップダウンリストから以下のいずれかを選択します。

  • Alpha

  • BLOB

  • Date

  • Logical

  • Numeric

  • Time

例えば、CustomerNameと一致させるには、Alpha（文字）を選択します。

複数のBLOBフィールドに各UDSエントリを追加することはできません。

長さ

フィールドの最大長

インデックス

特定のフィールドをもとにUDSをソートします。例えば、［名前］カラムに入力された CustomerName順でレコードをソートさせることができます。

デフォルト値

デフォルト値を入力します。例えば、特定の顧客名あるいは特定の発注日を入力します。

このフィールドは、明示的な値だけを受け入れます。 関数や式、変数、倫理名は利用できません。 入力された値が明示的な値でない場合、チェッカーによってエラーが返ります。

  4. 各ペインには独自の［新規］と［削除］ボタンがあります。これらはUDSリポジトリからUDSモデルとそのフィールドの追加や削除を行います。

  5. 必要な UDSモデルの入力が終了したら、［OK］をクリックしてエントリーを保存し、UDSリポジトリを閉じます。また、［キャンセル］をクリックすると新規エントリーを保存されずUDSリポジトリを終了することもできます。

  • UDSリポジトリでUDSモデルを定義すると、それらはフロー変数タイプのリストに追加されます (変数リポジトリの［タイプ］カラム)。

  • UDS変数は、フローまたはコンテキスト変数としてのみ定義できます。

  • UDSリポジトリには、ユニークな名前を割り当てる必要があります。また、［名前］フィールドは空白のままにはできません。

  • エントリを削除する前に、プロジェクトの別の場所で使用されていないことを確認してください。リファレンス検索ユーティリティを実行するしてこれを行うことができます。

  • UDS変数は接頭辞としてUという文字が自動的に追加されます。Since version: 4.5

  • 無効なエントリが使用された場合、Magic xpiはエラーアイコン [image] を表示します。ツールティップにはエラーの説明が表示されます。 Since version: 4.5

関連トピック

フローでUDSを使用する

UDSとデータマッパー

UDSとFlow Dataユーティリティ

UDS関数

UDSプロパティ

UDSテーブル - デバッガ


フローでUDSを使用する

このセクションで作業を始める前に、ユーザ定義ストレージを一読されることをお勧めします。

UDSモデルを定義し保存したら、フローで使用することができます。UDSモデルを使用するには、以下の手順に従ってください：

  1. 以下のどれかの方法でフロー変数リポジトリを開いてください。

  2. ソリューションエクスプローラで関連したフローのフロー変数をダブルクリックします。

  3. フローエリアが表示されたら、［プロジェクト］メニューを選択し［変数］をクリックします。

  4. 関連したフローの上でパークし、Ctrl+L.を押下します。

  2. ［追加］をクリックします。［タイプ］カラムのドロップダウンリストから必要なUDSモデル名を選択します。この一覧にはUDSリポジトリで作成した全てのUDSモデルが含まれています。またこの変数の名前を［名前］カラムに入力します。変数にわかりやすい名前を選択してください。この名前が後にフロー変数一覧に表示されます。

  3. この段階で変数の説明を入力することができます。また適切なカラムにデフォルト値を定義することもできます。UDSリポジトリに定義された変数に対して同じことができます。

  4. 終了したら［保存］をクリックし追加や変更を保存し、ダイアログボックスを閉じます。

これで新しい UDS変数を使用することができます。

これらの変数は、Flow Dataユーティリティとデータマッパーユーティリティでのみ使用することができます。

関連トピック

UDS とデータマッパー

UDS とFlow Dataユーティリティ


UDS とデータマッパー

データマッパーユーティリティを使用する場合、UDSをいくつかの方法で利用することができます。

  1. 変数 …… UDSモデルに基づいて変数を定義し、マッパの送り元と送り先として使用します。つまりUDS変数に保存されている全てのデータはBLOBとして扱われます。

送り元と送り先のUDS変数は同じUDSモデルを使用してください。

  2. スタティック UDS …… マッパUDS送り元/送り先タイプにアクセスするとき、必要なUDSモデルとUDS変数を選択し、他の組み合わせを使用するときと同じようにマッパで使用することができます。送り先名と送り先名を入力し、［タイプ］カラムのドロップダウンリストからUDSを選択します。UDSを選択するとデータマッパーには以下のプロパティがあります。

  3. UDS モデル名 …… これはUDSモデルの定義名です。

  4. UDS 変数 …… UDSデータを含む変数名。UDS変数を一覧から選択するとダイナミックUDSオプションが無効になります。

  5. ダイナミック UDS …… 使用したいダイナミックUDSの名前

  6. UDS インデックス（送り先のみ） …… UDSモデルで一つ以上のインデックスが定義されていた場合、使用するインデックスを選択することができます。

  7. 追加 UDS (送り先のみ) …… 既存のUDS変数にデータを追加できます。

  3. ダイナミック UDS …… 式エディタを使用してUDS変数名をダイナミックに定義できます。式は実行時に計算され、実在するUDS変数を参照する必要があります。このオプションはUDS変数フィールドで変数を選択しなかった場合のみ有効になります。

関連トピック

UDSとFlow Dataユーティリティ


UDS とフローデータユーティリティ

Home > リファレンスガイド > フロー > ユーザ定義ストレージ > フローでUDSを使用する > UDS とFlow Dataユーティリティ

UDS とFlow Dataユーティリティ

Flow DataユーティリティでUDSを使用するには：

  1. Flow Dataユーティリティをフローエリアにドラッグしてください。［Flow Data設定］ダイアログボックスが開きます。

  2. ［Flow Data設定］ダイアログボックスの詳細は、ここを参照してください。UDSモデルを使用するには、ダイアログボックスの［タイプ］カラムでドロップダウンリストからのフローを選択してください。

  3. ［名前］カラムで、 [image] をクリックして変数リストを開いてください。

  4. したいUDS変数を選択し、［選択］をクリックしてください。

  5. ［更新式］と［条件］のカラムに関連情報を入力します。これらのプロパティの詳細については、ここをクリックしてください。

関連トピック

UDS とデータマッパー


UDS 関数

Magic xpi はUDSを使用するために以下の関数を提供しています。

  • UDSGet

  • UDSSet

  • UDSClear

  • UDSUpdateField

  • UDSGetField

  • UDSDeleteRecord

UDS関数を使用する場合、ユーザはオプションパラメータを含め全てのパラメータを入力する必要があります。


フローロジックの使用

フローを作成する際、フロー内のコンポーネントの実行方法を決定するロジックを加えることができます。フローロジックは一連の条件やルールのことで、フロー実行時の動作を定義するために指定できます。

Magic xpiサーバが実行時にチェックする式を使用することができます。また、それに応じてコンポーネントを実行することができます。 Magic xpiは多くの分岐を持つフローを作成させます。また、定義した条件に従って分岐から分岐にリンクするか、定義した条件に従って別のフローを呼び出すことができます。

条件やフロー内の条件実行ポイント、条件がTrueまたはFalseの時にどのフローコンポーネントが実行されるかを定義することで、フロー内のフローコンポーネントの実行順序を定義することができます。

このメカニズムは、分岐やループ、および必要な他のすべてのフローロジックを作成します。「一連の値で繰返すには」のトピックを参照してください。

変数はフローのデータビューとして使用され、フロー実行の間に再評価されます。

関連トピック

条件

GoTo


条件

フローの実行動作を定義したりフローロジックを作成するために、条件やルールを使用することができます。

条件やフロー内の条件実行ポイント、条件がTrueまたはFalseの時にどのフローコンポーネントが実行されるかを定義することで、フロー内のフローコンポーネントの実行順序を定義することができます。

フロー内のステップの条件を設定するには：

  1. フローエディタで､条件設定の対象となるステップに対するコンポーネントで右クリックして、コンテキストメニューから［条件］を選択します。これによって、式エディタが表示されます。ステップの［条件］プロパティで [image] をクリックすることで開くこともできます。

  2. 式エディタを使用して、ステップを実行するために必要な条件を記述した式を作成します。［OK］をクリックして式エディタを閉じます。

各コンポーネントの条件は、(下に表示されるように)ステップ上に表示されます。

  • 式には、文字列、フロー変数、関数、およびブール演算子を含めることができます。


GoTo

フローの中で、1つの分岐の実行が完了したとき、どのコンポーネントを実行するのか簡単に表示することができます。これを行うには、Magic xpiのGoToコマンドを使用します。

GoToコマンドを使用するには：

  1. 呼び出し元のコンポーネントを選択します。

  2. 右クリックして、［GoTo］を選択します。

  3. 移動先のコンポーネントを選択します。

  4. Magic xpiによって接続されます。

この矢印は､ステップがフロー内の他のステップへのポインターになっていることを示しています。これはフロー内に既に存在するコードを再利用する簡単な方法です。矢印は、次に実行することになるコンポーネントを直接示しています。

  • GoToコマンドは、共通の親コンポーネントを持つコンポーネントでのみ使用できます。

  • GoToコマンドは、リニアコンポーネントやリニア分岐を示す場合にのみ使用できます。

  • 移動元のコンポーネントで右クリックした後、移動先のコンポーネントを選択する前に、Escを押下することで接続処理をキャンセルすることができます。


フローの無効化、不稼働化、削除

Magic xpiプロジェクト内の個々のフローを有効化したり無効化、非アクティブ化することができます。

無効

フローが無効の場合、プロジェクトを実行してもフローは実行されません。実行時には、Magic xpiモニタにフローが無効になっているという表示が表示されます。

フローを無効にするには、フローの［プロパティ］ペインに移動し、［有効］プロパティのドロップダウンリストからNoを選択します。

有効

フローが無効化されている場合、フローを有効にします。

フローを有効にするには、フローの［プロパティ］ペインに移動し、［有効］プロパティのドロップダウンリストからYesを選択します。

フローの有効／無効はスペースで管理されます。

非アクティブ

フローを非アクティブ化することにより、チェッカーのパフォーマンスを向上させることができます。これを行なうと、フローはチェッカープロセスと実行プロセスから排除されます。

フローを非アクティブにするには、ソリューションエクスプローラに移動して非アクティベートにしたいフローで右クリックし、コンテキストメニューから［非アクティブ］を選択します。

非アクティブにマークしていたフローを有効にするには、ソリューションエクスプローラに移動してアクティベートしたいフローで右クリックし、、コンテキストメニューから［アクティブ］を選択します。

フローが非アクティブの場合

  • アイコンがソリューションエクスプローラのフロー名の隣に表示されます。

  • チェッカーでチェックされなくなります。

  • 作成される実行モジュールに含まれなくなります。

  • データマッパステップが生成されなくなります。

  • 他のフローが非アクティブなフローを呼び出そうとするとエラーメッセージが表示されます。

削除

フローを削除するには、ソリューションエクスプローラに移動し、削除したいフローで右クリックしてください。次にコンテキストメニューから［削除］を選択してください。各ビジネスプロセスは、少なくとも1つのフローが必要です。従って、ビジネスプロセスに一つだけ定義されたのフローは削除することができません。

削除しようとする前に、フローが別のフローによって使用されないことを確認してください。リファレンス検索ユーティリティを実行することによってこれを行うことができます。


ミニマップ

場合によっては、フローが長すぎたり、分岐が多くて画面の表示エリアに納まらないこともあります。Magic xpiのミニマップによって、フロー内に簡単に対応し、特定のフローコンポーネントに迅速に操作できるようになります。

ミニマップは、フローを視覚的に表示します。青色の長方形は、フローエリアで現在表示可能なフロー部分を表示します。青色の長方形をミニマップの任意の場所にドラッグすることで、フローの別の部分を表示させることができます。

  • サイズ ハンドルを要求されたサイズにドラッグすることでミニマップのサイズを変更することができます。

  • ［X］アイコンをクリックしてミニマップを隠すことができます。フローエリアの任意の場所で右クリックし、コンテキストメニューから［隠す］を選択することでも隠すことができます。

  • フローエリアの任意の場所で右クリックし、コンテキストメニューから［ミニマップの表示］を選択することで隠されたミニマップを表示することができます。

Since version:

4.5


式エディタ

Magic xpiの式エディタを使用すると、式を使用した条件を作成することができます。式エディタは、直観的な方式で迅速で容易に行うことを支援します。変数や関数を式フィールドに追加し、これらのオブジェクトを独自の文字列と共に使用すると、フローに合った条件を作成するための式を作成することがきます。

式は、値を計算するための定数または式であり、実行される動作を示す処理の連続や、どの処理が実行されるかを決める演算子から成り立っています。オペランドには、変数や、関数、リテラル、または別の式が含まれている場合があります。

式エディタ内の各エントリは、使用される変数や関数のタイプに基づいて、数値や文字、BLOB、または論理値(True/False)で評価されます。

従来の数学の規則または文字列、論理式に従って任意の演算式を入力することができます。

ここで説明されているような、色々な変数リポジトリに定義されたフロー変数やBP変数、コンテキスト変数、またはグローバル変数を容易に含めることができます。

式エディタで条件を作成すると、これらはフローエディタに表示されます。これがどのように表示されるかは、条件のトピックを参照してください。

式には、最大5,000桁の文字を含めることができます。

無効なタイプの組み合わせが使用された場合、Magic xpiはエラーメッセージを表示します。

式エディタで式をビルドする方法jについて学ぶには、ここをクリックしてください。

式にタイプ入力されるデータは、Unicodeで格納されます。 Since version: 4.0a

関連トピック

式エディタを使用

関数リスト

演算子

i式エディタ内のUnicode

式ウィンドウ内の式を書式設定するには

タイプ入力された関数の名前を自動的に確定するには

関数のヘルプページを開くには

式エディタから関数リストを開くには

式の中で文字列の値を定義するには


式エディタを使用

式エディタで式を作成するには：

  1. 式エディタを開くには、任意の [image] ボタンをクリックしてください。

  2. 以下のどれかの方法で式を作成してください：

    1. 手動で式の異なる部分を入力する。

    2. オートコンプリート機能を使用して(Ctrl+SPACEを押下することでアクセスできます)。これは変数と関数を検索し、ドロップダウンリストという形式で適切な一致するのリストが表示されます。リストをダブルクリックすることで、式に追加したい変数や関数を選択することができます。中国語のPC(Windowsの［地域］ダイアログの［形式］フィールドが中国語に設定されます)を使用している場合、オートコンプリート機能は、SHIFT+SPACEを押下することでアクセスできます。

    3. 以前に説明したように、Ctrl+SPACEを使用して変数と関数のドロップダウンリストを開きます主要なドロップダウンリストをダブルクリックすることで必要な変数または関数を選択することができます。

    4. 以下のボタンのどれかをクリックし、必要な変数または関数でダブルクリックするか、パークしてSPACEまたはEnterを押下してを選択します。

ボタン | ショートカット | 説明
 | Ctrl+1 | 関数リストを開きます。式の中の関数は赤で表示されます。
 | Ctrl+2 | 変数リストを開きます。式の中の変数は青で表示されます。
 | Ctrl+3 | 環境変数リストを開きます。環境変数は式エディタによってEnvVal('env_var')に書式に自動的に変換されます。ここで、EnvValは、赤(関数のため)で表示されて、環境変数自体は黒で表示されます。
 | Ctrl+4 | ODSリストを開きます。式のODS変数は青で表示されます。
 | Ctrl+5 | 送り元ノードリストを開きます。これはデータマッパーで式を編集する時のみ可能です。式の中の送り元ノードは青で表示されます。
 |  | PSSリストを開きます。式の中のPSSトピックは青で表示されます。
 | Ctrl+O | ファイルを選択することができるOSの［ファイルを開く］ダイアログボックスを開きます。ファイルが選択されたら、フルパスが式エディタに入力されます。パスとファイル名だけが入力されるだけで、内容ではないことに注意してください。式の中のファイルパスは黒で表示されます。

  3. 式を入力したら、それが有効な式であることを確認する、［検証］ボタンをクリックしてください。

  4. 新しい式を作成するには、［OK］をクリックしてください。式エディタは終了し、作成された式はフローエディタに表示されます。

式の内容を消去するには、［クリア］をクリックしてください。Shift+Deleteを押下することで、式を削除することもできます。

式を作成せずに式エディタを閉じるには、［キャンセル］をクリックしてください。

  • 以上の方法を使用して条件を作成した場合、ブール演算子を手動で追加する必要があります。

  • テキスト処理と連結は、文字列変数のため必要です。式エディタはBLOB変数の連結はサポートしていません。

  • 文字変数に情報を連結させたい場合は、アンパサンド(&)文字ーを使用する必要があります。

  • 論理変数では、'True'LOG、'False'LOGと同様にTrue、Falseも使用できます。

  • アシスタまたは関数一覧から関数や変数を選択した場合、その一覧を再び使用したい場合はスペースを押下します。

  • XMLパスをツールバーボタンを使用して選択した場合、パスの後ろに追加される演算子と区別するためにパスの最後にスペースが一つ追加されます。ノードパスを式に入力する場合、手動でスペースを追加する必要があります。

  • Ctrl+Fを押下すると［ファイルを開く］ダイアログボックスにアクセスすることができます。この機能を使用して式にファイル名を入力することができます。

  • .式に使用されるオブジェクトがリポジトリから削除されると、式エディタには3つの疑問符(???)で表示されます。これが式の中での唯一のデータの場合、［確認］または［OK］ボタンをクリックすると、'???'という値の文字列に変換されます。別の（連結された式の一部のような）場合は、シングルクオーテーションで囲まれず、式は無効のままになります。

  • 日付と時の間のセパレータはMagic.iniファイルで定義された値（Date Separator と Time Separator.）と合っていなければなりません。

  • 式の中で使用された日付モードは、Magic.iniファイルで定義された日付モード（Date Mode）と合っていなけらばなりません。

このセクションで説明しているように新しいフローやコンテキスト、またはグローバル変数をまとめて作成したり編集することができます。変数を追加したり編集すると、式エディタですぐに利用できます。

有効な論理式の例：

CustomerID = 'Group A' + SSNumber

ここで、CustomerID と SSNumber はフロー変数で、Group A はテキスト文字列です。これによりGroup Aという文字と定義済みのSSNumberにより構成されたCustomer IDが作成されます。テキスト文字列 Group A はシングルクオーテーション（''）で囲まなければなりません。また変数あるいは文字列と演算子の間にはスペースを入力しなければりません。


関数リスト

Magic xpiでは、条件や計算式の一部として関数を使用し、計算を行うことができます。

関数には通常、カンマで区切られた1つ以上の引数が含まれています。引数は、括弧で囲まれています。括弧は、引数ない関数にも必要です（例：Date()）。関数を実行すると、必ず値が戻されます。従来の代数規則に則った算術式、文字列式、または論理式であれば、任意のものを入力できます。

演算子には、数値演算子（例：'+'）、文字列演算子（例：'& '）、または、論理演算子（例："NOT"）が使用できます。

関数は、括弧を使用してどのレベルにもネストできます。例えば、以下の式は、変数Aの中に保存される文字列の実際の長さを表しています：Len(LTrim(RTrim(A)))。IF、AND、NOT、ORなどの論理式をネストすることで、より複雑な演算が可能になります。余分な括弧は削除します。

文字やBLOBとして入力されるテキストは、出力がが自動的に単一のアポストロフィで囲まれることを想定しています。例えば、some text と入力し、［検証］ボタンをクリックすると、Magic xpiは自動的に some text を‘some text’に変換します。

式エディタでは､各関数に書式を説明するツールチップが表示されます。また、特定の関数をハイライトしてF1を押下することでヘルプページを開くこともできます。

Magic xpaのユーザ定義関数を、Magic xpiに追加することもできます。詳細は、ここをクリックしてください。

  • 定義した式の構文をチェックするには、［検証］ボタンをクリックしてください。

  • すべての文字列関数は、BLOBで使用することができます。従ってFlow Dataユーティリティとデータマッパーで使用することができます。

  • すべての関数で、パラメータはデータ型を指定する場合か、そのタイプに評価されるように指定する必要があります。たとえば、BlobToBase64（BLOB項目)は以下のように使用することができます：

  • BLOB項目を設定する場合。例：BlobToBase64(‘<?xml version="1.0" encoding="UTF-8"?>’)

  • 数値として評価される式を使用する場合。例：ABS(C.Name1)

C.Name1 は、BLOB項目です。

以下は関数のアルファベット順のリストです：

ACOS

AddDate

AddTime

ANSI2OEM

ASCIIChr

ASCIIVal

ASIN

ATAN

Blb2File

BlobAddBOM

BlobFromBase64

BlobSize

BlobToBase64

BOM

BOY

CallPublic

CASE

ChkDgt

ClientCertificateAdd

ClientCertificateDiscard

CMonth

CONCAT

Convert

COS

CRC

Date

DateInCalendar

DateTimeFormat

Day

DelSubStr

DOW

DStr

DVal

EnvVal

EOM

EOY

EXP

File2Blb

FileExist

Fill

Fix

Flip

GetBPID

GetDate

GetFlowID

GetFSID

GetLang

GetObjectID

GetObjectName

GetSessionID

GetTime

GetTimeZone

GetUniqueCounter

Hour

HStr

HVal

IF

INIGet

INIGetLn

Ins

InStr

IsFlowEnabled

ISNULL

JSONElementExist

Left

Len

LOG

Logging

Lower

LTrim

MAX

MID

MIN

Minute

MOD

Month

MStr

mTime

mTStr

MVal

NDOW

NMonth

NOT

NULL

objOldName

ODSArrayCnt

ODSExists

ODSGet

OEM2ANSI

RAND

Range

RegExGetGrp

RegExMatch

RegExReplace

RegExSearch

Rep

RepStr

Right

Round

RqHTTPHeader

RqHTTPStatusCode

RTrim

Second

SetHTTPHeaders

SIN

Str

STRFormat

StrToken

StrTokenCnt

StrTokenIdx

TAN

Time

Translate

TranslateNR

Trim

TStr

TVal

UDSClear

UDSDeleteRecord

UDSGet

UDSGetField

UDSSet

UDSUpdateField

UnicodeCHR

UnicodeFromANSI

UnicodeToANSI

UnicodeVal

Upper

UTCDate

UTCmTime

UTCTime

UTF8FromAnsi

UTF8ToAnsi

UTF8fromUnicode

UTF8toUnicode

Val

XMLExist

XMLStr

XMLVal

Year


ACOS

数値の逆余弦がラジアンで返ります。

構文： | ACOS (数値 数値)
パラメータ： | 数値……数値
戻り値： | 数値（ラジアン）
例： | x=1 、y=0.5 の場合、ACOS(x-y)では、1.04719755 が返ります。
関連項目： | ASIN, ATAN, COS, TAN


AddDate

日付項目に関する計算

日付を指定し、その日付に年数、月数、日数を加算できます。結果は、常に有効な日付になります。

構文： | AddDate (時刻 日付, 数値 年数, 数値c 月数, 数値c 日数)
パラメータ： | 日付……日付 年数……この年数が日付に加算されます。0 を指定することも可能です。 月数……この月数が日付に加算されます。0 を指定することも可能です。 日数……この日数が日付に加算されます。0 を指定することも可能です。
戻り値： | 日付値
例： | AddDate('1992/01/01'DATE,1,2,2)では、1993/03/03 が返ります。
関連項目： | DVal, 日付値を加算するには


AddTime

刻に関する計算

時刻を指定し、その時刻に時数、分数、秒数を加算できます。結果は、指定した時刻に、時、分、秒を加えた時刻になります。

構文： | AddTime(時刻 時刻, 数値 時数, 数値 分数, 数値 秒数)
パラメータ： | 時刻……時刻型のデータです。 時数……この数値が時刻に加算されます。 分数……この数値が時刻に加算されます。 秒数……この数値が時刻に加算されます。
戻り値： | 時刻値
例： | AddTime('12:00:00'TIME,1,2,3)では、13:02:03 が返ります。
関連項目： | TVal, 時刻値を加算するには


ANSI2OEM

ANSI コードからOEM コードに変換

構文： | ANSI2OEM (文字 文字列)
パラメータ： | 文字列……変換する文字列
戻り値： | 文字列……OEM文字列
関連項目： | OEM2ANSI


ASCIIChr

ASCIIコードを対応する文字に変換します。

構文： | ASCIIChr(数値c 数値)
パラメータ： | 数値……数値
戻り値： | 文字
例： | ASCIIChr(78) は、「N」を返します。(ASCIIコードが 78) 変数X の値が「77」の場合、ASCIICｈｒ(X+1)でも同じく「N」が返ります。
注意： | この関数は、1以上のクラスのフォームでキーボードを使用して入力できない文字、また、その文字がWindows の画面でも表示できない文字の場合に使用します。こういった文字としては、例えば、右矢印文字があり、この文字はCHR(26）を使用することで表示できます。
関連項目： | ASCIIVal


ASCIIVal

文字列（英数字）の左端の文字をASCII コード値に変換します。

構文： | ASCIIVal(文字 文字列)
パラメータ： | 文字列……文字または文字列
戻り値： | ASCII……コード値
例： | ASC('N')、ASC('New')では、どちらも78 が返ります。
関連項目： | ASCIIChr


ASIN

数値の逆正弦（アークサイン）がラジアンで返ります。

構文： | ASIN(数値 数値)
パラメータ： | 数値……数値
戻り値： | 逆正弦（ラジアン）
例： | x=1 、y=0.5 の場合、ASIN(x-y)では、0.52359878 が返ります。
関連項目： | ACOS, ATAN, COS, SIN, TAN


ATAN

数値の逆正接（アークタンジェント）がラジアンで返ります。

構文： | ATAN (数値 数値)
パラメータ： | 数値……数値
戻り値： | 逆正接（ラジアン）
例： | x=2 、y=1 の場合、ATAN(x-y)では、0.78539816 が返ります。
関連項目： | ACOS, ASIN, COS, SIN, TAN


Blb2File

BLOB オブジェクトをファイルに保存します。

構文： | Blb2File (BLOB 項目, 文字 ファイル名)
パラメータ： | BLOB 項目……BLOB 型項目のシンボル名 ファイル名（文字列）……保存先のファイル名
戻り値： | 論理値……成功した場合は1(True)を返し、失敗した場合は0(False)を返します。
例： | if(Blb2File(BE, ‘C:\bfile.blb’), BLOB変数BEをCドライブのbfile.blbファイルに移動し、成功した場合に1（True）を返します。
関連項目： | File2Blb
注意事項： | BLOBがバイナリか、Ansiの場合、ファイルの内容はバイナリBLOBの内容と同じになります。 BLOBがUnicodeの場合、これがUnicodeファイルであることを示すためにファイルの最初にBOMが付加されます（内容がUnicodeであると分かっているため、Unicode BlobにはBOMは含まれていません)。


BlobAddBOM

UTF-8またはUnicode BOMをBLOBデータの先頭に追加します。

構文：

BlobAddBOM(BLOB 式, 数値 タイプ)

パラメータ：

式……BLOB 型項目のシンボル名

タイプ……保存先のファイル名

  • 1……UTF-8 BOMを追加します。

  • 2……UTF-16を追加します。

他の値は、、NULLを返します

戻り値：

BOM文字が追加されたBLOBデータ

例：

BlobAddBOM(C.UserBlob,1)

UTF-8 BOMをC.UserBlobに追加します。

関連項目：

UnicodeまたはUTF-8 BOMをBLOBファイルに追加するには

Since version:

4.0a


BlobFromBase64

BASE64でエンコードされたBLOBデータをデコードします。

構文： | BlobFromBase64(BLOB エンコードデータ)
パラメータ： | エンコードデータ……BASE64でエンコードされたデータ
戻り値： | BLOB データ……デコードされたデータ


BlobSize

BLOBデータのサイズ(Byte)が返ります。

構文： | BlobSize(BLOB BLOBデータ)
パラメータ： | BLOBデータ ……選択されたBLOBを含むjBLOB値
戻り値： | BLOBのサイズを表す数値。NULLの場合は、0 が返ります。 この関数が空のグローバル変数またはビジネスプロセス変数上で使用された場合、戻り値は0です。


BlobToBase64

BLOBデータ内の文字列を BASE64 でエンコードします。

構文： | BlobToBase64(BLOB BLOBデータ)
パラメータ： | BLOBデータ……エンコードするBLOBデータ
戻り値： | BASE64 でエンコードされたBLOB データを返します。


BOM

指定した月の最初の日付が返ります。

構文： | BOM(日付 日付)
パラメータ： | 日付……日付または日付式
戻り値： | 日付値
例： | BOM ('93/05/10'DATE)では、'93/05/01'が返ります。
関連項目： | BOY, CDOW, EOM, EOY, すべてのDate関数, 与えられた月の最初の日付の計算するには


BOY

指定した年の最初の日付が返ります。

構文： | BOY(Date 日付)
パラメータ： | 日付……日付または日付式
戻り値： | 日付値
例： | BOY ('93/10/05'DATE)では、'93/01/01'が返ります。
関連項目： | BOM, CDOW, EOM, EOY, すべてのDate関数, 与えられた年の最初の日付を計算するにはどうすれば


CallPublic

*.ecfファイルを使用してMagic xpaプログラムを呼び出します。

構文：

CallPublic(文字 コンポーネント, 文字 公開名, 文字 データタイプ, <任意のタイプ> パラメータ1, <任意のタイプ> パラメータ2…)

パラメータ:

コンポーネント……コンポーネントの*.ecf fileファイルへのフルパス。環境変数を使用することもできます。

公開名……実行するプログラムの公開名

データタイプ……返されるデータのタイプ。以下のうち一つを使用してください:

  • A……文字

  • N……数字

  • B……BLOB

  • D……日付

  • T……時刻

  • L……論理

注意：V2.5のプロジェクトからマイグレーションした場合、全てのデータタイプを文字にしなければなりません。

パラメータ 1, パラメータ 2...……呼ばれるプログラムに渡されるパラメータ。50パラメータまで使用できます。

注意： 最初の3つのパラメータで式を使用することができません。

注意： 計算された式は互換性がなく、CallPublic関数の引数として機能しません。 この問題を解決するには、関数の引数として、それぞれの式で更新された変数を使用します。 たとえば、CallPublic（EnvVal（ 'currentprojectdir'）＆ 'myfun.ecf'、 'ret_alpha'、 'A'、Src.S1 / Record / Name2）はCallPublic（EnvVal（ 'currentprojectdir'）＆ 'myfun。 ecf '、' ret_alpha '、' A '、F.Name1） ここで、F.Name1はMapper MultiUpdateでSrc.S1 / Record / Name2を使用して更新されます。

戻り値：

呼ばれたプログラムの戻り値。

例：

CallPublic('%Magicxpi%erp.ecf','GetCust Balance','N',1001)


CASE

指定された条件に基づいて、値の切り替えを行います。If 文のネストが不要になります。

構文： | CASE(条件式, ケース1, 値1, ケース2, 値2,..., デフォルト値)
パラメータ： | 条件式……値を切り替えるための条件式 ケースn……条件によって指定される値。条件式の結果がケースn で指定したものと一致した場合、値n が関数の戻り値になります（n の最大値は14）。 値n……関数の戻り値 デフォルト値……条件式の結果がケースn に当てはまらない場合の戻り値
戻り値： | 条件式に当てはまるケースに対応する戻り値が返ります。どのケースとも一致しない場合は、デフォルト値が返ります。
例： | CASE（A,1,'赤',2,'緑',3,'青','黒') A が1 の場合'赤'が返ります。 A が2 の場合'緑'が返ります。 A が3 の場合'青'が返ります。 A が1 ～3 以外の場合'黒'が返ります。
注意： | この関数は14のケースまでの制限があります。


ChkDgt

検査数字（チェックデジット）を作成します。チェックデジットは、前後に数が追加された数値で、数値の整合性を高めるために使用されます。簡単なアルゴリズムが、チェックデジットを算出する数値の他の数値に適用されます。アルゴリズムを実行し、チェックデジットを比較することで数値が正しいかどうかを判定できます。チェックデジットは、クレジットカードやID番号の照合などに使用されます。

構文：

dsfsdfsdfsdf

ChkDgt(文字 数値, 数値 モジュラス)

パラメータ：

数値……数値を文字列として指定します。この文字列について、検査数字が作成されます（処理対象の数値は、あらかじめ文字列に変換しておかなければなりません）。

モジュラス……係数が10 または11 を表す数値

  • 0……モジュラス10

  • 1……モジュラス11

戻り値：

数値

例：

ChkDgt('6789',0)では、2 が返ります。

x が文字列'6789'の場合、ChkDgt(x,0)では2 が返ります。

ChkDgt('6789',1)では、1 が返ります。

注意：

EAN コードはサポートされません。

関連項目：

CRC


ClientCertificateAdd

HTTP Call/Post/Get関数を呼び出す前に送る証明書を指定します。

構文：

ClientCertificateAdd (PKCS12証明書, パスワード)

パラメータ：

PKCS12証明書 …… 証明書のURL（またはパスを含んだファイル名）。PKCS12(Public Key Cryptography Standard #12 )の書式で作成された証明書ファイルを指定してください。

パスワード …… 証明書ファイルのエクスポート用パスワード。パスワードなしで出力されている場合は、NULLになります。

戻り値：

論理値 …… 処理に成功した場合「True」が返ります。以下の場合は失敗します。

  • 同じ認証局が複数指定された場合

  • 証明書が存在しない場合

  • 証明書がPKCS12フォーマットでない場合

  • パスワードが正しくない場合

例：

ClientCertificateAdd('my.pfx','%MY_PASS%')

パラメータは以下の通りです。

  • My.pfx… PKCS12 証明書

  • %MY_PASS%… パスワードの論理名

注意：

証明書が、ClientCertificateDiscard()関数を使用して現在のコンテキストから削除されるまで、全てのクライアント証明書は、現在のコンテキスト上では以降の呼び出し処理でも有効になります。

複数のクライアント証明書を追加する場合は、その都度ClientCertificateAdd()関数を実行してください。ただし、同じクライアント証明書を追加することはできません。

秘密キーを出力しないで作成された証明書では認証できません。PKCS12証明書はMagic xpiに入力できないことを意味しています。


ClientCertificateDiscard

証明書のリストからクライアント証明書を破棄します。クライアント証明書は、セキュアWebアプリケーションにアクセスする際にユーザの確認のために使用されます。

構文： | ClientCertificateDiscard (PKCS12 証明書)
パラメータ： | PKCS12 証明書 …… クライアント証明書ファイルを指定するURL（またはパスを含んだファイル名）。英数文字で指定してください。
戻り値： | 論理値 …… 処理に成功した場合「True」が返ります。クライアント証明書のURLが、ClientCertificateAdd関数によって同じURLによって追加されされた場合や、動作環境の[SSLクライアント証明書ファイル]で指定された名前と合っている場合のみ、証明書は破棄されます。
例： | ClientCertificateDiscard('My.pfx') パラメータは以下の通りです。 "My.pfx"は、使用するクライアントの証明書です。
注意： | 証明書がこの関数で実行中に破棄された場合でも、環境設定において指定された証明書は、実行モードから開発モードに切り換える時に再発行されます。


CMonth

指定した日付または日付式の月の名前（英語）が返ります。

構文： | CMonth(日付e 日付)
パラメータ： | 日付……日付または日付式
戻り値： | 文字 文字列
例： | CMonth('97/01/28'DATE)では、'January'が返ります。 また、X が97/01/28 の場合、CMonth(X+30)では'February'が返ります。
注意： | '92/01/28'の右のDATE はリテラルコードです。この場合、DATE の直前の日付は文字列として認識されます。 月の名前の長さは、その月が入る項目（文字型）のサイズを調節することで変更できます。例えば、月の最初の3 文字だけ（例えば、'Jan'、'Feb'など）を項目に表示したい場合、その項目のサイズを3 文字にします。
関連項目： | Month, NMonth, 与えられた日付の月の名前を取得するには


CONCAT

定義された設定に基づき文字列を連結します。

構文：

CONCAT(数値 trimcode, 数値 skipempty, 文字 delimiter, 文字 delimitedlist)

パラメータ：

trimcode (数値):

  • 0……トリムしない（デフォルト）

  • 1……左右トリム

  • 2……左トリムのみ

  • 3……右トリムのみ

skipempty (数値):

  • 1 ……スキップします。区切り文字を含め空白やゼロ値を除去します（デフォルト）

  • 0 ……そのままにします。区切り文字を含め空白値を保持する

delimiter……区切り文字、カンマ、Enter、空白、その他（ユーザ定義）

delimitedlist……値もしくは式。全ての文字以外の値は自動的に文字に変換されます。

戻り値：

連結された文字列

例：

Concat(1,1',', 'aa, bb,cc, ,dd') は aabbccdd を返します。


Convert

変換されたデータと共にユーザ文字列を返します。

構文： | Convert (文字 convtblname, (文字 source, (文字 default, 数値 casesensitive)
パラメータ： | convtblname ……変換テーブルの名前 source ……ソース文字列 default ……ソース文字列が見つからない場合に返されるデフォルトの文字列 casesensitive……大文字と小文字を区別：O = false（大文字と小文字を区別しない）、1 = true（大文字と小文字を区別する）
戻り値： | 文字 文字列
例： | Convert ('temp', 'degrees F', 'degree',0) temp変換テーブルには以下の値が入っています： degrees F, degrees C 文字列 degrees Cが返されます。 値 degrees F が変換テーブル'temp'にない場合、または変換テーブル'temp'がない場合、デフォルト値のdegreeが返ります。


COS

指定した角度の余弦（コサイン）が返ります。角度は、ラジアンで指定します。

構文： | COS(数値 ラジアン)
パラメータ： | ラジアン……ラジアンで示した角度
戻り値： | 数値
例： | COS(0.7854)では、0.70711 が返ります。
関連項目： | ACOS, ASIN, ATAN, SIN, TAN


CRC

文字列に対して、CRC方式で計算を実行します。

構文：

CRC(文字 文字列, 数値 アルゴリズムコード)

パラメータ：

文字列……この文字列に対してCRC が実行されます。

アルゴリズムコード……CRC アルゴリズムを示す数値。Magic では、0 を指定するとCRC-16が実行されます。

戻り値：

CRC 値が入った2 バイト文字列

例：

  • ABC&CRC('ABC',0)を送信したとします。ここで、ABC&CRC('ABC',0)は、「文字列」と呼びます。

  • 受信側で、CRC(Left(文字列,3),0)=Right(文字列,1)という処理(比較）を行い、値が一致すれば、データは正常に転送されたことになります。

注意：

CRC は、主にデータストリームの検証に使用します。CRC 関数では、全ての入力データ（文字列）を使用して検証が可能です。このため、送信後の文字列が途中で変更されていないか、高い精度でチェックすることができます。

CRC は、一般に2 つのコンピュータ間でデータをやりとりする時のデータのチェックに使用します。その場合、送信側でデータのCRC 値（2 バイト）を算出し、そのCRC 値をデータに追加した後、データとCRC 値を別のコンピュータに送ります。受信側では、このデータ全体からCRC 値を取り出し、残りのデータのCRC 値を計算します。ここで、取り出したCRC 値と残りのデータから算出したCRC 値が合致すれば、送信中にデータが変更されていないことが分かります。合致しなければ、データは何らかの理由により転送中に変更されたことになります。

関連項目：

ChkDgt


Date

システム日付が返ります。

構文： | Date()
パラメータ： | なし
戻り値： | 日付
例： | システム日付が97/01/28 の場合、Date(）では97/01/28 が返ります。 また、Date(）+5 では、97/02/02 が返ります。
注意： | システムの日付は、MAGIC.INI で設定されている日付形式、または、日付が格納される項目に設定されている書式にしたがって表示されます。したがって、システムの日付の形式が「E 」に設定されている場合、MAGIC.INI のDateMode パラメータの値を「A」に設定することで、日付をアメリカ形式で表示できます。または、書式を使用して日付をアメリカ形式（MM/DD/YY ）にすることもできます。 この関数にDate()+10など数値式を追加したい場合、代わりに AddDate() 関数を使用してください。Magic xpiはDateフィールドでの数値式の記述を扱えません。
関連項目： | DStr, DVal, 日付タイプ変数の更新, 現在の日付を取得するには


DateInCalendar

この関数は、カレンダー名と日付値を入力として受け入れます。この関数は、指定された日付値が指定されたカレンダー名の下に追加されているかどうかを確認します。

構文：

DateInCalendar( 文字型　カレンダ名, 日付型 日付 )

パラメータ：

カレンダ名 : カレンダの名前

日付 : 日付

戻り値：

以下で定義されている数値を返します:

  • 0 …… 指定されたカレンダーに日付が存在する場合

  • 1 …… 指定されたカレンダーに日付が存在しない場合

  • -1 …… カレンダー名が存在しない場合

例：

DateInCalendar('Holiday_Calender' ,'2021/01/01'DATE)

関連項目：

Century , カレンダー


DateTimeFormat

入力された日付、時刻、タイムゾーンからXML DateTime値を生成します。

構文： | DateTimeFormat(日付 date, 時刻 time, 文字 timezone, 数値 format)
パラメータ： | value……日付式 value……時刻式 time zone……GMTからの相対的タイムゾーン
 | format …… | 1. YYYY-MM-DDThh:mm:ssTZD (XML DateTime フォーマット)
 |  | 2. CYYDDD (JDE Julian format) C ： 世紀 (0=1900 と 1=2000) YY：年と日数(DDD)
戻り値： | 定義されたフォーマットでのDateTime文字列
例： | XML 形式: | DateTimeFormat('29/04/2008'Date, '10:45:30'Time, '+05:30',1) は、 2008-04-29T10:45:30+5:30 が返ります。
 | JDE Julian 形式: | DateTimeFormat('22/03/2011'Date, '','',2) は、 111081 が返ります。
関連項目： | HoXML DateTimeフォーマットを計算するには, Hoユリウス歴の日付計算を行うには


Day

日付の日（1～31）が返ります。

構文： | Day(日付 日付)
パラメータ： | 日付……日付または日付式
戻り値： | 数値
例： | Day('96/01/28'DATE）では、28 が返ります。
 | また、IF(Day(Date(））>15,'延滞',''）という日付式では、システムの日付が15 日より遅い（16 日以後の）場合、「延滞」という文字が表示されます。
関連項目： | CDOW, DOW, NDOW


DelSubStr

文字列中の文字を削除します。

構文： | DelSubStr(文字 文字列, 数値c 開始位置, 数値 文字数)
パラメータ： | 文字列……文字列または文字式 開始位置……文字列中の文字の位置（先頭から何番目か）で、この文字から右に向かって削除が始まります。 文字数……削除する文字の数を指定します。[開始位置]で指定した位置から、右に向かって、この数の文字が削除されます。
戻り値： | 文字列……削除後の文字列が返ります。
例： | DelSubStr('ABCD',2,1)では、先頭から2 番目の文字だけが削除され、'ACD'が返ります。 また、X に2 字以上の文字が入っていると仮定すると、下の式では、Y の値が負の時にはX の文字列のうち最初の文字が、Y が正の場合はX の文字列のうち2 番目の文字が削除されます。Y が0 の時には、削除は行われません。 IF(Y<0,DelSubStr(X,1,1),IF(Y>0,DelSubStr(X,2,1),X))
関連項目： | Fill, Ins, Rep


DOW

日付から曜日番号を返します。

構文： | DOW(日付 日付)
パラメータ： | 日付……特定の日付
戻り値： | 数値……曜日番号 日…１ 、月…２ 、火…３ 、水…４ 、木…５ 、金…６ 、土…７
例： | DOW('92/01/29'DATE) この日は水曜日なので4 が返ります。
 | IF(DOW(Date())=1,'Never on Sunday','') この式では、システム日付が日曜日の場合、指定したメッセージが表示されます。
関連項目： | CDOW, Day, NDOW, 日付に対する曜日の計算を行うには。


DStr

日付または日付式を、指定された書式で文字列に変換します。

構文：

DStr(日付 日付, 文字 書式)

パラメータ：

日付……日付

書式……ここで指定した書式にしたがって、日付が文字列に変換されます。

戻り値：

文字列

例：

日付モードがJ=日本に設定されている場合

DStr ('96/01/28'DATE,'WWWWWWWW,MMMMMMMMDD,YYYY'）

'Tuesday, January 28, 1996'が返ります。

DStr('96/01/28'DATE,'YY/MM/DD'）

'96/01/28' が返ります。

注意：

以下の日付の形式を設定するには、日付モードを設定する必要があります。

  • E=ヨーロッパ …… DD/MM/YY

  • J=日本candinavian…… YY/MM/DD

  • A=アメリカ…… MM/DD/YY

'01/28/92'のようなDATEを使用した場合、日付は文字列で認識されるので、Date()関数と混同しないでください。

関連項目：

DVal, Str, 日付を文字列に変換するには


DVal

文字列として入力された日付を日付型に変換します。変換後の内部の値は、西暦元年の最初の日（0001/01/01）を起点とした日数です。

構文： | DVal(文字 日付, 文字 書式)
パラメータ： | 日付……日付を文字列または文字列式で指定します。例えば、'97/01/01'、'1997,Jan,1'などとします。
 | 書式……[日付文字列]で指定した日付の書式を指定します。[日付文字列]パラメータの日付は、この書式を使用して解釈されます。
戻り値： | 日付型の値
例： | DVal（'97/01/01','YY/MM/DD'）またはDVal（'1997,Jan,1','YYYY,MMM,DD'）は、どちらも'1997/01/01'DATE（内部では729025の数値） が返ります。 A が'1997,January ,1'の場合、DVal（A,'YYYY,MMMMMMM,DD'）は、'1997/01/01'DATE（内部では729025の数値） が返ります。
 | DVal('01/01/01','YY/MM/DD') と DVal('2001,Jan 1','YYYY,MMM D') は、'2001/01/01'DATE が返ります。 A が'2002,January,12'の場合、DVal(A,'YYYY,MMMMMMM,DD')は、'2002/12/01'DATEが返ります。
注意： | 書式が日付文字列の書式と合っていない場合には、「0」が返ります。
関連項目： | DStr, 文字列に格納された日付の値を計算するには


EnvVal

環境変数の現在の値を取得します。

戻り値は文字列形式です。

構文： | EnvVal (文字 envvar)
パラメータ： | envvar …… 環境変数リポジトリに定義されている環境変数
戻り値： | 環境変数の現在の値（文字列）。


EOM

日付を指定された月の最後の日付を返します。

構文： | EOM(日付 日付)
パラメータ： | 日付……日付または日付式
戻り値： | 日付値
例： | EOM ('97/05/05'DATE) '97/05/31'が返ります。
関連項目： | BOM, BOY, CDOW, EOY, すべてのDatee関数, 与えられた日付の月末計算を行うには


EOY

日付を指定された年の最後の日付を返します。

構文： | EOY(日付 日付)
パラメータ： | 日付……日付または日付式
戻り値： | 日付値
例： | EOY('97/11/17'DATE) '97/12/31'が返ります。
関連項目： | BOM, BOY, CDOW, EOM, すべてのDate関数, 与えられた日付の年末計算を行うには


EXP

指数を計算します。

構文： | EXP(数値 数値)
パラメータ： | 数値……指数関数の ex のx値
戻り値： | 数値……ex の値
例： | EXP（5）は、e5の値を返します。
関連項目： | LOG


File2Blb

ファイルをBLOB オブジェクトに変換して保存します。

構文：

File2Blb (文字 ファイル名)

パラメータ：

ファイル名……ファイル名（文字列）

戻り値：

BLOB値……BLOB オブジェクトとして格納されたファイル

例：

File2Blb('C:\att1.rtf')

ファイル「att1.rtf」がBLOB 項目に格納されます。

関連項目：

Blb2File, メモリーにUnicode、ANSI、またはUTF-8のファイルの内容を読み込みには

注意：

  • ファイルにUnicode BOMが含まれている場合、BOMなしで読み込まれます。また、内容を保持するために選択されたBLOBタイプに変換されます。

  • ファイルにUTF-8 BOMが含まれている場合、内容はバイナリとして扱われ、最初にUnicodeへの変換は行われずに読み込まれます。

  • ファイルにBOMが含まれていない場合、内容はAnsiとして扱われ、Ansiから容を保持するために選択されたBLOBタイプに変換されます。この部分は、バイナリやUTF-8とAnsi内容の両方が含まれます。


FileExist

ドライブとディレクトリを指定し、そのディレクトリにファイルがあるかどうかを確認します。

構文： | FileExist(文字 ファイル名)
パラメータ： | ファイル名……検索するファイルの名前。パスを指定することもできます。パスを指定しなかった場合、カレントのディレクトリに対して検索が行われます。
戻り値： | 論理値……処理に成功した場合「True」が返ります。
例： | FileExist('c:\magic\magic.ini') C ドライブのmagic ディレクトリにMagic.iniファイルがあれば、「True」 が返ります。


Fill

文字列または文字列式を繰り返します。

構文： | Fill(文字 文字列, 数値c 回数)
パラメータ： | 文字列……文字列または文字列式 回数……文字列を繰り返す回数
戻り値： | 文字列
例： | Fill('*',5) '*'が5 回繰り返され、'*****'という文字列が作成されます。
注意： | この関数の上限は、32KByteです。
関連項目： | Ins, Rep


Fix

数値（実数または整数）を指定し、その一部を切り取ります。

構文： | Fix(数値 数値, 数値 整数部桁数, 数値 小数部桁数)
パラメータ： | 数値……処理対象の数値 整数部桁数……指定した数値の整数部で切り取り後の桁数を指定します。整数部の場合、切り取りは左側から行われます。 小数部桁数……指定した数値の小数部で切り取り後の桁数を指定します。小数部の場合、切り取りは右側から行われます。
戻り値： | 数値
例： | Fix(12345.6789,3,3) 345.678 が返ります。 IF(Fix(M,2,0)=99,N+1,N) 数値M がチェックされ、M の整数部で右側の2 桁が99であった場合、N が1だけ増加します。
関連項目： | Round


Flip

文字列または文字列式の結果を反転します。文字列は鏡字イメージとなります。

構文： | Flip(文字 文字列)
パラメータ： | 文字列……文字列または文字列式
戻り値： | 文字列
例： | Flip('Good') 'dooG'が返ります。


GetBPID

名前をもとにビジネスプロセスIDを取得できます。

構文： | GetBPID(文字 BP_nam)
パラメータ： | BP_name……ビジネスプロセス名を表す文字列または文字列式
戻り値： | 最初に見つかったビジネスプロセスIDが返ります。見つからなかい場合は、-1が戻ります。
例： | GetBPID ('Business Process - 1')


GetDate

DateTime文字列を受け取りその日付部分のみを返します。

構文： | GetDate(文字 datetime, 数値c format)
パラメータ： | datetimevalue ……DateTime 式
 | format …… | 1. YYYY-MM-DDThh:mm:ssTZD (XML フォーマット)
 |  | 2. CYYDDD (JDE Julian format) C は世紀 (0=1900 と 1=2000), YY は 年数、 DDD は日数
戻り値： | 入力されたdatetime値の日付部分のみを返します
例： | XML フォーマット: | GetDate('2008-04-29T10:45:30+5:30',1)は 2008-04-29 を返します。
 | JDE Julian フォーマット: | GetDate('111081',2) は、日付 2011/03/22 を返します。
関連項目： | XML DateTimeフォーマットの計算を行うには,Hユリウス歴での日付計算を行うには


GetFlowID

名前をもとにフローIDを取得できます。

構文： | GetFlowID(文字 flow_name, 数値 BP_ID)
パラメータ： | flow_name……フロー名を表す文字列 BP_ID……ビジネスプロセスIDを表す数値
戻り値： | 最初に見つかったフローIDが返ります。見つからなかい場合は、-1が戻ります。
例： | GetFlowID ('Flow - 2',1).


GetFSID

現在のフロー シーケンスIDを表示します。フローが開始されるたびに、サーバによって一意の番号FlowSequence IDが生成されます。この番号は、フローの実行ごとに異なりますが、同一フロー内のすべてのステップに対しては共通です。複数のパラレル ステップを含むフローは、フロー内のすべてのステップに対して同じFSIDを使用します。

構文： | GetFSID()
パラメータ： | なし
戻り値： | 数値


GetLang

現在選択している言語文字列を表示します。 magic.iniファイルのStartingLanguage設定から取得します。

構文： | GetLang()
パラメータ： | なし
戻り値： | 文字列または空白


GetObjectID

入力されたオブジェクトのIDを数値で返します。

構文：

GetObjectID(数値c objecttype)

パラメータ：

objecttype:

  • 1……プロジェクト

  • 2……サーバ

  • 3……フロー

  • 4……コンポーネント

  • 5……ステップ

戻り値：

入力されたオブジェクトのIDの数値

例：

GetObjectID(2) は 1を返します。


GetObjectName

入力されたオブジェクトの名前を文字列で返します。

構文：

GetObjectName(数値 objecttype)

パラメータ：

objecttype:

  • 1……プロジェクト

  • 2……サーバ

  • 3……フロー

  • 4……コンポーネント

  • 5……ステップ

  • 6……ビジネスプロセス

戻り値：

入力されたオブジェクトの名前を文字列で返します。

例：

GetObjectName(2) は Magic xpi サーバ を返します。


GetSessionID

現在のセッションIDを表示します。プロセスが開始されるたびに、そのプロセスに対するセッションが生成され ます。フローに複数の平行分岐がある場合は、サブツリーごとに異なるセッションIDが割り当てられます。ただし、同一サブツリー内のリニア ステップにはすべて同じセッションIDが割り当てられます。フローが別のフローをリニアで呼び出した場合、呼び出されたフローには同じセッションIDが与 えられます。呼び出しがパラレルの場合、呼び出されたフローは新しいセッションIDを受け取ります。

構文： | GetSessionID()
パラメータ： | なし
戻り値： | 数値


GetTime

DateTime文字列を受け取って、入力値の時刻の部分を文字型で返します。

構文： | GetTime(文字 datetime, 数値 format)
パラメータ： | datetime …… DateTime 式
 | format ……
 | 1. YYYY-MM-DDThh:mm:ssTZD (XMLフォーマット) 2. CYYDDD (JDE Julian format) C は世紀 (0=1900 と 1=2000), YY は 年数、 DDD は日数
戻り値： | 入力されたDatetime値の時刻部分
例： | XML フォーマット: | GetTime('2008-04-29T10:45:30+5:30',1) は 10:45:30 を返します。
 | JDE Julian フォーマット: | GetTime('111081',2) は 10:45:30 を返します。 returns.
関連項目： | XML DateTimeフォーマットの計算を行うには


GetTimeZone

DateTime文字列を受け取って、入力値のタイムゾーンの部分を文字型で返します。

構文： | GetTimeZone(文字 datetime, 数値 format)
パラメータ： | datetime ……DateTime 式
 | format ……
 | 1. YYYY-MM-DDThh:mm:ssTZD (XML フォーマット) 2. CYYDDD (JDE Julian format) C は 世紀 (0=1900 と 1=2000)、 YY は 年数、DDD は日数
戻り値： | 入力されたDateTime値のタイムゾーン (例： +02:30)
例： | XML フォーマット: | GetTimeZone('2008-04-29T10:45:30+5:30',1) は +5:30を返します。
 | JDE Julian フォーマット: | GetTimeZone('111081',2) は +5:30を返します。
関連項目： | XML DateTimeフォーマットの計算を行うには


GetUniqueCounter

一意の数値を表示します。この関数は、イベントがフロー内で発生する回数をカウントするために使用することができます。1から開始されます。

戻り値は、サーバ上で実行されているすべてのフローで同じになります。2つのフローがこの関数を使用する場合、戻り値は継続的に増分されます（例えば、最初のフローが1に増分すると、2番目のフローは2に増分します）。

構文： | GetUniqueCounter()
パラメータ： | なし
戻り値： | 数値


Hour

時刻または時刻式の時間を返します。

構文： | Hour(時刻 時間)
パラメータ： | 時間……時刻または時刻式
戻り値： | 数値（1～99）
例： | Hour('12:00:00'Time) 12 が返ります。 項目A の時刻値が14:00:00 の場合、Hour(A)+2 では16 が返ります。
関連項目： | Minute, Second


HStr

10 進数を16 進数に変換します。

構文： | HStr(数値 10進数値)
パラメータ： | 10進数値……10 進数、または10 進数を表す数値
戻り値： | 文字列……16 進数を表す文字列
例： | HStr(15) 'F'が返ります。 HStr(16) '10'が返ります。
注意： | 結果は、左寄せの形式で返ります。
関連項目： | HVal


HVal

16進数を10進数に変換します。

構文： | HVal(文字 16進数値)
パラメータ： | 16進数値……16 進数を表す文字列
戻り値： | 数値
例： | HVal('FF') 255 が返ります。 HVal('10') 16 が返ります。
関連項目： | HStr


IF

条件を指定し、その条件から返る論理値（「True」 または「False」 ）に応じて、処理を分岐させることができます。If はネストして使用できます。

構文： | IF(文字 論理式, ruevalue, falsevalue)
パラメータ： | 論理式……論理値が返る式、または論理型項目 truevalue……True が返った時に使用される値 falsevalue……False が返った時に使用される値
戻り値： | 値
例： | IF(A=1,'Blue','Green')では、A=1 （「True」 ）の場合、'Blue'が返ります。A=1 でない（False ）場合、'Green'が返ります。
注意： | truevalueとfalsevalue の データタイプは、の期待値に依存します(式エディタの左上の表示を参照してください)。


INIGet

Magic.ini ファイルの環境設定値を返します。

構文： | INIGet(文字 INIファイルのエントリ)
パラメータ： | INIファイルのエントリ……文字列で、MAGIC.INI ファイルのセクションとパラメータ（'[セクション]パラメータ'の形式）を指定します。
戻り値： | 指定したパラメータの値…そのパラメータに値が指定されていない時には、空白が返ります。
例： | INIGet('Owner') 現在のオーナーの値が返ります。 INIGet('[MYAPPL]LAST CUST') [MYAPPL]セクションのLAST CUSTパラメータの値が返ります。
注意： | この関数でセクションを指定しなかった時には、デフォルトの[MAGIC_ENV]セクションのパラメータとして処理されます。この関数のパラメータは、大文字と小文字が区別しません。


INIGetLn

セクションと行番号を指定し、Magic.ini ファイル内のパラメータ名と値を取り出すことができます。

構文： | INIGetLn (文字 セクション名, 数値 行番号)
パラメータ： | セクション名……内容を取得するパラメータが置かれているセクションの名前 行番号……内容を取得するパラメータの行番号（セクション行を基点とする）
戻り値： | 文字列……指定した行のパラメータ名と値
例： | INIGetLn('[MAGIC_ENV]',3) Magic.ini ファイルのMAGIC ENV セクションで3 番目の行の内容が返ります。
注意事項： | 指定した行番号が１より小さい場合、空白の文字列が返ります。 最初の空白の行を指定すると、空白の文字列が返ります。 空白を区切り文字として指定できません。


Ins

文字列を別の文字列に挿入します。

構文： | Ins(文字 文字列1, 文字 文字列2, 数値 位置, 数値 文字数)
パラメータ： | 文字列1……文字列の挿入先となる文字列 文字列2……挿入する文字列 位置……文字列が挿入される位置で、先頭からの位置を数値で示します。 文字数……挿入する文字列の文字のうち、実際に挿入する文字数を指定します。
戻り値： | 文字列
例： | Ins('abcde','xxx',3,1) 'abxcd'が返ります。
関連項目： | Rep


InStr

検索文字が文字列または文字列式の中で何番目の文字から始まるかを検索します。

構文： | InStr(文字 文字列, 文字 検索文字列)
パラメータ： | 文字列……文字列または文字列式で、この文字列または文字列式に対して検索が実行されます。 検索文字列……検索対象となる文字
戻り値： | 数値……検索対象の文字の位置を示す数値が返ります。文字が見つからなかった時には、0が返ります。
例： | InStr('abcd','b') 2 が返ります。 InStr('ABCDEF','DE') 4 が返ります。


IsFlowEnabled

この関数は指定されたフローが有効になっているか無効になっているかを確認します。

構文： | IsFlowEnabled(数値 bpid, 数値 flowid)
パラメータ： | bpid……ユーザが確認したいビジネスプロセスのIDの数値 flowid……ユーザが確認したいフローのIDの数値
戻り値： | フローが有効になっているかを示す論理値
例： | IsFlowEnabled (2,5) ビジネスプロセス番号2のフロー番号5が有効になっているかを確認します。


ISNULL

値がNULL値であるかどうかを確認します。

構文： | ISNULL(値)
パラメータ： | 値……チェックする値。項目や式を指定します。この関数は実際のデータ項目を期待していて、文字列は期待していません。
戻り値： | 論理値 True……指定した項目がNULL値 の場合 False……指定した項目がNULL値 以外の場合
例： | ISNULL(BE) 項目BE の値がNULL の時「True」 が返ります。


JSONElementExist

この関数は、与えられたパスで定義されたJSON要素が存在しているかどうかをチェックします。

構文： | JSONElementExist(文字列 sourcepath)
パラメータ： | 実際のパスだけを使用してください。仮想jパスを指定すると、Falseが返ります。 文字要素である必要はありません。シングルクオーテーションで囲まれていないたパスかもしれません。
戻り値： | 論理値 …… パスで定義された要素が存在してい場合は、Trueが返ります。それ以外は、Falseが返ります。
注意： | この関数はデータマッパーに対してのみサポートされています。

Since version:

4.5


Left

文字列の左側にある文字を返します。

構文： | Left(文字 文字列, 数値 文字数)
パラメータ： | 文字列……文字を取り出す文字列
 | 文字数……取り出す文字の数を指定します。この数の文字が、文字列の左側から取り出されます。
戻り値： | 文字列
例： | Left('abcdefg',3) 'abc'が返ります。
関連項目： | MID, Right


Len

文字列の長さ（文字数）を返します。

構文： | Len(文字 文字列)
パラメータ： | 文字列……長さを取り出す文字列
戻り値： | 数値……長さ（文字数）
例： | Len('abcdefg') 7 が返ります。
注意： | 文字型の項目に格納されている文字列の長さを取り出したい場合、Len(RTrim(項目))とします。これによって空白は計算されず、文字の数だけが取得できます。例えば、項目のサイズが20文字で、'John_'（'_'は空白）が格納されていたとします。この場合、Len(RTrim(項目))では、4 が返ります。
関連項目： | LTrim, RTrim, Trim


LOG

指定した数値の自然対数を返します。

構文： | LOG(数値 数値)
パラメータ： | 数値……入力数値
戻り値： | 数値……対数
例： | LOG(2.71828) 1 が返ります。
関連項目： | EXP


Logging

プログラムによって動的にフィルタリングオプションの開始/停止を行うことが可能になります。実行した場合、即時に反映されます。また、Magic.iniファイルは更新されません。

構文：

Logging (論理 startstop, 文字 filter)

パラメータ：

Start/Stop……論理値。Trueの場合フィルタリングが有効になり、Falseにするとロギングは無効になります。例えば、Oracleフィルタが開発時に設定されたても、Falseの場合はロギングは行われません。Start/StopパラメータがFalseに設定された場合、DBMSパラメータは、特別な情報を出力しません。例：Loging('False'LOG,'DB2/400')

Filer……フィルタオプションを定義する文字列。有効な値は以下の通りです。

  • LogSynch

  • ExecutionLogFileName=(ファイル名)

  • Btrieve= (N, D, S, or C)

  • Pervasive= (N, D, S, or C)

  • DB2/400= (N, D, S, or C)

  • ORACLE= (N, D, S, or C)

  • AS/400= (N, D, S, or C)

  • DB2= (N, D, S, or C)

  • ODBC= (N, D, S, or C)

  • MicrosoftSQLServer = (N, D, S, or C)

  • Memory= (N, D, S, or C)

  • MySQL= (N, D, S, or C)

  • ALL

  • RESET

戻り値：

論理値……処理が成功した場合、Trueが返ります。失敗した場合、Falseが返ります。

例：

Logging('FALSE'LOG, 'ALL') …… 全てのロギング処理を行います。

Logging('TRUE'LOG, 'RESET') …… Magic.iniに設定されたロギング設定値を無効にします。

Logging('TRUE'LOG, 'ORACLE=D') …… Oracleのロギングレベルを「開発者」に設定します。

Logging('TRUE'LOG,'MicrosoftSQLServer=C') …… 次のデータマッパーのステップにおいて、レコードをMS-SQL Serverデータベースに挿入し、実行中に、<ProjectName>_error.logが、%log%ディレクトリに作成され、顧客ロギングレベルで挿入処理によって更新されます。

注意事項：

フィルタの指定内容が正しくないか空白の場合、Falseが返ります。

外部のログファイルが設定されず、デバッグモードが設定されない場合、Falseが返ります。

外部のログファイルが、ExecutionLogFileNameを使用して定義され、ファイルが作成できない場合は、Falseが返ります。メッセージは、mgerror.logファイルに書き込まれます。

Start/StopのパラメータがFalseと評価され、DBMSパラメータがD、S、Cのどれかと評価された場合(例：'False','ODBC=D')、ゲートウェイは、Nに設定されます。

Start/StopのパラメータがTrueと評価され、DBMSパラメータがNと評価された場合(例：'True','ODBC=D')、ゲートウェイオプションは無視され、関数はFalseを返します。

関数は、すべての実行コンテキストに影響します。

設定値は、現在のMagic xpiサーバのインスタンスに対してのみ有効になります。

Filterが'ALL'と設定され、Start/StopのパラメータがFalseと評価された場合、すべての値はFalseに設定されます。

Filterが'ALL'と設定され、Start/StopのパラメータがTrueと評価された場合、ゲートウェイ以外の全ての値はTrueに設定されます。

RESETは、INIの値をすべてリセットするために使用されます。RESETが指定され、Start/StopのパラメータがTrueと評価された場合、すべての値はリセットされます。RESETが指定され、Start/StopのパラメータがFalseと評価された場合、内容は無視され、関数はFalseを返します。

関連項目：

動的なゲートウェイログを作成するには


Lower

大文字を小文字に変換します。（全角英文字を含む）

構文： | Lower(文字 文字列)
パラメータ： | 文字列……変換する文字列または文字列式（大文字）
戻り値： | 変換された文字列（小文字）
例： | Lower('JOHN') 'john'が返ります。


LTrim

文字列の左側の空白（スペース）を削除します。

構文： | LTrim(文字 文字列)
パラメータ： | 文字列……編集対象となる文字列
戻り値： | 空白が取り除かれた文字列
例： | LTrim(' John') 'John'が返ります。
関連項目： | RTrim, Trim


MAX

複数の値を指定し、その中の最大値を返します。値のデータ型は同じでなければなりません。

構文： | MAX(value1,value2,...valuen)
パラメータ： | value1 ……数値、文字列、論理値のいずれか value2 ……value1 と同じデータ型の値 . . . valuen …… value1 と同じデータ型の値
戻り値： | 最大値
例： | MAX(8,9.2,5,4) 9 が返ります。 MAX('ABC','ACD') 'ACD'が返ります。
注意： | パラメータの数は、最大で30です。 [式]エディタの式は、展開表示では最後に省略記号（'...'）が示されます。これはパラメータの数が下辺であることを表しています。 値がBLOB項目の場合は、バイナリデータを数値として比較します。
関連項目： | IF, MIN


MID

文字列を指定し、その文字列の中の文字を取り出します。取り出す文字の数も指定できます。

構文： | MID(文字 文字列, 数値 開始位置, 数値 文字数)
パラメータ： | 文字列……文字を取り出す文字列。 開始位置……文字を取り出す位置。この位置から文字が取り出されます。 文字数……取り出す文字の数を指定します。
例： | MID('John',3,2) 'hn'が返ります。
関連項目： | Left, Right


MIN

複数の値を指定し、その中の最小値を返します。値のデータ型は同じでなければなりません。

構文： | MIN(value1,value2, ..., valuen)
パラメータ： | value1 ……数値、文字列、論理値のいずれか value2 ……value1 と同じデータ型の値 . . . valuen …… value1 と同じデータ型の値
戻り値： | 最小値
例： | MIN(8,9,2,5,4) 2 が返ります。 MAX('ABC', 'ACD') 'ABC'が返ります。
注意： | パラメータの数は、最大で30個です。 [式]エディタの式は、展開表示では最後に省略記号（'...'）が示されます。これはパラメータの数が下辺であることを表しています。 値がBLOB項目の場合、バイナリデータを数値として比較します。
関連項目： | IF, MAX


Minute

時刻または時刻式の分が数値で返ります。

構文： | Minute(時刻 時刻)
パラメータ： | 時刻……時刻または時刻式
戻り値： | 数値（0～59）
例： | Minute('12:15:00'TIME) 15 が返ります。 項目A の値が'12:15:00'TIMEの場合、Minute(A)+2 では17 が返ります。TIME はリテラル値です。
関連項目： | Hour, Second, Time


MOD

モジュールは、整数を除算した時の余りを戻します。

構文： | A MOD B
戻り値： | 整数の除算の余り。
例： | 17 MOD 10 は、7を戻します。


Month

日付の月（1～12）が返ります。

構文： | Month(日付 日付)
パラメータ： | 日付……日付
戻り値： | 数値（1～12）
例： | Month('1992/01/28'DATE) 1 が返ります。DATE は、リテラル値です。


MStr

数値を指定された長さ（バイト数）のMagic 数字に変換します。

構文： | MStr(数値 数値, 数値 バイト数)
パラメータ： | 数値……文字列に変換される数値 バイト数……変換後の文字列の長さ（バイト数）
戻り値： | 文字列……Magic 数字に変換された文字列
例： | MStr(123456,4) 数値123456 が4 バイトの文字列に変換されます。
注意： | この関数は、配列にデータを格納するすることを前提に設計されます。精度の最大値は、項目の[格納形式]特性が「MAGIC数値」として認識されます。
関連項目： | MVal


mTime

現在の時間をミリ秒単位で返します。

構文： | mTime()
パラメータ： | なし
戻り値： | 数値……現在の時刻を表す数値をミリ秒単位で返します。
例： | 時刻が、02:30:21.5am の時に mTime()を実行すると 9021500 を返します。
注意： | 通常は、タイムスタンプとして使用されます。 現在の時刻のミリ秒のみを取得する場合は、以下の式を使用することで実現できます。 mTime() – Time() * 1000 時刻型データは、ミリ秒をサポートしていません。
関連項目： | Time


mTStr

書式に基づいてミリ秒の時間値を文字列に変換します。

構文： | mTStr(数値 時間値, 文字 書式)
パラメータ： | 時間値……ミリ秒数を表す数値 書式……変換する書式。この書式に基づいて、文字列に変換します。
戻り値： | 文字列……指定した書式に基づいた時間値
例： | mTStr(52221123,'HH:MM:SS.mmm') 文字列 '14:30:21.123' を返します。 mTStr(52221123,'HH:MM:SS') 文字列 '14:30:21' を返します。


MVal

Magic 数字（内部コード）を数値に変換します。

構文： | MVal(文字 文字列)
パラメータ： | 文字列……Magic内部コードを含む文字列
戻り値： | 数値
例： | MVal(MStr(1234,4)) 1234 が返ります。


NDOW

曜日番号（1 、2 など）を曜日名（Sunday 、Monday など）に変換します。

構文： | NDOW(数値 曜日番号)
パラメータ： | 曜日番号……曜日を示す番号
戻り値： | 文字列……曜日名
例： | NDOW(1) 'Sunday'が返ります。 NDOW(DOW('1992/01/28'DATE)) 'Tuesday'が返ります。
注意： | 曜日番号として7 より大きい番号を指定した場合、7 が差し引かれます（例えば、0 ,7 ，14 では全て、'Sunday'が返ります）。
関連項目： | CDOW, DOW


NMonth

月番号（1 、2 など）を月名（January 、February など）に変換します。

構文： | NMonth(数値 月番号)
パラメータ： | 月番号……月を示す番号（1～12）
戻り値： | 文字列……月名
例： | NMonth(1) 'January'が返ります。 NMonth(Month('1992/01/28'DATE)) 'January'が返ります。
関連項目： | Month, NDOW


NOT

論理値をオペランドに戻す論理演算子。

論理演算子を伴う式は、演算結果を真（True）または偽（False）で返します。

構文：

NOT(論理 式)


NULL

NULL値を返します。

構文： | NULL()
パラメータ： | なし
注意： | この関数は、パラメータが無く、単にNULL値を返すために使用します。 この関数は、項目をNULL値で更新する場合に使用します。


objOldName

Magic xpiの式エディタは、特殊文字を処理することができません。これらの特殊文字は以下の通りです： [スペース] ~ ` ! @ # , % ^ & * - = + ( ) { } [ ] | " ? / \ < > ; 複数のピリオド(.).

例えば、変数などのこれらの文字を含む移行されたオブジェクトを使用して動作している場合、データマッパー内でこれらを使用する場合、この関数によって包む必要があります。

構文： | objOldName(objname)
パラメータ： | objname …… オブジェクト。オブジェクトは、変数やODSエントリ、他のリポジトリアイテム、またはデータマッパノード(構文が異なるため、JSONを除きます)です。
例： | 'MyString' & objOldName(F.Name>2)

Since version:

4.5


ODSArrayCnt

この関数は指定されたODSエントリーの値を取得します。

構文： | ODSArrayCnt(文字 odsentryname, 数値 globallocal)
パラメータ： | ODS entry name……ODS配列のODSキーワードまたは名前（文字列）。 ODSglobal……エントリーがグローバルとローカルのどちらであるかを識別するインジケータ（0=ローカル、1=グローバル）
戻り値： | ODS配列内のエントリー数。


ODSExists

この関数は、指定されたODSキーがODSデータベース内に存在するかどうかをチェックします。

構文： | ODSExists (文字 odskey, 数値 globallocal)
パラメータ： | odskey……ODSキーワード（文字列） global……エントリーがグローバルとローカルのどちらであるかを指定する数値（0=ローカル、1=グローバル）
戻り値： | ODSキーが存在するかどうかを示すブール値。


ODSGet

この関数は指定されたODSエントリーの値を取得します。

構文： | ODSGet(文字 odskey, 数値 global, 文字 type, 数値 Index)
パラメータ： | odskey……ODSキーワード（文字列） global……エントリーがグローバルとローカルのどちらであるかを識別するインジケータ（0=ローカル、1=グローバル） type……データ タイプ。（A=文字、N=数値、D=日付、T=時刻、L=論理型、B=BLOB) Index……ODS配列におけるエントリーのインデックス キー番号。値は数値にある。
戻り値： | ODSエントリー値（戻り値のタイプはtypeパラメータが定義）。
例： | ODSGet('aaaa', 1, 'B', 2) インデックス'2'で、グローバルなODS名『aaaa』内のBLOB値を取得します。


OEM2ANSI

OEM文字セットの文字列をANSI文字セットに変換します。

構文： | OEM2ANSI(文字 string)
パラメータ： | 文字列……変換されるOEM文字列
戻り値： | 文字列……ANSIに変換された文字列
関連項目： | ANSI2OEM


RAND

乱数を生成します。

構文： | RAND(数値 開始番号)
パラメータ： | 開始番号……乱数の生成に使用されるシード値
戻り値： | 数値……乱数が１未満の小数値で返ります。
例： | 開始番号が「-1」の場合、シード値自体が乱数となります。 開始番号が「n」の場合（n は、0 または-1 以外）、シード値がn になります。 開始番号が「0」の場合、既存のシード値を基に次の乱数が生成されます。したがって、既存のシード値を基に乱数を生成したい場合、RAND(0)を使用します。


Range

値と範囲を指定し、その値が指定した範囲にあるかどうかを確認します。

構文： | Range(値, 下限値, 上限値)
パラメータ： | 値……チェックの対象 下限値……範囲の下限となる値 上限値……範囲の上限となる値
戻り値： | 論理値 True……値が指定した範囲内にある（境界値を含む） False……値が指定した範囲内にない
例： | Range(10,5,15)「True」 が返ります。
注意： | MIN やMAX と同じく、この関数でも、任意のデータ型の値が指定できます。ただし、値、下限値、上限値の各パラメータのデータ型は全て同じでなければなりません。BLOB は、全て「False」 が返ります。
関連項目： | MAX, MIN


RegExGetGrp

構文：

RegExGetGrp(文字 RegExString, 文字 string2Match, 数値 groupindex)

パラメータ：

RegExString … 正規表現のパターン

String2Match … 正規表現が実行される文字列

groupindex … グループインデックス番号

戻り値：

文字列を返します。 無効なグループまたは一致するグループが見つからない場合は、NULLを返します。

例：

  • RegExGetGrp ('((a(b)c)d)','abcd',1) は、"abcd" が返ります。

  • RegExGetGrp ('((a(b)c)d)','abcd',2) は、"abc" が返ります。

  • RegExGetGrp ('((a(b)c)d)','abcd',3) は、"b" が返ります。

(Since version: 4.13.1)


RegExMatch

構文：

RegExMatch(文字 RegExString, 文字 String2Match)

パラメータ：

RegExString … 正規表現のパターン

String2Match … 正規表現が実行される文字列

戻り値：

論理値

正規表現が指定された文字列と一致する場合はTrue、そうでない場合はFalse返します。

例：

  • RegExMatch ('([0-9]{4}-[0-9]{4})','1123-1234') は、 "True" が返ります。

  • RegExMatch ('.s','add') は、"False" が返ります。

(Since version: 4.13.1)


RegExReplace

構文：

RegExReplace文字 RegExString, 文字 LookInString, 文字 ReplaceWith)

パラメータ：

RegExString … 正規表現のパターン

LookInString … 正規表現が実行される文字列

ReplaceWith … 一致する文字列の出現を置き換える文字列

戻り値：

一致する文字列がReplaceWithの値に置き換えられた文字列。一致する文字列が見つからない場合は、NULLを返します。

例：

  • RegExReplace ('([0-9]{4}-[0-9]{4})','My phone # are 1123-1234 AND 1123-1234','4444') は、"My phone # are 4444 AND 4444'" が返ります。

(Since version: 4.13.1)


RegExSearch

構文：

RegExSearch(文字 RegExString,文字 LookInString,文字 delimiter)

パラメータ：

RegExString … 正規表現のパターン

LookInStrin … 正規表現が実行される文字列

delimiter … 一致する文字列が複数ある場合に、それらを組み合わせるための区切り文字

戻り値：

区切り文字で区切られた各文字列。一致する文字列が見つからない場合は、NULLを返します。

例：

  • RegExSearch ('([0-9]{4}-[0-9]{4})','My phone # are 1123-1234 AND 1123-1234',',') は、"1123-1234,1123-1234" が返ります。

(Since version: 4.13.1)


Rep

文字列中の位置と文字数を指定し、その部分を別の文字列に置き換えます。置き換えは、[位置]パラメータで指定された位置から始まります。

構文： | Rep(文字 文字列1, 文字 文字列2, 数値 位置, 数詞 文字数)
パラメータ： | 文字列1……文字列または文字列式で、この文字列の中の文字列が置き換えられることになります。 文字列2……文字列または文字列式で、この文字列が挿入されます。 位置……[文字列1 ]上の位置で、この位置から置き換えが始まります。 文字数……置き換えられる文字の数で、この数の文字が置き換えの対象となります。
戻り値： | 置き換え後の文字列
例： | Rep('12345','abcde',3,2) '12ab5'が返ります。


RepStr

文字列内にある特定の部分文字列を検索し、別の文字列に置き換えます。

構文： | RepStr(文字 文字列, 文字 検索文字列, 文字 置換文字列)
パラメータ： | 文字列……対象となる文字列 検索文字列……この文字列で検索します。 置換文字列……この文字列で置き換えます。
戻り値： | 置き換え後の文字列
例: | RepStr('BB//CC//DD//EE','//','==',) 'BB==CC==DD==EE'が返ります。
注意： | 元の部分文字列と新しい部分文字列は文字列の長さが異なっていても構いません。 新しい文字列が元の文字列より短い場合には、置き換え後の文字列は置き換え前よりも短くなります。 逆に、新しい文字列が元の文字列よりも長い場合には、置き換え後の文字列は置き換え前よりも長くなります。


Right

文字列の一番右の文字から開始して指定の文字数分の文字列を返します。

構文： | Right(文字 文字列, 数値 文字数)
パラメータ： | 文字列……文字を取り出す文字列
 | 文字数……取り出す文字の数を指定します。この数の文字が、文字列の左側から取り出されます。
戻り値： | 文字列
例： | Right('abcdefg',3) 'efg'が返ります。
注意： | 文字列が文字型変数の場合、関数は変数のすべての長さを参照します。 変数Aが‘abcdefg’を含む20文字の文字型変数の場合、Right(A、3)は' '(変数の最後の3つの位置は空白)を返します。 変数に含まれている実際の文字列から文字を取り返す場合は、Right(RTrim(A),3)を使用してください。
関連項目： | Left, MID, RTrim


Round

数値の一部を取り出し、その結果を四捨五入します。

構文： | Round(数値 数値, 数値 整数部桁数, 数値 小数部桁数)
パラメータ： | 数値……処理の対象となる数値
 | 整数部桁数……取り出したい桁の整数の桁数を指定します。指定した数の桁は、小数点から左に向かって取り出されます。
 | 小数部桁数……取り出したい桁の少数の桁数を指定します。指定した数の桁は、小数点から右に向かって取り出されます。負の数の場合、式は小数点の左側で丸められます。
戻り値： | 数値……取り出される小数部で一番右の次の桁が四捨五入され、その結果が返ります。
例： | Round(345.995,2,2) では 46.00 が返ります。 Round(657.37,3,-1) では 660.00 が返ります。


RqHTTPHeader

返されたHTTP結果に対するHTTPヘッダ情報を設定します。

構文： | RqHTTPHeader(文字 ヘッダ,[ヘッダ])
パラメータ： | ヘッダ……必要なHTTPヘッダデータを表す文字列。例えば 'Content-type:application/pdf' リクエスタの出力データがPDF形式であることを示します。ヘッダ文字列は、[タイプ]：[値]と指定します。
戻り値： | 論理値 ……ヘッダ情報が[タイプ]:［値］で定義されている場合Trueが返ります。
例： | File2Blb関数を使用してPDFファイルをポストするには、リクエスタのHTTPヘッダーをqHTTPHeader('Content-type: application/pdf') と定義しなければなりません。
注意： | HTTPヘッダは、リクエストが完了し、出力がリクエスタに送り返されるようにリクエストに設定されます。 最後のRqHTTPHeaderが評価され発行されます。次のリクエストは、前のリクエスト内のこの関数の評価には影響されません。


RqHTTPStatusCode

HTTPのステータスの戻りを制御します。

構文：

RqHttpStatusCode (status code, reason phrase)

パラメータ：

status code …… 3桁の数値

reason phrase …… ステータスコードの短い説明。

戻り値：

論理値 …… 処理が成功したら True が返り、失敗したら False が返ります。

使用法：

顧客がすでにGoogleにページにインデックスがついている場合、クライアント(そしてGooglebot)が、ページが移動したことを認識したら、HTTPステータス：301を設定するために、顧客はMagic xpiが必要になります。これによって、ページのインデックスが失うことはなくなります。

例：

ページが別のアドレスに移動したことを通知するには、リクエストの実行内で以下を定義しなければなりません：

  1. Return status of 301 – RqHTTPStatusCode(301," Moved Permanently")

  2. New Location – SetHTTPHeaders('Location: http://newaddress/page.html')

注意：

HTTPステータスコードは、リクエストが完了し、出力がリクエスタに送り返されるようにリクエストに設定されます。これは、RqHTTPStatusCode関数がリクエストタスクのフローの任意のポイントで評価できることを意味しています。

実行される最後のRqHTTPHeader関数が影響します。次のリクエストは、前のリクエスト内のこの関数が評価されても影響しません。


RTrim

文字列の右側の空白を削除します。

構文： | RTrim(文字 文字列)
パラメータ： | 文字列 ……空白の削除を行う文字列
戻り値： | 空白の削除後の文字列
例： | Rtrim('John') 'John'が返ります。
関連項目： | LTrim, Trim


Second

時刻のうち、秒の値を取り出します。

構文： | Second(時刻 時刻)
パラメータ： | 時刻……時刻または時刻式
戻り値： | 数値（0～59）
例： | Second('12:15:48'TIME) 48 が返ります。
 | A の値が'12:15:48'TIMEの場合、Second(A)+ 2 では50 が返ります。
関連項目： | Hour, Minute


SetHTTPHeaders

返されたHTTP結果に対するHTTPヘッダ情報を設定します。

構文： | SetHTTPHeaders(文字 ヘッダ, 文字 区切り)
パラメータ： | ヘッダ……区切り文字を含む全てのヘッダを保持する文字列。
 | 区切り……区切り文字となる任意の文字。デフォルト値は、カンマ（)です。ヘッダ文字列を区切る場合に使用されます。
戻り値： | 論理値 ……ヘッダ情報が[タイプ]:［値］で定義されている場合Trueが返ります。
例： | SetHTTPHeaders(‘Key1:Value1, Key2:Value2, Key3:Value3’,’,’)
注意： | HTTPを呼び出す度に１つのヘッダセットのみが定義できます。


SIN

角度のサインが返ります。角度はラジアンで指定します。

構文： | SIN(数値 ラジアン)
パラメータ： | ラジアン……角度を示すラジアン
戻り値： | 正弦値（サイン）
例： | SIN(0.7854) 0.70711 が返ります。
関連項目： | ACOS, ASIN, ATAN, COS, TAN


Str

数値を文字列に変換します。

構文： | Str(数値 数値, 文字 書式)
パラメータ： | 数値……この数値が文字列に変換されます。
 | 書式……この書式に従って数値が文字列に変換されます。
戻り値： | 変換された文字列
例： | Str(45.12,'##.#') '45.1'が返ります。
注意： | この関数では書式を指定しますので、数値によっては四捨五入されることもあります。例えば、Str（39.999,'##.##'）では'40.00'が返ります。 結果の書式が不明な場合、書式として"を使用してください。例:Str(45.67、")。Magic xpiの内部のアルゴリズムは、変換される数値に基づいて、どの書式を使用するかを決めます。
関連項目： | Val


STRFormat

引数が組み込まれた文字列をフォーマットして、動的なメッセージと文字列を簡単に作成します。

構文： | STRFormat (文字 書式, 文字 arg1, 文字 arg2, ..., 文字 argn)
パラメータ： | 書式……引数値を含んでいる文字列。引数値の前に%文字を付ける必要があります（%n）。 Arg……引数名を昇順で並べたもの。引数には、変数またはODSエントリーなど、文字列に挿入される動的な情報を含んでいるあらゆるタイプのフロー データを使用できます。
戻り値： | 動的なFlow Dataを含んだフォーマット済み文字列。
備考： | 引数値は、文字列の一部として入力し、%記号を前に付ける必要があります。各文字列に最高10個の引数を入力可能です。
例： | STRFormat('Mr. %1 requested credit of %2 and has available credit of %3.','Customer_Name', 'Amount_Requested', 'Current_Credit').
注意： | フォーマット済み文字列を作成するステップで使用できる引数は、式エディタの変数リストに記載されています。


StrToken

区切り文字で区切られている文字列から、指定された番号のトークンを取得します。

構文：

StrToken(文字 ソース文字列, 数値 トークンインデックス, 文字 区切文字列)

パラメータ：

ソース文字列……複数の文字列で構成される文字列。区切文字で区切られ、トークンが置かれています。

トークンインデックス……取り出したいトークンで、その位置をインデックス（順番を示す番号）で指定します。

区切文字列……区切文字の文字列。1文字以上の文字列を指定できます。

戻り値：

文字列（トークン）……トークンが見つからなかった場合は、空白が返ります。

例：

区切り文字は、区切りを行うため複数の文字が定義される場合があります。

  • トークンインデックスが1で、区切文字がNULLの場合や、区切文字が見つからなかった場合、ソース文字列が返ります。

  • トークンインデックスが1より大きく、区切文字が見つからなかった場合は（区切文字がNULL、インデックスが範囲外、区切文字が存在しないなど）、空の文字列が返ります。

  • 区切文字はそれぞれ、インデックスの処理の際に個別にカウントされます（繰り返して処理されることはありません）。

例：

StrToken('abcd,cdef,ghik,lmnp',2,',')

'cdef'が返ります。

注意：

スペースは区切文字には使用できません。


StrTokenCnt

区切り文字で区切られている文字列からトークンの数を返します。

構文： | StrTokenCnt(文字 ソース文字列 文字 区切文字列)
パラメータ： | ソース文字列……複数の文字列で構成される文字列。区切文字で区切られ、トークンが置かれています。 区切文字列……区切文字の文字列。1文字以上の文字列を指定できます。
戻り値： | 数値……区切り文字によって区切られるソース文字列内にあるトークンの数。区切り文字が見つからない場合は、1 が返ります。
例： | StrTokenCnt('abcd\cdef\ghik\lmnp','\') 4が返ります。
注意： | スペースは、区切文字として使用できません。


StrTokenIdx

区切り文字で区切られている文字列から、トークンを検索しインデックス番号を返します。

構文： | StrTokenIdx(文字 ソース文字列, 文字 トークン文字列, 文字 区切文字列)
パラメータ： | ソース文字列……複数の文字列で構成される文字列。区切文字で区切られ、トークンが置かれています。 トークン文字列……検索する文字列 区切文字列……区切文字の文字列。1文字以上の文字列を指定できます。
戻り値： | 数値……指定された区切り文字で区切られた文字列の位置する番号。トークン文字列が見つからない場合は、 0 が返ります。
例： | StrTokenIdx('AA,BB,CC,DD','CC','','') 3 が返ります。
注意： | スペースは、区切文字として使用できません。


TAN

角度の正接（タンジェント）が返ります。角度は、ラジアンで指定します。

構文： | TAN(数値 ラジアン)
パラメータ： | ラジアン……角度で、ラジアンで指定します。
戻り値： | 数値……正接値
例： | TAN(0.7853981634) 1 が返ります。
関連項目： | ACOS, ASIN, ATAN, COS, SIN


Time

システムの時刻が返ります。

構文： | Time()
パラメータ： | なし
戻り値： | 時刻値……現在の時刻(デフォルトの書式は、'HH:MM:SS')
例： | Time()で、17:08:42 が返る場合、Time()+5 では、システムの時刻に5 秒が加えられ、17:08:47 が返ります。
注意： | より精密な時間を取得する場合は、mTime関数を使用してください。
関連項目： | Date, TVal, TStr, 現在の時間を取得するには


Translate

論理名を実行名に変換します。ネストされた論理名を含めて変換されます。 シークレット名は変換されません。TransleteNR関数との違いは、指定された論理名が存在しない場合に、論理名以外を返すことです。

構文： | Translate(文字 文字列)
パラメータ： | 文字列……論理名（実際に指定した名前の前後に % を付加します。）
戻り値： | 文字列……環境変数によって表されてた実行名が返ります。
例： | Driver = 'C:' と登録されている場合 Translate('チェックドライブ %Driver%) → 'チェックドライブ C:' Temp = '%Driver%\temp\''と登録されている場合 Translate('%Temp% が見つかりません') → 'C:\temp\ が見つかりません'
関連項目： | TranslateNR


TranslateNR

論理名を実行名に変換します。ネストされた論理名を含めて変換されます。 シークレット名は変換されません。Translete関数との違いは、指定された論理名が存在しない場合に、論理名を文字列として返すことです。

構文： | TranslateNR(文字 文字列)
パラメータ： | 文字列……論理名（実際に指定した名前の前後に % を付加します。）
戻り値： | 文字列……環境変数によって表されてた実行名が返ります。
例： | Driver = 'C:' と登録されている場合 Translate('チェックドライブ %Driver%) → 'チェックドライブ C:' Temp = '%Driver%temp\''と登録されている場合 Translate('%Temp% が見つかりません') → 'C:\temp\ が見つかりません'
関連項目： | Translate


Trim

文字列の先頭と末尾の空白を削除します。

構文： | Trim(文字 文字列)
パラメータ： | 文字列……編集対象となる文字列
戻り値： | 文字列……空白削除後の文字列
例： | Trim(' abc ') 前後の空白が取り除かれ、'abc'が返ります。（アポストロフィを除きます。）
関連項目： | LTrim, RTrim


TStr

時刻型のデータを文字列データに変換します。

構文： | TStr(時刻 時刻, 文字 書式)
パラメータ： | 時刻……文字列に変換する時刻 書式……この書式にしたがって時刻が文字列に変換されます。
戻り値： | 時刻の変換後の文字列
例： | TStr ('14:30'TIME,'HH:MM PM') '2:30 PM'が返ります。
注意： | 書式が空白の場合は、"HH:MM:SS" と見なされます。
関連項目： | DStr, DVal, TVal


TVal

文字列として格納されている時刻を通常の時刻（数値）に変換します。書式も指定できます。

構文： | TVal(文字 文字列, 文字 書式)
パラメータ： | 文字列……文字列の形式で格納されている時刻（例えば、'02:30:00 PM'） 書式…… 文字列として格納されている時刻に使用されている書式。ここで指定した書式を基に、文字列として格納されている時刻が解釈されます。
戻り値： | 時刻
例： | Tval('02:30:00 PM','HH:MM:SS PM') 14:30:00 が返ります。
注意： | 書式を指定しなかった場合、書式は'HH:MM:SS と解釈されます。
関連項目： | DStr, DVal, TStr


UDSClear

この関数はUDS変数の全てのデータフィールドをクリアします。

構文： | UDSClear(文字 UDS変数名, 文字 UDSモデル名)
パラメータ： | UDS変数名……UDS変数名 UDSモデル名……UDSモデル名
戻り値： | クリア操作が成功したかどうかを示す数値
例： | UDSClear('F.CustomerList','StandardList') F.CustomerList フロー変数のデータをクリアします。
関連項目： | UDSDeleteRecord, UDSGet, UDSGetField, UDSSet, UDSUpdateField


UDSDeleteRecord

この関数は特定フィールドの値に基づきUDS変数の特定のレコードを削除します。

構文： | UDSDeleteRecord (文字 UDS variable name, 文字 locate field name, 文字 locate field value, 文字 UDS model)
パラメータ： | UDS variable name……UDS変数名 locate field name……位置付けるフィールド名 locate field value……位置付けるフィールド値 UDS model……UDSモデル名
戻り値： | 成功の場合は0。エラーの場合は対応するエラー番号。
例： | UDSDeleteRecord ('F.CustomerList','CustomerID','15','StandardList') CustomerIDフィールドが15になっている 'StandardList'モデルのF.CustomerListフロー変数が削除されます。
関連項目： | UDSClear, UDSGet, UDSGetField, UDSSet, UDSUpdateField


UDSGet

この関数は指定されたUDS変数に格納されている全てのデータを取り出します。

構文： | UDSGet (文字 UDS variable name, 文字 UDS model)
パラメータ： | UDS variable name……UDS変数名 UDS model……UDSモデル名
戻り値： | UDS テーブルデータ(BLOB)
関連項目： | UDSClear, UDSDeleteRecord, UDSGetField, UDSSet, UDSUpdateField


UDSGetField

この関数指定されたUDS変数のフィールド値を返します。.

構文： | UDSGetField (文字 variable name, 文字 locatefieldname, 文字 locatefieldvalue, 文字 fieldname, 文字 udsmodel)
パラメータ： | variable name……UDS変数名 locate field name……位置付けるフィールド名 locate field value……位置付けるフィールド値 field name……値を取得するフィールド名 UDS model……UDSモデル名
戻り値： | フィールドタイプに応じたフィールドデータ
例： | UDSGetField ('F.CustomerList','CustomerID','15','CustomerName','StandardList') 顧客ID = 15のStandardListモデルの F.CustomerList フロー変数の'CustomerNameの値を返します。
関連項目： | UDSClear, UDSDeleteRecord, UDSGet, UDSSet, UDSUpdateField


UDSSet

この関数は同じUDSモデルの他のUDS変数のデータでUDS変数を一つ更新します。

構文： | UDSSet (文字 destinationudsvar, 文字 sourceudsvar, 論理 logicalappend, 文字 udsmodel)
パラメータ： | destination UDS name……設定する変数名(UDS型変数）。 source UDS name……入力データを格納している変数名（UDS変数）。 logical append……論理フィールド UDS model name…… UDSモデルの名前（UDS変数を定義、使用する前にUDS形式を定義しなくてはなりません - これがUDSモデル名です）。
戻り値： | 成功の場合は0。エラーの場合は対応するエラー番号。
例： | UDSSet ('F.CustomerList2','F.CustomerList1','True'Log,'StandardList') 全てのF.CustomerList1レコードをF.CustomerList2 にコピーします（レコードはF.CustomerList2に追加されます）。 F.CustomerList1 と F.CustomerList2 は両方ともStandardList UDSモデルフロー変数です。
関連項目： | UDSClear, UDSDeleteRecord, UDSGet, UDSGetField, UDSUpdateField


UDSUpdateField

この関数はUDS変数の特定のフィールドを更新します。

構文： | UDSUpdateField (Alpha variable name, Alpha fieldname, Alpha fielddata, Alpha locatefieldname, Alpha locatefieldvalue, Alpha udsmodel)
パラメータ： | UDS variable name……UDS変数名 field name……更新するフィールド名 field data……更新する値 locate field name……位置付けるフィールド名 locate field value……位置付けるフィールド値 UDS model……UDSモデル名
戻り値： | 成功の場合は0。エラーの場合は対応するエラー番号。
例： | UDSUpdateField ('F.CustomerList','CustomerName','John Nash','CustomerID','15','StandardList') StandardList UDSモデルのF.CustomerListフロー変数が CusotmerID=15 のレコードの'CustomerNameフィールドを 'John Nash' に更新します。
関連項目： | UDSClear, UDSDeleteRecord, UDSGet, UDSGetField, UDSSet


UnicodeChr

指定された数値を文字コード（10進）とするUnicode文字に変換します。

構文： | UnicodeChr (数値 数値)
パラメータ： | 数値……Unicodeの文字コードを表す数値 （0 ～ 65,535）
戻り値： | Unicode文字……指定された文字コードに基づくUnicode文字 文字コードが、0 ～ 65,535の範囲以外の場合、NULLが返ります。
例： | UnicodeChr(12355) 10進数の「12355」は、「x'3043'」、これはUnicodeの「い」として返ります。
注意事項： | この関数では10進数で数値を指定する必要がありますが、通常Unicodeのコードページは16進数で表されています。HVal()関数を使用することで10進数に変換することができます。


UnicodeFromANSI

指定されたコードページに基づいて、ANSI文字列をUnicode文字に変換します。

構文： | UnicodeFromANSI (文字 ANSI文字列, 数値 コードページ)
パラメータ： | ANSI 文字列……ANSI文字を含む文字列 コードページ……Unicodeに変換する際に使用されるコードページを表す数値。「0」が指定された場合、デフォルトのシステムコードページが使用されます。
戻り値： | Unicode文字列……変換されたUnicode文字列。コードページが正しくない場合やANSI文字列がNULLの場合、NULLが返ります。
関連項目： | UnicodeToANSI


UnicodeToANSI

指定されたコードページに基づいて、Unicode文字列をANSI文字列に変換します。

構文： | UnicodeToANSI (Unicode Unicode文字列, 数値 コードページ)
パラメータ： | Unicode文字列……Unicode文字を含む文字列 コードページ……ANSIに変換する際に使用されるコードページを表す数値。「0」が指定された場合、デフォルトのシステムコードページが使用されます。
戻り値： | Unicode文字列……変換されたANSI文字列。コードページが正しくない場合やUnicode文字列がNULLの場合、NULLが返ります。
注意事項： | Unicode文字列内に指定されたコードページに含まれていない文字がある場合、変換処理時にスキップされます。
関連項目： | UnicodeFromANSI


UnicodeFromCustomCodePage

コードページでエンコードされたバイナリBLOBをUnicode BLOBに変換します。

構文： | UnicodeFromCustomCodePage (バイナリBLOB 式, 文字 カスタムコードページ)
パラメータ： | 式 …… バイナリBLOBを含む式 カスタムコードページ…… ソースのコードページを定義する文字列
戻り値： | Unicode BLOB
例： | UnicodeFromCustomCodePage (F.BinaryBlob,'ibm-273_P100-1995')
注意事項： | デフォルトのコードページ値は、ifs.iniファイルの[MAGIC_IBOLT] DefaultCustomCodePageに設定されています。 値が指定されていない場合、デフォルトのコードページは、ifs.iniファイルに定義されている DefaultCustomCodePageの値を設定します。
関連項目： | UnicodeToCustomCodePage サポートされるコードページ


UnicodeToCustomCodePage

Unicode BLOBを、指定されたに対応するコンテンツを持つバイナリBLOBに変換します。

構文： | UnicodeToCustomCodePage (Unicode BLOB 式, 文字 カスタムコードページ)
パラメータ： | 式 …… Unicode BLOBを含む式 カスタムコードページ…… ターゲットのコードページを定義する文字列（必ずしもEBCDICとは限りません）
戻り値： | コードページで定義された任意のテキストコンテンツを持つバイナリBLOB。
例： | UnicodeToCustomCodePage (F.unicodeBlob,'ibm-273_P100-1995')
注意事項： | デフォルトのコードページ値は、ifs.iniファイルの[MAGIC_IBOLT] DefaultCustomCodePageに設定されています。 値が指定されていない場合、デフォルトのコードページは、ifs.iniファイルに定義されている DefaultCustomCodePageの値を設定します。
関連項目： | UnicodeFromCustomCodePage サポートされるコードページ


UnicodeVal

Unicode文字を対応する文字コード（10進）に変換します。

構文： | UnicodeVal (Unicode Unicode文字)
パラメータ： | Unicode文字……数値に変換されるUnicode文字。複数の文字が含まれている場合、最初の文字だけ変換されます。
戻り値： | 数値……Unicodeの文字コードを表す10進数の数値 空白が指定された場合、「0」が返ります。 NULLが指定された場合、NULLが返ります。 これ以外の場合は、指定された文字列の最初の文字が数値に変換されます。
例： | UnicodeVal ('あ') 「あ」は、Unicodeでは、「x'3042'」のため、10進数の「12354」が返ります。
関連項目： | UnicodeChr


Upper

小文字を大文字に変換します。（全角英文字を含む）

構文： | Upper(文字 文字列)
パラメータ： | 文字列……変換する文字列
戻り値： | 文字列……大文字に変換された文字列
例： | Upper('john') 'JOHN'が返ります。
関連項目： | Lower


UTCDate

現在の協定世界時（UTC)日付を返します。

構文： | UTCDate()
パラメータ： | なし
戻り値： | 日付型 …… UTCフォーマットで現在の日付を返します。
例： | システム日付が92/01/28の場合、UTCDate（)は92/01/28を返します。 UTCDate（)+5は、92/02/02を返します。
関連項目： | Date, UTCTime, UTCmTime, Date Mode


UTCmTime

現在の協定世界時（UTC)時刻を、深夜からのミリ秒で返します。

構文： | UTCmTime()
パラメータ： | なし
戻り値： | 数値 …… 0時（UTC）から現在の時刻までの経過時間をミリ秒で表した数値。
例： | 02:30:21.5 AM(UTC) にUTCmTime() を評価した場合、9021500が返ります。
注意： | これは通常、タイムスタンプで使用されます。ミリ秒を取得したい場合、次の式を使用することができます。 UTCmTime（)－UTCTime（) * 1000 時刻データ型は、ミリ秒をサポートしません。
関連項目： | mTime, UTCDate, UTCTime


UTCTime

現在の協定世界時（UTC)時刻を返します。

構文： | UTCTime()
パラメータ： | なし
戻り値： | 時刻 …… 現在のUTC時刻が返ります。
例： | 日本標準時（JST）が12:30:00の場合、UTCTime（)は-9時間となり、05:30:00を返します。
注意： | UTCTime（)関数は、［代入］特性でよく使用されます。ユーザ向けの画面を表示する際、最初の時刻としてフィールドに設定し、レコードの修正や作成時にタイムスタンプを設定する場合に使用できます。 さらに正確な時間が必要な場合は、UTCmTime関数を使用してください。
関連項目： | Time, UTCDate


UTF8FromAnsi

データをANSIからUTF8 にエンコードします。

構文： | UTF8FromAnsi(文字 ANSI文字列)
パラメータ： | ANSI文字列 …… 変換される文字列。データの型は、文字、Unicodeおよび RTF形式のBLOBです。
戻り値： | BLOB値 …… UTF8でエンコードされたRTFデータ
例： | UTF8FromAnsi(A) 項目'A'を UTF8にエンコードします。 UTF8FromAnsi('Hello World') 'Hello World'という文字列をUTF8にエンコードします。
関連項目： | UTF8ToAnsi


UTF8ToAnsi

データをUTF8からANSI にエンコードします。この関数は、CodePage関数で指定されたコードページを使用します。CodePage関数を使用しない場合、OSのデフォルトのコードページが使用されます。

構文： | UTF8ToAnsi(文字 文字列)
パラメータ： | 文字列 …… 変換される文字列。データの型は、文字、Unicodeおよび RTF形式のBLOBです。
戻り値： | BLOB値 …… ANSIでエンコードされたRTFデータ
例： | UTF8ToAnsi(A) 項目'A'を ANSIにエンコードします。
関連項目： | UTF8FromAnsi


UTF8fromUnicode

Unicode BLOBをBOM文字を含むUTF-8を持つバイナリに変換します。

構文： | UTF8fromUnicode(Unicode BLOB 式)
パラメータ： | 式……Unicode BLOB を含む文字列
戻り値： | UTF-8とBOMを含むバイナリBLOB。
関連トピック： | BLOB を UTF-8で格納されたBLOBに変換するのか

Since version:

4.0a


UTF8toUnicode

UTF-8のANSIまたはバイナリBLOBをUnicode BLOBに変換します。

構文： | UTF8toUnicode(Binary BLOB 式)
パラメータ： | 式…… UTF-8で格納されたバイナリBLOBを含む式。
戻り値： | Unicode BLOBを含む式。
関連トピック： | UTF-8で格納されたバイナリのBLOBをUnicode BLOBに変換するには

Since version:

4.0a


Val

文字列を数値に変換します。書式も指定できます。

構文： | Val(文字 文字列, 文字 書式)
パラメータ： | 文字列……数値に変換される文字列 書式……書式にしたがって文字列が数値に変換されます。
戻り値： | 数値
例： | Val('45.12','##.#') 45.1 が返ります。
注意： | 書式を指定しなかった場合、標準の書式で数値が返ります。
関連項目： | Str


XMLExist

この関数は与えられたパスで定義された要素が存在するかどうかを確認します。

構文： | XMLExist(文字 sourcepath)
パラメータ： | source path……ソースの有効な xml パス。
戻り値： | パスで定義された要素が存在していた場合Trueになります。存在しない場合はFalseが返ります。
注意： | この関数はデータマッパーでのみ有効です。 この関数は、XMLストリーミングパーザを使用する場合はサポートされません。


XMLStr

正規のXML 文字列を予約語を使用したXML表記に変換します。

構文： | XMLStr(文字 XML文字列)
パラメータ： | XML文字列……正規のXML 文字列
戻り値： | 文字列……予約語を使用した XML表記に変換された文字列
例： | XMLStr('&It;Hello &quot; World&gt;') '<Hellow World>' を返します。
関連項目： | XMLVal


XMLVal

予約語を使用したXML 文字列を正規のXML表記に変換します。

構文： | XMLVal(文字 XML文字列)
パラメータ： | XML文字列……文字列表記のXMLデータ
戻り値： | 文字列……正規のXML表記に変換されたXML文字列
例： | XMLVal('<Hello World>') '&It;Hello World!&gt;' を返します。
関連項目： | XMLStr


Year

日付の年が返ります。年は、4 桁で返ります。

構文： | Year(日付 日付)
パラメータ： | 日付……日付
戻り値： | 数値……年（4 桁）
例： | システムの日付が97/01/28 の場合、Year(Date())では、1997 が返ります。


演算子

関数式内で演算子を使用することができます。式には、動作を表す演算子と変数などの動作の対象となるオブジェクトが含まれます。

演算子は、以下の3つのカテゴリーに分けられます。

  • 数値：例'+'

  • 文字列：例'&'

  • 論理型：例'NOT'

従来の代数規則に則った算術式、文字列式、または論理式であれば、任意のものを入力できます。以下は、使用可能な演算子の一覧です。

演算子 | 例 | 追加情報
算術演算子
+ | A+B+C | 加算の算術演算子
/ | A/B | 除算の算術演算子。計算結果の整数部分は、近似値へ四捨五入された値です。
^ | A^Bは、AにBをべき乗した値を返します。 | べき乗の算術演算子
* | A*B | 乗算の算術演算子
- | A-B-C | 減算の算術演算子
文字列演算子
& | 'John'&'Smith'は、'JohnSmith'を返します。 | &を用いて、アルファベット文字列を連結するときに使用します。
論理演算子 ※論理演算子を伴う式は、演算結果を真（True）または偽（False）で返します。
AND |  | 両方の式が共に真（True）と評価されるときに限り、演算結果は真（True）になります。
NOT | NOT ('FALSE'LOG)はTRUEを返します。 NOT (A) Logical はTRUEを返します。 | このオペランドの論理値を反転します。 Magic xpi4.5からは、NOTは括弧を必要とします。プロジェクト上でチェッカを実行すると、括弧がNOT式に追加されます。しかし、チェッカー処理後に式エディタを開いたり、式を変更したり、［検証］または［OK］のボタンをクリックする時だけ、括弧は表示されます。
OR |  | どちらか一方の被演算数が真（True）と評価されるときに限り、演算結果は真（True）になります。
<> | A<>B | 等しくない
= | A=B | 等しい
> | A>B | より大きい
>= | A>=B | 以上
< | A<B | 未満
<= | A<=B | 以下


エラー

このヘルプには、Magic xpiのエラーを処理に対する異なる方法に関するり下げた情報を提供するコンセプトペーパーが含まれています。

関連トピック：

フローエラーポリシー

エラーポリシー

エラーリポジトリ


フローエラーポリシー

［エラーポリシー］リポジトリは、エラーポリシーを指定したエラーコードまたはエラーコードの範囲に設定します。エラーが発生すると、エラーポリシーは、Magic xpiが何を行うかを定義します。Magic xpiでのエラー処理に関する詳細は、エラーを参照してください。

エラーの範囲に対してエラーポリシーを設定するには：

  1. ソリューションエクスプローラの関連したフローで［エラーポリシー］をダブルクリックすることで、［エラーポリシー］リポジトリが開きます。

  2. エラーの範囲に対するエラーポリシーを追加することができる場所で1行追加するには、［追加］クリックしてください。

  3. ［From］カラムの右側の [image] をクリックして［エラー］リポジトリを開きます。

  4. 範囲の開始値となるエラーエントリを選択して［OK］クリックしてください。これを行うと、［コンポーネント］カラムは、選択されたエラーに対応したコンポーネント名が表示されます。

  5. ［To］カラムの右側の [image] をクリックして［エラー］リポジトリを開きます。範囲の終了値となるエラーエントリを選択して［OK］クリックしてください。

ポリシーを1つのエラーコードのみに設定したい場合は、［From］カラムに入力した同じ値を［To］カラムに入力してください。

［From］カラム設定されなくても、［To］カラムは有効です。この場合、Toまでのすべてのエラーがエラーポリシーで有効になります。

  6. ［説明］カラムには、選択内容に対する名前を入力することができます。

  7. ［エラーポリシー］リストからは、フローがエラー範囲内で選択されたエラーコードを返すときに、サーバに実行してほしいエラー処理の動作を選択することができます。オプションは以下の通りです：アボート、無視、フロー再起動、リトライ、ジャンプ。

  8. エラーポリシーとしてジャンプを選択した場合、［ステップ］カラムが有効になります［ステップ］カラムの右側の、ボタンをクリックすると［ステップリスト］ウィンドウが開きます。そして、フロー実行がジャンプすべきステップを選択してください。

  9. 通知カラムで、エラーが発生する時に実行するようにサーバにメッセージング動作を選択することができます。オプションは以下の通りです：電子メール、SNMP、何もしない。電子メールを選択すると、Eメール通知が管理者に送られます(電子メールのアドレスは、プロジェクトの［エラーメールの送信先］プロパティに設定されます)。

  10. ポリシーを保存するには、ツールバーの［保存］をクリックしてください。

入力したポリシーを使用したくない場合、作業を保存せずに、［エラーポリシー］リポジトリを閉じてください。

エラーの範囲のエラーポリシーを削除するには：

  1. 削除したいエラーポリシーを含んでいる行をクリックします。

  2. ［削除］をクリックしてください。


エラーポリシー

Magic xpiにおけるエラーの処理方法を定義するには、［フローエラー］リポジトリの［エラーポリシー］カラムを使用します。以下のオプションが選択できます。

  • アボート …… 現在のフローを中断し、アボート処理を実行します。

  • 無視 …… エラーを無視してフローを継続させます。

  • フロー再起動 …… フローを最初のステップから再開し、再起動処理を実行します。

  • リトライ …… 現在のステップを再試行します。IFS.iniファイルのStepRetryLimit= flag で、リトライのエラーポリシーオプションが選択された場合、Magic xpiサーバがステップの実行をリトライ回数を設定することができます。デフォルトは3回です。

  • ジャンプ …… これは、別のステップ(［エラーポリシー］タブの［ステップ］カラムに表示された)にジャンプします。ジャンプは、通常アクセスできないフローのセクションに移動することができます。条件がFalseのはフローで分岐がある場合、ジャンプを使用してのみそこに移動することができます。

ジャンプを使用した場合、フローはそのステップから継続され、エラーが発生したステップは継続されません。

フロー毎にエラーポリシーを定義します。例えば、Flow1でemailのポリシーをアボートと定義して、Flow2での同じエラーのエラーポリシーを無視にすることもできます。


エラーリポジトリ

［エラー］リポジトリには､フローエラーのポリシーで使用できるエラーのリストが含まれています。

リポジトリを開くには、ソリューションエクスプローラで［リポジトリ］フォルダに移動し、エラーを選択してください。または、SHIFT+F3を押下することにでも開くことができます。

ほとんどのエラーは特定のコンポーネントと関連付けられています。リストの上部にあるドロップダウンリストを持つコンポーネントによってエラーメッセージを表示することができます。

例えば、ドロップダウンリストからEmailを選択し、Emailコンポーネントのエラータイプのみを表示させることができます。また、［アボートフロー］ユーティリティで使用する一般に利用可能なエラーを定義することができるユーザエラーオプションを選択することができます。

エラーコードをエラー範囲に追加するために、エラーリストを使用することができます。これは、エラーポリシーを［エラーポリシー］リポジトリに設定するために使用されます。重複するエラーコードを追加するはできず、［コード］フィールドは空のままにすることはできます。

  • 特定のエラーメッセージを.NETコンポーネントやユーザーエラーコンポーネント、および新しく作成されたコンポーネントに追加することができます。これを行うには、上記のドロップダウンリストから.NETやユーザーエラー、または新しいコンポーネントの名前を選択してください。エラーメッセージを追加するには、［追加］をクリックしてください。エラーメッセージを取り除くためにDeleteをクリックすることもできます。エラーメッセージを削除する前に、プロジェクト内の別の場所で使用されないことを確認してください。リファレンス検索ユーティリティを実行することによって確認することができます。

  • エラー名には、最高30桁の文字を含めることができます。

  • コンポーネントとサービスは同じエラーコードを使用することができます。

特定のフローのエラーに関する情報については、フローエラーポリシーを参照してください。

関連トピック

一般コンポーネントエラー

エラーが発生したときフローを中止するには


一般コンポーネントエラー

Magic xpiサーバのフローマネージャーは、各ステップが実行される度にエラーをチェックします。ステップがエラーメッセージを発行するとエラーハンドラが起動されます。

もし（ステップ中の）コンポーネントが複数のメソッドを含んでいた場合、ステップのエラーポリシーは、全てのアクションを終了してからステップを終了するか、あるいは直ちにステップを終了しエラーポリシーを実行するかを判断します。

エラーリポジトリの［コンポーネント］のドロップダウンリストから［一般］を選択すると、以下のエラーコードは選択可能です。

エラーコード | 説明
10 | UserBLOBが一致していません
11 | ユーザ文字列が一致しません
12 | ユーザXMLデータが一致しません
13 | 最大インスタンスを超えました
15 | コンポーネントの応答動作によりフローが停止しました
16 | 内部エラー
17 | コマンド文字列が正しくありません
18 | 無効なフローが呼び出されました
19 | サーバは利用できません
21 | Javaの例外エラー
22 | プロセスが再帰呼び出しで可能なネスト数を越えました
23 | 呼び出されたフローがアボートしました
24 | エラーコードが、選択されたコンポーネントに存在しません


エラーコンポーネント

  • エラーリポジトリのドロップダウンリストに追加したいコンポーネントを選択するには、チェックボックスを使用してください。

  • すべてのコンポーネントをチェックするには、［全て選択］をクリックします。

  • すべてのコンポーネントのチェックを外すには、［全てクリア］をクリックします。

  • ［OK］をクリックすると、選択内容がドロップダウンリストに追加されます。

  • コンポーネントになにも追加しないで終了させるには、［キャンセル］をクリックしてください。

Since version: 4.7


フローコンポーネント

フローコンポーネントには、接続、適合、変換、および処理の各機能を持たせることができます。

利用可能なコンポーネントは、［ツールボックス］ペインに表示されます。

Magic xpiのフローコンポーネントは、他社製品と接続し、企業内システムのインテグレーションを可能にします。フローコンポーネントは、基本的な接続機能を提供すると共に、必要なインテグレーション機能を実現するために特別にカスタマイズされています。さらに、ミドルウェア、ERP、そして、CRM製品など、業界標準アプリケーションや製品の統合を可能にします。

コンポーネント使用前に、［設定］ダイアログボックスの［リソース］セクション内で最初に関連したリソースを定義する必要があります。コンポーネントをトリガとして使用する場合、［設定］ダイアログボックスの［サービス］セクションで最初に関連したサービスを定義する必要があります。最初に適切なサービスをサービスリポジトリで定義します。その場合このステップをスキップします。

コンポーネントは、以下の方法でフロー内での使用のために提供されます。

  • 標準装備コンポーネント …… これらのコンポーネントは、Magic xpiと共に提供されます。統合プロジェクト環境に合わせて、これらのコンポーネントを設定するだけで使用可能になります。プロジェクトに応じてフローコンポーネントをカスタマイズできるように、各フローコンポーネントには、独自の設定プログラムやツールキットが備えられています。Magic xpiの「コンポーネント シリーズ」を参照してください。

  • 自社開発 …… 統合プロジェクトに合わせて独自コンポーネントを開発することが可能です。 Magic xpiのコネクタビルダーを使用して独自のコンポーネントを開発することができます。さらに、3GLを利用して独自のコンポーネントを開発し、エディタに導入することもできます。

  • 新しい即利用可能なコンポーネントは、継続的Magic xpiスイートに追加されます。

  • Magic xpiの標準コンポーネントは、Runtime\ifclibディレクトリに格納されています。

  • Magic xpiサーバをインストールすると、Runtime\ifclibディレクトリにすべてのコンポーネントがインストールされます。

関連トピック：

フローにコンポーネントを配置する

コンポーネント設定

コンポーネントの変更／削除

独自のコンポーネントを開発する

フローコンポーネントログ


フローにコンポーネントを配置する

スタジオのフローエリアには、コンポーネントを追加することができる2つの場所があります。コンポーネントをメインのペイン自身に追加したり、メインのペインの上部にある［トリガー］セクションに追加することができます。

コンポーネントを挿入するには：

  1. ソリューションエクスプローラで、フロー を選択してください。

  2. ［ツールボックス］ペインからコンポーネントを選択し、メインのペインの既存のコンポーネント上にそれをドラッグしてください。コンポーネントがフローにおいて、最初のステップ(ステップは、ツールボックスからドラッグするコンポーネントまたはサービスかもしれません)の場合、それを直接メインのペインにドラッグしてください。コンポーネントをトリガーコンポーネントにしたい場合、メインのペインの上部でそれをトリガエリアにドラッグしてください。

コンポーネントの配置は以下のように管理できます。

  • 新規コンポーネントを既存のコンポーネント上にドロップすると、新規コンポーネントは子コンポーネントとして挿入されます。

  • Ctrlを押下することで、新規コンポーネントを既存のコンポーネント上にドロップすることができます。ドロップダウンメニューから以下のうち1つを選択します。

  • 置換

  • 親として作成

  • 子として作成

  • 直下の子として作成

  • フロー間で分岐をコピー＆ペーストできます。詳細については､こちらをクリックしてください。

  • 非同期の分岐点へは移動できません。

  • コンポーネントをフローに配置した後でプロパティと設定を変更するには、コンポーネントでパークして［プロパティ］ペインで必要な変更処理を行ってください。


トリガコンポーネント

［ツールボックス］ペインのトリガーセクションからコンポーネントを含める時、トリガーコンポーネントが適切な情報を受け取ると、これらのコンポーネントは、フローを有効にします。

インテグレーションフローにトリガコンポーネントを設定するには：

  1. メインのペインで、新しいフローを作成するか、トリガーコンポーネントを持っていない既存のフローを開いてください。

  2. ［ツールボックス］ペインの［トリガー］セクションから、必要なトリガーコンポーネントをメインのペインのトリガエリアにドラッグしてください。

  3. ［プロパティ］ペインと、プロパティ］ペインからアクセスされるすべての関連したダイアログボックスで、必要なプロパティを入力してください。

これで、新しく作成されたトリガーコンポーネントを使用してフローを呼び出すことができます。

呼び出しフローメッセージ(トリガーや並行ステップ、またはスタンドアロンステップによって作成されます)は、一般的に最初に呼び出された順に処理されます。しかし、メッセージの正確な処理順序は保証されていません。しかし、メッセージの正確な処理順序は保証されていません。順序を完全にコントロールしたいのであれば、代わりにステップを使用してください。

トリガーとして以下のコンポーネントを使用することができます：

  • Directory Scanner

  • Email

  • Exchange

  • HL7

  • HTTP

  • IBM i コネクタ

  • JMS

  • MQTT

  • MSMQ

  • Salesforce

  • SAP A1

  • SAP Business One

  • SAP ERP

  • スケジューラ ユーティリティ

  • ServiceMax

  • Sugar

  • TCPListner

  • Web Services

  • WebSphere MQ

フローの中には最大10個までトリガコンポーネントを含めることができます。

トリガーアーキテクチャの詳細について、ここのイメージを参照してください。


XMLインタフェースの使い方

XML構成は、ステップ構成でXMLインターフェースを使用しているXMLフォーマットで構成にパラメータを送ります。

XMLインターフェースを使用するには：

  1. スタジオで、新しいフローを作成して(または、既存のフローを開いて)ください。

  2. ［ツールボックス］ペインから、必要なコンポーネントをメインのペインにドラッグしでください。コンポーネントの［プロパティ］ペインが開きます。.

  3. ［プロパティ］ペインの［インタフェース］プロパティで、ドロップダウンリストからXMLを選択してください。

  4. ダブルクリックするか、コンポーネント上で右クリックし、コンテキストメニューから［設定］を選択してデータマッパーを開きます。このダイアログボックスの送り先側にはコンポーネントのXSDが含まれています。コンポーネントのXSDにマッピングしたい構成データを含む送り元を選択することができます。

  5. 送り元をコンポーネントのXSDにマッピングしてください。以下の送り元は、構成情報を渡すために使用することができます。

    • データベース

    • ODS と UDS

    • 変数

    • フラットファイル

    • XML ファイル

    • JSON ファイル

  6. ［保存］をクリックして構成を確認します。生成されたファイルの位置をメモしておいてください。

XMLインタフェースを使用するステップを最初に開く場合、データマッパーの画面はヘッダーにアスタリスク(*)が表示されます

。これは予期されている動作です。画面に変更を加えなくても、ステップの構成は保存されます。その後で画面を開いた場合、アスタリスクは表示されません。

計算値を入力することによって構成情報を入力することもできます。


コンポーネントインスタンス－ステップ

フローの中にあるコンポーネントの各インスタンスは、「ステップ」と呼ばれます。コンポーネントインスタンスを構成する際、機能を説明するステップ名を入力することができます。

COMコンポーネントなどのいくつかのコンポーネントには、1つのフローに対して1回のみ組み込むことができます。要求されている処理を達成するために、必要な数のインスタンスを含めることができる他のコンポーネントがあります。例えば、Eメールのメッセージを送るために必要な１つのEmailコンポーネントインスタンスと、メッセージを受信するその他のインスタンスを含める必要があります。各コンポーネントに組み込むことができるインスタ ンスの数については、各コンポーネントのヘルプで説明しています。

Magic xpiの様々なコンポーネントについては、「コンポーネント シリーズ」を参照してください。


Magic xpi でコピーや貼付、および移動

フロー内、または統合プロジェクト内での異なるフロー間でステップと分岐をコピーや貼付、移動を行うができます。これを行うと、コピーされたステップや分岐は自動的に割り当てられたフロー変数を保持します。他のビジネスプロセスの一部であるフローの中にステップと分岐を貼り付ける場合と同じように、フローとビジネスプロセスをコピーしたり貼り付けることができます。

  • フロー間で項目をコピーしたり貼り付けるには、コンテキストメニューのオプションを使用してください。

  • 分岐をコピーするには、分岐の最初に表示されるステップで右クリックしてください。

  • ステップと分岐をフローに移動させるには、項目をドラッグするか、コンテキストメニューを使用してカット＆ペーストすることができます。

  • フロー間で複数のステップをコピー＆ペーストするには、まずCtrlキーを押下しながらステップを選択し、コンテキストメニューオプションを使用します。（Since version: 4.7）

変数

  • ターゲットのフローに存在していない変数を持つステップをコピーした時、ステップの貼り付けの際に変数が作成されます。

  • ターゲットのフローに同じ変数を持つステップをコピーすると、［重複変数］ダイアログボックスが開きます。ここで、以下のオプションのどれかを設定する必要があります。

  • 既存を使用 …… このオプション(デフォルトでは未チェック)を選択すると、ターゲットの変数名とそのデフォルト値は全く変更されません。このオプションを選択すると、［名前を指定］カラムは読み込み専用になり、以前の値は削除されます。

  • 名前を指定 ……このオプションを選択すると、新しい変数がターゲットのリポジトリ内で作成されます。このカラムに設定された値は変数名です。従って、そこに表示されている値には自動的にF.(フロー変数の場合)またはB.(ビジネスプロセス変数の場合)の接頭辞が付加されます。［名前を指定］カラムに作成される新しい変数は、その特定のフローまたは［ビジネスプロセス］リポジトリに対してユニークでなければなりません。

  • 同じ名前で異なるデータタイプの変数をコピーする時に、［既存を使用］のオプションはその変数の［重複変数］ダイアログボックス内で無効になります。

  • ステップをコピーし、貼り付ける時、データベースSQL文とWHERE句に使用されるフロー変数は自動的に作成されません。ステップまたはフローを貼り付けた後で、SQL文をチェックすることを確認してください。SQLは構文解析されず、式としてではなく文字列として扱われることに注意してください。従って、これらのタイプの扱われていないケースのためのエラーは実行時にのみ表示されます。警告メッセージまたはチェッカー/ビルダーのエラーは表示されません。

コピーや貼り付け、移動の注意点

  • 別の分岐(自身でない)を示すGoToコマンドを含む分岐を貼り付けることは、そのフロー内だけで、相互のリニアな親を共有する分岐にだけ有効です。

  • ブランチを移動すると、移動先のあるリニアの親を共有しない位置を示すGoToステップは失われます。

  • 別のフロー内の任意の場所へのステップをコピーする場合、条件は常にコピーされます。しかし、条件を持つルートステップをルート以外にコピーした場合、条件はコピーされません。トリガー(定義されていれば)が実行された後に、ルートノード上の条件はフロー上の実際の条件です。従って、ルートノードを貼り付けると、条件を貼り付けられません。

  • そのような設定が定義されると、ルートとしてステップをコピーすることで並行設定がリニアに変更されます。

  • ［セーブポイント］と［完了待ち］の定義は、別のステップにコピーされません。

  • ルートステップとして貼り付けられない限り、最初のステップで［処理モード］の定義がされます。

  • ロジックフローの定義は、ターゲットフローで［No］に設定されます。これは、それがフロー定義であり、ステップ定義ではないためです。

  • データマッパのステップをコピーすることは、そのエラーフロー定義をコピーします。

  • 貼り付け操作は元に戻すことができます。 詳細は、「フローコンポーネントに対する操作の取り消し」を参照してください。 （Since version: 4.7）


ダイレクトアクセス メソッドの使い方

以下の手順は、メソッドインタフェースを含むコンポーネントの使い方を説明したものです。以下を処理を行うことも可能です。

  • 構成にメソッドを追加する

  • メソッドがフローで実行される順序を変更する

コンポーネント（メソッドではなく）をフローにドラッグした場合は、「メソッドを追加するには」を参照してください。

メソッドを構成するには：

  1. スタジオで、新規フローを作成します（または、既存のフローを開きます）。

  2. ［ツールボックス］ペインから、必要なコンポーネントをメインのペインにドラッグしてください。コンポーネントの［プロパティ］ペインが開きます。

  3. ［プロパティ］ペインの［インタフェース］プロパティで、ドロップダウンリストからメソッドを選択してください。

  4. ダブルクリックするか、コンポーネント上で右クリックし、コンテキストメニューから［設定］を選択してコンポーネントの［ダイレクトアクセスメソッド］の設定ダイアログボックスを開きます。

  5. ［追加］をクリックして式を追加します。

  6. 条件を各メソッドに追加するオプションがあります。 をクリックして、式エディタ使用して条件を追加します。この方法で条件を追加すると、関連するカラム上でパークすると、ツールティップで条件が表示されます。.

  7. 定義したいパラメータの値を入力してください。必須パラメタは、太字で表示されます。値は、式や変数、ユーザーパラメータ、およびフリーテキストなどの組み合わせで構成できます。値の作成を支援するために、式エディタを使用してください。

  8. 構成を保存するには、［OK］をクリックします。保存せずにダイアログボックスを閉じるには、［キャンセル］をクリックしてください。

  • 必須のパラメータに値を入力しないと、構成は失敗に終わります。必須フィールド以外の値の入力はオプションです。

  • 値カラムの値はフィールドに直接入力することも、フィールドの隣のボタンをクリックすることもできます。

  • フィールドに値を直接入力する場合は、パラメータタイプとして文字を選択します。これにより、入力した値がシングルクォーテーションで自動的に囲まれるようになり、値が文字列であることが示されます。入力した値が有効なものであることを確認してください。関数を含んだ値を入力するには、関数から一重引用符を削除する必要があります。ただし、入力した値の一部が有効な文字列である場合は、文字列が一重引用符で囲まれたままにする必要があります。

  • フィールドの右側のボタンをクリックすると、式エディタが開き、メソッドに送られるパラメータが表示されます（In）。メソッドから返されるパラメータ（Out）の場合は、変数リストが表示されます。ただし、C.sys.ErrorCodeのようなシステム変数は表示されません。

追加メソッドを追加するには：

  1. ［追加］をクリックしてペインに一行追加します。

  2. 新規行のドロップダウンリストからメソッドを選択してください。

  3. 操作(上記)のステップ7で説明されているようにして、パラメータに値を入力してください。

メソッドの実行順序を変更するには：

メソッドは、［メソッド］リストに表示されている順番に実行されます。順番を変更するには。

  1. ［ダイレクトアクセスメソッド構成］ダイアログボックスの左側のペインのリストからメソッドを選択してください。

  2. リストで、上下の矢印 [image] をクリックすることで選択したメソッドを移動することができます。


コンポーネント構成

Home > リファレンスガイド > フローコンポーネント > コンポーネント設定

コンポーネント設定

フローにコンポーネントを配置すると、［プロパティ］ペインにプロパティが表示されます。これは、フロー内の特定のステップに対応したコンポーネントを設定します。同じコンポーネントを使用するのが一番妥当ですが、動作環境が異なる場合は、同じフロー内の異なるステップになります。

表示される構成の詳細は、[プロパティ]ペインで選択されるインタフェースに依存します。

コンポーネントをMagic xpiプロジェクトに組み込むために、Magic xpiのフローコンポーネントは特定のインタフェースを使用します。Magic xpiコンポーネントインタフェースはコンポーネント開発のために標準のセットです。フローコンポーネントのインタフェース標準は、フローコンポーネントが標準の方法でMagic xpiの中で通信することができることを保証します。

Magic xpiは、以下の標準インターフェイスが使用できます。

  • メソッド

  • XML

独自のコンポーネントを開発する場合、コンポーネントがMagic xpi環境で動作することができて、実行環境でMagic xpiサーバによって実行できることを保証するためにこれらの標準を使用する必要があります。

いくつかのコンポーネントは、トリガインタフェースを持っていて、いくつかがトリガコンポーネントとしてだけ利用できます。コンポーネントをメインのペインの上位のトリガエリアにドラッグすると、トリガー構成が有効になります。詳細は、トリガコンポーネントを参照してください。

関連トピック

コンポーネント シリーズ


コンポーネントプロパティ

コンポーネントをフローに配置すると、そのプロパティは［プロパティ］ペインに表示されます。

Magic xpiモニタ内でこのダイアログボックスを表示する場合、設定を変更することはできません。

ウィンドウには、以下の4つのセクションがあります。

  • 全般

  • アドバンスド

  • ロギング

  • 設定

設定

説明

全般

ステップ/トリガ名

コンポーネント名。ステップまたはトリガが何をするかを記述するために異なる名前を入力することができます。最高30桁の文字を含めることができます。

説明

ステップが統合フロー内で実行する内容についての説明を入力してください。

ステップ/トリガID

フロー内でステップまたはトリガのIDを表示する読み込み専用フィールド。

コンポーネントID

自動的に生成された内部ID番号

コンポーネントタイプ

ステップタイプの名前を表示する読み込み専用フィールド。

条件

フローの実行内容を指定するための条件をに入力します。 をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップの同期機能は［処理モード］プロパティに依存します。

リニアのステップがその親コンテキスト内で動作しますが、非リニアなステップは新しいスレッドで動作します。

オプションは以下の通りです。

  • リニア …… リニアのステップは、フロー内で定義された順番とレベルに基づいて連続した順序で実行されます。

  • パラレル …… 同じレベルで定義された別のステップと同時に並行のステップが動作します。

  • スタンドアローン …… 処理がフローと無関係に実行されても、スタンドアロン処理モードをに定義されたコンポーネントはフロー(並行ステップと同じ方法で)内で別のステップと同時に実行されます。［完了待ち］が「Yes」に設定されたリニアのステップは、このタイプのコンポーネントを待ちません。

完了を待つ

完了待ちモードです。リニアのステップは、同じレベルのすべての並行のステップが完成するまで待ちます。このオプションは、リニアの［処理モード］が「リニア」の場合のみ有効です。

オプションは No あるいは Yes です。

インタフェース

コンポーネントで使用されるインタフェースを選択します。以下の標準インタフェースのいずれかを選択できます。

  • XML

  • メソッド

アドバンスド

セ－ブポイント

このステップをフローのセーブポイントにする場合、Yes を選択します。これはフローのリカバリポリシーがセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップ実行後に一般的ロジックを呼び出したい場合、このオプションを利用します。このステップが実行されると、サーバが次のステップへ進む前にフロー特性で定義されたフローロジックが呼び出されます。

オプションは、YesかNo（デフォルト）です。

ロギング

ステップロギング

ロギングスコープ

これはステップの実行に対して、いつログが記録されるかを指定します。以下のオプションが指定できます。

  • No …… (デフォルト)Magic xpiのアクティビティログのビューには何も書き込まれません。

  • メソッド …… Magic xpiは、ステップ内の各メソッドに対してログが書き込まれます。メソッドが実行された後に実行されます。

  • ステップ …… Magic xpiは、ステップ全体に対してログ情報を書き込みます。

  • フル …… Magic xpiは、ステップとメソッドオプションの両方に対して情報を書き込みます。

ステップロギングオプション

［ロギングスコープ］でステップまたはフルのどちらかが選択された場合、この特性が有効になります。ここでは、情報をどの時点で記録するかを定義します。

以下のオプションが指定できます。

  • 前 …… ログ情報は、ステップを開始する前に記録されます。

  • 後 …… ログ情報は、ステップの実行を終了した後に記録されます。

  • フル …… ログ情報は、ステップの実行の前後に記録されます。

メッセージ

これはログに保存されるメッセージです。メッセージを入力するかか [image] をクリックして式エディタを開きメッセージを作成します。

BLOB

これはログに送られるメッセージを格納するBLOBファイルです。式エディタを使用してBLOBファイルを選択するにはBLOBフィールド右側の [image] をクリックします。

ファイル拡張子

ファイル拡張子を入力します。有効なオプションは以下の通りです。

  • TXT

  • XML

  • ZIP

トリガロギング

ロギングスコープ

このプロパティを使用することで、Magic xpiモニタのMagic xpiの Activity Log ビューにいつ情報を送るかを指定できます。

指定できるオプションは以下の通りです。

  • No（デフォルト)……Magic xpiのActivity Log ビューには何も書き込みません。

  • Yes……Magic xpiは、Activity Logビューに情報を書きます。

メッセージ

これはログに保存されるメッセージです。メッセージを入力するかか [image] をクリックして式エディタを開きメッセージを作成します。

BLOB

これはログに送られるメッセージを格納するBLOBファイルです。式エディタを使用してBLOBファイルを選択するにはBLOBフィールド右側の [image] をクリックします。

ファイル拡張子

ファイル拡張子を入力します。有効なオプションは以下の通りです。

  • TXT

  • XML

  • ZIP

設定

ステップ

リソース名

コンポーネントタイプに基づいて、ドロップダウンリストからリソースを選択します。別のリソースをこのリストに追加したい場合、［プロジェクト］メニューをクリックし［設定］を選択してください。［設定］ダイアログボックスが開き、必要に応じてリソースを追加することができます。あるいは、ドロップダウンリストで［新規］を選択すると［設定］ダイアログボックスが開きます。新しいリソースが自動的に生成されます。リソースに名前をつけて値を入れるだけで済みます。

ドロップダウンリストの最後にダイナミックというエントリーがあります。［ダイナミック］オプションを選択すると、［リソース名］フィールドが拡張され [image] をクリックすると式が入力できます。

ダイナミックなリソースとマッチしているリソースが見つからない場合。

  • スタジオで、デフォルトリソースは構成のために使用されます。

  • 実行中に、エラーが表示されます。

リソースの説明

この読み込み専用フィールドは、［設定］ダイアログボックスの［リソース］セクションに入力されたリソースの説明を表示します。

トリガ

サービス名

ドロップダウンリストからサービスを選択します。ドロップダウンリストからサービスを選択してください。別のサービスをこのリストに追加したい場合、［設定］をクリックしてください。［設定］ダイアログボックスが開き、必要に応じてサービスを追加することができます。あるいは、ドロップダウンリストで［新規］を選択すると［設定］ダイアログボックスが開きます。新しいサービスが自動的に生成されます。サービスに名前をつけて値を入れるだけで済みます。

サービスの説明

この読み込み専用フィールドは、［設定］ダイアログボックスの［サービス］セクションに入力されたサービスの説明を表示します。


メソッド インタフェース

Magic xpiコンポーネントの多くは複数のメソッドをサポートしています。メソッドインタフェースを選択すると、直接Magic xpiでメソッドを使用するためにコンポーネントを設定することができます。このようにしてコードを記述したりせずにそれぞれのコンポーネントの基本機能を利用することができます。

［ダイレクトアクセスメソッド］の構成ダイアログボックスには、2つのペインがあります。左側のペインでは、［名前］カラム内のドロップダウンリストから使用したいメソッドを選択するために［追加］をクリックします。ドロップダウンリストに表示されるメソッドは、使用しているコンポーネントに依存します。

右側のペインには、各々のメソッドのパラメータと情報が表示されます。メソッドを選択すると、パラメータが自動的に表示されます。

カラム

説明

パラメータ名

パラメータ名

タイプ

パラメータのタイプ(文字、数値など)

書式

パラメータとして指定できる最大文字数

入/出力

パラメータがメソッドに送られるのかメソッドから送られてくるのかを指定します。

値

パラメータの値を入力します。これは式の形で入力します。値には、式やフロー変数、ユーザパラメータ、フリーテキストの様々な組み合わせで入力することができます。値の入力には式エディタを使用すると便利です。式エディタを開くにはフィールド右側のボタンをクリックします。

フィールドの右側のボタンをクリックすると、メソッド(In)に送られるパラメータに対して式エディタが開きます。メソッド(Out)から戻るパラメータのために、変数リストが表示されますが、C.sys.ErrorCodeなどのシステム変数を含みません。

文字列とエントリーの組み合わせを式エディタで使用することができます。全ての文字列はアポストロフィーで囲む必要があります。（例：'value'）

関連トピック：

ダイレクトアクセスメソッドの使い方


XMLインタフェース

XML構成は、動的にXML構造を使用しているコンポーネントを設定することができます。

例えば、データマッパーの送り元内に送信する個別の電子メール数をレコード数に基づいて動的に指定するためにXML構成を使用することができます。

コンポーネントのステップが終了した後、Magic xpiはC.UserXML変数で構成内容を保存します。コンピュータにC.UserXML変数を保存した場合、XMLファイルとして参照することができます。プロジェクトをデバッグする際に、この情報は役に立ちます。

関連トピック：

XMLインタフェースの使い方


コンポーネントの変更／削除

既存のコンポーネントを修正するには：

Magic xpiは、コンポーネントを統合フローに挿入した後でも、既存のコンポーネントを変更することが可能です。

  1. 修正したいコンポーネント上でパークしてください。

  2. ［プロパティ］ペインで必要な変更を行ってください。

特定のコンポーネント上で右クリックし、コンテキストメニューから［構成］を選択することでコンポーネントの構成ダイアログボックスが開きます。開くダイアログボックスは、［プロパティ］ペインで選択されたインタフェースに依存します。例えば、コンポーネントがメソッドによって構成されている場合、コンポーネントの［ダイレクトアクセスメソッド］の構成ダイアログボックスが開きます。

コンポーネントを削除するには：

コンポーネントをフローから削除するには、コンポーネントを選択し、［削除］を押下するか、右クリックして［削除］を選択してください。

分岐をフローから削除するには、分岐の中で一番上のコンポーネントを選択し、Shift+Deleteを押下するか、右クリックして［分岐の削除］を選択してください。


フローコンポーネントに対する操作の取り消し

Home > リファレンスガイド > フローコンポーネント > フローコンポーネントに対する操作の取り消し

フローコンポーネントに対する操作の取り消し（Undo）

フローエディタ（フローコンポーネントの作成、変更、削除）で行った編集操作を元に戻すことができます。1回、または複数の操作を取り消して、また、取り消した変更をやり直すことができます。

操作の取り消し

操作を取り消すには、［編集］メニューに移動し、ドロップダウンリストから「Undo」オプションを選択します。

または、標準ツールバーの［Undo］ボタンを使用するか、Ctrl+Zを押下して以前の状態に戻ることができます。

グループ単位での操作の取り消し

一連の操作を一度に元に戻すには、コンテキストメニューから「Show Undo/Redo Pane」オプションを選択します。取り消したい操作にカーソルをあてると、選択した操作のリストが強調表示されます。選択した操作の数が要約行に表示されます。最後に強調表示された行をクリックすると、強調表示された全ての操作が元に戻され、グループのRedoリストに逆の順序で追加されます。

  • フローのプロパティの変更、操作中のフォルダの自動生成、およびステップに対するデバッガの指定などの操作を元に戻すことはできません。

  • GoToステップへのターゲットが削除されると、GoToステップも削除されます。削除操作のUndoを実行すると、削除されたステップや分岐、削除されたステップに接続されていたGoToステップが全て復元されます。

  • データマッパを変更するたびに、「データマッパの保存」コマンドがUndoリストに保存されます。これに対して、Undoコマンドは、ステップをデータマッパファイルの前のバージョンに戻します。データマッパファイルが開いている場合は、前のバージョンに復元する前にデータマッパファイルを閉じるように求められます。

操作のやり直し

元に戻した操作をやり直すには、［編集］メニューのドロップダウンリストから「Redo」オプションを選択します。

または、標準ツールバーのRedoボタンを使用するか、Ctrl+Yを押下して以前の状態に戻ることができます。

グループ単位での操作のやり直し

一連の操作を一度にやり直すには、コンテキストメニューから「Show Undo/Redo Pane」オプションを選択します。やり直したい操作にカーソルをあてると、選択した操作のリストが強調表示されます。選択した操作の数が要約行に表示されます。最後に強調表示された行をクリックすると、強調表示された全ての操作がやり直され、グループのUndoリストに追加されます。

  • フロー特性にカーソルがパークしている時、［Undo/Redo］ボタンと［Undo/Redo］メニューが無効になります。

  • データマッパステップのグループ単位のUndo/Redo操作では、ファイルが保存された時にのみデータマッパファイルに対する変更が表示されます。

元に戻す/やり直しリストの表示と元に戻す/やり直しリストの非表示

Since version: 4.9

標準ツールバーのコンテキストメニュー項目［元に戻す/やり直しリストを表示］を選択すると、Studioで最後に実行した［元に戻す］コマンドと［やり直し］コマンドのペインが開きます。ユーザはリストからやり直しまたは元に戻す操作を実行することができます。

元に戻す/やり直しリストを隠すには、標準ツールバーの[元に戻す/やり直しリストを非表示]ボタンをクリックします。

Since version: 4.7


独自のコンポーネントを開発する

Magic xpiコンポーネントは、サードパーティー製品との接続に使用されています。これらは基本的な接続を行い、高度にカスタマイズされています。Magic xpiは、そのまま利用することができる数多くの便利なコンポーネントを提供しています。これらは必要な構成を行なうだけで直ちにフローで使用することができます。

Magic xpiでは、独自のコンポーネントを開発することもできます。

動的なステップとメソッドのインタフェースを持つトリガなどのコネクタを任意に組み合わせてビルドすることができます。

動的なインタフェースをビルドする時に、少なくとも2つの関係するプロジェクトがあります。

  • スタジオのユーザーインターフェイスをビルドする .NETベースのプロジェクト。

  • Javaまたは.NETのどちらかを使用する実行プロジェクト。

動的なトリガと動的なステップの両方を結合する時、それぞれは使用するインタフェースと実行プロジェクトの別個のセットを持っています。コネクタは、1つのテクノロジー(例えばJava)によるトリガ実行プロジェクトと、異なるテクノロジー(. 例えばNET)によるステップ実行プロジェクトを持つことができます。

すべての情報がリソースやサービスの定義などのコネクタと関連しおり、エラーリストとアイコンは配布を容易にするためにプロジェクトフォルダ内でカプセル化されます。

コネクタを使用できてソースコードなしで配布するオプションがあります。

コネクタを作成するには：

  1. ［スタート］メニュー > すべてのプログラム > Magic xpi 4.x > コネクタビルダ をクリックしてください。ここで、独自のコンポーネントを作成することができます。.

  2. ［追加］をクリックして[汎用設定]ダイアログボックスを開きます。

  3. ここで、新しいコンポーネントの設定を定義します。

コネクタビルダーで定義するすべての新しいコネクタは［ツールボックス］ペインに追加されます。

コネクタは、addon_connectorsフォルダに保存されます。フォルダへのパスはAddOnConnectorという論理名（プロジェクト>設定>一般環境>ユーザ環境変数)に設定されます。

コネクタを削除するには：

コネクタを削除するには、addon_connectorsフォルダから特定のコンポーネントのフォルダを削除してください。

関連トピック：

コネクタビルダ

ユーザ定義のコンポーネントを実行環境に移動するには


コネクタビルダ

コネクタビルダの使い方の詳細な説明は、Magic xpiのインストールフォルダ内にある"agic xpi Connector Builder PDF "を参照してください。

［コネクタビルダ］ダイアログボックスは、容易にMagic xpiコネクタを定義し、関連したリソースタイプを管理することができます。

このダイアログボックスには2つのペインがあります。左側のペインには、コネクタビルダーで作成されたコネクタのリストが表示されます。(Since version: 4.12)

このダイアログボックスには、以下のフィールドがあります。

フィールド

説明

一般的な詳細

名前

コンポーネントのためのプロジェクト内での必須なユニークな名前。入力された名前は、このプロジェクトの［ツールボックス］ペインで表示されます。次のような特殊文字は読み込めません。ピリオド（.）、疑問符（?）または、スラッシュ(/)。

説明

コンポーネントの説明文

id

コンポーネントId

コネクタのバージョン

コネクタのバージョン番号（最大長30桁）。デフォルトは1.0です。

メジャーバージョンを手動でインクリメントする場合は、この [image] ボタンをクリックしてください。マイナーバージョンは、コネクタを保存するたびに自動的にインクリメントされます。

(Since version: 4.12)

アイコン

参照してコンポーネントのアイコンを選択するか、適切な拡張子(例えばicon.bmp)を持つファイル名を入力します。

ツールボックスグループ

新しいコンポーネントが［ツールボックス］ペインの中で保存してほしいカテゴリーを選択します。

  • Utilities

  • Converters

  • File Management

  • Conectors (デフォルト)

  • Comunication

  • Mail

  • Messaging

  • Triggers

  • User Components

コネクタがまたトリガと定義された場合、［ツールボックス］ペインのトリガグループにも追加されます。

暗号化キー

8から56文字の独自の暗号化キーを定義します。このキーは、リソースとサービスのパスワードとライセンスのシリアル番号を暗号化したり、復号化するために使用されます

ライセンス機能

生成されたコンポーネントのライセンスで使用する最高10文字(文字のみ)のライセンス機能を定義します。

ライセンス取得

ライセンスシリアル番号(SN)

エンドカスタマーの製造ライセンスのシリアル番号（SN）を入力してください。

Email

ライセンスを送信する電子メール アドレスを入力します。

ライセンスシリアル番号(SN) と Email プロパティの値が入力されると、この [image] ボタンが有効になります。そのボタンをクリックしてライセンスを申請します。

エンドポイント

ボタンがクリックされると、このフィールドには、ライセンスが生成されたウェブサイトを指す URL が自動的に入力されます。

［ステップ］タブ：コネクタをステップと定義したい場合、［ステップを含む］チェックボックスを選択してください。

UIタイプ

ユーザインターフェイスのタイプを定義します。ドロップダウンリストから以下のどれかを選択してください：

  • Static (デフォルト) …… メソッドのインタフェースの場合はこのオプションを選択してください。

  • Dynamic

UI実装クラス

.NETのクラス名。［UIタイプ］プロパティ(上記)で Dynamic と設定された場合、これが必要になります。

［Generate UI Project］ [image] ボタンをクリックしてください。あらかじめ設定されたプロジェクトのテンプレートを作成するユーティリティが開来ます。このプロジェクトはコネクタのUI部分を開発する上でのj出発点になります。

リソース

選択すると、このコネクタがリソースを使用することを示します。［UIタイプ］プロパティ(上記)がダイナミックに設定されている時だけ、このチェックボックスは有効になります。このチェックボックスが選択されない場合は、チェックボックスは、どのリソースもスタジオのこのコネクタで利用できないことを示すだけなので、リソース構成は削除されません。

［Configure Resource］ [image] ボタンをクリックすると、［新規リソースタイプ］ダイアログボックスが開きます。

構成ダイアログはリソースを必要

このチェックボックスを選択すると、設定されたリソースがない時、コンポーネントの構成詳細に入力することができません。これはデフォルトでは、チェックされていません。［UIタイプ］プロパティ(上記)が Static に設定されると、このチェックボックスは無効になり、チェックされない状態になります。

実行テクノロジー

ドロップダウンリストから以下のテクノロジーのどれかを1つを選択してください：

  • Java

  • .NET (デフォルト)

  • Magic xpa

［UIタイプ］プロパティ(上記)がスタティックに設定されると、このチェックボックスは無効になります。

実行時実装クラス

Javaまたは.NETクラスの名前。［UIタイプ］プロパティ(上記)が Static に設定されると、このチェックボックスは無効になります。

［実行プロジェクト作成］ボタンをクリックすると、あらかじめ設定されたプロジェクトのテンプレートを作成するユーティリティが開きます。このプロジェクトは、コネクタの実行部分の開発のための出発点になります。

実行時に必要なリソース

実行中にコンポーネントを使用する時にリソースが必須かどうかを定義します。このチェックボックスはデフォルトで選択され、［UIタイプ］プロパティ(上記)がスタティックに設定されると、このチェックボックスは無効になり、チェックされない状態になります。

メソッド(DAM)インタフェース

［UIタイプ］プロパティ(上記)がダイナミックに設定されると、デフォルトはチェックされない状態になります。［UIタイプ］プロパティがスタティックに設定されると、デフォルトはチェック状態で、読み込み専用になります。

［Configure Methods］ [image] ボタンをクリックすると、［ロードメソッド］ダイアログボックスが開きます。すでにメソッドを定義し読み込んだら、［メソッド設定］ダイアログボックスが開きます。

スタティックなXMLインタフェースにメソッドを映す

(スタティックUIでのみ有効)

［UIタイプ］プロパティ(上記)がスタティックに設定され、［メソッド(DAM)インタフェース］プロパティ(上記)がチェックされた場合のみ、このパラメータは有効になります。

選択されると、コネクタはメソッドのためにXMLインタフェースを持ちます。

［トリガ］タブ：コネクタをトリガと定義したい場合は、［トリガを含める］のチェックボックスを選択してください。

UIタイプ

ユーザインターフェイスのタイプを定義します。ドロップダウンリストから以下のどれかを選択してください：

  • Static (デフォルト)

  • Dynamic

UI実装クラス

.NETのクラス名。［UIタイプ］プロパティ(上記)で Dynamic と設定された場合、これが必要になります。 Static と設定された場合は無効になります。

［UI プロジェクト作成］ [image] ボタンをクリックしてください。あらかじめ設定されたプロジェクトのテンプレートを作成するユーティリティが開来ます。このプロジェクトはコネクタのUI部分を開発する上でのj出発点になります。

サービス

選択されると、このコネクタがサービスを使用することを示します。［UIタイプ］プロパティ(上記)がダイナミックに設定される時だけ、このチェックボックスは有効です。このチェックボックスが選択されないと、チェックボックスが、どのサービスもスタジオのこのコネクタでは利用できない

ことを示すだけなので、サービス構成は削除されません。

［サービス設定］ [image] ボタンをクリックすると、［新規サービスタイプ］ダイアログボックスが開きます。

トリガーは、ローカルエージェントとの互換性を持たせることもできます。トリガーを設定している間、以下の条件を満たす必要があります。

  • サービスが定義され、ステップタブで構成されたリソースにリンクされている。

  • トリガー呼び出しタイプの値が外部に設定されている。

  • ランタイム技術の値は、Java に設定されています。その他のランタイム技術はサポートされていません。

  • ランタイム実装クラスのパスが提供されています。

Since version: 4.12

サービス実施クラス

［検証］ボタンと作成された他のすべての動作ボタンのために、サービスインタフェースを実装する.NETクラス名。

［サービス］チェックボックスが選択され、［UIタイプ］プロパティ(上記)でスタティックと設定された場合のみ、有効になります。

構成ダイアログはリソースを必要

このチェックボックスを選択すると、設定されたサービスがない時、コンポーネントの構成詳細に入力することができません。これはデフォルトでは、チェックされていません。［UIタイプ］プロパティ(上記)が Static に設定されると、このチェックボックスは無効になり、チェックされない状態になります。

トリガ呼出しタイプ

コンポーネントのためにトリガ呼出しタイプを定義します。ドロップダウンリストから以下のどれかをを選択してください。

  • Polling (デフォルト)

  • External

  • Endpoint (Since version: 4.6)

UI type プロパティ（上記）が Static に設定されているときに Endpoint を選択した場合、Magic xpi Studio で生成されたトリガー UI には必須の Endpoint フィールドが含まれます。

エンドポイント トリガーは、Magic xpi エンジンの下で実行されていないトリガーを表します。Endpoint トリガーはすべてのプロジェクトで一意です（単一の空間で一意です）。このようなトリガーの例としては、IIS/Apache の下で動作する HTTP トリガーがあります。

スタジオのSDKトリガーのエンドポイント名は、大文字と小文字を区別します。同じ名前で、異なるフローで異なる大文字小文字の異なる2つのトリガーを定義すると、2つの異なるエンドポイントとみなされます。

Standalone Invoker.zipファイルは、<Magic xpi installation>/Runtime/Supportフォルダ内にあり、外部アプリケーションからMagic xpiを起動するために必要なすべてのファイルを保持しています。

Magic xpi 4.12では、ポーリングとエンドポイントトリガーの呼び出しタイプはサポートされていません。

フロー呼出し時の動作

コンポーネントのフロー呼出しの動作を定義します。ドロップダウンリストから以下のどれかをつを選択します。

  • Sync-Wait …… フロー呼出しは同期的です。フローが定義された最大インスタンス数内にある場合、メッセージを待ちます。

  • Sync-No Wait(デフォルト) …… フロー呼出しは同期的です。しかし、フローがその定義された最大インスタンス数内にある場合、メッセージを待つことなく、エラーが直ちに返ります。

  • Async …… フロー呼出しは非同期です。メッセージが一旦スペースにあり、フローが結果の戻りを待たなかったら、メソッド呼出は戻ってきます。

非同期の呼出しは、コールバックメソッドを持つメッセージングトリガのような戻り値のないトリガに対して適しています。

同期呼出しは、TCPトリガのような戻り値のあるトリガに適しています。

実行テクノロジー

ドロップダウンリストから以下のテクノロジーのどれかを1つを選択してください：

  • Java

  • .NET (デフォルト)

  • Magic xpa

  • ローカル エージェントでは、ランタイム テクノロジーの値が Java に設定されているトリガーのみがサポートされます。他のランタイムテクノロジーはサポートされていません。

  • Magic xpi 4.12では、.NETとMagic xpaのランタイムテクノロジーはサポートされていません。

このパラメータは、以下の場合は無効です。

  • ［トリガ呼出しタイプ］がエンドポイントに設定された場合。 (Since version: 4.6)

実行時実装クラス

Javaまたは.NETクラスまたはMagic xpa.ecfファイルの名前。［UIタイプ］プロパティ(上記)が Static に設定されると、このチェックボックスは無効になります。

［実行プロジェクト作成］ボタンをクリックすると、あらかじめ設定されたプロジェクトのテンプレートを作成するユーティリティが開きます。このプロジェクトは、コネクタの実行部分の開発のための出発点になります。

［UIタイプ］プロパティが Dynamic に設定され［トリガ呼出しタイプ］が Endpoint に設定されると、このパラメータは無効になります。(Since version: 4.6)

実行にはサービスが必要

実行中にコンポーネントの使用する時にサービスが必須であるかどうかを定義します。このチェックボックスはデフォルトで選択され、［UIタイプ］プロパティ(上記)が Static に設定され、無効でチェックされない状態になります。

引数の設定：［UIタイプ］プロパティ(上記)がスタティックに設定される時だけ、このセクションは有効になります。［新規］、［削除］そして［全て削除］のボタンを使用することで引数の追加や削除を行うことができます。

名前

Magic xpiへの外部呼出しによってコンポーネントに送られる引数の名前。特殊文字で開始することはできません。

タイプ

引数のデータタイプ。ドロップダウンリストから以下のどれかを1つを選択してください：

  • Alpha

  • Numeric

  • Logical

  • Date

  • Time

  • BLOB

長さ

Magic xpiに引数のフォーマットをどのように定義するかを指定する文字列。例えば、15文字の英数字パラメータには、15の書式定義があります。

日付を定義する書式は、DD/MM/YYYY になります。

方向

引数の方向が入力または出力パラメータのどちらであるかを定義します。ドロップダウンリストから以下のどれかをつを選択してください：

  • In

  • Out

  • トリガはいくつかのInパラメータを持つことができますが、Returnパラメータは1つだけです。

  • ポーリングトリガは、Inパラメータのみを持つことができます。

  • 外部トリガは、リターンパラメータと同様にInを持つことができます。

ツールティップ

カーソルが引数上にホバリングする時に表示されるツールティップ。

ボタンをクリックして、［ツールティップ説明］ボックスに必要なツールティップに入力してください。

値タイプ

引数の値タイプを表示する方法。ドロップダウンリストから以下のどれかを選択してください：

  • Expression

  • Variable

  • Combo

［リソース] タブ： [リソースを含める] ボタンをクリックします。ユーザー定義のリソースタイプを変更したい場合は、[一般的な詳細]タブの[リソースを含める]ボタンをクリックします。新しいリソースを追加する方法の詳細については、ここをクリックしてください。

［エラー] タブ：［エラー詳細］ダイアログボックスが開きます。ここでは、新しいコンポーネントのためにエラーのセットを定義することができます。コンポーネントに対して任意のエラーコードを定義することができます。新しいエラーは、［グローバルエラー］リポジトリに追加され、コンポーネントXMLファイルに追加されます。

Since version: | 4.5
Since version: | 4.12 新規インタフェース


ロードメソッド

［ロードメソッド］ダイアログボックスは、コンポーネントのためにメソッドとメソッドのパラメータを定義したり、変更するために使用されます。

このダイアログボックスには、以下のフィールドが含まれています：

名前

説明

メソッドの読み込み

テクノロジー

コンポーネントを開発するために使用したいテクノロジー。ドロップダウンリストから以下のどれかを1つを選択してください：

  • Java

  • .NET

アセンブリ

ドロップダウンリストからコンポーネントに含めたいアセンブリを選択してください。このドロップダウンリストは、［アセンブリ］ボタンをクリックすると［アセンブリ選択］ダイアログボックス内で選択する項目があります。

  • 依存するすべてのdllは、使用したいクラスを含んでいる訳でなく［アセンブリ選択］リストに追加されなければなりません。

  • アセンブリがGACにすでにロードされている場合、アセンブリを選択する必要はありません。

［テクノロジー］パラメータ(上記)で.NETを選択した場合、このパラメータが有効になります。

クラス

モジュール用のプロジェクト内で必須なユニークな名前。

［テクノロジー］パラメータ(上記)でJavaを選択した場合、 [image] ボタンをクリックすると、classpathで有効なクラスのリストからクラスを選択することができます。次に［Jars］ボタンをクリックし、コンポーネントに含めたいJarファイルを選択してください。

メソッドリスト
名前 | 実行時にサーバによって使用されるメソッドの名前。これはJavaコンポーネントのためのメソッド名です。名前にピリオド(.)や疑問符(？)、スラッシュ(/)などの特殊文字を含まれている場合、読み込むことはできません。
引数の数 | このメソッドが受け入れる引数の数。
タイプ | コンポーネントに含めたいメソッドのタイプを選択してください。
署名 | この読み込み専用セクションには、完全なメソッドの署名を表示します。


リソースタイプ

［新規リソースタイプ］ダイアログボックスは、有効なリソースタイプを表示し、ユーザ定義のリソースタイプを修正することができます。これはまた、すべてのプロパティが定義された新しいリソースタイプを追加することが可能です。

［新規］ボタンをクリックすると、［新規リソースタイプ］ダイアログボックスが表示されます。ここで、[設定]ダイアログボックスの[リソース]セクションからアクセスすることができる新しいリソースを定義することができます。新しいリソースタイプの名前と説明を入力したら、以下のようにパラメータを入力してください：

名前

説明

リソース詳細

名前

リソースの名前。

説明

リソースの説明。

引数：［追加］ [image] をクリックすると新しい引数を追加できます。［削除］ [image] をクリックすると既存の引数を削除します。

名前

引数名。

タイプ

引数タイプ。ドロップダウンリストから以下のどれかを1つを選択してください：

  • Alpha

  • Numeric

  • Date

  • Time

  • Logical

長さ

上記で選択されたタイプの最大文字長。このフィールドは必須です。

ツールティップ

をクリックして［ツールティップ説明］ダイアログボックスを開きます。ここで新しい引数を説明するためのツールティップを入力してください。

値選択タイプ

Expression(デフォルト)または、Combo のどちらを設定したいかを選択します。Combo を選択すると、 [image] をクリックして、［コンボボックス値］ダイアログボックスを開きます。ここで関連したコンボボックスの詳細を入力します。

デフォルト値

これはデフォルト値を引数に割り当てます。例えば、最初の引数がホスト名としてリソースを定義すると、デフォルト値はLocalhostになります。選択されたデフォルト値は、［フィールドタイプ］とマッチしなければなりません。［パスワード］チェックボックスが選択されると、このカラムは無効になります。

パスワード

パスワードを、表示するか、暗号化するか、アスタリスク(*)でマークするかを定義します。

このチェックボックスを選択すると、値はリソース設定XMLファイルの中でまた暗号化されます。

環境変数

新しいリソースに、環境変数をサポートするかどうかを定義します。

必須

新しいリソースプロパティを必須なプロパティにするかどうかを定義します。

リードオンリー

新しいリソースプロパティを読み込み専用にするかどうかを定義します。

可視依存

新しいリソースプロパティに、可視依存を設定するかどうかを定義します。ドロップダウンリストから以下のどれかを1つを選択してください：

  • Yes (デフォルト)

  • No

  • Condition

Conditionを選択すると、 [image] をクリックして［可視］ダイアログボックスが開きます。

依存する

新しいリソースプロパティを既存のプロパティに依存させるかどうかを定義します。ドロップダウンリストからプロパティを選択します。

このフィールドは、Visibility引数（上記）がConditionに設定されている場合に有効になります。

値に依存

新しいリソースプロパティを既存のプロパティの値に依存させるかどうかを定義します。ドロップダウンリストから次のいずれかを選択します。

  • True

  • False

ローカルエージェントの互換性

コネクタがローカルエージェントと互換性があるようにするには、このボタンをオンにします。デフォルトではオフになっています。

このボタンをチェックすると、ローカルエージェントとLA名という2つの追加の引数がリソースプロパティに追加されます。

Local Agentという名前の引数は論理タイプであり、デフォルト値がFalseのコンボです。

LA Nameという名前の引数は、長さが30のAlphaタイプです。

引数は両方とも必須であり、変更または削除することはできません。

リソースがすでに構成されている場合は、ユーザーに確認ダイアログが表示され、リソースを再構成して、コネクターのローカルエージェントに互換性を持たせることができます。

  • 各ローカルエージェント互換SDKコネクタにはリソースが必要です。

  • ローカルエージェント互換SDKコネクタには、ステップのデフォルトインターフェイスとしてデータマッパーが必要です。メソッドインターフェイスはサポートされていません。

(Since version: 4.12)

開発時のLA使用

このトグルボタンをチェックすると、コネクタの開発時にローカルエージェントが使用できるようにします。

コネクタは、開発中（Studioから）でもローカルエージェントを介してリソースに接続します。チェックしない場合は、リソースへの接続はローカルエージェントを介さず直接行われます（本来の動作）。

(Since version: 4.13.4)

ボタン：［追加］ [image] をクリックすると3つの新しいアクションボタンを追加することができます。［削除］ [image] をクリックすると削除されます。

検証ボタン

検証ボタンを新しいリソースに追加したい場合、このチェックボックスを選択してください。これを選択すると、［追加］ [image] をクリックして［検証］ボタンを追加することができます。既存のボタンを削除するには、［削除］をクリックします。


サービスタイプ

［新規サービスタイプ］ダイアログボックスは、有効なサービスタイプを表示し、ユーザ定義のサービスタイプを修正することができます。これはまた、すべてのプロパティが定義された新しいサービスタイプを追加することが可能です。

［新規］ボタンをクリックすると、［新規サービスタイプ］ダイアログボックスが表示されます。ここで、[設定]ダイアログボックスの[サービス]セクションからアクセスすることができる新しいサービスを定義することができます。新しいサービスタイプの名前と説明を入力したら、以下のようにパラメータを入力してください：

名前

説明

サービス詳細

名前

ユニークなサービス名。このフィールドは必須です。

説明

新しいサービスの説明。

引数：［追加］をクリックすると新しい引数を追加できます。［削除］をクリックすると既存の引数を削除します。

名前

引数名。

タイプ

引数タイプ。ドロップダウンリストから以下のどれかを1つを選択してください：

  • Alpha

  • Numeric

  • Date

  • Time

  • Logical

リソースの構成時に、Connector Builderの[リソース]タブにある[ローカルエージェントの互換性が高すぎる]ボタンをオンにした場合、最初の引数は常にリソースタイプで追加する必要があります。 このパラメーターには、[リソース]タブで定義されたリソースへの参照が含まれます。

最初の引数のタイプがResourceに設定されていない場合、[OK]ボタンをクリックするとエラーがスローされ、構成は保存されません。

長さ

上記で選択されたタイプの最大文字長。このフィールドは必須です。

ツールティップ

をクリックして［ツールティップ説明］ダイアログボックスを開きます。ここで新しい引数を説明するためのツールティップを入力してください。

値選択タイプ

Expression(デフォルト)または、Combo のどちらを設定したいかを選択します。Combo を選択すると、 [image] をクリックして、［コンボボックス値］ダイアログボックスを開きます。ここで関連したコンボボックスの詳細を入力します。

デフォルト値

これはデフォルト値を引数に割り当てます。例えば、最初の引数がホスト名としてサービスを定義すると、デフォルト値はLocalhostになります。選択されたデフォルト値は、［フィールドタイプ］とマッチしなければなりません。［パスワード］チェックボックスが選択されると、このカラムは無効になります。

パスワード

パスワードを、表示するか、暗号化するか、アスタリスク(*)でマークするかを定義します。

このチェックボックスを選択すると、値はサービス設定XMLファイルの中でまた暗号化されます。

環境変数

新しいサービスに、環境変数をサポートするかどうかを定義します。

必須

新しいサービスプロパティを必須なプロパティにするかどうかを定義します。

リードオンリー

新しいサービスプロパティを読み込み専用にするかどうかを定義します。

可視依存

新しいサービスプロパティに、可視依存を設定するかどうかを定義します。ドロップダウンリストから以下のどれかを1つを選択してください：

  • Yes (デフォルト)

  • No

  • Condition

Conditionを選択すると、 [image] をクリックして［可視］ダイアログボックスを開きます。

依存

新しいサービス・プロパティを既存のプロパティに依存させるかどうかを定義します。ドロップダウン・リストからプロパティを選択します。

値に依存

新しいサービス・プロパティを既存のプロパティの値に依存させるかどうかを定義します。ドロップダウン・リストから以下のいずれかを選択します。

  • True

  • False

ボタン：［追加］ [image] をクリックすると3つの新しいアクションボタンを追加することができます。［削除］ [image] をクリックすると削除されます。

検証ボタン

新しいサービスにバリデーションボタンを追加したい場合は、このトグルボタンをクリックしてください。これを選択した場合は、この [image] ボタンをクリックして検証ボタンを追加・定義することができます。


コンボボックス値

［コネクタビルダ］ダイアログボックスの［値タイプ］フィールドでComboを選択すると、 [image] をクリックすると［コンボボックス値］ダイアログボックスが開きます。

［コンボボックス値］ダイアログボックスの［値］カラムには、値をカンマ区切りの文字列で入力してください。例：1,2,3。

［コンボボックス値］ダイアログボックスの［表示値］カラムには、コンボボックスに表示されたい値をカンマ区切りの文字列で入力してください。例：赤,青,緑。［値］カラムに入力した値が戻る時に、これらの値が表示されます。

［表示値］のオプションは、［値］カラムに入力した戻り値の文字列と同じの順序で入力しなければなりません。

例えば、もし"1,2,3"と入力され、"1"が"赤"、"2"が"青"、"3"が"緑"の場合、［表示値］プロパティに赤、青、および緑と入力されると、1,2,3 の順序になるはずです。


メソッドの構成

［メソッド構成］ダイアログボックスは、既存のコードに基づいたコンポーネントのメソッドの生成を可能にします。ダイアログボックスは、これらのクラスから必要とされているメソッドを表示します。この機能は、生成されたメソッドの定義によってコンポーネントXMLを更新します。

ダイアログボックスには、以下のようなフィールドが含まれています。

名前

説明

メソッド

名前

実行時にサーバによって使用されるメソッドの名前。これはMagic xpaコンポーネントの公開名とJavaコンポーネントのメソッド名です。ピリオド(.)、疑問符(？)、スラッシュ(/)などの特殊文字が名前に含まれていると読み込めません。

公開名

メソッドの一般的な名前。名前は、半角の英字で開始する必要があります。

説明

メソッドの簡単な説明。

ボタン

説明

ロード

[ロードメソッド]ダイアログボックスを開きます。

メソッドの引数

名前

Magic xpiへの外部呼出しによってコンポーネントに送られる引数の名前。名前は、半角の英字で開始する必要があります。

PseudoRefと呼ばれる特別なタイプの名前があります。xpiのPseudoRefはクラスのコンストラクターを使用してインスタンス化するJavaオブジェクトへの参照を含む変数を参照します。

実行時にコンストラクターを実行することにより、変数はクラスのインスタンス/オブジェクトで初期化されます。これはクラスのインスタンスメソッドを呼び出すときに入力変数として使用されます。

表示名

ステップがxpi スタジオに追加された時に[DAM構成]セクションに表示される引数の名前。この項目は編集可能です。このフィールドに加えられた変更は、スタジオステップ構成のプロパティ名に反映されます。

ツールティップ

カーソルが引数上でホバリングする時に表示されるツールティップ。

タイプ

引数のデータ型。次のタイプを選択できます：文字、数値、論理、日付、時間、またはBLOB。

書式

引数の書式の定義方法をMagic xpiに指定する文字列。例えば、15文字の英数字パラメータの書式定義は、15。日付を定義する書式は、DD/MM/YYYYです。

方向

引数の方向。引数が入力または出力パラメータまたは両方のどれかであるかを選択するために、ドロップダウンリストを使用してください。

実行順序

実行中の引数の実際の順序を示します。

値タイプ

パラメータ値がユーザによってどのように入力されるかを定義します。ドロップダウンリストから以下のどれかをを選択してください：

  • 式 (デフォルト)

  • 変数

  • 固定値

デフォルト値

受け取られた引数に値がある場合、Magic xpiによって自動的に設定される値または式(［タイプ］プロパティに依存)を指定することができます。

この値が空白でない場合、［ダイレクトアクセスメソッド構成］ダイアログボックス内の引数は、デフォルト値で更新され、読み込み専用になります。

必須

引数がトリガに送られる時、値(またはデフォルト値)が必要かどうかを指定します。フィールドが表示されず、デフォルト値が定義されているのであれば、必須として定義することはできません。フィールドを必須として定義するには、チェックボックスを選択してください。

可視

引数が［ダイレクトアクセスメソッド構成］ダイアログボックスに表示されるかどうかを定義します。ドロップダウンリストから以下のどれかを1つを選択してください：

  • Yes (デフォルト)

  • No

依存

新しいメソッドを既存のメソッドに依存させるかどうかを定義します。

値に依存

新しいメソッドを既存のプロパティの値に依存させるかどうかを定義します。

  • True

  • False


エラー詳細

［エラー詳細］ダイアログボックスで、新しいコンポーネントのためにエラーのセットを定義することができます。コンポーネントのために任意のエラーコードを定義することができます。しかし、エラーコードはコンポーネントでにユニークにする必要があります。

新しいエラーは、［グローバルエラー］リポジトリに、そしてコンポーネントXMLファイルに追加されます。

現在開かれたプロジェクトで、［プロジェクト］メニューを選択し［エラー］を選択することで［エラーリポジトリ］のSDKコンポーネントのエラーを編集する必要があります。新しいプロジェクトを作成する時、これらのエラーの詳細は［エラーリポジトリ］にのみ表示されます。

Javaエラーのために、JavaクラスからスローされたエラーをMagic xpi SDKのJavaコンポーネントに定義されたエラーにマッピングすることができます。

このダイアログボックスは、［Java例外メッセージ］と呼ばれるカラムがあります。このカラムには、返されるjExceptionMessageにおいて検索するテキストが含まれています。テキストが見つかると、このカラムに定義されたMagic xpiエラーがスローされます。検索の順序は、［コード］カラムに設定された最小値から最大値に基づいています。


フローコンポーネントログ

Magic xpiスタジオは、中心的にロギング情報を定義することが可能です。Save Message関数(特別なステップをフローに追加することを意味しています)を使用する代わりに、［プロパティ］ペインの［ロギング］セクションでログ定義を指定することができます。

フロートリガとしてMagic xpiコンポーネントを使用する時、フローステップコンポーネントでそれを使用する場合とまったく同じ方法で［プロパティ］ペインの［ロギング］セクションを使用することができます。


ソース管理

Magic xpiは、Microsoft® Team Foundation Serverや Microsoft® Visual SourceSafe (VSS)、 SourceGear Vault Standard Classic Client などの様々なサードパーティのソース管理製品との接続機能を提供します。

Team Foundation Server を使用する場合、Visual Studio 用の Team Foundation Server MSSCCI Provider 32-bit plug-in をインストールする必要があります。

ソース管理には以下の機能があります：

  • バージョンの保存 …… プロジェクトのバージョンを保存し、後で任意のバージョンにアクセスすることができます。複数の開発で開発する環境で作業する場合は、これは役立ちます。プロジェクトのバージョンを記録しアクセスできるため、1人の開発者でソース管理機能を使用することもできます。

  • ファイルの保護 …… ファイルを編集するには、最初にファイルをチェックアウトする必要があります。これはソースファイルが偶然別のユーザによって上書きされないように保護します。.

  • チーム開発 …… 複数の開発者でプロジェクトを開発することができます。各開発者は、各自のプロジェクトのソースファイルのコピーで作業し、各自のコピーを中央に位置したバージョンと同期させる責任があります。

  • 変更内容の追跡 …… 保存した様々なバージョンを比較することができます。

  • ユーザのトレース …… 誰がバージョンを編集したかが容易に確認することができます。

  • 現在、Magic xpiはバージョニングのためにソース管理をサポートしています。プロジェクトツリーの変更があると、ソース管理プロバイダのエクスプローラを使用して、プロジェクト全体を取得する必要があります。

  • 表示されているソース管理オプションのいくつかは、ソース管理ベンダまたはVisual Studioによって作成されます。それらは、Magic xpi(例えば、マージ処理をサポートするダイアログボックス)ではサポートされません。Magic xpiのソース管理機能を使用するために、ヘルプトピック(下でリンクを参照)に記載された手続に従ってください。

  • Magic xpiのファイルはマージされないため、排他モードで作業する場合は、常にソース管理製品を設定するようにすべきです。さらに、ソース管理が、ファイルの最新バージョンを常にチェックアウトするように設定されることを確認してください。

ファイル依存状態

ソース管理で開発する時に、ファイル間で一定の依存状態があることを知っておいてください：

  • フローは、常にデータマッパファイルと一緒にチェックアウト／インされます。

  • データマッパステップをフローに追加する時、すでにフローがチェックアウトされていても、プロジェクトはチェックアウトされます。

  • データマッパステップをチェックインする時は、プロジェクトもチェックインする必要があります。

  • フローは、常に対応するエラーポリシーや変数と一緒にチェックアウト／インされます。

  • ビジネスプロセスは、常にその変数と一緒にチェックアウト／インされます。

  • ビジネスプロセスまたはフローをプロジェクトに追加する場合、プロジェクトはチェックアウトされなければなりません。

関連トピック：

Magic xpi でのソース管理の設定

ソース管理での新しいプロジェクト

Magic xpi でのソース管理メニューのオプション

ソース管理のトラブルシューティング

Magic xpi でソース管理を使用する場合の手順は、次を参照してください：ソース管理(Magic xpi逆引き辞典)。

Magic xpi でソース管理製品としてTFSを使用するビデオデモンストレーションを見るには、ここをクリックしてください。


Magic xpi でのソース管理の設定

ソース管理を使用して作業するには、Magic xpiを、インストールされるソース管理製品に接続する必要があります。これをするには、以下の手順に従ってください：

  1. ［ツール］メニューから［オプション］を選択してください。.

  2. ［オプション］ダイアログボックスで、［ソース管理］をクリックしてください。

  3. ［ソース管理］の下の、［プラグインの選択］をクリックしてください。このセクションには、以下のパラメータが含まれています：

名前 | 説明
現在のソース管理プラグイン | ドロップダウンリストからインストールされているソース管理製品を選択してください。

  4. ［ソース管理］の下の［環境］をクリックしてください。ソース管理の動作を定義するために、このセクションには以下のパラメータが含まれています。

名前

説明

ソース管理環境設定

必要とする事前の設定を選択しでください。以下のデフォルトのオプションを変更すると、このパラメータはカスタムに変更されます。

チェックイン時にチェックアウトアウトを維持する項目

チェックインの後に手動で再度チェックアウトしない項目を、チェックボックスで選択してください。

チェックイン項目の動作

保存

現在チェックインされた項目を保存する時のソース管理の動作を定義します。ドロップダウンリストから以下のどれかを選択してください：

  • チェックアウトの要求

  • 自動的にチェックアウト

  • 名前を付けて保存 …… このオプションは推奨できません。

編集

現在チェックインされた項目を編集しようとする時のソース管理の動作を定義します。ドロップダウンリストから以下のどれかを選択してください：

  • チェックアウトの要求

  • 排他的なチェックアウトの要求 …… これは推奨するオプションです。

  • 自動的にチェックアウト

  • 何もしない

チェックイン項目への編集を許可

ソース管理でチェックアウトされなかった項目を編集する場合は、このチェックボックスを選択しでください。これは［編集］フィールド(上記)で定義された動作が無効になるため推奨されません。

［リセット］をクリックすると、以前に［再度表示にない］のチェックボックスが選択されたことによって表示されない［確認］ダイアログボックスが表示されるようになります。

  5. ［ソース管理］の下の［プラグインの設定］をクリックしてください。ソリューションまたはプロジェクトのソース管理プラグインを識別するために、このセクションには以下のパラメータが含まれています：

名前 | 説明
プラグインの設定 | 必要な事前設定を選択してください。デフォルトのオプションを変更すると、このパラメータはカスタムに変更されます。
バックグラウンドでのステータス更新の実行 | 項目のステータスが変更される時に、ソリューションエクスプローラ内で自動的にソース管理アイコンを更新するには、このチェックボックスを選択してください。

追加のソースコントロールのプラグイン設定を定義するには、［アドバンスド］をクリックしてください。有効な設定は、あなたが使用しているプラグインによって定義されます。

このセクションには、ソースコントロールのプラグインにログインするためのユーザ名が含まれています。


ソース管理での新規プロジェクト

［ファイル］メニューあるいはツールバーから新しいプロジェクトを開くと、［新しいプロジェクト］ダイアログボックスが開きます。

［名前］フィールドにプロジェクト名を入力します。ソース管理を使用して作業するには、［ソース管理に追加］を選択してください。この段階でこのオプションを選択しないと、［ファイル］メニューの［ソース管理］オプションから［ソース管理への追加ソリューション］を選択することで、後でソース管理が可能になります。

［ソース管理に追加］オプションを選択する時、新しいプロジェクトの基礎がMagic xpiスタジオで作成されます。

同時に、新しいプロジェクトは、作動フォルダがソース管理サーバの中に作成されます。ここにはプロジェクトのフォルダとソースを自動的に設定されます。

［ソース管理に追加］オプションが無効な場合に何をするか確認するには、ここをクリックしてください。


Magic xpi でのソース管理メニューのオプション

ソース管理ツールにプロジェクトをチェックする前に、以下のオプションは、［ソース管理］メニュー(［ファイル］メニューからアクセスできます)からアクセスできます。

  • Team Foundation Serverを使用して作業するには、Visual Studio用のTeam Foundation Server MSSCCI Provider 32-bit plug-inをインストールする必要があります。

  • 表示される［ソース管理］オプションのいくつかは、ソース管理ベンダまたはVisual Studioによって作成されます。これらは、Magic xpi(例えばマージ処理をサポートするダイアログボックス)ではサポートされません。

  • ソース管理からコントロールから除外 …… 選択された項目なしでプロジェクトをソース管理ツールに追加したい場合のみ、このオプションが関連します。

  • ソリューションをソース管理に追加

  • 選択されたプロジェクトをソース管理に追加

  • ソース管理から開く …… TFSソース管理を使用する場合、このオプションでは既知の問題があるため、使用しないことを推奨します。代わりに、TFSのソース管理エクスプローラを使用してプロジェクト全体を取得してください。

  • ソース管理からプロジェクトを追加 …… プロジェクトを作成した時に、［新しいプロジェクト］ダイアログボックスの［ソース管理に追加］チェックボックスを選択しないと、［ソース管理に追加］を選択することによって後でソースコントロールを有効にすることができます。.

  • ソース管理の変更

  • 起動 [ソース管理プロバイダ]

プロジェクトをチェックインし、［ソース管理］メニューで以下のオプションが有効な場合：

  • 最新バージョンを取得 …… このオプションは、ソース管理サーバからオブジェクトの最新バージョンを取得するために使用されます。このオプションを使用する時、Magic xpiはオブジェクトのソースファイルの最近チェックインしたバージョンをもとにオブジェクトのファイルをローカルPCに差し替えます。プロジェクトツリーの変更がある時、ソース管理プロバイダのエクスプローラを使用して、プロジェクト全体を取得する必要があります。

  • 最新バージョンの取得(再帰的) …… このオプションは、そのサブディレクトリを含むオブジェクトの直近のバージョンを取得します。

  • 取得

ソース管理プロバイダーとしてTFSを使用する時に、行った変更を取り消すために［取得］と［最新バージョンの取得］のオプションを使用することができません。TFSは、どのバージョンがサーバから最後にダウンロードされたかを覚えていて、バージョンの取得のし直しは行いません。代わりに、［チェックアウトの取消］オプションを使用するか、ファイルの別のバージョンを履歴から取得してください。

  • 編集用にチェックアウト …… 「項目のチェックアウト／イン」のセクションを参照してください。

  • チェックイン …… 「項目のチェックアウト／イン」のセクションを参照してください。

  • チェックアウトの取消 …… このオプションは、チェックアウトしたオブジェクトを開放したり、オブジェクトの直近のバージョンを返すために使用されます。オブジェクトがチェックアウトのステータスにある時だけ、この処理を使用することができます。チェックアウト中にオブジェクトを変更すると、チェックアウト中のオブジェクトに対するすべての変更は失われます。

フローをビジネスプロセスに追加した後にビジネスプロジェクトのチェックアウトを取り消すには、プロジェクト全体の［チェックアウト取消］オプションを使用する必要があります。

  • 履歴 …… ソース管理製品でサポートされている場合にだけ、履歴画面が表示されます。

  • 選択項目をソース管理から除外

  • ステータスの再表示

  • 共有

  • 比較

  • プロパティ

  • ソース管理の変更…… ［ソース管理変更］ダイアログボックスの［切断］ボタンをクリックしても実際はプロジェクトをソース管理製品から除外しません。それは、Visual Studioがオフラインモードでの作業を可能にしているだけです。ソース管理を使用しないで作業するには、ソース管理からプロジェクトを解放する必要があります。

  • 起動 [ソース管理プロバイダ]

  • 次のMagic xpiファイルはソース管理では処理されません： ifs.ini, Resources.xml そして Services.xml.

  • Magic xpiファイルはマージすることができないため、排他モードで作業するには、常にソース管理製品を設定するようにしてください。さらに、ファイルの最新のバージョンをチェックアウトするためにソース管理が常に設定されることを確認してください。

項目のチェックアウト／イン

Magic xpiスタジオのソリューションエクスプローラで、任意の項目で右クリックし、コンテキストメニューから［編集のためのチェックアウト］を選択することにでチェックアウトできます。ソリューションエクスプローラのチェックアウト項目の隣に赤いチェックマークが表示されます。項目の編集が終了したら、再びそこで右クリックし、コンテキストメニューから［チェックイン］を選択することでチェックインすることができます。ロックアイコンがソリューションエクスプローラのチェックインされた項目の隣に表示されます。

チェックアウトのために選択する項目が階層の一部である場合、［編集のためのチェックアウト］ダイアログボックスが開きます。ここで、特定の追加項目をチェックアウトするか、チェックインしたたままにするかを選択することができます。

メインのペインでフローを開くことで、フローをチェックアウトすることができます。そして、［ファイル］メニューから［ソース管理］をそして［編集のためのチェックアウト］を選択します。フローのチェックインは同じメニューを通して行われます。

ソース管理にチェックインされる項目を編集したり保存しようとするのであれば、ソース管理エリアの［環境設定］セクション〈［オプション］ダイアログボックス〉で定義した動作が実装されます。

プロジェクトの任意の部分で特定の変数を使用している場合、別のユーザが変数リポジトリの1つでそれらの変数に変更を加えることができたことを知っておいてください。このようなことが発生すると、これらの変更はプロジェクトに影響します。これを防止するには、常に排他的なチェックアウトモードでソース管理製品を設定することを確認してください。

コンテキストメニューを使用して中断されるようにフローを設定した場合、フローを自動的にチェックアウトしません。

チェックインのペンディング

［チェックインのペンディング］ウィンドウには、特定のソリューションまたはプロジェクトにおいて現在チェックアウトされたすべての項目が表示されます。［表示］メニューから［チェックインのペンディング］ウィンドウにアクセスします。このウィンドウはリストされた項目のすべてを一気にチェックインするか、関連したチェックボックスを選択したり、解除したりしてチェックインする特定の項目を選択することができます。必要であれば、コメントを追加することもできます。

ウィンドウの中には、コンテキストメニューと同様の様々なツールバーオプションがあります。ここには、バージョンの比較、エディタを開く、チェックアウトの取消、編集、取り消しチェックアウト、コラム、およびソートが含まれています。

注意：コンテキストメニューの［編集で開く］オプションはマッパファイルではサポートされてません。


ユーティリティ

Magic xpiのユーティリティは、フローにおいてフローロジックや編成、フローの間の関係、およびコンポーネントの間の関係をコントロールすることを可能にします。Magic xpiの主要なユーティリティはデータマッパーです。これは、異なる送り元から異なる書式で異なる送り先にデータを変換させる直観的でビジュアルなツールです。

フローにドラッグすることにより追加できるユーティリティは以下の通りです。

  • フローの中止

  • BAM

  • データマッパー

  • フローを有効化

  • Flow Data(ODSと変数)

  • フロー呼出

  • 遅延フロ-呼出

  • Javaクラスコネクタ

  • ロックリソース

  • Magic xpa ユーティリティ

  • .NET Utility

  • NOP

  • イベント発行

  • PSSパブリッシュ

  • PSS削除

  • PSSサブスクライブ

  • リフレッシュ コンバージョン

  • メッセージ保存

  • スケジュールフロー

  • スケジューラ ユーティリティ

  • アンロックリソース

  • イベントを待つ

［ツールボックス］ペインからドラッグすることで、ユーティリティをフローに追加します。［構成］ダイアログボックスは、フローにドラッグされたユーティリティのために表示されます。

詳細については、各ユーティリティの説明を参照してください。

  • 既存のコンポーネントに新しいユーティリティをドロップすると、新しいユーティリティは子として挿入されます。

  • 新しいユーティリティを親として挿入したり、既存のユーティリティコンポーネントを置き換える場合は、Shift を押下しながらユーティリティをドラッグします。

  • ユーティリティ又はコンポーネントの分岐を移動することができます。親モデルを選択して右クリックし、［分岐を移動］を選択し移動先をクリックします。

  • ユーティリティの構成を編集するには、ユーティリティをダブルクリックしダイアログボックス内のエントリーを変更します。

  • コンポーネントにポイントを当てるとコンポーネントのプロパティを表示したツールチップが表示されます。


データマッパーユーティリティ

Magic xpiのデータマッパーユーティリティは、ビジュアルなマッピング デバイスを使用して、異なる形式で異なる送り元のレコードとフィールド間の関連付けることができます。

データマッパーを使用すると、送り先データ要素と送り先データ要素の間の関係をグラフィカルに表現できます。これによって、コードを記述することなくデータを処理する方法jを作成します。

データマッパーユーティリティの［送り元］と［送り先］のプロパティペインで送り元と送り先の書式を定義します。データマッパーは、以下の動作を実行することができます。

  • XML、HTML、またはフラットファイル形式でファイルを作成または更新する

  • データベースレコードのセットを作成、更新、および削除する

  • フローを呼び出して引数を渡す

Magic xpiは、データマッパーでUnicodeをサポートしています。詳細については、データマッパーでのUnicode使用を参照してください。

XSDに従って、どれがNull値可の要素をマップしたり、Magic xpiにNull値を含めます。

以下の表は、データマッパーが処理することができるデータのタイプを表示しています。マップの送り元と送り先には任意の組み合わせを指定できます。

送り元 | 送り先
XML …… 指定されたXMLスキーマ定義（XSD）に基づいた有効なXMLを指定する必要があります。 | XML …… 指定されたXMLスキーマ定義（XSD）に基づいてXML出力ファイルが作成されます。
データベース (Select ステートメント): …… データマッパーは、Oracle、MSSQL、Pervasive、およびDB2400をサポートしています。その他のデータベースはODBCプロトコルを使用してサポートされます。データベース情報を使用するには、［設定］ダイアログボックスの［リソース］セクションの［データベース］セクションでデータベースを定義する必要があります。 | データベース (Insert/Update/Delete ステートメント): …… データマッパーは、Oracle、MSSQL、Pervasive、およびDB2400をサポートしています。その他のデータベースはODBCプロトコルを使用してサポートされます。データベース情報を使用するには、[設定]ダイアログボックスの[リソース]セクションの［データベース］セクションでデータベースを定義する必要があります。
フラットファイル …… 指定された構造に基づいてフラットファイルを解析し、フィールドのマッピングを可能にします。 | フラットファイル …… 指定された構造に基づいてフラットファイルを作成したりデータを追加します。
変数 …… 現在のフローのためにグローバル、コンテキスト、ビジネスプロセス、およびフロー変数を選択することができます。 | 変数 …… 現在のフローのためにグローバル、コンテキスト、ビジネスプロセス、およびフロー変数を選択することができます。
ODS …… ODSリポジトリからODSエントリを選択します。ODS配列もサポートしています。1つのODSエントリのみ選択できます。 | ODS …… ODSリポジトリからODSエントリを選択します。ODS配列もサポートしています。1つのODSエントリのみ選択できます。
UDS …… UDSリポジトリからUDSエントリを選択します。 | UDS …… UDSリポジトリからUDSエントリを選択します。
 | フロー呼出 …… 送り元内の各イベントに対するフローを呼び出します。引数は送り先のフローに渡されます。これらの引数はすべてのタイプ(フロー、コンテキスト、グローバルそしてビジネスプロセス)で定義された変数を含めることができます。
 | テンプレート …… HTMLテンプレートファイルに基づいて新規HTMLファイルを作成します。
JSON …… 開発中は、Magic xpiはJSONスキーマを解析し、すべてのデータタイプと制約に基づいてその構造を表示します。実行中は、JSONファイルは妥当性が決定され、マッピングが実行されます。検証処理において不適当な組合せがある場合、エラーが発生します。 | JSON …… 開発中は、Magic xpiはJSONスキーマを解析し、すべてのデータタイプと制約に基づいてその構造を表示します。実行中は、JSONファイルはデータマッパーで作成され内部で検証されます。検証処理において不適当な組合せがある場合、エラーが発生します。このエラーは、 C.sys.LastErrorInfoと C.sys.ErrorDescriptionのシステム変数に記録されます。しかしエラーがある場合は、すでに作成されているのでJSONファイルは残ります。
JDBC (SELECT文) …… MSSQL、MySQL、Oracle、DB2400をサポートします。JDBCを使用するには、プロジェクト > 設定 のリソースで、JDBCリソースを設定する必要があります。 (Since version: 4.13.3) | JDBC (INSERT/UPDATE/DELETE/UPSERT文) …… MSSQL、MySQL、Oracle、DB2400をサポートします。JDBCを使用するには、プロジェクト > 設定 のリソースで、JDBCリソースを設定する必要があります。 (Since version: 4.13.3)

データマッパーは複数の送り元と複数の送り先をサポートします。複数の送り元を1つの送り先にマッピングしたり、1つの送り元を複数の送り先にマッピングすることができます。複数の送り元を複数の送り先にマッピングすることもできます。有効な送り元のデータタイプを有効な送り先のタイプにマッピングすることができます。

データマッパーで1つの送り元と複数の送り先を使用する時に、実際のデータベース処理(Insertなど)は、送り先の順番に関わらず実行される最後の処理になります。親子関係を持つ2つのテーブルを使用している場合、問題があります。代わりに、別の送り元/送り先のペアを使用してください。最初はデータベース処理そして2番目は、フロー呼出にする必要があります。

データマッパーは独自のフローステップとして有効ですが、コンポーネントの設定中のインタフェースタイプとしてXMLを選択すると、自動的にまた呼び出されます。

さらに、Magic xpiは、リポジトリを使用してデータ(文字列から文字列へ)を変換します。例えば、データコンバータによって発生するたびに、文字列の"USD"を"$"に変換することができます。［データコンバータ］リポジトリは、変換テーブルの定義を維持していて、送り元と送り先の文字列をファイルに格納します。ソリューションエクスプローラで［データコンバータ］リポジトリをダブルクリックすることでこのファイルにアクセスすることができます。［データコンバータ］タブは、メインのペインで開きます。Magic xpiサーバが開始されると、［データコンバータ］リポジトリがファイルから読み込まれます。

  • Magic xpiは、必須フィールドを処理しません。マッピングまたは式を定義することによって、必須フィールドに値が設定されていることを確認してください。

  • ほとんどの場合、データマッパーでは、送り元タイプがデータベースに設定され、送り先タイプがデータベース以外の場合、トランザクションは開きません。（送り先タイプがデータベースに設定される場合、トランザクションが開始されます。)唯一の例外は、送り元タイプがDB2/400データベースで、選択されたフィールドのタイプの1つがBLOBの場合です。

関連トピック

データマッパーユーティリティを使用

送り元と送り先のプロパティペイン

デフォルトデータフォーマットリポジトリ

データマッパー画面

データマッパーのルール

データベースからのマッピング情報

マージタグを使用したマッピングデータ

フローコンポーネント設定からデータマッパーを呼び出す

データマッパーのエラー処理

データマッパーのトラブルシューティング

データマッパー(使い方)


データマッパーユーティリティを使用

データマッパーユーティリティは、直接Magic xpiと統合しています。データマッパーを使用して作業を開始するには、Magic xpiのスタジオインタフェースの左上の［ツールボックス］ペインからそれをフローエディタにドラッグするだけです。データマッパーのアイコンをフローエディタにドラッグすると、データマッパーの［プロパティ］ペインが開き、情報を追加できるようになります。ダブルクリックするか、データマッパーユーティリティ上で右クリックし、コンテキストメニューから［設定］を選択すると［データマッパー］ウィンドウが開きます。使いやすいグラフィカルなインターフェースで送り元と送り先を定義することができます。個別のインタフェースのデータマッパーを使用して作業を開始する前に項目を定義する必要は全くありません。簡単に使えるダイアログボックスですべての構成をまとめて行うことができます。構成を編集するには、フロー内でデータマッパアイコンをダブルクリックして、［データマッパー設定］ダイアログボックスを開きます。

関連トピック

データマッパー設定の詳細

データマッパーユーティリティ- 使い方

データマッパーの検証


データマッパー構成の詳細

データマッパーユーティリティをフローに追加するには：

  1. データマッパーユーティリティを［ツールボックス］ペインからフローにドラッグしてください。

  2. ［データマッパプロパティ］ペインで、以下のテーブルで説明されるような情報を入力してください。

パラメータ

説明

一般

ステップ名

フロー内のこのサービスについて記述した名前を入力します。

説明

フロー内のサービスの説明を入力します（オプション）。

ステップID

フロー内のステップのIDを表示する読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別子番号。

コンポーネントタイプ

ステップタイプの名前を表示する読み込み専用フィールド。

条件

フローの実行内容を指定する条件を入力します。 をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップを リニア、パラレルまたはスタンドアロンのどれで実行するかを選択します。

.NET Utilityがフローの最初のステップでなければ有効です。

完了を待つ

ステップが処理完了待ちモードで実行されるかどうかを選択します。YesまたはNoを選択します。

.NET Utilityがリニアのステップで、フローの最初のステップでない場合のみ有効です。

アドバンスト

セーブポイント

ステップがフロー内のセーブポイントである場合は、Yesを選択します。

これはフローのリカバリポリシーがセーブポイントに設定されている場合のみ有効です。

コールロジックフロー

特定のステップの実行後に一般的なロジックを呼び出したい場合、このオプションを使用することができます。このステップが実行されると、サーバが以降のステップに続く前に、フロー内で定義したフローロジックは呼び出されます。

オプションは、YesまたはNo(デフォルト)です。

マッパー

エラー動作

エラーがフロー内のこのステップで発生した場合のステップの動作。ドロップダウンリストから以下のどれかを選択します。

  • Contine (デフォルト) …… ステップに定義された全てのマッピングは実行され、ステップの最後に定義されたエラーポリシーが実行されます。トランザクションがレコードレベルの場合は、そのレコードでロールバックが行なわれ、データマッパーは次のレコードに移ります。他のエラー処理が定義されていない場合、全てのエラーがデータベース操作時に発生し、最後に発生したエラーが見つからなかった場合、データマッパーによりモニタには書き込まれません。

  • Exit …… ステップの実行は直ちに終了し、フローのために定義されたエラーポリシーが実行されます。エラーが発生したポイントの後に定義されたマッピングは実行されません。

  • Dynamic …… エラーフローがエラーで終了すると、ステップ実行は直ちに終了します。エラーフローがエラーをクリアすると、フローは継続します。これはデータベースの送り先のみに関連しています。

データマッパエラーのリストについては、ここをクリックしてください。

DBトランザクションレベル

ドロップダウンリストから以下のいずれかを選択します。

  • Mapper (デフォルト): …… 全てのデータベースタイプのデータマッパーの送り先に対してデータベーストランザクションを実行します。全てのデータマッパーデータベースの更新は、同じトランザクションの一部となります。ロールバック手順は、データマッパーによって実行された全てのデータベース更新をロールバックします。追加／更新された全てのレコードは、ロールバックされます。［エラー動作］の定義内容が継続の場合、エラーは定義された設定どおりに処理され、データマッパーはロールバックされずに処理を継続します。［エラー動作］が終了でエラーが処理されなかった場合、全ての送り先データベースの全ての更新されたステップレコードはロールバックされます。

  • Record …… 全てのデータベースタイプのデータマッパー送り先に対して、各レコードを個別のトランザクションとして実行します。特定のレコードでエラーが発生した場合、そのレコードに対してのみ［エラー動作］で定義されたエラー動作が実行されます。このレコードだけが送り先の中でロールバックされます。［エラー動作］が継続の場合、エラーは定義された設定で処理され、データマッパーは次のレコードの処理へ進みます。［エラー動作］が終了の場合、ステップの動作が終了します。

  • AutoComit …… (Magic xpiはネステトトランザクションをサポートしないため)同じコンテキスト上に、事前にオープンされたトランザクションがない場合、データベースに対しコミットのSQL文を自動的に送るようにします。 トランザクションがすでにオープンされている場合、データマッパーはこのトランザクションを使用して、DBトランザクションのレベル値を無視します。 リモートのデータベースと接続し、レコードレベルのトランザクションを実行したい場合は、自動コミットはパフォーマンスを改善することになります。 これは、トランザクションを完了するための時間を短縮することを意味しています。

  • フローレベルで定義されたトランザクションがある場合は、ステップレベルで定義されたデータベーストランザクションは無視されます。しかし、DB2/400データベースで、オートコミットがInsert処理で選択されるか、WITH NCキーワードが削除と更新処理(トランザクションタイプに関わらず)のSQL文に追加されると、ステップレベルは無視されません。

  • データマッパーから呼び出されたフローは、同じトランザクションの一部になります。呼び出されるフローで使用されるデータベースを含め、処理に関わる全てのデータベースは事前に定義しておく必要があります。ロールバックやコミットに関しては全てのデータベースが定義されていないと、予想外の動作を起こす場合があります。

  • トランザクションが開かない場合は、エラーメッセージが表示されます。

  • DB/400のデータソースにBLOBデータ型のフィールドが含まれている場合、［DBトランザクションのレベル］をレコードに定義することはできません。その代わりにマッパレベルのトランザクションを使用する必要があります。

DBトランザクション

このトランザクションがどのデータベース上で実行されるかを定義することができます。トランザクションの一部として定義されていない任意のデータベースリソースは、ステップ内のトランザクたョンレベルに関わらず、オートコミット処理を実行します。

これを行うには、 [image] をクリックしてデータベースリソースリストを開いてください。リストからデータベースを選択し、［OK］をクリックしてください。

  3. ダブルクリックするか、データマッパーユーティリティで右クリックし、コンテキストメニューから［構成］を選択してください。［データマッパー］ウィンドウが開きます。


データベースリソースリスト

  • 必要なデータベースリソースをチェックすることで、最高5つまで選択できます。

  • 選択されたデータベースリソースを全て解除するには、［全クリア］をクリックしてください。

  • データベースリソースを選択しダイアログボックスを閉じるには、［OK］をクリックしてください。

  • データベースリソースを選択しないでダイアログボックスを閉じるには、［キャンセル］をクリックしてください。


データマッパーユーティリティ- 使い方

データマッパーユーティリティを使いはじめるには：

  1. データマッパーユーティリティを［ツールボックス］ペインからフローにドラッグしてください。

データマッパーユーティリティは、XMLインタフェースを持つフローコンポーネントを設定する時にアクセスすることもできます。

  2. ［プロパティ］ペインで、構成の詳細を入力してください。

  3. ダブルクリックするか、データマッパーユーティリティで右クリックし、コンテキストメニューから［設定］を選択し、データマッパウィンドウを開きます。

  4. ツールボックスの［マッパスキーマ］セクションから、必要な送り元タイプを［データマッパー］ウィンドウの［送り元ツリー］エリアにドラッグしでください。

  5. 送り元でパークしてください。

  6. ［プロパティ］ペインで、送り元のプロパティを設定してください。

  7. 追加の送り元を定義するために、ステップ#4-#6を繰り返してください。最高99個までの送り元を定義することができます。

  8. ツールボックスの［マッパスキーマ］セクションから、必要な送り先タイプを［データマッパー］ウィンドウの［送り先ツリー］エリアにドラッグしでください。

  9. 送り先でパークしてください。

  10. ［プロパティ］ペインで、送り先のプロパティを設定してください。

  11. 追加の送り先を定義するために、ステップ#8-#10を繰り返してください。最高99個までの送り先を定義することができます。

  12. エントリを削除する場合は、削除したいエントリ上で右クリックしてコンテキストメニューから［削除］を選択してください。

関連トピック

フローコンポーネント設定からデータマッパーを呼び出す


データマッパーの検証

データマッパーは、以下のエリアで検証チェックを実行します。

  • データマッパーを開いた時、検証処理は以下をチェックします。

  • 接続データタイプに不一致がないか

  • スキーマの解析障害または欠落しているXMLスキーマがないか

  • 送り元と送り先のデータ定義が妥当か

  • UDSモデルとODS定義が妥当か

  • データベーステーブルが存在するか

  • 空白もしくは欠落した例外フローがないか

  • ポジションフォワーディングの問題がないか

  • 不明もしくはサポートしていないデータタイプがないか

  • 関連するスキーマに選択したルートが存在するか

  • チェッカー動作時、以下の内容が検証されます。

  • 不正な式

  • 不正な条件

  • データマッパノードへの不正な更新


送り元と送り先のプロパティペイン

送り元と送り先の［プロパティ］ペインは、、マップされたデータの送り元または送り先のプロパティを設定することができます。表示されるプロパティは、各送り元または送り先のタイプによって異なります。

送り元と送り先の[プロパティ]ペインにアクセスするには、関連した送り元または送り先の上でパークしてください。

関連トピック

［Databse］プロパティ

［Flat File］プロパティ

［XML］プロパティ

XMLポジションフォワーディング

［Variable］プロパティ

［ODS］プロパティ

［Call Flow］プロパティ

［Template］プロパティ

［UDS］プロパティ

［JSON］プロパティ

[JDBC] プロパティ


データベーススキーマ プロパティ

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > 送り元と送り先のプロパティペイン > ［Database］プロパティ

［Databse］プロパティ

送り元または送り先のタイプとして Database を選択する場合は、変換するデータを選択するか、データベーステーブルでデータを操作する必要があります。

送り元としてデータベースを使用する場合は、送り先にマッピングするためにどのデータを使用するかを決定する必要があります。これを行うには、使用するデータを定義したSQL文を作成します。データマッパーは送り元のデータとして複数のテーブルの選択をサポートします。この場合に、テーブルを結合するためにJOINコマンドを作成しなければなりません。

送り先のデータとしてデータベースを使用する場合は、データベーステーブルのデータを編集する必要があります。これを行うには、挿入、更新、削除、またはUPSERTの各処理のうちどれを実行するかを指定します。データマッパーは、データベースにマッピングすることにより、どのようなフォーマットからでも簡単にデータの更新、挿入ができます。

  • ［設定］ダイアログボックスの［リソース］セクションで定義したデータベースへの接続性が全くない場合、データマッパーの送り元と送り先のカラムの中のデータベーススキーマのエントリは赤く表示されます。このような場合に、問題について説明する情報のツールティップを表示するには、エントリ上でホバリングしてください。接続がない状況で、キャッシュされたスキーマが存在している場合、マッピングと式を編集することができます。

  • デフォルトでは、すべてのデータベーススキーマはキャッシュモードで開かれます。これは、テーブル定義がローカルなキャッシュからロードされて、データベースと接続しようとする試みが全くないことを意味しています。この動作は、オンラインとオフラインモードを切り換えるトグルボタンによってコントロールされます。これによってデータベースリソースでオンラインからオフラインにモードを切り替えます。テーブル構造がたびたび変更されるのであれば、オンラインモードを使用することを推奨します。テーブル構造があまり変更されないか、データベースと接続することのないプロジェクトを使用している場合、オフラインモードの使用を推奨します。スキーマのコンテキストメニューの［リフレッシュ］エントリを使用するか、SQL文を変更することでオフラインスキーマを再表示するすることは常に可能です。 (Since version: 4.5)

  • ツールバーの上の［データベーススキーマのリフレッシュ］ [image] ボタンをクリックするか、［編集］メニューをクリックし［データベーススキーマのリフレッシュ］を選択することで、複数のデータベーススキーマを再表示することができます。データマッパドキュメントがスタジオでフォーカスがあり、さらにオンラインリソースに属している少なくとも1つのデータベーススキーマがある時だけ、この機能は有効です。(Since version: 4.5)

  • チェッカは、SQL文を構文解析しません。SQL文は、データベーススキーマ構成のステップの間に構文解析されるだけで、ビジュアルな情報はデータマッパツリー上で表示されます。

［プロパティ］ペインには、以下のパラメータを設定することができます。

名前

説明

名

スキーマの名前を入力します。

説明

スキーマの説明を入力します。

ウィザード

データベースウィザードによって視覚的にSQL文を作成することができます。 をクリックするとデータベースウィザードが開きます。

［動的SQL文］パラメータ(以下)がYesに設定ている時、このパラメータは無効になります。

SQL文

［データベース］オプションを使用する時、自身でSQL文を作成することに決めることができます。これを行うには、 [image] をクリックして手動でSQL文を作成します。

UIPSERT

宛先としてデータベースオプションを使用している場合は、UPSERT機能が設定できます。

ドロップダウンリストから次のいずれかを選択します。

  • Yes

  • No (デフォルト)

[Yes]を選択すると、ユーザーはウィザードを使用してUPSERTステートメントを生成することができます。

UPSERTステートメントの作成の詳細については、ここをクリックしてください。

(Since version: 4.9)

動的SQL文

送り先として［データベース］オプションを使用している場合、自身でINSERT/UPDATE/DELETEステートメントを記述したいかどうかを示す必要があります。それは、そのまま実行されます。

Magic xpiはステートメントを構文解析しません。ドロップダウンリストから以下のどれかを1つを選択してください：

  • Yes

  • No (デフォルト)

動的SQL文の作成についての詳細については、ここをクリックしてください。

単純なSQL文をMagic xpa デプロイメントが解析してデータベースに送るのと同じように、予想されるデータ型に基づいて動的タグの値をキャストおよび処理するのはユーザーが実施する必要があります。

たとえば、Alphaタイプの項目を処理する場合は、動的な更新ステートメントを変更して、文字列の前にASCIIChr（39）＆を、文字列の後に＆ASCIIChr（39）を使用して値をカプセル化します。

'Any'を文字列として使用している場合、ステートメントは次のようになります。

ASCIIChr (39)&'Any'&ASCIIChr (39)

あるいは、データベースの動作によって、SQL文中で動的タグを引用符で囲むこともできます。

データベース定義

使用したいデータベースを選択します。［設定］ダイアログボックスの［リソース］セクションに入力したすべてのデータベースが選択できます。

DB切断

ドロップダウンリストからYesを選択すると、指定されたデータベースへのオープン状態の接続はステップの終了で切断することができます。パラレルなのデータマッパステップを使用して、特定のデータベース定義のためにこのチェックボックスが選択されると、最終ステップがその処理を完了し、接続を開放するまで切断されません。失敗の通知はログにもモニタにも送られません。

［DB切断］フィールドは、データベースとの接続を閉じます。レコードをデータベースから選択して、フローを呼び出すデータマッパステップを持つフローがある場合、レコードがまだ処理中の親データマッパーへの接続を閉じることになるため、呼び出されたフローのリニアパス内でDB切断を使用しないでください。

エラー処理フロー

送り先として［データベース］オプションを使用している場合、［エラー処理フロー］フィールドはエラーフロー機能を使用して、例外を処理させます。 をクリックするとフローリストが開きます。ここで、エラーが発生したときに実行したいフローを選択してください。エラーが正確にどこで発生したかを確認することを支援するエラーフローを設計し、選択する必要があります。［エラー処理フロー］で入力データを受け入れるフロー変数を定義することも確認してください。

［エラー処理フロー］が選択される時にエラーが発生すると、適切なエラー情報を含んだでいるフローが実行されます。

  • リストボックスの表示を戻すとすぐに、［設定］ダイアログボックスの［リソース］]セクションの［データベース］セクションで変更内容が表示されます。

  • Magic xpiの内部データベースは、選択リストには表示されません。

  • BLOBフィールドは、データベースの送り先ではサポートされていません。

  • Magicxpi 4.13.0リリースでは、データマッパーはMSSQLおよびOracleデータベースのフィールド名を大文字と小文字を区別せずに処理し、データベースが列名とテーブル名で大文字と小文字を区別するように設定されている場合にマッパーが失敗する原因となりました。 この動作は4.13.1で解決されています。フィールド名は定義されている文字列のまま識別されるようになりました。4.13バージョンでスキーマ更新を実行し、結果としてステップが作成または更新された場合、接続が失われる可能性があります。その場合、切断されたすべての接続を手動で再作成する必要があります。

  • MSSQLデータベースの列名に特殊文字が含まれている場合は、角括弧で囲み、手動でカプセル化する必要があります。 これは、データマッパーのウィザードの概要画面で実行できます。
    角括弧のカプセル化は、SQLTemplates.xmlファイルで行うこともできます。 SQLTemplates.xmlを変更することにより、データマッパーウィザードによって生成されたSQLステートメントには自動的に角括弧が付き、ユーザーはステートメントを手動で変更する必要がなくなります。


動的な送り先ステートメントの作成

送り先として［データベース］オプションを使用した場合、独自のINSERT/UPDATE/DELETEステートメントを作成することが可能になります。このステートメントは、指定された通りに動作します。Magic xpiはステートメントを解析しません。

さらに、<!?elementName?!>というタグを使用してステートメントの一部を置き換える方法で、動的に定義することができます。

ダイナミックSQL文内では、フロー変数やコンテキスト変数、グローバル変数を使用することができません。

ステートメントの各々の動的セクション(<!?elementName?!>)は、データマッパー内で1000桁の文字に置き換えられます。この桁数は、［プロパティ］ペイン内のノードの［書式］フィールドで変更することができます。

例

以下に表示されたステートメント内で、テーブル名とID値の両方が動的になります。

以下の［マッピング］画面では、テーブル名とID値がマッピング可能な値として表示されています。

実際のSQL文は、実行時に2つの要素にマッピングされた値をもとにしています。各処理は、異なるテーブルの［ID］フィールドが、異なる値によって更新されます。

  • ステートメントは、そのままデータベースに送られるため、文字型の値を使用する場合は、クオーテーション（'）で囲む必要があります。

  • コロン(：)は、実際のステートメントには使用できませんが、動的変数の値<!?elementName?!>の一部としてステートメントに追加することができます。


SQL文の作成

データベース送り元で [image] をクリックするか、送り先の［SQL文］パラメータでをクリックすると、［SQL文］ウィンドウが開きます。 ［SQL文］フィールドに入力するSQL文は、データベーススクリプトに関する基本的なルールに依存します。

データマッパー送り元はSELECT文のみサポートしています。データマッパー送り先はUPDATE、INSERT、DELETE文のみサポートしています。環境変数を使用してステートメントを動的に変換することができます。

完全なステートメントが正しいSQL文であれば、ステートメントを編集したり、様々なSQLテキストを追加することができます。Where句の全体または一部を保持するために変数は使用できませんが、代わりに環境変数を使用することができます。

SQL文を作成するためのウィザードによって使用されるテンプレートは、<Magic xpi のインストールフォルダ>\Studio\Templates\Database フォルダに SQLTemplates.xml という名前で外部のXMLファイルとして配置されています。このファイルには、一般的なテンプレートとDBMS固有のテンプレートが含まれていて、特定のDBMSのために修正することができます。Since version: 4.5

変数は、フィールドの値としてのみ使用できます。

フロー変数が入力されると、山括弧と疑問符で自動的に囲まれます（<? フロー変数名?>）。別のSQL文のテキスト(例えば Exampleや Order By)を追加することもできます。

データマッパーでSQL文を編集する時に、変更を反映するには［保存］をクリックする必要があります。

JOINを使用することで、ステートメントで複数のテーブルを使用することができます。また、複数のテーブルがウィザードで選択された場合、JOINが自動的に作成されます。

  • Count(*) のようなSQL関数を含めるには、ステートメント内でエイリアスを使用しなければなりません。

  • DB2 for IBM iデータベースに接続するためにSQL文の中で環境変数を使用することができます。

  • NC以外の分離レベルは、DB2 / 400データベースのSQLクエリ文としてサポートされていません。

データマッパーのSQL文に関する注意事項

  • すべてのデータベースタイプをサポートするため、SQL文ではANSI記号を使用してください。

  • データマッパーでは、#、*、&、%、@などの特殊文字はフィールド名として使用できません。SQL文のフィールド名として特殊文字が使用された場合、これらの文字はデータマッパーには表示されません。
    SQL文中の列名が何らかの特殊文字を含む場合、それらはマッパー画面では表示されませんが、実行時には影響ありません。

  • MSSQLデータベースの列名に特殊文字が含まれている場合は、角括弧でカプセル化する必要があります。 この設定はデータマッパーウィザードのサマリ画面で実行できます。角括弧のカプセル化は、SQLTemplates.xmlファイルで行うこともできます。 SQLTemplates.xmlを変更することにより、データマッパーウィザードによって生成されたSQLステートメントには自動的に中括弧が付き、ユーザーはステートメントを手動で変更する必要がなくなります。
    この動作はMagic xpi 4.13.1および4.13.2に適用されます。
    xpi 4.13.3以降では、全ての列名は角括弧で囲われているので、マニュアルで変更する必要はありません。

  • データマッパーでは、フィールド名にスペースを使用することはできません。

  • 文字列はシングルクオーテーション（'）で囲む必要があります。

  • 他のデータベースに接続するには、データベースのオーナを指定する必要があります。プロジェクトで使用しているMagic xpi内部データベースに接続する場合は、オーナを指定する必要はありません。

  • フィールドまたは関数にワイルドカードを使用することはできません。フィールドと関数はそれぞれ指定するか、エイリアスを作成する必要があります。

  • データマッパーのSQLウィンドウは、SQL文に追加されたフォーマットの変更を保存します。

  • SQL文をビルド時、値は式の中に格納されます。式の中の値は最高32,000文字を含めることができます。値が32,000文字より大きい場合、式の最後が無くなる旨のエラーが表示されます。しかし、Magic xpiではなくデータベース自身による制限のみでステートメントを作成する場合は、複数の式を結合することができます。

データベースに同じカラム名を持つ二つのテーブルが存在する場合、Magic xpiは二つを区別できません。この場合、Magic xpiは二つ目のカラムを無視します。これを防ぐにはSELECT文でカラム名にエイリアスを追加する必要があります。

例えば、以下のような記述を考えます。

SELECT t1.Customer,t2.customer from t1,t2

上記の代わりに、以下のように記述することができます。

SELECT t1.customer AS customer1,t2.customer AS customer2 from t1,t2

SQL文内の変数サポート

(Since version: 4.13.1)

データマッパーのSQL文は、クエリ（SELECTステートメント）およびプロシージャ（EXECステートメント）の変数をサポートします。 変数タグは、SELECT句、WHERE句など、SQL文の任意の場所に配置できます。 Studioは変数のデフォルト値を取得し、実行時に変数の現在の値が使用されます。

使用例:

  • SQL文のORDERBYセグメントを変数で定義できます。 これにより、マッパーステップで、実行時にさまざまなデータセットに基づいて柔軟に並べ替えることができます。

  • テーブル名を変数のデフォルト値として定義できます。 これにより、同様のテーブルの異なる所有者を参照できるようになります。 実行時に、共通の列を持つ2つの異なるテーブルを指定して参照することができます。

リポジトリに変数のデフォルト値が設定されていない場合、マッパーの解析により「無効なSQL文」エラーが発生します。

例えば、Date()関数がデフォルト値に使用されている場合、この関数は機能しません。

  • クエリ構造の定義に使用され、且つWHERE句には適用されていない変数は、フローの構築と生成されたコードの作成に同じ値が使用されるため、変更しないでください。

  • SQL文の一部として変数を使用するには、ステートメントがSELECTまたはEXECで始まる必要があります。

以下は、SQL文で変数を使用した例です。

SELECT [employee].first_name FROM <?F.Name1?> WHERE dbo.[employee].last_name = <?F.Name1?>

SQL文のテーブル名は、バックティック（ `）文字で囲まれます。 これにより、既存のプロジェクトのSQL文がデータベースウィザードを使用して更新された場合、下位互換性の問題が発生する可能性があります。 下位互換性を維持するには、スタジオを再度開く前に、SQLTemplates.xmlファイルでテーブル名をラップするために使用されるバッククォート文字を削除してください。

(Since version: 4.13.2)


データベースウィザード

データベースウィザードを使用すると、新規データベースを定義することができます。

［ウィザード］プロパティで [image] をクリックすることで、［データベースプロパティ］ペインからデータベースウィザードにアクセスできます。［SQL文］プロパティで [image] をクリックすることでデータベースウィザードの最後の画面にアクセスすることもできます。ここで、すでに[SQL文]プロパティに入力され値を上書きすることで、手動でSQL文を変更することができます。

ウィザードで実行する手順は、各ダイアログでどのオプションを選択するかによって決まります。以下は、ウィザードの画面に関する説明です。

［テーブル選択］ダイアログ

［カラムの選択］ダイアログ

［Where句とOrder By句］ダイアログ

［UPSERT 条件］ダイアログ

［Join文］ダイアログ

［ウィザードの結果］ダイアログ

関連トピック：

データマッパーのデータベースウィザードを使用しないで、SQL文を作成するには


テーブル選択 ダイアログ

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > 送り元と送り先のプロパティペイン > ［Database］プロパティ > データベースウィザード > ［テーブル選択］ダイアログ

［テーブル選択］ダイアログ

［テーブル選択］ダイアログは、データベースにあるテーブルのリストを表示します。

［テーブル選択］ダイアログを使用するには：

  1. ［DBオペレーションを選択］のドロップダウンリストから必要なDB処理を選択してください。このドロップダウンリストは、データベース送り先を使用する時にのみ有効です。

  2. ［有効なテーブル］フィールドで、テーブルを選択し、［追加］ボタンをクリックしてください選択されたテーブルは［選択テーブル］フィールドに移動します。テーブルを［選択テーブル］カラムから削除するには、テーブルを選択し［削除］ボタンをクリックしてください。

ソースオブジェクトでは、複数のテーブルを選択することができます。送り先オブジェクトでは、1つのテーブルのみ選択できます。

  3. ［カラム選択］ダイアログを表示するには、［次へ］をクリックしてください。

［テーブル選択］ダイアログには、以下の追加フィールドが含まれています：

名前 | 説明
フィルタ定義のみ | このチェックボックスは、データベースウィザードのテーブル選択処理で取得されるオーナとテーブルを選択します。特定のオーナを選択し、そのオーナの全てのテーブルを参照したり、その一部を参照したりすることができます。また、［全て］を選択して全てのオーナから全てのテーブルを参照し、使用するテーブルを選択することもできます。大量のテーブルがある場合、この方法は時間がかかる場合があります。
オーナによる有効なリスト | このドロップダウンリストは、特定のオーナでリストをフィルタリングしたり、全てのテーブルを表示したりできます。リストにはシステムテーブルも含まれます。［全て］を選択すると全ての利用可能なテーブルが表示されます。


列選択 ダイアログ

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > 送り元と送り先のプロパティペイン > ［Database］プロパティ > データベースウィザード > ［列選択］ダイアログ

［列選択］ダイアログ

［列選択］ダイアログは、データベースカラムのリストを表示します。データのマップを作成するために使用する場合に、カラムを選択してください。カラムは、マッピングを行っているデータベースが送り元またはデータベースのどちらかによって異なる表示になります。

このダイアログを使用するには、以下の手順に従ってください。

  1. 画面の左側の［使用可能列］フィールドからデータベースカラムを選択してください。複数のカラムを追加するには、データベース名を選択してください。

  2. ［追加］]ボタンをクリックして、選択されたカラムを［選択済列］フィールドに移動してください。カラムが［使用可能列］フィールド内のデータベース名でダブルクリックすることで、［選択済列］フィールドに移動することもできます。

  3. ［選択済列］フィールドからカラムを削除する場合は、カラムを選択して［削除］ボタンをクリックしてください。［選択済列］フィールドでカラムをダブルクリックすることで、［使用可能列］フィールドに戻すこともできます。

  4. 複数のカラムを削除するには、テーブル名に移動して［削除］をクリックしてください。

  • カラムをテーブルに追加し、テーブルがフィルタテーブルまたは開始オーナリストの範囲内にない場合(これがそうならば、ウィザード内のテーブルの最初の画面は、［データベース定義未サポートテーブル］画面になります）は、カラムは再度取得することができず、テーブルが再度選択されない限り、新しいカラムは表示されません。

  • カラム名に空白が含まれている場合、名前は、ウィザードの最後の画面で角括弧によって囲む必要があります。ここで、SQL文が表示されます。

  • 異なるテーブルにあって、同じ名前を持つ2つのカラムがある場合は、送り先にマッピングできません。このような場合、エイリアスをテーブル名の1つに追加する必要があります。

  5. カラムを選択したら、［次へ］をクリックすると［WHERE句］ダイアログが表示されます。

［カラム選択］ダイアログには、以下の追加フィールドが含まれています。

名前 | 説明
表示フィールド順序 | ウィザードの次画面は、データベースフィールドのリストを表示します。［表示フィールド順序］ドロップダウンリストは、フィールドが表示される順序を選択することができます。データベース順、またはABC順のどちらかを選択することができます。


Where句とOrder By句 ダイアログ

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > 送り元と送り先のプロパティペイン > ［Database］プロパティ > データベースウィザード > ［Where句とOrder By句］ダイアログ

［Where句とOrder By句］ダイアログ

［Where句とOrder By句］ダイアログを使用して、SELECT文でデータベースに送られるWhere句を入力します。Where句は取り出されるレコードの数を絞ります。

［Where句とOrder By句］ダイアログ には以下のフィールドが含まれています。

名前

説明

使用可能列

選択したテーブル内の全てのカラムのリスト。それを［Where句テキスト］フィールドに追加するために、カラムをダブルクリックしてください。

変数

使用できる変数のリスト。それを［Where句テキスト］フィールドに追加するために、カラムをダブルクリックしてください。

Where句テキスト

［使用可能カラム］と、［変数］の各フィールド(上記)で選択された項目に従って生成されたWhere句を表示します。このテキストは、1万文字を越えることはできません。

ORDER BY

ここには、SELECT文でデータベースに送られるOrder By句を定義します。Order By句は出力結果をどのようにソートするかを定義できます。

［構成］をクリックすると、［ORDER BY セグメント選択］リストが開きます。このリストには、選択テーブルに付属しているすべての有効なカラムが含まれています。必要なチェックボックスを選択し、［OK］をクリックしてください。

これらのフィールドがリストに表示される順番は、最終データ表示を修正するのにとても重要です。このため、Magic xpiは［Order By］セクション内でフィールドを移動できるようにUpとDownのボタンを提供しています。

［Where句とOrder By句］ダイアログを使用するには：

  1. 必要な［使用可能列］、［変数］をダブルクリックして、Where句を作成します。ここで選択した項目は、選択した順番でWhere句テキストに入力されます。

  2. ［Order By］セクションで、データベースの順序を決定するために使用するカラムを選択します。

  3. 情報を入力したら［次へ］をクリックします。以下のどれかが実行されます。

  4. ［テーブル選択］ダイアログで1つのテーブルを選択すると、［サマリ］ダイアログが表示します。

  5. ［テーブル選択］ダイアログで複数のテーブルを選択すると、［Join文］ダイアログが表示します。

Where句を使用する場合、以下に注意事項があります。

  • UpdateやDelete 処理の時、選択した文字変数の両側にシングルクオーテーションを追加する必要があります。

  • マッピングで指定できる変数で動的変数を指定するには、 database_field=<!?variablename?!>と記述します。例： OrderID=<!?MyOrderNumber?!>。この場合、データマッパーの送り先にWhere句の一部としてMyOrderNumber変数が表示されます。

  • 単純なWhere句のみサポートされています（ネスト等は使用できません）。

関連トピック：

動的なWHERE句を使用するには


UPSERT 条件ダイアログ

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > 送り元と送り先のプロパティペイン > ［Database］プロパティ > データベースウィザード > ［UPSERT 条件］ダイアログ

［UPSERT 条件］ダイアログ

UPSERT処理で使用するためにデータベースに送信される UPSERT/MERGEの条件を入力するには、［UPSERT 条件］ダイアログを使用します。UPSERT/MERGEステートメントを使用すると、データベースにレコードが存在する場合はレコードを更新でき、そうでない場合はレコードを挿入することができます。

UPSERT処理でサポートされるデータベースのリストについては、データベースリソースのセクションを参照してください。データベースがUPSERT操作をサポートしていない場合、データマッパーツリーに適切なエラーが表示されます。

［UPSERT条件］ダイアログには、以下のフィールドが含まれています。

名前 | 説明
使用可能列 | 選択したテーブル内の全てのカラムのリスト。それを［UPSERT条件］テキストフィールドに追加するには、カラムをダブルクリックしてください。
変数 | 使用できる変数のリスト。それを［UPSERT条件］テキストフィールドに追加するために、変数をダブルクリックしてください。
UPSERTの条件 | [使用可能列]および[変数]フィールド（上記）で選択した項目に従ってUPSERT条件を表示します。このテキストは10000文字を超えてはいけません。 ウィザードは、[リソース]で選択したデータベースの種類に従って、[概要]画面に実際のUPSERT/MERGEステートメントを生成します。

UPSERT文は下記のファイルで提供されます 'Studio\Templates\Database\SQLTemplates.xml'.

［UPSERT条件］ダイアログを使用するには：

  1. 必要な［使用可能列］、［変数］をダブルクリックして、UPSERTステートメントを作成します。ここで選択した項目は、選択した順番で［UPSERT条件］テキストフィールドに入力されます。

  2. 情報を入力したら［次へ］をクリックします。これで[概要]画面が表示されます。

  3. ステートメントの結合画面は適用されません。 UPSERTオペレーション途中の場合はスキップされます。

UPSERT条件を使用する場合、以下に注意事項があります。

  • UPSERT処理では、、選択した文字変数の両側にシングルクオーテーションを追加する必要があります。

  • マッピングで指定できる変数で動的変数を指定するには、 database_field=<!?variablename?!>と記述します。例： OrderID=<!?MyOrderNumber?!>。この場合、データマッパーの送り先にUPSERT複合要素の一部としてMyOrderNumber変数が表示されます。

  • ODBCまたはデータベースドライバがMERGE/UPSERTステートメントをサポートしていない場合は、［概要］ステップでMERGEステートメントを提供しません。代わりにUpdateステートメントを表示します。

  • リソースがOracleまたはMicrosoft-SQLサーバ以外のDBMSタイプを持つシナリオで、UPSERTプロパティをYesに設定すると、適切なエラーがデータマッパーツリーに表示されます。この時点では、ウィザードはUPSERTステートメントを生成しません。

  • UPSERT条件で使用されているカラムを更新することは推奨できません。SQLステートメントからこれらのカラムを手動で削除することができます。

  • MSSQLでは、ユーザはデータベーススキーマのUPDATE部分のUPSERT条件に含まれるフィールドを更新できますが、Oracleデータベースではサポートされておらず、実行時にエラーが発生します。

各データベースのUPSERTの挙動

データベースにはさまざまな機能があり、UPSERTオペレーションの実装も異なります。

一部のデータベースでは、リレーションを使用してMergeステートメントを使用し、既存の行が使用されているかどうかを識別できます。一方、他のデータベースでは、挿入中に複製イベントを処理し、代わりに更新操作に移動します。

データベースの各特性によって、Magic xpiはデータベースごとにUPSERT操作を異なる方法で処理します。 したがって、ウィザードは以下のように、データベースごとに異なる動作をします。:

PostgreSQL

PostgreSQLデータベースには次の制限があります:

  • Boolean条件、動的な値と列はサポートされていません。

  • UPSERT条件では物理カラムのみが許可されます。

例)

  • public.order.orderid

  • public.order.orderid,public.order.ordername

MySQL

UPSERT条件画面は、MySQLデータベースでは使用できません。MySQLデータベースは、テーブルで定義された一意/主キーに基づいて、レコードの複製を内部的に処理します。

DB2及びDB2/400

他のデータベースと同様に、DB2及びDB2 / 400データベースの場合、UPSERTおよびMERGEコマンドはさまざまな組み合わせを使用して構築します。ウィザードでは、ユーザーは基本的なUPSERT操作のみを構成できます。

一括操作などの他の操作は、動的SQLプロパティの値を[はい]に設定するか、ウィザードの概要画面でステートメントを変更することによって構成できます。

以下に示すように、これらのデータベースのUPSERT条件は2つの異なる方法で定義でき、どちらもMagic xpiでサポートされています。

  • 論理名は、UPSERTクエリの「USING」セクションで使用できます。

  • USINGとON条件で生成されたUPSERTステートメントは、ソーステーブルとターゲットテーブルが同じである場合、1レコードとして評価される必要があります。 複数レコードを返す場合、「重複するキー値が指定されました」というエラーが発生します。

(src.CLIENT_NAME,src.CLEINT_VAT) = (xxxx,'demo')

または

src.CLIENT_NAME='xxxx' and src.CLEINT_VAT='demo'

これらの両方の組み合わせのMergeステートメントは次のようになります。:

MERGE INTO SQLMERGE.MERGE_CLIENT AS tgt USING (SELECT CLIENT_ID,CLIENT_NAME,CLEINT_VAT,CLIENT_BILL_ADDRESS,CLIENT_SHIP_ADDRESS FROM SQLMERGE.MERGE_CLIENT)

AS srcON ((src.CLIENT_NAME,src.CLEINT_VAT) = ('xxxx','demo'))

WHEN MATCHED THEN UPDATE SET CLIENT_BILL_ADDRESS=1991,CLIENT_SHIP_ADDRESS=(src.CLIENT_SHIP_ADDRESS+10)

WHEN NOT MATCHED THEN INSERT (CLIENT_ID,CLIENT_NAME,CLEINT_VAT,CLIENT_BILL_ADDRESS,CLIENT_SHIP_ADDRESS) VALUES ((src.CLIENT_ID+30),'xxxx','demo',66,777)

または

MERGE INTO SQLMERGE.MERGE_CLIENT AS tgt USING (SELECT CLIENT_ID,CLIENT_NAME,CLEINT_VAT,CLIENT_BILL_ADDRESS,CLIENT_SHIP_ADDRESS FROM SQLMERGE.MERGE_CLIENT)

AS srcON ((src.CLIENT_NAME= 'xxxx' AND src.CLEINT_VAT='demo'))

WHEN MATCHED THEN UPDATE SET CLIENT_BILL_ADDRESS=1991,CLIENT_SHIP_ADDRESS=(src.CLIENT_SHIP_ADDRESS+10)

WHEN NOT MATCHED THEN INSERT (CLIENT_ID,CLIENT_NAME,CLEINT_VAT,CLIENT_BILL_ADDRESS,CLIENT_SHIP_ADDRESS) VALUES ((src.CLIENT_ID+30),'xxxx','demo',66,777)

Since version:

4.9


Join文 ダイアログ

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > 送り元と送り先のプロパティペイン > ［Database］プロパティ > データベースウィザード > ［Join文］ダイアログ

［Join文］ダイアログ

［Join文］ダイアログには、このオブジェクトに対して選択されているすべてのテーブル間に存在する接続ごとのレコードが表示されます。Join文を使用すると、異なるテーブル間のデータを合致させる方法を定義することにより、各テーブルのデータ間の関係を指定することができます。

例えば、Order, OrderLine, および Producと いう各テーブルを選択すると、2つのレコードが作成されます。最初のレコードは、AとBの関係を指定し、2番目のレコードはBとCの関係を指定します。この場合、Join文はそれぞれOrder.OrderNumber = OrderLine.OrderNumbeとOrderLine.ProductCode = Product.ProductCodeになります。

  • （JOINの）レコード間の関係はANDです。

  • JOINは左から右に解釈されます。

  • カラムをサーバ内の接続されたデータベースから削除すると、Joinテーブル全体が［Join文］ダイアログから削除されます。Since version: 4.5

  • データベースウィザードのJOIN文はSQL のJOIN文とは等しくありません。

片方のテーブルでカラムを選択したら、もう一方の側の同一テーブルでカラムを選択することはできません。つまり、どちらの側も同一テーブルのカラムだけを含み、それぞれがどのテーブルに所属するかはユーザが決定することができます。

各テーブルのJoinレコードに対して、Join済みカラムのレコードが少なくとも1つあることを確認してください。次の処理に進む前に、確認する必要があります。

［Join文］ダイアログを使用するには：

  1. ［追加］をクリックして、1行追加します。

  2. ［左側 Join列］フィールドで、 [image] をクリックすると［左側 Join列］リストが開きます。ここでは、必要な 左側 Join列カラムを選択します。

  3. ［右側 Join列］フィールドで、 [image] をクリックすると［右側 Join列］リストが開きます。ここでは、必要な 右側 Joinnカラムを選択します。

  4. 必要であれば、［追加］をクリックしてカラムを追加してください。

Join情報を選択しだら、［ウィザードの結果］ダイアログを表示するために［次へ］をクリックしてください。


サマリ ダイアログ

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > 送り元と送り先のプロパティペイン > ［Database］プロパティ > データベースウィザード > ［サマリ］ダイアログ

［サマリ］ダイアログ

［サマリ］ダイアログでは、作成したSQL文を表示して編集することができます。ただし、Where句はマッピングの間に決定されるので、ここに表示されるステートメントはWhere句は含まれません。

プロパティ

説明

SQL文

このフィールドでは、ウィザードによって作成されたSQL文を編集できます。現在のオブジェクトが送り元オブジェクトの場合は、Select文だけが入力できます。現在のオブジェクトが送り先オブジェクトの場合は、Update、Insert、およびDeleteの各ステートメントだけが入力できます。

SQL文を編集して、フロー変数を追加することが可能です。入力したフロー変数は、山括弧と疑問符で自動的に囲まれます（<? フロー変数名 ?>）。ExampleやOrder Byなどのその他の有効なSQL文を追加することもできます。

JOINをテーブル間に指定すると、複数のテーブルをステートメントで使用することができます。ウィザードを通じて複数のテーブルが選択されている場合は、ウィザードの選択内容に基づいて、JOINが自動的に作成されます。

データマッパーで使用できるSQL文の種類の詳細については、「SQL文の作成」を参照してください。

データベースに環境変数を使用した場合、ウィザードはそれをSQL文で使用します。

変換済SQL文

［変換］チェックボックスを選択するとに、変換された環境変数によってデータベースに送られる完全なSQL文が表示されます。


フラットファイル プロパティ

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > 送り元と送り先のプロパティペイン > ［Flat File］プロパティ

［Flat File］プロパティ

データマッパーでは、書式化されていないプレーンなテキストファイル（フラットファイル）のデータを使用して、送り先にそれらのデータをマッピングできます。これらのデータは、任意の送り先タイプに対して使用できます。

フラットファイルのデータを使用すると、データベースに変更を加えたり、パラメータを渡してフローを呼び出したり、XMLまたはHTMLファイルを作成することができます。

[フラットファイル]プロパティにより、フラットファイルのデータを分割する方法を定義して、データマッパーが正しいデータをマップできるようにすることが可能です。フラットファイルを送り先として選択すると、フラットファイルを作成できます。この場合、作成するフラットファイルでデータをどのように配置するかを定義する必要があります。

位置と区切りでデータを配置することができます。すでに、区切り文字または位置取りによって定義されたサンプルファイルを選択することができます。

[プロパティ]ペインには、以下のプロパティが含まれています。

プロパティ

説明

名

スキーマの名前を入力してください。

説明

スキーマの説明を入力してください。

送り元/送り先のタイプ

送り元情報がどこに位置しているか、または送り先ファイルがどこに作成されるか選択してください。

  • File …… ファイルを選択すると、［ファイルパス］プロパティ(以下)で、送り元データや成するファイルの送り先のパスとフラットファイルの名前を追加することが可能です。 をクリックして式エディタを開きます。式エディタを使用してファイルを位置付ける式または条件を作成します。これによって、ファイルの位置を動的に定義することができます。スタティックな位置を使用する場合は、フィールドにファイルをフルパスで入力するか、ファイルのフルパスを保持する(フロー、コンテキスト、グローバル、またはビジネスプロセス)変数を作成し、式エディタから変数を選択してください。

  • Variable …… をクリックして、使用したいデータをXMLファイルに保持するための変数を選択します。BLOBタイプの変数だけが有効です。XMLデータはBLOBに含めなければなりません。

データ送り元/送り先のエンコーディング

使用したいフラットファイルのエンコーディング。ドロップダウンリストからの以下のどれかを選択します。

  • ANSI (デフォルト)

  • Unicode

  • UTF-8

  • Custom

コードページ

使用したいコードページの値を入力します。[データ送り元/送り先のエンコーディング]パラメーターで[Custom]オプションが選択されている場合は、コードページを選択する必要があります。デフォルトのコードページは、ifs.iniファイルにのプロパティ（[MAGIC_IBOLT] DefaultCustomCodePage）として設定されています。値が指定されていない場合、デフォルトのコード・ページ（ibm-930_P120-1999）となります。

サポートされるコードページ一覧

Since version: 4.9

ファイルパス

［送り元/送り先のタイプ］プロパティ(上記)で File を選択した場合、 [image] をクリックして、ファイルを位置付ける式または条件を作成するための式エディタを使用します。

変数

［送り元/送り先のタイプ］プロパティ(上記)で Variable を選択した場合、 [image] をクリックして変数リストが開きます。ここで変数を選択して［選択］をクリックしてください。

タイプ

フラットファイルのタイプが表示される読み込み専用フィールドです。ここでは、［フラットファイル］ダイアログボックスで区切り文字か、固定長かが定義されます。

列区切り文字

［フラットファイル］ダイアログボックスの［列区切り文字］パラメータで選択された値を表示する読み込み専用フィールド。

レコード区切り文字

［フラットファイル］ダイアログボックスの［レコード区切り文字］パラメータで選択された値を表示する読み込み専用フィールド。

区切り文字をデータに含め

クオーテーションマーク(")で囲まれた文字（カンマやスペース）をどのように扱うかを定義できます。デフォルトは、Noです。この場合、区切り文字として扱われ、その文字以降の部分は新しいフィールドとして扱われます。

例: "new york city, new york", chicago, illinois - は以下の４つのフィールドになります。

new york city

new york

chicago

illinois

この特性がチェックされると、Magic xpiはダブルクオーテーション(")の組み合わせを検索します。ダブルクオーテーションの中にある区切り文字は、区切り文字として扱われなくなります。

例："new york city, new york", chicago, illinois - は３つのフィールドになります。

new york city, new york

chicago

illinois

送り先に使用されているフラットファイルでは、出力テキストは区切り文字もデータの一部としておくために常にシングルアポストロフィ(')で囲まれます。

詳細

フラットファイルスキーマの詳細とレイアウトです。フラットファイルのレイアウトについての情報を追加するために、 [image] をクリックして、［フラットファイル］ダイアログボックスを開きます。Since version: 4.5

［フラットファイル］ダイアログボックスには以下のプロパティが含まれています。

プロパティ

説明

ファイルの例

サンプルファイルは、現在のマッピング処理で使用されるフラットファイルのように、同じ要素を持ち同じ書式のフラットファイルです。データマッパーは、フラットファイルでフラットファイルデータをどのように配置するかを定義するためにサンプルファイル内で情報を使用します。

区切り文字または位置取りによってすでに定義されているサンプルファイルを選択することができます。フラットファイルからマップにデータを定義するためにサンプルファイルを使用したい場合、 [image] をクリックしてサンプルとして使用するフラットファイルを例として選択してください。

サンプルファイルを選択したら［再表示］をクリックします。テーブルのデータがサンプルファイルに定義された位置取りまたは区切り文字に従って自動的に入力されます。

いったんファイルを設定したら、必要に応じて後で変更することができます。

タイプ

データをどのように配置するかを定義します。ドロップダウンリストから以下のどれかを1つを選択してください：

  • 区切 …… 区切り文字は、通常はカンマ（,）を入力します。データマッパーは、定義された区切り文字が出現するたびに新しいデータのまとまりを認識します。レコードも使用するには、レコード区切り文字を使用することができます。上記の例では、通常の区切り文字をカンマ（,）として定義し、レコード区切り文字をセミコロン（;）として定義することができます。.

1.,new york city,new york;2.,chicago,illinois;3.,Los Angeles,California;

各要素をデータのまとまりとして分割し、特定のデータグループをレコードとして分割できます。例えば、番号、都市名、および州名は別々のデータのまとまりですが、番号、都市名、および州名は総体的にはレコードとして認識されます。

  • ポジション …… この方法でデータを並べる場合は、レコードごとにカウントする位置の数を定義する必要があります。この場合、カウントを開始する場所とカウントするスペースの数を入力します。例えば、3番目のスペースで始まり、長さが13スペースであるデータをフラットファイルから作成することができます。

1.new york city new york 2. chicago illinois 3. Los Angeles California

この場合、データマッパーは、New Yorkのnが3番目のスペースにあり、New York Cityの長さが13スペースなので、New York Cityをデータとして読み取ります。フラットファイルでは、マッピングするデータの位置をすべて定義する必要があります。マップが不要なデータの場合は、その位置を定義する必要はありません。

列区切文字

データの区切り文字（,/;）を入力します。大文字でSPACEまたはTABと入力するとスペースやタブを区切り文字として使用できます。

レコード区切り文字

フラットファイルデータでレコードを示す区切り文字を入力します。

フラットファイルのレイアウトについての情報をこのダイアログボックスに追加することができます。［追加］をクリックして、新しいフィールドをテーブルに追加します。

名

フィールド名を入力してください。名前は最高260文字まで含めることができます。ドット(.)または括弧を含めることはできません。

データタイプ

文字、数値、日付、または時刻を選択してください。

フォーマット

［データタイプ］の書式を入力します。例えば、15と入力して［データタイプ］が文字の場合は、15文字の英数字パラメータであることを意味します。［データタイプ］が日付で、［書式］がYY/MM/DDの場合、日付は2桁ごとの年/月/日の書式で表されます（2004年5月16日の場合は04/05/16）。

詳細な説明は、書式フォーマットを参照してください。

From

位置取りの開始位置を、0より大きい数字（例えば、1）で入力します。このフィールドは位置取りのフラットファイルの場合のみ有効になります。

長さ

フィールド長を示す数値を入力します（文字 30は、［データタイプ］が文字であり、長さが30文字であることを意味します）。

  • フィールドを削除するには、テーブル内のフィールドを選択し［削除］をクリックします。

  • リスト内でフィールドを上下させるには、移動したいフィールドを含む行を選択し、リスト右側の矢印をクリックして選択した行をリスト内で上下に動かします。

  • ［リフレッシュ］をクリックすると、新しい区切り文字とサンプルファイルに従い、サンプルファイルが再読み込まれ、既存のフィールドを置き換えます。これはスキーマが文字区切りのフラットファイルでサンプルファイルがある場合に利用できます。

  • ［保存］をクリックすると、フラットファイルのプロパティを.txtとして保存できます。

  • ［読込］をクリックすると、以前に作成し、.txt で保存されたフラットファイルのプロパティを読み込みます。

  • [OK］をクリックすると、新しいエントリを保存しダイアログボックスを閉じます。

  • ［キャンセル］をクリックすると、新しいエントリは保存されずにダイアログボックスを閉じます。


XML プロパティ

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > 送り元と送り先のプロパティペイン > ［XML］プロパティ

［XML］プロパティ

XMLを送り元として選択すると、XMLファイルから送り先へデータをマッピングすることになります。XMLを送り先に選択するとXMLファイルを作成します。XMLの［プロパティ］ペインを使用してXMLデータをマッピングするために以下の情報を入力します。

  • XMLスキーマ定義（XSD）ファイルを割り当てます。XSDファイルは、送り元または送り先のXMLファイルで使用されるタグとスキーマを定義します。

  • 送り元で使用するXMLファイルまたは作成対象とするXMLファイルの場所を指定します。

  • XMLのMixed属性 (mixed="true") は、現在サポートしていません。

  • デフォルトでは、送り先のXMLはDOMに読み込まれません。送り先が、常にDOMに読み込ませたい場合、Magic xpiスタジオを一旦終了し、XMLDomMapperという特殊フラグをNに設定してから、スタジオを再起動し、プロジェクトを再構築する必要があります。しかし、［データの追加］チェックボックスがチェックされると、送り先のXMLは常にDOMに読み込まれます。

  • Magic xpiは、データマッパーの送り先XML内でxs：anyワイルドカードをサポートします。データマッパーは、プレースホルダによってこのワイルドカードを表しています。これは、渡されたどのような内容とも置き換えることができます。このワイルドカードは実際の要素ではありません。有効な内容を確実にこのプレースホールダに渡さなければなりません。Magic xpiは、各レベルに対して1つの xs:any要素だけをサポートします。

  • xs:any 複合、または単一の要素は送り元値としてマッピングに使用することはできません。xs:any 要素が送り元で使用される時、スキーマは、xs:any 要素の代わりに予期されている構造を説明するように修正する必要があります。

  • .Floatとdouble XMLデータ型は、次のような指数としてオプションのEまたはeを含んでいる語彙表示を処理することができます。例：1267.43233E12。しかし、数値型のデータには18桁の上限があります。

[プロパティ]ペインには、以下のプロパティが含まれています：

プロパティ

説明

名

スキーマの名前を入力してください。名前は最高256文字を含めることができます。

説明

スキーマのを説明に入力してください。

XSDファイル

ここには、XMLスキーマのファイル名を入力します。XSDファイルの正しいパスとファイル名を指定する必要があります。ここで環境変数を使用すると運用時に便利です。

使用するXSDファイルの場所を参照するには、 [image] をクリックします。 XSDファイルを設定して送り元を送り先にマッピングしたら、これを変更することはできません。変更しようとすると、変更できない旨のメッセージが表示されます。［XSDサブタイプ］で［XMLポジショニングフォワード］が選択されてた場合、このフィールドが更新されは読み込み専用になります。

XMLルート

データのマップ元またはマップ先とするXMLルートを選択します。選択したXSDファイルに複数のルート要素が含まれる場合にのみ使用できます。Magic xpiは自動的に、見つけ出す最初のルート要素を選択します。［XSDサブタイプ］で［XMLポジショニングフォワード］が選択された場合、呼び出しれたフローにマップされた複合要素へのフルXMLパスを表示します。

XSDサブタイプ

送り元スキーマのサブタイプ。ドロップダウンリストから以下のどれかを1つを選択してください：

  • File

  • IFC Model

  • XML Position Fowarding (送り元のみ)

IFCモデル

このプロパティは、［XSDサブタイプ］で［IFC Model］(上記)が選択された時だけ有効です。これは、使用する事前に定義されたXSDをXMLデータとして選択させます。これは、スタティックなXMLインタフェースを持つコンポーネントのためにXMLスキーマ定義(XSD)を使用する簡単な方法を提供します。 をクリックして、コンポーネントリストを開き、必要とするコンポーネントを選択してください。送り先としてこのサブタイプを使用する時に、スタティックなXMLインタフェースを持つ任意のコンポーネントを設定するためにパラメータをXMLファイルに渡すことができます。

デフォルトでは、送り先のXMLはDOMに読み込まれません。送り先が、常にDOMに読み込ませたい場合、Magic xpiスタジオを一旦終了し、XMLDomMapperという特殊フラグをNに設定してから、スタジオを再起動し、プロジェクトを再構築する必要があります。しかし、［データの追加］プロパティがYesに設定されると、送り先のXMLは常にDOMに読み込まれます。

XML位置転送 (送り元のみ)

［XSDサブタイプ］(上記)が［XML Position Fowarding］に設定されているときだけ、このプロパティは有効です。フローを呼び出すことで保存された開始位置から、XMLソースデータがマッピングを開始することを可能にします。これは、フローが他から呼び出される場合に有効です。

をクリックして、［スキーマリスト］ダイアログボックスを開きます。ここでは、現在のデータマッパー(設定されているものの一つ)を呼び出す全てのデータマッパステップのリストを表示します。ここで、呼び出すデータマッパーとして必要なデータマッパステップを選択しでください。

詳細は、ここをクリックしてください。

送り元/送り先のタイプ

送り元情報がどこに位置しているか、または送り先ファイルをどこに作成するかを選択してください。

  • File …… ファイルが選択されると、［ファイルパス］プロパティ(以下)は、ソースデータを含むXMLファイルと作成する送り先の名前と位置を追加することができます。をクリックして式エディタを開きます。ファイルを位置付ける式または条件を作成するために、式エディタを使用してください。ここでは、ファイルの動的な位置を定義することができます。スタティックな位置を使用したい場合は、フィールドにファイルのフルパスを入力するか、ファイルのフルパスを保持する(フロー、コンテキストまたはグローバル)変数を作成し、式エディタから変数を選択してください。.

  • Variable …… 使用したいデータのXMLファイルを含む変数を選択してください。BLOBタイプの変数のみ有効です。XMLデータはBLOBに含まれていなければなりません。

ファイルパス

［送り元/送り先のタイプ］プロパティ(上記)で File を選択した場合、 [image] をクリックしてファイルを位置付ける式または条件を作成する式エディタを開きます。

変数

［送り元/送り先のタイプ］プロパティ(上記)で Variable を選択した場合、を [image] クリックして変数リストを開きます。ここで変数を選択したら［選択］をクリックします。

データ追加
(送り先のみ)

新しいマッピングを既存のXMLファイルを持つワークに追加するために、ドロップダウンリストから以下のどれかをつを選択してください：

  • No

  • Yes

［追加データ］チェックボックスを選択する時に、少なくとも1つの複合ノードをマッピングする必要があります。

詳細は、データルールの追加 を参照してください。

XML検証

実行時にデータマッパーはそれぞれのスキーマに照らし合わせて送り元と送り先のXMLを検証し、妥当性エラーと警告が含まれたXML出力を出力します。検証を行ないたいかどうかは、ドロップダウンリストから以下のどれかを選択してください：

  • No

  • Yes

XML検証の出力は C.sys.ErrorInfo システム変数の中で有効で、C.sys.ErrorDescription変数には対応するソース、送り先の詳細が含まれています。Yesが選択された場合、に設定したXSDファイルが実行中にそれを定義した位置にあることを確認してください。

［XSDサブタイプ］で［XML Position Fowarding］が選択された場合、このフィールドは呼びだすステップ検証の設定が表示されます。

送り元XMLファイルに対してXML検証が開始されます。XMLファイルが検証されてたらマッピングが実行されます。検証が失敗すると、マッピングは中止します。

送り先XMLファイルに対しては、データマッパーはファイルを作成し、それから検証が開始されます。検証が失敗すると、エラーが表示されます。しかし、XMLファイルは削除されません。

再帰の深さ

このプロパティは再帰インスタンスの最大数を設定します。

インスタンスの中には特定の構造が自身の中で繰り返されている、再帰的なものがあります。不明確なループを回避するために、Magic xpiは、参照する全体の階層を知る必要があります。このプロパティは、選択されたXMLファイルの構造が何回繰り返されるかを指定します。

例えば、要素Aは子要素Bを持っていて、子要素Bは、要素A(親)を参照する子要素を持っています。これは、同じ情報が繰り返される人員または顧客リストの場合に役立ちます。

再帰がない場合は、1を入力してください。

このプロパティは、再帰的な要素にのみ関連しています。

データフォーマット

をクリックして［デフォルトデータフォーマット］ダイアログボックスを開きます。ここで特定データタイプが指定されるときにMagic xpiに使用させたいデフォルトを定義することができます。

ストリーミングパーサ（送り元のみ）

ストリーミングXMLパーザは、データマッパーが大きなXML文書を処理することを可能にします。ドロップダウンリストから以下のどれかを1つを選択してください：

  • No

  • Yes

ストリーミングパーサには、以下の制限があります：

  • データ送り元タイプは、ファイルのみです。［送り元タイプ］プロパティ（上記)でBLOB変数が選択された場合、このプロパティは無効になります。

  • XML検証を実行することはできません。［XML検証］プロパティ（上記)がYesに設定された場合、このプロパティは無効になります。

  • シングルソースの複合マッピングのみが利用できます。

  • マップされた複合要素の下にある要素の値は、使用できません。この規制は、マッピングと式にあてはまります。

  • シングルインスタンスのフィルタは使用できません。

  • ノードの複製はできません。

  • ［XSDサブタイプ］(上記)で［XMLポジショニングフォワード］が選択されると、このプロパティは無効になります。

常にノードを作成(送り先のみ)

デフォルトでは、Magic xpiは結果XMLファイルにマッピングされた送り先ノードを作成します。

マッピングされた送り先ノードが作成されない場合は、1つのシナリオがあります。［常にノードを作成］がまた選択されず、マッピングされた送り元ノードが以下のどれかの場合に発生します：

  • 空の値

  • NULL値（送り先は、NULLをサポートしません）

動作を無効にするために、「計算値」を使用することができます。

デフォルトでは、このプロパティが選択されています。

文字タイプのノードだけがこのプロパティに影響します。

参照： NullifyXMLSourceNonExistentTagValue

XMLエンコーディング
(送り先のみ)

送り先XMLファイルで使用される言語エンコーディング（言語と文字セット）を選択します。同じデータマッパーで異なる言語エンコーディングを持った複数の送り先を作成することができます。サポートされている言語を見るには、こちら をクリックしてください。また、［プロジェクトプロパティ］ダイアログの［プロジェクトデータエンコーディング］プロパティも参照してください。


XMLポジショニングフォワード

XMLポジショニングフォワード機能は、XMLソースとフロー呼出送り先でのみ使用できます。これは、追加処理のために現在処理された複合物を呼び出されたフローに渡すことができます。XMLポジショニングフォワード機能が使用されている場合、マッピングされた複合要素は呼び出されたフローのルートとして見なされます。

これは、現在の親の複合物の繰り返しに対して、すべての複合子要素にアクセスできるようにするためです。現在渡されている親の直接の非複合子は、呼び出されたフロー内でアクセスされるべきではないことに注意してください。マップされた親の複合の子だけが呼び出されたフローでアクセスされるべきです。直接の子が呼び出されたフローでアクセス可能になるようにしたい場合は、それらを呼び出したフロースキーマの変数として渡します。

まとめると、呼び出されたフローに渡される親複合物については、その複合物の子も親複合物の反復ごとに使用可能になります。

親の直接の非複合子をマッピングすると、意図した結果が得られます。そのたびに、親コンテキストのすべての出現箇所が呼び出されたフロー内で処理されるためです。

次の例では、xmlソースにルート要素としてRegionsが含まれ、その中に複数回出現するRegion要素があります。各Regionには、その内部に複数のCompany要素があります。別のフローでそのRegionのすべてのCompany複合要素にアクセスするには、各Regionで処理する必要があります。

このために、まずCallFow Flow-2にRegions / Regionをマッピングする必要があります。そのため、各Regionに対してFlow-2が呼び出されます。Flow-2では、現在のRegionにCompany複合物を取ります。Flow2でアクセス可能にするためにRegionのName要素が必要な場合は、Name要素をflowという変数に渡す必要があります（たとえばC.UserString）。違いに注意してください。ここで、Name要素はCall Flowスキーマの変数にマッピングされていますが、Company複合の場合は、XMLソースからFlow-2へのマッピングは不要です。現在の地域ではFlow-2で自動的に利用可能になります。

上記のように、Flow-2ではRegion / Nameにアクセスしてはいけません。その代わりにC.UserStringはそれが呼び出し側フローからのRegion / Nameを含むので使用されるべきです。

これは、バージョン4.9以降の動作の変更です。

XMLポジショニングフォワード機能を使用するには：

  1. 送り元の［XML］プロパティを呼び出されたフローで定義した場合、［XSDサブタイプ］プロパティのドロップダウンリストから［XMLポジショニングフォワード］を選択してください。次に、［XMLポジショニングフォワード］プロパティの隣の [image] をクリックしてください。

  2. スキーマリストが開きます。ここには、現在のデータマッパーを呼び出している全てのデータマッパステップのリストが表示されます。これらのステップの一つを呼出データマッパーとして選択します。

必要な呼出しデータマッパーを選択した場合、呼び出す［データマッパー］プロパティに基づいて、以下のフィールドは［XML送り元プロパティ］ダイアログボックスで更新されます：

  • XSDファイル …… 読み込み専用。呼び出しフローのXSDパスを表示します。

  • データソース …… 読み込み専用。呼び出しマッパのデータソースを表示します。

  • XMLルート …… 読み込み専用。呼び出されたフローにマップされた複合要素までのXMLのフルパスを表示します。

  • 再帰の深さ …… 読み込み専用。呼び出しフローからの繰返階層設定を表示します。

呼び出されたフローの送り元のマッピングは、他のマッピングと同様に全てのマップされた複合メンバーとその複合要素を処理することができます。

  • 有効なフロー変数が一つしかない場合、［フロー選択］フォームは表示されず、現在のマッパを呼び出す全てのマッパが含まれたフォームが表示されます。ユーザは一つのマッパしか選択できません。

  • 複数のフローがある場合、［フロー選択］フォームが表示され、ユーザ選択時に［データマッパー選択］フォームが表示されます。

  • 呼び出されたフロー内の、オリジナルの送り元に対するマッピングは、他のマッピングのようにマッピングされた複合要素の全てを処理します。

  • 呼び出されたフローでは、ルート要素のマッピングとルート要素より上位の全ての複合要素は呼び出しフローに基づいています。これらのマッピングの変更は予期せぬ結果をもたらすことがあります。

  • XMLポジショニングフォワードに動作していないソースフローを定義すると実行時に予期せぬ結果をもたらすことがあります。


データルールの追加

データマッパーのDestination XMLのAppend Dataプロパティを使用すると、ファイルにデータを追加できます。

データマッパーでの追加操作の仕組みを理解しましょう。 以下のサンプルXMLファイルをご覧ください。リージョンJapanにはCompany IBM要素が含まれています。 IBM社はそれに製品を持っています。

次に、会社MSEとその製品を地域日本に追加します。 これを行うには、次に示すようにStudioでマッピングを行います。

ここでは、送り先XMLには、Regionsがルート要素として含まれ、Region要素が含まれています。 リージョンには、その内部に複数インスタンスのCompany要素があります。 Region内のCompany複合要素の最後のインスタンスにデータを追加します。

マッピングを行うときは、データマッパーのデータ追加操作が機能する次のルールを考慮してください:

  • ルートに最も近いマップされたマルチインスタンスコンパウンド（複合要素）は、追加操作で考慮されます。 追加は、ソースデータの行に基づいて繰り返されます。

  • 上記のブランチの範囲外にあるマップされた値は、作成のみと見なされます。つまり、要素とその値は、宛先XMLにまだ存在しない場合にのみ追加されます。

  • 追加操作は、直接の親の最後のインスタンスに対して行われます。 以下の例では、XMLのCompany MSEエントリになります。

  • 追加操作は親コンパウンドに対して行われ、親コンパウンドにマッピングがある場合のみ、非コンパウンドの子になります。

与えられた例では、追加操作はMSE Company要素に対して行われます。これは、それが直接の親、Japanの最後のインスタンスであるためです。

追加操作が完了すると、結果のXMLは次のようになります:


スキーマリスト

  • リストからフローを選択し［選択］をクリックしてください。

  • リストをリセットするには、［リセット］をクリックしてください。

  • 選択をせずにスキーマリストを閉じるには、［キャンセル］をクリックしてください。


変数 プロパティ

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > 送り元と送り先のプロパティペイン > ［Variable］プロパティ

［Variable］プロパティ

変数からのデータを送り元または送り先として使用することができます。プロジェクトで利用できる全ての変数は、［送り元プロパティ］または［送り先プロパティ］ダイアログボックスに表示されます。使用したい変数を選択してください：

  • フロー変数を送り元として使用する場合は、変数のデータを使用して送り先にマッピングします。このダイアログボックスでは、マッピングに使用するフロー変数を選択します。

  • フロー変数を送り先として使用する場合は、送り元データをマッピングするときに変数の値を更新します。この場合は、更新する変数を何らかの方法で選択します。

［プロパティ］ペインには、以下のプロパティが含まれています：

プロパティ | 説明
名 | スキーマの名前を入力してください。
説明 | スキーマの説明を入力してください。
変数 | をクリックして［送り元プロパティ］または［送り先プロパティ］ダイアログボックスを開きます。ここで、スキーマで使用したい変数を選択しなければなりません。プロジェクト用に定義されたすべての変数はこのリストで有効になります。


ODS プロパティ

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > 送り元と送り先のプロパティペイン > ［ODS］プロパティ

［ODS］プロパティ

送り元または送り先としてODSデータを使用することができます。ODSのエントリは、ODSリポジトリに入力されます。プロジェクト内に存在しないODS変数を使用したい場合は、ソリューションエクスプローラを開き、［リポジトリ］フォルダからODSを選択してください。これでODSリポジトリが開きます。ここで、リポジトリにODS変数を追加することができます。ODSエントリを送り元として使用する場合は、送り先にマッピングするODS変数に格納されたデータを使用します。［プロパティ］ペインで、マッピングに利用したいデータを含んだODS変数を選択してください。

送り先としてODSエントリを使用する場合、ソースデータをそれにマッピングする時に、ODS変数の値を更新します。この場合、更新したいODSエントリを選択します。

［プロパティ］ペインには、以下のプロパティが含まれています。

プロパティ | 説明
名 | スキーマの名前を入力してください。
説明 | 説明
ODS名 | をクリックするとODSリストが開きます。ここで必要とするODS変数を選択してください。

  • ODSオブジェクトは、ODSと呼ばれる単一の親ノードの子として表示されます。ODS配列がマッピングされた場合、この配列は"配列"と呼ばれる複合要素に表示されます。この配列はODS複合要素の子であり、単一要素より高いレベルに位置します。

  • 複合要素をODS配列にマッピングすると、作成されるODSエントリの数は、送り元複合要素に含まれる単一インスタンスの数と同じになります。

  • ODS配列を送り先の複合要素にマッピングすると、送り先の出力数はODS配列のエントリと同じになります。

  • ODS変数は接頭辞として文字"O"が自動的に付加されます。


Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > 送り元と送り先のプロパティペイン > ［ODS］プロパティ > ODSリスト

ODSリスト

  • リストからODS変数を選択して、［選択］をクリックします。

  • 選択しないでリストを閉じる場合は、［キャンセル］をクリックしてください。


フロー呼出 プロパティ

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > 送り元と送り先のプロパティペイン > ［Call Flow］プロパティ

［Call Flow］プロパティ

データをフロー呼出にマッピングすると、新しいフローを呼び出す際に使用されるパラメータを渡します。［プロパティ］ペインで、データをこの送り先にマッピングすると、呼び出されるフローを指定する必要があります。

  • フロー呼出は、送り先としてのみ使用できます。

  • フロー呼出は、起動フローとよく似ていますが、データマッパー内でのみ使用されます。

［プロパティ］ペインには、以下のプロパティが含まれています。

プロパティ | 説明
名 | スキーマの名前を入力してください。
説明 | スキーマの説明を入力してください。
フロー名 | をクリックしてフローリストを開きます。ここで必要なフローを選択してください。

データマッパーでは、呼び出されたフロー用のフロー変数は、フロー呼出用複合要素の単一メンバとして入力されます。これにより、送り先データの送り先要素を個々のフロー呼出変数にマッピングできるようになります。データマッパーは、マッピングされたフロー変数を更新してから、フローを呼び出します。

UDSタイプのフロー変数は、送り元と送り先の両方の変数で同じUDS構造を持っている場合にサポートされます。


テンプレート プロパティ

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > 送り元と送り先のプロパティペイン > ［Template］プロパティ

［Template］プロパティ

テンプレートを使用しデータにマッピングすることができます。データはテンプレートの送り先にマッピングされて、新しいファイルが作成されます。ファイルにマッピングする前にテンプレートを作成しなくてはなりません。このテンプレートファイルは、データをマッピングする時にデータマッパーに情報を送る特殊なタグを使用します。このダイアログボックスでは、テンプレートファイルを指定し、どこに生成されるファイルが送られるかを定義します。

  • テンプレートは送り先として使用することができるだけです。

  • テンプレートにBLOBを送ることはできません。

［プロパティ］ペインには以下のプロパティが含まれています：

プロパティ

説明

名

スキーマの名前を入力します。

説明

スキーマの説明を入力します。

テンプレートファイル

をクリックしてテンプレートファイルを選択します。これは、MGIF_xxxタグを含めた特定のタグを使用して作成されたテンプレートファイルでなくてはなりません。テンプレートの作成の方法については、テンプレートにデータをマッピングするを参照してください。 ファイルを設定し送り先にマッピングしたら、変更はできません。

  • 特殊文字 ( *, ., ?, < , >) をテンプレートファイルタグに使用しないでください。予想外の結果を引き起こす可能性があります。

  • 指定したタグは、テンプレート内の複数のセクションで表示されません。

  • テンプレート内のタグは30文字を越えて指定できません。

送り先タイプ

マッピングされたデータがどこに作成されるかを選択してください。

  • File …… ファイルを選択すると、［ファイルパス］プロパティ(以下)に、ソースデータのXMLファイルまたは作成しているファイルの送り先の名前とパスが入力できますす。ファイルを位置付ける式または条件を作成するために式エディタを使用してください。これによりファイルの場所を動的に定義することができます。もし場所を固定して運用したい場合は、フィールドにフルパスを入力するか、あるいはファイルへのフルパスを格納した変数(フロー、コンテキスト、あるいはグローバル)を用意して、変数を式エディタから選択します。

  • Variable …… 作成したいデータを含むXMLファイルを保持する変数を選択してください。BLOBタイプの変数だけが有効です。

ファイルパス

［送り先タイプ］プロパティ(上記)で File を選択すると、 [image] をクリックし式エディタを使用して、ファイルを位置付ける式または条件を作成します。

変数

［送り先タイプ］プロパティ（上記）で Variable を選択すると、 [image] をクリックして変数リストを開ます。変数を選択して［選択］をクリックします。

Unicode サポート

Unicodeでエンコードされたデータを含むテキストファイルを処理するに、ドロップダウンリストから以下のオプションのどれかを選択してください：

  • No (デフォルト)

  • Yes

データ追加

既存のファイルを使用してマッピングを追加したい場合は、ドロップダウンリストから以下のオプションのどれかを選択してください：

  • No (デフォルト)

  • Yes


UDS プロパティ

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > 送り元と送り先のプロパティペイン > ［UDS］プロパティ

［UDS］プロパティ

UDSモデルを送り元あるいは送り先として使用することができます。UDSエントリはUDSリポジトリに入力されます。もしプロジェクトの中に無いUDSキーを使用したい場合、 ［プロジェクト］メニューから ［UDS］を選択しODSリポジトリを開いてください。リポジトリにUDSモデルを追加することができます。 ［UDS送り元/送り先のプロパティ］ダイアログボックスの［UDS］ボタンをクリックすることでUDSリポジトリを開くこともできます。

［プロパティ］ペインには、以下のプロパティが含まれています：

プロパティ

説明

名前

スキーマの名前を入力してください。

説明

スキーマの説明を入力してください。

UDSモデル

をクリックしてUDSリストを開きます。このリストは、UDSリポジトリで作成したUDSモデルが表示されます。修正はできません。選択をクリックし、リストから要求されたUDSモデルを選択します。［UDS変数タイプ］(以下)が Dynamic に設定された場合、このプロパティが有効になります。

UDS変数タイプ

UDS変数タイプを定義します。ドロップダウンリストから以下のどれかを選択してください：

  • Fixed (デフォルト)

  • Dynamic

ダイナミック変数

をクリックして、式エディタで動的なUDS名または式を定義します。式はこの送り元と同じUDSタイプのフロー変数名として評価しなければなりません。動的なフロー変数は送り先の中で作成されます。［UDS変数タイプ］(上記)が Dynamic に設定された場合、このプロパティはが有効になります。

変数

をクリックして、変数リストを開きます。UDSタイプ変数を選択してください。UDS変数は他の変数と同じ方法で動作します。［UDS変数タイプ］(上記)が Fixed 設定された場合、このプロパティが有効になります。

UDSインデックス

UDSリポジトリでUDSモデルを定義し、ここで［インデックス］チェックボックスにチェックを入れるとインデックスが表示されます。この項目は送り先プロパティでのみ有効です。このプロパティはUDS送り元でのみ有効です。

UDS追加

既存のUDS変数にデータを追加します。ドロップダウンリストから以下のどれかを選択しでください。

  • No (デフォルト)

  • Yes

このプロパティは、UDS送り先でのみ有効です。


JSON プロパティ

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > 送り元と送り先のプロパティペイン > ［JSON］プロパティ

［JSON］プロパティ

Magic xpiのデータマッパーは、JSONスキーマを使用して動作します。データマッパーは、JSONスキーマを構文解析し、すべてのデータタイプと制約によってその構造を表示します。実行時は、そのJSONスキーマに違反していないかJSONファイルを検証することができます。

［プロパティ］ペインには、以下のプロパティが含まれています：

プロパティ

説明

名

スキーマの名前を入力してください。

説明

スキーマの説明を入力してください。

JSONスキーマファイル

JSONスキーマのファイルのフルパス。 をクリックして、必要なスキーマを選択してください。

送り元/送り先のタイプ

送り元の場合は、送り元がどこに位置しているかを指定します。送り先の場合は、送り先データがどこで保持されるかを指定します。

ドロップダウンリストから以下のどれかのオプションを選択してください：

  • File …… ファイルを選択すると、［ファイルパス］プロパティ(以下)に、ソースデータのJSONファイルまたは作成しているファイルの送り先の名前とパスが入力できますす。ファイルを位置付ける式または条件を作成するために式エディタを使用してください。これによりファイルの場所を動的に定義することができます。もし場所を固定して運用したい場合は、フィールドにフルパスを入力するか、あるいはファイルへのフルパスを格納した変数(フロー、コンテキスト、あるいはグローバル)を用意して、変数を式エディタから選択します。

  • Variable …… 作成したいデータを含むJSONファイルを保持する変数を選択してください。BLOBタイプの変数だけが有効です。

ファイルパス

［送り先タイプ］プロパティ(上記)でファイルを選択すると、 [image] をクリックし式エディタを使用して、ファイルを位置付ける式または条件を作成します。

変数

［送り先タイプ］プロパティ（上記）で変数を選択すると、 [image] をクリックして変数リストを開ます。変数を選択して［選択］をクリックします。

JSON検証

実行中、JSONファイルはデータマッパーによって作成されて、内部で検証されます。検証処理によって不整合が見つかると、エラーが発生します。このエラーは、C.sys.LastErrorInfoとC.sys.ErrorDescriptionシステム変数に記録されます。

検証を実行したいかどうかを定義するには、ドロップダウンリストから以下のどれかを1つを選択してください：

  • No (デフォルト)

  • Yes

送り元JSONファイルの場合、JSON検証が開始され、JSONファイルが検証されれば、マッピングが実行されます。検証に失敗すると、マッピングは中止します。

送り先JSONファイルの場合、データマッパーはファイルを作成し、それから、検証が開始されます。検証に失敗すると、エラーが発生します。しかし、JSONファイルは削除されません。

再帰の深さ

このプロパティは、再帰するインスタンスの最大値を設定します。xpi 4.13.5のバージョンより前に作成されたプロジェクトの場合、下位互換性を維持するために、デフォルトの再帰の深さは0になります。値を0から１以上に変更すると、マッピングが失われる可能性があります。

新しく作成されたステップでは、デフォルトの再帰の深さは1になります。

ある特定の構造がそれ自体の中で再帰的に繰り返される場合があります。不定なループを回避するために、Magic xpiは参照する深さの合計を知る必要があります。このプロパティは、選択したJSON要素の構造が繰り返される回数を決定します。例えば、要素Aには子要素Bがあり、子要素Bには要素A（親）を参照する子要素がある場合です。

再帰しない場合は、1を設定します。

このプロパティは、再帰的な要素にのみ関連します。

(Since version:: 4.13.5)

再帰の深さ

このプロパティは再帰インスタンスの最大数を設定します。プロジェクトがxpi 4.14より以前のバージョンで作成されている場合、下位互換性を維持するために、デフォルトの再帰の深さは0になります。値を0から1に変更すると、マッピング接続が失われる可能性があります。

新規で作成されたステップの場合は、デフォルトの再帰の深さは1になります。

特定の構造がそれ自体の中で再帰的に繰り返される場合があります。不定なループを回避するために、Magic xpi は参照する深さの合計数を知る必要があります。このプロパティは選択したJSON要素の構造が繰り返される回数を決定します。例えば、要素Aに子要素Bがあり、子要素Bには要素A（親）を参照する子要素があります。

再帰しない場合には、1を入力してください。

このプロパティは、要素が再帰的な場合にのみ有効です。

(Since version:: 4.13)

JSONエンコーディング(送り先のみ)

送り先のJSONファイルとして使用したいエンコーディングのフォーマットを定義します。同じデータマッパーで異なるフォーマットエンコーディングを持つ複数の送り先を作成することができます。

ドロップダウンリストから以下のエンコーディングフォーマットのどれかを選択してください：

  • Unicode (UTF-8) (デフォルト)

  • Unicode (UTF-16)

  • ANSI

データフォーマット

をクリックして［デフォルトデータフォーマット］ダイアログボックスを開きます。ここで、特定のデータタイプが指定されると、Magic xpiで使用したいデフォルトを定義することができます。

常に時ノードを作成(送り先のみ)

マッピングされた送り元ノードが、空の値またはヌル値(送り先ノードがNull値をサポートしない時)の時でも、このプロパティはMagic xpiに、結果JSONファイルにマッピングされた送り先ノードを作成することを指示します。

このプロパティをNoに設定した場合、マッピングされた送り先ノードは作成されません。

この動作を無効にするために［計算値］を使用することができます。

ドロップダウンリストから以下のどれかを選択しでください：

  • Yes

  • No (デフォルト)

これは、単純な文字型ノードでのみ関連しています。

  • Magic xpiは、"not"という言葉を含むJSONスキーマ要素をサポートしません。

  • patternPropertiesは、現在JSONスキーマファイルではサポートされていません。

  • "format" という予約語がJSONスキーマの要素に設定された場合、その要素の値セットの検証が実行中に発生します 。

  • タプル配列における要素が連続した順序でマッピングされない場合、Magic xpiはマッピングされなかった要素のすべてをNull値に設定します。以前のMagic xpiはこの設定を行います。そして以下のように動作します。

  • マッピングされなかった要素がJSONスキーマに基づいて無効なタイプではない場合、マッピングをチェックするために、実行時にエラーが発生し警告を表示します。

  • マッピングされなかった要素がJSONスキーマに基づいて無効なタイプである場合、実行中にエラーは発生しません。このシナリオでは、JSONファイルが有効か無効かはわかりません。

Since version:

4.5


JDBC プロパティ

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > 送り元と送り先のプロパティペイン > [JDBC] プロパティ

[JDBC] プロパティ

プロパティペインでは、以下のパラメータを設定することができます。

名前

説明

名前

スキーマの名前を入力します。

説明

スキーマの説明を入力します。

ウィザード

データベースウィザードを使用すると、視覚的にSQL文を作成することができます。 (省略ボタン)をクリックすると、データベースウィザードが表示されます。

SQLステートメント

JDBCオプションを使用する場合、SQLステートメントを自分で作成することができます。これを行うには、 [image] (省略ボタン)をクリックして手動でSQLステートメントを作成します。

UPSERT

JDBCオプションをDestinationとして使用する場合、UPSERT機能を設定することができます。

ドロップダウン・リストから次のいずれかを選択します。

  • Yes

  • No (デフォルト)

Yesを選択すると、ウィザードを使用してUPSERT文を生成することができるようになります。

UPSERT文の作成の詳細については、こちらを参照してください。

UPSERT操作では、丸括弧または<スペース>文字以外の特殊文字を含むすべての列名は、角括弧でカプセル化する必要があります。これは、Data MapperのWizard Summary画面で行うことができます。

または、SQLTempates.xml ファイルで同じ変更を行うこともできます。さらに詳しいサポートが必要な場合は、Magic xpiサポートチームまでご連絡ください。

データベースの定義

作業するデータベースを選択します。設定]ダイアログボックスの[リソース]セクションで入力したすべてのデータベースが選択可能です。

DBの切断

ドロップダウン・リストからYesを選択すると、ステップの終了時に指定したデータベースへのすべてのオープンな接続が切断されます。並列データマッパーステップで作業している場合、特定のデータベース定義に対してこのチェックボックスを選択すると、最後のステップが操作を完了して接続を解放するまで切断が行われないことがあります。失敗の表示はログやモニターに送信されません。

DB Disconnect フィールドは、データベースへの接続を閉じます。データベースからレコードを選択するデータマッパーステップを持つフローがあり、その後フローを呼び出す場合、呼び出されるフローの線形パスでDB Disconnectを使用しないでください。

このプロパティはxpi 4.13.3バージョンではサポートされていないため、現在無効になっています。

(Since version: 4.13.3)

関連するトピック

ローカルエージェントでのJDBCコネクタのセットアップ


ローカルエージェント使用時のJDBCコネクタの設定

コネクタのアップロード

必要なJarファイルをコピーしたらJDBCドライバをローカルエージェントにアップロードします。　コネクタアップロードの詳細は下記のページを参照してください。

ローカルエージェントにコネクタを追加するには

ドライバJarファイルのコピー

JDBCローカルエージェントコネクタをアップロードした後、JDBCドライバーファイルを <ローカルエージェントインストールフォルダ>\addons\JDBC\runtime\java\lib にコピーしてください。 ここをクリックして、サポートされているデータベースとそれに対応するJARファイルのリストを参照してください。

ドライバーファイルをコピーした後、もしローカルエージェントサービスが既に実行されている場合は、再起動します。

MS-SQLのIntegrated Securityを使用する場合

MS-SQLデータベースのIntegrated Securityオプションを使用する場合、下記の追加設定が必要です。

  • ローカルエージェントのルートフォルダでconnectors.xml ファイルを見つけます。

  • このファイルをメモ帳などのテキストエディタで開きます。

  • このファイルに下記のようにコネクタ名のXMLルート要素があることを確認します。

<Connector name="JDBC">

  • この要素の下に子要素AdditionalJvmOptions を追加します。このエレメントは mssql-jdbc_auth-8.4.1.x64.dll が存在するパスを設定します。

下記のように設定します。:

<AdditionalJvmOptions>-Djava.library.path=[ mssql-jdbc_auth-8.4.1.x64.dll が存在するパス]</AdditionalJvmOptions>

  • 要素を追加したらファイルを保存します。更新されたconnectors.xmlファイルは下記のようになります。:

<Connector name="JDBC">

<Version>1.14</Version>

<ConnectorHome>some path</ConnectorHome>

<MaxLoadPerInstance>10</MaxLoadPerInstance>

<AdditionalJvmOptions>-Djava.library.path=C:/LocalAgent/addons/JDBC/runtime/java/lib</AdditionalJvmOptions>

</Connector>

(Since version: 4.13.3)

関連トピック

サポートデータベース一覧


デフォルトデータフォーマットリポジトリ

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > ［デフォルトデータフォーマット］リポジトリ

［デフォルトデータフォーマット］リポジトリ

［デフォルトデータフォーマット］リポジトリは、Magic xpiに、XMLとJSONデータタイプでのために使用してほしいデフォルトを表示します。またこのダイアログボックスを使用してXMLとJSONデータタイプのために独自のデフォルトを入力することもできます。

データベースのデータタイプのためのデフォルトは、以下のファイルに保存されます。 <Magic xpi インストールフォルダ>\Studio\data_types.xml.

［デフォルトデータフォーマット］リポジトリは、以下の方法でアクセスすることができます。

  • ソリューションエクスプローラの［リポジトリ］セクションで、［デフォルトデータフォーマット］をダブルクリックしてください。このようにアクセスすると、既存のデフォルトが表示されます。ここで、プロジェクトのためにデフォルトデータフォーマットを追加することができます。重複した名前は入力できません。また、［名前］フィールドを空のままにはできません。

  • ［XMLプロパティ］ペインの［データフォーマット］プロパティで、 [image] をクリックしてください。このようにアクセスすると、［既存リスト］と［修正リスト］という2つのタブが表示されます。［修正リスト］タブは、デフォルトのデータフォーマット(書式)を変更し、新しいデータフォーマットをXSDファイルを読み込む時にMagic xpiによって使用できるように追加することができます。

  • SHIFT+F11を押下することによる。

［デフォルトデータフォーマット］リポジトリには、以下のパラメータが含まれています。

名前

説明

データタイプ

Magic xpiデータベースに存在するデータタイプの名前。リストにデータタイプを追加する場合は、ここに名前を入力します。空白も入力できます。

属性

デフォルトのデータタイプを変更することができます。ドロップダウンリストから以下のどれかを選択します。

  • Alpha

  • Numeric

  • Logical

  • Date

  • Time

  • BLOB

書式

デフォルトと新規のデータタイプの書式を変更することができます。データタイプの書式をここに入力します。

特定の送り元または送り先を変更すると、対応する送り元または送り先にのみ影響します。例えば送り元の書式を変更すると、送り元がマッピングされる送り先の書式には影響しません。

［デフォルトデータフォーマット］リポジトリには、以下のボタンがあります。

ボタン | 説明
追加 | 新しいデータタイプを追加する場合はこのボタンをクリックします。ここで関連したパラメータ(上述)を入力することができます。リストのデータタイプ上で右クリックして、コンテキストメニューから［追加］を選択することで追加することもできます。これらの追加は特定のXMLエントリに対して行なわれます。
削除 | データタイプを選択してこのボタンをクリックするとリストから削除されます。データタイプを削除する前に、プロジェクトの別の場所で使用されないことを確認する必要があります。リファレンス検索ユーティリティを実行することによってこれを行うことができます。
OK | このボタンをクリックして追加や変更を保存し、ダイアログボックスを閉じます。
キャンセル | 追加や変更を保存せずにダイアログボックスを閉じるには、このボタンをクリックします。

データマッパーですでに使用されているデータ属性の属性情報を変更すると、次にマッパーを開くときに［スキーマ接続エラーログ］ダイアログボックスが開きます。

datetimeフィールドを持つデータベースを使用している場合、データマッパーはこのフィールドをdateフィールドとして扱います。これは、フィールドの時間部分が失われたことを意味します。Magic xpiのルートディレクトリにあるdata_types.xmlと呼ばれるファイルを開いて、このデータを保持することができます。XMLファイルには、次のデータが含まれています。

<Mapping>

<From_DB_Type>DATETIME</From_DB_Type>

<To_Data_Type>Date</To_Data_Type>

<MagicPic>YYYY/MM/DD</MagicPic>

<StoredSize>8 </StoredSize>

<StoredAs></StoredAs>

<StoradAsNumber>19</StoradAsNumber>

<StoredType></StoredType>

</Mapping>

これを以下のように変更する必要があります。

<Mapping>
<From_DB_Type>DATETIME</From_DB_Type>
<To_Data_Type>STRINGDATE</To_Data_Type>
<MagicPic></MagicPic>
<StoredSize></StoredSize>
<StoredAs>ZString</StoredAs>
<StoradAsNumber>3</StoradAsNumber>
<StoredType></StoredType>
</Mapping>

この変更により、Magic xpiはこのフィールドを文字列として扱いますが、必要に応じて日付/時刻形式から文字列に変換します。


データマッパ画面

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > データマッパー画面

データマッパー画面

ファイル選択処理が完成すると、Magic xpiは情報を検索し、スキーマフォームにグラフィック形式でデータを表示します。

  • データをマッピングするには、まず送り元と送り先を入力して、それぞれのプロパティが入力されていることを確認する必要があります。送り元または送り先のプロパティがまだ入力されていない場合は、ここをクリックしてください。

  • Ctrl+Fを押下するか、右クリックでコンテキストメニューを開き、［名前検索］を選択して［検索］ダイアログボックスを開きます。探索文字列を含む送り元または送り先の中から最初のノードを検索するためにこの機能を使用することができます。検索機能は、送り元または送り先のどちらかを検索します。同時に両方を検索することはできません。

  • ノードを展開するには、ノード上でパークし、プラス(+)を押下するか、右クリックして［展開］を選択してください。ノードを縮小させるために、ノードでパークし、マイナス(-)を押下するか、右クリックして［縮小］を選択してください。親ノードとすべての子ノードを展開するには、親ノード上でパークし、アスタリスク(*)ボタンを押下するか、親ノードで右クリックし［全て展開］を選択してください。

データマッパー画面では、複数の送り元を複数の送り先にマッピングできます。複数の送り元を使用し単一の送り先を作成したり、単一の送り元から複数の送り先を作成することができます。

データマッパーは、既存のXML送り先ドキュメントを使用して新規のマッピングをこれらのドキュメントに追加することができます。

ノードの接続およびテストを行うには：

  1. 送り元側のノード上で右クリックして［接続］を選択します。

  2. マウスを送り先側にある接続したいノードまでドラッグします。送り元ノードから送り先にラインが引かれ、マッピングされたデータが視覚的に表現されます。

送り元と送り先の両方で同じ名前の単純要素を含んだ、同じ名前の2つの複合ノード間で全ての単純接続を確立するには、ショートカットメニューの［全て接続］を選択します。送り元と送り先のノード無いの同じ名前を持つすべてのノードに対する全ての接続が行われます(接頭辞は無視されます。)。これらの名前は大文字小文字を区別します。従って、接続を有効に行われるには、大文字小文字を正しく指定する必要があります。

例：

  • 送り元ノードが単純要素を含んでいる場合

  • Name

  • Address

  • Email

  • Phone

  • Cell Phone

  • 送り先ノードが単純要素を含んでいる場合

  • Name

  • Address

  • Email

  • Telephone

  • Mobile

  • 以下の要素のみが接続されます。

  • Name

  • Address

  • Email

関連トピック：

［ノード］プロパティ

データマッパー画面 - 色指定と表示

マッパノードの複製

データマッパーのルール

データマッパー画面での元に戻す/やり直し

接続の削除

マッピングの実行順序

式エディタを使用してマッピングする

データマッパーフィルタ

データマッパー - すべてを接続

接続の保存/ロード

スキーマ接続エラーログ

データマッパーのトラブルシューティング


ノードプロパティ

ノードの［プロパティ］ペインにアクセスすには、送り元または送り先のノードをダブルクリックしてください。または、右クリックして、コンテキストメニューから［プロパティ表示］特性を選択してください。

ノードの[プロパティ]ペインは選択されたノードの全ての詳細が表示されます。詳細は以下の表示に説明されています。

ノードの［プロパティ］ペインに送り元または送り先の価値を直接定義することもできます。これを行うと、送り元データをノードにマッピングする必要がなくなります。

［計算値］プロパティの隣のボタンをクリックするとと、式エディタが開きます。ここで、関数や算術記号、論理記号、変数、および接続済みノードを使用して、ノードの値を定義する式を作成できるようになります。［計算値］プロパティには、式を直接入力することもできます。

  • 条件を追加したり複合要素をマッピングしたりする場合、 ［複数更新］プロパティ内の変数を更新するオプションがあります。この複合要素の配下の単純要素のどれかにマッピングしなければ変数は更新されません。

  • 別のノードで選択された変数を選択することはできません。

ノードの［プロパティ］ペインには、以下の情報が表示されています：

プロパティ

説明

一般

ノードタイプ

このプロパティは、ノードが単純型と複雑型のどちらであるかを表示します。修正はできません。

名前

このプロパティには、ノードの名前が表示されます。ノードの名前は、送り元または送り先データの要素の名前です。修正はできません。

説明

ノードの説明を入力してください。

外部データタイプ

外部システムから受け取った要素のデータタイプが表示されます。修正はできません。

パス

このプロパティは、ノードが、位置付されるパスを表示します。ここには、スキーマを正しく表示するために作成された仮想要素が含まれています。仮想要素は実際のパスの一部ではありません。修正はできません。

実際のパス

実行中に使用されるであろう仮想要素なしで表示されたJSONスキーマのノードパス。修正はできません。

このプロパティは、JSONスキーマファイルでのみ有効です。

単一インスタンスフィルタ

単一インスタンスフィルタは、このプロパティに設定した条件と一致している最初のレコードを取り出します。

をクリックして式エディタを開き、単一インスタンスフィルタの条件を入力してください。

このプロパティは、送り元複合ノードのみの関連しています。

レプリケーション

データマッパ複合ノードのレプリケーションを有効にするかどうかを定義します。ドロップダウンリストから以下のどれかを1つを選択してください：

  • No (デフォルト)

  • Yes

方法についての説明は、ここをクリックしてください。

条件

運用環境でこのマッピング指示が実行される条件を定義することができます。条件がない場合は常に実行されます。これは、［送り先タイプ］がXMLの場合のみ関連します。

をクリックし式エディタを開き条件を入力します。

複数更新

送り先の複合物をループする間に、複数更新機能は任意の変数を更新することができます。配備の中に、これらの順番に従って更新が実行されます。

をクリックして、［複数更新］ダイアログボックスを開きます。そして、［追加］をクリックして1行追加します。必要な計算を作成し、［OK］をクリックしてください。

複数更新は、ノードプロパティ上の条件の前で実行されます。

このプロパティは、複合ノードのみに関連しています。単一ノードにパークした場合は表示されません。

内部データタイプ

これは、データタイプをMagic xpiの内部タイプに変換したい時に使用された属性を表示します。このプロパティは、［デフォルトデータフォーマット］リポジトリのデフォルトの設定を上書きします。修正はできません。

文字列日付

Yesを選択すると、内部の属性(以下)は文字型になります。これは、プロパティに日付と時間の両方を含めることを可能にします。このオプションを選択すると、data_types.xmlファイル(<Magic xpiインストールフォルダ>\Studioフォルダに配置されます)にいくつかの変更を加える必要があります。これを行う方法については、ここをクリックしてください。

この特性は、データベースの［datetime］フィールドのみに関連しています。

計算値

多くの場合、変数に入力したい結果は一つの値からだけでは取得できず、複数の異なるパラメータから取得する必要があります。こういう場合、計算値を使用する必要があります。これらは、実際の値を決めるために式を使用して更新される変数です。

をクリックして式エディタを開き、式または固定値を入力します。ここは、送り先データでのみ有効です。

書式

データの長さ。例えば数値9が入力されていればノードは9文字以下を使用することができます。

  • 送り元ノードでは、表示のみで編集はできません。

  • 送り先ノードのみの場合。［常にカスタム書式を使用］プロパティがYesに設定され、ノードが送り元にマッピングされるか、値が［計算値］プロパティに入力された場合、［書式］の値を変更することができます。

DateTimeタイプノードの場合、StringDateフォーマットと日付の形式から選択することができます：

  • ［文字列日付］プロパティがYesに設定された場合、［書式］プロパティはデフォルトで利用可能で、19に設定されます。

  • ［文字列日付］プロパティがNoに設定された場合、データマッパーは、日付書式を使用し、YYYY/MM/DDがデフォルトで選択されます。［常にカスタム書式を使用］プロパティをYesに変更すると、日付の書式を変更することができます。

数値タイプの場合、書式は、数字と小数点、"N12.4" のように負数を表す "N"という文字のみがｓｊひが指定できます。

常にカスタム書式を使用

［書式］プロパティで書式を変更したい場合、入力した値が常にいつも使用されることを確認したい場合、ドロップダウンリストからYesをい選択してください。

このプロパティは次のマッピングされた要素で利用可能です：

  • DataTimeタイプを除く、べての送り先のタイプ。

  • データベースソースタイプ。

DateTimeタイプの場合、このプロパティは無効になります：

  • ［文字列日付］プロパティがYesに設定された場合、［常にカスタム書式を使用］プロパティはYesに設定されます。

  • ［文字列日付］プロパティがNoに設定された場合、［常にカスタム書式を使用］プロパティはデフォルトでNoに設定されます。

ログエラー(データベースを使用している場合のみ有効)

をクリックして例外処理フローの入力データを受け取るフロー変数を選択します。

例外処理フローで入力データを受け取る変数が既に定義してあるかを確認してください。

追加XMLプロパティ

ネームスペース接頭辞

ノードのネームスペースの接頭辞が表示されます。この接頭辞は、ノードのネームスペースのエイリアスとして使用できます。ここは読み取り専用であり、編集することはできません。

ネームスペース

ネームスペースとは、URI参照によって識別され、XMLドキュメントで要素タイプおよび属性名として使用される名前のコレクションです。ネームスペースは、XMLドキュメントを他のソースと区別して、データマッパーが読み取れるようにすることができます。ここは読み取り専用であり、編集することはできません。

最大長

英数字フィールドタイプの文字桁数です。

総桁数

小数点前後の総桁数です。

小数点以下桁数

小数点以下の桁数です。.

最大数

このプロパティはスキーマから取り出されます。これは許可されているノードの出現回数の最大値が表示されます。

例えば、スキーマのMax occurrences=3 の場合、そのスキーマに基づきXMLは最大で三つの出現まで含めることができます。

最小数

このプロパティはスキーマから取り出されます。これは許可されているノード出現回数の最小値が表示されます。

例えば、有効なXMLスキーマは Min occurrences=1 (最低)の場合のみ生成されます。

デフォルト/固定値

フィールドのデフォルト/固定値です。

ドキュメンテーション

特定のフィールドに関連するドキュメンテーション。

列挙

この読み込み専用エントリには、このノードで利用可能な値のあらかじめ決められたリストが表示されます。

Nillable

このプロパティがTrueに設定されると、XSD/XMLでNillable属性がTrueに設定された要素があることを意味しています。これらの要素は、XML要素からNull値を読み込み、XML要素にNull値を書き込むことができます。

このプロパティは、簡単な要素でのみｋ表示されます。

追加 JSONプロパティ

最大長

JSONスキーマ内での文字列の最大長。

最大項目

JSONスキーマ内での配列の最大長。

最小項目

JSONスキーマ内での配列の最小長。

デフォルト

項目のデフォルト値。

列挙値

固定値として設定し、特定の値に制限します。

Nillable

このプロパティがTrueに設定されると、JSONファイルででNillable属性がTrueに設定された要素があることを意味しています。これらの要素は、JSON要素からNull値を読み込み、JSON要素にNull値を書き込むことができます。

このプロパティは、簡単な要素でのみｋ表示されます。


データマッパ画面 - 色指定と表示

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > データマッパー画面 > データマッパー画面 - 色指定と表示

データマッパー画面 - 色指定と表示

以下のイメージで示するように、実行したマッピングをビジュアルに表示させるため、データマッパー画面は様々な色と標示を使用しています。

イメージのように接続のタイプに従って、ノードを接続するラインのタイプが変わります。

  • 複合ノードの接続を示します。複合ノードは白い2重線で接続されます。

  • 簡単なノード接続を示します。

  • 選択されたラインを示します。

  • 特定の接続ライン上でホバリングしていることを示します。

また、データマッパーは必須の送り先フィールドを太字で表示します。

以下のアイコンはノードのステータスを表してます。

  • 送り元複合ノードの単一インスタンスフィルタ

  • 送り先ノードでの条件.

  • 送り先ノードでの計算値

  • 送り先ノードでの条件+計算値

  • 送り先ノードでの複数更新.

  • 送り先ノードでの複数更新+条件.

また、ノードの表示を明瞭にするには、必要なノードで右クリックし、コンテキストメニューから色を選択することで以下の背景色のどれかを使用することができます。 :

これらの色設定は、特定のインスタンスに対して保存されます。ステップのコピーや貼り付けを行ったり、フローやビジネスプロセスのコピーを行った場合は、ノードの色は保持されます。

特定の送り元または送り先にパークすることにより､どの送り元がどの送り先に接続されているのか、またはその逆がチェックできます。送り元上でパークするとこの送り元に接続されている全ての送り元とその接続がハイライト表示されます。送り先にパークすると全ての送り元とその接続が同様にハイライト表示されます。特定の接続をクリックすることもできます。その接続でリンクされている送り元と送り先がハイライト表示されます。


マッパノードのレプリケーション

Magic xpiは、XML形式の送り元と送り先を持つデータマッパーの複合ノードの複製を作成することができます。これにより送り先の特定の要素に対してデータをマッピングしたり、複合送り元ノードの特定の要素を送り先フィールドに割り当てることができます。

データマッパーの複合ノードを複製するには：

  1. データマッパコンポーネントをフローにドラッグします。

  2. データマッパコンポーネントでダブルクリックするか、右クリックしてンテキストメニューから［構成］を選択してデータマッパー画面を開きます。

  3. XMLマッパスキーマを［ツールボックス］ペインから送り元または送り先のツリーにドラッグしてください。.

  4. XMLスキーマ上で右クリックし、［プロパティ表示］性を選択してください。

  5. ［プロパティ］ペインで、［レプリケーション］パラメータのドロップダウンリストからYesを選択してください。これをしないでノードインスタンスを複製することはできません。復号ノードには、"#1"の接尾辞が付加されます。

  6. ［保存］をクリックしてください。

  7. データマッパー画面で、複製したい複合ノードで再び右クリックしてください。コンテキストメニューから［レプリケーション追加］を選択してください。これによって、その下にすべてのエントリを含んだ複合ノードが複製されます。

複製された複合ノードには、"#2"という接尾辞が付加されます。この新しいノードは、複写したばっかりのノードの下に追加されます。新しいインスタンスには、番号が順番に付加されます。オリジナルの複合ノード、もしくは複製されたノードを右クリックすることにより何回でも複製処理を繰り返すことができます。

複製された複合ノードを削除したい場合は、オリジナルをまたは複製された複合ノードで右クリックし、コンテキストメニューから［レプリケーション削除］を選択してください。これで、複製した最後の複合ノードが削除されます。

終了したら、マッピング内容を保存するために、［保存］をクリックしてください。

  • フィールドを複製した送り先インスタンスにマッピングしなかった場合、インスタンスは作成されません。

  • SAP B1コンポーネントのクエリや削除の処理を複製することはできません。


データマッパー画面での元に戻す/やり直し

スキーマ、接続、プロパティ（スキーマとノードの両方）、および色の変更など、データマッパーで行われる編集操作を元に戻すことができます。1つ以上の操作を元に戻したり、戻した変更を元に戻すことができます。

アクションを元に戻す

操作を元に戻すには、[編集]メニューから[元に戻す]オプションをドロップダウンリストから選択します。または、標準ツールバーの[元に戻す]ボタンを設定して使用するか、目的の前の状態に戻るまでCtrl + Zを押下することもできます。

スキーマに対して実行された次のアクションは、元に戻すアクションの候補です。

  1. スキーマを追加

  2. スキーマを削除

  3. スキーマを変更する（スキーマプロパティやノードツリーを変更する）

  4. スキーマカラーの変更

  5. スキーマを移動（上/下）

  6. スキーマを更新

同様に、元に戻すアクションの候補であるノードレベルで実行されるアクションは次のとおりです。

  1. ノードを変更（接続に影響しないプロパティを変更する）

  2. 式を変更（計算値プロパティを変更する）

  3. 条件を変更（条件プロパティを変更する）

  4. ノードカラーを変更

  5. 接続を追加

  6. 接続を削除

  7. すべて接続

ノードで元に戻す操作を実行した後、そのノードが存在する場合、フォーカスは最も近い編集可能なプロパティに移動されます。ノードが存在しないか、編集可能なプロパティがない場合、フォーカスは最も近い既存のノードに移動します。

アクションをやり直す

元に戻したものをやり直すには、[編集]メニューに移動してドロップダウンリストから[やり直し]オプションを選択します。

または、標準ツールバーのやり直しボタンを設定して使用するか、目的の前の状態に戻るまでCtrl + Yを押下することもできます。

リストを元に戻す/やり直す

[元に戻す/やり直しリストを表示]コンテキストメニュー項目は、データマッパーで最後に実行された[元に戻す]コマンドと[やり直し]コマンドのリストを開きます。ユーザはリストからやり直しまたは元に戻す操作を実行することができます。元に戻す/やり直しリストを隠すには、[元に戻す/やり直しリストを隠す]ボタンをクリックします。

元に戻す/やり直しリストは、開いている各データマッパーステップに対して保存され、対応するデータマッパードキュメントがアクティブになるとリストが使用可能になります。データマッパードキュメントを保存しても、元に戻す/やり直しリストには影響しません。

ユーザーが上記の編集操作のいずれかを実行すると、その操作が[元に戻す]リストの一番上に配置され、[やり直し]リストがクリアされます。ユーザが[元に戻す]リストの一番上から[元に戻す]操作を実行すると、その操作は[元に戻す]リストから削除され、[やり直し]リストの一番上に配置されます。

Since version:

44.9


データマッパのルール

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > データマッパー画面 > データマッパーのルール

データマッパーのルール

このトピックでは、Magic xpiのデータマッパーによって実施されるマッピングルールについて説明しています。

データマッパーは、マッピングを二つのレベルで扱います。

  1. 単一要素 …… 以下の要素は単一要素と認識されます。

a. Max occurrencesノードプロパティが１に設定された要素

b. フィルタのある要素

c. 重複ノード

d. マッピングのない送り先の複合要素

  2. 複合要素 …… 以下の要素は複合要素と認識されます。

a. 子要素のある要素

b. Max occurrencesノードプロパティが1以上の要素

データマッパー画面に表示された以下の要素をマッピングすることができます:

  • 一つの送り元複合要素から一つの送り先複合要素へ。複合要素をマッピングすると送り先複合要素を送り元複合要素と同じ回数実行するようにデータマッパーに指示が送られます。

  • 一つの送り元で複数の単純要素から一つの送り先の単純要素へ（送り先のタイプがXMLかテンプレートの場合）

  • 送り元の複合要素は変数複合要素にマッピングできます。

  • ほとんどの兄弟要素はマップできます。詳細については以下を参照してください。

単純なデータマッピングは、データマッパーにより自動的に行なわれます。式を作成する必要はありません。

複合データマッピングは、以下のどちらかで行なわれます。

  • 送り先メンバーデータ式を使用します。式には送り先要素に接続されている送り元XMLの変数や関数、単純要素を使用することができます。

または

  • 式エディタを使用して外部のJava、Magic xpa、又はDLLコードを呼び出すことができます。このオプションは、外部関数呼び出しが必要な複雑なデータマッピングに使用されます。

関連トピック：

データマッピングのシナリオ

データマッピングの注意点


データマッピングのシナリオ

このトピックでは、Magic xpiを使用する際のさまざまなデータマッピングのシナリオについて説明しています。

自動複合要素マッピング

Magic xpiの自動マッピングは、マッピング中にデータが失われることがないことを保証します。親の複合要素マッピングなしで単純要素がマップされた場合、常にMagic xpiは、Max occurencesノードプロパティが１以上の送り元と送り先の複合要素を接続します。

2つの単純な要素（fとx)がマップされています。しかし、複合要素はマップされていません。データが失われないことを保証するために、Magic xpiは、複雑な要素Cを複雑な要素Yにマップします（CとYのMax occurrences はどちらも1より大きいと仮定します)

クロスマッピング

クロスマッピングは、複合要素がマップされ、送り元要素が親の送り先要素への複合要素マッピングラインと交差している場合です。

単純クロスマッピング

このシナリオでは、yはCのあらゆるインスタンスに対応するcの値を取得します。（通常、それはCインスタンスの数と同じc値です。)

クロスマッピングのための自動マッピング

このシナリオでは、wにマップされるeは、自動的にCをYにマップします（現在のCからZへのマッピングに加えて)。

兄弟マッピング

従兄弟関係は互いにマッピングすることはできません。

兄弟の送り元複合要素

Max occurences=1の親ノードの子供をマップした場合、そのノードより上の兄弟ノードは自動的にマップされます（親ノードそのものではなく）。

cがwにマップされると、BとYは自動的にマップされます。次にeをxにマップすると、Cが一つのインスタンス（Max occurences=1)の場合、CはYにマップされません。Cが複数回発生の複合物の場合、それを送り元フィルタを適用したり、Cの送り元の複製を作成することによって、一つの複合物としなければなりません。

子の送り元要素

Max occurrences=1の孫ノードをマップした場合、親の親ノードは自動的にマップされます（親ノードそのものではなく）。

cがwにマップされると、BとYは自動的にマップされます。次にeをxにマップすると、Cが一つのインスタンス（Max occurences=1)の場合、CはYにマップされません。Cが複数回発生の複合物の場合、それを送り元フィルタを適用したり、Cの送り元の複製を作成することによって、一つの複合物としなければなりません。

兄弟の送り先複合要素

親と子複合要素を兄弟複合要素にマッピングすることができます。

兄弟の送り元複合要素

兄弟複合要素から親と子複合要素にマッピングすることができます。このタイプのマッピングでは一つのインスタンスだけ持つように（Max occurrences=1）二つ目の兄弟にフィルターを設定する必要があります。


データマッピングの注意点

データマッパーを使用する場合、以下の点を考慮してください。

  • 特定の送り元または送り先にパークすることにより、どの送り元がどの送り先へ接続されているか簡単にチェックすることができます。送り元にパークすると、この送り元に接続されている送り先と接続そのものがハイライト表示されます。同様に送り先にパークすると、この送り先に接続されている送り元と接続そのものがハイライト表示されます。または、特定の接続をクリックすることもできます。接続で繋がっている送り元と送り先がハイライト表示されます。

  • 同じ名前を持ち、同じ名前の単純ノードを含む二つの複合ノードの全ての単純ノードを自動的に接続することができます。これを行なうには、［全て接続］をクリックし同じ名前の単純、複合ノード間の接続を行ないます。これらの全ての接続を削除するには、［全て削除］をクリックします。接続の削除を参照してください。

  • 条件を追加したり複合要素をマッピングする場合、ノードの［プロパティ］ペインの変数を更新するオプションがあります。この複合ノードで一つも単純要素をマッピングしない場合、変数は更新されません。.

  • 条件、更新式が複合ノードに設定されている場合、条件式より先に更新式が最初に計算されます。つまり更新式に含まれている変数は必ず更新されます。

  • 接続が確立すると、実行時にデータマッパーは送り元データ内のさまざまな送り元要素の各要素に対して送り先要素を生成します。有効な送り先を必ず作成してください。

  • マッピング操作を行う場合、マッピングが行なわれる順番を考慮に入れる必要があります。詳細については、こちらをクリックしてください。

  • 送り先をフロー呼出処理として動作するように定義した場合、少なくとも一つの送り元フィールドを送り先に接続しなくてはなりません。

  • 特定の複合送り元/送り先ノードにマウスオーバした場合、ツールチップがそのノードの条件を表示します（もし設定されていれば）。特定の単純送り元/送り先ノードにマウスオーバした場合、ツールチップはそのノードの計算された値を表示します（もし設定されていれば）。

  • 一つの送り先に対して同じXSDの二つのXMLエントリがマッピングされた場合、二つ目のXMLの値は送り先に送られません。

  • マッピングされていない送り先に対して、式エディタを使用して計算値を入力することができます。

一部の異なるタイプのノード間のデータマッパー接続は許可されていません。詳細については、こちらをクリックしてください。


接続の削除

接続を削除するには、接続される送り元または送り先ノードを右クリックし、［接続の削除］を選択するか、Deleteキーを押下します。

送り先の複合ノード内でのすべての単一ノードに対するすべての接続を削除するには、複数の接続を持つ宛先の複合ノードを右クリックし、［全ての接続を削除］を選択するか、Shbift+Deleteキーを押下します。

［全ての接続を削除］は、送り先ノード(処理が要求される場所)が完全に展開されている場合のみ有効です。

複数接続の削除

複数接続内で接続を削除するには、複数の接続を持っている送り先の複合ノードを右クリックし、［接続の削除］を選択します。［接続］ダイアログボックスが開き、どの接続を削除したいかを確認することができます。必要なノードを選択をし、［OK］をクリックします。

接続を削除する際、親の複合接続が残っていない限り、単一接続も削除されます。

例えば、以下のイメージのように、AとCの複合ノード(赤でマークされた部分)間の接続を削除した場合、a2とc2の接続は削除されません。これは、親の複合ノード(AとA)が残っているからです。


マッピングの実行順序

データマッパー内で複数の送り先を使用する場合、実行する順番について以下の点を考慮する必要があります。

  1. データマッパーの実行順は、送り元項目の数や順序、送り先項目のタイプとこれらの間のマッピングに依存します。

  2. 指定した送り元内でマッピングされた複合レコードに対して、同じタイプ（フラット/階層）での全てのマップされた送り先項目は、送り先の階層に位置に基づいて上から下に実行されます。

  3. 複数の送り元が同じ送り先（送り先が階層タイプの場合は、オプションのみです）にマップされた場合、実行順序は再帰的です（最初に内部から実行されます)。

  4. 一つの送り元につき：

a. 実行順序は以下の場合、上から下になります。

    • すべてのフラットタイプは、グループとみなされます。それらの実行順序は、データマッパーの送り先内の表示順序に依存します。最初のフラットな送り先から最後まで、それらは次々と実行されます。

    • 各XMLの送り先は、スタンドアロンの送り先とみなされます。フラットなタイプの場合は、同じようにグループがありません。

b. 例：

    • 送り先に以下の順序で送り先が含まれている場合： XML_1, FlatFile_1, XML_2
      実行順序は以下の通りになります： XML_1, FlatFile_1, XML_2

    • 送り先に以下の順序で送り先が含まれている場合： FlatFile_1, XML_1, FlatFile_2, XML_2, FlatFile_3
      実行順序は以下の通りになります： FlatFile_1, FlatFile_2, FlatFile_3, XML_1, XML_2

  5. フラットなタイプは、フラットファイル、変数、ODS、フロー呼出、UDSとデータベースです。

  6. 階層タイプは、XML、JSONとテンプレートです。

  7. データベースのデータ型タイプはフラットなタイプです、しかし、トランザクションは終了時にコミットされます。これは、データが送り先の階層内に位置付けられるデータベースに書き込まれることを意味します。しかし、定義済みのトランザクションは完了にコミットされます。トランザクションがレコードレベルの場合、データはデータベースに書かれた直後にコミットされます。

  8. 実行総数は、マッピングされた複合体に基づき、実行時の間、送り元内の実際のレコード数と同じになります。

  9. データベースの送り先では：

  10. InsertがDB処理として定義されると、選択された［DBトランザクションレベル］と［エラー動作］に関係なく、実行順序は上記の#1～#8の中のどれかに当てはまります。

  11. Update、DeleteまたはDynamicがDB処理として定義されると、実行順序は送り先の順序に依存します。データマッパーの［エラー動作］が終了として定義され、エラーが発生した場合、実行はエラーの際に終了されます。

  10. 送り先を再整理すると、実行順序も変わるかもしれません。これは、実行結果に影響を及ぼすことになります。


式エディタを使用してマッピングする

接続線を使用する標準の方法に加え、送り先要素のデータを返す式を使用することもできます。式には、変数や関数のほか、送り先要素に接続された送り元XMLの単純要素も使用できます。また、既存の送り先要素の値がある場合は、この値を使用することも可能です。

計算値は、以下の場合に使用します:

  • 送り元に接続されていない単純要素の値を入力する場合

  • データマッパーで接続されている操作される送り元データを使用する場合

  • 複数の送り元を送り先の値を設定する単一の式にまとめる場合

  • Magic xpiの変換関数とMagic xpiのデータコンバータリポジトリを使用してデータを変換する場合

式エディタを使用してデータをマッピングするには：

  1. 送り先ノードでダブルクリックするか、右クリックして［プロパティを表示］を選択することで、ノードの［プロパティ］ペインが開きます。

  2. ［計算値］フィールドで [image] をクリックして、式エディタを開きます。このダイアログボックスを使用して、式または固定値を入力します。関数、算術記号、論理記号、変数、および接続済みノードを選択できます。

  3. ［確認］をクリックして、式から返された結果がノードに対して定義されているデータタイプと一致するかどうかをチェックします。


マッパーアラート

マッパーアラートは、削除されようとしているデータマッパー接続に関する情報を提供します。接続は、以下のような様々な理由で削除される可能性があります。

  • SQL文の変更

  • フラットファイルの変更

  • 移行後のマッピングルール違反

これらの変更が発生した場合、次回、データマッパーを開く時、［マッパーアラート］が自動的に開きます。ここには、これらの削除された接続についての以下のような詳細情報が表示され、必要に応じて簡単に接続を復元することができます。

プロパティ | 説明
送り元スキーマ | 変更が行われた送り元スキーマの名前。
送り元パス | データタイプが変更されたデータのある送り元ノードへのパス。
送り先スキーマ | 変更が行われた送り先スキーマの名前。
送り先パス | データタイプが変更されたデータのある送り先ノードへのパス。
理由 | 接続が削除された理由
条件 | ノードの条件式(有効であれば)
計算値 | ノードの計算値(有効であれば)
単一インスタンスフィルタ | ノードの単一のインスタンス式(有効であれば)

［閉じる］をクリックすると、このダイアログボックスは終了します。

［保存］をクリックすると、情報がログファイルに保存されます。保存すると、後日、削除された接続についての情報を取り出すことができます。

［複合レベルの計算］をクリックすると、［複数更新］ダイアログが表示されます。このダイアログボックスには、［スキーマ接続エラーログ］内にリストされてる複合レベル計算のプロパティを持つノードに関する追加情報が含まれています。［OK］をクリックすると、このダイアログボックスは終了します。

このダイアログボックスは表示のみで変更することはできません。


データマッパーフィルタ

データ マッパーは、ソース側、デスティネーション側、または両側に大きなスキーマを持つことができます。大規模なスキーマを扱う場合、特定のノードを検索したり、関連する接続を表示、作成、削除したりするのは困難です。

ここで便利なのが、Data Mapper ウィンドウの Filter プロパティです。このプロパティを使用すると、迅速なナビゲーションが容易になり、ユーザーはノードの名前やデータタイプに基づいて、選択したスキーマ内のノードを検索することができます。これにより、ユーザーが興味のあるデータのみを表示するようにペインを制限することができます。

ノード検索

ソースとデスティネーションの両方で利用可能な Filter プロパティには、検索するテキストを入力するためのコンボボックスがあります。デフォルトでは、このコンボボックスは空です。ユーザーは独自のフィルタを定義し、マッパーの対応する側で適用することができます。適用されると、フィルタはフィルタ履歴に保存され、コンボボックスで利用できるようになります。保存されたフィルタは、プロジェクト内のどのデータマッパーステップにも適用できます。

過去 100 回の検索のリストが保持されます。このリストは、現在のスタジオ セッションでのみ利用可能で、スタジオの再起動時には保存されません。

フィルタリングされたノードをクリアまたはリセットするには、Esc キーを押します。

フィルタールール

フィルタを適用すると、ある面には以下のノードが表示されます：

  • 複合型とリーフノードの両方のフィルタに一致するノードが表示されます。複合型のノードの場合は、折りたたまれた状態で表示されます。

  • 選択されたノードの親ノードが表示されます（先ほどと同様に折りたたまれた状態または展開された状態を保持します）。そのため、最終的なサブツリーは、選択されたすべてのノードとルートノードへのパスで表示されます。

  • 続リンクは、表示されている側（接続元、接続先、または両側）のいずれかのノードに対して表示されます。

サポートされているフィルタ

リーフノードだけでなく、複合型のノードも検索できます。検索は名前またはデータ型で行うことができます。データ型は<事前に定義された接頭辞>のリストから指定することができます。 名前とデータ型を組み合わせて検索することで，データ型の名前を持つノードを検索することができます．

名前で検索

名前による検索では、正規表現だけでなく、標準的な名前のマッチングもサポートしています。複数の検索値も許可されており、セミコロンで区切る必要があります。検索は大文字と小文字を区別しません。

デフォルトでは、検索は通常の検索になります。正規表現を使用して検索するには、検索の最初に <R> フィルタ接頭辞を使用します。

正規表現を使用する場合、丸括弧や角括弧などの予約文字は、バックスラッシュ(Greathe)を使用してエスケープする必要があります。そのため、これらの特殊文字を含むテキストを含むノードを検索する際には、各文字の前にバックスラッシュを使用してください。正規表現の構文の詳細については、http://docs.microsoft.com/ja-jp/dotnet/standard/base-types/regular-expression-language-quick-reference を参照してください。
データ型で検索

検索メカニズムは、データタイプに基づいてノードをフィルタリングすることもサポートしています。サポートされているデータ型には対応する接頭辞があります。サポートされている接頭辞のリストを以下に示します。

プレフィックスは"<"と">"文字で囲まれ、常に文字列の先頭に来る必要があります。例えば、<C>アドレス

また、プレフィックスにノード名を追加して、指定した名前のデータ型を持つノードを検索することもできます。

プレフィックスのフィルタリング | 意味
<R> | この接頭辞は、検索文字列が正規表現とみなされることを示します。この接頭辞は、以下の接頭辞と組み合わせて使用することができます。
<+> | 接続のあるすべてのノードを表示します。
<-> | 接続されていないすべてのノードを表示します。
<C> | すべての複合ノードを表示します。
<N> | すべての数値ノードを表示します。
<A> | すべてのアルファノードを表示します。
<D> | すべての日付ノードを表示します。
<T> | すべての時間ノードを表示します。
<B> | すべてのブロブノードを表示します。
<L> | すべての論理ノードを表示します。

例

  1. 名前で検索:

Phone と同じ名前のノードを XML で検索します。

  2. 複雑なノードを検索:

複雑な型のすべてのノードのXMLを検索します。

  3. 数値型または日付型のノードを検索:

数値型または日付型のリーフノードを検索します。

  4. 与えられた名前を持つ文字列ノードを検索:

名前がCityのテキストノードを検索

  5. 正規表現を使った検索:

ノード名に数字が含まれるノードを検索

(Since version: 4.13)


データマッパー - すべてを接続

データマッパーは、ソース側および/またはデスティネーション側に大きく複雑なスキーマを持つことがあります。すべてのノードに対して1つずつ接続を作成するのは時間がかかる場合があります。これを避けるために、マッパーの「すべて接続」機能を使用することができます。この機能を使用すると、数回クリックするだけでバルク接続を行うことができます。

ユーザーは、ソースからデスティネーションに複雑なノードを接続したり、ソース上の単純なノードやリーフノードを複数選択してデスティネーションに接続したりすることで、ソースからデスティネーションに複数のノードを接続することができます。

複合ノードを使った接続

このオプションを使用すると、ソース上の複合ノードを選択し、シンプル、ファジー、および 1:1 の 3 つのオプションのいずれかを使用して、デスティネーション上の複合ノードに接続することができます。ここで、データ マッパーは、選択されたオプションに従って、選択された複合ノードのすべての子要素をバルクマッチし、デスティネーションに接続しようとします。ユーザーは、ルート ノードまたは複数発生ノードのいずれかを選択して、接続をマッピングすることができます。単一発生ノードへの接続はサポートされていません。

複数選択を使用した接続

このオプションを使用すると、上記のバルクマッチングの代わりに、選択されたノードのみを接続することができます。

ここでは、ユーザーはソース側で複数のシンプルノードまたはリーフノードを選択し、デスティネーション側で必要なシンプルノードに接続します。ユーザーがデスティネーションで選択されたノードのいずれかと一致しないノードを選択した場合、マッパーは接続を行いません。ノードが選択されたノードのいずれかに一致する場合、マッパーは選択されたオプションに従ってノードを接続します。

上記の両方の方法による接続は、以下のオプションのいずれかに基づいて行うことができます。

  • シンプル

  • ファジー

  • 1:1

マッパーは、選択された基準に基づいて、選択された複合ノードのすべての子ノードを接続します。

シンプル

データ マッパーは、正確なノード名を一致させることで、ソースとデスティネーション間の接続を作成します。ここでは、ソースとデスティネーションの両方のノードの完全な名前が同じである必要があります。名前のマッチングでは、大文字と小文字は区別されません。

たとえば、次の画像を見てください。ここでは、マッピングされるノードは完全に一致する名前を持っていますが、順番が混在しています。したがって、マッピングはSimple Connect Allオプションを使用して行うことができます。

ファジー

データ マッパーは、定義されたルールに基づいたスマート マッチング アルゴリズムを使用して、ソースとデスティネーション間の接続を作成します。ノード名のマッチングは、以下の順序で行われます。名前のマッチングは、大文字と小文字の区別はありません。

部分的な名前の一致は、以下の順序でランク付けされます。

  1. 宛先ノード名はソースノード名と同じです。

  2. 宛先ノード名は送信元ノード名で始まります。

  3. 宛先ノード名は送信元ノード名で終わります。

  4. 宛先ノード名には送信元ノード名が含まれています。

例えば、以下の画像を見てください。ここでは、マッピングするノードは同じではありませんが、上記のルールに基づいて一致しています。このため、Fuzzy Connect All オプションを使用してマッピングを行うことができます。

1:1

これにより、ソース上のノードとデスティネーション上のノードが順番に直接リンクされます。

ソースの最初のノードはデスティネーションの最初のノードにリンクされ、2番目のノードは2番目のノードにリンクされます。ここでは、ノードの名前やデータ型に基づくマッチングは行われません。

リンクされたノードの正しさを検証するのはユーザーの責任となります。

例えば、以下の画像を見てください。ここでは、マッピングされるノードは両側で同じ順序で配置されています。したがって、マッピングは、1:1 Connect Allオプションを使用して行うことができます。

ソース側で複数選択されたノードに対してすべて接続操作を実行する場合、デスティネーション側の複合ノードの選択はサポートされていません。

以下の例を見てください。

無効なシナリオ。

有効なシナリオ。

(Since version: 4.13)


接続の保存/ロード

データマッパーはMagic xpiの不可欠なコンポーネントであり、ユーザーがソースからデスティネーションにデータを変換するのを助けます。これは、ソースとデスティネーションのデータ型の要素間の接続を作成することによって行われます。

ソースとデスティネーションが非常に大きなスキーマを持つ場合、これらのマッピングは非常に複雑になることがあります。これらのマッピングを複数のData Mapperステップで行う必要がある場合、同じプロジェクト内や異なるプロジェクト間では、時間のかかる作業となり、生産性の低下を招くことになります。 フローやプロジェクト間でのマッピングのやり直しを避けるために、Magic xpiでは保存と読み込みの接続機能が導入されています。この機能はデータマッパーのConnect All機能を拡張したものです。この機能は、複数のデータマッパーのステップでソースとデスティネーション間の既存の接続を複製するのに役立ちます。

保存と読み込みのオプションは、データマッパーのコンテキストメニューで利用できます。

［接続の保存] 操作は、マッパー接続のみを保存し、スキーマやマッピング条件、計算値、マルチアップデート操作などの他のマッパー属性の詳細は無視されます。

［接続のロード］は、ディスク上のファイルからデータマッパーステップにマッピングをロードします。したがって、エクスポートされたファイルは、複雑なマッピングのテンプレートとして機能し、プロジェクト間で再利用してマッピングを複製することができます。

保存されたファイルの拡張子は mgmap です。デフォルトの場所（C:\Users\<Current User>\Documents\Magic\Templates\Mappings\Example.mgmap）に保存されます。

この操作は、マッパー接続のみを保存します。マッピングを完全に複製するには、フローエディタのステップでエクスポート/インポート操作を使用します。

接続を保存

［接続の保存] オプションは、データ マッパーのコンテキスト メニューで使用できます。［接続の保存] をクリックすると、データ マッパーの接続をファイルに保存するためのプロンプトが表示されます。ユーザーは、デフォルトの場所に保存するか、別の場所を選択してファイルを保存することができます。

データ マッパー間の接続またはリンクは、選択したファイルの一部として保存されます。

保存されないもの

接続の保存操作では、以下は保存されません：

  • データ マッパーのソースまたはデスティネーション フィールド

  • マッピング条件、計算値などのマッパー属性

  • マッパースキーマ

  • マルチアップデート操作

接続をロード

接続をロード は、接続ファイル (*.mgmap) から接続をロードし、データマッパー に接続を追加します。

接続をロード操作を実行する前に、データマッパー の Source および Destination フィールドを選択しておく必要があります。

接続の読み込みルール

  1. データ マッパーは、ベストエフォート モードでソースとデスティネーション間の名前を一致させることで、接続を複製します。

  2. 既存の接続はそのまま残り、変更や削除は行われません。

  3. 読み込まれたファイル内のマッピングで、ソースとデスティネーションのフィールドに一致しないものは無視されます。この場合、ロードに失敗した接続のリストが、ユーザーへのエラーメッセージとともに表示されます。

(Since version: 4.13)


変数一覧

  • リストから変数を選択し［選択］をクリックします。

  • ［キャンセル］をクリックすると選択されずにリストが閉じます。

  • ［リセット］をクリックするとリストがリセットされます。


データベースからのマッピング情報

データマッパーは、データベースのデータをサポートされているすべてのデータタイプにマッピングできます。マッパは、以下の種類のデータベースから情報を読み取ることができます。

  • Microsoft SQL Server

  • Oracle

Microsoft Windowsの［ODBCデータソースアドミニストレータ］でODBCソースを使用するようにPCを設定する必要があります。選択したドライバがPCにインストールされているか確認してください。

［設定］ダイアログボックスの[リソース]セクションには、データベースのデータソースに接続してデータマッパーで使用するために必要な情報が含まれています。

データをデータベースからマッピングするには、最初にデータベースを［設定］ダイアログボックスの［リソース］]セクションに入力しなければなりません。

データマッパー内で1つの送り元と複数の送り先を使用する場合、実際のデータベース処理(Insertなど)は、送り先の順番に関わらず実行される最後の処理になります。親子関係にある2つのテーブルがある場合、これでは問題になる場合があります。このような場合、個別に送り元/送り先のペアを使用してください。1番目はデータベース処理で、2番目はフロー呼出にする必要があります。

利用できないデータベースサーバ

データベースへの接続が確率していない場合でもマッパを使用し続けることができます。つまりデータベースサーバが利用できない場合でもノード間のマッピングを続けることができます。データベースへの接続が回復すると妥当性が再びチェックされます。

データベースのNULL値サポート

送り元と送り先の両方ともデータベースの場合、もしソースデータベースのフィールドににNULL値が含まれていた場合、送り先にNULL値が入力されます。XMLExistも参照してください。

関連トピック：

データベースリソース

データベースのフィルタ

ODBCデータソースの設定

データベースの手動設定

DB2/400データベースの言語サポートを作成するには


データベースのフィルタ

表示したい各テーブルの横のチェックボックスを選択することにより、データマッパーで使用できるテーブルにフィルタをかけることができます。これにより、同じデータベースを使用して、異なるデータベースマッピングオプションを設定することが可能になります。例えば、Eメールメッセージを送信するための特定のテーブルだけを含んだマッピングオプションを設定することができます。また、別のオプションでは、データをカレンダエントリにマッピングすることもできます。この場合、すべてのテーブルをマッピングで使用できるようにする代わりに、単一のデータベースのテーブルにフィルタをかけ、カレンダエントリだけに必要なテーブルを含んだ別のデータベースを設定することができます（実際には同じデータベースを使用）。

Magic xpiには、フィルタリングをコントロールするための様々なオプションがあります。優先順位は以下の通りです:

  • データベースウィンドウのフィルタ

  • 開始オーナリソースの設定

  • ユーザリソースの設定

以下の表は、DB2 for IBM iデータベースの［データベースのフィルタ］ウィンドウで利用可能なオプションです。

パラメータ | 説明
フィルタ用ライブラリ | ドロップダウンリストからライブラリを選択すると、そのライブラリのみのテーブルを表示することができます。ドロップダウンリストから全てを選択することで、複数のライブラリからテーブルを表示させることができます
テーブル名 | ［テーブル名］の隣のチェックボックスで、マッピングに利用したいテーブルを選択します。 Magic xpiは、最大30文字のテーブル名と接続することができます。より長いテーブル名がある場合、対応の詳細はこの技術情報を参照してください。
オーナ | テーブル内の現在パークされているエントリのオーナー名がテーブルの下に表示されます。

以下の表は、その他のデータベースの［データベースのフィルタ］ウィンドウで利用可能なオプションです。

パラメータ | 説明
フィルタリング用オーナ | そのオーナ専用のテーブルを表示するために、ドロップダウンリストからオーナを選択します。ドロップダウンリストから全てを選択することによって複数のオーナからテーブルを表示することができます。
テーブル名 | ［テーブル名］の隣のチェックボックスで、マッピングに利用したいテーブルを選択します。

  • すべてのチェックボックスの選択を解除するには、［全てクリア］をクリックします。フィルタリングリストの現在のオーナからのテーブル選択だけがクリアされます。［フィルタリング用オーナ］フィールドのドロップダウンリストから全てを選択すると、すべてのオーナからの選択されたテーブルがクリアされます。

  • フィルタを保存して閉じるには、［OK］をクリックします。フィルタを保存せずに閉じるには、［キャンセル］をクリックします。

  • このウィンドウでCtrl+Fを押下することにより検索ダイアログボックスを開き、選択したいテーブルを検索することができます。また、 ［データベースのフィルタ］ウィンドウで右クリックし、コンテキストメニューから［テーブル検索］を選択する方法もあります。ワイルドカードはサポートされていません。

  • F3をクリックすると次の検索結果に移動します。


ODBC データソースの設定

Magic xpiはODBCデータソースを使用して様々なデータベース管理システムからデータにアクセスすることができます。

Magic xpiは以下のデータソースを設定できます。

  • ユーザーDSN (データソース名) …… ユーザデータソースがローカルにあり、そのユーザのみ使用可能です。

  • システムDSN …… システムデータソースがローカルにあるが特定のユーザ専用ではありません。権限を持っているユーザはシステムDSNにアクセスできます。

ODBCデータソースを持つデータベースのデータにアクセスするには、互換ODBC ドライバを設定します。ユーザもしくはシステムデータソースのドライバを、Microsoft WindowsのODBCデータソースアドミニストレータで設定します。プロジェクトには、一つもしくは両方のタイプのデータソースを設定することができます。ODBCの使用方法についての詳細は､こちらを参照してください。

プロジェクトでドライバを使用する前に、選択したドライバがMagic xpiで動作するか確認してください。


データベースの手動設定

このトピックでは、データをマッピングするときに、特定のデータベースを使用できるように手動で設定する方法について説明します。手動設定は次の2つ状況で必要となります。

  • 設定ファイル（Magic.ini）のデータベース ゲートウェイを開く必要がある場合

  • DB2 for IBM iを内部データベースとして使用していない場合に、DB2 for IBM iの言語サポートを追加する必要がある場合

データベース ゲートウェイの設定

データベースを使用してMagic xpiのデータをマッピングする場合は、データベースゲートウェイを設定ファイル（Magic.ini）に定義する必要があります。システムで使用できないデータベースをDBMSリストから選択すると、設定ファイルを手動で更新するよう求めるメッセージが表示されます。

設定ファイルを更新するには：

  1. Magic xpi統合プラットフォームの一部である全てのアプリケーションを終了します。これには、Magic xpiスタジオ、Magic xpiモニタ、Magic xpiサーバ、およびMagic xpa Studioが含まれます。

  2. Magic.iniファイルを開きます。Magic.iniファイルは、Magic xpiをインストールしたMagic xpix.xフォルダに保存されています。このファイルには、Windowsのスタートメニューからもアクセスできます。スタート > / 全てのプログラム > Magic xpi 4.x > 環境ファイル > Magic.iniを選択します。

  3. [Magic_Gateways]というセクションを見つけます。

  4. 目的のデータベースを含んだ行を見つけます。

  5. Oracleの場合 …… ;MGDB13=mgOracle.dll.

  6. DB2 for IBM iの場合 …… ;MGDB18=mgdb2.DLL. mgdb2.dll lはデータベースのDLLファイルです。

  7. ODBCデータベースの場合 …… ;MGDB19=mgodbc.dll. mgodbc.dllはODBCデータベースのDLLファイルです。

  5. 行頭のセミコロン（;）を削除します。

  6. 等号（=）の後に、\Magic xpix.x\Gateways\<.dllファイルの名前>というパスを追加します（行の.dllファイルの名前を削除しないでください。ファイル名はパスの最後のアイテムになります）。この例では、x.xは使用するMagic xpiのバージョンになります。

  7. ファイルを保存します。


Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > データベースからのマッピング情報 > DB2 for IBM iデータベースのデータマッパーのサポート

DB2 for IBM iデータベースのデータマッパーのサポート

詳細は､こちらを参照してください。


マージタグを使用したマッピングデータ

データマッパーは、様々な送り元からのデータをテンプレートにマッピングさせることができます。データをテンプレートファイルにマッピングすることにより、これを実現しています。データ要素を定義するために使用されるマージタグによってテンプレートを作成します。マージタグは、関連するテンプレートの対応するマージタグに適合し、それによって置き換えられるデータ要素を定義するために使用されます。データマッパーは、これらのタグを様々なソースタイプのデータをマッピングする処理に使用します。テンプレートは、テキストエディタで作成し、.txt、.rtf、.htm、または.htmlとして保存することができます。

テンプレートファイルは、マージタグが通常のASCII文字で保存されている限りどのような形式でも使用できます。

マージタグは、特殊な構文で認識されます： <!$MG_NAME>

ここで、接頭辞 !$MG_は固定で､NAMEはタグの名前になります。

データマッパサービスを使用してHTMLファイルを送り先に定義すると、マージ機能がテンプレートファイルをスキャンしマージタグを探します。スキャンされたタグは、データマッパーの送り先テーブルに表示されます。

これらのタグをあらゆる送り元にマッピングすることができます。例えばフロー変数やデータベースフィールドをタグにマッピングできます。

データマッパサービスが実行されると、タグは定義した送り元マッピングに従い値に置き換えられます。

埋め込まれたタグについては、繰り返し領域の内容は複製され、タグは送り元マッピング値に置き換えられます。

送り先テンプレートは［テンプレートプロパティ］ダイアログボックスで指定します。

以下は、テンプレートで使用することができるマージタグです。

タグ | 説明
<!$MG_NAME> | データマッパーで定義されたデータ要素と一致するタグ名を定義します。NAMEはタグの名前で置き換えられなければなりません。データマッパーによってタグがスキャンされ、一致する値が見つかると、その値でタグが置き換えられます。
<!$MGREPEAT> | 繰り返し部分の開始位置を定義します。繰り返し部分は処理ごとに複製されて実行されるので、いかなるデータ行数にも対応できます。このタグは出力からは削除されます。
<!$MGENDREPEAT> | 繰り返し部分の終了位置を定義します。このタグは出力から削除されます。
<!$MGIF_NAME> | IFブロックの開始位置を定義します。ユーザは送り元から値をマッピングするか論理値に変換される式を定義する必要があります。データは論理値として解釈されます。もしデータがTrueであればIFブロックの残りの部分が実行されます。そうでない場合はELSEブロックが実行されます（もし存在すれば）。

特殊文字( *, ., ?, < や >など) は、予想外の結果を引き起こす恐れがあるためテンプレートファイルタグには使用できません。

関連トピック：

動的なテキストファイルを作成するには


フローコンポーネント構成からデータマッパを起動

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > フローコンポーネント設定からデータマッパーを起動

フローコンポーネント設定からデータマッパーを起動

コンポーネントを設定する時に、フローコンポーネントインタフェースを選択することができます。XMLを選択すると、［設定］をクリックすることで、データマッパーユーティリティが開きます。

データマッパーは、すでに定義された1つの送り先で開きます。

マッピング情報は、またデータマッパーユーティリティと同じ方法で選択されたフローコンポーネントの下でプロジェクトファイルのマッピングテーブルに保存されます。


データマッパのエラー処理

Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > データマッパーのエラー処理

データマッパーのエラー処理

データマッパーは以下のエラーコードを返します。

エラーコード | 説明
450 | 送り元に不適切なXML
451 | 送り先に不適切なXML
452 | 送り元XMLがスキーマと合っていない
453 | 送り先XMLがスキーマと合っていない
454 | 送り元ファイルが存在しない
455 | 送り元XMLのフォーマットが正しくない。
9801 | 行がロックされています
9802 | インデックスが重複しています
9803 | 制約違反
9804 | 挿入/更新/削除に失敗しました
9805 | 汎用DBエラー

関連トピック：

データマッパーのトラブルシューティング

データマッパーの送り先データベース

DB トランザクションレベル


データコンバータ

Magic xpiは、Magic xpiサーバの起動時にファイルから読み込まれる変換データを使用して文字列間のデータを変換するデーやコンバータを提供しています。変換データはデータ コンバータリポジトリに保存されます。

データを変換するには、式エディタ内でConvert関数を使用します。式エディタを開き、データマッパーにあるノードプロパティの［値］セクションに変換データを入力します。

関連トピック：

データコンバータリポジトリ

変換リスト

式エディタを使用してマッピングする


データコンバータ リポジトリ

データコンバータリポジトリにファイルを追加または編集するには：

  1. ソリューションエクスプローラで、［データコンバータ］をダブルクリックすると、データコンバーターリポジトリが開きます。また、SHIFT+F9を押下することでも開くことができます。ここには、プロジェクト内の変換テーブルのリストが含まれています。

  2. ［追加］をクリックします。

  3. 変換テーブルの詳細を入力します。:

パラメータ

説明

必須

ID

自動的に生成された内部の認識番号。

No

名

ここには、データコンバータの名前を入力してください。"V." という接頭辞が自動的に追加されます。名前は、最高30文字(接頭辞のために2文字を考慮することで28文字になります)を含めることができます。名前には、次の特殊文字を含めることはできません：[スペース]~'！@ # 、 % & * - = + ( ) { } [ ] | " ?/ \ < > ;または1つ以上のドット(.)。

変換テーブルでは、変換フィールドに半角英文字260文字までサポートされます。スペースは使用できません。

Yes

動的

変換テーブルをダイナミックにしたい場合、このチェックボックスを選択してください。デフォルトはスタティックです。

  • スタティック変換テーブル …… 変換情報が限られている場合や頻繁に変わらない通常の場合、一般的に使用されます。スタティック変換テーブルには入力と出力情報があります。これにはカンマ区切りの文字フィールドが含まれ、常に.txtファイル形式です。スタティック変換テーブルの値はSpaceに格納され、すべてのプロジェクトサーバで共有されます。

  • ダイナミック変換テーブル …… 多くの変換情報を扱う場合、または頻繁に変更される場合に特に使用されます。これにも入力と出力の情報が含まれています。ファイル名は実行時に指定されます。この情報も.txtファイル形式です。

No

ファイル名

変換データを含むフラットファイルへのパスを入力するか、 [image] をクリックし、フラットファイルを選択します。上記の［ダイナミック］のチェックボックスを選択した場合、このフィールドは無効になります。この場合、実行時にリフレッシュ変換ユーティリティでファイル名を定義してください。

Yes

区切文字

データコンバータはテキストフィールドのペア（オリジナル名と変換された名前）を含むファイルに基づいています。この設定はファイルのフィールド間で使用される区切り文字を定義します。

例：

(Name1,ConvertedName1)

(Name1 ConvertedName1)

(Name1@ConvertedName1)

区切り文としてパイプ(|)を使用する場合、2つのエスケープ文字（\\）を前に追加する必要があります。

説明

変換テーブルの説明を入力します。

No

  4. ［編集］をクリックして［データ文字列変換］ダイアログボックスを開きます。［動的ク］をチェックしないで、スタティックテーブルオプションを選択した場合、.txtファイルから取得された入力と出力の情報を編集することができます。もし［動的］にチェックを入れた場合、このボタンは無効になります。

  5. ［データ文字列変換］ダイアログボックスで、送り元文字列と変換後文字列の情報を入力し、［OK］をクリックしてデータコンバータリポジトリに戻ります。

  6. ［保存］をクリックしてエントリを保存します。

重複した名前をデータコンバータリポジトリに追加することはできません。また、［名前］フィールドを空にままにすることもできません。

データコンバータリポジトリからエントリを削除するには：

  1. 削除したいエントリ上でパークしてください。

  2. ［削除］をクリックして、次に［保存］をクリックします。エントリはリポジトリから削除されます。エントリを削除する前に、プロジェクトの別の場所で使用されていないことを確認してください。リファレンス検索ユーティリティを実行することでこれを行うことができます。

関連トピック：

Convert関数


変換リスト

［データ文字列変換］ダイアログボックスは、指定した文字列が出現した場合に他の文字列に変換するために情報を入力することができます。例えば、摂氏（C）温度を華氏（F）温度によって置き換えたい場合、摂氏温度を［接続元文字列］カラムに入力し、華氏温度を［変換後文字列］カラムに入力してください。データコンバータリポジトリで［編集］をクリックして、このダイアログボックスを開きます。

［データ文字列変換］ダイアログボックスには、［データコンバータリポジトリ］ダイアログで選択されたフラットファイルのすべての内容が一覧表示されます。内容は個々の文字列として一覧表示されます。フラットファイル内では、各文字列の最初と最後がカンマ（,）などの区切り記号で区切られています。

データ文字列変機能を使用するには：

  • 変更したい接続元文字列エントリの隣の［変換文字列］カラムセルに、転換したいテキストを入力してください。例えば、全ての摂氏温度を華氏温度に変換したい場合、［接続元文字列］カラムの摂氏温度を見つけ、華氏温度を摂氏温度のエントリの隣の［変換後文字列］カラムセルに入力してください。［OK］をクリックして［データコンバータリポジトリ］ダイアログボックスに戻ります。この変換文字列は保存されます。

新しい文字列をフラットファイルに追加するには：

  • ［新規］をクリックしてください。新しい接続元文字列を入力し、必要なら、新しい変換後文字列を入力してください。［OK］をクリックすると保存され、［データコンバータリポジトリ］ダイアログボックスに戻ります。情報はフラットファイルに入力されます。

文字列を削除するには：

  • 削除したい文字列を含む行を選択し、［削除］をクリックします。［OK］をクリックすると保存され、［データコンバータリポジトリ］ダイアログボックスに戻ります。情報がフラットファイルから削除されます。


Magic xpaユーティリティ

Magic xpaユーティリティは、Magic xpa Studio（以前は、uniPaaSでした）を使用してフローに論理機能を追加したコンポーネントを作成することができます。Magic xpa Studioを開いている時、統合プロジェクトでどのようにMagic xpa ユーティリティを使用するかを説明したMagicヘルプのトピックを開くことができます。

Magic xpaユーティリティを使用することで、Magic xpa Studioを使用してフロー内で起動することができる様々なコンポーネントを生成することができます。

  • フローで使用できるMagic xpaユーティリティのインスタンス数に制限はありません。

  • このコンポーネントを使用するには、Magic xpaでのプログラミングの知識が必要です。

関連トピック：

Magic xpaユーティリティ - 設定

Magic xpaユーティリティ - エラー処理


Magic xpaユーティリティ - 設定

Magic xpaユーティリティは、Magic xpaベースのコンポーネントに追加のコンポーネント機能を提供します。

Magic xpaユーティリティをフローに追加するには：

  1. Magic xpaユーティリティを［ツールボックス］ペインからフローにドラッグしてください。

  2. ［プロパティ］ペインで以下の表jで説明されるている情報を入力してください。

パラメータ

説明

一般

ステップ名

Magic xpaユーティリティの名前を入力してください。

説明

Magic xpaユーティリティの説明を入力してください。

ステップID

フロー内のステップのIDを表示している読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別番号。

コンポーネントタイプ

ステップタイプの名前を表示している読み込み専用フィールド。

条件

フローの実行内容を指定するための条件を入力してください。

をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これはMagic xpaユーティリティがフローの中の最初のステップでない場合のみ選択できます。

完了待ち

ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。

Magic xpaユーティリティがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

アドバンスド

セーブポイント

ステップがフロー内のセーブポイントである場合、Yesを選択します。これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。

オプションはYesまたはNo （デフォルト）です。

  3. Magic xpaユーティリティをダブルクリックするか、右クリックして、コンテキストメニューから［設定］を選択すると［Magic xpa構成］ダイアログボックスが開きます。このダイアログボックスは、以下のフィールドがあります。

パラメータ | 説明
コンポーネント名 | 新しいMagic xpiベースのユーティリティの名前を入力してください。
サーバサービスの読込 | 1つ以上のMagic xpaサービスを呼び出したい場合は、ここのチェックボックスにチェックを入れることで内部のサービスコンポーネント（ifs_services）を読み込みます。 このチェックボックスを選択すると、次回［Magic xpa構成］ダイアログボックスを開く時、新しいMagic xpaユーティリティを編集することができます。［編集］をクリックすると、Magic xpaアプリケーションが読み込まれます。ここで、Magic xpaユーティリティを編集することができます。

  4. ［Magic xpa構成］ダイアログボックスを閉じるには、［OK］をクリックしてください。Magic xpaユーティリティがフローに表示されます。


Magic xpaユーティリティ - エラー処理

Magic xpiサーバのフローマネージャーはステップ実行時にエラーをチェックします。Magic xpaユーティリティのステップでエラーがある場合、エラーハンドラが呼び出されエラーを処理します。

ステップの最初のエラーでステップの実行は中断されます。

Magic xpaユーティリティは独自のエラーコードを持ちませんが、Magic xpiの 一般的なコンポーネントエラーをMagic xpaユーティリティで利用することができます。このエラーコードはMagic xpiサーバの呼出プログラムの［エラーコード］パラメータに返されます。

関連トピック：

エラー


フローデータユーティリティ(ODSと変数)

Home > リファレンスガイド > ユーティリティ > Flow Dataユーティリティ

Flow Dataユーティリティ(ODSと変数)

Flow Dataユーティリティは、Magic xpiプロジェクトのフロー間､そしてフロー内のデータのフローを管理するために使用されます。このサービスをODSデータ、フロー変数、環境変数とユーザパラメータデータで使用することができます。例えば、Flow Dataユーティリティを使用して自動的にフロー内のフロー変数の値を更新することができます。これを行なうには、更新アクションを使用して、フロー変数をタイプとして選択します。そしてデータの起点を示す更新式を選択します。フロー変数に関連付けられているテキストを更新したい場合、［Flow Dataユーティリティ構成］ダイアログボックスのテーブルに以下の情報を入力します。

次の表は、Flow Dataユーティリティでコントロール可能なアクションとデータのタイプを説明しています。

アクション

動作

サポートするデータタイプ

Update(更新)

データを置換し、データを変数に追加します。たとえば、ファイルの中身をユーザBLOBまたはユーザ文字列に追加できます。フロー変数の値を変更することもできます。

ステップ内でODSを更新し、そのODSが存在していない場合、Magic xpiはODSを作成します。

フロー変数

コンテキスト変数

グローバル変数

BP変数

ODSグローバル

ODSローカル

環境変数

Clear(クリア)

変数の値を削除します。例えば、ユーザBLOBまたはユーザ文字列のすべての内容から消去したり、フロー変数の現在の値を消することができます。

フロー変数

コンテキスト変数

グローバル変数

BP変数

ODSグローバル

ODSローカル

環境変数

Reset(リセット)

フロー変数の値を作成時に入力された元のデフォルト値に変更します。このオプションは、フロー変数の作成時にデフォルト値を入力した場合にのみ利用できます。

フロー変数

コンテキスト変数

グローバル変数

BP変数

Delete(削除)

ODSエントリを消去します。ユーザキーレベルでデータが消去され、ユーザキーは存在しなくなります。

Clearを選択した場合は、ODSの入力内容に含まれる情報が消去されますが、ユーザキーは消去されないので、データの追加や変更はいつでも可能です。

ODSグローバル

ODSローカル

Insert(挿入)

ODSキーインデックスにデータを追加します。インデックスはODS配列の一部で、単一のODSキーに複数のデータを入力できます。配列に含まれる個々のデータはインデックスに含まれます。

ODSグローバル

ODSローカル

  • Flow Dataユーティリティを使用して環境変数を更新することができます。値は現在の実行の間だけ変更され、サーバが停止すると保存されません。値は環境変数を使用している同じスレッド内の全てのステップで認識されます。

  • Flow Dataユーティリティ内での UDSSet 関数の使い方は、数値フロー変数（関数の戻り値）で更新し、ソース、送り先の変数名はシングルクオーテーションで囲みます。
    例：UDSSet( 'F.MyDestinationUDS','F.MySourceUDS','True'Log,'MyUDSModule1')

関連トピック：

Flow Dataユーティリティ - 設定

Flow Dataユーティリティ - エラー処理

日付タイプ変数の更新


フローデータユーティリティ - 設定

Home > リファレンスガイド > ユーティリティ > Flow Dataユーティリティ > Flow Dataユーティリティ - 設定

Flow Dataユーティリティ - 設定

Flow Dataユーティリティにフローを追加するには：

  1. Flow Dataユーティリティを［ツールボックス］ペインからフローにドラッグしてください。

  2. ［プロパティ］ペインで、以下の表示に説明されている情報を入力してください。

パラメータ | 説明
一般
ステップ名 | Flow Dataユーティリティの名前を入力してください。
説明 | Flow Dataユーティリティの説明を入力してください。
ステップID | フロー内のステップのIDを表示する読み込み専用フィールド。
コンポーネントID | 自動的に生成された内部の識別番号。
コンポーネントタイプ | ステップタイプの名前を表示する読み込み専用フィールド。
条件 | フローの実行内容を指定する条件に入力してください。 をクリックして式エディタを開くか、コンポーネント上で右クリックしコンテキストメニューから［条件］を選択することができます。
処理モード | ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これはFlow Dataユーティリティがフローの中の最初のステップでない場合のみ選択できます。
完了待ち | ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。Flow Dataユーティリティがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。
アドバンスド
セーブポイント | ステップがフロー内のセーブポイントである場合、Yesを選択します。これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。
コールロジックフロー | 特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。 オプションはYesまたはNo （デフォルト）です。

  3. Flow Dataユーティリティでダブルクリックするか、右クリックして、コンテキストメニューから［設定］を選択すると［Flow Data設定］ダイアログボックスが開きます。このダイアログボックスは、以下のフィールドがあります。

パラメータ

説明

アクション

実行するアクションタイプを選択します。

  • Update …… 対象のFlow Dataにデータを追加または挿入します。たとえば、Flow Dataユーティリティを使用してユーザBLOBに情報を挿入できます。［アクション］タイプとしてUpdateを選択すると、行番号が表示されたツールティップが表示されます。

  • Clear …… 対象のデータフローにあるすべてのデータを削除します。

  • Reset …… 変数（ビジネスプロセス変数、コンテキスト変数、グローバル変数）を初期値にリセットします。

  • Delete …… データベースからODSのエントリを削除します。このアクションは、［タイプ］でODSグローバルまたはODSローカルが選択されている場合にのみ使用できます。

  • Insert …… データをODS配列に挿入します。更新するインデックスのエントリを指定する必要があります。たとえば、配列を持つODSのエントリ（ユーザキー）がある場合、それぞれのデータがインデックスに入力されます。インデックスは番号で参照されます。たとえば、ODSユーザキー'ODataS'に配列がある場合、各インデックスはODataS_1、ODataS_2などと呼ばれます。Insertが選択されると、ODSユーザキーに新規インデックスのエントリが追加されます。

タイプ

選択されたターゲット変数のタイプを示します。

  • Flow

  • Context

  • Global

  • BP …… ビジネスプロセス

  • ODSGlobal

  • ODSLocal

  • Environment

  • Resetが［アクション］で選択されている場合、ODSGlobal、ODS>Local、Environment は選択できません。

  • Deleteが［アクション］で選択されている場合、ODSGlobal、ODS>Local のみが利用できます。

  • Environmentは、UpdateとClear で利用できます。

ダイナ

名前が動的な場合にこのボックスをチェックします。上記の［タイプ］セクションで選択できる全ての変数タイプでこのチェックボックスを利用できます。動的な変数名は、その名前ではなく変数の値を使用します。

名前

変数またはODSキーの名前を入力します。このカラムは、［タイプ］カラムで選択できる全ての変数で使用できます。

  • Flow、Context、Global、または BPが変数のタイプで選択された場合、［名］カラム右側の [image] をクリックして変数一覧を開きます。リストから定義された変数を選択し［OK］をクリックします。動的な名前を選択した場合、 [image] をクリックして式エディタを使用して必要な変数を入力します。動的な名前を使用する場合、変数タイプを指定します。

  • チェックボックスをチェックして動的変数名を定義した場合、［名］カラムは修正できなくなります。

  • Deleteが［アクション］で選択された場合、［名前］カラムを空白のままにして全てのODSGlobalまたはODSLocalのエントリを削除することができます。

  • ODSGlobalまたはODSLocalを［タイプ］で選択している場合、［名前］カラムの右側の [image] をクリックし、［ODSリスト］ダイアログボックスを開きます。ODS変数をリストから選択し［選択］をクリックします。

データタイプ

ドロップダウンリストから標準のデータタイプを選択します。

  • Alpha

  • Numeric

  • Date

  • Logical

  • Time

  • BLOB

ODSGlobalかODSLocalが［タイプ］で選択され、かつ［アクション］がDeleteではない場合のみ有効になります。

UDSモデルをUDSリポジトリに追加しUDSタイプ変数を作成した場合、UDSはこのドロップダウンリストのデータタイプとして選択できます。

エンコーディング

更新されるBLOB型と文字型変数のためにエンコーディング・タイプを表示します。

ドロップダウンリストからの以下のどれかを選択してください。

  • ANSI (デフォルト)

  • Unicode

  • Binary

このカラムは、ODSおよび環境変数を使用している場合は無効になります。

Since version: 4.0a

インデックス

Insert、Update、またはClearを実行するODSインデックスを入力します。このアクションは、ODSグローバルとODSローカルのデータタイプをサポートします。

UpdateまたはClearを行うODS配列内のインデックスを入力するか、配列に新規データを挿入する際に追加されるインデックス番号を示すインデックスを入力します。

ClearやUpdateを選択し、インデックスを入力しなかった場合、最初のインデックスが消去または更新されます。

更新式

処理されるFlow Dataを示す式を入力します。例えば、ユーザBLOBを更新中の場合、ユーザBLOBに入力されるデータを入力します。

データを入力するには、カラムの右側にある [image] をクリックし、式エディタを使用します。または変数または式を含む条件を使用して動的なデータを入力することもできます。

条件

ここにはテキストを自由に入力できます。対象を更新する条件を示す論理式を入力します。Trueは更新されることを、Falseは更新されないことを示します。

条件を入力するには、カラムの右側にある [image] をクリックし、式エディタを使用します。拒否通知が送られる時の更新だけならば、パラメータを定義する式を作成します。ユーザBLOBは条件が一致した場合にのみ更新されます。

  4. ［Flow Data構成］ダイアログボックスを閉じるには、［OK］をクリックしてください。フローデータユーティリティが、はフローで表示されます。


Flow Dataユーティリティ - エラー処理

エラーが発生した場合、Magic xpiはFlow Dataユーティリティスのステップを終了し、フロー用に定義されたエラーポリシーを実行します。

Flow Dataユーティリティは、以下のエラーコードを返します。

エラーコード | 説明
800 | Flow Data一般エラー

関連トピック：

エラー


パブリッシュとサブスクライブ ユーティリティ

パブリッシュとサブスクライブ（PSS）ユーティリティは、ネットワークでの情報配布方法のひとつです。PSSを使用すると、統合プロジェクトでイベントが発生したときに、そのイベントがパブリッシュされるようにイベントを定義できます。イベントを構成して、パブリッシュしたイベントをサブスクライブすることもできます。イベントがパブリッシュされると、イベントをサブスクライブしているフローが起動されます。

サブスクライブまたはパブリッシュできるイベントは、PSSトピックリポジトリに入力されます。このリポジトリ内のトピックは、PSSユーティリティを構成するときにイベントとして定義できます。

PSSトピックをリポジトリに追加するには：

  1. ソリューションエクスプローラで、メインのペインで［PSSトピック］をダブルクリックして［PSSトピック］リポジトリを開いてください。SHIFT+F8を押下することでも開くことができます。

  2. ［追加］をクリックして、新規エントリを作成します。

  3. ［トピック名］カラムをクリックし、PSSトピックの名前を入力します。トピック名は最高30文字を含めることができます。トピック名には、次の文字を含めることはできません：[スペース]~'！@ # 、 % & * - = + ( ) { } [ ] | " ?/ \ < > ;ドット(.)。

  4. ［説明］カラムに移動し、トピックの簡単な説明を入力します。説明の入力はオプションですが、何のトピックであるかが分かるように説明を入力しておくことを推奨します。

  5. ［保存］をクリックして、新しいデータを保存します。

PSSトピックを選択し、［削除］をクリックすると、リポジトリから削除されます。

以下のPSSユーティリティが使用できます。

PSSサブスクライブ …… このユーティリティは、イベントがパブリッシュされたときにフローが起動できるように、フローIDを使用してPSSシステム内のイベントをサブスクライブします。

PSSパブリッシュ …… このユーティリティは、PSSシステムにイベントをパブリッシュし、PSSシステムがパブリッシュイベントに対してサブスクライブするフローを起動できるようにします。

PSS削除 …… このユーティリティは、PSSシステムから指定したイベントを削除します。

  • 重複した名前を［PSSトピック］リポジトリに追加することができません。

  • PSSトピックには、接頭辞として'P'という 文字を自動的に付加します。

  • 不正なエントリが使用された場合、Magic xpiはエラーアイコン [image] を表示します。ツールティップには、エラーの説明が表示されます。 Since version: 4.5

関連トピック：

パブリッシュとサブスクライブ


PSSサブスクライブユーティリティ

PSSサブスクライブユーティリティをフローに追加するには：

  1. PSSサブスクライブユーティリティを［ツールボックス］ペインからフローにドラッグしてください。

  2. [プロパティ]ペインで、以下の表で説明されるように情報を入力してください。

パラメータ

説明

一般

ステップ名

フローでのユーティリティの名前を入力してください。

説明

フローでのユーティリティの説明を入力してください(オプション)。

ステップID

フロー内のステップのIDを表示している読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別番号。

コンポーネントタイプ

ステップタイプの名前を表示している読み込み専用フィールド。

条件

フローの実行内容を指定するための条件を入力してください。

をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これはPSSサブスクライブユーティリティがフローの中の最初のステップでない場合のみ選択できます。

完了待ち

ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。

PSSサブスクライブユーティリテがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

拡張

セーブポイント

ステップがフロー内のセーブポイントである場合、Yesを選択します。これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。

オプションはYesまたはNo （デフォルト）です。

  3. PSSサブスクライブユーティリティをダブルクリックするか、右クリックして、コンテキストメニューから［設定］を選択すると［PSSサブスクライブ構成］ダイアログボックスが開きます。このダイアログボックスは、以下のフィールドがあります。

パラメータ | 説明
PSS名 | サブスクライブするトピックの名前を入力します。 をクリックして式エディタを使用してPSS名を入力してください。
フローID | サブスクライブされているイベントのフローID番号を選択します。［フローID］フィールドの右側にある [image] をクリックしてフ ローリストを開きます。リストからフローを選択し、［選択］をクリックしてフローIDを追加します。
一度 | サブスクライブユーティリユーティリティを1回だけ使用する場合は、［一度］を選択してください。イベントがパブリッシュされた後で、このメソッドはサブスクライブリクエストを削除します。

  4. ［OK］をクリックして［PSSサブスクライブ構成］ダイアログボックスが閉じます。PSSサブスクライブユーティリティがフローに表示されます。


PSSパブリッシュ ユーティリティ

PSSパブリッシュユーティリティをフローに追加するには：

  1. PSSパブリッシュユーティリティを［ツールボックス］ペインからフローにドラッグしてください。

  2. [プロパティ]ペインで、以下の表で説明されるように情報を入力してください。

パラメータ

説明

一般

ステップ名

フローでのユーティリティの名前を入力してください。

説明

フローでのユーティリティの説明を入力してください(オプション)。

ステップID

フロー内のステップのIDを表示している読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別番号。

コンポーネントタイプ

ステップタイプの名前を表示している読み込み専用フィールド。

条件

フローの実行内容を指定するための条件を入力してください。

をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これはPSSパブリッシュユーティリティがフローの中の最初のステップでない場合のみ選択できます。

完了待ち

ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。

PSSパブリッシュユーティリテがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

拡張

セーブポイント

ステップがフロー内のセーブポイントである場合、Yesを選択します。これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。

オプションはYesまたはNo （デフォルト）です。

  3. PSSパブリッシュユーティリティをダブルクリックするか、右クリックして、コンテキストメニューから［設定］を選択すると［PSSパブリッシュ構成］ダイアログボックスが開きます。このダイアログボックスは、以下のフィールドがあります。

パラメータ | 説明
PSS名 | パブリッシュするトピックの名前を入力します。 をクリックして式エディタを使用してPSS名を入力してください。しかし、結果として返る名前は、トピックの正確な名前である必要があります。
メッセージ | サブスクライブフローに取り出してほしいメッセージ。 をクリックして式エディタを使用して必要なメッセージに入力します。メッセージは、C.UserString変数に取り出されます。
BLOB | サブスクライブフローに取り出してほしいBLOB。 をクリックして式エディタを使用して必要なBLOBを入力します。BLOBは、C.UserBlob変数に取り出されます。
コード | サブスクライブフローに取り出してほしいコード。 をクリックして式エディタを使用して必要なコードを入力します。コードは、C.UserCode変数に取り出されます。

  4. ［OK］をクリックして［PSSパブリッシュ構成］ダイアログボックスが閉じます。PSSパブリッシュユーティリティがフローに表示されます。

サブスクライブフローの1つが［最大インスタンス数］に達した場合、PSS パブリッシュユーティリティはエラーを返しません。


PSS削除ユーティリティ

PSS削除ユーティリティをフローに追加するには：

  1. PSS削除ユーティリティユーティリティを［ツールボックス］ペインからフローにドラッグしてください。

  2. [プロパティ]ペインで、以下の表で説明されるように情報を入力してください。

パラメータ

説明

一般

ステップ名

フローでのユーティリティの名前を入力してください。

説明

フローでのユーティリティの説明を入力してください(オプション)。

ステップID

フロー内のステップのIDを表示している読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別番号。

コンポーネントタイプ

ステップタイプの名前を表示している読み込み専用フィールド。

条件

フローの実行内容を指定するための条件を入力してください。

をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これはPSS削除ユーティリティがフローの中の最初のステップでない場合のみ選択できます。

完了待ち

ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。

PSS削除ユーティリテがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

拡張

セーブポイント

ステップがフロー内のセーブポイントである場合、Yesを選択します。これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。

オプションはYesまたはNo （デフォルト）です。

  3. :PSS削除ユーティリティをダブルクリックするか、右クリックして、コンテキストメニューから［設定］を選択すると［PSS削除構成］ダイアログボックスが開きます。このダイアログボックスは、以下のフィールドがあります。

パラメータ | 説明
PSS名 | 削除するトピックの名前を入力します。 をクリックして式エディタを使用してPSS名を入力してください。
フローID | 削除されているイベントのフローID番号を選択します。［フローID］フィールドの右側にある [image] をクリックしてフ ローリストを開きます。リストからフローを選択し、［選択］をクリックしてフローIDを追加します。

  4. ［OK］をクリックして［PSS削除構成］ダイアログボックスが閉じます。PSSパブリッシュユーティリティがフローに表示されます。


ロック ユーティリティ

ロックシステムは、ロックした各リソースのエントリを保持します。

ロックユーティリティでは、フローに、ロック（Lock）またはアンロック（Unlock）のいずれかのタイプのステップを作成することができます。選択したロックタイプによって、異なる情報を入力する必要があります。ロックシステムは、ロックした各リソースのエントリを保持します。開発段階で、フローコンポーネントを定義したり、開発したりするするときに、重要なセクションをロックまたはアンロックするようにできます。他のユーザはロックしたセク ションのリソースを変更することができません。

重要なセクションは、データベース内に半永久的に、または、サーバのメモリ内にローカルにロックしておくことが可能です。

以下のロックユーティリティを使用することができます。

ロックリソース …… 重要なセクションをロックします。

アンロックリソース …… 重要なセクションをアンロックします。

関連トピック：

ロック


リソースのロック

Home > リファレンスガイド > ユーティリティ > ロック ユーティリティ > ロックリソースユーティリティ

ロックリソースユーティリティ

ロックリソースユーティリティをフローに追加するには：

  1. ロックリソースユーティリティを［ツールボックス］ペインからフローにドラッグしてください。

  2. [プロパティ]ペインで、以下の表で説明されるように情報を入力してください。

パラメータ

説明

一般

ステップ名

フローでのユーティリティの名前を入力してください。

説明

フローでのユーティリティの説明を入力してください(オプション)。

ステップID

フロー内のステップのIDを表示している読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別番号。

コンポーネントタイプ

ステップタイプの名前を表示している読み込み専用フィールド。

条件

フローの実行内容を指定するための条件を入力してください。

をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これはロックリソースユーティリティがフローの中の最初のステップでない場合のみ選択できます。

完了待ち

ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。

ロックリソースユーティリティがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

アドバンスド

セーブポイント

ステップがフロー内のセーブポイントである場合、Yesを選択します。これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。

オプションはYesまたはNo （デフォルト）です。

  3. ロックリソースユーティリティをダブルクリックするか、右クリックして、コンテキストメニューから［設定］を選択すると［ロック構成］ダイアログボックスが開きます。このダイアログボックスは、以下のフィールドがあります。

パラメータ

説明

ロック名

ロックユーティリティの名前を入力します。 をクリックして式エディタを開き、名前を入力します。

常にブロック

同じスレッドの上で複数ロックか単一ロックを許可するかどうかを指定します。ドロップダウンリストからの以下のどちらかを選択します：

  • No （デフォルト)……リソースが同じスレッド内でロックされている場合、追加ロックは無視されてブロックされません。

  • Yes ……リソースが同じスレッド内でロックされていても、同じリソース上の追加ロックは無期限に待つか、タイムアウトになるまで待ちます。

どちらの場合も、ロック情報は、Speceのメモリに保存されます。

タイムアウト

重要なセクションをロックしようとするときの最大待ち時間（秒）を入力します。値が0の場合、タイムアウトの制限がないことを示します。

戻りコード

フィールドの右側にある [image] をクリックし、変数リストを開きます。リストから、ロックが成功したかどうかを示す戻り値が返る変数を選択します。以下の値が返ります。

  • 0 …… ロックが成功しました。

  • 1 …… 同じFSIDでロックされています。

  • 2 …… 別のFSIDによってロックされています。

  • 3 …… ロック中にエラーが発生しました。

  • 10 …… リソースは同じワーカによってロックされています。

  4. ［OK］をクリックして［ロック構成］ダイアログボックスが閉じます。ロックリソースユーティリティがフローに表示されます。


アンロックリソースユーティリティ

アンロックリソースユーティリティをフローに追加するには：

  1. アンロックリソースユーティリティを［ツールボックス］ペインからフローにドラッグしてください。

  2. [プロパティ]ペインで、以下の表で説明されるように情報を入力してください。

パラメータ

説明

一般

ステップ名

フローでのユーティリティの名前を入力してください。

説明

フローでのユーティリティの説明を入力してください(オプション)。

ステップID

フロー内のステップのIDを表示している読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別番号。

コンポーネントタイプ

ステップタイプの名前を表示している読み込み専用フィールド。

条件

フローの実行内容を指定するための条件を入力してください。

をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これはアンロックリソースユーティリティユーティリティがフローの中の最初のステップでない場合のみ選択できます。

完了待ち

ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。

アンロックリソースユーティリティがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

アドバンスド

セーブポイント

ステップがフロー内のセーブポイントである場合、Yesを選択します。これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。

オプションはYesまたはNo （デフォルト）です。

  3. アンロックリソースユーティリティをダブルクリックするか、右クリックして、コンテキストメニューから［設定］を選択すると［アンロック構成］ダイアログボックスが開きます。このダイアログボックスは、以下のフィールドがあります。

パラメータ

説明

アンロック名

アンロックユーティリティの名前を入力します。 をクリックして式エディタを開き、名前を入力します。

戻りコード

フィールドの右側にある [image] をクリックし、変数リストを開きます。リストから、アンロックが成功したかどうかを示す戻り値が返る変数を選択します。以下の値が返ります。

  • 0 …… アンロックが失敗しました。

  • 1 …… アンロックが成功しました。

  4. ［OK］をクリックして［アンロック構成］ダイアログボックスが閉じます。アンロックリソースユーティリティがフローに表示されます。


メッセージ保存ユーティリティ

メッセージ保存ユーティリティは、統合プロジェクトのフローが配備される時に、サーバによって送られるメッセージを定義し、設定します。

メッセージ保存ユーティリティをフローに追加するには：

  1. メッセージ保存ユーティリティを［ツールボックス］ペインからフローにドラッグしてください。

  2. [プロパティ]ペインで、以下の表で説明されるように情報を入力してください。

パラメータ

説明

一般

ステップ名

フローでのユーティリティの名前を入力してください。

説明

フローでのユーティリティの説明を入力してください(オプション)。

ステップID

フロー内のステップのIDを表示している読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別番号。

コンポーネントタイプ

ステップタイプの名前を表示している読み込み専用フィールド。

条件

フローの実行内容を指定するための条件を入力してください。

をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これはメッセージ保存ユーティリティがフローの中の最初のステップでない場合のみ選択できます。

完了待ち

ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。

メッセージ保存ユーティリティがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

アドバンスド

セーブポイント

ステップがフロー内のセーブポイントである場合、Yesを選択します。これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。

オプションはYesまたはNo （デフォルト）です。

  3. メッセージ保存ユーティリティをダブルクリックするか、右クリックして、コンテキストメニューから［設定］を選択すると［メッセージ保存構成］ダイアログボックスが開きます。このダイアログボックスは、以下のフィールドがあります。

パラメータ | 説明
メッセージ | アクティビティログに保存されるメッセージ。メッセージを入力するか、［メッセージ］フィールドの右側で [image] をクリックすることで式エディタを開き、メッセージを作成するができます。
BLOB | メッセージを含むBLOBファイル。［BLOB］フィールドの右側で [image] をクリックすることで式エディタを開き、BLOBファイルを選択することができます。
拡張子 | メッセージファイルのファイル拡張子。

  4. ［OK］をクリックして［メッセージ保存構成］ダイアログボックスが閉じます。メッセージ保存ユーティリティがフローに表示されます。

関連トピック：

メッセージング


NOPユーティリティ

NOP(no operation)ユーティリティは、分岐の条件付実行を定義できる機能を提供することでフロー内でより効果的な統合を作成します。

NOPユーティリティをフローに追加するには：

  1. NOPユーティリティを［ツールボックス］ペインからフローにドラッグしてください。

  2. [プロパティ]ペインで、以下の表で説明されるように情報を入力してください。

パラメータ

説明

一般

ステップ名

フローでのユーティリティの名前を入力してください。

説明

フローでのユーティリティの説明を入力してください(オプション)。

ステップID

フロー内のステップのIDを表示している読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別番号。

コンポーネントタイプ

ステップタイプの名前を表示している読み込み専用フィールド。

条件

フローの実行内容を指定するための条件を入力してください。

をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これはNOPユーティリティがフローの中の最初のステップでない場合のみ選択できます。

NOPユーティリティががフローにおいて最初のステップではない場合のみ有効です。

完了待ち

ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。

NOPユーティリティがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

アドバンスド

セーブポイント

ステップがフロー内のセーブポイントである場合、Yesを選択します。

これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。

オプションはYesまたはNo （デフォルト）です。


BAMユーティリティ

BAM（ビジネス アクティビティ モニタリング）ユーティリティでは、ビジネスプロセスに関連するサーバが送信するメッセージを定義、構成することができます。BAMメッセージは、重要なビジネスプロセスを監視し、そうしたプロセスに関するメッセージや警告を提供します。このセクションでは、BAMユーティリティをフローに追加する方法と戻りのメッセージを定義する方法について説明します。

BAMユーティリティをフローに追加するには：

  1. BAMユーティリティを［ツールボックス］ペインからフローにドラッグしてください。

  2. [プロパティ]ペインで、以下の表で説明されるように情報を入力してください。

パラメータ

説明

一般

ステップ名

フローでのユーティリティの名前を入力してください。

説明

フローでのユーティリティの説明を入力してください(オプション)。

ステップID

フロー内のステップのIDを表示している読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別番号。

コンポーネントタイプ

ステップタイプの名前を表示している読み込み専用フィールド。

条件

フローの実行内容を指定するための条件を入力してください。

をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これはBAMユーティリティがフローの中の最初のステップでない場合のみ選択できます。

BAMユーティリティがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

完了待ち

ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。

BAMユーティリティがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

アドバンスド

セーブポイント

ステップがフロー内のセーブポイントである場合、Yesを選択します。

これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。

オプションはYesまたはNo （デフォルト）です。

  3. BAMユーティリティをダブルクリックするか、右クリックして、コンテキストメニューから［設定］を選択すると［BAM構成］ダイアログボックスが開きます。このダイアログボックスは、以下のフィールドがあります。

パラメータ

説明

メッセージ

フローのモニタリング時に表示されるメッセージテキストです。メッセージを入力するか、［メッセージ］フィールドの右側の [image] をクリックして式エディタを開き、メッセージを作成します。

BLOB

メッセージを含むBLOBファイルです。［BLOB］フィールドの右側の [image] をクリックして式エディタを開き、BLOBファイルを選択します。

拡張子

メッセージファイルのファイル拡張子です。

カテゴリ

BAMメッセージのカテゴリを直接入力するか、式エディタを使用して定義します。

優先順位

メッセージの優先順位を示す数値を入力します。［優先順位］フィールドの右側の [image] をクリックして式エディタを開き、BAMメッセージの優先順位を定義することができます。

式の結果の最大長は、12桁です。

ステータス

BAMメッセージのために戻すステータスを定義します。［ステータス］フィールドの右側の [image] をクリックして式エディタを開き、BAMメッセージのステータスを定義します。

式の結果の最大長は、12桁です。

ユーザキー 1

ユーザキー 2

ユーザキーを2つまで作成できます。［ユーザキー］フィールドの右側の [image] をクリックして式エディタを開き、BAMメッセージのユーザキーを定義します。

  4. ［OK］をクリックして［BAM構成］ダイアログボックスが閉じます。BAMユーティリティがフローに表示されます。


遅延ユーティリティ

遅延ユーティリティを使用すると、フローの実行時にステップを遅延させる時間を定義できます。特定のインスタンスについてフローを遅延させるために、0.1秒単位で一度のみの遅延を指定したり、条件を作成することができます。

遅延ユーティリティをフローに追加するには：

  1. 遅延ユーティリティを［ツールボックス］ペインからフローにドラッグしてください。

  2. [プロパティ]ペインで、以下の表で説明されるように情報を入力してください。

パラメータ

説明

一般

ステップ名

フローでのユーティリティの名前を入力してください。

説明

フローでのユーティリティの説明を入力してください(オプション)。

ステップID

フロー内のステップのIDを表示している読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別番号。

コンポーネントタイプ

ステップタイプの名前を表示している読み込み専用フィールド。

条件

フローの実行内容を指定するための条件を入力してください。

をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これは遅延ユーティリティがフローの中の最初のステップでない場合のみ選択できます。

遅延ユーティリティがフローにおいて最初のステップではない場合のみ有効です。

完了待ち

ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。

遅延ユーティリティがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

アドバンスド

セーブポイント

ステップがフロー内のセーブポイントである場合、Yesを選択します。

これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。

オプションはYesまたはNo （デフォルト）です。

  3. 遅延ユーティリティをダブルクリックするか、右クリックして、コンテキストメニューから［設定］を選択すると［遅延構成］ダイアログボックスが開きます。このダイアログボックスは、以下のフィールドがあります。

パラメータ | 説明
遅延時間（1/10秒） | フローを遅延する時間の総数です。時間を直接入力するか、フィールドの右側の [image] をクリックして式エディタを開き、条件と遅延時間を定義することができます。

  4. ［OK］をクリックして［遅延構成］ダイアログボックスが閉じます。遅延ユーティリティがフローに表示されます。


ポストイベント ユーティリティ

Home > リファレンスガイド > ユーティリティ > イベント発行ユーティリティ

イベント発行ユーティリティ

イベント発行ユーティリティは､イベントを待つユーティリティと一緒に利用する必要があります。イベント発行ユーティリティは、ペイロードを含むイベントをイベントプールに送ります。イベントの識別子はイベント名です。これはノンブロッキング処理です。これは、ユーティリティがイベントの処理を待たないことを意味しています。

イベント発行ユーティリティとベント待ちユーティリティは、ゆるやかに連携されたアーキテクチャの組み込みのデザインを可能にします。

関連トピック：

イベント発行ユーティリティ - 設定


ポストイベントユーティリティ - 構成

Home > リファレンスガイド > ユーティリティ > イベント発行ユーティリティ > イベント発行ユーティリティ - 設定

イベント発行ユーティリティ - 設定

イベント発行 ユーティリティをフローに追加するには：

  1. イベント発行 ユーティリティを［ツールボックス］ペインからフローにドラッグしてください。

  2. [プロパティ]ペインで、以下の表で説明されるように情報を入力してください。

パラメータ

説明

一般

ステップ名

フローでのユーティリティの名前を入力してください。

説明

フローでのユーティリティの説明を入力してください(オプション)。

ステップID

フロー内のステップのIDを表示している読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別番号。

コンポーネントタイプ

ステップタイプの名前を表示している読み込み専用フィールド。

条件

フローの実行内容を指定するための条件を入力してください。

をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これはイベント発行ユーティリティがフローの中の最初のステップでない場合のみ選択できます。

イベント発行ユーティリティがフローにおいて最初のステップではない場合のみ有効です。

完了待ち

ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。

イベント発行ユーティリティがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

アドバンスド

セーブポイント

ステップがフロー内のセーブポイントである場合、Yesを選択します。

これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。

オプションはYesまたはNo （デフォルト）です。

  3. イベント発行ユーティリティをダブルクリックするか、右クリックして、コンテキストメニューから［設定］を選択すると［イベント発行構成］ダイアログボックスが開きます。このダイアログボックスは、以下のフィールドがあります。

パラメータ | 説明
イベントキュー名 | ポストされるイベントキューの名前を入力します。名前を入力するか、 [image] をクリックして式エディタを使用して定義することができます。
メッセージ | イベントを待つユーティリティによってC.UserString変数内に取り出されるメッセージ。
BLOB | イベントを待つユーティリティによってC.UserBLOB変数内に取り出されるBLOB。
コード | イベントを待つユーティリティによってC.UserCode変数内に取り出されるコード。

  4. ［OK］をクリックして［イベント発行構成］ダイアログボックスが閉じます。イベント発行ユーティリティがフローに表示されます。:


イベントを待つユーティリティ

イベントを待つユーティリティは、イベント発行ユーティリティと一緒に使用します。ステップ内に定義されたイベント名と一致したイベントが見つかるまで、フローの実行を停止します。そのようなイベントが見つかると、フロー実行は次のステップまで実行し、C.UserStringや C.UserBLOB、C.UserCode変数はイベントペイロードから更新されます。

同じイベント名を持つイベントが処理される順序は保証されません。

関連トピック：

イベントを待つユーティリティ - 設定


イベントを待つユーティリティ - 構成

Home > リファレンスガイド > ユーティリティ > イベントを待つユーティリティ > イベントを待つユーティリティ - 設定

イベントを待つユーティリティ - 設定

イベントを待つ ユーティリティをフローに追加するには：

  1. イベントを待つ ユーティリティを［ツールボックス］ペインからフローにドラッグしてください。

  2. [プロパティ]ペインで、以下の表で説明されるように情報を入力してください。

パラメータ

説明

一般

ステップ名

フローでのユーティリティの名前を入力してください。

説明

フローでのユーティリティの説明を入力してください(オプション)。

ステップID

フロー内のステップのIDを表示している読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別番号。

コンポーネントタイプ

ステップタイプの名前を表示している読み込み専用フィールド。

条件

フローの実行内容を指定するための条件を入力してください。

をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これはイベントを待つ ユーティリティがフローの中の最初のステップでない場合のみ選択できます。

イベントを待つ ユーティリティがフローにおいて最初のステップではない場合のみ有効です。

完了待ち

ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。

イベントを待つ ユーティリティがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

アドバンスド

セーブポイント

ステップがフロー内のセーブポイントである場合、Yesを選択します。

これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。

オプションはYesまたはNo （デフォルト）です。

  3. イベント発行ユーティリティをダブルクリックするか、右クリックして、コンテキストメニューから［設定］を選択すると［イベント発行構成］ダイアログボックスが開きます。このダイアログボックスは、以下のフィールドがあります。

パラメータ | 説明
イベントキュー名 | イベントを待つを行うイベントキューの名前を入力します。名前を入力するか、 [image] をクリックして式エディタを使用して定義することができます。

  4. ［OK］をクリックして［イベントを待つ 構成］ダイアログボックスが閉じます。イベントを待つ ユーティリティがフローに表示されます。


フローマネージャー

Magic xpiの内部フローマネージャーは、Magic xpiサーバのフローを起動するMagic xpiユーティリティの集合です。以下のユーティリティをフローエディタに配置することで、フローのフローマネージャーを構成します。

  • フロー呼出 …… フローIDを使用して、フローを起動します。 フローは関連するMagic xpiサーバ上で、最初のフロー コンポーネントの［起動］プロパティに基づいて実行されます。 .

  • 遅延フロ-呼出 …… 特定のフローの起動を遅らせます。

  • スケジュールフロー …… フロー呼出のスケジュールを作成します。Magic xpiサーバの実行時は、要求された時間にフローを呼び出すためにスケジュール情報を使用します。

  • アボートフロー …… プロジェクトのロジックのエラーによりアボートされたフローを再スタートするかどうかを指定します。


フロー起動ユーティリティ

Home > リファレンスガイド > ユーティリティ > フローマネージャー > フロー呼出ユーティリティ

フロー呼出ユーティリティ

フロー呼出ユーティリティは、フローIDを使用してフローを起動します。フローは適切なMagic xpiサーバで最初のフローコンポーネントの［起動］プロパティに従って起動されます。

フロー呼出 ユーティリティをフローに追加するには：

  1. フロー呼出 ユーティリティを［ツールボックス］ペインからフローにドラッグしてください。

  2. [プロパティ]ペインで、以下の表で説明されるように情報を入力してください。

パラメータ

説明

一般

ステップ名

フローでのユーティリティの名前を入力してください。

説明

フローでのユーティリティの説明を入力してください(オプション)。

ステップID

フロー内のステップのIDを表示している読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別番号。

コンポーネントタイプ

ステップタイプの名前を表示している読み込み専用フィールド。

条件

フローの実行内容を指定するための条件を入力してください。

をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これはフロー呼出ユーティリティがフローの中の最初のステップでない場合のみ選択できます。

フロー呼出ユーティリティがフローにおいて最初のステップではない場合のみ有効です。

完了待ち

ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。

フロー呼出ユーティリティがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

アドバンスド

セーブポイント

ステップがフロー内のセーブポイントである場合、Yesを選択します。

これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。

オプションはYesまたはNo （デフォルト）です。

  3. フロー呼出ユーティリティをダブルクリックするか、右クリックして、コンテキストメニューから［構成］を選択すると［フロー呼出構成］ダイアログボックスが開きます。このダイアログボックスは、以下のフィールドがあります。

パラメータ

説明

式での呼出

実行時に評価される式に基づいて、動的にフローを呼び出すことができます。ドロップダウンリストから以下のどれかを選択してください：

  • No (デフォルト)

  • Yes

動的にフローを呼び出すには、ビジネスプロセスIDとフローIDの両方を提供する必要があります。ビジネスプロセスIDとフローIDを位置づけるために、GetBPIDとGetFlowID関数を使用することができます。

フローID

起動するフローを指定します。このフィールドは、2つの異なる方法で使用することができます。

  1. ［式で呼び出す］フィールドがNoの場合、 [image] をクリックしてフローリストを開き、呼出したいフローを選択し、［選択］をクリックします。選択されたフローは、ボタンの隣に表示されます。

  2. ［式で呼び出す］フィールドがYesの場合、 [image] をクリックして式エディタを開きます。呼び出したいフローIDを表す式を入力するために、式エディタを使用することができます。

引数

をクリックして［引数］ダイアログボックスを開きます。ここで以下のパラメータを定義します。

  • 送り先変数 …… をクリックして対象のフロー変数を選択します。

  • 入/出力 …… 入力、出力、または 入/出力を選択します

  • 送り元変数 …… をクリックして送り元変数を選択します。出力または入/出力を選択した場合のみ有効です。

  • 送り元変数(式） …… 式エディタを使用して値を入力します。入力を選択した場合のみ有効です。

BP ID

この式は、呼び出したいビジネスプロセスを表します。 をクリックすると式エディタが開きます。必要な情報を入力するために、式エディタを使用することができます。

［式で呼び出す］フィールド(上記)がYesに選択された場合のみ、このフィールドは有効になります。

  4. ［OK］をクリックして［フロー呼出構成］ダイアログボックスが閉じます。フロー呼出 ユーティリティがフローに表示されます。

フロー呼出ユーティリティで定義するように、呼び出したいフローに直接移動することができます。これを行うには、フロー呼出ユーティリティのアイコン上でクリックし、コンテキストメニューを開き、［移動］を選択します。Magic xpiスタジオは、呼び出されたフローを表示し、アクティブにします。

同時に、Magic xpiスタジオのツールバーで、［戻る］ボタン [image] が有効になります。［戻る］ボタンをクリックすると、呼び出したフローに戻ります。


遅延フロー呼出ユーティリティ

Home > リファレンスガイド > ユーティリティ > フローマネージャー > 遅延フロ-呼出ユーティリティ

遅延フロ-呼出 ユーティリティ

遅延フロ-呼出ユーティリティは特定フローの起動を遅延させます。

フローに遅延フロ-呼出ユーティリティを追加するには：

  1. 遅延フロー呼出ユーティリティを［ツールボックス］ペインからフロ-にドラッグしてください。

  2. ［プロパティ］ペインで、以下の表で説明されるように、情報を入力してください。

パラメータ

説明

一般

ステップ名

フローでのユーティリティの名前を入力してください。

説明

フローでのユーティリティの説明を入力してください(オプション)。

ステップID

フロー内のステップのIDを表示している読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別番号。

コンポーネントタイプ

ステップタイプの名前を表示している読み込み専用フィールド。

条件

フローの実行内容を指定するための条件を入力してください。

をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これは遅延フロ-呼出ユーティリティがフローの中の最初のステップでない場合のみ選択できます。

遅延フロ-呼出ユーティリティがフローにおいて最初のステップではない場合のみ有効です。

完了待ち

ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。

遅延フロ-呼出ユーティリティがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

アドバンスド

セーブポイント

ステップがフロー内のセーブポイントである場合、Yesを選択します。

これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。

オプションはYesまたはNo （デフォルト）です。

  3. 遅延フロ-呼出ユーティリティをダブルクリックするか、右クリックして、コンテキストメニューから［構成］を選択すると［遅延フロ-呼出構成］ダイアログボックスが開きます。このダイアログボックスは、以下のフィールドがあります。

パラメータ | 説明
フローID | 遅延起動するフローのIDを指定します。 をクリックし、フローリストを開きます。スケジュールされたフローを選択し、［選択］をクリックします。
日 | フローを遅延する日数を示します（以下の例を参照してください）。
時間 | フローを遅延する時間数を示します（以下の例を参照してください）。
分 | フローを遅延する時間を分で示します（以下の例を参照してください）。
秒 | フローを遅延させる秒数を入力します（以下の例を参照してください）。

  4. ［OK］をクリックします。［遅延フロ-呼出構成］ダイアログボックスが閉じます。遅延フロ-呼出ユーティリティがフローに表示されます。

遅延設定の例

予定された時間より1日と3時間50分フローを遅延させるには、 ［日］フィールドに 1、［時］フィールドに 3、［分］フィールドに 50を入力します。


フロースケジュールユーティリティ

Home > リファレンスガイド > ユーティリティ > フローマネージャー > スケジュールフローユーティリティ

スケジュールフローユーティリティ

スケジュールフローユーティリティは、フロー呼出のスケジュールを作成することができます。このユーティリティは、たとえ、フローがスケジュールされた時間まで呼び出されなくても、別のフロー内の特定のアクションの後に開始されたフローを起動するために使用します。スケジュールフローユーティリティを含むフローが起動されなかった場合、Magic xpiサーバはスケジュールを実行しません。このユーティリティは、フロー内のステップとして使用されます。ステップに条件を設定するか、フローのスケジュールされた時間や日付に条件を設定して、特定の条件が満たされた時のみスケジュールを起動させることもできます。

運用時は、Magic xpiサーバはスケジュール情報を使用して決められた時間帯にフローを実行します。

フローにスケジュールフローユーティリティを追加するには：

  1. スケジュールフローユーティリティを［ツールボックス］ペインからフローにをドラッグしてください。

  2. ［プロパティ］ペインで、以下の表で説明されるように、情報を入力してください。

パラメータ

説明

一般

ステップ名

フローでのユーティリティの名前を入力してください。

説明

フローでのユーティリティの説明を入力してください(オプション)。

ステップID

フロー内のステップのIDを表示している読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別番号。

コンポーネントタイプ

ステップタイプの名前を表示している読み込み専用フィールド。

条件

フローの実行内容を指定するための条件を入力してください。

をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これはスケジュールフローユーティリティがフローの中の最初のステップでない場合のみ選択できます。

スケジュールフローユーティリティがフローにおいて最初のステップではない場合のみ有効です。

完了待ち

ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。

スケジュールフローユーティリティがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

アドバンスド

セーブポイント

ステップがフロー内のセーブポイントである場合、Yesを選択します。

これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。

オプションはYesまたはNo （デフォルト）です。

  3. スケジュールフローユーティリティをダブルクリックするか、右クリックして、コンテキストメニューから［構成］を選択すると［スケジュールフロー構成］ダイアログボックスが開きます。このダイアログボックスは、以下のフィールドがあります。

パラメータ | 説明
フローID | スケジュールされたフローのIDを指定します。 をクリックし、フローリストを開きます。スケジュールされたフローを選択し、［選択］をクリックします。
日付 | フローを開始する日付をdd/MM/yyyy形式で示します。 ［日付］フィールドの隣の [image] をクリックして式エディタを開き、特定のフローを呼び出す式または日付を定義する条件式を定義します。フローやプロジェクト内で発生する特定のイベントに応じてスケジュールを変更したい場合、これを使用することができます。フローを呼び出す日付を動的に定義する式を入力するかもしくは変数使用してください。
時間 | フローを開始する時刻をhh:mm:ss形式で示します。 ［時刻］フィールドの隣の [image] をクリックして式エディタを開き、特定のフローを呼び出す式または時刻を定義する条件式を定義します。フローやプロジェクト内で発生する特定のイベントに応じてスケジュールを変更したい場合、これを使用することができます。フローを呼び出す時刻を動的に定義する式を入力するかもしくは変数使用してください。

  4. ［OK］をクリックします。［スケジュールフロー構成］ダイアログボックスが閉じます。スケジュールフローユーティリティがフローに表示されます。


アボートフローユーティリティ

アボートフローユーティリティは、フローロジックの一部として意図的にフロー実行を中止します。フローの中止ユーティリティにより中断されたフローを自動的に再起動させるオプションもあります。

フローが中止された後に (フローが存在すれば)クリーンアップリカバリーフローが実行されます。

フローにアボートフローユーティリティを追加するには：

  1. アボートフローユーティリティを［ツールボックス］ペインからフローにをドラッグしてください。

  2. ［プロパティ］ペインで、以下の表で説明されるように、情報を入力してください。

パラメータ

説明

一般

ステップ名

フローでのユーティリティの名前を入力してください。

説明

フローでのユーティリティの説明を入力してください(オプション)。

ステップID

フロー内のステップのIDを表示している読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別番号。

コンポーネントタイプ

ステップタイプの名前を表示している読み込み専用フィールド。

条件

フローの実行内容を指定するための条件を入力してください。

をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これはアボートフローユーティリティがフローの中の最初のステップでない場合のみ選択できます。

アボートフローユーティリティがフローにおいて最初のステップではない場合のみ有効です。

完了待ち

ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。

アボートフローユーティリティがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

アドバンスド

セーブポイント

ステップがフロー内のセーブポイントである場合、Yesを選択します。

これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。

オプションはYesまたはNo （デフォルト）です。

  3. アボートフローユーティリティをダブルクリックするか、右クリックして、コンテキストメニューから［構成］を選択すると［フロー中止構成］ダイアログボックスが開きます。このダイアログボックスは、以下のフィールドがあります。

パラメータ

説明

再起動

中止したフローを再起動するかどうかを指定できます。ドロップダウンリストから以下のどれかを選択してください：

  • No (デフォルト)

  • Yes

伝播エラー

フローが中止された場合に、使用可能なユーザエラーを発生させることができます。別のフローがエラーを発生したフローを呼び出した時だけ、動作は関連しています。

エラーコード（数値）を入力するか、 [image] をクリックして式エディタを開いてください。ユーザエラーが定義されなかったり、選択されたエラーが存在していない場合は、一般的なエラーメッセージ(「フローは中断されました」)が表示されます。

  4. ［OK］をクリックします。［フロー中止構成］ダイアログボックスが閉じます。アボートフローユーティリティがフローに表示されます。

エラーが発生した場合、あらゆるコンポーネントに対するこのポリシーを指定することなくフローを中止することができます。これを行うために、エラーフローの終了までアボートフローユーティリティを追加してください。呼び出すフローの［エラーポリシー］リポジトリで、失敗によってエラーが起動されるすべての一般的なコンポーネント・エラーコードを含めるために、エラー範囲を設定してください。エラーがフローにあるとき、これによってフローがアボートされます。


フロー有効ユーティリティ

フロー有効ユーティリティは、プロジェクト内のどのポイントでフローを起動するかを決定できます。プロジェクトがMagicモニタを通して実行された場合、手動でフローを有効/無効にすることができます。あるいはフロー有効ユーティリティを使用して自動的にフローを実行するかを定義することができます。このユーティリティは、定義内容に従って、フローモードを変更するための式を作成します。フローモードは、フローが有効化無効化を定義します。

使用例としては、会社の在庫目録に商品がない場合だけフローを実行したい場合があります。この場合、その商品によって在庫が変更される度に更新されるフロー変数を定義します。

品が在庫からなくなると、フローが実行されるように定義した式を記述します。式の値は数値で0（または、負数）の場合にフローが無効になり、1（あるいは１以上）の場合フローが有効になります。

このユーティリティまたはモニタを利用してフローを有効／無効にすることができます。無効状態のフローを有効にすると、ポーリングトリガはポーリングを開始します。

フローにフロー有効ユーティリティを追加するには：

  1. フロー有効ユーティリティを［ツールボックス］ペインからフローにをドラッグしてください。

  2. ［プロパティ］ペインで、以下の表で説明されるように、情報を入力してください。

パラメータ

説明

一般

ステップ名

フローでのユーティリティの名前を入力してください。

説明

フローでのユーティリティの説明を入力してください(オプション)。

ステップID

フロー内のステップのIDを表示している読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別番号。

コンポーネントタイプ

ステップタイプの名前を表示している読み込み専用フィールド。

条件

フローの実行内容を指定するための条件を入力してください。

をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これはフロー有効ユーティリティがフローの中の最初のステップでない場合のみ選択できます。

フロー有効ユーティリティがフローにおいて最初のステップではない場合のみ有効です。

完了待ち

ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。

フロー有効ユーティリティがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

アドバンスド

セーブポイント

ステップがフロー内のセーブポイントである場合、Yesを選択します。

これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。

オプションはYesまたはNo （デフォルト）です。

  3. フロー有効ユーティリティをダブルクリックするか、右クリックして、コンテキストメニューから［設定］を選択すると［フロー有効構成］ダイアログボックスが開きます。このダイアログボックスは、以下のフィールドがあります。

パラメータ

説明

フローID

有効／無効にするフローのIDを指定します。 をクリックし、フローリストを開きます。有効／無効にするフローを選択し、［選択］をクリックします。選択したフローを削除したい場合、［リセット］をクリックします。

フローモード

フローを有効にするか無効にするか選択します。ドロップダウンリストには三つのオプションがあります。

  • 有効にする

  • 無効

  • 式 …… 式を選択すると、式を入力するフィールドが有効になり、フローを有効にするか無効にするかを定義する式を入力することができます。以下のような数値が返る式を定義してください。

  • 0 または < 0 = 無効

  • 1 または > 1 = 有効

をクリックして式エディタを開き、式を定義することもできます。

  4. ［OK］をクリックします。［フロー有効構成］ダイアログボックスが閉じます。フロー有効ユーティリティがフローに表示されます。


Javaクラスコネクタ ユーティリティ

Javaクラスコネクタ ユーティリティでは、Javaのクラスとオブジェクトにアクセスし、操作することができます。Javaクラスオブジェクトにアクセスするには、インスタンスメソッド、インスタンス変数、スタティックメソッド、またはスタティック変数などの必須オブジェクトを選択し、それぞれから戻り値を受け取ります。これにより、フロー内のコンポーネントがJavaクラスコネクタ ウィザードにアクセスし、必要なオブジェクトおよび作成するインタフェースを選択できます。これによりフロー内のコンポーネントはJavaクラスにアクセスできるようになります。

Javaクラスコネクタ ユーティリティは、以下のようにJavaクラスを探します：

  • 開発中で、Magic xpi スタジオが特定のJavaクラスをよく利用する必要がある場合

    • そのパスは、OSの環境変数のCLASSPATHエントリに定義しておく必要があります。

    • または、jarファイルがある場合、＜Magic xpiのインストールフォルダ>\Runtime\java\lib パスの配下に置く必要があり、Magic xpi スタジオでクラスリストをリフレッシュしなければなりません。

  • 実行中

    • OSの環境変数のCLASSPATHエントリ定義されたパスに依存します。

    • プロジェクトのJavaフォルダのClassサブフォルダ内で、フォルダ名kがクラスファイルを含むパッケージ名でなければなりません。
      例：＜プロジェクト>\Java\Class\PackageName\ClassFile

関連トピック：

［Javaクラスコネクタ］ダイアログボックス

Javaクラスコネクタ - 設定

Javaクラスコネクタ - 使い方

Javaクラスコネクタ - エラー処理

Javaクラスコネクタ - 技術情報


Javaクラスコネクタ ダイアログボックス

Home > リファレンスガイド > ユーティリティ > Javaクラスコネクタ ユーティリティ > ［Javaクラスコネクタ］ダイアログボックス

［Javaクラスコネクタ］ダイアログボックス

Javaクラスコネクタユーティリティをフローに配置すると、Magic xpiは自動的に［プロパティ］ペインで以下のパラメータを表示します：

パラメータ

説明

一般

ステップ名

フローでのユーティリティの名前を入力してください。

説明

フローでのユーティリティの説明を入力してください(オプション)。

ステップID

フロー内のステップのIDを表示している読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別番号。

コンポーネントタイプ

ステップタイプの名前を表示している読み込み専用フィールド。

条件

フローの実行内容を指定するための条件を入力してください。

をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これはJavaクラスコネクタユーティリティがフローの中の最初のステップでない場合のみ選択できます。

Javaクラスコネクタユーティリティがフローにおいて最初のステップではない場合のみ有効です。

完了待ち

ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。

Javaクラスコネクタユーティリティがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

アドバンスド

セーブポイント

ステップがフロー内のセーブポイントである場合、Yesを選択します。

これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。

オプションはYesまたはNo （デフォルト）です。

  3. これらの詳細に入力した後で、Javaクラスコネクタユーティリティをダブルクリックするか、右クリックして、コンテキストメニューから［構成］を選択すると［Javaクラスコネクタ構成］ダイアログボックスが開きます。


Javaクラスコネクタ - 設定

［Javaクラスコネクタ］ダイアログボックスからダブルクリックするか、Javaクラスコネクタユーティリティ上で右クリックして、コンテキストメニューから［構成］を選択すると［Javaクラスコネクタ構成］ダイアログボックスが開きます。

ダイアログボックスには、以下のプロパティがあります。

パラメータ

説明

クラス名

名前を入力するか、右側の [image] をクリックして［クラス選択］画面を開きJavaクラスを選択します。Magic xpiが、Javaクラスを検索する方法について学ぶ場合は、ここをクリックしてください。新しいクラスを［クラス選択］画面で表示させるには［リフレッシュ］をクリックします。

コンストラクタ

Javaコンストラクタまたはメソッドの名前をドロップダウンリストから選択するか、右側の [image] をクリックして一覧からコンストラクタを選択します。利用できるコンストラクタまたはメソッドは選択したクラスに依存します。

コンストラクタのパラメータ

選択したコンストラクタやクラスで利用できるパラメータのリストです。選択されたクラスとコンストラクタに応じて情報は自動的にに入力されます。

オブジェクト参照

右側の [image] をクリックして変数リストを開きます。リストから呼ばれたコンストラクタかメソッドへのリファレンスが返される変数を選択します。

Javaのリファレンスは、グローバル変数内に保存することができません。

入力が終了したら、［メソッド］をクリックして［メソッド詳細］ダイアログボックスを開きます。

パラメータ | 説明
メソッドの詳細
名 | 以前に定義されたメソッドのクラス名を表示します。
条件 | 選択された各メソッドの条件を表示します。
メソッドパラメータの詳細
メソッド引数 | このテーブルには、［メソッド詳細］セクションで選択されたメソッドの引数を表示します。
メソッド戻り値の詳細
タイプ | ここには、メソッドタイプが表示される読み込み専用フィールドです。
戻り値 | 右側の [image] をクリックして変数リストを開きます。リストからメソッドへの呼び出しが返される変数を選択します。

［OK］をクリックすると設定が終了します。


Javaクラスコネクタ - 使い方

以下のステップでは、Magic xpi Javaクラスコネクタをどのように使用するかについて説明しています。Javaクラスコネクタでの機能の詳細については、ここの技術情報を参照してください。

  1. Magic xpi スタジオで、既存のフローを開くか新しいフローを作成します。

  2. ［ツールボックス］ペインでユーティリティを見つけてください。

  3. Javaクラスコネクタをフローにドラッグしてください。

  4. ［プロパティ］ペインで関連した詳細を設定し、Javaクラスコネクタユーティリティをダブルクリックするか、右クリックして［Javaクラスコネクタ構成］ダイアログボックスを開きます。

  5. ［クラス名］フィールドにアクセスしたいクラスの名前を入力します。使用するJavaクラス名が分かっている場合、その名前を入力し、次のステップを実行します。使用するJavaクラス名が分からない場合、以下の手順でウィザードを使用してクラスとメソッドを選択してください。

    1. ［クラス名］フィールドの右側にあるボタンをクリックします。［クラス選択］ウィンドウが表示されます。

    2. リストからJavaクラスを選択し、［選択］をクリックします。

    3. コンストラクタ／メソッドのリストからメソッドを選択し、［選択］をクリックします。［Javaクラスコネクタ構成］ウィンドウが再度表示されます。

  6. ［メソッド］をクリックし､［メソッドの詳細］ウィンドウを開きます。Javaクラスを使用できるように構成に必要な情報を入力します。


Javaクラスコネクタ - エラー処理

エラーが発生すると、Magic xpiはJavaクラスコネクタステップを終了し、直ちにフローの定義済みエラーポリシーを実行します。

Javaクラスコネクタは、以下のエラーコードを返します。

エラーコード | 説明
950 | Javaの例外エラー。Javaコードが対応できない例外処理によって終了した場合、例外エラーがMagic xpiに返されます。Magic xpiはその例外の理由を説明したメッセージを表示します。


スケジューラ ユーティリティ

スケジューラ ユーティリティは、フロー呼出のスケジュールを作成できます。Magic xpiサーバの実行時は、スケジューラシステムの情報を使用し、要求した時間にフローを呼び出します。スケジュールは、Magic xpi スタジオで定義します。スケジューラユーティリティをフローのトリガエリアにドラッグすることでサービスをアクティブにすることができます。

スケジューラ ユーティリティを使用するには：

  1. ［設定］ダイアログボックスの［サービス］セクションでスケジューラサービスを定義してください。

  2. ［ツールボックス］ペインから、スケジューラユーティリティを、スケジューリングしたいフローのトリガエリアにドラッグしてください。トリガエリアは、メインのペインの上部にあります。

  3. スケジューラユーティリティでダブルクリックするか、右クリックして、［スケジューラユーティリティ］ダイアログボックスを開きます。

  4. ［新規］をクリックして、新しいスケジューラを作成します。

  5. ［スケジューラサービス選択］パラメータで、ドロップダウンリストから必要なスケジューラを選択します。

  6. ［スケジューラユーティリティ］ダイアログボックスには、［設定］ダイアログボックスの［サービス］セクションで作成された値を読み込み専用モードで表示されます。

  7. ［OK］をクリックして、設定を完了します。


変換テーブルのリフレッシュユーティリティ

Home > リファレンスガイド > ユーティリティ > リフレッシュコンバージョンユーティリティ

リフレッシュコンバージョン変換テーブルのリフレッシュユーティリティ

このユーティリティは、現在のところ実行するサーバに対応した変換テーブルだけをリフレッシュします。

Magic xpiのリフレッシュコンバージョンユーティリティは、フロー内のいかなるポイントでも実行中に変換テーブルをリフレッシュすることができます。サーバ起動時に、すべての定義済み固定変換テーブルは初期化されメモリに読み込まれます。リフレッシュコンバージョン ユーティリティを実行中に使用すると、選択された変換テーブルはメモリ内でリフレッシュされます。

動的変換テーブルは、ユーティリティによって定義されたファイル名で作成されます。これらのテーブルは、スレッドのコンテキストに従って作成されます。スレッドが終了すると、テーブルはメモリから削除されます。

このユーティリティは、通常のMagic xpiのエラーの動作を継承し、以下の実行エラーを返します。

  • "Conversion Table XXX not found" …… 定義されたファイルが存在しなかった場合、このエラーメッセージが表示されます。

  • "Duplicate Conversion Table key XXX" …… この警告は、指摘されたキーが処理されないということを示しています。警告メッセージがログに送られます。

フローにリフレッシュコンバージョンユーティリティを追加するには：

  1. リフレッシュコンバージョンユーティリティを［ツールボックス］ペインからフローにをドラッグしてください。

  2. ［プロパティ］ペインで、以下の表で説明されるように、情報を入力してください。

パラメータ

説明

一般

ステップ名

フローでのユーティリティの名前を入力してください。

説明

フローでのユーティリティの説明を入力してください(オプション)。

ステップID

フロー内のステップのIDを表示している読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別番号。

コンポーネントタイプ

ステップタイプの名前を表示している読み込み専用フィールド。

条件

フローの実行内容を指定するための条件を入力してください。

をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これはリフレッシュコンバージョンユーティリティがフローの中の最初のステップでない場合のみ選択できます。

リフレッシュコンバージョンユーティリティがフローにおいて最初のステップではない場合のみ有効です。

完了待ち

ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。

リフレッシュコンバージョンユーティリティがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

拡張

セーブポイント

ステップがフロー内のセーブポイントである場合、Yesを選択します。

これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。

オプションはYesまたはNo （デフォルト）です。

  3. リフレッシュコンバージョンユーティリティをダブルクリックするか、右クリックして、コンテキストメニューから［構成］を選択すると［リフレッシュコンバージョン構成］ダイアログボックスが開きます。このダイアログボックスは、以下のフィールドがあります。

パラメータ | 説明
変換テーブル名 | をクリックし、データコンバータリストから変換テーブルを選択します。このリストにはデータコンバータリポジトリで作成されたデータコンバータが表示されます。
動的 | このフィールドは読み込み専用で、データコンバーターリポジトリに指定されているデータコンバータをどのように定義したかを表示します。選択可能なオプションは、Yes と No です。
ファイル名 | 選択されたデータコンバータがダイナミックの場合、ファイル名を入力します。また、 をクリ [image] ックして、式エディタで入力することもできます。 選択されたデータコンバータがスタティックな場合、このカラムには、データコンバータリポジトリで定義された値が表示されます。

  4. ［OK］をクリックします。［リフレッシュコンバージョン構成］ダイアログボックスが閉じます。リフレッシュコンバージョンユーティリティがフローに表示されます。

データコンバータリポジトリで、リフレッシュコンバージョン ユーティリティで使用しているエントリを編集もしくは削除しようとした場合、確認メッセージが表示されます。

関連トピック：

リフレッシュコンバージョンユーティリティ - エラー処理


変換テーブルのリフレッシュユーティリティ - エラー処理

エラーが発生した場合、Magic xpiはリフレッシュコンバージョンステップを終了し、直ちにフローに対応したエラーポリシーを実行します。

この場合、以下のエラーコードを返します。

エラーコード | 説明
1150 | 変換テーブルが見つからない


データコンバータリスト

  • リストからデータコンバータを選択して、［選択］をクリックします。

  • 何も選択しないで終了させるには、［キャンセル］をクリックしてください。


.NET Utility

Magic xpiの.NET Utilityは、独自の.NETコードを記述しMagic xpiの機能を拡張することができます。フロー内にC#またはVB.NETで記述されたステップを作成することができます。

.NET Utilityを使用するには：

  • .NET Utilityを使用するMagic xpiプロジェクトを実行するには、.NETフレームワークのインストールが必要です。

  • .NET Utilityのコードを編集するには、MicrosoftR Visual Studio.NETを購入する必要があります。

ユーティリティを生成すると、Magic xpiはサービス名と同じフォルダに.NETプロジェクトのスケルトンプロジェクトを作成します。

プロジェクトには、Magic xpi の IBFlowComponentインターフェースを実装するクラスが含まれています。メソッド呼び出しに独自のコードを書き込むことができます。Magic xpiは実行時にこのメソッドを呼び出します。

既存のMagic xpi.NETクラスを呼び出すために.NET Utilityを使用することができます。これを行うには、Projectsフォルダ内にComponentフォルダを作成し、.NET Utilityをフローエディタ内にドラッグし、.NETクラス名と言語によってサービスを設定する必要があります。.NETクラスは、コンポーネント名で指定された位置に格納されます。［設定］ボタンをクリックすると、Class Configメソッドが呼び出され、カスタムマイズされた.NET設定フォームを呼び出します。

新しいクラスをコンパイルしたりビルドしたりするのは開発者の責任です。Magic xpiはアセンブリを呼び出すだけで、コンパイル処理等は行ないません。

  • このユーティリティを利用するには.NET Frameworkの知識が必要です。

  • このユーティリティは、すべてのプラットフォーム上でサポートされるわけではありません。詳細は、ここを参照してください。

関連トピック：

.NET Utility - 設定

.NET Utility - エラー処理

NETトラブルシューティング


.NET Utility - 設定

フローに.NET Utilityを追加するには：

  1. .NET Utilityを［ツールボックス］ペインからフローにをドラッグしてください。

  2. ［プロパティ］ペインで、以下の表で説明されるように、情報を入力してください。

パラメータ

説明

一般

ステップ名

フローでのユーティリティの名前を入力してください。

説明

フローでのユーティリティの説明を入力してください(オプション)。

ステップID

フロー内のステップのIDを表示している読み込み専用フィールド。

コンポーネントID

自動的に生成された内部の識別番号。

コンポーネントタイプ

ステップタイプの名前を表示している読み込み専用フィールド。

条件

フローの実行内容を指定するための条件を入力してください。

をクリックして式エディタを開くか、コンポーネント上で右クリックし、コンテキストメニューから［条件］を選択することができます。

処理モード

ステップをリニア、パラレルあるいはスタンドアロンモードのいずれで実行するかを選択します。これは.NET ユーティリティがフローの中の最初のステップでない場合のみ選択できます。

.NET Utilityがフローにおいて最初のステップではない場合のみ有効です。

完了待ち

ステップを完了待ちモードで実行するかどうかを選択します。オプションは Yes または Noです。

.NET Utilityがリニアのステップで、それがフローにおいて最初のステップではない場合のみ有効です。

拡張

セーブポイント

ステップがフロー内のセーブポイントである場合、Yesを選択します。

これはフローの［リカバリポリシー］がセーブポイントに設定されている場合のみ有効になります。

コールロジックフロー

特定のステップの実行後に汎用ロジックを呼び出したい場合にこのオプションを使用することができます。このステップが実行されると、サーバが次のステップに進む前に、［プロー］プロパティで定義されたフローロジックが呼び出されます。

オプションはYesまたはNo （デフォルト）です。

  3. .NET Utilityをダブルクリックするか、右クリックして、コンテキストメニューから［構成］を選択すると［.NET構成］ダイアログボックスが開きます。このダイアログボックスは、以下のフィールドがあります。

パラメータ | 説明
コンポーネント名 | .NET Utilityに付加した名前
言語コード | .NETフレームワーク作成時に使用した言語を選択します。C#またはVB.NETが選択できます。

  4. ［OK］をクリックします。［.NET構成］ダイアログボックスが閉じます。.NET Utilityがフローに表示されます。

データコンバータリポジトリで、リフレッシュコンバージョン ユーティリティで使用しているエントリを編集もしくは削除しようとした場合、確認メッセージが表示されます。

［.NET構成］ダイアログボックスには、以下のボタンもあります。

ボタン | 説明
生成 | ユーザによって提供された名前を持つ.NETクラスを作成します。
構成 | .NETのClass Configメソッドを呼び出します。Magic xpi V2.5で作成されたものを含めた、既存のMagic xpi.NETクラスを呼び出すために.NET Utilityを使用することができます。これを行うには、Projectsフォルダ内にComponentフォルダを作成し、.NET Utilityをフローエディタ内にドラッグし、.NETクラス名と言語によってユーティリティを設定する必要があります。.NETクラスは、コンポーネント名で指定された位置付に格納されます。［設定］ボタンをクリックすると、Class Configメソッドが呼び出されます。
編集 | 既存の.NET Utilityを編集します。

  • V2.5以降の.NET SDKコンポーネントは、現在のMagic xpiバージョンの.NET Utilityに自動的に移行されます。コンポーネント名は、移行されたプロジェクトから引き継がれて、.NET Utilityの適切なフィールドで使用されます。

  • Magic xpiが.NETとBLOBの間で変換する方法は、Magic xpi の定義済みのコンテキストBLOB変数を使用する場合と異なり、ユーザ定義のBLOBデータ変数を使用して動作します。このため、.NET Utilityを使用する場合は、BLOB内容を送受信するためにユーザ定義の変数（たとえば、F.Blb)を利用することが推奨されます。

.NET Utilityアイコンのカスタマイズ

Magic xpiは、.NET Utilityアイコンをカスタマイズすることができます。これには、いくつかの利点があります。たとえば、指定された.NET Utilityをフローで目立たたせることができます。または、同じフロー内での複数の.NET Utilityのインスタンスを簡単に区別することができます。

  • .gifフォーマットのアイコンのみサポートされます。

  • 新しいアイコンは、Magic xpiモニタでも表示されます。

  • プロジェクトを印刷すると、新しいアイコンが使用されます。

.NET Utilityのアイコンをカスタマイズするには、以下の手順に従ってください：

  1. .NET Utilityの設定／作成を行ってください。新しい.NET Utilityを作成すると、＜Magic xpiインストレーション＞\projectsw\<プロジェクト名>\<現在のプロジェクト>のフォルダが自動的に作成されます。新しい<.NET Utility>フォルダには、.gifフォーマットのデフォルトアイコンが含まれます。そして、.NET Utilityの名前が付けられます。

  2. デフォルトアイコンの代わりに独自のアイコンイメージを使用する場合は、デフォルトアイコンと同じ名前に、ファイル名を変更してください。

  3. ＜.NET Utility＞フォルダに、デフォルトアイコンの.gifファイルを新しいアイコンファイルで置き換えてください。

  4. 必要に応じて、他の.NET Utilityの作成手順で同じ方法を繰り返してください。

  5. 次回、フローを開くと、新しいアイコンが表示されます。


.NET Utility - エラー処理

Magic xpiサーバは、ステップ実行中のエラーのチェックをします。.NET Utility ステップでエラーが発生した場合、エラーハンドラが呼び出されエラーを処理します。

.NET Utilityは、以下のエラーコードを返します。

エラーコード | 説明
777 | .NET 呼出エラー

関連トピック：

.NET Utilityエラー


プロジェクト開発ツール

Magic xpi スタジオには、チェッカとデバッガという開発段階でプロジェクトを継続して追跡することが可能なツールがあります。


チェッカー

チェッカーは、Magic xpiプロジェクトのエラーをチェックするツールです。チェッカの実行結果には、統合プロジェクトで発生する様々なエラーや問題に関するレポートを含んだ内容が表示されます。この情報は、発生するであろう様々な問題を解決し、実行環境でプロジェクトがスムーズに運用する上で利用できます。

関連トピック：

チェッカーの利用

チェッカーメッセージ

作成したプロジェクトをチェックするには


チェッカの利用

チェッカは、以下のレベルでプロジェクトをチェックします。

レベル | 説明
プロジェクト | チェッカはプロジェクト全体の構造をチェックします。プロジェクト内のすべてのビジネスプロセス、フロー、リポジトリ、コンポーネント、およびサーバに関する問題やエラーを報告します。
ビジネスププロセス | このレベルでは、チェッカは選択されたビジネスプロセスの構造をチェックします。ここでチェッカは、選択されたビジネスプロセス内のすべてのフローやリポジトリ、コンポーネントとサーバの問題を報告します。
フロー | チェッカは、選択されたフロー構造をチェックします。この場合、選択されたフロー内のすべてのコンポーネントに関する問題を報告します。
ステップ/トリガ | チェッカは選択されたコンポーネントの構成と使用されているすべての式をチェックします。
フォーム検証 | このレベルでは、チェッカはフォームやサービス、リポジトリのフィールドの入力漏れをチェックします。

チェッカには、以下の方法でアクセスすることができます：

  • ［プロジェクト］メニューから［チェッカ］オプションを選択してください。

  • 適切なビジネスプロセス、フローまたはステップ上で右クリックし、コンテキストメニューから［チェッカ］を選択します。

  • Ctrl+R を押下します。

自動チェック処理

プロジェクトの配備前や、デバッガの実行前に自動的にチェッカが実行されます。エラーが見つかると、実行ファイルの作成を継続するかどうかの確認が表示されます。

チェック処理の最後に疑わしいフローが全て表示されます。

手動チェック処理

Magic xpi スタジオの［プロジェクト］メニューから手動でチェッカを起動することができます。これは、全てのオブジェクトに対してチェッカを実行することができます。

関連トピック：

フローの無効、非アクティブ化、削除


チェック結果画面

Home > リファレンスガイド > プロジェクト開発ツール > チェッカー > チェッカーの利用 > チェッカー結果画面

チェッカー結果画面

チェッカーが関連するオブジェクトのチェックを完了すると、［チェッカー結果］画面が開き、チェックしたオブジェクト（エラーや警告、情報）を表示します。このダイアログボックスには、以下のセクションとカラムが含まれています。

カラム | 説明
重大度 | エラーの重大度を表示します。チェッカーのメッセージを参照してください。
BP/名前 | エラーが見つかったビジネスプロセス。
フロー | エラーが見つかったステップ。
ステップ/トリガ | エラーが見つかったステップまたはトリガ
コントロール名 | エラーが見つかったコントロール
説明 | 見つかったエラーの説明。

画面の上部の以下のボタンのどれかをクリックすることで、何を表示するかを決めることができます。

エラー

警告

メッセージ

ライン上でダブルクリックすることで、エラーや警告、または情報メッセージが参照している位置が表示されます。

  • ［チェッカー結果］画面のヘッダには、どこからチェッカを実行したかが表示されます。

  • チェッカーは、ステップに定義されたコンポーネントのエラーやロジックはチェックしません。

  • 結果エリアのカラムヘッダをクリックしてカラムをソートすることができます。

  • チェッカーはユーザ定義コンポーネントへの変更はチェックできません。

  • フローでチェッカを実行させた場合のみ、［チェッカー結果］画面はソリューションエクスプローラを含めません。


チェッカメッセージ

Home > リファレンスガイド > プロジェクト開発ツール > チェッカー > チェッカーの利用 > チェッカーメッセージ

チェッカーメッセージ

チェッカーはプロジェクト全体のメタデータ構造をチェックし、さまざまな不適合を検出します。［チェッカー結果］画面は、潜在的な問題のある個所を一覧表示します。エラーは3段階のレベルで表示されます。

レベル | 説明
エラー 参照： エラーメッセージ | 最も深刻なレベルで、メタデータ内に致命的なエラーがあることを示します。この場合、プロジェクトはMagic xpiサーバでは実行できません。 深刻なエラーの例は以下のとおりです。 必須項目が入力されていません：プロジェクト内のいくつかの要素内に必要なプロパティが設定されていないことを示します。［チェッカー結果］ウィンドウにはエラーが発生した場所が表示されます。 エラーをダブルクリックすると、情報が設定されていないスタジオ内のダイアログボックスが開き、エラーを修正することができます。
警告 参照： 警告メッセージ | メタデータの設定により、サーバ上で正常に実行できなくなるエラーを示します。実行結果は、プロジェクトで定義された予期どうりではない可能性があります。 警告タイプのエラーの例は以下のとおりです。 トランザクション指定されたフローにトランザクション指定されていないステップ：［フロー］プロパティでトランザクションをサポートするように構成されているにもかかわらず、トランザクションをサポートしない構成のフローにコンポーネントが配置されたことを示します。予測されていることであっても、トランザクションはこのステップで行われません。結果ウィンドウにはエラーが発生した場所が表示されます。エラーをダブルクリックすると、問題のあるスタジオのフローが開き、必要に応じて修正できます。このステップでトランザクションを行いたくない場合は、何もしないか、［フロー］プロパティの構成を変更するかのどちらかを行うことができます。
情報 参照：情報メッセージ | ここでは、関連するフローに対してサーバ機能が適切でないなど、効率性の問題を示します。 情報メッセージの例は以下の通りです。 周辺サーバで処理するフローが多すぎる：指定したフロー数を処理できる周辺サーバがあり、そのサーバ上で実行できるフローの数を超えて定義されていることを示します。この場合、プロジェクトはそのまま実行できますが、その周辺サーバに割り当てられているフローの一部またはすべては実行されません。結果ウィンドウには、周辺サーバが配置されている場所が表示されます。サーバに割り当てられているフロー数が多すぎないように、フローを再配置することができます。


エラーメッセージ

Home > リファレンスガイド > プロジェクト開発ツール > チェッカー > チェッカーの利用 > チェッカーメッセージ > エラーメッセージ（チェッカ）

エラーメッセージ（チェッカー）

以下は、チェッカーによって表示されるエラータイプのメッセージの一覧です。メタデータ構造や環境に関しています。

コード | 説明
1 | 必須項目が入力されていません
2 | 式が正しくありません
3 | リソース設定ファイルが正しくありません
4 | リソース設定ファイルがありません
5 | リソースが定義されていません
6 | コンポーネント設定が定義されていません
7 | ODS エントリがありません
8 | UDS モデルがありません
9 | ロジックフローがありません
10 | エラーフローがありません
11 | クリーンアップフローがありません
12 | 例外フローがありません
13 | 式の結果タイプが合っていません
14 | 変数のタイプが合っていません
15 | XMLの位置転送定義が合っていません
16 | XMLの位置転送入力定義が合っていません
17 | 書式か型が合っていません。 参照： "書式または型が定義されていません"というエラーが表示されます"
18 | 確認用XMLスキーマファイルがありません
19 | Web Serviceクライアント用の.jarファイルがありません
20 | 送り元または送り先にマッピングされた接続がありません
21 | サーバがサーバリポジトリにありません。
23 | データマッパーに送り先定義がありません
24 | リソースに定義されたデータベースゲートウェイがロードされていません
25 | サービス設定ファイルが正しくありません
26 | サービス設定ファイルがありません
27 | サービス定義がありません
28 | ユーザ定義コンポーネントファイルがありません


警告メッセージ

Home > リファレンスガイド > プロジェクト開発ツール > チェッカー > チェッカーの利用 > チェッカーメッセージ > 警告メッセージ（チェッカ）

警告メッセージ（チェッカー）

以下は、チェッカーによって表示される警告タイプのエラーの一覧です。

コード

説明

100

プロジェクトには少なくとも一つのトリガか、自動起動のフローが必要です

101

同じ名前の外部トリガタイプが複数あります

102

ビジネスプロセスのためのフローが定義されていません

104

サーバリポジトリに定義されたサーバがありません

106

フローが空白になっています

107

トリガに空白のフローが定義されています

108

定義済みトリガがあるフローで［自動起動］プロパティが設定されています

109

空白のフローが実行されました

110

参照されたフローがありません

111

フローに複数のセーブポイントステップがあります

112

フローに複数の処理完了待ちステップがあります

113

処理完了待ちステップがないパラレルなスレッドは、リカバリ時に整合性が失われる可能性があります

114

処理完了待ちステップにパラレルまたはスタンドアロンの兄弟ステップがありません

115

フローリカバリポリシーにセーブポイントコンポーネントが定義されていません

116

同じレベルでの複数のリニア分岐には条件が必要です

117

プロジェクトのプロパティでEメール設定がないか不完全です

118

このサブスクライブ発行イベントユーティリティ対応したパブリッシュユーティリティを定義する必要があります

119

このアンロックユーティリティに対応したロックユーティリティを定義する必要があります

120

この処理完了待ちユーティリティに対応したイベントポストユーティリティを定義する必要があります

121

起動されたフローで変数が複数回選択されました

122

書式または型の定義が合っていません

マッピングされた要素の中で使用された書式がこのタイプのデフォルトとは異なる場合、このエラーが発生します。不適当な組合せが予想外に発生したり、利用可能な書式サイズを超えた場合(例えば、18桁を超えた場合)、潜在的な実行エラーが通知されます。

123

データマッパーにマッピングされた接続がありません

124

データマッパーの接続タイプが合っていません

125

データマッパーが空白のフローを呼び出しました

126

データマッパーが存在しないフローを呼び出しました

127

XML位置転送にフロー呼出定義がありません

128

XML位置転送マッピングが正しくありません

129

サービスコンポーネント定義が不完全です

130

変数がありません

131

環境変数がありません

132

Web Service障害が変数にマッピングされていません

133

UDSインデックスがありません

134

ODSスコープが変更されました

135

データマッパノードのパスの定義が正しくありません

137

プロジェクトのプロパティで有効化定義がないか不完全です

138

フローDBトランザクション定義でリソース定義がないか不完全です

139

変換テーブルのエントリがありません

141

定義済みフローエラーがエラーリポジトリにありません

142

無効なフローが呼び出されました

143

非アクティブなフローが呼び出されました

144

定義されたステップがありません


情報メッセージ (チェッカー)

以下は、チェッカーによって表示されるI情報タイプのエラーの一覧です。

コード

説明

201

変数リポジトリ内に定義されている変数がプロジェクトで使用されていません

チェッカーは、UDS関数の内部までチェックしません。

従って、（UDSUpdateField ('F.Name1','Field2','123','Field1','abcd','UDS1')のように）変数がUDS関数内で使用された場合、このエラーも返ります。

202

サーバリポジトリに定義されているサーバがプロジェクトで使用されていません

203

Web Serviceの SoapSpyトレーサが次のアドレスで設定されています：XXX

204

定義されたODSがプロジェクトで使用されていません

205

定義されたUDSが使用されていません


デバッガ

Magic xpiデバッガは、Magic xpi スタジオの一部で、開発段階で統合プロジェクトのテストを行うことができます。デバッガは、プロジェクトを実行したり、実行プロジェクトに連動してプロジェクト実行をコントロールすることができます。実行シーケンスやフロー変数、Magic xpiサービス、ブレイクポイントをコントロールしたり参照したりすることができます。デバッガのコンテキストツリーは、サーバがプロジェクト内でどのようにフローを実行しているかを表示します。

デバッグセッションには、以下の方法のどれかで開始することができます。

  • オープンモード： ローカルなPC上でプロジェクトを開きます。［デバッグxpi］メニューから［デバッグ開始］を選択するか、F5を押下するか、ツールバの [image] をクリックすることでこれを行うことができます。

    1. Spaceへの接続性をチェック

    2. チェッカの起動

    3. 全て保存

    4. ビルド

    5. 実行

  • プロジェクトにアタッチモード：: プロジェクトにアタッチします。このオプションは、スタジオに対してプロジェクトをデバッグ実行させます。［デバッグxpi］メニューから［プロジェクトにアタッチ］を選択することでこれを行うことができます。デバッグモードまたは、サーバモードに関わらず、プロジェクトを"プロジェクトにアタッチモード"に変更した場合プロジェクトが停止し、Spaceから削除され、リビルドし、再起動するまで反映されません。また、「サーバモード」と「デバッグモード」という用語を強調し、以下の文を結合し、それらを太文字で設定されます。「デバッグセッション後とサーバモードでプロジェクトを実行しようとする前に、すべてのプロシージャをビルド／リビルドすることを確認してください。デバッグ処理を修正して作成された実行可能ファイルは、実行(追加:すなわちサーバモード)で使用されることはありません」。

デバッガは、［デバッグxpi］メニュー（実行、停止、ブレイク、ステップ、継続/実行、再起動）または、あらかじめ決められた設定（フローの中断、次のステップに設定、ブレイクポイント、ステップ、分岐）によってコントロールされます。これらのコマンドはサーバを実行モードもしくは停止モードにします。これはMagic xpi スタジオの上部に表示されます。停止モードでは、サーバは実行することなく、コマンドを待ちます。実行中のコンテキストは、サーバが実行モードになるまでは次のステップを実行しません。

  • デバッガが実行する時に、それは、Magic xpiがインストールされたフォルダを開かないようにしてください。これによって、デバッグ処理が妨げるかもしれません。.

  • すでにリビルドを実行していても、デバッグ処理が開始される前に、デバッガは常にプロジェクトをビルドします。この処理に長時間かかることがあるため、指定されたフローをデバッグしたい場合、フローデバッグオプションを使用することを推奨します。このオプションは、［ナビゲーション］ペイン内のフローのコンテキストメニューからアクセスすることができます。また、デバッグしたくないフローに対して非アクティブに設定することがもきます。

デバッガを実行すると、チェッカはすべてのアクティブなフローをチェックします。エラーのあるフローは非アクティブにマークされ、デバッグセッション中は実行されません。チェッカーがエラーを見つけた場合、エラーメッセージが表示され、プロジェクトはビルドされされません。［エラー表示］ボタンをクリックすると、［チェック結果］ダイアログボックスが開きます。このボタンをクリックすると、デバッガは継続されなくなります。

チェッカが終了すると、プロジェクトはビルドされ、プロジェクトibpファイルとmappergenerateフォルダが作成されます。プロジェクトibpファイルがデバッガによって作成されるまで、サーバでこのプロジェクトを実行することはできません。サーバでこのプロジェクトを実行したいのであれば、［リビルドソリューション］のオプションを選択する必要があります。

mappergenerateフォルダは生成プロセスの結果ファイルが含まれています。ibpファイル、またはmappergenerateフォルダがすでにプロジェクトのフォルダ内に存在している場合、既存のファイルはDebuggerSaveフォルダにコピーされ、新しいファイルはプロジェクトのルートフォルダに保存されます。

このビルド処理の後で、デバッガはその名前をもとにSpace内の実行プロジェクトを検索します。

  • プロジェクトが見つからない場合、プロジェクトは、新しいibpとmappergenerateを使用して、Spaceに配備されます。

  • 既存のプロジェクトが見つかった場合、新しいibpとmappergenerateは削除され、DebuggerSaveフォルダのファイルがプロジェクトのルートフォルダ(コピーがDebuggerSaveフォルダに残ります)にコピーされます。そして、［プロセスにアタッチ］ダイアログボックスがスタジオに表示されます。アタッチが選択されると、ブレイクポイントのため（例えば、Debug_Info.xmlファイルに基づき）ブレイクされると、スタジオはサーバに通知します。そうでなければ、デバッグセッションは終了します。

プロジェクトがデバッグモードで動作していてスタジオが終了すると、スタジオが動作しているパブリッシュを停止した後、実行プロジェクトは内部で終了します。これによって、コントロールするスタジオの無いロジェクトをデバッグモードで実行することを防止します。さらに、実行プロジェクトにアタッチし、デバッグモードに移す時、スタジオが動作しているパブリッシングを停止すると、プロジェクトは生成モードに戻ります。Since version: 4.5

デバッグセッションで失敗したすべての処理またはアクションは、MagicXPI.Logファイルに記録されます(それは<Magic xpiフォルダ>\Studio\Log フォルダに作成されます)。メッセージボックスは、要求された処理でエラーが発生したことを示す内容を表示します。どのようなエラーが発生したか、そしてそれがどこに発生したかを確認するには、ログを参照してください。Since version: 4.5

デバッガを実行した後に、Outputビューに以下のメッセージが表示されます。このメッセージは、デバッグ処理には影響しないので、無視してください。

'DummyDebuggerConsole.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.

'DummyDebuggerConsole.exe' (Managed (v4.0.30319)): Loaded 'C:\Magic xpi 4.4\Studio\Extensions\Application\DummyDebuggerConsole.exe', Symbols loaded.

The program '[8920] DummyDebuggerConsole.exe: Managed (v4.0.30319)' has exited with code 0 (0x0).

［ナビゲーション］ペイン

デバッガの［ナビゲーション］ペインは、Magic xpi スタジオの通常モードと同じ方法でプロジェクトを操作することができます。

プロジェクトのフローとビジネスプロセスを操作し、フローやステップのプロパティを表示することができます。しかし、フローまたはコンポーネントを追加したり、プロパティを修正するなどの変更はできません。

再接続

デバッガと実行プロジェクトの間に接続の問題がある場合、スタジオは、決められた回数（リトライ回数とタイムアウト値）で再接続を試みます。 (Since version: 4.5).実行時の例外などの接続以外の問題の場合は、デバッガは直ちに終了します。

バージョンアップまたはマシンの変更

プロジェクトフォルダ内にDebug_Infoと呼ばれるファイルがあります。プロジェクトをアップグレードしたり、PCを変更した場合、このファイルを削除し、再度デバッガを起動してください。新しいDebug_Infoファイルが、現在のインストールフォルダ内に作成されます。

デバッグモード中の値の変更

デバッグモードで、リポジトリまたはマッパドキュメントにダーティーインジケータ(*)がある場合、サーバによって検索されたコンテキストデータとスタジオのコンテキスト定義の間に不整合があることに気付く必要があります。

例えば、マッパドキュメントが使用しているXMLファイルにフィールドを追加すると、不整合が発生するかもしれません。

以下のような場合、スタジオで定義された変数とサーバの間で不整合が発生するかもしれません。

  • 変数の値が、コンテキストビューで読み込み専用になります。

  • 変更されたモデルに基づくUDSフロー変数にズームすると、変更されるUDSモデルは正しく表示されません。

  • スタジオから削除されたけれどサーバに存在する変数は、コンテキストビューに表示されません。

  • スタジオがデバッグモードの場合、追加された変数がコンテキストビューに表示されます。実行時に変数を修正することができます。そして、ステップまたは継続を選択すると、新しい値がSpaceとサーバの実行コンテキストに送られます。

  • PSS/UDS/ODS/コンバータの名前またはデータの変更は、実行中のプロジェクトには反映されません。

デバッグモードでは、BLOBタイプ変数を修正することはできません。

稼働中のプロジェクト開発

このような場合に、2つのMagic xpiインストール環境を持つ必要があります。両方の環境(開発環境と運用環境)は、同じ場所に対して書き込みを行い、どのメッセージがどの環境に関連しているかが分からないため、両方の環境に対して同じ内部データベースを使用することはできません。

  • フローの［タイムアウト］プロパティは、デバッグモードでは実行されません。これはデバッガがプロジェクト実行を開始した場合のみ適用されます。デバッガが実行中のプロジェクトにアタッチされた場合、［タイムアウト］プロパティが［フロー］プロパティに定義された通りに動作します。

  • デバッガを開始すると DebugSRV.ini という一時的な ini ファイルがプロジェクトのディレクトリに作成されます。これはデバッガが停止されると削除されます。

  • 最後のスタジオのインスタンスは、ブレークポイントと設定された次のステップなどの、デバッグ情報によってSpaceを更新します。従って、複数のスタジオのインスタンスが実行している場合、予期しない行動が、最後ではないスタジオのインスタンスで発生するかもしれないことに気付く必要があります。Since version: 4.5

デバッガのオンプレミスインストールの設定

Since version: 4.9

Tomcatインストールでデバッガサーバ側をホストするには、以下の手順を実行する必要があります。また、このサーバを参照するようにStudioの設定を変更する必要があります。

  1. Magic xpi 4.9をインストールしてください。

  2. Magic xpiのインストールが完了したら、Magic xpi 4.9 Debuggerという名前のWindowsサービスが起動して実行中であることを確認します。このサービスがインストール後に実行されていない場合は、手動で起動してください。

  3. Magic xpi GSAとMagic Monitorの両方のサービスが起動され、実行されていることを確認してください。

  4. Debuggerサービスは、デフォルトではポート8095で起動します。

  5. デフォルトポートの値は、Studio\Debugger\apache-tomcat-9.0.35\conf の下にある server.xmlファイルで変更することができます。以下のエントリでポートを見つけて編集してください。
    <Connector port = "8095" protocol = "HTTP / 1.1" connectionTimeout = "20000" redirectPort = "8443" />

  6. Studio側での同じ変更は、Studio\Extensions\ApplicationにあるiBolt.dll.configファイルで行うこともできます。以下のエントリでDebuggerPortを見つけて編集してください。
    <add key="DebuggerPort" value="8095" />

  7. 次に Magic xpi Studio 4.9を起動してください。プロジェクトを開き、F5キーを押下してデバッグモードに入ります。

Magic xpi デバッガはTomcatのバージョンが7.0.69以下の場合、互換性がありません。Tomcatのバージョンが7.0.69以下の場合、デバッガサービスが設定されていると、デバッガの起動に失敗します。

関連トピック：

デバッグメニュー

コンテキストツリー

デバッガの設定

デバッグのためのProxyサーバの設定

デバッガのタイムアウト設定

プロジェクトにアタッチ

ブレイクポイントの設定

フロー、分岐、ステップを一時停止

ブレイクポイントと一時停止ペイン

コンテキストビュー

プロジェクトのデバッグ

デバッガでSSLを有効にするには？


デバッグメニュー

Magic xpi スタジオの［デバッグxpi］メニューからデバッグツールを開くことができます。［デバッグxpi］メニューには以下のオプションがあります。

ボタン | オプション | ショートカット | 説明
 | ウィンドウ |  | ブレークポイントと一時停止： ［ブレークポイントとサスペンド］ペインを開きます。 出力： デバッグ処理の結果を表示する［出力］ペインを開きます。
 | デバッグ開始 | F5 | デバッガを起動します。
 | プロジェクトにアタッチ |  | ［プロジェクトにアタッチ］ダイアログボックスを開きます。これはプロジェクトにアタッチモードでデバッグセッションを開始します。
 | ブレイクポイント設定／解除 | F9 | 現在のステップからブレイクポイントの追加、削除を行います。 ブレイクポイントがこのステップ上に存在していない場合、ブレイクポイントが作成されます。 ブレイクポイントが存在していて現在有効ならば、削除されます。
 | プロジェクト設定 |  | ［デバッガ設定］ダイアログボックスを開きます。ここは、リフレッシュレートタイムアウトや他のデバッグオプションを定義する場所です。
 | 設定 |  | ［オプション］ダイアログボックスを開きます。［Magic xpiデバッガ］セクションの［一般］設定が直接開きます。ここで、特定のプロジェクト対して最適な方法で動作するためにデバッガのタイムアウトを設定することができます。

以下の表はデバッグモードでのオプションメニューです。 ［デバッグxpi］メニューからこれらのオプションを選択することができます。オプションは、デバッグ処理のステータスに応じて有効になります。いくつかのデバッグオプションは、ツールバーから実行することができます。デバッグボタンは、デバッグモードでのみ利用可能です。

ボタン | オプション | ショートカット | 説明
 | ウィンドウ |  | 閉じる： デバッグセッションを停止し終了します。 サーバから切断： プロジェクトにアタッチモードで利用できます。"サーバから切断"は、デバッグセッションを停止しますが、サーバを停止させません。 通常の実行モードに変更するだけです。
 | 継続 | F5 | ブレイク後の全てのスレッドの実行を継続します。このオプションは、プロジェクトがブレイクモードの場合に利用できます。
 | 再起動 | Ctrl+Shift+F5 | プロジェクトを再起動します。このオプションは、プロジェクト内の全てのアクティブなコンテキストを直ちに停止させ、対応する全てのデータテーブルをクリアし、サーバと要求されたプロジェクトを再起動します。これは、デバッガ設定のプロジェクト停止のタイムアウトとリカバリ時にクリアを使用します。 このオプションは、プロジェクトにアタッチモードでは利用できません。
 | ブレイク |  | 各コンテキストでステップが終了したらサーバの実行を直ちに停止します。このオプションはプロジェクトにアタッチモードで利用できます。
 | ステップ | F11 | アクティブなデバッグコンテキスト内で1ステップを実行します。これはコンテキストツリーから選択されます。プロジェクトが停止モードにある場合のみ、このオプションは有効です。
 | デバッグ停止 | Shift+F5 | デバッグ処理を停止します。
 | スケジューラ | Ctrl+3 | スケジューラテーブルに基づいて、フロー内のブレイクポイントに到達すると、次に発生するイベントのスケジュールが表示されます。
 | コンテキストビュー | Ctrl+4 | 現在選択されたステップの［コンテキストビュー］ダイアログボックスが開きます。参照： コンテキストビュー
 | 設定 |  | ［デバッグ設定］ダイアログボックスを開きます。

デバッグモードのステップ上で右クリックすると、以下のオプションが利用できます。

オプション | 説明
プロパティ | 読み込み専用モードでステップのプロパティが表示されます。
ブレイクポイント | このステップのブレイクポイントを設定します。
一時停止ステップ | このステップを一時停止に設定します。

デバッガ画面は、スタジオの画面に似ています。メインエリアは、ビジネスプロセスやプロジェクト内のフローがGUI表示されます。左のペインは、次の二つのタブに分かれています。

  • ナビゲーション

  • コンテキストリスト

関連トピック：

ステップコンテキストビュー


コンテキストツリー

コンテキストツリーは、サーバ内のプロジェクトのロードされたコンテキストのステータスを表示します。デバッガが実行され、デバッガが停止する時に自動的にクローズされると、スタジオの左下に表示されます。

コンテキストツリーは、以下のように様々な色や表示で情報を提供しています。

  • 黄色 …… アクティブなデバッグコンテキスト。アクティブなデバッグコンテキストがリニアなパス上にある場合、（最上位の親を含む）上から下に、黄色で強調表示されます。アクティブなデバッグコンテキストがリニアなパス上にない場合、並行実行のコンテキストだけが黄色で強調表示されます。アクティブなデバッグコンテキストで実行する場合の詳細は、ここをクリックしてください。

  • グレイ …… コンテキストパス

  • 緑 …… まだ実行しているコンテキスト

  • 黒 …… 停止しているが、ブレイクポイント上ではないすべてのコンテキスト

  • 太字 …… リニアなパス上のアクティブなデバッグコンテキストとアクティブなデバッグコンテキスト内の実際のアクティブなステップ

  • 通常 …… パークしているものを除いたすべてのコンテキスト

コンテキストツリーには、各コンテキストタイプを素早く識別できるように、様々なアイコンが使用されています。

アイコン | タイプ
 | 自動リピート
 | 自動起動
 | フロー呼出
 | フロー呼出
 | エラーのフロー
 | リカバリーフローの消去
 | ロジックフロー
 | リニアステップ
 | 並行ステップ
 | PSS
 | スケジューラ
 | スタンドアロン
 | トリガ

ブレイクオプションを選択したり、プロジェクトがブレイクポイントに到達した時のみ、ツリーは再表示されます。ブレイクポイントに到達すると、再表示されたプロセスは終了します。

［リフレッシュ］ボタンをクリックすると、表示されたスレッドのステータスや表示数のが再表示されます。ユーザがこの表示上にパークしていない場合は、自動的に更新されません。

ブレークが実行されるか、ブレイクポイントに達するまで、コンテキストツリー内の任意のコンテキストのために値を変更することができます。その時点で、コンテキストツリーは再表示されます。

指定された時間で有効なアクティブなデバッグコンテキストは1つしかありません。ブレイクポイントに到達する最初のコンテキストは、アクティブなデバッグコンテキストとして設定されます。コンテキストメニューから［アクティブなコンテキストの設定］を選択することで、任意のコンテキストをアクティブなデバッグコンテキストとして設定することができます。ステップモードの場合、デバッグ処理のフォーカスは常にアクティブなコンテキストにあります。それがアクティブなデバッグコンテキストと設定された場合のみ、コンテキストを通して実行させることができます。

フロー内のすべての並行コンテキストが終了するまで、フローのリニア部分は終了しません。

各ノードのツールチップには、以下の情報が含まれます。

  • フローの名前とID

  • ステップの名前とID

  • フローシーケンスID

  • コンテキストID

  • BPの名前とID

  • コンテキストの理由

コンテキストツリーのコンテキストメニューは以下のように変更されます。

  • 実行モード時のコンテキストツリーには、以下のオプションが含まれています。

  • 実行/継続

  • 再実行

  • ブレイク

  • ステップ

  • デバッグ停止

  • コンテキストビュー

  • コンテキスト終了

  • アクティブなコンテキスト

  • プロジェクトにアタッチモード時のコンテキストツリーには、以下のオプションが含まれています。

  • 継続

  • ブレイク

  • ステップ

  • コンテキスト停止

  • コンテキストビュー

  • コンテキスト終了

をクリックするとコンテキストツリーを再表示することができます。

アイコン by Axialis Team


デバッグのためのProxyサーバの設定

ユーザはMagic xpi Studioでデバッガ用にプロキシサーバを設定することができます。

デバッガ用のプロキシサーバを設定するには：

  1. [デバッグ xpi]メニューを開き[設定]を選択します。

  2. これにより、[オプション]ダイアログボックスが開きます。このボックスは、[ツール]メニューの[オプション]サブメニューをクリックすることで開くこともできます。

  3. ［Magic xpi デバッガ］メニューを開いて［Proxy］を選択します。

  4. プロキシタイプを選択して、ドロップダウンリストから目的のタイプを選択します。

ユーザは、Magic xpi デバッガに対して、次のタイプのプロキシを設定することができます。

Proxyタイプ

説明

None

Magic xpi デバッガは、インターネットに直接接続します。

System

この場合、Magic xpiはシステム設定のProxy サーバを使用します。

システムProxyサーバは、ネットワークの設定でプロキシサーバの設定を行うことができます。

プロキシサーバーを設定するには、

  1. IEを開きます。[ツール]アイコンにマウスをポイントして[インターネットオプション]を選択します。[接続]タブを選択します

  2. [LAN設定]をクリックしてプロキシサーバの設定を入力します。

  3. [OK]ボタンをクリックします。

  4. もう一回[OK]ボタンをクリックします。

  5. ブラウザを再起動します。

Custom

この場合、ユーザはデバッガ専用のカスタムプロキシサーバを定義することができます。

ユーザはプロキシサーバのアドレスとポートの情報をそれぞれアドレスとポートのフィールドに入力する必要があります。

[None]または[System]を選択した場合、Customの設定は無効になります。

Since version:

4.8


デバッガの設定

［デバッガ設定］ダイアログボックスで、デバッガのリ再表示間隔やタイムアウト、リカバリポリシーなどが指定することができます。［デバッガ設定］ダイアログボックスを開くには、［デバッグxpi］メニューをクリックして、［プロジェクト設定］を選択します。

このダイアログボックスには、以下の情報が含まれています。

名前

説明

Magic xpi GigaSpaces ディスカバリ定義

スペース名

ここには、Magic.iniファイルの[MAGICXPI_GS]セクションのSpaceNameフラグの値が表示されます。

ルックアップ名

ここには、Magic.iniファイルの[MAGICXPI_GS]セクションのLookupGroupNameフラグの値が表示されます。

ルックアップロケータ

ここには、Magic.iniファイルの[MAGICXPI_GS]セクションのLookupLocatorsフラグの値が表示されます。

一般

最終ステップ後の最終コンテキストを終了する

デバッグ処理において最後のステップを完成した分岐(FSIDまたは並列分岐)のコンテキストビューを表示する場合は、このチェックボックスを選択してください。

ステップモードを使用する時だけ有効です。デフォルトは、チェックされていません。

リカバリクリーン

リカバリ情報を削除する場合は、このチェックボックスを選択してください。デフォルトは、チェックされていません。

サーバを正常に停止/再起動してください

デバッガが、サーバを停止するか再起動する前に待機する秒数を設定します。デフォルトは5秒です。

毎回スケジューラの表示を更新する

スケジューラの再表示間隔を定義します。デフォルトは5秒です。

コンテキストビューアクションタイムアウト

コンテキストビューのためのタイムアウトパラメータを定義します。デフォルトタイムアウトは30秒です。

関連トピック：

デバッガのタイムアウト設定

Since version:

4.5


デバッガのタイムアウト設定

特定のプロジェクトに対して最適な方法で動作するためにデバッガを設定することができるように、Magic xpiはデバッガのタイムアウト設定に簡単にアクセスすることができます。

デバッガのタイムアウトを設定するには：

  1. ［ツール］]メニューをクリックして［オプション］が選択します。

  2. ［オプション］ダイアログボックスで、［Magic xpiデバッガ］をクリックし、［一般］にアクセスします。

このダイアログボックスには、以下の設定が含まれています。

名前 | 説明
コンテキスト完了アクションタイムアウト | デバッガが、コンテキストの動作の実行が完了するまで待つ最大時間を設定します。指定時間が経過すると、手動でビューを再表示する必要があります。デフォルトは3秒です。
デフォルトのコンテキストビューアクションタイムアウト | デバッガが、コンテキストビューの動作が実行されるのを待つ最大時間を設定します。指定時間を経過すると、動作は中断されます。デフォルトは30秒です。
デフォルトの正常停止間隔 | サーバが、停止処理の実行を行う上でプロジェクトを停止する前に内部処理の完了を待つ時間を設定します。デフォルトは5秒です。
デフォルトのスケジューラのリフレッシュ間隔 | スケジューラのリフレッシュ間隔の時間を設定します。デフォルトは5秒です。
プロジェクト開始タイムアウト | デバッガが、プロジェクトの開始を待つ最大の時間を設定します。デフォルトは120秒です。
ステップアクションタイムアウト | デバッガが、ビューが再表示する前に実行されるステップを待つ最大時間を設定します。指定時間を経過すると、ステップが完了した時点で、手動でビューを再表示することができます。デフォルトは30秒です。
アクション停止のタイムアウト | デバッガが再起動コマンドを実行する時に、プロジェクトの停止を待つ最大時間を設定します。指定時間が経過すると、再起動処理は中断されます。デフォルトは60秒です。

  • ［デバッグxpi］をクリックして［設定］を選択することで［オプション］ダイアログボックスにアクセスすることもできます。

  • プロジェクトがデバッグモードで実行されている場合、デバッガのタイムアウト設定は編集可能になります。Since version: 4.8


プロジェクトにアタッチ

［プロジェクトにアタッチ］ダイアログボックスには、以下のフィールドがあります。

フィールド

説明

Space名

ここには、MgxpiStudio.exeファイルが読み込むMagic.iniファイルの[MAGICXPI_GS]セクションの最初のSpaceNameフラグの値が表示されます。

ルックアップ名

ここには、MgxpiStudio.exeファイルが読み込むMagic.iniファイルの[MAGICXPI_GS]セクションの最初のLookupGroupNameフラグの値が表示されます。

ルックアップロケータ

ここには、MgxpiStudio.exeファイルが読み込むMagic.iniファイルの[MAGICXPI_GS]セクションの最初のLookupLocatorsフラグの値が表示されます。

データベース定義

デフォルトでは、内部データベースの詳細はローカルな内部データベース定義によって設定されます。このコンボボックス([設定]ダイアログボックスの[リソース]セクションで定義されたすべてのデータベースリソースを表示します)を使用して、異なる(リモート)内部データベースを選択することができます。

ローカルの内部データベースとは異なる内部データベースを持つリモートサーバに接続することはできません。

  • ［リソース］ボタンをクリックして［設定］ダイアログボックスの［リソース］セクションにアクセスしリソースを追加することができます。

定義されたサーバが実行していない場合、エラーメッセージ "Unable to attach to defined Server." が表示されます。

  • ［検証］をクリックして選択されたリモートデータベースへの接続テストを行うことができます。

  • ［キャンセル］をクリックするとデバッグ処理と［プロジェクトにアタッチ］ダイアログボックスで行なった変更がキャンセルされます。変更内容がキャンセルされると、変更前の定義を使用してデバッグが行われます。

  • プロジェクトにアタッチオプションを使用すると、Debug_Info.xmlファイルを使用して、プロジェクトを再配備せずに、すでに実行しているMagic xpiプロジェクトにアタッチします。

  • このダイアログボックスで行なう変更を保存するには、［デバッガ設定］ダイアログボックスで［デバッグ情報を保存］チェックボックスにチェックを入れてください。


ブレイクポイントの設定

ブレイクポイントは、デバッグにとても役立つツールです。これにより任意のステップでフローやプロジェクトの実行を停止させることができます。

ブレイクポイントに到達すると、スレッドや分岐など全ての実行されたコンテキストは次のコンポーネント/ステップへ進む前に止まります。

デバッグ処理がブレイクポイントに達すると、デバッガは以下のいずれかのユーザコマンドを待ちます。

  • ステップ …… 次のステップに進みます。

  • 継続 …… 分岐やフローの最後、または次のブレイクポイントまでデバッグプロセスを継続します。

ブレイクポイントを設定するには：

  1. ブレイクポイントを設定したいステップ上で右クリックしてください。

  2. コンテキストメニューから［ブレイクポイント］を選択します。赤いドット( [image])が、ステップのアイコンの左上の角に表示されます。

ブレイクポイントをキャンセルするには：

  1. 以前にブレイクポイントを設定したステップ上で右クリックしてください。

  2. コンテキストメニューから再び［ブレイクポイント］を選択します。赤いドット( [image])が、ステップのアイコンの左上角から消えます。


フロー、分岐、ステップを一時停止

デバッガは、実行マップ上のフロー、分岐、ステップを一時停止することができます。

フローを一時停止するには：

  • ソリューションエクスプローラで、フローの上でパークし、右クリックして［フロー一時停止］を選択してください。停止モードをキャンセルするんびは、再び［フロー一時停止］を選択してください。

トリガと同様に一時停止されたフローは実行されず、そのモードから解放されるまで、「停止された」と扱われます。

ステップまたは分岐を一時停止するには：

  • Iフローエリアで、ステップ上でパークし、右クリックで［分岐の一時停止］または［ステップ一時停止］を選択します。停止モードをキャンセルするには、再び［分岐の一時停止］または［ステップ一時停止］を選択します。これは、実行中であるかもしれません。

  • 一時停止中のステップは無視され、フローマネージャーはステップが実行されたかのように次のステップに進みます。

  • 一時停止中のステップまたは分岐は、一時停止中を意味する薄い色のアイコンと文字で表示されます。

  • 一番上のステップと一番下のステップには、分岐一時停止オプションがありません。

  • フローを一時停止に設定すると、フローは自動的にチェックアウトしません 。


ブレイクポイントと一時停止 ペイン

Home > リファレンスガイド > プロジェクト開発ツール > デバッガ > ［ブレイクポイントと一時停止］ペイン

［ブレイクポイントと一時停止］ペイン

［ブレイクポイントと一時停止］ペインは、プロジェクトで定義されたすべてのブレイクポイントと一時停止を表示します。［デバッグxpi］メニューをクリックし、［Windows］と［ブレイクポイントと一時停止］を選択することで開きます。このペインには、以下の情報が含まれています。

カラム

説明

名前

ステップまたはブレイクポイントまたは一時停止が発生するローの名前。以下のアイコンが名前の隣に表示されます。

  • ブレイクポイントを示します。.

  • 一時停止を示します。

入力を削除するには：

  • このカラムのエントリの隣の1つ以上のチェックボックスを選択し、 [image] をクリックしてエントリを削除します。

  • ［名前］カラムの左側のチェックボックスを選択しすべてのエントリを選択します。

  • エントリ上でパークし、［削除］を押下します。

エントリのチェックボックスを選択し、 [image] をクリックしてブレイクポイントや一時停止が設定されたステップやフローにアクセスします。これは単一行でのみで動作します。代わりに、エントリをダブルクリックすることで行うこともできます。

タイプ

この読み込み専用フィールドは、以下のオプションからブレイクポイントまたは一時停止として実行させたいタイプを識別します。

  • ブレイクポイント

  • 一時停止フロー

  • 一時停止の分岐

  • 一時停止ステップ

条件

デバッガ内部で条件付のブレイクポイントを定義できます。条件はブレイクポイントに到達する度に評価されます（もし有効になっていれば）。条件の評価がFalseの場合、ブレイクポイントは無効にされたように動作します。

をクリックして式エディタを開きます。ここで、必要なる条件を設定することができます。無効な式が入力されると、ビルド目的の条件が全くなかったかのように、Magic xpiは動作します。フローの実行はt6江停止せず、警告がチェッカのエラーリストに追加されます。

ステップに定義されたブレイクポイントの条件と同様に、ステップに条件が設定されていると、ステップの条件が最初に評価され、ブレイクポイントの条件は２番目に評価されます。ステップの条件がFalseと評価されると、ブレイクポイントの条件には到達しません。

条件がブレイクポイントに設定されていると、フローエリア上のブレイクポイントの表示をホバリングすることで表示されます。

  • ［ブレイクポイントと一時停止］ペインのすべてのデータは、［保存］をクリックすることなく保存されます。

  • .何らかの理由でのソート順序を変更すると、 [image] をクリックすることでデフォルトのソート順序に戻すことができます。


デバッガの保護

デバッガ用のTomcatの構成

デバッガ用のTomcatのインストーラは<Magic xpi Installation>\Studio\Debugger\apache-tomcat-9.0.35\conf フォルダにあります。デバッガでSSLを有効にするには、confフォルダ下のserver.xmlとweb.xmlを変更する必要があります。

iBolt.dll.configファイルを変更する場合が稀にあります。

これを行うには、<Magic xpi Installation>\Studio\Extensions\Application フォルダに移動します。iBolt.dll.config を見つけ、テキストエディタでこのファイルを開いて、下記のように変更を行います。:

  1. DebuggerPortキーを必要な値に変更します(例：8095)。

  2. DebuggerEnableSecurityキーの値をTrueに設定します。

  3. DebuggerUrl. キーを見つけ、jksファイルを生成する際のこの値とCommon Name（CN）の値が同じであることを確認してください。

例えば、このキーの値がlocalhostである場合、jksファイルを生成する時にlocalhostを（CNとして）使用します。

証明書の信頼

もし証明書がシステムによってまだ信頼されていない場合、xpi スタジオでのデバッグは失敗する可能性があります。従って、SSL構成が完了した後、証明書を手動で信頼リストに追加するための追加の構成が必要になる場合があります。そのため、最初にコマンドプロンプトから以下のコマンドを実行して、jksファイルをcer形式にエクスポートします。

jksをcer形式にエクスポートするには、コマンドプロンプトから以下のコマンドを実行します。:

keytool -exportcert -alias tomcat -keystore samplekeystore.jks -file sample.cer

cerファイルが生成されたら、下記の手順に従って、信頼されたルート証明機関にインポートします。

  1. mmcコマンドを実行してMicrosoft管理コンソールを開きます。タスクバーのWindows検索欄から実行することができます。

  2. 「ファイル」メニューをクリックし、「スナップインの追加と削除」を選択します。

  3. 「利用できるスナップイン」から「証明書」を選択し、「追加」ボタンをクリックします。この操作で「証明書スナップイン」のウィンドウが表示されます。

  4. 「コンピュータアカウント」を選択します。

  5. 次に、「コンピュータの選択」画面で「ローカルコンピュータ（このコンソールを実行しているコンピュータ）」を選択します。

  6. 「完了」をクリックします。これによって証明書（ローカルコンピュータ）が「選択されたスナップイン」の下に追加されます。

  7. OKをクリックして処理を完了します。

  8. 証明書（ローカルコンピュータ）がコンソールのルートフォルダの下に追加されたことが確認できます。

  9. 新しく追加された証明書（ローカルコンピュータ）を選択します。

  10. 「信頼されたルート証明機関」を選択し、それを右クリックします。

  11. コンテキストメニューから、「全てのタスク」 > 「インポート」に移動します。

  12. 証明書インポートウィザードで、「次へ」をクリックして続けます。

  13. sample.cerを参照し、信頼されたルート証明機関にインポートします。

関連トピック

Apache ToncatにSSLを実装するには？


コンテキストビュー

コンテキストビューは、パークされたエントリ毎にプロジェクトのデータについての情報を提供し、変数の値を変更することができます。

コンテキストビューには次の内容が表示されます。修正はできません：コンテキストID、フロー名、ステップ名、BP名、フローシーケンスID（プロセスを開始した親スレッドのID）

変数には、以下のタブが表示されます:

  • フロー変数: …… 現在のコンテキストで実行するフロー内で定義された全てのフロー変数とその値。フロー変数がODSタイプでUDSモデルが割り当てられている場合、 [image] をクリックしてUDS テーブルにアクセスすることができます。このテーブルは、UDSレコードの値を確認したり変更したりすることができます。

  • コンテキスト変数 …… フローの全てのコンテキスト変数とその値。

  • BP変数 …… スレッド全体のBP変数とその値。

  • グローバル変数 …… プロセス全体のグローバル変数とその値。

コンテキストが完了すると、コンテキストビューはグローバル変数やBP変数のみを表示します。フロー変数とコンテキスト変数のタブには、データは表示されません。

Flow Dataユーティリティで定義された動的変数は、これらのタブには表示されません。


UDSテーブル - デバッガ

［UDSテーブル］ダイアログボックスには、以下の機能があります。

  • ダイアログボックスは、UDSフィールド名とUDSエントリのテーブル行を表示します。

  • 各UDSフィールドは、書式に基づいて編集することができます。

  • 日付フィールドでは日付値のみ入力できます。

  • 論理フィールドは、True、Falseオプションを持ちます。

  • Blobフィールドは、表示のみで修正はできません。

  • 全てのフィールド値は、絶対値にする必要があります。関数や式は使用できません。

  • 太字でマークされているUDSフィールドは、インデックスフィールドです。このフィールドを編集すると、レコードの検索順に影響を及ぼします。このため、確信がない限り修正は避けてください。

画面が存在しないか、画面が作成された後にUDS定義が変更された場合、画面はデバッグセッションの作成配備処理中に作成されます。


プロジェクトのデバッグ

デバッガを開始すると、メニューオプションを使用してデバッグ処理を開始します。以下の方法でデバッグ処理を開始することができます。

  • プロジェクト全体をデバッグする。

  • プロジェクトまたはプロジェクトの一部を（ステップごとに）デバッグする。

  • 単一フローをデバッグする。対象のフローで右クリックし、コンテキストメニューから［デバッグ］を選択します。このモードでは、デバッガは選択されたフローを実行し、このフローからコールされるフローを含めプロジェクト内の他のフローは非アクティブになります。このモードは、一時中断モードのフローには影響しません。これらのフローの処理はユーザの責任となります。デバッグフローオプションは、実行されていないサーバでのみ利用できます。また、このモードでは、接続モードは利用できません。

1つのフローをデバッグすると、フローがオート起動に設定されたかのように、フローの最初の実行が即行われます。フロー実行が1度完了すると、どのように定義されたトリガでも外部イベントを待ちます。このフローがトリガを含んでいる場合、フロー2回実行されます。

デバッグを開始するには：

  1. ［デバッグxpi］メニューから［デバッグ開始］を選択するか、ツールバーから [image] をクリックします。

  2. Magic xpiは、デバッグモードを開始します。［デバッグxpi］メニューに新しいオプションが有効になり、またツールバー右側に新しいアイコンが追加されます。

  3. デバッグ処理を開始します。デバッグ環境では以下のことができます。

  4. ［デバッグxpi］メニューで［実行］を選択するか、コンテキストツリーで右クリックしてコンテキストメニューから［実行］を選択し、［ナビゲーション］ペインで選択されたフローのデバッグを開始します。デバッガは自動モードで実行されます。

  5. ［デバッグxpi］メニューで［ステップ］を選択するか、コンテキストツリーで右クリックしてコンテキストメニューから［ステップ］を選択し、特定のステップをデバッグします。デバッガは、コンテキストツリーまたはフロービューで選択されたステップをデバッグします。また、フロービューのステップで右クリックしコンテキストメニューから［ステップ］を選択することもできます。.

  6. プロジェクト全体をデバッグするには、ビジネスプロセス上にカーソルがある時に［デバッグxpi］メニューから［実行］を選択します。

デバッグを終了するには：

  • 現在のデバッガ環境を保存せずにデバッガを終了するには、［デバッグxpi］メニューで［停止］を選択します。

  • 現在のデバッガ環境を自動的に保存してデバッグ環境を終了するには、ツールバーから [image] を選択するか、、［デバッグxpi］メニューで［終了］または［サーバから切断］を選択します。このオプションを使用すると環境を保存するかどうか聞かれません。

オープンモードにいる場合、デバッガを停止し、編集モードに戻します。

プロジェクトが実行しているか、接続されている場合、［閉じる］を選択する、プロジェクトは閉じ/開発モードに戻ります。

  • デバッグセッション後でプロジェクトをサーバモードで実行する前には、必ずビルドまたはリビルドを実行してください。

  • デバッグ処理時に作成される実行可能ファイルは、運用時に使用することがはきません。

  • デバッガを開始すると DebugSRV.ini という一時的な iniファイルがプロジェクトディレクトリに作成されます。デバッガが停止するとそのファイルは削除されます。

関連トピック：

デバッガの設定

プロジェクトにアタッチ

ブレイクポイントの設定

フロー、分岐、ステップの一時停止

［ブレイクポイントと一時停止］ペイン

コンテキストビュー


タイムアウトとリトライ値

デバッガで使用される、現在ハードコーディングされているパラメータは次の通りです：

  • プロジェクトの開始(プロジェクトが正しくロードされSpaceで実行されるまでの待ち時間)：リトライ回数（50）x 300 ミリ秒。

  • ステップの動作(コンテキストツリーが自動的に再表示されるまでの待ち時間)： リトライ回数（20）x 200 ミリ秒。.

  • 再起動による停止処理(プロジェクトが完全に停止し、開始処理が行われる前にSpaceから削除されるまでの待ち時間：リトライ回数（50）x 300 ミリ秒。

  • コンテキストビュー(サーバのパラメータパックがSpaceで見つかるまでの待ち時間)： リトライ回数（30）x 200 ミリ秒。

  • コンテキスト処理の完了(サーバが関連したスレッド内でコンテキストを完了するまでの待ち時間)： 3000 ミリ秒。


サーバ

Magic xpiサーバは、配備時に統合プロジェクトを実行するエンジンです。Magic xpiサーバは、Magic xpi スタジオで作成したibpファイルに含まれている情報を利用してプロジェクトを実行します。Magic xpiサーバは、フローの様々な要素を管理するさまざまなシステムを搭載しています。Magic xpiサーバの配備は、start.xml ファイル(プロジェクトのフォルダにあります)によって制御されます。

Magic xpiサーバは、メッセージングなど様々なフロー管理サービスを提供するいくつものシステムを搭載しています。またサーバは、ロギングやモニタリング機能も提供しており、パフォーマンスの修正や向上を支援します。

  • フローマネージャー …… フローの呼び出しと継続的なフロー実行を管理するサーバのメインモジュールです。

  • パブリッシュとサブスクライブ(PSS)、オペレーショナルデータストレッジ (ODS)、 ロック、と メッセージング (MSG)システム …… プロジェクトのデータ管理と保存に使用されます。メッセージングシステムとODSはデータベースで処理されますが、PSSとロックシステムはSpaceで処理されます。

  • リカバリシステム …… 復旧処理で使用されます。

  • スケジューラシステム …… フロー呼出のタイミングを管理します。

  • プロジェクトの開発段階では、サーバ関係の設定をMagic xpi スタジオで行います。

  • ifs.iniファイル内にStepRetryLimit=というフラグがあります。このフラグは、エラー動作がRetryに設定されていた場合、Magic xpiサーバがステップ実行をリトライする回数を定義します。

  • 複数のMagic xpiサーバーを使用している場合、PCのクロックがすべて同期していることを確認してください。

管理スレッド

サーバを開始する時、各Magic xpiサーバは専用の管理スレッドを実行します。管理スレッドは、以下の管理メッセージの利用や処理について責任があります：

  • タイムアウト.

  • ステップの完了待ち

  • 動作スレッドへのフロー完了通知

  • リカバリ.

以下の条件のすべてが満たされている場合、管理スレッドはアクティブではありません：

  • 現在のプロジェクトでのすべてのフローのリカバリポリシーがNoneに設定されている。

  • 現在のプロジェクトでのすべてのフローにタイムアウトが定義されていない。

  • プロジェクトのフローに、完了待ちに設定されたステップがない。

  • フロー開始/完成が、アクティビティログに記録されない。

  • 最初の3つの条件が満たされていて、アクティビティログが読み込まれなければ、管理スレッドは読み込まれません。

  • 最初の3つの条件が満たされていて、フロー開始/完了がアクティビティログで記録されないと、管理スレッドは読み込まれますが、どのようなメッセージも受け取りません。

アクティビティスレッド

アクティビティスレッドは、アクティビティログにメッセージを書き込みます。

関連トピック：

プロジェクトの実行／停止

サーバの初期化

アクティビティログ

エラー

Magic xpiサーバメッセージをコントロールするには

Magic xpiプロジェクトで実行スレッドを監視するには

サーバ性能の考察 - 技術情報


サーバでプロジェクトを実行／停止

サーバのプロジェクトを実行、停止するには：

  1. Magic xpiの［Start］ショートカットアイコンをクリックしてください。これは、［スタート］メニューにあり、各プロジェクトのディレクトリに配置されています。プロジェクトをビルドすると作成されます。

  2. Magic xpiプロジェクトを停止するには、［スタート］メニューにまたはプロジェクトのディレクトリに配置されたMagic xpiの［Stop］ショートカットアイコンをダブルクリックしてください。

プロジェクトの別のインスタンスを開くには、#1を繰り返してください。


サーバの初期化

Magic xpiサーバを起動すると、サーバはMagic.ini ファイルとプロジェクト内の各サーバ用の設定ファイル（ifs.ini）とMagic xpiプロジェクトファイルを読み込みます。これらのファイルには、Magic xpi スタジオでプロジェクトを開発を行う時に入力された情報が含まれています。

設定ファイルは、Magic xpi スタジオでプロジェクトを開発中に作成されます。各設定ファイルのファイル名は、ユーザが定義したサーバ名やサーバID、そして.ini拡張子を使用して保存されます。たとえば、Srvという名前のサーバで、IDが1の場合、.iniファイルのファイル名は次のようになります。

Srv1.ini

プロジェクトの動作をMagic xpiサーバ上で直接変更したい場合は、ifs.iniファイル内の特定のフラグを変更してください。

プロジェクトの開発中にサーバの設定を行う際、環境変数のセクションのプロジェクトファイルとサーバIDの位置を定義することができます。

サーバがオンライン状態になると、サーバはMagic xpiプロジェクトのファイルを入力し、以下の手順を進めます。

  • サーバは、内部のサーバシステムを設定して、リカバリシステムに保存されているフローを検索します。

  • まず最初にリカバリシステム内に保存されているフローが実行され、以降はリカバリポリシーに従って実行されます。

  • 次に、プロジェクト内で［自動起動］プロパティがYesに設定されているフローがすべて起動されます。

  • トリガが発生したらすぐにフローを実行できるように、トリガコンポーネントが読み込まれます。

  • 関連するフローの［サブスクリプト］プロパティにしたがってサブスクリプトのリクエストが設定されます。

  • サーバがスケジューラシステムを起動して、時刻と日付の実行データをチェックします。


Magic xpiサーバのアクティビティログ

Magic xpiサーバの動作データは、Magic xpiモニタを使用してアクセスすることができるログに保存されます。

MonitorLogLevel= フラグがこのログで使用されます。以下の値を指定することができます。カンマを区切りで複数の値を指定できます。

値 | 表示
User | ユーザ定義メッセージ
Error | エラーとエラーコンポーネントへの呼び出し
Exec | サーバやフロー呼出などの実行動作。これはエラーやユーザメッセージを含みます。
Service | ODSやロックなどのサービスの動作
All | 全てのメッセージ。この環境変数に値を入れなかった場合、これがデフォルトになります。
None | メッセージなし

  • Allを指定すると他の値は全て無視されます。

  • Noneは他の値が指定されていない場合のみ動作します。

  • この値は、Magic xpiモニタの［サーバログ］プロパティに設定される内容を上書きしません。


フローマネージャ

フローを管理するためにいくつかのサービスがあります。Magic xpiは、フローエディタで設定されたMagic xpiサービスのプロパティに従って各フローコンポーネントを実行します。フローマネージャサービスの設定方法については以下の説明を参照してください。

  • フロー呼出

  • 遅延フロ-呼出

  • スケジュールフロー

関連トピック：

フローロジック

トランザクション

フロープロパティ


フローロジック

実行中にフローマネージャは､実行ルールの設定内容に基づいてフロー内のコンポーネントを実行し、フローを実行します。

フローを作成した場合、各コンポーネントに式を割り当てることができます。 この式がフロー内でのコンポーネントが実行されるかどうかを決定します。例えば、以下の式をコンポーネントに割り当てた場合。

"総オーダー数" > 1,000

このコンポーネントが実行される前に、まず式が評価されます。そしてその式が Trueであった場合、コンポーネントは実行されます。

フローコンポーネントは、以下のルールに従って実行されます。

  1. 式がTrueである全ての並行コンポーネントが実行されます。

  2. 式がTrueである最初のリニアコンポーネントが（左から右へ）実行され、フローマネージャはフロー中の次のステップを実行します。

  3. #2のケースでリニアコンポーネントが一つも実行されなかった場合、式を持たない最初のリニアコンポーネントが（左から右へ）実行されます。

  4. #2、#3で一つもリニアコンポーネントが実行されず、フロー内の全てのスレッドが終了した場合、フローは終了します。


トランザクション

トランザクションは、Magic xpiの即利用可能なコンポーネントではサポートされていません。コミットやロールバックの動作を定義したユーザ定義コンポーネントでのみトランザクションを実行することができます。

統合プロジェクトを開発する際に、トランザクションをサポートするようにフローコンポーネントを設定することができます。Magic xpiは、各コンポーネントに定義したトランザクションポリシーに従って、フローコンポーネントを管理します。

フローがトランザクションをサポートするかしないかは、［フロープロパティ］ダダイアログボックスで定義できます。フローがトランザクションをサポートするように設定した場合、フローコンポーネントをトランザクションモードで動作するように定義することができます。ただし、リニア分岐の一部であるコンポーネントだけがトランザクションをサポートします。トランザクションは、特定のコンポーネントのコミット/ロールバックの公開プログラムを実行して管理します。これらのプログラムは各コンポーネント内にビルドされます。

トランザクションをサポートするフローが実行された場合、サーバはトランザクションをサポートしていたコンポーネントを再実行します。これにより、ユーザはトランザクションをコミットするかしないかを判断することができ、サーバはその実行のためにコンポーネントのコミットプログラムを利用します。もしも、フローが中断、または再起動された場合には、サーバはまず最初に、再実行の前にすでに呼び出されていたトランザクションをサポートするコンポーネントのロールバックプログラムを呼び出します。


パブリッシュとサブスクライブ

パブリッシュとサブスクライブ（PSS）は、ネットワークでの情報を配布する方法のひとつです。PSSは、統合プロジェクトでイベントが発生したとき、イベントをサブスクライブしているフローが実行されることを意味します。

コンセプトは雑誌の購読と同じです。雑誌を購読するときは、常に最新版が出ているかをチェックする必要はありません。雑誌が発行されると、出版社から最新版が送られてくるからです。PSSメソッドを利用する利点は、システムが絶えず新しい情報を更新したりチェックする必要がなく、そのためシステムのリソースを節約できるということです。

PSSシステムは、同じプロジェクト内のすべてのMagic xpiサーバで利用可能です。これは、他のMagic xpiサーバがこのシステムからデータを取り出せるということでもあります。


オペレーショナル データストレージ（ODS）

概要

オペレーショナル データストレージ（ODS）システムは、複数のコンポーネントやフローが共用できるデータの保存方法を提供します。ODSは、すばやくデータの保存場所にアクセスできるデータベースのタイプです。ODSシステムは、少量のデータに沢山の問い合わせを行うことが可能で、大量の情報が保管されて、大容量のデータに対して問い合わせを行うデータウェアハウスとは異なります。

Magic xpi ODSシステムは、ODSに保存されている各アイテムのエントリを保持するデータテーブルを管理しています。ODSに保存されている各アイテムは、フローシーケンスIDとユーザキーで認識されます。

ODSデータはMagic xpi スタジオで管理します。ODS リポジトリを使用して手動でODSエントリを追加することができます。自動でデータを更新、削除したりインデックスエントリを削除するには、Flow Dataユーティリティを使用するかデータマッパを使用して、データをODSエントリにマップします。

データマッパーのODSエントリは、複数インスタンスを持つ複合ノードとして表示されます。

ODS配列

ODSエントリはデータの配列をサポートします。配列は、同じユーザキーを使用して複数の値を格納します。配列に含まれる各値はインデックスと呼ばれます。例えば、ODS1_1はODS1ユーザキーの最初のインデックスです。

ODS配列は、多くのリソースからデータが届き、順次に処理する必要のある並列処理アーキテクチャーで使用されます。ODS配列により、ODSエントリに一意の名前を割り当てる必要がなくなり、マルチスレッド形式の環境にデータを格納します。

配列内の値は異なるデータタイプを持つことができます。例えば、配列のインデックス1が文字型で、インデックス2が数値型にすることが可能です。ODS配列インデックスの値を確認するには、ODSArrayCnt関数を使用します。

ODS配列の使用に関する詳細は、ここをクリックしてください。

ODSデータのマッピング

データは各ユーザキーに対するエントリを作成することにより管理されます。ODSは複数のデータ形式をサポートしています。サポートされるデータ形式は、以下の表で説明しています。

データタイプ | 説明
文字 | 文字型と定義されたデータは全ての英数字を含めることができます。ODSで扱える最大文字数はスペースも含め1000文字です。
数値 | 数値型と定義されたデータは数値のみ扱えます。このデータはコンピュータにバイナリ形式読み込まれ、文字に変換されて表示されます。ODSにおける数値データの最大桁数は12.4です。
日付 | 日付型と定義されたデータは日付形式のデータを数値で扱います。例えばDD/MM/YYは2005年7月6日を06/07/05と表示します。
時刻 | 時刻型と定義されたデータは時刻形式のデータを数値で扱います。例えばHH:MM:SSは3時の15分22秒前の時刻を 02:45:22 と表示します。
論理 | 論理型と定義されたデータは与えられた条件がTrueかFalseかを示します。Magic xpiはこの情報を数値形式に変換します。（True=1、False=0)
BLOB | BLOB型と定義されたデータは"Binary Large Object"として格納されます。バイナリ情報を含む属性のサイズ不明です。ODSシステムは中身を判別せずに情報をそのまま格納します。BLOB属性の一般的な使用方法は OLEオブジェクトや画像ビットマップファイルの格納です。

フロー内のどの時点でもODSGet関数を使用して任意のODSエントリの値を確認するすることができます。またユーザキーが存在しているか否かをODSExists関数で確認することができます。

Magic xpi ODSシステムは、以下のデータ格納モードをサポートします。

  • ローカルフローストレージ（ODSローカル） …… 同じフロー内で並行ステップで使用するためにそのフローのODSデータベースにデータを保存します。サーバが起動されると、データはODSから消去されます。

  • グローバルストレージ （ODSグローバル） …… このモードはフロー間のデータ保存に使用します。すべてのフローがデータを取得することができます。

ODSシステムは、同じプロジェクト内のすべてのMagic xpiサーバで利用可能です。これは、他のMagic xpiサーバがこのシステムからデータを取り出せることを意味しています。


ロック

ロックシステムは、ロックした各リソースのエントリを保持します。開発段階でフローコンポーネントを定義したり、開発したりするするときに、重要なセクションをロックすることができます。重要なセクションをロックすると、他のユーザは そのリソースを変更できません。実行中は、リソースがすでにロックされていると、ロックすることはできません。

重要なセクションは、データベース内に半永久的に、またはサーバのメモリ内にローカルにロックしておくことが可能です。

ロック システムは、同じプロジェクト内のすべてのMagic xpiサーバで利用可能です。これは、他のMagic xpiサーバがこのシステムからデータを取り出せることを意味しています。


メッセージング

Magic xpiサーバメッセージ（MSG）システムは、ロギングを許可する統合プロジェクトにメッセージ機能を提供します。この動作は、モニタのアクティビティログ、または統計ログで確認することができます。

MSGシステムは、同じプロジェクト内のすべてのMagic xpiサーバで利用可能です。これは、他のMagic xpiサーバがこのシステムからデータを取り出せることを意味しています。


リカバリ

Magic xpiは、様々な不具合や障害に対して自動的に復旧することができます。

プロジェクトを設計する前に、最初にサーバのアーキテクチャを理解することを推奨します。サーバのアーキテクチャがどのように動作するかの視覚的な説明は、ここをクリックしてください。

［フロープロパティ］ダイアログボックスの［リカバリポリシー］プロパティで、回復メカニズムのポリシーを定義します。リカバリポリシーは、リニアなフローでのみ有効です。リカバリは、3つのレベルで行われます。

  • 物理的/グリッドの障害

  • エンジン/ワーカの障害

  • MgxpiServer.EXEの障害

詳細は、以下で説明しています。

ExceptionMessageBoxDisplayフラグは、スレッドが異常終了した場合の動作を定義します。詳細は、ここをクリックしてください。

物理的/グリッドの障害

Magic xpiコンポーネントを実行しているPCまたはインスタンスで障害が発生したり、シャットダウンしたり、ネットワークから切り離されたり、あるいは、グリッド・コンポーネントのうちの1つがアボートしたり、機能を停止した場合、自動的に完全にサービスを提供し続ける回復メカニズムをグリッドには備えられています。

すべてのグリッド・サービスは連続的に処理を継続します、そして、少なくとも1台のPCがまだ実行している限り、データは失われません。

Magic xpiのワーカを実行しているPCに障害が発生した場合、エンジンまたはワーカの障害に対する回復メカニズムが起動されます。これらのメカニズムについては、以下に詳細があります。

エンジン/ワーカの障害

Magic xpiエンジンまたはワーカのうちのどちらかが予期せずアボートした場合、リカバリメカニズムは3つの部分を伴います。

  • 識別:…… 各ワーカとエンジンは、フローリクエストメッセージを使用して状態をSpaceに報告します。これは、並列分岐、スタンドアロン分岐および、トリガとオート開始フローの両方によるフロー実行が含まれています。専用のMagic処理装置は、これらのリポートを監視します。一旦処理装置が、定義されたタイムアウト内にレポートしなかったワーカやエンジンを特定すると、以下の処理が実行されます。

  • ワーカ（トリガかフロー)の場合、処理装置は、エンジンにワーカの実行状態を問い合わせます。

  • エンジンの場合、処理装置は、エンジンがまだ有効ならば、グリッドサービス・エージェント（GSA)にエンジンの起動を要求します。

  • エンジンとワーカのリカバリ処理……応答しないか、存在しないエンジンが特定されると、GSAは既存のエンジンを終了して、異常終了したエンジンを置き換えるために新しく起動させます。スレッドの異常終了の場合、エンジンは同じエンジンで新しいワーカを開始するように指示されます。

  • ワーカの回復処理 ……ワーカの処理はルートフロー、または一組のフローの実行ツリーを参照します。そして、一つのビジネストランザクションを構成します。回復ガイドラインは以下の通りです。

  • リカバリは、ワーカの処理を開始するルートフローに対して定義され、個々のフロー向けには定義されません（子フローまたは子コンテキストのリカバリ定義は、無視されます)。

  • セーブポイントは、ルートフローのリニア分岐上でのみ保存されます（子フローまたは子コンテキスト内で定義された任意のセーブポイントは、無視されます)。

  • ワーカ処理は、（一つ以上の個別の物理サーバで実行している）一つ以上のワーカ（並行分岐の場合)によって実行されます。

トリガが起動されると、リカバリメカニズムは以下の通りに動作します。

  • 現在、ワーカ処理の要素を実行するワーカが異常終了した場合、ワーカ処理全体がアボートされ、ルートフローの［フロープロパティ］ダイアログボックスで定義されるクリーンアップ・フローが呼び出されます。リカバリメカニズムが適用された場合以下のようになります。

  • アボートを選択すると、これ以上の処理は必要ありません。

  • 再起動を選択した場合、Magic xpiは最初にそれを起動させたペイロードでルートフローを再開します。元のデータは、決して失われません。

  • セーブポイントを選択した場合、Magic xpiは最後のセーブポイントから開始されるか、最後のセーブポイントが存在しない場合はフローを再開します。

リカバリポリシーを選択しない場合は、デフォルトは None になります。

MgxpiServer.EXEの障害

フローに設定された FlowTimeoutGraceTimeのタイムアウトが超過した後で、関連するMgxpiServer.EXEファイルは、同じルートフローシーケンスID(FSID)を提供するすべての関連したワーカを終了します。次にルートフロー上に定義されたルートフローのタイムアウトポリシーを実行します。

Magic xpiサーバがステータスの報告に失敗しているが、MgxpiServer.EXE の処理がまだ実行している場合、MgxpiServer.EXEの処理は定義済みの猶予期間の後に終了されます。猶予時間は、状況に応じて 20～120秒の間になります。次に、GSAは、Magic xpiサーバを置き換えるために新しいエンジンを再起動させます。Magic xpiサーバが異常終了した場合のリカバリポリシーは、初期設定をもとにしてMagic xpiサーバを起動することです。サーバの異常終了によって終了したスレッドは、それらのリカバリポリシーに従って回復されます。

HTTPトリガ

Mgreq.iniファイルに設定されている RequesterTimeoutSecは、HTTPトリガのタイムアウトを定義します。RequesterTimeoutSec が異常終了したフローのリカバリポリシーを実行するためにかかる時間より短い場合、回復処理は実行されません。

関連トピック：

リカバリデータの格納


リカバリデータの格納

Magic xpiプロジェクトを実行すると、リカバリメカニズムの適切な管理と処理のために必要な情報とデータは、全てSpace内に自動的に保存されます。

4つの回復オプションが、フローのためにあります。

  • なし …… 回復処理を全く行いません。並行タスクは停止せず、異常終了しなかったように動作を継続します。従って、リカバリポリシーを定義することはよいことです。

  • アボート …… リカバリポリシーがアボートとして定義されると、ルートフローはユーザ定義のクリーンアップフローの呼び出しに従って終了されます。一旦クリーンアップフローが終了すると、アボート処理は完了します。クリーンアップフローは、［フロープロパティ］ダイアログボックスの［クリーンアップリカバリフロー］プロパティで定義されます。フローが中断するか再起動(フローのリカバリポリシーで定義されます)する前に、クリーンアップフローが呼び出されます。

  • 再起動 …… 再スタート方針のための行動はアボートに類似しています。主要な違いは、流れが、根流れからオリジナル・データを使って、再スタートすることです。Magic の実行ユニットは、メッセージステータスをREADY_FOR_USEに変更し、処理待ちのメッセージのプールに追加されます。

  • セーブポイント …… セーブポイントオプションは、Magic xpiにフロー内の情報を定義したポイント（セーブポイント）までバックアップさせることができます。このオプションを選択すると、Magic xpiはルートフローのリニア分岐に到達した最後のセーブポイントからのフローを回復します。

各ステップが実行される前に、Magic xpiサーバは、ステップが"セーブポイント"として定義されていないかをチェックします。ステップが"セーブポイント"として定義されるなら、ワーカはMagic スペースを最後のセーブポイントで更新するか、最後のセーブポイントが存在していないか、ステップが到達していない場合、フローを再起動します。リカバリ処理の間に、Magic の実行ユニットは、メッセージステータスをREADY_FOR_USEに変更し、セーブポイントの詳細に基づいて特定のステップを追加します。並行ワーカが呼び出された後に、セーブポイントが定義されると、並列処理は実行されません。
リカバリオブジェクトは、ユーザBLOBと同じようにフロー変数のようなデータを含んでいて、同じスレッド内の以前のセーブポイントは上書きされます。

  • セーブポイントは、ルートフローとルートフローのリニアパスでのみ関連します。子フローまたは、並行分岐内のセーブポイントは無視されます。

  • セーブポイントを使用するための最善な事例は、エコシステム、データベース、および.NETステップなどのサードパーティーの呼び出しに関係している時です。


フロータイムアウト

フロータイムアウト値は、［フロープロパティ］ダイアログボックスの［タイムアウトポリシー］プロパティで定義され、ワークプロセス全体に関係します。タイムアウトの定義はメインフローからのみ取得されます。子フローまたはコンテキストのために定義されたタイムアウト値は無視されます。

メインのリニアフローは常に再帰的にその並行分岐のすべてを待ち、待っている間はライセンススレッドを消費しません。Since version: 4.5

タイムアウトに達すると、リカバリ処理が起動されます。これはワーク処理を再開するか、中止します（セーブポイントは、タイムアウトに利用できません）。

複数のMagic xpiサーバを使用している場合、PCのクロックが全てが同期していることを確認してください。


スケジューラ

スケジューラは、統合プロジェクトの開発者が作成したフロー呼出のスケジュールを決定するタイマイベントを処理します。

スケジューラは、特定のサーバ上のフローに対するタイマイベントのすべてにエントリを持っています。エントリには、フローがいつ実行されるのかを示す日付と時刻が含まれています。Magic xpiサーバは常にスケジューラをチェックし、スケジューラのエントリの時間が来るとMagic xpiサーバが適切なフローを呼び出します。

統合プロジェクトを変更すると、スケジューラシステムは、新規のタイマイベントによって更新されます。


コマンドライン リクエスタ

コマンドラインリクエスタは、Spaceとの通信を容易にするリクエスタ管理プログラムです。これは、mgrqcmdl.exeファイルを選択することで起動します。

コマンドラインインタフェース

コネクタビルダの外部タイプのトリガは、コマンドラインリクエスタを使用して呼び出されます。コマンドラインリクエスタは、mgrqcmdl.exeプログラムです。これは［コマンドプロンプト］ウィンドウで実行することができます。コマンドラインリクエスタは、アクセスするSpaceのアドレスを定義するためにMgreq.iniファイルを使用します。

コマンドラインリクエスタを使用するための構文の情報は、パラメータを指定しないでMGRQCMDLコマンドを実行すると表示されます。以下のパラメータがサポートされています。

パラメータ | 説明
-APPNAME (または、 -APP) | Magic xpiのプロジェクト名
-PRGNAME (または、 -PRG) | プログラム名
[ -ARGUMENTS ] | プログラムに渡す引数をカンマ区切りで指定します。
[ -VARIABLES] | 項目名。カンマ区切りで指定します。
[ -FILENAME ] (または、 [-FILE]) | リクエストの結果を含むファイルの名前

データタイプ

名前 | タイプ
-A | 文字
-B | BLOB
-D | Double
-F | Float
-L | 論理(True/False)
-N | Integer
-U | NULL


Magic モニタ

Magic モニタは、Magicのインフラを管理したり監視します。また、単一の直観的で、使いやすいダッシュボードからプロジェクトについての正確な情報を取得することができます。プロジェクト全体の情報を参照することもできますし、プロジェクト内の異なるレベルを選択したり、指定した時間の情報を表示するフィルタを使用することができます。表示された情報は、定期的に更新されます。各プロジェクトのステータスは、Spaceから取得されます。

Magicモニタによって提供される情報は、プロジェクトを調査し、パフォーマンスを改善するためにどこを修正する必要があるかを確認することができます。例えば、データの読み込みに時間がかかる場合や、ライセンス上の機能不足によって発生した問題を識別することができます。

このような問題が発生すると、Magic モニタは警告を表示します。例えば、エンジンが代替ライセンスで実行していたり、Spaceのステータスが"compromised"になっていることなどです。

さらに、プロジェクトを再設定するためにMagic xpi スタジオに戻ることなくサーバを調整をすることができます。

  • Magic モニタは、runwebmonitor.batファイル(<Magic xpiのインストールフォルダ>\Runtime\RTView\magicmonitorフォルダにあります)で定義された設定を使用してSpaceを見つけます。

  • Magic モニタは、全てのレコードを格納する ifs_actlog と呼ばれるデータベーステーブルに基づいています。

  • プロジェクトフォルダの位置を変更する方法については、ここをクリックしてください。

  • Salesforceを使用してプロジェクトを監視することもできます。詳細は、ここをクリックしてください。

起動とオープニング

Windowsの［スタート］メニューの［Magic モニタ］のショートカットからモニタを開きます。デフォルトでは、このリンクはローカルホストを指定しています。これを次の通りにして、Magic モニタサービスを実行しているホストへのリンクに変更する必要があります。

  1. ［スタート］メニューの［Magic モニタ］のショートカットで右クリックしてください。

  2. ［プロパティ］を選択してください。

  3. ［Magic モニタプロパティ］ダイアログボックスが開きます。

  4. モニタサービスを実行しているホストを指定するために、URLを変更してください。例えば、モニタサービスを実行しているホストが"10.1.3.75" の場合、URLを次のように変更します：http://10.1.3.75:8068/magicmonitor/panels.jsp

  • デフォルトでは、Magic モニタ Web サーバは、ポート8068を使用します。このポートを変更するには、<Magic xpiのインストールフォルダ>\Runtime\RTView\servers\apache-tomcat-7.0.104\conf\server.xml ファイルを開いてください。次に、コネクタポートのパラメータを非SSL HTTP/1.1ポートに変更してください。

  • Magic モニタ 表示サーバ の Web サーバは、環境変数の WEB_SERVER_LOCATION システムプロパティを設定することで変更することができます。このプロパティは、Web サーバーのルートフォルダの場所になります。このプロパティが設定されていない場合は、Web サーバーのデフォルトの場所が使用されます。

たった1台のPCでMagic モニタ表示サーバのサービスを実行する必要があることを覚えておいてください。

Magic Monitorショートカットはブラウザでリンクを開き、次のログイン画面が表示されます。ログイン画面では、ログイン状態を維持し、Magic Monitorセッションをアクティブに保つオプションをユーザーに提供します。 [ログインしたままにする]チェックボックスがオフになっている場合、15分間何も操作しないとユーザーはログアウトされます。

許可と認証

3人のデフォルトユーザがインストール処理中に設定されます。これらのユーザのためのログイン情報は、以下の通りです：

  1. ユーザ 1: オペレータ. オペレータはプロジェクトの開始や停止を行うことができます。

    1. ユーザ名: admin

    2. 初期パスワード: changeit

  2. ユーザ 2: ビューア

    1. ユーザ名: guest

    2. 初期パスワード: changeit

  3. ユーザ 3: 内部目的用

    1. ユーザ名: root

    2. 初期パスワード: root

これらのユーザは<Magic xpiのインストールフォルダ>\Runtime\RTView\magicmonitor\users.xmlファイルで定義されます。users.xmlファイルでは、以下に表示されるように、あらかじめ決められたユーザ名とパスワードを変更することができます。ユーザ名とパスワードは、大文字と小文字を区別します。変更をしたら、users.xmlファイルを保存してください。

新しいユーザがusers.xmlファイルに追加されたら、<Magic xpiのインストールフォルダ>\Runtime\RTView\magicmonitor\runwebmonitor.bat ファイルを実行するか、または［タスクマネージャ > サービス > Magic モニタ表示サーバ］ サービスを停止して、モニタサービスを再起動する必要があります。

users.xmlファイルを使用してユーザを追加することもできます。これを行うには、users.xmlファイルでユーザインスタンスをコピーし、既存のインスタンスの下に新しいユーザインスタンスとしてそれを貼り付けてください。そして、以下のイメージのように新しいユーザインスタンスの名前を、新しくユニークな名前に変更してください。名前を変更をしたら、users.xmlファイルを保存してください。

各ユーザは、定義された役割を持っています。これらの役割は、オペレータ(全ての権利)とビューワ(読み込み専用)です。デフォルトでは、オペレータの値はadminでログインすると割り当てられ、ビューワはguestログインに割り当てられます。以下に表示されているように、必要に応じて users.xml の定義を変更してください。変更を行ったら、users.xmlファイルを保存してください。

役割の範囲は、各定義されたユーザが実際にモニタに表示されるものを意味していて、<Magic xpiのインストールフォルダ>\Runtime\RTView\magicmonitor\roles.xmlファイルで定義されます。

モニタダッシュボード

Magic モニタには、3つの主要なダッシュボードがあります：

  • Magic xpiダッシュボード

  • Magic xpaダッシュボード (現在は、利用できません)

  • データグリッドダッシュボード

コンテキストメニュー

Magic モニタは、異なる画面で様々なコンテキストメニューのオプションを提供します。これらのオプションは、以下の通りです。

  • Refresh

  • Back

  • Next

  • Drill Down

  • Export Table to Excel

  • Export Table to HTML

  • Export PDF

  • Copy Cell Value

  • Status

  • Logout

既知の問題のため、Google Chromを使用するとコンテキストメニューのオプションのすべてが表示されません。

関連トピック：

モニタからプロジェクトの開始／停止

Magic モニタの保護

Apache TomcatにSSLを実装するには？


Magic xpiダッシュボード

この機能はxpi 4.13.5のxpi モニタ（ベータ）では有効ではありません。

Magic モニタにログインすと、Magic xpiダッシュボードが開きます。

このダッシュボードには、以下のトップレベルの情報が表示されます。

  • 実行プロジェクト …… 現在実行しているプロジェクトの数。

  • ライセンス使用 …… 使用しているライセンススレッド数。ライセンスの総数から取得した値。

  • Magic xpi スペース ステータス …… Magic Space(MAGIC_SPACE)配備のステータス。異なるテータスが、3つの異なる背景色で分割されます：緑色、オレンジ、および赤。ステータスは、INTACT、COMPROMISED、DEPLOYED、 SCHEDULED、BROKEN、NA、およびUNDEPLOYEDです。.

  • Magic-Info スペース ステータス …… MAGIC_INFO Space配備のステータス。有効なステータスは、Magic xpi Spaceのステータス(上記)と同じです。

  • Magic-Mirror PU ステータス …… MGMirror 処理ユニット配備のステータス。有効なステータスは、Magic xpi Spaceのステータス(上記)と同じです。

  • 使用可能ライセンス …… 現在、有効なライセンスの数。

  • ライセンス情報 …… ライセンスフィーチャ、シリアル番号、ライセンススレッド総数、有効期限が含まれています。

  • 処理メッセージ …… この情報は5分ごとに再表示されます。監視されている各プロジェクトに存在するメッセージ数を表示します。必要な期間をドロップダウンリストを使用して設定することができます。

  • ライセンス使用 …… 実行プロジェクトが有効なライセンススレッドをどのように使用しているかについての情報を、ほぼリアルタイムに表示します。

ライセンス数が0の場合、赤色で表示されます。以下のどれかの場合、ライセンス数は0に設定されます：

  1. まだエンジンが起動されておらず、ライセンスはSpaceに読み込まれていない。

  2. ライセンスで定義されたホストでのエンジン実行がまだ開始されていない(ライセンスが一つのホストでロックされ、このホストだけがSpaceにライセンスを読み込めることができるます)。

以下のオプションから構成される、動作リストもあります。

  • 全プロジェクト閲覧

  • 停止プロジェクト閲覧

  • 実行プロジェクト閲覧

  • プロジェクト警告

これらのオプションの1つをクリックすると、Magic xpiプロジェクトダッシュボードのタブが開きます。ここで特定のプロジェクトについての詳細情報が表示されます。

Chromeの既知の問題のため、Google Chrome™ブラウザを使用しているときは、ダッシュボードビューのリンクに手のカーソルが表示されません。


Magicモニター クリティカルステートアラート通知

Magicモニターは、スペースで発生する可能性のある重大な状態についてユーザーに警告する通知メカニズムを提供します。アラート通知は電子メールの形式であり、管理者に送信されます。電子メールサーバーの詳細、資格情報、アドレスなどの電子メールアラートに必要な構成は、<Magic xpi 4.x Installation>\Runtime\Gigaspaces \ Configにあるdb_alert_config.propertiesという名前のファイルで構成できます。このファイルのエントリは、デフォルトでは空です。ユーザーは、これらのアラートのメールの件名、本文、通知間隔をカスタマイズすることもできます。

サポートされているアラートを以下に示します。

1.データベース接続喪失アラート：

通知間隔は、プロパティmail.schedule.time.millisecondを使用して構成できます。この時間はミリ秒単位で構成する必要があります。

メールの件名と本文は、split.brain.mail.subjectプロパティとsplit.brain.mail.bodyプロパティをそれぞれ使用して設定できます。

2.分割脳検出：

メールの件名と本文は、それぞれプロパティmail.subjectとmail.bodyを使用して設定できます。

スプリットブレインアラートは発生ごとに送信されます。

3.REDOログのオーバーフロー：

通知間隔は、propertyRedo.log.alert.minutesを使用して構成できます。

メールの件名と本文は、それぞれプロパティredo.log.mail.subjectとredo.log.mail.bodyを使用して設定できます。

4.高CPU使用率アラート

メールの件名と本文は、それぞれhigh.cpu.subjectプロパティとhigh.cpu.bodyプロパティを使用して設定できます。

5.高ヒープメモリ使用率アラート

メールの件名と本文は、それぞれプロパティheap.memory.subjectとheap.memory.bodyを使用して設定できます。

6.高い物理メモリ使用率アラート

メールの件名と本文は、それぞれプロパティphysical.memory.subjectとphysical.memory.bodyを使用して設定できます。

7.ミラー永続性障害アラート

メールの件名と本文は、それぞれプロパティmirror.persistence.subjectとmirror.persistence.bodyを使用して設定できます。

8.スペースの侵害または破損したアラート:

メールの件名と本文は、それぞれspace.status.alert.subjectプロパティとspace.status.alert.bodyプロパティを使用して設定できます。

9.スペース使用不可またはシャットダウン警告:

電子メールの件名と本文は、それぞれspace.life.alert.subjectプロパティとspace.life.alert.bodyプロパティを使用して設定できます。

  • マシンがクラスターモードの場合、ユーザーは個々のマシンごとに電子メールアラートの詳細を設定する必要があります。 Magic モニタによってアラート通知が送信されないエラー。

  • クリティカルアラートのためにシステムが一時停止状態の場合、新しいプロジェクトの開始は機能しません。 システムが通常の状態に戻ったときに、新しいプロジェクトを開始できます。

(Since version: 4.12)


Magic xpiプロジェクトダッシュボードのタブ

Magic xpiダッシュボードの動作リンクの1つをクリックすると、Magic xpiプロジェクトダッシュボードが開きます。このタブは、ApplicationsList.xmlファイル(Runtime\config フォルダに配置されています)に定義されたプロジェクトを表示します。

Magic xpiプロジェクトダッシュボードは、2つの主要なエリアから構成されています。

［プロジェクト］ペイン

ダッシュボードの左上の縮小表示された［プロジェクト］ペインで、［ステータス］のドロップダウンリストから以下のオプションのどれかを選択することで、表示される情報をさらに改善することができます。

  • ALL

  • RUNNING

  • STOPPED

選択を行うと、プロジェクトの名前やステータス、このプロジェクトのために報告された警告の数が表示されます。プロジェクトのステータスや開始時間についての情報も表示されます。

［開始］、［停止］、および［再起動］のボタンを使用して、プロジェクトをコントロールすることができます。guestとしてログインすると、これらのボタンが無効になることに注意してください。

をクリックして［プロジェクト］ペインを展開してください。このペインは、プロジェクト(プロジェクト、プロジェクトに割り当てられたライセンススレッド数、およびプロジェクトが現在使用しているライセンススレッド数によって使用されているエンジンとワーカの数)によって提供されたメッセージ数を含むプロジェクトについての追加情報を表示します。

Microsoft Edgeブラウザでは、プロジェクトの「停止」ボタンが機能しない場合があります。その場合、EdgeブラウザのIE（Internet Explorer）モードを有効にする必要があります。下記のページに記載されている手順に従って、EdgeブラウザでIEモードを有効にしてください。

https://docs.microsoft.com/ja-jp/deployedge/edge-ie-mode

プロジェクト詳細ビュー

［プロジェクト詳細ビュー］ペインは、上部のツールバーとより大きな［情報］ペインから構成されています。

より大きな［情報］ペインは、表示させたい特定の情報を選択する一連のタブボタンによってコントロールすることができます。

［ダッシュボード］ボタン(それは別のウィンドウからMagic xpiプロジェクトダッシュボードに戻ります)に加えて、これらの操作ボタンは、メッセージ、フロー、トリガ、サーバ、ロッキング、サブスクリプション、スケジューラ、アクティビティログ、ODS、BAM、および概要があります。

Magic xpiプロジェクトダッシュボードは、Magic xpiプロジェクトについての詳細情報を表示します。［範囲］ドロップダウンリストを使用して、表示される情報の時間帯を調整することができます。［ライセンスロード］は、使用されたライセンススレッドの現在数を表示します。

このウィンドウの詳細なプロジェクト分析には、以下が含まれています：

  • プロジェクトのロードと保留中メッセージ …… 直前(到達と見なされます)にSpaceに入力したメッセージの数、直前に完了に変更された(実行済と見なされます)メッセージの数、終了までの工程内（保留中と見なされます）のメッセージの数を表示します。

  • ライセンス使用状況と使用可能なワーカーの経過時間 …… プロジェクトのライセンス使用とプロジェクトで利用可能なワーカの総数を表示します。予約されたライセンススレッドエントリ(［設定］ダイアログボックスの［プロジェクト環境］セクションの［一般設定］の下)が定義されると、それらが現在使用されていなくても、ライセンス使用のグラフは予約されたライセンスに含まれます。

  • 警報 …… プロジェクトで発生した警告、重要度レベル、通知された日付、発生時刻が表示されます。

  • トリガーアクティビティ …… プロジェクトで動作しているトリガの数を表示します。ドロップダウンリストを使用して、この情報にフィルタをかけることができます。


メッセージ タブ

Home > リファレンスガイド > Magic モニタ > Magic xpiダッシュボード > Magic xpiプロジェクトダッシュボードのタブ > ［メッセージ］タブ

［メッセージ］タブ

［メッセージ］ウィンドウは、Spaceで処理されているプロジェクトメッセージの詳細情報と要約を表示します。BP、フロー、ステータス、および起動タイプのドロップダウンリストを使用して、この情報にフィルタをかけることができます。

このタブの数は、数秒ごとに再表示されます。

詳細なメッセージ情報には、以下が含まれています。

  • 作成

  • ID

  • ステータス

  • 起動タイプ

  • BP

  • フロー

  • ワーカーID

  • タイムアウト

［メッセージ履歴エクスポート］ボタンをクリックすることで、選択されたプロジェクトと関連したすべてのメッセージを保持するCSVファイルを含むzipファイルを作成し、ダウンロードすることができます。 (Since version: 4.5)


フロー タブ

Home > リファレンスガイド > Magic モニタ > Magic xpiダッシュボード > Magic xpiプロジェクトダッシュボードのタブ > ［フロー］タブ

［フロー］タブ

［フロー］ウィンドウは、プロジェクトで実行しているフローについての詳細情報と要約を表示します。BP、およびステータスのドロップダウンリストを使用して、この情報にフィルタをかけることができます。

詳細なメッセージ情報には、以下が含まれています。

  • BP ID

  • BP 名

  • フローID

  • フロー名

  • 実行中インスタンス (現在/最大)

  • 総呼出数

  • 有効

  • リカバリポリシー

  • タイムアウトポリシー

  • タイムアウト

特定のフロー上で右クリックし、コンテキストメニューから［有効］または［無効］のどちらかを選択することでフローの有効化／無効化ができますす。


トリガ タブ

Home > リファレンスガイド > Magic モニタ > Magic xpiダッシュボード > Magic xpiプロジェクトダッシュボードのタブ > ［トリガ］タブ

［トリガ］タブ

［トリガ］ウィンドウは、プロジェクトで実行しているトリガについての詳細情報と要約を表示します。BP、フロー、トリガータイプ、サーバ、および状態のドロップダウンリストを使用して、この情報にフィルタをかけることができます。

詳細なメッセージ情報には、以下が含まれています：

  • 名称

  • タイプ

  • トリガID

  • サーバID

  • BP名

  • フロー名

  • 最終メッセージ

  • メッセージ総合計

  • 状態

  • 開始


サーバ タブ

Home > リファレンスガイド > Magic モニタ > Magic xpiダッシュボード > Magic xpiプロジェクトダッシュボードのタブ > ［サーバ］タブ

［サーバ］タブ

［サーバ］ウィンドウは、プロジェクトで実行しているサーバについての詳細情報と要約を表示します。ホスト、ステータス、およびライセンス機能のドロップダウンリストを使用して、この情報にフィルタをかけることができます。

既知の問題のため、Google Chrom™を使用するとコンテキストメニューのオプションのすべてが表示されません。

個々のサーバ行で右クリックし［サーバ詳細］を選択すると、ダッシュボードの上部にサーバ詳細の要約が表示されます。下部には、そのサーバで使用されたすべてのワーカが、詳細情報とともにリスト表示されます。この情報には、ワーカIDとワーカによって処理されたメッセージの総数が含まれています。 リンクをクリックすることで主要なサーバ表示に戻るように操作することができます。

標準のMagic モニタのコンテキストメニューのオプションに加え、様々なサーバ管理処理を実行するために個々のサーバ行で右クリックすることができます。これらのオプションは、以下の通りです。

  • Shutdown …… 現在のサーバをシャットダウンします。選択されたサーバが現在実行している時だけに、このオプションは有効です。サーバをシャットダウンすると、すべてのワーカは、タイムアウトになるか有効なメッセージが無くなるまでメッセージを送り続けます。フローを終了する各ワーカは、終了し、新しいワークを取得しません。

  • Start …… 早く追加されたMagic サーバエンティティ(ServerDataオブジェクト)設定を使用して、サーバを開始することを指示します。選択されたサーバが停止するか障害が発生した場合、サーバのステータスがSTART_FAILEDの場合だけ、このオプションは有効です。

  • Clear entry …… サーバエンティティ(ServerDataオブジェクト)設定をMagic Spaceから削除します。選択されたサーバが停止するか、障害が発生した場合だけ、このオプションは有効です。

  • Run New Instance …… サーバエンティティで定義されたデータに基づいてこのMagic xpiサーバの別のインスタンスが実行します。より多くのワーカをプールに追加する必要がある場合、これは有益です。デフォルトでは、現在のサーバ(パークされている)から、このダイアログボックスはデータを表示します。このオプションは、現在のサーバのステータスに関わらず有効です。

  • Add Server …… 別のサーバをプロジェクトに追加します。

  • Refresh License …… 1つ以上のワーカが固定のライセンススレッドを使用しているか、アクセスができないサーバをシャットダウンすると、サーバのワーカの残りは、FLOATINGライセンスタイプを保持します。この状況では、ワーカに対し新しい固定のライセンススレッドを再取得するように指示する必要があります。
    例えば、［予約ライセンススレッド］を3と設定した場合、これは、3つのワーカが現在固定ライセンスを持ちし、それを返さないことを意味しています。これらの3つのワーカは通常、同じエンジン(たぶん、起動された最初のエンジン)にあります。エンジンが停止すると、［ライセンスのリフレッシュ］のオプションがクリックされない限り、または新しいエンジンが起動しない限り、同じプロジェクトの別のエンジンは、それらの3つのワーカを確保しようとはしません。

Run New Instance または Add Server が選択されると、［新規サーバインスタンス］ダイアログが開き、新しいサーバの以下の詳細を入力することができます。

  • サーバホスト …… 新しいサーバインスタンス用のホスト名を入力してください。

  • 代替ホスト …… 代替のホスト名またはIPアドレスをカンマ区切りのリストで入力してください。

  • プロジェクトディレクトリ …… 新しく作成されたプロジェクトに必要なディレクトリを入力してください。

  • インスタンスの数 …… 作成したいサーバンスタンスの数を入力してください。

  • トリガ読込 …… 新しいサーバを作成する時にトリガを読み込む場合は、このチェックボックスを選択してください。

  • スケジューラ読込 …… 新しいサーバを作成する時にスケジューラを読み込む場合は、このチェックボックスを選択してください。

  • 自動起動読込 …… 新しく作成されたサーバが起動する時にフローを呼び出す場合は、このチェックボックスを選択してください。

  • ワーカの数 …… 新しいサーバで動作するワーカの数を入力してください。


ロッキング タブ

Home > リファレンスガイド > Magic モニタ > Magic xpiダッシュボード > Magic xpiプロジェクトダッシュボードのタブ > ［ロッキング］タブ

［ロッキング］タブ

［ロッキング］ウィンドウは、プロジェクトのロックユーティリティについての詳細情報と要約を表示します。

以下の情報が含まれています。

  • FSID (フローシーケンスID)

  • ロックリソース名

  • ロック日時


サブスクリプション タブ

Home > リファレンスガイド > Magic モニタ > Magic xpiダッシュボード > Magic xpiプロジェクトダッシュボードのタブ > ［サブスクリプション］タブ

［サブスクリプション］タブ

［サブスクリプション］ウィンドウは、プロジェクト内のパブリッシュとサブスクライブ(PSS)ユーティリティについての詳細情報と要約を表示します。

以下の情報が含まれています：

  • PSSイベント名

  • BP ID

  • BP名

  • フローID

  • フロー名

  • 一度？ …… Trueの場合、サブスクリプションは一回のみと呼ばれて、システムから削除されます。


スケジューラ タブ

Home > リファレンスガイド > Magic モニタ > Magic xpiダッシュボード > Magic xpiプロジェクトダッシュボードのタブ > ［スケジューラ］タブ

［スケジューラ］タブ

［スケジューラ］ウィンドウは、プロジェクト内のスケジューラユーティリティについての詳細情報を表示します。

以下の情報が含まれています。

  • 起動時刻

  • BP ID

  • BP名

  • フローID

  • フロー名

  • 名称

スケジューラ強制呼出し

Since version: 4.5

プロジェクトが、例えば24時間ごとに実行するように設定されるスケジューラを含んでいて、プロジェクトが呼出し時間に実行していない(例えば、メンテナンスのため)場合、次のスケジューラ呼出しのために数時間待つ必要があるかもしれません。

Magic モニタは、プロジェクトが再び実行されたら、次のトリガ呼出し時間を変更せずに特定のフローのスケジューラを即時に呼出すようにします。これを行うには、スケジューラ上で右クリックし、コンテキストメニューから［Invoke］を選択してください。

このようにして呼び出されたスケジューラは、通常のスケジューラと同じように動作します。フローが、呼び出された(すなわち、フローは無効ではなく、サーバはシャットダウンされておらず、既存のスケジューラはすでに実行している)場合、呼び出したフローのメッセージはSpaceに追加されます。

Magic モニタからのスケジューラトリガーの呼び出しは、設定されたカレンダーを参照せず、フローはユーザーの要求に応じてトリガーされます。


概要 タブ

Home > リファレンスガイド > Magic モニタ > Magic xpiダッシュボード > Magic xpiプロジェクトダッシュボードのタブ > ［概要］タブ

［概要］タブ

［概要］ウィンドウは、一カ所に最も関連して有益な情報を簡潔に表示します。

以下の情報が含まれています。

  • サーバ合計

  • ワーカー合計

  • ポーリングトリガー合計

  • 処理済リクエスト

  • 保留中リクエスト

  • 予約済ライセンススレッド

  • 消費ライセンススレッド

  • 本番ライセンススレッド合計

  • テストライセンススレッド合計

  • 開始

  • 最終トリガー呼出

  • 最終ワーカーアクティビティ


アクティビティログ タブ

Home > リファレンスガイド > Magic モニタ > Magic xpiダッシュボード > Magic xpiプロジェクトダッシュボードのタブ > ［アクティビティログ］タブ

［アクティビティログ］タブ

［アクティビティログ］タブは、プロジェクトのアクティビティログについての詳細情報を表示し、いくつかの設定が含まれています。

  • ［選択フィルタ］セクション …… 現在のビューのためにログに表示される情報を定義します。フィルタを定義するには、［フィルタ］ボタンをクリックしてください。追加情報は、以下の［アクティビティログフィルタ画面］セクションを参照してください。

  • サーバID、BP、フロー、およびステップのドロップダウンリスト …… アクティビティログにフィルタを設定する場合に、これらのリストを使用することができます。これらのリストのすべてのデフォルト値はALLで、値のあらゆる変更よって表示がリフレッシュされます。モニタは最初に、GigaSpacesからこれらのドロップダウンリストのためにデータを取得しようとします。GigaSpacesが有効でないか、プロジェクトが実行されたいない場合、データは、プロジェクトフォルダ内にある、MonitorOfflineMetadata.xmlファイルから読み込まれます。このファイルは、ビルド処理が行われる度に作成されます。このように、フィルタリング機能はオフラインモードでも利用できます。しかし、MonitorOfflineMetadata.xmlファイルが存在していない場合、どのフィルタリングも利用できず、フィルタのドロップダウンリストのすべてはALLに設定されます。MonitorOfflineMetadata.xmlファイルを読み込む場合は、再表示処理は必要ありません。最初にオフラインプロジェクトにアクセスする時、またはプロジェクトがシャットダウンした後にオフラインプロジェクトにアクセスする時は、読み込みのみとなります。

  • 自動リフレッシュ間隔(秒) チェックボックス …… 選択されると、指定された間隔で表示がリフレッシュされます。デフォルト間隔は30秒です。 ボタンをクリックすると ダイアログボックスが開き、間隔を変更することができます。このチェックボックスは、最初のページでのみ有効です。スクロールボタンを押下して画面の下部にスクロールすると、このチェックボックスは無効になります。

  • メッセージタイプ ドロップダウンリスト …… 画面の右上にあり、表示するメッセージにフィルタをかけることができます。オプションは、次の通りです：All(デフォルト)、Errorsまたは Component Logging

  • ロギング可 チェックボックス …… Magic xpiサーバの効率的な処理を有効にするために、Magic xpiサーバがメッセージをアクティビティログに送ることを防止することができます。サーバを再起動することなく要求に応じたアクティビティログのスイッチを入れることができます。これは、実行時のトラブルシューティング機能を提供します。実行サーバと接続しているのであれば、ロギングオプションは有効です。

  • コンポーネントロギング可 チェックボックス …… このチェックボックスを使用して、コンポーネントのロギングを有効／無効にすることができます。このチェックボックスを選択すると、それに応じてG.sys.ComponentLogging変数も更新されます。.

  • 詳細 …… ［アクティビティログ］テーブルのフォーカスされた行の詳細を表示します。青色で下線が引かれた詳細のいくつかをクリックすることができます。リンクは、アクティビティログの画面が表示され、ルートFSID、フローリクエストID、またはFSIDに基づいて表示にフィルタがかかります。必要な情報のビューにフォーカスがあり、手動でそれを検索する必要性がないため、プロジェクトの問題を調査するうえで、これらのリンクは非常に便利です。フィルタリングされたアクティビティログ画面には、日時、BP、フロー、ステップ、メッセージタイプ、メッセージ、FSID、ルートFSID、フローリクエストID、およびBLOBカラムが表示されます。
    [詳細]セクションのハイパーリンクは、プロジェクト内の問題を調査する際に非常に役立ちます。なぜなら、必要な情報にビューを集中させ、手動で検索する必要がなくなるからです。BLOBファイルを開くには［BLOBに接続］ボタンからズームすることもできます。このボタンは、BLOBが使用可能な場合にのみ使用可能になります。

Oracle Database Blobの場合、デフォルトで2kまでサポートされています。 2KB以上のBLOBフィールドのサポートを取得するには、プロジェクトのifs.iniに次のパスを定義します。このパスは、指定された場所にあるデータ用のファイルを作成し、モニターでも正常に実行されます。

[MAGIC_IBOLT] activityBlobFileLocation = c：\\temp\\

  • 明細行合計 …… データベース内のメッセージの総数。これは［自動リフレッシュ間隔］の設定に関わらず自動的に再表示されます。

  • 結果 ドロップダウンリスト …… 各ページのレコードの総数を定義します。有効なな値は20、50(デフォルト)、100、および200です。

  • ログ削除 ボタン …… 削除する日数を指定する場合は、このボタンをクリックしてください。

  • リフレッシュ ボタン …… 手動でテーブルを再表示する場合は、このボタンをクリックしてください。これはMagic xpiサーバの情報をチェックし、テーブルを更新します。.

［アクティビティログフィルタ］画面

［時間範囲フィルタ］セクションでは、ログに表示される日付と時刻にフィルタをかけることができます。［From］と［To］のパラメータは、それぞれ2つのフィールドがあります。最初のフィールドには、開始日と終了日を入力してください。最初の［From］または［To］フィールドでダブルクリックすると日付を選択することができるカレンダが表示されます。2番目のフィールドでは、開始時刻と終了時刻を入力してください。

［コンテキスト関連フィルタリング］セクションでは、ルートFSID、フローリクエストID、またはFSIDに基づいてメッセージにフィルタをかけることができます。［From］と［To］のフィールドには、開始と終了の FSID を入力してください。

ドロップダウンリストから、アクティビティログメッセージにフィルタ（ALL(デフォルト)、Server、Flow、またはComponent）をかけることができます。

［メッセージ］セクションから、上記のどのテーブルを表示するかを選択することができます。

名前 | 説明
表示 | ログに送りたい各メッセージの隣のチェックボックスを選択します。デフォルトでは、統計情報が選択されます。チェックボックスをクリアにすると、それが関連していても、メッセージはアクティビティログに表示されません。
書込 | ログに書き込みたい各メッセージの隣のチェックボックスを選択します。
色 | メッセージが例外設定を越えている場合の表示色を選択します。

情報を入力した時、フィルタを作成する必要があります。［OK］をクリックすると、このプロジェクトの設定が変更されアクティビティログの表示が変更します。

メッセージファイル

［フィルタ］ボタンをクリックすると、以下の2つのファイルが \Projects\<プロジェクト名>\config フォルダに保存されます。

  • Actlog_Write_Settings.xml ……– このファイルは、データベースにアクティビティログメッセージを書き込む処理にに関与しています。マスタテンプレートファイルは、<Magic xpiのインストールフォルダ>\Runtimeフォルダにあります。

  • Actlog_Display_Settings_<user>.xml ……– このファイルは、表示と色に関与しています。異なる表示設定は、ユーザに基づいて適用されるため、各XMLファイルはファイル名の一部に<user>が付加されます。

プロジェクトが読み込まれると、ファイル名と連結された ActivityBlobFileLocationフラグから、ifs_actlogデータベーステーブルのFILELOCATIONカラムは値を格納します。BLOBは、BLOB変数に保存されるかファイルシステムに保存されるかをMagic モニタで表示します。BLOBがファイルシステムに保存される場合は、Magic モニタはFILELOCATIONカラムに従ってBLOBを検索します。アクティビティログをMagic モニタから取り除くと、それらがデータベースにまたはディスク上に保存されているかどうかにかかわらず、これらのBLOBは削除されます。

定義はプロジェクト毎です。1つのプロジェクトがデータベースにBLOBを書き込むことができ、別のプロジェクトがファイルシステムに書き込むことを意味しています。

Since version:

4.5


ODS タブ

Home > リファレンスガイド > Magic モニタ > Magic xpiダッシュボード > Magic xpiプロジェクトダッシュボードのタブ > ｛ODS｝タブ

｛ODS｝タブ

［ODS］タブは、プロジェクトのODSについての詳細情報を表示しています。

ビューは、2つのテーブルに分かれています。上部のテーブルがプロジェクトで定義された有効なODSキーを表示します。下部のテーブルは実際のODSレコードを表示します。

上部のテーブルでODSキーを選択すると、下部のテーブルでこのキーで利用できる全てのレコードが表示されます。

以下の情報は、上部のテーブルに表示されます。

名前

説明

名前

ODSテーブルでデータを識別するODSキー。

タイプ

ローカルな、またはグローバルなODSのタイプ。

ローカルなODSの場合、コンテキストが完了するまでレコードは有効です。

FSID

フローID番号。フローでODSキーを識別するために、Magic xpiが使用する内部番号です。

インデックス

ODS配列において存在しているレコードの総数を示します。

以下の情報は、下部のテーブルで表示されます。

名前 | 説明
インデックス | ODS配列の一部であるデータのためのインデックス番号。
文字列 | ODSに書き込まれた文字列の値。
数値 | ODSに書き込まれた数値。
論理 | ODSに書き込まれた論理値。
日付 | ODSに書き込まれた日付値。
時刻 | ODSに書き込まれた時刻値。
BLOB | ODSに保存されたBLOB。

［ODS］ウィンドウには、また以下の設定が含まれています。

  • ODSタイプ コンボボックス …… ODSインスタンステーブルをフィルタリングします。有効な値は、All(デフォルト)、Global、および Localです。

  • すべての消去 ボタン …… このボタンは、ODSレコードをすべてを消去します。特定のODSだけを消去する場合は、上部のテーブルの個々のODS行でコンテキストメニューを表示させることもできます。

  • 自動リフレッシュ間隔(秒) チェックボックス: …… 選択されると、指定された間隔で表示がリフレッシュされます。デフォルト間隔は30秒です。 ボタンをクリックするとダイアログボックスが開き、間隔を変更することができます。このチェックボックスは、最初のページでのみ有効です。スクロールボタンを押下して画面の下部にスクロールすると、このチェックボックスは無効になります。.

  • 詳細:…… ODSテーブルの中のフォーカル行の詳細。行の総数

  • 明細行数合計 …… データベース内のメッセージの総数。これは［自動リフレッシュ間隔］の設定に関わらず自動的に再表示されます。

  • 結果 コンボボック …… 各ページのレコードの総数を定義します。有効なな値は20、50(デフォルト)、100、および200です。

  • リフレッシュ ボタン: …… 手動でテーブルを再表示する場合は、このボタンをクリックしてください。これはMagic xpiサーバーの情報をチェックし、テーブルを更新します。.

実行時、サーバは完了したFSIDに属しているローカルODSのすべてのレコードを削除します。

Since version:

4.5

関連トピック：

オペレーショナル・データ・ストレージ (ODS)


BAM タブ

Home > リファレンスガイド > Magic モニタ > Magic xpiダッシュボード > Magic xpiプロジェクトダッシュボードのタブ > ［BAM］タブ

［BAM］タブ

［BAMS］タブは、プロジェクトのBAMSについての詳細情報を表示し、いくつかの設定が含まれています。

  • 選択フィルタ セクション …… 現在のビューのためにログで表示される情報を定義します。フィルタを定義するには、［フィルタ］ボタンをクリックしてください。追加情報は、以下の［BAM フィルタ］画面のセクションを参照してください。

  • 自動リフレッシュ間隔(秒) チェックボックス …… 選択されると、指定された間隔で表示がリフレッシュされます。デフォルト間隔は30秒です。 ボタンをクリックするとダイアログボックスが開き、間隔を変更することができます。このチェックボックスは、最初のページでのみ有効です。スクロールボタンを押下して画面の下部にスクロールすると、このチェックボックスは無効になります。.

  • 詳細 …… ［BAM］テーブルのフォーカスされた行の詳細を表示します。青色で下線が引かれた詳細のいくつかをクリックすることができます。リンクは、アクティビティログの画面が表示され、ルートFSID、フローリクエストID、またはFSIDに基づいて表示にフィルタがかかります。必要な情報のビューにフォーカスがあり、手動でそれを検索する必要性がないため、プロジェクトの問題を調査するうえで、これらのリンクは非常に便利です。
    BLOBファイルを開くには［BLOBに接続］ボタンからズームすることもできます。BLOBが有効な場合は、これだけが利用できます。

  • 明細行数合計 …… データベース内のメッセージの総数。これは［自動リフレッシュ間隔］の設定に関わらず自動的に再表示されます。

  • 結果 コンボボックス …… 各ページのレコードの総数を定義します。有効なな値は20、50(デフォルト)、100、および200です。

  • リフレッシュ ボタン …… 手動でテーブルを再表示する場合は、このボタンをクリックしてください。これはMagic xpiサーバーの情報をチェックし、テーブルを更新します。.

［BAMフィルタ］画面

［時間範囲フィルタ］セクションでは、ログに表示される日付と時刻にフィルタをかけることができます。［From］と［To］のパラメータは、それぞれ2つのフィールドがあります。最初のフィールドには、開始日と終了日を dd/MM/yyyy のフォーマットで入力してください。最初の［From］または［To］フィールドでダブルクリックすると日付を選択することができるカレンダが表示されます。2番目のフィールドでは、開始時刻と終了時刻を hh:mm:ssのフォーマットで入力してください。

［ユーザキーフィルタ］セクションで、User Key 1 と User Key 2を選択することができます。

ログで表示させたいBAMメッセージのタイプを定義することができます。

ステータス、カテゴリ、または優先度に対する表示値を切り替えるには、各エントリ上でパークし、［BAM フィルタ］画面の下部のチェックボックスを選択してください。

情報を入力したら、フィルタを作成する必要があります。［OK］をクリックすると、このプロジェクトの設定が変更され、BAMの表示が変更されます。

Since version:

4.5


データグリッドダッシュボード

バージョン4.13.5以降、このページは適用されません。

横のナビゲーションバーの［データグリッド］ボタンをクリックすると、データグリッドダッシュボードが開きます。これは、クラスタ上で動作し、GigaSpacesエンティティについての詳細情報を表示します。

このダッシュボードには、以下のトップレベルの情報が表示されます。

  • Spaceのステータス

  • Spaceパーティションの配備 …… ドロップダウンリストを使用して、フィルタリングすることができます。

  • Space関連の警告 …… Spaceの警告定義と敷居値は、次のファイルから読み込まれます。 Runtime\Gigaspaces\config\alerts\alerts.xml (Since version: 4.5). 有効な Space警告は、次のサイトにを参照してください： http://docs.gigaspaces.com/xap97/administrative-alerts.html.

［ホスト］ウィンドウ

データグリッドダッシュボードで、［ホスト閲覧］をクリックすることで、［ホスト］ウィンドウが開きます。

このウィンドウは、以下のデータグリッドの要約と同じようにグリッドホストのリストが含まれています。

  • IPアドレス

  • CPU利用率

  • メモリー使用率

データグリッドについての以下の詳細情報もあります。

  • ［Gridコンポーネント］タブ

  • 名称 …… グリッドコンポーネント名(GSC1、LUS2など).

  • タイプ …… GSC、GSM、LUS、またはGSA。

  • PID …… グリッドコンポーネントのプロセスID。

  • ゾーン …… グリッドコンポーネントが付属しているゾーンのカンマ区切りのリスト。

  • 使用メモリ(MB): …… グリッドコンポーネントのメモリ使用量。

  • 使用CPU(%): …… グリッドコンポーネントのCPU使用率

  • ［Magic エンジン］ タブ

  • 名称 …… エンジンの名前。

  • タイプ …… Magic xpiまたはMagic xpa。.

  • PID …… エンジンのプロセスID。

  • プロジェクト/アプリケーション名 …… エンジンが処理しているプロジェクトまたはアプリケーションの名前。


モニタからプロジェクトの開始／停止

モニタは、ApplicationsList.xmlファイル(Runtime\configフォルダにあります)に基づいたプロジェクトを表示します。

  1. デフォルトでは、ファイルの中のテキスト（下の画像を参照）をコピーし、既存のインスタンスの下に新しいインスタンスとして貼り付けてください。

ProjectsFolder FolderPath は、プロジェクトのすべてが保存されるパスです。

Project ProjectPath は、ユニークなプロジェクトフォルダのパスです。ここには、start.xmlファイルを含めた１つのプロジェクト用のファイルが含まれています。

  2. 新しいセクションで、"default"という文字列をを別の名前（例えば、"deployment"）に変更してください。

  3. 新しいセクションで、パスをプロジェクトで共有できるドライブ（例えば、"\\10.1.1.6\projects"）を示すパスを変更してください。

  4. ファイルを保存してください。

  5. ［Magic xpi］タブと［すべてのプロジェクトを参照］のリンクををクリックすることで、モニタをリフレッシュし、設定が適用されます。

プロジェクトに特定のグループからモニタで表示されて欲しくない場合、FolderPathのエントリを空のままにおく代わりに、<ProjectsGroup>タグのブロック全体を削除してください。

ここにApplicationsList.xmlファイルの例があります：

<ApplicationsList>

<ProjectsGroup GroupName="default">

<ProjectsFolder FolderPath="c:\Users\ABC\Documents\Magic\Projects"/>

</ProjectsGroup>

<ProjectsGroup GroupName="My first 2 projects">

<Project ProjectPath="C:\Temp\projects\Project1\Project1" ProjectName="Project1"/> <!--a project folder that contains the project's files including the start.xml file-->

<Project ProjectPath="C:\Temp\projects\Project2" ProjectName="Project2" StartFile="start2.xml"/> <!--a project folder that contains the project's files including a "non-default" start2.xml-->

</ProjectsGroup>

<ProjectsGroup GroupName="all QC's projects"> <!--an additional and separate projects folder-->

<ProjectsFolder FolderPath="D:\Different Project Folder\QC"/>

</ProjectsGroup>

</ApplicationsList>


Magic モニタの保護

Magic モニタのWeb UI はApache Tomcatによってホストされています。Tomcatの構成ファイルは<Magic xpi Installation>\Runtime\RTView\baseフォルダ下にあります。Magic モニタが使用するデフォルトポートは8068です。Magic モニタのSSLを有効にするには、このbaseフォルダ下のconfフォルダにあるserver.xmlファイルとweb..xmlファイルを変更する必要があります。

Apache TomcatにSSLを実装するには？ のページを参照し、その手順に従って変更してください。

設定が変更したら「Magic Monitor Display Server」サービスを再起動してください。

関連トピック

Apache TomcatにSSLを実装するには？


xpi モニタ

xpi モニタは、xpi 4.13.5 まで使用されているMagicモニタのUIを全く新しく更新しました。Magic xpi プロジェクトを追跡するため視覚的にアピールし、直感的なインターフェイスを提供します。ただし、xpiモニタは現在ベータ段階であり、既存の Magicモニタよりも安定性が低い可能性があります。

新しいモニターを使用すると、Magic のインフラストラクチャを管理および監視し、直感的で使いやすい単一のダッシュボードからプロジェクトに関する正確な情報を取得できます。プロジェクト全体の情報を表示したり、プロジェクト内のさまざまなレベルを選択したり、フィルターを使用して特定の時間内における情報を表示することが可能です。表示される情報は定期的に更新されます。各プロジェクトのステータスは、スペースから取得されます。

モニターが提供する情報からプロジェクトを調査し、パフォーマンスを改善するために変更が必要な場所を確認できます。たとえば、データの負荷が高い場合やライセンスが不足している場合に発生する問題を特定できます。

xpiモニタは、問題が発生したとき際のアラートも提供します。例えば、エンジンが代替ライセンスで実行されていたり、またはスペースのステータスが侵害されている場合にアラートを発行します。

さらに、Magic xpi スタジオに戻ってプロジェクトを再構成することなく、サーバーを調整することができます。

  • xpi モニタは、runwebmonitor.batファイル(<Magic xpiのインストールフォルダ>\Runtime\RTView\magicmonitorフォルダにあります)で定義された設定を使用してSpaceを見つけます。

  • xpi モニタは、全てのレコードを格納する ifs_actlog と呼ばれるデータベーステーブルに基づいています。

  • プロジェクトフォルダの位置を変更する方法については、ここをクリックしてください。

起動とオープニング

モニターを開始するには、まず Magic xpi 4.13 モニタ (ベータ) サービスを開始します。サービスが開始されると、次のリンクを使用して xpi モニタにアクセスできます。

http://localhost:8181/magicmonitor

また、Magic xpi のインストール中に作成された xpi モニタ (ベータ) ショートカットを使用して、モニタにアクセスすることもできます。デフォルトでは、このリンクはローカル ホストを指しています。 次のように、xpi Monitor サービスを実行しているホストにリンクするように変更する必要があります。

  1. [スタート] メニューの xpiモニタのショートカットを右クリックします。]

  2. [プロパティ] を選択します。

  3. ［xpi モニタプロパティ］ダイアログボックスが開きます。

  4. モニタサービスを実行しているホストを指定するために、URLを変更してください。例えば、モニタサービスを実行しているホストが"10.1.3.75" の場合、URLを次のように変更します：http://10.1.3.75:8068/magicmonitor/panels.jsp

  • デフォルトでは、xpi モニタ Web サーバは、ポート8068を使用します。このポートを変更するには、<Magic xpiのインストールフォルダ>\Runtime\RTView\servers\apache-tomcat-7.0.104\conf\server.xml ファイルを開いてください。次に、コネクタポートのパラメータを非SSL HTTP/1.1ポートに変更してください。

  • xpi モニタ 表示サーバ の Web サーバは、環境変数の WEB_SERVER_LOCATION システムプロパティを設定することで変更することができます。このプロパティは、Web サーバーのルートフォルダの場所になります。このプロパティが設定されていない場合は、Web サーバーのデフォルトの場所が使用されます。

たった1台のPCでxpi モニタ表示サーバのサービスを実行する必要があることを覚えておいてください。

xpi モニタ ショートカットはブラウザでリンクを開き、次のログイン画面が表示されます。ログイン画面では、ログイン状態を維持し、xpi モニタセッションをアクティブに保つオプションをユーザーに提供します。 [ログインしたままにする]チェックボックスがオフになっている場合、15分間何も操作しないとユーザーはログアウトされます。

許可と認証

3人のデフォルトユーザがインストール処理中に設定されます。これらのユーザのためのログイン情報は、以下の通りです：

  1. ユーザ 1: オペレータ. オペレータはプロジェクトの開始や停止を行うことができます。

    1. ユーザ名: admin

    2. 初期パスワード: changeit

  2. ユーザ 2: ビューア

    1. ユーザ名: guest

    2. 初期パスワード: changeit

  3. ユーザ 3: 内部目的用

    1. ユーザ名: root

    2. 初期パスワード: root

これらのユーザは<Magic xpiのインストールフォルダ>\Runtime\RTView\magicmonitor\users.xmlファイルで定義されます。users.xmlファイルでは、以下に表示されるように、あらかじめ決められたユーザ名とパスワードを変更することができます。ユーザ名とパスワードは、大文字と小文字を区別します。変更をしたら、users.xmlファイルを保存してください。

  • 新しいユーザがusers.xmlファイルに追加されたら、<Magic xpiのインストールフォルダ>\Runtime\RTView\magicmonitor\runwebmonitor.bat ファイルを実行するか、または［タスクマネージャ > サービス > Magic モニタ表示サーバ］ サービスを停止して、モニタサービスを再起動する必要があります。

  • xpi Monitorのパスワードは、英数字で入力してください。パスワードに数字のみを使用すると、ログインに失敗します。

users.xmlファイルを使用してユーザを追加することもできます。これを行うには、users.xmlファイルでユーザインスタンスをコピーし、既存のインスタンスの下に新しいユーザインスタンスとしてそれを貼り付けてください。そして、以下のイメージのように新しいユーザインスタンスの名前を、新しくユニークな名前に変更してください。名前を変更をしたら、users.xmlファイルを保存してください。

各ユーザは、定義された役割を持っています。これらの役割は、オペレータ(全ての権利)とビューワ(読み込み専用)です。デフォルトでは、オペレータの値はadminでログインすると割り当てられ、ビューワはguestログインに割り当てられます。以下に表示されているように、必要に応じて users.xml の定義を変更してください。変更を行ったら、users.xmlファイルを保存してください。

役割の範囲は、各定義されたユーザが実際にモニタに表示されるものを意味していて、<Magic xpiのインストールフォルダ>\Runtime\RTView\magicmonitor\roles.xmlファイルで定義されます。

パスワードの暗号化

各ユーザーのパスワードは、プレーンテキストで追加されます。平文ではなく、暗号化されたパスワードを追加する場合は、以下のようにします。

  • RTView_HOME\bin に移動します。

  • このディレクトリから、ユーティリティ encode_string.batを実行し、引数としてパスワードを渡します。

  • このユーティリティは、暗号化されたパスワードを提供します。このパスワードを users.xml 内の平文パスワードと置き換えます。

モニタダッシュボード

Magic モニタには、3つの主要なダッシュボードがあります：

  • Magic xpiダッシュボード

  • プロジェクトダッシュボード

  • データグリッドダッシュボード

コンテキストメニュー

xpi モニタは、異なる画面で様々なコンテキストメニューのオプションを提供します。これらのオプションは、以下の通りです。

  • Refresh

  • Back

  • Next

  • Drill Down

  • Export Table to Excel

  • Export Table to HTML

  • Export PDF

  • Copy Cell Value

  • Status

  • Logout

  • 既知の問題のため、Google Chromを使用するとコンテキストメニューのオプションのすべてが表示されません。

  • xpi モニタ の Web インターフェイスでは、既知の Chrome の問題により、プロジェクトの停止や再起動などの一部の操作ができない場合があります。

ライセンス使用量モニター

このモジュールは、Space Clusterで動作しているすべてのサーバーのライセンス使用状況データを収集します。

データ収集の頻度は、ユーザーが設定することができます。デフォルト値は1分です。

収集されたデータは、実行中のプロジェクトのライセンス（保留キュー）不足によるパフォーマンス低下を分析するのに便利です。

(Since version: 4.13)

関連トピック：

モニタからプロジェクトの開始／停止

xpi モニタの保護

Apache TomcatにSSLを実装するには？


配備

プロジェクトの開発が終了したら、開発結果を開発環境から運用環境へコピーする必要があります。プロジェクトを作成しテストした後、プロジェクトを運用サーバにコピーします。スムーズな配備処理を行う為に、プロジェ クトを移植する際には、以下の事柄について注意してください。

  • すばやく配備できるように開発環境でプロジェクトを設定します。 (参照： 配備のためのプロジェクトの準備.)

  • ファイルが識別されるように配備環境においてファイル構造を設定します。 (参照： Magic xpiプロジェクトの配備.)

  • 配備のためにモニタを手動で設定します。 (参照： 配備環境にアクセスするためにモニタを手動で設定.)

  • プロジェクトをグリッド上に配備する方法を定義するためにstart.xmlファイルを設定します。

  • パフォーマンスと冗長性のためにプロジェクトの配備を微調整します。

  • 代替ホストを定義します。

  • トリガの配備を定義します。

  • Magic xpi GSAサービスを実行します。

  • クラスタリング環境に配備するには、ここをクリックしてください。

  • 実行環境でプロジェクトを実行するには、製品ライセンスがが必要です。（参照： MMagic xpiのライセンス構成.)

関連トピック：

配備時のトラブルシューティング

プロジェクトのホットスワップ


配備のためのプロジェクトの準備

Magic xpiプロジェクトの開発は、Magic xpi スタジオで行われます。 Windows上で実行されるMagic xpi スタジオでプロジェクトを作成します。Magic xpi統合プラットフォームは、Magic xpi スタジオ、Magic xpiモニタと開発サーバが含まれています。これにより管理された環境下でプロジェクトの開発とテストを行うことができます。テスト環境と開発環境が両方ともWindows上で動作する場合は、プロジェクトのフローを実行する上で問題が発生する可能性は低いと思われます。しかしプロジェクトをIBM i サーバで実行させる場合、開発時にオペレーティングシステムの違いを考慮に入れる必要があります。

配備した時にプロジェクトが正しく動作するようにするためには、以下の問題を考慮してください。

  • ファイルやコンポーネントに名前を付ける場合、半角小文字のみを使用してください。Windows上では大文字小文字の区別はありませんが、他のOS、例えばIBM iでは区別されます。プラットフォームをまたいで名前が認識されるようにファイルやコンポーネントを一貫した方法で名前付ける必要があります。このため、半角小文字のみを使用してください。.

  • プロジェクトでキャレット(^)記号を使用しないようにしてください。この記号は、GigaSpacesの予約文字になっています。

  • サーバやメッセージングキューあるいはエイリアスに名前を設定する場合、環境変数を使用してください。環境変数は、Magic xpiの名前変換システムで（例えば%server1% のように）パーセントマーク(%)で囲むように指定します。サーバの実際の名前が何であってもこの環境変数を割り当てることができます。この環境変数の値（この場合、サーバの実際の名前）をMagic.ini ファイルで設定することができます。Magic.iniファイルを使用したプロジェクトの配備については、Magic xpiプロジェクトの配備を参照してください。

  • プロジェクトのコンテキスト変数、グローバル変数、フロー変数に環境変数を割り当てます。これによりMagic xpiでコンポーネントやサービスを環境変数を使用して設定する場合、変数を使用することができます。変数を使用すると、配備の時にmagic.iniファイルの更新の際、それぞれのコンポーネントの設定を確認する必要がなくなります。使用されている環境変数の一覧は変数リポジトリで確認できます

  • Magic xpino内部データベースと、運用環境で利用しようとするアプリケーションのデータベースは、同じタイプを使用してください。れは、開発環境のデータベースがMicrosoft SQL Serverを使用している場合、実行環境でも同じサーバタイプを使用しなければならないことを意味します。.

  • 装備する前に、プロジェクトからすべてのデバッグコードを削除するか無効にしてください。例えば、デバッグ目的で使用されたフローやメッセージ、およびプログラムを削除するか無効にしてください。

  • プロジェクトの開発中は、ネットワークドライブにマッピングしないでください。これは、プロジェクトの利用者が運用時に同じネットワーク環境で利用しているとは限らないからです。

プロジェクトの配備が準備できた時。

  • プロジェクトの［ビルド］メニューを開き、［リビルド］のオプションを選択して、実行ファイル（ibp）を作成します。


Magic xpiプロジェクトの配備

プロジェクトを配備できるようになったら、サーバ環境を準備します。

サーバを準備するには：

  1. 実行環境にプロジェクトをコピーする：これを行うには以下のような二つのオプションがあります。

a. オプション1：これは通常、はじめて実行環境にプロジェクトをコピーする場合に使用します。

    • 開発環境から実行環境にプロジェクトフォルダと関連するすべてのファイルをコピーしてください。同じプロジェクト構成を維持することが重要です。このようにして配備しないと、プロジェクトは正しく実行しません。

    • 実行境設定に合うように（例、ライセンス名やパス名、倫理名)、以下のプロジェクト要素を修正してください。

      • start.xmlファイル

      • ifs.iniファイル

      • ショートカットの参照先

    • 必要に応じて、Magic.iniファイルを開発環境（例、ライセンス名やパス名、倫理名、例えばcurrentprojectとDB_SERVER_NAME）に合うように、実行環境のMagic.iniファイルを修正してください。

b. オプション2：これは通常、プロジェクトがすでに実行環境に存在するときに使用します。

そして、開発環境にある間に、プロジェクトに変更内容を反映するようにしたい場合に行います。

    • 開発環境のプロジェクト・フォルダから以下のプロジェクト要素を実行環境のプロジェクト・フォルダにコピーしてください。

      • プロジェクトのibpファイル

      • service.xmlとresource.xml（変更されていれば)

      • ifs.iniファイルとitsが参照するファイル（変更されていれば)

    • 必要に応じて、開発環境のMagic.iniファイル（例、ライセンス名やパス名、倫理名)に合うように実行環境のMagic.iniファイルを修正してください。

  • ロギングの処理は、プログラムの実行速度をかなり落とすので、ロギングを止めることを推奨します。

  • 全ての場合において、パラメータの名前と値は、大文字と小文字が区別されます。

  • IBM i の OSが大文字と小文字を区別するため、プロジェクト内でファイルや他のコンポーネントの名前を定義する際、慎重に行ってください。そうしないと、プロジェクトは正しく実行しません。ファイルと他のコンポーネントの名前を定義する際に小文字のみを使用する場合は、変更することなくサーバ上のプロジェクトディレクトリに直接プロジェクトフォルダのファイルをコピーすることができます。

  • Magic.iniファイルの中で、［日付モード］の設定が式のために使用される日付モードの設定となることを確認してください。

  • 開発環境でカスタム・コンポーネントを作成したら、 <Magic xpi のインストールフォルダ>\Runtime フォルダから実行環境にresource_types.xmlファイルをコピーする必要があります。Magic xpiのインストール処理によって提供されるresource_types.xmlファイルは、Magic xpiのネイティブ・コンポーネントのみが含まれています。

  • コネクタビルダを使用してユーザがユーザ定義のコンポーネントを修正しないようにするには、metadata.xmlファイルのないコネクタフォルダをユーザに提供してください。

  2. 他のファイルをプロジェクト・ディレクトリにコピーする：プロジェクトで使用するために作成した他のファイルもコピーしなければなりません。それらは、開発環境で使用しているフォルダ（そして、サブフォルダ）に同じ名前でコピーされていることを確認してください。

  3. 外部リソースのマッピング：Magic xpiサーバがアクセするするJavaライブラリやデータベースというような、すべての外部リソースを開発環境と同じ方法でママッピングしてください。たとえば、開発環境でPC AでのJava A を呼び出す JAva ライブラリを使用している場合、Magic xpi サーバを PC A の Java A にマッピングしてください。同じ位置の同じライブラリまたは正確なコピーにマッピングする必要があります。これは、リモートPC上のデータベースやその他のリソースに対しても同じです。

クラスタリング環境環境での実行に関する詳細は、ここをクリックしてください。


プロジェクトのホットスワップ

xpi プロジェクトをアップグレードする場合、プロジェクトのシャットダウンと再起動が必要なため、プロジェクトのダウンタイムは常に懸念されます。 xpi のホットスワップ機能はこの問題を解消し、ダウンタイムをほぼゼロにすることができます。ホットスワップを使用して xpi プロジェクトをデプロイすることにより、プロジェクト内のトリガーのトラフィックは、現在デプロイされているバージョンからスワップされたバージョンのプロジェクトに、シームレスに移行されます。このアプローチではデータの整合性とビジネスロジックを保持しながらも、ビジネスイベントが失われることはありません。

これらを実現するために、ホットスワップのメカニズムは更新されたプロジェクトをGigaSpaces内で一時的に他のプロジェクト名で実行します。この一時的なプロジェクトがデプロイされると、GigaSpacesグリッドのメタデータが、スワップされたプロジェクトで更新されます。 元のプロジェクトのトリガーは停止し、スワップされたプロジェクトのトリガーはリクエストの受け入れを開始します。 元のプロジェクトの保留中のジョブが全て完了すると、元のプロジェクトは停止します。 新しくデプロイされたスワッププロジェクトは、元のプロジェクトに置き換わります。

ホットスワップステータス

プロジェクトのホットスワップは、下記の状態を遷移します。:

ステップ | 元のプロジェクト | スワップされたプロジェクトの状態
元のプロジェクトがGigaSpacesにデプロイ | 実行中 | NA
プロジェクトのビジネスロジックの変更 | 実行中 | デプロイされない
プロジェクトをリビルドし、ホットスワップコマンドを使用してプロジェクトをデプロイ | 実行中 | デプロイ開始
スワッププロジェクトがデプロイ成功 | 停止中（新しいリクエストは受け付けない） | 実行中
元のプロジェクトが実行中のジョブを完了 | 停止 | 実行中
スワッププロジェクトが元のプロジェクトに置き換わる | スワップされたプロジェクトで置き換 | 実行中

ホットスワップの実行

  1. プロジェクトのビルド.

プロジェクトのビルドにより、プロジェクト フォルダーに「hotswap.lnk」ショートカットが作成されます。 また、「hotswap」という名前の新しいフォルダーが作成され、start.xml および ifs.ini ファイルが作成されます。

  2. hotswap.lnk ショートカットを実行して、ホットスワッププロセスを開始します。

  3. Magic Monitor に移動し、スワップされたプロジェクトのステータスを確認します。

制限事項とベストプラクティス

  1. ホットスワッププロジェクトは、start.xml を推奨される値で生成し、スワップされたプロジェクトを開始するときにそれらを使用します。推奨される値には、スケジューラと自動開始の値を false に設定することも含まれます。.

  2. プロジェクトをスワップする前にトリガーを削除する場合は、それが完全に停止され、元のプロジェクトで使用されていないことを確認してください。そうでないと、何らかのトリガーが削除された場合、既存のジョブはスワップされたプロジェクトで常に保留中として表示されます。

  3. スワップをしている間、プロジェクトのアクティビティログは出力されません。失われたアクティビティログは、別のプロジェクトキー (通常は <ProjectName_swap>) で、データベースに手動でアクセスしてください。

  4. ホットスワップのメカニズムは、スワップされたプロジェクトを新しいプロジェクトとして開始し、既存のプロジェクトを置き換えます。 このため、プロジェクト内の次のオブジェクトが再初期化され、それらの値は元のプロジェクトから引き継がれません。

  5. スケジューラ

  6. グローバル変数

  7. PSS

  8. UDS およびコンバータデータ

  9. xpaのメモリ関連のアクティビティデータ

  5. エンド ユーザーが使用する iniput() 関数は、新しい xpa インスタンスであるため、スワップされたプロジェクトでは使用できません。

  6. Magic Monitor からプロジェクト用に作成されたオンデマンド インスタンスは、ホットスワップされません。 ホットスワップは start.xml の値のみを受け入れ、start.xml にリストされているインスタンスを置き換えます。

  7. ホットスワップするプロジェクトには、個別のプロジェクト名を付けることをお勧めします。

  8. 2 つの Magic xpi プロジェクトが同時にホットスワップされ、それらのプロジェクト名が最初の 25 文字を共有している場合、ホットスワップ操作が失敗する可能性があります。

  9. Magic Monitor で実行されたフローの有効化/無効化の変更は、プロジェクトがホットスワップされた後に上書きされます。

参考：

  • スワップシャットダウンタイム

(Since version: 4.13.5)


代替ホストの定義

start.xmlファイルには、メインホストが利用できなかったり、メインホストの起動に失敗した場合に利用できるサーバとしての代替ホストを定義するオプションがあります。ここで表示されるように、alternateHosts属性を使用してこれを行います。

<Magicxpi_Startup>

<Projects>

<Project Name="proj1" ProjectsDirPath="c:\Magic xpi 4.0\projects\">

<Servers>

<Server host="main_Host" alternateHosts=””>

<NumberOfWorkers>10</NumberOfWorkers>

<NumberOfInstances>1</NumberOfInstances>

<Triggers load="true"/>

<Scheduler load="true"/>

<AutoStart load="true"/>

</Server>

</Servers>

</Project>

</Projects>

</Magicxpi_Startup>

代替ホスト機能を使用するには、クラスタリング環境を正しく設定しなければなりません。これをどのようにするかは、ここをクリックしてください。

alternateHosts属性は、デフォルトは空白です。ここで、必要な代替ホストを入力します。カンマ区切りでホスト名やIPアドレス、またはその組み合わせで指定します。

start.xmlファイルで代替サーバのホストを定義しな場合：

  • GSAが有効でないのであれば、サーバのステータスはSTART_REQUESTEDとして恒久的に残ります。

  • GSAが有効で起動に失敗した場合は、サーバのステータスはSTART_FAILEDとなります。.

start.xmlファイルで代替サーバホストを定義した場合：

  • メインホストでの起動処理が失敗すると、Magic xpiは、代替ホスト上のサーバを利用とします。

  • Magic xpiは、利用できないメインホストが有効になるまで60秒間待ちます。この時間を経過してもメインホストがまだ利用できないならば、Magic xpiは、次のホストに移りそこのサーバを利用しようとします。

次のホストへの移動は周期的に行われます。最後の代替ホストに達し、利用できなかったり処理が失敗し場合、Magic xpiは別の試みとして、メインホストに戻ります。

Magic xpiは、自動的にサーバをメインホストに戻ります。戻りの処理は、ステータスがRUNNINGである代替ホスト上で動作しているるサーバでのみ有効です。

メインホストのGSAが有効な場合：

  1. 新しいServerDataオブジェクトは、メインホストを指定するように作成されます。トリガとワーカは、アイドルモードを開始するために定義されます。

  2. 新しいServerDataオブジェクトは、新しいIDを持ちます。

  3. 新しいServerDataオブジェクトは、すべての前のサーバIDのリストを保持します。.

  4. サーバが、メインホスト上での起動に成功したら(ステータスはRUNNING)、代替ホストは、正常終了するためのコマンドが実行され、新しいサーバは引き継ぎます。

  5. 代替サーバが終了したら、交替のServerDataオブジェクトはMagic Spaceから削除されます。

Since version:

4.1


トリガの配備

start.xmlファイルは、どのトリガが各サーバ上で実行するかを定義します。

トリガを含むプロジェクトをビルドするかリビルドすると、常にサンプルとして start.xml.triggersファイルが projects/<プロジェクト名> フォルダに作成されます。

  • start.xmlファイルは変更されないので、ファイルが作成された後に、サンプルファイルはトリガ詳細を保持するために使用されます。

  • トリガーアーキテクチャの詳細について、このイメージを参照してください。

トリガ要素は、以下の詳細を保持します。

  • BP_ID

  • Flow_ID

  • Trigger_ID

  • Name

start.xml.triggersファイルでは、以下の方法でこれらのトリガの詳細が表現されることを確認できます。

<Trigger BP_ID=”1” Flow_ID=”3” Trigger_ID=”2” Name="SFDC Customers sync"/>

<Trigger BP_ID="1" Flow_ID="7" Trigger_ID="3" Name="Check Emails"/>

<Trigger BP_ID="2" Flow_ID=”5” Trigger_ID="5" Name="Sugar Contacts"/>

どのトリガがどのサーバで実行するかを定義するには、ここで示されているようにプロジェクトのstart.xmlファイルにトリガの詳細をコピーし、貼り付ける必要があります。

<?xml version="1.0" encoding="UTF-8"?>

<Magicxpi_Startup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<Projects>

<Project Name="test1" ProjectsDirPath="d:\ibolt\Magic xpi 4.0a RC\projects\">

<Servers>

<Server host="AVIW-7-LP">

<ProjectsDirPath/>

<NumberOfWorkers>10</NumberOfWorkers>

<NumberOfInstances>1</NumberOfInstances>

<Triggers load="true">

<Trigger BP_ID=”1” Flow_ID=”3” Trigger_ID=”2” Name="SFDC Customers sync"/>

<Trigger BP_ID="1" Flow_ID="7" Trigger_ID="3" Name="Check Emails"/>

<Trigger BP_ID="2" Flow_ID=”5” Trigger_ID="5" Name="SugarCRM Contacts"/>

</Triggers>

<Scheduler load="true"/>

<AutoStart load="true"/>

</Server>

</Servers>

</Project>

</Projects>

</Magicxpi_Startup>

各Magic xpiサーバは、独自のトリガを読み込み、維持することについて関与しています。以下の規則が適用されます。

  • "Triggers load "の要素がTrueと定義され、子要素が全くない場合、すべてのトリガが読み込まれます。これは、以前のMagic xpiの機能と同じです。

  • "Triggers load "の要素がFalseと定義された場合、特定のトリガが定義されていても、トリガは読み込まれません。

  • "Triggers load "の要素がTrueと定義された、子要素が存在している場合、子要素によって定義されたトリガだけがエンジンによって読み込まれます。

  • 一つのエンジンで同じトリガの複数インスタンスを読み込むことはできません。しかし、同じトリガは、複数のエンジンによって開始されるように設定することはできます。

  • トリガリストでHTTP、Web Service、およびSDKの外部トリガを定義する必要はありません。これらのトリガはどちらにしても作動します。

  • トリガリストでHTTPとWeb Serviceのトリガを定義すると、これらのエントリは無視されます。

  • 1つのSAP ERPトリガだけがstart.xmlファイルに定義されても、プロジェクトのために定義されたすべてのSAP ERPトリガが読み込まれます。

例

  1. この例は、サーバがホスト10.2.5.65へのTCPListnerトリガを実行します。This shows a server running the TCP listener trigger on host 10.2.5.65.

    <?xml version="1.0" encoding="UTF-8"?>

    <Magicxpi_Startup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <Projects>

    <Project Name="test1" ProjectsDirPath="d:\ibolt\Magic xpi 4.0a RC\projects\">

    <Servers>

    <Server host="10.2.5.65” alternateHosts=””>

    <ProjectsDirPath/>

    <NumberOfWorkers>3</NumberOfWorkers>

    <NumberOfInstances>1</NumberOfInstances>

    <Triggers load="true">

    <Trigger BP_ID=”1” Flow_ID=”3” Trigger_ID=”2” Name="TCP listiner"/>

    </Triggers>

    <Scheduler load="true"/>

    <AutoStart load="true"/>

    </Server>

    </Servers>

    </Project>

    </Projects>

    </Magicxpi_Startup>

  2. この例は、特定のトリガの1つのインスタンスと他トリガの複数インスタンスを実行する方法について示しています。

    Host 1

    <?xml version="1.0" encoding="UTF-8"?>

    <Magicxpi_Startup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <Projects>

    <Project Name="test1" ProjectsDirPath="d:\ibolt\Magic xpi 4.0a RC\projects\">

    <Servers>

    <Server host="10.7.8.32" alternateHosts=”10.7.8.23”>

    <ProjectsDirPath/>

    <NumberOfWorkers>3</NumberOfWorkers>

    <NumberOfInstances>1</NumberOfInstances>

    <Triggers load="true">

    <Trigger BP_ID=”1” Flow_ID=”4” Trigger_ID=”1” Name="Salesforce trigger1"/>

    <Trigger BP_ID=”1” Flow_ID=”5” Trigger_ID=”2” Name="JMS trigger"/>

    </Triggers>

    <Scheduler load="true"/>

    <AutoStart load="true"/>

    </Server>

    </Servers>

    </Project>

    </Projects>

    </Magicxpi_Startup>

    Host 2

    <?xml version="1.0" encoding="UTF-8"?>

    <Magicxpi_Startup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <Projects>

    <Project Name="test1" ProjectsDirPath="d:\ibolt\Magic xpi 4.0a RC\projects\">

    <Servers>

    <Server host="10.7.8.23" alternateHosts=”10.7.8.32”>

    <ProjectsDirPath/>

    <NumberOfWorkers>3</NumberOfWorkers>

    <NumberOfInstances>1</NumberOfInstances>

    <Triggers load="true">

    <Trigger BP_ID=”1” Flow_ID=”5” Trigger_ID=”2” Name="JMS Trigger"/>

    </Triggers>

    <Scheduler load="true"/>

    <AutoStart load="true"/>

    </Server>

    </Servers>

    </Project>

    </Projects>

    </Magicxpi_Startup>

Since version:

4.1

関連トピック：

マルチインスタンストリガ機能


マルチインスタンストリガ機能

プロジェクトでいくつかのMagic xpiトリガの複数インスタンスを使用することができます。Magic xpi4.1以降、プロジェクトのエンジンによるトリガの配備は、配備の時に設定できます。これは、各トリガが実行されるj場所でコントロールが可能だけでなく、複数のエンジンで実行するために、同じトリガを設定します(例えば、設計段階でBP1のフロー4に定義されたWebSphere MQトリガ)。これによって、トリガ処理機能を拡張することができます。

以下の表は、どのトリガでこのように使用することができるかを説明しています。

名前 | マルチインスタンス | コメント
Directory Scanner | Yes |
Email | No (条件付き) | ［Leave On Server］パラメータが、Yesに設定されている場合、結果として重複が発生します。パフォーマンスには効果がありません。
Exchange | No | 結果として重複が発生し、固定ファイルが上書きされるかもしれません。パフォーマンスには効果がありません。
HL7 | No | TCPポートを開きます。1台のPCあたり1インスタンスのみ。
IBM i | Yes |
JMS | Yes |
MSMQ | Yes |
Salesforce | No | 結果として重複が発生し、固定ファイルが上書きされるかもしれません。パフォーマンスには効果がありません。
SAP ERP | Yes |
SAP A1 | Yes |
SAP Business One | No | 結果として重複が発生します。パフォーマンスには効果がありません。
Sugar | No | 結果として重複が発生し、固定ファイルが上書きされるかもしれません。パフォーマンスには効果がありません。
TCPListner | No | TCPポートを開きます。1台のPCあたり1インスタンスのみ。
WebSphere MQ | Yes |
SDK トリガ (外部) | Yes |
SDK トリガ (ポーリング) | 依存 | 実装内容に依存。


配備環境にアクセスするためにモニタを手動で設定

モニタは、Magic xpiサーバの配備で行われるすべての動作を監視します。モニタは、Magic xpi統合プラットフォームに含められていますが、配備で使用するために異なるPCにインストールすることができます。

サーバとモニタのインストール

Magic モニタサービスは、手動でインストールする必要があります。どのように行うかについては、インストールガイドのMagicモニタサーバサービスのインストールと手動起動のセクションを参照してください。


コンポーネント シリーズ

このセクションでは、Magic xpiで提供されている、"すぐに利用可能な"統合フローコンポーネントと、これらを使用してどのように統合プロジェクトをビルドするかを説明しています。

統合フローコンポーネントは、統合フローの構成要素です。フローにコンポーネントを挿入する際は、挿入するコンポーネントの統合フロー内での役割を設定する必要があります。

フローコンポーネントの利用に関する一般的な情報は、ここをクリックしてください。

Magic xpiには、下記のようなコンポーネントが含まれています:

名前 | 説明 | ID
コンポーネント
D365 Finance Operations | Microsoft Dynamics 365のAPIとの連携を可能にし、ユーザーがデータを読み書きできるようにします。 | 357780625
DBトリガー | DBTriggerコンポーネントは、Magic xpiがDBTriggerサービスで定義されたイベントに対して作成されたトリガーを継続的に監視することを可能にします。 | 497798305
Directory Scanner | ローカルエリアネットワーク（LAN）やFTPディレクトリをチェックして、新しいファイルがいつ作成されたかを確認します。 | 103
Domino | Dominoサーバのカレンダエントリ、Eメールメッセージ、コンタクトやドキュメントライブラリにアクセスします。 | 104
Dynamics AX 2012 | WSDL URIを提供することによって「Dynamics AX Application Integration Framework (AIF)」におけるインバウンドポートとして公開された「Microsoft Dynamics® AX」サービスとの通信を可能にします。 | 163
Dynamics CRM | Microsoft® Dynamics™ CRMアプリケーションを使用して動作します。 | 156
Email | 標準通信プロトコルを使用してEメールメッセージの送受信を行ないます。 | 106
暗号化 | 様々な暗号化、複合化メソッドを通してソースデータセキュリティを保持し、ユーザが定義するセキュリティレベルを提供します。 | 123
Exchange | Magic xpiプロジェクトがMicrosoft Exchangeサーバのメールやカレンダ、コンタクト、およびタスクにアクセスすることができるようになります。 | 157
ファイルアーカイブ | 同じタイプのファイルをアーカイブ（圧縮）したり解凍したりします。 | 122
ファイル管理 | コピー、リネーム、削除、読み取り、書込み、追記、作成等、様々なファイル操作を行ないます。 | 108
ファイル分割 | ファイルを複数の小さなファイルに分割したり、分割ファイルを再グループ化します。 | 124
File Watcher | ディスクやFTPソースをチェックして、新しいファイルが作成されたことを確認します。 | 723503627
FTP | 選択されたサーバへのFTP接続開始、ディレクトリ変更、ファイル転送などを含む多機能なファイル管理ユーティリティ | 109
Google カレンダ | Googleカレンダ™とその機能にアクセスすることができます。 | 151
Googleドライブ | Googleドライブ™とその機能にアクセスすることができます。 | 154
HTTP | HTTPリクエストの送受信を行います。 | 110
IBM i コネクタ | IBM i環境のためのアダプタで、コマンドを実行し、スプールファイルから読み込むことができます。 | 111
JD Edwards Enterprise One | JD Edwardsへの接続機能を提供します。 | 145
JD Edwards World | JD Edwards Worldへの接続機能を提供します。 | 161
JMS | Javaメッセージサービスへのメッセージの送受信を行います。 | 115
LDAP | LDAP環境のためのアダプタで、属性に基づいてデータを格納することができます。 | 152
Microsoft Excel | Microsoft Excel 文書を扱うことができるメソッドを提供します。 | 139
Microsoft Word | Microsoft Word 文書を扱うことができるメソッドを提供します。 | 138
MQTT | MQTTアーキテクチャのクライアント部分を実装します。 | 8437
MSMQ | Microsoft MSMQにメッセージを送受信します。 | 118
Notes DB | IBM Lotus Notesデータベースにアクセスします。 | 144
OData | OData のフォーマットされた呼び出しを送受信することができます。 | 2825
OPC | OPCサーバーに接続して、ビジネスデータを読み取ることができます。 | 624707391
Salesforce | Salesforceへの接続機能を提供します。 | 143
SAP A1 | SAP A1 システムと一緒に利用できるユニークなアダプタ | 153
SAP Business One | SAP Business One アプリケーションと一緒に利用できるユニークなアダプター | 128 | SAP Business One 2004
 |  | 133 | SAP Business One 2005
 |  | 141 | SAP Business One 2007
 |  | 160 | SAP Business One 8.8
SAP ERP | SAP ERP システムと一緒に利用できるユニークなアダプタ | 140
ServiceMax | ServiceMaxへの接続機能を提供します。 | 164
SharePoint | Microsoft® Office SharePoint® Server 2007（MOSS)で動作させるようにします。 | 159
Sugar | Sugarアプリケーションと一緒に利用できるアダプタ | 162
TCPListner | Magic xpiがTCPポート上のTCPクライアントによって送られたリクエストを受け取ることができます。 | 158
検証 | 正しいデータが使用されていることをチェックします。 | 148
WCFClient | Magic xpiが、Microsoft Windows Communication Foundation (WCF) テクノロジーを使用して、Web Serviceのコンシューマとして機能することを可能にします。 | 200
WebSphere MQ | WebSphere MQにメッセージを送受信します。 | 117
XML Handling | XMLファイルとXMLデータを使用することができます。 | 155
XSLT | XMLドキュメントの変換を円滑にします。 | 132
ユーティリティ
アボートフロー | フローロジックの一部としてフロー実行を意図的に中断します。 | 26
BAM | ビジネスプロセスと関連しているサーバによって送られたメッセージを定義、設定します。 | 16
データマッパー | 異なるフォーマットで、そして異なる送り元からビジュアルなマッピングデバイスを使用してレコードとフィールド間の関係を作成します。 | 11
遅延 | フロー実行の間にステップの遅延時間を定義します。 | 10
フロー有効 | フローがプロジェクトのどのポイントででも動作すべきかを定義します。 | 20
Flow Data | Magic xpi プロジェクトフローの間でデータのフローをコントロールします。 | 12
フロー呼出 | フローIDを使用して、フローを呼び出します。 | 7
遅延フロ-呼出 | 特定のフローの呼出しを遅らせます。 | 9
Java クラスコネクタ | Javaクラスとオブジェクトにアクセスし操作します。 | 17
ロックリソース | フローの重要な部分をロックします。 | 4
Magic xpa | Magic xpa Studioを使用して、フローに追加のロジック機能を提供するコンポーネントを作成します。 | 23
.NET Utility | カスタム.NETコードの記述を有効にすることで、Magic xpiを拡張します。 | 27
NOP | 分岐の条件付きの実行を定義する機能を提供することで、フローでより効果的な統合を作成します。 | 22
イベント発行 | ペイロードを含むイベントをイベントプールに送ります。 | 13
PSS パブリッシュ | システムが、パブリッシュされたイベントにサブスクライブされるフローを呼び出すことができるように、PSSシステムにイベントを発行します。 | 1
PSS 削除 | 指定されたイベントをPSSシステムから取り除きます。 | 3
PSS サブスクライブ | PSSフローIDを使用して、PSSシステムでイベントへのフローをサブスクライブします。 | 2
リフレッシュコンバージョン | 実行時に変換テーブルをリフレッシュします。 | 24
メッセージ保存 | 統合プロジェクトでフローが配備された時、サーバによって送られたメッセージを定義、設定します。 | 6
スケジュールフロー | 別のフローの特定の動作の後に、フロー呼出しのスケジュールを作成します。 | 8
スケジューラ | 特定の時間に実行されるフロー呼出しのスケジュールを作成します。 | 18
アンロックリソース | フローの重要な場所をアンロックします。 | 5
イベントを待つ | ステップに定義されたイベント名と一致しているイベントが見つかるまで、フロー実行は停止します。 | 14
Web Services | 外部ソースからアプリケーションへのアクセスを可能にします。 | 25


コンポーネントをサポートするプラットフォーム

この表は、様々なプラットフォーム上でサポートするMagic xpiコンポーネントについて一覧表示したものです。

カテゴリ | コンポーネント | Windows
通信 | FTP |
 | HTTP |
 | TCPListner |
コネクタ | DBトリガー |
 | Dynamics AX 2012 |
 | Dynamics CRM |
 | Exchange |
 | Google カレンダ |
 | Google ドライブ |
 | IBM i |
 | Java クラスコネクタ |
 | JD Edwards Enterprise One |
 | JD Edwards World |
 | LDAP |
 | MQTT |
 | Notes DB |
 | OData |
 | OPC |
 | REST クライアント |
 | Salesforce |
 | SAPB1 2004 |
 | SAPB1 2005 |
 | SAPB1 2007 |
 | SAPB1 8.8 |
 | SAP ERPと SAP A1 |
 | ServiceMax |
 | SharePoint |
 | Sugar |
 | WCFClient |
コンバータ | HL7 |
 | XSLT |
ファイル管理 | Directory Scanner |
 | 暗号化 |
 | ファイルアーカイブ |
 | ファイル管理 |
 | ファイル分割 |
 | Microsoft Excel |
 | Microsoft Word |
 | XML 処理 |
メール | Domino |
 | Email |
メッセージング | JMS |
 | MSMQ |
 | WebSphere MQ |
ユーティリティ | .NET Utility |
 | フロー中止 |
 | BAM |
 | データマッパー |
 | 遅延 |
 | フロー有効 |
 | Flow Data |
 | フロー呼出 |
 | 遅延フロ-呼出 |
 | ロック/アンロック リソース |
 | Magic xpa |
 | NOP |
 | イベント発行 |
 | PSS - パブリッシュ/削除/サブスクライブ |
 | fリフレッシュコンバータ |
 | メッセージ保存 |
 | スケジュールフロー |
 | スケジューラ ユーティリティ |
 | SNMP |
 | 検証 |
 | イベントを待つ |
 | Web Service |


COM

このコンポーネントは、すでにサポートされていません。

移行されたプロジェクトでは、実行中、COMトリガは無視されます。


D365 Finance Operations

このアダプタはMicrosoft Dynamics 365のAPIとの連携を可能にします。

このアダプタは下記の内容を提供します:

  1. OAuth2認証でDynamics 365サーバにアクセス。

  2. クエリを手動で入力および変更しながら、複雑なクエリを作成するクエリウィザード。

  3. ユーザが使用するデフォルトの会社から他の全ての会社間でのデータ取得が可能

  4. ローカルエージェントの使用

(Since version: 4.13.2)

関連トピック：

D365 Finance Operations - 設定

D365 Finance Operations - エラーハンドリング


D365 Finance Operations - 設定

D365 Finance Operationsコネクタをフローに配置すると、Magicxpiはコンポーネントの[プロパティ]ペインを自動的に開きます。 プロパティペインには要求された情報を入力する必要があります。 次にコネクタをダブルクリックまたは右クリックし、コンテキストメニューから[設定]を選択して、コネクタの[設定]ダイアログボックスを開きます。 ここでD365 FinanceOperationsコネクタを構成できます。

D365 Finance Operationsコネクタを使用する前に、まず[設定]ダイアログボックスの[リソース]セクションでD365 Finance Operationsリソースを定義する必要があります。

このアダプタは以下のインターフェースをサポートします。

· XML

関連トピック：

エンティティセットの選択

D365 Finance Operationsクエリウィザード


D365 Finance Operations - XML

コネクタを構成するには、ステップをダブルクリックまたは右クリックし、コンテキストメニューから[設定]を選択して、[D365 Finance Operationsの設定]ダイアログボックスを開きます。

ダイアログに含まれる項目は下記のとおりです:

プロパティ

説明

接続

リソース名

コネクタの[プロパティ]ペインで選択したリソース名。 リソースは、[設定]ダイアログボックスの[リソース]セクションで定義されます。

オペレーション

エンティティ

をクリック して、[エンティティ]リストを開きます。 操作を実行するエンティティを選択します。

メソッド

選択したエンティティで実行されるメソッド。

ドロップダウンリストから次のいずれかの方法を選択します。:

  • Get

  • Put

  • Post

  • Delete

  • Patch

特定のエンティティは、上記のすべての方法をサポートしていない可能性があります。

そのため、サーバ/サービスのサポートの有無による組み合わせによっては、実行時にエラーになる可能性があります。

エンドポイントURL

D365 Finance OperationsリソースのURL、および選択したエンティティとパラメータ。 このフィールドはパークできますが、編集できません。

パラメータ

D365 FinanceOperationsクエリパラメータ。

必要なクエリを入力する方法は2つあります。 をクリック して式エディターを開き、クエリを手動で入力するか、 [image] をクリックしてD365 Finance Operations クエリウィザードを開くことができます。 ウィザードを使用してクエリを作成した後、このプロパティでクエリを手動で変更することもできます。

このプロパティは、[メソッド]パラメーター（上記）で[Get]を選択した場合にのみ使用できます。

この欄で最大値が設定される場合、下記の最大ページ数の値で上書きされます。

ページ分割

最大ページ数

D365 FinanceOperationsリクエストの一部として返される最大ページ数を定義します。

ユーザーが値を0として入力した場合、デフォルト値の50に戻されます。

ページサイズ

ここにページサイズを入力します。

各ページには特定の数のレコードが含まれており、D365 FinanceOperationsサーバーはそれらを個別のリクエストとして処理し、また、各リクエストに独自のタイムアウトが設定されています。

ページサイズを大きくすると、Business Central Serverまたはクライアントのメモリ消費量が増える可能性があります。 最適なパフォーマンスを得るには、使用可能なメモリに基づいてページサイズの値を設定します。

結果オプション

結果保存

結果のXMLファイルを保存する場所を定義します。 ドロップダウンリストから次のいずれかを選択します:

  • Variable: D365 FinanceOperationsから返されるエンティティデータを保持する変数を選択します。
    をクリックして変数リストを開きます。この情報を保存する変数を選択します(デフォルトは C.UserBlob )。

  • File: D365 FinanceOperationsから返されるエンティティデータを保持する変数を選択します。
    をクリックして式エディタを開くか、 [image] をクリックしてこの情報を保存するファイルパスを入力します。

オペレーション成功

このフィールドを使用して、データエンティティがD365 FinanceOperationsに正常に配置されたかどうかを判断できます。 ドロップダウンリストから次のいずれかを選択します:

  • None: コネクタの成功または失敗のステータスを保存しない場合は、このオプションを選択します。

  • Variable: をクリックして変数リストを開きます。コネクタの成功または失敗のステータスを保存する変数を選択します。

スキーマ更新

[スキーマ更新]ボタンをクリックして、選択したD365 FinanceOperationsエンティティのスキーマを作成します。 スキーマは、リソースで生成されたD365 Finance Operationsmetadata.xmlに基づいて生成されます。

スキーマがすでに存在する場合、現在のスキーマは上書きされ、D365 FinanceOperationsメタデータと同期します。 スキーマが存在しない場合は、D365 FinanceOperationsリソースのmetadata.xmlに従って作成されます。 構成情報が保存され、選択したスキーマを宛先としてデータマッパーウィンドウが開きます。 これは、Get操作以外のすべての操作に適用されます。

Dynamics 365 Finance＆Operationsサーバースキーマには、列挙制限に値が0および1のフィールドがいくつか含まれていますが、サーバーはその代わりに値がYesおよびNoの結果のXMLを返します。 このため結果のXMLはスキーマに対して検証されません。

(Since version: 4.13.2)


エンティティセットの選択

  • リストからエンティティセットを選択し、[選択]をクリックします。

  • リストには、D365 FinanceOperationsリソースのエンティティリストで選択したエンティティのみが表示されます。サーバーで使用可能なすべてのエンティティを表示するには、[すべてのエンティティを表示する]チェックボックスをオンにします。.

  • 選択をせずにリストを閉じるには、［キャンセル］をクリックします。


D365 Finance Operationsクエリウィザード

D365 Finance Operationsクエリウィザードは、D365 Finance Operationsの正しい構文のクエリを作成するのに役立ちます。[D365 Finance Operations設定]ダイアログボックスの[オペレーション]フィールドで[Get]メソッドを選択すると使用できます。

下記の画面から構成されています:

Where

Where画面では、クエリによって取得された結果を絞り込む条件を定義します。 次のパラメータが項目として表示されています:

  • 項目名: ドロップダウンリストから必要な項目名を選択します。 使用可能な項目名は、[D365 Finance Operationsの設定]ダイアログの[エンティティ]フィールドで選択したエンティティによって決まります。

  • オペレーター: ドロップダウンリストから必要な演算子を選択します。 使用可能な演算子は、[項目名]列で選択した項目によって決まります。

  • <!?項目名?!>: 読み取り専用項目。[項目名]によって選択された項目名が表示されます。

[追加]をクリックしてWhereクエリに行を追加し、[削除]をクリックしてWhereクエリから行を削除します。

行を追加すると、D365 Finance Operationsクエリは、作成された行の間に「and」を使用して作成されます。 必要に応じて、結果のクエリを手動で編集できます。

項目選択

[項目選択]画面では、クエリする項目を選択できます。 クエリが必要な項目の横にあるチェックボックスを選択します。 使用可能な項目は、[D365 Finance Operationsの設定]ダイアログの[エンティティ]フィールドで選択したエンティティによって決まります。

拡張

[拡張]画面では、[D365 Finance Operationsの設定]ダイアログの[エンティティ]フィールドで選択したエンティティに関連する追加のエンティティを選択できます。

順序

[順序]画面では、クエリによってフェッチされる結果の順序を定義できます。 次のパラメータが列として含まれています。:

  • 項目名: ドロップダウンリストから必要な項目名を選択します。 使用可能なフィールド名は、[D365 Finance Operationsの設定]ダイアログの[エンティティ]フィールドで選択したエンティティによって決まります。

  • 方向: ドロップダウンリストから結果の順序の方向を選択します。 オプションはAscending(昇順)またはDescending(降順)です。

これらの画面を確認したら、[終了]をクリックします。 D365 Finance Operationsクエリウィザードが閉じ、新しく作成したクエリが[D365ファイナンス操作の構成]ダイアログの[パラメータ]フィールドに表示されます。

D365 Finance Operationsクエリオプションは、D365 Finance Operationsプロバイダによって制御されます。 メタデータ取得は、これらのクエリオプションを取得しません。 したがって、使用可能なすべてのオプションが常にユーザーに表示されます。 D365 Finance Operations プロバイダでサポートされるクエリオプションのみを使用する場合は、ユーザーの責任でおこなってください。 プロバイダー側でD365Finance Operationsクエリオプションを無効または禁止すると、クライアントからの呼び出しが失敗する可能性があります。

たとえば、プロバイダー側で[拡張]オプションが無効になっている場合でも、ユーザーはxpi Studioでそれを選択できますが、プロジェクトは実行時に失敗します。 したがって、ユーザーは、プロバイダー側でサポートされていないオプションを選択しないように注意する必要があります。


D365 Finance Operations - エラーハンドリング

Magic xpi Server フローマネージャーは、ステップの実行中にエラーをチェックします。 D365 Finance Operationsコネクタステップでエラーが発生した場合、エラーハンドラが呼び出され、エラーが処理されます。

D365 FinanceOperationsコネクタのエラーコードを以下に示します。 また、D365 FinanceOperationsコネクタでMagicxpiの一般コンポーネントエラーを使用することもできます。コードは、呼び出しプログラムのエラーコードパラメータでMagicxpiサーバーに返されます。

エラーコード | 説明
8888 | .Net 例外
9999 | Java 例外
1601 | ステップ呼び出しエラー
1602 | ACM: 利用可能なACが見つかりません
1603 | AC: ステップが正しく構成されていません
1604 | 入力/出力エラー
1605 | コミュニケーション: データトランスファーエラー
1606 | .Net Launcher:.Net connector呼出失敗
1607 | .Net Launcher: 複数のIStep.Net-assemblyアセンブリが見つかりました
1608 | .Net Launcher: IStep.Net-assemblyが見つかりません
1609 | コミュニケーション: メッセージ処理エラー
1610 | RemoteStepInvoker: 起動タイムアウトエラー
1611 | .Net Launcher: Java-.Net相互運用の失敗
1612 | AC: 不明なコネクタ名
1613 | AC: サポートされていないランタイムテクノロジー
1614 | AC: コネクタのメタデータファイルが見つかりません
1615 | AC: metabata.xmlファイルのデータが正しくありません
1621 | トリガーロードタイムアウト
1622 | ACM: トリガーに使用できるACが見つかりません

関連トピック：

Magic xpi のエラー処理


DBトリガー

Magic xpiは、DB トリガーコンポーネントを使用して、DB トリガーサービスで定義されたイベントに対して、作成されたトリガーを継続的に監視できます。 イベントのタイプは、作成、更新、または削除です。

  • DBトリガーコンポーネントは、DBトリガーコンポーネントとしてのみ使用できます。

  • GigaSpaces インフラストラクチャの内部動作のため、トリガーイベントがスケジュールされる時系列的な順序は保証されていません。トリガーイベントの同期実行を確実にするためには、Magic.iniファイルの[MAGIC_IBOLT]セクションでDBTriggerSyncModeフラグを設定する必要があります。

関連トピック

DBトリガー – 構成


DBトリガー – トリガ構成

Magic xpiは、DBトリガーコンポーネントを使用して、DBトリガーサービスで定義されたイベントに対して作成されたトリガーを継続的に監視できます。

DBトリガーイベントがスケジュールされる時系列の順序はGigaSpacesインフラの内部動作のため、保証されません。トリガーイベントの動機実行を確実にするには、magic.iniファイルの[MAGIC_IBOLT]セクションのDBTriggerSyncModeフラグを設定する必要があります。

DBトリガーコンポーネントを使用する前に、[設定]ダイアログボックスの[サービス]セクションでDBトリガーサービスを構成する必要があります。

トリガーを構成するには、トリガーをダブルクリックまたは右クリックして、コンテキストメニューから[構成]を選択し、[DBトリガー構成]ダイアログボックスを開きます。

このダイアログボックスには次のフィールドがあります。

名前

説明

サービス名

ユーザーが[設定]ダイアログボックスの[サービス]セクションで定義したサービスの名前。 このフィールドは読み取り専用です。

トリガーイベント

ドロップダウンリストからイベントを選択します。 ドロップダウンリストには、DBトリガーサービス用に追加されたイベントが表示されます。 ここをクリックして詳細を参照してください。

トリガーイベントは、プロジェクト全体で一度だけ選択できます。

イベント詳細

イベントの詳細は、選択したイベントの一部として追加されたテーブル名の読み取り専用リストです。リストには、各データベーステーブルの作成、更新、削除イベントのステータスも表示されます

戻りテーブル名

（省略記号ボタン）をクリックして、変数リストを開きます。 変数を選択して、トリガーイベントが発生するテーブル名を設定します。

戻りアクションタイプ

（省略記号ボタン）をクリックして、変数リストを開きます。 変数を選択して、トリガーイベントが発生するアクションタイプ（作成、更新、または削除）を設定します。

戻りペイロード

（省略記号ボタン）をクリックして、変数リストを開きます。 変数を選択して、トリガーイベントによって返されるペイロードを設定します。

ポーリング間隔（分）

ポーリング間隔を設定して、データベースからトリガーイベントをポーリングします。 トリガーアクションテーブルは、指定された間隔でポーリングされます。

ヒント:

トリガーイベントは順番にフローに送信されます。リニアフローを実行する場合、フローの最大インスタンス数を1に設定する必要があります。


ディレクトリスキャナ

Home > コンポーネント シリーズ > Directory Scanner

Directory Scanner

Directory Scannerコンポーネントは、新規ファイルが作成されるとローカルエリアネットワーク（LAN）やFTPのディレクトリをチェックします。最初のファイルが見つかると、ステップは完了します。さらに、コンポーネントは、スキャンしたディレクトリ内の新規に作成されたファイル上で自動的に特定のアクションを実行します。このようにコンポーネントは、新規ファイル作成時に素早く応答できるようになっています。

このコンポーネントを使用して以下の処理を実行することができます。

  • 移動

  • 削除

  • リネーム

さらに、以下の処理も実行できます。

  • ディレクトリ、または、サブディレクトリ内にあるファイルの単一ファイルの監視

  • 監視しているファイルのグループまたは特定のファイルの除外

以下に説明する2つのモードでコンポーネントを使用することができます。モードは、コンポーネントをドラッグする場所によって変わります。たとえば、トリガ領域にコンポーネントをドラッグした場合、そのコンポーネントはトリガとして構成されます。

Directory Scannerを使用すると、処理が必要なファイルのリストを作成します。トリガとしてそれを使用すると、このリストが一回だけ作成されます。しかし、ステップとして使用する場合は、ステップが動くたびに、リストが作成されます。

特に、ディレクトリ内に10,000を超えるファイルを持っている場合、このリストを作成する処理に時間がかかります。従って、このような場合に、可能ならばトリガとしてDirectory Scannerを使用してください。

Directory ScannerがFTPSを使用している場合、リソースのエンコーディングがUnicode(UTF-8)に設定されていないと日本語の文字を含むファイル名に対してDirectory Scannerが正しい動作をしない可能性があります。

モード

説明

ステップ

構成基準を満たすファイルが指定時間内に見つかるか、指定時間が経過した場合、場合に応じたアクションが実行されます。

トリガ

コンポーネントはサーバによって起動され､サーバが実行している間は、ディレクトリ内の新規ファイルを監視し続けます。

Directory Scannerコンポーネントをトリガとして使用すると、複数のディレクトリをスキャンすることができます。

配備

配環境では、コンポーネントは設定パラメータに従ってディレクトリをスキャンします。(FTP から LANやLAN から LAN の方法で)ファイルを移動している場合は、コンポーネントによって見つかった最初のファイルが、ユーザBLOBや、選択されたを通してフォルダや設定されたディレクトリに返ります。ファイル名は、ユーザ文字列や選択された変数を通して返ります。ファイルが返るフォルダかディレクトリを参照してください。

(FTP から LANやLAN から LAN の方法）でファイルの名前を変更した場合、ファイルはオリジナルのフォルダまたはディレクトリ内でリネームされます。(FTPのDeleteメソッドやLANのDeleteメソッドで）ファイルを削除した場合、ファイルは削除されます。

このコンポーネントを利用したサンプルプロジェクトがあります。以下のフォルダにサンプルプロジェクトがコピーされます。 <Magic xpiのインストールフォルダ>\Extra\SampleProjects

関連トピック：

Directory Scanner - 設定

Directory Scanner － エラーコード

Directory Scannerのトラブルシューティング

プロジェクトのDirectory Scannerコンポーネントがネットワークドライブからファイルにアクセスすることができることを確認するには


Directory Scanner - 設定

Directory Scannerコンポーネントでは、ローカルディレクトリとFTPディレクトリの両方にあるフォルダを監視し、指定したファイルの移動、削除、リネームを行います。

Directory Scannerコンポーネントをフローに配置すると、Magic xpiは自動的にそのコンポーネントの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、［コンポーネント設定］ダイアログボックスを開きます。

  • FTPのメソッドを使用して動作する場合、［設定］ダイアログボックスの［リソース］セクションで最初にFTPリソースを定義する必要があります。トリガでFTPソースを使用しようとしている場合、［設定］ダイアログボックスの［サービス］セクションでもFTPサービスを定義する必要があります。

  • Magic xpiは、Directory Scanner コンポーネントの動作をコントロールするための構成ファイルフラグを提供しています。

  • Magic xpiは、現在Unicodeのファイル名をサポートしません。これは、Magic xpiが、OSの言語と異なる言語によるファイル名や、多言語pの組み合わせのファイル名をサポートしないことを意味しています。

表示される［設定］ダイアログボックスは、Directory Scannerコンポーネントをトリガとして使用するか、フローのステップとして使用するのかによって異なります。フロー内のステップとしてのコンポーネントを使用する時に、以下のインタフェースから選択することができます。

  • メソッド

  • XML


ディレクトリスキャナ － トリガ構成

Home > コンポーネント シリーズ > Directory Scanner > Directory Scanner - 設定 > Directory Scanner － トリガ設定

Directory Scanner － トリガ構成

トリガモードでは、Directory Scannerコンポーネントを使用して複数のディレクトリをスキャンできます。

  • Magic xpiは、現在Unicodeのファイル名をサポートしません。これは、Magic xpiが、OSの言語と異なる言語によるファイル名や、多言語pの組み合わせのファイル名をサポートしないことを意味しています。

  • トリガでFTPソースを使用しようとしている場合、［設定］ダイアログボックスの［サービス］セクションでもFTPサービスを定義する必要があります。

［コンポーネント設定:Directory Scanner］ダイアログボックスには、以下のフィールドがあります。

プロパティ

説明

元

スキャン対象のディレクトリが配置されている場所を選択します。

  • LAN

  • FTP

ディレクトリ

をクリックして、送り元と送り先のディレクトリ値を作成するための環境変数とグローバル変数だけをサポートする式を作成します。この式は、新しいファイルが宛先に移動する前に計算されます。 をクリックして、スキャンするパスまたはディレクトリのアドレス、またはフォルダを選択します。このボタンは、ソースディレクトリがLANに配置された場合のみ有効になります。

サブディレクトリ

コンポーネントが選択されたフォルダのサブフォルダを含めて全てスキャンさせたい場合、このチェックボックスを選択しでください。

フィルタ

スキャン処理の条件を入力し、スキャン対象ファイルを制限します。フィールドの右側にある [image] をクリックして［フィルタ］ダイアログボックスにフィルタ条件を入力します。

カンマ区切りで複数のファイルを入力することができます。例えば *.txt,*.doc.

アクション

指定されたファイル上でコンポーネントに実行させるアクションを定義します。オプションは以下の通りです。

  • Move (別の位置に)

  • Delete

  • Rename

送り先ディレクトリ

をクリックして、送り元と送り先のディレクトリ値を作成するための環境変数とグローバル変数だけをサポートする式を作成します。この式は、新しいファイルが宛先に移動する前に計算されます。 をクリックして、スキャンするパスまたはディレクトリのアドレス、またはフォルダを選択します。

マスク

移動または名前を変更したファイル名の構造を入力します。ワイルドカードを使用することができます。例えば：

  • すべてのファイルのファイル名に拡張子を付けたい場合、*.txtと入力できます。すべてのファイルが元の名前に.txtという拡張子を付けて宛先ディレクトリに保存されます。

  • すべてのファイルに元の名前の最初の2文字だけを付けたい場合、??.*と指定すると、元の拡張子と元の名前の最初の2文字だけの名前の付いたファイルが作成されます。

［マスク］プロパティは、アクションとしてMoveまたはRenameを選択した場合にのみ有効です。

例：

マスクの入力文字: *.txt

新規作成されるファイル名: 任意の名前.txt

または、

マスクの入力文字: ??.*

新規作成されるファイル名:

元のファイルがAddress.txtの場合、新規に作成されるファイル名はAd.txtとなります。

元のファイルがAddress.docの場合、新規に作成されるファイル名はAd.docとなります。

元のファイルが Name.txtの場合、新規に作成されるファイル名はNa.docとなります。

ポーリング間隔

Directory Scannerがディレクトリのスキャンに使用する間隔をミリ秒で入力します。例えば、1000ミリ秒を入力すると、Directory Scannerはディレクトリを毎秒ごとにスキャンします。

キープアライブ間隔

自動的に再起動される前にトリガの応答がない場合の時間を分数で指定します。デフォルト値は0で、これはトリガの応答を永久に待ち続けることを意味します。

このパラメータ値の選択は、慎重に行ってください。値が少な過ぎると、有効な処理が終了する前に、トリガは終了するかもしれません。

Directory Scannerをトリガとして構成するには：

  1. ［設定］ダイアログボックスの［サービス］セクションでFTPサービスを定義してください。詳細は、ここをクリックしてください。

  2. ［コンポーネント設定: Directory Scanner］ダイアログボックスに適切な情報を入力します。

  3. ［新規］をクリックしてスキャンするディレクトリを追加します。

  4. ［アドバンスド］ボタンをクリックし、ログファイルとファイル保存先を定義するログと戻り値の詳細ダイアログボックスを開きます。

  5. 終了したら［OK］をクリックしてトリガを生成します。


Directory Scanner － フィルタ

［フィルタ］ダイアログボックスでは、フィルタ条件を入力できます。 ［フィルタ］フィールドの右側の [image] をクリックし、［フィルタ詳細］ダイアログボックスを開きます。以下の条件を入力します。

プロパティ

説明

条件

スキャン対象のディレクトリ内のファイルを処理する条件を選択します。オプションは以下の通りです。

  • Name （ファイル名）

  • Size （ファイルサイズ）

  • TimeStamp

順序

ドロップダウンリストから条件をスキャンするために、順序を選択してください。以下が選択できます。

  • Ascending

  • Descending

このプロパティで定義する順序は、ファイルがトリガによってスキャンされる順序で、それらのファイルが処理される順序ではありません。

オペレーション

［条件］フィールドにサイズまたはタイムスタンプを選択した場合、ドロップダウンリストから処理条件を選択します。以下の条件があります。

  • 以上

  • 以下

  • 等しい

ファイルサイズ

［条件］フィールドでサイズを選択した場合、ファイルサイズをMByte単位で入力してください。

以下の構文を使用してこのフィールドで環境変数を使用することができます。

%[環境変数名]%

タイムスタンプ

［条件］フィールドでタイムスタンプを選択した場合、ドロップダウンリストから日付と時間の条件を選択します。 をクリックして［カレンダ］ダイアログボックスから日付を選択します。

FTPサーバを使用する場合、秒数はタイムスタンプにおける時間条件として考慮されません。

除外

スキャンしないファイル名またはファイルグループを入力します。この条件には、ワイルドカードを使用することができます。例えば、「Customer」で始まるすべてのファイルを対象から除外する場合、Customer *と入力します。ワイルドカード「*」は、cus*omerのように任意の場所に指定することができます。

このフィールドで以下の書式で環境変数を使用することができます。

%[Environment variable name]%

カンマ区切りで、複数のファイルを入力することができます。

例えば、*.txt、*.doc。

適切な情報を入力したら［OK］をクリックしてプロパティを保存し、ダイアログボックスを終了します。

［取消］をクリックすることでプロパティを保存せずにダイアログボックスを終了することもできます。


Directory Scanner - アドバンスト

［コンポーネント設定：Directory Scanner］ダイアログボックスの［アドバンスト］をクリックすると、［ログと戻り値の詳細］ダイアログボックスが開きます。このダイアログボックスは、ログファイルを作成するかどうか、ログファイルの送り先を指定します。以下の情報を入力します。

プロパティ

説明

ログ詳細

ログ アクション

ログファイルを作成する場合、このチェックボックスボックスを選択します。

タイプ

作成されるログファイルのフォーマットを定義します。ログファイルのフォーマットに関する詳細は、ここをクリックしてください。ドロップダウンリストから以下のどれかを選択してください：

  • テキスト (デフォルト)

  • CSV

  • XML

このフィールドは、ログアクションが選択された場合のみ有効です。

ログファイル

をクリックし、ログファイルを保存する場所を参照します。

このフィールドは、ログアクションが選択された場合のみ有効です。

戻値詳細： 作成後のログファイルの送り先の情報を入力します。

戻りファイル

スキャンファイルを戻す場所を選択します。ファイルは、ユーザまたはユーザBLOBによって定義されたBLOB変数に戻すことができます。

をクリックし、変数リストを開きます。ファイルを戻す場所を選択します。

送り先ファイル名

スキャンファイル名を戻す場所を選択します。ファイル名は、文字列で返ります。

をクリックし、変数リストを開きます。ファイル名を戻す場所を選択します。

送り元ファイル名

オリジナルのファイル名を戻す場所を選択します。ファイル名は、文字列で返ります。

をクリックし、変数リストを開きます。ファイル名を戻す場所を選択します。

引数XMLの場所

引数XMLの場所を選択します。ファイルは、BLOBで返ります。

をクリックして変数リストを開き場所を選択します。

FTP転送モード詳細： ファイル転送方法の情報を入力します。

FTP転送モード

このプロパティは、ファイル転送のフォーマットを定義します。 Binary と ASCII の選択肢があります。


ログファイルのフォーマット

Directory Scannerコンポーネントによって作成されたログファイルは、ビジネスプロセスやフロー、トリガやエラーが発生したステップの行数を示します。この情報は、Magic xpiモニタ内でも表示されます。

コンポーネントを設定する際に、ログファイルのフォーマットを定義することができます。以下のフォーマットで作成されます。

フォーマット | 説明
テキスト | テキストファイルは、ログ作成のためのデフォルトオプションです。 ログは、、［ログと戻り値の詳細］ダイアログボックスの［ログファイル］フィールドで定義した位置に保存されます。
CSV | ログタイプをCVSと選択した場合、カンマ区切りのファイルが作成されます。 ログは、、［ログと戻り値の詳細］ダイアログボックスの［ログファイル］フィールドで定義した位置に保存されます。
XML | ログタイプとしてXMLを選択した場合、XMLファイルが作成されます。XMLログのフォーマットは、directoryscanner.xsd ファイルで参照できます。 ログは、、［ログと戻り値の詳細］ダイアログボックスの［ログファイル］フィールドで定義した位置に保存されます。


Directory Scanner - メソッド

以下のメソッドは、Directory Scannerコンポーネントを構成するの際に使用します。

  • Delete File from FTP

  • Delete File from LAN

  • FTP to LAN

  • LAN to LAN

  • Rename File in FTP

  • Rename File in LAN

FTPのメソッドを使用して動作する場合、［設定］ダイアログボックスの［リソース］セクションで最初にFTPリソースを定義する必要があります。

次の表は、使用可能なメソッドとパラメータの一覧です。太字は必須パラメータです。

メソッド

パラメータ

説明

Delete File from FTP

FTPサーバをスキャンし指定されたファイルを削除します。

送り元ディレクトリ

スキャンするFTPディレクトリの場所を入力します。

サブディレクトリを含める

Directory Scannerが選択されたディレクトリのサブディレクトリをスキャンするかどうかを指定します。ドロップダウンリストから以下のいずれかを選択します。

  • No

  • Yes

フィルタ

監視するファイル名またはファイルグループを入力します。この条件を入力するときは、ワイルドカードを使用することができます。たとえば、「Customer」で始まるファイルのみを監視する場合、Customer *と入力します。このように入力することで、customerという言葉で始まる名前を持つすべてのファイルが指定されます。ワイルドカード「*」は、任意の場所に置くことができます。

カンマ区切りで、複数のファイルを入力することができます。例えば、*.txt、*.doc。

除外

スキャンしないファイル名またはファイルグループを入力します。この条件には、ワイルドカードを使用することができます。例えば、「Customer」で始まるすべてのファイルを対象から除外する場合、Customer *と入力します。ワイルドカード「*」は、cus*omerのように任意の場所に指定することができます。

カンマ区切りで、複数のファイルを入力することができます。例えば、*.txt、*.doc。

タイムアウト

フローコンポーネントがスキャンを実行する時間を秒数で定義します（ステップ モードでのみ使用可能）。タイムアウトが終了するまでにファイルが作成されない場合、フローは次のステップに移動します。

タイムアウト0 は、Directory Scannerの待機時間がないことを示します（タイムアウトなし）。つまり、ファイルが即座に作成されない場合、フローは待機せずに次のステップに移動 します。タイムアウト値に負の数を入力している場合は、ファイルが作成されるまでDirectory Scannerは無制限に待機します。definitely until a file is created.

順序

ディレクトリをスキャンする順序を指定します。ドロップダウンリストから以下のどれかを選択します。

  • 昇順

  • 降順

検索条件

スキャンの実行条件を入力します。 ドロップダウンリストから以下のどれかを選択します。

  • 名前

  • サイズ

  • タイムスタンプ

タイムスタンプはトリガーによってファイルが移動した時の変更時間を評価します。

処理順序

［検索条件］パラメータがサイズまたはタイムスタンプの場合、スキャンされたファイルの順序を入力指定します。ドロップダウンリストから以下のどれかを選択します。

  • より大きい

  • より小さい

  • 等しい

ファイルサイズ

［検索条件］パラメータがサイズの場合、ファイルサイズをバイト単位で入力します。

ファイル日付

［検索条件］パラメータがタイムスタンプの場合、ファイルの日付(DD/MM/YYYY)を入力します。

ファイル時間

［検索条件］パラメータがタイムスタンプの場合、ファイルの時刻（HH/MM/SS)を入力します。

FTPサーバを使用する場合、秒数はタイムスタンプにおける時間条件として考慮されません。

ポーリング間隔

Directory Scannerがディレクトリのスキャンに使用する間隔をミリ秒で入力します。例えば、1000ミリ秒を入力すると、Directory Scannerはディレクトリを毎秒スキャンします。

デフォルトは3000ミリ秒です。

ログタイプ

作成されるログファイルのフォーマットを定義します。ドロップダウンリストから以下のどれかを選択します。

  • テキスト (デフォルト)

  • CSV

  • XML

ログファイル名

ファイルが戻った場合のログファイルの名前を入力します。

ファイルを返す

をクリックして変数リストを開きます。ログファイルを戻す場所を選択します。ファイルは、ユーザによって定義された変数か、ユーザBLOBに戻すことができます。

ファイル名を返す

をクリックして変数リストを開きます。ファイルの移動やリネームを行っていたら、ログファイル名を戻す場所を選択します。ファイルは、ユーザによって定義された変数か、ユーザBLOBに戻すことができます。

エラーコード

Directory Scannerのエラーコード

をクリックして変数リストを開きます。エラーコードが戻される変数を選択します。

Delete File from LAN

ローカルディレクトリをスキャンし指定されたファイルを削除します。

送り元ディレクトリ

スキャンするローカル ディレクトリの場所を入力します。

サブディレクトリを含める

Directory Scannerが選択したディレクトリのサブディレクトリをスキャンするかどうかを指定します。ドロップダウンリストから以下のいずれかを選択します。

  • No

  • Yes

フィルタ

監視するファイル名またはファイルグループを入力します。この条件を入力する場合、ワイルドカードを使用することができます。たとえば、「Customer」で始まるファイルのみを監視する場合、Customer *と入力します。このように入力することで、customerという言葉で始まる名前を持つすべてのファイルが指定されます。ワイルドカード「*」は、任意の場所に置くことができます。

カンマ区切りで、複数のファイルを入力することができます。例えば、*.txt、*.doc。

除外

スキャンしないファイル名またはファイルグループを入力します。この条件には、ワイルドカードを使用することができます。例えば、「Customer」で始まるすべてのファイルを対象から除外する場合、Customer *と入力します。ワイルドカード「*」は、cus*omerのように任意の場所に指定することができます。

カンマ区切りで、複数のファイルを入力することができます。例えば、*.txt、*.doc。

タイムアウト

フローコンポーネントがスキャンを実行する時間を秒数で定義します（ステップ モードでのみ使用可能）。タイムアウトが終了するまでにファイルが作成されない場合、フローは次のステップに移動します。

タイムアウト0 は、Directory Scannerの待機時間がないことを示します（タイムアウトなし）。つまり、ファイルが即座に作成されない場合、フローは待機せずに次のステップに移動 します。タイムアウト値に負の数を入力している場合は、ファイルが作成されるまでDirectory Scannerは無制限に待機します。definitely until a file is created.

順序

ディレクトリをスキャンする順序を指定します。ドロップダウンリストから以下のどれかを選択します。

  • 昇順

  • 降順

検索条件

スキャンの実行条件を入力します。 ドロップダウンリストから以下のどれかを選択します。

  • 名前

  • サイズ

  • タイムスタンプ

タイムスタンプはトリガーによってファイルが移動した時の変更時間を評価します。

処理順序

［検索条件］パラメータがサイズまたはタイムスタンプの場合、スキャンされたファイルの順序を入力指定します。ドロップダウンリストから以下のどれかを選択します。

  • より大きい

  • より小さい

  • 等しい

ファイルサイズ

［検索条件］パラメータがサイズの場合、ファイルサイズをバイト単位で入力します。

ファイル日付

［検索条件］パラメータがタイムスタンプの場合、ファイルの日付(DD/MM/YYYY)を入力します。

ファイル時間

［検索条件］パラメータがタイムスタンプの場合、ファイルの時刻（HH/MM/SS)を入力します。

ポーリング間隔

Directory Scannerがディレクトリのスキャンに使用する間隔をミリ秒で入力します。例えば、1000ミリ秒を入力すると、Directory Scannerはディレクトリを毎秒スキャンします。

デフォルトは3000ミリ秒です。

ログタイプ

作成されるログファイルのフォーマットを定義します。ドロップダウンリストから以下のどれかを選択します。

  • テキスト (デフォルト)

  • CSV

  • XML

ログファイル名

ファイルが戻った場合のログファイルの名前を入力します。

ファイルを返す

をクリックして変数リストを開きます。ログファイルを戻す場所を選択します。ファイルは、ユーザによって定義された変数か、ユーザBLOBに戻すことができます。

送り先ファイル名を返す

をクリックして変数リストを開きます。ファイルの移動やリネームを行っていたら、ログファイル名を戻す場所を選択します。ファイルは、ユーザによって定義された変数か、ユーザBLOBに戻すことができます。

エラーコード

Directory Scannerのエラーコード

をクリックして変数リストを開きます。エラーコードが戻される変数を選択します。

FTP to LAN

FTPサーバのディレクトリをスキャンし指定されたファイルをLANに移動します。

送り元ディレクトリ

スキャンするFTPディレクトリの場所を入力します。

サブディレクトリを含む

Directory Scannerが選択したディレクトリのサブディレクトリをスキャンするかどうかを指定します。ドロップダウンリストから以下のいずれかを選択します。

  • No

  • Yes

フィルタ

監視するファイル名またはファイルグループを入力します。この条件を入力する場合、ワイルドカードを使用することができます。たとえば、「Customer」で始まるファイルのみを監視する場合、Customer *と入力します。このように入力することで、customerという言葉で始まる名前を持つすべてのファイルが指定されます。ワイルドカード「*」は、任意の場所に置くことができます。

カンマ区切りで、複数のファイルを入力することができます。例えば、*.txt、*.doc。

FTP転送モード

ファイル転送のフォーマットを指定します。選択肢は二つあります。

  • Binary

  • ASCII

除外

スキャンしないファイル名またはファイルグループを入力します。この条件には、ワイルドカードを使用することができます。例えば、「Customer」で始まるすべてのファイルを対象から除外する場合、Customer *と入力します。ワイルドカード「*」は、cus*omerのように任意の場所に指定することができます。

カンマ区切りで、複数のファイルを入力することができます。例えば、*.txt、*.doc。

タイムアウト

フローコンポーネントがスキャンを実行する時間を秒数で定義します（ステップ モードでのみ使用可能）。タイムアウトが終了するまでにファイルが作成されない場合、フローは次のステップに移動します。

タイムアウト0 は、Directory Scannerの待機時間がないことを示します（タイムアウトなし）。つまり、ファイルが即座に作成されない場合、フローは待機せずに次のステップに移動 します。タイムアウト値に負の数を入力している場合は、ファイルが作成されるまでDirectory Scannerは無制限に待機します。definitely until a file is created.

送り先ディレクトリの場所

ファイルの移動先のローカルディレクトリの場所を入力します。

マスク

移動したファイルまたは名前を変更したファイルの名前の構造を入力します。ワイルドカードは、以下のように使用できます。

  • すべてのファイルに同じ接尾辞を付けたい場合、*.txtと入力すると、すべてのファイルを元の名前と.txtという接尾辞の付けて送り先ディレクトリに保存できます。

  • すべてのファイルに元の名前の最初の2文字だけを付けたい場合、??.*を入力すると、元の接尾辞と元の名前の最初の2文字だけを持つファイルを作成できます。

順序

ディレクトリをスキャンする順序を指定します。ドロップダウンリストから以下のどれかを選択します。

  • 昇順

  • 降順

検索条件

スキャンの実行条件を入力します。 ドロップダウンリストから以下のどれかを選択します。

  • 名前

  • サイズ

  • タイムスタンプ

タイムスタンプはトリガーによってファイルが移動した時の変更時間を評価します。

処理順序

［検索条件］パラメータがサイズまたはタイムスタンプの場合、スキャンされたファイルの順序を入力指定します。ドロップダウンリストから以下のどれかを選択します。

  • より大きい

  • より小さい

  • 等しい

ファイルサイズ

［検索条件］パラメータがサイズの場合、ファイルサイズをバイト単位で入力します。

ファイル日付

［検索条件］パラメータがタイムスタンプの場合、ファイルの日付(DD/MM/YYYY)を入力します。

ファイル時間

［検索条件］パラメータがタイムスタンプの場合、ファイルの時刻（HH/MM/SS)を入力します。

FTPサーバを使用する場合、秒数はタイムスタンプにおける時間条件として考慮されません。

ポーリング間隔

Directory Scannerがディレクトリのスキャンに使用する間隔をミリ秒で入力します。例えば、1000ミリ秒を入力すると、Directory Scannerはディレクトリを毎秒スキャンします。

デフォルトは3000ミリ秒です。

ログタイプ

作成されるログファイルのフォーマットを定義します。ドロップダウンリストから以下のどれかを選択します。

  • テキスト (デフォルト)

  • CSV

  • XML

ログファイル名

ファイルが戻った場合のログファイルの名前を入力します。

ファイルを返す

をクリックして変数リストを開きます。ログファイルを戻す場所を選択します。ファイルは、ユーザによって定義された変数か、ユーザBLOBに戻すことができます。

送り先ファイル名を返す

をクリックして変数リストを開きます。ファイルの移動やリネームを行っていたら、ログファイル名を戻す場所を選択します。ファイルは、ユーザによって定義された変数か、ユーザBLOBに戻すことができます。

送り元ファイル名を返す

をクリックして変数リストを開きます。コピーまたは移動された元のファイルの名前を戻す変数を選択してください。

エラーコード

Directory Scannerのエラーコード

をクリックして変数リストを開きます。エラーコードが戻される変数を選択します。

LAN to LAN

ローカルディレクトリをスキャンし指定されたファイルを別のローカルディレクトリに移動します。

送り元ディレクトリ

スキャンするローカル ディレクトリの場所を入力します。

サブディレクトリを含む

Directory Scannerが選択したディレクトリのサブディレクトリをスキャンするかどうかを指定します。ドロップダウンリストから以下のいずれかを選択します。

  • No

  • Yes

フィルタ

監視するファイル名またはファイルグループを入力します。この条件を入力する場合、ワイルドカードを使用することができます。たとえば、「Customer」で始まるファイルのみを監視する場合、Customer *と入力します。このように入力することで、customerという言葉で始まる名前を持つすべてのファイルが指定されます。ワイルドカード「*」は、任意の場所に置くことができます。

カンマ区切りで、複数のファイルを入力することができます。例えば、*.txt、*.doc。

除外

スキャンしないファイル名またはファイルグループを入力します。この条件には、ワイルドカードを使用することができます。例えば、「Customer」で始まるすべてのファイルを対象から除外する場合、Customer *と入力します。ワイルドカード「*」は、cus*omerのように任意の場所に指定することができます。

カンマ区切りで、複数のファイルを入力することができます。例えば、*.txt、*.doc。

タイムアウト

フローコンポーネントがスキャンを実行する時間を秒数で定義します（ステップ モードでのみ使用可能）。タイムアウトが終了するまでにファイルが作成されない場合、フローは次のステップに移動します。

タイムアウト0 は、Directory Scannerの待機時間がないことを示します（タイムアウトなし）。つまり、ファイルが即座に作成されない場合、フローは待機せずに次のステップに移動 します。タイムアウト値に負の数を入力している場合は、ファイルが作成されるまでDirectory Scannerは無制限に待機します。definitely until a file is created.

送り先ディレクトリの場所

ファイルの移動先のローカルディレクトリの場所を入力します。

マスク

移動したファイルまたは名前を変更したファイルの名前の構造を入力します。ワイルドカードは、以下のように使用できます。

  • すべてのファイルに同じ接尾辞を付けたい場合、*.txtと入力すると、すべてのファイルを元の名前と.txtという接尾辞の付けて送り先ディレクトリに保存できます。

  • すべてのファイルに元の名前の最初の2文字だけを付けたい場合、??.*を入力すると、元の接尾辞と元の名前の最初の2文字だけを持つファイルを作成できます。

順序

ディレクトリをスキャンする順序を指定します。ドロップダウンリストから以下のどれかを選択します。

  • 昇順

  • 降順

条件

スキャンの実行条件を入力します。 ドロップダウンリストから以下のどれかを選択します。

  • 名前

  • サイズ

  • タイムスタンプ

タイムスタンプはトリガーによってファイルが移動した時の変更時間を評価します。

処理順序

［検索条件］パラメータがサイズまたはタイムスタンプの場合、スキャンされたファイルの順序を入力指定します。ドロップダウンリストから以下のどれかを選択します。

  • より大きい

  • より小さい

  • 等しい

ファイルサイズ

［検索条件］パラメータがサイズの場合、ファイルサイズをバイト単位で入力します。

ファイル日付

［検索条件］パラメータがタイムスタンプの場合、ファイルの日付(DD/MM/YYYY)を入力します。

ファイル時間

［検索条件］パラメータがタイムスタンプの場合、ファイルの時刻（HH/MM/SS)を入力します。

ポーリング間隔

Directory Scannerがディレクトリのスキャンに使用する間隔をミリ秒で入力します。例えば、1000ミリ秒を入力すると、Directory Scannerはディレクトリを毎秒スキャンします。

デフォルトは3000ミリ秒です。

ログタイプ

作成されるログファイルのフォーマットを定義します。ドロップダウンリストから以下のどれかを選択します。

  • テキスト (デフォルト)

  • CSV

  • XML

ログファイル名

ファイルが戻った場合のログファイルの名前を入力します。

ファイルを返す

をクリックして変数リストを開きます。ログファイルを戻す場所を選択します。ファイルは、ユーザによって定義された変数か、ユーザBLOBに戻すことができます。

送り先ファイル名を返す

をクリックして変数リストを開きます。ファイルの移動やリネームを行っていたら、ログファイル名を戻す場所を選択します。ファイルは、ユーザによって定義された変数か、ユーザBLOBに戻すことができます。

送り元ファイル名を返す

をクリックして変数リストを開きます。コピーまたは移動された元のファイルの名前を戻す変数を選択してください。

エラーコード

Directory Scannerのエラーコード

をクリックして変数リストを開きます。エラーコードが戻される変数を選択します。

Rename File in FTP

FTPサーバをスキャンし選択されたファイルをリネームします。

送り元ディレクトリ

スキャンするFTPディレクトリの場所を入力します。

サブディレクトリを含む

Directory Scannerが選択したディレクトリのサブディレクトリをスキャンするかどうかを指定します。ドロップダウンリストから以下のいずれかを選択します。

  • No

  • Yes

フィルタ

監視するファイル名またはファイルグループを入力します。この条件を入力する場合、ワイルドカードを使用することができます。たとえば、「Customer」で始まるファイルのみを監視する場合、Customer *と入力します。このように入力することで、customerという言葉で始まる名前を持つすべてのファイルが指定されます。ワイルドカード「*」は、任意の場所に置くことができます。

カンマ区切りで、複数のファイルを入力することができます。例えば、*.txt、*.doc。

FTP転送モード

ファイル転送のフォーマットを指定します。選択肢は二つあります。

  • Binary

  • ASCII

除外

スキャンしないファイル名またはファイルグループを入力します。この条件には、ワイルドカードを使用することができます。例えば、「Customer」で始まるすべてのファイルを対象から除外する場合、Customer *と入力します。ワイルドカード「*」は、cus*omerのように任意の場所に指定することができます。

カンマ区切りで、複数のファイルを入力することができます。例えば、*.txt、*.doc。

タイムアウト

フローコンポーネントがスキャンを実行する時間を秒数で定義します（ステップ モードでのみ使用可能）。タイムアウトが終了するまでにファイルが作成されない場合、フローは次のステップに移動します。

タイムアウト0 は、Directory Scannerの待機時間がないことを示します（タイムアウトなし）。つまり、ファイルが即座に作成されない場合、フローは待機せずに次のステップに移動 します。タイムアウト値に負の数を入力している場合は、ファイルが作成されるまでDirectory Scannerは無制限に待機します。definitely until a file is created.

マスク

移動したファイルまたは名前を変更したファイルの名前の構造を入力します。ワイルドカードは、以下のように使用できます。

  • すべてのファイルに同じ接尾辞を付けたい場合、*.txtと入力すると、すべてのファイルを元の名前と.txtという接尾辞の付けて送り先ディレクトリに保存できます。

  • すべてのファイルに元の名前の最初の2文字だけを付けたい場合、??.*を入力すると、元の接尾辞と元の名前の最初の2文字だけを持つファイルを作成できます。

順序

ディレクトリをスキャンする順序を指定します。ドロップダウンリストから以下のどれかを選択します。

  • 昇順

  • 降順

条件

スキャンの実行条件を入力します。 ドロップダウンリストから以下のどれかを選択します。

  • 名前

  • サイズ

  • タイムスタンプ

タイムスタンプはトリガーによってファイルが移動した時の変更時間を評価します。

処理順序

［検索条件］パラメータがサイズまたはタイムスタンプの場合、スキャンされたファイルの順序を入力指定します。ドロップダウンリストから以下のどれかを選択します。

  • より大きい

  • より小さい

  • 等しい

ファイルサイズ

［検索条件］パラメータがサイズの場合、ファイルサイズをバイト単位で入力します。

ファイル日付

［検索条件］パラメータがタイムスタンプの場合、ファイルの日付(DD/MM/YYYY)を入力します。

ファイル時間

［検索条件］パラメータがタイムスタンプの場合、ファイルの時刻（HH/MM/SS)を入力します。

FTPサーバを使用する場合、秒数はタイムスタンプにおける時間条件として考慮されません。

ポーリング間隔

Directory Scannerがディレクトリのスキャンに使用する間隔をミリ秒で入力します。例えば、1000ミリ秒を入力すると、Directory Scannerはディレクトリを毎秒スキャンします。

デフォルトは3000ミリ秒です。

ログタイプ

作成されるログファイルのフォーマットを定義します。ドロップダウンリストから以下のどれかを選択します。

  • テキスト (デフォルト)

  • CSV

  • XML

ログファイル名

ファイルが戻った場合のログファイルの名前を入力します。

ファイルを返す

をクリックして変数リストを開きます。ログファイルを戻す場所を選択します。ファイルは、ユーザによって定義された変数か、ユーザBLOBに戻すことができます。

送り先ファイル名を返す

をクリックして変数リストを開きます。ファイルの移動やリネームを行っていたら、ログファイル名を戻す場所を選択します。ファイルは、ユーザによって定義された変数か、ユーザBLOBに戻すことができます。

送り元ファイル名を返す

をクリックして変数リストを開きます。コピーまたは移動された元のファイルの名前を戻す変数を選択してください。

エラーコード

Directory Scannerのエラーコード

をクリックして変数リストを開きます。エラーコードが戻される変数を選択します。

Rename File in LAN

ローカルディレクトリの指定されたファイルをリネームします。

送り元ディレクトリ

スキャンするローカルディレクトリの場所を入力します。

サブディレクトリを含む

Directory Scannerが選択したディレクトリのサブディレクトリをスキャンするかどうかを指定します。ドロップダウンリストから以下のいずれかを選択します。

  • No

  • Yes

フィルタ

監視するファイル名またはファイルグループを入力します。この条件を入力する場合、ワイルドカードを使用することができます。たとえば、「Customer」で始まるファイルのみを監視する場合、Customer *と入力します。このように入力することで、customerという言葉で始まる名前を持つすべてのファイルが指定されます。ワイルドカード「*」は、任意の場所に置くことができます。

カンマ区切りで、複数のファイルを入力することができます。例えば、*.txt、*.doc。

除外

スキャンしないファイル名またはファイルグループを入力します。この条件には、ワイルドカードを使用することができます。例えば、「Customer」で始まるすべてのファイルを対象から除外する場合、Customer *と入力します。ワイルドカード「*」は、cus*omerのように任意の場所に指定することができます。

カンマ区切りで、複数のファイルを入力することができます。例えば、*.txt、*.doc。

タイムアウト

フローコンポーネントがスキャンを実行する時間を秒数で定義します（ステップ モードでのみ使用可能）。タイムアウトが終了するまでにファイルが作成されない場合、フローは次のステップに移動します。

タイムアウト0 は、Directory Scannerの待機時間がないことを示します（タイムアウトなし）。つまり、ファイルが即座に作成されない場合、フローは待機せずに次のステップに移動 します。タイムアウト値に負の数を入力している場合は、ファイルが作成されるまでDirectory Scannerは無制限に待機します。definitely until a file is created.

マスク

移動したファイルまたは名前を変更したファイルの名前の構造を入力します。ワイルドカードは、以下のように使用できます。

  • すべてのファイルに同じ接尾辞を付けたい場合、*.txtと入力すると、すべてのファイルを元の名前と.txtという接尾辞の付けて送り先ディレクトリに保存できます。

  • すべてのファイルに元の名前の最初の2文字だけを付けたい場合、??.*を入力すると、元の接尾辞と元の名前の最初の2文字だけを持つファイルを作成できます。

順序

ディレクトリをスキャンする順序を指定します。ドロップダウンリストから以下のどれかを選択します。

  • 昇順

  • 降順

条件

スキャンの実行条件を入力します。 ドロップダウンリストから以下のどれかを選択します。

  • 名前

  • サイズ

  • タイムスタンプ

タイムスタンプはトリガーによってファイルが移動した時の変更時間を評価します。

処理順序

［検索条件］パラメータがサイズまたはタイムスタンプの場合、スキャンされたファイルの順序を入力指定します。ドロップダウンリストから以下のどれかを選択します。

  • より大きい

  • より小さい

  • 等しい

ファイルサイズ

［検索条件］パラメータがサイズの場合、ファイルサイズをバイト単位で入力します。

ファイル日付

［検索条件］パラメータがタイムスタンプの場合、ファイルの日付(DD/MM/YYYY)を入力します。

ファイル時間

［検索条件］パラメータがタイムスタンプの場合、ファイルの時刻（HH/MM/SS)を入力します。

ポーリング間隔

Directory Scannerがディレクトリのスキャンに使用する間隔をミリ秒で入力します。例えば、1000ミリ秒を入力すると、Directory Scannerはディレクトリを毎秒スキャンします。

デフォルトは3000ミリ秒です。

ログタイプ

作成されるログファイルのフォーマットを定義します。ドロップダウンリストから以下のどれかを選択します。

  • テキスト (デフォルト)

  • CSV

  • XML

ログファイル名

ファイルが戻った場合のログファイルの名前を入力します。

ファイルを返す

をクリックして変数リストを開きます。ログファイルを戻す場所を選択します。ファイルは、ユーザによって定義された変数か、ユーザBLOBに戻すことができます。

送り先ファイル名を返す

をクリックして変数リストを開きます。ファイルの移動やリネームを行っていたら、ログファイル名を戻す場所を選択します。ファイルは、ユーザによって定義された変数か、ユーザBLOBに戻すことができます。

送り元ファイル名を返す

をクリックして変数リストを開きます。コピーまたは移動された元のファイルの名前を戻す変数を選択してください。

エラーコード

Directory Scannerのエラーコード

をクリックして変数リストを開きます。エラーコードが戻される変数を選択します。

関連トピック：

ダイレクトアクセスメソッドを使用するには


ディレクトリスキャナ - エラー処理

Home > コンポーネント シリーズ > Directory Scanner > Directory Scanner - エラー処理

Directory Scanner - エラー処理

Magic xpiサーバのフローマネージャーは、ステップの実行中にエラーを監視します。Directory Scannerコンポーネントのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

Directory Scannerのステップの場合： FTPサーバ上で様々なメソッドを実行している間、接続エラー（ソケットの例外エラー）が発生した場合、再接続ポリシー（［ログインのリトライ回数］と［リトライする間の遅延時間］をFTPリソースのパラメータとして設定）が適用されます。

  • 再接続が成功した場合、処理は継続されます。

  • 再接続が失敗した場合、処理は終了しエラーメッセージがモニタに表示されます。

Directory Scannerトリガの場合： ディレクトリのリストを取得するため、Directory ScannerはFTPサーバと接続します。接続が成功した場合、交互にリスト内で各ファイルを処理します。ディレクトリリストの取得中に、接続エラー(ソケットの例外エラー)が発生した場合、再接続ポリシーが適用されます。

  • I再接続が成功した場合、メッセージがモニタに表示され処理は継続されます。

  • 再接続が失敗した場合、メッセージがモニタに表示され、ダィレクトリスキャナトリガは、(構成内で定義された)ポーリング間隔の間、処理が遅延され、次の処理サイクルを継続します。

Directory Scannerコンポーネントのエラーコードは、以下の通りです。また、Magic xpiの一般コンポーネントエラーもDirectory Scanner コンポーネントで使用することができます。コード呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
250 | Java例外
251 | FTPサーバ エラー
252 | データ有効性エラー Directory Scannerのエラーコード252は、権利上の問題を表示しています。これは、Magic xpiが関連する位置でファイルの削除や書込、リネームが可能かどうかを調べる必要があることを意味します。 Magic xpiがそのような処理を行おうとする際に、別のシステムによってファイルがロックされている場合もこのエラーが表示されます。
253 | FTP（SSL）接続に失敗
254 | サーバ証明書の読み込みに失敗
255 | クライアント証明書の読み込みに失敗
256 | クライアントパスワードの読み込みに失敗
257 | FTP接続に失敗

関連トピック：

Magic xpiのエラー処理


Domino

このコンポーネントは、現在トリガとしてサポートされていません。実行中、ドミノトリガは無視されます。

Dominoコンポーネントは、Dominoサーバと一緒に使用できます。

ドミノコンポーネントを使用するには、Lotus NotesクライアントVR5またはそれ以上をPCにインストールする必要があります。またこの情報について知っておいてください：

  • Notes サーバ名

  • Notes データベース名とパスワード

Dominoコンポーネントを使用する前に、以下のことをする必要があります。

  • Notes.jarのフルパス(例えば、D:\lotus\notes\Notes.jar)をWindowsの環境変数のCLASSPATHに入力してください。この.jarファイルは、Lotus Notesクライアントイのンストールフォルダにあります。.

  • Lotus NotesのインストールフォルダのフルパスをWindowsの環境変数のPATHに入力してください。

Dominoサーバにリモートアクセスするために、SSLを使用する前に、以下を実行してください。

  • Lotus NotesサーバからMagic xpiサーバへNCSO.jarファイルをコピーし、Magic.ini内のクラスパスを追加するか、Magic xpiのJava/libディレクトリに配置します。
    このjarは、Dominoサーバマシンの以下のフォルダ上にあります。c:\lotus\domino\data\domino\java\NCSO.jar

  • IBMの仕様書に従ってリモートアクセスができるようにDominoサーバを設定してください。

Dominoコンポーネントは読込、書出または編集モードで使用します。読込モードでは、Lotus Notesデータベースの項目にアクセスし、表示できます。書出モードでは、Lotus Notesデータベースの項目を追加または削除できます。編集モードではLotusNotesデータベースの既存のエントリーの変更ができます。

Dominoコンポーネントでは、以下のタイプのLotus Notesデータベースにアクセスできます。

  • カレンダ エントリ

  • メールメッセージ

  • 連絡先

  • ドキュメントライブラリ

各フローに、必要に応じてDominoコンポーネントのインスタンスを追加することが可能です。

  • このコンポーネントは現在、トリガーとしてサポートされていません。実行時には、Domino のトリガーは無視されます。

  • 64 ビットの Magic xpi セットアップでは、リモートアクセス値が No に設定されている Domino コンポーネントのメソッドは、互換性のある 64 ビット Lotus Notes クライアントが使用できないため、動作に失敗します。

関連トピック：

Domino - 設定

Domino - エラーコード


Domino - 構成

Dominoコンポーネントでは、データの管理や、Lotus Notesサーバ上にあるメールや個人的なカレンダなどの情報交換を行うことができます。

フローにDominoコンポーネントを配置すると、Magic xpiは自動的にコンポーネントのために［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

そして、コンポーネントをダブルクリックするか、右クリックしコンテキストメニューから［設定］を選択し、コンポーネントの［ダイレクトアクセスメソッド］ダイアログボックスを開きます。

Dominoコンポーネントを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初にドミノリソースを定義する必要があります。

フローにおいてステップとしてコンポーネントを使用する場合、以下のインタフェースから選択することができます。

  • メソッド

  • XML


Domino - メソッド

Dominoコンポーネントは、以下のメソッドを使用して構成します。

  • Add Calendar Entry

  • Add Contact

  • Add Document

  • Delete Calendar Entries

  • Delete Contacts

  • Delete Documents

  • Delete Emails

  • Get Folder List

  • Modify Calendar Entries

  • Modify Contacts

  • Modify Documents

  • Read Calendar Entries

  • Read Contacts

  • Read Documents

  • Read Mails

  • Send Email

  • Setup Meetings

  • Update Notice

次の表は、使用可能なメソッドとパラメータの一覧です。太字は必須パラメータです。

メソッド

パラメータ

説明

Add Calendar Entry

Lotus Notesサーバを使用してLotus Notesカレンダを設定します。

エントリタイプ

カレンダエントリを追加したい人のLotus Notesエントリタイプ。ドロップダウンリストから以下のいずれかを選択します。

  • 予約

  • 記念日

  • 終日イベント

  • 会議

  • 備忘

イベント開催日

イベントの日付。形式はDD/MM/YYです。

開始時刻

イベントの開始時刻です。形式はHH:MM:SSです。開始時間は、予約、会議招集、スケジュール確認のイベントタイプで必要です。

期間

イベント期間を分で示したものです。

議長

イベントを計画し、実行する人の名前。これは会議のエントリタイプでのみ利用できます。

件名

イベントの題目

ロケーション

イベントを行う場所

説明

イベントの説明

参加者To

イベント通知の宛先フィールドに指定されているすべての受信 者の一覧です。これは会議のエントリタイプでのみ利用できます。

CCプロパティ

イベント通知のCCフィールドに指定されているすべての受信 者の一覧です。これは会議のエントリタイプでのみ利用できます。

BCC参加者

イベント通知のBCCフィールドに指定されているすべての受 信者の一覧です。これは会議のエントリタイプでのみ利用できます。

メッセージフォーマット

メールとして送信する際に会議の表題用のイベント通知テキストを作成するのに使用する書式。これは会議のエントリタイプでのみ利用できます。

予約する部屋

予約が必要な会議室。これは会議のエントリータイプでのみ利用できます。

リソース予約

ミーティングのために予約が必要なリソース。これは会議のエントリータイプでのみ利用できます。

カテゴリ

イベントのカテゴリです ドロップダウンリストから以下のいずれかを選択します。

  • 休日

  • 顧客

  • プロジェクト

  • 休暇

  • 電話

戻UNID

Lotus Notesにより送られた、このコンポーネントの戻り UNID

エラーコード

Dominoのエラーコード

をクリックして変数一覧を開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Add Contact

Lotus Notesサーバを使用してアドレス帳に連絡先を追加します。

名前

名前

ミドルネーム

ミドルネーム

苗字

苗字

タイトル

敬称をドロップダウンリストから以下のいずれかを選択します。

  • Dr.

  • Prof.

  • Mr.

  • Miss

  • Ms.

  • Mrs.

接尾辞

Jr.、Sr.など名前の後ろに付加する文字です。 ドロップダウンリストから以下のいずれかを選択します。

  • Jr.

  • Sr.

  • I

  • II

オフィスの電話番号

オフィスの電話番号

オフィスのFAX番号

オフィスのFax番号

携帯番号

携帯電話番号

自宅：電話番号

自宅の電話番号

ポケットベル

ポケベルの番号

電子メールアドレス

メールアドレス

Webページ

Webページのアドレス

カンパニー名

会社名

役職

役職

オフィスの住所

オフィスの住所

オフィスの市

オフィスがある市町村

オフィスの郵便番号

オフィスの郵便番号

オフィスの州（都）

オフィスがある都道府県

オフィスの国名

オフィスがある国名

オフィスの場所

オフィスの所在地

部門

働いている部門名

上司の名前

直属の上司の名前

部下の名前

部下の名前

自宅の住所

自宅の住所。

自宅の市

自宅の市町村

自宅の郵便番号

自宅の郵便番号

自宅の都道府県

自宅の都道府県

自宅の国名

自宅の国名

配偶者の名前

配偶者の名前

子供の名前

子供の名前

誕生日

誕生日。形式はDD/MM/YYYYです。

コメント

追加コメント

メールドメイン

メールドメイン

短縮名

短縮名

カテゴリ

カテゴリ（ユーザが定義するカテゴリ）

戻UNID

Lotus Notesにより送られた、このコンポーネントの戻UNID

エラーコード

Dominoのエラーコード

をクリックして変数一覧を開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Add Document

ドキュメントをLotus Notesで定義されているデータベースのいずれかに追加します。

件名

ドキュメント ライブラリの表題

カテゴリ

ドキュメント ライブラリのカテゴリ

起案者

ドキュメント ライブラリの起案者

レビュータイプ

ドキュメントライブラリファイルのレビュータイプです。ドロップダウンリストから以下のいずれかを選択します。

  • １度に１人のレビューア

  • 全てのレビューアが同時に

時間制限オプション

(ドキュメントライブラリファイルを遡ってチェックする場合の)時間制限に関するオプション 。 ドロップダウンリストから以下のいずれかを選択します。

  • 各レビューに時間制限はない

  • 期限が過ぎたら確認通知を送信

  • 期限が過ぎたら次へ移動

発信者通知後

レビュー完了時にドキュメントの起案者に通知するためのオプション。 ドロップダウンリストから以下のいずれかを選択します。

  • 最終レビューア

  • 各レビューア

コンテンツ

ドキュメント ライブラリの内容

アップロード日

ドキュメントライブラリファイルがアップロードされた日付 (DD/MM/YYYY 書式)

アップロード時間

ドキュメントライブラリファイルがアップロードされた時刻 (HH:MM:SS 書式)

プライベートマーク

ドキュメントライブラリファイルが個々のものであるかどうかを示します。ドロップダウンリストから以下のいずれかを選択します。

  • Yes

  • No

レビューに提出

レビュー用のドキュメントライブラリファイルを送信するかどうかを示します。ドロップダウンリストから以下のいずれかを選択します。

  • Yes

  • No

レビューア

ドキュメントのレビュー担当者の名前です。

添付ドキュメント1

添付ドキュメント2

添付ドキュメント3

添付ドキュメント4

添付ドキュメント5

コンピュータまたはネットワーク上で添付ファイルが配置されている場所を示すパスです。添付ファイルは5つまで指定できます。

戻UNID

Lotus Notesにより送られた、このコンポーネントの戻UNID

エラーコード

Dominoのエラーコード

をクリックして変数一覧を開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Delete Calendar Entries

Lotus Notesサーバを使用してカレンダエントリを削除します。

(キーUNIDパラメータが‘*’で、他のすべての重要なパラメータが空白の場合、すべてのエントリが削除されます。キーUNIDを含むすべてのフィルタフィールドを空白にした場合、すべての文書の削除／修正に対して結果が何も返りません。

フィルタの1つに値が設定されており、キーUNIDが‘*’に設定されている場合、キーUNIDは無視され、処理は、フィルタ/フィルタパラメータに基づいて、実行されます。）

キー日付

イベントの日付 ( DD/MM/YYYY 形式)

キーチェア

イベントの担当者の名前

主題

イベントの題目

キーの位置

イベントの場所

キー入力タイプ

Lotus Notesカレンダのエントリタイプ。

キーUNID

イベントのUNID

戻UNID

Lotus Notesにより送られた、このコンポーネントの戻UNIDのリスト

エラーコード

Dominoのエラーコード

をクリックして変数一覧を開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Delete Contacts

Lotus Notes サーバを使用してコンタクトを削除します。

(キーUNIDパラメータが‘*’で、他のすべての重要なパラメータが空白の場合、すべてのエントリが削除されます。キーUNIDを含むすべてのフィルタフィールドを空白にした場合、すべての文書の削除／修正に対して結果が何も返りません。フィルタの1つに値が設定されており、キーUNIDが‘*’に設定されている場合、キーUNIDは無視され、処理は、フィルタ/フィルタパラメータに基づいて、実行されます。）

キー名

削除したいコンタクトの名前

キー苗字

削除したいコンタクトの苗字

主要電子メールアドレス

削除したいコンタクトのメールアドレス

キー短縮名

削除したいコンタクトの短縮名

主要カンパニー名

削除したいコンタクトの会社名

主要部

削除したいコンタクトの所属部門

主な役職

削除したいコンタクトの役職

主要カテゴリ

コンタクトのカテゴリ。式エディタを使用して定義します。

キーUNIID

削除したいコンタクトの Lotus Notes UNID

戻UNIDリスト

Lotus Notesにより送られた、このコンポーネントの戻UNID

エラーコード

Dominoのエラーコード

をクリックして変数一覧を開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Delete Documents

Lotus Notes サーバを使用してEドキュメントを削除します。

(キーUNIDパラメータが‘*’で、他のすべての重要なパラメータが空白の場合、すべてのエントリが削除されます。キーUNIDを含むすべてのフィルタフィールドを空白にした場合、すべての文書の削除／修正に対して結果が何も返りません。フィルタの1つに値が設定されており、キーUNIDが‘*’に設定されている場合、キーUNIDは無視され、処理は、フィルタ/フィルタパラメータに基づいて、実行されます。）

主題

削除したいドキュメントライブラリの題目

主要カテゴリ

削除したいドキュメントライブラリのカテゴリ

キー発信者

削除したいドキュメントライブラリの作成者

キー作成日

削除したいドキュメントライブラリの更新日付（DD/MM/YYYY形式）

jこの日付は、ドキュメントの作成日付と比較されます。

キーUNIID

削除したいドキュメントライブラリのLotus Notes UNID

戻UNIDリスト

Lotus Notesにより送られた、このコンポーネントの戻UNID

エラーコード

Dominoのエラーコード

をクリックして変数一覧を開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Delete Emails

Lotus Notes サーバを使用してEmailを削除します。

(キーUNIDパラメータが‘*’で、他のすべての重要なパラメータが空白の場合、すべてのエントリが削除されます。キーUNIDを含むすべてのフィルタフィールドを空白にした場合、すべての文書の削除／修正に対して結果が何も返りません。フィルタの1つに値が設定されており、キーUNIDが‘*’に設定されている場合、キーUNIDは無視され、処理は、フィルタ/フィルタパラメータに基づいて、実行されます。）

キー受信日

削除したいメールの受信日付（DD/MM/YYYY形式）

キー送信者

削除したいメールの送信者

主題

削除したいメールの題目

キーUNIID

削除したいメールのLotus Notes UNID

戻UNIDリスト

Lotus Notesにより送られた、このコンポーネントの戻UNID

エラーコード

Dominoのエラーコード

をクリックして変数一覧を開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Get Folder List

ユーザフォルダのリストを取得して、フォルダ毎に既読／未読／合計のメール数を返します。既読/未読の数は、Lotus Notes Ver8以降でのみ利用できます。リモートセッションが使用される場合は、サポートされません。

出力タイプ

ユーザフォルダへのエントリの出力タイプ。以下のどちらかを選択します。

  • XML

  • CSV

CVS区切文字

CSVファイル用の区切り文字を以下から指定します。

  • カンマ

  • セミコロン

  • ピリオド

このパラメータは、出力タイプがCVSの場合のみ有効です。

ファイルへの出力

結果を保存するためのファイル名をフルパスで指定します。

出力

出力結果を保持するためのBLOB変数を選択します。

エラーコード

作成されたMagic xpiのエラーコードを格納する変数を選択します。

Modify Calendar Entries

Lotus Notes カレンダーのエントリーの編集

(キーUNIDパラメータが‘*’で、他のすべての重要なパラメータが空白の場合、すべてのエントリが削除されます。キーUNIDを含むすべてのフィルタフィールドを空白にした場合、すべての文書の削除／修正に対して結果が何も返りません。フィルタの1つに値が設定されており、キーUNIDが‘*’に設定されている場合、キーUNIDは無視され、処理は、フィルタ/フィルタパラメータに基づいて、実行されます。）

キー日付

編集したいカレンダエントリのイベントの日付。 (DD/MM/YYYY 書式)

キーチェア

編集したいカレンダエントリのイベントの責任者の名前。

主題

編集したいカレンダエントリのイベントの表題

キーの位置

編集したいカレンダエントリのイベントが行われる場所。

キー入力タイプ

カレンダエントリーを編集したいイベントのLotus Notesエントリータイプ。ドロップダウンリストから以下のいずれかを選択します。

  • アポイントメイント

  • 記念日

  • 終日イベント

  • 会議

  • 備忘

キーUNID

編集したいカレンダエントリのイベントの Lotus Notes UNID。

イベント開催日

カレンダエントリのイベントの日付(DD/MM/YYYY 書式).

開始時間

イベントの開始時刻です。形式はHH:mm:ssです。開始時間は、予定、会議招集、スケジュール確認イベントタイプで必要です。

期間

イベント期間を分で示したものです。

議長

イベントを計画し実行する人の名前。これは会議エントリタイプでのみ利用できます。

件名

イベントの表題

ロケーション

イベントを行う場所

説明

イベントの説明

参加者To

イベント通知の宛先フィールドに指定されているすべての受信 者の一覧です。これは会議エントリタイプでのみ利用できます。

CCプロパティ

イベント通知のccフィールドに指定されているすべての受信 者の一覧です。これは会議エントリタイプでのみ利用できます。

BCC参加者

イベント通知のBCCフィールドに指定されているすべての受 信者の一覧です。これは会議エントリタイプでのみ利用できます。

メッセージフォーマット

メールとして送信する際に会議の表題用のイベント通知テキストを作成するのに使用する書式。

予約する部屋

予約が必要な会議室。これは会議エントリータイプでのみ利用できます。

リソース予約

会議のために予約したいリソースの詳細

カテゴリ

イベントのカテゴリです ドロップダウンリストから以下のいずれかを選択します:

  • 休日

  • 顧客

  • プロジェクト

  • 休暇

  • 電話

戻UNID

Lotus Notesにより送られた、このコンポーネントの戻り UNID

エラーコード

Dominoのエラーコード

をクリックして変数一覧を開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Modify Contacts

連絡先エントリを編集します。

(キーUNIDパラメータが‘*’で、他のすべての重要なパラメータが空白の場合、すべてのエントリが削除されます。キーUNIDを含むすべてのフィルタフィールドを空白にした場合、すべての文書の削除／修正に対して結果が何も返りません。フィルタの1つに値が設定されており、キーUNIDが‘*’に設定されている場合、キーUNIDは無視され、処理は、フィルタ/フィルタパラメータに基づいて、実行されます。）

キー名

編集したい連絡先の名前

キー苗字

編集したい連絡先の姓

主要電子メールアドレス

編集したい連絡先のメールアドレス

キー短縮名

編集したい連絡先の略称

主要カンパニー名

編集したい連絡先の会社名

主要部

編集したい連絡先の部門名

主な役職

編集したい連絡先の役職

主要カテゴリ

編集したい連絡先のイベントカテゴリ。式エディタを使用してイベントカテゴリを編集します。

キーUNID

編集したい連絡先のLotus Notes UNID

名前

編集したい連絡先の名前

ミドルネーム

編集したい連絡先のミドルネーム

苗字

編集したい連絡先の姓

タイトル

敬称をドロップダウンリストから以下のいずれかを選択します:

  • Dr.

  • Prof.

  • Mr.

  • Miss

  • Ms.

  • Mrs.

接尾辞

Jr.、Sr.など名前の後ろに付加する文字です。 ドロップダウンリストから以下のいずれかを選択します:

  • Jr.

  • Sr.

  • I

  • II

オフィスの電話番号

オフィスの電話番号

オフィスのFAX番号

オフィスのFax番号

携帯番号

携帯電話番号

自宅の話番号

自宅の電話番号

ポケットベル

ポケベルの番号

メールアドレス

メールアドレス

Webページ

Webページのアドレス

会社名

会社名

役職

役職

オフィスの住所

オフィスの住所

オフィスの市

オフィスがある市町村

オフィスの郵便番号

オフィスの郵便番号

オフィスの州（県）

オフィスがある都道府県

オフィスの国名

オフィスがある国名

オフィスの場所

オフィスの所在地

部門

働いている部門名

上司の名前

直属の上司の名前

部下の名前

部下の名前

自宅の住所

自宅：住所

自宅の市

自宅の市町村

自宅の郵便番号

自宅の郵便番号

自宅の州（県）

自宅の都道府県

自宅の国名

自宅の国名

配偶者の名前

配偶者の名前

子供の名前

子供の名前

誕生日

誕生日。形式はDD/MM/YYYYです。

コメント

追加コメント

メールドメイン

メールドメイン

短縮名

短縮名

カテゴリ

カテゴリ（ユーザが定義するカテゴリ）

戻UNIDリスト

Lotus Notesにより送られた、このコンポーネントの戻UNID

エラーコード

Dominoのエラーコード

をクリックして変数一覧を開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Modify Documents

Lotus Notesサーバ゛を使用してドキュメントを編集します。

(キーUNIDパラメータが‘*’で、他のすべての重要なパラメータが空白の場合、すべてのエントリが削除されます。キーUNIDを含むすべてのフィルタフィールドを空白にした場合、すべての文書の削除／修正に対して結果が何も返りません。フィルタの1つに値が設定されており、キーUNIDが‘*’に設定されている場合、キーUNIDは無視され、処理は、フィルタ/フィルタパラメータに基づいて、実行されます。）

主題

編集したいドキュメントライブラリーの表題

主要カテゴリ

編集したいドキュメントライブラリーのカテゴリ

キー発信者

編集したいドキュメントライブラリーの作成者

キー作成日

編集したドキュメントライブラリエントリーの更新日付（DD/MM/YYYY形式）。ドキュメントの 作成日付で比較されます。

キーUNID

編集したいドキュメントライブラリーのLotus Notes UNID

件名

ドキュメント ライブラリの表題

カテゴリ

ドキュメント ライブラリのカテゴリ

起案者

ドキュメント ライブラリの起案者

レビューのタイプ

ドキュメントライブラリファイルのレビュータイプです。ドロップダウンリストから以下のいずれかを選択します。

  • １度に１人のレビューア

  • 全てのレビューアが同時に

時間制限オプション

(ドキュメントライブラリファイルを遡ってチェックする場合の)時間制限に関するオプション 。ドロップダウンリストから以下のいずれかを選択します。

  • 各レビューに時間制限はない

  • 期限が過ぎたら確認通知を送信

  • 期限が過ぎたら次へ移動

発信者通知後

レビュー完了時にドキュメントの作成者に通知するためのオプション。 ドロップダウンリストから以下のいずれかを選択します。

  • 最終レビューア

  • 各レビューア

コンテンツ

ドキュメント ライブラリの内容

アップロード日

ドキュメントライブラリファイルがアップロードされた日付 (DD/MM/YYYY 書式)

アップロード時間

ドキュメントライブラリファイルがアップロードされた時刻 (HH:MM:SS 書式)

プライベートマーク

ドキュメントライブラリファイルが個々のものであるかどうかを示します。ドロップダウンリストから以下のいずれかを選択します。

  • Yes

  • No

レビューに提出

レビュー用のドキュメントライブラリファイルを送信するかどうかを示します。ドロップダウンリストから以下のいずれかを選択します。

  • Yes

  • No

添付ドキュメント1

最初の添付ファイルのパス。

添付ドキュメント2

二番目の添付ファイルのパス。

添付ドキュメント3

三番目の添付ファイルのパス。

添付ドキュメント4

四番目の添付ファイルのパス。

添付ドキュメント5

五番目の添付ファイルのパス。

戻UNIDリスト

Lotus Notesにより送られた、このコンポーネントの戻UNID

エラーコード

Dominoのエラーコード

をクリックして変数一覧を開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Read Calendar Entries

Lotus Notesのカレンダエントリを読み込みます。

フィルタ

カレンダエントリの読み込み方を指定します。ドロップダウンリストから以下のいずれかを選択します。

  • 固定 …カレンダエントリは、特定の日から特定の日まで固定された期間読み込まれます。これらの日付は［開始作成日］と［終了作成日］の各パラメータで定義します。

  • 動的 …カレンダエントリは、定義済みの日から現在まで読み込まれます。この日付は以下の［期間］パラメータで定義します。

作成日From

特定の作成日付からカレンダエントリを読み込み始めます(DD/MM/YYYY 書式)。このパラメータは、［フィルタ］パラメータで固定を選択した場合のみ利用できます。

作成時刻From

特定の作成時刻からカレンダエントリを読み込み始めます(HH/MM/SS 書式)。このパラメータは、［フィルタ］パラメータで固定を選択した場合のみ利用できます。

作成日To

特定の作成日付までカレンダエントリを読み込みます (DD/MM/YYYY 書式)。このパラメータは、［フィルタ］パラメータで固定を選択した場合のみ利用できます。

作成時刻To

特定の作成時刻までカレンダエントリを読み込み始めます(HH/MM/SS 書式)。このパラメータは、［フィルタ］パラメータで固定を選択した場合のみ利用できます。

会議日From

特定の会議日付からカレンダエントリを読み込みます(DD/MM/YYYY 書式)。このパラメータは、［フィルタ］パラメータで固定を選択した場合のみ利用できます。

会議時刻From

特定の会議時刻からカレンダエントリを読み込みます(HH/MM/SS 書式)。このパラメータは、［フィルタ］パラメータで固定を選択した場合のみ利用できます。

会議日To

特定の会議日付までカレンダエントリを読み込みます(DD/MM/YYYY 書式)。このパラメータは、［フィルタ］パラメータで固定を選択した場合のみ利用できます。

会議時刻To

特定の会議時刻までカレンダエントリを読み込みます(HH/MM/SS 書式)。このパラメータは、［フィルタ］パラメータで固定を選択した場合のみ利用できます。

リストタイプ

どの通知タイプエントリが読み込まれるかを定義します。ドロップダウンリストから以下のどれかを選択してください。

  • エントリ (デフォルト)

  • 通知

  • エントリと通知

通知タイプ

出力される通告のタイプを指定します。ドロップダウンリストから以下のどれかを選択してください。

  • 全て (デフォルト)

  • 招待

  • 承認

  • 辞退

  • 仮承認

このパラメータは、［リストタイプ］パラメータで通知またはエントリと通知を選択した場合のみ利用できます。

To出席者フィルタ

［To］フィールドでどのEメールアドレスをフィルタするか指定します。ワイルドカードがサポートされています。

Cc出席者フィルタ

［CC］フィールドでどのEメールアドレスをフィルタするか指定します。ワイルドカードがサポートされています。

Bcc出席者フィルタ

［BCC］フィールドでどのEメールアドレスをフィルタするか指定します。ワイルドカードがサポートされています。

件名フィルタ

どの表題をフィルタするか指定します。ワイルドカードがサポートされています。

ロケーションフィルタ

どの場所をフィルタするか指定します。ワイルドカードがサポートされています。

期間

カレンダエントリを読み込みたい期間。このパラメータは、［フィルタ］パラメータでダイナミックを選択した場合のみ利用できます。

期間頻度

カレンダエントリを読み込みたい期間頻度。ドロップダウンリストから以下のいずれかを選択します:

  • 日

  • 週

  • 月

このパラメータは、［フィルタ］パラメータで動的を選択した場合のみ利用できます。

前後

カレンダエントリを読み込みたい時を指定します。ドロップダウンリストから以下のいずれかを選択します:

  • 今日以前の作成日

  • 今日以前の会議日

  • 今日以降の会議日

このパラメータは、［フィルタ］パラメータで動的を選択した場合のみ利用できます。

出力タイプ

カレンダエントリの出力タイプ。ドロップダウンリストから以下のいずれかを選択します。

  • XML

  • HTML

  • CSV

CVS区切文字

CSVファイル用の区切り文字を以下から指定します。

  • カンマ

  • セミコロン

  • ピリオド

このパラメータは、［出力］タイプがCVSの場合のみ有効です。

ファイル出力

カレンダエントリの出力ファイルの名前を入力します。

出力

出力データをBLOB形式で格納します。

エラーコード

Dominoのエラーコード

をクリックして変数一覧を開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Read Contacts

連絡先エントリを読み込みます。

フィルタ

連絡先の読み込み方を指定します。ドロップダウンリストから以下のいずれかを選択します。

  • 固定……連絡先は、特定の日から特定の日まで固定された期間読み込まれます。これらの日付は［開始作成日］と［終了作成日］の各パラメータで定義します。

  • 動的……連絡先は、定義済みの日から現在まで読み込まれます。この日付は以下の［期間］パラメータで定義します。

作成日From

特定の作成日付から連絡先を読み込み始めます(DD/MM/YYYY 書式)。このパラメータは、［フィルタ］パラメータで固定を選択した場合のみ利用できます。

作成時刻From

特定の作成時刻から連絡先を読み込み始めます(DD/MM/YYYY 書式)。このパラメータは、［フィルタ］パラメータで固定を選択した場合のみ利用できます。

作成日To

特定の作成日付まで連絡先を読み込みます (DD/MM/YYYY 書式)。このパラメータは、［フィルタ］パラメータで固定を選択した場合のみ利用できます。

作成時刻To

特定の作成時刻まで連絡先を読み込みます (DD/MM/YYYY 書式)。このパラメータは、［フィルタ］パラメータで固定を選択した場合のみ利用できます。

期間

連絡先を読み込みたい期間。このパラメータは、［フィルタ］パラメータで動的を選択した場合のみ利用できます。

期間頻度

連絡先を読み込みたい期間頻度。ドロップダウンリストから以下のいずれかを選択します。

  • 毎日

  • 毎週

  • 毎月

このパラメータは、［フィルタ］パラメータでダイナミックを選択した場合のみ利用できます。

名前フィルタ

フィルタする名前を指定します。ワイルドカードがサポートされています。

苗字フィルタ

フィルタする苗字を指定します。ワイルドカードがサポートされています。

出力タイプ

連絡先エントリの出力タイプ。ドロップダウンリストから以下のいずれかを選択します。

  • XML

  • HTML

  • CSV

CVS区切文字

CSVファイル用の区切り文字を以下から指定します。

  • カンマ

  • セミコロン

  • ピリオド

このパラメータは、［出力］タイプがCVSの場合のみ有効です。

ファイルへの出力

連絡先の出力ファイルの名前

出力

出力データをBLOB形式で格納します。

エラーコード

Dominoのエラーコード

をクリックして変数一覧を開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Read Documents

Lotus Notesサーバを使用してドキュメントを読み込みます。

フィルタ

ドキュメントの読み込み方を指定します。ドロップダウンリストから以下のいずれかを選択します。

  • 固定……ドキュメントは、特定の日から特定の日まで固定された期間読み込まれます。これらの日付は［開始作成日］と［終了作成日］の各パラメータで定義します。

  • 動的……ドキュメントは、定義済みの日から現在まで読み込まれます。この日付は以下の［期間］パラメータで定義します。

作成日From

特定の作成日付からドキュメントを読み込み始めます(DD/MM/YYYY 書式)。このパラメータは、［フィルタ］パラメータで固定を選択した場合のみ利用できます。

作成日To

特定の作成日付までドキュメントを読み込みます (DD/MM/YYYY 書式)。このパラメータは、［フィルタ］パラメータで固定を選択した場合のみ利用できます。

期間

ドキュメントを読み込みたい期間。このパラメータは、［フィルタ］パラメータでダイナミックを選択した場合のみ利用できます。

期間頻度

ドキュメントを読み込みたい期間頻度。ドロップダウンリストから以下のいずれかを選択します:

  • 毎日

  • 毎週

  • 毎月

このパラメータは、［フィルタ］パラメータで動的を選択した場合のみ利用できます。

出力タイプ

ドキュメントエントリの出力タイプ。ドロップダウンリストから以下のいずれかを選択します。

  • XML

  • HTML

  • CSV

CVS区切文字

CSVファイル用の区切り文字を以下から指定します。

  • カンマ

  • セミコロン

  • ピリオド

このパラメータは、［出力］タイプがCVSの場合のみ有効です。

ファイルへ出力

ドキュメントの出力ファイルの名前

出力

出力データをBLOB形式で格納します。

エラーコード

Dominoのエラーコード

をクリックして変数一覧を開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Read Mails

Lotus Notesのメールを読み込みます。

フィルタ

メールの読み込み方を指定します。ドロップダウンリストから以下のいずれかを選択します:

  • 固定……メールは、特定の日から特定の日まで固定された期間読み込まれます。これらの日付は［開始作成日］と［終了作成日］の各パラメータで定義します。

  • 動的……メールは、定義済みの日から現在まで読み込まれます。この日付は以下の［期間］パラメータで定義します。

フォルダ

読みたいメールのフォルダ。以下のドロップダウンリストから選択します。

  • 全て

  • 受信トレイ

  • 下書き

  • 送信済み

  • 迷惑メール

  • その他

その他のフォルダ名

［フォルダ］パラメータでその他が指定された場合に表示されます。

メールを読みたい人の別のフォルダを指定してください。

既読/未読フィルタ

Notes Ver8またはそれ以降で、ローカルまたはリモートのセッションを使用としている場合にサポートされます。以下のドロップダウンリストから選択します。

  • 全て（デフォルト）

  • 既読

  • 未読

作成日From

特定の作成日付からメールを読み込み始めます(DD/MM/YYYY 書式)。このパラメータは、［フィルタ］パラメータで固定を選択した場合のみ利用できます。

作成時刻From

特定の作成時間からメールを読み込み始めます。このパラメータは、［フィルタ］パラメータで固定を選択した場合のみ利用できます。

作成日To

特定の作成日付までメールを読み込みます (DD/MM/YYYY 書式)。このパラメータは、［フィルタ］パラメータで固定を選択した場合のみ利用できます。

作成時刻To

特定の作成時間までメールを読み込みます。このパラメータは、［フィルタ］パラメータで固定を選択した場合のみ利用できます。

期間

メールを読み込みたい期間。このパラメータは、［フィルタ］パラメータで動的を選択した場合のみ利用できます。

期間頻度

メールを読み込みたい期間頻度。ドロップダウンリストから以下のいずれかを選択します:

  • 毎日

  • 毎週

  • 毎月

  • 毎分

このパラメータは、［フィルタ］パラメータで動的を選択した場合のみ利用できます。

最大メール受信数

指定された値に基づいて、結果の数を制限します。値が指定されていなかったり0が設定される場合、すべてのメールを取得します。

添付ファイルをダウンロード

添付ファイルをダウンロードするかどうかを指定します。Yes か No を選択します。

ボディを含める

電子メールのボディを出力に含めるかどうかを指定します。以下からどれかを選択します。

  • Yes (デフォルト)

  • No

出力ボディ（BLOB）

BLOBで出力するかどうかを指定します。ドロップダウンリストから以下のいずれかを選択します。

  • Yes (デフォルト)

  • No

出力タイプ

メールの出力タイプ。ドロップダウンリストから以下のいずれかを選択します。

  • XML

  • HTML

  • CSV

CVS区切文字

CSVファイル用の区切り文字を以下から指定します。

  • カンマ

  • セミコロン

  • ピリオド

このパラメータは、［出力］タイプがCVSの場合のみ有効です。

ファイルへの出力

メールの出力ファイルの名前

出力

出力データをBLOB形式で格納します。このパラメータは、［出力］タイプがXMLの場合のみ有効です。.

エラーコード

Dominoのエラーコード

をクリックして変数一覧を開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Send Email

Lotus Notesを使用してメールを送信します。

件名

メールの件名

コンテンツ

メールの内容

受信者To

メールの［To］フィールドに指定されているすべての受信者の一覧

CC受信者

メールの［CC］フィールドに指定されているすべての受信者の一覧

Bcc受信者

メールの［BCC］フィールドに指定されているすべての受信者の一覧

添付ファイル1

添付ファイル2

添付ファイル3

添付ファイル4

添付ファイル5

コンピュータまたはネットワーク上で添付ファイルが配置されている場所を示すパスです。添付ファイルは5つまで指定できます。

パスの要素は、\の後に続くオリジナルのファイル名です。これは、各ファイルのディレクトリを作成します。

カンマ区切りで、各添付ファイルのパスを追加することができます。

戻UNID

Lotus Notesにより送られた、このコンポーネントの戻り UNIDです。

エラーコード

Dominoのエラーコード

をクリックして変数一覧を開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Setup Meeting

会議を設定し、会議の参加者へメールによる通知を送信します。

会議日付

会議の日付（形式はDD/MM/YYYYです）

開始時間

会議開始の時刻 (形式はHH: MM:SSです)。

期間

会議の予定時間を分で示したものです。

議長

会議を計画し、実行する人の名前

件名

会議の題目

ロケーション

会議を行う場所

説明

会議事項

参加者To

会議の主な参加者

CCプロパティ

会議の CC (任意) 参加者

Bcc参加者

会議の BCC (参考) 参加者

メッセージフォーマット

メールとして送信する際に会議の表題用の会議通知テキストを作成するのに使用する書式です。

予約する部屋

予約が必要な会議室。

リソース予約

会議に必要なアイテムまたは資料

カテゴリ

会議のカテゴリです。ドロップダウンリストから以下のいずれかを選択します。

  • 休日

  • 顧客

  • プロジェクト

  • 休暇

  • 電話

戻UNID

Lotus Notesにより送られた、このコンポーネントの戻り UNIDです。

エラーコード

Dominoのエラーコード

をクリックして変数一覧を開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Update Notice

会議通知に対して参加／欠席を指定し、電子メールを送信元に送ります。

キーUNID

更新したい会議通知のイベントに対するUNID

通知タイプ

更新されたされた会議の通知タイプ。ドロップダウンリストから以下のいずれかを選択します。

  • 承認 (デフォルト)

  • 拒否

  • 仮承認

コメント

会議に関するコメントを入力します。

エラーコード

Dominoのエラーコード

をクリックして変数一覧を開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Magic xpiは、検索シーケンスに従って新規メールを取得します。

検索は、以下の3つの日付属性を含み、コレクションを返します。

  • DeliveredDate

  • PostedDate

  • _creationDate

コレクション内の各ドキュメントは、受信箱画面の日付でチェックされます。

@If(DeliveredDate != ""; DeliveredDate; PostedDate != ""; PostedDate; @Created)

上記の式に従うドキュメントのみが新規ドキュメントとして出力されます。

関連トピック：

ダイレクトアクセスメソッドの使用方法


Domino – エラー処理

Magic xpiサーバのフローマネージャは、ステップの実行中にエラーを監視します。Dominoコンポーネントのステップにエラーが発生した場合、エラーハンドラが起動され、エラーを処理します。

ステップの最初のエラーでステップの実行は停止します。ステップに複数のメソッドがあり、そのうちの一つでエラーが発生した場合、その後のメソッドは実行されません。

Dominoコンポーネントのエラーコードは以下のとおりです。また、Magic xpiの一般コンポーネントエラーもDominoコンポーネントで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラー コード | 説明
300 | データベースの接続エラーです
301 | データ有効性エラーです
302 | オペレーション エラー
303 | 一般的なエラーです

関連トピック：

Magic xpiのエラー処理


Dynamics AX 2012

Dynamics AX 2012コネクタは、それらのWSDL URIを提供することによって、Dynamics AXアプリケーション統合フレームワーク(AIF)中のインバウンドポートとして公開されたされた Microsoft Dynamics® AXサービスとの通信を可能にします。

Magic xpi スタジオとランタイムで Dynamics AX 2012コネクタを使用するには、PCに.NET Framework 4.5.1以上をインストールする必要があります。コネクタで使用したいサービスは、最初にDynamics AX サーバ上のアプリケーション統合フレームワーク(AIF)のインバウンドポートと定義されなければなりません。

開発目的で、Windows SDK 8.1以上をPCにインストールする必要があります。これは開発の場合は必須ですが、実行環境では必須ではありません。

Dynamics AX 2012コネクタは、WSDL URIが指定されるとC#クライアントコードと構成ファイル(client.config)を生成します。これによって、そのインバウンドポートのために定義された規定と処理のリストを作成し、それらのスキーマを生成し、このサービスを使用するために、標準のMagic xpiインタフェースを提供します。

  • Dynamics AX 2012コネクタのスキーマは、<Magic xpi>\projects\<Project name>\DynamicsAX ディレクトリにあります。

  • このコネクタのため構成は、<Magic xpi>\config\log4net.configファイルに設定されます。このファイルのデフォルトを変更することができます。

Dynamics AX で使用する標準オペレーションと動作

  • Find …… マッピングされた値とのAND条件によるいくつかのフィールドに基づいて問い合わせを行うために使用されます。

  • Findkeys: …… 一つまたは複数のレコードのユニークなIDだけを取得するために使用されます。

  • Read: ……特定のキーに従って問い合わせを行うために使用されます。各エンティティは、1つ以上のプライマリキーを持っていて、それはレコードのユニークなIDです。プライマリキーがいくつかのセグメントから構成されている場合、すべてのマッピングされた値はAND条件によって計算されています。.

  • Create: …… オリジナルのスキーマのサイズのため、必須な要素のみに分解されます。従って、Createスキーマはすべての可能な要素を含むわけではありません。複数のレコードを処理する時に、1つ以上のレコードにエラーがある場合、リクエストはロールバックされます。

  • Update: ……更新するときに、DocumentHash(32文字長さ文字列)のマップを作成する必要があります。Read処理を使用してDocumentHashを取得することができます。

一般的なポイント

  • 日付を送る時に、YYYY-MM-DDTHH：MM：SSZフォーマットのUTC datetime のValue要素だけのマップを作成する必要があります(YYYY-MM-DDTHH:MM:SS+nn:nnフォーマットは、Dynamics AX.と互換性がありません。)。timeZoneとlocalDateTime の要素は無視されるため、それらのマップを作成する必要はありません。

  • C.UserXML変数の中のMagic xpiによって送られたデータは、［Dynamics AX Resource Setting ］ウィンドウで［Load Service］ボタンをクリックした時に、生成された.NETコードのレイヤーによって実行中に修正されます。Dynamics AX サーバに送られたXMLは、ランタイムログに出力されます。それは、C.UserXML変数とではなく各処理のINスキーマフォルダにあるXMLファイル(<処理に対するルート要素の名前>.xml)と同じです。(例えば、CustomerService_create_In.xml。)

  • 詳細なAifFault(InfoLog配列)情報を、XML結果におけるMagic xpiに報告するために、Magic xpiで使用されるDynamics AXサービスの［ Include exceptions in fault ］チェックボックスが選択されていることを確認してください。［Inbound Port］画面(下で表示されるような)の各サービスのために、このチェックボックスは表示されます。

ほとんどの場合に、［Logging mode parameter ］パラメータは、実行時のパフォーマンスを考慮してLogging Disabledに設定されます。テストする時は、この値を可能な最も詳細なレベルに変更してロギングを有効にする必要があります。

For use with:

4.1 以上

関連トピック：

Dynamics AX 2012 - 設定

Dynamics AX 2012 - エラー処理

Dynamics AX 2012トラブルシューティング


Dynamics AX 2012 - 設定

Dynamics AX 2012コネクタををフローに配置すると、Magic xpiは自動的にそのコンポーネントの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。そして、コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、コンポーネントの［設定］ダイアログボックスを開きます。

Dynamics AX 2012コネクタを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初にDynamics AXリソースを定義する必要があります。

Dynamics AX 2012コネクタは、以下のインタフェースをサポートします。

  • XML


Dynamics AX 2012 - XML

Dynamics AX 2012コネクタは、Magic xpiのXMLインタフェースによって動作するように設計されます。Dynamics AX 2012コネクタをフロー内にドラッグすると、[プロパティ]ペインが開きます。そして、コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、コンポーネントの［設定］ダイアログボックスを開きます。

このダイアログボックスには、以下のフィールドが含まれています。

プロパティ

説明

接続

リソース名

コンポーネントの［プロパティ］ペインで選択したリソースの名前。リソースは、［設定］ダイアログボックスの［リソース］セクションで定義されます。

オペレーション

規約

ドロップダウンリストから必要な規約を選択してください。

このリストは、［設定］ダイアログボックスのDynamics AX の［リソース］セクションで［Load Service］ボタンをクリックする保存される規約です。

オペレーション

ドロップダウンリストから必要な処理コマンドを選択してください。このリストには、［規約］フィールド(上記)で選択された規約の使用に関連しているすべての処理が表示されます。

マッピング段階の間に、読込、更新、および削除の処理を実行する時に、1回の処理で複数のレコードを送信を行いたい場合、EntityKey要素を使用する必要があり、KeyField要素は使用しないでください。1レコードの場合は、KeyFieldレコードまたはEntityKeyレコードのどちらも使用することができます。

結果オプション

結果保存

結果のXMLファイルを保存する場所を定義します。ドロップダウンリストから以下のどれかを選択します。

  • Variable …… Dynamics AXによって戻されるエンティティデータを保存する変数を選択します。 をクリックすると変数リストが開きます。この情報を保存する変数（デフォルトはC.UserBlob）を選択します。

  • File …… Dynamics AXによって戻されるエンティティデータを保存するファイルを選択します。 をクリックして式エディタを開くか、 [image] をクリックしてこの情報を保存するファイルパスを入力します。

オペレーション成功

このフィールドは、データエンティティがDynamics AXに正しく配格納されたたかどうかを容易に定義することができます。ドロップダウンリストから以下のどれかを選択します。

  • None …… コネクタ処理の成功／失敗のステータスを保存したくない場合は、このオプションを選択します。

  • Variable …… をクリックして変数リストを開きます。コネクタ処理の成否ステータスを保存する変数を選択します。

推奨しませんが、手動でスキーマを変更しい場合は、新しいスキーマパスをDynamics AX 2012の［XSD File］プロパティに設定する必要があります。データマッパーの送り先の[プロパティ]ペインでこのプロパティが表示されます。このプロパティでXSDパスを変更しても、リソースで作成されたスキーマのオリジナルのルートは変更されません。


Dynamics AX 2012 - エラー処理

Magic xpiサーバは、ステップの実行中エラーをチェックします。Dynamics AX 2012コネクタスのテップにエラーがある場合、エラーハンドラが起動され、エラーを処理します。

Dynamics AX 2012コネクタのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーもDynamics AX 2012コネクタで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
1251 | Dynamics AX 呼出エラー: <エラーの説明>

ほとんどのDynamics AX サーバのデフォルトでは、Dynamics AXサービスはエラー詳細を報告しません。それを有効すると、Microsoft Dynamics AX のAIFの［Exceptions］ビューが表示されます。Dynamics AX サーバの管理者にこのオプションを確認してください。

関連トピック：

Magic xpiのエラー処理


Dynamics CRM

Dynamics CRMコネクタは、専用のライセンスが必要です。

Magic xpiのDynamics CRMコネクタは、Microsoft Dynamics® CRMアプリケーションと一緒に使用できます。

Dynamics CRMコネクタを使用するには、有効なDynamics CRMアカウントが必要です。技術的な必要条件はありません。.jarファイルを追加する必要もなく、クライアントにインストールするものもありません。

関連トピック：

Dynamics CRM - 設定

Dynamics CRM - エラー処理

Dynamics CRMトラブルシューティング

Dynamics CRMコネクタを使用してPhoneCall （アクティビティ）を作成するには

アクティブでない状態にあるオブジェクトを更新するには


Dynamics CRM - 設定

Dynamics CRMコネクタををフローに配置すると、Magic xpiは自動的にそのコンポーネントの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。そして、コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、コンポーネントの［設定］ダイアログボックスを開きます。

Dynamics CRMコネクタを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初にDynamics CRMリソースを定義する必要があります。

Dynamics CRMコネクタは、以下のインタフェースをサポートします。

  • XML

  • メソッド

Dynamics CRMと接続するには、TLS 1.2関連の設定を構成する必要があります。これを行うには、.NET FrameworkがTLS 1.2をサポートするように構成されていることを確認してください。

.NET 4.0はデフォルトでTLS 1.2を有効にしません。TLS 1.2をデフォルトで有効にするには、次の手順を実行します。

次の2つのレジストリキーで、SchUseStrongCrypto(DWORD)の値を"1"に設定します。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319

関連トピック：

OAuth2を構成して、AzureポータルにDynamics CRMを登録するには？


Dynamics CRM - メソッド

［インタフェース］プロパティで メソッド を選択した後、コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、［ダイレクトアクセスメソッド］ダイアログボックスを開きます。

Dynamics CRMコネクタを設定するには、このメソッドを使用してください。

  • QueryByFetchXML

次の表は、使用可能なメソッドとパラメータの一覧です。太字は必須パラメータです。

メソッド

パラメータ

説明

QueryByFetchXML:

FetchXMLクエリ構造を送り、戻り値として結果のXMLを受け取ります。

FetchXML

クエリXMLです。値は、FetchXML構造の有効なXMLにする必要があります。

をクリックして式エディタを開き、クエリXMLを入力します。

結果格納先

結果XMLをどのように格納するかを定義します。

ドロップダウンリストから以下のどれかを選択してください：

  • 変数 (デフォルト)

  • ファイル

  • 分割ファイル

結果 XML

をクリックして、変数リストを開きます。XML構造でオペレーションの結果を格納するするために、変数を選択してください。

［結果格納先 ］パラメータ(上記)で変数が選択された場合、これが有効になります。

ファイル名

問い合わせの結果を格納したいファイルのフルパスを入力してください。

［結果格納先］パラメータ(上記)でファイルが選択された場合、これが有効になります。

ディレクトリ

分割XMLの結果を格納するディレクトリをフルパスで指定します。

をクリックして式エディタを開き、ディレクトリ名を入力します。

［結果格納先］パラメータ(上記)で分割ファイルが選択された場合、これが有効になります。

接頭辞

分割XMLファイルで使用される接頭辞。

をクリックして式エディタを開き、接頭辞を入力します。

［結果格納先］パラメータ(上記)で分割ファイルが選択された場合、これが有効になります。

ファイル毎レコード数

各分割ファイルのレコードの数。

をクリックして式エディタを開き、必要なレコード数を入力します。

［結果格納先］パラメータ(上記)で分割ファイルが選択された場合、これが有効になります。

分割数

結果XMLから作成された分割数が戻るで数値変数。

をクリックして変数リストを開き、必要な変数を選択します。

［結果格納先］パラメータ(上記)で分割ファイルが選択された場合、これが有効になります。

エラーコード

Dynamics CRMのエラーコードが返ります。

をクリックして変数リストを開きます。エラーコードが変える変数を選択し、［選択］をクリックします。

Since version:

4.6

関連トピック：

ダイレクトアクセスメソッドの使い方


Dynamics CRM - XML

Dynamics CRMコネクタは、Magic xpiのXMLインタフェースによって動作するように設計されます。Dynamics CRMコネクタをフロー内にドラッグすると、[プロパティ]ペインが開きます。

［インタフェース］プロパティで XML を選択した後、コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、［Dynamic CRM設定］ダイアログボックスを開きます。

このダイアログボックスには、以下のフィールドが含まれています。

プロパティ

説明

接続

リソース名

コンポーネントの［プロパティ］ペインで選択したリソースの名前。リソースは、［設定］ダイアログボックスの［リソース］セクションで定義されます。

オペレーション

エンティティ

をクリックするとエンティティリストが開きます。ここで実行するエンティティを選択します。

オペレーション

［エンティティ］フィールドで選択されたエンティティに基づいて、様々なオペレーションが利用できます。

ドロップダウンリストから以下のオペレーションのうちどれかを選択します。

  • Query …… これは、エンティティからデータを検索する場合に使用されます。 指定された条件に基づいたエンティティを取得するためにデータマッパーを使用することができます。例えば、Title = Professorが入力されているすべてのコンタクト情報を取得できます。有効なすべてのコンタクト情報を取得したい場合は、マッピングを指定する必要はありません。送り元に複数のレコードがある場合、最初にマップされた値のみが返されます。この処理のための現在サポートされる比較処理に関する情報については、ここをクリックしてください。

  • Create …… これは、組織データ内に新しいエンティティを作成する場合に使用されます。データマッパーを使用して新規の［エンティティ］フィールドの値を指定することができます。

  • Update …… これは、組織データ内の指定したエンティティを更新するために使用されます。エンティティを更新する際、そのIDを知る必要があります。例えば、エンティティIDを取得するために照会処理を使用し、さらに更新処理を呼び出すことができます。更新したい他のフィールドと同じように、エンティティIDを設定するためにデータマッパーを使用する必要があります。

  • Delete …… これは、指定したエンティティを組織データから削除するために使用されます。エンティティを削除したい場合、そのIDを知る必要があります。例えば、エンティティIDを取得するために照会処理を使用し、さらに削除処理を呼び出すことができます。更新したい他のフィールドと同じように、エンティティIDを設定するためにデータマッパーを使用する必要があります。

  • Change State …… これは、エンティティの状態を変更するために使用されます。各エンティティは、アクティブ、非アクティブ、オープン、などの状態があり、この処理で変更できます。状態コードを表す文字列（Active,Inactive,など)で提供する必要があります。数値ではありません。Dynamics CRM は、特定の状態コードにあてはまるStatusCodesを受け入れるだけで、正しい数値をStatusCodesに設定したことを確認しなければなりません。

  • Assign …… これは、組織で指定したエンティティの所有者を変更するために使用されます。Dynamics CRMのリソースのアカウント特権に基づいて、エンティティをユーザ、または、チームに割り当てることができます。

  • Upsert …… UPSERTキーが存在している場合は、既存のエンティティを更新し、UPSERTインデックスが存在していない場合は新しいエンティティを挿入するために使用されます。キーが複数の要素から成る場合、すべての選択されたエンティティのキーとフィールドにマッピングするデータマッパーを使用する必要があります。このオペレーションはWindows OSでのみ 動作することに注意してください。 (Since version: 4.6)

エンティティでサポートされたオペレーション(エンティティタイプとユーザ特権に基づきます)だけが表示されます。

戻り値の属性

このプロパティは、［オペレーション］フィールドでQueryを選択した場合のみ有効です。チェックボックスがチェックされない場合、 [image] をクリックしてエンティティ属性リストからフィールドを選択します。

アップセットキー名

［オペレーション］フィールドでUpsertを選択した場合のみ有効です。 をクリックしてエンティティキーリストからキーを選択します。 Since version: 4.6

新規エンティティID

このプロパティは、［オペレーション］フィールドでCreateまたはUpsertを選択した場合のみ有効です。

をクリックして変数リストを開き、作成 、更新または挿入されたエンティティIDを保持する変数を選択します。

結果オプション

結果保存

結果のXMLファイルを保存する場所を定義します。ドロップダウンリストから以下のどれかを選択します。

  • Vriable …… Dynamics CRMによって戻されるエンティティデータを保存する変数を選択します。 をクリックすると変数リストが開きます。この情報を保存する変数（デフォルトはC.UserBlob）を選択します。

  • File …… Dynamics CRMによって戻されるエンティティデータを保存するファイルを選択します。 をクリックして式エディタを開くか、 [image] をクリックしてこの情報を保存するファイルパスを入力します。

オペレーション成功

このフィールドは、データエンティティがDynamics CRMに正しく配置されたたかどうかを容易に定義することができます。ドロップダウンリストから以下のどれかを選択します。

  • None …… コネクタ処理の成功／失敗のステータスを保存したくない場合は、このオプションを選択します。

  • Vriable …… をクリックして変数リストを開きます。コネクタ処理の成否ステータスを保存する変数を選択します。

［Microsoft Dynamics CRM］ダイアログボックスには、以下の追加ボタンがあります。

ボタン | 内容
XSDリフレッシュ | ［XSDリフレッシュ］をクリックすると、現在のスキーマが上書きされます。メッセージダイアログが開き、更新確認で［OK］をクリックすると上書きされます。［キャンセル］をクリックするとスキーマは更新されずに処理が終了します。

関連トピック：

サポートされる照会オペレーション


サポートされる照会オペレーション

サポートする照会処理

照会は、エンティティから情報を検索するために使用されます。以下の表は、現在Dynamics CRMの照会オペレーションによってサポートされる比較処理を示しています。

条件 | 演算子 | 値
x と同じ | = | x
x と同じではない | != | x
x より大きい | > | x
x 以上 | >= | x
x 未満 | < | x
x 以下 | <= | x
x で始まる | LIKE | x%
x で始まらない | NOTLIKE | x%
x で終わる | LIKE | %x
x で終わらない | NOTLIKE | %x
x を含む | LIKE | %x%
x を含まない | NOTLIKE | %x%
日付 x | DATEON <Date> | x
Null | ISNULL | N/A
Null でない | ISNOTNULL | N/A


入力リスト

  • リストからのDynamics CRMエンティティティを選択し、［選択］をクリックします。

  • リストを更新する場合は、［再読込］をクリックします。

  • 選択項目をマーキングしないで入力リストを閉じるには、［取消］をクリックします。


入力属性リスト

  • リストからのDynamics CRMフィールドを選択し、［OK］をクリックしますl。

  • ［全て解除］をクリックすると、今までの選択内容が解除されます。

  • 選択項目をマーキングしないで入力属性リストを閉じるには、［キャンセル］をクリックします。

このリストにアクセスするためには、［Microsoft Dynamics CRM］ダイアログボックスの［エンティティ］プロパティで最初にkエンティティを選択する必要があり、［戻り属性］フィールドですべてのチェックボックスをオフにします。 をクリックして、エンティティ属性リストを開きます。


エンティティキーリスト

  • リストからエンティティキーを選択し、［選択］をクリックしてください。

  • エンティティキーリストを更新する場合は、［再読込］をクリックしてください。

  • 選択をせずにエンティティキーリストを閉じるには、［取消］をクリックしてください。

  • エンティティキーのツールティップは［エンティティキー］フィールドの詳細を表示します。

Since version: 4.6


組織リスト

  • リストからDynamics CRMの組織を選択し、［選択］をクリックしてください。

  • Dynamics CRMサーバから組織の更新されたリストを取得するには、［再読込］をクリックしてください。

  • 選択をせずに組織リストを閉じるには、［キャンセル］をクリックしてください。


OAuth2を構成して、AzureポータルにDynamics CRMを登録するには？

はじめる前に

Magic xpiでOAuth2認証を使用してDynamicsCRMリソースを使用する前に、次の手順の実行と権限を付与する必要があります。

  • いくつかの手順ではAzureポータルの管理者権限が必要です。

  • 下記の手順は2021年12月時点で検証されたものです。これらはMicrosoft社によって予期なく変更されることがあります。

以下の手順を実行します:

  1. https://portal.azure.com/#homeにアクセスします。

  2. Azure Active Directory管理センターを開き、お持ちのMicrosoftアカウントでログインします。

  3. 左側のペインから管理セクションを開き、アプリの登録を選択します。

  4. 新規登録をクリックします。

  5. アプリケーションの登録のページが表示されるので、下記のように設定します。:

  1. 登録するアプリケーションの表示名を入力します。

  2. Supported account types で、最も適合するものを選択します。

  3. 必要であれば、リダイレクトURIを入力します。

  6. 登録をクリックします。そうするとアプリケーション（クライアント）IDとディレクトリ（テナント）IDが表示されます。これらはDynamicsCRMリソースのクライアントIDとテナントIDとして使用します。これらの値をMagic xpi スタジオのDynamicsCRMのリソース設定で使用するために保存しておきます。

  7. 同一の画面上にて、管理セクションの証明書とシークレットを選択します。

  8. 右側ペインのクライアントシークレットで、新しいクライアントシークレットのボタンをクリックします。

  9. クライアントシークレットの追加のウィンドウが表示されます。

  10. 説明欄を入力し、有効期限をドロップダウンリストから選択します。

  11. 画面の下段にある追加ボタンをクリックします。

  12. シークレット値とシークレットIDが作成されます。これらの値はMagic xpi スタジオのDynamicsCRMリソースの設定で必要になります。

シークレット値は一度しか表示されないので、この値を控えておいてください。

次に、Power Platform 管理センターにアクセスします。: https://admin.powerplatform.microsoft.com/environments

  1. Environmentsから必要な環境を選択します。下記の例： Magic EU Production

  2. Settings画面が表示されます。Environmental URL がありますので、Magic xpi のDynamicsCRMリソースのサーバURLとして使用するためこの値を控えます。また、Organization もリソース設定で必要なので控えます。

  3. User + permissions メニューを展開して、Application usersを選択します。

  4. New app user ボタンをクリックします。

  5. Create a new app user画面が表示されます。Add an appをクリックします。

  6. Add an app from Azure Active Directory画面から、前に作成したApp ID を選択し、Addボタンをクリックします。

  7. 画面はCreate a new app userに再び戻ります。ドロップダウンリストからBusiness unitを選択します。次にSecurity rolesの編集ボタンを押してSystem Administratorを選択し、Createボタンをクリックします。

上記の操作によってアプリケーションユーザが正しく作成されます。

関連トピック：

Dynamics CRM リソース

参照ページ：

https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-how-to-find-tenant

https://docs.microsoft.com/en-us/powerapps/developer/data-platform/walkthrough-register-app-azure-active-directory

https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app


Dynamics CRM - エラー処理

Magic xpiサーバは、ステップの実行中エラーをチェックします。Dynamics CRMコネクタステップにエラーがある場合、エラーハンドラが起動され、エラーを処理します。

Dynamics CRMコネクタのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーもDynamics CRM コネクタで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
1250 | Dynamics CRM 呼出エラー: <エラーの説明>

関連トピック：

Magic xpiのエラー処理


EJB

このコンポーネントは、現在サポートされません。

移行されたプロジェクトは、実行中、EJBステップはNOPステップとして扱われ、トリガは無視されます。


Email

Magic xpiのEmailコンポーネントは、標準通信プロトコルを利用して、ローカルコンピュータに保存可能な添付ファイルの付いたメールも含め、メールメッセージの送受信を行います。

Emailコンポーネントを使用するには、SMTPとPOP3またはIMAPサーバをネットワークにインストールする必要があります。

Emailコンポーネントを設定するには、以下の情報を知っておく必要があります。

  • SMTP/POP3/IMAPサーバのアドレス

  • 各ユーザ名とパスワード

Emailコンポーネントは、メールの送受信に使用できます。ただし、1つのフローの中で送信、受信の両方の動作にEmailコンポーネントの同一のインスタンスを使用することはできません。そのため、送受信の両方を行うためには、Emailコンポーネントのインスタンスを2つ使用しなくてはなりません。

統合フロー内で利用できるEmailコンポーネントのインスタンス数に制限はありません。

Emailコンポーネントは、以下のことが可能です。

  • 複数のメッセージを同時に送受信する

  • 異なる条件を設定して、受信するメールメッセージにフィルタをかける

  • サーバ上の受信したメールメッセージを表示する

  • ローカルコンピュータにダウンロードする受信メッセージを選択する

  • ローカルコンピュータからは削除した後も、サーバに残すメールメッセージを設定する

Emailコンポーネントを構成するときは、実行されるオペレーションのタイプ、メール受信者と送信者、およびメールとともに送信する添付ファイルなどの情報をそのコンポーネントに与えます。

  • Emailコンポーネントを使用するには、SMTPおよびPOP3、またはIMAPサーバがネットワークにインストールされていなければなりません。デフォルトはSMTPです。

  • Emailコンポーネントは、メールの受信に必要なトリガコンポーネントとして使用できます。このコンポーネントは、POP3サーバのポーリング後にメールを受信したときだけにフローを起動します。

  • Eメールコンポーネントに送られるBLOBボディは、常にUTF-8で送られます。BLOBが有効なUTF-8データを含んでいるか、破損したボディが送られたEメールにあるかを確認する必要があります。また、 MailCharset設定の値が有効か、例外がスローされたかを確認すしてください。

  • ExternalCodePage設定の値は、Emailコンポーネントには影響しません。

このコンポーネントで利用可能なサンプルプロジェクトがあります。以下のフォルダにあります。 <Magic xpi インストールフォルダ>\Extra\SampleProjects

関連トピック：

Email – 設定

Email – エラーコード

Email トラブルシューティング


Email – 設定

Email コンポーネントを使用すると、メールメッセージを送受信することができます。

Email コンポーネントをフローに配置すると、Magic xpiは自動的にそのコンポーネントの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、［コンポーネント設定］ダイアログボックスを開きます。

［プロパティ］ペインのプロパティは、構成処理の間に定義される活性化BLOBの一部になります。

Email コンポーネントを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初にEmailリソースを定義する必要があります。また、トリガとして使用しようとしている場合、［設定］ダイアログボックスの［サービス］セクションでEmailサービスを定義する必要があります。

表示されたダイアログボックスは、トリガとしてEmailコンポーネントを使用するかフローにおけるステップとして使用するかに依存します。フローにおけるステップとしてのコンポーネントを使用する場合、以下のインタフェースから選択することができます。

  • メソッド

  • XML

Microsoft 365 Serverのメール設定

EmailコンポーネントでMicrosoft 365 Serverメールを使用する前に、Microsoft 365 管理センターでSMTP AUTHサポートを有効にする追加設定が必要です。下記の手順を参考にしてください。:

  1. Microsoft 365 管理センターにアクセスする (https://admin.microsoft.com/)

  2. Office365組織の管理者権限でログインする。管理者権限がないと操作できません。

  3. ログインしたら、ユーザメニュー下のアクティブユーザにアクセスします。

  4. メールを使用するユーザ名を選択肢、メールタブを開きます。

  5. Email appsセクションで、Manage email appsをクリックします。

  6. Authenticated SMTP を有効にし、変更を保存します。

一度これらの内容を実行すれば、該当のアカウントで認証されることになります。


Email - メソッド

以下のメソッドを使用してEmailコンポーネントを構成します。

  • Quick Send

  • Quick Receive

  • Connect Send

  • Connect Receive

  • Disconnect

  • Send

  • Receive

以下の表は使用可能なメソッドとパラメータの一覧です。太字 は必須のパラメータです。

メソッド

パラメータ

説明

Quick Send

接続、メールの送信、そして切断を行います。

To

メール受信者のアドレス

CC

コピー受信者のアドレス。複数指定する場合は空白を入れずにカンマ(「,」)で区切ります。

BCC

ブラインドコピー受信者のアドレス。複数指定する場合は空白を入れずにカンマ(「,」)で区切ります。

件名

メールの件名

ボディ

メール内容のテキスト

ボディタイプ

メール内容のタイプを指定します。

  • プレーンテキスト

  • HTML

添付ファイルパス

Eメールに添付するファイルのパス。複数のファイルを添付する場合は空白を入れずにカンマ(「,」)で区切ります。

添付ファイルのパスは、5000桁まで含めることができます。

エラーコード

メールのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Quick Receive

接続、メールの受信、切断を行います。

最大メール

受信するメールの最大件数

値が設定されない場合は、サーバ上のすべてのメールが受信されます。

タイムアウト

サーバが次のステップに進むまでのタイムアウト値を秒単位で指定します。

フィルタFrom

［From］フィールドでフィルタするメールアドレス

フィルタTo

［To］フィールドでフィルタするメールアドレス

CCフィルタ

［CC］フィールドでフィルタするメールアドレス

BCCフィルタ

［BCC］フィールドでフィルタするメールアドレス。このパラメータは、IMAPサーバを使用する場合のみ有効です。

件名フィルタ

［件名］フィールドでフィルタするキーワードを指定します。

ボディフィルタ

［ボディ］フィールドでフィルタするキーワードを指定します。

サーバに残す

受信後サーバにメールを残すかどうかを指定します。

結果XML

XMLフォーマットでメール受信内容を返します。

エラーコード

メールのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Connect Send

メールを送信するためにサーバに接続します。

エラーコード

メールのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Connect Receive

メールを受信するためにサーバに接続します。

タイムアウト

サーバが次のステップに進むまでのタイムアウト値を秒単位で指定します。

サーバに残す

受信後メールをサーバに残すかどうかを指定します。

メール数

受信したメール数を返します

エラーコード

メールのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Disconnect

送受信後サーバとの接続を切断します。

エラーコード

メールのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Send

メールを送信します。

To

メール受信者のアドレス

CC

コピー受信者のアドレス。複数指定する場合は空白を入れずにカンマ(「,」)で区切ります。

BCC

ブラインドコピー受信者のアドレス。複数指定する場合は空白を入れずにカンマ(「,」)で区切ります。

件名

メールの件名

ボディ

メール内容のテキスト

ボディタイプ

メール内容のタイプを指定します。

  • プレーンテキスト

  • HTML

添付ファイル

Eメールに添付するファイルのパス。複数のファイルを添付する場合は空白を入れずにカンマ(「,」)で区切ります。

エラーコード

メールのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Receive

メールを受信します。

最大受信数

受信するメールの最大件数

値が設定されない場合は、サーバ上のすべてのメールが受信されます。

Fromフィルタ

［From］フィールドでフィルタするメールアドレス

Toフィルタ

［To］フィールドでフィルタするメールアドレス

CCフィルタ

［CC］フィールドでフィルタするメールアドレス

BCCフィルタ

［BCC］フィールドでフィルタするメールアドレス。このパラメータは、IMAPサーバを使用する場合のみ有効です。

件名フィルタ

［件名］フィールドでフィルタするキーワードを指定します。

ボディフィルタ

［ボディ］フィールドでフィルタするキーワードを指定します。

結果XML

XMLフォーマットでメール受信内容を返します。

エラーコード

メールのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

関連トピック：

ダイレクトアクセスメソッドの使用方法


Email - トリガ設定

［コンポーネント設定: Email］ダイアログボックスには、以下のフィールドがあります。

名前

説明

Email フィルタ

From

メールの送信者を示すフィルタ

To

メールの受信者を示すフィルタ

CC

メールのコピーを受け取る受信者を示すフィルタ

BCC

メールのブラインドコピーを受け取る受信者を示すフィルタ。このパラメータはIMAPサーバを使用する場合のみ有効になります。

件名

メールの件名を示すフィルタ

本文

メールメッセージの本文を示すフィルタ

引数XMLの場所

フィールド右側の [image] をクリックして変数リストを開きます。リストから引数XMLを送りたい変数を選択します。

オペレーション詳細

サーバに残す

受信したメッセージをサーバに残すかどうか指定します。ドロップダウンリストから以下のいずれかを選択します:

  • No (デフォルト)

  • Yes

このフィールドをNoに設定すると受信メールがコンピュータにダウンロードされるとそれらはサーバから削除されます。

キープアライブ間隔（分）

トリガが自動的に再起動されるまでに無応答でいられる時間（分数）を指定します。デフォルト値は0です。この場合は、トリガが永久に反応しない場合を意味します。

このパラメータの値を選択する場合、非常に慎重に行ってください。選択値が小さすぎると、有効な処理が完了する前にトリガは終了するかもしれません。

再接続ポリシー

再接続間隔（秒）

Emailサーバに再接続を試みることができます。Magic xpiサーバがEmailサーバに再接続を試みるまでの間隔を秒数で入力します。

再接続回数

Magic xpiサーバが再接続を試みる最大数を入力します。無限に再接続を試みる場合は0を入力します。

Eメールコンポーネントをトリガとして構成するには：

  1. Eメールを[設定]ダイアログボックスの［サービス]セクションでサービスとして定義してください。詳細は、ここをクリックしてください。

  2. [プロパティ]ペインを開くには、フローのトリガエリアにEmailコンポーネントを配置してください。

  3. ［設定］セクションで、ドロップダウンリストから必要なサービス名を選択してください。

  4. コンポーネントをダブルクリックするか、右クリックし、、コンテキストメニューから［構成］を選択してください。［コンポーネント設定：Email］ダイアログボックスを開きます。適切な情報を入力します。

  5. Eメールトリガの構成が終了したら［OK］をクリックして設定を保存しダイアログボックスを閉じます。［取消］をクリックすると設定内容が保存されずダイアログボックスを閉じます。

  • Emailコンポーネントは、Receiveメソッドのみを使用するトリガとして使用することができます。

  • 取り出されたXMLは、Runtime\ifclib\email\xsd\emailtrigger.xsd.に置かれたスキーマに対応します。


Email - エラー処理

Magic xpiサーバのフローマネージャーは、ステップの実行中にエラーを監視します。Emailコンポーネントのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

Emailコンポーネントのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーもEmailコンポーネントで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
100 | 接続エラー
101 | 切断エラー
102 | Email 送信エラー
103 | Email 受信エラー

関連トピック：

Email ラブルシューティング

Magic xpiのエラー処理


暗号化

暗号化コンポーネントは、様々な暗号メソッドと復号メソッドを使用してソースデータのセキュリティを維持することによって、ユーザ定義のセキュリティレベルを提供します。このコンポーネントは、ファイルを暗号化、または復号化することができる上、ユーザレベルでファイルに対するセキュリティを提供するBase64をサポートしています。暗号化コンポーネントを設定する場合、暗号化または復号化するファイルが置かれている場所、暗号化または復号化したファイルを最終的に格納する場所、および暗号メソッドのタイプを示す必要があります。

関連トピック：

暗号化 – 設定

暗号化 – エラーコード


暗号化 - 設定

暗号化コンポーネントは元データの暗号化と復号化を行ないます。

暗号化 コンポーネントをフローに配置すると、Magic xpiは自動的にそのコンポーネントの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、コンポーネントの［ダイレクトアクセスメソッド］ダイアログボックスを開きます。

フローにおいてステップとしてコンポーネントを使用する場合、以下のインタフェースから選択することができます。

  • メソッド

  • XML

XMLインターフェースを使用しているUnicodeの内容を暗号化すると、BOMなしで暗号化されます。内容を解読するとき、Flow Dataユーティリティを使用して結果を正しいBLOBタイプに割り当てなければなりません。例えば、Unicodeの内容を暗号化した場合、結果はUnicode BLOBに割り当てなければなりません。


暗号化 – メソッド

暗号化コンポーネントを設定するには、以下のメソッドを使用してください：

  • Encrypt

  • Decrypt

次の表では、使用できるメソッドおよびパラメータを一覧にしています。太字表示のパラメータは必須です。

メソッド

パラメータ

説明

Encrypt

メソッドは、ソースデータを暗号化します。

暗号メソッド

暗号化オペレーションに用いる暗号メソッドを入力します。

モード

暗号モードを入力します。このモードは、選択した暗号メソッドでサポートされていなければなりません。

キー

キー変数を選択します:

  • フロー変数とテキストの組み合わせ

  • フロー変数のみ

  • テキストのみ

入力

入力データを示す変数を入力します。

Base 64

ドロップダウンリストからBase64を使用するか否かを選択します:

  • No

  • Yes

出力タイプ

ドロップダウンリストから暗号化された出力を受け取る出力タイプを選択します。

  • ファイル

  • BLOB

出力ファイル名

をクリックして暗号化された出力ファイルのパスと名前を選択します。

エラーコード

Directory Scannerのエラーコード

をクリックして変数リストを開きます。エラーコードが戻される変数を選択します。

Decrypt

メソッドは、ソースデータを復号化します。

復号メソッド

コンポーネントの復号化に使用する暗号メソッド

モード

コンポーネントの復号化に使用する暗号モード。このモードは、選択済みの暗号メソッドによってサポートされていなければなりません。

キー

キー変数を選択します:

  • フロー変数とテキストの組み合わせ

  • フロー変数のみ

  • テキストのみ

入力

入力データを示す変数を入力します。

Base 64

ドロップダウンリストからBase64を使用するか否かを選択します:

  • No

  • Yes

出力タイプ

ドロップダウンリストから復号化された出力を受け取る出力タイプを選択します。

  • ファイル

  • BLOB

出力ファイル名

をクリックして復号化された出力ファイルのパスと名前を選択します。

エラーコード

Directory Scannerのエラーコード

をクリックして変数リストを開きます。エラーコードが戻される変数を選択します。

関連トピック：

暗号化 – サポートする暗号化メソッドとモード

ダイレクトアクセスメソッドの使用方法


暗号化 – サポートする暗号化メソッドとモード

暗号化コンポーネントは、以下の暗号タイプをサポートしています。

暗号化メソッド | メソッド コード | サポートされるモード | キー長
BLOWFISH | 1 | ECB, CBC, CFB, OFB | Min: 1 Max: 56 Rec:16
CAST | 2 | ECB, CBC, CFB, OFB | Min: 5 Max: 16 Rec:8
RC2 | 5 | ECB, CBC, CFB, OFB | Min: 5 Max: 16 Rec:8
RC5 | 7 | ECB, CBC, CFB, OFB | Min: 1 Max: 255Rec:16
RC4 | 6 | サポートされていない | Min: 1 Max: NR Rec:16

キー長キー

Min = 最小; Max = 最大; Rec = 推奨値; NR =無制限

次の表に記載されたメソッドのキー長は、絶対値として指定できます。有効なキー長は、［キー長］カラムのいずれかに指定された値です。それらのカラム間の値ではありません。

キー長の数： サポートできるキー長の数を指定します。

サポートするキー長： サポートできるキー長を指定します。

暗号化メソッド | メソッド コード | キー長の数 | サポートするキー長 | 推奨キー長 | サポートされるモード
DES | 3 | 1 | 8 | 8 | ECB, CBC, CFB, OFB
DES3 | 8 | 2 | 16 or 24 | 24 | ECB3, CBC3

次の表中のメソッドは、非対称の暗号化メソッドをサポートしています。

暗号化メソッド | メソッド コード | キー長
RSA | 9 | Min: 48 Max: 2048 Rec:128

(CBCを含む)ブロック暗号文は、完全なブロック文に対して動作します。最後のブロックが不完全な場合、NULLが埋め込まれます。従って、複合後に、埋め込み文字を削除する必要があります。代わりに、CFBまたはOFBストリーム暗号を使用してください。


暗号化 – エラー処理

Magic xpiサーバのフローマネージャーは、ステップの実行中にエラーを監視します。暗号化コンポーネントのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

暗号化コンポーネントのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも暗号化コンポーネントで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
750 | 処理エラーの戻りコード

関連トピック：

Magic xpiのエラー処理


Exchange

Exchangeコネクタは、MicrosoftR Exchange2007サーバ(それ以上)を使用して動作します。

Exchangeコネクタを使用するためには、以下が必要です。

  • Exchangeアカウント

  • 有効なユーザ名

  • 有効なパスワード

Exchangeコネクタは、IISのEWSアプリケーションを使用して通信します。従って、EWSアプリケーションがIISで有効になっていることを確認してください。

さらに、ExchangeサーバがインストールされたPCに、サービスURLでアクセス可能であることを確認してください。以下のURLフォーマットを使用して、これをチェックすることができます。

https：//<サーバ名またはIPアドレス>/EWS/exchange.asmx

このURLは、Services.wsdl ページを開きます。しかし、これに先がけて、サーバの設定や最初のログインによって、ユーザ名とパスワードを入力するウィンドウが開くかもしれません。Services.wsdlページがアクセス可能になったら、Exchangeコネクタを使用することができます。

関連トピック：

Exchange - 設定

Exchange - エラー処理

Exchangeコネクタを使用する時、任意のタイムゾーンで会議を設定するには


Exchange - 設定

Magic xpi の Exchange コネクタは、Magic xpiプロジェクトがMicrosoft Exchangeサーバのメール、コンタクト、カレンダおよびタスクエンティティにアクセスするを可能にします。

Exchange コネクタをフローに配置すると、Magic xpiは自動的にそのコンポーネントの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、コンポーネントの［設定］ダイアログボックスを開きます。

［プロパティ］ペインのプロパティは、構成処理の間に定義される活性化BLOBの一部になります。

Exchange コネクタを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初にExchange リソースを定義する必要があります。

Exchangeコネクタは、以下のインタフェースをサポートします。

  • メソッド

  • XML

また、このコンポーネントはトリガエリアに配置することで、トリガとして使用することができます。


Exchange - メソッド

［インタフェース］プロパティで メソッド を選択した後、コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、コンポーネントの［ダイレクトアクセスメソッド］ダイアログボックスを開きます。

Exchangeコネクタを設定するために、以下のメソッドを使用してください。

  • Get Folders List

以下の表は、メソッドで使用することがきるパラメータの一覧です。太字は、必須パラメータです。

メソッド | パラメータ | 説明
Get Folders List: Exchange サーバからフォルダのリストを取得します。 | フォルダリスト XML | Exchange サーバから取得されるフォルダリストを保持する変数。取得されたXMLは、以下のスキーマに対応しています: Runtime\ifclib\exchange\xsd\FoldersList.xsd をクリックすると変数リストが開きます。必要な変数を選択して、［選択］をクリックしてください。
 | エラーコード | Directory Scannerのエラーコード をクリックして変数リストを開きます。エラーコードが戻される変数を選択し、［選択］をクリックします。

関連トピック：

ダイレクトアクセスメソッドの使い方


Exchange - XML

Exchange コネクタは、Magic xpiのXMLインタフェースを使用して動作するように設計されています。

Exchange コネクタをフロー内にドラッグすると、[プロパティ]ペインが開きます。［インタフェース］プロパティで XML を選択した後、コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、コンポーネントの［設定］ダイアログボックスを開きます。

このダイアログボックスには、以下のフィールドが含まれています。

プロパティ

説明

接続

リソース名

コンポーネントの［プロパティ］ペインで選択したリソースの名前。リソースは、［設定］ダイアログボックスの［リソース］セクションで定義されます。

オペレーション

エンティティ

オペレーションが実行されるエンティティ。ドロップダウンリストから、以下のエンティティのどれかを選択してください。

  • Mail (デフォルト)

  • Contacts

  • Calendar

  • Task

オペレーション

［エンティティ］フィールドで選択されたエンティティに基づいて、様々なオペレーションが利用できます。

ドロップダウンリストから以下の処理のうちどれかを選択します。

  • 検索 …… エンティティからデータを検索する場合に使用されます。指定された条件に基づいたエンティティを取得するためにデータマッパーを使用することができます。有効なすべてのコンタクト情報を取得したい場合は、マッピングを指定する必要はありません。

照会処理を実行する場合、以下の比較オペランドを使用することができます。

=, !=, <>, >, >=, <, <=, Between, LIKE

  • IDで取得 …… ItemIdによってメールメッセージを取得する場合に使用されます。

  • 送信 …… メールメッセージを送信する場合に使用されます。メッセージは、送信アイテムフォルダに移動します。［エンティティ］フィールドでMailを選択した場合、この処理が有効になります。

  • 追加 …… 新しいコンタクトを組織データに追加する場合に使用されます。新しい［エンティティ］フィールドの値を指定するためにデータマッパーを使用することができます。［エンティティ］フィールドで Mail 以外を選択した場合、この処理が有効になります。.

  • 更新 …… 組織データ内の指定したエンティティを更新するために使用されます。エンティティを更新する際、ItemIdを知る必要があります。例えば、ItemIdを取得するために照会オペレーションを使用し、さらに更新オペレーションを呼び出すことができます。更新したい他のフィールドと同じように、ItemIdを設定するためにデータマッパーを使用する必要があります。メールエンティティと連携してこのこのオペレーションを使用することができます。例えば、IsRead要素の値をTrueに更新することで、Eメールを既読にマークすることができます。

  • 削除 …… メールメッセージを削除するために使用されます。メッセージは、削除アイテムフォルダに移動します。

以下のオペレーションで動作する場合、カレンダエンティティは拡張されたプロパティ 名前と値の組み合わせサポートします。

  • 照会 …… 名前と値の組み合わせを指定します。

  • 追加 …… 名前と値の組み合わせを新しいカレンダ項目に追加します。

  • 更新 …… 名前と値の組み合わせを既存のカレンダ項目に追加するか、既存のカレンダ項目の名前と値の組み合わせの値を更新します。新しい値によって古い値は上書きされます。名前は更新されません。以下を指定する必要があります。

    • 更新したいカレンダ項目のID。

    • 新しい名前と値の組み合わせ

  • 削除 …… 拡張された 名前と値の組み合わせによって、カレンダ項目を削除します。カレンダ項目のIDと名前と値の組み合わせが与えられると、カレンダ項目IDだけが使用されます。

拡張された 名前と値の組み合わせの内容は、Microsoft® Exchange ユーザインタフェースで参照することができません。その代わりに、内容は照会オペレーションの応答で表示されます。

偽装

Exchange サーバのホストをとなるPCのアカウントは、別のアカウントと関係した権利を使用して、アクションを実行することができます。偽装アカウントは、次に、メインのアカウントと同じ機能を持つことができます。

をクリックして式エディタを開き、偽装したいユーザアカウントの電子メールアドレスを入力してください。

フォルダ

どのメールフォルダを使用するかを定義します。 をにクリックするとフォルダリストが開き、必要なフォルダを選択できます。デフォルトは、Inboxです。

［エンティティ］でMailを選択し、［オペレーション］で検索を選択した場合、この処理が有効になります。

ボディを含める

電子メールの本文を含めるかどうかを指定します。デフォルトは、チェックされています。

［エンティティ］でMailを選択し、［オペレーション］でIDで取得を選択した場合、この処理が有効になります。

フォーマット

電子メールの本文のフォーマットを定義します。ドロップダウンリストから以下のどれかを選択してください。

  • ベスト (デフォルト): 自動的に、最も適当なEメールのボディとしてテキストまたはHTMLのどちらかを選択します。

  • テキスト

  • HTML

［エンティティ］でMailを選択し、［オペレーション］でIDで取得または照会を選択した場合、この処理が有効になります。さらに、［内容を含める］フィールドがチェックされている場合だけ関係します。

添付ファイルのダウンロード

電子メールの添付ファイルをダウンロードするかどかを指定します。デフォルトは、未チェックです。

このオプションをチェックした場合、添付ファイルは以下のフォルダにダウンロードされます。

%currentprojectdir%exchange\<リソース名>\Attachments\

ダウンロードのタイムスタンプが添付ファイル名の前に付加されます。

最大戻数

照会オペレーションによって取得されたメールのメッセージ数の上限を定義します。デフォルトは無制限です。

取得されたメールのメッセージ数を制限したい場合、上限値を入力してください。 をクリックして式エディタを開いて入力することもできます。

［エンティティ］でMailを選択し、［オペレーション］で検索を選択した場合、このフィールドが有効になります。

更新を送信

変更内容を受け取り側で更新するかどうかを指定します。ドロップダウンリストから以下のどれかを選択してください：

  • すべての出席者に更新を送信する

  • 更新を送信しない (デフォルト)

［エンティティ］でCalendarを選択し、［オペレーション］で追加、更新、削除が選択された場合のみ、このフィールドが有効になります。

恒久削除

復旧できない方法でサーバから項目を削除することができます。デフォルトはチェックが外されています。

［エンティティ］でCalendarまたはTaskを選択し、［オペレーション］で削除が選択された場合のみ、このフィールドが有効です。

結果オプション

結果保存

結果として作成されるXMLファイルを何処に保存するかを定義します。ドロップダウンリストから以下のどれかを選択してください:

  • 変数（デフォルト） …… Exchange サーバによって返されるエンティティデータを保持するために、変数を選択します。 をクリックして変数リストを開きます。この情報が保存される変数を選択します。デフォルトはC.UserBlobです。

  • ファイル …… Exchange サーバによって戻されるエンティティデータを保持するファイルを選択します。 をクリックして式エディタを開くか、 [image] をクリックしてこの情報を保存するファイル名をフルパスで指定します。

  • 分割ファイル …… 大きなXMLファイルを、より小さなXMLに分割します。このオプションを選択した場合、このダイアログボックスの［分割ファイルオプション］セクションに必要な情報を入力する必要があります。

オペレーションの成功

このフィールドは、データエンティティがExchange サーバに正しく配置されたかどうかを簡単に定義できます。ドロップダウンリストから以下のどれかを選択してください。

  • None（デフォルト）…… コネクタの成否のステータスを保存しない場合は、このオプションを選択します。

  • Variable …… をクリックして、変数リストを開きます。コネクタの成否のステータスを保存する変数を選択します。

分割ファイルオプション

ディレクトリ

分割したファイルを保持するディレクトリ。 をクリックして式エディタを開き、ディレクトリ名を入力します。

接頭辞

分割ファイルの接頭辞。 をクリックして式エディタを開き、接頭辞を入力します。

ファイル毎のレコード

各分割ファイルのレコード数。 をクリックして式エディタを開き、必要なレコード数を入力します。

分割数

分割数が返る数値変数。 をクリックして変数リストを開き、必要な項目を選択します。


Exchange - トリガ設定

Exchange コネクタは、Microsoft Exchange サーバで変更されたエンティティの結果としてのフローが起動する場合に使用することができます。Magic xpi スタジオのトリガ領域にExchange コネクタをドラッグすると、[プロパティ]ペインが開きます。そして、コネクタをダブルクリックするか、右クリックし、コンテキストメニューから［設定］を選択すると ［Exchange トリガ設定］ダイアログボックスが開きます。

このダイアログボックスには、以下のフィールドが含まれています。

名前

説明

接続

リソース名

この表示専用フィールドは、［設定］ダイアログボックスの［サービス］セクションの中のトリガのために選択されたExchangeのリソース名を表示します。

ポーリング間隔

をクリックすると、［ポーリング間隔］ダイアログボックスが開きます。コネクタが組織データの変更をチェックする頻度を入力してください。分と時間と日の組合せを選択することができます。

ここで設定した値（例、3分)は、Microsoft Exchange APIによって実際に呼び出しを行う回数を指定します。このメカニズムは、以下のように動作します。

  • トリガは、GetEvents()というExchange のメソッドを呼び出します。

  • これらのメソッドへの各呼び出しは、引き起こされるエンティティのIDリストを返します。

  • Magic xpiがIDのリストを取得すると、Exchange のステップ内で GetById()メソッドを使用して、Exchange の項目の詳細を取得できます。

同期

イベント（例、コンタクトの削除)が実行される度に、同期モードでMagic xpiフローを呼び出す場合は、このチェックボックスを選択してください。これは、次のフローは前に呼び出されたフローが完全に実行された後にだけ呼び出すことができることを意味します。

デフォルトはチェックが外されています。

キープアライブ間隔

自動的に再起動される前にトリガの応答がない場合の時間を分数で指定します。デフォルト値は0で、これはトリガの応答を永久に待ち続けることを意味します。

  • このパラメータ値の選択は、慎重に行ってください。値が少な過ぎると、有効なオペレーションが終了する前に、トリガは終了するかもしれません。

  • ［同期］のチェックボックス（上記)を選択すると、トリガとフローは同じスレッドで動作します。これは、応答がないためにトリガが終了されると、フローも同じように終了することを意味します。したがって、［キープアライブ間隔］を設定する場合、実行するフローの処理時間を考慮する必要があります。
    例えば、トリガの無応答時間が3分で、フローの実行時間が最高2分の場合、［キープアライブ間隔］は、5以上に値する必要があります。

Row ラベル

起動される行を定義するために、ラベルを入力してください。［Row ラベル保存］（下記）でマッピングされた変数は、フローが呼び出されるラベル値を保持します。

エンティティ

オペレーションが実行されるエンティティ。ドロップダウンリストから以下のエンティティを選択してください：

  • メール

  • コンタクト

  • カレンダ

  • タスク

メールを選択した場合、 [image] をクリックするとトリガのフォルダリストが開きます。使用するメールフォルダを1つ以上選択します。選択されたメールフォルダは、ダイアログボックスの詳細エリアの下に表示されます。

オペレーション

どの処理がExchange の項目上で起動するかを定義します。ドロップダウンリストから以下の処理を選択します。

  • 追加 (デフォルト)

  • 更新

  • 削除

  • 移動

  • コピー

  • 新規メール

コンタクトエンティティが作成されるとき、更新オペレーションが起動されます。

結果保存オプション

XML 結果保存

この変数は、トリガのポーリング結果を保存するために使用されます。

をクリックすると変数リストが開きます。［選択］をクリックすることで必要なBLOB文字変数を選択できます。デフォルトは、C.UserBLOBです。

Row ラベル保存

この変数は、トリガのRowラベルを保存するために使用されます。

をクリックすると変数リストが開きます。［選択］をクリックすることで必要な文字変数を選択できます。

Row ユニークID保存

この変数は、トリガを呼び出すRowラベルの名前を保存するために使用されます。

をクリックすると変数リストが開きます。［選択］をクリックすることで必要な文字変数を選択できます。デフォルトは、C.UserStringです。

［Exchangeトリガ構成］ダイアログボックスには、以下のボタンがあります。

ボタン | 説明
新規 | トリガテーブルに新しい行を作成します。
削除 | トリガテーブルで選択された行を削除します。
フォルダ | このボタンはExchangeサーバからメールフォルダリストを取得します。後でExchangeコンポーネントを使用したい場合、このボタンをクリックしてください。フォルダリストが取り出せたら、Exchangeサーバとの接続が有効であることを意味しています。

コネクタの設定が終了したら、［O］Kをクリックすると定義内容が保存され、［Exchangeトリガ構成］ダイアログボックスが閉じます。

［キャンセル］をクリックすると、定義内容は保存されずにダイアログボックスが閉じます。

［コンポーネントプロパティ］ダイアログボックスで［OK］ボタンをクリックすると、ダイアログボックスが閉じて、設定内容が保存されます。


フォルダリスト

Exchangeコネクタを使用している場合のみ、フォルダリストは関連します。これは、どのEメールフォルダを使用するかを選択することができます。

  • 必要なを選択し、［選択］をクリックしてください。

  • 何も選択しないでフォルダリストを閉じるには、［キャンセル］をクリックしてください。

  • Exchangeサーバから現在のフォルダリストを取得する場合は、［リロード］をクリックしてください。


フォルダリスト（トリガ）

Exchange コンポーネントをトリガとして使用する場合のみ、フォルダリストが関連します。ここでは、使用するメールフォルダを選択することができます。

  • 必要なフォルダを選択し、［OK］をクリックします。複数のフォルダを選択できます。

  • 選択しないで終了する場合は、［キャンセル］をクリックしてください。

  • ［全てクリア］をクリックすると選択内容が全てキャンセルされます。


ポーリング間隔

ポーリング間隔は、Exchange、Salesforce、ServiceMax,またはSugarコネクタを使用する場合のみ関連します。ここでは、コネクタが組織データの変更をチェックする頻度として日数、時、分の組み合わせ指定することができます。

  • 頻度を入力し、［OK］をクリックしてください。

  • ［キャンセル］をクリックすると入力内容は保存されません。

  • ［リセット］をクリックすると間隔の内容がリセットされます。


Exchange - エラー処理

Magic xpiサーバは、ステップの実行中にエラーを監視します。Exchangeコネクタのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

Exchangeコネクタのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーもExchangeコネクタで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
1150 | Exchange 呼び出しエラー：<エラー内容>

関連トピック：

Magic xpiのエラー処理


ファイル圧縮

Home > コンポーネント シリーズ > ファイルアーカイブ

ファイルアーカイブ

ファイルアーカイブコンポーネントは、共有フォルダにある様々な種類の複数（一つでも可）のファイルをアーカイブ（圧縮）したり解凍したりする場合に使用されます。

ワイルドカードを使用してファイルグループを指定することができます。

たとえば、複数のファイルをアーカイブ、または解凍する場合、c:\temp\*.bmpというパスを入力します。

ファイルアーカイブコンポーネントは、標準のZIP圧縮を使用します。

このコンポーネントは、4Gバイトを越えるファイルをサポートしていません。

関連トピック：

ファイルアーカイブ – 設定

ファイルアーカイブ – エラーコード


ファイルアーカイブ - 設定

Home > コンポーネント シリーズ > ファイルアーカイブ > ファイルアーカイブ - 設定

ファイルアーカイブ - 構成

ファイルアーカイブコンポーネントは､ファイルとフォルダを圧縮および解凍します。

ファイルアーカイブコンポーネントをフローに配置すると、Magic xpiは自動的にそのコンポーネントの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、コンポーネントの［ダイレクトアクセスメソッド］ダイアログボックスを開きます。

フローでステップとしてのコンポーネントを使用する場合、以下のインタフェースから選択することができます。

  • メソッド

  • XML


ファイルアーカイブ - メソッド

以下のメソッドを使用しファイルアーカイブコンポーネントを構成します。

  • Archive

  • Extract

次の表では、使用できるメソッドおよびパラメータを一覧にしています。太字表示のパラメータは必須です。

メソッド

パラメータ

説明

Archive

メソッドは選択されたファイルを圧縮します。

アーカイブするファイル

圧縮するファイルの名前。ワイルドカード（「*」や「?」など）を入力すると、ファイルのグループを指定することができます。たとえば、「Stop」で始まるファイルのグループがある場合、「Stop*」と入力すると、「Stop」で始まるすべてのファイルが圧縮されます。

ワイルドカード (*.* や *.txt など) 記号がソースファイル名として使用され、複数のファイルがルートディレクトリにあった場合、archive.zipと呼ばれるZipファイルを作成します。

c:\temp\*.* のように複数のファイルが一つのディレクトリまたはフォルダにある場合、圧縮されたファイルの名前はディレクトリ名を含むものになります(例えば、temp.zip)。

アーカイブファイル名

圧縮ファイルの名前とパスを指定します。

指定したディレクトリ内のファイルと同じ名前で、フォルダまたはディレクトリの中にファイルを圧縮すると、オリジナルファイルが上書きされます。例えば、a.zipとしてa.txtを圧縮し、それから同じフォルダの中のa.zipとしてb.txtを圧縮すると、新しいファイルはオリジナルファイルを上書きします。

暗号パスワード

圧縮ファイルを暗号化する際に使用するパスワードを設定します。パスワードの最大長は30文字です。

この欄が空の場合は、圧縮ファイルはパスワードで保護されません。

ファイルを展開する時に同じパスワードが必要になります。

Unicode文字（複数言語/特殊文字）に関するパスワード処理のメカニズムは圧縮ツールによって一貫していない可能性があります。そのため、ツール間で異なる結果を及ぼすことがあります。このような圧縮と展開が外部ツール間でスムーズに行われるためには、パスワードに英語以外の文字や特殊文字を使用しないことをお勧めします。

WinRARは、これらの特殊なケースで問題なく機能することがわかっています。それでもご自分で十分にテストを実行した上でご使用になることをお勧めします。

Since version: 4.13.4

ファイルをBLOBとして返す

BLOBとしてファイルを返すかを指定するため、ドロップダウンリストからYesまたはNoを選択します。

エラーコード

エラーが発生するとこのパラメータには対応するエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Extract

メソッドは指定したファイルを展開します。

抽出送り元ファイル

展開するファイルの名前を入力します。

抽出場所

ファイルの展開先のフォルダ名を入力します。

暗号パスワード

圧縮ファイルを展開する際に使用するパスワードを設定します。圧縮ファイルをパスワードで保護しない場合は、この欄を空にする必要があります。

Since version: 4.13.4

エラーコード

エラーが発生するとこのパラメータには対応するエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

関連トピック：

ダイレクトアクセスメソッドの使い方


ファイルアーカイブ – エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。ファイルアーカイブコンポーネントのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

ファイルアーカイブコンポーネントのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーもファイルアーカイブコンポーネントで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
601 | 汎用エラー
602 | メモリアロケーションエラー
603 | 不適切なファイル
604 | システムエラー
605 | デバイスから読み取れない
606 | デバイスに書き出せない
607 | Javaの例外エラー

関連トピック：

Magic xpiのエラー処理


ファイル管理

ファイル管理コンポーネントによって、様々なファイルの処理を実行することができます。ファイル管理コンポーネントは、コピーやリネーム、削除、読込、書込、追加、作成などのOSのファイル処理を行うことができます。ファイル管理コンポーネントは、ファイルにリダイレクトされるコマンドラインの結果やBLOBとして返される結果を扱うこともできます。

ファイル管理コンポーネントを構成する場合は、変更したいファイルの情報、ファイル場所、および実行したい処理を入力します。

関連トピック：

ファイル管理 - 設定

ファイル管理 - エラーコード

ファイル管理トラブルシューティング


ファイル管理 - 設定

ファイル管理コンポーネントによってファイル上でさまざまな処理を実行することができます。これらの処理には、ファイル名の変更やファイルの移動、追加、削除があります。

ファイル管理コンポーネントをフローに配置すると、Magic xpiは自動的にそのコンポーネントの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、コンポーネントの［ダイレクトアクセスメソッド］ダイアログボックスを開きます。

フローでステップとしてのコンポーネントを使用する場合、以下のインタフェースから選択することができます。

  • メソッド

  • XML


ファイル管理 - メソッド

以下のメソッドを使用してファイル管理コンポーネントを構成します。

  • Append BLOB to File

  • Command Line

  • Copy File

  • Copy Folder

  • Create File

  • Create Folder

  • Delete File

  • Delete Folder

  • Log File

  • Read File

  • Read Folder

  • Rename File

  • Rename Folder

  • Write File

次の表では、使用できるメソッドおよびパラメータを一覧にしています。太字表示のパラメータは必須です。

メソッド

パラメタ

説明

Append BLOB to File

対象ファイルがない場合は、データを新規ファイルに書き込みます。また任意のBLOBまたは文字列を既存のファイルの終わりに追加します。

対象ファイル名

添付されるファイルの名前とフルパスを入力します。

エンコーディング

ファイルに書き込むデータのエンコーディングを入力します。デフォルト値はKeep Existingです。

サポートされているエンコーディング値は、Keep Existing、UTF-8 with BOM、UTF-8、Unicode、Ansi、Binary、Customです。

実行時変換はデータBLOBに対して行われます。（参照： 変換テーブル）

Since version: 4.7

コードページ

使用したいコードページの値を入力します。[エンコーディング］パラメータでCustomオプションが選択されている場合は、コードページを選択する必要があります。

デフォルトのコードページは、ibm-930_P120-1999です。

参考：サポートされるコードページ一覧

Since version: 4.9

データ

ファイルに添付されるデータを入力します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Command Line

コマンドの実行可能ファイルをスキャンします。

実行ファイル名

実行するコマンドのフルパスおよび名前を入力します。

del *.*のような一部のコマンドはユーザ入力が必要です。しかし、Magic xpiサーバはバックグラウンドモードで動作するため、コマンドラインでのユーザ入力ができません。このため、ユーザ入力が必要なコマンドを使用する場合は、コマンドを消音モード(Windowsでは /Q)で実行する必要があります。

消音モードの場合、Magic xpiはコマンドのデフォルト形式を利用することことを前提とします。例えばDeleteコマンドを使用した場合、ユーザは削除の確認（Y/N）を求められます。消音モードではMagic xpiはコマンドのデフォルト形式、つまりYの入力を仮定してファイルを削除します。

Deleteコマンドを消音モードで実行するには以下のように入力します。

del /Q *.*

IBM iの場合、このメソッドはサポートされません。IBM i コネクタのRunコマンドメソッドを使用してください。

コマンドラインパラメータ

コマンドのパラメータのリストを入力します。

タイムアウト

コンポーネントが次のステップに進む前にコマンドを実行するまでの待機時間（秒単位）を入力します。

ログファイル場所

コマンドに対するログファイルのフルパスおよび名前を入力します。

戻り値

をクリックして変数リストを開きます。バッチファイルの実行から返される変数の戻り値コードを選択し、［選択］をクリックします。

この機能は、Windowsベースのプラットフォームでのみ有効で、［タイムアウト］パラメータは0に設定されています。

制限事項

  • 別のバッチファイルからバッチファイルを呼び出すときは、呼び出すバッチファイルを絶対パスで指定するか、<XPI_INST>/Runtimeフォルダに保存する必要があります。

  • バッチファイルまたはスクリプトファイルが存在しない場合、ファイル管理コンポーネントのコマンドラインメソッドは、実際の値ではなくエラーコード1を返します。

Since version: 4.9

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Copy File

選択したコピー先にファイルをコピーします。

ファイル名From

コピーするファイルのフルパスおよび名前を入力します。

ファイル名To

コピー先にファイルのフルパスおよび名前を入力します。

コピー先に同じファイルがある場合、ファイルは上書きされます。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Copy Folder

コピー元フォルダの中身を全てコピー先フォルダにコピーします。

送り元フォルダ

ファイルコピー元のフォルダ

送り先フォルダ

ファイルコピー先のフォルダ。このフォルダが存在しない場合、作成されます。

サブフォルダもコピー

サブフォルダもコピーする場合は、Yesを選択します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Create File

データを新規ファイルに書き込みます。

対象ファイル名

作成するファイルのフルパスおよび名前を入力します。

ファイル名は、半角の英数字かOSの対応言語に基づく文字で指定してください。

エンコーディング

ファイルに書き込むデータのエンコーディングを入力します。デフォルト値はKeep Existingです。

サポートされているエンコーディング値は、Keep Existing、UTF-8 with BOM、UTF-8、Unicode、Ansi、Binary、Customです。

実行時変換はデータBLOBに対して行われます。（参照： 変換テーブル）

Since version: 4.7

コードページ

使用したいコードページの値を入力します。[エンコーディング］パラメータでCustomオプションが選択されている場合は、コードページを選択する必要があります。

デフォルトのコードページは、ibm-930_P120-1999です。

参考：サポートされるコードページ一覧

Since version: 4.9

データ

作成するファイルに含まれるデータ

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

対象ファイルが存在する場合は、エラーが送られます。

Create Folder

新しいフォルダを作成します。

フォルダ名

作成するフォルダの名前を入力します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Delete File

指定したファイルを削除します。

ファイル名

削除するファイルの名前を入力します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Delete Folder

フォルダとその中身を削除します。

フォルダ名

削除するフォルダの名前を入力します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Log File

ログデータ文字列の内容でUTF-8形式でログファイルの生成、編集を行ないます。

ログファイル名

作成されるログファイルのフルパスとファイル名を入力します。

ログデータ文字列

ログデータ文字列に送られるデータ。この情報はログファイルの作成と編集に使用されます。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Read File

選択されたファイルのデータを読み込みます。

ファイル名From

読み込まれるファイルのフルパスおよび名前を入力します。

データ

読み込まれるファイルの内容を格納するデータBLOB

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Read Folder

フォルダの中身を読み込み、ファイル名を含むファイルを返します。ファイル名ごとに一行のファイルになります。フォルダ名は頭に\がつきます。例：\TEMP

フォルダ名

読み込むフォルダの名前を入力します。

サブフォルダを含める

サブフォルダも読み込ませたい場合、Yesを選択します。

フォルダリスト

このBLOBは指定されたフォルダのファイルを格納します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Rename File

指定したファイルの名前を変更します。

ファイル名From

移動または名前を変更するファイルのフルパスおよび名前を入力します。

ファイル名To

名前変更するファイルのフルパスおよび名前を入力します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

対象ファイルが存在する場合は、エラーが送られます。

Rename Folder

特定のフォルダをリネームします。

フォルダ名From

名前を変更するフォルダの名前を入力します。

フォルダ名To

変更するフォルダの名前。既に存在するフォルダの名前は使用できません。新しいドライブやパスを含めることはできません。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Write File

指定したファイルに書き込みを行います。

対象ファイル名

書き出されるデータを取得するファイルのフルパスおよび名前

エンコーディング

ファイルに書き込むデータのエンコーディングを入力します。デフォルト値はKeep Existingです。

サポートされているエンコーディング値は、Keep Existing、UTF-8 with BOM、UTF-8、Unicode、Ansi、Binary、Customです。

実行時変換はデータBLOBに対して行われます。（参照： 変換テーブル）

Since version: 4.7

Unicode文字列をANSIに変換すると文字が失われることがあるため、デフォルトエンコーディングはUnicodeに変更されました。

デフォルトエンコーディングをANSIに戻したい場合は、magic.iniファイルの [MAGIC_SPECIALS] にパラメータ SpecialUnicodeDefaultExpressionArgument を追加し、その値をNに設定してください。

コードページ

使用したいコードページの値を入力します。[エンコーディング］パラメータでCustomオプションが選択されている場合は、コードページを選択する必要があります。

デフォルトのコードページは、ibm-930_P120-1999です。

参考：サポートされるコードページ一覧

Since version: 4.9

データ

ファイルに書き込まれるデータを入力します。

ファイルが存在しない場合、新しいファイルが作成されます。ファイルが存在した場合、上書きされます。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

関連トピック：

ダイレクトアクセスメソッドの使い方


変換テーブル

実行時の変換は、次の表に従ってData Blobに対して行われます。

ファイルエンコーディング | Blobエンコーディング
 | Ansi | Unicode | UTF-8 | バイナリ | Custom
既存のまま | そのまま | そのまま | そのまま | そのまま | そのまま
UTF8 | UTF8に変換 | UTF8に変換する | そのまま | そのまま | UTF8に変換する
Unicode | Unicodeに変換 | そのまま | Unicodeに変換 | そのまま | Unicodeに変換
Ansi | そのまま | Ansiに変換 | Ansiに変換 | そのまま | Ansiに変換
バイナリ | そのまま | そのまま | そのまま | そのまま | そのまま
Custom(Since version: 4.9) | Customに変換 | Customに変換 | Customに変換 | そのまま | そのまま


サポートされるコードページ一覧

Magic xpi は、次のコードパージをサポートします。

コードページ(ICU) | 内容
ibm-37_P100-1995 | USA/カナダ
ibm-273_P100-1995 | ドイツ/オーストリア
ibm-284_P100-1995 | スペイン/ラテンアメリカ
ibm-285_P100-1995 | 英国
ibm-297_P100-1995 | フランス
ibm-424_P100-1995 | ヘブライ
ibm-870_P100-1995 | Latin 2
ibm-930_P120-1999 | 日本 MIX (290 + 300)
ibm-939_P120-1999 | 日本 MIX (1027 +300)
ibm-1140_P100-1997 | USA/カナダ (37 + euro)
ibm-1141_P100-1997 | ドイツ/オーストリア (273 + euro)
ibm-1145_P100-1997 | スペイン/ラテンアメリカ (284 + euro)
ibm-1146_P100-1997 | 英国 (285 + euro)
ibm-1147_P100-1997 | フランス (297 + euro)
ibm-1047_P100-1995 | Latin 1
ibm-1390_P110-2003 | 日本 MIX (290 + 300 + euro)
ibm-1399_P110-2003 | 日本 MIX (1027 +300 + euro)


ファイル管理 - エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。ファイル管理コンポーネントのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

ファイル管理コンポーネントのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーもファイル管理コンポーネントで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | エラーの説明
200 | フォルダが存在しません。
201 | ディレクトリを削除できません。
202 | ファイルが見つかりません。
203 | ファイルがコピーできません。
204 | ファイル名を変更できません。
205 | ファイルを削除できません。
206 | ファイルへの書込み失敗。
207 | コマンドラインの実行に失敗しました。 詳細は、ここをクリックしてください。
210 | ファイルを作成できません。
211 | コマンド ラインのタイムアウト
212 | 不正な送り先または送り先です。
213 | 必要なパラメータ値がありません。
214 | フォルダが既に存在します。
215 | Java 例外
216 | オペレーション失敗

関連トピック：

Magic xpiのエラー処理


File Watcher

File Watcherコンポーネントは、システムまたはネットワークやFTPディレクトリの物理ストレージをチェックして、新しいファイルが作成されることを確認します。 ファイルが一つ検索されるとステップは完了します。 コンポーネントによってスキャンされたファイルに対して特定のアクションを実行することもできます。 このようにして、コンポーネントは新しいファイルが作成されたことを感知して即時に応答することが可能です。

このコンポーネントで下記のアクションを実行することができます。:

  • Move

  • Delete

  • Rename

また、以下の動作が可能です。:

  • 特定のフォルダおよびサブフォルダから1ファイルを検索します。

  • ファイルグループまたは特定のファイルを監視対象から除外できます。

このコンポーネントには以下の2つのモードで使用します。モードはコンポーネントをドラッグする場所によって変わります。 例えばコンポーネントをトリガー領域にドラッグするとコンポーネントはトリガーとして構成されます。

File Watcherを使用すると、処理するファイルのリストが作成されます。 トリガーとして使用する場合、リストは1回作成されます。 ステップとして使用する場合は、ステップが実行される度にリストが作成されます。

フォルダに10,000を超えるファイルがある場合、リストの作成には時間がかかります。 そのような場合はファイルウォッチャーをトリガーとして使用することをお勧めします。

モード

説明

トリガー

コンポーネントはサーバーによってアクティブになり、アクティブ化したサーバーが実行されている限り、フォルダで新しいファイルを監視し続けます。

File Watcherコンポーネントをトリガーとして使用すると、複数のフォルダをスキャンできます。

デプロイ

デプロイ時にコンポーネントは設定したパラメーターに従ってフォルダをスキャンします。 ファイルを移動する場合（FTP to LANメソッド、LAN to LANメソッド）、コンポーネントによって最初に検出されたファイルは、ユーザーBLOBまたは選択された変数を介して設定したフォルダに返されます。 ファイル名はユーザー文字列または選択した変数を介して返されます。 ファイルが返されるフォルダを参照してファイルを表示します。

ファイルの名前を変更すると（FTP Rename メソッド、LAN Renameメソッド）、ファイルの名前はそのファイルが存在するフォルダで変更されます。 ファイルを削除すると（FTP to Deleteメソッド、LAN to Deleteメソッド）、ファイルは削除されます。

関連トピックス

File Watcher – 設定

File Watcher - エラーハンドリング

(Since version: 4.13.2)


File Watcher – 設定

File Watcherコンポーネントを使用するとローカルまたはリモートのフォルダ、あるいはFTPフォルダにある1つまたは複数のフォルダを監視して、それらのファイルを移動/削除/名前変更できます。

File Watcherをフローに配置すると、Magic xpiはコンポーネントの[ プロパティ ]ペインを自動的に開きます。 プロパティペインに必要な情報を入力します。 次に、コンポーネントをダブルクリックまたは右クリックし、コンテキストメニューから[設定]を選択して、コンポーネントの[設定]ダイアログボックスを開きます。

  • Magic xpiは現在Unicodeファイル名をサポートしていません。 これは、Magic xpiが、マシンの言語とは異なる言語のファイル名、またはファイル名に言語の組み合わせがある場合、それらのファイル名をサポートしないことを意味します。

  • このコンポーネントはファイル名とフォルダ名に対してNEC選定文字、IBM選定文字をサポートしません。

表示される[設定]ダイアログボックスは、File Watcherコンポーネントをトリガー として使用するか、フローのステップとして使用するかによって異なります。 コンポーネントをフローのステップとして使用する場合、次のインターフェースを選択できます:

  • メソッド


File Watcher – トリガー設定

トリガーモードでは、File Watcherは特定のフォルダを監視することができます。

Magic xpiは現在Unicodeファイル名をサポートしていません。 これは、Magic xpiが、マシンの言語とは異なる言語のファイル名、またはファイル名に言語の組み合わせがある場合、それらのファイル名をサポートしないことを意味します。

コンポーネント設定：File Watcherダイアログボックスには次の項目があります。:

プロパティ

説明

検索

送り元フォルダタイプ

検索するフォルダの場所を選択してください。:

  • Disk

  • FTP

送り元フォルダ

をクリックして式エディタを表示します。式エディタで環境変数とグローバル変数で送り元フォルダパスや送り先フォルダパスを作成します。式は、検索されたファイルが移動先に移動する前に計算されます。 をクリックしてスキャンするディレクトリまたはフォルダのパスまたはアドレスを選択します。 このボタンは、ソースディレクトリがディスク上にある場合にのみ使用できます。

サブフォルダ

コンポーネントで選択したフォルダのすべてのサブフォルダをスキャンする場合は、このチェックボックスをオンにします。

フィルタ

スキャン時にファイルを識別するためのフィルタを入力します。 フィールドの右側の [image] をクリックして、[フィルター]ダイアログボックスにフィルター条件を入力します。

複数のファイルをコンマで区切って入力できます。 例：*.txt,*.doc

除外フィルタ

スキャンしないファイルまたはスキャンしないファイルのグループの名前を入力します。 この条件を入力するときは、ワイルドカード文字を使用できます。 例えばCustomerで始まるすべてのファイルを除外する場合は、Customer * と入力して、customerという単語とその後に他の名前が付いているすべてのファイルを除外します。 ワイルドカード * は、cus*omerなどの任意の位置に配置できます。

除外フィルタには以下の構文で環境変数を使用できます。

％[環境変数名]％

複数のファイルをコンマで区切って入力できます。 例：*.txt,*.doc

フィルタ基準

スキャンしたフォルダ内で、ファイルを処理するための基準を選択します。次の選択肢があります。:

  • Name (ファイル名)

  • サイズ (ファイルサイズ)

  • タイムスタンプ

方向

ドロップダウンリストから基準をスキャンする方向を選択します。次の選択肢があります。

  • 昇順

  • 降順

このプロパティで定義する順序は、トリガーによってファイルがスキャンされる順序であり、それらのファイルが処理される順序ではありません。 ファイル処理の順序を保証するには、同期モード（上記）を有効にします。

オペレーション

[フィルタ基準]フィールドで[サイズ]または[タイムスタンプ]を選択した場合は、ドロップダウンリストからオペレーションを選択します。次の選択肢があります。:

  • 以上

  • 以下

  • 等しい

ファイルサイズ

[フィルタ基準]フィールドで[サイズ]を選択した場合、ファイルサイズをメガバイト単位で入力します。

このフィールドでは、次の構文で環境変数を使用できます:

％[環境変数名]％

タイムスタンプ

フィルタ基準フィールドでタイムスタンプを選択した場合、このフィールドが表示されます。 このプロパティに日付と時刻を入力します。

  • FTPサーバーを使用する場合、タイムスタンプの時間基準では秒は考慮されません。

  • タイムスタンプはトリガーによってファイルが移動した時の変更時間を評価します。

アクション

ファイルアクション

ピックアップされたファイルに対してコンポーネントが実行するアクションを定義します。次の選択肢があります。:

  • 移動 (他のフォルダに移動)

  • 削除

  • 名前変更

ファイル名マスク

移動したファイルまたは名前を変更したファイル名の構造を入力します。 ワイルドカード文字を使用できます:

  • すべてのファイルにファイル名拡張子を付ける場合、*.txtと入力するとすべてのファイルが元の名前に.txt拡張子が付与され、宛先ディレクトリに保存されます。

  • すべてのファイルに元の名前の最初の2文字のみを使用する場合、??.*と入力すると、元の拡張子と元の名前の最初の2文字のみを使用してファイルを作成します。

アクションに[移動]または[名前変更]を選択した場合、[ファイル名マスク]プロパティを使用できます。

例:

ファイル名マスク: *.txt

新しいファイル名: ファイル名.txt

または:

ファイル名マスク: ??.*

新しいファイル名:

元ファイル名がAddress.txtの場合,　新しいファイル名はAd.txt

元ファイル名がAddress.docの場合,　新しいファイル名はAd.doc

元ファイル名がName.txtの場合,　新しいファイル名はNa.txt

送り先フォルダ

をクリックして式エディタを表示します。式エディタで環境変数とグローバル変数で送り先フォルダパスを作成します。式は、検索されたファイルが移動先に移動する前に計算されます。 をクリックしてスキャンするディレクトリまたはフォルダのパスまたはアドレスを選択します。

戻り値の詳細

ファイル内容

ピックアップしたファイルを保存する変数を選択します。 ファイルは、ユーザによって定義されたBLOB変数かUserBLOB変数に返されます。

をクリックして変数リストを開き、ファイル内容を保存する変数を選択します。

送り先ファイル名

ピックアップしたファイル名を返す場所を選択します。 ファイル名は文字型変数に返されます。

をクリックして変数リストを開き、ファイル名を保存する変数を選択します。

送り元ファイル名

移動/名前変更する前の送り元ファイル名を返す場所を選択します。 ファイル名は文字型変数に返されます。

をクリックして変数リストを開き、ファイル名を保存する変数を選択します。

戻り引数ＸＭＬの保存先

引数ＸＭＬを保存する変数を入力します。引数内容はBLOB変数に保存されます。

をクリックして変数リストを開き、引数内容を保存する変数を選択します。

一般

同期モード

このチェックボックスでトリガーの動作をコントロールします。このチェックボックスがチェックされている場合は同期モードとなり、トリガーは一度に一つのファイルのみ処理します。このモードはスキャンされたファイルの処理順序を保証します。実際はシングルスレッドで処理されるので、パフォーマンスは低下する可能性があります。

デフォルトモードは非同期です。

(Since version: 4.13.3)

キープアライブ間隔

トリガーが無反応は場合、自動的に再開されるまでの時間（分単位）。 デフォルト値は0です。その場合、トリガーが永続的に応答を待機します。

このパラメータの値は十分に注意する必要があります。 選択した値が小さすぎると、有効な操作が完了する前にトリガーが終了する可能性があります。

ポーリング間隔

File Watcherがディレクトリのスキャンに使用する時間間隔（ミリ秒単位）を入力します。 例えば1000ミリ秒を入力すると、ファイルウォッチャーは毎秒ディレクトリをスキャンします。

Watcherをトリガーとして構成するには、次の手順に従います。:

  1. [設定]メニューの[サービス]セクションでFile Watcherサービスを定義します。 ここをクリックしてください。

  2. コンポーネントの設定：File Watcherのダイアログボックスで関連情報を入力します。

(Since version: 4.13.2)


File Watcher – メソッド

File Watcherコンポーネントでは下記のメソッドを使用します。:

  • 削除

  • 移動

  • 読込

FTPメソッドを使用する場合は、まずリソース設定のFTPリソースを設定する必要があります。

下記は、使用できるメソッドとパラメータの一覧です。太字で記述されているパラメータは必須項目です。

メソッド

パラメータ

説明

削除:指定されたファイルをローカルフォルダやサーバで検索した後、削除します。

送り元タイプ

File Watcherが検索する送り元フォルダのタイプを設定します。

設定可能な値:

  • Disk (デフォルト)

  • FTP

FTP 送信モード

この項目は送り元タイプがFTPの場合に有効で、ファイルを送信するフォーマットを設定します。設定可能な値を下記の通りです。:

  • Binary

  • ASCII

送り元フォルダ

ファイルを検索する場所を設定します。

サブフォルダの検索

File Watcherがサブフォルダを含めて検索するか、ドロップダウンリストから選択します。設定可能な値は次の通りです。:

  • No (デフォルト)

  • Yes

フィルタ

監視するファイル、またはファイルのグループ名を設定します。この欄ではワイルドカードを使用できます。例えば、Customerで始まるファイルを監視する場合は、Customer*と設定し、Customerという単語とCustomerを先頭に含んだ全てのファイル名を監視します。ワイルドカード*は、文字列の任意の位置に置くことができます。

この欄では複数ファイル名を設定できます。ファイル名はカンマで区切り、*.txt,*.doc のように設定します。

方向

フォルダ内を検索する場合の順序をドロップダウンリストから選択します。:

  • 昇順 (デフォルト)

  • 降順

フィルタ基準

フィルタの基準をドロップダウンリストから選択します。:

  • 名前

  • サイズ

  • 変更時間

タイムスタンプのフィルタ基準は、トリガーによって移動されるファイルの変更時間値に適用されます。

フィルタ基準オペレータ

フィルタ基準がサイズかタイムスタンプの場合、フィルタ基準のオペレータをドロップダウンリストから選択します。:

  • 以上

  • 以下

  • 等しい

ファイルサイズ

フィルタ基準をサイズにした場合、ファイルサイズを設定します。

ファイル日付

フィルタ基準がタイムスタンプで設定されている場合、ファイル日付を(YYYY/MM/DD)で設定します。

ファイル時間

フィルタ基準がタイムスタンプの場合、ファイル時間を（HH:MM:SS）で設定します。

FTPメソッドを使用する場合、タイムスタンプの「分」は考慮されません。

除外

検索を実施しないファイル名やファイルグループ（複数ファイルの場合はカンマでファイル名を区切る）を設定します。ファイル名にはワイルドカードを使用できます。例えば、Customerで始まるファイルを除外する場合は、Customer*と設定し、Customerという単語とCustomerを先頭に含んだ全てのファイル名を除外します。ワイルドカード*は、文字列の任意の位置に置くことができます。

この欄では複数ファイル名を設定できます。ファイル名はカンマで区切り、*.txt,*.doc のように設定します。

タイムアウト

File Watcher がファイルやフォルダを検索する場合、タイムアウト（秒）を設定します。この設定はステップモードの場合にのみ有効です。タイムアウトの時間内にファイルが見つからなかった場合、フローは次のステップに移動します。

タイムアウトが0の場合、File Watcherの待機時間は0になります。タイムアウトは無効になります。つまり、ファイルが存在しない場合、即時に次のステップに移動します。もし負数が入力された場合は、File Watcherはファイルを発見するまで待つことになります。

ポーリング間隔

File Watcherがフォルダを検索するポーリング間隔（ミリ秒）を設定します。例えば、1000ミリ秒を設定すると、File Watcherはフォルダを毎秒検索します。

デフォルト値は3000ミリ秒です。

ファイル内容保存先

をクリックして変数リストを表示します。検索して取得したファイル内容を返す変数を選択します。ファイルはユーザによって定義された変数かUserBlob変数に保存されます。

送り元ファイル名保存先

をクリックして変数リストを表示します。ファイルを移動したりファイル名を変更した場合、ファイル名を保存する変数を選択します。ファイルはユーザによって定義された変数か、UserString変数に保存されます。

エラーコード

File Watcherの エラーコード

をクリックして変数リストを表示します。エラーコードを返す変数を選択し、選択をクリックします。

移動: ローカルフォルダやサーバを検索し、ファイルを移動したりリネームする

送り元タイプ

File Watcherで検索する送り元フォルダを選択します。

選択できる値は以下の通りです。:

  • Disk (デフォルト)

  • FTP

FTP 転送モード

このプロパティは上記の送り元タイプがFTPの場合に有効です。ファイルをどのフォーマットで転送するかを決定します。設定可能なフォーマットは以下の通りです。:

  • Binary

  • ASCII

送り元フォルダ

検索するフォルダの場所を設定します。

サブフォルダの検索

設定したフォルダのサブフォルダを含めて検索するかどうかをドロップダウンリストから選択します。選択可能な値は次の通りです。:

  • No

  • Yes

フィルタ

監視するファイルの名前、またはファイルのグループを設定します。この条件にはワイルドカードを使用できます。例えば、Customerで始まるファイルを除外する場合は、Customer*と設定し、Customerという単語とCustomerを先頭に含んだ全てのファイル名を除外します。ワイルドカード*は、文字列の任意の位置に置くことができます。

この欄では複数ファイル名を設定できます。ファイル名はカンマで区切り、*.txt,*.doc のように設定します。

順序

フォルダ内を検索する場合の順序をドロップダウンリストから選択します。:

  • 昇順 (デフォルト)

  • 降順

フィルタ基準

フィルタの基準をドロップダウンリストから選択します。:

  • 名前

  • サイズ

  • 変更時間

タイムスタンプのフィルタ基準は、トリガーによって移動されるファイルの変更時間値に適用されます。

フィルタ基準オペレータ

フィルタ基準がサイズかタイムスタンプの場合、フィルタ基準のオペレータをドロップダウンリストから選択します。:

  • 以上

  • 以下

  • 等しい

ファイルサイズ

フィルタ基準をサイズにした場合、ファイルサイズを設定します。

ファイル日付

フィルタ基準がタイムスタンプで設定されている場合、ファイル日付を(YYYY/MM/DD)で設定します。

ファイル時間

フィルタ基準がタイムスタンプの場合、ファイル時間を（HH:MM:SS）で設定します。

FTPメソッドを使用する場合、タイムスタンプの「分」は考慮されません。

除外

検索を実施しないファイル名やファイルグループ（複数ファイルの場合はカンマでファイル名を区切る）を設定します。ファイル名にはワイルドカードを使用できます。例えば、Customerで始まるファイルを除外する場合は、Customer*と設定し、Customerという単語とCustomerを先頭に含んだ全てのファイル名を除外します。ワイルドカード*は、文字列の任意の位置に置くことができます。

この欄では複数ファイル名を設定できます。ファイル名はカンマで区切り、*.txt,*.doc のように設定します。

タイムアウト

File Watcher がファイルやフォルダを検索する場合、タイムアウト（秒）を設定します。この設定はステップモードの場合にのみ有効です。タイムアウトの時間内にファイルが見つからなかった場合、フローは次のステップに移動します。

タイムアウトが0の場合、File Watcherの待機時間は0になります。タイムアウトは無効になります。つまり、ファイルが存在しない場合、即時に次のステップに移動します。もし負数が入力された場合は、File Watcherはファイルを発見するまで待つことになります。

ポーリング間隔

File Watcherがフォルダを検索するポーリング間隔（ミリ秒）を設定します。例えば、1000ミリ秒を設定すると、File Watcherはフォルダを毎秒検索します。

デフォルト値は3000ミリ秒です。

送り先フォルダ

ファイルが移動した場所のローカルフォルダ

送り先タイプ

File Watcherが検索する送り先フォルダのタイプを設定します。

設定可能な値は次の通りです。:

  • Disk (デフォルト)

  • FTP

送り先転送モード

このプロパティは上記の送り先タイプがFTPの場合に有効です。ファイルをどのフォーマットで転送するかを決定します。設定可能なフォーマットは以下の通りです。:

  • Binary

  • ASCII

名前変更マスク

移動したファイルまたは名前を変更したファイルの名前の構造を入力します。ワイルドカードは、以下のように使用できます。:

  • すべてのファイルに同じ接尾辞を付けたい場合、*.txtと入力すると、すべてのファイルを元の名前と.txtという接尾辞の付けて送り先フォルダに保存できます。

  • すべてのファイルに元の名前の最初の2文字だけを付けたい場合、??.*を入力すると、元の接尾辞と元の名前の最初の2文字だけを持つファイルを作成できます。

移動オペレーションは名前変更の特別なケースをサポートします。名前変更が機能するには、ファイルが同じリソース（フォルダとタイプ）を指している必要があります。 名前変更を実行する必要がある場合は、[名前変更マスク]項目は必須です。

この項目を無視するか空白のままにすると、実行時にエラーが発生します。

ファイル内容保存先

をクリックして変数リストを表示します。検索して取得したファイル内容を返す変数を選択します。ファイルはユーザによって定義された変数かUserBlob変数に保存されます。

送り元ファイル名保存先

をクリックして変数リストを表示します。ファイルをコピーしたり移動した場合のオリジナルファイル名を保存する変数を選択します。

送り先ファイル名保存先

をクリックして変数リストを表示します。ファイルを移動したりファイル名を変更した後のファイル名を保存する変数を選択します。ファイルはユーザによって定義された変数か、UserString変数に保存されます。

エラーコード

File Watcherの エラーコード

をクリックして変数リストを表示します。エラーコードを返す変数を選択し、選択をクリックします。

読込: ローカルやサーバのフォルダにあるファイルを読み込む

送り元タイプ

File Watcherで検索する送り元フォルダを選択します。

選択できる値は以下の通りです。:

  • Disk (デフォルト)

  • FTP

FTP 転送モード

このプロパティは上記の送り元タイプがFTPの場合に有効です。ファイルをどのフォーマットで転送するかを決定します。設定可能なフォーマットは以下の通りです。:

  • Binary

  • ASCII

送り元フォルダ

検索するフォルダの場所を設定します。

サブフォルダの検索

設定したフォルダのサブフォルダを含めて検索するかどうかをドロップダウンリストから選択します。選択可能な値は次の通りです。:

  • No

  • Yes

フィルタ

監視するファイルの名前、またはファイルのグループを設定します。この条件にはワイルドカードを使用できます。例えば、Customerで始まるファイルを除外する場合は、Customer*と設定し、Customerという単語とCustomerを先頭に含んだ全てのファイル名を除外します。ワイルドカード*は、文字列の任意の位置に置くことができます。

この欄では複数ファイル名を設定できます。ファイル名はカンマで区切り、*.txt,*.doc のように設定します。

順序

フォルダ内を検索する場合の順序をドロップダウンリストから選択します。:

  • 昇順 (デフォルト)

  • 降順

フィルタ基準

フィルタの基準をドロップダウンリストから選択します。:

  • 名前

  • サイズ

  • 変更時間

タイムスタンプのフィルタ基準は、トリガーによって移動されるファイルの変更時間値に適用されます。

フィルタ基準オペレータ

フィルタ基準がサイズかタイムスタンプの場合、フィルタ基準のオペレータをドロップダウンリストから選択します。:

  • 以上

  • 以下

  • 等しい

ファイルサイズ

フィルタ基準をサイズにした場合、ファイルサイズを設定します。

ファイル日付

フィルタ基準がタイムスタンプで設定されている場合、ファイル日付を(YYYY/MM/DD)で設定します。

ファイル時間

フィルタ基準がタイムスタンプの場合、ファイル時間を（HH:MM:SS）で設定します。

FTPメソッドを使用する場合、タイムスタンプの「分」は考慮されません。

除外

検索を実施しないファイル名やファイルグループ（複数ファイルの場合はカンマでファイル名を区切る）を設定します。ファイル名にはワイルドカードを使用できます。例えば、Customerで始まるファイルを除外する場合は、Customer*と設定し、Customerという単語とCustomerを先頭に含んだ全てのファイル名を除外します。ワイルドカード*は、文字列の任意の位置に置くことができます。

この欄では複数ファイル名を設定できます。ファイル名はカンマで区切り、*.txt,*.doc のように設定します。

タイムアウト

File Watcher がファイルやフォルダを検索する場合、タイムアウト（秒）を設定します。この設定はステップモードの場合にのみ有効です。タイムアウトの時間内にファイルが見つからなかった場合、フローは次のステップに移動します。

タイムアウトが0の場合、File Watcherの待機時間は0になります。タイムアウトは無効になります。つまり、ファイルが存在しない場合、即時に次のステップに移動します。もし負数が入力された場合は、File Watcherはファイルを発見するまで待つことになります。

ポーリング間隔

File Watcherがフォルダを検索するポーリング間隔（ミリ秒）を設定します。例えば、1000ミリ秒を設定すると、File Watcherはフォルダを毎秒検索します。

デフォルト値は3000ミリ秒です。

ファイル内容保存先

をクリックして変数リストを表示します。検索して取得したファイル内容を返す変数を選択します。ファイルはユーザによって定義された変数かUserBlob変数に保存されます。

送り元ファイル名保存先

をクリックして変数リストを表示します。ファイルを移動したりファイル名を変更した後のファイル名を保存する変数を選択します。ファイルはユーザによって定義された変数か、UserString変数に保存されます。

エラーコード

File Watcherの エラーコード

をクリックして変数リストを表示します。エラーコードを返す変数を選択し、選択をクリックします。

(Since version: 4.13.3)


File Watcher – エラーハンドリング

Magic xpi Server Flow Managerは、ステップの実行中にエラーをチェックします。 File Watcherコンポーネントのステップでエラーが発生した場合、エラーハンドラーが呼び出されエラーが処理されます。

ステップで最初のエラーが発生するとステップの実行が終了します。 ステップに複数のメソッドがあり、これらのメソッドの1つでエラーが発生した場合、後続のすべてのメソッドは実行されません。

File Watcherトリガーの場合：File WatcherはFTPサーバに接続してフォルダリストを取得します。 接続が成功するとリスト内の各ファイルが次々に処理されます。 フォルダリストの取得中に接続エラー（ソケット例外）が発生した場合、再接続ポリシーが適用されます。:

  • 再接続が成功するとモニターにメッセージが表示され、プロセスが続行されます。

  • 再接続が失敗した場合、メッセージがモニターに表示されFile Watcherトリガーは ポーリング間隔（設定画面で指定されている）の間遅延され、次の処理サイクル続行のために待機します。

FileWatcherコンポーネントのエラーコードを以下に示します。 また、Magic xpiの 一般コンポーネントエラーをFileWatcherコンポーネントで使用することもできます。 コードは、呼び出しプログラムのエラーコードパラメータでMagic xpiサーバに返されます。

エラーコード | 説明
8888 | .Net 例外
250 | Java 例外
251 | FTP サーバエラー
252 | データ検証エラー ファイルウォッチャーのエラーコード252は権限の問題を示しています。Magic xpiが関連する場所のファイルを削除、書き込み、または名前変更が可能かどうかする必要があります。 このエラーは、Magic piがファイルを処理しようとしているときに別のシステムによってロックされているファイルがある場合にも表示されます。
253 | FTP(SSL) 接続に失敗しました
254 | サーバ証明書のロードに失敗しました
255 | クライアント証明書のロードに失敗しました
256 | クライアントパスワードのロードに失敗しました
257 | FTP 接続に失敗しました
1601 | Step 起動エラー
1602 | ACM: 有効なASがありません
1603 | AC: ステップの設定が間違っています
1604 | 入力/出力エラー
1605 | Communication: データ転送エラー
1606 | .NET Launcher: .NETコネクタのコールに失敗しました
1607 | .NET launcher: IStep.NET-assembly が複数存在します
1608 | .NET launcher: IStep.NET-assembly がありません
1609 | Communication: メッセージ処理エラー
1610 | RemoteStepinvoker: 起動タイムアウトエラー
1611 | .NET launcher: Java-.NET 相互接続失敗 failure
1612 | AC: 不明なコネクタ名
1613 | AC: サポートされていないランタイムテクノロジー
1614 | AC: コネクタのメタデータファイルがありません
1615 | AC: metadata.xmlファイルに不正なデータがあります
1621 | トリガーロードタイムアウト
1622 | ACM: トリガーに利用可能なACが見つからない

関連トピックス

Magic xpi のエラー処理


ファイル分割

ファイル分割コンポーネントは、1つのファイルを複数の小ファイルに分割し、それらの分割ファイルを再グループ化します。

1つのファイルを別の場所に転送するとき、そのファイルを複数のファイルに分割した方が便利で、効率的な転送が行える場合があります。ファイル分割コンポーネントは、ファイルを小さく分割し、転送後それらの分割ファイルを再グループ化して、元のファイルを作成し直します。このファイル分割コンポーネントはJava言語で記述されています。

Windows 2000でMagic xpiファイル分割コンポーネントを使用するには、事前にJavaランタイムエンジン（JRE）がインストールされていて、Magic xpiをインストールしたPC上で動作していることを確認してください。

ファイル分割コンポーネントは、以下のようにコンポーネントを分割します。

  • 大きなファイルを事前に定義した行の数の小さなファイルに分割します。

  • ファイルを事前に定義した行の数のファイルに分割します。

  • サイズに従ってファイルを分割する（たとえば、分割したファイルが同じ大きさになるようにコンポーネントを設定することができます）。

コンポーネントは、すべての分割ファイルに同じ名前を付け、その名前の後に1から始まるインデックス番号を割り振ります。さらにコントロールファイル（他と同じファイル名で、インデックス番号は0）が作成されます。コントロールファイルには、作成されたファイル数、元のファイルの大きさなどの分割処理に関する情報が保存されます。

ファイルを再グループ化する際には、ファイルが格納されているフォルダおよびそのファイル名（インデックス番号は必要ない）を指定しなければなりません。

関連トピック：

ファイル分割 - 設定

ファイル分割 - エラーコード


ファイル分割 - 設定

ファイル分割コンポーネントは、大きなファイルを分割したり、分割ファイルを再グループ化したりします。

ファイル分割コンポーネントをフローに配置すると、Magic xpiは自動的にそのコンポーネントの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、コンポーネントの［ダイレクトアクセスメソッド］ダイアログボックスを開きます。

フローでステップとしてのコンポーネントを使用する場合、以下のインタフェースから選択することができます。

  • メソッド

  • XML

現バージョンでは、ファイル分割XSDには、Redgroupメソッド用のの宛先タイプパラメータが含まれています。このメソッドは、メソッド設定では利用できません。


ファイル分割 - メソッド

以下のメソッドは、ファイル分割コンポーネントを構成する場合に使用されます。

  • Regroup

  • Split by Lines

  • Split by Number

  • Split by Size

Unicodeのファイル名は現在サポートされていません。

次の表では、使用できるメソッドおよびパラメータを一覧にしています。太字表示のパラメータは必須です。

メソッド

パラメタ

説明

Regroup

分割ファイルを元の大容量ファイルに再グループ化するのに使用します。分割ファイルは共有フォルダになければなりません。

送り元ディレクトリ

再グループ化される分割ファイルのフルパスおよび名前を入力してください。

分割ファイルの接頭辞

ファイルが分割される時、送り先ファイルの接頭辞が指定されない場合、再編成したい分割部分のオリジナルのファイル名と拡張子を入力する必要があります。

ファイルが分割された場合、接頭辞が指定されると、ファイル拡張子なしで分割部分の名前を入力する必要があります。

ソースファイル削除

ドロップダウンリストからYes、またはNoを選択し、一つのファイルに再グループ化された後に（分割前の）ソースファイルを削除するかどうか指定します。

送り先タイプ

再グループ化されたファイルを定義するために送り先タイプ。ドロップダウンリストから以下のいずれかを選択します。

  • ファイル

  • BLOB

送り先の内容

送り先の内容がどこに返されるかを定義します。

をクリックして変数リストを開きます。必要な変数を選択します。

このパラメータは上記でBLOBを選択した場合に有効になります。

送り先ファイル名

再グループ化で作成される新規ファイルの名前。このパラメータは上記でファイルを選択した場合に有効になります。

上書き

ドロップダウンリストからYes、またはNoを選択し、既存のターゲットファイルを上書きするかどうか指定します。このパラメータは上記でファイルを選択した場合に有効になります。

エラーコード

をクリックし、変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Split by Lines

ファイル中のテキストの行に応じて大きなサイズのファイルを分割します。これは定義されたパーツ数にファイルを分割したり、サイズに応じて分割することができます。

送り元タイプ

分割したいファイルの送り元タイプを選択できます。ドロップダウンリストから以下のいずれかを選択します。

  • ファイル

  • BLOB

送り元ファイル名

分割されるファイルのフルパスおよび名前。このパラメータは上記でファイルを選択した場合のみ有効になります。

送り元内容

送り元の内容。このパラメータは上記でBLOBを選択した場合のみ有効になります。

送り先ディレクトリ

分割パーツが作成されるディレクトリまたはフォルダの名前

行数

それぞれの分割ファイル内に含まれる最大行数

送り先ファイル接頭辞

分割ファイルの接頭辞を入力してください。

上書き

ドロップダウンリストからYes、またはNoを選択し、既存のターゲットファイルを上書きするかどうか指定します。このパラメータは上記でファイルを選択した場合に有効になります。

エンコーディング

分割ファイルをエンコードするかどうかを指定します。エンコーディングについての詳細は、こちらを参照してください。

分割ファイル数

このパラメータは作成されたファイルの個数を受け取ります。

をクリックし、変数リストを開きます。分割ファイル数が送られる変数を選択します。

ファイルリストを返す

BLOB変数を設定すると、このパラメータは分割処理の結果として作成されたファイルをカンマ区切りのリストとして返します。

エラーコード

をクリックし、変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Split by Number

ユーザが定義したファイル数で大容量ファイルを分割します。

送り元タイプ

分割したいファイルの送り元タイプを選択できます。ドロップダウンリストから以下のいずれかを選択します。

  • ファイル

  • BLOB

送り元ファイル名

分割されるファイルのフルパスおよび名前。このパラメータは上記でファイルを選択した場合のみ 効になります。

送り元内容

送り元の内容。このパラメータは上記でBLOBを選択した場合のみ有効になります。

送り先ディレクトリ

分割パーツが作成されるディレクトリまたはフォルダの名前

部品数

ファイルを分割する場合のパーツ数

送り先ファイル接頭辞

分割ファイルの接頭辞を入力してください。

上書き

ドロップダウンリストからYes、またはNoを選択し、既存のターゲットファイルを上書きするかどうか指定します。このパラメータは上記でファイルを選択した場合に有効になります。

ファイルリスを返すト

BLOB変数を設定すると、このパラメータは分割処理の結果として作成されたファイルをカンマ区切りのリストとして返します。

エラーコード

をクリックし、変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Split by Size

大容量ファイルを同じサイズの小ファイルに分割します。ユーザは小ファイルのサイズを定義します。

送り元タイプ

分割したいファイルの送り元タイプを選択できます。ドロップダウンリストから以下のいずれかを選択します。

  • ファイル

  • BLOB

送り元ファイル名

分割されるファイルのフルパスおよび名前。このパラメータは上記でファイルを選択した場合のみ 効になります。

送り元内容

送り元の内容。このパラメータは上記でBLOBを選択した場合のみ有効になります。

送り先ディレクトリ

分割パーツが作成されるディレクトリまたはフォルダの名前

サイズ(KB)

分割パーツ当たりの最大サイズ（単位：KB）

送り先ファイル接頭辞

分割ファイルの接頭辞を入力してください。

上書き

ドロップダウンリストからYes、またはNoを選択し、既存のターゲットファイルを上書きするかどうか指定します。

分割ファイル数

このパラメータは作成されたファイルの個数を受け取ります。

をクリックし、変数リストを開きます。分割ファイル数が送られる変数を選択します。

ファイルリストを返す

BLOB変数を設定すると、このパラメータは分割処理の結果として作成されたファイルをカンマ区切りのリストとして返します。

エラーコード

をクリックし、変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

関連トピック：

ダイレクトアクセスメソッドの使い方


ファイル分割 - エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。ファイル分割コンポーネントのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

ファイル分割コンポーネントのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーもファイル分割コンポーネントで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
9701 | 送り先ファイルがすでに存在する
9702 | コントロールファイル（CRC）の不一致
9703 | エラーは実行中にJavaから渡される。
9705 | ファイル作成上の問題
9706 | IO例外
9707 | 一般例外
9708 | Java例外（CRC_CORRUPT）
9709 | Java例外(JOIN_EXCEPTION_NO_SLICES)
9710 | Java例外(CLEANUP_EXCEPTION)
9711 | Java例外(SPLIT_SOURCE_FILE_INVALID)

関連トピック：

Magic xpiのエラー処理


FTP

ファイル転送プロトコル（FTP）は、物理的な場所に関係なくローカルホスト（自分のコンピュータ）とリモートホスト（他のコンピュータ）間でのファイルの転送を可能にするユーティリティです。つまり、コンピュータは同じネットワーク上にあっても、他のネットワーク上にあっても構わないのです。

FTPクライアントプログラムがユーザのコンピュータ上でも稼動します。一方、FTPサーバプログラムはホストコンピュータ上で動作します。FTPサーバはリクエストを受け付けると、要求されたファイルをクライアントに送信します。アカウント番号とパスワードを入力して、FTPサイト、または、サーバにログオンすると、コマンドリンクがインターネット上に確立されます。クライアントは、ファイルをリストし、FTPサーバへのディレクトリを変更するなど、ステータスメッセージを返信するコマンドを送信します。接続が完了し、ファイルをダウンロードする準備が整うと、FTPは第2データ接続を開き、そのファイル転送が終了すると、データ接続を閉じます。

FTPを使用する利点は以下の通りです。

  • ファイル共有を促進します。

  • リモートコンピュータの使用を容易にします。

  • ファイル ストレージの変動からユーザを保護します。

  • 確実に効率よくデータが転送されることを保証します。

FTPコネクタはLocal Agent 有効時において互換性を維持しています。(Since version: 4.13.2)

FTPコンポーネントを使用して以下のFTPオペレーションを実行することができます。

コマンド | オペレーション
CD | リモートサーバ上のアクティブなディレクトリを変更します。
PUT | ローカルディレクトリからリモートサーバへ単一のファイルを転送します。
PUTA | ローカルディレクトリからリモート サーバへ単一のファイルを追加します。
GET | リモートサーバからローカルディレクトリへ単一のファイルを転送します。
QUIT | FTPセッションを停止、終了します。
REN | リモートサーバ上の単一のファイル名を変更します。
DEL | リモートサーバ上の単一のファイルを削除します。
MK | リモートサーバ上にディレクトリを作成します。
RM | リモートサーバ上のディレクトリを削除します。
DIR | リモートサーバ上の単一ディレクトリのコンテンツを表示します。 出力は、オペレーション テーブルのOpr_Dataフィールドに保存されます。このテーブルは内部メソッドのみに使用されます。
OS | サーバのオペレーティング システムのタイプを取得します。 出力は、オペレーション テーブルのOpr_Dataフィールドに保存されます。このテーブルは内部メソッドのみに使用されます。
ASCII BINARY | 転送モード。ASCII、またはBinaryデータ フォーマットのどちらかに設定できます。 ファイルは、ASCIIテキストファイルフォーマット（.txt、.html、.pl、.asp、.php、.xml、.css)、またはBinaryファイルフォーマット（.gif、.jpg、.png、.swf、.exe、.zip、.raw）でアップロードすることができます。
Open Session | 選択したサーバへのFTP接続を開きます。
MDel | 複数のファイルをリモートサーバのディレクトリから削除します。
MGet | 複数のファイルをリモートサーバのディレクトリから転送します。
Mput | 複数のファイルをリモートサーバのディレクトリへ転送します。

関連トピック：

FTP – 設定

FTP – エラーコード

FTP トラブルシューティング


FTP – 設定

FTPコンポーネントによって、FTPサーバ上のファイルおよびフォルダを管理することができます。

FTPコンポーネントをフローに配置すると、Magic xpiは自動的にそのコンポーネントの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、コンポーネントの［ダイレクトアクセスメソッド］ダイアログボックスを開きます。このダイアログボックスのプロパティは、コンポーネント構成時に定義されるアクティベーションBLOBの一部になります。

FTP コンポーネントを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初にFTPリソースを定義する必要があります。また、トリガとして使用しようとしている場合、［設定］ダイアログボックスの［サービス］セクションでFTPサービスを定義する必要があります。

フローでステップとしてのコンポーネントを使用する場合、以下のインタフェースから選択することができます。

  • メソッド

  • XML

  • このコンポーネントは、対象のファイル名やフォルダ名に対してNEC選定文字やIBM選定文字をサポートしません。

  • FTPコンポーネントを含むプロジェクトをMagicxpi 4.13.2バージョンにアップグレードまたは移行した場合、コマンドラインによるプロジェクトのビルドが成功しないことがあります。その場合、必要なマイグレーションを実行するため、Studioでプロジェクトを1回開く必要がある場合があります。


FTP - メソッド

以下のメソッドを使用してFTPコンポーネントを構成します。

  • Append File

  • Change Directory

  • Delete File

  • Directory Listing

  • File Exists

  • Get File

  • Get Operating System

  • Local Change Directory

  • Make Directory

  • Multi Del

  • Multi Get

  • Multi Put

  • Put File

  • Remove Directory

  • Rename File

  • Run Server Command

FTPコンポーネントのダイレクトアクセスメソッドは、環境変数をサポートしていません。

次の表では、使用できるメソッドおよびパラメータを一覧にしています。太字のパラメータは必須です。全てのメソッドは接続情報を含みます。

メソッド

パラメタ

説明

Append File

リモートサーバディレクトリにファイルを追加上書きします。

送り元ファイル名

FTPサーバ上に追加するファイルのフルパスおよび名前（そのパスおよび名前には、ローカルコンピュータ上のソースファイルの名前およびパスを指定してください）。

送り先ファイル名

FTPサーバ上に追加されたファイルのフルパスおよび名前（パスおよび名前には、FTPサーバ上のファイルの名前およびパスを指定してください）。

例： Folder1\Folder2\Test.txt

転送モード

転送モードをドロップダウンリストから選択します。

  • ASCII

  • Binary

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックし、変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Change Directory

リモートサーバの現在アクティブなディレクトリを変更します。

ディレクトリ名

FTPサーバの作業ディレクトリの変更したい名前を入力します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックし、変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Delete File

リモートサーバディレクトリからファイルを削除します。

ファイル名

FTPサーバから削除するファイルのフルパスおよび名前です。パスおよび名前には、FTPサーバ上のファイルのパスおよび名前を指定してください。

例： Folder1\Folder2\Test.txt

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックし、変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Directory Listing

ディレクトリコンテンツのリストを定義済みXML形式で返します。

ディレクトリ名

リストにしたいFTPサーバディレクトリの名前を入力します。

出力XML

出力BLOBをXMLファイルにするかどうか以下のいずれかをドロップダウンリストから選択します:

  • Yes

  • No

ディレクトリリスト

をクリックし変数リストを開きます。ディレクトリ内容が返される変数を選択し［選択］をクリックします。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックし、変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

File Exists

リモートサーバのディレクトリにファイルがあるかどうかチェックします。

名前

チェックしたいファイルの名前を入力します。

ファイル存在

このパラメータはリモートサーバにファイルが存在するかどうかを示します。

をクリックして変数リストを開き、どこにこの情報を保持したいか指定します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックし、変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Get File

リモートサーバディレクトリからファイルを受信(get)します。

送り元ファイル名

FTPサーバから取り出されるファイルのフルパスと名前。パスと名前は、オリジナルの位置とFTPサーバ上のファイルの名前を指定してください。

例えば： Folder1\Folder2\Test.txt

送り先ファイル名

ローカルコンピュータ上にコピーするファイルのフルパスおよび名前。パスおよび名前には、ローカルコンピュータ上のファイルの名前およびパスを指定してください。

転送モード

転送モードをドロップダウンリストから選択します。

  • ASCII

  • Binary

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックし、変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Get Operating System

選択したサーバのOS情報とデータの返される場所の詳細を指定します。

オペレーティングシステム

を [image] クリックして変数リストを開きます。OSによって返される環境変数を選択することができます。

このメソッドは、Unicodeデータで返ります。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックし、変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Local Change Directory

次のメソッドのデフォルトディレクトリを変更します： Get File, Multi Get,Put File, Multi Put。

このメソッドを使用して、例えばデフォルトローカルディレクトリを%Magic xpi%から"d:\temp"に変更します。

ディレクトリ名

FTPサーバ上で変更されたディレクトリのフルパスです。デフォルトローカルディレクトリの値をリセット（ %Magic xpi%に戻す）するには、Local Change Directory メソッドの［ディレクトリ名］パラメータに値を設定しないでください。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックし、変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Make Directory

リモートサーバのディレクトリにディレクトリを作成します。

ディレクトリ名

FTPサーバ上で作成するディレクトリをフルパスで指定します。

サブディレクトリを含める

メインディレクトリにサブディレクトリを含めるかどうかを以下のドロップダウンリストから選択します。

  • Yes

  • No

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックし、変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Multi Del

リモートサーバのディレクトリから複数のファイルを削除します。

フィルタ

フィルタ定義はワイルドカード（*,?）を使用して、特定の方法で名前が付けられているファイルをフィルタリングする場合に使用します。

サブディレクトリを含める

メインディレクトリにサブディレクトリを含めるかどうかを以下のドロップダウンリストから選択します。

  • Yes

  • No

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックし、変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Multi Get

リモートサーバのディレクトリから複数のファイルを取得します。

送り先フォルダ

ローカルコンピュータ上にコピーするフォルダのフルパスおよび名前を入力します。パスおよび名前には、ローカルコンピュータ上のフォルダの名前およびパスを指定してください。

フィルタ

フィルタ定義はワイルドカード（*,?）を使用して、特定の方法で名前が付けられているファイルをフィルタリングする場合に使用します。

転送モード

転送モードをドロップダウンリストから選択します。

  • ASCII

  • Binary

サブディレクトリを含める

メインディレクトリにサブディレクトリを含めるかどうかを以下のドロップダウンリストから選択します。

  • Yes

  • No

上書き

既存のファイルを上書きするかどうかを以下のドロップダウンリストから選択します。

  • Yes

  • No

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックし、変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Multi Put

リモートサーバのディレクトリに複数のファイルを転送します。

送り先フォルダ

FTPサーバのファイルのコピー先のフルパスと名前

フィルタ

フィルタ定義はワイルドカード（*,?）を使用して、特定の方法で名前が付けられているファイルをフィルタリングする場合に使用します。

転送モード

転送モードをドロップダウンリストから選択します。

  • ASCII

  • Binary

サブディレクトリを含む

メインディレクトリにサブディレクトリを含めるかどうかを以下のドロップダウンリストから選択します。

  • Yes

  • No

上書き

既存のファイルを上書きするかどうかを以下のドロップダウンリストから選択します。

  • Yes

  • No

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックし、変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Put File

リモートサーバのディレクトリにファイル転送します。

送り元ファイル名

FTPサーバに転送するファイルのフルパスおよび名前を入力します。パスおよび名前には、ローカルコンピュータ上のファイルの元のパスおよび名前を指定してください。

送り先ファイル名

FTPサーバ上に置くファイルのフルパスおよび名前を入力します。パスおよび名前には、FTPサーバ上のファイルの名前およびパスを指定してください。

例えば: Folder1\Folder2\Test.txt

転送モード

転送モードをドロップダウンリストから選択します。

  • ASCII

  • Binary

上書き

既存のファイルを上書きするかどうかを以下のドロップダウンリストから選択します。

  • Yes

  • No

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックし、変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Remove Directory

リモートサーバのディレクトリ内のディレクトリを削除します。

ディレクトリ名

FTPサーバから削除するディレクトリのフルパスを入力します。

サブディレクトリを含める

メインディレクトリにサブディレクトリを含めるかどうかを以下のドロップダウンリストから選択します。

  • Yes

  • No

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックし、変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Rename File

FTPサーバのディレクトリ内のファイルやディレクトリをリネームします。

送り元ファイル名

FTPサーバ上で移動され、リネームされるファイルの元のパスとファイル名を入力します。パスおよびファイル名には、FTPサーバ上のファイルの元の場パスおよびファイル名を指定してください。

送り先ファイル名

FTPサーバで転送、リネームされた後のフルパスとファイル名を入力します。パスと名前はそのファイルの新しい名前でFTPサーバ上を指定する必要があります。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックし、変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Run Server Command

FTPサーバーでカスタムサーバーコマンドを実行します。

コマンド

サーバーで実行するサーバーコマンド式を入力します。 コマンドに許可される最大長は1000文字です。

サイトコマンドの実行メソッドの一部として、ACTV（アクティブモード）コマンドの実行はサポートされていません。 同じことを実行すると、想定しない結果が生じる可能性があります。

コマンドの戻り値

FTPサーバーから返されるコマンド応答を設定します。（blobタイプ）。 コマンドが失敗すると、エラー変数「505 Operation Fail」がエラー変数に入力されます。

エラーコード

エラーが発生すると、対応するエラーコードとともにこのパラメーターが返されます。

をクリックし、変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

関連トピック：

ダイレクトアクセスメソッドの使い方


FTP – エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。FTPコンポーネントのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

FTPサーバ上で様々なメソッドを実行している間、接続エラー（ソケットの例外エラー）が発生した場合、再接続ポリシー（ログインのリトライ回数とリトライする間の遅延時間をFTPリソースのパラメータとして設定）が適用されます。再接続が成功した場合、処理は継続されます。再接続が失敗した場合、処理は終了しエラーメッセージがモニタに表示されます。

FTPコンポーネントのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーもFTPコンポーネントで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
502 | Javaの例外エラー
503 | ファイルが見つかりません
504 | IOエラー
505 | 処理に失敗しました
506 | 解析エラー
507 | 引数が正しくありません
508 | FTPエラー

関連トピック：

Magic xpiのエラー処理


Google カレンダ

Googleカレンダコンポーネントは、Magic xpiとGoogleカレンダ間の接続機能を提供します。

Googleカレンダコンポーネントを使用するには、OAuth 2.0認可フローを完了する必要があります。

関連トピック：

Googleカレンダ - 設定

Googleカレンダ - エラーコード

Googleトラブルシューティング


Googleカレンダ - 設定

Google カレンダコンポーネントは、Magic xpiとGoogleカレンダー間の接続機能を提供して、リソース証明書とプロキシ関連のパラメータにアクセスすることができるようにするものです。

Googleカレンダコンポーネントをフローに配置すると、Magic xpiは自動的にそのコンポーネントの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、コンポーネントの［ダイレクトアクセスメソッド］ダイアログボックスを開きます。ここで、Googleカレンダコンポーネントを設定することができます。

Googleカレンダ コンポーネントを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初にGoogleリソースを定義する必要があります。また、トリガとして使用しようとしている場合、［設定］ダイアログボックスの［サービス］セクションでFTPサービスを定義する必要があります。

Googleカレンダコンポーネントは、以下のインタフェースをサポートします。

  • メソッド


Googleカレンダ - メソッド

Googleカレンダコンポーネントを設定するには、以下のメソッドを使用してください。

  • Add Calendar Subscription

  • Add User to Access Control

  • Create Calendar

  • Create Calendar Event

  • Delete Calendar

  • Delete Calendar Event

  • Delete Calendar Subscription

  • Modify Calendar

  • Modify Calendar Event

  • Modify Calendar Subscription

  • Modify User Access Rights

  • Read Calendar Event

  • Remove User Access

  • Retrieve Access Control List

  • Retrieve Calendar List

以下の表は、使用可能なメソッドとパラメータの一覧です。太文字は、必須項目です。

メソッド

パラメタ

説明

Add Calendar Subscription

指定されたカレンダにユーザをサブスクライブします。

カレンダID

サブスクリプションを指定したカレンダIDに追加します。このパラメータは、追加／修正するイベントの位置付けるために使用されます。

エラーコード

Magic xpiのエラーコードが戻ります。

Add User to Access Control

ユーザをアクセス制御リストに追加し、ユーザのアクセス権を設定します。

カレンダID

ユーザとユーザのアクセス権を指定したカレンダIDのアクセス制御リストに追加します。

ユーザ

アクセス制御リストに追加したいユーザID。以下のようなユーザのGmailアドレスを入力します。:xyz@gmail.com

権利

ドロップダウンリストからユーザクラスに従って、以下のアクセス権を選択します。

  • FREEBUSY

  • READ

  • EDITOR

  • OWNER

エラーコード

Magic xpiのエラーコードが戻ります。

Create Calendar

新しい第2のカレンダを作成します(ユーザのメインカレンダは作成できません)。

タイトル

カレンダのタイトル

説明

カレンダの説明

ロケーション

カレンダの場所

タイムゾーン

カレンダのタイムゾーン。例：”Asia/Tokyo”

非表示

カレンダがインタフェース内に表示されるかどうかを指定します。ドロップダウンリストから、どちらかを選択してください。:

  • False

  • True

選択

カレンダがインタフェースから選択できるかどうかを指定します。ドロップダウンリストから、どちらかを選択してください。

  • False

  • True

色

カレンダのユーザインターフェイスの色

カレンダID

新しく作成されたカレンダのAtom ID

エラーコード

Magic xpiのエラーコードが戻ります。

Create Calendar Event

指定されたGoogleカレンダ内の単一イベントを作成します。

カレンダID

(デフォルトの)メインアカウント以外のカレンダアカウントを指定します。

タイトル

イベントのタイトル

説明

イベントの説明

ロケーション

イベントの場所

終日イベント

イベントが終日行われるものかどうかを指定します。ドロップダウンリストから、どちらかを選択してください:

  • No (デフォルト)

  • Yes

イベント開始日

イベントの開始日

イベント開始時刻

イベントの開始時刻

期間（分）

イベントの期間

イベント終了日

イベントの終了日

［終日イベント］がYesに設定された場合のみ有効です。

イベントの繰り返し

イベントの繰り返し間隔を選択します。ドロップダウンリストから、どちらかを選択してください。

  • 繰返なし

  • 日次

  • 週次

  • 月次

  • 年次

毎回繰り返し

繰り返しで選択された値の繰返し頻度を指定します。

［イベントの繰り返し］パラメータが繰返なし以外に設定された場合に有効です。

繰り返し終了日

イベントの終了日。ここに、値を設定しない場合、永久に繰り返されます。

［イベントの繰り返し］パラメータが繰返なし以外に設定された場合に有効です。

毎週繰返し

イベントが毎週どの曜日に実行されるかを、数値で指定します。

  • 1= 日曜日

  • 2= 月曜日

  • 3= 火曜日

  • 4= 水曜日

  • 5= 木曜日

  • 6= 金曜日

  • 7= 土曜日

例えば、イベントを日曜日と水曜日、金曜日に実行させる場合は、1,4,6と指定します。

［イベントの繰り返し］パラメータが週次に設定された場合以外で有効です。

毎月繰返し

イベントが毎月繰り返される日付をドロップダウンリストから選択します。有効な値は1-31です。

［イベントの繰り返し］パラメータが月次に設定された場合以外で有効です。

参加者

参加者の電子メールアドレスをカンマ区切りで入力します。通知は、指定された全てのアドレスに送信されます。

リマインダーのメソッド

Googleカレンダから通知をを受け取る方法を選択します。ドロップダウンリストから、どちらかを選択してください。

  • 通知なし (デフォルト)

  • デフォルト

  • アラート

  • 電子メール

  • SMS

リマインダーの期間

Googleカレンダから通知を受け取る頻度を数値で指定します。

この値は、［通知頻度タイプ］パラメータで指定された頻度で通知を行います。

［通知方法］パラメータがアラート、電子メール、またはSMSに設定される場合、このパラメータは有効です。

リマインダーの期間タイプ

通知頻度のタイプをドロップダウンリストから選択します。

  • 分

  • 時

  • 日

  • 週

［通知方法］パラメータがアラート、電子メール、またはSMSに設定される場合、このパラメータは有効です。

イベント期間を表示

イベントの有効性を表示します。ドロップダウンリストから、どちらかを選択してください。

  • 使用可能

  • ビジー状態 (デフォルト)

プライバシー

必要なプライバシーレベルをドロップダウンリストから選択します。

  • デフォルト (デフォルト)

  • プライベート

  • パブリック

拡張プロパティ

拡張されたプロパティ(任意の名前の組合せ)をカレンダイベントに追加することができます。追加された内容は、アプリケーション固有のIDまたはGoogleカレンダとアクセスする際にアプリケーションに必要な情報を保存するために使用されます。

プロパティの名前は、最大47桁まで指定できます。値は最大1024桁までの文字を含めることができます。拡張されたプロパティは、カレンダのユーザインターフェイス内で表示されないAPIを使用してのみアクセスできます。

これらは、以下の例に従って<名前>,<値>のフラットファイルフォーマットで指定します。

  • Pr1,56

  • Pr2,user

  • Pr3,password

イベントID

新しく作成されたイベントID

エラーコード

Magic xpiのエラーコードが戻ります。

Delete Calendar

ユーザがオーナ権利を持っているカレンダを削除します。

カレンダID

削除したいカレンダID

エラーコード

Magic xpiのエラーコードが戻ります。

Delete Calendar Event

指定されたGoogleカレンダからイベントIDに基づくカレンダイベントを削除します。(イベントが繰り返し可能になっている場合、すべてのイベントが削除されます。)

カレンダID

このパラメータは、(デフォルトの)メインアカウント以外のカレンダアカウントを指定します。

イベントID

削除したいイベントのID

エラーコード

Magic xpiのエラーコードが戻ります。

Delete Calendar Subscription

カレンダをユーザのアカウントから削除します。

カレンダID

このカレンダIDへのユーザの登録を削除します。

エラーコード

Magic xpiのエラーコードが戻ります。

Modify Calendar

ユーザがオーナ権利を持っているカレンダを更新します。

カレンダID

更新したいカレンダID

タイトル

カレンダのタイトル

説明

カレンダの説明

ロケーション

カレンダの場所

タイムゾーン

カレンダのタイムゾーン。例：”Japan/Tokyo”

非表示

カレンダがインタフェース内に表示されるかどうかを指定します。ドロップダウンリストから、どちらかを選択してください。

  • False

  • True

選択

カレンダがインタフェースから選択できるかどうかを指定します。ドロップダウンリストから、どちらかを選択してください。

  • False

  • True

色

カレンダのユーザインターフェイスの色

エラーコード

Magic xpiのエラーコードが戻ります。

Modify Calendar Event

指定されたGoogleカレンダ内のイベントを更新します。

カレンダID

(デフォルトの)メインアカウント以外のカレンダアカウントが指定できます。このパラメータは、追加／修正したいイベントの位置付けを行うために使用されます。

イベントID

更新したいイベントID

タイトル

カレンダのタイトル

説明

カレンダの説明

ロケーション

イベントの場所

終日イベント

イベントが終日行われるものかどうかを指定します。ドロップダウンリストから、どちらかを選択してください。

  • 変更なし (デフォルト)

  • No

  • Yes

イベント開始日

更新されるイベントの開始日

［終日イベント］がYes/Noに設定された場合のみ有効です。

イベント開始時刻

更新されるイベントの開始時刻

［終日イベント］がNoに設定された場合のみ有効です。

期間（分）

更新されるイベントの期間

［終日イベント］がNoに設定された場合のみ有効です。

イベント終了日

イベントの終了日

［終日イベント］がYesに設定された場合のみ有効です。

イベントの繰り返し

イベントの繰り返し間隔を選択します。ドロップダウンリストから、どちらかを選択してください。

  • 変更なし (デフォルト)

  • 繰り替しの削除

  • 日次

  • 週次

  • 月次

  • 年次

毎回繰返す

繰り返しで選択された値の繰返し頻度を指定します。

［イベントの繰り返し］パラメータが変更なし以外に設定された場合に有効です。

毎週繰返す

イベントが毎週どの曜日に実行されるかを、数値で指定します。

  • 1= 日曜日

  • 2= 月曜日

  • 3= 火曜日

  • 4= 水曜日

  • 5= 木曜日

  • 6= 金曜日

  • 7= 土曜日

例えば、イベントを日曜日と水曜日、金曜日に実行させる場合は、1,4,6と指定します。

［イベントの繰り返し］パラメータが週次に設定された場合以外で有効です。

毎月繰返す

イベントが毎月繰り返される日付をドロップダウンリストから選択します。有効な値は1-31です。

［イベントの繰り返し］パラメータが月次に設定された場合以外で有効です。

繰り返し終了日

イベントの終了日。ここに、値を設定しない場合、永久に繰り返されます。

［イベントの繰り返し］パラメータが変更なし以外に設定された場合に有効です。

参加者アクション

カレンダが更新された場合の、参加者のメールアドレスの対応を指定します。ドロップダウンリストから、どちらかを選択してください。

  • 変更なし (デフォルト)

  • 追加

  • 削除 (［参加者］パラメータで指定されたアドレスを削除します)

  • 上書

参加者

参加者の電子メールアドレスをカンマ区切りで入力します。通知は、指定された全てのアドレスに送信されます。

［参加者への対応]パラメータが、変更しない以外の場合のみ有効です。

リマインダーのメソッド

Googleカレンダから通知をを受け取る方法を選択します。ドロップダウンリストから、どちらかを選択してください。

  • 変更なし (デフォルト)

  • リマインダー削除

  • アラート

  • 電子メール

  • SMS

リマインダーの索引

このパラメータは、特定のイベントに対する通知を設定します。例えば、イベントを実施する2日前に通知を受け取ったり、15分前にSMSで受け取ることができます。ドロップダウンリストから、必要なインデックスを選択してください。

  • 最初のリマインダー

  • 2番目のリマインダー

  • 3番目のリマインダー

  • 4番目のリマインダー

  • 5番目のリマインダー

［通知方法］パラメータがリマインダー削除、アラート、電子メール、またはSMSに設定された場合に有効になります。

リマインダーの期間

Googleカレンダから通知を受け取る頻度を数値で指定します。この値は、通知頻度タイプで指定された頻度で通知を行います。

［通知方法］パラメータがアラート、電子メール、またはSMSに設定された場合に有効になります。

リマインダーの期間タイプ

通知期間のタイプをドロップダウンリストから選択します。

  • 分

  • 時

  • 日

  • 週

［通知方法］パラメータがアラート、電子メール、またはSMSに設定された場合に有効になります。

イベント期間を表示

イベントの有効性を表示します。ドロップダウンリストから、どちらかを選択してください。

  • 変更なし (デフォルト)

  • 使用可能

  • ビジー状態

プライバシー

必要なプライバシーレベルをドロップダウンリストから選択します。

  • 変更しない (デフォルト)

  • デフォルト

  • プライベート

  • パブリック

拡張プロパティ

拡張されたプロパティ(任意の名前の組合せ)をカレンダイベントに追加することができます。追加された内容は、アプリケーション固有のIDまたはGoogleカレンダとアクセスする際にアプリケーションに必要な情報を保存するために使用されます。

プロパティの名前は、最大47桁まで指定できます。値は最大1024桁までの文字を含めることができます。拡張されたプロパティは、カレンダのユーザインターフェイス内で表示されないAPIを使用してのみアクセスできます。

これらは、以下の例に従って<名前>,<値>のフラットファイルフォーマットで指定します。

  • Pr1,56

  • Pr2,user

  • Pr3,password

エラーコード

Magic xpiのエラーコードが戻ります。

Modify Calendar Subscription

カレンダの個人設定を更新します。

カレンダID

このカレンダーIDに対する登録情報を更新します。

色

カレンダのユーザインタフェース色

UIで非表示

カレンダ情報がユーザインターフェイス内で表示されるかどうかを指定します。ドロップダウンリストから、どちらかを選択してください。

  • ' '
    • 変更なし (デフォルト)

    • ' '
      • False

      • ' '
        True

UIで選択

カレンダがユーザインターフェイスで選択できるかどうかを指定します。ドロップダウンリストから、どちらかを選択してください。

  • 変更なし (デフォルト)

  • False

  • True

エラーコード

Magic xpiのエラーコードが戻ります。

Modify User Access Rights

カレンダのアクセス制御リスト内のユーザ許可を更新します。

カレンダID

アクセス制御リストを更新したいカレンダID

ユーザ

アクセス制御リストで修正したいユーザのID。以下のようなGmailアドレスを入力します。 xyz@gmail.com.

権利

ドロップダウンリストからユーザクラスに従って、以下のアクセス権を選択します。

  • FREEBUSY

  • READ

  • EDITOR

  • OWNER

エラーコード

Magic xpiのエラーコードが戻ります。

Read Calendar Events

指定されたGoogleカレンダからフィルタパラメータを基にカレンダーイベントを参照します。

カレンダID

(デフォルトの)メインアカウント以外のカレンダアカウントが指定できます。

イベント開始日

イベントの日付範囲の開始日付(空白の場合は、01/01/1970が割り当てられます。)

イベント開始時刻

イベントの時刻範囲の開始時刻

イベント終了日

イベントの日付範囲の終了日付(空白の場合は、01/01/2031が割り当てられます。)

イベント終了時刻

イベントの時刻範囲の終了時刻

フルテキスト検索

すべてのカレンダイベント内のテキストを検索をするための文字列を入力します。

シングルイベントとして読込

単一イベントとしてイベントを読み込むかどうかを指定します。ドロップダウンリストから、どちらかを選択してください。

  • Yes (デフォルト)

  • No

出力タイプ

取得されるイベントの出力タイプ。ドロップダウンリストから、どちらかを選択してください。

  • ファイル (デフォルト)

  • BLOB

出力構造

取得されるイベントの出力フォーマット。ドロップダウンリストから、どちらかを選択してください。

  • XML (デフォルト)

  • フラットファイル

ファイルへの出力

取得されたイベントを保持するファイル名をフルパスで指定します。

［出力タイプ］がファイルの場合のみ有効です。

出力

このパラメータは、(XMLまたはフラットファイルを保持する)BLOB変数を選択します。

［出力タイプ］がBLOBの場合のみ有効です。

エラーコード

Magic xpiのエラーコードが戻ります。

Remove User Access

ユーザをカレンダのアクセス制御リストから削除します。

カレンダID

ユーザのアクセス権を削除したいカレンダのID

ユーザ

アクセス権を削除したいユーザ。以下のようなGmailアドレスを入力します。 xyz@gmail.com.

エラーコード

Magic xpiのエラーコードが戻ります。

Retrieve Access Control List

カレンダへのアクセス権をのリストをカンマ区切りで作成します。

カレンダID

識別用のカレンダID

ユーザ権利リスト

カンマは<ユーザ>,<アクセス権>のフラットファイルを区切ります。アクセス権は、以下のユーザ分類に基づきます。

  • FREEBUSY……このユーザは、フリー/ビジーの情報のみ参照できます。

  • READ……このユーザは、すべてのイベント詳細を参照することができます。

  • EDITOR……このユーザは、イベントを変更することができます。

  • OWNER……このユーザは、変更や共有管理を行うことができます。

エラーコード

Magic xpiのエラーコードが戻ります。

Retrieve Calendar List

ユーザのGoogleカレンダのユーザインターフェイスに表示されるカレンダのリストを取得します。

リストタイプフィルタ

取得されるカレンダのリストに表示されるカレンダを制御します。ドロップダウンリストから、どちらかを選択してください。

  • 全カレンダ(メイン、２番目、入力されたカレンダー)

  • 自身のカレンダ(メイン、２番目のみ)

出力タイプ

取得されるカレンダリストの出力タイプ。XMLフォーマットでのみ出力されます。ドロップダウンリストから、どちらかを選択してください。

  • ファイル (デフォルト)

  • 変数

ファイルへの出力

取得されたイベントを保持するファイル名をフルパスで指定します。

［出力タイプ］がファイルの場合のみ有効です。

出力

このパラメータは、（XMLを保持する)BLOB変数を選択します。

［出力タイプ］が 変数 の場合のみ有効です。

エラーコード

Magic xpiのエラーコードが戻ります。

関連トピック：

ダイレクトアクセスメソッドの使い方


Googleカレンダ - エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。Googleカレンダコンポーネントのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

Googleカレンダコンポーネントのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーもGoogleカレンダコンポーネントで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
5000 | 接続エラー
5001 | カレンダ処理のエラー
5002 | カレンダイベント処理のエラー
5003 | カレンダアクセスコントロール処理のエラー
5004 | カレンダサブスクリプション処理のエラー

関連トピック：

Magic xpiのエラー処理


Google ドライブ

Googleドライブコンポーネントは、Magic xpiとGoogleドライブ間の接続性を提供します。

Googleドライブコンポーネントを使用するには、OAuth 2.0認証フローを完了しなければなりません。

関連トピック：

Googleドライブ - 設定

Googleドライブ - エラー処理

Googleトラブルシューティング


Googleドライブ - 設定

Googleドライブコンポーネントは、Magic xpiとGoogleドライブ間の接続性を提供します。

Googleドライブコンポーネントをフローに配置すると、Magic xpiは自動的にそのコンポーネントの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、コンポーネントの［ダイレクトアクセスメソッド］ダイアログボックスを開きます。ここで、Googleドライブコンポーネントを設定することができます。

Googleドライブ コンポーネントを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初にGoogleリソースを定義する必要があります。

Googleドライブコンポーネントは、以下のインタフェースをサポートします。

  • メソッド


Googleドライブ - メソッド

Googleドライブコンポーネントを設定するには、以下のメソッドを使用してください。

  • Create Folder

  • Delete

  • Download Item

  • Move

  • Query Item List

  • Retrieve Item List

  • Set Item Access Control

  • Update Item

  • Upload Item

以下の表は、使用可能なメソッドとパラメータの一覧です。太文字は、必須項目です。

メソッド

パラメタ

説明

Create Folder

親フォルダパスを指定するか、そのルートパスとして特定のフォルダIDを指定します。このどちらでもない場合は、フォルダはルートの配下に作成されます。

フォルダ名

作成したいフォルダ名。

をクリックして式エディタを開き、フォルダ名を入力してください。

親を探す

親に位置付ける方法を指定します。ドロップダウンリストから、どちらかを選択してください:

  • キー (デフォルト)

  • パス

親フォルダパス

親フォルダのパス。ルートフォルダから始まる以下のフォーマットで指定してください。:

/FolderA/FolderB/…..

をクリックして式エディタを開き、必要なパスを入力してください。このパラメータは、［親を探す］パラメータがパスの場合のみ有効です。

親フォルダキー

親フォルダのキー。

をクリックして式エディタを開き、必要なキーを入力してください。このパラメータは、［親を探す］パラメータがキーの場合のみ有効です。

フォルダキー

作成されたフォルダキーが返ります。

をクリックすると変数リストが開きます。作成されるフォルダキーが返る変数を選択し、［選択］をクリックします。

エラーコード

Googleドライブのエラーコードが戻ります。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Delete

ドキュメントIDに基づきドキュメントまたはフォルダを削除します。

キー

削除したいドキュメントまたはフォルダのキー。

をクリックして式エディタを開き、ドキュメントかフォルダのキーを入力してください。

永久削除

最初に［ごみ箱］フォルダに移動しないで恒久的にファイルを削除するかどうかを指定します。ドロップダウンリストから以下のどれかを選択してください：

  • No (デフォルト)

  • Yes

For use with: 4.1 以上

エラーコード

Googleドライブのエラーコードが戻ります。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Download Item

ドキュメントをMagic xpi変数に出力します。各ドキュメントタイプを指定することで、様々なフォーマットで出力することができます。

キー

ドキュメントフィードへのアクセスに使用したいドキュメントまたはフォルダのキー。

をクリックして式エディタを開き、ドキュメントかフォルダのキーを入力してください。

タイプ

ダウンロードしたいアイテムのタイプ。ドロップダウンリストから、どれかを選択してください。

  • デフォルト

  • 文書

  • スプレッドシート

  • プレゼンテーション

  • 描画

［タイプ］パラメータがデフォルトに設定されて、ファイルのMIMEタイプがGoogleドライブMIMEタイプ(https://developers.google.com/drive/web/mime-types)の場合、ファイルは以下のようにダウンロードされます。

  • MIMEタイプがデフォルトの場合、ファイルはdocxとしてダウンロードされます。

  • MIMEタイプがスプレッドシートの場合、ファイルはxlsxとしてダウンロードされます。

  • MIMEタイプがプレゼンテーションの場合、ファイルはpptxとしてダウンロードされます。

  • MIMEタイプが描画の場合、ファイルはjpegとしてダウンロードされます。

しかし、［タイプ］パラメータがデフォルトに設定され、MIMEタイプがGoogle Drive oneでない場合、ファイルは、そのままダウンロードされます。これは、ファイルが［mime Type］プロパティに表示されるものと同じ拡張子で保存されることを意味しています。

書式

ダウンロードされるアイテムの書式。有効なオプションは、［タイプ］パラメータに依存します。

［タイプ］パラメータで文書を選択した場合、以下のオプションが有効になります。

  • docx

  • odt

  • pdf

  • txt

  • rtf

  • html

［タイプ］パラメータでスプレッドシートを選択した場合、以下のオプションが有効になります。

  • xlsx

  • pdf

  • csv

［タイプ］パラメータでプレゼンテーションを選択した場合、以下のオプションが有効になります。

  • pdf

  • pptx

  • txt

［タイプ］パラメータで描画を選択した場合、以下のオプションが有効になります。

  • svg

  • jpg

  • png

  • pdf

［タイプ］パラメータでデフォルトを選択した場合、このパラメータは無効です。

TSVとODSファイルは、Upload Itemメソッドを使用してアップロードされ、次にGoogleドライブのスプレッドシートに変換することができます。しかし、Download Itemメソッドの［タイプ］パラメータがスプレッドシートに設定された場合、GoogleドライブからODSとTSVフォーマットでファイルをダウンロードすることができません。ODSまたはTSVファイルを使用したい場合、Download Itemメソッドの［タイプ］パラメータをデフォルトに設定してください。

送り先フォルダ

アイテムのダウンロード先となるフォルダパス。このフォルダが存在していない場合、自動的に作成されます。

をクリックして式エディタを開き、必要なフォルダパスを入力してください。

ファイルを上書き

出力ファイルを上書きするかどうかを指定します。出力ファイルを上書きするかどうかを指定します。

  • Yes (デフォルト)

  • No

エラーコード

Googleドライブのエラーコードが戻ります。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Move

ドキュメントとフォルダを指定されたフォルダパスまたはIDに移動します。

キー

移動したいドキュメントまたはフォルダのキー。

をクリックして式エディタを開き、ドキュメントかフォルダを入力してください。

送り元の親を探す

送り元の親を位置付ける方法を指定します。ドロップダウンリストから、どちらかを選択してください。

  • キー (デフォルト)

  • パス

送り元の親フォルダのキー

ドキュメントとフォルダを移動したい送り元の親フォルダのキー。

をクリックして式エディタを開き、必要なキーを入力してください。

このパラメータを空白にした場合、ドキュメントとフォルダはルートフォルダの下に移動します。

［送り元の親を探す］がキーの場合のみ有効です。

送り元の親フォルダのパス

ドキュメントとフォルダを移動したいソースの親フォルダのパス。ルートフォルダから始る、以下のフォーマットで指定してください。

FolderA/FolderB/...

をクリックして式エディタを開き、必要なパスを入力してください。

このパラメータを空白にした場合、ドキュメントとフォルダはルートフォルダの下に移動します。

［送り元の親を探す］がパスの場合のみ有効です。

送り先の親を探す

送り先の親を位置付ける方法を指定します。ドロップダウンリストから、どちらかを選択してください。

  • キー (デフォルト)

  • パス

送り先の親フォルダのキー

ドキュメントとフォルダを移動したい送り先の親フォルダのキー。

をクリックして式エディタを開き、必要なキーを入力してください。

このパラメータを空白にした場合、ドキュメントとフォルダはルートフォルダの下に移動します。

［送り元の親を探す］がキーの場合のみ有効です。

送り先の親フォルダのパス

ドキュメントとフォルダを移動したい送り先の親フォルダのパス。ルートフォルダから始る、以下のフォーマットで指定してください。

FolderA/FolderB/...

をクリックして式エディタを開き、必要なパスを入力してください。

このパラメータを空白にした場合、ドキュメントとフォルダはルートフォルダの下に移動します。

［送り元の親を探す］がパスの場合のみ有効です。

エラーコード

Googleドライブのエラーコードが戻ります。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Query Item List

様々な検索パラメータに基づいたドキュメントのリストを検索します。

名前

検索したいアイテム名

をクリックして式エディタを開き、必要な名前を入力してください。

正確な名前

［名前］パラメータで指定されたアイテム名が正確な文字列として取得されるべきかどうかを指定します。従って、［名前］パラメータに値を入力した場合のみ有効です。

ドロップダウンリストから、どちらかを選択してください。

  • No (デフォルト)

  • Yes

コンテンツ内内のテキスト検索

ドキュメントの内容の指定したテキストを検索します。これは、単語全体に対してのみ適用されます。検索結果には、部分文字列は含まれません。

をクリックして式エディタを開き、必要なテキストを入力してください。

アイテムタイプ

検索したいアイテムのタイプ。ドロップダウンリストから、どちらかを選択してください。

  • 全て (デフォルト)

  • 文書

  • フォルダ

  • PDF

  • プレゼンテーション

  • スプレッドシート

  • 病害

アイテムステータス

検索したいアイテムのステータス。ドロップダウンリストから、どちらかを選択してください。

  • 全て (デフォルト)

  • スター付き

  • ごみ箱

  • 非表示

フォルダを表示

検索結果をドキュメントと同様にフォルダを戻すかどうかを指定します。ドロップダウンリストから、どちらかを選択してください。

  • No (デフォルト)

  • Yes

削除済みを表示

削除されたをドキュメンを戻すかどうかを指定します。ドロップダウンリストから、どちらかを選択してください。

  • No (デフォルト)

  • Yes

フォルダ内

検索アイテムを保持するフォルダのファイルパス。

をクリックして式エディタを開き、必要なフォルダを入力してください。区切り文字として「\」を使用してください。

開く（から）

指定した2つの時間内にオープンされたアイテムを検索します。検索したい開始時間を指定することができます。

をクリックして式エディタを開き、必要な時間を入力してください。RFC3339に準拠したフォーマットで入力します。例：2005-08-09T09:57:00-08:00.

開く（まで）

指定した2つの時間内にオープンされたアイテムを検索します。検索したい終了時間を指定することができます。

をクリックして式エディタを開き、必要な時間を入力してください。RFC3339に準拠したフォーマットで入力します。例：2005-08-09T09:57:00-08:00.

オーナー

指定したオーナを持つアイテムを検索します。

をクリックして式エディタを開き、オーナのメールアドレスを入力してください。例：owner=user@gmail.com

共同作業者

指定したユーザによって書き込まれたドキュメントを検索します。

をクリックして式エディタを開き、メールアドレスを入力してください。複数のアドレスを指定する場合は、カンマ区切りでつなげてください。例：writer=user1@gmail.com,user2@gmail.com

ビューア

指定したユーザが読み込むことができるドキュメントを検索します。

をクリックして式エディタを開き、メールアドレスを入力してください。複数のアドレスを指定する場合は、カンマ区切りでつなげてください。例：writer=user1@gmail.com,user2@gmail.com

アイテムリスト

アイテムリストを含むXMLが戻ります。

をクリックして変数リストを開きます。XMLが戻るBLOB変数を指定して、［選択］をクリックしてください。

エラーコード

Googleドライブのエラーコードが戻ります。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Retrieve Item List

現在検証されているユーザの全てのアイテムのリストを取得します。

アイテムリスト

アイテムとそれらの詳細のリストを含むXMLが戻ります。

をクリックして変数リストを開きます。XMLが戻るBLOB変数を指定して、［選択］をクリックしてください。

エラーコード

Googleドライブのエラーコードが戻ります。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Set Item Access Control

アイテムのためにユーザ権利を指定します。

キー

アクセス権を設定したいしたいアイテムのキー。

をクリックして式エディタを開き、必要なキーを入力してください。

ユーザ

アクセス権を与るユーザ。

をクリックして式エディタを開き、必要なユーザIDを入力してください。

権利

指定したユーザに設定したいアクセス権のタイプを指定します。ドロップダウンリストから、以下のアクセス権を選択します。

  • オーナー (デフォルト)

  • コラボレーター

  • ビューアー

  • アクセス不可

アイテムはオーナを持つ必要があります、アイテムに対してオーナは1人しかいないかもしれません。

エラーコード

Googleドライブのエラーコードが戻ります。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Update Item

アイテムのメタデータ特性と内容を更新します。

キー

更新したい既存のアイテムのキー。

をクリックして式エディタを開き、必要なキーを入力してください。

名前

更新したいアイテムの新しい名前。このパラメータは、現在のアイテムに新しく名前をつけます。

をクリックして式エディタを開き、必要な名前を入力してください。

スター付

星印でアイテムをマークするかどうかを指定します。ドロップダウンリストから、どちらかを選択してください。

  • 変更なし (デフォルト)

  • Yes

  • No

隠す

隠しアイテムになるように、マークされるかどうかを指定します。ドロップダウンリストから、どちらかを選択してください。

  • 変更なし (デフォルト)

  • Yes

  • No

ファイルパス

現在のドキュメントを上書きするファイル名をフルパスで指定します。

をクリックして式エディタを開き、必要なパスを入力してください。

エラーコード

Googleドライブのエラーコードが戻ります。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Upload Item

Googleドライブにアイテムをアップロードします。

名前

オプションのアイテム名

をクリックして式エディタを開き、必要な名前を入力してください。空白にした場合、アイテムファイル名が名前になります。

パス

アップロードしたいアイテムをフルパスで指定します。

をクリックして式エディタを開き、必要なパスを入力してください。

親を探す

親フォルダをどのように位置付けるかを指定します。ドロップダウンリストから以下のどれかを選択してください：

  • キー (デフォルト)

  • パス

For use with: 4.1 以上

親フォルダキー

アップロードしたいドキュメントとフォルダの親フォルダのキー。

をクリックして式エディタを開き、必要な親フォルダのキーを入力してください。

［親を探す］パラメータにキーが設定されている場合のみ有効です。

For use with:4.1 以上

親フォルダパス

アイテムをアップロードしたいフォルダのパス。ルートフォルダから始まるパスは以下のフォーマットで指定してください：

FolderA/FolderB/...

をクリックして式エディタを開き、必要なパスを入力してください。フォルダが存在している場合は、アイテムはそこにアップロードされます。

［親を探す］パラメータにパスが設定されている場合のみ有効です。

For use with: 4.1 以上

ファイル変換

アイテムがそのオリジナルの拡張子でアップロードされるかどうか、またはGoogleドライブタイプに変換されるかどうかを指定します。ドロップダウンリストから以下のどれかを選択してください：:

  • No (デフォルト)

  • Yes

MimeTypes.propertiesファイル(Runtime\ifclib\googledocumentsフォルダ)には、GoogleドライブコネクタがサポートするすべてのMIMEタイプをリストされています。この変更可能なファイルは、サーバによって動的に読み込まれます。

For use with: 4.1 以上

キー

アップロードされたアイテムキーが返ります。

をクリックして変数リストを開きます。アップロードアイテムキーが返る変数を選択し、［選択］をクリックします。

エラーコード

Googleドライブのエラーコードが戻ります。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。


Googleドライブ - エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。Googleドライブコンポーネントのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

Googleドライブコンポーネントのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーもGoogleドライブコンポーネントで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
6000 | 接続エラー
6001 | ドキュメント処理のエラー
6002 | ドキュメントアクセスコントロール処理のエラー

関連トピック：

Magic xpiのエラー処理


HTTP

HTTPコンポーネントを使用すると、Magic xpiサーバはWebサーバからのHTTPリクエストを送受信することが可能になります。HTTPコンポーネントの使用方法には、以下の2つがあります。

プロクシサーバ経由でHTTPコンポーネントを使用する場合は、Magic.iniファイルの[MAGIC_ENV]セクションで以下のエントリを作成してください：

  • HTTPProxyAddress = <ProxyAddress>:<Port>
    例： 10.9.3.16:8080

  • HTTPTimeout = <Timeout>
    例： 5000

Webサーバは、HTTP呼び出し経由でMagic xpiフローの実行を起動するために必要です。

プロクシサーバを使用している場合のみ、プロクシサーバのアドレスを設定する必要があります。

フローのステップとして使用

HTTPコンポーネントは、様々なHTTPメソッドを使用して情報の送受信を行ないます。HTTPコンポーネントは、GetやPostのHTTPメソッドをサポートしています。PostやGet処理を選択する場合、URLを指定する必要があります。HTTPコンポーネントは要求されたURLに対してリクエストされた作業を行なうようにサーバに指示します。

  • Getメソッド …… 指定したURLが検索され、リクエスタに返されます。要求した情報は、ユーザBLOBに返送されます。

  • Postメソッド …… コンポーネントは情報を指定したURLに送ります。このメソッドは、掲示板を使用して情報を送り、ファイルをディレクトリに追加する場合に使用します。また、このメソッドを使用する場合、ヘッダ情報も指定する必要があります。

  • Restメソッド …… HTTPリクエストが実行されて、結果が返ります。

トリガコンポーネントとして使用

HTTPトリガコンポーネントは、フローをトリガするのに使用されます。また、Webでパラメータを渡すことを許可します。フローは、HTTPコンポーネントがWebでリクエストを受信したときにトリガされます。リクエストは特定の構文で送られます。リクエストには更新する必要のある引数とパラメータが含まれます。

HTTPフレームワーク設定を使用して潜在的なインフラストラクチャーを定義することができます。

HTTPリクエストボディの取得

HTTPリクエストボディを取得するには：

  1. Ensure that the <Magic xpi のインストールフォルダ>\Runtime\scripts\config\mgreq.ini ファイルの HttpVars の値が有効になっていることを確認してください。この場合、MG_POST_BODYが含まれています。

  2. フロー内で、フローがHTTPトリガによって呼び出されると、C.HTTP_Bodyコンテキスト項目はHTTP ボディの内容を保持します。

IISベースのWebリクエスタとApacheで使用するJavaベースのWebリクエスタに動作の違いがあります。Java WebリクエスタでフォームをWebリクエスタに送る時、フォームパラメータのすべてを取得します。しかし、C.HTTP_Body変数はステップで説明されたように設定内容にかかわらず空になります。IISでは、フォームパラメータと行HTTPリクエストボディの両方を受け取ります。

このコンポーネントを利用したサンプルプロジェクトが次のフォルダにあります。

<Magic xpi のインストールフォルダ>\Extra\SampleProjects

関連トピック：

HTTP – 設定

HTTP – エラーコード


HTTP - 設定

HTTPコンポーネントによってWorld Wide Webで情報をポストしたり、取得したりすることができます.

HTTPコンポーネントをフローに配置すると、Magic xpiは自動的にそのコンポーネントの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください

。そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、コンポーネントの［ダイレクトアクセスメソッド］ダイアログボックスを開きます。

HTTPコンポーネントを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初にHTTPリソースを定義する必要があります。また、トリガとして使用しようとしている場合、［設定］ダイアログボックスの［サービス］セクションでHTTPサービスを定義する必要があります。

表示されるダイアログボックスは、使用するかHTTPコンポーネントがトリガとしてか、フローのステップとしてかによって異なります 。フローのステップとしてコンポーネントを使用する場合は、以下のインタフェースを選択することができます。

  • メソッド

  • XML

フローをトリガするには、指定構文のHTTPリクエストもHTTPトリガに送信する必要があります。


HTTP - メソッド

以下のメソッドは、HTTPコンポーネントを構成する場合に使用されます。

  • GET

  • POST

  • REST

  • 特殊文字(%、&、<、そして>など)を含むデータでHTTPリクエストを出力するためにGET、POST、およびRESTのメソッドを使用すると適切なHTTPコードへのデータ変換が発生します。これ様なことを防止するには、HTTPリクエストのボディをそのまま送信することを許可するために、'content-type:text/html'をリクエストのHTTPヘッダに含めてください。

  • .Net Frameworkは、HTTPクライアントが要求するURLに対して’+’（プラス）または ’ ‘（スペース）文字をサポートしていません。

  • .HTTPリクエストのボディは、Unicodeにはできません。

次の表では、使用できるメソッドおよびパラメータを一覧にしています。太字表示のパラメータは必須です。

メソッド

パラメタ

説明

GET

HTTP Getコマンドを実行します。これは主にデータを回収し、ユーザBLOBで返すために使用されます。

開始テキスト

URLに必要なテキストへのカンマ区切りキーワードパス

終了テキスト

URLに終了テキストへのカンマ区切りキーワードパスを入力します。

ヘッダ情報

戻りHTMLを解析する際に必要なヘッダキーワード

ヘッダセット

HTTPヘッダに追加するテキストまたは式

出力BLOB

ユーザBLOBには、HTML Getオペレーションが返す出力情報が含まれます。

出力ヘッダ

をクリックして変数リストを開き、出力ヘッダを返す変数を選択します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

POST

HTTP Postコマンドを実行します。これはデータのアップロードや格納等、様々な操作に使用できます。

開始テキスト

URLに必要なテキストへのカンマ区切りキーワードパス

終了テキスト

URLに終了テキストへのカンマ区切りキーワードパスを入力します。

ヘッダ情報

戻りHTMLを解析する際に必要なヘッダキーワード

ヘッダセット

HTTP PostオペレーションとともにSend Dataオペレーションを使用するとき、ヘッダを入力します。

データBLOB

データBLOBには、HTML Postオペレーションが要求する入力情報が含まれます。

エンコーディング

送信するデータのエンコーディングを設定します。デフォルト値はKeep Existingです。

サポートされているエンコーディング値は、Keep Existing、UTF-8 with BOM、UTF-8、Unicode、Ansi、Binaryです。

実行時変換はデータBLOBに対して行われます。（参照： 変換テーブル）

HTTPのリクエストボディでUnicodeデータを送信する場合、一致するContent Typeのcharsetは、UTF-16LEである必要があります。

例：content-type:text/html; charset=UTF-16LE

Since version: 4.7

出力BLOB

ユーザBLOBには、HTML Postオペレーションが返す出力情報が含まれます。

出力ヘッダ

をクリックして変数リストを開き、出力ヘッダを返す変数を選択します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

REST

HTTP Requestを実行し結果を返します。

HTTP 動詞

ここでは、使用するメソッドを指定します。

ドロップダウンリストからの以下のどれかを選択します。

  • GET (デフォルト)

  • POST

  • PUT

  • HEAD

  • DELETE

参照： HTTPリクエストのHTTP Verbを取得するには

URL動的追加

HTTPアドレスを指定します。この値は、リソースURLの末尾に追加されます。

ヘッダ情報

応答用のHTTPヘッダを解析する際に必要なヘッダキーワード。この値は、出力ヘッダ内で有効になります。

ヘッダセット

HTTPヘッダに追加するユーザヘッダを入力します。

データBLOB

データBLOBには、HTML Callオペレーションによって要求される入力情報が含まれます。

エンコーディング

送信するデータのエンコーディングを設定します。デフォルト値はKeep Existingです。

実行時変換はデータBLOBに対して行われます。（参照： 変換テーブル）

Since version: 4.7

データのエンコーディングは、GETメソッドを除くすべてのメソッドでサポートされています。

出力BLOB

出力BLOBには、HTML Callオペレーションによって要求される出力情報が含まれます。

出力ヘッダ

をクリックして変数リストを開き、出力ヘッダを返す変数を選択します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

関連トピック：

ダイレクトアクセスメソッドの使い方


HTTP - 変換テーブル

実行時の変換は、次の表に従ってData Blobに対して行われます。

ファイルエンコーディング | Blobエンコーディング
 | Ansi | Unicode | UTF-8 | Binary
Keep Exsiting | そのまま | そのまま | そのまま | そのまま
UTF8 | UTF8に変換 | UTF8に変換する | そのまま | そのまま
Unicode | Unicodeに変換 | そのまま | Unicodeに変換 | そのまま
Ansi | そのまま | Ansiに変換 | Ansiに変換 | そのまま
Binary | そのまま | そのまま | そのまま | そのまま


HTTP - トリガ設定

HTTPコンポーネントはトリガとして利用することができます。この場合、HTTPコンポーネントは、Magic xpiサーバに対してWebサーバからのHTTPリクエストを受け付けます。HTTPトリガは、リクエストが指定構文で送信されるまで待機します。このリクエストは、コンポーネントに対してフローを起動するよう求めるものです。さらに、このリクエストはWebからのパラメータを渡すことが可能です。

HTTPトリガは、HTMLページからBLOBを受け取りフローに渡すことができます。トリガがBLOBを受け取ると、呼び出したフローのユーザBLOBをその値で更新します。

  • IISとHTTPトリガを使用するために、ASP.NET機能がインストールされるかどうかを確認してください。［Windowsの機能］ダイアログボックス(プログラムと機能 > Windowsの機能の有効化または無効化)の［インターネットインフォメーションサービス］の下でこれを行います。

  • Mgreq.iniファイルで設定しているRequesterTimeoutSecは、HTTPトリガのためにタイムアウトを設定します。RequesterTimeoutSecの設定値がより短い場合、異常終了したフローのリカバリポリシーの実行にかかる時間を使用するためリカバリは発生しません。

  • 戻されたBLOBが空の場合、ボディー自体も空になり、デフォルトのHTMLの内容は含まれません。

  • C.HTTP_BODYコンテキスト変数の情報と、Mgreq.iniファイルでHTTPvarsエントリを有効にする方法は、こことここをクリックしてください。

  • WebリクエスタとSOAPサーバの配備に関する詳細は、ここをクリックしてください。

［コンポーネント設定: HTTP］ダイアログボックスには以下のフィールドがあります。

プロパティ

説明

サービス詳細

サービス名

［設定］ダイアログボックスの［サービス］セクションで定義したサービスの名前。このフィールドは読み込み専用です。

HTTPトリガを外部アプリケーションから呼び出す場合、サービス名には#を付ける必要があります。

エンドポイント名

ドロップダウンリストからエンドポイントを選択します。エンドポイントは、［設定］ダイアログボックスのサービスセクションで作成されます。詳細は、ここをクリックしてください。

HTTPトリガを外部アプリケーションから呼び出す場合、エンドポイント名には#を付ける必要があります。

引数詳細

引数名

引数の名前は、［設定］ダイアログボックスの［サービス］セクションで定義されています。このフィールドは読み込み専用です。

データタイプ

変数のデータ型は、［設定］ダイアログボックスの［サービス］セクションで定義されています。このフィールドは読み込み専用です。

フォーマット

データタイプが保持する文字数

必須

この編集不可フィールドは、［エンドポイント］ダイアログボックスで［必須］チェックボックスにチェックを入れたかどうかに応じて、No/Yesが表示されます。詳細は、こちらを参照してください。

デフォルト値

この読み込み専用フィールドは、［エンドポイント］ダイアログボックスに入力されたデフォルト値を表示します。詳細は、ここをクリックしてください。

マッピング変数

引数はこのフィールドの変数選択ボックスで選択して、内部のMagic xpi変数にマッピングする必要があります。これらは外部のインターネットブラウザからMagic xpiに送られたパラメータであり、フローで使用されます。それぞれの必須な引数は変数にマッピングする必要があります。

をクリックして変数リストを開きます。必要な変数を選択し［選択］をクリックします。

追加詳細

戻値

表示用にインターネットブラウザーに戻されるBLOB変数です。これは有効なHTMLスクリプトのフォームになっています。

フィールドの右側にある [image] をクリックし、変数リストを開き、値が返される変数を選択します。

式検証

トリガに対する制限を定義する式。 をクリックして式エディタを開き、式を作成することができます。期待値の一覧がある場合、妥当性検査式を使用し、返された値が期待していたものかをチェックできます。例えば、ひとつのフィールドが成績の％値であった場合、値は0-100でのみ受け取ることができます。

妥当性検査式では全てのタイプの変数を使用することができます。これはフロー開始前に潜在的問題を特定することにより時間を節約することができます。妥当性確認に失敗すると処理は続行されません。

HTTPコンポーネントをトリガとして構成するには：

  1. HTTPを［設定］ダイアログボックスの［サービス］セクションでサービスとして定義してください。詳細は、ここをクリックしてください。

  2. HTTPコンポーネントをフローのトリガエリアに配置し、［プロパティ］ペインを開きます。

  3. ［設定］セクションで、ドロップダウンリストから必要なサービス名を選択してください。

  4. コンポーネントをダブルクリックするか、右クリックしコンテキストメニューから［構成］を選択してください。［コンポーネント設定： HTTP］ダイアログボックスを開くので適切な情報を入力します。.

妥当性検査式を作成し、フローをトリガする条件を作成することができます。詳細は、［妥当性検査式］（上記）を参照してください。

  5. HTTPトリガの構成が終了したら［OK］をクリックして設定を保存しダイアログボックスを終了します。［取消］をクリックすると設定を保存せずにダイアログボックスを終了します。

HTTPトリガを使用して実行した場合に、戻されたHTTPヘッダをコントロールすることについてのビデオデモンストレーションを見るために、ここをクリックしてください。


HTTP - トリガの構文

HTTPトリガコンポーネントがリクエストを受信した場合、フローを起動します。このリクエストは特定の構文で書かれていなければなりません。構文は通常、スタティックとダイナミックの2つ部分からなります。

特定のトリガの呼び出しを容易にするために、Magic xpiは、サンプルHTMLページを作成します。このHTMLページは、My Documents\Magic\projects\<プロジェクト名>\<現在のプロジェクト>\Service\<サービス名> フォルダに保存されます。

このファイルをクリックすると以下のようなHTMLが表示されます。このHTMLページの外観は変更することができます。

［Value］カラムに必要な情報を入力してください。エンジンが実行していれば、［Call Magic xpi］をクリックすることができます。実行していなければ動作しません。

このHTMLページを作成したくない場合、サービスリポジトリの［エンドポイント］ダイアログボックスにある［サンプルHTMLの作成］チェックポックスのチェックを外してください。

スタティック部分は、フローをトリガするために送信されるすべてのHTTPリクエストに関して同一です。このスタティック部分は、HTTPトリガコンポーネントの呼び出しに使用します。一方、ダイナミック部分は、Magic xpiのHTTPトリガにパラメータを渡す場合に使用します。渡したいパラメータの量およびタイプによって、HTTPリクエストのダイナミック部分の使用方法は決まります。.

正しい構文は：

http://<host>/<Magic xpi>/MgWebRequester.dll?appname=IFS<projectname>&prgname=HTTP&arguments=-A<ServiceName>%23<TriggerName>&<Parameter1Name>=<Parameter1Value>

HTTPリクエストのスタティック部分は以下のように書きこまれます：

http://<host>/<Magic xpi>/MgWebRequester.dll?appname=IFS<projectname>&prgname=HTTP

  • <host> は、Magic xpiサーバがインストールされているPCのホスト名になります。複数のMagic xpiサーバを使用中の場合は、HTTPコンポーネントと連携しているMagic xpiを搭載するコンピュータの名前にします。

  • <Magic xpi>：コンピュータに複数のMagic xpiサーバをインストールしている場合、このフローのためにどのMagic xpiを使用するかを指定する必要があります。デフォルトでは、2番目のインストールからは、Magic xpiに番号が付けられます（たとえば、Magic xpi_2）。したがって、Magic xpi_2を使用している場合、構文のこの部分もMagic xpi_2としなければなりません。

  • BLOBはサポートされていますがそれぞれのパラメータごとに一つのBLOBしか渡せません。

ダイナミック部分は次のように記述します。

&arguments=-A<ServiceName>%23<TriggerName>&<Parameter1Name>=<Parameter1Value>

  • &arguments=-A<ServiceName>は、パラメータを指定して呼び出されることを示しています。

  • 上の構文で、 %23 がURLエンコードプロセスに必要です。%23 はASCII文字の # を示します。

  • <TriggerName>は、呼び出すトリガの名前になります。これは、［HTTPトリガ構成］ダイアログボックスの［トリガ名］フィールドでHTTPトリガに付ける名前です。

  • ダイナミックセクションの2番目の部分は、パラメータを渡す引数の一覧です。それらはフロー、コンテキストまたはグローバル変数です。［HTTPトリガ構成］ダイアログボックスから使用したい引数を選択します。以下のように記述します。:

<Parameter1Name>=<Parameter1Value> Parameter1Nameが最初のパラメータの名前と変換され、 Parameter1Value がパラメータの値と変換されます。

  • 構文の後ろに複数のパラメータを列記するには以下のように記述します：

Parameter1Name=Parameter1value&Parameter2Name=Parameter2value


HTTP – エラーコード

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。HTTPコンポーネントのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

HTTPコンポーネントのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーもHTTPコンポーネントで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
350 | URLアクセスエラー
351 | トリガが見つからない
352 | アクセスが拒否された
353 | 条件失敗
354 | 必須パラメータがnullである
355 | パラメータが存在しない
356 | データBLOBは、PostメソッドのためにNullにはできません。

関連トピック：

Magic xpiのエラー処理


IBM i コネクタ

  • IBM iコネクタは、専用のライセンスを必要としています。

  • このコネクタはすべてのプラットフォームの上でサポートされているわけではありません。詳細は、ここを参照してください。

IBM iコネクタは、IBM iサーバと接続し、様々なIBM iのメソッドを実行します。

  • CL、RPG、またはCOBOLプログラムなどのIBM i HLL(ハイレベル言語)プログラムを呼び出します。

  • IBM i のOSコマンドを実行します。

  • Magic xpi の IBM i Argument Attribute String を自動的にビルドします。これは複数のパラメータをCL/RPG/COBOLプログラムに渡す時に必要です。

  • ユーザスペースのためにバイトを作成し、管理します。ユーザスペースは、ユーザ定義の情報を格納するために使用されたバイトのコレクションから成るオブジェクトです。これらは、システムドメインまたはユーザドメインのどちらかに置かれる永続オブジェクトです。大量の情報を格納し、オブジェクト情報を保存し、復元するためにユーザスペースを使用し、ワークまたはシステムの間でデータを渡すことができます。.

  • データキューオブジェクトを作成し、管理します。

IBM iコネクタを使用するには、PCにMagic xpi for IBM i i製品がインストールされていることを確認してください。インストールには、またIBM iサーバ上のホストライブラリも含まれます。

これらの機能のために、以下のメソッドが使用されます。

  • Run Command …… Magic xpiフローからIBM i のOSコマンドを実行することができます。

  • Program Call …… IBM iプログラムとの間で引数の受け渡しを行うことで、Magic xpiサーバとIBM iの間で情報を交換することができます。

  • Build Attribute String

  • IBM i上にあるユーザスペースオブジェクトを管理するメソッド。

  • IBM i上にあるデータキューオブジェクトを管理するメソッド。

  • IBM iコネクタを使用するには、PCにMagic xpi for IBM i i製品がインストールされていることを確認してください。インストールには、またIBM iサーバ上のホストライブラリも含まれます。IBM iシステム上でのメソッドの実行は、ISAMまたはSQLゲートウェイ経由で行われ、関連したユーザープロフィールの許可に完全に基づいています。

  • コンポーネントが最初に呼び出されると、IBM iコネクタはIBM iサーバと接続します。IBM iコネクタがアクティブな限り、接続はアクティブです。すなわち、コネクタが最初に呼び出されてから、コネクタ実行が完了するまで、アクティブになります。

関連トピック：

IBM iコネクタ - 設定

IBM iコネクタ - エラーコード

IBM iトラブルシューティング


IBM iコネクタ - 設定

IBM iコネクタは、IBM iコマンドを使用してIBM iソースにアクセスし、プログラムを呼び出します。

IBM iコネクタをフローに配置すると、Magic xpiは自動的にそのコンポーネントの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください

。そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、コンポーネントの［ダイレクトアクセスメソッド］ダイアログボックスを開きます。

IBM iコネクタを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初にIBM iリソースを定義する必要があります。

フローのステップとしてIBM iコネクタを使用する場合は、以下のインタフェースを選択することができます。

  • メソッド

  • XML

  • トリガ

  • コンポーネントに、ホストIPやユーザ名、パスワードなど、使用しているIBM iホストについての情報を提供しなければなりません。プログラム呼び出しを開始したい場合、送りたい引数を提供しなければなりません。

  • Magic xpiからHLLをプログラムと呼び出す際に受け取ったエラーメッセージのために,ユーザとQSYSOPR MSGQを監視する必要があります。
    例えば、CLプログラムからオブジェクトを作成する前に、CHKOBJコマンドを使用する必要があります。これは、プログラム呼び出しに対して*MSGWステータスを避けるためです(繰り返しMagic xpiから呼び出しを行うかもしれないため)。


IBM i コネクタ - トリガ設定

［コンポーネント設定：IBM i］ダイアログボックスには、以下のフィールドが含まれています。

名前

説明

オペレーションの詳細

キュー名

IBM iキュー名を指定します。

をクリックして式エディタを開きます。ここに必要な名前を入力してください。

データレシーバーのサイズ

IBM iから受け取るキューメッセージの中に何文字含めることができるかを指定します。

デフォルトは 30000文字です。

をクリックして式エディタを開きます。ここに必要な値を入力してください。

シーケンス

キューから受け取られるエントリの順番。ドロップダウンリストから以下のどれかを選択してください：

  • FIFO …… First in first out (デフォルト)

  • LIFO …… Last in first out

  • KEYED …… 特別なキーで定義されます。

キー順序

データキュー上のメッセージキーを検索する時に使用する比較条件。見つかったキーは、［キーデータ］フィールドのデータと比較されます。ドロップダウンリストから以下のどれかを選択してください：

  • より大きい

  • より小さい

  • 等しくない

  • 等しい

  • 以上

  • 以下

［シーケンス］フィールド(上記)がKEYEDに設定されると、このフィールドは有効になります。

キー長さ

これはキーが設定されたデータキューを作成する時に定義した同じ値にする必要があります。

キー長が指定されない場合、［キーデータ］パラメータの長さはデフォルトとして使用されます。

キーデータ

データキューからのメッセージを受け取るために使用されるデータ。

をクリックして式エディタを開き、必要なデータを入力してください。

［順序］フィールド(上記)がKEYEDに設定されると、このフィールドは有効になります。

メッセージ内容変数

フィールドの右側の [image] をクリックして変数リストを開きます。リストから、メッセージ内容で位置付ける変数を選択してください。

引数XML場所

フィールドの右側の [image] をクリックして変数リストを開きます。リストから、XML結果のために位置として変数を選択してください。

再接続ポリシー

再接続間隔（秒）

Magic xpiサーバが、IBM iサーバに再接続しようとする前に待つ間隔を秒j数で指定します。

をクリックして式エディタを開き、必要な秒数を入力してください。

再接続試行回数

Magic xpiサーバーがIBM iサーバに再接続するための回数の最大値。無制限に行う場合は、0を入力してください。

をクリックして式エディタを開き、必要な回数を入力してください。

キープアライブ間隔(分)

トリガ自動的に再起動する前に、応答なしになる時間（分）。

がその前で手ごたえがないかもしれない数分での時間は自動的に再スタートします。

デフォルト値は0です。これは、トリガが恒久的に応答しないことを意味しています。

このパラメータの値を選択する場合は、慎重に行ってください。選択された値が小さすぎると、有効な処理が完了する前に、トリガが終了するかもしれません。

トリガとしてIBM iコネクタを使用するには：

  1. ［設定］ダイアログボックスの［リソース］]セクションでIBM iリソースを定義してください。詳細は、ここをクリックしてください。

  2. ［設定］ダイアログボックスの［サービス］セクションの中でIBM iサービスを定義してください。詳細は、ここをクリックしてください。

  3. IBM iコネクタをMagic xpiのトリガエリアにドラッグしてください。これを行うと、コネクタのための［プロパティ］ペインが開きます。

  4. ［設定］セクションで、ドロップダウンリストから必要なサービス名を選択してください。

  5. コネクタをダブルクリックするか、右クリックしてコンテキストメニューから［設定］を選択してください。［コンポーネント設定： IBM i］ダイアログボックスを開くので適切な情報を入力します。

  6. IBM iトリガの構成が終了したら［OK］をクリックして設定を保存しダイアログボックスを終了します。［取消］をクリックすると設定を保存せずにダイアログボックスを終了します。


IBM i コネクタ - メソッド

以下のメソッドは、IBM iコネクタを設定するために使用されます：

  • Build Attribute String

  • Clear Queue

  • Create Queue

  • Create User Space

  • Create/Update Stream File

  • Delete Queue

  • Delete User Space

  • Program Call

  • Receive Queue Data

  • Retrieve IFS Directory List

  • Retrieve Queue Description

  • Retrieve Spool File

  • Retrieve Spool List

  • Retrieve Stream File

  • Retrieve User Space

  • Run Command

  • Run Query

  • Send Data to Queue

  • Update User Space

次の表では、使用できるメソッドおよびパラメータを一覧にしています。太字表示のパラメータは必須です。

メソッド

パラメータ

説明

Build Attribute String

ビルドを行い、引数の属性文字を返します。それは、IBM iプログラムを呼びだすために使用されます。引数の文字列は、入出力情報と引数のタイプと長さを送ります。正しいフォーマットで文字列をビルドするには、このメソッドを使用してください。

このメソッドの使い方についての詳細は、ここをクリックしてください。

引数タイプ

ドロップダウンリストから引数のデータタイプを選択してください。次の中から選択できます。

  • 文字

  • 数値

  • ゾーン

引数長

引数の長さを入力してください。ここには数値を入力します。整数値を指定します。このフィールドでは、小数点の左に表示される数値を選択します。

規模

小数点の右に表示される数値を入力してください。

［引数タイプ］パラメータ(上記)で数値またはゾーンを選択した場合、このパラメータが有効になります。

引数方向

引数が入力または出力のどちらであるかを選択してください。ドロップダウンリストから選択します。

構造の開始/終了

引数が構造の中でどこにあるかを選択します。ドロップダウンリストから開始または終了を選択するとができます。

引数属性文字列

をクリックして変数リストを開きます。属性文字列が返る変数を選択してください。

Program Call メソッド［引数属性文字列］パラメータでこのパラメータを使用することができます。

例えば3つのパラメータを持つIBM iプログラムを呼び出すために引数属性文字列をビルドするために、このメソッドを3回呼び出し、フロー変数をすべての3つのメソッドの最後のパラメータに割り当てます。

Clear Queue

指定されたデータキューからすべてのデータをクリアするか、キーが設定されたデータキューからキー指定によって識別されたメッセージをクリアします。

データキュー名

データをクリアするデータキューの名前を入力してください。

ライブラリ

データキューが位置しているIBM iホストライブラリの名前を入力してください。

キーのオーダー

データキューでメッセージキーを検索する場合に使用する、比較条件を選択してください。見つかったキーは、［キーデータ］パラメータのデータと比較されます。

以下から選択してください：

  • より大きい

  • より小さい

  • 等しくない

  • 等しい

  • 以上

  • 以下

システムが要求されたキーを検索する場合、一致するものが見つかるまで、エントリは最も低い値キーから最も高い値キーへと昇順に検索されます。重複キーのエントリがある場合、最初にキューに置かれたエントリが取得されます。

キーの長さ

［キーデータ］パラメータの長さを入力してください。

［キーデータ］パラメータはキー定義されないデータキューの場合は0でなければなりません。キー定義されたデータキューのために、Create Queue メソッドの［キー長］パラメータで指定された長さと等しくなければなりません。

主要データ

データキューからのメッセージを受け取るために使用されるデータを入力してください。

利用可能なエラーバイト

返されるAPIで利用可能なエラー情報の長さ(バイト)。

0のidが入力されると、エラーは検出されず、構造の中でこのフィールドに続くフィールドは変更されません。

エラーコード

エラーが発生した場合に、このパラメータには対応するエラーコードが返ります。

をクリックして、変数リストを開きます。エラーコードが返る変数を選択して、［選択］をクリックしてください。

Create Queue

IBM iサーバ上のデータキューオブジェクトを作成します。IBM iでは、データキューは、プログラム間の通信のために使用されます。データキューは、書き込まれたレコードを持つデータベースファイルに似ています。1つ(または複数)のプログラムがエントリをキューに送ることができます。別のプログラムはデータキューからエントリを読むことができます。2つのプログラムの間の通信は非同期です。Magic xpiでは、データキューオブジェクトを管理するためにIBM iコネクタを使用することができます。

データキュー名

作成するデータキューの名前を入力してください。

ライブラリ

データキューが位置しているIBM iホストライブラリの名前を入力してください。

最大エントリ長

データキューに送られるエントリの最大長を入力してください。

シーケンス

エントリがデータキューから受け取る順番をドロップダウンリストから選択してください。

  • FIFO …… First in first out

  • LIFO …… Last in first out

  • KEYED …… 特別なキーで定義されます。

送信IDを含める

送信側IDをデータキューに送られた各メッセージに添付するかどうかを、ドロップダウンリストからYes/Noで選択します。IDはジョブ名と送信側の現在のユーザプロフィールを含んでいます。

エントリの最大数

データキューに割り当てられたストレージの量を入力してください。パラメータ要素は、エントリの最大数とデータキューのためのエントリの初期値から構成されています。可能な値は*MAX16MB、*MAX2GBvte、または1から999999までsの数値です。

最初のエントリ数

データキューが保持することができるエントリの最小値を入力してください。マシンによって使用された拡張サイズに基づくため、入力された値がよりデータキューエントリの最大値の方が少し大きいかもしれません。値は0より大きくなければなりません。

データキューテキスト説明

データキューの簡単な説明を入力してください。

権限

データキューに対する特定のプライベート、またはグループの権限を持っていないユーザに与える権限を入力してください。データキューが作成される場合、それが別のライブラリに移動したり、バックアップメディアから復元されると、その公開権利は同じ状態で維持されます。

有効な値は以下の通りです：

  • *ALL …… ユーザは、オブジェクト上のすべての許可された処理を実行することができます。

  • *CHANGE …… ユーザは、オブジェクトに対して読込、更新、削除処理を行う権限を持っています。

  • *EXCLUDE …… ユーザはオブジェクトにアクセスすることができません。

  • *LIBCRTAUT …… オブジェクトが作成される時に、データキューのための権利が対象となるライブラリのためにCRTAUT値から取り出されます。ライブラリのためのCRTAUT値が後で変更されると、その変更はすでに作成されたデータキューには影響しません。もしCRTAUT値が許可リスト名を含み、その許可リストがオブジェクトを保護するのであれば、リストを削除しないでください。そうしないと、*LIBCRTAUTパラメータは次回このAPIの呼び出しに失敗します。

  • *USE …… ユーザはオブジェクトとその説明を読み込むことはできますが、を変更することはできません。

  • Authorization list name …… データキューは指定された権限リストによって保護され、その権利は*AUTLに設定されます。APIが呼び出される時は、指定された権限リストがシステムの上になければなりません。もしそれが見つからない場合、作成処理は失敗し、アプリケーションにエラーが返ります。

データキューが作成された後で、それが別のライブラリに移動したり、バックアップメディアから復元された場合、その権限は同じ状態で維持されます。

エラーコード

エラーが発生した場合に、このパラメータには対応するエラーコードが返ります。

をクリックして、変数リストを開きます。エラーコードが返る変数を選択して、［選択］をクリックしてください。

Create User Space

作成ユーザーSpaceは、IBM iユーザスペースを作成します。それは、ユーザ定義の情報を格納するために使用されたバイトのコレクションです。これらは、システムドメインまたはユーザドメインのどちらかに置かれる永続オブジェクトです。

ユーザスペース名

ユーザスペースのために名前を入力してください。

ライブラリ

ユーザスペースが位置しているIBM iホストライブラリの名前を入力してください。

拡張属性

ユーザスペースの拡張属性を入力してください。例えば、*ファイルの種類であるオブジェクトタイプは、PF(物理ファイル)、LF(論理ファイル)、DSPF(表示ファイル)、またはSAVF(保存ファイル)の拡張属性を持つことができます。拡張属性は、有効な名前でなければなりません。パラメータを入力する時、大文字小文字を区別しませんが、APIがそれを大文字に変換します。

サイズ

作成されるユーザスペースの初期サイズを入力してください。この値は、1～16,776,704バイトであ指定できます。

初期値

ユーザスペース内の全てのバイト初期値を入力してください。

公的機関

ユーザスペースに対する特定のプライベート、またはグループの権限を持っていないユーザに与える権限を入力してください。有効な値は以下の通りです。

  • *ALL …… ユーザは、オブジェクト上のすべての許可された処理を実行することができます。

  • *CHANGE …… ユーザは、オブジェクトに対して読込、更新、削除処理を行う権限を持っています。

  • *EXCLUDE …… ユーザはオブジェクトにアクセスすることができません。

  • *LIBCRTAUT …… オブジェクトが作成される時に、ユーザスペースのための権利が対象となるライブラリのためにCRTAUT値から取り出されます。ライブラリのためのCRTAUT値が後で変更されると、その変更はすでに作成されたユーザスペースには影響しません。もしCRTAUT値が許可リスト名を含み、その許可リストがオブジェクトを保護するのであれば、リストを削除しないでください。そうしないと、*LIBCRTAUTパラメータは次回このAPIの呼び出しに失敗します。

  • *USE …… ユーザはオブジェクトとその説明を読み込むことはできますが、を変更することはできません。

  • Authorization list name …… ユーザスペースは指定された権限リストによって保護され、その権利は*AUTLに設定されます。APIが呼び出される時は、指定された権限リストがシステムの上になければなりません。もしそれが見つからない場合、作成処理は失敗し、アプリケーションにエラーが返ります。

ユーザスペースが作成された後で、それが別のライブラリに移動したり、バックアップメディアから復元された場合、その権限は同じ状態で維持されます。

テキスト説明

ユーザスペースオブジェクトの説明に入力してください。

エラーコード

エラーが発生した場合に、このパラメータには対応するエラーコードが返ります。

をクリックして、変数リストを開きます。エラーコードが返る変数を選択して、［選択］をクリックしてください。

Create/Update Stream File

新しいファイルを作成したり、既存のストリームファイルを更新するために必要なパラメータを受け付けるために使用されます。

ストリームファイル名

ストリームファイルの名前を入力してください。

入力

選択されたファイルに挿入したいデータを入力してください。

コードページ

必要なコードページを入力してください。

エラーコード

エラーが発生した場合に、このパラメータには対応するエラーコードが返ります。

をクリックして、変数リストを開きます。エラーコードが返る変数を選択して、［選択］をクリックしてください。

Delete Queue

IBM iサーバからデータキューを削除します。

データキュー名

削除されるデータキューの名前を入力してください。

ライブラリ

ユーザスペースが位置しているIBM iホストライブラリの名前を入力してください。

エラーコード

エラーが発生した場合に、このパラメータには対応するエラーコードが返ります。

をクリックして、変数リストを開きます。エラーコードが返る変数を選択して、［選択］をクリックしてください。

Delete User Space

IBM i サーバ上の既存のユーザスペースオブジェクトからデータを削除します。

ユーザスペース名

削除したいユーザースペースの名前を入力してください。

ライブラリ

ユーザスペースが位置しているIBM iホストライブラリの名前を入力してください。

エラーコード

エラーが発生した場合に、このパラメータには対応するエラーコードが返ります。

をクリックして、変数リストを開きます。エラーコードが返る変数を選択して、［選択］をクリックしてください。

Program Call

IBM iプログラム（CLやRPG,COBOL） を呼び出すために使用されます。引数をIBM iプログラムに受け渡しすることによってMagic xpiサーバとIBM iの間で情報を交換することもできます。このメソッドの使い方についての詳細は、ここをクリックしてください。

プログラムライブラリ

プログラムライブラリの名前を入力してください。これはデフォルトライブラリとして扱われ、他のライブラリパスが指定されておらず、Magic xpiがプログラムを呼び出す際に使用されます。

プログラム名

実行されているプログラムの名前を入力してください。名前は、最初にライブラリ名を指定したライブラリへのパスを含めることができます。

例えばmylib/runme。

引数の数

プログラムに送られる引数の数を入力してください。最高25の引数を指定できます。

引数属性文字列

引数属性文字列を入力してください。この文字列には、入出力情報と引数タイプと長さが含まれています。文字列は、特定の書式でする必要があります。この文字列を作成する方法を知らない場合は、Build Attribute String メソッドを使用して文字列をビルドし、このフィールドに置かれる変数またはパラメータに入力することができます。

［引数の数］パラメータが0より大きい場合、このパラメータは必須です。

引数1 - 引数25

これらのパラメータに引数を入力してください。［引数の数］パラメータに入力した値と同じ数の引数を入力してください。

エラーコード

エラーが発生した場合に、このパラメータには対応するエラーコードが返ります。

をクリックして、変数リストを開きます。エラーコードが返る変数を選択して、［選択］をクリックしてください。

Receive Queue Data

IBM iサーバ上の指定されたデータキューからデータを受け取ります。データは、ネットワーク上の任意のマシンから受け取ることができます。

データキュー名

データを受け取るデータキューの名前を入力してください。

ライブラリ

データキューが位置しているIBM iホストライブラリの名前を入力してください。

データ受信側のサイズ

データキューから受け取ったデータを含めるため、領域のサイズを入力してください。

  • 値が 0の場合は、データが戻らないことを示しています。

  • 0より大きい値は、データが指定された長さまでレシーバーにコピーされることを示します。

  • 有効なデータがこのパラメータで示された長さより長い場合、それは切りつめられます。

  • このパラメータに値が入力されない場合、メッセージ全体がレシーバデータ変数にコピーされます。

待ち時間

エントリがデータキューに存在していない場合、継続する前に待機する時間(秒)を入力してください。

  • 0より小さい値の場合、サーバがデータの受け取りを無制限に待つことを示します。

  • 0の値は、データパラメータの長さを0に設定した状態で、即時に呼び出しが完了することを示します。

  • 0より大きな値は、秒数を示します。最大の待ち時間は、99999(約28時間)です。

キーオーダー

データキュー上のメッセージキーを検索する時に使用する比較条件。見つかったキーは、［キーデータ］フィールドのデータと比較されます。以下のどれかを選択してください：

  • より大きい

  • より小さい

  • 等しくない

  • 等しい

  • 以上

  • 以下

システムが要求されたキーを検索する時に、一致するまで、エントリはは最小値のキーから最大値のキーへと昇順に検索されます。重複キーのエントリがある場合、最初にキューに置かれたエントリを受け取ります。

キーの長さ長

［キーデータ］パラメータの長さを入力してください。［キーデータ］パラメータは、キーが定義されないデータキューの場合は0でなければなりません。キーが定義されたデータキューの場合は、Create Queue メソッドの［キー長］パラメータで指定された長さと同じでなければなりません。

主要データ

データキューからメッセージを受け取るために使用されるデータを入力してください。

送信側情報の長さ

送信側のIDの長さを入力してください。

  • 0 …… 送信側情報は必要ありません。

  • 8 …… バイトの戻りだけや、送信側情報の有効なフィールドのバイトが返ります。

  • More than 8 …… このパラメータで示されるように、送信側情報を上限まで返します。

メッセージ削除

メッセージを受け取る時、データキューから削除するかどうかをドロップダウンリストからYes/Noで選択します。

出力データ長

このパラメータは、データキューから受け取った文字数を受け取ります。タイムアウトが発生し、データキューからデータが受け取れない場合、このフィールドは0に設定されます。

出力データ

このパラメータは、データキューからデータを受け取ります。フィールドは、Create Queueメソッドの［エントリの最大長］パラメータに入力された値より少ない長さでなければなりません。このフィールドには、データキューから受け取られたデータが含まれています。

戻り値バイト

このパラメータは、データの送信側についてのユーザー情報を受け取ります。

利用可能バイト数

このパラメータは、返される有効なデータバイトの数を受け取ります。十分なスペースが提供されるならば、すべての有効なデータが返ります。

ジョブ名

このパラメータは、データを送ったIBM i Jobの名前を受け取ります。

ユーザプロファイル

ジョブ情報送信のためのユーザプロファイル名。

ジョブ番号

ジョブ情報送信のためのジョブ番号

現在のユーザプロファイル

このパラメータは、データ送信のジョブのために、ユーザプロファイル名を受け取ります。

有効なエラーバイト

このパラメータは、返すためにAPIで利用可能なエラー情報の長さ(バイト)を受け取ります。

0が入力されると、エラーは検出されず、構造内のフィールドは変更されません。

エラーコード

エラーが発生した場合に、このパラメータには対応するエラーコードが返ります。

をクリックして、変数リストを開きます。エラーコードが返る変数を選択して、［選択］をクリックしてください。

Retrieve IFS Directory List

IFSディレクトリのリストを取り出すパラメータを受け入れます。

ディレクトリ名

ディレクトリの名前を入力してください。

出力タイプ

出力タイプをドロップダウンリストから選択してください。

  • XML

  • カンマ区切

ファイルへの出力

をクリックしてディレクトリリストが保存されるファイルの名前を入力します。

出力

をクリックしてディレクトリリストで必要とする出力を選択してください。

エラーコード

エラーが発生した場合に、このパラメータには対応するエラーコードが返ります。

をクリックして、変数リストを開きます。エラーコードが返る変数を選択して、［選択］をクリックしてください。

Retrieve Queue Description

キューが送信側のID情報を含むかどうか、そしてデータキューがキー定義されるかどうかにかかわらず、データキューの説明と属性(データキューの現在のエントリ数、データキューのテキスト説明のような）を取得します。

データキュー名

データを送るデータキューの名前を入力してください。

ライブラリ

データキューが位置しているIBM iホストライブラリの名前を入力してください。

メッセージ長

このパラメータは、戻されるメッセージのために受け取り可能な最大長を指定します。この値は、Create Queueコマンドの［最大長］パラメータに入力された値と一致していなければなりません。

キーの長さ

このパラメータは、キー定義されたタイプであるデータキューからメッセージ参照キーのバイト長を受け取ります。有効な値は1から256までです。指定されたキューがキー定義されていない場合、値は0です。

シーケンス

エントリがデータキューから受け取る順番です。以下から選択してください。

  • FIFO …… First in first out

  • LIFO …… Last in first out

  • KEYED …… 特別なキーで定義されます。

送信IDを含める

送信側IDをデータを含んでいるかを、Yes/Noで選択します。

フォースインジケータ

このパラメータは、エントリが表示されたデータキューのために送受信される時、データキューが補助記憶装置に強制的に格納されるかどうかを示すためにYesまたはNoを受け取ります。

データキュー説明

このパラメータは、データキューのテキスト説明を受け取ります。データキューが作成された時に、テキスト説明が指定されなかった場合は、空白になります。

データキューのタイプ

このパラメータは,以下のどれかを受け取ります。

  • 0 …… 標準のデータキュー

  • 1 …… DDMのデータキュー

自動再生

このパラメータは、キューが空になった後に、ストレージ量が再利用されるかどうかについて受け取ります。有効な値は以下の通りです。

  • 0 …… ストレージは再利用されません。

  • 1 …… ストレージは再利用され、ストレージ量はエントリの初期値にリセットされます。

DDMデータキューの場合、フィールドは0を受け取ります。

メッセージ数

このパラメータは、データキュー内のメッセージの数を受け取ります。DDMデータキューの場合は、常に0です。

割り当てられたエントリの数

このパラメータは、キューが拡張される前に納めることがエントリ数を受け取ります。キューが拡張されると、追加ストレージがキューに割り当てられます。それが最大数に達するまで、データキューは拡張されることができます。

DDMデータキューの値は、常に0です。

使用データキュー名

このパラメータは、データキューの名前を受け取ります。

これは、最初のジョブがデータキューにアクセスした後にキューがリネームされない限り、［データキュー名］パラメータに入力された同じ名前になります。

使用データキューライブラリ

このパラメータは、データキューのあるライブラリの名前を受け取ります。

最大エントリ数

このパラメータは、データキューがいっぱいの時、そこに格納されたエントリの最大数を受け取ります。

最初のエントリ数

このパラメータは、データキューが作成されるか自動的に再利用される時に、割り当てられたストレージに格納されるメッセージ数を定義します。

DDMデータキューの値は、常に0です。

エントリの最大数

このパラメータは、データキューに格納されるエントリの数を定義します。

受信変数の長さ

このパラメータは、レシーバ変数の長さを受け取ります。

エラーコード

エラーが発生した場合に、このパラメータには対応するエラーコードが返ります。

をクリックして、変数リストを開きます。エラーコードが返る変数を選択して、［選択］をクリックしてください。

Retrieve Spool File

スプールファイルの中身を取り出します。

スプールファイル番号

スプールされたファイルの番号を入力してください。

スプールファイル名

スプールファイル名を入力してください。これは、ファイルがいつ作成されたかまたは、デバイスの名前によって入力された名前と同じです。

ジョブ番号

スプールされたファイルを作成したジョブの番号を入力します。

ジョブ名

スプールされたファイルを作成したジョブの名前を入力します。

スプールファイルユーザ名

スプールされたファイルを所有しているユーザの名前を入力してください。

ファイルへの出力

スプールされた結果が保存されるファイルの名前を入力してください。

出力

をクリックして、スプールファイルの内容を送るための変数、または特別なユーザ変数を選択してください。

ビジュアルからロジカル

このパラメータは、ビジュアルフォーマットからロジカルフォーマットに文字列を変換します。ドロップダウンリストから以下のどれかを選択してください。

  • No (デフォルト)

  • Yes

文字を印刷

ドロップダウンリストから印刷制御文字の1つを選択してください。

  • NONE

  • FCFC

  • PRTCTL

エラーコード

エラーが発生した場合に、このパラメータには対応するエラーコードが返ります。

をクリックして、変数リストを開きます。エラーコードが返る変数を選択して、［選択］をクリックしてください。

Retrieve Spool List

スプールリストの中身を取り出します。

スプールリストユーザ名

取り出されるユーザのスプールファイルを示してください。有効な値は以下の通りです。

  • All …… すべてのユーザのためにスプールリストを取り出します。

  • Current …… 現在のユーザのためにスプールファイルリストを取り出します。

  • <IBM i User ID> …… IDが入力されたユーザのために、スプールファイルリストを取り出します。

出力タイプ

スプールリストが返る出力タイプをドロップダウンリストから選択してください。

  • XML …… スプールリストは、XMLフォーマットで返ります。

  • カンマ区切 …… カンマ区切りで指定されたスプールファイル名によるフラットファイルにスプールリストが返ります。

ファイルへの出力

スプールリストが保存されるファイルの名前を入力してください。

出力

をクリックして、スプールファイルの内容を送るための変数か特別なユーザ変数を選択してください。

エラーコード

エラーが発生した場合に、このパラメータには対応するエラーコードが返ります。

をクリックして、変数リストを開きます。エラーコードが返る変数を選択して、［選択］をクリックしてください。

Retrieve Stream File

ストリームファイルから内容を取り出すために、パラメータを受け入れます。

ストリームファイル名

ストリームファイルの名前を入力してください。

ファイルへの出力

ストリームファイルを保存するファイルの名前を入力してください。

出力

このパラメータは、ストリームファイルエントリの内容を含んでいます。

エラーコード

エラーが発生した場合に、このパラメータには対応するエラーコードが返ります。

をクリックして、変数リストを開きます。エラーコードが返る変数を選択して、［選択］をクリックしてください。

Retrieve User Space

IBM iサーバ上の既存のユーザスペースオブジェクトからデータを検索します。

ユーザスペース名

ユーザスペースの名前を入力してください。

ライブラリ

ユーザスペースが位置しているIBM iホストライブラリの名前を入力してください。

開始位置

取り出すユーザスペースの最初のバイトを入力してください。値が1の場合は、ユーザスペースの先頭文字を識別します。

データ長

検索されるデータの長さを入力してください。長さは、0より小さく設定することはできず、データを受け取る変数のサイズより大きくすることはできません。

出力データ

取り出したユーザスペースの内容を受け取る変数を入力してください。

エラーコード

エラーが発生した場合に、このパラメータには対応するエラーコードが返ります。

をクリックして、変数リストを開きます。エラーコードが返る変数を選択して、［選択］をクリックしてください。

Run Command

IBM iコマンドを実行します。このメソッドの使い方の例は、ここをクリックしてください。

コマンド

実行されるコマンドを入力してください。

エラーコード

エラーが発生した場合に、このパラメータには対応するエラーコードが返ります。

をクリックして、変数リストを開きます。エラーコードが返る変数を選択して、［選択］をクリックしてください。

Run Query

任意のIBM iデータベーステーブルの詳細を取り出すために、必要なパラメータを受け入れます。

クエリ名

既存のクエリの名前。ライブラリとそのクエリの名前を入力してください。最初の10文字はライブラリ名を含み、2番目の10文字はクエリ名を含んでいます。それらは「/」によって分ける必要があります。

クエリファイル

検索されるデータベースファイルの名前。ライブラリ名とそのクエリファイル名を入力してください。最初の10文字はライブラリ名を含み、2番目の10文字はクエリ名を含んでいます。それらは「/」によって分ける必要があります。

出力タイプ

クエリによって作成されたレポートがどこに送られるかを指定します。値がクエリで指定されず、コマンドに入力されない場合、またはクエリ名が指定されないならば、*PRINTERがデフォルトの送り先です。

以下のどれかを入力することができます。

  • *PRINTER …… クエリによって作成された出力は印刷されます。

  • *OUTFILE …… 出力は、［出力ファイル］パラメータ(以下)で指定されたデータベースファイルに書き込まれます。

出力フォーム

クエリによって作成された出力のモード。以下のどれかを入力することができます：

  • *RUNOPT …… 出力フォームがクエリ定義において指定される場合、クエリが実行すると、これが使用されます。

  • *DETAIL …… 存在している場合、クエリによって作成された出力フォームは詳細レコードと要約レコードを含むレポートです。

  • *SUMMARY …… クエリによって作成された出力フォームは要約レコードのみを含んでいるレポートです。

クエリで何の値も指定されず、コマンドに何の値も入力されなかったり、クエリ名が指定されない場合、*DETAILがデフォルトのモードです。

定義を印刷

クエリ定義がクエリレポートによって印刷されるかどうかを定義します。以下のどれかを入力することができます。

  • *RUNOPT …… 出力フォームがクエリ定義において指定される場合、クエリが実行すると、これが使用されます。

  • *NO …… クエリが実行しても、クエリ定義は印刷されません。

  • *YES …… クエリ定義はレポートで印刷されます。

出力ファイル

クエリ出力を受け取るデータベースファイルの名前。以下のどれかを入力することができます。

  • *RUNOPT …… 出力先がクエリ定義で指定された場合、クエリによって作成されたものはこの位置に出力されます。

出力ファイルライブラリ

指定された出力データベースファイルのライブラリ名。以下のどれかを入力することができます。

  • *RUNOPT …… クエリ定義で指定された場合、クエリ定義で指定された名前のライブラリに出力されます。

  • *CURLIB …… ジョブのための現在のライブラリは、データベースファイルの位置として使用されます。

ジョブのために現在のライブラリとして指定されていない場合、QGPLライブラリが使用されます。

出力ファイルメンバ

指定された出力データベースファイルのメンバー名。以下のどれかを入力することができます。

  • *FIRST …… ファイルの最初のメンバは、クエリ出力を受け取るために使用されます。

  • *LAST …… ファイルの最後のメンバは、クエリ出力を受け取るために使用されます。

  • *RUNOPT …… クエリで指定されたメンバは、クエリ出力を受け取るために使用されます。

  • *ALL …… ファイルのすべてのメンバがクエリ出力を受け取るために使用される出力ファイルは分割テーブルです。*ALLがメンバのために指定されると、要素3データオプションは*RPLMBRまたは*ADDMBRに設定することのみができます。クエリが実行する時、分割テーブルはすでに存在しなければなりません。

出力ファイルオプション

クエリによって作成されたデータをどのように処理するかを定義します。以下のどれかを入力することができます。

  • *RUNOPT …… クエリ定義が使用されると、クエリ定義で指定されたメンバオプションは、このクエリが実行するときに使用されるタイプです。

  • *NEWFILE …… 出力は新しいデータベースファイルに書き込まれます。メンバ名が*ALLに設定される時、このオプションは有効ではありません。

  • *RPLFILE …… 出力は古いファイルを削除し、新しいファイルを作成します。メンバ名が*ALLに設定される時、このオプションは有効ではありません。

  • *NEWMBR …… 出力は新しいメンバとして追加されます。メンバ名が*ALLに設定される時、このオプションは有効ではありません。

  • *RPLMBR …… 既存のメンバは消去され、 出力がは追加されます。

  • *ADDMBR …… 出力は既存のメンバの最後に追加されます。

クエリやこのパラメータで何の値も指定されていなかったり、クエリ名が指定されない場合、*NEWFILEがデフォルト値んびなります。

エラーコード

エラーが発生した場合に、このパラメータには対応するエラーコードが返ります。

をクリックして、変数リストを開きます。エラーコードが返る変数を選択して、［選択］をクリックしてください。

Send Data to Queue

データをIBM iサーバ上の指定されたデータキューに送ります。

データキュー名

データを送るデータキューの名前を入力してください。

ライブラリ

データキューが位置しているIBM iホストライブラリの名前を入力してください。

入力データ長

入力データのためにデータキューに送ることができる文字数を入力してください。

入力データ

データキューに送られる入力データを入力してください。

キーの長さ

［キーデータ］パラメータに入力する文字数をを入力してください。

主要データ

データキューに送られるキーのデータを入力してください。この値は、少なくとも［キー長］パラメータに指定した値と同じにする必要があります。そうしないと予期しない結果が発生します。

エラーコード

エラーが発生した場合に、このパラメータには対応するエラーコードが返ります。

をクリックして、変数リストを開きます。エラーコードが返る変数を選択して、［選択］をクリックしてください。

Update User Space

IBM iサーバ上の既存のユーザスペースオブジェクトからデータを挿入します。

ユーザスペース名

ユーザスペースの名前を入力してください。

ライブラリ

ユーザスペースが位置しているIBM iホストライブラリの名前を入力してください。

開始位置

挿入されるユーザスペースの最初のバイトを入力してください。値が1の場合は、ユーザスペースの先頭文字を識別します。

データ長

挿入されるデータの長さを入力してください。長さは、0より小さく設定することはできず、データを受け取る変数のサイズより大きくすることはできません。

入力データ

更新されたユーザスペースの内容を挿入する変数を入力してください。

エラーコード

エラーが発生した場合に、このパラメータには対応するエラーコードが返ります。

をクリックして、変数リストを開きます。エラーコードが返る変数を選択して、［選択］をクリックしてください。

関連トピック：

ダイレクトアクセスメソッドの使い方


メソッドのサンプル - Run Command

以下は、IBM iコネクタのRun Command メソッドを設定する方法についての例です。

  1. Magic xpiプロジェクトを開いてください。

  2. フローでパークします。

  3. IBM iコネクタをフローエリアにドラッグします。

  4. コネクタをダブルクリックするか、右クリックしコンテキストメニューから［構成］を選択します。

  5. ［ダイレクトアクセスメソッド］ダイアログボックスで、［新規］をクリックしてください。メソッドのリストから Run Command を選択します。

  6. 以下のパラメータ詳細を指定してください。

  • コマンド

  • エラーコード

  7. フローエディタに戻るまで、開いたウィンドウをすべてを閉じてください。

  8. Magic xpiデバッガ経由でフローを実行してください。

  9. WRKSPLFコマンドを使用してIBM iの結果をチェックしてください。

QSYSPRTという名前のスプールファイルは、WRKSYSVALコマンドから作成された出力を含み、IBM i上で作成されます。WRKSYSVALコマンドは、Run Command メソッドによって実行されます。


メソッドのサンプル - Program Call

Program Call メソッドを使用して、IBM iのプログラム（CL、RPG、およびCOBOLなど）を呼び出すことができます。

引数をIBM iプログラムに受け渡しすることによってMagic xpiサーバとIBM iの間で情報を交換することもできます。

複数のパラメータを受け取るIBM iプログラムを呼ぶ時に、Build Attribute String メソッドを使用して、特定のフォーマットで最初に引数属性文字列をビルドする必要があります。Program Call メソッドによってIBM iプログラムを呼ぶ前に、これを行う必要があります。

以下のトピックは、これを行う方法について説明しています。

関連トピック：

引数属性文字列のビルド


引数属性文字列のビルド

このトピックは、以下の2つのパラメータによってIBM iプログラムを呼び出すためにIBM iコネクタをどのように設定するかについて説明しています。

  • UserID (文字 10)

  • MESSAGE (文字 100)

以下で説明されるように、最初にパラメータの属性文字列をビルドし、次にIBM iプログラムを呼ぶ必要があります。

  1. ［プロジェクト］メニューから、［設定］を選択します。［設定］ダイアログボックスが開きます。

  2. ［設定］ダイアログボックスで、［リソース］をクリックしてください。

  3. ［追加］をクリックしてください。［新規リソース］ダイアログボックスが開きます。

  4. ドロップダウンリストからIBM i を選択し、新しい IBM iリソースに適当な名前を指定してください。

  5. 以下の必要な情報を入力してください。

  6. IPアドレス

  7. ユーザ

  8. パスワード

  6. 新しいフローを作成してください。

  7. IBM iコネクタをフローエリアに配置してください。［プロパティ］ペインが開きます。［インタフェース］パラメータで、［メソッド］を選択してください。

  8. コネクタをダブルクリックするか、右クリックしコンテキストメニューから［構成］を選択します。［ダイレクトアクセスメソッド IBM i］ダイアログボックスが開きます。

  9. ［ダイレクトアクセスメソッド IBM i］ダイアログボックスで、［追加］をクリックし Build Attribute Stringメソッドを選択してください。

  10. 最初のパラメータ、UserIDを以下の属性で設定してください。

  11. 引数タイプ = 文字

  12. 引数長 = 10

  13. 引数方向 = 入力

  14. 引数属性文字列 = C.UserString

このメソッドが実行されると、C.UserString変数はUserIDパラメータの属性に従って修正されます。

  11. ［ダイレクトアクセスメソッド IBM i］ダイアログボックスで、別のBuild Attribute Stringメソッドを挿入するために、［追加］をクリックしてください。

  12. 2番目のパラメータ、MESSAGEを以下の属性で設定してください。

  13. 引数タイプ = 文字

  14. 引数長 = 100

  15. 引数方向 = 出力

  16. 引数属性文字列 = C.UserString

このメソッドが実行されると、C.UserString変数はUserIDとMESSAGEパラメータの属性に従って修正されます。

各Build Attribute Stringメソッドの実行の後に、C.UserString変数は新しいパラメータの情報が追加されます。

  13. ［ダイレクトアクセスメソッド IBM i］ダイアログボックスで、Program Call メソッドを追加するために、［追加］をクリックし、以下の必要な情報を入力してください。

  14. プログラムライブラリ

  15. プログラム名

  16. 引数の数 = 2

  17. 引数文字列 = C.UserString(前述のBuild Attribute Stringメソッドを使用してビルドされます)

  14. それぞ引数1と引数2のパラメータフィールドでUserIDとMESSAGE変数を指定してください。

  15. ［ダイレクトアクセスメソッド IBM i］ダイアログボックスを閉じるために、［OK］をクリックしてください。

  16. Magic xpiデバッガでフローを実行してください。以下の処理が実行されます。

  17. Magic xpi デバッガを使用してフローを実行します。以下の処理が実行されます。

最初に2つのメソッド(2つの引数に対する Build Attribute String メソッド)が実行されると、引数属性文字列がビルドされ、C.UserString変数に格納されます。

3番目のメソッド(Program Call)で、完全な引数文字列のC.UserStringが渡されます。

この例では、その値は以下のようになります：A10、O:A100

ここで:

  • A10 は、最初のパラメータが文字タイプで長さが10であることを意味していて、その方向は入力です。

  • O:A100 は、2番目のパラメータが文字タイプで長さ100であることを意味していて、その方向は出力です。

UserIDとMESSAGE変数は、Program Callメソッドのための実際の引数として提供されます。

  18. メッセージはIBM iユーザに送られます。IBM i上で、メッセージを見るためには、DSPMSG<ユーザ名>コマンドを使用してください。


IBM iコネクタ - エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。IBM iコネクタのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

IBM iコネクタのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーもIBM iコネクタで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
700 | IBM iサーバとの接続エラー
701 | ユーザスペース作成中のエラー
702 | ユーザスペース更新中のエラー
703 | ユーザスペースからデータを検索中のエラー
704 | ユーザスペース削除時のエラー
705 | データキュー作成時のエラー
706 | データをデータキューに送信時のエラー
707 | データキューからデータを受信時のエラー
708 | データキュー削除時のエラー
709 | データキューを消去時のエラー
710 | データキューの説明を取り戻す際のエラー
711 | スプールリストを取り出す際のエラー
712 | スプールファイルを取り出す際のエラー
713 | プログラムの呼び出しエラー
714 | コマンド実行エラー
715 | IFSディレクトリリストの取り出しエラー
716 | ストリームファイルの取り出しエラー
717 | ストリームファイルの作成/更新エラー
718 | RUNQUERYコマンドを使用する際のエラー

関連トピック：

Magic xpiのエラー処理


JD Edwards Enterprise One

JD Edwards Enterprise Oneコネクタは、トランザクションの一部として、要求されたビジネス関数（BSFN）の検索、実行のサポート、BSFNリストと個別BSFN構成の更新、一連のBSFNの実行などを行います。

以下の JD Edwards Enterprise One のバージョンがサポートされています。

  • 8.12

  • 9.1

  • 9.2

Magic xpi JD Edwards Enterprise One コンポーネントは、JDE ダイナミック Java コネクタに依存しています。PC上でJDEダイナミックJavaコネクタが完全に設定され機能しているかを確認してください。動的ななJavaコネクタ用のJDE実例アプリケーション（JDEインストールで提供されています）を使用してテストを行うことができます。

必要なjarファイルに関する詳細情報は、ここをクリックしてください。

文字列フィールドの末尾のスペースはそのまま保持され、出力XMLではトリミングされません。

関連トピック：

JD Edwards Enterprise One – 設定

JD Edwards Enterprise One – マッピング

JD Edwards Enterprise One コネクタの設定

JD Edwards Enterprise One – エラー処理

Magic xpiで JD Edwards Enterprise One呼び出しを暗号化するには

Magic xpiを使用してJD Edwards Enterprise Oneで新しい顧客レコードを作成するには


JD Edwards Enterprise One – 設定

JD Edwards Enterprise One コネクタは、JDE ビジネス関数のためのXMLインタフェースを提供しています。

関数は、XMLフィールドに値をマッピングするだけで呼び出すことができます。ビジネス関数コールからの戻り値もXMLフォーマットです。

JD Edwards Enterprise One コネクタをフローに配置すると、Magic xpiは自動的にそのコネクタの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

JD Edwards Enterprise One コネクタを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初にJD Edwards Enterprise One リソースを定義する必要があります。

JD Edwards Enterprise One コネクタは以下のインタフェースをサポートします。

  • メソッド

  • XML

関連トピック：

JD Edwards Enterprise One – コンテキスト

JD Edwards Enterprise One – BSFN リスト

JD Edwards Enterprise One コネクタの設定


JD Edwards Enterprise One - XML

［インタフェース］プロパティで XMLを選択した後で、コネクタをダブルクリックするか、右クリックしてコンテキストメニューから［構成］を選択してください。［JD Edwards Enterprise One構成］ダイアログボックスが開きます。XMLインタフェースを選択し、設定をクリックしてJD Edwards Enterprise One設定ダイアログボックスを開きます。

このダイアログボックスは必要なJD Edwards Enterprise Oneリソースを選択したり、呼出結果を保持する変数を選択したり、BFSN構造に変更が加えられた場合、選択したビジネス関数（BSFN）のXSDをリフレッシュしたりすることができます。

このダイアログボックスには以下のプロパティがあります。

プロパティ

説明

接続

リソース名

コンポーネントの［プロパティ］ペインで選択したリソースの名前。リソースは、［設定］ダイアログボックスの［リソース］セクションで定義されます。

セッションを保持

このチェックボックスがチェックされていないと、接続は終了します。

オペレーション

モジュール名

ビジネス関数

このセクションで、ユーザは必要なBSFNを選択することができます。

をクリックして［JD Edwards Enterprise Oneコンテキスト］ダイアログボックスを開きます。BSFNを選択したら、［モジュール名]と［ビジネス関数］フィールドに値が入力されます。

をクリックしてBSFNリストを開きます。BSFNリストでは、名前または説明にもとづいてBSFNを検索することができます。必要なBSFNを選択すると、［モジュール名］と［ビジネス関数］のフィールドに関連した値も含まれます。

手動で値を入力することもできます。

結果

結果を保存

結果XMLファイルを保存したい場所を定義します。ドロップダウンリストから以下のいずれかを選択します。

  • File …… JD Edwards Enterprise Oneから返されるオブジェクトデータを保持するファイルを選択します。 をクリックして式エディタを開くか、 [image] をクリックして情報が保存される場所のファイルパスを入力します。

  • Variable …… JD Edwards Enterprise Oneから返されるオブジェクトデータを保持する変数を選択します。 をクリックすると変数リストが開きます。情報を保存する変数を選択します。デフォルトは C.UserBlobです。

［JD Edwards Enterprise One構成］ダイアログボックスには以下のボタンもあります。

ボタン | 説明
XSDをリフレッシュ | 現在のスキーマをリフレッシュします。 このボタンををクリックすると現在のスキーマが上書きされます。メッセージダイアログボックスが開き、［OK］をクリックすると更新と上書きが確認されます。［キャンセル］をクリックするとスキーマを更新せずにプロセスを終了します。


JD Edwards Enterprise One - メソッド

いくつかのビジネス関数（BSFN）は、Run BSFNメソッドを使用して一つのトランザクションの下で実行するように定義することができます。

メソッドの一つがエラーを返した場合（エラー情報を含むXMLが返されることではなく、実際のエラー）、トランザクションはロールバックされ、ステップは終了し次のメソッドへは進みません。

Run BSFNメソッドには以下のパラメータがあります。太字のパラメータは必須です。

パラメータ | 説明
BSFN 名 | ビジネス関数の名前を入力します。
入力XML | データマッパーで作成されたBSFN構造に設定されるXMLデータを含むBLOBを入力します。
出力XML | BSFN実行により返されたXMLデータを含むBLOBを返します。 をクリックして変数リストを開きます。出力XMLが返される変数を選択し、［選択］をクリックします。
エラーコード | エラーが発生した場合、エラーコードを返します。 をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

関連トピック：

ダイレクトアクセスメソッドの使い方


JD Edwards Enterprise One - コンテキスト

［JD Edwards Enterprise One構成］ダイアログボックスで［ビジネス関数］フィールドの隣の [image] をクリックして［JDEコンテキスト］ダイアログボックスを開きます。

このダイアログボックスは､３つのオプションにより必要なビジネス関数（BSFN）の検索を容易にします。

  • クラス名 …… ダイアログボックスが開くと自動的に読み込まれます。

  • モジュール名 …… ［取得］ボタンをクリックして開きます。

  • BSFN …… 選択して［取得］ボタンをクリックして開きます。

一度に一つのオプションしか開けません。[取得］ボタンは次のオプションを開きます。前のオプションを開くには［リロード］をクリックします。


JD Edwards Enterprise One - BSFN リスト

［JD Edwards設定］ダイアログボックスで、［ビジネス関数］フィールドの隣の [image] をクリックすると［BSFNリスト］ダイアログボックスが開きます。

このダイアログボックスは、以下の基準に従って必要なビジネス関数（BSFN)を検索します。

  • BSFN名（[［検索文字］フィールドで必要な名前を入力し、［検索］をクリックします)

  • BSFNの内容（チェックボックスで［内容で検索］を選択するとBSFNの内容だけでなく名前も検索します。そして、［検索］をクリックします。)

検索結果は、ダイアログボックスの結果内にリスト表示されます。各BSFNに対して、以下の情報が表示されます：

  • BSFN名

  • Cファイル名

  • DLLライブラリ

必要なBSFNを選択し、［選択］をクリックすると、ダイアログボックスが閉じ、選択されたBSFNの詳細が ［JD Edwards 設定］ダイアログの［モジュール名］と［ビジネス関数］のフィールドに表示されます。


JD Edwards Enterprise One – マッピング

XSD構造

XSD内に示されるそれぞれのBSFNは個別の構造を持っています。BSFNスキーマもBSFN実行からの戻りメッセージのための Messages コンパウンドを持ちます。

関数にスペースを渡す

JD Edwards Enterprise One コネクタにマッピングすると、いくつかの要素にスペースを含めたい場合があるかもしれません。この場合は、JD Edwards Enterprise Oneコネクタで、スペースを表すキーワードを使用することができます。このキーワードはフィールドの値として渡されます。そして、JD Edwards Enterprise Oneを呼び出すとき、JD Edwards Enterprise OneJコネクタは実際のスペースと入れ替えます。キーワードは［IBSPACE］です。これは、文字列要素としてのみ使用できます。

大文字と小文字は区別されます。

XSDで定義されたフィールド長が9文字([IBSPACE]の長さ)より少ない場合、XSDは、フィールド長を9に拡張するように修正する必要があります。


JD Edwards Enterprise One コネクタの設定

JD Edwards Enterprise Oneコネクタを設定するには、以下の手順に従ってください：

  1. JD Edwards Enterprise Oneのリソースを定義します。リソースのパラメータの詳細については、ここをクリックしてください。

  2. JDE Dynamic Java コネクタ用の JDEの.ini設定ファイルをJD Edwards Enterprise Oneコンポーネントディレクトリ（Runtime\ifclib\jdedwards\config\<JDE server name>_<JDE env> ）にコピーします。
    <JDE server name>と<JDE env>は、JDEリソースで定義したものと同じ値にする必要があります。リソース名はこのフォルダ名では使用しません。

  3. フォルダ（Runtime\ifclib\jdedwards\lib\ext）の JD Edwards Enterprise One Dynamic コネクタを使用して作業するために、Magic xpiで必要となる動的なJavaコネクタのためにJDEによってリストされた.jarファイルを設定してください。

  4. JD Edwards Enterprise Oneコネクタを設定してください。コネクタの様々な構成パラメータの詳細について、ここをクリックしてください。呼び出したいモジュール名とビジネス関数を知っている場合は、直接それらを入力することができます。知らない場合は、 JD Edwards Enterprise Oneのコンテキストリストを通してビジネス関数リストにズームして、使用したい数を選択することができます。

  5. ［ビジネス関数リスト］ボタンをクリックして JD Edwards Enterprise Oneサーバに接続し、現在のコンテキストリストを取得します。

  6. 特定のコンテキストモジュールリストを取り出すには、コンテキストの名前の上でパークし、［取得］をクリックしてください。特定のモジュールビジネス関数リストを取り出したい場合は、モジュールの名前の上でパークし、［取得］をクリックしてください。

  7. JD Edwards Enterprise Oneサーバから情報を取得した後、「検索」機能を使用することができます。これを行うには、Ctrl+Fを押下してください。次の見つかった値を取得するには、Ctrl+F3を押下してください。

  8. ［OK］をクリックして、ビジネス関数スキーマを取得します。それは、データマッパーに表示されます。ここで、データを JD Edwards Enterprise Oneにマッピングすることができます。


JD Edwards Enterprise One – エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。JD Edwards One コネクタのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

JD Edwards One コネクタのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも JD Edwards One コネクタで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
1402 | 接続が見つかりません：<エラーの説明>
1403 | JD Edwards コネクタ呼出エラー：<エラーの説明>

関連トピック：

Magic xpiのエラー処理


JD Edwards World

JD Edwards World コネクタは、JD Edwards Worldに対する接続機能を提供します。以下のJD Edwards Worldリリースバージョンをサポートしています。

  • A 7.x

  • A 8.x

  • A 9.x

JD Edwards Worldコネクタを使用するには、DB2/400データベースサーバにアクセスする必要があります。

関連トピック：

JD Edwards World - 設定

JD Edwards World コネクタの設定


JD Edwards World - 設定

JD Edwards World コネクタは、JD Edwards Worldで動作させるためのXMLインターフェースを提供します。

JD Edwards World コネクタをフローに配置すると、Magic xpiは自動的にそのコネクタの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

JD Edwards World コネクタを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初にJD Edwards World リソースを定義する必要があります。

JD Edwards World コネクタは以下のインタフェースをサポートします。

  • XML


JD Edwards World - XML

［インタフェース］プロパティで XMLを選択した後で、コネクタをダブルクリックするか、右クリックしてコンテキストメニューから［設定］を選択してください。［JD Edwards World設定］ダイアログボックスが開きます。

このダイアログボックスには、以下のフィールドが入っています。

プロパティ

説明

接続

リソース名

コンポーネントの［プロパティ］ペインで選択したリソースの名前。リソースは、［設定］ダイアログボックスの［リソース］セクションで定義されます。

オペレーション

モジュール

オペレーションが実行されるモジュール。.

をクリックすると、モジュールリストが開きます。 必要なモジュールを選択してください。

オペレーション

選択されたモジュールで実行されるオペレーション。

をクリックすると、オペレーションリストが開きます。 このダイアログボックスに表示される処理は、［モジュール名］フィールド（上記)で選択したモジュールによって定義されます。

要素

ファイルの要素でデータマッパーに表示されるものを指定します。ドロップダウンリストからの以下のどれかを選択します。

  • All（デフォルト) …… ファイルの要素の全てが、データマッパーに表示されます。

  • Selection …… をクリックするとエンティティリストが開きます。ここでは、ファイルの要素の全てが選択された状態で表示されます。ここからデータマッパーに含めたくない要素のチェックボックスの選択を解除することができます。

結果

オペレーション成功

ここでは、モジュールがJD Edwards World内に位置付けられたどうかを簡単に決定することができます。ドロップダウンリストから以下のどれかを選択します。

  • None（デフォルト） …… コネクタの成功または失敗の状態を保存したくない場合は、このオプションを選択してください。

  • Variable …… をクリックしてコネクタの成功または失敗の状態を保存する変数を選択します。


モジュールリスト

  • リストからモジュールを選択して［選択］をクリックします。

  • ［キャンセル］をクリックすると選択しないでモジュールリストが閉じます。


オペレーションリスト

  • リストからオペレーションを選択して［選択］をクリックします。

  • ［キャンセル］をクリックすると選択しないでオペレーションリストが閉じます。


エンティティリスト

  • リストから必要なエンティティフィールドを選択し、［OK］をクリックしてください。

  • ［すべて解除］をクリックすると選択内容が全て解除されます。

  • 選択しないでエンティティフィールドリストを閉じるには、［キャンセル］をクリックしてください。


JD Edwards World コネクタの設定

JD Edwards Worldコネクタを設定する場合、以下の内容に注意してください：

  1. JDEWorldフォルダには、jdemetadata.xmlという名前のファイルが含まれています。コネクタのメタデータは、このファイルに基づいています。コネクタは、jdemetadata.xmlファイルからデータを読み込みます。これは、コネクタが提供されるデフォルトファイルです。

コネクタを使用する前に、コネクタを使用して動作するサーバに基づくjdemetadata.xmlファイルを準備する処理は、開発者の責任で行ってください。［JD Edwards Worldリソース］画面の［設定］ボタンを使用することでMagic xpiスタジオから直接このXMLファイルを編集することができます。または、手動でファイルを編集することもできます。メタデータは、動的に取得できません。

  2. JD Edwards Worldのリソースを設定する前に、最初にDB2/400のデータベースリソースを設定する必要があります。また、その上でJD Edwards Worldサーバを設定します。

Magic xpi スタジオでは、モジュールと処理がJD Edwards Worldの手順で選択された後、jdemetadata.xml ファイルで指定された内容をもとに、データマッパーは関連したファイルと一緒に開きます。

関連トピック：

JD Edwards World メタデータメンテナンス


JMS

Javaメッセージングサービス（JMS）は、アプリケーションがメッセージを送受信できるようにするJava APIです。Magic xpi JMSコンポーネントは、JMS APIを使用してJMS準拠のメッセージングサーバへのアクセスを可能にします。JMSに関するトピックでは、統合プロジェクトでのJMSコンポーネントの使用方法を説明しています。

JMSコンポーネントを使用するには、システムにインストールされたJ2EEとJDKクライアント/サーバの製品が必要です。JNDI（Java Naming and Directory Interface）を使用しているスタンドアロンのJavaクラスからJMSサーバと接続する必要があります。スタンドアロンのクラスで使用されるもんと同じパラメータとJarは、Magic xpi の JMS設定ために使用することができます。

Wフロー内のステップとしてJMSコンポーネントを使用する場合には、以下のようなメソッドを選択できます。

  • Open または close .

  • Send または Get.

トリガモードでは、コンポーネントは常に指定したキューにある受信メッセージ、または発行メッセージに関してチェックします。新規メッセージが見つかると、コンポーネントはそのメッセージを取得し、そのフローをトリガします。

コンポーネントには以下の情報を提供する必要があります。

  • メッセージキュー名

  • ユーザ名とパスワード

  • 通知モード情報

Magic xpiと現在のJMSメッセージング キューとのインタフェースには、この情報が必要です。

  • このコンポーネントは、すべてのプラットフォーム上でサポートされているわけではありません。詳細は、ここを参照してください。

  • このコンポーネントは、Unicodeデータをサポートしません。

関連トピック：

JMS – 設定

JMS – エラーコード

Apache ActiveMQを使用してJMSコンポーネントを設定するには


JMSコンポーネントについて

Magic xpi JMSコンポーネントを使用することで、統合プロジェクト内でJavaメッセージング サービスが使用可能になります。このコンポーネントは、Magicメッセージング コンポーネントの基本構造とともに機能します。このコンポーネントは、Magic xpiコンポーネント標準インタフェースを持つMagicコンポーネ ントをラッピングし、Magic xpiサーバからコンポーネントの起動を許可します。

このコンポーネントはまた、メッセージの受信のためのトリガとして使用することもできます。コンポーネントはトリガとして常に、指定したキューにある着信メッセージに関してチェックします。新規メッセージが見つかると、コンポーネントはそのメッセージを取得し、そのフローをトリガします。

JMSコンポーネントは、以下の2つのメッセージ タイプをサポートします。

  • 1対1メッセージングドメイン

  • パブリッシュ/サブスクライブ メッセージングドメイン

関連トピック：

メッセージの通知


JMS -1対1メッセージングドメイン

1対1（PTP）製品、または、アプリケーションは、メッセージングキュー、送信者、受信者といった概念を基盤として構築されます。各メッセージは、特定のキューに送られ、メッセージを受信待機しているクライアントは、メッセージを保持するように設定されているキューからメッセージを抽出します。メッセージが使用されるまで、または、メッセージが失効するまで、キューは､送られたすべてのメッセージを保持します。

関連トピック：

JMS – PTPメッセージング


JMS – PTPメッセージング

送信の必要のあるすべてのメッセージを使用者が単独で処理しなくてはならない場合は、PTPメッセージングを使用します。PTPメッセージングドメインの主な特長は以下のとおりです。

  • 各メッセージの利用者は1人に限定されます。

  • メッセージ送信時間と受信時間は、同時である必要はありません。受信者は、クライアントがメッセージを送信したときに、受信者が起動しているか、いないかのメッセージを受け取ることができます。

  • 受信側のクライアントは、無事にメッセージが処理されていることを通知します。


JMS -パブリッシュ/サブスクライブ メッセージングドメイン

パブリッシュ/サブスクライブ（PSS）製品、あるいはそのアプリケーションでは、クライアントはトピックにメッセージを送信します。パブリッシュ/サブスクライブオブジェクトは一般的に匿名であり、コンテンツ階層へ動的にパブリッシュ、サブスクライブする場合があります。以下の図は、PSSドメインがトピックのパブリッシュブジェクトから届くメッセージの複数サブスクライブ オブジェクトへの分配をどのように管理するかを表しています。トピックは、現在のサブスクライバに分 配するようになっている限りにおいてのみメッセージを保持します。

関連トピック：

JMS – PSSの特長


JMS - PSSの特長

PSSメッセージングは、メッセージが単一、または複数の使用者によって処理される場合に使用します。PSSメッセージングドメインの主な特長は以下のとおりです。

  • 各メッセージを複数人で使用する可能性があります。

  • パブリッシュとサブスクライブ オブジェクトは、時間に依存します。トピックをサブスクライブするクライアントは、クライアントがサブスクライブ作成後に発行されたメッセージのみを使用でき、アブスクライバは、常にアクセスできる状態でなければ、メッセージを使用できません。

  • JMS APIは、クライアントに長期サブスクライブを許可すれば、時間依存性を緩和します。


JMS - メッセージの通知

JMSメッセージが通知されるまで、メッセージの使用が成功したとはみなされません。メッセージの使用に成功すると、以下の3つの方法のどれかで通知がなされます。

  • AUTO_ACKNOWLEDGE …… セッションはクライアントからのメッセージの受信を自動的に通知します。

  • CLIENT_ACKNOWLEDGE …… クライアントは、メッセージの通知メソッドを呼び出してメッセージを通知します。

  • DUPS_OK_ACKNOWLEDGE …… こ のオプションは、セッションにメッセージの配信を通知するよう指示します。ただし、JMSプロバイダーが失敗した場合、これによってメッセージの二重配信が 起こることがある。したがって、このオプションは、メッセージの二重配信を扱うことのできるクライアントのみの使用に限定する必要がある。


JMS – 設定

JMSコンポーネントは、Javaメッセージング サービスを使用したメッセージの送受信を行うことができます。

JMSコンポーネントをフローに配置すると、Magic xpiは自動的にそのコネクタの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、コンポーネントの設定ダイアログボックスを開きます。

JMSコンポーネントを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初に JMS リソース を定義する必要があります。また、トリガとして使用しようとしている場合、［設定］ダイアログボックスの［サービス］セクションで JMS サービス を定義する必要があります。

表示されるダイアログボックスは、JMSコンポーネントをトリガとして使用するか、フローでのステップとして使用するかによって異なります。フローでステップとしてコンポーネントを使用する場合、以下のインタフェースから選択できます。

  • メソッド

  • XML


JMS - メソッド

以下のメソッドは、JMSコンポーネントを構成する場合に使用されます。

  • Quick Send

  • Quick Get

  • Open

  • Close

  • Send

  • Get

  • Advanced Send

  • Advanced Quick Send

  • Commit

  • Rollback

次の表では、使用できるメソッドおよびパラメータを一覧にしています。太字表示のパラメータは必須です。

メソッド

パラメータ

説明

Quick Send

キューを開き、JMSプロトコルを用いてメッセージを送信し、キューを閉じます。

キュー名

キュー名を入力してください。

検証モード

モードステータスを示すモードをドロップダウンリストから選択します。

メッセージタイプ

送信するメッセージのタイプをドロップダウンリストから選択します。

  • テキスト

  • マップ

  • バイト

  • ストリーム

  • オブジェクト

  • ヘッダ

メッセージ

送信するメッセージのテキストを入力するか、またはメッセージを作成する条件を作成します。

相関ID

送信/返信の実行に使用するID番号を入力してください。

メッセージID

送信するメッセージのIDが返ります。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返される。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Quick Get

キューを開き、JMSプロトコルを使用してメッセージを受信し、キューを閉じます。

キュー名/トピック名

キュー名またはトピック名を入力します。

検証モード

検証モードステータスを示すモードをドロップダウンリストから選択します。

メッセージセレクタ

受信するメッセージを定義するメッセージセレクタ文字列

タイムアウト

フロー内の次のステップに移行する前に、コンポーネントがメッセージを受信するのを待つ時間（秒単位）を入力します。0を入力すると、フロー内の次のステップに移行する前にメッセージを受信するまで、コンポーネントは待機し続けます。

トピック

ドロップダウンリストから以下のどちらかを選択し、キューの処理か、トピックの処理かを示します。

  • Yes …… トピックに接続する

  • No …… トピックでなく、キューに接続する

永続サブスクリプション

サブスクリプションが永続サブスクリプションかをドロップダウンリストから選択します。

  • Yes …… サブスクリプション は永続的である

  • No …… サブスクリプション は永続的ではない

永続サブスクリプション名

永続サブスクリプションの名前をを入力してください。

メッセージ

メッセージの受信場所を選択します。

メッセージタイプ

受信するメッセージのタイプを格納する変数を選択します。

相関ID

送信/返信の実行に使用するID番号を入力してください。

メッセージプロパティ

メッセージのプロパティを保持します。結果は、以下のパスでにある jmsifc.xsdファイルに定義されたXMLです：

JMS/Methods/QuickGet/Output/MessageProperties

をクリックすると変数リストが開きます。メッセージプロパティが保持される変数を選択し、［選択］をクリックします。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返される。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Open

JMSサーバにメッセージを送信するキューを開きます。

キュー/トピック名

キュー名またはトピック名

検証モード

検証モードステータスを示すモードをドロップダウンリストから選択します。

メッセージセレクタ

受信するメッセージを定義するメッセージセレクタ文字列

トピック

ドロップダウンリストから以下のどちらかを選択し、キューの処理か、トピックの処理かを示します。

  • Yes …… トピックに接続する

  • No …… トピックでなく、キューに接続する

トランザクション処理

メッセージをトランザクションの一部にするかどうかを指定します。ドロップダウンリストからYes/Noで選択します。

キューハンドル

Openメソッドによって返されるjキューのハンドル値を入力します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返される。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Close

JMSサーバにメッセージを送受信する際にキューを閉じます。

キューハンドル

Open メソッドによって返されるキューのハンドル値

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返される。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Send

JMSプロトコルを使用してメッセージを送信します。

キューハンドル

Open メソッドによって返されるキューのハンドル値

メッセージタイプ

送信するメッセージのタイプをドロップダウンリストから選択します。

  • テキスト

  • マップ

  • バイト

  • ストリーム

  • オブジェクト

  • ヘッダ

メッセージ

送信するメッセージのテキストを入力するか、またはメッセージを作成する条件を作成します。

相関ID

送信/返信の実行に使用するID番号を入力してください。

メッセージID

送信されたメッセージのIDが返ります。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返される。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Get

JMSプロトコルを使用してメッセージを受信します。

キューハンドル

Open メソッドによって返されるキューのハンドル値

タイムアウト

フロー内の次のステップに移行する前に、コンポーネントがメッセージを受信するのを待つ時間（秒単位）を入力します。0を入力すると、フロー内の次のステップに移行する前にメッセージを受信するまで、コンポーネ ントは待機し続けます。

メッセージ

メッセージの受信場所を選択します。

メッセージタイプ

受信するメッセージのタイプを格納する変数を選択します。

相関ID

送信/返信の実行に使用するID番号を入力してください。

メッセージプロパティ

メッセージのプロパティを保持します。結果は、以下のパスでにある jmsifc.xsdファイルに定義されたXMLです：

JMS/Methods/QuickGet/Output/MessageProperties

をクリックすると変数リストが開きます。メッセージプロパティが保持される変数を選択し、［選択］をクリックします。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返される。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Advanced Send

Sendメソッドに追加されたパラメータでキューを開き、JMSプロトコルを使用してメッセージを送信し、キューを閉じます。

キューハンドル

Open メソッドによって返されるキューのハンドル値

メッセージタイプ

送信するメッセージのタイプをドロップダウンリストから選択します。

  • テキスト

  • マップ

  • バイト

  • ストリーム

  • オブジェクト

  • ヘッダ

メッセージ

送信するメッセージのテキストを入力するか、またはメッセージを作成する条件を作成します。

相関ID

送信/返信の実行に使用するID番号を入力してください。

有効期限

メッセージの有効時間（ミリ秒単位）を入力します。値が0の場合は、JMSコンポーネントはメッセージを待ち続けまする。

優先順

メッセージの優先順位を示す番号。0から9までが入力できます。デフォルトは4です。

配信モード

デリバリモードの永続性を示す値として次のうちのどちらかを入力します。

  • 1 …… 非永続的：メッセージの配信が失敗すると、メッセージが失われる可能性がある

  • 2 …… 永続的：メッセージは失われない（デフォルト値： 2）

JMSタイプ

キューに送られるメッセージタイプを入力します。このパラメータは、指定されたメッセージ タイプのみを送信するファイルタとして機能します。

文字列プロパティ値

文字列プロパティの値を入力します。

区切文字

複数のパラメータを指定する場合に使用される区切り文字

メッセージID

送信されたメッセージのIDが返ります。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返される。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Advanced Quick Send

Quick Sendメソッドに追加されたパラメータでキューを開き、JMSプロトコルを使用してメッセージを送信し、キューを閉じます。

キュー名

キュー名を入力してください。

検証モード

検証モードステータスを示すモードをドロップダウンリストから選択します。

メッセージタイプ

送信するメッセージのタイプをドロップダウンリストから選択します。

  • テキスト

  • マップ

  • バイト

  • ストリーム

  • オブジェクト

  • ヘッダ

メッセージ

送信するメッセージのテキストを入力するか、またはメッセージを作成する条件を作成します。

有効期限

メッセージの有効時間（ミリ秒単位）を入力します。値が0の場合は、JMSコンポーネントはメッセージを待ち続けまする。

優先順

メッセージの優先順位を示す番号。0から9までが入力できます。デフォルトは4です。

配信モード

デリバリモードの永続性を示す値として次のうちのどちらかを入力します。

  • 1 …… 非永続的：メッセージの配信が失敗すると、メッセージが失われる可能性がある

  • 2 …… 永続的：メッセージは失われない（デフォルト値： 2）

JMSタイプ

キューに送られるメッセージタイプを入力します。このパラメータは、指定されたメッセージ タイプのみを送信するファイルタとして機能します。

文字列プロパティ値

文字列プロパティの値を入力します。

区切文字

複数のパラメータを指定する場合に使用される区切り文字

相関ID

送信/返信の実行に使用するID番号を入力してください。

メッセージID

送信されたメッセージのIDが返ります。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返される。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Commit

キューがトランザクションとして開かれた場合、全てのオープンメッセージのトランザクションをコミットします。

キューハンドル

現在のトランザクションが開始されたオープン処理から返されたハンドル値を入力します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返される。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Rollback

キューがトランザクションとして開かれた場合、トランザクションを中止し、自動的にロールバックトランザクションプログラムを起動します。もしキューがまだ開いている場合、JMSは自動的に新しいトランザクションを開始します。

キューハンドル

現在のトランザクションが開始されたオープン処理から返されたハンドル値を入力します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返される。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

関連トピック：

ダイレクトアクセスメソッドの使い方


JMS - トリガ設定

JMS構成プログラムは、キューをオープンしたりキューからメッセージを取得したりする場合に必要なパラメータを受け取ります。

［コンポーネント設定： JMS］ダイアログボックスには、以下のプロパティがあります。

プロパティ

説明

オペレーション詳細

メッセージモデル

ドロップダウンリストから必要なメッセージモデルを選択してください。

  • Point_to_point (デフォルト)

  • Publish_And_Subscribe

キュー名

キューまたはトピックの送り先を入力してくだ さい。 をクリックして変数リストからグローバル変数を選択することができます。

Acknowledgeモード

通知モードステータスをドロップダウンリストから選択します。

  • AUTO ACKNOWLEDGE …… セッションはクライアントからのメッセージの受信を自動的に通知します。

  • CLIENT ACKNOWLEDGE …… クライアントはメッセージの通知メソッドを呼び出してメッセージを通知します。

  • DUPS OK ACKNOWLEDGE …… このオプションは、セッションにメッセージの配信を通知するよう指示します。ただし、JMSプロバイダが失敗した場合、これによってメッセージの二重配信発生することがあります。したがって、このオプションは、メッセージの二重配信を扱うことのできるクライアントのみの使用に限定する必要があります。

メッセージセレクタ

これはメッセージをフィルタリングする際に使用します。MagicまたはJMSを入力して、どちらかのメッセージを受信できるか指定します。

恒久サブスクリプション

永続サブスクリプションを使用できるようにする場合は、これを選択します。これによって、非アクティブな購読者がメッセージを受信できます。これは、Publish/Subscribeユーティリティが使用されてい る場合のみ利用できます。

恒久サブスクリプション名

永続サブスクリプションサービスの名前。

キープアライブ間隔（分）

自動的に再起動される前にトリガの応答がない場合の時間を分数で指定します。デフォルト値は0で、これはトリガの応答を永久に待ち続けることを意味します。

このパラメータ値の選択は、慎重に行ってください。値が少な過ぎると、有効な処理が終了する前に、トリガは終了するかもしれません。

メッセージタイプ

フィールド右側の [image] をクリックして変数リストを開きます。リストからメッセージタイプの場所としての変数を選択します。to the right of the field to open the Variables List. From the list, select a variable as a location for the message type.

メッセージ内容

フィールド右側の [image] をクリックして変数リストを開きます。リストからメッセージ内容の場所としての変数を選択します。

引数XMLの場所

フィールド右側の [image] をクリックして変数リストを開きます。リストからXML結果の場所としての変数を選択します。

再接続ポリシー

再接続間隔(秒)

JMSサーバに再接続を試みることができます。Magic xpiサーバがJMSサーバに再接続を試みる間隔を秒で入力します。

再接続回数

Magic xpiサーバがJMSサーバに再接続を試みる最大回数。無限に試みる場合は0を入力してください。

JMSコンポーネントをトリガとして構成するには：

  1. JMSを［設定］ダイアログボックスの［リソース］セクションでリソースとして定義します。詳細は、ここをクリックしてください。

  2. JMSを［設定］ダイアログボックスの［サービス］セクションでサービスと定義してください。詳細は、ここをクリックしてください。

  3. フローのトリガエリアにJMSコンポーネントを配置して［プロパティ］ペインを開きます。

  4. ［設定］セクションで、ドロップダウンリストから必要なサービス名を選択します。

  5. コンポーネントをダブルクリックするか、右クリックしてコンテキストメニューから［構成］を選択してください。［コンポーネント設定： JMS］ダイアログボックスを開くので適切な情報を入力します。

  6. JMSトリガの構成が終了したら［OK］をクリックして設定を保存しダイアログボックスを終了します。［取消］をクリックすると設定を保存せずにダイアログボックスを終了します。

JMSコンポーネントは、Getメソッドのみでトリガとして使用することができます。


JMS – エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。JMSコンポーネントのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

JMSコンポーネントのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも JMSコンポーネントで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
8001 | 接続中のエラー
8002 | 送受信中のエラー
8003 | GetDataオペレーション中のエラー

フルエラー（スタックトレース)は、 logs/java/stderr.logで利用できます。

関連トピック：

Magic xpiのエラー処理


LDAP コネクタ

Magic xpiのLDAP（Lightweight Directory Access Protocol）コネクタは、階層的なデータ構造内の属性ベースのデータを格納して、アクセスするためにLDAPサーバに接続します。

関連トピック：

LDAP コネクタ – 設定

LDAP コネクタ – エラーコード

LDAP トラブルシューティング


LDAP コネクタ – 構成

Home > コンポーネント シリーズ > LDAP コネクタ > LDAP コネクタ - 設定

LDAP コネクタ – 設定

LDAPコネクタコンポーネントによって、LDAPコマンドとプログラム呼び出しを使用するLDAPソースにアクセスすることができます。

LDAPコネクタコンポーネントをフローに配置すると、Magic xpiは自動的にそのコネクタの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、コンポーネントの設定ダイアログボックスを開きます。

LDAPコネクタコンポーネントを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初に LDAPリソース を定義する必要があります。

フローでステップとしてコンポーネントを使用する場合、以下のインタフェースから選択できます。

  • メソッド

  • XML


LDAP コネクタ - メソッド

以下のメソッドは、LDAPコネクタを構成するために使用されます。

  • Add Group

  • Add User

  • Assign User To Group

  • Delete Group

  • Delete User

  • LDAP Get

  • Modify User

  • Remove User From Group

以下の表は、使用可能なメソッドとパラメータを一覧表示しています。太文字のパラメータは、必須です。

メソッド

パラメータ

説明

Add Group

指定されたユーザDNのLDAPサーバにグループを追加します。

識別名(DN)

LDAPのグループ識別名を入力します。DC（ドメインコンテキスト）がDNで指定されていない場合、リソースDCから取得されます。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Add User

指定したユーザDNのLDAPサーバにユーザを追加します。

識別名(DN)

LDAPのグループ識別名を入力します。DC（ドメインコンテキスト）がDNで指定されていない場合、リソースDCから取得されます。

名前

新しいユーザの名前を入力します。

苗字

新しいユーザの苗字を入力します。

パスワード

新しいユーザのパスワードを入力します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Assign User To Group

ユーザをグループに割り当てます。

ユーザ識別名(DN)

LDAPのユーザ識別名を入力します。DC（ドメインコンテキスト）がDNで指定されていない場合、リソースDCから取得されます。

グループ識別名(DN)

LDAPのグループ識別名を入力します。DC（ドメインコンテキスト）がDNで指定されていない場合、リソースDCから取得されます。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Delete Group

指定されたユーザDN内のグループを削除します。

グループ識別名(DN)

LDAPのグループ識別名を入力します。DC（ドメインコンテキスト）がDNで指定されていない場合、リソースDCから取得されます。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Delete User

指定されたユーザDN内のユーザを削除します。

ユーザ識別名(DN)

LDAPのユーザ識別名を入力します。DC（ドメインコンテキスト）がDNで指定されていない場合、リソースDCから取得されます。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

LDAP Get

ユーザ情報を検索します。

検索ベース

検索を始めるLDAPパス。例：'dc=magdomain, dc=com'

検索レベル

ユーザ情報を検索したいレベルを指定します。ドロップダウンリストから以下のどれかを選択してください。

  • ベース検索

  • サブツリー検索

  • ワンレベルの検索

検索フィルタ

LDAP構文の検索フィルタ。例：'cn=Thomas'

結果属性

検索対象。例：mgr（マネージャ属性）

区切文字

結果が複数の場合の区切り文字。例：$$$

結果

検索結果を格納するBLOB変数

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Modify User

指定されたユーザDNでユーザを修正します。

ユーザ識別名(DN)

LDAPのユーザ識別名を入力します。DC（ドメインコンテキスト）がDNで指定されていない場合、リソースDCから取得されます。

属性名

修正したい属性名を入力します。

オペレーション

変更（デフォルト）を選択して修正するか、クリアを選択して修正をしないかを決めます。

属性値

［属性名］パラメータに入力した名前と同じ値です(属性名と属性値のパラメータは名前-値のペアです)。［オペレーション］パラメータ(上記)が、クリアと設定された場合のみ、このパラメータは有効です。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Remove User From Group

指定されたグループからユーザを削除します。

ユーザ識別名(DN)

LDAPのユーザ識別名を入力します。DC（ドメインコンテキスト）がDNで指定されていない場合、リソースDCから取得されます。

グループ識別名(DN)

LDAPのグループ識別名を入力します。DC（ドメインコンテキスト）がDNで指定されていない場合、リソースDCから取得されます。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

関連トピック：

ダイレクトアクセスメソッドの使い方


LDAP コネクタ – エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。LDAPコネクタのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

LDAPコネクタのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも LDAPコネクタで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
1601 | LDAP接続エラー：<エラー内容>
1602 | LDAP切断エラー：<エラー内容>
1603 | LDAP呼び出しエラー：<エラー内容>

関連トピック：

Magic xpiのエラー処理


Microsoft Excel

Microsoft® Excel® コンポーネントは、Magic xpiサーバとMicrosoft Office Excel間の接続性を提供します。これによりExcel文書を作成、編集、読み込み、印刷することができます。しかし、新規に文書を一から作成するのではなく既存のテンプレートを使用することを推奨します。

Microsoft Excel コンポーネントを使用するには、64ビット版Microsoft Office Excel がインストールされていることを確認してください。

このコンポーネントを使用するにはMicrosoft Excel についての知識が必要です。

  • このコンポーネントは、全てのプラットフォームでサポートされているわけではありません。詳細は、ここを参照してください。

  • このコンポーネントは、Unicodeデータをサポートしません。

関連トピック：

Microsoft Excel – 設定

Microsoft Excel – エラー処理


Microsoft Excel – 設定

Microsoft Excel コンポーネントは､Microsoft Office Excel 文書を作成、編集、印刷することができます。

Microsoft Excel コンポーネントをフローに配置すると、Magic xpiは自動的にそのコンポーネントの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、コンポーネントの設定ダイアログボックスを開きます。

フローでステップとしてMicrosoft Excel コンポーネントを使用する場合、以下のインタフェースから選択できます。

  • メソッド

  • XML

GigaSpacesをサービスで起動している場合、Microsoft Excel コンポーネントは動作しないことがあります

Microsoft Excelコンポーネントを動作させるには、Microsoft Excelコンポーネントを動作させるには を参考にしてください。

関連トピック：

プロジェクト固有のカスタムXMLテンプレートの使用


Microsoft Excel - メソッド

Micosoft Excelコンポーネントを設定するには以下のメソッドを使用してください。

  • Cell

  • Cell Format

  • Chart

  • Convert CellRange

  • List

  • List to XML

  • Macro

  • Printer

  • Quit

  • Range

  • Vector Clear

  • Vector GetEntry

  • Vector GetSize

  • Vector SetEntry

  • VectorGrid Clear

  • VectorGrid GetEntry

  • VectorGrid GetSize

  • VectorGrid SetEntry

  • Workbook Close

  • Workbook Open

  • Workbook Print

  • Workbook Protect

  • Workbook Save

  • Worksheet

  • Worksheets Count

以下の表は使用できるメソッドとそのパラメータの一覧です。太字のパラメータは必須です。

メソッド

パラメータ

説明

Cell

アクティブなセルで処理を実行します。

アクション

行いたいアクション。ドロップダウンリストで以下のいずれかを選択します。

  • SetValue …… 値フィールドに従いセル値を設定します。

  • GetValue …… 値フィールドにセル値を入力します。

  • SetFormula …… 値フィールドに従いセルを式で定義します。

  • GetFormula …… セル式を値フィールドに入力します。

  • Clear …… セルの内容をクリアします。

  • GetActiveRowColumn …… 現在のセルの位置を返します。

  • GetLastRowColumn …… シートの位置に最後のセル（値の入った）を返します。

行

セルの行

列

セルの列

値

セルの値

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Cell Format

単一セルもしくはセル範囲の書式を設定します。行と列が0より大きい場合、書式は単一セル用です。それ以外の場合はセル範囲用です。

セル範囲From

セルの開始範囲

セル範囲To

セルの終了範囲

ボーダーカラー

セルの境界線の色

ボーダーラインスタイル

セルの境界線のスタイル

フォント

使用するフォント

フォントサイズ

使用するフォントサイズ

フォント色

使用するフォント色

フォントBG色

使用するフォントの背景色

フォントスタイル

使用するフォントスタイル。ドロップダウンリストからのいずれかを選択します。

  • 太字

  • \.太字

  • 下線

  • \.下線

  • 斜体

  • \.斜体

  • 外枠

  • \.外枠

  • 影

  • \.影

  • 取消線

  • \.取消線

水平

水平方向の位置を選択します。ドロップダウンからいずれかを選択します。

  • 標準

  • 左詰め

  • 右詰め

  • 中央揃え

  • 繰り返し

  • 両端揃え

  • 均等割り付け

水平方向

セルもしくはセル範囲の水平方向のインデントを定義します。ドロップダウンリストから1 から 15 の数字を選択します。

垂直

垂直方向の位置を選択します。ドロップダウンからいずれかを選択します。

  • 上詰

  • 中央揃

  • 下詰

  • 両端揃

  • 均等割付

オリエンテーション度合

セルまたはセル範囲の方向の角度を-90度から90度の間で定義します。

コントロール

セルまたはセル範囲の書式をコントロールします。ドロップダウンからいずれかを選択します。

  • Wraptext

  • \.Wraptext

  • Shrinktofit

  • \.Shrinktofit

  • Mergecells

方向

書式の方向をを設定します。ドロップダウンからいずれかを選択します。

  • コンテキスト

  • 左から右

  • 右からi左

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Chart

チャートを作成します。

タイプ

チャートのタイプをドロップダウンから選択します。

  • Bar

  • Column

  • Pie

セル範囲From

範囲開始のセルを定義します。

セル範囲To

範囲終了のセルを定義します。

チャートタイトル

チャートのタイトルを入力します。

Xタイトル

X軸のタイトルを入力します。

Yタイトル

Y軸のタイトルを入力します。

プロット

行か列で描画します。ドロップダウンからいずれかを選択します。

  • 行

  • 列

ロケーション

チャートの位置を定義します。ドロップダウンからいずれかを選択します。

  • 新しいシート

  • シート

ロケーション名

チャートの位置を名前付けします。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Convert CellRange

セルポインタを行/列からセル範囲またはその逆へ変換します。

コンバートタイプ

実行したい変換のタイプをドロップダウンリストから択します。

  • Cell2Range

  • Range2Cell

セル行

変換したいセル行を指定しますこれは［変換タイプ］パラメータでCell2Range を選択した場合は必須になります。

セル列

変換したいセル列を指定します。これは［変換タイプ］パラメータでCell2Rangeを選択した場合は必須になります。

セル範囲

変換したいセル範囲を定義します。これは［変換タイプ］パラメータでRange2Cell を選択した場合は必須になります。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

List

リストテーブルからエントリの設定、読み取り、あるいは削除を行います。これは、メモリに保存される内部テーブルです。

アクション

行いたいアクションをドロップダウンリストから選択します。

  • Set

  • Get

  • Delete

数

このパラメータはリストテーブルのレコード番号です。このパラメータが空白、あるいは0でアクションがDeleteの場合、リストテーブルは全て削除されます。

値

このパラメータはSet あるいはGeｔ アクションの場合のみ有効です。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

List to XML

リストテーブルのレコードをXMLファイル書式で出力します。

XMLファイル名

GetListアクションの結果が作成されるXMLファイル。ユーザBLOBがXML出力を格納します。

送り元ファイル名

これは最後のGetListアクションで使用されます。

並び替え

作成される出力の順番を定義します。ドロップダウンリストから選択します。

  • 番号

  • 行

  • 列

XML結果

このパラメータは出力をXMLフォーマットで返します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Macro

マクロを有効にします。

マクロ名

アクティブにしたいマクロを指定します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Printer

アクティブプリンタをの取／得設定を行います。

アクション

行いたいアクションをドロップダウンリストから選択します。

  • SetPrinter

  • GetPrinter

プリンタ

使用したいプリンタを選択します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Quit

Excelを終了します。WindowsタスクマネージャからMicorosoft Excelを削除するためにプロセスの最後にこのメソッドを使用することをお勧めします。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Range

アクティブな範囲に対して処理を有効にします。

アクション

行いたいアクションをドロップダウンリストからいずれかを選択します。

  • SetValue …… 値フィールドに従いセル値を設定します。

  • GetValue …… セル値を値フィールドに入力します。

  • SetInternalVector …… 内部ベクターデータを範囲に入力します。これは行範囲でなければなりません；例：A3からF3。ベクターを使用するにはベクターメソッドを使用します。

  • GetInternalVector …… 内部ぺクターに範囲データを入力します。これは行範囲でなければなりません；例：A3からF3。ベクターを使用するにはベクターメソッドを使用します。

  • SetGridVector …… グリッドベクターデータを範囲に入力します。これは複数行の範囲が可能です； 例：A1からG8。ベクターを使用するにはベクターメソッドを使用します。

  • GetGridVector …… 範囲データを内部ベクターに入力します。これは複数行の範囲が可能です； 例：A1からG8。ベクターを使用するにはベクターメソッドを使用します。

  • Select …… 定義された範囲を選択します。

  • Delete …… 定義された範囲を削除します。

  • Clear …… 定義された範囲をクリアします。

  • Insert …… 値フィールドの定義（RIGHTなら列挿入、DOWNなら行挿入）に従い行や列を挿入します。

  • AutoFit …… 定義された範囲内のセルを自動的にフィットさせます。

  • AllowEditRange …… 保護されたワークシートの指定された範囲を編集可能にします。

  • GetList …… ワークシートの内容を、List to XMLメソッドで使用できるメモリテーブルに読み込みます。

セル範囲From

セル範囲Fromを定義します。

セル範囲To

セル範囲Toを定義します。

範囲名

範囲の名前を定義します。［範囲セル］パラメータを使用しない場合は必須です。

値

単一セルの値。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Vector Clear

内部ベクタの全てのエントリをクリアします。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Vector GetEntry

内部ベクタエントリから1000文字まで値を取り出します。

インデックス

ベクタエントリのインデックス

値

値変数

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Vector GetSize

内部ベクタ内のエントリ数を取り出します。

サイズ

ベクタのサイズ

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Vector SetEntry

内部ベクタに1000文字までの値を設定します。

インデックス

ベクタエントリのインデックス

値

変数の値

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

VectorGrid Clear

グリッドベクタ内の全てのエントリを消去します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

VectorGrid Get Entry

グリッドベクタのエントリから内部ベクタを取り出します。

インデックス

ベクタエントリのインデックス

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

VectorGrid GetSize

グリッドベクタのエントリ数を取り出します。

サイズ

ベクタのサイズ

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

VectorGrid SetEntry

グリッドベクタのエントリに内部ベクタを設定します。

インデックス

ベクタエントリのインデックス

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Workbook Close

ワークブックを閉じます。

変更内容を保存

ワークブックを閉じる時にいかなる変更も保存します。ドロップダウンリストから選択します。

  • No

  • Yes

ファイル名

保存したいファイル名をフルパスで指定します。［変更内容を保存］フィールド(上記)でYesが選択された場合に有効です。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Workbook Open

Excelワークブックを開きます。ワークブックが存在しなかった場合、新規に作成されます。

ファイル名

拡張子 .xls を含む xlsファイルのをフルパスで指定します。例えば：My Documents\file1.xls

読取専用

ファイルを読み込み専用モードで開きます。ドロップダウンリストから No/Yesを選択します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Workbook Print

ワークブックを印刷します。

アクティブプリンタ

プリンタ名を定義します。プリンタ名を定義しないとデフォルトプリンタが使用されます。

コピー

プリントしたい部数を選択します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Workbook Protect

ワークブックを保護/解除を行います。

保護

ワークブックをロックし保護します。ドロップダウンリストから No/Yesを選択します。

パスワード

ワークブックを保護するためパスワードを定義します。

入力されたパスワードは、ドットでマスキングされます。.

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Workbook Save

Save あるいは Save As 関数を使用してワークブックを保存します。

アクション

行いたいアクションをドロップダウンリストから選択します。

  • 保存

  • 名前を付けて保存

ファイル名

XLSファイルの.xls拡張子を含むフルパス名。例えば、My Documents\file1.xls

このフィールドは、［アクション］フィールドが Save As の場合のみ有効です。

ファイル形式

ファイルを保存したい形式。ドロップダウンリストから選択します。

  • XLS

  • XLSX

  • CSV

  • HTML

  • XML

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Worksheet

ワークシート上で処理を行います。（ワークシートを定義するには［番号］パラメータあるいは［名前］パラメータを使用します。）

アクション

行いたいアクションをドロップダウンリストから選択します。

  • Activate …… 要求されたワークシートをアクティブにします。

  • SetName …… ワークシートに名前を設定します。

  • GetName …… ワークシートの名前を取得します。

  • Create …… 新規のワークシートを作成します。

  • CopyBefore …… ワークシートをコピーし、［名前_パスワード_プリンタ］フィールドで名付けられたワークシートの前に付けます。

  • CopyAfter …… ワークシートをコピーし、 ［名前_パスワード_プリンタ］フィールドで名付けられたワークシートの後ろに付けます。

  • CopyToStart …… ワークシートをコピーし最初に付けます。

  • CopyToEnd …… ワークシートをコピーし最後に付けます。

  • Delete …… ワークシートを削除します。

  • Print …… ワークシートを印刷します。［名前_パスワード_プリンタ］フィールドを使用しプリンタ名を定義します。デフォルトプリンタを使用するにはそのフィールドを空にします。

  • Protect …… ワークシートを保護します。［名前_パスワード_プリンタ］フィールドを使用してパスワードを定義します。

  • UnProtect …… ワークシートの保護を解除します。［名前_パスワード_プリンタ］フィールドを使用してパスーワードを定義します。

数

ワークシートの番号。これを定義しない場合、代わりに［名前］パラメータを使用する必要があります。

名前

ワークシート名。これを定義しない場合、代わりに［番号］字パラメータを使用する必要があります。

コピー

［アクション］パラメータでPrintを選択した場合、作成したい部数を定義します。

名前_パスワード_プリンタ

複数のアクションを実行することができます。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Worksheets Count

使用しているワークシートの数をを自動的に数えます。

カウンタ

ワークシートの数を数えます。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

関連トピック：

ダイレクトアクセスメソッドの使い方


プロジェクト固有のカスタムXMLテンプレートの使用

OfficeComXMLTemplate.tpl および XMLTemplate.xsd は、Magic xpi が Excel から XML 出力を作成するために使用し、<Magic xpi インストール>\Runtime フォルダにあります。これらのデフォルト ファイルを変更せずに、これらのファイルのコピーを使用することを強くお勧めします。

カスタム テンプレートを使用するには、次の手順に従います。

  1. ファイル OfficeComXMLTemplate.tpl および XMLTemplate.xsd を別のディレクトリにコピーします。このディレクトリは、プロジェクト内またはディスク上の任意の場所に配置できます。

これらテンプレートの名前変更はサポートされていないので、ファイルの元の名前を保持してください。

  2. ビジネス要件に従ってこれらのファイルを変更します。

  3. Studio で、プロジェクトに OfficeComFolder という名前の変数を作成し、その値が上記で作成したディレクトリへのパスを指すようにします。

たとえば、プロジェクト内に OfficeCustomTemplates という名前のディレクトリを作成する場合、OfficeComFolder 変数の値を次のように設定します。

%currentprojectdir%OfficeCustomTemplates%sl%

フォルダがプロジェクトの外にある場合は、変数がディレクトリの絶対パスを指すようにします。

上記手順により、Magic xpi ランタイムはデフォルトのテンプレートではなく、プロジェクトのこれらのカスタム テンプレートをロードするようになりました。


Microsoft Excel – エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。Microsoft Excelコンポーネントのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

Microsoft Excelコンポーネントのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも Microsoft Excelコンポーネントで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
2150 | COMエラー
2151 | 不適切なファイル名
2152 | 要求されたパラメータ値がありません。

関連トピック：

Magic xpiのエラー処理


Microsoft Word

Microsoft® Word コンポーネントは、Magic xpiサーバとMicrosoft Word間の接続性を提供します。これにより Word文書を作成、編集、読み込み、印刷することができます。しかし、新規に文書を一から作成するのではなく既存のテンプレートを使用することを推奨します。

Microsoft Word コンポーネントを使用するには、Microsoft OfficeXP Wordかそれ以上がインストールされている必要があります。

このコンポネントを使用するにはMicrosoft Wordの予備知識が必要です。

  • このコンポーネントは、全てのプラットフォームでサポートされているわけではありません。詳細は、ここを参照してください。

  • このコンポーネントはUnicodeデータをサポートしません。

関連トピック：

Microsoft Word – 設定

Microsoft Word – エラー処理


Microsoft Word – 設定

Microsoft Word コンポーネントは、Microsoft Office Word 文書を作成、編集、印刷することができます。

Microsoft Word コンポーネントをフローに配置すると、Magic xpiは自動的にそのコンポーネントの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、コンポーネントの設定ダイアログボックスを開きます。

フローでステッフローでステップとしてMicrosoft Word コンポーネントを使用する場合、以下のインタフェースから選択できます。

  • メソッド

  • XML


Microsoft Word - メソッド

Micosoft Wordlコンポーネントを設定するには以下のメソッドを使用してください。

  • Bookmark

  • Document Close

  • Document Open

  • Document Print

  • Document Protect

  • Document Save

  • Form Field

  • Header Footer

  • Insert Objects

  • List

  • List to XML

  • Macro

  • Paragraph

  • Quit

  • Selection Format

  • Selection Move

  • Selection Text

  • Table

  • Table Cell

  • Tables

  • XML Execute

以下の表は使用できるメソッドとパラメータの一覧です。太字のパラメータは必須です。

メソッド

パラメータ

説明

Bookmark

ブックマーク上でアクションを実行します。

アクション

行いたいアクションをドロップダウリストから選択します。

  • GetCount

  • GetName

  • Add

  • Delete

  • Select

  • SetValue

インデックスタイプ

ドロップダウンリストから以下のいずれかを選択します。

  • Number

  • Name

インデックス番号

インデックス番号によるブックマーク。これはデフォルトインデックスです。［インデックスタイプ］フィールド(上記)でNumberを選択した時だけに有効です。

インデックス名

インデックス名によるブックマーク。これは［インデックスタイプ］フィールド(上記)でNameを選択した時だけに有効です。

値

ブックマークの内容

名前

GetName と Addのブックマーク名

カウント

ブックマークの数

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Document Close

文書を閉じます。

変更内容を保存

終了時に保存します。ドロップダウンリストから選択します。

  • No

  • Yes

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Document Open

Word文書を開きます。文書が存在しない場合はは新しく作成します。

ファイル名

.doc拡張子を含むDOCファイルのフルパス名。例：My Documents\file1.doc

読取専用

読込み専用みモードでファイルを開くかどうかをドロップダウンリストから選択します。

  • Yes

  • No

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Document Print

文書を印刷したりアクティブプリンタを設定/取得を行います。

アクション

行いたいアクションをドロップダウンリストから選択します。

  • Print

  • SetPrinter

  • GetPrinter

コピー

印刷部数

アクティブプリンタ

プリンタ名

［アクション］フィールド(上記)で、SetPrinter または GetPrinter を選択した場合だけ有効です。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Document Protect

文書の保護/解除を行います。

保護

保護することにより文書を損傷から守ります。ドロップダウンリストからNo/Yesを選択します。

保護タイプ

文書に設定したい保護のタイプを設定します。ドロップダウンリストから以下のオプションを選択します。

  • AllowOnlyRevisions …… 変更履歴を保護対象外とします。

  • AllowOnlyComments …… コメントを保護対象外とします。

  • AllowOnlyFormFields …… フォームフィールドを保護対象外とします。

フォームフィールドのリセットなし

リセットフォームなしフィールドのフラグを作成するかどうかを、ドロップダウンリストから選択します。

  • No

  • Yes

パスワード

文書を保護するパスワードを設定します。

入力されたパスワードは、ドットでマークされます。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Document Save

Save もしくは Save As 関数を使用して様々なフォーマットで文書を保存します。

アクション

行いたいアクションをドロップダウンリストから選択します。

  • 保存

  • 名前を付けて保存

ファイル名

拡張子を含むファイルをフルパスで指定します。例えば：My Documents\file1.doc

［アクション］フィールド(上記)で 名前を付けて保存 を選択した場合だけ有効です。

ファイル書式

ファイルを保存したいフォーマットをドロップダウンリストから選択します。

  • DOC

  • DOCX

  • HTML

  • Text

  • RTF

  • Template

  • PDF

［アクション］フィールド(上記)で 名前を付けて保存 を選択した場合だけ有効です。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Form Field

フォームフィールドでアクションを実行します。

アクション

行いたいアクションを以下のオプションから選択できます。

  • GetCount …… オブジェクトの総数を取得します。

  • GetName …… NAME属性を取得します。

  • SetName …… NAME属性を設定します。

  • Delete …… 指定したオブジェクトを削除します。

  • Select …… 指定したオブジェクトを選択します。

  • SetValue …… 指定したオブジェクトの値を取得します。

  • GetValue …… 指定したオブジェクトに値を設定します。

  • Unlink …… 指定したフィールドをその最新の結果に置き換えます。

インデックス番号

インデックス番号によるフォームフィールド。これがデフォルトインデックスです。このパラメータはGetCount以外の全てのアクションで有効です。

インデックス名

インデックス名によるフォームフィールド。このパラメータはインデックス番号が0で、GetCount以外のアクションの場合に有効です。

値

フォームフィールドの内容。このパラメータはGetValueとSetValueアクションでのみ有効です。

名前

GetName とSetName アクションでのフォームフィールド名。

カウント

GetCountアクションでのフォームフィールドの数

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Header Footer

文書のヘッダまたはフッタを有効にします。

アクション

行いたいアクションを以下のオプションから選択できます。

  • ActivateHeader …… ヘッダを有効にします。

  • ActivateFooter …… フッタを有効にします。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Insert Objects

文書にオブジェクトを挿入します。

タイプ

挿入したいオブジェクトのタイプをドロップダウンリストから選択します。

  • File

  • Picture

  • PDF

  • FieldDate

  • FieldTime

  • FieldAuthor

  • FieldFileName

  • FieldPage

ファイル名

.doc拡張子を含む DOCファイルのをフルパスで指定します。例： My Documents\file1.doc

挿入ポジション

挿入したいファイルの位置。ドロップダウンリストから Current あるいは LastPage から選択します。

高さ

オブジェクトの高さ（ポイント）

幅

オブジェクトの幅（ポイント）

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

List

リストテーブルからエントリの設定、読み込み、削除を行います。

アクション

行いたいアクションをドロップダウンリストから選択します。

  • Set

  • Get

  • Delete

数

このパラメータはリストテーブルのレコード番号です。例えば、このパラメータが空又は0でDeleteアクションが実行されるとリストテーブルの全てが削除されます。

値

このパラメータは Set あるいは Get アクションの場合のみ有効です。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

List to XML

リストテーブルレコードをXMLファイル形式で作成します。これはParagraphメソッドの［アクション］パラメータでGetListを選択した場合のみ有効です。

XMLファイル名

最後のGetListアクションで作成されたXMLファイルです。ユーザBLOBはXML結果を格納します。

送り元ファイル名

これはParagraphメソッドの最後の GetListアクションで使用されたソースファイル名です。

並び替え

出力が生成される順番をドロップダウンメニューから選択します。

  • 番号

  • 行

  • 列

XML結果

このパラメータは出力をXML形式で返します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Macro

文書に含まれているマクロを有効にします。

マクロ名

アクティブにさせたいマクロの名前

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Paragraph

選択された段落でアクションを実行します。

アクション

行いたいアクションをドロップダウンリストから選択します。

  • GetCount

  • Delete

  • Select

  • SetValue

  • GetValue

  • GetList

インデックス番号

インデックス番号。いくつかの処理では必須です。

インデックスからのリスト

GetListアクションの範囲開始インデックス番号。

インデックスへのリスト

GetListアクションの範囲終了インデックス番号。

無効な文字をクリア

テキストから不適切な文字を削除するかどうかをドロップダウンリストから選択します。

  • No

  • Yes

値

段落内容を示します。

カウント

段落数を示します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Quit

Wordを終了します。WindowsタスクマネージャからMicrosoft Wordを削除するために処理の最後にこのメソッドを使用することをお勧めします。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Selection Format

選択されたオブジェクトをフォーマットします。オブジェクトはテーブル、行、列、セル、段落、フォームフィールド、あるいはブックマーク等があります。このコマンドを使用する前に特定のエリアを定義しなくてはなりません。

フォント名

使用するフォントを選択します。

フォントサイズ

使用するフォントサイズを選択します。

フォントの色

使用するフォント色を選択します。

フォントスタイル

使用するフォントスタイルをドロップダウンリストから選択します。

  • 太字

  • \.太字

  • 下線

  • \.下線

  • 斜体

  • \.斜体

  • 外枠

  • \.外枠

  • 影

  • \.影

  • 取消線

  • \.取消線

背景色

使用するセルの背景色を選択します。

位置合せ

配置をドロップダウンリストから選択します。

  • 左詰め

  • 中央揃え

  • 右詰め

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Selection Move

指定されたアクションに従って選択された特定のユニットを移動もしくは拡張します。しかし一部のユニットは全てのアクションに対応していません。

アクション

行いたいアクションをドロップダウンリストから選択します。

  • Move To

  • Home

  • End

  • Up

  • Down

  • Left

  • Right

ユニット

移動したいユニットをドロップダウンリストから選択します。

  • wdCharacter

  • wdWord

  • wdSentence

  • wdParagraph

  • wdLine

  • wdStory

  • wdScreen

  • wdSection

  • wdColumn

ユニット数

移動したいユニットの数。

移動または拡張

ユニットを移動もしくは拡張するかをドロップダウンリストから選択します。

  • Move

  • Extend

移動ユニットの数

移動されたユニットの数

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Selection Text

選択されたエリアでテキストを設定もしくは読み込みを行います。このメソッドはSelection Moveメソッドを使用した後でのみ有効になります。

アクション

行いたいアクションをドロップダウンリストから選択します。

  • GetValue

  • SetValue

無効な文字をクリア

テキストから不適切な文字を削除するかどうかをドロップダウンリストから選択します。

  • No

  • Yes

値

読み込み、あるいは書き込みを行いたい値

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Table

テーブル上で処理を実行します。

アクション

行いたいアクションをドロップダウンリストから選択します。

  • Activate

  • ActivateHeader

  • ActivateFooter

  • GetRowsCount

  • GetColumnsCount

  • Select

  • Delete

  • SelectRow

  • AddRow

  • CopyRow

  • DeleteRow

  • GetRowCellsCount

  • SelectColumn

  • AddColumn

  • CopyColumn

  • DeleteColumn

  • GetPageBreaks

  • SetPageBreaks

  • SetHeadingFormat

  • GetDirection

  • SetDirection

  • GetAlignment

  • SetAlignment

数

テーブル番号を表します。

行番号または列番号

Copy、Delete、 あるいは Select を実行したい行または列番号を定義します。

挿入位置

行番号あるいは列番号の前の挿入ポイントを定義します。

見出し書式

ヘッダあるいはフッタのフォーマットのオプションをドロップダウンリストから選択します。

  • No

  • Yes

改ページ許可

ページ区切りの設定あるいは読み込みを行います。有効な値はNoとYesです。

テーブルの方向

テーブル方向の設定あるいは読み込みを行います。

行位置合せ

行配置ページ区切り特性を設定あるいは読み込みます。

カウント

行、列またはセルを数えます。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Table Cell

テーブルセルで処理を実行します。

アクション

行いたいアクションをドロップダウンリストから選択します。

  • SetValue

  • GetValue

  • SetProperties

  • Select

  • Clear

行

テーブル行

カラム

テーブル列

フォント名

使用したいフォント。

フォントサイズ

使用したいフォントサイズ。

フォントの色

使用したいフォントの色。

フォントスタイル

使用したいフォントスタイル。

背景色

使用したいセルの背景色。

値

セルの値。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Tables

テーブル上でのアクションを定義します。

アクション

行いたい処理をドロップダウンリストから選択します。

  • GetCount

  • Create

行数

アクションによって作成される行数

列数

アクションによって作成される列数

追加ポジション

文書の先頭または最後にテーブルを追加します。ドロップダウンリストから選択します。

  • 開始

  • 終了

カウント

文書内のテーブルの数を数えます。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

XML Execute

XMLファイルで定義されたコマンドのセットやテンプレート文書に従ってXML形式で文書を作成します。

XMLファイル名

XMLファイルをフルパスで指定します(XML名またはXML BLOBで提供する必要があります)。

XML BLOB

XML BLOBをフルパスで指定します (XML名またはXML BLOBで提供する必要があります)。

Word文書名

新しいWord文書名をフルパスで指定します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

関連トピック：

ダイレクトアクセスメソッドの使用方法


Microsoft Word – エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。Microsoft Wordlコンポーネントのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

Microsoft Wordコンポーネントのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも Microsoft Wordコンポーネントで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
2100 | COMエラー
2101 | 不適切なファイル名
2102 | 要求されたパラメータの値がありません。

関連トピック：

Magic xpiのエラー処理


MQTT

MQTTコネクタは、以下を提供することでMQTTアーキテクチャのクライアント部分を実装します。

  • パブリッシュされたメッセージに基づいてフローを呼び出すトピックにサブスクライブするトリガ。

  • 任意のトピックにメッセージをパブリッシュするすることができるステップ。

MQTTコネクタを使用するには、MQTTサーバにアクセスする必要があります。

Since version:

4.5

関連トピック：

MQTT -設定

MQTT - エラー処理


MQTT -構成

MQTTコネクタは、MQTTアーキテクチャのクライアント部分を実装します。

MQTTコネクタをフローに配置すると、Magic xpiは自動的にそのコネクタの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

そして、コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、MQTTコネクタの設定ダイアログボックスを開きます。

MQTTコネクタを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初に MQTT リソースを定義する必要があります。また、トリガとして使用しようとしている場合、［設定］ダイアログボックスの［サービス］セクションで MQTTサービス を定義する必要があります。

表示されるダイアログボックスは、MQTTコネクタをトリガとして使用するか、フローでのステップとして使用するかによって異なります。


MQTT - ダイナミックインタフェース

MQTTコネクタは、Magic xpiの動的なインタフェースによって動作するように設計されています。MQTTコネクタをフローに配置すると、Magic xpiは自動的にそのコネクタの［プロパティ］ペインを開きます。そして、コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、［MQTTステップ 設定］ダイアログボックスを開きます。

このダイアログボックスには以下のフィールドが含まれています。

プロパティ

説明

接続

リソース名

コンポーネントの［プロパティ］ペインで選択されたリソースの名前。リソースは、［設定］ダイアログボックスの［リソース］セクションで定義されます。

パブリッシュ設定

QoS

メッセージを送信する時のサービスの質。ドロップダウンリストから以下のどれかを選択してください。

  • 0 (デフォルト) …… At most once.（ 最高1回。届くかは保証しない）

  • 1 ……At least once.（少なくとも一回。重複する可能性がある）

  • 2 ……Exactly once（正確に一回）.

保持

送信後に、ブローカがメッセージを保持するかどうかを指定します。ドロップダウンリストから以下のどれかを選択してください。

  • No (デフォルト)

  • Yes

結果オプション

保存先

結果として生じているXMLファイルをどこに格納するかを定義します。ドロップダウンリストから以下のどれかを選択してください。

  • Variable …… MQTTによって返されるデータを格納する変数を選択します。.
    をクリックして変数リストを開きます。この情報を格納する変数を選択してください(デフォルトは、C.UserBlob)。

  • File …… MQTTによって返されるデータを格納するファイルを選択します。.
    をクリックして式エディタを開くか、 [image] をクリックしてこの情報を格納するファイルパスを入力してください。

処理成功

このフィールドは、データがMQTTに配置された場合、簡単に確認することができます。ドロップダウンリストから以下のどれかを選択してください。

  • None …… コネクタの成否のステータスを保存したくない場合は、このオプションを選択してください。

  • Variable …… をクリックして、変数リストを開きます。コネクタの成否のステータスを格納したい変数を選択してください。

ステップのデータマッパーでは、ペイロードノードがBLOBのため、それはオリジナルのエンコーディングでそのままパブリッシュされます。


MQTT - トリガ設定

MQTTコネクタは、パブリッシュされたメッセージに基づいて、フローを呼び出すトピックにサブスクライブするために使用することができます。

MQTTコネクタをMagic xpiのトリガエリアにドラッグすると、［プロパティ］ペインを開きます。コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、［MQTTトリガ設定］ダイアログボックスを開きます。

このダイアログボックスには以下のフィールドが含まれています。

名前

説明

接続

リソース名

この読み込み専用フィールドは、サービスを定義する時にトリガのために選択したMQTTリソースの名前を表示します。

トピック

新しいトピックを追加する場合は、［新規］をクリックしてください。既存のトピックを削除する場合は、［削除］をクリックしてください。

トピック

サブスクライブしたいトピックの名前を入力してください。トピックは、MQTTの仕様に従ってワイルドカードをサポートします。

QoS

メッセージをサブスクライブする時のサービスの質。ドロップダウンリストから以下のどれかを選択してください。

  • 0 (デフォルト) …… At most once.（ 最高1回。届くかは保証しない）

  • 1 ……At least once.（少なくとも一回。重複する可能性がある）

  • 2 ……Exactly once（正確に一回）.

結果オプション

メッセージペイロード

メッセージペイロードの保存先を定義します。 をクリックして変数リストを開き、メッセージペイロードを格納する変数を選択してください。デフォルトはC.UserBLOBです。

メッセージトピック

メッセージトピックの保存先を定義します。 をクリックして変数リストを開き、メッセージトピックを格納する変数を選択してください。デフォルトはC.UserStringです。


MQTT - エラー処理

Magic xpiサーバの フローマネジャは、ステップの実行中にエラーを監視します。MQTTコネクタのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

MQTTコネクタのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも MQTTコネクタで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
9999 | Java例外
100 | MQTT：接続のセキュリティ例外
101 | MQTT：接続の例外
102 | MQTT：パブリッシュ - 接続のセキュリティ例外
103 | MQTT：サブスクライブ - 接続のセキュリティ例外
104 | MQTT：無効なサービスパラメータ
105 | MQTT: サービスは利用できません
106 | MQTT 永続的な例外
107 | MQTT 例外

関連トピック：

Magic xpiのエラー処理


MSMQ

MSMQコンポーネントは、MSMQメッセージングを使用して動作します。このコンポーネントは、ステップ モードおよびトリガモードの両方で使用できます。トリガモードは、Getメソッドの使用時にのみ使用できます。

MSMQコンポーネントを使用するには、

  • コンピュータにMSMQサービスがインストールされていなければなりません。

  • MSMQコンポーネントを使用してアクセスするキューを定義する必要があります。

フロー内のステップとしてMSMQコンポーネントを使用する場合には、以下の処理を実行するための多様なメソッドを選択できます。

  • Open または Close.

  • Send または Get

メッセージングキューとユーザについての情報をコンポーネントを提供しなければなりません。

トリガモードでは、コンポーネントは常に、指定したキューにある着信メッセージに関してチェックします。新規メッセージが見つかると、コンポーネントはそのメッセージを取得し、そのフローをトリガします。

アクセスしようとしているメッセージングキューについての情報をMSMQコンポーネントに提供し、実行したい処理を選択する必要があります。

  • MSMQコンポーネントを使用するには、コンピュータにMSMQがインストールされていることを確認してください。

  • このコンポーネントは、全てのプラットフォームでサポートされているわけではありません。詳細は、ここを参照してください。

  • このコンポーネントはUnicodeデータをサポートしません。

このコンポーネントを利用したサンプルプロジェクトがあります。インストール処理時に、オプションダイアログでサンプルプログラムをインストールするを選択した場合、以下のフォルダにサンプルプロジェクトがコピーされます。 <Magic xpi のインストールフォルダ>\Extra\SampleProjects

関連トピック：

MSMQ – 設定

MSMQ – エラーコード


MSMQ – 設定

MSMQコンポーネントは、Micorosoft Messaging Queueを通してメッセージの送受信ができます。

MSMQコンポーネントをフローに配置すると、Magic xpiは自動的にそのコネクタの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、MSMQコンポーネントの設定ダイアログボックスを開きます。

MSMQコンポーネントを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初に MSMQ リソースを定義する必要があります。また、トリガとして使用しようとしている場合、［設定］ダイアログボックスの［サービス］セクションで MSMQ サービス を定義する必要があります。

表示されるダイアログボックスは、MSMQコンポーネントをトリガとして使用するか、フローでのステップとして使用するかによって異なります。フローでステッフローでステップとしてコンポーネントを使用する場合、以下のインタフェースから選択できます。

  • メソッド

  • XML


MSMQ - メソッド

以下のメソッドは、ダイレクトアクセスメソッドを用いてMSMQコンポーネントを構成する場合に使用されます。

  • Quick Send

  • Quick Get

  • Open

  • Close

  • Send

  • Get

  • Advanced Send

  • Advanced Quick Send

  • Begin Transaction

  • Commit

  • Rollback

次の表では、使用できるメソッドおよびパラメータを一覧にしています。太字表示のパラメータは必須です。

メソッド

パラメータ

説明

Quick Send

キューを開き、MSMQプロトコルを使用してメッセージを送信し、キューを閉じます。

キュー名

開くメッセージングキューの名前を示す文字列を入力します。

パブリックアクセスのキューGUID、またはプライベートアクセスのキュー番号を入力できます。

データ

［データタイプ]パラメータで選択されたフォーマットでメッセージデータを入力します。式を定義して、実行時にBLOBをビルドすることもできます。

有効な式を入力するには、カラムの右側の [image] をクリックして、式エディタを開きます。

データタイプ

ドロップダウンリストから以下のデータタイプのうちの1つを選択します。

  • 文字

  • 数値

  • 日付

  • 論理

  • BLOB

データタイプ

小数点の前と後の位置に必要な数値を入力してください。［データタイプ］が数値の場合のみ、このパラメータが必要です。

トランザクションモード

このメッセージのトランザクションモードをドロップダウンリストから選択します。

  • なし …… このメッセージはトランザクションではなく、トランザクションキューで送られません。

  • 単一メッセージトランザクション …… このメッセージはトランザクションキューを使用して単体で送られます。シングルメッセージはトランザクションとしてラップされます。シングルメッセージトランザクションはトランザクションキューに送られ、シングルメッセージの一回限りの配信(EOD)のリクエストに使用することができます。

  • 定義済みトランザクション内 …… このメッセージはトランザクションキューを使用して定義済みトランザクションの一部として送られます。

トランザクションハンドル

Begin Transactionメソッドにより返された数値。

相関ID

この属性はMSMQコンポーネントに特定の相関IDに基づく特定のメッセージを送らせることを可能にする識別子です。これは受信アプリケーションにどのメッセージを読むか指示します。

をクリックし、受信アプリケーションが受信メッセージを並べ替えたり読んだりできる相関IDを入力します。

メッセージID

これはメッセージのメッセージID属性を定義する識別子です。

をクリックして必要なメッセージIDを選択します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。 をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Quick Get

キューを開き、MSMQプロトコルを使用してメッセージを受信し、キューを閉じます。

キュー名

開くメッセージングキューの名前を示す文字列を入力します。

パブリックアクセスのキューGUID、またはプライベートアクセスのキュー番号を入力できます。

タイムアウト

フロー内の次のステップに移行する前に、コンポーネントがメッセージを受信するのを待つ時間（ミリ秒単位）を入力します。-1を入力すると、フロー内の次のステップに移行する前にメッセージを受信するまでコンポーネントは待機し続けます。

書式

小数点の前と後の位置に必要な数値を入力してください。［データタイプ］が数値の場合のみ、このパラメータが必要です。

メッセージ識別子

メッセージのIDを示す番号を入力します。メッセージがキューに送られた場合、システムはすべてのデータをスキャンし、正しいAppSpecificプロパティでそのメッセージを検索します。

ルックアップID

このパラメータは特定のメッセージを読む場合にのみ使用します。

トランザクションモード

このメッセージのトランザクションモードをドロップダウンリストから選択します。

  • なし …… このメッセージはトランザクションではなく、トランザクションキューで送られません。

  • 単一メッセージトランザクション …… このメッセージはトランザクションキューを使用して単体で送られます。シングルメッセージはトランザクションとしてラップされます。シングルメッセージトランザクションはトランザクションキューに送られ、シングルメッセージの一回限りの配信(EOD)のリクエストに使用することができます。

  • 定義済みトランザクション内 …… このメッセージはトランザクションキューを使用して定義済みトランザクションの一部として送られます。

トランザクションハンドル

Begin Transactionメソッドにより返された数値。

相関ID

この属性はMSMQコンポーネントに特定のメッセージを受信することを可能にする識別子です。相関IDを In と設定されると、ここに割り当てられている相関IDが符合した場合のみメッセージがメッセージキューから読まれます。

をクリックし、受信アプリケーションが受信メッセージを並べ替えたり読んだりできる相関IDを選択します。

メッセージID

これはメッセージのメッセージID属性を定義する識別子です。

をクリックして必要なメッセージIDを選択します。

データ

［データタイプ］プロパティで選択されたフォーマットのメッセージデータを返す場所を入力します。

データタイプ

受信したメッセージのデータタイプを受け付ける変数を入力します。

をクリックし、変数リストを開きます。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。 をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Open

MSMQサーバでメッセージを送受信するキューを開きます。.

キュー名

開くメッセージングキューの名前を示す文字列を入力します。

パブリックアクセスのキューGUID、またはプライベートアクセスのキュー番号を入力できます。

アクセス

ドロップダウンメニューからキューのメッセージに利用可能なアクセスのタイプを選択します。

  • Read …… これによって、ユーザはプロパティとキューのセキュリティ記述子のみを照会することができます。

  • Write …… これによって、ユーザはメッセージをキューに送信できます。

共有

ドロップダウンリストから以下のうちの1つを選択します。

  • Availabled …… 他のユーザが、［アクセス］パラメータに示されるアクセスのタイプに従って、キューのメッセージにアクセスできることを示します。

  • Exclusive …… 他のユーザは、キューのメッセージにアクセスできないことを示します。

キューハンドル

キューハンドルを表す数値を返します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。 をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Close

MSMQサーバ上のキューを閉じます。

キューハンドル

Openメソッドでキューハンドルとして返された数値を入力します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。 をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Send

MSMQプロトコルを使用してメッセージを送信します。

キューハンドル

Openメソッドでキューハンドルとして返された数値を入力します。

データ

［データタイプ]パラメータで選択されたフォーマットでメッセージデータを入力します。式を定義して、実行時にBLOBをビルドすることもできます。

有効な式を入力するには、カラムの右側の [image] をクリックして、式エディタを開きます。

データタイプ

ドロップダウンリストから以下のデータタイプのうちの1つを選択します。

  • 文字

  • 数値

  • 日付

  • 論理

  • BLOB

書式

小数点の前と後の位置に必要な数値を入力してください。［データタイプ］が数値の場合のみ、このパラメータが必要です。

トランザクションモード

このメッセージのトランザクションモードをドロップダウンリストから選択します。

  • なし …… このメッセージはトランザクションではなく、トランザクションキューで送られません。

  • 単一メッセージトランザクション …… このメッセージはトランザクションキューを使用して単体で送られます。シングルメッセージはトランザクションとしてラップされます。シングルメッセージトランザクションはトランザクションキューに送られ、シングルメッセージの一回限りの配信(EOD)のリクエストに使用することができます。

  • 定義済みトランザクション内 …… このメッセージはトランザクションキューを使用して定義済みトランザクションの一部として送られます。

トランザクションハンドル

Begin Transactionメソッドにより返された数値。

相関ID

この属性はMSMQコンポーネントに特定のメッセージを受信することを可能にする識別子です。相関IDを In と設定されると、ここに割り当てられている相関IDが符合した場合のみメッセージがメッセージキューから読まれます。

をクリックし、受信アプリケーションが受信メッセージを並べ替えたり読んだりできる相関IDを選択します。

メッセージID

これはメッセージのメッセージID属性を定義する識別子です。

をクリックして必要なメッセージIDを選択します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。 をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Get

MSMQプロトコルを使用してメッセージを受信します。

キューハンドル

Openメソッドでキューハンドルとして返された数値を入力します。

タイムアウト

フロー内の次のステップに移行する前に、コンポーネントがメッセージを受信するのを待つ時間（ミリ秒単位）を入力します。-1を入力すると、フロー内の次のステップに移行する前にメッセージを受信するまでコンポーネントは待機し続けます。

書式

小数点の前と後の位置に必要な数値を入力してください。［データタイプ］が数値の場合のみ、このパラメータが必要です。

メッセージ識別子

メッセージのIDを示す番号を入力します。メッセージがキューに送られた場合、システムはすべてのデータをスキャンし、正しいAppSpecificプロパティでそのメッセージを検索します。

ルックアップID

このパラメータは特定のメッセージを読む場合にのみ使用します。

トランザクションモード

このメッセージのトランザクションモードをドロップダウンリストから選択します。

  • なし …… このメッセージはトランザクションではなく、トランザクションキューで送られません。

  • 単一メッセージトランザクション …… このメッセージはトランザクションキューを使用して単体で送られます。シングルメッセージはトランザクションとしてラップされます。シングルメッセージトランザクションはトランザクションキューに送られ、シングルメッセージの一回限りの配信(EOD)のリクエストに使用することができます。

  • 定義済みトランザクション内 …… このメッセージはトランザクションキューを使用して定義済みトランザクションの一部として送られます。

トランザクションハンドル

Begin Transactionメソッドにより返された数値。

相関ID

この属性はMSMQコンポーネントに特定のメッセージを受信することを可能にする識別子です。相関IDを In と設定されると、ここに割り当てられている相関IDが符合した場合のみメッセージがメッセージキューから読まれます。

をクリックし、受信アプリケーションが受信メッセージを並べ替えたり読んだりできる相関IDを選択します。

データ

［データタイプ］プロパティで選択されたフォーマットのメッセージデータを返す場所を入力します。

カラムの右側の [image] をクリックして［値］カラムを開き、変数リストから位置を選択します。

データタイプ

受信したメッセージのデータタイプを使用して変数を入力します。

メッセージID

これはメッセージのメッセージID属性を定義する識別子です。

をクリックして必要なメッセージIDを選択します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。 をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Advanced Send

キューを開き、MSMQプロトコルを使用してメッセージを送信し、キュー設定を準備します。

キューハンドル

Openメソッドでキューハンドルとして返された数値を入力します。

データ

［データタイプ]パラメータで選択されたフォーマットでメッセージデータを入力します。式を定義して、実行時にBLOBをビルドすることもできます。

有効な式を入力するには、カラムの右側の [image] をクリックして、式エディタを開きます。

データタイプ

ドロップダウンリストから以下のデータタイプのうちの1つを選択します。

  • 文字

  • 数値

  • 日付

  • 論理

  • BLOB

書式

小数点の前と後の位置に必要な数値を入力してください。［データタイプ］が数値の場合のみ、このパラメータが必要です。

検証

使用したい通知タイプをドロップダウンリストから選択します。

  • Full Reach Queue …… 実際のメッセージがキューに届いている場合、肯定的な通知が送られます。一方、キュー到着タイマーの設定時間が終了している場合、または実際のメッセージが検証されていない場合には、否定的な通知が送られます。

  • Not Acknowledge Reach Queue …… 実際のメッセージがキューに届かない場合には、否定的な通知が送られます。キュー到着タイマーの設定時間が終了している場合、または実際のメッセージが検証されていない場合に、このようなことが発生します。

  • Full Receive …… キュー到着タイマーの設定時間が終了する前に、実際のメッセージを受信した場合には、肯定的な通知が送られ、そうでない場合は、否定的な通知が送られます。

  • Not Acknowledge Receive …… キュー到着タイマーの設定時間が終了する前に、実際のメッセージをキューから受信するのを妨げるエラーが発生した場合、否定的な通知が送られます。

  • None …… 通知メッセージが送信されません。

管理パス

通知メッセージが送信される管理キューを入力します。

アプリ固有

数字を入力して、1つの整数値やアプリケーションが定義したメッセージクラス、といったアプリケーションが生成した情報を指定します。受信するアプリケーションは、同じアプリケーションの特定の情報を使用して、すべてのメッセージに関してキューを検索することができます。

配信

次のうちの1つを入力して、メッセージデリバリーメソッドを指定します。

  • 回復可能 …… メッセージはルーチンおよび配信時には、ディスクに書かれます。そのため、エクスプレスメッセージの使用よりも配信速度は遅くなります。しかし、メッセージがキューに残っている間にエラーが発生したり、コンピュータが停止したりした場合、メッセージは回復可能であり、理想的です（ラップトップ コンピュータ上のモバイル クライアントなどにとっては、特にそうである）。

  • エクスプレス …… メッセージはルーチンおよび配信時には、RAMメモリに格納されます。動作速度は非常に速いが、メッセージが渡されるコンピュータが故障した場合、メッセージの回復は不可能です。たとえば、メッセージ キューイング サービスが中断すれば、エクスプレス メッセージは消えてしまいます。

拡張

メッセージに関連し、アプリケーションが定義した追加の情報を表す数字を入力します。

ジャーナル

ドロップダウンリストから以下のどれか1つを選択し、メッセージのコピーをキューに保存する方法を指定します。

  • Journal …… 肯定的な元ジャーナルが要求されます。別のコンピュータへのメッセージの配信が成功した場合、メッセージのコピーが元のコンピュータ上のコンピュータジャーナルに保存されます。ただし、コピーは、失敗した場合に適用されるデッド レターキューには保存されません。

  • Dead-letter …… 否定的なソースジャーナルが要求されます。メッセージは、失敗した場合に適用されるデッドレターキューに保管されますが、成功時にはコピーはコンピュータジャーナルに保存されません。

  • Journal/Dead-Letter …… 肯定と否定のソース ジャーナルが要求されます。メッセージのコピーは成功時には、コンピュータジャーナルに保存され、失敗時には適用のデッドレターキューに保存されます。

  • None …… ソースキューイングは無効であり、メッセージは保存されません。

ラベル

メッセージにラベルを付けるため、テキストを入力します。たとえば、メッセージに「Magic xpi」というラベルを付けます。

キューに到着する最大時間

メッセージが指定されたキューに到着するまでの最大待機時間（秒単位）を入力します。メッセージが指定した最大時間にキューに到着しない場合、そのメッセージは［ジャーナル］パラメータに従って廃棄されます。

最大受信時間

メッセージが指定されたキューから受信するまでの最大待機時間（秒単位）を入力します。その時間には、キューに入る時間、およびキュー内で待機する時間も含まれます。

優先順

メッセージの優先順位を表す数値。01から7まで指定できます。デフォルトは、3です。

トランザクションモード

このメッセージのトランザクションモードをドロップダウンリストから選択します。

  • なし …… このメッセージはトランザクションではなく、トランザクションキューで送られません。

  • 単一メッセージトランザクション …… このメッセージはトランザクションキューを使用して単体で送られます。シングルメッセージはトランザクションとしてラップされます。シングルメッセージトランザクションはトランザクションキューに送られ、シングルメッセージの一回限りの配信(EOD)のリクエストに使用することができます。

  • 定義済みトランザクション内 …… このメッセージはトランザクションキューを使用して定義済みトランザクションの一部として送られます。

トランザクションハンドル

Begin Transactionメソッドにより返された数値。

相関ID

この属性はMSMQコンポーネントに特定のメッセージを受信することを可能にする識別子です。相関IDを In と設定されると、ここに割り当てられている相関IDが符合した場合のみメッセージがメッセージキューから読まれます。

をクリックし、受信アプリケーションが受信メッセージを並べ替えたり読んだりできる相関IDを選択します。

メッセージID

これはメッセージのメッセージID属性を定義する識別子です。

をクリックして必要なメッセージIDを選択します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。 をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Advanced Quick Send

キューを開き、MSMQプロトコルを使用してメッセージを送信し、キューを閉じます。

キュー名

開くメッセージングキューの名前を示す文字列を入力します。

パブリックアクセスのキューGUID、またはプライベートアクセスのキュー番号を入力できます。

データ

［データタイプ]パラメータで選択されたフォーマットでメッセージデータを入力します。式を定義して、実行時にBLOBをビルドすることもできます。

有効な式を入力するには、カラムの右側の [image] をクリックして、式エディタを開きます。

データタイプ

ドロップダウンリストから以下のデータタイプのうちの1つを選択します。

  • 文字

  • 数値

  • 日付

  • 論理

  • BLOB

書式

小数点の前と後の位置に必要な数値を入力してください。［データタイプ］が数値の場合のみ、このパラメータが必要です。

検証

使用したい通知タイプをドロップダウンリストから選択します。

  • Full Reach Queue …… 実際のメッセージがキューに届いている場合、肯定的な通知が送られます。一方、キュー到着タイマーの設定時間が終了している場合、または実際のメッセージが検証されていない場合には、否定的な通知が送られます。

  • Not Acknowledge Reach Queue …… 実際のメッセージがキューに届かない場合には、否定的な通知が送られます。キュー到着タイマーの設定時間が終了している場合、または実際のメッセージが検証されていない場合に、このようなことが発生します。

  • Full Receive …… キュー到着タイマーの設定時間が終了する前に、実際のメッセージを受信した場合には、肯定的な通知が送られ、そうでない場合は、否定的な通知が送られます。

  • Not Acknowledge Receive …… キュー到着タイマーの設定時間が終了する前に、実際のメッセージをキューから受信するのを妨げるエラーが発生した場合、否定的な通知が送られます。

  • None …… 通知メッセージが送信されません。

管理パス

通知メッセージが送信される管理キューを入力します。

アプリ固有

数字を入力して、1つの整数値やアプリケーションが定義したメッセージクラス、といったアプリケーションが生成した情報を指定します。受信するアプリケーションは、同じアプリケーションの特定の情報を使用して、すべてのメッセージに関してキューを検索することができます。

配信

次のうちの1つを入力して、メッセージデリバリーメソッドを指定します。

  • 回復可能 …… メッセージはルーチンおよび配信時には、ディスクに書かれます。そのため、エクスプレスメッセージの使用よりも配信速度は遅くなります。しかし、メッセージがキューに残っている間にエラーが発生したり、コンピュータが停止したりした場合、メッセージは回復可能であり、理想的です（ラップトップ コンピュータ上のモバイル クライアントなどにとっては、特にそうである）。

  • エクスプレス …… メッセージはルーチンおよび配信時には、RAMメモリに格納されます。動作速度は非常に速いが、メッセージが渡されるコンピュータが故障した場合、メッセージの回復は不可能です。たとえば、メッセージ キューイング サービスが中断すれば、エクスプレス メッセージは消えてしまいます。

拡張

メッセージに関連し、アプリケーションが定義した追加の情報を表す数字を入力します。

ジャーナル

ドロップダウンリストから以下のどれか1つを選択し、メッセージのコピーをキューに保存する方法を指定します。

  • Journal …… 肯定的な元ジャーナルが要求されます。別のコンピュータへのメッセージの配信が成功した場合、メッセージのコピーが元のコンピュータ上のコンピュータジャーナルに保存されます。ただし、コピーは、失敗した場合に適用されるデッド レターキューには保存されません。

  • Dead-letter …… 否定的なソースジャーナルが要求されます。メッセージは、失敗した場合に適用されるデッドレターキューに保管されますが、成功時にはコピーはコンピュータジャーナルに保存されません。

  • Journal/Dead-Letter …… 肯定と否定のソース ジャーナルが要求されます。メッセージのコピーは成功時には、コンピュータジャーナルに保存され、失敗時には適用のデッドレターキューに保存されます。

  • None …… ソースキューイングは無効であり、メッセージは保存されません。

ラベル

メッセージにラベルを付けるため、テキストを入力します。たとえば、メッセージに「Magic xpi」というラベルを付けます。

キューに到着する最大時間

メッセージが指定されたキューに到着するまでの最大待機時間（秒単位）を入力します。メッセージが指定した最大時間にキューに到着しない場合、そのメッセージは［ジャーナル］パラメータに従って廃棄されます。

最大受信時間

メッセージが指定されたキューから受信するまでの最大待機時間（秒単位）を入力します。その時間には、キューに入る時間、およびキュー内で待機する時間も含まれます。

トランザクションモード

このメッセージのトランザクションモードをドロップダウンリストから選択します。

  • なし …… このメッセージはトランザクションではなく、トランザクションキューで送られません。

  • 単一メッセージトランザクション …… このメッセージはトランザクションキューを使用して単体で送られます。シングルメッセージはトランザクションとしてラップされます。シングルメッセージトランザクションはトランザクションキューに送られ、シングルメッセージの一回限りの配信(EOD)のリクエストに使用することができます。

  • 定義済みトランザクション内 …… このメッセージはトランザクションキューを使用して定義済みトランザクションの一部として送られます。

優先順位

［トランザクションモード］(上記)でなしが設定された時だけ、このパラメータは有効です。メッセージの優先順位を表す数値。01から7まで指定できます。デフォルトは、0です。

トランザクションハンドル

Begin Transactionメソッドにより返された数値。

相関ID

この属性はMSMQコンポーネントに特定のメッセージを受信することを可能にする識別子です。相関IDを In と設定されると、ここに割り当てられている相関IDが符合した場合のみメッセージがメッセージキューから読まれます。

をクリックし、受信アプリケーションが受信メッセージを並べ替えたり読んだりできる相関IDを選択します。

メッセージID

これはメッセージのメッセージID属性を定義する識別子です。

をクリックして必要なメッセージIDを選択します。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。 をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Begin Transaction

トランザクションの開始を指定します。後ろの、トランザクションモードを含むメッセージはトランザクションの一部です。トランザクションモードはそれがトランザクションの一部であり、このメソッドに割り当てられた同じトランザクション処理番号であることを示しています。

トランザクションタイプ

トランザクションのタイプをドロップダウンリストから選択します。

  • 内部 MSMQ …… MSMQトランザクションキューを使用してデフォルトサーバ経由で送られます。

  • Microsoft Transactional Server …… Microsoft Transactional Server (MTS)を使用して送られます。

トランザクションハンドル

Begin Transactionメソッドがトランザクションの開始を示す為に起動されるときに、それぞれのメッセージメソッド（SendやGet）で送られる数値。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。 をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Commit

開いたトランザクションをコミットします。これ以降のトランザクションは、新しいBegin Transactionメソッドで開始しなくてはなりません。

トランザクションハンドル

Begin Transactionメソッドにより返された数値。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。 をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Rollback

トランザクション内のいずれかのメッセージが失敗した場合、メッセージトランザクションをアボートしトランザクションの開始状態に戻します。以降のトランザクションは新しいトランザクションで開始しなくてはなりません。

トランザクションハンドル

Begin Transactionメソッドにより返された数値。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。 をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Magic xpi のOSサービスがローカルなシステムアカウントで実行している場合、キューにメッセージを書き込むことができるだけです。メッセージは読み込めません。サービスユーザーアカウントをドメインユーザーアカウントと取り替えることによってこの制限を限界を無効にすることができます。

関連トピック：

ダイレクトアクセスメソッドの使い方


MSMQ - トリガ設定

MSMQコンポーネントは、Getメソッドのみを使用するトリガとして使用することができます。

［コンポーネント設定: MSMQ］ダイアログボックスには、以下のフィールドがあります。

プロパティ

説明

オペレーション詳細

キュー名

開くMSMQキューの名前。

トランザクションキュー

キューがトランザクショナルかどうか（Yes/No）を指定します。つまり、メッセージをトランザクション内で送信するように指定します。

シェア

ドロップダウンリストから以下のいずれかを選択します。

  • Available …… 他のユーザはキュー内のメッセージにアクセスできます。

  • Exclusive …… 他のユーザはキュー内のメッセージにアクセスできません。

メッセージ識別子

特定のアプリケーションのセットアップで設定された識別番号。

キープアライブ間隔（分）

自動的に再起動される前にトリガの応答がない場合の時間を分数で指定します。デフォルト値は0で、これはトリガの応答を永久に待ち続けることを意味します。

このパラメータ値の選択は、慎重に行ってください。値が少な過ぎると、有効な処理が終了する前に、トリガは終了するかもしれません。

メッセージタイプ

フィールドの右側の [image] をクリックし変数リストを開きます。リストから、メッセージタイプの場所となる変数を選択します。

メッセージ内容

フィールド右側の [image] をクリックし変リストを開きます。リストからメッセージ内容を保持する変数を選択します。

引数XML位置

フィールド右側の [image] をクリックし変数リストを開きます。リストからXML結果が送られる変数を選択します。

再接続ポリシー

再接続間隔（秒）

MSMQサーバに再接続を試みることができます。Magic xpiサーバがMSMQサーバに再接続を試みるまでの間隔を秒数で入力します。

再接続回数

Magic xpiサーバMSMQサーバへ再接続を試みる回数の最大値を入力します。無限回再接続を試みる場合は0を入力します。

MSMQコンポーネントをトリガとして構成するには：

  1. MSMQを[設定］ダイアログボックスの［サービス］セクションでサービスとして定義してください。詳細は、ここをクリックしてください。

  2. フローのトリガエリアにMSMQコンポーネントを配置してください。［プロパティ］ペインが開きます。、

  3. ［設定］セクションで、ドロップダウンリストから必要なサービス名を選択してください。

  4. コンポーネントをダブルクリックするか、右クリックしてコンテキストメニューから［構成］を選択してください。［コンポーネント設定： JMS］ダイアログボックスを開くので適切な情報を入力します。

  5. MSMQトリガの構成が終了したら［OK］をクリックして設定を保存しダイアログボックスを終了します。［取消］をクリックすると設定を保存せずにダイアログボックスを終了します。


MSMQ – エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。MSMQコンポーネントのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

MSMQコンポーネントのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも MSMQコンポーネントで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
8001 | 接続中のエラー
8002 | 送受信時にのエラー
8003 | Get Data 処理実行時のエラー

関連トピック：

Magic xpiのエラー処理


Notes DB

Notes DB コネクタは、IBM Lotus Notes データベースへ接続を提供します。

Notes DB コネクタを使用してローカルアクセス（リモートアクセスがNoの時）を行うには、Lotus Notes Client VR5かそれ以上がインストールされている必要があります。また以下の情報を把握している必要があります。

  • Lotus Notesサーバ名

  • Lotus Notesデータベース名とパスワード

Notes DB コネクタを使用する前に以下のことを行なう必要があります。

  • Windowsの環境変数 CLASSPATH にNotes.jar ファイルへのフルパス（例：D:\lotus\notes\Notes.jar）を入力します。この.jar ファイルはLotus Notes クライアントインストールフォルダにあります。

  • Windowsの環境変数 PATHに Lotus Notes DLLのフォルダへのフルパスを入力します。

Notes DBサーバにSSLでリモートアクセスする前に、以下の処理を行う必要があります。

  • Lotus NotesサーバからMagic xpiサーバへNCSO.jarファイルをコピーし、Magic.ini内のクラスパスを追加するか、Magic xpiのJava/libディレクトリに配置します。

  • このjarは、Dominoサーバマシンの以下のフォルダ上にあります。c:\lotus\domino\data\domino\java\NCSO.jar

  • IBM の仕様に従ってリモートアクセスができるようにNotes DBサーバを設定してください。

コネクタを使用することで利用可能なデータベースを参照したり、クエリ、追加、更新や削除などの処理をフォームやビューを通して行うことができます。グローバルなクエリを実行することもできます。

  • Notes DB コネクタは、Lotus Notesのカスタムデータベースを扱うことができます。標準のLotus Notes データベースで作業をするには、Domino コンポーネントを使用することをお勧めします。

  • 64ビットのMagic xpiセットアップでは、互換性のある64ビットのLotus Notesクライアントが使用できないため、リモートアクセスの値が[いいえ]に設定されているNotes DBコンポーネントのメソッドは機能しません。

  • このコンポーネントは、全てのプラットフォームでサポートされているわけではありません。詳細は、ここを参照してください。

  • Notes DBコネクタにローカルでアクセスする前に、Magic xpiのjava / libディレクトリにNCSO.jarファイルがないことを確認してください。同様に、Notes DBサーバーにリモートでアクセスする前に、Magic xpiのjava / libディレクトリにNotes.jarファイルがないことを確認してください。両方の.jarファイルを同時にディレクトリに置くと、実行時に問題が発生する可能性があります。

関連トピック：

Notes DB - 設定

Notes DB - エラー処理

Notes DB ラブルシューティング


Notes DB - 設定

Notes DB コネクタはIBM Lotus Notes データベースへのアクセスを可能にします。XML インタフェースのみサポートします。

コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、［Notes DB設定］ダイアログボックスを開きます。

このダイアログボックスには以下のプロパティがあります。

プロパティ

説明

接続

リソース名

コンポーネントの［プロパティ］ペインで選択したリソースの名前。リソースは、［設定］ダイアログボックスの［リソース］セクションで定義されます。

オペレーション

オペレーション

以下のオプションを持つコンボボックス：

  • Query (デフォルト)

  • Add

  • Update

  • Delete

  • Global Query …… 一般検索実行の結果はドキュメントの一覧です。Lotus Notes では全てのエンティティーがドキュメントです。例えば：Eメールはドキュメントで連絡先もドキュメントこのため、両者のフィールドは全く違いますが両方ともGlobal Queryの結果に含まれます。このため、全てのNotesドキュメントを表す汎用スキーマを作成することはできません。Global Query オプションを使用する場合、ユーザの側で予想されるドキュメント結果に応じてスキーマを作成する必要があります。

最初にオペレーションを選択し、そのオペレーションに基づきQueryの場合はビューを、Add、Update、Deleteの場合はフォームを選択します。Global Query の場合はどちらのオプションも利用できません。

このバージョンのMagic xpiでは複数のオペレーションはサポートされていません。

フォーム/ビュー

をクリックしてQueryオペレーションの場合はビューリスト、AddやUpdate または Delete オペレ-ションの場合はフォームリストを開きます。

添付ファイルサポート

Grobal Query オペレーション用です。ドロップダウンリストから選択します。

  • No …… 添付ファイルは返されません。

  • 結果XMLの一部 …… 添付ファイルは、Base64ブロックとして返されます。

  • ディレクトリに保存 …… 添付ファイルは、指定されたフォルダに保存されます。

結果

結果を保存

結果XMLファイルを保存する場所を定義します。ドロップダウンリストから以下のいずれかを選択します。

File …… Notes DBによって返されるデータを保持するファイルを選択します。 をクリックして式エディタを開くか [image] をクリックして情報が格納されるファイルへのパスを入力します。

Variable（デフォルトは C.UserBlob） …… Notes DBによって返されるデータを保持するファイルを選択します。 をクリックして変数一覧を開きます。情報が格納される変数を選択します。

［Notes DB 構成］ダイアログボックスには以下のボタンもあります。

ボタン | 説明
XSDのリフレッシュ | 現在のスキーマを更新します。 ［XSDのリフレッシュ］をクリックすると現在のスキーマが上書きされます。メッセージダイアログボックスが開き、［OK］をクリックすると更新と上書きを確認します。［キャンセル］をクリックするとスキーマを更新せずにプロセスを終了します。

Notes DB コンポーネントを使用するには：

  1. ［プロジェクト］メニューから［設定］を選択し、［設定］ダイアログボックスを開きます。ここで、［リソース］セクションで、Notes DB リソースを定義してください。これによって、Notesデータベースとの必要な接続を作成することができます。これをどのように行うかについては、ここをクリックしてください。これを行うまで、次のステップを続けることはできません。

  2. ［プロパティ］ペインの［設定］セクションで、［リソース名］フィールドに移動し、以前に［設定］ダイアログボックスで定義したリソースの1つを選択してください。.

  3. コネクタ上でダブルクリックするか、右クリックしコンテキストメニューから［構成］を選択します。［Notes DB構成］ダイアログボックスが開きます。

  4. ［OK］をクリックすると、情報が保存され［Notes DB構成］ダイアログボックスが終了します。保存しない場合は［キャンセル］をクリックしてください。.

関連トピック：

Notes DB - マッピング

Notes DB - エラー処理


Notes DB - マッピング

接続が完了した後で［OK］をクリックするとマッパ画面が開き、選択したオペレーションに応じて接続、オペレーション、特定のビューまたはフォームを選択することができます。

［OK］をクリックすると以下のことが行なわれます。

  1. オペレーションに基づきXSDを生成し以下のディレクトリに保存します： XSD\<接続名>\Form|View\<From\View name>
    例： XSD\conn1\View\myView.xsd

  2. 選択したオペレーションに応じて以下のいずれかを行ないます。

a. Query …… Queryコンパウンドを含むView XSDで ［データマッパー］画面を開きます。コンパウンドは4つの要素によって構成されており、開発者は以下を基に検索を行なうことができます。

i. UniversalID …… UniversalID値を基に特定のドキュメントを検索します。

ii. NotesID …… NotesID値を基に特定のドキュメントを検索します。

iii. Search …… Noteのクエリー文法を使った検索。複数の検索結果が返る場合があります。検索可能な文字列の詳細は、ここをクリックしてください。

iv. FullTextSearch …… 検索文字列を使用した検索(特定の検索文法と連動していません）。複数の検索結果が返る場合があります。

b. Update: …… フォームXSDを持つマッパ画面を開き、フィールド値の定義を行います。更新されたドキュメントを特定するためにID値はUniversalIDかNotesID要素にマッピングされる必要があります。

c. Add …… フォームXSDを持つマッパ画面を開き、フィールド値を定義します。

d. Delete …… フォームXSDを持つマッパ画面を開きます。削除されたドキュメントを特定するためにID値はUniversalIDかNotesID要素にマッピングされる必要があります。

e. Global Query …… 返されるドキュメント構造が分からないのでQuery要素を持つマッパ画面を開きます。Queryセクションのオプションのいずれかに値をマッピングする必要があります。

追加、更新、削除操作について

全てのフォームのXSDはFieldコンパウンドの下にForm要素を持ちます。フォームがエイリアスを持っている場合、エイリアス名のいずれかをForm要素値として使用しなければなりません。エイリアスが利用できない場合、フォーム名をXSDのForm要素として使用しなくてはなりません。一覧からフォームを探すときにフォームエイリアスを見つけるには、フォームリストのAliasセクションを確認してください。

文字列の値の配列を受け入れるNotes DBフィールドは、以下の構文を使用することにより、Magic xpiで更新されます。

"val1","val2","val3"

さらに、ノーツDBの文字列フィールドで検索すると、Magic xpiは同じ「"val1","val2","val3"」構文で値を返します。

Form要素の記入は必須です。

Search要素

全てのビューXSDは、Queryコンパウンドの下にSearch要素を持ちます。このフィールドは、コンポーネントの構成ダイアログボックスでQueryオペレーションが選択されたときに Noteの構文検索に使用されます。

全てのビューXSDは、Queryコンパウンドの下にUniversalID要素 とNotesID要素を持ちます。それぞれフィールドはコンポーネント設定ダイアログボックスで更新や削除操作が選択されたときに NoteのドキュメントIDに使用することができます。

Searchフィールドの追加

Notes DBコネクタは、検索とフィルタリング処理を実行します。これを行う時、知っておくべき問題があります。

  1. 検索する値は、SerachフィールドかFullTextSearchフィールドのどちらかで指定されたものでなければならず、両方は指定できません。

  2. 検索中は、最初の選択は常にSearchフィールドから取得されます。結果がこのフィールドから返されなければ、FullTextSearchフィールドがチェックされます。

  3. Searchフィールド内の値を指定した場合、Notes DBデータベース全体に適応され、選択されたビュー上のものは適用されません。

  4. FullTextSearchフィールドの値を指定した場合、それは選択されたビューに適用されられるだけです。

  • 問合わせがビュー上でのみ実行されるということを知っているのであれば、Searchフィールド上の値を削除することができ、その構文をFullTextSearchフィールドの構文に変更することができます。FullTextSearchは、検索条件を上書きします。

  • FullTextSearchを実行するとき、定型法を使用することができません。正しい構文に関する追加情報が使用するには、ここをクリックしてください。

Search フィールドの例

  • Subject行に‘test’という語彙を含むノーツDBメール・データベースで、すべてのドキュメントを捜すには、Serachフィールドで以下のように指定します。
    @Contains(Subject;"test")

  • Subject行に‘Vish’という語彙を含み Fromタイプが'MemoのノーツDBメール・データベースで、ドキュメントを捜すには、Searchフィールドで以下のように指定します。
    @contains(Subject;Vish) & Form="Memo"

  • 関数を否定する場合は、Searchフィールドに以下を入力してください。
    !@Contains(Subject;"First")

  • 2つの異なる条件のうちの1つを含むドキュメントを検索する場合は、Searchフィールドに以下を入力してください。
    @Contains(Subject;"Delete")| @Contains(Subject;"test")

  • 2つの指定した条件をを含むドキュメントを検索するには、Searchフィールドに以下を入力してください。
    !@Contains(Subject;"Delete") & @Contains(From;"John")

  • ORやANDの追加例は、以下を含めてください（オペレータは、ブラケットを使用してグループ化する方法について気付くはずです)。

  • @Contains(Subject;"Delete")| (@Contains(Subject;"test") & From="CN=santosh burande/O=msei")

  • (@Contains(Subject;"Delete")| (@Contains(Subject;"test")) & From="CN=santosh burande/O=msei"

  • @Contains(Subject;"Delete")| (@Contains(Subject;"test") & From="CN=santosh burande/O=msei")

  • 以下に示すように、定型法による特定の関数を使用することもできます。

  • @Ends(Subject;"ish")

    @LowerCase(Subject)="Vish"

これらの関数の詳細は、ここをクリックしてください。

FullTextSearch フィールドの例

  • ‘test’という語彙を含むSubject行のためにNotes DBデータベース内でInbox ビューのみを検索するためにFullTextSearchフィールドで以下を指定する必要があります。
    FullTextSearch field: FIELD subject CONTAINS "test*"

  • 2つの指定した語彙のうちの1つを含むドキュメントを検索するには、FullTextSearchフィールドで以下を入力してください。
    "Vish"|"Test"

  • 指定したフィールド内の値を検索するには、FullTextSearchフィールドに以下のうちの1つを入力してください。

  • Field Body CONTAINS Vish & Field Subject CONTAINS Vish

  • Field Subject CONTAINS Vish & Field Body CONTAINS Another*


Notes DB - エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。Notes DBコネクタのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

Notes DBコネクタのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも Notes DBコネクタで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
1303 | Notes DB コネクタ呼出エラー： <エラーの説明>

関連トピック：

Notes DB トラブルシューティング

Magic xpiでのエラー処理


OData

ODataコネクタを使用すると、標準化されたオープンデータプロトコル（OData）形式の呼び出しを生成および使用できます。

コネクタは以下を提供します:

  • Magic Xpiの構造を自動的に生成するためのODataサービスメタデータの使用。

  • パッチを含むすべてのCRUD操作のサポート。

  • クエリビルダー。複雑なクエリを作成しながら、手動でクエリを入力および変更できます。

  • リクエストにHTTPヘッダーを追加する機能.

コネクタはテスト済みであり、ODataバージョン4.0で動作するように互換性があります.

ODataコンポーネントのタイムアウトを更新するには、Magic.iniファイルの[MAGIC_ENV]セクションにある次のエントリの値を変更します。 タイムアウトのデフォルト値は0です。ここで、デフォルト値0は120秒として扱われます。

  • HTTPTimeout = <タイムアウト>

例：5000

Since version:

4.6

関連トピック：

OData - 設定

OData - エラー処理


OData - 設定

ODAコネクタは、ODataでフォーマット化されたされた呼び出しの送受信を可能にします。

ODAコネクタをフローに配置すると、Magic xpiは自動的にそのコネクタの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

そして、コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、ODAコネクタの設定ダイアログボックスを開きます。

ODAコネクタを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初に ODataリソースを定義する必要があります。

フローでステッフローでステップとしてコンポーネントを使用する場合、以下のインタフェースから選択できます。

  • XML

関連トピック

ヘッダフォーム

エンティティセット選択

ODataクエリウィザード


OData - XML

ODataコネクタは、OData APIのページネーション機能と統合されており、データをチャンクでフェッチします。 ページ設定は、ODataリクエストの@ odata.nextLinkプロパティを使用してODataによってサポートされます。 ユーザーはリクエストごとに返されるページの最大数を指定し、@ odata.nextLinkをMagic xpiプロジェクトの変数にマップできます。 これらの値は、プロパティMax pagesおよびNext Page Linkをそれぞれ使用して、このリソースで構成できます。 どちらのプロパティもGET操作にのみ適用されます。

コネクタを設定するには、ステップをダブルクリックまたは右クリックし、コンテキストメニューから Configuration を選択して OData Configuration ダイアログボックスを開きます。

このダイアログボックスには以下のフィールドが含まれています。

プロパティ

説明

接続

リソース名

コネクタの［プロパティ］ペインで選択されたリソースの名前。リソースは、［設定］ダイアログボックスの［リソース］セクションで定義されます。

オペレーション

ヘッダ

オペレーションのヘッダ情報。

必要なヘッダ情報を入力する2つの方法があります。 をクリックして、式エディタを開か、 [image] をクリックしてヘッダフォームを開きます。

エンティティ

をクリックしてエンティティセット選択リストを開きます。実行されるエンティティを選択してください。

メソッド

選択されたエンティティ上で実行されるメソッド。

ドロップダウンリストから以下のメソッドのどれかを選択してください。

  • Get

  • Put

  • Post

  • Delete

  • Patch

エンドポイントURL

ODataリソースURLと選択されたエンティティとパラメータ。このフィールドは、パークできますが編集はできません。

パラメータ

ODataクエリパラメータ。

必要なクエリに入力する2つの方法があります。を [image] クリックして式エディタを開き手動でクエリに入力するか、 [image] をクリックしてODataクエリウィザードを開きます。クエリを作成するためにウィザードを使用した後、このプロパティの中で手動でクエリを変更することもできます。

［メソッド］パラメータ(上記)でGetを選択すると有効になります。

ページネーション

最大ページ数

ODataリクエストの一部として返されるページの最大数を定義します。

ユーザーが値を0として入力した場合、デフォルト値の50になります。

(Since version: 4.13)

Next Page Link

クリックして変数リストを開きます。 変数を選択して、ODataリクエストからの次のページのリンク値をマップします。

(Since version: 4.13)

エンドポイントとしてNextLinkを使用

ページネーションを使用すると、Next Page Link（上記）の変数にURLが入力され、次のページセットが取得されます。 次のODataステップでこれらのページのセットをフェッチするには、エンドポイントURLの代わりにNext Page Linkの値を使用する必要があります。

Next Page Linkの値をエンドポイントURLではなくODataエンドポイントとして設定するには、このチェックボックスをオンにします。

同じステップでNext Page Linkのセットをフェッチするには、ステップをループで実行します。

チェックボックスは、Next Page Linkの変数が選択されている場合にのみ有効になります。

(Since version:4.13)

出力

結果を保存

結果として生じるXMLファイルをどこに格納するかを定義します。ドロップダウンリストから、以下のどれかを選択してください。

  • Variable …… ODataによって返されるエンティティデータを格納する変数を選択してください。 をクリックして変数リストを開きます。この情報が格納される変数(デフォルトはC.UserBlob)を選択してください。

  • File …… ODataによって返されるエンティティデータを格納するファイルを選択してください。 をクリックして式エディタを開きます。 をクリックしてこの情報が格納されるファイルパスを入力してください。

処理成功

このフィールドは、データエンティティがODtaに正常に配置されたかどうかを容易に定義できます。ドロップダウンリストから以下のどれかを選択してください。

  • None: …… コネクタの成否のステータスを保存したくない場合、このオプションを選択してください。

  • Variable: …… をクリックして変数リストを開きます。コネクタの成否のステータスを格納したい変数を選択してください。

スキーマを更新

スキーマを更新］ボタンをクリックして、選択した OData エンティティのスキーマを作成します。スキーマは、リソースに生成された OData metadata.xml に基づいて生成されます。

スキーマがすでに存在する場合は、現在のスキーマが上書きされ、OData メタデータと同期されます。スキーマが存在しない場合は、OData リソースの metadata.xml に基づいてスキーマが作成されます。設定情報が保存され、選択したスキーマをデスティネーションとして Data Mapper ウィンドウが開きます。これは、Get オペレーション以外のすべてのオペレーションに適用されます。

OData アノテーション

データマッパースキーマは、エンティティレベルと行レベルのアノテーションを表示します。アノテーションはODataリソースで定義され、以下の画像に示すようにデータマッパーステップに反映されます。

エンティティレベルのアノテーションは、デフォルトとユーザー定義の両方で、最上位のエンティティ名要素の直接の子要素となるアノテーション要素の下で使用できます。

デフォルトおよびユーザー定義の両方の行レベルのアノテーションは、row要素の直接の子要素となるrowAnnotations要素の下で使用できます。 エンティティの各行で使用できます。

  • アップグレードまたはマイグレーションしたプロジェクトの場合、アノテーションを使用する前にスキーマを更新する必要があります。 スキーマが更新されると、リソースの新しいアノテーションがデータマッパーで使用できるようになります。

  • カウント要素のマッピングは、スキーマの更新後に壊れる可能性があり、再マッピングする必要があります。

詳細は、ODataリソースを参照してください。

(Since version:4.13)


ヘッダフォーム

ヘッダフォームは、ヘッダに必要なキー値ペアを作成します。ここには以下のフィールドが含まれています。

名前 | 説明
キー | キー値ペアのキーの部分を入力してください。
値 | キー値ペアの値の部分を入力してください。直接値を入力するか、 [image] をクリックして式エディタを開きます。

ヘッダフォームには以下のボタンがあります。

ボタン | 説明
追加 | 新しいキー値ペアを追加する場合は、このボタンをクリックしてください。
削除 | 既存のキー値ペアを削除する場合は、このボタンをクリックしてください。

ヘッダフォームは、出力を作成するだけです。式の構文解析は行いません。


エンティティセット選択

  • リストからエンティティセットを選択し、［選択］をクリックしてください。

  • ［全てのエンティティを表示］を選択することで、利用可能なすべてのエンティティをリストに表示させることができます。そうしないと、ODataリソースのエンティティリストで選択されたエンティティだけを表示されます。

  • 選択をせずにリストを閉じる場合は、［キャンセル］をクリックしてください。


ODataクエリウィザード

ODataクエリウィザードは、正しい構文を使用してODataクエリをビルドすることを支援し、［OData構成］ダイアログボックスの［メソッド］フィールドでGetメソッド選択すると有効になります。

ここには以下の個別の画面が含まれています。

制限

［制限］画面は、クエリによって返される結果の数をフィルタリングします。ドロップダウンリストから以下のどれかを選択してください。

  • カウント

  • トップ 1

  • トップ 20 (デフォルト)

  • トップ 100

  • トップ 1000

Where

［Where］画面は、クエリによってどの結果を取り出すかを定義します。ここには、カラムとして以下のパラメータが含まれています。

  • フィールド名 …… ドロップダウンリストから必要なフィールド名を選択してください。有効なフィールド名は、［OData構成］ダイアログボックスの［エンティティ］フィールドで選択されたエンティティによって定義されます。.

  • オペレータ …… ドロップダウンリストから必要なオペレータを選択してください。有効なオペレータは、［フィールド名］カラムで選択したフィールド名によって定義されます。

  • <!?フィールド名?!> …… この読み込み専用カラムは、以前に選択されたフィールド名を表示します。

［追加］をクリックすると行が追加されます。［削除］をクリックするとWhereクエリから行が削除されます。

行を追加する時、ODataクエリは 作成された行の間'と一緒'に作成されます。必要に応じて手動で結果として生じているクエリを編集することができます。

カラム選択

［カラム選択］画面は、クエリのためにカラムを選択します。必要なカラムの隣のチェックボックスを選択してください。有効なカラムは、［OData構成］ダイアログボックスの［エンティティ］フィールドで選択されたエンティティによって定義されます。

拡張

［拡張]］画面は、［OData構成］ダイアログボックスの［エンティティ］フィールドで選択されたエンティティと関連する追加エンティティを選択します。

順番

［順番］画面は、クエリによって取り出した結果の順番を定義します。ここには、カラムとして以下のパラメータが含まれています。

  • フィールド名 …… ドロップダウンリストから必要なフィールド名を選択してください。有効なフィールド名は、［OData構成］ダイアログボックスの［エンティティ］フィールドで選択されたエンティティによって定義されます。.

  • 方向 …… ドロップダウンリストから結果の順番の方向を選択してください。オプションは、昇順または降順です。

これらの画面の処理を終了したら、［完了］をクリックしてください。ODataクエリウィザードが閉じ、［OData構成］ダイアログボックスの［パラメータ］フィールドで新しく作成されたクエリが表示されます。

ODataクエリオプションは、ODataプロバイダーによって制御されます。 Get Metadata呼び出しは、これらのクエリオプションを取得しません。したがって、利用可能なすべてのオプションが常にユーザーに表示されます。 ODataプロバイダーでサポートされているクエリオプションのみを使用するのはユーザーの責任です。プロバイダー側でODataクエリオプションを無効または禁止すると、クライアント呼び出しが失敗する場合があります。

たとえば、プロバイダー側で展開オプションが無効になっている場合でも、ユーザーはスタジオでそれを選択できます。これにより、実行時にプロジェクトが失敗します。したがって、ユーザーはプロバイダー側でサポートされていないオプションを選択しないように注意する必要があります。


OData - エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。ODataコネクタのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ODataコネクタのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも ODataコネクタで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
9999 | Java例外
11 | 使用可能なエラー
12 | 接続エラー
13 | インフラストラクチャーエラー

関連トピック：

Magic xpiのエラー処理


OPC

OPCは、プログラムが産業用ハードウェアデバイスと通信できるようにするソフトウェアインターフェイス標準です。OPCサーバーは、OPC仕様に基づいて作成されたソフトウェアアプリケーションです。 Magic xpi OPCコンポーネントは、Magic xpi 4.13で単方向サポートのみを提供します。このコンポーネントは、サーバー上のデータに変更を加えることなく、OPCサーバーに接続してビジネスデータを読み取ることができます。

(Since version: 4.13)

関連トピック

OPC – 構成

OPC - XML

OPC UA リソース


OPC – 構成

OPCコネクタをフローへステップとして配置すると、Magic xpiはコネクタのプロパティペインを自動的に開きます。 プロパティペインで一般的な構成情報を入力できます。 コネクタを右クリックし、コンテキストメニューから[構成]を選択して、OPC構成ダイアログボックスを開きます。

OPCコネクタを使用する前に、まず[設定]ダイアログボックスの[リソース]セクションでOPC UA リソースを定義する必要があります。

OPCコネクタは次のインターフェースをサポートします:

  • XML


OPC - XML

OPCコネクタは、Magic xpiのXMLインターフェイスと連携するように設計されています。 OPCコネクタをフローにドラッグすると、プロパティペインが開きます。 次に、コネクタを右クリックし、コンテキストメニューから[構成]を選択して、[OPC構成]ダイアログボックスを開きます。

このダイアログボックスには、次のフィールドが含まれています:

プロパティ | 説明
接続
リソース名 | コンポーネントの[プロパティ]ペインで選択したリソースの名前。リソースは、[設定]ダイアログボックスの[リソース]セクションで定義されます。
タグ
Item ID | 追加されたタグのリストを表示します。 ステップの入力スキーマは、このリストに追加されたタグに基づいて生成されます。
ボタン
追加 | このボタンをクリックして、新しい行を追加します。 ここで、タグの詳細を入力できます。 または、ボタンをクリックして、デバイスからタグを選択することもできます。 ボタンをクリックすると、[タグを参照]という新しいウィンドウが開きます。OPCサーバーで使用可能なデバイスのリストと、各デバイスで使用可能なタグのリストが表示されます。 ここでは、デバイスからタグを選択できます。
削除 | このボタンをクリックして、構成ウィンドウのタグのリストから選択した1つ以上のタグを削除します。
タグ選択 | このボタンをクリックして、デバイスからタグを選択します。 [タグの選択]ボタンをクリックすると、[タグの参照]という新しいウィンドウが開きます。 OPCサーバーで使用可能なデバイスのリストと、各デバイスで使用可能なタグのリストが表示されます。 ここでは、1つ以上のデバイスから1つ以上のタグを選択できます。
結果オプション
結果保存先 | 結果のXMLファイルを保存する場所を定義します。変数：OPCサーバーから返されるオブジェクトデータを保持する変数を選択します。 をクリックして変数リストを開きます。 この情報を保存する変数を選択します。
オペレーション成功 | 変数を選択して、コンポーネントの成功または失敗のステータスを保存します。 クリックして変数リストを開きます。 この情報を保存する変数を選択します。

[OPC構成]ダイアログボックスには、次の追加ボタンが含まれています:

ボタン | 説明
XSDリフレッシュ | 現在のスキーマを更新します。 [XSDの更新]をクリックすると、現在のスキーマが上書きされます。メッセージダイアログが開き、[OK]をクリックすると、更新と上書きが確認されます。[キャンセル]をクリックすると、スキーマを更新せずにプロセスが終了します。


REST クライアント

RESTクライアントコンポーネントを使用すると、ユーザはHTTPベースのRESTful APIを利用することができます。

RESTクライアントコンポーネントは以下の機能を提供します。

  • パス（製品や顧客、カテゴリ、製品/ID、製品/地域/モデルなど）を定義する機能、

  • Get、Post、Put、Patch、Head、Deleteの各処理のサポート

  • クエリパラメータやヘッダパラメータ、フォームパラメータを管理する機能

  • 必要なエンコーディングを選択する機能

  • application/json、application/xml、multipart/form-dataなどのコンテンツタイプを指定または定義する機能

  • データと共に添付ファイルを送受信する機能（Content Type multipart / form-dataのサポート）

  • セキュリティスキームを定義する機能（HTTP-Basic、HTTP-Digest、およびOAuth2認証）

  • HTTPS/SSLを経由して構成されたRESTful APIを呼び出す機能。

RESTクライアントコンポーネントをProxyサーバと共に使用するには、Magic.iniファイルの[MAGIC_ENV]セクションにある次のエントリを変更します。

  • HTTPProxyAddress = <Proxyアドレス>：<ポート>

例：10.9.3.16：8080

Proxyサーバのアドレスは、Proxyサーバを使用している場合にのみ設定する必要があります。

RESTクライアントコンポーネントのタイムアウトを更新するには、Magic.iniファイルの[MAGIC_ENV]セクションにある次のエントリの値を変更します。タイムアウトのデフォルト値は"0"です。

  • HTTPTimeout = <タイムアウト>

例：300

Since version:

4.9

関連トピック：

REST クライアント - 設定

REST クライアント – エラー処理


REST クライアント - 設定

RESTクライアント コンポーネントをステップとしてフローに配置すると、Magic xpiは自動的にそのコンポーネントの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、RESTクライアントの設定ダイアログボックスを開きます。

RESTクライアント コンポーネントを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初に RESTクライアントリソースを定義する必要があります。

フローでステッフローでステップとしてコンポーネントを使用する場合、以下のインタフェースから選択できます。

  • XML


REST クライアント- 変換テーブル

実行時の変換は、次の表に従ってData Blobに対して行われます。

文字エンコーディング | Blobエンコーディング
 | Ansi | Unicode | UTF-8 | Binary
Keep Exsiting | そのまま | そのまま | そのまま | そのまま
UTF8 | UTF8に変換 | UTF8に変換する | そのまま | そのまま
Unicode | Unicodeに変換 | そのまま | Unicodeに変換 | そのまま
Ansi | そのまま | Ansiに変換 | Ansiに変換 | そのまま
Binary | そのまま | そのまま | そのまま | そのまま


REST クライアント - パラメータ設定

ユーザが［RESTクライアント設定］ウィンドウの［パラメーター］ボタンをクリックすると、「パラメーター設定」ダイアログボックスが開きます。

ここで、ユーザーはRESTクライアントリソースに設定されているデフォルトのパラメーター値を上書きすることができます。このダイアログには、以下のフィールドがあります。

名前 | 説明
クエリパラメータ | 選択されたRESTリソースに基づいて、クエリパラメータのリストが表示されます。 ユーザは、リスト内の1つ以上のパラメーターのデフォルト値を変更することができます。 値を変更するには、新しい値を直接入力するか、 [image] をクリックして[RESTクライアント設定 - 値]ウィンドウを開きます。
ヘッダパラメータ | 選択したRESTリソースに基づいて、ヘッダーパラメーターのリストが表示されます。 ユーザは、リスト内の1つ以上のパラメーターのデフォルト値を変更することができます。 値を変更するには、新しい値を直接入力するか、 [image] をクリックして[RESTクライアント設定 - 値]ウィンドウを開きます。

[OK]ボタンをクリックすると選択内容が保存されます。

何も選択せずにリストを閉じるには、[キャンセル]ボタンをクリックします。


REST クライアント - XML

RESTクライアントコンポーネントを使用すると、ユーザはMagic xpiフローからRESTful Webサービスを呼び出すことができます。RESTクライアントコンポーネントをステップとしてフローに配置すると、[プロパティ]ペインが開きます。コンポーネントをダブルクリックするか、右クリックしてコンテキストメニューから[設定]を選択し、[RESTクライアント設定]ダイアログボックスを開きます。

このダイアログボックスには以下のフィールドが含まれています。

プロパティ

説明

接続

リソース名

コネクタの［プロパティ］ペインで選択されたRESTクライアントリソースの名前。リソースは、［設定］ダイアログボックスの［リソース］セクションで定義されます。

オペレーション

パス

ドロップダウンリストからRESTパスを選択します。リストはリソースから生成されます。選択されたパスはエンドポイントのRESTfulリソース（エンティティ）から使用されます。

オペレーション

ドロップダウンリストから以下のオペレーションのどれかを選択してください。

  • Get （デフォルト）

  • Post

  • Put

  • Patch

  • Head

  • Delete

セキュリティ

REST呼び出し呼び出しに関連付けるセキュリティーを選択してください。セキュリティオプションは、RESTクライアントリソース設定の一部として設定されます。

デフォルト値は、Yesです。特に指定しない限り、REST呼び出しは保護されます。

たとえば、セキュリティが必要な場合のPostオペレーションの場合は値をYesに設定し、RESTオペレーションを呼び出すうえでセキュリティが必要ない場合のGetオペレーションではNoに設定します。

リクエストContent-Type

RESTリクエストの一部として送信されるリクエストのコンテンツタイプを選択します。これにより、Content-TypeというHTTPヘッダが設定されます。

をクリックしてコンテンツタイプを開きます。ユーザは他のコンテンツタイプを選択することができます。

デフォルトのリストには、以下のコンテンツタイプが含まれています。

  • application/json

  • application/pdf

  • application/xml

  • image/jpeg

  • image/png

  • multipart/form-data

  • text/plain

  • text/html

  • text/xml

レスポンス Content-Type

RESTレスポンスの一部として受信するレスポンスのコンテンツタイプを選択します。これにより、AcceptというHTTPヘッダが設定されます。

をクリックしてコンテンツタイプを開きます。ユーザは他のコンテンツタイプを選択することができます。

デフォルトのリストには、以下のコンテンツタイプが含まれています。

  • application/json

  • application/pdf

  • application/xml

  • image/jpeg

  • image/png

  • multipart/form-data

  • text/plain

  • text/html

  • text/xml

エンコーディング

RESTリクエストの一部として送信されるデータのエンコードを選択してください。エンコーディングは、データを選択されたエンコーディングタイプに変換します。このシナリオでは（Keep Existingを除く）、HTTPヘッダのContent-TypeはCharsetオプションが含まれます。

例えば、目的のエンコーディングがUTF-8として選択され、リクエスト Content-Typeがapplication/jsonとして選択されている場合、Content-Type HTTP Headerは"Content-Type = application/json; Charset = UTF-8"として設定されます。

デフォルト値はKeep Existingです。この場合、ユーザはCharsetの値を指定することができます。

サポートされているエンコーディング値は、Keep Existing、BOM付きUTF-8、UTF-8、Unicode、Ansi、Binaryです。

実行時の変換はデータBLOBに対して行われます。参照：REST クライアント- 変換テーブル

リクエスト Content-Typeが multipart/form-dataとして設定されている場合、このフィールドは無効になります。

文字セット

をクリックして[エンコードタイプ]リストを開き、[エンコーディングタイプ]を選択します。

リクエスト Content-Typeが multipart/form-data して設定されている場合、またはエンコーディングが Keep Exsiting として設定されている場合、このフィールドは無効になります。

出力

結果を保存

これはRESTful APIによって送信された結果です。

結果をファイルと変数のどちらに格納するかを定義します。ドロップダウンリストから、以下のどれかを選択してください。

  • Variable …… REST ボディによって返されるオブジェクトデータを格納する変数を選択してください。 をクリックして変数リストを開きます。この情報が格納される変数(デフォルトはC.UserBlob)を選択してください。

  • File …… REST ボディによって返されるオブジェクトデータを格納するファイルを選択してください。 をクリックして式エディタを開きます。 をクリックしてこの情報が格納されるファイルパスを入力してください。

ヘッダフィルタ

レスポンスヘッダのテキストまたはREST ボディヘッダに追加される式を入力します。

ヘッダはコンマ（.）で区切ります。いずれかのヘッダ値にコンマ（.）が含まれている場合は、値をバックスラッシュでエスケープする必要があります。

ヘッダが指定されていない場合、またはフィールドが空白のままの場合は、デフォルトですべてのヘッダがヘッダフィールドに保存されます。

ヘッダ

をクリックして[変数リスト]を開き、出力ヘッダを保持する変数を選択します。

ヘッダフィルタによってフィルタされたヘッダはここでのみ利用可能になります。

プロジェクトの実行中にヘッダ情報を保存するには、Header変数の設定が必須となります。

ステータスコード

これはRESTリクエストによって返されるHTTPレスポンスコードです。

例えば、200、201、401などです。

メッセージ

これはRESTリクエストによって返されるHTTPレスポンスメッセージです。

たとえば、OK、Created、Unauthorizedなどです。

処理成功

このフィールドは、データオブジェクトがREST呼び出しで正常に検索されたかどうかを容易に定義できます。ドロップダウンリストから以下のどれかを選択してください。

  • None: …… コネクタの成否のステータスを保存したくない場合、このオプションを選択してください。

  • Variable: …… をクリックして変数リストを開きます。コネクタの成否のステータスを格納したい変数を選択してください。

［RESTクライアント設定］ダイアログボックスには、以下の追加ボタンがあります。

ボタン

内容

パラメーター

[パラメータ]ボタンを使用すると、REST呼び出しごとにヘッダおよびクエリパラメータの値を設定することができます。

[パラメータ]ボタンをクリックすると、[パラメータ設定]ダイアログボックスが開き、選択したRESTクライアントリソースから継承したデフォルトパラメータの値を上書きすることができます。

一旦パラメータ設定が保存されると、RESTクライアントリソースに加えられた変更はここに反映されません。

変更は、リソースの再設定後に新しく追加された手順で確認できます。

パラメータ設定の詳細については、ここをクリックしてください。

パスパラメータの一部として記述された特殊文字は常にエンコードされます。magic.iniのフラグ[MAGIC_IBOLT]RestClientPathParamURIEncodeを使用すると、この動作をやめることができます。（Since version: 4.13.1）

スキーマをリフレッシュ

［スキーマのリフレッシュ］ボタンは、RESTクライアントコンポーネントのフォームパラメータをRESTクライアントリソースと同期させます。

［スキーマのリフレッシュ]ボタンをクリックすると、現在のスキーマが上書きされ、RESTクライアントリソースの設定と同期されます。

生成されたスキーマは、データマッパーのフォームパラメータを反映するために使用されます。 データマッパー送り先タブでは、ユーザはフォームパラメータのこれらの値を設定することができます

[OK]をクリックするとRESTクライアントの設定は完了します。スキーマが存在しない場合は、RESTクライアントリソースの設定に従ってスキーマが作成されます。設定情報が保存され、選択したスキーマを[送り先]として[データマッパー]ウィンドウが開きます。ここで、ユーザーはFormパラメーターに必要な値をマッピングすることで、RESTクライアントで目的の処理を完了することができます。

[キャンセル]をクリックすると、設定や変更を保存されずに[RESTクライアント設定]ダイアログボックスを終了します。


REST クライアント – エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。RESTクライアント コンポーネントのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップの最初のエラーにより、ステップの実行が終了します。 ステップに複数のメソッドがあり、そのうちの1つでエラーが発生した場合、それ以降のすべてのメソッドは実行されません。

RESTクライアント コンポーネントのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも RESTクライアント コンポーネントで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
751 | Post、Put、およびPatch オペレーションでは、データBLOBが Nullになっています。
752 | HTTP接続タイムアウトまたは接続タイムアウトが発生しました。
9999 | 汎用エラー

関連トピック：

Magic xpiのエラー処理


Salesforce

Magic xpiのSalesforceコネクタは、Salesforce.com組織と連係することができます。これはフローの中でトリガまたはステップとして使用することができます。Magic xpiは、開発やテスト、トレーニングのアプリケーション環境に必要に応じてSalesforceのサンドボックスをフルサポートします。

Magic xpiのSalesforce コネクタを使用するには以下のものが必要です。

  • Salesforce AppExchangeから利用可能な、Magic xpiのアプリ。アプリのインストールに関する情報は、ここをクリックしてください。 (Since version: V4.5a)

  • Salesforce用にライセンスされたMagic xpi のスペシャルエディション.

  • OAuth認証のための有効なSalesforce証明書。

Magic xpi は Salesforce API 51 で動作します。

関連トピック：

Salesforce – 設定

Salesforce – エラー処理

Salesforce トラブルシューティング


Salesforce – 構成

Salesforceコネクタをフローに配置すると、Magic xpiは自動的にそのコネクタの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

そして、コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、Salesforceコネクタの設定ダイアログボックスを開きます。

Salesforceコネクタを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初に Salesforceリソースを定義する必要があります。

Salesforceコネクタは以下のインタフェースをサポートします。

  • XML

  • メソッド

このコンポーネントは、トリガエリアに配置され、トリガとして使用することができます。

  • LinuxとTLS 1.2を使用して動作するには、以下をMAGICXPI.INIファイルのJVM_ARGSパラメータに追加する必要があります： -Dhttps.protocols=TLSv1.1,TLSv1.2

  • Salesforceコネクタ(新しいウィンドウを開いて)を使用して実行するには、ここをクリックしてどのようにdateTimeフィールドを使用するかを学んでください。

  • コネクタ(新しいウィンドウを開いて)を使用して実行するには、ここをクリックしてどのようにomparisonOperator値で検索するかを学んでください。

  • Salesforceでは、接続された1つのアプリケーションのアクティブなセッションの数を5つに制限しています。そのうちの一つはブラウザからのWebセッションからのもので、他の4つはOAuth2セッションからのものです。従って、一人のユーザが常に持つことができるアクティブなアクセス/更新トークンのペアは4つだけです。別のセッションが作成されると最も古い人所が有効になり。更新トークンは無効になります。


Salesforce - XML

Salesforceコネクタは、Magic xpiのXMLインタフェースを使用して動作するように設計されています。

Salesforceコネクタをフローに配置すると、Magic xpiは自動的にそのコネクタの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。そして、コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［構成］選択して、ODAコネクタの［構成］ダイアログボックスを開きます。

このダイアログボックスには以下のフィールドがあります。

プロパティ

説明

接続

リソース名

コンポーネントの［プロパティ］ペインで選択したリソースの名前。リソースは、［設定］ダイアログボックスの［リソース］セクションで定義されます。

オペレーション

オブジェクト

をクリックしてオブジェクトリストを開きます。オペレーションが行なわれるオブジェクトを選択します。このリストは、［Salesforce リソース］ダイアログボックスでリソースを有効にすると生成されます。

オブジェクトリストはリソース内でビルドされる必要があります。そうしないとステップやトリガのオブジェクトリストが得られません。

オペレーション

ドロップダウンリストから以下のいずれかを選択します。

  • Query …… オブジェクトからデータを取り出すの場合に使用します。データマッパーを使用して特定の条件を基にオブジェクトを取り出すことができます。ソースに複数のレコードがある場合、最初にマッピングされた値だけが返ります。

  • Query All …… Salesforceから削除されたレコード（削除レコードは、IsDeleted要素がTrueのもの)を返すこと以外は、Queryと同じです。

  • Bulk Query …… これは、大きなデータセットを検索するために使用されます。これは、必要な結果を取り出すBulk Retrieve Query Results メソッドと連携して使用する必要があります。 Since version: 4.1

  • Create …… これは組織のデータに新しいオブジェクトを作成する場合に使用します。データマッパーを使用して新しいオブジェクトフィールドの値を指定することができます。

  • Bulk Create …… これは、多くのレコードを含む外部ファイルを使用して実行することが可能になる以外は、 Create と同じです。

  • Update …… これは組織のデータの特定のオブジェクトを更新する場合に使用します。オブジェクトを更新する場合、そのIDを知る必要があります。例えばQuery（上記参照）を行ってオブジェクトIDを取得し、その後でUpdateを行ないます。データマッパーを使用してオブジェクトIDや他の更新したいフィールドを指定してください。

  • Bulk Update …… これは複数のレコードをを含む外部ファイルを使用して処理を実行することを除いて、Updateと同じです。.

  • Delete …… これは組織のデータから特定のオブジェクトを削除する場合に使用します。オブジェクトを削除する場合、そのIDを知る必要があります。Query（上記参照）を行いオブジェクトIDを取得し、その後Deleteを行います。データマッパーを使用してオブジェクトIDを指定してください。これが指定すべき唯一の値です。

  • Bulk Delete …… これは複数のレコードをを含む外部ファイルを使用して処理を実行することを除いて、Deleteと同じです。

  • Upsert …… これは、Salesforceへの重複レコードの挿入を防止するために使用されます。Upserオペレーションは、フィールド値に基づいて、オブジェクトインスタンスの存在をチェックし、存在しているならば、オブジェクトを更新するか、存在していないならば、新しいものを挿入します。Upsertオプションは、更新または作成が可能なオブジェクトでのみ有効です。

  • Bulk Upsert …… これは複数のレコードをを含む外部ファイルを使用して処理を実行することを除いて、Upsertと同じです。

オブジェクトがサポートされているオペレーション（オブジェクトタイプとユーザ権限に基づいて）のみ表示されます。

バッチモード

［オペレーション］フィールドでBulkオペレーションのうちの1つを選択した場合、このフィールドが利用できます。ここでは、ジョブのバッチ処理方法を指定できます。ドロップダウンリストからの以下のどれかを選択します。

  • パラレル (デフォルト) …… バッチが同時に処理されます。

  • ライナー ……バッチが逐次処理されます。

バッチサイズ

ここは、［オペレーション］フィールドでCreate、Update、またはUpsetが選択された場合のみ利用できます。

ここでは、Salesforceに送られる各リクエストのオブジェクトの最大数を制御します。1～200の間に値を入力してください。

更新フィールド名

［オペレーション］フィールドでUpsertまたはBulk Upsertが選択された時のみ、このフィールドは有効です。

リストされるフィールドは、選択されたオブジェクトのためのユニークなフィールドです。少なくとも1つのオブジェクトは、Upsertのルックアップ処理のために選択されなければなりません。選択されたオブジェクトは、後で値によってマッピングされなければなりません。

Bulk Upsertオペレーションで動作する場合、ここで選択されたフィールドも、データマッパー画面に表示されるように、オブジェクトフィールドリストで選択されなければなりません。

詳細については、Salesforce APIドキュメントのUpsertオペレーションの説明を算用してください。

新規オブジェクトID

ここは、［オペレーション］フィールドでCreateもしくはUpsertを選択した場合のみ有効になります。

をクリックして変数リストを開きアップサートされたオブジェクトIDを保持する変数を選択します。

戻り値

ここは、［オペレーション］フィールドでQueryもしくはQuery All または Bulk Queryを選択した場合のみ有効になります。

隣接したチェックボックスの選択で、Allを選択するか、オブジェクトフィールドリストから特定フィールドを選択することができます。

戻り子オブジェクト

ここは、［オペレーション］フィールドでQueryもしくはQuery All または Createを選択した場合のみ有効になります。

［オペレーション］フィールドでQueryが選択された場合は、一つのXMLファイルからオブジェクトが選択された子オブジェクトと一緒に取得されます。

親とその子オブジェクトの両方に対して照会を行うことができます。

［オペレーション］フィールドでCreateを選択した場合、オブジェクトは選択された子オブジェクトと一緒に取得されます。

をクリックして子オブジェクトリストを開きます。ここでは、取得したい子オブジェクトを選択することができます。

20以上の子オブジェクトを持ったオブジェクトは、QueryやQuery All オペレーションが実行できません。

オブジェクトフィールド

ここは、［オペレーション］フィールドでBulk が選択された場合のみ利用できます。

をクリックしてオブジェクトフィールドリストを開きます。ここで、必要なオブジェクトフィールドを選択し、それらの関係の詳細を埋めることができます。［インデックス］と［外部ID］フィールドに関係するデータのみを入力することができます。デフォルトでは、フィールドは選択されません。

戻りジョブID

ここは、［オペレーション］フィールドでBulk が選択された場合のみ利用できます。

をクリックして変数リストを開きます。ここで、ジョブIDを保持する変数を選択します。

結果オプション

結果を保存

結果のXMLファイルを保存したい場所を定義します。ドロップダウンリストから以下のいずれかを選択します。

  • ファイル …… Salesforceから返されたオブジェクトデータを保持するファイルを選択します。 をクリックして式エディタを開くか [image] をクリックしてこの情報を保存するファイルパスを入力します。

  • 変数（デフォルトは C.UserBlob） …… Salesforceから返されたオブジェクトデータを保持する変数を選択します。 をクリックして変数リストを開きます。情報を保存する変数を選択します。

  • 分割ファイル …… 大きなXMLファイルをより小さなXMLファイルに分割します。このオプションを選択すると、このダイアログボックス（下記)の［分割ファイル］オプションに必要な情報を入力する必要があります。

オペレーション成功

このフィールドは、データオブジェクトがSalesforce内に正しく書き出されたかを簡単に判断できるようにします。ドロップダウンリストから以下のいずれかを選択します。

  • None（デフォルト） …… コネクタの成否のステータスを保存しない場合は、このオプションを選択してください。

  • Variable …… コネクタの成否のステータス情報を保存する変数を選択します。

Builkオペレーション(上記)のどれかを使用する場合、このフィールドは、SalesforceジョブがMagic xpiによって正しく作成されたかどうかを定義します。

分割ファイルオプション

ディレクトリ

分割ファイルを保持しているディレクトリ。 をクリックして式エディタを開き、ディレクトリ名を入力します。

接頭辞

分割ファイルのの接頭辞。 をクリックして式エディタを開き、接頭辞を入力します。

ファイル毎のレコード

各分割ファイルのレコード数。 をクリックして式エディタを開き、必要なレコード数を入力します。

分割数

分割数が返る数値変数。 をクリックして変数リストを開き、必要な変数を選択します。

［Salesforce構成］ダイアログボックスには以下のボタンもあります。

ボタン | 説明
XSDのリフレッシュ | 現在のスキーマを更新します。 ［XSDをリフレッシュ］をクリックすると現在のスキーマは上書きされます。メッセージダイアログボックスが開き、［OK］をクリックすると更新と上書きを承認します。［キャンセル］をクリックするとスキーマを上書きせずにプロセスを終了します。

  • CreateとUpdateを使用する場合、フィールドマッピング時に作成、更新できないフィールドや定義済みの値が必要なフィールドに注意してください。各フィールドの［プロパティ］ペイン［追加XMLプロパティ］セクションで必要な情報を得ることができます。

  • Bulk Query オペレーションは、以下のSOQLステートメントをサポートしません。

    • COUNT

    • ROLLUP

    • SUM

    • GROUP BY CUBE

    • OFFSET

    • Nested SOQL queries

    • Relationship fields

  • データマッパソースからのリピート可能な要素は、Salesforceオブジェクトのrowコンパウンドにマッピングしてください。

  • NULL値を許可するオブジェクトフィールドは、Magic xpi内のNULL値でマッピングされ、追加することができます。

  • 高度なQueryを行う場合は、作成されたXSDのSOQL合成要素内のSOQL WHERE句のフリーテキストにマッピングすることができます。この合成要素は、QueryとQuery Allのメソッドで使用することができます。合成要素には、WHEREと呼ばれる文字列があります。SOQLステートメントのWhere部をこの要素にマップすることができます。そして、Where部はマッピング処理中にWhere句ビルドに追加します。

関連トピック：

Salesforce - 外部IDによるオブジェクト参照


Salesforce - 外部IDによるオブジェクト参照

オブジェクトIDによるオブジェクトの参照

親オブジェクトに依存するSalesforceオブジェクトを検索、作成、削除するには親オブジェクトのIDを取得しなくてはなりません。

このプロセスを簡単にするには､［プロパティ］ペイン内のノードの［計算値］フィールドにある getObjectIDbyField 関数を使用します。

関数の構文は､'getObjectIDbyField (ObjectName, FieldName, FieldValue)' です。関数はパラメータは以下の通りです。

  • ObjectName…… WSDLに表示されるオブジェクト名

  • FieldName …… オブジェクトのWSDL内のエントリーの名前

  • FieldValue …… 検索する値

例えば： 'getObjectIDbyField (Account, Name, ABC)' は、名前がABCというアカウントのIDを返します。

上の例のように式全体をシングルクオーテーションで囲む必要がありますので注意してください。

getObjectIDbyField 関数を使用するときは､以下に注意してください。

  • この関数では一つのパラメータしか検索できません。

  • 検索結果に複数のエントリが見つかった場合、最初に見つかったIDだけが返されます。

  • エラーが返る場合は、このレコードは処理されず、次のレコードにスキップします。（エラーは、XMLで返され、Magic xpiモニタには表示されません。）

  • この関数は、オブジェクトを参照して定義されるフィールド上でのみ使用できます。たとえば、新しい条件を作成する場合、条件の所有者となるユーザを参照します。

  • この関数がオブジェクトを参照しないフィールド上で使用されると、Salesforceはエラーを返します。

  • この関数への各呼び出しによってリクエストをSalesforceに送信します。

外部IDによるオブジェクトの参照

オブジェクトIDの代わりに、外部IDによってオブジェクトを参照することができます。例えば、オブジェクトが別のデータベース（例えばSAP）で作成される場合、これは役に立ちます。この場合、そのオブジェクトIDは知らされません。

このようにするには、[プロパティ]ペインのノードの［計算値］フィールドで、setRefbyExternalId関数を使用してください。マッピングされたノードは、(Salesforceのユーザインターフェイスに従って)ルックアップフィールドでなければなりません。

関数の構文は、'setRefbyExternalId (ObjectName, ExternalIdFieldName, ExternalIdFieldValue)'です。関数はパラメータは以下の通りです。

  • ObjectName …… WSDLに表示されるオブジェクト名

  • ExternalIdFieldName …… オブジェクトのWSDLでのエントリ名

  • ExternalIdFieldValue …… 検索する値

setRefbyExternalId関数の使い方の詳細な例は、ここをクリックしてください。

  • この関数は、外部IDとしてマークされたフィール上でCreate、Update、そしてUpsert オペレーションが行われる場合にのみ使用できます。

  • この関数は、Bulk Create、Bulk Update、そしてBulk Upsert オペレーションでは使用できません。


オブジェクトフィールドリスト

  • リストからSalesforceフィールドを選択して［OK］をクリックします。

  • ［全て選択］をクリックすると、オブジェクトが全て選択されます。

  • ［すべてクリア］をクリックすると、選択内容が全てリセットされます。

  • ［リフレッシュ］をクリックするとフィールドリストが再表示されます。

  • 選択しないで［オブジェクトフィールドリスト］ダイアログを閉じるには、［キャンセル］をクリックしてください。

Salesforceフィールドを選択すると、［フィールド］タイプカラムで必要なタイプをドロップダウンリストから選択し、［フィールド書式］カラムに必要な値を入力することによってその書式を変更することができます。

［フィールドタイプ］と［フィールド書式］カラムに対する変更は、永続的で、データマッパーに影響します。デフォルト値に戻すには、Salesforceオブジェクトを再読込する必要があります。

  • このリストにアクセスするためには、最初に［Salesforce構成］ダイアログボックスで［オブジェクト］プロパティからオブジェクトを選択し、すべてのチェックボックスのチェックを外す必要があります。 をクリックすると、［オブジェクトフィールドリスト］のダイアログボックスが開きます。

  • ［オブジェクトフィールドリスト］ダイアログボックスの［関連フィールド名］カラム内の関連セットにもとづいて、関連の問合わせが、Salesforceで実行されます。［関連フィールド名］カラムの構文は
    RelationshipName.IndexedFieldName, です。そして、それは以下の通りです。

<左側のカラムのField Nameカラムは、親子関係>
<バルクマナー内でUpdate、Insert、Createを行いたいField Name またはAPI Nameは、インデックスが付加されます。（その［外部ID］フィールドが選択されると、カスタムフィールドはインデックスが付加されます。その［idLookup］プロパティがTrueに設定された場合、標準フィールドはインデックスが付加されます。)
 >

実行時の動作は、setRefbyExternalId関数と似ています。詳細は、関連するSalesforce API documentationを参照してください。

このアプローチを使用した例(カスタムフィールドの名前をSLASerialNumberにしています。

Bulk Upsertを使用した場合、以下のようにする必要があります。

  • Idフィールドをチェックし、マッピング段階で値を割り当ててください。

  • Upsertフィールド名で選択したフィールドをチェックし、マッピング段階で値を割り当ててください。


オブジェクトリスト

  • リストからのSalseforceオブジェクトを選択し、［選択］をクリックします。

  • オブジェクトリストをリフレッシュするには、［リフレッシュ］をクリックしてください。

  • 選択しないでオブジェクトリストを閉じるには、［キャンセル］をクリックしてください。

オブジェクトリストは、リソース内でビルドされなければなりません。そうしないと、ステップまたはトリガでオブジェクトリストを取得できません。


子オブジェクトリスト

  • ［子オブジェクト名］カラムで1つ以上を選択し、［OK］をクリックします。

  • ［フィールド名］カラムには、親オブジェクトに対する子オブジェクトの関係の詳細が含まれています。子オブジェクトが親オブジェクトと複数の関係がある場合、ドロップダウンリストでこれらの値が表示されます。必要な親オブジェクトの関係フィールドを選択するために、ドロップダウンリストを使用することができます。

  • ［リフレッシュ］をクリックすると、フィールドリストが再表示されます。

  • 選択しないでアカウントリストの子オブジェクトを閉じるに場合は、［キャンセル］をクリックしてください。

子オブジェクトリストは、最初のレベルの子オブジェクトだけが表示され、再帰的に継続されません。


Salesforce - トリガ設定

Salesforceコネクタは、Salesforceのオブジェクトの変更をトリガとしてフローを起動できます。

SalesforceコネクタをMagic xpiのトリガエリアにドラッグすると、［プロパティ］ペインを開きます。コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、［Salesforceトリガ設定］ダイアログボックスを開きます。

このダイアログボックスには以下のフィールドが含まれています。

名前

説明

接続

リソース名

この読み込み専用フィールドは、［設定］ダイアログボックスの［サービス］セクションでトリガのために選択されたSalesforceリソースの名前が表示されます。

ポーリング間隔

をクリックして［ポーリング間隔］ダイアログボックスを開きます。組織データの変更をコネクタがチェックする間隔を入力します。分、時間、日数の組み合わせを選択することができます。

Salesforce.comは、ポーリング間隔を5分以上取ることを推奨しています。

ここで設定した値（例、3分)は、Salesforce APIを実際の呼び出し数を定義します。このメカニズムは、以下のように動作します。

  • トリガは、トリガ設定に従って次の2つのSalesforceメソッド（GetUpdated()とGetDeleted()）を呼び出すことができます。

  • これらのメソッドへの各呼び出しは、変更または削除されたオブジェクトのIDリストを返します。

  • Magic xpiがIDのリストを取得する場合、オブジェクトフィールドを読み出すためにRetrieve() を使用します。1回の呼び出しで、2000 ID分がまとまって読み出されます。2000以上の変更がある場合は、全てのIDが読み出されるまで、Magic xpiはmin(残りのレコード、2000)関数を使用して読み出します。

  • したがって、例えば、3分おきに1000件分の更新/作成されたオブジェクトを持つ場合、2つのメソッド(GetUpdated() と Retrieve())を呼び出します。.

同期

トリガ行の取り出しを同期させて、起動順序を決定するために、このチェックボックスを選択してください。これで、起動される行間の関係がある状態を制御することができます。たとえば、Salesforceから得られるデータが複数のデータベーステーブルに挿入される親子関係があるかもしれません。トリガが同期しない場合、子の行は親レコードの前に挿入することでSQLエラーが発生します。

デフォルトはチェックが外されています。

トリガ行の正しい処理順序を定義するために、ダイアログボックスの右側の上下矢を使用することができます。

キープアライブ間隔（分）

自動的に再起動される前にトリガの応答がない場合の時間を分数で指定します。デフォルト値は0で、これはトリガの応答を永久に待ち続けることを意味します。

  • このパラメータ値の選択は、慎重に行ってください。値が少な過ぎると、有効な処理が終了する前に、トリガは終了するかもしれません。

  • ［同期］のチェックボックス（上記)を選択すると、トリガとフローは同じスレッドで動作します。これは、応答がないためにトリガが終了されると、フローも同じように終了することを意味します。したがって、［キープアライブ間隔］を設定する場合、実行するフローの処理時間を考慮する必要があります。例えば、トリガの無応答時間が3分で、フローの実行時間が最高2分の場合、［キープアライブ間隔］は、5以上に値する必要があります。

行ラベル

トリガされた行を定義するラベルを入力します。フロー呼出時に下記の［行ラベルの保存］フィールドにマッピングされた変数がラベルの値を保持します。

オブジェクト

をクリックしてオブジェクトリストを開きます。オペレーションが実行されるオブジェクトを選択します。このリストは、［Salesforce リソース］ダイアログボックスの［オブジェクトリスト］ボタンをクリックすると生成されます。

オブジェクトリストはリソースでビルドされなければなりません。これ以外の場合、ステップやトリガでオブジェクトリストを取得することができません。

オペレーション

ドロップダウンリストから以下のいずれかの処理を選択します。

  • 更新(デフォルト) …… 更新された（追加、もしくは変更された）オブジェクトのリストを取り出すときに使用します。

  • 削除 …… 削除されたオブジェクトのリストを取り出すときに使用します。

開始日付

をクリックして変数リストを開きます。データ検索に必要な開始日付を選択します。このフィールドにはグローバル変数のみ使用することができます。

このフィールドには、XML DateTimeの書式を使用する必要があります。有効な開始日を作成するためにMagic xpiのDateTimeFormat関数を使用することができます。

結果オプション

XML結果の保存

これはトリガのポーリング結果どこに保持するかを定義します。ドロップダウンリストから以下のどれかを選択します。

  • ファイル …… トリガ結果をファイルに保存します。結果として生じているファイル名は次のロジックに従って作成されます： <LabelName>_<ObjectName>_<Operation>_<mTime>.xml。.<LabelName>はオプションです。 従って、提供されない場合は、ファイル名は下線で開始させないでください。

  • 変数 …… 変数の中にSalesforceによって返されるポーリング結果を格納します。 をクリックして変数リストを開きます。結果を格納するために、変数を選択してください。デフォルトはC.UserBLOBです。［結果の分割］や［レコードの最大数］、［結果フォルダパス］、［保存する結果ファイル名］の各プロパティに従って、ポーリング結果を分割することができます。

Since version: 4.1

結果の分割

［レコードの最大数］プロパティ(以下)を有効にするために、このチェックボックスを選択します。

Since version: 4.1

レコードの最大数

各分割ファイルのレコードの最大値です。 をクリックして式エディタを開き、レコードの最大値を力してください。レコードのデフォルト値は、1000です。0を入力すると、分割は実行されません。［結果の分割］チェックボックス(上記)を選択すると、このプロパティは有効になります。

Since version: 4.1

結果フォルダパス

結果が保存されるフォルダ。

をクリックして式エディタを開きフォルダ名を入力するか、 [image] をクリックして必要なフォルダを選択してください。［XML結果の保存］プロパティ(上記)でファイルを選択した場合、このプロパティは有効になります。

Since version: 4.1

保存する結果ファイル名

結果ファイルの保存先をフルパスで指定します。 をクリックして、変数リストを開きます。［詮索］をクリックして、必要な文字変数をを選択してください。［XML結果の保存］プロパティ(上記)でファイルを選択した場合、このプロパティは有効になります。

Since version: 4.1

行ラベルの保存

トリガの行ラベルを保存する場合に使用します。

をクリックして変数リストを開きます。［選択］をクリックして必要な文字変数を選択します。

最終日付の保存

このフィールドは、トリガが変更をオブジェクトの削除や更新、追加)を見つけた最後の日付と時間を保持します。

をクリックして変数リストを開きます。［選択］をクリックして必要な文字変数を選択します。

  • 結果は、ポーリングが実行される日に先がけて30日までは戻ることができます。データは、ログインされたユーザがアクセスできるオブジェクトに対してのみ検索することができます。より長い期間の結果を取り出す場合は、ここで説明されるように、ステップクエリメカニズムを使用する必要があります。

  • ユーザ文字列はデータを以下の形式で保持します： <label> - <object name> - <operation> (deleted/updated).

［Salesforceトリガ構成］ダイアログボックスには以下のボタンもあります。

ボタン | 説明
XSDリフレッシュ | 選択した全てのオブジェクトのオブジェクトスキーマを取り出します。
新規 | トリガテーブルに新しい行を作成します。
削除 | トリガテーブルで選択した行を削除します。

コネクタの構成が終了したら、［OK］をクリックして選択した全てのオブジェクトのSalesforceスキーマを生成し、［Salesforceトリガ構成］ダイアログボックスを閉じます。

［キャンセル］をクリックすると､定義は保存されずに［Salesforceトリガ構成］ダイアログボックスが閉じます。


Salesforce - メソッド

以下のメソッドはダイレクトアクセスメソッドを使用してSalesforceコネクタを構成するのに使用されています。

  • Bulk Abort Job

  • Bulk Check Job State

  • Bulk Retrieve Job Results

  • Bulk Retrieve Query Results

  • Convert Lead

  • Get Objects List

  • Get Timestamp

  • Merge

  • Metadata CRUD

  • Metadata Check State

  • Metadata Deploy

  • Metadata Retrieve

  • Query by SOQL

  • Replicate All Data

  • Replicate Last Deletes

  • Replicate Last Updates

  • Update Object Structure

オブジェクト添付ファイルは、同じ複製データベースの配下の専用テーブルに保存されます。添付ファイルは、Base64フォーマットで保存されます。添付ファイルテーブルはib_sfdc_attachmentsと呼ばれ、キーとして各々の添付ファイルレコードに対してオブジェクト名とフィールド名、ユニークなオブジェクトIDが含まれています。

以下の表は使用できるメソッドとパラメータの一覧です。太字 のパラメータは必須です。

メソッド

パラメータ

説明

Bulk Abort Job

現在のバルク処理のジョブを中止します。ジョブが中止されると、レコードは処理されません。しかし、データに対していくつか変更されることがあり、ロールバックされません。

ジョブID

アボートしたいジョブのIDを入力します。

タイムスタンプ

アボート処理のタイムスタンプを保持する変数を選択してください。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Bulk Check Job State

ジョブのすべてのバッチが終了したかどうかをチェックします。

ジョブID

チェックしたいジョブのIDを入力します。

ジョブ完了を待つ

ジョブの状態をチェックする前に、ジョブの完了を待つかどうかを指定します。ドロップダウンリストからの以下のどれかを選択します。

  • No (デフォルト)

  • Yes …… このオプションを選択すると、10秒間隔でリトライされます。

バッチステータスXML

XML構造でバッチの状態を保持する変数を選択します。

ジョブ状態

ジョブの状態を保持する変数を選択します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Bulk Retrieve Job Results

ジョブ内のすべてのバッチの結果を取得します。

ジョブID

結果を取得したいジョブのIDを入力します。

不完全な結果を許可

部分的に結果を取り出素ことができるように指定します。ドロップダウンリストからの以下のどれかを選択します。

  • No (デフォルト) …… このオプションを選択すると、メソッドの最初のアクションはジョブの状態をチェックすることです。ジョブが進行中の場合は、エラーが作成されます。

  • Yes …… このオプションを選択すると、ジョブが終了しない場合、メソッドはジョブの状態をチェックしないで、部分的な結果を返すかもしれません。

結果XML

XML構造でバッチの状態を保持する変数を選択します。

結果XMLは、以下の場所にあります：

<Magic xpi のインストールフォルダ>\Runtime\ifclib\salesforce\xsd\BulkResults.xsd

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Bulk Retrieve Query Results

1つ以上のCSVファイルの形式でSalesforceから結果を取り出します。

Since version: 4.1

ジョブID

結果を取得したいジョブのIDを入力します。

ジョブ完了を待つ

ジョブの状態をチェックする前に、ジョブの完了を待つかどうかを指定します。ドロップダウンリストからの以下のどれかを選択します。

  • No (デフォルト)

  • Yes …… このオプションを選択すると、10秒間隔でリトライされます。

結果ディレクトリ

結果ファイルが作成されるフォルダへのフルパスを入力してください。

結果ファイル接頭辞

結果ファイルに必要な接頭辞を入力してください。

結果数

オペレーションによって作成されるCSVファイルの数を受け取ります。最大1GBのファイルが返り、そこで、これらのは最大15ファイルになります。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Convert Lead

1度にひとつのLeadをOppourtunity(オプション)と同じように AccountとContactに変換します。

リードID

変換するLeadのID

変換後ステータス

変換されたleadに対する有効なLeadステータス値を入力します。

アカウントID(入力)

leadがマージされる先のAccountのIDを入力します。既存のアカウントを更新する場合のみ必要となります。

コンタクトID(入力)

leadがマージされる先のContactのIDを入力します。既存のcontactを更新する場合のみ必要となります。

リードソースを上書き

ターゲットのContactオブジェクトのLeadSourceフィールドを上書きするかどうか指定します。有効な値はYesまたはNo（デフォルト）です。

条件の作成

lead 変換時に条件を作成するかどうか指定します。有効な値はYesまたはNo（デフォルト）です。

オーナーID

新たに生成されるAccount、Contact、とOppourtunityを所有する人のIDを入力します。

通知メールを送信

OwnerIDで指定されているオーナにEmailを送るかどうか指定します。有効な値はYesまたはNo（デフォルト）です。

アカウントID(出力)

新しく作られたAccount IDを保持する変数を選択します。

コンタクトID(出力)

新しく作られたContact IDを保持する変数を選択します。

条件ID

lead がマージされるOpportunityのIDを入力します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Get Objects List

Salesforce.com 組織データで利用可能なオブジェクトのリストを取り出すメソッド。

オブジェクトリストXML

XML構造でオブジェクトリストを保持する変数を選択します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Get Timestamp

salesforce.comのタイムスタンプを取り出します。

タイムスタンプ

salesforce.comタイムスタンプ（XMLフォーマット）を保存する変数を定義します。

をクリックして変数リストを開きます。必要な変数を選択します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Merge

同じオブジェクトタイプのレコードを一つのレコードにマージし、他のレコードを削除し、関連するレコードを親にします。

オブジェクトタイプ

マージされるオブジェクトタイプを選択します。Lead、Contact、Accountがあります。

マスタレコードID

どのレコードが他のレコードがマージするマスターレコードか指定するためにレコードIDを入力します。

レコードID

マスタレコードにマージされるレコードのIDをカンマ区切りで入力します。最低1レコード、最大で2レコードです。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Metadata CRUD

メタデータの作成、更新または削除を行います。

オペレーション

実行したいCRUD処理。ドロップダウンリストからの以下のどれかを選択します。

  • 作成 (デフォルト)

  • 更新

  • 削除

  • アップサート Since version: 4.5

メタデータ

メタデータのXML表記。メタデータXMLの詳細については、ここをクリックしてください。

結果XML

XML構造で結果を保持する変数を選択してください。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Metadata Check State

メタデータの非同期メソッドの処理状態をチェックします。

Salesforce V32 API以降、DeployメタデータとRetrieveメタデータの呼び出しは同期しているため、このメソッドは廃止されました。 このメソッドを呼び出すと、エラーが発生します。

ID

非同期メソッド（Deploy、Retrieveまたは CRUD)のうちの1つから非同期の結果XMLで返されるID

完了を待つ

状態を読み出す前に処理の完成を待つべきかどうか指定します。ドロップダウンリストから以下のどれかを選択します：

  • No (デフォルト)

  • Yes …… メタデータ処理が完了するまで、ステップは終了しません。

結果XML

XML構造で結果を保持する変数を選択してください。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Metadata Deploy

Salesforceメタデータzipファイルを配備します。

メタデータZipファイル

フルパスと配備されたメタデータzipファイルのファイル名。

警告を無視

配備が成功したときに警告表示を許可するかどうかを指定します。ドロップダウンリストから以下のどれかを選択します。

  • No (デフォルト)

  • Yes

エラーのロールバック

失敗した場合に、完全にロールバックするかどうかを指定します。ドロップダウンリストから以下のどれかを選択します。

  • Yes (デフォルト)

  • No

Noを選択すると、エラーを含まないアクションが実行され、エラーは残りのアクションに対して返されます。製品組織として配備する場合は、Yesを選択する必要があります。

結果XML

XML構造で結果を保持する変数を選択してください。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Metadata Retrieve

Salesforceメタデータzipファイルを読み出します。

メタデータAPIバージョン

リクエストを読み込むために必要なAPIバージョンをフルパスで指定します。APIバージョンは、メタデータタイプごとにどのフィールドが読み込まれるかを指定します。

メタデータ出力先Zipファイル

読み込まれたメタデータzipファイルのフルパスとファイル名。

パッケージ名

読み込むパッケージ名のリストをカンマ区切りで指定します。パッケージが展開されたコンポーネントを取り出したい場合、このフィールドを空のままにして、［マニフェストXMLファイル］フィールド（下記）に値を入力してください。

マニフェストXMLファイル

マニフェストパッケージXMLファイルのフルパス。これは、パッケージが展開されたコンポーネントを読み出すために使用されます。

結果XML

XML構造で結果を保持する変数を選択してください。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Query by SOQL

フリーのSalesforceオブジェクトオブジェクトクエリー言語（SOQL)ステートメントを送信して、戻り値として結果のXMLを受け取ります。

クエリタイプ

実行したいクエリタイプを定義します。ドロップダウンリストから以下のどれかを選択します。

  • クエリ (デフォルト)

  • 全クエリ

SOQL文

送信したいSOQL文トを入力します

結果保存先

結果XMLの保存先を指定します。ドロップダウンリストから以下のどれかを選択します。

  • 変数 (デフォルト)

  • ファイル

  • 分割ファイル

結果XML

をクリックして変数リストを開き、XML構造で処理結果を保存する変数を選択します。

［結果の保存先］（上記）で変数を選択した場合のみ有効です。

ファイル名

照会結果を保存したいファイルのフルパスを入力します。

［結果の保存先］（上記）でファイルを選択した場合のみ有効です。

ディレクトリ

分割したXML結果を保持しているディレクトリのフルパス。

をクリックして式エディタを開き、ディレクトリ名を入力します。

［結果の保存先］（上記）が分割ファイルの場合だけ有効です。

接頭辞

接頭辞は、分割XMLファイルで使用します。

をクリックして式エディタを開き、接頭辞を入力します。

［結果の保存先］（上記）が分割ファイルの場合だけ有効です。

ファイル毎レコード

各分割ファイル内のレコード数。

をクリックして式エディタを開き、接頭辞を入力します。

［結果の保存先］（上記）が分割ファイルの場合だけ有効です。

分割数

返される結果XMLから作成される分割数が格納される数値変数

をクリックして変数リストを開き、変数を選択します。

［結果の保存先］（上記）が分割ファイルの場合だけ有効です。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Replicate All Data

オブジェクトの完全検索を行い、選択されたローカルデータベースにSalesforce.comデータを複製します。

オブジェクト名

Salesforce オブジェクト名を選択します。

出力先DBリソース

データベースリソースを入力します。

MSSQL 2005サーバで動作させる場合は、このメソッドは8000文字以上の文字列を扱うことができます。

トランザクションタイプ

データベースのトランザクションタイプを選択します。有効な値は レコード と テーブル です。

全レコードを最初に削除

挿入前に既存のレコードを削除するかどうかを指定します。有効な値はYes（デフォルト）またはNoです。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Replicate Last Deletes

Start Date引数に基づきオブジェクトの削除されたレコードを検索し、変更をローカルデータベースに複製します。

オブジェクト名

Salesforce オブジェクト名を選択します。

出力先DBリソース

データベースリソースを入力します。

MSSQL 2005サーバで動作させる場合は、このメソッドは8000文字以上の文字列を扱うことができます。

トランザクションタイプ

データベースのトランザクションタイプを選択します。有効な値は レコード と テーブル です。

開始日

Salesforceの変更を複製し始める日付を入力します。

有効な日付フォーマットは：

YYYY-MM-DDT00:00:00T

YYYY-MM-DDT00:00:00.000T

最終カバー日付

最後にカバーされた日付を保持する変数を入力します。

取得レコード数

取得されたレコード数を保存する変数を定義します。

をクリックして変数リストを開き、必要な変数を選択します。

削除レコード数

削除されたレコード数を保存する変数を定義します。

をクリックして変数リストを開き、必要な変数を選択します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Replicate Last Updates

［開始日付］に基づきオブジェクトの更新されたレコードを検索し、変更をローカルデータベースに複製します。

オブジェクト名

Salesforce オブジェクト名を選択します。

出力先DBリソース

データベースリソースを入力します。

MSSQL 2005サーバで動作させる場合は、このメソッドは8000文字以上の文字列を扱うことができます。

トランザクションタイプ

データベースのトランザクションタイプを選択します。有効な値は レコード と テーブル です。

開始日

Salesforceの変更を複製し始める日付を入力します。

有効な日付フォーマットは：

YYYY-MM-DDT00:00:00T

YYYY-MM-DDT00:00:00.000T

最終カーバ日付

最後にカバーされた日付を保持する変数を入力します。

取得レコード数

取得されたレコード数を保存する変数を定義します。

をクリックして変数リストを開き、必要な変数を選択します。

更新レコード数

更新されたレコード数を保存する変数を定義します。

をクリックして変数リストを開き、必要な変数を選択します。

挿入レコード数

挿入されたレコード数を保存する変数を定義します。

をクリックして変数リストを開き、必要な変数を選択します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Update Object Structure

一番更新されたSalesforceオブジェクトを検索し、同じ Create Table SQL文を生成します。

オブジェクト名

Salesforce オブジェクト名を選択します。

出力先DBリソース

データベースリソースを入力します。

最初にテーブルをドロップする

オブジェクト構造を作成する前にテーブル構造を削除するかどうかを指定します。

スクリプトファイル名

データベーススクリプトのあるディレクトリへのパスを入力します。

スクリプト実行

生成されたスクリプトを実行するかどうか指定します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

関連トピック：

ダイレクトアクセスメソッドの使い方


メタデータXML の例

このトピックは、SalesforceコネクタのメタデータCRUDメソッドで使用されるメタデータXMLファイルを記述しています。

メタデータブロックの作成

MyObjと呼ばれているカスタムオブジェクトにおいて、以下のブロックは、pick1と呼ばれている2つの値（a2,a3)で選択リストを作成します。

<metadata xsi:type="ns1:CustomField">
<fullName>MyObj__c.pick1__c</fullName>
<label>pick111</label>
<type>Picklist</type>
<picklist>
<sorted>True</sorted>
<picklistValues>
<currentName>a2</currentName>
<fullName>a22</fullName>
</picklistValues>
<picklistValues>
<currentName>a3</currentName>
<fullName>a33</fullName>
</picklistValues>
</picklist>
</metadata>

メタデータブロックの更新

以下のブロックは、アカウントオブジェクトのカスタムフィールドの2つの説明を更新します。

<metadata xsi:type="ns1:CustomField">
<length>100</length>
<fullName>Account.Text1__c</fullName>
<label>Account.Text1__c</label>label>
<description>Desc modified by Update</description>
<type>Text</type>
</metadata>
<metadata xsi:type="ns1:CustomField">
<length>100</length>
<fullName>Account.Text2__c</fullName>
<label>Account.Text2__c</label>label>
<description>Desc modified by Update</description>
<type>Text</type>
</metadata>

メタデータブロックの削除

以下のブロックは、アカウントオブジェクトのカスタムフィールドを削除します。

<ns1:type>CustomField</ns1:type>
<ns1:fullName>Account.Text1__c</ns1:fullName>

メタデータブロックの追加更新

以下のブロックは、アカウントオブジェクトの２つのカスタムフィールドを追加更新します。

<metadata xsi:type="ns1:CustomField">
<fullName>Account.Text1__c</fullName>
<length>100</length>
<label>Account.Text1__c</label>label>
<description>Upsert deleted data Metadata API</description>
<type>Text</type>
</metadata>
<metadata xsi:type="ns1:CustomField">
<fullName>Account.Text2__c</fullName>
<length>100</length>
<label>Account.Text2__c</label>label>
<description>Upsert existing data Metadata API</description>
<type>Text</type>
</metadata>

いくつかの兄弟関係のMetadataまたはUpdateMetadataブロックがラッピングされた親を持たないため、CRUD呼び出しによって供給する必要のあるメタデータBLOBは、必ずしも適切なXML構造であるというわけではありません。


Salesforce – エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。Salesforceコネクタのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

Salesforceコネクタのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも Salesforceコネクタで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード

説明

1203

Salesforce 呼出エラー： <エラー内容>

例：

Error 1203 - SalesForce call error: com.magicsoftware.ibolt.salesforce.IBSalesforceException: Login error (Unexpected Error): REQUEST_LIMIT_EXCEEDED Total Requests Limit exceeded.

このエラーメッセージは、Salesforce側から作成されます。それは、組織が限られている並行のAPIリクエストの数に関連があります。

これらの制限は以下の通りです。

組織タイプ | 制限
開発組織 | 5
評価組織 | 5
製造組織 | 25
サンドボックス | 25

1207

送り先データベースが見つからない： <データベース名>

1208

必須入力パラメータが空白： <パラメータ名>

1209

内部エラー： <エラー内容>

1210

データベースエラー： <エラーコード> <エラー内容>

1211

複製中断SFDC_TerminateReplication関数の値が１

関連トピック：

Magic xpiでのエラー処理


SAP Business One

SAP Business One (SAPB1) コンポーネントは、Magic xpiとSAP Business One アプリケーション間を接続します。これによりSAP Business One 導入業者が SAP Business One データオブジェクトを組み合わせることを可能にし、彼らの顧客に追加の機能をもたらし、またMagic xpiユーザにシンプルなSAP Business One データオブジェクトへの接続を可能にします。

Magic xpiのSAPB1コンポーネントを使用するには、以下のものがインストールされている必要があります。

  • SQLデータベース

  • SAP Business One サーバツール

  • SAPB1 データインタフェースAPI

SAPB1 HANAを使用して動作

SAPB1 HANAを使用して動作させるには、以下が必要です。

  • SAP HANA DI APIをインストールします。

  • SAP HANA ODBCドライバーインストールします。

  • ODBCデータソースを作成します。

  • SAP HANA トリガを使用したい場合は、ODB接続文字列を定義してください。

これを行うための方法についての詳細情報は、ここをクリックしてください。

Since version:

4.5a

SAPB1コネクタには4つのバージョンがあります。バージョンは以下の通りです。

  • SAPB1 8.8 …… SAP Business One 8.8 と SAP Business One 9 および V10を使用する場合。

  • SAPB1 2007 …… SAP Business One 2007 を使用する場合。

  • SAPB1 2005 …… SAP Business One 2005 を使用する場合。

  • SAPB1 2004 …… SAP Business One 2004 を使用する場合。

Magic xpi でSAPB1コネクタを利用するには、会社で使用している SAP Business One アプリケーションと互換性のあるバージョンを選択する必要があります。

SAP B1は、フロー内のトリガ及びステップとして導入することができます。

  • SAPB1コンポーネントは、MS-SQL Serverデータベースのみサポートします。データベースにはdb_datawriterというロールを割り当てる必要があります。

  • Magic xpiをインストールする前に、SAP B1V10をマシンにインストールする必要があります。

  • SAPB1 2004 と 2005は、Windows 2008ではサポートされません。

  • このコンポーネントは、全てのプラットフォームでサポートされているわけではありません。詳細は、ここを参照してください。

関連トピック：

導入ガイドライン

SAPB1 – コンポーネント接続

XML 出力タイプ

SAPB1 – 設定

SAPB1 – 使用方法

SAPB1 – エラー処理

SAP Business One トラブルシューティング

SAP - 構成ファイルのフラグ

SAPB1コネクタを使用して複数のオブジェクトを検索するには

SAPB1コネクタを使用して複数のオブジェクトを追加するには


導入ガイドライン

SAP Business One (SAPB1)コンポーネント接続に関しては、いくつかの一般的なポイントがあります。

  • 各 SAPB1 コネクションは、メモリを消費するリソースです。［セッションを保持］チェックボックスもしくはDisconnect コマンドを使用して接続を閉じない限り、メモリはコネクションによりサーバがシャットダウンされるまで占領され続けます。

  • 接続の確立は重い処理であり、パフォーマンスに大きな影響を与えます。このため各SAPB1ステップごとに接続を閉じるのはお勧めできません。

  • コネクションがアイドル状態で放置された場合、SAPB１コンポーネントは送り先を見失う場合があります。これを防ぐには、接続の切断をステップごとやフローごとではなく論理プロセスの終わりに行います。

SAP Business One トランザクションの処理

SAP Business One でトランザクションを開始するには、Start Transactionメソッドを使用します。Magic xpiは、自動的に同じSAP Business One サーバとデータベースに接続している全てのフローと全てのコネクションで、SAP Business One への接続をコミットもしくはロールバックコマンドが実行されるまでロックします。

この提案に従って頂ければ、いかなるSAPB1ステップもトランザクションが開いている間に同じサーバとデータベースにアクセスできないようにすることができます。また全ての重要なフローに対し、エラーフローを定義することをお勧めします。このエラーフローは、SAPB1トランザクションをロールバックし、エラーが発生した場合、重要な部分のロックを外します。このエラーフローの最後のステップは、Flow Dataサービスでなければなりません。このFlow Dataサービスの機能は、フローエラーメカニズムが処理するエラーコードで C.sys.ErrorCodeを更新することです。


SAPB1 - コンポート接続

SAPB1コンポーネントで作業を始める前に、接続手続を開始しなくてはなりません。この手続は、SAPB1への新しいデータベース接続を作成します。異なる接続を参照するステップは、起動時に独自のコネク ションを持ちます。

新しい接続を作成する

［設定］ダイアログボックスの［リソース］セクションでは、必要なだけデータベース接続を定義することができます。そしてプロジェクトで様々な機会に、どの接続を使用するかを指定することができます。その設定の仕方については、こちらを参照してください。

必要な接続定義ができたら、SAPB1コンポーネントを構成できます。

接続の停止

SAPB1接続は以下の場合に停止します。

  • SAP B1コンポーネント設定画面の［セッションを保持］チェックボックスにチェックが入っていない。

  • Disconnectコマンドが実行された場合。SAP B1コンポーネントのメソッドインタフェースを使用している場合のみ使用できます。

  • Magic xpiサーバが停止した場合

関連トピック：

リソース

導入ガイドライン


XML出力タイプ

カンパニーデータベースから出力されるXMLデータは、以下のタイプのいずれかでなければなりません。出力タイプは、データが読込専用か読み書き可なのかを定義します。デフォルトではSAPB1 コンポーネントは読み書き可能なExportImportModeをサポートしています。

以下の一覧はそれぞれの出力タイプの説明です。

  • AllNodes …… データベースから読込専用と読み書き可のフィールド両方をXMLへ出力します。このタイプを使用して出力されたファイルは、ReadXmlメソッドでは読み取れません。

  • ValidNodesOnly …… XML入力をサポートする妥当なフィールド（読み書き可フィールドのみ）をデータベースからXMLへ出力します。このタイプを使用して出力されたファイルは、ReadXmlメソッドでは読み取れません。

  • NodesAsProperties …… 全てのフィールドをプロパティとしてデータベースからXMLへ出力します。このタイプを使用して出力されたファイルは、ReadXmlメソッドでは読み取れません。

  • ExportImportMode …… XML入力と出力をサポートする妥当なフィールド（NULL値を含まない読み書き可フィールド）をデータベースからXMLへ出力します。このタイプを使用して出力されたファイルは、ReadXmlメソッドで読み取ることができます。


SAPB1 - 構成

SAPB1コネクタをフローに配置すると、Magic xpiは自動的にそのコネクタの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

SAPB1コネクタを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初に SAPB1リソースを定義する必要があります。また、トリガとして使用している場合、［設定］ダイアログボックスの［サービス］セクションで SAPB1サービス を定義する必要があります。

SAPB1をフローのステップとして使用する場合、最初に［プロパティ］ペインの［設定］セクションに移動し、以前に［設定］ダイアログボックスの［リソース］セクションで定義したSAPB1リソースを選択してください。SAPB１リソースがまだ定義されていない場合、SAPB1コンポーネントの構成に進むことはできません。

次に、［プロパティ］ペインの［全般］セクションをクリックし、インタフェースを選択します。そして、コンポーネントをダブルクリックするか、右クリックしコンテキストメニューから［構成］を選択してください。コンポーネントの［構成］ダイアログボックスが開きます。開かれるダイアログボックスは、どのインタフェースを選択したかに依存します。

SAPB1は、以下の構成インタフェースをサポートしています。

  • メソッド

  • XML

  • トリガ

  • 動的リソースを使用する場合、設計時にはコンポーネントはSAPB1から必要なスキーマを取得するために、デフォルトリソースを使用します。

  • Magic xpiは、SAPB1コンポーネントで特に使用することができる設定ファイルのフラグ 設定ファイルのフラグを提供します。SAPB1関連のフラグの詳細は、ここをクリックしてください。


SAPB1 - トリガ構成

［SAPB1トリガ構成］ダイアログボックスには、以下のフィールドがあります。

名前

説明

サービス定義

リソース

この読み込み専用フィールドは、［設定］ダイアログボックスの［サービス］セクションでトリガとして選択したSAPB1リソースの名前が表示されます。

ポーリング間隔

この読み込み専用フィールドは、［設定］ダイアログボックスの［サービス］セクションでサービスとして定義したポーリング間隔を表示します。

キープアライブ間隔

自動的に再起動される前にトリガの応答がない場合の時間を分数で指定します。デフォルト値は0で、これはトリガの応答を永久に待ち続けることを意味します。

このパラメータ値の選択は、慎重に行ってください。値が少な過ぎると、有効な処理が終了する前に、トリガは終了するかもしれません。

オブジェクト詳細

データオブジェクト

をクリックしてトレースオブジェクトリストを開きます。ここにはサービスリポジトリの［SAPB1トレースオブジェクト構成］ダイアログボックスで作成したトレースオブジェクトが含まれています。必用なオブジェクトを選択します。

オペレーション

ドロップダウンリストからオペレーションを選択します。このリストに表示されるオペレーションは、以前に［設定］ダイアログボックスの［サービス］セクションで定義されたものです。

SAPB1トリガは、ログイン、ログアウトを含め、システムのユーザのオペレーションごとに起動されます。

終了処理

処理終了後にレコード上で実行される処理を選択してください。利用できる処理は以下の通りです。

  • ステータスの更新

  • レコードの削除

XML出力タイプ

トランザクションで使用されるXML出力タイプを入力するために、以下のいずれかをドロップダウンリストから選択します。

  • AllNodes

  • ValidNodesOnly

  • NodesAsProperties

  • ExportImportMode

デフォルトは ExportImportModeで、フィールドの読み書きのみサポートします。

結果定義

トリガクエリの保存先

をクリックして変数リストを開きます。トリガによって作成されたクエリを保存るす場所を選択します。

トリガ情報の保存先

ドロップダウンリストから以下のいずれかを選択し、トリガによって作成された情報の格納フォーマットを定義します。

  • String

  • XML

をクリックして変数リストを開きます。トリガによって作成された情報を保存する場所を選択します。

Stringを選択した場合、生成された文字列には、DataObject - Operation - Server Name - Database Name - Object Key Values - Resource Name 変数が含まれています。

例： ServiceCalls - Add - localhost - SBODemo_US - 7 - SAPB1_Resource。ハイフンの前後にはスペースがあります。これは二つ以上のオペレーションが同じフローで処理されている場合、フローロジックで使用されます。

SAPB1コンポーネントをトリガとして使用するには：

  1. ［設定］ダイアログボックスのリソースでSAPB1リソースを定義してください。これによって、SAPデータベースとの必要な接続を作成することができます。これをどのようにするかについての詳細は、ここをクリックしてください。これを行なわない限り次のステップへ進むことはできません。

  2. ［設定］ダイアログボックスの［サービス］セクションでSAPB1サービスを定義してください。この作業についての詳細は、こちらを参照してください。これを行なわない限り次のステップへ進むことはできません。

  3. SAPB1コネクタをMagic xpiのトリガエリアにドラッグします。これを行なうとコネクタの[プロパティ]ペインが開きます。

  4. ［設定］セクションで、ドロップダウンリストから必要なサービス名を選択してください。

  5. コネクタをダブルクリックするか、右クリックしコンテキストメニューから［構成］を選択します。［SAPB1トリガ構成］ダイアログボックスが開きます。

  6. これらのパラメータに適切な情報を入力したら、［OK］をクリックして情報を保存し、［SAPB1トリガ構成］ダイアログボックスを閉じます。［キャンセル］をクリックした場合は、保存されずに閉じます。

SAP hana トリガを使用したい場合、［ODBCデータソースアドミニストレーター］ダイアログボックスで定義されたODBC接続文字列を取得し、それをSAPB1マルチリソースリストの［接続プロパティ］カラムに入力する必要があります。


SAPB1 - メソッド

SAPB1コンポーネントをメソッドを使用して構成するには：

  1. SAPB1コネクタをフローにドラッグしてください。これを行うと、コネクタのための［プロパティ］ペインが開きます。

  2. ［プロパティ］ペインで、メソッドのインタフェースを選択してください。

  3. コネクタをダブルクリックするか、右クリックしコンテキストメニューから［構成］を選択してください。［SAPB1構成］ダイアログボックスが開きます。これは、使用したいオブジェクトのタイプを選択することができる準備用のダイアログボックスです。ここには、以下のフィールドが含まれています。

名前

説明

接続

リソース名

この読み込み専用フィールドは、SAPB1リソースまたは［設定］ダイアログボックスの［リソース］セクションで定義され、このコネクタのために選択された動的なリソースの名前が表示されます。

オブジェクト

オブジェクトタイプ

ドロップダウンリストから以下のオブジェクトタイプを選択してください。

  • None

  • データオブジェクト …… をクリックしてデータオブジェクトリストを開き、必用なオブジェクトを選択します。

  • ユーザテーブル …… をクリックしてユーザテーブルリストを開き、必用なユーザテーブルを選択します。このオプションので有効なメソッドは、Query、Add、Update、およびDeleteです。

XML出力タイプ

データオブジェクトを選択した場合のみ利用できます。ドロップダウンリストから以下のいずれかを選択し、トランザクションで使用されるXML出力タイプを入力します。

  • AllNodes

  • ValidNodesOnly

  • NodesAsProperties

  • ExportImportMode

デフォルトは、ExportImportModeで、フィールドの読み込み/書き込みのみサポートします。

［XSDのリフレッシュ］をクリックして現在のオブジェクトのスキーマを更新することができます。データオブジェクトを選択する時のみこれが有効です。

  4. ［OK］をクリックして［ダイレクトアクセスメソッド： SAPB1］ダイアログボックスが開きます。ここでメソッドインタフェースのパラメータを定義することができます。

  5. ［追加］をクリックして新しいメソッドを追加します。利用できるメソッドは上記の［SAPB1構成］ダイアログボックスで選択されたオブジェクトタイプに依存します。SAPB1では、以下のダイレクトアクセスメソッドを利用できます。

    • Add

    • Cancel

    • Close

    • Commit

    • Delete

    • Delete Document Line

    • Disconnect

    • Get Currency Rate

    • Query

    • Rollback

    • Start Transaction

    • Set Currency Rate

    • Update

  • 特定のオブジェクトを選択すると、そのオブジェクトに適切なメソッドのみが［ダイレクトアクセスメソッド構成］ダイアログボックスに表示されます。

  • ユーザテーブルシステム内で追加または更新の処理をを行う間、SAPB1アプリケーションで保持されるフィールド「例えば、Object, UserSign, Series, Period, Transfered, CreateDate, CreateTime または DataSource」は、ユーザによって更新できません。

以下の表は利用できるメソッドとパラメータの一覧です。太字 のパラメータは必須です。

名前

パラメータ

説明

Add

SAP Buisness One データオブジェクトにXML（シングルレコード）を追加します。

セッションを保持

ドロップダウンリストからYesまたはNoを選択して操作終了後にSAP Business One データベースへの接続を開いたままにするかどうかを指定します。

XML ソース

ソース元XMLの場所を入力します。

XMLソースはBLOBタイプフォーマットで格納されたXML形式である必要があります。

新規オブジェクトキー

SAPB1に新しいオブジェクトを追加すると新しいオブジェクトキーが作成されます。いくつかのオブジェクトでは、SAPB1はこのキーを内部的に指定します。これは新しいオブジェクトを照会したり更新する際オブジェクトキーがない場合に問題になります。 をクリックしてSAPB1に最後に追加されたキーを保持する文字変数を選択します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Cancel

SAP Business Oneオブジェクトインスタンスをキャンセルします。

セッションを保持

ドロップダウンリストからYesまたはNoを選択して操作終了後にSAP Business One データベースへの接続を開いたままにするかどうかを指定します。

オブジェクトキー

このパラメータの実際の名前は上記で選択したオブジェクトタイプによって決まります。

をクリックして式エディタを開きます。式エディタを使用して必要な情報を入力できます。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Close

SAP Business One オブジェクトインスタンスを閉じます。

セッションを保持

ドロップダウンリストからYesまたはNoを選択して操作終了後にSAP Business One データベースへの接続を開いたままにするかどうかを指定します。

オブジェクトキー

このパラメータの実際の名前は上記で選択したオブジェクトタイプによって決まります。

をクリックして式エディタを開きます。式エディタを使用して必要な情報を入力できます。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Commit

SAP Business One コミットオペレーションを呼び出します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Delete

SAP Business Oneオブジェクトインスタンスを削除します。

セッションを保持

ドロップダウンリストからYesまたはNoを選択して操作終了後にSAP Business One データベースへの接続を開いたままにするかどうかを指定します。

オブジェクトキー

このパラメータの実際の名前は上記で選択したオブジェクトタイプによって決まります。

をクリックして式エディタを開きます。式エディタを使用して必要な情報を入力できます。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Delete Document Line

ドキュメントの特定の行を削除することができます。

接続名

接続名(エイリアス)を入力してください。接続は、［コンポーネント接続］ダイアログボックス内で作成されます。以下のどれかを行うことで接続を選択することができます。

  • をクリックしてに式エディタを開きます。このステップで使用したい接続を位置付ける式または条件を入力します。これによって、ステップのために動的な接続を定義することができます。

  • フィールドに定義された接続の名前を入力してください。これによって、常にこのステップで使用される接続を作成します。

セッションを保持

ドロップダウンリストからYesまたはNoを選択して操作終了後にSAP Business One データベースへの接続を開いたままにするかどうかを指定します。

データオブジェクト

ドロップダウンリストから、処理を実行するSAP Business Oneのデータオブジェクトを選択してください。

  • CreditNotes

  • DeliveryNotes

  • DownPayments

  • Drafts

  • InventoryGenEntry

  • InventoryGenExit

  • Invoices

  • Orders

  • PurchaseCreditNotes

  • PurchaseDeliveryNotes

  • PurchaseDownPayments

  • PurchaseInvoices

  • PurchaseOrders

  • PurchaseReturns

  • Quotations

  • Returns

ドキュメント入力

をクリックして式エディタを開き、ドキュメントのオブジェクトキーを入力してください。

行番号

をクリックして式エディタを開き、ドキュメントのオブジェクトキーを入力してください。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Disconnect

SAP Business One 企業データベースへの開いた接続を切断します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Get Currency Rate

企業データベースから通貨の為替レートを取得します。

通貨

どの通貨の為替レートを取得するか指定します。例： USドル (USD)、 ユーロ (EUR)。使用する通貨の正しい略号を確認してください。

をクリックして式エディタを開き、使用する通貨の動的定義を作成する式や条件を入力します。

日付

通貨レートのための有効な日付を指定します。日付はDD/MM/YYYY フォーマットにします。

をクリックして式エディタを開き日付の動的な定義を作成する式や条件を入力します。

為替レート

通貨パラメータで指定された通貨の為替レートを返します。

をクリックして変数リストを開きます。為替レートの値を保持する変数を選択します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Query

SAP Business Oneオブジェクトインスタンスを参照します。

セッションを保持

ドロップダウンリストからYesまたはNoを選択して操作終了後にSAP Business One データベースへの接続を開いたままにするかどうかを指定します。

オブジェクトキー

このパラメータの実際の名前は上記で選択したオブジェクトタイプによって決まります。

をクリックして式エディタを開きます。式エディタを使用して必要な情報を入力できます。

結果を保存

ドロップダウンリストからどこに結果を保持するか選択します。

  • ファイル

  • 変数 (デフォルト)

変数名

（［結果を保存］で変数を選択した場合に表示されます。）

この変数はSAPB1から返されたオブジェクトデータを保持します。

をクリックして変数リストを開きます。情報を保持する変数を選択します。

ファイル名

（［結果を保存］でファイルを選択した場合に表示されます。）

このファイルはSAPB1によって返されたオブジェクトデータを保持します。

をクリックして式エディタを開きます。この情報が保存される場所のファイルパスを入力します。

検索ステータス

ドロップダウンリストから以下のいずれかを選択します。

  • 空XML

  • 変数

  • エラー

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Rollback

SAP Business One ロールバック処理を呼び出します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Set Currency Rate

企業データベースの特定の日付の通貨為替レートを設定します。

通貨

どの通貨の為替レートを取得するか指定します。例： USドル (USD)、 ユーロ (EUR)。使用する通貨の正しい略号を確認してください。

また、 [image] をクリックして式エディタを開き使用する通貨の動的定義を作成する式や条件を入力します。

日付

通貨レートのための有効な日付を指定します。日付はDD/MM/YYYY フォーマットにします。

また、 [image] をクリックして式エディタを開き日付の動的な定義を作成する式や条件を入力します。

為替レート

通貨パラメータで指定された通貨の為替レートを指定します。

または、 [image] をクリックして式エディタを開き、通貨パラメータで指定した通貨の動的な定義を作成する式または条件を入力します。

更新?

為替レートパラメータで入力されたレートで会社のデータベースの通貨為替レートを更新するかどうかをYesかNoから選択します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Start Transaction

SAP Business One 企業データベースでトランザクションを開始します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Update

SAP Business Oneオブジェクトインスタンスを更新します。

セッションを保持

ドロップダウンリストからYesまたはNoを選択して操作終了後にSAP Business One データベースへの接続を開いたままにするかどうかを指定します。

オブジェクトキー

このパラメータの実際の名前は上記で選択したオブジェクトタイプによって決まります。

をクリックして式エディタを開きます。式エディタを使用して必要な情報を入力できます。

XML ソース

ソース元XMLの場所を入力します。

XMLソースはBLOBタイプフォーマットで格納されたXML形式である必要があります。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

    6. ［追加］をクリックしてメソッドを追加したり定義したりできます。

    7. 必用なメソッドを追加して定義したら、［OK］をクリックして［ダイレクトアクセスメソッド： SAPB1］ダイアログボックスを閉じます。

関連トピック：

ダイレクトアクセスメソッドの使い方

オブジェクトスキーマの更新


SAPB1 - XML

Home > コンポーネント シリーズ > SAP Business One > SAPB1 - 設定 > SAPB1 - XML

SAPB1 – XML

SAPB1コンポーネントをXMLインタフェースで構成するには：

  1. ［設定］ダイアログボックスの［リソース］セクションでSAPB1リソースを定義してください。これによって、SAPデータベースとの必要な接続を作成することができます。これをどのように行うかの詳細は、ここをクリックしてください。この操作を行なわない限り次のステップに進むことはできません。

  2. SAPB1コネクタをMagic xpiのトリガエリアにドラッグします。これを行ないうとコネクタのための［プロパティ］ペインが開きます。

  3. ［設定］セクションの［リソース名］プロパティで、ドロップダウンリストから必要なリソース名を選択してください。

  4. ［一般］セクションの［インタフェース］プロパティで、XML を選択してください。

  5. コネクタをダブルクリックするか、右クリックしコンテキストメニューから［設定］を選択してください。［SAPB1設定］ダイアログボックスが開きます。ここには、以下のフィールドが含まれています。

プロパティ

説明

接続

リソース名

この読み込み専用フィールドは、［設定］ダイアログボックスの［サービス］セクションでトリガとして選択したSAPB1リソースの名前が表示されます。

セッションを保持

処理が終了したあとにSAP Business Oneデータベースへの接続をオープンのままにする場合は、チェックボックスにチェックを入れます。

オペレーション

オブジェクトタイプ

XMLインタフェースを使用している場合、以下のオブジェクトタイプが有効です。

  • データオブジェクト

  • ユーザテーブル

  • サービス (Since version: 4.6)

をクリックしてデータオブジェクトリスト、ユーザテーブルリストまたはサービスオブジェクトリストを開きます。

関連するデータオブジェクト、ユーザテーブル、または処理を実行するサービスを選択してください。

オペレーション

ロップダウンリストから、実行するオペレーションを選択してください。有効なオペレーションは以下の通りです。

  • クエリ

  • 追加

  • 更新

  • 削除

  • キャンセル

  • 閉じる

  • Get (Since version: 4.6): オブジェクトタイプ］パラメータ(上記)でサービスを選択した場合のみ、このオプションは有効です。

  • Send (Since version: 4.6): オブジェクトタイプ］パラメータ(上記)でサービスを選択した場合のみ、このオプションは有効です。

新規オブジェクトキー

Addオペレーションでのみ有効です。新しいオブジェクトをSAP Business Oneに追加すると新しいオブジェクトキーが生成されます。いくつかのオブジェクトにおいては、SAP Business Oneはキーを内部的に設定します。これは新しいオブジェクトを検索、更新したいがオブジェクトキーを持っていない場合に問題になります。

をクリックしてSAP Business Oneに最後に追加されたオブジェクトキーを保持する英数字変数を選択します。

アドバンスド照会オプション

XML出力タイプ

トランザクションで使用される以下のいずれかのXML出力タイプをドロップダウンリストから選択します。

  • 0 …… AllNodes

  • 1 …… ValidNodesOnly

  • 2 …… NodesAsProperties

  • 3 …… ExportImportMode0.AllNodes

デフォルトは、ExportImportModeでフィールドの読み書きをサポートします。

この操作はQueryオペレーションでのみ有効です。他の全ての操作は、ExportImportModeのみをサポートします。さらに、［オブジェクトタイプ］パラメータ(上記)でサービスを選択すると、このオプションは無効になります。

結果を保存

e結果をどこに保存するかドロップダウンリストから選択します

  • ファイル

  • 変数

この操作はQueryオペレーションでのみ有効です。他の全ての操作は、ExportImportModeのみをサポートします。

検索ステータス

ドロップダウンリストから以下のいずれかを選択します。

  • 空XML

  • 変数

  • エラーとして

この操作はQueryオペレーションでのみ有効です。他の全ての操作は、ExportImportModeのみをサポートします。

複数オペレーションエラーでの動作

エラー動作

複数処理の途中でエラーが発生し、エラーフローにエラー処理が定義されている場合、作成されたXMLがエラーフローに渡されます。エラーが発生した場合の動作を以下のいずれかをドロップダウンリストから選択します。

  • 終了 …… 複数の処理を終了します。

  • 継続 …… 次の複数処理に進みます。

［オブジェクトタイプ］パラメータ(上記)でサービスを選択すると、このオプションは無効になります。

［XSDをリフレッシュ］をクリックすると現在のオブジェクトのスキーマを更新することができます。これはデータオブジェクトを選択した場合のみ利用できます。

ユーザテーブルのAdd/Updateの処理中、SAP B1アプリケーションによって処理されたフィールド（Object, UserSign, Series, Period, Transfered, CreateDate, CreateTime そして DataSource）は、表示のみで変更ができません。

  5. ［OK］をクリックすると処理を完了します。スキーマが存在しない場合、要求された情報がサーバから検索され、スキーマが作成されます。構成情報が保存され、選択されたスキーマを送り先として［データマッパー］ウィンドウが開きます。SAPB1の操作を完了するために必要なデータを定義する必要があります。

  6. ［キャンセル］をクリックすると設定変更は保存されずに［SAPB1構成］ダイアログボックスを閉じます。


オブジェクトスキーマの更新

SAPB1コンポーネントを使用する場合、更新されたオブジェクトスキーマを取得するプロセスは自動的に実行されます。

オフラインで作業できるようにするために、選択したオブジェクトに応じて選択されたスキーマタイプが自動的に更新されます。ただし、この自動更新は、［SAPB1構成］ダイアログボックスで以下のいずれかの操作を選択した場合は行なわれません。

  • 削除

  • 閉じる

  • キャンセル

また、更新はスキーマがprojectフォルダに存在しない場合のみ行なわれます。実際の更新は、［SAPB1構成］ダイアログボックスで［OK］をクリックし、更新されたXSDがproject\<SAPB1 XXX>\<server name>_<database name>フォルダに保存されて完了します。例： project\SAPB1 2007\localhost_SBODemo_US

SAPコンポーネントで作業中にSAP Business Oneへの接続が無効であったり、スキーマがコンポーネントのフォルダに存在していなかったりするとエラーメッセージが表示され、データマッパダイアログボックスが開きます。

手動でS［APB1構成］ダイアログボックス内の［XSDをリフレッシュ］をクリックして、現在選択しているオブジェクトやスキーマタイプを更新することができます。ただし、ボタンはスキーマが既に存在していて、かつ以下の操作のいずれかを選択していない場合のみ有効になります。

  • 削除

  • 閉じる

  • キャンセル

［XSDをリフレッシュ］をクリックすると現在のスキーマが上書きされます。メッセージダイアログボックスが表示され、［OK］をクリックすると更新と上書きが承認されます。［キャンセル］をクリックするとスキーマは更新されずに処理が終了します。

［OK］をクリックすると、Magic xpiはデータインタフェース(DI)を通してSAPB1に接続し、更新されたXSDファイルを以下のディレクトリに持ってきます：

<server name> – <database name>


データオブジェクトリスト

データオブジェクトリストは、SAP Business Oneを使用する場合だけ利用します。

ここには、接続されたSAPデータベースから直接取得されたSAP Business Oneオブジェクトのタイプのリストが含まれています。

  • リストからオブジェクトを選択する場合は、［選択］をクリックします。

  • データオブジェクトリストをリフレッシュする場合は、［リフレッシュ］をクリックしてください。

  • 選択しないでリストを閉じる場合は、［取消］をクリックします。


ユーザテーブルリスト

ユーザテーブルリストは、Magic xpiのSAPB1コンポーネントを使用する場合のみ関連します。

ここには、SAP Business Oneのユーザ定義テーブルの内容が表示され、接続されたSAPデータベースから直接データを取得しています。

  • 必要なユーザテーブルを選択して、［選択］をクリックします。

  • SAPデータベースからユーザーテーブルの更新されたリストを取り出すには、［再読込］をクリックしてください。

  • 選択しないで終了する場合は、［取消］をクリックします。


サービスオブジェクトリスト

サービスオブジェクトリストは、Magic xpiのSAPB1コネクタを使用して動作する場合のみ関連しています。

これには、Magic xpiによってサポートされているSAP Business Oneサービスのリストが含まれています。

  • 必要なサービスを選択して、［選択］をクリックします。

利用可能なサービスは以下のとおりです。

  • Message …… ユーザがメッセージの読込/送信を行うことができます。

  • ProfitCenter …… ユーザはプロファイルセンターの作成、更新、削除を行うことができます。 （Since version: 4.7.4）

  • TimeSheet …… 企業は従業員、ユーザ、またはその他の人の活動の時間を照会、追加、更新、および削除を行うことができます。 （Since version: 4.7.6）

  • TimeSheetオブジェクトは、SAPB1バージョン9.2 PL03以降のサービスとして公開されています。

  • Timesheet APIのUpdates処理は完全なTimesheetオブジェクトを上書きするため、いずれかのフィールドまたはラインアイテムの値が指定されていない場合、Update処理はTimesheetオブジェクトの値をBlank/Nullにします。これを防ぐには、ユーザは既存のTimeSheetオブジェクトを照会して完全なTimesheetオブジェクトにデータを入力する必要があります。次に、Update処理を呼び出す前に、タイムシートオブジェクトデータで必要な更新を行います。

  • TimeSheetオブジェクトは、XMLインタフェースに対してのみ実装されています。

  • 選択しないでサービスオブジェクトリストを終了する場合は、［取消］をクリックします。

Since version:

4.6


トレースオブジェクトリスト

  • リストからオブジェクトを選択して［選択］をクリックします。

  • SAPデータベースからトレースオブジェクトの更新されたリストを取り出すには、［再読込］をクリックしてください。

  • トピックを選択しないでトレースオブジェクトリストを終了するには、［取消］をクリックしてください。


SAPB1 - 使用方法

以下のトピックでSAPB1の使用方法を説明しています。

SAPB1 – 複数検索を行うには

SAPB1 – オーダの追加を行うには


SAPB1 – 複数検索を行うには

XML構成を使用し、複数のレコードを検索することができます。

  1. フローにSAPB1コネクタをドラッグします。

  2. ［プロパティ］ペインの［設定］クションで、リソースを選択してください。以前にリソースを定義しなかった場合、［プロジェクト］メニューを選択し、［設定］ダイアログボックスを開くために［設定］を選択してください。ここで、[リソース]セクションで、SAPB1リソースを定義してください。これによって次々にSAPデータベースとの接続を定義します。これをどのようにするかの詳細は、ここをクリックしてください。

  3. ［プロパティ］ペインの［汎用］セクションで、インタフェースとしてXMLを選択してください。

  4. コネクタをダブルクリックするか、右クリックしコンテキストメニューから［構成］を選択してください。［SAPB1構成］ダイアログボックスが開きます。

  5. オペレーションとしてQuery を選択します。

  6. 情報が送られてくるデータオブジェクトを選択します。例えば、ビジネスパートナーの検索を作成したい場合、BusinessPartnersをデータオブジェクトとして選択します。

  7. ［OK］をクリックし、［データマッパー］ダイアログボックスを開きます。ダイアログボックスには、IFC Modelタイプとして登録されたSAPB1が入力されます。

  8. ［データマッパー］ダイアログボックスの送り元側で、オリジナルデータを取得している場所に応じてタイプを選択します。インデックス付きのフラットファイルやデータベースから情報を取得することもできます。

  9. ［プロパティ］ペインで、データに関する情報を入力してください。例えば、フラットファイルを使用している場合、フラットファイルと区切り文字の情報を選択してください。

  10. ファイルのデータタイプを送り先と同じデータタイプにマッピングしてください。例えば、カード番号情報にマッピングしている場合、CardCodeと呼ばれる送り元ノードを持つべきです。これをSAPB1送り先のCardCodeノードにマッピングしてください。これは、どのデータがマッピングされるかを示しています。

  11. 前ステップのデータタイプがあるRecordという複合ノードを送り先側のBO複合ノードにマッピングします。これでデータマッパーに示されたCard Codeで全てのビジネスオブジェクトデータをマッピングするように指示されます。

  12. ［保存］をクリックしてマッピングを保存します。


SAPB1 – オーダの追加を行うには

このトピックでは、オーダの追加の仕方の例を提供します。このフローはSAPB1コネクタを使用し、SAP Business Oneアプリケーションに接続します。ブローはいくつもステップがあり、他のフローを呼び出すこともあります。最後のステップはSAPB1コネクタを使用し、新規オーダ処理を完了します。フローはHTTPリクエストで呼び出されます。

ステップ1 …… HTTPトリガです。このステップはHTTPリクエストを待つようにMagic xpiを設定します。リクエストのタイプはOrderXMLという引数で定義されます。どのようにHTTPトリガの設定情報については、トリガ構成を参照してください。

ステップ2 …… HTTPリクエストで送られたデータを変数へ入力するためにFlow Dataユーティリティを使用します。HTTPリクエストからの情報はXML形式で受け取られます。Flow Dataユーティリティの設定情報については、Flow Dataユーティリティ構成を参照してください。

ステップ3 …… 以下のことを行うためにデータマッパーユーティリティを使用します。

  • グローバル変数に顧客を入力します。

  • SAP Business Oneカンパニーデータベースに顧客を追加するのに使用できるXMLを作成します。

ステップ4 …… SAP Business Oneに新顧客を追加する顧客追加フローを起動するためにフロー呼出ユーティリティを使用します。もし顧客が既に存在する場合、ステップ５へスキップします。

ステップ5 …… Flow Dataユーティリティを使用し顧客を初期化します。

ステップ6 …… 前のフローが新規顧客についても既存の顧客についても終了してから始まります。このフローはデータマッパーを使用しSAPB1コンポーネントで使用するためのXMLファイルを作成します。このXMLファイルは注文アイテムについてのデータを提供します。

ステップ7 …… フロー呼出ユーティリティを使用しアイテム追加フローを起動します。このフローはSAP Business One データベースに注文されたアイテムを追加します。

ステップ8 …… SAPB1コンポーネントを使用し注文を追加します。


SAPB1 - エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。SAPB1コネクタのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

SAPB1コネクタのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも SAPB1コネクタで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード

説明

1001

接続プロセス：カンパニーデータベースに接続できません。

このエラーは、極めて希なものです。これは、既知のエラーが発生しなかったにもかかわらず、セッションが開かないことを意味します。

1003

切断プロセス：カンパニーデータベースからの切断ができません。

このエラーは、極めて希なものです。これは、切断処理に問題があることを意味します。

1005

SAPB1 エラー<エラー番号> : <エラー内容>

SAP Business Oneへの接続性は、データインターフェース・アプリケーションプログラミングインターフェース（DI API)を使用しており、2つのフェーズを含んでいます。

  1. DI APIへの接続性

  2. データと実行におけるSAP Business Oneの承認

このエラーが返された場合、第一段階が正常に終了したことを意味します。エラーはSAP Business Oneのエラーです。そして、これが発生した原因には、いくつかの可能性があります。

  • （-1)重複キー …… multi-addオプションを使用するしてこのエラーが発生した場合、障害の原因となった配列内でBOの番号が取得されます。たとえば、5BPsを追加しようとして、3番目のものがすでにある場合、2番目のBO（インデックスは0ベース)へのポインターとして1005+（B1s-1)を取得します。

  • （-8008) …… OBSCommonという名前が付けられたDBユーザに関する問題があります。この場合、そのユーザを再作成する必要があります。

  • （###) …… 為替レートが設定されていません。SAP Business Oneにドキュメント（受注書 、請求書など)を追加すると、ドキュメント日付に対する為替レートを設定しなければなりません。為替レートの更新を自動化することができる2つの新しい方法が追加されました：SetExchangeRateとGetExchangeRateです。

1006

内部エラー<エラー番号> : <エラー内容>

このエラーは、（上述した）第一段階が失敗したことを意味します。

エラーと発生原因について理解するための基本原則は、以下の通りです。

  • エラー3/13 …… 説明で挙げた方法を呼び出すときに、DIがクラッシュして、セッションがもはや開いていないことを意味します。説明の最後に、“セッションは、クローズしました”が表示されます。

  • XMLインターフェースで追加アクションを使用するとき、"GetBusinessObjectFromXMLメソッドの呼び出しに失敗しました”が表示されます。これは、XMLが間違った構成内で作成／取得されたことを意味し、その単純なノードのうちの1つに有効でない値が保持されています。詳細は、ここを参照してください。

1007

不明/非サポートデータオブジェクト: <データオブジェクト名>

このエラーは、通常、コネクタがその内部のメタデータ（SAP Business One Metadata（V2.5 SP2まで)またはSAP Business One Metadata2（V2.5 SP2以降)と呼ばれています）を探し出せなかったことを通知します。

1008

Magic xpiの SAP Business One アダプターがライセンスされていません。

Magic xpiを起動するために使用したライセンスは、有効なSAP Business Oneライセンスでありません。

1009

XMLから必須パラメータ取得に失敗 (パラメータ <パラメータ名>)

オブジェクト（このエラーは、このインターフェースだけで発生します)を更新したり、削除したりする際にXMLインターフェースを使用するとき、ユーザは合成QueryParamsの単純要素に値を入力しなければなりません。ユーザがこの要素内に値を入力しないとこのエラーが発生します。

1010

接続が見つかりません <接続名>

このエラーは、リソースを見つけ際にエラーが発生したことを示しています。

1011

照会失敗

照会処理から、エラーメッセージが返されました。

1012

Magic xpiの SAP Business One コネクタ数がライセンスで許可されているデータベース接続数を超えています。<Server_DBName> データベースにアクセスできません。

SAP Business Oneのライセンスには、データベースに接続可能な数が含まれています。Magic xpi SAP Business Oneコネクタがこの接続数を超えると、このエラーメッセージがは返されます。

1013

ストアドプロシージャー 'Magic xpi_notification' が <ServerName_DBName> データベースにありません。

"Magic xpi_notification"ストアドプロシージャーが見つからない場合、このエラーメッセージが返ります。

1014

<ServerName_DBName>データベースの'SBO_SP_TransactionNotification' ストアドプロシージャーに 'Magic xpi_notification'ストアドプロシージャー へのリファレンスがありません。

このエラーは、"ibolt_notification"ストアドプロシージャーがこのコンテキスト内に存在しないことを示しています。

オブジェクト追加のためにXMLインタフェースを使用中にエラーが発生した場合、XMLファイルが返されます。エラーフローがオブジェクトごとに起動され、もしエラーが起きると作成されていたXMLがエラーフローに渡されます。

これによりなぜ特定のエラーが起きたのかよりくわしく理解することができます。

関連トピック：

Magic xpiのエラー処理


SAP ERP と SAP A1

  • SAP ERP用コンポーネントの仕様は、SAP A1コネクタにもあてはまります。

  • このコンポーネントは、全てのプラットフォームでサポートされているわけではありません。詳細は、ここを参照してください。

SAP ERP コネクタは、SAPのRFCI（Remote Function Call）とIDoc（Intermediate Documents）を使用し、SAP ERPシステムに接続することを可能にし、Magic xpiのインテグレート能力を向上させます。これによりデータマッパーをSAP ERPから受信したデータの読み込み、SAP ERPデータの作成、編集、削除等、コンポーネント機能の不可欠な部分として、使用することができるようになります。

SAP ERP コネクタは、RFC と IDocs の XML スキーマ表現を使用して SAP ERP システムとの間で送受信されるデータを操作します。Magic xpi のデータを SAP ERP の RFC と IDoc の引数にマッピングすることができます。

SAP ERP コネクタは、SAP ERP IDoc メッセージの変更を監視するトリガーとして使用することができます。

関連トピック：

SAP ERP と SAP A1 – 設定

SAP ERP と SAP A1 – スキーマ構造

SAP ERP と SAP A1 – エラー処理

SAP ERP トラブルシューティング


SAP ERP と SAP A1 – 設定

SAP ERPコネクタをフローに配置すると、Magic xpiは自動的にそのコネクタの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

そして、コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、［SAP ERP設定］ダイアログボックスを開きます。

SAP ERPコネクタを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初にSAP ERP リソースを定義する必要があります。

SAP ERPコネクタは以下のインタフェースをサポートします。

  • XML

このコンポーネントはトリガエリアに配置し、トリガとして使用することもできます。


SAP ERP と SAP A1 - XML

SAP ERP コネクタはXMLインターフェースのみをサポートしています。以下のようにSAP ERPコネクタを設定してください。

  1. SAP ERPコネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、［SAP ERP 設定］ダイアログボックスを開きます。XML構成の一般フィールドの説明は以下のようになります。

プロパティ

説明

接続

リソース名

この読み込み専用フィールドは、SAP ERPリソースまたは［設定］ダイアログボックスの［リソース］セクションで定義された、このコネクタのために選択された動的なリソースの名前を表示します。

セッション保持

チェックボックスで、操作完了後にSAP ERPデータベースへの接続を開いたままにするかどうかを指定してください。SAP ERPへの接続が定期的に切断される場合この機能をお使いください。デフォルトは、チェックされていません。

SAP ERPのデータベースへの接続は、接続プール内で維持されます。フロー内の SAP ERPは、このプールから既存のオープンされた接続を要求します。

［接続を保持］ボックスを選択した場合、ステップが終了しても接続はプールに返されません。その代わりに、同一スレッド内での次のSAP ERPのステップで使用されるか、スレッドが終了したら（一定時間を経過後に）プールに返されます。

接続がプールに返されないい唯一のシナリオは、SAP ERPのデータベースがトランザクション内で複数回呼び出された場合です。他の全てのシナリオでは、他のステップが利用できるように、一旦ステップが終了すると、使用された接続はすぐプールに返されなければなりません。

  2. 次に以下の表で説明されている実行したいオペレーションを選択します。

プロパティ

説明

オペレーション

インタフェースタイプ

ドロップダウンリストから以下のどれかを選択します。

  • IDoc

  • RFC

  3. ［インタフェースタイプ］としてIDocを選択した場合、以下の表で説明されているように定義しなければなりません。

プロパティ

説明

メッセージタイプ

サーバから受け取ったリストの中から適切なメッセージ タイプを選択することができます。

をクリックすることにより［IDoc メッセージタイプリスト］ダイアログボックスが開き、メッセージタイプリストにアクセスすることができます。［選択］をクリックし、必要なIDoc メッセージタイプを選択するか、［キャンセル］をクリックしてリストを閉じます。また、［再読込］をクリックしメッセージタイプリストを再読み込みすることもできます。

IDocタイプ

IDoc 検索フォームによりサーバから取得されたリストから適切なIDocタイプ名を選択することができます。このリストはメッセージタイプによりフィルタリングされています。

をクリックすることにより［IDocタイプリスト］ダイアログボックスが開き、IDocタイプリストにアクセスすることができます。［選択］をクリックし、必要なIDoc& nbsp;タイプを選択するか、［キャンセル］をクリックしてリストを閉じます。また、［再読込］をクリックしメッセージタイプリストを再読み込みすることもできます。

拡張子

拡張子名を入力したり、 [image] をクリックして利用可能な拡張子リストから選択できます。

トランザクション ID

タイムアウトなどによる配送失敗時に トランザクショIDを利用できるように管理できます。

をクリックしてトランザクショIDを保持する変数を選択します。このボタンは、変数リストを開きます。［選択］をクリックし必要な文字変数を選択します。

  • IDocの送信時に、変数がトランザクションのトランザクションIDを持っています。

  • 変数が空でない場合、Magic xpiはトランザクションIDとして値を使用します。

このオプションの使用はトランザクションIDの管理のためです。例えば、IDocが送信されますがMagic xpiがタイムアウトを受け取ると、Magic xpiは、IDocがその送り先に到着したかどうかが分かりません。同じIDocの冗長な処理を防止するために、Magic xpiは、前のトランザクションIDの値を提供することによって、前と同じトランザクションIDによってIDocを送ります。

SAP ERP側で、最初に送信された時にIDocが到着したら、Magic xpiが次回と同じトランザクションIDでIDocを送信してもSAP ERPはそれを無視します。

結果

結果保存

結果XMLファイルを格納する場所を定義します。ドロップダウンリストから以下のいずれかを選択します。

  • File …… SAP ERPによって返されるオブジェクトデータを保持するファイルを選択します。 をクリックして式エディタを開くか、 [image] をクリックして情報を保存する場所のフルパスを入力します。.

  • Variable (デフォルトは C.UserBlobです) …… SAP ERPによって返されるオブジェクトデータを保持する変数を選択します。 をクリックして変数リスト を開きます。情報を保持する変数を選択します。

  • ［メッセージタイプ］を選択すると、そのグループに属しているIDocのみ有効になります。

  • ［OK］をクリックし特定のIDocを選択すると、Magic xpiはSAP ERPサーバに接続し、適切なスキーマを生成するために使用するIDoc情報を取得します。

  • データマッパーによって使用される生成されたインターフェーススキーマは、 project\SAP ERP\XSD\HostDetails\IDocディレクトリに保存されます。この中のHostDetailsは接続プロパティから生成された文字列です。ファイル名はIDocタイプと同じです。

  4. ［インタフェースタイプ］としてRFCを選択した場合、以下のテーブルで説明されているように定義しなければなりません。

プロパティ

説明

RFC グループ

RFCグループを入力するかサーバから受信したリストから適切 なRFCグループを選択します。RFCグループのリストへは [image] をクリックすることによりアクセスできます。

RFCグループを空白にしておくこともできます。この状態でRFC名を選択すると関連するグループが自動的に入力されます。

RFC 名

RFC名を入力するか、あるいはサーバからRFC検索フォームで取得したリストから適切なRFC名を選択することができます。このリストは、RFCグループでフィルタリングされています。 をクリックすることによりRFCグループリストにアクセスできます。

結果

結果を保存

結果XMLファイルを格納する場所を定義します。ドロップダウンリストから以下のいずれかを選択します。

  • File…… SAP ERPによって返されるオブジェクトデータを保持するファイルを選択します。 をクリックして式エディタを開くか、 [image] をクリックして情報を保存する場所のフルパスを入力します。.

  • Variable (デフォルトは C.UserBlob) …… SAP ERPによって返されるオブジェクトデータを保持する変数を選択します。 をクリックして変数リストを開きます。情報を保持する変数を選択します。

  • RFCグループを選択すると、RFCに属しているもののみ有効になります。

  • 特定のRFCを選択して［OK］をクリックすると、Magic xpiはSAP ERPサーバに接続し、適切なスキーマを生成に使用するRFC情報情報を取得します。

  • データマッパ によって使用される生成されたインター フェーススキーマは、SAP ERP\XSD\HostDetails\IDoc ディ レクトリに保存されます。この中のHostDetails は接続プロパティから生成された文字列です。ファイル名はRFC名と同じです。

  • ［プロパティ］ペインの［追加XMLプロパティ］セクションでSAP ERP RFCの単一／で複合ノードに対するドキュメンテーションを見ることができます。

  5. ［OK］をクリックし、プロセスを終了します。もしスキーマが存在しない場合、必要情報がサーバから取得され、スキーマが作成されます。構成情報は保存され、選択されたスキーマを送り先としたデータマッパー画面が開きます。SAP ERPで必要な操作を完了するためのデータを定義してください。

また、［キャンセル］をクリックすることで、設定や修正を保存せずに［SAP ERP構成］ダイアログボックスを閉じることもできます。

また以下のこ とも可能です。

  • ［XSDのリフレッシュ］をクリックして、現存のスキーマを閉じ新しいものを作成することができます。

サーバ接続に失敗するとエラーメッセージが表示され、［SAP ERP構成］ダイアログボックスに留まります。


SAP ERP と SAP A1 - トリガ設定

SAP ERPコネクタを使用してフローを起動することができます。このように使用すると、SAP ERPコネクタは、SAP ERPサーバからのIDocタイプメッセージを待つようになります。IDocメッセージが到着すると、Magic xpiはIDoc情報を含んだXMLファイルを作成し、フローを起動します。

トリガ定義処理は、SAP ERPコネクタにモニタさせたいIDocの選択を含みます。受け取ったIDocを処理するには、IDocに適切なスキーマを選択するためにマッパを使用してください。ひとつのトリガ定義で複数のIDocタイプを扱うことができます。

IDocsを受け取るには、SAP Javaコネクタは、SAPゲートウェイインスタンスとそのTCPポートとの間へのマッピングが必要です。マッピングは、OSのサービスファイルで定義されます。OSに依存して、サービスファイルは以下のフォルダにあります。

  • Windows: C:\WINDOWS\system32\drivers\etc\services

SAP GUIがすでにインストールされているPC上では、完全なSAPサービスリストがSAP GUIインストーラによって更新されます。他のPC上では、必要なマッピングをサービスファイルに手動で追加することによって更新する必要があります。完全なSAPサービスリストは、ここで見つけることができます。

SAP ERP トリガーのデフォルトエンコーディングはUTF-8です。

［SAP ERP トリガ設定］ダイアログボックスには、以下のフィールドがあります。

プロパティ

説明

サービス定義

メッセージタイプ

メッセージタイプを入力するか、 [image] をクリックし、SAP ERPサーバからメッセージタイプリストを取得します。そして、リストから必要なメッセージタイプを選択します。

SAP ERPトリガでは、SAPサーバで正常に接続を確立するために、[送信パラメータ]セクションの[パートナプロファイル]にSYNCHメッセージタイプを追加する必要があります。

IDocタイプ

IDocタイプ名を入力するか、 [image] をクリックしSAP ERPサーバからIDocタイプリストを取得します。そしてリストから必要なIDocタイプを選択します。

拡張子

IDocに拡張子が含まれている場合、 [image] をクリックしてIDoc拡張子リストにアクセスすることができます。サーバから受信された拡張子のリストから必用な拡張子を選択できます。

ALE更新状況

Yes/Noを選択し、フローの最後にSAP ERP サーバで処理されたIDocのステータスを更新するか否かを定義します。

プロジェクトの実行中にエラーシナリオが発生した場合、ALE（確認）ステータスはSAPシステムに送信されません。

結果定義

トリガIDCを保存

をクリックして変数リストを開きます。トリガによって作成されたIDocを保持する変数を選択します。

トリガ情報の保存先

ドロップダウンリストから以下のいずれかを選択し、トリガにより作成された情報の格納フォーマットを定義します。

  • 文字列(デフォルト) …… デフォルトの戻りタイプは、UserStringです。

データは以下の構造で受け取られます。

<Transaction ID> - <message type> - <Idoc type> - <extension>

  • XML …… デフォルトの戻りタイプは、UserXMLです。

をクリックして変数リストを開きます。トリガにより作成された情報を格納する変数を選択します。

［OK］をクリックしてトリガ定義を保存します。スキーマが存在しない場合、Magic xpiはSAP ERPサーバから関連情報を取得し適切なスキーマを作成します。

［キャンセル］をクリックすると変更は保存されずに終了します。

また、以下の操作も可能です。

  • ［新規］をクリックするとテーブルに新規の行を追加します。

  • ［削除］をクリックすると選択した行をテーブルから削除します

  • ［XSDをリフレッシュ］をクリックすると全ての選択されたIDocタイプのIDocスキーマを取得します。

SAP ERPコンポーネントをトリガとして使用するには：

  1. ［設定］ダイアログボックスの［リソース］セクションでSAP ERPリソースを定義してください。これは、SAPデータベースとの必要な接続を作成することを可能にします。これをどのようにするかについての詳細は、ここをクリックしてください。これを行うまで、次のステップを続行することができません。

  2. ［設定］ダイアログボックスの［サービス］セクションでSAP ERPサービスを定義してください。これをどのようにするかについての詳細は、ここをクリックしてください。これを行うまで、次のステップを続行することができません。

  3. SAP ERPコネクタをMagic xpiのトリガエリアにドラッグします。これを行なうとコネクタの［プロパティ］ペインが開きます。

  4. ［設定］セクションで、ドロップダウンリストから必要なサービス名を選択してください。

  5. コネクタをダブルクリックするか、右クリックしコンテキストメニューから［設定］を選択してください。［SAP ERPトリガ設定］ダイアログボックスが開きます。関連情報を入力してください。

  6. パラメータに適切な情報を入力し終わったら［OK］をクリックして情報を保存し、［SAP ERPトリガ設定］ダイアログボックスを閉じます。［取消］をクリックすると保存せずに閉じます。


完全なSAPサービスリスト

サービス マッピング

sapdp00 3200/tcp

sapdp01 3201/tcp

sapdp02 3202/tcp

sapdp03 3203/tcp

sapdp04 3204/tcp

sapdp05 3205/tcp

sapdp06 3206/tcp

sapdp07 3207/tcp

sapdp08 3208/tcp

sapdp09 3209/tcp

sapdp10 3210/tcp

sapdp11 3211/tcp

sapdp12 3212/tcp

sapdp13 3213/tcp

sapdp14 3214/tcp

sapdp15 3215/tcp

sapdp16 3216/tcp

sapdp17 3217/tcp

sapdp18 3218/tcp

sapdp19 3219/tcp

sapdp20 3220/tcp

sapdp21 3221/tcp

sapdp22 3222/tcp

sapdp23 3223/tcp

sapdp24 3224/tcp

sapdp25 3225/tcp

sapdp26 3226/tcp

sapdp27 3227/tcp

sapdp28 3228/tcp

sapdp29 3229/tcp

sapdp30 3230/tcp

sapdp31 3231/tcp

sapdp32 3232/tcp

sapdp33 3233/tcp

sapdp34 3234/tcp

sapdp35 3235/tcp

sapdp36 3236/tcp

sapdp37 3237/tcp

sapdp38 3238/tcp

sapdp39 3239/tcp

sapdp40 3240/tcp

sapdp41 3241/tcp

sapdp42 3242/tcp

sapdp43 3243/tcp

sapdp44 3244/tcp

sapdp45 3245/tcp

sapdp46 3246/tcp

sapdp47 3247/tcp

sapdp48 3248/tcp

sapdp49 3249/tcp

sapdp50 3250/tcp

sapdp51 3251/tcp

sapdp52 3252/tcp

sapdp53 3253/tcp

sapdp54 3254/tcp

sapdp55 3255/tcp

sapdp56 3256/tcp

sapdp57 3257/tcp

sapdp58 3258/tcp

sapdp59 3259/tcp

sapdp60 3260/tcp

sapdp61 3261/tcp

sapdp62 3262/tcp

sapdp63 3263/tcp

sapdp64 3264/tcp

sapdp65 3265/tcp

sapdp66 3266/tcp

sapdp67 3267/tcp

sapdp68 3268/tcp

sapdp69 3269/tcp

sapdp70 3270/tcp

sapdp71 3271/tcp

sapdp72 3272/tcp

sapdp73 3273/tcp

sapdp74 3274/tcp

sapdp75 3275/tcp

sapdp76 3276/tcp

sapdp77 3277/tcp

sapdp78 3278/tcp

sapdp79 3279/tcp

sapdp80 3280/tcp

sapdp81 3281/tcp

sapdp82 3282/tcp

sapdp83 3283/tcp

sapdp84 3284/tcp

sapdp85 3285/tcp

sapdp86 3286/tcp

sapdp87 3287/tcp

sapdp88 3288/tcp

sapdp89 3289/tcp

sapdp90 3290/tcp

sapdp91 3291/tcp

sapdp92 3292/tcp

sapdp93 3293/tcp

sapdp94 3294/tcp

sapdp95 3295/tcp

sapdp96 3296/tcp

sapdp97 3297/tcp

sapdp98 3298/tcp

sapdp99 3299/tcp

sapgw00 3300/tcp

sapgw01 3301/tcp

sapgw02 3302/tcp

sapgw03 3303/tcp

sapgw04 3304/tcp

sapgw05 3305/tcp

sapgw06 3306/tcp

sapgw07 3307/tcp

sapgw08 3308/tcp

sapgw09 3309/tcp

sapgw10 3310/tcp

sapgw11 3311/tcp

sapgw12 3312/tcp

sapgw13 3313/tcp

sapgw14 3314/tcp

sapgw15 3315/tcp

sapgw16 3316/tcp

sapgw17 3317/tcp

sapgw18 3318/tcp

sapgw19 3319/tcp

sapgw20 3320/tcp

sapgw21 3321/tcp

sapgw22 3322/tcp

sapgw23 3323/tcp

sapgw24 3324/tcp

sapgw25 3325/tcp

sapgw26 3326/tcp

sapgw27 3327/tcp

sapgw28 3328/tcp

sapgw29 3329/tcp

sapgw30 3330/tcp

sapgw31 3331/tcp

sapgw32 3332/tcp

sapgw33 3333/tcp

sapgw34 3334/tcp

sapgw35 3335/tcp

sapgw36 3336/tcp

sapgw37 3337/tcp

sapgw38 3338/tcp

sapgw39 3339/tcp

sapgw40 3340/tcp

sapgw41 3341/tcp

sapgw42 3342/tcp

sapgw43 3343/tcp

sapgw44 3344/tcp

sapgw45 3345/tcp

sapgw46 3346/tcp

sapgw47 3347/tcp

sapgw48 3348/tcp

sapgw49 3349/tcp

sapgw50 3350/tcp

sapgw51 3351/tcp

sapgw52 3352/tcp

sapgw53 3353/tcp

sapgw54 3354/tcp

sapgw55 3355/tcp

sapgw56 3356/tcp

sapgw57 3357/tcp

sapgw58 3358/tcp

sapgw59 3359/tcp

sapgw60 3360/tcp

sapgw61 3361/tcp

sapgw62 3362/tcp

sapgw63 3363/tcp

sapgw64 3364/tcp

sapgw65 3365/tcp

sapgw66 3366/tcp

sapgw67 3367/tcp

sapgw68 3368/tcp

sapgw69 3369/tcp

sapgw70 3370/tcp

sapgw71 3371/tcp

sapgw72 3372/tcp

sapgw73 3373/tcp

sapgw74 3374/tcp

sapgw75 3375/tcp

sapgw76 3376/tcp

sapgw77 3377/tcp

sapgw78 3378/tcp

sapgw79 3379/tcp

sapgw80 3380/tcp

sapgw81 3381/tcp

sapgw82 3382/tcp

sapgw83 3383/tcp

sapgw84 3384/tcp

sapgw85 3385/tcp

sapgw86 3386/tcp

sapgw87 3387/tcp

sapgw88 3388/tcp

sapgw89 3389/tcp

sapgw90 3390/tcp

sapgw91 3391/tcp

sapgw92 3392/tcp

sapgw93 3393/tcp

sapgw94 3394/tcp

sapgw95 3395/tcp

sapgw96 3396/tcp

sapgw97 3397/tcp

sapgw98 3398/tcp

sapgw99 3399/tcp


SAP ERP と SAP A1 - スキーマ構造

RFCスキーマ構造には以下の要素が含まれています。

  • Import …… SAP ERPサーバへの片方向接続が確立した後、Importパラメータが送られます。この呼び出しが行われる前に、必要なImportパラメータとTableパラメータがオブジェクトに追加されているかを確認してください。また、これらのパラメータを使用して送られる値が設定されているか確認してください。Importパラメータは、常に最大でもひとつのレコードしか含みません。

  • Export …… SAP ERPサーバへの片方向接続が確立した後、Exportパラメータを受け取ります。パラメータの受信は、呼び出しが行われた場合のみ行われます。この呼び出しが行われる前に、必要なExportパラメータとTableパラメータがオブジェクトに追加されているか確認してください。これらのパラメータで受け取る値は、エクスポート処理が発生した後に取得されます。Exportパラメータは、常に最大でもひとつのレコードしか含みません。

  • Tables …… TableパラメータはSAP ERPへ送受信両方されます。テーブルの構造は選択したRFCタイプに依存します。TableはReadパラメータとWriteパラメータの両方です。つまり、SAP ERPはパラメータタイプを読み、その後、最終的な形式で返します。テーブルは複数のレコードを含めることができます。ds.

IDocスキーマ構造には以下の要素が含まれています。

  • Control Record …… Control Recordは、IDocのユニークな識別情報を格納します。これには送信者と受信者を特定したり、メッセージタイプの詳細やその他、関連するテクニカル情報が含まれます。

  • Segments …… Segmentsは、特定のIDocの識別を可能にするデータレコードです。これには定義された階層構造の構造化された情報が含まれます。セグメントグループは通常、階層上部のヘッダーセグメントと階層低部に配置される詳細情報を含むセグメントによって構成されています。


SAP ERP と SAP A1 - エラー処理

Magic xpi Server は、ステップの実行中にエラーがないかどうかをチェックします。SAP ERP または SAP A1 コネクタのステップにエラーがある場合、エラーハンドラが呼び出され、エラーを処理します。

SAP A1 コネクタのエラーコードを以下に示します。

エラーコード | 説明
1102 | 接続プロセスエラー： <エラーの説明>
1103 | SAP A1 コネクタエラー： <エラーの説明>

SAP ERPコネクタのエラーコードは以下の通りです。

エラーコード | 説明
8888 | .Netの例外
9999 | Javaの例外
1102 | 接続プロセスエラー
1103 | SAP ERPコネクタのエラー戻り値
1601 | ステップ呼び出しエラー
1602 | ACM: 利用可能なACが見つかりませんでした。
1603 | AC: ステップが正しく設定されていない
1604 | 入出力エラー
1605 | 通信：データ転送エラー
1606 | .NETランチャー: .NETコネクタの呼び出しに失敗しました。
1607 | .NETランチャー：複数の IStep.NET.assembly が見つかりました。
1608 | .NETランチャー：IStep.NET.assemblyが見つかりませんでした。
1609 | 通信：メッセージ処理エラー
1610 | RemoteStepInvoker： 呼び出しのタイムアウトエラー
1611 | .NETランチャー:Jave.NET interopの失敗
1612 | AC：不明なコネクタ名
1613 | AC：サポートされていないランタイム技術
1614 | AC：コネクタのメタデータファイルが見つかりません。
1615 | AC: metadata.xmlファイルのデータに誤りがありました。

Magic xpiの一般コンポーネントエラー を SAP ERP または SAP A1コネクタで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

関連トピック：

Magic xpiのエラー処理


SAP ERP

SAP ERPコネクタは、SAPのリモートファンクションコール(RFC)と中間ドキュメント(IDoc)のメカニズムを使用してSAPシステムに接続できるようにすることで、Magic xpiの統合機能を強化します。これにより、SAP ERPから受信したデータを読み込んだり、SAP ERP内でデータを作成、更新、削除したりするために、データマッパーをコンポーネント機能の不可欠な部分として使用することができます。このコネクタは、Local Agent の実装と互換性があります。

  • このコンポーネントはすべてのプラットフォームでサポートされているわけではありません。詳細はこちらを参照してください。

  • Magic xpi 4.12 以降、SAP R/3 と SAP SDK のコンポーネントは SAP ERP として名前が変更されました。プロジェクトをMagic xpi 4.12に移行した後、プロジェクトと一緒に移行されたSAP ERPのリソースとサービスを再作成する必要があります。また、詳細については、移行ログを確認してください。また、新規で作成するSAP ERPのリソース名は、既存のSAP R / 3リソースと同じ名前で作成することもできます。

SAP ERP コネクタは、Read、RFC 、 IDocs の XML スキーマ表現を使用して SAP ERP システムとの間で送受信されるデータを操作します。Magic xpi のデータを SAP ERP の Read、RFC 、 IDoc の引数にマッピングすることができます。

関連トピック

SAP ERP - 設定

SAP ERPのトラブルシューティング


SAP ERP - 設定

SAP ERP コネクタをフローにドラッグすると、Magic xpi は自動的にコネクタのプロパティペインを開きます。プロパティ ペインには、一般的な設定情報を入力することができます。コネクタをダブルクリックまたは右クリックし、コンテキストメニューから Configuration を選択すると、SAP ERP 構成 ダイアログボックスが開きます。

SAP ERPコネクタを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初にSAP ERP リソースを定義する必要があります。section.

SAP ERP コネクタは、以下のインターフェイスをサポートしています。

  • XML


SAP ERP - XML

SAP ERP コネクタは、XML インタフェースのみをサポートしています。SAP ERP コネクタを設定するには、以下の手順に従います。

SAP ERP コネクタをダブルクリックまたは右クリックし、コンテキストメニューから Configuration を選択して SAP ERP Configuration ダイアログボックスを開きます。次の表に、XML 設定の一般的なフィールドを示します。

プロパティ

説明

接続

リソース名

この読み込み専用フィールドは、SAP ERPリソースまたは［設定］ダイアログボックスの［リソース］セクションで定義された、このコネクタのために選択された動的なリソースの名前を表示します。

セッション保持

チェックボックスで、操作完了後にSAP ERPデータベースへの接続を開いたままにするかどうかを指定してください。SAP ERPへの接続が定期的に切断される場合この機能をお使いください。デフォルトは、チェックされていません。

SAP ERPのデータベースへの接続は、接続プール内で維持されます。フロー内の SAP ERPは、このプールから既存のオープンされた接続を要求します。

［接続を保持］ボックスを選択した場合、ステップが終了しても接続はプールに返されません。その代わりに、同一スレッド内での次のSAP ERPのステップで使用されるか、スレッドが終了したら（一定時間を経過後に）プールに返されます。

接続がプールに返されないい唯一のシナリオは、SAP ERPのデータベースがトランザクション内で複数回呼び出された場合です。他の全てのシナリオでは、他のステップが利用できるように、一旦ステップが終了すると、使用された接続はすぐプールに返されなければなりません。

次に以下の表で説明されている実行したいオペレーションを選択します。

プロパティ

説明

オペレーション

インタフェースタイプ

ドロップダウンリストから以下のどれかを選択します。

  • IDoc

  • RFC

  • Read

  1. ［インタフェースタイプ］としてIDocを選択した場合、以下の表で説明されているように定義しなければなりません。

プロパティ

説明

メッセージタイプ

サーバから受け取ったリストの中から適切なメッセージ タイプを選択することができます。

をクリックすることにより［IDoc メッセージタイプリスト］ダイアログボックスが開き、メッセージタイプリストにアクセスすることができます。［選択］をクリックし、必要なIDoc メッセージタイプを選択するか、［キャンセル］をクリックしてリストを閉じます。また、［再読込］をクリックしメッセージタイプリストを再読み込みすることもできます。

IDocタイプ

IDoc 検索フォームによりサーバから取得されたリストから適切なIDocタイプ名を選択することができます。このリストはメッセージタイプによりフィルタリングされています。

をクリックすることにより［IDocタイプリスト］ダイアログボックスが開き、IDocタイプリストにアクセスすることができます。［選択］をクリックし、必要なIDoc& nbsp;タイプを選択するか、［キャンセル］をクリックしてリストを閉じます。また、［再読込］をクリックしメッセージタイプリストを再読み込みすることもできます。

拡張子

拡張子名を入力したり、 [image] をクリックして利用可能な拡張子リストから選択できます。

トランザクション ID

タイムアウトなどによる配送失敗時に トランザクショIDを利用できるように管理できます。

をクリックしてトランザクショIDを保持する変数を選択します。このボタンは、変数リストを開きます。［選択］をクリックし必要な文字変数を選択します。

  • IDocの送信時に、変数がトランザクションのトランザクションIDを持っています。

  • 変数が空でない場合、Magic xpiはトランザクションIDとして値を使用します。

このオプションの使用はトランザクションIDの管理のためです。例えば、IDocが送信されますがMagic xpiがタイムアウトを受け取ると、Magic xpiは、IDocがその送り先に到着したかどうかが分かりません。同じIDocの冗長な処理を防止するために、Magic xpiは、前のトランザクションIDの値を提供することによって、前と同じトランザクションIDによってIDocを送ります。

SAP ERP側で、最初に送信された時にIDocが到着したら、Magic xpiが次回と同じトランザクションIDでIDocを送信してもSAP ERPはそれを無視します。

結果

結果保存

結果XMLファイルを格納する場所を定義します。ドロップダウンリストから以下のいずれかを選択します。

  • File …… SAP ERPによって返されるオブジェクトデータを保持するファイルを選択します。 をクリックして式エディタを開くか、 [image] をクリックして情報を保存する場所のフルパスを入力します。.

  • Variable (デフォルトは C.UserBlobです) …… SAP ERPによって返されるオブジェクトデータを保持する変数を選択します。 をクリックして変数リスト を開きます。情報を保持する変数を選択します。

  • ［メッセージタイプ］を選択すると、そのグループに属しているIDocのみ有効になります。

  • ［OK］をクリックし特定のIDocを選択すると、Magic xpiはSAP ERPサーバに接続し、適切なスキーマを生成するために使用するIDoc情報を取得します。

  • データマッパーによって使用される生成されたインターフェーススキーマは、 SAP ERP\XSD\HostDetails\IDocディレクトリに保存されます。この中のHostDetailsは接続プロパティから生成された文字列です。ファイル名はIDocタイプと同じです。

  2. ［インタフェースタイプ］としてRFCを選択した場合、以下のテーブルで説明されているように定義しなければなりません。

プロパティ

説明

RFC グループ

RFCグループを入力するかサーバから受信したリストから適切 なRFCグループを選択します。RFCグループのリストへは [image] をクリックすることによりアクセスできます。

RFCグループを空白にしておくこともできます。この状態でRFC名を選択すると関連するグループが自動的に入力されます。

RFC 名

RFC名を入力するか、あるいはサーバからRFC検索フォームで取得したリストから適切なRFC名を選択することができます。このリストは、RFCグループでフィルタリングされています。 をクリックすることによりRFCグループリストにアクセスできます。

結果

結果を保存

結果XMLファイルを格納する場所を定義します。ドロップダウンリストから以下のいずれかを選択します。

  • File…… SAP ERPによって返されるオブジェクトデータを保持するファイルを選択します。 をクリックして式エディタを開くか、 [image] をクリックして情報を保存する場所のフルパスを入力します。.

  • Variable (デフォルトは C.UserBlob) …… SAP ERPによって返されるオブジェクトデータを保持する変数を選択します。 をクリックして変数リストを開きます。情報を保持する変数を選択します。

  • RFCグループを選択すると、RFCに属しているもののみ有効になります。

  • 特定のRFCを選択して［OK］をクリックすると、Magic xpiはSAP ERPサーバに接続し、適切なスキーマを生成に使用するRFC情報情報を取得します。

  • データマッパ によって使用される生成されたインター フェーススキーマは、SAP ERP\XSD\HostDetails\IDoc ディ レクトリに保存されます。この中のHostDetails は接続プロパティから生成された文字列です。ファイル名はRFC名と同じです。

  • ［プロパティ］ペインの［追加XMLプロパティ］セクションでSAP ERP RFCの単一／で複合ノードに対するドキュメンテーションを見ることができます。

  3. 前の手順でインターフェイスタイプとして Read を選択した場合は、次の表で説明するように定義する必要があります。: (Since version: 4.13.2)

プロパティ

説明

オペレーション

ドロップダウンリストからオペレーションを選択します。

  • Query (デフォルト)

REMOTE_EXECUTE_QUERY関数を使用して、SAPサーバーからデータをフェッチします。

  • Table

標準SAP汎用モジュールRFC_READ_TABLEを使用してSAPサーバーからデータをフェッチします。

SAP ERP アダプタを含む Magic xpi プロジェクトがアップグレードされた場合、テーブルのフィルター基準は、定義されたフィルターに従って結果をフェッチしない場合があります。 アップグレードまたはマイグレーションされたプロジェクトの場合、SAP ERP ステップを開き、OKボタンをクリックして再度保存します。 プロジェクトが保存されたら、「ソリューションのクリーン」を実行してから、プロジェクトをリビルドします。

Read Table オペレーションがSAP ERPサーバから大量のデータセットをフェッチした場合、特にそれがLocal Agent設定の場合、Magic xpi サーバは、大量のデータを扱うのにJavaのヒープサイズを大きく取る必要があります。そうでないとError 9999 : Java Exception が発生する可能性があります。

大量のデータを取り扱うには、Javaのヒープサイズを適切な値にする必要があります。ヒープサイズを増やす方法については、JVMメモリパラメータを調整するには を参照してください。

オブジェクト名

上で選択した操作に基づいて、 [image] （省略記号ボタン）をクリックしてクエリリストまたはテーブルリストを開きます。

クエリリストには、サーバーで使用可能なすべてのクエリと、それらが属するユーザーグループが表示されます。テーブルリストには、サーバーで使用可能なテーブルのリストが表示されます。

リストからエントリを選択します。 クエリまたはテーブルの更新されたリストを取得するには、ウィンドウの[リロード]ボタンをクリックします。

オペレーションパラメータ

上で選択した操作に基づいて、 [image] （省略記号ボタン）をクリックしてウィンドウを開き、選択したクエリのフィルタ基準または選択したテーブルのフィルタを定義します。

アクションサマリ

[アクションサマリ] には、選択したクエリまたはテーブル (上記) のデータの概要が簡単に示されます。

サマリは、パラメーターのリストとそれぞれのメタデータを示す複数の行で表示されます。

Since version: 4.13.5

結果

結果を保存

結果のXMLファイルを保存する場所を定義します。 ドロップダウンリストから次のいずれかを選択します。

  • File…… SAP ERPによって返されるオブジェクトデータを保持するファイルを選択します。 をクリックして式エディタを開くか、 [image] をクリックして情報を保存する場所のフルパスを入力します。.

  • Variable …… SAP ERPによって返されるオブジェクトデータを保持する変数を選択します。 をクリックして変数リストを開きます。情報を保持する変数を選択します。デフォルはC.UserBlobです。

SAP ERPリソースのローカルエージェントパラメータがTrueに設定されている場合、結果のXMLは変数に格納されます。 この場合、ファイルダイアログは無効になります。

  • RFCグループを選択すると、RFCに属しているもののみ有効になります。

  • 特定のRFCを選択して［OK］をクリックすると、Magic xpiはSAP ERPサーバに接続し、適切なスキーマを生成に使用するRFC情報情報を取得します。

  • データマッパ によって使用される生成されたインター フェーススキーマは、SAP ERP\XSD\HostDetails\IDoc ディ レクトリに保存されます。この中のHostDetails は接続プロパティから生成された文字列です。ファイル名はRFC名と同じです。

  • ［プロパティ］ペインの［追加XMLプロパティ］セクションでSAP ERP RFCの単一／で複合ノードに対するドキュメンテーションを見ることができます。

［OK］をクリックし、プロセスを終了します。もしスキーマが存在しない場合、必要情報がサーバから取得され、スキーマが作成されます。構成情報は保存され、選択されたスキーマを送り先としたデータマッパー画面が開きます。SAP ERPで必要な操作を完了するためのデータを定義してください。

また、［キャンセル］をクリックすることで、設定や修正を保存せずに［SAP ERP構成］ダイアログボックスを閉じることもできます。

また以下のこ とも可能です。

  • ［XSDのリフレッシュ］をクリックして、現存のスキーマを閉じ新しいものを作成することができます。

サーバ接続に失敗するとエラーメッセージが表示され、［SAP ERP構成］ダイアログボックスに留まります。


フィルタ基準

クエリ操作では、REMOTE_EXECUTE_QUERY関数を使用して、SAPサーバーからデータをフェッチします。ここで、ユーザーはパラメーターとしてクエリに渡される値を設定できます。

パラメータのテーブルには、次の項目があります。 テーブルの行は、指定されたオブジェクト名に対してサーバーから取得された列のリストに従って入力されます。

プロパティ | 説明
パラメータ | これはカラムの名前です。カラム名は、オブジェクト名で指定されたテーブルのサーバーから取得されます。 オブジェクト名で指定されたテーブルのサーバーから取得されます。フィルタはこのカラムに対して定義できます。
テクニカル名 | パラメータのテクニカル名
フィルタ | フィルタ文字列を入力します。 フィルタに入力する値は、二重引用符で囲む必要があります。 フィルター文字列は、以下の構文に従ってください。この構文は、SAP API に従います。 <Operator><Space><Value> 例： EQ "100" EQ "DATA" この構文は、Magic xpi Studiでは検証されないことに注意してください。

カスタムフィルタ

各フィールドでフィルターを個別に定義する代わりに、ユーザーはカスタムフィルターの欄で単一のフィルターを定義できます。

カスタムフィルターは、以下の構文に従う必要があります。 この構文はSAPAPIに準拠しています。

<Technical Name of Field><Space><Operator><Space><Value>

ここでは複数のフィールドを指定することもできます。 値は二重引用符で囲む必要があります。

例: SP$00001 BT "19960101" AND "20040101" AND SP$00002 LT "1000" AND SP$00003 GE "003" AND SP$00007 LE "001"

  • カスタムフィルターが追加された場合、個別に定義されたフィルターは適用されません。

  • フィルターが同じフィールドの2つの値に適用される場合は、BT（Between）演算子を使用する必要があります。 例えば、

フィルタ文字列: BT "19900101" AND "20210404"

カスタムフィルタ: SP$00002 BT "19900101" AND "20210404"

  • GTおよびLT演算子は、クエリ操作ではサポートされていません。

  • カスタムフィルター文字列が72文字を超える場合、レコードはSAPサーバーからフェッチされません。

  • 上記の構文で指定されているように、フィルター文字列とカスタムフィルターのテクニカル名、演算子、値の間にスペースを入れる必要があります。

  • 項目リストを取得する場合、項目の集計タイプはフェッチされないため、項目リストに表示されません。

  • LIKE演算子は、クエリ操作ではサポートされていません。

  • 特殊文字を含むフィールド名は、Magicxpiではサポートされていません。

フィルタ設定の例

カスタムフィルタの例

SAP ERPでサポートされているクエリ演算子のリストについては、 SAP ERPでサポートするクエリ演算子を参照してください。

Since version: 4.13.2


テーブルクエリのフィルタ設定

テーブルに対するオペレーションは、SAPの標準ファンクションであるRFC_READ_TABLEを使用しており、SAPサーバからデータを取得します。このファンクションに渡す値をパラメータとして設定できます。

下記の設定を行うことができます。

  • 区切り文字: 項目を区切る文字を設定します。

  • 最大行数: サーバから取得するレコードの最大値を設定します。何も設定しない場合、全レコードを取得します。

  • スキップ行数: サーバーからレコードを取得するときにスキップするレコードの数。値を10と入力した場合は最初の10レコードをスキップします。.

パラメータのテーブルには、次の項目があります。 各行の横にあるチェックボックスをクリックして、テーブルから1つ以上のフィールドを選択します。 1行の最大許容全長は512です。

プロパティ | 説明
項目名 | これはカラムの名前です。カラム名は、オブジェクト名で指定されたテーブルのサーバーから取得されます。オブジェクト名で指定されたテーブルのサーバーから取得されます。フィルタはこのカラムに対して定義できます。
テクニカル名 | パラメータのテクニカル名
長さ | 項目の長さ。この項目はリードオンリーです。
フィルタ | フィルタ文字列を入力します。 フィルタに入力する値は、二重引用符で囲む必要があります。 フィルター文字列は、以下の構文に従ってください。この構文は、SAP API に従います。 <Operator><Space><Value> 例： EQ "100" EQ "DATA" この構文は、Magic xpi StudioとRuntimeでは検証されないことに注意してください。

カスタムフィルタ

各フィールドでフィルターを個別に定義する代わりに、ユーザーはカスタムフィルターの欄で単一のフィルターを定義できます。

カスタムフィルターは、以下の構文に従う必要があります。 この構文はSAPAPIに準拠しています。

<Technical Name of Field><Space><Operator><Space><Value>

この欄では複数のフィールドを指定することもできます。 値は二重引用符で囲む必要があります。

例: DOMNAME LIKE "/AIN%" AND AS4LOCAL EQ "A" AND AMOUNT EQ "500"

  • カスタムフィルターが追加された場合、個別に定義されたフィルターは適用されません。

  • カスタムフィルターの文字列が72文字を超える場合、レコードはSAPサーバーからフェッチされません。

  • 上記の構文で指定されているように、フィルター文字列とカスタムフィルターのテクニカル名、演算子、値の間にスペースを入れる必要があります。

  • 特殊文字を含むフィールド名は、Magicxpiではサポートされません。

フィルタ設定の例

カスタムフィルタの例

SAP ERPでサポートされているクエリ演算子のリストについては、 SAP ERPでサポートするクエリ演算子を参照してください。

Since version: 4.13.2


SAP ERPでサポートされているクエリ演算子

以下のクエリ演算子がサポートされており、クエリページとテーブルページの両方でフィルタ条件の一部として使用できます。

演算子 | 説明
EQ | Equal to （等しい）
NE | Not equal to （等しくない）
LT | Less than （小さい）
LE | Less than or equal to （小さいか等しい）
GT | Greater than （大きい）
GE | Greater than or equal to （大きいか等しい）
LIKE | LIKE `Emma%` と同じ


ServiceMax

ServiceMaxコネクタは、ServiceMaxに接続性を提供します。これは、トリガとして、またはフローにおけるステップとして実装することができます。

ServiceMaxコネクタを使用するには、以下のことを確認してください。

  • ServiceMaxで有効なMagic xpiライセンス

  • OAuth認証手続で有効なSalesforce証明書

Magic xpi は ServiceMax API 48 で動作します。

Since version:

4.6

関連トピック：

ServiceMax - 設定

ServiceMax - エラー処理


ServiceMax - 設定

ServiceMaxコネクタをフローに配置すると、Magic xpiは自動的にそのコネクタの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

そして、コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、［ServiceMax設定］ダイアログボックスを開きます。

ServiceMaxコネクタを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初にServiceMax リソースを定義する必要があります。

ServiceMaxコネクタは以下のインタフェースをサポートします。

  • XML

  • メソッド

このコンポーネントはトリガエリアに配置し、トリガとして使用することもできます。

  • ServiceMaxコネクタ(新しいウィンドウが開きます)を使用して動作する場合、どのようにdateTimeフィールドを使用するかを学ぶには、ここをクリックしてください。

  • ServiceMaxコネクタ(新しいウィンドウが開きます)を使用して動作する場合、comparisonOperator値によってどのようにオブジェクトを検索するかを学ぶには、ここをクリックしてください。


ServiceMax - XML

ServiceMaxコネクタは、Magic xpiのXMLインタフェースを使用して動作するように設計されています。ServiceMaxコネクタをフローにドラッグすると、［プロパティ］ペインが開きます。

［インタフェース］プロパティでXMLを選択した後で、コンポーネントをダブルクリックするか、右クリックしコンテキストメニューから［設定］を選択してください。［ServiceMax設定］ダイアログボックスが開きます。

このダイアログボックスには、以下のフィールドが含まれています。

プロパティ

説明

接続

リソース名

コンポーネントの［プロパティ］ペインで選択したリソースの名前。リソースは、［設定］ダイアログボックスの［リソース］セクションで定義されます。

オペレーション

オブジェクト

をクリックして、オブジェクトリストを開きます。オペレーションが実行されるオブジェクトを選択してください。［ServiceMaxリソース］ダイアログボックスでリソースを有効にすると、このリストが生成されます。

オブジェクトリストは、リソースに組み込まれる必要があります。そうしないと、ステップまたはトリガでオブジェクトリストを取得できません。

オペレーション

ドロップダウンリストから以下のいずれかを選択します。

  • Query…… オブジェクトからデータを取り出すの場合に使用します。データマッパーを使用して特定の条件を基にオブジェクトを取り出すことができます。ソースに複数のレコードがある場合、最初にマッピングされた値だけが返ります。

  • Query All …… ServiceMaxから削除されたレコード（削除レコードは、IsDeleted要素がTrueのもの)を返すこと以外は、Queryと同じです。

  • Bulk Query: …… これは、大きなデータセットを検索するために使用されます。これは、必要な結果を取り出すBulk Retrieve Query Results メソッドと連携して使用する必要があります。

  • Create …… これは組織のデータに新しいオブジェクトを作成する場合に使用します。データマッパーを使用して新しいオブジェクトフィールドの値を指定することができます。

  • Bulk Create …… これは、多くのレコードを含む外部ファイルを使用して実行することが可能になる以外は、Createと同じです。

  • Update …… これは組織のデータの特定のオブジェクトを更新する場合に使用します。オブジェクトを更新する場合、そのIDを知る必要があります。例えばQuery（上記参照）を行ってオブジェクトIDを取得し、その後でUpdateを行ないます。データマッパーを使用してオブジェクトIDや他の更新したいフィールドを指定してください。

  • Bulk Update …… これは複数のレコードをを含む外部ファイルを使用して処理を実行することを除いて、Updateと同じです。

  • Delete …… これは組織のデータから特定のオブジェクトを削除する場合に使用します。オブジェクトを削除する場合、そのIDを知る必要があります。Query（上記参照）を行いオブジェクトIDを取得し、その後Deleteを行います。データマッパーを使用してオブジェクトIDを指定してください。これが指定すべき唯一の値です。

  • Bulk Delete …… これは複数のレコードをを含む外部ファイルを使用して処理を実行することを除いて、Deleteと同じです。

  • Upsert …… これは、ServiceMaxへの重複レコードの挿入を防止するために使用されます。Upserオペレーションは、フィールド値に基づいて、オブジェクトインスタンスの存在をチェックし、存在しているならば、オブジェクトを更新するか、存在していないならば、新しいものを挿入します。Upsertオプションは、更新または作成が可能なオブジェクトでのみ有効です。.

  • Bulk Upsert …… これは複数のレコードをを含む外部ファイルを使用して処理を実行することを除いて、Upsertと同じです。

オブジェクトでサポートされているオペレーション（オブジェクトタイプとユーザー権限に基づく）のみが表示されます。

バッチモード

［オペレーション］フィールドでBulkオペレーションのうちの1つを選択した場合、このフィールドが利用できます。ここでは、ジョブのバッチ処理方法を指定できます。ドロップダウンリストからの以下のどれかを選択します。

  • パラレル (デフォルト) …… バッチが同時に処理されます。

  • ライナー ……バッチが逐次処理されます。

バッチサイズ

ここは、［オペレーション］フィールドでCreate、Update、またはUpsetが選択された場合のみ利用できます。

ここでは、ServiceMaxに送られる各リクエストのオブジェクトの最大数を制御します。1～200の間に値を入力してください。

更新フィールド名

［オペレーション］フィールドでUpsertまたはBulk Upsertが選択された時のみ、このフィールドは有効です。

リストされるフィールドは、選択されたオブジェクトのためのユニークなフィールドです。少なくとも1つのオブジェクトは、Upsertのルックアップ処理のために選択されなければなりません。選択されたオブジェクトは、後で値によってマッピングされなければなりません。

Bulk Upsertオペレーションで動作する場合、ここで選択されたフィールドも、データマッパー画面に表示されるように、オブジェクトフィールドリストで選択されなければなりません。

詳細については、Salalesforce APIドキュメントのUpsertオペレーションの説明を算用してください。

新規オブジェクトID

ここは、［オペレーション］フィールドでCreateもしくはUpsertを選択した場合のみ有効になります。

をクリックして変数リストを開きアップサートされたオブジェクトIDを保持する変数を選択します。

戻り値

ここは、［オペレーション］フィールドでQueryもしくはQuery All または Bulk Queryを選択した場合のみ有効になります。

隣接したチェックボックスの選択で、Allを選択するか、オブジェクトフィールドリストから特定フィールドを選択することができます。

戻り子オブジェクト

ここは、［オペレーション］フィールドでQueryもしくはQuery All または Createを選択した場合のみ有効になります。

［オペレーション］フィールドでQueryが選択された場合は、一つのXMLファイルからオブジェクトが選択された子オブジェクトと一緒に取得されます。

親とその子オブジェクトの両方に対して照会を行うことができます。

［オペレーション］フィールドでCreateを選択した場合、オブジェクトは選択された子オブジェクトと一緒に取得されます。

をクリックして子オブジェクトリストを開きます。ここでは、取得したい子オブジェクトを選択することができます。

20以上の子オブジェクトを持ったオブジェクトは、QueryやQuery All オペレーションが実行できません。

オブジェクトフィールド

ここは、［オペレーション］フィールドでBulk が選択された場合のみ利用できます。

をクリックしてオブジェクトフィールドリストを開きます。ここで、必要なオブジェクトフィールドを選択し、それらの関係の詳細を埋めることができます。［インデックス］と［外部ID］フィールドに関係するデータのみを入力することができます。デフォルトでは、フィールドは選択されません。

戻りジョブID

ここは、［オペレーション］フィールドでBulk が選択された場合のみ利用できます。

をクリックして変数リストを開きます。ここで、ジョブIDを保持する変数を選択します。

結果オプション

結果保存

結果のXMLファイルを保存したい場所を定義します。ドロップダウンリストから以下のいずれかを選択します。

  • ファイル …… ServiceMaxから返されたオブジェクトデータを保持するファイルを選択します。 をクリックして式エディタを開くか [image] をクリックしてこの情報を保存するファイルパスを入力します。

  • 変数（デフォルトは C.UserBlob） …… ServiceMaxから返されたオブジェクトデータを保持する変数を選択します。 をクリックして変数リストを開きます。情報を保存する変数を選択します。

  • 分割ファイル …… 大きなXMLファイルをより小さなXMLファイルに分割します。このオプションを選択すると、このダイアログボックス（下記)の［分割ファイル］オプションに必要な情報を入力する必要があります。

オペレーション成功

このフィールドは、データオブジェクトがServiceMax内に正しく書き出されたかを簡単に判断できるようにします。ドロップダウンリストから以下のいずれかを選択します。

  • None（デフォルト） …… コネクタの成否のステータスを保存しない場合は、このオプションを選択してください。

  • Variable …… コネクタの成否のステータス情報を保存する変数を選択します。

Build オペレーション(上記)のどれかを使用する場合、このフィールドは、ServiceMaxジョブがMagic xpiによって正しく作成されたかどうかを定義します。

分割ファイルオプション

ディレクトリ

分割ファイルを保持しているディレクトリ。 をクリックして式エディタを開き、ディレクトリ名を入力します。

接頭辞

分割ファイルのの接頭辞。 をクリックして式エディタを開き、接頭辞を入力します。

ファイル毎のレコード数

各分割ファイルのレコード数。 をクリックして式エディタを開き、必要なレコード数を入力します。

分割数

分割数が返る数値変数。 をクリックして変数リストを開き、必要な変数を選択します。

［ServiceMax構成］ダイアログボックスには以下のボタンもあります。

ボタン | 説明
XSDのリフレッシュ | 現在のスキーマを更新します。 ［XSDをリフレッシュ］をクリックすると現在のスキーマは上書きされます。メッセージダイアログボックスが開き、［OK］をクリックすると更新と上書きを承認します。［キャンセル］をクリックするとスキーマを上書きせずにプロセスを終了します。

  • CreateとUpdateを使用する場合、フィールドマッピング時に作成、更新できないフィールドや定義済みの値が必要なフィールドに注意してください。各フィールドの［プロパティ］ペイン［追加XMLプロパティ］セクションで必要な情報を得るのことができます。

  • Bulk Query オペレーションは、以下のSOQLステートメントをサポートしません。

  • COUNT

  • ROLLUP

  • SUM

  • GROUP BY CUBE

  • OFFSET

  • Nested SOQL queries

  • Relationship fields

  • データマッパソースからのリピート可能な要素は、ServiceMaxオブジェクトのrowコンパウンドにマッピングしてください。

  • NULL値を許可するオブジェクトフィールドは、Magic xpi内のNULL値でマッピングされ、追加することができます。

  • 高度なQueryを行う場合は、作成されたXSDのSOQL合成要素内のSOQL WHERE句のフリーテキストにマッピングすることができます。この合成要素は、QueryとQuery Allのメソッドで使用することができます。合成要素には、WHEREと呼ばれる文字列があります。SOQLステートメントのWhere部をこの要素にマップすることができます。そして、Where部はマッピング処理中にWhere句ビルドに追加します。

関連トピック：

ServiceMax - 外部IDによるオブジェクト参照


ServiceMax - 外部IDによるオブジェクト参照

オブジェクトIDによるオブジェクトの参照

親オブジェクトに依存するServiceMaxオブジェクトを検索、作成、削除するには親オブジェクトのIDを取得しなくてはなりません。

このプロセスを簡単にするには､［プロパティ］ペイン内のノードの［計算値］フィールドにある getObjectIDbyField 関数を使用します。

関数の構文は､'getObjectIDbyField (ObjectName, FieldName, FieldValue)' です。関数はパラメータは以下の通りです。

  • ObjectName …… WSDLに表示されるオブジェクト名

  • FieldName …… オブジェクトのWSDL内のエントリーの名前

  • FieldValue …… 検索する値

例えば：'getObjectIDbyField (Account, Name, ABC)' は、名前がABCというアカウントのIDを返します。

上の例のように式全体をシングルクオーテーションで囲む必要がありますので注意してください。

getObjectIDbyField 関数を使用するときは､以下に注意してください。

  • この関数では一つのパラメータしか検索できません。

  • 検索結果に複数のエントリが見つかった場合、最初に見つかったIDだけが返されます。

  • エラーが返る場合は、このレコードは処理されず、次のレコードにスキップします。（エラーは、XMLで返され、Magic xpiモニタには表示されません。）

  • この関数は、オブジェクトを参照して定義されるフィールド上でのみ使用できます。たとえば、新しい条件を作成する場合、条件の所有者となるユーザを参照します。

  • この関数がオブジェクトを参照しないフィールド上で使用されると、ServiceMaxはエラーを返します。

  • この関数への各呼び出しによってリクエストをServiceMaxに送信します。

外部IDによるオブジェクトの参照

オブジェクトIDの代わりに、外部IDによってオブジェクトを参照することができます。例えば、オブジェクトが別のデータベース（例えばSAP）で作成される場合、これは役に立ちます。この場合、そのオブジェクトIDは知らされません。

このようにするには、[プロパティ]ペインのノードの［計算値］フィールドで、setRefbyExternalId関数を使用してください。マッピングされたノードは、(ServiceMaxのユーザインターフェイスに従って)ルックアップフィールドでなければなりません。

関数の構文は、'setRefbyExternalId (ObjectName, ExternalIdFieldName, ExternalIdFieldValue)'です。関数はパラメータは以下の通りです。

  • ObjectName …… WSDLに表示されるオブジェクト名

  • ExternalIdFieldName …… オブジェクトのWSDLでのエントリ名

  • ExternalIdFieldValue …… 検索する値

setRefbyExternalId関数の使い方の詳細な例は、ここをクリックしてください。

  • この関数は、外部IDとしてマークされたフィール上でCreate、Update、そしてUpsert オペレーションが行われる場合にのみ使用できます。

  • この関数は、Bulk Create（一括作成）、Bulk Update（一括更新）、Bulk Upsert（一括更新）オペレーションでは使用できません。


オブジェクトフィールドリスト

  • リストからServiceMaxフィールドを選択して［OK］をクリックします。

  • ［すべてクリア］をクリックすると、選択内容が全てリセットされます。

  • 選択しないで［オブジェクトフィールドリスト］ダイアログを閉じるには、［キャンセル］をクリックしてください。

このリストにアクセスするためには、最初に［ServiceMax設定］ダイアログボックスで［オブジェクト］プロパティからオブジェクトを選択し、すべてのチェックボックスのチェックを外す必要があります。 をクリックすると、［オブジェクトフィールドリスト］のダイアログボックスが開きます。


オブジェクトリスト

  • リストからのServiceMaxオブジェクトを選択し、［選択］をクリックします。

  • オブジェクトリストを再読込するには、［再読込］をクリックしてください。

  • 選択しないでオブジェクトリストを閉じるには、［キャンセル］をクリックしてください。

オブジェクトリストは、リソース内でビルドされなければなりません。そうしないと、ステップまたはトリガでオブジェクトリストを取得できません。


ServiceMax - トリガ構成

ServiceMaxコネクタは、ServiceMaxのオブジェクトの変更をトリガとしてフローを起動できます。

ServiceMaxコネクタをMagic xpiのトリガエリアにドラッグすると、［プロパティ］ペインを開きます。コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［構成］選択して、［ServiceMaxトリガ構成］ダイアログボックスを開きます。

このダイアログボックスには以下のフィールドが含まれています。

名前

説明

接続

リソース名

この読み込み専用フィールドは、［設定］ダイアログボックスの［サービス］セクションでトリガのために選択されたServiceMaxリソースの名前が表示されます。

ポーリング間隔

をクリックして［ポーリング間隔］ダイアログボックスを開きます。組織データの変更をコネクタがチェックする間隔を入力します。分、時間、日数の組み合わせを選択することができます。

ポーリング間隔を5分以上取ることを推奨しています。

ここで設定した値（例、3分)は、ServiceMax APIを実際の呼び出し数を定義します。このメカニズムは、以下のように動作します。

  • トリガは、トリガ設定に従って次の2つのServiceMaxメソッド（GetUpdated()とGetDeleted()）を呼び出すことができます。

  • これらのメソッドへの各呼び出しは、変更または削除されたオブジェクトのIDリストを返します。

  • Magic xpiがIDのリストを取得する場合、オブジェクトフィールドを読み出すためにRetrieve() を使用します。1回の呼び出しで、2000 ID分がまとまって読み出されます。2000以上の変更がある場合は、全てのIDが読み出されるまで、Magic xpiはmin(残りのレコード、2000)関数を使用して読み出します。

  • したがって、例えば、3分おきに1000件分の更新/作成されたオブジェクトを持つ場合、2つのメソッド(GetUpdated() と Retrieve())を呼び出します。.

同期

トリガ行の取り出しを同期させて、起動順序を決定するために、このチェックボックスを選択してください。これで、起動される行間の関係がある状態を制御することができます。たとえば、ServiceMaxから得られるデータが複数のデータベーステーブルに挿入される親子関係があるかもしれません。トリガが同期しない場合、子の行は親レコードの前に挿入することでSQLエラーが発生します。

デフォルトはチェックが外されています。

トリガ行の正しい処理順序を定義するために、ダイアログボックスの右側の上下矢を使用することができます。

キープアライブ間隔（分）

自動的に再起動される前にトリガの応答がない場合の時間を分数で指定します。デフォルト値は0で、これはトリガの応答を永久に待ち続けることを意味します。

  • このパラメータ値の選択は、慎重に行ってください。値が少な過ぎると、有効な処理が終了する前に、トリガは終了するかもしれません。

  • ［同期］のチェックボックス（上記)を選択すると、トリガとフローは同じスレッドで動作します。これは、応答がないためにトリガが終了されると、フローも同じように終了することを意味します。したがって、［キープアライブ間隔］を設定する場合、実行するフローの処理時間を考慮する必要があります。例えば、トリガの無応答時間が3分で、フローの実行時間が最高2分の場合、［キープアライブ間隔］は、5以上に値する必要があります。

行ラベル

トリガされた行を定義するラベルを入力します。フロー呼出時に下記の［行ラベルの保存］フィールドにマッピングされた変数がラベルの値を保持します。

オブジェクト

をクリックしてオブジェクトリストを開きます。オペレーションが実行されるオブジェクトを選択します。このリストは、［ServiceMaxリソース］ダイアログボックスの［オブジェクトリスト］ボタンをクリックすると生成されます。

オブジェクトリストはリソースでビルドされなければなりません。これ以外の場合、ステップやトリガでオブジェクトリストを取得することができません。

オペレーション

ドロップダウンリストから以下のいずれかの処理を選択します。

  • 更新(デフォルト) …… 更新された（追加、もしくは変更された）オブジェクトのリストを取り出すときに使用します。

  • 削除 …… 削除されたオブジェクトのリストを取り出すときに使用します。

開始日付

をクリックして変数リストを開きます。データ検索に必要な開始日付を選択します。このフィールドにはグローバル変数のみ使用することができます。

このフィールドには、XML DateTimeの書式を使用する必要があります。有効な開始日を作成するためにMagic xpiのDateTimeFormat関数を使用することができます。

結果オプション

XML結果の保存

これはトリガのポーリング結果どこに保持するかを定義します。ドロップダウンリストから以下のどれかを選択します。

  • ファイル …… トリガ結果をファイルに保存します。結果として生じているファイル名は次のロジックに従って作成されます： <LabelName>_<ObjectName>_<Operation>_<mTime>.xml。.<LabelName>はオプションです。 従って、提供されない場合は、ファイル名は下線で開始させないでください。

  • 変数 …… 変数の中にServiceMaxによって返されるポーリング結果を格納します。 をクリックして変数リストを開きます。結果を格納するために、変数を選択してください。デフォルトはC.UserBLOBです。［結果の分割］や［レコードの最大数］、［結果フォルダパス］、［保存する結果ファイル名］の各プロパティに従って、ポーリング結果を分割することができます。

結果の分割

［レコードの最大数］プロパティ(以下)を有効にするために、このチェックボックスを選択します。

レコードの最大数

各分割ファイルのレコードの最大値です。 をクリックして式エディタを開き、レコードの最大値を力してください。レコードのデフォルト値は、1000です。0を入力すると、分割は実行されません。［結果の分割］チェックボックス(上記)を選択すると、このプロパティは有効になります。

結果フォルダパス

結果が保存されるフォルダ。

をクリックして式エディタを開きフォルダ名を入力するか、 [image] をクリックして必要なフォルダを選択してください。［XML結果の保存］プロパティ(上記)でファイルを選択した場合、このプロパティは有効になります。

保存する結果ファイル名

結果ファイルの保存先をフルパスで指定します。 をクリックして、変数リストを開きます。［詮索］をクリックして、必要な文字変数をを選択してください。［XML結果の保存］プロパティ(上記)でファイルを選択した場合、このプロパティは有効になります。

行ラベルの保存

トリガの行ラベルを保存する場合に使用します。

をクリックして変数リストを開きます。［選択］をクリックして必要な文字変数を選択します。

最終日付の保存

このフィールドは、トリガが変更をオブジェクトの削除や更新、追加)を見つけた最後の日付と時間を保持します。

をクリックして変数リストを開きます。［選択］をクリックして必要な文字変数を選択します。

  • 結果は、ポーリングが実行される日に先がけて30日までは戻ることができます。データは、ログインされたユーザがアクセスできるオブジェクトに対してのみ検索することができます。より長い期間の結果を取り出す場合は、ここで説明されるように、ステップクエリメカニズムを使用する必要があります。

  • ユーザ文字列はデータを以下の形式で保持します： <label> - <object name> - <operation> (deleted/updated).

［ServiceMaxトリガ構成］ダイアログボックスには以下のボタンもあります。

ボタン | 説明
XSDリフレッシュ | 選択した全てのオブジェクトのオブジェクトスキーマを取り出します。
新規 | トリガテーブルに新しい行を作成します。
削除 | トリガテーブルで選択した行を削除します。

コネクタの構成が終了したら、［OK］をクリックして選択した全てのオブジェクトのServiceMaxスキーマを生成し、［ServiceMaxトリガ構成］ダイアログボックスを閉じます。

［キャンセル］をクリックすると､定義は保存されずに［ServiceMaxトリガ構成］ダイアログボックスが閉じます。


ServiceMax - メソッド

以下のメソッドはダイレクトアクセスメソッドを使用してServiceMaxコネクタを構成するのに使用されています。

  • Bulk Abort Job

  • Bulk Check Job State

  • Bulk Retrieve Job Results

  • Bulk Retrieve Query Results

  • Convert Lead

  • Get Objects List

  • Get Timestamp

  • Merge

  • Metadata CRUD

  • Metadata Check State

  • Metadata Deploy

  • Metadata Retrieve

  • Query by SOQL

  • Replicate All Data

  • Replicate Last Deletes

  • Replicate Last Updates

  • Update Object Structure

オブジェクト添付ファイルは、同じ複製データベースの配下の専用テーブルに保存されます。添付ファイルは、Base64フォーマットで保存されます。添付ファイルテーブルはib_sfdc_attachmentsと呼ばれ、キーとして各々の添付ファイルレコードに対してオブジェクト名とフィールド名、ユニークなオブジェクトIDが含まれています。

以下の表は使用できるメソッドとパラメータの一覧です。太字 のパラメータは必須です。

メソッド

パラメータ

説明

Bulk Abort Job

現在のバルク処理のジョブを中止します。ジョブが中止されると、レコードは処理されません。しかし、データに対していくつか変更されることがあり、ロールバックされません。

ジョブID

アボートしたいジョブのIDを入力します。

タイムスタンプ

アボート処理のタイムスタンプを保持する変数を選択してください。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Bulk Check Job State

ジョブのすべてのバッチが終了したかどうかをチェックします。

ジョブID

チェックしたいジョブのIDを入力します。

ジョブ完了を待つ

ジョブの状態をチェックする前に、ジョブの完了を待つかどうかを指定します。ドロップダウンリストからの以下のどれかを選択します。

  • No (デフォルト)

  • Yes …… このオプションを選択すると、10秒間隔でリトライされます。

バッチステータスXML

XML構造でバッチの状態を保持する変数を選択します。

ジョブ状態

ジョブの状態を保持する変数を選択します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Bulk Retrieve Job Results

ジョブ内のすべてのバッチの結果を取得します。

ジョブID

結果を取得したいジョブのIDを入力します。

不完全な結果を許可

部分的に結果を取り出素ことができるように指定します。ドロップダウンリストからの以下のどれかを選択します。

  • No (デフォルト) …… このオプションを選択すると、メソッドの最初のアクションはジョブの状態をチェックすることです。ジョブが進行中の場合は、エラーが作成されます。

  • Yes …… このオプションを選択すると、ジョブが終了しない場合、メソッドはジョブの状態をチェックしないで、部分的な結果を返すかもしれません。

結果XML

XML構造でバッチの状態を保持する変数を選択します。

結果XMLは、以下の場所にあります：

<Magic xpi のインストールフォルダ>\Runtime\ifclib\ServiceMax\xsd\BulkResults.xsd

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Bulk Retrieve Query Results

1つ以上のCSVファイルの形式でServiceMaxから結果を取り出します。

ジョブID

結果を取得したいジョブのIDを入力します。

ジョブ完了を待つ

ジョブの状態をチェックする前に、ジョブの完了を待つかどうかを指定します。ドロップダウンリストからの以下のどれかを選択します。

  • No (デフォルト)

  • Yes …… このオプションを選択すると、10秒間隔でリトライされます。

結果ディレクトリ

結果ファイルが作成されるフォルダへのフルパスを入力してください。

結果ファイル接頭辞

結果ファイルに必要な接頭辞を入力してください。

結果数

オペレーションによって作成されるCSVファイルの数を受け取ります。最大1GBのファイルが返り、そこで、これらのは最大15ファイルになります。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Convert Lead

1度にひとつのLeadをOppourtunity(オプション)と同じように AccountとContactに変換します。

リードID

変換するLeadのID

変換後ステータス

変換されたleadに対する有効なLeadステータス値を入力します。

アカウントID(入力)

leadがマージされる先のAccountのIDを入力します。既存のアカウントを更新する場合のみ必要となります。

コンタクトID(入力)

leadがマージされる先のContactのIDを入力します。既存のcontactを更新する場合のみ必要となります。

リードソースを上書き

ターゲットのContactオブジェクトのLeadSourceフィールドを上書きするかどうか指定します。有効な値はYesまたはNo（デフォルト）です。

条件の作成

lead 変換時に条件を作成するかどうか指定します。有効な値はYesまたはNo（デフォルト）です。

オーナID

新たに生成されるAccount、Contact、とOppourtunityを所有する人のIDを入力します。

通知メールを送信

OwnerIDで指定されているオーナにEmailを送るかどうか指定します。有効な値はYesまたはNo（デフォルト）です。

アカウントID(出力)

新しく作られたAccount IDを保持する変数を選択します。

コンタクトID(出力)

新しく作られたContact IDを保持する変数を選択します。

条件ID

lead がマージされるOpportunityのIDを入力します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Get Objects List

ServiceMax 組織データで利用可能なオブジェクトのリストを取り出すメソッド。

オブジェクトリストXML

XML構造でオブジェクトリストを保持する変数を選択します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Get Timestamp

ServiceMaxのタイムスタンプを取り出します。

タイムスタンプ

ServiceMaxタイムスタンプ（XMLフォーマット）を保存する変数を定義します。

をクリックして変数リストを開きます。必要な変数を選択します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Merge

同じオブジェクトタイプのレコードを一つのレコードにマージし、他のレコードを削除し、関連するレコードを親にします。

オブジェクトタイプ

マージされるオブジェクトタイプを選択します。Lead、Contact、Accountがあります。

マスタレコードID

どのレコードが他のレコードがマージするマスターレコードか指定するためにレコードIDを入力します。

レコードID

マスタレコードにマージされるレコードのIDをカンマ区切りで入力します。最低1レコード、最大で2レコードです。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Metadata CRUD

メタデータの作成、更新または削除を行います。

オペレーション

実行したいCRUD処理。ドロップダウンリストからの以下のどれかを選択します。

  • 作成 (デフォルト)

  • 更新

  • 削除

  • アップサート

メタデータ

メタデータのXML表記。メタデータXMLの詳細については、ここをクリックしてください。

結果XML

XML構造で結果を保持する変数を選択してください。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Metadata Check State

メタデータの非同期メソッドの処理状態をチェックします。

ID

非同期メソッド（Deploy、Retrieveまたは CRUD)のうちの1つから非同期の結果XMLで返されるID

完了を待つ

状態を読み出す前に処理の完成を待つべきかどうか指定します。ドロップダウンリストから以下のどれかを選択します。

  • No (デフォルト)

  • Yes …… メタデータ処理が完了するまで、ステップは終了しません。

結果XML

XML構造で結果を保持する変数を選択してください。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Metadata Deploy

ServiceMaxメタデータzipファイルを配備します。

メタデータZipファイル

フルパスと配備されたメタデータzipファイルのファイル名。

警告を無視

配備が成功したときに警告表示を許可するかどうかを指定します。ドロップダウンリストから以下のどれかを選択します。

  • No (デフォルト)

  • Yes

エラーのロールバック

失敗した場合に、完全にロールバックするかどうかを指定します。ドロップダウンリストから以下のどれかを選択します。

  • Yes (デフォルト)

  • No

Noを選択すると、エラーを含まないアクションが実行され、エラーは残りのアクションに対して返されます。製品組織として配備する場合は、Yesを選択する必要があります。

結果XML

XML構造で結果を保持する変数を選択してください。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Metadata Retrieve

ServiceMaxメタデータzipファイルを読み出します。

メタデータAPIバージョン

リクエストを読み込むために必要なAPIバージョンをフルパスで指定します。APIバージョンは、メタデータタイプごとにどのフィールドが読み込まれるかを指定します。

メタデータ出力先Zipファイル

読み込まれたメタデータzipファイルのフルパスとファイル名。

パッケージ名

読み込むパッケージ名のリストをカンマ区切りで指定します。パッケージが展開されたコンポーネントを取り出したい場合、このフィールドを空のままにして、［マニフェストXMLファイル］フィールド（下記）に値を入力してください。

マニフェストXMLファイル

マニフェストパッケージXMLファイルのフルパス。これは、パッケージが展開されたコンポーネントを読み出すために使用されます。

結果XML

XML構造で結果を保持する変数を選択してください。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Query by SOQL

フリーのServiceMaxオブジェクトオブジェクトクエリー言語（SOQL)ステートメントを送信して、戻り値として結果のXMLを受け取ります。

クエリタイプ

実行したいクエリタイプを定義します。ドロップダウンリストから以下のどれかを選択します。

  • クエリ (デフォルト)

  • 全クエリ

SOQL文

送信したいSOQL文を入力します

結果格納先

結果XMLの保存先を指定します。ドロップダウンリストから以下のどれかを選択します。

  • 変数 (デフォルト)

  • ファイル

  • 分割ファイル

結果XML

をクリックして変数リストを開き、XML構造で処理結果を保存する変数を選択します。

［結果の保存先］（上記）で変数を選択した場合のみ有効です。

ファイル名

照会結果を保存したいファイルのフルパスを入力します。

［結果の保存先］（上記）でファイルを選択した場合のみ有効です。

ディレクトリ

分割したXML結果を保持しているディレクトリのフルパス。

をクリックして式エディタを開き、ディレクトリ名を入力します。

［結果の保存先］（上記）が分割ファイルの場合だけ有効です。

接頭辞

接頭辞は、分割XMLファイルで使用します。

をクリックして式エディタを開き、接頭辞を入力します。

［結果の保存先］（上記）が分割ファイルの場合だけ有効です。

ファイル毎のレコード

各分割ファイル内のレコード数。

をクリックして式エディタを開き、接頭辞を入力します。

［結果の保存先］（上記）が分割ファイルの場合だけ有効です。

分割数

返される結果XMLから作成される分割数が格納される数値変数

をクリックして変数リストを開き、変数を選択します。

［結果の保存先］（上記）が分割ファイルの場合だけ有効です。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Replicate All Data

オブジェクトの完全検索を行い、選択されたローカルデータベースにServiceMaxデータを複製します。

オブジェクト名

ServiceMax オブジェクト名を選択します。

出力先DBリソース

データベースリソースを入力します。

MSSQL 2005サーバで動作させる場合は、このメソッドは8000文字以上のa ServiceMax文字列を扱うことができます。

トランザクションタイプ

データベースのトランザクションタイプを選択します。有効な値は レコード と テーブル です。

全レコードを最初に削除

挿入前に既存のレコードを削除するかどうかを指定します。有効な値はYes（デフォルト）またはNoです。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Replicate Last Deletes

Start Date引数に基づきオブジェクトの削除されたレコードを検索し、変更をローカルデータベースに複製します。

オブジェクト名

ServiceMax オブジェクト名を選択します。

出力先DBリソース

データベースリソースを入力します。

MSSQL 2005サーバで動作させる場合は、このメソッドは8000文字以上のa ServiceMax文字列を扱うことができます。

トランザクションタイプ

データベースのトランザクションタイプを選択します。有効な値は レコード と テーブル です。

開始日

ServiceMaxの変更を複製し始める日付を入力します。

有効な日付フォーマットは：

YYYY-MM-DDT00:00:00T

YYYY-MM-DDT00:00:00.000T

最終カバー日付

最後にカバーされた日付を保持する変数を入力します。

取得レコード数

取得されたレコード数を保存する変数を定義します。

をクリックして変数リストを開き、必要な変数を選択します。

削除レコード数

削除されたレコード数を保存する変数を定義します。

をクリックして変数リストを開き、必要な変数を選択します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Replicate Last Updates

［開始日付］に基づきオブジェクトの更新されたレコードを検索し、変更をローカルデータベースに複製します。

オブジェクト名

ServiceMax オブジェクト名を選択します。

出力先DBリソース

データベースリソースを入力します。

MSSQL 2005サーバで動作させる場合は、このメソッドは8000文字以上のa ServiceMax文字列を扱うことができます。

トランザクションタイプ

データベースのトランザクションタイプを選択します。有効な値は レコード と テーブル です。

開始日

ServiceMaxの変更を複製し始める日付を入力します。

有効な日付フォーマットは：

YYYY-MM-DDT00:00:00T

YYYY-MM-DDT00:00:00.000T

最終カーバ日付

最後にカバーされた日付を保持する変数を入力します。

取得レコード数

取得されたレコード数を保存する変数を定義します。

をクリックして変数リストを開き、必要な変数を選択します。

更新レコード数

更新されたレコード数を保存する変数を定義します。

をクリックして変数リストを開き、必要な変数を選択します。

挿入レコード数

挿入されたレコード数を保存する変数を定義します。

をクリックして変数リストを開き、必要な変数を選択します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

Update Object Structure

一番更新されたServiceMaxオブジェクトを検索し、同じ Create Table SQL文を生成します。

オブジェクト名

ServiceMax オブジェクト名を選択します。

出力先DBリソース

データベースリソースを入力します。

最初にテーブルをドロップする

オブジェクト構造を作成する前にテーブル構造を削除するかどうかを指定します。

スクリプトファイル名

データベーススクリプトのあるディレクトリへのパスを入力します。

スクリプト実行

生成されたスクリプトを実行するかどうか指定します。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数またはユーザパラメータを選択します。

関連トピック：

ダイレクトアクセスメソッドの使い方


メタデータXML の例

このトピックは、ServiceMax コネクタのメタデータCRUDメソッドで使用されるメタデータXMLファイルを記述しています。

メタデータブロックの作成

MyObjと呼ばれているカスタムオブジェクトにおいて、以下のブロックは、pick1と呼ばれている2つの値（a2,a3)で選択リストを作成します。

<metadata xsi:type="ns1:CustomField">
<fullName>MyObj__c.pick1__c</fullName>
<label>pick111</label>
<type>Picklist</type>
<picklist>
<sorted>True</sorted>
<picklistValues>
<currentName>a2</currentName>
<fullName>a22</fullName>
</picklistValues>
<picklistValues>
<currentName>a3</currentName>
<fullName>a33</fullName>
</picklistValues>
</picklist>
</metadata>

メタデータブロックの更新

以下のブロックは、アカウントオブジェクトのカスタムフィールドの2つの説明を更新します。

<metadata xsi:type="ns1:CustomField">
<length>100</length>
<fullName>Account.Text1__c</fullName>
<label>Account.Text1__c</label>label>
<description>Desc modified by Update</description>
<type>Text</type>
</metadata>
<metadata xsi:type="ns1:CustomField">
<length>100</length>
<fullName>Account.Text2__c</fullName>
<label>Account.Text2__c</label>label>
<description>Desc modified by Update</description>
<type>Text</type>
</metadata>

メタデータブロックの削除

以下のブロックは、アカウントオブジェクトのカスタムフィールドを削除します。

<ns1:type>CustomField</ns1:type>
<ns1:fullName>Account.Text1__c</ns1:fullName>

メタデータブロックの追加更新

以下のブロックは、アカウントオブジェクトの２つのカスタムフィールドを追加更新します。

<metadata xsi:type="ns1:CustomField">
<fullName>Account.Text1__c</fullName>
<length>100</length>
<label>Account.Text1__c</label>label>
<description>Upsert deleted data Metadata API</description>
<type>Text</type>
</metadata>
<metadata xsi:type="ns1:CustomField">
<fullName>Account.Text2__c</fullName>
<length>100</length>
<label>Account.Text2__c</label>label>
<description>Upsert existing data Metadata API</description>
<type>Text</type>
</metadata>

いくつかの兄弟関係のMetadataまたはUpdateMetadataブロックがラッピングされた親を持たないため、CRUD呼び出しによって供給する必要のあるメタデータBLOBは、必ずしも適切なXML構造であるというわけではありません。


ServiceMax - エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。ServiceMaxコネクタのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ServiceMaxコネクタのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも ServiceMaxコネクタで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード

説明

1203

ServiceMax 呼出エラー： <エラー内容>

例：

Error 1203 - ServiceMax call error: com.magicsoftware.ibolt.salesforce.IBSalesforceException: Login error (Unexpected Error): REQUEST_LIMIT_EXCEEDED Total Requests Limit exceeded.

このエラーメッセージは、ServiceMax側から作成されます。それは、組織が限られている並行のAPIリクエストの数に関連があります。

これらの制限は以下の通りです。

組織タイプ | 制限
開発組織 | 5
評価組織 | 5
製造組織 | 25
サンドボックス | 25

1207

送り先データベースが見つからない： <データベース名>

1208

必須入力パラメータが空白： <パラメータ名>

1209

内部エラー： <エラー内容>

1210

データベースエラー： <エラーコード> <エラー内容>

1211

複製中断SFDC_TerminateReplication関数の値が１

関連トピック：

Magic xpiでのエラー処理


SharePoint

SharePoint機能は、特別なライセンスが必要です。

Magic xpi SharePointコネクタは、Microsoft® Office SharePoint® Server 2007, 2010, 2013そしてオンライン(MOSS)を使用して動作します。

SharePoint Onlineコネクタは、Active Directoryフェデレーションサービス（ADFS）をサポートしています。

Magic xpiのSharePointコネクタを使用するためには、SharePointサーバにアクセスする必要があります。

関連トピック：

SharePoint - 設定

SharePoint - エラー処理

SharePoint トラブルシューティング


SharePoint - 設定

SharePointコネクタをフローに配置すると、Magic xpiは自動的にそのコネクタの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

そして、コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、［SharePoint設定］ダイアログボックスを開きます。

SharePointコネクタを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初にSharePoint リソースを定義する必要があります。

SharePointコネクタは以下のインタフェースをサポートします。

  • メソッド

  • XML


SharePoint - メソッド

SharePointコネクタを設定するために、以下のメソッドを使用してください：

  • List Add Attachment

  • List Delete Attachment

  • List Get Item Changes

以下の表は利用できるメソッドとパラメータの一覧です。太字 のパラメータは必須です。

メソッド

パラメータ

説明

List Add Attachment

添付ファイルをリスト項目に追加し、その結果となる添付ファイルURLを返します。

リスト名

リスト用のタイトルまたはGUIDを含む文字型変数

アイテムIDリスト

添付ファイルが追加される項目のIDを含む文字型変数

コンテンツ取得

ファイル内容の元。ドロップダウンリストから以下のどちらかを選択します。

  • ファイル

  • 変数（デフォルト)

ファイル名

添付ファイルとして追加するファイル名を含む文字型変数。

これは［内容の取得元］で変数が設定された場合にのみ有効です。

ファイルの内容

添付したいBLOBデータ。

これは［内容の取得元］で変数が設定された場合にのみ有効です。

ファイルのフルパス

添付ファイルのフルパス。

これは［内容の取得元］でファイルが設定された場合にのみ有効です。

添付ファイルURL

添付が成功した場合に返されるURL

エラーコード

添付したいファイルへのフルパス。

これは［内容の取得元］でファイルが設定された場合にのみ有効です。エラーが発生した場合、対応するエラーコードが返されます。

List Delete Attachment

添付URLに基づいてリスト項目を削除します。

リスト名

リスト用のタイトルまたはGUIDを含む文字型変数

アイテムIDリスト

添付ファイルが追加される項目のIDを含む文字型変数

添付ファイルURL

添付ファイルのURL

エラーコード

エラーが発生した場合、対応するエラーコードが返されます。

List Get Item Changes

指定された日付以降のリストの変更内容を読み込みます。

リスト名

リスト用のタイトルまたはGUID

をクリックすると式エディタが開き、式を定義できます。

表示フィールド

問合わせの戻り値として返されるフィールドのカンマ区切りのリスト。返される順番に並びます。

をクリックすると式エディタが開き、式を定義できます。

開始日

リスト内の変更項目が読み出される日付と時間（協定世界時 ― UTCフォーマット）。このフィールドを空のままにした場合、リストのすべての項目が読み出されます。

をクリックすると式エディタが開き、式を定義できます。

添付ファイルを含める

読み出したい変更リストに添付ファイル（戻りXMLで）を含めるかどうかを指定します。

ドロップダウンリストから以下のどちらかを選択します。

  • Yes

  • No (デフォルト)

タイムスタンプ

読み出されたタイムスタンプを保持する変数。

をクリックすると変数リストが表示されます。

結果XML

XML構造で結果を保持する変数。

をクリックすると変数リストが表示されます。

エラーコード

エラーが発生した場合、対応するエラーコードが返されます。


SharePoint - XML

SharePointコネクタは、Magic xpiのXMLインタフェースを使用して動作するように設計されています。SharePointコネクタをフローにドラッグすると、［プロパティ］ペインが開きます。コンポーネントをダブルクリックするか、右クリックしコンテキストメニューから［設定］を選択してください。［SharePoint設定］ダイアログボックスが開きます。

このダイアログボックスには、以下のフィールドが含まれています。

プロパティ

説明

接続

リソース名

コンポーネントの［プロパティ］ペインで選択したリソースの名前。リソースは、［設定］ダイアログボックスの［リソース］セクションで定義されます。

オペレーション

エンティティタイプ

使用したいエンティティのタイプ。ロップダウンリストから以下のどれかを選択します。

  • リスト（デフォルト) …… これは、アイテムと添付ファイルを操作するために使用されます。アイテムと添付ファイルの参照、追加、更新、削除ができます。

  • ライブラリ ……これは、SharePointサーバでドキュメントを操作するために使用されます。これは特殊なリストタイプです。このため、リストとライブラリによってサポートされます。ドキュメントはSharePoint内にアップロードしたり、サーバ上の異なる場所との間でやり取りをしたり、参照や削除、更新を行うこともできます。

エンティティ

をクリックすると［リストコレクション］ダイアログボックスが開きます。処理が実行されるエンティティを選択してください。

オペレーション

ドロップダウンリストから以下の処理のうちどれかを選択します。

  • Query …… これは、エンティティからデータを検索する場合に使用されます。指定された条件に基づいたエンティティを取得するためにデータマッパーを使用することができます。例えば、Title = Professorが入力されているすべてのコンタクト情報を取得できます。
    これは、エンティティからデータを取得するために使用します。データ マッパーを使用して、特定の基準に基づいてエンティティを検索することができます。たとえば、Title = Professorですべての連絡先を取得することができます。ソースに複数のレコードがある場合、最初にマッピングされた値のみが返されます。
    この操作は、フィルタが適用されていない場合、ドキュメントと一緒に完全なフォルダ構造を返します。(バージョン: 4.7.7 以降)
    この操作で現在サポートされている比較演算子については、ここをクリックしてください。

  • Add ……これは、組織データ内に新しいエンティティを作成する場合に使用されます。データマッパーを使用して新規エンティティフィールドの値を指定することができます。
    これは、組織のデータに新しいエンティティを追加するために使用されます。 追加操作はまた、新しいフォルダと1つ以上のサブフォルダを追加することができます。サブフォルダを作成するには、親フォルダが存在する必要があります。ユーザーは、それぞれに文書を追加し、特定のフォルダ内のデータを整理することができます。

リストの場合は、Data Mapper ツリーの ContentType 値をフォルダに設定し、Title 要素にフォルダ名を指定して、フォルダまたはサブフォルダを作成します。

ライブラリの場合は、データ マッパー ツリーの ContentType 値をフォルダに設定します。データマッパーツリーからFileLeafRef要素を選択し、フォルダ名を指定してフォルダまたはサブフォルダを作成します。

データ マッパーを使用して、新しいエンティティ フィールドの値を指定することができます。

  • Update ……これは、組織のデータ内の特定のエンティティを更新するために使用されます。エンティティを更新するときは、そのIDを知っている必要があります。たとえば、クエリ操作（上記）を使用してエンティティIDを取得してから、更新操作を呼び出すことができます。データマッパーを使用して、エンティティIDと、更新する他のフィールドを設定する必要があります。

  • Delete ……これは、組織のデータから特定のエンティティを削除するために使用されます。エンティティを削除する場合は、そのIDを知っている必要があります。たとえば、クエリ操作（上記）を使用してエンティティIDを取得してから、削除操作を呼び出すことができます。エンティティIDを設定するには、データマッパーを使用する必要があります。これは、設定する必要がある唯一の値です。

  • Move: …… SharePointサーバー上の別の場所との間でドキュメントを移動するために使用されます。この操作は、ライブラリエンティティタイプ（上記）を選択した場合にのみ使用できます。

  • Moveを使用する場合、データマッパツリーのContentTypeを「Folder」に設定します。データマッパツリーからFileLeafRefを選択し、移動先のフォルダまたはサブフォルダ名を指定します。Since version: V4.1.3.1

  • フォルダ名に特殊文字＃（ハッシュ）と％（パーセント）が含まれている場合、Moveは機能しません。

Add、Query、MOveの操作は、SharePoint On-Demand/Online/Cloud でのみサポートされています。

戻り値フィールド

［エンティティ］フィールドでエンティティを選択し、［オペレーション］でQueryを選択した場合のみ有効です。これは、問合わせによって返されるフィールドを決定します。

ロップダウンリストから以下のどれかを選択します。

  • すべて (デフォルト) …… 問合わせにおける全てのフィールドを返します。

  • 選択 …… 指定されたフィールドのみ返ります。返したいフィールドを選択するには、 [image] をクリックしてエンティティフィールドリストからフィールドを選択します。リストから少なくとも1つのフィールドを選択しなければなりません。

  • ビュー: …… 指定されたビューに基づいてフィールドを返します。必要なビューを選択するには、 [image] をクリックして［ビューコレクション］ダイアログボックスを開きます。ビューが選択されないないと、デフォルトビューが自動的に使用されます。

フォルダ

［オペレーション］でQueryまたは、Add、Updateを選択した場合のみ有効です。レコードは、指定したフォルダで並べ替えられます。フォルダの名前を指定すると、このフィールドで指定したフォルダ内のすべてのレコードを問い合わせることができます。

をクリックして式エディタを開き、フォルダの名前を入力することができます。

サブフォルダを含める

データを取得するためにサブフォルダーをクエリするかどうかを決定します。デフォルトでは、このチェックボックスはオフになっています。 [サブフォルダーを含める]フィールドがチェックされている場合、SharePointコンポーネントのクエリ操作は、データを取得するためにサブフォルダーをクエリします。フィールドがチェックされていない場合、クエリ操作の実行中にサブフォルダは無視されます。

チェックボックスがオフで、親フォルダー名のみが指定されている場合、クエリ操作は、サブフォルダーを無視して親フォルダーからデータをフェッチします。

  • チェックボックスをオフにして、親フォルダ名のみを指定した場合は、クエリ操作は、サブフォルダを無視して親フォルダからデータを取得します。

  • チェックボックスがチェックされていて親フォルダ名のみが指定されている場合、クエリ操作は指定された親フォルダとそのサブフォルダからデータを取得します。この場合、リストまたはライブラリ内の他のフォルダまたはドキュメントは無視されます。

  • チェックボックスをオフにして、上述の Folder プロパティにフォルダ名が指定されていない場合、クエリ操作は、リストまたはライブラリ内のすべてのフォルダからデータを取得します。

ファイル添付

［オペレーション］でQueryを選択した場合のみ有効です。

リストアイテムが添付ファイルを持ち、このフィールドがチェックされる場合、添付ファイルは結果XML内にBase64で返されます。このフィールドのチェックが外された場合、添付ファイル名とそのURL（1つだけの場合）だけが返されます。

結果オプション

結果を保管

結果のXMLファイルを保存したい場所を定義します。ドロップダウンリストから以下のいずれかを選択します。

  • 変数:（デフォルトは C.UserBlob）……SharePoint.から返されたエンティティデータを保持する変数を選択します。 をクリックして変数リストを開きます。情報を保存する変数を選択します。

  • ファイル …… SharePointから返されたエンティティデータを保持するファイルを選択します。 をクリックして式エディタを開くか [image] をクリックしてこの情報を保存するファイルパスを入力します。

処理結果

このフィールドはエンティティデータがSharePoint.内に正しく書き出されたかを簡単に判断できるようにします。ドロップダウンリストから以下のいずれかを選択します。

  • なし …… コネクタの成功/失敗のステータスを保存しない場合このオプションを選択してください。

  • 変数 …… をクリックして変数リストを開きます。コネクタの成功/失敗のステータス情報を保存する変数を選択します。

［SharePoint構成］ダイアログボックスには、以下の追加ボタンが含まれています。

ボタン | 説明
XSDをリフレッシュ | 現在のスキーマをリフレッシュします。 ［XSDをリフレッシュ］をクリックすると、現在のスキーマは上書きされます。［メッセージ］ダイアログが開き、［OK］をクリックすると上書き更新されます。［No］をクリックするとスキーマを更新しないで処理が終了します。

クエリ操作でのカスタムフィルターの使用

クエリ操作の実行中に、SharePointレコードをフィルタリングするために、データマッパーツリーの作成ノードまたは変更ノードの計算値ノードプロパティを使用して、日付範囲に基づいてカスタムフィルターを適用できるようになりました。このフィルターを使用すると、選択した日付の間に作成または変更されたドキュメントの特定のセットをフェッチする複雑さを取り除くことができます。

SharePointコネクタで日付範囲を提供するための構文は 'Between（FromDate、ToDate）'です。

Magic xpiでは、日付範囲は「Between（YYYY-MM-DD、YYYY-MM-DD）」として表示されます。

例えば：

  • 'Between(2019-01-01,2019-01-02)'

  • 'Between('& F.fromDate & ',' & F.toDate &')'

  • 上記の構文は、クエリ操作の作成および変更フィールドにのみ適用され、他のフィールドでは使用できません。

  • •ユーザーは、フィルターの日付範囲の文字長に一致させるために、ノードプロパティの値を常に[カスタム画像をYに使用]および[画像を30に設定する必要があります。


サポートされるクエリ演算子 - Sharepoint

Queryは、エンティティから情報を検索するために使用されます。以下の表は、現在、SharepointコネクタのQueryオペレーションでサポートされる比較演算子を表示しています。

演算子は文字列フィールドでのみ使用できます。

演算子 | 説明
* | 等しい
contains | 含む
beginswith | から開始
!= | 等しくない
<> | 等しくない
<= | 以下
>= | 以上
= | 等しい
< | より小さい
> | より大きい
IsNull (Since version: 4.5) | Null
IsNotNull (Since version: 4.5) | Null でない


リストコレクション

  • リストからSharePointエンティティを選択し、［選択］をクリックします。

  • SharePointサーバから更新されたリストを取得するには、［再読込］をクリックしてください。

  • 選択しないで［リストコレクション］ダイアログボックスを閉じるには、［取消］をクリックします


エンティティフィールドリスト

  • Sリストから必要なエンティティフィールドを選択し、［OK］をクリックしてください。

  • ［すべて解除］をクリックすると選択内容が全て解除されます。

  • 選択しないでエンティティフィールドリストを閉じるには、［取消］をクリックしてください。


ビューコレクション

  • リストから必要なビューを選択し、［選択］をクリックしてください。

  • SharePointサーバからビューの更新リストを取得するためには、［リフレッシュ］をクリックしてください。

  • 選択しないで[［ビューコレクション］ダイアログボックスを閉じるには、［取消］をクリックしてください。


SharePoint - エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。SharePoint コネクタのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

SharePointコネクタのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも SharePoint コネクタで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
1350 | SharePoint 呼び出しエラー: <エラー内容>
1351 | 内部エラー : <エラー内容>

関連トピック：

Magic xpiでのエラー処理


Sugar

Sugarコネクタは、特別なライセンスが必要です。

Sugarコネクタは、Sugarアプリケーションを使用して動作します。

Since version:

4.0a

関連トピック：

Sugar - 構成

Sugar - エラー処理

Sugar トラブルシューティング


Sugar - 設定

Sugarコネクタをフローに配置すると、Magic xpiは自動的にそのコネクタの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

そして、コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、［Sugar設定］ダイアログボックスを開きます。

Sugarコネクタを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初にSugar リソースを定義する必要があります。

Sugarコネクタは以下のインタフェースをサポートします。

  • XML

  • メソッド

このコンポーネントはトリガエリアに配置し、トリガとして使用することもできます


Sugar - XML

Sugarコネクタは、Magic xpiのXMLインタフェースと動作するように設計されています。

Sugarコネクタをフローにドラッグすると、［プロパティ］ペインが開きます。コンポーネントをダブルクリックするか、右クリックしコンテキストメニューから［構成］を選択してください。［Sugar構成］ダイアログボックスが開きます。

このダイアログボックスには、以下のフィールドが含まれています。

プロパティ

説明

接続

リソース名

コンポーネントの［プロパティ］ペインで選択したリソースの名前。リソースは、［設定］ダイアログボックスの［リソース］セクションで定義されます。

オペレーション

モジュール

をクリックするとモジュールリストが開きます。処理が実行されるモジュールを選択してください。

オペレーション

ドロップダウンリストから以下の処理のうちどれかを選択します。

  • Query …… これは、Sugarモジュールからデータを検索するために使用されます。特定の条件に基づいたオブジェクトを取り出すためにデータマッパーを使用することができます。

  • 上級ユーザーは、レガシーAPIのためのデータマッパーのWHERE要素(SQLノード内)またはより新しいV10APIのFILTER要素(Request_Argumentsノード内)を使用してカスタムフィルタをクエリに適用することができます。例えば、last_name='Smith'
              や first_name='John', でデータを検索する場合、レガシーAPIのWHERE句を使用して次のようにする必要があります。
Contacts.last_name=&apos;Smith&apos;AND
             Contacts.first_name=&apos;John&apos;

WHERE句内のフィールドを参照する場合、テーブル名とフィールド名（次のような構文の式:<DB_TableName>.<FieldName>)）を含める必要があります。モジュール名やフィールド名ではありません。

WHERE句は、直接データベースに送られます。

V10API の中では、FILTER句を使用してください。
filter[0][first_name][$starts]=John&filter[0][last_name]=Smith

Magic xpiは、フィルタをそのままでSugarに渡すため、それらのサポートされたフィルタ処理のどれでも使用することができます。Sugarサイト上でフィルタ処理のリストを見つけることができます。

  • Create …… これは、組織データ内に新しいオブジェクトを作成する場合に使用されます。データマッパーを使用して新規オブジェクトフィールドの値を指定することができます。

  • Update …… これは、組織データ内の指定したオブジェクトを更新するために使用されます。オブジェクトを更新する際、そのIDを知る必要があります。例えば、オブジェクトIDを取得するためにQueryを使用し、さらにUpdateを呼び出すことができます。更新したい他のフィールドと同じように、オブジェクトIDを設定するためにデータマッパーを使用する必要があります。

  • Delete: …… これは、指定したオブジェクトを組織データから削除するために使用されます。オブジェクトを削除したい場合、そのIDを知る必要があります。例えば、オブジェクトIDを取得するためにQueryを使用し、さらにDeleteを呼び出すことができます。更新したい他のフィールドと同じように、オブジェクトIDを設定するためにデータマッパーを使用する必要があります。オブジェクトIDは、必須入力です。

レコードの最大数

このオプションのフィールドは、[操作]フィールドで[クエリ]を選択した場合にのみ使用できます。

ここでは、クエリ操作の実行中にSugarサーバーからフェッチする必要があるレコードの最大数を指定できます。 デフォルト値は0です。デフォルト値を変更しない場合、最大1000レコードがフェッチされます。

値は、計算値フィールドを使用してデータマッパーフィルターノードで指定することもできます。 設定できる属性は、xpi_max_numおよびxpi_offsetです。 フィルターが作成されると、ステップで指定された値よりも優先されます。

チャンクごとのレコード

このオプションのフィールドは、[操作]フィールドで[クエリ]を選択した場合にのみ使用できます。

Sugarへの各呼び出しでフェッチするレコードの最大数。 0を入力するか、フィールドを空白のままにすると、1000レコードが返されます。

値がレコードの最大数よりも小さい場合、チャンクあたりのレコードはレコードの最大数と同じと見なされます。

これは、クエリレコードに4500個のオブジェクトが含まれており、チャンクごとのレコードパラメータの値が1000に設定されている場合、Sugarコネクタは、Sugarへのクエリ呼び出しを5回実行して、レコードセット全体をフェッチすることを意味します。

戻り値フィールド

［オペレーション］でQueryを選択した場合のみ有効です。

隣接したチェックボックスですべてを選択するか、モジュールフィールドリストからフィールドを選択することができます。

チャンクごとの結果

［オペレーション］でQueryを選択した場合のみ有効です。

Sugarへの各呼び出しで取得したい結果の最大数です。0を入力するか、フィールドを空白のままにすると、2000の結果が返されます。

これは、問合わせ結果に4500のオブジェクトが含まれ、［チャンクごとの結果］パラメータに1000が設定されることを意味します。Sugarコネクタは、設定される全ての結果を取得するためにSugarに5つのクエリ呼び出しを実行します。

バッチサイズ

［オペレーション］でCreateまたは、Update、Deleteを選択した場合のみ有効です。

エンティティの最大数は、Sugarへの各リクエストに送ります。

これは、Sugar内で1000アカウントを更新しようとして、［バッチサイズ］パラメータの値を300に設定すると、SugarコネクタはSugarに対する4つの更新呼び出しを実行します。

戻り値削除

削除すると定義されたエンティティをクエリ結果で返したい場合、このチェックボックスを選択してください。

新規オブジェクトID

［オペレーション］でCreateを選択した場合のみ、このフィールドは有効です。

をクリックして変数リストを開き、作成されたオブジェクトIDを格納する変数を選択します。

結果オプション

結果保存

結果のXMLファイルを保存したい場所を定義します。ドロップダウンリストから以下のいずれかを選択します。

  • ファイル …… Sugarによって返されるオブジェクトデータを保持するファイルを選択します。 をクリックすると式エディタが開きます。 をクリックすると、この情報を保存するファイルパスを入力できます。

  • 変数 （デフォルトは C.UserBlob）…… Sugarから返されるオブジェクトデータを保持する変数を選択します。 をクリックすると変数リストが開きます。情報を保存する変数を選択します。

  • 分割ファイル …… 大きなXMLファイルを複数の小さなXMLファイルに分割します。このオプションを選択した場合、このダイアログボックスの［分割ファイルオプション］セクションに必要な情報を入力する必要があります。

オペレーション結果

このフィールドはデータオブジェクトがSugar内に正しく位置付けられたかどうかを簡単に判断できるようにします。ドロップダウンリストから以下のいずれかを選択します。

  • None (デフォルト) …… コネクタの成功/失敗のステータスを保存しない場合このオプションを選択してください。

  • Variable …… コネクタの成功/失敗のステータス情報を保存する変数を選択します。

分割ファイルオプション

ディレクトリ

分割ファイルを保持するディレクトリ。 をクリックして式エディタを開き、ディレクトリ名を入力してください。

接頭辞

分割ファイルの接頭辞。 をクリックして式エディタを開き、接頭辞を入力してください。

ファイル毎のレコード

各分割ファイルのレコード数。 をクリックして式エディタを開き、必要なレコード数を入力してください。

分割数

分割数が返る数値変数。 をクリックして変数リストを開き、必要な変数を選択します。

［Sugar構成］ダイアログボックスには、以下の追加ボタンが含まれています。

ボタン | 説明
リフレッシュXSD | 現在のスキーマを再表示します。 ［リフレッシュXSD］をクリックすると、現在のスキーマが上書きされます。メッセージダイアログが開き、［OK］をクリックすると更新と上書きの確認が表示されます。［キャンセル］をクリックすると、スキーマを更新することなく処理を終了します。

関連トピック：

Sugar - IDによるオブジェクト参照


Sugar - IDによるオブジェクト参照

オブジェクトIDでオブジェクト参照する

Sugarオブジェクト（親オブジェクトに依存します）の参照、作成、削除を行うとき、親オブジェクトのIDを読み出す必要があります。

この処理を単純化するには、［プロパティ］ペインの［計算値］フィールドで、getObjectIDbyField関数を使用します。

関数の構文は、以下の通りです。

getObjectIDbyField (ModuleName, FieldName, FieldValue, ErrorIfEmpty)

パラメータは以下の通りです。

  • ModuleName …… APIに表示されるSugarモジュールの名前。

  • FieldName …… Where句フィールドで使用されるモジュール・フィールドの名前。

  • FieldValue …… 問い合わ値。

  • ErrorIfEmpty …… Trueに設定されると以下のように定義されます。

  • メソッドがIDを見つけなかった場合、処理は実行されません。

  • getObjectIDbyField関数が空白値を返す場合、以下のようになります。

    • 作成処理でオブジェクトは作成されず、エラーが結果XMLに返されます。

    • 更新処理でオブジェクトは更新されず、エラーが結果XMLに返されます。

    • 照会処理でオブジェクトは失敗し、エラーが結果XMLに返されます。

例：'getObjectIDbyField (Accounts, name, ABC, true)'は、ABCという名前のアカウントのIDを返します。

上述のように、式全体がシングルクオーテーションで囲まれていることを確認することが重要です。

getObjectIDbyField関数を使用するとき、検索によって複数のエントリが見つかると、最初のIDだけが返されます。


モジュールリスト

  • リストから必要なモジュールを選択し、［OK］をクリックしてください。

  • 選択しないで閉じるには、［取消］をクリックしてください。

  • 現在のモジュールリストをSugarMサーバから読み出すには、［リフレッシュ］をクリックしてください。


モジュールフィールドリスト

  • リストから必要なモジュールを選択し、［OK］をクリックしてください。

  • ［すべて解除］をクリックすると選択内容が全て解除されます。

  • 選択しないでモジュールフィールドリスト閉じるには、［キャンセル］をクリックしてください。


Sugar - トリガ設定

Sugarコネクタは、Sugarのオブジェクトの変更をトリガとしてフローを起動できます。

SugarコネクタをMagic xpiのトリガエリアにドラッグすると、［プロパティ］ペインを開きます。コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、［Sugarトリガ設定］ダイアログボックスを開きます。

このダイアログボックスには以下のフィールドが含まれています。

名前

説明

接続

リソース名

この読み込み専用フィールドは、［設定］ダイアログボックスの［サービス］セクションでトリガのために選択されたSugarリソースの名前が表示されます。

ポーリング間隔

をクリックして［ポーリング間隔］ダイアログボックスを開きます。組織データの変更をコネクタがチェックする間隔を入力します。分、時間、日数の組み合わせを選択することができます。デフォルトでは、間隔は5分に設定されています。

同期

イベントが実行されるたびに同期モードでMagic xpiのフローを呼び出す場合は、このチェックボックスを選択してください。これは、次のフローは以前に呼び出されたフローが完了してから呼び出されることを意味しています。

デフォルトはチェックが外されています。

キープアライブ間隔（分）

自動的に再起動される前にトリガの応答がない場合の時間を分数で指定します。デフォルト値は0で、これはトリガの応答を永久に待ち続けることを意味します。

  • このパラメータ値の選択は、慎重に行ってください。値が少な過ぎると、有効な処理が終了する前に、トリガは終了するかもしれません。

  • ［同期］のチェックボックス（上記)を選択すると、トリガとフローは同じスレッドで動作します。これは、応答がないためにトリガが終了されると、フローも同じように終了することを意味します。したがって、［キープアライブ間隔］を設定する場合、実行するフローの処理時間を考慮する必要があります。例えば、トリガの無応答時間が3分で、フローの実行時間が最高2分の場合、［キープアライブ間隔］は、5以上に値する必要があります。

行ラベル

トリガされた行を定義するラベルを入力します。フロー呼出時に下記の［行ラベルの保存］フィールドにマッピングされた変数がラベルの値を保持します。

モジュール

をクリックしてモジュールリストを開きます。オペレーションが実行されるオブジェクトを選択します。

オペレーション

ドロップダウンリストから以下のいずれかの処理を選択します。

  • 作成

  • 更新(デフォルト)

  • 削除

開始日付

をクリックして変数リストを開きます。データ検索に必要な開始日付を選択します。このフィールドにはグローバル変数のみ使用することができます。

変数が空の場合か変数を使用しない場合、次回プロジェクトを実行すると、Magic xpiはポーリングを開始します。Magic xpiは、Sugarが各リソース、オブジェクト、およびオペレーションの組み合わせに対してポーリングした最後の指示を保存します。最後のタイムスタンプは、%currentprojectdir%Sugarフォルダ内のTrigger.xmlファイルに保存されます。

このフィールドには、XML DateTimeの書式を使用する必要があります。有効な開始日を作成するためにMagic xpiのDateTimeFormat関数を使用することができます。

結果保存オプション

XML結果の保存

これはトリガのポーリング結果を保持する場合に使用します。

をクリックして変数リストを開きます。［選択］をクリックして必要なBLOB変数を選択します。デフォルトはUserBLOBです。

行ラベルの保存

トリガの行ラベルを保存する場合に使用します。

をクリックして変数リストを開きます。［選択］をクリックして必要な文字型変数を選択します。

最終日付の保存

のフィールドは、トリガが変更をオブジェクトの削除や更新、追加)を見つけた最後の日付と時間を保持します。

をクリックして変数リストを開きます。［選択］をクリックして必要な文字変数を選択します。

［Sugarトリガ構成］ダイアログボックスには以下のボタンもあります。

ボタン | 説明
XSDリフレッシュ | 全ての選択したオブジェクトのオブジェクトスキーマを取り出します。
新規 | トリガテーブルに新しい行を作成します。
削除 | トリガテーブルで選択した行を削除します。

コネクタを構成し終わったら、［OK］をクリックして全ての選択したオブジェクトのSugarスキーマを生成し、［Sugarトリガ構成］ダイアログボックスを閉じます。

［キャンセル］をクリックすると定義は保存されず、［SugarCRMトリガ構成］ダイアログボックスが閉じます。


Sugar - メソッド

以下のメソッドはダイレクトアクセスメソッドを使用してSugarコネクタを構成するのに使用されています。

  • Create Product Bundles

  • Document Add Revision

  • Get Server Info

  • Get User ID

  • Link

  • Note Add Attachment

以下の表は使用できるメソッドとパラメータの一覧です。太字 のパラメータは必須です。

メソッド

パラメータ

説明

Create Product Bundles

引用文行の項目でグループを作成します。

グループ名

グループの名前。

グループステージ

グループのステージ。ドロップダウンリストから以下のどれかを選択してください。

  • Draft (デフォルト)

  • Negotiation

  • Deliverd

  • On Hold

  • Confirmed

  • Closed Accepted

  • Closed Lost

  • Closed Dead

結果製品バンドルID

作成された製品のバンドルID。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数項目を選択してください。

Document Add Revision

既存のドキュメント・エンティティに新しいドキュメント改訂を追加します。XMLインターフェースでドキュメント・エンティティを最初に作成しなければなりません。

ドキュメントID

ドキュメントのID

ファイルパス

新しく改訂されたファイルのフルパス

リビジョン

リビジョン番号

結果リビジョンID

作成されたリビジョンID

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数項目を選択してください。

Get Server Info

Sugarサーバの現在のGMT時間、バージョンと特色を取得します。

フレーバー

Sugarのエディション（例、Enterprise, Professional, or Community）

バージョン

Sugarシステムのバージョン番号

GMT時間

サーバ上の現在のGMT時間：Y-m-d H:i:s 書式

Get User ID

現在のセッションでのユーザIDを返します。

ユーザID

現在のセッションのユーザIDを返します。

Link

引用文、製品バンドル、および製品の間のリンクを作成します。

モジュール名

モジュールの名前。

モジュールID

モジュールのID。

リンク名

リンクの名前。

リンクモジュールID

リンクが作成されたモジュールのID。

リンク結果

リンク結果を格納したい変数。

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数項目を選択してください。

Note Add Attachment

既存のノートエンティティにファイルを添付します。XMLインターフェースでメモ・エンティティを最初に作成しなければなりません。

Note ID

ノートのID

ファイルパス

ノートに添付するファイルのフルパス

結果ノートID

作成／更新されたノートID

エラーコード

をクリックして変数リストを開きます。エラーコードが返される変数項目を選択してください。


Sugar - エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。Sugar コネクタのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

Sugar コネクタのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも Sugar コネクタで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
7500 | Sugarの内部のエラー：<エラーの説明> このエラーの例を見る場合は、ここをクリックしてください。

関連トピック：

Magic xpiのエラー処理


TCPリスナ

Home > コンポーネント シリーズ > TCPListner

TCPListner

TCPはクライアントとサーバの間の信頼できる通信を提供します。TCPListnerコンポーネントは、Magic xpiが連続的に、TCPポート上でクライアントによって作成されるリクエストを監視することができます。コンポーネントは、TCPクライアントからの指定したリクエストを見つける統合フローを起動します。

TCPListnerコンポーネントは、トリガコンポーネントとしてのみ使用できます。

関連トピック：

TCPListner - 設定

TCPListner - エラー処理


TCP リスナ - 設定

TCPListnerコンポーネントは、Magic xpiが連続的に、TCPポート上でクライアントによって作成されるリクエストを監視することができます。コンポーネントは、TCPクライアントからの指定したリクエストを見つける統合フローを起動します。

TCPListnerコンポーネント使用する前に、［設定］ダイアログボックスの［サービス］セクションで最初にTCPListnerサービスを定義する必要があります。

［コンポーネント設定：TCPListner］ダイアログボックスには、以下のフィールドが含まれています。

名前

説明

オペレーション詳細

メッセージ

TCPクライアントから受け取ったリクエストを格納する変数を指定します。

をクリックして変数リストを開きます。ここから必要な変数を選択します。

戻値

戻り値を格納する変数を指定します。［処理モード］をSynchronousと設定した場合、Trueが返されます。［処理モード］をAsynchronousと設定した場合、Falseが返されます。

をクリックして変数リストを開きます。ここから必要な変数を選択します。

リクエスト詳細

処理モード

リクエストがどのように処理されるかを指定します。ドロップダウンリストから以下のどれかを選択してください。

  • Synchronous （デフォルト） …… 一旦フロー処理（フローのどんな並行した分岐を含む）が完了したら、［戻り値］の変数には、TCPクライアントの応答がが返ります。

  • Asynchronous …… 一般的な確認情報が、TCPクライアントに返されます。リクエストがその処理を完了するまで、リクエストは待ちません。


TCP リスナ - エラー処理

Home > コンポーネント シリーズ > TCPListner > TCPListner - エラー処理

TCPListnerTCP リスナ - エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。TCPListnerコンポーネントのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

TCPListnerコンポーネントのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも TCPListnerコンポーネントで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
7000 | 接続エラー <エラーメッセージ>
7001 | タイムアウトエラー

関連トピック：

Magic xpiでのエラー処理


検証

検証コンポーネントは、正確性が重要な状況で正しいデータが使用されているかを確認する手段を提供します。例えば、データマッパーと連動して入力されたデータの妥当性を検査する場合にこのコンポーネントを使用することができます。

検証コンポーネントは、以下の機能を提供します。

トリガの引数検査 | トリガが実行され、Magic xpiが引数のセットを受け取った場合、実行を続ける前に受け取った値の妥当性を調べる必要があります。
マッパレコードの検査 | 外部リソースから複数レコードのデータを受け取った場合、処理続行の前に妥当性を調べる必要があります。
不当な値の処理 | 無効な値が返されたとき、メソッドの連続実行を止めることができます。

関連トピック：

検証 – 設定

検証コンポーネントを使用する

検証 – エラー処理


検証 – 構成

検証 コンポーネントは、Flow Dataの妥当性を検査できます。

検証 コンポーネントをフローに配置すると、Magic xpiは自動的にそのコネクタの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［構成］選択して、［ダイレクトアクセスメソッド：検証］ダイアログボックスが開き、検証 コンポーネントを構成します。

検証 コンポーネントは以下のインタフェースをサポートします。

  • メソッド


検証 – メソッド

以下のメソッドを使用して検証コンポーネントを構成します。

  • Alpha Field Value

  • Date Field Range

  • Empty Field

  • Field Format

  • Numeric Field Range

  • Number Field Value

  • Text Field Length

  • XML Validation

以下の表は使用できるメソッドとパラメータの一覧です。太字 のパラメータは必須です。

メソッド

パラメータ

説明

Alpha Field Value

引数の文字列値が指定されたオプションの値と同じかどうか検査します。

入力値

検証コンポーネントに確認させたい値を直接入力するか、 [image] をクリックして式エディタを開き入力します。

有効な値

カンマ区切りの有効な値を含むも文字列を直接入力するか、 [image] をクリックして式エディタを開き入力します。

戻値

このパラメータは要求された検査の結果を返します。メソッドの戻り値を格納する任意の変数を選択することができます。

をクリックして変数リストを開き、利用可能な変数から選択することができます。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Date Field Range

指定された日付の値が定義された範囲内かどうかを検査します。

入力値

検証コンポーネントに検査してもらいたい日付を直接入力するか、 [image] をクリックして式エディタを開いて入力します。

範囲タイプ

ドロップダウンリストから以下のいずれかの範囲タイプを選択します。

  • 日付範囲

  • 日付From

  • 日付From

日付From

チェックしたい範囲の開始日を直接入力するか、 [image] をクリックして式エディタを開き入力します。

日付To

チェックしたい範囲の終了日を直接入力するか、 [image] をクリックして式エディタを開いて入力します。

戻値

このパラメータは要求された検査の結果を返します。メソッドの戻り値を格納する任意の変数を選択することができます。

をクリックして変数リストを開き、利用可能な変数を選択することができます。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Empty Field

指定された引数が空白かどうかを検査します。

入力値

検証コンポーネントで検査したい引数の名前を直接または、 [image] をクリックして式エディタで入力します。

戻値

このパラメータは要求された検査の結果を返します。メソッドの戻り値を格納する任意の変数を選択することができます。

をクリックして変数リストを開き、利用可能な変数から選択することができます。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Field Format

指定された引数の日付が正しいフォーマットで入力されたかを検査します。

入力値

検証コンポーネントで検査したい文字列を直接または、 [image] をクリックして式エディタで入力します。

入力jタイプ

入力値の形式を以下のドロップダウンリストから選択します。

  • 数値

  • 日付

  • 時刻

  • 文字

数値書式

このパラメータは、［タイプ］フィールドのドロップダウンリストから数値を選択した場合のみ有効になります。

必要な数値フォーマットを直接または、 [image] をクリックして式エディタを開き入力します。

日付書式

このパラメータは、［タイプ］フィールドのドロップダウンリストから日付を選択した場合のみ有効になります。

以下の日付フォーマットのいずれかをドロップダウンリストから選択します。

  • DD/MM/YYYY

  • MM/DD/YYYY

  • DD/MM/YY

  • MM/DD/YY

  • カスタム

時刻書式

このパラメータは、［タイプ］フィールドのドロップダウンリストから時刻を選択した場合のみ有効になります。

以下の時刻フォーマットのいずれかをドロップダウンリストから選択します。

  • HH:MM:SS

  • HH:MM

  • HHMMSS

  • HHMM

  • カスタム

文字書式

このパラメータは、［タイプ］フィールドのドロップダウンリストから文字を選択した場合のみ有効になります。

必要な文字列のフォーマットを直接または、 [image] をクリックして式エディタを開いて入力します。

日付カスタムマスク

このパラメータは、［日付書式］フィールドのドロップダウンリストからカスタムを選択した場合のみ有効になります。

このマスクは、例えば数値の間の区切り文字を定義したり日付の書式を定義することができます。

必要なマスクを直接または、 [image] をクリックして式エディタを開いて入力します。

時刻カスタムマスク

このパラメータは、［時刻書式］フィールドのドロップダウンリストからカスタムを選択した場合のみ有効になります。

このマスクは例えば数値の間の区切り文字を定義したり時刻の書式を定義することができます。

必要なマスクを直接または、 [image] をクリックして式エディタを開いて入力します。

戻り値

このパラメータは要求された検査の結果を返します。メソッドの戻り値を格納する任意の変数を選択することができます。

をクリックして変数リストを開き、利用可能な変数を選択することができます。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Numeric Field Range

指定された数値引数の値が定義された範囲内かどうかを検査します。

入力値

検証コンポーネントで検査したい数値引数を直接または、 [image] をクリックして式エディタで入力します。

範囲タイプ

範囲の形式を以下のドロップダウンリストから選択します。

  • 最小 から 最大

  • 最小

  • 最大

最小

検証コンポーネントで検査したい数値引数の範囲の最小値を直接または、 [image] をクリックして式エディタで入力します。

最大

検証コンポーネントで検査したい数値引数の範囲の最大値を直接または、 [image] をクリックして式エディタで入力します。

戻値

このパラメータは要求された検査の結果を返します。メソッドの戻り値を格納する任意の変数を選択することができます。

をクリックして変数リストを開き、利用可能な変数を選択することができます。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Numeric Field Value

指定された引数の値が指定されたオプションの値と同じか検査します。

入力値

検証コンポーネントで検査したい数値を直接または、 [image] をクリックして式エディタで入力します。

有効な値

検証コンポーネントで検査したいカンマ区切りの有効な数値を含む文字列を直接または、 [image] をクリックして式エディタで入力します。

戻値

このパラメータは要求された検査の結果を返します。メソッドの戻り値を格納する任意の変数を選択することができます。

をクリックして変数リストを開き、利用可能な変数を選択することができます。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Text Field Length

指定された文字列が許可された長さに収まっているか検査します。

入力値

検証コンポーネントで文字列長を検査したい文字列を直接または、 [image] をクリックして式エディタで入力します。

範囲タイプ

範囲の形式を以下のドロップダウンリストから選択します。

  • 最小 から 最大

  • 最小

  • 最大

最小

検査したい文字列の許可された最短値を直接または、 [image] をクリックして式エディタで入力します。

最大

検査したい文字列の許可された最長値を直接または、 [image] をクリックして式エディタで入力します。

戻値

このパラメータは要求された検査の結果を返します。メソッドの戻り値を格納する任意の変数を選択することができます。

をクリックして変数リストを開き、利用可能な変数を選択することができます。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

XML Validation

引数のXMLが正しいかどうか提供されたXSDで検査します。

XML

検証コンポーネントで検査したいXMLファイルを直接または、 [image] をクリックして式エディタで入力します。

XSD

検証コンポーネントで検査したいXMLのXSDファイルのパス/URL数値引数の範囲の最大値を直接または、 [image] をクリックして式エディタで入力します。

戻値

このパラメータは要求された検査の結果を返します。メソッドの戻り値を格納する任意の変数を選択することができます。

をクリックして変数リストを開き、利用可能な変数を選択することができます。

エラーコード

このパラメータは、エラーが発生した場合、対応するエラーコードとともに返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

関連トピック：

ダイレクトアクセスメソッドの使い方


検証コンポーネントを使用する

以下の例は、Magic xpiのフローでどのように検証コンポーネントを使用するかを示しています。このシナリオでは、コンポーネントを使用してHTTPから来た注文をチェックします。もし中身が有効であればフローは引き続き実行されます。

  1. 新しいHTTPサービスを定義します。こちらを参照してください。

  2. ［設定］ダイアログボックスの［サービス］セクションで[エンドポイント]ボタンをクリックしてください。［エンドポイント］ダイアログボックスが開きます。ここで左側のペインで［新規］をクリックして適切なエンドポイント名を入力します。右側のペインで［新規］をクリックしてエンドポイントに引数を追加します。

  3. この例のために二つの引数を追加します。最初の引数のデータタイプは文字とし、二つ目は数値にします。これが終了したら［OK］をクリックして［エンドポイント］ダイアログボックスを閉じ、次に［設定］ダイアログボックスの［適用］をクリックします。

  4. 次の段階は、必要なフロー変数を定義することです。これを行うには、関連したフローで［フロー変数］をダブルクリックしてください。フロー変数リポジトリで、［追加］をクリックしてください。F.Name1変数のデータタイプを文字と定義します。再び［追加］クリックして、F.Name2変数のデータタイプを数値と定義してください。これらのデータタイプが先ほど定義したエンドポイントの引数のデータタイプと一致していることに留意してください。更にもう一度、［追加］をクリックして変数名をF.Valid_Inputと入力します。この変数のデータタイプは論理と定義します。［保存］をクリックして変数を保存します。

  5. HTTPコンポーネントをMagic xpiスタジオのトリガエリアにドラッグします。［プロパティ］ペインが開きます。［設定］セクションで、値が［設定］ダイアログボックスの［サービス］セクションで定義したものであることが確認できるはずです。

  6. コンポーネントをダブルクリックするか、右クリックしてコンテキストメニューから［構成］を選択してください。［コンポーネント設定：HTTP］ダイアログボックスが開きます。読み込み専用の［サービス名］フィールドには、［設定］ダイアログボックスの［サービス］セクションで定義した名前が表示されます。［エンドポイント名］フィールドでは､先ほど定義したエンドポイントを選択します。［引数詳細］セクションでは、以前に定義した引数の値が表示されます。

ここで引数１の［マッピング変数］カラムで [image] をクリックして変数リストを開きます。リストからF.Name1変数を選択します。

引数２の［マッピング変数］カラムで [image] をクリックして変数リストを開きます。リストからF.Name2変数を選択します。

  7. ［OK］をクリックして［コンポーネント設定：HTTP］ダイアログボックスを閉じます。

  8. HTTPトリガの設定が終了したら受け取るデータを検査する必要があります。この例では文字と数値のデータタイプは検査する必要があります。検査を行なうには、検証コンポーネントをフローエリアにドラッグします。［プロパティ］ペインは開きます。コンポーネントをダブルクリックするか、右クリックしてコンテキストメニューから［構成］を選択します。［ダイレクトアクセスメソッド：検証］ダイアログが開きます。

  9. 最初に文字データの検査パラメータを定義します。［ダイレクトアクセスメソッド：検証委］ダイアログボックスで［追加］をクリックします。ドロップダウンリストから Alpha Field Valueメソッド選択します。パラメータに以下の値を入力します。太字のパラメータは必須です。

パラメータ | 値
入力値 | をクリックして式エディタを開きます。 をクリックし変数リストを開きます。リストから F.Name1を選択します。［検証］をクリックしてこの変数の妥当性を確認し［OK］をクリックして式エディタを閉じます。
検査値 | をクリックして式エディタを開きます。確認したい有効な値を入力します。例えば'ABC'です。［検証］をクリックしてこの値の妥当性を確認し、［OK］をクリックして式エディタを閉じます。
戻り値 | をクリックして変数リストを開きます。F.Valid_Input（以前定義した）を選択し、［選択］をクリックします。

データタイプのいずれかが妥当性検査を通らなかった場合、データの妥当性検査を続ける必要はありません。このメソッドに条件を追加して特定の値が妥当性検査を通らなかった場合、この妥当性検査処理やフローを終了させることができます。

これを行なうには左側ペインの［条件］カラムのAlpha Field Valueメソッド名の横の [image] ボタンをクリックします。式エディタが開いたら をクリックして変数リストを開きます。F.Valid_Input を選択します。［OK］をクリックして式エディタを閉じます。

  10. 次に数値データタイプの妥当性検査パラメータを定義します。［ダイレクトアクセスメソッド：検証］ダイアログボックスから［追加］をクリックします。ドロップダウンリストからNumeric Field Range メソッドを選択します。パラメータとして、以下の値を入力します。太字のパラメータは必須です。

パラメータ | 値
入力値 | をクリックして式エディタを開きます。 をクリックして変数リストを開きます。リストからF.Name2 を選択します。［検証］をクリックしてこの変数の妥当性を検査し、［OK］をクリックして式エディタを閉じます。
範囲タイプ | ドロップダウンリストから 最小値 から 最大値を選択します。
最小値 | ここに 10 を入力します。
最大値 | ここに 25 を入力します。
戻り値 | をクリックして変数リストを開きます。F.Valid_Input（以前定義した）を選択して［選択］をクリックします。

  11. ［OK］をクリックして［ダイレクトアクセスメソッド： 検証］ダイアログボックスを閉じます。

  12. メッセージ保存ユーティリティを検証コンポーネントの子になるようにフローにドラッグします。［名前］フィールドに Invalid Input と入力します。［メッセージ］フィールドで [image] をクリックし、式エディタを開きます。 Invalid Input と入力し［OK］をクリックします。

  13. 別のメッセージ保存ユーティリティを検証コンポーネントのもうひとつの子になるようにフローにドラッグします。［名前］フィールドに Valid Inputと入力します。［メッセージ］フィールドで をクリックし式エディタを開きます。Valid Inputと入力し、［OK］をクリックします。

検証コンポーネントをこのように使用するとHTTPを通して受け取ったデータが妥当でない場合、フローは実行されません。


検証 – エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。検証コンポーネントのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

検証コンポーネントのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも 検証コンポーネントで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
851 | 最大長が最小長より短い
852 | 最大日付が最小日付より前の日付
853 | 入力値は数値でなくてはならない
854 | XSD ファイルが存在しない
855 | 数値リストに数値以外の変数が入っている
856 | 最大値が最小値より小さい
857 | 有効値に値が設定されていない

関連トピック：

Magic xpiでのエラー処理


WCFクライアント

WCFクライアント コネクタは、Magic xpiが、Microsoft の Windows Communication Foundation (WCF) テクノロジーを使用して、Web Serviceのコンシューマとして機能することを可能にします。

Magic xpi スタジオと実行エンジンでWCFクライアント コネクタを使用するには、PCに.NETフレームワーク4.5以上をインストールする必要があります。

Windows SDK 8.1以上は、開発目的でPCにインストールする必要があります。これは、開発の場合は必須ですが、実行環境ではこの限りではありません。

SVCUtil、SvcConfigEditor そしてDotNetCompilerの各フラグをMagic.iniファイルに設定する必要があります。

Since version:

4.5

関連トピック：

WCFクライアント - 設定

WCFクライアント - エラー処理


WCFクライアント - 設定

WCFクライアント コネクタをフローに配置すると、Magic xpiは自動的にそのコネクタの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

そして、コネクタをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、設定ダイアログボックスを開きます。

WCFクライアント コネクタを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初にWCFクライアント リソースを定義する必要があります。

WCFクライアント コネクタは以下のインタフェースをサポートします。

  • XML


WCFクライアント - XML

WCFクライアント コネクタは、Magic xpiのXMLインタフェースを使用して動作するように設計されています。WCFクライアント コネクタをフローにドラッグすると、［プロパティ］ペインが開きます。コネクタをダブルクリックするか、右クリックしコンテキストメニューから［設定］を選択してください。［WCFClient設定］ダイアログボックスが開きます。

このダイアログボックスには、以下のフィールドが含まれています。

プロパティ

説明

接続

リソース名

コンポーネントの［プロパティ］ペインで選択したリソースの名前。リソースは、［設定］ダイアログボックスの［リソース］セクションで定義されます。

オペレーション

コントラクト

ドロップダウンリストから必要なコントラクトを選択してください。

［設定］ダイアログボックスのWCFクライアントの［リソース］セクションで［サービスの読込］ボタンをクリックすると、このリストにコントラクトが格納されます。

オペレーション

ドロップダウンリストから必要なオペレーションを選択してください。このリストには、［コントラクト］フィールド(上記)で選択されたコントラクトの使用に関連しているすべてのオペレーションがあります。

結果オプション

結果保存

結果として生じているXMLファイルを保存する場所を指定します。ドロップダウンリストから以下のどれかを選択してください。

  • Variable （デフォルトは C.UserBlob） …… WCFクライアントから返されるエンティティデータを保持する変数を選択します。 をクリックすると変数リストが開きます。情報を保存する変数を選択します。

  • File …… WCFクライアントによって返されるオブジェクトデータを保持するファイルを選択します。 をクリックすると式エディタが開きます。 をクリックすると、この情報を保存するファイルパスを入力できます。

オペレーション成功

このフィールドはデータエンティティがWCFクライアントに正しく位置付けられたかどうかを簡単に判断できるようにします。ドロップダウンリストから以下のいずれかを選択します。

  • None (デフォルト) …… コネクタの成功/失敗のステータスを保存しない場合このオプションを選択してください。

  • Variable …… コネクタの成功/失敗のステータス情報を保存する変数を選択します。 をクリックして、変数リストを開いてください。

［Advanced］をクリックすると［Advanced settings］ダイアログボックスを開きます。 詳細は、WCFクライアント - 拡張設定を参照してください。 （Since version: 4.8）

[OK]をクリックすると設定処理が完了します。

オペレーションに引数がない場合、データマッパーの子ノードの条件を「TRUE」LOGに設定します。この条件が設定されていないと、実行時に「送り元または送り先にマッパ接続がありません」というエラーになります。


WCFクライアント - 拡張設定

[WCFクライアント設定]ダイアログボックスで[Advanced]をクリックすると、[Advanced settings]ダイアログボックスが開きます。このダイアログボックスを使用すると、ユーザーはさまざまなリクエストおよび応答 のSOAPヘッダを定義することができます。以下の情報を入力してください。

特性 | 説明
カスタム SOAP ヘッダ
リクエストSOAP ヘッダ | このフィールドは、SOAPリクエストの一部として送信する必要があるすべての必須なカスタムSOAPヘッダを含むXMLを保持します。 このXMLのルートは<MAGIC_SOAP_HEADERS>である必要があります。 をクリックして式エディタを開き、SOAPリクエストのカスタムSOAPヘッダを定義します。このフィールドは必須ではありません。
レスポンス SOAP ヘッダ | 実行時には、この変数はSOAPレスポンスで返されたSOAPヘッダを保持します。XMLルートは<MAGIC_SOAP_HEADERS>である必要があります。 をクリックして変数リストを開き、Response Custom SOAP Headers変数を選択します。Blob型の変数のみがサポートされています。このフィールドは必須ではなく、デフォルトでは選択されていません。

[OK]をクリックするカスタムSOAPヘッダを設定します。

カスタムSOAPヘッダを設定すること(>o<)処理をを終了するには、[キャンセル]ボタンをクリックします。

Since version:

4.8


WCFClient - エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。WCFClientコネクタのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

WCFClientコネクタのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも WCFClientコネクタで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
1251 | WCFClient呼び出しエラー： <エラーの説明>

カスタムフォルトオブジェクトの処理

WCFクライアントが障害をスローすると、オペレーション成功値はFalseとして返され、結果保存 フィールドには一般エラーの詳細またはカスタム障害オブジェクトに関する情報が保持されます。

一般エラーの場合、スキーマファイルSchema0.xsdを使用して応答xmlの一般エラーを解析します。

カスタム障害オブジェクトの場合は、オペレーション作ごとに生成されるスキーマファイルError.xsdが、カスタム障害応答xmlの解析に使用されます。

  • 一般エラースキーマファイルはコントラクトごとに生成され、次のディレクトリに配置されます。

<プロジェクトフォルダ>\WCFClient\<リソース名>\XSD\<コントラクト名>\Fault\

  • このフォルダの下に生成されたスキーマファイルには、Error要素が含まれています。

  • カスタム障害スキーマファイルは、コントラクトごとおよびオペレーションごとに生成され、次のディレクトリに配置されます。

<プロジェクトフォルダ>\WCFClient\<リソース名>\XSD\<コントラクト名>\<オペレーション>\Fault\

  • このフォルダに生成されたエラースキーマファイルは、カスタムフォルト用に生成されたフォルトスキーマファイルに対する参照が含まれていません。

  • カスタムフォルトサポートはデフォルトで有効になっており、WCFクライアントはカスタムフォルトを設定します。カスタムフォルトサポートを無効にするには、Magic.iniファイルまたはifs.iniファイルで次のプロパティを設定します。

WCFCustomFault=N

（Since version: 4.8）

関連トピック：

Magic xpiのエラー処理


Web Service

Web Serviceは、異なるプラットフォームやフレームワーク上のアプリケーション間で相互運用するための標準的な方法です。Web サービスは、外部ソースからアプリケーションへのアクセスを可能にします。世界中のどこにいても、さまざまな言語で書かれたさまざまなタイプのアプリケーションが、リアルタイムでアプリケーションとインターフェースをとることができます。

プロバイダとして Web Serviceを使用するには、Magic xpi サーバからアクセス可能な Systinet サーバが適切にインストールされ、機能していることを確認する必要があります。

コンシューマとしてWebサービスを利用するためには、Web Serviceクライアントリソースの設定とWeb Serviceクライアントステップの設定を使用する必要があります。Webサービスのコンシューマとして動作するためにSystinetサーバをインストールする必要はありません。

Web Serviceコンポーネントを利用するためには、RPCとドキュメントタイプの違いなどWSDLの基本的な知識が必要であり、またXSDの基本的な概念を理解している必要があります。

  • Web Serviceクライアントはコンシューマとして動作し、XMLインターフェイスをサポートするSDKベースのコネクタです。

関連トピック：

Web Serviceクライアント - 設定

Web Serviceユーティリティ - エラー処理

Web Serviceプロバイダの作成

Web Services のマイグレーション

Webサービスのトリガを使用するには

WS-Securityで動作しているWebサービスプロバイダとして、Magic xpiを設定するには

HTTPコンポーネントを使用してWebサービス呼び出しを行うには

(Since version: 4.12)


Web Serviceクライアント - 設定

Web Serviceクライアントコンポーネントは、Web サービスを作成してアクセスすることを可能にします。

フローのステップとして Web Serviceクライアント コンポーネントを配置すると、Magic xpi は自動的にコンポーネントのプロパティペインを開きます。プロパティペインには、一般的な設定情報を入力することができます。コンポーネントをダブルクリックするか、コンポーネントを右クリックし、コンテキストメニューから [設定] を選択して、[Web Serviceクライアント 設定] ダイアログボックスを開きます。

Web Services クライアントコンポーネントを使用する前に、設定ダイアログボックスの [リソース] セクションで Web Services クライアントリソースを定義しておく必要があります。

Web Serviceクライアントコンポーネントは、次のインターフェイスをサポートしています。

  • XML

Web Serviceをトリガーとして使う方法を知りたい方は、こちらをご覧ください。


Web Serviceのコンシューマ

Web Serviceのコンシューマとして利用するには：

  1. ［設定］ダイアログボックスの［リソース］セクションでWeb Serviceクライアントリソースを定義してください。詳細は、ここをクリックしてください。

  2. ［プロパティ］ペインにアクセスするために、［フロー］エリアにWeb Servicesユーティリティを配置してください。

  3. Web Servicesユーティリティでダブルクリックするか、右クリックしてコンテキストメニューから［設定］を選択し、［コンポーネント設定： Web Service］ダイアログボックスを開きます。このダイアログボックスではSOAPサービスオペレーションと引数の表示と選択ができ、以下のフィールドがあります。

パラメータ

説明

詳細

リソース名

この読み込み専用フィールドには、［プロパティ］ペインの［リソース名］フィールドのドロップダウンリストで選択された以前に定義されたWeb Servicesリソースの名前が表示されます。

オペレーション名

このドロップダウンリストにはサービスWSDLにリストされている処理が表示されます。必用な処理をドロップダウンリストから選択します。

カスタムヘッダ イン

これは、外部サービスにSOAPリクエストとして送信するヘッダの詳細を保持するために使用されます。

ID

Web Serviceへのアクセスをオーソライズするための送信者の ID を入力します。SOAPサービスのセキュリティレベルがTransportまたはWS-Securityに設定されている場合に適用され、Web Serviceへのアクセスをオーソライズすることができます。

パスワード

Web Serviceへのアクセスを許可するために、送信者の ID のパスワードを入力します。

カスタムヘッダ アウト

をクリックして変数リストを開き、Web Serviceの SOAP レスポンスの一部として返されるヘッダを入力するための変数を割り当てます。

障害情報

をクリックして変数リストを開き、Web Serviceの SOAP 応答の一部として返されるフォルトを入力するための変数を割り当てます。

返されたFault XMLは、次に、以下の場所で与えられた操作のために生成されたFaultスキーマを使用して解析することができます。

Projects\<<ProjectName>>\WebServiceClient\<<ResourceName>>\<<Port/Binding Name>>\<<OperationName>>\FAULT\<<OperationName.xsd>>

オペレーション

をクリックして変数リストを開き、Web Serviceの のSOAP応答の一部として返された応答ボディを入力するための変数を割り当てます。

返された結果XMLは、次に、次の場所で与えられた操作のために生成された応答スキーマを使用して解析することができます：

Projects\<<ProjectName>>\WebServiceClient\<<ResourceName>>\<<Port/Binding Name>>\<<OperationName>>\OUT\<<OperationName.xsd>>

添付

をクリックして変数リストを開き、Web Serviceの の受信した添付ファイルのデータを入力するための変数を割り当てます。

新規ステップ構成の場合、複数の添付ファイルが出力された場合、添付ファイル出力プロパティは空になります。適切なブロブ変数を設定するのはユーザの責任となります。

Magic xpi 4.12にアップグレードする前の既存のプロジェクトに複数のOutアタッチメントが含まれていた場合、ステップをMagic xpi 4.12に移行した後、Attachment Outパラメータには最初のアタッチメントのみが入力されます。

ユーザーは、1つのAttachment Outか複数のAttachment Outかに関わらず、常にAttachment Outスキーマを使用しなければなりません。チェッカーは複数の添付ファイルがある場合に警告を表示しますが、新しいスキーマに従って Attachment Out を解析するためのロジックを変更するのは常にユーザーの責任となります。

このダイアログボックスには以下のボタンがあります。

名前 | 説明
添付 | これにより、[添付ファイルの詳細] ダイアログボックスが開きます。ここでは、必要に応じて、操作の添付ファイルを割り当てることができます。 新しい添付ファイルを追加するには、[追加]をクリックします。各添付ファイルには、In または Out の方向を割り当てることができます。 In タイプの添付ファイルが追加されると、Web サービス クライアント フローのデータ マッパーの送信先ペインに XML 要素が追加されます。一方、Out タイプの添付ファイルを追加すると、XDS スキーマファイルが生成されます。

設定を正常に保存すると、XML インターフェイスが開き、Web サービスの呼び出しに必要な値を設定することができます。

  • Webサービスの起動時には、Windows/NTLM型の認証はサポートしていません。

  • In, Out, Fault (WSDLで提供されている場合) の各操作ごとにXSDが生成されます。

  • オペレーションに引数がない場合、データマッパーの子ノードの条件を「TRUE」LOGに設定します。この条件が設定されていないと、実行時に「送り元または送り先にマッパ接続がありません」というエラーになります。

Web ServiceのステップをMagic xpi 4.12以前のバージョンから移行する際の制限事項

  1. 正しく移行されないステップでは、コピーおよびエクスポートオプションは使用できません。 チェッカーは、そのようなステップのエラーを表示します。

  2. ビジネスプロセス、フロー、ステップ、またはブランチに、Magic xpi 4.12バージョンより前のWebサービスクライアントの実装が含まれている場合、インポートは許可されません。 ログで詳細を確認してください.

  3. インポートまたはエクスポートコマンドを実行する前に、リソースがプロジェクトに存在している必要があります。移行されたプロジェクトの場合、リソースは正常に移行され、エラーなしで検証される必要があります。

(Since version:4.12)


Web Serviceユーティリティ - エラー処理

Magic xpi サーバのフローマネージャーは、ステップの実行中にエラーをチェックします。Web Serviceユーティリティのステップにエラーが発生した場合、エラーハンドラが起動されエラーを処理します。

Web Serviceコンポーネントのエラーコードは以下の通りです。

エラーコード | 説明
753 | Web Service クライアントの例外
9999 | Java の例外

コンシューマとしてのWeb Serviceでは、呼び出されたサーバから障害メッセージを受け取ります。

プロバイダとしてのWeb Serviceでは、エラーメッセージを設定することができ、Systinetがそのエラーメッセージを含む障害情報を返します。

エラーコード550はサポートされなくなりました。このエラーコードがフローエラーポリシーに既に存在する場合、スタジオチェッカーは検証エラーをスローし、ユーザーはプロジェクトを構築できなくなります。移行したプロジェクトの場合も同様の動作になります。

(Since version: 4.12)

関連トピック：

Magic xpiでのエラー処理


Web Services のマイグレーション

Magic xpi 4.12 から Web Serviceの実装が変更されました。Magic xpi 4.12以前に開発された既存のプロジェクトについては、Magic xpi 4.12でプロジェクトを開くと、Web Serviceクライアントのリソースとステップが移行/アップグレードされます。ステップやリソースが正しく移行・アップグレードできなかった場合や、ステップ設定時のOperation OutパラメータがBlobタイプに設定されていない場合には、適切なエラーメッセージやチェッカー処理による警告メッセージが表示されます。

Magic xpi 4.12 より前に作成されたプロジェクトでは、ドキュメントタイプの WSDL の場合、Web Serviceの呼び出しで送信される必要なマッピングを提供するために、Web Serviceクライアントのステップの前にデータマッパーステップが必要でした。このデータマッパーステップは blob パラメータで設定し、Web Serviceステップで設定しなければなりませんでした。

この動作は、移行したプロジェクトでも同じです。移行されたプロジェクトでも、データ マッパー ステップに blob パラメータが 1 つ設定されます。 移行したプロジェクトでマッピングを変更するには、データ マッパー ステップを使用する必要があります。

新規に作成したプロジェクトで、新しい Web サービス クライアント リソースとステップを使用する場合は、この追加のデータ マッパー ステップは不要で、ユーザーは Web Service ステップ自体でマッピングを行うことができます。これは、Web Service ステップをダブルクリックしてデータ マッパーを開くことで行うことができます。

移行後、Web Service クライアント リソースの [移行されたリソース] フィールドは、新しく作成されたリソースと区別するために [はい] に設定されます。

移行前に、Web Services クライアント リソースの WSDL の正しいパスを設定しておかないと、移行に失敗する可能性があります。

移行されたプロジェクトやアップグレードされたプロジェクトについては、MagicXpi.Logファイルの関連セクションでWeb Clientコンシューマーの移行ログを見ることができます。

関連トピック：

Web ServiceのステップをMagic xpi 4.12以前のバージョンから移行する際の制限事項

Web Services のトラブルシューティング


WebSphere MQ

WebSphere MQコンポーネントによりWebSphere MQメッセージング サーバにアクセスできます。これはフロー中の1ステップとして、またメッセージを受信するトリガモードとして使用できます。

Magic xpi WebSphere MQコンポーネントを使用するには、Magic xpiがアクセスできるネットワーク上にWebSphere MQサーバ/クライアントがインストールされていなければなりません。

WebSphere MQをフロー中のステップとして使用する場合は、いろいろなメソッドを選することで、次のことができます。

  • キューの開閉

  • メッセージの送信、または、受信

メッセージングキューとユーザについての情報と共にコンポーネントを入力しなければなりません。

トリガモードでは、コンポーネントは指定されたキュー中の通常着信メッセージまたは発行メッセージを常に監視します。新しいメッセージが見つかると、コンポーネントはそのメッセージを取得しフローを起動します。

  • Websphere MQキューマネージャにクライアントモードで接続するには、MQSERVERというOS環境変数を以下の値に設定してください。

<MQ channel_name>/TCP/<machine name/IP address>(<listener port>)

例えば：

MQSERVER=S_QM1/TCP/10.1.2.3(1415)

WebSphere MQ クライアント設定の詳細情報は、IBMのWebSphere MQ クライアント資料を参照してください。

  • クライアントモードでは複数のキューマネージャはサポートされていません。

  • WebSphere MQ バイナリID（メッセージID、相関ID、グループID）を処理するために、WebSphere MQコンポーネントはIDを24バイトBLOBに格納したbase64エンコード文字列として扱います。これによりNULL値を含むMessageIDを扱うことができます。このため、メッセージID、相関ID、グループIDに間係するパラメータには平文ではなく、Base64エンコードされた文字列を使用してください。

  • デフォルトでは、Magic xpiは、Ver2のMQMDヘッダを送ります。

  • Ver1のMQMDヘッダを送るには、Advanced Quick Send と Advanced Send メソッドの［グループID］に MG_NULL_ID を設定してください。

関連トピック：

WebSphere MQ – 設定

WebSphere MQ – エラー処理


WebSphere MQ – 設定

WebSphere MQコンポーネントは、WebSphereメッセージングキューを使用して、メッセージを送受信することができます。

WebSphere MQコンポーネントをフローに配置すると、Magic xpiは自動的にそのコネクタの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、WebSphere MQコンポーネントを構成することができます。

WebSphere MQコンポーネントを使用する前に、［設定］ダイアログボックスの［リソース］セクションで最初に WebSphere MQ リソースを定義する必要があります。また、トリガとして使用している場合、［設定］ダイアログボックスの［サービス］セクションでWebSphere MQ サービスを定義する必要があります。

表示されるダイアログボックスは、WebSphere MQ コンポーネントをトリガとして使用するか、フローでのステップとして使用するかによって異なります。フローでステッフローでステップとしてコンポーネントを使用する場合、以下のインタフェースから選択できます。

  • メソッド

  • XML


WebSphere MQ - メソッド

次のメソッドは、WebSphereMQコンポーネントを設定する場合に使用されます。

  • Advanced Get

  • Advanced Quick Get

  • Advanced Quick Send

  • Advanced Send

  • Close

  • Commit

  • Get

  • Get RFH2 Header

  • Open

  • Quick Get

  • Quick Send

  • Rollback

  • Send

  • Set RFH2 Header

次の表は、使用できるメソッドとパラメータを示します。太字のパラメータは必須です。

メソッド

パラメータ

説明

Advanced Get

Getメソッドと同様にメッセージを受信しますが、追加のパラメータを使用します。

キューハンドル

Openメソッドでキューハンドルとして返す数値を入力します。

タイムアウト

コンポーネントがフロー内の次のステップに移動する前に、メッセージを受信するために待つ時間を（ミリ秒単位で）入力します。-1を入力すると、コンポーネントはメッセージを受信するまで無限に待ちます。

データタイプ

ドロップダウンリストからデータタイプを選択します。

  • 文字

  • 数値

  • 日付

  • 時間

  • 論理

  • BLOB

ファイルに保存

データタイプをファイルに保存するかどうかを定義します。［データタイプ］でBLOBを選択した場合のみ有効です。ドロップダウンリストから以下のどちらかを選択します。

  • No (デフォルト)

  • Yes

ファイルパス

BLOBデータタイプを保存するファイルパスを指定します。［ファイルに保存］をYesに設定した場合のみ有効です。

トランザクションメッセージ

ドロップダウンリストからメッセージがトランザクションの一部かどうかを指定します。

  • Yes …… メッセージはトランザクションの一部です。

  • No …… メッセージはトランザクションの一部ではありません。

もし、このパラメータがYesで、かつオープンされたトランザクションがなければ、WebSphere MQは自動的にトランザクションを開始します。

メッセージID

メッセージID

相関ID

キュー内のサブスクライバに送信されるメッセージを制限するためのフィルタを入力します。このパラメータは、同一の関連IDを持つキューを検索し、これらのキューにのみメッセージを送信します。

この関連IDは、Openメソッドの［関連ID］に関連付けられます。

グループID

まとめて処理されるメッセージグループを識別するためのID番号を入力します。

シーケンス番号

グループ内のメッセージの連番を入力します。たとえば、グループ内で4番目ならば4を入力します。

もし、0を入力しかつグループIDが値を持っていれば、WebSphere MQはグループに属する各メッセージの番号を自動的に加算します。

メッセージ タイプ

ドロップダウンリストからメッセージタイプを選択します。

  • 要求 …… 応答を待つメッセージです。

  • 応答 …… リクエストメッセージへの応答です。

  • メッセージ …… （WebSphere MQデータグラム）

メッセージエンコーディング

メッセージに対して使用されるエンコーディングの形式をドロップダウンリストから選択します。

  • ANSI

  • EBCDIC

  • UNICODE

最初のメッセージ取得

ドロップダウンリストから、最初のメッセージをキューから取得するかどうかを選択します。

  • Yes …… WebSphere MQは、キュー中の最初のメッセージを返します。

  • No …… 次のメッセージを取得します。

メッセージのライフタイム

メッセージがキューに残る時間を（1/10秒単位で）入力します。0の値を入れると、メッセージがキューから除去されないことを意味します。また、-1の場合メッセージは即キューから削除されます。

MSG優先順位

メッセージの優先順位を示す0（低）から9U（高）までの数字を入力します。デフォルト値は0です。

開始シーケンスID

キュー内のメッセージの開始シーケンス番号を入力します。

メッセージフェッチ順序

キューからメッセージを取得する順序がキューを開くときのモードと異なる場合は、ドロップダウンリストを開いて取得する順序を選択します。

  • 物理順(FIFO) …… メッセージはキューに入った順に取り出されます。

  • 論理順 …… メッセージはグループまたは場所にしたがって取り出されます。

メッセージフェッチモード

メッセージを取り出した後、どのように扱うかをドロップダウンリストの中から選択します。

  • 削除 …… 読んだあと、メッセージをサーバから削除します。

  • 参照 …… メッセージは閲覧のために残され、サーバから削除はされません。

メッセージ

メッセージデータがどこで受信されるか選択します。

説明を返す

メッセージと共に返されるオプション情報。情報は、カンマで区切りになります。

例えば： Reply 2Q, Format, Sent Date, Sent Time.

コードページ

メッセージエンコーディングで使用するコードページを入力します。

ヘッダあり

受信メッセージがRFH2ヘッダを持っているかどうかを報告します。

メッセージヘッダ

RFH2ヘッダが存在するならば、これをを返します。ヘッダ内容は、GetRFH2Headerメソッドによって解析されます。

エラーコード

を [image] クリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Advanced Quick Get

Quick Getメソッドと同様にメッセージを受信しますが、追加のパラメータを使用します。

キュー名

メッセージキュー名を入力します。

タイムアウト

コンポーネントがフロー中の次のステップに移動する前に、メッセージを受信するために待つ時間を（ミリ秒単位で）入力します。-1を入力すると、コンポーネントはメッセージを受信するまで無限に待ちます。

データタイプ

ドロップダウンリストからデータタイプを選択します。

  • 文字

  • 数値

  • 日付

  • 時間

  • 論理

  • BLOB

ファイルに保存

データタイプをファイルに保存するかどうかを定義します。［データタイプ］でBLOBを選択した場合のみ有効です。ドロップダウンリストから以下のどちらかを選択します。

  • No (デフォルト)

  • Yes

ファイルパス

BLOBデータタイプを保存するファイルパスを指定します。［ファイルに保存］をYesに設定した場合のみ有効です。

メッセージID

メッセージID

相関ID

キュー内のサブスクライバに送信されるメッセージを制限するためのフィルタを入力します。このパラメータは、同一の関連IDを持つキューを検索し、これらのキューにのみメッセージを送信します。

この関連IDは、Openメソッドの［関連ID］に関連付けられます。

グループID

まとめて処理されるメッセージグループを識別するためのID番号を入力します。

シーケンス番号

グループ内のメッセージの連番を入力します。たとえば、グループ内で4番目ならば4を入力します。

もし、0を入力しかつグループIDが値を持っていれば、WebSphere MQはグループに属する各メッセージの番号を自動的に加算します。

メッセージタイプ

ドロップダウンリストからメッセージタイプを選択します。

  • 要求 …… 応答を待つメッセージです。

  • 応答 …… リクエストメッセージへの応答です。

  • メッセージ …… （WebSphere MQデータグラム）

メッセージエンコーディング

メッセージに対して使用されるエンコーディングの形式をドロップダウンリストから選択します。

  • ANSI

  • EBCDIC

  • UNICODE

最初のメッセージ取得

ドロップダウンリストから、最初のメッセージをキューから取得するかどうかを選択します。

  • Yes …… WebSphere MQは、キュー中の最初のメッセージを返します。

  • No …… 次のメッセージを取得します。

開始シーケンスID

キュー内のメッセージの開始シーケンス番号を入力します。

メッセージフェッチ順序

キューからメッセージを取得する順序がキューを開くときのモードと異なる場合は、ドロップダウンリストを開いて取得する順序を選択します。

  • 物理順(FIFO) …… メッセージはキューに入った順に取り出されます。

  • 論理順 …… メッセージはグループまたは場所にしたがって取り出されます。

メッセージフェッモード

メッセージを取り出した後、どのように扱うかをドロップダウンリストの中から選択します。

  • 削除 …… 読んだあと、メッセージをサーバから削除します。

  • 参照 …… メッセージは閲覧のために残され、サーバから削除はされません。

クライアント/サーバ

キューが存在しているコンピュータタイプを示します。 ドロップダウンリストから、クライアント またはサーバを選択します。

動的接続

値がYesの場合、チャンネル名やホストURL、およびポートは構成から取得されます。

値がNoの場合、MQSERVERシステム変数を参照します。

これはクライアントモードで有効です

チャネル名

WebSphere MQサーバで定義されるチャンネルの名前を入力します。［動的接続］パラメータがYesに設定された場合に有効になります。

ホストURL

マシン名であるWebSphere MQサーバへのURLを入力します。［動的接続］パラメータがYesに設定された場合に有効になります。

ポート

WebSphere MQサーバのチャンネルとして定義されるポート番号を入力します。［動的接続］パラメータがYesに設定された場合に有効になります。

トランザクションメッセージ

ドロップダウンリストからメッセージがトランザクションの一部かどうかを指定します。

  • Yes …… メッセージはトランザクションの一部です。

  • No …… メッセージはトランザクションの一部ではありません。

もし、このパラメータがYesで、かつオープンされたトランザクションがなければ、WebSphere MQは自動的にトランザクションを開始します。

メッセージ

メッセージデータがどこで受信されるか選択します。

説明を返す

メッセージと共に返されるオプション情報。情報は、カンマで区切りになります。

例えば： Reply 2Q, Format, Sent Date, Sent Time.

コード ページ

メッセージエンコーディングに使用されるコードページを入力します。

終了時に切断

キューが終了したときにWebSphere MQサーバへの接続が切断されるかどうかを定義します。ドロップダウンリストから以下のいずれかを選択します。

  • No

  • Yes

ヘッダあり

受信メッセージがRFH2ヘッダを持っているかどうかを報告します。

メッセージヘッダ

RFH2ヘッダが存在するならば、これをを返します。ヘッダ内容は、GetRFH2Headerメソッドによって解析されます。

エラーコード

を [image] クリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Advanced Quick Send

Quick Sendメソッドと同様にメッセージを送信しますが、追加のパラメータを使用します。

キュー名

メッセージキュー名を入力します。

データタイプ

ドロップダウンリストからデータタイプを選択します。

  • 文字

  • 数値(このデータタイプは、15桁を超える文字を含めることができません)

  • 日付

  • 時間

  • 論理

  • BLOB

ファイルから取得

ファイルからのメッセージを取得するかどうかを指定します。［データタイプ］でBLOBを選択した場合のみ有効です。ドロップダウンリストから以下のどちらかを選択します。

  • No (デフォルト)

  • Yes

ファイルパス

メッセージを送りたいファイルパスを指定します。［ファイルから取得］でYesを選択した場合のみ有効です。

メッセージ

メッセージデータまたはデータを構成する式を入力します。

永続

ドロップダウンリストから以下のうちのひとつを選択して、キュー接続が常に開いているかどうかを指定します。「永続的」は、接続がつ常に開いていることを示します。

  • 永続 …… メッセージは回復されます。

  • 非永続 …… メッセージはなくなります。

  • キュー定義による

メッセージID

メッセージID

相関ID

キューに受信されるサブスクライブメッセージを制限するためのフィルタを入力します。たとえば、特定の発行元からのメッセージを制限できます。

グループID

まとめて処理されるメッセージグループを識別するためのID番号を入力します。

開始シーケンスID

キュー内のメッセージの開始シーケンスを入力します。

MSG優先順位

メッセージの優先順位を示す0（低）から9U（高）までの数字を入力します。デフォルト値は0です。

メッセージのライフタイム

メッセージがキューに残る時間を（1/10秒単位で）入力します。0の値を入れると、メッセージがキューから除去されないことを意味します。また、-1の場合メッセージは即キューから削除されます。

トランザクションメッセージ

ドロップダウンリストからメッセージがトランザクションの一部かどうかを指定します。

  • Yes …… メッセージはトランザクションの一部です。

  • No …… メッセージはトランザクションの一部ではありません。

もし、このパラメータがYesで、かつオープンされたトランザクションがなければ、WebSphere MQは自動的にトランザクションを開始します。

メッセージフォーマット

ドロップダウンリストから以下のうちのひとつを選択して、メッセージの書式を指定します。

  • 書式なし (default).

  • MQSTR …… WebSphere MQがMQSTRへの変換を行います。

  • MQRFH2 …… WebSphere MQ が MQRFH2への変換を行います。

メッセージヘッダ

RFH2ヘッダが存在する場合は、これをを返します。ヘッダ内容は、GetRFH2Headerメソッドによって解析されます。

［メッセージフォーマット］でMQRFH2が選択された場合のみ有効です。

クライアント/サーバ

キューが存在しているコンピュータタイプを示します。 ドロップダウンリストから、クライアント またはサーバを選択します。

動的接続

値がYesの場合、チャンネル名やホストURL、およびポートは構成から取得されます。

値がNoの場合、MQSERVERシステム変数を参照します。

これはクライアントモードで有効です

チャネル名

WebSphere MQサーバで定義されるチャンネルの名前を入力します。［動的接続］パラメータがYesに設定された場合に有効になります。

ホストURL

マシン名であるWebSphere MQサーバへのURLを入力します。［動的接続］パラメータがYesに設定された場合に有効になります。

ポート

WebSphere MQサーバのチャンネルとして定義されるポート番号を入力します。［動的接続］パラメータがYesに設定された場合に有効になります。

終了時に切断

キューが終了したときにWebSphere MQサーバへの接続が切断されるかどうかを定義します。ドロップダウンリストから以下のいずれかを選択します。

  • No

  • Yes

エラーコード

を [image] クリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Advanced Send

Sendメソッドと同様にメッセージを送信しますが、追加のパラメータを使用します。

キューハンドル

Openメソッドでキューハンドルとして返される数値を入力します。

データタイプ

ドロップダウンリストからデータタイプを選択します。

  • 文字

  • 数値(このデータタイプは、15桁を超える文字を含めることができません)

  • 日付

  • 時間

  • 論理

  • BLOB

ファイルから取得

ファイルからのメッセージを取得するかどうかを指定します。［データタイプ］でBLOBを選択した場合のみ有効です。ドロップダウンリストから以下のどちらかを選択します。

  • No (デフォルト)

  • Yes

ファイルパス

メッセージを送りたいファイルパスを指定します。［ファイルから取得］でYesを選択した場合のみ有効です。

メッセージ

メッセージデータまたはデータを構成する式を入力します。

トランザクションメッセージ

ドロップダウンリストからメッセージがトランザクションの一部かどうかを指定します。

  • Yes …… メッセージはトランザクションの一部です。

  • No …… メッセージはトランザクションの一部ではありません。

もし、このパラメータがYesで、かつオープンされたトランザクションがなければ、WebSphere MQは自動的にトランザクションを開始します。

メッセージ タイプ

ドロップダウンリストからメッセージタイプを選択します。

  • 要求 …… 応答を待つメッセージです。

  • 応答 …… リクエストメッセージへの応答です。

  • メッセージ …… （WebSphere MQデータグラム）

ブロードキャストメッセージ

ドロップダウン リストからメッセージをブロードキャストするかどうかを指定します。

  • Yes …… メッセージはブロードキャスト用に開いているキューすべてにブロードキャストされます。

  • No …… メッセージはブロードキャストされません。

保持する

ドロップダウンリストから将来のサブスクライバのためにメッセージを保持するかどうかを指定します。

  • Yes …… 将来のサブスクライバのために、メッセージを保持します。購読時に以前に発行されたメッセージを受信するよう要求したサブスクライバは、このメッセージを受け取ります。

  • No …… メッセージは保持されません。以前に発行されたメッセージを受信するよう要求した将来のサブスクライバも、このメッセージは受信しません。

相関ID

キュー内のサブスクライバに送信されるメッセージを制限するためのフィルタを入力します。このパラメータは、同一の関連IDを持つキューを検索し、これらのキューにのみメッセージを送信します。

この関連IDは、Openメソッドの［関連ID］に関連付けられます。

メッセージID

メッセージID

キューマネージャに返信

返信が送られるキューマネージャの名前を入力します。

キュー名に返信

返信が送られるメッセージキューの名前を入力します。

メッセージフォーマット

ドロップダウンリストから以下のうちのひとつを選択して、メッセージの書式を指定します。

  • 書式なし (default).

  • MQSTR …… WebSphere MQがMQSTRへの変換を行います。

  • MQRFH2 …… WebSphere MQ が MQRFH2への変換を行います。

メッセージヘッダ

RFH2ヘッダが存在する場合は、これをを返します。ヘッダ内容は、GetRFH2Headerメソッドによって解析されます。

［メッセージフォーマット］でMQRFH2が選択された場合のみ有効です。

永続

ドロップダウンリストから以下のうちのひとつを選択して、キュー接続が常に開いているかどうかを指定します。「永続的」は、接続がつ常に開いていることを示します。

  • 永続 …… メッセージは回復されます。

  • 非永続 …… メッセージはなくなります。

  • キュー定義による

メッセージのライフタイム

メッセージがキューに残る時間を（1/10秒単位で）入力します。0の値を入れると、メッセージがキューから除去されないことを意味します。また、-1の場合メッセージは即キューから削除されます。

MSG優先順位

メッセージの優先順位を示す0（低）から9U（高）までの数字を入力します。デフォルト値は0です。

グループID

まとめて処理されるメッセージグループを識別するためのID番号を入力します。

開始シーケンスID

キュー内のメッセージの開始シーケンスを入力します。

エラーコード

を [image] クリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Close

WebSphere MQプロトコルを使用してメッセージを受信する際キューを閉じます。

キューハンドル

Openメソッドでキューハンドルとして返される数値を入力します。

エラーコード

を [image] クリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Commit

開いたトランザクションをコミットします。他の全てのトランザクションは新しいトランザクションを開始しなければなりません。

エラーコード

を [image] クリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Get

WebSphere MQプロトコルを使用してメッセージを受信します。

キューハンドル

Openメソッドでキューハンドルとして返される数値を入力します。

タイムアウト

コンポーネントがフロー中の次のステップに移動する前に、メッセージを受信するために待つ時間を（ミリ秒単位で）入力します。-1を入力すると、コンポーネントはメッセージを受信するまで無限に待ちます。

データタイプ

ドロップダウンリストからデータタイプを選択します。

  • 文字

  • 数値

  • 日付

  • 時間

  • 論理

  • BLOB

トランザクションメッセージ

ドロップダウンリストからメッセージがトランザクションの一部かどうかを指定します。

  • Yes …… メッセージはトランザクションの一部です。

  • No …… メッセージはトランザクションの一部ではありません。

もし、このパラメータがYesで、かつオープンされたトランザクションがなければ、WebSphere MQは自動的にトランザクションを開始します。

メッセージID

メッセージID

相関ID

キュー内のサブスクライバに送信されるメッセージを制限するためのフィルタを入力します。このパラメータは、同一の関連IDを持つキューを検索し、これらのキューにのみメッセージを送信します。

この関連IDは、Openメソッドの［関連ID］に関連付けられます。

グループID

まとめて処理されるメッセージグループを識別するためのID番号を入力します。

シーケンス番号

グループ内のメッセージの連番を入力します。たとえば、グループ内で4番目ならば4を入力します。

もし、0を入力しかつグループIDが値を持っていれば、WebSphere MQはグループに属する各メッセージの番号を自動的に加算します。

メッセージ タイプ

ドロップダウンリストからメッセージタイプを選択します。

  • 要求 …… 応答を待つメッセージです。

  • 応答 …… リクエストメッセージへの応答です。

  • メッセージ …… （WebSphere MQデータグラム）

メッセージエンコーディング

メッセージに対して使用されるエンコーディングの形式をドロップダウンリストから選択します。

  • ANSI

  • EBCDIC

  • UNICODE

最初のメッセージ取得

ドロップダウンリストから、最初のメッセージをキューから取得するかどうかを選択します。

  • Yes …… WebSphere MQは、キュー中の最初のメッセージを返します。

  • No …… 次のメッセージを取得します。

メッセージ

メッセージデータがどこで受信されるか選択します。

説明を返す

メッセージと共に返されるオプション情報。情報は、カンマで区切りになります。

例えば： Reply 2Q, Format, Sent Date, Sent Time.

コードページ

メッセージエンコーディングで使用されるコードページを入力します。

エラーコード

を [image] クリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Get RFH2 Header

変数中のRFH2ヘッダ部分を解析します。

クライアント/サーバ

メッセージングで使用されるのが、クライアント・モジュールかサーバ・モジュールのどちらかを指定します。ドロップダウンリストから以下のどちらかを選択します。

  • クライアント (デフォルト)

  • サーバ

ヘッダ

ヘッダを保存するBLOB変数。

BLOB変数の名前を入力するか、 [image] をクリックして式エディタを開き入力します。

エンコード

ヘッダのセクションに続くデータ内の数値がどのように返されるかを指定します。

をクリックして変数リストを開き、データを保存する変数を選択します。

文字セット

メッセージのボディのコード化された文字セットを指定します。

をクリックして変数リストを開き、必要な変数を選択します。

フォーマット

メッセージボディのフォーマットを設定します。

をクリックして変数リストを開き、必要な変数を選択します。

セクションCCSID

メッセージのCCSID情報を返します。

をクリックして変数リストを開き、CCSID情報を格納する変数を選択します。

mcdフォルダ

mcdセクションのXMLを返します。

をクリックして変数リストを開き、戻り値のXMLを格納する変数を選択します。

pscフォルダ

pscセクションのXMLを返します。

をクリックして変数リストを開き、戻り値のXMLを格納する変数を選択します。

pscrフォルダ

pscrセクションのXMLを返します。

をクリックして変数リストを開き、戻り値のXMLを格納する変数を選択します。

usrフォルダ

usrセクションのXMLを返します。

をクリックして変数リストを開き、戻り値のXMLを格納する変数を選択します。

jmsフォルダ

jmsセクションのXMLを返します。

をクリックして変数リストを開き、戻り値のXMLを格納する変数を選択します。

エラーコード

を [image] クリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Open

WebSphere MQプロトコルを使用してメッセージを送信するためのキューを開きます。

キューアクセスモード

ドロップダウンリストからメッセージのキューとして使用可能なアクセスモードを選択します。

  • 読込 …… メッセージは既読で、キューから削除されています。

  • 書込 …… メッセージはキューによって書かれています。

  • パブリッシュ …… メッセージはトピックにサブスクライブされています。

  • サブスクライブ …… メッセージはトピックにパブリッシュされています。

キュー名

メッセージキュー名を入力します。

トピック名

サブスクライブされたトピックの名前。

［キューアクセスモード］パラメータがパブリッシュかサブスクライブに設定された場合だけ有効です。

ブローカストリーム

ブローカストリームの名前。パブリッシュを選択した場合、このパラメータは必須です。パブリッシュとサブスクライブに関係するトピックブローカストリームを含みます。

［キューアクセスモード］パラメータがパブリッシュかサブスクライブに設定された場合だけ有効です。

共有モード

他のユーザもキュー中のメッセージにアクセス可能かどうかをドロップダウンリストのオプションから選択します。

  • 利用可能 …… 他のユーザもアクセス可能

  • 排他的 …… 他のユーザは使用できない

フェッチ順序

キューから取り出すメッセージの取出し順序をドロップダウン リストから選択します。

  • 物理順(FIFO) …… メッセージはキューに入った順に取り出されます。

  • 論理順 …… メッセージはグループまたは場所にしたがって取り出されます。

このパラメータは、［キューアクセスモード］で読込もしくは書込を選択した場合のみ有効になります。

メッセージフェッチモード

メッセージを取り出した後、どのように扱うかをドロップダウンリストの中から選択します

  • 削除 …… 読込み後、キューからメッセージを削除します。

  • 参照 …… メッセージをキューから削除しません。

このパラメータは、［キューアクセスモード］で読込もしくは書込を選択した場合のみ有効になります。

大小順

ドロップダウンリストから数字の小さい順に読み取るかどうかを指定します。

  • Yes …… 数字を小さい順に読み取ります。

  • No …… 数字を小さい順には読み取りません。

エンコーディング

メッセージに対して使用されるエンコーディングの形式をドロップダウンリストから選択します。

  • ANSI

  • EBCDIC

  • UNICODE

コード ページ

メッセージエンコーディングで使用されるコードページを入力します。

関連ID

キューに受信されるメッセージを制限するためのフィルタを入力します。たとえば、特定のソースからのメッセージを制限できます。

終了時に切断

ドロップダウンリストからメッセージ キューが閉じるとWebSphere MQサーバからの接続を切るかどうかを指定します。

  • Yes …… 閉じると接続断

  • No …… 接続を切りません

クライアント/サーバ

ドロップダウンリストから、クライアントまたはサーバを選択し、キューが存在しているコンピュータタイプを示します。

動的接続

値がYesの場合、チャンネル名やホストURL、およびポートは構成から取得されます。

値がNoの場合、MQSERVERシステム変数を参照します。

これはクライアントモードで有効です。

チャネル名

WebSphere MQサーバで定義されるチャンネルの名前を入力します。［動的接続］パラメータがYesに設定された場合に適用されます。

ホストURL

WebSphere MQサーバのURLを入力します。［動的接続］パラメータがYesに設定された場合に適用されます。

ポート

WebSphere MQサーバでチャンネル用に定義されるポート番号を入力します。［動的接続］パラメータがYesに設定された場合に適用されます。

キューハンドル

メッセージが受信された際に戻される数値。メッセージ受信が成功しないと、負の数値が返されます。

エラーコード

を [image] クリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Quick Get

キューを開き、WebSphere MQプロトコルを使用してメッセージを受信し、キューを閉じます。

キュー名

メッセージキューの名前を入力します。

共有

  • 排他 …… メッセージキュー中のメッセージを共有しないようにします。

  • 利用可能 …… メッセージキュー中のメッセージを共有できるようにします。

タイムアウト

コンポーネントがフロー中の次のステップに移動する前に、メッセージを受信するために待つ時間を（ミリ秒単位で）入力します。-1を入力すると、コンポーネントはメッセージを受信するまで無限に待ちます。

データタイプ

ドロップダウンリストからデータタイプを選択します。

  • 文字

  • 数値

  • 日付

  • 時間

  • 論理

  • BLOB

トランザクションメッセージ

ドロップダウンリストからメッセージがトランザクションの一部かどうかを指定します。

  • Yes …… メッセージはトランザクションの一部です。

  • No …… メッセージはトランザクションの一部ではありません。

もし、このパラメータがYesで、かつオープンされたトランザクションがなければ、WebSphere MQは自動的にトランザクションを開始します。

クライアント/サーバ

ドロップダウンリストから、クライアントまたはサーバを選択し、キューが存在しているコンピュータタイプを示します。

動的接続

値がYesの場合、チャンネル名やホストURL、およびポートは構成から取得されます。

値がNoの場合、MQSERVERシステム変数を参照します。

これはクライアントモードで有効です。

チャネル名

WebSphere MQサーバで定義されるチャンネルの名前を入力します。［動的接続］パラメータがYesに設定された場合に適用されます。

ホストURL

WebSphere MQサーバのURLを入力します。［動的接続］パラメータがYesに設定された場合に適用されます。

ポート

WebSphere MQサーバでチャンネル用に定義されるポート番号を入力します。［動的接続］パラメータがYesに設定された場合に適用されます。

終了時に切断

ドロップ ダウンリストからメッセージ キューが閉じるとWebSphere MQサーバからの接続を切るかどうかを指定します。

  • Yes …… 閉じると接続断

  • No …… 接続を切りません

データ

［データタイプ］パラメータで選択した書式でメッセージデータを入力します。

エラーコード

を [image] クリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Quick Send

キューを開き、WebSphere MQプロトコルを使用してメッセージを送信し、キューを閉じます。

キュー名

メッセージキューの名前を入力します。

共有

  • 排他 …… メッセージキュー中のメッセージを共有しないようにします。

  • 利用可能 …… メッセージキュー中のメッセージを共有できるようにします。

データタイプ

ドロップダウンリストからデータタイプを選択します。

  • 文字

  • 数値(このデータタイプは、15桁を超える文字を含めることができません)

  • 日付

  • 時間

  • 論理

  • BLOB

データ

［データタイプ］パラメータで選択した書式でメッセージデータを入力します。

永続

ドロップダウンリストから以下のうちのひとつを選択して、キュー接続が常に開いているかどうかを指定します。「永続的」は、接続がつ常に開いていることを示します。

  • 永続 …… メッセージは回復されます。

  • 非永続 …… メッセージはなくなります。

  • キュー定義による

クライアント/サーバ

ドロップダウンリストから、クライアントまたはサーバを選択し、キューが存在しているコンピュータタイプを示します。

動的接続

値がYesの場合、チャンネル名やホストURL、およびポートは構成から取得されます。

値がNoの場合、MQSERVERシステム変数を参照します。

これはクライアントモードで有効です。

チャネル名

WebSphere MQサーバで定義されるチャンネルの名前を入力します。［動的接続］パラメータがYesに設定された場合に適用されます。

ホストURL

WebSphere MQサーバのURLを入力します。［動的接続］パラメータがYesに設定された場合に適用されます。

ポート

WebSphere MQサーバでチャンネル用に定義されるポート番号を入力します。［動的接続］パラメータがYesに設定された場合に適用されます。

トランザクションメッセージ

ドロップダウンリストからメッセージがトランザクションの一部かどうかを指定します。

  • Yes …… メッセージはトランザクションの一部です。

  • No …… メッセージはトランザクションの一部ではありません。

もし、このパラメータがYesで、かつオープンされたトランザクションがなければ、WebSphere MQは自動的にトランザクションを開始します。

終了時に切断

ドロップ ダウンリストからメッセージ キューが閉じるとWebSphere MQサーバからの接続を切るかどうかを指定します。

  • Yes …… 閉じると接続断

  • No …… 接続を切りません

エラーコード

を [image] クリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Rollback

開いたトランザクションを破棄し、トランザクション開始までロールバックします。他の全てのトランザクションは新しいトランザクションを開始しなければなりません。

エラーコード

を [image] クリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Send

WebSphere MQプロトコルを使用してメッセージを送信します。

キューハンドル

Openメソッドでキューハンドルとして返される数値を入力します。

データタイプ

ドロップダウンリストからデータタイプを選択します。

  • 文字

  • 数値(このデータタイプは、15桁を超える文字を含めることができません)

  • 日付

  • 時間

  • 論理

  • BLOB

メッセージ

メッセージデータを含むBLOBを入力します。

トランザクションメッセージ

ドロップダウンリストからメッセージがトランザクションの一部かどうかを指定します。

  • Yes …… メッセージはトランザクションの一部です。

  • No …… メッセージはトランザクションの一部ではありません。

もし、このパラメータがYesで、かつオープンされたトランザクションがなければ、WebSphere MQは自動的にトランザクションを開始します。

メッセージタイプ

ドロップダウンリストからメッセージタイプを選択します。

  • 要求 …… 応答を待つメッセージです。

  • 応答 …… リクエストメッセージへの応答です。

  • メッセージ …… （WebSphere MQデータグラム）

このメッセージをブロードキャスト

ドロップダウン リストからメッセージをブロードキャストするかどうかを指定します。

  • Yes …… メッセージはブロードキャスト用に開いているキューすべてにブロードキャストされます。

  • No …… メッセージはブロードキャストされません。

保持する

ドロップダウンリストから将来のサブスクライバのためにメッセージを保持するかどうかを指定します。

  • Yes …… 将来のサブスクライバのために、メッセージを保持します。購読時に以前に発行されたメッセージを受信するよう要求したサブスクライバは、このメッセージを受け取ります。

  • No …… メッセージは保持されません。以前に発行されたメッセージを受信するよう要求した将来のサブスクライバも、このメッセージは受信しません。

相関ID

キュー内のサブスクライバに送信されるメッセージを制限するためのフィルタを入力します。このパラメータは、同一の関連IDを持つキューを検索し、これらのキューにのみメッセージを送信します。

この関連IDは、Openメソッドの［関連ID］に関連付けられます。

メッセージID

メッセージID

キューマネージャに返信

返信が送られるキューマネージャの名前を入力します。

キュー名に返信

返信が送られるメッセージキューの名前を入力します。

メッセージフォーマット

ドロップダウンリストから以下のうちのひとつを選択して、メッセージの書式を指示します。

  • 書式なし (デフォルト)

  • MQSTR: ……WebSphere MQがMQSTRへの変換を行います。

エラーコード

を [image] クリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Set RFH2 Header

RFH2ヘッダセクションを含むBLOB変数を設定します。

クライアント/サーバ

メッセージングで使用されるのが、クライアントかサーバのどちらのモジュールかを指定します。ドロップダウンリストから以下のどちらかを選択します。

  • クライアント (デフォルト)

  • サーバ

エンコーディング

ヘッダのセクションに続くデータ内の数値がどのように返されるかを指定します。

必要な値を入力するか、式エディタを開くために [image] をクリックしてください。

文字セット

メッセージのボディのコード化された文字セットを指定します。

必要な文字セットを入力するか、式エディタを開くために [image] をクリックしてください。

フォーマット

メッセージボディのフォーマットを設定します。

必要なフォーマットを入力するか、式エディタを開くために [image] をクリックしてください。

セクションCCSID

メッセージのCCSID情報を返します。

必要なCCSID情報を入力するか、式エディタを開くために [image] をクリックしてください。

mcdフォルダ

mcdセクションのXMLを返します。

必要なmcdフォルダの詳細を入力するか、式エディタを開くために [image] をクリックしてください。

pscフォルダ

pscセクションのXMLを返します。

必要なpscフォルダを入力するか、式エディタを開くために [image] をクリックしてください。

pscrフォルダ

pscrセクションのXMLを返します。

必要なpscrフォルダの詳細を入力するか、式エディタを開くために [image] をクリックしてください。

usrフォルダ

usrセクションのXMLを返します。

必要なusrフォルダの詳細を入力するか、式エディタを開くために [image] をクリックしてください。

jmsフォルダ

jmsセクションのXMLを返します。

必要なjmsフォルダの詳細を入力するか、式エディタを開くために [image] をクリックしてください。

ヘッダ

ヘッダを保持するBLOB変数。

をクリックして変数リストを開き、返されるXMLデータを保持する変数を選択します。

エラーコード

を [image] クリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

関連トピック：

ダイレクトアクセスメソッドをの使い方


WebSphere MQ - トリガ設定

構成プログラムはキューからメッセージを開いて取得するのに必要なパラメータを受け取ります。

プロパティ

説明

Get メソッドのパラメータ取得

クライアント/サーバ

クライアント、またはサーバ構成のどちらを使用しているかを示します。

動的接続

チェックボックスが選択された場合、チャンネル名やホストURL、ポートが設定から取得されます。チェックボックスが選択されない場合、MQSERVERシステム変数を参照します。

クライアントモードでのみ有効です。

チャネル名

WebSphere MQサーバで定義されるチャンネル名を入力してください。［動的接続］が選択された場合のみ有効です。

ホストURL

WebSphere MQサーバのホスト名を参照するURLを入力してください。［動的接続］が選択された場合のみ有効です。

ポート

WebSphere MQサーバでチャンネル用に定義されたポート番号を入力してください。［動的接続］が選択された場合のみ有効です。

キュー名

メッセージが取得されるWebSphere MQキューの名前

データタイプ

ドロップダウンリストからデータタイプを選択します。

  • Alpha

  • Numeric

  • Date

  • Time

  • Logical

  • BLOB

ファイルに保存

ファイルにデータタイプを保存するかどうか指定します。［データタイプ］がBLOBに設定された場合のみ有効です。ドロップダウンリストから以下のどれかを選択します。

  • No (デフォルト)

  • Yes

フォルダパス

BLOBデータタイプを保存したいフォルダパスを指定します。［ファイルに保存］がYesに設定された場合のみ有効です。

サブスクライブ

メッセージがこのトピックにサブスクライブされていれば、これを選択します。

ブローカストリーム

WebSphere MQ ブローカストリーム名を指定します。［サブスクライブ］が選択されている場合のみ有効です。この名前には、トピックブローカストリームが含まれていなければなりません。

トピック

サブスクライブされたトピックの名前。［サブスクライブ］が選択されている場合のみ有効です。

関連ID

サブスクライブされたトピックのID番号。特定のメッセージを受信すべきかどうかを表示することによりメッセージフィルタリングを行います。

グループID

一緒に処理されることになっているグループのメッセージを特定するID番号。

高低順

ドロップダウンリストから数字の並び順を昇順で読み書きするかどうかをYes/Noで選択します。

エンコーディング

メッセージに対して使用されるエンコーディングの形式をドロップダウンリストから選択します。

  • ANSI

  • EBCDIC

  • UNICODE

コードページ

メッセージエンコーディングに使用されているコード

キープアライブ間隔（分）

自動的に再起動される前にトリガの応答がない場合の時間を分数で指定します。デフォルト値は0で、これはトリガの応答を永久に待ち続けることを意味します。

このパラメータ値の選択は、慎重に行ってください。値が少な過ぎると、有効な処理が終了する前に、トリガは終了するかもしれません。

メッセージ内容

フィールド右側の [image] をクリックして変数リストを開きます。リストからメッセージ内容を保持するBLOB変数を選択します。

引数XMLの場所

フィールド右側の [image] をクリックして変数リストを開きます。リストからXML結果が送られるBLOB変数を選択します。

再接続ポリシー

再接続間隔(秒)

WebSphere MQサーバへ再接続を試みることができます。Magic xpiサーバがWebSphere MQサーバへ再接続を試みるまでの待ち時間を秒数で指定します。

再接続回数

Magic xpiサーバがWebSphere MQサーバへ再接続を試みる最大回数を入力します。無制限に繰り返す場合は 0を入力します。

WebSphere MQ コンポーネントはGetメソッドでのみトリガとして使用できます。


WebSphere MQ – エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。WebSphere MQ コンポーネントのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

WebSphere MQ コンポーネントのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも WebSphere MQ コンポーネントで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
8001 | 接続中のエラー
8002 | 送受信中のエラー
8003 | Get Data 処理中のエラー

関連トピック：

Magic xpiでのエラー処理


W4

W4コンポーネントは、すでにサポートされていません。

移行されたプロジェクトが実行中の場合、W4ステップはNOPステップとして扱われ、トリガは無視されます。


XML Handling

コンポーネントを処理しているXMLは、XMLファイルまたはBLOB変数のどちらかを使用して動作します。これらは、BLOB変数内に含まれていて、これらのファイルまたはデータに対して異なるXML関数を使用することができます。

XML Handlingコンポーネントを使用する場合、XMLを使用するための基本的な知識が必要です。

関連トピック：

XML Handling - 設定

XML Handling - XML要素パスの構文

XML Handling - エラー処理


XML Handling - 設定

XML Handlingコンポーネントをフローに配置すると、Magic xpiは自動的にそのコネクタの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、設定ダイアログボックスを開きます。

XML Handlingコンポーネントは以下のインタフェースをサポートします。

  • メソッド


XML 処理 - メソッド

コンポーネントをダブルクリックするか、右クリックしコンテキストメニューから［設定］を選択してください。［XML Handlingコンポーネント設定］ダイアログボックスが開きます。

［XML Handlingコンポーネント設定］ダイアログボックスには、［送り元タイプ］フィールドが含まれています。ここで、必要なXMLデータを含めるXMLデータソースを選択してください。

ソースタイプ | 動作
元データパス | ［XMLデータソースタイプ］でFileを選択した場合、データとして使用したいXMLファイルをフルパスで指定する必要があります。このパスを入力するには、 [image] をクリックして式エディタを開きます。
変数名 | ［XMLデータソースタイプ］でVariableを選択した場合、 [image] をクリックして変数リストを開来ます。ここでは、必要なXMLデータを格納する変数を選択することができます。

以下のメソッドは、XML Handlingコンポーネントを設定するために使用されます。

  • Check Exists

  • Count

  • Delete Attribute

  • Delete Element

  • Find Element Index

  • Get Alias

  • Get Attribute Value

  • Get Element Alpha Value

  • Get Element BLOB Value

  • Get XML Encoding

  • Insert Attribute

  • Insert Element Alpha

  • Insert Element BLOB

  • Modify Attribute

  • Modify Element Alpha

  • Modify Element BLOB

  • Set Namespace

  • Set XML Encoding

  • Validate

メソッド

パラメータ

説明

Check Exists

XML要素またはXML属性がXML要素パスによって位置づけされた場合、Tureを返します。

要素パス

をクリックして、式エディタを開きます。XML要素パスを表す文字列を入力してください。正しいXML要素パスの構文を使用する際の詳細は、ここをクリックしてください。

属性名

名前／値の組合せを使用することにより、属性はXML要素の単一リソースを指定するために使用されます。

をクリックして、式エディタを開きます。XML属性名を入力してください。

存在

をクリックして、変数リストを開きます。チェック結果を格納する変数を選択してください。

エラーコード

XML Handlingのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Count

パスに依存するXML要素またはXML属性の発生数を返します。

要素パス

をクリックして、式エディタを開きます。XML要素パスを表す文字列を入力してください。正しいXML要素パスの構文を使用する際の詳細は、ここをクリックしてください。

属性名

名前／値の組合せを使用することにより、属性はXML要素の単一リソースを指定するために使用されます。

をクリックして、式エディタを開きます。XML属性名を入力してください。

カウント

指定されたパス内にの設定された要素の数

エラーコード

XML Handlingのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Delete Attribute

XML属性を削除します。

要素パス

をクリックして、式エディタを開きます。XML要素パスを表す文字列を入力してください。正しいXML要素パスの構文を使用する際の詳細は、ここをクリックしてください。

属性名

名前／値の組合せを使用することにより、属性はXML要素の単一リソースを指定するために使用されます。

をクリックして、式エディタを開きます。XML属性名を入力してください。

エラーコード

XML Handlingのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Delete Element

XML要素を削除します。

要素パス

をクリックして、式エディタを開きます。XML要素パスを表す文字列を入力してください。正しいXML要素パスの構文を使用する際の詳細は、ここをクリックしてください。

エラーコード

XML Handlingのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Find Element Index

指定された値と同じ値を持つXML要素のインデックスを返します。

検索

要素の検索方法をを指定します。ドロップダウンリストから以下のどれかを選択します。

  • 要素値（デフォルト）

  • 属性値

  • 子要素値

要素パス

をクリックして、式エディタを開きます。XML要素パスを表す文字列を入力してください。正しいXML要素パスの構文を使用する際の詳細は、ここをクリックしてください。

属性名

検索されるインデックスを持つ複合要素の属性名。

をクリックして、式エディタを開きます。XML属性名を入力してください。

［検索方法］が、属性値の場合のみ有効です。

子要素名

をクリックして式エディタを開き、子要素名を入力します。複合要素のインデックスを見つける場合、この設定のみ必要です。

［検索方法］が、子要素値の場合のみ有効です。

比較される値

要素、属性または子要素の値として比較される値。

をクリックして、式エディタを開き、必要な値を入力してください。

開始位置

要素パス内でのインデックスの開始位置。

要素インデックス

をクリックして変数リストを開きます。検索後に戻される要素インデックスの値が格納される変数を選択し、［選択］をクリックします。

エラーコード

XML Handlingのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Get Alias

ルート要素に対するネームスペースに関連するエイリアスを検索します。

ネームスペースURI

ネームスペースのURI（Uniform Resource Identifier ）を表す英数字。

をクリックして、式エディタを開き、必要な値を入力してください。空白にはできません。

エイリアス

URIに関連しているエイリアスを意味する英数字文字列が返ります。URIがデフォルトのネームスペースと見なされる場合、空の文字列が返ります。エラーが発生した場合、またはURIに対応したエイリアスが存在しない場合、NULL値が返ります。

エラーコード

XML Handlingのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Get Attribute Value

XML要素または要素パスに依存するXML属性の値を返します。

要素パス

をクリックして、式エディタを開きます。XML要素パスを表す文字列を入力してください。正しいXML要素パスの構文を使用する際の詳細は、ここをクリックしてください。

属性名

名前／値の組合せを使用することにより、属性はXML要素の単一リソースを指定するために使用されます。

をクリックして、式エディタを開きます。XML属性名を入力してください。

戻値

要求された属性値。XMLの解析処理が正常に終了した場合、属性値が返されます。失敗した場合、空白文字が返されます。

をクリックして変数リストを開きます。戻り値を格納する変数を選択し、［選択］をクリックします。

エラーコード

XML Handlingのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Get Element Alpha Value

XML要素または要素パスに依存するXMLの文字型の値を返します。

要素パス

をクリックして、式エディタを開きます。XML要素パスを表す文字列を入力してください。正しいXML要素パスの構文を使用する際の詳細は、ここをクリックしてください。

戻り値

要求された文字型の値。XMLの解析処理が正常に終了した場合、文字型の値が返されます。失敗した場合、空白文字が返されます。

を [image] クリックして変数リストを開きます。戻り値を格納する変数を選択し、［選択］をクリックします。

エラーコード

XML Handlingのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Get Element BLOB Value

XML要素または要素パスに依存するXMLのBLOB型の値を返します。

要素パス

をクリックして、式エディタを開きます。XML要素パスを表す文字列を入力してください。正しいXML要素パスの構文を使用する際の詳細は、ここをクリックしてください。

戻値

要求されたBLOB型の値。XMLの解析処理が正常に終了した場合、BLOB型の値が返されます。失敗した場合、空白文字が返されます。

をクリックして変数リストを開きます。戻り値を格納する変数を選択し、［選択］をクリックします。

エラーコード

XML Handlingのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Get XML Encoding

XMLドキュメントのエンコード方法を検索します。

エンコーディング

XMLファイルのエンコード方法を定義する文字列を返します。

をクリックして変数リストを開きます。エンコード方式が返される変数を選択し、［選択］をクリックします。

エラーコード

XML Handlingのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Insert Attribute

XMLドキュメント内の指定された場所にXML要素を挿入したり、属性を既存のXML要素に追加します。

要素パス

をクリックして、式エディタを開きます。XML要素パスを表す文字列を入力してください。正しいXML要素パスの構文を使用する際の詳細は、ここをクリックしてください。

属性名

名前／値の組合せを使用することにより、属性はXML要素の単一リソースを指定するために使用されます。

をクリックして、式エディタを開きます。XML属性名を入力してください。

挿入される値

XML属性の値。

をクリックして式エディタを開き、必要な値を入力してください。

エラーコード

XML Handlingのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Insert Element Alpha

XMLドキュメント内の指定された場所に文字型の値でXML要素を挿入します。

要素パス

をクリックして、式エディタを開きます。XML要素パスを表す文字列を入力してください。正しいXML要素パスの構文を使用する際の詳細は、ここをクリックしてください。

挿入される値

XML要素の文字型の値。

をクリックして式エディタを開き、必要な値を入力してください。

参照

参照された要素の名前。［相対位置］パラメータで指定された値に基づいて、新しい要素がその要素の前後に位置付けられます。

相対位置

新しく挿入された要素が位置付けられる場所。［参照］パラメータで定義された参照要素に関係します。ドロップダウンリストから以下のどれかを選択します。

  • 後（デフォルト）

  • 前

自動変換

値を有効なXML文字列に変換します。ドロップダウンリストから以下のどれかを選択します。

  • Yes (デフォルト)

  • No

エラーコード

XML Handlingのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Insert Element BLOB

XMLドキュメント内の指定された場所にBLOB型の値でXML要素を挿入します。

要素パス

をクリックして、式エディタを開きます。XML要素パスを表す文字列を入力してください。正しいXML要素パスの構文を使用する際の詳細は、ここをクリックしてください。

挿入される値

XML要素のBLOB型の値。

をクリックして式エディタを開き、必要な値を入力してください。

参照

参照された要素の名前。［相対位置］パラメータで指定された値に基づいて、新しい要素がその要素の前後に位置付けられます。

相対位置

新しく挿入された要素が位置付けられる場所。［参照］パラメータで定義された参照要素に関係します。ドロップダウンリストから以下のどれかを選択します。

  • 後（デフォルト）

  • 前

自動変換

値を有効なXML文字列に変換します。ドロップダウンリストから以下のどれかを選択します。

  • Yes (デフォルト)

  • No

エラーコード

XML Handlingのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Modify Attribute

属性の値を修正します。

要素パス

をクリックして、式エディタを開きます。XML要素パスを表す文字列を入力してください。正しいXML要素パスの構文を使用する際の詳細は、ここをクリックしてください。

属性名

名前／値の組合せを使用することにより、属性はXML要素の単一リソースを指定するために使用されます。

をクリックして、式エディタを開きます。XML属性名を入力してください。

変更される値

変更したいXML属性の値。

をクリックして式エディタを開き、必要な値を入力してください。

常に作成

XML内にすでに存在していない場合、属性を作成するかどうかを指定します。ドロップダウンリストから以下のどちらかを選択します。

  • No (デフォルト)

  • Yes

エラーコード

XML Handlingのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Modify Element Alpha

XML要素の文字型の値を修正します。

要素パス

をクリックして、式エディタを開きます。XML要素パスを表す文字列を入力してください。正しいXML要素パスの構文を使用する際の詳細は、ここをクリックしてください。

変更される値

変更したいXML属性の文字型の値。

をクリックして式エディタを開き、必要な値を入力してください。

常に作成

XML内にすでに存在していない場合、属性を作成するかどうかを指定します。ドロップダウンリストから以下のどちらかを選択します。

  • No (デフォルト)

  • Yes

自動変換

値を有効なXML文字列に変換します。ドロップダウンリストから以下のどれかを選択します。

  • Yes (デフォルト)

  • No

エラーコード

XML Handlingのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Modify Element BLOB

XML要素のBLOB型の値を修正します。

要素パス

をクリックして、式エディタを開きます。XML要素パスを表す文字列を入力してください。正しいXML要素パスの構文を使用する際の詳細は、ここをクリックしてください。

変更される値

変更したいXML属性のBLOB型の値。

をクリックして式エディタを開き、必要な値を入力してください。

自動変換

値を有効なXML文字列に変換します。ドロップダウンリストから以下のどれかを選択します。

  • Yes (デフォルト)

  • No

常に作成

XML内にすでに存在していない場合、属性を作成するかどうかを指定します。ドロップダウンリストから以下のどちらかを選択します。

  • No (デフォルト)

  • Yes

エラーコード

XML Handlingのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Set Namespace

ルート要素に対応したネームスペースURIにエイリアスをリンクさせます。

ネームスペースURI

ネームスペースのURI（Uniform Resource Identifier ）を表す英数字。

をクリックして、式エディタを開き、必要な値を入力してください。空白にはできません。

エイリアス

URIに関連しているエイリアスを意味する英数字文字列が返ります。URIがデフォルトのネームスペースと見なされる場合、空の文字列が返ります。エラーが発生した場合、またはURIに対応したエイリアスが存在しない場合、NULL値が返ります。

エラーコード

XML Handlingのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Set XML Encoding

書込みモードでオープンされたXMLドキュメントのエンコード方法を設定します。

エンコーディング

データをXMLドキュメントに追加するXML関数が使用するエンコード方式を表す文字列

エラーコード

XML Handlingのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

Validate

検証エラーのリストを返します。XML処理のステップが終了するまで、XMLドキュメントの変更は行われません。

スキーマファイルURL

スキーマファイルのURLまたはファイルパス（HTTPまたはローカル）。

をクリックして式エディタを開き、必要なURLまたはパスを入力してください。

論理名はサポートされません。

検証エラー

確認エラーや警告を含むXMLを返します。

をクリックして変数リストを開きます。エラーや警告が返される変数を選択し、［選択］をクリックします。

エラーコード

XML Handlingのエラーコードが返されます。

をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。


XML要素パスの構文

ここでは、XML Handlingコンポーネントを使用する際に、XML要素パスの構文の入力方法について説明します。

要素パスは、XML要素パスを表す文字列です。正しいXML要素パスの構文は、以下の通りです。

/要素名[[インデックス]] [/要素名[[インデックス]]..]

パラメータ：

要素名 …… XML要素の名前です。コロン（たとえば、al1：My_Element）によって要素名とエイリアスを分離して定義することができます。

インデックス …… 複数の値を持つ要素の格納場所が指定されたインデックスです。インデックス値は、0より大きくなければなりません。負の値は指定できません。


XML 処理 - エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。XML Handlingコンポーネントのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するととそれ以降のメソッドは実行されません。

XML Handlingコンポーネントのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも XML処理 コンポーネントで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーコード | 説明
101 | 要素パスが正しくない
102 | 属性名が正しくない
103 | この要素に対して既に定義されている属性です。
104 | 参照する要素が見つからない
105 | ルート要素が複数定義されています。
106 | パスが正しくありません - インデックスが正しくありません。
107 | エイリアスが既に使用されています。
108 | エイリアスが正しくありません。使用制限に抵触します。
109 | XMLの解析に失敗しました。
110 | XMLが正しくありません。

関連トピック：

Magic xpiでのエラー処理


XSLT

XSLT コンポーネントは、XMLドキュメントの変換を支援します。処理中は、オリジナルのドキュメントは変更されません。新しく作成されるドキュメントは､XMLフォーマット、あるいはHTMLなど全く別のフォーマットにすることができます。

XSLTは、Extensible Stylesheet Language Transformationの略です。これはXMLドキュメントを以下のような他のテキスト形式のフォーマットに変換するための標準的な変換言語です。

  • HTML/WML …… このフォーマットはWeb表示に使用します。

  • XML …… これはスキーマ間の変換に使用します。

  • Text …… この出力は任意の形式を取ることができます。

XSL-FOは、Extensible Stylesheet Language-Formatting Objects の略です。XSL-FOはXSLT規格の一部であり、XML文書を PDF、SVG、TXT、AWT、MIFやPSのような扱いやすい文書形式に変換します。

つまりXSL-FOは、XML文書を例えばPDFのような特定の形式でページ化して出力することができます。

Formatting Object Processor(FOP)は、Formatting Object(FO)ドキュメントを例えばPDFのような任意の形式に変換します。FOドキュメントは、レイアウト、フォーマット情報と共に文書内容を含みます。ファイルの出力形式は、FOドキュメントでは規定されておらず、プログラムから直接FOPプロセッサに渡されます。

関連トピック：

XSLT – 設定

XSLT – エラー処理


XSLT – 構成

XSLTコンポーネントはXMLドキュメントを変換します。

XSLTコンポーネントをフローに配置すると、Magic xpiは自動的にそのコネクタの［プロパティ］ペインを開きます。必要な情報を［プロパティ］ペインに入力してください。

そして、コンポーネントをダブルクリックするか、右クリックして、コンテキストメニューから［設定］選択して、［ダイレクトアクセスメソッド：XSLT］ダイアログボックスを開きます。ここでXSLTコンポーネントの設定を行います。

フロー内のステップとしてのコンポーネントを使用する時は、以下のインタフェースから選択することができます。

  • メソッド

  • XML

本コンポーネントはXSLTバージョンレベル1.0をサポートします。


XSLT - メソッド

以下のメソッドを使用してXSLTコンポーネントを構成します。

  • XSLT Transform (Files)

  • XSLT Transform (BLOBs)

  • XSL-FO Convert (Files)

  • XSL-FO Convert (BLOBs)

  • Build Output Properties

  • Build Dynamic Parameters

以下の表が使用可能なメソッドとパラメータの一覧です。太字のパラメータは必須です。

メソッド | パラメータ | 説明
XSLT Transform (Files) XSLTスタイルシートを使用してXMLの内容をファイルに変換します。 | XMLファイル | 変更したいソースのXMLファイルのフルパス名。必須入力です。
 | XSLTファイル | XSLTファイルです。変換仕様が含まれていてオプションです。省略された場合、XML内にスタイルシートのURLが定義されていなければなりません。
 | 出力ファイル | ファイルの出力先をフルパスで指定します。必須入力です。
 | エラーコード | をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。
XSLT Transform (BLOBs) XSLTスタイルシートを使用してXMLの内容をBLOBに変換します。 | XML BLOB | ソース情報を含む変数を選択してください。必須入力です。
 | XSLTファイル | XSLTファイルです。変換仕様が含まれていてオプションです。省略された場合、XML内にスタイルシートのURLが定義されていなければなりません。
 | 出力BLOB | これはBLOB変数の出力内容で、必須入力です。
 | エラーコード | をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。
XSL-FO Convert (Files) XSLTスタイルシート(動的)を使用してXMLコンテンツをPDFかSVGファイルに変換します。 | XMLファイル | 変更したいソースのXMLファイルのフルパス名。必須入力です。
 | XSLTファイル | XSLTファイルです。変換仕様が含まれていてオプションです。省略された場合、XML内にスタイルシートのURLが定義されていなければなりません。
 | 出力ファイル | ファイルの出力先をフルパスで指定します。必須入力です。
 | 出力フォーマット | 出力フォーマットとしてSVGもしくはPDFから選択します。デフォルトはPDFです。
 | エラーコード | をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。
XSL-FO Convert (BLOBs) XSLTスタイルシート(動的)を使用してXMLコンテンツをPDFかSVGファイルに変換します。 | XML BLOB | ソース情報を含む変数を選択してください。必須入力です。
 | XSLTファイル | XSLTファイルです。変換仕様が含まれていてオプションです。省略された場合、XML内にスタイルシートのURLが定義されていなければなりません。
 | 出力BLOB | これはBLOB変数の出力内容で、必須入力です。
 | 出力フォーマット | 出力フォーマットとしてSVGもしくはPDFから選択します。デフォルトはPDFです。
 | エラーコード | をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。
Build Output Properties フォーマット、フォーマット特性、変換のエンコーディングを定義します。 | 出力メソッド | XML、HTML、あるいはTextフォーマットのいずれかです。
 | XMLバージョン | 使用しているソースXMLのバージョンです。例： 1.0
 | 出力エンコーディング | IANA（Internet Assigned Numbers Authority ）に登録されている文字セット
 | XML宣言 | このパラメータで宣言タグを作成できます。
 | スタンドアロン | これによりstand-aloneのドキュメント宣言を作成します。
 | Doctype-public | これによりDoctype-publicのドキュメント宣言を作成します。
 | Doctype-system | これによりDoctype-systemcのドキュメント宣言を作成します。
 | CDATAセクション要素 | スペースで区切られた、文節子がCDATAセクションを使用している出力であるべき要素の名前一覧を指定します。
 | インデント | これは結果ツリーをインデントします。
 | メディアタイプ | 結果ツリー出力の結果出てくるデータのメディアタイプ（MIME content type）を指定します。
 | エラーコード | をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。
Build Dynamic Parameters XSLTプロセッサに渡すことができ、XSLTスタイルシートに挿入できるアプリケーションレベルのコンテキストパラメータ | パラメータ名 | XSLTで表示される通りのパラメータ名です。
 | パラメータ値 | XSLTプロセッサに渡されるパラメータ値です。
 | エラーコード | をクリックして変数リストを開きます。エラーコードが返される変数を選択し、［選択］をクリックします。

関連トピック：

ダイレクトアクセスメソッドの使い方


XSLT – エラー処理

Magic xpiサーバの フローマネジャーは、ステップの実行中にエラーを監視します。XSLTコンポーネントのステップでエラーが発生すると、エラーハンドラが起動されエラーを処理します。

ステップ内の最初のエラーでステップの実行は停止します。ステップに複数のメソッドが定義されている場合、一つのメソッドでエラーが発生するとすべてのメソッドが実行されるわけではありません。

XSLTコンポーネントのためのエラーコードを以下に示します。Magic xpiの一般コンポーネントエラーも Directory Scannerコンポーネントによってで使用できます。コードは呼び出しプログラムのエラーコードパラメータ内でMagic xpiサーバに返されます。

エラーが発生した場合、実行されているJavaが例外コードを返してくる場合があります。ほとんどのエラーはコア部分で発生します。それらは通常、IO操作かXSLT変換、もしくはXMLの妥当性や構文と関連しています。

エラーコード | 詳細 | Java 例外マッピング
8501 | 引数が指定されていない | com.magicsoftware.ibolt.commons.exception.IBRTException code -2
8502 | 引数が正しくない | com.magicsoftware.ibolt.commons.exception.IBRTException code -1
8503 | 処理が失敗した | java.lang.Exception or com.magicsoftware.ibolt.commons.exception.IBRTException code -12
8504 | IO エラー | java.io.IOException
8505 | ファイルが見つからない | java.io.FileNotFoundException
8506 | 変換エラー | javax.xml.transform. TransformerException
8507 | FOP変換エラー | org.apache.fop.apps. FOPException

Java例外メッセージはマッピングされたエラー詳細に添付されています。

Java例外タイプ(instanceof)は以下の順番でチェックされます。

  • org.apache.fop.apps.FOPException

  • javax.xml.transform.TransformerException

  • java.io.FileNotFoundException

  • java.io.IOException

  • com.magicsoftware.ibolt.commons.exception.IBRTException

  • java.lang.Exception

関連トピック：

Magic xpiでのエラー処理


Magic xpi for IBM i ガイド

このセクションは、IBM iサーバと一緒にMagic xpiを使用する場合の情報を提供します。

  • 通常、サーババージョンはWindows版のリリースの後にリリースされます。

  • IBM i 機能は特別ライセンスで提供されています。

  • Magic xpiは、OS/400のV5R4、IBM i 6.1とIBM i 7.1をサポートします。

関連トピック：

Magic xpi for IBM i

Magic xpi インテグレーションシナリオ

IBM i用のMagic xpi機能

IBM i用ゲートウェイ

Magic xpi スタジオのインストール

DB2 for IBM i データベースのデータマッパサポート

外部アプリケーションとの接続

トラブルシューティング

IBM i コネクタ


Magic xpi for IBM i

Magic xpi for IBM i は、"off box”が実装されています。Magic xpiを非IBM iサーバ上にインストールし、ゲートウェイ経由でリモートPCからIBM iのリソースにアクセスするMagic xpi 統合フローを配備することができます。


Magic xpi インテグレーションシナリオ

Home > Magic xpi for IBM i ガイド > Magic xpi インテグレーションシナリオ

Magic xpi の統合シナリオ

以下のシナリオは、ある統合シナリオとMagic xpiがいかにインテグレーションの課題を解決しているかを示しています。この例では、IBM iプラットフォームでのMagic xpiのインテグレーションを含みます。

以下のシナリオでは、ERPアプリケーションが様々なプラットフォーム上で動作していて、自社開発の古いアプリケーション、そして最新のWeb-basedインタフェースに接続された会計アプリケーションが存在している典型的なインテグレーション状況を示しています。

シナリオには以下のステップがあります。

  • Web を経由したMagic xpiサーバへのリクエスト

  • サーバはリクエストをCustomer、Vendor、Partnerに分類します。

  • 顧客リクエスト（Customer requests）は、IBM i サーバ上で稼動している JD Edwards 5250 アプリケーションへ送られます。JD Edwards 5250 アプリケーションは、Edwards データベースを更新します。IBM i サーバで稼動する会社のARシステムがそれにより更新され、確認電子メールが送信されます。

  • ベンダーリクエスト（Vendor requests）は、IBM i サーバで稼動する自社開発のレガシーアプリケーションに送られます。レガシーアプリケーションは､ベンダーデータベースを更新します。Windows サーバで稼動している会社のAPシステムがそれにより更新され、確認電子メールが送信されます。

  • 取引先リクエスト（Partner requests）は、Intelサーバ上で稼動しているSAP Business One システムへ送られます。SAP Business One システムは、SAP データベースを更新します。会社のWidows サーバ上で稼動しているAPシステムとIBM IBM i サーバ上で稼動しているARシステムは､それにより更新され確認電子メールが送信されます。


IBM i用のMagic xpi機能

Magic xpi for IBM i gatewaysの主な長所は、以下の通りです。

データベースアクセス

  • 物理（テーブル)ファイルと論理（インデックス/ビュー)ファイルにアクセスできます。

  • 動的選択の作成のためにダイレクトSQL文を使用することができます。

  • ストアドプロシージャーとSQL関数を使用することができます。

IBM i プログラムとコマンドへのアクセス

  • ネイティブなIBM iプログラムとAPI（CL/RPG/COBOL/C/Javaなど）を呼び出すことができます。

  • CPFとCPDメッセージを取り出すことができるCLコマンドを実行することができます。

IBM i システムサービスへのアクセス

  • オブジェクトリストの取り出し

  • システム値の取り出し

  • スプールファイルエントリーの取り出しとアクセス

  • IFS ディレクトリファイルの取り出しとアクセス

  • ユーザスペースオブジェクトへのアクセス

  • データキューオブジェクトへのアクセス

  • ジョブログメッセージへのアクセス

Linux (Wintel/xSeries) と AIX (pSeries) へのアクセス

  • IBM iとの通信

  • DB2/400 データベースへのアクセス

  • IBM iコマンドへのアクセス

  • ネイティブなIBM iプログラム(RPG/COBOL/CL)へのアクセス

Web 処理

  • IBM i上のネイティブなMagic xpiサーバ

  • IBM i用のネイティブなMagic xpi Apacheインターネットリクエスタ(CGI)

  • IBM i用のLinuxパーティションのためのネイティブなMagic xpi Apache インターネットリクエスタ(CGIとApacheモジュール)

IBM i要素の統合/公開

  • Magic xpi リクエスタ APIは、ネイティブなIBM iアプリケーション(CL/RPG/COBOL/Cなど)プログラムから他のさまざまなプラットフォーム上の外部のプロセスを呼出すことができます。

  • Web Serviceサポート

  • WebSphere MQサポート

  • Eメールサポート

  • XMLフォーマットサポート

  • PDFフォーマットサポート


IBM i用ゲートウェイ

Magic xpiは、IBM iのDB2/400ゲートウェイを使用します。このゲートウェイは、SQL CLI（レベル・インターフェースを呼び出します)を呼び出すネイティブ方法に基づいています。

Magic xpiはまた、ゲートウェイの動作の詳細情報を確認することができるDBMS（ゲートウェイ)のロギング機能を提供します。

データベース関連の問題を処理するには、ゲートウェイのロギング機能を起動させるか、MGCLIENTジョブのジョブログを調査することができます。デフォルトでは、MGCLIENTジョブは、ロギングが無効状態で開始されます。CHGJOBコマンドを使用することにより、変更することができます。


Magic xpi スタジオのインストール

以下のトピックでは、IBM iにMagic xpi スタジオをインストールする方法を説明します。

  • Magic xpi for IBM i のライセンス

  • 登録処理のFAQ

  • TCP/IP ホスト構成を確認する

詳細については、Magic xpi インストールガイド を参照してください。


Home > Magic xpi for IBM i ガイド > Magic xpi スタジオのインストール > Magic xpi for IBM i のライセンス

Magic xpi for IBM i のライセンス

ライセンスに関しての情報は､以下を参照してください。

Magic xpi ライセンス形態 – テクニカルノート


登録処理の FAQ

登録処理のついての質問がる場合は、以下のFAQとその答えを参照してください。

Q1 | 新しいゲートウェイのバージョンがあり、様々なホストライブラリ上でテストしたいのですが、再度登録する必要がありまか？
A1 | いいえ。 Magic xpi for IBM i 登録はひとつのライブラリに対してだけです。使用されているライブラリ名はQGPL/EASYCOM ファイルにあります。
Q2 | 古いホストライブラリを登録ライセンスごと削除してしまいました。どうしたらいいでしょうか？
A2 | QGPL/EASYCOM ファイルを削除してください。又は手持ちの全てのライセンスを他のライブラリで登録してください。
Q3 | どこでライセンスとユーザ数を確認できますか？
A3 | RUNQRY *N QGPL/EASYCOM コマンドを使用し、どのライブラリが登録情報を持っているかチェックしてください。SVALUE列の値をメモしてください。これがMagic xpi for IBM i ライセンスが参照されているホストライブラリ名です。 RUNQRY *N <HOST_LIB>/ AURA コマンドを実行することもできます。


TCP/IP ホスト構成を確認する

IBM i の Magic xpi サブシステムと EASYCOMD デーモンを確認するには：

  1. Magic xpiサブシステムがアクティブであることを確認するには、WRKSBSコマンドを使用してください。アクティブでない場合は、サブシステムを開始するために、STRSBS LIB/SBSコマンド(Libはサブシステムライブラリで、SBSはサブシステム名です)を使用してください。

  2. Easycomデーモンがアクティブであることを確認するには、WRKJOB EASYCOMDコマンドを使用してください。

  3. EASYCOMDジョブがアクティブでない場合は、CHGCURLIB HostLibとSTREACD HostLibコマンドを実行してください。複数のパラメータのためにF4を使用してください。初期の接続についての問題がある場合、データベース接続(MGCLIENTジョブ)が送られたことを確認するために、EASYCOMDジョブログを参照してください。そして：

    • MGCLIENTジョブが送られた場合、システムログを確認してください。

    • MGCLIENTジョブが送られなかった場合、接続機能jをチェックしてください。


DB2 for IBM i データベースのデータマッパサポート

ここでは、DB2/400データベースを使用したデータマッパーを使用するために必要な処理について説明しています。

  • 区切り文字の変更

  • DB2 for IBM iの言語サポートを追加する

  • ユーザプロファイルを設定する

  • DB2 for IBM iのデータベースエントリを作成する


区切り文字の変更

DB2/400データベースは、次の2つの名前変換をサポートしています。

  • システム名 …… ライブラリとテーブルの間の区切り文字としてスラッス（"/"）を使用します。

  • SQL名 …… ライブラリとテーブルの間の区切り文字としてピリオド（"."）を使用します。

IBM i上でのMagic xpiは、デフォルトでSQLの命名規則で動作するように構成されます。命名規則を変更するには、DB2/400のデータベースのDBMのプロパティでNAMINGキーワードを次のように設定してください。NAMING=*SYS

設定ファイル (Magic.ini) に以下の変更を加えます。

  1. [MAGIC_DBMS] セクションを見つけます。

  2. DB2 for IBM iから始まる行を見つけます。NAMING=*SQL を探します。このエントリーがDB2 for IBM iデータベースにアクセスした時の区切り文字の使用を設定します。

  3. 区切り文字にスラッシュ (/)を使用する場合はエントリーを NAMING=*SYS に書き換えます。


DB2 for IBM iの言語サポートを追加する

DB2/400のデータは、EBCDIC(Extended Binary Coded Decimal Interchange Code)でIBM i上に保存されます。EBCDICのエンコード処理は、IBMによって使用される文字のエンコード処理セットです。ほとんどの言語は、それがIBMの文字セットID（CCSID）によって表すことができます。

例えば：

言語 | CCSID
英語 | CCSID 37
日本語 | CCSID 1399
Unicode | CCSID 13488

一つの言語とは対照的に、グループの言語を意味する新しいCCSIDコードがあります。

非Unicodeのサポート

非Unicode DB2 / 400データを処理するには、Magic xpiがそれをEBCDICからANSIに、またはその逆に変換する必要があります。

この変換は、EBCDICからANSIへの変換テーブルを介してMagic xpiによって行われます。 変換テーブルは.iniファイルを通じて設定されます。 AS / 400エントリのDBMSプロパティでLANGUAGE = AS2EB.XXXキーワードを使用して制御できます（XXXは言語の短い名前を表します。たとえば、英語はENG、ドイツ語はGERなど）。

Magic xpiには、変換テーブルのリストが付属しています。 独自の変換テーブルを作成することもできます。 デフォルトでは、Magic xpiはAS2EB.ENG変換を使用します。

EBCDICデータの照合順序（ソート）は、ANSIとは異なります。 この違いを処理するために、Magic xpiは代替照合シーケンステーブルacs.xxxを使用します。 デフォルトでは、これはacs.engに設定されています。 別のAS2EB.XXX変換を選択する場合は、代替照合シーケンステーブルの変更も検討する必要があります。

必要に応じて、以下の手順で動作環境（Magic.ini）を変更してください。

  1. Magic.iniファイルの [MAGIC_DBMS] セクションへ行きます。

  2. AS400から始まる行から LANGUAGE=AS2EB.ENGというエントリーを見つけます。システム言語が英語でない場合、拡張子*.ENGを使用するDB2 for IBM iデータベースと合うものに変更します。

  3. AS400行の最後にコンマ(,)と正しいASCII/EDBCDIC 翻訳パスを追加します。例えば、ドイツの場合、 support/ACS400.GER を追加します。

  4. DB2 for IBM i行の最後にコンマ(,)と正しいASCII/EDBCDIC 翻訳パスを追加します。例えば、ドイツ語の場合、 support/ACS400.GER を追加します。

ステップ２でLANGUAGEエントリーに追加される拡張子はステップ３、ステップ４でASCII/EDBCDIC 翻訳パスで使用される拡張子と同じでなくてはなりません。

  5. さらにカンマ(,)を追加し、正しいACSファイルを追加します。例えば、ドイツの場合、 support/ACS400.GER を追加します。

Unicodeサポート

Unicodeは、世界中でシステムに記述されているテキストとシンボルを表示させるために使用されている標準的なエンコードシステムです。プラットホームやプログラムまたは言語に関係なく、文字に対してユニークな番号が割り当てられています。

数種類のUnicodeエンコードがあります、しかし、i5/OSはUCS-2（CCSID 13488）とUTF-16（CCSID 1200）Unicodeのみをサポートします。この2つのうち、UTF-16は多くの標準的なプログラミング技法と互換性がありません。IBM iは、OSとプログラムでUnicodeをサポートしています。Magic xpiはUCS-2エンコーディングをサポートしています。Unicodeのデータフィールドは、グラフィック・フィールドとしてDB2/400にインプリメントされています。

DB2/400のUnicodeデータを処理するために必要な変換テーブルはありません。同じデータベースでUnicodeと非Unicodeデータフィールドを使用する場合、EBSDICからANSII変換テーブルが必要となります。

SQLとISAMステートメントでUnicode値をサポートするため、.iniファイルのDBMSセクションに以下のキーワードを追加する必要があります。

SUPPORT_UNICODE_STMT

以下の変更をWindowsの環境変数に加えてください：

  1. Widowsの［システムのプロパティ］を開きます

  2. ［詳細設定］タブをクリックします。

  3. ［環境変数］をクリックします。

  4. <コンピュータ名>の［ユーザ環境変数］セクションでMagic xpi_LANGUAGEを選択し、［編集］をクリックします。

  5. もしこの変数が一覧にない場合、［新規］をクリックし、［変数名］フィールドにMagic xpi_LANGUAGEと入力します。［編集］をクリックする必要はありません。ただ、次の行で説明されているパスを［変数値］フィールドに入力し、［OK］をクリックしダイアログボックスを閉じ、最後のステップに進みます。

  6. 正しいASCII/EDBCDIC翻訳パスを［変数値］フィールドに追加します。例えばもしドイツ語を使用する場合、support/AS2EB.GERです。

  7. ［OK］をクリックしダイアログボックスを閉じます。

  8. ［OK］をクリックし［Windows環境変数］を閉じます。

地域の設定

以下の地域の設定を.iniファイルに反映させることも考慮してください。

[MAGIC_ENV]

ThousandSeparator =

DecimalSeparator =

DateSeparator =

TimeSeparator =

ScreenModePrompt =

[MAGIC_LOGICAL_NAMES]

date_format=YYYY-MM-DD


ユーザプロフィールを設定する

データマッパーが正しく機能するように以下のことを確認してください。

  • DB2 for IBM iデータベースとデータの間でマッピングするには、データベースについての情報を［設定］ダイアログボックスの［リソース］]セクションに入力しなければなりません。DB2 for IBM iデータベースが位置している場所に、[リソース]セクションの［ユーザ］フィールドで入力された名前がIBM iマシン上に存在していることを確認してください。

  • DB2 for IBM iデータベースがインストールされるIBM iマシン上で、［リソース］セクションに入力されたユーザのためのユーザプロフィールのCCSIDが65535に設定されていないことを確認してください。
    IBM i のコマンド（DSPUSRPRF <ユーザ名>）を使用してこれをチェックすることができます。［Coded character set ID］パラメータを参照してください。値が*SYSVALであれば、IBM iのi値QCCSIDが65535ではないことを確認してください。

CCSIDについて詳細情報は、IBMのドキュメントを参照してください。 http://publib.boulder.ibm.com/infocenter/iseries/v6r1m0/index.jsp


DB2 for IBM iのデータベースエントリを作成する

DB2 for IBM iのデータベースエントリを作成するには：

  1. Magic xpi スタジオを開始します。

  2. ［プロジェクト］メニューから［設定］を選択します。

  3. ［設定］ダイアログボックスで、［リソース］にパークします。

  4. ［追加］をクリックして［新規リソース］ダイアログボックスを開きます。

  5. ［リソースタイプ］ドロップダウンリストからデータベースを選択します。［リソース名］フィールドに名前を入力し［OK］をクリックします。

  6. ［リソース設定］ダイアログボックスの左側のペインで作成したばかりのデータベースを選択します。

  7. ［DBMS］パラメータでドロップダウンリストからDB2/400を選択します。

  8. 以下の情報を設定します。

  • Server = 10.1.4.201 (IBM iの IPアドレス / IBM i ホスト名)

  • User = IBM i ユーザプロフィール

  • Password = パスワード

  • Library/Schema Name = JSQL (これは IBM i SQL データベースの名前です.)

  9. ［確認］ボタンをクリックしデータベース設定を確認します。

  10. ［適用］をクリックします。

DB2/400リソースを使用するには、Magic xpi for IBMi製品がマシンにインストールされていることを確認してください。 また、IBMiサーバーにはMagic xpi for IBM i製品のホストライブラリーが含まれている必要があります。


外部アプリケーションと接続する

Magic xpi統合プロジェクトを使用中、IBM iで稼動しているMagic xpiサーバが、Java、Apache、Web Service、あるいは、WebSphere MQ メッセージテクノロジ等の外部の最新テクノロジに接続する必要が生じる場合があります。


IBM i での Java

IBM i上のJavaの要求条件については、『Magic xpi インストールガイド』 を参照してください。

Java構成

IBM i上で動作しているJavaプログラムにアクセスするには、以下の設定がMagic xpi設定ファイルにされている必要があります。

  1. IFSディレクトリにある、/iBOLTSVRxx/etc/IBLTENV400 ファイルに MG_JAVALIB キーワードが定義されていることを確認してください。

    キーワードは、以下のように定義されているはずです。

    MG_JAVALIB=/QIBM/ProdData/Java400/jdk14/PASE32/lib/libjvm.a

    上記の設定は､JDK がインストールされているパスを指定しています。

  2. Iifs.iniファイル（/iBOLTSVRxx/etc/ にあります）内の[MAGIC_JAVA]セクションを開き CLASSPATH を設定します。

    これは以下の場合に必要です。

    • ユーザがJavaランタイムに必要なJava クラス、そしてMagic xpiとそのコンポーネントに必要なjarファイルへのパスを指定しなければならない場合。

    • ユーザがMagic xpi製品外のJavaクラスを呼んでいる場合、ユーザは、classファイル（IBM i-のIFSフォルダにあります）へのパスをifs.iniファイルのCLASSPATH行に追加しなくてはなりません。

Magic xpiサーバでのJava使用

既存のJavaクラスへの明示的なアクセスの他に、Magic xpiサーバはJavaテクノロジを使用したDirectory Scannerー、ファイル分割、アーカイブ、FTP、そしてドミノコンポーネント等のMagic xpiコネクタを呼び出しています。

トラブルシューティング

Javaクラスへのアクセス中にエラーが生じた場合、エラーは以下のログにレポートされます： /logs/java/stderr.log 。

さらにmgerror.log と ifs.log ファイルを確認することができます（もし Magic xpi が IBM i サーバ上で動いているならば）。

また、 Magic xpi モニタログで特定のコンポーネントでのエラー


IBM i の Apache Webサーバ

Web ServiceとHTTPコンポーネントをMagic xpiサーバのトリガとして設定するには：

Apache Web サーバの設定ファイル（httpd.conf）にMagic xpiサーバ関連の追加の設定を追加してください。

以下のコンポーネントを使用する場合、Webサーバが必要です。

  • トリガモードで構成されているWeb Servicesコンポーネント

  • トリガモードで構成されているHTTP コンポーネント

  • Webサーバにアクセスするその他全てのコンポーネント

関連トピック：

Apache Web サーバ構成

トラブルシューティング - Apache Web サーバ


Apache Web サーバ構成

IBM i でApache Web サーバインスタンスを作成する前に、Apache Web サーバのADMINインスタンスが起動され稼動中であることを確認してください。以下のコマンドを実行することにより確認できます。

WRKACTJOB SBS(QHTTPSVR)

以下のような出力が表示されます。

Opt Subsystem/Job | User | Type | CPU | Function | Status
QHTTPSVR | QSYS | SBS | .0 |  | DEQW
ADMIN | QTMHHTTP | BCH | .0 | PGM-QZHBHTTP | SIGW
ADMIN | QTMHHTTP | BCI | .0 | PGM-QZSRLOG | SIGW
ADMIN | QTMHHTTP | BCI | .0 | PGM-QZSRHTTP | SIGW
ADMIN | QTMHHTTP | BCI | .0 | PGM-QYUNLANG | TIMW
ADMIN | QTMHHTTP | BCI | .0 | PGM-QYUNLANG | TIMW
ADMIN | QTMHHTTP | BCI | .0 | PGM-QYUNLANG | TIMW

もし、ADMINインスタンスが稼動していない場合、以下のコマンドでインスタンスを開始する必要があります。

STRTCPSVR SERVER(*HTTP) HTTPSVR(*ADMIN)

IBM iでApache Web サーバインスタンスを作成し維持する：

  1. Magic xpiフォルダの cgibin と scripts を/QOpenSys/<Magic xpi Apache folder> にコピーします。

  2. Apache サーバを設定します。

  3. 以下のURLを使用し、Apache 管理コンソールを開始します。

URL:http://<Server>:2001/HTTPAdmin

  4. Apache サーバのひとつを選択します（又は新規に定義します）。

  5. Apache サーバ設定ファイルを編集し以下の定義を追加します。

ScriptAlias /Magic xpi/ /QOpenSys/<Magic xpi Apache folder>/cgibin/
<Directory "/QOpenSys/<Magic xpi Apache folder>/cgibin/">
Options +ExecCGI
Order allow,deny
Allow from all
</Directory>

Alias /magicxpiutils/ /QOpenSys/<Magic xpi Apache folder>/scripts/

<Directory "/QOpenSys/<Magic xpi Apache folder>/scripts/">
Order allow,deny
Allow from all
</Directory>

  6. Apache サーバを再起動します。

  7. /QOpenSys/<Magic xpi Apache folder>/cgibin/MGREQ.INI を編集し、 DefHtml エントリを更新します。
    DefHtml = /Magic xpiutils/ErrorPage.htm


トラブルシューティング - Apache Web サーバ

問題に遭遇した場合は、以下を確認してください。

  • /Root/www/<server>/Logs/ifs.log

  • Apache ディレクトリ内のログのエラー詳細

  • Magic xpi モニタでWeb ServiceとHTTPコンポーネント関係のリポート


IBM iの WebSphere MQ (MQ Series)

IBMのWebSphere MQシリーズは､複数のプラットフォームにまたがって非同期の単発メッセージ配信を行うメッセージキューシステムです。

これは、アプリケーション間の接続のインフラを提供し、アプリケーションが同じマシン上､または複数のネットワークによって隔てられている他のマシン上で稼動している場合に最適なソリューションとなります。

Magic xpi はMagic xpiサーバとWebSphrere MQサーバ間の情報交換(フロー変数, ODSエントリ)を可能にする最新のコネクタを提供します。WebSphere コネクタについての詳細については、こちらを参 照してください。

関連トピック：

IBM i の WebSphere MQ 構成

iIBM i の Magic xpiサーバの構成

PC の WebSphere MQ 構成


Home > Magic xpi for IBM i ガイド > 外部アプリケーションと接続する > IBM iの WebSphere MQ (MQ Series) > IBM i の WebSphere MQ 構成

IBM i の WebSphere MQ 構成

詳細は、ここをクリックしてIBMの参考資料を参照してください。


iIBM i の Magic xpiサーバの構成

Magic xpi Server for IBM iを設定するには：

  1. IBM i で <Magic xpi のルート>/etc/IBLTENV400 設定ファイルを開きます。

  2. ファイルに以下の設定があるかどうか確認します。

# Websphere MQ – UDP

WMQseriesS=$MAGIC_HOME/bin/mgmqseries_c

WMQseriesC=$MAGIC_HOME/bin/mgmqseries_c


PC の WebSphere MQ 構成

PCクライアントからWebsphrere MQへ接続したい場合、以下のステップが必要です。

  1. PCにWebSphere MQ クライアントをインストールします。

  2. 新しい MQSERVER という名前の環境変数を次のように定義します。 <チャネル名>/TCP/<サーバアドレス>

例えば、もし CH1 がチャンネル名でMagic xpi400がWMQサーバがインストールされているマシン名だとした場合、値は次のようになります。 CH1/TCP/Magic xpi

  3. 環境変数が有効になるように必ずPCを再起動してください。


トラブルシューティング - IBM i

Magic xpiプロジェクトを実行する前に、インストールされたMagic xpiの各所でログを設置することができます。これによりIBM i上でMagic xpi統合プロジェクトのトラブルシューティングが可能になります。

以下のログを設定することができます。

  • リクエスタログ

  • フローモニタログ

関連トピック：

トラブルシューティング - Apache Web サーバ


Magic xpa リクエスタのログ設定

以下のステップを実行することで、MGREQ.INIファイルのMagic xpa のリクエスタのログを設定してください。

  1. ［Magic xpi Server Administration］メニューで、［Internet/Partition ］のメニューを開き、MGREQ.INIオプションを選択してください。

  2. MGREQ.INIファイルを編集し、オプションの2を選択してください。

  3. ログ設定からセミコロン(；)を削除することで、リクエスタのログを有効にしてください。


フローモニタログ

フローモニタロギングは、ifs.iniファイルの[MAGIC_LOGGING]セクションを通して以下のようにコントロールすることができます。

パラメータ | 説明
BeginMSG=Y | 動作のログ開始オプション
EndMSG=Y | 動作のログ終了オプション
TaskMSG=Y | タスクオプション（オープン、クローズ、およびイベントなど）
FlowMSG=Y | フローオプション（接頭辞と接尾辞など）
ViewMSG=Y | データビューオプション（範囲、位置付、トランザクションなど）
RecomputeMSG=Y | 再計算オプション
OperationsMSG=Y | オペレーション（選択ｍ更新、リンクなど）
LogBroswer=Y | コンテキスト情報
LogMSG=Y | ゲートウェイオプション（接続とSQL文）
TriggerEvent=Y | Magic xpaエンジンによって処理されるすべてのイベント
ExternalLogFileName = 設定されるログファイルの名前


Magic xpi サーバ for IBM i の配備に関する検討事項

Windows上で実行するMagic xpi スタジオを使用してMagic xpiプロジェクトを開発したら、IBM iプラットフォーム上にMagic xpiプロジェクトを配備する必要があります。

IBM iプラットフォームで実行しているMagic xpiサーバは、IBM i上に配備された統合プロジェクトを実行します。

IBM iプラットフォーム上でMagic xpiプロジェクトを配備する際に、考慮する必要のある様々なポイントは以下の通りです。

Magic xpiサーバとMagic xpiモニタ

Magic xpiプロジェクトフォルダとメタデータファイル

環境変数の使用

IBM i での IBOLT.INI の設定

メッセージングキューの設定

Webサーバ設定


Magic xpiサーバとMagic xpiモニタ

IBM iにインストールされたMagic xpiサーバは、IBM iシステム上に配備されるプロジェクトを実行します。

サーバの動作の進捗をモニタするには、Magic xpiモニタをPCクライアントにインストールする必要があります。

(PCクライアント上の)MAGIC.INIファイルが、IBM iにインストールしたMagic xpiの内部データベースを参照していることを確認してください。


Magic xpiプロジェクトフォルダとメタデータファイル

IBM i上にMagic xpiプロジェクトを配備するには：

  1. 以下のIBM i IFSフォルダを \projects\ と名付けられたPCフォルダからMagic xpi IFS フォルダ /iboltsvr25/projects/ にコピーしてください。
    <my_project>フォルダは、Magic xpiプロジェクトのメタデータファイルとサブフォルダ(これはプロジェクトで使用された各Magic xpiコンポーネントのためにコピーされます)を含んでいます。

  2. IBM iフォルダにプロジェクトで使用されたた他の様々なファイル(.XMLや.TXTファイルなど)をコピーしてください。.

Magic xpiのプロジェクトファイルをIBM i IFSフォルダに転送するには、以下の方法を使用することができます。

  • FTP ユーティリティ

  • IBM i オペレーションナビゲータツール - PCクライアントからIBM i IFSフォルダにフォルダをドラッグすることができます。

  • IBM i NetServer ツール - IBM i IFSフォルダをネットワークドライブとしてローカルPCにマッピングし、IBM iにMagic xpiプロジェクトファイルをコピーすることができます。


環境変数の使用

Magic xpiプロジェクトでは、スタジオインタフェース内でマシン名やライブラリ名、データベース名、キュー名、およびエイリアス名などのコンポーネントで内の任意の場所で環境変数を使用してください。

さらに、Windows上では、パスの区切り文字がバックスラッシュ(\)なのに対して、IBM iではスラッシュ(/)です。この不一致に滞欧するため、Magic xpiは環境変数 %sl% を供給しています。プロジェクトを開発する時は、可能な限りこの環境変数を使用してください。

Magic.iniファイルやMSMQキュー名、およびプロパティに対する変更を含め、開発中のすべての必要な設定を記録しておいてください。

配備される前に、プロジェクトからすべてのデバッグコードを無効にするか、削除することを推奨します。例えば、デバッグ目的で使用されたフローやメッセージ、プログラムなどを無効にするか、削除してください。


IBM i上のIBOLT.INI の設定

動作環境の設定のために、Magic xpiサーバはIBOLT.INIファイルを参照します(これはIBM i IFSフォルダに配置されています)。以下は、IBOLT.INIファイルを編集するための手順です。

  1. ［Magic xpi Server Administration］メニューを開きます。

  2. ［iBOLT Config］メニューを選択し、Enterキーを押下してください。

  3. iBOLT.INIオプションを選択し、Enterキーを押下してください。

  4. IBOLT.INIファイルを編集するために、オプション2を使用してください。

IBOLT.INIファイルで、以下を行ってください。

  • Windows PC上で開発中にMagic.iniファイルに行った修正内容を、IBOLT.INIファイルに反映してください。

  • [LOGICAL_NAMES]セクションに特別な注意を払い、関連した修正を行ってください。

  • 配備環境で実行する時、配備したい特定のプロジェクトのために手動でcurrentprojectとcurrentprojectdir環境変数を更新してください。

  • [MAGIC_SERVICES]セクションに特別な注意を払ってください。

  • IBOLT.INIファイルのAS400DBMS、DB2/400DBMS、およびDATABASEの各セクションをチェックし、必要ならそれらを修正してください。


メッセージングキューの設定 - IBM i

以下は、MSMQ、WebSphere MQ、およびJMSコンポーネントを参照します。

  • メッセージングキューは、環境変数を使用して、プロジェクトで参照されるようにする必要があります。

  • 配備環境において、メッセージングキューが存在していることを確認してください。

  • キューの設定がプロジェクトで定義された設定と一致していることを確認してください。


Webサーバの設定

以下のコンポーネントの1つが使用されている時、Webサーバは顧客のIBM iシステムにインストールされ、設定される必要があります。

  • HTTPコンポーネント

  • Web サービスIBM i

  • Webサーバ経由で使用されるユーザコンポーネント

デフォルトでは、Magic xpiのインストールは、Magic xpiのScripts ディレクトリを示すMagic xpiのエイリアスを作成します。

プロジェクトに追加のエイリアスが定義されている場合、手動でWebサーバのエイリアスをWebサーバの設定ファイルに追加する必要があります。

トリガとしてWeb Serviceを使用する

Magic xpiプロジェクトでトリガとしてのWeb Serviceを使用する時、以下を行ってください。

  • [Magic xpiのインストールディレクトリ]\Scripts\WSDL ディレクトリから次のフォルダ内の IBM iシステムに関連したWSDLフォルダをコピーする必要があります。 \QOpenSys\IBOLTSVR25\web_utils\WSDL

  • 顧客の環境に基づいて、WSDLファイルの送り先サーバ名は手動で更新してください。

  • 'Import' タグ内で、XSDの位置を変更してください。例えば：

    <import namespace="urn:mg_iBOLT_Demo_Get_New_PO_UserBlob_In" location="http://My_Computer/iBolt/wsdl/WSC_Demo/Get_New_PO_in.xsd"/>

    以下のように変更してください。

    <import namespace="urn:mg_iBOLT_Demo_Get_New_PO_UserBlob_In" location="http://System i_Server_Name/iBolt/wsdl/WSC_Demo/Get_New_PO_in.xsd"/>

  • ‘soap:address’タグで、XSDの位置を変更してください。例えば：

    <soap: address location ="http://My_Computer/iBolt/mgrqispi015.dll/>

    以下のように変更してください。

    <soap: address location ="http:// iSeries_Server_Name /iBolt/mgrqcgi015 />

Access WSメソッドを使用する

直接、URL名(e.g.http://www.webservicex.net/uszip.asmx?WSDL)を使用する場合、IBM iシステムがMagic xpiプロジェクトで使用されたURLにアクセスできることを確認する必要があります。そうしないと、正しい(有効)URLを使用してクライアントPC上のコンポーネントを再作成する必要があります。


コンセプトペーパ

Magic xpiのコンセプトペーパーシリーズは、Magic xpiの技術の特定の領域に関する詳細情報を提供します。これらの情報は、Magic xpiの技術を最大限に活用できるようにするために役立つようになっています。これらは、技術と、統合処理の一部としてこれらを使用する方法を理解する上での支援となる情報を提供します。

現在利用できるコンセプトペーパーは以下の通りです。

開発手法

Magic xpi 4.x のアーキテクチャ

Magic xpiのエラー処理

クラスタリング環境での配備


開発手法

Magic xpiプロジェクトを計画し実行する場合、以下のトピックについて考慮してください 。

  • Magic xpi入門

  • Magic xpiプロジェクトのライフサイクル

  • Magic xpiプロジェクトの開発

  • プロジェクトのテスト

  • Magic xpiプロジェクトの配備

  • Magic xpiプロジェクトの保守

  • 開発手法に関する用語


Magic xpi入門

Magic xpi統合プラットフォームは、企業組織のために最大の統合機能を提供するように設計された統合ツールです。

Magic xpiの統合プラットフォームは、ビジネスプロセスの効率を最大化することにフォーカスして、多様なアプリケーション、システム、およびデータベースの統合を可能にしている、SOA(Service Oriented Architecture)とBPM(Business Process Management)機能を提供するEAI(Enterprise Application Integration)ソリューションです。

関連トピック：

Magic xpiのコンセプト

SOAを可能にするツールとしてのMagic xpi

Magic xpiのオープンアーキテクチャ


Magic xpiのコンセプト

Magic xpi統合プラットフォームは、接続性やデータ操作、ビジネスロジック、および監視などのすべての内容の処理を含む、包括的なビジネス主導の統合フレームワークを提供する、プロセス指向の複合アプリケーションのツールセットです。

Magic xpiは簡単に自動化されたビジネスプロセスを設計し、ビジネスプロセスで定義されたビジネスロジックに従い､フローとして実行させることができます。

フローを構成するために定義済みのサービスやアダプタ、トリガが提供されます。また、提供されたSDKを使用することで､提供されているツールセットに加えて自由に機能を追加することができます。

Magic xpiは以下のソリューションを提供します。

  • プロジェクトの設計

  • 完全な統合機能(コネクタとアダプタ)

  • トリガとメッセージング機能(ルーティング)

  • ビジネス統合の自動生成(ロジック)

  • データ変換(コンバータ)

  • 配備のオプション(異なる場所にあるMagic xpiサーバに対して)

  • リアルタイムでのトラッキングと管理機能(監視)


SOAを可能にするツールとしてのMagic xpi

成長するSOAを考慮して統合プロジェクトを実装することは、 新しいことではなく、その広範囲に及んだ利用内容は常に統合しています。Magic xpiプロジェクトを設計し、実装する際に考慮する必要のある要素の1つが、SOAの概念にどのように反映し適合していくのかということです。これについては以下で説明します。

SOAは、インタフェースやインタフェースの実装、およびインタフェースの呼出に関するトポロジーを構築するソフトウェアアーキテクチャです。従って、SOAは再利用やカプセル化、インタフェース、最終的にはビジネスの俊敏性を目的としています。企業の俊敏性という必要性を満たすため、SOAの実行は以下のような中心的な原則を持っています。

  • 既存のテクノロジにもとづいたサービスの利用

  • ビジネスが予測不可能なイベントを迅速に検出し、報告し、対応できるようなイベント駆動型アーキテクチャ

  • プロセスの設計と統合を改善するビジネスプロセス管理(BPM)機能

以下のスキーマは、組織の中でのSOAの考え方についての青写真を表しています。

SOAの実装は、既存のITシステム上でサービスと複合アプリケーションの階層を築くことができます。このシステムは、アプリケーションとDBレベルでエンドユーザから切り離され、統合されたGUIを使用して必要な時にユーザに提供されます。

Magic xpiの根本的な設計思想は、ビジネス関数のカプセル化とサービスとしてのビジネスプロセスの公開に基づいています。Magic xpiの中のSOAサポートは、ビジネスプロセスのモデリングレベルから、統合フローとコンポーネントまで提供されます。

.


Magic xpiのオープンアーキテクチャ

Magic xpiサーバは、統合されたビジネス処理環境を背景としたエンジンです。サーバは、戦略的なビジネス統合ソリューションの効率的な運用を可能にする非常に信頼のおける、拡張性のあるプラットフォームを提供します。

Magic xpiのオープンアーキテクチャは、以下の機能を利用することができます。

プラットフォーム

Magic xpiサーバは、WindowsやIBM i(旧 Systemi)などのプラットフォーム上で実行させることができます。これによりユーザは以下のことができます。

  • Windowsプラットフォーム上でプロジェクトを開発し、異なるプラットフォーム上で変換処理を行うことなく実行させることができます。

  • スケーラビリティとロードバランシングの機能を提供することで、異なるプラットフォーム上の異なるサーバ間でプロジェクトを分割させることができます。

  • 各プロジェクトがビジネスプロセスと統合フローを含むことで、マルチプロジェクト環境を構築することができます。

データベース

Magic xpiは、以下のデータベースタイプと接続することができます。

  • Oracle

  • MS-SQL Server

  • DB2/400

  • Pervasive.SQL

  • ODBCをサポートしているデータベース

ユーザコンポーネントとアダプタ

その包括的なツールセットに加え、ユーザが新しいコンポーネントとアダプタを定義することを可能にする内蔵されたコネクタビルダを提供することによって、Magic xpiはその機能を拡張することができます。コネクタビルダは、Magic xpaaを使用したり、既存のMagicのコードやJavaのクラスをMagic xpiのプロジェクトで利用できるコンポーネントとしてラッピングすることで､新しいコンポーネントコードを開発することができます。

動作環境

Magic xpiの動作環境は、中心となる環境リポジトリに保存されます。この内容はXMLファイルで管理されています。外部のXMLツールを使用して更新することもでき、複数のプロジェクトで共有させることができます。プロジェクト内で使用されたすべてのコンポーネントとサービスは、同じ環境リポジトリファイルをアクセスします。プロジェクトのライフサイクルの異なる段階で異なるファイルを使用する場合、プロジェクトコードにアクセスすることなく環境設定を変更することができます。

Magic xpiプロジェクト構築用ブロック

以下の表は、各Magic xpiプロジェクトの主要なブロックの一覧です。各統合プロセスは、これらの項目すべてに関係するわけではありません。

構築ブロック | 内容
リソース | サーバやDBMS、アプリケーション、Webサーバ、およびプロジェクトのIT環境におけるすべてのリソース定義
サービス | Magic xpiは、フローを外部システムから呼び出すための方法についての定義を公開しています。サービスには、Web Service、HTTP、およびその他が含まれます。
リポジトリ | コンポーネントやサーバ、アプリケーション、および変数を含むプロジェクト関連のリポジトリ
統合フロー | 統合フローは、ステップとフロー編成と呼ばれるステップの実行順序を制御するロジックの集まりです。統合フローは、Magic xpiサーバによって実行されます。
コンポーネントインタフェース | コンポーネントインスタンスは、統合フローのシーケンスの手順またはトリガとして動作します。フローコンポーネントは、接続や適応、変換、処理といった機能を持たせることができます。
トリガ | トリガは、HTTPまたはWeb Serviceの呼び出しなどの外部処理を実行したり、スケジューリングなどのフロー編成のための特定のフローを実行させるために使用されます。
Magic xpiユーティリティ | Magic xpiユーティリティは、スケジューリングやパブリッシュ/サブスクライブ、フローの呼出などのフローロジック編成機能を提供しています。
マッピング | データマッパーは、データ操作や変更、変換、および拡張機能を提供しているGUIツールです。


Magic xpiプロジェクトのライフサイクル

Magic xpiプロジェクトのライフサイクルには、以下の行程が含まれています。

  • 分析

  • アーキテクチャ上の考慮事項

  • 設計

  • 開発

  • テスト

  • 配備


プロジェクト分析

統合プロジェクトは、多くの既存のアプリケーションやベンダ、サーバ、インフラ用リソース等と相互作用しています。

主要な機能jとして、以下のものがあります。

  • 最も重要な組織間をまたがる処理の定義。

  • 既存のIT資産の認識。これは新しい処理の一部となります。

  • 必要なサービスとインタフェースの定義

プロジェクト分析は、以下の行程によって成り立っています。

  • 使用されるリソースの識別

  • サービスの定義

  • プロジェクトフローの定義


リソースの識別

リソース設定は、Magic xpiが、プロジェクト実行の間アクセスする必要がある外部システムを定義します。

［設定］ダイアログボックスの［リソース］セクションの目的は以下の通りです。

  • 外部リソースを設定するために1つの場所を提供するには …… 電子メールの設定などの外部リソースは、プロジェクト内で異なるエリアで使用することができます。 それが使用される各インスタンス内で設定を定義する代わりに、[リソース]セクションは、1つの位置がリソースを設定することができます。

  • プロジェクトの外でリソースを設定する機能を提供するには …… 開発者がプロジェクトを開発する場合、実運用の環境に実装させるまで、テストを行うための開発環境を構築します。外部にリソースを設定することができれば、開発環境から運用環境へのよりスムーズな移行が可能になります。これは、プロジェクトを変更することなく、環境設定のみを行えばいいという有利な点があります。

  • 以前に定義された環境設定を再利用する機能を提供する …… 複数のプロジェクトに対応する場合に、電子メールの設定など継続的に使用されるような様々なリソースがあります。毎回各プロジェクトのために、これらの設定を再定義する代わりに、以前に定義された設定を再利用し、このプロジェクトに関係する内容のみを変更する方が作業は簡単です。

Magic xpiは、MSMQやWebSphere、およびJMSに対するメッセージング機能とWeb Serviceなどの追加設定がいらないリソースタイプを提供します。これらのあらかじめ決められたリソースタイプに加え、ユーザは、コネクタビルダを使用して、追加のリソースタイプを定義することができます。

電子メールやMSMQなどの外部リソースにアクセスしているすべてのコンポーネントは、適切なリソースタイプにもとづいたリソース定義を含めなければなりません。コンポーネントは、それらの設定を内部に保存せず、リソースリポジトリ内のリソースを指し示しています。

既存のリソース名を変更すると、そのリソースを参照している全てのコンポーネントのリソース設定が失われます。これは、コンポーネントがリソース設定のためにリソース名を使用しているからです。これを修正するには、関連するコンポーネントの［コンポーネントプロパティ］ダイアログボックスを開いてください。［設定］タブを開き、［リソース名］プロパティのドロップダウンリストからリソースの新しい名前を選択してください。


サービスの定義

T［設定］ダイアログボックスの［サービス］セクションは、プロジェクトを外の世界に公開し､Magic xpiを呼び出すためのインタフェースとなるサービスを含んでいます。

サービスは、通常Magic xpiのフロー内のトリガに対応しています。外部リソースにもとづいた全てのトリガ定義は、適切なサービスタイプにもとづいたサービス定義を含まなければなりません。

リソースと同じように、Magic xpiは電子メールやFTPなどのあらかじめ決められたサービスタイプ定義を提供しています。これらのサービスタイプに加えて、ユーザは、コンポーネントSDKユーティリティを使用して、追加のサービスタイプを定義することができます。


フローの定義

ビジネスプロセスは、実行可能なフローに分解する必要があります。各フローは、アクティブなサブプロセスまたはグループとして表すことができます。フローは、ステップとフロー統合と呼ばれるステップの実行の順番をコントロールするロジックの集まりから成り立っています。

フローは、ビジネスプロセスの物理的で実行可能なレベルです。

1つ以上のフローが1つのビジネスプロセスを表すことができます。

フローは、エラー管理とセキュリティ問題を含む各プロセスのビジネスロジックを含みます。

フローの設定

管理しやすく、柔軟で、動的なフローの作成を試みることを推奨します。例えば、いくつかの直線的な行程を呼び出す必要がある場合、1つの長いプロセスを管理するのではなく、ループを作成してください。

変数の使用

Magic xpiは、フロー内で使用する変数を定義することができます。これらの変数は、フローロジックを管理するためと、データを1つのコンポーネントから別のものに移動させる場合に使用されます。これらはフロー内で工程を調節する場合にも有益になります。

Magic xpiは、以下の変数のタイプをサポートします。

  • フロー変数 …… 1つのフロー毎に定義され、フローコンポーネントの間でフローロジックとデータ転送の管理を可能にする変数です。各フローは、その内部の活動に基づいて、フロー変数の個別のリストを定義することができます。フロー変数を使用するためのシナリオは、以下の通りです。

  • 次のフロー工程内の追加処理に対するデータを格納します。

  • 項目値に基づいて、ビジネス決定と異なるルートを作成します。

  • フロー変数が期待値と合わない場合、エラーフローを呼び出します。

  • コンテキスト/モデル変数 …… コンテキスト(スレッド)と関連している変数です。新しいコンテキスト(フロー)が開始され、(処理が終了するまで、いくつかのフローをまたいでも)コンテキストが実行中の間は有効になるコンテキスト変数が作成されます。コンテキスト変数の特別な集まりとして、事前に定義されている変数があります。UserString、UserCode、 UserBlob、UserXMLです。これらは、コンポーネント内で定義されるデフォルト変数として使用され、同じタイプのどのようなユーザ定義変数とも変更することができます。ただし、2つの例外があります。

  • コンポーネントのXMLインタフェースは、常にUserXMLを使用します。

  • すべてのメッセージングのトリガは、UserBlobをメッセージ内容のために使用します。

コンテキスト変数を使用するためのシナリオは、以下の通りです。

  • 宛先の中でフロー呼出オプションを使用して、前のフローから呼び出されたデータマッパーを使用してデータを処理します。

  • 主要なプロセスで受け取ったデータにもとづいたデータを有効にするために、サブプロセスを使用します。

  • グローバル変数 …… これらの変数は、同じプロジェクト内のすべてのフローで利用可能で、同じメモリアドレスを共有します。１つのフロー内のグローバル変数を変更すると、他の全てのフローに影響します。グローバル変数を使用するためのシナリオは、以下の通りです。

  • プロジェクトの最初に環境変数(論理名)に保存された値でグローバル変数を初期設定します。

  • 性能を向上させるために、プロジェクトで環境変数の代わりにグローバル変数を使用するようにしてください。

  • ビジネスプロセス変数 …… これらの変数は、Magic xpi V3で利用できるようになりました。これらは、同じビジネスプロセスにおけるすべてのフローで利用可能です。１つのフロー内のビジネスプロセス変数を変更すると、同じビジネスプロセス内の全てのフローに影響します。

  • 環境変数 …… これらの変数は、Magic xpiプロジェクト内で外部のIT環境特性を定義するために使用されます。環境変数によって、異なる実行環境へのプロジェクトの移行をスムーズに行うことができます。

環境変数リポジトリに入力された実行値に基づいて、実行時に環境変数の内容を変換することで、Magic xpiの移植性を高めることができます。環境変数の実行値は実行時に変換されますが、ほとんどが定数として使用されます。環境変数の明示的な使用は、動的に動作内容を変更したい場合で、式が使用できない場合のみ行ってください。

  • Magic xpi は、グローバル変数やフロー変数を固定の初期値で作成します。 これは、プロジェクト内で関連する変数を識別し、配置する処理を支援します。 例えば、フロー変数名：MyVarは、フローまたはコンテキスト変数のどちらであるかを示すためにF.MyVarまたは、C.MyVarと命名されます。

  • プロジェクトの初期設定段階で、環境変数によってグローバル変数が初期設定されていることを確認してください。性能向上のために、プロジェクト間で利用できるに環境変数の代わりにグローバル変数を使用してください。


アーキテクチャ上の考慮事項

Magic xpiプロジェクトのアーキテクチャは、Magic xpiサーバの性能に影響を与えます。アーキテクチャ上の問題として考慮するべき内容は以下の通りです。

  • 複数のMagic xpiサーバが同じマシン上で実行している場合、1つのMagic xpiサーバで実行されている並行稼動数を最適な値にしてください。

  • 複数のMagic xpiサーバを異なるマシン上で実行させることができます。

  • 内部のデータベースは、Magic xpiサーバと同じマシンにまたは別のマシンに配備することができます。

  • 外部のプロジェクトの入出力性能には、以下の項目が含まれます。

  • ミドルウェアやHTTP、およびWeb Serviceなどの外部のアプリケーションへの接続性

  • 外部のアプリケーション性能と制限によるボトルネック処理

  • 通信速度

通信チャンネルと同様に、これらのアプリケーションを適切に選択し、調整することで性能を改善することができます。

    • Magic xpiのロギング環境

  • リモートサービス(実行ログ、ODS、PSS)の使用やルーティングは、全体の性能を改善する可能性のあるアーキテクチャ上の追加のソリューションです。

サーバによって収集され、内部データベースに書き込まれた制限情報（統計や実行ログのレベルのコレクションなど）は、Magic xpiサーバのスループットを高めるための参考になります。

  • プロセスの性能は、起動と応答時間の定義と制限事項から派生します。これらの定義に基づいて、以下のような対応をとる必要があります。

    • プロセスをサブプロセスに分割してください。

    • できるだけ早く効率的に受け取った情報を処理するために、弱連結の概念を使用してください。例えば、リモートアプリケーションやデータベースを呼び出すスレッドを持たず、処理を実行する新しいフローを呼び出し、終了時にメインのフローに戻るようにします。

    • 処理モードを同期から非同期に切り換えてください。

    • プロジェクトを複数のサーバに分散してください。

同期処理を複数の非同期処理に分割する場合、主要な処理を継続するために、Wait for completionサービスを使用することができます。

関連トピック：

弱連結アーキテクチャ

ライセンスに関する考慮事項

セキュリティの問題

エラーの管理

性能上のガイドライン


弱連結アーキテクチャ

プロセスを設計する場合、ユニットを構築し、ユニット間で可能な限り大まかな接続を作成するために特別な注意を払ってください。Magic xpiでは、このような大まかに結合された概念を実装するツールとして、以下のものがあります。

  • マルチプロジェクトモード …… これは、同じMagic xpiブローカで異なるプロジェクトを実行することを可能にします。各プロジェクトは異なる設定を持ち、互いに完全に独立して動作します。マルチプロジェクト機能は、Magic xpiプロジェクト内の各活動を以下のように分離することを可能にします。

  • 各プロジェクトが独自に開始、停止する能力

  • (プロジェクトの)開発やテスト、およびアップグレードのプロセスは、スタンドアロンでの運用として各プロジェクト内で実行させることができます。

  • 各プロジェクトは、異なる管理者やビジネスユニットによって個別に監視することができます。

  • 各プロジェクトに関連する項目やエラーなど、異なる環境設定を行うことができます。

  • フローの呼び出し …… 主要なプロセスからサブプロセスを呼び出すことができます。新しいフローは、Magic xpiエンジン内で新しいスレッドを消費します。同じコードまたはプロセスを書き換える必要性を排除することで、フローはプロジェクト内のいろいろな場所から呼び出すことができます。

  • パブリッシュとサブスクライブ …… トピックがパブリッシュされると、このトピックにサブスクライブされるすべてのプロセスは、直ちに起動されます。例えば、注文がパブリッシュされた場合、在庫システムはその製品の入手可能性を更新することができ、CRMシステムは顧客データを更新することができて、財務システムは顧客カードを更新することができます。3つのシステムの間には、接続に関する定義は必要ありません。新システムが導入されると、同様に関連情報にサブスクライブさせることができます。


ライセンスに関する考慮事項

以下のセクションでは、Magic xpiライセンスに関する問題について説明しています。

  • フローの並行実行とMagic xpiのライセンス

  • ライセンススレッドの確保

  • cライセンスメカニズム

  • プロセスモード

  • 次のステップの評価ロジック

  • コードの再利用

  • 長時間トランザクションの管理

  • マン・マシンにもとづいた相互処理

  • キープロセスインジケータ(KPI)


フローの並行実行とMagic xpiのライセンス

フローの並行は､以下のような場合に発生します。

  • 非同期でフローが呼び出された場合

  • 並行またはスタンドアロンのフローの分岐を使用した場合

  • トリガを使用して、外部へフローを呼び出した場合

並行実行する各フローは、Magic xpiサーバのスレッドが必要とします。従って、Magic xpiの並行スレッドのライセンスを必要とします。

並行実行するフローを呼び出すリクエストの数は、常時入手可能なMagic xpiサーバの並行スレッドライセンスの数によって制限されます。

ライセンスの上限に達した場合、フローを呼び出すリクエストはキューの中で待ちます。Magic xpiサーバが有効なライセンスを持っている場合、リクエストは処理されます。

システムを運用する上で十分なスレッドを使用しない場合、フローの呼び出しで遅延が発生する場合があります。これはMagic xpiサーバの全体的なスループットに影響します。


ライセンススレッドの確保

マルチプロジェクト・モードで動作するとき、プロジェクトを適切に実行するためは、指定した数のスレッドを確保する必要があります。定義は、［設定］ダイアログボックスの［プロジェクト環境］セクションで［一般設定］で［確保されたライセンススレッド］のエントリで行われます。

または、プロジェクトのifs.iniファイルで次のように設定することもできます：[MAGICXPI_GS]ReservedLicenseThreads = <必要なスレッド数>

このフラグが0（デフォルト値)に設定されている場合、プロジェクトはライセンスをまったく確保せず、ライセンスプール内で有効なライセンスを使用します。

関連トピック：

プロジェクトのためにスレッドを確保するには


ライセンスメカニズム

Magic xpiは、最小限のライセンススレッドをプロジェクト用に確保するために、オプションでフローティングライセンス機能jを使用します。この方法について理解するにはに、ここをクリックしてください。

各ライセンスエントリは、サーバが同時に実行することができるワーカ(スレッド)数に対するエントリがあります。ライセンスは、すべてのプロジェクトで使用することができます。Magic スペースは、ライセンスサーバとして動作します。ローを実行する前に、ワーカはプールからライセンスのチェックアウトを試みます。フローの実行が終了したら、ワーカはライセンスをプールに戻します。

このように、サーバ間でライセンスを分けることによって最適条件でマルチプロジェクト環境におけるライセンスを利用することができます。したがって、特定のプロジェクトが何もしていない場合、他のプロジェクトはそのライセンスを利用することができます。

ライセンスがホストでロックされていると、プロジェクトのうちの1つが実行しているネットワーク上（ホストIDが、ライセンス上のHOSTIDと一致している)で一台のサーバが必要です。

ホストIDの生成についての詳細は、ライセンスのzipファイルの中に含まれているMagic_License_Activation_Procedure.pdfを参照してください。


プロセスモード

統合プロジェクト内の各ステップとサブプロセスは、いくつかの処理モードの1つとして処理されることができます。処理モードの定義は、(入手可能なスレッド数を含めた)リソースの入手可能性と同様にデータの潜在的な考慮事項と密接に関連しています。

リニア(同期モード)

リニアのステップは、フロー内で定義された順番とレベルに依存して、順々に実行されます。1つのリニアなステップだけが各レベルで実行することができます。リニアなステップは、同じレベルで定義された他の並行実行のステップが完了するまで待つことになります。

並行(非同期モード)

並行実行のステップは、同じレベルに定義された他のステップと同時に実行させることができます。フロー変数やエラー管理などの内部の定義は、親のステップから割り当てられます。処理完了待オプションは、必要に応じて、プロセスを分割し、再グループ化する能力があります。

スタンドアローン

スタンドアローン処理モードを持つコンポーネントは、(並行処理のステップと同じ方法で)フロー内の別のステップと同時に実行することができます。しかし、これはフローと無関係に実行されます。この処理が実行されると、処理完了待オプションは無効になります。


次のステップの評価ロジック

同じレベルのサブステップが複数ある場合、Magic xpiは以下のようにして次に実行させるステップを決めます。

  1. 最初に、並行実行またはスタンドアローンのステップが存在している場合、すべてのステップはステップ条件に基づいて並行に実行されます。

  2. 次に、条件を持つリニアなステップが、順番に評価されます。

  • 「True」と評価された条件を持つ最初のリニアなステップが実行されます。

  • 条件を持つリニアなステップが存在していないか、全てのリニアなステップの条件値が「False」の場合、条件が定義されていない一番左のリニアなステップが実行されます。

  • 上記のステップが見つからない場合、リニアなパスは終了します。


コードの再利用

SOAプロジェクトにおける重要な問題の1つは、既存のコードを再利用する能力です。既存のコードをたくさん再利用すればするほど、プロジェクトのリスクを減らすこととなり、また統合プロジェクトを作成する上での投資も少なくてすみます。

複数のモジュールによって共有されたり、プロジェクト内の複数の場所から呼び出された特定のタスクを実装するフローであれば、よく考えられたプロジェクトとなります。ここには、エラー処理やデータキャプチャ処理、クリーンナップ用フローなどが含まれます。

さらに、既存のコードをWeb Serviceとして公開したり、COMやHTTPなどの他のインタフェースを使用して公開することができます。


長時間トランザクションの管理

プロセスの変更が数日または、数週間、数ヶ月に及ぶ場合や、複数のセッションに関係するような場合に、統合プロジェクトは、時々長時間のトランザクション管理を呼び出すことがあります。ほとんどの場合、長時間トランザクションの管理は、人的処理と深くかかわっています。

Magic xpiからタスクを送り、応答が返された場合にMagic xpiフローを起動する共通のフローメカニズムを使用することで、簡単な長時間トランザクションを管理することができます。

状況がより複雑な場合、少なくとも以下の内容を定義する必要があるテーブル(XMLやデータベーステーブル)を設計することができます。

  • プロセスのユニークなID

  • 重大なステップ

  • 各重大なステップに対するステータス定義

プロセスの統合は、ステータス定義にもとづき、Magic xpiによって行われます。


マン・マシンにもとづいた相互処理

統合プロジェクトの中には、人間とマシンの間の相互作用を混在させる必要があるものがあります。マシンにもとづいた相互作用は、各システムに対応する時間間隔やエラー管理、冗長性などの定義の集まりを含めて、Magic xpiサーバによって完全に管理することができます。人間にもとづいた相互作用は、より柔軟で、管理しにくいタスクになります。

Magic xpiは、長時間トランザクションの処理を実装する方法を使用することで、人にもとづいた相互作用を取り入れ、統合することができます。

人にもとづいた相互作用の管理の別の部分は、Magic xpiの中から情報を取得し、ユーザ用の画面に表示させることで対応しています。

Magic xpiは、いくつかの処理モードをサポートしています。

  • 電子メールにもとづいた人的相互作用の管理：電子メール用のモードには、タスクを受け付けたり、拒否したり、Magic xpiフローに自動的に応答を渡したりするためのプッシュボタンを含めることができます。

  • 同じタスクを扱うことができる何人かのユーザを持った処理は、人的相互作用が、ユーザグループをまたがって作業量を均一化することにフォーカスを置くことになる場所で、特定の人的ワークフローに対するソリューションを必要とします。


キープロセスインジケータ(KPI)

プロジェクトを設計する場合、常にビジネス上の必要性と成功要因を留意しておく必要があります。これらはKPIとして、プロセスとフローの設計で実装する必要があります。Magic xpiは、プロジェクトのどのようなポイントに対してもビジネス活動メッセージ(BAM)を定義することができます。BAMメッセージの定義は、実行中のプロジェクトからデータをモニタ画面に含めることが可能になり、簡単ですが、高い柔軟性があります。

KPIを定義することで、実行中のプロジェクトを完全にコントロールすることができます。


セキュリティの問題

プロセスが明確で、可視的になった場合、以下のようなセキュリティ上の考慮が必要になります。

  • リソースへのアクセス …… FTPサイトやサーバ、アプリケーションサーバ、DBMSなど

  • Web Serviceのセキュリティに対するサポート

  • データの暗号化の必要性 …… ファイル(XML)やデータベースに対して

  • ユーザ認証の必要性 …… 内部機能を使用してLDAPサーバから行う

ビジネスプロセスの描画に戻り、関連する場所の全てのセキュリティ問題をマークし、強調されていることを確認してください。

データの暗号化／復号化が必要であれば、これらのステップに関連するプロセスまたはサブプロセスに追加する必要があります。

データの暗号化／復号化などのタスクを処理するサブルーチンを作成しておくことを推奨します。-------------------------------------


エラーの管理

エラー発生時の動作の定義は、統合プロジェクト内で重要です。より多くのエラー状況を認識し、処理するための自動ルーチンを定義することで、プロジェクトはより頑強で、生産性の高いものになります。

次にビジネスプロセスに戻り、潜在的なエラー状況を考慮する必要があります。例えば、最初のステップがポータルからXMLファイルを受け取っている場合は、潜在的なエラーには、以下の内容が含まれることになります。

  • ファイル内の未確認のデータ

  • XMLファイルが、定義されたスキーマと一致していない

  • XMLファイルが、デフォルトのデータ設定を含んでいない

  • 必須データが入力されていない

各エラー状況は、二相の定義を通して行う必要があります。

  • エラー検出 …… どのエラー状況が宣言されたかにもとづくビジネスルールの定義

  • エラー処理 …… エラー状況に対応して何を行うか

Magic xpiのエラー管理メカニズムには、以下の内容がを含まれます。

  • エラー変数

  • ステップまたはフロー上のエラーの動作

  • エラーと例外のフロー

  • アボートフローサービス …… このサービスによって、フローの再起動が発生したり、定義されたエラーコードに基づいてエラーポリシーが施行されます。

Magic xpiヘルプ内のMagic xpi技術情報にあるMagic xpi内でのエラー処理には、エラー管理メカニズムについての詳細情報があります。


性能上のガイドライン

メモリの使用

Magic xpiサーバは、内部利用のために、プロジェクトとは別に初期メモリを必要とします。プロジェクトの読み込みや実行には、さらにメモリが必要です。必要なメモリ量は、以下の内容に依存します。

  • フローとステップの数

  • 処理されたデータ(メッセージデータ)のサイズ

  • 並行実行数

  • データマッパーの種類(マッピングのタイプと総数)

Magic xpiサーバがプロジェクトを実行する場合、物理メモリを効率的に管理するために、OSがスワップ機能を使用します。

システムの物理メモリが不十分な場合ば、OSは非効率的にメモリページの交換を行います。サーバ用のホストマシン上で実行されるプロセスの処理が遅くなるため、スループットが低下します。

マルチCPU

Magic xpiサーバは、マルチCPUのマシン上で実行させることができます。マルチCPUの環境設定で、マシン上で実行されたプロセスにOSがCPUリソースの割り当てを行います。

Magic xpiサーバのプロセスは、OSのCPU割り当て処理を防止できません。他の実行プロセスもまたCPUリソースをを使用します。これによって全体のCPU割り当てに影響されます。

Magic xpiサーバを表すプロセスがマルチスレッドのため、異なるCPUがMagic xpiサーバプロセスの異なるスレッドを実行することになるかもしれません。これはMagic xpiではなく、OSによってコントロールされ、OSとは独立しています。Magic xpiは指定されたマシン上で実行するCPUの数に制限をかけません。

ライセンスファイル内の同時リクエスト数は、異なるスレッドを実行するCPUに対して、同時リクエスト数を制限しています。

Magic xpiサーバは、他のアプリケーションやデータベースを実行しているサーバ上で実行させる場合もあります。このため、Magic xpiプロジェクトの全体の性能が、より多くのCPUを使用することで改善される場合があります。

  • Magic xpiサーバは、I/Oに制限があります。従って、CPUを追加してもプロジェクトの性能が改善されない場合があります。

  • プロセスにおけるボトルネックを捜すことで、プロジェクトのI/O性能を強化することを推奨します。

OSのセットアップ

サーバ全体の性能を強化するために、以下のOSのリソースを調整することができます。

  • CPU割り当てとプロセスの優先度

  • メモリの割り当て

  • ファイルハンドル

  • TCP/IP通信

  • I/Oのリソース割り当て

マシンの調整を行わない場合、マシンのハードウェアとOSが非能率に使用される場合があり、全体のマシン性能を低下させるかもしれません。


プロジェクトの設計

以前、説明しましたが、実装フェーズに先がけてプロジェクトの低位設計を行う必要があります。

詳細なプロセス定義には、以下の主となる部品を含みます。

  • トリガ定義

  • 実行可能なフロー


トリガ

このセクションには、ビジネスロジックやフローを実行させる活動やイベントが含まれています。フローは、1回以上の活動またはイベントによって実行される可能性があり、関連する情報を指定する必要があります。

トリガ定義には、以下の内容を含めることができます。

  • トリガタイプ(プロセスは、1つ以上のトリガによって起動されます)

  • HTTP

  • Web Service

  • 新しいファイル(ディレクトリ、FTP)

  • 新しいイベント(Java、COMなど)

  • スケジューラ

  • 電子メール

  • 新しいメッセージ(メッセージングキュー)

  • 主要なデータフロー：入力データを処理するために実行させる必要があるロジックとビジネスルールの定義

  • データフォーマット

  • 頻度

  • セキュリティと認証


プロセスフロー

ビジネスプロセスは、フローやサブプロセスとして表すことのできるもの、またはアクティブなグループにブレイクダウンする必要があります。フローは、Magic xpiコンポーネントを使用して構成された複数のステップを含めることができます。

ソリューションエクスプローラでは、さまざまなアイコンを使用してフローのステータスをすばやく識別することができます。これらのアイコンは以下の通りです。

表示項目 | 説明
 | ビジネスプロセスにフローを挿入すると、このアイコンがソリューションエクスプローラで新しく追加されたフローの横に表示されます。
 | フローが非アクティブの場合、このアイコンがソリューションエクスプローラのフロー名の横に表示されます。
 | フローが非アクティブの場合、このアイコンがソリューションエクスプローラのフロー名の横に表示されます。
 | フローの呼び出しがスケジュールされると、このアイコンがソリューションエクスプローラのフロー名の横に表示されます。
 | フローがトリガされると、このアイコンがソリューションエクスプローラのフロー名の隣に表示されます。

複数の指示がフローに適用されると、最も高い優先順位を持つ指示が使用されます。たとえば、フローにトリガがあり、同時に自動開始に設定されている場合、自動開始アイコンは表示され、トリガアイコンは表示されません。

フローの呼出しは、以下の項目を使用することで可能になります。

  • Magic xpiトリガ …… HTTPやWeb Service、およびDirectory Scannerなど

  • フローサービスの呼び出し …… 親のフローから子のフローを呼び出します。

  • 自動起動 …… サーバが起動されると、自動的に開始されるフロー

  • 指定された時間、または一定の時間が経過後に開始されるようにスケジュールされたフロー

  • PSSメカニズム

フローの基本的な定義には、以下を含める必要があります。

  • トリガ定義

  • ステップ定義

  • データフロー定義

  • ステップの一部としてのデータフォーマットの変換に関連性を含むデータフォーマット

  • データタイプ

  • データロジック

  • ロジックの活性化 …… 既存または新規、情報の処理または既存の手続きの活性化

  • 変数定義 …… データを処理することを可能にすべき関連した変数のリスト

  • 処理モード(スタンドアロン、同期、並行)

  • エラー対応の定義

  • 復旧処理(セーブポイント)

フロー状態

Magic xpiプロジェクト内の個々のフローを無効／有効／非活性化に切り替えることができます。

  • アクティブ/非アクティブ …… フローを非アクティブとしてマークすることによって、チェッカーのパフォーマンスを高めることができます。フローはチェッカープロセスや実行プロセスから除外されます。

  • 有効/無効 …… フローを無効にすると、プロジェクトの実行時にフローは実行されません。


Magic xpiプロジェクトの開発

このトピックは、新しいプロジェクトを開発する際の主要な考慮事項を説明し、タスクを効率的に成功裏に完成させるための最善の方法を提案します。

データ管理の問題

データはプロジェクトにおけるビットとバイトです。データを受け取ると、処理する必要があります。データには、以下のものがあります。

  • 別のアプリケーションやメッセージングキューなどの次の宛先に転送されます。

  • 別のフォーマットに変換されます。

  • 1つ以上のテーブルとDBMSに保存されます。

  • 他の活動のための条件として使用されます。

Magic xpiは、データ管理を行う以下のような方法を提供しています。

  • Flow Dataユーティリティ

  • データマッパー

  • フロー統合メカニズム

  • フローサービスの呼び出し …… これは呼び出されたフロー変数の値を定義します。

データ管理のベストプラクティス

データマッパーは非常に強力なツールですが、時間とメモリのオーバーヘッドがあります。マッピング機能が必要な時だけに、データマッパーを使用するように考慮してください。

例えば：

  • 変数を更新するために、データマッパーの代わりにFlow Dataを使用してください。

  • 多くのレコードを処理する必要がある時だけに、データマッパーのフロー呼出のオプションを使用してください。1つのレコードのみを処理する必要がある時だけ、フロー呼出を使用してください。

  • 一時的にデータを格納する必要がある場合、変数に保存されたフラットファイルを使用することは、ODSを使用するより効率的です。ODSは、データベースに格納されたテーブルのため、フラットファイルより多くのメモリーを消費します。しかし、ODSは永続的で、障害から回復させることができます。

独自コンポーネントの開発

Magic xpiを使用した場合、Magic xpi統合プラットフォームによって提供されない必要な機能を実行するために、独自のコードを追加する必要があるかもしれません。Magic xpi スタジオのコネクタビルダーはこの機能を提供します。

Magic xpiによって提供された様々なコンポーネントと同様に、ユーザ定義コンポーネントは、独自のパラメータを持ち、フロー内にステップやトリガとして使用できるユーザ定義メソッドとして公開することができます。

これらのメソッドは、メソッドとXMLインタフェース内で公開されます。

ユーザ定義のコンポーネントは、.NETまたはJavaを使用して作成することができます。詳細情報は、ここをクリックしてください。

参照： ユーザ定義コンポーネントを配備環境に移動させるには

Magic xpiの復旧ポリシーの使用

Magic xpiの復旧システムは、システムクラッシュやフローのタイムアウトのために消失したデータを回復させます。各フローに対して、プロジェクト開発中の復旧ポリシーを定義することができます。復旧ポリシーは、［フロープロパティ］ダイアログボックスで定義します。

チェッカー

チェッカーは､配備パッケージを作成する際に自動的に実行されます。この段階で、プロジェクト上の総チェックを行うことができるため、メモリ内にすべてのフローが読み込まれます。チェッカーは、実行されないフローでは動作しません。


プロジェクトのテスト

ここでは、Magic xpiプロジェクトのテスト方法について説明しています。

  • デバッグ

  • ロギング


デバッグ

Magic xpiデバッガは、開発中の統合プロジェクトをテストしたり、遠隔地で稼働しているサーバをデバッグすることができるMagic xpiスタジオの一部です。デバッガは、プロジェクトサーバを起動したり、すでに実行しているプロジェクトサーバに接続します。デバッガは、プロジェクトの実行方法をコントロールしたり、実行フローの手順や変数、およびブレイクポイントを参照することができます。

デバッガを起動すると、プロジェクトがデバッグモードで自動的にビルドされます。このプロセスには、すべてのアクティブなフロー上でチェッカを実行させる処理も含まれています。開発中にプロジェクトのデバッグを支援するために、致命的エラーを含むフローがあっても、デバッガは実行可能なファイルをビルドします。エラーを含んだフローは、実行しないものとしてマークされ、デバッグセッション中は無効になります。

関連トピック：

デバッガのステータス

プロジェクト実行のコントロール


デバッガのステータス

デバッガは、2つの異なるステータスを持っています。

  • 停止 …… サーバが、コマンドを実行し終わると、停止モードになります。これは、コマンドが実行しておらず待ち状態であることを意味しています。これは初期状態です。

  • 実行 …… デバッガは、現在1つ以上のフローを動かしています。


プロジェクト実行のコントロール

デバッグセッション中は、以下の方法でプロジェクトの実行をコントロールすることができます。

  • ブレイクポイントの設定

ブレイクポイントは、有効なデバッグツールです。これは、コンテキストビューとアクティビティログを調査するために、指定されたステップ上のフローの実行を停止させるものです。

ブレイクポイントに達すると、次のステップを実行する前に、スレッドや分岐などの実行されたコンテキストが全て停止します。ユーザがステップまたは継続を選択するまで、デバッガはその状態を維持します。ブレイクポイントは、変数や環境変数などに基づいたブレイクポイントを設定する条件設定も可能です。条件式は、プロジェクト内で使用される式と同じように定義します。ただし、この式は、プロジェクトソース外に保存されるため、リファレンス検索やテキスト検索、およびチェッカの対象にはなりません。

  • ステップやフロー、またはビジネスプロセスの一時停止

デバッグする際、問題のある箇所を見つける方法として一時的に停止させたい場合があります。

一時停止されたステップは無視され、ステップが実行されたかのように、デバッガは次のステップを継続処理します。

一時停止されたフローは実行されず、そのモードから解放されるまで、「停止された」ものとして扱われます。

同じメソッドは、フローまたは分岐を一時停止するために使用することができます。

デバッガによって作成されたプロジェクト（.ibp）ファイルは、デバッガや全てリビルドソリューションのオプションによって作成された既存の.ibpファイルを上書きします。もし特定のフローをデバッグしたい場合は、フローデバッグオプションの使用を推奨します。このオプションは、ナビゲーションペインの中のフローのコンテキストメニューからアクセスすることができます。また、フローをデバッグしないように設定することもできます。

  • （フローで右クリックして、デバッグを選択することで)一つのフローをデバッグするとき、まるでフローが自動起動に設定されているように、フローの最初の実行内容が処理されます。このフローにトリガが含まれている場合、フローは二回実行されます。最初の実行はトリガが含まれない自動起動によって起動されます。そして、2番目の実行はトリガ自体によって行われます。

  • デバッグセッション後にサーバモードでプロジェクトを実行するには、全てリビルドソリューションオプションを使用して、プロジェクトを再構築する必要があります。デバッガプロセスの一部として作成されたプロジェクトは、サーバモード内では実行されません。サーバは、プロジェクトを終了させず、メッセージをifs.logファイルに書き込みます。


ロギング

ここでは、Magic xpiのロギング機能について説明します。

  • エラーロギング

  • コンポーネントのロギング

  • メッセージの保存とBAMメッセージコンポーネント


エラーロギング

実行中に発生したエラーに関する情報は、いくつかのログファイルに記録されます。Magic xpiフォルダ内には、以下のファイルを含むlogsフォルダがあります。

  • studio_error.log

  • monitor_error.log

  • <project_name>_error.log

  • ifs.log

エラーがプロジェクトで発生するとき、<プロジェクト名＞_error.logファイルが作成されます。

logsフォルダ内には、プロジェクト内でJavaに接続する際に発生したエラーを含むJavaフォルダもあります。

Mapper.logと呼ばれるログファイルも作成されます。マッピングの送り先または送り先のどちらかがデータベースの場合に、Mapper.logファイルは有益です。この場合、Mapper.logファイルには、データベースに送られたSQL文とステートメントの結果として受け取られたエラーの全てが含まれます。

Magic xpi スタジオは、ユーザ定義のメッセージをモニタウィンドウに送ることができる機能や、コンポーネントの環境特性内のロギングオプション等のよう名ロギング機能を持っています。


コンポーネントのロギング

Magic xpi は、すべてのコンポーネント環境内でロギングオプションの定義を行うことができます。ロギングの範囲として、ロギングが何時実行されたか、ステップの実行に関連しているのかを以下のように指定します。

  • ロギングしない

  • 実行前

  • 実行後

  • 両方

記録されたメッセージの一部として、テキストメッセージやファイルを添付することができます。

メソッドを呼び出すことでロギングを設定することもできます。この場合、ロギングメッセージは各メソッドの実行後にモニタに送られます。

Magic xpiモニタから、ロギングを無効にしたり、有効にしたり、コンポーネントのロギングを有効にしたり、無効にしたりすることが可能です。


メッセージの保存とBAMメッセージコンポーネント

メッセージの保存

このコンポーネントを使用すると、モニタウィンドウにプロジェクトベースのメッセージを含めることができ、プロジェクトの管理が簡単になります。

BAMメッセージ

このコンポーネントを使用すると、ビジネスプロセスを追跡することができます。例えば、プロジェクトが並行実行しているプロセスが多少あり、各プロセスのステータスを追跡する必要がある場合、BAMメッセージコンポーネントを重要な場所に追加し、BAMキーに（受注番号や分岐番号のような）ユニークなIDを与えることができます。

モニタウィンドウは、ユニークIDに基づいて、メッセージをグループ化し、各プロセスの詳細を表示させることができます。


Magic xpiプロジェクトの配備

Magic xpiプロジェクトを配備するとき、実行管理は2つの主要な層で構築することができます。

  • 技術的モニタ …… 管理者に、エラーメッセージを含む実行環境の全体像を提供します。モニタ画面からプロジェクトのフローを確実に追跡できるように、関連する各ポイントにユーザ定義メッセージを追加することを検討する必要があります。ファイル添付機能を使用して、任意のステップで関与するデータファイルを含めることで、障害発生時に開発者が障害発生時点と破損したデータファイルの両方に関するすべての関連情報を取得できるようにします。

  • ビジネスモニタ …… ビジネスステップでBAMメッセージを定義すると、プロセスフェーズを完全に追跡することができます。

ヒント：

より豊富なモニタ機能を有効にするために、Monitorデータベーステーブルを使用したグラフィカルなポートツールを利用することができます。

プロジェクトの波美についての詳細は、ここをクリックして参照してください。


Magic xpiプロジェクトの保守

アクティビティログテーブル

Magic xpiモニタには、実行プロジェクトのオンラインのビューがあります。Magic xpiモニタは、全てのレコードを格納するIFS_ACTLOGと呼ばれるテーブルに基づいています。

統合プロジェクトは、1日中多くのプロセスを管理するため、モニタテーブルが非常に大きくなります。一方で、エラーポイントや性能問題などを分析しようとする時に、モニタ情報が極めて役立ちます。従って、モニタテーブルの管理手続を検討する必要があります。

管理手続は、以下の項目にもとづきます。

  • モニタテーブルの手動消去

  • 事前に定義された時間帯にモニタテーブルを消去する自動タスクを実行させます。例：先週のメッセージを消去する。スケジューラによって動作し、関連するWHERE句を使用してこのテーブルから削除する専門のフローを使用することで、簡単にこのタスクを実装することができます。

ifs.iniファイル内の以下のフラグを使用することで、データベースに集められるデータ量を減らすことができます。

[MAGIC_IBOLT]DisableActivityLog = N

このフラグの値がYに設定されると、アクティビティログが無効になります。どのアクティビティログのデータもデータベースに書き込まれず、どのメッセージもモニタに表示されません。

[MAGIC_IBOLT]MonitorLogLevel =* All

このフラグの値は、以下のどれかになります。カンマ区切りで複数設定することができます。

  • User …… ユーザ定義のメッセージだけを記録し表示します。

  • Error …… エラーを表示し、エラーコンポーネントを呼び出します。

  • Exec …… サーバの起動やフローの実行開始などの実行関連のメッセージを表示します。このスイッチには､エラーとユーザメッセージが含まれています。

  • Service …… ODSやロック、およびPSSなどのサービス関連のメッセージを表示します。

  • All …… すべてのメッセージを表示します。(フラグが存在していない場合、デフォルトになります。)

  • None …… メッセージを表示しません。

このフラグに複数の値が定義する場合、（上記のように）= の後にアスタリスク（*）を入力してください。

[MAGIC_IBOLT]MonitorMode = Activity

このフラグは、以下の3つのオプションから1つを設定してください。

  • Activity …… モニタはアクティビティログを表示しますが､統計表示を行いません。

  • Statistic …… モニタは統計を表示しますが、アクティビティログは表示されません。

  • Both …… モニタは、統計とアクティビティログの両方を表示します。

[MAGIC_IBOLT]ActivityLogSynchronizationMode = Async

このフラグは、アクティビティログの処理方法を指定します。

  • Async (デフォルト) …… 1つのスレッドですべてのアクティビティを記録します。このオプションを選択した場合、Magic xpiサーバはシングルスレッドでアクティビティのバッチ待ち、入力します。この設定では、システムのスピードと性能を向上させます。

  • Sync …… 各スレッドが個別にアクティビティを記録します。このオプションを選択した場合、Magic xpiサーバは、処理を実行した同じスレッドでリアルタイムにアクティビティを記録します。ただし、プロジェクトの読み込みとアクティビティとの釣り合いを取る必要があります。

さらに、Actlog_Write_Settings.xmlとActlog_Display_Settings_<user>.xmlファイルはアクティビティログメッセージを格納します。


開発手法に関する用語

次の主要な用語は、Magic xpiの開発手法の説明の中で使用されています。

オブジェクト | 説明
プロセス | Magic xpi統合プラットフォーム内に実装されるビジネスシナリオ
フロー | 実行可能なステップ内へのプロセスの実装。1つのフローが複数のプロセスと関連していたり、1つのビジネスプロセスが複数のフローを使用していると解釈したりするように、1つのフローが1つのプロセスと関係する場所では、フローとプロセスの関係は柔軟です。
コンポーネント | Magic xpiは独自のまたはユーザ定義の機能の集まりを含んでいます。これは、ウィザードベースのGUIで業界標準にもとづいた統合プロセスを作成するための必要な機能が含まれています。
ユーティリティ | プロジェクトをさらにコントロールするプロジェクト設計を提供して、プロジェクトをモデル化することで、特定の動作を指定することができるビルディングブロックです。BAMメッセージやデータマッパーユーティリティ、フローマネージャー、ロッキングユーティリティ、イベント発行ユーティリティなどが含まれています。
リソース | サーバやDBMS、アプリケーション、Webサーバ、およびIT環境におけるすべてリソースの定義
サービス | 公開された機能を定義します。フローが外部システムからどのように呼び出されるかを設定することができます。サービスにはWeb ServiceやHTTP等が含まれます。
ステップ | ステップは、コンポーネントのインスタンスまたはフロー内のMagic xpiフローサービスです。すべてのフローは、フローロジック実装する1つ以上のステップから成り立っています。
コンテキスト | フローとそれによって呼び出された全てのリニアなフローの共用メモリ環境。コンテキストは、フローが開始される際に、初期設定が行われ、初期フローが終了するまでフローとすべてのリニアの子孫で利用可能な共有コンテキスト変数が含まれます。


Magic xpi 4.x のアーキテクチャ

このセクションは、Magic xpi 4.xの新しいアーキテクチャーについて説明しています。Magic xpi 3.0は、Magicリクエストブローカというミドルウェアに基づいていますが、Magic xpi 4.xはその基礎をなすメッセージングとコンテキスト持続レイヤとしてインメモリ・データグリッドを使用しています。この新しいアーキテクチャーはビルトインのクラスタリングとフェールオーバ機能をMagic xpiプロジェクトに提供し、無制限のリニアスケーラビリティを可能にして、パフォーマンスを向上させます。

関連トピック：

アーキテクチャーの概要

実行コンテキスト

起動

リカバリ動作


アーキテクチャーの概要

Magic xpi 4.xは、以下のソフトウェア・コンポーネント/要素から構成されています。

  • インメモリ・データグリッド (IMDG) …… インメモリ・データグリッドはメモリ内に大量のデータを保存するために、一緒に動作する複数のマシンのインスタンス（物理的または仮想)上で実行する複数のサーバプロセスから構成されるミドルウェアソフトです。そして、これによって高性能で弾力性があるスケーラビリティとフェイルセーフ冗長性を提供します。

  • Space …… Spaceは、データグリッド上で実行するデータとビジネスロジック・コンテナ（データベースインスタンスと同じ)です。データグリッドには、複数のSpaceを含めることができます。しかし、Magic xpi 4.xは、複数のプロジェクトを実行するために、単一Spaceを使用します。冗長性とスケーラビリティのために、Spaceのデータとビジネスロジックはデータグリッドに参加しているすべてのマシン全体で複製され、分割されます。そして、マシンまたはソフトウェアに障害が発生しても、継続してサービスを提供することができます。

  • Magicプロセスユニット (PU) …… Magic xpa PUは、Space上で動作するソフトウェア・モジュールです。プロジェクトオブジェクト上でさまざまな管理タスクを実行します。このPUは、すべてのMagic xpiオブジェクトをモニタし、管理して、サーバが適切に実行していることを確認します。Magic PUには、以下のような機能があります。

  • フロータイムアウト状況を確認して、復旧を行います。

  • ハング/クラッシュしたワーカとサーバを特定して、復旧を行います。

  • 管理メッセージを実行サーバに送ります。

  • 完了したフローリクエストをクリアにします。

  • プロジェクトエンティティに関する統計を集めます。

様々なPUは、GigaSpaces UIのEvent Containersで表示されます。GigaSpaces UIには、追加情報が表示されます。例えば、［Processed］カラムには、各PUで処理されたリクエスト数や、発生したタイムアウトの数、などが表示されます。

  • Magic xpiサーバ …… Magic xpiサーバは、Magic xpi 4.x統合プロジェクトのロジックを実行する複数のサーバプロセスから構成されているアプリケーションサーバ・ソフトウェアです。各Magic xpiサーバのプロセス（エンジン)は、複数のスレッド（ワーカ)から構成されています。各ワーカは、さまざまな統合プロジェクト・ロジックを実行することができます。.

  • メッセージ・フロー –…… Magic xpiエンジンは、GigaSpacesプロキシを経由してSpaceと通信します。これはクライアント・アプリケーションをSpaceに接続するソフトウェア・モジュールです。各Magic xpiエンジンは、フロースレッドとトリガスレッドを実行させることができます。さらに、他のプロセス・Space（例えばHTTPトリガ、またはWeb Serviceトリガ）で実行する外部トリガがあります。トリガは、ワーカによって同期または、非同期で処理される新しいフロー呼出リクエストメッセージを作成します。

トリガーアーキテクチャ

外部トリガ

Magic xpiはさまざまなリクエストを受け取ることができます。

  • HTTP IISに渡されるMagic xpiのリクエストは、<Magic xpiインストールフォルダ>\Runtime\scripts\config\mgreq.ini に従って、<Magic xpiインストールフォルダ>\Runtime\scripts\bin\MgWebRequester.dll ファイルによって処理されます。

  • Apache Tomcatサーバ(Java)に渡されるMagic xpiのリクエスタは、-Dcom.magicsoftware.requester.confパラメータの CATALINA_HOME\bin\startup.batファイルで定義されるmgreq.iniファイルに従って<Magic xpiのインストール>\Runtime\Support\JavaWebRequester\TomCat\magicxpi4.warファイルによって処理されます(Magic xpi - Java-Based Installation Instructions.pdf を参照してください)。

  • Systinetサーバ(WSサーバ)に渡されるMagic xpiのリクエストは、-Dcom.magicsoftware.requester.confパラメータの<SSJ for Magic xpi>\bin\server.batファイルの中で定義されるmgreq.iniファイルに従って、<Magic xpiインストールフォルダ>\lib\MgRequester.jarファイルによって処理されます。

これらのすべては、SpaceのTemp msg(上記のイメージで黄色で表示されています)に置かれます。

各トリガタイプは、独自のTemp msgタイプを持っていて、GigaSpaces UIで表示されます。このイメージでは、Temp msgは、アーキテクチャを説明するためにすべてのトリガで使用されます。

プッシュトリガ

プッシュトリガから渡されるMagic xpiのリクエストは、Magic xpiサーバープロセス(mgreq.iniファイルは関係しません)内の<Magic xpi installation>\Runtime\java\lib\uniRequester.jar ファイル（の Mgrequest クラス）によって処理されます。これは、Spaceに Temp msgを置きます。これは、WS/HTTPとは異なり、個別のプロセスでリクエストを処理します。

ポーリングトリガ

トリガを呼び出す他のすべてのリクエストは、直接、SpaceにFlowRequestメッセージを書き込むMagic xpiサーバプロセス(mgreq.iniファイルは関係ません)で処理されます。

MagicxpiServer.exeファイルで利用可能なワーカは、FlowRequestメッセージを受け取り、プロジェクトの制約(最大インスタンス数やライセンス数など)を考慮して処理します。

* ユーザリクエスト= mgrqcmdl, CallRemote

プロセスユニット (PUs)

Spaceには、2つの専用jのPU(１つは、http2ifr という名前のHTTPトリガタイプのPU、もう一つはexternalRequestToFlowRequest*という名前の他のすべてのためのPU)があります。これらは、Tempo msg をFlowRequestメッセージに変換します。これらのFlowRequestメッセージは、MagicxpiServer.exeファイルによって処理され、モニタやGigaSpaces UI(データタイプの名前は、com.magicsoftware.xpi.server.messages.FlowRequestです)に表示されます。

* http2ifrとexternalRequestToFlowRequest PUは、GigaSpaces UIのイベントコンテナセクションに表示されます。

サーバアーキテクチャ

サーバアーキテクチャについての徹底的に理解することは、プロジェクトのリカバリ設定を定義する際に非常に有益です。以下の図は、サーバアーキテクチャがどのように動作するかを示しています。

ROOTFSID 1 | ルートフローシーケンスID(ルートFSID)は、実行ツリー内のすべてのフローと分岐に対して共通です。
ROOTFSID 4 | 新しい実行ツリーを開始するスタンドアロンの分岐。
ROOTFSID # | 番号は、初期のFSIDと同じ数値です。
FSID | 各新規委フローは、新規フローシーケンスID(FSID)を受け取ります。スタンドアロンの分岐は、個別のフローと考えられるので、独自の新しいFSIDを取得します。
1...5 = Flow Request ID | 呼び出された各フロー、並列分岐、またはスタンドアロンの分岐は、フローリクエストメッセージによって呼び出されます。それぞれ独自のIDを持っています。「フロー呼出」ステップと「フロー呼出」の送り先は、リニア実行の一部で、独自のフローリクエストメッセージを持っていません。
I, II | 各フロー呼出の繰返しのために、起動されたフロー(I)には新しいFSIDが割り当てられます。起動されたフロー(I)が起動元に返ると、フロー呼出(II)は、そのオリジナルのFSIDを残します。


エンジン管理

Magic xpi4.xサーバのプロセス(エンジン)は、Spaceを使用して完全に管理されます。フロー呼出しリクエストを待つフローと同じような方法で各エンジンはSpace上で管理指示を待ちます。各エンジンにおいて、専門の管理スレッドが、管理メッセージを消費し、処理します。エンジン自身は、リカバリとメンテナンスの目的のためにSpaceにその動作状態を更新する必要があります。

管理メッセージは、Spaceを通してエンジンを管理することができます。エンジンが処理することができるメッセージの例には以下のものが含まれています。

  • より多くのワーカスレッドを追加します。

  • ワーカまたはワーカらを終了します。

  • トリガの再起動

  • シャットダウン

  • 実行ワーカ上でステータスを提供する。


スレッドとワーカ

Magic xpi4.xは、2種類の個別のタイプのスレッドを持っています。

  • フロースレッド

  • トリガスレッド

サーバアーキテクチャがどのように働くかのビジュアルな説明を参照するには、ここをクリックしてください。

トリガアーキテクチャの詳細については、このイメージを参照してください。

フロースレッド (フローワーカ)

これらは、「フローワーカ」とも呼ばれます。すなわち、フローを実行することができるスレッドです。フローワーカは、フローステップを実行します。フローワーカが開始され、SpaceのステータスがREADY_FOR_USEであるフロー呼出しリクエスト(メッセージ)を待ちます。フロー呼出しリクエスト(メッセージ)が作成されたら、有効なフローワーカはSpaceのステータスをIN_PROCESSに変更します。2つのワーカが同じメッセージを実行することを防止するため、それはトランザクション内で行われ、メッセージペイロード内で有効なデータを使用して、メッセージ内で定義された要求されたフローを実行します。

詳細なモニタリング、トラブルシューティング、そしてメンテナンスを可能にするために、フローワーカはその処理の間、Spaceに詳細なステータス情報を維持しています。フロー内で各ステップを実行する前に、ワーカは現在のフローステータスによってSpaceを更新し、プロジェクトメタデータに基づいて、やるべきことをチェックします。

  • ユーザ定義タイムアウトに達したらアボートします。

  • リカバリまたはエラー処理のためアボートします。

  • サーバ/プロジェクトのシャットダウンのためアボートします。

  • (デバッグ状態で)次のステップを続ける前に休止します。

フローが完了したら、ワーカはSpaceのフロー呼出しリクエストメッセージのステータスをDONEに更新し、追加の新しいメッセージが処理されるのを待ち始めます。

新しいプロセスが開始される前に、ビジネスプロセスが完了することを保証してSpaceからのメッセージを読み込む時、Magic.iniファイルのWorkerReadDeeperMessagesfirst= flagはMagic xpiに、より高い階層を持つメッセージに優先度を付けるように指示します。ffff

ルートメッセージのための処理戦略は、先入れ先出し(FIFO)ですが、実行ツリー(並行ステップ)でより深いメッセージはより高い優先事項を持っていて、どのような待ちのルートメッセージの前ででも処理されます。新しいルートメッセージが処理される前に、この戦略は実行ツリーのより迅速な完了を可能にします。

トリガスレッド (トリガワーカ)

これらは、外部のイベントに対してポーリングまたはリスニングに責任があり、Space内でフロー呼出しリクエストを作成することによってフローを開始しているスレッドです。トリガスレッドが開始され、外部のイベントが発行されることを待ちます。そのようなイベントが発生したら、有効なフローワーカによって処理されるイベントデータ(ペイロード)によって、トリガはフロー呼出しリクエスト(メッセージ)を作成します。トリガは同時的でも非同期でもかまいません。

  • 同期トリガ …… : いくつかのトリガが非同期的にフローリクエストを呼び出すと、他のトリガは同期モードになります。このモードでは、トリガがフロー呼出リクエストを作成した後、応答メッセージを待ちます。フローが完了したら、同期リクエストを処理するフローワーカは、ペイロードを持つ応答メッセージを作成することについて責任があります。

  • 非同期トリガ…… これらのトリガはフローリクエストメッセージを作成し、直ちに、応答を待たずに外部システムの新しいイベントをチェックし続けます。非同期のトリガが処理されないフローリクエストメッセージでSpaceをあふれさせないようにするため、各トリガは、キューがあらかじめ決められたサイズを越えた場合に新しいイベントの作成を絞るために使用される決められたキューバッファサイズが定義されています。このトリガバッファサイズは、デフォルトで10に設定されています。TriggersBufferSize= flagの値を変更することで、この値を調整することができます。このフラグの詳細についてここをクリックしてください。フローワーカと同じように、保守性と可視性を保証するために、トリガはSpaceにそれらの状態を維持しています。

各Magic xpi ワーカは、特定のMagic xpi プロジェクトのリクエストを処理することに専念しています。同じIMDG/Space上の複数のプロジェクトを実行する場合、各プロジェクトは専門のMagic xpiエンジンとワーカを割り当てる必要があります。


外部トリガ

外部トリガは、管理されたエンジン内のトリガワーカ・スレッドで実行されません。その代わり、これらは独自のプロセスで動作し、他のアプリケーションからのフロー呼出リクエストを作成します。HTTPトリガは、たとえば、Webサーバ（IISまたはApache)の配下で実行するモジュールです。SOAP Web Service・トリガは、Systinetサーバで呼び出される外部トリガの別の例です。

外部トリガは、通常は同期モードで動作します。

トリガアーキテクチャの詳細は、このイメージを参照してください。


実行コンテキスト

プロジェクトの完全なスケーラビリティと位置独立性を可能にするために、Magic xpi 4.xは、プロジェクトのメタデータと実行コンテキストの要素をSpceに読み込みます。Magic xpi 3.xの場合のようにローカルプロセス・メモリ内に読み込むことはありません。

グリッドに参加しているすべてのマシン上で、これはプロジェクトを実行しているすべてのMagic xpiサーバ/ワーカで利用できるようにします。設計上、特別に考慮することなく、これはプロジェクトを多くのマシンで自動的に拡張できるようにします。


起動

Magic xpi 4.xの起動は、以下の手順で行われます。

  1. Magic xpi GSAサービスを実行する。

  2. Magic xpiのプロジェクトを開始／停止する。

関連トピック：

プロジェクトの実行手順

Magic xpi プロジェクトのシャットダウン手順

バッチから複数のプロジェクトを起動する

GigaSpaceによって使用されるポートをコントロールする


Magic xpi GSAサービスを実行する

Magic xpi 4.xをインストールするとき、Magic xpi GSA （グリッドサービス・エージェント)と呼ばれているOSサービスのインストールを選択することを強く推奨します。使用しているOSにもとづいて、OSサービス（Windows)または、initデーモン（UNIX)として読み込みます。

Magic xpi GSAサービスは、最初にグリッドを読み込み、次にMagic Spaceを配備するという手順を実行します。これらの2つのモジュール（グリッドとMagic Spce)は、GigaSpacesインフラ・モジュールです。これらの2つのモジュールが実行していない場合、Magic xpi4.x のプロジェクトは実行できません。

GSAサービスを手動でインストールする

インストール処理中に、自動的にGigaSpaces GSAサービスをインストールする選択をしない場合、以下のコマンドを実行することによって手動でサービスをインストールしたり、削除することができます。

  • Install_GSA_service.bat (GSAをインストールする)

  • Uninstall_GSA_service.bat (GSAを削除する)

これらのファイルは、以下のパスの配下にコピーされています。

<Magic xpi インストールフォルダ>\Runtime\OS_Service\scripts

OSによっては（例えばWindows 8以上）、管理者権限でこれらのコマンドを実行しなければなりません。

起動時に自動的に実行するMagic xpi GSAサービスを設定する

PCが起動する時に、自動的にGSAサービスを開始させるために専用のOSサービスを使用することを推奨します。自動的にGSAサービスを開始させるには、これらの手順に従ってください。

  1. ［スタート］をクリックして、［ファイル名を指定して実行］をクリックしてください。［ファイル名を指定して実行］ダイアログボックスが開きます。

  2. ［実行］ダイアログボックスでは、services.mscを入力してください。［サービス］ダイアログボックスが開きます。

  3. ［サービス］ダイアログボックスで、Magic xpi 4.x GSAをダブルクリックしてください。［Magic xpi 4.x GSAプロパティ（ローカルコンピュータ)］ダイアログボックスが開きます。

  4. ［Magic xpiに、4.x GSAプロパティ（ローカル・コンピュータ)］ダイアログボックスの［起動タイプ］パラメータをドロップダウンリストから自動を選択します。

  5. ［OK］をクリックして終了します。

コマンドプロンプトで直接Magic xpi GSAサービスを実行する

コマンドプロンプトでGSAサービスを実行して、Spaceを配備するには：

  • magicxpi_gs-agent.batファイルを実行してグリッドを読み込みます。Magic xpi GSAサービスが自動実行に設定されている場合、同様にSpaceも自動的に配備します。もし設定されていない場合は、Magic Spaceを配備するために、Magicxpi_deploy.batファイルを使用してください。

これらのファイルは、以下のパスの配下にコピーされています。

<Magic xpi インストールフォルダ>\Runtime\GigaSpaces-xpa\bin

コマンドラインから直接Web管理コンソールを実行する

Magic xpi 4.13.1以降、アップグレードされたバージョンのGigaSpaces 15.2は、それまでのGigaSpacesUIの代わりにWeb管理コンソールを提供します。 ユーザーは、次のパスにあるバッチファイルを実行して、Web管理コンソールを実行します。

<Magic xpi インストールフォルダ>\RuntimeGigaspaces-xpi\binmagicxpi-gs-webUI.bat

(Since version: 4.13.1)

GigaSpacesグリッドを読み込む

Magic xpi GSAサービスが指定したマシンで開始されると、ローカルにグリッドを読み込み、同じ検索グループまたは検索ロケータ名で他のグリッド・コンポーネントに対して検索を行います。そのようなコンポーネントが見つかると、ローカルグリッドはその検索グループまたは検索ロケーターの要素でものとみなされます。このようにして、ネットワーク上に一つの統一グリッドが確立されます。

ログインされたユーザによってではなくGSAサービス用に定義されたユーザで、Magic xpiエンジンが実行されていることを知っておいてください。デフォルトでは、サービス用に定義されたユーザはローカルなシステムアカウントです。1台のPC上でMagic xpiを動かす場合は、通常これで問題ありません。しかし、クラスタリング環境の場合は、サービスはネットワークリソースにアクセスする権限を持っているユーザとして実行する必要があります。

グリッドが実行していることを確認するには：

  1. インストールされたショートカットから、GigaSpaces UIを実行します。いくつかのタブを持つGSユーティリティが開きます。

  2. グリッドが適切に開始されたら、［Hosts］タブに表示されるマシンを参照してください。インストール処理（デフォルト)の際、開発マシンのチェックボックスを選択すると、マシン名として、1つのGSA、1つのGSC、1つのGSMと1つのLUを持たなければなりません。グリッドが適切に開始されなかった場合、LookupGroupName=フラグとLookupLocators=フラグが正しく設定されることを確認してください。詳細はここをクリックしてください。

Magic Spaceを配備する

一旦グリッドが稼働したら、Magic xpi GSAサービスは自動的にMagic Spaceを配備します。Magic Spaceは、その設定にもとづいて配備されます。デフォルトでは、これはmagicxpi_sla.xmlファイルで定義されます。このファイルは、以下のフォルダ内にコピーされています。

<Magic xpi インストールフォルダ>\Runtime\config

ローカルモードでのGigaSpaces管理コンソールの起動

GigaSpacesには、管理コンソールをクラスタモードではなくローカルモードで起動するための規定があります。これを有効にするには、以下の設定が必要です。

  • <Magic xpi のインストールフォルダ>\RuntimeGigaspaces-xpi\binに移動します。

  • magicxpi-setenv.batファイルを探します。テキストエディタで開きます。

  • 変数 GS_NIC_ADDRESS と GS_LOOKUP_LOCATORS を検索し、両方の変数の値を localhost に変更してください。

  • 次に、テキストエディタで magicxpi-gs-agent.bat ファイルを開きます。

  • ファイルの最後に移動し、call gs host run-agentコマンドをコメントします。

  • このファイルに以下のように新しいコマンドを追加します。

call gs host run-agent --custom gsc=2 --auto --custom mgmirror=1 --custom mgdeploy=1 --custom mginfo=1

自動インストールオプションでGSAが正常に起動したら、以下の手順でMagic モニタを起動する必要があります。

  • <Magic xpi のインストールフォルダ>\Runtime\RTView\magicmonitorフォルダに移動します。

  • テキストエディタでrunwebmonitor.batファイルを開き、LookupLocators=localhostを設定します。

  • <Magic xpi のインストールフォルダ>\Runtimeフォルダに移動します。

  • テキストエディタでmgreq.iniファイルを開き、LookupLocators=localhostに設定します。

プロジェクトを起動するには

  • プロジェクトを保存したフォルダに移動します。

  • テキスト エディタで start.xml ファイルを開き、Server タグの下の host の値を <Server host="localhost" alternateHosts="">と同様にlocalhostに変更します。

デバッガを起動します。

  • <Magic xpi のインストールフォルダ>\Runtime\Runtimescripts\configフォルダに移動します。

  • テキスト・エディタでmgreq.iniファイルを開き、LookupLocators=localhostに設定します。

GS Webインターフェイスをローカルモードで自動起動できるようになりました。GigaSpaces管理コンソールは、URL http://localhost:8099/ を使用してアクセスできます。

ローカルモードではクラスタリングはサポートされていません。

(Since version: 4.13)


Magic xpiのプロジェクトを開始／停止する

下の図は、Magic xpiプロジェクトを開始するときに、何が起こるかについて説明しています。

  1. プロジェクトの開始は、以下の方法のうちの1つで手動で行うことができます。

    • リンクをクリックします。 プロジェクトがビルドされると、このスタートリンクはプロジェクトのディレクトリに作成されます。リンクは、start.xml設定ファイルを示しています。

    • モニタまたはデバッガからスタートオプションをクリックします。このオプションも、プロジェクト・フォルダ内のstart.xmlファイルを使用します。

または、自動的に：

    • ＜Magic xpiインストールフォルダ＞\Runtime\Configconfig フォルダ内にprojectsStartup.xmlと呼ばれるファイルを置くことによって実行されます。

      Magic xpiサービスが起動し、Magic Spaceの配備を管理すると、projectsStartup.xmlファイルに定義されたプロジェクトとサーバを自動的に起動します。projectsStartup.xmlの構成は、各プロジェクトの配下で作成されるstart.xmlの構成と同じです。

  2. ステップ1のオプションは、プロジェクトの ファイルやユニークID、START_REQUESTEDのステータスによるメタデータを持つMagic Space内にサーバエンティティを作成します。Magic xpiの拡張モニタコンソールでサーバエンティティとステータスを参照することができます。

  3. Magicプロセスユニットは、ステータスがSTART_REQUESTEDになっているサーバ・エンティティに対してMagic Space検索をスキャンします。

  4. 一旦プロセスユニットがSTART_REQUESTEDのステータスになっているサーバエンティティを見つけると、それはサーバエンティティで定義されているホスト名またはIPアドレスにもとづいてグリッドサービス・エージェント（GSA)をスキャンします。この動作はstart.xmlファイルに基づいて行われます。Magic プロセスユニットは、GSAにこのサーバエンティティで定義されるパラメータ/起動情報の全てを渡します。GSAが利用できない場合、それが後のステージで利用できるようになれば、プロセスユニットはチェックし続けます。

start.xmlファイルで、実行していないマシンを定義したり、GSAが実行していないことを定義することができます。作業量が高い場合、これらのマシンでGSAを開始させることができます。GSAがロードされたら、Magic xpaプロセスユニットはそれを見つけ、処理サイクルが開始されます。

  5. サーバエンティティで指定されているホスト・マシンで実行するGSAは、Magicプロセスユニットから渡されるパラメータによって、Magic xpiサーバ（MgxpiServer.exeプロセス、別名エンジン)を起動します。

    • プロジェクトが実行していない場合、開始する最初のMgxpiServer.exeプロセスはMagic Spaceにプロジェクト・メタデータを読み込ませることによってプロジェクトを作成します。

    • プロジェクトがすでに実行している場合、読み込まれたMgxpiServer.exeプロセスは既存のプロジェクトを追加し、自身のワーカとトリガを要員として追加します。

  6. Magic xpiサーバの登録後、それはMagic Spaceに接続し、そのIDによってサーバエンティティを検索します。Magic xpiサーバは、次にサーバエンティティのステータスをRUNNING に更新します。プロジェクトの実行手順の詳細は、ここをクリックしてください。

  7. これで、サーバはリクエストの処理を開始することができます。

プロジェクトの停止は、以下にように行います。

  • リンクをクリックします。プロジェクトがビルドされると、この停止リンクはプロジェクトのディレクトリに作成されます。

  • モニタまたはデバッガから停止オプションをクリックすることによって実行されます。

スタートアップ失敗

サーバエンティティのステータスが、START_REQUESTEDとして残っていて、RUNNINGに変わらない場合、Magic xpaプロセスユニットはGSAとチェックして、実際のプロセスが動作しているかどうかを確認します。プロセスが動作している場合、サーバエンティティのステータスはSTART_FAILEDに変わります。プロセスが動作している場合、Magic xpaプロセスユニットは、最初にGSAにプロセスを終了させるように指示します、そして、サーバーエンティティをSTART_FAILEDに更新します。

スタートアップが失敗した原因についての情報や、対応方法についてはトラブルシューティングのセクションで説明しています。


プロジェクトの実行手順

以下の図は、プロジェクトのステータスがRUNNINGの場合に発生するイベントの手続きを説明しています。

Magic xpiサーバ（エンジン)は、GigaSpacesプロキシを経由してMagicSpaceに接続します。これはクライアント・アプリケーションをMagicスSpaceに接続するミドルウェア・レイヤです。Magic Spaceは、一つの論理ユニットとしていくつかのプロセスといくつかのマシンに存在することができます。サーバとSpaceパーティションの間での正常な接続処理は、GigaSpacesプロキシが行います。

  1. プロジェクトが実行しているとき、3つの要素が同時に動作します：ワーカ、ポーリングトリガと外部トリガ。各Magic xpiサーバは、いろいろなタスクのために一つ以上のワーカ/トリガを実行することができます。

    1. ポーリング・トリガ（Magic xpiサーバスレッド)は、フローを呼び出す必要があるかどうかを確認するために、絶えず外部システム（例えば、eメールアカウント)をスキャンします。フローを呼び出す必要がある場合、Magic SpaceにREADY_FOR_USEのステータスのフローメッセージを置きます。

    2. 有効な各ワーカはジョブの実行に対してMagic Spaceを検索します。これは、ステータスがREADY_FOR_USEであるメッセージを意味します。ワーカがメッセージを見つけると、ステータスをIN PROCESSに変更し、フローにメッセージ・ペイロードを渡して、フローロジックを実行します（これは、プルメカニズムとして知られています)。

2つのワーカが同じメッセージを実行することを防止するために、1つのワーカだけが成功するように、IN PROCESSのステータスの変更はトランザクション内で実行されます。

    3. 外部トリガは、外部アプリケーション（例えばWebサーバ）です。一旦トリガがリクエストを受けると、それはフローを呼び出すMagic Spaceにメッセージを置きます。

  2. メインフローが完了したら、ワーカは完Magic Space内のリクエストメッセージステータスをDONEに更新して、追加メッセージをスキャンできるようにします。

  3. メッセージが同期トリガ（例えばHTTPトリガ)から来たものならば、フローが終了するき、ワーカはSpaceに応答メッセージを書き込みます。そして、トリガがクライアントに送信します。

  4. あらゆる並行でスタンドアロンの分岐は、フローによってMagic Spaceに書き込まれる個別のメッセージとしても処理されます。この新しいスレッド（並行またはスタンドアロンの分岐)は、プロジェクトのワーカ、より適切に言えば、異なるマシンで実行しているワーカのどれでも処理可能です。

サーバアーキテクチャがどのように動作するかの視覚的な説明は、ここをクリックしてください。


Magic xpi プロジェクトのシャットダウン手順

I適当なタイムアウト値を指定することで、猶予を設けてプロジェクトをシャットダウンすることができます。一旦、シャットダウン・コマンドが送られると、タイムアウトに達するまで、（すべてのトリガは停止し）プロジェクトは新しいリクエストを処理しません。しかし、プロジェクトはすでに受け取ったワークの処理を継続します。


バッチから複数のプロジェクトを起動する

プロジェクトのスタートリンクのいずれかを調べてみると、コマンドは以下の例と似たような定義になっています。

"D:\Magic xpi\Magic xpi 4 GS 11_12\MgxpiCmdl.bat" start-servers -startup-config-file "D:\Magic xpi\Magic xpi 4 GS 11_12\projects\Project1\start.xml" -Space-name "MAGIC_SPACE" -group "Magicxpi-4.0.0_AVIW-7-LP" -locators ""

このコマンドは、プロジェクト配下に存在している指定したstart.xmlファイルをアクセスしています。同じコマンドは、いくつかのプロジェクトを読み込むことができるような異なるstart.xmlファイルを読み込むように修正することができます。


GigaSpaceによって使用されるポートをコントロールする

LookupLocatorsの設定

ディスカバリポートがGigaSpaceのデフォルトと異なる値に設定した場合、それらがLUのホスト名またはIPアドレスに加えてディスカバリポートの詳細を含むように、LookupLocatorsの値を修正しなければなりません。

ファイアウォールの設定

最も一般的なシナリオは、ファイアウォールの後にGigaSpacesの全てのエンティティを配置することです。ファイアウォールは、Webリクエスタのみまたは、Web Service・リクエスタをDMZ内に配置します。ファイアウォールの設定方法の詳細は、ここをクリックしてください。


リカバリ動作

Magic xpi 4.xは、自動的に多くの障害と故障のシナリオから復旧することができます。リカバリのメカニズムは、以下の2つの主要なカテゴリに分けられます。

  • 物理/グリッド障害 …… Magic xpiコンポーネントを実行しているマシン/インスタンスは、失敗したり、シャットダウンしたり、ネットワークから遮断したり、グリッド・コンポーネントのうちの1つがアボートしたり機能が停止したりすることです。

  • エンジン/ワーカ障害 …… Magic xpiエンジンまたはワーカのうちの1つは、アボートするか機能を停止します。

サーバアーキテクチャがどのように動作するかのビジュアルな説明は、ここをクリックしてください。

関連トピック：

トリガリカバリ


物理/グリッド障害

物理的またはグリッドコンポーネントの障害が発生した場合、グリッドは自動的に完全にサービスを提供し続けるリカバリメカニズムを備えています。すべてのグリッド・サービスは連続して機能し、少なくとも1つのマシンが実行している限りデータは失われません。Magic xpiのワーカを実行しているマシンが故障すると、エンジン/ワーカの障害のためのリカバリメカニズムを起動させます。


エンジン/ワーカ障害

リカバリメカニズムには、3つの要素が含まれています。

  • 識別 …… ワーカ、複数ワーカまたは全てのMagic xpiエンジンが、応答していないか、クラッシュしていることを識別します。

  • エンジンとワーカ復のリカバリ処理 …… クラッシュしたワーカとエンジンを入れ替える為に、新しいものを起動します。

  • ワークプロセスのリカバリ …… クラッシュされたワーカが処理したビジネスプロセスのリカバリ処理を行います。


識別

各ワーカとエンジンは、その状態をSpaceに報告します。Magicプロセスユニットは、これらの報告をモニタします。設定されたタイムアウト以内に報告しなかったワーカまたはエンジンを探します。

  • フローワーカ（トリガまたはフロー)の場合、それはワーカのステータスのために実行しているエンジンにワーカを問い合わせます。

  • エンジンの場合、エンジンがまだ動作している場合、このエンジンを起動したGSAに問い合わせます。


エンジンとワーカのリカバリ処理

応答がないか存在しないエンジンが発生した場合、GSAは既存のエンジンを終了して、新しいものを開始するように指示します。スレッドがクラッシュした場合、エンジンは同じエンジンの配下で新しいワーカを開始するように指示します。


ワークプロセスのリカバリ

ワークプロセスは、ルートフロー全体(その子フローを含みます)の実行ツリーです。ワークプロセスは、全体として1つの企業取引として扱われます。ルートフローは、親フローによって呼び出されなかったフローです。フローはトリガ、スケジューラ、自動起動、またはパブリッシュ/サブスクライブのシナリオによって開始されたものにになります。

  1. リカバリは、個別のフローのためにではなくワークプロセスのために定義されます。

  2. Magic xpiは、ルートフローで定義されたリカバリポリシーを使用して、子フローのために定義されたリカバリポリシーを無視します。

スタンドアロンの分岐はワークプロセスから分離されるため、ワークプロセスの一部とみなされません。従って、それは独自の実行ツリー持っています。スタンドアロンの分岐がクラッシュすると、リカバリポリシーは主要なフローからではなく自身のフロープロパティから取り出されます。

  3. セーブポイントは、最上位のフローのリニアな分岐に保存されるだけです。子フローまたは子コンテキストに定義されたセーブポイントは無視されます。

  4. ワークプロセスは、（並行分岐の場合は)一つ以上のワーカによって実行することができ、一つ以上の個別の物理サーバで実行します。

  5. 現在実行しているワークプロセスの一部がクラッシュすると、ワークプロセスの全体がアボートされます。そして、最上位のフローで定義されるクリーンアップ・フローが呼び出されます。

  6. リカバリが適用される場合は：

    1. アボートの場合 …… 更なるアクションは不要です。

    2. 再起動の場合 …… Magic xpiは、最初に起動されたペイロードと一緒に最上位のフローを再開します。最初のデータは、決して失われません。

    3. セーブポイントの場合 …… 最後のセーブポイントが存在しない場合、Magic xpiは最後のセーブポイントから起動するか、フローを再起動します。


トリガリカバリ

Magic xpiの各トリガには、オプションでキープアライブのプロパティがあります。トリガが障害とみなされ、再起動する必要があるまで、このプロパティは待ち時間をコントロールします。

2つの例外は、外部トリガであるWeb ServiceトリガとHTTPトリガです。これらのトリガは外部プロセス（IIS/Apache/Systinetサーバ)で動作して、モニタすることができて、個別に管理することができます。


Magic xpiのエラー処理

以下のセクションでは Magic xpiでのさまざまなエラー処理方法を紹介します。

Magic xpiには、エラーフローをどのように処理するかを示すサンプルプロジェクトが含まれています。<Magic xpiのインストールフォルダ>\Extra\SampleProjects でサンプルプロジェクトが見つかります。

関連トピック：

エラー処理の順序

追加シナリオ


エラー処理の順序

Magic xpiは以下の順序でエラー処理を行います。:

  1. ステップでエラーが発生した際、 Magic xpiはステップとトリガをエラー処理メカニズムに従って処理を停止します。

データマッパーとSAPB1のステップでは、処理を終了するのか、継続するのかを選択することができます。

  2. Magic xpiはユーザ定義エラー処理フロー（エラーフロー）があれば、それを呼び出します。

  3. エラー処理フローが存在しない場合、 Magic xpiはフローのエラーポリシーに基づいてエラー処理を行います。

  4. C.sys.ErrorCode 変数に返される値を基に次ステップの実行条件を指定することができます。

これらの手順の詳細は、以下のように分類されます。

ステップでのエラー

エラー処理フロー

エラー ポリシ

ステップでのエラー処理


ステップでのエラー

ステップでエラーが発生すると、 Magic xpiはステップを終了します(エラー動作として ［エラー動作］プロパティに 終了(Exit) あるいは 継続(Continue)を設定することができるデータマッパーとSAP B1ステップを除き)。C.sys.ErrorCode 変数はエラーコードによって更新され、エラー処理メカニズムが働きます。

エラー動作プロパティ

このプロパティはデータマッパーとSAP B1のステップで使用することができます。

  • 継続(Continue)を選択した場合、エラーが発生すると、エラー処理フローが呼び出され、エラー処理フローが終了すると、元のフローに戻り、ステップの実行が継続されます。

  • 終了(Exit)を選択した場合、エラーが発生すると、ステップの実行は直ちに停止し、エラーが発生したポイント以降のマッピングやオペレーションは実行されません。
    データマッパーのステップのみ、エラー動作として終了(Exit) を設定すると、エラー処理フローの最終ステップでエラーコードか更新されない場合、エラーはクリアされ、データマッパーは次レコードの処理を継続して行います。実行時に終了(Exit)設定を上書きすることができます。


エラー処理フロー

エラーを処理するためのフローを作成することができます。単に新しいフローを作成し、エラーを処理する一つ以上のステップを定義します。

フローの［プロパティ］ペインに配置された呼び出しフローの［エラー処理フロー］プロパティによって、その他のフローからこのエラー処理フローを使用することができます。

［エラーフロー］プロパティ性からフローを選択すると、 [image] のような画像がフローの先頭に表示され、下図のようにフローエリアの先頭に表示されます。

この指定により、元フローでエラーが発生すると、指定したエラー処理フローが起動されます。

Magic xpiサーバはエラーコード、エラー内容、最終エラーコンポーネントタイプの値を自動的にエラーシステム変数 (C.sys.ErrorCode、C.sys.ErrorDescription、C.sys.LastErrorComponentType)に更新します。デフォルトではC.sys.ErrorCode 変数と C.sys.ErrorDescription変数はエラー処理フローの実行前にクリアされます。エラー処理フロー内では、C.sys.LastErrorCode変数、C.sys.LastErrorDescription変数、C.sys.LastErrorInfo 変数の値は直前のエラー発生時の値を保持しているので、これらの変数をエラーフローの実行時に使用することができます。

関連トピック：

データマッパーのデータベース送り先

DB トランザクション レベル


データマッパーのデータベース送り先

データベース送り先を含むデータマッパステップを使用して動作する場合、動作が異なります。Magic xpiは、まず最初にステップレベルのエラー処理フロー(データベーススキーマの［プロパティ］ペインの［エラー処理フロー］プロパティ)を検索します。このフィールドから各送り先レベルでエラー処理フローを選択することができます(各データベース 送り先毎に異なる例外処理フローを設定することができます)。この設定によりエラー処理フローが呼び出される際に、エラー処理フローのフロー変数に、元フローで失敗したステートメントから特定の値を受け渡すことができます。

エラー処理フローがこのプロパティから呼び出されると、エラー処理フローは特定の値を失敗したステートメントからエラー処理フローのフロー変数にマッピングすることもできます。

ノードの［プロパティ］ペインで、データベースを使用して動作する場合、［ログエラー］プロパティを使用することができます。ここでは、エラー処理フローの入力データを受け入れるフロー変数を選択することができます。

以前に、エラー処理フローに入力データを受け入れたフロー変数を定義したことを確認してください。


DB トランザクション レベル

データマッパーでデータベース送り先とDBトランザクションレベルを使用するように定義した場合、以下のようなエラー処理が実行されます。

エラー動作 | DBトランザクション レベル* | データベーススキーマの動作 | JDBCスキーマの動作
終了(Exit) | マッパ(Mapper) | 全レコードがロールバックされます | 全レコードがロールバックされます。
継続(Continue) | マッパ(Mapper) | ロールバックされません。レコード処理は継続されます(すべての送り先のエラーレコードを除きます）。 | ロールバックされません。レコード処理は継続されます(すべての送り先のエラーレコードを除きます）。
終了(Exit) | レコード(Record) | エラーが発生する以前の全レコードが保存されます。 | デッドロック状態が検出されるとステップの実行は停止します
継続(Continue) | レコード(Record) | ロールバックされません。レコード処理は継続されます(すべての送り先のエラーレコードを除きます）。 |
終了(Exit) | オートコミット(Auto Commit) | エラーが発生したレコードを除き、全レコードがコミットされます。 | 実行時にオートコミットはサポートされません
継続(Continue) | オートコミット(Auto Commit) | エラーが発生したレコードを除き、全レコードがコミットされます。さらにデータマッパーは後続のレコードの処理を継続します。 | 実行時にオートコミットはサポートされません

データベーストランザクション·レベルの詳細については、こちら をクリックしてください。

  • データベースを送り先として使用しているデータマッパーが存在するフロー内でエラーが発生し、フローにエラー処理フローが設定されていた場合(データベースを使用していないステップでエラーが発生しても)、エラーフローはエラーが発生するとただちに呼び出されます。データベースを送り先として使用しているマッピング処理は、エラー処理フローが完了するまで後続の処理は実行されません。この場合、エラーコードやエラー説明の内容を失わないよう、エラー処理フロー内でログファイルを作成することができます。

  • トランザクションがすでにオープンされている場合、データマッパーはこのトランザクションに統合され、［DBトランザクションレベル］の値を無視します。

  • レコードダイナミックオプションはJDBCスキーマではサポートされません。(Since version: 4.13.3)


エラー ポリシ

エラー処理フローが定義されていない場合、あるいはエラー処理フロー内の最終ステップでC.sys.ErrorCode 変数とC.sys.LastErrorComponentType 変数の値を更新した場合、Magic xpiは、エラーが発生したフロー内のエラーポリシーを検索します。

エラーコードを更新する場合、その値はC.sys.LastErrorComponentType 変数内に定義されたコンポーネントコードでなければなりません。

エラーコードがコンポーネントに定義されていない値の場合、エラー24の一般エラーに属する： エラーコード[数値]は選択したコンポーネントに存在しません(Error Code [code number] does not exist for the selected component) という別のエラーが発生します。

エラーポリシーは［エラーポリシー］リポジトリ内で定義します。関連したフローの下でエラーポリシーをダブルクリックすることでアクセスすることができます。

この画面で、エラーポリシー (Abort、Ignore、Restart Flow、Retry、Jump) を特定のエラー番号、あるいはエラー番号の範囲で設定することができます。

エラーポリシーはフロー毎に設定することができます。たとえば、Flow 1でemailのエラーポリシーを Abort に設定し、Flow 2では同じエラーポリシーを Ignore に設定することもできます。

カラム From およびTo の [image] ボタンをクリックすることで、［エラーリポジトリ］ダイアログが表示されます。この画面で Magic xpiの各コンポーネントに組み込まれたすべてのエラーコードを確認することができます。独自のコンポーネントを開発した場合は、このリストにエラーコードを追加しなければなりません。

以下の手順で Magic xpiにエラーを追加します:

  1. ソリューションエクスプローラの［リポジトリ］セクションから、エラーを選択してください。［エラー］リポジトリが開きます。

  2. リポジトリのトップにある［コンポーネント］ドロップダウンリストから、ユーザエラーを選択します。

  3. ［追加］をクリックします。

さらに定義されている各エラー内容で管理者に対しエラー通知を行うよう設定することができます(email アドレスは、［プロジェクトプロパティ］ダイアログボックスの［ Send Error Email To］プロパティで設定します)。

関連トピック：

エラーポリシーオプション


エラーポリシーオプション

以下のオプションが用意されています。

  • アボート（Abort） …… 現在のフローを停止し、アボート処理を実行します。

  • 無視（Ignore） …… エラーの発生を無視し、フローの処理を継続します。

  • フロー再起動（Restart Flow） …… フローを最初のステップから再起動します。

  • リトライ（Retry）: …… 現在のステップを再実行（リトライ）します。IFS.iniファイルの StepRetryLimit= 値 の設定により、エラーポリシーオプションにリトライが選択された際の Magic xpiサーバが再実行（リトライ）する回数を指定することができます。デフォルトは3となります。
    StepRetryDelayTnSec= flagを使用して、リトライ間での遅延をコントロールすることができます。制限値にステップを実行しているMagic xpiサーバなしで達した場合、最後のエラーはc.sys.ErrorCodeコンテキスト変数に保存されます。エラーがStepRetryClearError= flagを使用して変数から消去されるかどうかにかかわらず、コントロールすることができます。.

  • ジャンプ（Jump） …… 他のステップ（フローのエラーリポジトリのステップで指定した)に移動します。ジャンプを使用することで通常はアクセスしないフローのセクションに処理を飛ばすことができます。フロー内に実行条件がFalseの分岐を作成することができ、ジャンプを使用したときのみ実行させることができます。
    ジャンプを使用すると、そのステップから処理が継続され、エラーが発生したステップ以降は継続されません。

Magic xpiには、アボートフローユーティリティも用意されています。このサービスを使用することでフローロジックの一部として意図的にフローの実行を中止させることができます。またアボートフローユーティリティにはアボート後、フローを自動的に再起動するオプションも用意されています。

フローがアボートした後、クリーンアップリカバリーフローが実行されます(指定されている場合)。


ステップでのエラー処理

ステップの実行条件によってエラーコードをチェックすることで、エラー処理を行うこともできます。親ステップでエラーが発生すると、C.sys.ErrorCode変数には次ステップの実行条件の判断時にはエラーコードが格納されていますが、次ステップの処理開始時にクリアされます。

特定のステップでエラーを受け取り、処理をしたい場合、次ステップの実行条件でエラー変数を使用します。

エラーコードの値は、エラーリポジトリ(ソリューションエクスプローラの［リポジトリ］セクション > エラー)で確認することができます。

関連トピック：

エラー処理変数


エラー処理変数

Magic xpiにはプロジェクト内のフローのエラー処理に使用できる変数が用意されています。

  1. 以下の変数はステップの処理が完了すると、値がクリアされます。:

  • C.sys.ErrorCode …… サーバでステップが実行される度、ステップにエラーが発生すると C.sys.ErrorCode 変数にはエラーコードが設定されます。この変数の値はステップの処理が完了すると、一旦クリアされます。

  • C.sys.ErrorDescription …… サーバでステップが実行される度にステップでエラーが発生すると C.sys.ErrorDescription 変数にはエラー内容（説明）が設定されます。この変数の値はステップの処理が完了すると、クリアされます。

  2. 以下の変数（Last付変数）はステップの処理が完了しても値はクリアされません。

  • C.sys.LastErrorFlowName …… サーバでステップが実行される度、ステップにエラーが発生すると C.sys.LastErrorFlowName 変数にはエラーが発生したフローの名称が設定されます。

  • C.sys.LastErrorStepName …… サーバでステップが実行される度、ステップにエラーが発生すると C.sys.LastErrorStepName 変数にはエラーが発生したステップの名称が設定されます。

  • C.sys.LastErrorInfo …… エラーに関する詳細情報が設定されます(例：SQL文)。

  • C.sys.LastErrorCode …… サーバでステップが実行される度、ステップにエラーが発生すると C.sys.LastErrorCode 変数にはエラーコードが設定されます。

  • C.sys.LastErrorDescription …… サーバでステップが実行される度、ステップにエラーが発生すると C.sys.LastErrorDescription 変数にはエラー内容（説明）が設定されます。

  • C.sys.LastErrorComponentType …… サーバでステップが実行される度、ステップにエラーが発生すると C.sys.LastErrorComponentType 変数にはエラーが発生したコンポーネントタイプ（コンポーネントID）が設定されます。コンポーネントIDはコンポーネント リポジトリ（プロジェクトメニュー > コンポーネント）で確認することができます。

上記のこれらの変数はコンテキスト変数であり、グローバル変数ではありません。このためフローが並列で実行されている場合、その値は各フロー内で異なります。

各コンポーネントには個別のエラー コードが設定されています。エラーを発生させたい場合、C.sys.ErrorCode のエラー番号と C.sys.LastErrorComponentType に関連するコンポーネントタイプ（コンポーネントID)を必ず更新しなければなりません。


追加シナリオ

以下のセクションでは、 Magic xpiでエラーが発生した場合の処理に関する補足事項について説明しています。

関連トピック：

データベーストランザクションとエラー処理

呼び出されたフローでのエラー処理

トリガでのエラー管理

XMLインタフェースでの複数オペレーション

Magic xpi モニタに送信するエラーメッセージの制御

データマッパーユーティリティと様々なコネクタのデバッグ

UDSとデータベースの組み合わせのエラー

.NET Utilityのエラー


データベーストランザクションとエラー処理

フロープロパティの［DBトランザクション］をYes に設定すると、フロー内に含まれるデータベースに接続するすべてのデータマッパステップがトランザクションに追加されます。その際、フロー内で使用しているすべてのデータベース(リソース)を選択しなければなりません。同一コンテキスト内で特定のデータベースのみをトランザクションから除外するオプションはありません。特定のデータマッパステップをトランザクションから除外したい場合は、除外したいステップをパラレルステップとして実行させなければなりません。

  • 各データマッパステップのエラー動作が継続に設定されている場合、1レコードのみロールバックされ、後続の処理は継続されます。しかしフローの実行時にクラッシュした場合、トランザクション内のすべてのデータベースオペレーションはロールバックされます。

  • 各データマッパステップのエラー動作が終了に設定されている場合、トランザクション内のすべてのデータベースオペレーションはロールバックされ、フローは停止します。さらにこのデータマッパステップが親フローにより呼び出されると、呼び出し元フローの実行も停止します。

  • ダイナミックを選択すると、エラーフローがエラーで終了すると、ステップ実行は直ちに終了します。エラーフローがエラーをクリアすれば、フローは継続されます。

フロートランザクション

フロートランザクションは論理ユニットであり、フローライフサイクルの以下のエントリがトランザクションの一部として含まれています。

  • フロートランザクションの中で定義されている全てのデータベース

  • データベース定義を使用し、トランザクションの外部で定義されるマッパーステップ

  • トランザクションが適用されているフローとして呼び出される全てのサブフロー

これらの3つのエンティティは、トランザクションの論理ユニットを構成するため、コミットまたはロールバックは、フロートランザクションに関係するデータベースに限らず、上記の3つのエンティティに関係するすべてのデータベースに適用できます。

  • レコードダイナミックオプションはJDBCスキーマではサポートされていません。

  • フローレベルのトランザクションが有効になっているときにデッドロック状態が検出されると、ステップの実行は停止します。

  • あるシナリオでは、レコードがデータベースにコミットされていても、「フローのロールバックDBトランザクション」エラーメッセージがアクティビティログに表示される場合があります。 このメッセージは無視できます。

  • JDBCデータコネクタとコールフロースキーマが同じマッパーステップで構成され、DBトランザクションレベルがマッパーに設定されている場合、子フローでエラーが発生した場合、親フローと子フローのデータはロールバックされるのではなくコミットされます。

  • フローレベルで適用されたトランザクションは、コミットされるか、またはトランザクションが開始された場所にロールバックします。 ロールバックの結果として、現在のランタイムスレッドのメインフローとネストされた全てのフローがアボートされます。

  • マルチフローとしてデザインされている場合、エラーフローは実際にエラーが発生するフローで定義する必要があります。 たとえば、子フローでエラーが発生する場合は、エラーフローはメインフローではなく子フローで定義する必要があります。

  • エラーポリシーはメインフローで定義することを推奨します。


呼び出されたフローでのエラー処理

データベースエラー

以下の図にあるように、あるフロー(Flow 1)でトランザクションがオープンされており、それか他のフロー(Flow 2)を呼び出す場合、トランザクションはFlow 2全体で有効となります。従って、Flow 2でエラーが発生した場合、 Magic xpiはFlow 2をアボートし、Flow 1に戻ります。

もしデータマッパーの［DBトランザクションレベル］パラメータがマッパに設定されている場合、トランザクションはデータマッパーが開始する前にオープンされます。従って、呼び出されたフローでエラーが発生した場合、データマッパーはエラーで処理を終了します。上位レベルのステップでトランザクションがオープンされているため、［エラー動作］パラメータで終了あるいは継続に設定されても無視されます。

非データベースエラー

ソース側でフラットファイル、送り先でフロー呼出を設定した場合、呼び出されたフローが非データベースエラー(たとえばアボート)で終了した場合、データマッパーは ［エラー動作］パラメータで指定されている内容に従い、以降の処理を行います。

フラットファイルの場合は、終了、継続のどちらを設定しても次レコードの処理が行われます。継続が選択された場合、データマッパーの呼び出しは、エラーで終了した各呼び出しフローに対してエラーフローを起動しません。終了が選択された場合、呼び出したデータマッパーは呼び出されたフローからエラーを返して処理を終了します。

これが Magic xpiの標準的なエラー処理動作となります。


トリガでのエラー管理

トリガでエラーが発生すると、フロープロパティで指定するエラーフローが呼び出されます。

C.sys.InvokingComponentName 変数にはトリガ名が設定され、C.sys.InvokingFlowName 変数にはトリガにより起動されたフロー名が設定されます。


XMLインタフェースでの複数オペレーション

データマッパステップでの複数オペレーションについては、すでに説明されています。

SalesforceやSharePointのようなXMLインタフェースでの複数オペレーションをサポートしているコンポーネントでは、コンポーネントから返されるエラーは最終オペレーションの情報です。複数オペレーションを実行する場合は、結果XMLを解析し、［処理成功］パラメータの値は信用しないでください。

これらのコンポーネントでは、エラーは戻りXMLの一部(XML内にエラー情報が存在する)であるため、各オペレーション毎にエラーは発生しません。エラーを調べるには、XMLを解析しなければなりません。C.sys.LastErrorInfo 変数にはエラー情報は設定されません。


Magic xpi モニタに送信するエラーメッセージの制御

[MAGIC_IBOLT]MonitorLogLevel =* All

Magic xpiのifs.iniファイル内のこのフラグを設定することでモニタにエラーメッセージを出力するか否かを設定することができます。このフラグの値は、以下のどれかになります。カンマ区切りで複数設定することができます。

  • User …… ログとユーザ定義メッセージのみを記録し表示します。

  • Error …… エラーを表示し、エラーコンポーネントを呼び出します。

  • Exec …… サーバの起動やフローの実行開始などの実行関連のメッセージを表示します。このスイッチには､エラーとユーザメッセージが含まれています。

  • Service …… ODSやロック、およびPSSなどのサービス関連のメッセージを表示します。

  • All …… すべてのメッセージを表示します。(フラグが存在していない場合、デフォルトになります。)

  • None …… メッセージを表示しません。

このフラグに複数の値を定義する場合、（上記のように）= の後にアスタリスク（*）を入力してください。


データマッパユーティリティと様々なコネクタのデバッグ

データマッパーユーティリティと様々なコナクタをデバッグするには：

データマッパーユーティリティと様々な他のコネクタをデバッグし、SQL文について受信したエラーにアクセスするためには、[設定]ダイアログボックスのプロジェクトの設定を使用してください(［プロジェクト］メニュー>設定>プロジェクト環境>デバッグフラグ）。

Magic xpi はログファイルを <Magic xpi インストールフォルダ>\Runtime\logsに作成します。

SAP ERPコネクタをデバッグするには：

SAP ERP コネクタをデバッグするには、<Magic xpiのインストールフォルダ>\Runtime\java\classes 内のlogback.xml ファイルで定義されているデバッグベルを変更する必要があります。

Magic xpi はログ ファイルを Magic xpi の logs フォルダに作成します。

logback.xmlファイル内の以下の2つのセクションは、SAP ERP のステップでのデバッグとトリガでのデバッグレベルを定義しています。SAP ERPコネクタをデバッグするには、赤字で示されている level value を off から debug (<level value="debug"/>)に変更しなければなりません。

SAP ERP ステップのデバッグ

<!--
sapr3 ifc logger:
should not pass messages up the hierarchy (additivity=false)
-->
<logger name="magicxpi.component.sapr3.step" additivity="false">
<level value="off"/>
<appender-ref ref="SapR3-Step-appender"/>
</logger>

SAP ERP トリガのデバッグ

<!--
sapr3 Trigger logger:
should not pass messages up the hierarchy (additivity=false)
-->
<logger name="magicxpi.component.sapr3.trigger" additivity="false">
<level value="off"/>
<appender-ref ref="SapR3-Trigger-appender"/>
</logger>


UDSとデータベースの組み合わせのエラー

UDS と データベースの組み合わせでは、送り先の定義順序で動作が決まります。

  • UDS がデータベースより先に定義されている場合でデータベースでエラーが発生した場合、UDSにレコードが追加されます。

  • データベースが先に定義されている場合:

    • ［エラー動作］が終了に設定されている場合、レコードはUDSに追加されません。

    • ［エラー動作］が継続に設定されている場合、レコードはUDSに追加されます。

この動作はUDSとデータベースの組み合わせに限定される動作です。例えば、送り先の組み合わせがデータベースとフラット ファイルだった場合、データベースの定義が最初に行われている場合でも、レコードは常にフラットファイルに追加されます。


.NET Utilityのエラー

以下の手順で .NET Utilityのエラーコードを Magic xpiに追加することができます。

  1. ソリューションエクスプローラの［リポジトリ］セクションから、エラーを選択してください。［エラーリポジトリ］が開きます。

  2. リポジトリの上部の［コンポーネント］ドロップダウンリストから、ユーザエラーを選択してください。

  3. ［追加］をクリックします。

.NETクラスのInvokeメソッドのIBFlowContext オブジェクトのErrorCode およびErrorMessage プロパティに値を設定することでエラーをスローすることができます。ErrorCode プロパティの値は Magic xpiの［エラーリポジトリ］に予め.NET Utilityのエラーとして登録されている値を設定しなければなりません。このリポジトリ内で、［コンポーネント］ドロップダウンリストから.NETオプションを選択することにより、.NET Utilityのエラーをフィルタリングすることができます。

［エラーポリシー］リポジトリで、.NETステップがスローすることができるエラーの動作を定義することができます。

コンテキスト変数である C.sys.ErrorCode と C.sys.ErrorDescription は以下の手順で更新されます。

  1. ErrorCode と ErrorMessage の両方を .NET側で更新すると、 Magic xpiは上記2つのコンテキスト変数を .NET側で更新された値で更新します。

  2. .NET側で ErrorCode を更新し、ErrorMessageを更新しなかった場合、 Magic xpiは C.sys.ErrorCode 変数を.NET側のErrorCode で更新し、［エラーリポジトリ］にその ErrorCodeが定義されている場合、C.sys.ErrorDescription 変数は［エラーリポジトリ］に定義されている値で更新されます。

  3. 例外がスローされた場合、 Magic xpiは C.sys.ErrorCode 変数に 777 を設定し、C.sys.ErrorDescription 変数には.NET側でスローされた例外が設定されます。

  4. ErrorCode が［エラーリポジトリ］のユーザエラーリストに定義されていない場合、Error Code does not exist for the selected component （選択したコンポーネントにはエラーコードが存在しない）というエラーが表示されます。


クラスタリング環境での配備

このガイドは、GigaSpaces ミドルウェアを使用した高可用性なクラスタ環境でMagic xpi 4.x プロジェクトを配備する上での推薦事項とガイドラインを提供しています。このガイドでは、高い冗長性と、セキュアでスケーラブルな環境を提供するうえで必要なトピックを扱っています。

以下の図は、3台のアプリケーションサーバと1台のデータベースサーバ、1台のフロントエンドのWebサーバと共有ファイルシステム（SMB）ストレージをもつ小規模のサーバークラスタをインストールして構築するための構成例を示しています。

サーバのインストール

推奨される配備方法は、Magic xpi4.xをクラスタ（上の例のAPP1、APP2とAPP3）に参加している各ノード上にインストールすることです。プロジェクトは、共有ネットワークフォルダに配備する必要があります。また、内部データベースは別のPCに配備することも推奨されます。

アプリケーションサーバ以外に、2台のPCを検索サービス（LU）サーバとして割り当てる必要があります。これら2台のPCは、クラスタに対して名前解決サービスを提供します。

LookupLocatorsとLookupUpdatorsは、インストール後に手動で更新できます。 その場合、<Magic xpi Installation> \ Tools \ MgxpiLookupUpdatorフォルダーに移動し、MgxpiLookupUpdator.exeを実行します。

関連トピック：

インストール概要

ファイアウォールの設定

プロジェクトの配備

Web リクエスタとSOAPサーバの配備

スペースクラタリングSLA

Spaceの配備

SpaceクラタリングSLA

クラスタモードでのGS or XAP の構成

Split-brain 状態を理解する

ライセンス


インストール概要

サーバのインストールには、以下の手順を必要とします。

  • 配備アーキテクチャーを理解します。

  • インストールの必要条件を確認し準備します。

  • セットアップウィザードを使用してMagic xpi4.xサーバを各アプリケーションサーバ上にインストールします。セットアップ処理中にサーバの起動と初期設定が行われます。

  • セットアップウィザードの設定処理の後処理を実行します。

  • 共有フォルダにプロジェクトを配備して、プロジェクトの開始を設定します。

  • オプションとしてWebリクエスタとSOAPサーバを配備します。


インストール条件

インストールする前に、以下の必要条件を確認してください。

  • 各アプリケーションサーバ上で、ローカルまたは管理者ユーザ（すなわちMagic xpiの管理ユーザ)に適切な権利が定義されます。Magic xpiの管理ユーザは、サービスとして実行する権利があります。

  • データベース管理者ユーザ(すなわちMagic xpi管理者DBユーザ)は、データベースサーバ上に適切な許可を持つように定義されます。Magic xpiの管理者DBユーザは、データベースとテーブルを作成するために許可を持つ必要があります。

  • データベースサーバのユーザ(すなわちMagic xpiサーバのDBユーザ)はデータベースサーバ上に適切な許可を持つように定義されます。Magic xpiサーバのDBユーザは、データベースとテーブルを作成するためではなく、それらにアクセスするためだけの権利が必要です。

  • すべてのアプリケーションサーバはネットワークアクセスを行い、共有プロジェクトフォルダにアクセスするために、Magic xpiの管理ユーザとして読込／書込の権利を持っています。

  • すべてのアプリケーションサーバは、データベースへのネットワークアクセスが可能で、Magic xpi DBユーザを使用して、データベースと接続することができます。

  • すべてのアプリケーションサーバは、検索ポートとLRMIポートを通して互いに通信することができます。

クラスタの適切な処理のために、すべてのホストのクロックは同期していなければなりません。


セットアップウィザードの手順

各アプリケーションサーバ上で、インストールメディアからセットアッププログラム(setup.exe)を実行してください。ここで、同様なオプションは他のプラットフォームでも利用できますが、Windowsのセットアップ画面で説明します。

  1. セットアップダイアログボックスに従って行います。

  2. ［セットアップタイプ］ダイアログで、カスタムを選択してください。

  3. ［機能選択］ダイアログでは、クラスタ内のホストの一つだけで、［モニタ］チェックボックスを選択してください。これによって、Magic モニタサービスをホストマシンにインストールします。同じ画面で、すべてのアプリケーションサーバーセットアップ上の［Systinet Web Service Framework］チェックボックスをクリアにしてください。これによって、フロントエンドのWebサーバに個別にインストールされます。

  4. ［GigaSpaces設定］ダイアログで、以下のオプションを選択してください。

    1. ［グリッドサービスエージェントをサービスとしてインストール］のチェックボックスを選択してください。

    2. ［開発PC］のチェックボックスをクリアにしてください。

    3. ［次のロケータ（ユニキャスト）を使用する］フィールドで、LUSサーバとして指定した2つのアプリケーションサーバのアドレスをカンマ区切りで入力してください。

    4. ［GSC番号］フィールドには、2を入力してください。［GSCメモリ割り当］フィールドには、1024を入力してください。

    5. LUSサーバとして指定した2つのアプリケーションサーバのうちの1つでセットアップを実行する場合は、［LUSとして実行］のチェックボックスを選択してください。

    6. ［パーティションの数］フィールドには、2を入力してください。そして、［パーティションバックアップ］のチェックボックスを選択してください。

  5. データベースをインストールするように要求された場合、以下のオプションを選択してください。

    1. インストールする最初のアプリケーションサーバ上で、［データベーステーブル行をビルドするスクリプトを実行］のチェックボックスを選択してください。

    2. その次のセットアップでは、他のアプリケーションサーバ上では、［データベーステーブル行をビルドするスクリプトを実行］のチェックボックスをクリアにしてください。

    3. 最初のアプリケーションサーバ上で、データベースサーバとMagic xpiの管理者DBユーザ(ユーザやデータベース、テーブルを作成する）を入力してください。


インストール後の設定手順

Windowsサービスユーザの設定

全てのアプリケーションサーバで、［コントロールパネル／管理ツール］内の［サービス］を開き、プロジェクトで必要するすべてのリソースにアクセスすることができる十分な権利を持つ、サービスユーザをMagic xpaの管理者ユーザに変更します。このユーザには、共有されたプロジェクトフォルダに対して読込及び書込の権利がなければなりません。

内部データベースの設定

最初のもの(セットアッププログラムによって、すでにこのプロパティを設定した)を除いたすべてのアプリケーションサーバで、最初にインストールされたサーバと一致するように、<Magic xpiのインストールフォルダ>\Runtiem\config\datasource.xmlファイルを修正してください。

サーバライセンスのインストール

Magic xpaは、実行するためのライセンスを必要とします。

  1. 購入後に受け取ったライセンスファイルをコピーして、それを全てのサーバ、または、共有フォルダにコピーしてください。

  2. 3つのすべてのサーバで、[MAGIC_ENV]LicenseFileのエントリが共有されたライセンスファイルを指定するようにMAGIC.INIファイルを修正してください。.
    例： LicenseFile =\\10.1.1.6\licenses\License.dat

  3. プロジェクトのifs.iniファイルが製品ライセンス(すなわちWindowsの場合、[MAGIC_ENV]LicenseName = IBPRSRVI)として設定されていることを確認してください。

ライセンスファイルは、クラスタ内の一つのホスト上で動作している必要があり、このホストは１つのMagic xpiエンジンを起動する必要があります。このエンジンによってライセンスがSpaceにロードされたら、クラスタ上の他のエンジンでも使用するることができます。

複数のネットワークカードを設定（オプション）

アプリケーションサーバに複数のネットワークカード（NIC）が設定されている場合、以下のようにMagic xpi4.xサーバで特定のNICを使用するように設定してください。

  1. NICに割り当てられたIPアドレスまたは、NICの名前を保持するために<Magic xpi のインストールフォルダ>\Runtime\GigaSpaces-xpi\bin\magicxpi-setenv.batファイル内のNIC_ADDRの値を変更してしてください。例：NIC_ADDR=10.1.1.11、またはNIC_ADDR="#eth0:ip#"（"eth0"は、NICの名前）。.

ヒント：

<Magic xpiインストールフォルダ>\Runtime\GigaSpaces-xpi\bin\platform-info.bat -verbose のスクリプトを実行し、［Network Interfaces Information］セクションのIPアドレスか名前、または<Magic xpiインストールフォルダ>\Runtime\GigaSpaces-xpa\logs フォルダ内に作成される GSAログの一つを見ることでNICのIPアドレスや名前を確認することができます。.

Network Interfaces Information と呼ばれるセクションを捜してください。

  2. NIC_ADDRの値をMagic.iniファイルの［jvm_args］セクションに次のように追加してください。-Djava.rmi.server.hostname=<NICの IP アドレス>

ホスト名またはIPアドレスは、引用符で囲まないでください。


ファイアウォールの設定

このトピックでは、GigaSpacesインフラのための固定のポートを設定するために必要な変更について説明しています。

このドキュメント中でカバーされている3つのノードを持つクラスタにおいて、推薦設定は、LRMI_PORT_RANGEを有効にするためポートの固定範囲を設定し、WEBSTER_PORTプロパティで固定ポートを定義することです。以下に説明されているように、それらはファイアウォールで開いているポートになります。

有効にする必要のある設定が３つあります。

  1. DISCOVERY_PORT…… ディスカバリ待ち受けポート

  2. LRMI_PORT_RANG–…… LRM（グリッドコンポーネント間の内部の通信のためのプロトコル）のためのポートの範囲

  3. WEBSTER_PORT ……リクエスタとクラスタの間だけでなく、クラスタノード間でもファイアウォールを使用したい場合は、このポートを設定する必要があります。 (Since version: 4.5).

これらの設定は、magicxpi_setenv.batファイル(<Magic xpiインストール>\Runtime\Gigaspaces-xpa\bin フォルダ)で行います。デフォルトは無効になっています。設定は、個別に行うことができます。これは、例えば、デフォルトのディスカバリポートとウェブスターポートを維持したい場合、LRMIのためにポートの範囲を設定したいだけであれば、LRMI設定だけを有効にすることで済むことを意味しています。

ディスカバリポートがGigaSpacesのデフォルトポート（XAP 10.0の場合は4175）以外に設定されると、定義されたポートを使用するロケータの値も変更する必要があります。

最も一般的なシナリオは、WebリクエスタまたはDMZにおけるWeb Serviceリクエスタだけを使用してファイアウォールの背後のすべてのGigaSpacesエンティティを持つことです。ファイアウォールの設定は次の通りです。

  1. すべてのGigaSpacesノードは、ユニキャストのディスカバリポートで設定されるべきであり、マルチキャストは無効にする必要があります。詳細については、ここをクリックしてください。

  2. ディスカバリポートやLRMIの範囲、およびウェブスターポートは静的に設定してください。.

  3. 入力トラフィックに対するファイアウォールのルールは、定義済みのリスナポートごとにオープンするTCPポートを含める必要があります。

  4. ポート番号の範囲は、1024から65536未満にしてください。未割り当てのポートのみ利用できます。7100以上の見割り当てのIANA範囲です (7102-7120, 7130-7160, 7167-7173, 7175-7199, 7228-7271, 7282-7299, 7366-7390..., 47558-47623, 47625-47805, 47809-47999, 48004-48127, 48620-49150)


プロジェクトの配備

プロジェクトフォルダの位置

すべてのアプリケーションサーバでアクセス可能な共有フォルダにMagic xpiプロジェクトを配備することを推奨します。共有フォルダは、障害ポイントの一つになある可能性がありますが、今日のストレージシステムによって、このタイプのリソースは、通常はそれ自身が高い冗長性を持っています。

プロジェクトの配備

プロジェクトの配備は、開発/運用の各環境で明示された共有フォルダの位置に各プロジェクトのフォルダをコピーする作業を伴います。外部リソース(データベースやエンタープライズシステムなど)との接続を持つプロジェクトのために、関連したサーバ接続や証明書を持つ［設定］ダイアログボックスの［リソース］または［サービス］の各セクションを使用して、構成を編集する必要があるかもしれません。

プロジェクトの自動起動の設定

Magic xpiサービスがMagic Spaceを配備する時に、自動的にプロジェクトとサーバを開始するようにMagic xpiに指示するprojectsStartup.xmlと呼ばれるファイルを作成することができます。

projectsStartup.xmlファイルの構造は、各プロジェクトの配下に作成される start.xmlの構造と同じです。

  1. configフォルダにある start.xmlファイルまたはprojectsStartup.xml.exampleファイルのコピーを作成してください。

  2. 必要な修正を行い、それをprojectsStartup.xmlと名付け、configフォルダに保存してください。

グリッドの開始手順は以下の通りです。

  1. グリッドサービスエージェント(GSA)は、グリッドの一部である各アプリケーションサーバ上のサービスとして開始されます。一緒にすべてのアプリケーションサーバを接続するために、グリッドサービスエージェントは中心的なグリッドインフラストラクチャーを開始します。

  2. 正常位起動されたGSAの1つは、Magic Spaceを配備します。このMagic Spaceは、グリッドにまたがって共有されるすべてのMagic xpa関連のオブジェクトを含んでいます。

  3. 同じGSAはまた、各サーバのためにServerDataオブジェクトを作成するように、Magic Space 内にprojectsStartup.xconfig 情報を配備します。これによって、プロジェクトが自動的に開始することができるようになります。

  4. Magic xpiエンジンを起動するために、GSAはSpaceからコマンドを受け取ります。これは、配備と自動起動処理の一部としてSpaceで作成されたServerDataオブジェクトのリストに基づきます。

  5. 展開される各プロジェクトに対して、起動される最初のMagic xpiサーバは、プロジェクトが開始することができるようにMagic Space内のプロジェクトのメタデータオブジェクトを開始することに責任があります。

projectsStartup.xmlファイルの例

Demo1と呼ばれるサンプルプロジェクトの起動設定を定義するprojectsStartup.xmlファイルのサンプルを参照する場合は、ここをクリックしてください。

<Magicxpi_Startup>

       <Projects>

              <Project Name="Demo1" ProjectsDirPath="\\10.1.1.6\projects">

                     <Servers>

                           <Server host="APP1" alternateHosts="APP2,APP3">

                           <NumberOfWorkers>5</NumberOfWorkers>

                           <NumberOfInstances>1</NumberOfInstances>

                           <Triggers load="true"/>

                           <Scheduler load="true"/>

                           <AutoStart load="true"/>

                           </Server>

                           <Server host="APP2" alternateHosts="APP1,APP3">

                           <NumberOfWorkers>3</NumberOfWorkers>

                           <NumberOfInstances>1</NumberOfInstances>

                           <Triggers load="false"/>

                           <Scheduler load="false"/>

                           <AutoStart load="false"/>

                           </Server>

                           <Server host="APP3" alternateHosts="APP1,APP2">

                           <NumberOfWorkers>5</NumberOfWorkers>

                           <NumberOfInstances>1</NumberOfInstances>

                           <Triggers load="true"/>

                           <Scheduler load="false"/>

                           <AutoStart load="false"/>

                           </Server>

                     </Servers>

              </Project>

</Magicxpi_Startup>

このサンプルファイルは、以下の設定を行います。

  • プロジェクトの共有フォルダは、\\10.1.1.6\projects.

  • プロジェクトフォルダは、\\10.1.1.6\projects\Demo1.

  • 各アプリケーションサーバは、1つのサーバプロセス/インスタンスを開始します。

  • APP1、5つのワーカを開始し、すべてのトリガ、自動起動、およびスケジューラを実行します。

  • APP2は、どのようなトリガも読み込まず、どのような自動起動フローも実行せず、そしてスケジューラを実行せずに3つのワーカを開始します。

  • APP3 APP3は、トリガによって5つのワーカを開始しますが、自動起動またはスケジューラはありません。

  • 各アプリケーションサーバは、2つの他のアプリケーションサーバを示すようにalternateHostsプロパティを設定します。これは、ホストの1つが利用できない場合、このホストで実行するように定義されたサーバが他の定義されたホストの1つで実行できるようにするためです。

共有されたプロジェクトフォルダは、ProjectsDirPath属性を使用して設定されます。すべてのアプリケーションサーバで同じフォルダを定義するか、各サーバがローカルなプロジェクトフォルダにアクセスできるようにしてください。

各トリガがエンジンの間で、トリガをどこで実行し分割するかを定義することもできます。 Since version: 4.1

Magic モニタにGigaSpacesの設定を行う

Magic モニタは、runwebmonitor.batファイル(<Magic xpiインストールフォルダ>\Runtime\RTView\magicmonitor フォルダにあります)に定義された設定を使用して、Spaceを位置付けます。

コマンドラインでプロジェクトを開始する(オプション)

プロジェクトは、コマンドラインで開始することができます。コマンドラインからプロジェクトを開始するには。

  1. プロジェクトのフォルダで［開始］リンクを開いてください。

  2. 右クリックして［プロパティ］オプションを選択してください。

  3. ［ターゲット］フィールドを見つけてください。フィールド内のテキストはこのように表示されるはずです。

    "D:\Magic xpi\Magic xpi 4 GS 11_12\MgxpiCmdl.bat" start-servers -startup-config-file "D:\Magic xpi\Magic xpi 4 GS 11_12\projects\Project1\start.xml" -Space-name "MAGIC_SPACE" -group "Magicxpi-4.0.0_AVIW-7-LP" -locators ""

  4. このパスは、プロジェクト配下の特定の start.xmlファイルを示しています。複数のプロジェクトを読み込むことができるように、異なるstart.xmlファイルを読み込むようにパスを変更してください。

  5. OKをクリックしてください。

異なる名前で同じプロジェクトを実行する

プロジェクトファイルの名前を変更してコピーする古い方法は廃止されました。Since version: 4.5

Studioメニューの[別名で保存]のみがサポートされます。この方法でないと、プロジェクトが破損する可能性があります。

Since version: 4.1


Web リクエスタとSOAPサーバの配備

以下で図で表示された構成は、WebとSOAPサーバがDMZファイアウォールにあるフロントエンドのサーバ上で個別に配備されています。このサーバは、異なる設定手順が必要となります。

必要条件

  • Webリクエスタは、IIS7が必要です。

  • Java Webリクエスタは、Apache Tomcat7以上が必要です。

インストール

DMZに置かれたWeb サービスサーバ上で、以下の構成でMagic xpiをインストールしてください。

  1. ［データベース］設定で、後でインストールするデータベースを選択しておいてください。

  2. ［Webサーバフレームワークをインストールする］チェックボックス(プロジェクトへのSOAPアクセスが必要ならば)を選択してください。

  3. ［グリッドサービスエージェント（GSA）をサービスとしてインストールする］チェックボックスをクリアします。

  4. フロントエンドのサーバがSpaceと接続できるようにするために、残りのアプリケーションサーバのために定義したロケータに対して、同じ値を定義してください。

これらの構成は、Web ServiceリクエスタとSystinet SOAPサーバがSpaceと通信することができるようになります。

Magic xpiサービスがこのマシン上で実行していないので、外部のリクエスタを処理するために使用されるだけで、グリッドコンポーネントまたはMagic xpiエンジンのどれも実行しません。

Java Web リクエスタ

Magic xpi4.0a において、Java Webリクエスタは、”Magic xpi - Java-Based Installation Instructions.pdf.”と呼ばれるreadme PDFファイルに含まれている手順に従ってください。このPDFは、以下にインストールされています。

<Magic xpiインストールフォルダ>\Runtime\Support\JavaWebRequester\Tomcat


SpaceクラタリングSLA

Spaceクラスタリングは、Spaceパーティションの数、パーティションバックアップの数、およびこれらが有効なグリッドコンテナ（GSC）上に展開する方法を実行します。

このドキュメントでカバーされている3つのノードを持つクラスタでは、それぞれ1つのバックアップを持ち、最小の2つのパーティションを持つSpaceを配備することを推奨しています。さらにSLAは、パーティションおよびそのバックアップが同じホストの配下にないように設定する必要があります。MAGIC_SPACE SLAは、このように設定されています。

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:os-sla="http://www.openspaces.org/schema/sla" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.openspaces.org/schema/sla http://www.openspaces.org/schema/8.0/sla/openspaces-sla.xsd">

<os-sla:sla cluster-schema="partitioned-sync2backup" number-of-instances="2" number-of-backups="1" max-instances-per-machine="1">

</os-sla:sla>

</beans>

SpaceクラスタリングはSLA定義によって制御されます。これは、グリッドがSpaceを配備する時、常に定義されたクラスタリングを維持しようとすることを意味しています。

クラスタリングSLAは、configフォルダに置かれた2つのSLAファイルで定義されます。

  • MAGIC_INFO Spaceクラスタリングはmagicinfo_sla.xmlファイルで定義されます。

  • MAGIC_SPACE Spaceクラスタリングは、magicxpi_sla.xmlファイルで定義されます。

またconfigフォルダに置かれたdatasource.xmlファイルは、データベースにJDBCの接続詳細が含まれていて、両方のSpaceで使用されます。

デフォルトでは、SLAファイルは、1つのバックアップを持つ2つのパーティション（各4つ）を定義します。プライマリパーティションとそのバックアップパーティションが同じプロセスで動作することがないように制限されまています。

SLA定義に従うグリッドのために、十分なGSCを定義する必要があります。

上記のデフォルト構成中では、プライマリパーティションが同じプロセスのそのバックアップと一緒に実行することができないため、配備されたSpaceのために実行するGSCが少なくとも2つ必要になります。

最も一般的なSLA設定は、以下の通りです。

  1. cluster-schema …… これは常に partitioned-sync2backup を設定する必要があります。これはデータをパーティションに置くことができ、各パーティションがそれと同期するバックアップを持つことができることを意味します。

  2. number-of-instances …… Spaceパーティションの必要な数です。読み込まれるMagicプロセスユニットのインスタンスを意味しています。デフォルトは、1です。メモリに多くのデータがある場合、この数を増やす必要があるかもしれません。

  3. number-of-backups …… プライマ・パーティションに対するバックアップのパーティションの数です。開発中は、バックアップを必要としないため、この値を 0 に設定することができます。number-of-instances="2"とnumber-of-backups="1"の場合、Magicのプロセスユニットには4つのインスタンスが作成されることになります。

  4. max-instances-per-vm …… 同じJVM（GSC)つまり、同じプロセス内に配備される同じパーティションのインスタンス数です。現状のままデフォルト（max-instances-per-vm="1"）にしておくと、同じパーティションのプライマリとバックアップのインスタンスは同じGSC上で実行されません。.

  5. max-instances-per-machine …… これが 1 に設定された場合、プライマリパーティションとそのバックアップが同じマシン上で実行されなくなります。この値を 1 に設定すると、最低3台のマシンを含むクラスタに制限されます。そして、マシンのうちの1台が故障すると、失われたパーティションは3番目のマシンへ移ります。または、2台のマシンクラスタで使用することもできます。しかし、2番目のマシンが背後で稼働可能になるまで、バックアップなしでプライマリパーティションを持つことになる危険性があります。

ここに、SLAのいくつかの例があります。

  1. 2つのバックアップを持つ単一パーティションで、プライマリとバックアップのパーティションを個別のGSC上に置く場合は、以下のようにMgxpaGSSpace_sla.xmlファイルを設定します。

    <os-sla:sla cluster-schema="partitioned-sync2backup" number-of-instances="1" number-of-backups="2" max-instances-per-vm="1">

    上記の例は、１台のPC上に少なくとも3つのコンテナを必要とします。各コンテナには、１つのパーティションを保持します。

  • 2つのバックアップを使用することは推奨できません。この例は、GSCの必要数がどう計算されているかを説明するために示したものです。

  • ユーザは、クラスタ内の両方のマシン上のmagicinfo_sla.xmlファイルとmagicxpi_sla.xmlファイルを更新する必要があります。これが行われないと、MAGIC_SPACEが機能低下hした状態になる可能性があります。

  2. 各々1つのバックアップを持つ２つのパーティションで、プライマリとバックアップのパーティションを個別のGSC上に置く場合は、以下のようにMgxpaGSSpace_sla.xmlファイルを設定します。

    <os-sla:sla cluster-schema="partitioned-sync2backup" number-of-instances="2" number-of-backups="1" max-instances-per-vm="1">

    上記の例は、1台のPCで少なくとも2つのコンテナを必要とします。各コンテナは、2つのパーティションを保持します。

  3. 1つのバックアップを持つ２つのパーティションで、プライマリとバックアップのパーティションを個別のPC上に置く場合は、以下のようにMgxpaGSSpace_sla.xmlファイルを設定します。

    <os-sla:sla cluster-schema="partitioned-sync2backup" number-of-instances="2" number-of-backups="1" max-instances-per-machine="1">

    上記の例は、各PCに少なくとも1つのコンテナを持つ少なくとも2台のPCを必要とします。各PCでは、コンテナは2つのパーティションを保持します。2台のPCのクラスタがあり、1つのPCに障害が発生した場合、Magic Spaceの配備は不完全になり（障害発生）、障害が発生したPCが再び起動するまで、バックアップのパーティションは紛失したバックアップのパーティションに置き換わりません。

*** max-instances-per-machine ="1" の使用は、最低3台のPCを含むクラスタに制限されます。このうちの1台で障害が発生しても、紛失したパーティションは3番目のPCに移ります。

*** GSCの数はgs-agent.batファイルで定義されます。このファイルは、GigaSpaces-xpa\binフォルダにあります。gs-agent.batの呼び出しを行うコマンドの開始で、gsa.gscパラメータの次の数値を修正することによって必要なパーティションの数に合うGSCの数を定義する必要があります。


Spaceの配備

Magic xpiは、2つのSpaceとプロセスユニットを持っています。

  • MAGIC_SPACE …… このSpaceはプロジェクトのメタデータ、管理リカバリ、およびメッセージングに対応しています。

  • MAGIC_INFO …… このSpaceは、モニタとODSデータのために統計と同様にアクティビティログを保持します。MAGIC_INFO Spaceは、SpaceにないODSレコードが要求されるとデータベースから読むこともできます。 (Since version: 4.5).

  • MGMirror …… このプロセスユニット(PU)は、データベースへのアクティビティログとODSデータの書き込み操作の管理に対応しています。 (Since version: 4.5).

Magic xpi のOSサービスは、グリッドサービスエージェント(GSA)を開始します。これは、<Magic xpiインストールフォルダ>\Runtime\Gigaspaces\config\gsaフォルダから以下を順番に実行します。

  • Magic Space(MAGIC_SPACE)の配備に対応した mgdeployと呼ばれるアプリケーション。

  • MAGIC_INFO Spaceの配備に対応した mginfoと呼ばれるアプリケーション。

  • MGMirrorプロセスユニットの配備に対応した mgmirrorと呼ばれるアプリケーション。

配備プロセスは、magicxpi_sla.xmlファイルとmagicinfo_sla.xmlファイル(SpaceクラスタリングSLAのトピックで説明したように)で定義されたSLA設定を使用します。

配備プロセスは、1つのサーバの障害がMagic Spaceの処理に影響を及ぼさず、データ損失も発生しないような方法で、有効なコンテナ（GSC）上でパーティションを拡張しようとします。

このプロビジョニング処理は自動的に行われます。1回完了すると、自身で再編成することはありません。

Magic Spaceの配備処理の間は、１つのPCだけが実行していて、単一PCに関連するSLA定義（max-instances-per-machine）の制約がなければ、このPCは全てのパーティションを保持します。配備が完了した後、他のPC上で起動しているコンテナはMagic Spaceのパーティションを保持しません。そして、現在Magic Spaceを実行している単一PCは障害点とみなされるようになります。

グリッドの要素として複数のPCがある場合、Magic Spaceを実行するタイミングを制御したいと思うはずです。グリッドサービスエージェント（GSA）がロードされ、PCがグリッドの一部となる場合、Magic Spaceがすでにグリッド上にあれば 、そのPCはMagic Spaceの一部とはなりません。

1つのPCが全てのパーティションを保持している場合に、パーティションを複数のPCに展開するには、以下のオプションが利用できます。

  1. SLAで、max-instances-per-machine の制限を使用することができます。この方法は、少なくとも3台のPCのクラスタに限定されるべきであり、グリッドには少なくとも2台のPCでSpaceパーティションが実行するようにしてください。

a. magicxpi_sla.xmlファイルで、max-instances-per-machine ="1" のエントリを定義します。SpaceクラスタリングSLAトのピックで説明しています。

b. 自動配備プロセスが開始されると、少なくとも2台のPCがMagic Spaceパーティションをホストするまで、それは完了しません。

  2. Magic xpiは、同じホストで実行しているプライマリとバックアップの両方のパーティションの単一障害ポイントを自動的にモニタし、再配置することができます。定期的なチェックは、パーティションのインスタンスの再配置が必要なのかどうかを決定するために行われます。このメカニズムは、mgdeploy.xmlファイル(<Magic xpiインストールフォルダ>\Runtime\GigaSpaces\config\gsa ディレクトリ)に定義される以下の2つのプロパティによってコントロールされます。

    rebalance-partitions …… このプロパティがTrue(デフォルト)に設定される時や、定義されていない場合、再配置のメカニズムが有効になります。
    rebalance-interval ……- このプロパティは、再配置チェック間の間隔を定義します。プロパティがない場合は、デフォルトは5分になります。

    これらのプロパティは、mgdeploy.xmlファイルで以下のように定義されています。

    <argument>-rebalance-partitions</argument>
    <argument>    true</argument>
    <argument>-rebalance-interval</argument>
    <argument>    5</argument>

    Since version: 4.1

  3. GigaSpaces UIから手動でパーティションを組み替えることができます。これを行うには、Gigaspacesの［UI Hosts］タブを開き、左側の階層ツリー上位のHostsエントリにカーソルを置きます。Gigaspaces UI の右側の［サービス］ペインに、コンテナとパーティションのツリーが表示されます。次にパーティション(プライマリかバックアップのどちらか)を選択し、以下のイメージに示すように異なるコンテナにドラッグすることができます。

  4. バックアップGSCを再起動することができて、GigaSpacesはグリッドを提供します。これを行うには、以下のようにします。

a. バックアップパーティションのGSCノード上パークしてください。

b. コンテキストメニューから、［Restart］を選択してください。

以下のイメージで示すように、GigaSpacesは、バックアップコンテナを2番目のPCに配置しようとします。これはによって、アプリケーションに冗長性が提供されます。第2のPCが利用できない場合、GigaSpacesは現在のPC上にバックアップパーティションを作成します。第2のPCが再び利用できるようになっても、GigaSpacesは自動的に第2のPC上にバックアップを再配置しないかもしれません。手動で処理を実行する必要があるかもしれません。

グリッドコンポーネント－メモリアロケーション

様々なGigaSpacesエンティティに対するメモリアロケーションは、magicxpi-gs-agent.batと呼ばれるバッチファイルで定義されています。このファイルは、<Magic xpiのインストールフォルダ>\GigaSpaces-xpa\binフォルダ内にあります。

このバッチファイルの中には、［gigaSpaces Memory related settings］セクションがあります。

GSA、GSM、およびLUSエンティティは、メモリの使用量は少ないため、これらの設定はデフォルトのままにしておくことができます。GSCは、スペース・パーティションを実行するコンテナで、プロジェクト内の全てのデータを保持します。GSCに関するメモリの問題に直面した場合、この値を少なくとも1024MBに変更することを考慮してください。

GigaSpacesサービスの設定

magicxpi-gs-agent.batファイルには、以下の行が見つかるはずです。

call gs-agent.bat gsa.gsc 2 gsa.global.gsm 2 gsa.lus 1 gsa.global.lus 0 gsa.mgmirror 1 gsa.mgdeploy 1 gsa.mginfo 1

このファイルには、以下のエントリがあります。

  • gsa.gsc …… 配備するGSCの数。この値は必要なパーティションの数と一致させてください。

  • gsa.global.gsm …… グリッド上にグローバルに配備され、管理されるGSMの数。

  • gsa.lus …… ローカルで開始されるLUSの数。このエントリの値は、PCがLUSを実行することに対応しているかどうかを定義します。

  • gsa.global.lus …… グリッド上でグローバルに配備され、管理されるLUSの数。

  • gsa.mgmirror …… 配備するミラーの数。

  • gsa.mgdeploy …… 配備するMAGIC_SPACEの数。.

  • gsa.mginfo …… 装備するMAGIC_INFO Spaceの数。

GigaSpacesの構成に関する追加情報は、次を参照してください： http://docs.gigaspaces.com/xap110adm/moving-into-production-checklist.html


Split-brain 状態を理解する

Split-brainは、クラスター内の同期または通信が失われる状態です。これは、クラスター環境で発生する現象であり、クラスター内に2つ以上のノードがあり、各ノードが他のノードを認識せずに同じ要求を並行して処理しようとします。この場合、バックアップインスタンスはプライマリインスタンスのように動作を開始し、複数のインスタンスで同じリクエストを処理します。これは通常、SLAがプライマリバックアップ（同期または非同期）モードで動作するように定義されている場合に発生します。

ほとんどの場合、このような動作の理由は、各Spaceインスタンスが実行中のすべてのルックアップサービスと通信できくなくなるようなネットワークの中断によって発生します。通常、各Spaceインスタンスは、すべてではなく、異なるルックアップサービス（ほとんどの場合2つ）と通信します。

Split-brain状態の可能性をプロジェクト管理者に通知するための電子メールアラートメカニズムがあります。

障害が通常ネットワーク障害が原因である場合は、GS UIにそれらを表示する機能はありません。

(Since version: 4.13)

関連トピック

クラスタモードでのGS or XAP の構成


クラスタモードでのGS or XAP の構成

GigaSpaces XAP Managerは、信頼性の高い分散調整のためのツールとしてApache ZooKeeperを使用することにより、一貫性のある、より堅牢なクラスターを提供します。これは、LUSとGSMを統括して管理し、ZooKeeperの下で単一のノードとして機能することで実現されます。マネージャは、通常localhost：8090に設定されているRESTful管理APIを備えた管理インスタンスをホストする組み込みWebアプリケーションも提供します。

新しいGigaspaces / XAP Managerを使用すると、ネットワーク全体のスペースパーティション内に一貫性が提供され、スプリットブレイン状態になる可能性がなくなります。 Magic xpiで重複トリガーイベントを引き起こさないこれらの条件は、データの不整合につながります。

注意すべき重要な点の1つは、このようなレイアウトを設定する場合、クラスター内に3つのノードが必要であり、それがないと、必要な一貫性を実現できないことです。 より多くのノードを追加できますが、Magic xpiにはお勧めできません。ネットワーク上にスペースコンポーネントが多すぎて、トラフィックが重くなり、パフォーマンスが低下する可能性があるためです。

インストール中およびインストール後の注意点

  1. クラスタセットアップは、3つのノードで構築する必要があります。

  2. 選択するインストールタイプは、本番レベルのセットアップに必要になるため、3つのノードすべてで中または高のシステム容量またはサイズである必要があります。小容量は、デフォルトで単一ノード/開発者システムとして使用するように設計されています。

  3. 以下に示すいくつかの設定は、Windowsファイアウォールで必要です。

  4. コントロールパネルから[WindowsDefenderファイアウォール]に移動し、[WindowsDefenderファイアウォール経由の通信を許可する]メニューを開きます。 ここで、Netlogonサービスのチェックボックスを選択します。

  5. デフォルトでは、Zookeeperはポート2181、2888、3888を使用します。したがって、これらのポートとGSに必要な他のポートが、3つのノードすべてのファイアウォールで開いていることを確認してください（インバウンドおよびアウトバウンドルール）。

ポート9101、4174およびポート範囲49152-65535は、3つのノードすべてのファイアウォールで開いている必要があることに注意してください（インバウンドおよびアウトバウンドルール）。.

インストール後に必要な設定

次の場所にある2つのファイルを更新します:

  1. <Magic xpi Installation>\Runtime\Gigaspaces-xpi\bin\magicxpi-gs-agent.bat

既存の行にコメントを付け、次の行を追加します,

call gs host run-agent --manager --custom gsc=3 --custom mgmirror=1 --custom mgdeploy=1 --custom mginfo=1

例:

  2. <Magic xpi Installation>\Runtime\Gigaspaces-xpi\bin\magicxpi-setenv.bat

次の行を追加します:

set GS_MANAGER_SERVERS=<comma separated HostNames participating in the Cluster>

例:

上記の設定は、3つのノードすべてで行う必要があります。

トラブルシューティング

Gigaspaceがデプロイされず、次のエラーがログに表示される場合は、3台すべてのマシンのファイアウォール設定ですべてのzookeeperポートが開いていることを確認してください。

GSM INFO [org.apache.zookeeper.ClientCnxn] - Opening socket connection to server MYNODE1/10.9.44.58:2181. Will not attempt to authenticate using SASL (unknown error)

Gigaspaces Mangerと構成の可能性の詳細については、https：//docs.gigaspaces.com/latest/admin/xap-manager.htmlにアクセスしてください。 ドキュメントのより関連性の高いバージョンを取得するには、サイトから15.2としてバージョンを選択してください。

(Since version: 4.13)


ライセンス

本来、Magic xpi4.6のライセンスメカニズムは、フローティングになっています。オプションとして最小限のライセンススレッド数を各プロジェクトのために予約することができます。

プロジェクトのためにライセンススレッドを予約する

複数のプロジェクトを実行している場合、いくつかのプロジェクトはストレス条件（例えば、多くのWeb ServiceやHTTPリクエストの処理）ですべてのスレッドを消費するかもしれません。絶えず実行する必要がある重大なプロジェクトのためにライセンススレッドを対応可能な最低限で確保する必要があります。これをどのように行うかについては、ここをクリックしてください。

ホストでロックされたライセンス

Magic Software Japan によって作成されるすべてのライセンスは、ホストで固定さらています。これは、一旦アクティベーションされたら、アクティベーションで使用されたPC上で利用する必要があることを意味しています。Magic xpi4.6のクラスタリング環境においては、クラスタ全体のために1つのホストでロックされたライセンスが必要になるだけです。すべてのMagic xpiのインストールは、同じライセンスファイル(それを共有フォルダに配置することができます)を示すように設定してください。すべてのMagic xpiサーバが異なるホストで実行されていても、正常に開始することができます。しかし、ホストロックされたサーバがMagic xpiエンジンを実行するまで、どのようなフローも実行されません。ホストロックされたサーバ上で実行するMagic xpiエンジンは、Space内で唯一スレッドカウントを更新することができます。

ホストロックされたサーバ上のMagic xpiエンジンは、動作し続ける必要はありません。スレッドカウントをSpaceに設定したら、Magic xpiエンジンはライセンスを維持するために必要ではありません。従ってグリッド上の他のMagic xpiエンジンと同じように停止したり、起動したりすることができます。


マイグレーション

マイグレーションはプロジェクトの全ての要素の変換を試みる自動化されたプロセスです。変換できない要素は､全てログファイルにリポートされ、変換中に発生した問題のを特定できるようにしています。

関連トピック：

Magic xpi 4.13の違い

Magic xpi 4.12の違い

Magic xpi 4.9での違い

Magic xpi 4.7での違い

Magic xpi 4.6での違い

Magic xpi 4.5での違い

マイグレーションツール - Magic xpi3.x以上からMagic xpi4.7へ

iBOLT V2.5からV4.xまでのマイグレーション


Magic xpi 4.13の違い

新機能

  • Magic xpiは、新しいDB Triggerコンポーネントを導入しました。これにより、ユーザーはデータベーステーブルの作成、更新、削除イベントを継続的に監視できます。これを有効にするには、ユーザーは新しいDBトリガーサービスを作成、及びデータベースの詳細を提供し、作成、更新、削除イベントを監視するテーブルを選択する必要があります。 このサービスで、データベースにトリガーを作成するためのテンプレートSQLスクリプトを作成します。ユーザーは、データベースでこのスクリプトを変更して実行する必要があります。これらのイベントのポーリング間隔は、トリガー構成で定義できます。プロセスレコードは、DBトリガーサービスで定義されたクリーンアップ期間に従って削除されます。

  • Magic xpiには、ユーザーが日付のリストを定義できる除外カレンダーを定義する機能が追加されました。これは、スケジューラが定義された日付にスケジューラが実行されないようにするために、スケジューラサービスによって使用されます。ユーザーは、スケジューラサービスで選択できる1つ以上のカスタムカレンダーを追加できます。

  • Magic xpiには、ログファイル、ダンプファイル、構成ファイル、スクリプト、およびトラブルシューティングに役立つその他のファイルを収集するログコレクターと呼ばれる新しいツールが導入されました。これにより、単一のアーカイブファイルで診断情報のコレクションが提供されます。ユーザーは、このアーカイブファイルを問題の原因分析としてサポートに提供できます。

  • Magic xpiは、Javaおよびライブラリの依存関係のために既存のSystinetサーバーを置き換える新しいMagic SOAPサーバーを導入しました。 Magic SOAP サーバは簡素化され、軽量化されたWebインターフェイスを備えています。 古いSystinetサーバーからの移行作業はごくわずかですあり、 基本認証とダイジェスト認証をサポートしています。

拡張

  • 新しい データマッパフィル を使用すると、ユーザーは複雑なスキーマをすばやくナビゲートし、名前やデータタイプで特定のノードを検索し、送り元から送り先にマッピングできます。 この機能により、ユーザーはデータ型でノードをフィルタリングすることもできます。 正規表現による検索もサポートされています。

「すべてを接続」機能が拡張され、シンプル、ファジー、1：1の3つの異なるマッチングタイプで複数接続をサポートするようになりました。

新しい接続の保存とロード機能では、保存機能を使用して、スキーマタイプとその接続ラインをテンプレートとして保存し、同様のスキーマを持つ任意のマッパステップにロードできます。

  • ODataリソースは、エンティティレベルと行レベルのアノテーションの構成をサポートするようになりました。構成が完了すると、これらの注釈はODataステップのデータマッパースキーマで使用できるようになります。エンティティレベルのアノテーションはアノテーション要素の下のルートレベルに表示され、行レベルのアノテーションは各行のrowAnnotations要素の下に表示されます。

  • ODataコンポーネントは、OData APIのページネーション機能をサポートするようになりました。リクエストごとのエンティティの最大数と、ページ分割に必要な次のページへのリンクは、ODataステップ構成で構成できます。

  • ローカルエージェントがサイレントインストールをサポートするようになりました。インストーラーには、デフォルトの構成値が記載されたconfig.iniファイルが付属しています。ユーザーは、要件に応じてデフォルト値を変更できます。インストーラーは、インストールの開始時にこれらの値を読み取ります。

  • ユーザーは、ローカルエージェントのセットアップの一部としてアドオンコネクタをインストールできます。必要なコネクタは、インストーラのLAN \ steupLA \ addonsフォルダにある必要があります。デフォルトでは、インストーラーは既存のコネクターを同じ名前で上書きしません。この動作を変更するには、config.iniファイルで[Connectors] Overwriteフラグの値をtrueに設定します。

  • Magic xpiのローカルエージェントは、management-ids.xmlファイルの一部として管理される複数の管理IDをサポートするようになりました。管理コンソールに、すべての管理IDに関連付けられている、または選択した管理IDに関連付けられているエージェント、エージェントコネクタ、およびコネクタを表示できるようになりました。これは、ローカルエージェント管理コンソールの[すべての管理ID]ドロップダウンメニューから実行できます。

  • GigaSpacesに関連する2つの重要な状態の電子メール通知がMagicMonitorに追加されました。電子メールを送信するためのパスワードは、暗号化された形式で保存されます。

  • MSSQLおよびOracleでデータベースパーティショニングがサポートされるようになりました。これは、インストールウィザードの[データベースサポート]画面で[DBパーティション]チェックボックスを選択することで有効にできます。

  • FTPコンポーネントでは、FTPサーバー上でサーバーコマンドを実行できます。

  • Magic xpiコンポーネントのロギングシステムが、古いlog4jインフラストラクチャから新しいSLF4JおよびLogbackに変更されました。コンポーネントごとに個別のファイルを使用して、ロギングを柔軟に構成することもできます。古いlog4jシステムのサポートは非推奨であり、パフォーマンスが低いためお勧めしません。

  • サーバーがクリティカル状態に達した場合、Magicxpiサーバーを一時停止できるようになりました。サーバーは、指数関数的に増加する遅延アルゴリズムに基づいて待機し、システムが修復されると再開します。この動作は、Magic.iniファイルの[MAGICXPI_GS]セクションでフラグPauseOnCriticalConditionsを設定することで有効にできます。この変数のデフォルト値はNです。

  • ApacheTomcat®インストールは、セキュリティーの脆弱性に対処するために、バージョン9.0.35（デバッガー用）および7.0.104（マジックモニター用）にアップグレードされています。

  • SalesforceおよびServiceMaxコネクタは、APIバージョン48.0をサポートするようにアップグレードされました。

  • Magic xpiは、1つのOSに複数のバージョンを並行してインストールできるようになりました。 一度に使用できるバージョンは1つだけです。

  • MagicxpiのGigaSpacesバージョンが15.2にアップグレードされました。このバージョンでは、GigaSpages管理コンソールをローカルモードで実行するためのサポートも追加されています。

サポートされなくなった機能

  • Systinet Server for Javaはサポートされなくなりました。

変更になった動作

  • SalesforceおよびServiceMaxコンポーネントのログは、Logback.xmlインフラストラクチャを使用して制御されるようになり、デバッグフラグ「DebugSFDCComponent」は使用されなくなりました。


Magic xpi 4.12の違い

新機能

  • Magic xpiにローカルエージェント機能が導入され、クラウドにデプロイされたプロジェクトとローカルネットワークで実行されているサービスとの通信が容易になりました。これにより、ユーザーはSAP ERP、Dynamics CRMなど、クラウドでサポートされていないコネクタを実行して、代わりにローカルネットワークで実行することができます。この機能により、クラウドプロジェクトはリモートホストを呼び出して、オンプレミス環境でプロジェクトステップを実行し、応答を返すことができます。

  • ユーザーは、ローカルエージェント管理コンソールを通じてローカルエージェントインフラストラクチャを管理および監視できます。ユーザーはエージェントにコネクターをインストールし、その構成とライフサイクルを管理できます。

  • コネクタビルダーが拡張され、ローカルエージェントと互換性のあるコネクタを構築できるようになりました。

  • Magic xpiは、HTTPおよびODataエンドポイントのAPI管理サーバーへの公開をサポートするようになりました。ユーザーは、Magic xpi StudioのHTTPまたはODataサービス構成ウィンドウからAPI管理インターフェイスを使用して、API管理サーバーを追加し、エンドポイントを公開、再公開、または非公開にすることができます。 Magic xpiは現在、Tyk API管理サーバーとの統合をサポートしています。

  • コネクタビルダーが拡張され、ローカルエージェントと互換性のあるトリガーを構築できるようになりました。

機能強化

  • Magic xpiにより、ユーザーはインストール中に互換性のあるJava開発キット（JDK）を選択できるようになりました。互換性のあるJDKは、Magic xpiインストーラーのJDKの場所を選択で選択できます。

  • Magic xpiは、Javaランタイム環境としてOpenJDKをサポートするようになりました。

  • Magic xpiでのWeb Serviceクライアントの実装は、XMLインターフェイスを備えたSDKコネクタを使用して再設計されました。この変更により、Web Serviceユーティリティは2つのカテゴリに分けられます。 1つはWeb Serviceトリガーで、これはまだSystinetベースでWebサービスを実装するもので、もう1つはコンポーネントセクションの下に追加されるWeb Serviceクライアントです。

  • Sugarコネクタは、ステップで指定できる[レコードの最大数]フィールドを使用してクエリ操作を実行するときにフェッチされるレコードの最大数の定義をサポートするようになりました。この値は、属性xpi_max_numおよびxpi_offsetを持つデータマッパーフィルターノードを使用してオーバーライドすることもできます。

  • コネクタビルダが.NETベースになり、既存の機能をすべてサポートします。

  • SAP R/3およびSAP SDKコンポーネントの名前がSAP ERPに変更されました。以降、SAP R/3またはSAP SDKの名前に含まれる参照はすべてSAP ERPとして扱う必要があります。

サポートされていない機能

  • デバッガーのプロジェクトへのアタッチ機能のサポートは利用できません。

  • Magic xpiプロジェクトをクラウドに公開するためのサポートは利用できません。

  • Salesforce AppExchangeからMagic xpi Monitoring Appをインストールする必要がなくなり、サポートされなくなります。

  • SOAPタイプのHTTPフレームワークは、64ビットインストールではサポートされていません。サポートされているタイプはDotNetとJavaです。

  • JD Edwardsコネクタの出力XMLのアルファフィールドの末尾のスペースは削除されません。


Magic xpi 4.9での違い

新機能

  • RESTクライアントコンポーネントがMagic xpiで利用可能になりました。ユーザがREST APIを利用することができます。RESTクライアントコンポーネントを使用すると、ユーザーはRESTパスパラメータを追加または削除し、クエリパラメータ、ヘッダパラメータ、およびリクエストおよびレスポンスフォームパラメータを定義することができます。OAuth2認証をサポートしています。ユーザはさまざまなコンテンツタイプを設定し、添付ファイルを送受信することもできます。また、特定のRESTサービスでGet、Post、Put、Patch、Head、Deleteの各操作を呼び出すこともできます。

  • Magic xpiは、Tomcatサーバ上でホストされるデバッガのオンプレミスインストールを設定するために、「Magic xpi 4.9 Debug」という名前の追加サービスを提供するようになりました。

  • Magic xpi デバッガは、プロキシサーバを経由して接続するように設定できるようになりました。

拡張

  • ファイル管理コンポーネントのコマンドラインメソッドは、バッチファイルの実行のリターンコードを提供するようになりました。

  • データベースが宛先として使用されている場合、UPSERT処理がデータマッパーでサポートされるようになりました。データベーススキーマのプロパティの[プロパティ]ウィンドウで、[UPSERT]の値を[Yes]に設定すると、UPSERTステートメントを有効にできます。UPSERT操作は、OracleおよびMS-SQLのデータベースに対してのみサポートされています。

  • データマッパーユーティリティの送り元側と送り先側に、フラットファイルスキーマのカスタム（EBCDIC）エンコーディングを設定するための機能が追加されました。エンコードが[カスタム]に設定されている場合は、[コードページ]の値を選択する必要があります。Magic xpiでサポートされているコードページの値の詳細については、ここをクリックしてください。

  • ファイル管理コンポーネントは、[Blobをファイルに追加]、[ファイルを作成]、および[ファイルを書き込む]の各メソッドのカスタム（EBCDIC）エンコーディングをサポートするようになりました。エンコードが[カスタム]に設定されている場合は、[コードページ]の値を選択する必要があります。 Magic xpiでサポートされているコードページの値の詳細については、ここをクリックしてください。

  • UnicodeToCustomCodePage関数とUnicodeFromCustomCodePage関数が、サポートされる関数のリストに追加されました。

  • WCF Client構成は、ユーザ定義のSOAPヘッダとSOAPリクエスト間での定義および出力をサポートするようになりました。

  • WCF Clientリソースに[エンドポイントURL]フィールドが追加されました。このフィールドを使用すると、ユーザはWCF Clientコネクタを経由してWebサービスを呼び出すときに異なるエンドポイントURLアドレスを指定ｓｙすることができます。

  • 障害スキーマが処理に対して定義されている場合、WCF Clientステップは各処理に対してカスタム障害スキーマを生成するようになりました。

  • 一般エラーとカスタム障害スキーマのサポートが、WCFClientコネクタで利用可能になりました。

  • オンプレミスまたはオンデマンドのSharePointアプリケーションと統合するために、SharePointコネクタでプロキシサポートが利用可能になりました。

  • データマッパーは、スキーマ、接続、プロパティ（スキーマとノードの両方）、および色を変更するための[元に戻す]および[やり直し]アクションをサポートするようになりました。

  • ODataコンシューマは、ODataサービスへのディープインサートコールができるようになりました。

  • ODataプロバイダは、リクエストに含まれるディープインサートペイロードの処理をサポートするようになりました。ODataプロバイダは、ファイルから既存のサービスメタデータ（OData V4）を読み込み、ロードされたメタデータで定義されているものと同様のODataインターフェイスを公開できるようになりました。このオプションは、ODataサービスの[サービスXMLの詠み込み]ボタンの一部として使用することができます。このオプションは、このサービスのメタデータXMLが存在しない場合にのみ利用できます。

  • Magic モニタ表示サーバのWebサーバの場所は、WEB_SERVER_LOCATIONシステムプロパティを使用して変更できるようになりました。

  • Magic xpiエンジンには、Magic SpaceからServerDataオブジェクトを詠み込むために設定可能なリトライサポートがあります。リトライ回数は、Magic.iniファイルの[MAGICXPI_GS]セクションでCheckServerEntryInspaceRetrytimesフラグを使用して設定でき、デフォルト値は"10"に設定されています。

  • SAP B1コネクタは、会社データベースとは異なるデータベースでのSAP B1トリガテーブルのホスティングをサポートするようになりました。トリガテーブルを含むデータベースが会社データベースとは異なるサーバでホストされている場合は、そのサーバをリンクサーバにする必要があります。このデータベースのサーバ名が指定されていない場合、値はSAP B1リソースのServerパラメータから取得されます。

  • ダイナミックCRMコネクタは、実行時と同じように開発時にも専用のロギングサポートを提供するようになりました。

  • Sugarリソースにより、ユーザはSugar承認済みプラットフォーム値を指定できるようになりました。この値はシステムが生成したプラットフォームの値を上書きします。

  • フロー呼び出しユーティリティでは、呼び出されるフローの一覧を表示するフローリストが昇順で表示されるようになりました。

動作の変更

  • SAPB1サービスにより、ユーザは会社データベースを使用してトリガテーブルを保持するのではなく、独自の専用データベースを使用できるようになりました。Magic xpiはユーザが作成したデータベースを監視します。このデータベースの接続詳細を提供し、データベーステーブルに対してCRUD処理を実行する許可をMagic xpiに提供するのはユーザの責任です。

  • 今後のMagic xpiでは、ibolt_notificationストアドプロシージャおよびibolt_triggerテーブルは使用されません。それらがすでにデータベースに存在する場合、それらを削除するのはユーザの責任です。

  • XMLポジショニングフォワードは、呼び出されたフロー内の親の直接の非複合子にアクセスするために使用するべきではありません。代わりに、フロー変数を使用して、直接の非複合の子を呼び出されたフローで使用可能にする必要があります。呼び出し側フローは、直接の非複合子を呼び出し先フローのフロー変数にマップする必要があります。

サポートされなくなった機能

  • RqHTTPHeaderは、Maigc xpiではサポートされなくなりました。


Magic xpi 4.7での違い

新機能

  • ODataプロバイダがMagic xpiのサービスとして使用できるようになりました。また、ODataサービスは、ODataサービス構造を定義するためのエンティティヘルパーを提供します。

  • Magic xpiスタジオのフローエディタで、複数操作のUndo（元に戻す）、及びUndo操作のRedo（やり直し）ができるようになりました。

  • Magic xpiスタジオのフローエディタで、複数ステップのコピー＆ペーストが可能になりました。

  • Magic xpiスタジオのフローエディタで、分岐の親と分岐の間にステップを挿入することが可能になりました。

  • データマッパ画面には、フローパスのハイパーリンクが表示されます。そのハイパーリンクをクリックすると、対応するデータマッパステップを持つフローエディタウィンドウを表示します。

  • コネクタビルダは、Magic xpaをランタイムテクノロジとしてサポートするようになりました。このオプションはフローエディタのステップとトリガで使用できます。

  • Sharepoint アダプタはOnline接続時において、AFDSをサポートするようになりました。

  • SAP B1アダプタでは、SLD Serverをサポートします。SAP B1のリソース設定で、ライセンスサーバかSLDサーバのどちらかを選択できます。

  • Magic xpi 4.5以上の既存のインストールを、Magic xpi 4.7バージョンにアップグレードすることができます。

拡張

  • HTTPコンポーネントのPOST及びRESTメソッドに、エンコーディング パラメータが追加されました。

  • ファイル管理コンポーネントのAppend Blob to File、Create File、Write Fileにエンコーディングパラメータが追加されました。

  • Magic xpi 4.1で利用可能だった[必要なライセンス]ダイアログボックスですが、Magic xpi 4.7でもスタジオの「ヘルプ」メニューから利用できるようになりました。現在開いているプロジェクトに必要なライセンスを表示します。

  • ソリューションエクスプローラに、フローの状態を表す新しいアイコンが表示されるようになりました。

  • Dynamics 365で動作するようになしました。

  • Salesforce アダプタはAPI39に対応しました。

  • マイグレーションツール実行時、オブジェクト名内に^（サーカンフレックス）がある場合、これを_（アンダースコア）に置き換えます。

  • WebSphareMQアダプタは、リソース設定にてユーザIDとパスワードでの認証をサポートするようになりました。

  • Magic モニタのアクティビティログに、ステップ列が追加されました。

  • Magic モニタのアクティビティログに、添付されたBlobボタンと共に、ステップ、FSID、ルートFSID、フロー要求ID列が追加されました。

  • SAP B1 アダプタは、MSSQL2016データベースで動作するSAP B1 9.3をサポートするようになりました。

サポートされなくなった機能

SNMPコンポーネントはサポートされなくなりました。

  • マイグレーションしたプロジェクトにSNMPコンポーネントが含まれている場合、NOPと同様の動作をします。


Magic xpi 4.6での違い

新機能

  • OData コネクタは、ODataのフォーマットされた呼び出しを送受信することができます。

  • ServiceMaxコネクタは、ServiceMaxに対する接続機能を提供します。

  • Magic xpi には現在、インポート/エクスポート機能があり、プロジェクトのオブジェクトを保存したり、読み込んだりすることが簡単な方法でできるようになりました。

  • Magic xpiは、以前に作成し、他のプロジェクトに保存したリソースとサービスをインポートすることができるようになりました。

拡張

  • コネクタビルダ は、現在エンドポイントトリガの呼出しタイプを持っていて、Magic xpiエンジンの外で動作します。.

  • Dynamics CRM コネクタは、現在Upsertオペレーションをサポートするようになりました。

  • The Dynamics CRM コネクタは、現在QueryByFetchXMLメソッドをサポートするメソッドインタフェースを持っています。

  • Magic xpi 4.6から、オンプロミスとオンデマンドのDynamics CRMネクタの両方は、デフォルトで.NETベースのコネクタになりました。これは、Magic xpi4.6で追加されたUpsert オペレーションのような新しいエンティティが、Windows OS上でのみ実行することを意味しています。以前は、オンプロミスサーバが.NETベースで、オンデマンドサーバはJavaベースでした。以前のようにオンラインサーバをJavaベースで動作させたい場合、DCRMOnlineSDKフラグの値をNに変更してください。

  • Magic.iniファイルの［MAGIC_ENV］セクションには、HTTPフレームワークのグローバルな環境設定が含まれています。

  • SAP ERPコネクタは、JCO 3.0.15を使用します。


Magic xpi 4.5での違い

新機能

  • ドッキング機能を持つVisual Studioベースのワークスペース。

  • データマッパーは、JSONスキーマを使用して動作するようになりました。

  • 既存のMAGIC_SPACEに加え、Magic xpiは、モニタとODSデータのための統計と同様のアクティビティログを格納するMAGIC_INFO Spaceを含めるようになりました。MGMirrorプロセスユニットがまた追加されました。これは、データベースへのアクティビティログとODSデータの書き込み処理の管理に対応しています。

  • ミニマップによって、長かったり、幅広いフローを迅速に操作することが可能になりました。

  • Flow Enablementサービス：Flow Enablementは、外部サービスとして定義することができて、修正して、プロジェクトを再ビルドする必要なくプロジェクトに影響を与えることができます。

  • スケジューラサービス：スケジューラは、外部サービスとして定義することができて、修正して、プロジェクトを再ビルドする必要なくプロジェクトに影響を与えることができます。

  • Dynamics AX 2012 コネクタが、Magic xpi4.5中の内蔵コネクタとして提供されるようになりました。

  • MQTTコネクタが、Magic xpi4.5の内蔵コネクタとして提供されるようになりました。このコネクタは、MQテレメトリートランスポート(MQTT)を使用して動作します。これは、デバイス間のメッセージングのパブリッシュ/サブスクライブで使用される軽量のネットワークプロトコルです。

  • WCFClientコネクタが、Magic xpi4.5の内蔵コネクタとして提供されるようになりました。このコネクタは、Magic xpiが、Microsoft のWindows Communication Foundation (WCF)テクノロジを使用して、Web サービスのコンシューマとして利用することができます。これは、世界標準に基づいたサービスの大きなライブラリに対して簡単にセキュアなアクセスと利用ができるようになります。

  • SaleSalesforceで必要なライセンス：SalesforceのためにMagic xpiのライセンスを使用することができるため、Salesforce AppExchangeからアプリをモニタするMagic xpiをインストールする必要があります。これをどのようにするかについての情報は、Magic xpi Salesforceアプリをインストールするには のトピックを参照してください。 (Since version: 4.5a)

  • Salesforceモニタリングユーティリティ：Magic xpi Force.com モニタリングユーティリティを使用することで、Magic xpiの環境をモニタし、実行中のプロジェクト表示し、警告を受け取り、様々なイベントについてのチャットを取得することができます。これをどのようにして行うかについての情報は、Salesforceを使用してプロジェクトをモニタするには のトピックを参照してください。 (Since version: 4.5a)

  • Java8.0のサポート：Magic xpiは、JRE 8.0を利用した場合の互換性について確認しています。JRE 8.0は、SystinetベースのWeb サービス(コンシューマとプロバイダの両方)をサポートしていないことに注意してください。Windows OSで、Web サービスコンシューマを使用する場合、WCFClientを使用することができます。 (Since version: 4.5a)

  • ASAP S/4 HANA のサポート：Magic xpiは、SAP S/4 HANA プラットフォームを使用した場合の互換性について確認しています。(Since version: 4.5a)

拡張

  • SDK：コネクタビルダとして知られている強化されたSDKは、プロフェッショナルな感じのコネクタをビルドし、提供し、販売することができます。このバージョンはあ、動的なステップとトリガをビルドすることができます。コネクタビルダの使い方の詳細な説明は、Magic xpiのインストールフォルダにある、Magic xpiコネクタビルダのPDFを参照してください。.

  • デバッガ：開発中にブレイクポイントとサスペンドのペインにアクセスすることができるようになりました。

  • Dynamics CRMコネクタは追加の認証タイプをサポートします。オンプロミスのDynamics CRMサーバ用は、.NETコネクタになりました。以前のようなJavaコネクタではありません。オンライン(オンデマンド)サーバは、まだJavaコネクタです。r. 注意：Dynamics CRM のリソースの［セキュア接続］プロパティがYに、［配備タイプ］がオンプロミス に設定された場合、Magic.iniファイルの［MAGIC_IBOLT］セクションの DCRMAD フラグを Y に設定してください。

  • 強化されたGoogleドライブコネクタは、Magic xpiがGoogleドライブによって使用された様々な種類のドキュメントを処理することができるようにします。

  • SFTPネットワークプロトコルがサポートされるようになりました。

  • モニタのSpace 警告定義と敷居値は、次のファイルから読み込まれるようになりました：Runtime\Gigaspaces\config\alerts\alerts.xml.

  • デバッガのタイムアウトの設定は、簡単にアクセスできるようになりました。このため、デバッガが、特定のプロジェクトで最適な方法で動作するように設定できるようになりました。

  • モニタのメッセージウィンドウで、［メッセージ履歴出力］ボタンによって、特定のプロジェクトのすべてのメッセージを含むCSVファイルを作成します。

  • オフラインで動作する時に、モニタのアクティビティログメッセージにフィルタをかけることができるようになりました。

  • Magic モニタは、プロジェクトが再び実行したら、次のトリガ呼出しの時間を変更することなく、特定のフローでスケジューラの即時呼出しを行うことができます。スケジューラのコンテキストメニューから［呼び出し］を選択すことで、これを行うことができます。

  • Magic xpiは、Windows® 10を使用しての互換動作を確認しています。

  • どのデータベーススキーマがキャッシュ(オフライン)からデフォルトで読み込まれるか、そしてその構造(オンライン)をリフレッシュするために、どれがデータベースと接続するかを指定することができます。

  • ツールバーの上の [image] ボタンをクリックするか、または［編集］メニューをクリックし、［リフレッシュデータベーススキーマ］を選択することで複数のデータベーススキーマをリフレッシュすることができます。

  • Magic xpi でMagic xpaのユーザ定義関数を使用することができるようになりました。

  • Magic xpiは、JD Edwards Enterprise One のjarファイルのすべてを読み込むために専門のクラスローダを使用するようになりました。クラスパス(PCの classpath またはMagic.ini のclasspathのどちらか)にJarを定義したり、Magic xpiのインストールフォルダに jarファイルをコピーする必要がありません。JDEコネクタには、そのjarファイルのすべてに対する専門のフォルダがあります。

  • Javaクラスコネクタを使用する時、Magic xpi スタジオはMagic.iniファイルのclasspathを読み込まなくなりました。代わりに、PCのclasspathにjarファイルをリストするか、runtime\java\lib フォルダにjarファイルをコピーする必要があります。.

  • WebSphere MQトリガの出力要素として、Return Descriptionが利用できるようになりました。

スタジオ の変更

Magic xpi は、Visual Studioに基づくようになり、以下が含まれています。

  • ［コンポーネント］ペインが、［ツールボックス］ペインに置き換わりました。すべてのMagic xpiコンポーネントとユーティリティは、特定のカテゴリでグループ分けされて、このペインに表示されます。

  • ［ナビゲーション］ペインが、ソリューションエクスプローラに置き換わりました。

  • パークされたプロジェクトのどの部分のプロパティでも表示する専門の[プロパティ]ペイン。

  • Magic xpi4.1からの、リソースリポジトリやサービスリポジトリ、および［IFS設定］ダイアログボックスを含む［設定］ダイアログボックス。これは、Magic.iniファイルの設定も含まれています。これは、またスタンドアロンのエディタとしてアクセスされ、Magic xpi スタジオを開くことなくプロジェクトを設定することができます。

  • Magicモニタは、アクティビティログやODS、およびBAM をサポートするようになりました。

  • 統合された検索機能。Magic xpi4.1の名前検索とテキスト検索は、［テキスト検索］ダイアログボックスに統合されました。

  • コピー＆ペーストの機能jは、複数のステップと分岐の貼り付けのサポートを含め、強化されています。

  • 半角英数字でない文字列は、説明だけでなく、ビジネスプロセスやフロー、およびステップの名前でも使用できます。プロジェクトやリソース、サービス、および変数の名前は、半角英数字の文字かOSの言語でのみ利用できます。半角英数字以外の文字を使用する場合のPCのセットアップ方法についての詳細は、言語サポートを参照してください。

動作の変更

  • Magic xpi4.1では、Magic.iniファイルが開発環境で優先され、ifs.iniファイルが実行環境で優先していたため、両方のファイルの環境変数を保守する必要がありました。Magic xpi4.5では、どちらの環境でも ifs.iniファイルが常にMagic.iniファイルより優先されるようになりました。

  • モニタでは、実行中に、サーバは完了したFSIDに対応するすべてのODSレコードを削除します。Magic xpi4.1では、すでにアクティブではなくても、これらのレコードは表示されていました。

  • スタジオでデバッガに再接続：Magic xpi4.5では、デバッガと実行プロジェクトの間で接続の問題が発生した場合、いくつかのリトライとタイムアウトなどの多くの規則に従って、スタジオは再接続しようとします。Magic xpi4.1では、これらの問題のタイプに対して、スタジオはデバッグセッションを終了していました。

  • フラットファイル構造の定義は、［リスト］プロパティ特性を使用して行われます。

  • 既存のプロジェクトを開くためのキーボードの組み合わせは、Ctrl+Oの代わりにCtrl+SHIFT+Oになりました。新しいプロジェクトを作成するためのキーボード組み合わせは、Ctrl+Nの代わりにCtrl+SHIFT+Nになりました。

  • フローまたはビジネスプロセスの挿入は、［プロジェクト>追加］メニューを使用して行われます。.

  • デバッガを開始するには、SHIFT+F7の代わりにF5を押下するようになりました。

  • プロジェクトがデバッグモードで実行していて、スタジオが終了した場合、スタジオがアライブ状態のパブリッシュを停止すると、実行中のプロジェクトは内部で終了します。これは、スタジオによってコントロールされない状態でデバッグモードでプロジェクトが実行することを防止します。さらに、実行プロジェクトにアタッチし、デバッグモードに切り替わった場合に、スタジオがアライブ状態のパブリッシュを停止すると、プロジェクトは通常モードに戻ります。

  • プロジェクトのデフォルトの位置は、Magic フォルダ内の My Documents ディレクトリになりました。

  • ［スタートアップ時］ドロップダウンリストを使用して、スタジオをどのように開くかを設定することができます。これは、［ツール］メニューから［オプション］をクリックして、［環境］セクション内の［スタートアップ］を選択することでアクセスすることができます。これは、Magic xpi4.1の［カスタマイズ］ダイアログボックスで有効だった［Startup As］プロパティに似ています。

  • 個々のフローの無効、有効、および不活性を、フローの［プロパティ］ペインで行うことができるようになりました。

  • IFCモデルは、[XML]プロパティのオプションとして利用できるようになりました。これは、スタティックなXMLインタフェースを使用してコンポーネントで利用できます。

  • Magic xpi4.5のフローIDは、特定のプロジェクトでユニークですが、Magic xpi 4.1のフローIDは、ビジネスプロセスでユニークでした。

  • ビジネスプロセスとフローは、そのビジネスプロセスまたはフローのIDである数値をもとにディスク上のフォルダとして表示されます。

  • Magic xpi4.5以降は、NOTオペレータには括弧が必要になりました。プロジェクトでチェッカを実行する時、括弧はNOT式に追加されます。しかし、チェッカ処理の後で式エディタを開く時は、式を変更したり、［検証］または［OK］のボタンをクリックする時だけに、括弧が表示されます。

  • セーブメッセージステップ内のBLOB変数は、データベースの代わりにファイルシステムに保存されることができるようになりました。プロジェクトがロードする時、ファイル名と連結された[MAGIC_IBOLT]セクションのActivityBlobFileLocationフラグの値が、ifs_actlogテーブルの［FILELOCATION］カラムに格納されます。BLOBは、それがBLOB変数に保存されるか、ファイルシステムに保存されるかをMagic モニタに表示されます。BLOBがファイルシステムに保存される場合、Magic モニタは［FILELOCATION］カラムに従ってBLOBを検索します。アクティビティログをMagic xpaモニタから削除する場合、それらがデータベースにまたはディスク上に保存されているかどうかに関わらず、これらのBLOBは削除されます。

  • Magic xpi4.1では、チェッカを実行した場合プロジェクトは保存されました。Magic xpi4.5では、プロジェクトは自動的に保存されず、エラーが発生した変更は戻ります。

  • SpecialEventQSizeLimitフラグのデフォルト値は、100から5000に変更されました。 (Since version: 4.5a)

  • Null値の変数を空の値の変数を比較するする場合、SpecialExpReturnNullフラグによって下位互換性を維持しています。

  • ［クリアモード］プロパティは［プロジェクトプロパティ］ウィンドウに移動して、ODS情報を消去するためだけに使用されます。

  • Magic xpiは、xs:union のフィールドタイプを処理するためのデフォルト書式を持っていません。スキーマが、xs:unionのフィールドタイプを含んでいる場合、このタイプを［デフォルトデータフォーマット］リポジトリに追加する必要があります。移行の間、xs:union のフィールドタイプを持っていて、マッピングされると、移行処理の後で、xs:unionのフィールドタイプを定義する必要があるいうチェッカのエラーが発生します。.(Since version: 4.5a)

用語の変更

次の用語は変更されました。

  • サービスからユーティリティへ：これは、Magic xpi4.1 の［コンポーネント］ペインにあったサービスを参照しています。

  • uniPaaSのコンポーネントは、Magic xpaコンポーネントにリネームされました。

  • System iコネクタは、IBM iコネクタにリネームされました。

  • SugarCRMコネクタは、Sugarコネクタにリネームされました。

  • Exchange2007 コネクタは、Exchangeコネクタにリネームされました。このコネクタは、MicrosoftR Exchange 2007 Server 以上で動作します。

  • ［常に新しい書式を使用］というノードプロパティは、［常にカスタム書式を使用」にリネームされました。

  • データベース送り先の［例外処理フロー］プロパティは、［エラー処理フロー］としてリネームされました。

  • プロジェクトの実行可能な拡張子が、.ibsから.mgxpiprojに変更されました。

  • 複合レベル計算は、マルチアップデートと呼ばれるようになりました。

  • リファレンス検索は、Find Reference（日本語訳：リファレンス検索）にリネームされました。

サポートされなくなった機能

以下の機能は、Magic xpi ではサポートされなくなりました。

  • ［権利］リポジトリ

  • ［権利グループ］リポジトリ

  • ［ユーザ］リポジトリ

  • プロジェクトパッケージャー

  • COMコンポーネント：移行されたプロジェクトでは、実行時COMトリガは削除されます。

  • EJBコンポーネント：移行されたプロジェクトでは、実行時、EJBステップはNOPステップとして扱われ、トリガは削除されます。

  • トリガとしてのドミノコンポーネント：移行されたプロジェクトでは、実行時ドミノトリガは削除されます。

  • W4コンポーネント：移行されたプロジェクトでは、実行時、W4ステップはNOPステップとして扱われ、トリガは削除されます。

  • ItemFieldコンポーネント：移行されたプロジェクトでは、実行時ItemFieldコンポーネントは削除されます。

  • ifm.iniファイルを含むレガシモニタ

  • テキストエリアツール

  • リファレンス検索機能は、リソースとサービスでは利用できません。リソースまたはサービスがどこで使用されているかを見つけるには、現在のプロジェクト上で［テキスト検索］オプションを使用してください。

  • ［トポロジ］ペイン

  • ［ビジネスプロセス］ペイン

  • WSブリッジ

  • SharedValGetとSharedValSet関数。追加情報は、次のトピックを参照してください - マイグレーションツール - Magic xpi3.x以上からMagic xpi4.7へ

  • Magic xpi4.5は、Windows2003 Server をサポートしていません。これは、デフォルトで、Microsoft によって、.NET フレームワーク4.5.2(Magic xpi4.5で必要です)がWindows2003 Server でサポートされないためです。

  • Convert Email Encoding To ANSI と Include Email Plain Body のフラグ.

  • ［プロジェクトリネーム］オプションは削除されました。プロジェクトに新しく名前をつける場合は、代わりに［名前を付けて保存］オプションが使用できます。

以下の機能は、Magic xpi ではサポートされなくなりました。

  • インポート/エクスポート。.Magic xpi4.6では、サポートされています。

  • プロジェクトの印刷。..Magic xpi4.6では、サポートされています。

  • ［カスタマイズ］ダイアログボックス

  • UDDI サーバ

  • "not" という言葉を含む、JSONスキーマ要素


マイグレーションツール - Magic xpi3.x以上からMagic xpi4.7へ

Magic xpiのV3.xから 4.xへの移行は、自動的で、特別な処理は必要ありません。既存の.ibsファイルを開くと、マイグレーションウィザードが自動的に開きます。

マイグレーションツールは、Magic xpi3.x 以上によって開発されたプロジェクトをサポートします。それ以前のバージョンで開発されたプロジェクトの場合は、Magic xpi2.5 から Magic xpi3.xへのマイグレーションツールを使用してMagic xpi3.xのプロジェクトにアップグレードする必要があります。

  • マイグレーションの前に必要な手順

  • マイグレーションウィザード

  • マイグレーション後に必要な手順

  • ライセンスの考慮点

  • マイグレーションのための注意点

  • SharedValSetとSharedValGet関数

  • エンコード

マイグレーションの前に必要な手順

  • プロジェクトを移行する前に、プロジェクトファイルをバックアップしてください。

  • プロジェクトを移行する前に、データマッパーで使用されたすべてのXSDファイルが、宣言された位置に存在していることを確認してください。Since version: 4.5a

  • Magic xpi4.1のプロジェクトがソースコントロール製品でチェックされている場合、最初に、ソースコントロール製品を賜与して、プロジェクト全体を取得して、それから移行してください。

  • プロジェクトのオブジェクト名(フロー名や変数名など)が、利用するOSの言語と一致している必要があります。また、magic.iniファイルの[MAGIC_ENV]ExternalCodePageフラグは、使用する言語に対応させる必要があります。

マイグレーションウィザード

［設定］ダイアログには、3つのフィールドが含まれいます。

  • Magic xpiプロジェクトファイル …… 変換したいファイル。デフォルトでは、このフィールドには、開いたibsファイルの位置を示しています。

  • 変換プロジェクトの位置 …… 変換されたプロジェクトを保存したい場所。デフォルトでは、このフィールドはMagic xpi4.xプロジェクトで定義されたデフォルトの位置を示しています。.

  • ログの保存先：この移行処理のログを保存する位置。デフォルトでは、このフィールドは<Magic xpi4.xインストールフォルダ>\Runtime\log\migration.log ファイルを示しています。このフィールドは、.logまたは.txtの拡張子を持つファイルをサポートします。

プロセスが終了すると、［要約］ダイアログで処理が成功したか失敗したかを表示します。変換ログを表示するかどうかを選択することもできます。

新しいプロジェクトは、移行されたプロジェクトであることが分かるようなファイル名で作成されます。

マイグレーション後に必要な手順

uniPaaSのステップとuniPaaSで作成されたコンポーネントSDKのステップは、Magic xpaで手動で移行する必要があります。

  • Web Serviceサーバは、移行の後で手動で配備する必要があります。

  • 外部ファイルは、古いプロジェクトの階層に従って、新しいプロジェクトの位置にコピーする必要があります。

  • 移行処理では、.iniファイルやその値を変更しません。移行後に新しい値を使用するため、古いifs.iniファイルを削除するかリネームして、プロジェクトをビルドしてください。新しいifs.iniファイルは、新しい値で作成されます。

  • Magic.iniファイル(ifs.iniファイルではありません)で定義された論理名がある場合、プロジェクトを移行する時に、論理名(環境変数)をMagic.iniまたはifs.iniファイルに追加してください。環境変数がプロジェクト固有の場合、それらをプロジェクトのifs.iniファイルに追加することができます。プロジェクト用ではない環境変数の場合は、Magic.iniファイルにコピーしてください。Magic xpi4.6が中心のプロジェクトで、スタジオがifs.iniファイルから環境変数を読み込むことを意味していることに注意してください。

  • フロー呼出ユーティリティがハードコードされたIDを含む式を使用している場合、これらのIDが移行の際に変更されるかもしれないため、移行処理の後で正しいIDを示さないかもしれません。GetFlowIDやGetBPIDなどの専用の関数を使用することを推奨します。これらは、フローまたはビジネスプロセスの名前基づいて実行時にIDを計算します。

  • SpecialExpReturnNullフラグが移行されたプロジェクトのifs.iniファイルに存在していない場合、［MAGIC_SPECIALS］セクションに追加し、値を Y に設定してください。これは、以前の Magic xpiまたはiBOLT で作成されたプロジェクトとの下位互換性を維持するためです。変数の空の値とNull値を比較する際、このフラグによって下位互換性が維持されます。

  • 移行されたプロジェクトがユーザ定義のコンポーネントを持っている場合、それらを含むフォルダはその古い位置から新しい位置にコピーしなければなりません。ユーザ定義のコンポーネントに接続されるResource_types.xmlとService_types.xmlファイルに対する変更はすべて手動で行ってください。

  • 特定のコンポーネントが含まれていなかった初期のバージョンから、プロジェクトを移行する場合は、コンポーネントは移行処理の後で移行されたプロジェクトで利用できなくなります。手動でコンポーネントを追加する必要があります。

  • JD Edwards Worldのリソース定義は、定義が存在していなければライブラリと一緒にアップデートする必要があります。

  • JD Edwards Enterprise Oneの構成はは簡素化され、専用のクラスローダを使用します。このため、Magic.ini のclasspathにjarファイルのすべてをリストする必要はなくなりました。具体的な手順は、JD Edwards Enterprise Oneコネクタの設定のトピックを参照してください。

  • SalesforceメタデータAPIは大きく変更されたため、Metadata CRUDメソッドのUpodateとDeleteのオペレーションを再設定する必要があります。

  • SalesforceメタデータAPIが大きく変更されたため、Metadata CRUDメソッドのUpdateとDeleteのオペレーションを再設定する必要があります。

  • Ver3.1 SP1から直接アップグレードする場合、リソースの中で［パスワード］フィールドを再設定する必要があります。

  • アップグレードされたMagic xpi4.5または4.5aプロジェクトで、SAP HANAのデータベースを使用するように既存のSAPB1リソースを修正することはできません。代わりに新しいSAPB1リソースを作成する必要があります。

ライセンスの考慮点

Magic xpi4.xは、専用のライセンスを必要とします。Magic xpi3.xのライセンスは、Magic xpi4.xでは動作しません。

Magic xpi4.xで、ライセンスメカニズムは、フローティングと固定のライセンススレッドの割り当ての組み合わせをサポートするようになりました。デフォルトでは、すべてのプロジェクトはフローティングメカニズムを使用していますが、ifs.iniファイルの[MAGICXPI_GS]セクションでReservedLicenseThreadsフラグを使用することで、プロジェクトのために固定ライセンスを確保することができます。

例えば、ライセンスが20スレッドを持っていて、最初のプロジェクトが10のワーカによって定義されて、ReservedLicenseThreadsフラグが5に設定されている場合、プロジェクトは5スレッドを確保しますが、ライセンスプールから別の5スレッドを使用することができます。2番目のプロジェクトが開始されると、5スレッドがすでに最初のプロジェクトで確保されてているため、最高15までのスレッドのみが確保できます。どのプロジェクトによっても確保されないスレッドは、ライセンスプールにとどまり、必要な時にどのようなプロジェクトでも使用することができます。

マイグレーションのための注意点

  • 下位互換性を維持するために、特殊文字を使用する式の中のオブジェクトはobjOldName関数で囲む必要があります。特殊文字は次の通りです：[スペース]~'！@ # 、 % & * - = + ( ) { } [ ] | " ?/ \ < > ; または、複数のピリオド(.)。これらがオブジェクトの名前の中に含まれていると、ピリオドと閉じ括弧が _(下線)に変更されます。プロジェクトが移行されると、特殊文字をオブジェクトに追加することができず、名前の特殊文字をすべて削除しない限り、特殊文字を含むオブジェクト名を変更することができません。この動作の1つの例外はフラットファイルです。ここでは、特殊文字を使用してフィールド名を作成することができますが、これらを式で使用する時は、objOldName関数によって囲む必要があります。

  • テキストエリアツールはもうサポートされていません。しかし、移行されたプロジェクトからのテキストは、簡単に参照できるようにするため、フローの［プロパティ］ペインの［コメント］プロパティに保存されます。

  • DBウィザード情報は、データマッパスキーマの一部として最終的に作成されたSQL文を除き、プロジェクトの移行処理で移行されません。

  • UDS、ODS、PSS、およびデータコンバータの定義は、Magic xpi4.6ではオブジェクトとして考慮されています。従って、UDS、ODS、PSS、およびデータコンバータの定義を移行する時、U.、O.、P.、およびV.の各接頭辞は関連した定義に追加されます。例えば、UDSはU.UDS1 になります。移行の後で、これらの定義が30文字を含んでいたならば、最後の2文字は切り捨てられます。この切り捨て後に、名前の複写があると、3番目の文字がリネームされます。

  • 移行の間に、テキストが相対パス(例えば../../)を示しているプロジェクトのファイル内で見つかった場合、エントリは、相対パスが作成されたこと(間違ったパスを指定しているかもしれません)をログファイルに書き込まれます。

  • データマッパーは、個別のソースファイルになりました。すべてのデータマッパーは、.mprの拡張子を持ちます。

  • 移行されたプロジェクトが同じ名前の複数のフローを含んでいる場合、2から始まる_n接尾辞が新しく名前に付加されます。例えば、前のバージョンで作成されたプロジェクトにFlaow1という名前の3つのフローがある場合、フローは移行後に次のようにり名付けられます：Flow1、Flow1_2、およびFlow1_3。

  • Magic xpi4.1までは、括弧なしでNOTを使用することができました。例えば：NOT C.UserString ='111'.。Magic xpi4.6 では、括弧が必須になりました。移行されたプロジェクトでチェッカを実行すると、括弧がNOT式に追加されます。例えば：NOT (C.UserString ='111')。しかし、チェッカ処理の後で式エディタを開くと、式に変更を加えたり、［検証］または［OK］のボタンをクリックする時だけに、括弧が表示されます。

  • Magic xpi4.1は、式エディタで日付と時刻に関する様々な修正を行っています。Magic xpi4.6では、自動的に処理される唯一の変更は、年が2文字から4文字に変わったということです。さらに、日付と時刻の間の区切り文字は、Magic.iniファイルで定義された区切り文字と一致していなければなりません。

SharedValSetとSharedValGet関数

Magic xpi4 以前のバージョンでは、SharedValSetとSharedValGet関数は、ユーザコンポーネントで利用できました。この場合は、手動でSharedValSetとSharedValGet関数を以下の新しい関数のどれかに変更する必要があります。これによって、値が（単一プロセスからではなく）Spaceから、読み出されることができます。これらの新しい関数は以下の通りです。

  • SharedValSetA (A は、文字型を表しています)

  • SharedValSetN (N は、数値型を表しています)

  • SharedValSetD (D は、日付型を表しています)

  • SharedValSetB (B は、BLOB型を表しています)

  • SharedValSetT (T は、時刻型を表しています)

  • SharedValSetL (L は、論理型を表しています)

  • SharedValGetGS (GS は、GigaSpacesを表しています)

Magic xpi 4.xでは、SharedValGetGS関数はSpace（つまり、プロジェクト)からの値を返します。これは一つ以上のプロセスから成り立っています。前のバージョンでは、SharedValGet関数は単一プロセスから値を返しました。ここで、1つのプロジェクトは単一プロセスから成り立っています。したがって、複数のサーバがプロジェクト毎に実行している場合、Magic xpi 4.xでこの関数を使用しないことを強く推奨します。

ポーリングトリガを開発するためにコンポーネントSDKを使用した場合、'LOAD_TRIGGER'と呼ばれている空のプログラムを作成する必要があり、そして、その［タスク終了条件］をYesに、［チェック時期］を前置に設定してください。

エンコード

Magic xpi 4.0aの前は、Unicode内容は「そのまま」ファイルシステムから読み込まれ、BOMの内容を含んでいます。このBLOBがHTTP応答として提供されると、コンシューマにBOMと一緒に送られました。

Magic xpi 4.0aからは、Unicodeの内容は対応するUnicode BLOBに読み込まれ、BOMはプロセス内で削除されます。このBLOBがHTTP応答として提供されると、ここにはBOMは含まれません。これは、クライアントが応答内容のエンコードを確認することができなくなります。

以下のどれかの方法でUnicode内容を処理することを推奨します。

  • BlobAddBOM関数の使用

  • SetHTTPHeaders関数を使用してコンテンツのタイプヘッダを追加する

FTPコンポーネントのGet Operating System のメソッドは、Unicodeデータを返します。Magic xpi3.4 では、ANSIデータを返していました。


jBOLT V2.5からV4.xまでのマイグレーション

jBOLT V2.5からMagic xpi4.xにプロジェクトをマイグレーションするには、2段階の処理になります。

  1. jBOLT V2.5のプロジェクトをMagic xpi V3用にマイグレーションしてください。この目的のためのマイグレーションユーティリティは、Magic xpi V3で一緒にインストールされます。

  2. Magic xpi4.xをインストールしてください、次にマイグレーションツールを使用して、Magic xpi V3プロジェクトをMagic xpi4.xにマイグレーションしてください。

関連トピック：

jBOLT V2.5からV3.xへの移行


jBOLT V2.5からV3.xへのマイグレーション

jBOLT V2.5 SP8b（以降)のプロジェクトをMagic xpi V3.x用にマイグレーションすることができます。このセクションでは、マイグレーション処理を説明するためのいくつかのトピックが含まれています。

関連トピック：

マイグレーションのためプロジェクトを準備する

マイグレーションのトラブルシューティング

マイグレーションユーティリティ－jBOLT V2.5からMagic xpi 3.xへ

変換プロセスの修正

Magicコンポーネントのマイグレーション

マイグレーション後に必要な処理

マイグレーションの制限


マイグレーションのためプロジェクトを準備する

アプリケーションの移行前にアプリケーションでサポートされていない機能を特定する必要があります。プロジェクトは .mdd フォーマットで保存してください。

V2.5 SP8以前のMagic xpiバージョンで開発されたプロジェクトと内部インタフェースを利用するコンポーネントを含むプロジェクトは、マイグレーション処理の前にメソッドインタフェースを手動で変換する必要があります。以下のコンポーネントが対象になります。

  • Email

  • ファイル管理

  • FTP

  • JMS

  • MSMQ

  • System i コネクタ

  • WebSphere MQ

以下に説明するように、データマッパーは移行前に特別な配慮と準備を必要とします。

データマッパーの準備

Magic xpi には、移行されたデータマッパーに適用される厳格なマッピング規約があります。これらの規約に違反するマッピングは削除されます。これらの規約は、データマッパーのルールのトピックで説明しています。

マイグレーション前にV2.5でデータマッパーに対する準備を行うことで、後で説明する問題を回避することができます。マイグレーション処理を実行する前に、以下の点を考慮してレビューを行うことを推奨します。

  1. 常に、複数データの複合（データベース、フラットファイルまたはXML反復複合）に対して相互にマッピングします。これを行わない場合、Magic xpiは自動的に１つにマッピングされます。それは意図したものでない可能性があります。これは以下のように図示されます。

  2. Magic xpiの送り元変数は、複数データの複合要素とみなされます。jBOLT V2.5では、下記の（左側）に表示されるようにできます。しかし、二つ以上の反復可能な送り元から1つの送り先に値をマッピングすることができないため、Magic xpiでは、赤で記されている接続が削除されます。

    jBOLT V2.5では、送り先ノードのIssuerID式のIssuer変数の使用は、接続の必要性を無視し、移行の終了後に削除されることを防止します。

  3. Magic xpi では、送り元内の1つ以上の反復可能な複合要素を送り先の反復可能な複合要素にマッピングすることができません。二つ以上の兄弟関係の反復可能な複合要素が、1つの反復可能な送り先にマップされているjBOLT V2.5のXML送り元がある場合、兄弟関係の複合要素の1つでもマルチインスタンスの複合要素になるように、XSDを修正する必要があります。兄弟関係の複合要素の残りは、一インスタンスの複合要素でなければなりません。下記の例では、一つの要因としてXSDにCompound1を設定する必要があります。これ以外の場合は、a2とIssuerIDとの接続が、失われます。

SQL文の準備

データベース・フィールド名がSQL文で使用されている名前と同じであることを確認してください。

SQL関数の使用

SQL文内のすべての内部SQL関数がエイリアスを使用していることを確認してください。

例：

SELECT sum(id) FROM ticket は、SELECT sum(id) AS sum_id FROM ticket に変更する必要があります。

SQL文の大文字小文字を合わせる

データベース・フィールドがすべて大文字または小文字の場合、マイグレーションユーティリティで利用できる大文字小文字の変換機能を利用することができます。大文字／小文字が混合している場合、これを調整するためにjBOLT V2.5でステートメントを修正する必要があります。

関連トピック：

削除やリネームされた関数

用語の変更


削除やリネームされた関数

以下の関数は､Magic xpi V3.x から削除されました。

GetParam

SharedValGet

User

以下の関数は､Magic xpi V3.xで名前が変更されています。

以前のバージョン | Magic xpi
ASC | ASCIIVal
CHR | ASCIIChr
GetLogicalName | EnvVal
IOExist | FileExist


Home > マイグレーション > jBOLT V2.5からV4.xまでのマイグレーション > jBOLT V2.5からV3.xへのマイグレーション > マイグレーションのためプロジェクトを準備する > 用語の変更

用語の変更

以下はMagic xpi V3.xで名前が変更されています。

jBOLT V2.5 | Magic xpi V3.x
eDeveloper サービス | uniPaas サービス
論理名 | 環境変数


マイグレーションユーティリティ－jBOLT V2.5からMagic xpi 3.xへ

  • マイグレーション・ユーティリティは、jBOLT V2.5 SP8b以降で開発されたプロジェクトをサポートします。

  • プロジェクトを移行する前に、プロジェクトファイルをバックアップしておいてください。

プロジェクトを移行するには：

  1. 以下のどれかの方法で、［jBOLT 2.5をMagic xpiへのマイグレーション］ダイアログボックスを開いてください。

  • Windowsの［スタート］メニュ ＞ すべてのプログラム ＞ Magic xpi ＞ Magic xpiマイグレーション を選択します。

  • Magic xpiのインストールフォルダに移動し、migration.ecfファイルをクリックしてください。

［マイグレーション］ダイアログボックスには、以下のフィールドが含まれています。

名前

説明

jOLT 2.5 プロジェクトの詳細

プロジェクトファイル名

をクリックしてMagic xpiに移行したい jBOLT V2.5の.mddプロジェクトファイルを選択します。

コピープロジェクト・ディレクトリ

Magic xpiに移行するjBOLT V2.5プロジェクトに関係するプロジェクト・ファイルをコピーするために、このボックスをチェックしてください。たとえば、プロジェクトのために定義したさまざまなXMLファイルなどが該当します。

Magic xpi プロジェクトの詳細

プロジェクト・ディレクトリ

ここには、移行されるプロジェクトの出力先フォルダが表示されます。

ログファイル名

をクリックして、マイグレーション・ログファイルの出力先を指定します。ログファイルは移行処理の間に行われるすべてのアクションの概要が書き込まれ、発生するかもしれないさまざまな問題の分析のために使用することができます。

ログレベル

ドロップダウンリストから以下のログレベルのどれかを選択します。

  • フル …… ログファイルには、メッセージ、警告とエラーが記録されます。

  • エラー …… ログファイルには、エラーが記録されます。

  • 警告とエラー …… ログファイルには、警告とエラーが記録されます。

SQL文・フィールドの大文字小文字

Magic xpiでは、SQL文のフィールド名はステートメント自体ではなく、データベースから読み込まれます。潜在的なフィールド名の不適当な組合せを回避するために、マイグレーションユーティリティのこのボタンは、サポートされたデータベース・ゲートウェイ（MSSQL、Oracle、ODBC、DB2/400、またはPervasive SQL)のフィールド名を大文字か小文字に変換することができます。

自動マッピング

このチェックボックスが選択されると、移行処理はプロジェクト内のデータマッパーのステップごとに接続を調べます。自動マイグレーションに対応した接続は、Magic xpiに移行されます。マイグレーション・ログファイルが作成されると、Magic xpiへのスムースな移行を確実にするために、修正する必要があるすべての接続が全て表示されます。これらの接続を解決しない場合、マイグレーション処理中に削除されます。デフォルトはチェックされています。

効率的かつ効果的に移行処理を実行するには、すべてのログのエラーメッセージが修正されていることを確認しなければなりません。そして、マイグレーション・ユーティリティを再実行して、マイグレーション・ログファイルのエラーセクションにデータマッパーのステップが含まれていないことを確認してください。

Web Service配備詳細

Web Serviceの配備

SystinetサーバにWeb Serviceを配備するには、このボックスをチェックしてください。

サーバURL

Systinetサーバ接続の詳細を入力してください。デフォルトは、http://localhost:6060/ です。

ユーザ名

Systinetサーバのユーザ名を入力してください。デフォルトは、admin です。

パスワード

Systinetサーバのパスワードを入力してください。デフォルトは、changeitです。

  2. ［実行］をクリックすると、移行処理が開始されます。


変換プロセスの修正

これはMagic xpi V2.5 プロジェクトを確実に Magic xpi V 3.x用に移行するために、マイグレーションユーティリティによって行われる様々な一般的な修正と特定コンポーネントの変更の一覧です。

一般的な修正

項目

修正内容

プロジェクトプロパティ

リソース設定ファイルとサービス設定ファイルは、それぞれ resources.xml と services.xml ファイルとして自動的に作成されます。これらの値はデフォルトで、［プロジェクトプロパティの詳細］タブの［リソース設定ファイル］と［サービス設定ファイル］フィールドに設定されています。

プロジェクトプロパティ – ［Email］タブ

Eメールのリソースが作成され、［プロジェクト］プロパティの［Eメール］タブの［リソース名］フィールドに設定されます。

プロジェクトフォルダ

jBOLT V 2.5のプロジェクトフォルダの内容は、移行中にMagic xpi V 3のプロジェクトフォルダにコピーされます。

プロジェクトサーバ

サーバリソースが作成され､サーバリポジトリの［リソース名］フィールドに設定されます。

グローバル変数

全てのグローバル変数に頭文字Gが追加されます。これによって変数の長さは30から28までに調整されます。

モデル変数

モデル変数がコンテキスト変数に変更されました。全てのコンテキスト変数に頭文字Cが追加されます。これによって変数の長さは30から28までに調整されます。

フロー変数

全てのフロー変数に頭文字Fが追加されます。これによって変数の長さは30から28までに調整されます。

論理タイプ変数

論理タイプ変数は、BOOLに変換されます。

コンポーネントプロパティ

［エラー動作］プロパティは、SAP Business Oneコンポーネントと同様にデータマッパデータベースオペレーションを除き、［コンポーネントプロパティ］ダイアログボックスから削除されました。エラーが発生した時、全てのステップの動作は終了になります。

SAP Business One コンポーネントにおいては､エラー動作は複数追加などXMLインタフェースでの複数処理でのみ関係します。SAP B1 メソッドのいずれかでエラーが発生した場合、他のMagic xpiコンポーネント同様エラー動作は終了になります。

設定ファイルフラグ

V2.5の AutoEndI5MapperSession 設定ファイルフラグは､［データベーススキーマプロパティ］ダイアログボックスの［DB Disconnect］プロパティに置き換えられます。

データベースリポジトリ

新しいデータベースリソースが、jBOLT V2.5のデータベースリポジトリのすべてのデータベースエントリに対するMagic xpiのリソースリポジトリに作成されます。新しいデータベースリソースの名前は､データベースリポジトリのデータベースの名前と同じになります。

フローエラー

［セーブポイント］オプションが［エラーポリシー］カラムから削除されました。［セーブポイント］オプションが選択されたフローのエラー動作は､自動的に再起動に変更されます。

ステップ内部インタフェース

以下のコンポーネントでステップインタフェースが内部と定義されている場合、メソッドに変更されます。

  • Directory Scanner

  • Domino

  • uniPaaS

  • Encryption

  • File Archive

  • File Splitter

  • HTTP

  • SAPB1

ステップ-メソッドインタフェース

関連したプロパティを含むリソースが作成され、ステップの設定は新しく作成されたリソースによって更新されます。複数のメソッドが新しいリソースを必要とする場合、ステップは分割され、それぞれの新しいリソース用に新しいステップが作成されます。

ステップ-XMLインタフェース

関連したプロパティを含むリソースが作成され、ステップの設定は新しく作成されたリソースによって更新されます。コンポーネントモデルのXMLは新しいコンポーネントモデルXMLに更新されます。新しいXMLに含まれていない接続、または新しく作成されたリソースに含まれることになった接続は削除されます。既存のマッピングは新しいデータマッパルールに適合するように変更されます。

ステップ設定

ステップのデータに基づき設定フィールド（リソース）が作成されます。

トリガ

関連したプロパティを含むサービスが作成されます。必要があればリソースも作成されます。最終的に、ステップの設定が新しく作成されたサービスで更新されます。

エラーシステム変数

エラーフローと例外フローの中で、UserBlob、UserString、およびUserCode の各変数は、エラー情報(SQL文)、エラーメッセージ、およびエラーコードで更新されなくなりました。

特定コンポーネントの変更

項目

修正内容

eDeveloperステップ

eDeveloper コンポーネントはuniPaaSサービスに変換されます。uniPaaSコンポーネントは %currentprojectdir% フォルダに生成されます。

eDeveloper V2.5 を正しく移行するには、更にいくつかの変更をする必要があります。詳細については Magic コンポーネントの移行を参照してください。

iBOLT ポータルトリガ

iBOLT ポータルトリガコンポーネントは、Magic xpi ではサポートされていないため、トリガエリアから外されます。

COMトリガ

サービスが作成され、関連したエントリがサービスにコピーされます。サービスの dll、 jar、 XSD ファイルが <Magic xpi>\projects\<プロジェクト名>\Service\<COM トリガ名> フォルダに作成されます。

HTTPトリガ

サービスが作成され関連したエントリがサービスにコピーされます。トリガコンポーネントの［設定］タブは新しく作成されたサービスで更新されます。［エンドポイント名］フィールドは、jBOLT V2.5 でこのトリガが持っていた名前で更新されます。そして、それぞれのサービスの全てのエンドポイントでXSDとHTMLファイルが <Magic xpi>\projects\<プロジェクト名>\Service\<エンドポイント名> フォルダに生成されます。

SAPB1トリガ

移行中に jBOLT V2.5 の SAPB2トリガ定義を元にMagic xpi でサービスが作成されます。変換されたトリガは、このサービスによって定義されます。異なるフローを呼び出すSAPB1トリガコンポーネントを含むプロジェクトを移行する場合、トリガは分割され、それぞれのフローは独自のトリガを持ちます。V3 でのトリガの［ポーリング間隔］はサービスごとに定義され、移行時には対応する V2.5のトリガ行で定義された最短間隔に設定されます。

フローサービス呼出

このステップはFlow Dataサービスと起動フローサービスに分割されます。Flow Dataサービスステップは UserCode、UserString 、および UserBlob の各変数の更新のためにフロー呼出サービスより前に追加されます。

スケジュールサービス

以下のエントリーは削除され、新しいサービスにはコピーされません。

  • Start date

  • Define schedule end

  • End date

  • End time

データマッパー

Magic xpiでは、データマッパーはスタジオ環境のマッピングルールを実施します。さらに、マッピングされた宛先エレメント上の条件は設定されます。どの値も送り元内で有効な値がないため、送り先に作成される要素がありません。例えば、単純要素接続があり、複合要素接続がその単純接続になかった場合、複合要素接続が自動的に作成されます。詳細は、データマッパーのルールのトピックを参照してください。単純ルート要素はサポートされていないことに注意してください。

また、移行中は以下の変更が行なわれます。

  • ［常に作成］プロパティは、サポートされなくなりました。

  • データベースリポジトリのエントリは、新しく作成されたデータベースリソースによって置き換えられます。

  • 複数のODSエントリは、jBOLT V2.5で複数の選択されたODSエントリを置き換えるために作成されます。

  • 接続が削除されると条件や式も削除されます。

  • データベーステーブルに特殊文字（ #, ],[ " , % など）を使用したフィールド名が含まれている場合、jBOLT V 2.5は自動的にその文字を削除し、その文字を含まないフィールド名を自動的に作成します。Magic xpi はこれを行なわないため、移行中にこのようなフィールドへの接続も失われます。

  • 一定のシナリノオの間は、［マップ］ボタンは移行後に無効になります。この場合、送り元/送り先のプロパティに行って［OK］をクリックする必要があります。一つのシナリオとしては、必要な環境変数が移行前にmagic.iniファイルに設定されていないことが考えられます。

  • CallPublic関数を使用しているプロジェクトのために、すべてのパラメータReturnDataTypesが文字型になっていることを確認してください。

以下のフラグはMagic xpi ではサポートされていません。

  • DebugGenMapper

  • DebugGenMapperCMPR

Web Serviceステップ

jBOLT V2.5 のWeb Serviceステップの設定に従い、Web Serviceクライアントリソースが作成されます。jBOLT V2.5 のステップを基にしたマッピング設定のステップがMagic xpi に作成されます。リクエストXMLを処理するデータマッパーは、変換処理中に生成される新しいスキーマを使用して再設定される必要があります。［ビルド］メニューを選択し、［ソリューションのビルド］をクリックすると、コンポーネントが生成されます。これらのコンポーネントは <Magic xpi>\projects\<プロジェクト名>\Resource\<オペレーション名> フォルダに生成されます。

ファイル管理

FTPメソッドは、ファイル管理コンポーネントではサポートされなくなりました。もしFTPメソッドが移行されるjBOLT V2.5 プロジェクトで使用されていた場合、以下が行なわれます。

  • 新しいFTPリソースがMagic xpi リソースリポジトリに生成されます。jBOLT V2.5ファイル管理コンポーネントのFTPメソッドのプロパティが新しいリソースにコピーされます。

  • 新しく定義されたリソースをs使用した新しい FTP ステップが作成されます。

  • FTPメソッドが異なるFTPサーバ設定を持っている場合、それぞれのメソッドごとに新しいステップが生成されます。

Web Serviceトリガ

移行プロセスは全てのWeb Serviceのトリガを特定し全ての操作情報（スキーマを含む）を収集します。その後、移行プロセスは適切なサービスをサービスリポジトリに作成します。応答XMLを処理するデータマッパーは、変換処理中に生成される新しいスキーマによって再設定される必要があります。

生成されたトリガは、サービスとオリジナルのWeb Servicesトリガ定義に基づいています。それは、そのトリガのためにMagic xpiの［マッピング構成］ダイアログを作成します。不正なユーザがV2.5 IBPrincipalに送られた場合、V3でのWeb Serviceトリガがイベント処理を実行します。

［jBOLT 2.5 からMagic xpi へ移行］ダイアログボックスで［Web Service配備］ダイアログボックスがチェックされ、Systinetログイン情報が提供されると、全てのWeb Service（プロバイダ)がSystinetに生成され配備されます。

Systinetで配備されるサービスはオリジナルとは異なるWSDLを持った新しいサービスだということに留意してください。つまり、それに従いクライアントアプリケーションも変更しなくてはなりません。もしjBOLT 2.5サービスとオリジナルのWSDLを保持したい場合、Magic xpiブリッジ設定を使用してください。

［ビルド］メニューを選択し、［ソリューションのビルド］をクリックすると、コンポーネントが生成されます。これらのコンポーネントは <Magic xpi>\projects\<プロジェクト名>\Service\<オペレーション名> フォルダに作成されます。

Directory Scanner

送り先ディレクトリのFTPメソッドは、Directory Scannerコンポーネントでサポートされなくなりました。これは次のことを意味しています。

  • jBOLT V2.5で利用可能なDirectory ScannerーのLAN to FTPメソッドは、Magic xpi ではLAN to LANメソッドに置き換えられます。［送り先ディレクトリの位置］は、%currentprojectdir% フォルダになります。

定義されたリソースとPutメソッドを持つ新しいFTPステップが作成されます。ソースファイル名 は %currentprojectdir%&UserString となります。ここでUserStringにはファイル名が含まれます。

  • Directory Scannerーの FTP to FTP メソッドはMagic xpi から削除され、FTP to LANメソッドに置換えられました。送り先ディレクトリ場所は、%currentprojectdir% フォルダになります。

二つが異なっている場合、二つのFTPリソースが作成されます。最初のリソースはそれに添付されます。Putメソッドを持つ新しいFTPステップが作成されます。ソースファイル名は、%currentprojectdir%&UserString になります。ここでUserStringにはファイル名が含まれます。二つ目のリソースが使用されます。

アクションが行われない場合、 例えばファイルが見つからない場合などの場合、［Return Filename To］パラメータはNullで更新されます。移行が完了すると、ファイルの存在をチェックするどのような式も手動で変更する必要があります。

暗号化

IDEA メソッドは、Magic xpi ではサポートされません。ステップを手動で設定する必要があります。

Directory Scannerトリガ

移行処理中に［送り先ディレクトリの位置］がFTPの場合、LAN に変更され、%currentprojectdir% フォルダに置き換えられます。

論理名サービス

このサービスは削除されました。これはFlow Dataサービスに置き換えられました。

SNMPサービス

SNMPサービスの実行中に、SNMPメッセージが正しくSNMPモニタに送られても、常にC.UserCode値として 1を返します。V2.5の場合、C.UserCode値として 0 を返します。

未サポートコンポーネント

jBOLT V2.5 のeDeveloper トリガはこのバージョンではサポートされていません。Magic xpi では既存のコードを使用してコンポーネントSDKによってuniPaasトリガを定義することができます。

削除済みコンポーネント

以下のコンポーネントは、Magic xpiではサポートされていません：

  • Call COM

  • FedEx

  • iBOLT Portal

  • Java

  • SAPB1 6.5

  • SMS

  • UPS

これらのコンポーネントは、jBOLT V2.5 プロジェクトを Magic xpi に移行するときにNOPサービスを利用して実行できるように変換されます。eDeveloperベースのユーザ定義コンポーネントは、個別に変換し、Magic xpi プロジェクトに追加してください。


Magicコンポーネントのマイグレーション

このトピックは手動でユーザ定義コンポーネントを含むeDeveloperコンポーネントを、jBolt V2.5からMagic xpi V3.x のuniPaaS コンポーネントに移行する場合に必要なステップを説明します。移行の方法はjBOLT V2.5でどのようにコンポーネントを作成したかにより異なります。

eDeveloperトリガは、移行においてサポートされていため、これはeDeveloperステップコンポーネントでのみ適用されます。

eDeveloper サービス(フローエリア)

eDeveloperサービスをフローエリアにドラッグしてeDeveloperコンポーネントを作成した場合、Magic xpiへの移行時にコンポーネントはuniPaaSサービスに変換されます。

コンポーネントコードを移行するには：

  1. uniPaaSのV9Converter.exe ユーティリティを使用してコンポーネントをeDeveloper V9 からMagic xpi uniPaaSコンポーネントに変換します。

  2. 変換されたuniPaaSコンポーネントから新しいMagic xpiコンポーネントにメソッドをコピーするか、［名前呼び出し］オプションを使用してuniPaaS のECFファイルでプログラムを呼び出します。

  3. マイグレーションユーティリティは、Logsディレクトリにログファイルを生成します。マイグレーションログファイルで移行処理中に発生した変数名の変更や他の問題をチェックします。

  4. もしeDeveloper V9 コンポーネントがフロー変数を参照している場合、下記の「変数関係の変更」のセクションで説明されているように扱う必要があります。

インタフェースの変更

以下のパラメータが削除されました。

P_ActivationString, P_ActivationBlob, P_transaction, P_SysCall, P_userstatuscode, P_ReturnAction, P_UserString, P_UserBlob, P_UserXML, P_ErrorCode, P_ReturnSetupData

Magic xpiとeDeveloperサービスの間でデータの受け渡しをするため、P_ActivationString と P_ActivationBlob を使用している場合、コードを変更する必要があります。

以下のパラメータが追加されました。

  • BP_ID

動作変更：

UserXXX 変数(UserString, UserCode, UserXML と UserBlob) は引数として送信されなくなりました。これらの変数へはuniPaaSのGetParam()、SetParam() 関数を使用してアクセスすることができます

変数関係の変更

Magic xpi uniPaaSコンポーネントのフロー変数にアクセスするために、以下の関数が追加されました。

getVarValue | 指定されたフロー変数の値を返します。関数は二つの引数を利用できます。変数名と変数タイプ（Fはフロー変数）。戻り引数タイプ（文字、BLOB、数値等）は入力引数タイプと同じに定義する必要があります。 例：getVarValue(VariableName, F)
setAlphaVar | 指定された文字フロー変数に値を入力します。関数は二つの引数を利用できます。引数名と引数の値です。 例：setAlphaVar(VariableName,'test')
setNumVar | 指定された数値フロー変数に値を入力します。関数は二つの引数を利用できます。変数名と変数の値です。 例：setNumVar(VariableName, 10)
setBlobVar | 指定されたBlobフロー変数の値を入力します。関数は二つの引数を利用できます。変数名と変数の値です。 例：setBlobVar(VariableName, 'BLOB data')
setLogicalVar | 指定された論理フロー変数の値を入力します。関数は二つの引数を利用できます。変数名と変数の値です。 例： setLogicalVar(VariableName, 'TRUE'log)
setDateVar | 指定された日付タイプフロー変数の値を入力します。関数は二つの引数を利用できます。変数名と変数の値です。 例：setDateVar(VariableName, '01/01/1992'Date)
setTimeVar | 指定された時刻タイプフロー変数の値を入力します。関数は二つの引数を利用できます。変数名と変数の値です。 例：setTimeVar(VariableName, '12:00:00'Time)

以前と同じ方法でコンテキスト変数とグローバル変数(例えば、SetParam()またはSharedValSet())を使用して動作させることができます。


マイグレーション後に必要な処理

プロジェクトを移行した後、以下の処理を行う必要があります。

  1. マイグレーション処理によって、Magic xpiフォルダの配下にLogsフォルダが作成されます。この中のログファイル名をもとに、問題の対処を行ってください。

  2. サポートされていないコンポーネントを移行した場合に作成された全てのNOPサービスを確認し、フローロジックをどのように処理するかを判断します。.

  • すべてのデータベースにアクセス可能で、すべてのスキーマが利用できる場合だけ、マイグレーションユーティリティが使用できます。これ以外の場合、データマッパーのステップの移行は失敗します。

  • 通常は、マイグレーションログを調べて、jBOLT V2.5プロジェクトで発生した問題に対応することを推奨します。すべての問題が解決してから、マイグレーションユーティリティを実行してください。

  3. jBOLT V2.5の論理名は自動的に移行されません。手動で対応するMagic xpiの環境変数を定義する必要があります。

  4. 全てのリソースリポジトリとサービスリポジトリの設定を確認します。これらの設定では式を使用できないため、jBOLT V2.5の式が残っています。これらのフィールドで、環境変数か固定値を使用する必要があります。

  5. ステップIDは、Magic xpiでは表示されず、ステップIDを表示するオプションも削除されました。左から右に、特定の分岐でのステップは、分岐で表示される順番に実行されます。移行後に、動作の違いを感じるかもしれません。旧バージョンでのステップIDの順序を確認し、必要な変更を行う必要があります。

  6. 特定のコンポーネントを含んでいない初期のバージョンからプロジェクトを移行すると、コンポーネントは移行処理の後で移行されたプロジェクトでは利用できなくなります。手動でコンポーネントを追加する必要があります。

  7. SAP Business OneやSAP ERP、Salesforce、JD Edwards、Notes DB コンポーネントは再設定が必要です。作成されたスキーマファイルの場所が ifclib ディレクトリから project ディレクトリへ変更されたためです。［設定］ボタンをクリックし、［OK］をクリックして変更を保存します。

  8. Salesforce コンポーネントの［処置成功］プロパティは、jBOLT V2.5 での数値から Magic xpiでは論理値に変更されました。移行後は、［処置成功］プロパティを論理変数に変更しなければなりません。

  9. Directory Scannerのステップに対して、空白文字の代わりにNULLかどうか調べるために、手動で式を変更する必要があります。この場合、動作が変わります。V3.1 SP1までは、処理するファイルが存在しない場合、ステップは空白を返しました。V3.1 SP1では、ステップはNULLを返します。

  10. プロジェクトをjBOLT V2.5 から Magic xpi に移行後にプロジェクト名を変更したい場合、リネームする前に元のプロジェクト名で一旦プロジェクトを保存する必要があります。

  11. ［プロジェクト］メニューから、［IFS設定］を選択して［IFS設定］ダイアログを開きます。［ライセンススレッド設定］フィールドの値が［Magic xpiサーバ設定］ダイアログボックスに定義された値と同じであることを確認してください。

  12. 考えられるあらゆる問題を見つけるために、プロジェクト全体に対して構文チェックを実行してください。


マイグレーションの制限

jBOLT V2.5プロジェクトをMagic xpi V3.xに移行する場合、この処理には次のような制限があります。

項目 | 説明
変数長 | 変数の長さ、30文字の制限があります。これは、接頭辞としてG、CまたはFが追加されることで上限サイズを超えた場合、変数名の先頭が欠けることを意味します。
データマッパー | ビルトインSQL関数（例えばカウント（*)）の変換は、サポートされません。
eDeveloperトリガ | eDeveloperトリガは、Magic xpiではサポートされず、トリガエリアから削除されます。uniPaaSトリガを作成するには、コンポーネントSDKユーティリティを使用することができます。


トラブルシューティング

このセクションはMagic xpiに関する一般的な問題を素早く簡単に解決することを目的としており、以下のトピックがあります。

ツール

一般的なトラブルシューティング

ログファイル

Magic xpiのログ構成

ロギングとデバッグオプション

Local Agent コンポーネントトレースログ

HTTPエラー

HTTP トラブルシューティング

コンポーネントのトラブルシューティング

データマッパーのトラブルシューティング

データベースのトラブルシューティング

デバッガのトラブルシューティング

配備のトラブルシューティング

Directory Scannerのトラブルシューティング

表示のトラブルシューティング

Dominoのトラブルシューティング

Dynamics AX 2012のトラブルシューティング

Dynamics CRMのトラブルシューティング

Eメールのトラブルシューティング

Exchangeのトラブルシューティング

ファイル管理のトラブルシューティング

FTPのトラブルシューティング

Googleのトラブルシューティング

IBM i のトラブルシューティング

Javaクラスのトラブルシューティング

LDAPのトラブルシューティング

ローカルエージェントのトラブルシューティング

マイグレーションのトラブルシューティング

モニタのトラブルシューティング

Notes DBのトラブルシューティング

プロジェクトのトラブルシューティング

Salesforceのトラブルシューティング

SAP Business Oneのトラブルシューティング

SAP ERPのトラブルシューティング

サーバのトラブルシューティング

SharePointのトラブルシューティング

ソースコントロールのトラブルシューティング

Spaceのトラブルシューティング

Sugarのトラブルシューティング

WCFのトラブルシューティング

Web Serviceのトラブルシューティング

. NETのトラブルシューティング


ツール

このセクションでは、Magic xpi ツールに関連する最も一般的な問題を迅速かつ簡単に解決することを目的としており、以下のトピックが含まれています。

ログコレクタ

内部データベースパスワードの暗号化

JVMメモリパラメータを調整するには


ログコレクター

ログは、アプリケーションのトラブルシューティングで重要な役割を果たします。 これらは、展開期間中のアプリケーションの実行状況を可視化するのに役立ちます。 Magic xpiランタイムには、Magic xpiランタイム、GigaSpaces、さまざまなコンポーネントなど、パーツごとに複数のログファイルがあります。

顧客のプロジェクトに問題がある場合、サポートチームは、問題のトラブルシューティングと根本原因分析を行うために、これらすべてのログファイルを必要とします。

ログコレクターは、リモートでのトラブルシューティングに必要なファイルを収集するために設計されたツールです。 ログファイルの他に、このツールには、ダンプファイル、構成ファイル、スクリプト、およびトラブルシューティングに役立つその他のファイルも含まれています。また、ライセンスの使用状況データも収集します。 このツールには、license.dat、datasource.xml、ApplicationsList.xmlも含まれます。 データは、mgxpiDataAnalytics.scriptとmgxpiDataAnalytics.logという2つのファイルの一部として収集されます。

すべての必要なファイルを取得するために、ツールは各クラスターノードで実行する必要があります。

Windows OSでの動作

このツールは、次のフォルダで実行してください。

<Magic xpi インストールフォルダ>\Tools\LogsCollector.

ツールを実行するには、コマンドプロンプトを開き、LogsCollectorフォルダーにあるバッチファイルlogs_collector.batを実行します。

正常に実行されると、zipファイルが対象のフォルダに生成されます。 出力されたzipファイルの名前は、logs-<hostname>.zipになります。

(Since version:4.13)

カスタムログコレクターの構成

収集されるログは、Magic xpi インストールフォルダ\ Tools\LogsCollector\フォルダーの下にあるlogs.propertiesファイルで構成できます。

ユーザーは、新しい外部ログファイルエントリをデフォルトのファイルリストに追加したり、このファイルから不要なものを削除したりできます。

新しいファイルをリストに追加するときは、ファイル名の前に2つのドット（..）を使用して相対パスを指定するか、ファイルへの絶対パスを指定します。

ユーティリティは、追加構成のために次の2つの引数をサポートします。：

1.カスタム プロパティ ファイル

ユーザーは、引数 fileまたは fを使用して、デフォルトのlogs.propertiesの代わりにカスタムのプロパティファイルを提供することができます。

例：

logs_collector.bat --file c:\logslogscollector.properties

logs_collector.bat --f c:c:\logslogscollector.properties

LogsCollector フォルダ内に logs.properties ファイルを含めるか、引数 fileを提指定ることが必須です。

デフォルトでは、logs.properties ファイルは LogsCollector フォルダに提供されます。独自のカスタムログコレクターのプロパティファイルを定義して、同じ場所に配置することができます。

2.ログコレクションのカスタムエイジ

引数 age または a を使用することにより、収集するログファイルの経過時間を定義することができます。経過時間を設定すること、ユーザーはログファイルを収集する期間を設定できます。値が指定されていない場合、デフォルトは5日に設定されます。

例：

logs_collector.bat --age 10d

logs_collector.bat --a 12h

時間は、d（日）、h（時間）、およびm（分）の形式で設定します。

(Since version:4.13.1)


JVMメモリパラメータを調整するには

Java Virtual Machine（JVM）は、新しく割り当てられたオブジェクトを格納するためにヒープメモリのサイズを設定して、メモリを管理します。 参照されるすべてのオブジェクトはヒープ内でアクティブなままであり、参照が終了までそのメモリを占有し続けます。

下記のパラメータの値を設定し、アプリケーションのメモリと負荷の要件に従って調整します。

  • -Xms 初期ヒープサイズinitial heap size

  • -Xmx 最大ヒープサイズ

実際のデータの量と比較してそれよりも低い最大ヒープサイズを設定すると、ガベージコレクションが頻繁に行われるため、パフォーマンスが低下します。

正式にはjava.lang.OutOfMemoryErrorとして知られるJavaのメモリ不足エラーは、JVMが最大Javaヒープサイズ（-Xmx）を超えるメモリを使用し、Javaヒープメモリにオブジェクトを割り当てることができない場合に発生します。 この場合、メモリ割り当てプールの最大サイズを指定する-Xmxパラメータ（Magic.iniファイル内）を調整する必要があります。 また、必要に応じてmagicxpi-gs-agent.batファイルでも同じパラメータを調整できます。

これらのページに記載されている値は、実際のシステムでの使用可能なRAMのサイズに準拠している必要があります。

詳細はここをクリックしてください。


一般的なトラブルシューティング

Q

ブラウザからMagic xpiを呼び出すと、構成エラーが発生します。

A

次のようなエラーメッセージ受け取る場合が考えられます。

「構成エラー。説明：このリクエストを処理するために必要な構成ファイルの処理中に、エラーが発生しました。次のようなエラーの詳細を確認し、構成ファイルを適切に修正してください。解析エラーメッセージ：

ファイルまたはアセンブリ‘GigaSpaces.JavaToNet.DLL’またはその依存ファイルの1つを読み込めませんでした。指定されたモジュールが見つかりませんでした」というエラー。

この場合は、 MS VC++ 2010 再配布可能パッケージが見つからないことが考えられます。この問題を修正するには、このパッケージをインストールしてください。

Q

メッセージングモードが正常に動作しません。

A

メッセージングモードの使用に問題がある場合、 [MAGIC_IBOLT] ActivityLogSynchronizationMode フラグを確認してください。このフラグにはAsyncかSyncのいずれかの値が入力され、 Activity Logの取り扱いを管理します。

  • Asynch が標準設定です。これを選択した場合、Magic xpiサーバは待機し、複数のアクティビティを一つのスレッドにまとめます。この方法はスピードが上がり、システムのパフォーマンスもよくなります。

  • Synch の場合、それぞれのスレッドが個別にアクティビティのログを取ります。これを選択した場合、Magic xpiサーバはアクティビティが実行されたスレッド上でリアルタイムにログを取得することができます。また、アクティビティの数の多いプロジェクトの負荷を調節することができます。

もしこのフラグを変更できない場合、この現象を利用して問題を内包してるコンポーネントを特定すことができる場合があります。

Q

サービスがサービステーブルに定義されていないというエラーが発生します。

A

このエラーは、Magic.iniファイルにWeb Serviceの定義が行われていないことを示しています。この問題の最も一般的な原因は、以下の二つが考えられます。

  1. Magic.iniが読込専用に設定されている。

  2. プロジェクトは1台のPC上で作成されていますが、別のPC上で動作しています。

この問題を解決するには、.ibpをリビルド(［ビルド］メニュー > ソリューションのビルド)してください。これで解決しないか、ビルドすることができない場合、Magic.iniファイルを開き、[MAGIC_SERVICES]セクションに行き、以下を追加してください。

= SOAP,,,,,,\resource\\.jar,0,M,

例えば：

Web Services Client Example = SOAP,http://mui.magicsoftware.com/eDevCountri+

esDemo/Service1.asmx,,,,http://mui.magicsoftware.com/eDevCountriesDemo/Serv+

ice1.asmx?WSDL,D:\Magic xpi\projects\Project1\resource\Web Services Client +

Example\Web Services Client Example.jar,0,M

Q

変数名で大文字と小文字を変更できません

A

変数名の大文字と小文字を変更しようとすると「変数は既に入力されました。」エラーが発生します。これは変数名に大文字小文字の区別がないからです。

Q

「システム日付が正しくありません」というエラーが発生した場合、どのように対応すべきですか？

A

ローカルファイルまたはディレクトリのタイムスタンプが、未来の日付に変更された場合、不正なシステム日付のエラーが発生します。この問題を解決するには、ファイルやディレクトリのタイムスタンプを現在の日付になるように変更してください。その後、システムを再起動することを推奨します。

Q

プロジェクトの実行中に、Magic.iniファイルが削除されてしまいました。

A

Magic xpiがインストールされたディスクに空きスペースが十分ない場合、Magic.iniファイルが削除される場合があります。

Q

「Magic xpaのキャビネットファイル(ecf)が存在しません.」というエラーが発生しました。

A

このエラーを修正するには、該当するプロジェクトのifs.iniファイルを再作成してください。

ifs.iniファイルを再作成するには：

  1. プロジェクトのフォルダから前のifs.iniファイルを削除するか、リネームします。

  2. 再度プロジェクトを保存/ビルドします。

これで新しいifs.iniファイルが作成されます。

注意： プロジェクトを別の場所、または、異なるインストール環境からコピーした場合、このエラーが発生する場合があります。ここには、存在しない場所を指定する環境変数が定義されています。

Q

プロジェクトを実行しようとすると、"Java Virtual Machine: Cannot be loaded (status: -4) >> Application : c: \Magic xpi\, program: Read Data.Initialize Java Parameters." というエラーが表示されます。

A

JVM load's -4のステータスコードは、メモリー不足であることを意味します。JVMは連続したメモリ領域を必要とします。エラーはこの領域を割り当てることができなかったことを示しています。

Javaのメモリーアロケーションは、Magic.iniで設定します。アロケーショを設定するには、以下の手順に従ってください：

  1. Magic.iniファイルを開いて、［MAGIC_JAVA］セクションのJVM_ARGS=フラグに移動します。このフラグは、Javaプロセスのメモリーの配分を指定します。デフォルトでは、 -Xms32m-Xmx256m と設定されています。

  2. 値を-Xms32m-Xmx128mに変更して、エラーが解決されるかどうかを調べてください。

PCのメモリー使用量を表示して問題を見つけることができる、sysinternals VMMapと呼ばれるユーティリティもあります。

http://stackoverflow.com/questions/3400292/jni-enomem-from-jni-createjavavm-when-calling-dll-that-uses-jni-from-vb6

Q

フローのアボートタイムアウト・ポリシーは、指定された時間に達しても、予想通りにスレッド（フロー)が終了しません。

A

アボートポリシーをフロー上に設定すると、フローは中止されなければなりません。そして、タイムアウト値に達するとき、スレッドは終了します。

しかし、Magic xpiサーバはスレッドを解放することができない状況があります。

この動作は、（スレッドが解放されず、新しいスレッドが開始された場合）大部分はプロジェクトのスレッドの消費に影響を及ぼします。フローに最大インスタンスのフラグが設定されるている場合、最大インスタンスを越えた旨のエラーメッセージが繰り返し発生します。

Magic xpiには、5分の猶予時間が内部に予め備えられています。これによって、フローがタイムアウトでアボートになっても、ステップは終了しません。そして、サーバは実行しているスレッドを終了することができません。

5分の猶予時間が終了すると、プロセスは強制的に終了されます。このようにして、フローは終了します。

Q

Magic xpi スタジオを開くとき、次のメッセージが表示され、スタジオが異常終了します。"Component used by the task does not exist or could not be opened"。

A

このエラーは、Magic xpi スタジオを開くために必要とする一つ以上のファイルにアクセスできないことを意味しています。

Magic.iniファイルの［MAGIC_LOGICAL_NAMES］セクションをチェックして、Magic xpiの環境変数がMagic xpiインストルディレクトリを指定していることを確認してください。

Q

Magic xpiのテキスト検索ツール（F3または、Shift+F3）を使用とすると、前後への操作ができません。

A

これはキーボードマッピング問題です。問題を解決するには、Magic xpi スタジオ の［ツール］メニューを選択して［オプション］を開きます。［環境］の下の［オプション］ダイアログボックスで、［キーボード］を選択してください。そして、［リセット］ボタンをクリックしてください。これでデフォルトのキーボードマッピングに復元され、F3とShift+F3でテキスト検索ツールが起動されるはずです。

Q

Magic xpiを開く時に、次のエラーが発生します： "The 'MagicSoftware.iBolt.iBProjectPackage, iBolt, Version=4.5.209.1, Culture=neutral, PublicKeyToken=38692e95ed3f1bbe' package did not load correctly"?

A

このエラーは、サポートされないOS上でMagic xpiを使用するときに発生するかもしれません。サポートするOSについての情報は、互換性ガイドを参照してください。

Q

magicinfoログにメモリ不足エラーが表示されます。

A

このエラーは、実行中のプロジェクトのアクティビティログを収集するデータベースへの接続が長期間失われた場合に発生する可能性があります。ログはデータベースにミラーリングせずにGigaSpacesに保持されます。

メモリ不足が登録されているGigaSpacesログを調べることで確認できます。

Q

上位バージョンにアップグレードした際、Magic xpiのインストールが[ロックされたファイルが見つかりました]というエラーメッセージで中断されるのはなぜですか？

A

これが発生する理由の1つは、GSAサービスがコマンドラインを使用してバックグラウンドで開始されていることである可能性があります。 このため、Magic xpiをより高いバージョンにアップグレードすると、インストーラーはGSAサービスによって現在ロックされているファイルの置き換えに失敗します。

インストールを続行するには、ロックされたファイルを閉じる必要があります。ファイルをアンロックするための詳細な情報は次のURLを参照しください。https://docs.microsoft.com/en-us/sysinternals/downloads/handle.

Q

xpi Studioの一部のコネクタはドラッグアンドドロップが機能ませんが、なぜですか？

A

この状態を解決するには、下記の手順を行ってください。:

  1. コマンドプロンプトを管理者権限で開きます。

  2. 下記のコマンドを実行してください。Once opened, run the following command:

"Magic xpi インストールフォルダ\Studio\MgxpiStudio.exe" /resetuserdata

Q

std.outlog ファイルのサイズが大きくなり続けるのはなぜですか？

A

この問題はJVMがMagic xpi インストールフォルダ下のruntime\java\classesフォルダにあるlogbackの構成ファイルを見つけられないか、開くことができないような非常に稀なケースで発生する可能性があります。

この問題を回避するには、magic.iniファイルに追加のlogback関連の構成が必要です。必要な構成については以下の手順に従ってください。:

  1. <Magic xpi installation>\Runtime\Magic xpa フォルダの下にあるmagic.iniを探します。

  2. テキストエディタでこのファイルを開き、[MAGIC_JAVA]セクションに移動します。

  3. JVM_ARGSプロパティで下記の行を追加します。:

-Dlogback.configurationFile=<Magic xpi installation>\runtime\Java\classes\logback.xml

また、以下のようにlogback.xmlへの相対パスを使用することもできます。

-Dlogback.configurationFile=..\..\Runtime\Java\classes\logback.xml

<Magic xpi Installation> パスに空白文字が含まれている場合は、長いパス名の代わりに短いWindowsフォルダ名を使用してください。

例:

JVM_ARGS=-Xms64m -Xmx4096m -Dlogback.configurationFile=<Magic xpi installation>\runtime\Java\classes\logback.xml

Q

なぜWindows Server ホストマシンでMagic xpi スタジオを起動すると失敗するのですか？

A

Windows serverは通常のWindowsオペレーションシステムとスタジオを起動する仕組みが違います。

Windows Serverでは、スタジオの初回起動時を管理者権限で起動してください。その後は通常の権限で起動することができます。

Q

デスクトップの Magic xpi 4.13.x ショートカット フォルダに xpi プロジェクトの Start および Stop ショートカットが作成されないのはなぜですか?

A

場合によって、インストーラがデスクトップ ショートカット フォルダへの書き込みアクセス許可を付与できないことがあります。 このため、フォルダ内にショートカットを作成できなくなります。

この問題を解決するには、次のコマンドを使用して必要な権限を付与するよう管理者に依頼してください。

cacls "c:\PathToDesktopFolder" /T /C /E /G Users:F

例えば、

cacls "c:\%USERPROFILE%\Desktop\Magic xpi 4.13.x" /T /C /E /G Users:F

あるいは

cacls "c:\Users\public\Desktop\Magic xpi 4.13.5" /T /C /E /G Users:F

インストール時に「このコンピュータを使用するすべてのユーザ(すべてのユーザー)」を選択した場合、ショートカット フォルダーは「C:\Users\Public」フォルダーの下に作成されます。


ログファイル

実行中に発生したエラーに関する情報は、いくつかのログファイルに、そして、いくつかの場所に記録されます。

Magic xpiは、ロギングのためにlog4jインフラを使用します。そして、ロギング設定は＜Magic xpiのインストールフォルダ＞\Runtime\java\classes\logback.xml ファイルに保存されます。logback.xmlファイルに定義されるログは、デフォルトでは＜Magic xpiのインストールフォルダ＞\Runtime\logs\java logs\javaフォルダに書き込まれます。. NETベースのコネクタは＜Magic xpiのインストールフォルダ＞\Runtime\Config\Log4net.configファイルを使用します。

Logsフォルダ

作成されるログファイル | 記録される情報 | ログパスが設定される場所／ログファイルが使用可能な場所
debugger_error.log | デバッガエラー | log 環境変数
ifs.log | サーバ動作 | サーバログ位置 の設定
mgerror.log | Magic xpaのコンポーネントエラーまたはデータマッパーを生成時のエラー | logs > magic.ini > [MAGIC_ENV]GeneralErrorLog エントリ*
migration_error.log | マイグレーション処理のエラー。エラーがあるときだけ作成されます。 | logs > migration.ini > [MAGIC_ENV]GeneralErrorLog エントリ*
<project_name>_error.log | 特定のプロジェクトからのエラー。プロジェクトのエンジンによって発生したMagic xpaのエラーです。 | 各プロジェクトの logs > ifs.ini file > [MAGIC_ENV]GeneralErrorLog エントリ*
mapper.log | Magic xpiがデータベースを使用するデータマッパーのステップを実行するとき、実行時に発生したエラー。データベースに送られるSQL文に関する部分的な情報も提供します。ゲートウェイログが実際のステートメントを示すことに注意してください。 詳細情報は、Magic xpiサーバ用のゲートウェイログを作成するを参照してください。 | ［設定］ダイアログボックスの［デバッグフラグ］エリアから、または .iniファイルでDebugMapper=Yを設定することで有効になります。 DebugMapper=YフラグをMagic.iniファイルに追加する前に、他のMagic xpi構成ファイルのどこにも含まれていないことを確認してください。フラグが構成ファイルのいくつかに含まれている場合、フラグは上書きされ、ファイルは作成されません。
sfdc_logs フォルダ | SalesforceコネクタのReplicate Last Update メソッドで動作するとき、指定したIDが作成されたことを記録します。 |
SFDC_Debug.log | Salesforce | ［設定］ダイアログボックスの［デバッグフラグ］エリアから、または[MAGIC_IBOLT]DebugSFDCComponent=Yをifs.iniファイルに設定することで有効になります。
MDCRM_Debug.log | Dynamics CRM | ［設定］ダイアログボックスの［デバッグフラグ］エリアから、または[MAGIC_IBOLT]DebugMDCRMComponent=Yをifs.iniファイルに設定することで有効になります。
DynamicsAX_[PID].log | Dynamics AX 2012 | ログは、log4net.configファイル(<Magic xpiフォルダ>\config)に従って設定されます。
Sharepoint_Debug.log | SharePoint | ［設定］ダイアログボックスの［デバッグフラグ］エリアから、または[MAGIC_IBOLT]DebugSharepointComponent=Yをifs.iniファイルに設定することで有効になります。
Exchange_Debug.log | Exchange | ［設定］ダイアログボックスの［デバッグフラグ］エリアから、または[MAGIC_IBOLT]DebugExchangeComponent=Yをifs.iniファイルに設定することで有効になります。
HL7Debug.log | HL7 | ［設定］ダイアログボックスの［デバッグフラグ］エリアから、または[MAGIC_IBOLT]DebugHL7Component=Yをifs.iniファイルに設定することで有効になります。

*このエントリを空白のままにすると、エラーログファイルは作成されません。このエントリの変更内容は、次のセッションから有効になります。

Logs/Java フォルダ

最初の3つのログのPIDは、ログを書き込んだプロセスのプロセスIDを表します。

作成されるログファイル | 記録される情報 | ログパスが設定される場所／ログファイルが使用可能な場所
general_[PID].log | サードパーティのプログラム | logback.xml
magicxpi_[PID].log | プロセスユニットとSpaceサービスを含む Space | logback.xml
magicxpi-external_[PID].log | Spaceの外のプログラム | logback.xml
stderror.log | Javaクラスへのアクセス中に発生したエラー | logback.xml
stdout.log | 提供する出力メッセージ | logback.xml
mgxpicmdl.log | GSAがコマンドラインで実行可能なMagic xpiを読み込もうとして発生した問題を含むコマンドライン。 | logback.xml
Javaベースのコンポーネントのログを有効にするには、logback.xmlを更新して、ログレベルを "off"から他のレベルに変更します。下記のロギング・レベルのセクションを参照してください。
exceptions.log | プロジェクトで発生した例外 | logback.xml
root.log | すべてのログファイルは、このファイルの設定を継承します。ここには、Magic xpiに特定の情報は含まれません。 | logback.xml
ftptrace_[PID].log | FTPとDirectory ScannerのFTP動作 | logback.xml
enterprisedt_[PID].log | FTPコネクタインフラ | logback.xml
ifc.scanner_[PID].log | Directory Scanner・コンポーネント | logback.xml
ifc.email_[PID].log | Eール・コンポーネント | logback.xml
ifc.googlecalendar_[PID].log | Googleカレンダ・コンポーネント | logback.xml
ifc. googledrive_[PID].log | Google ドライブコネクタ | logback.xml
ifc.google_[pid].log | Google コネクタのインフラ | logback.xml
ifc.sapr3_[PID].log | SAP ERPコネクタ | logback.xmlまたは、ifs.iniファイルのDebugR3Component=Yの設定。 詳細情報は、SAP ERPコンポーネント用にログファイルを作成するを参照してください。
ifc.sapR3Trigger_[PID].log | SAP ERPトリガコネクタ
ifc.sugarcrm_[PID].log | Sugar コネクタ | logback.xml
ifc.WEBSERVICECLIENT_[PID].log | Web Services クライアント コネクタ | logback.xml
logback.xmlで追加することができる追加ログファイルがあります。ファイルを開いて、3つの<!-- other optional modules:--> タグを検索してください。

GigaSpaces\Logs フォルダ

作成されるログファイル | 記録される情報 | ログパスが設定される場所／ログファイルが使用可能な場所
[Date~Time]-[GigaSpacesエントリ]-{コンピュータ名}-PID.log 例: 2013-10-07~14.07-gigaspaces-lus_5-DEBBIES-7-4400.log | GigaSpacesインフラ。 ｛コンピュータ名｝のないファイルは、無視されます。 |

Messaging フォルダ

作成されるログファイル | 記録される情報 | ログパスが設定される場所／ログファイルが使用可能な場所
MG_message_err.log | メッセージングコンポーネント | MessagingErrorLogFile 環境変数

db\[データベース名] フォルダ

作成されるログファイル | 記録される情報 | ログパスが設定される場所／ログファイルが使用可能な場所
[データベース名].log 例: mssql.log. | 指定データベース。手動でデータベースをインストールする場合に、このログファイルが定義されます。 |

SSJ\Log フォルダ

作成されるログファイル | 記録される情報 | ログパスが設定される場所／ログファイルが使用可能な場所
errorEvents.log | Systinet エラー | SSJ\conf\log4j.config \log4j.appender.errorLog.File=
logEvents.log | Systinet イベント | SSJ\conf\log4j.config \log4j.appender.eventLog.File=

<Magic xpi ルート> フォルダ

作成されるログファイル | 記録される情報 | ログパスが設定される場所／ログファイルが使用可能な場所
*.trc 例： JCO20121109_120458790.trc | SAP ERPとSAP A1は、ログをトレースします。Magic.iniファイルのDebugTraceLevel=設定フラグを使用しているトレース機能を拡張することができます。 | SAP ERPのリソースのSAPトレースの設定とSAP A1リソースのSSAPトレースの設定から有効にできます。デフォルトは、No です。

ロギングレベル

logback.xmlファイルでは、<level value="xxx"/> タグ内のロギングレベルの値を以下のように変更することができます。

  • all …… ロギングのすべてのレベルを有効にします。

  • trace …… デバッグレベルに追加する詳細情報を提供します。

  • debug …… 開発者がデバッグ目的でプロジェクト内で発生する事象の確認を支援します。

  • info …… プロジェクトの経過に関する情報を提供します。

  • warn …… 予期しないイベントに関する警告を提供します。

  • error …… 不安定な動作結果になる場合がある重大なエラーに関する情報を提供します。

  • fatal …… ログをアボートしているアプリケーションに関連する重大なエラーイベントに関する情報を提供します。

  • off …… ロギングのすべてのレベルを無効にします。

実行中に、ロギングレベルを変更することができます。プロジェクトを配備の際、これは特に役に立ちます。

デバッグセッション完了後、そして、アプリケーションの配備前にロギングをオフにすることを推奨します。ロギングは、プログラムのパフォーマンスを低下させます。

しかし、GigaSpacesログ（general_［PID］.log、magicxpi_［PID］.logとmagicxpi-external_［PID］.log)に関連したコードのロギングの場合、ロギングレベルは、実行中に logback.xmlによって変更することができ、アプリケーションの再起動を必要としません。

追加されたアクティビティロギング機能

In さらに、例えば、Magic xpiスタジオは、いくつかのロギング機能を含んでいます。

  • ロギング関数 …… この関数は、動的にゲートウェイログを有効にしたり無効にしたりします。

  • ロギングプロパティ （コンポーネント内） …… アクティビティログに情報を書き込みます。

  • アクティビティログ …… アクティビティログは、実行フローに関する情報を提供します。


Magic xpiのログ構成

Magic xpiは、さまざまなコンポーネントでロギングを構成するためのログバックフレームワークを実装しています。この構成により、モジュールをログに簡単に含めたり除外したりでき、特別な注意が必要なコンポーネントのログレベルを柔軟に設定できます。

以前のlog4j.xmlとは異なり、新しいログバックメカニズムは、コネクタごとに個別の構成ファイルを作成し、それらのファイルは<Magic xpi のインストールフォルダ>\Runtime\Java\classesフォルダーにあります。これらの個々のファイルを変更すると、それぞれのコネクタ用の設定が変更されます。たとえば、Directory Scannerのログ設定を変更するには、<Magic xpi installation>\Runtime\Java\classes\dirscanner.logback.xmlファイルを開いて、以前log4jで設定していたように同様の設定を行います。

ユーザーは、ログファイルで複数の構成を行うことができます。 いくつかの例を以下に示します。

  • Logging level: デフォルトのログレベルはINFOです。 ユーザーは、DEBUG、ERROR、またはその他のサポートされているログレベルに変更できます。サポートされているレベルについて詳しく知るには、 ここをクリックしてください。.

  • Log file size configuration: ユーザーは、ログファイルのサイズ、保持するアーカイブファイルの最大数、およびすべてのアーカイブファイルの合計サイズを、各コンポーネントのローリングポリシーの一部として構成できます。

  • ログファイルに加えられた変更はすべてログバックフレームワークによってスキャンされ、構成の変更が見つかるとすぐに適用され、サーバーを再起動することなくリアルタイムで有効になります。

  • 重大なシステムアラートが発生したときにシステムの一時停止、停止、停止状態に関連するログを確認するには、.xpiserver.logback.xmlログファイル内の名前がcom.magicsoftware.xpi.server.spacebridgeのログレベルをINFOからDEBUGに変更します。このファイルは、<Magic xpi のインストールフォルダ>\Runtime\Java\classesフォルダーにあります。

更新されたエントリは次のようになります:

<logger name="com.magicsoftware.xpi.server.spacebridge" additivity="false" level="DEBUG">

<appender-ref ref="gigaspaces-appender" />

</logger>

  • ServiceMaxコンポーネントのログは、Salesforceコンポーネントのlogback.xml構成ファイル（salesforce.connector.logback.xml）を使用して構成できます。

  • D365Finance Operationsのログは、d365.connector.logback.xmlを使用して構成できます。 詳細なログについては、odatacore.connector.logback.xmlで適切なログ構成を有効にしてください。

(Since version: 4.13)

関連トピック：

ログファイル

PauseOnCriticalConditions


ロギングとデバッグオプション

ロギングはシステムで何が起こっているかについて監視した結果をユーザーに提供します。 Magic xpiはユーザーがプロジェクトとMagicxpiサーバーを監視し、トラブルシューティングするのに役立つさまざまなログを提供します。

Magicxpiが提供するロギングおよびデバッグオプションのタイプは次のとおりです。

一般ログ

一般ログはxpiの実行状態とステータスに関する詳細を表示し、GigaSpacesの展開とMagicMonitorに関する情報を提供します。 ユーザーはログからプロジェクトのライフサイクルとプロジェクトの詳細について知ることもできます。 ログは、各コンポーネントから出力されたエラーと警告を強調表示し、それに基づいて必要な修正および予防措置を講じることができます。

ログは以下のフォルダに出力されます:

  • Magic xpi server logs

  • Magic xpi project logs

詳細はログファイルを参照してください。

以下のサービスのロギングも利用できます。:

  • Magic モニタ

  • Web server

  • デバッガ

  • Studio

コネクタレベルのログ

Magic xpiは各コネクタの詳細なレベルのロギングを提供します。 各コネクタログは個別のログファイルに記録されます。 ユーザーは独自のログファイルでコネクタごとに異なるレベルのログを構成できます。 コネクタにはJavaタイプと.Netタイプがあり、それぞれに独自のロギングスタイルと異なる構成があります。

  • Javaベースのコネクタ

全てのJavaベースのコネクタのロギングはlogback（log4jと同様）フレームワークを使用するように設計されています。 各コネクタの構成ファイルは、<Magic xpi Installation> \ Runtime \ Java \ classesフォルダーにあります。

詳細は Magic xpiのログ設定を参照してください。

  • Net コネクタ

一部のレガシーコネクタにはJavaコネクタログとは異なり、コネクタレベルのログが含まれる場合があります。

詳細は デバッグフラグを参照してください。

プロセスレベルデバッグ

稀にユーザーは既存のロギングメカニズムでは十分な情報が得られない状況に遭遇する可能性があります。 オペレーティングシステムまたはプロセスレベルのログは、詳細な調査とRCA分析のために追加情報として必要な場合があります。

詳細は Magic xpiをデバッグするためにデバッグツールを使用するにはを参照してください。


Local Agent コンポーネントトレースログ

Local Agent実行時のコンポーネントのトレースログの構成について説明します。

以下はFTPコネクタの例です。

Local Agentを有効にしている場合、下記の手順でftptrace_XXXX.logを取得します。:

  1. 下記のファイルを検索し、エディタで編集します。LocalAgent/bin/AgentConnector/application.properties

  2. 以下の2行をファイルに追加します。:

log.connectors.home=../../logs/connectors

log.connectors.pattern=%d{HH:mm:ss} %-5level: %msg%n

  3. 下記のファイルを検索し、エディタで編集します。

LocalAgent/bin/AgentConnector/logback.xml

  4. <property file="${instanceProperties.path}" /> の下に以下の行を追加します。

<include file="connectors.logback.xml" />

  5. 次に、Magic xpi インストールフォルダ\Runtime\Java\classesからconnectors.logback.xml とftp.connector.logback.xmlを LocalAgent/bin/AgentConnector/ folder にコピーします。

  6. connectors.logback.xml を編集します。 file. このファイルの全てのエントリを削除し、FTPコネクタの新しいエントリを下記のように追加します。:

<include file="ftp.connector.logback.xml" />

  7. ftp.connector.logback.xml を編集し、下記のようにlogger level をDEBUG をDEBUGに変更します。:

<logger name="com.magicsoftware.ftp" additivity="false" level="DEBUG">

(Since version: 4.13.2)


HTTPエラー

このトピックは、HTTPエラーとMagic xpiを使用する時の対処方法についてに説明しています。

  • HTTP エラー 401.1 ・認証が必要です：アクセスは無効な証明書のため否定されます

  • HTTP エラー 403.1 ・禁止されています：実行アクセスは拒否されました.

  • HTTP エラー 404 ・ ハンドラーマッピングはオープンできません

  • HTTP エラー 404.0 ・見つかりません

  • HTTP エラー 413 ・リクエストエンティティが大きすぎます

  • HTTP エラー 500.0 ・潜在的に危険なリクエスト

  • HTTP エラー 500.0 ・exePathはスタンドアロンexeの中で実行していない時に指定されなければなりません

  • HTTP エラー 500.0 ・要求されたサービス処理が存在しないか、フローがアクティブでありません

  • HTTP エラー 500.0 ・応答待でタイムアウトに達しました

  • HTTP エラー 500.0 ・JVM dll が読み込めませんでした

  • HTTP エラー 500.19 ・内部サーバエラー

  • HTTP エラー 500.21 ・内部サーバエラー

  • HTTP エラー 500.23 ・内部サーバエラー

  • HTTP エラー 503. サービスは利用できません.

HTTP エラー 401.1 – 認証が必要です：アクセスは無効な証明書のため否定されます

認証のために使用されたユーザは適切な証明書を持つべきです。仮想ディレクトリの［ディレクトリセキュリティ］タブをチェックしてください。参照： http://support.microsoft.com/kb/871179.

HTTP エラー 403.1 – 禁止されています：実行アクセスは拒否されました

  1. 仮想ディレクトリの［実行権利］を確認してください。少なくともScriptsのみに設定する必要があります。.

  2. Web サービス拡張で許可されたモジュールについて確認してください。.ASP.NETは許可する必要があります。

HTTP エラー 404 – ハンドラーマッピングはオープンできません

  1. .NETフレームワーク4.0がサーバにインストールされることを確認してください。%windir%\Microsoft.NET\Frameworkに移動し、v4.0…フォルダが存在していることを確認してください。

  2. 存在していない場合、.NETフレームワークをインストールします(dotNetFx40_Full_x86_x64.exe)。ここをクリックすることでファイルをダウンロードすることができます。

HTTP エラー 404.0 – 見つかりません

捜しているリソースが削除されているか、名前が変更されたか、一時的に利用できません。

オプション1： 応対されたハンドラは、インストールによって設定されていないかもしれません。

  1. ［ハンドラーマッピング］を実行します。

  2. ハンドラパラメータが正しく設定されることを確認してください。［名前］プロパティは、web.configハンドラセクションに存在している値と一致しているはずです。

オプション2：

  1. web.configファイルは、Webサイトのルートフォルダから賜与されるものです。web.configファイルが存在していて、ハンドラがその中で設定されることを確認してください。

  2. Webサイトの物理パスは、ルート上のScriptsフォルダに設定してください。

  3. webRequesterサイトは実行していなければなりません。

  4. Webサイトアプリケーション名が、アクセスしようとするアドレスと同じであることを確認してください。

  5. プロジェクトからサービストリガのリンクを使用している場合、その中のdllへのパスがダブルクオーテーション("")によって囲まれていることを確認してください。

HTTP エラー 413 – リクエストエンティティが大きすぎます

このエラーは、IISのためにサイズ制限によるものです。IISは、リクエストを受け取る場合は、デフォルトで最大 48Kのサイズで制限されます。maxRequestEntityAllowedとuploadReadAheadSizeのメタデータプロパティを、48K以下に設定してください。

例えば：

C:\Windows\System32\inetsrv>appcmd set config -section:asp -limits.maxRequestEntityAllowed:1000000

"MACHINE/WEBROOT/APPHOS"のために"system.webServer/asp"セクションの構成の変更を適用し、"MACHINE/WEBROOT/APPHOST"をコミットパスとして設定します。

C:\Windows\System32\inetsrv>appcmd.exe set config -section:system.webServer/serverRuntime /uploadReadAheadSize:1000000

"MACHINE/WEBROOT/APPHOS"のために"system.webServer/serverRuntime"セクションの構成の変更を適用し、"MACHINE/WEBROOT/APPHOST"をコミットパスとして設定します。

HTTP エラー 500.0 – 潜在的に危険なリクエスト

内部のサーバエラーが発生したため、ページが表示されません。

特殊文字を使用した場合、HTTPリクエストはIISに拒否されるかもしれません。

Webリクエスタログは、HTTPリクエストの検証で例外が含まれます。

2013-04-04 08:50:17,492 [15] ERROR AspNetWebRequester.WebRequestHandler - Exception: System.Web.HttpRequestValidationException (0x80004005): A potentially dangerous Request.Form value was detected from the client (Argument2="&#1491;&#1512;&#1493...").

at System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection)

at System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, RequestValidationSource requestCollection)

at System.Web.HttpRequest.get_Form()

at AspNetWebRequester.WebRequestHandler.ObtainQueryStringCollection() in D:\Dev\VSS_iBOLT_GS\WebRequester\ASPNetWebRequestHandler\WebRequestHandler.cs:line 172

以下を行うことでクエリ文字列の検証を無効にすることでこの問題を解決することができます。

  1. system.web エントリの配下の<installation_root>\Scriptの下のweb.configファイルで、以下を設定を行ってください。

    <httpRuntime requestValidationMode="2.0"/>

    <pages validateRequest="false" />

  2. 変更内容が反映されるには、IISを再起動してください。

HTTP エラー 500.0 – exePathはスタンドアロンexeの中で実行していない時に指定されなければなりません

内部のサーバエラーが発生したため、ページが表示されません。

このエラーは、リクエストがリクエスタに渡ったことを意味していますが、依存関係の dllファイルは見つからないか、バージョンが違う可能性があります。これは、GigaSpacesのdllファイルと関連しています。

  • <Magic xpiインストール>Runtime\Scripts\bin\GigaSpacesフォルダのGigaSpaces用dllファイルを確認して、バージョンが9.1.0.7500または空のままになっているはずです。

このエラーについての追加情報は、次を参照してください http://support.microsoft.com/kb/942031.

HTTP エラー 500.0 – 要求されたサービス処理が存在しないか、フローがアクティブでありません

内部のサーバエラーが発生したため、ページが表示されません。

このエラーは、要求されたユニークなプロジェクトのエンドポイントがプロジェクトに存在しておらず、フローがアクティブでなく、プロジェクトが全く動作していないことを意味しています。

  1. プロジェクトが実行していることをモニタで確認してください。

  2. 関連したフローがアクティブであることを確認してください。

  3. ログの追加情報を捜してくださいg (“HTTP request failed. Service operation requested does not exists or Flow inactive”).

  4. uniqueEndpointを検索し、Spaceに存在しているHttpDataオブジェクトと一致させてください。

HTTP エラー 500.0 – 応答待でタイムアウトに達しました

  • このエラーは、サーバのためのFlowRequestメッセージへのWebリクエストの変換と関連しています。projectKeyのような 必須のパラメータが指定されていないかもしれません。

2012-12-11 16:40:16,837 [ERROR]:[magicxpi.spaceservices.space]: CONVERT_FAILED. Converting HttpRequest to FlowRequest failed. General error. HttpReqeust: exchangeId=[18446744073708994119] [PID:18832:GS-http2IFR-1] Http2IFR.processHttpReq:-1

com.magicsoftware.xpi.server.common.ApplicationException: The request does not contain a projectKey. ("appname" variable)

  • このエラーも、リクエストURLのエスケープコードのためであり、URLは切りつめられるかもしれません。詳細は次を参照してください： http://www.december.com/html/spec/esccodes.html. 項目間にアンパサンド(&)があり空白が無いこと、そしてサービス処理は番号記号(#)の代わりに%23が含まれていることをを確認してください。

HTTP エラー 500.0 – JVM dll が読み込めませんでした

内部のサーバエラーが発生したため、ページが表示されません。

このエラーが発生した場合、<Magic xpiインストール>\Runtime\Scripts\config\Logs フォルダにあるWebリクエスタのログに error 126 が含まれます。

"2016-08-08 16:53:48,928 [6] ERROR AspNetWebRequester.WebRequestHandler - Exception: GigaSpaces.NetToJava.NetToJavaException: Unable to load JVM dll [c:\Magic xpi 4.6\JRE\bin\client\jvm.dll], error code 126

at GigaSpaces.NetToJava.JVMBridge.LoadDll(String dllFile)

at GigaSpaces.NetToJava.JVMBridge.LoadJVMModuleIfNeeded(IJVMConfig jvmConfig)

at GigaSpaces.NetToJava.JVMBridge.GetJvmIfExists(IJVMConfig jvmConfig)

at GigaSpaces.NetToJava.JVMBridge.InitJVM(IJVMConfig jvmConfig)

at GigaSpaces.Core.Internal.Providers.Cmd.CmdSpaceProxyFactory..ctor(XapNetEnvironment xapNetEnv)

at GigaSpaces.Core.GigaSpacesFactory.Initialize()

at GigaSpaces.Core.GigaSpacesFactory.FindSpace(String url, SpaceConfig spaceConfig, SecurityContext securityContext)

at AspNetWebRequester.WebRequestHandler.ProcessRequest(HttpContext httpContext)"

このエラーは64ビットと32ビットのdllファイルの間での不適当な組合せに関連しています。

64ビットのOS上では、Magic xpi の x86サーバとJavaバージョンで動作するため x86 dlls の.NETフレームワークをインストールする必要があります。

  1. .NETフレームワーク4.0がターゲットPCにインストールされていることを確認してください。

  2. .NETフレームワークをインストールする必要がある場合、.NETフレームワーク4.0をインストールするために、dotNetFx40_Full_x86_x64.exe[~49、268KB]をインストールしてください。.NETフレームワーク4.0(dotNetFx40_Full_setup.exe [~869KB])のWebインストーラバージョンを実行することは、対応したプラットフォーム(64ビットのサーバ上で、32ビットがサポートされないことを意味しています)のために必要なファイルだけをダウンロードします。古いバージョンでは、Magic xpiのリクエスタは動作しません。

  3. .NETフレームワークをインストールした後に、IISコンソールからの通常のリセットが動作しないかもしれません。管理者権限でを持つコマンドラインからiisresetコマンドを実行してください。

注意： 64ビットの設定でIISベースのWebリクエスタを実行させるには、追加の設定が必要です。追加設定なしでは動作しません。以下の追加の手順が必要となります。

  1. 64ビットのフォルダからScripts\binフォルダにdllファイルをコピーしてください。

  2. Webサイトが、64ビットをサポートするアプリケーションプールを参照することを確認してください。

  3. Java 64ビットのバージョンをシステム環境変数（PATH | JAVA_HOME）にインストールし、設定してください。

HTTP エラー 500.19 – 内部サーバエラー

ページに関連した構成データが無効なため、要求されたページにアクセスすることができません。

  • Webリクエスタが、インストールされたJREとGigaSpacesフォルダにアクセスする必要があるため、検証されたユーザ権利をMagic xpaのインストールフォルダに追加してください。

さらに、特定の機能がサーバにインストールされていなければ、このエラーが発生するかもしれません。それをインストールすると、再起動する必要があります。

最初に、ASP.NET 4.5 の機能がインストールされるかどうかを確認してください。

  1. サーバマネジャーを開き、［役割と機能の追加］をクリックしてください。

  2. ［役割］セクションで、Webサーバを選択してください。

    • ［セキュリティ］のサブセクションで、すべて選択してください。

    • ［アプリケーション開発］セクションで、.NET 4.5拡張、ASP.NET 4.5、およびISAPIエントリを選択してください。

  3. ［機能］セクションで、. NET3.5、.NET 4.5、およびASP.NET 4.5 を選択してください。

  4. ［Webサーバ］セクションで、Webサーバ(すべて)、管理ツール(IIS管理コンソールと管理サービス)、Windows認証 を使用している場合は選択してください。

64ビットのOS上で、以下を行います。

  1. .NET 4 のフルクライアント(dotNetFx40_Full_x86_x64.exe)がインストールされていることを確認してください。

  2. MicrosoftのVC++ 2010 再配布可能パッケージ(vcredist_x86.exe)がインストールさられることを確認してください。

  3. applicationHost.configファイルで、overrideModeDefault 属性を、Allow に設定してください。

C:\Windows\System32\inetsrv\config\applicationHost.config

<sectionGroup name="system.webServer">

....

<section name="handlers" overrideModeDefault="Allow" />

....

  4. 検証されているユーザ権利をインストールフォルダから削除してください。

HTTP エラー 500.21 – 内部サーバエラー

  1. ASP.NET機能がインストールされたかどうかを、［Windowsの機能］ダイアログボックスで確認してください。

  2. ASP.NETのインストールが正しく登録されていないかもしれません。それを登録するために以下を試してください。

  • 管理者権限を持つ コマンドプロンプトから以下のコマンドを実行してください。 %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

HTTP エラー 500.23 – 内部サーバエラー

ASP.NET 設定が、統合されたマネージ パイプライン モードで適用されないことが検出されました。

IIS 6とIIS7の両方で1つの web.configファイル（Magic xpi の Web.configファイル）を使用する場合、system.webServerエントリに検証エントリを設定する必要があります。

<Magic xpiインストール>\Runtime\Scripts フォルダのweb.configファイルに以下の行が含まれていることを確認してください。

<system.webServer>

...

<validation validateIntegratedModeConfiguration="false" />

</system.webServer>

HTTP エラー 503. サービスは利用できません

関連したアプリケーションプールが不意に停止した場合、.NETバージョンがサーバにインストールされないことを示しているかもしれません。

  1. 関連したアプリケーションプールがまだ実行しているかどうかを確認してください。それが停止している場合、以下の項目が.NETフレームワーク4.0オプションが無いためなのかを確認してください。

  2. .NETフレームワーク4.0をインストールした後に、関連したアプリケーションプールが再起動されていることを確認してください。まだ停止している場合、手動で再起動してください。

  3. NETフレームワーク4.0がPCにインストールされるかどうかを確認してください。PCには、%windir%\Microsoft.NET\Framework\v4.0.30319 フォルダに .NET 4.0 の内容がある必要があります。

  4. .NET 4 フルクライアント(dotNetFx40_Full_x86_x64.exe)がインストールされていることを確認してください。

  5. アプリケーションと関連したアプリケーションプールを開始してください。

  6. 必要ならば、管理者権限で次のコマンドを実行してください： C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

  7. インストールのルートディレクトリが書込権利を持っているかどうかを確認してください。


HTTP トラブルシューティング

Q

HTTPトリガーを含むプロジェクトの最初のWebリクエストがロードされるのに長時間かかいます。場合によっては1分以上かかるのですが、後続のリクエストが処理されるのはなぜですか。

通常時は、プロジェクトが15〜20分のように長時間アイドル状態のままになった後も、同じ動作が見られます。

A

理由の1つは、Magic xpiで内部的に使用されているIISサーバのHTTPタイムアウトによるものです。この問題を解決するには、以下のステップを実行してください。

  1. インターネットインフォメーションサービス（IIS）マネージャを開きます。

  2. サイトに移動してメニューを展開します。

  3. [Default Web Site]の下の"Magicxpi4.x"に移動します。

  4. [詳細設定]ボタンをクリックして、アプリケーションプールがMagicxpi4AppPool_x64"に設定されていることを確認します。

  5. ［アプリケーションプール］に移動します。

  6. "Magicxpi4AppPool_x86"にパークして、[詳細設定]ボタンをクリックします。

  7. [プロセスモデル]セクションの、[アイドル状態のタイムアウト（分）]パラメータに必要な値を設定します。デフォルトは"20"です。

  8. ［アイドルタイムアウトの操作］パラメータの値を"Suspend" に設定します。終了がデフォルトになります。（IIS 8以上）


コンポーネントのトラブルシューティング

Q

「エラー24：エラーコード［###］、選択されたコンポーネント［##］が存在しません」というエラーを解決するには?

A

このエラーを解決するには、以下の手順に従ってください。

  1. Magic xpi スタジオで：

  • ［プロジェクト］メニューを開き、［エラー］を選択します。

  • ［コンポーネント］ボタンをクリックして、コンポーネントが選択されることを確認してください。

  • ドロップダウンリストからコンポーネントを選択してください。

  • 関連するエラーが表示されたら、問題は解決されます。

  2. ステップ1で問題が解決しない場合：

  • 新しいプロジェクトを作成してください。

  • プロジェクトを保存してください。

  • プロジェクトからフローの出力／入力を行ってください。

Q

特定のコンポーネントを開くのに時間がかかります

A

サードパーティサーバからエンティティをロードするコンポーネントを最初に開く時のみ、これが発生します。 Since version: 4.5

Q

Magic.iniファイルにSoapSpyAddressエントリがあるのに、Exchange Serverとの接続が失敗します。

A

Magic.iniファイルにSoapSpyAddressエントリがあり、Exchange Serverを使用している場合、以下のエラーメッセージを受け取ります： “Connection to the requested Exchange server could not be established. Exchange call error:.......: Connection refused: connect”.

SoapSpyAddressを定義する時、実際は、http.proxyHostとhttp.proxyPort のJava システムプロパティを定義しています。これらの定義は、Web Servicesを使用しており、Java(Salesforce、Dynamic CRM、Exchange、SharePointなど)に基づくどのようなコンポーネントに対しても影響します。これはプロキシを使用して動作しますが、SystinetプロキシはHTTPsを処理することができません。

従って、接続は失敗します。


データマッパーのトラブルシューティング

Q

プロジェクトを保存できません。

A

サポートされていないタイプを使用した場合､エラーが発生することがあります。もしプロジェクトの保存に失敗し、データマッパステップに問題があるというメッセージが表示された場合、プロジェクトで使用しているタイプがMagic xpiで正しく認識されているかを確認する必要があります。

プロジェクトの保存の詳細についてここをクリックしてください。

Q

どのようにしたらSQL文を参照できますか？

A

もし、データベースを使用していて、データベースに送られたSQL文を参照したい時、プロジェクトがサーバで実行している場合はifs.iniのDebugMapper=Y フラグを使用することができます。代わりに、IFS設定インタフェースを使用してデータマッパログを有効にすることができます。

データマッパーユーティリティをデバッグすることの詳細についてここをクリックしてください。

Q

マッピング接続を定義するとエラーが発生します。

A

異なるタイプのノード間のデータマッパー接続の一部は許可されておらず、以下のエラーが返されます。

Warning 124 – Mismatch in Data Mapper connection type

以下が正しくない接続タイプの一覧です。

Alpha | > | Logical
Numeric | > | Date
Numeric | > | Time
Date | > | Numeric
Date | > | Time
Date | > | Logical
Time | > | Logical
Time | > | Numeric
Time | > | Date
Logical | > | Alpha
Logical | > | Date
Logical | > | Time

Q

何故 "Invalid Statement" エラーが発生するのですか？

A

SQL文の最後まで送られたのにも関わらずInvalid Statementエラーを受け取った場合、これはデータマッパサービスを使用してオーナがdboではないテーブルにINSERTを行なおうとし、データベースの送り先に対してテーブルのオーナ（Magic xpiのテーブルではMagic xpiの代わりにsa ）によって接続しなかったたためです。この動作はMagic xpiでは許可されていません。

Q

送り元と送り先で18桁より大きい数字を使用した場合、どうなるのでしょうかか？

A

送り元の数値の書式が18桁より大きい場合、「書式が正しくありません」という警告がデータマッパーで作成されます。

送り先の数値の書式が18桁より大きい場合、エラーが作成されます。エラーを修正するには、書式を18桁以下に変更して、常に新規書式を使用するのチェックボックスをチェックします。

Q

データマッパウインドウは、可視画面より大きく表示されます。これを修正するにはどうすればいいですか？

A

画面の解像度を1280×800または1280×1024に変更してください。

DPIの設定が通常のサイズ（96dpi）に設定されていることを確認してください：以下のようにします。

  1. デスクトップ上で右クリックして［個人設定］を選択します。［個人設定のプロパティ］ダイアログボックスが開きます。左側のメニューから［ディスプレイ］を選択します。

  2. ［カスタムサイズの設定（DPI）］を選択します。［カスタムDPI設定]ダイアログボックスが開きます。

  3. DPIを設定しているパラメータが通常のサイズ（96dpi)に設定されることを確認してください。

  4. ［OK］をクリックしてこれらのダイアログボックスを閉じます。

Q

データマッパーは、フラットファイル内の負数を正数に変換します。これを止めるにはどうすれいいですか？

A

このような動作を防止するには、フラットファイルの［フォーマット］カラムで数値を表す Nを追加してください。

Q

式エディタで有効な式を入力したのにもかかわらず、「不正な変数」というメッセージが表示されます。

A

データマッパーでは、転送先の要素に式を追加し、式は送り元からノードに基づいています。そして、予約語が含まれ、Trueと評価され、予約語が検証された上で先頭の文字が変換されます。そして、再び式を検証すると、無効となり、「不正な変数」というメッセージが表示されます。

例：

Salesforce object Case: IF (Source/S4/CASE/row/Fields/Type ='a','b','c')

（送り元がXMLの場合、XSDはsalesforce\XSD\Salesforce_1\Case.xsdです。そして、出力先は任意のタイプです。)

'Source/S4/CASE/row/Fields/AccountId' を入力した場合のみ、正しく動作します。しかし、式の範囲内でそれを使用すると、問題が発生します。

したがって、［検証］をクリックすると、予約語を見つけた時に誤判定があるため、式は破損します。［検証］をクリックしない場合は、代わりに［OK］をクリックすると、正しく動作します。式がすでに無効と判断された場合、書き直す必要があります。

Q

データマッパーでJSONを使用して動作すると、"Unexpected character encountered while parsing value:" というエラーが発生します

A

無効なJSONスキーマファイルを選択すると、このエラーが発生します。

Q

データマッパーで使用して、フラットファイルが作成されず、「Destination directory does not exist」というメッセージを受け取ります

A

これはマッピングされたネットワークドライブを使用してる場合に発生します。Magic xpiサービスは、ネットワークドライブ上のファイルを作成するために十分な権利が無いのかもしれません。解決法の１つは、マッピングを持続的にすることです。サービスがこのセッションでマッピングされたドライブを参照できるように、mapコマンドをmagicxpi-setenv.batファイルに追加することで、これを行うことができます。

Q11

"455: Source XML is not well formed"というエラーが発生します。

A11

このエラーは、XMLの書式が正しくないか、XML自身が正しくても予期されているXMLと一致していないかもしれません。

Q

"Missing Format or Picture definition" というエラーが発生します

A

xs:unionフィールドタイプなどのデフォルトのデータタイプにマッピングされていないスキーマに、フィールドタイプがある場合、このエラーが発生します。この問題を解決するには、デフォルトデータフォーマットリポジトリでフィールドタイプを定義する必要があります。

移行中に、マッパ内でマッピングされたフィールドタイプを持っていて、デフォルトデータタイプにマッピングされない場合、移行処理後にフィールドタイプを定義する必要があるチェッカーのエラーを受けとることになります。

注意：デフォルトデータタイプは、特定のスキーマ、またはプロジェクト全体(デフォルトデータフォーマットのエントリがどこで定義されるかによります)に対して設定することができます。

Q

SQLからの空の結果がマップされるときに、データマッパーが不完全なUserXMLを返すのはなぜですか？

A

データマッパーコンポーネントで、SQLの空の結果が宛先ペインのXMLにマップされると、不完全なUserXMLが生成されます。

これを修正するには、IncludeEmptyRootElementという名前のユーザー環境変数を追加し、その値をYに設定する必要があります。既存のプロジェクトの場合は、プロジェクトを再ビルドします。

Q

プロジェクトに非常に大きなデータ変換ファイルが含まれている場合、Magic xpiプロジェクトがUNINITIALIZEDの状態で立ち往生してしまうのはなぜですか？

A

この原因の一つは、Javaメモリのヒープ領域の割り当てが少ないことが考えられます。

この問題を解決するには、Javaメモリのヒープ領域の割り当てを増加させます。同じことを行うには、以下の手順に従ってください。

  • magic.iniファイルを開き、[MAGIC_JAVA]セクションのJVM_ARGS=フラグに移動します。デフォルトでは -Xms32m -Xmx256m に設定されています。

  • ヒープ空間のメモリをより大きな値に変更します。例えば、-Xms256m -Xmx1024mとし、エラーが解消されたかどうかを確認します。

Q

XML データベースに blob 要素があると、スレッドがクラッシュしてエラーが発生するのはなぜですか？

A

送り元データベーススキーマのblob型のフィールドが送り先スキーマにマップされていない場合、実行時にスレッドがクラッシュし、Magicモニターに「メインスレッドが異常終了しました。リカバリが実行されました」というエラーが表示されます。また、ランタイムログには、次のエラーが表示されます。[エラー] - ERR-THREAD-ABORTED (-139), Program: "Main Program" error.

このエラーを修正するには、スキーマを正しくマップし、マップされていないblob要素をソーススキーマから削除します。 マッパを保存後、プロジェクトを再度実行します。

Q

データマッパの追加オペレーションでエラー「不正な項目名です」が表示されるのはなぜですか？

A

このエラーは項目名にドット(.)のような特殊文字が含まれる場合に発生します。このエラーの発生を防ぐには、データマッパでSQL文を作成する際に項目名を中括弧（[]）で囲ってください。

Q

送り先の計算値フィールドでハイフンを含むノード名を持つXSD要素が使用されている場合、データマッパで「認識されないデータ型を使用できません」というエラーが発生するのはなぜですか？

A

このエラーは、Magic xpiの式エディタが特定の特殊文字を処理できないために発生します。 この問題を解決するには、objOldName関数を使用してノード名をラップします。

Q

データベースでレコードロックが発生している場合、実行時にエラーは発生せず、データマッパステップでスタックします。どうしたらいいでしょうか。

A

この問題はデータベースのデフォルトのLOCK_TIMEOUTが無限に設定されている場合に発生する可能性があります。その結果、データマッパはレコードロックが解除されるまでスタックします。

これを解決するには、データマッパでLOCK_TIMEOUTを手動で設定する必要があります。送り先エントリに動的SQL文を追加することで設定できます。動的SQL文は次のように設定します。：Set lock_timeout <ミリ秒>

例： Set lock_timeout 500

タイムアウトには適切な値を設定してください。

注意：この動的SQL文は、ロックが原因でスタックしているSQL文の前に設定する必要があります。

Q

データマッパでJDBCエントリを使用した場合、Unicode文字を挿入すると不正な文字”?”が挿入されるのはなぜですか？

A

考えられる一つの理由として、Magic xpiとMySQLサーバデータベースのエンコードの不一致があります。その結果、不正な文字”?”挿入されます。

この場合、エンコードの不一致を解決するために、JDBCリソースのJDBC URLにcharacterEncoding パラメータを追加してください。

例:

jdbc:mysql://127.0.0.1:3306/<Schema Name>?characterEncoding=UTF-8


データベースのトラブルシューティング

MS-SQL データベース

Q

ドイツ語版のMSSQLサーバを搭載したMS Server 2000 と 2003 にMagic xpiをインストールした時に､date_format 環境変数を正しく設定していなかった場合どうしたらよいでしょうか？

A

magic.ini ファイルで 内部データベースの日付書式と合うようにdate_format 環境変数を手動で設定する必要があります。

Q

データベースのリソースで検証で成功したにも関わらず、実行時にエラー「文字 ’-’ 付近で不正な構文エラーが発生しました」が発生するのはなぜですか。

A

MSSQLではハイフン ’-’ はデータベース名として認められていません。この制限を解除するにはデータベース名を中括弧[ ]で囲んでください。

Q

Blobデータの更新中に、更新、削除、動的およびUPSERT操作がMSSQL Serverデータベースの「エラー9805：1つ以上の必須パラメーターに値が指定されていません」で失敗するのはなぜですか？

A

このエラーが発生する理由の一つは、データスキーマがバイナリBlobデータを処理する方法にあります。データベースのレコードを修正する時、動的SQL文はPDFテキストのようなBlobデータを文字列として取り扱い、バイナリとして処理しません。

このエラーを解決するために、以下のように実行してください。

  • 更新ステップにおいて、更新データベーススキーマの前に新しい変数スキーマを追加して、Blob変数が次のように更新されるようにします。更新ステップには、次のようにブロブ変数が更新されるように、更新データベーススキーマの前に新しい変数スキーマを追加します。

ASCIIChr (39)&RTrim (RepStr (<Blob Variable>,ASCIIChr (39),ASCIIChr (39)&ASCIIChr (39)))&ASCIIChr (39).

例えば、Blob変数がC.UserBlobの場合、次のようになります。

ASCIIChr (39)&RTrim (RepStr (C.UserBlob,ASCIIChr (39),ASCIIChr (39)&ASCIIChr (39)))&ASCIIChr (39).

  • 更新スキーマを動的に変更します。その後、SQL文を次のように変更します。

UPDATE dbo.[Blob_Data] SET Blob=CONVERT(varbinary(max),<?C.UserBlob?>) WHERE dbo.[Blob_Data].Id=1

Oracle データベース

Q

"System Property oracle.net.tns_admin was empty" というエラーが発生するのは何故ですか?

A

内部データベースをOracleに変更しようとすると、このエラーが発生することがあります。

この問題を解決するには、GigaSpaces-xpa\bin\magicxpi-setenv.bat> ADDITIONAL_OPTIONS を oracle.net.tns_adminのjvm引数で更新してください。

これは、TNSNAMES.ORAファイルを含むフォルダです。

set ADDITIONAL_OPTIONS=%ADDITIONAL_OPTIONS% -Dcom.magicsoftware.ibolt.home=%MAGIC_XPI_HOME%\runtime -Doracle.net.tns_admin=$ORACLE_HOME/network/admin

Q

なぜ、ORA-01858データベースエラーのメッセージがMagic xpiモニタで発生するのでしょうか？

A

ORA-01858データベースエラーのメッセージは、数値を指定する箇所に数値以外の文字が指定されていることを意味しています。

このエラーは日付フィールドの書式と関係があり、無効な日付表示形式が設定された場合に発生します。

この問題を防止するには、正しい日付表示形式を入力することです。magic.iniの［MAGIC_LOGICAL_NAMES］セクションのdate_formatフィールドは、内部のデータベースの日付表示形式と同じにする必要があります。

Q

OracleデータベースのSelect count(*)ステートメントは、N22の書式が返るのは何故ですか？

A

N22の書式（Magic xpiでは有効でありません）は、実際はOracleから来ます。これを防ぐには、ステートメントにキャストを追加してください。これは、値をMagic xpiによって処理することができる書式に変換します。

しかし、チェッカーによって無効な数値書式であることを通知します。

Q

数値を使用すると、ORA-01722というエラーが表示されます。どのようにたら、解決することができますか？

A

ORA-01722エラーは、数値が間違ったフォーマットでデータベースに送られたことを示します。Magic xpiは、ドット（.)による小数点が設定された数値のみ使用できます。

以下のことをチェックししてください。

  1. OSの地域設定で、小数点がドット（.)に設定されているか、そして、桁区切りがカンマ（,)に設定されていることを確認してください。

  2. 次のコマンドを実行して、サーバの設定をチェックしてください。:
    select * from nls_database_parameters;
    NLS_NUMERIC_CHARACTERS は、ドット（.)カンマ（.)でなければなりません。. (The NLS_NUMERIC_CHARACTERS .,).

  3. 使用しているPCのレジストリで32ビットOSに対応したsoftware\OracleでOracleの設定を確認し、64ビットOSに対応したsoftware\wow6432Node\Oracleの設定を確認してください。
    NLS_TERRITORYは、AMERICAでなければなりません。例、AMERICAN_AMERICA.WE8MSWIN1252。

Q

Oracleスクリプトを実行しようとすると、"ORA-65096: invalid common user or role name" エラーが発生します。

A

Oracle12cのデータベース上でスクリプトを実行しようとすると、このエラーが発生するかもしれません。

この問題を解決するには、"Magic xpi の内部データベースを変更するには”のトピックのステップ#5の手順に従ってください。

MySQL データベース

Q

MySQLデータベースを使用する時に、不正な時刻値のエラーが発生します。

A

時刻関数を使用する時に、MySQL 5.1.4データベースを使用していると、以下のエラーが発生するかもしれません。

- Error 9804: [MySQL][ODBC 5.1 Driver][mysqld-5.6.20]Incorrect time value: '14:39:23''14:39:2' for column 'time_1' at row 1

この問題を解決するには、MySQL 5.3.4以上をインストールしてください。

DB2/400 データベース

Q

DB2/400内部データベースを使用してプロジェクトを実行する時、GS-UIで次のエラーが発生します： 'mgmirror-gs [1] ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] - Data truncation'?

A

非常に大きなXML BLOBを使用する時、このエラーが発生するかもしれません。この問題を解決するには、より大きなUSER_BLOBカラム(USERBLOB)を定義してください。

例えば：USERBLOB BLOB(10000000)

ODBCデータベース

Q

データマッパーでODBC経由のSQL Serverを使用する間に、DBスキーマプロパティ値が正しく表示されません。

A

Magic xpi スタジオを使用して SQL ServerのためにネイティブのMicrosoft ODBCドライバを使用するには、data_types.xmlファイルの情報をdata_types_MSSQLODBC.xmlファイルからに値に置き換える必要があります。

これらのファイルはどちらも、以下の配置されています。

<Magic xpiインストール>\Studio

Q

Postgreデータベースを使用する場合、ODBCドライバを使用したデータベース接続が作成されないのはなぜですか？

A

システムにインストールされているPostgre ODBCデータベースドライバのバージョンがMagic xpiのインストールと互換性がないため、データベース接続の作成に失敗します。この問題を解決するには、Postgre ODBCデータベースドライバの09.03.0400または10.00バージョンをインストールしてください。これらのバージョンはどちらも Magic xpi と互換性があります。

一般

Q

プロジェクトをビルドすると下記のエラーが出力されます。

  • データベースリソースに暗黙で作成された変数名と、ユーザ環境変数名が重複しています。

  • 暗黙に作成されたユーザ環境変数名とデータベースリソース名が重複しています。

A

データベースのリソース名が<ResourceName>の場合、環境変数に<ResouceName>_db, <ResourceName>_server, <ResourceName>_userのエントリがあるとエラーになります。

Q

ストアドプロシージャに対して複数のリクエストを同時に実行すると、データマッパーステップがエラーで失敗するのはなぜですか？

A

このエラーが発生する理由の1つとして、使用可能な接続がないためフローが終了した可能性があげられます。この場合、データベーススキーマのデータベース接続制限を超えているかどうかを確認します。この制限は、Magic xpaの最大接続数プロパティによって制御され、Magicxpaスタジオから変更する必要があります。以下の手順で設定してください。

  1. デスクトップに作成したMagic xpiのショートカットフォルダからMagicxpaStudioを開きます。

  2. [オプション]-> [設定]-> [DBMS]を開きます。

  3. 必要なデータベースを選択し、Alt + Enterを押すと、[DBMS]ウィンドウが開きます。

  4. [最大接続数]ボックスに目的の値を入力します。この値はMagic.iniファイルに反映されます。

Q

プロジェクトの実行中に接続が失われた場合、データベースの再接続を開始するにはどうすればよいですか？

A

フローでデータベースの再接続を開始するには、次の手順を実行します。:

  1. データベースの再接続が必要なフローで、エラーフローまたはエラーポリシーを定義します。

  2. エラーフローで、送り元または送り先のいずれかにデータベーススキーマを含むデータマッパーステップを追加します。

  3. このステップでデータベーススキーマプロパティのDB切断を[はい]に設定します。.

この構成でデータベース接続が失われると、エラーフローが呼び出されます。 エラーフローでは、エラー変数がリセットされます。 データベース接続も再開および復元され、メインフローに戻ります。

これにより、接続が成功した状態でメインフローが再び実行されます。

Q

Zulu JDK version 1.8_292でJDBCリソース検証がエラーになるのはなぜですか。

A

Zulu JDK 292 はデフォルトではTLS1.2以前のバージョンをサポートしていないため、エラーになる可能性があります。

有効にするには下記の内容を実行してください。:

  1. JDKフォルダに移動します。

  2. JDKフォルダで、jre\lib\security下にあるjava.securityを開いてください。

  3. このファイルでjdk.tls.disabledAlgorithmsをコメントにしてください。その行をコメントにするには、行の左端に#（ハッシュ）を追加してください。

例えば、下記java.securityファイルの場合:

jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \ DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \ include jdk.disabled.namedCurves

これを下記のようにコメントにします。:

# jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \ DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \ include jdk.disabled.namedCurves

Q

プロジェクト実行中にデータベース接続を再接続するにはどうしたらよいでしょうか。

A

フロー中でデータベースの再接続をする場合は、下記の手順で行います。:

  1. データベース再接続が必要なビジネスプロセスフローで、エラーフローかエラーポリシーを定義します。

  2. エラーフローで、データマッパステップを追加し、データベースエントリを送り元か送り先に追加します。

  3. このステップで、データベースエントリのプロパティで「DB切断」をYesにします。.

この設定を行うと、データベース接続が切断された場合、エラーフローが起動されます。エラーフローでは、エラー変数がリセットされます。データベース接続も再接続され、処理はメインフローに戻ります。

これにより、データベース接続が復旧した状態でメインフローが実行されます。


デバッガのトラブルシューティング

Q

「スペースからのデータの取得に失敗しました」エラーが表示され、デバッガが起動しないのはなぜですか？

A

このエラーが発生する理由の一つとして、デバッグモードからデザインモードに移行し、その後またデバッグモードに戻る時に、スケジューラウインドウが開いたままになっている場合があります。この問題は、Magic xpiのユーザプロファイルフォルダを削除することで解決します。

その場合、下記を実行してください。

  1. Magic xpi スタジオを終了する

  2. 下記フォルダに移動する： C:\Users<UserName>\AppData\Roaming\Magicsoftware\XPIStudio\2.0

  3. 2.0フォルダのフォルダ内容を削除する

  4. Magic xpi スタジオを再起動し、デバッガを開始する

他の原因としては、デバッグ サーバからスペースに到達するための接続タイムアウトが考えられます。 その場合はデバッグ タイムアウト値を増やします。 詳細については、デバッガのタイムアウト設定を参照してください。


配備のトラブルシューティング

Q | なぜ、プロジェクトが正しく配備できないのでしょうか？
A | サービスとしてMagic xpiを動作させる場合、ネットワークドライブにマッピングして使用しないでください。 これによってプロジェクト配備の段階で発生する可能性のある問題を防止することができます。これは、顧客環境で開発環境と同じマップドライブを使用することになりかねないからです。 読込専用ファイルは処理できません。
Q | ［ビルドソリューション］、または［リビルドソリューション］を使用してプロジェクトをビルドしようとした場合に、"Failed to create project's .ecf file"という エラーが発生します。
A | ifs.iniファイルやMagic.iniファイルのLicenseNameフラグに有効なライセンス（例：IBNPSRV）が設定されていることを確認してください。 Magic.iniファイルのLicenseFileパラメータが正しいパスで定義されていることを確認してください。 PC上のユーザーアクセス制御(UAC)が無効になっていることを確認してください。
Q | プロジェクトは、24時間後にシャットダウンしてしまします
A | プロジェクトを配備する際、製品ライセンスを使用しなければなりません。製品ライセンスを使用していない場合、プロジェクトは24時間後にシャットダウンします。


Directory Scannerのトラブルシューティング

Q

別のサーバ(リモートアクセス)に配置されたファイルを移動するためにDirectory Scannerコンポーネント(ステップまたはトリガとして)を使用する時に、「ソースディレクトリは存在していません」というエラーが発生します。

A

Magic xpiがサービスとしてインストールされた場合、(Directory Scannerまたは他のすべてのコンポーネントを使用して)リモートで動作させたいのであれば、以下を確認してください。

  1. リモートディレクトリへのアクセス権が正しく設定されているか。

  2. このディレクトリは、Magic xpiのPCからリモートでアクセス可能か。

これらの要件の両方が確認されたら、Magic xpiサービスの設定を確認してください。Magic xpiサービスは、ローカルログオンではなくアカウントによって設定する必要があります。(定義によって、ローカルログオンによって設定されるサービスがローカルな動作のみに制限されることに注意してください。)

新しい指定ユーザを作成し、必要な権利をそのユーザに与え、サービス設定でこのユーザを使用する必要があります。サービスを開始するために、このユーザでシステムにログオンしてください。このユーザとしてログオンされた時、システムからログアウトしていないことを確認してください。


表示のトラブルシューティング

Q | 関数と変数などのアイコンが式エディタに表示されません
A | プロジェクト環境変数を、Magic xpiのインストールフォルダ以外の位置に移動した場合、式エディタのアイコンは表示されません。
Q | Magic xpiの画面がはっきり表示されません
A | Magic xpiの最適な画面解像度は1024x768です。それ以下の解像度を選択すると、Magic xpiの画面がはっきりと表示されないかもしれません。
Q | ドイツ語のOSで実行させた場合、式エディタで左丸括弧を入力しても関数構造が表示されません。右丸括弧を入力してから（例えば：CASE) ）、または関数を閉じたときにのみ関数情報が表示されます。
A | この問題を解決するには、米国キーボードを追加し、キーボードとしてそれを選択してください。
Q | ステップをドラッグするか削除する時、または［処理モード］プロパティを変更する時に、ズームが変更されます。
A | これらのシナリオで、フローは再描画され、これによってフォーカスが変更されます。


Dominoのトラブルシューティング

Q | 「発信者通知後」および「プライベートマーク」が［Modify Document］メソッドで変更されないのはなぜですか？
A | ［Modify Document］メソッドで「発信者通知後」および「プライベートマーク」を変更するには、文書を追加する際に、［レビューに提出］パラメータをNoに設定してください。
Q | 「レビューに提出」パラメータがYesに設定されている場合、［Add Document］メソッドは「Add Document NotesException: 400 Notesエラー：IDファイルを開くことができませんでした」というエラーを出力します。
A | このエラーが発生する理由の一つは、Dominoサーバがパスワードなしでローカルに構成されている可能性があります。これを解決するには、ローカルセットアップのパスワードを定義するか、リモートセットアップを使用します。
Q | 招待メールがLotusクライアントの受信トレイにある場合、「Delete Email」メソッドで削除できないのはなぜですか？
A | これを解決するには、［Delete Email］メソッドの代わりに［Delete Calendar Entries］メソッドを使用して、Lotusクライアントの受信トレイから招待メールを削除します。


Dynamics AX 2012のトラブルシューティング

Q

複数の顧客を削除するために、Dynamics AX 2012コネクタでDeleteオペレーションを使用しても、1人の顧客だけが削除されます。

A

レコードがKeyField要素にマッピングされていると発生します。マッピング段階で、Read、Update、およびDeleteの各オペレーションを使用する時、1回の処理で複数のレコードのリクエストを送りたいのであれば、EntityKey要素を使用する必要があり、KeyField要素は使用しないでください。

1レコードだけの場合は、KeyFieldレコードまたはEntityKeyレコードのどちらかを使用することができます。

Q

RecID要素にマップスするためにDynamics AX 2012コネクタでUpdateオペレーションを使用すると、オペレーションは失敗します。

A

これを防止するには、RecIDの書式サイズを9から12に変更してください。

Q

“The maximum message size quota for incoming messages (65536) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element” というエラーが発生します。

A

Dynamics AX 2012コネクタが15人を超える顧客(カスタマサービス)のためにFindまたはReadの各オペレーションを使用する時、Activity Log\C.Sys.ErrorDescription変数に以下のエラーが記録されます。

Error 1251: Dynamics AX call error: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.

System.ServiceModel.CommunicationException: The maximum message size quota for incoming messages (65536) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element. ---> System.ServiceModel.QuotaExceededException: The maximum message size quota for incoming messages (65536) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element

.NETフレームワーク3.5または4.0がインストールされているPC上でDynamics AX 2012コネクタを実行する時、<binding name>タグの配下のclient.configファイルに maxBufferSizeとmaxReceivedMessageSizeのパラメータが定義されています。このエラーを防止するには、maxBufferSizeとmaxReceivedMessageSizeの各パラメータにより高い値に設定する必要があります。

.NETフレームワーク4.5がインストールされているPC上でDynamics AX 2012コネクタを使用する場合は、client.configファイルにこれらのパラメータが無いため、手動で設定する必要があります。

注意：client.configファイルのパラメータへの変更は、即有効になります。Magic xpiのプロジェクトを再起動する必要はありません。

Q

“System.TimeoutException: This request operation sent to net.tcp://ax2012r2a:8201/DynamicsAx/Services/TestCustomer did not receive a reply within the configured timeout (00:05:00). The time allotted to this operation may have been a portion of a longer timeout.” というエラーが発生します。

注意： net.tcp://ax2012r2a:8201/DynamicsAx/Services/TestCustomer はただの例です。この問題はどのようなWSDL URIを指定しても発生する可能性があります。

A

Deleteオペレーションが300を超えるレコードのために実行されると、System.TimeoutExceptionエラーが Activity Log\C.Sys.ErrorDescription 変数に記録されます。

System.TimeoutExceptionは、net.tcp://ax2012r2a:8201/DynamicsAx/Services/TestCustomerに送るリクエスト処理がタイムアウト(00:05:00)内で応答を受け取らなかったことを意味しています。この処理に割り当てられた時間が、より長いタイムアウトの一部であったかもしれません。

5から10分後、削除された顧客(または、削除しようとした他の要素)は、Dynamics AX サーバから削除されます。このエラーではロールバックは発生しません。

これは、client.configファイルに以下の値が含まれている時だけ発生します： closeTimeout="00:05:00" openTimeout="00:05:00" receiveTimeout="00:05:00" sendTimeout="00:05:00".

このエラーの発生を防止するには、レコード数が増えた時に、receiveTimeoutパラメータを手動で増やす必要があります。


Dynamics CRMのトラブルシューティング

Q

Eメールに添付するために Dynamics CRMコネクタを使用する場合、Magic xpi スタジオで添付ウィンドウを開くことができず、"Error 1250: Dynamics CRM call error: com.magicsoftware.ibolt.dynamicscrm.IBDynamicsCRMException: createOperation (AxisFault): Server was unable to process request."エラーが発生します。

A

添付ウィンドウを正しく開くには、最初に、BlobToBase64関数でEメールのボディをBLOBからBase64に変換する必要があります。

例えば： BlobToBase64 (File2Blb ('D:\1.txt')).

Q

Dynamics CRMサーバーから組織名のリストを取得しようとすると、「Metadataには解決できない参照が含まれています」というエラーが出ます。

A

この問題を解決するには、.NET フレームワークが TLS 1.2 をサポートするように設定されていることを確認してください。

.NET 4.0 では、デフォルトで TLS 1.2 は有効になっていません。デフォルトで TLS 1.2 を有効にするには、以下の手順を実行します。

以下の2つのレジストリキーで、SchUseStrongCrypto DWORD値を1に設定する。

HKEY_LOCAL_MACHINE\SOFTWAREMicrosoft.NETFramework\v4.0.30319

HKEY_LOCAL_MACHINESOFTWARE\Wow6432Node\Microsoft.NETFramework\v4.0.30319

Q

Dynamics CRM のクエリオペレーションで、“Dynamics CRM call error: 'Quote' entity doesn't contain attribute with Name = 'Created' and NameMapping = 'Logical'.” というエラーが表示されるのばなぜですか？

A

下記の内容を実施してください。:

  1. エラーが発生したステップを開く。

  2. 「戻り属性」項目の横にある省略記号ボックスをクリックして、エンティティ属性リストを開きます。

  3. 作成されたエントリ横のチェックボックスをオフにして、変更を保存します。


Eメールのトラブルシューティング

Q

文字が、Eメールのボディ内でが破損します。

A

Emailコンポーネントは、UTF-8でデータを送信します。文字が破損していないことを確認するには、データがUTF-8にあることを確認してください。

Q

SSL上でEメールリソースを設定しようとする時、リソースの認証が失敗し、以下のエラーメッセージはstderr.logファイル中に作成されます： “Unable to find valid certification path to requested target”。

A

この問題を解決するには、メールサーバの証明をjvm keystoreに追加する必要があります。これを行うには、以下の手順に従ってください：

  1. レコードとしてサーバをローカルのhostsファイルに追加してください。次のファイルを修正します。
    C:\Windows\System32\drivers\etc\hosts
    例, 10.1.2.35 mail.test.local

  2. 証明書を取得するために、メールサーバにアクセスしてください。例えば、Webブラウザを開き、https://10.1.2.35/ にアクセスします。証明書が信頼されないため、ブラウザのセキュリティ警告が表示されます。

  3. このWebサイトを参照する（推奨できません）で、［続ける］を選択してください。サーバのWebサイトから、証明書エラーをクリックしてください。

  4. ［証明書を表示］を選択してください。ここで、［詳細］タブの［ファイルにコピー］をクリックしてください。

  5. ウィザードで［DER］オプションを選択し、信頼されなかった証明書をファイルに保存してください。次に、このファイルをMagic xpiのtempフォルダに保存してください。

  6. コマンドプロンプトを開き、<Magic xpiインストール>\Runtime\jre\bin フォルダに移動し、次のコマンドを実行してください：<Magic xpi のインストールフォルダ>\Runtime\jre\bin>keytool -import -alias myprivateroot -keystore ..\lib\security\cacerts -file <Magic xpi installation folder>Runtime\Temp\mail.test.local.cer

Open a CMD. From the <Magic xpi installation>\Runtime\jre\bin>, run the command as shown below:
<Magic xpi のインストールフォルダ>\Runtime\jre\bin>keytool -import -alias myprivateroot -keystore ..\lib\security\cacerts -file <Magic xpi のインストールフォルダ>Runtime\Temp\mail.test.local.cer

ここで、パスワードが要求されます。デフォルトパスワードはchangeitです。パスワードを入力すると、証明書の詳細が表示されます。例えば：
Owner: CN=mail.test.local
Issuer: CN=mail.test.local
Serial number: 68feb893589ccd9b468588b90
Valid from: Sat Jun 13 15:49:07 IDT 2??9 until: Thu Jun 1? 15:49:07 IDT 20??
Certificate fingerprints:
MD5: EF:82:01:?:95:EB:57:?B:47:?:BB:BD:BC:D2
SHA1: A8:2F:C?7D:3?2B:00:B7:7E:FA:?:C4??1:40:A9:D4

  7. 最後に、この証明書を信頼するかどうかを尋ねられます。Yesの場合は、Yを入力してください：
    Trust this certificate? [no]: y
    以下のメッセージは、証明が正しく追加されていることを立証するために表示されます。
    Certificate was added to keystore

追加情報のために、サイトとフォーラムにアクセスルすることができます。

http://www.java-samples.com/showtutorial.php?tutorialid=210

Q

Eメールトリガーを使用しているときに「エラー103：Eメールトリガーjava.io.UnsupportedEncodingException：iso-8859-8-i」が表示されるのはなぜですか？

A

このエラーは、送信メールの優先エンコーディングがデフォルトのUnicode（UTF-8）からOutlookの他のエンコーディングに変更された場合に発生する可能性があります。例えば、Outlookの次のロケーションでエンコーディングをヘブライ語に設定できます。

ファイル >> オプション >> アドバンスド >> インターナショナルオプション >> 送信メッセージのエンコーディング >> ヘブライ語（ISO Logical）

このエラーを解決するには、jcharset-2.1.jarを次のフォルダに格納してください。

<Magic xpi インストールフォルダ>\Runtime\Java\lib

サポートする Jar ファイルは下記のリンクからダウンロードできます。

https://www.freeutils.net/source/jcharset/


Exchangeのトラブルシューティング

Q

"Trigger Error 1150: Exchange call error, com.magicsoftware.ibolt.exchange.IBExchangeException: (Exception): The specified object was not found in the store. Please make sure to get folder list & reconfigure the Trigger if Resource details have been changed"? というエラー・メッセージが表示されます。

A

このエラーメッセージは、Exchange トリガのリソースまたはサービスを変更した場合にスローされます。プロジェクトを実行するには、次の手順を実行します。

  1. トリガを再設定します。例えば、構成ダイアログの行の1つで行ラベルを変更します。

  2. トリガ設定を保存します。

  3. プロジェクトを再ビルドします。


ファイル管理のトラブルシューティング

Q | ファイル管理コンポーネントのCommand Lineメソッドが動作しません。"Error 207: Failed to execute command line"というエラーメッセージが表示されます。
A | 実行可能ファイルのパスにスペースが含まれている場合、ファイル管理コンポーネントの Command Line メソッドは正しく動作しません。 例えばディレクトリ名にスペースが含まれている場合：'c:\Magic xpi files'. 実行可能ファイルは開始することができず、以下のエラーメッセージが発生します。 Error 207: Failed to execute command line これを防止するには、［実行ファイル名］パラメータでダブルクォーテーションを使用してください。 例えば："c:\Magic xpi files"。


FTPのトラブルシューティング

Q | "Connection to the requested FTP server could not be established. Can't read key due to internal IO problems" というエラーメッセージが表示されます。
A | FTPリソースのOpenSSHキーフォーマットで不正なパスワードを使用すると、このエラーが発生します。


Googleのトラブルシューティング

Q

Googleリソースを有効にすることができません

A

［Googleリソース設定］ウィンドウの［有効化］ボタンをクリックし、StoredCredentialファイルが <My Documents>\Magic\projects\<project name>\<current project>\resource\Google\<resource name>\credentialsdatastore フォルダに存在しない場合、新しいStoredCredentialファイルが作成されます。しかし、ここにはclient_secretsトークンが含まれていないため、この新しく作成されたStoredCredentialファイルは有効ではありません。この場合は、認証処理が失敗します。この場合は、有効なStoredCredentialファイルを作成するために、最初にOAuth 2.0認可フローを実行する必要があります。

有効なStoredCredentialファイルは、OAuth 2.0認可フローを実行した後に、Googleサーバから取り出されたファイルです。認証処理の完了後に、StoredCredentialファイルは有効なものと認められます。これで、認証成功メッセージを受け取った時に［OK］をクリックすると、ファイルの［更新日付］フィールドは変更されます。


IBM i のトラブルシューティング

Q | Magicサブシステムを停止し、Magic xpiからDB2400に再接続しようとすると、“Error 9805: There is no connection to SQL database manager. No SQL error returned.”というエラーが発生します。2回目に行うと動作します。
A | これは、予想される動作です。MGCLIENTジョブを停止した場合、再接続する必要があります。エンジンが接続を切られたと認識すると、このような現象が発生するだけです。


Javaクラスのトラブルシューティング

Q | ［クラス選択］ウィンドウを開いた時に、"Error in the application" というエラーが発生します。
A | Javaクラスコネクタを使用する時、スタジオがMagic.iniファイルのclasspathを読み込みません。PCのclasspathにjarファイルをリストするか、runtime\java\libフォルダにjarファイルをコピーする必要があります。


LDAPのトラブルシューティング

Q

LDAPリソースへのadmin接続を有効にしようとすると、エラーが発生します。

A

ssl：// をホスト名の前に指定して、LDAPサーバと接続することでSSL接続を行うことができます。しかし、これを行った後で、接続が失敗し、以下のエラーメッセージが表示されます：

[error 81] Can't connect to the LDAP server

エラーメッセージは、証明書データベースに必要なSSL証明書が存在しないか、または証明書データベース自身が存在しない場合に発生します。証明書データベースは、LDAPクライアントライブラリがSSL接続を行うことを可能にするために必要です。手動で以下の手続を実行することで、必要な証明書を含む証明書データベースを作成、追加する必要があります：

  1. Netscape 4.xx のWebブラウザをダウンロードし、インストールしてください。

  2. Netscape プブラウザを起動します。

  3. 以下のURLを開いてください：https://YourLDAPServer:sslport.

    • YourLDAPServer …… IPアドレスまたはホスト名で指定されたLDAPサーバのアドレス。

    • sslport …… SSL接続を受け入れるためにLDAPサーバで使用されるポート番号。

  4. ［Netscape証明書アシスタント］ウィンドウが開きます。ここで指定された手順に従い、これとFutureセッションのためにサーバ証明書を受け入れます。

  5. NesscapeユーザプロフィールディレクトリからMagic xpiルートディレクトリに、secmod.db、cert7.db、およびkey3.dbファイルをコピーしてください。


ローカルエージェントのトラブルシューティング

Q | ロックリソースユーティリティを使用し、ローカル エージェントで JDBC を使用すると、JDBC 接続がエラーコード102で失われるのはなぜですか?
A | エラーは、xpi サーバーと MQTT ブローカー間のネットワーク接続が失われたために発生した可能性があります。 これは、MQTT ブローカーのタイムアウト値を増やすことで対応できます。 この値を増やすには、magic.ini ファイルの [MAGICXPI_LA] セクションに mqtt.broker.completion_timeout プロパティを追加し、必要に応じて値を設定します。 プロパティが magic.ini ファイルで設定されていない場合、または値が設定されていない場合、デフォルト値は 5000 ミリ秒です。


マイグレーションのトラブルシューティング

Q | プロジェクトを移行し、論理名がないという旨のメッセージが発生しました。
A | 論理名を、ifs.iniファイルではなくMagic.iniファイルに追加した場合、このメッセージが発生するかもしれません。Magic.iniファイルは、マイグレーション処理プロセスの対象ではありません。 従って、これらの論理名を使用するプロジェクトを移行する時、それらを手動でMagic.iniファイルにまたはifs.iniファイルに追加する必要があります。
Q | "Missing definition for Magic xpi Server resource" というエラーが発生します。
A | Magic xpi4.1プロジェクトを移行する時、プロジェクトがソースコントロール製品に追加されておる場合、このエラーが発生する可能性があります。この問題を解決するには、移行の前にソースコントロール製品(TFSまたはVisual Studioなどの)を使用して、プロジェクト全体を取得してください。これによって、ローカルフォルダにMagic xpi4.1プロジェクト全体が含まれることになり、予期されたように移行されるはずです。


モニタのトラブルシューティング

Q

モニタを開くことができません。

A

モニタを開こうとすると、Webブラウザは失敗します(Monitor display server IP>:8068/magicmonitor/panels.jsp)。

サイトが応答していない場合、サービスまたは関連したプロセスが実行していないかもしれません。 "Error: Cannot connect to display server" メッセージが表示される場合、部分的に動作しているかもしれません。

この問題を解決するには、以下を試してみてください。

  1. MSEサービスが実行していることを確認してください。実行していない場合は、起動してください。

  2. ポートの設定を確認してください。

    • Apache …… apache\conf フォルダ内の server.xmlファイルを見てください。

    • RTView 表示サーバのポート

      • <rootInstallation>\RTView\magicmonitor\DISPLAYSERVER.ini

      • <rootInstallation>\RTView\magicmonitor\フォルダ内のrtvdisplay.propertiesファイルのDisplayServerPortの値

  3. ポートはすでに使用されているかもしれません。Magic xpiサービスを止めて、手動で、バッチファイルを実行してください。

    • run_displayserver.batファイルを実行すると、以下のエラーが発生するかもしれません："ERROR: can’t create server socket on port".

    • ポートがすでに使用されていないかどうかをチェックするには、TCPViewを使用してください。
      次も参照してください：http://technet.microsoft.com/en-us/sysinternals/bb897437.aspx.

Q

モニタで［プロジェクトビュー］(アクティビティログ)を開始しようとする時に、 "An error occurred while reading the project details"というエラーが発生します。

A

このエラーは、プロジェクトのフォルダに情報を書き込むことができない場合に発生します。これは、以下の場合に発生します。

  • プロジェクトのフォルダに書き込むための権限がない場合。

  • ディスク上に十分な空きスペースがない場合。

Q

モニタにリモートアクセスしようとすると、モニタが最小化され点滅表示されます。

A

この問題を解決するには、以下を試してください。

  1. ホスト名を使用する代わりに、URLで送り先のIPアドレスを使用してください。例えば：http://<IP address>:8068/magicmonitor/panels.jsp

  2. 以下の手順に従ってください。

    • Internet Explorerの［設定］に移動します。

    • ［インターネットオプション］を選択します。

    • [セキュリティ]タブに移動します。

    • セキュリティ設定を変更するには、[ローカルイントラネットゾーン]を選択します。

    • [サイト]ボタンをクリックします。 ローカルイントラネットウィザードが開きます。

    • [詳細設定]ボタンをクリックします。

    • [Webサイト]テキストボックスにhttp：// localhostを追加します。

Q

「ORA-01652：テーブルスペースで一時セグメントを128だけ拡張できません」というエラーがRTView.logでスローされるのはなぜですか？

A

このエラーは、ifs_actlogテーブルのレコードが約250万に達したときに発生する可能性があります。この数は、システムによって異なる場合があります。

これを解決するには、<Magic xpi installation>\DB\Oracle\にあるAlterTempTableSpace.sqlスクリプトを実行します。

このスクリプトは、管理者権限を持つユーザーが実行する必要があることに注意してください。

Q

内部データベースでintegratedSecurityの値がtrueに設定されているWindows認証の場合、MagicMonitorにアクティビティログが表示されないのはなぜですか？

A

NTAUTHORITYユーザーが内部データベースに必要なユーザー権限を持っていないことが理由の一つである可能性があります。

権限を追加するには、下記の内容を実行してください。

  1. Microsoft SQL Server Management Studioを開きます。

  2. セキュリティメニューを開いてNT AUTHORITY\SYSTEMにパークします。

  3. NT AUTHORITY\SYSTEMで右クリックし、コンテキストメニューからプロパティを選択します。

  4. ログインプロパティからNT AUTHORITY\SYSTEM ダイアログを開きます。ここで ページの選択 > ユーザマッピング でMagic xpi の内部データベースを選択します。例）MGXPI413

  5. MGXPI4xxの場合、「規定のスキーマ」欄の をクリックし「スキーマの選択」ダイアログを開きます。

  6. このダイアログで「参照」ボタンをクリックすると、「オブジェクトの参照」ダイアログが表示されます。

  7. ここで[dbo]を選択してOKをクリックします。この選択肢が「スキーマの選択」ダイアログに追加されます。OKをクリックします。

  8. 同じ選択肢が「規定のスキーマ」欄に表示されます。

  9. MGXPI4ｘｘのデータベースロール欄にdb_denydatareader とdb_denydatawriter 以外の選択肢を全て選択します。:

  10. OKをクリックします。

  11. データベース > MGXPI413 > セキュリティ > ユーザー　でNT AUTHORITY\SYSTEMが表示されています。

  12. Magic モニタのサービスを再起動します。

  13. サービスを再起動すると、ログは表示されるようになります。


Notes DBのトラブルシューティング

Q

Notes DBコネクタを使用して実行するとき、以下のエラーメッセージの1つが表示されます。

  1. Object reference not set to an instance of an object.（オブジェクト参照がオブジェクトのインスタンスに設定されていない）

  2. Could not initialize adaptor. See logger for more info（アダプタを初期設定することができませんでした）

  3. Due to unexpected event step can not be instantiated. See the log file for more information.（予期しないイベントのため、ステップがインスタンス化されません）

  4. Exception has been thrown by the target of an invocation.（呼出しターゲットによって例外がスローされます）

  5. Step configuration error. See the log file for more information.（ステップ構成エラー）

A

これらのエラーが表示される1つの理由は、Notes DBコネクタのjarファイル(Notes.jarとNCSO.jar)がjava\libフォルダに存在しないことです。

Q

ドキュメントの追加操作を実行中にOriginator名がドキュメントに追加されないのはなぜですか？

A

このエラーが発生する理由の一つは、NotesDBがパスワードなしでローカルに構成されている場合です。これを解決するには、ローカルセットアップのパスワードを定義するか、リモートセットアップを使用します。


プロジェクトのトラブルシューティング

Q

プロジェクトが動作しない場合はどうしたらいいですか？

A

  • 必ず新しいプロジェクトで問題を再現させてみてください。これにより潜在的要因を切り分けし、解決方法を絞り込むことができます。

  • MAGIC_SPACE、MAGIC_INFO(mginfo)、およびMGMirrorの各プロセスユニットが正しく配備されていることを確認してください。

  • プロジェクトのエンコーディングが使用しているデータの言語とマッチしているか確認してください。

  • エラーログをチェックして、どのようなエラーが発生したかを確認してください。

  • エラーログが次のフォルダにあります：<Magic xpi インストール>\Runtime\logs。参照：Log Files.

Q

プロジェクトが正しく、ビルド/デバッグ されません。

A

プロジェクトをビルドするかデバッグする時、プロジェクトのTempフォルダ内のファイルまたはフォルダがロックされていないことを確認してください。Tempフォルダ内のファイルまたはフォルダがロックされていると、Tempフォルダ上で行われた処理やビルド処理は失敗します。

Q

プロジェクトが動作しません。

A

start.xmlファイルには、プロジェクトのフォルダの現在の位置のフルパスが含まれています。従って、start.xmlファイル内のパスが実際のプロジェクトパスと異なる場合、開始リンクやMagic xpaモニタ、またはデバッガを使用してプロジェクトを開始することができません。

この問題を解決するには、start.xmlファイルのパスを変更するかファイルを削除することで、プロジェクトをリビルド/デバッグすることができます。

ビルド処理で、プロジェクトのフォルダ内にstart.xmlファイルが含まれていない場合、正しいフルパスを持つ新しいファイルが作成されます。

Q

PCを起動しても、プロジェクトが自動的に開始しません

A

OSのサービスが開始される場合、配備と自動起動(mgdeployと呼ばれます)のプロセスにはタイムアウトが設定されています。完了するには、GigaSpacesのインフラストラクチャーのスタートアップまたは配備プロセスにあまりにも長い時間かかると、プロジェクトが開始される前に、mgdeployプロセスが終了するかもしれません。

これが発生したかどうかを確認するには、以下の手順に従ってください。

  1. サービスを止めて、ログファイル(<Magic xpiインストール>\Runtime\logsフォルダとGigaSpaces\logsフォルダの両方)を削除してください。

  2. PCを再起動してください。

  3. GigaSpaces\logsフォルダを開き、gigaspaces-gsaログを捜してください。

  4. gigaspaces-gsaログの中で、mgdeployプロセスが終了するのに、時間がどれくらいかかったかを確認してください(最終行は、“Process destroyed without shutdown hook”になります)。

  5. この時間が2分ある場合、mgdeployプロセスがプロジェクトを開始する前に、タイムアウトに達したことを示しているかもしれず、以下の手順に従う必要があります。

  6. <Magic xpiインストール>\Runtime\GigaSpaces\config\gsフォルダを開いてください。

  7. mgdeploy.xmlファイルを開いてください。

  8. 引数 <argument>120</argument> パラメータを、より高い値に変更してください(値は秒で表され、300で開始させることができます)。

  9. mgdeploy.xmlファイルを保存し、再び開始処理を実行してみてください。


Salesforceのトラブルシューティング

Q

Salesforceのサンドボックスに接続しようとする場合、"Login error (RemoteException): nested exception is: org.xml.sax.SAXException: Invalid element in com.sforce.soap.partner.GetUserInfoResult orgDisallowHtmlAttachments" というエラーが発生し続けます。

A

このエラーは、間違ったAPIバージョンを使用していることを示しています。V3.2 SP1またそれ以上の場合、API 18を使用して Salesforceに接続します。（前のバージョンは、API 10または12を使用していました)。サンドボックスのURLの終端の数値が関連するバージョンと合っているかどうかを確認してください：

https://test.salesforce.com/services/Soap/c/18.0 (enterprise WSDL)

または

https://test.salesforce.com/services/Soap/u/18.0 (partner WSDL)

Q

Salesforceコネクタは動作しないのは何故ですか？

A

  • 基本認証だけを必要としているProxyサーバの背後にある場合は、Salesforceコネクタは動作しません。Proxyサーバの背後で動作させたい場合は、Salesforceリソースの認証を可能にするためにMagic.iniファイルでProxyの定義が必要になります。Magic.iniファイルの[MAGIC_ENV]セクションで以下のエントリを作成することによって、これが可能です。
    HTTPProxyAddress = <ProxyAddress>：<ポート>
    例えば：10.9.3.16:8080

Q

Salesforceリソースを使用して OAuthを設定しようとする時、エラーメッセージが発生します。

A

.NETフレームワークが、TLS 1.2をサポートするために設定されることを確認してください。

. NET4.0は、デフォルトでTLS 1.2をサポートしていません。デフォルトでTLS 1.2を可能にするには。

以下の2つのレジストリキーで、SchUseStrongCrypto DWORDの値を1に設定してください。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319.

これらのキーが存在していない場合、それらを作成してください。これらの変更は、次のインポートファイルを使用して行うことができます。 https://help.salesforce.com/apex/HTViewSolution?id=000221207

これらのレジストリキーは、システム上のすべてのインストールされた.NET 4.0、4.5、4.5.1、および4.5.2のアプリケーションにおいてデフォルトでTLS 1.2をサポートすることに注意してください。これらのレジストリ値は、System.Net.ServicePointManager.SecurityProtocol の値を設定した.NETアプリケーションには影響しません。

それは、運用サーバでそれを配備する前にこの変更をテストすることを推奨します。

Q

OAuthを使用してSalesforceのサンドボックス環境に接続できないのはなぜですか？

A

OAuthを使用してSalesforceのサンドボックス環境に接続するには、次の手順を試してください。

  1. レジストリエディターを開きます（regedit）

  2. エントリHKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432Node \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATIONに移動します

  3. 以下に示すように、EnvironmentSettings.exeという名前と11000という値の新しいDWORD（32ビット）エントリを追加します。
    "EnvironmentSettings.exe" = 11000


SAP Business Oneのトラブルシューティング

Q

SAP Business Oneに接続できません。

A

SAP Business OneにMagic xpiより接続できない場合、DI/APIを使用してSAP Business Oneへの接続があるかどうか確認してください（例えばVBを使用して）。

SAPB1 2004と2005は、Windows2008のOSではサポートされていません。従って、これらのSAPB1バージョンのどれかを使用する場合は、SAP Business Oneとの接続を作成することができません。

Q

"SAPB1 Error: Connection to the License Server Failed" というエラーが発生します。

A

このエラーはSAP Business Oneで発生します、そして、SAP Business Onetとの接続を試みている間に、SAPB1ライセンスサーバとの接続に問題が発生したことを意味します。

この問題は、以下の場合に発生することが考えられます。

  • 間違った接続の詳細 ……Magic xpiは、SAP Business Oneと接続するDIのXMLインターフェースを使用します。したがって、接続が外部ツール（例えばVB）を使用してSAP Business Oneと接続していいないかどうかを確認してください。

  • SAPライセンスサーバがダウンしたか、ネットワーク上のトラブルが発生した……ライセンス・サーバがリモートマシンにあるかどうか、ライセンス・サーバが稼働可能かどうかを調べてください。

  • Magic xpiがSAPB1と同じマシン上にインストールされている場合で、SAPB1接続がローカルホストを参照している場合、ターミナルサービスにログインしている他のユーザは、SAPB1クライアントにログインする問題が発生します。理由は、SAPB1コンポーネントがプロジェクト内でアクセスされる場合は常に、SBO-COMMONのSLICテーブルのLSRVフィールドがサーバのIPアドレスの代わりにローカルホストで更新されるからです。従って、ターミナルサーバのユーザは、ログインできません。これを解決するには、サーバのIPアドレスを参照するように変更する必要があります。

  • ライセンスによって許されたユーザ数に達しました。Magic xpiは、SAP Business Oneに接続する互換ライセンスを使用します。したがって、SAPB1ライセンスの問題ではない（接続できるユーザ数を越えた）ことを確認してください。
    注意： Magic xpiは、最初に新しい会社への接続を試みる時にコネクションを開き、その接続を再利用します（Magic xpiはSAPB1の会社オブジェクトへの参照を取得し、それを再利用します）。

すべてがチェックアウトされた状態で、このエラーがまだ発生する場合はSAP Business Oneに連絡することを推奨します。

Q

必須パラメータはどれですか？

A

もしあなたがオブジェクトを追加する時に必須パラメータがわからない場合、SAP Business Oneクライアントからオブジェクトを追加してください（必須フィールドのみ）。その後Magic xpiからその オブジェクトを検索し、XML内のパラメータやその値を確認してください。

Q

ストアドプロシージャがクリアされてしまいました。

A

既にインストールされているSAP Business Oneのバージョンをアップグレードした場合、ストアドプロシージャはクリアされるため作成し直す必要があります。もしトリガが動作しない場合、ストアドプロシージャが存在するかを確認してください。

Q

オブジェクトを追加したり更新したりできません。

A

もしオブジェクトの追加や更新に問題がある場合、SAP Business Oneに渡されたXMLを<Magic xpi のメインフォルダ>\temp内､もしくはUserXMLで確認認してください。これにより問題の所在がわかります。ただし、これはコンポーネントのXMLインタフェースを使用している場合のみ可能です。

Q

"Connection to the requested SAP Business One Company database could not be established. Internal error (10): Failed to load object: SAPbobsCOM.Company" のエラーに対応するには？

A

DI APIがマシン上にインストールされない場合に、このエラーが発生します。Magic xpiはDI APIを使用してSAPと通信します。したがって、Magic xpiがインストールされるサーバ上にDI APIがインストールされていることを確認してください。

Q

SAPB1ステップが実行すると、Magic xpi がクラッシュします。

A

間違ったDIバージョンが使用されていると、この問題が発生します。対応するDIバージョンを使用していることを確認するには、正しい値をSAPB1リソースの［DI APIバージョン］パラメータに入力する必要があります。

Q

SAPB1がインストールされると、Magic xpi スタジオの起動に失敗します。

A

jvm_pathをmagic.iniファイルに設定し、Magic xpi スタジオを再起動してください。これで問題が解決されるはずです。

Q

SAPB1コネクタを使用して Itempricesを更新する時、"This entry already exists in the following table (ODBC -2035)" というエラーが発生します。

A

SAPで複数行を持つオブジェクトを更新する場合、この問題が発生します。この場合、最初の行を更新しようとします。行1の後で他の行を更新しようとするため、更新中にプライマリキー制約を取得します。SAPのDIはこのように動作します。

これを修正するには、いくつかの方法があります。どれも更新したい場合は、最も簡単な方法は、すべての行を更新することです。これは、項目と価格のリスト全体を読み込み、次に一致している行に新しいデータを挿入するために条件に基づいて更新することで行うことができます。

交互に、1度に1行を更新するだけのための特別なXMLをビルドすることができます。これは、更新したい項目(DIに、それらの行を省略するように指示します)まで空のブラケット(<row/>)を送ることによって行うことができます。

Q

SAP B1ステップを実行する時に、以下のエラーが発生します： "Error 1006: Internal error (3): failed to call method: GetBusinessObjectFromXML[0] (Illegal XML)"?

A

エラーは、値を読み込み専用フィールドや許可されていない値、または書式や型が合わない値にマッピングしようとしていることを示しています。この問題を解決するために、以下を試してみてください。

  1. ステップの構成内で、［XSDのリフレッシュ］ボタンをクリックし、フィールドのマッピングを作成し、再度問題を確認してください。

  2. ユーザ定義のフィールドが読み込み専用に定義されるかどうか、または［書込］プロパティが設定されていることを確認してください。

  3. Magic xpiがSAPに送るXMLが、C.UserXML 変数内で見つけることができます。そのXMLを取り出して、それが有効であるかどうかを確認してください。

  4. XMLをチェックするために、問題のあるSAPB1ステップの直後にSave Message ステップを追加して、Blobパラメータ内のC.UserXML変数を指定することができます。

  5. 問題が必須フィールドの一つ、または不正値の場合、このエラーの原因を見つける最もよい方法は、次のようにして絞り込むことです。最初に、新しいオブジェクトをクライアント用に追加し、どのフィールドをマッピングしなければならないかを見るために、そのオブジェクト上でクエリを実行してください。その後で、問題の原因を見つけるまで、1つずつ新しいフィールドを追加することができます。

Q

SBOトリガーが時々フローを起動しないのはなぜですか？

A

考えられる理由の1つとして、カンパニーデータベース以外の新しく作成されたデータベースに対して必要な権限をユーザーが持っていない可能性があります。

下記の手順で解決できることがあります。:

  1. Microsoft SQL Server Management Studioに管理者権限でログインしてください。

  2. 新しく作成されたデータベース上で右クリックし、コンテキストメニューからプロパティを選択します。

  3. データベースプロパティのWindowの権限ページでGrantの権限を全てのオペレーションに対して与えてください。

  4. 次に、同じ画面でオプションページを選択してください。

  5. 照合順序メニューを展開し、SQL_Latin1_General_Pref_CP850_CI_ASを選択します。新規作成されたデータベースにはこのグループがアサインされている必要があります。

変更を保存します。

Q

SAP B1がUS地域のタックスサービス（Tax-as-a-Service）で構成されている場合、SAP B1のリソース検証でエラーになるのはなぜですか？

A

US地域でタックスサービスを利用する場合、SAPのDIAPIは追加DLLを必要とします。次の二つのファイル(B1_TaaSConnector.dll,Newtonsoft.Json.dll)がC:\Program Files\SAP\SAP Business Oneに存在しますので、<Magic xpi インストールフォルダ>\Runtime\Magic xpa folderに保存してください。

注意）Newtonsoft.Json.dllはSAPのバージョンに依存するので、あるバージョンでは必要のない場合もあります。

関連トピック：

SAPB1 - エラー処理


SAP ERPのトラブルシューティング

Q

トリガとしてSAP ERPコネクタを使用すると、"An error occurred while updating IDoc status [key=RFC_ERROR_SYSTEM_FAILURE, message=No authorization to send IDocs with message type ALEAUD]" というエラーが発生します。

A

フローが終了するとき、トリガ内でALE状態を更新しようとするとき、このエラーメッセージが作成されます。

SAP ERPのトリガを使用するとき、IDoc処理をモニタする目的でIDoc状態を更新するためにトリガを設定することができます。

SAP ERPトリガ設定特性のALE Update Statusが Yes （オーディット・トレールが必要であることを示す)に設定されていると、トリガはSAP ERPのシステムから読み出されるALEビジネスオブジェクトのIDoc状態を更新します。

この更新は、トリガがインバウンドのIDocイベントとしてSAPシステムに送られるALEAUDと呼ばれているIDocの状態を更新することによって達成されます。

イベントがメッセージのエンドポイントに送られたあと、トリガは処理における失敗または成功を示すためにSAP ERPでIDocの状態を更新します。たとえば、フローがエラーなしで終了すると、IDocの状態は成功に更新されます。フローがエラーで終了すると、IDocの状態は失敗に更新されます。

注意： ALEの状態を更新するために呼び出されるRFCは、IDOC_INBOUND_ASYNCHRONOUSです。

エラーメッセージを防止するには、ALE Update Status のプロパティをNo に設定しなければなりません。

注意：Magic xpiがSAP ERPシステムからこのエラーを受け取ると、SAP ERPのシステム側で認証上の問題が発生します。

詳細は、ここをクリックしてください。

Q

SAP ERPリソースを確認しようとすると、"Could not initialize class" というエラーが発生します。

A

SAP ERPリソースの確認を行うか、これを使用して動作させようとすると、“Could not initialize class” というメッセージがポップアップウインドウで表示されます。

さらに、“This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem”というメッセージが、スタジオのJavaログに書き込まれます。

この問題を解決するにはに、Microsoft C++再配布可能なパッケージをインストールしなければなりません。

http://www.microsoft.com/downloads/ja-jp/details.aspx?familyid=766a6af7-ec73-40ff-b072-9112bab119c2&displaylang=ja-jp

または:

64ビット版：http://www.microsoft.com/download/en/details.aspx?id=14632

32ビット版：http://www.microsoft.com/download/en/details.aspx?id=5555

Q

RFCプログラムがエラーや例外をスローした場合に、SAP ERPコネクタがRFCからスローされたエラーや例外を正しく処理できないのはなぜですか？

A

RFCの実行中に、RFCプログラムの実行中にエラーや例外があった場合、RFCの出力はRFCの実行結果の一部として正しいエラーや例外を含むべきです。RFC のビジネスロジックから投げられたエラーや例外に基づいて、この正しい戻り値を構築するのは、RFC 開発者の責任です。RFC 実行結果が正しく構築されていないと、SAP ERP コネクタは例外を正しく処理することができません。


サーバのトラブルシューティング

Q

サーバが起動しません。

A

サーバが起動しない場合、以下の点をチェックしてください。

  • 使用しているライセンスタイプ

  • Magic xpiが実際に探すライセンスは､インストールディレクトリ内のプロジェクトのifs.iniファイル内にあります。.

[MAGIC_ENV]LicenseName= <サーバライセンス名> フラグを参照し上記の二つが同じであるかを確認してください。もしifs.ini内のライセンス名があなたのライセンスと同じでない場合、メインのifs.iniファイルとプロジェクト内のifs.iniファイルのライセンスタイプを変更しなければなりません。これにより毎回新しいプロジェクトで正しいライセンスタイプが確実に使用されることになります。

  • プロジェクトがデバッグモードでビルドされ、それをサーバで実行しようとしています。

プロジェクトで半角英数字の文字を使用していない場合、PCに適切にセットアップされることを確認するために、サポート言語を確認してください。

［ソリューションのリビルド］もう一度実行してみてください。

Q

IIS7がインストールされているマシンで、HTTPトリガが動作しません。

A

IISとHTTPトリガを使用する場合は、ASP.NET機能がインストールされるかどうかを確認してください。

これを行うには、［Windowsの機能］ダイアログボックス(［プログラムと機能］ダイアログボックスの［Windowsの機能の有効化または無効化］をクリックします）の「インターネットインフォメーションサービス」の配下で行います。

さらに、Magic xpiとIIS 7を使用して動作させる場合に、必要な設定があります。詳細は、テクニカルノートの 、Magic xpiとIIS 7 を使用して動作するを参照してください。

参照： HTTP エラー

Q

Magic xpi スタジオ がWindows 2008上で動作しません

A

Magic xpi スタジオをWindows 2008上で実行すると権利上のエラーが発生します。Magic xpi スタジオを開くと、以下のエラーが発生します。

「オープンできません：MAGIC.INI」

さらに、リソースまたはサービスを作成しようとするときに、以下のエラーが発生します：

「リソースをロックすることができません：DefinitionProperty」

マイグレーション・ユーティリティを実行しようとするときも、同じ問題が発生します。これに類似しているエラーが発生します。

「データソースをロックすることができません：DataType Record」

この問題を解決するには、以下を試してみてください。

  • ショートカット上で右クリックし、管理者としてスタジオを実行してください。

  • ログオンユーザがルートのインストールフォルダとSSJ(Systinet)フォルダ上にフルアクセスの権限を持っていることを確認してください。

  • 使用されていない場合、UACコンポーネントを削除してください。

  • ユーザが、見つからなかった場合（ドメインサーバがダウンしているかもしれません)、イベント ビューアをチェックしてください。

追加情報は、以下のトピックを参照してください。

Magic xpiとIIS 7で動作する

Q

Magic xpiサーバを起動すると、私はプロセスがメモリにアクセスすることができなないことを表すWindowsメッセージが表示されます。［OK］をクリックすると、Magic xpiサーバはダウンし、以下のエラーがログに書き込まれます。："Security file could not be openedSecurity file could not be openedAppserver shutdown"。

A

このエラーは、プロジェクトを実行形式で開始した場合にのみ表示されます。Support フォルダ内の user_std.jpn へのアクセスに関する障害を示しています。同じバージョンの別のインストール環境にある同じファイルからコピーしてください。

Q

既存の配備環境でワーカの数を増やしたのですが、処理されるリクエストの数は変わりません。

A

この問題は、プロセス内のスレッドの間でロックすることによって発生します。これには、いくつかの解決法があります。

  1. ifs.iniファイルの SpecialEventQSizeLimit フラグをチェックしてください。このフラグは、処理されるまでアクティビティスレッド内で待つリクエストの数を指定します。処理されるまで、そのスレッドのキューに入ることができない他のどのようなリクエストも、元のフローワーカにとどまっています。リクエストがスレッドキューに入るまで、そのワーカは待機し、この待ち時間の間、上記で説明されたようなパフォーマンス上の問題を発生させます。SpecialEventQSizeLimitフラグは、1つのサーバ毎に作成され、ワーカには関係しません。従って、たとえ、多くのフローワーカが動作していても、キューはこのフラグで設定された値によって定義されます。フラグの値を増やすと、ボトルネックはキューのサイズではなくなります。(他の理由によるボトルネックがあるかもしれませんが。)それにもかかわらず、この数が非常に高く、多くのワーカが同時にアクティビティログメッセージを送ると、キューがいっぱいになるかもしれないことを考慮すべきです。これは重い負荷をメモリに置くことになり、パフォーマンスを低下させることになります。また、大きなペイロードを持つアクティビティログメッセージも、パフォーマンスに悪い影響を及ぼすかもしれません(ActivityBlobFileLocationとActivityBlobFileFallbackToDBフラグを参照してください)。見てわかるように、関係するトレードオフがあり、このフラグのための望ましい値が何であるかを決定する必要があります。デフォルト値は5000です。ともかく、ベストプラクティスは、統計コレクションや記録されるログレベルなど、内部データベースに書き込まれる情報を制限することによって不要なアクティビティログメッセージを減らすことです。これによって、Magic xpiのサーバスループットを高めることになります。

  2. フローの［最大インスタンス］プロパティをチェックしてください。

  3. プロジェクトがロッキングユーティリティを使用している場合、デッドロックシにならないことを確認してください。

  4. ライセンスファイルに十分なスレッドが設定されていることをチェックしてください。

Q

"The current identity does not have write access to …Temporary ASP.NET files" というエラーが発生します。

A

.NET 2.0によって動作している時または、ASP.NET のバージョンを切り換える時に、このエラーが発生するかもしれません。この問題を解決するには、以下を試してみてください。

  1. 必要なASP.NETのバージョンで IISを再登録してください。関連したフレームワークのフォルダ(例えば:C:\Windows\Microsoft.NET\Framework\v2.0.50727)に移動し、以下のコマンドを実行することで、これを行うことができます。aspnet_regiis -i

  2. ASP.NETが許可に設定されていることを確認するために、［Web サービス拡張］（注：Windows Server 2008以降は、［ISAPIおよびCGIの制限）をチェックしてください。

Q

プロジェクトを複数回再試行してもプロジェクトが開始されず、最終的にロードされずに停止するのはなぜですか？

A

プロジェクトが非常に重く、フローとステップが多数あり、且つ複雑なビジネスロジックがある場合にこのような状態が発生する可能性があります。

この問題を解決するには、start-inprogress-retrie、-start-initializing-retries, -server-running-retriesの値を調整してみてください。これらの値はGigaSpacesのmgdeploy.xml で変更することができます。ファイルは次のフォルダにあります。

<Magic xpi インストールフォルダ>\Runtime\Gigaspaces-xpi\config\gsa folder.

mgdeploy.xmlファイル内で　-start-inprogress-retries, -start-initializing-retries, -server-running-retries を探し、必要に応じて値を変更してください。

Q

GigaSpacesログ中でフロータイムアウトおよびトランザクションタイムアウトエラーが発生すると、プロジェクトが突然再起動されるのはなぜですか？

A

この問題が発生する理由の1つに、データベースの最大接続数が少ないことである可能性があります。 目的の値を設定するには、以下の手順に従います。

1. デスクトップ上にあるMagic xpa Studioのショートカットをクリックして起動します。

2. オプション > 設定 > DBMSを選択します。

3. 該当のデータベースエントリにカーソルを合わせて Alt+Enterを押すとDBMSプロパティが表示されます。

4. 最大接続数欄に必要な値を設定します。この値はmagic.iniファイルに反映されます。


SharePointのトラブルシューティング

Q

SharePointリソースは正しく検証されましたが、エンティティリストを取り出そうとする時に、Magic xpi スタジオ でエラーが発生します。

A

［サイト］フィールドで間違ったパラメータ値を書き込むと、この問題が発生する場合があります。［サイト］フィールドのパラメータ値は、サーバ名とLists\library_name、または他のすべての関連しないサイトURLの部分の間のセクションですべきです。

このような間違った設定は、サイトのフルパスではなくサブサイトのみを示しています。

任意のSharePoint の階層を定義することができるため、その階層においてどこを指し示したいかに注意する必要があります。

Q

LibrariesエンティティのMoveオペレーションが「無効なURI：URIのフォーマッ トを判別できませんでした」というエラーをスローするのはなぜですか？

A

このエラーの原因の1つは、SharePointコネクタが移動操作を呼び出しているときに相対パスを使用していることです。ドキュメントの完全なパスが指定されている場合、SharePointの移動操作は機能します。相対パスは移動操作ではサポートされていないため、エラーが発生します。これを修正するには、相対パスを絶対パスに変更します。

Q

5000を超えるレコードがある場合、SharePoint Onlineコンポーネントクエリが一部のリストに対して失敗します。

A

SharePoint Onlineコンポーネントのクエリは、ドキュメント、フォルダなど5000以上のレコードがある場合、一部のリストまたはライブラリまたはフォルダに対して失敗することがあります。Microsoftでは、レコードのしきい値制限が5000を超えないように、体系的にコンテンツを整理することを推奨しているため、これはMicrosoft SharePoint Onlineの既知の動作です。

この問題を解決するには、「インデックス」フィールドを設定し、そのフィールドをフィルター基準として使用して、レコード数を5000未満に抑えることができます。

フィルタ処理されたビューを作成するときは、フィルタ式の最初のインデックス付きカラムがリストビューのしきい値を超えていないことを確認してください。SharePointは、クエリ内の最初のインデックス付きカラムを選択します。ビューフィルタで指定した他のカラムはインデックス付けされている場合とされていない場合がありますが、フィルタ処理されたビューの結果がリストビューのしきい値よりも小さい場合でも、ビューはこれらのインデックスを使用しません。

レコードを単一のライブラリから複数のライブラリに移動して、レコーダーを別々のフォルダまたはサブフォルダに配置することもできます。

Q

追加および更新操作が特定のデータ型フィールドで機能しないのはなぜですか？

A

この問題は、サイト設定が正しく構成されていない場合に発生する可能性があります。これを解決するには、設定を変更してみてください。 [サイトの設定]ページに移動し、ドロップダウンメニューから[ライブラリとリスト]を選択します。次に、関連するライブラリを選択し、[個人とグループ]列を選択します。ここでは、[複数選択を許可]というラジオボタンをオンにします。


ソースコントロールのトラブルシューティング

Q

新しいプロジェクトを作成し、［現在のソースコントロールプラグイン］の設定にオプションがない場合、［ソースコントロールに追加］のチェックボックスが表示されません。

A

ソースコントロールプロジェクトがレジストリに存在していることを以下の方法で確認してください。

  1. ［スタート］メニューから［ファイル名を指定して実行］をクリックしてください。

  2. regedit をキー入力し、［OK］をクリックしてください。レジストリエディタが開きます。

  3. Windows の32版を使用している場合、以下に移動してください：
    HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\ProviderRegKey.
    Windows の64版を使用している場合、以下に移動してください：
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SourceCodeControlProvider\ProviderRegKey.

これによって、Magic xpi で使用されるソースコードコントロールのプロバイダが表示されます。他のソースコントロールシステムがインストールされていても、同時に1つしか使用されません。

レジストリに表示されていない場合、追加する必要があります。

Q

［現在のソースコントロールプラグイン］のドロップダウンリストにソースコントロールツールが表示されません。

A

ソースコントロールツールとMagic xpi を使用して動作させるため、バージョン管理のAPIをインストールする必要があります。例えば、TFSの場合は、Visual Studioの用の ために Team Foundation Server MSSCCI Provider 32-bit プラグインをインストールする必要があります。それをインストールしたら、Magic xpiの［ファイル］メニューで［ソースコントロール］と<ソースコントロールプロバイダ>を選択します(TFSの場合は、このオプションは Team Foundation Server MSSCCI Providerを起動 になります)。

Q

［ソースコントロールから開く］オプションを使用して、ソースコントロールデータベースからプロジェクトを開こうとする時、 "The operation could not be completed. The system cannot find the path specified." というエラーが発生します。

A

これはTFSソースコントロールを使用する時の既知の問題です。TFSの場合、このオプションを使用しないようにために忠告されます。代わりに、TFSのソースコントロールエクスプローラを使用して、プロジェクトを取得してください。

Q

"Missing definition for Magic xpi Server resource" というエラーが発生します。

A

このエラーはソースコントロールツールを使用する時に発生し、スタジオはプロジェクトによって指定されたリソース、および／またはサービスのXMLファイルを見つけることができません。

resources.xmlとservices.xmlファイルは、製品からコントロールされたソースではないため、ファイルは、Getコマンドを使用して、ソースコントロールツールから取り出す必要があるかもしれません。

また、指定された位置がアクセス可能で、必要な権利を持ち、ファイルがローカルなシステム上に存在していて、ファイルが指定された位置に存在することを確認してください。

これを行うには、［プロジェクトプロパティ］ウィンドウを開き、ファイルの指定された位置をチェックしてください。

Q

"CVS Client Installation is incomplete" というエラーが発生した場合、どのように対応すべきですか？

A

CVSオプション(クライアントとサーバ)を選択して、Magic xpi のインストールと個別のMagic xpaのインストールが行われた場合、これは既知の問題になります。デバッガを開始したか、Magic xpaコンポーネントを呼び出した後に、このエラーが時々表示される場合があります。

エラーは無視してください。

Q

プロジェクトでチェックしようとする時に、"Item does not exist" というエラーが発生します。

A

プロジェクトでチェックしようとする時に、以下のエラーが発生するかもしれません。

"The current source control operation cannot be completed. The source control plug-in returned the following error: Item does not exist."

この問題を解決するには、［ペンディングチェックイン］ウィンドウからすべてをチェックインしてください。


Spaceのトラブルシューティング

Q

GigaSpacesが動作しません。

A

インストールパスに、(x86)という文字列が含まれている場合、GigaSpacesは動作しません。

Q

メモリアロケーションエラーを解決するにはどのようにしたらいいのでしょうか？

A

Magic xpi 4.xからは、トリガからのデータと並行またはスタンドアロンの分岐に送られるデータは、すべてMagic Spaceを経由します。大量のコンテンツが送られたり、HTTPのような外部トリガが使用されていると、これは、デフォルトのメモリアロケーションの設定では十分でない場合があります。

様々な GigaSpacesエンティティのメモリアロケーションの設定は、以下の位置で見つかります。：

<Magic xpiインストール>\Runtime\GigaSpaces-xpi\bin\magicxpi-gs-agent.bat

Space内でデータを保持するグリッドサービス・コンテナ（GSC)は、256MBまで現在設定されます。メモリアロケーションエラーが発生した場合、以下の行を変更することで、少なくとも512MBをGSCに割り当てることを検討してください。

修正前：

set GSC_JAVA_OPTIONS=-Xmx256m -Dcom.magicsoftware.ibolt.home="%MAGIC_XPI_HOME%"

修正後：

set GSC_JAVA_OPTIONS=-Xmx512m -Dcom.magicsoftware.ibolt.home="%MAGIC_XPI_HOME%"

Q

MAGIC_INFOスペース(mginfo)とMGMirrorプロセスユニットが正しく配備されませんでした。

A

GigaSpaces Management Center で、GSCオブジェクトの下でエラーが表示されかもしれません。例えば：

“ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] - Cannot create PoolableConnectionFactory (The TCP/IP connection to the host ORGAT-7-LP, port 1433 has failed. Error: "Connection refused: connect. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".)”

このエラーが発生したら、プロジェクトのデバッグや実行ができません。

この問題を解決するには、MSSQLSERVERプロトコルの［TCPポート］を1433に設定してください。

Q

ネットワーク構成（たとえば、IPアドレス）を変更した後にmgxpi-infoサービスが起動しないことがあります.

A

これを解決するには、DBMSが変更を認識できるように、コマンドラインからipconfig / flushdnsコマンドを実行するか、マシンを再起動してください。

Q

グリッドが開始されない場合、何ができますか？

A

グリッドが正しく開始された場合、インストール時に定義されたルックアップロケータを使用してグリッドが［Hosts］タブとグリッドコンポーネントにリストされていることを確認してください。

しかし、以下の問題のどれかに遭遇するかもしれません。

  • グリッドが［Hosts］タブに表示されません。上の例では、debbies-7 が表示されません。これは、グリッドが配備されていないことを意味しています。

  • グリッド名で gsa、gsc、gsm、およびlus のエントリが表示されません。これは、グリッドコンポーネントの1つ以上が正しく読み込まれなかったことを意味しています。

注意： グリッドが正しく動作していない場合、最初にすべき事は、magicxpi-setenv.batファイルのLOOKUPLOCATORSの値が正しく設定されることをチェックすることです。

これらの問題の1つに遭遇した場合、以下をチェックすることもできます。

  • Magic xpi GSAサービスを止めて、すべてのグリッドプロセス(存在している場合)の終了を待ち、Magic xpi GSAサービスを再起動してみてください。

  • ［グリッドサービスエージェント(GSA)をサービスとしてインストールする］のチェックボックスを選択しなかった場合、グリッドは配備されません。GSAをインストールするには、OS_Service\ScriptsからInstall_GSA_service.batファイルを実行してください。Windows7以上のOSの場合、管理者権限でこのコマンドを実行する必要があります。

  • インストール時に、［LUSの実行］チェックボックスを選択しないと、グリッドは配備されません。magicxpi-gs-agent.bat ファイルで gsa.lus 1inを定義してください。

  • 実行しているコンポーネントの1つをクリックしてください。そうすると、そのコンポーネントのログが表示されます。以下のイメージに示するように logの中にエラーが表示されます。:

  • すべてのアプリケーションサーバのために、PCが複数のネットワークインタフェースを使用している場合、NIC_ADDR の値(<Magic xpiインストール>Runtime\GigaSpaces-xpa\bin\magicxpi-setenv.bat ファイル内)が、ネットワークカードに割り当てられたIPアドレスまたはネットワークカード自身の名前のどちらかを格納するように設定されていることを確認してください。
    そして、NIC_ADDR の値をMagic.iniファイルのjvm_argsセクションに追加してください。:

    -Djava.rmi.server.hostname=<your network card IP address here>

    注意： ホスト名またはIPアドレスは、クォーテーションマークで囲まないでください。.

  • グリッドエンティティがGigaSpaces UI で有効でない場合、クラスタリング環境で動作する時、ファイアウォールがGigaSpacesによって使用されているポートを塞いでいないことをチェックしてください。ポートをコントロールする設定は、次の２つがあります。:

    • ファイアウォールで開いておく必要のあるディスカバリポート。

    • LRMIポートの範囲(固定範囲で設定され、さらにファイアウォールで開いておく必要があります)。

ポートについての追加情報は、ここを参照してください。

Q

GigaSpacesが開発PC上で多くのメモリを使用していないことを確認するにはどのようにしたらいいいのでしょうか？

A

現在は、デフォルトのメモリとクラスタのる設定は、開発PC用に設定されます。開発PCでは、設定はアプリケーションのフットプリントを減らすために変更することができます。

<Magic xpiインストール>\Runtime\GigaSpaces\bin\magicxpi-gs-agent.bat の推奨する設定は以下の通りです。

メモリ

set GSA_JAVA_OPTIONS=-Xmx64m

set GSC_JAVA_OPTIONS=-Xmx256m -Dcom.magicsoftware.ibolt.home="%MAGIC_XPI_HOME%"

set GSM_JAVA_OPTIONS=-Xmx64m

set LUS_JAVA_OPTIONS=-Xmx64m

call gs-agent.batから始まる行で、gsa.gscの設定を 2から1を変更してください。

例：

call gs-agent.bat gsa.gsc 1 gsa.global.gsm 1 gsa.global.lus 1 gsa.mgmirror 1 gsa.mgdeploy 1 gsa.mginfo 1

クラスタリングは、<Magic xpiインストール>\Runtime\Config\magicxpi_sla.xml ファイルで定義されます。

デフォルトでは、Spaceは2つのパーティションと各パーティションに対応したバックアップで定義されます。開発PC用では、一つのパーティションで十分であり、バックアップはその結果、必要ではありません。

magicxpi_sla.xmlファイルの内容は、以下を使用してください。

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:os-sla="http://www.openspaces.org/schema/sla" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.openspaces.org/schema/sla http://www.openspaces.org/schema/8.0/sla/openspaces-sla.xsd">

<os-sla:sla cluster-schema="partitioned-sync2backup" number-of-instances="1" number-of-backups="0" max-instances-per-vm="1">

</os-sla:sla>

</beans>

開発PCメモリの使用量を減らすサンプルは、ここのビデオ・デモンストレーションを参照してください。

Q

モニタにサーバが表示されません。

A

モニタまたは、［開始］リンクからサーバを起動すると、サーバエントリは、モニタに表示されます。表示されない場合は、サーバエンティティ（ServerDataオブジェクト）が作成されていないためです。Magic Space内でエンティティの作成やグリッドへのアクセスに問題があったかを確認するには、処理を依頼したPC（リモートPCでなく）のmgxpicmdl.logファイルをチェックしてください。

Q

サーバのステータスが、START_REQUESTEDのままになります。

A

リンクまたは、モニタから起動を選択すると、最初にSTART_REQUESTEDのステータスが表示されます。

これは一時的な状態で、ステータスはRUNNINGに変わるはずです。

上の図において、ホストPC（SPACECOURSEWIN7)にはSTART_REQUESTEDのステータスが表示され、値がNullに設定される［Process ID ］カラムに表示されるプロセスIDを受け取ることができませんでした。プロセスIDを受信しない理由を調べる必要があります。これを行うには、関連するログを見つける必要があります。すべてのログには、ログ+プロセス番号の名前があります。

  1. <Magic xpiのインストールディレクトリ>\Runtime\logs と <Magic xpiのインストールディレクトリ>\Runtime\logs\java フォルダで、すべてのログを削除してください。削除できないファイルはプロセが現在アクセスしているログです。これらのログは、内容を確認したいものになります。

  2. デスクトップまたは［スタート］メニューのリンクをクリックして、GigaSpaces UIを読み込んでください。

  3. 下の図の場合のように、主要なグリッドサービスコンテナ（GSC)のPIDを探してください。この場合、プロセスIDは、2312です。

  4. <Magic xpiインストールディレクトリ>\Runtime\logs\java フォルダにある、ログ magicxpi_<PID>.log を開いてください(例えば： magicxpi_2312.log)。ホストPC上でMagicプロセスユニットがグリッドサービス・エージェント（GSA)を見つけられなかった事が分かります。

このようなことが発生した理由はいくつかあります。

  • ホストPCがピーク時間にのみ有効になるように設定されている場合、この設定が有効になっているかもしれません。この場合は、PCが有効になるまで待つだけです。

  • ホストPCに問題があります。

  • そのPCへのネットワークアクセス関する問題があります。すなわち、PCは利用できません。

  • 名前解決についての問題があります。start.xmlファイルのホスト名は、DNS（Domain Name System ）によるグリッドでの名前と一致していないかもしれません。この問題を解決するには、start.xmlファイルで名前の代わりにPCのIPアドレスを使用してください。

Q

サーバのステータスがSTART_IN_PROGRESSになるのは何故ですか？

A

このシナリオでは、Magic プロセスユニットはリモートPCを見つけ、GSAはパラメータでMagic xpiサーバの実行を管理します。Magic プロセスユニットは、サーバのステータスをSTART_IN_PROGRESSに更新します。

serverdataエンティティのステータスがまだSTART_IN_PROGRESSであるかどうかを確認するために、複数のチェックに関係している内部のタイムアウトの後では、Magic xpiサーバはMagic Spaceに接続することができず、MagicプロセスユニットはサーバのステータスをSTART_FAILEDに更新します。

ステータスがSTART_FAILEDになると、Magicプロセスユニットは、GSAをチェックして、Magic xpiサーバプロセス用のハンドルがあるかどうかを調べます。プロセスがある可能性は十分にあります。それはプロジェクトの処理を行わないいわゆるファントムプロセスです。ハンドルがあれば、MagicプロセスユニットはGSAにプロセスを停止するように指示します。

このようなことが発生した理由はいくつか考えられます。例えば：

  • ライセンスの問題

  • コマンドラインのパラメータのどれか（ロジェクト名またはパスなど）に間違いがある。

  • ユーザは、プロジェクトが存在する共有ドライブにアクセスしていない。MagicプロセスユニットはリモートPCのGSAにMagic xpiサーバを読み込ませることを要求するため、Magic xpiサーバはGSAの権利で読み込みを行い、必ずしも現在のユーザの権利は必要ありません。現在のユーザは、ライセンスと同じように共有フォルダ上のプロジェクトにアクセスするかもしれません。しかし、GSAプロセスに割り当てられたユーザはそのようなアクセスができないのかもしれません。

上記のエラーは、ifs.logに書き込まれるかもしれません。関連したエラーについてifs.logファイルをチェックすることはよい選択です。

注意：以下は、プロジェクトのフォルダにアクセスする際、権限上の問題があることを示しています。

  • ifs.logファイルが作成されません。

  • Windowsのタスクマネージャで、MgxpiServer.exeプロセスメモリ消費量が少ない(約18MB)です。

Q

サーバのステータスが、SERVER_INITIALIZINGになるのは何故ですか？

A

これは、GSAがなんとかMagic xpiサーバの実行を管理する際の一時的なステータスです。Magic xpiサーバは、SERVER_INITIALIZINGとしてサーバのステータスを更新します。

ステータスがRUNNINGに更新されると、Magicプロセスユニットは表示するためにサーバのステータスをチェックします。ステータスがRUNNINGでない場合、内部タイムアウトの後、MagicプロセスユニットはステータスをSTART_FAILEDに更新します。このシナリオが発生する一つの原因は、Magic xpiサーバがデータベースにアクセスできなかった場合があります。

場合によっては、これは、実際のMagic xpiサーバアプリケーションとプロジェクトメタデータがMagic xpiプロセスにロードされなかったことを意味しています。

データベースへの接続の問題など、そ他の場合は、プロジェクトがSpaceに作成されたことを意味していますが、エンジンはデータベースの問題のため、その後で終了します。

Magic xpiサーバがデータベースにアクセスすることができなかった場合に、これが発生します。

  • start.xml に登録されたPC上の<Magic xpiインストールディレクトリ>\Runtime\logs フォルダを開き、プロジェクトのログを捜してください。

  • ログファイルを開き、そこにエラーがあるかどうかを確認してください。データベースへのアクセスがない場合は、次のエラーに気付くかもしれません： Failed to open, data source: ifs_ods

Q

GSAサービスを開始する時(または、コマンドプロンプトでmagicxpi-gs-agent.batを実行したとき）、以下のエラーがログに書き込まれます。“Could not find or load main class xpi”

A

Magic xpi が Spaceを含む位置にインストールされていると、8dot3name (ショートネーム)のサポートが必要です。

8dot3name がサポートされていることを確認してください。これを行うには、管理者としてコマンドプロンプトを開き、以下のコマンドを実行してください。

fsutil 8dot3name query <利用するインストールドライブ>

例えば、Magic xpiをCドライブにインストールする場合は、このコマンドを使用してください。

fsutil 8dot3name query c:

fsutilユーティリティは、C:\Windows\system32 にあります。上記のコマンドが見つからない場合、 コマンドプロンプトでsystem32フォルダに移動してください。

コマンドの結果が、ボリュームの状態が、0(8dot3 名の作成は有効です)であり、レジストリの状態が2(ボリューム単位で設定しますj - 規定値)になっています。そして8dot3 nameが可能で、インストールを続行することができます。

8dot3nameが無効の場合、管理者として以下のコマンドを実行してください。

fsutil 8dot3name set <required installation drive> 0

例えば、Cドライブ上で8dot3name8を有効にするには。

fsutil 8dot3name set c: 0

設定内容を反映するには、PCを再起動する必要があるかもしれません。

https://ja.wikipedia.org/wiki/8.3%E5%BD%A2%E5%BC%8F

Q

内部のデータベースによるWindows認証を使用する時、Spaceが正しく配備されません

A

これは、Magic xpi の設定の問題、またはシステム権限の問題であるかもしれません。

1. Magic xpiの設定の問題

インストール後に、Magic xpiに、Windows認証を使用して内部データベースと接続してほしい場合、datasource.xmlファイルを変更する必要があります。このファイルは次に配置されています：<Magic xpiインストール>\Runtime\config。

  1. usernameとpasswordのプロパティを削除してください。例えば、以下のテキストを削除してください：username="magicxpi4_1" password="MagicPass#3".

  2. urlプロパティに integratedSecurity=true を追加してください。例えば、ファイルは次のテキストのような感じになります。usernameとpasswordは削除され、赤いテキストが追加されています。

<datasources>

<datasource id="1" hibernate.default_schema="dbo"

hibernate.dialect="org.hibernate.dialect.SQLServerDialect"

hibernate.default_catalog = "magicxpi4_1"

driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"

url="jdbc:sqlserver://AVI-8-LP\SQLEXPRESS:1433;databaseName=magicxpi4_1;integratedSecurity=true"/>

</datasources>

2. システム権限の問題

NT AUTHORITY\SYSTEMユーザは、SQLサーバでシステム管理者権限を持っていないのに対して、ユーザログインを行うため、これはWindowsのセキュリティ上の動作です。Windowsでは、OSサービスはデフォルトでNT AUTHORITY\SYSTEMユーザとして実行されます。しかし、GigaSpacesがエージェントとして開始されると、代わりにユーザログインで実行されます。

この問題を避けるために、2つのオプションがあります。

  1. システム管理者権限をNT AUTHORITY\SYSTEMユーザに与えてください。

  2. 必要な権限を持つユーザでGSAサービスを実行するようにユーザアカウントを変更してください。

Q

GigaSpacesのログに「Failed to add PDH Counter」や「Invalid Query」などのGSA WARNINGメッセージが表示されるのはなぜですか？

A

このエラーが発生する原因のひとつとして、使用するPCのWindowsパフォーマンスカウンタが関係している可能性があります。

この問題を解決するには、パフォーマンスカウンタを再構築してください。以下の手順に従ってください。

  1. Magic xpiを停止して、ログを消去します。

  2. 管理者としてコマンドプロンプト（cmd）を開きます。

  3. コマンドプロンプトで、次の行を入力し、Enterキーを押します： LODCTR /R

  4. "Info: Successfully rebuilt performance counter setting from system backup store".というメッセージが表示されます。

  5. コマンドプロンプトを終了します。

  6. Magic xpiを再起動し、ログを確認します。

Q

「サーバーが選択したプロトコルバージョンTLS10がクライアント設定[TLS12]で受け入れられません」のようなエラーでGigaSpacesサービス開始に失敗するのはなぜですか？

A

ZuluJDKバージョン292では1.2未満のTLSサポートがデフォルトで利用できないためこのエラーが発生する可能性があります。

利用できるようにするには、下記の手順を実行してください。:

  1. JDKフォルダに移動します。

  2. JDKフォルダーで、jre\lib\securityフォルダーの下にあるjava.securityファイルを開きます。

  3. このファイルで、プロパティ jdk.tls.disabledAlgorithmsをコメント化します。 行をコメント化するには行の先頭に＃（ハッシュ）文字を追加します。

たとえば、プロパティがjava.securityファイルで以下のようになっている場合:

jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \DH keySize <1024, EC keySize <224, 3DES_EDE_CBC, anon, NULL, \include jdk.disabled.namedCurves

コメントするとプロパティは次のようになります:

# jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \DH keySize <1024, EC keySize <224, 3DES_EDE_CBC, anon, NULL, \include jdk.disabled.namedCurves

Q

Oracle JDK update 261以上を使用している場合、GigaSpageサービスがデプロイされないのはなぜですか？

A

SigarライブラリはGSAサービスの開始に失敗するため、Windows Server2019のOracleJDK update 261と互換性がありません。

この問題を解決するには、Sigarライブラリを無効にする必要があります。次のいずれかの方法で無効にしてください。:

  1. Magic xpi インストールフォルダ\Runtime\Gigaspaces\lib\optional に移動し、Sigarフォルダのフォルダ名を名前変更します。

  2. また、以下の方法も有効です。:

  1. Magic xpi インストールフォルダ\Runtime\Gigaspaces-xpi フォルダに移動する。

  2. magicxpi-setenv.bat をテキストエディタで開く。

  3. このファイルでADDITIONAL_OPTIONS のプロパティにフラグ -Dcom.gs.sigar.enabled を設定値と共に追加する。

例,

set ADDITIONAL_OPTIONS=%ADDITIONAL_OPTIONS%
         -Dcom.magicsoftware.ibolt.home=%MAGIC_XPI_HOME%\runtime -Dlogback.configurationFile=%MAGIC_XPI_HOME%\runtime\Java\classes\gigaspaces.root.logback.xml
         -Dcom.gs.oshi.enabled=false -Dcom.gs.sigar.enabled=false

  4. Magic xpi インストールフォルダ\Runtime\Gigaspaces に移動し、WorkフォルダとDeployフォルダを削除する。

Sigarライブラリを無効にすると、GigaspacesはCPUとメモリ使用率のマトリックスを監視できなくなり、アラートを生成しなくなります。

Q

全てのMagic xpi プロジェクトが再起動され、logsフォルダのログファイル中に "remote space not found/EntryNotInSpace/SpaceOperationsRetriesThreashold"というエラーが記録されるのはなぜですか？

A

このエラーは、ネットワーク接続が不安定な時など、何らかのネットワークに関連した問題で発生することが考えられます。

この問題を解決する場合、下記の内容を実施してください。:

  1. <Magic xpi インストールフォルダ>\Runtime\Magic xpa 下にあるmagic.iniをテキストエディタで開きます。

  2. [MAGICXPI_GS]セクションに以下のフラグを変更（存在しない場合は追加）します。

  3. SpaceOperationsRetriesThreshold

このフラグにデフォルト値（600）以上の値を設定します。もし無限大にしたい場合は0を設定します。

例：SpaceOperationsRetriesThreshold=2000

  • CheckServerEntryInspaceRetrytimes

このフラグにデフォルト値（10）以上の値を設定します。もし無限大にしたい場合は0を設定します。

例：CheckServerEntryInspaceRetrytimes=100

また、Javaのヒープサイズを増やしてみてください。その場合、次のトピックを参照してください。JVMメモリパラメータを調整するには


Sugarのトラブルシューティング

Q | Error 7500: SugarCRM call error: com.magicsoftware.ibolt.sugarcrmonline.IBSugarCRMException: Error while fetching the data:Error while fetching the data from Server :</body></html> というエラーが発生します。
A | Sugarコネクタを使用したクエリの中にあまりにも多くのレコードがある場合、このエラーが発生するかもしれません。この問題を解決するには、レコードのより少ないクエリを行ってみてください。
Q | Sugarコネクターを使用して、account_idでフィルターされた連絡先を照会することができません。
A | 従来のAPIを使用して、account_idで連絡先を照会するためにQueryオペレーションを使用することはできません。提供されたメタデータは、テーブルに関する情報を提供しません。 考えられる解決策の1つは、正しい構文（account_id / contact_idリンクを保持するテーブルの名前を含む）でWHERE句を定義することです。


WCFのトラブルシューティング

Q | WCFクライアントで使用される一部のWCF WSDLに対して実行時に例外がスローされるのはなぜですか？
A | WCFクライアントでWCF WSDLを処理しているときに、ユーザが次のエラーを検出することがあります。 System.InvalidOperationException: There was an error reflecting type 'xml'. ---> System.InvalidOperationException: There was an error reflecting property 'Any'. ---> System.InvalidOperationException: There was an error reflecting type 'System.Xml.XmlElement'. ---> System.InvalidOperationException: System.Xml.XmlElement cannot be used as: 'xml text'. エラーを解決するには、ユーザはWCFXMLNodeReplaceという名前のユーザ環境変数を追加する必要があります。 この変数を追加した後は、必ずWCFリソースをリロードしてください。


Web Serviceのトラブルシューティング

Q

Magic xpiバージョン4.13で古いプロジェクトを移行した後、Webサービスクライアントのステップが未構成として赤い十字マークが表示され、リソース構成が入力されないのはなぜですか？

A

過去バージョンのSystinetServer for Javaは、Magic xpi4.13でMagicSOAPServerに置き換えられました。 これにより、古いプロジェクトがxpi 4.13に移行されたときにステップが無効になり、その結果、プロジェクトを開くことができない場合があります。

この問題を修正するには、Magic SOAPServerを使用して生成された新しいWSDLのURLを指すようにWeb Serviceクライアントリソースを再構成し、WSDLをリロードします。 その後、ステップを再構成します。

Q

次のエラーが出力されるのはなぜですか。"Web Service Client invocation failed org.apache.cxf.transport.http.HTTPException: HTTP response '415: Unsupported Media Type' when communicating with Text Casing Service from DataAccess ( http://www.dataaccess.com/webservicesserver/textcasing.wso) using the Web Services Client?

A

このエラーが発生する理由の1つは、Webサービスステップの設定が正しくないことである可能性があります。 この問題を解決する方法として、添付ファイルを送信しない場合にWeb Service Clientのリソース設定で添付ファイルの種類を空白に設定してみてください。


. NETのトラブルシューティング

Q | .NET Utilityとの間でBLOBの受け渡しを行うためにC.UserBlobコンテキスト変数を使用することは、.NET Utilityの実行時間が（BLOBのサイズに応じて)非常に長くなります。時々、“out of memory”のエラーメッセージが発生する場合があります。どのようにしたら、これを回避できますか？
A | ユーザ定義のBLOB変数を使用する場合と、Magic xpiの事前に定義されたコンテキストBLOB変数を使用する場合では、Magic xpiが,NETにBLOBを送受信する場合で方法が異なります。 このため、.NET Utilityを使用するとき、BLOBコンテンツを送受信するためにユーザ定義の変数（たとえば、F.Blb)を利用することを推奨します。
Q | "Error in .NET invocation:IFC1.IFC1 Code:2140930047 Set Property: iBOLTFramework.dll location" というエラーが発生します。
A | .NETフレームワークサポートでプロジェクトを実行すると、"Error in .NET invocation:IFC1.IFC1 Code: 2140930047 Set Property: iBOLTFramework.dll location"というエラーが発生する場合があります。この場合は、以下のコマンドを使用して Iboltinvoker.dllファイル の登録解除と再登録を行ってください。 RegAsm iboltinvoker.dll /tlb:iboltinvoker.tlb


Magic xpiヘルプを使用する

以下は、Magic xpiヘルプを使用するための手引きを示したものです。

トピックを見つける

Magic xpiには、F1 キーを押下して必要なトピックを自動的に表示する機能が備わっています。この操作によって、現在使用中のMagic xpiの機能について説明したトピックが表示されます。別のトピックに関するヘルプを表示したい場合、以下の機能を使用して簡単にトピックを見つけることができます。

目次:

目次を使用すると、ヘルプの内容を参照して、トピックごとに論理的な順序で構造化された情報を見つけることができます。これは、従来型のユーザマニュアルを読むことに似ています。

キーワード:

キーワードを使用すると、ヘルプに収録されている Magic xpiとEAIの概念に関する情報を見つけることができます。また、Magic xpiの基本的な用語および機能も検索できます。通常、1単語からなる短い用語を見つけるには、検索機能よりキーワードの方が効果的です。

検索:

検索機能を使用すると、Magic xpiヘルプ内の任意の単語または語句を検索できます。検索機能では、トピックのタイトルや索引内の語句など、任意の単語または語句を入力することができます。検索では、Magic xpiのすべてのヘルプトピック内のすべての単語が検索の対象となるので、検索結果として多数のトピックが返される場合があります。検索結果が多すぎる場合は、索引または目次を使用するか、以下のいずれかの方法に従って、検索パラメータを絞り込むことができます。

最上部のフィールドに単語または語句を入力して、Enter キーを押下したりトピックリストをクリックすると、入力した単語または語句を含むトピックの一覧が表示されます。トピックを表示するには、結果の一覧で目的のトピックをダブルクリックするか、トピックを選択して［表示］をクリックします。

検索の精度を以下の方法で向上させることができます。

  • 論理演算子： AND、 OR、NEAR、またはNOTの各ブール演算子を使用できます。検索フィールドに演算子を入力するか、フィールドの右にある三角形をクリックし、ポップアップ リストから演算子を選択します。

  • 二重引用符（""）または括弧： 二重引用符や括弧を使用すると、入力したとおりの語句を検索できます。例えば、「Scheduling Flows 」と入力した場合、「Scheduling 」と「Flows 」の両方の単語を含むトピックが検索されます。一方、二重引用符で囲んで「"Scheduling Flows"」と入力すると、「Scheduling Flows」という句を含むトピックが検索されます。

  • チェック ボックス：検索結果の一覧の下部にあるチェックボックスを使用すると、検索パラメータを絞り込むことができます。

自動同期

必要なトピックをインデックスもしくは検索で見つけた後に､［同期］ボタンをクリックしてトピック階層の中のトピック位置を参照することができます。

トピック内でナビゲートする

Magic xpiヘルプのトピックでは、以下の種類のテキストおよび記号が使用されます。

テキスト/記号

説明

下線付きの青いテキスト

このテキストをクリックすると以下の処理を実行することができます。

  • テキストで示されたトピックを開きます。

  • テキストで示されたトピックに関するポップアップウィンドウを開きます。ポップアップウィンドウを閉じるには、元のトピック内の任意の場所をクリックします。

  • 同じトピックの別の箇所に移動します。

下線付きの緑のテキスト

このテキストをクリックすると、画像、図、またはテキストを現在のトピックと同じページにドロップダウンさせて表示できます。画像やテキストを閉じるには、リンクをもう一度クリックします。

トピックを印刷するときに、ページに表示される画像や図も含めるには、印刷するトピックを送信する前に、画像や図がページ上に表示されていることを確認してください。

「トップへ戻る」矢印

トピックの先頭に戻るには、この矢印をクリックします。

注意事項は、上下を罫線で囲まれて表示されます。ここには重要な情報が記載されています。


エンドユーザ向け使用許諾

お客様へのお願い

本ソフトウェアをインストールする前に、必ず下記の条件をお読みください。

インストールされた時点で、下記使用条件をご承諾いただいたものといたします。

ご承諾いただけない場合はすみやかにインストール処理を中断してください。

Magic Software Enterprises社(以下「MSE」という)とお客様(以下「お客様」という)は、このパッケージに同封されているソフトウェア・プログラム(以下「許諾プログラム」という)及び同封物(マニュアルなど)について以下の通り合意しました。

なお、本契約書に関するお問い合わせは、マジックソフトウェア・ジャパン株式会社(以下「MSJ」という)まで書面にてご連絡いただきますようお願い致します。

1. 総則

許諾プログラムに関する全ての著作権は、MSEが保有しています。 MSEはお客様に、以下の条項の規定に従って、許諾プログラムの譲渡不能かつ非独占的で限定された使用権を許諾するものであり、販売するものではありません。

2. 契約期間

本契約は、お客様がこのパッケージを開封した時から発効し、お客様が文書により解約を申し入れるか、または第8条の規定により解約されるまで有効とします。

3. 使用権

(1) 使用権の内容はお客様が購入された許諾プログラムの種類により異なります。

お客様はパッケージに表記された種類に従い、以下の使用権の内容を遵守して下さい。

  • Magic xpi スタジオ の場合

お客様は、許諾プログラムを機械読取可能な形で、コンピュータ・システムにおいてお客様が購入した合計のユーザー数分を同時に使用することができます。

  • Magic xpi Integration Server Basic Editionの場合

お客様は、許諾プログラムを機械読取可能な形で、「Magic xpi Integration Platform提供ワーカースレッド数一覧」（以下「ワーカースレッド数一覧」）に記載されたワーカースレッド数を上限として、システム本番運用用と動作確認テスト用に使用することができます。動作確認テストで使用する場合は24時間以上連続使用することはできません。

お客様は、Magic xpi スタジオを機械読取可能な形で、コンピュータ・システムにおいて1ユーザー分を同時に使用することができます。

  • Magic xpi Integration Server Standard Editionの場合

お客様は、許諾プログラムを機械読取可能な形で、「ワーカースレッド数一覧」に記載されたワーカースレッド数を上限として、システム本番運用用と動作確認テスト用に使用することができます。動作確認テストで使用する場合は24時間以上連続使用することはできません。

お客様は、Magic xpi スタジオを機械読取可能な形で、コンピュータ・システムにおいて1ユーザー分を同時に使用することができます。

  • Magic xpi Integration Server Enterprise Editionの場合

お客様は、許諾プログラムを機械読取可能な形で、「ワーカースレッド数一覧」記載されたワーカースレッド数を上限として、システム本番運用用と動作確認テスト用に使用することができます。動作確認テストで使用する場合は24時間以上連続使用することはできません。

お客様は、Magic xpi スタジオを機械読取可能な形で、コンピュータ・システムにおいて1ユーザー分を同時に使用することができます。

  • Magic xpi Embedded Server Basic Editionの場合

Magic xpi Integration Server、SAP Business Oneアダプタが許諾プログラムとして提供されます。

お客様は、許諾プログラムを機械読取可能な形で、「ワーカースレッド数一覧」 に記載されたワーカースレッド数を上限として、システム本番運用用に使用することができます。

  • Magic xpi Embedded Server Standard Editionの場合

Magic xpi Integration Server、SAP Business Oneアダプタが許諾プログラムとして提供されます。

お客様は、許諾プログラムを機械読取可能な形で、「ワーカースレッド数一覧」に記載されたワーカースレッド数を上限として、システム本番運用用に使用することができます。

  • Magic xpi Embedded Server Enterprise Editionの場合

Magic xpi スタジオ 1ユーザー、Magic xpi Integration Server、SAP Business Oneアダプタが許諾プログラムとして提供されます。

お客様は、Magic xpi スタジオを機械読取可能な形で、コンピュータ・システムにおいて1ユーザー分を同時に使用することができます。

お客様は、許諾プログラムを機械読取可能な形で、「ワーカースレッド数一覧」に記載されたワーカースレッド数を上限として、システム本番運用用に使用することができます。

  • SAP R3(SAP ERP)コネクタの場合

お客様は、許諾プログラムを機械読取可能な形で、システム本番運用用と動作確認テスト用として使用することができます。動作確認テストで使用する場合は24時間以上連続使用することはできません。

また、本製品を使用する際は必ずMagic xpi Integration Server(Basic,Standard,Enterprise Editionのいずれか)が必要です。

  • SAP Business Oneアダプタの場合

お客様は、許諾プログラムを機械読取可能な形で、システム本番運用用と動作確認テスト用として使用することができます。動作確認テストで使用する場合は24時間以上連続使用することはできません。

また、本製品を使用する際は必ずMagic xpi Integration Server(Basic,Standard,Enterprise Editionのいずれか)が必要です。

  • Salesforce.comアダプタの場合

お客様は、許諾プログラムを機械読取可能な形で、システム本番運用用と動作確認テスト用として使用することができます。動作確認テストで使用する場合は24時間以上連続使用することはできません。

また、本製品を使用する際は必ずMagic xpi Integration Server(Basic,Standard,Enterprise Editionのいずれか)が必要です。

  • Dynamics CRMアダプタの場合

お客様は、許諾プログラムを機械読取可能な形で、システム本番運用用と動作確認テスト用として使用することができます。動作確認テストで使用する場合は24時間以上連続使用することはできません。

また、本製品を使用する際は必ずMagic xpi Integration Server(Basic,Standard,Enterprise Editionのいずれか)が必要です。

  • JD Edwards Enterprise Oneアダプタの場合

お客様は、許諾プログラムを機械読取可能な形で、システム本番運用用と動作確認テスト用として使用することができます。動作確認テストで使用する場合は24時間以上連続使用することはできません。

また、本製品を使用する際は必ずMagic xpi Integration Server(Basic,Standard,Enterprise Editionのいずれか)が必要です。

  • SAP A1アダプタの場合

お客様は、許諾プログラムを機械読取可能な形で、システム本番運用用と動作確認テスト用として使用することができます。動作確認テストで使用する場合は24時間以上連続使用することはできません。

また、本製品を使用する際は必ずMagic xpi Integration Server(Basic,Standard,Enterprise Editionのいずれか)が必要です。

  • SharePointアダプタの場合

お客様は、許諾プログラムを機械読取可能な形で、システム本番運用用と動作確認テスト用として使用することができます。動作確認テストで使用する場合は24時間以上連続使用することはできません。

また、本製品を使用する際は必ずMagic xpi Integration Server(Basic,Standard,Enterprise Editionのいずれか)が必要です。

  • JD Edwards Worldアダプタの場合

お客様は、許諾プログラムを機械読取可能な形で、システム本番運用用と動作確認テスト用として使用することができます。動作確認テストで使用する場合は24時間以上連続使用することはできません。

また、本製品を使用する際は必ずMagic xpi Integration Server(Basic,Standard,Enterprise Editionのいずれか)が必要です。

  • Dynamics AXアダプタの場合

お客様は、許諾プログラムを機械読取可能な形で、システム本番運用用と動作確認テスト用として使用することができます。動作確認テストで使用する場合は24時間以上連続使用することはできません。

また、本製品を使用する際は必ずMagic xpi Integration Server(Basic,Standard,Enterprise Editionのいずれか)が必要です。

  • SugarCRMアダプタの場合

お客様は、許諾プログラムを機械読取可能な形で、システム本番運用用と動作確認テスト用として使用することができます。動作確認テストで使用する場合は24時間以上連続使用することはできません。

また、本製品を使用する際は必ずMagic xpi Integration Server(Basic,Standard,Enterprise Editionのいずれか)が必要です。

  • Magic xpi Business Partner Kitの場合

Magic xpi スタジオ1ユーザー、Magic xpi Integration Server Enterprise Edition、SAP R3(SAP ERP)コネクタ、SAP Business One、Salesforce.comアダプタ、Dynamics CRMアダプタ、JD Edwards Enterprise Oneアダプタ、SAP A1アダプタ、SharePointアダプタ、JD Edwards Worldアダプタ、DynamicsAXアダプタ、SugarCRMアダプタが許諾プログラムとして提供されます。

お客様は、Magic xpi スタジオを機械読取可能な形で、コンピュータ・システムにおいて1ユーザー分を同時に使用することができます。

お客様は、Magic xpi Integration Server Enterprise Edition、SAP R3(SAP ERP)コネクタ、SAP Business One、Salesforce.comアダプタ、Dynamics CRMアダプタ、JD Edwards Enterprise Oneアダプタ、SAP A1アダプタ、SharePointアダプタ、JD Edwards Worldアダプタ、DynamicsAXアダプタ、SugarCRMアダプタを機械読取可能な形で、「ワーカースレッド数一覧」に記載されたワーカースレッド数を上限として、デモンストレーション用およびシステム開発時のテスト用に使用することができます。

本製品はデモンストレーション作成および開発用にのみ使用することができ、本製品を用いて連携システムを開発、運用することはできません。

また、他者に転売することはできません。

(2) お客様は、同梱されているMagic uniPaaS V1PlusをMagic xpiを使用するプロジェクト開発 のみに使用することに同意します。

4. 制限

お客様は、以下の行為をしてはならないものとします。

（但し、MSE による書面による同意がある場合は、この限りではありません。）

(1) 許諾プログラムあるいはその使用権の譲渡、移転、または再使用権の設定を行うこと。

(2) 許諾プログラムあるいはその使用権をレンタル、リースまたは貸与すること。

(3) 許諾プログラムを改変、リバースエンジニアリングまたは逆アセンブルすること。

(4) 許諾プログラムの技術的な制限を回避する方法で利用すること。

(5) ASPやSaaSあるいはその他の方法で、第三者の業務処理目的で許諾プログラムを当該第三者に使用させること。(商用ホスティングサービスを含む)。

5. 許諾プログラム等の複製

(1) お客様は、許諾プログラムの複製物を作成してはなりません。

但し、バックアップを目的とする場合に限り、機械読取可能な形で許諾プログラムの複製 物を1部まで作成することができます。

(2) お客様は、許諾プログラムのすべての複製物に、許諾プログラムに付されている著作権表示およびその他の権利表示を付すものとします。

(3) お客様は、このパッケージの許諾プログラム以外の同封物の一部、または全部の複製物を作成する場合には、MSEの事前の許諾を得るものとします。

6. 著作権

(1) お客様が、いかなる改変も加えていないソースコードについては、その著作権はMSEに帰属します。

(2) 提供されたソースコードの一部をお客様が改変したソースコードについては、その著作権はMSEに帰属します。

(3) MSEのソースを含まず、お客様が純粋に追加したソースコードについては、その著作権はお客様に帰属します。

7. MSJおよびMSEの保証の範囲

(1) MSJおよびMSEは許諾プログラムがお客様の特定の使用目的に合致し、また、いかなる場合でもその実行に誤りがないことを保証するものではありません。

但し、お客様が登録カードを返送し、かつお客様が許諾プログラムを通常の方法で使用している場合に限り、許諾プログラム購入の日から３箇月以内に指定プログラムの誤り(バグ)を修正したソフトウェア・プログラムが発表されたときには、その修正したソフトウェア・プログラムまたは修正したソフトウェア・プログラムに関する情報を 提供します。

これをもってMSJおよびMSEの唯一の保証とします。

(2) MSJおよびMSEの責任は、第7条(1)項に規定された保証のみに限定されるものとし、許諾プログラムを使用することにより生じたいかなる損害についてもその責は負いません。

8.契約の解約

MSJは、お客様が本契約に定める事項に違反したとき、またはお客様において本契約を継続しがたい重大な事由があるときは、お客様に対し、何らの事前の通知なしに直ちに本契約を解約できるものとします。

9.契約終了時の措置

本契約が第8条により解約された場合またはその他の事由により本契約が終了した場合、お客様は本契約が終了した日より10日以内にインストールされた許諾プログラムのデータ及び許諾プログラムを格納した媒体並びにそれらの複製物を廃棄するものとします。

10. 一般条項

本契約のいずれかの条項またはその一部が法令により無効となった場合でも、その他の条項は、有効に存続するものとします。

11. 準拠法および裁判管轄

本契約は日本法に準拠するものとし、本契約に関する訴えは、東京地方裁判所をもって第一審の専属管轄裁判所とします。

【Magic xpi Integration Platform提供ワーカースレッド数一覧】

-------------------------------------------------------------------------

Magic xpi Integration Platform 製品 ワーカースレッド数

-------------------------------------------------------------------------

Magic xpi Integration Server Basic Edition | 5

Magic xpi Integration Server Standard Edition | 15

Magic xpi Integration Server Enterprise Edition | 35

-------------------------------------------------------------------------

Magic xpi Embedded Server Basic Edition | 3

Magic xpi Embedded Server Standard Edition | 7

Magic xpi Embedded Server Enterprise Edition | 15

-------------------------------------------------------------------------

Magic xpi Business Partner Kit | 35

-------------------------------------------------------------------------

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


コピーライト

The information in this manual/document is subject to change without prior notice and does not represent a commitment on the part of Magic Software Enterprises Ltd.

Magic Software Enterprises Ltd. makes no representations or warranties with respect to the contents hereof and specifically disclaims any implied warranties of merchantability or fitness for any particular purpose.

The software described in this document is furnished under a license agreement. The software may be used or copied only in accordance with the terms and conditions of the license agreement. It is against the law to copy the software on any medium except as specifically allowed in the license agreement.

No part of this manual and/or databases may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or information recording and retrieval systems, for any purpose other than the purchaser’s personal use, without the prior express written permission of Magic Software Enterprises Ltd.

All references made to third-party trademarks are for informational purposes only regarding compatibility with the products of Magic Software Enterprises Ltd.

Unless otherwise noted, all names of companies, products, street addresses, and persons contained herein are part of a completely fictitious scenario or scenarios and are designed solely to document the use of Magic xpi.

Magic™ is a trademark of Magic Software Enterprises Ltd.
Btrieve® and Pervasive.SQL® are registered trademarks of Pervasive Software Inc.
IBM®, Topview™, System i5®/System i®/IBM i®, pSeries®, xSeries®, RISC System/6000®, DB2®, WebSphere®, Domino®, and Lotus Notes® are trademarks or registered trademarks of IBM Corporation.
Microsoft®, FrontPage®, Windows™, WindowsNT™, ActiveX™, Exchange™, Dynamics® AX, Dynamics® CRM, SharePoint®, Excel®, and Word® are trademarks or registered trademarks of Microsoft Corporation.
Oracle®, JD Edwards EnterpriseOne®, JD Edwards World®, and OC4J® are registered trademarks of the Oracle Corporation and/or its affiliates.
Google Calendar™ and Google Drive™ are trademarks of Google Inc.
Salesforce® is a registered trademark of salesforce.com Inc.
SAP® Business One and SAP® ERP® are registered trademarks of SAP AG in Germany and in several other countries.
SugarCRM is a trademark of SugarCRM in the United States, the European Union and other countries.
Linux® is a registered trademark of Linus Torvalds.
UNIX® is a registered trademark of UNIX System Laboratories.
GLOBEtrotter® and FLEXlm® are registered trademarks of Macrovision Corporation.
Solaris™ and Sun ONE™ are trademarks of Sun Microsystems Inc.
HP-UX® is a registered trademark of the Hewlett-Packard Company.
Red Hat® is a registered trademark of Red Hat Inc.
WebLogic® is a registered trademark of BEA Systems.
Interstage® is a registered trademark of the Fujitsu Software Corporation.
JBoss™ is a trademark of JBoss Inc.
Systinet™ is a trademark of Systinet Corporation.
GigaSpaces, GigaSpaces eXtreme Application Platform (XAP), GigaSpaces eXtreme Application Platform Enterprise Data Grid (XAP EDG), GigaSpaces Enterprise Application Grid, GigaSpaces Platform, and GigaSpaces, are trademarks or registered trademarks of GigaSpaces Technologies.

Clip art images copyright by Presentation Task Force®, a registered trademark of New Vision Technologies Inc.
This product uses the FreeImage open source image library. See http://freeimage.sourceforge.net for details
This product uses icons created by Axialis IconWorkShop™ (http://www.axialis.com/free/icons)

This product includes software developed by the Apache Software Foundation (http://www.apache.org/).
This product includes software developed by Computing Services at Carnegie Mellon University (http://www.cmu.edu/computing/). Copyright © 1989, 1991, 1992, 2001 Carnegie Mellon University. All rights reserved.
This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/).
This product includes software that is Copyright © 1998, 1999, 2000 of the Thai Open Source Software Center Ltd. and Clark Cooper.
This product includes software that is Copyright © 2001-2002 of Networks Associates Technology Inc All rights reserved.
This product includes software that is Copyright © 2001-2002 of Cambridge Broadband Ltd. All rights reserved.
This product includes software that is Copyright © 1999-2001 of The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved.

All other product names are trademarks or registered trademarks of their respective holders.

January 2017
Copyright © 2020 by Magic Software Enterprises Ltd. All rights reserved.


BlobRemoveBOM

R選択されたBLOBからBOMを削除します。

構文： | BlobRemoveBOM(BLOB 式)
パラメータ： | 式……BOM（Byte Order Mark)を削除したいBLOB式。
戻り値： | BOMが削除されたBLOB値（UTF-8かUnicode BOM)。
関連項目： | UnicodeまたはUTF-8 BOMをBLOBファイルから取り除くには

Since version:

4.0a


Component List

  • Select a component from the list and click Select.

  • To clear your selection, click Reset.

  • To close the Component List without making a selection, click Cancel.


Creating Installation Response Files

The high-level process for creating silent installation is as follows:

1 To record a silent installation, run the -r command. This is a single time activity to be performed after the Magic xpi installation for the required features set.

2 To play back a silent installation, run the setup -s command. This is a step that you would repeat during multiple future installations.


Customizing the Installation Response File

Response File Format

The values provided by the users during manual installation are recorded in the Response file provided. These values appear in the Response file under different sections.

For example, in a suite installation the database information provided in the database dialog would be represented as below:

[{BC37B9BC-8817-4307-8D5C-26ED3112BFCF}-DlgCusDB-0]

szUser=sa

szPass=sa1

szSrv=MSEIWIN

UninstallDB=0

Result=1

Schema=dbo

Note that the part inside the curly braces, underlined above, will be unique per installation and the value will change per installation. This document will here onwards refer to this as UNIQUE-GUID-FOR-YOURINSTALLATION.

Changing the Target Directory

To change the target directory, look for all occurrences of the directory that you specified in the recording setup and replace them with the new path.

For example, if you specified c:\MySetupTargetFolder, look for it and replace it with the actual folder.

Changing the Database Components

The section [{{UNIQUE-GUID-FOR-YOUR-INSTALLATION}-DlgRadioOptions-0] records whether or not to set up the internal database during the installation and which database to use.

1 The values IS_TimeDB and Result set whether to set up the database by the installation (IS_TimeDB=Now, Result=-1001) or manually (IS_TimeDB=Later, Result=-1002).

2 The value Selection specifies which database to use. Valid values are those listed in the Database Support installation dialog.

The section [{{UNIQUE-GUID-FOR-YOUR-INSTALLATION}-DlgCusDB-0] records the input for the database details, if you choose to set up the database by the installation process.

3 The value szUser determines the user name for logging in to the database engine. Use an empty string (' ') to specify Windows Authentication, where applicable.

4 The value szPAss determines the password for logging in to the database engine. This is not encrypted. Leave empty for Windows Authentication.

5 The value szSry specifies the database engine (for example, SERVERNAME\SQLEXPRESS).

Changing the GigaSpaces Grid Installation

The section [{{UNIQUE-GUID-FOR-YOUR-INSTALLATION}-DlgCusGigaspaces-0] details the parameters for installing the GigaSpaces Grid. This section specifies the following values:

Key | Description
gigaAgent | Specifies whether the agent will be installed as a server (-1001) or not (-1002)
gigaDeveloperMode | Use development machine (-1001 = true, -1002 = false)
gigaRunLUS | Run LUS (-1001 = true, -1002 = true)
gigaBackup | Use partition back (-1001 = false, -1002 = true)
gigaName | Name of the GSA service
gigaLocators | GigaSpaces lookup locators
gigaComponents | Number of GSCs to use
gigaMemory | GSC Memory Allocation
gigaPartitionNumber | Number of partitions to use
gigaGroup | Lookup group


必要なライセンス

一部のMagic xpiコンポーネントは、特定のライセンスと組み合わせてのみ使用できます。 プロジェクトを作成するときは、実行時にプロジェクトを正しく実行するために、Magic xpiで必要なすべてのライセンスが必要です。必要なライセンスがなければ、プロジェクトは正しく機能しません。

プロジェクトのフローで使用しているコンポーネントに基づいて、必要なライセンスのリストを生成することができます。

これを行う方法については、「必要なライセンス機能の一覧を生成するには」を参照してください。


Schema List

  • Select a predefined schema from the list and click Select.

  • To close the Schema List without making a selection, click Cancel.

  • Click Reset to reset the list.