SAP Jobsuche bei DV-Treff
ubrinkmann
vor 17 Jahre

Hallo

Ich benötige Auswertungen des Materialstamms über das Anlegen und jegliche Änderungen.

Es existieren zwar 2 Tabellen (CDHDR und CDPOS) mit den entsprechenden Informationen, die aber beide wahnsinnige Performanceprobleme haben.

Wer kann mich unterstützen?


Danke

Ulrich

 

Morgana
vor 17 Jahre

Hallo Ulrich,

wir sind nur ein kleines Unternehmen und haben ca. 13.000 Materialstammsätze.

Dazu gibt es in der Tabelle CDHDR  452.599 Datensätze und in der Tabelle CDPOS  3.902.662!!

Du solltest auf jeden Fall die Suche einschränken oder die Suche mit anderen Einschränkungen mehrmals wiederholen.

Ist nicht grad ´n Geheimtip, aber . . .

 

Gruß

Morgana


EVIL NEVER DIES

Userbetreuung - Customizing: MM/SD/FI

Projekte: Produkthierarchie, Kreditmanagement, Berechtigungskonzept, Serialnummern

SAP R/3 4.6c

- Leider ohne Anstellung -

encore
vor 17 Jahre
Hallo,

ich sag es ja ungern  -   wir haben für die gleiche Thematik einen ABAP geschrieben (ca. 400 Zeilen). Einen anderen Weg kenne ich persönlich nicht.

Aber der läuft natürlich ggf. auch einige Sekunden, denn er muss diese beiden Tabellen ja auch lesen.
Grüsse

nk

ubrinkmann
vor 17 Jahre

Hallo Morgana, Hallo nk

Vielen Dank zuerst für die schnellen Antworten.

Wir haben ca. 25.000 Materialstammsätze und nur die Anzeige der Anzahl der Datensätze für die beiden Tabellen CDHDR und CDPOS dauert unendlich. Beim Aufruf über die SE16 mit Auswahl eines Monats und dem TCODE "MM02" bricht das Programm nach ca. 4 Std. wegen Laufzeitüberschreitung ab. Da besteht also keine Möglichkeit.

Die Programmierung wäre natürlich eine Lösung. Kann ich da noch ein paar Tipps erhalten?

Vielen Dank

Ulrich

andros
vor 17 Jahre
Scheinbar hat die Selektion über eine Range in diesen Tabellen so ihre Probleme.
Wenn ich die Tage eines Zeitraumes z.B. mit der Object-Id MM02* einzeln abfrage erhalte ich das Ergebnis quasi sofort.
Frage ich den Zeitraum als Range von bis Datum ab erhalte ich auch nach 10 Minuten noch kein Ergebnis obwohl gar keine Treffer zu finden sind.

Warum also nicht eine tägliche Auswertung einplanen und das Ergebnis in Excel oder auch Access fortschreiben?
Gruss

Andreas

-----------------------------------

encore
vor 17 Jahre
Hallo ubrinkmann,

da steckt gar nichts geheimnisvolles drin. Die beiden Tabellen werden mit Einschränkung auf die im Auswahldynpro eingegebenen Parameter in der Logik von Kopf- und Positionstabellen gelesen und als ALV-GRID ausgegeben.

Generell ist es sicherlich besser, in den obersten Key-Feldern bereits Auswahlwerte zu haben (z.B. Objektklasse und Objekt-ID),  und nicht nur mit Datum einzugrenzen - so was macht einer Datenbank sonst richtige Probleme (es muss nämlich jeder einzelne DAtensatz gelesen werden und das DAtum geprüft werden).

Also solltest du zuerst wissen, welche Objektklasse du suchst und welche Grenzen deine Objekt-IDs haben; das sollte schon entscheidend weiterhelfen. Ein ABAP ist zwar noch bequemer, tut aber auch nix anderes.
Grüsse

nk

ubrinkmann
vor 17 Jahre

Hallo zusammen

Über QuickView oder Query besteht auch keine Möglichkeit, da über die CDPOS kein JOIN zulässig ist.

Ich werde dann wohl programmieren (lassen). Allerdings fehlt mir da noch ein bisschen Erfahrung.

Vielen Dank für eure Hilfe

Ulrich

 

Morgana
vor 17 Jahre

Hallo Ulrich,

Zitat: "bricht das Programm nach ca. 4 Std. wegen Laufzeitüberschreitung ab."

HUT  AB   für die Geduld . . . 

 

Gruß

Morgana


EVIL NEVER DIES

Userbetreuung - Customizing: MM/SD/FI

Projekte: Produkthierarchie, Kreditmanagement, Berechtigungskonzept, Serialnummern

SAP R/3 4.6c

- Leider ohne Anstellung -

Klammeraap
vor 17 Jahre

SELECT objectid changenr udate INTO

(cdhdr-objectid, cdhdr-changenr, cdhdr-udate)

FROM cdhdr

WHERE objectclas = 'MATERIAL'

and objectid between MATERIAL_MIN and MATERIAL_MAX

AND udate BETWEEN gl_datuv and gl_datub

and TCODE between 'MM01' AND 'MM02'.

 

SELECT tabname tabkey value_new value_old

INTO (cdpos-tabname, cdpos-tabkey,

cdpos-value_new, cdpos-value_old)

FROM cdpos

WHERE objectclas = 'MATERIAL'

AND objectid = cdhdr-objectid

AND changenr = cdhdr-changenr

AND tabname BETWEEN 'MARA' and 'MARC'.

IF cdpos-tabname = 'MARA'.

WRITE:/

cdpos-tabname(4),

' ',

cdhdr-objectid(11),

cdhdr-udate,

cdpos-fname(8),

cdpos-value_old(20),

cdpos-value_new(20).

ELSE.

WRITE:/

cdpos-tabname(4),

cdpos-tabkey+21(4),

cdhdr-objectid(11),

cdhdr-udate,

cdpos-fname(8),

cdpos-value_old(20),

cdpos-value_new(20).

ENDIF.

 

ENDSELECT.

 

 

 

 

ENDSELECT.

ubrinkmann
vor 17 Jahre

Hallo Klammeraap

Bin leider ein wenig ausser Gefecht gewesen und habe erst jetzt den Eintrag gelesen.

Vielen Dank für das ABAP-Coding. Ich werde das testen und mich wieder melden.

Ulrich

Shorty
vor 17 Jahre
ubrinkmann schrieb:

Hallo

Ich benötige Auswertungen des Materialstamms über das Anlegen und jegliche Änderungen.

Es existieren zwar 2 Tabellen (CDHDR und CDPOS) mit den entsprechenden Informationen, die aber beide wahnsinnige Performanceprobleme haben.

Wer kann mich unterstützen?


Danke

Ulrich

 



Hallo Ubrinkmann,

hatte ähnliches Problem, habe in der SE11 einfach einen neuen Index angelegt, und siehe da, Laufzeit verringert sich von mehreren Minuten auf einen Bruchteil von Sekunden.
Noch ein kleiner Tipp:
Index sollte aber nur in einer Arbeitsfreien Zeit angelegt werden, da das komplette System blockiert wird (hat bei uns mehrere Stunden gedauert)

Grüße Shorty
SAP S/4HANA 1809

Userbetreuung und Customizing in den Modulen SD, CS, QM, MM, WM

, ABAP, SAPScript,AdobeForms und Berechtigungen

Bigdaddy
vor 14 Jahre
Besser spät als nie: SAP-Standardreport RSSCD200.
Snickerws
vor 14 Jahre

Hi,

 

bist du fit im Umgang mit Queries??

 

Gruß

Ralf