abap关键语法记录

本文介绍了ABAP中的一些核心语法,包括LOOP AT用于遍历表的用法,如何创建和使用RadioButton,内表的声明及带标题行的定义,以及不同类型内表的创建。此外,还涉及了屏幕元素的编辑状态控制,Dialog表控件的行数设置,以及日期操作的示例代码。

关于loop用法:

 LOOP AT IT_MESSAGE WHERE MSGTYP = 'S' AND
                           MSGID  = 'CO'.

 

关于radiobutton.制作:

  SELECTION-SCREEN BEGIN OF BLOCK a2 WITH FRAME TITLE text-002.
PARAMETERS: r_list RADIOBUTTON GROUP rad.
PARAMETERS: r_grid RADIOBUTTON GROUP rad.
SELECTION-SCREEN END OF BLOCK a2.

调用的时候要这样:

     CASE 'X'.
    WHEN r_list.
      PERFORM print_list.
    WHEN r_grid.
      PERFORM print_grid.
    WHEN OTHERS.

     ENDCASE.

 

关于内表的声明:

  Data: Begin of line,

    col1 type I,

    col2 type I,

  End of line.

  Data itab like line occurs 10. 

  Do 2 times.

     Line-col1 = sy-index.

     Line-col2 = sy-index ** 2.

     Append line to itab.

  Enddo

这种定义方式自带了headline.

 

data: begin of itab occurs 3,

      col1(3) type c,

      col2(4) type c,

      end of  itab.

这里就定义了一个Interner table 并且自己带有header line.

  TYPES: BEGIN OF ty_invoice,
        xblnr TYPE vbrkxblnr_v1,
       END OF ty_invoice.

  DATA: it_invoice TYPE ty_invoice OCCURS 0,
        wa_invoice TYPE ty_invoice,

这种定义方式就是推荐的标准定义内表和work are的方式。

Using TYPES we cannot create an internal table. 

DATA+TYPE/LIKE所定义的iitabwith header line 是可选的。

 

DATA lt_top_of_page LIKE LINE OF gt_list_top_of_page.

这里也定义了一个workarea.

 

tables: zekko

   DATA :        gt_ekko TYPE STANDARD TABLE OF zekko

在这里定义的一个内表是没有header line的,

 

 

设置屏幕元素不可编辑状态:

  LOOP AT SCREEN.
        CASE screen-name.
          WHEN 'BUT_CRE'.
            screen-active = '1'.
          WHEN OTHERS.
        ENDCASE.
        MODIFY SCREEN.
      ENDLOOP.  

 

以下代码是关于dialog的table contral 的,作用就是把internal table 的行数赋值给一个table contral:

MODULE set_line OUTPUT.
  DESCRIBE TABLE gt_ekko LINES line_count.
  tblctrl-lines = line_count.

"这里的tblctrl用  CONTROLS: tblctrl TYPE TABLEVIEW USING SCREEN 100. 来定义
ENDMODULE. 

 

 

 

以下是一些关于日期的操作的代码:

data: mdata type d.
mdata = sy-datum. ''假如现在是19971015
mdata +6(2) = '01'   ''mdata 变成19971001
mdata = mdata -1  这个时候madata 变成19970931

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值