点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好,您今天好吗? 我认为AM...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好,您今天好吗? 我认为AM...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,您今天好吗? 我认为AMDP程序存在一个非常奇怪的问题。 该过程不太复杂,只是我执行联接和计算时执行的一系列选择,然后保留在表变量中,最后将所有这些表变量联接到我的结果变量中。 在我的职业生涯中,我看到了许多奇怪的错误,但这是最高的胜利者。 我的过程没有任何语法错误,当我调用报告中的调用AMDP方法时,这向我显示了DUMP,我知道这不是真正的问题,对吗?
我不确定是否是DUMP的相关部分,如果不能告诉我请问那是什么。
在最后一个选择语句中引发异常,该选择语句返回我的最终结果。 但是很奇怪的是,当我在执行select以获得最终结果的位置之前放置一个断点,并在调试模式下执行该步骤时,出乎我的意料,没有DUMP并显示了结果。
有人遇到这种错误吗?
这是代码中引发异常的部分。
e_result =选择bs.VKGRP作为punto_venta, bs.kunnr作为客户, cli.name1 || char(32)|| cli.name2为nombre_cliente, bs.vbeln作为pedido, vsc.valor为valor_sin_conf, bs.waerk作为waers, vds.valor作为valor_despacho, vmr.netwr为valor_mcia_rep, vad.valor作为valor_aduana, bs.matnr作为材料, bs.kwmeng为cant_pedido, ctc.cant_confirmada, censantidad为cant_entrega, ctr.cantidad为cant_transp, cts.cantidad为cant_transp_sal, bs.meins 来自:lt_base_info为bs 内部连接:lt_v_sin_conf作为vsc在vsc.vbeln = bs.vbeln和 vsc.matnr = bs.matnr和 vsc.row_number = bs.row_number 内部连接:lt_v_despacho作为vds.vbeln = bs.vbeln上的vds vds.matnr = bs.matnr和 vds.row_number = bs.row_number 左外部连接:lt_v_mcia_rep作为vmr.vbeln = bs.vbeln上的vmr 左外部连接:lt_valor_aduana作为vad.vbelv_e = bs.vbeln上的vad和 vad.matnr_l = bs.matnr和 vad.row_number = bs.row_number 内部连接:lt_cant_conf作为ctc.vbeln = bs.vbeln上的ctc ctc.matnr = bs.matnr和 ctc.row_number = bs.row_number 内部联接:lt_cant_entr作为cen.vbelv_e = bs.vbeln上的cen cen.matnr_l = bs.matnr和 cen.row_number = bs.row_number 左外部连接:lt_cant_tran作为ctr.vbelv_e = bs.vbeln上的ctr ctr.matnr_l = bs.matnr和 ctr.row_number = bs.row_number 左外部连接:lt_cant_tran_s作为cts.vbelv_e = bs.vbeln上的cts cts.matnr_l = bs.matnr和 cts.row_number = bs.row_number 内部连接:lt_cli_data作为cli.clinnr = bs.kunnr上的cli;
非常感谢您的帮助。
最好的问候罗纳尔多·维埃拉
(79.1 kB)
大家好,你好吗?
好吧,我找到了解决问题的方法,尽管我将这个答案标记为正确答案,但我认为这不是一个好答案,我将尝试解释原因。
尝试了许多方法之后,我发现如果我从最终的select语句中删除了一个特定的表变量,它可以正常工作,因此,我将通过将此表变量作为导出参数返回来进行处理,例如,执行 加入我的ABAP程序,但是我不知道为什么,我有一个主意,用这些参数替换在AMDP方法主体中声明的表变量,现在可以正常使用了。
所以我的方法签名看起来像这样
我必须在AMDP类的公共部分声明新的导出参数的类型
现在select语句如下:
并且您可以看到,如果将此select与原始文章的语句进行比较,唯一改变的是现在的联接是通过exporting参数而不是table变量完成的。
通过这种方式声明表变量,与导出参数相同
因此,现在我的程序可以工作了,但是我仍然不知道只对表变量执行联接的select语句出了什么问题。
因为现在我必须返回一个无用的参数,所以我认为此解决方案不是一个好方法。
如果有人知道为什么,我想知道。
啊,在我忘记之前,我尝试向SAP寻求支持,因为Sandra Rosi感到很惊讶,但是他们告诉我说,仅当标准事务中存在Z事务时,他们才不支持Z事务。 如果客户为此支付了额外的钱,它们只会对Z交易有所帮助。
最诚挚的问候,
罗纳尔多·维埃拉(Ronaldo S. Vieira)
一周热门 更多>