[ABAP] Workflow: Workitems zu Objekt

* Einkaufsbelegnummer
PARAMETERS: p_po TYPE ekko-ebeln.
* Typ von Objekten in Persistenten Objektreferenzen, hier z.B. Klasse für Bestellungen
PARAMETERS: p_type TYPE sibftypeid DEFAULT 'CL_MM_PUR_WF_OBJECT_PO'.
* Kategorie von Objekten in Persistenten Objektreferenzen, hier z.B. Typ "Klassen"
PARAMETERS: p_catid TYPE sibfcatid DEFAULT 'CL'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_type.

* Sucht Objekttypen zu einem Muster
  DATA(it_objtypes) = cl_swf_utl_def_services=>query_objects( EXPORTING im_objcateg = p_catid
                                                                        im_objtype  = '*' ).

  DATA: it_return TYPE TABLE OF ddshretval.

* eigene Suchhilfe für Auswahl der Objekte anzeigen
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield        = 'TYPEID'      " Spalte der internen Tabelle bei value_tab
      dynpprog        = sy-repid
      dynpnr          = sy-dynnr
      dynprofield     = 'P_TYPE'      " Name des Dynpro-Feldes für die automatische Werterückgabe
      value_org       = 'S'           " Werteübergabe: C: zellenweise, S: strukturiert
      window_title    = 'Auswahl'
    TABLES
      value_tab       = it_objtypes   " Übergabe-Tabelle mit Werten für die Anzeige und Auswahl
      return_tab      = it_return     " Rückgabe-Tabelle mit den ausgewählten (geklickten) Elementen
    EXCEPTIONS
      parameter_error = 1
      no_values_found = 2
      OTHERS          = 3.

  IF sy-subrc = 0.
    IF lines( it_return ) > 0.
      MESSAGE it_return[ 1 ]-fieldval TYPE 'S'.
    ENDIF.
  ENDIF.

START-OF-SELECTION.

  DATA(lv_object_por) = VALUE sibflporb( instid = CONV #( p_po )
                                         typeid = p_type
                                         catid  = p_catid ).
  DATA: lv_return_code TYPE sy-subrc.
  DATA: it_task_filter TYPE STANDARD TABLE OF swr_task WITH DEFAULT KEY.
  DATA: it_worklist    TYPE STANDARD TABLE OF swr_wihdr WITH DEFAULT KEY.

* Workflow-Schnittstellen: Workitems zu Objekt
  CALL FUNCTION 'SAP_WAPI_WORKITEMS_TO_OBJECT'
    EXPORTING
      object_por  = lv_object_por
    IMPORTING
      return_code = lv_return_code
    TABLES
      task_filter = it_task_filter
      worklist    = it_worklist.

  cl_demo_output=>write_data( lv_object_por ).
  cl_demo_output=>write_data( lv_return_code ).
  cl_demo_output=>write_data( it_task_filter ).
  cl_demo_output=>write_data( it_worklist ).

* HTML-Code vom Demo-Output holen
  DATA(lv_html) = cl_demo_output=>get( ).

* Daten im Inline-Browser im SAP-Fenster anzeigen
  cl_abap_browser=>show_html( EXPORTING title       = 'Workflow'
                                        html_string = lv_html
                                        container   = cl_gui_container=>default_screen ).

* cl_gui_container=>default_screen erzwingen
  WRITE: space.

[SAP] Workflow, Events und Typkoppelungen

Transaktionen

SWDD (Workflow Builder)
SWDD_SCENARIO (Flexibler Workflow: Scenario Editor)
SWU3 (Automatic Workflow Customizing)
SWO1 (Business Object Builder)
SBWP (SAP Business Workplace)
BAPI (BAPI Explorer)
SWELS (Ereignis-Trace ein-/ausschalten)
SWEL (Ereignis-Trace anzeigen)
SWIA (Administration von Workitems)
SWI1 (Workitem-Abruf)
SWI2_FREQ (Workitems pro Aufgabe)
SWI2_DIAG (Diagnose fehlerhafter Workflows)
SWI6 (Workflows zu Objekt)
SWI14 (Workflows zu Objekttyp)
SWEC (Ereigniskopplung für Änderungsbelege)
SWE2 (Display/Maint. Event Type Linkages)
SWETYPV (Anzeige/Pflege Ereignistypkopplungen)
SWFVISU (Workflow Visualisierungs-Metadaten)
SWIE (Workitem entsperren)
SWI30 (Workflows entsperren)
SWU2 (Workflow-RFC-Monitor)
SWUE (Auslösen eines Ereignisses)
SWUS (Workflow testen)
SWUI (Workflow starten)

Tabellen

SWFDVEVTY1 (Ereignistypkopplungen)
SWFDEVENA (Aktivierungen für Ereigniskopplungen)
SWFDEVTYP (Ereigniskopplungen ohne Instanzbezug)
SWFREVTLOG (Ereignisprotokoll)
SWF_FLEX_PROC (Prozessdefinition)
SWW_WI2OBJ (Workflow-Laufzeit: Relation zwischen Workitem und Objekt)
SWWWIHEAD (Workflow-Laufzeit: Kopftabelle für alle Workitem-Typen)
SMTG_TMPL_HDR (E-Mail-Vorlagenkopf)
SMTG_TMPL_HDR_T (E-Mail-Vorlage: Name und Beschreibung)
SWW_WIREGISTER (Workflow: Registrierung eines Workitems)

Views

SWFDVEVTYNOOPT (Typkopplungen)
SWWVPUBLIC (Öffentliche Attribute aus der Tabelle SWWWIHEAD)

CDS-Views

C_WORKFLOWTASK (Work item with text info)

Funktions-Bausteine

SWE_EVENT_CREATE (Erzeugen eines Ereignisses (public))
SAP_WAPI_WORKITEMS_TO_OBJECT (Workflow-Schnittstellen: Workitems zu Objekt)

Klassen

CL_MM_PUR_WF_OBJECT_CTR (Class for Workflow Object Contract)
CL_MM_PUR_WF_OBJECT_PO (Class for Workflow Object PO)

Fiori-Apps

F0862 (My Inbox)
F5343 (Flexible Workflow-Administration)
F2446 (Einkaufskontrakte genehmigen, Bestellungen genehmigen, Leistungserfassungsblätter genehmigen, Lieferantenrechnungen genehmigen)
F1306 (E-Mail-Vorlagen pflegen)
F1589 (Erweiterungen für Transport registrieren)
F2412 (Teams und Zuständigkeiten verwalten)

Fehlersuche

SLG1

  • User: SAP_WFRT, Objekt: /IWNGW/

Links