SQL Programming Manual for TAL

Examples of Static NonStop SQL Programs
HP NonStop SQL Programming Manual for TAL527887-001
B-19
Date-Time Program
Page 5 [1] $VOL1.S04.TALDT 1991-10-15 13:41:07
208. 000234 1 1 BEGIN
209. 000234 1 2 SBUF ':=' "***** WAIT TIME ADDED ***** "->@BUF^END;
210. 000245 1 2 CALL WRITE(HOME^TERM^NUM,IBUF,@BUF^END '-' @SBUF);
211. 000257 1 2 EXEC SQL COMMIT WORK;
212. 000325 1 2 END;
213. 000325 1 1
214. 000325 1 1 END; -- add^wait^time
215. 000000 0 0
216. 000000 0 0 -- Disable WHENEVER NOT FOUND checking so NOT^FOUND code
217. 000000 0 0 -- is not triggered at the end of the FETCH, and so
218. 000000 0 0 -- the program does not stop after fetching the old
219. 000000 0 0 -- records.
220. 000000 0 0 EXEC SQL WHENEVER NOT FOUND CONTINUE;
221. 000000 0 0
222. 000000 0 0 PROC PRINT^REPORT;
223. 000000 1 0 BEGIN
224. 000000 1 1
225. 000000 1 1 EXEC SQL BEGIN WORK;
226. 000043 1 1
227. 000043 1 1 EXEC SQL
228. 000043 1 1 OPEN OLD_DATES_CURSOR;
229. 000105 1 1
230. 000105 1 1 EXEC SQL
231. 000105 1 1 OPEN NEW_DATES_CURSOR;
232. 000147 1 1
233. 000147 1 1 IF SQLCODE = 0 THEN
234. 000151 1 1 BEGIN
235. 000151 1 2 SBUF ':=' "*********************************** "
->@BUF^END;
236. 000162 1 2 CALL WRITE(HOME^TERM^NUM,IBUF,@BUF^END '-' @SBUF);
237. 000174 1 2 SBUF ':=' "ORIGINAL DATES: "->@BUF^END;
238. 000222 1 2 CALL WRITE(HOME^TERM^NUM,IBUF,0);
239. 000232 1 2 CALL WRITE(HOME^TERM^NUM,IBUF,@BUF^END '-' @SBUF);
240. 000244 1 2 SBUF ':=' "*********************************** "
->@BUF^END;
241. 000255 1 2 CALL WRITE(HOME^TERM^NUM,IBUF,@BUF^END '-' @SBUF);
242. 000267 1 2 CALL WRITE(HOME^TERM^NUM,IBUF,0);
243. 000277 1 2
244. 000277 1 2 DO
245. 000277 1 2 CALL FETCH^AND^DISPLAY^OLD
246. 000277 1 2 UNTIL SQLCODE <> 0;
247. 000302 1 2 END;
248. 000302 1 1
249. 000302 1 1 -- Check for NOT FOUND -- came to the end of the records
250. 000302 1 1 IF SQLCODE = 100 THEN
251. 000305 1 1 BEGIN
252. 000305 1 2
253. 000305 1 2 SBUF ':=' "*********************************** "
->@BUF^END;
254. 000316 1 2 CALL WRITE(HOME^TERM^NUM,IBUF,@BUF^END '-' @SBUF);
255. 000330 1 2 SBUF ':=' "NEW DATES: "->@BUF^END;
256. 000341 1 2 CALL WRITE(HOME^TERM^NUM,IBUF,@BUF^END '-' @SBUF);
257. 000353 1 2 SBUF ':=' "*********************************** "
->@BUF^END;
258. 000364 1 2 CALL WRITE(HOME^TERM^NUM,IBUF,@BUF^END '-' @SBUF);
259. 000376 1 2 CALL WRITE(HOME^TERM^NUM,IBUF,0);
260. 000406 1 2
261. 000406 1 2 -- FETCH sets SQLCODE back to 0
262. 000406 1 2 DO
263. 000406 1 2 CALL FETCH^AND^DISPLAY^NEW
264. 000406 1 2 UNTIL SQLCODE <> 0;