sap表修改记录查询.docx

上传人:b****8 文档编号:9349925 上传时间:2023-02-04 格式:DOCX 页数:13 大小:19.26KB
下载 相关 举报
sap表修改记录查询.docx_第1页
第1页 / 共13页
sap表修改记录查询.docx_第2页
第2页 / 共13页
sap表修改记录查询.docx_第3页
第3页 / 共13页
sap表修改记录查询.docx_第4页
第4页 / 共13页
sap表修改记录查询.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

sap表修改记录查询.docx

《sap表修改记录查询.docx》由会员分享,可在线阅读,更多相关《sap表修改记录查询.docx(13页珍藏版)》请在冰豆网上搜索。

sap表修改记录查询.docx

sap表修改记录查询

SAP表修改记录查询

SAP中修改频率较低的定制表(T001等)一般都会有修改记录存在,查看一个表有没有修改记录可以在SE11中查看他的技术设置,如果其中的LOGDATACHANGES选中则表示此表有历史修改记录存在。

要查看他的修改记录可以使用Tcode:

SCU3。

菜单路径:

工具-定制-IMG-IMGLogging

参考说明:

 ...cfab6d/frameset.htm

系统读取历史修改记录的Function:

DBLOG_READ_WITH_STATISTIC

转载:

SE16N通过&sap_edit可以修改表,修改表后如何查看呢。

分两步进行。

1.事务码SE16N,然后输入表   SE16N_CD_Key,输入相应的查询条件。

例如table名,查出相应的ID

2.事务码SE16N,然后输入表SE16N_CD_DATA,输入相应的ID,就可以查询到修改的内容。

 

其他方式:

DBTABLOG

CDHDR  更改日志表头

CDPOS  更改日志行项目

查询用户的最近一次登陆日期和时间,USR02中有个上次登陆日期和登陆时间;或者用SE38跑下RSUSR200,输入用户名即可查询上次登陆日期

还有个方法是ST03N,专家模式,选择时间段,选择user和userprofile,可惜,小弟权限不够没法测试

 

更改记录表CDHDR和CDPOS

SE16N查询CDPOS表,在字段OBJECTCLAS(更改文档对象,VERKBELEG表示销售凭证,不同的凭证类别代码不同的文档对象,如需查看文档对象,可使用事务代码SCDO,相关表为TCDOB/TCDOBT)中输入:

VERKBELEG,TABNAME(表名)输入:

VBAK/VBAP(VBAK查询整张订单、VBAP查询订单行项目),CHNGIND(修改标识符)输入:

D(U表示更新,I表示插入,E表示删除单个字段,D表示删除整行或整个单据),执行后,字段OBJECTID(对象价值)表示订单号码,字段TABKEY(表键)中的最后两位表示订单行号,同理,我们可查看其他删除或修改的各种单据和凭证。

SAP保存操作记录CDHDR和CDPOS表

转载自 (在此基础上做了修改)

sap的字段和对象的修改都会保存旧值,数据保存在CDHDR和CDPOS表中,提取旧值可以采用两种方法

1)     使用sap的标准函数CHANGEDOCUMENT_READ_HEADERS 和CHANGEDOCUMENT_READ_POSITIONS

CALLFUNCTION'CHANGEDOCUMENT_READ_POSITIONS'"Changedocument:

Readchangedocumentitems

EXPORTING

*   archive_handle=0          "sy-tabix      HandleonOpenArchiveFiles

    changenumber=              "cdpos-changenr  Changedocumentnumber

*   tablekey=SPACE            "cdpos-tabkey  Objectclasstablekey

*   tablename=SPACE           "cdpos-tabname  Objectclasstablename

*   tablekey254=SPACE         "cdpos_uid-tabkey  TableKeyforCDPOSinCharacter254

*   keyguid=SPACE             "cdpos_uid-keyguid  UUIDinCharacterFormat

*   keyguid_str=SPACE         "cdpos_str-keyguid  UUIDinCharacterFormat

IMPORTING

    header=                    "cdhdr   Changedocumentheader(structureCDHDR)

   et_cdred_str=              "cdred_str_tab  AdditionalChangeDocument-TableforSTRINGs

*TABLES

*   editpos=                  "cdshw     Tablewitheditedchangedocumentitems

EDITPOS_WITH_HEADER =               "CDRED  更改文档,显示结构

EXCEPTIONS

NO_POSITION_FOUND=1       "               Noitemfoun

WRONG_ACCESS_TO_ARCHIVE=2  "              incorrectaccesstoarchive

 

2)使用select语句直接从表中读取。

直接使用SELECT语句读取数据的示例:

