ゼロからの Aras Innovator 第23回 ~AMLでの対話~

みなさま、こんにちは!
アラスジャパン トレーナーの時田です。

前回まで3回連続で 「番外編」 として、Aras Innovator 12 の機能紹介をしてまいりましたが、今回は従来のアジェンダに戻り、Aras Innovatorの設定およびカスタマイズ方法をご説明していきます。

第23回のテーマは、「AMLでの対話」です!

 

 

 


 

◆AMLとは!?◆

 

第7回のブログ でもご紹介しているとおり、AMLとは 「Aras Markup Language」の略で、Aras独自のXMLスキーマ(文法のようなもの)です。

アイテムの検索や新規登録、更新、特殊なビジネスロジックの実行(例:指定したパーツを使っている製品を一括取得)など、Innovatorサーバに対する命令(コマンド)はすべてこのAMLで指示(リクエスト)されています。リクエストに対してサーバから返ってくる返答(レスポンス)も、同じくAMLです。

Aras Innovator の標準Webクライアントだけでなく、その他のツール(例えば、バッチローダやCADコネクタなど)を利用した場合も、同様にAMLを使ってやり取りされます。

 

 

AMLの使い方を理解しておくことで、Aras Innovatorのユーザインターフェース(フォームやグリッド等)を利用した1件ずつのデータ操作だけではなく、一括でデータ処理できるようになったり、プログラムを利用したカスタマイズを行う際の理解が深まったりします。

そのため、システム管理者の方はAMLの利用方法をぜひ押さえておいてください。

 

 

 

 

 

◆AML実行ツールの使い方◆

 

AMLの実行を簡単に行いたい場合、Arasでは「NASH」というツールを標準で提供しています。

NASHを起動するには、http://サーバ名/Innovatorサーバエイリアス/Client/scripts/nash.aspx へアクセスします。
例:http://localhost/InnovatorServer/Client/scripts/nash.aspx

すると、下記のNASH画面が開くので、

 

① ユーザID、パスワード、データベース等を指定して、「Login」ボタンを押します。
② 「Action:」欄は「ApplyAML」が選択されていることを確認します。
③ 「XML:」欄にAMLを入力し、「Submit」ボタンを押します。
④ 「ShowXml」ボタンを押し、結果を確認します。

 

また、弊社の コミュニティプロジェクトページ には、有志で提供いただいている 「Innovator Admin」 というツールがあり、NASHと同様の処理が行えます。ご興味のある方は、ぜひこちらもお試しください。

 

◆AMLで利用する“タグ”◆

 

では、具体的にどうやってAMLを書けばいいのかをご紹介していきます。まずは「タグ」の説明から。
AMLは、この「タグ」を使って非常にシンプルに書くことができます。

タグには、大きく分けて以下の4種類があります。

① <AML>タグ
② <Item>タグ
③ <Relationships>タグ
④ <property>タグ

 

① <AML>タグ

まず、1つ目の <AML>タグ について。

このタグで囲まれた範囲がAMLとしてサーバ側で一括処理(※)されます。この<AML>タグは、AML文の最初と最後に記述します。
※<AML>タグで囲まれた範囲がひとつのトランザクションとして一括処理されます。例えば、10件のパーツデータを新規登録するAMLを実行し8件目で失敗した場合、すべてロールバックされ、1~7件目も登録されません。

なお、AML(XML)では、大文字と小文字が区別されます。<AML>タグの「AML」はすべて大文字であることに注意してください。

 

②<Item>タグ

つづいて、2つ目の <Item>タグ では、個々のアイテムの処理を記述します。<Item>タグには3つの主要な属性があります。

  • type・・・アイテムのアイテムタイプ名(必須)
  • id・・・アイテムのID(ユニークな32桁の文字列)
  • action・・・アイテムに適用するメソッドの名称

 ※その他にも様々な属性がありますので、詳細は Programmer's Guide をご参照ください。

以下は、IDを指定してパーツアイテムを検索するAMLの例です。

<Item>タグの頭文字「I」は大文字であることに注意してください。

 

③<Relationships>タグ

つづいて、3つ目の<Relationships>タグについて。
各アイテムには、他のアイテムとのリレーションシップを持たせることができます。<Relationships>タグは、リレーションシップアイテムをまとめるためのタグです。

以下は、パーツアイテムとそのBOMのリレーションシップを検索するAMLの例です。

<Relationships>タグも、頭文字の「R」は大文字であることに注意してください。

 

④<property>タグ

最後に<property>タグについて。
このタグは、<property>と書くのではなく、具体的なプロパティ名に置き換えて<Item>タグのすぐ下に構成します。

例えば、アイテムタイプ「Part」には、「item_number」、「name」、「description」、「cost」等のプロパティがありますが、これらはそのままAMLのタグ名になります。

以下は、パーツを登録するためのAMLの例です。

プロパティ名は必ず小文字であるため、<property>タグもすべて小文字です。

 

 

◆AMLの書き方例◆

 

では、操作(検索、新規登録、編集など)に応じたAMLの書き方を具体的にご紹介していきます。

なお、AMLを利用して処理を行う場合も、Aras Innovatorで定義されているセキュリティの設定(パーミッションやMAC、DACなど)が効きますので、各ユーザに権限のない操作は行えません。

 

①アイテムを検索する

 

 

 

②アイテムを新規作成する

 

 

 

 

 

③アイテムを編集する

 

 

 

④リレーションシップを追加する

 

 

 

なお、AMLで複数の<property>タグを検索で利用した場合はAND条件となります。

OR条件の書き方や、上記以外に利用可能な「action」「condition」の詳細は、 月例トレーニング(APIコース) にご参加いただくか、 Programmer's Guide をご参照ください。

 

次回はプログラムの作成方法や、そのプログラムを使って処理する方法をご紹介していきます。
また来月、こちらでお会いしましょう★

アラスジャパン トレーナー 時田 和佳奈