ich habe hier eine Anwendung in der Entstehung, bei der sich Stücklisten per Drag and Drop in einem Baum anlegen lassen. An den einzelnen Stücklistenpositionen soll es nun möglich sein einen Langtext zu pflegen.
Dazu habe ich im Moment die FuBa's
- INIT_TEXT
- READ_TEXT
- EDIT_TEXT und
- SAVE_TEXT
Jetzt zu meinem Problem: Ich habe die Funktionsweise der Bausteine so verstanden, dass die Texte (gepflegt per EDIT_TEXT) intern im Memory gehalten, aktualisiert und letztlich auch gespeichert werden. Es ist ja auch so dass der Baustein CSAI_BOM_MAINTAIN intern auch die Funktion SAVE_TEXT und COMMIT_TEXT aufruft.
Es ist mir leider bisher nicht gelungen diese interne Funktionsweise für mich nutzbar zu machen. Das fängt schon damit an, dass ich ja immer einen korrekten Header brauche wenn ich einen Text editieren will. Den könnte ich mir zwar per INIT_TEXT erstellen, aber ich weiß nicht wie ich den dann beim speichern der Projektstückliste per Baustein wieder nutzen kann, um meinen Text wieder zu finden. Kann mir dazu jemand weiter helfen?
Was ich stattdessen mache:
- Text lesen, falls vorhanden (READ_TEXT)
- Textheader erstellen, falls kein Text für Stücklistenposition vorhanden
- Text ändern und Rückgabe von EDIT_TEXT (Texttabelle + Header) an Objektinstanz zur Stücklitenposition speichern
- Nach dem speichern der Stückliste (CSAI_BOM_MAINTAIN) Texte mit SAVE_TEXT speichern
Bei dieser Variante habe ich allerdings das Problem, dass ich einen eindeutigen Bezug zwischen den gespeicherten Stücklistenpositionen (Zeilen aus der STPO) mit meinen Objektinstanzen herstellen muss. Da liegt auch mein Problem begraben: Ich habe bisher keine Möglichkeit gefunden beides in Bezug zu setzen.
Die Schlüsselfelder der STPO gehen jedenfalls nicht, da in meinen Objekten ungültige Werte dafür stehen - Grund: Vor dem Anlegen/Aktualisieren der Stückliste haben diese Objekte andere Attributwerte für diese Attribute.
Es wäre super wenn mir jemand bei dem Problem weiterhelfen könnte. Gerne auch zu beiden Varianten.
Gruß
alpe