PDA

View Full Version : Wie JOBSCDE auslesen od. zur Auswertung nach Windows exportieren?



Seiten : [1] 2

deni87991
27-01-06, 10:09
Hallo!

Ich bin neu hier und habe auch recht wenig Ahnung von Befehlen und Möglichkeiten der AS/400.Nun soll ich die Jobplanungseinträge (JOBSCDE) auswerten.Diese sind aber vom Typ "Jobscde" und lassen sich nich per Query auswerten-dumme Sache.Also soll ich das per Crystal Reports tun-meine Frage nun: Wie krieg ich die Jobplanungseinträge in CrystalReports oder überhaupt auf meine Windows-Oberfläche exportiert?
Ich hab leider echt keinen Plan und steh ziemlich allein da.Bitte helft mir-mein Chef tuts nicht.

roman
27-01-06, 10:17
Ich würde das Ganze mal ganz pragmatisch angehen:
Planungseinträge in Spoolfile :
WRKJOBSCDE OUTPUT(*PRINT)
Spoolfile in ein PF copieren (CPYSPLF)..
und aus diesem PF einen Query-Report(Datei für Export) erstellen.

Gruss Roman

deni87991
27-01-06, 10:31
Danke für deine Antwort-aber wie gesagt-ich hab keine Ahnung davon u.kann grad mal ein Query erstellen. Ich hab also WRKJOBSCDE OUTPUT(*PRINT) gemacht und das ganze auch in meiner Warteschlange gefunden.Jetz meinte mein Kollege,ich solle eine Datei anlegen,um das Spoolfile hinein zu kopieren.Falls ich das hinkrieg,wie mache ich dann den nächsten Schritt?

"und aus diesem PF einen Query-Report(Datei für Export) erstellen."

roman
27-01-06, 12:26
Hier mal die Reihenfolge:
1) CRTPF FILE(QTEMP/PRINTFILE) RCDLEN(200)

2) WRKJOBSCDE JOB(*ALL) OUTPUT(*PRINT)

3) CPYSPLF FILE(QSYSPRT) TOFILE(QTEMP/PRINTFILE) JOB(533968/ROLUAD/QPADEV002Y
) SPLNBR (1)

4) strqry (grundsätzliche Query-Kenntnisse vorausgesetzt!)
unter "Define result fields" Ergebnisfelder definieren (je nach Informationsbedarf)
zum Beispiel:
Field Expression
ZEIT substr(printfile, 39, 8)
TEST substr(printfile, 28, 3)
AUSGABE substr(printfile, 1, 150) Diese Felder zur Ausgabe auswählen: (Select and sequence fields) 1.ZEIT 2. TEST 3. AUSGABE
mit F5 Report überprüfen, folgende bzw. ähnliche Anzeige erscheint:

ZEIT TEST AUSGABE
le------ --- Entry -----Sche
le------ --- Entry -----Sche
Time Dat Job Number Sts Date
Time Dat Job Number Sts Date
01:00:00 25. SCDIST 000422 SAV 25.01.06
01:30:00 *AL START_K 000396 SCD *ALL
01:30:00 *AL START_S 000307 SCD *ALL
in der Querydefinition unter "Select Output Type and Output Form" die Ausgabe in Datei (Opt. 3=Database file) wählen, Ziellibrary und Ziel-File angeben . mit Enter bestätigen,
Mit F3 das definierte Query speichern und ausführen.
("Select options, or press F3 to save or run the query")

Das erstellte File kann nun weiterverarbeitet werden. Dabei stehen unzählige Möglichkeiten zur Verfügung (z.B. Query, Excel oder eben - Crystal Report)


Ich hoffe, die Angaben sind einigermassen hilfreich. (einige grundlegende Query-Kenntnisse setze ich voraus.)

Grüsse
Roman

deni87991
27-01-06, 12:54
Das war wirklich super lieb von dir!

Also die Datei hatte ich schon kopiert in einer PF,wenn ich nun bei dem Query die Ergebnisfelder definieren will, steht da unter Feld nur "Jobplan"-der Name meiner Datei, da steht aber nicht wie üblich irgendwelche Feldangaben; das gleiche passiert,wenn ich Sätze auswählen will.Aber mal ganz davon ab...hauptsache ich krieg das ganze erst mal auf die Windows-Seite... ich hab jetz also das gemacht,wie du geschrieben hast...die Datei Qjobplan wurde in meiner Bibliothek erstellt.Wie krieg ich das nun von der Bibliothek dahin,wohin ich's gern hätt...also z.Bsp. Excel?

