User Guide

SAP AG November 2002
*
* STATIC/INLINE FUNCTIONS (PROTOTYPES) *
*===================================================================
*/
/* print UCS2 string as 7-bit Ascii, replace non-ascii characters
with '?'*/
static void printAs7bitAscii(SQLUCS2 *aUCS2Str, int length)
{
int i;
for (i = 0; i < length; i++) {
if ( aUCS2Str[i] == 0x0000
|| aUCS2Str[i] == 0x0020 )
return;
if ( aUCS2Str[i] < 0x007f
&& aUCS2Str[i] > 0x0000)
printf("%c",aUCS2Str[i]);
else
printf("?");
}
}
/* format sql error for output */
static char *FormatSQLError(sqlcatype *sqlca)
{
static char buffer[512];
#ifndef sql_oracle
sprintf(buffer, "(%d):%.*s", sqlca->sqlcode,
sqlca->sqlerrml, sqlca->sqlerrmc);
#else
sprintf(buffer, "(%d):%.*s", sqlca->sqlcode,
sqlca->sqlerrm.sqlerrml, sqlca->sqlerrm.sqlerrmc);
#endif
return(buffer);
}
/*==================================================================*
* METHODS *
*==================================================================*
/
int main(int argc, char **argv)
{
EXEC SQL BEGIN DECLARE SECTION;
char *user = USERID;
char *pwd = PASSWD;
char *servernode = SERVERNODE;
char *serverdb = SERVERDB;
/* "SELECT TABLENAME FROM DOMAIN.TABLES " encoded in UCS2 */
SQLUCS2 sqlstmt[36] = {0x0053, 0x0045, 0x004C, 0x0045, 0x0043,
0x0054, 0x0020, 0x0054, 0x0041, 0x0042,
0x004C, 0x0045, 0x004E, 0x0041, 0x004D,
0x0045, 0x0020, 0x0046, 0x0052, 0x004F,
0x004D, 0x0020, 0x0044, 0x004F, 0x004D,
0x0041, 0x0049, 0x004E, 0x002E, 0x0054,
0x0041, 0x0042, 0x004C, 0x0045, 0x0053,
0x0000};
SQLUCS2 resultstring[64];
EXEC SQL END DECLARE SECTION;
User Manual: SAP DB 99