15.02 infra-Prozeduren (CallBacks)
infra-Prozeduren (CallBacks) sind der Auslöser für alles, was in infra:NET passiert und manuell ausgelöst werden kann. So wird zum Beispiel der Start eines infra-Programms über die Prozedur CBsExecModProc ausgelöst, sobald der entsprechende Menüeintrag oder Eintrag im infra-Explorer bedient wird. Diese Prozeduren können generell überall dort eingesetzt werden, wo Benutzeraktionen für infra:NET definiert werden. Diese sind in diesem Dokument an folgenden Stellen beschrieben:
Menüerweiterungen
Im Kapitel "Aufbau der Datei SIBPPS.INI" wird in der Sektion [MENU] beschrieben, wie eigene Menüeinträge erzeugt werden können. Dort ist der Einsatz von infra-Prozeduren am Beispiel der Prozedur "CBsExecModProc" beschrieben. Im Kapitel 15.01 infra-Makros finden Sie bei der Beschreibung des Makros "SendMail" ebenfalls ein Beispiel (Beispiel 2) zu diesem Thema.
Schaltflächen in der Symbolleiste
Im Kapitel "Aufbau der Datei SIBPPS.INI" wird in der Sektion [ToolBar] beschrieben, wie Schaltflächen in den Symbolleisten der infra-Dialoge erzeugt werden können. Dort finden Sie unter anderem Beispiele zu den Prozeduren "CBgDDEAction" oder "CBsGotoModProc". Im Kapitel 15.01 infra-Makros finden Sie bei der Beschreibung des Makros "SendMail" ebenfalls ausführliche Beispiele zu diesem Thema.
Popup-Menüs
Im Kapitel "Aufbau der Datei SIBPPS.INI" wird in der Sektion [POPUP] beschrieben, wie eigene Einträge in Popup-Menüs (rechte Maustaste) eingebunden werden können. Dort finden Sie unter anderem Beispiele zu den Prozeduren "CBsExecModProc" und "CBgLaunchProcess".
Dialogelemente in Ressourcendateien (CGWs)
Im Kapitel 05 Angaben in CGW-Dateien wird in den Sektionen [GuiCB...] und [GUIDialog] beschrieben, an welchen Stellen Prozeduren (CallBacks) in Dialogen und deren Elemente (zum Beispiel Schaltflächen, Eingabefeldern etc.) eingesetzt werden können. (Achtung: Nur für Profis!)
Alle global zugänglichen Prozeduren (CallBacks) und deren Parameter, die zum Beispiel in Menüs, Popups oder der Toolbar benutzt werden können, werden hier aufgelistet und beschrieben.
CBgCHARTAction
|
Beschreibung:
|
Mit dieser Callback kann auf ein Chart-Control zugegriffen und eine Aktion ausgelöst werden, zum Beispiel um ein angezeigtes Diagramm mit geänderten Darstellungsparametern neu zu zeichnen.
|
|
Parameter:
|
CHARTACTION_SHOWDATA = baut das Chart-Control neu auf
|
|
Beispiel:
|
In den Teilestammdaten ist ein Chart-Control im CGW eingebaut, welches beim Wechsel zwischen den Teilestammsätzen automatisch aktualisiert werden soll. Als SibDef wird bei dem Container, auf dem das Chart-Control gezeichnet wird, folgendes hinterlegt:
[infraChart]
Series=infraChart,meine111Serien
[GuiBuffer]
DDref=6,3
[GuiCBControl]
CBRefresh=CBgCHARTAction,CHARTACTION_SHOWDATA
|
CBgDDEAction
|
Voraussetzung:
|
Das Plugin INFRADDE muss installiert sein.
|
|
Beschreibung:
|
Ruft per DDE (Dynamic Data Exchange) eine Funktion in einem Prozess auf, der DDE-Nachrichten verarbeiten kann (DDE-Server). Dies sind zum Beispiel die Microsoft Office Programme wie Word oder Excel. Dabei wird eine Nachricht in das jeweilige Programm gesendet und dort verarbeitet. Ist das Programm für das die jeweilige Nachricht abgesetzt werden soll, nicht aktiv, so wird es zuvor automatisch gestartet. Eine genaue Beschreibung gibt es im Kapitel "Aufbau SIBPPS.INI" in den Sektionen [DDEServices] und [DDEActions].
|
|
Parameter:
|
DDEAction
DDEAction:Parameter
Als Parameter wird entweder nur der Name einer DDE-Aktion angegeben (siehe Sektion [DDEActions]) oder - je nach benutzter DDE-Aktion - der Name einer DDE-Aktion gefolgt von einem Doppelpunkt und zusätzlichen Parametern für die jeweilige DDE-Aktion.
|
|
Beispiel:
|
ExcelStart
führt die DDE-Aktion "ExcelStart" aus
WordFile:(%f,meintext.doc)
führt die DDE-Aktion "WordFile" aus und ersetzt dabei den Platzhalter %f in der DDE-Aktionsbeschreibung (siehe Sektion [DDEActions]) durch "meintext.doc"
|
CBgDo
|
Beschreibung:
|
Führt die angegebenen infra-Makros aus.
|
|
Parameter:
|
"(Makros)"
Hier können alle im Kapitel "infra-Makros" beschriebenen Makros angegeben werden.
Hinweis
Wenn diese Prozedur aus einer CGW, zum Beispiel über Einträge in der Sektion [GuiCBControl] oder über Menüs oder Symbolschaltflächen verwendet wird, kann durch zusätzliche Klammerung der auszuführenden Makros (siehe Beispiel) verhindert werden, dass die gewünschten Makros bereits beim Aufbau eines Dialogs abgearbeitet werden und dann nie wieder.
|
|
Beispiel:
|
"(WriteDlgField(AUF435_140_F39,"FILE(C:\gewicht.txt,T)") ) "
Liest den Inhalt der Datei "C:\GEWICHT.TXT" und überträgt ihn in das Dialogfeld AUF435_140_F39 (Gewicht).
|
CBgExportEntries
|
Beschreibung:
|
Exportiert den Inhalt des jeweiligen Objekts (zum Beispiel einer Listbox) an das angegebene Ziel.
|
|
Parameter:
|
An das angegebene Ziel wird der Inhalt des Objekts übergeben: EXCEL
Übergibt den Inhalt des Controls direkt an eine Excel-Tabelle, sofern Excel auf dem jeweiligen Arbeitsplatz installiert ist. Anwendbar auf Listboxen und Positionsbereiche.
|
|
Beispiel:
|
In einer IMA-Datei soll der Positionsbereich eines Kundenauftrags (Programm 435) nach Excel übergeben werden:
GwCore positionen = infra_find_child(frame(this),"AUF435","AUF435_R435_1_LB");
execute_callback(positionen,"CBgExportEntries","EXCEL");
|
CBgFileSelector
|
Beschreibung:
|
Öffnet einen Dateiauswahl-Dialog.
Bei dem Objekt (z.B. Eingabefeld) für das die Prozedur aufgerufen wird, muss eine [FileSelector]-Sektion mit entsprechenden Angaben als SibDef hinterlegt sein. Der ausgewählte Dateiname wird in das als „TargetID“ angegebene Feld übernommen – das muss nicht dem Objekt entsprechen, für das die Prozedur aufgerufen wurde.
|
|
Parameter:
|
keine
|
|
Beispiel:
|
Aus einer IMA-Datei soll eine Dateiauswahl gestartet werden. Die notwendigen [FileSelector]-Angaben sind beim Feld „PDV111_1_12“ hinterlegt.
GwCore feld = infra_find_child(frame(this),"PDV111","PDV111_1_12");
execute_callback(feld,"CBgFileSelector","");
|
CBgGuiFillControl
|
Beschreibung:
|
Füllt ein Control (einer Liste bzw. Auswahlliste) entweder anhand der übergebenen Parameter oder über Einstellungen in der Sektion [FillControl] (Datei SIBPPS.INI) aus der Datenbank oder einer Datei oder einer Globalvariablen. Dies kann zum Beispiel in einer IMA-Datei hilfreich sein, wenn die IMA-Datei dazu benutzt wird, ein Stammdatenprogramm zur Erfassung eines Datensatzes zu rufen, um anschließend in einer FillControl-Liste des rufenden Programms den neuen Datensatz anzuzeigen und vom Benutzer auswählen zu lassen. Durch die direkte Übergabe der Füllparameter kann der entsprechende Eintrag in der Sektion [FillControl] entfallen.
|
|
Parameter:
|
Ohne Parameter wird die jeweilige Liste anhand der Angaben in der Sektion [FillControl] (Datei SIBSPPS.INI) aktualisiert. Ansonsten entspricht die Syntax der Parameter den Einträgen in der Sektion [FillControl] (Datei SIBPPS.INI).
|
|
Beispiel:
|
In einer IMA-Datei
GWCore liste = infra_find_child(dialog111,"PDV111","PDV111_1_11");
execute_callback(liste,"CBgGuiFillControl","");
|
CBgGuiModalFrame
|
Beschreibung:
|
Zeigt einen Dialog aus einer beliebigen CGW Ressource als infra-Fenster an. Die Anzeige erfolgt modal, das heißt, solange der Dialog geöffnet ist, kann kein anderes infra-Fenster bedient werden (siehe aber "CBgGuiStartFrame"). Da mit dieser Prozedur (CallBack) kein Programm gestartet wird, muss sämtlicher eventuell auszuführender Programmcode mit der GRIT-Makrosprache in der Dialogressource hinterlegt sein. Ansonsten kann ein derartiger Dialog zur erweiterten Anzeige und/oder Eingabe von Daten in einem Programm eingesetzt werden.
|
|
Parameter:
|
CGW-Datei,Dialog-ID
Name der zu verwendenden CGW-Datei gefolgt von der durch Komma getrennten ID des zu startenden Dialogs
|
|
Beispiel:
|
meincgw.CGW,MEINDIALOG
startet den Dialog "MEINDIALOG" aus der Ressource "meincgw.CGW"
|
CBgGuiStartFrame
|
Beschreibung:
|
Zeigt einen Dialog aus einer beliebigen CGW Ressource als infra-Fenster an. Da mit dieser Prozedur (CallBack) kein Programm gestartet wird, muss sämtlicher eventuell auszuführender Programmcode mit der GRIT-Makrosprache in der Dialogressource hinterlegt sein. Ansonsten kann ein derartiger Dialog zur erweiterten Anzeige und/oder Eingabe von Daten in einem Programm eingesetzt werden (siehe auch Beispiel zu "CBgGuiStartFrame").
|
|
Parameter:
|
CGW-Datei,Dialog-ID
Name der zu verwendenden CGW-Datei gefolgt von der durch Komma getrennten ID des zu startenden Dialogs
|
|
Beispiel:
|
meincgw.CGW,MEINDIALOG
startet den Dialog "MEINDIALOG" aus der Ressource "meincgw.CGW"
|
CBgLaunchProcess
|
Beschreibung:
|
Startet ein externes Windows-Programm aus infra:NET heraus. Diese Prozedur (CallBack) kann zum Beispiel zum Starten des Windows-Taschenrechners, eines Bildbetrachters oder ähnliches benutzt werden. infra:NET arbeitet nach dem Start normal weiter.
|
|
Parameter:
|
Pfad und Programmname des zu startenden Programms.
Durch ein Leerzeichen getrennt, können auch Parameter an das zu startende Programm übergeben werden. Diese Parameter können auch infra-Makros wie DBFIELD oder LBUF enthalten.
|
|
Beispiel:
|
INI(EXTERN,RECHER)
startet das in der SIBPPS.INI in der Sektion [Extern] mit dem Schlüsselwort "Rechner=" hinterlegte Programm
INI(EXTERN,VIEWER)TRIM(DBFIELD(TEILE,Zeichnung)).tif
|
CBgLaunchProcessAndWait
|
Beschreibung:
|
Startet ein externes Windows-Programm aus infra:NET heraus. Im Gegensatz zu CBgLaunchProcess wartet infra:NET allerdings darauf, dass das gestartete Programm wieder beendet wird.
|
|
Parameter:
|
Pfad und Programmname des zu startenden Programms.
Durch ein Leerzeichen getrennt, können auch Parameter an das zu startende Programm übergeben werden. Diese Parameter können auch infra-Makros wie DBFIELD oder LBUF enthalten.
|
|
Beispiel:
|
GV(GV_winsysdir)\notepad.exe
startet den Windows Editor „Notepad“ und wartet darauf, dass dieser wieder geschlossen wird
|
CBgMimTriggerMimAction
|
Beschreibung:
|
Veranlasst ein laufendes Programm, eine bestimmte Aktion auszuführen, die in der Regel sonst durch Betätigung einer Schaltfläche oder eines Menüeintrags aktiviert wird. Diese Art eine bestimmte Aktion auszulösen betrifft nur sogenannte alte Programme, in denen noch keine Callbacks (ereignisorientierte Einsprungpunkte) implementiert sind.
Die Funktionsweise der Prozedur "CBgMimTriggerMimAction" entspricht der des Makros "MimTriggerMimAction".
|
|
Parameter:
|
"F.Function"
"F.Function,No"
"F3.Function"
"F3.Function,No"
Es wird die angegebene Funktionsnummer (F.Function) oder eine F3-Funktionsnummer (F3.Function) an das Programm übermittelt, in dessen Kontext diese Prozedur aufgerufen wird. Die Funktionsnummern entsprechen den Eintragungen in der Sektion [MimAction] eines Controls (CGW- oder SDF-Datei).
Vor der eigentlichen Aktion wird eine Feldprüfung des zuletzt verlassenen Feldes ausgeführt. Um dies bei Bedarf zu verhindern, kann hinter der Funktionsnummer "No" angegeben werden.
|
|
Beispiel:
|
"F.110,No"
Die Funktionsnummer 110 entspricht in den meisten alten infra-Programmen der Aktion "Beenden" und führt zum Verlassen des Programms. Hier wird diese Aktion ohne vorherige Feldprüfung ausgeführt.
Hinweis:
Die Prozedur wird häufig für die Registertechnik in zeilenorientierten Programmen verwendet (siehe zum Beispiel AUF435.SDF).
|
CBgPhoneCall
|
Beschreibung:
|
Diese Funktion setzt über die Windows Wählhilfe unter Verwendung der Telephony Application Programming Interfaces (TAPI) einen Telefonanruf ab. Voraussetzung ist natürlich das Vorhandensein entsprechender Hardware am jeweiligen Arbeitsplatz und die korrekte Konfiguration der Windows Wählhilfe.
|
|
Parameter:
|
Telefonnummer[,Bezeichnung]
Der erste Parameter gibt die zu wählende Rufnummer (Sonderzeichen wie / und () sind erlaubt) an. Mit dem optionalen 2. Parameter kann eine zusätzliche Bezeichnung für diesen Anruf angegeben werden, die dann im Fenster der Windows Wählhilfe angezeigt wird. Der Parameter kann natürlich infra-Makros enthalten, so dass zum Beispiel auf Datenbankinhalte zurückgegriffen werden kann.
|
|
Beispiel:
|
DBFIELD(KUNDE,Tel),DBFIELD(KUNDE,Bez)
liest Telefonnummer und Kundenbezeichnung für den Anruf aus der Kundenstammdatei. Folgende Einträge in der Datei SIBPPS.INI erlauben den Anruf eines Kunden aus dem Kundenstamm:
[ToolBitmaps]
TB_PHONE=phone
[ToolBar]
AUF411_1=TB_PHONE,"Kunde anrufen","DBFIELD(KUNDE,Tel),
DBFIELD(KUNDE,Bez)",CBgPhoneCall
|
CBgSetBitmap
|
Beschreibung:
|
Zeichnet die angegebene Grafik-Datei (zum Beispiel BMP oder JPG) auf einem Label, einem Container oder einer Schaltfläche. Das jeweilige Control muss dazu im GritEditor auf „Bitmap“- statt „Text“-Darstellung eingestellt sein. Als Pfad- und Dateiname werden auch Makros akzeptiert. In Kombination mit dem Ereignis „CBRefresh“ lassen sich so Bitmaps anzeigen, die abhängig von den aus der Datenbank oder einer Benutzereingabe zur Verfügung stehenden Daten sind.
|
|
Parameter:
|
Pfad und Name der anzuzeigenden Grafikdatei. Es sind Makros zulässig, so dass Dateiname oder Pfad z.B. per LBUF oder GV datenabhängig zusammengebaut werden kann. Ohne Pfadangabe wird die Datei im Verzeichnis .\infra\grafik\picture\win32 gesucht.
|
|
Beispiel:
|
Darstellung der in den Stammdaten hinterlegten Zeichnung in PDV111 mit eigenem Pfad. Als SibDef wird bei einem Bitmap-Label folgendes hinterlegt:
[GuiBuffer]
DDref=6,12
[GuiCBControl]
CBRefresh=CBgSetBitmap,INI(PATH,MeinOrdner)\LBUF2(6,12)
Hinweis: CBRefresh übersteuert die DDref-Angabe, das heißt, die durch CBgSetBitmap gesetzte Bitmap „gewinnt“. DDref ist aber notwendig, um CBRefresh bei einer Datenänderung auszulösen.
|
CBgSetText
|
Beschreibung:
|
Ändert den Text auf einem Label, einem Container, einem Eingabefeld, einem Text-Control oder einer Schaltfläche. Das jeweilige Control muss dazu im GritEditor auf „Text“-Darstellung eingestellt sein.
|
|
Parameter:
|
Anzuzeigender Text.
|
|
Beispiel:
|
Anzeige des Loginnamen auf einem Label ohne Buffer-Bezug:
[GuiCBControl]
CBCreate=CBgSetText,GV(GV_loginname)
|
CBgShowURL
|
Voraussetzung:
|
Das Plugin INFRAWEB muss installiert sein.
|
|
Beschreibung:
|
Zeigt eine Internetseite im infra-WebBrowser an. Falls das infra-WebBrowser-Fenster nicht aktiv ist, wird es automatisch geöffnet. Die Anzeige von Internetseiten funktioniert nur bei installiertem Microsoft Internet Explorer.
|
|
Parameter:
|
internetadresse
Als Parameter wird eine Internetadresse angegeben. Dieser Parameter kann auch infra-Makros wie DBFIELD oder LBUF enthalten, um zum Beispiel die anzuzeigende Internetadresse zur Laufzeit (zum Beispiel aus der infra-Datenbank) zu ermitteln.
|
|
Beispiele:
|
2. TRIM(DBFIELD(EKALIEF,Internet))
ruft die Internetseite, die im Feld «Internet» des zur Zeit im Zugriff befindlichen
Datensatzes aus der Tabelle EKALIEF hinterlegt ist, auf
|
CBgTICRegisterService
|
Voraussetzung:
|
Das Plugin INFRATIC muss installiert sein.
|
|
Beschreibung:
|
Registriert eine Prozedur (CallBack) mit zugehörigen Parametern beim infra-Sekunden-Timer. Prozeduren (CallBacks), die mit dieser Funktion registriert werden, werden jede Sekunde automatisch gerufen. Als Prozedur (CallBack) können zum Beispiel die hier beschriebenen Prozeduren (CallBacks) angegeben werden. In der Regel wird diese Funktion aber zum Registrieren von internen Timing-Aufgaben verwendet. Die jeweiligen registrierten Prozeduren (CallBacks) können mit der Funktion "CBgTICDeregisterService" wieder aus dem Timer entfernt werden.
|
|
Parameter:
|
Name:CallBack,Parameter
Als Parameter wird ein beliebiger (aber eindeutiger) Name gefolgt von einem Doppelpunkt und der zu registrierenden Prozedur (CallBack) und wahlweise, durch ein Komma getrennt, ein Parameter für die zu registrierende Prozedur (CallBack) angegeben. Der Parameter kann auch infra-Makros wie DBFIELD oder LBUF enthalten, um zum Beispiel die zu übergebenden Daten zur Laufzeit (zum Beispiel aus der infra-Datenbank) zu ermitteln. Die Auswertung der Makros erfolgt dann jeweils kurz vor dem nächsten Aufruf der angegebenen Prozedur (CallBack). So können zum Beispiel Synchronisationsprozesse abhängig von dynamischen infra-Daten eingerichtet werden.
Der angegebene Name wird zum Deregistrieren des Timers in der Funktion "CBgTICDeregisterService" benötigt.
|
|
Beispiel:
|
NervenTest:CBgLaunchProcess,notepad.exe
startet jede Sekunde ein neues Notepad. Viel Spaß!
|
CBgTICDeregisterService
|
Voraussetzung:
|
Das Plugin INFRATIC muss installiert sein.
|
|
Beschreibung:
|
Entfernt eine Prozedur (CallBack) beim infra-Sekunden-Timer.
Prozeduren (CallBacks), die mit der Funktion "CBgTICRegisterService" registriert wurden, werden dann nicht mehr jede Sekunde automatisch aufgerufen.
|
|
Parameter:
|
Name
Als Parameter muss der Name, der bei der Registrierung angegeben wurde, benutzt werden.
|
|
Beispiel:
|
NervenTest
entfernt die Prozedur (CallBack), die mit dem Namen "NervenTest" über die Funktion "CBgTICRegisterService" registriert wurde.
|
CBpProcessMakros
|
Beschreibung:
|
Führt die als Parameter in der GRIT-Interpretersprache angegebenen Kommandos in einem eigenständigen Thread aus. Das Verhalten entspricht dem Aufrufparameter "PROCESS=...", nur dass die auszuführenden Kommandos nicht aus einer Datei gelesen werden. Damit ist es möglich, programmierte Abläufe, zum Beispiel einen Menüeintrag oder ein Symbol in der Symbolleiste zu starten.
|
|
Parameter:
|
GRIT-Interpreterkommandos
Als Parameter wird ein Ablauf in der GRIT-Interpretersprache mit zusätzlichen infra-spezifischen Elementen (siehe Beschreibung des Aufrufparameters "PROCESS=...") angegeben.
|
|
Beispiel:
|
Close_infra(this)
Dieses Kommando beendet infra:NET.
|
CBpProcessMakroFile
|
Beschreibung:
|
Liest die angegebene Kommandodatei und führt die darin enthaltenen Kommandos in der GRIT-Interpretersprache in einem eigenständigen Thread aus. Das Verhalten entspricht dem Aufrufparameter "PROCESS=...". Damit ist es möglich, programmierte Abläufe zum Beispiel über einen Menüeintrag oder ein Symbol in der Symbolleiste zu starten.
|
|
Parameter:
|
Kommandodatei
Als Parameter werden Pfad und Dateiname einer Kommandodatei angegeben, die einen Ablauf in die GRIT-Interpretersprache mit zusätzlichen infra-spezifischen Elementen (siehe Beschreibung des Aufrufparameters "PROCESS=...") enthält. Kommandodateien können mit einem beliebigen Editor erstellt werden.
Bei fehlender Pfadangabe wird der Eintrag "IMA=pfad" in der Sektion [Path] der Datei SIBPPS.INI verwendet, um die auszuführende Datei in dem dort hinterlegten Verzeichnis zu suchen
Es können infra:NET Makros verwendet werden, um den Dateinamen oder Pfad der auszuführenden IMA-Datei zur Laufzeit zu konstruieren.
|
|
Beispiel:
|
Der folgende Eintrag bewirkt das Ausführen der BEISPIEL.IMA beim Verlassen eines Felds. Einbau in der Funktionen des Felds im entsprechenden Dialog der CGW:
[GuiCBControl]
CBFocusOut = CBpProcessMakroFile,BEISPIEL.IMA
Über Makros kann der Name einer IMA-Datei z.B. abhängig vom Inhalt einer Globalvariablen bestimmt werden. Bitte die zusätzlichen Klammern (…) beachten, um zu verhindern, dass die angegebenen Makro-Ausdrücke nur einmalig beim Laden einer CGW aufgelöst werden:
[GuiCBControl]
CBActivate = CBpProcessMakroFile,(GV0(GV_meineIMA).IMA)
|
CBsCallModProc
|
Beschreibung:
|
Startet ein infra-Programm modal als Kind des Programms, aus dem heraus diese Prozedur (CallBack) aufgerufen wird und friert das rufende Programm in seinem aktuellen Zustand ein. Nach Beenden des gerufenen Programms wird im rufenden Programm die Arbeit fortgesetzt.
|
|
Parameter:
|
3-stelliger Ident (Menükennung) des zu startenden Programms. Im Anschluss an die Menükennung können durch einen Doppelpunkt (:) getrennte Werte übergeben werden, die vom aufzurufenden Programm als GV_startupdata verarbeitet werden.
|
|
Beispiel:
|
732
startet das Programm "732 Einkaufsbelege drucken"
711:/Startupmode:Create
startet das Programm "711 Lieferantenstamm bearbeiten" im Erfassungsmodus
|
CBsExecModProc
|
Beschreibung:
|
Startet ein infra-Programm als Kind des Programms, aus dem heraus diese Prozedur (CallBack) aufgerufen wird. In der Regel wird diese Prozedur (CallBack) aus dem Menü des infra-Hauptfensters oder aus dem infra-Explorer aufgerufen, um ein infra-Programm zu starten.
|
|
Parameter:
|
3-stelliger Ident (Menükennung) des zu startenden Programms
|
|
Beispiel:
|
111 startet das Programm "111 Teilestamm bearbeiten"
|
CBsGotoModProc
|
Beschreibung:
|
Startet ein infra-Programm und beendet gleichzeitig das Programm, aus dem heraus diese Prozedur (CallBack) aufgerufen wird. Diese CallBack-Funktion kann zum Beispiel zur Realisierung eines Workflows über verschiedene infra-Programmstationen verwendet werden.
|
|
Parameter:
|
3-stelliger Ident (Menükennung) des zu startenden Programms
|
|
Beispiel:
|
463 startet das Programm "463 Rechnungen drucken"
|
CBsINFRAQueryStart
|
Beschreibung:
|
Erlaubt den direkten Aufruf von infra:query mit Angabe der zu startenden Abfrage. Damit kann zum Beispiel über Menü, Schaltfläche oder Symbolleiste eine ganz bestimmte Auskunft einfach aufgerufen werden.
|
|
Parameter:
|
QUERY:querynummer
Als querynummer wird die Verwaltungsnummer der gewünschten Abfrage angegeben, die im Auswahlfenster für jede Abfrage angezeigt wird. Beispielsweise ruft "QUERY:041101001" die Standard-Auskunft zum Kundenstamm auf.
/RUN
Führt die aufgerufene Abfrage sofort aus. Ohne /RUN startet die Auskunft mit dem Selektionsteil der Abfrage.
|
|
Beispiel 1:
|
[ToolBar]
AUF435=SBP_S_AUSKUNFT,"Auskunft direkt","QUERY:03802001/RUN",CBsINFRAQueryStart
In AUF435 ist die Abfrage "Kundenauftrag nach Kundennummer" (03802001) damit zu jeder Zeit für die Symbolleiste erreichbar und liefert immer alle Aufträge zum aktuellen Kunden, denn die Auskunft benutzt die aktuelle Kundennummer als Vorbelegung für von/bis-Kunde.
|
|
Beispiel 2:
|
Definition eines eigenen Dialogs, der zum Beispiel im Hauptfenster über Menü und/oder Symbolleiste aufgerufen werden kann (siehe Beispieldialog IQUEXT.CGW im Screen-Verzeichnis) und Schaltflächen enthält, über die ausgewählte Auskünfte gestartet werden können.
[MENU]
SIBPPS_MAIN.1=3,INI(MENUIQU,MAIN_3)
[MENUIQU]
MAIN_3={
&Auskünfte,,"IQUEXT,IQUEXT",CBgGuiStartFrame
}
Im übrigen siehe Eintrag bei Schaltfläche im Dialog IQUEXT zum Start der Auskunft (CBactivate-Angabe).
|
|
Beispiel 3:
|
In der Kundenauftragsverwaltung ("435 Aufträge bearbeiten") kann die Auskunft "Kundenauftrag nach Kundennummer" (03802001) automatisch aufgerufen werden, sobald der Focus im Änderungsmodus nach Eingabe der Kundennummer auf das Feld «Auftragsnummer» geführt wird. Dazu ist folgender Eintrag für das Feld «Auftragsnummer» (beim Ereignis CBCreate) in der CGW in der Sektion [GuiCBControl] erforderlich:
CBFocusIn=CBsINFRAQueryStart,"QUERY:03802001 /RUN"
|
|
Beispiel 4:
|
Einbau der Lieblingsauskünfte in den Explorer:
In der Datei SIBPPS.MEN sind dazu folgende Einträge erforderlich, zum Beispiel nach Zeile für Anwendungsbereich 900:
"&Lieblingsauskünfte",,
{
"&1 Teil nach Teilenummer", ,QUERY:00601001 /RUN, CBsINFRAQueryStart
"&2 Teil nach Klassifizierung", ,QUERY:00602001 /RUN, CBsINFRAQueryStart
"&3 Kunde nach Kundennummer", ,QUERY:04101001 /RUN, CBsINFRAQueryStart
"&4 Kunde nach Suchbegriff", ,QUERY:04102001 /RUN, CBsINFRAQueryStart
}
|
