首页 > 其他分享 >sap 报表 ZALV_XZH(新增报表空白行且双击字段生成一行)demo

sap 报表 ZALV_XZH(新增报表空白行且双击字段生成一行)demo

时间:2024-10-06 11:49:34浏览次数:7  
标签:报表 wa fieldcat frm 空白行 TYPE 双击 ekko &---------------------------------------

*&---------------------------------------------------------------------*
*& Report ZALV_XZH
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZALV_XZH.

TYPES:BEGIN OF ty_ekko,
ebeln TYPE ekko-ebeln,
verkf TYPE ekko-verkf,
sel TYPE c, "用来标识行选择的字段
F_STYLE TYPE LVC_T_STYL,
END OF ty_ekko.
DATA:it_ekko TYPE STANDARD TABLE OF ty_ekko,
wa_ekko TYPE ty_ekko.

DATA:lt_fieldcat TYPE lvc_t_fcat,
wa_fieldcat LIKE LINE OF lt_fieldcat,
wa_layout TYPE lvc_s_layo.
CONSTANTS: gco_callback_user_command TYPE slis_formname VALUE 'FRM_USER_COMMAND',
gco_callback_status TYPE slis_formname VALUE 'FRM_USER_STATUS'.

START-OF-SELECTION.

SELECT ebeln
verkf
INTO CORRESPONDING FIELDS OF TABLE it_ekko
FROM ekko
UP TO 10 ROWS.

APPEND INITIAL LINE TO it_ekko.

PERFORM frm_set_catalog.

PERFORM frm_loop_itdata.
* wa_layout-zebra = 'X'.
* wa_layout-box_fname = 'SEL'. "指定行选择字段
wa_layout-cwidth_opt = 'X'.
wa_layout-stylefname = 'F_STYLE'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_callback_program = sy-repid
is_layout_lvc = wa_layout
it_fieldcat_lvc = lt_fieldcat
i_callback_pf_status_set = gco_callback_status
i_callback_user_command = gco_callback_user_command
TABLES
t_outtab = it_ekko[]
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc = 0.

ENDIF.

*&---------------------------------------------------------------------*
*& Form FRM_SET_PF_STATUS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM frm_user_status USING i_it_extab TYPE slis_t_extab.
* SET PF-STATUS '*******' .
ENDFORM. " FRM_SET_PF_STATUS

FORM frm_user_command USING i_ucomm TYPE sy-ucomm
i_wa_selfield TYPE slis_selfield.
CASE i_ucomm.
WHEN '&IC1'. "Double click
* if click on PO field, jump to me23n
* IF i_wa_selfield-fieldname = 'EBELN'.
* SET PARAMETER ID 'BES' FIELD i_wa_selfield-value.
* CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
* ENDIF.
PERFORM frm_loop_itdata .
APPEND INITIAL LINE TO it_ekko.
i_wa_selfield-refresh = 'X'.
WHEN OTHERS.

ENDCASE.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_SET_CATALOG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM frm_set_catalog .

DEFINE mac_fieldcat.
clear wa_fieldcat.
wa_fieldcat-fieldname = &1.
wa_fieldcat-reptext = &2.
wa_fieldcat-tabname = 'IT_EKKO'.
wa_fieldcat-outputlen = &3. "设置输出列宽
wa_fieldcat-edit = &4.
APPEND wa_fieldcat TO lt_fieldcat.
END-OF-DEFINITION.

clear wa_fieldcat.
wa_fieldcat-fieldname = 'SEL'.
wa_fieldcat-reptext = '选择框'.
wa_fieldcat-tabname = 'IT_EKKO'.
wa_fieldcat-edit = 'X'.
wa_fieldcat-checkbox = 'X'.
wa_fieldcat-outputlen = 5. "设置输出列宽
APPEND wa_fieldcat TO lt_fieldcat.

mac_fieldcat 'EBELN' '采购单号' 10 'X'.
mac_fieldcat 'VERKF' '销售员' 10 'X'.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_loop_itdata
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM frm_loop_itdata .
DATA stylelin TYPE lvc_s_styl.

LOOP AT it_ekko INTO wa_ekko.
IF wa_ekko-ebeln IS NOT INITIAL.
CLEAR :wa_ekko-f_style[].
CLEAR stylelin.
stylelin-fieldname = 'EBELN'. " 需要编辑的列名
stylelin-style = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED. " 设置为不可编辑状态
APPEND stylelin TO wa_ekko-f_style.

