大家在实际应用中也会碰到有一些,东西经常用到。比如记录IP,用户,登录名等等。所以就把他们合在了一起,建立了一ZCOMMON。当然它是一个包括程式哦,因为它要被其他的程式调用哦!
现在大家看看具体的code。
*&---------------------------------------------------------------------*
*& Include ZCOMMON
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form LOG_USERINFO
*&---------------------------------------------------------------------*
FORM LOG_USERINFO .
DATA SID LIKE ZPROGLOG-AID.
DATA IPADDR(20) .
DATA PCNAME TYPE STRING.
DATA WinUser TYPE STRING.
DATA:BEGIN OF T_ZPROGLOG OCCURS 0.
INCLUDE STRUCTURE ZPROGLOG.
DATA:END OF T_ZPROGLOG.
DATA: T_ZLOG_SEQNO LIKE ZLOG_SEQNO OCCURS 0 WITH HEADER LINE.
SELECT A~TCODE A~LAEDA A~AID INTO CORRESPONDING FIELDS OF TABLE T_ZLOG_SEQNO
FROM ZLOG_SEQNO AS A
WHERE TCODE = 'ZLOGUSER' AND LAEDA = SY-DATUM.
IF SY-SUBRC = 0.
READ TABLE T_ZLOG_SEQNO INDEX 1.
SID = T_ZLOG_SEQNO-AID.
T_ZLOG_SEQNO-AID = T_ZLOG_SEQNO-AID + 1 .
MODIFY T_ZLOG_SEQNO INDEX 1.
ELSE.
T_ZLOG_SEQNO-TCODE = 'ZLOGUSER'.
T_ZLOG_SEQNO-LAEDA = SY-DATUM.
T_ZLOG_SEQNO-AID = 1.
SID = 0.
APPEND T_ZLOG_SEQNO.
ENDIF.
MODIFY ZLOG_SEQNO FROM T_ZLOG_SEQNO.
SID = SID + 1.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GET_COMPUTER_NAME
CHANGING
COMPUTER_NAME = PCNAME.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GET_IP_ADDRESS
RECEIVING
IP_ADDRESS = IPADDR.
***Get Windows User Name
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GET_USER_NAME
CHANGING
USER_NAME = WinUser
EXCEPTIONS
CNTL_ERROR = 1
ERROR_NO_GUI = 2
NOT_SUPPORTED_BY_GUI = 3
OTHERS = 4.
CALL METHOD CL_GUI_CFW=>FLUSH
EXCEPTIONS
CNTL_SYSTEM_ERROR = 1
CNTL_ERROR = 2
OTHERS = 3.
***Common var.
MOVE: SY-MANDT TO T_ZPROGLOG-MANDT,
SID TO T_ZPROGLOG-AID,
SY-UNAME TO T_ZPROGLOG-UNAME,
SY-DATUM TO T_ZPROGLOG-LAEDA,
SY-UZEIT TO T_ZPROGLOG-TIMES,
SY-TCODE TO T_ZPROGLOG-TCODE,
IPADDR TO T_ZPROGLOG-HOSTIP,
PCNAME TO T_ZPROGLOG-HOST,
WINUSER TO T_ZPROGLOG-WINUSER.
APPEND T_ZPROGLOG.
INSERT ZPROGLOG FROM TABLE T_ZPROGLOG.
CLEAR T_ZPROGLOG.
ENDFORM. " LOG_USERINFO
用得到的童鞋来这里参考一下吧。~~~