ERP俱乐部
ERP爱好者、ERP从业者互相交流、互相学习的乐园;我们的愿景是成为全球一流的中文ERP(Enterprise Resource Planning)交流平台
网站首页 论坛首页 搜索 用户列表 FAQ 注册 登录  
ERP俱乐部 -> Oracle Applications专栏 -> Oracle E-Business Suite -> Oracle EBS: 获取PO审批人名字
  Oracle EBS: 获取PO审批人名字
帖子发起人: 半神   发起时间: 2011-09-14 01:53 下午   回复数: 0
? 上一主题 下一主题 ?
楼主
  2011-09-14, 01:53 下午
半神 离线,最后访问时间: 2013/6/5 18:59:05 半神

发帖数前25位

超级管理员
职务: 超级管理员
80级
等级: 80级
注册: 2008年1月6日
区域: 华南
经验: 1,267
积分: 1,131
精华: 2
发贴: 590
排名: 26
Site AdministratorsGlobal ModeratorsSite ModeratorsSite Registered Users培训学员(MM学员服务区-北京200708班) 培训学员(FI学员服务区-深圳200805班) 每日发帖之星
Oracle EBS: 获取PO审批人名字
 

PO审批的动作从数据库中去看有:    

OPEN    NO ACTION    REJECT    FORWARD      APPROVE
SUBMIT    CLOSE  RETURN  CANCEL  IMPORT  FINALLY CLOSE


通过查看po_action_history表就会发现很有意思的事情了

http://www.dezai.cn/blog/article.asp?id=343

假设基本的PO审批架构为

跟单员->采购员1审核->采购员2审核->采购总监审核

Sequence_Num   Action_Code  两列的数据就可以很清晰查看到整个审批流程了

而表中的object_id实际上跟po_header_all的po_header_id 及po_release_all 中的po_release_id也是有关联的.

有了以上这几个字段就可以串出来了,action_code实际上也可以做个变量,这样控制也就更灵活了。


这个应用在打印PO合同里面自动带出采购员中可以应用,省去手工签字的麻烦。


function GetChecker(p_object_id in number) return varchar2 as
  
    v_user_name Varchar2(50);
  
  begin
  
    Select PO_EMPLOYEES_SV.GET_EMP_NAME(POAH.EMPLOYEE_ID)
      into v_user_name
      FROM PO_ACTION_HISTORY POAH,
           PO_LOOKUP_CODES   POLC1,
           PO_LOOKUP_CODES   POLC2
     Where POLC1.LOOKUP_CODE(+) = POAH.ACTION_CODE
       AND POLC1.LOOKUP_TYPE(+) = 'APPROVER ACTIONS'
       AND POLC2.LOOKUP_CODE(+) = POAH.ACTION_CODE
       AND POLC2.LOOKUP_TYPE(+) = 'CONTROL ACTIONS'
       AND POAH.Sequence_Num = 2
       AND POAH.Action_Code = 'FORWARD'
       and poah.Object_Id = p_object_id
       and rownum = 1;
  
    return v_user_name;
  
  end;



我原来是用这个的,但后来发现有问题


function GetChecker(p_object_id in number) return varchar2 as
  
    v_user_name Varchar2(50);
  
  begin
  
    \* select fu.Description
     into v_user_name
     from Fnd_User fu
    where fu.Employee_Id = p_agent_id;*\
    select pahv.employee_name
      into v_user_name
      from PO_ACTION_HISTORY_V pahv
     where pahv.object_id = p_object_id
       and pahv.action_code = 'FORWARD'
       and pahv.sequence_num = 2
       and pahv.object_type_code = 'PO'
       and rownum = 1; --转发
    return v_user_name;
  
  end;

开源时代的到来,对与技术人员是一个巨大的考验



QQ:876162454


分享按钮 IP 地址: 已登录   来自: 已登录    返回顶部
 第 1 页 总共 1 页 [共有 1 条记录]
ERP俱乐部 -> Oracle Applications专栏 -> Oracle E-Business Suite -> Oracle EBS: 获取PO审批人名字
(C)Copyright 2005-2020 www.erpclub.org All Rights Reserved.
Tel:+86-755-26444630
Email:webmaster@yok.com.cn