1.数据类型
Type Description DL Initial value
C Character 1 Space
N Numeric text 1 '00...0'
D Date YYYYMMDD 8 '00000000'
T Time HHMMSS 6 '000000'
X Byte (heXadecimal) 1 X'00'
I Integer 4 0
P Packed number 8 0
F Floating point number 8 '0.0'
STRING String variable empty string
XSTRING Byte sequence (X string) variable empty X string
定义数据:
DATA SAMP[(n)] TYPE C/N... .单一定义C型[长度n]数据SAMP
DATA:SAMP[(n)] TYPE C/N ,
SAMP2[(n)] TYPE C/N . 多个数据定义
DATA: begin of SAMP,
SAMP2[(n)] TYPE C/N ,
SAMP3[(n)] TYPE C/N ,
end of SAMP [,/. ] 一个结构定义,多个定义
begin of SAMP4,
end of SAMP .
根据已有数据定义 把TYPE C/N 改成LIKE fref(要参考的数据)
**选择类型 : <BT < 使用selection-low/high 包含端点
**严格大小写 :LT< low , LE<=,GT>,GE>=, EQ= ,NE=not EQ, "CP", , **NB
**选择类型 :NP".
*&---------------------------------------------------------------------*
*& Report Zlonpro5 *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
**变量输入测试sql语句以及输出
**
**一个ABAP基础学习样例本程序调试通过
********************************************************
REPORT Zlonpro5 .
tables t100.
********************************************************
*定义屏幕输入变量用 parameters多个:,分开。
parameters:
sprsl like t100-sprsl,
arbgb like t100-arbgb,
msgnr like t100-msgnr,
text like t100-text.
** include 就是把该include类型中的代码全盘复制过来使用的作用
**include ztestinclude .
********************************************************
**定义数据data用TYPE或者LIKE事例 多个:,分开。常用数据类型如下:
* C -- Character (1)Space //N --Numeric text (1) '00...0'
* D -- Date YYYYMMDD (8)'00000000'//T --Time HHMMSS (6) '000000'
* X -- Byte (heXadecimal)(1)X'00' // I -- Integer (4) 0
* P -- Packed number (8)0 /// F --Floating point number (8) '0.0'
* STRING -- String variable empty string
* XSTRING -- Byte sequence (X string) variable empty X string
*C N X:最大65535 P:1-16
*************************************************************
**定义结构用begin of。。。 end of结束自定义数据类型types:可以单个也可以
*定义数据一样定义自定义结构类型 TYPES type(len).
* TYPES: BEGIN OF structype, ... END OF structype.
*FIELD-SYMBOLS <fs>[STRUCTURE SBOOK DEFAULT SBOOK_WA.].
*定义 symbolic field用 ASSIGN赋值
* begin of teststr,
* teststr-sprsl like t100-sprsl,
* teststr-arbgb like t100-arbgb,
* teststr-msgnr like t100-msgnr,
* teststr-text like t100-text,
* end of teststr.
*************************************************************
**看看decimals 用处
data:
shuju type p decimals 2 value '123456.568 ',
teststr like t100.
teststr-sprsl = sprsl.
teststr-arbgb = arbgb.
teststr-msgnr = msgnr .
teststr-text = text.
write: / '数据转入。。 '.
************************************************************
*调用子程序:在主程序中用perform
*delete from t100 where sprsl = 'zh'.
perform uw.
write / '第二个子程序 测试宏Marco ' .
perform uv.
************************************************************
*子程序开始 form frmname. 。。。 注意endform.
form uw.
***test for insert
insert into t100 values teststr.
write : / 'ok'.
* select single * from T100 into teststr
**选择单条记录放入结构中
clear teststr.
write: / shuju .
write: / 'already clear' INVERSE COLOR 3 .
*AS CHECKBOX.
****test for select
select * from T100 into teststr
where sprsl = 'zh'.
***************************************************************
*输出格式:直接输出值('’)或变量;
*用/ n 或者 at n (m)定位输出屏幕位置n输出长度 m,
*用,分开多个输出如下是:以及输出颜色INVERSE COLOR,输出形式as ...
**skip n 输出空行。
***************************************************************
write: /23(3) 'already ok' INVERSE COLOR 3.
skip 3.
write :
/ 'lang ', 8 ' area ', 18 'msgno ', 30 'wenben' ,
/'--------------------------------------------------------------',
/ teststr-sprsl ,8 teststr-arbgb,18 teststr-msgnr,30 teststr-text .
*write at 34(2) 'ceshi' .
endselect.
*******************************************************************
**LEFT-JUSTIFIED 输出左对齐。CENTERED 居中。RIGHT-JUSTIFIED 右对齐。
* UNDER <g> 输出开始于字段 <g> 下对齐。NO-GAP忽略字段 <f> 后空格连接。
* USING EDIT MASK <m> 指定格式模板 <m>。
*USING NO EDIT MASK 撤 消对 ABAP/4 词典中指定 的格式模板 的激活。
*NO-ZERO 当字段仅包含零,则用空格代替它们。对C N字段,自动代替前零。
*********************************************************************
write : / '第一次输出结束〈〈〈〈〈','准备第二次输出',
/ .
* delete from t100 where text = 'abcde'.
* select * from T100 into teststr
* where sprsl = 'zh'.
* if
** SY-SUBRC = 4 and SY-SUBRC = 8.
** write : / SY-SUBRC ,
** / 'There is empty '.
** else .
* write :
* / teststr-sprsl ,8 teststr-arbgb,18 teststr-msgnr,30 teststr-text.
** endif.
*endselect.
endform.
***********************************************************************
form uv.
DATA: RESULT TYPE I,
N1 TYPE I VALUE 5,
N2 TYPE I VALUE 6.
*****************************************
***定义宏用define hongname句中的注释用 "引导
DEFINE OPERATION.
RESULT = &1 &2 &3. " 定义替换 &1 第一个替换.
OUTPUT &1 &2 &3 RESULT. "嵌套定义宏.
END-OF-DEFINITION.
DEFINE OUTPUT.
WRITE: / 'The result of &1 &2 &3 is', &4.
END-OF-DEFINITION.
OPERATION 4 + 3 . " 4替换&1.
OPERATION 2 ** 7. " **连字符替换&2
OPERATION N2 - N1.
endform.