hat sich von euch bereits jemand mit der Fiori App Custom Logic und dem Ausprägen von den dort freigegebenen BAdIs beschäftigt?
Ich bin aktuell dabei den BAdI "CRMS4_SERV_CUST_H_MODIFY" auszuprägen. Dieser kann entsprechende, per Fiori App "Custom Fields" angelegte, Felder ändern. Vereinfacht dargestellt habe ich dort eine Logik implementiert, die ein Feld vom Typ Checkbox unter bestimmten Umständen anhaken (Wert = 'X') oder wieder abhaken (Wert = ' ') soll.
Der BAdI hat eine extension_in Struktur und eine extension_out Struktur. Wenn der Umstand eintritt, dass die Checkbox angehakt werden soll, funktioniert meine Logik auch. Sollte sich aber diese Umstand bspw. nach einer User-Änderung wieder ändern, soll die Checkbox ja auch wieder abgewählt werden. Dazu initialisiere ich das Feld in meiner Logik entsprechend. Jedoch ist das Feld im Anschluss immer noch angehakt, obwohl ich es initialisiert habe. Das Initialisiern habe ich bereits mit verschiedenen Varianten wie myfield = ' ', CLEAR: myfield oder mit myfield = abap_false getestet und gedebuggt. Die Logik wird in den richtigen Momenten aufgerufen.
Es scheint nur so zu sein, dass wenn das Feld in der extension_out Struktur leer ist, dies so gewertet wird, dass das Feld nicht geändert wurde. Folglich ändert sich der Wert des Feldes nicht. Kennt jemand das Problem bzw. hat vielleicht die Lösung dazu, wie das Feld initialisiert werden kann? Es gibt keine weiteren Strukturen in dem BAdI die ich füllen kann für bspw. einen Änderungsindikator wie es sonst z.B. in BAPI_SALESORDER_CHANGE der Fall ist.