Skip to Content

program and logic of selecting Generation variant and language

Hello all,

In general we generate MSDS in country format in that country's official language in a Sales order call. For example for Germany MSDS_DE in german it will generate the MSDS.

Now I have a requirement of sending one MSDS (MSDS_XOO) in EN language with sales orders when the customer is from a specific business group.This means irrespective of country it will always send MSDS_XOO in EN if the customer is from this business group.

Now the logic to find the customer is completed and added in the below userexits(Mentioned down).

But i am not sure how to trigger this MSDS_XOO in EN language when the customer is from a particular business group.

There are 2 user exits i found C1CA004 (For language selection) and C1CA005 (for Generation variant selection).

We have made changes in these user exits and checked if the MSDS_XOO in EN is generating if customer is from this particular business group.But its not triggering these user exits unfortunately.

I am familiar with MSDS generation with Sales order calls ,but would be helpful if get the following clarifications.

b) Anyone could help me if these user exits C1CA004 ,C1CA005 trigger after SDB generation normally?

c)Do we have to change any other programs for this scenario to get the MSDS_XOO

Your help will be appreciated as we are stuck with this issue now.

Thanks&regards

George

Add comment
10|10000 characters needed characters exceeded

1 Answer

  • Best Answer
    Posted on Jul 15, 2010 at 08:18 PM

    Hello George

    in MSDS distribution process there are a number of condition tables which can be used in my opinion if I understood your question correct. I just checked the docu,

    http://help.sap.com/saphelp_470/helpdata/en/a7/2878600a6c11d28a220000e829fbbd/content.htm

    Here SAP is giving these explanations:

    The SAP System selects the generation variant using the condition schema in the IMG section Condition Schemas for RGV Selection.

    The first of the condition tables contains the most accurate assignments. Here, for example, you can assign a generation variant directly to a ship-to party. If the SAP System cannot find a generation variant from this table it checks the second table and so on. The most general table is the fourth and final table. Here the selection is defined very generally so that the SAP System can always find a generation variant. In this fourth table, you can therefore specify a generation variant directly for a particular report category.

    Normally the country of the business partner "selects" the generation variant and the "communication languages" of the business partner the language of the MSDS. In most cases this is really sufficient.

    E.g. if customer is placed in GB a MSDS in EN would be a good option (form legal point of view nothing more is required).

    Now e.g. if the customer is placed in Belgium there are three choices: is the business partner using FR or NL or DE as the communication language. In general it is a good idea to use as the language of the MSDS the communcation language. In doing so regardinjg the country BE there could be cases there you need three released MSDS (per language one) to fulfill legislation (dpending how many customer recieves the maeirlas linked to the specification).

    Therefore my assumption would be that it makes sense to check these condition tables (there are four). But If I understood your demand correct there would be a "heavy" customizing to be done which is "not stable" (new business partners can be generated, new busines groups can be added may be deleted etc.)

    I did not "catch" perfect your process but normally it is the other way around:

    You define the "general" generation variant + language combination which should be used in MSDS distribution (something like generally you use MDS/XX but in special cases MSDS/YY) . Then you generate as the user the MSDS (released). Then there is a sales order. This sales order will be processed (if MSDS is required) using the condition tables etc. and finding a raw report and generating a final report. If no raw report is found a report request is generated which is normally processed by some user to generate the MSDS.

    I believe the main use of both user exists is to do something "special" in the process. Normally the Business partner is analyzed to get an idea which language is used. IN most cases the use of the condition tables is the best choice. Here I believe the user exit can be helpful too. The same is true regarding the other one (selection of gen variant)

    As an userexit is a "customer specific" implementation you can do whatsover in the exit. Now the main issue in my opinion: you have a busiiness partner; now you need to detect to which business groups that business partner belongs and then you select genvariant + language etc. (in most cases something like that is a "mapping" and therefore you could create "similar" tables like the standard SAP condition tables to do the job.

    Generally I believe the "language" one will pass on to the process a "special" language and the next one a "special genvariant". So you should not try to "combine" both topics in the same userexit.

    But there might be a "pitfall". You must make sure that as well as the "normal distribution" as well as the "subsequent distribution" uses the same logic. Please check that.

    There is a general OSS available in SAP marketplace in which you will get an overview of the MSDS distribution process including the Userexits. May be this helps too

    With best regards

    C.B.

    PS: Please check exit C1C10001 too.

    Edited by: Christoph Bergemann on Jul 15, 2010 10:21 PM

    Edited by: Christoph Bergemann on Jul 15, 2010 10:47 PM

    Edited by: Christoph Bergemann on Jul 15, 2010 10:49 PM

    Add comment
    10|10000 characters needed characters exceeded