Select mit join

Getting started ... Alles für einen gelungenen Start.
25 Beiträge • Seite 1 von 2 (current) Nächste
25 Beiträge Seite 1 von 2 (current) Nächste

Select mit join

Beitrag von Spookykid (Specialist / 140 / 28 / 0 ) »
Lieber Abapler,

leider bekomme ich keine Ausgabe meiner internen Tabelle. Ich habe das Gefühl, dass der Interpreter nicht über das Select Statement hinauskommt. Beim Ausführen des Programms geschieht nichts.

Code: Alles auswählen.

types: Begin of ty_ausg,
        posid type PRPS-POSID,
        objnr type PRPS-OBJNR,
        prart type PRPS-PRART,
        stat type jest-stat,
      END OF ty_ausg.


CONSTANTS : rbselected TYPE c LENGTH 1 VALUE 'X'.
data: t_ausg type TABLE OF ty_ausg WITH HEADER LINE, p_prart type prps-prart, wa_ausg type ty_ausg.

SELECTION-SCREEN BEGIN OF BLOCK para WITH FRAME TITLE text-001.


PARAMETERS: p_bukrs type bukrs.
SELECT-OPTIONS:
    so_prart FOR p_prart.

SELECTION-SCREEN END OF BLOCK para.

SELECTION-SCREEN BEGIN OF BLOCK rbuttons WITH FRAME TITLE text-002.


SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 2.
PARAMETERS: rb1 RADIOBUTTON GROUP rb .
SELECTION-SCREEN COMMENT 5(30) text-003 .
SELECTION-SCREEN END OF LINE.


SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 2.
PARAMETERS: rb2 RADIOBUTTON GROUP rb.
SELECTION-SCREEN COMMENT 5(30) text-004.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK rbuttons.

*&---------------------------------------------------------------------*
*& Applikationslogik
*&---------------------------------------------------------------------*
START-OF-SELECTION.



SELECT prps~posid prps~objnr prps~prart jest~stat

    FROM PRPS join jest on prps~objnr = jest~objnr
    into corresponding fields of t_ausg
         WHERE  prps~pbukr  = p_bukrs
         AND    prps~prart  in so_prart
         .
Endselect.







  LOOP AT t_ausg into wa_ausg.
    WRITE:
        / wa_ausg-posid,
          wa_ausg-objnr,
          wa_ausg-prart,
          wa_ausg-stat.
  ENDLOOP.





END-OF-SELECTION.

Info: Radiobuttons sind mometan nicht aktiv.

P.S Gibt es ne Möglichkeit zu sehen ,wie sich meine interne Tabelle nach dem Select füllt? Der Debugger gab mir in diesem Programm keine Anzeige.

Vielen Dank im Voraus.

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


Re: Select mit join

Beitrag von Ratazong (Specialist / 144 / 1 / 14 ) »
Du selektierst die Daten nur in die Kopfzeile. Ich empfehle ein

Code: Alles auswählen.

INTO CORRESPONDING FIELDS OF TABLE.
Rata

Re: Select mit join

Beitrag von Spookykid (Specialist / 140 / 28 / 0 ) »
Hmm, wenn ich das hinzufüge kommt diese Fehlermeldung.

Die Schachtelung ist nicht korrekt: Zur Anweisung "ENDSELECT" existiert keine offene, mit "SELECT" begonnene Kontrollstruktur.

Re: Select mit join

Beitrag von km216 (Specialist / 151 / 6 / 11 ) »
Weil du keine Schleife mehr hast, wenn du alles in eine interne Tabelle liest.

Einfach das "Endselect" löschen.

Re: Select mit join

Beitrag von Spookykid (Specialist / 140 / 28 / 0 ) »
km216 hat geschrieben:Weil du keine Schleife mehr hast, wenn du alles in eine interne Tabelle liest.
In was kann ich die Daten den noch lesen? In eine Struktur?


km216 hat geschrieben:Einfach das "Endselect" löschen.
Geht leider immer noch nicht. Er kommt nie bis zur Write Anweisung. Kann das mit START-OF-SELECTION und END-OF-SELECTION zusammenhängen?

Re: Select mit join

Beitrag von km216 (Specialist / 151 / 6 / 11 ) »
Dann findet er wohl keine Daten oder am Select-Statement hängts...
Frag mal direkt nach der Select-Abfrage sy-subrc ab.

Wenn du in eine Struktur liest, hast du quasi eine Schleife wo du immer einen passenden Satz in die Struktur liest.
Diese Schleife muss mit Endselect beendet werden.

Wenn du in eine Tabelle liest, hast du keine Schleife, daher auch kein Endselect.
Wenn du mittels SELECT SINGLE in eine Struktur liest, fällt das Endselect auch weg, da du nur einen Datensatz liest.

Re: Select mit join

Beitrag von Spookykid (Specialist / 140 / 28 / 0 ) »
@ km216 vielen Dank für die Erläuterung. Ergebnis von sy-subrc ist 4. Dann muss es wohl doch an der Syntax liegen.

Re: Select mit join

Beitrag von casman (Specialist / 420 / 1 / 63 ) »
Gibst du denn auch einen BUKRS mit?

Re: Select mit join

Beitrag von Spookykid (Specialist / 140 / 28 / 0 ) »
casman hat geschrieben:Gibst du denn auch einen BUKRS mit?
ha, am Anfag meiner Fehlersuche ja, jedoch bin ich irgendwann nur noch auf ausführen......


ABER ES FUNKTIONIERT! :D :D :D :D

Vielen Dank

Re: Select mit join

Beitrag von casman (Specialist / 420 / 1 / 63 ) »
Siehste... :-)

Achtung: Parameters LEER = es wird auch nur LEER selektiert!
Select-Option LEER = alles wird selektiert!

Re: Select mit join

Beitrag von Spookykid (Specialist / 140 / 28 / 0 ) »
alles klar.

So, jetzt dachte ich, ich wäre mir im Klaren, was eine Struktur, Header, interne Tabelle, dict. Tabelle ist, Leider bekomme ich immer die Exception, dass der "fieldcatlogue not available" ist.

Besitzt eine Struktur nicht automatisch ein Feldkatalog?

Code: Alles auswählen.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_STRUCTURE_NAME = 'ty_ausg'
TABLES
t_outtab      = t_ausg
EXCEPTIONS
program_error = 1
OTHERS        = 2.

Re: Select mit join

Beitrag von casman (Specialist / 420 / 1 / 63 ) »
Mal versuchen:

I_STRUCTURE_NAME = 'TY_AUSG'

Kann sein, dass das aber ne DDIC-Struktur sein muss. Ansonsten mal mit REUSE_ALV_FIELDCATALOG_MERGE einen Feldkatalog aus einer internen Tabelle t_ausg erzeugen und mitgeben!

Re: Select mit join

Beitrag von Spookykid (Specialist / 140 / 28 / 0 ) »
Ich bekomme zwar nun keine Excp. mehr, jeoch bekomme ich die Fehlermeldung "Feldkatalog konnte nicht ermittelt werden"

Code: Alles auswählen.

TYPE-POOLS: slis.

DATA lt_fcat TYPE slis_t_fieldcat_alv.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
 EXPORTING

   i_structure_name              = 'TY_AUSG' ( selbe meldung auch mit t_ausg)

  CHANGING
    ct_fieldcat                  = lt_fcat.
                    


CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  EXPORTING
    i_structure_name = space
    it_fieldcat      = lt_fcat
  TABLES
    t_outtab         = t_ausg
  EXCEPTIONS
    program_error    = 1
    OTHERS           = 2.

Re: Select mit join

Beitrag von casman (Specialist / 420 / 1 / 63 ) »
Du müsstest T_AUSG an den Parameter I_INTERNAL_TABNAME übergeben.
Allerdings musst du dann laut Hilfe des Bausteins die Felder in TY_AUSG mit LIKE definieren, nicht mit TYPE.

Re: Select mit join

Beitrag von Spookykid (Specialist / 140 / 28 / 0 ) »
ok, ich werde es probieren. Rein interessehalber: Es ist nicht möglich direkt eine Struktur zu übergeben? Kannst du mir nen Link zu dieser Hilfe schicken oder ist das die F1 Standardhilfe?

Vergleichbare Themen

5
Antw.
3509
Views
SELECT - INNER JOIN
von muggel » 03.04.2008 10:41 • Verfasst in ABAP® Core
21
Antw.
10369
Views
Select all bei inner join
von Bright4.5 » 05.09.2018 09:19 • Verfasst in ABAP® für Anfänger
5
Antw.
1941
Views
select join hilfe
von dimes » 07.03.2006 16:56 • Verfasst in ABAP® Core
2
Antw.
2704
Views
select join substring
von jspranz » 13.11.2017 18:12 • Verfasst in ABAP® für Anfänger
2
Antw.
2874
Views
Select mit mehrere Join's
von nordlender » 23.08.2011 14:37 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

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.