select falsch?

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

select falsch?

Beitrag von barbara (ForumUser / 50 / 0 / 0 ) »
Hallo,
Ich möchte Daten über mehrere Tabellen (mittels INNER JOIN ?) selektieren und ausgeben.
(siehe code)
Nur derzeit ist es so, dass ich immer eine leere Ausgabe habe, bzw. keine Datensätze gefunden werden.
--> Ist mein select falsch?
--> Oder liegt es an der internen Tab. it_data?

thx
lg

REPORT zlobtest03 LINE-SIZE 500 NO STANDARD PAGE HEADING MESSAGE-ID zpkt.

*Deklaration der zu verwendeten Tabellen

*Für die Datenbanktabelle wird eine gleichnamige Struktur - der Tabellenarbeitsbereich - angelegt

*Die Struktur des Tabellenarbeitsbereichs entspricht genau der Zeilenstruktur der Datenbanktabelle

TABLES:

zzt_pkt_status,

pa0001,

zzt_pkt_versns.

DATA: BEGIN OF it_data OCCURS 0,

sozver LIKE zzt_pkt_versns-sozver,

pernr LIKE zzt_pkt_versns-pernr,

tstmp LIKE zzt_pkt_status-tstmp,

zz_pkt_status LIKE zzt_pkt_status-zz_pkt_status,

endda LIKE pa0001-endda,

begda LIKE pa0001-begda,

vdsk1 LIKE pa0001-vdsk1,

END OF it_data.

*Datendeklaration - Datum und Uhrzeit wird für die Konvertierung des timestamp benötigt

DATA:

datum LIKE sy-datum,

zeit LIKE sy-uzeit,

tag LIKE sy-datum.

* it_status TYPE TABLE OF zzt_pkt_status WITH HEADER LINE,

* wa_status TYPE zzt_pkt_status,

* it_pa0001 TYPE TABLE OF pa0001 WITH HEADER LINE,

* wa_pa0001 TYPE pa0001.

*Selektionsblock für die Eingabe des timestamp

SELECTION-SCREEN BEGIN OF BLOCK auswahl WITH FRAME.

*Selektionsbildschirm

PARAMETERS: p_tstmp LIKE zzt_pkt_status-tstmp.

SELECT-OPTIONS: s_vdsk1 FOR pa0001-vdsk1.

PARAMETERS: p_tag LIKE sy-datum.

SELECTION-SCREEN END OF BLOCK auswahl.

*Hauptverarbeitung

START-OF-SELECTION.

* SELECT * FROM zzt_pkt_status

* INTO TABLE it_status.

*

* SELECT * FROM pa0001

* INTO TABLE it_pa0001.

IF p_tag IS INITIAL.

p_tag = sy-datum.

ENDIF.

IF s_vdsk1 IS NOT INITIAL.

p_tag = sy-datum.

ENDIF.

* zzt_pkt_status-zz_pkt_status = 'BMLV-HVBCH'.

* INSERT 'BMLV-HVBCHECK' INTO zzt_pkt_status VALUES wa_status.

* wa_status-zz_pkt_status = 'BMLV-HVBCHECK'.

* INSERT INTO zzt_pkt_status VALUES wa_status.

IF sy-subrc NE 0.

WRITE: / 'Der technische Status konnte nicht eingefügt werden.'.

ENDIF.

SELECT zzt_pkt_status~sozver zzt_pkt_status~tstmp zzt_pkt_status~zz_pkt_status

pa0001~endda pa0001~begda pa0001~vdsk1 pa0001~pernr

zzt_pkt_versns~sozver zzt_pkt_versns~pernr

* INTO (it_status-sozver, it_status-tstmp,

* it_pa0001-endda, it_pa0001-begda, it_pa0001-vdsk1)

FROM zzt_pkt_versns INNER JOIN zzt_pkt_status

ON zzt_pkt_versns~sozver = zzt_pkt_status~sozver

INNER JOIN pa0001

ON zzt_pkt_versns~pernr = pa0001~pernr

INTO CORRESPONDING FIELDS OF TABLE it_data

WHERE zzt_pkt_status~tstmp >= p_tstmp

AND zzt_pkt_status~zz_pkt_status EQ 'HVB_RECEIV'

AND pa0001~vdsk1 IN s_vdsk1

AND pa0001~begda <= p_tag

AND pa0001~endda >= p_tag

ORDER BY zzt_pkt_status~tstmp.

*Wenn Datensätze gefunden wurden

IF sy-subrc EQ 0.

*Konvertiere den timestamp unter Berücksichtigung der Zeitzone in Datum und Zeit

CONVERT TIME STAMP it_data-tstmp TIME ZONE sy-zonlo INTO DATE datum TIME zeit.

*Ausgabe der Sozialversicherungsnummern, timestamp und timestamp konvertiert

WRITE: / 'SV-Nummer:',it_data-sozver,',' ,'Timestamp:',it_data-tstmp,','.

WRITE: 'Timestamp konvertiert:',datum, zeit,','.

WRITE: 'Org.schluessel:',it_data-vdsk1,',' ,'Stichtag:',p_tag.

ENDIF.

*Wenn kein Datensatz gefunden wurde

IF sy-subrc NE 0.

*Dann wird eine dementsprechende Meldung ausgegeben

WRITE: / 'Es wurden keine Datensätze gefunden.'.

ENDIF.

**Funktionsbaustein zum reinschreiben des technischen Status

* CALL FUNCTION 'Z_PKT_WRITE_TECH_STATUS'

**Unter EXPORTING werden Felder, Feldleisten oder interne Tabellen an den Funktionsbaustein übergeben

* EXPORTING

* sozver = zzt_pkt_status-sozver

**Der techn. Status wurde mit dem Namen HVB_RECEIV angelegt

* status = 'HVB-RECEIV'

** TEXT1 =

** TEXT2 =

** TIMESTAMP =

** WRITE_TO_DB = 'X'

**Unter EXCEPTIONS werden die Ausnahmen aufgeführt, die das Programm behandeln möchte

* EXCEPTIONS

* invalid_sozvers = 1

* invalid_status = 2

**Mit OTHERS kann auf alle verbleibenden Ausnahmen Bezug genommen werden

* OTHERS = 3

* .

**Tritt eine der aufgeführten Ausnahmen ein, wird SY-SUBRC auf den zugeordneten Wert rc gesetzt

**SY-SUBRC wird im Falle der Ausnahme auf einen Wert ungleich 0 gesetzt

* IF sy-subrc <> 0.

* MESSAGE x000 WITH 'Z_PKT_WRITE_TECH_STATUS' sy-subrc.

* ENDIF.

END-OF-SELECTION.

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


SELECT Falsch?

Beitrag von Nordlicht (Specialist / 304 / 8 / 3 ) »
Hallo,

nur ein Tip: Du solltest den Select mal probeweise ohne WHERE Klauseln durchführen. Da wird vielleicht klarer, ob es wirklich am JOIN liegt.

Ciao

Nordlicht
;-)

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1986
Views
RCPDIRO1 falsch, was tun ?
von sapler » 12.10.2005 15:36 • Verfasst in Material Management & Produktionsplanung
11
Antw.
3564
Views
Ausgabe falsch
von PseudoReal » 10.06.2005 16:08 • Verfasst in ABAP® für Anfänger
7
Antw.
2277
Views
falsch gesetztes loop!?
von BabsiCSC » 23.06.2008 10:54 • Verfasst in ABAP® Core
5
Antw.
2629
Views
Was mache ich Hier falsch?
von BjoernB » 15.06.2009 09:54 • Verfasst in ABAP® für Anfänger
6
Antw.
1936
Views
falsch gesetztes CLEAR !?
von BabsiCSC » 30.06.2008 12:09 • Verfasst in ABAP® Core

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Regex in where
vor 6 Stunden von tar 8 / 189
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1489

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
vor 6 Stunden von tar 8 / 189
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1489

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822