用下面的ABAP代码为某人提供帮助

2020-08-23 19:07发布

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

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


嗨朋友,

我是ABAP编码的新手,并且编写了以下一种代码。 但是GL_Account列没有更新,不确定为什么。

有人可以帮忙吗

类型:

开始ty_mapping,

cond_type TYPE C长度30,

gl_account TYPE C LENGTH 10,

国家TYPE C长度10,

distr_chan类型C长度10,

ty_mapping结束。

数据:ty_mapping的lt_avfmapping类型标准表,

ls_avfmapping类型ty_mapping。

SELECT cond_type

gl_account

国家

distr_chan

从/bic/ac_afinval2

插入表lt_avfmapping

在哪里(src_trdp ='否'或src_trdp ='否')和国家/地区='CCE'。

如果sy-subrc = 0。

SORT lt_avfmapping按cond_typeDISTR_CHAN升序。

从lt_avfmapping中删除相邻的重复项

比较cond_type。

ENDIF。

字段符号:

喜欢RESULT_PACKAGE的行。

在RESULT_PACKAGE分配时循环

将表lt_avfmapping读入带有密钥的ls_avfmapping中

cond_type = -KNART

distr_chan = -DISTR_CHAN。

如果sy-subrc = 0。

-GL_ACCOUNT = ls_avfmapping-gl_account。

ENDIF。

ENDLOOP。

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

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


嗨朋友,

我是ABAP编码的新手,并且编写了以下一种代码。 但是GL_Account列没有更新,不确定为什么。

有人可以帮忙吗

类型:

开始ty_mapping,

cond_type TYPE C长度30,

gl_account TYPE C LENGTH 10,

国家TYPE C长度10,

distr_chan类型C长度10,

ty_mapping结束。

数据:ty_mapping的lt_avfmapping类型标准表,

ls_avfmapping类型ty_mapping。

SELECT cond_type

gl_account

国家

distr_chan

从/bic/ac_afinval2

插入表lt_avfmapping

在哪里(src_trdp ='否'或src_trdp ='否')和国家/地区='CCE'。

如果sy-subrc = 0。

SORT lt_avfmapping按cond_typeDISTR_CHAN升序。

从lt_avfmapping中删除相邻的重复项

比较cond_type。

ENDIF。

字段符号:

喜欢RESULT_PACKAGE的行。

在RESULT_PACKAGE分配时循环

将表lt_avfmapping读入带有密钥的ls_avfmapping中

cond_type = -KNART

distr_chan = -DISTR_CHAN。

如果sy-subrc = 0。

-GL_ACCOUNT = ls_avfmapping-gl_account。

ENDIF。

ENDLOOP。

付费偷看设置
发送
4条回答
Aaron 3364
1楼-- · 2020-08-23 19:41

嗨,

感谢您的答复。 如果我浪费了您时间,但真的很抱歉,问题出在where子句中使用的列之一。 我更正了该列中的数据,并且使用了相同的代码。

小熊yu生菜
2楼-- · 2020-08-23 19:51

调试逻辑时,表中是否充满了您所期望的信息? 尝试设置gl_account时,循环中会发生什么?

到目前为止,您还没有提供足够的信息来帮助您,人们只能猜测。

Cikesha
3楼-- · 2020-08-23 20:02
< p>根据您提供的信息,可能有多个问题来源。

  1. 表格中仅缺少数据
  2. 表"/img/bic/ac_afinval2"的gl_account列中的数据为0
  3. 类型可能有问题。 您可以使用类型" ty_mapping",这一点很明显,因为它已在代码中明确定义,但是我们不知道"/img/bic/ac_afinval2"(字符长度)和" result_package"字段的类型。 如果 -KNART和cond_type的类型不完全匹配,则READ语句将找不到任何以subrc = 4进入和退出的条目,因此您将永远无法获得分配" -gl_account = ls_avfmapping- gl_account。"

我建议您是按照@Michael Piersche的建议尝试调试程序并自己查看类型,或者在此处发布确切的类型,以便有人提供帮助。

作为旁注-自7.4版以来,您不会使用abap中提供的一些不错的新功能,例如新的开放sql语法或内联声明。 您可以查找系统的版本:

在SAP GUI中>在菜单下:"系统">单击"状态...">在" SAP系统数据"部分中>在"产品版本"下>单击放大镜>在"已安装产品"选项卡中 版本"在产品" SAP NETWEAVER"的"发行"列中查找。

如果"版本" >> 7.4,我可以向您展示如何进一步简化代码。

代楠1984
4楼-- · 2020-08-23 20:01

请输入有意义的标题(当前,其含义与没有标题相同) 标题)。 并使用CODE按钮格式化代码(如S Abinath所说)。

一周热门 更多>