一、诡异现象:同一个程序,两个账号跑出不同的价格在一次公司间转储采购订单(STO)的自动化开发中,我们编写了一个程序(以下简称Z_AUTO_PO),它的核心逻辑是:读取某张原始采购订单的行项目(物料、数量、净价等)。基于这些数据,调用BAPI_PO_CREATE1生成一张新的 STO 采购订单。价格方面,我们故意在代码里把原始订单的净价赋值给了新订单的行项目:abapls_item-net_price = ls_source-po_netpr. " 原始采购订单净价 ls_itemx-net_price = 'X'. " 标记要更新价格按照预期,这样创建出来的订单应该直接采用我们传入的净价,也就是和原始采购订单同价。但奇怪的事情发生了:运维账号 A(日常监控批次的系统用户)运行这个程序后,新采购订单的价格全部变成了采购信息记录里的价格,和原始订单的价格毫无关系。