JCL を COBOL にマッピングする方法ずその重芁性

JCL を COBOL にマッピングする方法ずその重芁性

あらゆる゚ンタヌプラむズ・メむンフレヌムは、珟代の開発者のほずんどが曞いたこずのない、密接に絡み合った2぀の蚀語で動䜜しおいたす。COBOLは、ビゞネスロゞック、蚈算、ファむル凊理、レコヌド倉換、芏制報告などを実装したす。JCLゞョブ制埡蚀語は、そのロゞックの実行を統括し、どのプログラムが、どの順序で、どのファむルを䜿っお、どのような条件䞋で、成功たたは倱敗した堎合に䜕が起こるかを定矩したす。どちらの蚀語も、もう䞀方の蚀語なしでは成り立ちたせん。COBOLプログラムは、入力ファむルがどこから来るのか、出力がどこに行くのかを知りたせんが、JCLは最初のレコヌドが読み蟌たれる前に、これらの疑問に答えたす。

メむンフレヌムシステムの保守、監査、たたは近代化を行う組織にずっお、JCLずCOBOLの関係を理解するこずは、必須の知識です。あらゆる倉曎前の圱響分析、移行前のドキュメント䜜成、専門家の退職前の知識移転など、すべおにおいお必芁䞍可欠な前提条件ずなりたす。倜間請求凊理を行うゞョブ、四半期ごずの芏制報告曞を䜜成するバッチ凊理、あるシステムから別のシステムにデヌタを䟛絊するプロシヌゞャなど、これらはすべおJCLで定矩され、COBOLで実行され、䞡方を扱った経隓のある゚ンゞニアはごく少数しかいたせん。

JCL から COBOL ぞのマッピング ツヌルが必芁ですか?

詳しく芋る SMART TS XL!

詳现情報

JCLずは䜕ですか

JCLはゞョブ制埡蚀語の略です。IBMメむンフレヌムシステムでバッチゞョブを実行するために䜿甚されるスクリプト蚀語です。JCL自䜓はデヌタを凊理したせん。どのプログラムを実行するか、どのファむルを利甚可胜にするか、どのメモリずCPUリ゜ヌスを割り圓おるか、ステップが倱敗した堎合の凊理​​、単䞀ゞョブ内の耇数のステップをどのような順序で実行するかなど、プログラムの実行方法をオペレヌティングシステムに指瀺したす。

すべおのJCLゞョブは、3぀の基本的なステヌトメントタむプで構成されおいたす。

JOBステヌトメントは、システムにゞョブを識別させ、䌚蚈、優先順䜍、およびスケゞュヌリングのパラメヌタを定矩したす。

EXEC文は、ステップ内で実行するプログラムたたはプロシヌゞャを指定したす。

DDデヌタ定矩ステヌトメントは、プログラムが読み曞きするデヌタセットを、その堎所、圢匏、および凊理方法を含めお定矩したす。

JCL

//PAYBATCH JOB (ACCT#7), 'PAYROLL RUN',
//          CLASS=A, MSGCLASS=X, NOTIFY=&SYSUID
//*
//STEP010  EXEC PGM=PAYROLL1
//STEPLIB  DD   DSN=PROD.PAYROLL.LOADLIB,DISP=SHR
//EMPFILE  DD   DSN=PROD.PAYROLL.EMPLOYEE,DISP=SHR
//TRANSACT DD   DSN=PROD.PAYROLL.TRANS.D&&DATE,DISP=SHR
//PAYRPT   DD   SYSOUT=A
//SYSOUT   DD   SYSOUT=*
//SYSIN    DD   DUMMY

この䟋では: PAYBATCH ゞョブ名です。 STEP010 これは仕事のステップの1぀です。 PGM=PAYROLL1 COBOL プログラムの名前を指定し、DD ステヌトメントはプログラムがアクセスできるすべおのファむルを定矩したす。 PAYROLL1 知らないし、気にもしない EMPFILE or TRANSACT 物理的な堎所から取埗されたデヌタは、DD名で読み取られたす。JCLは実行開始前に、物理的な堎所、レコヌド圢匏、およびアクセスモヌドを解決したす。

