手順の多いプロセスを1手順にまとめて実行する

別の業務(プロセス)の実行
https://xoblos.hatenablog.jp/entry/2024/02/08/143232

上記の記事の続きで、ひとつのプロセスから、手順の多いプロセスを1手順にまとめて実行する方法に関して掲載します。

上図で言うと「子プロセス1」のように、親となる業務定義ファイルから、 別の業務定義ファイルに手順をまとめて実行する例です。

子プロセスとして実行したい手順を別の業務ファイルにする

手順を分割する前のxbtファイル

SUB_前段処理.xbt

親プロセスから子プロセス(別の業務ファイル)を呼び出す

MAIN_代理店への報酬通知・振込処理.xbt

 

HTTPプロトコルでファイル取得する場合

Web上のPDFを取得してローカルファイルに出力する https://xoblos.hatenablog.jp/entry/2024/02/19/043053

Web上のCSVを取得してローカルファイルに出力する https://xoblos.hatenablog.jp/entry/2024/02/22/050417

上記の記事では、https(Hypertext Transfer Protocol Secure)で、SSL(暗号化通信)によってセキュリティが高められた Webサイトからファイルを取得する例を掲載しました。組織内イントラネットでは、http://~ のURLでPDFファイルやCSVファイルを組織内公開することも多いですが、その場合の「Webサービス呼び出し」では若干手順に設定を追加します。

【PDFファイルの場合の設定例】

[a. リクエストヘッダーパラメーター]  を […] で編集画面を開き、ヘッダーパラメータ名に accept、ヘッダーパラメータ値に application/pdf を指定します。

CSVファイルの場合の設定例】

[a. リクエストヘッダーパラメーター]  を […] で編集画面を開き、ヘッダーパラメータ名に accept、ヘッダーパラメータ値に application/octet-stream を指定します。

Web上のCSVを取得してローカルファイルに出力する

Web上のHTMLページやPDFファイルをローカルファイルに出力する記事に続き、Web上のCSVを取得してローカルファイルに出力する場合を考えてみます。

