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

  • 相关阅读:
    HeapSpray初窥(2014.12)
    CVE-2014-4115漏洞分析(2014.11)
    【原创】oracle提权执行命令工具oracleShell v0.1
    【原创】贴个dirtycow(脏牛漏洞)不死机的exploit
    【CVE-2016-10009】OpenSSH < 7.4
    关于elasticsearch和kibana的时区和日期问题
    这是我写过的最长的正则表达式,没有之一
    三生缘
    【原创】JEECMS v6~v7任意文件上传漏洞(2)
    【原创】JEECMS v6~v7任意文件上传漏洞(1)
  • 原文地址:https://www.cnblogs.com/lazymango/p/1874449.html
Copyright © 2011-2022 走看看