1. 程式人生 > >SAP change document T-code SCDO(SAP更改欄位級記錄)

SAP change document T-code SCDO(SAP更改欄位級記錄)

專案中遇到了一個需求:對自建表的資料進行操作的時候,需要對更改資訊進行記錄,到欄位級別~

使用到了SAP 的chenge document 功能.

Tcode : SCDO

首先建立一個自己的change document object ,在物件裡面填上需要記錄的表的名字. 要是需要記錄刪除欄位資訊的話,把第二個checkbox選上.

SAP change document T-code SCDO - 藍風 - 風的感覺

然後選擇生成更新程式 -> 儲存.

點選生成資訊的話,可以看見生成的程式還有function module資訊,要是上面截圖第一個checkbox被選擇的話,還會生成新的structure .

到這裡,change document object就建立好了~

在程式裡面直接呼叫生成的function module把原始值和更新值傳進去就可以了`

*------------------start-----------------------------------------------*

REFRESH : lt_icdtxt .

CALL FUNCTION 'ZYW8_WRITE_DOCUMENT'

EXPORTING

objectid = ls-objectid

tcode = ls-tcode

utime = ls-utime

udate = ls-udate

username = ls-username

* PLANNED_CHANGE_NUMBER = ' '

object_change_indicator = 'U'

* PLANNED_OR_REAL_CHANGES = ' '

* NO_CHANGE_POINTERS = ' '

* UPD_ICDTXT_ZYW8 = ' '

upd_zidowndata = 'U'

TABLES

icdtxt_zyw8 = lt_icdtxt

xzidowndata = lt_8_new

yzidowndata = lt_8_old .

*------------------end-------------------------------------------------*

SAP提供了一個標準的報表檢視修改記錄: RSSCD100 .

需要注意的一點,凡是需要記錄的欄位,dataelement裡面的 changedocument屬性必須設定~

SAP change document T-code SCDO - 藍風 - 風的感覺

自己實現的一個測試程式:

REPORT ZZ_TEST24.

data ls_person TYPE ztblperson.
data ls_person_old TYPE ztblperson.
data lt_person TYPE TABLE OF ztblperson.
data ls_person1 TYPE YZTBLPERSON.
data lt_person_new TYPE TABLE OF YZTBLPERSON.
data lt_person_old TYPE TABLE OF YZTBLPERSON.

ls_person-name = 'N10'.
ls_person-age = 50.
ls_person-job = 'ABAP'.
INSERT ls_person INTO TABLE lt_person.
MOVE-CORRESPONDING ls_person to ls_person1.

ls_person-name = 'N12'.
ls_person-age = 50.
ls_person-job = 'ABAP'.
INSERT ls_person INTO TABLE lt_person.
MOVE-CORRESPONDING ls_person to ls_person1.
INSERT ls_person1 INTO TABLE lt_person_old.

MODIFY ztblperson FROM TABLE lt_person. " update + insert

data lt_cdtxt TYPE TABLE OF CDTXT.
data ls_cdtxt TYPE CDTXT.
ls_cdtxt-TEILOBJID = ls_person-name.

ls_cdtxt-UPDKZ = 'I'.
INSERT ls_cdtxt INto table lt_cdtxt.
CALL FUNCTION 'ZPERSON_WRITE_DOCUMENT'
EXPORTING
OBJECTID = 'ZPERSON'
TCODE = sy-tcode
UTIME = sy-uzeit
UDATE = sy-datum
USERNAME = sy-uname
* PLANNED_CHANGE_NUMBER = ' '
OBJECT_CHANGE_INDICATOR = 'U'
* PLANNED_OR_REAL_CHANGES = ' '
* NO_CHANGE_POINTERS

相關推薦

SAP change document T-code SCDO(SAP更改記錄)

專案中遇到了一個需求:對自建表的資料進行操作的時候,需要對更改資訊進行記錄,到欄位級別~ 使用到了SAP 的chenge document 功能. Tcode : SCDO 首先建立一個自己的change document object ,在物件裡面填上需要記錄的表的名字.

Oracle更改型別

當一個列名(欄位)下有資料的時候無法直接更改列名的型別,這時可以用以下方法: 1、修改原欄位名name為name_tmp alter table tb rename column name to name_tmp; 2、增加一個和原欄位名同名的欄位name alter table t

資料庫拼接字串更改

使用CONCAT(str1,str2,...) 函式 欄位orderid的值為1234,則: CONCAT(orderid,“0000”)的值為: 12340000 CONCAT(orderid,orderid)的值為:12341234 更改欄位值語句如下: UPDATE clear_me

oracle中更改資料型別

–新增臨時列  alter table tablename add filedname_temp number(2); –將臨時列的值置空 update zyt set id_temp=null; -----#alter table tablename modify fil

T-SQL修改相同不同記錄的語句

--下面是更新Sys_SysData表中SubName欄位的Acode、AName UPDATE Sys_SysData SET SubValue = CASE SubName WHEN 'ACode

mysql批量更改排序規則

在information_schema資料庫中執行,生成批量sql#批量更改欄位排序規則SELECT CONCAT('ALTER TABLE `', table_name, '` MODIFY `',

