Hallo, ich bin seit heute neu in dem Forum, aufgrund einer Frage und hoffe, dass Ihr mir weiterhelfen könnt.
Google habe ich schon heiß laufen lassen, aber irgendwie finde ich nicht das Richtige 😑
Ich habe mich in Vergangenheit stets mit SAPUI5 beschäftigt und auch mit den oData Serivces bis zu der Grenze in der se80, wo wirklich die ABAP Entwickler ran sind.
Nun bin ich aber immer häufiger selbst an der Front und aktuell mit einem Problem konfrontiert.
Szenario:
Ich habe eine SmartTable und einen oData Service, wo ich ein einzelnes EntitySet dort anbinde. Ok, das ist ja normal, aber nun möchte ich zusätzliche Infos an das Binding übergeben (bspw. isProgramm, isCashback), die aber NICHT als zusätzliche Spalte angezeigt werden sollen.
Unter der Referenz
https://sapui5.hana.ondemand.com/1.120. ... SmartTable gibt es
ignoredFields und
initiallyVisibleFields, diese kann ich aber nicht nutzen, wenn ich in den Aggregationen Spalten und Zeilen ebenfalls definiert habe.
Deswegen habe ich jetzt diese klassischen "Attribute" in ein Complex Type ausgelagert und diese sind nicht als Spalten wählbar, aber ... es kommt nicht im Output des automatisch generierten Calls.
Sobald ein oData Call von der SmartFilterBar ausgeführt wird, ist zwar ein $select in der oData URL gefüllt, solange da aber mein "Complex Type" nicht drin ist, bekomme ich meine Attribute nicht im Output.
Frage:
Es werden eine DPC_EXT und eine MPC_EXT vom Service erzeugt.
Welche Methode müsste ich dort Redefinieren, um quasi zu erzwingen, dass bei einem bestimmten EntitySet das erhaltene select quasi immer befüllt wird? 🙄
Code: Alles auswählen.
METHOD GET_ENTITYSET
DATA(tmp) = IT_SELECT.
APPEND '<mein Compley Type>' to tmp.
...
SUPER->GET_ENTITYSET ...
Leider war mein erster Versuch, die GET_ENTITYSET Methode zu redefinieren nicht erfolgreich. Oder wenn ihr meint "das geht", vielleicht war es auch nur ein Cache, der mir noch den alten Stand geladen hat ...
Hatte ich den richtigen Ansatz oder muss ich wo anders anpacken?
Vielen Dank für eure Mühen 🙃