SAP資格過去問ならSAPnavi

NoteやStripe決済で安全にSAP過去問を購入することができます。
領収書発行可能 / 即時入手可能

SAP過去問 (SAP Exam)

Defining Inbound Processing as an Object Method

前提条件

基本タイプの定義と使用で必要な手順を完了している必要があります

手順

  1. ナビゲーションパスの開始SAPメニュー 次のナビゲーションステップ ツール 次のナビゲーションステップ IDocインタフェース/ALE 次のナビゲーションステップ 開発 次のナビゲーションステップ IDoc 次のナビゲーションステップ インバウンド処理 次のナビゲーションステップ ビジネスワークフロー開発 次のナビゲーションステップ ビジネスオブジェクトビルダ(SWO1)ナビゲーションパスの終わりを選択します。オブジェクトタイプを入力し、を選択します変化する
  2. オブジェクトタイプの新しいメソッドを定義します。メソッドにカーソルを置き、を選択します作成
  3. メソッドの技術的な実装として汎用モジュールを作成した場合は、その汎用モジュールをテンプレートとして入力します。メソッドの名前を入力し、エントリを保存します。

    同期メソッドの場合、確認のためにメソッドによって使用されるイベントを定義する必要はありません。

  4. 新しいメソッドにカーソルを置き、[プログラム]を選択します。
  5. 処理をプログラムします。
  6. プログラムコードを保存し、ABAPエディタを終了します()。
  7. ビジネスオブジェクトビルダで、メソッドのリリースステータスを実装済みに変更します。メソッドにカーソルを置き、編集?を選択します。リリースステータスを変更しますか?オブジェクトタイプコンポーネント?実装されています。
  8. を選択します。

結果

結果

指定されたABAPプログラムを使用してメソッドを実装しました。ここで、このメソッドと対応するオブジェクトタイプを参照するタスクを作成する必要があります。

INCLUDE <OBJECT>. " Workflow-Makros zur Objektdefinitionbegin_data object. " Do not change.. DATA is generated * only private members may be inserted into structure private data: " begin of private, " to declare private attributes remove comments and " insert private attributes here... " end of private, begin of key, idocnumber like edidc-docnum, end of key. end_data object. " Do not change.. DATA is generated... BEGIN_METHOD inputBackgroundTest changing container.CALL FUNCTION 'IDOC_INPUT_WF_TESTER' EXPORTING idocnumber = object-key-idocnumberEXCEPTIONS OTHERS = 01. END_METHOD.

転送されたパラメータはIDOCNUMBER、オブジェクトタイプIDOCTESTがスーパータイプIDOCAPPLからキー項目として継承したものです。

フォワードナビゲーション(ダブルクリック)を使用して、汎用モジュールIDOC_INPUT_WF_TESTERを登録することができます。汎用モジュールはIDocからデータを読み取り、エラーが発生した場合にイベントを生成します(汎用モジュールSWE_EVENT_CREATEを呼び出すことにより)。FORMルーチンREAD_IDOC_TESTERでは、セグメント構造を使用してIDocテーブルのデータがアプリケーションテーブルに変換される方法を確認できます。

アプリケーションの略語

V(販売・流通)

処理タイプ

通常、すぐに開始します

FUNCTION IDOC_INPUT_WF_TESTER. *---------------------------------------------------------*Globale Schnittstelle: * IMPORTING idocnumber LIKE EDIDC-DOCNUM*--------------------------------------------------------- INCLUDE <CNTN01>. " Workflow-Makros zur ContainerdefinitionDATA: i_edids LIKE edi_ds OCCURS 1 WITH HEADER LINE,event_id like swedumevid-evtid,status like edids-status,cidocnumber like sweinstcou-objkey,errorcode like sy-subrc. "Für Test der Ausnahmebehandlungswc_container ev_container. * initialize SET/GET parameters and internal tablesPERFORM INITIALIZE_ORGANIZATIONAL_DATA. CALL FUNCTION 'EDI_DOCUMENT_OPEN_FOR_PROCESS' EXPORTING document_number = idocnumber IMPORTING idoc_control = idoc_contrl EXCEPTIONS document_foreign_lock = 01 document_not_exist = 02 document_number_invalid = 03 document_is_already_open = 04.  CALL FUNCTION 'EDI_SEGMENTS_GET_ALL' EXPORTING document_number = idocnumber TABLES idoc_containers = idoc_data EXCEPTIONS document_number_invalid = 01 end_of_document = 02.  PERFORM READ_IDOC_TESTER. PERFORM CALL_VA01_IDOC_ORDERSusing errorcode. PERFORM WRITE_STATUS_RECORD TABLES i_edids "Status schreibenUSING errorcode. CALL FUNCTION 'EDI_DOCUMENT_CLOSE_PROCESS' EXPORTING document_number = idocnumber IMPORTING idoc_control = idoc_contrl EXCEPTIONS document_not_open = 01 failure_in_db_write = 02 parameter_error = 03 status_set_missing = 04. IF errorcode <> 0.cidocnumber = idocnumber. CALL FUNCTION 'SWE_EVENT_CREATE' EXPORTING objtype = 'IDOCTEST'objkey = cidocnumber event = 'InputErrorOccurred'start_recfb_synchron = 'X' "synchroner AufrufIMPORTING event_id = event_id TABLES event_container = ev_container EXCEPTIONS objtype_not_found = 1 others = 2. COMMIT WORK.ENDIF.ENDFUNCTION. FORM INITIALIZE_ORGANIZATIONAL_DATA...* Formroutine wie im Abschnitt * Funktionsbaustein anlegen (direkter Eingang) ENDFORM. " INITIALIZE_ORGANIZATIONAL_DATA FORM READ_IDOC_TESTER....* Formroutine und aufgerufene Routinen wie im Abschnitt * Funktionsbaustein anlegen (direkter Eingang) ENDFORM. " READ_IDOC_TESTER  FORM CALL_VA01_IDOC_ORDERS using errorcode. * call transaction first dynproPERFORM DYNPRO_START.* call transaction double-line entryPERFORM DYNPRO_DETAIL2.* incotermsPERFORM DYNPRO_HEAD_300.* call transaction item datasPERFORM DYNPRO_POSITION.PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'SICH'.* call transaction VA01CALL TRANSACTION 'VA01' USING BDCDATAMODE 'N'UPDATE 'S'MESSAGES INTO XBDCMSGCOLL. errorcode = SY-SUBRC. " remember returncode for status update ENDFORM. " CALL_VA01_IDOC_ORDERS FORM DYNPRO_START....* Formroutine und aufgerufene Routinen wie im Abschnitt * Funktionsbaustein anlegen (direkter Eingang) ENDFORM. " DYNPRO_START  FORM WRITE_STATUS_RECORD TABLES i_edids STRUCTURE edi_dsUSING errorcode. * fill status recordI_EDIDS-DOCNUM = IDOC_CONTRL-DOCNUM.I_EDIDS-LOGDAT = SY-DATUM.IF errorcode = 0.I_EDIDS-STATUS = BELEG_GEBUCHT. "value 53GET PARAMETER ID 'AUN' FIELD BELEGNUMMER.I_EDIDS-STAMID = 'V1'.I_EDIDS-STAMNO = '311'.I_EDIDS-STAPA1 = 'Terminauftrag'.I_EDIDS-STAPA2 = BELEGNUMMER.ELSE.I_EDIDS-STATUS = BELEG_NICHT_GEBUCHT. "value 51I_EDIDS-STAMID = SY-MSGID.I_EDIDS-STAMNO = SY-MSGNO.I_EDIDS-STAPA1 = SY-MSGV1.I_EDIDS-STAPA2 = SY-MSGV2.I_EDIDS-STAPA3 = SY-MSGV3.I_EDIDS-STAPA4 = SY-MSGV4.ENDIF. CALL FUNCTION 'EDI_DOCUMENT_STATUS_SET' EXPORTING document_number = idoc_contrl-docnum idoc_status = i_edids IMPORTING idoc_control = idoc_contrl EXCEPTIONS document_number_invalid = 01 other_fields_invalid = 02 status_invalid = 03. ENDFORM. " WRITE_STATUS_RECORD  Globale Daten von IDOC_INPUT_WF_TESTER data:idoc_data LIKE edidd occurs 10 WITH HEADER LINE,idoc_contrl LIKE edidc occurs 1 WITH HEADER LINE.* weitere Daten wie im Abschnitt * Funktionsbaustein anlegen (direkter Eingang)                          

タイトルとURLをコピーしました