BADI Finder

Published on March 2017 | Categories: Documents | Downloads: 34 | Comments: 0 | Views: 209
of 6
Download PDF   Embed   Report

Comments

Content

*&———————————————————————* *& Report zget_badi_exit *&———————————————————————* *& *& *&———————————————————————* REPORT zget_badi_exit. TABLES : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir, sxs_attrt , tstct. DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE. TYPES : BEGIN OF stab , include TYPE tadir , txt(60) TYPE c, END OF stab. DATA : it_tab TYPE STANDARD TABLE OF stab. DATA : wa_tab LIKE LINE OF it_tab. DATA : field1(30). DATA : v_devclass LIKE tadir-devclass. DATA : it_badi_spot TYPE STANDARD TABLE OF badi_spot. DATA : wa_badi_spot LIKE LINE OF it_badi_spot. PARAMETERS : p_tcode LIKE tstc-tcode, p_pgmna LIKE tstc-pgmna . DATA: otr_context TYPE sotr_cntxt, otr_text TYPE sotr_text, otr_key TYPE sotr_key. DATA wa_tadir TYPE tadir. START-OF-SELECTION. IF NOT p_tcode IS INITIAL. SELECT SINGLE * FROM tstc WHERE tcode EQ p_tcode.

ELSEIF NOT p_pgmna IS INITIAL. tstc-pgmna = p_pgmna. ENDIF. IF sy-subrc EQ 0. SELECT SINGLE * FROM tadir into wa_tadir WHERE pgmid = ‘R3TR’ AND object = ‘PROG’ AND obj_name = tstc-pgmna. MOVE : tadir-devclass TO v_devclass. IF sy-subrc NE 0. SELECT SINGLE * FROM trdir WHERE name = tstc-pgmna. IF trdir-subc EQ ‘F’. SELECT SINGLE * FROM tfdir WHERE pname = tstc-pgmna. SELECT SINGLE * FROM enlfdir WHERE funcname = tfdir-funcname. SELECT SINGLE * FROM tadir WHERE pgmid = ‘R3TR’ AND object = ‘FUGR’ AND obj_name EQ enlfdir-area. MOVE : tadir-devclass TO v_devclass. ENDIF. ENDIF. SELECT * FROM tadir INTO table jtab WHERE pgmid = ‘R3TR’ AND object IN (’SMOD’, ‘SXSD’) AND devclass = v_devclass. SELECT SINGLE * FROM tstct WHERE sprsl EQ sy-langu AND tcode EQ p_tcode. *Get Kernal BADIS SELECT * FROM badi_spot AS a INNER JOIN enhspotheader AS b ON a~enhspotname EQ b~enhspot INNER JOIN tadir AS c

ON a~enhspotname EQ c~obj_name INTO CORRESPONDING FIELDS OF TABLE it_badi_spot WHERE c~pgmid EQ ‘R3TR’ AND c~object EQ ‘ENHS’ AND c~devclass EQ v_devclass. IF sy-subrc EQ 0. loop at it_badi_spot into wa_badi_spot. move wa_badi_spot-BADI_NAME to wa_tadir-OBJ_NAME. move ‘ENHS’ to wa_tadir-object. append wa_tadir to jtab. ENDLOOP. ENDIF. FORMAT COLOR COL_POSITIVE INTENSIFIED OFF. WRITE:/(19) ‘Transaction Code – ‘, 20(20) p_tcode, 45(50) tstct-ttext. SKIP. IF NOT jtab[] IS INITIAL. WRITE:/(105) sy-uline. FORMAT COLOR COL_HEADING INTENSIFIED ON. * Sorting the internal Table SORT jtab BY object. DATA : wf_txt(60) TYPE c, wf_smod TYPE i , wf_badi TYPE i , wf_object2(30) TYPE c. CLEAR : wf_smod, wf_badi , wf_object2. * Get the total SMOD. IF jtab[] IS NOT INITIAL. FORMAT COLOR 2 INTENSIFIED ON. WRITE : / ‘Click on the USER EXIT or BADI to VIEW/EDIT’. ENDIF. LOOP AT jtab INTO wa_tadir. AT FIRST. FORMAT COLOR COL_HEADING INTENSIFIED ON. WRITE:/1 sy-vline, 2 ‘Enhancement/ Business Add-in’, 41 sy-vline , 42 ‘Description’, 105 sy-vline.

