Professional Documents
Culture Documents
B1iFW05Schemas B1if
B1iFW05Schemas B1if
Integration framework
for
SAP Business One
Guide 05
Schemas
-1-
Content
1. vBIU Outbound Schemas for SAP Business One ........................................3
1.1 Skip the Outbound Processing ...............................................................3
1.2 Outbound Schemas for SAP Business One ...........................................4
1.2.1 Object ..............................................................................................4
1.2.2 Object (Full) .....................................................................................5
1.2.3 Service.............................................................................................6
1.2.4 Service (Full)....................................................................................7
1.2.5 B1i SQL ...........................................................................................9
1.2.6 SQL................................................................................................11
1.2.7 SQL (full)........................................................................................12
1.3 vBIU Outbound Schemas for Database ...............................................13
1.3.1 B1i SQL .........................................................................................13
1.3.2 SQL................................................................................................15
1.3.3 SQL (full)........................................................................................16
1.4. vBIU Outbound Schemas for File ........................................................17
1.4.1 XML ...............................................................................................17
1.4.2 CSV ...............................................................................................18
1.4.3 CSV (full) .......................................................................................19
1.4.4 Text................................................................................................21
1.4.5 Text (full)........................................................................................23
1.5. vBIU Outbound Schemas for Web Service .........................................25
2. Preconfiguration Schemas.........................................................................26
2.1 Scenario Package Setup Description ................................................26
Copyrights, Trademarks, and Disclaimers .....................................................28
-2-
In case you do not want to handover the message to the receiver system, the
Scenario Step can create a special tag which indicates the generic processing
in the Integration framework to skip the message processing.
In case the message is skipped due to the logic in the Scenario Step, the
Message Log information (if switched on) will be put to the section Filtered.
The Result Message will have the information Message skipped by vBIU
logic or an individual message if you define one with the attribute info.
In case you want to avoid an entry in the Message Log, please introduce the
attribute msglog and set it to false.
-3-
Prerequisite:
Method, Object identifier and Object key is defined in the outbound setup of
the Scenario Step design (Scenarios4Scenario Step Design 4[Outbound]).
B1out/@type
Mandatory root tag B1out, mandatory attribute with the value object
-4-
B1out/@type
Mandatory root tag B1out, mandatory attribute with the value object_full
Control/method
one of the following values:
Insert (for insert)
Insert/Update (for insert with fallback to update)
Update (for update)
Update/Insert (for update with fallback to insert)
Delete (for delete)
Control/objectid
SAP Business One object identifier
Control/keyname
Optional multiple tags with the name of the key(s) for the SAP Business One
object
-5-
1.2.3 Service
Example for Approval request Service
<B1out type="service">
<ApprovalRequest>
<Code>5</Code>
<ObjectType>112</ObjectType>
<IsDraft>Y</IsDraft>
<ObjectEntry>4</ObjectEntry>
<Status>arsApproved</Status>
<Remarks>Sell to SAP Labs China for TechEd 2009</Remarks>
<CurrentStage>1</CurrentStage>
<OriginatorID>4</OriginatorID>
<ApprovalRequestLines>
<ApprovalRequestLine>
<StageCode>1</StageCode>
<UserID>1</UserID>
<Status>ardApproved</Status>
<Remarks>OK11</Remarks>
</ApprovalRequestLine>
</ApprovalRequestLines>
<ApprovalRequestDecisions>
<ApprovalRequestDecision>
<ApproverUserName>manager</ApproverUserName>
<ApproverPassword>1234</ApproverPassword>
<Status>ardApproved</Status>
<Remarks>approved by vPlatform</Remarks>
</ApprovalRequestDecision>
</ApprovalRequestDecisions>
</ApprovalRequest>
</B1out>
Prerequisite:
Service Identifier, Service Method Type, Service Method Identifier, Get
Method identifier, Request Structure and Request Key is defined in the
outbound setup of the Scenario Step design (Scenarios4Scenario Step
Design 4[Outbound]).
B1out/@type
Mandatory root tag B1out, mandatory attribute with the value service
-6-
B1out/@type
Mandatory root tag B1out, mandatory attribute with the value service_full
serviceid
The identifier/name of the SAP Business One service.
mtype
An SAP Business One service provides multiple methods. The relevant
methods to be used in the outbound phase are typically the methods to insert,
-7-
update or delete a message. Here you specify which of these actions you
want to process:
add
update
remove
method
With this tag you specify the identifier/name of the method, you want to
process.
getmethod
Before performing the required action, the DI API of SAP Business One first
retrieves the data by the Get method, provided by the service. This is
needed e.g. in case of an update to merge incoming data with existing data,
stored already in the SAP Business One database. Therefore you need to
specify here the identifier/name of the Get method.
requeststr
The SAP Business One service provides a special structure to handover
particular parameters, typically key information. Here you specify the
identifier/name of this structure.
keyname
Here you specify the identifier of the primary key for this service.
-8-
B1out/@type
Mandatory root tag B1out, mandatory attribute with the value b1isql
SQL/@sqlmode
Mandatory tag SQL. The attribute sqlmode is also mandatory. Here you set
the value to single or multiple. This flag is relevant for the processing of
multiple sql statements. The default is multiple.
single:
multiple:
in this mode B1i will process each sql statement one after the
other. This is necessary in case the destination database
system does not support semicolon separated multiple sql
statements, e.g. the DB2 database system.
Table
Table is a fix value to define a database table record. You can define
multiple of these tags. You can nest these tags to represent father-child
relationship.
Table/@id
The attribute id specifies the name of the database table.
-9-
Table/@keylist
The attribute keylist represents the specification of the primary key field
name. In case the primary key consists out of multiple field values
concatenated, you specify a comma separated list of all field names.
Table/@task
With this attribute you specify the operation in the database.
task=A
task=I
task=U
task=D
Table/@del
In case the operation is D, here you can define a comma separated list of
table names in which the deletion should happen in addition. The prerequisite
for this cascading deletion is the same primary key.
Field
Field is a fix value to define a field in the database table record. You can
define multiple of these tags.
Field/@id
The attribute id specifies the name of the database table field.
Field/@value
The attribute value holds the value of the particular field.
Field/@wrapchar
As default the value is wrapped by the apostrophe character. In case you
want to avoid this (e.g. the value contains a number), you set the wrapchar to
false.
- 10 -
1.2.6 SQL
<B1out type="sql">
<sql>sql statement</sql>
<sql>sql statement</sql>
<sql>sql statement</sql>
...
</B1out>
Prerequisite:
SQL Mode is defined in the outbound setup of the Scenario Step design
(Scenarios4Scenario Step Design 4[Outbound]).
B1out/@type
Mandatory root tag B1out, mandatory attribute with the value sql
sql
With this tag you introduce a sql statement. You can define multiple of these
tags. Whereas in the B1isql format (chapter 1.5) B1i is generating the sql
statements, here the sql statement is finally generated by the vBIU. B1i will
send it without any interpretation to the database system.
- 11 -
B1out/@type
Mandatory root tag B1out, mandatory attribute with the value sql_full
sqlmode
Mandatory tag SQL. The attribute sqlmode is also mandatory. Here you set
the value to single or multiple. This flag is relevant for the processing of
multiple sql statements. The default is multiple.
single:
multiple:
in this mode B1i will process each sql statement one after the
other. This is necessary in case the destination database
system does not support semicolon separated multiple sql
statements, e.g. the DB2 database system.
sql
With this tag you introduce a sql statement. You can define multiple of these
tags. Whereas in the B1isql format (chapter 1.5) B1i is generating the sql
statements, here the sql statement is finally generated by the vBIU. B1i will
send it without any interpretation to the database system.
- 12 -
DBout/@type
Mandatory root tag DBout, mandatory attribute with the value b1isql
SQL/@sqlmode
Mandatory tag SQL. The attribute sqlmode is also mandatory. Here you set
the value to single or multiple. This flag is relevant for the processing of
multiple sql statements. The default is multiple.
single:
multiple:
in this mode B1i will process each sql statement one after the
other. This is necessary in case the destination database
system does not support semicolon separated multiple sql
statements, e.g. the DB2 database system.
Table
Table is a fix value to define a database table record. You can define
multiple of these tags. You can nest these tags to represent father-child
relationship.
Table/@id
The attribute id specifies the name of the database table.
- 13 -
Table/@keylist
The attribute keylist represents the specification of the primary key field
name. In case the primary key consists out of multiple field values
concatenated, you specify a comma separated list of all field names.
Table/@task
With this attribute you specify the operation in the database.
task=A
task=I
task=U
task=D
Table/@del
In case the operation is D, here you can define a comma separated list of
table names in which the deletion should happen in addition. The prerequisite
for this cascading deletion is the same primary key.
Field
Field is a fix value to define a field in the database table record. You can
define multiple of these tags.
Field/@id
The attribute id specifies the name of the database table field.
Field/@value
The attribute value holds the value of the particular field.
Field/@wrapchar
As default the value is wrapped by the apostrophe character. In case you
want to avoid this (e.g. the value contains a number), you set the wrapchar to
false.
- 14 -
1.3.2 SQL
<DBout type="sql">
<sql>sql statement</sql>
<sql>sql statement</sql>
<sql>sql statement</sql>
...
</DBout>
Prerequisite:
SQL Mode is defined in the outbound setup of the Scenario Step design
(Scenarios4Scenario Step Design 4[Outbound]).
DBout/@type
Mandatory root tag DBout, mandatory attribute with the value sql
sql
With this tag you introduce a sql statement. You can define multiple of these
tags. Whereas in the B1isql format (chapter 1.5) B1i is generating the sql
statements, here the sql statement is finally generated by the vBIU. B1i will
send it without any interpretation to the database system.
- 15 -
DBout/@type
Mandatory root tag DBout, mandatory attribute with the value sql_full
sqlmode
Mandatory tag SQL. The attribute sqlmode is also mandatory. Here you set
the value to single or multiple. This flag is relevant for the processing of
multiple sql statements. The default is multiple.
single:
multiple:
in this mode B1i will process each sql statement one after the
other. This is necessary in case the destination database
system does not support semicolon separated multiple sql
statements, e.g. the DB2 database system.
sql
With this tag you introduce a sql statement. You can define multiple of these
tags. Whereas in the B1isql format (chapter 1.5) B1i is generating the sql
statements, here the sql statement is finally generated by the vBIU. B1i will
send it without any interpretation to the database system.
- 16 -
Prerequisite:
The following configuration in the outbound setup of the Scenario Step design
(Scenarios4Scenario Step Design 4[Outbound] 4[Details]).
Outbound Format: xml
- 17 -
1.4.2 CSV
<Fileout type="file">
<row>
<col>value</col>
<col>value</col>
...
</row>
...
<row>
<col>value</col>
<col>value</col>
...
</row>
</Fileout>
Prerequisite:
The following configuration in the outbound setup of the Scenario Step design
(Scenarios4Scenario Step Design 4[Outbound] 4[Details]).
Outbound Format: dsv
DSV Field Delimiter: , or empty
Optional Settings:
The following configuration in the outbound setup of the Scenario Step design
(Scenarios4Scenario Step Design 4[Outbound] 4[Details]).
Character Encoding: character encoding (default is ISO-8859-1)
DSV-Field Wrapper: wrapper character to wrap a filed in case a value
contains a comma sign.
row
Indicator for a row. You can have multiple of these tags.
col
Indicator for a column. You can have multiple of these tags. The values of
these tags will be concatenated with the comma character in one line,
following the order of the col elements.
- 18 -
fmode
Specification of the write mode for the outbound adapter. "append creates
the file if not existent, appends to the file if already existent. write creates the
file if not existent and throws an exception if the file exists already. overwrite
will writes the file, no matter if already existent or not. delete deletes the file
whether existent or not. Nonexistence of the file to attempt to delete would be
no error, but a failure on deletion if the file exists would be an error.
format
Specification of the outbound format. You have to insert dsv. It stands for
Delimiter Separated Value.
encoding
Character encoding is needed to apply the technical representation of the
characters according to the country or system specific needs. Available: ISO
8859-1, ISO 8859-2, ISO 8859-3, ISO 8859-4, ISO 8859-5, ISO 8859-6, ISO
8859-7, ISO 8859-8, ISO 8859-9, ISO 8859-11, ISO 8859-13, ISO 8859-14,
ISO 8859-15, ISO 8859-16, US-ASCII, EBCDIC, Shift-JIS, EUC-JP, ISO-2022,
GB2312, EUC-KR, Big5, Unicode UTF-7, Unicode UTF-8, Unicode UTF-16,
ISO-10646-UCS2, ISO-10646-UCS4. Please choose the required one from
the list. If not specified or empty, the default ISO-8859-1 is used.
deli
Here you specify the delimiter for the field list. The delimiter for CSV files is ,.
wrap
- 19 -
Here you specify the field wrapper character. The field wrapper is optional and
only used for values, containing the delimiter character (,).
row
Indicator for a row. You can have multiple of these tags.
col
Indicator for a column. You can have multiple of these tags. The values of
these tags will be concatenated with the comma character in one line,
following the order of the col elements.
- 20 -
1.4.4 Text
Any wellformed xml payload
Prerequisite:
The following configuration in the outbound setup of the Scenario Step design
(Scenarios4Scenario Step Design 4[Outbound] 4[Details]).
Outbound Format: txt
Format Control Document: Name of the rule document in the scenario
step group in the BizStore.
Optional Settings:
The following configuration in the outbound setup of the Scenario Step design
(Scenarios4Scenario Step Design 4[Outbound] 4[Details]).
Character Encoding: character encoding (default is ISO-8859-1)
FileOutbound
Mandatory root tag.
segment
The B1i Text outbound supports the definition of multiple line structures. Each
segment describes the structure of one line.
segment/@id
The identifier of a segment. All elements in the outbound xml document with
this name will be processed following the here specified rules. The generated
outbound file is generated based on the order of the segment definitions.
- 21 -
field
Inside a segment you can specify multiple fields and also segments.
field/@id
The identifier of the field. Relevant for processing are all sub-elements with
this name in the outbound xml inside the element corresponding to the
segment.
field/@from
The column where the field will start in the outbound text document.
field/@len
The length of the field in the outbound text document.
field/@default
Here you can define a default value. In case such a value exists it will
overwrite the value provided by the vBIU.
Inside you can also use the following variables:
[lcnt]: line counter: will count up a number for each line.
[mcnt]: main counter: in case a segment is a sub segment, the line counter
of the father segment will be placed here.
[yyyy]: This variable will be replaced by the current year (4 digits)
[mm]: This variable will be replaced by the current month (2 digits)
[dd]: This variable will be replaced by the current day (2 digits)
[hour]: This variable will be replaced by the current hour (2 digits)
[min]: This variable will be replaced by the current minute (2 digits)
[sec]: This variable will be replaced by the current second (2 digits)
field/@justify
Specifies if the fields gets filled up from the left side (the field is right justified
(R) or if the field gets filled up from the right side (the field is left justified (L).
field/@fillchar
Specifies the character to fill the field. In case the fillchar is defined empty, it
will be replaced by blank.
- 22 -
fmode
Specification of the write mode for the outbound adapter. "append creates
the file if not existent, appends to the file if already existent. write creates the
file if not existent and throws an exception if the file exists already. overwrite
will writes the file, no matter if already existent or not. delete deletes the file
whether existent or not. Nonexistence of the file to attempt to delete would be
no error, but a failure on deletion if the file exists would be an error.
format
Specification of the outbound format. You have to insert txt.
encoding
Character encoding is needed to apply the technical representation of the
characters according to the country or system specific needs. Available: ISO
8859-1, ISO 8859-2, ISO 8859-3, ISO 8859-4, ISO 8859-5, ISO 8859-6, ISO
8859-7, ISO 8859-8, ISO 8859-9, ISO 8859-11, ISO 8859-13, ISO 8859-14,
ISO 8859-15, ISO 8859-16, US-ASCII, EBCDIC, Shift-JIS, EUC-JP, ISO-2022,
- 23 -
- 24 -
Optional:
The following configuration in the outbound setup of the Scenario Step design
(Scenarios4Scenario Step Design 4[Outbound] 4[Details]).
SOAP Action: soap action definition
queryparam
Optional definition of url query parameter. Can be specified as an attribute
directly in the first line of the vBIU outbound section.
<xsl:template name="transform">
<xsl:attribute name="queryparam">querykey.K0=12, querykey.K1=A</xsl:attribute>
SOAP Action
Per default B1i hands over an empty SOAP action. Whereas this serves most
of the cases, there are some older web services that need the definition of the
called method via the SOAP action. For this purpose you can define the
SOAP action in the outbound definition.
- 25 -
2. Preconfiguration Schemas
2.1 Scenario Package Setup Description
This xml document is required to specify the setup if you are using the B1i API
to activate a Scenario Package automatically (Please refer to reference guide
05, chapter 4).
<vPacSetup xmlns="urn:com.sap.b1i.vplatform:entity" Id="package id" Status="status">
<SenderList>
<Sender id="sysid" active="true"/>
<Sender id="sysid" active="true"/>
...
</SenderList>
<ReceiverList>
<Receiver id="sysid" active="true"/>
<Receiver id="sysid" active="true"/>
...
</ReceiverList>
<vBIUList>
<vBIU Id="step identifier" active="true"/>
<vBIU Id="step identifier" active="true"/>
...
</vBIUList>
<Publish>
<vBIU Id="step identifier">
<Sender Id="sysid" filter="" active="true"/>
<Sender Id="sysid" filter="" active="true"/>
...
</vBIU>
<vBIU Id="step identifier">
<Sender Id="sysid" filter="" active="true"/>
<Sender Id="sysid" filter="" active="true"/>
...
</vBIU>
...
</Publish>
<Subscriptions>
<vBIU Id="step identifier">
<Receiver Id="sysid" filter="" active="true"/>
<Receiver Id="sysid" filter="" active="false"/>
...
</vBIU>
<vBIU Id="step identifier">
<Receiver Id="sysid" filter="" active="true"/>
<Receiver Id="sysid" filter="" active="false"/>
...
</vBIU>
...
</Subscriptions>
<TimerList>
<Timer Id="step identifier" min="" hour="" day="" month="" dow="" year=""/>
<Timer Id="step identifier" min="" hour="" day="" month="" dow="" year=""/>
...
</TimerList>
</vPacSetup>
- 26 -
SenderList
Here you list all sender systems, relevant for all Scenario Steps which you
want to set up. SAP allows you to define unique identifier (Sysids) for the
systems in the SLD (System Landscape Directory) which can be addressed
here. How to create an SLD entry via API, please refer to reference guide 05,
chapter 2.
ReceiverList
Here you list all receiver systems, relevant for all Scenario Steps which you
want to set up. SAP allows you to define unique identifier (Sysids) for the
systems in the SLD (System Landscape Directory) which can be addressed
here. How to create an SLD entry via API, please refer to reference guide 05,
chapter 2.
Publish
Here you specify all publications. For each Scenario Step, you want to set up,
you create a section <vBIU>. Inside you list all sender systems which you
want to set up for this particular Scenario Step. With the attribute filter, you
can specify a condition under which the sender message will be processed.
Here you can note any xPath statement. In case the inbound is Predecessor,
please specify the Sysid of the predecessor Scenario Step. In case the
inbound is Internal Queue, please specify the internal B1i system SysId
0010000000.
Subscriptions
Here you specify all subscriptions. For each Scenario Step, you set up to
publish data and which is an asynchronous step, you have to create a section
<vBIU>. Inside you list all receiver systems where you want to send data to.
With the attribute filter, you can specify a condition under which the receiver
will receive the message. Here you can note any xPath statement. In case the
outbound is Void, please specify the internal B1i system SysId 0010000000.
TimerList
Here you specify scheduler settings for all Scenario Step, triggered by timer.
This definition is optional. In case there is no definition, the timer settings of
the Scenario Step design will be taken.
- 27 -
- 28 -