Welcome to ProgressTalk. Please take a moment to read the
Posting Guidelines. It will increase the likelihood that you will receive useful feedback to your posts.
Specifically, please state your Progress version and service pack, and your operating system(s) and version(s).
Regarding your description of the problem, there may be a terminology issue. A Progress database can be opened in one of two ways, either single-user (with a Progress client or utility) or multi-user (with a Progress database broker). As the names suggest, when you have opened a database single-user, no other users can connect to it. If it was opened multi-user, then many Progress (or "4GL") clients can connect simultaneously, either locally on the database server ("self-service client") or remotely via TCP ("remote client"). SQL clients are always remote (TCP), even if they run on the database server. You stated that this end-of-day job is single user, but I suspect it may be a self-service batch-mode client connected to a multi-user database; this is typical for batch processing. You should confirm whether the database actually gets shut down at end of day and this job runs single-user, or whether it is running multi-user. If it is single-user, then you are incurring unnecessary downtime and experiencing reduced performance.
Progress runtime error messages that appear in log files or in the UI typically end with a number in brackets, as you see in your ERROR 2. These numbers can be looked up in a Progress editor under the Help menu, assuming you have access to that.
Here is the description of an error 42:
bfx: Field too large for a data item. Try to increase -s. (42)
This may be the result of an internal system error, but it is more commonly caused by attempting to use character variables with extremely long values. Use shorter values with your character values. You may also be able to solve the problem by using a larger value for the -s (stack) startup parameter.
The "-s" in question is a client startup parameter, which is specified in the application command line that launches the Progress client session in which the application code runs. The -s parameter specifies the size of the call stack in KB, and defaults to 40. Depending on your application design (deep call stack, use of recursion, etc.), you may need to specify a value greater than the default to prevent this error. However that may just be masking an application design issue. Your "application team" needs to take ownership of this issue and explore it further. Regarding the floating point error, this could also be an application issue. Refer to
this article from the Progress Knowledge Base.
I can't advise you on application performance generally without knowing more about your Progress version, OS, hardware, and database configuration. The latter can be found in the database log (dbname.lg) in the database directory. Search backward in the end of the file for "(333)", which is a multi-user start. The next 50-70 lines show the parameters with which the database was last started and will be helpful in assessing configuration at a high level.