воскресенье, 20 мая 2018 г.

Hierarchy

После обновления ERP, часть иерархий из наборов перестала грузится. Система просто не видет части иерархий в ERP, а часть видит.

Есть немного пространственная нота на эту тему - 2162245
Но суть в следующем...

В функции GSBH_HIERARCHY_CATALOG_SETS происходит исключение наборов входящих в другой набор, если родительский набор(супернабор) имеет тип S - Одномерный набор

В качестве решения загружаю "отброшенные" иерархии уже из родительской иерархии. Т.е. сделал трансформацию самого объекта на себя. В принцинципе все работает четко, есть только пару ньюансов...

1. В фильтре DTP надо обязательно указывать тип объекта - там так устроен поиск.


2. Было лениво делать для каждой иерархии свою трансформацию.
Сделал одну, а имя иерархии беру из ограничений DTP

DATAlt_filter TYPE RSBK_TH_RANGE.
DATAl_HIENM   TYPE RSHIENM.
FIELD-SYMBOLS LIKE LINE OF lt_filter.
"get DTP filter

p_r_request
->GET_TH_RANGERECEIVING R_TH_RANGE lt_filter ).
"get node name
READ TABLE lt_filter
  
WITH KEY FIELDNM 'NODENAME'
  
ASSIGNING .
IF sy-subrc 0.

  l_HIENM 
-LOW.
  
TRANSLATE l_HIENM TO UPPER CASE.

  
"dummy hier - Don't let the word make your hard
  
IF l_HIENM SPACE.

    l_HIENM 
'ZTEST1'.
  
ENDIF.

  
LOOP AT SOURCE_PACKAGE_1
    
ASSIGNING .

    
-H_HIENM l_HIENM.
  
ENDLOOP.
ENDIF.