DB-Tabelle zeigt im Debugger keine Datensätze

Getting started ... Alles für einen gelungenen Start.
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

DB-Tabelle zeigt im Debugger keine Datensätze

Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
Hallo ich bins mal wieder :((.

ich muss das programm bis montag in einwandfreier funktionalität abgeben und ich kann nicht mehr. also ich entschuldige mich vorab schon mal *bitte nicht mit tomaten beschmeißen*.

das programm hat einwandfrei funktioniert, bis ich die Bedingung geschrieben habe, er soll aus der Tabelle zdpv_gkgpnr die Geschäftspartnernummern vergleichen, und wenn die nummer in der Tabelle vorhanden ist, dann soll es nicht selektiert werden und es soll aus der internen tabelle gelöscht werden.

Das Problem ist, die zdpv_gkgpnr ist nicht gefüllt! Also ich habe im Debugger gekuckt, und da ist die Tabelle nicht gefüllt obwohl es eine DB Tabelle mit 352 Einträgen ist. Und beim letzten Select, wenn ich kunnr = wa_tab-gpnr vergleiche, dann ist wa_tab-gpnr auch leer. ich dachte immer, wenn ich mittels eines selects in eine Tabelle reingehe, dann wird sie gefüllt *runzel runzel*.

Unten sind zwei Codeschnipsel, die im Debugger nicht funktioniert haben. Alles andere tut, bis zu diesem Select.

Grüße
coco


Code: Alles auswählen.

 LOOP AT it_tab INTO wa_tab.                          
 CLEAR jkak.                                          
   SELECT SINGLE * FROM jkak                          
      WHERE vbeln = wa_tab-vbeln                      
      AND auart IN s_auart.                           
   IF sy-subrc <> '0'.                                
     DELETE TABLE it_tab FROM wa_tab.                 
   ELSE.                                              
     SELECT * FROM jkpa INTO CORRESPONDING FIELDS     
              OF wa_tab                               
        WHERE vbeln = wa_tab-vbeln                    
        AND posnr   = wa_tab-posnr                    
        AND jparvw  = 'RE'.                           
     ENDSELECT.                                       
     IF sy-subrc = 0.                                 
        SELECT * FROM zdpv_gkgpnr                     
           WHERE gpag = wa_tab-gpnr.                  
        ENDSELECT.                                    
           IF sy-subrc = 0.                           
           DELETE TABLE it_tab FROM wa_tab.           
           ENDIF.                                     
     ELSE.                                            
        MODIFY it_tab FROM wa_tab.                    
     ENDIF.                                           
     ENDIF.                                           
  ENDLOOP.

[
letzter Select:

Code: Alles auswählen.

  LOOP AT it_tab INTO wa_tab.                                        
*  CLEAR: KNA1, WA_TABZWEI.                                          
    SELECT SINGLE *                                                  
           FROM kna1 INTO CORRESPONDING FIELDS OF wa_tab             
           WHERE kunnr = wa_tab-gpnr.                                
    IF sy-subrc = 0.                                                 
      MODIFY it_tab FROM wa_tab.                                     
      anz_aktiv = anz_aktiv + 1.                                     
    ENDIF.                                                           
  ENDLOOP.                                                           
                                                                     

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


Beitrag von DeltaPi (ForumUser / 1 / 0 / 0 ) »
Also, ich glaube wenn die Felder unterschiedlich heißen und keinen Bezug zueinander haben, solltest du nicht

- INTO CORRESPONDING machen.

Du musst irgendwo die Tabelle auch füllen.....

Code: Alles auswählen.

 
SELECT * FROM db_tabelle into CORRESPONDING FIELDS OF TABLE meine_tabelle.
sichere ist aber du machst.

Code: Alles auswählen.

data: meine_zwischen_tabelle type table of db_tabelle.
und dann das select ohne corresponding

Code: Alles auswählen.


DATA: it_kna1 TYPE TABLE OF kna1,
      it_jkak TYPE table of jkak,
      wa_jkak type jkak,
      it_jkpa TYPE TABLE OF jkpa,
      " Wenn es eine Tabelle ist kannste table of weglassen
      it_zdpv_gkgpnr TYPE TABLE OF zdpv_gkgpnr,
      
      it_tab TYPE TABLE OF type_table.

* Tabelle werden gepuffert - Wenn bedingungen vorher klar
* sind schon auschliessen und wenn die Tabellen zu gross sind geht das natürlich nicht.

SELECT * FROM jkak INTO TABLE it_jkak.
SELECT * FROM jkpa INTO TABLE it_jkpa.
SELECT * FROM kna1 INTO TABLE it_kna1.
SELECT * FROM zdpv_gkgpnr INTO TABLE it_zdpv_gkgpnr.


LOOP AT it_tab INTO wa_tab.
  READ TABLE  it_jkak WITH KEY vbeln = wa_tab-vbeln into wa_jkak .
ENDLOOP.
oder du machst selekt single in die wa_jkak von der jkak.

Beitrag von poldi (Specialist / 116 / 0 / 0 ) »
Hallo Coco,

Du machst "LOOP AT .... INTO wa_tab." und im LOOP ein "SELECT nach wa_tab". Anstelle von wa_tab würde ich einen anderen Arbeitsbereich für das SELECT wählen und den an wa_tab zuweisen.

Viele Grüße
Wilfried
Wir sind lustig und haben es gar nicht nötig!

Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
Hallo DeltaPi und Wilfried,

danke für eure Hilfe.

Habe die Änderungen vorgenommen und bis auf paar Kleinigkeiten funktioniert es.

Viele Grüße
coco

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1536
Views
ABAP Programm zeigt nicht alle Datensätze an!
von esra » 14.06.2011 16:20 • Verfasst in ABAP® für Anfänger
2
Antw.
2045
Views
ALV-Tabelle zeigt zu viele Spalten
von bob_sheknowdas » 08.09.2014 15:31 • Verfasst in Web-Dynpro, BSP + BHTML
7
Antw.
4312
Views
In interner Tabelle Datensätze zählen?
von b0rsti » 06.06.2008 14:57 • Verfasst in ABAP® für Anfänger
11
Antw.
7209
Views
Datensätze einer Tabelle zählen
von ICER » 07.12.2006 12:51 • Verfasst in ABAP® für Anfänger
2
Antw.
3761
Views
Datensätze aus Tabelle Mara löschen!?
von PMK » 27.10.2005 12:15 • 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

PDF-Anzeige unter EDGE
vor 5 Tagen von jocoder 2 / 72

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

PDF-Anzeige unter EDGE
vor 5 Tagen von jocoder 2 / 72

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Wochen von Lucyalison 1 / 132
Group Items auf einer Filterbar
vor 4 Wochen von Bright4.5 1 / 166