查找增强出口和BADI程序

发布时间:2016-12-6 8:18:33编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"查找增强出口和BADI程序 ",主要涉及到查找增强出口和BADI程序 方面的内容,对于查找增强出口和BADI程序 感兴趣的同学可以参考一下。

*&---------------------------------------------------------------------**& Report  Z_FIND_EXIT_AND_BADI*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*report z_find_exit_and_badi no standard page heading.*&---------------------------------------------------------------------**&  Enter the transaction code that you want to search through in order*&  to find which Standard SAP User Exits and BADIs*&*&---------------------------------------------------------------------**& For field 'SUBC' of table 'TRDIR':*&   M  Module Pool*&   F  Function group*&   S  Subroutine Pool*&   J  Interface pool*&   K  Class pool*&   T  Type Pool*&   X  XSLT Program*&---------------------------------------------------------------------**& Tables*&---------------------------------------------------------------------*tables: tstc     , " SAP Transaction Codes  tadir    , " Directory of Repository Objects  modsapt  , " SAP Enhancements - Short Texts  sxs_attrt, " SAP BADI - short text  modact   , " Modifications  trdir    , " System table TRDIR  tfdir    , " Function Module  enlfdir  , " Additional Attributes for Function Modules  tstct    . " Transaction Code Texts*&---------------------------------------------------------------------**& Variables*&---------------------------------------------------------------------*data: jtab        like tadir occurs 0 with header line.data: field1(30).data: v_devclass  like tadir-devclass.data: object      like tadir-object.data: bdcdata_wa  type bdcdata,      bdcdata_tab type table of bdcdata.data: opt         type ctu_params.*&---------------------------------------------------------------------**& Selection Screen Parameters*&---------------------------------------------------------------------*selection-screen begin of block a01 with frame title text-001.  selection-screen skip.  parameters: p_tcode like tstc-tcode obligatory.  selection-screen skip.  parameters: exit radiobutton group 1 default 'X',  badi radiobutton group 1.selection-screen end of block a01.define bdc_program.  clear bdcdata_wa.  bdcdata_wa-program  = &1.  bdcdata_wa-dynpro   = &2.  bdcdata_wa-dynbegin = &3.  append bdcdata_wa to bdcdata_tab.end-of-definition.define bdc_detail.  clear bdcdata_wa.  bdcdata_wa-fnam = &1.  bdcdata_wa-fval = &2.  append bdcdata_wa to bdcdata_tab.end-of-definition.*&---------------------------------------------------------------------**& Start of main program*&---------------------------------------------------------------------*start-of-selection.if exit = 'X'.  object = 'SMOD'.  " User-exit!else.  object = 'SXSD'.  " BADI!endif.* Validate Transaction Code:select single * from tstc where tcode eq p_tcode.* Find Repository Objects for transaction code:if sy-subrc eq 0.                                         " IF 1  select single * from tadir where pgmid    = 'R3TR'  and object   = 'PROG'  and obj_name = tstc-pgmna."Program*    name!  move: tadir-devclass to v_devclass. " Package  if sy-subrc ne 0.    select single * from trdir where name = tstc-pgmna.    if trdir-subc eq 'F'.  " Function Group      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 = enlfdir-area.      move: tadir-devclass to v_devclass.    endif.  endif.*   Find SAP Modifactions:  select * from tadir into table jtab where pgmid    = 'R3TR'*                                          AND object   = 'SMOD'  and object   = object  and devclass = v_devclass.  select single * from tstct where sprsl eq sy-langu  and tcode eq p_tcode.  format color col_positive intensified off.  write: /(19)  'Transaction Code - ',  20(20) p_tcode,  45(50) tstct-ttext.  skip.  if not jtab[] is initial.                               " IF 2    write: /(95) sy-uline.    format color col_heading intensified on.*     Exit:    if exit = 'X'.      write: /1  sy-vline,      2  'Exit Name',      22 sy-vline ,      23 'Description',      95 sy-vline.*     BADI:    else.      write: /1  sy-vline,      2  'BADI Name',      22 sy-vline ,      23 'Description',      95 sy-vline.    endif.    write:/(95) sy-uline.    loop at jtab.*       EXIT:      if exit = 'X'.        select single * from modsapt where sprsl = sy-langu        and name  = jtab-obj_name.        format color col_normal intensified off.        write: /1  sy-vline,        2  jtab-obj_name hotspot on,        22 sy-vline ,        23 modsapt-modtext,        95 sy-vline.*       BADI:      else.        select single * from sxs_attrt where sprsl     = sy-langu        and exit_name =        jtab-obj_name.        format color col_normal intensified off.        write: /1  sy-vline,        2  jtab-obj_name hotspot on,        22 sy-vline ,        23 sxs_attrt-text,        95 sy-vline.      endif.    endloop.    write: /(95) sy-uline.    describe table jtab.    skip.    format color col_total intensified on.    if exit = 'X'.      write: / 'No of Exits:', sy-tfill.    else.      write: / 'No of BADIs:', sy-tfill.    endif.  else.                                                   " IF 2    format color col_negative intensified on.    write: /(95) 'No User Exit exists'.  endif.                                                  " IF 2else.                                                     " IF 1  format color col_negative intensified on.  write: /(95) 'Transaction Code Does Not Exist'.endif.                                                    " IF 1* Take the user to SMOD for the Exit that was selected:at line-selection.get cursor field field1.check field1(4) eq 'JTAB'.* For exit:if exit = 'X'.  set parameter id 'MON' field sy-lisel+1(10).  call transaction 'SMOD' and skip first screen.* For BADI:else.  clear: bdcdata_wa, bdcdata_tab[].  bdc_program 'SAPLSEXO' '0100' 'X'.  bdc_detail 'BDC_CURSOR' 'G_IS_BADI'.  bdc_detail 'BDC_OKCODE' '=ISSPOT'.  bdc_detail 'G_IS_BADI' 'X'.  bdc_program 'SAPLSEXO' '0100' 'X'.  bdc_detail 'BDC_CURSOR' 'G_BADINAME'.  bdc_detail 'BDC_OKCODE' '=SHOW'.  bdc_detail 'G_BADINAME' sy-lisel+1(20).  opt-dismode = 'E'.  opt-defsize = 'X'.  call transaction 'SE18' using bdcdata_tab options from opt.endif.


上一篇:如何开发应用程序将客户服务器数据库的备份,下载到本地的云服务上?
下一篇:elasticsearch5.0及head插件安装

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款