Selektion von mehreren Belegarten

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

Re: Selektion von mehreren Belegarten

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
kisa hat geschrieben:Ich möchte aber nur die Belege von 60 bis 100 sehen. Irgendwie funktioniert die Selektion nicht.
die Ursache kannst du normalerweise selbst schnell rausfinden, indem du dein Programm debuggst. Dazu setzt du einen Breakpoint an einer bestimmten Stelle, IF p_deb = 'X'. wäre eine z.B. ein möglicher Ansatz. Anschliessend gehst du schrittweise von Befehl zu Befehl und schaust dir an, was alles in den internen Tabellen passiert. Sollten an einer Stelle zu viele Belege selektiert werden, so wird es dir dabei sicherlich auffallen.

und hier hast du noch einen Logik-Fehler:

Code: Alles auswählen.

    "NUR SD-BELEGNUMMER:
   IF so_belnr IS INITIAL. 
                         "<-------------------- hier läufst du nur rein, wenn so_belnr nicht gefüllt ist
      SELECT *
      FROM kna1
      INNER JOIN bsid ON kna1~kunnr = bsid~kunnr
      INTO CORRESPONDING FIELDS OF TABLE itab
      WHERE bukrs = pa_bukrs
      AND wrbtr IN so_wrbtr
      AND manst IN so_manst
      AND budat IN so_budat
      AND kna1~kunnr IN so_kunnr.
        
      SELECT *
      FROM vbrk
      INTO CORRESPONDING FIELDS OF TABLE it_h_vbrk
      WHERE vbrk~vbeln IN so_vbeln. "<--------- so_vbeln ist an dieser Stelle leer, du liest mit diesem Befehl also ALLE Faktura unabhängig von deiner Selektion
außerdem bleibt noch die Frage von JHM offen: Was machst du wenn SO_BELNR und SO_VBELN beide gefüllt sind?
schöne Grüße
Alexander

ECC 6.0 EHP 7

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


Re: Selektion von mehreren Belegarten

Beitrag von kisa (ForumUser / 18 / 0 / 0 ) »
Wieso ist vbeln leer? Oben sag ich doch:

If so_belnr is initial. Also wenn Belegnummer leer ist, soll er mir die Faktura rausgeben?

Re: Selektion von mehreren Belegarten

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
kisa hat geschrieben:Wieso ist vbeln leer?
sorry, jetzt bin ich auch schon ganz durcheinander. Das passt schon, sind ja zwei unterschiedliche Selektionsfelder die angesprochen werden.

na dann mal ran an das Debuggen...
schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: Selektion von mehreren Belegarten

Beitrag von kisa (ForumUser / 18 / 0 / 0 ) »
Ich hab jetzt das hier mal versucht:

IF SO_BELNR IS INITIAL.
SELECT *
FROM KNA1
INNER JOIN BSID ON KNA1~KUNNR = BSID~KUNNR
INTO CORRESPONDING FIELDS OF TABLE ITAB
WHERE BUKRS = PA_BUKRS
AND BSID~KUNNR IN SO_KUNNR
AND WRBTR IN SO_WRBTR
AND MANST IN SO_MANST
AND BUDAT IN SO_BUDAT.
SELECT *
FROM VBAK
INTO CORRESPONDING FIELDS OF TABLE IT_H_VBAK
WHERE VBELN IN SO_VBELN.


LOOP AT ITAB INTO WA.
READ TABLE IT_H_VBAK INTO LS_VBAK WITH KEY VBELN = SO_VBELN.
IF SY-SUBRC = 0.
MOVE LS_VBAK-VBELN TO WA-VBELN.
MODIFY ITAB FROM WA.
ENDIF.
ENDLOOP.

Laut Debugger wird meine IT_H_VBAK-Tabelle mit den 40 Listen gefüllt, die ich selektiert habe. Aber sobald ich auf Loop gehe, bekomme ich wieder alle Daten. Liegt es an sy-subrc = 0?

Re: Selektion von mehreren Belegarten

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
kisa hat geschrieben:Laut Debugger wird meine IT_H_VBAK-Tabelle mit den 40 Listen gefüllt, die ich selektiert habe. Aber sobald ich auf Loop gehe, bekomme ich wieder alle Daten. Liegt es an sy-subrc = 0?
nein, das liegt an dieser Anweisung hier:

Code: Alles auswählen.

      LOOP AT ITAB INTO WA.
        READ TABLE IT_H_VBAK INTO LS_VBAK WITH KEY VBELN = SO_VBELN.
WITH KEY VBELN = SO_VBELN kann so nicht funktionieren, da SO_VBELN kein einzelner Wert, sondern eine Tabelle ist. Da du über die ITAB LOOPst müsstest du das READ TABLE mit einem Feld ausführen welches du bereits in der ITAB hast. Ich werde nur aus der Selektionslogik nicht wirklich schlau. Du liest alle Kopfdaten der Verkaufsbelege und versuchst die Belegnummer per MODIFY in deine interne Tabelle zu bringen. Aber über welchen Schlüssel soll das denn passieren?
schöne Grüße
Alexander

ECC 6.0 EHP 7

Vergleichbare Themen

41
Antw.
10814
Views
Selektion aus mehreren Tabellen
von Nadine_2706 » 23.09.2011 07:20 • Verfasst in ABAP® für Anfänger
2
Antw.
7861
Views
Belegarten - Nummernkreisintervalle - Welche Tabelle ?
von Gast » 18.08.2005 17:04 • Verfasst in Financials
10
Antw.
3618
Views
Selektion
von christof » 30.10.2014 08:32 • Verfasst in ABAP® für Anfänger
7
Antw.
3625
Views
Selektion mit von...bis
von Aggressor » 24.07.2006 08:56 • Verfasst in Web-Dynpro, BSP + BHTML
7
Antw.
7143
Views
SM30 selektion
von teerock » 16.09.2008 15:41 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Regex in where
Gestern von tar 8 / 373
Daten an Tabelle binden
vor 2 Tagen von Bright4.5 3 / 1637
Programm anlegen mit Vorlage
vor 3 Tagen von DeathAndPain 2 / 290
IT0024 Qualifikationen CP-ID
vor 3 Tagen von DeathAndPain 2 / 530

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

Regex in where
Gestern von tar 8 / 373
Daten an Tabelle binden
vor 2 Tagen von Bright4.5 3 / 1637
Programm anlegen mit Vorlage
vor 3 Tagen von DeathAndPain 2 / 290
IT0024 Qualifikationen CP-ID
vor 3 Tagen von DeathAndPain 2 / 530

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 3 Tagen von snooga87 1 / 222
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3404
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9954