跟着团子学SAP PS:项目校验与替代(ValidationSubstitution)实例教学

本文主要是介绍跟着团子学SAP PS:项目校验与替代(ValidationSubstitution)实例教学,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这次的主题是PS模块内很有用的小工具:校验(Validation)与替代(Substitution)。SAP的校验和替代功能其实在很多模块中都能使用(可以在GGB0中查看可以设定校验的对象,GGB1查看可以设定替代的对象),常见的是FICO顾问针对会计凭证设定的校验和替代等等。校验和替代可以在不需要ABAP顾问编写代码的情况下实现系统内部分字段的检验或者替换。

首先项目的校验配置的事务代码是OPSI,替换是OPSN,后台配置路径如下:

在这里插入图片描述
配置第一步是在项目中的对象下创建对应的校验参数文件:

可以看见项目中主要的四大对象(项目定义、WBS元素、网络、活动)都可以创建相应的校验参数文件。

在这里插入图片描述
校验的参数文件最终会在项目参数文件或中进行分配,如下图所示:

在这里插入图片描述
在这里插入图片描述
在项目参数文件中分配校验参数文件及替换参数文件的界面中,后面有一个“自动批准”以及“自动替代”,勾选后会在项目保存的时候系统自动执行设定的校验或替换的规则,如果不勾选需要手工在前台进行执行(如下图所示):

在这里插入图片描述
校验和替代配置的第二步是在校验和替代参数文件下创建步骤,在步骤中可以设定校验和替代的规则。如果想较为简易的维护校验和替代参数文件,最好是创建一个校验或替代参数文件,在这个参数文件下创建多个步骤,因为一个项目参数文件/网络参数文件中只能分配单个对象一个校验参数文件,所以如果一些校验是适用于所有项目参数文件/网络参数文件的时候(比如:研发项目和工程项目的项目编码前四位都是公司代码,需要校验项目编码前四位等于项目定义中维护的公司代码)如果单独建了多个参数文件则会导致在项目参数文件/网络参数文件不够分配而导致最终系统无法执行对应的校验或替代。

在这里插入图片描述
下面通过一个实际的案例展示一下校验和替代的作用:

(1) 项目编码和项目参数文件的校验

在实际业务中,往往不同的项目因为有不同的默认值或者管控思想需要设定不同的项目参数文件。在有些公司里面项目类型繁多,比如有售前项目、工程项目、研发项目、展品项目等,这些项目都有自己的项目参数文件,而在编码规则方面假定售前项目前两位为SQ、工程项目为GC、研发项目为YF,以此类推等。在创建项目时如果不做一些校验有些用户对操作又很不熟悉时很容易操作失误造成项目参数文件选择错误,而维护错误后项目参数文件又无法更改而造成无法挽回的后果。

创建步骤的时候,我们可以看见校验是由三部分构成的:先决条件、检查、消息。

在这里插入图片描述
回到刚刚我们的需求上,我们需要通过项目编码的前两位校验项目参数文件是否准确。

所以以研发项目为例:先决条件我们可以设定为项目定义的前两位为“YF”,点击左侧步骤下的“先决条件”进入先决条件公式编辑界面:

在这里插入图片描述
可以点击右侧的“显示技术名称”显示相关的表名及字段名(否则通过描述很容易选错字段,比如PROJ-PSPNR以及PROJ-PSPID字段描述都为项目定义。

在这里插入图片描述
在这里插入图片描述
双击相关字段可以将对应字段放入公式编辑界面:

在这里插入图片描述
需要注意的是在公式中应该根据字段的内码值编写逻辑,所以如果需要根据项目定义编码写相关逻辑则应该使用PSPID字段而不是PSPNR。

因为先决条件是前两位为YF,所以选择好字段后不可以直接选择等于符号,而是需要限定项目编码的前两位,这里我们是通过域限制实现的(也就是图中标记的“FldComp.”图标)

在这里插入图片描述
点击图标后会弹出域限制的具体界面:

在这里插入图片描述
因为限制的是前两位编码所以在这里输入的是从1到2,点击确认或回车后可以看到公式已经更新。

在这里插入图片描述
下面需要点击“等号”图标:

在这里插入图片描述
然后点击“常量“图标:

在这里插入图片描述
然后输入对应的值:

在这里插入图片描述
到此先决条件公式就已经输入完毕。

下面输入检查的公式,这里主要是检查项目参数文件是否为研发项目的参数文件,最后点击常量图标后可以选择顾问配置的项目参数文件。

在这里插入图片描述
到此检查逻辑也维护完毕:

在这里插入图片描述
最后一步是定义消息:

在这里插入图片描述
点击“维护信息”进入消息编辑界面

在这里插入图片描述
可以点击“下一个可用”快速跳转到未被占用的消息行,然后自定义消息并勾选“自释性”:

在这里插入图片描述
将消息号维护在刚刚的界面中这样整个校验就编写完成。

在这里插入图片描述
最后记得将校验参数文件中分配至项目参数文件,并勾选自动批准,这样在项目创建保存时系统会自动的帮我们进行检验。效果如下:

在这里插入图片描述
希望通过一个示例让大家对项目的验证及替代的功能能更加了解,在实际的业务中其实很多场景都能通过项目的验证及替代实现,这样不仅能增加数据的准确性,可以减少一些用户的工作量及一些无谓的开发。

这篇关于跟着团子学SAP PS:项目校验与替代(ValidationSubstitution)实例教学的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/424530

相关文章

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Apache Ignite缓存基本操作实例详解

《ApacheIgnite缓存基本操作实例详解》文章介绍了ApacheIgnite中IgniteCache的基本操作,涵盖缓存获取、动态创建、销毁、原子及条件更新、异步执行,强调线程池注意事项,避免... 目录一、获取缓存实例(Getting an Instance of a Cache)示例代码:二、动态

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

JSONArray在Java中的应用操作实例

《JSONArray在Java中的应用操作实例》JSONArray是org.json库用于处理JSON数组的类,可将Java对象(Map/List)转换为JSON格式,提供增删改查等操作,适用于前后端... 目录1. jsONArray定义与功能1.1 JSONArray概念阐释1.1.1 什么是JSONA

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

SpringBoot中如何使用Assert进行断言校验

《SpringBoot中如何使用Assert进行断言校验》Java提供了内置的assert机制,而Spring框架也提供了更强大的Assert工具类来帮助开发者进行参数校验和状态检查,下... 目录前言一、Java 原生assert简介1.1 使用方式1.2 示例代码1.3 优缺点分析二、Spring Fr