QA32增强ALV输出字段增强

1.QALS标准表增加附加结构

在这里插入图片描述注:无论底表存不存数据,都需要增加,否则QA32查询会dump

2.QALS_D02结构增加附加结构

在这里插入图片描述该结构是QA32的ALV实际输出结构

3.RQEEAL10程序中进行增强

在这里插入图片描述找到实际获取数据的子例程,实现四代增强

DATA:ls_tab LIKE LINE OF object_tab.
DATA:lv_name TYPE string.
  
  IF sy-tcode = 'QA32' OR sy-tcode = 'QA33'.

    LOOP AT p_object_tab INTO ls_tab.
      SELECT SINGLE zzmaktx,zzbalb INTO CORRESPONDING FIELDS OF @ls_tab FROM mara WHERE matnr = @ls_tab-matnr.

      SELECT SINGLE prueflos,matnr,charg INTO @DATA(ls_qals) FROM qals WHERE prueflos = @ls_tab-prueflos.

      SELECT SINGLE matnr,charg,cuobj_bm INTO @DATA(ls_mch1) FROM mch1 WHERE matnr = @ls_qals-matnr AND charg = @ls_qals-charg.

      SELECT objek,atinn,atwrt INTO TABLE @DATA(lt_ausp) FROM ausp WHERE objek = @ls_mch1-cuobj_bm AND klart = '023'.

      LOOP AT lt_ausp ASSIGNING FIELD-SYMBOL(<lfs_ausp>).
        CALL FUNCTION 'CONVERSION_EXIT_ATINN_OUTPUT'
          EXPORTING
            input  = <lfs_ausp>-atinn
          IMPORTING
            output = lv_name.

        CASE lv_name.
          WHEN 'ZKHPC'.
            ls_tab-zzkhpc = <lfs_ausp>-atwrt.
          WHEN 'ZFZSL'.
            ls_tab-zzfzsl = <lfs_ausp>-atwrt.
          WHEN 'ZJYPH'.
            ls_tab-zzjyph = <lfs_ausp>-atwrt.
          WHEN 'ZJYSCCJ'.
            ls_tab-zzjysccj = <lfs_ausp>-atwrt.
          WHEN 'ZBGGG'.
            ls_tab-zzbggg = <lfs_ausp>-atwrt.
          WHEN OTHERS.
        ENDCASE.
      ENDLOOP.

      MODIFY p_object_tab FROM ls_tab.
      CLEAR:ls_tab,ls_qals,ls_mch1,lv_name.
    ENDLOOP.
  ENDIF.

注:需要将新增的栏位设置到布局中并保存,下次进入显示默认布局带出新增字段。
如果未保存布局,查询出报表之后,再显示新增字段,会发现字段没有值

如果想在ALV展示之后,再放开字段并保证有值,就要找到更改布局时,调用的子例程
在这里插入图片描述

实现四代增强,取值逻辑同上

效果

在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值