ABAP中能不能依靠循环来声明变量?

问题描述

现在有个需求,需要一个月里,按天输出数据,所以想弄个循环,小弟ABAP纯新手,现在有点小问题,ABAP中能不能实现Datastring1TypeCvalue"xxxx"Datastring2TypeCvalue"xxxx"Datastring3TypeCvalue"xxxx"....................................................Datastring30TypeCvalue"xxxx"转为Datalengthtypeivalue1Whilelength<30Datastring+itypecvalue"xxxxx"length=length+1EndWhile就像很多其他语言一样,或者用数组也行,谢谢

解决方案

本帖最后由 victor_armin 于 2011-11-23 12:19:06 编辑
解决方案二:
filedsymbol可以实现的
解决方案三:
data:lv_countertypei.field-symbols:<fs_data>.do30times.lv_counter=lv_counter+1.concatenate'string''lv_counter'into<fs_data>.输出<fs_data>.endo.
解决方案四:
不好意思说错了,<FS>必须用assign来赋值,你可以先把值赋给一个变量再assign给<fs>.
解决方案五:
呃,关键是Assign这句怎么写?例如,我们现在的内表是:data:beginofI_MMTBoccurs0,MATNRlikeMARA-MATNR,MTARTlikeMARA-MTART,MATKLlikeMARA-MATKL,MAKTXlikeMAKT-MAKTX,MFRPNlikeMARA-MFRPN,WERKSLIKEMARC-WERKS,JYSLlikeMARC-EISBE,"结余数量endofI_MMTB.现在其实是想增加一个月1-30天的具体结余数量,从JYSL01,JYSL02....到JYSL30...,就如同这样一个内表:data:beginofI_MMTBoccurs0,MATNRlikeMARA-MATNR,MTARTlikeMARA-MTART,MATKLlikeMARA-MATKL,MAKTXlikeMAKT-MAKTX,MFRPNlikeMARA-MFRPN,WERKSLIKEMARC-WERKS,JYSLlikeMARC-EISBE,"结余数量JYSL01likeMARC-EISBE,"1号结余数量JYSL02likeMARC-EISBE,"2号结余数量JYSL03likeMARC-EISBE,"3号结余数量....................................................JYSL01likeMARC-EISBE,"31号结余数量endofI_MMTB.请问如何Assign进去呢?谢谢。
解决方案六:
就是取表里面的JYSL01-JYSL30么?可以这样field-symbol:<fs_data>typeMARC-EISBE.data:lv_countertypenum2.data:lv_stringtypestring.do30times.lv_counter=lv_counter+1.concatenate'JYSL'lv_counterintolv_string."lv_string='JYSLXX'assigncomponentlv_stringofstructurei_mmtbto<fs_data>."<fs_data>就取到了1-30号的结余数量。输出:endo.field-symbol类似指针操作的是地址。
解决方案七:
回楼上的同学,不是取,取得话的确用的是指针的方法,问题是建内表的时候怎么弄啊...?这个帖子有段时间了,我最后就是从JYSL01-JYSL31这么在内表了写了31行的代码,自己看着都觉得挺傻的,但为了交差就那么交上去了,但是从提升自己能力的角度出发,还是想知道有没有办法能够用指针或者什么方式创建内表?
解决方案八:
define
解决方案九:
指针的方法
解决方案十:
指针能实现,但是我觉得试试用内表比较妥当,把所有数据赋值进内表,按照日期读取出出来。data:bengoftab,date(2)typec,data(200)typec,endoftab.

时间: 2024-09-21 13:57:07

ABAP中能不能依靠循环来声明变量?的相关文章

JAVASCRIPT脚本中为什么在函数的外部声明变量不能够像java和C#中的全局变量一样在其以下的函数中使用?

问题描述 代码如下所示:<scripttype="text/javascript"language="javascript">varName=document.form1.text1.value;functioncheckForm(){if(Name==""){alert("请输入用户名!");document.form1.text1.focus();returnfalse;}}</script>

