次の例の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)’;