Место этой ошибки известно:
Метод: CANCEL_DOCUMENTS, Class CL_IPMIS_BD_BILLDOCCONSVS_IMPL, Component IPMIS_BD.
С первой выбранной позицией все работает без ошибок. При прохождении в цикле второй позиции метод get_related_entities не возвращает related Entity:
Code:
lr_bdh_col = lr_bdh_entity->get_related_entities( iv_relation_name = lc_bd_bdcancel_rel ).
и инстанц lr_bo? = lr_bdh_col->get_first (). не инициализируется.
Это стандартный код SAP, который на одной CRM-системе работает корректно, на другой тот же код дает вышеуказанную ошибку 
Кусок кода, в котором возникает ошибка - Метод CANCEL_DOCUMENTS:
Code:
TRY. 
 lr_bdh_entity ?= lr_cuco->typed_context->ipmibdheadercons->collection_wrapper->get_first( ).
 WHILE lr_bdh_entity IS BOUND.
  lr_bdh_col = lr_bdh_entity->get_related_entities( iv_relation_name = lc_bd_bdcancel_rel ).  "при втором проходе в цикле related Entity не возвращаются
  lr_bo ?= lr_bdh_col->get_first( ).        "при втором проходе дает INITIAL  и соответственно перепрыгивает WHILE, что дает выше указанную ошибку                                                                            
  WHILE lr_bo IS BOUND
   lr_bo_dupl = lr_cuco->typed_context->ipmibdheadercancel->collection_wrapper->find( iv_bo = lr_bo ).
    IF lr_bo_dupl IS NOT BOUND.
      lr_cuco->typed_context->ipmibdheadercancel->collection_wrapper->add( iv_entity = lr_bo ).
    ENDIF.
   lr_bo ?= lr_bdh_col->get_next( ).
  ENDWHILE. lr_bdh_col->clear( ). 
   lr_bdh_entity ?= lr_cuco->typed_context->ipmibdheadercons->collection_wrapper->get_next( ).  "Здесь переход на вторую Фактуру
ENDWHILE. 
 CATCH cx_root. 
ENDTRY.
Кто-нибудь сталкивался с подобным явлением? Как решить проблему?