Author |
Message
|
alchando |
Posted: Mon Apr 04, 2016 5:28 am Post subject: Possible Values for FORMAT in CREATE STATEMENT |
|
|
Newbie
Joined: 23 Jul 2015 Posts: 7
|
Hi,
i want to parse a IDoc in ESQL and i´m not sure which value to set the options in the CREATE Statement.
The CREATE Statement looks like:
CREATE LASTCHILD OF Environment.parsedValues DOMAIN('DataObject') PARSE(refSapIn.BLOB.BLOB SET '' TYPE '{http://www.ibm.com/xmlns/prod/websphere/j2ca/sap/sapadrmas03}:SapAdrmas03' FORMAT 'SAP ALE IDoc' OPTIONS ValidateImmediate );
When i´m executing this code i get BIP5005 'An XML parsing error has occurred while parsing the XML document'
It seems that the CREATEStatement tries to parse the BLOB in XML-Domain instead of DataObject.
Parsing in the Reset-Content-Descriptor works fine.
When i use the Reset-Content-Descriptor i set the values:
Message Domain = DataObject : For data from WebSphere Adapters, CORBA and Database records
Message = {http://www.ibm.com/xmlns/prod/websphere/j2ca/sap/sapadrmas03}:SapAdrmas03
Physical format = SAP ALE IDoc (here i can choose between 'XML' and 'SAP ALE IDoc')
i have tried to set the Value of FORMAT = 'SAP ALE IDoc' in the CREATE Statement, but i still get the same Errorcode.
What are the possible Values for this FORMAT Field?
I am developing in IIB 9.0.0.4 and the Page for the CREATE Statement in the Knowledge Center says nothing about the possible values:
https://www.ibm.com/support/knowledgecenter/SSMKHH_9.0.0/com.ibm.etools.mft.doc/ak04950_.htm |
|
Back to top |
|
 |
wbi_telecom |
Posted: Mon Apr 04, 2016 6:09 am Post subject: |
|
|
 Disciple
Joined: 15 Feb 2006 Posts: 188 Location: Harrisburg, PA
|
Did you try the CREATE...PARSE without the format option? Did it give you the same error or different error?
Cheers, |
|
Back to top |
|
 |
alchando |
Posted: Mon Apr 04, 2016 6:31 am Post subject: |
|
|
Newbie
Joined: 23 Jul 2015 Posts: 7
|
the same Error comes when i´m setting FORMAT to empty String.
I also tried 'SAP' 'IDOC' 'SAPALEIdoc', all throwing the same Error |
|
Back to top |
|
 |
timber |
Posted: Mon Apr 04, 2016 7:01 am Post subject: |
|
|
 Grand Master
Joined: 25 Aug 2015 Posts: 1292
|
You are specifying a message set, a message type and a message format in your PARSE clause. The only parser that accepts those parameters is the MRM parser. I suggest that you change the Domain to 'MRM' and try again. |
|
Back to top |
|
 |
alchando |
Posted: Mon Apr 04, 2016 8:52 am Post subject: |
|
|
Newbie
Joined: 23 Jul 2015 Posts: 7
|
Thanks for your reply.
in my use case it is not allowed to use the MRM-Domain, i have to parse it in the DataObject-Domain.
I have specified the Message only, SET is a empty String and i tried also with FORMAT as empty String
Which are the necessary Options for parsing an IDoc in the DataObject-Domain? |
|
Back to top |
|
 |
mqjeff |
Posted: Mon Apr 04, 2016 9:09 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
What happens if you don't specify anything other than the DataObject domain?
Why are you having to parse the SAP documents inside your flow, rather than from the SAPInput node? _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
smdavies99 |
Posted: Mon Apr 04, 2016 9:48 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
mqjeff wrote: |
Why are you having to parse the SAP documents inside your flow, rather than from the SAPInput node? |
Perhaps the 'use case' does not allow it? _________________ 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 |
|
 |
mqjeff |
Posted: Mon Apr 04, 2016 9:53 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
smdavies99 wrote: |
mqjeff wrote: |
Why are you having to parse the SAP documents inside your flow, rather than from the SAPInput node? |
Perhaps the 'use case' does not allow it? |
Perhaps the usecase should consider sending something other than an idoc.
But hey. Not my code to write. _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
timber |
Posted: Mon Apr 04, 2016 11:57 am Post subject: |
|
|
 Grand Master
Joined: 25 Aug 2015 Posts: 1292
|
I assume that you have read this topic http://www.ibm.com/support/knowledgecenter/SSMKHH_9.0.0/com.ibm.etools.mft.doc/ac21030_.htm?lang=en
...and you think you can use the same technique to parse a BLOB containing a SAP IDoc.
Not an unreasonable assumption, but it's not correct. The DataObject domain is not really a 'parser' in the usual sense of the word. It's a domain, and it creates message trees from BAPI calls. It cannot be used to parse or write IDocs.
If used like a parser, the DataObject domain behaves like XMLNSC ( which explains the error message that you quoted in your first post ). |
|
Back to top |
|
 |
alchando |
Posted: Mon Apr 04, 2016 9:36 pm Post subject: |
|
|
Newbie
Joined: 23 Jul 2015 Posts: 7
|
mqjeff wrote: |
smdavies99 wrote: |
mqjeff wrote: |
Why are you having to parse the SAP documents inside your flow, rather than from the SAPInput node? |
Perhaps the 'use case' does not allow it? |
Perhaps the usecase should consider sending something other than an idoc.
But hey. Not my code to write. |
As smdavies99 said, because of the use case i have to parse the message inside the Flow.
The message Arrives as a MQ-Message in the input queue of my flow. Therefore i´m using a MQInput node instead a SAPInput node.
The ides was to pass the message throw the flow as a Blob until it´s needed in the Compute node, parsing it at this node and to delete the parsed subtree after computation.
The same procedure i´m using for CSV-Data which i parse with a DFDL-model in a Compute node |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Apr 04, 2016 9:48 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
you should be able to parse an IDoc using the DFDL parser. _________________ MQ & Broker admin |
|
Back to top |
|
 |
|