SQL/MX Programming Manual for C and COBOL (G06.24+, H06.03+)

HP NonStop SQL/MX Programming Manual for C and COBOL523627-004
B-1
B C++ Sample Program
This appendix presents the steps shown in Section 14, Transaction Management, as a
C++ program.
Ensuring Data Consistency
Example B-1 executes the steps shown in Figure 14-1 on page 14-1.
Example B-1. Using TMF to Ensure Data Consistency (page 1 of 2)
/* ---------------------------------------------------------
Description: Using TMF to ensure data consistency
Statements: BEGIN WORK
INSERT
COMMIT WORK
ROLLBACK WORK
WHENEVER
------------------------------------------------------------ */
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <iostream.h>
EXEC SQL MODULE EXF92CPM NAMES ARE ISO88591;
char SQLSTATE_OK[6]="00000";
EXEC SQL BEGIN DECLARE SECTION;
char SQLSTATE[6];
EXEC SQL END DECLARE SECTION;
void end_prog();
EXEC SQL DECLARE CATALOG 'samdbcat';
EXEC SQL DECLARE SCHEMA 'persnl';
EXEC SQL WHENEVER SQLERROR CALL end_prog;
class jobsql {
// Class member host variables
EXEC SQL BEGIN DECLARE SECTION;
unsigned NUMERIC (4) memhv_jobcode;
VARCHAR memhv_jobdesc[19];
EXEC SQL END DECLARE SECTION;
public:
jobsql(){}; // Default constructor
~jobsql(){}; // Default destructor
// Member function to prompt for the job code
void getcode(){ cout << "Enter job code: " ;
cin >> memhv_jobcode; }