【轉載】傳送SAP附件到 WEBSERVICE介面(二進位制)
原文地址:https://archive.sap.com/discussions/thread/59572
TXT檔案傳輸有問題。
*"*"本地介面:
*" IMPORTING
*" VALUE(IS_OBJECT) TYPE SIBFLPORB
*" TABLES
*" DOCUMENT_DATA1 STRUCTURE SOFOLENTI1
*" OBJECT_HEADER STRUCTURE SOLISTI1
*" OBJECT_CONTENT STRUCTURE SOLISTI1
*" CONTENTS_HEX1 STRUCTURE SOLIX
*" ATTACHMENT_LIST STRUCTURE SOATTLSTI1
*" RECEIVER_LIST STRUCTURE SORECLSTI1
*" OBJECT_PARA STRUCTURE SOPARAI1
*" OBJECT_PARB STRUCTURE SOPARBI1
*" EXCEPTIONS
*" EXCEPTION_STRING
*" ICX_OBL_PARAMETER_ERROR
*"----------------------------------------------------------------------
DATA : P_BOTYPE LIKE TOJTB-NAME,
V_TBX LIKE SY-TABIX.
DATA:ET_LINKS_S TYPE OBL_S_LINK,
ET_LINKS TYPE OBL_T_LINK.
DATA:CONTENTS_HEX TYPE TABLE OF SOLIX.
DATA: DOCUMENT_ID LIKE SOFOLENTI1-DOC_ID,
DOCUMENT_DATA TYPE SOFOLENTI1.
*include: RSSOCONS.
CLASS CL_GOS_DOCUMENT_SERVICE DEFINITION LOAD.
* CREATE OBJECT RF.
IS_OBJECT-INSTID = '4500000000'. "訂單號
IS_OBJECT-TYPEID = 'BUS2012'. "業務型別 SWO1裡面查詢
IS_OBJECT-CATID = 'BO'.
REFRESH ET_LINKS.
DATA: ICX_OBL_PARAMETER_ERROR TYPE REF TO IF_MESSAGE.
TRY.
CALL METHOD CL_BINARY_RELATION=>READ_LINKS_OF_BINREL
EXPORTING
IS_OBJECT = IS_OBJECT
IP_RELATION = 'ATTA'
IMPORTING
ET_LINKS = ET_LINKS.
*
* CATCH
*
* CX_OBL_PARAMETER_ERROR INTO ICX_OBL_PARAMETER_ERROR.
*
* EXCEPTION_STRING = ICX_OBL_PARAMETER_ERROR->GET_LONGTEXT( ).
*
* CATCH CX_OBL_INTERNAL_ERROR INTO ICX_OBL_INTERNAL_ERROR .
*
* EXCEPTION_STRING = ICX_OBL_INTERNAL_ERROR->GET_LONGTEXT( ).
*
* CATCH CX_OBL_MODEL_ERROR INTO ICX_OBL_MODEL_ERROR.
*
* EXCEPTION_STRING = ICX_OBL_MODEL_ERROR->GET_LONGTEXT( ).
ENDTRY.
LOOP AT ET_LINKS INTO ET_LINKS_S.
V_TBX = SY-TABIX.
DOCUMENT_ID = ET_LINKS_S-INSTID_B.
CALL FUNCTION 'SO_DOCUMENT_READ_API1'
EXPORTING
DOCUMENT_ID = DOCUMENT_ID
* FILTER = 'X '
IMPORTING
DOCUMENT_DATA = DOCUMENT_DATA
TABLES
OBJECT_HEADER = OBJECT_HEADER
OBJECT_CONTENT = OBJECT_CONTENT
OBJECT_PARA = OBJECT_PARA
OBJECT_PARB = OBJECT_PARB
ATTACHMENT_LIST = ATTACHMENT_LIST
RECEIVER_LIST = RECEIVER_LIST
CONTENTS_HEX = CONTENTS_HEX
EXCEPTIONS
DOCUMENT_ID_NOT_EXIST = 1
OPERATION_NO_AUTHORIZATION = 2
X_ERROR = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
APPEND LINES OF CONTENTS_HEX TO CONTENTS_HEX1.
APPEND DOCUMENT_DATA TO DOCUMENT_DATA1.
相關文章
- 介面返回二進位制檔案的下載。
- JavaMail 傳送附件的例子 (轉)JavaAI
- 進位制之間的轉換之“十六進位制 轉 十進位制 轉 二進位制 方案”
- 二進位制轉十進位制快速方法
- 二進位制轉十進位制快速轉換方法
- 二進位制,八進位制,十進位制,十六進位制的相互轉換
- 二進位制、十進位制與十六進位制相互轉化
- 什麼是二進位制?二進位制如何轉換?
- 整數轉化成八進位制、十六進位制、二進位制,以及轉回
- java中二進位制、八進位制、十進位制、十六進位制的轉換Java
- 二進位制,八進位制,十進位制,十六進位制之間的轉換
- Python 進位制互相轉換(二進位制、十進位制和十六進位制)Python
- JavaScript十進位制轉換為二進位制JavaScript
- Oracle二進位制與十進位制轉換Oracle
- 十進位制轉二進位制推導(草稿)
- 【進位制轉換】二進位制、十六進位制、十進位制、八進位制對應關係
- JAVA 二進位制,八進位制,十六進位制,十進位制間進行相互轉換Java
- 計算機基礎進位制轉換(二進位制、八進位制、十進位制、十六進位制)計算機
- 【轉帖】Oracle中的二進位制、八進位制、十進位制、十六進位制相互轉換函式Oracle函式
- 十進位制與二進位制互相轉換指南
- (轉)【iOS 開發】二進位制、十進位制、十六進位制相互轉換的方法iOS
- 大話二進位制,八進位制,十進位制,十六進位制之間的轉換
- 一看就懂二進位制、八進位制、十六進位制數轉換十進位制
- python進位制轉換(二進位制、十進位制和十六進位制)及注意事項Python
- Oracle中的二進位制、八進位制、十進位制、十六進位制相互轉換函式Oracle函式
- JS下載後臺介面返回的二進位制檔案JS
- 二進位制下載部署NginxNginx
- 【原創】WebService大講堂之Axis2(4):二進位制檔案傳輸Web
- JavaScript 二進位制數字轉換為十進位制JavaScript
- js二進位制和十進位制轉換程式碼JS
- [計算機基礎] 計算機進位制轉換:二進位制、八進位制、十進位制、十六進位制計算機
- 二進位制與二進位制運算
- 進位制詳解:二進位制、八進位制和十六進位制
- Qt進位制轉換(十進位制轉十六進位制)QT
- JavaScript 二進位制、八進位制與十六進位制JavaScript
- javascript十進位制數字和二進位制相互轉換JavaScript
- 3416:【例72.1】 二進位制轉化為十進位制
- 【轉載】使用UltraEdit來拷貝貼上二進位制