Skip to Content
Technical Articles
Author's profile photo Masahiro Obata

SAP Flexible Workflow – SAP S/4HANA On-premise での購買発注シナリオ

過去のブログ「SAP S/4HANA Flexible Workflow の概要と設定例」、最近のブログ「SAP Flexible Workflow – Manage Workflow Apps」に続き、今回は、SAP S/4HANA On-premise での購買発注のための Flexible Workflow の設定と利用を紹介します。


購買発注のためのFlexible Workflow の設定

オンラインヘルプ How to Configure the Flexible Workflow for Purchase Orders に沿って、必要な設定を行っていきます。なお、上記のリンク先のヘルプは、SAP S/4HANA 2020, FPS02 を対象としています。

オプションステップを除く以下のステップを実行します。

  • 必須: ワークフローカスタマイジングの実行(Mandatory: Perform Workflow Customizing)
  • 承認者登録(Create Approvers)
  • 必須: 購買発注のワークフロー管理(Mandatory: Manage Workflows for Purchase Orders)

では、順番に見ていきましょう。

必須: ワークフローカスタマイジングの実行(Mandatory: Perform Workflow Customizing)

以下のサイトにジャンプし、その中に記載のステップを実行していきます。

Perform Customizing for the Flexible Workflow for Purchase Orders

Mandatory: Check automatic workflow customizing

Transaction SWU3

Redo Automatic Customizing、あるいは初回であればAutomatic Workflow Customizingをクリックして自動カスタマイジングを完了させます。

参考:もし、System user ‘SAP_WFRT’ does not exist というエラーメッセージが出るようであれば、Note 2568271 – Change of workflow system user and workflow system jobs with S/4HANA On-Premise 1709 を参考にして、ユーザ SAP_WFRT を登録し、ロール SAP_BC_BMT_WFM_SERV_USER_PLV01 を割当し、Redo Automatic Customizingを再実行して下さい。

さらに、ヘルプ Workflow Basic Customizing を参考に、ユーザ SAP_WFRT のプロファイルに SAP_ALL を追加し、権限 S_RFCACL を含むカスタムロールを定義し、ユーザ SAP_WFRT に割り当てます。

カスタムロール Z_RFCACL は、Transaction PFCG で新たに定義しています。

 

Mandatory: Activate flexible workflow scenarios

Transaction SPRO > IMG > SAP NetWeaver > Application Server >  Business ManagementSAP Business WorkflowFlexible WorkflowScenario Activation

購買発注のためのシナリオ WS00800238 が Active であることを確認します。

Mandatory: Define step names and decision options in My Inbox

Transaction SPRO > IMG > SAP NetWeaver > SAP Gateway Service Enablement >  Content >  Workflow SettingsMaintain Task Names and Decision Options

購買発注のためのシナリオ WS00800238、StepID 0000000019 のDesision Keys の設定を確認します。

参考:ブログ後半でも説明しますが、Transaction SWDD_SCENARIO で購買発注の Flexible Workflow シナリオ WS00800238 の定義を参照できます。

Mandatory: Define visualization metadata for My Inbox

My Inbox の中でのタスクの表示のための設定を行います。

Transaction OLME > Purchasing > Purchase OrdersFlexible Workflow for Purchase OrdersClient-Dependent Configuration

Worklist Client として SAPUI5 My Inbox を選択し、Task TS00800531 のエントリーが無ければ追加し、パラメータをセットします。QUERY_PARAM02 の値を入力する際は、Create Long Value アイコンを使って入力する必要があることに注意ください。

参考:Task TS00800531 は、シナリオ WS00800238 の中で定義されている購買発注の承認のためのタスクです。Transaction SWDD_SCENARIO の中のタブ Activities タブで割当を確認できます。

Mandatory: Deactivate event type linkages for SAP Business Workflows

Transaction SWETYPV

従来型のワークフローを無効にします。Object Category BO、Object Type BUS2012(Purchase Order)を検索し(1)、Details ボタン(2)を使って詳細画面に行くことで、Linkage Activated のチェックを外す(3)ことができます。

Mandatory: Generalize tasks and activate event type linkages for flexible workflow

Transaction SPRO > IMG > SAP NetWeaver > Application Server > Business Management > SAP Business Workflow > Perform task-specific Customizing

Application Component の中から、ツリーをオープンしていくことで、MM-PUR-PO – Purchase Order のノードに行き、Assign Agents をクリックします。

購買発注のStandard Task TS00800531 を選択、Attributes ボタンをクリックし、General Task を選択し、Transfer ボタンをクリックします。

MM-PUR-PO – Purchase Order のノードの画面に戻り、Activate Event Linking をクリックします。WS 00800238 のノードをオープンし、Activated の状態にします。

Mandatory: Register gateway service for value helps

Transaction /n/IWFND/MAINT_SERVICE

Find ボタンを使って、External Service Name S_MMPURWORKFLOWVH_CDS のエントリーが存在し、その Processing Mode が Routing-based にセットされ、System Alias にエントリーが追加されていることを確認します。

System Alias の値は、以下のカスタマイジングで定義されています。

Transaction SPRO > IMG > SAP NetWeaver > SAP Gateway > OData Channel > Configuration > Connection Settings > SAP Gateway to SAP System > Manage SAP System Aliases

Optional: Activate Flexible Workflow for Purchase Orders

購買発注の伝票タイプに対して Flexible workflow を有効にします。

Transaction OLME > Purchasing > Purchase OrdersFlexible Workflow for Purchase Orders > Activate Flexible Workflow for Purchase Orders

今回は、伝票タイプ NB に対して有効とします。

 

承認者登録(Create Approvers)

以下のヘルプにジャンプします。

Creating Approvers

Creating an Employee

Transaction PA30

ヘルプに記載された手順に従って、Employee(従業員)を登録します。

Assigning a User to an Employee

登録した Employeeに、ここでは自分自身のユーザIDを割り当てます。

Defining the Email Address of an Employee

登録した Employeeにメールアドレスを割り当てます。

Business Partner Synchronization

このステップでは、Employeeデータをビジネスパートナーマスタに同期させます。ヘルプに記載の通り、システム設定が完了している場合、このステップは必要ありません。

結果として、ビジネスパートナーにマスタが登録されます。ビジネスパートナー番号は、Transaction BP で以下のように、検索条件として Identification Number、および ID Type として HCM001(従業員 ID)を指定して検索することもできますし、Transaction SU01でも確認できます。

Changing the Organizational Structure

Transaction PPOME

組織構造を利用する場合は、このステップを実行します。今回の検証ではこのステップはスキップしています。

Optional: Transactions for identifying persons responsible for accounting objects

ワークフローステップの受取人を定義する際、原価センター、プロジェクトの責任者を選択することができます。今回の検証ではこのステップはスキップしています。

Optional: Custom Fields and Logic

承認者決定のための独自ルールを定義することができます。今回の検証ではこのステップはスキップしています。

必須: 購買発注のワークフロー管理(
Mandatory: Manage Workflows for Purchase Orders)

Fiori アプリ Manage Workflows for Purchase Orders(購買発注のワークフロー管理)を使って、ワークフローを定義します。詳細については、ヘルプ Manage Workflows for Purchase Orders を参照ください。

ここでは、1段階の承認ステップで構成するシンプルなワークフローを定義します。また、ここからは、日本語の画面を添付していきます。

購買発注のワークフロー管理 アプリの開始

ロール SAP_BR_PURCHASER を割り当てることで、ユーザは SAP Fiori launchpad から購買発注のワークフロー管理アプリにアクセスできるようになります。「購買管理の設定」タブから、「購買発注のワークフロー管理」アプリのタイルをクリックします。

ワークフローの追加

追加ボタンをクリックして新規ワークフローの定義を開始します。

参考:この画面でのURLを見ると、末尾に ScenarioId=WS00800238 とあります。このアプリの背後にある技術的なシナリオIDを確認できます。

ヘッダ、プロパティ、開始条件の定義

ワークフロー名として「Workflow for Company Code 1010」とし、次に開始条件を定義します。ここでは、開始条件として、購買発注の会社コードが 1010 であること、としています。

参考:購買発注のワークフローの開始条件をクリックして表示される選択肢には以下があります。

購買発注の伝票タイプ
購買発注の合計正味額が次の金額以下です
購買発注の合計正味額が次の金額より多いです
購買発注通貨
購買発注の会社コード
購買発注の購買組織
購買発注の購買グループ
この品目グループは 1 つ以上の明細で使用されています
勘定設定カテゴリ ‘原価センタ’ 使用
勘定設定カテゴリ ‘プロジェクト’ 使用

これらの開始条件は、購買発注シナリオ WS00800238 の中で定義されています。Transaction SWDD_SCENARIO で WS00800238 をオープンし(1)、Flexible Block のステップを選択(2)、Conditions タブ(3)、CompanyCode の行を選択(4)、Conditionボタンをクリック(5)により、設定内容を確認できます。

ステップの追加

「ステップ順序」領域の追加ボタンをクリックして、ステップを定義します。

ステップタイプとして、「購買発注の自動承認」ではなく、「購買発注の承認」を選択します。これにより、受信者を定義できるようになります。

受信者の割当基準としては、今回の検証では、ロールではなくユーザを選択し、自分自身を割当てしました。この時、選択可能なユーザは、前述のステップ「承認者登録(Create Approvers)」において、従業員として登録したユーザのみであることに注意してください。

参考:受信者の割当基準にロールを選択した場合の選択肢には以下があります。

これらの割当基準は、開始条件の場合と同様に、購買発注シナリオ WS00800238 の中で定義されています。Agent Rules タブで確認できます。

ここで割当てられている ルールの詳細は、Transaction PFAC_DIS で確認できます。例えば、Manager of Workflow Initiator は、00800015 として定義されています。

受信者に加えて、下図のように、ステップの開始条件、期限を設定することも可能ですが、ここでは省略します。

画面右下の追加ボタンをクリックします。

ワークフローの保存と有効化

ワークフローの定義画面にもどったら、保存ボタンをクリックします。

次に有効化ボタンをクリックします。

作成した「Workflow for Company Code 1010」は、順序としては、既存のワークフローの次、最後のAutomatic Release of Purchase Orderの直前に挿入されます。順序は、右上の「順序定義」ボタンを使って、変更できます。

 


購買発注の登録とMy Inboxでの承認

ここまでで、購買発注のための Flexible Workflow の設定が完了していますので、ここからは、購買発注を登録し承認していきます。

購買発注の Flexible Workflow は従来型のUI である SAP GUI でも有効です。購買発注登録(Transaction ME21N)で購買発注を登録します。ラウンチパッドの「購買依頼処理」タブを選択し、「購買発注登録 – 拡張」タイルをクリックします。

必要なデータを入力し、保存します。

登録後の伝票を「購買発注変更 – 拡張」(Transaction ME22N)で照会し、ヘッダのフレキシブルワークフローのタブを選択することで、承認ステップの状況を確認でき、またフッターのメッセージでこの伝票が承認中であることを確認できます。

承認者の My Inbox アプリをオープンします。ラウンチパッドの「マネージャ承認 – 受信ボックス」タブから、「受信ボックス」アプリのタイルをクリックします。

承認ボタンをクリックし、承認します。

確認とメモ記入のためのポップアップが現れます。送信ボタンをクリックします。

伝票を「購買発注変更 – 拡張」(Transaction ME22N)で再度、照会すると、承認ステップのStatusが承認済に変更されていることを確認できます。

Fiori アプリでも購買発注を登録します。ラウンチパッドの「購買依頼処理」タブを選択し、「購買発注管理」タイルをクリックします。

登録ボタンをクリックします。

必要なデータを入力し、「発注」ボタンで保存します。

伝票の「承認詳細」タブを選択すると、ステータス、受信者等を確認できます。また、右上の「承認の中止」ボタンをクリックすると、申請を取消すことができます。

最後に

これで、この長いブログ記事を終わりにします。私の意図は、設定から利用まで、英語のオンラインヘルプを日本語の解説と画面ショットで補足することでした。Flexible Workflow を検討されている方のお役に立てればと願っています。

Assigned Tags

      Be the first to leave a comment
      You must be Logged on to comment or reply to a post.