ABAP--如何暂停其他进程的处理,加速当前程序的处理速度
来源:互联网 发布:雨花网络问政php 编辑:程序博客网 时间:2024/04/30 17:23
REPORT ZHGUPALL NO STANDARD PAGE HEADING.
************************************************************************
* This is a test program to measure - how much faster a program can
* process it's job if all the other workprocesses are halted.
* The program identifies the dialog and batch workprocesses that are
* running other abaps and sends them a UNIX 24 (halt) signal.
* When it has finished the job, it releases the other workprocesses
* by sending them a signal 26. This method can be hazardous too.
* One such situation can be a deadlock, when the program requires a
* resource, that is locked by an abap that has been paused.
************************************************************************
PARAMETERS: SELFISH.
TABLES: TRDIR.
DATA: T1 TYPE I,
T2 TYPE I,
STRING(20) VALUE 'load',
LOCK(30) VALUE 'kill -24',
ULOCK(30) VALUE 'kill -26',
OPCODE TYPE X VALUE 2.
DATA: BEGIN OF LIST OCCURS 10.
INCLUDE STRUCTURE MSXXLIST.
DATA: END OF LIST.
DATA: BEGIN OF WPLIST OCCURS 10.
INCLUDE STRUCTURE WPINFO.
DATA: END OF WPLIST.
DATA: BEGIN OF TABL OCCURS 0,
LINE(200),
END OF TABL.
DATA: BEGIN OF ITAB OCCURS 500,
LINE(72),
END OF ITAB.
*
* Get the list of dialog workprocesses
CALL FUNCTION 'TH_SERVER_LIST'
TABLES
LIST = LIST.
READ TABLE LIST WITH KEY HOST = SY-HOST.
CALL FUNCTION 'TH_WPINFO'
EXPORTING
SRVNAME = LIST-NAME
TABLES
WPLIST = WPLIST.
*
* Lock all the DIA and BTC but mine
IF SELFISH = 'Y'.
LOOP AT WPLIST.
IF WPLIST-WP_TYP = 'DIA' OR WPLIST-WP_TYP = 'BTC'.
IF WPLIST-WP_BNAME <> SY-UNAME.
LOCK+11(8) = WPLIST-WP_PID.
WRITE: / LOCK.
CALL 'SYSTEM' ID 'COMMAND' FIELD LOCK
ID 'TAB' FIELD TABL-*SYS*.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
SKIP.
*
* Measure runtime
GET RUN TIME FIELD T1.
*
* This is my processing section VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
SELECT * FROM TRDIR WHERE NAME LIKE 'I%'.
READ REPORT TRDIR-NAME INTO ITAB.
LOOP AT ITAB.
IF ITAB-LINE CS STRING.
WRITE: / TRDIR-NAME.
EXIT.
ENDIF.
ENDLOOP.
ENDSELECT.
* End of processing ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
************************************************************************
*
* Measure runtime
GET RUN TIME FIELD T2.
T2 = T2 - T1.
SKIP.
WRITE: 'runtime:', T2.
SKIP.
*
* Unock the other guys
IF SELFISH = 'Y'.
LOOP AT WPLIST.
IF WPLIST-WP_TYP = 'DIA' OR WPLIST-WP_TYP = 'BTC'.
IF WPLIST-WP_BNAME <> SY-UNAME.
ULOCK+11(8) = WPLIST-WP_PID.
WRITE: / ULOCK.
CALL 'SYSTEM' ID 'COMMAND' FIELD ULOCK
ID 'TAB' FIELD TABL-*SYS*.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
Sourcelink: http://www.kabai.com/abaps/z101.htm
- ABAP--如何暂停其他进程的处理,加速当前程序的处理速度
- ABAP--如何暂停其他进程的处理,加速当前程序的处理速度
- ABAP--如何暂停其他进程的处理,加速当前程序的处理速度 .
- 进程静音,暂停,加速的实现
- 为程序增加处理速度的限制
- 当前cpu发生__do_kernel_fault时,其他cpu是如何处理的呢?
- 如何加快Bundle的处理速度
- 教你如何处理加速电脑速度(转载)
- 加速ASP程序的显示速度
- 加速ASP程序的显示速度
- 加速ASP程序的显示速度
- 加速ASP程序的显示速度
- 二级物料处理程序,上(品尝ABAP的味道)
- 二级物料处理程序,中(品尝ABAP的味道)
- 二级物料处理程序,下(品尝ABAP的味道)
- abap--关于异常的处理
- abap--关于异常的处理
- abap--关于异常的处理
- 针对sqlserver表中字段类型为text的在查询分析器中查看该字段的方法
- Java String.length() 问题
- keySet()与entrySet()
- struts2+json+jquery 级联查询
- 最近的总结
- ABAP--如何暂停其他进程的处理,加速当前程序的处理速度
- 注册表更改win7的UAC方法
- javascript实现的动态添加表单元素input,button等(appendChild)
- 关于vc调试出现One or more breakpoints cannot be set and have been disabled解决方法
- 水晶报表 度量单位
- PDO使用归纳
- Netbeans jlabel图片缩放代码
- 用 VNC 远程图形化登录 Linux (VNC 全屏显示)
- 利用manifest提升程序为VISTA/WIN7管理员权限