zoukankan      html  css  js  c++  java
  • Oracle EBS: 获取PO审批人名字

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

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


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

    假设基本的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;
  • 相关阅读:
    PostGIS安装教程
    报错:尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。
    flexpaper跨服务器访问swf不显示问题
    JSAPI 基于arcgis_js_api3.3的部署
    C# datatable排序(转)
    C# 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”
    C# 正则表达式
    AE10.0在Visual Studio 2012下安装没有模板(转)
    AE安装部署以及监测ArcEngine runtime 9.3是否安装
    Flex带CheckBox的Tree(修改ItemRenderer)
  • 原文地址:https://www.cnblogs.com/keim/p/2372879.html
Copyright © 2011-2022 走看看