Methode |
Bemerkung |
Funktionen für SAP-Verbindungen
|
boolean simpleRfcConnect(String p_instance, String p_loginmode) |
Verbindung zum SAP-System aufbauen |
boolean simpleRfcClose() |
Verbindung zum SAP-System abbauen |
Funktionen für BAPI/RFC Funktionen |
boolean simpleRfcFunctionLoad(String p_function) |
BAPI/RFC-Funktion laden |
boolean simpleRfcFunctionExecute(boolean p_commit) |
BAPI/RFC-Funktion ausführen |
boolean simpleRfcFunctionClose(boolean p_commit) |
BAPI/RFC-Funktion beenden |
Funktionen für den Zugriff auf Funktionsbausteinparameter |
boolean simpleRfcSetFocusImportParameter(String p_parameter) |
Import-Parameter in den Fokus nehmen |
boolean simpleRfcSetFocusImportStructure(String p_structure) |
Import-Struktur in den Fokus nehmen |
boolean simpleRfcSetFocusImportTable(String p_table) |
Import-Tabelle in den Fokus nehmen |
boolean simpleRfcSetFocusExportParameter(String p_parameter) |
Export-Parameter in den Fokus nehmen |
boolean simpleRfcSetFocusExportStructure(String p_structure) |
Export-Struktur in den Fokus nehmen |
boolean simpleRfcSetFocusExportTable(String p_table) |
Export-Tabelle in den Fokus |
boolean simpleRfcSetFocusTable(String p_table) |
Tabelle aus Tabellenparameter in den Fokus nehmen |
Funktionen für den Zugriff auf Tabellen und Strukturen |
boolean simpleRfcSetFocusStructureField(String p_fieldname) |
Feld aus der aktuellen Struktur in den Fokus nehmen |
boolean simpleRfcSetFocusTableField(String p_fieldname) |
Feld aus der aktuellen Tabelle(nzeile) in den Fokus nehmen |
int simpleRfcTableGetCount() |
Anzahl der Tabellenzeilen der aktuellen Tabelle ermitteln |
Vector simpleRfcTableGetEntries() |
Alle Tabellenzeile der aktuellen Tabelle als Menge |
boolean simpleRfcTableSetLine(Integer p_index) |
Setze den Fokus auf eine Zeile in der aktuellen Tabelle |
boolean simpleRfcTableAddLine() |
Eine neue Zeile der aktuellen Tabelle hinzufügen |
Zugriff auf Parameter/Einzelwerte |
boolean simpleRfcSetParameterValue(String p_value) |
Setze den Wert des aktuellen Parameters/Feldes als String |
boolean simpleRfcSetParameterValue(double p_value) |
Setze den Wert des aktuellen Parameters/Feldes als Double |
String simpleRfcGetParameterValue() |
Ermittle den Wert des aktuellen Parameters als String |
Sonstige Funktionen |
void simpleRfcErrorReset() |
Fehlermeldungen zurücksetzen |
String simpleRfcErrorGet() |
Letzte Fehlermeldung als String ermitteln |
String simpleRfcTrigger(String p_instance, String p_loginmode, String p_function, String p_parameter) |
Aufruf eines speziellen RFC-Bausteins, der den Wert von p_parameter
im Parameter INPUT entgegen nimmt. Ein evtl. vorhandener Parameter
RESULT wird im Ergebnis zurückgegeben
|
Methode | Bemerkung |
Funktionen für SAP-Verbindungen |
boolean SAPConnectionCheck(String p_instance, String p_loginmode, boolean p_connect) |
Prüfe eine existierende Verbindung zum SAP-System p_instance im Anmeldemodus
p_loginmode. Falls p_connect = true und
noch nicht verbunden, wird eine Verbindung aufgebaut.
|
boolean SAPConnectionSystemClose(String p_instance) |
Eine Verbindung zum SAP-System p_instance schließen |
boolean SAPConnectionUserClose(String p_instance) | Eine SAP Verbindung zum SAP System p_instance des Anwenders schließen |
boolean SAPConnectionSystemConnect(String p_instance) |
Eine Verbindung zum SAP-System p_instance aufbauen |
boolean SAPConnectWithUserPassword(String p_instance, String p_user,String p_password) |
Eine Benutzerverbindung zum SAP-System p_instance mit Benutzer/Passwort aufbauen |
Funktionen für Personalisierungsfunktionen |
void SAPUserLoginSetToken(String p_instance, String p_user, String p_token, String p_method) |
Die Anmeldeinformationen via Token für ein SAP-System manuell setzen.
Das Token (z.B. SSO Ticket) enthält Parameter p_token.
Abhängig von der Art des Tokens muss der Parameter p_method
gesetzt werden (z.B. MYSAPSSO2 für SSO-Ticket)
|
void SAPUserLoginSetUserPassword(String p_instance, String p_user, String p_password) |
Die Anmeldeinformationen Benutzer/Password für einen Benutzer der aktuellen Session manuell setzen |
boolean SAPUserLoginDelete(String p_instance) |
Die Anmeldeinformationen für einen Anwender zurücksetzen (z.B. SSO-Ticketinformationen, für Benutzerwechsel) |
String ssoPrepare(String p_instance, String p_loginmode, ServerBridgeRequest p_request, boolean p_mapurl) |
Das Einbinden dieser Funktion im Velocity ermöglicht das Verwenden von SAP-Oberflächen auf der verwendenden Seite.
Es werden SSO-Initialisierungen durchgeführt und beispielsweise SSO-Javascript-Funktionen bereit gestellt.
Der Parameter p_request erwartet die Übergabe des Velocity-$Request-Objektes.
Durch das Flag p_mapurl wird das Mapping von SAP-URLs gesteuert.
|
public String ssoIncludeURL(String p_url, String p_width, String p_height, boolean p_mapurl) |
Die Verwendung dieser Funktion im Velocity bindet eine SAP-Weboberfläche als iFrame ein.
Der Aufruf setzt die Funktion ssoPrepare auf der gleichen Seite voraus,
um die notwendigen Javascript-Funktionen (z.B. SAP-Ticket setzen, URL-Mapping initialisieren).
Das URL-Mapping wird über das aktive Flag p_mapurl aktiviert.
|
public String ssoIXLoginUserPasswordSession(Session p_session, String p_user, String p_password, String p_domain, String p_method) |
Diese Funktion ermöglicht das Login ins Intrexx-Portal über eine Intrexx-Seite (anonym).
Ist das Login erfolgreich, wird eine Session-ID zurück gegeben.
|
public void ssoMapUrlDeleteCache() |
Löscht den Cache von URL-Mappings (benötigt bei administrativen Änderungen). |
Methode |
Bemerkung |
function biasap_start_transaction_url(p_instance, p_loginmode, p_transaction, p_extra, p_skip, p_url) |
Startet die SAPGUI für die angegebene SAP-Datenquelle als Transaktion im gegebenen Loginmodus (meist user).
Zusätzliche Parameter (z.B. zu füllende Felder) werden in p_extra mitgegeben.
Mit p_skip = "true" kann der Startscreen übersprungen werden. Das Flag
p_url steuert, ob eine Auswertung der Portal-URL notwendig ist
(z.B. abweichende SAP-Router-Strings). Dazu musste die Seite aber mit ssoPrepare im
Velocity initialisiert worden sein.
|
function biasap_start_transaction(p_instance, p_loginmode, p_transaction, p_extra, p_skip) |
Wie function biasap_start_transaction_url ohne URL-Auswertung |
function biasap_start_report_url(p_instance, p_loginmode, p_report, p_variant, p_url) |
Startet einen Report im angegebenen SAP-System mit oder ohne Variante.
Das Flag p_url steuert das Anpassen des Pfades zum SAP-System
über die Portal-URL. |
function biasap_start_report(p_instance, p_loginmode, p_report, p_variant) |
Wie biasap_start_report_url ohne URL-Auswertung |
function biasap_set_cookie( name, value, expires, path, domain, secure ) |
Setze ein Cookie (z.B. für SSO) |
function biasap_get_cookie( name ) |
Ermittle ein Cookie |
function biasap_delete_cookie( name, path, domain ) |
Lösche ein Cookie |
function biasap_set_ticket(p_message, p_cancel_on_error) |
Setze das SSO Ticket für SAP-Weboberflächen. Ist die Ermittlung eines gültigen
SSO-Tokens nicht möglich und eine Fehlermeldung über p_message
verfügbar, wird diese Fehlermeldung angezeigt. Der Parameter p_cancel_on_error
steuert, ob ein fehlerhaftes Ticket die Verarbeitung des Skripts und auch der Folgeskripte
(z.B. bei Schaltflächen) abbrechen soll (Effekt: keine Anzeige der SAP Weboberfläche bei falschem Ticket).
|
function biasap_call_sapurl(p_button, p_url) |
Ruft aus seiner Schaltfläche heraus eine SAP-Weboberfläche auf
und kann in Ereignissen von Schaltflächen verwendet werden (z.B. onclick).
p_button enthält eine Referenz auf die Schaltfläche.
Die URL zur SAP-Seite wurde evtl. bereits als externes Sprungziel
gepflegt. Ein gefüllter Parameter p_url würde
dieses Sprungziel überschreiben. In der URL können Platzhalter
(z.B. <sapserver>) verwendet werden,
die über ein vorheriges ssoPrepare() aufgelöst werden können. |
Methode |
Bemerkung |
boolean ociInit(Session p_session, ServerBridgeRequest p_request, String p_loginmethod) |
Die Methode initialisiert die SAP-OCI Funktionen des Connectors für SAP Business Suite.
Diese Methode ist zur Einbindung auf einer Ansichtsseite gedacht (Velocity).
Übergeben werden die aktuelle Session und der Request. Der dritte Parameter legt das zu
verwendende Autorisierungsverfahren fest. Voreingestellt ist PlainAuth,
das im Portal konfiguriert sein muss. Mit den übergebenen Parametern wird eine
Anmeldung am Portal durchgeführt und die empfangenen Parameter auf Gültigkeit für SAP-OCI geprüft.
Das Ergebnis ist boolean. Hat es den Wert true, so war die Anmeldung
erfolgreich. Mit dem Wert false war die Anmeldung entweder nicht korrekt
oder die übergebenen Parameter sind für SAP-OCI nicht gültig.
|
boolean ociCheck() |
Diese Funktion prüft, ob eine gültige SAP-OCI-Session aktiv ist. Verwenden Sie diese Funktion,
um in der Applikation z.B. Sprungziele anzupassen, wenn die Applikation nicht nur für SAP-OCI-Szenarien
verwendet wird.
|
String ociStatus() |
Diese Funktion gibt einen HTML-Text zurück, der die aktuellen OCI-Informationen enthält.
Verwendet werden kann die Funktion für die schnelle Darstellung der technische OCI-Informationen.
|
String ociGetInfo(String p_info) |
Mit dieser Funktion kann ein bestimmter Wert aus den OCI-Daten ermittelt werden.
Mit $!GSAP.ociGetInfo("vendor") kann z.B. die Lieferantennummer
ausgelesen und als Vorschlagswert für Eingabefelder verwendet werden. Mögliche Werte für p_info sind:
- sapuser
Technischer Name des angemeldeten SAP Benutzers
- login
Anmeldename am Portal
- domain
Anmeldedomäne am Portal
- customer
Kundennummer des Einkaufenden beim Lieferanten
- vendor
Lieferantennummer beim Einkäufer
- oci_version
OCI-Version
- opi_version
OPI-Version
|
String ociCheckout(String p_instance) |
Diese Funktion wird für die letzte Seite benötigt, auf der der Warenkorb zusammengestellt
ist und an das SAP-System gesendet werden muss. Dadurch werden automatisch bestimmte
Funktionen für die SAP-OCI-Schnittstelle zur Verfügung gestellt (z.B. Javascripts,
Initialisierungen). Als Parameter wird hier eine konfigurierte SAP-Datenquelle erwartet.
In Systemen ohne ein angeschlossenes SAP-System ist hier sapoci einzutragen.
|
Methode |
Bemerkung |
sapoci_set_returnurl(p_button) |
Setzt die Rücksprungadresse nach dem Senden.
Es wird die Übergabe einer Schaltfläche erwartet.
|
sapoci_addItemMain(row, quantity, unit, articleid, description) |
Erzeugt die wichtigsten Transferdaten für eine Warenkorbposition (der Zeile row) |
sapoci_addItemField(row, name, value) |
Erzeugt weitere Daten für eine Warenkorbposition. In name
wird der technische Name der OCI-Spezifikation erwartet (z.B. VENDORMAT) |
sapoci_addLongText(row, value) |
Erzeugt einen Langtext zur Position |
sapoci_addFormField(name, value) |
Erzeugt ein sonstiges Transferfeld unter Angabe des technischen Namens |
sapoci_send() |
Senden des Datenpaketes an den Aufrufer. Ein Abfangen von Fehlern mit try...catch ist möglich |
Die folgenden Experten-Attribute werden teilweise automatisch durch die Auswahl des Datahandlers
gesetzt und können danach angepasst werden. Einige Parameter sind optional und bewirken spezielle Verhaltensweisen.
Attribute |
Datentyp |
Ebene* |
Verwendung |
bia-timezone |
String |
DQ, DG |
Anpassung der Zeitzone für Zeitstempelfelder. SAP-Systeme laufen oft in der Zeitzone CET,
Intrexx auf dem Server in UTC. Dadurch kommt es bei der Darstellung von Uhrzeiten zu Verschiebungen.
Die Zeitzone sollte aber eher in der Konfiguration der Datenquelle vorgenommen werden
(Attribut in der Datei sap.cfg).
|
bia-loginuser |
String |
DG |
Loginmodus
für den SAP-Zugriff (<system>|<user>|<mixed>)
|
bia-handler |
String |
DG |
Handler für den SAP-Zugriff (z.B. GENERIC_VIEW, DEVELOPER_API)
|
bia-variant |
String |
DG |
Variante des SAP Handlers (z.B. DEFAULT). Kann für eine abweichende Ermittlung
des SAP-Datenhandlers verwendet werden
|
bia-param1...bia-param5 |
String |
DG |
Möglichkeit, steuerende Parameter an den SAP Handler zu übertragen. Die Werte stehen im SAP-Datahandler
in der CONTROL-Struktur zur Verfügung.
|
bia-abapdebug |
String |
DG |
Möglichkeit, das Debugging nur für die betreffende Fremddatengruppe zu aktivieren. True
aktiviert das Debugging. Ein SAP-Debugging ist nur mögloch, wenn das Portal auf dem eigenen Rechner läuft
und ein SAPGUI installiert ist.
|
bia-forcefilter |
Boolean |
DG |
Mit diesem Parameter (aktiv = true) kann für Tabellenzugriffe gesteuert werden,
dass keine Daten ermittelt werden, wenn kein Filter aktiv ist. Damit wird verhindert, dass bei ausgeblendeten
Tabellen in Zusammenhang mit dynamischen Filtern ein Zugriff in das SAP-System erfolgt.
|
bia-trace |
Boolean |
DG |
Aktiviert das Trace für diese Datengruppe. Dadurch finden sich hier erweiterte Meldungen in der Logdatei.
|
bia-requiredbl |
Boolean |
DG |
Enthält eine Angabe darüber, welche Version der Business-Logik vorausgesetzt wird, um vorab
Fehler zu vermeiden (Nutzung neuer Features).
|
bia-simplekey |
Boolean |
DG |
Bei SAP-Datengruppen mit komplexen Schlüssel (z.B. VBAP) wird hier vereinfacht nur eine
Zählung von 1...n als Schlüssel verwendet. Ein Sprung auf eine Detailseite ist so nicht möglich.
Allerdings kann diese Option den Zugriff auf die Zellen innerhalb von Frei gestalteten Ansichtstabellen
vereinfachen.
|
bia-usecache |
Boolean |
DG |
Ist diese Option aktiviert, werden die Daten auf dem Server gecacht. Ändern sich die Daten im SAP-System,
werden im Portal trotzdem nur die alten Daten angezeigt. Die Option eignet sich vor allem für
Customizingtabellen, die als Referenzen verwendet werden (Performance). Der serverseitige
Cache kann durch Trennen der Verbindung zum SAP zurückgesetzt werden.
|
bia-newrec_getdetail |
Boolean |
DG |
Diese Option ist nur relevant in den Datahandlern der Developer-API. Bei neuen Datensätzen würde die
SAP-API-Methode Get_Detail normalerweise nicht aufgerufen werden.
Dies kann aber durch diese Option erzwungen werden, um Werte aus SAP vorzubelegen.
|
bia-newrec_delrecid |
Boolean |
DG |
Diese Option ist ebenfalls nur relevant innerhalb der Developer-API. Neue Datensätze erhalten von
Intrexx generell die ID -1. Durch diese Option wird dieser vorgegebene Schlüssel gelöscht.
Im SAP wäre er damit mit if iv_key eq space abfragbar.
|
bia-nolangtab |
Boolean |
DG |
Diese Option aktiviert alternativ zur entsprechenden bia-variant, dass in SAP
nicht automatisch die Texttabelle ermittelt wird. So können Problemfälle wie die
Tabelle MARA mit vernünftigem Aufwand im Portal angezeigt werden.
|
bia-htmloutput |
Boolean |
DG |
Diese Option aktiviert, dass bestimmte Daten als HTML-Code übergeben werden
statt als normaler Text. Dieses Option wird beispielsweise im Data Handler
Generic Report verwendet, um einen SAP-Report
in den SAP-typischen Farben zu übertragen.
|
bia-singleline |
Boolean |
DG |
Diese Option aktiviert die Übertragung von längeren Texten als Langtext statt
in mehreren Zeilen. Verwendet wird diese Option im Datahandler Generic Report.
Der Report wird dann nicht mehr zeilweise übertragen und muss als
frei gestaltete Tabelle dargestellt werden. Ein Stringfeld enthält mit dieser
Option den gesamten Report.
|
bia-numkeylen |
Integer |
DG, DF |
Diese Option aktiviert ein automatisches Mapping bei SAP-typischen numerischen Schlüsseln.
Über die mitgegebene Länge weiß die Logik des Connectors für SAP Business Suite, dass
dieses Feld bei der Übertragung zu SAP automatisch um führende Nullen ergänzt werden muss
(Ausnahme alphanumerische Schlüssel). Bei der Darstellung im Portal werden diese Felder
ohne führende Nullen dargestellt. Wird diese Option auf Datengruppenebene eingesetzt,
wird automatisch der Schlüssel als numerische SAP-ID behandelt.
|
bia-timefield |
String |
DF |
Diese Option versucht das Problem zu lösen, dass im SAP meistens keine Zeitstempel,
sondern getrennte Felder für Datum und Zeit verwendet werden. Intrexx hingegen verwendet Zeitstempel
und kann diese zusätzlich als nur Datum oder nur Zeit
darstellen. Über diese Option wird dem Datenfeld des SAP-Systems mitgeteilt, welches SAP-Feld die
zugehörige Uhrzeit enthält. Das SAP-Datumsfeld wird dadurch zum Zeitstempel und kann auch
so verwendet werden (z.B. in Kalenderkontrollen). Bei der Darstellung von Uhrzeiten
kommt es oft zu Verschiebungen der Uhrzeit (z.B. 2h). Das liegt daran, dass SAP-Server
und Portal in unterschiedlichen Zeitzonen laufen (CET vs UTC). Deshalb kann an der
Datenquelle oder über bia-timezone die SAP-Zeitzone konfiguriert werden. Dieses Verhalten sollte
auch umgekehrt (schreiben von Zeitstempeln in zwei getrennte SAP-Felder) funktionieren.
Das Feld für das SAP-Datum ist hier wieder führend. Das zugehörige Zeitfeld muss aber evtl.
(versteckt) auf den Seiten verfügbar sein.
|
bia-mapcodefield |
Boolean |
DF |
In SAP-Systemen werden oft Kodierungen benutzt (typische Charakter 1...6 Felder; z.B. VBAK-VBTYP).
Diese werden als Text – also als SAP-Code – übertragen und sind für die Anwender so nicht verwendbar.
Es besteht natürlich die Möglichkeit, die entsprechenden Customizingtabellen sprachabhängig
als Referenz anzubinden. Dadurch entsteht aber unter Umständen viel Aufwand. Eine einfache Möglichkeit
stellt diese Option zur Verfügung: der Datahandler Generic View versucht hier,
aus der konfigurierten Suchhilfe bzw. anderen SAP-Mechanismen, geeignete Texte zu ermitteln.
Dieses Verfahren ist nicht überall möglich (z.B. komplexere Suchhilfen mit mehreren Schlüsseln).
|
bia-mapurl |
Boolean |
DF |
Mit dieser Option können URLs unter Berücksichtigung der Portal-URL gemappt werden. Dies
wird z.B. zum Verstecken der realen URL auf SAP-Systemen (Aufruf von Archivdokumenten) benötigt.
Ein interner Zugriff kann so von sapsystem.internesicht.net
auf archiv.externesicht.com gemappt werden, sobald der Anwender den
externen Zugriff auf das Intrexx-Portal verwendet.
|
bia-maptouppercase |
Boolean |
DF |
Wandelt den Wert in Großbuchstaben um. Einsatz in SAP-Matchcode-Feldern sinnvoll. |
bia-maptolowercase |
Boolean |
DF |
Wandelt den Wert in kleine Buchstaben um. |
Die folgende Tabelle enthält einen Überblick über die wichtigsten Transaktionen in Verbindung mit
dem Intrexx-Portal. Diese Transaktionen sind unter Umständen nicht für jeden verfügbar
(fehlende Berechtigungen).
Kategorie |
Transaktionscode |
Verwendung |
Tabellen/Views |
SE16 |
Data Browser: Anzeigen von Tabelleninhalten |
|
SE11 |
Dictionary: Anzeigen von technischen Informationen zu Dictionary-Objekten (z.B. Tabellen, Views) |
SAP-Konfiguration |
SPRO |
Implementierungsleitfaden: Zentrales SAP-Customizing |
|
SM30 |
Tabellenpflege von Konfigurationstabellen |
|
SM59 |
RFC-Destinationen pflegen: Zugriff auf externe Systeme konfigurieren |
|
SICF |
Internet Connectivity: freigegebene Services |
Fehlersuche |
ST22 |
Dumpanalyse: Fehlersuche nach Abbrüchen |
|
SM21 |
Systemlog: Fehlersuche bei Systemproblemen |
|
SLG1 |
Anwendungslog: Protokolle bei vielen Anwendungen |
|
SMQ1, SMQ2, SM58 |
Datenaustausch mit externen Systemen mit qRFC und tRFC |
Benutzer und Berechtigungen |
SU01 | Benutzerpflege |
|
SU21 |
Pflege der Berechtigungsobjekte: u.a. mit Funktion SAP_ALL generieren |
|
PFCG |
Rollen und Berechtigungen |
|
ST01 |
Berechtigungstrace |
|
SM04 |
Angemeldete Benutzer |
|
SMGW |
Angemeldete Remote Systeme |
Entwicklung |
SE80 |
ABAP-Workbench: Zentrale Entwicklungstransaktion |
|
SE38, SA38 |
ABAP-Reports: Entwicklung und Start |
|
SE37 |
Funktionsbausteine/BAPI: Entwickeln, Testen |
|
BAPI |
BAPI-Browser |
|
SWO1 |
SAP-Business-Objekte |