インターネット上には、統計情報などをCSV(テキスト+カンマ区切り)形式で公開しているページが数多くあります。今回の記事では、下記の e-Stat(政府統計の総合窓口に公開されているCSVファイルをxoBlosでダウンロードしてみます。

https://www.e-stat.go.jp/stat-search/files?page=1&layout=datalist&toukei=00200521&tstat=000001011777&cycle=0&tclass1=000001094741&tclass2val=0

ブラウザで、CSVダウンロードボタンを右クリック→[リンクのコピー] で、CSVファイルリンクのURLを取得できますので、 そのURLをxoBlos「Webサービス呼び出し」手順の設定画面に貼り付けて実行できます。

https://www.e-stat.go.jp/stat-search/file-download?statInfId=000031524010&fileKind=1

ダウンロードしたCSVを、後続のCSVXML手順経由でExcel表を生成」手順につなげるなど、自動化の組み立ても面白いかと思います。

今回の対象サイトは、https(Hypertext Transfer Protocol Secure)で、SSL(暗号化通信)によってセキュリティが高められていますので、上述のような簡単な設定でCSVファイルがダウンロードできます。

httpsではなくhttpプロトコルの場合は、ダウンロードが失敗することがありますので、
そのケースでの対応方法は次回の記事に掲載します。

Web上のPDFを取得してローカルファイルに出力する

Webサービス呼び出し」事始め https://xoblos.hatenablog.jp/entry/2024/01/19/141043

上記の記事では、特定のWebページを取得してローカルファイルに出力する例を掲載しました。

この例では、HTML形式のファイルをダウンロードしましたが、インターネット上でも 組織内イントラネット上でもWeb公開されることの多いPDFファイルに関しても、同様の手法で ローカルファイルに出力することができます。

下図の設定例は、厚生労働省報告書のPDFをダウンロード出力する例です。

参考PDFのアクセス情報

厚生労働省 21世紀における国民健康づくり運動(健康日本21)

報告書(全部)(4,072kb)

https://www.mhlw.go.jp/www1/topics/kenko21_11/pdf/all.pdf

別の業務(プロセス)の実行

xoBlos 業務手順種の中には、「別の業務の実行」手順という手順種があります。

メニューからだと [新しい手順]-[定義済みの業務を実行] で作成できます。


「別の業務の実行」手順のオンラインヘルプより抜粋

この手順は別の業務定義ファイルを実行します。

複数の業務で共通の処理があるときなどは、その部分を別の業務定義ファイルで独立させることにより、次のような利点があります。

共通部分に変更が生じたら、共通部分の業務定義だけを修正、テストできる。
それぞれの業務がシンプルになり、メンテナンスしやすくなる。
最初はひとつの業務内にすべての手順を記述して、業務が増えてきた時に共通部分を抜き出して別の業務定義にすることもできます。

(抜粋ここまで)


この記事では、一旦 xoBlos のUIや設定から離れて、親プロセスからサブプロセスを呼び出すことで、 同じビジネスプロセスを複数のビジネスプロセスで再利用できるようになるといった観点や、ひとつのプロセスから別プロセスを呼び出す要件や設計手法にはどんなものがあるか、といった観点で考えてみたいと思います。

  1. 複数のプロセスから、共通のプロセスを実行する。
  2. ひとつのプロセスから、手順の多いプロセスを1手順にまとめて実行する。
  3. ひとつのプロセスから、手順の多いプロセスを繰り返し実行する。
  4. ひとつのプロセスから、共通処理のプロセスを実行後に、後続の各処理(複数プロセス)を実行する。

上述リストの 1. に関しては、下図のような概念イメージとなります。

上述リストの 2. や 3. に関しては、下図のような概念イメージとなります。

上述リストの 4. に関しては、下図のような概念イメージとなります。

次回からは、これらのテーマを膨らませていきたいと思います。

制御シートキーワードをフランス語で考えてみる

制御シートキーワードを英語で考えてみる https://xoblos.hatenablog.jp/entry/2023/02/02/074630

上記の記事の続きです。

2024年7月26日から8月11日まで、第33回オリンピック競技大会がフランスパリを中心に開催されますので、フランス語でも試してみました。

データ部分の左上 En haut à gauche de la partie données
行方向単位行数  Numéro de ligne de l'unité de direction de ligne
列方向単位列数  Unité de direction des colonnes nombre de colonnes

対象範囲の右下  En bas à droite de la zone cible
最下行判断列   Colonne de jugement de la rangée du bas
非空白判断列   Colonne de jugement non vide
非空白判断行   Ligne de jugement non vide

概念の整理にもなります。

(ligne)と(colonne)
複数形の(lignes)と(colonnes)
左上(en haut à gauche)と右下(en bas à droite)
データ部分(partie de données)と対象範囲(plage cible)
行方向(direction des rangées)と列方向(direction des colonnes)
単位行数(numéro de ligne de l'unité)と単位列数(numéro de colonne d'unité)
最下行(rangée du bas)と非空白(non vide)

 

哲学者のデカルトベルクソンサルトル、数学者のポアンカレ、小説家のバルザックモーパッサンプルースト、ヴェルヌなども、こんな言葉を使っていたかもと想像を巡らせます(未検証)。

取得したWebページからExcel表を生成する

Webサービス呼び出し」事始め https://xoblos.hatenablog.jp/entry/2024/01/19/141043

取得したHTMLページをxoBlosで扱えるようにする (1) https://xoblos.hatenablog.jp/entry/2024/01/30/153210

取得したHTMLページをxoBlosで扱えるようにする (2) https://xoblos.hatenablog.jp/entry/2024/02/02/151927

上記の一連の記事の続きです。ここまでで、Webから取得したHTMLファイルを、 xoBlos 用にフラット化したXMLにするところまではできています。

まずは、xoBlosビューア(表のアイコンをクリック)でフラット化したXMLを確認し、 Excel表に出力したいデータのタグ名(項目名)を見つけます。

flat.xml をxoBlosビューアで表示した図

xoBlosビューアでの操作のコツは、タグ名(項目名)部分を要所要所クリックして、表示を最適にすることです。上図の例では、項目名 tda.a_7 に欲しいデータが入っていることがわかりました。

このXMLファイルは、xoBlos で扱えるxoBlos XML形式ですので、後はExcel表を生成」手順で、ひな形シートに入力して表を生成できます。不要な行はうまくスキップさせましょう。

【ひな形シート】

件名はC列に一旦読み込み、不要な改行コードを CLEAN 関数で削除してB列に表示しています。

【生成制御シート】

【入札情報.xlsx:実行結果の生成された入札情報】