ich habe da doch erhebliche Probleme mit der Umstellung. Hauptsächlich mit "Lookup Listen" wenn diese etwas komplizierter im Constain sind. Hauptproblem dabei ist, daß alle Dateien während "Procedure Activating" mit Hilfe von "Procedure Clear_Main_File" auf 0 stehen - Das ist Neu!. Unterbindet man das, verändert sich der recordbuffer dieser Datei beim erneuten Aufruf nicht.
Also ich sitze an diesem Problem seit 2 Tagen und kann es nicht glauben. Das muß doch dafür eine einfache Lösung geben.
Ralf
03.06.2010 22:54
Matthias
Super Moderator
Dabei seit: 09.07.2007
Beiträge: 233
Einsatzart von VDF: gewerblich Anwenderstatus: VDF-Entwickler Herkunft: Niedernhausen Betriebssystem: XP, Vista, Win7, 2008 Ser
Ich habe in einer dbList noch nie die Notwendigkeit gehabt, mit "Procedure Clear_Main_File" etwas zu tun.
Es wäre sicherlich hilfreich, hier etwas mehr Quelltext darzustellen, dann haben vielleicht auch andere eine Idee, was das Problem ist und wie eine Lösung aussehen könnte.
Kommenden Dienstag (8.6.2010) ist der nächste Support Workshop, dort könnte man sich das Problem direkt ansehen.
Viele Grüße
Matthias
04.06.2010 14:49
Ralf
Eroberer
Dabei seit: 30.03.2008
Beiträge: 60
Themenstarter
Also der Aufruf der LookupList erfolgt mit folgendem Aufruf dabei sind die Dateien: AUFIN_a2 und AUFNCAa1 geöffnet und auf entsprechendem Datensatz positioniert.
// Lookuplist
. Procedure Fremdla1Constraint String sLeisungArt Integer iVorgang_Nr
. Set psLeistungArt to sLeisungArt // Hier wird die Property des aktuellen Objekts gesetzt
. Send Rebuild_Constraints of oFremdla1_DD // und damit wird dann "constrained"
. End_Procedure
// dd in Lookuplist
. Object oFremdla1_DD is a Fremdla1_DataDictionary
. Set DDO_Server to oAUFIN_a2_DD
. Set Constrain_File to AUFIN_a2.File_Number
. Procedure OnConstrain
. String sLeistungArt
. Get psLeistungArt to sLeistungArt
. Constrain FREMDLa1.Leistung_art eq sLeistungArt
. End_Procedure
. EndObject
bis Ende 1. stimmt alles
mit 2. "Forward send Prompt" stehen dann alle Dateien auf recnum 0 . Ich habe das mit dem Debugger verfolgt. Der Clear kommt dann während der Procedure_Activating im "Datadict.pkg" mit "Prodcedure Clear_Main_File.
alle diese Aufrufe funktionieren unter VDF 14.0 einwandfrei. Muß hier unter 15.1 evtl eine Property gesetzt sein ?
Ralf
05.06.2010 08:21
Matthias
Super Moderator
Dabei seit: 09.07.2007
Beiträge: 233
Einsatzart von VDF: gewerblich Anwenderstatus: VDF-Entwickler Herkunft: Niedernhausen Betriebssystem: XP, Vista, Win7, 2008 Ser
Zum Setzen der Constraints würde ich nicht die Prozedur Prompt erweitern, sondern die Schnittstellen-Prozedur Prompt_Callback. Das hat den Vorteil, das zu diesem Zeitpunkt die Liste bereits existiert. (Dann kann man auch mit Deferred-Creation arbeiten).
code:
1:
2:
3:
4:
5:
Procedure Prompt_Callback Integer hPrompt
Send Fremdla1Constraint of hPrompt "Z"
End_Procedure
Die Prozedur, die die Filter setzt, muss nach dem Rebuild_Contraints auch ein Beginning_Of_Data zur Liste schicken, damit diese neu aufgebaut wird.
code:
1:
2:
3:
4:
5:
6:
7:
Procedure Fremdla1Constraint String sLeisungArt Integer iVorgang_Nr
Set psLeistungArt to sLeisungArt
Send Rebuild_Constraints of oFremdla1_DD
Send Beginning_of_Data of odbList //Neuaufbau der Liste
End_Procedure
Zu Problemen kann es meiner Meinung nach durch das Parent-Contraint kommen. Hier ist zu prüfen, ob das "Set Constrain_File" notwendig ist. Ich vermisse ansonsten eine Suche auf den Parent.
Ansonsten können wir uns das gerne morgen (8.6.2010) in Friedrichsdorf anschauen.
Matthias
07.06.2010 09:19
Ralf
Eroberer
Dabei seit: 30.03.2008
Beiträge: 60
Themenstarter
Das MainFile wird geöffnet übergeben dadurch ist kein neues manuelles finden nötig. Funktioniert bei Übergabe an eine SelList (modal_Panel) einwandfrei.
So das Problem ist gelöst:
in der dbList fehlte der Befehl:
Set Server to oFremdla1_DD
in VDF 14.0 läuft das seltsamerweise problemlos!
auf jeden Fall kommen in 15.1 einige "Unsauberkeiten" hoch die in 14.0 noch durchgingen.