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.
| 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 -dDATABASE_NAME-iuserid-wpassword-a -e -m -l -x -f -createdb -printdbcfg -oDATABASE_NAME.sql
In der folgenden Liste werden die Parameter beschrieben:
-d: Gibt den Namen der Datenbank an, aus der das Schema extrahiert werden sollDATABASE_NAME-i: Benutzer-ID für die Datenbankauthentifizierunguserid-w: Passwort für die Datenbankauthentifizierungpassword-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: Gibt den Namen der Ausgabedatei anDATABASE_NAME.sql
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:
Jobkarte: Konto, Klasse und Nachrichtenklasse aktualisieren
DUMPIN: Zeigen Sie auf Ihre SMF-Datensätze
DUMPOUT: Geben Sie den Namen des Ausgabedatensatzes und HLQ an
TYP: Wählen Sie Datensatztypen aus (14, 15, 30, 110 oder andere)
DATUM: Format yyyy/ddd (zum Beispiel 2026/055,2026/056)
LEERTASTE: Passen Sie es auf der Grundlage des erwarteten Datenvolumens an
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.10useridpasswordtype i LOCSITE RDW put 'your.hlq.SMF.OUTPUT'SMFREQS.SMFquit
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:
Organisieren Sie Dateien nach Artefakttyp in Unterordnern (z. B. /cobol, /jcl, /copybooks, /db2, /ims, /cics, /ca7).
Komprimieren Sie den Ordner der obersten Ebene in eine einzige ZIP-Datei.
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.