使用代码将一个游离的individual object加入到一个新建的object structure里去

214 阅读1分钟

Created by Jerry Wang, last modified on Sep 20, 2014

PARAMETERS: id type comm_product-product_id OBLIGATORY DEFAULT 'ZJERRY0903P1'.
DATA: lv_guid TYPE comm_product-product_guid,
      ls_ibase_head TYPE ibas_head1.
SELECT SINGLE product_guid INTO lv_guid FROM comm_product WHERE product_id = id.
 CALL FUNCTION 'PRDIB_CREATE_STRUCTURE'
    EXPORTING
      iv_object_guid = lv_guid
    IMPORTING
      ev_ibase_head  = ls_ibase_head
    EXCEPTIONS
      wrong_call     = 1
      already_exist  = 2
      not_successful = 3
      OTHERS         = 5.
 WRITE: / 'IBASE created: ', ls_ibase_head-ibase.
 CALL FUNCTION 'CRM_IBASE_SAVE'.
 COMMIT WORK AND WAIT.
  CALL FUNCTION 'COM_IL_API_SAVE'
    EXPORTING
      iv_no_upd_task = 'X'.

该report会在CRM系统新创建一个object structure IBASE,并且将report指定的object加入到structure里去。
image
第二次执行report之后,因为object只能assign给一个object structure,因此试图将其assign到另一个IBASE会报错:
image