当前位置: 首页 > news >正文

po审批问题

今天遇到一个PO审批的问题

现象为:po订单为34万,按照审批流程到副总就可以结束,但是流程到了总经理审批。

原因是:采购修改了gcc的科目,但是没有及时修改审批组的科目,导致po的dist中的科目与approval group的什么规则 approval rules不一致。

小知识:

po的审批主要以两个维度审核,金额和科目,金额是订单的总金额,科目为po分配行(dist中的科目)

由谁来审批,是根据po的采购员决定,首先由采购员审批,如果采购员由权限则审批结束,否则由他所属组织的上一级继续审批,同理上一级没有权限则再上一级审批,直到有权限或者最后一位审批者才会结束。

审批组织架构维护为

po用户->Setup->Personnel->Position Hierarchy

界面中有多个审批组织,其中name为“职位”

岗位

po用户->Setup->Approvals->Approval Assignments

使用Position Hierarchy中的name可以查找该职位对应的岗位

审批组

po用户->Setup->Approvals->Approval Groups

使用Approval Assignments的Job可以在该界面找到对应的审批权限(金额和科目)

审批组说明

审批组有两种类型 DOCUMENT_TOTAL / ACCOUNT_RANGE

1、DOCUMENT_TOTAL:整单总金额规则(头级、全 PO 金额)

  • 管控对象:整张 PO 含税总金额(PO 头合计)
  • rule_type=I(INCLUDE):该审批人最多可审批 amount_limit 以内整单例:DOCUMENT_TOTAL I、限额 50000 →≤5 万副总终审;>5 万自动往上流总经理
  • 只要审批组配了这条,就代表按整单金额做权限上限

只配 DOCUMENT_TOTAL、没有任何 ACCOUNT_RANGE=I → 隐性 = 所有科目都不在审批范围,哪怕金额在限额内,单据依旧向上走总经理(就是你之前遇到的场景)

2、ACCOUNT_RANGE:科目区间规则(行分配科目级)GL 科目弹性域

管控对象:PO分配行对应的费用科目(CODE_COMBINATIONS 科目组合),分两种:

  1. ACCOUNT_RANGE + I (包含)这个科目区间的费用,才受上面 DOCUMENT_TOTAL 金额管控例:I 科目从 6601~6609、限额 5 万→ PO 全部科目落在 6601-6609、金额≤5 万:副总直接终审
  2. ACCOUNT_RANGE + E (排除)黑名单科目,无论金额多少,一律不能被本审批人终审,强制上浮例:E 6701 科目 → PO 只要有一行科目是 6701,哪怕金额 100 元,副总批完继续流转总经理

配套另外 2 个常用 object_code(顺带)

  • ITEM_CATEGORY_RANGE:物料类别管控
  • ITEM_RANGE:单个物料编码管控

一句话总结你的业务疑问

  1. 审批组:只有 DOCUMENT_TOTAL、无 ACCOUNT_RANGE I全科目不在审批权限 → 金额≤副总限额也不能终审,继续到总经理
  2. 审批组:DOCUMENT_TOTAL + ACCOUNT_RANGE I(全科目全覆盖)PO 科目全在包含区间、金额≤限额 →副总直接终审停流
  3. DOCUMENT_TOTAL + I 全科目 + E 个别科目命中 E 黑名单科目 → 无论金额大小,必须继续上总经理

常用代码

查询po的金额和科目

SELECT poh.segment1 po_no, poh.currency_code curr_code, NVL(poh.rate, 1) ex_rate, pol.quantity * pol.unit_price, gcc.concatenated_segments 完整会计科目, --拼接全科目 gcc.segment1 段1, gcc.segment2 段2, gcc.segment3 科目段, --通常自然科目在本段(审批ACCOUNT_RANGE管控段) gcc.segment4 段4 FROM po_headers_all poh INNER JOIN po_lines_all pol ON poh.po_header_id = pol.po_header_id INNER JOIN po_distributions_all pda ON pol.po_line_id = pda.po_line_id JOIN gl_code_combinations_kfv gcc ON pda.code_combination_id = gcc.code_combination_id WHERE poh.segment1 = '&po编号';

查询po使用的审批流

SELECT hou.name 经营单位, pha.segment1 PO单号, pp.full_name 采购员, ppos.name 采购员职位, pj.name 岗位, pcg.control_group_name 审批组名称, decode(pcr.object_code, 'DOCUMENT_TOTAL', '整单金额规则', 'ACCOUNT_RANGE', 'GL科目区间规则', 'ITEM_CATEGORY_RANGE', '物料类别', '其他') 规则类型, --decode(pcr.RULE_TYPE_CODE,'I','INCLUDE包含(可审批)','E','EXCLUDE排除(黑名单)') 规则属性, pcr.control_rule_id, pcr.object_code, pcr.RULE_TYPE_CODE, pcr.amount_limit 审批限额, pcr.segment1_low, pcr.segment2_low, pcr.segment3_low, pcr.segment1_high, pcr.segment2_high, pcr.segment3_high FROM po_headers_all pha JOIN hr_operating_units hou ON pha.org_id = hou.organization_id JOIN per_all_people_f pp ON pha.agent_id = pp.person_id AND SYSDATE BETWEEN pp.effective_start_date AND pp.effective_end_date JOIN per_assignments_f pas ON pp.person_id = pas.person_id AND pha.creation_date BETWEEN pas.effective_start_date AND pas.effective_end_date JOIN per_positions_v ppos ON pas.position_id = ppos.position_id JOIN per_jobs_vl pj ON ppos.job_id = pj.job_id JOIN po_position_controls_all ppca ON ppca.position_id = ppos.position_id AND ppca.org_id = pha.org_id JOIN po_control_functions pocf ON ppca.control_function_id = pocf.control_function_id JOIN po_control_groups_all pcg ON ppca.control_group_id = pcg.control_group_id LEFT JOIN po_control_rules pcr ON pcg.control_group_id = pcr.control_group_id WHERE pha.segment1 = '&po编号' --替换成你的PO号 AND SYSDATE BETWEEN ppca.start_date AND NVL(ppca.end_date, SYSDATE + 1) AND pcg.enabled_flag = 'Y';

