我正在尝试启动服务器的后台,但是出现错误。 这是我的PL / SQL脚本:
DECLARE
attr_ VARCHAR2(32000);
BEGIN
client_SYS.Clear_Attr(attr_);
Client_SYS.Add_To_Attr('LINE_ITEM_NO_','8', attr_);
Client_SYS.Add_To_Attr('ORDER_NO_','92298', attr_);
Client_SYS.Add_To_Attr('RELEASE_NO_','*', attr_);
Client_SYS.Add_To_Attr('SEQUENCE_NO_','*', attr_);
Transaction_SYS.Deferred_Call('SHOP_MATERIAL_ALLOC_API.Unreserve', 'PARAMETER', attr_,'Description' );
COMMIT;
END;
我从后台作业中收到此错误:
"Argument INFO_ is of type IN/OUT or OUT, which is not supported. ORA-20105: Transaction.WRONG_ARGUMENT"
该过程需要一个info_参数(请参见下面的函数声明),以便添加此行:
Client_SYS.Add_To_Attr('INFO_',NULL, attr_);
但是我得到了错误:
too many decalrations OF 'ADD_TO_ATTR' match this CALL
SHOP_MATERIAL_ALLOC_API.Unreserve(info_ => ,
attr_ => ,
order_no_ => ,
release_no_ => ,
sequence_no_ => ,
line_item_no_ => )
答案 0 :(得分:1)
Transaction_SYS.Deferred_Call仅可使用带有 IN 类型参数的过程执行。不支持带有IN OUT和OUT参数的PLSQL函数或过程。