Skip to Content

Taking a cue from Daniyar Kulmanov on possibility of using BRF+ with ChaRM, I tried the automatic Change Manager determination from BRF+ framework. It worked ! and here is the procedure to achieve it;

The standard SUPPORT_TEAM function is copied to Z namespace to adopt the Elements. You can also create your own Z function from scratch if you are familiar with BRF+. I chose to copy the standard;

/wp-content/uploads/2014/05/sshot_1_450640.png

/wp-content/uploads/2014/05/sshot_2_450668.png

/wp-content/uploads/2014/05/sshot_3_450669.png

/wp-content/uploads/2014/05/sshot_4_450670.png

Right Click > Copy

/wp-content/uploads/2014/05/sshot_5_450832.png

Name of target application should be ‘SOLMAN’

/wp-content/uploads/2014/05/sshot_5_450832.png

/wp-content/uploads/2014/05/sshot_6_450672.png

Write down the Function ID of this newly created function from Details tab;

/wp-content/uploads/2014/05/sshot_21_450696.png

You can see the Signatures inherited from the SUPPORT_TEAM in the copied function (Z_CHANGEMAN_FUNCTION). It contains all relevant elements for the Service Desk.

/wp-content/uploads/2014/05/sshot_7_451482.png

We will create a ‘Change Manager’ element which is relevant in our case. To do this follow the procedure shown in screenshots;

Click on Add New data Object and provide the details shown below;

/wp-content/uploads/2014/05/sshot_9_450673.png

Now add the Change Manager in the Result Data Object replacing the Support Team. You may get following error when you try to Save;

/wp-content/uploads/2014/05/sshot_11_450687.png

To overcome this error, remove the Change Manager from the Signature screen using Remove Data Object button.

/wp-content/uploads/2014/05/sshot_10_450686.png

Now you need to create an Application, Ruleset, Decision table as you would create it for Support Team Determination. Instead of Component and Support Team in Decision table, use Category and Change Manager dataset; To configure application follow the steps mentioned in 5. CONFIGURATION IN THE BUSINESS RULE FRAMEWORK PLUS in the following link http://wiki.scn.sap.com/wiki/display/SAPITSM/Support+Team+Determination+via+Business+Rule+Framework+plus

/wp-content/uploads/2014/05/sshot_16_450688.png

/wp-content/uploads/2014/05/sshot_17_450695.png

Now we create a Z action in Z(Y)MCR_ACTION action profile for calling this function; this new action is similar to SMIN_STD_FIND_PARTNER_FDT action delivered in SMIN_STD action profile of Service Desk.

/wp-content/uploads/2014/05/sshot_23_450697.png

In the Processing Parameters provide below information;\

/wp-content/uploads/2014/05/sshot_3_450669.png

PARTNER_FCT : Partner Function of Change Manager

FUNCTION_ID : is the one which we created in BRF+

