云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

云存储_银河护卫队百度云_返利

小七 141 0

正常业务场景:在ERP模型中,超级返利,生产计划员需要在生产周期正常运行所需的时间和时间对可用材料的数量进行标记。SAP提供MRP运行以协助生产计划员确定材料短缺。

短缺我们可以看到工厂库存:10003318.20(此金额仍有5232的在途金额)工厂总库存:9998086.20如果材料是受需求驱动的计划,并且如果材料的总数量需求(销售订单、库存转移需求、生产需求和预测需求)在某个时间点之前超过了物料收货总量(库存、生产订单、采购订单、交货计划行、确认的计划订单和确认的请购单)。

在HANA DB SAP中优化了MRP运行并为我们提供MRP直播。MRP Live使用单个AMDP程序来计算短缺、创建计划订单和申请编号。

参考:SAP注释2268085了解MRP Live相对于传统MRP的更多优势。

使用MRP Live时面临的问题:

有一种情况,我们必须考虑所有在途物料。在途材料的问题是,除非接收者提供确认,否则金额不会从工厂库存中扣除。因此,工厂中不再存在的这一在途金额继续存在于工厂库存中,因此计划返回不正确的数据。

SAP提供的解决方案是AMDP BADi实现

PPH\U MRP\U RUN\U BADi=>MDPS\U ADJUSE是使用AMDP类实现的。我们使用表EBEW(销售订单库存估值)获得在途库存,并计划从工厂库存中扣除相同的库存,这在上述BADi实施方法

的更改参数中可用,但实施更改时的主要障碍是AMDP内部,没有ABAP编码的范围。因此,阅读、循环、工作区是许多不可用的选项中的少数。您需要使用SQL脚本来处理相同的问题。除非你是一个sql脚本开发人员,否则这是一个困难的命题。因此,我们尝试利用原生SQL脚本SELECT语句及其新特性作为SQL脚本循环/读取的解决方案。

1。在MD04 t代码中:

我们可以看到工厂库存:10003318.20(此金额仍有在途金额5232)工厂总库存:9998086.20

我们可以从EBEW表中得到在途金额:

2。我们创建一个自定义表:通过材料工厂组合,我们将在LABST.

3字段中计算工厂库存量(下一步解释的计算中使用的逻辑)。自定义表填充在另一个增强中,该增强在触发ABAP托管Db过程之前被调用。增强在类方法CL\u PPS4\u MRP\u DISPATCHER->MAIN中。在这里,我们选择工厂库存并扣除从EBEW获取的在途库存,并将相同的信息存储在表中,与材料工厂组合相对应。为了避免表中不必要的数据,云服务器品牌,我们在AMDP完全执行后清除表。为此我们可以采用后隐式增强的主要方法。因此,我们有一个自定义表,其中有在创建计划订单/申请编号等时需要使用的计算值

4。在AMDP BADi类方法中:技巧在于Select语句中,我们在Select语句中使用了用例语法,并将现有的CT\u MDPS内部表与我们在上一步中填充的自定义数据库表连接起来。此选择将用我们在自定义表中计算的值替换WB类型(即工厂库存)对应的内部表记录。如果在自定义表中找不到任何内容,则不会替换内部表中的值。

基本上,一系列if-else、loop和read语句可以使用sql脚本执行相同的操作。但是,使用新的Select似乎是一个更好、更简单的选项。

ct\u mdps=Select a.the\u index,a.matnr,a.werks,a.berid,a.berty,a.plaab,a.planr,a.dat00,a.delkz,a.vrfkz,a.plumi,

case when a.delkz='WB'and b.labst0,则b.labst else a.mng01结束为mng01,

a.mng02,a.dat03,a.webaz,a.fix01 a.fix02,a.baart,a.beskz,a.sobes,a.wrk01,a.wrk02,a.lgort,a.delnr,a.delps,a.delet,a.vpzuo,a.zuvkz,优惠券返利,a.vervp,a.rsnum,a.sernr,a.paltr,a.techs,a.verid,a.kntp,a.kzvbr,a.sobkz,a.kdauf,a.kdpos,a.pspel,a.cuobj,a.aufnr,中移物联网有限公司,a.verto,a.qunm,a.qupos,a.lifnr,a.ekorg,a.ebeln,a.ebelp,a.glmng,a.arsnr,a.arsps,大数据支持,a.kapfx,a.monkz,a.vrpla,a.pbdnr,a.kzbws,a.mdmng,a.wamng,a.edgno,a.ematn,a.dbskz,a.stlty,a.stlnr,a.stlkn,a.stpoz,a.plifz,a.reslo,a.prio_burg,a.prio_req,a.sgt_scat,a.sgt_rcat,a.mdbs_amng01,a.xt_fix_dyn from:ct_mdps as a左外连接zpp\u ebew\u sum as b on a.matnr=b.matnr AND a.werks=b.werks;

开发人员可能认为可用的其他可能替代方法:

a>直接查找并使用标准表,而不是在自定义表中计算值。我们避免了这种方法,因为在SQL select中使用的所有标准透明表或CDS视图或ABAP视图中,数量字段中返回的数据都不正确。另一方面,ABAP查询工作正常。我们在自定义表中没有发现这个问题,因此我们使用了自定义表。

b>内存ID导入导出需要SQL脚本查询,这是我们首先要避免的。c> 为了避免像我们在这里所做的那样在步骤2中创建自定义表并在步骤3中填充自定义表,请尝试使用HANA代理表,而不是在AMDP BADI中使用ECC表EBEW。您可以从se11t-code中的菜单路径Extras->proxy object获取代理表名称。