首页  ·  知识 ·  生产制造
关于ASCP不考虑替代物料的解决方案
舒剑辉   http://blog.chinaunix.net/u/10516/showart_1989330.html    编辑:德仔   图片来源:网络
15px id=art 关于ASCP的patch有很多,包括bug,perfoma
关于ASCP的patch有很多,包括bug,perfomance。所以当ASCP遇到功能上的问题的时候,我一般会去找关于ASCP的patch list。oracle support也是一样的处理思路,他会要一个apscheck的结果来分析你目前APS的一些设置和补丁情况。当然还需要跟企业内的业务顾问做好交流,看问题是不是由一些简单的功能设置引起的。好了言归正传,我把问题的处理步骤大概写一下。
 
一.产品的注册
在OAM里发现MSO(Constraint Based Optimization)这个product没有注册。首先在OAM里注册这个product然后重启应用。尝试跑ASCP,没有成功。在跑基于AIX 64位内存计划的时候出错了。错误信息如下:
 
solve lp 0, take time: 0
Solving Onhand Slack Penalty Objective
solve lp 1, take time: 0
Solving Demand Satisfaction Objective
solve lp 2, take time: 0
Solving Safety Stock Objective
solve lp 3, take time: 0
Solving Resource Capacity Violation Penalty Objective
solve lp 4, take time: 0
Solving Transportation Capacity Violation Penalty Objective
solve lp 5, take time: 0
Solving Supplier Capacity Violation Penalty Objective
solve lp 6, take time: 0
Leadtime Compression Variables Penalty Objective
solve lp 7, take time: 0
solve lp 8, take time: 0
solve lp 9, take time: 0
solve lp 10, take time: 0
Solving Excess Supply in LTB Penalty Objective
solve lp 11, take time: 0
Solving Explicit (DL+Profit+IT) Objective
solve lp 12, take time: 0
solve lp 13, take time: 0
Solving Unmet Unfirm WOPO Penalty Objective
solve lp 14, take time: 0
solve lp 15, take time: 0
Solving creating wo/po as early as possible
solve lp 16, take time: 0
Solving Alternate Sourcing Penalty Objective
solve lp 17, take time: 0
Solving Alternate BOM/Routing Penalty Objective
solve lp 18, take time: 0
Solving Substitute Items Penalty Objective
solve lp 19, take time: 0
Solving Alternate Resources Penalty Objective
solve lp 20, take time: 0
Solving Substitution Distance Objective
solve lp 21, take time: 0
Solving Inventory Turns Objective
solve lp 22, take time: 0
gp, time taken = 0.333333
Oracle Home Set to ORACLE_HOME=/u01/appldev/devappl/mso/11.5.0/bin/ora9204
return value 0
/u01/appldev/devappl/mso/11.5.0/bin/MSONWA64.exe
程序 退出时出现状态 1


+---------------------------------------------------------------------------+
未请求任何完成选项。

+---------------------------------------------------------------------------+
APP-FND-01388: 无法读取例程 &ROUTINE 中配置文件选项 CONC_OUTFILE 的值。
已完成并发请求
当前的系统时间为 24-06-2009 15:57:34

 
二.布置补丁
1.apply ASCP rollup patch  8309716 rullup #36   --#36是最新的。当前的是#23
2.仔细阅读readme。这里需要提前apply的patch有:6447137
3.Apply the source side patch # 7567470
4.apply the patch # 6903209 at the source instance
5.Unless 11.5.10.2 is applied, the first Rollup Patch #1 - 4185358
is one of the Pre-reqs for this patch  --4185358不需要打了
 
--完成2-5后就可以开始apply 8309716了。由于patch比较大所以很耗时。我在测试机上跑了6个小时才跑完。
 
patch布置完成后,跑数据收集的时候报错,错误信息如下:
 
+---------------------------------------------------------------------------+
高级供应链计划管理系统: Version : 11.5.0 - Development

Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.

MSCPDP module: 计划数据提取
+---------------------------------------------------------------------------+

当前的系统时间为 26-06-2009 08:50:16

+---------------------------------------------------------------------------+

**Starts**26-06-2009 08:50:16
**Ends**26-06-2009 08:50:24
ORA-06508: PL/SQL:
无法在调用之前找到程序单元
+---------------------------------------------------------------------------+
FND_FILE 中日志消息开始
+---------------------------------------------------------------------------+
已启动刷新快照流程。
Application id: 660
已提交刷新快照流程 (Request_ID=1464055)。
ORA-06508: PL/SQL:
无法在调用之前找到程序单元
+---------------------------------------------------------------------------+
FND_FILE 中日志消息结束
+---------------------------------------------------------------------------+


+---------------------------------------------------------------------------+
正在执行请求完成选项...


未打印输出文件,因为:
已禁用此报表的打印选项。


已完成执行请求完成选项。

+---------------------------------------------------------------------------+
已完成并发请求
当前的系统时间为 26-06-2009
08:50:26

+---------------------------------------------------------------------------+
 
 
6.参照Note 220307.1解决上面这个问题。
6.1. 使用adadmin编译无效对象。
6.2. 增加shared pool的size。
 
