Skip to Content
avatar image
Former Member

Print problem after releasing sales order from VKM3.


This is cash sales, process is follows:

1. when we save the sales order, delivery also will get create in the back ground and prints delivery note in the user's system automatically.

If the customer exceeds the credit limit.

2. if the cusotmer exceeds the credit limit (dynamic credit check), Then delivery will not create.

credit manager release the sales order in VKM3, then delivery will get create after the release.

now the problem is when the credit manager release the order in VKM3, he is getting delivery note prrint in his system.

this should not happen.

print is required in the user's system who has created the order.

in conditon record we cant assign the print name. beacuse there are total 37 locations are there. if we assign the printer, all will get print in the same printer.

please give ur suggestion to get print in the users system after releasing it from VKM3.

Look forward for your reply.

thanks in anticipation.



Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

2 Answers

  • avatar image
    Former Member
    Jul 09, 2010 at 08:10 PM

    Try using VV21/VV22 to maintain output determination for deliveries.

    If the existing key combinations are not sufficient, then configure it so it has additional fields for the key combination that would permit the delivery to print at the desired location.


    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Hi Hari,

      The simpler and cleaner approach would be to find out if you can switch off the credit check for Cash Sales. The problem with LOCL/LP01 printer is that they always refer to the default printer attached to the OS of the user who is processing the document. In your case since it is setup with option 4 - print immediately and the document is credit released by credit manager, it gets printed on the credit manager printer.

      The other option would involve more work. Following are the activities involved:

      1) Append your output communication structure KOMKBV2 and get a new Z field added to it to store the userid of the user creating the cash sales.

      2) Add the new Z field to the field catalog.

      3) Create a new condition table and use this Z field in the key combination

      4) Include your this new table in the appropriate position in your access sequence

      5) Get those 38 printers setup in SAP as SAP printers

      6) Maintain condition record for each of the userid and the corresponding printer to which the user can print on

      7) Populate the Zfield with the userid who created the cash sales during runtime using RVCOMFZZ user exit.

      For Step 1 to 7, You can get more information on how to perform this by following Menu path in SPRO IMG --> Sales and Distribution --> System Modifications --> Create new Fields (Using condition technique) --> New fields for output control, and then click on the documentation button (the one with glasses on it)

      The above 7 steps will make sure that when the output type is determined by SAP, it will fetch the appropriate printer name using the userid of the person who created the cash sales. So it will no more have LP01 or LOCL and therefore will always point to exact printer where it needs to print even though the credit check was released by the credit manager.

      Background on why are we doing these 7 steps:


      1) Since output field catalog does not contain any field to capture userid, we are adding a new Zfield to capture that information.

      2) Once the field is available in field catalog, we used that in the condition record so that we can maintain userid specific condition records

      3) Now the Zfield that we added is not from standard SAP and therefore when the document output is being determined, the value in this field in the communication structure will be blank and therefore we added code in the user exit to populate this field with the userid who is creating the repair.

      How the Solution works


      When SAP output determination is triggered, SAP communication structure will get filled for eg, say user id A1. SAP will then look into condition records to see what printer userid A1 is pointing to. That will fix the output to particular printer. When credit manager releases the order, it will flow directly to predefined printer.


      Kapil Sharma

  • Jul 26, 2010 at 06:53 AM

    Hi Hari,

    As per your reqmt, under normal circumstances, the print out is working fine, but during credit release the print out should be printed in the location of the customer who created the sales order.

    You can enable a Z table linking the sold to party and his printer. In the output program, you have to manually decide the printer, if the credit block is released for the customer. You can check the credit status of the sales order in VBUK-CMGST.

    I think this is the onlyway. By std SAP, you cannot enable different printers for the same sales order for different scenarios.

    Add comment
    10|10000 characters needed characters exceeded