Code: Alles auswählen.
method if_ex_cts_request_check~check_before_release.
data: ls_e070 type e070, ls_e071 type e071.
data: l_text(255), l_text1(255), l_text2(255), l_text3(255).
data: ls_object_name type tr_objects.
* Prüfung des Mandaten
case sy-uname.
when 'xxxx' .
* Tabelle E070 Gesucht: Transportschicht
select a~trkorr a~strkorr b~tarsystem into corresponding fields of ls_e070
from e070 as a join e070 as b on a~strkorr = b~trkorr
where a~trkorr = request.
concatenate 'Freigabe:' request into l_text
separated by space.
concatenate: 'Aufgabennummer' 'Auftagsnummer' 'Transportschicht' into l_text1
separated by space.
concatenate: ls_e070-trkorr ls_e070-strkorr ls_e070-tarsystem into l_text2
separated by space.
endselect.
* Tabelle E071 Gesucht: Objekte
select * into ls_e071
from e071
where trkorr = request.
concatenate: ls_e071-trkorr ls_e071-obj_name into l_text3
separated by space.
endselect.
* Aufruf POPUP - Ergebnisdarstellung
call function 'POPUP_TO_INFORM'
exporting
titel = l_text
txt1 = l_text1
txt2 = l_text2
txt3 = l_text3.
raise cancel.
endcase.
endmethod.
Code: Alles auswählen.
concatenate l_text3 ls_e071-trkorr ls_e071-obj_name into l_text3 separated by space.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Ippoo
Code: Alles auswählen.
METHOD if_ex_cts_request_check~check_before_release.
DATA: ls_e070 TYPE e070.
DATA: ls_e071 TYPE e071.
DATA: l_text(255), l_text1(255), l_text2(255).
TYPES: BEGIN OF r_mystruct,
lv_trkorr TYPE e071-trkorr,
lv_obj_name TYPE e071-obj_name,
END OF r_mystruct.
DATA: ls_itab TYPE STANDARD TABLE OF r_mystruct.
CASE sy-uname.
WHEN 'xxx'.
* Tabelle E070 Gesucht: Transportschicht
SELECT a~trkorr a~strkorr b~tarsystem INTO CORRESPONDING FIELDS OF ls_e070
FROM e070 AS a JOIN e070 AS b ON a~strkorr = b~trkorr
WHERE a~trkorr = request.
CONCATENATE 'Freigabe:' request INTO l_text
SEPARATED BY space.
CONCATENATE: 'Aufgabennummer' 'Auftagsnummer' 'Transportschicht' INTO l_text1
SEPARATED BY space.
CONCATENATE: ls_e070-trkorr ls_e070-strkorr ls_e070-tarsystem INTO l_text2
SEPARATED BY space.
ENDSELECT.
* Tabelle E071 Gesucht: Objekte
* SELECT trkorr obj_name INTO CORRESPONDING FIELDS OF ls_e071
* FROM e071
* WHERE trkorr = request.
* WRITE:/ ls_e071.
* LOOP AT ls_e071 INTO ls_itab
** Anweisung
* endloop.
*
* ENDSELECT.
SELECT trkorr obj_name
FROM e071
INTO CORRESPONDING FIELDS OF TABLE ls_itab
WHERE trkorr = request.
write :/ ls_itab-lv_obj_name.
* Aufruf POPUP - Ergebnisdarstellung
* der Alte Call ist nur noch solange da bis ich am Schluss irgendwie allles zusammenfassen kann
*1. Call
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = l_text
txt1 = l_text1
txt2 = l_text2.
*2. Call -
CALL FUNCTION 'POPUP_WITH_TABLE'
EXPORTING
endpos_col = 45
endpos_row = 25
startpos_col = 10
startpos_row = 1
titletext = 'TEST'
* IMPORTING
* choise = l_text3
TABLES
valuetab = ls_itab
*
EXCEPTIONS
*
break_off = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
*
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
RAISE cancel.
Schau dir mal im Debugger an was bei POPUP_WITH_TABLE nachIppoo hat geschrieben:Edit2:
Ich erhalte mittlerweile das Fenster (schwere Geburt, Achtung ich habe erst letzte Woche bei Null angefangen).
Das Problem ist, dass es leer ist.
Der Debug Modus ergab die Angabe ungültige Tabelle bezogen auf ls_itab.
Code: Alles auswählen.
LOOP AT valuetab.
listtab = valuetab.
APPEND listtab.
ENDLOOP.
Code: Alles auswählen.
data: ls_objects type tr_objects .
select trkorr obj_name into corresponding fields of ls_objects
from tr_objects
where trkorr = request.
write:/ ls_objects-obj_name.
endselect.
Code: Alles auswählen.
data: lt_objects type tr_objects . "<-- Tabellentyp von E071. Alternative wäre 'type standard table of E071 with default key.'
field-symbols: <ls_object> type e071. "<-- Feld-Symbole sind performanter als Work-Areas
select trkorr obj_name into corresponding fields of table lt_objects "<-- In eine interne Tabelle schreiben.
from e071 "<-- Datenbanktabelle!!!
where trkorr = request.
* Auf die Daten zugreifen und ausgeben
loop at lt_objects assigning <ls_object>.
write:/ <ls_object>-obj_name.
endloop.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Ippoo
Code: Alles auswählen.
field-symbols: <ls_object> type e071.
LOOP AT objects ASSIGNING <ls_object>.
* Hier alles rein was mit den Objekten geschen soll. Prüfungen usw.
* Zugriff erfolgt wie bei einer Struktur z.B. mit <ls_object>-pgmid.
ENDLOOP.
Code: Alles auswählen.
field-symbols:
<ls_object> type e071
<ls_key> type e071k.
LOOP AT objects ASSIGNING <ls_object>.
* Hier alles rein was mit den Objekten vor den Keys geschen soll.
LOOP AT keys ASSIGNING <ls_key>
WHERE pgmid eq <ls_object>-pgmid AND object eq <ls_object>-object AND objname eq <ls_object>-obj_name.
* Hier alles rein was mit den Objekten mit den Keys geschen soll.
ENDLOOP.
* Hier alles rein was mit den Objekten nach den Keys geschen soll.
ENDLOOP.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Ippoo