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 > Hinweis (SAP): Aufrufen von Reports im Intrexx über Fremddatengruppe (Handler Generic_Report)

Hinweis (SAP): Aufrufen von Reports im Intrexx über Fremddatengruppe (Handler Generic_Report)

In manchen Fällen sind im SAP bereits einfache Reports vorhanden, die man im Portal anzeigen möchte. Dies funktioniert nicht, wenn die Reports Interaktion voraussetzen (z.B. Popups, Doppelklicks) oder aktive Komponenten wie ALV Grids implementieren.

Der Handler Generic_Report implementiert den Fremddatenzugriff auf SAP Reports. Dazu muss dieser Handlertyp für eine SAP Datenquelle ausgewählt und als Tabellenname der Reportname eingegeben werden. Im SAP ermittelt der Handler automatisch die verwendeten Parameter, die beispielsweise als

PARAMETERS: p_matnr TYPE MATNR


implementiert wurden. Solche Parameter stehen als Tabellenfelder zur Verfügung und müssen über Filter verwendet werden. Die Ausgabe eines Reports steht im Feld LINE zur Verfügung. Optional kann der Report mit einer Variante gestartet werden, welche auch über Filter mitgeteilt werden muss.

Im Intrexx lässt sich die beispielsweise als Freie Tabelle mit Abhängigkeit zu Filtern verwenden. Beispielsweise kann eine Materialnummer über einen Dynamischen Filter eingegeben werden. Der Report ist über eine Freie Tabelle implementiert, die als anzuzeigende Seite das Feld LINE anzeigt (evtl. vom Typ HTML). Über die Abhängigkeiten werden die eingegebenen Werte an die Tabelle übergeben und im SAP verarbeitet.

