-
 Zitat von Rainer Ross
Ich werfe aufgrund der Anregung von Baldur noch eine Idee für "total" und "fully" free in den Hut
Code:
ctl-opt main(main) dftactgrp(*no) option(*nounref);
//------------------------------------------------------------------//
// //
// Convert Zoned to Packed from String //
// //
//----------------- //
// R.Ross 06.2017 * //
//------------------------------------------------------------------//
// Main //
//------------------------------------------------------------------//
dcl-proc Main;
dcl-s LocString varchar(30); // String
dcl-s LocNumber packed(11:2); // Number
LocString = '000005843M';
LocNumber = cvtZonedToPacked(LocString:2);
end-proc;
//------------------------------------------------------------------//
// Convert Zoned to Packed from String //
//------------------------------------------------------------------//
dcl-proc cvtZonedToPacked;
dcl-pi *n like(LocNumber);
PiString varchar(30) const options(*varsize:*trim);
PiDecimals uns(5) const options(*nopass);
end-pi;
dcl-ds PsString qualified;
String char(30);
Number zoned(30) pos(01);
end-ds;
dcl-s LocNumber packed(30:9); // Number
evalr PsString.String = PiString;
LocNumber = PsString.Number;
if %parms >= %parmnum(PiDecimals); // Decimals
LocNumber /= 10 ** PiDecimals; // Decimals
endif;
return LocNumber; // Number
end-proc;
//------------------------------------------------------------------//
Bist du sicher, dass das geht? Wenn dein varying - Input-Parameter kürzer als 30 Zeichen ist, würden in der Datenstruktur doch zunächst Leerzeichen und am Ende deine gezonte Ziffernfolge stehen, oder? Wird das dann zu einer 30 Stelligen-Zahl? Der evalr würde doch das Feld zunächst mit Blanks initialisieren und dann rechtsbündig deinen (ggf. kürzeren) String reinpacken. Müssen da keine Vornullen rein?
Similar Threads
-
By dholtmann in forum NEWSboard Programmierung
Antworten: 14
Letzter Beitrag: 12-05-17, 14:29
-
By Icke in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 06-07-14, 17:02
-
By Wolfgang Scheureder in forum IBM i Hauptforum
Antworten: 10
Letzter Beitrag: 22-02-03, 10:56
-
By alex in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 06-08-02, 07:13
-
By Blank in forum IBM i Hauptforum
Antworten: 19
Letzter Beitrag: 07-03-02, 14:30
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks