ヤンマーエネルギーシステム大坪様のAras Innovator講演報告

2016年2月25日(木)、持続可能なモノづくり・人づくり支援会(ESD21)主催の2月会員定例会にて、ヤンマーエネルギーシステム株式会社 企画部の大坪啓二さまが、「超高速開発ツールを活用した進化型プロトタイプ開発の実践」と題しまして、空調製品の点検作業の効率化のため、Aras Innovatorをベースとしたプロトタイプ開発について講演いたしました。
以前同社では、大量のお客様Excelデータを複数担当者かつ他部門にて共有しており大変効率が悪かったという課題を抱えていました。そこでAras Innovator®に出会い、お客様データの管理および共有だけでなく、既存システムとの連携までをいかに高速に開発したのか、その具体的なノウハウを分かりやすく説明して頂きました。

■日時:2016年2月25(木)13:30~16:55
■場所:新栄 「東桜会館」第2会議室
■参加者:参加無料、ESD21個人会員またはESD21法人会員(3名まで)
■講演:15:35~16:05
「超高速開発ツールを活用した進化型プロトタイプ開発の実践」
~このツールは、中小生産管理システムの構築に極めて有効か!~
ヤンマーエネルギーシステム株式会社 企画部 大坪 啓二 様

■定例会詳細:
http://www.esd21.jp/news/2016/02/225esd21.html

■大坪様講演資料:こちら

■大坪様より以下コメントを頂きました!
今回はAras Innovatorを活用してユーザー部門がExcelで管理していたものをWEBのシステムへと素早く移行できる事例を紹介させていただきました。PLMの分野に限らず、ホワイトカラーの業務効率化にもAras Innovatorが有効であることが分かっていただけたと思います。

技術的にはAras InnovatorとLinux(Unix)のシェルプログラミングを融合させることで、今までAras Innovatorだけでは面倒だったバッチ処理を組み込むことができると考えています。

今回の発表ではAMLで取得したXMLからCSVデータに変換する部分が未完成でしたが、現在は以下のようなプログラムで実現できました。このやり方を使えば、AMLを介して他のシステムとAras Innovatorを簡単に連動させることが可能になると考えています。

また、シェルプログラム側でCSVファイルやExcelファイルを作成できますので、うまく活用すれば簡単にAras Innovatorのデータを必要なファイルにできると思っています。

==============================================

AMLからこんなCSVができると、シェルプログラミングが簡単になります。

name,method_type,comment,idの並び。

set_valid_related_controls JavaScript _ C1A75F17BB3C4C8A8290DF0F2DD9A81A
t2_refresh_form JavaScript 強制的に画面を再描画する EAB61C95DA8B473DA5A9109458F9F24E
t2_usage_volume_details_cal JavaScript 明細部分の再計算 DA2DF7BC430E4B889BD4AA8779241822
t2_usage_volume_details_cal2 JavaScript _ 83E7327B0FD04AD39AE3B9D8839E2F2B
t2_usage_volume_details_create JavaScript 明細行の作成 48574CFE1400414EAC46A28342EE0939
t2_usage_volume_details_init JavaScript _ F27550ECCC294A18B2E004D283768DAB
updateOwnedById VB _ 00A357BDC31F45888E3AAA8E54B859F3
usp01 JavaScript ユニケージへデータ送信 0E9EA8B015B74628AD33091D2B822C25

#!/bin/bash
#
# メソッドを取得する
#
# Written by K.Otsubo 2016/03/25

########################################################
# 変数の定義
########################################################
today=$(date +%Y%m%d_%H%M%S)
dir=/home/user01/COS
lv1d=$dir/LV1
lv3d=$dir/LV3
lv4d=$dir/LV4
lv5d=$dir/LV5
shell=$dir/SHELL
tools=$dir/TOOLS
tmp=/tmp/tmp-$$

cat < $tmp-AML

SOAP-ENV:Envelope xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/” encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/“>

FIN

Wget -S -O – –header=SOAPaction:ApplyAML –header=AUTHUSER:XXXXX –header=AUTHPASSWORD:XXXXXXXXXX –header=DATABASE:XXXXX –header=Content-type:text/xml –header=charset:utf-8 –post-file=$tmp-AML http://XXX.XXX.XXX.XXX/InnovatorServer/Server/InnovatorServer.aspx |
sed ‘s/>\n2 {print}’ | ####先頭の 2行を消す
sed ‘$d’ | ### 最終行を消す
sed ‘$d’ | ### 最終行を消す
at > $tmp-Result2

cat – $tmp-Result2 << FIN |

FIN
$tools/aml-tag.php |
fromcsv |
tagself name method_type comments id |
msort key=1 |
fsed -e ‘s/^0$/_/3’ |
cat > /home/user01/COS/LV4/Method.txt

# 終了処理
rm -f $tmp-*
exit 0

※青色のところはユニケージ専用コマンドです。普通のLinuxにはありません。

本当はAMLをシェルコマンドだけで解析したかったのですが、どうも思いつかず、ちょっとカッコ悪いphpでの記述となりました。
この程度のphpでシングルレベルは十分に動きました。
phpはコマンドライン版です。

■aml-tag.php

#!/usr/local/bin/php -q

Item as $Item) {

// Headだけ出す

foreach ($Item as $key => $value) {

if ($count == 0) {

echo $key;

echo “,”;

}

} //end of foreach

if  ($count == 0) {

echo “\n”;

}

$count = $count + 1;

foreach ($Item as  $value) {

echo $value;

echo “,”;

}//end of foreach

echo “\n”;

} //end of foreach

return;

}

### 1行ずつのデータを配列に格納する

$stdins[] = $stdin;

}//end of while

?>

 

Aras PLMの詳細・ダウンロードはこちらから
Aras_Logo_2013