Für die Aufbereitung stehen verschiedene Möglichkeiten zur Verfügung:
[list=1]
  • Ohne Formatierung
    Es wird reiner Text angezeigt. Bestimmte Formatierungen (Tabulator, Farben) gehen dabei verloren.
  • HTML Formatierung durch SAP
    Die HTML Formatierung von SAP wird verwendet. Das bedeutet, dass die Farben SAP-typisch im Portal ankommen und hier nicht änderbar sind. Die meisten Formatierungen bleiben hier erhalten.
  • Die Formatierung wird im ABAP Report selbst erstellt
    Hier generiert der ABAP Report die HTML Steuerzeichen für Überschriften, Farben, Tabellen usw. (z.B. <h1>Überschrift</h1>). Dies ist dann nur auf eigene Reports anwendbar, bietet aber die größtmögliche Freiheit.[/list]
    Für die Aussteuerung im SAP, ob der Handler HTML Code generieren soll, wird an der Fremddatengruppe unter den Experteneinstellungen die "Settings"
    bia-htmloutput = true
    gesetzt.
    Weiterhin bietet der Handler die Möglichkeit, alle Ausgabezeilen des Reports in einer Tabellenzeile zu übertragen. Dies verhindert das unglückliche Umbrechen von Zeilen, wenn diese zu lang sind und dadurch HTML Befehle getrennt werden. Dieses Verhalten wird mit dem Setting
    bia-singleline = true
    gesetzt.

    Ein Beispielreport, der alle drei Möglichkeiten zeigt ist:


    *&---------------------------------------------------------------------*
    *& Report ZZ_DEMO_IXAPI_REPORT
    *&
    *&---------------------------------------------------------------------*
    *& Der Report sucht über die Materialnummer, den Lieferanten + Preis.
    *& Die Darstellung der Ergebnisse wird über Intrexx-html Klassen
    *& beeinflußt.
    *&---------------------------------------------------------------------*

    REPORT zz_demo_ixapi_report NO STANDARD PAGE HEADING LINE-SIZE 256.


    * ------- interface
    PARAMETERS matnr TYPE matnr.
    PARAMETERS format TYPE xfeld DEFAULT 'X'.


    START-OF-SELECTION.
    * ------- local data + constants
    DATA: ls_mara LIKE mara,
    ls_makt LIKE makt,
    lv_matnr TYPE matnr,
    ls_eina LIKE eina,
    ls_eine LIKE eine.

    CONSTANTS:
    c_h1_open TYPE string
    VALUE '<h1 style="margin:0px;" class="SCUP_Text_H1_normal">',
    c_h1_close TYPE string
    VALUE '</h1>',
    c_h2_open TYPE string
    VALUE '<h2 style="margin:0px;" class="SCUP_Text_H2_normal">',
    c_h2_close TYPE string
    VALUE '</h2>',
    c_skip TYPE string
    VALUE '<br>'.


    * ------- convert to internal
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
    input = matnr
    IMPORTING
    output = lv_matnr.


    * ------ get data
    CLEAR ls_mara.
    * ------ select materialdata
    SELECT SINGLE * FROM mara
    INTO CORRESPONDING FIELDS OF ls_mara
    WHERE matnr = lv_matnr.

    SELECT SINGLE * FROM makt
    INTO CORRESPONDING FIELDS OF ls_makt
    WHERE matnr = lv_matnr.

    * ------ select vendor (recordinfo)
    SELECT SINGLE * FROM eina
    INTO CORRESPONDING FIELDS OF ls_eina
    WHERE matnr = ls_mara-matnr.
    * ------ select priceinfo
    SELECT SINGLE * FROM eine
    INTO CORRESPONDING FIELDS OF ls_eine
    WHERE infnr = ls_eina-infnr.


    * ------- check input
    IF format EQ 'X'.
    IF ls_mara IS INITIAL.
    * ------ error message
    WRITE: / c_h1_open, 'Fehler! Material nicht gefunden.', c_h1_close.
    ELSE.
    * ------ display data
    WRITE: / c_h1_open, 'Materialdaten', c_h1_close.
    WRITE: / c_skip.
    WRITE: / c_h2_open, 'Materialnummer - Materialtext',c_h2_close.
    WRITE: ls_mara-matnr, ' - ', ls_makt-maktx.
    WRITE: / c_h2_open, 'Materialart',c_h2_close.
    WRITE: ls_mara-mtart.
    WRITE: / c_skip.
    WRITE: / c_h2_open, 'Lieferant',c_h2_close.
    WRITE: ls_eina-lifnr.
    WRITE: / c_h2_open, 'Preis',c_h2_close.
    WRITE: ls_eine-netpr.
    ENDIF.
    ELSE.
    IF ls_mara IS INITIAL.
    * ------ error message
    WRITE: / 'Fehler! Material nicht gefunden.' COLOR 6.
    ELSE.
    * ------ display data
    WRITE: / 'Materialdaten' COLOR 3.
    SKIP.
    WRITE: / 'Materialnummer - Materialtext' INTENSIFIED.
    WRITE: ls_mara-matnr, ' - ', ls_makt-maktx.
    WRITE: / 'Materialart' INTENSIFIED.
    WRITE: ls_mara-mtart.
    SKIP.
    WRITE: / 'Lieferant' COLOR 3 .
    WRITE: ls_eina-lifnr.
    WRITE: / 'Preis' INTENSIFIED.
    WRITE: ls_eine-netpr.
    ENDIF.

    ENDIF.


    Als Anlage dazu eine Intrexx Applikation (5.1), die diesen Report in den unterschiedlichen Szenarien aufruft. Für das Szenario muss der Report im SAP eingespielt sein und es wird die SAP Datenquelle "saperp" vorausgesetzt.

    Alternativ können SAP Reports auch im SAP als PDF gerendert und an das Portal übertragen werden (vgl. FAQ (SAP): Wie können Dateien aus dem SAP angezeigt werden?). Eine weitere Möglichkeit besteht darin, die SAPGUI für diesen Report mit Parameterübergabe aufzurufen. Dazu wird allerdings eine direkte Verbindung des SAPGUI benötigt (nicht immer möglich oder erwünscht) und andere technische Rahmenbedingungen müssen erfüllt sein.
  • 09.06.2011 10:47 von Jörg Müller
    Hi, Jörg Müller.
    Thanks for your nice sharing. As for myself, I have seldom tried to deal with that problem before. I wonder whether it offers free trial package for users to check? Do I need another 3rd party manual toolkit to work with those codes? When it comes PDF conversion process, I have another question, I wonder have you ever tried to convert pdf to other image files before? As for myself, I am testing the related PDF to PNG converting,
    PDF to BMP converting , and PDF to JPG converting programs these days. Do you have experience about it? Any suggestion will be appreciated. Thanks in advance.



    Best regards,
    Pan

    23.10.2015 06:47 von evanpan
    Zurück | Alles über Intrexx | Impressum | Datenschutzerklärung

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