PL/IのINMODの例 - 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
wzs1478610185776
Product Category
Teradata Tools and Utilities

次の例のINMODは、入力ファイルからデータを読み取り、それをTeradata FastLoadユーティリティに渡します。

この基本的なプログラムを修正して、特定の基準に適合するレコードを選択したり、特定のフィールドを変換したり、その他の前処理機能を実行したりすることができます。

BLKEXIT: PROC (PARM_LIST) OPTIONS(MAIN);
/* Routine name must always be BLKEXIT */
DCL  EXPORT FILE RECORD INPUT;
DCL  EOF FIXED BINARY (31,0) INIT (0);
DCL  THIS_LENGTH FIXED BINARY (31,0);
DCL1 PARM_LIST,
      10 STATUS   FIXED BINARY (31,0),
      10 RLENGTH  FIXED BINARY (31,0),
 10 CCDB_REC CHAR (80);
ON ENDFILE (EXPORT) EOF = 1;
IF STATUS = 3   /* disregard restarts and checkpoints */
THEN GO TO PROC_RETURN;
IF STATUS = 4   /* disregard restarts and checkpoints */
THEN GO TO PROC_RETURN;
IF STATUS = 2   /* client restart */
/*Note:STATUS values 2 , 3 and 4 are only applicable to
      the FastLoad program.  An INMOD program can be written
      to interface with either FastLoad or Bulk Data Load --
      STATUS values greater than ’1’ will not be set by the
      Bulk Data Load program.                                           */
THEN  DO;
      OPEN FILE (EXPORT);
      GO TO PROC_RETURN;
      END;
IF STATUS = 0   /* CHECK FOR FIRST-TIME-THRU CYCLE */
THEN  DO;
      OPEN FILE (EXPORT);
      END;
RLENGTH = 80;
READ FILE (EXPORT) INTO (CCDB_REC);
IFEOF = 1
THEN DO;
   CLOSE FILE (EXPORT);
   STATUS=1;      /* INDICATE EOF TO BDL OR FDL */
   RLENGTH = 0;
   GO TO PROC_RETURN;
END;
STATUS=0; /* INDICATE NEXT RECORD TO BDL OR FDL */
/* Additional processing can be done at this point */
PROC_RETURN:
END BLKEXIT ‘OPTIONS(MAIN)’;