apap交互式报告错误!

2020-08-18 07:45发布

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

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


有人可以帮助我获得交互式报告输出吗?!

我只是在学习,请告诉我出了什么问题以及为什么我没有得到输出。

报告zmanoj6。
 TYPE-POOLS:slis。
 桌子:玛拉,马特。

 类型:ty开始,
           matnr TYPE matnr,
           ERSDA TYPE ERSDA,
           ernam TYPE ernam,
           laeda TYPE laeda,
           vpsta TYPE vpsta,
         ty of ty。


 类型:ty1的开始,
           matnr TYPE matnr,
           斯普拉斯TYPE斯普拉斯
           maktx TYPE maktx,
           maktg TYPE maktg,
         ty结束。

 数据:它的类型表,
        wa TYPE ty,
        TY1型表
        wa1 TYPE ty。

 数据:it_fieldcat类型slis_t_fieldcat_alv,
       wa_fieldcat类型slis_fieldcat_alv。

 数据:it_fieldcat1类型slis_t_fieldcat_alv,
       wa_fieldcat1类型slis_fieldcat_alv。

 数据:it_events类型为slis_t_event,
        wa_events喜欢it_events的线。

 带有标题标题文本001的b1块的选择屏幕开始。
 参数垫类型mara-matnr强制性。
 块b的选择屏幕结束。


 选择开始。

   SELECT matnr,
          ersda,
          厄南
          拉达
          vpsta从mara到表@DATA(it_mara)
          matnr EQ @mat在哪里。


   wa_fieldcat-fieldname ='MATNR'。
   wa_fieldcat-ref_tabname ='MARA'。
   wa_fieldcat-seltext_m ='会计凭证编号'。
   将wa_fieldcat附加到it_fieldcat。
   清除wa_fieldcat。

   wa_fieldcat-fieldname ='ERSDA'。
   wa_fieldcat-ref_tabname ='MARA'。
   wa_fieldcat-seltext_m ="约会文件编号"。
   将wa_fieldcat附加到it_fieldcat。
   清除wa_fieldcat。

   wa_fieldcat-fieldname ='ERNAM'。
   wa_fieldcat-ref_tabname ='MARA'。
   wa_fieldcat-seltext_m ='任务编号'。
   将wa_fieldcat附加到it_fieldcat。
   清除wa_fieldcat。

   wa_fieldcat-fieldname ='LAEDA'。
   wa_fieldcat-ref_tabname ='MARA'。
   wa_fieldcat-seltext_m ='AccounNumber'。
   将wa_fieldcat附加到it_fieldcat。
   清除wa_fieldcat。

   wa_fieldcat-fieldname ='VPSTA'。
   wa_fieldcat-ref_tabname ='MARA'。
   wa_fieldcat-seltext_m ='Accounr'。
   将wa_fieldcat附加到it_fieldcat。
   清除wa_fieldcat。


   通话功能'REUSE_ALV_GRID_DISPLAY'
     出口
       i_grid_title ='优先ALV'
       it_fieldcat = it_fieldcat
       it_events = it_events
       i_structure_name ='TY_MARA'
     桌子
       t_outtab = it_mara。

   通话功能" REUSE_ALV_EVENTS_GET"
     输入
       et_events = it_events。

   使用KEY ='user_command'读取表it_​​events到wa_events中。
   wa_events-form ='FORM_USER_COMMAND'。
 *从wa_events索引sy-tabix修改it_events。


 FORM user_command使用r_ucomm像sy-ucomm
                         rs_selfield TYPE slis_selfield。
   读取表it_​​mara INTO WA INDEX rs_selfield-tabindex。

   选择矩阵
          斯普拉
          maktx
          maktg从makt到表IT1中的matnr = wa-matnr。


  通话功能'REUSE_ALV_GRID_DISPLAY'
     出口
       i_grid_title ='SECOND ALV'
       it_fieldcat = it_fieldcat1
       it_events = it_events
       i_structure_name ='TY_MAKT'
     桌子
       t_outtab = it1。



   wa_fieldcat1-fieldname ='MATNR'。
   wa_fieldcat1-ref_tabname ='MAKT'。
   wa_fieldcat1-seltext_m ='QQQQ'。
   将wa_fieldcat1附加到it_fieldcat1。
   清除wa_fieldcat1。

   wa_fieldcat1-fieldname ='SPRAS'。
   wa_fieldcat1-ref_tabname ='MAKT'。
   wa_fieldcat1-seltext_m ='Accounr'。
   将wa_fieldcat1附加到it_fieldcat1。
   清除wa_fieldcat1。

   wa_fieldcat1-fieldname ='MAKTX'。
   wa_fieldcat1-ref_tabname ='MAKT'。
   wa_fieldcat1-seltext_m ='AccoSSSr'。
   将wa_fieldcat1附加到it_fieldcat1。
   清除wa_fieldcat1。

   wa_fieldcat1-fieldname ='MAKTG'。
   wa_fieldcat1-ref_tabname ='MAKT'。
   wa_fieldcat1-seltext_m ='Accounr'。
   将wa_fieldcat1附加到it_fieldcat1。
   清除wa_fieldcat1。

   最终形式。

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

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


