View a markdown version of this page

Sammlung von Mainframe-Quellartefakten - AWS Transformieren

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Sammlung von Mainframe-Quellartefakten

In diesem Thema wird der Prozess zur Erfassung von Mainframe-Quellcode und zugehörigen Artefakten zur Unterstützung von Mainframe-Modernisierungsinitiativen mithilfe von Transform beschrieben. AWS Die korrekte Erfassung und Aufbereitung von Quelltextartefakten ist entscheidend für eine erfolgreiche Analyse, Migrationsplanung und Implementierung.

Inventar des Quellcodes

Typen des Anwendungsquellcodes

Die folgenden Quellcodetypen für Anwendungen werden unterstützt:

  • COBOL-Programme

  • JCL-Skripte

  • Assembler-Programme

  • PL/I Programme

  • CICS-Transaktionen

  • Natürliche Programme

  • REXX-Skripte

  • Easytrieve-Programme

  • Copybooks und beinhaltet

  • Proc-Bibliotheken

Datenbank-Assets

Die folgenden Datenbankressourcen werden unterstützt:

  • DB2, DCLGEN- und DDL-Skripts.

  • IMS-Datenbankdefinitionen (PSBs und DBDs)

  • VSAM-Dateidefinitionen

  • Physikalische und logische Datenbankschemas

  • Datenbankprozeduren und Trigger

Dateierweiterungen im Quellcode

Wenn Sie sich der Erweiterung nicht sicher sind, lassen Sie sie leer oder .txt und AWS Transform klassifiziert sie für Sie.

In der folgenden Tabelle sind gängige Dateierweiterungen für Mainframe-Quellartefakte aufgeführt.

Mainframe-Quellcode-Dateierweiterungen
Language/Type Allgemeine Erweiterungen Description
COBOL .cbl, .cob, .cobol COBOL-Quellprogramme
JCL .jcl Skripte in der Job-Control-Sprache
Assembler .asm Programme in Assembler-Sprache
PL/I .pl1 PL/I Sprachprogramme
CICS-Definition .csd CICS-Systemdefinition (CSD)
Natürlich .nat Natürliche Programme
REXX .rex, .rexx REXX-Skripte
Einfach abrufen .ezt Easytrieve-Berichtsprogramme
Bücher kopieren .cpy COBOL-Copybooks
BMS .bms Grundlegende Mapping-Unterstützung (BMS)
PL/I Copybooks .pl1_kopieren PL/I Copybooks
Db2 DCLGEN .dcl Generator für Db2-Deklarationen
Db2-Definition .sql, .ddl Db2-Datenbankdefinitionen
IMS-Definition .ims Datensatz zur IMS-Ressourcendefinition (IMS-Stufe 1)
MFS .mfs IMS MFS (Nachrichtenformatdienst)
PSB .psb IMS PSB (Programmspezifikationsblock)
DBD .dbd IMS-Datenbankdefinitionen
JCL Proc .prc, .proc JCL-Prozedurbibliotheken
JCL beinhaltet .inc JCL-Dateien einbeziehen
Makros .mac Assembler-Makros
Steuerkarten .ctl JCL Utility-Steuerkarten

Methoden zur Erfassung

Extraktion des Quellcodes

Verwenden Sie sichere FTP-Clients (WinSCP/FileZilla) für die interaktive Quellcode-Extraktion aus Mainframe-PDS-Bibliotheken.

Extraktion des DB2-Schemas

Die DB2 LUW-Clientsoftware (Linux, UNIX und Windows) enthält das db2look Hilfsprogramm als Teil des Installationspakets. Das db2look Hilfsprogramm extrahiert DDL-Anweisungen (Data Definition Language) aus einer DB2-Datenbank.

Führen Sie den folgenden Befehl aus:

db2look -d DATABASE_NAME -i userid -w password -a -e -m -l -x -f -createdb -printdbcfg -o DATABASE_NAME.sql

In der folgenden Liste werden die Parameter beschrieben:

  • -d DATABASE_NAME: Gibt den Namen der Datenbank an, aus der das Schema extrahiert werden soll

  • -i userid: Benutzer-ID für die Datenbankauthentifizierung

  • -w password: Passwort für die Datenbankauthentifizierung

  • -a: Extrahiert Autorisierungsinformationen (Zuschüsse)

  • -e: Extrahiert alle Datenbankobjekte (Tabellen, Ansichten, Indizes usw.)

  • -m: Extrahiert Statistiken und physikalische Eigenschaften

  • -l: Extrahiert Tabellen- und Spaltenkommentare

  • -x: Extrakte erklären Tabellen

  • -f: Formatiert die Ausgabe für eine bessere Lesbarkeit

  • -createdb: Beinhaltet Anweisungen zur Datenbankerstellung

  • -printdbcfg: Beinhaltet Datenbankkonfigurationsparameter

  • -o DATABASE_NAME.sql: Gibt den Namen der Ausgabedatei an

Extrahieren von Kataloginformationen aus dem Mainframe

Der Befehl LISTCAT in IDCAMS ist ein Hilfsprogramm zum Abrufen von Kataloginformationen über Datensätze auf dem Mainframe. Dies ist bei Mainframe-Modernisierungsprojekten nützlich, um Datensätze zu inventarisieren und ihre Eigenschaften zu verstehen.

//LSTCATJ JOB 'LISTCAT',CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID //* //STEP1 EXEC PGM=IDCAMS //* //SYSPRINT DD DSN=AWS.M2.CATALOG.LIST, // DISP=(NEW,CATLG,DELETE), // SPACE=(CYL,(1,1),RLSE), // DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0) //* //SYSIN DD * LISTCAT ENT('AWS.M2.CARDDEMO.*') ALL LISTCAT ENT('SYS1.*') ALL /*

Extrahieren von CICS-Definitionen

Das IBM-provided DFHCSDUP-Hilfsprogramm kann CICS-Ressourcendefinitionen aus der CICS-Systemdefinitionsdatei (CSD) extrahieren.

Verwenden Sie die folgende JCL, um bestehende Definitionen aus dem DFHCSD zu entladen:

//CSDEXTJ JOB 'EXTRACT CSD',CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID //* //STEP1 EXEC PGM=DFHCSDUP,REGION=0M, // PARM='CSD(READONLY),PAGESIZE(60),NOCOMPAT' //* //STEPLIB DD DSN=your-hlq.SDFHLOAD,DISP=SHR //DFHCSD DD DSN=your-hlq.DFHCSD,DISP=SHR //* //CBDOUT DD DSN=your-hlq.CSD, // DISP=(NEW,CATLG,DELETE), // SPACE=(CYL,(1,1),RLSE), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=0) //SYSPRINT DD SYSOUT=* //SYSIN DD * EXTRACT GROUP(cics-group) USERPROGRAM(DFH0CBDC) OBJECTS /*

IMS-Definitionen werden extrahiert

Um IMS-Definitionen zu extrahieren, können Sie die IMS-Transaktionsdatei mit dem Hilfsprogramm DFSURDD0 generieren. Dieses Tool erstellt Makroanweisungen der Phase 1, die Sie für Migrationszwecke verwenden können. Derzeit wird nur IMS Stage 1 unterstützt.

Verwenden Sie die folgende JCL, um IMS-Definitionen zu extrahieren:

//IMSEXTJ JOB 'IMS STAGE 1',CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID //* //STEP1 EXEC PGM=DFSURDD0,MEMLIMIT=12G //* //STEPLIB DD DISP=SHR,DSN=your-hlq.SDFSRESL //* //RDDSDSN DD DISP=SHR,DSN=your-rdds //* //SYSOUT DD DSN=your-hlq.STAGE1.IMS, // DISP=(NEW,CATLG,DELETE), // SPACE=(CYL,(1,1),RLSE), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=0) //SYSPRINT DD SYSOUT=* //SYSIN DD * OUTPUT=MAC /*

Scheduler-Informationen werden extrahiert CA-7

CA-7 Informationen zum Jobplan sind in LJOB-Berichten enthalten. Verwenden Sie das LJOB-Hilfsprogramm mit dem LIST=NODD Parameter, um die Berichte auf dem Mainframe zu generieren. Die Berichte müssen eine .ca7 Erweiterung haben. Jeder Bericht muss in Spalte 1 ANSI-Wagenkontrollzeichen enthalten. Sie können einen Bericht mit Wagensteuerzeichen in Spalte 1 erstellen, indem Sie in der JCL, die zur Ausführung des Dienstprogramms LJOB verwendet wird, den Wert DCB=RECFM=FBA (oder FA) angeben.

Beispiel: LJOB,JOB=ZBN*,LIST=ALL

Weitere Informationen finden Sie in der Broadcom-Dokumentation.

Extrahieren von SMF-Daten

SMF-Datensätze (System Management Facility) enthalten Aktivitätsmetriken, die von Transform verwendet werden, um die AWS Nutzung von Batch-Jobs und CICS-Transaktionen zu analysieren. Die folgenden SMF-Datensatztypen werden unterstützt: 14, 15, 30 (Untertyp 5), 64, 102, 110 (Untertyp 1 mit Datenklasse 1, 3 und 4).

Formatanforderungen für SMF-Datensätze:

  • Muss die Datensatztypen 30 und 110 (mindestens) enthalten

  • Muss im rohen binären EBCDIC-Format vorliegen und RDW-Bytes (Record Descriptor Word) enthalten

  • Muss in einem der folgenden Formate angegeben werden:

    • Eine Datei mit bis zu 600 MB, komprimiert im ZIP-Format

    • Eine Datei mit bis zu 5 GB, komprimiert im Format.tar.gz oder .gz

  • Muss in einem separaten Ordner von Ihrem Quellcode in Amazon S3 gespeichert werden

Stellen Sie SMF-Aufzeichnungen für mindestens 13 Monate bereit, um jährliche Chargenzyklen und saisonale Muster zu erfassen, die in kürzeren Zeiträumen möglicherweise übersehen werden.

Option 1: Extrahieren und sortieren Sie SMF-Datensätze

Verwenden Sie die folgende JCL-Beispieldatei, um SMF-Datensätze zu extrahieren und zu sortieren:

//SMFEXTR JOB (ACCT),'EXTRACT SMF',CLASS=A, // MSGCLASS=X,NOTIFY=&SYSUID //*-------------------------------------------------------------------* //* SMF RECORD EXTRACTION TEMPLATE //* CUSTOMIZE: Job card, dataset names, date range, record types //*-------------------------------------------------------------------* //* //* STEP 1: EXTRACT SMF RECORDS //* //EXTRACT EXEC PGM=IFASMFDP //SYSPRINT DD SYSOUT=* //* //* INPUT: Specify your SMF datasets (MAN files or GDG) //* //DUMPIN DD DISP=SHR,DSN=SYS1.MAN1 // DD DISP=SHR,DSN=SYS1.MAN2 // DD DISP=SHR,DSN=SYS1.MAN3 //* //* OUTPUT: Extracted SMF records //* //DUMPOUT DD DSN=your.hlq.SMF.EXTRACT, // DISP=(NEW,CATLG,DELETE), // UNIT=SYSDA, // SPACE=(CYL,(500,100),RLSE), // DCB=(RECFM=VBS,LRECL=32760,BLKSIZE=27998) //* //* CONTROL CARDS //* //SYSIN DD * INDD(DUMPIN,OPTIONS(DUMP)) OUTDD(DUMPOUT,TYPE(14,15,30,110)) DATE(yyyy/ddd,yyyy/ddd) START(0000) END(2359) /* //* //* STEP 2: SORT EXTRACTED RECORDS (OPTIONAL) //* //SORT EXEC PGM=SORT //SORTIN DD DISP=SHR,DSN=your.hlq.SMF.EXTRACT //SORTOUT DD DSN=your.hlq.SMF.SORTED, // DISP=(NEW,CATLG,DELETE), // UNIT=SYSDA, // SPACE=(CYL,(500,100),RLSE), // DCB=(RECFM=VBS,LRECL=32760) //SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(50)) //SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,(50)) //SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,(50)) //SYSOUT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(11,4,CH,A,7,4,CH,A,15,4,CH,A),EQUALS /*

Passen Sie die folgenden Werte in der vorherigen JCL an:

  1. Jobkarte: Konto, Klasse und Nachrichtenklasse aktualisieren

  2. DUMPIN: Zeigen Sie auf Ihre SMF-Datensätze

  3. DUMPOUT: Geben Sie den Namen des Ausgabedatensatzes und HLQ an

  4. TYP: Wählen Sie Datensatztypen aus (14, 15, 30, 110 oder andere)

  5. DATUM: Format yyyy/ddd (zum Beispiel 2026/055,2026/056)

  6. LEERTASTE: Passen Sie es auf der Grundlage des erwarteten Datenvolumens an

  7. Entfernen Sie den SORT-Schritt, falls er nicht benötigt wird

Option 2: Extrahieren Sie SMF-Daten mit DFSORT

Sie können DFSORT verwenden, um historische SMF-Daten zu konsolidieren und zu melden. Dies ist hilfreich, wenn Sie Ihre SMF-Datensätze in einem GDG nach Tag oder Woche speichern. Der folgende Job verwendet DFSORT, um SMF-Datensätze aus der SORTIN-Datei zu konsolidieren und auf der Grundlage der im INCLUDE COND-Parameter angegebenen Datensätze zu filtern.

//EXTRSMF JOB 'EXTRACT SMF RECORDS',CLASS=S,MSGCLASS=H, // MSGLEVEL=(1,1),REGION=0M,NOTIFY=&SYSUID,TIME=1440 //SORTJES2 EXEC PGM=SORT,REGION=0M //SYSOUT DD SYSOUT=* //SORTMSG DD SYSOUT=* //SORTIN DD DISP=SHR,DSN=your.hlq.SMF.EXTRACT //SORTOUT DD DSN=your.hlq.SMF.OUTPUT, // DISP=(MOD,CATLG,DELETE), // DCB=(BUFNO=20, // RECFM=VBS,LRECL=32760,BLKSIZE=27998), // SPACE=(CYL,(1400,900),RLSE) //SORTWK1 DD UNIT=SYSDA,SPACE=(CYL,(30,50)) //SORTWK2 DD UNIT=SYSDA,SPACE=(CYL,(30,50)) //SORTWK3 DD UNIT=SYSDA,SPACE=(CYL,(30,50)) //SORTWK4 DD UNIT=SYSDA,SPACE=(CYL,(30,50)) //SYSIN DD * OPTION COPY INCLUDE COND=(6,1,BI,EQ,X'0E',OR,6,1,BI,EQ,X'0F',OR, 6,1,BI,EQ,X'1E',OR,6,1,BI,EQ,X'40',OR, 6,1,BI,EQ,X'50',OR,6,1,BI,EQ,X'59',OR, 6,1,BI,EQ,X'5C',OR,6,1,BI,EQ,X'65',OR, 6,1,BI,EQ,X'66',OR,6,1,BI,EQ,X'6E')

Um die Daten herunterzuladen und gleichzeitig die RDW-Daten beizubehalten, können Sie einen FTP-Server verwenden, um die extrahierte Datei zu empfangen. Stellen Sie sicher, dass die Daten im Binärformat übertragen werden und dass die RDW-Option verwendet wird, damit das RDW in der Datenübertragung enthalten ist. Der folgende Job zeigt ein Beispiel für einen FTP-Job zum Übertragen dieser Datei.

//EXTRSMF JOB 'EXTRACT SMF RECORDS',CLASS=A,MSGCLASS=H, // MSGLEVEL=(1,1),REGION=0M,NOTIFY=&SYSUID,TIME=1440 //STEP1 EXEC PGM=FTP,REGION=2048K //SYSIN DD * 10.10.10.10 userid password type i LOCSITE RDW put 'your.hlq.SMF.OUTPUT' SMFREQS.SMF quit

SCRT-Bericht wird hochgeladen

Sie können auch einen SCRT-Bericht ( Sub-Capacity Reporting Tool) in Transform hochladen. AWS

Hochladen des Anwendungsinventars

Nachdem Sie alle Artefakte gesammelt haben, führen Sie die folgenden Schritte aus:

  1. Organisieren Sie Dateien nach Artefakttyp in Unterordnern (z. B. /cobol, /jcl, /copybooks, /db2, /ims, /cics, /ca7).

  2. Komprimieren Sie den Ordner der obersten Ebene in eine einzige ZIP-Datei.

  3. Laden Sie die ZIP-Datei in den Amazon S3 S3-Bucket hoch, der mit Ihrem AWS Transform-Workspace verbunden ist.

Anmerkung

SMF-Datensätze müssen in einem von Ihrem Quellcode getrennten Ordner innerhalb des Amazon S3 S3-Buckets gespeichert werden und müssen im Format.tar.gz oder .gz vorliegen.

Eine ausführliche Anleitung zum Verbinden Ihres Amazon S3 S3-Buckets mit AWS Transform finden Sie unterRichten Sie einen Konnektor ein.