Hi,
Has anyone stored a MQRFH in an Oracle database, and retrieved and
re-parsed it, using WMQI's database and compute nodes. We have managed
to store (and retrieve and re-parse) the MessageBody and elements of the
MQRFH, but when we try the store, retrieve and reparse sequence on the
MQRFH, it does not work.
Or has anyone retrieved and re-processed a msg (including headers)
that has been stored via the Warehouse Node?
details are below
v. grateful for any guidence.
owen
The RFH is in the following form (nb. the format can't be changed):
RFH
<00><00><00><01>
<00><00><00><52>
<00><00><00><00>
<00><00><00><00>
MQSTR
<00><00><00><00>
OPT_APP_GRP SWIFT_MSGS
OPT_MSG_TYPE SW500_SwIC540
Our code is:
to insert into database:-
INSERT
INTO Database.MSG_AUDIT_TEST(MSGID, ERROR_CODE, MSG, MQRFH,
MQRFH_R)
VALUES (
"Body"."FIN"."SWBH"."Sequence_Number",
77,
BITSTREAM ("Body"), --defined as CLOB
BITSTREAM ("Root"."MQRFH"), defined as CLOB
BITSTREAM ("Root"."MQRFH")); defined as RAW
to extract:-
SET "OutputRoot"."Properties" = "InputRoot"."Properties";
SET "OutputRoot"."MQMD" = "InputRoot"."MQMD";
SET "OutputRoot"."MQRFH" = "InputRoot"."MQRFH";
SET OutputRoot.Properties.MessageSet = 'DTI7DA007K001';
SET OutputRoot.Properties.MessageType = '';
SET OutputRoot.Properties.MessageFormat= 'SWIFT';
-- --
-- SUB MSG
-- DATABASE UPDATE
SET OutputLocalEnvironment.Msg = CAST (
THE (SELECT ITEM A.MSG
FROM Database.MSG_AUDIT_TEST AS A
WHERE A.MSGID = '123003') AS CHAR CCSID InputRoot.MQMD.CodedCharSetId
Encoding InputRoot.MQMD.Encoding);
DECLARE MyBitStream CHAR;
SET MyBitStream = OutputLocalEnvironment.Msg;
DECLARE MyEncoding INT;
SET MyEncoding = 273;
DECLARE MyCCSID INT;
SET MyCCSID = 437;
DECLARE MyDomain CHAR;
SET MyDomain = 'MRM';
DECLARE MyMessageSet CHAR;
SET MyMessageSet = 'DTI7DA007K001';
DECLARE MyMessageType CHAR;
SET MyMessageType = '';
DECLARE MyMessageFormat CHAR;
SET MyMessageFormat = 'SWIFT';
CREATE LASTCHILD OF OutputRoot
domain MyDomain
parse (MyBitStream,
MyEncoding,
MyCCSID,
MyMessageSet,
MyMessageType,
MyMessageFormat
);
--- above this line works.
DECLARE ref REFERENCE TO "OutputRoot"."MRM";
SET OutputLocalEnvironment.MQRFH = CAST (
THE (SELECT ITEM A.MQRFH_R
FROM Database.MSG_AUDIT_TEST AS A
WHERE A.MSGID = '123003') AS CHAR CCSID InputRoot.MQMD.CodedCharSetId
Encoding InputRoot.MQMD.Encoding);
SET MyBitStream = OutputLocalEnvironment.MQRFH;
SET MyEncoding = 273;
SET MyCCSID = 437;
SET MyDomain = 'MQRFH';
CREATE PREVIOUSSIBLING OF ref
domain MyDomain
parse (MyBitStream,
MyEncoding,
MyCCSID
);
This email is for the intended recipient only and is confidential. If you are not the
intended recipient, please inform the sender immediately and delete this email and any
copies, (including attachments), from your system. You should not read, copy or make
any use of this email if you have received it in error.
You should take whatever measures you deem to be appropriate to ensure that this email
is virus free.
CRESTCo Ltd does not give any representation, guarantee or warranty (whether expressed
or implied) that this email has been securely transmitted or is accurate, timely or
complete and excludes all liability in connection with this email or for any
statements which are clearly the senders own and do not represent the views of CRESTCo
Ltd.
CRESTCo Ltd reserves the right to monitor the use and content of all emails.
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive