Archiv des Intrexx Live! Forums

Hier sehen Sie die Foreneinträge aus dem Intrexx Live! Forum. Bis November 2016 war es das Forum für alle Fragen rund um die Software Intrexx von United Planet.
Seit November 2016 gibt es ein neues moderiertes Forum, das Intrexx Community Forum. Nutzen Sie bitte unbedingt dieses für aktuelle Fragen, Antworten und Informationen.

Wichtig: Dieses Forum dient als Archiv. Die Einträge beziehen sich oft auf ältere Versionen von Intrexx und entsprechen nicht mehr den aktuellen technischen Gegebenheiten.
Daher sollten alle Inhalte ausschließlich von Experten genutzt werden. Bei unsachgemäßer Anwendung kann es zu zeitaufwändigen Problemen oder Datenverlust kommen.
Übersicht > Intrexx Connectoren und Add-ons: SAPAdapter > How-to (SAP): Verwenden der Remote API zum Aufrufen von Intrexx Prozessen aus SAP

How-to (SAP): Verwenden der Remote API zum Aufrufen von Intrexx Prozessen aus SAP

Überblick
Die Remote API implementiert Funktionen, um vom SAP auf ein Intrexx Portal zuzugreifen. Dies kann beispielsweise für Replikationsprozesse oder das Melden von Änderungen (z.B. Auftragsstatus) an das Intrexx Portal verwendet werden.
Voraussetzung zur Nutzung dieser API ist die Lizenz "Developer API". Technisch wird im Intrexx ein Listener gestartet, der auf Zugriffe des SAP Systems "lauscht". Dieser legt automatisch eine RFC Destination (Transaktion SM59) in der Namenskonvention "IXRA-<portal>-<datenquelle>" an. Dies muss evtl. noch manuell konfiguriert (z.B. bei Unicode Systemen) oder sogar (wenn Berechtigungen fehlen) manuell gepflegt werden. Weitere Informationen sind im Konfigurationsleitfaden zu finden.

Grundkonfiguration
Die Remote API muss konfiguriert werden. Dies erfolgt im SAP Customizing (Transaktion SPRO) im Pfad "SAP Customizing Einführungsleitfaden - Anwendungsübergreifende Komponenten - init.all Intrexx Portal Plugin (POPI) - Remote API - Grundeinstellungen".