CLEAR STYLELIN.
stylelin-fieldname = 'VERKF'.
stylelin-style = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.
APPEND stylelin TO wa_ekko-f_style.

MODIFY it_ekko FROM wa_ekko.
ENDIF.
ENDLOOP.
ENDFORM.

标签:报表,wa,fieldcat,frm,空白行,TYPE,双击,ekko,&---------------------------------------
From: https://www.cnblogs.com/zsy1/p/18448956

相关文章

  • 查询结果为空时不显示报表内容
    1.1说明本文介绍了如何在帆软报表中处理查询结果为空的情况,提供了两种解决方案:通过设置条件属性使空数据行高度为0,以及添加加载结束事件用JavaScript隐藏表格。这两种方法分别适用于PC端和移动端。2.1准备数据新建普通报表,新建数据库查询ds1,SQL查询语句为:SELECT*FROM销......
  • 4.2、FineReport交叉报表
    一、带斜线表头的交叉报表1、配置数据集select*from销量2、添加斜线表头3、添加字段4、添加计算和文字5、添加扩展方向6、预览结果二、多级的交叉报表1、添加字段和文字2、添加扩展方向3、添加计算值4、添加父子格5、预览结果三、多源报表......
  • WPS JS宏单元格双击打勾
    一行代码,rg.Value2=就可以实现在任意单元格里输入等号后面的内容。如果想要在表格中加入限制,在规定范围内的单元格中随意输入。 rg.Column==限制了等号后面,输入的列rg.Cells!=限制单元格内容。rg.MergeCells==判断是否是合并单元格完整代码functionWorkbook_Sheet......
  • FastReport报表设计(仔细看)
    FastReport报表设计  2011-06-1616:56:19|  分类: 系统开发|举报|字号 订阅        下载LOFTER我的照片书  |  目录5.1前言5.2基本概念及操作5.3报表设计与范例5.4常用功能及函数5.5报表设计常用技巧5.1前言汽车业务管理系......
  • Delphi FastReport报表常用方法
    1.       单据中有多行数据,但预览时只显示部分内容,或者打印内容行与行之间有间隔FASTREPOR属性中:设置RowCount=0,StartNewPage为False;Stretched为True.说明: RowCount:控制总共打印几行;RowCount=0是打印全部;StartNewPage:打印前先跳页;每页打印一行;Stretch:表身自动......
  • 山海鲸可视化 VS PowerBI,中外免费报表软件对比
    在数据分析与可视化的时代,选择合适的报表工具显得尤为重要。山海鲸可视化和PowerBI是市场上颇受欢迎的两款免费报表软件,各有特色。接下来,我们将从功能、优缺点等方面进行对比,帮助你找到最适合的工具。山海鲸可视化山海鲸可视化是一款国内自主研发的报表工具,专注于用户体验和简易......
  • 报表控件DevExpress Reports v24.1 —— 拥有可调整布局选项
    DevExpressReports提供了一个可调整的布局选项,允许您以最合适的方式安排、塑造和组织数据。其中一个这样的数据塑造选项是分组,可以在表报告的详细信息带内将数据安排在嵌套的多字段组中。在v24.1版本周期中引入了几个函数,它们允许您获取不同组元素的索引,这些新功能包括:CurrentR......
  • 报表中按下上下左右按键input会像excel一样跳转聚焦
    上下左右按键input聚焦###html使用在需要聚焦的input后加下面内容@keydown.native="handleKeyDown($event,0,0)":ref="'0_0'"或者@keydown.native="handleKeyDown($event,index,0)":ref="`${index}_0`"###引入此方法h......
  • 助力制造业数字化转型,报表工具为何如此重要?
    在当前全球制造业加速迈向数字化的背景下,企业正面临前所未有的挑战和机遇。然而,制造业的数字化转型并非一蹴而就,许多企业在推进过程中遇到了各种痛点。制造业数字化转型的痛点制造业的生产流程复杂,涉及多种设备、工艺和原材料的协调管理,导致海量数据的产生。而这些数据往往分散......
  • 五款超实用免费报表工具介绍,各具特色任你挑选
    1.山海鲸可视化山海鲸可视化是一款完全免费的报表工具,不仅能够处理各式复杂报表,而且提供了非常丰富的组件和模板,软件操作方式为零代码的拖拽式操作,新手用户也能快速上手。同时,它附送一个免费的网站后台,你可以登录该网站并进行报表目录、角色、权限进行设置。优点:完全免费:山海......