一个重定义on_new_focus的例子

 CALL METHOD super->on_new_focus
    EXPORTING
      focus_bo focus_bo.

  CLEAR a.
  CLEAR b.

  CHECK focus_bo IS BOUND.

  CALL METHOD focus_bo->get_property_as_value
    EXPORTING
      iv_attr_name 'a'
    IMPORTING
      ev_result    a.

  DATA iv_guid TYPE  crmt_object_guid.
  CALL METHOD focus_bo->get_property_as_value
    EXPORTING
      iv_attr_name 'GUID'
    IMPORTING
      ev_result    iv_guid.

  CHECK iv_guid IS NOT INITIAL .

  DATA lv_bol_core TYPE REF TO cl_crm_bol_core.
  lv_bol_core cl_crm_bol_core=>get_instance).
  lv_bol_core->start_up'ONEORDER' ).

  DATA lv_root TYPE REF TO cl_crm_bol_entity.
  TRY.
      CALL METHOD lv_bol_core->get_root_entity
        EXPORTING
          iv_object_name 'BTOrder'
          iv_object_guid iv_guid
        RECEIVING
          rv_result      lv_root.
    CATCH cx_crm_genil_model_error .
  ENDTRY.

  CHECK lv_root IS BOUND .

  DATA lr_header TYPE REF TO cl_crm_bol_entity.

  lr_header lv_root->get_related_entityiv_relation_name 'BTOrderHeader' ).

  CHECK lr_header IS BOUND .

  DATA lr_datesset TYPE REF TO cl_crm_bol_entity.

  lr_datesset lr_header->get_related_entityiv_relation_name 'BTHeaderDatesSet' ).

  CHECK lr_datesset IS BOUND .

  DATA lr_datesall TYPE REF TO if_bol_entity_col.

  lr_datesall lr_datesset->get_related_entitiesiv_relation_name 'BTDatesAll' ).

  CHECK lr_datesall IS BOUND.

  DATA lr_iterator TYPE REF TO if_bol_entity_col_iterator.
  DATA lr_property_access TYPE REF TO if_bol_bo_property_access.
  DATA ls_date TYPE crmst_date_btil.

  lr_iterator ?= lr_datesall->get_iterator).

  CHECK lr_iterator IS BOUND.

  lr_property_access ?= lr_iterator->get_first).

  CHECK lr_property_access IS BOUND.

  CALL METHOD lr_property_access->get_properties
    IMPORTING
      es_attributes ls_date.

    IF ls_date-appt_type =  'Z00000001'.
      CONVERT TIME STAMP ls_date-timestamp_from TIME ZONE ls_date-timezone_from INTO DATE b.
    ENDIF.

  WHILE lr_property_access IS BOUND.

    CALL METHOD lr_property_access->get_properties
      IMPORTING
        es_attributes ls_date.

    IF ls_date-appt_type =  'Z00000001'.
      CONVERT TIME STAMP ls_date-timestamp_from TIME ZONE ls_date-timezone_from INTO DATE b.
    ENDIF.

    lr_property_access ?= lr_iterator->get_next).
  ENDWHILE.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值