RECEIVE
Basic form
RECEIVE RESULTS FROM FUNCTION func.Additions
1. ... IMPORTING p1 = f1 ... pn = fn
2. ... TABLES p1 = itab1 ... pn = itabn
3. ... EXCEPTIONS except1 = rc1 ... exceptn = rcn
Effect
Used within a FORM routine to receive the results of an asynchronous function module call (CALL FUNCTION func STARTING NEW TASK task name ) as IMPORTING or TABLES parameters. In addition, the FORM routine must have a placeholder to receive the task name (e.g. when you use USING task name ). See example below.Notes
This key word occurs only with the function module call CALL FUNCTION func STARTING NEW TASK task name . If the function module returns no results, this part need not be defined.This key word is new from Release 3.0. Therefore, both partner systems (client and server) must have Release 3.0 of the R/3 System.
Addition 1
... IMPORTING p1 = f1 ... pn = fnEffect
IMPORTING returns the values of fields and field strings from the function module to the calling program. In the function module, the formal parameters are defined as export parameters. You can pass any number of export parameters.Addition 2
... TABLES p1 = itab1 ... pn = itabnEffect
The TABLES statement contains references to internal tables. All table parameters of the function module must be covered.Addition 3
... EXCEPTIONS except1 = rc1 ... exceptn = rcnEffect
Under EXCEPTIONS , you execute the exceptions handled by the calling program itself. At the end of the exception list, you can use OTHERS to refer to all remaining exceptions.If one of the listed exceptions occurs, SY-SUBRC is set to the assigned value rc (number literal!) and control passes to the calling program. By specifying a return code, you can group exceptions into classes. With the second form, without " = rc ", SY-SUBRC is set to a value other than 0 if an exception occurs.
If the function module triggers an exception (RAISE and MESSAGE ... RAISING ) not meant to be handled by the program itself,
- RAISE terminates the program with a runtime error;
- MESSAGE ... RAISING outputs the message.
Note
The following EXCEPIONS are predefined by the system and have a special meaning:- OTHERS : Covers all user-defined exceptions in the calle function module
- ERROR_MESSAGE : Specifcation of this exception means that S messages, I messages and W messages are ignored until return from the function module (although, in the case of background jobs, thery appear in the log). If an E message or an A message occurs, the called function module terminates, as if the exception ERROR_MESSAGE had been triggered.
Example
- DATA: INFO LIKE RFCSI, * Result of RFC_SYSTEM_INFO function SYSTEM_MSG(80) VALUE SPACE. * Exception handling CALL FUNCTION 'RFC_SYSTEM_INFO' STARTING NEW TASK 'INFO' PERFORMING 'RETURN_INFO' ON END OF TASK. WRITE: 'Wait for reply'. ... AT USER-COMMAND. * Return from FORM routine RETURN_INFO IF SYSTEM_MSG = SPACE. WRITE: 'Destination =', INFO-RFCDEST. ELSE. WRITE SYSTEM_MSG. ENDIF. ... FORM RETURN_INFO USING TASKNAME. RECEIVE RESULTS FROM FUNCTION 'RFC_SYSTEM_INFO' IMPORTING RFCSI_EXPORT = INFO EXCEPTIONS SYSTEM_FAILURE MESSAGE SYSTEM_MSG. REFRESH SCREEN. "Simulate command field = return key ENDFORM.
RECEIVE_ILLEGAL_SWITCH
Index
© SAP AG 1996
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.