CRM 系统 document builder一些常见问题的解答

举报
汪子熙 发表于 2022/02/21 17:15:57 2022/02/21
【摘要】 如果要想把DOCX render成PDF 格式,需要server上部署了ADS Adobe document service。用report FP_PDF_TEST_00 检查ADS是否setup 正确 。如果能看到下面的ADS version信息说明已经ready。下图是一个我们系统里SM59 指向的ADS destination 附件的第21页的note有详细的consume...

如果要想把DOCX render成PDF 格式,需要server上部署了ADS Adobe document service。用report FP_PDF_TEST_00 检查ADS是否setup 正确 。
如果能看到下面的ADS version信息说明已经ready。

下图是一个我们系统里SM59 指向的ADS destination

       附件的第21页的note有详细的consume ADS的说明。

Reviewe的用途:
用SM30, 编辑这个view SWFDEVENA,

这里SAP 提供了一个很灵活的框架可以让我们把document 上发生的事件和一个workflow 绑定起来,我们可以自行开发一些workflow来响应这些事件。

SAP deliver的标准的workflow里有和review发生交互的:

这个workflow只是增加了一部自动给review 发邮件提示其去review以及reviewer手动处理的流程。自动发邮件和reviewer 处理分别有SAP标准的BOR object SELFITEM和DECISION实现。


Navigation 失败的问题。像此类问题我一般用debug的方式找到原因:系统去CRMC_IB_BOR_UIOB里面找entry,

找不到就报CRM_UIU_CT-022的message。你打上断点然后看SQL 语句的where条件就知道系统想找什么样的entry了,照着维护进去就行。


Due icon显示成X:
在这个方法上设断点,

然后看你系统上icon的url determine出来是怎样的:

拿到这个url后到SE80, mime repository里去看这个icon的图片是否正确上传了:

另外, 代码中如何提取出已审批通过的document?
能提供更细节的信息吗?你们希望在什么样的context下写code?
如果你们写代码的上下文里能够拿到content和document ID,可以通过下面的report 拿到文档的内容-存在ls_output-data里面

PARAMETERS: content  TYPE /ipro/tdocmnt-content DEFAULT 'DLA',
            document TYPE /ipro/tdocmnt-docmnt_id.
*data: document TYPE /ipro/tdocmnt-docmnt_id value '0000000815'.

DATA:   lt_contents      TYPE /ipro/tt_contents,
        lo_content       TYPE REF TO /ipro/if_content,
        lo_doc_factory   TYPE REF TO /ipro/if_docb_factory,
        lo_document      TYPE REF TO /ipro/if_document,
        lv_content       TYPE string,
        lo_exception     TYPE REF TO /ipro/cx_serializer_failed_at,
        lv_error_text    TYPE string.

lv_content = content.

CALL FUNCTION '/IPRO/CONTENT_FACTORY'
  EXPORTING
    piv_name     = lv_content
  IMPORTING
    pet_contents = lt_contents.

READ TABLE lt_contents INTO lo_content INDEX 1.
CHECK lo_content IS BOUND.
lo_doc_factory = lo_content->get_docb_factory( ).
TRY.
    lo_document ?= lo_doc_factory->open( piv_docmnt_id = document ).
  CATCH /ipro/cx_serializer_failed_at INTO lo_exception.
    lv_error_text = lo_exception->get_name( ).
    WRITE: /,lv_error_text.
ENDTRY.

data: ls_output  TYPE /IPRO/S_OUTPUT.
WRITE sy-uzeit.
lo_document->/ipro/if_output~enable( '1' ).
ls_output = lo_document->/IPRO/IF_OUTPUT~GENERATE( '1' ).

BRF+ Interpretation模式与Generation模式的区别

在Simulation mode下测试一个ruleset时,

可以选择Simulation Mode为Interpretation Mode或者Generation Mode。

这两者的区别是,如果以Interpretation Mode运行ruleset, 则ruleset里每条rule包含的formula都会由BRF 框架的class逐一执行,

callstack如下图:

而当选择Generation mode时,因为每个BRF function都存在一个对应自动生成的ABAP class里处理该function内包含的rule.

如果选择Generation mode时,rule的执行由此generated ABAP class来完成:




function 和generated class的对应关系维护在table FDT_CC_0000里,通过function id进行查询。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。