FUNCTION ZN4N_PI_GET_PAYLOAD .
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" VALUE(IM_MSGKEY) TYPE SXMSMKEY
*" EXPORTING
*" VALUE(PAYLOAD) TYPE STRING
*" EXCEPTIONS
*" NOT_AUTHORIZED
*" NO_MESSAGE
*" INTERNAL_ERROR
*" NO_PAYLOAD
*" GENERIC_ERROR
*"----------------------------------------------------------------------
data: pay_bytes type xstring.
data: ref_bytes type string.
data: pay_load type string.
CALL FUNCTION 'SXMB_GET_MESSAGE_PAYLOAD'
EXPORTING
IM_MSGKEY = IM_MSGKEY
* IM_ARCHIVE =
* IM_VERSION =
IMPORTING
EX_MSG_BYTES = pay_bytes
EXCEPTIONS
NOT_AUTHORIZED = 1
NO_MESSAGE = 2
INTERNAL_ERROR = 3
NO_PAYLOAD = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
case sy-subrc.
when 1.
raise NOT_AUTHORIZED.
when 2.
raise NO_MESSAGE.
when 3.
raise INTERNAL_ERROR.
when 4.
raise NO_PAYLOAD.
when 5.
raise GENERIC_ERROR.
endcase.
ENDIF.
try.
CALL FUNCTION 'ECATT_CONV_XSTRING_TO_STRING'
EXPORTING
IM_XSTRING = pay_bytes
* IM_ENCODING = 'UTF-8'
IMPORTING
EX_STRING = PAYLOAD.
catch cx_root.
raise cx_root.
endtry.
*
* data l_filename LIKE RLGRAP-FILENAME.
* l_filename = 'c:\tmp\payload.xml'.
*
* data: begin of tab occurs 0,
* field type string,
* end of tab.
*
* clear tab.
* refresh tab.
*
* tab-field = payload.
* append tab.
*
* CALL FUNCTION 'WS_DOWNLOAD'
* EXPORTING
* FILENAME = l_filename
* FILETYPE = 'ASC'
* TABLES
* DATA_TAB = tab
* EXCEPTIONS
* FILE_OPEN_ERROR = 1
* FILE_WRITE_ERROR = 2
* INVALID_FILESIZE = 3
* INVALID_TYPE = 4
* NO_BATCH = 5
* UNKNOWN_ERROR = 6
* INVALID_TABLE_WIDTH = 7
* GUI_REFUSE_FILETRANSFER = 8
* CUSTOMER_ERROR = 9
* NO_AUTHORITY = 10
* OTHERS = 11
* .
* IF SY-SUBRC <> 0.
* ENDIF.
ENDFUNCTION.
Lascia un commento