Excel Arbeitsmappen für Reisekosten modifizieren 
Excel Arbeitsmappen werden zur Eingabe von Reisekostendaten in die zugehörige IAC verwendet. Sind die installierten Excel Arbeitsmappen für Ihre Anforderungen ungeeignet, können sie modifiziert werden (beispielsweise durch Einfügen oder Löschen von Eingabefeldern). Dieser Abschnitt vermittelt Ihnen einen kurzen Überblick über die in der IAC-Standardinstallation enthaltenen Arbeitsmappen und beschreibt, wie Sie diese Arbeitsmappen modifizieren können.
Einführung
Bei der Installation der Reisekosten-IAC auf dem Web-Server werden die Excel Arbeitsmappen für Reisekosten gemeinsam mit den Servicedateien PRWW (im Unterverzeichnis 99\SHEETS) installiert.
Die Excel Arbeitsmappen EN_TRIP.xls und DE_TRIP.xls im Verzeichnis 99\SHEETS werden geöffnet, wenn der Benutzer die Verknüpfung Belegerfassung herunterladen (Download receipt entry) anklickt. Wir empfehlen jedoch, diese Arbeitsmappen nicht zu ändern; es ist sehr viel einfacher, die Excel Arbeitsmappe TRIP_ITS.xls zu modifizieren. Diese Arbeitsmappe ist nicht standardmäßig geschützt und enthält zusätzliche Makros, die Sie bei der Modifizierung und Übersetzung in die gewünschte Sprache unterstützen und die Arbeitsmappen vor dem Senden an den Endbenutzer erneut schützen.
Funktionsweise
Wenn der Benutzer auf die Verknüpfung Belegerfassung herunterladen (Download receipt entry) klickt, wird das Befehlsfeld 'LOAD' auf der R/3-Seite verarbeitet. Während der Ausführung dieses Befehlsfeldes werden mehrere OLE-Aufrufe an den Server gesendet, der über das Customizing des RFCCOM-Destination in Tabelle T706ESS1 angegeben wurde. Alle RFCCOM-Destinations in Tabelle T706ESS1 werden nacheinander bearbeitet; dabei wird der einfache Belastungsausgleich zwischen mehreren Servern berücksichtigt. Zuerst starten die OLE-Aufrufe Excel auf dem RFCCOM-Server. Anschließend werden die Arbeitsmappenvorlagen für die Anmeldesprache des Benutzers geöffnet (z. B. DE_TRIP.xls für Deutsch oder EN_TRIP.xls für Englisch). Das Verzeichnis, aus dem die Arbeitsmappe geöffnet wird, wird durch den Parameter "RAW_TEMPLATE" in Tabelle T706ESS2 bestimmt. Zur Beschleunigung des Ladevorgangs empfiehlt es sich, die Dateien auf die lokale Festplatte (z. B. in C:\temp) zu kopieren. Nachdem die Arbeitsmappe geöffnet wurde, werden alle Customizing-Daten, die von der Methode EmployeeTrip.GetOptions abgeleitet sind, an die Excel Arbeitsmappe übertragen. Dort werden diese Daten in Hintergrundarbeitsmappen abgelegt, die für den Benutzer nicht sichtbar sind. Bei diesen Daten handelt es sich unter anderem um Datenvalidierungsregeln, Werte für Auswahllisten und Geschäftsregeln für Belege.
Nach der Initialisierung wird die Excel Arbeitsmappe geschützt und anschließend im statischen Verzeichnis des Web-Servers unter einem vordefinierten Namen (Personalnummer des Benutzers) abgelegt. Das Verzeichnis, in dem die Arbeitsmappe abgelegt wird, wird durch den Parameter TEMPLATE der Tabelle T706ESS2 bestimmt. Nach dem Sichern der Arbeitsmappe wird eine HTML-Seite im Web-Browser des Benutzers angezeigt und der Browser lädt die Excel Arbeitsmappe vom Web-Server. Von welchem Web-Server die Arbeitsmappe geladen wird, wird ebenfalls durch die Customizing-Einstellungen in Tabelle T706ESS2 (Parameter HTTP_OUT) bestimmt. Die Parameter TEMPLATE und HTTP_OUT beziehen sich auf dasselbe Verzeichnis. Der Parameter TEMPLATE legt den UNC-Namen und der Parameter HTTP_OUT den URL-Namen für das Verzeichnis fest.
Nachdem die Arbeitsmappe vom Web-Server geladen wurde, wird sie auf dem Client angezeigt (entweder im Browser oder in einem separaten Excel-Fenster). Der Benutzer kann jetzt mit der Eingabe der Reisekosten beginnen oder die Arbeitsmappe auf der lokalen Festplatte sichern, um sie als Vorlage für mehrere Reisen zu verwenden.
Nachdem der Benutzer die Daten eingegeben hat, wählt er Übergeben (Submit). Dieser Befehl startet ein Excel-Makro "Submit_Web", das die eingegebenen Daten extrahiert. Nachdem die Daten aus der Arbeitsmappe extrahiert wurden, werden sie nicht sofort an den Web-Server übertragen. Die Daten werden zuerst in einer Datei auf der lokalen Festplatte gespeichert, unter C:\EmployeeID.htm (wobei EmployeeID die Personalnummer des Benutzers ist). Diese Datei enthält alle eingegebenen Daten in verborgenen HTML-Feldern und Eingabefelder für den Benutzernamen und das Kennwort (der Benutzer kann zwischen dem Herunterladen der Arbeitsmappe und der Übergabe der Daten möglicherweise offline gewesen sein).
Nachdem der Benutzer das Kennwort eingegeben und Übergeben (Submit) ausgewählt hat, wird das Formular an den Web-Server übertragen. Der Service PRWW wird gestartet und das Befehlsfeld CREA sofort verarbeitet. Alle Daten werden aus dem HTTP-Datenstrom extrahiert und auf die Methode EmployeeTrip.CreateFromData gebucht.
Initialisierungs- und Übergabeprozeß werden in den folgenden Abbildungen dargestellt:


