ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 查询SAP系统中的角色最后修改记录

查询SAP系统中的角色最后修改记录

原创 Linux操作系统 作者:wu_lq 时间:2009-06-20 21:12:49 0 删除 编辑

*&---------------------------------------------------------------------*
*& Report  Z_ROLE_CHANGE_LIST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

report  Z_ROLE_CHANGE_LIST.
***============ Definition 定义 ============***
tables AGR_DEFINE.
tables AGR_TEXTS.
data: number type I.
data:begin of ROLELIST occurs 0,
    MANDT like AGR_DEFINE-MANDT,
    AGR_NAME like AGR_DEFINE-AGR_NAME,
    TEXT   like AGR_TEXTS-TEXT,
    CREATE_USR like AGR_DEFINE-CREATE_USR,
    CREATE_DAT like AGR_DEFINE-CREATE_DAT,
    CHANGE_USR like AGR_DEFINE-CHANGE_USR,
    CHANGE_DAT like AGR_DEFINE-CHANGE_DAT,
    spras like AGR_texts-spras,
    LINE like AGR_texts-LINE,

    end of ROLELIST.
***============ Selection Screen 屏幕 ============***
select-options S_CH_DAT for AGR_DEFINE-CHANGE_DAT .
***============ Event Block 事件 ============***
initialization. "初始化触发事件

at selection-screen. "按下回车键屏幕检查事件

  perform. READ_DATA.

start-of-selection. "按下执行按钮后触发事件
  set pf-status 'Z_ROLE_CHANGE_LIST'.
  perform. OUTPUT_DATA.


at line-selection.  "单/双击行事件

at user-command.  "功能按钮触发事件
  perform. DATA_DOWNLOAD using SY-UCOMM.

 

top-of-page during line-selection.  "第二个屏幕处理事件,页头


***============ Logic Process 程序处理 ============***

*&---------------------------------------------------------------------*
*&      Form  read_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
form. READ_DATA.

  select A~MANDT A~AGR_NAME  A~CREATE_USR A~CREATE_DAT A~CHANGE_USR A~CHANGE_DAT B~TEXT B~SPRAS B~LINE
     into corresponding fields of table ROLELIST
     from AGR_DEFINE as A
     inner join AGR_TEXTS as B
     on A~AGR_NAME = B~AGR_NAME
     where A~CHANGE_DAT in S_CH_DAT
           AND B~SPRAS = 1
           AND B~LINE = 00000.
endform.                    "read_data

*&---------------------------------------------------------------------*
*&      Form  output_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
form. OUTPUT_DATA.
* skip.  "换行
  number = 0.
*  write: / TEXT-001,8 TEXT-002,32 TEXT-003,75 TEXT-004,83 TEXT-005,97 TEXT-006,105 TEXT-007.
  write: / '集团',8 '角色名',32 '备注',75 '创建人',83 '创建时间',97 '修改人',105 '修改时间'.

  uline. "输出直线
  loop at ROLELIST.

    write: / ROLELIST-MANDT,8 ROLELIST-AGR_NAME,32 ROLELIST-TEXT,75 ROLELIST-CREATE_USR,83 ROLELIST-CREATE_DAT,97 ROLELIST-CHANGE_USR,105 ROLELIST-CHANGE_DAT.
    number = number + 1.
  endloop.
  uline.

 


  write: /10 '创建者:',          30  SY-UNAME , 75 '共: ' ,        80 number ,'条'.
  write: /10 '日  期: ',         30   SY-DATUM.
  write: /10 '时  间: ',         30   SY-UZEIT.

  uline.
endform.                    "output_data

*&---------------------------------------------------------------------*
*&      Form  INFORMATION
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
form. PP   tables PITAB.
  data:PFILE type STRING.
  call function 'WS_FILENAME_GET'
   exporting
     DEF_FILENAME           = 'ROLELIST.xls '
     DEF_PATH               = 'd:\ '
*     MASK                   = ' '
     MODE                   = 'S '
     TITLE                  = 'SAVE FILE '
   importing
     FILENAME               = PFILE
*     RC                     =
   exceptions
     INV_WINSYS             = 1
     NO_BATCH               = 2
     SELECTION_CANCEL       = 3
     SELECTION_ERROR        = 4
     others                 = 5
            .
  if SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    exit.
  endif.

  call function 'GUI_DOWNLOAD'
    exporting
*   BIN_FILESIZE                    =
     FILENAME                        = PFILE
     FILETYPE                        = 'DAT'
*   APPEND                          = ' '
*   WRITE_FIELD_SEPARATOR           = ' '
*   HEADER                          = '00'
*   TRUNC_TRAILING_BLANKS           = ' '
*   WRITE_LF                        = 'X'
*   COL_SELECT                      = ' '
*   COL_SELECT_MASK                 = ' '
*   DAT_MODE                        = ' '
*   CONFIRM_OVERWRITE               = ' '
*   NO_AUTH_CHECK                   = ' '
*   CODEPAGE                        = ' '
*   IGNORE_CERR                     = ABAP_TRUE
*   REPLACEMENT                     = '#'
*   WRITE_BOM                       = ' '
*   TRUNC_TRAILING_BLANKS_EOL       = 'X'
*   WK1_N_FORMAT                    = ' '
*   WK1_N_SIZE                      = ' '
*   WK1_T_FORMAT                    = ' '
*   WK1_T_SIZE                      = ' '
*   WRITE_LF_AFTER_LAST_LINE        = ABAP_TRUE
*   SHOW_TRANSFER_STATUS            = ABAP_TRUE
* IMPORTING
*   FILELENGTH                      =
    tables
    DATA_TAB                        = PITAB
*   FIELDNAMES                      =
* EXCEPTIONS
*   FILE_WRITE_ERROR                = 1
*   NO_BATCH                        = 2
*   GUI_REFUSE_FILETRANSFER         = 3
*   INVALID_TYPE                    = 4
*   NO_AUTHORITY                    = 5
*   UNKNOWN_ERROR                   = 6
*   HEADER_NOT_ALLOWED              = 7
*   SEPARATOR_NOT_ALLOWED           = 8
*   FILESIZE_NOT_ALLOWED            = 9
*   HEADER_TOO_LONG                 = 10
*   DP_ERROR_CREATE                 = 11
*   DP_ERROR_SEND                   = 12
*   DP_ERROR_WRITE                  = 13
*   UNKNOWN_DP_ERROR                = 14
*   ACCESS_DENIED                   = 15
*   DP_OUT_OF_MEMORY                = 16
*   DISK_FULL                       = 17
*   DP_TIMEOUT                      = 18
*   FILE_NOT_FOUND                  = 19
*   DATAPROVIDER_EXCEPTION          = 20
*   CONTROL_FLUSH_ERROR             = 21
*   OTHERS                          = 22
            .
  if SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  endif.

endform.                    " INFORMATION
*&---------------------------------------------------------------------*
*&      Form  DATA_DOWNLOAD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_SY_UCOMM  text
*----------------------------------------------------------------------*
form. DATA_DOWNLOAD  using    P_SY_UCOMM.
  case P_SY_UCOMM.
    when 'ALL'.
*      PERFORM  information TABLES ITAB.
    when 'exit'.
*      PERFORM  information TABLES ITAB.
    when 'SAVE'.
      perform. PP tables ROLELIST.
  endcase.
endform.                    " DATA_DOWNLOAD

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/11966239/viewspace-607019/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-06-20

  • 博文量
    1
  • 访问量
    4821