[55390] in SAPr3-news
Re: Leeren eines Parameters nach Programmende
daemon@ATHENA.MIT.EDU (Matze)
Tue Sep 6 16:13:16 2005
To: sapr3-news@mit.edu
Date: Tue, 6 Sep 2005 22:10:31 +0200
From: "Matze" <sonstig_mre_at_@gmx.de>
Message-ID: <dfkt3n$1k1$04$1@news.t-online.com>
Hallo Arend,
werde mal den Report auf Enter umstellen, mal sehen, was dabei rauskommt.
Habe es mit At Selection-screen ... geschafft, nur die Datenbankänderungen
kommen nicht an, wenn ich den Scancode manuell eingebe und F8 drücke, dann
funzt es.
Viele Grüße
Matthias Son.... :-)
"Arend Schlösser" <1963@nurfuerspam.de> schrieb im Newsbeitrag
news:dfkr45$q4m$1@newsreader3.netcologne.de...
>> Es wird ein Report mit einem Parameters p_code angelegt. Dem Scanner ist
>> beigebracht worden, dass er nach dem Scannen immer F8 auslöst. Das funzt
>> auch. Der Parameter erhält auch den ersten Scanncaode, setzt die
>> Mahnsperre und steht wieder im Selektiosnbild bereit.
>> Mein Problem:
>> Der Parameter beinhaltet immer noch den ersten Wert, nach dem Scannen des
>> nächsten Briefes sind nun beide Scanncode im Parameter.
>> Meine Frage:
>> Wie kann bei Programmende der Parameters-Wert gelöscht werden, so dass
>> wieder ein sauberes Selektionsbild erscheint.
>
>
> Hallo Matze Sonstwie,
>
> nach F8 und Rückkehr ins Selektionsbild verhält sich SAP etwas
> "gewöhnungsbedürftig".
> Alle Variablen werden zurückgesetzt, Selektion und Parameter bleiben
> erhalten; dies ist meistens aber auch gewünscht.
>
> Mach dir das doch folgendermaßen zu Nutze:
>
> REPORT zarend.
>
> DATA kz_loeschen TYPE c VALUE 'X'.
>
> PARAMETERS p_code LIKE sy-repid OBLIGATORY.
>
> **************************************************************
> AT SELECTION-SCREEN OUTPUT.
> **************************************************************
> IF NOT kz_loeschen IS INITIAL. " Parameter löschen
> CLEAR kz_loeschen.
> CLEAR p_code. " nach Neustart/Buchung
> ENDIF.
>
> **************************************************************
> START-OF-SELECTION.
> **************************************************************
> * hier alle deine Aktionen....
> MESSAGE i001(00) WITH 'Fertig mit P_CODE=' p_code.
>
> =============================================
> Wenn du gar keine Ausgabeliste brauchst, ist es aber einfacher statt nach
> F8, auf Enter zu reagieren.
> Das spart das obige Konstrukt und ist bei Scannern meist viel einfacher
> einzustellen.
> Dann sieht's so aus:
>
> REPORT zarend.
>
> PARAMETERS p_code LIKE sy-repid OBLIGATORY.
>
> **************************************************************
> AT SELECTION-SCREEN ON p_code.
> **************************************************************
> IF NOT p_code IS INITIAL.
> * hier alle deine Aktionen....
> MESSAGE i001(00) WITH 'Fertig mit P_CODE=' p_code.
> CLEAR p_code.
> ENDIF.
>
> Einfach, oder?
> (Der Parameter sollte natürlich nicht mit einer Memory-ID verknüpft sein)
>
> Gruß
> Arend