首页 > 其他分享 >ABAP小白开发操作手册+(十)验证和替代——上

ABAP小白开发操作手册+(十)验证和替代——上

时间:2024-11-09 16:20:17浏览次数:3  
标签:操作手册 验证 新建 步骤 代码 确认 小白 校验 ABAP

目录

一、前言:

二、步骤详解: 

新建确认:

新建步骤:

先决条件:

检查步骤:

消息设置:

三、传输请求

四、DEBUG


本章内容分为上下两篇,包括验证和替代

  • 上篇:验证步骤、传输验证请求、DEBUG
  • 下篇:替代步骤、传输替代请求、DEBUG

一、前言:

SAP验证和替代,也是增强的一种类型,不过更加倾向于业务顾问的配置,对业务顾问更加友好,基本用不上开发顾问。

比如说F-02生成会计凭证时,我们需要设置用户输入的某个字段不能为空,我们就可以用验证(有时候也会被叫做确认、校验)来做;如果说我们生成会计凭证时,在某个特定条件下,需要将某个字段赋值为其它内容,我们就可以用替代来做(替代在下一篇讲解)。

验证的大致步骤:

写验证需要在测试机,使用事务代码:GGB0或者OB28,创建验证步骤、先决条件、检验条件、消息内容,然后保存,再通过事务代码GCT9传输请求到正式机,如果需要debug,需要使用=SHCD,进入后台打断点。下面是步骤详解:

二、步骤详解: 

  • 新建确认:

对于验证的开发,我们可以使用事务代码GGB0或者OB28,GGB0进入的页面如下:

OB28进入的界面如下:

OB28的界面双击进入,就是GGB0的会计凭证的验证界面

GGB0是所有可以增加验证的出口的合集,OB28就是财务会计这一个小模块的出口,下面放个对比图:

所以我们在两个事务代码下进行开发配置都是可以的。找到了做验证的界面,那我们现在就开始进行验证的开发,一般会用到“新建确认”和“新建步骤”两个功能,如下:

“新建确认”比“新建步骤”高一层级。这里我简单展开说一下:

很多公司都是像上图这样配置的校验,这就导致在实际进行校验先决条件填写的时候,需要进行公司代码的区分,如下图所示,这里就表示如果本次凭证行项目公司代码是1070则不进行校验,其余不是1070的公司代码数据全部要进行校验:

因为他们都是使用的同一套“确认”,只能在校验步骤里面进行公司代码的区分。比较好的解决方法是,像集团这种比较特殊的公司,单独使用一套“确认”,其余的子公司再根据自身需求配置一套“确认”。

好了,说回来我们的“新建确认”功能。

我这次做测试,那我就新建一个“确认”层级:TEST,然后再在测试test确认下,新建一个步骤。

如果说咱们接到的开发申请只需要在原有的校验基础上进行修改、新增卡控校验,那就不需要新建确认,直接在原有的“确认”层级下,新建一个步骤就好了。

  • 新建步骤:

这个才是我们在实际工作中经常使用的功能

  • 先决条件:

新建步骤后,先补充先决条件,这个和我们写代码类似。如果说我们这次新增的验证为:当公司代码为1234,且总账科目为123456789时,订单号不能为空,为空则不能生成会计凭证,并报错“该公司总账科目为123456789时订单号不能为空”,不为空则验证通过。

那么我们的先决条件应该如下写入:

 

写入代码后,进行语法校验,和我们平时做开发一样,点击上面这个一高一低的按钮,随即系统会给我们提示,状态灯为红色表示我们这次代码写得有问题,需要进行检查。

我这里是科目的字段名称写错了,正确的字段名是HKONT,我写的是HKNOT,修改过后,再次进行校验,则状态灯为绿色表示成功。

代码蓝色应该是表明系统已经识别到这是最新的一段代码,不用管,反正语法不出错就可以进行下一步操作。

  • 检查步骤:

数据在满足先决条件后,会进入检查,即“订单号不能为空”,所以我们在检查这里应该写入如下代码:

这里一定要注意,检查的条件是什么就写什么上去,校验A字段不能为空,就写 A <> ‘’;校验A字段必须为空,就写A = ‘’。

表明当公司代码BUKRS为1234,且总账科目HKONT为123456789时,进入该验证,如果订单号AUFNR 不为空则校验通过,如果订单号AUFNR为空则校验不通过,则返回前台报错消息。

  • 消息设置:

消息设置可以在SE91里面设置。

(上面这张是我后面补的图,消息类别是ID:ZFI,消息编号007对应的消息文本就是下面007编号;消息编号015对应的就是测试文本)

做完校验之后,一定要保存,保存后,在当前系统环境上面该校验就已经生效了,可以做测试,这时候不会弹出对话框让我们包上请求号的,校验的请求号需要单独生成,是使用GCT9。

三、传输请求

GCT9

包上请求号之后,就可以像平时的请求一样使用SE10或者SE09释放请求号,再使用STMS传输请求到正式机。

四、DEBUG

如果在实际工作中需要调试我们的验证是否生效,我们可以使用下面这种方式进入调试界面。

