Funktion Mit der View-Anweisung können Sie Dateien der Formate html und rtf (Rich Text Format, z.B. aus Microsoft Word heraus erzeugbar) in den SAP Masken anzeigen. Die html-Anzeige bietet darüber hinaus die Möglichkeit der Interaktion mit SAP (Setzen von Werten und Auslösen von Funktionen).

Falls Sie in der View-Anweisung eine template-Datei (rtf oder html) angeben, dann werden dort alle GuiXT-Variablen der Form &[...] durch die aktuellen Inhalte ersetzt.

Die View-Anweisung unterstützt wie Image die Bildformate bmp, gif und jpg. Im Unterschied zur Image-Anweisung werden die Bilder dann, ebenso wie rtf und html Dokumente, in einem scrollbaren eigenen Bereich angezeigt. Die direkte Unterstützung weiterer Multimediaformate ist geplant, sie kann zur Zeit auch durch Einbettung in ein html Dokument realisiert werden (Video und Audio Dateien).

Zu beachten: Die View-Anweisung bezieht sich auf die frühere Komponente "GuiXT Viewer",  die seit 2018 durch die umfangreichere Komponente "GuiXT Controls" abgelöst ist.

Beispiel View (10.5,40.2) (20.5,80) "C:\html\menupr00.html"

Die html Datei C:\html\menupr00.html wird in dem Rechteck ab (10.5,40.2) bis (20.5,80) angezeigt.

 Dateiformate Unterstützt sind die Formate
  • rtf
  • html
  • bmp
  • gif
  • jpg
Format View (Zeile1,Spalte1) (Zeile2,Spalte2) "Name der Datei"
View (Zeile1,Spalte1) (Zeile2,Spalte2) "Name der Datei" template="template-Datei"
View (Zeile1,Spalte1) (Zeile2,Spalte2) template="template-Datei"

Die Angaben (Zeile,Spalte1) und (Zeile2,Spalte2) stellen die linke obere Ecke und die rechte untere Ecke des Anzeigebereichs dar. Sie können als Dezimalzahlen (mit Punkt, nicht Komma) angegeben werden, um das Bild exakt zu positionieren. Die Datei wird, falls kein Laufwerksbuchstabe angegeben ist, im aktuellen GuiXT-Script-Verzeichnis gesucht, ansonsten in dem angegebenen Laufwerk.

Falls Sie eine template Datei angeben, dann wird diese in die erstgenannte Datei kopiert; dabei werden alle GuiXT Variablen &[....] durch die aktuellen Werte ersetzt.
Falls Sie lediglich die template Datei angeben (drittes View Format), dann kopiert GuiXT die Datei unter Ersetzung aller Variablen in eine temporäre Datei und zeigt diese an.

Zusatzoptionen
-floating Zur Anzeige wird automatisch ein neues Fenster geöffnet, das unabhängig von dem SAP Bild verschoben und in der Größe verändert werden kann.
-maximize In Verbindung mit -floating: Das Fenster wird maximiert angezeigt.
-topmost In Verbindung mit -floating: Das Fenster wird über aller anderen Fenstern angezeigt (auch bei Klick auf anderen Fenstern).
ReturnWindow= Angabe eines Variablennamens, in die die interne Nummer des neuen  Fensters gestellt wird. Zu beachten: Nur möglich, wenn View in einem InputScript aufgerufen wird.
CloseWindow= Angabe einer durch  ReturnWindow= davor besorgten Fensternummer. Das Fenster wird geschlossen.

Beispiel eines InputScript:

Parameter CLOSE

if U[CLOSE=X]

   View CloseWindow="&V[viewwindow]"

   return

endif

View (6,1) (30,120) template="form2.html" -floating ReturnWindow="viewwindow"

Datenabhängige Anzeige Im Namen der Datei können Variablen enthalten sein, die zur Laufzeit durch die aktuellen Werte ersetzt werden. Beispiel:

View (4,80) (12,120) "C:\products\img&[Materialnummer].rtf"

Wurde beispielsweise die Materialnummer 00500187 eingegeben, so wird nun die Datei C:\products\img00500187.rtf angezeigt.

Interaktion mit dem SAP Bild Bei der Anzeige von html Dokumenten kann über URLs im Dateisystem, Intranet oder Internet weiternavigiert werden (normale Browser-Funktionalität). Die "Zurück"-Navigation kann dabei über die rechte Maustaste erfolgen.

Daneben gibt es die Möglichkeit, durch spezielle URLs

  • Eingabewerte in die aktuellen Eingabefelder des SAP-Bilds zu setzen
  • Funktionen im SAP-System auszulösen

Die URL muß hierzu mit "SAP://" beginnen. Anschließend geben Sie in einem String die Feldinhalte und gegebenenfalls eine Funktion mit, und zwar im Format

<A href="SAP://feld1:wert1;feld2:wert2;feld3:wert3;OK:fcode">

Da eine URL keine Leerzeichen enthalten darf, werden die Feldnamen, falls sie aus mehreren Worten bestehen, aneinander geschrieben, zum Beispiel "AlteMaterialnummer:00012345" statt "Alte Materialnummer:00012345".

