美文网首页
维护视图事件存储操作日志过程

维护视图事件存储操作日志过程

作者: LiamHacker | 来源:发表于2018-09-30 15:53 被阅读0次

    关于ZGJTFI_RCPZ表通过维护视图存储操作日志过程。

    以修改的状态进入到表维护生成器,再环境》修改》事件

    进入事件的界面后,选择修改,新增条目,选中下图红框的按钮,可查看系统提供的事件相关信息

    填入子例程名称,点击编辑器栏的按钮,创建子例程,也可以手工创建。

    然后编写代码

    其中gs_zgjtfi_rcpz、gt_zgjtfi_rcpz为FM全局变量,在FM中找到包含文件带有TOP字样的文件定义即可,也可以找到合适的位置定义。

    保存数据前的操作01


    FORM fm_save_log_before. 

     IF x_header-viewname = 'ZGJTFI_RCPZ'.   

     LOOP AT total.     

     IF  <action> = 'I' OR          <action> = 'U' OR          <action> = 'N' OR          <action> = 'D'.     

       gs_zgjtfi_rcpz = <vim_total_struc>.     

       gs_zgjtfi_rcpz-chngind = <action>.     

      IF gs_zgjtfi_rcpz-chngind = 'N'.      

        gs_zgjtfi_rcpz-chngind = 'I'.       

     ENDIF.     

       APPEND gs_zgjtfi_rcpz TO gt_zgjtfi_rcpz.    

      ENDIF.  

     ENDLOOP. 

     ENDIF.

    ENDFORM.                    "FM_SAVE_LOG_BEFORE


    保存数据后的操作02

    FORM fm_save_log_after. 

     DATA:ls_zgjtfi_rcpz_log LIKE zgjtfi_rcpz_log,    

        lt_zgjtfi_rcpz_log LIKE TABLE OF ls_zgjtfi_rcpz_log.

      IF x_header-viewname = 'ZGJTFI_RCPZ'.  

      LOOP AT gt_zgjtfi_rcpz INTO gs_zgjtfi_rcpz.    

      ls_zgjtfi_rcpz_log-bukrs = gs_zgjtfi_rcpz-include-bukrs.    

      ls_zgjtfi_rcpz_log-wrbtr = gs_zgjtfi_rcpz-include-wrbtr.    

      ls_zgjtfi_rcpz_log-change_ind = gs_zgjtfi_rcpz-chngind.   

       ls_zgjtfi_rcpz_log-UDATE =  sy-datum.     

     ls_zgjtfi_rcpz_log-UTIME = sy-uzeit.    

      ls_zgjtfi_rcpz_log-UNAME = sy-uname.     

     APPEND ls_zgjtfi_rcpz_log TO lt_zgjtfi_rcpz_log.     

     CLEAR ls_zgjtfi_rcpz_log. 

       ENDLOOP.  

      INSERT zgjtfi_rcpz_log FROM TABLE lt_zgjtfi_rcpz_log.  

      IF SY-SUBRC NE 0.     

     rollback work.   

     ELSE.    

      commit WORK AND WAIT.  

      ENDIF. 

     ENDIF.

    ENDFORM.                    "FM_SAVE_LOG

    以上为维护视图操作存储日志的过程,谢谢!

    相关文章

      网友评论

          本文标题:维护视图事件存储操作日志过程

          本文链接:https://www.haomeiwen.com/subject/sfmwoftx.html