使用单选按钮以两种不同的方法显示ALV表

2020-08-15 14:14发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我写了这样的代码。 手动填充部分有效,但" x"部分无效。 它给出了这样的错误:

SAP中触发的
异常条件no_fieldcatalog_available 

由于我是Abap的新手,所以找不到解决方案。 我该怎么办?

 TYPE-POOLS slis。

 表格:vbrk,vbrp。

 SELECT-OPTIONS:so_vbeln FOR vbrk-vbeln,
 so_fkart FOR vbrk-fkart,
 so_fktyp FOR vbrk-fktyp,
 so_vbtyp FOR vbrk-vbtyp,
 so_vkorg FOR vbrk-vkorg,
 so_vtweg FOR vbrk-vtweg,
 so_fkdat FOR vbrk-fkdat,
 so_vrkme FOR vbrp-vrkme,
 so_matnr FOR vbrp-matnr,
 so_werks FOR vbrp-werks。

 参数:p_rad1 RADIOBUTTON GROUP rb1,
 p_rad2 RADIOBUTTON GROUP rb1。

 如果p_rad1 ='X'。

 TYPES:开始于ty_table,
 vbeln TYPE vbrk-vbeln,
 waerk TYPE vbrk-waerk,
 kunag TYPE vbrk-kunag,
 fkart TYPE vbrk-fkart,
 fktyp TYPE vbrk-fktyp,
 vbtyp TYPE vbrk-vbtyp,
 vkorg TYPE vbrk-vkorg,
 vtweg TYPE vbrk-vtweg,
 fkdat TYPE vbrk-fkdat,
 posnr TYPE vbrp-posnr,
 vrkme TYPE vbrp-vrkme,
 matnr TYPE vbrp-matnr,
 werks TYPE vbrp-werks,
 fkimg TYPE vbrp-fkimg,
 ntgew TYPE vbrp-ntgew,
 brgew TYPE vbrp-brgew,
 格威TYPE vbrp-gewei,
 brtwr TYPE vbrp-brtwr,
 name1 TYPE kna1-name1,
 ty_table的结尾。

 数据:gt_table TYPE TABLE OF ty_table,
 gs_table TYPE ty_table,
 i_fcat TYPE slis_t_fieldcat_alv,
 wa_fcat类型slis_fieldcat_alv。

 选择a〜vbeln a〜waerk a〜kunag a〜fkart a〜fktyp a〜vbtyp a〜vkorg a〜vtweg a〜fkdat b〜posnr b〜vrkme b〜matnr b〜werks b〜fkimg b〜ntgew b〜brgew b  〜gewei b〜brtwr c〜name1
 从vbrk进入表gt_table
 内部连接vbrp AS b在a〜vbeln上= b〜vbeln
 内部联接kna1 AS c ON c〜kunnr = a〜kunag
 so_vbeln中的a〜vbeln
 AND a〜fkart在so_fkart
 AND a〜fktyp在so_fktyp中
 AND a〜vbtyp在so_vbtyp中
 和so_vkorg中的a〜vkorg
 AND a〜vtweg IN so_vtweg
 AND a〜fkdat IN so_fkdat
 AND b〜vrkme IN so_vrkme
 AND b〜matnr在so_matnr中
 然后在so_werks中添加b〜werks。

 wa_fcat-fieldname ='VBELN'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='VBELN'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='WAERK'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='WAERK'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='KUNAG'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='KUNAG'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='FKART'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='FKART'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='FKTYP'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='FKTYP'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='VBTYP'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='VBTYP'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='VKORG'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='VKORG'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='VTWEG'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='VTWEG'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='FKDAT'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='FKDAT'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='POSNR'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='POSNR'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='VRKME'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='VRKME'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='MATNR'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='MATNR'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='WERKS'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='WERKS'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='FKIMG'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='FKIMG'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='NTGEW'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='NTGEW'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='BRGEW'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='BRGEW'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='GEWEI'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='GEWEI'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='BRTWR'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='BRTWR'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='NAME1'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='Name1'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 如果sy-subrc是INITIAL。

 通话功能'REUSE_ALV_GRID_DISPLAY'
 导出i_callback_program = sy-repid
 it_fieldcat = i_fcat
 桌子
 t_outtab = gt_table。

 其他。

 讯息:i000。

 万一。

 ELSEIF p_rad2 ='X'。

 数据:开始于it_table发生次数0,
 vbeln像vbrk-vbeln,
 像vbrk-waerk一样,
 像vbrk-kunag一样
 像vbrk-fkart
 fktyp像vbrk-fktyp,
 vbtyp喜欢vbrk-vbtyp,
 vkorg喜欢vbrk-vkorg,
 vtweg喜欢vbrk-vtweg,
 像vbrk-fkdat一样,
 posnr像vbrp-posnr,
 vrkme喜欢vbrp-vrkme,
 matnr LIKE vbrp-matnr,
 像vbrp-werks一样,
 像vbrp-fkimg
 ntgew喜欢vbrp-ntgew,
 brgew喜欢vbrp-brgew,
 gewei LIKE vbrp-gewei,
 brtwr喜欢vbrp-brtwr,
 像kna1-name1这样的name1,
 结束于it_table。

 数据:it_fcat类型为slis_t_fieldcat_alv。

 选择a〜vbeln a〜waerk a〜kunag a〜fkart a〜fktyp a〜vbtyp a〜vkorg a〜vtweg a〜fkdat b〜posnr b〜vrkme b〜matnr b〜werks b〜fkimg b〜ntgew b〜brgew b  〜gewei b〜brtwr c〜name1

 从vbrk插入表it_table作为内部联接vbrp AS b在a〜vbeln = b〜vbeln上
 内部联接kna1 AS c ON c〜kunnr = a〜kunag
 so_vbeln中的a〜vbeln
 AND a〜fkart在so_fkart
 AND a〜fktyp在so_fktyp中
 AND a〜vbtyp在so_vbtyp中
 和so_vkorg中的a〜vkorg
 AND a〜vtweg IN so_vtweg
 AND a〜fkdat IN so_fkdat
 AND b〜vrkme IN so_vrkme
 AND b〜matnr在so_matnr中
 然后在so_werks中添加b〜werks。

 通话功能'REUSE_ALV_GRID_DISPLAY'
 出口
 i_callback_program = sy-repid
 it_fieldcat = it_fcat
 表格t_outtab = it_table。

 通话功能'REUSE_ALV_FIELDCATALOG_MERGE'
 出口
 i_program_name = sy-repid
 i_internal_tabname ='IT_TABLE'
 i_inclname = sy-repid
 改变
 ct_fieldcat = it_fcat.ENDIF。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我写了这样的代码。 手动填充部分有效,但" x"部分无效。 它给出了这样的错误:

