BEISPIEL ANGEBPROTXTDRUCKDATTP ©SUCHEN TP ª! SDATAEND TP «BS TP ¬ZUORD TP ­!DATNEU TP :®¯åTPSAALT TP ååT TXT!ò=013FBO .==============================================================================. Erstellen eines Angebotes.. Dieses Programm wird mit Funktion p gestartet.. . Als Artikeldatei wird das Bausteinhandbuch ARTIKEL benutzt.. In dieser Datei m}ssen die Artikel mit Funktion t eingef}gt werden.. Der Schl}ssel ist 4 Stellen gro~ (Artikel-Nr).. In der ersten Zeile der Artikel-Beschreibung mu~ der Einzelpreis vorhanden  ë. sein. In der 2. Zeile mu~ die Mengenbezeichnung stehen. In der 3. Zeile. beginnt die Artikel-Beschreibung... Es mu~ eine 5 stellige Angebotsnummer vorhanden sein (Artikel-Nr = 0000 als. Schl}ssel). Diese Angebotsnummer wird am Programmstart gelesen, um 1 er-. h|ht und in den Text an der aktuellen Position eingef}gt.. . In dem Angebotstext mu~ mit einem Leerschritt von der Artikelnummer getrennt. die Menge (4,2 Stellen) folgen. Jede neue Artikel-Position mu~ in einer  Ô. neuen Zeile folgen... Am Programmstart mu~ sich die Lichtmarke vor der ersten Position befinden.. . Zuerst wird die Angebotsnummer gelesen, um 1 erh|ht und in den . eingef}gt.. . Dann wird eine ]berschrift eingef}gt.. . Die Artikelnummer und die Menge wird aus dem Text geholt und gel|scht. Der. Artikel wird aus der ARTIKEL-Datei gelesen. Der Einzelpreis wird zum . errechnen der Positionssumme aus dem Artikel gelesen. Die Artikel-Beschrei- é. bung wird in den Text eingef}gt. An das Ende der Beschreibung wird die . Menge der Einzelpreis und die Positionssumme mit einem Dez-Tab jeweils . davor eingef}gt. Zus{tzlich wird vor die Artikelnummer eine laufende Po-. sitionsnummer eingef}gt.. . Die Seitenl{nge ist auf 54 Zeilen festgelegt. Erreicht das Programm die. 54. Zeile, wird die bis dahin errechnete Gesamtsumme als ]bertrag eingef}gt.. Dann wird eine Seitentrennung, eine ]berschrift f}r die zweite Seite mit ò. der Angebotsnummer und noch einmal die ]bertragssumme eingef}gt.. . Ist keine Position mehr vorhanden, wird die Mehrwertsteuer (14%) eingef}gt. und errechnet und die Endsumme eingef}gt...==============================================================================daten in Ad.Vorg <1>.!)VorgangDarstell-flag<1>.!)Flag, ob BS nach dem Aufruf eines . !)Vorgangs neu dargestellt werden mu~Txt.name<8>.!)Name des aktuellen Textes á - .k}rzel <4>. - .schutz <1>. - .format <1>. - .seitenummer.!)Nr der zuletzt bearbeiteten Seite - .seite-altnummer.!)Seitennummer von "POSIT" - .zeile-altnummer.!)Zeilennummer9- " - - .vschutz<1>.!)= 1, falls Text nicht ver{ndert. !) werden darfTxt-laufwerk<1>.!)Laufwerk (Texte)Verzeichnisdatei <14>.!)Textverzeichnis-Name (incl.Laufwerk) äDatum.tag<2>.!)Daten aus der Hauptmaske - .monat<2>.!) - .jahr<2>.!) 1K}rzel <4>.!)aktuelles K}rzelAbteilung<4>.!)aktuelle AbteilungMasken datei"Masken.txt".)MaskendateiDatei datei<8>.!)Zuletzt benutzte DateiBhandb datei<12>.!)Aktuelles Baustein-Handbuch. Wird. !) auch mit ".txt" als Datei ge|ffnetSpeicherdatei"Spch ".)Speicherdatei ôBenutzerdatei"BENUTZER". )BenutzerdateiDruck-Dateidatei"Druck".)Datei f}r alle Druck-ParameterDrucker zahl<2>.!)aktueller DruckerVerwalter<1>.!)zum K}rzel geh|rigTrennzonezahl<2>.S-toleranzzahl<2>.Start-flag<1>.!)definiert den Start-Verlauf. !)"1" und "2" -> TELETEX. !)"3" -> Menue. !)"4"1 -> Externer Anschluss. !)19 an TPS (zB. COBOL) âProgramm<12>.!)Name des Programms, in das gechained. !) werden soll.TTX-Zugang<1>.!)Zugangsberechtigung TTX-Anschlu~Bea-modus"N".!)Bearbeitungs-Modusprogramm angebot..  -------daten.Anf-zeilenummer.Anf-spaltenummer.Anf-seitenummer.Status nummer.Bilde-feldtext<100>.Bilde-feld1text<100>.Lauf <1>.Zeilen nummer.Seiten-l{ngenummer 56.Seite zahl<2>. éSumm-tab"#008#076#008".Str-tab "#002#067#002".Strich "------------".Str-zeile"------------------------------------------------------------------------------".Art-dateidatei"Artikel.txt".Artikel-nrzahl<4>.Angebot-nrzahl<5>.Menge zahl<4,2>!form (/.,/).Ein-preiszahl<4,2>!form (/.,/).Pos-summezahl<7,2>!form (/.,/).Ges-summezahl<10,2>!form (/.,/).MWSt zahl<5,2>!form (/.,/). ÞMWSt-satzzahl<2,2>!14.Positionzahl<2>.Einheit <4>..===========================================================================_anfang. wenn nicht Ad:Vorg : springe _anf-richtig. anzeigen fehler "Aufruf nur aus einem Text heraus". r}cksprung._anf-richtig..------ aktuelle Position holen t hole zeilennummer Anf-zeile. setze Zeilen = Anf-zeile. t hole spaltennummer Anf-spalte. t hole seitennummer Anf-seite.  ñ rechne Seiten-l{nge - 3.)1** Wegen ]bertragszeilen setze Seite = Anf-seite..------ Datei "ARTIKEL" |ffnen wenn Art-datei nicht = Ad:Bhandb : d datei |ffnen Art-datei Status _datei-fehler.  sonst : d datei setzen Art-datei. d datei reservieren Art-datei 1 _datei-schlie~1._neue-eingabe. hilfe "na". eingeben neu zeile 1 "Das Angebot wird erstellt. S#019ichtbar" " U#019nsichtbar " Lauf _datei-schlie~. gro~schreibung Lauf. hilfe " ".  ã suche "SU" Lauf _neue-eingabe. wenn Lauf = "U" : t unsichtbar..------ Artikel 0000 = Lfd. Angebotsnummer setze Artikel-nr = "0000". d positioniere 1 Artikel-nr _keine-nummer._zeile-lesen. d lesen zeile Bilde-feld _keine-nummer. vergleiche Bilde-feld.<1> mit #152 _zeile-lesen. setze Angebot-nr = Bilde-feld. rechne Angebot-nr + 1. d hoch zeile. setze Bilde-feld = Angebot-nr. d schreiben zeile Bilde-feld. d datei sichern. ú.------ Einf}gen der Angebotsnummer_nr-einf}g. rechne Status = Seiten-l{nge - 8. wenn Zeilen > Status : rufe neue-seite. t einf}gen   "Angebot Nr.: " Angebot-nr z-fzs z-fzs z-fzs  "Wir bieten Ihnen wie folgt an:" z-fzs. rechne Zeilen + 4. rufe kopf-einf}g..------ Artikelnummer aus Text holen und Artikel lesen_artikel-suchen. t lesen wort Artikel-nr. t rechts wort _seiten-ende. t lesen wort Menge. d positioniere 1 Artikel-nr _kein-artikel.Ê setze Lauf. t anfang zeile. t l|schen zeile. rechne Position + 1._ein-preis. d lesen zeile Bilde-feld. vergleiche Bilde-feld.<1> mit #152 _ein-preis. setze Ein-preis = Bilde-feld._mengen-einh. d lesen zeile Bilde-feld. vergleiche Bilde-feld.<1> mit #152 _mengen-einh. setze Einheit = Bilde-feld._n{chste-zeile. d lesen zeile Bilde-feld _artikel-ende. vergleiche Bilde-feld.<1> mit #152 _n{chste-zeile. Á wenn Lauf : bilde Bilde-feld.<1> < Position "#002#006#002" Artikel-nr. l|sche Lauf. wenn Seiten-l{nge nicht > Zeilen : rufe neue-seite. t einf}gen zeile Bilde-feld. rechne Zeilen + 1. springe _n{chste-zeile._artikel-ende. wenn Seiten-l{nge nicht > Zeilen : rufe neue-seite. rechne Pos-summe = Ein-preis * Menge. rechne Ges-summe + Pos-summe. bilde Bilde-feld = "#008#047#008" Menge "#002#051#002" Einheit à t einf}gen zeile Bilde-feld. rechne Zeilen + 1. springe _artikel-suchen._seiten-ende. rechne Status = Seiten-l{nge - 6. wenn Zeilen > Status : rufe neue-seite. t einf}gen Str-tab Strich z-fzs. bilde Bilde-feld = "Gesamtsumme" Summ-tab Ges-summe. t einf}gen Bilde-feld z-fzs. bilde Bilde-feld = "+ " MWSt-satz " #037 Mehrwertsteuer". rechne MWSt-satz / 100. rechne MWSt = Ges-summe * MWSt-satz. bilde Bilde-feld + Summ-tab MWSt. Ø t einf}gen Bilde-feld z-fzs Str-tab Strich z-fzs. rechne Ges-summe + MWSt. bilde Bilde-feld = "Endsumme" Summ-tab Ges-summe. t einf}gen Bilde-feld z-fzs Str-tab "============" z-fzs._datei-schlie~. d datei freigeben._datei-schlie~1. wenn Art-datei nicht = Ad:Bhandb : d datei schlie~en. t positioniere seite Anf-seite zeile Anf-zeile spalte Anf-spalte._ende. l|schen zeile 1. t darstellen. r}cksprung._datei-fehler. ¶ anzeigen fehler "Artikeldatei nicht vorhanden". springe _ende._kein-artikel. anzeigen fehler "Artikel " Artikel-nr " nicht vorhanden". t n{chste zeile _seiten-ende. rechne Zeilen + 1. springe _artikel-suchen._text-fehler. anzeigen fehler "Fehler beim Erstellen des Angebotes". springe _datei-schlie~._keine-nummer. anzeigen fehler "Keine Angebots-Nr vorhanden". springe _nr-einf}g. ».---------------------------------------------------------------------------. Unterprogramm zum Einf}gen Angebots-Kopf.---------------------------------------------------------------------------unterprogramm kopf-einf}g._kopf-einf}g. t einf}gen z-fzs Str-zeile z-fzs  "Pos. Art.-Nr. Artikel-Bezeichnung Menge"  " Preis (DM) Betrag" z-fzs  Str-zeile z-fzs. rechne Zeilen + 4. r}cksprung. ï.------------------------------------------------------------------------------.Pos. Art.-Nr. Artikel-Bezeichnung Menge Preis (DM) Betrag.------------------------------------------------------------------------------..1 1000 aaaaaaaaaaaaaaaaaaaaaaaaa 1.111,00 Stck 100,00 1.234.567,00. !)19A ------------.---------------------------------------------------------------------------. Unterprogramm zum Einf}gen Kopf 2. Seite Ô.---------------------------------------------------------------------------unterprogramm neue-seite._neue-seite. t einf}gen Str-tab Strich z-fzs. bilde Bilde-feld1 = "]bertrag" Summ-tab Ges-summe. t einf}gen Bilde-feld1 z-fzs. rechne Seite + 1. t einf}gen seite. t einf}gen "#002#025#002Seite " Seite " zum Angebot-Nr. " Angebot-nrz-fzs. setze Zeilen = 1. rufe kopf-einf}g. bilde Bilde-feld1 = "]bertrag" Summ-tab Ges-summe. @ t einf}gen Bilde-feld1 z-fzs z-fzs. r}cksprung.  : "#008#061#008" Ein-preis Summ-tab Pos-summe z-fzs.