*提取信用额度字段修改的抬头信息       selectcdhdr~changenrcdhdr~udatecdhdr~utime        intocorrespondingfieldsoftablep_cdhdr        fromcdhdr        wherecdhdr~objectclas='KLIM'and          cdhdr~objectid=wa_customerinfo-kunnr.      ifsy-subrc=0.*提取信用额度字段修改的字段值         selectcdpos~changenrcdpos~value_oldcdpos~value_new          intocorrespondingfieldsoftablep_cdpos          fromcdpos            forallentriesinp_cdhdr          wherecdpos~objectclas='KLIM'and            cdpos~objectid=wa_customerinfo-kunnrand            cdpos~changenr=p_cdhdr-changenrand            cdpos~tabname='KNKK'and            cdpos~fname='KLIMK'.        ifsy-subrc=0.       endif.endif.

可以在CHANGEDOCUMENT_READ_HEADERS 中设置中断获得对象类型。

ex.

提取有变动的 Acc.changes

SELECTSINGLEtabkeyvalue_new  INTO(cdpos-tabkey,ikoinh)

      FROMcdpos

      WHERE   objectclas='KRED'

        ANDobjectid=itab-lifnr

        ANDchangenr=itab-changenr

        ANDtabname='LFBK'

        ANDfname='KOINH'.

提取有变动的vendor最新日期

   SELECTMAX(udate)INTOitab-cndateFROMcdhdr

      WHEREobjectclas='KRED'ANDobjectid=itab-lifnr.

--------------------------------------------------------------------------------

抓取所有有变动的程序

reportztest001.

TYPE-POOLSslis.

DATA:

cdhdrTYPEcdhdr.

SELECT-OPTIONS:

   s_objclsFORcdhdr-objectclasOBLIGATORY,

   s_objtidFORcdhdr-objectid,

   s_chngnrFORcdhdr-changenr,

   s_usrnamFORcdhdr-usernameDEFAULTsy-uname,

   s_udate  FORcdhdr-udate    DEFAULTsy-datum,

   s_time   FORcdhdr-utime,

   s_tcode  FORcdhdr-tcode,

   s_plncnrFORcdhdr-planchngnr,

   s_chngnoFORcdhdr-act_chngno,

   s_wsplndFORcdhdr-was_plannd,

   s_chngidFORcdhdr-change_ind.

SELECTION-SCREENSKIP.

PARAMETERSp_maxTYPEnumc3OBLIGATORYDEFAULT'200'.

*---------------------------------------------------------------------*

TYPES:

  BEGINOFty_s_cdhdr.

        INCLUDESTRUCTUREcdhdr.

TYPES:

checkbox,

  ENDOFty_s_cdhdr,

  BEGINOFty_s_cdpos.

        INCLUDESTRUCTUREcdpos.

TYPES:

checkbox,

  ENDOFty_s_cdpos.

*---------------------------------------------------------------------*

DATA:

*LayoutforALV

   gs_layoutTYPEslis_layout_alv,

*Changedocumentheader

   t_cdhdrTYPETABLEOFty_s_cdhdr.

*---------------------------------------------------------------------*

START-OF-SELECTION.

*ReadChangedocumentheader

  SELECT*INTOTABLEt_cdhdr

             UPTOp_maxROWS

           FROMcdhdr

          WHEREobjectclasINs_objcls

            andobjectid   ins_objtid

            andchangenr   ins_chngnr

            ANDusername   INs_usrnam

            ANDudate      INs_udate

            ANDutime      INs_time

            ANDtcode      INs_tcode

            ANDplanchngnrINs_plncnr

            ANDact_chngnoINs_chngno

            ANDwas_planndINs_wsplnd

            ANDchange_indINs_chngid.

   gs_layout-zebra='X'.

   gs_layout-colwidth_optimize='X'.

   gs_layout-box_fieldname='CHECKBOX'.

*DisplayALV

  CALLFUNCTION'REUSE_ALV_GRID_DISPLAY'

       EXPORTING

             i_callback_program       =sy-cprog

             i_callback_user_command='USER_COMMAND'

             i_structure_name         ='CDHDR'

             is_layout                =gs_layout

       TABLES

             t_outtab                 =t_cdhdr.

*---------------------------------------------------------------------*

*        FORMUSER_COMMAND                                              *

*---------------------------------------------------------------------*

FORMuser_commandUSINGu_ucomm     TYPEsyucomm

                         us_selfieldTYPEslis_selfield.     "#ECCALLED

*Macrodefinition

  DEFINEm_sort.

    add1tols_sort-spos.

     ls_sort-fieldname=&1.

     ls_sort-up='X'.

    appendls_sorttolt_sort.

  END-OF-DEFINITION.

  DATA:

     ls_cdhdrTYPEty_s_cdhdr,

     ls_sort  TYPEslis_sortinfo_alv,

     lt_sort  TYPEslis_t_sortinfo_alv,

