调用:PERFORM frm_get_rate USING u_t-pswsl 'RMB' l_date1
CHANGING l_wrbtr.
函数定义:
1:FORM frm_get_rate USING u_fc TYPE bapi1093_1-from_curr
u_tc TYPE bapi1093_1-from_curr
u_date TYPE bapi1093_2-trans_date
CHANGING c_tot TYPE bapibp_bal_amt2.
DATA: l_return TYPE bapiret1,
l_msg(100) TYPE c.
CALL FUNCTION 'Z_EXCHANGERATE_CONVERSION'
EXPORTING
rate_type = 'M'
from_curr = u_fc
to_currncy = u_tc
date = u_date
IMPORTING
return = l_return
CHANGING
amount = c_tot.
* 汇率获取失败的信息提示
IF l_return IS NOT INITIAL.
CONCATENATE u_date u_fc
'<->' u_tc '的汇率不存在'
INTO l_msg.
MESSAGE e000(z03) WITH l_msg.
ENDIF.
ENDFORM. " FRM_GET_RATE
2:FUNCTION Z_EXCHANGERATE_CONVERSION.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(RATE_TYPE) TYPE BAPI1093_1-RATE_TYPE DEFAULT 'M'
*" VALUE(FROM_CURR) TYPE BAPI1093_1-FROM_CURR
*" VALUE(TO_CURRNCY) TYPE BAPI1093_1-TO_CURRNCY
*" VALUE(DATE) TYPE BAPI1093_2-TRANS_DATE DEFAULT SY-DATUM
*" EXPORTING
*" VALUE(RETURN) TYPE BAPIRET1
*" CHANGING
*" VALUE(AMOUNT) TYPE BAPIBP_BAL_AMT2
*"----------------------------------------------------------------------
DATA: V_CHAR_E TYPE C VALUE 'E',
V_CHAR_A TYPE C VALUE 'A'.
DATA: EXCH_RATE LIKE BAPI1093_0.
** Clear output parameters
CLEAR: EXCH_RATE,
RETURN.
CHECK FROM_CURR <> TO_CURRNCY.
CALL FUNCTION 'BAPI_EXCHANGERATE_GETDETAIL'
EXPORTING
RATE_TYPE = RATE_TYPE
FROM_CURR = FROM_CURR
TO_CURRNCY = TO_CURRNCY
DATE = DATE
IMPORTING
EXCH_RATE = EXCH_RATE
RETURN = RETURN.
IF RETURN IS NOT INITIAL.
CLEAR: EXCH_RATE,
RETURN.
CALL FUNCTION 'BAPI_EXCHANGERATE_GETDETAIL'
EXPORTING
RATE_TYPE = RATE_TYPE
FROM_CURR = TO_CURRNCY
TO_CURRNCY = FROM_CURR
DATE = DATE
IMPORTING
EXCH_RATE = EXCH_RATE
RETURN = RETURN.
IF RETURN IS NOT INITIAL.
** Error, don't get the exchange rate
** and error information had been saved into parameter RETURN
ELSE.
** success to get indirect exchange rate
IF EXCH_RATE-TO_FACTOR = 0.
EXCH_RATE-TO_FACTOR = 1.
ENDIF.
IF EXCH_RATE-EXCH_RATE = 0.
EXCH_RATE-EXCH_RATE = 1.
ENDIF.
AMOUNT = AMOUNT / EXCH_RATE-EXCH_RATE * EXCH_RATE-FROM_FACTOR
/ EXCH_RATE-TO_FACTOR.
ENDIF.
ELSE.
** success to get direct exchange rate
IF EXCH_RATE-FROM_FACTOR = 0.
EXCH_RATE-FROM_FACTOR = 1.
ENDIF.
AMOUNT = AMOUNT * EXCH_RATE-EXCH_RATE * EXCH_RATE-TO_FACTOR
/ EXCH_RATE-FROM_FACTOR.
ENDIF.
ENDFUNCTION.
分享到:
相关推荐
python:自定义函数实现加法
03-信号和槽01:自定义信号和槽函数的创建及使用
让你叫绝的的EXCEL函数功能: 第3个:自定义数字格式
sql自定义函数 sql自定义函数 sql自定义函数
Python基础篇-16第十六回:自定义函数减免重复,第三方模块荟萃精华.flv
在我们编写C语言程序时,我们可以通过自定义函数来实现特定的功能或算法。 自定义函数是一段能够根据给定的输入执行特定任务并返回一个结果的代码块。 这类函数的目的是可以在程序的任何地方多次被调用,这样能够...
vba自定义类型返回函数vba自定义类型返回函数vba自定义类型返回函数
在创建时需要注意:函数名在数据库中必须唯一,其可以有参数,也可以没有参数,其参数只能是输入参数,最多可以有1024参数。 标量函数:返回单个数据值。 表值函数:返回值是一个记录集合--表。在此函数中,return语...
自定义聚合函数:用户定义的聚合函数——评估SQL Server 2005中的新功能.pdf
一、关系运算: 4 1. 等值比较: = 4 2. 不等值比较: <> 4 3. 小于比较: 4. 小于等于比较: 5. 大于比较: > 5 6. 大于等于比较: >= 5 7. 空值判断: IS NULL 5 8. 非空判断: IS NOT NULL 6 ...3. 类型转换函数 35
自己开发的Excel函数,可以判定两个字符串的相似度。
Android 相机控制:自定义相机Test实例 ,author 孙尚磊,可实现设置相机的各种参数,对焦的方式,照片的类型,对焦监听,拍照成功回调函数,验证手机是否有sdcard,相片预览,相机与SurfaceView绑定,预览的图片...
请根据给定的main函数及程序输出,完成设计。具体要求如下。 一、请设计一个Book类(与动态数组类的要求一致): 1、包括私有成员: unsigned int m_ID;//编号 string m_Name;//书名 string m_Introductio//简介 ...
asp自定义函数:URL编码和解码
1. 纷享销客自定义函数能够通过执行简单的程序脚本更新相关CRM模块或第三方应用程序中的数据,并且可以进行数据校验判断和执行动作,记录与工作流标准匹配时,工作流引擎自动触发自定义函数并更新 CRM 记录。...
1、PHP函数介绍 2、PHP如何自定义函数 3、使用自定义函数实例操作
用户自定义函数
自定义EL函数,自定义EL函数,自定义EL函数
通过自定义的加密函数,可再解密,加密过程需要一个关健字,这个关键字用来解密,就算是别人看到了你的解密函数但是不知道关键字是多少照样无法解密。