日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ABAP中接收.NET语言byte[]类型返回值问题

發布時間:2025/3/20 asp.net 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ABAP中接收.NET语言byte[]类型返回值问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在公司自開發的一個項目中,使用了.NET編寫的視頻監控控件。控件提供了CutBytePicture接口函數用于截取視頻圖片,返回圖片字節流。.NET函數原型如下:

public byte[] CutBytePicture();

按SAP官方文檔(RFC To .NET Data Type Mapping),byte[]類型參數應該使用X,RAW類型來接收返回值.

所以,我在ABAP中,使用XSTRING類型的RESULT參數來獲取數據,如下。

METHOD CUT_BYTE_PICTURE.
CALL METHOD CALL_METHOD
EXPORTING
METHOD = 'CutBytePicture'
IMPORTING
????? RESULT = RESULT.
CALL METHOD CL_GUI_CFW=>FLUSH
*??? exceptions
*????? cntl_system_error = 1
*????? cntl_error??????? = 2
*????? others??????????? = 3
? .
IF SY-SUBRC <> 0.
*?? MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*????????????? WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
RAISE ERROR_CNTL_CALL.
? ENDIF.
ENDMETHOD.

但是,雖然sy-subrc的值一直為0,但RESULT總接收不到數據,后來我將參數改成X、RAW、X類型內表類型都不行。時間緊,沒辦法再研究類型映射了,

最后,在.NET控件中,新增加了一個方法

public string CutHexPicture();

功能是將CutBytePicture()返回的byte[],轉化成十六進制串返回,在ABAP中使用XSTRING接收,得到了正確的結果。

?

寫在這里主要說明:

當ABAP接收byte[]類型值時,可以將byte[]先轉換成十六進制串,再在ABAP中使用XSTRING來接收。

另外,有哪位朋友實現過ABAP接收byte[]類型數據,也請讓我學習一下,謝謝!


總結

以上是生活随笔為你收集整理的ABAP中接收.NET语言byte[]类型返回值问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。