ABAP基础知识 数据字典(二 开发篇)

点击蓝字 关注我们

前言

‍‍‍数据字典是ABAP中最基本的知识,充分使用数据字典可以给你的程序提供一些基本功能(帮助,搜索帮助,数据校验等)

这些功能可以改善程序对用户的友好度

本文主要介绍ABAP程序关联数据字典

希望本文对你的ABAP编程习惯能有一些积极的影响.‍‍‍

数据字典提供的基本功能

详见链接

无峰,公众号:ABAP 技巧与实战ABAP基础知识 数据字典(一 功能篇)

本文介绍关联时,只涉及到三个常用基本功能

  • F1帮助

  • F4搜索帮助

  • 数据校验

输入输出界面

ABAP常用的输入输出界面如下,这些界面中的字典通过和数据字典的关联来获取数据字典提供的基本功能

  • 选择屏幕

  • SCREEN屏幕

  • ALV清单

选择屏幕

单个输入或复杂输入字段

一般情况下,单个输入或复杂输入字段大家都会通过参考数据字典对象定义选择屏幕,如图一.这样产生的选择屏中可以使用这个销售订单字段的F1帮助及搜索帮助(数据校验对选择屏幕无效)

复选和单选字段

对于复选或单选字段,一般都不会太注意关联数据字典对象,建议对每个程序创建一个对应的结构, 把相关的复选单选字段都创建到该结构中. 在创建复选或单选按钮时,也参照一下结构中的字段,以便能使用数据元素的文档作为详细帮助.

f389bf548c4827b9bb9f08e8b43cd0c2.png

58b9d099b90b7d5440e0a84829605835.png

图一

ad83ab217be29e982b8989f54eabe734.png

2423c0b1b26a490057969dbb474e824e.png

图二

正常屏幕

通过四种方式创建屏幕字段 ,产生的屏幕字段对数据字典基本功能的应用如图三所示.

  • 通过数据字典字段,屏幕字段关联数据字典字段(F1帮助,F4搜索帮助,校验)

  • 通过参考数据字典表定义的全局变量(F1帮助,F4搜索帮助,无校验)

  • 通过数据字典数据元素定义的全局变量(F1帮助,F4搜索帮助,无校验)

  • 与数据字典无关(三无产品)

a1d5cdc34a4361caaa9c6cd53c944332.png

图三

ALV清单

ALV清单通过FIELDCAT 中的REF_TABLE ,REF_FIELD 字段关联数据字典.

推荐使用函数

LVC_FIELDCATALOG_MERGE 

或 REUSE_ALV_FIELDCATALOG_MERGE 

获取 字段清单.以便ALV中的字段和数据字典关联 如图四

如果通过通过直接赋值方式添加字段清单, 请务必填充 REF_TABLE REF_FIELD字段, 以便ALV字段与数据字典关联, 启用数据字典提供的基本功能(F1帮助,F4帮助,数据校验等)

(一般情况下,建议为ALV清单创建一个结构,调用函数获取结构的字段清单,以便充分使用数据字典功能)

6935b990207effd40d74e9dbeb23c537.png

图四

0110402e2f441d742979fa83b77bf441.png

图五

进阶功能

数据字典定义表或者结构时, 可以引入其它预先定义好的结构.

01

引用结构

推荐把常用字段放入放到特定结构中, 定义表或结构时引用这些通用结构.如图六

ed8bea71e1be7b04dc46c6b23f864e31.png

图六

02

引用结构的组名称 

引用结构时, 输入 .INCLU-_MO  加上引用的结构DEMO_DAY (包含字段 WORK )系统会自动给引入的字段附加后缀 _MO,同时可以输入一个组名称 MONDAY 如图七

这样表字段的使用更加灵活

WEEK-WORK_MO 等同于

 WEEK-MONDAY-WORK 如图八

通过组名称可以更好的组织多组有相同含义并通过特定维度等区分的字段.

特定维度可以是日期(周,月,年),数字顺序(01,02,03..)或者其它可应用的维度

cc164e68313d534232ede9fe5e888e4c.png

图七

9975a4bad1198ea9d2efbba03c3481bb.png

图八

总结

使用数据字典提供的基本功能可以让程序更加友好,用户通过F1帮助,F4搜索帮助可以快速理解字段含义,进一步理解程序的基本功能. 

数据字典提供的输入校验可以避免用户输入无效数据.

在ABAP开发中,尽量关联数据字典,可以让你的程序看起来更友好,更专业.

THE

END

约定

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.       

    (如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)

0e5c3c9fa5349c8889b966966c25f6a9.png

公众号 : syjf1976_abap

          ABAP开发技巧

微信号 : 392077

请微信联系管理员: 

syjf1976 

sharry_xlp  

Yannick_Duan 

申请进入公众号讨论群提问或者参与话题讨论

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值