SAP ABAP——简单函数编写及调用

简介: 本文是一个ABAP简单函数编写以及调用的demo,废话不多说直接看demo场景

本文是一个ABAP简单函数编写以及调用的demo,废话不多说直接看demo场景


Demo场景

本次Demo是设计一个函数来进行简单的四则运算,先去SE37创建函数,这里创建的函数叫做ZWYZ_FC_01


函数构建器——导入

9e1add19839e63cd003387c1667fef8.png


函数构建器——导出

02b0e107eea6da8e6758ca0178e46e5.png


函数构建器——例外

c457093b71dcb18440991cc7b7b6138.png


函数构建器——源代码

3153552e6346e9a4d7b0ece35367c8c.png

FUNCTION ZWYZ_FC_01.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     REFERENCE(I_DATA1) TYPE  P
*"     REFERENCE(I_DATA2) TYPE  P
*"     REFERENCE(I_DATA3) TYPE  C
*"  EXPORTING
*"     REFERENCE(E_DATA) TYPE  P
*"  EXCEPTIONS
*"      NO_ZERO
*"      OPERATION_SYMBOL_ERROR
*"----------------------------------------------------------------------
CASE I_DATA3.
  WHEN '+'.
  E_DATA = I_DATA1 + I_DATA2.
  WHEN '-'.
  E_DATA = I_DATA1 - I_DATA2.
  WHEN '*'.
  E_DATA = I_DATA1 * I_DATA2.
  WHEN '/'.
    IF I_DATA2 = 0.
   RAISE NO_ZERO.
   ELSEIF I_DATA2  <> 0.
  E_DATA = I_DATA1 / I_DATA2.
  ENDIF.
  WHEN OTHERS.
   RAISE OPERATION_SYMBOL_ERROR.
  ENDCASE.
ENDFUNCTION.

SE38调用函数代码

*&---------------------------------------------------------------------*
*& Report ZWYZTEST_03
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZWYZTEST_03 MESSAGE-ID FILAM.
PARAMETERS P_1 TYPE P DECIMALS 5.
PARAMETERS P_3 TYPE C LENGTH 1 .
PARAMETERS P_2 TYPE P DECIMALS 5.
DATA:GV_OUTCOME TYPE P DECIMALS 5.
CALL FUNCTION 'ZWYZ_FC_01'
EXPORTING
  I_DATA1                      = P_1
  I_DATA2                      = P_2
  I_DATA3                      = P_3
IMPORTING
  E_DATA                       = GV_OUTCOME
EXCEPTIONS
  NO_ZERO                      = 1
  OPERATION_SYMBOL_ERROR       = 2
  OTHERS                       = 3
          .
CASE SY-SUBRC .
  WHEN'0'.
  WRITE:/  P_1, P_3, P_2 ,'=' , GV_OUTCOME.
    MESSAGE S001 WITH '运算成功' .
  WHEN '1'.
    MESSAGE S001 WITH '被除数不能为0' DISPLAY LIKE 'E'.
  WHEN '2'.
    MESSAGE S001 WITH '运算符号错误'  DISPLAY LIKE 'E'.
  WHEN OTHERS.
      MESSAGE S001 WITH '运算错误'  DISPLAY LIKE 'E'.
ENDCASE.
目录
相关文章
|
3月前
|
存储 安全 数据库
什么是 SAP ABAP 数据库表的 Display Maintenance Allowed with Restrictions
什么是 SAP ABAP 数据库表的 Display Maintenance Allowed with Restrictions
|
3月前
|
安全 API 数据库
SAP ABAP OData 中 Function import 的概念介绍
SAP ABAP OData 中 Function import 的概念介绍
|
3月前
|
SQL 负载均衡 监控
SAP ABAP DBSQL_SQL_ERROR 错误
SAP ABAP DBSQL_SQL_ERROR 错误
|
3月前
|
前端开发 数据库 开发者
如何在 SEGW 事务码里为 SAP ABAP OData 服务实现 Function Import 试读版
如何在 SEGW 事务码里为 SAP ABAP OData 服务实现 Function Import 试读版
SAP ABAP OData 服务里需要指定 guid 类型的请求参数时,正确语法是什么?
SAP ABAP OData 服务里需要指定 guid 类型的请求参数时,正确语法是什么?
|
3月前
|
SQL 监控 Oracle
SAP ABAP 系统错误 Return value of the database layer SQL dbsl rc 99
SAP ABAP 系统错误 Return value of the database layer SQL dbsl rc 99
|
3月前
|
存储 前端开发 Linux
在 SAP ABAP 系统里访问 FTP 服务器
在 SAP ABAP 系统里访问 FTP 服务器
|
3月前
|
存储 前端开发 应用服务中间件
使用 SAP ABAP 执行 FTP 操作
使用 SAP ABAP 执行 FTP 操作
|
3月前
|
BI 网络安全
如何使用 ABAPGit 在 SAP ABAP 系统安装 abap2xlsx 工具试读版
如何使用 ABAPGit 在 SAP ABAP 系统安装 abap2xlsx 工具试读版
|
3月前
|
监控 安全 应用服务中间件
SAP ABAP STRUST 事务码里的错误消息 - Local PSE does not match database original
SAP ABAP STRUST 事务码里的错误消息 - Local PSE does not match database original