[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Oct 2014
    Beiträge
    6

    Bildschirmanzeige als Text speichern

    Vorab: ich bin eigentlich reiner Anwender, kein AS400 Programmierer oder Admin, bin mit meinen Möglichkeiten also entsprechend eingeschränkt.
    Problem - ich muss regemäßig große Datenmengen als Textdatei abspeichern. As oben genanntem Grund kopiere ich einen meist mehrseitigen Druckauftrag in's AS400-Eigene Notepad, indem ich die Bildschirmanzeige seitenweise kopiere und das ganze dan abspeichere. Dasa Script dazu sieht so aus:

    [wait app]
    [wait inp inh]
    :Loop
    [Edit Send to SP]
    [roll up]
    wait 20msec until "Weitere ..."
    goto macroend on timeout
    goto Loop
    :macroend
    [Edit Send to SP]
    exit

    Das klappt auch soweit ganz gut.
    Trotzdem: gibt es alternativ die Möglichkeit, anstatt in's AS400-Notepad z.B. in die Windows Zwichenablage zu kopieren und von da aus direkt in eine Textdatei zu speichern (natürlich immer die selbe) oder den Inhalt des Notepads automatisch zu speichern und dieses dann ebenfalls automatisch zu schließen?

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Ich weiß zwar nicht, was du als AS400-Notepad bezeichnest, aber das ist schon ein wenig "blöd".
    Mach mal eine Makroaufzeichnung, die den Bereich markiert und kopiert.
    Dies ist schon mal die Zwischenablage (Clipboard).
    Dann konvertiere das Makro (falls es nicht schon ist) in ein VB-Schript.
    Die CA-5250 unterstützt das schon.
    Hier kannst du dann per Automatisierung (VB-Objekte) auf das Clipboard zugreifen, die Daten auslesen und in eine Textdatei schreiben.

    Ob die ganze Aktion sinnvoll ist kann ich nicht beurteilen.

    Mehr Sinn macht für mich, ggf. mit der IT-Abteilung, ein Excel-Import per externer Abfrage oder eine 5250-Datenübertragung zu definieren.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Oct 2014
    Beiträge
    6
    Ja, sinnvoll ist sicher anders, aber wenn ich das über die IT-Abteilung machen(n lasse), warte ich in 5 Jahren noch, darum muss ich auch diesen kuriosen Umweg machen.
    Mein Fachgebiet ist leider nicht AS-400 Programmierung, sondern Datenauswertung. Makros in VB-Script kann ich allerdings. Makros kann ich auch direkt in VB-Script aufzeichnen.
    Jetzt mal kurz für Dummies -> wenn ich den Bereich markiere, ist er damit schon in der Zwischenablage?

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Erst über "Bearbeiten->Kopieren" wird die Zwischenablage gefüllt.
    Allerdings ersetzt jedes Kopieren den Text.

    Wenn du VB-Script kannst, kannst du auch auf das Clipboard-Object zugreifen und per FileSystem-Object eine Textdatei ausgeben.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Oct 2014
    Beiträge
    6
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Erst über "Bearbeiten->Kopieren" wird die Zwischenablage gefüllt.
    Allerdings ersetzt jedes Kopieren den Text.

    Wenn du VB-Script kannst, kannst du auch auf das Clipboard-Object zugreifen und per FileSystem-Object eine Textdatei ausgeben.
    ...das kopieren - im zweifelsfall einfach den ganzen Bildschirm (filtern kann ich dann immer noch) - geht ja auch per Script, mach ich ja bereits. Muss das nur noch in VB übersetzen. Dann ein Schleifchen und seitenweise in die Ausgabedatei schaufeln? Klingt nach einem Plan.

  6. #6
    Registriert seit
    Nov 2003
    Beiträge
    2.307
    Es gibt bei den Makros auch die Funktion "Bearbeiten - Kopieren, Anhängen". Vielleicht hilft das weiter.

    Zitat Zitat von Fuerchau Beitrag anzeigen
    Erst über "Bearbeiten->Kopieren" wird die Zwischenablage gefüllt.
    Allerdings ersetzt jedes Kopieren den Text.

  7. #7
    Registriert seit
    Oct 2013
    Beiträge
    171
    Wenn Du Befehle eingeben darfst (z.B. WRKSPLF), dann geht auch ein CPYSPLF.

    CPYSPLF FILE(Spooldatei)
    TOFILE(*TOSTMF)
    JOB(*)
    SPLNBR(*LAST)
    TOSTMF('/tmp/spool.txt')

    Der Befehl kopiert die letzte Spoolausgabe meines Jobs ins sogenannte "IFS". Allerdings leider in EBCDIC, das kann man am PC nicht so leicht lesen.

    CPY OBJ('/tmp/spool.txt')
    TOOBJ('/tmp/spool2.txt')
    TOCCSID(1252)
    DTAFMT(*TEXT)

    löst das Problem.

    Und wenn man dann noch eine "Freigabe" definiert hat, z.B. "root", dann kann man im Windows Explorer mit \\deineMaschine\root\tmp\spool2.txt direkt darauf zugreifen.

    Und wenn Deine EDVler das direkt hinter die Erstellung der Liste einbauen, hast Du in 5 Jahren überhaupt keine Arbeit mehr damit. :-)

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Aber nur, wenn die Anzeige ein Spool ist und keine Subfile-Anzeige, Stichwort "Weitere.../Ende".
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Oct 2013
    Beiträge
    171
    ... As oben genanntem Grund kopiere ich einen meist mehrseitigen Druckauftrag ...
    Das klingt für mich schon verdammt nach Spool-Datei.

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Stimmt, das ist hart.
    Mit Kommandozeile würde ich tatsächliche einen CPYSPLF machen und mir die Daten dann per ODBC mit SQL holen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  11. #11
    Registriert seit
    Nov 2003
    Beiträge
    2.307
    Mit dem OpsNav (oder wie er derzeit heißt) kommt man doch auch an die Spooldateien und kann sie einfach als Textdatei kopieren.

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Je nach dem was ich machen will hilft mir ein

    select substr(spoolfile, n, m) as f1, .... from spoolfile
    where substr(spoolfile, n, m) "ist Datenzeile"

    mehr, als den Spool erst in .TXT und anschließend mit VBA und Excel wieder auseinander nehmen.
    Und für sowas gibt es dann Software wie z.B. Compleo (die kann natürlich auch mehr).
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. COLHDG und TEXT ändern
    By AK1 in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 07-04-14, 06:38
  2. DSPF ERRMSG Keyword - Text wird nicht in Zeile 25 angezeigt
    By TheDevil in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 18-12-13, 10:20
  3. cobol programm auf as400 speichern
    By activ in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 24-05-02, 07:32
  4. Intelligent Text Prozessing
    By W.Steiner in forum Archiv NEWSblibs
    Antworten: 0
    Letzter Beitrag: 12-10-01, 07:07
  5. Client Acess Express/ Win2000 - Kennwort speichern.??
    By erwin in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 13-02-01, 07:04

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •