PDA

View Full Version : Erstellen einer STMF mittels CL-Programm



systemer
17-02-03, 14:24
Hi zusammen,

ich muß mittels eines noch zu schreibenden CL-Programms eine STMF im IFS erstellen, die einen bestimmten Inhalt haben muß (wird als Steuerdatei für ein Send-SMS-Tool verwendet). Da ich auf der Anwendungsseite der AS/400 kaum Ahnung habe, folgende Fragen:

1. Geht das überhaupt direkt mit CL, oder brauche ich da ein RPG-Programm o.Ä.?

2. Wenn mit CL möglich, wer kann mir bitteschön sagen wie's geht (welche Befehle verwenden, Muster-Pgm etc.)?

Bin für jede Anregung dankbar!

Gruß,
Systemer

mwa400
17-02-03, 17:10
probiers mal damit:

CPYTOSTMF
FROMMBR('qsys.lib/libname.lib/filename.file/membername.mbr')
TOSTMF('/dirname/. . ./filename')
STMFOPT(*REPLACE)
STMFCODPAG(*PCASCII)

8ung: die DB darf nicht DDS-beschrieben sein

RobertMack
17-02-03, 17:38
und nach dem Kopieren noch hinterherschicken:

CHGAUT
OBJ('/dirname/. . ./filename')
USER(*PUBLIC)
DTAAUT(*RWX)
OBJAUT(*ALL)

Fuerchau
18-02-03, 08:43
Wie aus den obigen Antworten zu ersehen, muss für CPYTOSTMF bereits eine PF-Datei vorliegen, d.h., dass du mit CL diese PF-Datei NICHT erstellen kannst, da CL keine Daten in eine PF-Datei ausgeben kann.
Du brauchst also doch ein RPG-Programm, dass die Daten zuerst in eine PF-Datei ausgibt, die du dann mittels CPYTOSTMF ins IFS kopierst.

SE
18-02-03, 14:51
Das Erstellen geht auch einfach mit QSH.

z.Bsp.:
...
QSH CMD('cd /savelogfiles3494;touch _unlocked;chmod 777 _unlocked;exit')
...

Vorraussetzung ist (selbstverständlich) installiertes QShell. Evtl. bekommst du auch über diesen QShell-Weg (vielleicht mit echo und Ausgabeumleitung o.ä.) etwas in die Datei hinein - hab ich noch nicht probiert bzw. gebraucht ...


[Dieser Beitrag wurde von SE am 18. Februar 2003 editiert.]

systemer
18-02-03, 15:07
Danke allen, die mit ihren Tips geholfen haben.

Das CL-Programm ist soweit fertig (wie von mwa400 beschrieben klappert's ganz gut...), habe momentan nur noch Probleme mit CCSID-Differenzen zwischen Quell- und Zieldatei, welche der AS/400 noch Schmerzen bereiten. Hoffe, das kriegen ich morgen in den Griff.

Mfg
Systemer

Sven Schneider
18-02-03, 19:33
Zum Thema Codepage:

1. bei Verwendung von CPYTOSTMF

STMFCODPAG(*PCASCII) --> erzeugt WIN ANSI 1252 Codepage

STMFCODPAG(*STDASCII) --> erzeugt DOS 850 Codepage

2. bei Verwendung von QSH
Hier ist es der Parameter -C beim Shellbefehl touch.
Also z.B. :

QSH CMD('touch -C1252 unlocked;chmod 777 unlocked;exit')

oder

QSH CMD('touch -C850 unlocked;chmod 777 unlocked;exit')

Sven



[Dieser Beitrag wurde von Sven Schneider am 18. Februar 2003 editiert.]

systemer
19-02-03, 08:33
Hallo Sven,

die Anwendung läuft jetzt, allerdings mußte ich die Zieldatei auf Codepage 819 setzen, mit *PCASCII hat die Zielmaschine das nicht angenommen. Ich hatte allerdings auch vergessen zu erwähnen, daß der Zielrechner ein NT-Server ist. Dennoch danke für die Info.