Folgende Einrichtungsschritte sind notwendig:
[list=1]
  • Logisches System benennen
    Wie in typischen SAP ALE Szenarien üblich, wird auch für ein Intrexx Portal ein Logisches System verwendet
  • Logisches System der RFC Destination zuordnen
    Das logische System des Intrexx Portals wird auf die RFC Destination des SAP Adapters konfiguriert
  • qRFC QOUT Scheduler
    Dieser Schritt ist evtl. notwendig, wenn für die asynchrone Übertragung von Daten an das Intrexx Portal der qRFC verwendet werden soll. Weitere Informationen sind der SAP Dokumentation zu entnehmen
  • Remote API Profil pflegen
    Das Remote API Profil wird verwendet, um bestimmte technische Einstellungen (z.B. Anmeldedaten für Intrexx) zentral zu pflegen und vor den Anwender zu verstecken
  • Externe Prozesse pflegen
    Hier können externe Prozesse, die im Intrexx über deren GUIDs identifiziert werden, hinterlegt werden.[/list]Der Customizing Pfad enthält Tools und Implementierungsbeispiele.

    Im SAP können Daten in Übergabecontainern verpackt werden und an einen bestimmten Intrexx Prozess übergeben werden. Dies kann man beispielsweise über einen einfachen Report erreichen:


    REPORT ZZ_CALL_INTREXX_PROCESS NO STANDARD PAGE HEADING LINE-SIZE 1023.


    * ================ definitions
    CONSTANTS: c_rapi_process TYPE /iatl/popi_ixapi_guid_ext_pr
    VALUE 'AC4E751928622F65FF99FA7E95E89B088DC96A24'.
    INCLUDE /iatl/popi_ixapi_rapi_inc.


    * ================= interface
    * RAPI Standard
    rapi_interface c_rapi_process.
    * my Interface
    SELECTION-SCREEN: SKIP.
    PARAMETERS: p_value1 TYPE /iatl/popi_ixapi_dyn_str.
    PARAMETERS: p_value2 TYPE /iatl/popi_ixapi_dyn_str.


    START-OF-SELECTION.

    *---------- local data
    DATA: lt_params TYPE /iatl/popi_ixapir_params_t.
    DATA: ls_params LIKE LINE OF lt_params.
    DATA: lv_error TYPE /iatl/popi_ixapi_flag.
    DATA: lv_message TYPE string.
    DATA: lv_container(10) TYPE n.


    * ------------------ fill API
    DEFINE add_param.
    ls_params-parameter = &1.
    ls_params-value = &2.
    append ls_params to lt_params.
    END-OF-DEFINITION.

    CLEAR ls_params.
    ls_params-container = '*'.
    add_param '~value1' p_value1.
    add_param '~value2' p_value2.



    * ================== call api
    CALL FUNCTION '/IATL/POPI_IXRAPI_CALL_PROC'
    EXPORTING
    iv_profile = p_prf
    iv_process_guid = p_pgd
    it_params = lt_params
    iv_qrfc_use = p_qrfc
    iv_qrfc_commit = 'X'
    IMPORTING
    ev_error = lv_error
    ev_message = lv_message
    et_params = lt_params
    EXCEPTIONS
    no_api = 1
    wrong_config = 2
    error_in_qrfc_processing = 3
    OTHERS = 4.
    IF sy-subrc <> 0.
    lv_error = 'X'.
    ENDIF.


    IF lv_error = 'X'.
    WRITE: / 'Fehler:'(004), lv_message.
    ELSE.
    WRITE: / 'Erfolg:'(005), lv_message.
    rapi_output_params.
    ENDIF.


    Im Intrexx ist für die Entgegenname der Daten ein Prozess zu erstellen, der den "Generischen Ereignisbehandler" verwendet. Dieser ist mit der Klasse de.uplanet.lucy.server.workflow.eventhandler.UserWorkflowEventHandler und einer GUID zu identifizieren (Parameter eventGUID). Diese GUID ist die gleiche, die im SAP konfiguriert (5.) und im Report verwendet wird.
    Dieses Ereignis kann dann an eine "Groovy Aktion" übergeben werden. Die im SAP übergebenen Daten sind dort als Session Wert mit dem gewählten Key verfügbar. Alle im Groovy zusätzlich in die Session geschriebenen Werte werden an SAP zurückübertragen.

    Ein mögliches Groovy Coding zeigt dies:


    g_log.info("Prozess trigerred");
    g_log.info("Values: " + g_session.get("~value1","") + "/" + g_session.get("~value2",""));

    g_session.put("~result","ich war im Intrexx");




    Erweiterungsmöglichkeit
    Über die Container ID können mehrere Datenpakete an Intrexx in einem Zugriff übergeben werden. Der Intrexx Prozess wird für jeden Container einmal gestartet und erhält nur seine Daten in der Session. Dieser Zugriff wird SAP-typisch als LUW (Logical Unit of Work) ausgeführt. Wird eine Exception innerhalb des Prozesses erzeugt, werden alle Daten des Zugriffes verworfen.
  • 09.06.2011 20:51 von Jörg Müller
    Diese Intrexx 5.2 Applikation ist das Gegenstück zu den Programmierbeispielen des SAP Plugins. Enthalten ist beispielsweise die Replikation von Customizingtabellen.
    06.05.2013 09:13 von Jörg Müller
    Zurück | Alles über Intrexx | Impressum | Datenschutzerklärung

    Über United Planet
    © 2019 United Planet GmbH
    Schnewlinstraße 2
    79098 Freiburg