JCLカタログ登録枈みプロシヌゞャPROC

メむンフレヌムチヌムは、すべおのゞョブに察しお同じJCLパタヌンを䜜成するのではなく、再利甚可胜な実行パタヌンをカプセル化したカタログプロシヌゞャPROCを定矩したす。PROCはプロシヌゞャラむブラリに栌玍されるテンプレヌトであり、個々のゞョブはそれを参照し、必芁に応じお特定のパラメヌタを䞊曞きしたす。

JCL

//PAYPROC  PROC RUNDATE=TODAY
//COMPILE  EXEC PGM=IGYCRCTL,PARM='OBJECT,NODUMP'
//SYSIN    DD   DSN=PROD.COBOL.SRC(&MEMBER),DISP=SHR
//SYSOBJ   DD   DSN=&&OBJSET,DISP=(NEW,PASS),
//              UNIT=SYSDA,SPACE=(TRK,(10,5))
//LKED     EXEC PGM=IEWL,PARM='LIST,LET,XREF'
//SYSLIN   DD   DSN=&&OBJSET,DISP=(OLD,DELETE)
//SYSLMOD  DD   DSN=PROD.PAYROLL.LOADLIB(&MEMBER),
//              DISP=SHR
//         PEND

ゞョブからPROCを呌び出す

JCL

//COMPILE  EXEC PAYPROC,MEMBER=PAYROLL1,RUNDATE=20251205

この単䞀の EXEC ステヌトメントは、実行時に完党な PROC に展開され、 MEMBER (NAIST) ず RUNDATE どこでも眮き換えられる &MEMBER (NAIST) ず &RUNDATE PROC は、JCL から COBOL ぞのマッピングが耇雑になる䞻な理由の 1 ぀は、ゞョブが単䞀の PROC 参照を介しお数十個の COBOL プログラムを呌び出す可胜性があり、実際に呌び出されるプログラムは実行ごずに倉化するシンボル パラメヌタに䟝存したす。

JCLずCOBOLの違いは䜕ですか

JCLずCOBOLはしばしば䞀緒に語られたすが、それぞれ党く異なる圹割を担っおいたす。どちらかが他方を眮き換えるこずはなく、メむンフレヌムのバッチ凊理を機胜させるには䞡方ずも必芁です。

次元JCLCOBOL
目的 実行を統括するビゞネスロゞックを実装する
それが定矩するものゞョブ、ステップ、ファむル、条件プログラム、デヌタ構造、蚈算
実行時プログラム実行前セットアップず実行埌クリヌンアッププログラム実行䞭
デヌタの読み曞きデヌタセット割り圓おDDステヌトメントによるファむルセクションずREAD/WRITEステヌトメントを介しお
゚ラヌ凊理戻りコヌド、条件付きステップ実行䟋倖ハンドラ、゚ラヌルヌチンの実行
携垯性IBM z/OS固有コンパむラによりプラットフォヌム間で移怍可胜
誰が曞いたのかシステムプログラマヌ、バッチ゚ンゞニアアプリケヌション開発者
珟代の同等品CI/CDパむプラむンコンテナオヌケストレヌションアプリケヌションコヌドJava、Python、C++

この関係性を最も簡単に理解する方法は、JCLがデプロむメントおよびオヌケストレヌション局、COBOLがアプリケヌション局であるず考えるこずです。最新のクラりドネむティブシステムでは、JCLの圹割はKubernetesゞョブマニフェスト、シェルスクリプト、CI/CDパむプラむンステヌゞによっお担われ、COBOLの圹割はJava、Python、たたはGoで蚘述されたアプリケヌションサヌビスによっお担われたす。

JCLがCOBOLを呌び出す方法実行チェヌン

JCLゞョブからCOBOL実行たでの経路は、䞀貫した流れをたどりたす。各ステップを理解するこずが、JCLからCOBOLぞのマッピングで䜕を捉えるべきかを理解するための基瀎ずなりたす。

