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

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

Java中的Schema校验技术与实践示例详解

《Java中的Schema校验技术与实践示例详解》本主题详细介绍了在Java环境下进行XMLSchema和JSONSchema校验的方法,包括使用JAXP、JAXB以及专门的JSON校验库等技术,本文... 目录1. XML和jsON的Schema校验概念1.1 XML和JSON校验的必要性1.2 Sche

PyQt6 键盘事件处理的实现及实例代码

《PyQt6键盘事件处理的实现及实例代码》本文主要介绍了PyQt6键盘事件处理的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起... 目录一、键盘事件处理详解1、核心事件处理器2、事件对象 QKeyEvent3、修饰键处理(1)、修饰键类

MyCat分库分表的项目实践

《MyCat分库分表的项目实践》分库分表解决大数据量和高并发性能瓶颈,MyCat作为中间件支持分片、读写分离与事务处理,本文就来介绍一下MyCat分库分表的实践,感兴趣的可以了解一下... 目录一、为什么要分库分表?二、分库分表的常见方案三、MyCat简介四、MyCat分库分表深度解析1. 架构原理2. 分

linux查找java项目日志查找报错信息方式

《linux查找java项目日志查找报错信息方式》日志查找定位步骤:进入项目,用tail-f实时跟踪日志,tail-n1000查看末尾1000行,grep搜索关键词或时间,vim内精准查找并高亮定位,... 目录日志查找定位在当前文件里找到报错消息总结日志查找定位1.cd 进入项目2.正常日志 和错误日

在.NET项目中嵌入Python代码的实践指南

《在.NET项目中嵌入Python代码的实践指南》在现代开发中,.NET与Python的协作需求日益增长,从机器学习模型集成到科学计算,从脚本自动化到数据分析,然而,传统的解决方案(如HTTPAPI或... 目录一、CSnakes vs python.NET:为何选择 CSnakes?二、环境准备:从 Py