Bei dem Funktionscode fcode kann es sich um einen internen Code aus dem Menü handeln, z.B. SCMP, oder einen Transaktionsaufruf wie z.B. /NFB01 oder /OMM02.

Tip: So finden Sie die internen Codes: Wählen Sie im Menü der entsprechenden Transaktion die gewünschte Funktion mit der Maus an, drücken Sie dann (während der Mauscursor auf diese Funktion zeigt) die Taste F1. In einem Popup stellt das SAP System Ihnen nun den internen Funktionscode zur Verfügung.

Die Enter-Taste, ohne speziellen Funktionscode, kann durch ein OK am Ende des URL-Strings ausgelöst werden.

Aufruf eines InputScript In Verbindung mit dem InputAssistant kann auch ein InputScript gestartet werden. Hierzu wird der OK:fcode um die Angabe process=... ergänzt.

Beispiel:

<A href="SAP://feld1:wert1;feld2:wert2; feld3:wert3;OK:fcode,process=displaymaterial.txt">

Eventuelle using-Parameter für das InputScript können in der SAP-URL davor durch U[name]:wert gesetzt werden. Es ist ebenfalls möglich, an interne GuiXT Variablen durch die Notation V[name]:wert einen Wert zuzuweisen, der dann im InputScript zur Verfügung steht.

 JavaScript Insbesondere wenn die html-Seite Eingabefelder enthält, ist es sinnvoll, über JavaScript die SAP-URL zu bilden und an SAP zu übergeben (siehe Beispiel3).
Beispiel 1 <A HREF="SAP://OK:PR03"><IMG SRC="Vorschuss.jpg"></A>

Bei Klick auf das Bild Vorschuss.jpg wird die Funktion PR03 im SAP ausgelöst.

Beispiel 2 <A HREF="SAP://Material:00012345;Werk:0021;OK">Schraube 8x15mm</A>

Bei Klick auf den Text "Schraube 8x15mm" werden die Felder "Material" und "Werk" gefüllt und die Enter-Taste ausgelöst..

Beispiel 3 Ausschnitt HTML-Seite:

<form name="form">
<strong>Customer</strong>
<input type="text" size="20"name="Customer" value="&amp;[::Debitor]">
<input type="button" name="Display" value="Display " onclick="DisplayCustomer()">
</form>

<script language="JavaScript"><!--

function toGuiXT(string)
{window.location.replace("SAP://" + string);}


function DisplayCustomer()
{toGuiXT("U[Customer]:" + document.form.Customer.value + ";OK:/NVD03,process=ShowCustomerData.txt");}

// --></script>

Bei Klick auf den Button "Display" wird die Transaktion VD03 mit dem InputScript "ShowCustomerData.txt" aufgerufen. Die eingegebene Kundennummer wird dem Script als Parameter Customer übergeben.

Falls die html-Seite mit dem View-Befehl als Template aufgerufen wird, erscheint als Vorschlagswert für die Kundennummer der zuletzt im Feld Debitor eingegebene Wert.

Dokumente öffnen Mit  View können Sie beliebige Dokumente als separate Applikation öffnen:

View "Name der Datei"  

Hierdurch wird die gleiche Applikation geöffnet, die im Windows Explorer bei Doppelklick des Benutzers auf der Datei gestartet wird.

 Beispiele: .doc oder .pdf Dateien. Sie können auch .exe oder .bat Dateien starten. 

Zusatzoptionen
Operation= Die auszuführende Operation. Default ist "Open". Welche weiteren Operationen möglich sind, ist pro Dokumenttyp unterschiedlich. Häufig sind  "Edit" und "Print" ebenfalls unterstützt.
Parameters= Für .exe und .bat Dateien: Ein String mit Parameterwerten
Directory= Default-Verzeichnis
Tipps
& Tricks
  • Die Bereichsmenüs im SAP können durch ein html-Dokument optisch ansprechend und schnell bedienbar aufbereitet werden
  • Zur Anwenderschulung kann man spezielle html-Dokumente mit vorgeschlagenen Eingabewerten erstellen.
  • In Verbindung mit dem InputAssistant können Sie auch ein html-Dokument bei Drücken einer selbst definierten Drucktaste einblenden, z.B.:

GuiXT Script:

Pushbutton (Toolbar) "Dokumentation einblenden" Process="ActivateView.txt"

if V[GuiXT_Show_View=X]
  
Set V[GuiXT_Show_View]  "N"
  
View (1,60) (20,100) "C:\GuiXT\html\docu100.html"
endif

InputScript ActivateView.txt:

Set V[GuiXT_Show_View] "X"

 

  • Sie können mit dem Viewer ein Bild einblenden, um die Wartezeit während der Ausführung eines längeren Inputscript zu überbrücken:

    //GuiXT Script
    View (1,1) (10,40) "pleasewait.gif" -floating returnwindow="h_wait"
    Screen ...
    ...

    Enter
    ...

// Last screen
Screen ...
View closewindow="&V[h_wait]"
Enter

Komponente GuiXT + Viewer