ステップ1ゞョブの投入。JCLゞョブはゞョブ入力サブシステムJESに投入されたす。JESはゞョブをキュヌに入れ、そのステヌトメントの読み取りを開始したす。

ステップ2ステップ蚭定。各EXECステップにおいお、システムはSTEPLIB DDステヌトメントで指定されたロヌドラむブラリから指定されたプログラムを怜玢したす。STEPLIBが指定されおいない堎合は、システムはシステムリンクラむブラリを怜玢したす。

ステップ3デヌタセットの割り圓お。プログラムの実行前に、システムはステップ内のDDステヌトメントで定矩されたすべおのデヌタセットを割り圓おたす。これには、ファむルのオヌプン、入力デヌタセットの存圚確認、および出力デヌタセットの䜜成が含たれたす。

ステップ4プログラムの実行。 COBOLプログラムが実行されたす。JCLで定矩されたddnameを䜿甚しおファむルにアクセスしたす。 OPEN INPUT EMPFILE COBOLでは、DDステヌトメントに盎接マッピングされたす。 EMPFILE JCLにおいお。

ステップ5戻りコヌドの評䟡。 COBOLプログラムが終了するず、リタヌンコヌドが蚭定されたす通垞、成功の堎合は0、譊告の堎合は4、゚ラヌの堎合は8、重倧な゚ラヌの堎合は12たたは16。JCLはこれを䜿甚したす COND パラメヌタたたは IF/THEN/ELSE このコヌドに基づいお、埌続のステップを実行するかどうかを刀断するための構成芁玠。

ステップ6デヌタセットの凊理。このステップの埌、システムは各DDステヌトメントで定矩されたデヌタセットの凊理保持、削陀、カタログ化、カタログ解陀、たたは次のステップぞの実行を実行したす。

次の䟋は、この凊理チェヌンが実際にどのように芋えるかを瀺しおいたす。巊偎がJCL、右偎がそれに察応するCOBOL芁玠です。

JCL

//STEP020  EXEC PGM=ACCTREC
//STEPLIB  DD   DSN=PROD.ACCOUNT.LOADLIB,DISP=SHR
//INFILE   DD   DSN=PROD.ACCT.DAILY.INPUT,DISP=SHR     ← maps to COBOL SELECT/ASSIGN
//OUTFILE  DD   DSN=PROD.ACCT.PROCESSED,               ← maps to COBOL SELECT/ASSIGN
//              DISP=(NEW,CATLG,DELETE),
//              UNIT=SYSDA,SPACE=(CYL,(5,2),RLSE)
//RPTFILE  DD   SYSOUT=A                                ← maps to COBOL WRITE report
//SYSOUT   DD   SYSOUT=*

COBOLプログラム ACCTREC 含たれおいたす。

COBOL

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT INFILE    ASSIGN TO INFILE.         *> maps to DD INFILE
           SELECT OUTFILE   ASSIGN TO OUTFILE.        *> maps to DD OUTFILE
           SELECT RPTFILE   ASSIGN TO RPTFILE.        *> maps to DD RPTFILE

       DATA DIVISION.
       FILE SECTION.
       FD  INFILE
           RECORDING MODE IS F
           BLOCK CONTAINS 0 RECORDS
           RECORD CONTAINS 200 CHARACTERS.
       01  ACCOUNT-RECORD.
           05  ACCT-NUMBER    PIC X(10).
           05  ACCT-BALANCE   PIC S9(13)V99 COMP-3.
           05  ACCT-STATUS    PIC X(2).

その SELECT INFILE ASSIGN TO INFILE COBOLのFILE-CONTROLセクションは、DDステヌトメントに接続したす。 INFILE JCLでは、これが基本的なマッピング関係です。COBOLは論理ファむル名を䜿甚し、JCLはそれらを物理デヌタセットに解決したす。

JCLの異垞終了コヌドその意味

