SAP 高级应用开发 学习笔记 1 -- RFC NO.3

同步RFC方式的RFM调用

 

 

同步RFC要求远程系统在调用时可用,调用程序的处理暂停,并等待远程功能调用的返回结果再继续

 

 

对于表类型参数,只有扁平结构内表可以被传输,其他类型参数可以用于传输纵深类型以及STRING类型的数据,将内表通过tables参数进行传输将获取较快的传输速度,因为系统内部通过的二进制格式而不是XML格式进行传输

 

REPORT Z_SRFC_USERGET. DATA: user_addr TYPE user_addr, system_id TYPE sysysid, user_para LIKE TABLE OF usr05. CALL FUNCTION 'ZRFC_USER_READ' DESTINATION 'GS4CLNT100' EXPORTING user_name = 'JIAH' IMPORTING user_addr = user_addr system_id = system_id TABLES user_para = user_para. WRITE: user_addr-name_first, user_addr-name_last.

 

 

 

如果远程RFM处理时出现交互对话过程,将在当前调用程序的会话中先进行远程对话处理,处理结束后再继续调用程序

在远程系统为SAP ABAP系统的情况下,可以对功能模块进行正常的调试,即step in远程模块,系统在当前会话中进行远程调试,完成后再回到调用程序的调试界面

同步调用的异常处理:

同步调用RFC时,系统自动处理标准异常communication_failuresystem_failure

l        若在系统中没有正确维护远程目标,或到远程系统的连接不能建立,系统将触发communication_failure异常

l        若连接成功,但指定的远程功能不存在于目标系统中,系统将触发system_failure

在上程序加错误处理:

 

 

 

 Exceptions: Communication_failure = 1 message meg_text. System_failure = 2 message meg_text. 

 

 

若发生异常,不会引起Short Dumpt中断,与该异常相关的中断的首行说明内容被传递到message附加项指定的变量msg_text,变量类型为扁平的字符结构。

  • 确保远程目标在SM59种被维护
  • 确保功能模块存在于该目标系统中

 

你可能感兴趣的:(function,String,user,report,SAP,System)