中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

使用ABAP代碼提交SAPCRMSurvey調(diào)查問卷-創(chuàng)新互聯(lián)

Jerry之前曾經(jīng)寫過兩篇關(guān)于SAP CRM Survey調(diào)查問卷的技術(shù)文章:

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名與空間、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、老城網(wǎng)站維護、網(wǎng)站推廣。
  • SAP CRM Survey調(diào)查問卷的模型設(shè)計原理解析

  • 如何使用SAP CRM Marketing Survey創(chuàng)建一個市場問卷調(diào)查

我們在瀏覽器里填寫調(diào)查問卷的內(nèi)容,點擊Save保存按鈕之后,調(diào)查問卷的結(jié)果被存儲到ABAP后臺。

使用ABAP代碼提交SAP CRM Survey調(diào)查問卷

在ABAP后臺系統(tǒng)的Survey Suite工具里,能看到用戶填寫的survey結(jié)果。

比如下圖的意思是:

問題1:你會用ABAP編程嗎?回答會的人有11個,不會的有5個。

問題2:你會用Java編程嗎?回答會的人有10個,不會的有6個。

使用ABAP代碼提交SAP CRM Survey調(diào)查問卷

現(xiàn)在我有一個需求:寫一個ABAP程序,調(diào)用SAP CRM Survey的API來提交請求。

測試程序如下:

DATA(lo_tool) = NEW zcl_crm_survey_tool( ).
lo_tool->submit( iv_question1 = 'X' iv_question2 = '' ).

執(zhí)行之后,對比上圖,會ABAP的多了1個人,不會Java的多了1個人。

使用ABAP代碼提交SAP CRM Survey調(diào)查問卷

問題的關(guān)鍵就是如何設(shè)計zcl_crm_survey_tool?

Submit的方法分4個步驟, 見下面注釋:

METHOD submit.
DATA: ret TYPE BAPIRET1.
* Step1: get Survey TemplateDATA(survey_template) = get_survey_template( ).
* Step2: create a new Survey instance guidDATA(survey_guid) = get_new_survey_instance_guid( survey_template ).
* Step3: assemble request bodydata(lv_request_body) = assemble_request_body( iv_question1 = iv_question1
iv_question2 = iv_question2
iv_guid = survey_guid ).
* Step4: Submit survey
CALL FUNCTION 'CRM_SVY_RESULT_DISPATCHER'EXPORTING
survey_data = lv_request_body
IMPORTINGreturn = ret.
WRITE:/ |result: { ret-message } | COLOR COL_NEGATIVE.
COMMIT WORK AND WAIT.
ENDMETHOD.

步驟1:

通過方法get_survey_template拿到Survey的模板代碼。

以前的文章已經(jīng)講過,Survey模板以XML的格式存儲在SAP后臺系統(tǒng),

使用ABAP代碼提交SAP CRM Survey調(diào)查問卷

然而最終用戶在瀏覽器看到的Survey是html格式的,因此中間有一個步驟通過SAP標(biāo)準(zhǔn)的XSLT將xml轉(zhuǎn)換成html,并且生成一個新的Survey實例。這一系列的動作都封裝在我寫的方法get_survey_template里面。該方法返回Survey模板的HTML源代碼,基于xml轉(zhuǎn)換而成。

使用ABAP代碼提交SAP CRM Survey調(diào)查問卷

步驟2:

方法get_new_survey_instance_guid,通過正則表達式將前一步驟生成的Survey實例的guid提取出來。因為后續(xù)步驟提交Survey結(jié)果時,需要在請求體里加入這個實例guid。

使用ABAP代碼提交SAP CRM Survey調(diào)查問卷

我采用的是正則表達式的方式解析出該guid,詳細步驟參考我的文章:使用ABAP正則表達式解析HTML標(biāo)簽

步驟3:

assemble_request_body構(gòu)造提交的請求方法體。在瀏覽器里測試發(fā)現(xiàn),如果兩個問題的答案都為是,則發(fā)送的請求體如下:

svyApplicationId=CRM_SURVEY_ACTIVITY&SurveyId=JERRY_TEST&svySurveyId=JERRY_TEST&svyVersion=0000000003&SchemaVersion=1 &svySchemaVersion=1 &svyLanguage=EN&conid=&svyValueGuid=FA163EEF573D1ED89E9D22A316FC4754&svyValueVersion=0000000001&svyMandatoryMessage=Fill all mandatory fields before saving&survey/result/question1/answer1_placeholder=answer1_yes&survey/result/question2/answer2_placeholder=answer2_yes&onInputProcessing=SUBMIT

其中藍色的guid則是步驟2提取出的Survey實例,紅色的代表問題1的答案為是,紫色代表問題2的回答為是。

使用ABAP代碼提交SAP CRM Survey調(diào)查問卷

這些XML的詳細原理,參考我的文章 SAP CRM Survey調(diào)查問卷的模型設(shè)計原理解析。

步驟4:

使用如下函數(shù)提交Survey。

CALL FUNCTION 'CRM_SVY_RESULT_DISPATCHER'EXPORTING
survey_data = lv_request_body
IMPORTINGreturn = ret.

要獲取更多Jerry的原創(chuàng)技術(shù)文章,請關(guān)注公眾號"汪子熙"或者掃描下面二維碼:

使用ABAP代碼提交SAP CRM Survey調(diào)查問卷

使用ABAP代碼提交SAP CRM Survey調(diào)查問卷

本文題目:使用ABAP代碼提交SAPCRMSurvey調(diào)查問卷-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://www.rwnh.cn/article24/csehje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、品牌網(wǎng)站制作電子商務(wù)、微信小程序、域名注冊、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營
隆安县| 怀柔区| 营口市| 泾源县| 当涂县| 望谟县| 沂南县| 尖扎县| 筠连县| 恩平市| 伊吾县| 乐东| 高尔夫| 屏边| 永宁县| 封开县| 什邡市| 临邑县| 九江市| 会同县| 澎湖县| 萍乡市| 龙井市| 巴东县| 河北区| 蒙阴县| 东安县| 博客| 九江市| 浦江县| 肃南| 长泰县| 武定县| 磴口县| 柳州市| 梁山县| 陆良县| 锡林郭勒盟| 宁津县| 固镇县| 安阳县|