Anfang des Inhaltsbereichs

Vorgehensweisen Funktionsbaustein anlegen (direkter Eingang)  Dokument im Navigationsbaum lokalisieren

Sie legen einen Funktionsbaustein an, der von der IDoc-Schnittstelle über einen Vorgangscode identifiziert und von ALE aufgerufen wird (Feld TBD52-FUNCNAME). Die direkte Eingangsverarbeitung über einen Funktionsbaustein (nicht über einen Workflow) durchläuft immer die ALE-Schicht. Die Einstellung „Verarbeitung durch Funktionsbaustein und durch ALE-Schicht" wird durch den Wert 6 im Feld TEDE2-EDIVRS identifiziert, der vom Funktionsbaustein IDOC_START_INBOUND gelesen wird. IDOC_START_INBOUND ruft dann ALE.

Voraussetzungen

Voraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendung eines Basistyps.

Vorgehensweise

  1. Wählen Sie Werkzeuge ABAP Workbench Entwicklung Function Builder, und legen Sie einen neuen Funktionsbaustein an.
  2. Legen Sie die Segmente als globale Daten in Ihrer Funktionsgruppe an. Ihr Funktionsbaustein sollte die Anwendungsdaten aus den Segmenten in die entsprechenden Anwendungstabellen überführen und den IDoc-Status fortschreiben. Im Fehlerfall muß der Funktionsbaustein die entsprechenden Workflow-Parameter für die Ausnahmebehandlung setzen.
  3. Aktivieren Sie Ihren Funktionsbaustein: Wählen Sie dazu aus dem Einstiegsbild des Function Builder Diese Grafik wird im zugehörigen Text erklärt.

Beispiel

Im Fallbeispiel legen Sie den Funktionsbaustein IDOC_INPUT_TESTER mit globaler Schnittstelle an. Der Funktionsbaustein wird beim Eingang eines IDocs vom Typ TESTER01 aufgerufen. Sie werden diesem IDoc-Typ ein Anwendungsobjekt "Terminauftrag" zuordnen und daher Tabellen aus dem Vertrieb (SD) füllen. Dazu rufen Sie mit dem Befehl CALL TRANSACTION die Transaktion VA01 auf. Beachten Sie, daß kein realistischer Terminauftrag simuliert, sondern nur dargelegt werden soll, wie Daten aus einer IDoc-Tabelle über Segmentstrukturen in Anwendungstabellen wandern (Formroutine READ_IDOC_TESTER) und wie der Funktionsbaustein ein Ereignis für die Ausnahmebehandlung auslöst (Durch Zurückgeben geeigneter Return-Variablen an die ALE-Schicht in FORM-Routine RETURN_VARIABLES_FILL).

Hinweis

Ein umfangreiches Beispiel für den Quelltext eines Eingangsfunktionsbausteins finden Sie in der ALE-Dokumentation der SAP-Bibliothek unter Beispielprogramm für die IDoc-Erzeugung. Dieser Funktionsbaustein prüft zum Beispiel auch auf richtige logische Nachricht und ruft einen (fiktiven) zweiten Funktionsbaustein auf, der erst die Anwendungsdaten schreibt und die Nummer des entstandenen Belegs zurückgibt. Außerdem setzt er Status 53, wenn der Anwendungsbeleg fehlerfrei gebucht werden konnte.

Verwaltungsparameter von IDOC_INPUT_TESTER

Anwendungskürzel

V (Vertrieb)

Ablaufart

normal, Start sofort

Schnittstelle von IDOC_INPUT_TESTER (globale Schnittstelle)

Formalparameter

Bezugsstruktur

Erläuterung

Importparameter

   

INPUT_METHOD

BDWFAP_PAR-INPUTMETHD

beschreibt, wie der Funktionsbaustein abgearbeitet werden soll (Beispiel: im Hintergrund oder "dunkel")

MASS_PROCESSING

BDWFAP_PAR-MASS_PROC

Masseneingang? (Kennzeichen)

Exportparameter

   

WORKFLOW_RESULT

BDWFAP_PAR-RESULT

wird auf 99999 gesetzt, falls ein Ereignis zur Fehlerbehandlung ausgelöst werden soll.

APPLICATION_VARIABLE

BDWFAP_PAR-APPL_VAR

von der Anwendung frei verfügbare Variable für Workflow

IN_UPDATE_TASK

BDWFAP_PAR-UPDATETASK

asynchrone Verbuchung? (Kennzeichen, wird im Beispiel nicht gesetzt)

CALL_TRANSACTION_DONE

BDWFAP_PAR-CALLTRANS

Transaktion aufgerufen? (Kennzeichen, wird im Beispiel nicht gesetzt)

Tabelle

   

IDOC_CONTRL

EDIDC

IDoc-Kontrollsatz

IDOC_DATA

EDIDD

IDoc-Datensätze

IDOC_STATUS

BDIDOCSTAT

IDoc-Statussätze für ALE

RETURN_VARIABLES

BDWFRETVAR

IDoc-Zuordnung zu Parametern der Objekttypmethode

SERIALIZATION_INFO

BDI_SER

Falls mehrere IDocs in einer bestimmten Reihenfolge verarbeitet werden sollen: Diese Struktur enthält die dazu nötige Information

Beispiel

FUNCTION IDOC_INPUT_TESTER.
*"-------------------------------------------------------------------
*"*"Globale Schnittstelle:
*"       IMPORTING
*"             VALUE(INPUT_METHOD) LIKE  BDWFAP_PAR-INPUTMETHD
*"             VALUE(MASS_PROCESSING) LIKE  BDWFAP_PAR-MASS_PROC
*"       EXPORTING
*"             VALUE(WORKFLOW_RESULT) LIKE  BDWFAP_PAR-RESULT
*"             VALUE(APPLICATION_VARIABLE) LIKE  BDWFAP_PAR-APPL_VAR
*"             VALUE(IN_UPDATE_TASK) LIKE  BDWFAP_PAR-UPDATETASK
*"             VALUE(CALL_TRANSACTION_DONE) LIKE  BDWFAP_PAR-CALLTRANS
*"       TABLES
*"              IDOC_CONTRL STRUCTURE  EDIDC OPTIONAL
*"              IDOC_DATA STRUCTURE  EDIDD
*"              IDOC_STATUS STRUCTURE  BDIDOCSTAT
*"              RETURN_VARIABLES STRUCTURE  BDWFRETVAR
*"              SERIALIZATION_INFO STRUCTURE  BDI_SER
*"-------------------------------------------------------------------

* initialize SET/GET Parameter and internal tables
  PERFORM INITIALIZE_ORGANIZATIONAL_DATA.
* Move IDOC to internal tables of application
  PERFORM READ_IDOC_TESTER.
* call transaction Order Entry VA01
  PERFORM CALL_VA01_IDOC_ORDERS USING ERRORCODE.
* set status value
  perform write_status_record using errorcode.
* return values of function module
  PERFORM RETURN_VARIABLES_FILL USING ERRORCODE.

ENDFUNCTION.


FORM INITIALIZE_ORGANIZATIONAL_DATA.

* initialize SET/GET parameters
   SET PARAMETER ID 'VKO' FIELD SPACE.
   SET PARAMETER ID 'VTW' FIELD SPACE.
   SET PARAMETER ID 'SPA' FIELD SPACE.
   SET PARAMETER ID 'VKB' FIELD SPACE.
   SET PARAMETER ID 'VKG' FIELD SPACE.

* initialize internal tables
   REFRESH BDCDATA.
   CLEAR BDCDATA.
   CLEAR BELEGNUMMER.
   CLEAR ERRTAB.
   REFRESH ERRTAB.
   REFRESH XBDCMSGCOLL.
   CLEAR XBDCMSGCOLL.

ENDFORM.                    " INITIALIZE_ORGANIZATIONAL_DATA

FORM READ_IDOC_TESTER.

  PERFORM INITIALIZE_IDOC.
 LOOP AT IDOC_DATA
   WHERE DOCNUM = IDOC_CONTRL-DOCNUM.
    CASE IDOC_DATA-SEGNAM.
* header data
      WHEN 'E1HEAD'.
        MOVE IDOC_DATA-SDATA TO E1HEAD.
        PERFORM PROCESS_SEGMENT_E1HEAD.
* position data
      WHEN 'E1ITEM'.
        MOVE IDOC_DATA-SDATA TO E1ITEM.
        PERFORM PROCESS_SEGMENT_E1ITEM.
    ENDCASE.
 ENDLOOP.
* only when there were one or more items
  CHECK FIRST NE 'X'.
  APPEND XVBAP.                        "last one

ENDFORM.                    " READ_IDOC_TESTER

FORM INITIALIZE_IDOC.

  CLEAR XVBAK.
  REFRESH XVBAP.
  CLEAR XVBAP.
  POSNR = 0.
  FIRST = 'X'.

ENDFORM.                    " INITIALIZE_IDOC

FORM PROCESS_SEGMENT_E1HEAD.

* requested date of delivery
  WLDAT = E1HEAD-WLDAT.
* delivery date
  XVBAK-BSTDK = E1HEAD-BSTDK.
* customer number
  XVBAK-KUNNR = E1HEAD-AUGEB.
* order number
  XVBAK-BSTNK = E1HEAD-BELNR.
* division
  XVBAK-SPART = E1HEAD-SPART.
* distribution channel
  XVBAK-VTWEG = E1HEAD-VTWEG.
* sales organization
  XVBAK-VKORG = E1HEAD-VKORG.
* order type
  XVBAK-AUART = E1HEAD-AUART.
* do not fill incoterms (inco1, inco2)
* customer function
  CALL CUSTOMER-FUNCTION '001'
       EXPORTING
            PI_VBAK621           = XVBAK
       IMPORTING
            PE_VBAK621           = XVBAK
       TABLES
            PT_IDOC_DATA_RECORDS = IDOC_DATA.

ENDFORM.                    " PROCESS_SEGMENT_E1HEAD

FORM PROCESS_SEGMENT_E1ITEM.
* position number
  XVBAP-POSNR = XVBAP-POSNR + 1.
* amount
  XVBAP-WMENG = E1ITEM-MENGE.
* unit
  CALL FUNCTION 'ISO_TO_SAP_MEASURE_UNIT_CODE'
       EXPORTING
            ISO_CODE  = E1ITEM-BMEINH
       IMPORTING
            SAP_CODE  = XVBAP-VRKME
       EXCEPTIONS
            OTHERS    = 0.
* material number
  XVBAP-MATNR = E1ITEM-LMATNR.

CALL CUSTOMER-FUNCTION '002'
       EXPORTING
            PI_VBAP621           = XVBAP
       IMPORTING
            PE_VBAP621           = XVBAP
       TABLES
            PT_IDOC_DATA_RECORDS = IDOC_DATA.
APPEND XVBAP.

ENDFORM.                    " PROCESS_SEGMENT_E1ITEM

FORM CALL_VA01_IDOC_ORDERS USING ERRORCODE.

* call transaction first dynpro
  PERFORM DYNPRO_START.
* call transaction double-line entry
  PERFORM DYNPRO_DETAIL2.
* incoterms
  PERFORM DYNPRO_HEAD_300.
* call transaction item datas
  PERFORM DYNPRO_POSITION.
  PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'SICH'.
* determine input method
  IF INPUT_METHOD IS INITIAL.
    INPUT_METHOD = 'N'.
  ENDIF.
* call transaction VA01
 CALL TRANSACTION 'VA01' USING    BDCDATA
                         MODE     INPUT_METHOD
                         UPDATE   'S'
                         MESSAGES INTO XBDCMSGCOLL.


errorcode = SY-SUBRC.       " remember returncode for status update

ENDFORM.                    " CALL_VA01_IDOC_ORDERS


form write_status_record using errorcode.

* FILL IDOC_STATUS
 IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
 IF ERRORCODE = 0.
IDOC_STATUS-STATUS = BELEG_GEBUCHT. "value 53
   GET PARAMETER ID 'AUN' FIELD BELEGNUMMER.
   IDOC_STATUS-MSGID = 'V1'.
   IDOC_STATUS-MSGNO = '311'.
   IDOC_STATUS-MSGV1 = 'Terminauftrag'.
   IDOC_STATUS-MSGV2 = BELEGNUMMER.
 ELSE.
    IDOC_STATUS-STATUS = BELEG_NICHT_GEBUCHT. "value 51
    IDOC_STATUS-MSGID = SY-MSwGID.
    IDOC_STATUS-MSGNO = SY-MSGNO.
    IDOC_STATUS-MSGV1 = SY-MSGV1.
    IDOC_STATUS-MSGV2 = SY-MSGV2.
    IDOC_STATUS-MSGV3 = SY-MSGV3.
    IDOC_STATUS-MSGV4 = SY-MSGV4.
  ENDIF.
  APPEND IDOC_STATUS.

ENDFORM.


FORM DYNPRO_START.

  PERFORM DYNPRO_NEW USING PROGRAMM_AUFTRAG
                           DYNPRO-EINSTIEG
                  CHANGING LAST_DYNPRO.
* ordertype
  PERFORM DYNPRO_SET USING 'VBAK-AUART' XVBAK-AUART.
* sales organization
  PERFORM DYNPRO_SET USING 'VBAK-VKORG' XVBAK-VKORG.
* Distribution channel
  PERFORM DYNPRO_SET USING 'VBAK-VTWEG' XVBAK-VTWEG.
* Division
  PERFORM DYNPRO_SET USING 'VBAK-SPART' XVBAK-SPART.
* Sales office
  PERFORM DYNPRO_SET USING 'VBAK-VKBUR' XVBAK-VKBUR.
* Sales group
  PERFORM DYNPRO_SET USING 'VBAK-VKGRP' XVBAK-VKGRP.

ENDFORM.                    " DYNPRO_START


FORM DYNPRO_NEW USING    PROGNAME
                         DYNPRONR
                CHANGING LAST_DYNPRO.

 CLEAR BDCDATA.
 BDCDATA-PROGRAM = PROGNAME.
 BDCDATA-DYNPRO  = DYNPRONR.
 BDCDATA-DYNBEGIN   = 'X'.
 APPEND BDCDATA.
 LAST_DYNPRO = DYNPRONR.

ENDFORM.                    " DYNPRO_NEW


FORM DYNPRO_SET USING    FELDNAME
                         FELDINHALT.

  CLEAR BDCDATA.
  CHECK FELDINHALT NE SPACE.
* dynpro field name
  BDCDATA-FNAM = FELDNAME.
* contents
  BDCDATA-FVAL = FELDINHALT.
  APPEND  BDCDATA.

ENDFORM.                    " DYNPRO_SET

FORM DYNPRO_DETAIL2.
* okcode
*  PERFORM DYNPRO_SET USING 'BDC_OKCODE' PANEL-UER2.
* fix dynpro number 4001
  PERFORM DYNPRO_NEW  USING    PROGRAMM_AUFTRAG
                               '4001'
                      CHANGING LAST_DYNPRO.
* order party
  PERFORM DYNPRO_SET      USING 'KUAGV-KUNNR'  XVBAK-KUNNR.
* purchase order number
  PERFORM DYNPRO_SET      USING 'VBKD-BSTKD'   XVBAK-BSTNK.
* requested delivery date
  PERFORM DYNPRO_DATE_SET USING 'VBKD-BSTDK'   XVBAK-BSTDK.
* purchase order date
  PERFORM DYNPRO_DATE_SET USING 'RV45A-KETDAT' WLDAT.

ENDFORM.                    " DYNPRO_DETAIL2

FORM DYNPRO_DATE_SET USING    FELDNAME
                              FELDINHALT.

  DATA: DATE TYPE D.

  CLEAR BDCDATA.
  CHECK FELDINHALT NE SPACE.
  BDCDATA-FNAM = FELDNAME.
  WRITE FELDINHALT  TO DATE.
  BDCDATA-FVAL = DATE.
  APPEND  BDCDATA.

ENDFORM.                    " DYNPRO_DATE_SET

FORM DYNPRO_HEAD_300.

  PERFORM DYNPRO_SET USING 'BDC_OKCODE' PANEL-KKAU.

* incoterms part 1
  IF NOT XVBAK-INCO1 IS INITIAL.
   PERFORM DYNPRO_SET USING 'VBKD-INCO1' XVBAK-INCO1.
  ENDIF.
* incoterms part 2
  IF NOT XVBAK-INCO2 IS INITIAL.
   PERFORM DYNPRO_SET USING 'VBKD-INCO2' XVBAK-INCO2.
  ENDIF.
*  PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'BACK'.

ENDFORM.                    " DYNPRO_HEAD_300

FORM DYNPRO_POSITION.

  LOOP AT XVBAP.
* dynpro item double line entry
*   PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'UER2'.

    IF XVBAP-POSNR = 1.
* material number
      PERFORM DYNPRO_SET      USING 'VBAP-MATNR(01)'   XVBAP-MATNR.
* order quantity
      PERFORM DYNPRO_SET      USING 'RV45A-KWMENG(01)' XVBAP-WMENG.
* desired delivery date
      PERFORM DYNPRO_DATE_SET USING 'RV45A-ETDAT(1)'  WLDAT.
* sales unit
      PERFORM DYNPRO_SET      USING 'VBAP-VRKME(1)'   XVBAP-VRKME.
    ELSE.
*      PERFORM DYNPRO_SET      USING 'BDC_OKCODE'      'POAN'.

* material number
      PERFORM DYNPRO_SET      USING 'VBAP-MATNR(02)'    XVBAP-MATNR.
* order quantity
      PERFORM DYNPRO_SET      USING 'RV45A-KWMENG(02)'  XVBAP-WMENG.
* desired delivery date
      PERFORM DYNPRO_DATE_SET USING 'RV45A-ETDAT(02)'   WLDAT.
* sales unit
      PERFORM DYNPRO_SET      USING 'VBAP-VRKME(02)'    XVBAP-VRKME.
    ENDIF.
  ENDLOOP.

ENDFORM.                    " DYNPRO_POSITION

FORM RETURN_VARIABLES_FILL USING ERRORCODE.

* allocate IDOC numbers to Workflow output parameters
  IF MASS_PROCESSING <> SPACE.
    IF ERRORCODE = 0.

      RETURN_VARIABLES-WF_PARAM = PID.
      RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
      APPEND RETURN_VARIABLES.
      RETURN_VARIABLES-WF_PARAM = APO.
      RETURN_VARIABLES-DOC_NUMBER = BELEGNUMMER.
      APPEND RETURN_VARIABLES.
      WORKFLOW_RESULT = C_WF_RESULT_OK.
    ELSE.
      RETURN_VARIABLES-WF_PARAM = EID.
      RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
      APPEND RETURN_VARIABLES.
      WORKFLOW_RESULT = C_WF_RESULT_ERROR.
    ENDIF.
  ELSE.
    IF ERRORCODE = 0.
      RETURN_VARIABLES-WF_PARAM = APE.
      RETURN_VARIABLES-DOC_NUMBER = BELEGNUMMER.
      APPEND RETURN_VARIABLES.
      WORKFLOW_RESULT = C_WF_RESULT_OK.
    ELSE.
      WORKFLOW_RESULT = C_WF_RESULT_ERROR.
    ENDIF.
  ENDIF.

ENDFORM.                    " RETURN_VARIABLES_FILL

Globale Daten von IDOC_INPUT_TESTER 

TABLES: E1HEAD, E1ITEM.

DATA: BEGIN OF BDCDATA OCCURS 500.
        INCLUDE STRUCTURE BDCDATA.
DATA: END OF BDCDATA.

DATA: BEGIN OF XVBAK.                 "Kopfdaten
     INCLUDE STRUCTURE VBAK621.
DATA: END OF XVBAK.

DATA: BEGIN OF XVBAP OCCURS 50.        "Position
       INCLUDE STRUCTURE VBAP.
DATA:  WMENG(18) TYPE C.
DATA:  LFDAT LIKE VBAP-ABDAT.
DATA:  KSCHL LIKE KOMV-KSCHL.
DATA:  KBTRG(16) TYPE C.
DATA:  KSCHL_NETWR LIKE KOMV-KSCHL.
DATA:  KBTRG_NETWR(16) TYPE C.
DATA:  INCO1 LIKE VBKD-INCO1.
DATA:  INCO2 LIKE VBKD-INCO2.
DATA:  YANTLF(1) TYPE C.
DATA:  PRSDT LIKE VBKD-PRSDT.
DATA:  HPRSFD LIKE TVAP-PRSFD.
DATA: END OF XVBAP.

DATA: BEGIN OF DYNPRO,
      EINSTIEG          LIKE T185V-DYNNR VALUE 101,
      KKAU              LIKE T185V-DYNNR,
      UER2              LIKE T185V-DYNNR,
      KBES              LIKE T185V-DYNNR,
      ERF1              LIKE T185V-DYNNR,
      PBES              LIKE T185V-DYNNR,
      PKAU              LIKE T185V-DYNNR,
      PEIN              LIKE T185V-DYNNR,
      EID1              LIKE T185V-DYNNR,
      POPO              LIKE T185V-DYNNR,
      EIPO              LIKE T185V-DYNNR,
      KPAR              LIKE T185V-DYNNR,
      PSDE              LIKE T185V-DYNNR,
      PPAR              LIKE T185V-DYNNR,
      KDE1              LIKE T185V-DYNNR,
      KDE2              LIKE T185V-DYNNR,
      PDE1              LIKE T185V-DYNNR,
      PDE2              LIKE T185V-DYNNR,
      PKON              LIKE T185V-DYNNR,
      END OF DYNPRO.

DATA: BEGIN OF PANEL,
      KKAU              LIKE T185V-PANEL VALUE 'KKAU',
      UER2              LIKE T185V-PANEL VALUE 'UER2',
      KBES              LIKE T185V-PANEL VALUE 'KBES',
      ERF1              LIKE T185V-PANEL VALUE 'ERF1',
      PBES              LIKE T185V-PANEL VALUE 'PBES',
      PKAU              LIKE T185V-PANEL VALUE 'PKAU',
      PEIN              LIKE T185V-PANEL VALUE 'PEIN',
      EID1              LIKE T185V-PANEL VALUE 'EID1',
      EIAN              LIKE T185V-PANEL VALUE 'EIAN',
      POPO              LIKE T185V-PANEL VALUE 'POPO',
      EIPO              LIKE T185V-PANEL VALUE 'EIPO',
      KPAR              LIKE T185V-PANEL VALUE 'KPAR',
      PSDE              LIKE T185V-PANEL VALUE 'PSDE',
      POAN              LIKE T185V-PANEL VALUE 'POAN',
      PPAR              LIKE T185V-PANEL VALUE 'PPAR',
      KDE1              LIKE T185V-PANEL VALUE 'KDE1',
      KDE2              LIKE T185V-PANEL VALUE 'KDE2',
      PDE1              LIKE T185V-PANEL VALUE 'PDE1',
      PDE2              LIKE T185V-PANEL VALUE 'PDE2',
      PKON              LIKE T185V-PANEL VALUE 'PKON',
      KOAN              LIKE T185V-PANEL VALUE 'KOAN',
      END OF PANEL.

DATA: BEGIN OF ERRTAB OCCURS 20,
       TRANS  LIKE TSTC-TCODE,
       ARBGB  LIKE T100-ARBGB,
       CLASS(1) TYPE C,
       MSGNR LIKE T100-MSGNR,
*      TEXT LIKE T100-TEXT,
       TEXT(123) TYPE C,
       MSGV1 LIKE SY-MSGV1,
       MSGV2 LIKE SY-MSGV2,
       MSGV3 LIKE SY-MSGV3,
       MSGV4 LIKE SY-MSGV4,
      END OF ERRTAB.
*---- Hilfsfelder     ------------------------------------------------*

DATA: PROGRAMM_AUFTRAG LIKE T185V-AGIDV VALUE 'SAPMV45A'.

DATA: LAST_DYNPRO      LIKE T185V-DYNNR,
      WLDAT            LIKE VBAK-BSTDK,
      POSNR            LIKE VBAP-POSNR,
      FIRST(1)         TYPE C VALUE 'X'.

DATA: BEGIN OF XBDCMSGCOLL OCCURS 10.
        INCLUDE STRUCTURE BDCMSGCOLL.
DATA: END OF XBDCMSGCOLL.

* Terminauftrag  ( Auftragsart wird fest gesetzt !)
DATA:   BELEGNUMMER LIKE VBAK-VBELN.
DATA:   ERRORCODE LIKE SY-SUBRC.

* Statuswerte fuer IDOC-Status
DATA:   BELEG_NICHT_GEBUCHT LIKE TEDS1-STATUS VALUE '51'.
DATA:   BELEG_GEBUCHT       LIKE TEDS1-STATUS VALUE '53'.

*- Direktwerte für Return_variables -------------------------
data:
    eid like bdwfretvar-wf_param value 'Error_IDOCs',
    pid like bdwfretvar-wf_param value 'Processed_IDOCs',
    apo like bdwfretvar-wf_param value 'Appl_Objects',
    ape like bdwfretvar-wf_param value 'Appl_Object'.

*- Direktwerte für Workflow_Result -------------------------
DATA: C_WF_RESULT_ERROR LIKE BDWFAP_PAR-RESULT VALUE '99999'.
DATA: C_WF_RESULT_OK    LIKE BDWFAP_PAR-RESULT VALUE '0'.

Ende des Inhaltsbereichs