Fee calculation triggered by an event.

Hi again to all,
We have a new request from our client, they want that the system calculates automatically a fee for any student which SC is changed. This means for example that if a student´s registration was to Architecture, in the minute you change that registration for Medicine, the systems launches a fee recalculation.
I have explored the SPRO and found:
Campus Management -> Student accounting -> Fees -> Event-triggered fee calculation
My problem is that there are no examples in how to configure the 4 items in there.
In redefine event types for SAP Business Objects, I tried this:
Object type      CS
Infotype           1771
Subtype           0001
Update op.       UPD
Object tyoe      PDOTYPE_ST
I tried to use the the function module CMAC_FEE_CALCULATE, but i get the next error
"Interface for function module does not follow convention"
Could someone send me an example of how can this be done.
Thanks
Sergio

Hi Michael,
Do you know which is the sub-type for SC related to the student?
I have been doing some tests with this configuration of the Infotype opertation
- Object type: ST
- Infotype: 1001
- Sub-type: A513 (pursues)
- Update op:  
- Activity:
- Sequence no.: 0
Event Data  OBJECT TYPE: PDOTYPE_ST (THIS IS MANDATORY) (student)
Probably I´m expecting something which is not correct. What I´m expecting to see is the following:
If I have a student which has registration to a certain SC and has already a fee calculation, and then I cancel the registration for the SC, I would like to see the financial info and watch that what owed is now canceled, (without doing it manually), afterwards If I register this same student to different SC I´m expecting that the system has already calculated the fee automatically.
Is this possible? Am I expecting too much from the fee calculation triggered by an event process?
How does it works??? Do it cancel fees if student unregister from SC or SMs?
Thank you
Sergio