先进入配置验证的界面,GGB0和OB28都可以,然后用鼠标单击验证名称(一定不要将鼠标放在步骤上面去了,不然进不去哈),再输入 “=SHCD”,点击回车就会进入后台代码。

后台代码如下截图所示:

G_STEP=‘001’,就是验证步骤1的意思。

找到我们自己需要调试的验证步骤,断点就可以打在这些语句上面。

打好断点后,我们再进行前台操作业务,断点就可以直接生效了。

注意哦,验证和替代都是直接对屏幕上输入的值进行卡控校验,所以是比增强要先一步运行的。有时候我们做了替代或是验证而且明明都已经显示成功了,后面对字段的卡控又失效了,很可能就是因为后面的增强或是其它步骤,把验证或替代的逻辑给覆盖掉了,这时候就需要仔细找找找了。

以上就是校验以及传输校验到正式机的步骤,原本准备替代和校验一起写的,但是感觉篇幅过长了,就放在下一篇再写吧~

标签:操作手册,验证,新建,步骤,代码,确认,小白,校验,ABAP
From: https://blog.csdn.net/LilySesy/article/details/143500346

相关文章

  • 手把手教你搭建Windows+YOLO11+CUDA环境,以EMA注意演示如何改进YOLO11, 训练自定义数据
    YOLOv11目标检测创新改进与实战案例专栏文章目录:YOLOv11创新改进系列及项目实战目录包含卷积,主干注意力,检测头等创新机制以及各种目标检测分割项目实战案例专栏链接:YOLOv11目标检测创新改进与实战案例文章目录YOLOv11目标检测创新改进与实战案例专栏前言本......
  • Java基础语法闪过——纯小白
    Java语法突击笔者因为学校奇葩选课原因,需要学习Java,考试所迫和大伙一起交流复习下基础的语法内容,大家都一把拿下考试......
  • 牛客小白月赛104(A~D)
    比赛链接:https://ac.nowcoder.com/acm/contest/94879#question牛客还是经典暴力时要求代码贼多啊A.小红购买装备题目描述:小红准备去打地下城,在进入地下城之前首先需要购买合适的装备。已知商店共有\(n\)件装备,每种装备提供\(a_i\)的攻击和\(b_i\)的防御,价格为\(c_i\),小红身上......
  • 大模型之模型编辑 (细致到极致——小白也能一篇看懂)
    模型编辑模型编辑简介模型编辑是一个新兴的方法,旨在解决大语言模型(如GPT等)在实际应用中所面临的偏见、毒性和知识错误等问题。大语言模型在生成文本时,有时会出现不符合预期的结果。这些问题主要包括:偏见:模型的输出可能反映社会刻板印象或不公正的观点,例如性别、种族或其......
  • 牛客小白月赛 104 ACM 游寄
    我去,打上ACM了。开场把F丢给yx。看A,一眼背包,再看一眼,原来只卖一次,直接找最大的做完了。看B,直接无脑1-pow((1-w),10)-pow(w,9),不对,改成1-pow((1-w),10)-pow(w,9)*w,还不对,改成1-pow((1-w),10)-pow(w,9)*w*9,还不对,然后看了两分钟后觉得脑子不清醒,做后面去了。看C,一眼......
  • 最实用的隐私测试工具操作手册来了,错过你就亏了
    注:本工具仅适用于未加固的安卓debug包APK    在开始之前,建议大家先回顾一下我们之前发布的关于隐私合规检测的文章。本次分享的隐私测试工具和以往的xpose隐私检测方法,有很大区别,一个对比后支持范围和准确性,另外一个就是操作简便,兼容性强,报告查看方便;    旧......
  • 用C语言实现汉诺塔问题(第四天:函数递归)【每天进步一点点-小白学习笔记】
    0 前言        最近比较忙,到现在才有时间更新博客,这两天刚好学到了函数递归,这是个很有趣的知识,为什么说有趣呢?因为递归这个东西吧,很多人都对它又爱又恨。爱在递归不仅可以轻松简化代码,增加可读性,还能将一些很难解决的算法问题轻松解决,但它又大大加大了程序复杂度,既......
  • ABAP开发-内存管理
    系列文章目录文章目录系列文章目录前言一、概述二、程序间调用三、外部会话和内部会话四、SAP内存与ABAP内存五、实例总结前言一、概述内存是程序之间为了传递数据而使用的共享存储空间,在每个程序里使用的内存有SAP内存和ABAP内存SAP内存分类SAP内存......
  • PWN(栈溢出漏洞)-原创小白超详细[Jarvis-level0]
    ​题目来源:JarvisOJ https://www.jarvisoj.com/challenges题目名称:Level0题目介绍:属于栈溢出中的ret2text意思是Returntotext当程序中有可利用的危险函数控制程序的返回地址到原本的函数实现溢出利用 基础过程(看个人习惯):运行程序查看程序流程file查看文件内存......
  • 雷达目标检测cfar小白版本
     一编2024.11.7日 目前只是简单概念后续持续更**参考单元**和**保护单元**的概念###1.什么是保护单元?**保护单元**是指在检测过程中,紧邻目标检测单元的几个位置(也称距离单元)。这些单元的作用是**防止目标信号影响噪声估计**。例如,如果我们想在位置\(i\)检测......