BADI CRM_DOC_AUTHORITY在验证CRM 702上的文件大小时不起作用

2020-09-26 18:58发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

为了验证在CRM内容管理中上载的文档的大小,我已按照以下注释#720434 。 在所有4次创建新文档附件的过程中,该方法均被调用4次,我清除了IOS_AUTH表并在IOS_NOT_AUTH中插入了数据,但是未显示任何验证或错误消息,用户可以成功上传大小为他自己的附件 想要。 还有文档指出,该解决方案在CRM 500之前有效。在放置断点并平稳运行并继续进行应如何进行操作时调用badi,但是确实需要这样做。 请帮助下面的代码。

BADI实施代码:

方法IF_EX_CRM_DOC_AUTHORITY〜AUTHORITY_CHECK。
   数据:SKWF_IO的LT_PHIO类型标准表,
          ls_PHIO TYPE SKWF_IO,
          LV_SIZE类型SDOK_FSIZE,
          LS_ERROR TYPE SKWF_IOERR,
          LV_ERROR TYPE BOOLEAN,
          LS_AUTH TYPE SKWF_IO


         。
 *如果LV_CHECK =``
 *
 *  万一。
   清除:LV_ERROR,LS_ERROR,LV_SIZE,ls_PHIO。
   如果ACTIVITY ='01'或ACTIVITY ='04'或ACTIVITY ='06'。
     LT_PHIO [] = IOS []。
     将LT_PHIO循环到ls_PHIO中。
       如果ls_PHIO-OBJID不是INITIAL。
         如果SY-TVAR0 NE'X'。
           如果ls_PHIO-OBJTYPE ='L'。
             SY-TVAR0 ='X'。
             CL_CRM_DOCUMENTS => GET_FILE_INFO(
             出口
               LOIO = ls_PHIO"逻辑信息对象(LOIO)的ID
 * PHIO =" PHIO ID
             输入
 * FILE_NAME ="物理文档的相对存储位置
 * MIMETYPE =" HTML内容类型
 * FILE_TYPE ="数据传输类型
               FILE_SIZE = LV_SIZE"文件大小(以字节为单位)
 * BAD_IOS ="带有KW对象错误对象的表
 * DOC_TYPE =" CRM内容管理:MIME类型的明文
               )。
             SY-TVAR0 =''。
             如果LV_SIZE不是INITIAL。
               CHECK_SIZE(
               出口
                 IM_SIZE = LV_SIZE"文件大小(以字节为单位)
               输入
                 EX_ERROR = LV_ERROR"错误
                 )。
               如果LV_ERROR不是INITIAL。
                 使用KEY OBJID = ls_PHIO-OBJID将表IOS_AUTH读入LS_AUTH。
                 如果SY-SUBRC是初始的。
 *将LS_AUTH移动到LS_ERROR。
                   LS_ERROR-ID ='ZBDA'。
                   LS_ERROR-TYPE ='E'。
                   LS_ERROR-NO ='016'。
 * LS_ERROR-CLASS = ls_PHIO-CLASS。
 * LS_ERROR-OBJID = ls_PHIO-OBJID。
                   将LS_ERROR附加到IOS_NOT_AUTH。
                   在OBJID = ls_PHIO-OBJID的地方删除IOS_AUTH。
                 万一。
                 清除:LS_ERROR,LS_AUTH。
               万一。
             万一。
           其他。
             SY-TVAR0 ='X'。
             CL_CRM_DOCUMENTS => GET_FILE_INFO(
             出口
 * LOIO = ls_PHIO"逻辑信息对象(LOIO)的ID
               PHIO = ls_PHIO" PHIO ID
             输入
 * FILE_NAME ="物理文档的相对存储位置
 * MIMETYPE =" HTML内容类型
 * FILE_TYPE ="数据传输类型
               FILE_SIZE = LV_SIZE"文件大小(以字节为单位)
 * BAD_IOS ="带有KW对象错误对象的表
 * DOC_TYPE =" CRM内容管理:MIME类型的明文
               )。
             SY-TVAR0 =''。
             如果LV_SIZE不是INITIAL。
               CHECK_SIZE(
               出口
                 IM_SIZE = LV_SIZE"文件大小(以字节为单位)
               输入
                 EX_ERROR = LV_ERROR"错误
                 )。
               如果LV_ERROR不是INITIAL。
                 使用KEY OBJID = ls_PHIO-OBJID将表IOS_AUTH读入LS_AUTH。
                 如果SY-SUBRC是初始的。
                   将LS_AUTH移动到LS_ERROR。
                   LS_ERROR-ID ='ZBDA'。
                   LS_ERROR-TYPE ='E'。
                   LS_ERROR-NO ='016'。
                   将LS_ERROR附加到IOS_NOT_AUTH。
                   在OBJID = ls_PHIO-OBJID的地方删除IOS_AUTH。
                 万一。
                 清除:LS_ERROR,LS_AUTH。
               万一。
             万一。
           万一。
         万一。
       万一。
     结局。


   万一。


 方法。
 

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

