SQL Programming Manual for TAL

Examples of Static NonStop SQL Programs
HP NonStop SQL Programming Manual for TAL527887-001
B-17
Date-Time Program
Page 3 [1] $VOL1.S04.TALDT 1991-10-15 13:41:07
94. 000000 1 1
95. 000000 1 1 -- Temporary variable to save the value of SQLCODE for
later
96. 000000 1 1 -- checking. ROLLBACK WORK sets SQLCODE to 0.
97. 000000 1 1 INT TEMP^SQLCODE;
98. 000000 1 1
99. 000000 1 1 TEMP^SQLCODE := SQLCODE;
100. 000003 1 1
101. 000003 1 1 SBUF ':=' " RECORD NOT FOUND ***** "->@BUF^END;
102. 000014 1 1 CALL WRITE(HOME^TERM^NUM,IBUF,@BUF^END '-' @SBUF);
103. 000026 1 1
104. 000026 1 1 EXEC SQL ROLLBACK WORK;
105. 000074 1 1
106. 000074 1 1 SBUF ':=' " TRANSACTION ABORTED ***** "->@BUF^END;
107. 000105 1 1 CALL WRITE(HOME^TERM^NUM,IBUF,@BUF^END '-' @SBUF);
108. 000117 1 1
109. 000117 1 1 SQLCODE := TEMP^SQLCODE;
110. 000121 1 1 END;
111. 000000 0 0
112. 000000 0 0 PROC SQL^ERROR;
113. 000000 1 0 BEGIN
114. 000000 1 1
115. 000000 1 1 -- Temporary variable to save the value of SQLCODE for
later
116. 000000 1 1 -- checking. ROLLBACK WORK sets SQLCODE to 0.
117. 000000 1 1 INT TEMP^SQLCODE;
118. 000000 1 1
119. 000000 1 1 TEMP^SQLCODE := SQLCODE;
120. 000003 1 1
121. 000003 1 1 -- Turn off WHENEVER checking to avoid infinite loop:
122. 000003 1 1 EXEC SQL WHENEVER SQLERROR CONTINUE;
123. 000003 1 1
124. 000003 1 1 CALL SQLCADISPLAY( SQLCA );
125. 000015 1 1 EXEC SQL ROLLBACK WORK;
126. 000057 1 1
127. 000057 1 1 SBUF ':=' " TRANSACTION ABORTED ***** "->@BUF^END;
128. 000070 1 1 CALL WRITE(HOME^TERM^NUM,IBUF,@BUF^END '-' @SBUF);
129. 000102 1 1
130. 000102 1 1 -- re-enable WHENEVER checking:
131. 000102 1 1 EXEC SQL WHENEVER SQLERROR CALL :SQL^ERROR;
132. 000102 1 1
133. 000102 1 1 SQLCODE := TEMP^SQLCODE;
134. 000104 1 1 END;
135. 000000 0 0
136. 000000 0 0 PROC INSERT^PROJECT;
137. 000000 1 0 BEGIN
138. 000000 1 1
139. 000000 1 1 EXEC SQL BEGIN WORK;
140. 000047 1 1
141. 000047 1 1 SBUF ':=' "Enter a project name of up to 10 characters: "
->@BUF^END;
142. 000060 1 1 CALL WRITEREAD(HOME^TERM^NUM,IBUF,@BUF^END '-' @SBUF,20,
NUM^READ);
143. 000073 1 1 USER^PROJECTS^REC.PROJECT^NAME ':=' SBUF FOR NUM^READ;
144. 000100 1 1
145. 000100 1 1 SBUF ':=' "Enter a start date-time as YYYY-MM-DD:HH:MM "
->@BUF^END;
146. 000111 1 1 CALL WRITEREAD(HOME^TERM^NUM,IBUF,@BUF^END '-' @SBUF,26,
NUM^READ);
147. 000124 1 1 USER^PROJECTS^REC.START^DATE ':=' SBUF FOR NUM^READ;
148. 000132 1 1
149. 000132 1 1 SBUF ':=' "Enter an end date-time as YYYY-MM-DD:HH:MM "
->@BUF^END;
150. 000143 1 1 CALL WRITEREAD(HOME^TERM^NUM,IBUF,@BUF^END '-' @SBUF,26,
NUM^READ);