Upload
aloxanh
View
253
Download
6
Embed Size (px)
DESCRIPTION
Tieng viet
Citation preview
Làm thế nào tạo và sử dụng Classic BADI?
M c l cụ ụ1- Tạo định nghĩa classic BADI và hiểu những gì BAID có..................................................................................................2
a- Định nghĩa:................................................................................................................................................................2
b- BAdI Enhancement options.......................................................................................................................................2
2- Tạo classic BADI:............................................................................................................................................................2
3- Thực thi Classic BADI:....................................................................................................................................................7
4- Sử dụng Classic BADI trong chương trình ABAP..........................................................................................................13
5- Tạo một thực thi BADI được cung cấp bởi SAP...........................................................................................................14
a- Tìm một BAdi trong giao dịch VD02........................................................................................................................15
b- Sử dụng BADI sẵn có của SAP để tạo thực thi mở rộng...........................................................................................20
c- Sử dụng BADI sẵn có của SAP – Gán source code vào phương thức trong phần thực thi.......................................29
6- Tạo Multiple Use BADIs...............................................................................................................................................32
a- Cách xem lại các chương trình thực thi của BADI....................................................................................................32
7- Tạo BADI phụ thuộc bộ lọc Filter.................................................................................................................................34
a- Tạo BADI mới theo kiểu classic với bộ lọc Filter......................................................................................................34
b- Thực thi BADI có Filter:............................................................................................................................................37
c- Source code sử dụng BADI filter..............................................................................................................................40
8- Phụ lục : Danh sách các BADI hữu ích trong SAP.........................................................................................................41
Handling Unit BAdIs.........................................................................................................................................................41
Deliveries and Shipment..................................................................................................................................................42
Material Master BAdIs.....................................................................................................................................................42
Accounting Doc...............................................................................................................................................................43
Address...........................................................................................................................................................................43
Alerts...............................................................................................................................................................................43
IDoc.................................................................................................................................................................................44
RFC..................................................................................................................................................................................45
1- Tạo định nghĩa classic BADI và hiểu những gì BAID có a- Định nghĩa:
- BADI viết tắt của chữ Business Add-in là một kỹ thuật enhancement mới dựa trên ABAP Object- Chúng có thể được lồng vào hệ thống những yêu cầu người dùng xác định- BADI nên được xem xét là sự suy rộng của BTE (Business Transaction Events ) mà có thể được sử dụng
để gói chương trình, menu, screen enhancements vào trong một chương trình bổ sung đơn (Single add-in)
- Mỗi BADI có: Ít nhất một định nghĩa BADI Một BADI interface Một BADI class để thực thi interface đó
- Để sử enhance cho một chương trình thì BADI cần dùng phải định nghĩa.- Sau đó, 2 Class được tự được động tạo ra:
Một interface được lồng các kí tự “IF_EX_” vào giữa kí tự thứ nhất và thứ 2 của tên BADI Một class kết nối được lồng các kí tụ “CL_EX_” vào giữa kí tự thứ nhất và thứ 2 của tên BADI
- Lập trình viên tạo một interface cho Add-in này- Trình quản lý enhancement tạo ra một class kết nối cho phần thực thi interface- Điều này mở ra một đường dẫn cho các thực thi mở rộng được tạo bởi đối tác hoặc khách hàng- Một thực thể class kết nối trong chương trình ứng dụng sử dụng phương thức tương ứng
b- BAdI Enhancement options- Trong BADI, tất cả các thành phần của một enhancement option được nhóm lại với nhau gồm có :
Program Enhancement, Menu Enhancements, Screen Enhancements Program Enhancement : chức năng enhancement của một chương trình được định nghĩa trong hình
thức của các phương thức của interface và có thể được sử dụng có hoặc không có Menu Enhancement hoặc Screen Enhancement
Menu Enhancement : Function codes có thể được nhập vào cho một BADI với menu tương ứng trong phần định nghĩa interface
Screen Enhancement: Vùng màn hình phụ (subscreen areas) có thể đưa vào BADI . Screen enhancement có thể được thực thi trong hình thức của các màn hình phụ( subscreen screen)
2- Tạo classic BADI: - Vào tcode : SE18 , nhập tên BADI và vào menu để tạo BADI như hình dưới
- Để ứng dụng BADI vào trong chương trình ABAP, chúng ta cần một interface cho enhancement ở màn hình khởi tạo
- Khi BADI được tạo, BADI class tự động tạo với hậu tố “CL_EX_” sau kí tự đầu tiên của tên định nghĩa BADI.
- Package: chỉ ra package mà Badi này thuộc về.- Multiple Use: Với lựa chọn này bạn có thể có nhiều thực thi cho cùng Badi.- Filter-Dependent: BADI có thể được thực thi dựa vào điều kiện lọc xác định ( ví dụ : phiên bản cho từng
quốc gia, phân biệt các thực thi của BADI theo từng quốc gia). Một kiểu lọc (filter type) được nhập vào khi bạn tạo enhancement của mình ( một quốc gia hoặc khu vực công nghiệp) . Tất cả các Method được tạo trong interface của BADI sẽ có biến lọc “FLT_VAL” với kiểu tham số import. Hệ thống sẽ được tự động chèn vào tất cả các Method khi active cho BADI đó.
- Nhấn nút SAVE và chọn Package cần lưu.- Một class ZCL_EX_CLASSIC_BADI_DEMO được tự động tạo ra với hậu tố ‘CL_EX’ chèn vào sau kí tự đầu
tiên của tên BADI.
- Một interface được tự động tạo ra với hậu tố ‘IF_EX’ chèn vào sau kí tự đầu tiên của tên định nghĩa BADI.
- Bạn double click vào interface để đi đến tool Class Builder nơi có thể định nghĩa phương thức , tham số và ngoại lệ cho interface đó.
- Tạo phương thức trong Class Builder cho interface.- Instance method có thể truy xuất tới tất cả các biến của một class và kích hoạt tất cả các sự kiện của một
class.- Static method chỉ có thể truy xuất tới các biến static và kích hoạt các sự kiện static của class.- Click lên nút button Parameter để chỉ định các tham số import/export cho phương thức.
- Các kiểu chỉ định cho tham số là importing, exporting, changing hoặc returning.- Kiểu dữ liệu và mô tả cho các tham số được thiết lập ở đây.
- Bạn có thể chỉ định bất kỳ ngoại lệ nào trong phần Exception.- Nếu là class Exception cơ bản thì checkbox Exception Class sẽ được check.
3- Thực thi Classic BADI: Note : Một định nghĩa BADI thực chất là một tên của USER-EXIT được một CL_EXITHANDLER sử dụng và tạo ra đối tượng BADI thực sự.
- Vào tcode : SE19, nhập tên BADI và nhấn vào nút ‘Create impl’ để tạo thực thi.
- Click vào nút để tạo thực thi.
- Click nút để tạo thực thi như hình dưới
- Sau khi nhập mô tả , và nhấn nút SAVE để lưu vào Package.
- Nhập transport request
- Trong khi tạo thực thi, một class thực thi cũng được tạo tự động.
- Double-click lên phương thức DIVIDE_NUMBER để viết code ABAP.
- Nhập source code vào phương thức DIVIDE_NUMBER.- Xử lý ngoại lệ được cài đặt trong phần này.
4- Sử dụng Classic BADI trong chương trình ABAPSau khi tạo xong BADI, thì áp dụng vào các chương trình ABAP như sau:
- Chú ý: Tạo một instance tham chiếu tới interface ‘zif_ex_classic_badi_demo’ của BADI đã được tự
động tạo ra. Vậy còn 2 class ( ZCL_EX_CLASSIC_BADI_DEMO: tạo ra trong định nghĩa BADI và class ZCL_IM_CLASSIC_BADI_IMPL tạo ra trong quá trình tạo thực thi ) thì được dùng như thế nào:(i) ZCL_EX_CLASSIC_BADI_DEMO chưa thấy sử dụng ???(ii) ZCL_IM_CLASSIC_BADI_IMPL dùng để kế thừa interface “zif_ex_classic_badi_demo” để
chứa source code cho thực thi đó.(iii) Tuy nhiên, khi sử dụng trong chương trình thì chỉ cần dùng interface là có thể gọi hàm được rồi.
*&---------------------------------------------------------------------**& Report ZCLASSIC_BADI_USING*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT ZCLASSIC_BADI_USING.
*Create a interface reference variable to BADI's interfacedata: l_badi_instance type ref to zif_ex_classic_badi_demo.data: result type i, status_var TYPE c.
*----------------------------------------------------------SELECTION-SCREEN: BEGIN OF BLOCK bl1.PARAMETERS : p_num1 TYPE i, p_num2 type i.SELECTION-SCREEN: END OF BLOCK bl1.*----------------------------------------------------------
START-OF-SELECTION.
CALL METHOD cl_exithandler=>get_instance EXPORTING exit_name = 'ZCLASSIC_BADI_DEMO' "BADI name* null_instance_accepted = SEEX_FALSE* IMPORTING* act_imp_existing = CHANGING instance = l_badi_instance EXCEPTIONS no_reference = 1 no_interface_reference = 2 no_exit_interface = 3 class_not_implement_interface = 4 single_exit_multiply_active = 5 cast_error = 6 exit_not_existing = 7 data_incons_in_exit_managem = 8 others = 9 .IF sy-subrc <> 0.* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.
TRY.CALL METHOD l_badi_instance->divide_numbers EXPORTING number1 = p_num1 number2 = p_num2 CHANGING result_number = result STATUS = status_var . CATCH cx_sy_zerodivide .ENDTRY.
IF status_var = space. write: / 'Result: ' , p_num1, ' / ', p_num2 , ' = ', result.ENDIF.
5- Tạo một thực thi BADI được cung cấp bởi SAP- Tìm BAdi tương ứng cho các giao dịch (chương trình) trong SAP.
- Tạo thực thi mở rộng cho BAdi đó.- Từ các phương thức có sẵn trong BAdi đó và chon phương thức thích hợp.- Nhập code cho phương thức đó và active.- Thực thi chương trình SAP và test nếu phương thức vừa viết code được gọi. a- Tìm một BAdi trong giao dịch VD02
Để tìm một BAdi cho bất kỳ giao dịch SAP nào ta làm như sau:(i) Click lên menu System->Status(ii) Double-click lên tên chương trình(iii) Một khi vào bên trong chương trình thì tìm kiếm theo “CL_EXITHANDLER=>GET_INSTANCE”
- Nhấn nút để hiển thị hộp thoại tìm kiếm
- Gõ vào hộp thoại tìm “CL_EXITHANDLER=>GET_INSTANCE” .
- Nhấn nút để tìm , nếu có kết quả sẽ lên như sau
- Double-click vào hàm CL_EXITHANDLER=>GET_INSTANCE để xem code của chúng.
- Nếu tham số truyền vào cho biến “exit_name” là một biến động như hình dưới Thì double-click lên biến tham chiếu G_ADDITIONAL_DATA để đến chỗ khai báo biến tham chiếu interface của BAdi.
- Bạn có thể tìm thấy tên BAdi bằng cách bỏ đi tiền tố “IF_EX” của tên interface.b- Sử dụng BADI sẵn có của SAP để tạo thực thi mở rộng- Vào SE19, để tạo thực thi BADI. Nhập tên và nhấn nút tạo thực thi BAdi.
- Nhập tên thực thi để thực thi cho BADI “CUSTOMER_ADD_DATA”
- Nhấn nút để tạo thực thi. - Vì chúng ta tạo thực thi theo cách tạo của classic BAdi đối với một new BAdi, nên có thêm quá trình gán tới
enhancement spot ( gọi là BAdi migrates to enhancement spot)
- Nhập short text và nhấn nút SAVE
- Nhấn nút để tiếp tục- Một hộp thoại xuất hiện để bắt chúng ta Chọn hay Tạo mới một Enhancement Implementation.
- Tới đây , ta hãy xem lượt đồ quan hệ bên dưới .
- Từ lượt đồ, ta thấy Implementation Name ZADDR_ADD_DATA là một trong lượt đồ.
- Nhấn nút để tạo Enhancement Implementation cũng chính là trong lượt đồ quan hệ trên.
- Nhấn để tạo
- Nhấn Enter
- Nhấn Active thì hệ thống sẽ gán thêm phần thực thi tới Enhancement Implementation.
- Tới đây ta đã tạo xong phần thực thi cho BADI trong SAP nhưng chưa có code vào. - Muốn vào lại phần thực thi có nhiều cách thể hiện khác nhau
- Chú ý: Trên đây là cách tạo thực thi cho BADI SAP chuẩn nhưng tạo từ Classic Badi. Do tạo từ classic BADI là
quá trình đi ngược khi tạo phần tử con rồi mới tạo phần tử cha
nên có quá trình gán (migrate) như trên. Còn cách thứ 2 là đi từ phần tử cho đến phần tử con là tạo theo new BAdi, không có quá trình gán
xảy ra. Cách này sẽ tạo rồi đến
c- Sử dụng BADI sẵn có của SAP – Gán source code vào phương thức trong phần thực thi
- Trong ví dụ trên , ta double click vào phương thức SAVE_DATA để nhập code. - Code mở rộng sẽ được thực thi khi save dữ liệu trong tcode VD02.- Vào tocde VD02, nhập customer 100970 và thêm “123” vào mục name.
- Thay đổi tên và lưu lại thì sẽ gọi vào phương thức thực thi của BADI vừa tạo
6- Tạo Multiple Use BADIs
Single Use Business Add-Ins Multiple- không check vào checkbox Multiple Use trong tab Properties khi định nghĩa một Single Use Badi
- Check vào checkbox Multiple Use trong tab Properties khi định nghĩa Multiple Use Badi
- BADI có một thực thi đơn - BADI có nhiều thực thi- Giống như các thủ tục - Giống như các cuộc gọi sự kiện- Các giá trị trả về được chờ đợi - Các giá trị trả về không được chờ đợi- Có thể sử dụng các kiểu tham số như Importing, changing, returning
- Chỉ sử dụng 2 tham số Importing và changing
- N/A - Khi có nhiều thực thi thì không có kiểm soát thứ tự bởi vì tại thời điểm định nghĩa BADI nó không biết thực thi nào sẽ được active
- Một thực thi đơn sẽ được kích hoạt bởi chương trình ứng dụng
- Tất cả các thực thi active sẽ được kích hoạt bởi chương trình ứng dụng sử dụng BADI đó.
- CUSTOMER_ADD_DATA là một BADI định định nghĩa bởi SAP, nó được gọi bởi giao dịch VD02.a- Cách xem lại các chương trình thực thi của BADI
- Vào menu Implementation->Display để hiển thị các chương trình thực thi của BADI như hình dưới.
7- Tạo BADI phụ thuộc bộ lọc Filter- BADI có thể được thực thi dựa trên một giá trị lọc xác định.- Nếu bạn muốn gọi thực thi của BADI không chỉ phụ thuộc vào một giá trị lọc mà còn nhiều giá trị khác
nhau. Bạn có thể nhập tên của một cấu trúc vào textbox Filter type. Cấu trúc chứa nhiều phần tử dữ liệu mà thực thi các điều kiện ở trên cho các phần tử dữ liệu.
a- Tạo BADI mới theo kiểu classic với bộ lọc Filter - Vào Tcode SE18 để tạo BADI mới theo kiểu classic
- Nhập vào kiểu dữ liệu BUKRS vào bộ lọc
- Chú ý: Một filter type có thể là một data element hoặc một structure. Một data element phải thõa điều
kiện sau:(i) Data element của domain có thể chứa tối đa 30 kí tự và phải là kiểu C ( character).
(ii) Data element phải : - có cả 2 đó là 1 search help với 1 tham số search help cùng kiểu với data element , 2 là tham số này phải thõa mãn Import và export. Hoặc là các phần tử domain phải có giá trị cố định hoặc một bảng giá trị chứa một cột với cùng kiểu của data element đó.
- Khi double-click vào Interface Name thì sẽ vào Class Builder để tạo Method cho interface đó.
- Nhấn vào nút Parameter để nhập tham số
- Nhấn nút SAVE .
- Nhấn active . Sau khi active , hệ thống sẽ tự động gắn thêm 1 tham số lọc với kiểu đã nhập trong Filter type (cấu trúc hay element) với kiểu Importing và được chọn là truyền theo giá trị (chọn vào nút Pass value) hiện lên trong danh sách tham số.
b- Thực thi BADI có Filter: - Vào tcode SE19:
-
- Sau khi tạo các giá trị cho filter thì vào tab Interface để viết code lọc theo các giá trị fileter.c- Source code sử dụng BADI filter
*&---------------------------------------------------------------------**& Report ZCLASSIC_BADI_FLT_DEMO*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT zclassic_badi_flt_demo.
DATA : l_badi_instance TYPE REF TO zif_ex_classic_badi_flt.DATA: tax_rate_val TYPE string.
PARAMETERS : p_bukrs TYPE bukrs.
CALL METHOD cl_exithandler=>get_instance EXPORTING exit_name = 'ZCLASSIC_BADI_FLT' CHANGING instance = l_badi_instance EXCEPTIONS no_reference = 1 no_interface_reference = 2 no_exit_interface = 3 class_not_implement_interface = 4 single_exit_multiply_active = 5 cast_error = 6
exit_not_existing = 7 data_incons_in_exit_managem = 8 OTHERS = 9.
CALL METHOD l_badi_instance->get_bukrs EXPORTING flt_val = p_bukrs CHANGING z_tax_rate = tax_rate_val.IF tax_rate_val IS INITIAL. WRITE : 'Tax rate not found for company code :', p_bukrs .ELSE. WRITE : / 'Tax rate of company code ', p_bukrs, ' is : ', tax_rate_val.ENDIF.
8- Tìm BADI
- Finding BAdI for Particular Transaction
- Method 1: Go to Tranaction: SE24. Open class CL_EXITHANDLER Open the method ” Get_Instance” Put Break point in the statement call method cl_exithandler=>get_class_name_by_interface Now execute the Transaction which you need teh BDC it will automatically stops at the the
method. In debugging mode double click on the variable: ” exit_name” It will return the BADI Name.
- Method 2: find the Package name and go to the transaction SE84. Enter the package name inside the left navaigaiton panel there is one option ” Enhancements” click on this
enhancement and then enter the package name and execute it. you will get hte number of enhancement.
9- Phụ lục : Danh sách các BADI hữu ích trong SAP
Summary
Here is a list of useful BAdIs. It is not the complete list of over 3000 BAdIs, just the ones that I'm interested in...
Handling Unit BAdIs
BADI_HU_ALWD_PM Exit for determination of allowed packaging materials
BADI_HU_AUTOPACK EXIT for Automatic Packing
BADI_HU_CHANGE_INPUT BAdI for changing HU input
BADI_HU_DIALOG Enhancements in the HU Transaction
BADI_HU_HUMO Enhancements in the HU Monitor
BADI_HU_MAIN BAdI for General Checks and Actions in HUM
BADI_HU_PACKING_ALWD Exit to Check Whether This Item Can Be Packed
BADI_HU_PACKING_QTY Exit to Reduction of Quantity of Materials to Be Packed
BADI_HU_PRINT Business Add-In (BADI) for Label Printing
BADI_HU_SAVE Exit for Saving Handling Units
BADI_HU_VHILM_CHECK Additional checks for new packaging material
Deliveries and Shipment
BADI_LE_SHIPMENT BadI: Shipment Processing
BADI_DLV_PRTDATA Customer exit for data collection for printing deliv. No
BADI_V56K BAdI for manipulating raw data prior to IDoc generation
BADI_V56N User Exit Transport - Message Determination
Material Master BAdIs
BADI_MAT_F_SPEC_SEL BAdI for Material Special Field Selection
BADI_MATERIAL_CHECK Enhanced checks for material master table
BADI_MATERIAL_OD
BADI_MATERIAL_REF Addition of customer-defined default data for material
BADI_MATMAS_ALE_CR Change Data in MATMAS IDoc When Generating an IDoc
BADI_MATMAS_ALE_IN Change Data in MATMAS IDoc Before Posting
BADI_MATN1 BAdI for Conversion Exit MATN1
BADI_MM_MATNR
BADI_MM_SPSTOCK
BOM_EXIT BOM User Exit
BOM_UPDATE Maintain BOMS
SD BAdIs
BADI_SD_CM BAdI for SAP Credit Management
BADI_SD_DATE_UPDATE Redetermination of Date Values in Billing Plan
BADI_SD_EDI_DELSCHED EDI Supplier Processing - Release Receipt and ESA Del. N
BADI_SD_PRICING_TUN Performance Tuning for Pricing in Billing Plan
BADI_SD_ROUTE BAdI: Route Determination
BADI_SD_SCH_GETWAGFZ Scheduling Agreement: Read WAGFZ from S073
BADI_SD_SCHDL_AGREE BADI For Modifying Scheduling Agreements
BADI_SD_UPDATE_PLVAL Updating of Planning Values for Sales Orders
BADI_SD_V46H0001 SD Customer functions for resource-related billing
Accounting Doc
AC_DOCUMENT Change the Accounting Document
ACC_DOCUMENT Change to External Document before Accessing Acc. Interface
Address
ADDRESS_CHECK Business Address Services Checks
ADDRESS_SEARCH Business Address Services Search Calls
ADDRESS_SUBSCREEN Implementation of Application-Defined Subscreen Area
ADDRESS_UPDATE Business Address services Updates
Alerts
ALERT_CHECK_CONDTN Check subscription conditions
ALERT_DELIVERY Alert Delivery: User-Specific Decision
ALERT_EXIT Obsolete: Use the new BAdIs
ALERT_EXIT_LOCAL_PPF Read Application Data for an Alert
ALERT_EXP_DATE Alerts: Determine Expiry Date
ALERT_MODIFY_TEXT Change Alert Text
IDoc
CEI0_IDOC_DEFAULTS BADI: Handling of Default Values in IDoc/BAPI
CO_ALE_INBOUND_EVENT CO ALE: Event During Posting of IDoc Types CODCMT
COOM_CI_CSKB_IDOC Create COELEM IDoc - Insert Customer Fields
COOM_CI_CSKS_IDOC Create COSMAS-IDoc - Insert Customer Fields
F050S008 FIDCC1, FIDCC2 Inbound IDoc: Update Comparison Ledger
FMALE_FIPEX FMALE: Badi serving as IDoc-Exit for Commitment Item
FMALE_FUND FMALE: Badi serving as IDoc-Exit for Funds
FMALE_FUNDSCTR FMALE: Badi serving as IDoc-Exit for Fundscenter
FTR_CORR_INC_100 CFM: Inbound confirmation via IDoc
FTR_CORR_OUT_100 CFM: Outgoing Confirmation via IDoc
HRALE00INBOUND_IDOC HR-CA-ALE: Inbound Processing for HR Master Data
HRALE00OUTBOUND_IDOC HR-CA-ALE: Outbound Processing HR Master Data
HRBEN00RET0002 Country Enhancement for Filling IDOCs for Pension Plans
HRECM00_EXERCISE Inbound Processing for Exercise Confirmation IDoc
HRECM00_GRANT_INFO Extract LTI Pan Grant Info for Outbound IDoc
HRECM00_PARTICIPANT Extract Participant Info for Outbound IDoc
IDOC_COPY_MANAGE BAdI for Modifying the Outbound IDocs that can be Copied
IDOC_CREATION_CHECK ALE Outbounf Processing: Check Whether IDoc is Created
IDOC_DATA_INSERT Exit for Inserting Segments
IDOC_DATA_MAPPER Exit for Preparing Internal Data Mappng
IDOC_XML_ENVELOPE_IN Exit for Removing Envelope from Incoming IDoc-XML
IDOC_XML_ENVELOPE_OU Exit for Creating Envelope for Outgoing IDoc-XML
IHC_BADI_IDOC_2_PN Replace Transaction Type, Value and Execution Date
IHC_BADI_PN_2_IDOC Change Outbound IDoc
INVOIC_FI_INBOUND BADIs for Inbound IDoc INVOIC FI (Vendor Invoice)
MAT_UPLOAD_SAVE_IDOC Transfer User-Defined Data from BAPI Structures to IDOC
ME_MMPUR_EINM_CUST BAdI Methods for Processing IDoc Data in the SUS Scenario
PRISETPARTNER Partner, Partner Type, Variant, Function for IDoc PRICAT02
SMI_IDOC_DELVRY_OUT BAdI: Report RSMIPROACT (IDoc DELVRY03)
SMI_IDOC_PROACT_OUT BAdI: Report RSMIPROACT (IDoc PROACT01)
WB2_IDOC_OUTPUT_CHG Modify Tradingcontract Data before IDOC creation ( Change)
WB2_IDOC_OUTPUT_DATA Modify Tradingcontract Data before IDOC creation
WLF_INVOICE01_REG2 BAdI: Structure INVOICE01-IDOC Agency Business Reg2
WLF_INVOICE01_REGU BAdI: Structure INVOICE01-IDOC Agency Business Payment
WTY_CLAIM_IDOC_IN Data Check and Change for Inbound IDocs
WTY_CLAIM_IDOC_OUT Data Check and Change for Outbound IDocs
RFC
DNO_RFC_DATA Influence RFC Data for Comm. with SAPNet R/3 Frontend
FSBP_ARCH_RFC_DATA BAdI: Read RFC Destination