abap基础

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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值