[55390] in SAPr3-news

home help back first fref pref prev next nref lref last post

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 



home help back first fref pref prev next nref lref last post