also ich geb die Sache gleich auf...ich hasse es,wenns nicht geht :- (

roman
28-01-06, 11:44
Es gibt im vorliegenden Fall - da es sich um ein reines sequentielles File ohne DDS-Source handelt - , nur EIN Feld zur Auswahl(nämlich "JOBPLAN" wie du schreibst), welches im Normalfall dem Namen der Datei entspricht. Damit du Felder auswerten kannst, musst du im Query die gewünschten Felder definieren und mit SUBSTR die gewünschten Infos extrahieren.

Durch Abzählen der Zeichenpositionen in deinem File JOBPLAN musst du die Position der gewünschten Informationen ermitteln (in meinem Beispiel wird die Job-Ausführungszeit, welche ab Stelle 39 zu finden ist und 8 Zeichen lang ist in das Feld ZEIT übertragen. - Das Feld TEST benötige ich zur Selektion der gewünschten Datensätze für meine Auswertung: alle Sätze mit "*AL" )


In deinem Fall würde dies etwa so aussehen:

Field Expression
ZEIT substr(JOBPLAN, 39, 8)
TEST substr(JOBPLAN, 28, 3)
AUSGABE substr(JOBPLAN, 1, 150)
xxxxx substr(JOBPLAN, n, nnn)
yyyy substr(JOBPLAN, n, nnn)
usw.

Nun hast du bei der Feldauswahl zusätzlich zum Feld JOBPLAN die Felder ZEIT, TEST, AUSGABE bzw. weitere selbstdefinierte Felder (die du in deiner Excel-Tabelle benötigst) zur Auswahl.

Viel Spass beim Experimentieren!! :-)

lieser
28-01-06, 13:41
ich habe Tool, das eine PF mit den JOBSCDE Einträgen erstellt
Bei Interesse, email- Adresse angeben.


Gruss
WL

deni87991
30-01-06, 08:19
Hallo lieser!

Ja wäre nett,wenn du mir das schicken könntest-das würde sicher etwas schneller gehen.Ich versuche mich zwar grad nur an einer Maschine,aber wenn das hier so klappt,dann soll ich das auf den anderen 18 auch noch machen.

Katharina.geisler@trinks.de

Danke das ihr mir so nett helft.Wie die Auswertung zu machen ist,weiß ich jetz.Theoretisch hab ich also meine Felder bereit,die ich nun gern in Excel hätte.Aber WIE?Wenn ich in Excel auf "daten von iSeries übertragen" geh und das mach,dann kommt da zwar was raus,aber das ist unbrauchbar.So könnte man höchstens viele Zufallszahlen erhalten,mehr aber nicht.Hier ein kleiner Ausschnitt:

40C3D3D9D4E2C7D8E240404040F0F0F0F0F4F94040E2C3C440 4040E4E2C5D940C4C5C6404040F0F67AF0F07AF0F040405CE6 C5C5D2D3E84040405CE2C2D4D9D3E240405CD1D6C2C4404040 40404040404040404040404040404040D8E2C5D9E5C9C3C540 404040E2E8E2404040C39385819940C485A589838540D485A2 A281878540D840




Eine Kollegin meinte nun,es liegt an der Formatierung,konnte mir aber auch nicht weiterhelfen.

deni87991
30-01-06, 10:16
Hallo!

Wollte die Erfolgsnachricht verbreiten-bin super Happy,weil es entlich geklappt hat.Hab meine Daten in Excel und so auch in Crystal-herrlich.Macht sogar Spaß,wenns funzt.

vielen Dank noch mal

Gruß

Fuerchau
30-01-06, 10:20
Zur falschen Formatierung:
Die Daten wurden im EBCDIC-Code gelesen, da die Quelldatei keine gültige CCSID hatte (65535 = *HEX).
Für solche Fälle muss man den Schalter "CCSID 65535 umsetzen" bei den diversen Übertragungen anschalten. Dann kommen die Daten auch in ASCII/ANSI.