Check FM does not work

de Valensart Schoenmaeckers, Patrick deValensartSchoenmaeckers.Patrick at pmintl.ch
Tue Oct 23 13:42:31 EDT 2001


Hi workflowers.
 
I want to trigger an approval workflow for all FI-AP documents, except for a
FI document type "ZR". I have then linked my workflow to the event
BSEG.CREATED with a "check" function module that raise an exception if the
document type is ZR (via transaction SWE2).
However, it looks like when posting an FI document, the function module is
called before that the table BKPF is updated. So my select statement does
not select anything, and the FM does therefore not raise an exception as
expected. When I try to use the test tool "generate event" (transaction
SWUE), it works fine (which is normal, because I am then working on an
existing document.)
 
I searched OSS to solve this problem without success. I also tried to put a
"commit work" statement in the function module, but that gives an error
message (a sap office Express info "Update was terminated") when trying to
post the document, and it is not posted. Any help or tip to solve this would
be very much appreciated.
 
Thanks in advance & Kindest regards to all.
 
Patrick de Valensart
Associate IS Analyst
Philip Morris Benelux M&S
 
 
P.S. Here is my FM :
 
FUNCTION Z_AP_WF_EVENT_CHECK_NOT_ZR.
*"----------------------------------------------------------------------
*"*"Update function module:
*"
*"*"Local interface:
*"       IMPORTING
*"             VALUE(OBJTYPE) LIKE  SWETYPECOU-OBJTYPE
*"             VALUE(OBJKEY) LIKE  SWEINSTCOU-OBJKEY
*"             VALUE(EVENT) LIKE  SWEINSTCOU-EVENT
*"             VALUE(RECTYPE) LIKE  SWETYPECOU-RECTYPE
*"       TABLES
*"              EVENT_CONTAINER STRUCTURE  SWCONT
*"       EXCEPTIONS
*"              DO_NOT_TRIGGER
*"----------------------------------------------------------------------
  INCLUDE <CNTAIN>.
  DATA : BEGIN OF KEY,
           BUKRS LIKE BSEG-BUKRS,
           BELNR LIKE BSEG-BELNR,
           GJAHR LIKE BSEG-GJAHR,
           BUZEI LIKE BSEG-BUZEI,
         END OF KEY.
  CLEAR KEY.
  KEY = OBJKEY.
* commit work.
  SELECT SINGLE * FROM BKPF WHERE BUKRS = KEY-BUKRS
                              AND BELNR = KEY-BELNR
                              AND GJAHR = KEY-GJAHR.
  IF BKPF-BLART EQ 'ZR'.
    RAISE DO_NOT_TRIGGER.
  ENDIF.
 
ENDFUNCTION.
 


More information about the SAP-WUG mailing list