Determine MWST using fiscal class of ship-to-party

Hi,
Can you tell me how to make the system determinate MWST condition by the fiscal classification of the ship-to-party?
I create an acess sequence with filed KOMK-TAXK1, but this is the fiscal classification of the sold-to-party except if the ship-to-party has a VAT Registration Number. But what I want is that an acess sequence always by the  fiscal classification of the ship-to-party.
Can you hepl me?
Thanks in advance
Dora

Hi,
Go to VK11, select UTXJ and maintain the tax code for ship to party for your customer.
Basically the idea to maintain the tax code which has the relevant registration number.
If the priority has been given to the sold to party, then what i can suggest alternatively, you can add the tax number of ship to party, while removing the tax number of sold to party.
thats all i know, see if it helps you.
regards,
Siddharth

Similar Messages

  • Using C++ classes in a third-party shared library

    Would be very grateful if someone could help me out with the following problem that I am having (apologies if this has been answered elsewhere but I have been searching the web for ages and can't find a solution )
    I have a requirement for a java app to access a C++ class in a third party shared library. To test my solution and illustrate the problem I have developed the following test code.
    I am developing on SUSE 11.1 using Suns Java 1.5 and g++ 4.3.2
    $LD_LIBRARY_PATH = /home/raughterd/projects/dpa/jnitest:/usr/lib/mpi/gcc/openmpi/lib
    First developed a test class library libfred.so
    fred.h
    #ifndef __FRED_H__
    #define __FRED_H__
    class fred
    public:
    void test() const;
    #endif // __FRED_H__
    fred.cc
    #include <iostream>
    #include "fred.h"
    void fred::test() const
    std::cout << "Called fred.test" << std::endl;
    built it with the following
    g++ -c -Wall -I. fred.cc
    g++ -shared fred.o -o libfred.so
    Then developed java test application Tester
    jnitest.java
    class jnitest
    static
    System.loadLibrary("jnitest");
    public native void test();
    Tester.java
    class Tester
    public static void main(String[] args)
    jnitest x = new jnitest();
    x.test();
    both compiled with
    javac xxxxx.java
    and developed libjnitest.so by
    javah -jni jnitest
    to produce jnitest.h
    /* DO NOT EDIT THIS FILE - it is machine generated */
    #include <jni.h>
    /* Header for class jnitest */
    #ifndef Includedjnitest
    #define Includedjnitest
    #ifdef __cplusplus
    extern "C" {
    #endif
    * Class: jnitest
    * Method: test
    * Signature: ()V
    JNIEXPORT void JNICALL Java_jnitest_test
    (JNIEnv *, jobject);
    #ifdef __cplusplus
    #endif
    #endif
    wrote jnitestimpl.cc
    #include <iostream>
    #include "jnitest.h"
    #include "fred.h"
    JNIEXPORT void JNICALL
    Java_jnitest_test(JNIEnv *, jobject)
    std::cout << "called C++ func" << std::endl;
    fred afred;
    afred.test();
    compiled with
    g++ -c -Wall -I. jnitestimpl.cc
    g++ -shared jnitestimpl.o -o libjnitest.so
    ran the test application
    java Tester
    which produced
    Exception in thread "main" java.lang.UnsatisfiedLinkError: /home/raughterd/projects/dpa/jnitest/libjnitest.so: /home/raughterd/projects/dpa/jnitest/libjnitest.so: undefined symbol: _ZNK4fred4testEv
         at java.lang.ClassLoader$NativeLibrary.load(Native Method)
         at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
         at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
         at java.lang.Runtime.loadLibrary0(Runtime.java:822)
         at java.lang.System.loadLibrary(System.java:993)
         at jnitest.<clinit>(jnitest.java:5)
         at Tester.main(Tester.java:5)
    Without the references to the fred class in jnitestimpl.cc everything works fine. It is only when I try to use the fred class in the jnitestimpl.cc that I get the exception. I am guessing that it is something to do with the name mangling and maybe compiler options but that is just a guess. ( libfred.so and libjnitest.so are in the current directory which is on the LD_LIBRARY_PATH )
    Any ideas? Any help would be greatly appreciated
    Many thanks

    Forget guys. I was being a complete and utter idiot!! It was compiler options. Forgot the -lfred when building the libjnitest.so

  • Redetermine Routes for all items when ship-to-party gets changed

    Dear All,
    I have one requirement with respect to determination.
    Right now when we create any order using "VA01" and entering ship to party, sold to party,material and order quantity and if press enter we are able to get the route number for that item and to get the route number they have written the code in user exit "MV45AFZZ" in FORM USEREXIT_MOVE_FIELD_TO_VBEP. Up to this OK.
    And if they change the ship to party at header level and press enter it will ask for
    Shipping conditions were changed,Redetermine routes and shipping for all items?
    and if press redetermine again it will ask Ship-to party has been changed   Redetermine plant/shipping point ?.
    But when i press redetermine it's not picking any route number for that item, and to pick the route number we should write some code, but i didn't find the correct place to write in userexit.
    Please let me know where should i write the code in userexit, and if possible send sample code as well.
    Thanks in Advance.
    Regards,
    Raju

    Hi Raja,
    How did u solve this issue, im facing exactly the same problem.
    Need some advise.
    Regards,

  • Ship to party not defaulted in invoice

    Hi,
    We are upgrading from EBP3.0 to SRM5.5. When creating invoice w/o ref to PO using transaction BBPIV03, the ship to party partner is not defaulted. It use to default in EBP3.0.
    Any suggestions.
    Thanks.
    Srini Vaidyam

    Hi Pamela,
    can you Please share some more information like IDoc details. so that v can analyze more.
    Regards,
    VSN

  • User Exit for correct ship-to Party while Creating Sales Order

    Dear Friends,
    Pls let me know which User Exit should I use to validate the Ship-to Party on the basis of Sold-to Party, while creating a sales order.
    In other words we wish to make sure that the user gives the correct Ship-to party corresponding to the Sold-to party, while creating a sales order.
    Regards,
    Alok.

    Dear Naveen,
    Thanks for replying.
    I do agree with you that SAP may validate the Ship-to Party in accordance with the Sold-to Party. But still the user may change  that Ship-to Party value and save the Sales Order with a wrong Ship-to Party.
    Here, my user wants a check/validation that no one should be able to save the sales order with wrong Ship-to Party other than the ones defined in Customer Master.
    Hope you got the issue now.
    Regards and thanks once again,
    Alok.

  • Sales Employee based on Ship to party

    Hi ,
    We have a scenario where one sold to party is having multiple ship to parties... and each ship to party is catered by one sales employeee.
    Can we get sales employee number determined in sales order based on ship to party if yes how.
    please help.
    regards,
    Kiran.

    In the partner determination procedure of the Ship to party - add the Sales Employee partner. So when ever ship to is created, the sales employee can be added to the ship to master.
    In the Sales order Header Partner Determination, add the sales employee partner and in the Source column give SH - ship to . So the sales employee in the order is derived from the ship to.
    Partner Determination T code VOPAN.
    Hope this helps
    Regards
    Sai

  • PersistentProxy class usage for 3rd party super class

    Hi,
    I am using PersistentProxy class for 3^rd^ party super class. Please see code below for proxy class.
    @Persistent(proxyFor=AIAMessageHeader.*class*)
    public class AIAMessageHeaderProxy implements PersistentProxy&lt;AIAMessageHeader&gt;{
    public AIAMessageHeader convertProxy() {
    AIAMessageHeader h = null;
    //some code here
    return h;
    public void initializeProxy(AIAMessageHeader h) {
    //some code here
    I am not sure how to register this proxy class using EntityModel:registerClass method before opening EntityStore. Before opening store, entity model object is null. I tried creating object of AnnotationModel and register class, set back it using setModel method of StoreConfig. But no help!!
    Can someone put code snippet to do that? Without registration, it throws following exception.
    Exception in thread "main" java.lang.IllegalArgumentException: Persistent class has non-persistent superclass:

    Thanks so much charles for replying me.
    I tried the steps as you mentioned but did not work. It's still throwing exception. Please see code below.
    public class TestData extends AIAMessageHeader {
         @PrimaryKey
         String testStr;
         public static void main(String[] args) {
              new TestData().start();
         public void start (){
              try {
                   EnvironmentConfig envConfig = new EnvironmentConfig();
                   StoreConfig storeConfig = new StoreConfig();
                   // Allow environment and store to be created if does not exist
                   envConfig.setAllowCreate(true);
                   storeConfig.setAllowCreate(true);
                   // set for AutoCommit of transaction
                   envConfig.setTransactional(true);
                   storeConfig.setTransactional(true);
                   AnnotationModel model = new AnnotationModel();
                   model.registerClass(com.jpm.equities.aia.cache.AIAMessageHeaderProxy.class);
                   storeConfig.setModel(model);
                   // open environment and EntityStore (database for caching data)
                   Environment env = new Environment(new File(
                             "C:\\workspace\\RollingIOIServer\\dbenv"), envConfig);
                   EntityStore s = new EntityStore(env, "EntityStore", storeConfig);
                   PrimaryIndex<String, TestData> pi = null;
                   pi = s.getPrimaryIndex(String.class, TestData.class);
                   TestData td = new TestData();
                   td.setTestStr("Kinnari");
                                  pi.put(td);
                   System.out.println("inserted object into cache");
                   TestData t = pi.get("Kinnari");
                   System.out.println("found data " + t.getTestStr());
              } catch (Exception e) {
                   AIALogger.getAIALogger().fatal("Exception : ", e);
    Thanks in advance!!
    Kinnari

  • Binding XML to java types generated using Oracle Class Gen

    Hi,
    how can you bind an XML to the java types generated using the class gen provided byOracle.
    I am using oracle 9i production. as part of my design, i have to read an xml input in my java class and use the contents to create some records and send a response xml back.
    The latter part of i can do as the java types provide setter methods to set the data and conversion to xml.
    Jaxb can be using to bind xml to java datatypes but its not supported in Oracle9i.
    What are the alternatives for achieving the same?
    Thanks
    Ashwin

    Hi Ashwin,
    This is a bit outside my area of expertise, but I did run an older version of TopLink in the Oracle database java VM a few years back so I'll base my advice on that. Hopefully other forum members can correct me if I steer you wrong.
    First you will need to set up your XML environment:
    I believe the Oracle 9i database includes a JDK 1.3 VM. You will first need to determine if the VM includes any JAXP APIs. I believe there is an SQL query that allows you to query the classes available in the VM. First check if javax.xml.parsers.DocumentBuilderFactory is present.
    If the JAXP APIs are already present in the database you will need to do the following. First load the class javax.xml.namespace.QName into the database. You can extract this from xmlparserv2.jar or from Suns Java Web Service Developer Pack jax-qname.jar. Then you will need to load the JAXB APIs. You can load xml.jar or jaxb-api.jar from Sun's JWSDP.
    If the JAXP APIs are not present you will need to load the 10.1.3 version of the XDK jars (these are shipped with the 10.1.3 TopLink install). Load xmlparserv2.jar and xml.jar into the database.
    Second you will need to setup your TopLink environment:
    Load toplink.jar into the database. If the JAXP APIs were already present and you didn't load the 10.1.3 XDK jars into the database you will need to set the following System property.
    toplink.xml.platform=oracle.toplink.platform.xml.jaxp.JAXPPlatform-Blaise

  • Not able to get group name by using memberof class, getting Total groups as 0 even I am member of that group.

    Not able to get group name by using memberof class, getting Total groups as 0 even I am member of that group. Through this memberof class I am trying to find full qualified name(DN) of my group.
    code I have used:
    //specify the LDAP search filter
                   String searchFilter = "(&(objectClass=user)(CN=Username))";
                   //Specify the Base for the search
                   String searchBase = "";
    Also I have used,
                 String searchFilter = "(&(objectClass=user)(CN=Username))";
                   //Specify the Base for the search
                   String searchBase = "ou=ibmgroups,o=ibm.com";
    But in both cases I am getting value for Total groups as 0.
    Code Reference:
    * memberof.java
    * December 2004
    * Sample JNDI application to determine what groups a user belongs to
    import java.util.Hashtable;
    import javax.naming.*;
    import javax.naming.ldap.*;
    import javax.naming.directory.*;
    public class memberof     {
         public static void main (String[] args)     {
              Hashtable env = new Hashtable();
              String adminName = "CN=Administrator,CN=Users,DC=ANTIPODES,DC=COM";
              String adminPassword = "XXXXXXX";
              String ldapURL = "ldap://mydc.antipodes.com:389";
              env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
              //set security credentials, note using simple cleartext authentication
              env.put(Context.SECURITY_AUTHENTICATION,"simple");
              env.put(Context.SECURITY_PRINCIPAL,adminName);
              env.put(Context.SECURITY_CREDENTIALS,adminPassword);
              //connect to my domain controller
              env.put(Context.PROVIDER_URL,ldapURL);
              try {
                   //Create the initial directory context
                   LdapContext ctx = new InitialLdapContext(env,null);
                   //Create the search controls          
                   SearchControls searchCtls = new SearchControls();
                   //Specify the search scope
                   searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
                   //specify the LDAP search filter
                   String searchFilter = "(&(objectClass=user)(CN=Andrew Anderson))";
                   //Specify the Base for the search
                   String searchBase = "DC=antipodes,DC=com";
                   //initialize counter to total the group members
                   int totalResults = 0;
                   //Specify the attributes to return
                   String returnedAtts[]={"memberOf"};
                   searchCtls.setReturningAttributes(returnedAtts);
                   //Search for objects using the filter
                   NamingEnumeration answer = ctx.search(searchBase, searchFilter, searchCtls);
                   //Loop through the search results
                   while (answer.hasMoreElements()) {
                        SearchResult sr = (SearchResult)answer.next();
                        System.out.println(">>>" + sr.getName());
                        //Print out the groups
                        Attributes attrs = sr.getAttributes();
                        if (attrs != null) {
                             try {
                                  for (NamingEnumeration ae = attrs.getAll();ae.hasMore();) {
                                       Attribute attr = (Attribute)ae.next();
                                       System.out.println("Attribute: " + attr.getID());
                                       for (NamingEnumeration e = attr.getAll();e.hasMore();totalResults++) {
                                            System.out.println(" " +  totalResults + ". " +  e.next());
                             catch (NamingException e)     {
                                  System.err.println("Problem listing membership: " + e);
                   System.out.println("Total groups: " + totalResults);
                   ctx.close();
              catch (NamingException e) {
                   System.err.println("Problem searching directory: " + e);
    Any help will be highly appreciated.

    Not able to get group name by using memberof class, getting Total groups as 0 even I am member of that group. Through this memberof class I am trying to find full qualified name(DN) of my group.
    code I have used:
    //specify the LDAP search filter
                   String searchFilter = "(&(objectClass=user)(CN=Username))";
                   //Specify the Base for the search
                   String searchBase = "";
    Also I have used,
                 String searchFilter = "(&(objectClass=user)(CN=Username))";
                   //Specify the Base for the search
                   String searchBase = "ou=ibmgroups,o=ibm.com";
    But in both cases I am getting value for Total groups as 0.
    Code Reference:
    * memberof.java
    * December 2004
    * Sample JNDI application to determine what groups a user belongs to
    import java.util.Hashtable;
    import javax.naming.*;
    import javax.naming.ldap.*;
    import javax.naming.directory.*;
    public class memberof     {
         public static void main (String[] args)     {
              Hashtable env = new Hashtable();
              String adminName = "CN=Administrator,CN=Users,DC=ANTIPODES,DC=COM";
              String adminPassword = "XXXXXXX";
              String ldapURL = "ldap://mydc.antipodes.com:389";
              env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
              //set security credentials, note using simple cleartext authentication
              env.put(Context.SECURITY_AUTHENTICATION,"simple");
              env.put(Context.SECURITY_PRINCIPAL,adminName);
              env.put(Context.SECURITY_CREDENTIALS,adminPassword);
              //connect to my domain controller
              env.put(Context.PROVIDER_URL,ldapURL);
              try {
                   //Create the initial directory context
                   LdapContext ctx = new InitialLdapContext(env,null);
                   //Create the search controls          
                   SearchControls searchCtls = new SearchControls();
                   //Specify the search scope
                   searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
                   //specify the LDAP search filter
                   String searchFilter = "(&(objectClass=user)(CN=Andrew Anderson))";
                   //Specify the Base for the search
                   String searchBase = "DC=antipodes,DC=com";
                   //initialize counter to total the group members
                   int totalResults = 0;
                   //Specify the attributes to return
                   String returnedAtts[]={"memberOf"};
                   searchCtls.setReturningAttributes(returnedAtts);
                   //Search for objects using the filter
                   NamingEnumeration answer = ctx.search(searchBase, searchFilter, searchCtls);
                   //Loop through the search results
                   while (answer.hasMoreElements()) {
                        SearchResult sr = (SearchResult)answer.next();
                        System.out.println(">>>" + sr.getName());
                        //Print out the groups
                        Attributes attrs = sr.getAttributes();
                        if (attrs != null) {
                             try {
                                  for (NamingEnumeration ae = attrs.getAll();ae.hasMore();) {
                                       Attribute attr = (Attribute)ae.next();
                                       System.out.println("Attribute: " + attr.getID());
                                       for (NamingEnumeration e = attr.getAll();e.hasMore();totalResults++) {
                                            System.out.println(" " +  totalResults + ". " +  e.next());
                             catch (NamingException e)     {
                                  System.err.println("Problem listing membership: " + e);
                   System.out.println("Total groups: " + totalResults);
                   ctx.close();
              catch (NamingException e) {
                   System.err.println("Problem searching directory: " + e);
    Any help will be highly appreciated.

  • Ship to party for each material using BAPI_SLSTRANSACT_CREATEMULTI

    i am able to generate sales order for in CRM. I am inputting the sold to party, ship to party, bill to party and payer at the header level...
    CRM is currently configured in such a way that , there is a provision to assign ship to party at item level for each material.
    How can i programatically replicate this? I need to assign a diiferent ship to party for each material in the sales order.*
    how can i programatically replicate this?...
    this is  my code for cresating a sales order in CRM with sold to party, ship to party, bill to party and payer at the header level...
    *************include constants
      include crm_direct.
    ************// GUIDs
      data:         lv_guid_h type GUID_32,              "HEADER GUIDE
                    lv_guid_i type GUID_32,              "ITEM GUIDE
                    lv_guid_sl type GUID_32,             "SCHEDULE LINE GUIDE
                    lv_guid_p type GUID_32.              "PARTNER GUIDE
    ***********// Handles
      data:        lv_current_handle type crmt_handle,    "CURRENT HANDLE
                   lv_handle_h type crmt_handle,          "HEADER HANDLE
                   lv_handle_i type crmt_handle,          "ITEM HANDLE
                   lv_handle_sl type crmt_handle,         "SCHEDULE LINE HANDLE
                   lv_handle_p type crmt_handle.          "PARTNER HANDLE
    ***********// Administration header + item + etc
      data:        lt_salesorder_header type table of bapibus20001_header_ins,        "LT_SALESORDER_HEADER
                   ls_salesorder_header type bapibus20001_header_ins,                 "LS_SALESORDER_HEADER
                   lt_salesorder_item type table of bapibus20001_item,                "LT_SALESORDER_ITEM
                   ls_salesorder_item type bapibus20001_item,                         "LS_SALESORDER_ITEM
                   lt_scheduleline type table of BAPIBUS20001_SCHEDLIN,               "LT_SCHEDULELINE
                   ls_scheduleline type BAPIBUS20001_SCHEDLIN,                        "LS_SCHEDULELINE
                   lt_partner type table of BAPIBUS20001_PARTNER_INS,                 "LT_PARTNER
                   ls_partner type BAPIBUS20001_PARTNER_INS,                          "LS_PARTNER
                   ls_logical_key TYPE crmt_partner_logic_partner_key,                "LS_LOGICAL_KEY
                   lt_organisation type table of BAPIBUS20001_ORGMAN_INS,             "LT_ORGANISATION
                   ls_organisation type BAPIBUS20001_ORGMAN_INS.                      "LS_ORGANISATION
    *********// Saved sales orders
    data: lt_saved_process type table of bapibus20001_object_id,                   "LT_SAVED_PROCESS
      data:
            ls_saved_process type bapibus20001_object_id,                             "LS_SAVED_PROCESS
            ls_salesorder type CRMT_RETURN_OBJECTS_STRUC.                             "LS_SALESORDER
      data: lt_input_fields type table of bapibus20001_input_fields,                  "LT_INPUT_FIELDS
            ls_input_fields type bapibus20001_input_fields,                           "LS_INPUT_FIELDS
            ls_return type bapiret2.                                                  "LS_RETURN
    data: lt_return type table of bapiret2.                                        "LT_RETURN
    ***********// Macro definition to populate structure and input field This, called as
    *_set_field ls_salesorder_header GUID lv_guid_h
    *is exploded as
          ls_salesorder_header-GUID            =        lv_guid_h.
          ls_input_fields-fieldname            =        'GUID'.
          append ls_input_fields to lt_input_fields.
    *Note 1: &2 (field name) MUST be uppercase
    *Note 2: for the salesorder header, Macro has not been used to show how the code should look like.
    *except for that the macro has been used everywhere else.
         define setfield.
              &1-&2 = &3.
              ls_input_fields-fieldname = '&2'.
              append ls_input_fields to lt_input_fields.
        end-of-definition.
    *****// end of macro definition
    ******// fill order administration header
        perform get_guid changing lv_guid_h.
        add 1 to lv_handle_h.
        ls_salesorder_header-guid = lv_guid_h.
        ls_salesorder_header-handle = lv_handle_h.
        ls_salesorder_header-process_type = 'ZWEB'.
        clear ls_input_fields.
        ls_input_fields-ref_handle = lv_handle_h.
        ls_input_fields-ref_guid = lv_guid_h.
    *ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_h.
        ls_input_fields-objectname = gc_object_name-orderadm_h.
        ls_input_fields-fieldname = 'GUID'.
        append ls_input_fields to lt_input_fields.
        ls_input_fields-fieldname = 'HANDLE'.
        append ls_input_fields to lt_input_fields.
        ls_input_fields-fieldname = 'PROCESS_TYPE'.
        append ls_input_fields to lt_input_fields.
        append ls_salesorder_header to lt_salesorder_header.
    **********// fill organisation data (Interface needs this, some times may rely on sales org determination instead...
        clear ls_input_fields.
        ls_input_fields-ref_handle          =      lv_handle_h.
        ls_input_fields-ref_guid            =      lv_guid_h.
        ls_input_fields-ref_kind            =      gc_object_ref_kind-orderadm_h.
        ls_input_fields-objectname          =      gc_object_name-orgman.
        setfield      ls_organisation    REF_GUID         lv_guid_h.
        setfield      ls_organisation    REF_HANDLE       lv_handle_h.
        setfield      ls_organisation    REF_KIND         gc_object_ref_kind-orderadm_h.
        setfield      ls_organisation    SALES_ORG_RESP   SO_RESP .                                 "(input).
        setfield      ls_organisation    SALES_ORG        SALES_ORG.                                "(input).
        setfield      ls_organisation    DIS_CHANNEL      DIS_CHNL.                                 "(input).
        setfield      ls_organisation    DIVISION         DIVISION.                                 "(input).
        append ls_organisation to lt_organisation.
    **********// fill order administration item
      perform get_guid changing lv_guid_i.
      lv_handle_i = lv_handle_h.
      add 1 to lv_handle_i.
      clear ls_input_fields.
      ls_input_fields-ref_guid            =        lv_guid_i.
      ls_input_fields-ref_handle          =        lv_handle_i.
    *ls_input_fields-ref_kind             =        gc_object_ref_kind-orderadm_i.
      ls_input_fields-objectname          =        gc_object_name-orderadm_i.
      setfield      ls_salesorder_item      GUID               lv_guid_i.
      setfield      ls_salesorder_item      HEADER             lv_guid_h.
      setfield      ls_salesorder_item      HANDLE             lv_handle_i.
      setfield      ls_salesorder_item      HEADER_HANDLE      lv_handle_h.
      setfield      ls_salesorder_item      ORDERED_PROD       PRODUCT .                           "(input).
      setfield      ls_salesorder_item      ITM_TYPE           'ZTAN'.
      setfield      ls_salesorder_item      MODE               'A'.
    *adjustment taken from standard include LCMS_MAPPERF04
    *(see where-used-list for BAPI_SLSTRANSACT_CREATEMULTI, program LCMS_MAPPERU11)
      delete lt_input_fields where fieldname = 'HANDLE'
      OR
      fieldname      =    'HEADER_HANDLE'.
      append ls_salesorder_item to lt_salesorder_item.
    ********// fill schedule line for item
      perform get_guid changing lv_guid_sl.
      add 1 to lv_handle_sl.
      clear ls_input_fields.
      ls_input_fields-ref_guid          =        lv_guid_i.
      ls_input_fields-ref_handle        =        lv_handle_i.
      ls_input_fields-ref_kind          =        gc_object_ref_kind-orderadm_i.
      ls_input_fields-objectname        =        gc_object_name-schedlin.
      setfield       ls_scheduleline       ITEM_GUID       lv_guid_i.
      setfield       ls_scheduleline       GUID            lv_guid_sl.
      setfield       ls_scheduleline       HANDLE          lv_handle_sl.
      setfield       ls_scheduleline       ITEM_HANDLE     lv_handle_i.
      setfield       ls_scheduleline       QUANTITY        quantity.                        "(input).
      append ls_scheduleline to lt_scheduleline.
    ********// fill partner line
    *perform get_guid changing lv_guid_p.
    *the partner use the logical key as well
      ls_logical_key-ref_partner_handle = '0001'.
      clear ls_input_fields.
      ls_input_fields-ref_guid       =       lv_guid_h.
      ls_input_fields-ref_handle     =       lv_handle_h.
      ls_input_fields-ref_kind       =       gc_object_ref_kind-orderadm_h.
      ls_input_fields-objectname     =       gc_object_name-partner.
      ls_input_fields-logical_key    =       ls_logical_key.
      setfield       ls_partner       REF_GUID                   lv_guid_h.
      setfield       ls_partner       REF_HANDLE                 lv_handle_h.
      setfield       ls_partner       REF_KIND                   gc_object_ref_kind-orderadm_h.
      setfield       ls_partner       REF_PARTNER_HANDLE         '0001'.
      setfield       ls_partner       KIND_OF_ENTRY              'C'.
      setfield       ls_partner       PARTNER_FCT                '00000001'.
      setfield       ls_partner       PARTNER_NO                 SOLD_TO.                                "(input).
      setfield       ls_partner       NO_TYPE                    'BP'.
      setfield       ls_partner       DISPLAY_TYPE               'BP'.
      move-corresponding ls_partner to ls_logical_key.
      append ls_partner to lt_partner.
      ls_logical_key-ref_partner_handle        =       '0002'.
      clear ls_input_fields.
      ls_input_fields-ref_guid                 =         lv_guid_h.
      ls_input_fields-ref_handle               =         lv_handle_h.
      ls_input_fields-ref_kind                 =         gc_object_ref_kind-orderadm_h.
      ls_input_fields-objectname               =         gc_object_name-partner.
      ls_input_fields-logical_key              =         ls_logical_key.
      setfield          ls_partner           REF_GUID                   lv_guid_h.
      setfield          ls_partner           REF_HANDLE                 lv_handle_h.
      setfield          ls_partner           REF_KIND                   gc_object_ref_kind-orderadm_h.
      setfield          ls_partner           REF_PARTNER_HANDLE         '0002'.
      setfield          ls_partner           KIND_OF_ENTRY              'C'.
      setfield          ls_partner           PARTNER_FCT                '00000002'.
      setfield          ls_partner           PARTNER_NO                 SHIP_TO .                                "(input).
      setfield          ls_partner           NO_TYPE                    'BP'.
      setfield          ls_partner           DISPLAY_TYPE               'BP'.
      move-corresponding ls_partner to ls_logical_key.
      append ls_partner to lt_partner.
      ls_logical_key-ref_partner_handle = '0003'.
      clear ls_input_fields.
      ls_input_fields-ref_guid             =           lv_guid_h.
      ls_input_fields-ref_handle           =           lv_handle_h.
      ls_input_fields-ref_kind             =           gc_object_ref_kind-orderadm_h.
      ls_input_fields-objectname           =           gc_object_name-partner.
      ls_input_fields-logical_key          =           ls_logical_key.
      setfield         ls_partner            REF_GUID                   lv_guid_h.
      setfield         ls_partner            REF_HANDLE                 lv_handle_h.
      setfield         ls_partner            REF_KIND gc_object_ref_kind-orderadm_h.
      setfield ls_partner REF_PARTNER_HANDLE '0003'.
      setfield ls_partner KIND_OF_ENTRY 'C'.
      setfield ls_partner PARTNER_FCT '00000003'.
      setfield ls_partner PARTNER_NO BILL_TO ."(input).
      setfield ls_partner NO_TYPE 'BP'.
      setfield ls_partner DISPLAY_TYPE 'BP'.
      move-corresponding ls_partner to ls_logical_key.
      append ls_partner to lt_partner.
      ls_logical_key-ref_partner_handle = '0004'.
      clear ls_input_fields.
      ls_input_fields-ref_guid = lv_guid_h.
      ls_input_fields-ref_handle = lv_handle_h.
      ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_h.
      ls_input_fields-objectname = gc_object_name-partner.
      ls_input_fields-logical_key = ls_logical_key.
      setfield ls_partner REF_GUID lv_guid_h.
      setfield ls_partner REF_HANDLE lv_handle_h.
      setfield ls_partner REF_KIND gc_object_ref_kind-orderadm_h.
      setfield ls_partner REF_PARTNER_HANDLE '0004'.
      setfield ls_partner KIND_OF_ENTRY 'C'.
      setfield ls_partner PARTNER_FCT '00000004'.
      setfield ls_partner PARTNER_NO PAYER ."(input).
      setfield ls_partner NO_TYPE 'BP'.
      setfield ls_partner DISPLAY_TYPE 'BP'.
      move-corresponding ls_partner to ls_logical_key.
      append ls_partner to lt_partner.
    *******// example of a second partner function (custom) with data override
    *ls_logical_key-ref_partner_handle = '0002'.
    *clear ls_input_fields.
    *ls_input_fields-ref_guid = lv_guid_h.
    *ls_input_fields-ref_handle = lv_handle_h.
    *ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_h.
    *ls_input_fields-objectname = gc_object_name-partner.
    *ls_input_fields-logical_key = ls_logical_key.
    *_set_field ls_partner REF_GUID lv_guid_h.
    *_set_field ls_partner REF_HANDLE lv_handle_h.
    *_set_field ls_partner REF_KIND gc_object_ref_kind-orderadm_h.
    *_set_field ls_partner REF_PARTNER_HANDLE '0002'.
    *_set_field ls_partner KIND_OF_ENTRY 'B'. "manual entry...
    *_set_field ls_partner PARTNER_FCT customFct(input).
    *_set_field ls_partner PARTNER_NO bpNumber(input).
    *_set_field ls_partner NO_TYPE 'BP'.
    *_set_field ls_partner DISPLAY_TYPE 'BP'.
    *_set_field ls_partner TITLE 'Mr.'.
    *_set_field ls_partner FIRSTNAME 'John'.
    *_set_field ls_partner LASTNAME 'Smith'.
    *_set_field ls_partner STR_SUPPL1 'John Smith and Co'.
    *_set_field ls_partner STREET 'Street1'.
    *_set_field ls_partner STR_SUPPL3 'Street4'.
    *_set_field ls_partner HOUSE_NO '42'.
    *_set_field ls_partner CITY 'Townville'.
    *_set_field ls_partner DISTRICT 'Districtshire'.
    *_set_field ls_partner POSTL_COD1 'AA1 2BB'.
    *note now ...
    *adjustment taken from standard include LCMS_MAPPERF04
    *(see where-used-list for BAPI_SLSTRANSACT_CREATEMULTI, program LCMS_MAPPERU11)
    *I don't use macro because name of the field in input_table is different
    *_set_field ls_partner COUNTRYISO 'GB'.
    *instead
      ls_partner-COUNTRYISO = 'GB'.
      ls_input_fields-fieldname = 'COUNTRY'.
      append ls_input_fields to lt_input_fields.
    *_set_field ls_partner LANGU_ISO 'EN'.
      ls_partner-LANGU_ISO = 'EN'.
      ls_input_fields-fieldname = 'LANGU'.
      append ls_input_fields to lt_input_fields.
      move-corresponding ls_partner to ls_logical_key.
      append ls_partner to lt_partner.
    *Create sales orders *
      call function 'BAPI_SLSTRANSACT_CREATEMULTI'
        EXPORTING
          testrun       = false
        TABLES
          header        = lt_salesorder_header[]
          item          = lt_salesorder_item[]
          partner       = lt_partner[]
          organisation  = lt_organisation[]
          input_fields  = lt_input_fields[]
          scheduleline  = lt_scheduleline[]
          saved_process = lt_saved_process[]
          return        = lt_return[].
    *************// get the GUID of the created object
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT          = 'X'
    IMPORTING
        RETURN        = lt_return1.
    INCLUDE ZZGVBAPISALESORDER_GET_GUIDF01.
    Edited by: jessica sam on Dec 22, 2008 4:25 PM
    Edited by: jessica sam on Dec 22, 2008 4:27 PM
    Edited by: jessica sam on Dec 22, 2008 7:05 PM
    Edited by: jessica sam on Dec 23, 2008 5:18 AM

    I know how to trace the Ship to party at line item. When i create an order manually on CRM then the table CRMD_PARTNER has the required entries and the Ship to party at line item is getting populated correctly. Also if i open the order in CRMD_ORDER the ship pto party are being populated correctly at line item..
    But if i am trying to replicate this programatcally using the BAPI, i see that the ship to at header is being copied to each line item and this is not what is expected.
    If i go and check in the CRMD_PARTNER the data is not filled
    correctly as I dont have any ship to party at line item
    So finally I even tried to insert the data manually in the CRMD_PARTNER table using an
    INSERT statement and even that doesnt work...
    https://www.sdn.sap.com/irj/scn/forums
    So i am unable to ficgure out what is going wrong
    Any body if they have any idea on poulating ship to party programatically in
    sales order for each line item please help
    I am unable to figure out how to fill PArtner table of this BAPI to populate ship to at line item level
    Kindly Help..
    Regards,
    Jessica Sam

  • CST or VAT needs to be determined based on Ship-to-party

    Dear All,
    We have a specific requirement for one of our customer.
    Customer wants the system to determine CST and VAT to be determined based on ship to party.
    Say for Example, we have a condition table Country / Region / Region of Delivering plant / Tax class. Cust. / Tax Class. Mat.
    In the sales Ship to party and Sold to party are different.
    In this case, if  the tax classification of the Sold to party 0 and tax classification of Ship to party is 1 means, system should determine CST or VAT according to According to ship to party.
    In simple, CST or VAT should be determined based on Ship to party irrespective of the setting in Sold to party.
    Please suggest.
    Regards,
    Mullairaja

    Hello Mullairaja,
    See Ship to Party is the partner who will receie the goods & applicability of VAT or CST will be decided by Ship to party Region.
    As Sold to party & Ship to party can belong to different Regions (Different States in India) VAT or CST may be applicable as the case may be...
    Thus this is a standard SAP funtion to determine VST / CST based on Region & Tax Classification Indicator of Ship-to-party.
    Hope this helps..
    Thanks,
    Jignesh Mehta

  • Partner determination sold to party and ship to party.

    Hi frnds,
      Currently in the customer master in partner function we are maintaining ship to party the same as sold to party , now for some of the customer the ship to party and sold to party are different , so while creating a sales when i enter the sold to party , the system propose the ship to party and on that basis the delivery and billing should take place.
    What are the configuration settings required to be done to this , i will maintain the ship to party in customer master partner determaination, but when i create the sales order and when i enter the sold to party , it should propse the ship

    Hi  Rakesh,
    As per SAP standard setting ship to party will be determined from Sold to party master , if that is maintained. I suggest to copy Standard and test again.
    Also ,hope you have not made any changes to the partner determination procedure fro Sales Document at header Level. This will also impact .
    Sharing a few useful link for more clarity :--
    http://www.freesaptutorial.com/partner-determination-in-sap-sd/
    Re: Ship-to party is not assigned to a sold-to party
    http://www.sap-basis-abap.com/sd/steps-for-partner-determination-config-in-img.htm
    http://help.sap.com/saphelp_crm40/helpdata/en/3c/92ecee484a11d5980800a0c9306667/content.htm
    http://wiki.sdn.sap.com/wiki/display/Snippets/howtogetship-topartyforasoldto+party
    Thanks/Rajesh

  • Multiple Ship to Party( 999) ,Partner Determination

    Due to the 999 entry restriction we cannot maintain more than 999 ship to party in the sold to customer master data, to overcome this problem we have implemented a workaround, We don’t maintain the ship to party in the sold to party customer data , but we maintain the sold to party in the Ship to customer master data. Hence while entering the Sales order, business is supposed to enter the ship to party field and we expect the sold to party to be determined. This doesn’t happen in the standard way so our plan is to use the partner determination user exit to get the Sold to party master data. I understand that in order to use the partner determination user exit EXIT_SAPLV09A_003 we need to make some changes in the configuration of partner determination procedure as well (source X, Y or Z in partner determination procedure, transaction VOPA). Is there any other changes required which needs to be done. Has any one implemented something like this? Will this work? Any help in this regards highly appreciated.
    Regards,
    Ankur Bhandari

    Normally while maintaining the customer master we maintain
    1.)    Sold to party as A
    2.)    Ship to party as B
    3.)    Payer as           C
    4.)    Bill to party as   D
    But we have more than 999 Ship to parties, hence we cannot maintain the ship to entries.
    1.)    Sold to party as A
    2.)    Payer as           C
    3.)    Bill to party as   D
    <b>5.)   Ship to party as B1
    6.)   Ship to party as B2
    7.)   …                     B999</b>
    Hence we thought of maintaining the Sold to party in the customer master data of B1 like below.
    1.)    Ship to party B1
    2.)    Sold to party A
    1.)    Ship to party B2.
    2.)    Sold to party A.
    1.)    Ship to party B999.
    2.)    Sold to party A.
    Now whenever the user enters B1-B999 in the ship to party in Sales Order creation , we want the corresponding Sold to party be retrieved as A, as per my understanding the user exit to do this is EXIT_SAPLV09A_003, but when I activate this userexit and enter the ship to party the code never reaches this exit and instead throws an error “Ship to party is B1 is not assigned to a sold to party”, which is incorrect as I have assigned the sold to party in Ship to parties master data.
    Is my approach correct approach or should I be considering some other alternative. Please advise.

  • Multiple Ship to Party( 999) ,Partner Determination Exit

    Due to the 999 entry restriction we cannot maintain more than 999 ship to party in the sold to customer master data, to overcome this problem we have implemented a workaround, We don’t maintain the ship to party in the sold to party customer data , but we maintain the sold to party in the Ship to customer master data. Hence while entering the Sales order, business is supposed to enter the ship to party field and we expect the sold to party to be determined. This doesn’t happen in the standard way so our plan is to use the partner determination user exit to get the Sold to party master data. I understand that in order to use the partner determination user exit EXIT_SAPLV09A_003 we need to make some changes in the configuration of partner determination procedure as well (source X, Y or Z in partner determination procedure, transaction VOPA). Is there any other changes required which needs to be done. Has any one implemented something like this? Will this work? Any help in this regards highly appreciated...
    Regards,
    Ankur Bhandari
    Message was edited by:
            Ankur Bhandari

    Normally while maintaining the customer master we maintain
    1.)    Sold to party as A
    2.)    Ship to party as B
    3.)    Payer as           C
    4.)    Bill to party as   D
    But we have more than 999 Ship to parties, hence we cannot maintain the ship to entries because of SAP restriction.
    1.)    Sold to party as A
    2.)    Payer as           C
    3.)    Bill to party as   D
    <b>5.)   Ship to party as B1
    6.)   Ship to party as B2
    7.)   …                     B999</b>
    Hence we thought of maintaining the Sold to party in the customer master data of B1 like below.
    1.)    Ship to party B1
    2.)    Sold to party A
    1.)    Ship to party B2.
    2.)    Sold to party A.
    1.)    Ship to party B999.
    2.)    Sold to party A.
    Now whenever the user enters B1-B999 in the ship to party in Sales Order creation , we want the corresponding Sold to party be retrieved as A, as per my understanding the user exit to do this is EXIT_SAPLV09A_003, but when I activate this userexit and enter the ship to party the code never reaches this exit and instead throws an error “Ship to party is B1 is not assigned to a sold to party”, which is incorrect as I have assigned the sold to party in Ship to parties master data.
    Is my approach correct approach or should I be considering some other alternative. Please advise.

  • How to determine sales org from ship-to-party in a transaction?

    Dear all, I have a situation.
    I had a requirement of determining
    1. sold-to-party
    2. sales organization
    when a ship-to-party is entered into a transaction type.
    Considering that the sold-to-party and ship-to-party are different BPs.

    Hi Animesh,
    This process is known as reverse determination. and reversal of the search direction for partner determination uses business partner relationships using the field Reverse Determination within the access sequence customizing setting. Path is IMG>CRM>Basic functions--> Partner Processing
    You create a access sequence for partner determination which should have only a single step.
    This setting is only relevant when you enter either Business Partner Relationships or BP Relationships by Sales Organization as the source for this single access.
    During partner determination using business partner relationships, the system normally looks in a partner's master data for the "Has the ..." relationship, such as "Has the ship-to party". Marking this field sets the system to look for the same relationship, but in the reverse direction, such as "Is the ship-to party".
    Leave the field Reverse Determination unmarked to set the system to function as usual.
    Mark the field to set it to read relationships in reverse for this single access.
    You make the following settings for the access sequence with one single access:
    Source: Business Partner Relationships
    Details on the source: Ship-to Party
    Reverse source (this field): marked
    You assign this single access to the partner function Sold-to Party.
    For the Ship-to Party, you can have either of the following settings :
    1) If the document does not have a preceding document then do not assign any access sequence to the Ship-to-Party partner function or
    2) If the document have a preceding document which will pass on the Ship-to Party details to the current one , then you can assign standard Access Sequence 1000 or your own copy of the standard access sequence number 1000.
    Hope this would help.
    Regards,
    Rekha Dadwal
    <b>You gain a point for every point that you reward. So reward helpful answers generously</b>

Maybe you are looking for

  • Need Acrobat 9 pro install/download files

    Over the years, my group has purchased Acrobat 7 Pro, 8 Pro, and 9 Pro...  I have serial numbers for all of the above listed in my My Adobe/My Products area.  I have disks for both 7 and 8 pro... Unfortunately, when our purchasing agent bought 9 pro,

  • Import already existing directory structure into DFS namespace?

    Hi all, I'm planning to migrate three file servers to a single DFS namespace and after reading the official docs and numerous blog posts I'm still unsure about the right way to do it. The "main" server already has a share with a complex directory str

  • Pdf do not display correctly / missing fonts?

    Some of my recently downloaded pdfs don't seem to display parts of them correctly in Preview (or in Acrobat Reader). Could this be due to missing fonts. I get a message in Acrobat: "Cannot find or create "last resort" font... How do I get this font?

  • Viewing jpeg type pictures from a usb drive

    I am wanting a 20"-22" TV that will allow viewing jpeg type pictures from a usb drive. What TV's will support this?

  • Changing a number in a biljart ball

    Hi, I want to go from ball 13 to ball 1. Changing the color is no problem. But changing the numbers is. Any advice is appreciated.