最小工作示例:
CLASS lcl_some_class DEFINITION. ""// <-- this is obviously lower case
PUBLIC SECTION.
CLASS-METHODS some_static_method. ""// <-- this is obviously lower case
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS lcl_some_class IMPLEMENTATION.
METHOD some_static_method.
" nothing
ENDMETHOD.
ENDCLASS.
END-OF-SELECTION.
DATA: lc_class_name_upper TYPE string VALUE 'LCL_SOME_CLASS',
lc_class_name_lower TYPE string VALUE 'lcl_some_class',
lc_method_name_upper TYPE string VALUE 'SOME_STATIC_METHOD',
lc_method_name_lower TYPE string VALUE 'some_static_method'.
CALL METHOD LCL_SOME_CLASS=>SOME_STATIC_METHOD. ""ok
CALL METHOD (lc_class_name_upper)=>(lc_method_name_upper). ""ok
CALL METHOD lcl_some_class=>SOME_STATIC_METHOD. ""ok
CALL METHOD (lc_class_name_lower)=>(lc_method_name_upper). ""failure
CALL METHOD LCL_SOME_CLASS=>some_static_method. ""ok
CALL METHOD (lc_class_name_upper)=>(lc_method_name_lower). ""failure
CALL METHOD lCl_SoMe_ClAsS=>sOmE_sTaTiC_mEtHoD. ""ok
我希望注释为“ failure”的行的行为与上面的相应行完全相同:区分大小写。但是相反,它们失败并显示以下消息之一:
CX_SY_DYN_CALL_ILLEGAL_CLASS / DYN_CALL_METH_CLASS_NOT_FOUND
en:在动态方法调用期间找不到该类。
de:Die Klasse beim dynamischen Methodenaufruf konnte nicht gefunden werden。
CX_SY_DYN_CALL_ILLEGAL_METHOD / DYN_CALL_METH_NOT_FOUND
en:在动态调用期间找不到该方法。
de:迪米·迪法尼·康纳特·本·迪南米申·奥弗鲁夫·尼赫特·吉芬登·沃登。
是否有一种方法可以使动态调用的大小写敏感-in(除了很明显的将字符串转换为大写的字符之外?] >>
最小工作示例:CLASS lcl_some_class DEFINITION。 “” //
CALL METHOD - dynamic_meth的ABAP官方文档非常简单,涉及(class_name)=>(meth_name)
和(class_name)=>meth
: