/* --------------------------------------------------------------- FUNCTION */ int AH_Job_GetTransactions_GetLimits(AH_JOB *j, AB_TRANSACTION_LIMITS **pLimits) { AB_TRANSACTION_LIMITS *tl; GWEN_DB_NODE *dbParams; dbParams=AH_Job_GetParams(j); tl=AB_TransactionLimits_new(); AB_TransactionLimits_SetCommand(tl, AH_Job_GetSupportedCommand(j)); AB_TransactionLimits_SetMaxValueSetupTime(tl, GWEN_DB_GetIntValue(dbParams, "storeDays", 0, 0)); /* nothing more to set for this kind of job */ *pLimits=tl; return 0; }
/* --------------------------------------------------------------- FUNCTION */ int AH_Job_GetTransactions_Exchange(AH_JOB *j, AB_JOB *bj, AH_JOB_EXCHANGE_MODE m, AB_IMEXPORTER_CONTEXT *ctx){ AH_JOB_GETTRANSACTIONS *aj; DBG_INFO(AQHBCI_LOGDOMAIN, "Exchanging (%d)", m); assert(j); aj=GWEN_INHERIT_GETDATA(AH_JOB, AH_JOB_GETTRANSACTIONS, j); assert(aj); if (AB_Job_GetType(bj)!=AB_Job_TypeGetTransactions) { DBG_ERROR(AQHBCI_LOGDOMAIN, "Not a GetTransactions job"); return GWEN_ERROR_INVALID; } switch(m) { case AH_Job_ExchangeModeParams: { GWEN_DB_NODE *dbParams; dbParams=AH_Job_GetParams(j); AB_JobGetTransactions_SetMaxStoreDays(bj, GWEN_DB_GetIntValue(dbParams, "storeDays", 0, 0) ); return 0; } case AH_Job_ExchangeModeArgs: { const GWEN_TIME *ti; ti=AB_JobGetTransactions_GetFromTime(bj); if (ti) { int year, month, day; char dbuf[16]; GWEN_DB_NODE *dbArgs; dbArgs=AH_Job_GetArguments(j); if (GWEN_Time_GetBrokenDownDate(ti, &day, &month, &year)) { DBG_ERROR(AQHBCI_LOGDOMAIN, "Internal error: bad fromTime"); return GWEN_ERROR_INVALID; } snprintf(dbuf, sizeof(dbuf), "%04d%02d%02d", year, month+1, day); GWEN_DB_SetCharValue(dbArgs, GWEN_DB_FLAGS_OVERWRITE_VARS, "fromDate", dbuf); } ti=AB_JobGetTransactions_GetToTime(bj); if (ti) { int year, month, day; char dbuf[16]; GWEN_DB_NODE *dbArgs; dbArgs=AH_Job_GetArguments(j); if (GWEN_Time_GetBrokenDownDate(ti, &day, &month, &year)) { DBG_ERROR(AQHBCI_LOGDOMAIN, "Internal error: bad toTime"); return GWEN_ERROR_INVALID; } snprintf(dbuf, sizeof(dbuf), "%04d%02d%02d", year, month+1, day); GWEN_DB_SetCharValue(dbArgs, GWEN_DB_FLAGS_OVERWRITE_VARS, "toDate", dbuf); } return 0; } case AH_Job_ExchangeModeResults: return 0; default: DBG_NOTICE(AQHBCI_LOGDOMAIN, "Unsupported exchange mode"); return GWEN_ERROR_NOT_SUPPORTED; } /* switch */ }