Visual COBOL 6.0 の新機能

.NET Core

上へ戻る

.NET Core 3.1 のサポートが追加され、.NET Core プロジェクトの新しいテンプレートがいくつか追加されています。

注: Visual COBOL には .NET Core バージョン 3.1 が必要であり、.NET Core バージョン 3.1 は Visual Studio 2017 でサポートされていないため、.NET Core で使用する COBOL アプリケーションを Visual COBOL を使用して作成してディプロイするには、Visual Studio 2019 を使用している必要があります。

COBOL アプリケーションのコンソール サイズ

上へ戻る

COBOL アプリケーションの最大コンソール サイズが拡張されました。ランタイム チューナーの screen_lines および screen_cols を使用して、最大 255 行 255 列まで拡張できます。

COBOL 言語の機能拡張

上へ戻る

次の機能が強化されています。

  • Enterprise COBOL 6.2 Update - IBM の Enterprise COBOL 6.2 Update との互換性のために、新しい構文、ライブラリ ルーチン、および対応する分析ツールが提供されています。
    • 新しい組み込み関数がサポートされています。BIT-OF、BIT-TO-CHAR、BYTE-LENGTH、HEX-OF、HEX-TO-CHAR、NUMVAL-F、TEST-NUMVAL、TEST-NUMVAL-C、TEST-NUMVAL-F、および TRIM
    • 多くの組み込み関数で各国文字データ (特に代理ペア) がサポートされるようになりました。REVERSE、ULENGTH、UPOS、USUBSTR、USUPPLEMENTARY、UVALID、および UWIDTH。
    • ALLOCATE 文でのメモリの割り当てで 16MB ラインよりも上か下かを定義する LOC 指定が追加されました。
  • CONSTANT 修飾子 - データ項目を定数として定義できるようになりました。これにより、コードの読みやすさと使いやすさが向上し、プログラミング エラーを見つけやすくなります。定数の項目を作成する機能は、.NET COBOL および JVM COBOL のほか、多くの言語ですでに使用できます。
  • ネイティブ COBOL でのローカル変数の宣言 - インラインのデータ項目の宣言が、個別の DATA DIVISION 内だけでなく、コード内で行えるようになりました。これにより、データの局所性が向上し、ソース コードを推測しやすくなります。
  • ネイティブ データ型での UTF-8 文字の文字列の保持 - IBM の Enterprise COBOL バージョン 6.3 で導入された PIC U データ型がネイティブ COBOL でサポートされるようになりました。UTF-8 データの直接のサポートを利用できます。
  • パフォーマンスの向上 - このリリースでは、パフォーマンスについてさまざまな改善が加えられていますが、32 ビット Intel x86 プラットフォームのパフォーマンスが最も向上しています。最も高い最適化レベルの opt(4) を使用した場合に、COBOL コンパイラで生成されるネイティブ コードのパフォーマンスの向上が確認されています。さまざまな状況に影響しますが、特に PERFORM 範囲をインラインで配置することが有効な状況で最も効果があります。

コード分析

上へ戻る

Visual COBOL から Micro Focus Enterprise Analyzer および Micro Focus COBOL Analyzer 製品の一部である Application Analysis Server にアクセスする機能がサポートされています。

これらの製品のいずれかがインストールされている場合、サーバー エクスプローラーから Application Analysis Server に接続し、Enterprise Analyzer Web クライアントにアクセスできます。Enterprise Analyzer Web クライアントでは、リポジトリ オブジェクトのクイック検索、詳細なコード検索、ダイアグラム、レポート、データ項目の影響分析、およびビジネス ルールの表示や編集 (別途ライセンスが必要) などの機能を利用できます。

コード分析でのリファクタリング

上へ戻る

COBOL コードからプログラム ロジックを抽出して新しいプログラムに移動する機能がサポートされるようになりました。エディターのコンテキスト メニューから次のコマンドを使用できます。

  • [Create program from Section]
  • [Create program from Computation]
  • [Create program from Condition]

コンパイラ指令

上へ戻る