T-Sql(八)索引和資料加密

1 open symmetric key PwdKey --開啟對稱金鑰 2 decryption by certificate AdminPwdCert 3 4 insert into dbo.Wrokers(WrokerID,Name,Sex,M

T-SQL對多個去重並計數

定義和用法可以一同使用 DISTINCT 和 COUNT 關鍵詞,來計算非重複結果的數目。語法SELECT COUNT(DISTINCT column(s)) FROM table例子注意:下面的例子僅

SQL Server不允許更改屬性

在更改SQL Server2008的表結構的時候,遇到了如圖1所示的問題:不允許更改欄位屬性,解決辦法:開啟SQL SERVER 2008 工具-->選項-->Designers-->表設計器和資料庫設計器,把“阻止儲存要求重新建立表的更改”的勾去掉然後

Access更改長度

Access2003中的   更改   欄位的長度   的語句為: alter   table   [dv_user]   ALTER   COLUMN     [xzdata]   varchar(

SAP 各模組常用T-Code

ABAP     FIBF    BTE增強 SMOD/CMOD    "SMOD包含具體的增強,而CMOD是包含一組SMOD編寫的增強." SE18    badi builder SE19    badi implement SE24    建立修改檢視類物件 SE95 

SAP PA Document List

cat screen and web portfolio ron tell proc intel RE-Real Estate 房地產RE010-EN-Col95-Real Estate Processes in SAP ERPRE200-EN-Col95-Real Est

Document flow API in SAP CRM and C4C

relation 兩個 lap 原創 nts 綠色 需要 ima reference Document flow API in CRM 以一個具體的例子來說明。在Appointment的Overview page上能看見一個名叫Reference的區域,這裏可以維護一些其他

How Setting Show Transaction Code on SAP Tree Menu Side.

The Setting as below:  Click SAP Top Menu ---> Extras --->Setting (Shift+ F9) --> Show Technical Name (Check On)  --Click OK.

如何將SAP Multi Target應用部署到SAP雲平臺的Cloud Foundry環境去

SAP SCP SAP雲平臺 Java MTA SHINA是SAP HANA Interactive Education的縮寫,是一個demo應用,用於演示如何開發SAP HANA原生應用。 這個應用包含了sample數據以及HANA數據庫表,view,OData服務和UI,符合SAP H

SAP標準介面左/右對齊

更多內容關注公眾號:SAP Technical  點選進入:SAP標準介面欄位左/右對齊 在SAP專案中有時會遇到這樣的需求,SAP標準的操作介面裡,要求某些欄位輸入內容要左對齊或者右對齊。雖然需求有點不常見,但偶爾還是會碰到。   今天就來看一下標準程

SAP CRM訂單狀態下拉選單裡的值是怎麼配出來的

From: Wang, Jerry Sent: Friday, January 20, 2017 12:17 PM Subject: 為什麼transaction type沒有維護status profile 仍然能看到Open, In Process 和Completed? 這

SAP 銷售條件表增強

       有時遇到一個比較特殊的業務,比如公司間免費訂單,既要讓價格為0,不讀取VK11裡建立的價格, 又要讓公司間的價格讀取VK11,這實際上是有矛盾的,也就是說一個訂單裡面的兩行,物料一樣,客戶一樣,就會出現矛盾。       &

SAP與表的對應關係

MASTER DATA-主資料 Customer Master KNA1 Customer Basic Data KNB1 Customer Company Level Data客戶的公司資料 KNVV Customer Sales Level Data 客戶的銷售資料

SAP 通過事務程式碼與螢幕變式(SHD0)控制控制使用者介面的某些,以控制生產訂單的排程型別為例

在實際工作中經常會遇到要求把SAP中某些欄位鎖定,或設為必須輸入,這時可以用事務程式碼與螢幕變式進行控制,事務程式碼:SHD0 (Transaction and Screen Variants)。 下面是控制生產訂單排程型別為固定值的操作實錄: 一、檢視生產訂單排程型別的螢幕號 輸入事務