为什么我的包含程序不起作用?

2020-08-17 03:14发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我是包含程序的新手。 我已经在主...

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

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


我是"包含程序"的新手。 我已经在主程序中添加了它们。 主程序和包含程序的代码如下所示。 我已经使用了全局结构(zabap_vbrk)和表类型(zabap_tb_vbrp):

 REPORT z_abap_practice_1。

 包括ZABAP_INCLUDE_TOP。

 执行get_data。

 通话功能'ZABAP_DEMO_FM'
  出口
     im_vbeln = p_vbeln
  输入
    EX_VBRK = st_vbrk
    EX_IT_VBRP = it_vbrp
  例外情况
    INVALID_DOCUMENT = 1
    INVALID_CUSTOMER = 2
    其他= 3
           。
 如果sy-subrc <> 0。
 *在这里实施适当的错误处理
   IF sy-subrc公式1。
   信息"无效文档",类型为" E"。
   万一。
 万一。



 WRITE:/'开票凭证:',25 st_vbrk-vbeln,
        /'结算日期:',25 st_vbrk-fkdat,
       /'净值 ;  ',25 st_vbrk-netwr左对齐,
        /'付款人:',25 st_vbrk-kunrg。

 跳跃。

 写:/'项目',
        15"材料编号",
        30"说明",
        55'数量',
        67'UoM',
        75'税额'。

 循环到it_vbrp进入wa_vbrp。

   写:/wa_vbrp-posnr,
           15 wa_vbrp-matnr,
           30 wa_vbrp-arktx,
           55 wa_vbrp-fkimg左对齐,
           67 wa_vbrp-vrkme,
           75 wa_vbrp-mwsbp左对齐。
 结局。

 包括zabap_include_sub。
 *&---------------------------------------------  ------------------------ *
 *&包括ZABAP_INCLUDE_TOP
 *&------------------------------------------------  --------------------- *

 数据:st_vbrk TYPE zabap_vbrk,
        it_vbrp TYPE zabap_tb_vbrp,
        wa_vbrp喜欢it_vbrp的线,
        it_makt类型标准表。

 参数p_vbeln TYPE vbeln_vf。
 * ----------------------------------------------  ------------------------ *
 ***包含ZABAP_INCLUDE_SUB。
 * -------------------------------------------------  --------------------- *
 *&------------------------------------------------  --------------------- *
 *&表格GET_DATA
 *&------------------------------------------------  --------------------- *
 *文字
 * -------------------------------------------------  --------------------- *
 *-> p1文字
 * <-p2文字
 * -------------------------------------------------  --------------------- *
 FORM get_data。
 SELECT * FROM makt INTO TABLE it_makt在哪里matnr EQ p_matnr。
 ENDFORM。  " GET_DATA 
 FUNCTION ZABAP_DEMO_FM。
 *" ------------------------------------------------  ----------------------
 *" *"本地接口:
 *"正在导入
 *" REFERENCE(IM_VBELN)TYPE VBELN_VF
 *"汇出
 *" REFERENCE(EX_VBRK)TYPE ZABAP_VBRK
 *" REFERENCE(EX_IT_VBRP)TYPE ZABAP_TB_VBRP
 *"例外情况
 *" INVALID_DOCUMENT
 *" INVALID_CUSTOMER
 *" ------------------------------------------------  ----------------------
 *获取开票凭证抬头数据。
   单选
               vbeln
               fkdat
               网络
               昆格
                    来自vbrk
                    进入EX_VBRK
                    在vbeln EQ IM_VBELN中。

   如果sy-subrc不是INITIAL。
       提升INVALID_DOCUMENT。
   万一。

 *获取开票凭证项目数据。
   选择vbeln posnr fkimg vrkme matnr arktx mwsbp FROM vbrp
                                                    插入表EX_IT_VBRP
                                                    在vbeln EQ IM_VBELN中。




 ENDFUNCTION。

当我检查ZABAP_INCLUDE_TOP的语法错误时,出现以下错误:

为什么程序类型为"包含"时会出现此错误?

error1.jpg (23.8 kB)
6条回答
2020-08-17 03:51

HS ,似乎还有更多的编码 p_matnr在哪里定义?如果我在Top-Include中将p_matnr和p_vbeln一起包括,那么您要做的就是设置正确的报告事件。

请查看事件块,尤其是报告 事件:

因此,最后,请使用 事件START-OF-SELECTION以在选择屏幕之后运行报告:

 REPORT z_abap_practice_1。

 包括zabap_include_top。  "包含参数,因此报告从选择屏幕开始
 包括zabap_include_sub。

 选择开始。 从选择屏幕执行报告时启动该过程的必要事件

   执行get_data。
   " ...
 

一周热门 更多>