Incoterms in VBKD

Hi Folks,
I have come across table VBKD to get Incoterms at line item level but it didn't give me all line items from the sales order.
Any idea how data actually populates in this table for line line...what is the criteria for this?
Please share if there is any other table from where I can get item level incoterms.
Thanks in advance.
Cheers !!

Dear Abhinay,
The logic behind updation of VBKD is completely on the changes in Business data. I am giving you one example : Say we are adding some custom text in the header, after saving the order, VBAK will update and along with it the VBKD table will update with one entry and item number as 0000. Now when you go again in Sales order and change the data in Item level ( referred as Business Data) and add some other text, then the VBKD will update by new line entry with the changed Item details and new business data, This time you can get the Item number which has changed.
In your case when you are seeing some of the line items with incoterms it means these have been chaged subsequently.
Thanks,
Raja

Similar Messages

  • Incoterms in Quotation

    Hi Experts:
    System will auto input incoterms base on sold-to party when a quotation is created.
    Can the setting be changed to base on ship-to party ??
    Shwan

    Hi there,
    Incoterms are stored in VBKD business data table.
    In quotation creation include SAPMV45A, it calls incoterms from VBKD-INCO1. If you want your incoterms to come from ship-to, then you need to read the VBPA table 1st, then go to PARVW = WE (ship-to). Then read the INCO1 in billing view.
    Looks like its not a good idea to put this logic.
    Basically why do you want to default incoterms from ship-to?
    Defintion of incoterms is Incoterms specify certain internationally recognised procedures that the shipper and the receiving party must follow for the shipping transaction to be successfully completed. You do business with Sold-to. Not the ship-to.
    Regards,
    Sivanand

  • Make payment terms in sales order editable after billing

    Hi,
    i checked orders in two different systems. In one system payment term is editable even after completely billing the sales order. In other system the payment term field in sales order is grayed out after complete billing and it is not editable.
    Not sure what is the standard way. Is there any configuration / develpement throgh which we can control this?
    I want to make payment terms editable in SO even after completely billing the order.
    Any suggesion friends?
    Thanks,
    Tushar

    Hello Tushar,
    The fields:
       VBKD-INCO1 (Incoterm 1)
       VBKD-INCO2 (Incoterm 2)
       VBKD-ZTERM (Payment terms)
    remain open at header level even after the order has been billed.
    At the item level these fields are greyed out but at header level
    they remain open in the event that a user may want to add more items
    to the sales document.
    The possibilities where the payment term disabled for edit at header
    level could be done by modification/userexits, or screen definition.
    Could you please check if you are using exits in MV45AFZZ particularly USEREXIT_FIELD_MODIFICATION or screen variant ?
    Regards,
    Raghavendra YN

  • Header and Item Incoterms different in Sales order

    Hello SAP Guru's,
    I have an unique issue of Incoterms in Sales order item being different from the Header, when this happens any change to the header Incoterms is not getting copied to sales order Items.
    The issue is due the different Division maintained for Sales order item in the Material master, which is fetching the Inco 2 from the Different Sales area for this is customer.
    This is fine as per design where Item category is checked for Business data and Sales Document type is checked for different Division in the config.
    However the Business would like the Header Incoterms to be copied to all items and any change in Header should also be copied to Line items also.
    We had narrowed down on Couple of Alternatives:
    Remove the Business data allowed check in the Item category config
    But this would allow all Business data to be copied from sales order header to items
    2. Make changes to VBKD user Exit during Sales order creation to copy the Incoterms from Sales order header to items
    But this is causing multiple lines in VBKD and some issues while adding new items in VA02 ending with an Update termination.
    Would like to know whether there is any other Option whether there would be least impact and also would like your advice on the better Option between the above two Options.
    Thanks and Regards
    Mohammed Roshan

    Hi Lakshimipathi,
    Finally we removed the Business Item check in the Item category which is causing the Header incoterms and any changes in Header incoterms to be copied to Sales Order line items as required but we have an issue where Sales Order item Pricing date is being greyed out due these changes, Currently the Sales order Pricing date is being determined through a Z table triggered from a User Exit which was also editable in Sales order item level.
    Due to these new changes Sales order pricing date is being determined in the header and getting copied to the Sales order line item thus greying out the Sales order item pricing date field.
    Would like to know your thoughts on how removing the Business Item check in Item category in VOV7 is causing the grey out of sales Order item pricing date, where the Business can modify on certain occasions and what would the workaround to restore the functionality of Sales order item pricing date.
    Appreciate your inputs on this.
    Thanks and Regards
    Mohammed Roshan

  • Incoterm to be derived from Ship to party in sales order creation via va02

    Hi Experts,
    I have a requirement.
    When a new sales order is created from the screen va02, the inco term flows from the sold to party.
    It should infact flow from the ship to party.
    So standard SAP  SAP derives the incoterms from the sold-to -party when creating saloes order from the va02 screen.
    we should implement user exit for this.
    I just did a little bit of search and got the info that the euxt should be done in MV45AFZZ. in the FORM USEREXIT_MOVE_FIELD_TO_VBKD
    If anyone has worked on this please share your code details of things to be considered.
    Regs,
    SuryaD.

    Hi Experts,
    Found the solution.
    TCode SE38,
    In program MV45AFZZ, in FORM USEREXIT_MOVE_FIELD_TO_VBKD:
    IF us_posnr = 0 AND svbkd-tabix GT 0 AND NOT kuwev-inco1 IS INITIAL.
        vbkd-inco1 = kuwev-inco1.
        vbkd-inco2 = kuwev-inco2.
    ENDIF.
    SVBKD_TABIX = 0 means that you are in the creation mode (VA01),
    SVBKD_TABIX>0 means we are in the change mode(VA02)
    US_POSNR = 0 means that there is no position number for the item yet.
    Regs,
    SuryaD.

  • Table VBKD update

    Hi Experts,
    I am useing VBKD-INCO1 - Incoterms (part 1)
                       VBKD-INCO2 - Incoterms (part 2)
                        VBKD-ZTERM - Terms of payment key
    for some of my report.In VBAP there are suppose 4 line item but in VBKD there is only one entry with line item no 000000 .
    so I am not able to utilize this above mentioned fields.
    can anyone guid me why there is no entry in VBKD and is there any other table from where I can take this above metioned field?
    Thanks in advance
    Thanks
    Sanujeet

    Hi
    The record with item 0 means header data:
    The data stored in VBKD are valid for all items of sales document, so the system inserts one record only with the item equal to 0.
    Only if the user changes some data of VBKD for a certain item, the system'll insert a new record for VBKD with item equal to the item where the modification was done.
    So if you need to extract data from VBKD u should run the select twice:
    DATA: POSNR TYPE VBAP-POSNR.
    DATA: VBKD_H TYPE VBKD.
    DATA: VBKD_P TYPE VBKD.
    SELECT * FROM VBAP WHERE VBELN = .......
       IF VBKD_H IS INITIAL.
          SELECT SINGLE * FROM VBKD INTO VBKD_H
                WHERE VBELN = VBAP-VBELN
                     AND POSNR = '000000'.
       ENDIF.
       SELECT SINGLE * FROM VBKD INTO VBKD_P
             WHERE VBELN = VBAP-VBELN
                  AND POSNR = VBAP-POSNR.
      IF SY-SUBRC <> 0.
        VBKD_P = VBKD_H.
      ENDIF.
    ENDSELECT.
    Anyway just as I said, the Sales Document: Business Data are generally the same for all items, so I think it''s rare u can find another record there except the header one.
    Max

  • UPDATE TABLE VBKD

    hello.
    The table VBKD is  not updated in quality, the table with the same data is however updated in devlopment.
    The item with billing plan is updated in teh VBKD table. The rest of the items with "TAN" item categories are not updated in the table in quality server.
    Please advice me on the same.

    Hello,
    The logic of entries in VBKD is as follows:
    The header entry of the business data (VBKD) is valid for all
    items until a change on item level is done to the business data.
    Then the item receives a separate entry on the database.
    For example an order with 3 line items is created. The business data
    is the same for header and all items. Therefore only 1 entry
    in table VBKD (for the header) is necessary and all items
    use this business data.
    If now a change to the first items business data is done (e.g.
    different incoterms are entered) the item receives its own
    entry in VBKD. The other items still refer to the header.
    This is the general logic, which also has exceptions, but should
    hopefully explain the system behaviour. It is correct that some
    orders do only have entries for the header and some also for
    items, this does not affect the system behaviour.
    Best regards,
    Ian Kehoe

  • User exit is used to get incoterms from ship-to-party.

    Hi Gurus,
    my client needs to catch incoterms from ship-to-party,
    please let me know which user exit is used to get incoterms from ship-to-party.
    regards,
    Naren

    In our system we get the inco terms from the ship to party. We use user exit move_fields_to_vbkd in program mv45afzz. The code looks like this:
    Inco terms
    Added to get the values of Inco Terms from
    Ship-To-Party instead of Sold-To-Party.
    data: oldship like kuwev-kunnr value space.
    if sy-ucomm   <> 'UEBR' and  "Ordre er ikke oprettet med reference
       t180-trtyp <> 'A'.        "Der er ikke Vis mode
      import oldship from memory id 'ZSS'.
      if *vbkd-inco1 is initial. "Første gang vi er i User-Exitet
        if kuwev-kunnr <> kuagv-kunnr. "Varemodtager forskellig fra ordregiver
          select single inco1
                        inco2
         into (vbkd-inco1,
               vbkd-inco2)
         from knvv
        where kunnr = kuwev-kunnr
          and vkorg = vbak-vkorg
          and spart = vbak-spart
          and vtweg = vbak-vtweg.
        endif.
      elseif oldship <> kuwev-kunnr and
       ( *vbkd-inco1 <> vbkd-inco1 or
         *vbkd-inco2 <> vbkd-inco2 ).
        select single inco1
                      inco2
          into (vbkd-inco1,
                vbkd-inco2)
          from knvv
         where kunnr = kuwev-kunnr
           and vkorg = vbak-vkorg
           and spart = vbak-spart
           and vtweg = vbak-vtweg.
      endif.
    endif.
    Det skal ligge udenfor if-sætningen for at undgå at det overskrives
    ved oprettelse med reference
    move kuwev-kunnr to oldship.
    export oldship to memory id 'ZSS'.
    /Torben

  • User exit for incoterms from ship-to-party

    Hi Gurus,
    my client needs to catch incoterms from ship-to-party,
    please let me know which user exit is used to get incoterms from ship-to-party.
    regards,
    Naren

    In our system we get the inco terms from the ship to party. We use user exit move_fields_to_vbkd in program mv45afzz. The code looks like this:
    Inco terms
    Added to get the values of Inco Terms from
    Ship-To-Party instead of Sold-To-Party.
    data: oldship like kuwev-kunnr value space.
    if sy-ucomm   <> 'UEBR' and  "Ordre er ikke oprettet med reference
       t180-trtyp <> 'A'.        "Der er ikke Vis mode
      import oldship from memory id 'ZSS'.
      if *vbkd-inco1 is initial. "Første gang vi er i User-Exitet
        if kuwev-kunnr <> kuagv-kunnr. "Varemodtager forskellig fra ordregiver
          select single inco1
                        inco2
         into (vbkd-inco1,
               vbkd-inco2)
         from knvv
        where kunnr = kuwev-kunnr
          and vkorg = vbak-vkorg
          and spart = vbak-spart
          and vtweg = vbak-vtweg.
        endif.
      elseif oldship <> kuwev-kunnr and
       ( *vbkd-inco1 <> vbkd-inco1 or
         *vbkd-inco2 <> vbkd-inco2 ).
        select single inco1
                      inco2
          into (vbkd-inco1,
                vbkd-inco2)
          from knvv
         where kunnr = kuwev-kunnr
           and vkorg = vbak-vkorg
           and spart = vbak-spart
           and vtweg = vbak-vtweg.
      endif.
    endif.
    Det skal ligge udenfor if-sætningen for at undgå at det overskrives
    ved oprettelse med reference
    move kuwev-kunnr to oldship.
    export oldship to memory id 'ZSS'.
    /Torben

  • Incoterms  by ship-to

    Our company has different incoterms by ship-to .  I understand that in SAP, we are maintaining incoterms by Sold-to.   I am exploring the various options that I can suggest to the business. Below are my findings
    1.     Change the value in the sales order by the desired inco-term
    2.     Use Customer Material  Info record to maintain incoterm value by customer and material. But then, if two ship-tos are using the same product, this wont be  helpful 
    3.     Enhancement  in  MV45AFZZ. I have  found this piece of code  in forums to fetch Incoterms from ship-to-party instead of sold-to-party
    FORM userexit_move_field_to_vbkd USING us_posnr.
    IF us_posnr = 0 AND svbkd-tabix = 0 AND NOT kuwev-inco1 IS INITIAL.
    vbkd-inco1 = kuwev-inco1.
    vbkd-inco2 = kuwev-inco2.
    ENDIF.
    Is there any other standard way to fetch the value from the ship to? Please share the experience! Thanks in advance
    Edited by: SAPGeorge on Mar 3, 2012 3:32 AM

    HI,
    I dont think there is any other way for the same.
    As of your issue:
    Inco terms are determined based on customer masters.So in genral you can not populate them at header level or at item level.
    In order to populate them , you need to implement a user exit in sales order processing to bring the incoterms at line items based on the line item delivery plant. For That as you also written  :
    In program MV45AFZZ, in FORM USEREXIT_MOVE_FIELD_TO_VBKD:
    If SVBKD-TABIX = 0.
    VBKD-INCO1 = KUWEV-INCO1. "IncoTerms Part 1
    VBKD-INCO2 = KUWEV-INCO2. "IncoTerms Part 2
    EndIf.
    Note that this is only done in order create mode, so that you can make changes subsequently & not have them overwritten.
    Other Alternative if you do not want to use the User exit, Then create Mutiple  ship to parties with different incoterms and use respective ship to party while creating the sales order.
    Thanks
    Edited by: C.Ankit on Mar 3, 2012 7:19 AM

  • Incoterms from Ship-to instead of Sold-to

    Dear forum
    Is there any way of getting the incoterms copied from the Ship-to party customer master (Sales area data/Billing document data) in the sales order (created with VA01) copied into the fields VBKD-INCO1 and VBKD-INCO, instead of the standard SAP functionality where the inco terms values are copied from the Sold-to customer master?
    Regards,
    Ola Törnblom

    HI
    We will get it by using  "User Exit "
    Regards
    DV

  • ?segment n field for VBKD-INCO1 from ORDERS05

    Hi,
    I was trying to find the corresponding segment and field for VBKD-INCO1 [Incoterms (part 1)] from ORDERS05 idoc.
    Please help me in this regard.
    Message was edited by:
            Ramesh Kumar

    Hello,
    Check segment
    E1EDK17 ->qualf ->001 for incoterms part 1(header lever)
    E1EDP17-> Qualf->001(item level)
    Thanks,

  • VBKD~posnr = '000000'

    Hi all,
    I want to get incoterms at the item level for a sales order. This is stored in vbkd~inco1.
    I think vbkd exists at the item level.
    what does it mean where there is a value '000000' in the field POSNR in table VBKD.

    Hi,
      You have do the following..
      check the VBKD with the line item number..
      SELECT SINGLE * FROM VBKD
             WHERE VBELN = '12121212'
             AND   POSNR = 'line item no'.
      IF SY-SUBRC <> 0.
    If no record found get the values from the header..
      SELECT SINGLE * FROM VBKD
             WHERE VBELN = '12121212'
             AND   POSNR = '000000'.
      ENDIF.
    SAP will create a new line item in VBKD only if the values are different..
    Try changing the Payment terms at the line item level..SAP will create a new line item in VBKD..
    Thanks,
    Naren

  • Problem with BAPI_SALESORDER_CHANGE ("Enter part 2 of the incoterms")

    Hi,
    I have a problem when I try to create Sales Order and change it with BAPI_SALESORDER_CHANGE.
    Logic of my program is
    1. Use BAPI_SALESDOCUMENT_COPY to copy data from Billing to Create SO
    2. Use BAPI_SALESORDER_CHANGE to unblock Billing Block in Sales Order Created from step1
    Problem occurs in step 2. Returning Bapi Error Message that "Enter part 2 of the Incoterms". I already check that after step 1 Sales Order already have incoterm2. And in step 2, I didn't send input parameter 'X' to update fiend incoterm2 (Table order_header_inx1).
    I debug BAPI_SALESORDER_CHANGE and found that my error came from function 'SD_SALES_ITEM_MAINTAIN'. I think that this function is used for update item. I couldn't see why it gave me that error about INCOTERMS2 which is in header.
    Have anyone ever been through the same problem before?
    Thanks,
    Pavin

    I just found the cause of this problem and want to share in this topic.
    Here is the process of BAPI_SALESORDER_CHANGE that cause my problem.
    BAPI_SALESORDER_CHANGE -> SD_SALESDOCUMENT_CHANGE -> SD_SALES_ITEM_MAINTAIN  -> perform vbkd-inco1_pruefen(sapfv45k) -> RV_INCOTERMS_CHECK
    My problem occurs in Function RV_INCOTERMS_CHECK because value in field VBKD-INCO2 is missing. This case only happen when I try to create CFR SO with reference from EXW Billing.
    Hope it's useful.
    Regards,
    Pavin
    Edited by: Pavin P. on Apr 30, 2009 5:15 AM

  • Need help to understand the relation bw VBKD and VBAP

    Hi all,
    I have a requiement to display the incoterms of ship-to-party if Ship-to-party is differnt from sold-to-party.
    At header level it is ok,,but at item level im facing some problems.
    READ TABLE xvbkd WITH KEY vbeln = xvbap-vbeln
                                        posnr = xvbap-posnr.
              IF sy-subrc = 0.
                xvbkd-inco1 = wa_xvbkd-inco1.
                xvbkd-inco2 = wa_xvbkd-inco2.
                MODIFY xvbkd FROM wa_xvbkd INDEX sy-tabix TRANSPORTING  inco1 inco2.
              ENDIF.
    Im getting the incotems but the problem is xvbkd does get populated with the items though VBAP has multiple items.
    Pls help me to understand why VBKD does nt get populated with item details.
    In some cases it gets populated, then it is working fine.
    Your valuable suggesstion is highly appricated.
    Rgs,
    Priya

    Pls help me to understand why VBKD does nt get populated with item details
    Hi,
    When you define a table lookup for the table VBKD (Sales document: Business data), data does not have to be present for every item in the sales document. If the item data is no different than the header data, the system does not store it in the item as well. In this case, you can find the valid values in the header data, which is stored in table VBKD under the item number "000000".
    Thus, if you want to read incoterms values from VBKD, you always need to define two table lookups:
    1: Table lookup in table VBKD using the key VBELN and POSNR;
    2: Table lookup in table VBKD using the key VBELN and POSNR ="000000" (if the 1st lookup failed)
    Regards,
    Andrea

Maybe you are looking for

  • Error in communicating with DCR Server. in LMS 3.1

    I am receiving this error when I try to ad device: Error in communicating with DCR Server. DCR Server may be down. Please start the DCR Server and then refresh the page. The DCRserver is running. ( I did restart it) I am using Windows version of LMS

  • Custom leave screen creation with feature of uploading doctor's certificate

    Hi Experts, In our ESS / MSS implementation project we have to create custom leave screen. In the leave screen, we have to provide following feature: The employee has to provide the scanned copy of doctor's certificate while applying for sick leave.

  • How do I change the printed text size.

    How do I change the printed text size?  This happens on everything I print out.  The text is so small I can just about read it.  I use a magnifying glass.  Please help.  Thank you.

  • AppleWorks unexpectedly quitting while working in 'Draw'

    I have been re-working documents in AppleWorks Draw. About five minutes or so into reconfiguration, the program quits! Very frustrating. I reported it to Apple. How can I troubleshoot this?

  • Creating a dynamic operator in Office analysis

    Hello All, Is it possible to bring operators(=; =>;<= etc) in Analysis report (not referring to variants in Query Designer)? I often come across requirements where the user would want a operator on Date field or sales numbers etc. these are often tem