技術日記

SAP MDG ABAP FIORI等々

MDG Analysis App from Product Extend

2022-04-24 18:36:08 | 日記

目標:変更要求が作られた日付からどれくらい日付が過ぎたのか表示する項目を追加する

やるべきことは三つ。

 

1. CDS Viewの拡張

2. Custom SEGW Serviceの作成 ← これは要らないかも

3. Fiori開発

 

CDS Viewは既存MDG標準分析アプリが参照しているCDS Viewに以下のように拡張をする。

CDS 標準FunctionであるDATS_DAYS_BETWEENを使って、作成日からどれくらい過ぎたかを示す。

一旦これでVS Codeでサービス起動してみる

作ってから1年(365日)が過ぎた変更要求だけ絞った結果。

161件で、一番多い日付が2020/7/20で16件。作ってから643日が過ぎている。

 

 

でも下のChange Requests(161)のテーブルには追加されなかった。

さすがにこれはFioriでの開発が必要。

annotationsにコードを書く。

    <Record Type="UI.DataField">
                    <PropertyValue Property="Value" Path="date_from_create"/>
                    <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
                </Record>
                <Record Type="UI.DataField">
                    <PropertyValue Property="Value" Path="date_from_duedata"/>
                    <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
                </Record>

 

結果はこのように(列二つ追加)。

 

一旦今日は以上。

 

 


SOAP 複製の際、ターゲットシステムでエラーが起きた場合

2022-04-23 16:10:45 | 日記

例をBPにすると、

例えば、Source SystemとTarget Systemでカスタマイズの違いでSourceではOKだけど、

TargetではNGなデータがあるとしよう。

sourceでは郵便の桁が7でもOKだけど、Targetでは8桁じゃないとNGを出すとか。

実施こんなカスタマイズあり得ないんだけど、簡単な例として。

 

で、Sourceでデータを作ってDRFでかけたところ、その時点ではエラーにはならない。

これはメール送信と同じだと思っていい。送る側はとりあえずキューに乗せて発信さえできれば

発信されたメールが向こうのファイアウォールで塞がれるとかそんなの知ったこっちゃない。

 

DRFでもそれは同じだけど、それだとエラー対策に全然ならないので

Target側は貰ったデータに対して、それがOKかNGかを回答するメッセージを返す。

で、これを貰ったSourceはもしエラーの場合上の画面のようにSLG1にそれを記録する。

とはいえ、複製するたびにSLG1を確認しろとかそういう無茶な運用がなり建てるはずがないので、

ここでどうやってエラーをお知らせするかの課題。

 

あの確認メッセージのInbound処理でエラーの場合はメール送信、とか考えられるかな。

メール送信は出来るんだけど誰に、どか、どうやってメールアドレスを取るとか。。。

そもそもユーザーはシステムユーザーになるから、実際それを実行したユーザーを見つけ出すにはまた

MDGAPIとか使わないとだめなのでは?とか。。。

 

課題は続く。。。

 

 

 

 

 


SOAシステムユーザーパスワード変更した際注意

2022-04-23 15:20:18 | 日記

システムユーザーを変更する羽目になり、SOAMANAGERでもパスワードを変更した。

 

にも関わらず401のパスワード違うよーっとうログが。。。

 

SOAMANAGERをもう一度確認してみると、いつのまにかPending Taskが。。。!

 

 

全部完了してあげたら変更したパスワードが実際に適用されて解決。

 


SAP Business Partner 拡張について ( + SOAP 拡張)

2022-04-21 00:06:01 | 日記

要はFiori AppのCustom Fields and Logicで拡張すること。

以下はZMDG_TESTという項目をBUT000に拡張した例。20桁の文字として拡張。

 

SOAP APIも拡張できるので、以下のようにnamespaceを設定。

 

これで拡張すると、サービスのWSDLにも自動で拡張される。以下で確認可能

 

インタフェースも拡張できる。皿は全部用意してくれてるので、後はBADIで紐づけするだけ。

 

Outはこれで出来る。Inはどうなるのかな。。。BADI Inでデータ紐づきは可能だろうけど実際どうかな。

やってみないと分からん。