Code: Alles auswählen.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = 'ZMMR0111_PRODUKTGRUPPEN'
i_callback_user_command = 'USER_COMMAND'
i_callback_pf_status_set = 'SET_STATUS'
i_grid_title = 'Erweiterung Prduktgruppen'
it_fieldcat = it_fieldcat[]
* i_default = 'X'
* i_save = 'A'
tables
t_outtab = tab.
Code: Alles auswählen.
DATA: g_repid LIKE sy-repid.
g_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_repid
i_callback_user_command = 'USER_COMMAND'
i_callback_pf_status_set = 'SET_STATUS'
i_grid_title = 'Erweiterung Produktgruppen'
it_fieldcat = it_fieldcat[]
TABLES
t_outtab = tab.
Dann sollte es aber eigentlich einen DUMP geben, da dann der CALL_BACK auf SET_PF_STATUS nicht ausgeführt werden könnte. Wobei die mitgabe von sy-repid schon mehr sinn macht.Alexander D. hat geschrieben:Unter Umständen heisst aber dein Programm in Wirklichkeit anders. Es kommt hierbei nicht darauf an was in der ersten Zeile hinter report .... steht, sondern wie das Programm wirklich in SAP heisst, also SY-REPID.
nicht ganz. Ich habe das Programm unter dem Namen ZTEST angelegt. Es lässt sich auch mit i_callback_program = 'ZMMR0111_PRODUKTGRUPPEN' starten, Daten werden bei mir im ALV angezeigt, es ist nur der (vorhandene) GUI-Status der nicht gezogen wird. Das Programm lässt sich mit BACK ohne Probleme verlassen. Dumpen tut es mit LOAD_PROGRAM_NOT_FOUND erst dann, wenn ich in dem ALV einen Doppelklick auf eine Zeile ausführe.JHM hat geschrieben: Dann sollte es aber eigentlich einen DUMP geben, da dann der CALL_BACK auf SET_PF_STATUS nicht ausgeführt werden könnte. Wobei die mitgabe von sy-repid schon mehr sinn macht.
es gab ja schon eine Vermutung dazu. Sind in deinem ALV eventuell irgendwelche Filter gesetzt?EmrahKilic hat geschrieben: Im Funktionbaustein Reuse_ALV_GRID_DISPLAY werden die Daten in die interne Tabelle (itab) gelesen, aber angezeigt wird es nicht.
Was mache ich Falsch!
Ist der GUI-Status aktiviert?EmrahKilic hat geschrieben:Sorry Leute, wenn ich euch so mit Kleinigkeiten störe, aber ich bin wirklich unerfahren...!
ich verstehe den Zusammenhang nicht. Wie kann sich das darauf auswirken, ob deine gefüllte interne Tabelle im ALV ausgegeben wird oder nicht?EmrahKilic hat geschrieben: Die Excel-Datei gibt er jetzt aus. Es lag an Groß/-Kleinschreibung in Excel. In der Transaktion MC86 sind die Produktgruppen groß geschrieben und in Excel klein .
hast du denn im user_command eine Reaktion auf die Taste EXECUTE definiert? Es wäre übrigens schön, wenn Du auf Dir gestellte Fragen eingehen könntest. Du hast bis jetzt noch keine davon beantwortetEmrahKilic hat geschrieben: Nun, aber habe ich immer noch probleme mit den Funktionstasten in GUI-STATUS. Ich brauche die Tasten 'EXECUTE', 'EXPANDIEREN' und 'KOMPREMIEREN'. Die Taste Excute zeigt er mir an, aber führt nichts aus...
Alexander D. hat geschrieben:nicht ganz. Ich habe das Programm unter dem Namen ZTEST angelegt. Es lässt sich auch mit i_callback_program = 'ZMMR0111_PRODUKTGRUPPEN' starten, Daten werden bei mir im ALV angezeigt, es ist nur der (vorhandene) GUI-Status der nicht gezogen wird. Das Programm lässt sich mit BACK ohne Probleme verlassen. Dumpen tut es mit LOAD_PROGRAM_NOT_FOUND erst dann, wenn ich in dem ALV einen Doppelklick auf eine Zeile ausführe.JHM hat geschrieben: Dann sollte es aber eigentlich einen DUMP geben, da dann der CALL_BACK auf SET_PF_STATUS nicht ausgeführt werden könnte. Wobei die mitgabe von sy-repid schon mehr sinn macht.
Code: Alles auswählen.
loop at tab.
if tab-werks_m eq space
or tab-werks eq space.
fehler-prgrp = tab-prgrp.
fehler-matnr = tab-matnr.
fehler-werks = tab-werks.
fehler-werks_m = tab-werks_m.
fehler-text = 'Werksangabe fehlt! Bitte Excel-Datei prüfen!!!'. <-
collect fehler.
clear fehler.
delete tab.
continue.
endif.
select single * from pgmi where prgrp = tab-prgrp
and datum >= sy-datum.
if sy-subrc <> 0.
fehler-prgrp = tab-prgrp.
fehler-text = 'Produktgruppe nicht vohanden'. <-
collect fehler.
clear fehler.
delete tab.
continue.
endif.
select single * from pgmi where prgrp = tab-prgrp
and nrmit = tab-matnr
and werks = tab-werks "Delonge
and datum >= sy-datum.
if sy-subrc = 0.
fehler-prgrp = tab-prgrp.
fehler-matnr = tab-matnr.
fehler-werks = tab-werks.
fehler-werks_m = tab-werks_m.
fehler-text = 'Material ist bereits in der Produktgruppe'. <-
collect fehler.
clear fehler.
delete tab.
continue.
endif.
select single * from marc where matnr = tab-matnr
and werks = tab-werks_m.
if sy-subrc <> 0.
fehler-prgrp = tab-prgrp.
fehler-matnr = tab-matnr.
fehler-werks = tab-werks.
fehler-werks_m = tab-werks_m.
fehler-text = 'Material existiert nicht im Werk'. <-
collect fehler.
clear fehler.
delete tab.
continue.
endif.
select single * from makt where matnr = tab-matnr
and spras = sy-langu.
tab-maktx = makt-maktx.
modify tab.
endloop.