ABAP基本数据类型
image.png
ABAP程序语法
程序编辑器事务码 SE38, SE16N 编辑数据字典
输入事务码SE38 报表开发ZR命名,例如ZR_FIELD_YETENG。
数据定义
, 逗号分隔,以.结束。
- 有参考表时以表-字段定义,例如
DATA: LF_KEHUHAOMA TYPE ZTAB_KAN1_YETENG-ZKEHU VALUE '100036',
LF_KEHUMIAOSHU TYPE ZTAB_KAN1_YETENG-ZKEHUMIAOSHU, "客户描述,注释
LF_CHENGSHI TYPE STRING VALUE '重庆市渝中区',
LF_KEHUDIZHI TYPE ZTAB_KAN1_YETENG-ZKEHUDIZHI,
LF_KEHUXINGZHI TYPE ZTAB_KAN1_YETENG-ZKEHUXINGZHI VALUE '3',
LF_LIANXIREN TYPE ZTAB_KAN1_YETENG-ZLIANXIREN VALUE '叶藤',
LF_JIANLIRIQI TYPE ZTAB_KAN1_YETENG-ZJIANLIRIQI,
LF_KEHUXINGYONGEDU TYPE ZTAB_KAN1_YETENG-ZKEHUXINGYONGEDU VALUE '10000.00'.
*注释,YETENG,200512-----------------------START
- 无参考表时可直接声明,例如
DATA: LF_A TYPE CHAR57.
- 声明现在时间
DATA: LF_JIANLIRIQI TYPE CHAR20.
LF_JIANLIRIQI = SY-DATUM.
- 声明小数数字
两位小数
DATA: LF_PRICE TYPE P DECIMALS 2.
输出与输入
输出:注意如下格式,其中0,3代表整体向左移动的位数,(3)代表移动后取得位数。
WRITE:'客户号码:' ,LF_KEHUHAOMA ,'城市:' ,LF_CHENGSHI+0(3), ' 区:', LF_CHENGSHI+3(3),
/ '客户号码:' ,LF_KEHUHAOMA2 ,'城市:' ,LF_CHENGSHI2+0(3), ' 区:', LF_CHENGSHI2+3(3).
输入: 这是关联了表的字段,选择文本消息,再选择选择文本,数据字典参考打钩即可。
PARAMETERS: LF_B TYPE ZTAB_KAN1_YETENG-ZKEHU.
语法
IF 语法
image.png
例如
IF LF_B = 100036.
WRITE: LF_KEHUMIAOSHU.
ELSEIF LF_B = 100037.
WRITE:LF_KEHUMIAOSHU2.
ELSE.
WRITE: / 'NULL'.
ENDIF.
字符串拼接
DATA: LF_A TYPE CHAR57.
LF_A = LF_KEHUHAOMA && '/' && LF_KEHUMIAOSHU.
WRITE: / LF_A.
CASE WHEN 语法
PARAMETERS LF_KUNNR TYPE KNA1-KUNNR.
DATA: LF_NAME TYPE KNA1-NAME1.
CASE LF_KUNNR.
WHEN '0000002800'.
LF_NAME = '2800NAME'.
WHEN '1'.
LF_NAME = '1NAME'.
WHEN OTHERS.
LF_NAME = 'OTHERSNAME'.
ENDCASE.
WRITE: LF_NAME.
调用/H 打开调试模式 发现输入的2800会自动补为0000002800
DO ENDO 语法
DO 10 TIMES.
WRITE: / SY-INDEX,
/ SY-UZEIT.
ENDDO.
循环十次,SY-INDEX代表次数, SY-UZEIT代表时间
WHILE 语法
WHILE SY-INDEX < 5.
WRITE: / SY-INDEX NO-GAP.
ENDWHILE.