on 07-08-2014 10:24 AM
Hi,
we have setup Desktop Connection for CRM properly.
But we have the requirement to make accounts in Outlook readonly. User should only be able to create/change contacts, appointments and tasks in Outlook.
In the CRM OutlookBridge Extensibility Guide exactly this requirement is stated with following example:
*************
Make an Object Type Read-Only
1. Open customization.xml file.
2. Locate the type you want to make read-only.
3. Add security/modify_filter tag with false content inside under the type tag.
*************
I have updated customization.xml as stated above and created and deployed new Customization Package.
But accounts still remain editable in Outlook.
I also tried to mark all account fields as readonly but email/phone/fax and URL remain editable.
Any advice?
Danny
Hi Danny,
I can confirm Antonios prosal with DCN SP3. Please note that there are also additional options within the security/modifiy_filter tag. If you also want to disable creation and deletion on the crm server the tag-definition looks as the following:
<security>
<modify_filter>false</modify_filter>
<delete_filter>false</delete_filter>
<create_filter>false</create_filter>
</security>
Regards
Michael
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Michael,
I upgraded to SP4 and it seems that now this is controlled by new functions in the security tab:
<modify_filter_fn handler="handlers.contactperson_modify_filter_fn"/> and
<modify_filter_fn handler="handlers.accountmain_modify_filter_fn"/>
I included the modify_filter instructions after the function in the security tab like this
<security>
<modify_filter_fn handler="handlers.contactperson_modify_filter_fn"/>
<modify_filter>false</modify_filter>
<delete_filter>false</delete_filter>
<create_filter>false</create_filter>
</security>
but when the new packed is downloaded I get an error saying that is not correct. So I commented the new function
<modify_filter_fn handler="handlers.contactperson_modify_filter_fn"/>
and left the old lines and it works. I know that this is just a workaround, but I didn't find any documentation about it.
Could you please explain the new way to set it?
Thanks
Antonio
Hello Antonio,
indeed there have been some changes with package in SP04 and also in the maintenace of the package. Adjustments of packages should be done using invisible studio which is separate client software which can be downloaded from sap marketplace. See also note 1926916, there is separate statement for SP04. In your particular issue, you have to remove the <modfiy_filter_fn> tag. Either you use this tag, then the corresponding java script function is executed to determine whether the entity is changeable or not, or you use <modfiy_fitler> tag where you can set some kind of "hardcoded value", You cannot use both tags. Properties settings are described in documentation of invislbe studio itself. If you use invisble studio for this settings then already on the UI it is preventet that you can set both tags, so the error will not occur in first place.
Regards
Michael
Hi Danny,
I set up the scenario you mentioned: Accounts read only but Contact Persons can be modified and created in Outlook. First I tried adding the read_only attribute to all account fields, but telephone, email, fax, and URL (+ notes and Attachment) remain editable. These fields are associated to widgets and I have not been able to add the read_only attribute, always I got an error in the package syncronization.
So I changed the strategy and I tried to make the record type read-only adding the security/modify_filter tag and it works.
I used DCN SP3.
Best regards,
Antonio
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hey Danny,
I would propose a litte different way:
Why not set the accounts readonly in backend already?
You can use a BAdI to influence the data which is requested by the client before it is delivered to Outlook.
I think that's better solution to forbid every kind of editing).
So...
... create an implementation for Enhancement Spot /CRMGWS/GROUPWARE_SYNC. This enhancement spot uses interface /CRMGWS/IF_GROUPWARE_SNC_QUERY. This interface contains a method named RESULT_PROCESSING. With this method you can influence data right before it is send out to Outlook.
You can change values like that:
DATA lt_select TYPE string_table.
FIELD-SYMBOLS <fs_accountmain> TYPE /crmgws/accountmain.
FIELD-SYMBOLS <fs_account_tab> TYPE table.
"Check for correct entity type
IF NOT iv_entity_name = 'AccountMain'.
RETURN.
ENDIF.
"Leave when EDITBALE flag is not requested
lt_select = io_tech_request_context->get_select_with_mandtry_fields( ).
READ TABLE lt_select WITH KEY table_line = 'EDITABLE' TRANSPORTING NO FIELDS.
IF NOT sy-subrc = 0.
RETURN.
ENDIF.
"Change EDITABLE flag for all accounts
ASSIGN cr_entityset->* TO <fs_account_tab>.
LOOP AT <fs_account_tab> ASSIGNING <fs_accountmain>.
<fs_accountmain>-editable = space.
ENDLOOP.
Hope that helps!
BR,
Alex
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Gregor,
hm, that's... let's say interesting - as I have tried it in our internal system.
So let's see if we can find the issue...
For further analyis it helps for sure to know if the BAdI is called in general. Thanks for checking that...
Best regards,
Alex
Dear Alex,
I've checked that the BAdI is called. Also I've used "Synchronize All Change"
There I found out that the editable attribute was already space. But I think I found in the customization.xml that the field Editable is set by default to true. So I changed it to:
<boolean id="Editable">
<default_value>false</default_value>
</boolean>
The interresting thing is, this does only affect freshly synchronized accounts. Only when I remove the Customization Package via the Options Menu and re-sync from scratch the Accounts are not editable anymore. Unfortunately that results in a follow up problem that the linked Contacts that are listed in the Account can't be open via a double-click. Even the scroling when more Contacts than visible exists is disabled. Is that a bug or feature? I can open a Incident in the Service Marketplace for that.
Another option that I've tried was to add the tag security and inside of that one modify_filter with the value false to the customization.xml. As it is described in the Guide "InvisibleCRM OutlookBridge Extensibility Guide.pdf". So this resulted in i.e. for the ContactMain:
<type id="ContactMain"
small_icon="type_image:ContactMain:16"
icon="type_image:ContactMain:24"
large_icon="type_image:ContactMain:48"
caption="#obj_contact_main"
plural_caption="#obj_contact_main_plural"
display_format=":[:(FirstName) :]:[:(LastName):]">
<security>
<modify_filter>false</modify_filter>
</security>
But with that addition I get this error in the Log:
[14-08-08 09:45:03.347936,T4264] [ERROR] [gen]: Package manager files validation failed with error :
Validation error: 'Validation error code: -1072898028; Reason: Element '{http://invisiblecrm.com/platform/extensibility/customization}db_storage'
is unexpected according to content model of parent element '{http://invisiblecrm.com/platform/extensibility/customization}type'.
Expecting: {http://invisiblecrm.com/platform/extensibility/customization}fields.
; Line: 67; Line position: 16; Source Text:
<db_storage/>; Error XPath:
/*[local-name()="metadata" and namespace-uri()="http://invisiblecrm.com/platform/extensibility/customization"]/*[local-name()="type" and
namespace-uri()="http://invisiblecrm.com/platform/extensibility/customization"][2]/*[local-name()="db_storage" and
namespace-uri()="http://invisiblecrm.com/platform/extensibility/customization"][1]' for file '\customization.xml'
Hope you can help us.
Best regards
Gregor
Dear Alex,
we try to get it working with this Backend Patch Levels:
SAPKB74007
SAPKA74007
SAPK-74007INSAPGWFND
SAPK-74009INSAPUI
SAPK-74007INPIBASIS
SAPKITLRE9
SAPKW74007
SAPK-74705INMDGFND
SAPKNA7031
SAPK-74705INSAPBSFND
SAPK-74705INWEBCUIF
SAPKU71305
SAPK-70004INCRMGWS
SAPKITAB9L
The Connector is 2.0.2.148, 32bit freshly loaded from the Service Marketplace.
Best regards
Gregor
User | Count |
---|---|
5 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.