[SAP ABAP开发技术总结]Function远程、同步、异步调用
2015-02-01 15:24
246 查看
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:/article/6606733.html
20.1. Function调用... 233
20.1.1. 更新FM:LUW.. 233
20.1.2. RFC函数:远程调用... 234
20.1.2.1. 同步... 234
20.1.2.2. 异步... 234
20.1.2.2.1. 事务性RFC调用... 234
20.1.2.3. DESTINATION 取值... 234
20.1. Function调用
20.1.1. 更新FM:LUW
CALL FUNCTION update_function IN UPDATE TASK,直到Commit Work 才运行主要用于本地更新(非远程RFC调用,如果是远程调用,则采用事务性RFC调用方式:IN BACKGROUND TASK)
20.1.2. RFC函数:远程调用
20.1.2.1. 同步
CALL FUNCTION func [DESTINATION dest] [?desti?nei??n](在DESTINATION不省略的情况下,且dest取值又不为SPACE,则函数一定要是RFC函数才能采用此方式进行远程同步调用)
20.1.2.2. 异步
CALL FUNCTION rfm_name STARTING NEW TASK [DESTINATION dest]taskname PERFORMINGreturn_form ON END OF TASKFORM return_form USING taskname.
...
RECEIVE RESULTS FROM FUNCTION rfm_name
...
ENDFORM.
等待多个异步调用的返回结果:WAIT UNTILlog_exp [UP TO sec SECONDS].
异步调用时不能有IMPORTING参数;函数一定要是RFC函数才能采用异步调用;只要有STARTING NEW TASK选项,即为异步调用;如果是异步调用同一目标端的RFC函数,则可以省略DESTINATION
20.1.2.2.1. 事务性RFC调用 实质上事务RFC调用也属于异步调用
CALL FUNCTION func IN BACKGROUND TASK[DESTINATION dest],并不立即执行,直到主调程序中的COMMIT WORK语句(隐式提交不要,一定要使用COMMIT WORK显示提交)才一次性执行多个远程函数调用
(函数一定要为RFC函数,且要通过Commit Work语句显示提交后,才会去执行,否则不会执行;如果是同一目标端的RFC函数,则可以省略DESTINATION)
20.1.2.3. DESTINATION 取值
l 目标NONE:当前程序所在应用服务器作为目标系统,但调用过程还是RFC远程方式来调用,这与SPACE是同的l 目标SPACE: DESTINATION选项将会被忽略,被调功能函数将作为普通函数在本机调用
l 目标BACK:用于被远程调用的RFM程序内部的CALL FUNCTION语句中的目标指定,通过已建立的RFC连接反过来调用该函数的主调者系统中的其他功能模块(即主调程序—>远程系统中的RFM—>又回调主调程序所在系统中的其他函数)
相关文章推荐
- Symbian编程总结-基础篇-活动对象正解(4)-异步函数的同步调用
- Linux下同步模式、异步模式、阻塞调用、非阻塞调用总结
- Symbian编程总结-基础篇-活动对象正解(4)-异步函数的同步调用
- 关于同步和异步调用显示,增加用户体现总结
- Linux下同步模式、异步模式、阻塞调用、非阻塞调用总结
- Zookeeper的API调用的同步和异步机制以及watcher机制总结
- Symbian编程总结-了解篇-活动对象正解(4)-异步函数的同步调用
- Linux下同步模式、异步模式、阻塞调用、非阻塞调用总结
- Linux下同步模式、异步模式、阻塞调用、非阻塞调用总结
- Linux下同步模式、异步模式、阻塞调用、非阻塞调用总结
- Linux下同步模式、异步模式、阻塞调用、非阻塞调用总结 .
- C#委托、同步调用、异步调用总结
- 普通方法调用,Invoke,begininvoke三者的区别总结及异步与同步的区别总结
- Linux下同步模式、异步模式、阻塞调用、非阻塞调用总结
- RFC 同步异步调用实例
- 异步调用远程对象(Remote Objects)
- 同步调用、异步调用
- Silverlight中通过Javascript的XmlHttp调用服务器端内容的同步与异步问题
- 如何对远程对象进行异步调用(示例代码)
- websphere ejb 远程/本地调用总结