跟着团子学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

相关文章

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

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

怎么用idea创建一个SpringBoot项目

《怎么用idea创建一个SpringBoot项目》本文介绍了在IDEA中创建SpringBoot项目的步骤,包括环境准备(JDK1.8+、Maven3.2.5+)、使用SpringInitializr... 目录如何在idea中创建一个SpringBoot项目环境准备1.1打开IDEA,点击New新建一个项