天天看點

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

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

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.

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

本文來自雲栖社群合作夥伴“汪子熙”,了解相關資訊可以關注微信公衆号"汪子熙"。

繼續閱讀