seraph1188

sap 学习空间

  博客中心 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 登录 ::
  15 随笔 :: 30 文章 :: 3 评论 :: 0 Trackbacks
Cached @ 2025/4/26 16:48:43Control ASP.skins_cogitation_controls_blogstats_ascx
<2025年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

留言簿(0)

随笔档案

文章分类

文章档案

收藏夹

sap

搜索

最新评论

阅读排行榜

评论排行榜

Cached @ 2025/4/26 16:48:43Control ASP.skins_cogitation_controls_singlecolumn_ascx
这是查client的size的report,把此附件在SE38中通过 Utilities->More Utilities->Upload/Download 上传。 *&---------------------------------------------------------------------* *&---------------------------------------------------------------------* *& Object REPS YSTABSIZ *& Object header PROG YSTABSIZ *&---------------------------------------------------------------------* *& REPORT YSTABSIZ. *&---------------------------------------------------------------------* ... REPORT YSTABSIZ. "11th.Jun.2001 TYPE-POOLS: KKBLO . TABLES: T000, DD02L,VRSTABC. PARAMETER: CLIENT LIKE T000-MANDT DEFAULT SY-MANDT, TABLE LIKE DD02L-TABNAME, NOCLASSL DEFAULT 'X', NOCLASSA. DATA: BEGIN OF SIZETAB OCCURS 0, TABNAME LIKE DD02L-TABNAME, MANDT LIKE CCCFLOW-MANDT, ENTRIES LIKE JCTAB-COUNTER, WIDTH LIKE JCTAB-TABLEN, SIZE LIKE TSTRA01-FLTP, END OF SIZETAB. *<<<< Start of insertion DATA: TABL LIKE DD02L-TABNAME. TABL = TABLE. DATA: BEGIN OF SUMTAB OCCURS 0, MANDT LIKE CCCFLOW-MANDT, SIZE LIKE TSTRA01-FLTP, END OF SUMTAB. *<<<< End of insertion DATA FIELDTAB TYPE SLIS_T_FIELDCAT_ALV. DATA DD02L_TAB LIKE DD02L OCCURS 0 WITH HEADER LINE. DATA T000_TAB LIKE T000 OCCURS 0 WITH HEADER LINE. DATA VRS_TAB LIKE VRSTABC OCCURS 0 WITH HEADER LINE. DATA REPNAME LIKE SY-REPID. DATA COUNT TYPE I. REPNAME = SY-REPID. AUTHORITY-CHECK OBJECT 'S_TABU_CLI' ID 'CLIIDMAINT' FIELD 'X'. IF SY-SUBRC <> 0. WRITE: 'You are not permitted to use this program'(001). STOP. ENDIF. REPLACE '*' WITH '%' INTO CLIENT. REPLACE '*' WITH '%' INTO TABLE. SELECT * FROM DD02L INTO TABLE DD02L_TAB WHERE TABNAME LIKE TABLE AND AS4LOCAL = 'A' AND CLIDEP = 'X' AND ( TABCLASS EQ 'TRANSP' OR TABCLASS EQ 'POOL' OR TABCLASS EQ 'CLUSTER' ). SELECT * FROM T000 INTO TABLE T000_TAB WHERE MANDT LIKE CLIENT. SELECT * FROM VRSTABC INTO TABLE VRS_TAB. SORT VRS_TAB. SORT DD02L_TAB. DELETE ADJACENT DUPLICATES FROM DD02L_TAB COMPARING TABNAME. LOOP AT DD02L_TAB. IF DD02L_TAB-CONTFLAG <> 'L' OR NOCLASSL = ' '. IF DD02L_TAB-CONTFLAG <> 'A' OR NOCLASSA = ' '. READ TABLE VRS_TAB WITH KEY TABNAME = DD02L_TAB-TABNAME BINARY SEARCH. IF SY-SUBRC <> 0. LOOP AT T000_TAB. SIZETAB-TABNAME = DD02L_TAB-TABNAME. SIZETAB-MANDT = T000_TAB-MANDT. PERFORM. GET_TABLE_SIZE USING SIZETAB-TABNAME SIZETAB-MANDT SIZETAB-WIDTH SIZETAB-ENTRIES SIZETAB-SIZE. APPEND SIZETAB. COUNT = COUNT + 1. IF COUNT = 200. CLEAR COUNT. COMMIT WORK. ENDIF. ENDLOOP. ENDIF. ENDIF. ENDIF. ENDLOOP. SORT SIZETAB BY TABNAME ASCENDING MANDT ASCENDING. CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING I_PROGRAM_NAME = REPNAME I_INTERNAL_TABNAME = 'SIZETAB' * I_STRUCTURE_NAME = * I_CLIENT_NEVER_DISPLAY = 'X' I_INCLNAME = REPNAME CHANGING CT_FIELDCAT = FIELDTAB * EXCEPTIONS * INCONSISTENT_INTERFACE = 1 * PROGRAM_ERROR = 2 * OTHERS = 3 . IF SY-SUBRC <> 0. WRITE: 'SY-SUBRC: ', SY-SUBRC, 'REUSE_ALV_FIELDCATALOG_MERGE'. ENDIF. CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY' EXPORTING * I_INTERFACE_CHECK = ' ' * I_CALLBACK_PROGRAM = ' ' * I_CALLBACK_PF_STATUS_SET = ' ' * I_CALLBACK_USER_COMMAND = ' ' * I_STRUCTURE_NAME = 'CCTABSIZE' * IS_LAYOUT = IT_FIELDCAT = FIELDTAB * IT_EXCLUDING = * IT_SPECIAL_GROUPS = * IT_SORT = * IT_FILTER = * IS_SEL_HIDE = I_DEFAULT = 'A' * I_SAVE = ' ' * IS_VARIANT = ' ' * IT_EVENTS = * IT_EVENT_EXIT = * IS_PRINT = * IS_REPREP_ID = * I_SCREEN_START_COLUMN = 0 * I_SCREEN_START_LINE = 0 * I_SCREEN_END_COLUMN = 0 * I_SCREEN_END_LINE = 0 * IMPORTING * E_EXIT_CAUSED_BY_CALLER = * ES_EXIT_CAUSED_BY_USER = TABLES T_OUTTAB = SIZETAB * EXCEPTIONS * PROGRAM_ERROR = 1 * OTHERS = 2 . IF SY-SUBRC <> 0. WRITE: 'SY-SUBRC: ', SY-SUBRC, 'REUSE_ALV_LIST_DISPLAY'. ENDIF. *<<<< Start of insertion WRITE:'TABLE:',TABL,'No class L:',NOCLASSL. LOOP AT SIZETAB. MOVE SIZETAB-MANDT TO SUMTAB-MANDT. MOVE SIZETAB-SIZE TO SUMTAB-SIZE. COLLECT SUMTAB. ENDLOOP. SORT SUMTAB BY SIZE DESCENDING. ULINE. LOOP AT SUMTAB. WRITE: / 'Client', SUMTAB-MANDT, AT 53 SUMTAB-SIZE, 'Byte'. ENDLOOP. *<<<< End of insertion *&---------------------------------------------------------------------* *& Form. GET_TABLE_SIZE *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->P_SIZETAB text *----------------------------------------------------------------------* FORM. GET_TABLE_SIZE USING TABNAME MANDT WIDTH ENTRIES SIZE. DATA: BEGIN OF NTAB OCCURS 20. INCLUDE STRUCTURE DNTAB. DATA: END OF NTAB. DATA: BEGIN OF CTAB OCCURS 20, LINE(72). DATA: END OF CTAB. DATA TEXT(80). DATA: GEL_TABLEN(6) TYPE N. DATA: GEL_KEYLEN(6) TYPE N. DATA: TABLEN TYPE I. DATA: KEYLEN TYPE I. DATA: LTABLE LIKE DD02L-TABNAME. DATA: X030L_TAB LIKE X030L OCCURS 0 WITH HEADER LINE. DATA NT_SUBRC LIKE SY-SUBRC. DATA SUBRC LIKE SY-SUBRC. FIELD-SYMBOLS: . FREE CTAB. FREE NTAB. LTABLE = TABNAME. CALL FUNCTION 'NAMETAB_GET' EXPORTING LANGU = SY-LANGU ONLY = ' ' TABNAME = TABNAME IMPORTING HEADER = X030L_TAB * RC = TABLES NAMETAB = NTAB EXCEPTIONS INTERNAL_ERROR = 1 P_SIZETAB-TABNAME_HAS_NO_FIELDS = 2 P_SIZETAB-TABNAME_NOT_ACTIV = 3 NO_TEXTS_FOUND = 4 OTHERS = 5. NT_SUBRC = SY-SUBRC. IF NT_SUBRC = 0. WIDTH = X030L_TAB-TABLEN. READ TABLE NTAB INDEX 1. TEXT = '& = ''&'' '. REPLACE '&' WITH NTAB-FIELDNAME INTO TEXT. REPLACE '&' WITH MANDT INTO TEXT. CTAB-LINE = TEXT. APPEND CTAB. LOOP AT NTAB FROM 2. IF NTAB-KEYFLAG = 'X'. TEXT = 'AND & LIKE ''%'' '. REPLACE '&' WITH NTAB-FIELDNAME INTO TEXT. CTAB-LINE = TEXT. APPEND CTAB. ENDIF. ENDLOOP. SELECT COUNT(*) INTO ENTRIES FROM (TABNAME) CLIENT SPECIFIED WHERE (CTAB). ENDIF. SIZE = ENTRIES * WIDTH. COMMIT WORK. ENDFORM. " GET_TABLE_SIZE ... *&---------------------------------------------------------------------* 执行后出现的画面中选择条件如下: Client Client Number TABELLE * NOCLASSL X NOCLASSA SPACE 之后执行"Program->Execute in background" 。 Note: NOCLASSL/A中CLASS是 Table的 Delivery class;L是 "Table for storing temporary data, delivered empty"; A是指 "Application table (master and transaction data)"。即如果在NOCLASSA中输入"X"的话,只显示除Master data和Application Data之外的Client dependent Customizing Data大小。 如果sap系统的数据量(表)很大,此report执行时间过长,作为后台作业运行20个小时也没有出现结果,在实际应用中的利用值得商榷。实际上,在我们的系统,我一般选择几个不到1G的数据表,结合vsize函数和mandt的值大概算出每个client的权重。
分享按钮发布于: 2008-07-01 01:56 seraph1188 阅读(313) 评论(0)  编辑 收藏

评论

标题
姓名
主页
内容 
  登录  使用高级评论  Top 订阅回复  取消订阅
[使用Ctrl+Enter键可以直接提交]