
arfc:异步rfc,立即执行
语法如下
CALL FUNCTION 'ZTEST1' STARTING NEW TASK 'TEST1' DESTINATION 'aa'
rfc不通,rfc不存在,当前程序立即报错。
可以如下
CALL FUNCTION 'ZTEST1' STARTING NEW TASK 'TEST1' DESTINATION 'aa'
EXCEPTIONS
OTHERS = 1.
解决本系统的报错。
在对方系统中rfc运行出错的话,部分报错可以在对方st22中直接查询,有些查询不到。具体还不详。
trfc:事务码rfc,commit work时才执行,有重发机制。默认配置是发送30次,间隔15分钟。sm58查看错误的trfc记录。
语法如下
CALL FUNCTION 'ZTEST1' IN BACKGROUND TASK DESTINATION 'aa'.
commit work.
rfc只注册未执行,rfc不通,rfc不存在,对方rfc运行出错,在调用方sm58中查询到所有信息。
可以在sm58中手动发送"发送失败"的rfc。
rfc成功执行,sm58中查询不到信息。
qrfc:出栈队列rfc,需要指定队列名,commit work时才执行,有重发机制。smq1查看错误的qrfc记录。
语法如下
CALL FUNCTION 'TRFC_SET_QUEUE_NAME'
EXPORTING
qname = 'ZNAME1'
EXCEPTIONS
invalid_queue_name = 1
OTHERS = 2.
CALL FUNCTION 'ZTEST1'
IN BACKGROUND TASK
DESTINATION 'test'.
commit work.
rfc只注册未执行,rfc不通,rfc不存在,对方rfc运行出错,在调用方smq1中查询到所有信息。
可以在smq1中手动发送"发送失败"的rfc。
rfc成功执行,smq1中查询不到信息。
可以基于destination,queue进行关停,重发次数,间隔的配置。smq1操作。
队列名称不需要预先在smqs里进行配置。
bw系统使用了此种接口。
qrfc with inbound:入栈队列rfc,需要指定入栈队列名,commit work时才执行,有重发机制。smq1,smq2查看错误的qrfc记录。
入栈队列rfc依赖于出栈队列。
语法如下
CALL FUNCTION 'TRFC_SET_QIN_PROPERTIES'
EXPORTING
qin_name = 'ZNAME2'
"qout_name = 'ZNAME3' "出栈名不指定,则等于入栈名
EXCEPTIONS
invalid_queue_name = 1
OTHERS = 2.
CALL FUNCTION 'ZTEST1'
IN BACKGROUND TASK
DESTINATION 'test'.
commit work.
rfc只注册未执行,rfc不通,在调用方smq1里查询日志。
rfc不存在,rfc执行出错,在对方smq2里查询日志。并且入栈队列需要预先在对方注册好才可正确执行。smqr设置
po的proxy接口使用此种接口。
bgrfc:没有研究。
浙公网安备 33010602011771号