CRM and CX Blogs by SAP
Stay up-to-date on the latest developments and product news about intelligent customer experience and CRM technologies through blog posts from SAP experts.
cancel
Showing results for 
Search instead for 
Did you mean: 
JerryWang
Advisor
Advisor
0 Kudos

For a complete list of all my blogs regarding content management, please see here.


When I am creating attachment for my business object via code provided in solution:

  ls_prop-name = 'DESCRIPTION'.
ls_prop-value = 'created by Tool'.
APPEND ls_prop TO lt_prop.

ls_prop-name = 'CREATED_BY'.
ls_prop-value = XXX - some one else other than sy-uname
APPEND ls_prop TO lt_prop.

CALL METHOD cl_crm_documents=>create_with_table
EXPORTING
business_object = ls_bo
properties = lt_pro
properties_attr = lt_properties_attr
file_access_info = lt_file_info
file_content_binary = lt_file_content
raw_mode = 'X'
IMPORTING
loio = ls_loio
phio = ls_phio
error = ls_error.



I meet with the error below: Characteristic of class CRM_L_DOC is not valid



I debugged a little and found it is caused because the content management code regards "CREATED_BY" field as read only ( protected field ) if internal mode is inactive.




I use where use list on the field internal_mode and found the FM below could activate internal mode with 02 passed into.




After I call that FM in my program, the error is gone and attachment could be created. Unfortunately, I still could not specify the created_by field, I find it is always filled as sy-uname in line 298.