资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
批次管理中批次确定常见问题的分析方法处理多年批次管理 (Batch management)的相关问题,对批次管理中批次确定(Batch determination)这一小部分功能略有心得,所以在这里做一下本人的经验总结,一为自己留个文档好保持长期记忆,二为能跟大家分享一下我认为还算实用的信息,希望多少能帮得上大家。批次确定是批次管理中非常重要的一步,如果这一步无法进行或者结果和预期的不一样,那么之前所做的批次管理的设定就无法起作用,创建的批次也无法被使用,因此这一环节进行的顺利与否会影响到整个物流链的运转。批次确定经常被使用的地方:1)库存和仓库的管理,比如库存转移订单(Stock transfer order),用来确定出货工厂的发货批次。2)生产相关的文档,比如生产订单(Production order),流程订单 (Process order) ,用来确定生产过程中需要的组件或者原材料的出货批次。3)销售相关的文档,比如销售订单(Sales order) ,外向交货单 (Outbound delivery),用来确定制成品发货时使用的出货批次。批次确定的主要Function Module:VB_BATCH_DETERMINATION 批次确定的主界面:批次确定主界面批次确定的主要方式:1)后台自动执行。2)前台手动执行。批次确定的主要问题:1)批次没有被确定出来。2)确定出来的批次结果不正确。3)确定出来的批次正确但是使用的数量不正确。批次确定问题的一般分析过程:1)当批次确定出现问题时,如果批次确定的过程可以通过前台手动执行进行重复操作,那么就通过手动执行进入批次确定的主界面。在这里要注意的是,如果批次确定是后台自动执行的,在很多单据上也可以用手动执行进行重复操作,比如外向交货单,在VL02N中,批次确定可能因为后台定制已经被自动执行过了, 但是仍然可以通过点击 批次拆分 (Batch Split)的按钮进入批次拆分的详细界面,然后点击 更改批次确定 (Change Batch determination)按钮进入批次确定的主界面。2)在批次主界面里批次选择框(Batch selection) 中所罗列的就是排好序的被选择出来的批次,如果这里的结果有问题, 那么首先要看日志 (Log) ,在主界面中点击 日志(Log) 按钮,会有一个对话框弹出来:在这个对话框中点击 展开 (Expand) 按钮,注意要点击两次,直到完全展开为止,在展开的详细列表中,你能看见整个批次确定的过程记录,其中会有红色高亮的条目,里面会清楚地写明为什么某个批次会在批次确定的某个环节被过滤掉。从记录中可以看出,一般batch stock 的选择不会出问题,这一步是把所有相关的有库存的批次选择出来,问题经常是发生在selection criteria或者是 availability的选择过程里,有可能你想要的批次被过滤掉,也有可能你不想要的批次被保留下来。3)如果问题发生在selection criteria ,那么就要接着看 选择标准 (Selection criteria),点击这个按钮后,会有另外一个对话框弹出来,里面会有相应的搜索策略定义的选择类里用来搜索所需批次的特征属性和特征值, 你可以把过滤掉的批次在不同的窗口里用MSC3N 打开然后对比一下看你的批次是不是符合你定义的搜索条件。但是如果 选择标准 (Selection criteria)对话框中的选择条件和你认为的应该被使用的选择条件不一样的话,那么就需要对你的搜索策略进行分析,点击 策略分析 (Strategy Analysis)按钮,会进入另一画面:在这个画面中很多策略类型和搜索策略被罗列出来,其中你通过展开可以找到一个有绿灯的策略,这个就是这次批次确定使用的策略,可以很容易的发现为什么这个策略会被使用,通过对比你可以看出被使用的策略一般来说都是唯一符合使用条件的策略。因此,如果搜索策略(Search Strategy) 或者选择类(Selection Class) ,出现了问题,基本通过这里就能找到被使用的搜索条件,从而发现批次是否被选择的原因, 然后通过调整选择类里特征属性的特征值或者调整批次的分类数据使得批次被选择出来。4)如果问题发生在可用性检查(Availability),那么就要点 可用性 (Availability) 进入可用性检查画面,这个是和 CO09 一样的功能和画面, 你可以在这里找到为什么被选出来的批次看上去明明有库存却因为库存不足被过滤掉, 这个经常是因为批次中的部分或者全部数量已经被别的单据凭证占用掉了,如果你还希望这个批次被使用的话就要增加这个批次的库存,或者释放其他单据凭证占用的这个批次的数量。5)如果批次确定中选择出来的批次和数量都对,只是批次的排序或者批次的拆分有问题,这个时候就要查看当前搜索策略的详细内容,可以通过点击 策略信息 (Strategy info)按钮来检查, 在新弹出的对话框中:可以看到批次拆分的相关定义,以及排序规则的定义, 你可以手动的将被选择出来的批次根据这里定义的排序规则进行排序测试,看看结果对不对, 一般来说这类问题都是因为排序规则的定义不合适造成的,你只需要在策略中对它进行一些调整就可以达到你想要的结果。批次确定问题的程序调试分析过程:1)在 SE37 中打开 Fuction Module: VB_BATCH_DETERMINATION,点击 SET/DELETE Breakpoint按钮来设置 session breakpoint 。2)手动启动批次确定或者在事务码里进行问题重现操作来自动启动批次确定。运行界面会自动进入程序调试模式并停在之前所设的VB_BATCH_DETERMINATION断点上。3)程序运行的主要部分解析:Main Program SAPLV01F Source code of LV01FU01 FUNCTION VB_BATCH_DETERMINATION PERFORM get_kondition USING space x_bdcom-knumh. *这个 FORM 是用来根据 FUNCTION的输入值找出用来做批次确定的condition record,也就是搜索策略等相关的控制信息。PERFORM flow_sequence. *这个 FORM 是用来决定批次确定的搜索顺序,它会改变内表xfs 的内容,一般来说内表xfs 的内容如下:Internal table xfs 1 TYPE 1 DB ycl_mchbyac_mchb * Ergebnistabelle sortieren IF sort_done IS INITIAL. PERFORM sort_batch. sort_done = x. ENDIF. *批次的排序在这个FORM 中进行,排序的准则是根据定义在搜索策略中的排序方法来进行* Ergebnistabelle Menge verteilen IF dist_done IS INITIAL. PERFORM distribute_batch. PERFORM lock_atp_batch USING 0. dist_done = x. ENDIF. *被选择出来并排好序的批次在这里被分配数量* Hellsteuerung bei keinem Ergebnis PERFORM check_dialog. *这个 FORM 控制着你能否看见批次确定的主界面,有时候由于批次确定在后台运行,不能看见主界面,而程序中又很难找到被使用的搜索策略信息,那么在进入这个FROM 之后,将变量 no_dialog的值置成空,你就可以进入批次确定的主界面进行进一步的分析4)批次确定的主要FORM 的内部程序比较复杂:FORM select_batch_cl FORM select_batch_db FORM select_batch_ac 但是基本根据各自返回的内表内容,你就能确定问题发生在哪一部分,然后就能在前台操作来找寻问题点,所以可以不用太深入的去检查内部程序,在这里要注意的是FORM select_batch_cl中,除了定义的选择范围,系统还会检查批次的分类状态,如果是锁定或者不完整的状态也会被筛除掉。(批次的分类状态:MSC3N 打开批次,进入分类项,有个铅笔和对号的符号按钮,点击会弹出状态框。)5)批次确定的 FUNCTION MODULE一般会如下被其他程序调用:call function ?VB_BATCH_DETERMINATIONexporting i_komkh = komkh i_komph = komph x_bdcom = bdcom importing x_bdcom = bdcom tables i_bdbatch = ybdbatch e_bdbatch = xbdbatch i_mdva = ymdva e_mdva = xmdva i_atpcsx = yatpcs e_atpcsx = xatpcs exceptions * OTHERS = 0. NO_MATERIAL = 1 NO_PLANT = 2 如果返回的内表xbdbatch 结果是正确的,那说明批次确定的过程是没有问题的,问题出在后续的功能模块中。关于这一部分就想到这么多,以后如果还想起来什么特别的再来补充,希望多少会有一些用处。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号