I'm having trouble using DATE_STRUCT, I'm hoping someone can offer a
tip.

Here's the small stored procedure I have:

create dbproc datetest(out i_pub_date date) as
begin
  select i_pub_date
  into :i_pub_date
  from tpcw.item
  where i_id = 1;
end;


Here's the simple code I use:

        DATE_STRUCT ds;
        SQLRETURN rc;
        SQLAllocHandle(SQL_HANDLE_STMT, odbcc.hdbc, &odbcc.hstmt);
        rc = SQLPrepare(odbcc.hstmt, "call datetest(?)", SQL_NTS);
        if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO)
        {
            odbc_error(SQL_HANDLE_STMT, odbcc.hstmt);
            return -1;
        } 
        SQLBindParameter(odbcc.hstmt,
            1, SQL_PARAM_OUTPUT, SQL_C_TYPE_DATE, SQL_DATE,
            0, 0, &ds, sizeof(ds), NULL);
        if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO)
        {
            odbc_error(SQL_HANDLE_STMT, odbcc.hstmt);
            return -1;
        }
        rc = SQLExecute(odbcc.hstmt);
        if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO)
        {
            odbc_error(SQL_HANDLE_STMT, odbcc.hstmt);
            return -1;
        }
        printf("%d %d %d\n", ds.year, ds.month, ds.day);


Here's the troublesome error I get:

SQLSTATE 22008
[SAP AG][LIBSQLOD SO]Datetime field overflow.

Thanks,
Mark

_______________________________________________
sapdb.general mailing list
[EMAIL PROTECTED]
http://listserv.sap.com/mailman/listinfo/sapdb.general

Reply via email to