cancel
Showing results for 
Search instead for 
Did you mean: 

Output types for Shipments

Former Member
0 Kudos

Hello All,

I have a unique situation and need your inputs to identify possibilities in resolving it.

Here is the situation:

The transportation planning (TPE system) at our client is done by a 3rd party software. Now, we receive a Sales Order from a customer; create a delivery. TPE system creates the shipments and we PGI it and the sales order follows through the next steps. The shipments created from TPE go to Carriers and they carry the product from our warehouse to pool points from where customers pick it up. We have to pay the carriers from moving our goods from our warehouse to pool points. Thus whenever a shipment is created, we check-in...do the next steps in WM and finally when the shipment is ready, it triggers a payment IDOC to be sent to finance (an external system) so that it can be matched with Carrier invoices and then paid.

Our unique problem: There is a carrier (lets call it NCP) who is moving our goods from warehouse to pool point. We got a sales order from customer. This customer doesn't pick up goods from the pool point. He wants it to be delivered to his distribution center and to do this he is using the same transportation carrier (NCP). Thus when we received the sales order from customer, TPE system created a master shipment (5000001M) for NCP to pick up from our warehouse and deliver to pool point. You might be aware that TPE optimizes the route and thus combines multiple deliveries into one master shipment. From here NCP should pick up a part of the master shipment and deliver it to client. Thus SAP automatically created a sub-shipment (5000002S). This sub-shipment is a part of the master shipment and thus will not be separetely processed in WMS. The master shipment is checked-in, loaded and shipment ready - thus creating a payment IDOC to the external payee system. As the Sub-system is a part of master shipment, it is not touched and thus no payment IDOC is created.

Now the carrier sents two invoices - one for master to pick up goods from our warehouse and deliver it to pool point and the second one - to deliver a part of this shipment to customer's DC. Our payment system is unable to match it up with any IDOC's as we didn't send them out from SAP.

So this is where I'm struck. How should I configure the output for a sub-shipment so that it'll be triggered as soon as the delivery is PGI'ed? Could anyone give some inputs here?

Please let me know if more clarification is needed. Thanks in advance for looking into this.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hello Gautam

I am not a LE expert but this is an interesting issue and I want to help.

1) What is the processing done in SAP on the Sub-shipment? What do you do with the automatically created sub-shipment?

2) Could you not use different shipping condition (becasue customer wants delivery to DC) and drive it to a different route thus ensuring this delivery gets into a different master shipment. My point is a master shipment should not combine a) deliveries to Pool points and, b) Deliveries to DCs in one.

Former Member
0 Kudos

Chandrasekhar,

Thanks for offering to help. Here are explanations to your questions:

1) What is the processing done in SAP on the Sub-shipment? What do you do with the automatically created sub-shipment?

Would like to correct what I wrote in my previous post; the sub-shipment is actually created in the TPE system. It is not created in SAP. The purpose of the sub-shipment is to give the carrier an order to ship it to customer's DC from our pool point. Thus sub-shipment is necessary as the master shipment will only route the product from our warehouse to the pool point.

2) Could you not use different shipping condition (becasue customer wants delivery to DC) and drive it to a different route thus ensuring this delivery gets into a different master shipment. My point is a master shipment should not combine a) deliveries to Pool points and, b) Deliveries to DCs in one.

This is a very good question. The process here is, when we ship from our warehouse to pool points, we order FTL's (Full Truck Loads) and pack the truck to the fullest. Thus when a Master Shipment is created combining all possible deliveries, we pack them in cases/boxes/carts etc. This way we can efficiently pack more stuff into a single full truck. The sub-shipment in this specific case needs to be un-packed from the boxes and packed into smaller cases (which is done by the carrier NCP - they are also kind of 3rd party logistics company) and then shipped to customer. Thus we can't really create a new Master Shipment for this customer alone as it would shoot up the cost of the product and also the cost of transportation. Now we had to combine the sub-shipment into this master shipment for two reasons - (1) Product has to be unpacked from boxes and packed into cases based on instructions in sub-shipment (2) Visibility to finance. You might also be aware that based on customer orders the deliveries are combined into shipments. Usually, we ship to pool points and leave it there but there are some customers who want the product to be delivered to their DC, where in we are having this issue.

Basically, we need to configure SAP in a way such that the payment idoc is triggered as soon as the delivery (which belongs to both master and sub shipments) is PGI'ed. I'm trying to see if this is possible in anyway using configuration like creating a specific activity profile/new output type or do I have to go back to ABAP'er and have a BAdI implemented?

Thanks.

Edited by: Gautam Mylavarapu on Jul 14, 2010 5:25 PM

Former Member
0 Kudos

Gautam

