本站文章均为原创,欢迎转载,转载请注明出处.谢谢!
Oracle EBS:PO行接收关闭后修改其它行自动打开
作者:admin 日期:2010-08-26
Oracle EBS:PO行接收关闭后,因更改交期或其它元素,修改重新送审后,接收关闭状态会自动打开.这对于更改采购计划的时候会造成比较大的困扰。
可以通过作取消动作来代替接收关闭,但对取消后的需求要比较清确的明确供需情况。
搞来搞去,原来是个bug。在11.5.0出现的bug,在12照样出现了。。
记录一下,方便碰到此问题的同仁可以参考。
ArticleID:469330.1
https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&doctype=PROBLEM&id=469330.1
Applies to:
Oracle Purchasing - Version: 11.5.10
This problem can occur on any platform.
Symptoms
Any line on a Purchase order that has been "Closed for Receiving" will be reopened if the PO is later re-approved. This differs from the results if the line is just Closed, where the lines will remain closed through all subsequent re-approvals.
The issue is seen regardless if the changes that caused the the re-approval touched the line or did not.
All Closed for Receiving lines are reopened upon submission for Approval again.
Cause
In pocup.lpc a condition is missing on the po_line_locations, to make sure that the commit only updates those records that are not already approved.
Solution- Apply Patch 5089729
- Updated key file: pocup.lpc - 115.10.11510.6
Version Check
strings -a $PO_TOP/bin/POXCON | grep '$Header' | grep pocup.lpc- Stop the PO Document Approval Manager
- Relink all PO executable:
1. Go to $AD_TOP/bin and relink the PO executable.
2. adrelink.sh force=y "PO ALL"
- Start the PO Document Approval Manager
- Retest issue
This patch is applicable only on top of oracle Applications Release 11.5.10 and/or Procurement Family Pack J.
References
BUG:5089729 - CLOSED PURCHASE orDER LINES ARE RE OPENED
BUG:6146142 - MANUALLY CLOSED FOR RECEIVING LINES OPENS UPON PO REAPPROVAL.

一点积累,与大家分享。欢迎指正.
可以通过作取消动作来代替接收关闭,但对取消后的需求要比较清确的明确供需情况。
搞来搞去,原来是个bug。在11.5.0出现的bug,在12照样出现了。。
记录一下,方便碰到此问题的同仁可以参考。
ArticleID:469330.1
https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&doctype=PROBLEM&id=469330.1
Applies to:
Oracle Purchasing - Version: 11.5.10
This problem can occur on any platform.
Symptoms
Any line on a Purchase order that has been "Closed for Receiving" will be reopened if the PO is later re-approved. This differs from the results if the line is just Closed, where the lines will remain closed through all subsequent re-approvals.
The issue is seen regardless if the changes that caused the the re-approval touched the line or did not.
All Closed for Receiving lines are reopened upon submission for Approval again.
Cause
In pocup.lpc a condition is missing on the po_line_locations, to make sure that the commit only updates those records that are not already approved.
Solution- Apply Patch 5089729
- Updated key file: pocup.lpc - 115.10.11510.6
Version Check
strings -a $PO_TOP/bin/POXCON | grep '$Header' | grep pocup.lpc- Stop the PO Document Approval Manager
- Relink all PO executable:
1. Go to $AD_TOP/bin and relink the PO executable.
2. adrelink.sh force=y "PO ALL"
- Start the PO Document Approval Manager
- Retest issue
This patch is applicable only on top of oracle Applications Release 11.5.10 and/or Procurement Family Pack J.
References
BUG:5089729 - CLOSED PURCHASE orDER LINES ARE RE OPENED
BUG:6146142 - MANUALLY CLOSED FOR RECEIVING LINES OPENS UPON PO REAPPROVAL.
一点积累,与大家分享。欢迎指正.
Oracle EBS:SQL 失效一揽子PO协议
作者:admin 日期:2010-07-23
1.查询一揽子PO:
这里要注意的是:不同的付款条件,币种,税率,都会可能产生一张新的一揽子PO协议
select pla.PO_LINE_ID,
pla.PO_HEADER_ID,
pla.ITEM_ID,
msib.SEGMENT1 ITEM_CODE,
pla.UNIT_PRICE,
pla.ITEM_DESCRIPTION,
pla.START_DATE,
pla.EXPIRATION_DATE,
pla.CANCEL_FLAG,
pla.CLOSED_CODE,
pha.PO_HEADER_ID,
这里要注意的是:不同的付款条件,币种,税率,都会可能产生一张新的一揽子PO协议
复制内容到剪贴板
程序代码
程序代码select pla.PO_LINE_ID,
pla.PO_HEADER_ID,
pla.ITEM_ID,
msib.SEGMENT1 ITEM_CODE,
pla.UNIT_PRICE,
pla.ITEM_DESCRIPTION,
pla.START_DATE,
pla.EXPIRATION_DATE,
pla.CANCEL_FLAG,
pla.CLOSED_CODE,
pha.PO_HEADER_ID,
Oracle EBS :PO培训文档
作者:admin 日期:2010-07-19
Oracle EBS:ASCP工作台上的发放备注字段
作者:admin 日期:2010-07-14
这个字段所在处找得可真费劲,不过使用它可以给物控带来极大的帮助

