zoukankan      html  css  js  c++  java
  • 造成DUMP SAPSQL_ARRAY_INSERT_DUPREC的两个原因

    观察:

    用户BATCH01每天都爆出30多个dump SAPSQL_ARRAY_INSERT_DUPREC

    先来看一下ST22的错误分析

    关键字:  

    "SAPSQL_ARRAY_INSERT_DUPREC"

    "CX_SY_OPEN_SQL_DB" "SAPLV05I" or "LV05IU15" 

    "SD_PARTNER_UPDATE"

    代码出错位置(注意其中的VBPA,后面要用到):

    可能原因一:

    SD Number Range爆掉了..用SNRO检查Object RV_BELEG

    然后分别检查表VBUP VBUK LIPS LIKP VBAP是否已经用完分配的number range

    如果是这个原因的话,解决方法:

    1. Archiving of the old deliveries

    2. Assignment of an unused number range to the corresponding delivery type (e.g. transaction 0VLK).

    可能原因二(较常出现):

    先来看一下SM13的update error,发现与ST22的dumps完全匹配. 该用户在使用VA02时,无法将某些表内容更新进去.


    点击随便一个update error

    进入FM RV_SALES_DOCUMENT_UPDATE,记得前面说的表VBPA吗,就是在这里出的错,所以我们要点击table FXVBPA 

    注意比较最后一行70,它有2行PA值都为"PY",而其他项目则是PA=BP, PA=PY  [PA即Partner Function]

    再来看看table VBPA, 70行已经有一个RG了(就是PY),无法再插入同一个PY,所以更新失败了!!!

    回到table FXVBPA,找字段UPDKZ, 发现其他行都为空,只有70行是"I",说明这里更新失败

    ("I": The entry should be included again in the database.

     " ":  The entry should not be changed in the database.)

    MAN VBELN      POSNR   PA   KUNNR UPDKZ

    500 2717          000050    BP    174

    500 2717          000050    PY    174

    500 2717          000060    BP    174

    500 2717          000060    PY    174

    500 2717          000070    PY    174

    5002717          000070    PY    174            I               <--- root cause here

    原因找到了..接下来说说如何继续排查到底是如何导致有2个相同的parter function

    1.先来验证是否是user exits有问题

    可以在program MV45AFZZ, MV45AFZA, MV45AFZB中的FORM最上面插入如下代码:

    CHECK SY-UNAME <> 'SAPWALLD'. (或任何你可以使用的用户名).

    如此一来,该用户跳过写在这些程序中的user exits,然后检查是否该用户在使用VA02时有同样的dump

    如果果然是user exits出了问题,则需要检查写在program MV45AFZZ, MV45AFZA, MV45AFZB中的user exits

    特别是"USEREXIT_SAVE_DOCUMENT"和"USEREXIT_SAVE_DOCUMENT_PREPARE"

    SAP Note:

    178328  Problems due to incorrect user exits in SD

    207934  Update termination in RV_SALES_DOCUMENT_ADD/RV_SALES_DOCUMEN

  • 相关阅读:
    什么是SQLCLR与使用
    SQL Server中使用正则表达式
    YUV格式
    Android官方开发文档Training系列课程中文版:手势处理之ViewGroup的事件管理
    Android中利用5.0系统屏幕录制UI漏洞骗取应用录制屏幕授权
    Android解析编译之后的所有文件(so,dex,xml,arsc)格式
    PageRank 算法--从原理到实现
    机器人视觉初级系列
    深入解析 iOS 开源项目
    微信热补丁 Tinker 的实践演进之路
  • 原文地址:https://www.cnblogs.com/lazymango/p/1874449.html
Copyright © 2011-2022 走看看