天天看點

SAP document builder一些常見問題的解答

如果要想把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' ).           

本文來自雲栖社群合作夥伴“汪子熙”,了解相關資訊可以關注微信公衆号"汪子熙"。