Kapitelübersicht



11 Externe Aufrufmoeglichkeiten
  11.1 Verfuegbare Funktionen
  11.2 Beispiel Einstiegsmenue









    11    Externe Aufrufmoeglichkeiten


Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis


    Durch Auswahl aus der Bibliotheksuebersicht koennen
   Sie eine Anwendung oder Anforderung direkt ausfuehren.

    Zusaetzlich bietet ASS Moeglichkeiten, eine
   Anwendung oder Auswertung unabhaengig von der
   ASS-EXCEL-Oberflaeche aufzurufen.
   Die hier beschriebenen Funktionen koennen mittels einfacher
   VBA-Programmierung in eine MIS-Oberflaeche eingebunden
   werden, wie die mitgelieferten Beispiele zeigen (--> 9.2).







    11.1    Verfuegbare Funktionen


Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis


   Im Einzelnen koennen folgende Visual-Basic-Funktionen zum Einstieg
   in die ST31.XLS verwendet werden:



 ->>  Function AnwAusfuehren(AnwNr As Integer, Optional Passwort)

   Die Anwendung mit der Nummer AnwNr wird ausgefuehrt.
   Optional kann das Passwort Passwort mit uebergeben werden.
   Es wird entweder True oder False zurueckgegeben, abhaengig
   davon, ob der Aufruf erfolgreich war oder nicht.


 ->> Function AnfAusfuehren(Bib As String, Anf As String, Opt.Passwort)

   Die Anforderung Anf aus der Bibliothek Bib wird
   ausgefuehrt. Optional kann das Passwort Passwort mit
   uebergeben werden. Es wird True oder False zurueckgegeben,
   abhaengig davon, ob der Aufruf erfolgreich war oder nicht.

 ->>  Function MehrfachAusfuehren(Anf1 as string, Anf2 as string,
         Optional Anf3, Optional passwort) as boolean
                    ue ist hier ein kleiner U-Umlaut <<<< <<<<

   Mit dem Aufruf dieser Routine kann man sich das Auswertungsergebnis
   von bis zu drei Anforderungen untereinander auf ein Excel-Blatt
   ausgeben lassen. Die Parameter Anf1, Anf2, und Anf3 bezeichnen die
   Anforderungsnamen, denen wahlweise die Bibliothek mit einem
   Doppelpunkt vorangestellt werden kann. Wird keine Bibliothek
   angegeben, so wird die entsprechende Anforderung aus der Bibliothek
   'B' ausgefuehrt.


   Beispiel:

   MehrfachAnfAusfuehren "ANF00001", "P:ANF00010", "E:STAT9999"
                  ue ist hier ein kleiner U-Umlaut <<<< <<<<

   Rueckgabeparameter: True oder False

  ->> Function Bericht_anzeigen(Anf as string, Optional Passwort)

   Es wird von der Berichtsdatenbank das Element mit dem Namen Anf
   eingelesen und angezeigt. Wenn es mehrere Berichte mit diesem Namen
   gibt, wird der zuletzt erstelle beruecksichtigt.

 ->>  Function Bib_Inhalt_Zeigen(Bib as string, Optional Passwort)

   Mit dieser Funktion wird eine Excel-Datei erstellt, die
   eine Liste aller Elemente der Bibliothek Bib enthaelt.
   Die Datei hat den Namen Bib_A.xls, Bib_B.xls, etc. und
   befindet sich im Dateien-Verzeichnis. Optional kann das
   Passwort mitgegeben werden.

   In den einzelnen Spalten steht dabei folgendes:
   A         Anforderungsname + Kommentar
   B-J       weitere Kommentare
   K         Turnuskennzeichen bei periodisch
             auszufuehrenden Anforderungen
   L         Datum der naechsten Ausfuehrung (Batch)
   M         Datum der letzten Ausfuehrung   (Batch)
             bzw.  Anwendungsnummer
   N         Erstellungsdatum

   Es wird True oder False zurueckgegeben, abhaengig davon,
   ob die Operation erfolgreich ausgefuehrt wurde.


 ->>  Sub ASSEnde()

   ASS wird beendet. Diese Funktion kann Sie z.B. in der
   auto_close Prozedur der Einstiegsmappe aufgerufen werden.


 ->>  Sub OptExcelBeenden(w As Boolean)

   Mit dieser Funktion steuern Sie, ob Excel beendet werden
   soll, wenn ASS beendet wird. Wenn dies der Fall sein
   soll, so ist fuer w true einzusetzen. Der Fall w = FALSE
   ist die Standardeinstellung.


 ->>  Sub OptNachBibUe(w As Boolean)
                   Ue ist hier ein grosser U-Umlaut <<<< <<<<

   Mit dieser Funktion laesst sich steuern, ob nach Beenden
   einer Anwendung in die Bibliotheksuebersicht verzweigt
   werden soll. Setzen Sie fuer w TRUE ein, wenn dies der
   Fall sein soll. Der Fall w = FALSE ist die
   Standardeinstellung, und hat ein Rueckverzweigen in die
   Startmappe, von der aus die Anwendung aufgerufen wurde,
   zur Folge.


 ->>  Function Set_Parameter_von_aussen (Anzahl As Int., ARRAY(A,B,C))
                   ss ist hier ein 'sz'    <<<< <<<<

   Wenn diese Funktion gerufen wird, wird beim Ausfuehren
   einer Anwendung oder Anforderung nicht die Parametermaske
   aufgerufen, sondern es werden die beim Set_Parameter_von_aussen-
   Aufruf mitgegebenen Parameter verwendet.

    Der Aufbau der mitgegebenen Parameter ist wie folgt:

   Der erste Parameter bezeichnet als Integer die Anzahl
   der Parameter, die gesetzt werden sollen. Es muessen
   nicht alle Parameter einer Anforderung uebergeben weren.

    Im folgenden Datenfeld muessen je Parameter immer 3 Werte
   in der folgenden Reihenfolge uebergeben werden:

    1.     Parametername:       &&........
    2.     Parameterinhalt:     Der Aufrufer ist fuer die
                                Richtigkeit verantwortlich .
    3.     Schluesselnummer:    Wenn keine Schluesselnummer
                                erforderlich ist, Null anliefern.

   Es sind maximal 10 Parameter moeglich, das Array darf
   also maximal 30 Eintraege enthalten. Geprueft wird
   lediglich, ob mindestens 1 und hoechstens 10 im Feld
   'Anzahl' steht und ob das Datenfeld die richtige Anzahl
   Parameter enthaelt.

   Die Parameter sind nur fuer eine einmalige Ausfuehrung
   gueltig. Ist etwas anderes gewuenscht, muss der
   Set_Parameter_von_aussen-Aufruf entsprechend wiederholt
   werden.



   BEISPIEL:


   Im Folgenden ist ein Beispiel fuer einen Aufruf der
   obigen Funktion aus einem Visual-Basic-Modul angegeben:

   If Set_Parameter_von_aussen( 2, _
        Array("&&WE", "PROVIS", "0", "&&ZT", "0701", "0")) Then _
       Anfausfuehren "B", "ANF00001"
   Die Variable 'Anzahl' (im Beispiel '2' ) muss ohne
   Hochkomma angegeben werden, weil sie vom Typ Integer
   ist.

   Die Anweisung 'Array' generiert ein Datenfeld mit so
   vielen Elementen, wie in der Klammer zwischen den
   Hochkommas angegeben sind. Da es sich um Zeichenfolgen
   handelt, sind Hochkommas zu verwenden.

   Bei diesem Aufruf muss zu Beginn das Moduls 'Option Base 1'
   angegeben werden, andernfalls ist am Beginn des Arrays ein
   Dummyelement einzufuegen.

   Rueckgabeparameter:     Boolean (True(-1) oder False(0))


 ->>  Function Bibliothek_setzen(Wert As String)

   Wenn diese Funktion gerufen wird, wird die
   Voreinstellung der Listbox fuer die Bibliotheken in
   der Anforderungsuebersicht auf 'Wert' gesetzt.

    Rueckgabeparameter:     True oder False

   Durch Anpassung der Startmappe ST31STA.XLS kann diese
   Funktion aufgerufen werden:
    - Aufruf der Funktion innerhalb der Funktion Vorstart
      im Modul 'User'.
    - Setzen des Parameters in der Call-Anweisung
      entsprechend dem folgenden Beispiel auf den
      gewuenschen Wert:

      CALL Application.Run("ST31VB97.XLA!Bibliothek_setzen", "A")


 ->>  Function Opt_Anforderungen_sofort(w as boolean, Optional Filter)

   Bei Aufruf dieser Funktion mit w = True werden in der Bibliotheks-
   uebersicht sofort die vorhandenen Anforderungen angezeigt, der
   Anwender muss also nicht erst 'Anzeigen' betaetigen. Dabei kann auch
   ein Filter zur Einschraenkung der Elemente mitgegeben werden.

 ->>  Function Opt_mit_Verzeichnis_starten(w As Boolean)

   Bei Aufruf dieser Funktion mit w = True ist beim ersten Aufruf
   der Bibliotheksuebersicht das Register 'Verzeichnisse' aktiviert.


 ->>  Function Listenfeld_Grenzwert_setzen(Wert As Integer)

   Beim Aufruf dieser Funktion wird die
   Voreinstellung der Anzahl von Zeilen, die mit einem
   Aufruf in die Listboxen fuer die Schluesselinhalte gelesen
   werden, auf 'Wert' gesetzt.

    Rueckgabeparameter:     True oder False

   Diese Funktion koennen Sie aufrufen, indem Sie die
   Startmappe ST31STA.XLS anpassen:

   Durch Anpassung der Startmappe ST31STA.XLS kann diese
   Funktion aufgerufen werden:
      - Aufruf der Funktion innerhalb der Funktion Vorstart
        im Modul User.
      - Setzen des Parameters in der Call-Anweisung
        entsprechend dem folgenden Beispiel auf den
        gewuenschten Wert:

        VorStart=Application.Run("Listenfeld_Grenzwert_setzen",3000)

   32-Bit-Versionen koennen Werte bis zu 32000 einstellen.







    11.2    Beispiel Einstiegsmenue


Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
    Als Beispiele fuer ein individuelles Einstiegsmenue wird
   die Excel-Mappe 'MIS97.xls' im Verzeichnis ASS/PGM ausgeliefert.



   Sie oeffnen die VBA-Entwicklungsumgebung mit der Tasten-
   kombination ALT-F11. Fuer ein neues Projekt ist ein Verweis zur
   Codemappe st31vb97.xla herzustellen.



   Inhalt der gelieferten MIS-Oberflaechen:

   Excel-Blatt   "ASS-MIS"
   =======================

   Diese Oberflaeche ist fuer den Anwender sichtbar.
   Sie kann frei gestaltet werden. Durch Verwendung von
   Schaltflaechen koennen Zuweisungen zu ASS-Funktionen
   erfolgen, die in der VBA-Umgebung unter 'Modul 1' codiert
   sind.

   VBA-Modul     "Modul 1"
   =======================

   Es enthaelt die ASS-Aufrufe, die jeweils als
   eigene Sub-Routinen erscheinen. In diesem Blatt sind
   neue Aufrufe anzupassen.

   Beispiel:

    Option Explicit
    Option Base 1

    Sub Anwendung_1()
        AnwAusfuehren 1001
    End Sub

    Sub Anwendung_2()
        'Anwendung 1002, Passwort Alles
        AnwAusfuehren 1002, "ALLES"
    End Sub

    Sub Anwendung_4()
        AnwAusfuehren 2
    End Sub

    Sub Auswertung_1()
        '4 Parameter werden gesetzt und Anforderung VO#PAR4 ausgefuehrt
        'mit Passwortuebergabe
      If set_parameter_von_aussen(4, Array("&&WERT", "NEUBETRG", "0",
                                        "&&SPARTE", "HA", "130",
                                        "&&GEBIET", "02", "100",
                                        "&&BM", "BM00", "0" )) Then _
        AnfAusfuehren "B", "VO#PAR4", "ALLES"
    End Sub

    Sub Auswertung_2()
        AnfAusfuehren "B", "VOBEW000"
    End Sub

    Sub Mehrfach_Auswertung_1()
        'Ausfuehren von 3 Anforderungen
        MehrfachAnfAusfuehren "VODB0001", "VODB0002", "VODB0002"
    End Sub

    Sub BILD_ENDE()
        Oberflaeche_Zurueckholen
        ASSEnde
        ThisWorkbook.Saved = True
        Application.Quit
    End Sub

    Sub Auto_Open()
        Oberflaeche_sichern
    End Sub

    Sub Auto_Close()
        Oberflaeche_Zurueckholen
        ASSEnde
        ThisWorkbook.Close SaveChanges:=False
    End Sub



   Die beiden Sub-Routinen Auto_Open und Auto_Close
   verweisen noch auf zusaetzliche Standard-Routinen, die
   im "Modul 2" zur Verfuegung stehen.



   VBA-Modul     "Modul 2"
   =======================

   Hier werden EXCEL-Standardeinstellungen gesichert und nach
   Beenden des MIS-Einstiegsmenues zurueckzusetzt.



Vorheriges Kapitel: 10 Anwendungen

Nächstes Kapitel:   Stichwortverzeichnis