为了验证在CRM内容管理中上载的文档的大小,我已按照以下注释#720434 。 在所有4次创建新文档附件的过程中,该方法均被调用4次,我清除了IOS_AUTH表并在IOS_NOT_AUTH中插入了数据,但是未显示任何验证或错误消息,用户可以成功上传大小为他自己的附件 想要。 还有文档指出,该解决方案在CRM 500之前有效。在放置断点并平稳运行并继续进行应如何进行操作时调用badi,但是确实需要这样做。 请帮助下面的代码。

BADI实施代码:

方法IF_EX_CRM_DOC_AUTHORITY〜AUTHORITY_CHECK。
   数据:SKWF_IO的LT_PHIO类型标准表,
          ls_PHIO TYPE SKWF_IO,
          LV_SIZE类型SDOK_FSIZE,
          LS_ERROR TYPE SKWF_IOERR,
          LV_ERROR TYPE BOOLEAN,
          LS_AUTH TYPE SKWF_IO


         。
 *如果LV_CHECK =``
 *
 *  万一。
   清除:LV_ERROR,LS_ERROR,LV_SIZE,ls_PHIO。
   如果ACTIVITY ='01'或ACTIVITY ='04'或ACTIVITY ='06'。
     LT_PHIO [] = IOS []。
     将LT_PHIO循环到ls_PHIO中。
       如果ls_PHIO-OBJID不是INITIAL。
         如果SY-TVAR0 NE'X'。
           如果ls_PHIO-OBJTYPE ='L'。
             SY-TVAR0 ='X'。
             CL_CRM_DOCUMENTS => GET_FILE_INFO(
             出口
               LOIO = ls_PHIO"逻辑信息对象(LOIO)的ID
 * PHIO =" PHIO ID
             输入
 * FILE_NAME ="物理文档的相对存储位置
 * MIMETYPE =" HTML内容类型
 * FILE_TYPE ="数据传输类型
               FILE_SIZE = LV_SIZE"文件大小(以字节为单位)
 * BAD_IOS ="带有KW对象错误对象的表
 * DOC_TYPE =" CRM内容管理:MIME类型的明文
               )。
             SY-TVAR0 =''。
             如果LV_SIZE不是INITIAL。
               CHECK_SIZE(
               出口
                 IM_SIZE = LV_SIZE"文件大小(以字节为单位)
               输入
                 EX_ERROR = LV_ERROR"错误
                 )。
               如果LV_ERROR不是INITIAL。
                 使用KEY OBJID = ls_PHIO-OBJID将表IOS_AUTH读入LS_AUTH。
                 如果SY-SUBRC是初始的。
 *将LS_AUTH移动到LS_ERROR。
                   LS_ERROR-ID ='ZBDA'。
                   LS_ERROR-TYPE ='E'。
                   LS_ERROR-NO ='016'。
 * LS_ERROR-CLASS = ls_PHIO-CLASS。
 * LS_ERROR-OBJID = ls_PHIO-OBJID。
                   将LS_ERROR附加到IOS_NOT_AUTH。
                   在OBJID = ls_PHIO-OBJID的地方删除IOS_AUTH。
                 万一。
                 清除:LS_ERROR,LS_AUTH。
               万一。
             万一。
           其他。
             SY-TVAR0 ='X'。
             CL_CRM_DOCUMENTS => GET_FILE_INFO(
             出口
 * LOIO = ls_PHIO"逻辑信息对象(LOIO)的ID
               PHIO = ls_PHIO" PHIO ID
             输入
 * FILE_NAME ="物理文档的相对存储位置
 * MIMETYPE =" HTML内容类型
 * FILE_TYPE ="数据传输类型
               FILE_SIZE = LV_SIZE"文件大小(以字节为单位)
 * BAD_IOS ="带有KW对象错误对象的表
 * DOC_TYPE =" CRM内容管理:MIME类型的明文
               )。
             SY-TVAR0 =''。
             如果LV_SIZE不是INITIAL。
               CHECK_SIZE(
               出口
                 IM_SIZE = LV_SIZE"文件大小(以字节为单位)
               输入
                 EX_ERROR = LV_ERROR"错误
                 )。
               如果LV_ERROR不是INITIAL。
                 使用KEY OBJID = ls_PHIO-OBJID将表IOS_AUTH读入LS_AUTH。
                 如果SY-SUBRC是初始的。
                   将LS_AUTH移动到LS_ERROR。
                   LS_ERROR-ID ='ZBDA'。
                   LS_ERROR-TYPE ='E'。
                   LS_ERROR-NO ='016'。
                   将LS_ERROR附加到IOS_NOT_AUTH。
                   在OBJID = ls_PHIO-OBJID的地方删除IOS_AUTH。
                 万一。
                 清除:LS_ERROR,LS_AUTH。
               万一。
             万一。
           万一。
         万一。
       万一。
     结局。


   万一。


 方法。
 
付费偷看设置
发送
2条回答
空代码
1楼-- · 2020-09-26 19:45

我没有得到任何答案。 如果是这样,请在这里发布您的答案。.预先感谢

追夢秋陽
2楼-- · 2020-09-26 20:04

您好,您是否已获得答案,如果是,请在此处发布您的答案,我也有同样的问题,谢谢 前进...

一周热门 更多>