壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1619|回复: 4

workflow message 新增attribute问题

[复制链接]
发表于 2010/9/15 11:33:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
OM报价单WF通知,显示报价单料号明细信息,目前attribute 已通过WorkflowBuilder添加,料号的信息也可通过函数获取,但不知道怎样关联Workflow才能,将函数执行结果赋值给attribute,需要调用workflow的标准API吗?跪求workflow大人指导,此问题已残害我很久了……
 楼主| 发表于 2010/9/15 11:34:27 | 显示全部楼层
对不起 ,太着急了,惭愧,字都写错了,是达人……
 楼主| 发表于 2010/9/15 16:58:43 | 显示全部楼层
瞎猫碰上死耗子式的实现了user的需求,也许存在很多不足,但是还是贴出来仅供参考,希望真正的开发高手批评指正,谢谢~~
修改了OE_approvals_wf package body 下的 Initiate_Approval package
1)添加变量l_sold_item varchar(200);如下判断条件处
2) 添加语句对变量 l_sold_item进行赋值
--注:最后附上get_item函数定义


select GET_ITEM(to_number(itemkey))
        into l_sold_item
        from dual

       IF itemtype = OE_GLOBALS.G_WFI_NGO THEN
         IF l_sales_document_type_code = 'O' THEN
           select sold_to_org_id, expiration_date, salesrep_id
           into l_sold_to_org_id, l_expiration_date, l_salesrep_id
           from oe_order_headers_all
           where header_id = to_number(itemkey);
         
       --調用函數GET_ITEM for l_sold_item---modified at 2010/09/14 for show item information
        select GET_ITEM(to_number(itemkey))
        into l_sold_item
        from dual

3)如下数组赋值处添加--'SOLD_ITEM'为在workflow中定义属性之internal name
l_aname(4):='SOLD_ITEM';
l_avaluetext(4):=l_sold_item;

         l_aname(1) := 'SALESPERSON';
         l_avaluetext(1) := l_salesrep;
         l_aname(2) := 'SOLD_TO';
         l_avaluetext(2) := l_sold_to;
         l_aname(3) := 'EXPIRATION_DATE';
         l_avaluetext(3) := l_expiration_date;
         l_aname(4):='SOLD_ITEM';
          l_avaluetext(4):=l_sold_item;
  wf_engine.SetItemAttrTextArray( itemtype
                                       , itemkey
                                       , l_aname
                                       , l_avaluetext
                                       );
 楼主| 发表于 2010/9/15 17:00:23 | 显示全部楼层
get_item function 定义如下,仅供参考
create or replace function Get_Item(p_header_id in number)
return varchar2 is

  l_sold_item varchar2(200);
  l_sold_item_temp varchar2(20);
  p_count  number(20);
begin
  select count(1)
into p_count      
from  oe_order_lines_all oola
where header_id =p_header_id;

----------
IF p_count=0 then
l_sold_item:='NULL';
ELSIF p_count=1 then
   select ordered_item
   into l_sold_item
   from oe_order_lines_all oola
   where header_id=p_header_id;
ELSE
  LOOP     
    select ordered_item
    into l_sold_item_temp
   from(select ordered_item,
          row_number()over(partition by oola.header_id order by oola.line_id) rn
    from oe_order_lines_all oola
   where header_id=p_header_id)a
   where a.rn=p_count;  
   p_count:=p_count-1;  
   l_sold_item:=l_sold_item_temp||';'||l_sold_item;
   EXIT WHEN p_count=0;

END LOOP;

END IF;
return (l_sold_item);
end Get_Item;
发表于 2011/3/9 20:31:39 | 显示全部楼层
good..学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 14:19 , Processed in 0.014826 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表