Document flow API in SAP CRM and C4C

i042416發表於2018-03-11

Document flow API in CRM

以一個具體的例子來說明。在Appointment的Overview page上能看見一個名叫Reference的區域,這裡可以維護一些其他的業務文件的ID,這樣可以將該業務文件同當前正在編輯的Appointment關聯起來。

Document flow API in SAP CRM and C4C

我寫了一個簡單的報表來演示如何用ABAP程式碼給這個Reference區域的欄位賦值,背後用到的實際上就是CRM Document flow相關的API. 報表的原始碼在我的github上:

程式碼的核心就是使用CRM One Order的function module CRM_ORDER_MAINTAIN, 把document flow相關的資料傳入到changing引數ct_doc_flow裡。

Document flow API in SAP CRM and C4C

這個ct_doc_flow的內容生成邏輯如下。既然是Document Flow,必然涉及到兩個document,在API裡用字尾為A和B的欄位來儲存,如下圖綠色區域所示。這些欄位需要分別儲存兩個document的GUID和BOR型別。

Document flow API in SAP CRM and C4C

假設我執行report時指定的Opportunity的ID是888,那麼report成功執行後,我能在References區域看到如下的欄位。Opportunity的ID和描述資訊已經能夠正常顯示了。

Document flow API in SAP CRM and C4C

同時在Transaction History區域也能看到該關聯關係:

Document flow API in SAP CRM and C4C

Document flow API in C4C

假設我需要在Cloud Application Studio裡開發一個功能,允許客戶能夠手動將兩個Ticket關聯起來。

1. 在Ticket的BO ServiceRequest上建立一個新的action linkTicket用於實現關聯邏輯。同時建立一個新欄位用於儲存需要關聯的Ticket ID:

Document flow API in SAP CRM and C4C

通過Cloud Application Studio將這個新欄位配到UI上,同時在工具欄裡新增一個按鈕,繫結到BO的action linkTicket上。

Document flow API in SAP CRM and C4C
Document flow API in SAP CRM and C4C

Action的實現程式碼:

import ABSL; var eleBTD: elementsof ServiceRequest.BusinessTransactionDocumentReference;

eleBTD.BusinessTransactionDocumentReference.ID.content = this.refTicket;

eleBTD.BusinessTransactionDocumentReference.TypeCode = "118"; // type code of BO ServiceRequest eleBTD.BusinessTransactionDocumentRelationshipRoleCode = "2"; // Successor document this.BusinessTransactionDocumentReference.Create(eleBTD); 

2. 假設我想把Ticket 3638和Ticket 3622關聯起來,我需要開啟Ticket 3638,在新欄位Reference Ticket裡手動輸入3622,然後點選按鈕Link Ticket.

Document flow API in SAP CRM and C4C

成功執行之後,在Ticket的Document Flow tab即可看到這個關聯關係。

Document flow API in SAP CRM and C4C

要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:

Document flow API in SAP CRM and C4C
Document flow API in SAP CRM and C4C

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

相關文章