With Solution Manager 7.2 we are also using a newer version of the CRM 7.0 Enhancement Package. Therefore, we are now able to use functionalities coming from CRM Enhancement Package 2 and 3. One of these functionalities is the Notification Framework.
For the setup of this framework some prerequisites needs to be performed:
1) Activate Business Function CRM_ITSM_ALERTS within transaction SFW5.
The activation will switch on the customizing activities needed within the implementation guide (transaction SPRO).
2) Enable BDOC creation.
The Notification Framework functionality is provided via the CRM middleware. Therefore, the CRM middleware needs to be activated (transaction MW_MODE). The CRM middleware is exchanging data via so called Business Documents (BDOCS). Since the middleware in Solution Manager is not used from default, there is a Business-Add in active, which prevents the creation of BDOCS for specific transaction types like incidents. This means, we have to make sure, that we can use BDOCS for incidents. Otherwise the functionality will never work. For this issue a note is available - 1777352 Allow BDOC replication of service desk messages. With SP04 this not should be obsolete, so there will be a change in the code, which will allow the BDOC creation.
3) Enable links within your custom own Business role
The links for the Subscription search and creation are not available within the standard Business Role SOLMANPRO. Therefore, you have to activate them within your custom own Business Role e.g. ZSOLMANPRO.
Use the IMG to navigate to the Business Role customizing.
Customer Relationship Management → UI Framework → Business Roles → Define Business Roles
Search for your Business Role and select “Adjust Work Center Group Links” on the left side.
Make sure that the links CT-NF-CR and CT-NF-SR are set to visible within the Service Operation Work Center.
Now we can start with the configuration.
Define Number Range for Notification Framework
Within the very first activity of the implementation guide (transaction SPRO) you can define which number range interval should be used when subscriptions will be created.
When a subscription is created, a unique number is assigned to identify the subscription. The number is taken from the number range you assign in this activity. Define the number intervals for number range object CRM_NF_ID.
Define System Settings
In this activity, you set up your system for processing subscriptions. The Notification Framework functionality is using the shared memory. This means that subscriptions made, will not be written directly on the database. Only after some time passed (this time is configured here) the information from the shared memory will be written on the database. This can cause confusion especially when testing this functionality, so be aware, that the values entered here, are influencing when a subscription can really lead to notifications sent.
1. Enter for system setting MAX_SHM_LIFETIME the timeframe in seconds that is to be passed at least before the shared memory is to be refreshed again. Do not enter the time unit.
The subscriptions are cached in the shared memory.
You want the shared memory to be refreshed a maximum of every 15 minutes. Enter the value 900.
2. Enter for system setting MAX_THREADS the number of parallel processes that you want to use for checking the subscriptions. This check is running when a user has changed and saved a service request.
3. Enter for system setting MFORM_FOR_NF_DOC_CHANGES the mail form that you want to use to inform the subscribers about a change or deletion of a subscription.
4. Enter for system setting PACKAGE_SIZE the number of subscriptions that you want to check with one parallel process.
5. Enter for system setting SENDER_EMAIL the default sender address that you want to use for all e-mails that are sent by the Notification Framework.
This means, for point 5 we need to create a mail form that can be used. This can be done within the CRM Web UI, e.g. with Business Role SOLMANPRO. Enter the Service operation Web UI work center and navigate to the create area. Here you find the link for the mail form.
Create a mail form according to your needs. Make sure, that the attribute context Notification Framework Attr. Ctxt is chosen. E.g.:
Now the table can be maintained:
Hint: For testing purpose the MAX_SHM_LIFETIME was changed to 20 seconds. Afterwards it was changed back.
Define Conditions of Subscription Processing
In this activity, you define the conditions that you want to use for creating subscriptions. You can define the conditions depending on the business object type (BOR object). In the standard, you can use every field that is available in the following segments:
Only header segments are supported.
You can find more detailed information within the documentation of the IMG-activity.
From standard the BUS-type BUS2000223 (used e.g. for Incident and Service Requests) is already maintained with a specific class. Make sure that the column “Send Notifcation on Change” is activated.
Afterwards check the available Notification Filter. If no description is available, you can enter it manually.
Change Processing of Communication Channels
In this activity, you can adapt the processing of the communication channels if the standard processing does not meet your requirements.
To do so, you have to implement customer-specific methods for the handler classes that process the sending of the notifications.
You can find more information about it within the documentation of the IMG-activity.
For this configuration example E-Mails are used, which are available from standard, so no changes were made on this activity.
Change Processing of Subscribers
In this activity, you can rename the standard subscriber types. These texts are displayed on the user interface when they select the subscriber type in the subscription.
The Notification Framework is able to process the following subscriber types that are delivered with the standard customizing:
BP: Business Partner
OR: Organizational Unit
You cannot add subscriber types.
Again, you can find more detailed information about this activity within the documentation of the IMG-path.
No changes were made here as there are not needed to use the standard functionalities.
Define Defaults for Direct Subscribing
In this activity, you define the transaction types for which you want to provide the direct subscribing function. You define the defaults for the notifications that are sent when users subscribe directly to a business transaction.
Enter you custom own incident transaction type:
Now select the transaction type and choose “Channel” on the left side. Decide which communication channel you would like to use (in our case E-Mail) and assign again a Mail form that should be used when sending a notification. If you like, you can create an own one for it e.g.:
Maintain the table accordingly.
For the e-mail notifications send, a backgroundjob is needed which clears the queues where the e-mail entries are stored first of all.
Therefore, schedule report CRM_NF_CORE_QOUT_PROCESSING within SM36 as a job with parameters:
Channel Type = E-Mail
Business Object Type = BUS2000223
Now you are able to:
1) Create a subscription manually with own conditions.
- Use your custom own Business Role, e.g. ZSOLMANPRO
- Navigate to the Service Operation Work Center
- Either search for subscriptions or directly create one with the link in the create area
- Create your subscription according to your needs, e.g.
2) Create a subscription directly on the incident:
After the subscription was created (and the time entered for the shared memory) passed, you will get an e-mail according to the settings. Make sure, that your Business Partner and/ or User does have an e-mail address assigned.
If no e-mail server is connected to your DEV or QAS-system you can check the e-mail within transaction SOST:
No E-Mail is created/ sent
There are several possibilities why the E-Mail might not be available.
1) Check, if the BDOC BUS_TRANS_MSG is activated within BDoc Type Customizing.
You can use the IMG: Customer Relationship Management → CRM Middleware and Related Components → Message Flow Setup → BDoc Type Settings
2) Check first of all, if the BDOCs BUS_TRANS_MSG are getting created for each subscription created and/ or every changes that was made on the incident (where a subscription is available) within transaction SMW01.
If yes, but the state stays yellow, go to transaction SMQ2 and activate queue (queue name can be found in SMW01). -> processing of BDocs adds entry to table CRMD_NF_QUEUE.
If not, you need to check the CRM Middleware. There are several important transactions for checking the CRM Middleware:
However, it than really depends where the issue occur. An OSS message might still be necessary, if every other steps were performed successfully.
There is also an interesting note from CRM for the Notification Framework:
1818151 - ITSM-Erweiterung: Benachrichtigungs-Framework-Einrichtung
Also be aware, that there are several activities within the IMG:
Customer Relationship Management → CRM Middleware and Related Components
3) Check, if the E-Mail item can be seen in table CRMD_NF_QUEUE
If the BDOC was created successfully, please also check, if an E-Mail item is available in table CRMD_NF_QUEUE (via SE16). Use the GUID for the BUS_TRANS_MSG item within transaction SMW01.
The entry is only available as long as the scheduled background job did not clear the queue to send to e-mail.
If no E-Mail item is available, check if the queue used (visible also within SMW01) is registered and active.
Error while CRM Middleware Activation
If you want to activate the CRM Middleware in transaction MW_MODE an error occur:
Executing of report GN_XPRA_CRM40 solved the error.
E-Mail attributes are not getting filled
If you have set up the Notification Framework and everything is working as expected, but the e-mail that is generated does not have the attributes filled as expected, e.g.
Check if the structure entries with the fields needed for the Mail form context CRM_NF_MFORM are available. Use the IMG: SAP Solution Manager → Capabilities → IT Service Management → Personalized E-Mail → Maintain Attribute Context for Mail Forms
Select CRM_NF_MFORM and select “structure” on the left side.
Check, if the structure names are available according to the screenshot. If not, enter them manually. Now also the fields will be available beneath a structure.
These fields are important to have the dynamically filled entries within the Mail Form. E.g.