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

Reply via email to