<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bryan Thompson - Oracle Consultant &#187; Shipping Execution</title>
	<atom:link href="http://www.bryanthompsononline.com/oracle/category/shipping-execution/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bryanthompsononline.com/oracle</link>
	<description>A forum for sharing Oracle knowledge!</description>
	<lastBuildDate>Sun, 30 May 2010 15:56:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Interfacing Oracle to Your Legacy WMS &#8211; A Good Idea?</title>
		<link>http://www.bryanthompsononline.com/oracle/2008/01/10/interfacing-oracle-to-your-legacy-wms-a-good-idea/</link>
		<comments>http://www.bryanthompsononline.com/oracle/2008/01/10/interfacing-oracle-to-your-legacy-wms-a-good-idea/#comments</comments>
		<pubDate>Thu, 10 Jan 2008 18:11:34 +0000</pubDate>
		<dc:creator>bryan</dc:creator>
				<category><![CDATA[Inventory]]></category>
		<category><![CDATA[Order Management]]></category>
		<category><![CDATA[Order to Cash]]></category>
		<category><![CDATA[Shipping Execution]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.bryanthompsononline.com/oracle/2008/01/10/interfacing-oracle-to-your-legacy-wms-a-good-idea/</guid>
		<description><![CDATA[Over the years I've been involved with several Oracle implementations where the decision was made to retain the existing warehouse and inventory management systems in place of Oracle WMS. Perhaps your organization had made a similar decision knowing that the existing warehouse solution was best suited for your operations. Not to say that Oracle WMS is the best warehouse management solution out there - because it may very well not be. In fact, it may be true that your Legacy inventory system is the best fit for your business. Not only may it be the best fit, but keeping the existing system in place also eliminates any risk involved in changing the systems of what can be a fragile inventory and shipping operation. In other words, if it ain't broke, don't fix it - right?]]></description>
			<content:encoded><![CDATA[<p>Over the years I&#8217;ve been involved with several Oracle implementations where the decision was made to retain the existing warehouse and inventory management systems in place of Oracle WMS. Perhaps your organization had made a similar decision knowing that the existing warehouse solution was best suited for your operations. Not to say that Oracle WMS is the best warehouse management solution out there &#8211; because it may very well not be. In fact, it may be true that your Legacy inventory system is the best fit for your business. Not only may it be the best fit, but keeping the existing system in place also eliminates any risk involved in changing the systems of what can be a fragile inventory and shipping operation. In other words, if it ain&#8217;t broke, don&#8217;t fix it &#8211; right?</p>
<p>Perhaps, but before you go down this path there is another factor that should be taken into consideration: ensuring the order fulfillment process as a whole remains seamless and intact. What is the impact to the order entry, scheduling, pick release, on-hand availability and reservation processes if an interface is built to an outside WMS? The answer to this question is especially important in a high-volume environment where your organization fulfills hundreds to thousands of orders a day.</p>
<p>Generally, when an interface between Oracle (or any order processing system for that matter) and a Legacy WMS is built, a division of duties is established. Oracle is given the responsibility to capture orders and release these orders for shipment when ready. The Legacy WMS system is responsible for accepting shipment requests, processing these 
<table align="left" border="0" cellpadding="0" cellspacing="0">
<tr><td>
<script type="text/javascript"><!--
google_ad_client = "pub-4516530845610319";
//200x200, created 12/11/07
google_ad_slot = "2730876339";
google_ad_width = 200;
google_ad_height = 200;
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td></tr>
</table>
shipments, and sending the results of the shipment back to Oracle. Essentially, the Pick Release process in Oracle is the &#8220;throw&#8221; to Legacy WMS, and the Ship Confirmation step is the &#8220;catch&#8221;.</p>
<p>Since the nature of both system&#8217;s responsibilities require access to inventory data, your organization must understand that not only are you building a shipping interface, but you are committing to maintain two sets of inventory data that may require several interfaces. Oracle will need access to on-hand balance and reservation information so that order processors have insight to product availability and so that the system knows what orders are eligible for shipment. The Legacy WMS will of course require inventory data to maintain on-hand balance and deduct balances upon shipment. <em>Oracle inventory data, to a degree, will need to be in synch with inventory data in Legacy.<br />
</em></p>
<p>To what degree must be decided. Your organization may determine that both sets of inventory do not require real-time synchronization. For example, you may decide that manual adjustments made to inventory in Legacy may only need to be interfaced through a daily polling process that posts these updates to Oracle. If this direction is taken, then you will need to decide how your shipping interface will handle exceptions that may result from an on-hand balance delta between Oracle and Legacy inventory.</p>
<p>How can an inventory delta occur? Well, let&#8217;s say at the time we place an order for an item in Oracle there is 1 quantity available for reservation. However, during the day a warehouse worker reviews the item and determines that it fails to meet quality standards and as a result he/she performs a manual transaction in the Legacy WMS to issue that quantity to scrap. Because Oracle is unaware that this transaction occurred, the interface will continue to release the ordered item for shipment &#8211; even though there isn&#8217;t enough quantity on-hand in Legacy.</p>
<p>In this situation, you will need to ensure that this situation (among many others) can be handled by the interface. From a business prospective, a decision needs to be made to determine how exactly this delta should be handled. For example, you may want to leave the interfaced transaction in an error status and continue to retry until inventory is made available. Or you may want to cancel the transaction entirely. Whatever that action may be, it&#8217;s important that there is visibility to these kinds of inventory deltas.</p>
<p>If your organization decides that Oracle inventory and Legacy inventory requires real-time synchronization, your interface will <em>still</em> need the ability to handle situations that result in inventory deltas. Let&#8217;s face it &#8211; we&#8217;re all human. Any level of time and effort that is put into a real-time interface could still result in situations unaccounted for. And as best practice, an error handling procedure should still be implemented, especially in an environment where you require real-time synchronization.</p>
<p>Attempting to identify all scenarios that require a communication between Oracle and the Legacy WMS can get pretty crazy. Here are some examples of scenarios that would need to be included:</p>
<ul>
<li>Order cancelations in Oracle</li>
<li>Shipment cancelations in Legacy</li>
<li>Manual inventory transactions in either system</li>
<li>Inventory location transfers, but this is only important if your organization is utilizing hard reservations at order time, <em>which in this case you should seriously rethink using an interface.<br />
</em></li>
<li>Split and partial shipment scenarios</li>
</ul>
<p>We could go on and on with the list of scenarios to cover &#8211; these are just a small fraction of what can occur. And as I mentioned, even if you think you&#8217;ve listed all scenarios, you <em>still</em> need an error resolution process.</p>
<p>I can&#8217;t stress more the importance of error resolution in the event of an inventory delta. Whether it&#8217;s an automated or manual solution is not important, but the most important point is making sure that if an unidentified inventory delta situation occurs that the interface can be capture and handle this error. At minimum, if the error cannot be handled, at least provide the tools necessary to bring visibility to the situation. Trust me &#8211; there is nothing worse than going live with an interface and experiencing errors that were unaccounted for.</p>
<p>This all may come off as something you probably learned in a beginner&#8217;s course for software design, but I&#8217;ve seen and witnessed the aftereffects of an unsuccessful inventory interface launch with some very reputable clients. What results is the very situation that the client wanted to avoid in the first place &#8211; a chaotic situation that requires the involvement of lots of time and resources that the organization did not budget for but has no choice to deploy in order to fix an interface that is the backbone of their business.</p>
<p>Some brief examples I&#8217;d like to shareâ€¦</p>
<p style="margin-left: 36pt"><strong><em>Example #1<br />
</em></strong></p>
<p style="margin-left: 36pt"><em>Working with a life sciences client to implement Oracle Order Management a few years back, the organization decided to keep their existing mainframe inventory system with the idea of avoiding risk and cutting costs. The consulting group at the time recommended against this decision, but the client continued on and even decided to take on the effort using internal resources.<br />
</em></p>
<p style="margin-left: 36pt"><em>In a nutshell, the core exchange of the interface was centered on the Pick Release and Ship Confirmation processes. Testing was lackluster and didn&#8217;t cover all scenarios such as partial line shipments or order cancelations. More importantly, there lacked a substantial volume test.<br />
</em></p>
<p style="margin-left: 36pt"><em>What resulted at go-live was a disaster. Because of the bugs around partial line shipping, some orders were shipped two, three, and occasionally four times over. It took a team of 10-12 people during go-live to identify the dozen situations that were causing the Pick Release failures and shipping issues. Overall, it had taken a year+ to stabilize the situation and resulted in an exceeded IT budget and sales losses to the client. A team still exists today in maintaining and monitoring this interface.<br />
</em></p>
<p style="margin-left: 36pt"><strong><em>Example #2<br />
</em></strong></p>
<p style="margin-left: 36pt"><em>A publishing organization implementing Oracle decided to build an interface to their existing warehouse system. Aside from its age, this system was a beta version of the vendor&#8217;s product. It was heavily customized and interfaced to dozens of other order processing systems already. Cost and risk were definitely a factor.<br />
</em></p>
<p style="margin-left: 36pt"><em>Results at go-live were also poor. Multiple or no shipments were occurring. Since shipment sets in Oracle were not in synch with the activity that occurred in the legacy system, it caused many issues. An extensive amount of resources were needed to help stabilize the situation. Over time, the client became limited to the amount of functionality that could be used in Oracle. For example, for an order that had several shipping locations, separate orders had to be created for each shipment vs. establishing different shipping addresses at the order line level.<br />
</em></p>
<p style="margin-left: 36pt"><em>Additionally, the client implemented a daily process that &#8220;synchronizes&#8221; the Oracle on-hand balances with Legacy on-hand balances if a delta occurs (scary). Overall, it has taken nearly 2 years to stabilize the situation and currently has resources dedicated to the effort today.<br />
</em></p>
<p>As you can see, clients typically downplay the risk exposed to the rest of the fulfillment process when implementing an inventory interface to &#8220;protect&#8221; the shipping operation. Even worse, these organizations had made the decision to keep the legacy WMS because it was determined that the implementation effort in replacing the system was to costly compared to building the interface. Looking at this short-term, this may be true. But like most system interface projects, the cost of maintaining such a beast can greatly exceed the cost of implementing a new WMS over time (at least based on my experience).</p>
<p>If you&#8217;re an organization that is the process of deciding upon an inventory and shipment interface or a new WMS, I hope you can take the above situations into consideration. In going with the direction of an interface, you must also take into account:</p>
<ul>
<li><strong>Increased Go-Live Risk</strong> &#8211; In case the situation gets ugly, you&#8217;ll need extra time and resources to correct and stabilize the situation. Also will need to factor in any impact to the business and sales it may cause.</li>
<li><strong>A New Department </strong>- The interface itself will be a unique process that will require several individuals who understand and are familiar with the process and include expertise in both the Oracle and Legacy inventory systems.</li>
<li><strong>Difficulty or Inability to Upgrade/Change </strong>- Being that the interface will be a delicate process requiring much involvement from both systems at a technical level, any changes to the table structure on the Oracle side as a result of an upgrade or customization could result in breaking this interface. Likewise, any changes done to the legacy side could also adversely affect this interface. With that said, expect all upgrade efforts to your system to exponentially increase.</li>
</ul>
<p>My position should be pretty clear from all my ranting &#8211; DON&#8217;T DO IT! Or at least if you do, thoroughly evaluate the alternative of implementing a new WMS. Hopefully through the experiences I&#8217;ve shared, you&#8217;ll find that both options are exposed to the same level risk, but that the long term cost benefits of implementing a new WMS will prevail.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bryanthompsononline.com/oracle/2008/01/10/interfacing-oracle-to-your-legacy-wms-a-good-idea/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Shipping without Transacting Inventory in Oracle</title>
		<link>http://www.bryanthompsononline.com/oracle/2007/08/01/shipping-without-transacting-inventory-in-oracle/</link>
		<comments>http://www.bryanthompsononline.com/oracle/2007/08/01/shipping-without-transacting-inventory-in-oracle/#comments</comments>
		<pubDate>Wed, 01 Aug 2007 23:27:26 +0000</pubDate>
		<dc:creator>bryan</dc:creator>
				<category><![CDATA[Inventory]]></category>
		<category><![CDATA[Order Management]]></category>
		<category><![CDATA[Order to Cash]]></category>
		<category><![CDATA[Shipping Execution]]></category>

		<guid isPermaLink="false">http://www.bryanthompsononline.com/oracle/2007/08/01/shipping-without-transacting-inventory-in-oracle/</guid>
		<description><![CDATA[From an Oracle prospective, when I say "Shipping without Transacting Inventory", I mean just that - being able to add a line item to the sales order in Order Management, following through with the pick release and shipment confirmation like a normal inventory item, but avoiding the inventory transactions that result from the shipment...]]></description>
			<content:encoded><![CDATA[<p>From an Oracle prospective, when I say &#8220;Shipping without Transacting Inventory&#8221;, I mean just that &#8211; being able to add a line item to the sales order in Order Management, following through with the pick release and shipment confirmation like a normal inventory item, but avoiding the inventory transactions that result from the shipment.</p>
<p>  &#8221;What&#8221; you say?   Shipping an item without deducting inventory?   Why would anybody want to do that?</p>
<p>Believe it or not, there are certain requirements which make this a viable solution.   For example, your organization may:</p>
<ul>
<li>Periodically ship low costs goods along with your product, such as nuts or bolts, tacks, etc., that would be too costly from an inventory management prospective to track on-hand balance.</li>
<li>Offer services along with the shipped product that, for legal reasons, may need to appear on the shipment documentation.  </li>
<li>Or the service being provided could be related to the shipment itself, which would also entail it appearing on the shipping docs.</li>
<li>Apply charges along with your product that must appear as line items on sales, shipment, and invoicing documentation.</li>
</ul>
<p>If any of these situations apply to your business, it&#8217;s quite possible that shipping without transacting inventory could work for your organization.  </p>
<p>Surprisingly, to make shipping without transacting inventory work, there are only a few configurations that need to take place &#8211; the most important being the item setup.   Essentially, we want to attribute this item so that it&#8217;s not an inventory item but orderable and shippable from an Order Management prospective.  </p>
<p>While there are a number of item attributes that require setup, these settings in particular are important in making our scenario work:</p>
<ul>
<li>Under the &#8220;Inventory&#8221; tab:<br />
o  Inventory Item Unchecked &#8211; This ensures that the Shipping Execution module treats the item like a non-inventory item.<br />
o  Stockable <strong>Unchecked</strong> &#8211; As a result of making the item non-inventory the stockable cannot be checked.<br />
o  Transactable <strong>Unchecked</strong> &#8211; Same situation for this attribute, can&#8217;t be checked if we&#8217;re dealing with a non-inventory item.  </li>
</ul>
<p><img id="image36" title="shot-1.gif" alt="shot-1.gif" src="http://www.bryanthompsononline.com/oracle/wp-content/uploads/2007/08/shot-1.gif" /></p>
<ul>
<li>Under the &#8220;Order Management&#8221; tab<br />
o  Customer Ordered <strong>Checked </strong>- Allows the item to be placed on a sales order in Order Management.<br />
o  Customer Orders Enabled <strong>Checked</strong> &#8211; Simply enables the customer orderable functionality.<br />
o  Shippable <strong>Checked</strong> &#8211; Marks the item as shippable.   This is important in attributing the item as shippable, but a non-inventory item.      </li>
</ul>
<p><img id="image37" title="shot-2.gif" alt="shot-2.gif" src="http://www.bryanthompsononline.com/oracle/wp-content/uploads/2007/08/shot-2.gif" /></p>
<ul>
<li>Under the &#8220;Invoicing&#8221; tab<br />
o  Invoiceable Item &#8211; <strong>Checked</strong><br />
o  Invoice Enabled &#8211; <strong>Checked</strong>    </li>
</ul>
<p><img id="image38" title="shot-3.gif" alt="shot-3.gif" src="http://www.bryanthompsononline.com/oracle/wp-content/uploads/2007/08/shot-3.gif" /></p>
<p>Next, aside from having all the basic Order Management setups in place, it&#8217;s important that the line type being used is assigned to a workflow which contains the shipment activity so that the order follows through the Pick Release and Ship Confirmation process steps.   Oracle generic line workflows such as &#8220;Line Flow &#8211; Generic&#8221; or &#8220;Line Flow &#8211; Generic, Ship Only&#8221; can be used.</p>
<p align="center"><img id="image39" title="shot-4.gif" alt="shot-4.gif" src="http://www.bryanthompsononline.com/oracle/wp-content/uploads/2007/08/shot-4.gif" /></p>
<p>That&#8217;s it!   Pretty simple, eh?   Now that we know how to setup our shippable, non-inventory item and have our basic Order Management setups in place, let&#8217;s test our scenario.</p>
<p>Using an item called ZBULK that I attributed as non-inventory and shippable, I enter a sales order using a line type which I have assigned to the &#8220;Line Flow &#8211; Generic&#8221; workflow.   The &#8220;Customer Order Enabled&#8221; flag of the item allows me to add this item to the sales order.   After we book the order, the line automatically progresses into an &#8220;Awaiting Shipping&#8221; status.</p>
<p><img id="image40" title="shot-5.gif" alt="shot-5.gif" src="http://www.bryanthompsononline.com/oracle/wp-content/uploads/2007/08/shot-5.gif" /></p>
<p>Next, like any normal inventory item, we proceed with the Pick Release of the sales order.   If this were a typical inventory item, the resulting inventory transaction from the execution of Pick Release to the completion of the Move Order would be a sub-inventory transfer from the inventory location of the stocked good to the staging sub-inventory.   And as a result of the sub-inventory transfer the shipping transaction status changes from &#8220;Released to Warehouse&#8221; to &#8220;Staged/Pick Confirmed&#8221;.</p>
<p>However, because the combination of flags we have set on our ZBULK item (&#8221;Inventory Item&#8221; flag unchecked; &#8220;Shippable&#8221; checked), the shipping transaction progresses directly to a &#8220;Staged/Pick Confirmed&#8221; status &#8211; bypassing the sub-inventory transaction that results from the Move Order.   
<table align="left" border="0" cellpadding="0" cellspacing="0">
<tr><td>
<script type="text/javascript"><!--
google_ad_client = "pub-4516530845610319";
//200x200, created 12/11/07
google_ad_slot = "2730876339";
google_ad_width = 200;
google_ad_height = 200;
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td></tr>
</table>
This is important to understand because, from a process standpoint, we have skipped all manual picking steps such as the Move Order, pick slip printing, etc. that typically occurs when shipping a regular inventory item.   In skipping these steps, we&#8217;re able to release our ZBULK item without regard to inventory, on-hand balance, etc.</p>
<p>Additionally, the picking steps are skipped regardless of how the &#8220;Auto Pick Confirm&#8221; flag is set during the release.   Under normal circumstances, this flag controls whether the Mover Order transaction occurs automatically or manually and is often dictated by the business process.   In this case, the &#8220;Auto Pick Confirm&#8221; flag has no bearing.</p>
<p>This &#8220;bypass&#8221; of the inventory transaction is more obvious if you refer to the corresponding record within the Shipping Transactions form.   With a typical inventory item, the initial shipment status is usually &#8220;Ready to Release&#8221; with &#8220;Launch Pick Release&#8221; as the next step.   But for our ZBULK item, you&#8217;ll notice that the status is &#8220;Not Applicable&#8221; with &#8220;Ship Confirm&#8221; as the next step.   Again, this is due to the combination of attributes we have set for the ZBULK item.  </p>
<p><img id="image41" title="shot-6.gif" alt="shot-6.gif" src="http://www.bryanthompsononline.com/oracle/wp-content/uploads/2007/08/shot-6.gif" /></p>
<p>Now you may be asking &#8220;If the next step is to â€˜Ship Confirm&#8217;, why are we still releasing the order?&#8221;   In fact, it&#8217;s not required to perform the Pick Release.   You can actually bypass the pick release of this line entirely and proceed directly with the normal ship confirmation steps.   However, depending upon your business process, you may want to incorporate the Pick Release step.   For example, if our order line was part of a shipment set tied to other inventory items, you would require that this line in addition to the other lines of the ship set are released together so that the entire grouping is made available for shipment confirmation.   For the sake of this demonstration, let&#8217;s assume our process requires that we release this item.</p>
<p>After launching the pick release process our delivery line now becomes &#8220;Staged&#8221;; allowing us to proceed with the normal ship confirmation steps.   Like all ship confirmations, the &#8220;Interface Trip Stop&#8221; process is executed either real time or later as a concurrent request.   Typically, the process accomplishes three main objectives:</p>
<ol>
<li>Deducts on-hand quantity and debits Cost of Goods Sold.</li>
<li>Progresses the order line to &#8220;Shipped&#8221; status so that it can progress to the next workflow activity.  </li>
<li>Progresses the shipment line to an &#8220;Interfaced&#8221; status and sets the trip to &#8220;In-Transit&#8221; or &#8220;Closed&#8221; depending on whether you elected to close the trip.</li>
</ol>
<p>For our non-inventory item we&#8217;re shipping, &#8220;Interface Trip Stop&#8221; will also execute, but will only complete steps #2 and #3.   Therefore, our sales order and shipment transactions will progress without executing the inventory deduction or debiting Cost of Goods Sold.<br />
Upon completing the ship confirmation we find that our shipping transaction is now in an &#8220;Interfaced&#8221; status.   From a shipping prospective, the process to confirm the delivery is seamless.  </p>
<p><img id="image42" title="shot-7.gif" alt="shot-7.gif" src="http://www.bryanthompsononline.com/oracle/wp-content/uploads/2007/08/shot-7.gif" /></p>
<p>Additionally, the closure of our order line is also seamless.   Since we&#8217;re using the &#8220;Line Flow &#8211; Generic&#8221; workflow and have our ZBULK item attributed as &#8220;Invoiceable&#8221;, our order line will be set to a &#8220;Closed&#8221; status and proceed to Accounts Receivables for invoicing.</p>
<p><img id="image43" title="shot-8.gif" alt="shot-8.gif" src="http://www.bryanthompsononline.com/oracle/wp-content/uploads/2007/08/shot-8.gif" /></p>
<p>There you have it &#8211; we&#8217;ve successfully shipped an item without generating any inventory transactions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bryanthompsononline.com/oracle/2007/08/01/shipping-without-transacting-inventory-in-oracle/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Complex Shipment of Manufactured Goods</title>
		<link>http://www.bryanthompsononline.com/oracle/2006/08/17/complex-shipment-of-manufactured-goods/</link>
		<comments>http://www.bryanthompsononline.com/oracle/2006/08/17/complex-shipment-of-manufactured-goods/#comments</comments>
		<pubDate>Fri, 18 Aug 2006 04:01:37 +0000</pubDate>
		<dc:creator>bryan</dc:creator>
				<category><![CDATA[Order Management]]></category>
		<category><![CDATA[Order to Cash]]></category>
		<category><![CDATA[Shipping Execution]]></category>

		<guid isPermaLink="false">http://www.bryanthompsononline.com/oracle/2006/08/17/complex-shipment-of-manufactured-goods/</guid>
		<description><![CDATA[There's nothing that Oracle Shipping Execution can't handle.  Well, almost nothingâ€¦]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s nothing that Oracle Shipping Execution can&#8217;t handle.   Well, almost nothingâ€¦</p>
<p>Take for example the following situation.   As a manufacturing company on Oracle, you sell extremely large manufactured goods that usually are disassembled and shipped across multiple carriers.   Typically when an order is placed for this good it&#8217;s represented as one line item on a sales order (and invoiced as one line item).   This item could be a configured model or a standard finished good with a complex bill of material.  </p>
<p>When the order is booked, demand is instantly sent to planning for this item.   Once the work order is issued, this item is then manufactured and placed into finished goods where the shipper can now pick release and stage the item in preparation for shipping.   The preparation process for this extremely large, manufactured good begins with final testing to ensure the good is operational as a whole.   Once the testing requirements have been fulfilled and documented, the good is then ready to be disassembled and shipped.</p>
<p>While this may sound simple, the disassembly process is quite involved and is conducted in a non-uniform fashion.   Essentially, the shipping crew is to disassemble this gigantic item so that:</p>
<blockquote><p>1.)  All disassembled parts can fit unto a typical truck.<br />
2.)  Disassembled parts and materials are tagged with identification prior to placement in the container and are listed on the packing list specific to that container.  <br />
3.)  Along with the packing list, instructions for reassembly are included which reference the identification tags.   Once all of the shipments arrive at the client site, this document is referenced by the assembly crew who then reassembles the components.</p></blockquote>
<p>To accomplish these tasks there are a few pieces of information that need to be handy within the shipping dock.   Most of this information such as the destination, intended carrier, weights &#038; dimensions of parts, freight costs, etc. can be referenced or collected using standard Shipping Execution functionality.  </p>
<p>But some of the information required to execute this process resides outside of the Shipping Execution module.   For instance, the bill of 
<table align="left" border="0" cellpadding="0" cellspacing="0">
<tr><td>
<script type="text/javascript"><!--
google_ad_client = "pub-4516530845610319";
//200x200, created 12/11/07
google_ad_slot = "2730876339";
google_ad_width = 200;
google_ad_height = 200;
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td></tr>
</table>
material for the manufactured good needs to be accessible so that parts can be easily identified when containerized.   We must keep in mind that the individuals within the shipping dock were not involved in the engineering and manufacturing processes of this good and will need this information for reference.   It is also vital that the shipping crew have this information to accurately identify, label, and containerize the parts properly considering the liabilities involved with shipping this high dollar item.</p>
<p>And because of the liability risks involved with this large item, all shipment information resulting from the disassembly process needs to be tracked in detail &#8211; this is where a major functionality disconnect occurs.  </p>
<p>As I mentioned earlier, the final good is placed into inventory as a single item once manufacturing is complete.   The pick release process within Shipping Execution then transfers this good to the staging area; which results in a single delivery detail line.   However, the requirement asks for all information related to this shipment line to be tracked &#8211; this includes all of the disassembled parts, containers, and carriers used.   Several questions are to be asked of this process:</p>
<blockquote><p>1.)  How do we split apart this single delivery line to represent the multiple shipments resulting from the disassembly process?<br />
2.)  And how do we track the disassembled components in each of these shipments?</p></blockquote>
<p>Let&#8217;s first investigate the issue of splitting a single delivery detail line.   Functionality exists within Shipping Execution that allows the user to split the delivery line into fractional quantities if the &#8220;OM Divisible&#8221; flag for the manufactured item is enabled within the Item Master.   However, this leads to several issues:</p>
<blockquote><p>1.)  Though the delivery line can be split, the fractional quantities may not accurately represent the percentage of the item that was pulled a part from the main assembly.<br />
2.)  Depending on your client&#8217;s requirements, there may be a need to perform this action on a serial controlled item.   If this is the case, Oracle will not allow an item to be &#8220;OM Divisible&#8221; if serial control is enabled, thus preventing delivery line splitting.<br />
3.)  If your client is implementing Installed Base, several records are interfaced to the module for each of the split delivery lines vs. a single interfaced record that represents the entire manufactured good.<br />
4.)  And most importantly, no manual or automatic functionality exists in Shipping Execution that allows the user to assign disassembled parts of the bill of material to a split delivery line.</p></blockquote>
<p>Depending on how flexible your requirements are regarding order entry, you may be able to alter the order entry process so that line items could be entered that represent each of the major components that will need to be disassembled and shipped.   However, this is also making some radical assumptions:</p>
<blockquote><p>1.)  Presentation of the invoice is not an issue (4 line items vs. 1)<br />
2.)  Either Installed Base is out of scope, or interfacing several &#8220;partial&#8221; Installed Base records is not an issue.<br />
3.)  Breakdown of the manufactured good for shipment is know at the time the order is placed.</p></blockquote>
<p>Placing the disassembled components as separate line items on the sales order also creates a major side affect within manufacturing.   Demand is no longer sent for the good as a whole, but is now sent for the components of that good.   This means that work orders are issued for each component, manufactured, and placed into inventory as separate finished goods.   Oracle then has no knowledge that in reality this is actually a single manufactured good that was sold to the customer.   And in the case that I described above, it also doesn&#8217;t show that the unit was actually assembled completely for testing prior to the disassembly process.</p>
<p>Another approach would be to create the good as a PTO item, where each of the options within the PTO model resembles the major shippable components.   But again, this is making the same assumptions as the previous solution.   And this also has the same side affect on manufacturing.</p>
<p>Regardless, neither of the approaches address the requirement that the disassembled components need to be tracked and assigned on a per shipment basis.   This requirement would most definitely require a customization that would allow the user to &#8220;drill&#8221; into the shipment and assign the disassembled parts to an LPN/container item.</p>
<p>Additionally, to be able to reliably split apart the delivery line that represents the large item, and in order to avoid any adverse affects on manufacturing and Installed Base, a customization would be needed to enhance the delivery line splitting functionality.   Essentially the delivery line would need to be taken to another level of detail that would be stored outside of the standard Shipping Execution application to track the multiple container shipments associated with a single delivery line in standard tables.   In affect, this would allow manufacturing to produce this good as a single item (as intended) and would interface to Installed Base as single record upon ship confirmation.</p>
<p>As you can see, this situation could potentially be very challenging to implement.   And while most consultants refrain from customizing the application as much as possible, there doesn&#8217;t appear to be a solution that would completely avoid altering the Shipping Execution module while fulfilling all of the requirements described.</p>
<p>Got a better solution?   Let&#8217;s hear it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bryanthompsononline.com/oracle/2006/08/17/complex-shipment-of-manufactured-goods/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
	</channel>
</rss>
