REPORT tool_display_order_price_head.
PARAMETERS: objid TYPE crmd_orderadm_h-object_id OBLIGATORY DEFAULT '5700000507',
obtype TYPE crmd_orderadm_h-process_type OBLIGATORY DEFAULT 'SRVO'.
SELECT SINGLE guid INTO @DATA(lv_guid) FROM crmd_orderadm_h
WHERE object_id = @objid AND process_type = @obtype.
IF sy-subrc <> 0.
WRITE:/ ' Service Order does not exist'.
RETURN.
ENDIF.
SELECT SINGLE * INTO @DATA(ls_link) FROM crmd_link
WHERE guid_hi = @lv_guid AND objtype_hi = '05' AND objtype_set = '09'.
IF sy-subrc <> 0.
WRITE:/ 'no price data exists for this order'.
RETURN.
ENDIF.
SELECT SINGLE * INTO @DATA(ls_price) FROM crmd_pricing
WHERE guid = @ls_link-guid_set.
IF sy-subrc <> 0.
WRITE:/ 'no price data exists for this order'.
RETURN.
ENDIF.
cl_crm_1order_set_print_tool=>print_structure( ls_price ).
CLASS cl_crm_1order_set_print_tool DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
CLASS-METHODS print_structure
IMPORTING
!is_data TYPE any .
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS CL_CRM_1ORDER_SET_PRINT_TOOL IMPLEMENTATION.
METHOD print_structure.
DATA(lo_struct_descr) = CAST cl_abap_structdescr( cl_abap_datadescr=>describe_by_data( is_data ) ).
DATA(lt_comp) = lo_struct_descr->components.
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE is_data TO FIELD-SYMBOL(<data>).
IF sy-subrc <> 0.
RETURN.
ENDIF.
READ TABLE lt_comp ASSIGNING FIELD-SYMBOL(<comp>) INDEX sy-index.
IF <data> IS NOT INITIAL.
DATA(lv_color) = sy-index MOD 4.
DATA(lv_print) = |Field: { <comp>-name }, value: { <data> } |.
CASE lv_color.
WHEN 0.
WRITE: / lv_print COLOR COL_NEGATIVE.
WHEN 1.
WRITE: / lv_print COLOR COL_POSITIVE.
WHEN 2.
WRITE: / lv_print COLOR COL_GROUP.
WHEN 3.
WRITE: / lv_print COLOR COL_KEY.
ENDCASE.
ENDIF.
ENDDO.
ENDMETHOD.
ENDCLASS.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
3 | |
3 | |
3 | |
3 | |
2 | |
2 | |
1 | |
1 | |
1 | |
1 |