Tokyo Discussions
都市の垣根なく、日本語でQ&Aできます
cancel
Showing results for 
Search instead for 
Did you mean: 

Integration FlowでS/4HANA Onpremiseの標準APIを呼び出す方法

nao_ito
Explorer
0 Kudos
1,315

Cloud IntegrationでIntegration Flowを作成中にエラーが発生し困っております。

下記内容をご相談させていただけると幸いです。

背景:Integration Suiteの勉強をしており、その一環としてCloud Integrationで購買発注伝票の標準APIを呼び出すIntegration Flowを作成したいと考えております。

不具合現象:Request ReplyからReceiverに矢印(OData V2)を伸ばし、Connectionタブの設定を行いました。その後、ProcessingタブでResource Path > Addressを設定しようとしたところ「Failed to Connect to system」というエラーメッセージが表示されます。

エラー発生手順1.PNGエラー発生手順2.PNGエラー発生手順3.PNG

試したこと:AddressのURLの末尾に"?sap-client=xxx"を付与するとエラーが消えることが下記ブログで分かり試しました。

システムへの接続に失敗しました:SAPのOdataレシーバアダプタ|SAP コミュニティ

ただし、この方法だとDeploy後にエラーが発生してしまいます。

デプロイ後エラー.PNG

エラーメッセージ:com.sap.it.rt.adapter.http.api.exception.HttpResponseException: An internal server error occured: Not Acceptable : 406 : HTTP/1.1 . The MPL ID for the failed message is : AGS-PNcTLIbdl7rJMroaijd49nru

エラーメッセージからNoteを調べると、URLの末尾にsap-clientを入れないようにと記載されていました。

3167959 - エラー:\" Error : (406) Not Acceptable [HTTP/1.1 406 Not Acceptable]\" が表示される (OData データストアの接...

このような場合の解決方法をご存じの方がいらっしゃいましたらご教示いただけませんでしょうか?

以上、よろしくお願いいたします。

3 REPLIES 3

masa_139
Product and Topic Expert
Product and Topic Expert
1,272

S/4HANA 側の SICFトランザクションで、該当の OData を編集モードにして Client を指定するのはどうでしょうか?デフォルトはブランクになっていると思います。

masa_139_0-1690255718887.png

 

MakotoS
Product and Topic Expert
Product and Topic Expert
1,267

該当のNoteはSAP Cloud Integration for data serviceのものなので、Integration SuiteのCloud Integrationとは別の機能になります。また、for data serviceのほうも、1.0.11.5148のバージョンはすでにリリースされています。

よくある間違いとしては、Query Stringをつけるときに二回以上?をつけてしまうというものがあります。
Query Stringの初回は?で始まるのですが、2個目以降を繋ぐときは&でつなぎます。
今回?$select=purchaseorderのように初回の?が指定されているので、最後にクライアントを指定したい場合は&sap-client=XXXのようにしてつないでみてください。

 

nao_ito
Explorer
0 Kudos
1,248

@masa_139 さん @MakotoS さん
ご回答ありがとうございます。
おかげさまで解決しましたので、原因と解決方法を共有させていただきます。

原因:ODataのLogon Dataが指定されていた(Tr-cd:SICF)。
デフォルトはLogon Dataがブランクになっているはずだが、使用している環境ではなぜかClientが設定されたいた。

エラー原因.PNG

解決方法:編集モードでLogon Dataをブランクに修正したところエラーが表示されずS/4HANA Onpremiseと正常に疎通することができた。
(Client718が指定されていたためBTPとS/4HANA Onpremiseを繋ぐCloud ConnectorのDestinationあたりで疎通がうまくいかなかった...?)

 

勉強を始めたばかりでQuery Stringの設定などもあまり分かっていなかったので、今後はそちらも気を付けながら設定してきたいと思います。

本件これにてクローズさせていただきます。

以上、よろしくお願いいたします。