Exits in Delivery Document

Hi Gurus,
I've a requirement as follows:
In Tcode VL01N I have to add a new custom field(which is been appended to LIKP table already)  under Header part of the delivery i.e Shipping Tab. Can any one of you let me know how to accomplish this? TIA.

Hi,
           By using Screen Enhancement it is possible. Search for any Screen BADI avilable for for VL01N.
Try this BADI  'LE_SHP_TAB_CUST_OVER' .
best regards,
surendarreddy.
Edited by: suredarreddy pulimamidi on Jun 25, 2008 11:00 AM

Similar Messages

  • User Exit - Include for delivery document?

    Can anyone please tell me the user exit / include details that control creation / mofiication of outbound delivery document
    I need to figure out a solution to create a split delivery if the country of origin of material is different in the stock
    Say, if the SD order line item requires 76 units, and the stock has 50 units from one country and 26 from another, then it should result in split deliveries - each with line item of a unique country of origin

    SM,
    If the origin country is different (say US for line item 1 for Qty 75, and GB for line item 2, qty 25 wouldn't you have different plants & shipping points for each line item?
    Scenario: At the time the sales order is created, there are 100 on a single line all for the same country (because as you say, it is not known during Order create). Then, when it comes time to create the delivery, you know that 75 come from US and 25 from GB. So, reduce qty on line item to 75 (US plant & Shipping Point), and create a new line item for 25 (GB Plant & shipping point). Then, your copy routines from Sales Order to Delivery would force you to split between different deliveries.
    A sales order can have different shipping points - one for each line, but the delivery holds the shipping point at the header, so you cannot mix them.

  • User exit for partner determination in delivery document

    Hi,
    Can some one suggest an user exit for partner determination in delivery document.
    We have a scenario of excluding certain plants for few of the partner determinations in delivery document..
    Please suggest
    Regards
    Ravikumar

    Hello Ravikumar,
    Please ceck if these userexits help
    Normally there are 2 userexits available in function kopierte_partner_pruefen:
       - EXIT_SAPLV09A_003
       - EXIT_SAPLV09A_004
    Regards,
    Raghavendra YN

  • What is the user exit triggering at this time of saving delivery document

    Hi All,
    What is the user exit triggering at this time of saving delivery document
    regards
    Deekshitha.

    For the Delivery process following project are used, you can list out all exit
    V02V0001
    V02V0002
    V02V0003
    V02V0004
    V50PSTAT
    V50Q0001
    V50R0001
    V50R0002
    V50R0004
    V50S0001
    V53C0001
    V53C0002
    V53W0001
    VMDE0001
    VMDE0002
    VMDE0003
    VMDE0004

  • User exit for add partner in delivery document when execute then tx-vl06

    Hi,
    I try to add new partners in delivery document when I execute the transaction vl06. For this, I use the user exit MV50AFZ1 where I implement the code that add new registers in table XVBPA. This solution doesn't work because it doesn't add new partners in delivery document.
         CLEAR XVBPA.
         XVBPA-MANDT = '010'.
         XVBPA-VBELN = LIKP-VBELN.
         XVBPA-POSNR = '000000'.
         XVBPA-PARVW = 'ZC'.
         XVBPA-PERNR = '00000045'.
         XVBPA-ADRNR = '0000000000'.
         XVBPA-LAND1 = 'ES'.
         XVBPA-ADRDA = 'D'.
         APPEND XVBPA.
         CLEAR XVBPA.
         XVBPA-MANDT = '010'.
         XVBPA-VBELN = LIKP-VBELN.
         XVBPA-POSNR = '000000'.
         XVBPA-PARVW = 'SP'.
         XVBPA-LIFNR = '0000000491'.
         XVBPA-ADRNR = '0000083037'.
         XVBPA-LAND1 = 'ES'.
         XVBPA-ADRDA = 'D'.
         APPEND XVBPA.
    Please, anybody knows others solutions.
    Thanks for your help.
    Xevi G.

    Hi Ram Ki,
    It doesn't work. When I execute the transaction vl06g, the flow doesn't pass for this user exit.
    Thanks for your comment.
    XeviG.

  • Delivery document archieved

    For a stock transfer invoice, dellivery document cancelled without cancelling the excise invoice. Is there any solution to prevent from cancelling the delivery document without cancelling the excise invoice

    Hi,
    I think you can still cancel the excise document.
    However, if you need a check here, you need to put the same through a user exit at Delivery change/delete level. Take help of an ABAPer for the same. 
    Regards,
    Peeyoosh.

  • Delivery document change after PGI ?

    Hi All,
    Is any way can I change the value of the field of "Ext.delivery" in delivery document(Header-->Administration) after PGI and billing process. And the most important thing I have to mention: it was closed in previous period. Somebody can help on this issue would be appreciated.
    Thanks.
    mlai

    Hi,
    You can use the user exit MV45AFZ1 sub routine FORM USEREXIT_SAVE_DOCUMENT.
    Here write a small piece of code.
    if LIKP-LIFEX eq '' .
    Message'External Delivery Number is not Maintained' type 'E' .
    endif .
    I hope this will help you to validate before save the document.
    Regards,
    Murali

  • Availability check on storages in sales order and delivery documents

    Hi all,
    I'm verifying if it's possible to find a standard or a custom solution for this type of problem:
    I have a scenario in which there are more storages relevant for MRP (ex. 01, 02, 03, 04), and, in if I check availability in sales order or delivery (using checking rules "A" or "B") with setting which considering storages location inspection in availability check control, system check if there's stock available on all these storages.
    I'm trying to verify if it's possible to consider only some on these storages (ex. 01 and 03 only) in sales order and delivery documents availablity check.
    I know that in sales order storage location field is normally filled only using exit, but i don't know if it's possible to do, using a user exit, check availability considering only some storages and not all. At delivery level i have tried to use stock strategy, but this functionality don't have consequences on availability check, also if it's relevant during good issue phase.
    Any suggestion will be appreciated.
    Regards
    Gianpaolo

    Hi Gianpaolo,
    We had some issues with availability check on a Customer Site.
    I don't remember right now if we had to exclude storage locations from MRP to take them out from ATP, but I guess Shiva is 100% correct.
    At the end, what was done was to always "force" a unique storage location in the sales order item, which will be the storage location used for shipping of the delivery of course.
    If you use WM in your plant, then you will have no problem in having a unique storage location, so no problem.
    Anyway you are correct in your analysis, if the Storage location is not informed in the sales order item, then all the plant stock is taken in account for ATP.
    Best Regards,
    Franck
    Freelance Logistics SAP Consultant

  • In SD i am looking to add some custom fields to the delivery document.

    In SD i am looking to add some custom fields to the delivery document. can any one help me out.

    hi,
    u have get the access key for the program with respective to the delivery document & user exit has has to done.
    This is job of abaper
    regards,
    Arun prasad

  • How to control the status of EDI message in delivery document

    Hello:
      We use user exit:EXIT_SAPLV56K_001  in function:IDOC_OUTPUT_Delivery to block the IDOC generation if delivery is blocked in GTS system.The IDOC generation can be blocked successfully by this user exit but the EDI message type will still have the status of "successfully processed" in the delivery doucment after IDOC generation is prevented.So user have to manually repeat the EDI Message type so that this EDI message type can be retriggerred by the background job of RSNAST00.
      I am wondering if the EDI message in the delivery document can have the status of "not processed" even after IDOC generation is prevented.
    BR
    Thanks

    Did you raise any exception like ERROR_MESSAGE_RECEIVED from the exit when the delivery is blocked?
    The most important is the RSNASTED should get some exception to set RC = 4 (Non-zero). Only in that case, the EDI message type will go to error (i.e. VSTAT = 2)  otherwise, by-default the RC = 0 unless we lead it to set to non-zero. Unless u make VSTAT = 2, you can't process it thru' RSNAST00 or better RSNAST0F for reprocessing the messages that go to error.

  • Create delivery  document for line item 5 only manually

    Hi Sap Experts,
    We have scenario, we have created sales order with 10 line items while creating delivery we don’t want to show all the 10 line item to delivery creator (creating delivery manually).
    We will send him mail saying that create delivery  document for line item 5 and we will provide him material number and delivery date and shipping point with sales order number.
    We don’t want to use partial delivery option that split the delivery and we don’t want to use VL10C tcode also.
    What are options we have and how to customize this scenario?
    Kindly suggest.
    Regards,
    Kotli

    Can you be clear in your requirement?
    One requirement is user should not select line items other than the one instructed to them
    The other requirement is delivery split should happen based on item category
    If your requirement is first one, you need to go with user exit USEREXIT_MOVE_FIELD_TO_LIPS in include MV50AFZ1 but I am not sure, on what logic, coding to be included in this exit.  If your requirement is second one, then just try in your system and share the outcome how system is functioning.  You will come to know how standard SAP works.
    G. Lakshmipathi

  • Credit block in delivery document (not in posting goods issue)

    Good afternoon!
    When I try to deliver an sales order with exceeded credit limit, the following occurs:
    I enter in tcode VL01N, input the order and press enter, then the system issues a warning "Credit user check 1 unsuccessful" because some condition in the user exit LVKMPFZ1 was not satisfied. The problem is that at this point, no document has been sent to VKM1, and neither when I save the delivery.
    It is only sent when I enter in the same delivery again and save it one more time, which is a undesireable behavior. Important: the post goods issue doesn´t work at all (which is correct).
    Is there any way of sending the delivery document to the VKM1 when I save delivery document in the first time?
    Best Regards,
    Adriano Cardoso

    Good afternoon!
    When I try to deliver an sales order with exceeded credit limit, the following occurs:
    I enter in tcode VL01N, input the order and press enter, then the system issues a warning "Credit user check 1 unsuccessful" because some condition in the user exit LVKMPFZ1 was not satisfied. The problem is that at this point, no document has been sent to VKM1, and neither when I save the delivery.
    It is only sent when I enter in the same delivery again and save it one more time, which is a undesireable behavior. Important: the post goods issue doesn´t work at all (which is correct).
    Is there any way of sending the delivery document to the VKM1 when I save delivery document in the first time?
    Best Regards,
    Adriano Cardoso

  • DIAPI posting Delivery Document with Serial Numbers SP1

    Release 2005A, SP1 PL4 seems to have broken code that worked with SP00.  When trying to create a Delivery Document that contains Serial Numbers, an error is generated: Error -1, General Error.  When adding a delievery document which does not contain serial numbers, the document adds successfully.
    The following code loops through a recordset to create documents, add expenses and add serial numbers when appropriate.  Is this a new 'feature' or can we make a coding change to eliminate this error?
    Sample code:
        Try
          oSalesOrder = oCompany(piCompany).GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders)
          RecSet = oCompany(piCompany).GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
          RecSet2 = oCompany(piCompany).GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
          RecSet3 = oCompany(piCompany).GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
          RecSet4 = oCompany(piCompany).GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
          RecSet5 = oCompany(piCompany).GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
          RecSet6 = oCompany(piCompany).GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
          '-- Select Documents to process and loop through recordset
          lsSQL = "SELECT DocEntry FROM DeliveryTable WHERE ProcessResult IS NULL Group by DocEntry"
          RecSet.DoQuery(lsSQL)
          While Not RecSet.EoF
            oSalesOrder.GetByKey(RecSet.Fields.Item(0).Value)
            If bDocuments(piCompany).DelDraft = False Then
              oDelivery = oCompany(piCompany).GetBusinessObject(SAPbobsCOM.BoObjectTypes.oDeliveryNotes)
            Else
              oDelivery = oCompany(piCompany).GetBusinessObject(SAPbobsCOM.BoObjectTypes.oDrafts)
            End If
            oDelivery.CardCode = oSalesOrder.CardCode
            oDelivery.Comments = "Based On Sales Order " & oSalesOrder.DocNum & "."
            oDelivery.DocDate = Today
            oDelivery.ContactPersonCode = oSalesOrder.ContactPersonCode
            oDelivery.DocCurrency = oSalesOrder.DocCurrency
            oDelivery.DocDueDate = Today
            If bDocuments(piCompany).DelDraft = True Then
              oDelivery.DocObjectCode = SAPbobsCOM.BoObjectTypes.oDeliveryNotes
            End If
            '-- Handle Expenses for Document
            Dim ExpenseLoop As Integer
            Dim ExpenseCount As Integer = 0
            For ExpenseLoop = oSalesOrder.Expenses.Count - 1 To 0 Step -1
            ExpenseCount += 1
              '-- Create new Expense if needed
              If ExpenseCount > oDelivery.Expenses.Count Then
                oDelivery.Expenses.Add()
              End If
              oSalesOrder.Expenses.SetCurrentLine(ExpenseLoop)
              '-- Copy all non-readonly properties
              If oSalesOrder.Expenses.LineTotal > 0 Then
                oDelivery.Expenses.BaseDocEntry = oSalesOrder.Expenses.BaseDocEntry
                oDelivery.Expenses.BaseDocLine = oSalesOrder.Expenses.BaseDocLine
                oDelivery.Expenses.BaseDocType = oSalesOrder.Expenses.BaseDocType
                oDelivery.Expenses.DeductibleTaxSum = oSalesOrder.Expenses.DeductibleTaxSum
                oDelivery.Expenses.DistributionMethod = oSalesOrder.Expenses.DistributionMethod
                oDelivery.Expenses.ExpenseCode = oSalesOrder.Expenses.ExpenseCode
                oDelivery.Expenses.LineTotal = oSalesOrder.Expenses.LineTotal
                oDelivery.Expenses.Remarks = oSalesOrder.Expenses.Remarks
                oDelivery.Expenses.TaxCode = oSalesOrder.Expenses.TaxCode
                oDelivery.Expenses.VatGroup = oSalesOrder.Expenses.VatGroup
              End If
            Next ExpenseLoop
            Dim i As Integer = 0
            Dim liMinRef As Integer = -1
            For x = 0 To oSalesOrder.Lines.Count - 1
              lsSQL = "SELECT ISNULL(MIN(CAST(LineRef as int)),999999) as MinLineRef FROM DeliveryTable WHERE DocEntry = " & RecSet.Fields.Item(0).Value & " AND CAST(LineRef as int) > " & liMinRef
              RecSet5.DoQuery(lsSQL)
              If Not RecSet5.EoF Then
                '-- It's possible that the DeliveryTable has less records then the RDR1 table - if that's the case
                '-- we may be at the end, so set the liMinRef field to something out of range
                liMinRef = RecSet5.Fields.Item(0).Value
              End If
              '-- get line items for each document
              lsSQL = "Select * from DeliveryTable WHERE DocEntry = " & RecSet.Fields.Item(0).Value & " AND LineRef = " & x & " AND ProcessResult IS Null"
              RecSet2.DoQuery(lsSQL)
              RecSet2.MoveFirst()
              While Not RecSet2.EoF
                '-- We need to walk through the SO to find the item that we are receiving based on the LineNum
                Dim liCurrentLine As Integer = x
                Dim lbFound As Boolean = False
                While liCurrentLine <= (oSalesOrder.Lines.Count - 1)
                  '-- We need to get the PO Line number (x is NOT the LineRef)
                  oSalesOrder.Lines.SetCurrentLine(liCurrentLine)
                  If oSalesOrder.Lines.LineNum = liMinRef Then
                    lbFound = True
                    Exit While
                  End If
                  liCurrentLine += 1
                End While
                If lbFound Then
                  i += 1
                  If i > oDelivery.Lines.Count Then
                    oDelivery.Lines.Add()
                  End If
                  oDelivery.Lines.BaseEntry = oSalesOrder.DocEntry
                  oDelivery.Lines.Quantity = RecSet2.Fields.Item(6).Value
                  oDelivery.Lines.BaseType = SAPbobsCOM.BoObjectTypes.oOrders
                  oDelivery.Lines.LineTotal = oSalesOrder.Lines.LineTotal * (oDelivery.Lines.Quantity / oSalesOrder.Lines.Quantity)
                  oDelivery.Lines.UserFields.Fields.Item("U_WhseLoc").Value = RecSet2.Fields.Item(8).Value
                  oDelivery.Lines.AccountCode = oSalesOrder.Lines.AccountCode
                  oDelivery.Lines.Address = oSalesOrder.Lines.Address
                  oDelivery.Lines.Currency = oSalesOrder.Lines.Currency
                  oDelivery.Lines.ItemCode = oSalesOrder.Lines.ItemCode
                  oDelivery.Lines.BaseLine = liMinRef
                  oDelivery.Lines.ItemDescription = oSalesOrder.Lines.ItemDescription
                  oDelivery.Lines.WarehouseCode = oSalesOrder.Lines.WarehouseCode
                  lsUserID = RecSet2.Fields.Item("UserID").Value
                  '-- manage serial numbers
                  j = -1
                  lsSQL = "Select * from DeliverySerial WHERE DocEntry = " & oDelivery.Lines.BaseEntry & " AND LineRef = " & liMinRef
                  lsSQL += " AND WIPLineRef = " & RecSet2.Fields.Item("WIPLineRef").Value
                  RecSet3.DoQuery(lsSQL)
                  While Not RecSet3.EoF
                    '-- get the next SystemSerialNumber for the Inventory Item
                    lsSQL = "EXEC " & gsDB(piCompany) & "xspGetSysSerial " & sparm(oDelivery.Lines.ItemCode) & ", " & sparm(RecSet3.Fields.Item("LotNo").Value)
                    lsSQL += ", " & sparm(RecSet3.Fields.Item("ManSerNo").Value) & ", " & sparm(RecSet3.Fields.Item("IntSerNo").Value)
                    lsSQL += ", " & RecSet3.Fields.Item("QTY").Value & ", " & sparm(oDelivery.Lines.WarehouseCode) & ", " & sparm(RecSet2.Fields.Item(8).Value)
                    RecSet4.DoQuery(lsSQL)
                      j += 1
                      If j + 1 > oDelivery.Lines.SerialNumbers.Count Then
                        oDelivery.Lines.SerialNumbers.Add()
                      End If
                      oDelivery.Lines.SerialNumbers.SetCurrentLine(j)
                      oDelivery.Lines.SerialNumbers.BatchID = RecSet3.Fields.Item("LotNo").Value
                      oDelivery.Lines.SerialNumbers.ManufacturerSerialNumber = RecSet3.Fields.Item("ManSerNo").Value
                      oDelivery.Lines.SerialNumbers.InternalSerialNumber = RecSet3.Fields.Item("IntSerNo").Value
                      oDelivery.Lines.SerialNumbers.SystemSerialNumber = RecSet4.Fields.Item(0).Value
                      oDelivery.Lines.SerialNumbers.BaseLineNumber = oDelivery.Lines.BaseLine
                    RecSet3.MoveNext()
                  End While
                  '-- 'end manage serial numbers
                End If
                RecSet2.MoveNext()
              End While
            Next x
            '-- now add object to SAP
            If 0 <> oDelivery.Add() Then
              Dim liError As Long
              Dim lsError As String
              Call oCompany(piCompany).GetLastError(liError, lsError)
              '-- write error code to table - Delivery document creation was unsuccessful
              lsSQL = "Update DeliveryTable SET ProcessResult = " & liError & ", ProcessDate = GetDate() WHERE DocEntry = " & oSalesOrder.DocEntry & " AND ProcessResult Is Null"
              RecSet2.DoQuery(lsSQL)
              lsuWriteEvent("AR Delivery", bDocuments(piCompany).DelDraft, oSalesOrder.DocEntry, liError, lsError, piCompany)
            Else
              lsuWriteEvent("AR Delivery", bDocuments(piCompany).DelDraft, oSalesOrder.DocEntry, 0, "Success", piCompany)
            End If
            RecSet.MoveNext()
          End While
        Catch
          LogErrorMessage(Err.Description)
        Finally
          If Not RecSet Is Nothing Then
            System.Runtime.InteropServices.Marshal.ReleaseComObject(RecSet)
          End If
          If Not RecSet2 Is Nothing Then
            System.Runtime.InteropServices.Marshal.ReleaseComObject(RecSet2)
          End If
          If Not RecSet3 Is Nothing Then
            System.Runtime.InteropServices.Marshal.ReleaseComObject(RecSet3)
          End If
          If Not RecSet4 Is Nothing Then
            System.Runtime.InteropServices.Marshal.ReleaseComObject(RecSet4)
          End If
          If Not RecSet5 Is Nothing Then
            System.Runtime.InteropServices.Marshal.ReleaseComObject(RecSet5)
          End If
          If Not RecSet6 Is Nothing Then
            System.Runtime.InteropServices.Marshal.ReleaseComObject(RecSet6)
          End If
          If Not oSalesOrder Is Nothing Then
            System.Runtime.InteropServices.Marshal.ReleaseComObject(oSalesOrder)
          End If
          If Not oDelivery Is Nothing Then
            System.Runtime.InteropServices.Marshal.ReleaseComObject(oDelivery)
          End If
          GC.WaitForPendingFinalizers()
        End Try

    We have narrowed down the issue to this:
    If you are just adding a delivery document with serial numbers, the DIAPI works OK.  If you are adding a delivery document which is based upon a sales order and add the 3 lines that reference it:
    oDelivery.Lines.BaseEntry = oSalesOrder.DocEntry
    oDelivery.Lines.BaseType = SAPbobsCOM.BoObjectTypes.oOrders
    oDelivery.Lines.BaseLine = liMinRef
    then you receive a error of -1, General error.  This is functionality that did work in 2004 and 2005 SP00.  I believe this is a bug.

  • Customer Exits for Delivery & Goods Receipt - Very Urgent

    Hi Everyone,
      We have got a requirement where we have to trigger a screen exit/badi at the time of posting the material document in transaction MIGO or delivery document in VL01N, can any one tell me the right exit as this is very urgent.
    Rgds,

    Hi,
      Will you elaborate on this, I cant use call screen statement as this gives syntax errors, I have to necessarily use 'leave to' or 'call transaction', however using this above mentioned I wont have any scope for the variables which were there in the method of the BADI????,
    Any help would be very much rewarded.
    Rgds,

  • Status of Delivery Document

    Hi..
    Is there any way to check the status of delivery documents.
    I want some delivery documents whose status is <b>'Archived'</b>.

    Hello Rammohan,
    If the delivery is archived already, than it was deleted from the data base. So, that no entries in LIKP or other delivery tables exit for this delivery anymore. You can review the delivery from the archive using the transaction SARI or also using the transaction VL03N (display the delivery) (you will get the message, that the dispayed delivery is archived already).
    Best regards,
    Lela

Maybe you are looking for

  • Power Supply Refailure

    I have a Power Mac G5 which, until recently, has been sitting around collecting dust as a dead computer for quite a while. I could press the power button and it would click and the light would come on but as soon as I released the power button the li

  • InDesign Object Model Not in OM Viewer

    I have the trial of InDesign CS4 installed, along with the scripting componetns and Adobe bridge. In the ES Toolkit object model viewer I have four options in the dropdown: Core JavaScript Classes ScriptUI Classes Adobe Bridge CS4 Object Model Adobe

  • E72-can't get a list of suggested email addresses

    Hello Nokia Support, Since I upgraded to firmware 22.007 I can't get a list of suggested email addresses in the "TO" field from my contacts addressbook. I've tried to hard reset, and also tried to overwriting of the firmware at the dealer but no help

  • Error installing AIR

    When trying to install adobe air I get the following message: This application requires Adobe AIR to function. Please download the latest version of the runtime from http://www.adobe.com/go/getair, then launch the application again. I have tried unin

  • Firefox will not download .pdf files -- IE doesn't present the same problem

    When attempting to "load" .pdf files, Firefox appears to go through the motions and the status line merely shows "Done." In order to read the .pdf file, I need to resort to IE <grrr>