我是通过查看历史记录获取线索的
关键就是在这里的视图里面了

在MSC_ORDERS_V 里面有好多东西,可以直接拿来用。
我这里要获取的东西就是通过
Msc_GET_name.get_order_Comments(sup.plan_id,
'SUPPLY',
sup.TRANSACTION_ID) COMMENTS
我是通过查看历史记录获取线索的
关键就是在这里的视图里面了
在MSC_ORDERS_V 里面有好多东西,可以直接拿来用。
我这里要获取的东西就是通过
Msc_GET_name.get_order_Comments(sup.plan_id,
'SUPPLY',
sup.TRANSACTION_ID) COMMENTS
Oracle EBS: 获取PO审批人名字
作者:admin 日期:2010-06-07
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;
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;
[译]Oracle EBS:追踪PO全过程
作者:admin 日期:2010-05-30
来源:http://www.oracleappshub.com/oracle-purchasing/po-tips-and-useful-query/
1。创建PO
PO_HEADERS_ALL
select po_header_id from po_headers_all where segment1 =<po_number>;
select * from po_headers_all where po_header_id =<po_header_id>;
po_lines_all
select * from po_lines_all where po_header_id =<po_header_id>;
po_line_locations_all
1。创建PO
PO_HEADERS_ALL
select po_header_id from po_headers_all where segment1 =<po_number>;
select * from po_headers_all where po_header_id =<po_header_id>;
po_lines_all
select * from po_lines_all where po_header_id =<po_header_id>;
po_line_locations_all
Oracle EBS:PO入库(收货)价格不随Blanket更改
作者:admin 日期:2010-05-10
这个可真是差点出了大麻烦啊,呵呵。
事故描述:
1月下交期,2月调价,1月所下的PO没有交完货的情况下,在原PO上作更改PO交期。结果没想到的是:系统在入库时点会PO的价格重新获取差刷新一次,导致系统上的PO单位价与传真给供应商的PO上的单价有差异,财务对帐的异也有些产生。
解决方案:
问题 : POXPOEPO: Able to Update Unit Price After PO Has Been Received and Invoiced
https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&doctype=PROBLEM&id=397599.1
原因:Profile "PO: Allow Retroactive Pricing of POs" was not set to 'Never'.
设定:


