版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)
执行report,如下输入说明要显示系统里所有类型为OPPT的前100个opportunity:
report会打印系统所有类型为OPPT的document个数和不包含错误的order个数,以及每个order的id:
从list里选择一个进行double check:确实没有error:
report source code:
REPORT ZORDER_LIST_WITHOUT_ERRORS.
PARAMETERS: protype TYPE crmd_orderadm_h-process_type OBLIGATORY DEFAULT 'OPPT',
num TYPE int4 OBLIGATORY default 100.
INCLUDE CRM_STATUS_CON.
data: lt_order TYPE STANDARD TABLE OF crmd_orderadm_h,
lv_count TYPE int4 value 0.
SELECT * INTO TABLE lt_order FROM crmd_orderadm_h where process_type = 'OPPT'.
IF sy-subrc <> 0.
WRITE: / 'invalid process type: '.
RETURN.
ENDIF.
DATA(lv_total) = lines( lt_order ).
LOOP AT lt_order ASSIGNING FIELD-SYMBOL(<order>).
CALL FUNCTION 'CRM_STATUS_CHECK'
EXPORTING
objnr = <order>-guid
status = gc_status-error
EXCEPTIONS
object_not_found = 1
status_not_active = 2
OTHERS = 3.
IF sy-subrc = 2.
ADD 1 TO lv_count.
IF lv_count <= num.
WRITE: / 'order id: ' , <order>-object_id, ' : ', <order>-description.
ENDIF.
ENDIF.
ENDLOOP.
WRITE: / 'total order: ', lv_total.
WRITE: / 'order without error: ' , lv_count.