输入订单后暂停帐户(消息错误 EBS Oracle)

Suspended account after an order was entered(message error EBS Oracle)

我不知道 EBS Oracle 如何验证此信息,我不知道哪个函数或过程抛出此错误消息:

'ONTOE_PC_CREATE_VIOLATIONHeader orderReason Please, contact the Credit Deparment'

这里的问题是,在他们为他下订单(输入订单)后,客户帐户被关闭了。

涉及的包是这个: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;

看看这张图片(我还不能上传图片):

Image

你能解释一下这个函数是如何调用的吗?在什么阶段?我的意思是,记住订单已设置,然后他们暂停了帐号。

此外,我找不到邮件的另一部分:"Header orderReason Please, contact the Credit Deparment'"。为什么?它存储在哪里?我认为这是一条串联的消息

这不是编程问题,因为它与 Oracle E-Business Suite 的功能有关。我希望我的回答不会违反一些 SO 规则。

您的错误来自 "processing constraint"。您可以在订单管理超级用户职责下找到这些定义,菜单 设置->规则->安全->处理约束。作为约束定义的一部分,您也会在那里看到您看到的消息。

该屏幕中定义的约束由 Oracle EBS 编译成 PL/SQL 个名为 'OE_%PC%' 的包。它们从订单管理 处理订单 API 中调用——基本上每当在应用程序中创建、更新、删除或取消销售订单或 RMA 时。