点击此处---> 群内免费提供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)
不要仅对include进行语法检查-使用include激活所有报告,然后系统可以检查语法-它必须知道以这种方式编写的整个报告代码(没有类,没有子例程池)。
您好,
尝试在SE80上激活主程序,右键单击报告z_abap_practice_1。
关于提高代码可读性的一项建议,请将所有包含的内容放在报告的顶部。
致谢
Deenesh
Hi
必须将包含的顺序放在一起。
第二,
您需要一起激活所有内容。 使用SE80,然后在左侧面板z_abap_practice_1上右键单击您的报告名称。 -并激活
我试图通过SE80进行激活,但是它给出了以下语句无法访问的错误。
语法检查必须在例如 使用包含的可执行报告。 在您的情况下,这将是您的REPORT z_abap_practice_1。
HS ,似乎还有更多的编码 p_matnr在哪里定义?如果我在Top-Include中将p_matnr和p_vbeln一起包括,那么您要做的就是设置正确的报告事件。
请查看事件块,尤其是报告 事件:
因此,最后,请使用 事件START-OF-SELECTION以在选择屏幕之后运行报告:
一周热门 更多>