有人可以帮助我获得交互式报告输出吗?!

我只是在学习,请告诉我出了什么问题以及为什么我没有得到输出。

报告zmanoj6。
 TYPE-POOLS:slis。
 桌子:玛拉,马特。

 类型:ty开始,
           matnr TYPE matnr,
           ERSDA TYPE ERSDA,
           ernam TYPE ernam,
           laeda TYPE laeda,
           vpsta TYPE vpsta,
         ty of ty。


 类型:ty1的开始,
           matnr TYPE matnr,
           斯普拉斯TYPE斯普拉斯
           maktx TYPE maktx,
           maktg TYPE maktg,
         ty结束。

 数据:它的类型表,
        wa TYPE ty,
        TY1型表
        wa1 TYPE ty。

 数据:it_fieldcat类型slis_t_fieldcat_alv,
       wa_fieldcat类型slis_fieldcat_alv。

 数据:it_fieldcat1类型slis_t_fieldcat_alv,
       wa_fieldcat1类型slis_fieldcat_alv。

 数据:it_events类型为slis_t_event,
        wa_events喜欢it_events的线。

 带有标题标题文本001的b1块的选择屏幕开始。
 参数垫类型mara-matnr强制性。
 块b的选择屏幕结束。


 选择开始。

   SELECT matnr,
          ersda,
          厄南
          拉达
          vpsta从mara到表@DATA(it_mara)
          matnr EQ @mat在哪里。


   wa_fieldcat-fieldname ='MATNR'。
   wa_fieldcat-ref_tabname ='MARA'。
   wa_fieldcat-seltext_m ='会计凭证编号'。
   将wa_fieldcat附加到it_fieldcat。
   清除wa_fieldcat。

   wa_fieldcat-fieldname ='ERSDA'。
   wa_fieldcat-ref_tabname ='MARA'。
   wa_fieldcat-seltext_m ="约会文件编号"。
   将wa_fieldcat附加到it_fieldcat。
   清除wa_fieldcat。

   wa_fieldcat-fieldname ='ERNAM'。
   wa_fieldcat-ref_tabname ='MARA'。
   wa_fieldcat-seltext_m ='任务编号'。
   将wa_fieldcat附加到it_fieldcat。
   清除wa_fieldcat。

   wa_fieldcat-fieldname ='LAEDA'。
   wa_fieldcat-ref_tabname ='MARA'。
   wa_fieldcat-seltext_m ='AccounNumber'。
   将wa_fieldcat附加到it_fieldcat。
   清除wa_fieldcat。

   wa_fieldcat-fieldname ='VPSTA'。
   wa_fieldcat-ref_tabname ='MARA'。
   wa_fieldcat-seltext_m ='Accounr'。
   将wa_fieldcat附加到it_fieldcat。
   清除wa_fieldcat。


   通话功能'REUSE_ALV_GRID_DISPLAY'
     出口
       i_grid_title ='优先ALV'
       it_fieldcat = it_fieldcat
       it_events = it_events
       i_structure_name ='TY_MARA'
     桌子
       t_outtab = it_mara。

   通话功能" REUSE_ALV_EVENTS_GET"
     输入
       et_events = it_events。

   使用KEY ='user_command'读取表it_​​events到wa_events中。
   wa_events-form ='FORM_USER_COMMAND'。
 *从wa_events索引sy-tabix修改it_events。


 FORM user_command使用r_ucomm像sy-ucomm
                         rs_selfield TYPE slis_selfield。
   读取表it_​​mara INTO WA INDEX rs_selfield-tabindex。

   选择矩阵
          斯普拉
          maktx
          maktg从makt到表IT1中的matnr = wa-matnr。


  通话功能'REUSE_ALV_GRID_DISPLAY'
     出口
       i_grid_title ='SECOND ALV'
       it_fieldcat = it_fieldcat1
       it_events = it_events
       i_structure_name ='TY_MAKT'
     桌子
       t_outtab = it1。



   wa_fieldcat1-fieldname ='MATNR'。
   wa_fieldcat1-ref_tabname ='MAKT'。
   wa_fieldcat1-seltext_m ='QQQQ'。
   将wa_fieldcat1附加到it_fieldcat1。
   清除wa_fieldcat1。

   wa_fieldcat1-fieldname ='SPRAS'。
   wa_fieldcat1-ref_tabname ='MAKT'。
   wa_fieldcat1-seltext_m ='Accounr'。
   将wa_fieldcat1附加到it_fieldcat1。
   清除wa_fieldcat1。

   wa_fieldcat1-fieldname ='MAKTX'。
   wa_fieldcat1-ref_tabname ='MAKT'。
   wa_fieldcat1-seltext_m ='AccoSSSr'。
   将wa_fieldcat1附加到it_fieldcat1。
   清除wa_fieldcat1。

   wa_fieldcat1-fieldname ='MAKTG'。
   wa_fieldcat1-ref_tabname ='MAKT'。
   wa_fieldcat1-seltext_m ='Accounr'。
   将wa_fieldcat1附加到it_fieldcat1。
   清除wa_fieldcat1。

   最终形式。
