点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好 我对abap...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好 我对abap...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好
我对abap相当陌生,并创建了一个简单的FM,该FM应该基于表中的值返回一个标志。
当我在se37中测试FM时,它可以正常工作并返回标志,但是,当我从另一个系统(网关)调用该标志时,select将立即返回sy-subrc4。为什么会有这个想法?
RFC FM代码:
功能z_rfc_check_equi_warranty。 *" ------------------------------------------------ ---------------------- *" *"本地接口: *"正在导入 *" VALUE(EQUI_NR)TYPE EQUNR *"汇出 *" VALUE(WAR_VALID_FLAG)类型标志 *" ------------------------------------------------ ---------------------- "表格:equi,bgmkobj。 数据:lv_equnr_obj类型j_objnr。 数据:ls_equi TYPE equi。 数据:ls_war TYPE bgmkobj。 SELECT single * FROM equi WHERE equnr = @equi_nr INTO @ls_equi。 如果sy-subrc =0。" <=当我通过RFC调用它并进行调试时返回4,equi_nr正确传递。 选择单个*从bgmkobj中,在j_objnr = @ ls_equi-objnr和gaart ='1'到@ls_war中。 如果sy-subrc = 0。 如果ls_war-gwlen> sy-datum。 war_valid_flag ='X'。 万一。 万一。 万一。 ENDFUNCTION。
谢谢
Antonette
Hello Antonette,
对此有一个想法:
在您的情况下,对RFC调用的测试如何工作? 如果调用远程功能模块,则通过RFC连接进行路由。 RFC使用设置的接口用户登录到另一个系统,该用户在RFC设置(SM59)中定义。 此接口用户必须具有足够的授权,这一点很重要。 如果用户无权在远程系统上的指定表上进行选择,则可能会导致SY-SUBRC =4。您应该在SU01中检查RFC用户的角色,然后检查这些角色是否允许表显示操作(S_TABU_DIS ),以适应您的情况。
也许这可以解决您的问题。
最好的问候
Markus
一周热门 更多>