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:

  1. MS Excel 97 oder höher ist installiert
  2. SAP Automation RFC –Bibliothek ist installiert

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.

  1. Nachdem Sie die Modifizierung der Übersetzungsvorlage abgeschlossen haben, müssen Sie die sprachenabhängige Arbeitsmappenvorlage neu erstellen. Hierzu gehen Sie folgendermaßen vor:
  2. Sichern Sie die aktuelle Version der Arbeitsmappe TRIP_ITS.xls im Verzeichnis 99\sheets
  3. Öffnen Sie den Funktionsbaustein "xxx_ITS"
  4. Wählen Sie das Makro "Translate"
  5. Wählen Sie die gewünschte Sprache, indem Sie die Variable "Language" festlegen (z. B. Language = "DE" für Deutsch)
  6. Die Zeichenfolgen werden für die ausgewählte Sprache aus dem System R/3 gelesen.

  7. Starten Sie das Makro "Translate"
  8. 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.

  9. Falls gewünscht, löschen Sie den Funktionsbaustein xxx_ITS, um während des Herunterladens auf den Client-PC Übertragungsbandbreite einzusparen. Zum Löschen klicken Sie den Funktionsbaustein mit der rechten Maustaste an und wählen "Löschen" aus dem Dialogfenstermenü.
  10. Sichern Sie die neu erstellte Arbeitsmappenvorlage unter dem Namen [Sprache]_TRIP.xls im Verzeichnis 99\sheets, wobei [Sprache] der zweistellige Sprachenschlüssel aus R/3 ist.
  11. Laden Sie die Übersetzungsvorlage erneut und wiederholen Sie dieses Verfahren ab Schritt 2 für alle Sprachen, die Sie auf Ihrem Web-Server bereitstellen möchten.
  12. Durch dieses Verfahren wird sichergestellt, daß die Excel Arbeitsmappen in allen vewendeten Sprachen gleich sind und auf dieselbe Weise funktionieren.

  13. Stimmt die Variable "RAW_TEMPLATE" in Tabelle T706ESS2 nicht mit dem Pfad überein, in dem Sie die Arbeitsmappenvorlage gespeichert haben, müssen Sie die neu erstellten Arbeitsmappen an alle Server senden, die RFCCOM verwenden, und dort in die entsprechenden Verzeichnisse stellen.

 

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