Question

A customer's subscription was put on hold. Its status was changed to Administrative Hold or Credit Hold, its service status was changed to Stopped, and on the Service Status History tab in the subscription properties, the following record is displayed:

Service Stopping: <reason>

How can I find out how and when this was initiated?

Answer

To check if the subscription (or the entire account along with all of its subscriptions) was put on hold manually by a Provider's staff member, see the records in the event log:

Parallels Business Automation (PBA) 5.5: Home > Operations > Tasks

PBA 5.4: Home > Configuration Director > Event Manager > Event Log

Search for the following events:

"Account Put On Hold" with the parameter "AccountID=ACCOUNT_ID"
"Account Put On Administrative Hold" with the parameter "AccountID=ACCOUNT_ID"

"Subscription Put On Hold" with the parameter "subscriptionID=SUBSCRIPTION_ID"
"Subscription Put On Administrative Hold" with the parameter "subscriptionID=SUBSCRIPTION_ID"

Replace the ACCOUNT_ID and SUBSCRIPTION_ID search parameters with actual values - the customer account ID and the subscription ID.

Click on the event to see which user initiated it:

The time of the event can be found in the "Registration Time", or in the subscription service status history.

Internal content

You may also check the BM.log file on the PBA Application Server. Search for the 'AccountPutOnAdmHold' method executed at the time when the "Account Put On Hold" event was posted. You will find the record like the following one:

[13-10-07 08:50:19.576 Worker1.3   TH24734 NTE] Entering method BM_Container::Worker1.3.AccountPutOnAdmHold(user = 436, transaction = 382289, SID = 750774, lang = en, HP)
[13-10-07 08:50:19.576 Worker1.3   TH24734 NTE]         1 input arguments :
            int32_t: 1034493  <-- customer account ID

The entry 'user = 436' in the method parameters shows the ID of the user that put the account on hold.

Also can be checked with a database query like below:

pba=> select * from "AEvent" where "EKID"='<EVENT NAME>' and "Params" ilike '%<PARAMETER NAME>=<VALUE>%'

, and are the same as above. The DateArc column will show the required date and time in unixtime format.

P.S. for the account a table "AccountArc" may be checked