您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么阻止SAP CRM自動(dòng)被置為傳輸狀態(tài)的行為”,在日常操作中,相信很多人在怎么阻止SAP CRM自動(dòng)被置為傳輸狀態(tài)的行為問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”怎么阻止SAP CRM自動(dòng)被置為傳輸狀態(tài)的行為”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
AG9 Service order創(chuàng)建好之后,要自動(dòng)通過(guò)middleware傳其他系統(tǒng)去,這個(gè)behavior我們現(xiàn)在記錄下來(lái)了么?知道怎么disable不?
Transaction的status profile上可以配這么一個(gè)東西:
但是我們現(xiàn)在的ZSRV上沒(méi)有配任何status profile…
line 325的function module會(huì)負(fù)責(zé)通過(guò)outbound queue往外發(fā),
只有當(dāng)line 321的IF里的三個(gè)條件同時(shí)滿足才會(huì)進(jìn)入:
條件1: IV_NO_BDOC_SEND = FALSE, AG9上這個(gè)參數(shù)用的默認(rèn)參數(shù)false,滿足
條件2: LV_SEND_BDOC = TRUE
讀這個(gè)global的internal table,如果讀不到,置為T(mén)RUE,AG9上讀不到,所以為true,這個(gè)條件也滿足了。
條件3: LV_SKIP_ASYNCRONOUS_FUNCTION = INITIAL
如果該order的狀態(tài)置為POST PROCESSING, 則該變量值為true,但是AG9上我們的status是open,所以這個(gè)條件也滿足
三個(gè)條件同時(shí)滿足,所以通過(guò)middleware里往outbound queue發(fā)數(shù)據(jù)。
如何避免這個(gè)行為?根據(jù)代碼分析,破壞IF里三個(gè)條件任意一個(gè)即可。通過(guò)debug可知破壞第二個(gè)條件最容易,我正在看相關(guān)的配置。
條件2少截一張圖:
條件2: LV_SEND_BDOC = TRUE
讀這個(gè)global的internal table,如果讀不到,置為T(mén)RUE,AG9上讀不到,所以為true,這個(gè)條件也滿足了。
有兩種solution disable這個(gè)行為:
(1) CRM_ORDER_SAVE call line 56行的CRM_ORDER_SAVE_OW時(shí),IV_NO_BDOC_SEND沒(méi)有指定value,所以傳進(jìn)來(lái)的是默認(rèn)值A(chǔ)BAP_FALSE,
這里我們強(qiáng)制改成TRUE, 就會(huì)破壞要上傳的那三個(gè)條件的第一個(gè),導(dǎo)致不會(huì)進(jìn)入上傳的分支。
(2) 如果只是想disable 某種特定transaction type的document,call 這個(gè)function module:
CRM_ORDER_SET_NO_BDOC_SEND_OW, 輸入order的guid,會(huì)添加一行entry到GT_NO_BDOC_SEND里,
這樣會(huì)破壞IF判斷里中間那個(gè)條件,也能實(shí)現(xiàn)不上傳的目的。
到此,關(guān)于“怎么阻止SAP CRM自動(dòng)被置為傳輸狀態(tài)的行為”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。