Show TOC

Example documentationFunction Module for Rule Resolution Locate this document in the navigation structure

 

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.

Syntax Syntax

  1. 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.
    
End of the code.