WRITE:/(105) sy-uline. ENDAT. CLEAR wf_txt. AT NEW object. IF wa_tadir-object = ‘SMOD’. wf_object2 = ‘Enhancement’ . ELSEIF wa_tadir-object = ‘SXSD’. wf_object2 = ‘ Business Add-in’. ELSEIF wa_tadir-object = ‘ENHS’. wf_object2 = ‘ Kernal Business Add-in’. ENDIF. FORMAT COLOR COL_GROUP INTENSIFIED ON. WRITE:/1 sy-vline, 2 wf_object2, 105 sy-vline. ENDAT. CASE wa_tadir-object. WHEN ‘SMOD’. wf_smod = wf_smod + 1. SELECT SINGLE modtext INTO wf_txt FROM modsapt WHERE sprsl = sy-langu AND name = wa_tadir-obj_name. FORMAT COLOR COL_NORMAL INTENSIFIED OFF. WHEN ‘SXSD’. * For BADis wf_badi = wf_badi + 1 . SELECT SINGLE text INTO wf_txt FROM sxs_attrt WHERE sprsl = sy-langu AND exit_name = wa_tadir-obj_name. FORMAT COLOR COL_NORMAL INTENSIFIED ON. WHEN ‘ENHS’. wf_badi = wf_badi + 1. FORMAT COLOR COL_NORMAL INTENSIFIED ON. READ TABLE it_badi_spot INTO wa_badi_spot WITH KEY badi_name = wa_tadir-obj_name. IF sy-subrc EQ 0. otr_key-concept = wa_badi_spot-shorttext_obj. CALL FUNCTION ‘SOTR_READ_TEXT_WITH_KEY’ EXPORTING

langu = sy-langu context = otr_context sotr_key = otr_key IMPORTING entry = otr_text EXCEPTIONS no_entry_found = 1 language_missing = 2 OTHERS = 3. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. MOVE otr_text-text TO wf_txt. ENDIF. ENDCASE. WRITE:/1 sy-vline, 2 wa_tadir-obj_name HOTSPOT ON, 41 sy-vline , 42 wf_txt, 105 sy-vline. AT END OF object. WRITE : /(105) sy-uline. ENDAT. ENDLOOP. WRITE:/(105) sy-uline. SKIP. FORMAT COLOR COL_TOTAL INTENSIFIED ON. WRITE:/ ‘No.of Exits:’ , wf_smod. WRITE:/ ‘No.of BADis:’ , wf_badi. ELSE. FORMAT COLOR COL_NEGATIVE INTENSIFIED ON. WRITE:/(105) ‘No userexits or BADis exist’. ENDIF. ELSE. FORMAT COLOR COL_NEGATIVE INTENSIFIED ON. WRITE: /(105) ‘Transaction does not exist’. ENDIF. AT LINE-SELECTION.

DATA : wf_object TYPE tadir-object. CLEAR wf_object. GET CURSOR FIELD field1. CHECK field1(8) EQ ‘WA_TADIR’. READ TABLE jtab WITH KEY obj_name = sy-lisel+1(30). MOVE jtab-object TO wf_object. CASE wf_object. WHEN ‘SMOD’. SET PARAMETER ID ‘MON’ FIELD sy-lisel+1(10). CALL TRANSACTION ‘SMOD’ AND SKIP FIRST SCREEN. WHEN ‘SXSD’. SET PARAMETER ID ‘EXN’ FIELD sy-lisel+1(20). CALL TRANSACTION ‘SE18′ AND SKIP FIRST SCREEN. WHEN ‘ENHS’. SET PARAMETER ID ‘EXN’ FIELD sy-lisel+1(30). CALL TRANSACTION ‘SE18′ AND SKIP FIRST SCREEN. ENDCASE.

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close