matinal:SAP ABAP 从创建类开始学习面向对象编程

🚀欢迎来到本文🚀
🍉个人简介:matinal,目前职业是IT行业,一个正在慢慢前行的普通人。
🏀系列专栏:涵盖SAP各模块,Python,Excel,人工智能等
💡 其他专栏:一些平时学习的技术,感兴趣的小伙伴可以看看。

🍔公众号:matinal
🎁希望各位→点赞👍 + 收藏⭐️ + 留言📝 ​
⛱️万物从心起,心动则万物动🏄‍♂️


前言:SAP ABAP 从创建类开始学习面向对象编程。

🦙(工作遇到傻逼,千万要远离。道路千万条,远离傻逼第一条)


对于ABAP OO开发新手而言, 要创建一个ABAP类,请转到ABAP工作台SE80,选择“类”,点击鼠标右键后点击“创建”,在输入字段中输入名称YCL_CUSTOMER并按回车。确认弹出窗口,并在下一个窗口中输入描述,同时保持其他设置不变。

保存后, 双击左侧(在“对象名称”下方)的YCL_CUSTOMER类,并在右侧选择属性选项卡,以创建类的属性。

选择表SCUSTOM数据库列的子集作为类的属性。选择属性选项卡并根据ABAP字典中用于相应数据库表列的ABAP字典类型添加属性:

  • ID:类型 S_CUSTOMER

  • NAME:类型 S_CUSTNAME

  • STREET:类型 S_STREET

  • POSTCODE:类型 POSTCODE

  • CITY:类型 CITY

  • COUNTRY:类型 S_COUNTRY

  • TELEPHONE:类型 S_PHONENO

  • EMAIL:类型 S_EMAIL

所有属性都应该是公共实例属性,通过级别(Level)和可见性(Visibility)列设置。如下图:

接下来,为类创建一个带有客户ID作为可选参数的构造函数。构造函数然后从数据库中获取客户的数据,并将对象的属性填充为从数据库中获取的值。

      要创建构造函数,请单击右上角的构造函数按钮,打开已经存在但为空的构造函数方法的编辑器。

点击“参数”来添加客户ID作为可选参数(在第三列的复选框中打勾!),字典类型为S_CUSTOMER。

点击“方法”将带您回到之前的视图,双击CONSTRUCTOR方法将打开ABAP编辑器。

       在构造函数中,首先检查是否提供了客户ID,因为它被声明为可选参数。如果提供了ID,从数据库中选择具有此ID的客户数据到一个结构体中。结构体类型在ABAP字典中可用,因为数据库表SCUSTOM基于它。

       结构体在方法顶部声明,使用Open SQL语句SELECT...FROM...INTO填充。因为SQL直接集成到ABAP中,因此只需在ABAP代码中输入SQL语句即可。应用程序服务器自动为你提供数据库连接,并完全隐藏不同数据库方言之间的差异,这可能会让程序员发疯。这是通过应用程序服务器中称为“Open SQL”的调用层完成的,它提供了一个统一的SQL,被翻译成当前使用的数据库的特定SQL方言,使ABAP编程独立于数据库供应商。

        然后,对象实例的属性用从数据库中获取的结果填充。一个列,即结构体的组件,可以直接用“-”分隔符访问,例如,客户的姓名作为S_CUSTOMER-NAME可用。

      整个构造函数方法如下:

检查无误后激活。

进入 测试:

接下来,实例化一个客户对象,通常在大多数情况下已经知道客户的ID(例如,通过客户管理器类的查询方法)。因此,为类创建一个带有客户ID作为可选参数的构造函数。构造函数然后从数据库中获取客户的数据,并将对象的属性填充为从数据库中获取的值。

        要创建这个新方法,请返回类构建器,点击方法选项卡,然后进入更改模式。创建一个新的方法SAVE作为公共实例方法。双击SAVE,将打开编辑器。代码如下:

* declaration of structure
  DATA: s_customer TYPE scustom.

* fill structure with current attribute values
  s_customer-id = me->id.
  s_customer-name = me->name.
  s_customer-street = me->street.
  s_customer-postcode = me->postcode.
  s_customer-city = me->city.
  s_customer-country = me->country.
  s_customer-telephone = me->telephone.
  s_customer-email = me->email.

* update the data in the DB
  MODIFY scustom FROM s_customer.

现在,可以在测试环境中使用ABAP工作台直接测试和执行ABAP编码,而无需编写测试程序。在成功激活类后,点击测试按钮,工作台将显示以下内容:

这个屏幕是ABAP工作台的内置测试功能。它根据类的方法和属性自动生成一个测试UI。输入相关信息并点击执行。

      现在,数据已更新,用SE16查看数据库表SCUSTOM,它将显示ID号为1的记录新的信息。

以上内容为ABAP OO 新手提供了创建第一个ABAP对象的详细步骤,包括如何定义类、属性、构造函数和方法,以及如何在ABAP工作台中测试这些对象。这个例子展示了如何创建一个简单的客户类,用于在SAP系统中管理客户数据。


怎么样,在了解此篇文章有何感想?


如果本文对大家有所帮助的话,还望各位能给我点赞、收藏并评论一下,感谢各位💕!!! 另如果大家有什么疑问或者建议的话,欢迎评论区留言。更多精彩内容->在这里

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值