| Author |
BizTalk2k4/mySAP v2
|
|
| CranCran77 2005-04-22, 5:58 pm |
| I have installed the SAP .net connector along with the mySAP v2 adapter
from Microsoft into my BizTalk 2004 environment. I have successfully
connected to my SAP system and downloaded an IDoc schema which I have
included in my BizTalk project.
Now I have an incoming document which I have defined a map that
translates the incoming XML document into the idoc xml output. I have
currently attached a send port to my orchestration to dump the xml idoc
output to a file transport.
What I would like to understand is if there is a way I can create a
send port that I can pass my IDoc into and have it converted to a true
IDoc file and saved to disk using a FILE transport or must the XML IDoc
output be sent to an SAP system using the SAP transport option only?
thanks!
| |
|
| Hi,
yes this is quite straightforward.
On the port going out you need a custom pipeline. Create the pipeline,
insert into it a Flat File Assembler component from the toolbox. In the
document specification for the assembler component put your flat-file idoc
schema.. Buld & Deploy and you should see the idoc.
m
"CranCran77" wrote:
> I have installed the SAP .net connector along with the mySAP v2 adapter
> from Microsoft into my BizTalk 2004 environment. I have successfully
> connected to my SAP system and downloaded an IDoc schema which I have
> included in my BizTalk project.
>
> Now I have an incoming document which I have defined a map that
> translates the incoming XML document into the idoc xml output. I have
> currently attached a send port to my orchestration to dump the xml idoc
> output to a file transport.
>
> What I would like to understand is if there is a way I can create a
> send port that I can pass my IDoc into and have it converted to a true
> IDoc file and saved to disk using a FILE transport or must the XML IDoc
> output be sent to an SAP system using the SAP transport option only?
>
> thanks!
>
>
| |
| CranCran77 2005-04-24, 7:46 am |
| I'm not sure where document specification is located? Are you
referring to the property on the flat-file assembler under component
properties: Document schema?
| |
| CranCran77 2005-04-24, 7:46 am |
| Where is document specification located? Are you referring to document
schema for the flat-file assembler pipeline component properties?
| |
|
| Hi,
by "document specification" I mean the IDoc schema you got from SAP.
In the flat-file assembler component set the "Document Schema" property to
be that specification.
m
"CranCran77" wrote:
> I'm not sure where document specification is located? Are you
> referring to the property on the flat-file assembler under component
> properties: Document schema?
>
>
| |
| CranCran77 2005-04-25, 7:53 am |
| So my data comes out of my database which I have a schema for. I do a
transformation to convert that data from my database schema to the IDoc
schema and then I create a send port where I attach this pipeline that
has the IDoc schema set on the flat-file assembler component as the
Document Schema, right?
| |
|
|
> Where is document specification located?
The original should be in your project.
>Are you referring to document
> schema for the flat-file assembler pipeline component properties?
Yes, put a reference to the idoc shema in there.
m
"CranCran77" wrote:
> Where is document specification located? Are you referring to document
> schema for the flat-file assembler pipeline component properties?
>
>
| |
| CranCran77 2005-04-25, 5:51 pm |
| The one thing that our SAP consultant pointed out is that for some
reason our output is creating the IDoc segment names strangely. For
example a segment name should be E2MBXYH but for some reason it's being
created as E2MBXYH001. When I look at the schema file which was
created when we generated the schema from downloading the IDoc
structure from SAP, I see:
<xs:element minOccurs="0" maxOccurs="1" name="E2MBXYH001GRP">
<xs:annotation>
<xs:appinfo>
<b:recordInfo structure="delimited"
child_delimiter_type="hex" child_delimiter="0xd 0xa"
child_order="infix" sequence_number="2"
preserve_delimiter_for_empty_data="true"
suppress_trailing_delimiters="false" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:annotation>
<xs:appinfo>
<b:groupInfo sequence_number="0" />
</xs:appinfo>
</xs:annotation>
<xs:element minOccurs="1" maxOccurs="1" name="E1MBXYH">
<xs:annotation>
<xs:documentation>Goods movements for mobile data
entry (header data)</xs:documentation>
<xs:appinfo>
<b:recordInfo structure="positional"
sequence_number="1" tag_name="E2MBXYH001" tag_offset="0"
preserve_delimiter_for_empty_data="true"
suppress_trailing_delimiters="false" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:annotation>
<xs:appinfo>
<b:groupInfo sequence_number="0" />
</xs:appinfo>
</xs:annotation>
<xs:element minOccurs="1" maxOccurs="1"
name="DATAHEADERREC">
<xs:annotation>
<xs:documentation>This record represents the
Data Record fields</xs:documentation>
<xs:appinfo>
<b:recordInfo structure="positional"
sequence_number="1" preserve_delimiter_for_empty_data="true"
suppress_trailing_delimiters="false" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:annotation>
<xs:appinfo>
<b:groupInfo sequence_number="0" />
</xs:appinfo>
</xs:annotation>
<xs:element default="E2MBXYH001"
name="SEGNAM" type="xs:string">
<xs:annotation>
<xs:documentation>Segment (external
name)</xs:documentation>
<xs:appinfo>
<b:fieldInfo pad_char="0x20"
pad_char_type="hex" justification="left" pos_offset="0" pos_length="30"
sequence_number="1" />
</xs:appinfo>
</xs:annotation>
</xs:element>
>From the above I see if we do not specific the segment name, it will
default to E2MBXYH001. Our SAP consultant has said this will fail;
however if that is what was generated by the SAP adapter from the IDoc
structure, I don't understand then how this would fail. Any ideas?
| |
|
| H,
I don't have my notes with me but it's nothing to worry about. At that very
basic level things work just fine.
The adapter can generate invalid or inappropriate xsd in some circumstances
but those basics are ok.
m
"CranCran77" wrote:
> The one thing that our SAP consultant pointed out is that for some
> reason our output is creating the IDoc segment names strangely. For
> example a segment name should be E2MBXYH but for some reason it's being
> created as E2MBXYH001. When I look at the schema file which was
> created when we generated the schema from downloading the IDoc
> structure from SAP, I see:
>
> <xs:element minOccurs="0" maxOccurs="1" name="E2MBXYH001GRP">
> <xs:annotation>
> <xs:appinfo>
> <b:recordInfo structure="delimited"
> child_delimiter_type="hex" child_delimiter="0xd 0xa"
> child_order="infix" sequence_number="2"
> preserve_delimiter_for_empty_data="true"
> suppress_trailing_delimiters="false" />
> </xs:appinfo>
> </xs:annotation>
> <xs:complexType>
> <xs:sequence>
> <xs:annotation>
> <xs:appinfo>
> <b:groupInfo sequence_number="0" />
> </xs:appinfo>
> </xs:annotation>
> <xs:element minOccurs="1" maxOccurs="1" name="E1MBXYH">
> <xs:annotation>
> <xs:documentation>Goods movements for mobile data
> entry (header data)</xs:documentation>
> <xs:appinfo>
> <b:recordInfo structure="positional"
> sequence_number="1" tag_name="E2MBXYH001" tag_offset="0"
> preserve_delimiter_for_empty_data="true"
> suppress_trailing_delimiters="false" />
> </xs:appinfo>
> </xs:annotation>
> <xs:complexType>
> <xs:sequence>
> <xs:annotation>
> <xs:appinfo>
> <b:groupInfo sequence_number="0" />
> </xs:appinfo>
> </xs:annotation>
> <xs:element minOccurs="1" maxOccurs="1"
> name="DATAHEADERREC">
> <xs:annotation>
> <xs:documentation>This record represents the
> Data Record fields</xs:documentation>
> <xs:appinfo>
> <b:recordInfo structure="positional"
> sequence_number="1" preserve_delimiter_for_empty_data="true"
> suppress_trailing_delimiters="false" />
> </xs:appinfo>
> </xs:annotation>
> <xs:complexType>
> <xs:sequence>
> <xs:annotation>
> <xs:appinfo>
> <b:groupInfo sequence_number="0" />
> </xs:appinfo>
> </xs:annotation>
> <xs:element default="E2MBXYH001"
> name="SEGNAM" type="xs:string">
> <xs:annotation>
> <xs:documentation>Segment (external
> name)</xs:documentation>
> <xs:appinfo>
> <b:fieldInfo pad_char="0x20"
> pad_char_type="hex" justification="left" pos_offset="0" pos_length="30"
> sequence_number="1" />
> </xs:appinfo>
> </xs:annotation>
> </xs:element>
>
> default to E2MBXYH001. Our SAP consultant has said this will fail;
> however if that is what was generated by the SAP adapter from the IDoc
> structure, I don't understand then how this would fail. Any ideas?
>
>
|
|
|
|