改善体重改变-ABAP例行查找

2020-08-27 21:29发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好! 我有一个要求,我需要...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好!

我有一个要求,我需要从2LIS_02_SCL中加载ADSO数据,并从TCURR表中加载货币汇率。 我的挑战是将2_LIS的过帐日期与TCURR的货币日期相结合(以获取汇率),因为我可以在非工作日使用MIRO/MIGO,而TCURR表仅具有工作日的汇率(就我而言)

然后,我开始开发自己的例程,但不幸的是,我对ABAP的了解不足以创造更好的性能。

在我的启动例程中,我编写了以下代码,并且工作正常:

$ * $全局开始-仅在此行下方插入声明*-*
..."在此处插入代码

类型:
BEGIN OF TY_TCURR,
< br> *字段:KURST汇率类型
KURST TYPE C长度4,
*字段:FCURR来自货币
FCURR TYPE FCURR_CURR,
*字段:TCURR到货币
TCURR TYPE TCURR_CURR,
*字段:汇率生效的GDATU日期
GDATU类型GDATU_INV,
*字段:UKURS汇率
UKURS类型UKURS_CURR,
*字段:ZDATE转换日期
ZDATE TYPE C长度8,
TY_TCURR的结尾。

数据:TI_TCURR TY_TCURR的类型表,
WA_TCURR TYPE TY_TCURR的表。

* $ * $全局结尾-插入 您的声明仅在此行之前*-*

****************************************

* $ * $例程的开头-仅在此行下方插入代码*-*
..."在此处插入代码
*-用结构" MONITOR_REC"的值填充表" MONITOR"
*-创建监视器条目
..."取消更新过程
*引发异常类型CX_RSROUT_ABORT。

如果SOURCE_PACKAGE []不初始化。

SELECT

KURST
FCURR
TCURR
GDATU
UKURS

从TCURR
到表ti_TCURR
中,用于源_包中的所有条目 KURST ='M'AND
FCURR = SOURCE_PACKAGE-ORDER_CURR AND
TCURR = SOURCE_PACKAGE-LOC_CURRCY。

FIELD-SYMBOLS 类型ty_TCURR。
数据:vl_data类型char10。
>在ti_TCURR处分配循环。 +6(4)vl_data + 3(2)vl_data(2)
放入 -zdate


endloop。

如果sy-subrc是INITIAL。< br> KURST FCURR T的SORT ti_TCURR CURR ZDATE。
ENDIF。
ENDIF。

* $ * $例程结尾-仅在此行之前插入代码*-*

但是我认为我的性能问题在一个野外例程中:

数据:VL_DATA_AUX类型SY-DATUM。
VL_DATA_AUX = SOURCE_FIELDS-PSTNG_DATE。

在哪里
KURST ='M'AND
FCURR = SOURCE_FIELDS-ORDER_CURR AND
TCURR = SOURCE_FIELDS-LOC_CURRCY。

如果IF
-ZDATE> VL_DATA_AUX。
继续。
ELSE。
结果= -UKURS。
退出。
ENDIF。
ENDLOOP。

我在做什么错? 我该如何改善这个常规? 处理DTP需要很长时间。

提前谢谢!