Reducing order cycle time is a priority for many companies. The author demonstrates how to correctly configure your direct ship functionality. He also explains the benefits of a successful direct ship model, which include the ability to ship from the site closest to the customer, reduced shipping costs, and an increased return on inventory investment.
I recently helped implement direct ship functionality at a big computer company that manufactures and distributes goods
to end customers through various channels. The company operates in the United States, Canada, and Latin America, and has
its own manufacturing facility in the U.S. In addition, the company uses OEM vendors from far-eastern countries such as
Taiwan and China to fulfill demand.
To reduce order cycle time (from order entry to delivery of the product to the end customer), the company
has three third-party logistics (3PL) provider warehouses spread across the continent. It ships the product from whichever
of these hubs is closest to the end
customer.
Direct ship in this context is the ability to ship products from the manufacturing source directly to an
end customer, bypassing traditional company distribution facilities. If implemented properly, a direct ship model can help
a company fulfill these objectives:
- Ship products directly from the
manufacturing site to the customer whenever possible.
- Reduce order cycle time by shipping products from a warehouse closest to the ship-to customer whenever
possible.
- Reduce overall inventory investment in the supply chain.
- Avoid multiple "touches" of the
product before it is shipped to the customer.
My requirement for implementing the direct ship functionality was to create the logic to determine which
delivering plant and shipping point in the sales order is populated. Note that it is not always from the predefined
material master, customer master, or both. In standard SAP, the plant from which the goods should be delivered to the
customer is automatically copied into the sales order item based on the following hierarchical sequence:
- From the customer master record of the goods recipient
- From the sales view of the material master record
- From the customer material information record
Also, consider the case of a one-time customer placing an order for a product via the Web. The delivery
plant in the one-time customer master is fixed, whereas the ship-to address for every customer changes based on the end-
customer location. In this case, you can develop intelligence to populate the delivering plant in the sales
order as the nearest logistics hub to the end customer based on the transportation zone rather than a fixed plant
irrespective of the location. This way, both order cycle time and freight cost can be reduced.
Benefits of This Configuration
Shipping details like the shipping point and plant are populated in the sales order based on the
hierarchical sequence of the customer master, material master, or a combination of both. Thus, if a delivery plant is
defined in the customer master, then this value is fixed and SAP populates this plant for all the materials ordered by
this customer without considering the closest alternate source of supply. Similarly, if a delivery plant is defined in the
material master, then this value is fixed and SAP populates this plant for all the customers without considering the
closest logistics hub to the end customer.
The direct ship model I used overcomes this limitation by populating the delivery plant in the sales order
to deliver directly from the OEM plant, the
closest logistics hub, or the company's own manufacturing facility. This way, you are not restricted to the
standard SAP-provided means of populating the plant and shipping point in the sales order.
To achieve the stated business objectives, the following design was implemented on the Sales and
Distribution (SD) module of SAP R/3 4.70. This design can be implemented in all
previous versions as well.
- Each OEM vendor location and logistics provider hub was modeled as a unique shipping point and
plant.
- All materials that were part of the direct ship model were uniquely
identified.
- A few customized tables were added to hold data used in direct ship sales user exit execution.
- The sales order user exit was used to include the program flow logic for the direct ship process.
OEM Vendor Location and 3PL Hub
Each OEM vendor location and 3PL hub was modeled as a unique shipping point and plant combination.
Consider that this company has two OEM vendors, OEM1 and OEM2, in Taiwan and one in
China, OEM3. This can be set up in SAP as shown in Table 1.
| OEM1 |
OEM1 |
SL00 |
OEM1 |
| OEM2 |
OEM2 |
SL00 |
OEM2 |
| OEM3 |
OEM3 |
SL00 |
OEM3 |
|
| |
| Table 1 |
Setup for the OEM vendors. The menu path to set up SAP
plant is IMG>Enterprise Structure>Definition>Logistics-General>Define Plant. The menu path to set up SAP
storage location is IMG>Enterprise Structure>Definition>Materials Management>Maintain storage location.
The menu path to set up SAP shipping point is IMG>Enterprise Structure>Definition>Logistics Execution>Define
shipping point. |
|
Also, the company has three 3PL provider warehouses — LH01, LH02,
and LH03 — and its own manufacturing facility/warehouse, OMFL. This can be set up
in SAP as shown in Table 2.
| OMFL |
OMFL |
0001 |
0001 |
| LH01 |
LH01 |
SL00 |
LH01 |
| LH02 |
LH02 |
SL00 |
LH02 |
| LH03 |
LH03 |
SL00 |
LH03 |
|
| |
| Table 2 |
Setup for 3PL providers |
|
Shippable Materials
All shippable materials that are part of the direct ship model are uniquely identified by the MRP group
setting on the material master. The MRP group is maintained in the MRP 1 view of the
material master as shown in Figure 1. All materials included in the direct ship model are divided into
two categories: build to replenish (BTR) materials with the MRP group as ZBTR and
configure to order (CTO) materials with the MRP group as ZBTO.

