Skip to Content

This is a difficulty I met when I configure a CRM 5.2 system.
Later I tested again in another CRM 2007 system.
The folloiwng blog is using screen shots from CRM 2007 system.
It will do some help with you for new WEB UI debugging hopefully. 🙂

[Difficulty]

I configured a new service process transaction type, and has defined the relevant
item categories. I tested in CRM GUI, it works perfectly. But it is not available in
new WEB UI.

Standard business role SERVICEPRO is used. The navigation bar will look like

image

Under the first level of “Service Orders”, there are “Service Order Quotations” and
“Service Orders” two sub level options.
Nomatter which I tried, and click on New button, my transaction type does not come up.

[Analyzing]

Then I come into an analyzing of the reason, the secret comes out of

  Class CL_CRM_UIU_BT_GET_PROCTYPES

  Method GET_PROC_TYPE_CUST

The call stack is as following

image

It checks all the possible transaction types using the business transaction category

BUS2000116 which means service process using function module:

* Retrive the possible proc types for given bus type
  CALL FUNCTION ‘CRM_BSP_SALES_GET_PROC_TYPE’

After this function module, my new service type is within the importing table.

But later in this method, there is a logic to check whether this is a mixed transaction,

which means a transaction can be both order and quotation.

It is using

  Class cl_crm_uiu_bt_get_proctypes

  Method is_quotation

to judge this, it will check all the item categories related to one transaction type.

The judging logic is

image





The relevant configuration is in spro item category definition under Sales

category item level definition.

image

At this moment, I suddenly releazed what is going on. I have defined item which
could be converted into order item, and another item which need to be copied into
another document to become an order item. This lead this document into a mixed
transaction type. Thus the WEB UI will not show it in either “Service Order Quotations”
or “Service Orders”.

[Summary]

Uptil now, the root cause of my trouble should be found.
As a brief summary what I learnt from this analyzing are:
– Mixed transaction can not be handled by WEB UI, but it can be used in CRM GUI;
– the function module CRM_BSP_SALES_GET_PROC_TYPE though it is with name as
SALES, but it can be used for nearly all the business transaction categories, for
example Service process;
– there is good naming rules for the class related to business transaction handling
in new WEB UI;

[New WEB UI Naming Rule – initial investigation]

In the call stack, you may find a class named as CL_BT116S_S_ADVANCEDSRL, which
issues a method DO_HANDLE_EVENT, and then CL_BTSRV_ADVSRL_CNTRL method
EH_INCREATE.
The BT116 represents the leading transaction category BUS2000116 Service Process.
Then I can assume that all service transaction related class will start with CL_BT116*.
Then the same rule could apply to other business transaction category, which will start
with CL_BTXXX*.
And the CL_BTSRV* class should represent general processing for service transactions,
and this lead to a guessing that maybe sales transaction will use CL_BTSLS, and after
checking in se37 I found class CL_BTSLS_ADVS_CNTRL which is used for sales module.
Debugging shows that the sales and service call stack will not be exactly the same, but
class CL_BT* will definitly be called based on different leading transaction category.

About more detailed naming rules of the class, with the character follow the business
transaction category, I will try to work on it more and maybe follow up with another
blog. Hopefully soon! 😉

To report this post you need to login first.

3 Comments

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

Leave a Reply