alv edit failure

&---------------------------------------------------------------------
*& Report Z_ALV_TEST_014
*&
&---------------------------------------------------------------------
*&
*&
&---------------------------------------------------------------------

REPORT Z_ALV_TEST_014.

TYPES:
BEGIN OF TY_ALV,
REL TYPE C,
STYLE TYPE lvc_t_styl,
BUKRS TYPE T001-BUKRS,
BUTXT TYPE T001-BUTXT,
END OF TY_ALV,
TT_ALV TYPE STANDARD TABLE OF TY_ALV.

FIELD-SYMBOLS:

  •            <fs_tab> TYPE ty_tab,
              <fs_alv> TYPE TY_ALV,
    
               <fs_field> TYPE ANY.
    

DATA:
GS_LAYOUT1 TYPE LVC_S_LAYO,
GT_FIELDCAT TYPE LVC_T_FCAT,
GT_ALV TYPE TT_ALV,
gt_style TYPE lvc_t_styl,
gs_style TYPE lvc_s_styl,

GS_ALV TYPE TY_ALV.

DATA: i_grid_settings TYPE lvc_s_glay .

START-OF-SELECTION.

*UPDATE T001 set BUTXT = ‘1001’ where BUKRS = ‘1000’.

SELECT BUKRS BUTXT UP TO 10 ROWS
INTO CORRESPONDING FIELDS OF TABLE GT_ALV
FROM T001.

PERFORM F_EDIT_FCAT USING:
‘’ ‘BUKRS’ ‘公司’ ,
‘X’ ‘BUTXT’ ‘公司名’ .

  • LAYOUT编辑
    GS_LAYOUT1-BOX_FNAME = ‘REL’.
    GS_LAYOUT1-ZEBRA = ‘X’.
    GS_LAYOUT1-CWIDTH_OPT = ‘X’.
    GS_LAYOUT1-STYLEFNAME = ‘STYLE’.

    i_grid_settings-edt_cll_cb = ‘X’ . "显示界面可编辑字段上修改了数据,回车后就会立即将内表的数据也修改

    LOOP AT GT_ALV ASSIGNING <fs_alv>.

    CLEAR:gs_style,
    gt_style.
    IF <fs_alv>-bukrs <> ‘1000’.
    gs_style-fieldname = ‘BUTXT’.
    gs_style-style = cl_gui_alv_grid=>mc_style_enabled.
    APPEND gs_style to gt_style.

    <fs_alv>-style = gt_style.
    

    ENDIF.

    ENDLOOP.

  • ALV显示
    CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY_LVC’
    EXPORTING
    i_grid_settings = i_grid_settings "显示界面可编辑字段上修改了数据,回车后就会立即将内表的数据也修改
    I_CALLBACK_PROGRAM = SY-REPID
    I_CALLBACK_PF_STATUS_SET = ‘F_SET_STATUS1’
    I_CALLBACK_USER_COMMAND = ‘F_USER_COMMAND1’

  •  I_GRID_SETTINGS          = LS_GLAY
    IS_LAYOUT_LVC            = GS_LAYOUT1
    
  •  I_SAVE                   = ABAP_ON
    i_save                   = 'A'
    IT_FIELDCAT_LVC          = gT_FIELDCAT
    

    TABLES
    T_OUTTAB = GT_ALV.

&---------------------------------------------------------------------
*& Form F_EDIT_FCAT
&---------------------------------------------------------------------

  •   text
    

----------------------------------------------------------------------

  • –> p1 text
  • <-- p2 text
    ----------------------------------------------------------------------
    FORM f_edit_fcat USING V_V1
    V_V2
    V_V3.
    DATA:
    LS_FIELDCAT TYPE LVC_S_FCAT.
    CLEAR LS_FIELDCAT.

LS_FIELDCAT-EDIT = V_V1. "可编辑
LS_FIELDCAT-FIELDNAME = V_V2. "要显示的字段
LS_FIELDCAT-COLTEXT = V_V3. "字段名
APPEND LS_FIELDCAT TO GT_FIELDCAT.
ENDFORM.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值