ABAP 基本语法

ABAP基本数据类型

image.png

ABAP程序语法

程序编辑器事务码 SE38, SE16N 编辑数据字典
输入事务码SE38 报表开发ZR命名,例如ZR_FIELD_YETENG。

数据定义

, 逗号分隔,以.结束。

  1. 有参考表时以表-字段定义,例如
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
  1. 无参考表时可直接声明,例如
DATA: LF_A TYPE CHAR57.
  1. 声明现在时间
DATA: LF_JIANLIRIQI TYPE CHAR20.
LF_JIANLIRIQI = SY-DATUM.
  1. 声明小数数字
    两位小数
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.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。