使用ALV中输出ICON
这个是SAP的教学程序,今天在网上看到有人问这样的问题,现在就把它发在网上,希望对你有点帮助。
PROGRAM sapbc405_alvd_merge_icon .
TYPES: BEGIN OF t_con,
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
fldate LIKE sflight-fldate,
price LIKE sflight-price,
currency LIKE sflight-currency,
planetype LIKE sflight-planetype,
seatsmax LIKE sflight-seatsmax,
seatsocc LIKE sflight-seatsocc,
paymentsum LIKE sflight-paymentsum,
free_seats LIKE sflight-seatsmax,
icon_name(30),
END OF t_con.
* OK code handling
DATA: ok_code LIKE sy-ucomm,
save_ok_code LIKE sy-ucomm.
* Data, which will be displayed in the ALV Control
DATA: gt_outtab TYPE STANDARD TABLE OF t_con,
wa_outtab TYPE t_con.
* Field position
DATA: pos_free TYPE i VALUE 10,
pos_icon TYPE i VALUE 11.
* Fieldcatalog
DATA: gt_fieldcat TYPE lvc_t_fcat,
wa_fieldcat LIKE LINE OF gt_fieldcat.
* CONTROLS
DATA: g_custom_container TYPE REF TO cl_gui_custom_container,
alv_grid TYPE REF TO cl_gui_alv_grid.
* Selection Screen
SELECTION-SCREEN BEGIN OF BLOCK connection WITH FRAME.
SELECT-OPTIONS: so_car FOR wa_outtab-carrid.
SELECTION-SCREEN END OF BLOCK connection.
*&---------------------------------------------------------------------*
*& Modulpool SAPBC405_ALVD_MERGE_ICON *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
INCLUDE bc405_alvd_merge_icontop.
INCLUDE <icon>.
*&---------------------------------------------------------------------*
*& Event START-OF-SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION.
SELECT * FROM sflight INTO CORRESPONDING FIELDS OF wa_outtab
WHERE carrid IN so_car.
wa_outtab-free_seats = wa_outtab-seatsmax - wa_outtab-seatsocc.
**注意以下的这句话,就是把ICON中的信号灯的图标传到wa中
IF wa_outtab-free_seats GT 0.
wa_outtab-icon_name = icon_green_light.
ELSE.
wa_outtab-icon_name = icon_red_light.
ENDIF.
APPEND wa_outtab TO gt_outtab.
ENDSELECT.
CALL SCREEN 100.
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS 'S100'.
SET TITLEBAR 'T100'.
ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Module EXIT INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE exit INPUT.
LEAVE PROGRAM.
ENDMODULE. " EXIT INPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
MOVE ok_code TO save_ok_code.
CLEAR ok_code.
CASE save_ok_code.
WHEN 'BACK'.
CALL METHOD g_custom_container->free.
LEAVE TO SCREEN 0.
WHEN 'EXIT'.
CALL METHOD g_custom_container->free.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Module CREATE_OBJECTS OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE create_objects OUTPUT.
IF g_custom_container IS INITIAL.
CREATE OBJECT g_custom_container
EXPORTING container_name = 'MY_CONTROL_AREA'.
CREATE OBJECT alv_grid
EXPORTING i_parent = g_custom_container.
ENDIF.
ENDMODULE. " CREATE_OBJECTS OUTPUT
*&---------------------------------------------------------------------*
*& Module TRANSFER_DATA OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE transfer_data OUTPUT.
CALL METHOD alv_grid->set_table_for_first_display
EXPORTING i_structure_name = 'SFLIGHT'
CHANGING it_outtab = gt_outtab
it_fieldcatalog = gt_fieldcat.
ENDMODULE. " TRANSFER_DATA OUTPUT
*&---------------------------------------------------------------------*
*& Module FIELD_CATALOG OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE field_catalog OUTPUT.
* Attributes of the additional fields, which is not included
* in the DIC sructure SFLIGHT
CLEAR wa_fieldcat.
* Name and types
wa_fieldcat-fieldname = 'FREE_SEATS'.
wa_fieldcat-ref_table = 'SFLIGHT'.
wa_fieldcat-ref_field = 'SEATSMAX'.
* Texts and position
wa_fieldcat-coltext = text-001.
wa_fieldcat-seltext = text-001.
wa_fieldcat-col_pos = pos_free.
APPEND wa_fieldcat TO gt_fieldcat.
CLEAR wa_fieldcat.
* Name and types
wa_fieldcat-fieldname = 'ICON_NAME'.
wa_fieldcat-icon = 'X'. " Displayed as Icon
* Texts and position
wa_fieldcat-coltext = text-001.
wa_fieldcat-seltext = text-001.
wa_fieldcat-col_pos = pos_icon.
APPEND wa_fieldcat TO gt_fieldcat.
ENDMODULE. " FIELD_CATALOG OUTPUT
使用ALV中输出ICON相关推荐
- 如何在ALV中输出标题头
1.申明变量 DATA: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER. DATA: GT_EVENTS TYPE SLIS_T_EVENT. 2.定义 ...
- ALV 后台输出时,增加spool假脱机的宽度
[ALV 后台输出时,增加spool假脱机的宽度] 有多列的ALV报表在后台运行,当下载或输出时的界面数据可能会出现如下错位现象,或者部分负号丢失现象. 为了校正输出界面的效果,我们通常会在" ...
- 77 行代码实现 ABAP ALV 中的双击事件处理试读版
零基础 ABAP 学习教程系列文章的目录 ABAP 标准培训教程 BC400 学习笔记之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍 ABAP 标准培训教程 BC400 学习笔记之二 ...
- html img调用js,html调用js变量 如何在html中输出js文件中的变量
html页面代码中怎么调用js变量?html页面代码中怎么调用js变量,例如 在html代码中插入js代码: a=取浏览你把index1.js 中的onReady 去掉,把index1.js改成 fu ...
- 理解YOLOv2训练过程中输出参数含义
转载自https://blog.csdn.net/dcrmg/article/details/78565440 原英文地址: https://timebutt.github.io/static/und ...
- 在网页中画Icon小图标
在网页中画Icon小图标. 现代网页中,绝大部分都采用了Icon小图标的方式.其积分大致分为三类,CSS Sprite,font+HTML,font+CSS. CSS Sprite:又称为CSS雪碧, ...
- R语言使用edit函数在Rsudio中生成数据编辑器(在windows中生成编辑器)、在编辑器中输出需要的数据生成最终的dataframe
R语言使用edit函数在Rsudio中生成数据编辑器(在windows中生成编辑器).在编辑器中输出需要的数据生成最终的dataframe 目录
- 用字体在网页中画Icon图标
第一步,下载.IcoMoon网站选择字体图标并下载,解压后将fonts文件夹放在工程目录下.fonts文件夹内有四种格式的字体文件: 注:由于浏览器对每种字体的支持程度不一致,要想在所有浏览器中都显示 ...
- php中输出js语句
怎样在php中输出js语句? 示例 php<?php $classState="";if($state==0){ $classState="已下课"; } ...
最新文章
- netapp更换硬盘
- 引用管理器没有程序集_Microsoft弃用远程桌面连接管理器
- 循环群的子群是循环群
- oracle获取序列跳号,Oracle sequence跳号知多少
- matlab信号分割与比对,matlab测量计算信号的相似度
- php 数组重复最多,PHP获取数组中重复最多元素的简单示例
- pip 更新版本失败问题解决
- maven安装jar包到本地仓库
- oracle的五种元素,五种元素
- VBA-获取指定行列最后一个非空单元格
- Servlet三大作用域
- 国外项目外包网站接活流程(新手上路版)
- stm32+DS18B20编程教学
- 关于为什么sklearn画出来的ROC曲线图是折线的问题
- 【React】React介绍环境搭建
- 为什么样本方差里面要除以(n-1)而不是n?
- jQuery选择器(二)
- random.RandomState()用处
- 两性情感关系中的核心价值是什么?
- 浮点数与十六进制转换