ExcelからPCA商魂・商管DXのデータを取得、登録してみる

# はじめに：CData Excel Add-in for PCA Salesとは？
PCA商魂・商管DXは、ピー・シー・エー株式会社が提供するSaaS型の基幹業務ソフトです。このようなSaaSを利用するメリットの1つは、これまで各人のPCの中で管理されてきたExcelデータを社内で共有できることです。一方で、複数行のコピー＆ペースト、マクロ、使い慣れたUIなどはExcelの魅力でもあります。CData Excel Add-in for PCA Salesは、PCA商魂・商管DXにWeb API経由でアクセスし、Excel UI上でデータの取得、更新、挿入、削除を行うことを可能にします。SaaSの中で管理されているデータを、必要に応じてExcel上に読み出し、一括編集やグラフ化など、Excelが得意とする機能を活用できるわけです。

# CData Excel Add-in for PCA Salesの利用例
・PCA商魂・商管DXの商品マスターや得意先マスター等のマスターデータの一括編集などの管理
・PCA商魂・商管DXのデータをピボット分析やグラフによってビジュアライズ
・Excelのマクロ等の機能を使ったクラウドデータ連携アプリケーションの開発

# CData Excel Add-in for PCA Salesのインストール
CData Excel Add-in for PCA Salesは、[こちら](https://www.cdata.com/jp/drivers/pcasales/excel/)からインストーラ(.exe)をダウンロードできます。
(注)Excelアプリケーションを閉じてから実行してください。
(注)途中オンラインでのアクティベーションが実行されるため、インターネットアクセス出来る完了で行ってください。

下図のようなインストーラが起動するので、ライセンス契約書を確認した上で、デフォルト設定のまま、インストールを完了させます。
<img width="375" alt="PCAExcelAddinInstall.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/abc06fb7-bd30-525b-a8cc-84ce1f309693.png">

インストールが完了すると、ブラウザが起動し、下図のような製品ヘルプファイルが開かれます。
<img width="810" alt="PCAExcelAddInHelp.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/66578993-af4a-614d-e0c0-fbbb71c0993d.png">

# CData Excel Add-in for PCA Salesの起動、および接続設定
Excelを起動して、空白のブックを開きます。インストール完了後は、リボンに「CDATA」タブが追加されます。その中の「取得元PCASales」アイコンをクリックすると「接続ウィザード」が開かれます。
![PCAExcelAddInInit2_arrow.png](https://qiita-image-store.s3.amazonaws.com/0/288655/105f92aa-d477-a10b-b354-63c3a1451cdc.png)

「接続ウィザード」では、下記の項目を入力します。

- OAuth　※PCA Developers Consoleについては、[PCA Web API 利用準備](https://qiita.com/sugimomoto/items/8837226105891c92d574#pca-web-api-利用準備)をご覧ください。
  - Callback URL : PCA Developers Consoleで設定したURL
  - Client Id : PCA Developers Consoleで取得したクライアントID
  - Client Secret : PCA Developers Consoleで取得したクライアントシークレット
  　 
- Authentication　※これらの値は、ユーザ毎に適当な値を入力する必要があります。
  - Default Data Area : データ領域を示す文字列（例：P20V01C000KON0000）
  - Product Code : アクセスするPCAアプリケーションを示す文字列（例：Kon20）
  - Url : Web APIサーバのURL

入力後、「接続テスト」ボタンをクリックするとOAuth認証のためアプリケーションの認証画面がブラウザで立ち上がります。ここでは、「サービスユーザーID」と「パスワード」を入力し、サービス認証をクリックします。
<img width="307" alt="PCAExcelAddInAuth1.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/22b11321-038c-e85b-f522-7b8a85b59f76.png">

続いて、PCA商魂・商管DXのユーザーアカウントの情報を入力し、ログオンをクリックします。
<img width="263" alt="PCAExcelAddInAuth2.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/9b6a9988-3a3e-9f4f-743e-5d410b1b4595.png">

ログオンすると、アクセス許可画面が表示されるので、内容を確認の上、「データの利用を許可する」をクリックします。
<img width="318" alt="PCAExcelAddInAuth3_mod.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/94cabfa3-0803-3b26-7019-aae0f024f568.png">

ブラウザで「OAuth Authorization Successful!」の画面が表示されれば、認証完了です。
<img width="349" alt="PCAAuchSucceed.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/d37f40a2-0d32-1808-f149-b7b38f99a53f.png">

その後、Web APIサーバへの接続が完了し、下記のようなダイアログが表示されます。
<img width="159" alt="PCAExcelAddInConnected.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/7192f841-27b5-ab8b-5f89-4703d10ed347.png">

Web APIサーバへの接続完了後は、「接続ウィザード」の「接続テスト」ボタンの表示が「切断」へと切り替わります。ここでは「OK」ボタンをクリックし、設定を保存します。
<img width="283" alt="PCAExcelAddInInitJ_afterConnected.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/c7a79020-e4e2-a9b9-585b-8819cb37f1ff.png">

# PCA商魂・商管DXからデータを取得
その後は「CDataデータ選択」ダイアログが開きますので、Excelのシートに取得したいテーブルを選択します。ここでは、取引先テーブルである「MasterTMSテーブル」を選択して「OK」をクリックします。
<img width="417" alt="PCAExcelAddInTableSelect_mod.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/e19181ab-9b82-6d95-9ebf-07b6a98d9787.png">

このタイミングでWeb APIサーバに、同テーブルのデータを取得するリクエストが発行されます。成功すると、取得したデータがExcelのセルにバインドされます。
<img width="660" alt="PCAExcelAddInRead.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/66548145-2d57-308b-7484-4f7631eecf2e.png">

# PCA商魂・商管DXへデータを登録
次に、Excel上で取得したテーブルにデータを追加し、そのデータをクラウド側に登録してみます。取得したデータの最後のレコードの次行（ここでは33行目）から3つのテストデータを追加します。入力するカラムは「TokuisakiCode」と「TokuisakiMei1」です。ここで入力したセルのテキストは赤く表示されます。これはクラウド側には未反映であることを意味しています。入力後は、追加する行を選択して、「CDATA」タブにある「行の挿入」をクリックします。クラウド側へのデータ登録が完了すると、赤色だったテキストは黒色に変わります。
<img width="660" alt="PCAExcelAddInAdd_mod.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/88ee8f5e-a76f-8862-ffd5-a698c9ca20e4.png">

最後に、Excelから入力した内容が正しく登録されているか、PCA商魂・商管DX側で確認してみます。PCアプリケーション「PCA商魂・商管DXクラウド」を起動し、ログインします。下記のように、「処理メニュー」の中から「前準備」－「取引先」－「得意先の登録（個別式）」をクリックします。
<img width="561" alt="PCAKonUI_mod.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/232b12cc-0856-6847-73fa-8a20fd1c4d84.png">

「得意先の登録（個別式）」画面の中に、Excelから入力した内容を確認できます。<img width="546" alt="PCAKonTokuisaki.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/05fc2c39-9841-b4e7-f971-5e71ec4f5b27.png">

今回は、CData Excel Add-in for PCA Salesを使って、プログラミング無しで、PCA商魂・商管DXのデータを取得、追加してみました。