meine Frage heute lautet: Ich habe einen Sub-Prozess mit drei Datenbankenanfragen. Jede dieser drei Abfragen selektiert bestimmte Werte aus der Datenbank.Im Anschluss an die Anfragen sollen die selektierten Werte in einem Benutzerformular ausgegeben werden. Mein Problem ist nun, dass das ohne den Sub-Prozess kein Problem ist. Wenn ich jedoch die Datenbankenanfragen in einen Sub-Prozess lege, dann kann ich über den Datenmapper nicht mehr auf die Response-Werte zugreifen... Im Anhang ist der Ausschnitt aus meinem BPD.
Wär super wenn mir jemand bei meiner Frage helfen könnte. Vielen Dank und Grüße aus dem verregneten Gummersbach, Christopher
The administrator has disabled public write access.
Ein Subprozess wirkt wie ein Scope der innere Werte kapselt.
Um das zu umgehen sollten sie eine poolweite Variable anlegen (außerhalb des Subprozesses) und am Ende des Subprozesses ihre Werte dort hineinschreiben.
Gruß
The administrator has disabled public write access.
Hallo Herr Böhm, vielen Dank für die schnelle Antwort. An diese Lösung habe ich bereits gedacht, jedoch gibt es auch hierbei (zumindest für mich) ein Problem. Da die Rückgabewerte der Select-Anfragen mehrere Werte umfassen und diese in einer dynamischen Liste dem Formularfeld übergeben werden, kann ich das nicht in einer Prozessvariable übergeben. Sehe ich das so richtig?
Die Ergebnisse der Select-Anfrage werden über die Funktion "bpel:doXslTransform()" in einer XML-Datei abgelegt und dann an die Liste des Formulars übergeben. Eine Selekt-Anfrage gibt beispielsweise 100 Werte zurück, die die Liste des Formularfelds dann enthält. Wahrscheinlich nicht der eleganteste Weg, jedoch in meinem Fall zielführend.
Falls es die Möglichkeit zur Anlegung eines Arrays in der Datenstruktur des Workflows gibt, in der die Ergebnisse der SQL-Abfrage gespeichert werden und später in einer dynamischen Liste ausgegeben werden können, dann würde das mein Problem ja eigentlich beheben.
Viele Grüße, Christopher
The administrator has disabled public write access.
Im Extremfall können sie ein Any-Element anlegen. Oder sie bilden die Struktur nach bzw. kopieren die sich aus einer Beispielantwort von dem doXSLTransform.
Gruß
The administrator has disabled public write access.
Hallo Herr Böhm, ich habe mich nun über die von Ihnen vorgeschlagenen Lösungen informiert und kann leider keine dazugehörige Hilfe finden. Gibt es über die von Ihnen vorgeschlagenen Lösungen irgendwelches Informationsmaterial was ich mich ansehen könnte?
Ansonsten werde ich a la try&error versuchen die von Ihnen vorgeschlagene Lösung zu entwickeln. Vielen vielen Dank und Grüße, Christopher
The administrator has disabled public write access.
xsd anlegen Element anlegen und dann auf das Element rechts klicken und "Set Type > New..." wählen. Hier einen "Complex Type" wählen und "Create as local anonymous type" anwählen. Jetzt auf das erstellte Element doppelklicken. Zu sehen ist jetzt links ihr Element und rechts eine (noch) leere Liste mit dem Namen "(IHRELEMENTType)" Hier mit der rechten Maustaste mehrere Unterelemente erstellen (ist beliebig verschachtelbar - also auch weitere ComplexTypes) ODER eben ein "Add Any" auswählen.
Datei Speichern und Wurzelelement in den Pool ziehen. Daraufhin haben sie mehrere Element in ihrem Element.
Gruß
The administrator has disabled public write access.