Kapitelübersicht



4 Hinweise zum Uebersetzen und Linken









       4        Hinweise zum Uebersetzen und Linken


Kapitelübersicht
Inhaltsverzeichnis



               Beim Uebersetzen muss stets die mitgelieferte
               "INCLUDE"-Bibliothek zugewiesen werden.
               ACHTUNG bei installationsabhaengigen INCLUDE's:
               Existieren bereits modifizierte/private ASS-INCLUDE's,
               so sollten diese INCLUDE's in einer eigenen Bibliothek
               gespeichert werden. Diese Bibliothek muss dann in der
               Job-Control vor der ausgelieferten Bibliothek
               zugewiesen werden.



               Problem "CONFUSION IN MODLIBS":
               -------------------------------


               Erfahrungsgemaess ist eine haeufige Fehlerursache
               fuer Programmabstuerze, dass falsche (alte)
               Unterprogramme in Hauptprogramme eingebunden werden.
               Dies geschieht besonders dann sehr leicht, wenn
               Programme mit demselben Namen in unterschiedlichen
               Bibliotheken existieren. Ebenso kann es bei einem
               Versionswechsel leicht passieren, dass versehentlich
               ein bestimmtes neues Unterprogramm nicht uebersetzt
               wird und damit bestehende alte Unterprogramme
               eingebunden werden.
               Ist man in der Lage, mit einem Datei-Editor die
               gebunden Hauptprogramme zu lesen (z.B. bei IBM/MVS),
               so ist eine Ueberpruefung, welche Unterprogramme in
               welchen Versionen in einem Hauptprogramm eingebunden
               sind, sehr leicht moeglich. Man sehe sich das gelinkte
               Hauptprogramm an und suche nach dem String "VERSION".
               Man erhaelt dann fuer jedes eingebundene Unterprogramm
               folgenden Text:
                     *** MSTXXX  VERSION  N.NN  ***
               Ebenso kann eine Versionsueberpruefung fuer
               Unterprogramme, die dynamisch nachgelinkt werden,
               durchgefuehrt werden.
               Ein Vergleich mit den ausgelieferten Programmversionen
               ist auf diese Art leicht moeglich.




               Beim Uebersetzen und Linken sollte nach
               Programmkomplexen vorgegangen werden.


               Als erstes sollten die zentralen Unterroutinen, die in
               mehreren Programmkomplexen benutzt werden, uebersetzt
               werden. Dies sind:
                - MST0298     (zentrales Zugriffsprogramm, nur VSAM)
                - MST0299     (zentrales Zugriffsprogramm, nur VSAM und
                              SIEMENS, Assembler bei VSAM und ISAM)
                - MST0000     (Zugriffsbaustein zur SPA-DB)
                - MST0021     (Textbaustein)
                - MST0067     (Textbaustein)
                - MST0071     (Textbaustein)
                - MST0073     (Zugriffsbaustein zur Schluessel-DB)
                - MST0076     (Privacy-Pruefung)
                - MST0077     (Privacy-Pruefung)
                - MST0085     (Zugriffsbaustein zur Werte-DB)
                - MST0086     (Zugriffsbaustein zur Steuerungs-DB)
                - MST0087     (Zugriffsbaustein zu  Summen-DB's)
                - MST0091     (Zugriffsbaustein zur Anforderungs-DB)
                - MST0098     (Zugriffsbaustein zu  Summen-DB's)
                - MST0120     (AG-Cache)
                - MST0150     (Zugriffsbaustein zur Schluessel-DB)
                - MST0155     (Zugriffsbaustein zur Schluessel-DB)
                - MST0157     (nur DL/I, PCB-Pointer besorgen)
                - MST0022     (Sprachabbildung)
                - MST0123     (Upro fuer PC-Schnittstellen)
                - MST0126     (Zugriffsbaustein zur Text-DB)
                - MST0127     (Meldungen aus Text-DB holen )
                - MST0154     (Serialisierung,Assembler)
                - MST0169     (User-Exit)
                - MST0191     (PLI-Unterprogramm)
                - MST0200     (PLI-Unterprogramm)
                - MST0208     (Pruefroutine,Assembler)
                - MST0209     (Pruefroutine,Assembler)
                - MST0215     (Assembler)
                - MST0220     (Assembler)
                - MST0288     (DynAlloc)
                - MST0439     (PlI-Unterprogramm)
                - MST0457     (PlI-Unterprogramm)


                Die Programmkomplexe sollten in der Reihenfolge
                3.2, 3.3, 3.4, 3.6, 3.5 abgearbeitet
                werden.


                Anmerkung: Unter VSAM ist bei den Hauptprogrammen
                folgendes zu beachten: bei dem Batchteil ist das Modul
                MST0299 anzulinken und bei dem Dialogteil das Modul
                MST0298 (das die Referenz MST0299 befriedigt).


                Anmerkung zum Komplex 3.2:


                IMS: Die Programme MST1001 bis MST1049 werden dynamisch
                gelinkt. Die Reihenfolge des Uebersetzens und Linkens
                spielt keine Rolle.
                CICS: Die Programme MCO1001 bis MCO1049 werden
                dynamisch gelinkt. Es muessen daher vorher MST1001
                bis MST1049 uebersetzt werden.



                Anmerkung zum Komplex 3.3:


                Es sollten zunaechst die Assembler-Unterprogramme
                MST0002, MST0003, MST0004, MST0046, MST0052,
                MST0053, MST0054, MST0055, MST0088, MST0099, MST0089,
                MST0205, MST0206,
                MSTE21S (nur SIEMENS), MSTE23S (nur SIEMENS)
                uebersetzt und gelinkt werden. Bei Bedarf auch
                MST0047 (EXPAND), siehe Anmerkung zum EXPAND in 3.3.
                Anschliessend die Hauptprogramme PST1001, PST1002
                und PST1013.



                Anmerkung zum Komplex 3.4:


                Folgende Reihenfolge sollte eingehalten werden:


                  - MST0001   Assembler-Unterprogramm
                  - MST0005   Assembler-Unterprogramm
                  - MST0012   Assembler-Unterprogramm
                  - MST0202   Assembler-Unterprogramm
                  - MST0203   Assembler-Unterprogramm
                  - MST0204   Assembler-Unterprogramm
                  - MST0212   Assembler-Unterprogramm
                  - MST0214   Assembler-Unterprogramm
                  - MST0219   Assembler-Unterprogramm
                  - MST0221   Assembler-Unterprogramm
                  - MST0020       - MST0019
                  - MST0145
                  - MST0151       - MST0152
                  - MST0153       - MST0068
                  - MST0008       - MST0016
                  - MST0017       - MST0018
                  - MST0007       - MST0009
                  - MST0006       - MST0122      - MST0218
                  - MST0011       - MST0058      - MST0224
                  - MST0227       - MST0229
                  - MST0536       - MST0556
                  - MST0013
                  - MST0014   Assembler-Unterprogramm
                  - MST0015
                  - MST0156   Assembler-Unterprogramm
                  - MST0158       - MST0010
                  - MST0078
                  - PST1003




                Anmerkung zum Komplex 3.6:


                IMS:   Zunaechst sollten die Unterprogramme


                      - MST0168       - MST0190       - MST0222
                      - MST0035       - MST0040       - MST0041
                      - MST0045       - MST0057       - MST0074
                      - MST0121       - MST0171       - MST0172
                      - MST0174


                    uebersetzt und gelinkt werden. Alle anderen
                    Unterprogramme, die in 3.6 benoetigt werden,
                    sind in bereits vorher bearbeiteten
                    Programmkomplexen uebersetzt und gelinkt worden.
                    Ansonsten siehe 3.6.



                CICS:  Zunaechst sollten die Unterprogramme


                      - MST0040       - MST0041       - MST0045
                      - MST0057       - MST0074       - MST0121
                      - MST0168       - MST0172       - MST0190
                      - MST0222


                    uebersetzt und gelinkt werden.
                    Die Programme MCOXXXX werden dynamisch gelinkt.
                    In jedes MCOXXXX wird das zugehoerige MSTXXXX
                    statisch eingebunden. Daher muss das jeweilige
                    MSTXXXX vor dem zugehoerigen MCOXXXX uebersetzt
                    werden.
                    Alle anderen Unterprogramme, die in 3.6
                    benoetigt werden, sind in bereits vorher
                    bearbeiteten Programmkomplexen uebersetzt und
                    gelinkt worden.
                    Ansonsten siehe 3.6.



                Anmerkung zum Komplex 3.5:


                Hier handelt es sich ueberwiegend um
                allein existierende Programme, die nur Text-Bausteine
                und Datenbankzugriffsroutinen enthalten.
                PST1011 benutzt zusaetzlich die Assembler-
                Unterprogramme MST0056 und MST0064, die vor der
                Uebersetzung von PST1011 uebersetzt und gelinkt
                werden sollten.  PST1019 benutzt zusaetzlich die PLI-
                Unterprogramme MST0079 und MST0183, die vor der Ueber-
                setzung von PST1019 uebersetzt und gelinkt werden
                sollten.
                Alle anderen Unterprogramme von PST1019 sind bereits
                vorher uebersetzt worden.



Vorheriges Kapitel: 3 Installation der Programme und Masken

Nächstes Kapitel:   5 Individuelle Anpassungsmoeglichkeiten