BDoc message synchronization and message flow are always carried out across defined interfaces.
These interfaces are methods of classes CL_SMW_SFLOW (synchronization flow) and CL_SMW_MFLOW (messaging flow).
The various contexts are described in the following section.
Synchronization Flow
Context |
Context Name |
Method(s) |
Use |
SI0 |
sBDoc check |
CL_SMW_SFLOW=> PROCESS_INBOUND_MESSAGE PERS_VALIDATE |
Call by the mobile inbound adapter or by the ASCII Adapter to transfer data into the system: (1) Call of mapper and start of message flow, if an sBDoc mapping is defined after mBDoc message, or (2) Start of outbound processing |
SI1 |
Inbound sBDoc (before check) |
CL_SMW_SFLOW=> PROCESS_INBOUND_MESSAGE PERS_VALIDATE |
Before the mapping or outbound processing is carried out (see SI09), a range of services can be called. |
SO1 |
sBDoc notification |
CL_SMW_SFLOW=> PROCESS_NOTIFICATION |
CDB update, receiver determination, triggering of realignment, delta messages to mobile clients. |
SOA |
sBDoc notification (additional calls) |
CL_SMW_SFLOW=> PROCESS_NOTIFICATION |
Additional calls to SO1 – for BDoc type-specific processing by customers (e.g. statistics). |
SO2 |
sBDoc rejection |
CL_SMW_SFLOW=> PROCESS_REJECTION |
Called if a change is not allowed or was not successful. Aim is to reset the client database to a consistent status. Reading of "before images" from the CDB and sending then back to the sender. |
SOB |
sBDoc rejection (additional calls) |
CL_SMW_SFLOW=> PROCESS_REJECTION |
Additional calls to SO2 – for BDoc type-specific processing by customers (e.g. statistics). |
SO3 |
sBDoc initial data transfer |
CL_SMW_SFLOW=> PROCESS_INITIAL_LOAD |
Update of CDB provided that the distribution is not (yet) active. Call of indiscrete CDB service (bulk): No replication. |
SOC |
sBDoc initial data transfer (additional calls) |
CL_SMW_SFLOW=> PROCESS_INITIAL_LOAD |
Additional calls to SO3 – for BDoc type-specific processing by customers (e.g. statistics). |
SO4 |
sBDoc Direct Send |
CL_SMW_SFLOW=> SEND |
Sends BDoc message to specific receivers (determined by the caller of the flow). Extract uses this method to send extract BDoc messages and ZAP BDoc messages to mobile clients. |
Messaging Flow
Context |
Context Name |
Method(s) |
Use |
MI0 |
mBDoc check |
CL_SMW_SFLOW=> VALIDATE PERS_VALIDATE |
Called by the synchronization inbound flow, XML Adapter and Adapter Framework for transferring data to the [CRM] application. Either the BDoc message is accepted and the application starts the outbound processing or the BDoc message is rejected. |
MO1 |
mBDoc notification |
CL_SMW_SFLOW=> PROCESS_NOTIFICATION |
Called by the application to inform interested parties of changes to an object. The messaging flow is responsible for forwarding the change message to subscribed sites and for calling further consumers (services), such as the BW Adapter. |
MOA |
mBDoc notification (additional calls) |
CL_SMW_SFLOW=> PROCESS_NOTIFICATION |
Additional calls to MO1 – for BDoc type-specific processing by customers, for example, calling the mobile mapping function (mBdoc-> sBdoc). |
MO2 |
mBDoc multiple notification |
CL_SMW_SFLOW=> PROCESS_NOTIFICATION_MULT |
Called by the application to inform interested parties of changes to an object. The messaging flow is responsible for forwarding the change message to subscribed sites and for calling further consumers (services), such as the BW Adapter. |
MOB |
mBDoc multiple notification (additional calls) |
CL_SMW_SFLOW=> PROCESS_NOTIFICATION_MULT |
Additional calls to MO2 – for BDoc type-specific processing by customers, for example, calling the mobile mapping function (mBdoc-> sBdoc). |
MO3 |
mBDoc initial data transfer |
CL_SMW_SFLOW=> PROCESS_INITIAL_LOAD |
Called by the Adapter after an extract (in CRM or OLTP) to write the current status to the CDB (the mapping function for the mobile applications should be part of the MOC context). |
MO4 |
mBDoc Direct Send |
CL_SMW_MFLOW=>SEND |
Sending a message directly to transferred recipient list, for example, in the initial data transfer for the business partner from CRM to the R/3 backend. |
MOC |
mBDoc initial data transfer (additional calls) |
CL_SMW_SFLOW=> PROCESS_INITIAL_LOAD |
Additional calls to MO3 – for BDoc type-specific processing by customers, for example, calling the mobile mapping function (mBdoc-> sBdoc). |