SAP LOAD_PROGRAM_TABLE_MISMATCH 处理记录

当VBAK增强导致LOAD_PROGRAM_TABLE_MISMATCH异常时,问题源于增强结构变化但系统缓存未更新。临时解决方案是使用AL12重置语句缓冲区。长期解决需应用系统补丁,如NOTE2559989,涉及数据库表的ABAP时间戳不匹配问题。此外,文中提到了其他可能的原因和解决办法,包括执行TOUCHTAB程序、更新内核以及实施特定SAPNote。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题记录:

对VBAK做增强,传输请求到QAS后,导致LOAD_PROGRAM_TABLE_MISMATCH异常;

问题原因:

增强结构发生变化,但是存在系统缓存,因结构差异出现DUMP;

解决方案:

使用AL12重置语句缓冲区即可临时解决此次报错问题

AL12重置后即可。

彻底解决方案需要打系统补丁,详情参考NOTE:2559989 - [Best Practice] How to solve dump LOAD_PROGRAM_TABLE_MISMATCH - SAP ONE Support Launchpad

NOTE内容如下:

Symptom

Dump error LOAD_PROGRAM_TABLE_MISMATCH with Short Text "The runtime object of a database table has been changed".

Normally in the ST22 dump log, we can find similar descriptions like:

Database table "XXXX" was changed at program runtime. This can cause inconsistencies.

Database table "XXXX" has ABAP time stamp 20171028220859. Program "XXXX" uses the table

with ABAP time stamp 20170503172929. Internal mode was started at 20171107090746.

Environment

ABAP System

Reproducing the Issue

[Enter your Reproducing the Issue here...]

Cause

1)

In most cases, the root cause can be explained by SAP Note 1840131 and SAP Note 1871058.

2)

If the dump happens at UPDATE statement towards a projection view, the problem is caused by a kernel error documented in note 2815286

The issue could happen at program include "LV50UP01" program "SAPLV50U":

IF it_vbap_status IS NOT INITIAL.

>>>>> UPDATEv_vbap_status FROM TABLE it_vbap_status.

ENDIF.

3)

If the time stamp of the table differs from the time stamp that you find in transaction SE11 in the runtime object of the table, then the statement cache is out-of-date.

Resolution

Depending on the above causes, there are three possible solutions:

1.

Execute the program TOUCHTAB from SAP Note 162991 to regenerate the programs dependent on the structures in dumps.

Then reactivate the inconsistent tables.

[How to avoid it in the future?]

The corresponding logic has been improved by following SAP Notes:

1838560 - Program runs permanently with obsolete ABAP Dictionary type

2503187 - Improvements for touching of dependent programs

2549669 - Improvements for touch and synchronization

The kernel patches delivered by the SAP Notes above can avoid MISMATCH dumps as much as possible. But the problem could still happen and you still need to perform transports or activation when there is lowest usage of the system, or bring your system to be non-productive status before transport/sp upgrade. To bring the system to a non-productive status in an orderly way, reschedule all scheduled background jobs using the report BTCTRNS1 and let any background jobs that are running complete, or terminate them manually. Prompt all users to close any transactions they are working in and to log off from the SAP system. In case the dump happens you still need to perform the steps in this KBA to solve it.

2.

Update kernel to the latest patch level according to Note 2815286.

Temporary workaround:

Resetting the statement cache in AL12:

Press 'Monitor' -> 'Statement Cache' -> 'Reset'

3.

Implement SAP Note 3112437. If the Note can't be implemented on short notice, reset the statement cache, as described in point 2.

See Also

2182690 - LOAD_PROGRAM_MISMATCH after insertion or deletion of index for non-buffered tables

2264680 - Dump LOAD_PROGRAM_TABLE_MISMATCH in ABQL access for table ACCESS_CONTROL_LIST2_ROOT

3112437 - Ignoring of obsolete statements in statement cache

Keywords

LOAD_PROGRAM_TABLE_MISMATCH, mismatch, ABAP, time stamp, runtime, change

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值