点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我在SE38中使用表参数COMPANY_LIST创建一个RFC功能模块,并导入参数companyID
代码如下所示
功能BAPI_COMPANY_GETDETAIL1。 CLEAR COMPANY_LIST。 清除T880。 *权限检查:S_TABU_DIS V_T001 执行CHECK_AUTHORITY_T880更改退货。 检查返回是初始的。 从T880中将单个RCOMP NAME1选择到RCOMP = COMPANYID的COMPANY_LIST中。 如果SY-SUBRC NE 0。 清除消息。 MESSAGE-MSGTY ='E'。 MESSAGE-MSGID ='FN'。 MESSAGE-MSGNO = 030。 MESSAGE-MSGV1 = COMPANYID。 使用讯息进行PER_SET_RETURN_MESSAGE 更改退货。 IF 1 =2。"消息 带有公司ID的消息E030(FN)。 * Die Gesellschaft和ist nicht vorhanden 万一。 万一。 检查返回是初始的。结束功能。
然后我使用下面的代码调用该函数,但未返回任何内容。
REPORT Z_LOKI_TEST07。 数据: companyid TYPE BAPI0014_2-COMPANY, li_clist TYPE BAPI0014_1, l_clist BAPI0014_1的类型标准表。 companyid ='001000'。 通话功能'BAPI_COMPANY_GETDETAIL1' 出口 COMPANYID =公司编号 桌子 COMPANY_LIST = l_clist。 READ TABLE l_clist INTO li_clist INDEX 1。
我调试了,并且COMPANY_LIST在模块中有数据。 但是调用l_clist后的表为空。 是什么原因?有人可以帮忙吗? 谢谢。
不知道如何创建不以Z开头的FM(为什么?),但是,正如其他人所说的那样,FM中的SELECT语句未填写表格。
< p>在您已经调试了FM并确认它实际上可以找到任何数据的问题中,我没有看到它。 调用程序不会分析FM返回的任何错误消息,因此,如果调用程序不对其执行任何操作,则可能会发生任何数量的错误(例如,授权检查)。请注意,如果这 FM只是读取一个公司代码的一条记录,然后它应该返回一个结构而不是一个表。 就像不带" 1"的BAPI一样。 将CHECK语句作为任何代码块中的最后一个命令也没有任何意义。 可能想要使用扩展检查工具。
有些奇怪,您的SELECT语句使用INTO而不是INTO TABLE,这意味着COMPANY_LIST被用作结构
也许您的数据 留在内部表的标题行中
嗨,
我认为您必须使用由INTO插入的INTO TABLE
一周热门 更多>