付费偷看设置
发送
7条回答
My梦
1楼 · 2020-08-18 08:31.采纳回答

将您的编码与SAP演示报告进行比较,例如,使用FM REUSE_ALV_GRID_DISPLAY的" BCALV_FULLSCREEN_DEMO"。

N-Moskvin
2楼-- · 2020-08-18 08:22

避免使用这些过时,复杂且容易出错的功能模块。请改用CL_SALV_TABLE类。

Nir深蓝
3楼-- · 2020-08-18 08:33

您的代码中充满了过时的命令。

转到 developers.sap.com
今天您将找到如何编写ABAP的教程。

例如 https://developers.sap.com/group.abap-dev-repository-objects.html 可能是一个不错的起点。

奄奄一息的小鱼
4楼-- · 2020-08-18 08:43

您好 Nandini Borse 谢谢..!

xfwsx85
5楼-- · 2020-08-18 08:25
包含ztest_sumanth_top。
 包括ztest_sumanth_sub。

 选择屏幕输出时。
   执行disable_doctype。

 选择开始。
   执行get_data。

 选择结束。
   执行disp_data。
  
 *&------------------------------------------------  --------------------- *
 *&包括ZTEST_SUMANTH_TOP
 *&------------------------------------------------  --------------------- *

 TYPE-POOLS slis。
 数据:v_ebeln TYPE ebeln,
        v_werks TYPE werks_d,
        v_erdat TYPE erdat。
 带有标题标题text-001的blk1块的选择屏幕开始。
 SELECT-OPTIONS:s_ebeln FOR v_ebeln,
                   s_werks FOR v_werks没有间隔,没有扩展,
                   s_erdat FOR v_erdat义务。
 参数:p_esart TYPE esart DEFAULT'UB'。
 块blk1的选择屏幕结束。

 初始化。
   s_erdat-sign ='I'。
   s_erdat-option ='BT'。
   s_erdat-low ='20200501'。
   s_erdat-high = sy数据。
   APPEND s_erdat。

   类型:ty_ekko的开头,
             ebeln TYPE ebeln,
             erdat TYPE erdat,
             算TYPE I,
           ty_ekko的结尾。
   数据:ty_ekko的it_ekko类型表,
          wa_ekko TYPE ty_ekko。

   类型:ty_ekpo的开头,
             ebeln TYPE ebeln,
             ebelp TYPE ebelp,
             werks TYPE werks_d,
             matnr TYPE matnr,
           ty_ekpo的结尾。
   数据:ty_ekpo的it_ekpo类型表,
          wa_ekpo TYPE ty_ekpo。

   类型:开始于ty_makt,
             matnr TYPE matnr,
             maktx TYPE maktx,
           ty_makt结束。
   数据:ty_makt的it_makt类型表,
          wa_makt类型ty_makt。

   类型:ty_final的开始,
             ebeln TYPE ebeln,
             算TYPE I,
           ty_final结束。
   数据:ty_final的it_final TYPE TABLE,
          wa_final TYPE ty_final。

   类型:始于ty_final2,
             EBELN TYPE EBELN,
             ebelp TYPE ebelp,
             matnr TYPE matnr,
             maktx TYPE maktx,
           ty_final2结束。
   数据:ty_final2的gt_final类型表,
          gs_final TYPE ty_final2。

   数据:it_fcat类型slis_t_fieldcat_alv,
          wa_fcat类型slis_fieldcat_alv。
   数据:gt_fcat类型slis_t_fieldcat_alv。
 
   *&------------------------------------------------  --------------------- *
 *&包括ZTEST_SUMANTH_SUB
 *&------------------------------------------------  --------------------- *
 *&------------------------------------------------  --------------------- *
 *&表格GET_DATA
 *&------------------------------------------------  --------------------- *
 *文字
 * -------------------------------------------------  --------------------- *
 *-> p1文字
 * <-p2文字
 * -------------------------------------------------  --------------------- *
 FORM get_data。
   数据v_lines类型i。
   SELECT ebeln
          伊达
     从ekko
     进入表it_ekko
    s_ebeln中的ebeln
      和s_erdat中的aedat
      与bsart EQ p_esart。

   如果it_ekko不是INITIAL。
     SELECT ebeln
            埃贝尔普
            怪癖
      从ekpo
       进入表it_ekpo
       对于it_ekko中的所有条目
       在ebeln EQ it_ekko-ebeln和
             s_werks和
             elikz NE'X'。
   万一。


   对it_ekko BY Ebeln进行排序。
   环聊it_ekpo INTO wa_ekpo。
     读取表it_​​ekko使用键ebeln = wa_ekpo-ebeln二进制搜索到wa_ekko中。
     如果sy-subrc是INITIAL。
       wa_final-ebeln = wa_ekko-ebeln。
       wa_final-count = 1。
     万一。
     将wa_final收集到it_final中。
     清除:wa_final,wa_ekko,wa_ekpo。
   结局。


 ENDFORM。
 *&------------------------------------------------  --------------------- *
 *&表格DISP_DATA
 *&------------------------------------------------  --------------------- *
 *文字
 * -------------------------------------------------  --------------------- *
 *-> p1文字
 * <-p2文字
 * -------------------------------------------------  --------------------- *
 FORM disp_data。


   使用'''EBELN''购买文件号'执行it_fcat。
   使用'X''COUNT''行项目计数'执行it_fcat。


   通话功能'REUSE_ALV_GRID_DISPLAY'
     出口
       i_callback_program = sy-repid
       i_callback_user_command ='DBL_CLK'
       it_fieldcat = it_fcat
     桌子
       t_outtab = it_final
     例外情况
       程序错误= 1
       其他= 2。
   如果sy-subrc <> 0。
 *在这里实施适当的错误处理
   万一。
 ENDFORM。
 *&------------------------------------------------  --------------------- *
 *&表格DISABLE_DOCTYPE
 *&------------------------------------------------  --------------------- *
 *文字
 * -------------------------------------------------  --------------------- *
 *-> p1文字
 * <-p2文字
 * -------------------------------------------------  --------------------- *
 FORM disable_doctype。
   环视屏幕
     如果屏幕名称='P_ESART'。
       屏幕输入= 0。
       修改屏幕。
     万一。
   结局。
 ENDFORM。
 *&------------------------------------------------  --------------------- *
 *&表格IT_FCAT
 *&------------------------------------------------  --------------------- *
 *文字
 * -------------------------------------------------  --------------------- *
 *-> P_0113文字
 *-> P_0114文字
 *-> P_0115文字
 * -------------------------------------------------  --------------------- *
 FORM it_fcat使用值(p_0113)
                        VALUE(p_0114)
                        VALUE(p_0115)。
   wa_fcat-hotspot = p_0113。
   wa_fcat-fieldname = p_0114。
   wa_fcat-seltext_l = p_0115。
   将wa_fcat附加到it_fcat。
   清除wa_fcat。
 ENDFORM。

 FORM dbl_clk使用p_ucomm像sy-ucomm
                    p_selfield TYPE slis_selfield。
   数据:ebeln TYPE ebeln。
   案例p_ucomm。
       ..
     当"&IC1"时。
       读取表it_​​final INTO wa_final INDEX p_selfield-tabindex。
       如果sy-subrc是INITIAL。
         ebeln = wa_final-ebeln。
         隐藏wa_final-ebeln。
         进行item_data。
       万一。
   结束。


 ENDFORM。
 *&------------------------------------------------  --------------------- *
 *&表格ITEM_DATA
 *&------------------------------------------------  --------------------- *
 *文字
 * -------------------------------------------------  --------------------- *
 *-> p1文字
 * <-p2文字
 * -------------------------------------------------  --------------------- *
 FORM item_data。


   数据:ebeln TYPE ebeln。
   刷新:it_ekpo,gt_final。
   SELECT EBELN埃贝尔普·韦克斯·马特尔
     从ekpo
     进入表it_ekpo
     在ebeln EQ wa_final-ebeln中。
   按ebeln排序it_ekpo。


   如果it_ekpo不是INITIAL。
     从makt中选择matnr maktx
       进入表it_makt
       对于it_ekpo中的所有条目
       在哪里EQ it_ekpo-matnr。
     通过matnr对it_makt进行排序。
   万一。


   环聊it_ekpo INTO wa_ekpo。
     gs_final-ebelp = wa_ekpo-ebelp。
     gs_final-matnr = wa_ekpo-matnr。
     gs_final-ebeln = wa_ekpo-ebeln。
     使用键matnr = gs_final-matnr二进制搜索将表it_makt读入wa_makt。
     如果sy-subrc是INITIAL。
       gs_final-maktx = wa_makt-maktx。
     万一。
     将gs_final附加到gt_final。
     清除:gs_final,wa_makt,wa_ekpo,wa_final。
   结局。


   使用'''EBELP''项目编号'执行gt_fcat。
   使用'''MATNR''物料代码'执行gt_fcat。
   使用'''MAKTX''MAt.Desc'执行gt_fcat。


   通话功能'REUSE_ALV_GRID_DISPLAY'
     出口

       i_callback_program = sy-repid
       i_callback_top_of_page ='TOP_OF_PAGE'
       it_fieldcat = gt_fcat
       i_screen_start_column = 10
       i_screen_start_line = 20
       i_screen_end_column = 100
       i_screen_end_line = 40
     桌子
       t_outtab = gt_final
     例外情况
       程序错误= 1
       其他= 2。
   如果sy-subrc <> 0。
 *在这里实施适当的错误处理
   万一。
 ENDFORM。
 *&------------------------------------------------  --------------------- *
 *&表格GT_FCAT
 *&------------------------------------------------  --------------------- *
 *文字
 * -------------------------------------------------  --------------------- *
 *-> P_0352文字
 *-> P_0353文字
 *-> P_0354文字
 * -------------------------------------------------  --------------------- *
 表格gt_fcat使用值(p_0352)
                        VALUE(p_0353)
                        VALUE(p_0354)。
   wa_fcat-hotspot = p_0352。
   wa_fcat-fieldname = p_0353。
   wa_fcat-seltext_l = p_0354。
   将wa_fcat附加到gt_fcat。
   清除wa_fcat。


 ENDFORM。
 FORM top_of_page。
   数据:it_list类型slis_t_listheader,
          wa_list TYPE slis_listheader。
   数据:标题(1000)。


   读取表gt_final INTO gs_final索引1。
   CONCATENATE'gs_final-ebeln的项目详细信息,请按空格分隔到标题中。
   wa_list-typ ='H'。
   wa_list-info =标题。
   将wa_list附加到it_list。
   通话功能" REUSE_ALV_COMMENTARY_WRITE"
     出口
       it_list_commentary = it_list
 * I_LOGO =
 * I_END_OF_LIST_GRID =
 * I_ALV_FORM =
     。
   刷新it_list。
 ENDFORM。
 

嗨,
请参考上面的程序

绿领巾童鞋
6楼-- · 2020-08-18 08:31

在重用网格显示功能模块中传递i_repid = sy-repid

三十六小时_GS
7楼-- · 2020-08-18 08:34

参考所附报告。

要求:

销售订单仓库

选择选项:订单号,订单日期,客户ID

第一级输出:

-订单号

-订单日期

-客户ID

-客户名称

-总订单价值

单击订单号 :第二级:

  • -订单号
  • -货号
  • 材料代码
  • -材料描述
  • -数量
  • 订单单位
  • -商品价值

在第一级输出中,提供工具栏以显示订单详细信息:

  • -当按钮-显示VA03工具以显示订单明细
  • -再次从VA03返回时,将显示第一级显示。

找到附加的.txt文件。 zsd-ord.txt

一周热门 更多>