Figure 1
Maintain the MRP group in the MRP 1 view of the material master
BTR:ZBTR Item Category GroupNORM Item CategoryTANOMFL CTO: These are company products that are configured after a customer places an order.
They can be shipped from an OEM vendor location or from the company's manufacturing facility. These materials are set up
with MRP group ZBTO. Item Category Group for these materials is BANC,
and Item Category defaults to TAB. In this model, a purchase requisition is created
behind the sales order. The purchase requisition is converted to a PO, which is sent to the OEM. The OEM builds the
product, and either ships the product to the company's warehouse to be included on a delivery from its warehouse, or
stores the product at the OEM hub and sends a signal (EDI or flat file) to the company that results in a goods receipt
being posted against the PO.
Once the goods receipt has been posted, the company can trigger a delivery signal for the OEM to ship the
product from the OEM hub directly to the end customer. For the scope of this project, CTO products are not supported at
3PL provider hub locations.
Customized Tables
The following customized tables are added to hold data used in the execution of the direct ship sales user
exit.
Z101 (direct ship): This table lists all the valid locations from which a specific
material can be shipped to the customer. These locations could be either OEM plants or 3PL warehouses. It has the
following fields: Client, Sales Org., Plant, StorageLocation, Material, and Shipping
Point. It also includes two fields that are used in the direct ship sales user exit: direct ship
Flag and Effective Date.
If the direct ship Flag is set as 1 for a particular location, then the
user exit always attempts to ship the material from that location, provided that other business rules are not violated.
The effective date provides the ability to control the activation of the user exit for specific materials. If an effective
date is set in this table for any material, then that material/plant combination is considered by the user exit only if
the sales order creation date is after the effective date.
Figure 2 shows sample entries in table Z101 with all fields relevant for
the direct ship sales user exit. In this example, I've designated the Sales Org. for the U.S., Canada,
and Latin America as US00, CA00, and LA00, respectively.

Figure 2
Figure 2Table Z101 fields relevant for the direct ship sales user exit
Z102 (shipping point and storage location combination): This table lists all the valid
storage location and shipping point combinations that could exist on a sales order line item. Just before completion, the
user exit verifies that all plant shipping point combinations on the sales order are consistent with entries in this
table. This is designed to protect the business user from unwarranted sales order maintenance. Z102 has
the following fields: Sales Org., Plant, Shipping Point, and StorageLocation.
Z103 (geographical hub based on transportation zones): This table is designed to meet the
company's requirement to ship direct ship products from warehouses closest to the ship-to customer. It is keyed on sales
organization and transportation zone and contains the storage location and plant and shipping point combination deemed to
be closest to the transportation zone. The transportation zone is derived from the ship-to customer on the sales
order. Figure 3 shows sample entries in table Z103 with all fields relevant for the
direct ship sales user exit.

