ITPub博客

首页 > Linux操作系统 > Linux操作系统 > [RFC] CALL FUNCTION - RFC ( from IDS system example)

[RFC] CALL FUNCTION - RFC ( from IDS system example)

原创 Linux操作系统 作者:alpheren 时间:2009-01-07 11:35:13 0 删除 编辑

Syntax Forms


Synchronous RFC

1. CALL FUNCTION func DESTINATION dest
                     parameter_list.


Asynchronous RFC

2. CALL FUNCTION func STARTING NEW TASK task
                [DESTINATION {dest|{IN GROUP {group|DEFAULT}}}]
                [{PERFORMING subr}|{CALLING meth} ON END OF TASK]
                parameter_list.

Background RFC

3. CALL FUNCTION func IN BACKGROUND UNIT
                     parameter_list.

Transactional RFC

4. CALL FUNCTION func IN BACKGROUND TASK
                     [AS SEPARATE UNIT]
                     [DESTINATION dest]
                     parameter_list.

Effect

Call of a function module or a function using the RFC interface.

Notes

  • Background RFC (bgRFC) is the enhanced successor technology of the transactional RFC (tRFC). Currently, all variants are still usable. However, we strongly recommend using the bgRFC instead of the tRFC.

  • A more detailed description of the exceptions that can occur in RFC can be found in the SAP Library under RFC Exceptions.

Exceptions

Non-Catchable Exceptions

  • Cause: The called function module has not been released for RFC.
    Runtime Error: CALL_BACK_ENTRY_NOT_FOUND
  • Cause: Destination type is not allowed.
    Runtime Error: CALL_FUNCTION_DEST_TYPE
  • Cause: The current function was not called remotely.
    Runtime Error: CALL_FUNCTION_NO_SENDER
  • Cause: Missing communication type (I for internal connection, 3 for ABAP system) when calling an asynchronous RFC
    Runtime Error: CALL_FUNCTION_DESTINATION_NO_T
  • Cause: The destination entered does not exist.
    Runtime Error: CALL_FUNCTION_NO_DEST
  • Cause: Maximum length of destination options exceeded.
    Runtime Error: CALL_FUNCTION_OPTION_OVERFLOW
  • Cause: The destination entered (in load distribution mode) does not exist.
    Runtime Error: CALL_FUNCTION_NO_LB_DEST
  • Cause: Data received for unknown CPI-C connection.
    Runtime Error: CALL_FUNCTION_NO_RECEIVER
  • Cause: The function module you tried to call is flagged as one that cannot be called remotely.
    Runtime Error: CALL_FUNCTION_NOT_REMOTE
  • Cause: An error occurred when calling the function remotely. This error is logged in the calling system.
    Runtime Error: CALL_FUNCTION_REMOTE_ERROR
  • Cause: The logon data for the user is not complete.
    Runtime Error: CALL_FUNCTION_SIGNON_INCOMPL
  • Cause: The attempt to log on in the form. of an internal call to a target system is not valid.
    Runtime Error: CALL_FUNCTION_SIGNON_INTRUDER
  • Cause: RFC from an external program without a valid user ID.
    Runtime Error: CALL_FUNCTION_SIGNON_INVALID
  • Cause: The user tried to log onto the target system without a valid user ID.
    Runtime Error: CALL_FUNCTION_SIGNON_REJECTED
    The error code signifies the following:
    1) Incorrect password or invalid user ID
    2) User locked
    3) Too many logon attempts
    5) Error in authorization buffer (internal error)
    6) No external user check
    7) Invalid user type
    8) User's validity interval has been exceeded
  • Cause: No authorization for logon as a trusted system.
    Runtime Error: CALL_FUNCTION_SINGLE_LOGIN_REJ
    The error code signifies the following:
    0) Incorrect logon data with a valid security key.
    1) Either the calling system is not a trusted trusted system, or the security key is invalid.
    2) Either the user has no RFC authorization (authorization object S_RFCACL) or else someone tried to log on using a protected user, 'DDIC' or 'SAP*'.
    3) The timestamp for the logon data is invalid.
  • Cause: An RFC without a valid user ID is only allowed for a system function module. The meaning of the error code is the same as for CALL_FUNCTION_SINGLE_LOGIN_REJ.
    Runtime Error: CALL_FUNCTION_SYSCALL_ONLY
  • Cause: Data error (internal table info) when calling a function remotely

Runtime Error: CALL_FUNCTION_TABINFO

  • Cause: No memory available for the table to be imported
    Runtime Error: CALL_FUNCTION_TABLE_NO_MEMORY

Cause: Only applies to asynchronous RFC: Task name is already being used
Runtime Error: CALL_FUNCTION_TASK_IN_USE

Cause: Only applies to asynchronous RFC: The specified task is already open
Runtime Error: CALL_FUNCTION_TASK_YET_OPEN

  • Cause: No trusted authorization for the RFC call and trusted system
    Runtime Error: CALL_RPERF_SLOGIN_AUTH_ERROR
  • Cause: No valid trusted entry for the calling system
    Runtime Error: CALL_RPERF_SLOGIN_READ_ERROR
  • Cause: No RFC authorization for the user
    Runtime Error: RFC_NO_AUTHORITY
  • Cause: Destination "BACK" is not allowed in the current program
    Runtime Error: CALL_FUNCTION_BACK_REJECTED
    Runtime Error: CALL_XMLRFC_BACK_REJECTED
  • Cause: Error when evaluating the RFC destination
    Runtime Error: CALL_FUNCTION_DEST_SCAN
  • Cause: Error when evaluating the RFC destination
    Runtime Error: CALL_FUNCTION_DEST_SCAN
  • Cause: Type conflict when passing a table
    Runtime Error: CALL_FUNCTION_CONFLICT_TAB_TYP
  • Cause: No memory available for creating a local internal table
    Runtime Error: CALL_FUNCTION_CREATE_TABLE
  • Cause: Type conflict when passing a structure
    Runtime Error: CALL_FUNCTION_UC_STRUCT
    Runtime Error: CALL_FUNCTION_DEEP_MISMATCH
  • Cause: Invalid data type when passing parameters
    Runtime Error: CALL_FUNCTION_WRONG_VALUE_LENG
    Runtime Error: CALL_FUNCTION_PARAMETER_TYPE
    Runtime Error: CALL_FUNCTION_ILLEGAL_DATA_TYP
  • Cause: Type conflict when passing a field of type WCHAR.
    Runtime Error: CALL_FUNCTION_WCHAR_SIZE
  • Cause: Type conflict when passing an integer.
    Runtime Error: CALL_FUNCTION_ILLEGAL_INT_LEN
    Runtime Error: CALL_FUNCTION_ILL_INT2_LENG
  • Cause: Type conflict when passing a floating point number
    Runtime Error: CALL_FUNCTION_ILL_FLOAT_FORMAT
    Runtime Error: CALL_FUNCTION_ILL_FLOAT_LENG
  • Cause: Unallowed LEAVE statement on the RFC server
    Runtime Error: CALL_FUNCTION_ILLEGAL_LEAVE
  • Cause: Type conflict when passing a reference
    Runtime Error: CALL_FUNCTION_OBJECT_SIZE
    Runtime Error: CALL_FUNCTION_ROT_REGISTER

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/99072/viewspace-530165/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-08-01

  • 博文量
    95
  • 访问量
    132597