ich habe in meiner Firma die Aufgabe erhalten einen Report zu schreiben welcher ein Selektionsbild mit 4 Eingabefeldern haben soll, Belegungseinheit/Heftnummer/Erfassungsdatum/Erfasser wobei ich Select-Options nutzen muss da eine Mehrfachauswahl zwingend erforderlich ist. Anhand dieser Selektionskriterien soll der Report 5 Felder einer Tabelle(jjtpe), 4 Felder einer weiteren(jjtbe) und zum Schluss ein Feld einer weiteren(jjtbevb)zusammen in eine interne Tabelle schreiben(dies soll mit einem JOIN geschehen) und diese mittels ALV ausgeben. Ich sollte vllt noch dazu sagen das ich 3 weitere Eingabefelder (s_vkorg/p_vtweg/p_spart) auf meinem Selektionsbild habe, jedoch sind diese Standardmäßig mit Werten belegt und auch im Selektionsbild ausgeblendet, da ich verhindern möchte das diese geändert werden. Da nur das Feld Erfassungsdatum ein Mussfeld ist bin ich dazu gezwungen alle Fälle der Nichteingabe abzudecken, was ich mit einer dynamischen where-Bedingung innerhalb einer IF-Abfrage auch tue. Jetzt zu meinem Problem, der Report überspringt jedesmal meinen Select, was dazu führt das ich eine leere Ausgabetabelle erhalte und ich weiß absolut nicht warum.
Hier meine Codeschnipsel:
Selektionsbild:
- Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
- **********************************************************************
- * Selektionsbild *
- **********************************************************************
- SELECT-OPTIONS: s_belein FOR plan_pe,
- s_heftnr FOR heft_nr,
- s_erfdat FOR erfdate OBLIGATORY,
- s_erfuse FOR erfuser,
- s_vkorg FOR vkorg DEFAULT '0000' TO '9999' OPTION BT SIGN I NO-DISPLAY.
- p_spart TYPE spart DEFAULT '01' NO-DISPLAY.
- GeSHi ©
Dynamische where und Select mit doppeltem JOIN:
- Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
- FORM sel_fields.
- lt_feld LIKE STANDARD TABLE OF lv_feld.
- **********************************************************************
- * dynamische where in der Select-Auslegung *
- **********************************************************************
- CLEAR lv_feld.
- lv_feld = 'and'.
- CLEAR lv_feld.
- CLEAR lv_feld.
- lv_feld = 'and'.
- CLEAR lv_feld.
- CLEAR lv_feld.
- lv_feld = 'and'.
- CLEAR lv_feld.
- CLEAR lv_feld.
- **********************************************************************
- lv_feld = 'and'.
- CLEAR lv_feld.
- CLEAR lv_feld.
- lv_feld = 'and'.
- CLEAR lv_feld.
- CLEAR lv_feld.
- lv_feld = 'and'.
- CLEAR lv_feld.
- CLEAR lv_feld.
- **********************************************************************
- SELECT a~plan_pe a~heft_nr a~erfdate a~erftime a~erfuser b~kurztext b~be_grp b~co_aufnr b~x_allvb c~vkorg
- FROM ( ( jjtpe AS a
- INNER JOIN jjtbe AS b ON a~plan_pe EQ b~beleinh
- AND a~erfdate EQ b~erfdate
- AND a~erftime EQ b~erftime
- AND a~erfuser EQ b~erfuser )
- INNER JOIN jjtbevb AS c ON a~plan_pe EQ c~beleinh
- AND a~erfdate EQ c~erfdate
- AND a~erftime EQ c~erftime
- AND a~erfuser EQ c~erfuser )
- INTO CORRESPONDING FIELDS OF TABLE gt_bvau
- WHERE (lt_feld)
- ORDER BY a~erfdate DESCENDING.
- **********************************************************************
- * Führende Nullen der BE's ausblenden *
- **********************************************************************
- CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
- EXPORTING
- input = plan_pe
- IMPORTING
- output = plan_pe.
- GeSHi ©
Woran liegt es das mein Select übersprungen wird?
Falls noch mehr Code benötigt wird (Datendeklaration/PBO/PAI/ALV-Ausgabe) bitte bescheid geben:)
schonmal Danke im Vorraus für die Hilfe
Freundlichste Grüße
Lou