微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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展示之后,再放开字段并保证有值,就要找到更改布局时,调用的子例程

在这里插入图片描述

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

效果

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