7.这时MSONWA64仍然有错。我开启MRP: Debug = Yes at user level 然后让指定用户跑ASCP。在$APPLCSF/log 下获得log。由于日志较大(三百多M),采用以下unix命令获取log的前后10000行。
head –n 10000 (file_name) >>$HOME/(filename)_head_10000_lines.txt
tail –n 10000 (file_name) >>$HOME/(filename)_tail_10000_lines.txt
 
8.在日志中发现这样一个错误。
Successfully write MATRIX file: /u01/appldev/devcomn/admin/out/data2/mbpoutput/MSLD_SCO_MAT.dat
Optimized EDD no cost rollup, noofdmdobj= 1
EnfDmdDueD
Optimized without SCO costrollup
GP maxPriority: 22
USING CPLEX 1001
Timer Length=-1 Firstrunrepeat=1


gp, time taken = 1.01667
Caught CMLCplexException:
1217 : CPLEX Error 1217: No solution exists.

In : CPXgetslack

Exiting.
Oracle Home Set to ORACLE_HOME=/u01/appldev/devappl/mso/11.5.0/bin/ora9204
return value 0
/u01/appldev/devappl/mso/11.5.0/bin/MSONWA64.exe
Program exited with status 1

9.修改 MSO: Number of Threads for Optimization value为1。再次跑ASCP,这次错误又不同了。错误信息如下:
> Creating Durable Model...
RESOURCES HORIZON 473760
SCHEDULE HORIZON: 10000000
SCHEDULE ORIGIN: -10000000
Time taken for resource creation = 0.24 secs
> Scheduling Unconstrained...
### Error: found loop between operations in HLSObjectDemand::recursivelyAddOperation
FROM operation : with sequence number 10 supply id 31337229 item id 15082 routing type 2 isOSFM 0 TO operation : with
sequence number 10 supply id 31337229 item id 15082 routing type 2 isOSFM
0
Loop begins at :
supply id = 31337229 operation sequence number = 10 supply type = 5 item id = 15082 internal operation : id =
1605
/u01/appldev/devappl/mso/11.5.0/bin/MSONWA64.exe
程序 因出现信号 11 而终止

 
10.参考Doc ID:  297259.1 For all such jobs MRP Net checkbox should be unchecked in Material Requirements screen for those lines where component is same as assembly. Following this, Data Collection needs to be run again in one of the following two methods
- Complete Refresh
- Targeted Refresh for Work in Progress
Use the following SQLs to identify such jobs
 
ERP instance
SELECT  mtl.organization_code,
        we.wip_entity_name,
        i.segment1
FROM    wip_entities               we,
        wip_discrete_jobs          wdj,
        wip_requirement_operations wro,
        mtl_system_items           i,
        mtl_parameters             mtl
WHERE   we.wip_entity_id      = wro.wip_entity_id
AND     wdj.wip_entity_id     = wro.wip_entity_id
AND     wro.inventory_item_id = i.inventory_item_id
AND     wro.organization_id   = i.organization_id
AND     wro.organization_id   = mtl.organization_id
AND     nvl(wdj.primary_item_id,wro.inventory_item_id)
                              = wro.inventory_item_id
AND     DECODE(we.entity_type,
               6, 2,
               DECODE(wdj.job_type,
                      1, 3,
                      2))     = 2
AND     wro.mrp_net_flag      = 1
AND     SIGN(wro.required_quantity) = 1
---------------------------------------------
Planning instance (run after Collection)
SELECT  tp.organization_code,
        d.order_number,
        i.item_name
FROM    msc_demands      d,
        msc_system_items i,
        msc_trading_partners tp
WHERE   d.inventory_item_id = i.inventory_item_id
AND     d.organization_id   = i.organization_id
AND     d.sr_instance_id    = i.sr_instance_id
AND     d.plan_id           = i.plan_id
AND     d.organization_id   = tp.sr_tp_id
AND     d.sr_instance_id    = tp.sr_instance_id
AND     tp.partner_type     = 3
AND     d.plan_id           = -1
AND     d.using_assembly_item_id
                            = d.inventory_item_id
AND     d.origination_type  = 2
---------------------------------------------
 
 
--跑了第一个脚本,发现有100多条记录。根据要求需要把MRP净值这个复选框的勾去掉。具体的操作如下:
1. Open the Discrete Job FB00002 (WIP -> Discrete -> Discrete Jobs).
2. Note down the assembly name for this job.
3. Open Material Requirements window (by clicking on "Components").
4. In Material Requirements window there would be a record which has the same
item as assembly also appearing as component. For this record navigate to the
tab named "Supply" and uncheck the checkbox "MRP Net".
5. After those 65 jobs have modified
. YOu may run data colleciton again either Complete Refresh
or tergetted collection of WIP
6. use script 2 to identify if there are stiill any such jobs existed in planning in
stance after data collection
7.if no , you may rerun the ASCP plan
( remember to change MSO: Peg By-product Supplies = No and MSC:Prevent Loops when pegg
ing Non-Standard Jobs = Yes)

 
--后来根据业务部的同事说已经处于关闭状态的是无法把MRP净值选项去掉的。
 
11.将MSO: Peg By-product Supplies 设置为NO。重新跑ASCP,没有再报错。
 
12.业务人员重新确认数据的正确性和完整性,但好像逻辑上有点出入。到这步我的工作就结束了。
 
本文作者:舒剑辉 来源: http://blog.chinaunix.net/u/10516/showart_1989330.html
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读