我们在使用SAPRouter时经常会碰到断线,其发生原因有很多,如:网络不稳定、操作间隔时间过长等。鉴于此,通过一个程序,来改良一下SAP GUI 通过SAP Router连接的稳定性。
原理:定时触发GUI与服务器的交互,保持router的连通性;
操作:SE38运行程序Z_DX即可,保持此session,另外打开session进行操作;
优点:可以比较好的改良GUI通过router连接SAP服务器的稳定性,同时防止超时导致session被SAP服务器断开或者被router断开;占用资源较少;
缺点:如果网络真的很差,会即刻断线,应该比QQ企鹅更敏感;多开一个session比较碍眼;
适用人群:通过sap router访问方式连接SAP 服务器。
程序如下:
REPORT zgui
DATA : text TYPE string,
chr TYPE char2,
time TYPE i.
DATA:sum TYPE i,
hour TYPE i,
min TYPE i,
sec TYPE i.
time = 0.
CONCATENATE 'Running(hh:mm:ss):' '00:00:00' INTO text.
DO.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = time MOD 100
text = text
EXCEPTIONS
OTHERS = 1.
time = time + 1.
IF time = 100000.
time = 0.
ENDIF.
sum = time * 5.
IF sum MOD 3600 GE 1800.
hour = sum / 3600 - 1.
ELSE.
hour = sum / 3600.
ENDIF.
IF ( sum MOD 3600 ) MOD 60 GE 30.
min = ( sum MOD 3600 ) / 60 - 1.
ELSE.
min = ( sum MOD 3600 ) / 60.
ENDIF.
sec = sum MOD 60.
chr = hour.
IF hour < 10.
CONCATENATE 'Running(hh:mm:ss):0' chr ':' INTO text.
ELSE.
CONCATENATE 'Running(hh:mm:ss):' chr ':' INTO text.
ENDIF.
chr = min.
IF min < 10.
CONCATENATE text '0' chr ':' INTO text.
ELSE.
CONCATENATE text chr ':' INTO text.
ENDIF.
chr = sec.
IF sec < 10.
CONCATENATE text '0' chr INTO text.
ELSE.
CONCATENATE text chr INTO text.
ENDIF.
WAIT UP TO 5 SECONDS.
ENDDO.