SAP中触发的
异常条件no_fieldcatalog_available 

由于我是Abap的新手,所以找不到解决方案。 我该怎么办?

 TYPE-POOLS slis。

 表格:vbrk,vbrp。

 SELECT-OPTIONS:so_vbeln FOR vbrk-vbeln,
 so_fkart FOR vbrk-fkart,
 so_fktyp FOR vbrk-fktyp,
 so_vbtyp FOR vbrk-vbtyp,
 so_vkorg FOR vbrk-vkorg,
 so_vtweg FOR vbrk-vtweg,
 so_fkdat FOR vbrk-fkdat,
 so_vrkme FOR vbrp-vrkme,
 so_matnr FOR vbrp-matnr,
 so_werks FOR vbrp-werks。

 参数:p_rad1 RADIOBUTTON GROUP rb1,
 p_rad2 RADIOBUTTON GROUP rb1。

 如果p_rad1 ='X'。

 TYPES:开始于ty_table,
 vbeln TYPE vbrk-vbeln,
 waerk TYPE vbrk-waerk,
 kunag TYPE vbrk-kunag,
 fkart TYPE vbrk-fkart,
 fktyp TYPE vbrk-fktyp,
 vbtyp TYPE vbrk-vbtyp,
 vkorg TYPE vbrk-vkorg,
 vtweg TYPE vbrk-vtweg,
 fkdat TYPE vbrk-fkdat,
 posnr TYPE vbrp-posnr,
 vrkme TYPE vbrp-vrkme,
 matnr TYPE vbrp-matnr,
 werks TYPE vbrp-werks,
 fkimg TYPE vbrp-fkimg,
 ntgew TYPE vbrp-ntgew,
 brgew TYPE vbrp-brgew,
 格威TYPE vbrp-gewei,
 brtwr TYPE vbrp-brtwr,
 name1 TYPE kna1-name1,
 ty_table的结尾。

 数据:gt_table TYPE TABLE OF ty_table,
 gs_table TYPE ty_table,
 i_fcat TYPE slis_t_fieldcat_alv,
 wa_fcat类型slis_fieldcat_alv。

 选择a〜vbeln a〜waerk a〜kunag a〜fkart a〜fktyp a〜vbtyp a〜vkorg a〜vtweg a〜fkdat b〜posnr b〜vrkme b〜matnr b〜werks b〜fkimg b〜ntgew b〜brgew b  〜gewei b〜brtwr c〜name1
 从vbrk进入表gt_table
 内部连接vbrp AS b在a〜vbeln上= b〜vbeln
 内部联接kna1 AS c ON c〜kunnr = a〜kunag
 so_vbeln中的a〜vbeln
 AND a〜fkart在so_fkart
 AND a〜fktyp在so_fktyp中
 AND a〜vbtyp在so_vbtyp中
 和so_vkorg中的a〜vkorg
 AND a〜vtweg IN so_vtweg
 AND a〜fkdat IN so_fkdat
 AND b〜vrkme IN so_vrkme
 AND b〜matnr在so_matnr中
 然后在so_werks中添加b〜werks。

 wa_fcat-fieldname ='VBELN'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='VBELN'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='WAERK'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='WAERK'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='KUNAG'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='KUNAG'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='FKART'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='FKART'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='FKTYP'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='FKTYP'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='VBTYP'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='VBTYP'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='VKORG'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='VKORG'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='VTWEG'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='VTWEG'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='FKDAT'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='FKDAT'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='POSNR'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='POSNR'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='VRKME'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='VRKME'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='MATNR'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='MATNR'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='WERKS'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='WERKS'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='FKIMG'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='FKIMG'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='NTGEW'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='NTGEW'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='BRGEW'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='BRGEW'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='GEWEI'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='GEWEI'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='BRTWR'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='BRTWR'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 wa_fcat-fieldname ='NAME1'。
 wa_fcat-tabname ='gt_table'。
 wa_fcat-seltext_m ='Name1'。
 将wa_fcat附加到i_fcat。
 清除wa_fcat。

 如果sy-subrc是INITIAL。

 通话功能'REUSE_ALV_GRID_DISPLAY'
 导出i_callback_program = sy-repid
 it_fieldcat = i_fcat
 桌子
 t_outtab = gt_table。

 其他。

 讯息:i000。

 万一。

 ELSEIF p_rad2 ='X'。

 数据:开始于it_table发生次数0,
 vbeln像vbrk-vbeln,
 像vbrk-waerk一样,
 像vbrk-kunag一样
 像vbrk-fkart
 fktyp像vbrk-fktyp,
 vbtyp喜欢vbrk-vbtyp,
 vkorg喜欢vbrk-vkorg,
 vtweg喜欢vbrk-vtweg,
 像vbrk-fkdat一样,
 posnr像vbrp-posnr,
 vrkme喜欢vbrp-vrkme,
 matnr LIKE vbrp-matnr,
 像vbrp-werks一样,
 像vbrp-fkimg
 ntgew喜欢vbrp-ntgew,
 brgew喜欢vbrp-brgew,
 gewei LIKE vbrp-gewei,
 brtwr喜欢vbrp-brtwr,
 像kna1-name1这样的name1,
 结束于it_table。

 数据:it_fcat类型为slis_t_fieldcat_alv。

 选择a〜vbeln a〜waerk a〜kunag a〜fkart a〜fktyp a〜vbtyp a〜vkorg a〜vtweg a〜fkdat b〜posnr b〜vrkme b〜matnr b〜werks b〜fkimg b〜ntgew b〜brgew b  〜gewei b〜brtwr c〜name1

 从vbrk插入表it_table作为内部联接vbrp AS b在a〜vbeln = b〜vbeln上
 内部联接kna1 AS c ON c〜kunnr = a〜kunag
 so_vbeln中的a〜vbeln
 AND a〜fkart在so_fkart
 AND a〜fktyp在so_fktyp中
 AND a〜vbtyp在so_vbtyp中
 和so_vkorg中的a〜vkorg
 AND a〜vtweg IN so_vtweg
 AND a〜fkdat IN so_fkdat
 AND b〜vrkme IN so_vrkme
 AND b〜matnr在so_matnr中
 然后在so_werks中添加b〜werks。

 通话功能'REUSE_ALV_GRID_DISPLAY'
 出口
 i_callback_program = sy-repid
 it_fieldcat = it_fcat
 表格t_outtab = it_table。

 通话功能'REUSE_ALV_FIELDCATALOG_MERGE'
 出口
 i_program_name = sy-repid
 i_internal_tabname ='IT_TABLE'
 i_inclname = sy-repid
 改变
 ct_fieldcat = it_fcat.ENDIF。
付费偷看设置
发送

一周热门 更多>