APPLICATION_ID: 0050568E6E9A02DE82A4EC0838CD95E5 (alwas constant, refers to Appln SOLMAN  in BRF+

last step is to activate this action in Condition definitions. No need to provide any Start or Schedule condition for this action , just make it ‘Green’ in Conditions screen πŸ˜†

/wp-content/uploads/2014/05/sshot_25_450704.png

/wp-content/uploads/2014/05/sshot_26_450705.png

That’s all ! now depending on your decision table entries, whenever you select a category in change Request screen, Change Manager is determined automatically upon Saving.

/wp-content/uploads/2014/05/sshot_4_450670.png

To report this post you need to login first.

40 Comments

You must be Logged on to comment or reply to a post.

  1. Daniyar Kulmanov

    Hi Vivek!

    Nice work and thanks for sharing.

    By this technique it is possible to determine whole partner schema of any Charm doc 😎

    It is really nice to share and explore BRF+ possibilities

    Regards Daniyar

    (0) 
    1. Vivek Hegde Post author

      Hi Dan,

      Yes, if we adopt more and more BRF+ framework in ChaRM then we can have a very flexible ChaRM design. Sometime these small cosmetics add lot more value to customer/end user. As consultants, all we have to do is explore BRF+. Totally agree with you and thanks for showing the possibility in first place ! πŸ™‚

      Regards,

      Vivek

      (0) 
  2. Joyca Vervinckt

    Hi Vivek,

    Thank you so much for sharing this.

    I had a go once on using BRF+ for determining partner functions, but in the end I got a dump on executing the action and didn’t have much more time to further investigate, so it was left in a (very dark) corner. I will definitely try it out with your descriptions!

    Kind regards,

    Joyca

    (0) 
    1. Karthik Paramasivam

      Hi Vivek – Thanks for sharing.

      Hi Joyca,

      I am also getting the below dump while processing the BRF+ action from ZMCR to ZMHF.

      Source type \CLASS=CL_AGS_CRM_1O_API is not compatible, for the purposes of assignment, with target type \CLASS=CL_AGS_CRM_1O_API_SD

      Did you solved this dump? any idea about this issue.

      I am using 7.1 SP11 version.

      Rg,

      Karthik

      (0) 
      1. Joyca Vervinckt

        Hi Karthik,

        I haven’t worked further on this functionality, but the dump that I got then was CX_FDT_GEN_NOT_SUPPORTED in class CL_FDT_FUNCTION_PROCESS.

        So not really an idea on the dump that you get now…

        (0) 
  3. Shyamsankar Sivasankaran

    HI Vivek,

    Thanks a lot sharing.

    I have a query. Above scenario explains if you have 1:1 mapping, i.e for every category single CM.

    Meaning, from decision table which ever value comes first is picked up. How can we modify this to  scenario like there are multiple CM for a single category?

    e.g. for selected category has 3 CMs and f4 help should only show those CM’s BP for which rule is setup.

    Possible ?

    -SS

    (0) 
  4. D. Philips

    Hi Vivek, BRF+ has been on my personal ‘explore-some-more’-list for quite some time now. This helps a lot. Highly appreciate the level of detail in your blogs. Thanks for sharing. Keep it up. Kind regards Dino

    (1) 
  5. Anonymous

    Hi Vivek,

    Thanks for sharing.

    I tried setting up change manager determination based on category. In BRF+ the simulation is successful, but when I save the request for change, it is not able to determine Change Manager. In processing log it shows, “processing AI_SDK_DETERMINE_SUPPORT_TEAM started, support team could not be determined, action could not be successfully executed”. I have maintained the proper partner function, Application ID and Function ID. I would appreciate your help.

    Vinod Tiwari

    (0) 
    1. Vivek Hegde Post author

      Hi Vinod,

      It might be because of the application you created for Support team Determination. Have you done all the configuration mentioned in 5. CONFIGURATION IN THE BUSINESS RULE FRAMEWORK PLUS in the following linkhttp://wiki.scn.sap.com/wiki/display/SAPITSM/Support+Team+Determination+via+Business+Rule+Framework+plus ?

      Because I tried it, and it is pretty straight forward, if the simulation is working then it should work in RFC also; unless you made any mistakes in above configuration.

      Regards,

      Vivek

      (0) 
      1. vinod tiwari

        Thanks for quick response Vivek.

        I have done the configuration according to the link only.

        I have a doubt in one thing.In the CRM UI the change manager is a mandatory field and through CRM UI configuration, it is not being disabled and when I try to save rfc it says make an entry in the field “Change Manager” but the rfc is saved. Is there any problem because of this?

        Regards,

        Vinod

        (0) 
          1. vinod tiwari

            Hi Vivek,

            I have again configured in BRF+ and the simulation is again correct, but I think the action is not calling the function. I have mentioned the Function ID and Application ID correctly. What could be the problem?

            (0) 
  6. Jiri Palat

    Hi Vivek,

    Thanks for sharing. It works, but if I change the Category, Change Manager is not changed/updated. I have to delete field with Change Manager first, then to save ChRQ again and then the new Change Manager is determined correctly. Do you have the same problem?

    Thanks a lot,

    Jiri

    (0) 
    1. Vivek Hegde Post author

      Hi Jiri,

      Yes, I do. May be you can try changing the execution time of your Z_CHANGE_MAN_DETERMNT action in ‘Processing Time’ dropdown to Immediately in the action profile. It may or may not work as expected, but you can give it a try.

      Let me know if it works.

      Regards,

      Vivek

      (0) 
      1. Jiri Palat

        Hi Vivek,

        I tried it, but it does not work. I also tried to change the function in BRF+ to give the result as a local variable and it also does not work. Do you have any idea?

        Regards,

        Jiri

        (0) 
      2. Giridhargopal H

        Hi Vivek,

        I have similar requirement, based on category 1 I need to determine the support team. I created the BRF+ in simulation it works fine however in the incident creation field the value is not defaulted on the field. Any clue to resolve this issue.

        Giridhar.

        (0) 
  7. Kathiravan Jegatheesan

    Thanks Vivek Hegde. I tried BRF+ based partner determination with few of the fine tunings suggested in the previous conversations in this comments section.

    I achieved the default value assignment for a Partner Function in the RfC using BRF+ based partner determination (In this try I used Transaction type instead of Category for the Partner determination in the Decision table).

    1.  Using immediate processing instead of Processing when Saving

    As suggested by Vivek Hegde I configured the Action’s processing time as ‘Immediate Processing’. I also had to set the ‘Action Merging’ as shown in below screen shots.

    I had to do this to restrict the number of times this action gets executed. I also noted that there was always a failed first action as the email processing part of the action did not have the required parameters (I was not interested to handle the email part). So I managed the Action merge accordingly to overcome this. And it Works great!


    Action Merge.png

    Action Merge-2.png

    Processing log.png

    2. Tackling the problem of the replacement of the existing value with the new value determined by BRF+

    As shown by Joyca Vervinckt (in the code snippet) the Action would not overwrite the existing value with the determined value. This works opposite to that of the Dispatch rules – Refer the blog from Daniyar Kulmanov Partner determination via Rule policy ITSM / CHARM (NO ABAP REQUIRED). .

    I made the Partner field in the context as a ‘Display-only’ field and allowed the BRF+ rules to fill it (ensure the Decision table is complete to cover all possible matches). This is a Work-around and It Works!

    Rfc-Field display only.png

    BRF+ would be very useful in ChaRM and Incident management for many situations like

    1. Default value assignment for certain fields like Partner functions
    2. Handling Custom validations based on Expressions /Conditions/decisions in BRF+
    3. Value determination for fields based on other field’s value/s

    Vivek, Joyce and Daniyar – Thank you very much for the suggestions and tips.

    Regards,

    Kathir

    (0) 
  8. Jennifer Malz

    Hello all,

    I really like your guide but I have a problem. My rule doesn’t work properly. There always pops up the following error messages.

    Decision Table Error Message.png

    decision table errors.png

    Why is there no context? Does anybody know why and what I did wrong?

    CM DT is my Change Manager Decision Table.

    Thanks!

    Best regards

    Jennifer

    (0) 
  9. Mark Goovaerts

    Hi Vivek,

    Thanks for sharing.

    Im’ really a newbie in all the CRM customizing and BRF+ therefore my question might be obvious for a lot of you, but I don’t see the link between the Change manager field in your sm_crm screen and your adapted function.

    Where do you determine that it’s the “Change Manager” field that needs to be determined instead of the “Support team” ?

    Kind regards,

    Mark

    (0) 
      1. Mark Goovaerts

        Hi Vivek,

        If I understand correctly, there you link certain categories to your support team (or in your case Change manager).

        What I would like to do is determine the Ibase component (configuration item) based on the MLC, but I can’t find a way to link the configuration item. I think some development will be necesarry here. Correct ?

        Kind regards,

        Mark

        (0) 
        1. Vivek Hegde Post author

          Hi Mark,

          It may be possible, since the entire logic behind BRF+ is to determine “If THIS then THAT”. So from your requirement, I understand, you need ‘Configuration Item’ as output from a determination. So ideally, you should be replacing ‘Change Manager’ column with ‘Configuration Item ‘ column in decision table. Now, how to arrive at this? Basically, if you see, be it a Change Manager or Support Team, they are all know as Data Objects in BRF+, and by default you have 10 or 12 Data Objects defined in the  default Support Team function that we copied in Step no. 1. So you need to explore what new data objects can be added to this list. There is a Add New Data Object, which may come to your rescue. All you need to find out what type of what DDIC Binding you need to use for ‘Configuration Item’. There are 1000+ bindings available, the trick is to chose the right binding for your newly created Data Object. I have not tried this but you can give it a try . If I get a time today, I will check this in my system and update you.

          /wp-content/uploads/2015/07/sshot_1_751472.png

          /wp-content/uploads/2015/07/sshot_2_751474.png

          Thanks,

          Vivek

          (0) 
        2. Daniyar Kulmanov

          Hi Mark, Hi Vivek!!!,

          If you have problems with BRF+, my team can help you with this.

          I have teached and are now BRF+ focused!

          even to create a finished XML. You just import it to your system and done. πŸ™‚

          (0) 
              1. Ahmad Salam

                Yes I did , would you recommend some stuff that i might have done wrong to give this error ?

                also the action definition i had to create it my self i couldn’t copy it from SMIN_STD_FIND_PARTNER_FDT as its in deffrent action profile SMIN_SDT and we need it on ZMCR_ACTIONS

                Regards.

                (0) 
                  1. Ahmad Salam

                    after further analysis i found out that it dosent matter the BP id what matters is if the BP have an Entry in the Email field in the communication tab the error happen but if i empty this field and add the mail to mail field in the independent communication tab the error doesn’t occure.

                    (1) 
                    1. Vivek Hegde Post author

                      Hi Ahmed,

                      That’s correct. Because original action you reproduced from S(Z)MIN is designed in a such way to perform the Partner Determination & Send Email. If you copy the exact settings and do not maintain email then this dump is expected because you are calling this action in dialog mode. The original action was supposed to run in background mode, and if there was no email maintained for the business partner, then it would not have cause dump when it ran in background mode.

                      That’s the difference !

                      @Daniyar : OSS might not help since “this is not a standard functionality” and might “fall under Consulting” πŸ™‚   (pun intended)

                      Thanks,

                      Vivek

                      (0) 
                    2. Rodion Rodionov

                      Source type \CLASS=CL_AGS_CRM_1O_API is not compatible, for the purposes of assignment, with target type \CLASS=CL_AGS_CRM_1O_API_SD

                      Issue is happening because youΒ are using standard PPF method AI_SDK_DETERMINE_SUPPORT_TEAM.

                      Which try’s to send an e-mail to BP and fails since mail form is not defined.

                      If you would look how this method is used in ITSM, you will see that it has following parameters:

                      So to solve your issue you need to add empty EMAIL_ACTIVE parameter to your method:

                      Β 

                      (0) 

Leave a Reply