写作于2017年2月17日。

Java和ABAP只能根据字符串通过反射获得变量的metadata,像标题描述的这个需求听起来有点怪。需求是Mervin实现Range search时需要根据range table的内容来动态拼OPEN SQL,OPEN SQL里的statement必须是range table的变量名。
AG9:
这四个参数模拟search支持的attribute,如果runtime时候哪个参数传了值进去,就把哪个参数名拼到SQL去:

具体实现:

  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.

测试:

输出:
参数名已经动态拼到SQL里去了:

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

根据变量值取得变量的参数名相关推荐

  1. 通过反射将变量值转为变量名本身

    通过反射将变量值转为变量名本身 这是.NET反射的一个有趣小例子:  通过反射将变量值转为变量名本身. 当然要先添加命名空间:using System.Reflection; 示例代码如下: clas ...

  2. ejs获取js变量值_EJS变量(注入值)

    ejs获取js变量值 Hi! Welcome to NODE AND EJS TEMPLATE ENGINE SERIES. Today, we will talk about EJS variabl ...

  3. php js变量值sql_php 变量查询数据库

    <PHP精粹:编写高效PHP代码>--2.4节PHP数据库对象 本节书摘来自华章社区<PHP精粹:编写高效PHP代码>一书中的第2章,第2.4节PHP数据库对象,作者:(美) ...

  4. oracle定义变量sql赋值_ORACLE获取SQL绑定变量值的方法总结

    本文总结一下ORACLE数据库中如何获取SQL绑定变量值的方法,在SQL优化调优过程中,经常会用到这方面的知识点.在此梳理.总结一下这方面的知识点,方面日后查找.翻阅. 方法1:查询V$SQL V$S ...

  5. pythontk界面显示函数中的变量值_简单易学,西门子触摸屏3种修改变量值的方法!博图Wincc V14组态...

    应条友要求,今天分享3种修改触摸屏变量值的最常用方法! 全文约700字,通读4分钟! 看完本章,你将收获以下内容: 一:必会知识点:3种修改变量的方法及适用点 二:实例:3种方法修改触摸屏变量值 三: ...

  6. IAR中如何实时观察变量值

    用一个简单的程序演示一下,首先进入到调试界面. 选中要观察的变量,然后单击鼠标右键选择 Add to Watch "j",将要观察的变量依次添加到观察窗口,然后单步执行,或者让程序 ...

  7. JavaScript获取java变量值

    JavaScript获取java变量值 js变量获取JSP页面中java代码中的变量值.通过<%=java变量%>的方式赋值给js变量. 1.定义java变量,一定是全局变量. <% ...

  8. 环境变量 变量名 变量值_如何使用环境变量

    环境变量 变量名 变量值 Environment variables are a set of dynamic named values that can affect the way running ...

  9. python函数用法详解2(变量的作用域(全局变量、局部变量)、共享全局变量、函数返回值、函数的参数(位置参数、关键字参数、默认参数、不定长参数)、拆包、交换变量值、引用、可变和不可变类型)

    1. 变量作⽤域         变量作⽤域指的是变量⽣效的范围,主要分为两类:局部变量和全局变量. 局部变量         定义在函数体内部的变量,即只在函数体内部⽣效. def testA(): ...

最新文章

  1. 学习web前端开发要注意什么
  2. mysql数据库优化大全_MySQL数据库优化技巧大全
  3. 程序员的能力拓展模型
  4. 机器学习理论《统计学习方法》学习笔记:第十一章 条件随机场(CRF)
  5. Git教程学习(四)
  6. 终生学习,是我们不被时代淘汰最大的财富
  7. HarmonyOS官网壁纸图片,华为鸿蒙系统HarmonyOS目前收集到的壁纸分享
  8. cryptoJs 前端用法
  9. 怎样下载ImageNet数据集并使用?
  10. python 开发个人日常操作笔记
  11. 解决WIN10“系统和压缩内存”“ntoskrnl.exe”系统空闲时占用大量CPU
  12. 汇编语言中xor指令_XOR寄存器,寄存器(汇编程序)
  13. matlab一维矩形积分,玩转matlab之一维 gauss 数值积分公式及matlab源代码
  14. 华为海思 hikey970 详细介绍
  15. 56-OvR 和 OvO
  16. c++未定义的引用问题总结
  17. 【TensorFlow 官网 可以直接访问】让中国开发者更容易地使用TensorFlow打造人工智能应用
  18. 车企数字化转型研究:如何实现“以用户为中心”的数字化转型?
  19. 随机生成验证码及发送短信验证码
  20. 杜拉克的有效的管理者研究(1974)-zz

热门文章

  1. linux 系统将某目录下的可执行文件添加环境变量,jenkins创建shell长链接却找不到
  2. 文献学习(part30)--Clustering of temporal gene expression data by regularized spline regression and...
  3. Django从理论到实战(part34)--聚合函数
  4. Jupyter中打印所有结果的解决办法
  5. TypeScript里的Index signature
  6. SAP UI5和Angular的函数防抖(Debounce)和函数节流(Throttle)实现原理介绍
  7. 我司编写Angular单元测试的一些非正式规范
  8. SAP Spartacus如何禁止某些标准的css样式
  9. SAP Commerce的extensioninfo.xml
  10. SAP CRM呼叫中心的邮件发送实现 - Function module CRM_EMAIL_SEND_EMAIL