ABAP屏幕开发 - table control动态列标题文本

转载自:https://blog.csdn.net/sap_jack/article/details/1538570

1、In the screen painter use Input/Output fields as your column headings and set the attributes to "Output only". Then create character data objects in your program with the same name as the I/O fields you created in the screen painter. . 
 2、Finally at PBO time move the correct text to the text field
3、参见MD61

转载自:http://blog.sina.com.cn/s/blog_c0978c9b0102v1dp.html


重点总结:

1. 将抬头文本字段替换成 IO字段


2.程序中定义对应的IO字段名称变量

"创建销售订单页面(200)列抬头动态描述字段
DATA: gs_so_item-kwmeng_io TYPE string,
      gs_so_item-zzyjh_io  TYPE string,
      gs_so_item-zzkjh_io  TYPE string.

3.在屏幕的PBO位置动态设置描述(一点要在table control输出之前,否则无法显示设置的描述)

PROCESS BEFORE OUTPUT.
  MODULE pbo_change_tb_col_text.

*&SPWIZARD: PBO FLOW LOGIC FOR TABLECONTROL 'ZTC_200_1'
  MODULE ztc_200_1_change_tc_attr.
*&SPWIZARD: MODULE ZTC_200_1_CHANGE_COL_ATTR.
  LOOP AT   gt_so_item
       INTO gs_so_item
       WITH CONTROL ztc_200_1
       CURSOR ztc_200_1-current_line.
    MODULE ztc_200_1_get_lines.
*&SPWIZARD:   MODULE ZTC_200_1_CHANGE_FIELD_ATTR
  ENDLOOP.

  MODULE status_0200.

其中MODULE pbo_change_tb_col_text. 就是设置动态描述的地方,位置在table control输出之前

MODULE pbo_change_tb_col_text OUTPUT.

**********************************************************************
*动态设置列抬头文本
  IF gs_so_head-auart IN ra_auart_th OR gs_so_head-auart IN ra_auart_th_sub.
    IF gs_so_head-auart IN ra_auart_th_sub_2.
      gs_so_item-kwmeng_io = '退回数量'.
      gs_so_item-zzyjh_io  = '已退回数量'.
      gs_so_item-zzkjh_io  = '可退回数量'.
    ELSE.
      gs_so_item-kwmeng_io = '退货数量'.
      gs_so_item-zzyjh_io  = '已退货数量'.
      gs_so_item-zzkjh_io  = '可退货数量'.
    ENDIF.

  ELSE.
    gs_so_item-kwmeng_io = '销售数量'.
    gs_so_item-zzyjh_io  = '已交货数量'.
    gs_so_item-zzkjh_io  = '可交货数量'.

  ENDIF.

ENDMODULE.

4. 页面如下

扫描二维码关注公众号,回复: 1529012 查看本文章












猜你喜欢

转载自blog.csdn.net/wanglei880526/article/details/80222530
今日推荐