今天学习一下内表的表达式在ABAP 7.4之后的语法: SELECT * FROM mara INTO TABLE @DATA(gt_mara)UP TO 10 ROWS. DATA gt_mara_sort TYPE SORTED TABLE OF mara WITH UNIQUE KEY primary_key COMPONENTS matnr. "旧语法DATA LV_MATKL TYPE MARA-MATKL. INTO DATA(LS_MARA).READ TABLE gt_mara_
工作区域跟变量一样,是用来保存数据的.区别是变量只能从中保存一个数据.而工作区域可以存放多个.把多个数据合在一起就成工作区域了.下面我们来看看工作区域是如何定义的吧.定义有四种方法,如下:1,直接定义DATA: BEGIN OF WA_EKBE,MATNR TYPE MARA-MATNR,MAKTX TYPE MAKT-MAKTX,END OF WA_EKBE.上面是以BEGIN和END关键字开始,在其中的就是其工作区域的内容.它存放的内容也就是这两个. 2,参照表或结构DATA: W
1.语法为 CONV dTYPE|#(...)\ # 代表任意类型 "7.40之前表达式 . DATA helper TYPE string. DATA xstr TYPE xstring. helper = text. xstr = cl_abap_codepage=>convert_to( source = helper ). "7.40之后 DATA text TYPE c LENGTH 255. text = 'zhujx'. DATA(xstr1) = cl_abap_
什么是内表:内表是内存中建立的一个临时表,你可以在程序运行时对表中的数据进行,插入,修改,删除等操作,程序跑完了,就会被释放. 定义类型:通过types开头定义 TYPES: BEGIN OF line, field1 TYPE i, field2 TYPE i, END OF line. 参考类型定义结构.工作区域.变量:定义结构通过data开头定义 DATA: WA _ITAB TYPE(LIKE) line. “ 声明一个内表工作区 DATA: ITAB TYPE(LIKE) STANDA
有时候屏幕条件中使用PARAMETERS时候,如果你为空的话,会查不出数据,但是可能你的想法是不想限制而已,但是系统默认理解为了空值,这个时候,如果取判断一下条件是不是空,在SQL里决定写不写的话,会导致很多的代码,当然理论上是可以的,现在介绍一种可以随机应变的屏幕条件选择的写法,可以省下很多的代码,例子如下. 第一种写法,代码如下: SELECT-OPTIONS:S_ERZET FOR VBAK-ERZET, S_ERNAM FOR VBAK-ERNAM. PARAMETERS:P_VBELN