sql - 输入订单后暂停帐户(消息错误 EBS Oracle)
问题描述
我不知道 EBS Oracle 如何验证此信息,我不知道是什么函数或过程抛出此错误消息:
'ONTOE_PC_CREATE_VIOLATIONHeader orderReason Please, contact the Credit Department'
这里的问题是客户帐户在为他设置订单(输入订单)后被关闭。
涉及的包是这个:OE_PC_CONSTRAINTS_ADMIN_PUB包含这个过程:
PROCEDURE Set_Message
( p_operation IN VARCHAR2
, p_group_number IN VARCHAR2
, p_attribute_name IN VARCHAR2
, p_object_name IN VARCHAR2
)
IS
l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
BEGIN
IF p_operation = OE_PC_GLOBALS.UPDATE_OP THEN
IF p_attribute_name IS NOT NULL THEN
IF nvl(p_group_number,-1) = -1 THEN
FND_MESSAGE.SET_NAME('ONT','OE_PC_UPDATE_FIELD_NO_CONDN');
ELSE
FND_MESSAGE.SET_NAME('ONT','OE_PC_UPDATE_FIELD_VIOLATION');
END IF;
FND_MESSAGE.SET_TOKEN('ATTRIBUTE',p_attribute_name);
ELSE
IF nvl(p_group_number,-1) = -1 THEN
FND_MESSAGE.SET_NAME('ONT','OE_PC_UPDATE_NO_CONDN');
ELSE
FND_MESSAGE.SET_NAME('ONT','OE_PC_UPDATE_VIOLATION');
END IF;
FND_MESSAGE.SET_TOKEN('OBJECT',p_object_name);
END IF;
ELSIF p_operation = OE_PC_GLOBALS.CREATE_OP THEN
IF nvl(p_group_number,-1) = -1 THEN
FND_MESSAGE.SET_NAME('ONT','OE_PC_CREATE_NO_CONDN');
ELSE
FND_MESSAGE.SET_NAME('ONT','OE_PC_CREATE_VIOLATION');
END IF;
FND_MESSAGE.SET_TOKEN('OBJECT',p_object_name);
ELSIF p_operation = OE_PC_GLOBALS.DELETE_OP THEN
IF nvl(p_group_number,-1) = -1 THEN
FND_MESSAGE.SET_NAME('ONT','OE_PC_DELETE_NO_CONDN');
ELSE
FND_MESSAGE.SET_NAME('ONT','OE_PC_DELETE_VIOLATION');
END IF;
FND_MESSAGE.SET_TOKEN('OBJECT',p_object_name);
ELSIF p_operation = OE_PC_GLOBALS.CANCEL_OP THEN
IF nvl(p_group_number,-1) = -1 THEN
FND_MESSAGE.SET_NAME('ONT','OE_PC_CANCEL_NO_CONDN');
ELSE
FND_MESSAGE.SET_NAME('ONT','OE_PC_CANCEL_VIOLATION');
END IF;
FND_MESSAGE.SET_TOKEN('OBJECT',p_object_name);
ELSIF p_operation = OE_PC_GLOBALS.SPLIT_OP THEN
IF nvl(p_group_number,-1) = -1 THEN
FND_MESSAGE.SET_NAME('ONT','OE_PC_SPLIT_NO_CONDN');
ELSE
FND_MESSAGE.SET_NAME('ONT','OE_PC_SPLIT_VIOLATION');
END IF;
FND_MESSAGE.SET_TOKEN('OBJECT',p_object_name);
END IF;
END Set_Message;
看看这张图片(我还不能上传图片):
你能解释一下这个函数是怎么调用的吗?在什么阶段?我的意思是,请记住订单已设置,然后他们暂停了帐号。
此外,我无法找到消息的另一部分:“标题 orderReason Please, contact the Credit Deparment'”。为什么?它存储在哪里?我认为这是一个串联的消息
解决方案
这不是一个编程问题,因为它与 Oracle E-Business Suite 的功能有关。我希望我不会通过回答违反某些 SO 规则。
您的错误来自“处理约束”。您可以在 Order Management Super User 责任下找到这些定义,菜单Setup->Rules->Security->Processing Constraints。作为约束定义的一部分,您也将在那里看到该消息。
该屏幕中定义的约束由 Oracle EBS 编译成名为“OE_%PC%”的 PL/SQL 包。它们是从 Order Management Process Order API 调用的——基本上每当在应用程序中创建、更新、删除或取消销售订单或 RMA 时。
推荐阅读
- c# - 使用 C# 中的代码渲染图像按钮
- saml-2.0 - xmlsec1 saml 签名:找不到名称为“Signature”的默认节点
- swift - 表视图滚动导致意外结果
- symfony - 如何在引用多对一关系symfony 3的sel中获取类别和子类别
- typescript - 将字符串查询转换为可执行语句
- c# - 列表视图框中未显示最小编号
- android - 如何使用android中的get方法在url中设置json数组?
- kubernetes - kubernetes有没有可以同时创建多种资源的api
- python - 为简单的基于文本的 Python 程序定义函数的递归
- ios - Firestore 查询包含给定关键字 swift 的字符串