Bug 6453

Summary: Dump ITAB_DUPLICATE_KEY bei Sammelplanung wenn das gleiche Sammelelement auf mehreren Ebenen verwendet wird
Product: [SCX/Suite] Forecast Reporter: Lenz, Florian <florian.lenz>
Component: DCF AnwendungAssignee: Lenz, Florian <florian.lenz>
Status: RESOLVED FIXED QA Contact:
Severity: minor    
Priority: P2 CC: alexander.falge, frs, hatef.abedi, jel, Martina.Klaas, mfr
Version: 7.3Keywords: Vorabkorrektur
Hardware: All   
OS: All   
Whiteboard:
Kundennummer: Bestellnummer:
PV Übergabe: --- Phase Roadmap: ---
Erledigt mit: Lupus SAP Release: ---
Transport: CRM-ID/Ticket:

Description Lenz, Florian intern 2016-08-02 17:25:03 CEST
Voraussetzung:
Sammelplanung aktiv, mehrere Hierarchieebenen als Sammelebene gekennzeichnet. Materialsets der Sammelebene haben Aggregationen z.B. MARA-MATKL aktiviert. Einstieg auf der Superhierarchie im Planungssheet führt zum folgenden Dump:

Kategorie              ABAP Programmierfehler
Laufzeitfehler         ITAB_DUPLICATE_KEY
ABAP Programm          /GIB/CL_DCF_PLANSHEET=========CP
Anwendungskomponente   Nicht zugeordnet
Datum und Zeit         02.08.2016 17:01:14

Ausschnitt Quelltext

Zeile Quelltext

    1 METHOD get_grid_tab_line.
    2   DATA: ls_grid_tab LIKE LINE OF it_grid_tab,
    3         lt_grid TYPE STANDARD TABLE OF ts_grid,
    4         lf_tabix TYPE sytabix,
    5         ls_grid_hash LIKE LINE OF gt_grid_hash.
    6
    7 *# Logik kann nur funktionieren wenn nach jedem User Command die
    8   register_grid_events( ).
    9
   10   IF ( gt_grid_hash IS INITIAL AND if_mode EQ 'I' ) OR if_mode =
   11     FREE gt_grid_hash.
   12     LOOP AT it_grid_tab INTO ls_grid_tab.
   13       ls_grid_hash-tabix = sy-tabix.
   14       MOVE-CORRESPONDING ls_grid_tab TO ls_grid_hash.
   15       APPEND ls_grid_hash TO lt_grid.
   16
   17     ENDLOOP.
   18     SORT lt_grid BY vrsio varky vark2 matnr.
>>>>>     gt_grid_hash = lt_grid.
   20     FREE lt_grid.
   21   ELSEIF if_mode = 'D'.
   22     FREE gt_grid_hash.
   23     EXIT.
   24   ENDIF.
Comment 2 Lenz, Florian intern 2016-08-23 17:06:24 CEST
Formelmethode angepasst. Summenberechnungen werden bei Sammelszenarien nicht mehr durchgeführt
Comment 1 Lenz, Florian intern 2016-08-02 17:59:59 CEST
Fehler tritt nicht in der Standardfunktion auf, sondern in der neuen Formelmethode DCF_CREATE_SUM_FIELD_VERSION mit der Zeilenübergreifend Berechnungen druchgeführt werden können. Die Formelmethode prüft nun ob das Szenario Sammelplanung X verwendet und gibt in diesem Fall eine Fehlermeldung aus. 
Auslöser ist die Methode /gib/cl_dcf_plansheet=>get_grid_tab_line, hier kann geprüft werden ob bei Sammelplanung X ein alternativer Zugriff zur Verfügung gestellt werden kann.