1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
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. |