このリリースでは、次のコンパイラ指令が新たに追加されました。

  • DISPLAY-AT - DISPLAY AT 文および ACCEPT AT 文でカラー属性を指定しない場合のデフォルトの前景色および背景色を指定します。
  • DPC-IN-DATA - DECIMAL-POINT IS COMMA 句が指定されている場合に XML GENERATE 文およびJSON GENERATE 文からの出力に適用するかどうかを制御します。
  • ILCONDITIONPARAM - デフォルトでオンになっています。条件式をメソッド パラメーターとしてサポートできるようにします。
    重要: 名前付きパラメーターをカスタム属性として指定するために古い COBOL 構文を使用するアプリケーションは、指定された ILCONDITIONPARAM を使用してコンパイルされません。そのため、古いアプリケーションを現在のバージョンの製品でコンパイルできなくなる可能性があります。この問題を回避する方法の詳細については、製品ヘルプのILCONDITIONPARAM」を参照してください。

次のコンパイラ指令に新しいオプションが追加されました。

  • CHECKREFMOD - CHECKREFMOD で長さがゼロの部分参照を許可しない追加のパラメーター (NOZEROLENGTH) がサポートされるようになりました。
  • PROTOTYPE - プロトタイプが必要かどうかを指定するオプション、およびプロトタイプの不一致が見つかった場合に発行されるエラー メッセージの重大度を指定するオプションがサポートされるようになりました。

コンテナー

上へ戻る

IDE からコンテナーを操作できるようになりました。具体的には、COBOL プロジェクトの Dockerfile の作成から、コンテナー内の COBOL プロジェクトのビルド、デバッグ、実行まで、そのすべての操作を IDE から実行できるようになっています。

データベース アクセス - DB2 ECM

上へ戻る

このリリースでは次のサポートが追加されています。

  • 複数行の FETCH 文 (MRF) および INSERT 文 (MRI) (FOR ROWS 句は任意)
  • 配列の UPDATE 文および DELETE 文
Notes:
  • これらの新機能は、DB2 LUW バージョン 11.1 Mod 4 Fix Pack 以降でサポートされます。現在のところ、DB2 LUW 11.5 ではこれらの機能はサポートされていません。
  • コーディング例については、IBM DB2 LUW の次のドキュメントを参照してください。「Embedded SQL/COBOL Support for MRI and MRF」。

データベース アクセス - XA スイッチ モジュール

上へ戻る

制約事項: この機能は、Enterprise Server 機能が有効な場合にのみ該当します。

このリリースでは次のサポートが追加されています。

  • XA スイッチ モジュールが強化され、Micro Focus Vault 機能で機密情報を格納できるようになりました。この新機能には、カスタマイズ可能なプログラム ESXAEXTCFG.CBL が含まれています。このプログラムを使用して、XA オープン文字列をシークレットとして格納することで難読化できます。

データファイル ツール

上へ戻る

データファイル エディタの強化点は次のとおりです。

  • エディター内で 2 バイト文字セットがサポートされるようになりました。
  • フォーマットされたレコード (数値フィールドは除く) の編集時に挿入モードが使用できるようになりました。
  • EBCDIC ファイルの DBCS データの編集において、フォーマットされたレコードの編集に挿入モードを使用する場合、必要なシフトアウト文字およびシフトイン文字が自動的に追加されます。
  • 開いているデータ ファイルの構造ファイルをロードおよびアンロードできるようになりました。
  • 編集ペインの上部にあるルーラーのオンとオフを切り替えることができます。

デバッグ

上へ戻る

次の機能が強化されています。

  • デバッグ プロファイル - COBOL プロジェクトでデバッグ プロファイルがサポートされるようになりました。デバッグ プロファイルは、Visual Studio の機能で、アプリケーションのデバッグを開始する方法を指定する一連のプロパティが格納されます。プロジェクトのプロパティの [Debug] タブで使用できる複数のデバッグ プロファイルを作成および管理できます。
  • 式 - [Watch] ウィンドウで複雑な式を指定できるようになりました。標準の数値の算術式と組み込み関数、および英数字の組み込み関数の単独使用がサポートされています。詳細については、「ウォッチ ウィンドウ」を参照してください。

