SAP ABAP/4学习--TABLEVIEW 的代码分析

这篇博客详细分析了如何在 SAP ABAP/4 中非向导方式创建 TABLEVIEW,涉及输入、输出、表格操作及用户交互等关键代码。通过示例代码,讲解了TABLEVIEW的初始化、选择、删除、排序等功能的实现。
摘要由CSDN通过智能技术生成

TABLEVIEW 的代码分析

 

                                                SSOLE

 

 

*&---------------------------------------------------------------------*

*& Report  ZTEST_BC410_TABLE                                           *

*&                                                                     *

*&---------------------------------------------------------------------*

*&                                                                     *

*&  用非向导方式来做TABLEVIEW                                                                   

*&---------------------------------------------------------------------*

 

REPORT  ZTEST_BC410_TABLE                       .

                            .

TABLES: MARA, MAKT.

 

*定义一个内表,TABLE控件,就参照这个内表来显示.

* INPUT是第一列,用来选择列.CHAR ,1.

 

DATA: BEGIN OF GIT_MARA OCCURS 0,

        INPUT,

        MATNR LIKE MARA-MATNR,

        CHKBOX,

        MAKTX LIKE MAKT-MAKTX,

        TMP,

      END OF GIT_MARA.

 

* OK_CODE的定义

DATA: OK_CODE LIKE SY-UCOMM,

      SAVE_OK LIKE OK_CODE.

 

* 常量的定义,就是选择和没被选择.

CONSTANTS: CNS_SEL VALUE 'X',

           CNS_SEL_NO VALUE ' ',

           CNS_TRUE VALUE '1',

           CNS_FALSE VALUE '0'.

 

*定义一个TABLEVIEW对象.

CONTROLS TBLC TYPE TABLEVIEW USING SCREEN 1000.

 

*定义一个结构是TABLE对象的一行

DATA: G_COL LIKE LINE OF TBLC-COLS,

      G_SCREEN_FLG VALUE '',

      G_DATAR VALUE ''.

 

  CALL SCREEN 500.

 

START-OF-SELECTION.

  CASE SY-UCOMM.

    WHEN 'OUTPUT'.

      PERFORM FRM_PRT_DATA.

  ENDCASE.

 

*&---------------------------------------------------------------------*

*&      Module  STATUS_1000  OUTPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE STATUS_1000 OUTPUT.

  SET PF-STATUS 'STATUS_1000'.

ENDMODULE.                 " STATUS_1000  OUTPUT

 

*&---------------------------------------------------------------------*

*&      Module  CANCEL  INPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE CANCEL INPUT.

DATA C_ANTWORT.

 

  IF G_DATAR = CNS_SEL.

    CALL FUNCTION 'POPUP_TO_CONFIRM'

      EXPORTING

        TITLEBAR                    = 'MESSAGE'

        text_question               = 'don"t save it'

        TEXT_BUTTON_1               = 'yes'

        TEXT_BUTTON_2               = 'no'

        DEFAULT_BUTTON              = '1'

        DISPLAY_CANCEL_BUTTON       = ''

        START_COLUMN                = 25

        START_ROW                   = 6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值