So the way forward would be to trigger an Idoc output for the Delivery (as you said) for the 'Direct to DC' (DD) deliveries. You could probably use Route or shipping condition in the access to trigger the output only for those deliveries.

Now do you have to change how the payment for master shipment is computed to exclude the DD deliveries? That might need a formula in the shipment cost document..

Hope this helps.

Former Member
0 Kudos

Chandrasekhar,

As sub-shipment is a part of Main Shipment, WMS doesn't touch this shipment i.e. none of the boxes (Planning, check-in, load start/end etc) are clicked. The main shipment is worked on and the sub-shipment is the headache of carrier to unbox and re-case it to be delivered to customer at his DC. WMS boxes the main shipment and then puts it on the truck.

So technically, we should issue an output on the sub-shipment when the delivery is PGI'ed and this is where I'm confused. How should I configure the output determination so that the payment IDOC is released for sub-shipment when the delivery to which it is tied is PGI'ed. I can simply configure it to issue an output when the sub-shipment is created but that might cause issues as Carriers can bill us even before the shipment is delivered to client.

To your other point, this sub-shipment is an extension to master shipment.

Our Warehosue -


> Pool Point -


> Customer

NCP Picks up from our warehouse and drops the boxes at Pool Point - Main Shipment (we pay for it)

NCP will also unbox the main shipment and pack it into cases and pick-up/drop at customer - Sub Shipment (we are also paying for it)

Note: Main shipment combines a ton of deliveries i.e. all the deliveries from our warehouse to pool point in a day. Sub shipment is just one sales order that has to be delivered to customer. If we create a new shipment to deliver from our warehouse to customer - it'll be tooo expensive. But as the goods goes out from our warehouse to pool point in one single truck load, we save on the transportation costs.

Thus we have to create two shipments for the same carrier. The pricing is different for both. (Main shipment - TL price; Sub-Shipment - LTL price).

We are triggering payments for main shipments and there is no issue there. But I just don't understand how the sub-shipments should be configured so that the output will be released when the delivery is PGI'ed.

Any thoughts?

Former Member
0 Kudos

Gautam

A few clarifications:

1) Sub- shipment is not a SAP object right? Or is it?

2) You do PGI from shipment and not from delivery right?

3) What do you mean when you say " .... when the sub-shipment is created but that might cause issues as Carriers can bill us even before the shipment is delivered to client". Carrier won't bill you when sub-shipment is created, right, so you are ahead of the carrier any ways.

Here is my proposal:

Create an output for the Delivery and in the Output determination procedure include standard requirement 1' from the drop down list. That will ensure the Release after PGI part of it. With regard to triggering it for only DD deliveries, use Route/Shipping condition as one of the fields in the access. Or you can include it in the requirement also, so copy requirement '1' and modify it as needed. If sub-shipment is a SAP object, you can do the output off sub-shipment also.

Former Member
0 Kudos

Chandrasekhar,

Thanks for your inputs, here are the clarifications you've asked for:

1) Sub- shipment is not a SAP object right? Or is it?

- Yes Sub-Shipment is an SAP object. All the shipments are created in TPE (Transportation Management System) by combining deliveries and sent to SAP (SHPMNT Idoc). SHPMNT creates the shipments for each deliveries within SAP. Master Shipments are picked up in WM and processed as per the requirements in the shipment (i.e. packaging etc)

2) You do PGI from shipment and not from delivery right?

- PGI is done on delivery after shipment start/end is completed in WM.

3) What do you mean when you say " .... when the sub-shipment is created but that might cause issues as Carriers can bill us even before the shipment is delivered to client". Carrier won't bill you when sub-shipment is created, right, so you are ahead of the carrier any ways.

- I meant if I create an output type and trigger it as soon as the sub-shipment is created in SAP (from the incoming SHPMNT Idoc), the payment idoc will hit our carrier payment system and is ready to go. Lets assume the carrier sends in an invoice (210), carrier payment system will honor it (it has no visibility on SAP - its an external system). Thus we cannot trigger the payment idoc (858) until the PGI is done on the delivery (to which the sub-shipment is attached).

The situation is:

Master Shipment (500001M) = Delivery 1 + Delivery 2 + Delivery 3 (This should go to customer from pool point - thus sub-shipment 500002S for the same carrier) + Delivery 4 + Delivery 5. This shipment is to delivery from Warehouse to Pool Point.

500001M is handled by WM. They pick/pack and ship. Once the shipment is started, automatically all deliveries are PGI'ed (automatic process). In this process 500002S isn't touched by WM coz they don't have to. So this just stays like that. Because unpacking and re-packing into sub-shipment is the responsibilty of NCP. We just pay for the costs to deliver it to customer's DC.