oracle存储过程、声明变量、for循环(转)

oracle存储过程.声明变量.for循环  1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out type) as --声明变量(变量名 变量类型) begin --存储过程的执行体 end test; 打印出输入的时间信息 E.g: create or replace procedure test(workDate in Date) is begin dbms_output.putline(&a

在Exchange Server 2007中设置邮件的免责声明

在Exchange Server 2007中设置邮件的免责声明变得非常简单,只需在"集中传输服务器"上面新建一条传输规则就可以搞定,目前好象只能够在"集中传输服务器"上进行设置,在"边缘服务器上"设置不了,目前我在"边缘服务器"的传输规则中找不到可以设置的选项,以下为具体操作步骤: 1. 打开"Exchange 管理控制台",展开"组织配置",定位到"集线器传输",在

如何在ppt中设置幻灯片定时循环播放

  在ppt中设置幻灯片定时循环播放的方法: 先打开你需要设置的PPT,我这里直接制作一个新的PPT.我需要一个图片的PPT放映,就直接插入图片了. 然后在工具栏里找到"动画"选项卡,在右边"换片方式"那里找到"在此之后自动设置动画效果:",在框里输入幻灯片切换的时间,我这里输入了20秒.这里设置的是一张幻灯片的,要想全部都以20秒一张放映的话要记得在旁边的"全部应用"点一下. 上面是设置每一张幻灯片放映的切换时间,到最后一张

Lua中的repeat...until循环语句使用教程

  这篇文章主要介绍了Lua中的repeat...until循环语句使用教程,是Lua入门学习中的基础教程,需要的朋友可以参考下 与for和while循环不同,在循环的顶部测试循环条件,Lua编程语言的repeat...until 循环检查循环底部的状态. repeat...until 循环类似于while循环,不同的是do ... while循环是保证至少执行一次. 语法 Lua编程语言repeat...until循环的语法是: 代码如下: repeat statement(s) until(

为什么java中的类里面还能声明一个静态的自己

问题描述 为什么java中的类里面还能声明一个静态的自己 如题,感觉这种情况好诡异,能不能解释一下下面这段代码的流程呢?代码如下 public class CameraInterface { private static final String TAG = "yanzi"; private Camera mCamera; private Camera.Parameters mParams; private boolean isPreviewing = false; private f

关于jsp中连接数据库查询并循环遍历的问题

问题描述 关于jsp中连接数据库查询并循环遍历的问题 String all="select sShopCode,sum(iNumb) as iNumbHj,sum (rMoney) as rMoneyHj from [Data_ShopDailyBill_View] where (dDjDate>='"+qishiriqi+"' and dDjDate<='"+jiezhiriqi+"') group by sShopCode"; S

javascript-js中两个for循环之间的传值问题

问题描述 js中两个for循环之间的传值问题 假设有两个for循环 var data=0; for(var a=0;a<9;a++){ data+=a; } 那么我在第二个for循环中怎么取得第一个for循环的值 for(var b=0;b<9;b++){ alert(data); data+=b; } 在第二个for循环中alert出来的都是0. 解决方案 两个循环在一个函数中么?直接写应该是可以的. 如果不在一个函数,第一个的data写在函数外面,定义成全局的. 解决方案二: 如果你是想第

java-Java中递归快还是循环快?

问题描述 Java中递归快还是循环快? Java中递归快还是循环快? 还是有什么适用情况? 例如求100万的阶乘 解决方案 数据小的话用递归,数据大还是用循坏吧,毕竟递归太消耗内存 解决方案二: 这个要做性能测试,代码会可能被优化,所以递归,循环都可能有优化. 解决方案三: 循环快,逻辑简单些. 解决方案四: 一般来说循环都比递归要快点. 解决方案五: 这个的测试一下,但是我觉得是递归简单. 解决方案六: 一般解决同一个问题最好选择循环,递归比较消耗内存 解决方案七: 原则上能用循环解决的不用递