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.
目录
相关文章
|
7月前
|
API
在阿里云RPA中,你可以使用"SetForegroundWindow"函数来将SAP控件置顶
【2月更文挑战第28天】 在阿里云RPA中,你可以使用"SetForegroundWindow"函数来将SAP控件置顶
115 1
|
4月前
|
Linux C++ Windows
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
SAP ABAP 程序调用设置成后台作业模式
ABAP 程序调用设置成后台作业模式
533 0
|
Java Serverless
在函数计算中调用 SAP 的 RFC 函数
在函数计算中调用 SAP 的 RFC 函数
101 0
|
SQL
SAP ABAP-OPENSQL-数值函数简介
S4中针对OPENSQL新提供一些函数
147 0
|
SQL
SAP ABAP-OPENSQL-字符串函数介绍
S4中SQL新语法字符串函数
226 0
|
SQL
SAP ABAP-OPENSQL-日期/时间戳函数
S4提供针对OPENSQL一些新的SQL函数调用,本文展示相关函数的使用
711 0
SAP 金额转中文大写自开发函数
关于凭证打印时需将金额转换成中文大写
123 0
SAP ABAP-删除工序示例代码
ABAP-删除工序示例代码
179 0
SAP ABAP 检查事务码权限
检查用户是否有自开发事务码的权限
165 0