什么是 SAP ABAP System Fields

简介: 什么是 SAP ABAP System Fields

在笔者下面这套 ABAP 教程里:


零基础快速学习 ABAP


对 ABAP System Fields 有详细介绍:


10. ABAP 编程语言中的系统字段(System Fields)

System Fields 在 ABAP 中用于访问运行时数据,比如当前日期、时间,以及正在执行的程序的名称等。下面是一些常见的 System Fields 的示例以及如何在 ABAP 中使用它们:


1、SY-SUBRC

SY-SUBRC 是一个用于表示上一个执行的函数模块的返回代码的 System Field。如果函数模块执行成功,SY-SUBRC 的值将为 0。非零值表示函数模块执行失败。

CALL FUNCTION 'SOME_FUNCTION'
  EXPORTING
    some_parameter = some_value
  IMPORTING
    some_result = result.
IF SY-SUBRC = 0.
  WRITE 'Function executed successfully'.
ELSE.
  WRITE 'Function execution failed'.
ENDIF.


2、SY-TCODE

SY-TCODE 用于获取当前正在执行的 SAP 事务码的代码。

DATA: lv_tcode TYPE sy-tcode.
lv_tcode = SY-TCODE.
WRITE: 'Current transaction code is', lv_tcode.


3、SY-DATUMSY-UZEIT

SY-DATUMSY-UZEIT 分别用于获取当前日期和时间。

DATA: lv_date TYPE sy-datum,
      lv_time TYPE sy-uzeit.
lv_date = SY-DATUM.
lv_time = SY-UZEIT.
WRITE: 'Current date is', lv_date,
       'Current time is', lv_time.


4、SY-CPROGSY-CPROC

SY-CPROGSY-CPROC 用于获取当前正在执行的程序的名称和事务代码。

DATA: lv_program TYPE sy-cprog,
      lv_transaction TYPE sy-cproc.
lv_program = SY-CPROG.
lv_transaction = SY-CPROC.
WRITE: 'Current program is', lv_program,
       'Current transaction code is', lv_transaction.


5、SY-MSGTYSY-MSGID

SY-MSGTYSY-MSGID 用于获取最近一条消息的消息类型和消息 ID。

DATA: lv_msg_type TYPE sy-msgty,
      lv_msg_id TYPE sy-msgid.
lv_msg_type = SY-MSGTY.
lv_msg_id = SY-MSGID.
WRITE: 'Message type is', lv_msg_type,
       'Message ID is', lv_msg_id.


这些仅是 ABAP 中一些常见的 System Fields 示例。System Fields 可以帮助开发人员获取有关正在执行的程序或处理的关键信息,从而进行更有针对性的编程。在开发过程中,了解和正确使用这些字段可以提高代码的效率和质量。


总结起来,System Fields 是 ABAP 中的特殊字段,用于提供有关正在执行的程序、事务或处理的关键信息。通过访问这些字段,开发人员可以获取运行时数据,如返回代码、当前日期时间、事务代码、消息信息等。这些字段在开发过程中起着重要的作用,帮助开发人员编写更加智能和具有上下文感的代码。

相关文章
|
24天前
|
SQL 数据库 索引
关于 SAP ABAP REPOSRC 数据库表在 HANA 中的 DDL Definition
关于 SAP ABAP REPOSRC 数据库表在 HANA 中的 DDL Definition
19 1
关于 SAP ABAP REPOSRC 数据库表在 HANA 中的 DDL Definition
|
1月前
|
安全 开发者
什么是 SAP ABAP 调试器里的 TRFC Block Sending 设置
什么是 SAP ABAP 调试器里的 TRFC Block Sending 设置
22 0
|
2月前
|
JavaScript 前端开发 数据库
如何在 SAP CRM 里通过 navigation framework 跳转到 ABAP Webdynpro 页面
如何在 SAP CRM 里通过 navigation framework 跳转到 ABAP Webdynpro 页面
21 0
|
20天前
|
存储
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
19 0
|
20天前
|
人工智能
Suno AI 生成 SAP ABAP 顾问之歌
Suno AI 生成 SAP ABAP 顾问之歌
15 1
|
20天前
|
存储 安全 数据库
SAP ABAP 中数据类型 xstring 的使用介绍
SAP ABAP 中数据类型 xstring 的使用介绍
20 0
|
24天前
什么是 SAP ABAP 里的 Subscreen
什么是 SAP ABAP 里的 Subscreen
16 1
什么是 SAP ABAP 里的 Subscreen
|
24天前
|
数据库 存储 BI
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
12 0
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
|
24天前
|
数据库
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
10 0
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
|
24天前
|
数据库 SQL 应用服务中间件
SAP ABAP CDS View 和 HANA CDS View 相同点和不同点辨析
SAP ABAP CDS View 和 HANA CDS View 相同点和不同点辨析
22 0
SAP ABAP CDS View 和 HANA CDS View 相同点和不同点辨析