ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » XML to hexBinary for IDoc to passthrough mode to SAP

Post new topic  Reply to topic
 XML to hexBinary for IDoc to passthrough mode to SAP « View previous topic :: View next topic » 
Author Message
adars1
PostPosted: Tue Oct 13, 2015 2:10 pm    Post subject: XML to hexBinary for IDoc to passthrough mode to SAP Reply with quote

Apprentice

Joined: 13 Jun 2010
Posts: 39

Hi,

I am creating SAP IDoc and want to post the Idoc as passthrough mode. Tried to convert XML IDoc to Blob and assign it to XML hexBinary field and value is not populated when I checked output.

DECLARE myMsgBlob BLOB;
SET myMsgBlob = ASBITSTREAM(Environment.Var.IDocRecord);
SET OutputRoot.XMLNSC.ns:SapW03.IDocStreamData = myMsgBlob

Below is the schema

Code:
<xsd:complexType name="SapW03">
<xsd:element name="SAPTransactionID" nillable="true" minOccurs="1" maxOccurs="1">
<xsd:element name="qRFCQueueName" nillable="true" minOccurs="1" maxOccurs="1">
<xsd:element name="IDocStreamData" type="xsd:hexBinary" nillable="true" minOccurs="1" maxOccurs="1">
            <xsd:annotation xml:space="preserve">
               <xsd:appinfo source="http://www.ibm.com/xmlns/prod/websphere/j2ca/sap/metadata">
                  <sapasi:sapALEPropertyTypeMetadata>
                     <sapasi:FieldName>IDocStreamData</sapasi:FieldName>
                     <sapasi:SegmentHierarchy>0</sapasi:SegmentHierarchy>
                     <sapasi:OffSet>0</sapasi:OffSet>
                     <sapasi:PrimaryKey>false</sapasi:PrimaryKey>
                     <sapasi:MaxLength>0</sapasi:MaxLength>
                     <sapasi:ForeignBOKeyRef/>
                  </sapasi:sapALEPropertyTypeMetadata>
               </xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
<xsd:element name="IDocType" nillable="true" minOccurs="1" maxOccurs="1">
</xsd:complexType>
Back to top
View user's profile Send private message
smdavies99
PostPosted: Tue Oct 13, 2015 11:38 pm    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

AFAIK, your problem is here
Code:

DECLARE myMsgBlob BLOB;
SET myMsgBlob = ASBITSTREAM(Environment.Var.IDocRecord);
SET OutputRoot.XMLNSC.ns:SapW03.IDocStreamData = myMsgBlob


You need to assign a parser to the tree you create in the environment as well as describing the CCSID for the data.
One of my flows does this
Code:

DECLARE subBitStream BLOB ASBITSTREAM(InputRoot.XMLNSC CCSID 1208);

A usertrace of a message passing through your original code would have told you that the ASBITSTREAM was not working.

ASBITSTREAM is not the easiest thing to get right as is evidenced by the number of posts here about it over the years.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » XML to hexBinary for IDoc to passthrough mode to SAP
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.