SAP CRM One Order Text customizing 的读取代码

*&---------------------------------------------------------------------*
*& Report  ZNOTE_GET_CUSTOMIZING
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT znote_get_all_customizing.

                                                            "OPP00001
DATA: lt_transaction_proc     TYPE STANDARD TABLE OF crmc_proc_type.
DATA: ls_text               TYPE comc_text_pd.
DATA: lt_text_desc        TYPE STANDARD TABLE OF ttxit,
      LT_TEXT_cust TYPE STANDARD TABLE OF comc_text_pd,
      lt_cust_result      TYPE STANDARD TABLE OF CRMT_ODATA_OPPT_TEXT_CONFIGURA,
      ls_cust_result LIKE LINE OF lt_cust_result,
      lv_start TYPE i,
      lv_end TYPE i.

GET RUN TIME FIELD lv_start.

SELECT PROCESS_TYPE text_procedure INTO CORRESPONDING FIELDS OF TABLE lt_transaction_proc FROM crmc_proc_type
    WHERE object_type = cl_crm_odata_oppt_constant=>gc_oppt_bus_object ORDER BY process_type.
ASSERT sy-subrc EQ 0.

SELECT textprocedure textid seqno changeable INTO CORRESPONDING FIELDS OF TABLE lt_text_cust
  FROM comc_text_pd FOR ALL ENTRIES IN lt_transaction_proc
  WHERE object        = cl_crm_odata_oppt_constant=>gc_oppt_notes_tdobject
    AND textprocedure = lt_transaction_proc-text_procedure .
sort lt_text_cust by textprocedure seqno ASCENDING.
IF lt_text_cust IS NOT INITIAL.
   SELECT tdid tdtext FROM ttxit INTO CORRESPONDING FIELDS OF TABLE lt_text_desc
    FOR ALL ENTRIES IN lt_text_cust WHERE tdid = lt_text_cust-textid AND tdspras = sy-langu
     AND tdobject  = cl_crm_odata_oppt_constant=>gc_oppt_notes_tdobject.
ENDIF.

LOOP AT lt_transaction_proc ASSIGNING FIELD-SYMBOL(<transaction_proc>).
   LOOP AT lt_text_cust ASSIGNING FIELD-SYMBOL(<text_cust>) WHERE textprocedure =
     <transaction_proc>-text_procedure.
      CLEAR: ls_cust_result.
      ls_cust_result-process_type = <transaction_proc>-process_type.
      ls_cust_result-text_object_id = <text_cust>-textid.
      READ TABLE lt_text_desc ASSIGNING FIELD-SYMBOL(<text>) WITH KEY tdid = ls_cust_result-text_object_id.
      IF sy-subrc = 0.
          ls_cust_result-text_obj_descr = <text>-tdtext.
      ENDIF.
      ls_cust_result-text_edit_type = <text_cust>-changeable.
      APPEND ls_cust_result TO lt_cust_result.
   ENDLOOP.
ENDLOOP.

GET RUN TIME FIELD lv_end.

lv_end = lv_end - lv_start.

WRITE: / 'time: ' , lv_end.

猜你喜欢

转载自blog.csdn.net/i042416/article/details/130539271