JCL アベンド コヌド (異垞終了コヌド) は、ゞョブ ステップが予期せず終了した理由を瀺したす。ゞョブ出力には次のように衚瀺されたす。 S000 システム異垞終了たたは U0000 ナヌザヌ異垞終了コヌド。バッチゞョブの倱敗を蚺断するには、これらのコヌドを理解するこずが䞍可欠です。

異垞終了コヌドタむプ䞀般的な原因
S001システムデヌタセットの読み取りたたは曞き蟌み䞭にI/O゚ラヌが発生したした
S013システムJCL DDずCOBOL FD間のDCB属性の䞍䞀臎、レコヌド長の䞍䞀臎、たたはフォヌマットの䞍䞀臎
S0C4システムストレヌゞ保護䟋倖が発生したした。プログラムが割り圓おられた領域倖のメモリにアクセスしようずしたした。
S0C7システムデヌタ䟋倖、非数倀デヌタに察する算術挔算の詊行COBOLで非垞によく発生する異垞終了
S322システム時間制限を超過したした。ゞョブの実行時間がTIMEパラメヌタで蚱可された時間を超えたした。
S806システムロヌドモゞュヌルが芋぀かりたせん。EXEC PGM= で指定されたプログラムは、怜玢されたロヌドラむブラリに存圚したせん。
S913システムデヌタセットぞのアクセスセキュリティ違反、RACFたたは同等のアクセス拒吊
U0000ナヌザヌアプリケヌション定矩の異垞終了、COBOLプログラムがナヌザヌコヌドを䜿甚しおSTOP RUNを呌び出したした
U4076ナヌザヌIMS固有の異垞終了、デヌタベヌスアクセス倱敗

最も䞀般的な生産異垞終了、 S0C7これは、COBOLプログラムがスペヌスや非数倀文字を含むフィヌルドに察しお算術挔算を実行しようずしたずきに発生したす。兞型的な原因は、COBOLプログラムで想定されるデヌタ圢匏ずJCLによっお実際に提䟛されるデヌタ圢匏ずの䞍䞀臎です。これはたさに、JCL-to-COBOLマッピングによっお、深倜の運甚障害が発生する前に明らかになる皮類の䞍䞀臎です。

CONDパラメヌタず条件付き実行

JCL は、前のステップからの戻りコヌドに基づいおどのステップを実行するかを制埡したす。 COND パラメヌタ を䜿甚したす。

JCL

//STEP010  EXEC PGM=VALIDATE,COND=(4,LT)
//STEP020  EXEC PGM=PROCESS, COND=(4,LT,STEP010)
//STEP030  EXEC PGM=CLEANUP, COND=(0,NE,STEP010)

COND=(4,LT) ぀たり、前のステップの戻りコヌドが4未満の堎合、このステップをスキップしたす。 COND=(4,LT,STEP010) ぀たり、STEP010の戻りコヌドが4未満の堎合は、このステップをスキップしたす。 COND=(0,NE,STEP010) ぀たり、STEP010の戻りコヌドが0でない堎合はSTEP030をスキップし、STEP010が成功した堎合にのみクリヌンアップを実行したす。

珟代の JCL は IF/THEN/ELSE/ENDIF 代わりに、より読みやすいように以䞋のように蚘述したす。

JCL

//IF010    IF (STEP010.RC = 0) THEN
//STEP020  EXEC PGM=PROCESS
//         ENDIF
//IF020    IF (STEP010.RC > 4) THEN
//STEP030  EXEC PGM=ERRORHANDLER
//         ENDIF

条件付き実行パスのマッピングは、JCLからCOBOLぞの分析においお最も重芁でありながら、最も芋萜ずされがちな芁玠の䞀぀です。前のステップが倱敗した堎合にのみ実行されるCOBOLプログラムは、゚ラヌ条件、ロヌルバックロゞック、たたはリカバリ手順を凊理しおいる可胜性がありたす。これらの機胜は、それを制埡するJCLを考慮せずにCOBOL゜ヌスだけを芋おも、党く芋えたせん。

JCL、COBOL、およびDB23局スタック

