ABAP 给动态变量赋值

【转自 http://blog.csdn.net/forever_crazy/article/details/6544830】

需求: 有时写程序的时候,需要给某个动态变量 赋值操作,当字段比较多时,如果用常规方法赋值 就会显得代码很冗余,其实可以用变量的间接寻址赋值。

ex1:

data    c1    type    char10.

data    c2     type    char10.

field-symbols  <fs>  type  any.

c1  = ‘C2‘.             "注意:此时的这个要赋值的变量“C2”一定要是大写的,因为在abap内部    变量名都是以大写格式保存的。

c2 = ‘test1‘.

assign  (c1)  to  <fs>.

<fs>  = ‘test2‘.

这时变量c2的内容由 ‘test1‘  ->   ‘test2‘.

该种方法适用于 多个变量要进行动态赋值时使用。

下面例子说明:点下那个按钮就将那个按钮文本设为‘test‘.

data  ok_code      type   sy-ucomm.

data  l_but           type    char10.

field-symbols  <fs> type any.

parameters:

pushbutton  2(10)    pb1   user-command pb1,

pushbutton  12(10)  pb2   user-command pb2,

pushbutton  22(10)  pb3   user-command pb3,

pushbutton  32(10)  pb4   user-command pb4.

at selection-screen.

ok_code = sy-ucomm.

l_but = ok_code.

assign (l_but)  to  <fs>.

<fs> = ‘test‘.

该方法减少了对每个按钮都要进行判断然后赋值,减少了代码的冗余。

时间: 2024-10-25 01:50:29

ABAP 给动态变量赋值的相关文章

【原创】关于用python创建动态变量赋值

当在枚举一些元素的时候,每个元素需要创建不同的变量改怎么写? 这个时候可以利用loads()创建动态变量! 例如: n=0 createVar = locals() #print len(set(allcategory)) for cate in set(allcategory): n+=1 desc_class[cate] = creat_class(cate,n) createVar[cate + 'id'] = 0 createVar[cate + 'eid'] = 70000 创建变量后

ABAP 7.50 新特性 – Open SQL中的宿主表达式和其它表达式

在长期的停滞后,Open SQL的发展终于从沉睡中醒来.从ABAP 7.40开始,SAP推进了某些关键的改变,以尽可能地包含SQL92中的特性,并提供与ABAP CDS中的DDL里面的SELECT一样的功能给Open SQL.为了实现这些目标,ABAP运行时环境中引入了一个新的SQL parser作为Open SQL的新基础.结果就是,Open SQL现在可以在ABAP中扮演一些和以往不同的角色了. 虽然在7.40之前,Open SQL更多地被视为ABAP语言本身的一部分,但在同时,SQL关键字

ABAP基础:数据类型

数据类型-Data Type:定义程序中可以使用的数据类型,使用前要先定义 数据变量-Data Variable:参照数据类型定义的.可以存储值的变量,就是变量嘛 数据类型 数据类型在ABAP程序中用于定义变量类型 数据类型和数据对象是单独声明的,数据对象则参照数据类型定义 在程序中利用TYPES语句声明数据类型,只能在该程序中使用,也成为本地数据类型 本地数据类型可以参照ABAP数据类型进行声明 数据变量 数据变量是在程序中参照数据类型定义的值. 常用方法是用Data语句定义变量 注意:变量实

Objective-C中的多态、点语法和动态类型总结

一. 多态 1. 多态概念,定义 什么是多态:多态就是某一类事物的多种形态: 表现形式:  Animal *ani = [Dog new]; 多态条件:1.有继承关系     2.有方法的重写 2.多态代码实现: //实例化猫的对象 Animal *animal  = [Cat new]; //父类的指针指向子类对象: [animal eat]; //实例化狗的对象 animal = [Dog new]; //父类的指针指向子类对象. [animal eat]; 3.多态注意点: 1) 如果存在

JSTL标准标签库详解

JSTL标签库的使用是为类弥补html表的不足,规范自定义标签的使用而诞生的.在告别modle1模式开发应用程序后,人们开始注重软件的分层设计,不希望在jsp页面中出现java逻辑代码,同时也由于自定义标签的开发难度较大和不利于技术标准化产生了自定义标签库.JSTL标签库可分为5类: q        核心标签库 q        I18N格式化标签库 q        SQL标签库 q        XML标签库 q        函数标签库 本章将对这些内容一一讲述. 9.1 核心标签库 J

JSTL标签库(转)

原文地址:http://www.blogjava.net/maverick1003/articles/236575.html JSTL标签库 JSTL标签库的使用是为类弥补html表的不足,规范自定义标签的使用而诞生的.在告别modle1模式开发应用程序后,人们开始注重软件的分层设计,不希望在jsp页面中出现java逻辑代码,同时也由于自定义标签的开发难度较大和不利于技术标准化产生了自定义标签库. JSTL标签库可分为5类: 1      核心标签库 2        I18N格式化标签库 3 

ABAP实战Smart Forms设计

Smart Forms是ABAP设计单据打印的工具,设计过程由两部分组成: (1)在Smart Forms设计单据的样式.输入输出数据接口: (2)编程调用设计单据.输出数据,实现打印输出. 本博文先以一个简单的例子,将Form与程序联调,快速了解整个设计过程,再详细介绍Smart forms相关设计及较复杂的例子. 1.一个简单的例子 本例完成有图标(公司LOGO).表头(公司名称).文字说明(表身).含当前时间的表尾的单据.打印预览界面如图 1.1.Form的制作 输入TCODE:SMART

ABAP 7.50 新特性之另一个CORRESPONDING

在ABAP中,存在着一条法则:同样的名称代表的不一定是同样的东西(具体可看最近的相关讨论). 但是如你们所知的,存在着一个很好的例外: 所有涉及到使用CORRESPONDING为结构赋值的关键字的语法形式(偶然地)有着相同的名字.. 在ABAP 7.40之前,主要有用MOVE-CORRESPONDING来复制结构组件.Open SQL的SELECT的CORRESPONDING附加字段,以及某些过时的计算语句等. 在ABAP 7.40中,MOVE-CORRESPONDING可以用于操纵带有结构的内

ABAP 内表 详解

声明:原创作品,转载时请注明文章来自SAP师太技术博客:www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4293475.html 老式的内表类型定义... 214 基于基本类型内表类型... 214 基于结构体类型内表类型... 215 老式的内表对象创建... 215 参照现有内表类型或内表对象来创建... 215 参照现有结构类型或结构对象来