*    Changedocumentitems

     lt_cdposTYPETABLEOFty_s_cdpos.

  CASEu_ucomm.

    WHEN'&IC1'.

      PERFORMcheck_markedUSINGus_selfield.

*      ReadChangedocumentitems

      LOOPATt_cdhdrINTOls_cdhdrWHEREcheckbox='X'.

        SELECT*APPENDINGTABLElt_cdpos

                 FROMcdpos

                WHEREobjectclas=ls_cdhdr-objectclas

                  ANDobjectid    =ls_cdhdr-objectid

                  ANDchangenr    =ls_cdhdr-changenr.

      ENDLOOP.

       m_sort'CHANGENR'.

*      DisplayALV

      CALLFUNCTION'REUSE_ALV_GRID_DISPLAY'

           EXPORTING

                 i_structure_name='CDPOS'

                 is_layout         =gs_layout

                 it_sort           =lt_sort

           TABLES

                 t_outtab          =lt_cdpos.

  ENDCASE.

ENDFORM.                               "USER_COMMAND

*--------------------------------------------------------------------FORMcheck_markedUSINGus_selfieldTYPEslis_selfield.

  FIELD-SYMBOLS:

     TYPEty_s_cdhdr.

  READTABLEt_cdhdrTRANSPORTINGNOFIELDSWITHKEYcheckbox='X'.

  IFNOTsy-subrcISINITIALAND

     NOTus_selfield-tabindexISINITIAL.

    READTABLEt_cdhdrINDEXus_selfield-tabindexASSIGNING.

     -checkbox='X'.

  ENDIF.

ENDFORM.

 

 

 

通过CDHDRCDPOS获取增量数据

REPORTzscm_vendor2LINE-SIZE1023.

 

DATA:

BEGINOFitabOCCURS0,

         sprasLIKElfa1-spras,

         lifnrLIKElfa1-lifnr,

         name1LIKEadrc-name1,

         name3LIKEadrc-name3,

         regioLIKElfa1-regio,

         strasLIKElfa1-stras,

         str_suppl1LIKEadrc-str_suppl1,

         pstlzLIKElfa1-pstlz,

         telf1LIKElfa1-telf1,

         telfxLIKElfa1-telfx,

         name2LIKEknvk-name1,

         smtp_addrLIKEadr6-smtp_addr,

         buy_id(12)TYPEc,

         stcegLIKElfa1-stceg,

         bankaLIKEbnka-banka,

         banknLIKElfbk-bankn,

         vendor_type(3)TYPEc,

*         balance_type(4)TYPEc,

     ENDOFitab.

DATA:

BEGINOFitab_tempOCCURS0,

         adrnrLIKElfa1-adrnr.

       INCLUDESTRUCTUREitab.

DATA:

ENDOFitab_temp.

DATA:

BEGINOFitab_adrcOCCURS0,

          addrnumberLIKEadrc-addrnumber,

          name1LIKEadrc-name1,

          name3LIKEadrc-name3,

          str_suppl1LIKEadrc-str_suppl1,

          smtp_addrLIKEadr6-smtp_addr,

     ENDOFitab_adrc.

 

DATA:

BEGINOFitab_knvkOCCURS0,

         lifnrLIKElfa1-lifnr,

         name2LIKEknvk-name1,

     ENDOFitab_knvk.

 

DATA:

BEGINOFitab_bnkaOCCURS0,

         lifnrLIKElfbk-lifnr,

         bankaLIKEbnka-banka,

         banknLIKElfbk-bankn,

     ENDOFitab_bnka.

 

DATA:

BEGINOFitab_lfb1OCCURS0,

         lifnrLIKElfb1-lifnr,

         bukrsLIKElfb1-bukrs,

         ztermLIKElfb1-zterm,

     ENDOFitab_lfb1.

 

DATA:

changenrLIKEzcdhdr_max-changenr.

PARAMETER:

dateTYPEsyst-datum.

 

DATA:

BEGINOFitab_objectOCCURS0,

       objectidLIKElfa1-lifnr,

     ENDOFitab_object.

PERFORMgetvendordata.

*&---------------------------------------------------------------------*

*&     Form getvendordata

*&---------------------------------------------------------------------*

FORMgetvendordata.

 

**getmaxchangenr

* SELECTMAX(zcdhdr_max~changenr)

*   INTOchangenr

*   FROMzcdhdr_max

*   WHEREzcdhdr_max~erdat

*getobjectid

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1