打通S/4 HANA之dump的任督二脉

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SAPmatinal/article/details/83614650

更多内容关注公众号:SAP Technical

点击进入:打通S/4 HANA之dump的任督二脉

迎秋风,做一场红尘梦;望寒月,化轻烟筑家国。顾盼间乾坤倒转,一霎时沧海桑田,侠肝义胆儒生梦,铁骨柔情武侠情,儿女情长今犹在,江湖侠骨已无多。再见,江湖。

武侠中最常提到的就是练就一身武功之前要打通任督二脉。任督二脉之所以重要是因为:任脉主血,为阴脉之海;督脉主气,为阳脉之海。也就是说,任督两脉分别对十二经脉中的手足六阴经与六阳经脉起着主导作用,任督二脉气机充盈的话,可以灌溉十二经脉。大家可以把任督二脉想象长江和黄河,十二经脉就是连接着长江黄河的十二条支流。长江和黄河里面的水量是否丰沛,直接决定着他们的支流是否通畅。故曰:任督通则百脉皆通。所以要练就一身绝世武功,首先要打通任督二脉。而在项目上,特别是SAP S/4 HANA项目,要想顺利实施完成,关键就要解决一些阻碍项目进行的问题,清楚路线上的障碍,打通任督二脉,完成项目上线。所以我们今天依旧讨论技术。

写在前面

在之前我写了不少关于SAP S/4 HANA出现问题的文章,可助你打通任督二脉,比如你可能会遇到这样的:《S/4 HANA ML error分析》、《S/4 HANA的移动平均价》等是关于SAP S/4 HANA问题分析的,可以直接点击链接查看。还有几篇关于ECC和S4之间变化的分析文章,比如:《进一步了解S/4 HANA系统》、《S/4 HANA系统表对比Ⅰ》、《S/4 HANA系统表对比Ⅱ》等文章是阐述SAP S/4 HANA系统中数据结构等内容的变化,(注:最后一篇系统表对比里的招聘信息已经失效),我这里就不把每一篇添加到本文的链接中了。因为今天的主题依然是SAP S/4 HANA问题分析,所以把上面的文章链接放在了前面,如果你对其他更多技巧性的文章也感兴趣,可以翻阅历史文章阅读。

在SAP S/4 HANA系统迁移或者实施的过程中,顾问会遇到很多问题,而且会有一些类似的问题出现,比如我们今天要分析的一个问题,在很多配置或者标准程序中会出现SYSTEM_ABAP_ACCESS_DENIED这个错误。比如你在运行程序、函数、标准事务代码的时候就会出现,因为有很多ECC系统里的功能将来是要被弃用的。下面我们重点分析一下这个问题。

错误重现

首先看一下这个dump错误出现的截图,如下图所示:

错误描述为:Access to development object prevented by system configuration。有很多种情况出现上述的这个问题,比如我使用系统的/SCWM/EGR、MMSC、MCGD、MSK4、VMG1等等,甚至是程序或者标准函数也会出现错误,很多时候都会碰到这个问题。下面我们来解决这个dump的问题。我们这里说的前提条件都是在SAP S/4 HANA系统上。

原因&建议

在一些以前发布的文章中我也提到过,在S/4 HANA系统中,有一些功能将不再可用,SAP在每个版本中逐渐淡化或者启用一些功能,可能在以后更新的版本中就不再支持一些ECC原有的功能了。所以出现了prevented,你可以理解为不再兼容。

考虑到一些客户是实施的迁移或升级,而不是新实施S/4 HANA,因此SAP给出了一系列的向下兼容措施,以保证迁移或升级可以顺利进行,所以我们会看到一些功能临时被禁用或者给出其替代方案,在这些暂时不能使用的功能中,SAP会给出暂时启用类似原来系统中的功能,如果顾问在实施过程中,出现不确定是否可以暂时启用的时候,可以发送message给SAP的development support,确保没有问题之后再使用。

问题解决

针对上面的这个问题,很多标准程序都会出现,所以要打通任督二脉,任督通则百脉皆通。下面就给出解决这个问题的方案。

1、我们需要一个具有S_ADMI_FCD权限的系统用户(后面会给出解释)。看一下这个authorization object。

2、执行程序:ABLM_MODIFY_ITEMS,没错,这是一个可执行程序。如下图所示:

3、同样的,我还是先看看这个程序做了些什么事情,如下图所示:

从上述程序内容中可以看到,为什么我说在第一步骤中需要添加S_ADMI_FCD权限的系统用户了,please extend your authorization by S_ADMI_FCD,明确说明了要加这个权限。还有就是各位可以到系统里看一下ablm_blacklist这是view。

4、执行程序后,填入参数,如下图所示:

我这里把参数解释一下。点开Type的F4,可以看到有几种参数可供选择(TRAN,FUNC,PROG,METH,FORM),然后分析一下这几个参数构成error的内容会是怎么样的。

对于TRAN和PROG类型,你需要在name中输入之前出现dump的事务代码名称,或者会出现类似这样的error:error:Type: "P" Object   : "xxxxx" Procedure : " " Class   : " "."。

对于FUNC和METH类型,同样会看到和上面差不多的error内容,这里就需要把Procedure填入到name中了。

上面的这几种类型可以归纳为:

Transactions(TRAN)--> Type 'T'

Function Modules(FUNC)--> Type 'C'

Reports (PROG)--> Type 'P'

Class Methods (METH)--> Type 'M'

Form Routines (FORM)--> Type 'F'

这样看就比较清晰了,按照我上面列出的这些type,就可以很容易知道怎么选择参数了。

猜你喜欢

转载自blog.csdn.net/SAPmatinal/article/details/83614650