Figure 3
Table Z103 fields relevant for the direct ship sales user exit
Z104 (sales user exit fallback parameters): This table lists the warehouse of last
resort. If the user exit is unable to pick a plant and shipping point from Z101 and Z103
tables without violating the company's business rules, it chooses the entry from this table. It has the following fields:
Client, Sales Org., Plant, StorageLocation, and Shipping Point. The company's own
manufacturing facility can be maintained as the plant/storage location/shipping point of last resort for all the sales
organizations. Figure 4 shows sample entries in table Z104 with all fields relevant for the direct ship
sales user exit.

Figure 4
Table Z104 fields relevant for the direct ship sales user exit
Z105 (sales organization and order types active for direct ship)Z105Sales
OrgSales Document Type The key business rules implemented in the direct ship sales user exit are:
- The direct ship model should be active only for valid sales organization/order type combinations.
Table Z105 is used for this with sales organization and sales document type as the primary keys.
- The user exit should be activated
only when products that have been identified as direct ship materials — materials with
ZBTR or ZBTO as the MRP group — are on the sales order.
- The user exit should have the option of temporarily turning off for specific materials for a certain
period. An effective date is maintained for each unique material/plant combination in table Z101. The
user exit is effective for only those materials for which the effective date is less than or equal to the sales order
creation date. If the effective date is blank, then the user exit is always active for this material.
- If a material has been identified as direct-shippable from the OEM vendor location and it is the only
shippable material on the sales order, then point it to the OEM vendor location.
- If a material has been identified as direct-shippable from the OEM vendor location and it is on a non-
ship complete order, then point it to the OEM vendor location.
- If all materials on a ship-complete order are direct-shippable materials from the same OEM vendor
location, then point all line items to the OEM
vendor location.
- If a material is not direct-shippable from the OEM vendor, then attempt to point it to the 3PL provider
location closest to the ship-to customer. Table Z103 is used for determining the appropriate plant.
- If a material is not set up to be shipped from an OEM vendor
location or a 3PL provider location, then point it to the warehouse of last resort — the company's
own manufacturing facility. Table Z104 is used for this.
Sales Order User Exit
The sales order user exit is used to include the program flow logic for the direct ship process.
Figure 5 shows the program flow logic of the direct ship sales user exit. It is activated when a sales
order line item is created or updated. The user exit always populates the shipping point and plant as a pair. The user
exit relies only on tables Z101, Z103, and Z104 for these entries. This
logic can be coded in the user exits in the SAP standard program MV45AFZZ. The two user exits used in
MV45AFZZ are USEREXIT_MOVE_FIELD_TO_VBAP and
USEREXIT_SAVE_DOCUMENT_PREPARE.

Figure 5
Direct ship sales user exit program flow
Z101Z103Z104 USEREXIT_SAVE_DOCUMENT_PREPARE is used for a number of tasks shown in Figure 5. Use it to
ensure that the direct ship model is active only for valid sales organization/order type combinations (first decision
box).
If a material has been identified as direct-shippable from the OEM vendor location and it is the only
shippable material on the sales order, then use it to point the material to the
OEM vendor location. If a material has been identified as direct-shippable from the OEM vendor location and
it is on a non-ship complete order, then use USEREXIT_SAVE_DOCUMENT_PREPARE to point it to the OEM vendor
location. If all
materials on a ship complete order are direct-shippable materials from the same OEM vendor location, then
point all line items to the OEM vendor location via this user exit. Finally, implement a consistency check for valid
storage location and shipping point combination based on table Z102 using
USEREXIT_SAVE_DOCUMENT_PREPARE.
Ajay Pande
Ajay Pande is a senior consultant with the Enterprise Solutions Group of Infosys Technologies Ltd. He has experience in SAP implementation, configuration, and project management at Fortune 500 companies. He has also worked on integrating finance and logistics modules. Ajay holds a bachelor’s degree in mechanical engineering and a master’s degree in industrial engineering.
You may contact the author at ajay_pande@infosys.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.