unterschiedliche Ergebnisse bei 2 Codings

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
19 Beiträge • Vorherige Seite 2 von 2 (current)
19 Beiträge Vorherige Seite 2 von 2 (current)

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Alexi,

so, ich habe mir jetzt doch mal die Mühe gemacht und die Struktur der A006 und der KONP angeschaut und jetzt verstehe ich es auch... :oops:

READ TABLE ... BINARY SEARCH kann nur funktionieren, wenn die Tabelle (primär) nach diesem Feld sortiert ist. Das ist aber mit der MATNR in der A006 nicht so, denn das Feld MATNR ist nach KAPPL, KSCHL, VKORG etc. einsortiert.
Durch die Sortierung im SELECT wird die Tabelle gemäß den Schlüsseln sortiert, was aber bedeutet, dass die MATNR alleine betrachtet nicht sortiert ist. Somit bricht der READ ab, sobald er eine Materialnummer findet, die größer als die Gesuchte ist.

Du hast also zwei Möglichkeiten:
  1. Du sortierst a006: SORT i_a006 BY matnr.
  2. Du liest die i_a006 ohne den Zusatz BINARY SEARCH
Du solltest den VText lesen bevor Du Zeilen zählen willst und die Prüfung auf i_konp-kbtre bei p_preis EQ abap_true, ist auch nur einmal notwendig.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von Alexi (ForumUser / 15 / 0 / 0 ) »
Hallo,
ereglam hat geschrieben: so, ich habe mir jetzt doch mal die Mühe gemacht und die Struktur der A006 und der KONP angeschaut und jetzt verstehe ich es auch... :oops:
Oh man, ich hoffe, ich hab dir nicht deine kostbare Arbeitszeit geklaut?! Auf jeden Fall tausend Dank und Respekt!!

Nach deiner Erklärung verstehe ich's dann auch. Allerdings...
ereglam hat geschrieben: Du hast also zwei Möglichkeiten:
  1. Du sortierst a006: SORT i_a006 BY matnr.
  2. Du liest die i_a006 ohne den Zusatz BINARY SEARCH
Das sortieren nach der Mat-Nr hat keinen Erfolg gebracht. Das lesen ohne binary search klappt dann aber super!
ereglam hat geschrieben:
Du solltest den VText lesen bevor Du Zeilen zählen willst und die Prüfung auf i_konp-kbtre bei p_preis EQ abap_true, ist auch nur einmal notwendig.
Das mit P_Preis war nur ein Überbleibsel und ist schon korrigiert. Das andere schau ich mir an und ändere ggf. die Reihenfolge

Nochmals danke und schönen Feierabend (fall's du den überhaupt mal machst) :D , Alexi

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
BINARY SEARCH betrachtet die genannten Felder (hier MATNR) und alle!! Felder, die sich 'links' davon in der Zeile befinden und bricht ab, sobald irgendein Teil davon größer als der bisher gefundene Teil ist.
Nicht genannte Felder werden (wohl) mit Initialwert geprüft.

Beispiel: Suche nach Mat2

Code: Alles auswählen.

Schlüssel  Material
2        Mat1
3        Mat2
5        Mat3
4        Mat4
1        Mat5
bricht ab, weil für Schlüssel der Wert 0 angenommen wird... (so oder ähnlich...)

Aus diesem Grund ist der READ TABLE BINARY SEARCH für die A006 garnicht verwendetbar... :oops:
(man sollte halt öfter mal in die Hilfe schaun...)
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von Alexi (ForumUser / 15 / 0 / 0 ) »
hi,

danke für die Ergänzung! In die Hilfe schau ich eigentlich täglich .. nur find ich nicht immer unbedingt das was ich suche bzw. versteh es nicht so, wie es wohl gemeint ist

Aber ich lass das jetzt erstmal so und greif dann mal den anderen Tipp auf .. die BAPIs .. mal schauen was ich da so finde :-)

Gruß, Alexi

Vergleichbare Themen

5
Antw.
2570
Views
Auslesen des ABAP Codings
von Eddi » 24.07.2006 18:52 • Verfasst in ABAP® Core
0
Antw.
2816
Views
Ergebnisse Preisfindung
von SAP_ENTWICKLER » 05.06.2018 13:15 • Verfasst in SAP HANA für Anfänger
0
Antw.
1199
Views
kumulierte Ergebnisse - Wiedereintritt
von Fluff » 17.12.2007 15:55 • Verfasst in Human Resources

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Erweiterung in ME51N/ME52N:
vor 21 Stunden von ABAPlerv 1 / 34
Erweiterung in ME51N/ME52N:
vor 21 Stunden von ABAPlerv 1 / 22
DIN Norm Klassifizierung
Gestern von Radinator 2 / 2707
Login Daten Management
vor 2 Tagen von sap_enthusiast gelöst 5 / 881

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Erweiterung in ME51N/ME52N:
vor 21 Stunden von ABAPlerv 1 / 34
Erweiterung in ME51N/ME52N:
vor 21 Stunden von ABAPlerv 1 / 22
DIN Norm Klassifizierung
Gestern von Radinator 2 / 2707
Login Daten Management
vor 2 Tagen von sap_enthusiast gelöst 5 / 881

Unbeantwortete Forenbeiträge

Erweiterung in ME51N/ME52N:
vor 21 Stunden von ABAPlerv 1 / 34
Erweiterung in ME51N/ME52N:
vor 21 Stunden von ABAPlerv 1 / 22