Ansicht
Dokumentation

ISHMED_APP_BADI_CAN - BAdI: Checking when Canceling an Appointment

ISHMED_APP_BADI_CAN - BAdI: Checking when Canceling an Appointment

ROGBILLS - Synchronize billing plans   BAL Application Log Documentation  
This documentation is copyright by SAP AG.
SAP E-Book

This Business Add-In (BAdI) is used in all components of the clinical system i.s.h.med.

Using the methods of this Business Add-In you can enhance the cancellation of i.s.h.med objects by adding your own checks and the cancellation of your own data.

You should note that you can also cancel customer-specific data together with the i.s.h.med data. You cannot, however, display the customer-specific data in the i.s.h.med cancellation dialog box.

You must adhere to the following rules when programming your customer enhancements:

  • You must execute the retention, further processing, checking, and storage of your additionally selected data yourself.
You can, for example, create a function group in which you store the additional data as global data. In the various BAdI methods you can call function modules of your new function group to select data accordingly and store, check, and cancel in the global data of your function group. You can either create a separate function module for each BAdI method, or use only one function module, which has a corresponding switch in the interface, which can be used to control the further processing in the function module.
  • If you wish to update customer-specific data (in customer-specific tables) in addition to the i.s.h.med standard data, you can only execute this in the method EXIT_CANCEL_SAVE.
  • Under no circumstances should you execute a COMMIT WORK or a ROLLBACK WORK. This could create serious data inconsistencies in i.s.h.med or. SAP Patient Management (IS-H).
  • You can only update data asynchronously.
  • As these methods are also called from APIs, i.e. only processing function modules, you cannot call dialog boxes or display messages independently.
  • When conceiving your source code, you must consider that this BAdI and its methods is not connected to the cancellation dialog in i.s.h.med, but is also called if the cancellation function is called without a dialog.

This BAdI is not active as standard.

The BAdI cannot be used multiple times.

The BAdI is country-specifically filter-dependent.

After you have called the IMG activity, proceed as follows:

  1. In the following dialog box, enter in the field "Implementation" a name for the BAdI implementation and choose Copy.
If implementations have already been created for the BAdI, a dialog box with the existing implementations will be displayed. In this dialog box, choose Create.
  1. In the corresponding field, enter a short text for implementation .
  2. In the tab Propertiesenter filter properties - if this is a filter-dependent BAdI.
  3. Choose the tab Interface.
The name of the implementing class is generated by the system based on the name of your impmlementation. You can change the name.
If the BAdI is a menu exit, the tab FCodes also appears.Enter a function here and, if necessary, additional data.
  1. Save your entries and assign a package.
  2. Position the cursor on a method. Call up the Class Builder by double-clicking it.
  3. Between the statements method <Interface-Name>~<Name of Method>. and endmethod, enter the coding you request for the implementation.
  4. Save and activate your coding, and navigate back to the screen Change Implementation.
  5. Save on the screen Change Implementation.
Note: You can first create an implementation for the BAdI and then activate this later on. In this case, close the processing function at this time.
  1. Choose Activate.
When the application program is executed, the coding you have created will be run.

Access to data objects in i.s.h.med (use of method IS_INHERITED_FROM):

DATA: l_cancel_data type rn1cancel_datas,
,,,,l_obj type ish_object,
,,,,l_is_inherited_from type c,

LOOP AT it_cancel_data INTO l_cancel_data.
LOOP AT l_cancel_data-t_obj into l_obj.
* In this example only the following services are of interest
CALL METHOD l_obj->('IS_INHERITED_FROM')
EXPORTING
I_OBJECT_TYPE = cl_ishmed_service~co_otype_med_service.
RETURNING
R_IS_INHERITED_FROM = l_is_inherited_from.
if l_is_inherited_from = 'X'.
* Here the processing of services
endif.
ENDLOOP.
ENDLOOP
....

Methods

EXIT_CANCEL_COLLECT

EXIT_CANCEL_CHECK

EXIT_CANCEL_SAVE

Interfaces

IF_EX_N1_CANCEL






ABAP Short Reference   General Data in Customer Master  
This documentation is copyright by SAP AG.

Length: 5890 Date: 20240523 Time: 192917     sap01-206 ( 84 ms )