[59092] in SAPr3-news

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

Re: In Formularfenster Zeichenformat anhand von =?iso-8859-1?Q?Symboll=E4nge?= zuweisen

daemon@ATHENA.MIT.EDU (Gerhard Fricke)
Mon Mar 19 01:43:53 2007

To: sapr3-news@mit.edu
Date: Mon, 19 Mar 2007 06:43:47 +0100
From: Gerhard Fricke <gerhard.fricke@lsw.de>
Message-ID: <1174283027.24@user.newsoffice.de>

Hallo,

ich würde an deiner Stelle folgendes machen:

Im Sapscript:

perform z_barcodelaenge in program Z_userexit_barcode
using &Barcodefeld&
changing &z_laenge&
endperform

if &z_laenge& eq 26
 ....
else
 ....
endif

In dem Userexit-Programm erfolgt dann die Längenermittlung.

Grobaufbau des Programms:

REPORT Z_USEREXIT_BARCODE.

* Aufruf des Userexit z_barcodelaenge

FORM z_barcodelaenge TABLES INPUT  STRUCTURE ITCSY
                            OUTPUT STRUCTURE ITCSY.

* Datendefinitionen
  Data:    Z_BARCODE LIKE BARCODEFELD,
           Z_LAENGE  TYPE I.

* Übernahme des Eingangswertes, steht dann in: input-value

  READ TABLE input with key 'BARCODEFELD'.

* Achtung beim "Read Table" MUSS der Übergabenahmename GROSS
* geschrieben werden!

  Z_BARCODE = input-value.

* Hier jetzt die Längenermittlung durchführen.

  IF Z_BARCODE+26(1)& EQ &SPACE.
    Z_LAENGE = 26.
  ELSE.
    Z_LAENGE = 27.
  endif.

*   Übergabe an das Sapscript-Formular

    READ TABLE OUTPUT WITH KEY 'Z_LAENGE'.
    OUTPUT-VALUE = Z_LAENGE.
    MODIFY OUTPUT INDEX 1.


endform.
*Ende des Userexit.

Ich denke, dass du damit eine gute Lösung "hinzaubern" kannst.

Ciao

Gerd


St. Kother schrieb am 03.16.2007:

> Hallo Bernhard,

> Bernhard schrieb:
>> /:  IF &BARCODE_FELD+26(1)& EQ &SPACE&
>> ...
>> /:  ENDIF

> Oh man, danke für das Zaunsfeld...

>> Aber während ich so tippe: ist bei Dir denn nicht entweder C1 (ohne
>> Prüfzeichen) oder C2 (mit Prüfzeichen gefüllt ? Dann:
>> /:  IF &C1& EQ &SPACE
>> ...
>> /:  ELSE (oder auch ELSEIF ...)
>> ...
>> /:  ENDIF

> Nein. C1 und C2 bezog sich auf Zeichenformate. Dahinter liegen die 
> entsprechenden Barcodes. Allerdings habe ich es momentan so gelöst, dass 
> unser Barcode generell 27 (inl. Prüfz.) lang ist. Es brachte auch nix, 
> wenn ich 26 Zeichen an C2 geschickt habe, dann gab es immer noch ein 
> zusätzliches Zeichen hintendran...

> Trotzdem nochmal danke für Prüfung mittels Offset.



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