Customer/Variant based Exclusion; possible?

Greetings all,
In a project where Variant Configuration is used, I need to exclude some characteristic values from specific customers (say, Customer A cannot buy material Z if he wants its colour characteristic to be Black). It seems that I cannot achieve this by the standard Exclusion function. Creating a new exclusion table with Variant as a field is not possible; it is not among the fields allowed for listing/exclusion (It also cannot be added since it is neither in KOMGG, KOMKG, nor KOMPG – or is there a way to go around that error?).
How can such functionality be met? Is it possible in SD, or does it necessitate the reliance on PP dependencies, or anything other than that?
Thank you very much in advance.

Can anyone help? We have same issue.  but little different scenario.
A customer can exist in multiple territories but for same partner function if a customer assigned explicitly to a territory (XXXXX ) by BP ID, system should not assigned this customer to another Terriroty ZZZZZ based on geenric rule say zip code and region .both Terriroties are mapp to same partner fucntions (e.g. Area Sales Rep). The customer can be in another terriroty say YYYY based on YYYY rule  which is mapped for different partner fucntion (Area Manager)

Similar Messages

  • Navigate by customer variant on Portal

    Hi all,
        We have requirements as below:
    -The query uses a few customer variants on one Info Object. Only one of them is the key variant (i_step = 1) and the others are i_step 2 (For instance, ZTHISMONTH is key and derives ZLASTMONTH and ZNEXTMONTH)
    -All the variants have default value in customer exit and thus variant screen is automatically passed on Portal
         If we use Navigation object in Web Template, we can add Info Object (let's say 0CALMONTH ) for user to navigate. But is this navigation based on the free characteristic, which means has global effect for the query.In our situation, all the items with 0CALMONTH would be restricted with same value.
         We want users to input value for the i_step 1 variant and the system could change the i_step 2 variants automatically. Is this possible with standard Web Template objects?
         If not, is there anyway to go to the auto passed variant screen and change the value?
         Many thanks. Points will given.
    Regards,
    Aaron Wang

    I solved this requirement by calling variables screen use Portal command URL code.

  • Custom plugin based on user role membership

    Hi all,
    I would like to develope a custom plugin that generates account userid (on process form) with different syntax against role membership.
    With "syntax" I mean name.surname.random_number for employee users and surname.company.random_number for example.
    I'll try to explain the scenario more in details:
    1. I create a user identity through a request
    2. After user identity has created successfully, I assign a role to the user. Since roles are associated with access policies, role assignment triggers provisioning on target system.
    3. The custom plugin that I would like to develope shuold be able to generate proper userid against role membership. For example if I assigned the role "Project Manager" the custom plugin should generate the account userid with name.surname.random_number format; viceversa if I assigned the role "External Reseller" the custom plugin should generate the account userid with surname.company.random_number format.
    Looking for custom plugin based on role membership in forum, I found a couple of threads about this subject:
    - Email notifications after role grant
    - Re: OIM 11g Role Membership Event Handlers.
    I tried to implement what explained in the threads, but I would be sure about what I've done.
    Here what I've done:
    1. created plugin.xml file
    2. created EventHandler.xml metadata file
    3. developed a java calss for testing pourpose
    4. copied the custom plugin class to OIM server for example in $MIDDLEWARE_HOME/OIMPlugins/lib
    NOTE: during this operation I have exactly mantained the same directory structure of custom java package.
    For example custom plugin class is under my.custom.plugin java package and I have copied custom java class under $MIDDLEWARE_HOME/OIMPlugins/lib/my/custom/plugin folder
    5. created a zip file containing custom plugin class (always with its directory structure) and plugin.xml file
    6. copied the zip file to $OIM_HOME/server/plugins
    7. edited ant.properties file (under $OIM_HOME/server/plugin_utility) setting wls.home and oim.home variables
    8. built the wlfullclient.jar (only the first time)
    9. registered the custom plugin
    10. created the custom plugin dataset file
    11. imported it in OIM database using "weblogicImportMetadata" utility
    12. purged cache using "PurgeCache" utility
    NOTE: all the steps above was executed using the system user running OIM process
    test java class
    package com.zeropiu.sky.custom.eventhandlers;
    import java.io.Serializable;
    import java.util.HashMap;
    import com.thortech.util.logging.Logger;
    import oracle.iam.platform.kernel.spi.ConditionalEventHandler;
    import oracle.iam.platform.kernel.spi.PostProcessHandler;
    import oracle.iam.platform.kernel.vo.AbstractGenericOrchestration;
    import oracle.iam.platform.kernel.vo.BulkEventResult;
    import oracle.iam.platform.kernel.vo.BulkOrchestration;
    import oracle.iam.platform.kernel.vo.EventResult;
    import oracle.iam.platform.kernel.vo.Orchestration;
    import oracle.iam.platform.context.ContextManager;
    import java.util.Set;
    public class TestUserAnonimi implements PostProcessHandler, ConditionalEventHandler {
         private static final Logger logger = Logger.getLogger("com.zeropiu.sky.custom.eventhandlers");
    private static final String className = "TestUserAnonimi";
         @Override
         public void initialize(HashMap<String, String> arg0) {
              // TODO Auto-generated method stub
              String methodName = "initialize";
              System.out.println("###### " + className + " - " + methodName);
         @Override
         public boolean isApplicable(AbstractGenericOrchestration abstractGenericOrchestration) {
              // TODO Auto-generated method stub
              String methodName = "isApplicable";
    System.out.println("###### " + className + " - " + methodName + " - STARTED");
    System.out.println("###### " + className + " - " + methodName + " - ContextManager.getContextType(): " + ContextManager.getContextType());
    System.out.println("###### " + className + " - " + methodName + " - ContextManager.getContextSubType(): " + ContextManager.getContextSubType());
    System.out.println("###### " + className + " - " + methodName + " - abstractGenericOrchestration.getOperation(): " + abstractGenericOrchestration.getOperation());
    System.out.println("###### " + className + " - " + methodName + " - Printing ContextManager parameters");
    HashMap allContextManagerPairs = ContextManager.getAllValuesFromCurrentContext();
    Set<String> allContextManagerParams = allContextManagerPairs.keySet();
    String[] parameters = allContextManagerParams.toArray(new String[allContextManagerParams.size()]);
    for (int i = 0; i < parameters.length; i++) {
              System.out.println("###### " + className + " - " + methodName + " - Context parameter " + i + ": " + parameters[i] + " - Object type is: " + Utils.getObjectType(ContextManager.getValue(parameters)));
    System.out.println("###### " + className + " - " + methodName + " - ENDED");
    return true;
         @Override
         public boolean cancel(long arg0, long arg1,     AbstractGenericOrchestration arg2) {
              // TODO Auto-generated method stub
              String methodName = "cancel";
              System.out.println("###### " + className + " - " + methodName);
              return false;
         @Override
         public void compensate(long arg0, long arg1, AbstractGenericOrchestration arg2) {
              // TODO Auto-generated method stub
              String methodName = "compensate";
              System.out.println("###### " + className + " - " + methodName);
         @Override
         public EventResult execute(long arg0, long arg1, Orchestration orchestration) {
              // TODO Auto-generated method stub
              String methodName = "Eventresult execute";
              System.out.println("###### " + className + " - " + methodName);
              return null;
         @Override
         public BulkEventResult execute(long arg0, long arg1, BulkOrchestration arg2) {
              // TODO Auto-generated method stub
              String methodName = "BulkEventResult execute";
              System.out.println("###### " + className + " - " + methodName);
              return null;
    plugin.xml file
    <?xml version="1.0" encoding="UTF-8"?>
    <oimplugins xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <plugins pluginpoint="oracle.iam.platform.kernel.spi.EventHandler">
    <plugin pluginclass="com.zeropiu.sky.custom.eventhandlers.TestUserAnonimi" version="1.0" name="TestUserAnonimi">
    </plugin>
    </plugins>
    </oimplugins>
    EventHandler.xml metadata file
    <?xml version='1.0' encoding='UTF-8'?>
    <eventhandlers xmlns="http://www.oracle.com/schema/oim/platform/kernel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.oracle.com/schema/oim/platform/kernel orchestration-handlers.xsd">
    <action-handler class="com.zeropiu.sky.custom.eventhandlers.TestUserAnonimi" entity-type="RoleUser" operation="CREATE" name="TestUserAnonimi" stage="preprocess" order="1007" sync="FALSE" />
    </eventhandlers>When I assign a role to a user through OIM web interface, I can see in OIM log file all System.out.println contained in initialize(), isApplicable() and BulkEventResult execute() methods. Is it correct? Can I implement my custom plugin logic now, or my starting point is wrong?
    ###### TestUserAnonimi - initialize
    ###### TestUserAnonimi - isApplicable - STARTED
    ###### TestUserAnonimi - isApplicable - ContextManager.getContextType(): ADMIN
    ###### TestUserAnonimi - isApplicable - ContextManager.getContextSubType():
    ###### TestUserAnonimi - isApplicable - abstractGenericOrchestration.getOperation(): CREATE
    ###### TestUserAnonimi - isApplicable - Printing ContextManager parameters
    ###### TestUserAnonimi - isApplicable - Context parameter 0: origuser - Object type is: java.lang.String
    ###### TestUserAnonimi - isApplicable - Context parameter 1: oimuser - Object type is: java.lang.String
    ###### TestUserAnonimi - isApplicable - Context parameter 2: RESOLVED_LOCALE - Object type is: java.lang.String
    ###### TestUserAnonimi - isApplicable - Context parameter 3: counter - Object type is: java.lang.String
    ###### TestUserAnonimi - isApplicable - Context parameter 4: TIME_ZONE - Object type is: java.lang.String
    ###### TestUserAnonimi - isApplicable - Context parameter 5: ipaddress - Object type is: java.lang.String
    ###### TestUserAnonimi - isApplicable - ENDED
    ##### TestUserAnonimi - BulkEventResult execute
    Thanks,
    Daniele
    Edited by: 886636 on Jan 24, 2012 2:53 AM
    Edited by: 886636 on Jan 24, 2012 2:53 AM

    Probably I don't explain myself clearly....sorry for that!
    Anyway you are right, the role of the user can change after the user is initially provisioned.
    I'll try to summarize to be sure to have understood your answer and to explain my scenario more in details:
    1. After user identity creation, I'll assign the role "Project Manager". Before role assignment the user has not any role. So using a pre-populate adapter I can retrieve the assigned role and compose the right userid.
    2. After step 1, I need to assign another role to the user, the new role should be "External Reseller" for example. In this case the user has a role already. What I would is: basing on the role that I'm assigning (External Reseller), the pre-populate should compose the right userid. Obviously this second userid will be different from the first one and this means a new account will be created for the user. At the moment I don't care to deprovisioning the first userid.
    Is it possible with pre-populate adapter?
    Sorry again for my not very clear explanations.
    Daniele
    Edited by: 886636 on Jan 24, 2012 4:10 AM

  • Customs Duties based on Country of Origin in the PO

    Hello,
    I would like to seek your help on pricing conditions in the PO.
    We have created an access sequence for customs duty condition type ZOB1, and we used the key combination delivering country, commodity code, and the country of origin. We cannot maintain the country of origin in the material master because it is only known upon PO creation. The condition type ZOB1 is supposed to read the country of origin in the PO. Instead, the country of origin in the material master is what's being populated in KOMP-HERKL, which is the field catalog we used as part of the access sequence/condition table.
    We would like the system to get the customs duties based on the country of origin entered in the PO and not the one in the material master.
    Is this possible? Has any of you tried to modify the values in the structure KOMP before PO prices are determined by the system based on the access sequence?
    Any inputs will be greatly appreciated.
    Thanks!

    Hi Lakshmipathi,
    So far we are encountering 2 incorrect deliveries in production. This does not involve Sales order but Purchase Order. I tried to check the country of the Supplying Plant and the country is not the country reflected in the delivery. It is expected that the country of the supplying plant must reflect in the delivery. Checking the PO, it is not also getting the correct country but it is getting the country of the receiving plant. We got confused why it is getting the country of the receiving plant.
    Thanks,
    Rish

  • GR slip - Number of copies to vary based on Country key

    Hi,
    We are a multinational company and we have a requirement related to GR slips. The number of copies of GR slip printed should vary based on the country key, where the user is printing the GR slip....for e.g. if it is US then it should be 3 copies, Germany should be 5 and so on.
    So the same form has to be printed, only the number of copies varies....based on the country where it is printed.
    How to accomplish this. We are using Inventory Management Output determination, with Output type WE03. Please help.
    Thanks !

    Hi,
    See if country key can be added to the condition table and insert it in the access sequence.  Define exclusion check box by maintaining this access as the first in your access sequence.  When you maintain condition record for country as one of the parameters, make your number of copied in its communication data as you wish.  It should print based on country key, the number of copies...
    Regards

  • List of customer report based on account group - T.Code

    Dear Guru's
               I need list of customer report based on account group in standard SAP if it there please update th T.Code as earl as possible.
    regards,
    bhanu

    Hello,
    I don't think there is a standard report for this. SE16 select table KNA1 and check for the entries with respect to account group.
    Prase

  • How to pass parameter to the custom class based on CL_RSR_WWW_MODIFY_TABLE

    Hello
    I created custom class based on CL_RSR_WWW_MODIFY_TABLE in order to modify web template.
    I would like to pass parameter to this class. How is it possible?
    HUGE thanks!

    Hello ,
              Various methods will be given for the class like CAPTION_CELL CHARACTERISTIC_CELL:
    Position the cursor on the name of the method and click on 'Redefine' , where you will get the parameters used in the method such as I_X, I_COLSPAN, where you can define your logic.
    hope it helps
    assign points if useful

  • Calling custom COM-based library from Acrobat/Reader javaScript

    Hi All,
    is ist possible to extend the javascript object model? For example, is it possible to call a custom COM-based library from Acrobat/Reader using javaScript. Or is their a diffrent way to call third part libs?
    Thanks
    CommanderPeek

    I need a Reader Integration to a document management system (DMS). The user should interact from Reader GUI with the DMS.
    Nobody is able to give me binding statement, if my customer (this company need plugin for internal use only) will get the Adobe Reader Integration Key License/digital certificate for such a Reader plugin and how high the costs will be. I wait and wait for Adobes’ Feedback :-(
    For this reason I check a different solution with Javascript but I have no idea how to make calls to the DMS from Javascript. On other side are COM- or .Net-based libraries available.

  • Please tell me a BAPI to get Closing balance of customer account based on Sales Organization?

    Hi Experts,
    A requirement has come up where I want to get Customer closing balance based on its sales organization as this particular customer is extented to 2 different sales organizations. I want to get the closing balance of individual sales organization vise.
    Please tell me a BAPI to get Closing balance of customer account based on Sales Organization?

    AFAIK there is no such BAPI, cause there is no database table with balance for customer per sales organisation. (No KNCx table for VKORG)
    First ask functionals (*) how to recover sales organisation from a FI document (I suppose for SD invoice it is easy if no merging between organisation) will be a little tricker for pure FI document like payment transactions (hope thet are quickly cleared...)  Then start from non cleared records of BSID (also BSAD if you use a past date of reference, in case you have to add the records of BSAD with clearing date greater than reference date) and cross it with SD information to break FI into sales organisation.
    Regards,
    Raymond
    (*) Ask for where do they store VKORG in FI documents

  • When creating a custom SearchPlugin, is it possible to add more code such as uppercase conversion of the SearchText and IF statements that change the URL depending on what is typed?

    When creating a custom SearchPlugin, is it possible to add more code such as uppercase conversion of the searchTerms and IF statements that change the URL depending on the searchTerms? Every time I try to add something firefox doesn't want to add it as a search plugin. I need to create a more powerful search tool for personal use.

    I've found some external software applications that will do it, so that leads me to believe its not possible within ID CC.

  • Calling web Service from the Custom Adapter.Is it Possible?

    Hi Experts,
                    I am having requirment in which i have to cal com.sap.aii.mapping.lookup.LookupService for calling web Service from the Custom Adapter.Is it Possible?
    Regards,
    Rajesh.D

    Hi Rajesh..
    Just looking the problem in another angle.. if there is no constraint that you have to use XI specific API to call the web service, why dont you use usual Java API used for calling a web service inside you custom adapter (I have Microsoft background.. donno exactly how it is done in Java,, but in .NET kind of a language it is possible). SInce your adapter is in Java itself and is capable of calling web service.. collect or lookup the data whatever you want and validate...
    Just a thought..
    VJ

  • How to find the list of material variant based on the characteristics value

    Hi
    We are creating materials variants for FERT Material Type in material master in MRP-3 view .There we configure the variant by attaching characteristics value 
    Now we want to have a report , which can give the list of material variants , if char value is given in selection
    Can somebody guide me if there is standard report for this OR what is the linkage in Table , so that we can develop a report
    rgds
    Sandeep

    I couldn't find a standard report to get the material variants based on characteristic values (the nearest I could find was CT12) but I wrote a report some time back here's the table join logic for the main select statement.
    select a~matnr
            e~atwrt
            h~atwtb
    into table i_tab
          from MARC as a
          inner join IBIN as b
          on b~instance eq a~cuobj
          inner join IBIB as c
          on c~ibase eq b~ibase
          inner join IBINVALUES as d
          on d~in_recno eq b~in_recno
          inner join IBSYMBOL as e
          on e~symbol_id eq d~symbol_id
          inner join CABN as f
          on f~atinn eq e~atinn
          inner join CAWN as g
          on g~atinn eq e~atinn
          and g~atwrt eq e~atwrt
          inner join CAWNT as h
          on h~atinn eq g~atinn
          and h~atzhl eq g~atzhl
         where     a~matnr in s_matnr
                and e~atinn in s_atinn
                and e~atwrt in s_atwrt
               and b~valto eq '99991231235959'. "This is important condition
    I included bare minimum fields to suite your requirement needs you can add whatever other field you want . Though I tested the table join, I suggest you to test it again before writing your own ABAP program using SE16N.

  • I have produced (7) hard cover iPhoto books in the last three years and would like to create a using a custom photo arrangement if possible.

    I have produced (7) hard cover iPhoto books in the last three years using several of the provided templates.  I would like to create a photo book using a custom photo arrangement if possible.  Is it possible to create a custom photo book?

    No - you can create custom pages in other software and use them
    Using iPhoto you are limited to the themes adn layouts offered
    LN

  • RSBBS - create a variable customer exit based on initial selection

    Dear all,
    I am using RSBBS (RRI) to jump from one query specific cell to another query. The destination query gets the parameters from the selected cell. In order to achieve this, the only thing we have done was to insert the relevant characteristics as Free Characteristics on the destination query (no variables were required).
    Now, I need to add a new variable on my destination query. This variable should be a customer exist based on one of the paramenters that the destination query gets from the original query. How do I get this value to use it in the variable customer exit???
    Thanks in advance

    Thanks for your reply,
    I got it in a different but not tottally different way from wthat you suggested.
    I have created a variable () (ready for imput) for my characteristic. However, on transaction RSBBS, when defining the target query, I went to "Assigment Details" option and for my characteristic, I have changed the type form "generically" to "variable" and choosed the field name of the variable ().
    In this way the target report gets the original report definition for this characteristic as a variable that I can then use on my costumer exit.
    I have tryed and worked...brilliant!

  • Displaying custom content based on user's roles

    Hi experts,
    I have been asked to look for a solution to display custom content based on the current user's roles.
    Basically It would be a simple page (or several pages I don't know yet)  that displays links to others systems in the enterpise landscape. Links have to appear but they may be "desactivaded" for some users.
    So i'm thinking of a custom portal app in java that display this page embedded in an iview, a test to check the current user permissions and some css / javascript magic to do the trick.
    What do you think ? Would there be another solution that I'm missing which doesn't require development ?
    I'm open to any suggestion / technology
    Regards.

    Sounds good,
    You can also consider using Service Map iView or Workset Map iView if those links should point to other portal navigation locations:
    See more here:
    Navigation with a Service Map - Portal - SAP Library
    Navigation with a Workset Map - Portal - SAP Library
    Best Regards,
    Tal

Maybe you are looking for

  • Adobe Air Message Problem

    I keep getting the following message on start up. "Adobe Air. This installation of this application is damaged. Try re-installing or contacting the publisher for assisitance." I've tried uninstalling and re-installing a few times, but the message sti

  • Error in program SAPLCKDI screen 4610

    Hi everyone. I've have trouble with screen 4610 in program SAPLCKDI, during costing sales order. In sometimes we have a runtime error in the same program and same screen. That's the runtime error: Overwriting a protected field In other cases, the men

  • Invalid element 'servlet-mapping' in content of 'web-app'

    Hello, JDev gurus! When compling, JDev 9.0.2.822 produce following error "oracle.xml.parser.v2.XMLParseException: Invalid element 'servlet-mapping' in content of 'web-app', expected elements '[taglib, resource-ref, security-constraint, login-config,

  • What is the details in tcode CJCO

    Hi all, I'm wondering if I can find the details of "error message" in transaction code CJCO (Carrying Forward Project Budget) ? Scenario: Recently, I tried to execute this tcode, and is successful. However, there are 12 Error Messages in the result s

  • Installer IOS 12.2(18)SXF not found

    Hi, we just installed IOS 12.2(18)SXF on a SUP720 in a Cat6509 as a binary image. In order to change to an installed image i have to use the installer program. I didnt find the install command in the binary image ! What is wrong ? phil-gw#install ? %