COBOL - FastLoad

Teradata® FastLoad リファレンス

Product
FastLoad
Release Number
17.00
Published
2020年6月
Language
日本語
Last Update
2021-01-07
dita:mapPath
ja-JP/ije1544831946874.ditamap
dita:ditavalPath
ja-JP/ije1544831946874.ditaval
dita:id
B035-2411
Product Category
Teradata Tools and Utilities
z/OSでCOBOLを使用して作成するINMODルーチンは、次のようにしなければなりません。
  • エントリ ポイント名BLKEXITを含める。
  • z/OSロード ライブラリ ファイルとして格納する。

z/OSでCOBOLのINMODルーチンを作成し使用する手順

  1. INMODルーチンのソース ファイルを準備します。
  2. INMODルーチンをコンパイルします。
  3. INMODプログラムを指定のロード モジュールとリンク編集し、結果をz/OSロード ライブラリ ファイルとして格納します。
  4. Teradata FastLoadユーティリティを呼び出してINMODルーチンを実行します。

次の例のINMODは、入力データ ソースから80バイトのレコードを5つ読み取り、400バイトのレコード1つをTeradata FastLoadユーティリティに返します。BTEQ1はデータベース上で表を作成し、BTEQ2は表から行を選択して、データが正しくロードされたかを調べます。

//JLHFAST JOB 1,’FASTLOAD/INMOD’,MSGCLASS=A,CLASS=B,NOTIFY=JLH
//****************************************************************
//* Compile and link-edit the INMOD *
//****************************************************************
//COBCOMPL EXEC COBUCL
//****************************************************************
//* The INMOD starts here *
//****************************************************************
//COB.SYSIN DD *
			<COBOL source goes here>
//****************************************************************
//* Link-edit the INMOD with the Teradata-supplied module *
//****************************************************************
/*
//LKED.SYSLIB DD DSN=SYS1.COBLIB,DISP=SHR
// DD DSN=TERADATA.APPLOAD,DISP=SHR
//LKED.SYSLMOD DD DSN=JLH.INMOD.LOAD,DISP=SHR
//LKED.SYSIN DD *

ENTRY BLKEXIT
NAME COBINMOD(R)
/*
//****************************************************************
//* Execute BTEQ to create a Teradata DBS table *
//* *
//* The BTEQ statement .run ddname=logon allows the user to *
//* place sensitive logon information in a secure data set (in *
//* this case, the ddname is logon). Logging on from a data *
//* set prevents this sensitive information from appearing in *
//* the SYSIN file. *
//****************************************************************
//BTEQ1 EXEC TDSBTEQ
//LOGON DD DSN=JLH.CNTL(JLHLOGON),DISP=SHR
//SYSIN DD DATA,DLM=##
.run ddname=logon
drop table cobol_example;
drop table example_error1;
drop table example_error2;
create table cobol_example (f1 char(10), f2 varchar(390))
   primary index(f1);
.quit
##
//*
//FAST EXEC TDSFAST
//FASTLOAD.STEPLIB DD
//			   DD DSN=JLH.INMOD.LOAD,DISP=SHR
//FASTLOAD.SYSIN    DD DSN=JLH.CNTL(JLHLOGON),DISP=SHR
//			   DD DATA,DLM=$$
BEGIN LOADING cobol_example,
   ERRORFILES cobol_error1,cobol_error2;
DEFINE T1 (CHAR(10)) ,T2 (CHAR(390)) INMOD=COBINMOD;
INSERT cobol_example (:t1,:t2);
END LOADING;
LOGOFF;
$$
//FASTLOAD.INDATA DD DSN=JLH.COBXMPL.DATA,DISP=SHR
//*
//****************************************************************
//* Using BTEQ, select the rows loaded by FastLoad *
//****************************************************************
//*
//BTEQ2 EXEC TDSBTEQ
//LOGON DD DSN=JLH.CNTL(JLHLOGON),DISP=SHR
//SYSIN DD DATA,DLM=##
.run ddname=logon
select * from cobol_example order by 1;
.quit
##