BBFDF
BBFDF
BBFDF
https://websmp104.sap-ag.de/~sapidb/011000358700000409422011E
CRMC_PARTNER_FCT", "CRMC_PARTNER_PFT"
1. Adapt the configuration for the BSP component view that contains the Detailsassignment block,
for example component AIC_CMCD_H/AICCMCDHeaderEF.
2. Adjust or add technical fields from //BTPARTNERSET//AICRM/HEADER_FCT_1 to
//BTPARTNERSET//AICRM/HEADER_FCT_10 to the configuration.
For example, in the standard component configuration only four partner functions are displayed. To make
the additional fifth partner function (for example, current processor) visible, you also need to add the
technical field //BTPARTNERSET//AICRM/HEADER_FCT_05 to the configuration.
The most important information is Order and Object Relation Name column . Those two things
should be in relation. If You Order is 6 (like is in our case) then you should
use BTPartner_PFT_0006_MAIN
Later in the WEB UI you should just use //BTPARTNERSET//AICRM/HEADER_FCT_6 and add to you
screen like is presented below.
How to add an existing field to a search page of a
different component
Skip to end of metadata
Request Description
When searching for accounts we f.i. can't search for their Sales Area Data. But let's say we only want to display accounts
that have a certain Sales Office. This guide explains how to add a field from one component (Sales) into a search of another
(Account Search). Of course the data has to be related -> check the GENIL Model Browser.
Step by Step
1. Get technical data of the Account Search
Log in to the Web UI and navigate to the Account Management. Under Search, click on Accounts. Now click in any input
field and press F2 to get the technical data. So we write down:
Component: BP_HEAD_SEARCH
View: MainSearch
Context Node: SEARCH
Role Key (Found): ZSALES
Component: BP_SALES
View: CorpAccountOrgEF
Context Node: BUILRESORG
Attribute: STRUCT.SALES_OFFICE
Open the above mentioned Enhancement Spot and go to tab Enh. Spot Element Definitions. Open the search
extension BAdI, right click on Implementation and choose Create Implementation. You will get a window showing all existing
implementations. Click on New (empty paper icon). Follow the instructions to create the implementation.
Open the newly created Enhancement Implementation. In tab Enh. Implementation Elements expand your BAdI and double
click on Implementing Class. If a class has not yet been created, create one.
Now we reached the programming part. Open your Implementing Class and the method
IF_EX_CRM_BUPA_IL_SEARCH_EXT~SEARCH_CRITERIA_INITIAL. This method should check if there are relevant
search criteria for this implementation. In our case we check if the Sales Office has been filled:
data: ls_bupa_header_search type crmt_bupa_il_header_search.
endif.
Now open the actual search method IF_EX_CRM_BUPA_IL_SEARCH_EXT~SEARCH_PARTNERS. This method either
gets the business partner that were found so far or nothing (parameter CT_PARTNER_KEYS). In the second case, this
method has to search for all partners and return the ones that have the searched Sales Office. The code I'm going to post is
just an example. There are maybe better ways to do it.
Data definitions:
data: ls_bupa_header_search type crmt_bupa_il_header_search, " account search structure
rt_bu_type type range of but000-type, " partner category range table for sel
rs_bu_type like line of rt_bu_type, " structure for partner category range
cv_category_filtered = abap_true.
rs_bu_type-sign = 'I'.
rs_bu_type-option = 'EQ'.
if is_category-organizations = abap_true.
rs_bu_type-low = '2'.
endif.
if is_category-persons = abap_true.
rs_bu_type-low = '1'.
endif.
if is_category-groups = abap_true.
rs_bu_type-low = '3'.
endif.
endif.
lv_index = sy-tabix.
clear: ls_partner_crm, ls_partner_sales, lv_guid.
if sy-subrc = 0.
if ls_bupa_header_search-zzsales_office cs '*'.
in ls_bupa_header_search-zzsales_office
with '%'.
else.
endif.
if sy-subrc <> 0.
endif.
else.
"...if not existing, remove partner (no sales data exist for partner)
raise no_partners_found.
endif.
NOW we can search for the Sales Office. But... only for its object key. Wouldn't a picklist be much better? Of course it
would. Let's do it.
Data defintions:
DATA: lt_ddlb TYPE bsp_wd_dropdown_table, " drop down table type of method
lt_ddlb_opt TYPE crmt_thtmlb_search_ddlb_nvp, " drop down table type of field ddlb
RECEIVING
rt_result = rt_result.
FROM crmmspl_bp_l0011
EXPORTING
is_sales_area = ls_sales_area
RECEIVING
rt_value = lt_ddlb
EXCEPTIONS
error_occurred = 1
OTHERS = 2.
IF sy-subrc = 0.
lv_sales_office = ls_ddlb-key.
EXPORTING
is_sales_area = ls_sales_area
iv_sales_office = lv_sales_office
RECEIVING
rt_value = lt_ddlb_group
EXCEPTIONS
error_occurred = 1
OTHERS = 2.
IF sy-subrc = 0.
ENDLOOP.
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
lv_operator = 'EQ'.
CASE <rs_result>-field.
WHEN 'ZZSALES_OFFICE'.
<rs_result>-ddlb_options = lt_ddlb_opt.
<rs_result>-operators = lt_operators.
WHEN 'ZZSALES_GROUP'.
SORT lt_ddlb_opt_group BY value.
<rs_result>-ddlb_options = lt_ddlb_opt_group.
<rs_result>-operators = lt_operators.
WHEN OTHERS.
ENDCASE.
ENDLOOP.
more by this author
share 0
share 0
tweet
share 0
Follow
A very good new functionality in my opinion released with SPS05 of SolMan 7.1 is the possibility to configure
in IMG the Partner functions to be displayed in the Details assignment block of the web client UI, per
transaction type. My example is related to ChaRM, but the functionality is valid for ITSM as well.
In one of my ChaRM projects last year I used Solution Manager 7.1 with SPS 04 and then upgraded this year
to SPS 07, some months after golive. In SP4 I had to create different transaction types based o the standard and
for each of them I had to create a different version of the web client UI. I also had to define new partner
functions besides the existing ones. The hard work began when I started to define these new web client screens
and its new partner functions. When you create a new partner function in IMG activity Partner Functions (view
COMV_PARTNER_FCT) , you select the function category and the relationship category, as in the figure
below.
But then, to make the partner function available in the web client UI before SP05, I had to find out which field
of the object BPARTNERSET could be used that corresponded to the partner function category selected. Each
BPARTNERSET field has a corresponding generic interaction layer, and for some partner functions the value
for the Request for Change is different for the value defined for Change Documents. It can be seen looking
into the classes that implement RfC and Change Documents.
From SP5 on, instead of trying to find out which BOL Object Relation Name was assigned to each field in the
web client screen looking deeply into the ChaRM Web Client classes, this new IMG activity allows you to see
how the assignment is done and change it the way you want. It’s also possible to select which type of Search
Help you need for that field, if you want to select partners of type Person or Org Unit and if they must be
searched in Business Partner function Employee, Sold-to-Party or Contact Person. This IMG activity saves
data in table AIC_PARTNER_FCT, Business Partner User Interface Control.
The only thing I did not really like is the fact that possible values of field Role Type (PARTNER_FCT_TYPE)
are fixed in domain AIC_CRM_PARTNER_FCT_TYPE_D, Semantical Definition of CRM Business Partner
Function. I don’t like fixed values, makes me think that I cannot adapt to the customers needs, and that
happens very, very often, even if SAP recommends not to do many things out of standard since the standard
was configured based on “most of the customers requests and on ITIL Best practices”. Each customer has its
own needs. Who implemented ChaRM in many different customers in the last 8 years knows that. I didn’t go
deep into this subject to understand why this field needs to have a fixed list of values, and cannot be
customized, but there must be a reason for that.
If you created the Z transaction types in SP05 or later versions, when you copied the standard transaction types
this table was also copied, so you just need to adjust your Z entries and include new partner functions. But in
case your transaction types are not included in this table yet, create new entries and use the standard entries as
a template. In my case they didn’t exist because the Z transaction types were created in SP4 before the
upgrade, so I had to create all the entries for all my Z transaction types in order to start using this good
functionality and keep the customer updated.
For each transaction type you will define the partner functions you want to display in Details assignment block
of the web client UI, an order, the role type, the Object Relation name, which is related to the role type, and the
Search help you want for that partner function field. You can decide if you will search for employee business
partners, sold-to-party business partner or Org Unit business partners. This Search Help option was also a very
interesting functionality added with this IMG activitiy. Now we can select which kind of search we want.
Select the configuration you want to change and look for the partner fields according to the configuration you
have done in the IMG activity of Step 1.
Click “Show Available fields” to open the list of fields you can use. Look for the fields below
BTPARTNERSET. Click “Show Technical Details” to make your life easier. Instead of having to look for
available fields such as EMP_RESP_NAME, SERVICE_UNIT_NAME etc as before, you will look for
/AICRM/HEADER_FCT_nn.
Add the partner fields to your UI according to your configuration. If necessary, change the labels to have the
correct description of your partner functions.
When you open a document, method READ_UI_FIELDS reads the table AIC_PARTNER_FCT to get the
partner functions that must be displayed and their corresponding order for the transaction type. With that
information, the business partners are moved to the correct UI fields depending on their partner function.
Hello Experts!
Hopefully one of you will have an answer to this. My client is on 7.1 SP10.
I created two custom partner functions (e.g. CRM and Technical Coordinator) and added both fields to the
Details assignment block on ZMCR. Both are manually entered at the beginning of ZMCR (there is no access
sequence). However, when CRM is entered, Technical Coordinator automatically changes to the value in
CRM. And when Technical Coordinator is updated, CRM changes to what Technical Coordinator was
changed to. The partners are acting like they are the same field and change at the same time. They should act
independently of each other. What am I missing to make the fields independent?
Here's my configuration...
Partner Functions created...
Partner Determination. Both partners were assigned to ZMCR, ZMHF, ZMMJ, ZMAD, and ZMTM. Only
ZMCR is shown here. No access sequence is assigned in ZMCR...
The fields added to the UI availabillity on the Business Partner User Interface control screen for all 5
transaction types.
I did not assign an Object Relation Name so the system would default to use the standard methods for the Role
Type. Both fields are also assigned to different Role Types...
Added the new Partners to the UI in the Details assignment block...
The new CRM partner was assigned to field //BTPARTNERSET//AICRM/HEADER_FCT_06 and the Tech
Coordinator Partner was assigned to //BTPARTNERSET//AICRM/HEADER_FCT_10.
In SPRO's Make Settings for Change Transaction Types, here are some of the tabs...
Here are no settings in Specify Partner Assignment...
This shows the same Object Relation Names as on the prior screen shot...
I'm puzzled. The fields do not appear to be linked, but they are acting linked in the UI.
I'm going to debug the methods to try to track the cause down while I wait for a response from one of the
experts.
Thanks in advance for your help!
Tags:
solutionmanager71
solution_manager_7.1
itsm
charm
sap_solution_manager
solman_7_1
solman_7.1
solman_71
solution_manager7.1
solution_manager_71
Robyn Osby
March 05, 2015 at 17:37 PM
0 Likes
Correct Answer
I found the answer to my question while debugging the standard methods that assigned to the fields in tcode
BSP_WD_CMPWB.
Since I didn't enter an specific Object Relation Name, the system defaulted the value to the same value for both
Partner fields (shown here in debug)...
To correct that, I entered standard values that were not in use by the other partners...
The fields are now working independently in the UI.
2View this answer in context
Not what you were looking for? View more on this topic or Ask a question
1 replies
Correct Answer
I found the answer to my question while debugging the standard methods that assigned to the fields in tcode
BSP_WD_CMPWB.
Since I didn't enter an specific Object Relation Name, the system defaulted the value to the same value for both
Partner fields (shown here in debug)...
To correct that, I entered standard values that were not in use by the other partners...
Fellow Members,
I am trying to add new partner to my Partner Determination Procedure. I have created them in
Partner Determination procedure as seen below and also have made the required settings for
partner functions in Customizing under SAP Solution Manager -> Capabilities -> Change
Management ->
Standard Configuration -> Transaction Types > Partner Schema.
Now I am in "Specify Partner Function Display in Transaction" step
Here I do not see my Z Partner Functions in the Dropdown of "Role" column. Only the standard
partners are displayed.
Any Clues why is like this? Where do I add "Role Type" for my Z Partner Functions?
Regards,
Vivek
Tags:
sap_solution_manager
Vivek Hegde
July 19, 2013 at 11:40 AM
0 Likes
Correct Answer
Hi Vivek,
you won't see your partner function in this list. This list of role types is fixed in domain
AIC_CRM_PARTNER_FCT_TYPE_D, Semantical Definition of CRM Business Partner Function,as
shown below. You need to select one of the existing role types and assign it to your new partner function.
Your partner function will be in field Function only.
Best regards,
Raquel
Helpful Answer
by
Joyca Vervinckt
Not what you were looking for? View more on this topic or Ask a question
4 replies
Correct Answer
Hi Vivek,
you won't see your partner function in this list. This list of role types is fixed in domain
AIC_CRM_PARTNER_FCT_TYPE_D, Semantical Definition of CRM Business Partner Function, as
shown below. You need to select one of the existing role types and assign it to your new partner function.
Your partner function will be in field Function only.
Best regards,
Raquel
1likes
Helpful Answer
Hi,
I also did it like that when I was adding extra partner functions, I chose one of the existing roles that
are quite general, like Contact Person or Message Processor.
As long as you have entered your Z-partner in the Function field, as Raquel indicated, it will be fine.
Same thing for the "Object Relation Name" field, I copied one from the other existing partner
functions.
I'm not sure what effect those two fields (Role Type and Object Relation Name) have, but I haven't
noticed anything about them (yet).
Kind regards,
Joyca
1 likes
Thanks Joyca, I am able to use the existing Role Types; as you pointed out, even I do not think they
have any effect anywhere.
Thanks Again,
Vivek
0 likes