po已经完成的审批流程

SELECT pahv.sequence_num, poh.segment1 PO单号, pahv.employee_name 审批人姓名, pap.full_name HR员工全称, ppos.name 职位名称, pj.name 岗位, pahv.action_code 审批动作, pahv.action_date 审批日期 FROM po_action_history_v pahv JOIN po_headers_all poh ON pahv.object_id=poh.po_header_id AND pahv.object_type_code='PO' JOIN per_all_people_f pap ON pahv.employee_id=pap.person_id LEFT JOIN per_assignments_f pas ON pap.person_id=pas.person_id LEFT JOIN per_positions_v ppos ON pas.position_id=ppos.position_id LEFT JOIN per_jobs_vl pj ON ppos.job_id=pj.job_id WHERE SYSDATE BETWEEN pap.effective_start_date AND pap.effective_end_date AND SYSDATE BETWEEN pas.effective_start_date AND pas.effective_end_date AND poh.segment1='&po编号' ORDER BY pahv.sequence_num;

审批组规则

SELECT hou.name 经营单位, pj.name 岗位名称, pcg.control_group_name 审批组, pcr.amount_limit 本位币审批限额, --限额字段在这里 pcr.object_code, pcr.RULE_TYPE_CODE, pcr.segment1_low, pcr.segment2_low, pcr.segment3_low, pcr.segment1_high, pcr.segment2_high, pcr.segment3_high, pcr.* --科目起止段 FROM po_position_controls_all ppca JOIN po_control_groups_all pcg ON ppca.control_group_id = pcg.control_group_id JOIN po_control_rules pcr ON pcg.control_group_id = pcr.control_group_id JOIN per_jobs_vl pj ON ppca.job_id = pj.job_id JOIN hr_operating_units hou ON ppca.org_id = hou.organization_id WHERE 1=1 AND pcr.object_code = 'DOCUMENT_TOTAL' --单据总金额控制 AND SYSDATE BETWEEN ppca.start_date AND NVL(ppca.end_date, SYSDATE + 1) AND pcg.enabled_flag = 'Y' --AND pj.name LIKE '%副總%'; AND pj.name IN ('123','456');
http://www.gsyq.cn/news/1461125.html

相关文章:

  • 2026 上海零基础电工培训怎么选?从资质维度拆解择校避雷方法 - 新闻观察者
  • 奇迹 MU 荣耀出征手游官网下载:荣耀出征最新官方下载渠道
  • 新手福音:在快马平台借助Codex重连机制,无忧开启你的第一行代码
  • WindowResizer:如何突破Windows窗口限制,打造个性化桌面布局?
  • 2026惠州黄金回收避坑指南!拆解五大套路,认准中检认证的惠奢汇(惠城旗舰店) - 生活测评小能手
  • 2026 沈阳名包回收 TOP5 实测盘点|闲置奢品变现指南 - 奢侈品回收评测
  • 盘锦市2026年黄金回收白银回收铂金回收权威门店 TOP5+正规可靠机构电话与地址汇总 - 中安检金银铂钻回收
  • 告别臃肿:5分钟上手G-Helper,让你的华硕笔记本重获新生
  • Java 资深工程师面试全维度解码
  • 终极指南:如何用开源工具轻松解密RPG Maker MV/MZ加密资源
  • OpenCV入门实战:人脸检测、背景移除、边缘检测与图像模糊
  • AHP层次分析法在水利中的实践技术应用
  • 2026年宁波市口碑首选!黄金回收铂金回收白银回收权威门店 TOP5 附咨询电话 - 信誉隆金银铂奢回收
  • 效率飞跃:借助快马AI用点运算符优化你的对象访问代码
  • Axure中文界面改造指南:5分钟让英文设计工具说中文
  • 别再为LabVIEW机器视觉安装发愁了!手把手教你搞定VDM和VAS(附离线安装包获取)
  • 2026年衡阳市黄金回收白银回收铂金回收门店 TOP5榜单无套路:实体店铺地址电话一览 - 诚金汇钻回收公司
  • Java动态代理详解:小白也能彻底搞懂动态代理!
  • Typora格式规范检测终极指南:让Markdown写作更专业更高效
  • Arduino音乐播放器实战:从PWM原理到嵌入式系统设计
  • 2026年新疆高新技术企业申报时间流程及南北疆差异化补贴细则
  • 漯河市2026年黄金回收白银回收铂金回收放心选真心推荐 靠谱门店排行 + 联系电话整理 - 中业金奢再生回收中心
  • 如何用OpenMir2快速搭建热血传奇游戏服务器:C完整实战指南
  • VR-Reversal:免费解锁VR视频的终极观看指南,让3D内容在普通设备自由播放!
  • Grok4 API低成本接入实战:绕过付费墙的合规工程路径
  • 3PEAK思瑞浦 LMV358B-TSR TSSOP8 运算放大器
  • 软件开发模型——迭代模型
  • # 2026年烟台搬家公司实力排行榜,基于搬家行业的五大权威推荐榜单 - 十大品牌榜
  • 成本节省超30%!GPON OLT助力襄阳智慧物流园改造 - 资讯速览
  • 基于ESP32的独立CP/M模拟器:复古计算与现代硬件的完美融合