Enterprise Server

上へ戻る

次の機能が強化されています。

  • IPv6 のサポート (EAP) - This feature is in Early Adopter Program (EAP) release status. Enterprise Server のコンポーネントおよび機能の一部で、インターネット プロトコル バージョン 6 (IPv6) ネットワークのアドレス指定と接続がサポートされるようになりました。IPv4 には制限があるため、企業ネットワークや公衆インターネットでは IPv6 が一般的になりつつあります。IPv6 を使用することで、相互運用性が向上し、ネットワーク構成が簡素化される場合があります。
  • 管理コマンド - cascertregadd コマンドのオプション (-cwi setting、-dcas setting、-issuer、および -subject) が新たに追加されました。

Enterprise Server セキュリティ

上へ戻る

このリリースの強化点は次のとおりです。

  • Micro Focus シークレット ファイル ストレージ権限

    Micro Focus シークレット機能 (Vault 機能とも呼ばれる) は、パスワードなどの機密情報を格納して一元的に管理し、権限のないユーザーによる偶発的な開示や検出から保護する機能です。以前のリリースでは、ストレージ メカニズムとして、暗号化されたデータをファイルに保存する従来の方法しかサポートされていませんでした。このリリースでは、シークレットを保護するために、ストレージ ファイルおよびシークレット構成ファイルの権限がより制限されています。

  • 証明書のワイルドカードのサポート

    TLS (SSL) 接続を確立する際にサーバーの識別に使用される X.509 デジタル証明書では、完全修飾ドメイン名の一部にワイルドカードを使用できます。これにより、たとえば、*.mycorp.com に発行された単一の証明書を www.mycorp.com や server1.mycorp.com などの完全修飾名を持つ任意の数のサーバーに使用できます。これらのワイルドカードを使用した証明書が、Micro Focus 通信技術を使用するクライアント プログラムでサーバーの証明書を検証する際にサポートされるようになりました。

  • ACL のワイルドカードのサポートの強化

    Enterprise Server で LDAP ベースのセキュリティを使用したリソース アクセス制御に使用されるアクセス制御リストで、「.**」ワイルドカード シーケンスの動作がメインフレームの RACF に似た動作になりました。ワイルドカードの処理に使用できるオプションもいくつか追加されています。

  • TLS 証明書の検証における PKIX への準拠

    PKIX とは、公開鍵基盤 (X.509) の略で、TLS (SSL) 接続を確立する際に X.509 デジタル証明書を使用してサーバーを認証する標準規格です。これは IETF RFC の一連のドキュメント (現在は RFC 5280 など) で定義されています。以前のリリースでは、本製品で実行される証明書の検証はいくつかの点で PKIX に準拠していませんでした。特に、証明書とホストの照合で、DNS を使用してアドレスを名前に解決していました。このリリースでは、COBOL Web サービス プロキシ プログラム、CAS ユーティリティ プログラム、CICS Web サービス インターフェイス機能を使用する顧客アプリケーションなど、Micro Focus Common Client 技術を使用するクライアントにおいて、PKIX により厳密に準拠した厳格な証明書検証手順がデフォルトで使用されます。これにより、TLS のセキュリティと相互運用性が向上します。

  • XML 解析のセキュリティの強化

    このリリースでは、XML データの解析に使用されるサード パーティのコンポーネントについて、公開されているセキュリティ上の脆弱性への対応として、Micro Focus で使用されるバージョンに応じて更新やバグ修正が適用されています。また、製品の特定の機能で必要な場合を除き、XML 外部エンティティのサポートが無効になっています。これにより、顧客アプリケーションをだまして悪意のある XML ドキュメントを解析させる XML 外部エンティティ (XXE) 攻撃から顧客システムを守ります。

Enterprise Server Common Web Administration (ESCWA)

上へ戻る