Now I have to issue output at the shipment level -> because carriers get the shipments (204) and generate invoices (210). Thus I need to generate an output (858) at the sub-shipment level whenever the delivery (to which it is tied to) is PGI'ed (by the automatic process from WM when the master shipment is complete). How can I configure this? The suggestion you gave is to handle the output at delivery level but I cannot do that because the payment instruction is to pay only for the sub-shipment i.e. from pool point to customer's warehouse. But delivery is tied to both master shipment and sub-shipment because this particular product has to go from wareshouse to customer.

You said, we can issue an output at sub-shipment level. Do you know how can I issue the output when the delivery is PGI'ed? Both are independent objects within SAP and also note that none of the tasks within this sub-shipment will be touched by WM. Thus I cannot directly create a condition based on an activity profile.

I hope I'm making some sense.

Former Member
0 Kudos

You are. But more questions:

1) In your example, are the deliveries # 4 and 5 tied to sub-shipment 500002S? or all of them are assigned to main shipment 500001M only?

2) If all of them are assigned to main shipment only, is there a Main to Sub (SAP field) relation available?

If the answer to question 1 is yes, then you can have the output in Sub with standard requirement 1.

If 2 is the case, then you can still have the output in Sub but the requirement gets complicated, the logic then would be to find the Main related to a Sub and check the GI status of the deliveries connected to that Main. May be instead of GI status you can use shipment status ( Shipment started)?

Hope this helps.

Former Member
0 Kudos

Aha.. Now you're on the same page with me

1) In your example, are the deliveries # 4 and 5 tied to sub-shipment 500002S? or all of them are assigned to main shipment 500001M only?

500002S is tied only to Delivery3 (and also to 500001M through the delivery). Delivery 1, 2, 4 & 5 are for different sales orders and have to be dropped only at pool point. Thus tied to 500001M.

2) If all of them are assigned to main shipment only, is there a Main to Sub (SAP field) relation available?

Main to sub is maintained in VTTP (through the delivery). That is Sub is tied to delivery and delivery is tied to both sub and main.

On the screen, if I go to 500002S and hit the document flow, it shows me delivery 3. If I go to delivery 3 and hit document flow, it shows me both 500001M (Master) & 500002S (Sub).

You have made an interesting point, I might look at 500001M and see the shipment start and then release the output for 500002S instead of looking at PGI at delivery3. Do you know if I can do this through config and not through a BAdI?

Former Member
0 Kudos

Got it. I misread the bracket end. If Delivery # 3 is connected to Sub, why don't you use the output from Sub with Requirement 1? What is preventing you from doing it?

Former Member
0 Kudos

Well, I can create the output but what condition will trigger it? Some action should trigger the output (payment 858) and create an IDOC right?

Here the sub-shipment (500002S) is created from SHPMNT IDOC coming in from TPE. After that no action is taken on 500002S. In fact the output already exits but it stays in "yellow" status because according to SAP this shipment not shipped (but the master has been shipped). Logically both are one and the same but on SAP, these are two separate shipments.

Thus, the output should be triggered when either the master (500001M) is shipped or delivery is PGI'ed (which happens after 500001M is shipped). I just don't know how to make this possible other than writing a BAdI which looks at each master when its shipped, picks up all the subs and then triggers the output. Also, I cannot trigger the output (payment) when 500002S is created through SHPMNT because it goes back to my point where in the carrier can be paid even before he has delivered the goods to customer.

The only safe method to trigger the payment on the sub-shipment is when either the master is shipped or delivery is PGI'ed which I don't know how!!

Editing:

Re-thinking on your point of Requirement 1, the application for delivery (V2) and shipment (V7) are different. So doesn't match while triggering output and creating output determination. Do you know if this can be done?

Edited by: Gautam Mylavarapu on Jul 15, 2010 12:12 AM

Former Member
0 Kudos

V2 or V7, and even if Work area KOMKBV2 is not available, once you know the delivery- Sub relation, you can make requirement 1 or its copy work to determine the output. Same thing goes for checking whether master is shipped. I feel you can make this condition also into a requirement without getting into BADIs and all that jazz. At my current client I am seeing that they have requirements coded which look for a preceding document ( aka Delivery) and check its status. With regard to sending/ processing, you have the usual timing options. May be I am oversimplifying, why don't you try this in your system and let me know.

Former Member
0 Kudos

Nice!!.. I think I have a headstart then. I will try to create a requirement and then link it to output based on the conditions of the delivery.

Chandrasekar: Thanks a lot for your inputs, I have had nice conversation with you and learnt couple of nice things in this process.

Former Member
0 Kudos

Gal to be of help. I also learnt a few things. Hope this works for you.

Answers (0)