Bug 5560982: ABLE TO CHANGE UNIT PRICE AFTER RECEVING PO
--------------------------------------------------------------------------------
Bug 属性
--------------------------------------------------------------------------------
类型 B - Defect 已在产品版本中修复 -
严重性 2 - Severe Loss of Service 产品版本 11.5.10.2
状态 92 - Closed, Not a Bug 平台 212 - IBM AIX on POWER Systems (64-bit)
创建时间 22-Sep-2006 平台版本 5L
更新时间 31-Oct-2006 基本 Bug -
数据库版本 9.2.0.7.0
影响平台 Generic
产品来源 oracle
相反:要修改价格的话
此方案转自:来源:http://dgstonehuang.blog.163.com/blog/static/4693088820091024103334393/
设置如下:
1.在收货参数里设置“Retroactive Price Adjustment Account”,赋予调整PO价格的会计分录;
2.修改PO里Profile参数:PO: Allow Retroactive Pricing of POS,有3个选项,Never-->不允许修改、OPEN RELEASES-->还没收货(部分收+全收)仅核准状态、ALL RELEASES-->表示收货后可以修改价格。
要值得注意的是:
1。这个成PAC成本有所影响,在标准成本制下可以使用。
2.要注意产生的会计科目 Retroactive Price Adjustment Account
事故描述:
1月下交期,2月调价,1月所下的PO没有交完货的情况下,在原PO上作更改PO交期。结果没想到的是:系统在入库时点会PO的价格重新获取差刷新一次,导致系统上的PO单位价与传真给供应商的PO上的单价有差异,财务对帐的异也有些产生。
解决方案:
问题 : POXPOEPO: Able to Update Unit Price After PO Has Been Received and Invoiced
https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&doctype=PROBLEM&id=397599.1
原因:Profile "PO: Allow Retroactive Pricing of POs" was not set to 'Never'.
设定:
Bug 5560982: ABLE TO CHANGE UNIT PRICE AFTER RECEVING PO
--------------------------------------------------------------------------------
Bug 属性
--------------------------------------------------------------------------------
类型 B - Defect 已在产品版本中修复 -
严重性 2 - Severe Loss of Service 产品版本 11.5.10.2
状态 92 - Closed, Not a Bug 平台 212 - IBM AIX on POWER Systems (64-bit)
创建时间 22-Sep-2006 平台版本 5L
更新时间 31-Oct-2006 基本 Bug -
数据库版本 9.2.0.7.0
影响平台 Generic
产品来源 oracle
相反:要修改价格的话
此方案转自:来源:http://dgstonehuang.blog.163.com/blog/static/4693088820091024103334393/
设置如下:
1.在收货参数里设置“Retroactive Price Adjustment Account”,赋予调整PO价格的会计分录;
2.修改PO里Profile参数:PO: Allow Retroactive Pricing of POS,有3个选项,Never-->不允许修改、OPEN RELEASES-->还没收货(部分收+全收)仅核准状态、ALL RELEASES-->表示收货后可以修改价格。
要值得注意的是:
1。这个成PAC成本有所影响,在标准成本制下可以使用。
2.要注意产生的会计科目 Retroactive Price Adjustment Account
Oracle EBS:PO 供应商日历的设置与启用
作者:admin 日期:2010-04-13
Oracle EBS:PO 供应商日历的设置与启用,这个是基于公司的业务发展而发掘出来的一个功能。觉得还是很实用的,就是维护有点麻烦。
Step1:首先在INV模组里面设置好一个供应商日历


Step2:新增一个日历后,切换至PO模组.找到批准的供应商列表(ASL)

Step1:首先在INV模组里面设置好一个供应商日历
Step2:新增一个日历后,切换至PO模组.找到批准的供应商列表(ASL)
Oracle EBS:ASCP 截获工作台发放的PR
作者:admin 日期:2010-03-20
工作台发放的计划单可以自动转成请购单,实际上系统的功作就是将发放的计划单通过系统自动启动PO模块中的"导入申请"这个请求,将计划单插入至po_requisitions_interface_all这个接口表中,转成已批准的PR。
因为之前作过lotus与ERP的接口集成(由OA下需求抛至ERP转成PR),所以思路也由大至了解了。
为什么要截取ASCP的PR呢?
如果配合PO的来源补充规则来使用ASCP的话,因为系统所采用的预测逻辑可能与我们想要的不一样。ASCP+SourcingRule+ASL跑出来PR单,是基于PO模块中的SourcingRule在很长一段时间区段内是稳定的.ASCP运算的时候是考虑整个物料的前后需求.而实际在制造业务的过程中,来源补充规则(供货比例)一般是按季度按月度来看的,不可能长时间保持不变,当然也不太可能时时在变.所以跑出来的PR单的采购需求也就会跟我们预想中的不一制.那就要自己动手,尽量把PR搞得跟我们一样的了。
这里特别要注意的时:物料最小包装量的问题.如果在物料主档中设定了最小包装量的话,ASCP在跑需求的时候就会考虑进去,如果你要对其发放的PR单再作手脚的话,这里又会考虑到最小包装量的问题.会造成需求量的倍增.所以,这里要避免考虑计算了二次最小包装量的问题了。
因为之前作过lotus与ERP的接口集成(由OA下需求抛至ERP转成PR),所以思路也由大至了解了。
为什么要截取ASCP的PR呢?
如果配合PO的来源补充规则来使用ASCP的话,因为系统所采用的预测逻辑可能与我们想要的不一样。ASCP+SourcingRule+ASL跑出来PR单,是基于PO模块中的SourcingRule在很长一段时间区段内是稳定的.ASCP运算的时候是考虑整个物料的前后需求.而实际在制造业务的过程中,来源补充规则(供货比例)一般是按季度按月度来看的,不可能长时间保持不变,当然也不太可能时时在变.所以跑出来的PR单的采购需求也就会跟我们预想中的不一制.那就要自己动手,尽量把PR搞得跟我们一样的了。
这里特别要注意的时:物料最小包装量的问题.如果在物料主档中设定了最小包装量的话,ASCP在跑需求的时候就会考虑进去,如果你要对其发放的PR单再作手脚的话,这里又会考虑到最小包装量的问题.会造成需求量的倍增.所以,这里要避免考虑计算了二次最小包装量的问题了。






