• Header exxsens Developer Blog

Tipps für die sap.m.UploadCollection

Spezielle Umsetzung bei uns

In den meisten Entwicklungsumsetzungen gibt es gewisse Anpassungen entweder aufgrund der Anforderungen oder des jeweiligen Umfeldes, in dem die finale Lösung läuft. Daher folgen hier einige Anmerkungen und aus unserer Sicht zu beachtende Punkte, die teilweise in den oben genannten Einträgen genauer erklärt werden, teilweise aber auch anders umgesetzt wurden.

  • Service mit SAP-Annotationen, NICHT vokabularbasierte Annotation!
  • Neue Entität anlegen (die anderen Einträge arbeiten zusätzlich mit Assoziationen, was nicht zwingend nötig)
  • Wichtig: Entität als "Medium" markieren
  • Redifinitionen:
    • <ihre_klasse>_MPC_EXT~DEFINE
    • <ihre_klasse>_DPC_EXT~CREATE_STREAM (Dokument speichern)
    • <ihre_klasse>_DPC_EXT~GET_STREAM (Dokument holen)
  • instantUpload der UploadCollection muss "true" sein, heißt, der Upload wird direkt nach Auswahl der Datei durchgeführt
  • x-csrf-token muss händisch mitgegeben und somit auch beschafft werden, bevor instantUpload startet!

​Die Beschaffung des Tokens ist in der Tat ungewöhnlich, wenn man an die Smart-Controls in UI5 gewöhnt ist, da diese einen Großteil der Kommunikation mit dem OData-Service/Backend übernehmen und man eben gerade nicht mehr "typische" Parameter für den HTTP-Header setzen muss. Wir beschaffen uns im onUploadCollectionChange-Event diesen Token über die praktische getSecurityToken-Methode des relevanten Models, wodurch wir diesen dann bequem als HeaderParameter anhängen können.

Selbst mit einem gültigen Token gab es noch Probleme beim Service-Request und diese hatten mit dem Profil für den Virusscan zu tun. Prüfen Sie also die Einstellungen im IMG (SAP Netweaver -> SAP Gateway -> OData Channel -> Administration -> Allgemeine Einstellungen -> Virenscanprofile festlegen) (Anleitung zur Deaktivierung: https://blogs.sap.com/2014/12/31/setting-up-virus-scan-profile-scetguiupload-in-gateway/)

Für die Umsetzung sind also einige Punkte zu beachten und dann vermutlich in den allermeisten Anwendungsfällen auch noch die CRUD-Methoden der Entität korrekt zu implementieren. Als Ergebnis erhält man aber ein Control für den Endanwender, das den Dialog für den Upload einer Datei mitbringt und daraufhin automatisch den Upload zur spezifizierten URL startet und gleichzeitig als Liste für die zugehörigen Dateien fungiert, so dass man nicht auf zwei getrennte UI-Elemente zurückgreifen muss. Abschließend noch ein Bild einer ganz schmalen Umsetzung mit Plus-Knopf zum hochladen/hinzufügen einer neuen Datei und "X" zum löschen.

Berechtigungen im SAP ERP HCM – Einrichtung und Ko...
nexus - Diagramme im Bereich Systemvermessung

Ähnliche Beiträge

Empfehlen Sie uns weiter