Similar Messages

  • Document type change during fee calculation

    Hi SLCM gurus,
    Our customer wants to change document type for spesific type of students during the fee calculation.
    Is there a badi or event to change the document type for a spesific situation?

    Hi,
    You can enhance event P903 maling a copy of FM CMAC_SAMPLE_P903 to change the document type.
    Hope this helps you.
    Regards.
    Cristóbal.

  • BAdI for fee calculation

    Hi, to all specially Joachim
    In other threads I have been advised by Joachim to use a different BAdI to derive the account information for the fee calculation. (other than IF_EX_CMAC_DELTA_GENERATE)
    I ran a trace using (ST05) to learn which BAdIs could be use during the fee calculation. I found the following BAdI involved in the calculation fee.
    BADI_FMDERIVE
    CMAC_BADI_DDS
    CMAC_BADI_DDS
    CMAC_DELTA_GENERATE
    IF_EX_CMAC_DELTA_GENERATE
    FM_AUTH_OLD_ACTIVITY
    FM_AUTHORITY_CHECK
    FAGL_PERIOD_CHECK
    FAGL_DERIVE_SEGMENT
    FAGL_DERIVE_PSEGMENT
    EAPS_HRKFT_EXTENSION
    IF_EX_EAPS_HRKFT_EXTENSION
    BADI_LAYER
    IF_EX_EAPS_HRKFT
    CMAC_DELTA_FEE
    I don´t really which BAdI I can use to derive the company code and the business area by using registration data.
    Thank you very much
    Sergio
    null

    Sergio,
    In the IMG, there is an area called Campus Management -> Student Accounting -> Fees -> Pricing -> Fee Distribution to Several Company Codes.
    You should look here as there is another step just below it called 'Define CO Elements and Assign Function Modules'.  Here you can see how you can define a function module that should be called to determine the Company Code and other Controlling data.
    Look at the function module CMAC_ACC_DERIVE_ORG to see the import/export/tables/changing parameters that you should model.
    Hopefully this addresses your issue. (It is not really a BAdi.)
    Michael

  • Exit CL_HRASR00_POBJ_WF_EXIT triggered exeception for event STATE_CHG and (target) status READY- ERROR EVENT_RAISED - Error updating the process object

    Hi All
    I have set up a simple custom HCM process and Form regarding Infotype TO CREATE AND CHANGE POSITION. I have checked the process and form consistency and it seems fine. Now when I run the process from HRASR_DT it generates a process number but it also gives an error workflow could not start.I get following error (SWIA log - Step history)
    Executing flow work item - Transaction brackets of the workflow has been damaged
    Exception occurred - Error when starting work item 000000007031
    PROCESS_NODE - Error when processing node '0000000014' (ParForEach index 000000)
    CREATE - Error when creating a component of type 'Step'
    CREATE_WIM_HANDLE - Error when creating a work item
    CREATE_VIA_WFM - Exit CL_HRASR00_POBJ_WF_EXIT triggered exeception for event CREATED and (target) status
    EVENT_RAISED - Error updating the process object
    Executing flow work item - Exit CL_HRASR00_POBJ_WF_EXIT triggered exeception for event STATE_CHG and (target) status READY->ERROR
    EVENT_RAISED - Error updating the process object
    Executing flow work item - Transaction brackets of the workflow has been damaged
    Executing flow work item - Work item 000000007031: Object FLOWITEM method EXECUTE cannot be executed
    Executing flow work item - Error when processing node '0000000014' (ParForEach index 000000)
    Points to be noted:
    1) I have searched few SAP notes such as 1384961(Notes for 6.0.4) but our system is in higher level patch 6.0.5
    2) WF-BATCH have SAP_NEW and SAP_ALL authorization.
    Appreciate your valuable suggestions.
    Thanks
    Ragav

    Hi Ragav
    did you try to debug this? maybe something is missing in config of P&F?
    Since you are on 605, the following note would be there in your system....use it to debug:
    1422496 - Debugging background workflow tasks in HCM P&F
    This will help you find the root cause.
    regards,
    modak

  • What are the selections when defining a job triggered by an event?

    I use SM36 by defining a job triggered by an event. I click "Start conditions" button, then click "After event" button and place the event name.  I wonder if I would have to continue to click the button "Immediate" button and save it?  or just save it without clicking the "Immediate" button?
    Thanks and this question is urgent!

    Hi!
    No you only save and after define the step!
    If you click Immediate, your job start immediatelly and not after event.
    Max

  • Workflows triggered by an event

    Hi,
    A BOR object-event is linked to wait steps in more than one workflows.
    I have the BOR name and its event name with me.
    How can I find the list of all the workflows whose wait steps are triggered by this event ?
    Thanks in advance.
    Regards
    Ananya

    Hi ,
    For that you would have to set Metadata Only check-in which does not need a primary file . What it does is use the check-in form details and creates a file by itself (without having used any primary file) and creates the assets .
    So , from the WF point of view there need not have any changes . Only thing is from WCC check-in side .
    For details please check the following links:
    https://blogs.oracle.com/kyle/entry/check-ins_without_files_ucm
    Uploading Documents - Release 11g (11.1.1)- section 18.4.1.7 - Tip
    Hope this helps .
    Thanks,
    Srinath

  • Is it possible to pass an argument to the function triggered by an event handler?

    Hello All,
    Trying to migrate my way of thinking from AS2 to CS4/AS3.
    Ok, I have 2 buttons on the stage. Each button does almost
    the same thing, so I want to create a single function, and each
    button calls that same function (we'll name that function
    "Navigate")... however, the function will need to end up doing
    something different dependant on which button was clicked.
    So, previously, in AS2, I would've added some code onto the
    buttons themselves with on(release) methods (see CODE EXAMPLE 1)
    So, each button effectively calls the Navigate function, and
    passes a different frame label to the function.
    Now, I'm trying to recreate this functionality in AS3. As you
    all know, on(release) has been done away with (still don't know
    why), but we now have to use event handlers, so I'm trying to
    figure out a way to pass a different frame label argument to the
    Navigate function. Currently I can achieve that by using a switch
    statement to test which button was clicked, and act accordingly
    (see CODE EXAMPLE 2).
    In this over-simplified example, this works fine, but in the
    real world I'm going to have more than 2 buttons, and the Navigate
    function would probably be much more complicated...
    So, I would like to be able to pass an argument(s) (like in
    the AS2 example) to the Navigate function... perhaps in the
    addEventListener() method? I tried this, but got compiler errors
    (see CODE EXAMPLE 3):
    The Million Dollar Question:
    Is it possible to dynamically pass/change an argument(s) to a
    function which is triggered by an event listener? (Or is the event
    that triggered the function the only argument you can have?)
    If this isn't possible, I'd greatly like to hear how you
    folks would handle this (other than having a switch statement with
    12 cases in it)???

    I've found a couple solutions that I'll post below for
    prosperity...
    You could create a Dictionary keyed by the prospective event
    targets and store any information in there you want associated with
    them. Then the navigate function can check that dictionary to get
    it's parameters:
    // Code //
    Button1.addEventListener(MouseEvent.CLICK, Navigate, false,
    0, true);
    Button2.addEventListener(MouseEvent.CLICK, Navigate, false,
    0, true);
    var buttonArgs:Dictionary = new Dictionary();
    buttonArgs[Button1] = "FrameLabel1";
    buttonArgs[Button2] = "FrameLabel2";
    function Navigate(e:MouseEvent):void{
    gotoAndStop(buttonArgs[e.target]);
    This in my eyes, is about the same amount of work as writing
    a long switch statement, but a little more elegant I suppose.
    I had a little trouble understanding the next solution,
    because I didn't quite understand an important piece of information
    about event listeners. The addEventListener () requires a Function
    as the 2nd argument passed to it.
    It didn't quite click until someone pointed it out to me:
    Navigate is a Function...
    Navigate("FrameLabel1") is a Function
    call...
    So by writing just
    Navigate, I'm not actually calling the function at the time
    of the addEventListener call, I'm just supplying the event listener
    with a reference to the name of the function. Then, when the
    listener is triggered, the listener will call (and pass a
    MouseEvent argument to) the Navigate function.
    Conversely, by writing
    Navigate("FrameLabel1") as the 2nd argument, the event
    listener trys to execute the Navigate function at the time the
    addEventListener is instantiated. And, since, in this example, the
    Navigate function returned as ":void" a compile error would occur
    because as I stated, an event listener requires a Function data
    type as the 2nd argument. This would basically be like writing
    addEventListener(MouseEvent.Click,
    void, false, 0, true)
    However, there is a way around this... basically, instead of
    defining the Navigate function as returning a void data type, you
    define it as returning a Function data type, and then nest another
    function (which actually contains the actions you want to perform)
    inside of it.
    Button1.addEventListener(MouseEvent.CLICK,
    Navigate("FrameLabel1"), false, 0, true);
    Button2.addEventListener(MouseEvent.CLICK,
    Navigate("FrameLabel2"), false, 0, true);
    function Navigate(myLabel:String):Function{
    return function(evt:MouseEvent):void{
    gotoAndStop(myLabel);

  • Fork : triggering and terminating event ?

    Hi Experts,
    I am a begginer in  Workflow ..
    I just want to know how Fork can be used for paralled processing with triggering and  terminating event.
    It would be appreciated if provided with some scenarion in detailed steps.
    Thanks in advance.
    Ganesh..

    Mike,
    It would be HELPFUL for me if i get my problem solved as earlier so i can concentrate on other my commited topics..thats why expecting info., from the experts.
    Anyway , you  triggered me to read SAP help..thanks for the indirect motivation..
    Let me start reading the SAP help information!!!
    Thanks .
    Ganesh

  • Event triggered by multiple events

    Hello!
    I am working on interactive code in Adobe Edge. I created several function triggered by specific events. Now I need to write the final function. The symbol should play when several draggable elements are inserted into several drop boxes at the same time. Please, give me an example of how to write this function.
    Here is the code:
    yepnope(
        nope:[
            'js/jquery-ui-1.9.2.custom.min.js',
            'js/jquery.ui.touch-punch.min.js',
            'css/jquery-ui-1.9.2.custom.min.css'
        complete: init
    function init() {
              var stage = sym.$("Stage");
              // draggable
              var Rectangle1 = sym.$("Rectangle1");
              Rectangle1.css("position", "absolute");
              Rectangle1.css("left", 50);
              Rectangle1.css("top", 35);
              Rectangle1.draggable({ disabled: false });
              Rectangle1.draggable({ containment: stage });
              Rectangle1.draggable({
       snap: '.target1',
       snapMode: 'corner'
              // drop in box
              var dropCase1 = sym.$("dropCase1");
              dropCase1.css("position", "absolute");
              dropCase1.css("left", 375);
              dropCase1.css("top", 25);
              dropCase1.on( "dropout", function( event, ui ) {
                        Rectangle1.css("background-color", "grey");
              dropCase1.droppable({
                        accept: ".case1",
                        drop: function(event, ui) {
                                  // change the color of the draggable item
                                  Rectangle1.css("background-color", "blue");
                                  //play the symbol box timeline
                                  var box = sym.getSymbol("box");
                                  box.play();
              // adds visual when correct drops here
              var Rectangle2 = sym.$("Rectangle2");
              Rectangle2.css("position", "absolute");
              Rectangle2.css("left", 50);
              Rectangle2.css("top", 150);
              Rectangle2.draggable({ disabled: false });
              Rectangle2.draggable({ containment: stage });
              Rectangle2.draggable({
       snap: '.target2',
       snapMode: 'corner'
                        // drop in box
              var dropCase2 = sym.$("dropCase2");
              dropCase2.css("left", 375);
              dropCase2.css("top", 150);
              dropCase2.droppable({
                        // accept only case 2
                        accept: ".case2",
                        drop: function() {
                                  var box = sym.getSymbol("box");
                                  box.play();
    Thank you very much!
                                                                               Anastasiya

    There are many possibilities. Attached is one simple example (LabVIEW 7.0) that does not use control references.
    (If only one of the buttons can be active at any time. you could also use a single radio button as a control)
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    ComboEvent.vi ‏35 KB

  • Fee calculation if fee calculation data change after start of academic year

    Hi,
    If I change "Fee calculation data" on student file (piqstm) after start of academic year, fee calculation doesn't use new data even I enter a fee calculation date later than new fee calculation data valid date. If I adjust validity date of "fee calculation data" at the beginning of start date of academic year It works. But I couldn't manage changes on fee calculation data after "start date of academic year".
    Is it possible to calculate fees with new "fee calculation data" if the data changes after start of academic year?
    Thanks

    Hi Joachim
    We have not yet implemented the BAdI, we are using the standard to do the fee calculation. I guess we are gonna have to post a OSS message, cause as soon as I calculate the fee for a student and I run again the fee calculation for the same student without any changes at all, the system creates 2 new documents. I had this effect in the past but only as if you stated I changed something, like a condition or something but now is without any changes that this happens.
    About the BAdI, the problem is that in our college they have more than 70 SC per campus (and the school has more than 12 campuses). The Campus Management team decided that they were going to use only 70 central SC instead of (12 x 70). By doing that we have to use a new derivation system cause the SC is attached a central school. But the reports have to be per campus. So we have plan to derivate the company code and the business area using some registration data (instead of getting it from the SC links). The same will be happening to the cost centers and profit centers.
    Thank you Joachim
    Sergio Artinano

  • Student Accounting / Fee Calculation Cookbook and FAQ

    All,
    we have published a Student Accounting Cookbook focused on Fee Calculation and including some FAQ's in the BPX HER Knowledge Center.
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/3077e127-f88e-2c10-a88e-f3f80f998b60&overridelayout=true
    Hope it provides some useful information on this topic.
    Tina

    All,
    just to let you know that Lukas Molenaar, a Student Accounting consultant and contributor to this forum, has provided additional information on this topic and we have included it into the document. It has been updated in the archive and is available at the same link as of today.
    Thanks and regards,
    Tina

  • Processing mode Fee calculation

    Hi experts,
    During the fee calculation, the program does not consider the validity date of an CS-object. Therefore we would like to change some variables in the fee calculation badi with the processing mode values (CMPROCMODE)
    This value is determined during execution of the transaction PQ_FEE_CALC (FEECALCMODE). My question is:
    How can I approach this value in the badi CMAC_BADI_PRICING?
    This field CMPROCMODE is already assigned to the Field catalog and is available in the structure SI_KOMK_CM, but when I check the badi CMAC_BADI_PRICING there is no way I can check the field CMPROCMODE.
    Has anyone experience with this?
    Any help would be very much appreciated.
    Kind regards,
    Steve de Klonia

    if the mode is interactive then as soon as yoyu edit/modify a field all relevant code will fire instantly and the webserver will make a trip to the appserver and update the page, i.e. if field B = A * C, then you would want to see instantly that in case any of A or C is changed then field B gets updated accordingly and the user sees it instantly.
    The draw back is that it increases the load on the server, so if your page does not have any such functionality where instant refresh of the page is required, then you can put your component/page processing in deferred mode, otherwise make it interactive.

  • Fee calculation in combination with tax

    Hello,
    I have a question i hope someone can help me with. I want to run the fee calculation with and without tax.
    Fox example with the following situation
    Condition record A: Tuit fee -> No tax
    Condition record B: Meals -> tax of 6%
    I calculate both condition records in the same fee calculation procedure.
    If i add tax to the contract account but then i cannot controle which condition record gets tax and which one doesn't. So i moved one level down to the contract object. Here i didn't find a field to add tax.
    Does anyone have an idea how to fix this?
    Thanks a lot!
    Lukas Molenaar

    Hi Lukas,
    If an institution has to charge tax for some service then SAP expects that it would also impact areas other than student fees.  Therefore, the actual tax definition is done in global settings.  Certainly, if only some fees, e.g. meals, have taxes then you need to set that up as a contract object type.  The condition records don't come into play at all. 
    It should be possible to deal with your requirement in standard.  I will send you a document which will explain in more detail (and with screenshots). 
    Hopefully, this helps you further.
    Rob (and thanks Marlies!)

  • Reversing fee calculation document

    Dear all,
    I created a document in fee calculation. How can I reverse it?
    Thanks

    Ls,
    Please check the following Student Accounting documents in our BPX:
    Student Financials [original link is broken]
    This will provide you the necessary (basic) information about Student Accounting/FICA.
    Hope this helps
    Rob

  • Subtype event not triggering and supertype event triggers twice!!!!!!

    Hi,
    We have created a subtype for object bus2030 and also an event created for that. My workflow should trigger whenever an inquiry is created.
    I've maintained this as triggering event in SWDD and done type linkage is SWE2 and everything looks fine.
    When i simulate or create event the WF is triggered but when create inquiry in VA11 WF does not triggers.
    I've checked SWEL for event trace but no event is triggered at all... Am i missing something... I've done almost everything that i used to do...
    Even synchronized buffer!!! nothing paid me a solution...
    Infact the same was working with 3.1i system but after migration to ECC6 we had to create new WF template for the same Process.
    Now I also see that the supertype bus2030-created event is triggered twice but, obviously no receiver type exists. But the zbus2030 event is not being triggered at all!!!!
    Kindly help me understanding my mistake...
    Regards,
    PB

    Hope you have already set the deletegation in SWO6.
    Now, event dont get triggered automatically, jus because they are defined in object. They have to be explicitly published in thesystem.
    Check for a suitable user exit in your transaction, which makes use of function module to create the event, from that you know how to proceed.
    If you dont find user exit, try other triggering techniques such as change documents, logistics, BTEs... etc.
    regards,
    Sandeep Josyula

Maybe you are looking for