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

在这里插入图片描述

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

效果

在这里插入图片描述

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...
win11本地账户怎么改名?win11很多操作都变了样,用户如果想要...