Grundfunktionen
Allgemeine Funktionen
Wenn die Excel-Datei für den Mitarbeiter erzeugt wird, wird die Arbeitsmappe "Lookup_Data" mit den Customizing-Informationen für diesen Mitarbeiter ausgefüllt. Diese Arbeitsmappe enthält alle Informationen, die aus dem System R/3 abgerufen wurden (z. B. Spesenarten und Länder).
Wenn die Daten eingegeben werden, speichert die Arbeitsmappe "Data" alle Belegdaten (insbesondere die Belegzusatzinformationen). Alle anderen Informationen werden in den entsprechenden Eingabebildern gespeichert, da es nicht notwendig ist, diese Informationen an zwei Orten zu speichern.
Die Arbeitsmappe "Texts" enthält alle Ressourcenfolgen zur Anzeige von Meldungen oder Feldtext in der zutreffenden Sprache, damit die Excel-Datei übersetzt werden kann. Werden Fehlermeldungen erforderlich, wird das Makro "MsgText" (im Funktionsbaustein) aufgerufen, das den Text aus dieser Arbeitsmappe entnimmt und die Variablen $v1 bis $v3 durch die entsprechenden Feldwerte oder anderen Texte ersetzt.
Öffnet der Benutzer die Excel-Datei auf der lokalen Festplatte oder ruft er die Datei vom Web-Browser ab, wird das Makro "auto_open" ausgeführt. Dieses Makro startet die Ereignisse „Ändern" (Makro "Field_OnChange") und „Doppelklicken" (Makro "Field_OnDoubleClick") im Haupteingabebild und verbirgt außerdem die Starttaste (die Starttaste ist nur in den Fällen vorhanden, in denen das Makro "auto_open" nicht ausgeführt wird, wie dies bei einigen älteren Excel-Versionen der Fall war).
Das Excel-Modul "Submit" enthält Codierung zum Extrahieren der eingegebenen Daten aus der Excel-Datei und erstellt eine HTML-Datei auf der lokalen Festplatte. Beim Extrahieren der Daten wird eine Zeichenfolge erstellt, die alle erforderlichen HTML–Anweisungen für eine vollständige HTML-Seite enthält (wie z. B. <HTML> <BODY> <...> </BODY> </HTML>). In dieser Folge werden alle eingegebenen Daten in verborgenen HTML-Feldern gespeichert (<INPUT TYPE=HIDDEN NAME=xyz VALUE="abc">). Diese Folge wird dann unter Verwendung der E/A-Standardanweisungen in Excel unter dem Dateinamen EmployeeID.htm gespeichert. Abschließend, nachdem die Datei gesichert wurde, wird das Makro "Define_Transfer" ausgeführt. Dieses Makro legt fest, wie der Standard-Browser gestartet werden soll (in Excel 95 wird die Anweisung start verwendet, in NT 4.0 die Anweisung cmd, in Windows 3.x wird der vollständige Pfad zum Web-Browser verwendet). Anschließend wird der Browser mit der Anweisung Shell und dem entsprechenden Übernahmemodus gestartet, um den Browser mit der neu erstellten Datei zu starten.
Arbeitsmappen ändern - Grundlagen
Sie können die Arbeitsmappenvorlagen mit Excel 97 modifizieren (verwenden Sie keine früheren Versionen), beginnend mit der Übersetzungsvorlage (TRIP_ITS.xls). Die Arbeitsmappenvorlagen (z. B. DE_TRIP.xls und EN_TRIP.xls) können später im Prozeß halbautomatisch unter Verwendung der Übersetzungsvorlage erstellt werden. Die Übersetzungsvorlage enthält zusätzliche Makros, die Sie während des Modifikationsprozesses unterstützen können.
Zum Öffnen der Übersetzungsvorlage wählen Sie die Datei TRIP_ITS.xls im Dialog „Datei öffnen" und drücken die Umschalttaste (Shift), während Sie „Öffnen" auswählen.
Durch diese Vorgehensweise wird verhindert, daß das Makro auto_open ausgeführt wird. Sobald das Makro auto_open ausgeführt wurde, werden einige Tasten möglicherweise nicht mehr angezeigt und alle Ereignisse für die Arbeitsmappe werden gestartet: eine Modifizierung der Arbeitsmappe ist so nahezu unmöglich.
Sprachenabhängige Arbeitsmappen erstellen
Voraussetzung:
Wie bereits erwähnt, sollten Sie die sprachenabhängigen Arbeitsmappen nicht zum Modifizieren der Arbeitsmappe verwenden. Verwenden Sie die Mappe TRIP_ITS.xls, um Ihre Änderungen vorzunehmen, anschließend erstellen Sie erneut die sprachenabhängigen Arbeitsmappen.
Die Zeichenfolgen werden für die ausgewählte Sprache aus dem System R/3 gelesen.
Dieses Makro liest die Zeichenfolgen aus dem System R/3, indem es den Funktionsbaustein GET_TEXTELEMENT_FOR_SHEET mehrmals aufruft. Sie können der Tabelle T706ESS3 in den Kundennamensbereichen X*, Y* und Z* weitere Textelemente hinzufügen.
Durch dieses Verfahren wird sichergestellt, daß die Excel Arbeitsmappen in allen vewendeten Sprachen gleich sind und auf dieselbe Weise funktionieren.
Namenskonventionen für die Datenübertragung
Bei der Übertragung von Daten an den Web-Server mit HTTP Post gibt es mehrere Feldnamen, die Sie beim Hinzufügen von Feldern zur Arbeitsmappe vermeiden sollten. Dabei handelt es sich um Feldnamen, die bereits von der Excel-Datei verwendet werden. Der folgende Abschnitt enthält eine Liste dieser Feldnamen.
Belegerfassung
Allgemeine Reisedaten:
Feldname |
Beschreibung |
Feldname |
Beschreibung |
PID |
Employee ID |
||
SDATE |
Begin date of trip |
STIME |
Begin time of trip |
EDATE |
End date of trip |
ETIME |
End time of trip |
REASON |
Trip reason |
DEST |
Trip destination |
COUNTRY |
Trip main country |
REGION |
Trip main region |
PDMEALS |
Per-diem accounting for meals |
PDACCOM |
Per-diem account. accommodation |
NONIGHTS |
Number of nights pd account. |
||
DATEOUT |
Date border crossing leave |
TIMEOUT |
Time border crossing country leave |
DATEIEN |
Date border crossing return journey |
TIMEIN |
Time border crossing return journey |
COUNTRYIN |
Country from which returned |
REGIONIN |
Region from which returned |
TTCSIN |
Trip type company specific for border crossing |
||
SCHEMA |
Trip schema |
TTCS |
Global trip type company specific |
TTSTAT |
Global trip type statutory |
TTACTI |
Global trip activity type |
Belege:
(xxx ist ein Platzhalter für die zutreffende Belegnummer, z. B. RTY012 für Belegart 12)
RNOxxx |
Receipt number |
RTYxxx |
Expense type |
RAMxxx |
Receipt amount (4 dec. Places) |
RCUxxx |
Currency |
RRAxxx |
Currency rate (5decimal places) |
RVAxxx |
VAT rate (2 char) |
RDAxxx |
Receipt date |
RTExxx |
Short text (11 char) |
RSTxxx |
Stopover assignment |
RPSxxx |
Share percent or absolute |
RBRxxx |
Number of breakfasts |
RCNxxx |
Country for receipt |
RRGxxx |
Region for receipt |
RTTxxx |
Trip Type for receipt |
RFDxxx |
From date |
RTDxxx |
To date |
RNUxxx |
Number (of nights/persons) |
RDExxx |
Beschreibung (50 char) |
RLOxxx |
Location (50 char) |
RPUxxx |
Purpose (50 char) |
RRExxx |
Reason (50 char) |
RCCxxx |
Credit card company (2 char) |
RCDxxx |
Credit card document no. |
RCTxxx |
Credit card service establishment |
Kilometer:
(xxx ist ein Platzhalter für die zutreffende Kilometerstandposition, z.B. MICO012 für Kilometerstandposition 12, Land)
MINOxxx |
Mileage number |
MIDAxxx |
Mileage date |
MITOxxx |
Mileage total |
MIDOMxxx |
Domestic mileage |
MIPLxxx |
Plate |
MIMAxxx |
Car make |
MITYxxx |
Vehicle type |
MICLxxx |
Vehicle class |
MICOxxx |
Country |
MIRGxxx |
region |
Zwischenziele:
(xx ist ein Platzhalter für die zutreffende Zwischenzielposition, z. B. STFD01 für Startdatum Zwischenzielposition 1)
STNOxx |
Stopover number |
STFDxx |
From date |
STFTxx |
From time |
STTDxx |
To date |
STTTxx |
To time |
STRExx |
Reason |
STLOxx |
Location |
STCOxx |
Country |
STRGxx |
Region |
STSTTxx |
Statutory trip type |
STTTCSxx |
Company specific trip type |
STATTxx |
Trip activity type |
STNIGHTxx |
No. Nights at stopover |
Text:
TEXTxxx |
Text line |