このリリースには、次の新機能および機能強化が導入されています。

  • MFDS ユーザー インターフェイスの機能の使用 - ESCWA でリモートの MFDS インスタンスとの通信が可能になり、MFDS の対応するページを表示できるようになりました。リージョンとその IMS、PL/I、MQ、XA オプション、およびセキュリティの構成が可能です。
  • ESMAC ユーザー インターフェイスの機能の使用 - ESCWA でリモートの ESMAC インスタンスとの通信が可能になり、機能を複製して ESMAC から提供されるすべての情報を表示できるようになりました。
  • ユーザー インターフェイスのアクセスの構成 - ESCWA セキュリティ マネージャーを構成して、ネイティブ、セキュリティのメニュー項目など、ユーザー インターフェイスの特定の機能に対するユーザーおよびグループのアクセスを制御できるようになりました。
  • ユーザービリティの向上
    • ナビゲーション ツリーからリージョンを開始および停止できます。
    • リージョンの機能が正しく構成されていないと、ネイティブのメニュー項目は表示されません。
    • MFDS のホストおよびリージョンを簡単に区別できるように、表示色を構成できます。
  • スケールアウトのサポート - ESCWA において、スケールアウト リポジトリ (SOR) と PAC およびメンバー リージョンの関連付けの表示方法が改良されました。
  • Redis のサポート - 本製品を PAC で実行する場合、SOR として Redis がサポートされます。次の機能があります。
    • Redis クラスターのサポート。
    • Mfredis 構成ファイル - ネットワークエラーが発生した場合の再接続を構成できます。このファイルを使用して、サーバーで Lua スクリプトのトレースを構成することもできます。
    • スタンドアロン Redis サーバーの認証のサポート。

ファイル処理

上へ戻る

Fileshare のパスワード ファイルを Vault 機能で格納できるようになり、機密データであるユーザー資格情報が確実に暗号化されます。最初に通常の方法でパスワード ファイルを作成してから、mfsecretsadmin ユーティリティを使用して microfocus/fh にアップロードします。

Fileshare サーバーで Vault に格納されているファイルが使用されるようにするには、/uv オプションを使用してサーバーを起動します。

Interface Mapping Toolkit

上へ戻る

次の各項目が改善されています。

  • リソース ベースの REST API - 次の機能強化により、リソース ベースの REST API の作成が可能になりました。
    • JSON RESTful Web サービスの操作で、リソースを識別するカスタマイズ可能な URI パスを使用できるようになりました。操作パスは動的テンプレートをサポートしています。
    • COBOL プログラムの COBOL グループから API リソースを自動的に識別できるようになり、API リソースごとに一連の操作を生成できるようになりました。
    • サービスの要求または応答でインターフェイス フィールドの場所を指定できるようになりました。インターフェイス フィールドは、URI パスのパラメーター、クエリ パラメーター、または JSON メッセージ本文のいずれかで指定できます。
  • OpenAPI のサマリーのサポート - REST API の仕様として最も広く使用されている形式である OpenAPI 仕様 (本来の名称は Swagger) が IMTK でサポートされるようになりました。次の機能があります。
    • クライアントおよびサービスの生成を目的とした OpenAPI 3.0 および Swagger 2.0 のファイルの使用。
    • JSON RESTful Web サービスの API を記述する OpenAPI 3.0 のファイルの生成。
  • REST サービスの出力のフィルタリングとフィールド選択 - Enterprise Server JSON RESTful Web サービスに次の機能が含まれるようになりました。
    • Web サービスの JSON 応答本文の自動フィルタリング。要求の URI で受信したパスおよびクエリ パラメーターでフィルター処理できます。
    • 特別なクエリ パラメーター「$fields」。指定した特定のフィールドのみを JSON 応答本文に含め、それ以外のフィールドはすべて除外するように指定できます。
  • REST API の検出 - Enterprise Server API の検出がサポートされるようになりました。JSON RESTful Web サービスについて、使用可能なすべての操作とその URI パスのリストを取得できます。これにより、事前にサービスの操作に関する情報がなくても、クライアントで Enterprise Server REST Web サービスを効率的にナビゲートできます。

ライブラリ ルーチン

