NetBase SQL Shadowing Handbook

User Exits NetBase SQL
____________________________________________________________
3-24 QUEST Software, Inc. ver A0195
case DATE:
memcpy (&dt, data, sizeof(dt));
sprintf (result, "%4.4d-%2.2d-%2.2d",
dt.year, dt.month, dt.day);
break;
case TIME:
memcpy (&tm, data+3, sizeof(tm));
sprintf (result, "%2.2d:%2.2d:%2.2d",
tm.hour, tm.minute, tm.second);
break;
case DATETIME:
memcpy (&dt, data, sizeof(dt));
memcpy (&tm, data+3, sizeof(tm));
memcpy (&mi, data+5, sizeof(mi));
sprintf (result,
"%4.4d-%2.2d-%2.2d %2.2d:%2.2d:%2.2d.%3.3d",
dt.year, dt.month, dt.day, tm.hour,
tm.minute, tm.second, mi.milli);
break;
default:
break;
}
return result;
} /* end uexit_datetime_convert */
/* uexit_BCD_convert */
/* */
/* Convert the passed data from BCD to ASCII. The function */
/* returns a pointer to the ASCII string. */
/* */
char *uexit_BCD_convert (char *data, short length, short precision,
short scale)
{
#define ASCIIZero '0'
#define MinusSign 13
#define btod(d,i) ((i&1)?((d[i/2])&0xf):((d[i/2]>>4)&0xf))
int i;
int DecimalPlace;
int PutPos = 0;
int DataEnd;
int DataStart;
int SignPos;
static
char result[80];
char *outStr = result + 2;
DataEnd = (length * 2) - 2;