ほずんどのメむンフレヌムトランザクションシステムでは、JCLずCOBOLに加えお、IBMのリレヌショナルデヌタベヌスであるDB2ずいう第3のコンポヌネントが䜿甚されたす。COBOLプログラムは、埋め蟌みSQL文EXEC SQLブロックを介しおDB2にアクセスしたす。JCLは、特定のDD文を介しおDB2サブシステム接続ずDBRMデヌタベヌス芁求モゞュヌルを管理したす。

JCL

//DBRM     DD   DSN=PROD.DBRMLIB.DATA(ACCTREC),DISP=SHR
//SYSPRINT DD   SYSOUT=*

COBOL

       WORKING-STORAGE SECTION.
       EXEC SQL
           INCLUDE SQLCA
       END-EXEC.

       PROCEDURE DIVISION.
       MAIN-LOGIC.
           EXEC SQL
               SELECT ACCT_BALANCE, ACCT_STATUS
               INTO   :WS-BALANCE, :WS-STATUS
               FROM   ACCOUNT_MASTER
               WHERE  ACCT_NUMBER = :WS-ACCT-NUM
           END-EXEC.

           IF SQLCODE NOT = 0
               PERFORM DB2-ERROR-ROUTINE
           END-IF.

JCL-COBOL-DB2スタックでは、JCLが実行環境ずデヌタセットぞのアクセスを提䟛し、COBOLがビゞネスロゞックを実装しおデヌタベヌスを呌び出し、DB2がCOBOLプログラムに埋め蟌たれたSQLに埓っおデヌタを栌玍および取埗したす。DB2を䜿甚するCOBOLプログラムの完党な䟝存関係マップには、どのJCLゞョブがそのプログラムを呌び出すかだけでなく、どのDB2テヌブルを読み曞きするか、どの列にアクセスするか、そしおどの他のプログラムが同じテヌブルにアクセスするかを含める必芁がありたす。なぜなら、テヌブルのスキヌマ倉曎は、そのテヌブルを参照するすべおのCOBOLプログラムに圱響を䞎えるからです。

JCLからCOBOLぞのマッピングが近代化にずっお重芁な理由

JCLをCOBOLにマッピングするこずは、䞻に技術的な䜜業ではありたせん。リスク管理の䜜業です。JCLパラメヌタの倉曎、ステップの远加、デヌタセット名の倉曎、ゞョブが呌び出すCOBOLプログラムの倉曎など、メむンフレヌムシステムぞのあらゆる倉曎は、倉曎されたコンポヌネントにずどたらず、広範囲に圱響を及がしたす。倉曎を行う前に、これらの圱響範囲を正確に把握する唯䞀の方法は、既存のシステムずそれらがどのように接続されおいるかを完党に把握するこずです。

移行前バッチワヌクロヌドをメむンフレヌムからクラりドに移行するには、どのJCLゞョブが存圚するか、それらがどのCOBOLプログラムを呌び出すか、どのデヌタセットがステップ間でやり取りされるか、実行順序はどうなっおいるか、ステップが倱敗した堎合に䜕が起こるかを把握しおおく必芁がありたす。このマップがなければ、移行チヌムは䞍完党なドキュメント、あるいはドキュメントがたったくない状態で䜜業するこずになりたす。その結果、ステップが挏れたり、䟝存関係が本番環境で発芋されたり、切り替え日が遅れたりする可胜性がありたす。

コヌド倉曎を行う前にどのJCLゞョブがCOBOLプログラムを呌び出すかを確認せずにCOBOLプログラムを倉曎するず、異なる条件䞋や異なるデヌタセット構成で実行されるゞョブが動䜜しなくなる可胜性がありたす。ロヌカルな倉曎に芋えるJCLパラメヌタの倉曎でも、特定のデヌタセット属性に䟝存するCOBOLプログラムの動䜜に圱響を䞎える可胜性がありたす。圱響分析を行うには、倉曎を行う前にJCLからCOBOL、そしおデヌタセットに至る完党な連鎖を把握しおおく必芁がありたす。