上へ戻る

次のライブラリ ルーチンが新たに追加されています。

  • MFU_GET_FILE および MFUGETF - これらのルーチンは、いずれも Micro Focus Unit Testing Framework でデータ駆動型テストに使用されます。テストする .csv ファイルのいずれかのセルに外部データの参照 (@file-name 表記を使用) がある場合、テストを実行する前に、これらのルーチンのいずれかを使用してその外部ファイルをメモリにロードします。

次のライブラリ ルーチンに新機能が追加されました。

  • CBL_GET_EXIT_INFO - このライブラリ ルーチンが拡張され、出口プロシージャが呼び出された状況をより的確に検出できるようになりました。

Micro Focus Unit Testing Framework

上へ戻る

Micro Focus Unit Testing Framework の強化点は次のとおりです。

  • 実行可能ファイルに対する単体テストをコマンド ラインから実行できるようになりました。このようなテストをコマンド ラインから実行するには、実行可能ファイルをテスト フレームワークにリンクするためにリビルドしておく必要があります。
  • Microsoft Visual Studio で開いて表示できるレポート ファイルを生成できるようになりました。.trx ファイルを生成するには、-report:trx コマンド ライン オプションを使用します。
  • データ駆動型テストで使用する .csv ソース ファイルで外部データを参照できるようになりました。セルで @file-name の形式で file-name を指定すると、そのファイルの内容がテストで使用されます。テストを実行する前に、ライブラリ ルーチンの MFU_GET_FILE または MFUGETF を使用して、外部ソース ファイルをメモリにロードしておく必要があります。
  • データ駆動型テストで、データ駆動型セットアップおよびデータ駆動型ティアダウンという 2 つの新しい要素を使用できるようになりました。従来のデータ駆動型テストではセットアップおよびティアダウンのエントリ ポイントが複数回実行されていたのに対し、これらの 2 つのエントリ ポイントがテスト実行ごとに 1 回だけ実行されるようになっています。

Microsoft Build Tools および Windows SDK 構成ユーティリティ

上へ戻る

Windows の Visual COBOL のセットアップ ファイルで、本製品の多くの機能や操作が依存する Microsoft Build Tools および Windows SDK のパッケージがインストールされるようになりました。

Microsoft Build Tools および Windows SDK 構成ユーティリティを使用して、COBOL 環境で使用されているパッケージのバージョンを確認できます。このユーティリティを使用して、インストールしたこれらのパッケージの他のバージョンを使用するように環境を設定することもできます。

マルチスレッド アプリケーション

上へ戻る

このリリースの強化点は次のとおりです。

  • スレッドのローカル記憶域の最適化 - 複数のスレッドがあるアプリケーションのスレッドの終了が最適化されました。

Visual Studio Integration

Back to Top

The following enhancements are available:

  • New formatting options - you can now specify different indents for the parent and child items in group item data in Tools > Options > Text Editor > Micro Focus COBOL > Formatting > Data Division.
  • Tooltips for END delimiters - tooltips are available for END delimiters such as end-if, end-perform, or end-of-statement period. The tooltips show the opening statements.
  • Code style preferences - a new category of preferences, Tools> Options > Text editor > Micro Focus COBOL > Code Style, combines all Visual Studio preferences for the format and style of your COBOL code.
  • Lightbulbs - quick actions are available for inserting an end-of-scope terminator (such as END-IF), and for extracting sections to new programs.
  • Snippets - a new snippet for indexers is available.
  • Editor navigation bar - now shows the project that includes the file opened in the editor:

  • Uppercase mode in the COBOL editor - to toggle uppercase mode, click Force uppercase in the editor (Force upper case in the editor) in the COBOL toolbar, or enable it from Tools > Options > Text Editor > Micro Focus COBOL > Text Casing). With this option enabled, code you insert or paste in the editor, including snippets, is forced to upper case. This functionality must not be used with .NET COBOL.
  • QuickInfo - information in the QuickInfo details is now colorized.
  • Copybook properties - the Properties window now displays the full path for copybooks that are stored outside of the project.