Ant スクリプトを使用したデータ・バインディングの作成

CICS/IMS データ・バインディング・ウィザードを使用すれば、「Ant スクリプトとしてセッションを保存」を選択するだけで Ant スクリプトを作成できます。

始める前に

データ・ディスカバリー・タスク

このタスクについて

ディスカバリー・エージェントおよびリソース書き込み機能には、インポートおよび生成ステップ中にユーザー入力のセットを提供する必要があります。希望する成果物をインポートおよび生成するために、ディスカバリー・エージェントとリソース書き込み機能をさまざまな方法で組み合わせることができます。 これらは名前 (QName) で識別されます。例えば、Cobol ディスカバリー・エージェントは、{com/ibm/adapter}CobolDiscoveryAgent という名前で識別されます。

以下の例は、J2C データ・バインディング生成に使用される Ant スクリプトのデータ・ディスカバリー・セクションを示します。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:adapter="http://com.ibm.adapter" default="DataBinding1" name="/Test1/DFHCOMMAREA.xml">
    <delete file="error.txt"/>
    <property name="debug" value="true"/>
    <property name="project1" value="Test1"/>
    <target name="DataBinding1">
        <adapter:createProject projectName="${project1}" projectType="Java"/>
        <adapter:discover>
            <adapter:performImport agent="{com/ibm/adapter}CobolDiscoveryAgent">
                <adapter:importResource>
                    <adapter:propertyGroup name="CobolFileGroup">
                        <adapter:propertyElement name="CobolFile" value="D:¥samples¥CICS¥taderc99¥taderc99.cbl"/>
                    </adapter:propertyGroup>
                </adapter:importResource>
                <adapter:queryProperties>
                    <adapter:propertyGroup name="ImportProperties">
                        <adapter:propertyElement name="Platform" value="Win32"/>
                        <adapter:propertyElement name="Codepage" value="ISO-8859-1"/>
                        <adapter:propertyElement name="Numproc" value="PFD"/>
                        <adapter:propertyElement name="FloatingPointFormat" value="IEEE 754"/>
                        <adapter:propertyGroup name="ExternalDecimalSignGroup">
                            <adapter:propertyElement name="ExternalDecimalSign" value="ASCII"/>
                        </adapter:propertyGroup>
                        <adapter:propertyGroup name="EndianGroup">
                            <adapter:propertyElement name="Endian" value="Little"/>
                            <adapter:propertyElement name="RemoteEndian" value="Little"/>
                        </adapter:propertyGroup>
                        <adapter:propertyGroup name="CompileOptions">
                            <adapter:propertyElement name="Quote" value="DOUBLE"/>
                            <adapter:propertyElement name="Trunc" value="STD"/>
                            <adapter:propertyElement name="Nsymbol" value="DBCS"/>
                        </adapter:propertyGroup>
                    </adapter:propertyGroup>
                </adapter:queryProperties>
                <adapter:queryResult>
                    <adapter:selectElement name="DFHCOMMAREA"/>
                </adapter:queryResult>
            </adapter:performImport>
            <adapter:writeToWorkspace writer="{com/ibm/adapter/cobol/writer}JAVA_WRITER">
                <adapter:propertyGroup name="COBOLToJavaResourceWriter">
                    <adapter:propertyGroup name="Java Type Name">
                        <adapter:propertyElement name="Project Name" value="${project1}"/>
                        <adapter:propertyElement name="Package Name" value="sample.mm"/>
                        <adapter:propertyElement name="Class Name" value="DFHCOMMAREA"/>
                        <adapter:propertyElement name="Overwrite existing class" value="true"/>
                        <adapter:propertyElement name="GenerationStyle" value="Default"/>
                    </adapter:propertyGroup>
                </adapter:propertyGroup>
            </adapter:writeToWorkspace>
        </adapter:discover>
        <eclipse.refreshLocal depth="infinite" resource="${project1}"/>
        <eclipse.incrementalBuild project="${project1}"/>
        <condition property="errorexist">
            <available file="error.txt" property="errorexist"/>
        </condition>
        <fail if="errorexist" message="BUILD Failed: please see workspace log file or error.txt for details."/>
    </target>
</project>

スクリプト中の 2 つのタスクに関する詳細情報を以下に示します。

手順

  1. Ant タスクが 1 つでも失敗すると、Ant スクリプトは全体状況で BUILD FAILED メッセージを報告します。 エラーが Ant タスクまで伝搬された場合は、error.txt ファイルによって失敗が報告されます。
  2. performImport
    • importResource は、インポートされるリソース。COBOL ソースなど。
    • queryProperties は、 照会を構成するために必要な情報を表すパラメーターのリスト。
    • importResource は、インポートされるリソース。COBOL ソースなど。
    • queryResult は、アプリケーション成果物としてインポートするために使用される結果ツリーの、選択されているノード。
    • propertyGroup は、プロパティーとその値を含む構造。
  3. writeToWorkspace
    • workspaceResourceWriter は、アプリケーション成果物を生成するために使用される書き込み機能の名前。
    • propertyElement は、書き込み機能が生成に使用するリスト (プロパティー名とプロパティー値のペア)

フィードバック