Variable Values in BADI's

Hello All
We have a requirement where we need to pass the value of a characteristic variable entered by the user to a cutomer exit variable and based on that need to perform a validation and return back the same value if it is correct else to return the blank/null value.
Can anyone plz advice how can I achieve it ?
Regards
Ashish

Hi Ashish,
Please go through the following BAdi PDF:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f05700a6-23e2-2910-b48a-c58392764dda
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/409fa539-30e2-2910-7a8e-80279d09893e
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d0456c54-0901-0010-f0b3-cd765fb99702
BADi Enhancement:
[Enhancement in BW]: How to use BaDI : RSU5_SAPI_BADI
Implementing BADIs:
http://help.sap.com/saphelp_nw04s/helpdata/en/eb/3e7cf4940e11d295df0000e82de14a/content.htm
goto Tcode se19, give the implementation name and write a code as per yr field enhancement , save it then it will be serving as a badi which u can use

Similar Messages

  • Variable Value for BADI

    Hello Forum
    We have an issue with BADI implementation.
    We have a key figures in query are restricted to a user exit variable for calendar month (as current month and previous month) and fetches results.
    Now due to some requirement we need to check if the "Cal Month" determined is current month or the previous month and return a value.
    We have implemented a BADI for the same reason to determine this however can anyone please let us know how can we use the value of a user exit variable in the query can be used in BADI ?
    Thanks & Regards
    Ashish

    Hello Shani Bashkin 
    You don't need EXIT_SAPLRSBBS_001, you need EXIT_SAPLRSBBS_002
    Here goes:
    You go to se18 select SMOD_RSR00004 then you go to Implementation->Create
               then you create a BADI implementation with the name Z*something_something. The system then brings you to the SE19 definition of BADI implementaition you there see both of the RSBBS exit, in methode form EXIT_SAPLRSBBS_001
    EXIT_SAPLRSBBS_002
    You select the second one EXIT_SAPLRSBBS_002 double click on it, it brings u to abap code Method .....End method U then insert this code and adapt it to your usage. Activate everything, go to smod find the exit RSR00004 activate everything there with the magic WAND, got o rsrt generate and debug, u then should pass in that code and then use some imagination, thats all folks!!!!
    DATA: I_THX_MAPPING_WA TYPE LINE OF RSBBS_THX_MAPPING,
          E_THX_MAPPING_WA TYPE LINE OF RSBBS_THX_MAP_BY_EXIT,
          I_RANGE TYPE RRRANGESID,
          I_DATE LIKE SY-DATUM,
          E_TT(2).
    DATA: l_s_thx_mapping type rsbbs_sx_map_by_exit,
          l_s_range       type RRRANGESID.
    FIELD-SYMBOLS:
          <l_sx_mapping>  TYPE rsbbs_sx_mapping.
    IF I_S_RECEIVER-RONAM = 'IW29'.
    read table i_thx_mapping ....
    PS: You need to Have ITS installed and configured and your web server maintained for BW to R/3 connect

  • Assigning variable values in the virtual key figures Badi

    Hi,
    I'm currently using the virtual chars and key figures RSR_OLAP_BADI to calculate days late as 0NETDUEDATE - sy-datum. This works fine, but the query actually uses variable 0P_KEYDT to determine the key date (set in restricted key figures so not directly).
    I want to use this key date variable value rather than the system date to calculate Days Late in the CALCULATE method of the Badi. In the old user exits I could have retrieved the value from internal table i_t_var_range in the variables user exit ZXRSRU01 and stored it globally.
    Does anyone know how to get a query variable value within the RSR_OLAP_BADI Badi? I've tried using BAPI_REPPROV_GETVARIABLES but don't know how to pick up the session id to make it work. Is there a BADI equivalent of EXIT_SAPLRRS0_001?
    I'm sure one of you out there has the answer!
    Thanks,
    Stuart

    Hi József
    Yes I have, I think using SAP's white paper on virtual characteristics and key figures.
    My only outstanding question would be: is there a replacement BADI for the variables user exit and if not why not, since BADIs are supposed to be the preferred way now?

  • How Can i retain the Shared Variable Values after PC rebooting

    Hi all,
    I am facing a paculiar problem with Shared Variables. I have an application in which shared variables are used for data communication.
    One of the application requirement is to retain the variable values eventhough PC is rebooted or started after crashing. 
    As per the my understanding, the variable values will retain eventhough the PC is rebooted. But here i can observe a paculiar problem like some library variables are retaing the values while some others not. I enabled logging for all the variables.
    I tried many ways. like logging enabled, logging disabled, changing variable names, changing process names etc... But i am not getting a consistent behaviour.
    I hope some you can help me in solving this issue.. "How Can i retain the Shared Variable Values after PC rebooting"
    Thanks and Regards,
    Mir

    Hi Blackperl,
    Thanks for the post and I hope your well. 
    What do you mean by not getting consistent behaviour.. this will all depend on excatly when the crash happens i.e. before the write or after. 
    Surely a better method would be to log the data to a file during the reboot...
    I beleived the value read back
    will be the default value for the shared variable's data type.
    The LabVIEW DSC 8.0 module adds more functionality to the shared variable, including initial values and alarms.
    If you enable an initial value on a shared variable, when the variable
    engine comes back on-line it will default to this value. Setting a bad
    status alarm for the shared variable is also a good way of handling
    this type of event. Additionally, if you are using a LabVIEW Real-Time
    target such as Compact RIO or Compact FieldPoint, it is appropriate to
    consider hosting the shared variable engine on the real-time target.
    These devices have watch-dog capabilities and are typically the
    hardware controlling the critical pieces of an application. Most
    Windows or PC-based targets do not have these fail-safes.
    I guess, if you could explain to me again that would be great. From my point of view, if I have a cRIO and a Windows PC. If the windows PC crashes, the cRIO will still update its shared variables. Then once the PC has started up its own shared variable engine, and the bindings are loaded, it will once again continue to update its copies of the variables.
    Please let me know what you think,
    Kind Regards,
    James.
    Kind Regards
    James Hillman
    Applications Engineer 2008 to 2009 National Instruments UK & Ireland
    Loughborough University UK - 2006 to 2011
    Remember Kudos those who help!

  • Company code and  Ship-To Party: variable values should be dynamic

    Hi,
    We have queries where we have  Company code & Ship-To Party as Variable parameters.
    While executing the report the user has to give the Variable values for both company code and ship to party.
    But when they give the company code.....in the next parameter ship to party, it has to offer values which belongs to that company code only. But here it is offering all values form ship to party., where user don't want to see the value from other company code as they have lot of values there which is causing inconvenience to the user.
    Kindly suggest me how to restrict the values at variable level.
    Thanks & Regards,
    Anand

    Hi,
    You can do that using BADI BW_BADI_F4 .
    You can use this BAdI to restrict input help for entry variables in the BI variable screen.
    Create a separate implementation for each required InfoObject.
    The BAdI is designed for multiple use.
    Restricting input help without using hierarchies
    To restrict input help for flat object lists without using hierarchies, use method Get_Restriction_Flat.
    Method GET_RESTRICTION_FLAT
    I_VNAM Variable
    I_IOBJNM InfoObject
    I_T_VAR_RANGE Table of entries on the variable screen
    I_T_COMPID Table of participating queries
    C_T_RANGE Range table with other restrictions
    C_INFOPROV InfoProvider
    C_F4_Mode F4 mode
    Entry parameters I_VNAM and I_IOBJNM return the names of the variables and the InfoObject that F4 helpwill be affected for. I_T_VAR_RANGE returns additional values from the variable screen entered beforethe call. These are returned in a range table that does not, however, return any information about variables that cannot be entered. I_T_COMPID is a list of participating BI queries.
    If there is a single InfoProvider, entry and return parameter C_INFOPROV contains the InfoProvider forthe participating queries, and can be overwritten in the implementation. Especially when you have justone MultiProvider, this allows you to restrict the input help to one of the physical InfoProviders ifyou also set the F4 mode to u201CDu201D (input help from dimension tables). The mode can onlybe set to u201CDu201D in conjunction with physical InfoProviders, as dimension values are otherwisenot available. If you reference to a VirtualProvider that is based on a data transfer process, you always need to set mode u201CMu201D (input help from master data)
    Return table C_T_RANGE is a range table of additional restrictions that can be used in the implementation.These restrictions are identical to restrictions that the system makes in the standard setting. It is therefore not possible to add to the list.
    The following restrictions are permitted in C_T_RANGE:
    u2022Restrictions for InfoObject I_IOBJNM itself (for example using a specified range)
    u2022Restrictions to groups of InfoObjects (for example restriction of the fiscal year variant for fiscal years)
    u2022Restrictions by the InfoObjectu2019s navigation attributes.
    For technical reasons, pure display attributes cannot be used.
    You can also make a restriction to physical InfoProviders. In this case, the input help is restrictedto the specified physical InfoProviders. Field IOBJNM in table C_T_RANGE then has to be set to 0INFOPROV.In the case of a MultiProvider using physical InfoProviders with mode u201CDu201D (input help from dimension tables), the input help is built from all participating physical InfoProviders.
    Entry and return parameter C_F4_MODE describes the retrieval method for the F4 help:
    u2022In mode u201CMu201D, the input help is built from the master data.
    u2022In mode u201CDu201D, the input help is built from the dimension tables of physical InfoProviders.
    The choice of method is therefore always dependent on the choice of InfoProvider.
    Restricting input help using hierarchies
    To restrict input help for flat object lists using hierarchies, use method Get_Restriction_Node.
    Method GET_RESTRICTION_NODE
    I_VNAM Variable
    I_IOBJNM InfoObject
    I_T_VAR_RANGAE Table of entries on the variable screen
    I_T_COMPID Table of participating queries
    C_T_HIERARCHY Table of possible hierarchies
    C_T_NODE Table with node restrictions
    C_INFOPROV InfoProvider
    C_F4_Mode F4 mode
    On the whole, this method is the same as method GET_RESTRICTION_FLAT. Instead of a C_T_RANGE, the additional node restrictions can be submitted using table C_T_NODE.
    C_T_HIERARCHY contains the hierarchies that can be used based on the existing query restrictions. Ifthis table contains multiple entries, the system uses the first hierarchy in the standard setting. In a BAdI implementation, specific entries can be removed in order to select the required hierarchy.
    Table C_T_NODE can be filled with individual nodes in order to restrict the hierarchy to the corresponding subtrees.
    All other parameters are the same for Get_Restriction_Node as described above for method Get_Restriction_Flat.
    For more information about implementing BAdIs for the enhancement concept, see the SAP Library for SAP NetWeaver, under BAdIs u2013 Embedding in the Enhancement Framework..
    Regards,
    Durgesh.

  • BEx crashes when changing variable values

    Hi all,
    We're having a problem with BEx.
    It crashes when trying to change variable values.
    We've been looking into syslogs and dev logs and so on,
    and found that the cpic connection has been disconnected
    before the crash. BUT we cannnot find out what is actually
    disconnecting the session.
    Well, at least F/W wasn' the cause. Have check the logs.
    Any ideas? Thx in advance!
    Yuko
    Below is our info.
    BEx: BI 7.10 sp7
    BI: BI 7.0 SAPKW70017
    <BI syslog at the time of BEx crash>
    15:40:36 RD                                 Q0  I Operating system call recv failed (error no. 232 )
    15:40:36 RD                                 S2  3 Connection to CPI-C client 586 was closed
    15:40:36 RD                                 S7  4 > Partner LU name:
    15:40:36 RD                                 S0  R > Host: 172.19.xx.xxx
    15:40:36 RD                                 S0  I > Partner TP Name: EXCEL
    15:40:36 DIA  000 500 BIB103                R4  9 Communication error, CPIC return code 020, SAP return code 223
    15:40:36 DIA  000 500 BIB103                R5  A > Conversation ID: 82142217
    15:40:36 DIA  000 500 BIB103                R6  4 > CPI-C function: CMSEND(SAP)
    <dev_rd log trace level 3>
    GWRD LOOP **********
    I'm in GwReceive
    SiSelPSelect: start select (timeout=20000)
    Thu Apr  9 15:40:36 2009
    SiSelPNext: an error occurred in sock 31
    NiSelISelectInt: error detected on hdl 18 / sock 31
    NiSelIListInsert: add hdl 18 [17] to sel-list (0) of set0
    NiSelISelectInt: 1 handles selected (0 buffered)
    main: NiSelNext (ni_hdl=18, read=1, write=0, connect=0, hdl_info=0x6000000000587400)
    request from CLIENT
    GwRequest: request from client 586
    GwGetMemory: allocated 0x600000000089bee0 (len=34615)
    NiHsLGetHostName: found address 172.19.xx.xxx in cache
    ***LOG Q0I=> NiIRead: recv (232: Connection reset by peer) [nixxi.cpp 4423]
    ERROR => NiIRead: SiRecv failed for hdl 18 / sock 31
        (SI_ECONN_BROKEN/232; I4; ST; 172.19.xx.xxx:1097) [nixxi.cpp    4423]
    Adresse   Offset  bad request
    GwSaveErrInfo2: save err info (225)
    ***LOG S23=> GwIDisconnectClient, client disconnected (586) [gwxxrd.c     11657]
    ***LOG S74=> GwIDisconnectClient, client disconnected ( SY08472) [gwxxrd.c     11665]
    ***LOG S0R=> GwIDisconnectClient, client disconnected () [gwxxrd.c     11704]
    ***LOG S0I=> GwIDisconnectClient, client disconnected ( EXCEL) [gwxxrd.c     11713]
    LOCATION    SAP-Gateway on host mxxx112 / sapgw01
    ERROR       connection to partner '172.19.xx.xxx:1097' broken
    TIME        Thu Apr  9 15:40:36 2009
    RELEASE     700
    COMPONENT   NI (network interface)
    VERSION     38
    RC          -6
    MODULE      nixxi.cpp
    LINE        4423
    DETAIL      NiIRead
    SYSTEM CALL recv
    ERRNO       232
    ERRNO TEXT  Connection reset by peer
    COUNTER     790

    Just FYI.
    After all, we ended up applying BEx addon patch 9.
    The problem about the BEx crash seemed to be fixed in patch 8, but another problem (I heard it was about something to do with report jump function) was not fixed. As a result, we skipped patch 8 and applied 9.
    Both problems were fixed in patch 9.
    Many thanks to SDN informations.
    Yuko

  • Using Variable values to populate virtual key figure

    Hi Gurus,
    I want to populate virtual key figure in my report. I am using BADI for this. To populte VKF I want to use the variable values in my calculation. For eg. variable name is ZCAL_MON based on 0CALMONTH. When the user enters some value in this variable say 03.2010 I want to populate VKF for the last 12 months (sum for a period 04.2008 to 03.2009). I have written a customer exit in CMOD for variables but for vkf I am using BADI. Can anyone tell me how do I pass the variable value in populating vkf and also how do I total for the last 12 months?
    Utpal

    Hi,
    Did you find a solution. I'm just looking for the same thing.
    best regards..

  • Get variable values from a stored procedure

    I am using SQL 2008R2 and I want to replace a view inside a stored procedure with a new stored procedure to return multiple variable values. Currently I am using the code below to get values for 4 different variables.  I would rather get the 4 variables
    from a stored procedure (which returns all of these 4 values and more) but not sure how to do so.  Below is the code for getting the 4 variable values in my current sp.
    DECLARE @TotalCarb real;
    DECLARE @TotalPro real;
    DECLARE @TotalFat real;
    DECLARE @TotalLiquid real;
    SELECT @TotalCarb = ISNULL(TotCarb,0),
    @TotalPro = ISNULL(TotPro,0),
    @TotalFat = ISNULL(TotFat,0),
    @TotalLiquid = ISNULL(TotLiq,0)
    FROM dbo.vw_ActualFoodTotals
    WHERE (MealID = @MealID);

    You can replace the view with inline table valued user-defined function:
    http://www.sqlusa.com/bestpractices/training/scripts/userdefinedfunction/
    See example: SQL create  INLINE table-valued function like a parametrized view
    Kalman Toth Database & OLAP Architect
    SQL Server 2014 Design & Programming
    New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012

  • To pass new session variable value to stored proc before running a report.

    Hi,
    Below is summary of the report requirement -
    Database level design
    1. Created a view and a global temporary table (GTT)
    2. Created an Oracle package procedure to accept from and to business dates on basis of which it will fetch, process and populate the GTT.
    Repository level design
    1. Created a business model containing the view and the GTT (mentioned above)
    2. Created two SESSION variables "from_dt" and "to_dt" to be initialized by their respective init blocks. Each of the variable is initialized with a DATE column value (of type DATETIME) from a database lookup table. I have also set the option "Enable that variable to be set by any user" for both variables.
    Query for these variables :
    from_dt = select from_date from <table>
    to_dt = select add_months(from_date,12) from <table>
    Presentation level design
    1. Using a text box, i display the default/initialized values of these variables like this -
    Current business date:@{biServer.variables['NQ_SESSION.from_dt']} Future business dt:@{biServer.variables['NQ_SESSION.to_dt']}
    Dates get displayed in YYYY-MM-DD 00:00:00 format
    The text msg displays these default dates and allows the user to specift different date range for which i create prompts as shown below.
    2. Using any random two columns of date type from the business model, i create two date dashboard prompts with labels "From Dt" and "To Dt".
    i select Calender Controls for both; setting Default To = Report Defaults.
    The Set Variable is set to Presentation variables - such that pv_from_dt maps to "From Dt" and pv_to_dt maps to "To Dt".
    3. i create the report using the business model created above. In the report "Advanced Tab" => "Prefix" field i specify the following -
    SET VARIABLE from_dt='@{pv_from_dt}',to_dt='@{pv_to_dt}';
    Note : The logic here is to display the default dates and allow user to specify different date values which will be stored in presentation variables.
    If the user does specify different "from dt" and "to dt" values, then using the presentation variables, i want to "write" back these new values to the corresponding session variables mentioned above.
    If the user does not specify different date range, then the default/initialized dates must be considered.
    I also display the default and new date values in the report title.
    Back to Repository level design
    To execute the stored procedure that will load the GTT before running the report I need to pass two date parameters to the stored procedure on basis of which it will fetch data, process and populate the GTT.
    In the Connection Pool --> Connection Script Tab --> Execute before query, I wrote the below query using the repository variables FROM_DT and TO_DT to execute the procedure -
    DECLARE
    v_from_dt date;
    v_to_dt date;
    BEGIN
    v_from_dt := VALUEOF(From_Dt);
    v_to_dt := VALUEOF(To_Dt);
    package_name1.package_body(v_from_dt,v_to_dt);
    END;
    Now when i try to run the report i get the following error :
    [nQSError: 10058] A general error has occurred. [nQSError: 23006] The session variable, NQ_SESSION.to_dt, has no value definition. (HY000)..
    Need help on this.
    Is it possible to "write back" a new value to a session variable ?
    Any other alternatives.
    Thanks
    Nusrat
    Edited by: user10309945 on Jan 24, 2011 10:08 PM

    Sandeep, I found a several topics where users describe saving values in DB through stored procedure or function. For example, [How to store OBIEE presentation level variable values in DB |http://forums.oracle.com/forums/thread.jspa?threadID=892006] I tried it and get an error
    *10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 17001] Oracle Error code: 14551, message: ORA-14551: cannot perform a DML operation inside a query ORA-06512*
    It's not a BI error. This error are generated by Oracle DB. If I write next:
    SELECT MyPLSQLFunction(p1,p2) FROM DUAL
    I get the same error.
    Oracle doesn't allow DML operations in SELECT.
    Did you relalize this feature yourself? Where did I mistake?

  • Assigning a Jython variable value to an ODI variable

    I have to implement database cursor functionality in ODI.
    For storing the returned values from database, I am using a Jython list.
    The next functionality that I have to implement is as follows:
    (i) For each value in the Jython list, I have to pass that value as a variable to an interface and then execute the interface
    (ii) Return back to the Jython list to get the next value in it
    (iii) Execute the interface for the new value from Jython list
    (iv) Have to execute the interface for as many values as in the list and stop when list is over.

    Hi,
    Thanks for your replies.
    I tried your method of using source as a query in procedure and using ODI startScen in the Target of the same procedure. But the scenario runs only once, and then stops even though the Source query returns 4 rows.
    Do we have to write Source and Target in separate steps of the procedure?
    Does ODI store the many records returned into some internal variables?
    I need to implement a cursor functionality so what is the best approach?
    Can i pass array variable value to some odi variables and do a loop?
    I used a workaround....it works but dont know if that's a good way of doing things:
    I retrieved all the different values that I need in a string by appending the values(this was done using Java loop).
    In my next step in the procedure I call a scenario(package which has some variables and my interface), which passes this long variable from Java as <@...@>
    Then in the package I use an iteration variable which is used to find out the SubString position so that I can extract the correct string to use for my Interface in the next step of the Package.
    It is working fine as of now.....but things could be made simpler if I could call the scenario in the Java loop, then I wouldn't need the iteration variable etc.

  • Getting JS variable value in ABAP variable

    hi experts,
    I am fairly new to ABAP programming so please bear with me. To my issue.
    I am creating a BSP which will read from the tax number table in CRM into an itab.
    Next it loops into an wa and then passes each tax number through a javascript/JQuery API to validate the number. 
    The JSON response then comes back and is stored in a JS variable.
    I am unclear how to get this into an ABAP variable so I can handle as needed.  I have read some posts but they seem to be created for those ABAP experts which I am not there yet.
    Any help is most appreciated.
    thank you kindly!
    Chris

    Thanks for the reply Kiran.
    I am still stuck where I try to create the hidden field, assign the JS variable value to it and then retrieve on server side using ABAP.
    I read some places where it mentions accessing in the controller but this is not specific enough for me to know what to do.  Here is a snippet of my JS/html code.
    <form id="api">
    <div><input type="hidden" name="json" id="json" value="" /></div>
    var json = data;
    document.getElementById("json").value = json;
    document.api.submit();
    </form>
    I am using a Jquery api to get a boolean value and storing it in the json variable.  then I want to pass that value to an ABAP variable.  I did maintain a page attribute of json type STRING as well.  I also tried maintaining a controller class attribute of the same.  I did not redefine any controller class methods.
    Your help is most appreciated.
    thx
    Chris

  • Web Report not printing the fiscal year period variable value

    Hi,
    In web report where in one text element, we enabled the fiscal year period variable value to display
    in the report result.
    If we run the report then this fiscal year period is displaying in the general information.
    We have print button (Java Code),  where user can take a printout of the same report.
    In the printout this Fiscal year period is NOT PRINTING, other variables like rollup time, technical name of report etc are printing perfectly.
    It is required to print the fiscal period also in the print out of the report.
    Any help to come out of this.....
    Thanks
    Srinivas

    Hi
    Any Help.....
    Srini

  • Open a crystal report from WAD with passing  the variables values

    Hi,
    I need to know is there any way to link SAP WAD to crystal reports (open a crystal report from WAD)and pass the values of the variables which are entered in the Web App. (e.g. Customer id,year) should be passed to the Crystal Report.
    Maybe we need to pass parameter by WAD URL but this is just my assumption and have no idea how to do this with passing variable values.
    right now I know the method of how Bex queries which are used as data source for crystal reports but in my current scenario we have the structure like this that bex queries link with WAD and then WAD is linked with crystal reports.
    No doubt that Crystal report is target option in RRI but there the source is Bex Query only but in current scenario we are looking  WAD (web template) as a source to crystal report or crystal report called in WAD.
    Please suggest something on same.
    Thanks
    Take care
    Vishal sharma

    Hello Vishal.
    Did you find a solution for this problem?
    I'm facing right now the same problem, I need a way to link SAP WAD to crystal reports (open a crystal report from WAD) and pass the values of the variables which are entered in the Web App. (e.g. Customer id,year) should be passed to the Crystal Report.
    Have found an answer to this issue? If yes, please kindly inform how have you solved this.
    Best Regars
    Armando Santos

  • Passing CPM variable value to BW report/query

    Is it possible to pass CPM variable values from SEM scorecard to BW supporting reports.

    Not sure if this is what you are looking for, but it's my first thought of what I would try:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/documents/a1-8-4/3.0b report-report interface.pdf

  • SEM BPS locking even after user switches to a new variable value

    Hi,
    This is locking related question & appreciate any kind of suggestion.
    Users are locking previously planned variable value even after changing to a new value which is causing another user with a  locking issue.
    I've a variable GROUP defined at planning level & included in the planning folder.
    let's say USER1 is planning for GROUP1 & saved the data after planning.
    same user has changed the variable to GROUP2 & is planning now without leaving UPSPL session.
    at this point, when USER2 tries to plan for GROUP1 & is faced with a message "USER1 is currently processing the data".
    currently, USER1 is planning for GROUP2 right? so, why it's still giving locking message (locking GROUP1).
    I even followed SAP note 635244 & created a DB table & included GROUP characteristic in to the table but of not much help.
    even after this, I still see that USER1 is locking both GROUP1 & GROUP2 in report UPC_ENQUEUE_READ.
    Appreciate if any one can share your ideas to deal this kind of issue.

    Hi Hari,
    You indicated in your 1st post, that User 1 is able to access both Group 1 and Group 2. I am assuming in your configuration, multiple users share the same values in the Group variable and they are making selections on execution of your planning application.
    If this is the case, User 1 switching to Group 2 using, e.g., a drop-down menu does not remove the lock on Group 1. Hence User 2 will get the lock message.
    You defining a table in DDIC only specifies Group as a lock relevant characteristic. It will not prevent locking in this fashion.
    The probable options could be:
    1. Consider dividing Groups amongst users, and use user-specific values for your variable;
    2. Consider additional characteristic that will separate data sets.
    The central question I would ask about this planning process, is why would different users be editing the same group at the same time? Is there a way to differentiate their planning needs? That might help in your modeling.
    Hope this helps.
    William Lee

Maybe you are looking for