Erweiterndes Kuali Document Business Objekt

8

Ich stehe vor einem Problem mit erweiterten Attributen in einem Dokument (versucht, eine Dokumententabelle zu erweitern). Ich habe die PK der ursprünglichen Tabelle (FDOC_NBR) in der erweiterten Tabelle erstellt und die beiden über einen Fremdschlüssel des OJB-Eintrags der angepassten Originaltabelle verknüpft (als "Erweiterungs" -Referenz-Deskriptor). Ich habe bo und dd für die Erweiterung erstellt und die DD des Originaldokuments angepasst, um die neuen Attribute hinzuzufügen. Auf dem erweiterten BO selbst habe ich auch Mitglieder (mit Setter und Getter) für die 2 neuen Spalten + für die PK-Spalte von documentNumber hinzugefügt. Ich fügte auch die neuen Attribute dem jsp des Dokumentes hinzu. Die entsprechende Moduldefinition wurde bereits um benutzerdefinierte dd-, ojb-, usw. Dateien erweitert.

Tatsächlich werden beim Öffnen des Dokuments die neuen Felder angezeigt. Beim Versuch, das Dokument einzureichen (obwohl ich nichts mit den neuen Feldern zu tun habe), erhalte ich einen Fehler -

  

Fehler Details: OJB Betrieb; SQL []; ORA-01400: kann NULL nicht einfügen   in ("KFSTEM". "TEM_TRVL_ARRANGER_DOC_EXT_T". "FDOC_NBR"); verschachtelt   Ausnahme ist java.sql.SQLIntegrityConstraintViolationException:   ORA-01400: kann NULL nicht einfügen   ("KFSTEM". "TEM_TRVL_ARRANGER_DOC_EXT_T". "FDOC_NBR")

Scheint so, als ob das System versucht, einen Wert von NULL in das PK-Feld der Erweiterung anstelle der eigentlichen Dokumentnummer einzufügen. Wenn ich versuche, dies zu debuggen, in der route-Methode der Aktion und bis hinunter zu DocumentDaoOjb.save (was so weit wie möglich ist), sehe ich, dass das Dokument mit der echten doc-Nummer weitergegeben wird, also scheint das Problem rein zu sein mit ojb versucht, diese Nummer auf die Erweiterungstabelle zu setzen.

Hat jemand Erfahrung mit erweiterten Attributen von Dokumenten, die dazu beitragen könnten, etwas Licht ins Dunkel zu bringen?

    
Ailish Byrne 13.08.2014, 16:35
quelle

1 Antwort

5

KFS verwendet das KNS, und im Kuali-Nervensystem muss der Primärschlüssel für das erweiterte Attributobjekt durch manuelle Intervention gesetzt werden.

In diesem Fall sieht es so aus, als ob Sie einem Transaktionsdokument, dem Travel Arranger-Dokument (TAA), ein erweitertes Attribut hinzufügen, das die Dinge vereinfacht. Im Grunde müssen Sie org.kuali.kfs.module.tem.document.TravelArrangerDocument erweitern und prepareForSave überschreiben, um die Dokumentnummer dort festzulegen (sie kann bereits festgelegt sein, da prepareForSave während des Routing-Prozesses mehrmals aufgerufen werden sollte, aber es gibt kein wirklicher Schaden durch das Überschreiben dieser Informationen, da die Nummer des Basisdokuments dieselbe bleibt).

Hoffe, das hilft!

    
James Smith 14.08.2014, 15:53
quelle

Tags und Links