Announcements
Hi All,
I tried to test the payment with customer account in a retail POS. However I received the following message
"Customer ... does not exist or its acocunt is blocked"
However, this customer is not blocked at all. Also, of course this customer exists in CustTable as well.
I debugged the related pieces of code and found that the record is not retrieved from the database even if the _custAccount (004009) was passed to this find() method correctly.
static CustTable find(CustAccount _custAccount, boolean _forUpdate = false) { CustTable custTable; if (_custAccount) { if (_forUpdate) { custTable.selectForUpdate(_forUpdate); } select firstonly custTable index hint AccountIdx where custTable.AccountNum == _custAccount; } return custTable; }
What is the way to solve it? Should I set a real-time service profile in order to make it work?
Thank you.
Hi,
I already debugged that method you mentioned and if I step into methods called from this method, I come down to CustTable find () ..
Then the record is not retrieved although the parameter is passed correctly..
I can restart IIS but I don't think that will solve the issue.. But will try..
The code is here:
class\RetailTransactionServiceCustomer
public static container validateCustomerStatus(CustAccount _custAccount, AmountMST _salesAmount, CurrencyCode _currencyCode)
{
container custStatus = [false,0];
AmountMST creditMax = 0;
TypeOfCreditmaxCheck creditMaxCheck = CustParameters::find().CreditMaxCheck;
#Define.UserTab('\t')
if (_currencyCode != CompanyInfoHelper::standardCurrency())
_salesAmount = CurrencyExchangeHelper::amountCur2MST(_salesAmount, _currencyCode);
try
{
if (!CustTable::checkExistAndOpen(_custAccount, _salesAmount))
{
custStatus = [false,strFmt("@RET4170018", _custAccount)];
}
}
Please check the database and determine if CustTable::checkExistAndOpen(_custAccount, _salesAmount)) will return true, and restart IIS or SQL server service if necessary
How about other tender type, such as pay cash, credit card?
can you run job to push the customer data into channel database if you are sure customer is not blocked?
can you show what's the call-stack which contains the CustTable.find()
André Arnaud de Cal...
294,095
Super User 2025 Season 1
Martin Dráb
232,866
Most Valuable Professional
nmaenpaa
101,158
Moderator