Es gibt mehrere Aufrufarten: den Dialogsprung, den Aufruf eines Lua-Skripts oder einer Expos-Funktion.
Varianten
Sprunginformation aus Dialogfeld
Bei einem Dialogsprung wird von einem Dialog (im Beispiel LB11 Wareneingang) in einen weiteren Dialog (im Beispiel EK40 Einkaufsarchiv) gesprungen. Die in LB11 eingetragenene Einkaufsnummer soll in diesem Beispiel in der Suche in EK40 vorbelegt werden.
Um die Parameter des Diaogsprungs zu bestimmen, springt man vom Dialog DDS10 aus in den Dialog DDS20.
Sprunginformation aus Dialogliste
Beispiel: Aus der Adressübersicht AD10 soll in das Kundenvorgangsarchiv VE40 gesprungen werden. Dabei soll die in AD10 selektierte Adressnummer in der Suchzeile in VE40 vorbelegt werden um somit nach Vorgängen mit der selektierten Adressnummer zu suchen.
Um die Parameter des Diaogsprungs zu bestimmen, springt man vom Dialog DDS10 aus in den Dialog DDS20.
Lua-Skripte
Um ein Lua-Skript über einen Dialogsprung aufzurufen, muss dessen Speicherort im DDS11 eingetragen und die Aufrufart auf "keine/Lua-Script" gestellt werden.
Als Aufruf-Parameter für das Lua-Skript können im DDS20 sowohl Werte aus Dialog-Feldern als auch Listen verwendet werden.
Beispiel-Skript (Ticket öffnen)
local print = SY_Proto2 local args = { ... } if #args < 2 then print( "Nicht genügend Parameter übergeben! Soll: 2, Ist: " .. #args ) return end local auart = args[1] local aufnr = args[2] print( "Auftragsart: " .. auart ) print( "Auftrags-Nr.: " .. aufnr ) -- Ticketverknüpfung ermitteln local tsvktab = SQL_Select( "SELECT tsvktab.ticketnr " .. "FROM tsvktab " .. "WHERE tsvktab.finr = " .. SysLogFinr .. " " .. "AND tsvktab.rufkz = 3 " .. "AND tsvktab.keyfeld1 = '" .. auart .. "' " .. "AND tsvktab.keyfeld2 = '" .. aufnr .. "' " ) if tsvktab then print( "Öffne Ticket " .. tsvktab.ticketnr .. " ... " ) DLG_OpenDialog( "ts11", 1, tsvktab.ticketnr ) else print( "Kein Ticket zu Auftrag '" .. auart .. "'/" .. aufnr .. " gefunden." ) end