DDS11 (Details)

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