SAP Hybris的型別系統更改和ABAP的LOAD_PROGRAM_TABLE_MISMATCH

i042416發表於2020-03-11

如果正在執行一個transaction,這個時候系統有一個transport request import進來, 這個TR包含了一些DDIC object的change, 並且這些DDIC object正在被當前transaction使用,就會出現這個exception:

SAP Hybris的型別系統更改和ABAP的LOAD_PROGRAM_TABLE_MISMATCH

SAP的建議是在晚上user很少的時候import TR。用SGEN只能透過在user launch transaction之前預先生成最新的ABAP LOAD來避免這個問題,但是對於TR import之前已經load到memory開始執行的transaction則無能為例。

Hybris不會遇到類似的問題,因為其data type分為design time source和runtime artifact兩種:


(1) There is a file-based representation that is spread across in the various items.xml files of Hybris extensions. This representation is not actively used by Hybris at runtime. You can modify this representation at any time by modifying the items.xml file of an extension. However, modifications of the items.xml files only take effect after an initialization or an update of Hybris.


(2) The database of Hybris also contains a representation of the type system. This representation is actually in use by Hybris at runtime. The representation in use reflects the state the type system was in when Hybris was last updated or initialized.

SAP Hybris的型別系統更改和ABAP的LOAD_PROGRAM_TABLE_MISMATCH

直接修改items.xml不會對runtime transaction造成任何影響 - items.xml的change必須重新build整個Hybris之後才會生效.

釋出於 2020-02-29


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2679516/,如需轉載,請註明出處,否則將追究法律責任。

相關文章