blog

コードを使用してSAP CRMの添付データを削除する

最初のうちは、以下のようにコードで削除するのはとても簡単だと考えていました。 テストしてみると、完全にうまくいくことがわかりました。...

Nov 9, 2020 · 2 min. read

最初のうちは、コードを使って添付ファイルを削除するのはとても簡単だと考えていました。 以下の2つのインポートパラメータを持つメソッドを定義しました。以下の2つのインポートパラメータと1つのリターンパラメータを持つメソッドを定義しました:

iv_bor_type type string - ビジネス・オブジェクトの BOR タイプ iv_uuid type raw16 - ビジネス・オブジェクト・インスタンスのガイドライン rvsuccessful型 abap_bool - 削除が成功したかどうかを示します。

DATA: ls_bo TYPE SIBFLPORB,
 lt_loios TYPE SKWF_IOS,
 ls_loios TYPE SKWF_IO,
 ls_error TYPE SKWF_ERROR,
 lt_badios TYPE SKWF_IOERRS,
 lv_del_flag TYPE ABAP_BOOL.
 ls_bo-instid = iv_uuid.
 ls_bo-typeid = iv_bor_type.
 ls_bo-catid = 'BO'.
 rv_successful = abap_false.
 CALL METHOD cl_crm_documents=>get_info
 EXPORTING
 business_object = ls_bo
 IMPORTING
 loios = lt_loios.
 LOOP AT lt_loios INTO ls_loios.
 CALL METHOD cl_crm_documents=>lock
 EXPORTING
 is_bo = ls_bo
 is_loio = ls_loios
 IMPORTING
 es_error = ls_error.
 IF ls_error IS NOT INITIAL.
 RETURN.
 ENDIF.
 ENDLOOP.
 CALL METHOD cl_crm_documents=>delete
 EXPORTING
 business_object = ls_bo
 ios = lt_loios
 IMPORTING
 bad_ios = lt_badios
 error = ls_error.
 IF ls_error IS INITIAL. " deletion failed
 rv_successful = abap_true.
 ENDIF.

テストを通じて、product、IBASE、BP、one orderのようなほとんどのBORタイプで完璧に動作することがわかりました。

しかし、CRM7.0 EHP3の私の新しいBORタイプCRMSOCPOSTでは機能しません。私のBOと添付ファイルの関係は、レポートに明示的なCOMMIT WORKの呼び出しが書き込まれるまで、実際には削除されません。しかし、他の標準的なCRM BORタイプでは、COMMIT WORKは必要ありません。 なぜでしょうか? デバッグの後、ようやく答えが見つかりました。ビジネス・オブジェクトがデータベースに存在する場合、COMMIT WORKは必要ありません。ビジネス・オブジェクトがデータベースに存在する場合、COMMIT WORKは必要ありません。

私のケースに戻ると、CRMSOCPOSTはCRM7.0 EHP3で作成された新しいBORタイプなので、関数モジュールはそれを認識しないため、コードは225行目に達し、その後CRMSOCPOSTはCRM7.0 EHP3で作成された新しいBOR型なので、私のケースに戻ると、関数モジュールはそれを認識しないので、コードは225行目に達し、その後、BOインスタンスはDBに存在しないとみなされます。

Read next

最も軽量な監視システムWGCLOUD

ダウンロード 1.最適化、チャート表示の最適化とアップグレード、UIの強化、過去15日間のレポートの表示。 2.New、ディスク警告、ディスクがカスタム使用量警告値を超えた場合、電子メールを送信するか、警告スクリプトを実行します。 3.新機能、ディスク使用量プログレスバー。

Nov 8, 2020 · 2 min read

ダンジョンゲーム

Nov 7, 2020 · 2 min read

Vue開発のヒント

Nov 6, 2020 · 2 min read