
こんにちは。CData Software Japan リードエンジニアの杉本です。
本記事では帳票作成ツールPaplesReports とCData Arc を組み合わせてBox 上のCSVファイルから自動的に帳票を作成する方法を紹介します。
PaplesReports とは?
PaplesReports は日鉄日立システムソリューションズ株式会社が提供するCSVデータを元にした帳票を手軽に作成できる帳票作成ツールです。
https://paplesreports.nhs.co.jp/

以下のように専用のツールを使って、ドラッグ・アンド・ドロップで簡単に帳票を作成することが可能です。

作成した帳票はCSVデータをもとにコマンドや専用のAPIを使って生成することができるようになっています。
CData Arc とは?
CData Arc は、CData 製品の中で「自動化/Automate」を担うデータ連携ツールです。「B2B 連携をもっとシンプルに」をコンセプトに、ファイル連携 & DB 連携 & API 連携といったB2B 連携に必要なすべてをノーコード・ローコードでつなぐことができるプラットフォームです。
https://www.cdata.com/jp/arc/

この記事のシナリオ
この記事ではBox 上にアップされた帳票の元になっているCSV(TSV)ファイルをダウンロードし、PaplesReports のコマンドで自動的にPDFを生成するCData Arc のフローを紹介します。

なお、CData Arc はBox 以外にも様々なクラウドストレージのコネクタを提供しています。
Amazon S3 やOneDrive、SharePoint、もしくはFTPサーバーなど経由でファイルを受信して処理することも可能です。

事前準備:CData Arc 製品のインストールとナレッジ
事前にCData Arc を任意の環境にインストールしておきます。
以下のリンクから30日間のトライアルが取得できます。
https://arc.cdata.com/jp/trial/
CData Arc のインストールはこちらを参考にしてください。
https://www.cdata.com/jp/blog/arcesb-install-windows
CData Arc を使い始めるときは、こちらも参考にしてください。
https://arc.cdata.com/jp/start/
CData Arc に関するナレッジは、こちらにまとめています。あわせて参考にしてください。 https://arc.cdata.com/jp/kb/
事前準備:PaplesReports
事前準備としてPaplesReports 側の環境を準備します。
今回は「C:\Paples5j\PaplesReports」にPaplesReports の実行ファイルなどを配置しました。
また、対象とする帳票テンプレートおよびクエリは事前にPaplesReports に含まれる以下のファイルを対象としました。
・見積書_Q.qry
・見積書_F.frm

事前準備:Box
対象のファイルはBox のSample というフォルダーに配置される想定で進めます。ファイルはPaplesReports のサンプルデータに含まれる以下のファイルを対象としました。
・見積書_D.tsv

連携フローの作成
それでは実際に連携フローを作成していきます。 このシナリオで作成する連携フローは以下のような流れになっています。
|
コネクタ
|
内容
|
1
|
Box
|
Box の所定のフォルダから定期的にファイルをダウンロードします。
|
2
|
Script
|
受信したファイルをもとにPaplesReports の帳票を生成する実行ファイルである「paples-reports.bat」を実行し、所定のフォルダにPDFを生成します。
|
Box コネクタの設定
フローの起点としてBox コネクタを指定します。Box コネクタはファイルのアップロード・ダウンロードどちらにも利用が可能です。

Box コネクタを配置したら「接続」をクリックして、任意のアカウントでBox にログインし、CData Arc に対するアクセス許可を行います。

接続が完了したら、ファイルをダウンロードする元となるフォルダパスを「受信:リモートフォルダ」に指定しましょう。必要に応じてダウンロードするファイルをフィルターする「ファイルマスク」も指定できます。

Script コネクタの設定
続いて受信したファイルをもとにPaplesReports の帳票を生成する実行ファイルである「paples-reports.bat」を実行するためのScript コネクタを準備します。
Scriptコネクタは今回のユースケースのように、batファイルを実行したり、APIリクエストを発行することができる自由度の高いコネクタです。

Arc Script と呼ばれる独自のスクリプト言語を利用することで利用できます。
こちらで利用しているArc Script について詳しく知りたい方は、ぜひ以下の記事も参考にしてください。
https://arc.cdata.com/jp/kb/articles/arcscript-quickstart.rst
今回は以下のサンプルスクリプトを利用して、接続してみてください。
frameName、queryName、outputNameの指定を調整することで、任意の帳票生成を行うことができます。なおファイル名には接尾辞としてGUIDを指定するような記載にしています。
<!-- NOTE: Do not edit arc:info -->
<input name="ConnectorId" desc="The id of this connector." type="text"><input name="WorkspaceId" desc="The workspace of this connector." type="text"><input name="MessageId" desc="The message id." type="text"><input name="FilePath" desc="The path of the file being processed." type="text"><input name="FileName" desc="The name of the file being processed." type="text"><input name="Attachment#" desc="The path of the attachment being processed." type="text"><input name="Header:*" desc="The message headers of the file being processed." type="text"><output name="Data" desc="The data that will be written to the file in the Receive folder."></output><output name="Encoding" desc="The encoding that will be used to write the file in the Receive folder."></output><output name="FileName" desc="The name of the output file in Receive folder."></output><output name="FilePath" desc="The path of file that will be written to Receive folder."></output><output name="Header:*" desc="The message headers of the file being written."></output>
<api:set attr="frameName" value="見積書_F.frm"></api:set>
<api:set attr="queryName" value="見積書_Q.qry"></api:set>
<api:set attr="outputName" value="C:\Work\見積書1_[guid()].pdf"></api:set>
<!-- Execute Batch File -->
<arc:set attr="Name" value="C:\\Paples5j\\PaplesReports\\Bin\\paples-reports.bat"></arc:set>
<arc:set attr="Arguments" value="-f [frameName] -q [queryName] -dp [FilePath] -o pdf -op [outputName]"></arc:set>
<arc:call op="sysExecute" out="output">
</arc:call>
連携フローの実行
設定は以上です。それでは試しに実行してみましょう。
今回は手動で実行してみますが、通常はBox コネクタの設定にある「オートメーション」タブで、実行スケジュールを指定して利用します。

今回は手動で接続を行って見るので、「アウトプット」タブで「受信」をクリックしてみます。
以下のようにBox のファイルが受信できていればOKです。

PDF が出力されるフォルダを確認してみると、以下のようにPDF が生成されていました。


この記事で紹介したフロー(テンプレート)
この記事で作成したフローについては、以下のURLからテンプレートとして使える arcflow がダウンロードできます。
https://cdatajwrk.s3.ap-northeast-1.amazonaws.com/arcflow_template/Box_PaplesReports.arcflow
ダウンロードしたarcflow は「ワークスペースをインポート」やフローデザイナーにドラッグ&ドロップで登録できます。こちらのテンプレートを利用する時は、各コネクタでの接続情報などを、お使いの環境に併せて編集してください。
おわりに
このようにCData Arc を利用することで、各種クラウドストレージとPaplesReports の連携を簡単に実現することができます。
CData Arc はシンプルで拡張性の高いコアフレームワークに、豊富なMFT・EDI・エンタープライズコネクタを備えたパワフルな製品です。
CData Drivers との組み合わせで250を超えるアプリケーションへの連携を実現できます。
必要な連携を低価格からはじめられる事も大きな特長です。 皆さんのつなぎたいシナリオでぜひ CData Arc を試してみてください。
https://www.cdata.com/jp/arc/
お試しいただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。
https://www.cdata.com/jp/support/submit.aspx
関連コンテンツ