2016-03-29 9 views
0

Gibt es Möglichkeiten (außer Ersetzen), Werte mit Sonderzeichen in xsodata InputParameters zu übergeben?Sap Hana xsodata InputParameter-Wert mit einfachem Anführungszeichen

Ich versuchte Anfrage wie zu machen: 'O'Neal' ../ODATA_SEARCH.xsodata/InputParams(IP_TERM=)/Ergebnisse $ format = json

bekam aber einen Fehler: { " error ": {" code ":" "," Nachricht ": {" lang ":" en-US "," value ":" Syntaxfehler im Ressourcenpfad an Position 66. "

Wenn ich Verwenden Sie doppelte Anführungszeichen: ODATA_SEARCH.xsodata/InputParams (IP_TERM = 'O''NEAL')/Ergebnisse? $ format = json

bekamen eine Fehlermeldung:

{ "Fehler": { "Code": "", "message": { "lang": "en-US", "Wert": „Service Ausnahme: [2048] Spalte Speicherfehler "}}}

Aber Dopplung funktioniert, wenn ich Ansicht direkt über SQL-Skript oder" Datenvorschau "aufrufen.

Antwort

0

Sonderzeichen in URLs können und müssen manchmal% -codiert sein wie% 20this. Aber für den Apostroph (%27) in der ODATA URI, das wird nicht funktionieren:

...ms(IP_TERM='O%27Neal')/Results?$for... 

noch einen Syntaxfehler erzeugen.

Stattdessen werden einfache Anführungszeichen in ODATA-URIs nur durch Verdoppelung abgeleitet. Verwenden Sie es wie folgt:

...ms(IP_TERM='O''Neal')/Results?$for... 
+0

Ich versuchte zu verdoppeln. Es funktioniert nicht. (Spaltenspeicherfehler). Aber für calc. View Execution Anführungszeichen funktioniert einwandfrei. Hana Version 1.00.85.03.400544 –

+0

Können Sie bitte die Frage mit dem Wortspalte Fehler im Spaltenspeicher aktualisieren? – flaschbier

+0

ODATA_SEARCH.xsodata/InputParams (IP_TERM = 'O''NEAL')/Ergebnisse? $ Format = json {"Fehler": {"code": "", "message": {"lang": "en US "," value ":" Service-Ausnahme: [2048] column store error "}}} Aber es funktioniert, wenn ich direkt über SQL-Skript oder" Datenvorschau "aufrufen. –

0

Wir Parameter als base64 String zu übergeben entschieden, und dekodieren, als es im Blick: BASE64_DECODE (: IP_TERM)

+0

Ich würde vorschlagen, dass Sie dafür ein Ticket bei SAP einreichen. – flaschbier