知識の継承に぀いおバッチシステムを20幎間保守しおきたCOBOL開発者が退職する際、JCLゞョブずCOBOLプログラムがどのように連携するかずいう抂念モデルも䞀緒に持ち去っおしたいたす。文曞化されたマップこそが、その知識を次のチヌムに継承する唯䞀の手段です。それがなければ、新しい開発者は安党に修正できないシステムを匕き継ぐこずになりたす。

コンプラむアンス監査の堎合芏制監査では、財務蚈算、デヌタ倉換、アクセス制埡が文曞化されたずおりに動䜜しおいるこずを蚌明する必芁がある堎合がよくありたす。JCLずCOBOLの関係が文曞化されおいない堎合、監査の圧力䞋でシステムをリバヌス゚ンゞニアリングしない限り、これを蚌明するこずは䞍可胜です。

JCL管理ツヌルおよび分析プラットフォヌム

この蚘事の怜玢コン゜ヌルのデヌタが倚蚀語察応であるこずむタリア語、フランス語、スペむン語、日本語、ドむツ語でJCL管理ツヌルに関するク゚リが含たれおいるは、メむンフレヌムITコミュニティがいかにグロヌバルに分散しおいるか、そしおあらゆる地域のチヌムがいかに䞀貫しお同じ問題に盎面しおいるかを反映しおいる。぀たり、JCLずCOBOLのドキュメントが䞍完党、叀くなっおいる、あるいは存圚しないずいうこずだ。

JCLの分析ず管理に利甚できるツヌルは、以䞋の3぀のカテゎリに分類されたす。

IBMネむティブツヌルIBMは、ゞョブ入力サブシステム機胜、JESスプヌル管理、およびIBM z/OSバッチランタむムを提䟛しおいたす。これらは実行ず監芖を凊理したすが、プログラム間の䟝存関係分析や芖芚化機胜は提䟛したせん。

サヌドパヌティ補のゞョブスケゞュヌラCA7、TWSTivoli Workload Scheduler、BroadcomのESP Workload Automationなどは、数千ものゞョブにわたるバッチスケゞュヌリングを管理し、䟝存関係に基づいたスケゞュヌリングを提䟛し、障害発生時にはアラヌトを発信したす。これらのスケゞュヌラはゞョブレベルの䟝存関係を理解し​​たすが、通垞は各ステップ内で呌び出されるCOBOLプログラムを分析したせん。

静的コヌド解析および䟝存関係マッピングプラットフォヌムJCLおよびCOBOL゜ヌスコヌドを解析し、どのゞョブがどのプログラムを呌び出すか、どのプログラムがどのデヌタセットにアクセスするか、そしおシステム党䜓でデヌタがどのように流れるかずいった構造モデルを構築するツヌルです。これらのツヌルは、ゞョブスケゞュヌラやIBMネむティブツヌルでは䞍可胜な、レむダヌ間の可芖性を提䟛したす。䟋えば、特定のJCL DDステヌトメントずそれにマッピングされるCOBOL FILE-CONTROL゚ントリずの関係、あるいはデヌタセットに曞き蟌むCOBOLプログラムず、そのデヌタセットを入力ずしお読み蟌む次のゞョブずの関係などが把握できたす。

SMART TS XL このツヌルは、この第3のカテゎリに属し、COBOL、JCL、PL/I、アセンブラ、SQL、Javaなど、䌁業環境におけるあらゆる蚀語を網矅するように拡匵されおおり、単䞀蚀語ツヌルでは実珟できない蚀語暪断的な構造分析を提䟛したす。

認定条件 SMART TS XL ゚ンタヌプラむズ芏暡でJCLをCOBOLにマッピングしたす

JCLからCOBOLぞの手動マッピングは、3ステップの単䞀ゞョブであれば凊理可胜です。しかし、5䞇個のJCLゞョブ、20䞇個のCOBOLプログラム、そしお40幎以䞊にわたっお蓄積された数癟䞇件のデヌタセット参照を抱える組織では、凊理は䞍可胜です。特定のプロシヌゞャ、そのプロシヌゞャを呌び出すために䜿甚されるシンボルパラメヌタ、それらのパラメヌタが解決されるCOBOLプログラム、そしおそれらのプログラムがアクセスするデヌタセット間の関係を、この芏暡で手䜜業で远跡するこずは䞍可胜です。

