技術日記

SAP MDG ABAP FIORI等々

MDG - SAP Business WorkFlowについて

2021-10-27 14:58:10 | 日記

基本Rule Based Workflowは決まったテンプレートを使うだけで

細かいフロー調整はBRF+を使うのでSAP Business WorkFlowについては気にすることはない。

一般的ならね。

 

で、フローの中でこの段階でメール送りたい!

フローが終わった後配布はしないようにしたい!

フローで特定段階で一旦入力値を検査したい!<ーこれはBRF+でメッソド呼び出しでできるが

 

等々があったらちょっといじる必要がある。

 

メール送りたいはSAP Blogにいい説明があるからいいとして

僕は一旦入力値を検査したい!<ーこれに挑戦。

 

ABAP Classを使うのでインタフェースにIF_WORKFLOWをしていしてやる。

注意するところは以下二つのメッソド

 

BI_PERSISTENT~FIND_BY_LPOR

Create ObjectのTypeには自分で作ったClassを入れる

 

BI_PERSISTENT~LPOR

CATIDはCL

TYPEIDは↑と同じく作ったCLASS

 

後はやりたいことをタスク設定画面でメッソドで入れるだけ。

 

気を付けないといけないのが、

SWDDでバインドしたとしてもまたタスク設定画面でClassへのバインドもしないと

値をもってきてくれない。これに時間かかった。。。

 

バインドイメージは

ワークフロー → タスク → クラス

これでCR番号を渡して、あとはMDGAPIでなんなりと好きなように。

 

因みに僕はAPIで変更文書を読んでその中の値をチェックした。

 

変更文書は後ろフローで値を書いたら変更されるから、

ちゃんと最終バージョンをチェックできるようにテーブルの上書きもしておく。

 

 

 


BAPI_BUPA_ADDRESS_CHANGE

2021-10-26 11:27:08 | 日記

BAPI_BUPA_ADDRESS_CHANGEでアドレスにレコードを追加する場合、

 

XストラクチャーにFLAGがあるので、そこに"I"(Insert)を入れないとだめ。

FLAGがない場合は"U"(update)に見なされ修正しかやってくれない。

"D"(Delete)をいれると削除もしてくれる。

 

データだけ入れて、あれ?なんでずっとEメッセージが返ってくるんだよと思ったらこれ。

BAPI文書に書いている内容だが、何か問題がない限り目を通さないのでねー :)

 

後Address UUIDを入れないと自動でスタンダードだね?と推測する。

スタンダードではないアドレスの情報をいじる場合はUUIDを入れること。

MDGのフローでどこでUUIDを拾得するのかはまた調べる。。。

 

 

 


MDG カスタムモデル作り

2021-10-23 17:24:17 | 日記

MDGのカスタムモデルを作ってみた。

Flexモードだとそんなに難しくはないが、時間依存性を気にしないのであれば

Reuseモードの方が使いやすいのは間違いない。

なので、Reuseモードに挑戦。

 

具体的な実装方法は以下を参照。

https://blogs.sap.com/2014/03/21/master-data-governance-custom-data-model-implementation-re-use-mode/

 

一番キーポイントはAccess Classを作ること。

SAPありきのSF(Flight Model)を使ったサンプルがあるので、それを参照して作る。

 

MDG ⇔ S/4テーブル間のマッピングは成功したが、

やっぱりカスタムだと色々手動で実装しないといけないから大変。

 

大変な点をリストしてみると

・MDGでTempキーで進めて、有効化の際S/4側で採番してもらうのはいいが

  作られた正式キーとMDGのTempキーと紐づく必要がある。これはまだ挑戦中。

 

・ターゲットがZテーブルなら問題ないが、標準テーブルならBAPIとかで更新しないと駄目。

 目的に合うBAPIを探す旅をしないと。。。

 

・ターゲットテーブルが複数だと、関係性を考えて(1:NかN:Nか色々あるそれ)エンティティを作り、

 いちいちクラスにそれをRead,Writeの方式を書かないと駄目。

 

・ユーザーのログイン言語を把握して言語キーで詳細を読み込んで画面に紐づく必要あり

 

等など。

でも一旦作っておくと

CRUDは勿論ガバナンスをまで取得できる一連のアプリが立ち上げるから使用性はあると思うんだが

なぜこんなにはやらないのかしらねー

 

次の課題は他の環境とのIF連携も実装してみること。

RFCはすでにどうするかわかってるけど、IDocとかSOAも出来たらいいなー

 

 

 

 

 

 

 

 

 

 

MDG Custom Model

IF_USMD_PP_ACCESS