使用ALV中输出ICON
来源:互联网 发布:2017中国餐饮消费数据 编辑:程序博客网 时间:2024/05/16 11:43
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中输出ICON
- ALV中输出标题头
- 在alv grid中的列中设置icon图标
- ALV Icon 设置
- sap icon alv 图标
- ALV 输出
- 如何在ALV中输出标题头
- 如何在ALV中输出标题头
- SAP 中如何输出 ALV 格式报表?
- 如何在ALV中输出标题头
- ALV中单元格按钮的使用
- ABAP中ALV使用HTML的例子
- 使用动态内表——ALV输出
- 使用动态内表——ALV输出
- ALV输出内表修改及类的使用
- 解决android中icon只能使用一张icon的问题
- ALV 输出抬头
- ALV一个百度文库的例子
- Eclipse 快速导入所有需要的包
- nativedriver - Google的手机自动化测试框架
- 如何将sql server数据库转化成sqlite数据库
- office2010和VC6.0的冲突
- 使用ALV中输出ICON
- 防止 F5 重复提交
- MySQL --- SQL Error: 1062: Duplicate entry '2147483647' for key 'PRIMARY'
- oracle中OPTIMIZER_MODE与隐含参数_optimizer_cost_model
- abstract class和interface
- C++性能两点
- java多态存在的条件
- waitpid
- 写在生日月的一点体会