2017-12-15 4 views
2

メタデータをODataサービスエンドポイントに取得しようとしています。私はエンティティ自体に興味はありませんが、メタデータはこの特定のエンティティにテザリングしています。S/4HANA Cloud SDKでは、ODataの実際のエンティティではなくメタデータを取得できますか?

useMetadata(Boolean boolean)メソッドがありますが、デフォルトでtrueに設定されていて、何もしないようです。

クラウド接続sdkはこの機能をサポートしていますか?

現在使用しているライブラリはcom.sap.cloud.sdk.odatav2.connectivity.ODataQueryBuilderです。

EDIT:
ユースケースは、私のチームは現在、検討し、S/4HANAに、プロバイダからのデータ移行プロセスを自動化するアプリを開発しているということです。メタデータから取得した設定がベストプラクティスの矛盾を示し、データ複製プロセスに問題が発生する可能性がある場合は、修正プログラムを適用するようにユーザーに指示するメッセージが表示されます。この設定は、OData APIのエンティティではなく、メタデータを通じて公開されます。例えばについては

:顧客はS/4HANAにFOCustomerレコードを移行したい場合、彼または彼女が12FormalNameプロパティのMaxLengthを設定することも、あるいはデータの整合性が先に損なわれる可能性がありますシステム。私たちは、お客様のエントリに興味がない、または何がFormalNameに実際にあるが、構成などのメタデータドキュメントエントリとしてのOData APIで公開されたソースシステムで設定され、顧客、:

<Property Name="name_defaultValue" Type="Edm.String" Nullable="true" sap:required="false" sap:creatable="true" sap:updatable="true" sap:upsertable="true" sap:visible="true" sap:sortable="true" sap:filterable="true" MaxLength="32" sap:label="Name"></Property>

この場合、の代わりにが32に設定されます。このログはログに記録され、お客様に今後の対応のために参照されます。

以前は、この目的でOlingoを使用しました。 S/4SDKは、一見合理化されたソリューションを提供しているように見えるので、評価しています。

+1

あなたは何をしようとしているのか、メタデータを必要としているのかを少し詳しく説明できますか? – Benjamin

+1

@Benjamin私はユースケースにもう少し詳細を追加しました。それは少し物事をクリアすることを望む。乾杯。 –

答えて

5

ODataQueryBuilderは、スタンドアロンメタデータの取得をサポートしていません。メタデータはフードの下でのみ使用されるため、useMetadata()はあなたのユースケースに役立ちません。

final String destinationUriString = DestinationAccessor.getDestination("ErpQueryEndpoint").getUri().toString(); 
final HttpClient httpClient = HttpClientAccessor.getHttpClient("ErpQueryEndpoint"); 
final URI uri = new URI(destinationUriString + "/sap/opu/odata/sap/NAME_OF_THE_API/$metadata"); 
final HttpResponse httpResponse = httpClient.execute(new HttpGet(uri)); 

これは、あなたができるようにする必要があります。

しかし、あなたはメタデータを取得したいから先は、次の(この例では、私の目的地の名前はErpQueryEndpoint)を行うことができますセットアップを持っていることを考えるとメタデータをXML形式で取得します。あなたはまだOlingoを使ってそれを解析する必要があります。

現在、スタンドアロンメタデータの取得はサポートしていません。 しかし、ご希望の場合は、public GitHub pageで問題を開くことができますので、今後これを考慮する可能性があります。

これがあなたの質問に答えるか、さらに質問があれば教えてください。

+1

本当にありがとうございました!メタデータの取得は私たちのシナリオでは役に立ちますが、私はそれが限界的なユースケースではないと信じがちです。私は指示されたようにリンクに機能要求を提出する。 –

+1

ところで、目的地に関しては、タイムライン上のCFの非試用サブアカウントで目的地を有効にしていますか?ありがとうございました! –

+1

@ChuningSong:SAP Cloud Cloud Foundryの宛先サービスは、すでにベータ版として既に利用可能です([help](https://help.sap.com/viewer/cca91383641e40ffbe03bdc78f00f681/Cloud/en-US/7e306250e08340f89d6c103e28840f30.html)) 。また、SAP S/4HANA Cloud SDKによってもサポートされています。 –

関連する問題