SAP-ABAP-SM30自建表维护如何控制某个字段不可输入,如何自动带出描述,如何校验数据准确性

首先创建表结构,本文将对下列自建表限制字段TXT50资产描述不可输入,根据公司代码及资产号码自动带出资产描述,校验所填的公司代码及资产号在表ANLA中存在。

        

1.创建表维护生成器 

2.双击上图中的概述屏幕1,进入屏幕 1的代码。或者事务代码SE80输入刚刚表维护生成器生成的函数组ZTFI231_DIYAN,进入屏幕1修改代码

3.控制不可输入的代码必须写在PBO模块,所以我写在了下图位置

4.创建模块Z_SHOW_LISTE 代码。表维护生成器生成的代码引用了很多标准代码,我们不要动到标准的代码,在函数组的包含里面,往最下面拖,找到我们自己创建的这个函数组的可以写代码的位置,这里我写到了LZTFI231_DIYANF00里面,在LZTFI231_DIYANF00创建了第三步写的module

 代码如下,PBO的MODULE后面要加OUTPUT,代码的意思就是循环屏幕参数,当屏幕参数是TXT50这个字段的时候,将INPUT设置为0,改成不可输入。5.


MODULE Z_SHOW_LISTE OUTPUT.
  LOOP AT SCREEN.
    IF SCREEN-NAME = 'ZTFI231_DIYAN-TXT50'.
      SCREEN-INPUT = 0 .
      MODIFY SCREEN .
    ENDIF.
  ENDLOOP.
ENDMODULE .

 5.创建模块MOD_GET_ANAL_TEXT50,获取资产描述,并校验数据是否合法,回到刚刚的屏幕1在这个位置加一个模块代码,这个代码快一定要在loop循环里面,才能带出每一行的描述并且校验每一行

6.同样创建该模块,写入赋值描述及校验的代码

 代码很简单,就不做解释了


MODULE MOD_GET_ANAL_TEXT50 .
  SELECT SINGLE ANLA~TXT50 FROM ANLA
    WHERE BUKRS = @ZTFI231_DIYAN-BUKRS
     AND  ANLN1 = @ZTFI231_DIYAN-ANLN1
    INTO  @ZTFI231_DIYAN-TXT50 .
  IF SY-SUBRC  <>  0.
  "  CLEAR : ZTFI231_DIYAN-BUKRS , ZTFI231_DIYAN-ANLN1 .
    MESSAGE '该公司代码下无此资产' TYPE 'E' .
  ENDIF.
ENDMODULE .

 最终展示效果如下

常驻CSDN欢迎留言交流

  • 7
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值