根据变量值取得变量的参数名
生活随笔
收集整理的這篇文章主要介紹了
根据变量值取得变量的参数名
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
寫作于2017年2月17日。
Java和ABAP只能根據(jù)字符串通過反射獲得變量的metadata,像標題描述的這個需求聽起來有點怪。需求是Mervin實現(xiàn)Range search時需要根據(jù)range table的內(nèi)容來動態(tài)拼OPEN SQL,OPEN SQL里的statement必須是range table的變量名。
AG9:
這四個參數(shù)模擬search支持的attribute,如果runtime時候哪個參數(shù)傳了值進去,就把哪個參數(shù)名拼到SQL去:
具體實現(xiàn):
method BUILD_SQL. * Jerry: move this logic to constructor!!data: lt_arg TYPE TABLE OF SEOSUBCODF.SELECT * INTO TABLE lt_arg FROM SEOSUBCODF WHERE clsname = 'ZCL_SQL'and cmpname = 'BUILD_SQL'. * Jerry: end.DATA: lv_result TYPE string value 'select from XXX'.LOOP AT lt_arg ASSIGNING FIELD-SYMBOL(<arg>).ASSIGN (<arg>-sconame) TO FIELD-SYMBOL(<arg_value>).IF sy-subrc = 0 and <arg_value> IS NOT INITIAL.lv_result = | { lv_result } WHERE { <arg>-sconame } = { <arg_value> } |.ENDIF.ENDLOOP.WRITE: / lv_result.endmethod.測試:
輸出:
參數(shù)名已經(jīng)動態(tài)拼到SQL里去了:
要獲取更多Jerry的原創(chuàng)文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的根据变量值取得变量的参数名的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 早报:苹果iOS 17首批更新内容曝光
- 下一篇: 推荐Chrome一款大气典雅神秘的主题