zoukankan      html  css  js  c++  java
  • ◆◆0[Dump]BAPI_PRODORD_CHANGE dump分析

    1, 场景介绍

    调用bapi BAPI_PRODORD_CHANGE 更新生产订单排产日期,单独更新生产订单没有问题,但是有时批量更新多个生产订单时会dump。

    相关代码:

    dump信息:

    COMMIT WORK processing cannot be interrupted.

    Error in the ABAP Application Program

    The current ABAP program "SAPLCOZV" had to be terminated because it has
    come across a statement that unfortunately cannot be executed.

    The following are executed during the COMMIT WORK statement - the
    routines registered for this with the PERFORM .. ON COMMIT statement, -
    the methods registered for the events in the object services and
    possibly also local updating (SET UPDATE TASK LOCAL).

    An exception has occurred and has been caught. This causes the normal
    sequence of the routine to be interrupted, with the result that the
    program is continues before the COMMIT WORK call. As this can cause
    inconsistencies, normal processing cannot be continued.

    ST22截图

    2016-12-19_10-26-12

    2016-12-19_10-28-25

    2, 原因分析

    首先查看了 bapi BAPI_PRODORD_CHANGE 的文档,SE37

    2016-12-19_10-33-34

    2016-12-19_10-34-13

    看了之后发现 ‘ you must not execute a COMMIT WORK again.’ 就是说这个bapi 已经在bapi内commit过了,不能再次commit,排除多次commit的情况(可以设置一个statement的断点,在所有commit work 和 commit work and wait的语句停),只有从master data和customizing setting着手调查,

    结果发现,当bapi BAPI_PRODORD_CHANGE 修改基于相同销售订单的生产订单时,就会dump,

    如下:

    CO03,查看pp order,发现102622719和102622728都是基于SO 690000039 行项目200的,这个会导致dump。

    2016-12-19_10-41-09

    2016-12-19_10-42-03

    其他需要注意的是:调用这个bapi时,pp order的出口中不仅不能有commit work,rollback也不能有,需要排查各个出口。

    以上。

  • 相关阅读:
    CentOs6.5中安装和配置vsftp简明教程
    springboot mybatis的pagehelper分页
    IDEA分配内存无效
    linux查看磁盘占用常用的两个命令
    postgre alter命令修改字段
    postgre ~模糊查询慢解决方式
    禁止select标签选择,禁止select组件change值
    ztree checkbox父子联动
    Postgresql常用函数整理
    postgre 常用语法,如 group_concat用法
  • 原文地址:https://www.cnblogs.com/lvdong18847870057/p/12533607.html
Copyright © 2011-2022 走看看