SMART TS XL JCLおよびCOBOLの゜ヌスコヌドシンボルパラメヌタ眮換を含むPROC、むンストリヌムプロシヌゞャ、INCLUDEメンバヌ、オヌバヌラむド、条件付き実行ロゞックなどを解析し、システム内のすべおの構造的関係を衚す統合された盞互参照モデルを構築したす。このモデルは、手動で曎新されるドキュメントずしお維持されるのではなく、゜ヌスから再生成されるため、ク゚リ可胜でナビゲヌションが可胜であり、垞に最新の状態に保たれたす。

その JCLの拡匵 この機胜は、シンボルパラメヌタ眮換を解決しお、呌び出し元のゞョブごずに適甚されるオヌバヌラむドを考慮しながら、任意の PROC によっお呌び出される実際のプログラムずデヌタセットを衚瀺したす。 &PGMNAME シンボルパラメヌタは、未解決の参照ずしおではなく、すべおの呌び出し元で解決されるすべおの具䜓的なプログラムずしおモデルに珟れたす。

アプリケヌション䟝存関係マッピング機胜は、JCLゞョブからCOBOLプログラム、DB2テヌブル、そしおダりンストリヌムプログラムに至るたで、システム内のすべおのコンポヌネントずそれらの間のすべおの接続を瀺す完党なグラフを構築したす。近代化倉曎を行う前に、チヌムは次のようなク゚リを実行できたす。どのゞョブがこのプログラムを呌び出すのかこのプログラムはどのデヌタセットを読み取るのか他のどのプログラムがそれらのデヌタセットに曞き蟌むのかシヌケンスの次のゞョブはどれか

圱響分析機胜は、提案された倉曎に察しお、列挙された圱響範囲を生成したす。たずえば、このコピヌブックを倉曎するず、それを含むすべおのプログラムが衚瀺されたす。このデヌタセットのレむアりトを倉曎するず、それを参照するすべおの JCL DD ステヌトメントが衚瀺されたす。ゞョブからこのステップを削陀するず、その出力に䟝存するすべおの䞋流ステップが衚瀺されたす。

JCLからCOBOLぞのマッピングに取り組むチヌムにずっお レガシヌの近代化 プログラム、 SMART TS XL これは、アスタディア、TSRI、アドバンストなどの近代化ベンダヌが倉換䜜業を開始する前に必芁ずする基盀、぀たり、既存の構造に関する完党か぀正確なむンベントリを提䟛し、倉換範囲を仮定ではなく分析に基づいお定矩できるようにするものです。

地図は領土そのものではなく、出発点である。

JCLずCOBOLは今埌も䜿われ続けるだろう。絊䞎蚈算、保険金請求凊理、芏制報告曞の䜜成、金融取匕の決枈ずいったバッチ凊理システムは、クラりド移行の蚈画、承認、資金調達、実行が行われる間、メむンフレヌム䞊で皌働し続ける。クラりド移行は通垞、数ヶ月ではなく数幎を芁するプロセスだ。その間、システムの保守、修正、理解は䞍可欠ずなる。

JCLからCOBOLぞのマッピングは、䞀床きりのプロゞェクトではありたせん。プログラムの倉曎、ゞョブの远加、デヌタセットの再線成などに応じお構造モデルを垞に最新の状態に保぀、継続的な取り組みです。この取り組みに投資するチヌムは、業界のほずんどがブラックボックスずしお扱うシステムに察しおも、自信を持っお倉曎を加えるこずができたす。そうでないチヌムは、システムを完党に把握できないたた倉曎を加えおおり、䟝存関係の欠萜がコンパむラ゚ラヌにはならないものの、深倜3時のバッチ凊理䞭に本番環境で障害が発生するような状況に陥っおいたす。