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

i042416發表於2020-02-13

如果要想把DOCX render成PDF 格式,需要server上部署了ADS Adobe document service。用report FP_PDF_TEST_00 檢查ADS是否setup 正確 。

如果能看到下面的ADS version資訊說明已經ready。

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

下圖是一個我們系統裡SM59 指向的ADS destination

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

附件的第21頁的note有詳細的consume ADS的說明。

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

Reviewe的用途:

用SM30, 編輯這個view SWFDEVENA,

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

這裡SAP 提供了一個很靈活的框架可以讓我們把document 上發生的事件和一個workflow 繫結起來,我們可以自行開發一些workflow來響應這些事件。

SAP deliver的標準的workflow裡有和review發生互動的:

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

這個workflow只是增加了一部自動給review 發郵件提示其去review以及reviewer手動處理的流程。自動發郵件和reviewer 處理分別有SAP標準的BOR object SELFITEM和DECISION實現。

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

Navigation 失敗的問題。像此類問題我一般用debug的方式找到原因:系統去CRMC_IB_BOR_UIOB裡面找entry,

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

找不到就報CRM_UIU_CT-022的message。你打上斷點然後看SQL 語句的where條件就知道系統想找什麼樣的entry了,照著維護進去就行。

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

Due icon顯示成X:

在這個方法上設斷點,

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

然後看你係統上icon的url determine出來是怎樣的:

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

拿到這個url後到SE80, mime repository裡去看這個icon的圖片是否正確上傳了:

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

另外, 程式碼中如何提取出已審批透過的document?

能提供更細節的資訊嗎?你們希望在什麼樣的context下寫code?

如果你們寫程式碼的上下文裡能夠拿到content和document ID,可以透過下面的report 拿到文件的內容-存在ls_output-data裡面:

```ABAP

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' ).

```


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2675359/,如需轉載,請註明出處,否則將追究法律責任。

相關文章