首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

[ABAP]RFC 帮组文档下的例子(abenrfc_example)

2012-07-18 
[ABAP]RFC 帮组文档上的例子(abenrfc_example)?*&---------------------------------**& Report ?ZKLJ_000

[ABAP]RFC 帮组文档上的例子(abenrfc_example)

?

*&---------------------------------*

*& Report ?ZKLJ_0004

*&---------------------------------*

REPORT ?ZKLJ_0004.

?

TYPES:

??BEGIN OF TASK_TYPE,

?? ?NAME TYPE STRING,

?? ?DEST TYPE STRING,

??END OF TASK_TYPE.

?

DATA:

??SND_JOBS TYPE I,

??RCV_JOBS TYPE I,

??EXC_FLAG TYPE I,

??INFO ? ? TYPE RFCSI,

??MESS ? ? TYPE C LENGTH 80,

??INDX ? ? TYPE C LENGTH 4,

??NAME ? ? TYPE C LENGTH 8,

??TASK_LIST TYPE STANDARD TABLE OF TASK_TYPE,

??TASK_WA ? TYPE TASK_TYPE.

?

DO 10 TIMES.

?

??INDX = SY-INDEX.

??CONCATENATE 'Task' INDX INTO NAME.

?

??CALL FUNCTION 'RFC_SYSTEM_INFO'

?? ?STARTING NEW TASK NAME

?? ?DESTINATION IN GROUP DEFAULT

?? ?PERFORMING RFC_INFO ON END OF TASK

?? ?EXCEPTIONS

?? ? ?SYSTEM_FAILURE ? ? ? ?= 1 MESSAGE MESS

?? ? ?COMMUNICATION_FAILURE = 2 ?MESS

?? ? ?RESOURCE_FAILURE ? ? ?= 3.

?

??CASE SY-SUBRC.

?? ?WHEN 0.

?? ? ?SND_JOBS = SND_JOBS + 1.

?? ?WHEN 1 OR 2.

?? ? ?MESSAGE MESS TYPE 'I'.

?? ?WHEN 3.

?? ? ?IF SND_JOBS >= 1 AND EXC_FLAG = 0.

?? ? ? ?EXC_FLAG = 1.

?? ? ? ?WAIT UNTIL RCV_JOBS >= SND_JOBS UP TO 5 SECONDS.

?? ? ?ENDIF.

?? ? ?IF SY-SUBRC = 0.

?? ? ? ?EXC_FLAG = 0.

?? ? ?ELSE.

?? ? ? ?MESSAGE 'Resource failure' TYPE 'I'.

?? ? ?ENDIF.

?? ?WHEN OTHERS.

?? ? ?MESSAGE 'Other error' TYPE 'I'.

??ENDCASE.

?

ENDDO.

?

WAIT UNTIL RCV_JOBS >= SND_JOBS.

LOOP AT TASK_LIST INTO TASK_WA.

??WRITE: / TASK_WA-NAME, TASK_WA-DEST.

ENDLOOP.

?

FORM RFC_INFO USING NAME.

??TASK_WA-NAME = NAME.

??RCV_JOBS = RCV_JOBS + 1.

??RECEIVE RESULTS FROM FUNCTION 'RFC_SYSTEM_INFO'

?? ?IMPORTING

?? ? ?RFCSI_EXPROT ? ? ? ? ?= INFO

?? ?EXCEPTIONS

?? ? ?SYSTEM_FAILURE ? ? ? ?= 1 MESSAGE MESS

?? ? ?COMMUNICATION_FAILURE = 2 MESSAGE MESS.

?

??IF SY-SUBRC = 0.

?? ?TASK_WA-DEST = INFO-RFCDEST.

??ELSE.

?? ?TASK_WA-DEST = MESS.

??ENDIF.

?

??APPEND TASK_WA TO TASK_LIST.

?

ENDFORM.

?

热点排行