Show TOC

Function Module for Rule ResolutionLocate this document in the navigation structure

Use

The following excerpts from a fictitious function module for an agent determination rule, which determines the responsible agent on the basis of a release code and object to be released, can be used as an example.

The ReleaseCode and ReleaseObject elements are defined in the rule container as rule parameters.

FUNCTION GET_REL_RESPONSIBLE.

*"----------------------------------------------------------
*"*"Local interface:
*" TABLES
*" ACTOR_TAB STRUCTURE SWHACTOR
*" AC_CONTAINER STRUCTURE SWCONT
*" EXCEPTIONS
*" NOBODY_FOUND
*"----------------------------------------------------------

  INCLUDE <CNTN01>.

* define variables stored in container
  DATA: RELEASE_OBJECT TYPE SWC_OBJECT.
  DATA: RELEASE_CODE LIKE RM06B-FRGAB.

* local data
  DATA: BEGIN OF RELOBJECTKEY,
          NUMBER LIKE EBAN-BANFN,
          POSITION LIKE EBAN-BNFPO,
        END OF RELOBJECTKEY.

  REFRESH ACTOR_TAB.
  CLEAR ACTOR_TAB.

* convert persistent container to runtime container
  SWC_CONTAINER_TO_RUNTIME AC_CONTAINER.

* read elements out of container
  SWC_GET_ELEMENT AC_CONTAINER 'ReleaseCode' RELEASE_CODE. 
  SWC_GET_ELEMENT AC_CONTAINER 'ReleaseObject' RELEASE_OBJECT.

* separate object key
  SWC_GET_OBJECT_KEY RELEASE_OBJECT RELOBJECTKEY. 

* loop and select table <TABLE> with
* RELEASE_CODE 
* RELOBJECTKEY-NUMBER and RELOBJECTKEY-POSITION

* end of selection

* exception and parameter handling
  IF SY-SUBRC NE 0.
    RAISE NOBODY_FOUND.
  ELSE.
    ACTOR_TAB-OTYPE = <TABLE>-ACTOR_TYPE.
    ACTOR_TAB-OBJID = <TABLE>-ACTOR_OBJID.
    APPEND ACTOR_TAB.
  ENDIF.

ENDFUNCTION.