现在的位置: 首页 > 综合 > 正文

———————————–2007-6-27———————

2013年03月20日 ⁄ 综合 ⁄ 共 2778字 ⁄ 字号 评论关闭

-----------------------------------2007-6-27---------------------

自定义输出字段的ALV控件

标准列表输出

write语句格式化

Read语句的简单使用

 

 

 

 

 

ALV控件

(Auto List View)SAP中显示数据的重要控件

 

自定义输出字段的ALV控件

主要函数:REUSE_ALV_LIST_DISPLAY

Eg.

TABLES MAKT.

*ALV使用到的类库

TYPE-POOLS:SLIS.

 

*一列描述

DATA: WA_ALV_FILED TYPE SLIS_FIELDCAT_ALV.

*列描述内表,列清单

DATA: WA_ALV_FILEDCAT TYPE SLIS_T_FIELDCAT_ALV.

*定义内表

DATA ITAB_MAKT LIKE TABLE OF MAKT WITH HEADER LINE.

 

SELECT * INTO TABLE ITAB_MAKT FROM MAKT.

 

*定义字段

WA_ALV_FILED-COL_POS = 1.

WA_ALV_FILED-FIELDNAME = 'MANDT'.

WA_ALV_FILED-SELTEXT_M = 'COL1'.

APPEND WA_ALV_FILED TO WA_ALV_FILEDCAT.

 

WA_ALV_FILED-COL_POS = 1.

WA_ALV_FILED-FIELDNAME = 'MATNR'.

WA_ALV_FILED-SELTEXT_M = 'COL2'.

APPEND WA_ALV_FILED TO WA_ALV_FILEDCAT.

 

WA_ALV_FILED-COL_POS = 1.

WA_ALV_FILED-FIELDNAME = 'SPRAS'.

WA_ALV_FILED-SELTEXT_M = 'COL3'.

APPEND WA_ALV_FILED TO WA_ALV_FILEDCAT.

 

WA_ALV_FILED-COL_POS = 1.

WA_ALV_FILED-FIELDNAME = 'MAKTX'.

WA_ALV_FILED-SELTEXT_M = 'COL14'.

APPEND WA_ALV_FILED TO WA_ALV_FILEDCAT.

 

*调用ALV显示表单数据

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

 EXPORTING

*   I_INTERFACE_CHECK              = ' '

*   I_BYPASSING_BUFFER             =

*   I_BUFFER_ACTIVE                = ' '

*   I_CALLBACK_PROGRAM             = ' '

*   I_CALLBACK_PF_STATUS_SET       = ' '

*   I_CALLBACK_USER_COMMAND        = ' '

*   I_STRUCTURE_NAME               =

*   IS_LAYOUT                      =

   IT_FIELDCAT                    = WA_ALV_FILEDCAT

*   IT_EXCLUDING                   =

*   IT_SPECIAL_GROUPS              =

*   IT_SORT                        =

*   IT_FILTER                      =

*   IS_SEL_HIDE                    =

*   I_DEFAULT                      = 'X'

*   I_SAVE                         = ' '

*   IS_VARIANT                     =

*   IT_EVENTS                      =

*   IT_EVENT_EXIT                  =

*   IS_PRINT                       =

*   IS_REPREP_ID                   =

*   I_SCREEN_START_COLUMN          = 0

*   I_SCREEN_START_LINE            = 0

*   I_SCREEN_END_COLUMN            = 0

*   I_SCREEN_END_LINE              = 0

* IMPORTING

*   E_EXIT_CAUSED_BY_CALLER        =

*   ES_EXIT_CAUSED_BY_USER         =

  TABLES

    t_outtab                       = ITAB_MAKT

* EXCEPTIONS

*   PROGRAM_ERROR                  = 1

*   OTHERS                         = 2

          .

IF sy-subrc <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

 

 

 

标准列表输出

ULINE AT /(91)----------à输出横线,长度91

Sy-vline:输出竖线

WRITE: (15) <WA>    “<WA>占用15各字符的宽度

其它相关系统参数:

SY-PAGNO

当前页号

SY-DATUM

当前时间

SY-LINSZ

当前报表宽度

SY-LINCT

当前报表长度

SPACE

空字串

SY-SUBRC

执行状态0表示成功

SY-UNAME

用户名

SY-UZEIT

当前时间

SY-TCODE

当前TCODE

SY-LSIND

列表索引页

SY-LISTI

上一个列表的索引

SY-LILLI

绝对列表中选中的行号

SY-CUROW

屏幕上的行

SY-CUCOL

光标列

SY-CPAGE

列表的当前显示页

SY-STARO

真实行号

SY-LISEL

选择行的内容,长度为255

SY-LINNO

当前行

Eg.

*这些语句可以写在select循环中

uline (60).

write: /(12) sy-vline, (30) 'test', sy-vline.

uline /(50).

 

write语句格式化

 

 

Read语句的简单使用

READ TABLE <itab> [INTO <wa>] <key-option> COMPARING <fields>.

READ TABLE <itab> [INTO <wa>] <key-option> TRANSPORTING <fields>.

Eg.

READ TABLE ITAB INTO LINE INDEX 5 TRANSPORTING COL2.

 

 

抱歉!评论已关闭.