Chinaunix首页 | 论坛 | 博客
  • 博客访问: 706889
  • 博文数量: 145
  • 博客积分: 3446
  • 博客等级: 中校
  • 技术积分: 1567
  • 用 户 组: 普通用户
  • 注册时间: 2006-08-30 13:58
文章分类

全部博文(145)

文章存档

2021年(1)

2020年(1)

2019年(1)

2018年(6)

2017年(1)

2016年(10)

2015年(12)

2014年(10)

2013年(15)

2012年(33)

2011年(21)

2010年(9)

2009年(18)

2008年(2)

2006年(5)

我的朋友

分类: Web开发

2013-06-13 16:14:24

  SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L1S31 { font-style: italic; color: #808080; } .L1S32 { color: #3399FF; } .L1S33 { color: #4DA619; } .L1S52 { color: #0000FF; } FUNCTION zfanz_svy_sum.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     VALUE(IV_GUID) TYPE  CRMT_OBJECT_GUID
*"  EXPORTING
*"     REFERENCE(EV_VALUE) TYPE  DEC8_2
*"----------------------------------------------------------------------
************************************************************************
** Date: 12-Jun-2013        12-11878196         Createdby: ZA14366
** Descr: Summary value of survey answer
**----------------------------------------------------------------------
*
  DATA:lr_survey  TYPE REF TO cl_crm_svy_survey_texts .
*    ls_all_values TYPE  survy_t_all_values ,
*     wa_ls_all_values LIKE LINE OF ls_all_values,
*     lt_texts TYPE crm_svy_api_survey_text_t,
*     wa_texts LIKE LINE OF lt_texts.

  DATA: t_survey_ui TYPE crmt_survey_ui_tab.
  DATA: wa_survey_ui TYPE LINE OF crmt_survey_ui_tab.
  DATA: t_dom_tree TYPE survy_t_dom_tree.
  DATA: wa_dom_tree TYPE survy_s_dom_tree.

  DATA: gr_dom TYPE REF TO cl_crm_svy_dom.
  DATA: survey_xml TYPE xstring.
  DATA: t_sd_xml TYPE crm_svy_db_sd.
  DATA: t_error  TYPE  svydb_error.

  DATA: lr_survey_value   TYPE REF TO cl_crm_svy_values_define.
  DATA: lt_svyvalue TYPE survy_t_all_values,
        lv_svyvalue LIKE LINE OF lt_svyvalue.

* 1. GET SUV BASIC INFO
  CLEAR t_survey_ui.
  CALL FUNCTION 'CRM_SURVEY_DATA_GET'
    EXPORTING
      iv_object_kind = 'A'
      iv_object_guid = iv_guid
    IMPORTING
      et_survey_ui   = t_survey_ui
    EXCEPTIONS
      error_occurred = 1
      OTHERS         = 2.

  DELETE t_survey_ui WHERE valueguid IS INITIAL.
  READ TABLE t_survey_ui INTO wa_survey_ui INDEX 1.

  IF sy-subrc = 0.
*
**2. get answer value

    CREATE OBJECT lr_survey_value
      EXPORTING
        i_internal_values_xml_hex = wa_survey_ui-valuexml
      EXCEPTIONS
        error_in_generation       = 1
        error_in_parsing          = 2
        error_in_transformation   = 3
        OTHERS                    = 99.
    IF sy-subrc = 0.
      CALL METHOD lr_survey_value->values_get_all
        IMPORTING
          et_all_values = lt_svyvalue.
    ENDIF.

**********************
*3. get survy ratting
*
* get XML
    CALL FUNCTION 'CRM_SVY_DB_SD_READ_SINGLE'
      EXPORTING
        surveyid      = wa_survey_ui-surveyid
        surveyversion = wa_survey_ui-surveyversion
        language      = sy-langu
      IMPORTING
        description   = t_sd_xml
        error         = t_error.
    IF NOT t_error IS INITIAL.
      EXIT.
    ENDIF.
*get dom tree
    CREATE OBJECT gr_dom
      EXPORTING
        i_application_id = wa_survey_ui-applicationid
        i_survey_id      = wa_survey_ui-surveyid.
*
    CALL METHOD gr_dom->if_crm_survey_dom~create_survey_dom
      EXPORTING
        i_xml_xstring    = t_sd_xml-xml
      EXCEPTIONS
        error_in_parsing = 1
        OTHERS           = 2.

    IF sy-subrc <> 0.
      CHECK sy-subrc = 0.
    ENDIF.
    CALL METHOD gr_dom->if_crm_survey_editor~get_tree
      IMPORTING
        e_tree_tab = t_dom_tree.

***************************************

* 4.
    LOOP AT lt_svyvalue INTO lv_svyvalue.
      CLEAR wa_dom_tree.
      READ TABLE t_dom_tree INTO wa_dom_tree WITH KEY text = lv_svyvalue-value.
      IF sy-subrc = 0.
        ev_value = ev_value + wa_dom_tree-rating.
      ENDIF.
    ENDLOOP.

  ENDIF.

*
*get XML
*  select single *
*  into corresponding fields of  lv_survey
*      from
*    CRM_SVY_DB_SD "crm_svy_db_svs
*   where      SURVEYID = WA_survey_ui-surveyid and
*  SURVEYVERSION =    WA_survey_ui-surveyversion  and
*        LANGUAGE = 'E'.


ENDFUNCTION.
阅读(1218) | 评论(1) | 转发(0) |
0

上一篇:RH_STRUC_GET

下一篇:常用函数

给主人留下些什么吧!~~