Inhaltsverzeichnis
Vordefinierte Funktionen
setcurfieldcont
Definition
int setcurfieldcont (maskfield para_1)
Beschreibung
Setzt den Feldinhalt des Feldes para_1 der aktuellen Maske, von der aus das Formular gestartet wurde. Der Maskenname der aktuellen Maske und der Maskenname der Maskenvariablen para_1 müssen übereinstimmen, sonst wird kein Feldinhalt gesetzt. Wenn Feldinhalte im Rahmen eines Maskenformulars gesetzt werden sollen, muss diese Funktion verwendet werden. Die Funktion ist nur im Funktionsformularkompiler verfügbar.
Rückgabewert
0
Beispiel
... arti.BEZ1_ARTI_ARTI.m = "Neue Artikelbezeichnung"; setcurfieldcont (arti.BEZ1_ARTI_ARTI); ...
setcurfielderror
Definition
int setcurfielderror (maskfield para_1)
Beschreibung
Setzt das Fehlerflag des Feldes para_1 der aktuellen Maske. Das Feld wird auf der Maske rot umrahmt, um den Fehler kenntlich zu machen.
Rückgabewert
0
Beispiel
if (arti.BEZ1_ARTI_ARTI.m == "") { setcurfielderror (arti.BEZ1_ARTI_ARTI); errno = 1234; ret = -2; }
setcurfieldaccess
Definition
int setcurfieldaccess (text field, int mode)
Beschreibung
Setzt die Feldrechte.
Parameter
- field - Feldname ohne Maskenerweiterung
- mode -
- 1 = ausführbar
- 2 = schreibar
- 4 = lesbar
Rückgabewert
0
Beispiel
... if (arti.BEZ1_ARTI_ARTI.m == "") { setcurfieldaccess ("BEZ1_ARTI_ARTI", 6); } ...
getcurfieldcont
Definition
int getcurfieldcont (maskfield para_1)
Beschreibung
Kopiert die Feldinhalte (m,s,o siehe Kapitel 4.3.1 Variablentypen) des Feldes para_1 der aktuellen Maske, von der aus das Formular gestartet wurde in die Variable para_1. Der Maskenname der aktuellen Maske und der Maskenname der Maskenvariablen para_1 müssen übereinstimmen sonst wird kein Feldinhalt kopiert. Version RC 1.0 Programmierhandbuch 50 von 80 Betriebswirtschaftliche Standardsoftware - Made for the WEB
Rückgabewert
0
Beispiel
... arti.BEZ1_ARTI_ARTI.m = "Neue Artikelbezeichnung"; setcurfieldcont (arti.BEZ1_ARTI_ARTI); arti.BEZ1_ARTI_ARTI.m = ""; getcurfieldcont (arti.BEZ1_ARTI_ARTI); /*arti.BEZ1_ARTI_ARTI.m := "Neue Artikelbezeichnung"*/ ...
setcurmaskcont
Definition
int setcurmaskcont (mask para_1)
Beschreibung
Setzt alle Feldinhalte der aktuellen Maske, von der aus das Formular gestartet wurde auf die Feldinhalte der Maskenvariablen para_1. Der Maskenname der aktuellen Maske und der Maskenname der Maskenvariablen para_1 müssen übereinstimmen sonst wird kein Feldinhalt übergeben. Die Funktion ist nur im Funktionsformularkompiler verfügbar.
Rückgabewert
0
Beispiel
... arti.ART_ARTI_ARTI.m = "ART-00001"; arti.BEZ1_ARTI_ARTI.m = "Neue Artikelbezeichnung"; setcurmaskcont (arti);
getcurmaskcont
Definition
int getcurmaskcont (mask para_1)
Beschreibung
Kopiert alle Feldinhalte der aktuellen Maske, von der aus das Formular gestartet wurde in die Felder der Maskenvariablen para_1. Der Maskenname der aktuellen Maske und der Maskenname der Maskenvariablen para_1 müssen übereinstimmen sonst wird kein Feldinhalt kopiert.
Rückgabewert
0
Beispiel
getcurmaskcont (arti);
getmasktitle
Definition
int getmasktitle (text maskname)
Beschreibung
Liefert die Titelnummer einer Maske zurück. Die Titelnummer ist eine eindeutige Identifizierung der Maske und wird benötigt, um einer Maske (Tabelle) datenbanktechnisch Notizen bzw. Zusatztexte zuzuordnen. Die Zuordnung zu einem bestimmten Datensatz erfolgt über die Titelnummer und eine laufende Datensatznummer.
Rückgabewert
Maskentitelnummer
Beispiel
tn = getasktitle ("ARTI");
sepstrcpy
Definition
text sepstrcpy (text para_1, text sep)
Beschreibung
Zerlegt einen String „para_1“ mit dem Separator „sep“. Der 1. Aufruf erfolgt mit dem zu zerlegenden String. Die nächsten Aufrufe mit einem Leerstring.
Rückgabewert
Zeichenkette des zerlegten Strings para_1 oder 0 am Ende.
Beispiel
word = sepstrcpy (string, " "); while ( (ta_merk = sepstrcpy ("", " ")) != "") { if (strlen (word + " " + ta_merk) > 100) { break; } word = word + " " + ta_merk; } cellprops (A_LEFT, F_NORM, SLANT, C_FOR, C_BACK, C_LINE, L_WIDTH, 0, PREC); nextcell (cell_ypos, cell_xpos, print_width * 100, S_NORM, VSPACE); curcell = word;
cellprops
Definition
int cellprops (int align, text font, int slant, int fgcolor, int bgcolor, int bcolor, int linewidth, int prop, int floatprec)
Beschreibung
Setzt Zellenattribute für alle nachfolgenden Zellenzuweisungen. Es gibt in der Datei 'layout.ssh' bereits vorgefertigte Definements für alle Parameter.
Parameter
- align -
- 1 = Text in einer Zelle linksbündig
- 2 = Text in einer Zelle rechtsbündig
- 4 = Text in einer Zelle zentriert
- font - Fontname z.B. „Times-Roman“ - Weitere Fonts finden Sie im Verzeichnis 'formular' in der Datei 'psfonts.ssh'.
- slant - Neigungswinkel des Fonts. Wird nicht ausgwertet !!
- fgcolor - Farbe des Textes in Hexadezimaldarstellung z.B. '0xf0f8ff'. Farbdefinitionen finden Sie im Verzeichnis 'formular' in der Datei 'color.ssh'.
- bgcolor - Hintergrundfarbe der Zelle in Hexadezimaldarstellung. siehe 'fgcolor'.
- bcolor - Rahmenfarbe der Zelle in Hexadezimaldarstellung. siehe 'fgcolor'.
- linewidth -Liniendicke in n-Pixel.
- prop -
- 0 = Standardeinstellung, keine Linien um die Zelle.
- 1 = obere Linie einer Zelle darstellen.
- 2 = untere Linie einer Zelle darstellen.
- 4 = rechte Linie einer Zelle darstellen.
- 8 = linke Linie einer Zelle darstellen.
- 15 = Umrahmung der Zelle.
- 48 = Unterstreichnung des Textes.
- 64 = Darstellung eines Graphik eps-Files.
- 192 = Darstellung eines Diagramm. Das erzeugte eps-File wird gelöscht.
- 384 = Darstellung eines Barcodes. Das erzeugte eps-File wird gelöscht.
- floatprec - Anzahl Nachkommastellen bei Float-Zellen
Rückgabewert
0
makecell
Definition
int makecell (int y-pos, int x-pos, int cellwidth, int cellheight, int vertspace, int horspace)
Beschreibung
Setzt Zellenattribute für alle nachfolgenden Zellenzuweisungen. Es gibt in der Datei 'layout.ssh' bereits vorgefertigte definements für alle Parameter.
Parameter
- y-pos - y-Position (Zeile) der linken unteren Ecke der Zelle auf dem Dokument.
- x-pos - x-Position (Spalte) der linken unteren Ecke der Zelle auf dem Dokument.
- cellwidth - Zellenbreite in 1/10 mm.
- cellheight - Zellenhöhe in 1/10 mm. Diese Höhe bestimmt die Schriftgröße in dieser Zelle.
- vertspace - vertikaler Abstand zwischen Text und Zellenrand
- horspace - horizontaler Abstand zwischen Text und Zellenrand
Rückgabewert
0
Beispiel
... cellprops (A_LEFT, F_NORM, SLANT,C_FOR,C_BACK,C_LINE, L_WIDTH, 0, PREC); makecell (200, 200, 1000, 50, 10); /* oder als neuer funktionsaufruf * nextcell (cell_ypos, cell_xpos, print_width * 10, S_NORM, VSPACE); */ curcell = "Zeile_" + itoa (curline) + " Spalte_1"; ...
newpage
Definition
int newpage ()
Beschreibung
Generiert einen Seitenvorschub.
Rückgabewert
0
Beispiel
... while (curpage < 5) { cellprops (A_LEFT, F_NORM, SLANT,C_FOR,C_BACK,C_LINE, L_WIDTH, 0, PREC); nextcell (cell_ypos, cell_xpos, print_width * 10, S_NORM, VSPACE); curcell = "Zeile_" + itoa (curline) + " Spalte_1"; **//** hier muss noch eine leere Zelle kommen, damit die letzte Zelle vor dem Seitenumbruch **//** noch auf der vorherigen Seite gedruckt wird !! nextcell (cell_ypos, cell_xpos, print_width * 1, S_NORM, VSPACE); curcell = “”; newpage (); }
date2langdate
Definition
text date2langdate (int date, text lkz, text format)
Beschreibung
Wandelt einen internen Datumswert (Minuten seit 01.01.1800) 'date' in eine Zeichenkette nach angegebenem Format 'format' bzw. dem in Landeskennzeichen 'lkz' hinterlegtem Druckformat um. Wird 'format' als leere Zeichenkette übergeben, so wird die im Landeskennzeichen 'lkz' hinterlegte Druckformatangabe verwendet. Wird 'lkz' und 'format' als leere Zeichenkette übergeben, so wird das als Drucksprache angegebene Landeskennzeichen für 'lkz' verwendet.
Rückgabewert
Zeichenkette in Datumsformat
Beispiel
text datum; .... datum = date2langdate (rek.RDAT_REK_REK.m, "", "%d.%m.%Y"); /* datum im Format "dd.mm.yyyy" */ ....
langdatetodate
Definition
int langdatetodate (text indate, text lkz, text format)
Beschreibung
Ermittelt and Hand des Landeskennzeichens 'lkz' das zugehörige Datumsformat und wandelt 'indate' in ein internes Datumsformat (Minuten seit 01.01.1800) um. Ist 'lkz' nicht angegeben wird 'format' zur Analyse von 'indate' verwendet. Ist auch 'format' nicht angegeben wird die aktuelle Druckeinstellung verwendet.
Rückgabewert
Integerwert des Datums in Minuten seit 01.01.1800.
Beispiel
int datum; .... datum = langdate2date ("01.05.2000", "", "%d.%m.%Y"); /* datum im Format "dd.mm.yyyy" */ ....
flangstring
Definition
text flangstring (int num, text lkz)
Beschreibung
Gibt den sprachabhängigen Text mit der Nummer 'num' aus der Datei <IXESS_HOME>/etc/mxform zurück. Wird 'lkz' als leere Zeichenkette übergeben, so wird die aktuelle Maskensprache als Drucksprache verwendet.
Rückgabewert
Zeichenkette.
Beispiel
.... ltext = flangstring (12345, ""); ....
dateadd
Definition
int dateadd (int date, int month, int year)
Beschreibung
Addiert auf einen internen Datumswert 'date' Anzahl Monate 'month' plus Anzahl Jahre 'year' .
Rückgabewert
neuer interner Datumswert
Beispiel
.... newdate = dateadd (date, 2, 0); /* newdate = aktuelles Datum plus 2 Monate */ ....
currency2intern
Definition
float currency2intern (float value, text wkz, float faktor)
Beschreibung
Wandelt einen angegebenen Währungswert 'value' mit einem angegebenen Währungskennzeichen 'wkz' oder einem angegebenen Faktor 'faktor' in die interne Währungsdarstellung um. Wird als Faktor 'faktor' 0.0 angegeben, so wird der im angegebenen Währungskennzeichen 'wkz' hinterlegte Umrechnungsfaktor zum Berechnen des internen Währungswertes verwendet. Ist als Währungskennzeichen 'wkz' eine leere Zeichenkette angegeben, so wird die aktuelle Maskenwährung als 'wkz' verwendet.
Rückgabewert
interner Währungswert oder 0 (Fehler)
Beispiel
.... curr_internal = currency2intern (2.5, "DEM", 0.0); /* curr_internal = interne Währungsdarstellung von 2,50 DM */ curr_internal = currency2intern (2.5, "USD", 0.0); /* curr_internal = interne Währungsdarstellung von 2,50 US-Dollar */ ....
intern2currency
Definition
float intern2currency (float internal, text wkz, float faktor)
Beschreibung
Wandelt einen angegebenen Währungswert 'internal' in interner Währungsdarstellung mit einem angegebenen Währungskennzeichen 'wkz' oder einem angegebenen Faktor 'faktor' in die angegebene Währung um. Wird als Faktor 'faktor' 0.0 angegeben, so wird der im angegebenen Währungskennzeichen 'wkz' hinterlegte Umrechnungsfaktor zum berechnen des darzustellenden Währungswertes verwendet. Ist als Währungskennzeichen 'wkz' eine leere Zeichenkette angegeben, so wird die Währung aus der aktuellen Maskensprache als 'lkz' verwendet.
Rückgabewert
Landeswährungswert oder 0 (Fehler)
Beispiel
.... curr_country = intern2currency (2.5, "DEM", 0.0); /* curr_country = Landeswährungsdarstellung in DM von intern 2,50 */ curr_country = intern2currency (2.5, "USD", 0.0); /* curr_country = Landeswährungsdarstellung in US-Dollar von intern 2,50 */ ....
printcurrency
Definition
text printcurrency (float value, text lkz, int print)
Beschreibung
Wandelt einen angegebenen Währungswert 'value' in mit einem angegebenen Währungskennzeichen 'wkz' in eine Zeichenkette um. Ist als Währungskennzeichen 'wkz' eine leere Zeichenkette angegeben, so wird die aktuelle Maskenwährung als 'wkz' verwendet. Mit der Option 'print' kann die erzeugte Ausgabe gesteuert werden.
Parameter
- valueWährungsbetrag
- lkz - Landeskennzeichen
- print -
- 0 - Ausgabe der Landeswährung mit landesspezifischer Anzahl von Nachkommastellen und Appendix des Druckwährungszeichens
- 1 - Ausgabe der Landeswährung mit landesspezifischer Anzahl von Nachkommastellen ohne Appendix des Druckwährungszeichens
- 2 - nur Ausgabe des Druckwährungszeichens
- 3 - nur Ausgabe der ISO-Währungsbezeichnung
Rückgabewert
Zeichenkette der Landeswährungsdarstellung oder leere Zeichenkette (Fehler)
Beispiel
.... curcell = printcurrency (2.0, "DEM", 0); /* curcell = "2,00 DM" */ curcell = printcurrency (2.0, "USD", 1); /* curcell = "2.00" */ curcell = curcell + printcurrency (0.0, "USD", 3); /* curcell = "USD" */ ....
uxtime
Definition
int uxtime ()
Beschreibung
Gibt die aktuelle UNIX-Zeit zurück (Sekunden seit 01.01.1970).
Rückgabewert
aktuelle UNIX-Zeit
Beispiel
.... timenow = uxtime (); ....
uxtimes
Definition
int uxtimes ()
Beschreibung
Gibt die Millisekunden seit dem letzen Systemstart zurück.
Rückgabewert
Millisekunden seit dem letzen Systemstart
Beispiel
.... millis_since_boot = uxtimes (); ....
itoa
Definition
text itoa (int para_1)
Beschreibung
Wandelt einen Ganzzahlwert para_1 in eine Zeichenkette um.
Rückgabewert
Zeichenkette mit numerischem Wert para_1;
Beispiel
.... curcell = "Positionsnummer: " + itoa (rep.POS_REP_REP.m); ....
atoi
Definition
int atoi (text para_1)
Beschreibung
Wandelt eine numerische Zeichenkette in einen Ganzzahlwert um.
Rückgabewert
Ganzzahlwert.
Beispiel
.... textval = "12"; intvalue = atoi (textval); ....
ftoa
Definition
text ftoa (float para_1, int precision, int flag)
Beschreibung
Wandelt einen Floatwert para_1 in eine Zeichenkette um. 'precision' ist Anzahl der Nachkommastellen. 'flag' 0 nur mit Dezimaltrenner, 1 mit Spracheinstellung.
Rückgabewert
Zeichenkette mit numerischem Wert para_1;
Beispiel
.... curcell = "Lagerbestand: " + ftoa (ap.RBST_AP_AP.m, 2, 1); ....
atof
Definition
float atof (text para_1)
Beschreibung
Wandelt eine numerische Zeichenkette in einen Floatwert um.
Rückgabewert
Floatwert.
Beispiel
.... textval = "1.2"; floatval = atof (textval); ....
round
Definition
float round (float value, int prec, int direc)
Beschreibung
Rundet einen Floatwert 'value' auf 'prec' Nachkommastellen in Richtung 'direc'.
Parameter
- value = zu rundende Fließkommazahl
- prec = es wird auf 'prec' Nachkommastellen gerundet
- direc -
- 1 = automatisch auf- bzw. abrunden
- 2 = aufrunden
- 3 = abrunden
Rückgabewert
gerundete Fließkommazahl.
Beispiel
.... curcell = "Bestand : " + ftoa (round (ap.RBST_AP_AP.m, 2, 1), 2, 0); ....
mround
Definition
float mround (float value, int prec)
Beschreibung
Rundet eine Fließkommazahl 'value' auf 'prec' Nachkommastellen unter Berücksichtung von Rundungsfehlern vorheriger mround-Aufrufe. Zurücksetzen erfolgt durch 'value' = 0 und 'prec' = 0. Initialisierung mit einem Rundungsfehler erfolgt durch 'value' = Rundungsfehler und 'prec' = -1.
Parameter
- value = zu rundende Fließkommazahl
- prec = es wird auf 'prec' Nachkommastellen gerundet
Rückgabewert
gerundete Fließkommazahl; aktueller Rundungsfehler beim Zurücksetzen 0 beim Initialisieren
Beispiel
.... mround (0, 0); f_value = mround (3.147, 2); /* f_value = 3.15 */ f_value = mround (3.146, 2); /* f_value = 3.14 */ ....
lineprops
Definition
int lineprops (int pagebreak)
Beschreibung
Schaltet das Zeilenattribut 'pagebreak' für nachfolgende Zellenzuweisungen ein bzw. aus. 'pagebreak' erlaubt bzw. verbietet einen Seitenumbruch nach dem Drucken einer Zeile.
Parameter
- pagebreak -
- 0 = pagebreak ausschalten
- 1 = pagebreak einschalten
Rückgabewert
0
Beispiel
.... nextline (S_NORM); lineprops (0); cellprops (A_LEFT, F_NORM, SLANT,C_FOR,C_BACK,C_LINE, L_WIDTH, 0, PREC); nextcell (cell_ypos, cell_xpos, print_width * 10, S_NORM, VSPACE); curcell = "Text" nextcell (cell_ypos, cell_xpos, print_width * 10, S_NORM, VSPACE); curcell = "darf" nextcell (cell_ypos, cell_xpos, print_width * 10, S_NORM, VSPACE); curcell = "nicht" nextcell (cell_ypos, cell_xpos, print_width * 10, S_NORM, VSPACE); curcell = "umgebrochen" nextcell (cell_ypos, cell_xpos, print_width * 10, S_NORM, VSPACE); curcell = "werden" nextline (S_NORM); lineprops (1); nextcell (cell_ypos, cell_xpos, print_width * 10, S_NORM, VSPACE); ....
pagesize
Definition
int pagesize (text format)
Beschreibung
Setzt die Papiergröße für den aktuellen Ausdruck. Folgende Papierfromate werden erkannt:
- „a0“
- „a1“
- „a2“
- „a3“
- „a4“
- „a5“
- „a6“
- „a7“
- „a8“
- „a9“
- „a10“
- „archA“
- „archB“
- „archC“
- „archD“
- „archE“
- „b0“
- „b1“
- „b2“
- „b3“
- „b4“
- „b5“
- „flsa“
- „flse“
- „halfletter“
- „ledger“
- „legal“
- „letter“
- „note“
Parameter
- format - s.o.
Rückgabewert
0
Beispiel
.... pagesize ("letter"); ....
orientation
Definition
int orientation (int orient)
Beschreibung
Dreht die Ausgabe auf dem Papier gegen den Uhrzeigersinn.
- 0 - 0 Grad
- 1 - 90 Grad
- 2 - 180 Grad
- 3 - 270 Grad
Parameter
- orient - 0,1,2,3
Rückgabewert
0
Beispiel
.... orientation (2); /* erzeugt 'landscape'-Format */ ....
openrw
Definition
int openrw (text filename, int mode)
Beschreibung
Öffnet die Datei 'filename' im Modus 'mode'. Es können maximal 20 Dateien gleichzeitig geöffnet sein.
Parameter
- filename - Pfadname
- mode -
- 1 = Datei für Leseoperationen öffnen
- 2 = Datei neu anlegen und für Schreiboperationen öffnen
- 3 = Datei für Schreib- und Leseoperationen öffnen
Rückgabewert
id - Dateibeschreibungsnummer -1 - Fehler
Beispiel
.... if ( (file = openrw ("/tmp/myfile", 2)) < 0) { ret = -1; } else { if (dbopencursor (arti)) { ret = -1; } else { while (! (i = dbfetchcursor (arti))) { line = ""; line = line + arti.ART_ARTI_ARTI.m + "|"; line = line + arti.BEZ1_ARTI_ARTI.m + "|"; writeline (file, line); } dbclosecursor (arti); closerw (file); } } ....
closerw
Definition
int closerw (int file)
Beschreibung
Schließt die Datei mit der Dateibeschreibungsnummer file.
Parameter
- file - Dateibeschreibungsnummer
Rückgabewert
0 - Datei wurde geschlossen
-1 - Fehler
Beispiel
.... if ( (file = openrw ("/tmp/myfile", 2)) < 0) { return -1; } .... closerw (file); ....
fdprocopen
Definition
int fdprocopen (text command, text mode)
Beschreibung
Erzeugt eine UNIX-pipe zu dem Kommando 'command' im Modus 'mode'. Abhängig von 'mode' kann diese anschließend mit 'readline' bzw. 'writeline' bearbeitet werden.
Parameter
- filename - Pfadname
- mode -
- „r“ = 'pipe' für Leseoperationen öffnen
- „w“ = 'pipe' für Schreiboperationen öffnen
Rückgabewert
id - Dateibeschreibungsnummer
-1 - Fehler
Beispiel
.... if ( (file = fdprocopen ("/bin/ls /etc", "r")) < 0) { return -1; } while (line = readline (file)) { ... } fdprocclose (file); ....
fdprocclose
Definition
int fdprocclose (int fd)
Beschreibung
Schließen einer mit 'fdprocopen erzeugten Unix-pipe.
Parameter
fd - Dateibeschreibungsnummer
Rückgabewert
-1 - Fehler
sonst - 'exit'-status des ausgeführten UNIX-Befehls.
readline
Definition
text readline (int file)
Beschreibung
Liest die nächste Zeile aus der Datei mit der Dateibeschreibungsnummer file. Die eingelesene Zeile darf die Zeilenlänge 1023 nicht überschreiten.
Parameter
- file - Dateibeschreibungsnummer
Rückgabewert
Zeichenkette mit Zeileninhalt (leere Zeichenkette bei Fehler oder Dateiende);
Beispiel
... if ( (file = openrw ("/tmp/myfile", 1)) < 0) { ret = -1; } else { while (1) { artikelnr = readline (file); if (!strlen (artikelnr)) { break; } artikelbez = readline (file); if (!strlen (artikelbez)) { break; } arti.ART_ARTI_ARTI.s = artikelnr; if (dbopencursor (arti)) { break; } else { i = dbfetchcursor (arti); if (i) { break; } } dbclosecursor (arti); arti.BEZ1_ARTI_ARTI.m = artikelbez; ret = dbupdate (arti); if (ret) { break; } } closerw (file); } ...
writeline
Definition
int writeline (int file, text line)
Beschreibung
Schreibt eine Zeile in die Datei mit der Dateibeschreibungsnummer file.
Parameter
- file - Dateibeschreibungsnummer
- line - Zeichenkette
Rückgabewert
0 - Zeile wurde geschrieben
-1 - Fehler
Beispiel
... if ( (file = openrw ("/tmp/myfile", 2)) < 0) { ret = -1; } else { if (dbopencursor (arti)) { ret = -1; } while (!(i = dbfetchcursor (arti))) { if (writeline (file, arti.ART_ARTI_ARTI.m) < 0) { ret = -1; break; } if (writeline (file, arti.BEZ1_ARTI_ARTI.m) < 0) { rc = -1; break; } } dbclosecursor (arti); closerw (file); } ....
printdocument
Definition
int printdocument ()
Beschreibung
Startet explizit den Ausdruck eines Dokuments, gibt alle zugewiesenen Zellen frei, und setzt die Dokumentenvariablen 'curline' und 'curpage' zurück.
Rückgabewert
0 - kein Fehler
-1 - Fehler
Beispiel
/* Dokument 1 vorbereiten */ curcell = "Dokument 1"; ... /* Dokument 1 ist vorbereitet */ printdocument (); /* Dokument 2 vorbereiten */ curcell = "Dokument 2"; ... /* Dokument 2 ist vorbereitet */ printdocument (); ...
strlen
Definition
int strlen (text string)
Beschreibung
Gibt die Länge der Zeichenkette zurück.
Parameter
- string - Zeichenkette
Rückgabewert
Länge der Zeichenkette
Beispiel
.... if (strlen (arti.BEZ1_ARTI_ARTI.m)) { .... } ....
tempnam
Definition
int tempnam ()
Beschreibung
Erzeugt einen eindeutigen temporären Dateinamen.
Parameter
- keine
Rückgabewert
Dateiname
Beispiel
.... newfile = tempnam (); openrw (newfile, 2); ....
strcmp
Definition
int strcmp (text string_1, text string_2)
Beschreibung
Vergleicht die zwei Zeichenketten string_1 und string_2 lexikographisch.
Parameter
- string_1 - Zeichenkette
- string_2 - Zeichenkette
Rückgabewert
Ganzzahl
- < 0 - string_1 lexikographisch kleiner als string_2
- = 0 - string_1 ist gleich string_2
- > 0 - string_1 lexikographisch größer als string_2
Beispiel
.... if (!(strcmp (arti.ART_ARTI_ARTI.m, "ART-00001"))) { /* artikelnummer ist "ART-00001" */ .... } else { /* artikelnummer ist nicht "ART-00001" */ .... }
strncmp
Definition
int strncmp (text string_1, text string_2, int n)
Beschreibung
Vergleicht die ersten n Zeichen der zwei Zeichenketten string_1 und string_2 lexikographisch. (siehe strcmp).
getmxuid
Definition
int getmxuid ()
Beschreibung
Liefert die Benutzerkennung des angemeldeten Benutzers.
Parameter
keine.
Rückgabewert
Benutzerkennung des angemeldeten Benutzers als Integer.
Beispiel
.... uid = getmxuid (); ...
getmxlogname
Definition
int getmxlogname ()
Beschreibung
Liefert den Benutzernamen des angemeldeten Benutzers.
Parameter
keine.
Rückgabewert
Benutzernamen des angemeldeten Benutzers.
Beispiel
... username = getmxlogname (); ...
getmxhome
Definition
text getmxhome ()
Beschreibung
Liefert das 'Home'-Verzeichnis des laufenden Daemons 'mxd'.
Parameter
keine.
Rückgabewert
Verzeichnisname
Beispiel
... esshome = getmxhome (); ....
getflogo
Definition
text getflogo ()
Beschreibung
Über die Druckeinstellungen oder Benutzereinstellungen können zwei Logo-Dateien konfiguriert werden, die dazu dienen, auf der ersten bzw. allen weiteren Seiten eines Ausdrucks zu erscheinen. Die Funktion liefert den Dateinamen.
Parameter
keine.
Rückgabewert
Logodatei
Beispiel
... firstlogo = getflogo (); ....
getnlogo
Definition
text getnlogo ()
Beschreibung
Über die Druckeinstellungen oder Benutzereinstellungen können zwei Logo-Dateien konfiguriert werden, die dazu dienen, auf der ersten bzw. allen weiteren Seiten eines Ausdrucks zu erscheinen. Die Funktion liefert den Dateinamen.
Parameter
keine.
Rückgabewert
Logodatei
Beispiel
... nextlogo = getnlogo (); ....
ferrsprintf
Definition
int ferrsprintf (int num, ...)
Beschreibung
Dient zum erzeugen von Fehlermeldungen an der Benutzeroberfläche. Mit 'num' wird aus der Datei 'mxerrs' ein Format-String wie in UNIX-printf gesucht. Die weiteren Parameter müßen gemäß dieses Formats korrekt angegeben werden.
Parameter
- num - Fehlernummer aus der Datei 'mxerrs'.
- … - wie UNIX-printf
Rückgabewert
0
Beispiel
... ferrsprintf (9600, "myfile"); /* Ergebnis: "9600: Datei myfile konnte nicht geöffnet werden." */ ....
fnotesprintf
Definition
int fnotesprintf (int num, ...)
Beschreibung
Dient zum erzeugen von Notizmeldungen an der Benutzeroberfläche. Siehe 'ferrsprintf'.
callmask
Definition
int callmask (MASKEN-Variable)
Beschreibung
Springt von einem Formular in die als Prameter übergebene Maske.
ACHTUNG: Beim Sprung in die Maske erfolgt keine Abgrenzung.
Man kann versuchen mit den folgenden Zeilen eine Abgrenzung durch zuführen. Dieses funktionierte aber nicht.
bausp.ART_BAUSP_BAUSP.s = arti.ART_RTI_ARTI.m; setcurfieldselcont (bausp.ART_BAUSP_BAUSP);
Parameter
Masken-Variable
Rückgabewert
unbekannt
Beispiel
int main () { mask ARTI arti; mask BAUSP bausp;
int ret;
ret = 0;
getcurmaskcont (arti);
ret = callmask (bausp);
return ret; }
callmaskpd
Definition
int callmaskpb (Maskentitle-Nummer)
Beschreibung
Springt von einem Formular über den Maskenbaum in eine Maske mit der angegebenen Masken-Title-Nummer.
ACHTUNG: Dieser Sprung kann nur erfolgen, wenn die Maske in der NMGIVELIST angegeben wurde. Beim Sprung in die Maske erfolgt keine Abgrenzung.
Parameter
Masken-Title-Nummer
Rückgabewert
unbekannt
Beispiel
Beim Estellen von Bestandsauskunft-Daten sollen beim Aufruf aus dem Artielstamm die Sätze nach der Abgrenzung auf Lagerort, Variante und Artikelcharge erfolgtn, Betritt man die Maske Bestandsauskunft über die Auftrags-Positionen so sollen alle Werte aufsummiert nach Artikel-Nummer angezeigt werden,
ACHTUNG: Dieses funktioniert nur da beim Aufruf des Formulars atrp_button_artibestand.ssr nur ein Satz angelegt wird.
Datei atrp_mask.deh
OS_UPDATEMASK MASKNAME {
OS_NMGIVELIST OS_BEFORE OS_FIRST {
ARTIBESTAND OS_NOMPD { $ VNR _ TABNAME _ MASKNAME $, ART_ARTIBESTAND_ARTIBESTAND; $ VNR _ TABNAME _ MASKNAME $, ART_ARTIBESTAND_ARTIBESTAND, OS_TGSEL; } }
}
Datei atrp_button_bestand.ssr. Mit dem Aufruf der Funktion arti_atrp_artibestand() werden die Daten in der Tabelle artibestend geläöscht und neu angelegt.
int main () {
mask ATRP atrp; // Variable für Maske arti.def text sqlstatement; // Variable zur Aufnahme eines Sql-Statements
MC_DEBUG(LOG_NOTICE, "Start Funktion main Parameter keine");
if (getcurmaskcont(atrp)) { MC_DEBUG(LOG_ERROR, "Maske konnte nicht gesetetzt werden"); return -2; }
if (arti_atrp_artibestand(atrp)) { MC_RETURN(LOG_ERROR, 1044300, -1); }
if (callmaskpd(getmasktitle("ARTIBESTAND"))) { MC_RETURN(LOG_ERROR, 1044300, -1); }
return 0;
}