*&———————————————————————*& Report BUPA_TEST_DELETE **& **&———————————————————————**& **& **&———————————————————————*
REPORT BUPA_TEST_DELETE .
********* Data definitions ****************************************tables: but000.
types: begin of ty_partner, partner type bu_partner, end of ty_partner.
DATA: gv_cursor TYPE cursor, lv_partner type bu_partner, gt_partners type sorted table of ty_partner with unique key partner, lv_message type char80, lv_answer, lv_dele1_check type boole_d, lt_results type bapiret2_t, ls_result type bapiret2, lt_partner_range type standard table of bus0range, ls_partner_range type bus0range, lt_partners_deleted type standard table of BUSSDELYES, ls_partner like line of lt_partners_deleted, lv_counter type i, lv_error type boole_d.
*changes to implement the authorisation check
DATA: LS_RETURN LIKE BAPIRET2, LV_MSGV1 LIKE SY–MSGV1, LV_RC LIKE SY–SUBRC, LV_AUTH_CHECK_SUPPRESSED LIKE BOOLE–BOOLE, IV_AKTYP LIKE TBZ0K–AKTYP, IV_AUTHORIZATIONGROUP like BUT000–AUGRP.
*end of changes to implement the authorisation check
constants: gc_X type boole_d value ‘X’, gc_max_commit type i value ‘750’.
*********** Selection screen ***************************************select-options: partner for but000–partner obligatory.
parameters: xdele type boole_d as checkbox default ‘ ‘, statd type boole_d as checkbox default ‘X’, test type boole_d as checkbox default ‘X’.
parameters: nodial type boole_d default ‘ ‘ no–display.
CLEAR: lv_counter, lv_error.
******** Main program *********************************************if test is initial and sy–batch is initial and nodial is initial.*changes are done to implement the authorisation check
IV_AKTYP = ’06’. IV_AUTHORIZATIONGROUP = ‘DEL’. AUTHORITY-CHECK OBJECT ‘B_BUPA_GRP’ ID ‘ACTVT’ FIELD IV_AKTYP ID ‘BEGRU’ FIELD IV_AUTHORIZATIONGROUP. LV_RC = SY–SUBRC.
IF NOT LV_RC IS INITIAL. MESSAGE E777(R11) WITH IV_AUTHORIZATIONGROUP. EXIT. ELSE.
*end of changes to implement the authorisation check
CALL FUNCTION ‘POPUP_TO_CONFIRM’ EXPORTING TITLEBAR = text–p00 TEXT_QUESTION = text–p01 TEXT_BUTTON_1 = text–p02 ICON_BUTTON_1 = ‘ICON_CHECKED’ TEXT_BUTTON_2 = text–p04 ICON_BUTTON_2 = ‘ICON_INCOMPLETE’ DEFAULT_BUTTON = ‘2’ DISPLAY_CANCEL_BUTTON = ‘ ‘ START_COLUMN = 25 START_ROW = 6 IMPORTING ANSWER = lv_answer EXCEPTIONS TEXT_NOT_FOUND = 1 OTHERS = 2. IF SY–SUBRC 0 . MESSAGE ID SY–MSGID TYPE SY–MSGTY NUMBER SY–MSGNO WITH SY–MSGV1 SY–MSGV2 SY–MSGV3 SY–MSGV4. exit. ENDIF. if lv_answer = ‘A’ or lv_answer = ‘2’. exit. endif.endif.endif.
if xdele = gc_X and statd = ‘ ‘.* OPEN CURSOR WITH HOLD gv_cursor FOR SELECT partner FROM BUT000 INTO TABLE gt_partners WHERE PARTNER in partner AND XDELE = gc_X.elseif xdele = ‘ ‘ and statd = gc_X.
* OPEN CURSOR WITH HOLD gv_CURSOR FOR SELECT t3~partner INTO TABLE gt_partners from CRM_JSTO AS t1 inner join CRM_JEST as t2 on t1~OBJNR = t2~OBJNR inner join BUT000 as t3 on t3~PARTNER_GUID = t2~OBJNR WHERE ( t2~STAT = ‘I1102’ "deleted or t2~STAT = ‘I0812’ ) "as long as I1102 is not in ABA and t2~INACT = ‘ ‘ and t3~partner in partner.elseif xdele = gc_X and statd = gc_X.