怎么阻止指定类型的SAP CRM附件被上传到服务器

怎么阻止指定类型的SAP CRM附件被上传到服务器

怎么阻止指定类型的SAP CRM附件被上传到服务器,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

要求:不允许最终用户上载大小大于给定限制(例如400KB)的附件。

解决方案:

(1) 通过SPRO->客户关系管理->基本功能->内容管理->业务加载项->

更改文件的确认

(2) 将以下源代码复制到BAdI实现。有关代码详细信息,请参阅每行的注释。

METHODif_ex_crm_documents~carry_out_action.CONSTANTS:cv_max_sizeTYPEint4VALUE409600."400KBDATA:lt_loiosTYPEskwf_ios,ls_errorTYPEskwf_error,lv_sizeTYPEsdok_fsize,lt_badiosTYPEskwf_ioerrs.READTABLEchanged_documentsASSIGNINGFIELD-SYMBOL(<first_line>)INDEX1.CHECKsy-subrc=0."Thebadiimplementationwillbecalledwheneverthereischangeonattachment(create,updateanddelete),sinceitisnecessarytofilteroutthechange"modeCHECK<first_line>-action='CREATE_DOCUMENT'.DATA(ls_bo)=VALUEsibflporb(instid=<first_line>-instidbortypeid=<first_line>-typeidborcatid=<first_line>-catidbor).DATA(ls_loios)=VALUEskwf_io(objtype=<first_line>-objtypeclass=<first_line>-classobjid=<first_line>-objid).APPENDls_loiosTOlt_loios.CALLMETHODcl_crm_documents=>get_file_infoEXPORTINGloio=ls_loiosIMPORTINGfile_size=lv_size.CHECKlv_size>=cv_max_size."SincethisBAdIimplementationcouldonlybecalledaftertheattachmentiscreated,sotechnicallyspeakingwecouldnotpreventtheattachmentcreationindeed,butcouldonlydeletetheattachmentafteritscreationCALLMETHODcl_crm_documents=>deleteEXPORTINGbusiness_object=ls_boios=lt_loiosIMPORTINGbad_ios=lt_badioserror=ls_error.COMMITWORKANDWAIT."raiseanerrormessagetopromptusertouploadtheattachmentwithsmallersizelo_service->add_message(EXPORTINGiv_msg_type='E'iv_msg_id='ZCM_JERRY_TEST'iv_msg_number='000').ENDMETHOD.

激活BAdI实现:

现在,如果上传的附件超过400KB,最终用户将在UI中看到错误消息。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注恰卡编程网行业资讯频道,感谢您对恰卡编程网的支持。

发布于 2021-12-29 23:34:12
收藏
分享
海报
0 条评论
45
上一篇:如何启用SAP CRM附件UI上的advanced按钮 下一篇:SAP CRM WebClient UI的Delta处理机制是怎样的
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码