-
CL Programmierung Spalten erkennen...
Hallo,
kann ich mit CL Spalten in einem String erkennen ?
Dh. Beispielstring:
1234 ABCS ZHDIK KHJHJDLK
Diesen String möchte ich jetzt in 4 Variablen
&VAR1 1234
&VAR2 ABCS
&VAR3 ZHDIK
&VAR4 KHJHJDLK
schreiben. Ist das mit CL möglich ? Trenner soll immer Leerzeichen sein.
Danke !!
Gruß Linguin
-
Welches Release hast Du denn?
GG 5030
-
unter V7R1 versuche es mal hiermit.
DCL VAR(&c_str) TYPE(*char) LEN(2)
DCL VAR(&c_strOrg) TYPE(*char) LEN(1024)
DCL VAR(&n_posB) TYPE(*dec) LEN(4 0)
DCL VAR(&n_posE) TYPE(*dec) LEN(4 0)
DCL VAR(&n_len) TYPE(*dec) LEN(4 0)
chgvar &c_strOrg value('1234 ABCS ZHDIK KHJHJDLK')
chgvar &c_str value(' ')
chgvar &n_PosB value(0)
chgvar &n_PosE value(1)
dowhile (1=1)
chgvar &n_PosB value(%scan(&c_str &c_StrOrg &n_pose))
if cond(&n_posb = 0) then(leave)
if cond(&n_posb = &n_pose + 1) then(leave)
chgvar var(&n_len) value(&n_posb - &n_pose)
if cond(%sst(&var1 1 1)) = ' ') then(do)
chgvar var(&var1) value(%sst(&sec &n_posE &len))
chgvar var(&pose) value(&posb + 1)
iterate
enddo
if cond(%sst(&var2 1 1)) = ' ') then(do)
chgvar var(&var2) value(%sst(&sec &n_posE &len))
chgvar var(&pose) value(&posb + 1)
iterate
enddo
if cond(%sst(&var3 1 1)) = ' ') then(do)
chgvar var(&var3) value(%sst(&sec &n_posE &len))
chgvar var(&pose) value(&posb + 1)
iterate
enddo
if cond(%sst(&var4 1 1)) = ' ') then(do)
chgvar var(&var4) value(%sst(&sec &n_posE &len))
chgvar var(&pose) value(&posb + 1)
iterate
enddo
enddo
VG
-
Hallo,
wenn du das nächste mal den Text eckige Klamme auf CODE eckige Klammer zu und später dann eckige Klamme auf /CODE eckige Klammer zu machst, bleibt auch die Formatierung erhalten.
GG 5030
-
Oder vielleicht so?
PHP-Code:
PGM
DCL VAR(&L) TYPE(*DEC) LEN(5)
DCL VAR(&B) TYPE(*DEC) LEN(5) VALUE(1)
DCL VAR(&T) TYPE(*DEC) LEN(5) VALUE(0)
DCL VAR(&MAX) TYPE(*DEC) LEN(5) VALUE(100)
DCL VAR(&VAR1) TYPE(*CHAR) LEN(100)
DCL VAR(&VAR2) TYPE(*CHAR) LEN(100)
DCL VAR(&VAR3) TYPE(*CHAR) LEN(100)
DCL VAR(&VAR4) TYPE(*CHAR) LEN(100)
DCL VAR(&S) TYPE(*CHAR) LEN(100)
CHGVAR VAR(&S) VALUE('123456 7890 1234 567')
SUCHEN: CHGVAR VAR(&T) VALUE(&T + 1)
IF COND(&T *GT &MAX) THEN(GOTO CMDLBL(WEITER))
IF COND(%SST(&S &T 1) *NE ' ') THEN(GOTO CMDLBL(SUCHEN))
WEITER: CHGVAR VAR(&L) VALUE(&T - &B)
IF COND(&L *GT 0) THEN(DO)
CHGVAR VAR(&VAR1) VALUE(&VAR2)
CHGVAR VAR(&VAR2) VALUE(&VAR3)
CHGVAR VAR(&VAR3) VALUE(&VAR4)
CHGVAR VAR(&VAR4) VALUE(%SST(&S &B &L))
ENDDO
CHGVAR VAR(&B) VALUE(&T + 1)
IF COND(&B *LE &MAX) THEN(GOTO CMDLBL(SUCHEN))
ENDPGM: ENDPGM
-
If the lengths are fixed, you could use this:
Code:
Dcl Var(&Spool_ID) Type(*Char) Len(82)
Dcl Var(&Job_Name) Type(*Char) Len(10) Stg(*Defined) +
DefVar(&Spool_ID 1)
Dcl Var(&User_Name) Type(*Char) Len(10) Stg(*Defined) +
DefVar(&Spool_ID 11)
Dcl Var(&Job_Number) Type(*Char) Len(6) Stg(*Defined) +
DefVar(&Spool_ID 21)
Dcl Var(&Splf_Name) Type(*Char) Len(10) Stg(*Defined) +
DefVar(&Spool_ID 27)
Dcl Var(&Splf_Nbr) Type(*Int) Stg(*Defined) +
DefVar(&Spool_ID 37)
Dcl Var(&Sys_Name) Type(*Char) Len(8) Stg(*Defined) +
DefVar(&Spool_ID 41)
Dcl Var(&Crt_Date) Type(*Char) Len(7) Stg(*Defined) +
DefVar(&Spool_ID 49)
Dcl Var(&Crt_Time) Type(*Char) Len(6) Stg(*Defined) +
DefVar(&Spool_ID 56)
Dcl Var(&OutQ_Name) Type(*Char) Len(10) Stg(*Defined) +
DefVar(&Spool_ID 62)
Dcl Var(&OutQ_Lib) Type(*Char) Len(10) Stg(*Defined) +
DefVar(&Spool_ID 72)
Dcl Var(&Spl_ID_Len) Type(*Int)
DCLF FILE(SPLFLAYOUT) OPNID(INREC)
Similar Threads
-
By Peet in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 28-08-16, 09:59
-
By wti in forum NEWSboard Programmierung
Antworten: 13
Letzter Beitrag: 11-09-15, 12:47
-
By Mida in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 20-08-15, 09:22
-
By ExAzubi in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 13-08-15, 08:46
-
By KB in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 18-05-01, 15:04
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