APPX is the Premier Development and Runtime Environment for Business Application Software
(Category) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility :
APPX Runtime Environment
FAQ for questions relating to the use of the APPX Runtime environment.
Subcategories:
(Category) Runtime Messages
(Category) Other Runtime Questions

Answers in this category:

[New Answer in "APPX Runtime Environment"]
2011-Feb-04 9:38am
(Category) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment :
Runtime Messages

Subcategories:

Answers in this category:
(Answer) Message; "op_prt_buf, print new page fa".
(Answer) Message; “free_pool() - attempting to free unallocated memory ()”
(Answer) Message; “Internal Error has Occurred, Proceed with Caution”
(Answer) Message; "Cannot write any more qdaemon"
(Answer) Message "memcpy - trash the heap"
(Answer) Message; "unknown AppxIO status"
(Answer) Message; "Can't connect to host"
(Answer) Message; “PDF_begin_page: Function must not be called in ‘page’ scope”
(Answer) Message; “Connection Refused by Host”
(Answer) Message; “Application Lock verification failed. Access Denied”.
(Answer) Message; “can't write cwdgt - Error - Already on File”
(Answer) Message; “Cannot read cfi_rec”
(Answer) Message: “mm_free() 'freeing watched address' or 'attempting to free freed memory'"
(Answer) Message; "pl rloc - too few cchld records(1)"
(Answer) Message; “ID not defined as valid Login”
(Answer) Message; “File Organization Specification Mismatch”
(Answer) Message; “License Server not Detected”
(Answer) Message; "file does not exist"
(Answer) Message; "Can't connect to Host" or "Connection refused by host" (Troubleshooting WinAppxD)
(Answer) Message; "Allocation of TOKEN_USER failed"
(Answer) Message; "LookupAccountSid() failed"
(Answer) Message; "can't open stream socket"
(Answer) Message; "can't bind local address"
(Answer) Message; "op_prt_buf, print new page failed"
(Answer) Message; “There was an error opening this document. No such file or directory”
(Answer) NET_LOG 'error's 122 & 10054
(Answer) PDF Output: "Windows cannot find $display"
(Answer) Message: "required data was not placed into memory because of an I/O error"
(Answer) Message – “Error - Invalid Request Using Main ARB”
(Answer) Message "Found active record on freelist"
(Answer) Message. "ERROR - CANNOT ACCESS REQUIRED FILE"
(Answer) What does error "Can't read LFN File - Error - Already on File" mean?
(Answer) Message, "can't empty sarb list"
(Answer) Message, "bad reg no."
(Answer) Message "An unexpected error occurred, please enable logging and retry"
(Answer) Message "Cannot write to Cache - Invalid Prototype Record Length"
(Answer) Message; "No Record Currently Held"
(Answer) Message, Error - Request Not Allowed
(Answer) Message, "BI.C - APPX Startup Failure: Unable to Initialize Window Manager"
(Answer) Message: "key field conversion failure - Error - Invalid Logical Value"
(Answer) Message; "too much data"
(Answer) Message, "Network IO Error"
(Answer) Message, "ORA-01000: maximum open cursors exceeded"

[New Answer in "Runtime Messages"]
2011-Feb-09 2:51pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; "op_prt_buf, print new page fa".
There are several common causes for this error.
Have you changed the code for these jobs in the past week? If not, check for ERROR/WARNING/MESSAGE statements that might be executing when the ALTERNATE IMAGE NUMBER is zero. (This could cause this error to appear despite the jobs running fine for months – it might be the first time a particular error/warning/message occurred on a particular record). Also, check for ERROR/WARNING/MESSAGE statements that might be in End of Process or an unbounded range end frame.
Another likely scenario is that more ERROR/WARNING/MESSAGE statements are being triggered for a record than there is room for on the page -- to check for this, comment out your ERROR/WARNING/MESSAGE statements and run the job, and see if the error occurs.
If you check for all of the above and none of those seem to be the cause, and you are using standard page headers in those output processes, try turning off the standard page headers, and run one of the jobs, and see if that fixes it.
[Append to This Answer]
2004-Apr-01 9:05am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; “free_pool() - attempting to free unallocated memory ()”
This error has been documented when a CNV TEXT command with an occurrence number of zero is encountered. Check to see if you have a CNV TEXT in your ILF and if it could possibly be set to occurrence zero.
[Append to This Answer]
2004-Apr-01 10:58am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; “Internal Error has Occurred, Proceed with Caution”
Internal Error has Occurred, Proceed with Caution" means something unexpected has happened within APPX, sometimes the result of something happening before your current operation. Instead of proceeding with caution, tell your users to write down the last three things they did, then exit Appx, then to contact you.

If you can reproduce the error, we'd love to get a copy of the replication, so we can fix it. Frequently the error is not easily reproducible, so any scenario we can get that reproduces it would be helpful.

[Append to This Answer]
2004-Apr-01 11:00am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; "Cannot write any more qdaemon"
When trying to print large print files, get:

       "Enq: (FATAL ERROR): 0781-024 Cannot write anymore to
       /var/spool/qdaemon/to4mZM"

The /var file system is full. Delete some unneeded files out of the file system.

[Append to This Answer]
2004-Apr-01 11:02am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message "memcpy - trash the heap"
This message in the past has indicated corrupted Area Numbers (and internal Appx construct). The recovery procedure in www.appx.com/assets/asp/dynamic_generator.asp?pageid=584 gets rid of these ANO errors.
[Append to This Answer]
2004-Apr-01 11:05am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; "unknown AppxIO status"
Could be that backup has a *.key file locked.
[Append to This Answer]
2004-Apr-01 11:42am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; "Can't connect to host"
The DNS server may not be resolving hostnames properly.
[Append to This Answer]
2004-Apr-01 11:43am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; “PDF_begin_page: Function must not be called in ‘page’ scope”
Rel 4.2

This error occurs when a page break triggers another page break. For example, setting "new page before" on a page heading frame. Refer to bugtracker bug #517 and #617

[Append to This Answer]
2004-Apr-01 11:44am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; “Connection Refused by Host”
This message normally indicates that;

1. winappxd/appxdsvc (listener) is not running on the server (host)
2. the port you entered is not valid for the listener(s) you have running
3. the workstation is not connected to the server where the listener is running

Referring to item 3 above. If you are entering a server name and you are sure the listener is running and the port is correct, try entering the ip address of the server instead. If you connect, most likely your DNS name is not mapped to the right ip address. You will have to resolve your DNS server mapping to eliminate this error.

 

Also see;
http://board.appx.com/cgi-bin/fom.cgi?_highlightWords=connection%20refused&file=439
[Append to This Answer]
2010-Nov-17 4:26pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; “Application Lock verification failed. Access Denied”.
An attempt has been made to open a locked application (already opened by the registered number of users).
[Append to This Answer]
2004-Apr-01 11:46am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; “can't write cwdgt - Error - Already on File”
Prior to the Pre-Display event point(s), Appx copies designed widgets (that is, widgets that you painted in the image editor, as opposed to widgets that you create at runtime through ILF code) out of the EM and into the --- WIDGET file. After the Pre-Display event point(s), Appx takes a snapshot of the items in the --- WIDGET file and pushes them out to the screen (or to the report if you're running an output process).

This error occurs when Appx takes the snapshot (after you've had a chance to change the widgets with ILF code).

The primary key to the internal widget file is position row+position col. There's an alternate unique key that on name + appearance number. Check for duplicate name+appearance number.

[Append to This Answer]
2004-Apr-01 11:47am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; “Cannot read cfi_rec”
When running an INPUT process, I get:

PL.C.2842 - "Cannot read cfi rec - Error - Record Not in File",

followed by "Internal Error Has Been Detected, proceed with caution!".

You may be attempting to PASS a FILE. You can pass a RECORD, but you can't PASS a FILE (even though the ILF editor and compiler don't complain about it.
[Append to This Answer]
2004-Apr-01 11:48am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message: “mm_free() 'freeing watched address' or 'attempting to free freed memory'"
These errors suggest that memory is getting stepped on, usually by some application action occurring before the most recent action. (The most recent action often being exiting from some Appx process.)

To diagnose these, set the two environment variables:

        APPX_TRAILER_COUNT=40
and
        APPX_LABEL_MEMORY=1
... either as conventional OS environment variables, or else in the ./data/appx.env file.

When then running into the above error messages, send a copy of the error message itself (a screen snapshot if possible) to Appx technical support.

On Windows platforms, also send a copy of the 'appx.stk' file found in the same directory as the Appx engine. (It may then be safely deleted.)

Consider also performing the cleanup steps described in: http://www.appx.com/assets/asp/dynamic_generator.asp?pageid=584

[Append to This Answer]
2004-Apr-01 3:24pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; "pl rloc - too few cchld records(1)"
This is caused by an Optional Process defined in an INPUT process. The Optional Process had an Additional Attributes, Default PCF Key, defined on a field that was not a key in the target file.
[Append to This Answer]
2004-Apr-01 11:55am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; “ID not defined as valid Login”
A VAR installed Appx onto an XP laptop that was a member of a domain "RND". During the initial Appx loading, it asked him for his OS Login. He tried entering his OS user id ("abc"), but Appx told him that "This ID is not currently defined as a valid Login on your system".

It did let him enter an OS login of "RND/abc". But when he then logged into his OS as RND/abc, then into Appx, it told him - "Bad User Id - The User Id you are currently using was not found in the APPX user file."

VAR deleted .\data\0SA\Data\USER.* in order to be able to enter Appx. In Security > Users he tried entering "abc", but it gave him the "not currently defined" message. It did let him enter an OS Login ID of "RND/abc", but again wouldn't let "abc" log in.

VAR didn't notice that there was the word "Warning" in front of the first message. Because of confusion of local IDs and domain ID, Appx validates against the domain id, but allows entry of only the user portion of the Domain/User ID.

I.E., "abc" works for logging in, but generates a Warning during OS Login ID Entry. "RND/abc" doesn't work for logging in, but generates no warning during OS Login ID entry.

If you're in a Domain environment, enter only the user part of the user's OS Login ID. Also, ignore the "Warning - This ID is not currently defined..." message.

Note, this message was changed from 'Error' to 'Warning' in 4.1.8. If your Appx version is prior to 4.1.8, it's probably necessary to upgrade to 4.1.8 or higher in order to be able to enter OS Login ID’s.

[Append to This Answer]
2004-Apr-01 11:57am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; “File Organization Specification Mismatch”
This error can be caused by a damaged EM. Delete all your EM’s for this application, in APPXPATH/data/db/app/EM directory, and try running the application again. APPX will automatically rebuild EM’s when needed or you can force them all to be rebuild by going to Utilities>Toolbox>Create Executable Modules.

You can also get this error if a file is damaged. If a {file}.dat is damaged and you rebuild the {file}.key from it, you may or may not get an error message indicating that there's a problem in the .dat. If you get no message, you could be left with the impression that your .dat/.key pair are good. Running verify may or may not tell you if there's a problem. (This is a low probability, but possible scenario.)

Your safest course of action is to run through the "What to do with a file That Fails Verification" procedure in

http://www.appx.com/assets/asp/dynamic_generator.asp?pageid=624

You can do a bit more investigation using the techniques in "Verifying and Analyzing a File" on that webpage. Using the utility program Recover.exe is the recommended course of action. Exporting and re-importing the file will work however may result in more lost data. The Export program will only read to the "bad spot" on the file and stop whereas Recover.exe will continue to the end of file reading and writing records beyond the error. Information on this utility can be found at the above address.

[Append to This Answer]
2006-Feb-28 1:38pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; “License Server not Detected”
Try to manually start the license server by means of;

 appx -l=logfile

Consider deleting the data\0SA\Data\USAGE.*, .\REGISTER.dat, and .\LOCK.* files, then re-import the registration.

[Append to This Answer]
2004-Apr-01 11:59am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; "file does not exist"
We are suddenly having a problem with a disk-related file that manifests itself as "file does not exist". I changed these files to Memory-Related and that seemed to solve the problem but why? The files were not moved and previously had been working for the past 12 years.
Look at the Tmpdata directory - you may need to clean it out occasionally. If you see a lot of old temporary files, you may be running out of file names.
[Append to This Answer]
2004-Apr-01 12:00pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; "Can't connect to Host" or "Connection refused by host" (Troubleshooting WinAppxD)
If, when attempting to connect from the Windows or Java clients, you get either of the above two messages, the Presentation Server is probably not running.

For an NT based Presentation Server (WinAppxD), see the FAQ “Service is not running” for debugging approaches. Also for NT Presentation Server:

1) Bring up the Task Manager and look for a WinAppxD process, which should tell us whether WinAppxD is running.

2) Running "netstat -a" and looking for "*.8060" (for example) in the "Local Address" list will tell you if anything is listening on the port. For example:

C:\WINDOWS> netstat -a Active Connections Proto Local Address Foreign Address State TCP oz:1079 P66:0 LISTENING TCP oz:1650 P66:0 LISTENING TCP oz:1656 P66:0 LISTENING TCP oz:1533 P66:0 LISTENING Services for WinAppxD has a radio button giving alternatives for 'System' or 'This Account:'. The latter should be on, with UserID equal to the APPX user set up for this Presentation Server. Try reentering the password for this User Account. Then Re-IPL.

For a Unix based Presentation Server:

To see what Presentation Servers are running, execute: ps -ef | grep appxd To see what ports (prefixed with '806') are being listened to: netstat -a | grep 806 Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp 0 0 *.8064 *.* LISTEN tcp 0 0 *.8068 *.* LISTEN tcp 0 0 *.8067 *.* LISTEN.

On Linix;
The iptables and ip6tables are probably getting in the way. Those restrict access to incoming ports. Try turning them off...
cd /etc/rc.d/init.d/ ./iptables stop ./ip6tables stop
[Append to This Answer]
2010-Nov-17 4:28pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; "Allocation of TOKEN_USER failed"
This is a system error which should never occur. It is indicative of the system having trouble allocating memory to hold a data structure. - Resolution: Reboot and try again. If it still fails, call APPX Software Technical Support.
[Append to This Answer]
2004-Apr-01 12:02pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; "LookupAccountSid() failed"
This is a system error which should never occur. It says that NT could not retrieve security information for the account used to run WinAppxD.

Reboot and try again. If it still fails, call APPX Software Technical Support.

[Append to This Answer]
2004-Apr-01 12:03pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; "can't open stream socket"
This is a system error which should never occur.

Resolution: Reboot and try again. If it still fails, call APPX Software Technical Support.

[Append to This Answer]
2004-Apr-01 12:41pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; "can't bind local address"
Something on your server already has the port you specified in the "-s=" argument, open. Causes:

1. A lingering copy of WinAppxD. Check to make sure no copies of WinAppxD are listed in Task Manager. This may occur if you Start and Stop the WinAppxD service using Control Panel, or if you run WinAppxD from the command line during troubleshooting. If you see any rogue WinAppxD's, kill them and try again.

2. Some other (non-APPX) application wants to use the port you specified in the "-s=" argument for WinAppxD during installation. There is no completely reliable way to detect this. If you are getting the "can't bind" error and are sure it's not due to an extra WinAppxD process running, this is probably what has happened. Since WinAppxD can't use a port claimed by another application, go back and edit the registry, choosing a different port number for the WinAppxD service. For example, try 8061 instead of 8060. Reboot, and try again.

[Append to This Answer]
2004-Apr-01 1:13pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; "op_prt_buf, print new page failed"
This message is displayed from an output process if there are MESSAGE statements in End of Process or too many ERROR, WARNING, or MESSAGES are produced while processing a single PCF record.
[Append to This Answer]
2004-Apr-01 1:13pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; “There was an error opening this document. No such file or directory”
This error was displayed while appx was sending a report to Adobe Acrobat PDF viewer. Check to see if the path to the pdf document contains two or more consecutive blank spaces. Change the path to have only one blank space and the pdf will print.
[Append to This Answer]
2004-Apr-01 1:16pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
NET_LOG 'error's 122 & 10054
In the course of Appx/Clients attaching to a WinAppxD Appx/Server, with 
APPX NET_LOG enabled, the following NET LOG entries can come up.  Here are 
explanations:

        SetProcessWindowStation() returned 1, (err=122)
        CreateDesktop() returned 168 (err=122)

 These aren't errors.  They would be errors if they had returned 0.

        recv() failed, exiting, errno = 10054

 "An existing connection was forcibly closed by the remote host."
                                        (From the MS Win32 API Error Codes)

This can be caused by something in the network (aka an 'assassin') sending a 
RESET packet.  This kills WinAppxD, and therefore all links between 
Appx/Clients and the Appx/Server.  The Appx/Server may or may not be able to 
manually restart, depending on whether something in the network is holding the 
old port open or not.  If the port is being held open, the Appx/Server can't 
grab it again.

That "something in the network" could be routers, modems, or other equipment 
in the network.
[Append to This Answer]
2004-Apr-01 3:32pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
PDF Output: "Windows cannot find $display"
In running a PDF OUTPUT, user gets popup error box:
                 $display:         (can look like "Sdisplay")
Windows cannot find '$display:'. Make sure you typed the name correctly, and then try again. To search for a file, click the Start button, and then click Search.
OK
The problem was resolved by associating Adobe 6.0 with all PDFs, and installing the newest java client.

[Append to This Answer]
2004-Apr-27 1:06pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message: "required data was not placed into memory because of an I/O error"

Users running "appx -c" got error popup boxes:
     Appx - 41440:  appx.exe - application error
The instruction at 0x004992b0 referenced memory at 0x004992b0. The required data was not placed into memory because of an I/O error status of 0xc000020c.

==> Users got I/O errors trying to page blocks of appx.exe executable into local process space.

There were most likely occasional, brief network problems when trying to load a block of appx.exe executable into his client PC. This can happen after initial appx.exe -c program loading, because the OS grabs 2k blocks of the disk form of the executable, as needed. (The problem can also be a disk fark, or a controller error.)

The solution is to bring the appx.exe previously stored on the network server down to the local PC hard drive, to eliminate this potential network problem.

[Append to This Answer]
2004-May-25 2:53pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message – “Error - Invalid Request Using Main ARB”
That typically means that you've rewritten (or deleted) the PCF record in ILF code. If you've rewritten the PCF record, be sure to re-read it with hold or Appx will get confused.
An 'arb' is an access request block - it's the internal representation of a file stream. When you OPEN a file, you get a new arb. Appx creates arbs for you when you BEG/END READ, or when you invoke a new process.
[Append to This Answer]
2005-Aug-29 11:37am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message "Found active record on freelist"
Every APPXIO file maintains a list of deleted record (the freelist). The freelist is added to whenever a record is deleted. Freelist pointers are used to 'recycle' deleted record space in the *.dat file. Each record in *.dat file also has a "deleted?" flag. If a freelist pointer points to a record that doesn't have this flatg set, you get this error. Get all users out of the file. Run "Verify Inegrity" on the file. If Verify Integrity reports that the file is OK, export and re-import the file. This gets rid of the corrupted list of deleted records.
If Verify reports that the file is damaged, follow the recovery procedure as outlined in the following link: http://www.appx.com/assets/asp/dynamic_generator.asp?pageid=624


[Append to This Answer]
2005-Feb-09 2:57pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message. "ERROR - CANNOT ACCESS REQUIRED FILE"
This runtime error normally happens when you incorrectly specify the name of a Query in the Output processes Use Query parameter.

This error can also happen when a temporary file is created in a process and that temporary file is not deleted completely. Under normal conditions, APPX will delete temporary files (Disk Related for example), when the process ends. Look for the presents a .key components without a corresponding .dat for the file in your database directory for the offending application. Delete the .key file manually if necessary.

[Append to This Answer]
2005-Feb-17 2:23pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
What does error "Can't read LFN File - Error - Already on File" mean?
LFN stands for Logical File Name. If you use symbolic links or the "Use DB" feature, many Logical file names can map to the same physical file. A logical file name is (roughly) an application ID + database ID + filename. You can usually get rid of the error by exiting Appx and going back in. It wouldn't hurt to verify files as well.
[Append to This Answer]
2005-May-18 9:13am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message, "can't empty sarb list"
The Appx engine keeps a list of all files open at each scope, when a scope ends, the engine closes all files opened at that scope. This error occurs when the engine has just finished closing all files a scope list - when it's finished, the engine double checks to make sure that the list is empty. "Can't empty sarb list" means that the list is not empty after closing all files. There's nothing that a user or designer should be able to do to make that happen. It's an engine bug.

'sarb' is an abbreviation for 'slave arb'. A sarb is a slave to a 'marb' (a master arb). An 'arb' is an access request block - it's the internal representation of a file stream. When you OPEN a file, you get a new arb. Appx creates arbs for you when you BEG/END READ, or when you invoke a new process.

Recommended course of action, determine what process was running then look at the file(s) that were open. Check the number of alternate keys. Appx allows for 1 primary and 15 alternate keys. If you exceed this you could get this error. You should also delete the em(s) and run the process again.

[Append to This Answer]
2005-Aug-30 8:42am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message, "bad reg no."
This message is normally occur when Appx can't find the window that holds the cursor. When testing this situation, notice where the cursor is prior to the error and where it is after.

You may see this message from Subroutine CSE. CSE is the Call Statement Editor.

[Append to This Answer]
2005-Sep-16 3:02pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message "An unexpected error occurred, please enable logging and retry"
This is an error thrown in Pre-Display of the registration process if the field REGERR CHK LOG is set by the engine.
This REGERR CHK LOG flag is set in 8 different places in the Appx License Manager engine code as reg_err_chk_log:

* It tries in 4 different places to open the USAGE file and if it fails it sets this flag.
* Tries to lock some kind of sentinal record, a failure sets this flag.
* If it fails to read a USAGE record in 2 cases it sets this flag.
* If it fails to writed to the USAGE file it sets this flag.

The basic problem might be a corrupt USAGE file.
That message means exactly what it says - enable logging and retry (then, of course, check the log).
The license server always produces a minimal log file (the file name displays when the license server starts or you can appx -l=filename). To turn up the logging level, set APPX_LS_DBG=0xFFFFFFFF
The easiest fix would be to delete the USAGE file. If that doesn't work, we need the log.

[Append to This Answer]
2005-Oct-11 4:00pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message "Cannot write to Cache - Invalid Prototype Record Length"
Most likely, the Em needs to be re-build for that particular process
[Append to This Answer]
2006-Mar-29 3:36pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; "No Record Currently Held"
For a single input process APPX uses a common area to store file information. A key element is the Held Record pointer. There is only one Held Record Pointer per file.

APPX can maintain three threads to the same file; one for the PCF, one for READ/READNEXT and one for BEG READ/END READ loops. When you READ the PCF in ILF (sub-process level), it resets the hold pointer depending on the READ specifications. That’s why the STORE, READ with hold, and RESTORE in Pre-PCF Update works. It re-established the hold on the record APPX automatically read from the PCF. Of course the interactive phase is import too. Appx won’t hold the record in Inquire mode for example. Also keep in mind that the data record is also stored in the common area and subsequent READ statements may replace the record read (and perhaps displayed) from the PCF. It can be a slippery-slop when you start messing around with the PCF in your application. There are certainly situations where it’s necessary but it could be done accidentally as well.

A record will be released by the REWRITE, DELETE, or CLOSE statements. Why, Appx assumes when you execute any of these commands you are done with the record.

As mentioned above, a READ or READNEXT creates a second thread into the file but uses the same common area as the parent. So if you access the PCF in ILF with hold, the hold pointer and record buffer are changed in the common area. When you return to your input screen after the events points, or sub-process child have executed APPX expects the PCF record to be held (in change mode). Since you re-established the hold in ILF, the hold at the PCF level has been lost. This might be what is happening in your case. That’s what the message is in the status line (in red) is telling you. If you tried to REWRITE or DELETE a record in ILF and didn’t have the hold, Appx would display the ILF code that was causing the problem.

You can also release the hold by invoking a sub-process child that uses the same PCF as the parent. Sub-process children share the common area with the parent. Basically the same thing happens as a READ, but APPX has read the file and may have reset the hold. This would happen on an input process invoked as a sub-process that has the same PCF as the parent.

You should analyze your system to determine where the hold is being released. We can’t tell you specifically where to look because, as described above, the hold can be release in any number of ways depending how your system is coded. If this just started happening, I would find out what has recently changed and investigate what the programmer may have done that resulted in this situation.

[Append to This Answer]
2006-Jun-14 11:39am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message, Error - Request Not Allowed
This error is displayed when the user doesn't have the rights for something they are trying, switch to change mode for example. Rights are assigned in System Administration, Security, Security Profiles.
[Append to This Answer]
2008-Sep-18 5:19pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message, "BI.C - APPX Startup Failure: Unable to Initialize Window Manager"
This error can occur when starting the Appx engine (appx.exe) and can be caused by a missing file in the 0 app or and entire directory missing.
[Append to This Answer]
2008-Dec-05 2:18pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message: "key field conversion failure - Error - Invalid Logical Value"
The engine code at this location is trying to write to a MODLOG by comparing the old and new values of the PCF record. This error is thrown when it tries to grab the old value and convert it to a text value to put in the log. The data conversion failed with "Invalid logic value" so it seems it might have tried to convert a logic field that had an unexpected and invalid value somehow. Maybe set via a group header that didn't match up right?
[Append to This Answer]
2010-Feb-12 1:44pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message; "too much data"
This is caused by Appx restoring a saved record or field buffer and detecting that the size is different between the saved copy of the buffer and the current copy of the buffer. This happens with STORE/RESTORE PASS/RECEIVE ILF commands as well as certain places in like when running processes that are scoped not to share buffers (RELATED and DETACHED), file level event points, etc.

Perhaps something is being changed in the data dictionary that alters the length of the current buffer and Appx maybe has a copy of the data stuck is a save buffer that it is trying to restore.

[Append to This Answer]
2011-Jan-06 4:20pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message, "Network IO Error"
Possible causes of the Network IO Error:

Most of the time this error is the result of lack of permissions on the Appx directory. Appx users must have full control within the Appx directory and all sub-folders within it. They also need to be able to run the Appx executable on the server with logon local rights.

We have seen this error caused by a spam filter. If any new spam/virus filters been added to your server in the past few months, could you turn them off briefly to test connectivity?

You might get this error if you're running a newer version of the client than the engine. Example, running Appx 4.2.a with the 5.0.1 client.

[Append to This Answer]
2011-Feb-04 9:42am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Runtime Messages :
Message, "ORA-01000: maximum open cursors exceeded"
This is an error detected by Oracle.

It has been found that exiting a BEG READ/END READ loop that is accessing an Oracle table will not close cursors properly. In this case you should write your Appx ILF process to always execute the END READ statement for each READ.

Tuning OPEN_CURSORS

The best advice for tuning OPEN_CURSORS is not to tune it. Set it high enough that you won't have to worry about it. If your sessions are running close to the limit you've set for OPEN_CURSORS, raise it. Your goal in tuning this parameter is to set it high enough that you never get an error during normal operations.

If you set OPEN_CURSORS to a high value, this doesn't mean that every session will have that number of cursors open. Cursors are opened on an as-needed basis. And if one of your applications has a cursor leak, it will eventually show up even with OPEN_CURSORS set high. Your DBA should be able to monitor the number of open cursors.

After you've increased the value of OPEN_CURSORS, continue monitoring to see if opened cursors keeps increasing for any of your sessions. If you have an application session whose opened cursors always increases, then you've likely got a cursor leak in your application code: your application is opening cursors and not closing them when it's done.

There is nothing you (DBA), can do to fix a cursor leak. The application developers need to go through the code, find the cursors that are being left open, and close them. As a stopgap, the most you can do is raise OPEN_CURSORS very high and schedule times when all the application sessions will be closed and reopened.

How not to tell if you're closing all your cursors

Frustratingly for developers, the session statistic 'currently open cursors' can include some cursors that the application has closed. When application code calls for a cursor to be closed, Oracle actually marks the cursor as "closeable". The cursor may not actually be closed until Oracle needs the space for another cursor.

So it's not possible to test to see if a complex application is closing all its cursors by starting a session, running a test, and then checking to see if currently open cursors has gone down to 1. Even if the application is closing all its cursors properly, currently open cursors may report that some "closeable" cursors are still open.

One way for application developers to tell if an application is closing all its cursors is to do a single test run, on a dedicated development box, while monitoring opened cursors for the session that's running the test. Then set OPEN_CURSORS to a value a little bit higher than the peak cursors open during your test run, start a new session, and run through multiple iterations of the same test run. If your application still has a cursor leak, you will see the value of OPEN_CURSORS going up, and you may hit an ORA-1000 after a reasonable number of iterations. (Don't set OPEN_CURSORS too low or it may be used up by recursive SQL; if your single test run opens very few cursors, consider making your test run longer rather than setting OPEN_CURSORS unreasonably low.)

[Append to This Answer]
2011-Feb-09 3:01pm
(Category) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment :
Other Runtime Questions

Subcategories:

Answers in this category:
(Answer) What is the difference between END and CANCEL?
(Answer) Is there a way to pass login nformation to APPX?
(Answer) Is there anyway to force the appx client to open in a specific size window?
(Answer) Graphic resource(s) not being displays (red X)?
(Answer) What does the check mark on the Java client do?
(Answer) Checking the APPX registration number.
(Answer) Is the date/time a user signs in and out of APPX kept?
(Answer) Pasting data into a text field in APPX.
(Answer) How do you set up keystroke playback (keyboard scripting)?
(Answer) How do you turn off dynamic indexing in APPX?
(Answer) What is dynamic indexing?
(Answer) What are the maximum file size(s) in APPX?
(Answer) How to determining who has a file open (Unix OS).
(Answer) No Beep on Errors and Warnings
(Answer) What are the command line options?
(Answer) Diagnose SUBR --- SEND FILE TO CLIENT problems
(Answer) More information about why the --- SEND FILE TO CLIENT subroutine failed?
(Answer) Scan hangs!
(Answer) Am I running Java Client?
(Answer) What's "appx.exe -f=" mean?
(Answer) How to recover from record "locked".
(Answer) How to determine what are my environment variable are?
(Answer) APPX/Client startup problems
(Answer) Slow APPX Login Time
(Answer) Auto-update Java Client version
(Answer) How are usage locks allocated?
(Answer) Appx/Client timeout duration
(Answer) Action Logs don't generate
(Answer) General AppxODBC recovery
(Answer) Appx-Client scrambled display on Startup Login
(Answer) How to turn off full selection (highlighted) of text fields in change mode.
(Answer) What kind of code does APPX generate?
(Answer) Is there any "standard" screen size as it relates to the GUI interface?
(Answer) Is there any way to increase the screen response time using the APPX client.
(Answer) Several commands which I can RUN successfully on our HP-UX 11.0 system, do not work when invoked on a Redhat Linux 9 system.
(Answer) Diagnosing Appx/Client problems
(Answer) home
(Answer) Performance Issues
(Answer) Memory corruption after calling an external subroutine.
(Answer) How do we use the routine --- READ FROM CLIENT CLIPBOARD?
(Answer) Asql Errors
(Answer) Would adding "-session" to a command line cause APPX to respond to any input screens with an END?
(Answer) What does error "Appx startup failed because of the following startup error: 34" mean?
(Answer) How can i tell from the ILF code what screen size user has?
(Answer) I can get the PID number from the usage file, but where can I get the port number?
(Answer) What does -session flag do when added to a command line?
(Answer) Previous Activity key
(Answer) Does APPX run on Mac OS X Server?
(Answer) Performance issues when using a RDBMS
(Answer) Appx and new Daylight Savings time
(Answer) What does "Corrupt lfb list" C-Assert mean?
(Answer) How to uninstall AppxODBC.

[New Answer in "Other Runtime Questions"]
2007-Jul-02 3:30pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
What is the difference between END and CANCEL?
END and CANCEL are both commands that terminate the current APPX process and return to the previous level, or, in APPX terminology, parent process. The main difference between END and CANCEL is what APPX does when control is returned to the parent.

END returns to the previous RELATED process level and continues operation. CANCEL returns to the DETACHED process level and continues operation. This may sound very similar but are actually quite different. A simplified answer is that END terminates the current process and goes back one level, while CANCEL terminates the current process and may go back more than one level.

For example, when a report is selected from a menu it may start a job that has several steps. It may contain an input that asks for a date range, a query that will select and sort records based on that date range, a disposition to direct the report to the desired device, and an output that actually creates the report. In this case the menu is the parent of the job, which is considered DETACHED since creating the report is not dependent on any information received from the menu. The input, query, disposition, and output steps of the job are RELATED, since the task depends on successful completion of each step.

If you are on the disposition screen and you decide that you want to terminate the report you must decide whether to press END or CANCEL. If END is pressed, then the disposition is terminated and control is returned to the RELATED level, or the job, and processing continues. In this case the output would then run, creating the report that you thought you were exiting. On the other hand, if CANCEL is selected the disposition is terminated and control is returned to the DETACHED level, or the menu. This skips any remaining RELATED steps of the job, giving the desired results.

[Append to This Answer]
2004-Apr-01 3:06pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Is there a way to pass login nformation to APPX?
Yes, you can do this with the following startup options:
AppxDesktopClient -user=xxx -password=xxx -host=xxx -port=xxx
Where xxx is user/site specific information.
[Append to This Answer]
2004-Apr-01 3:06pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Is there anyway to force the appx client to open in a specific size window?
Yes, you do this differently depending on what you are trying to do.

A) If you want to run with more Appx screen rows and columns, start the client with the following options:

AppxDesktopClient -rows=28 -cols=110

This will launch the client that has been sized to allow this number of application Rows and Columns. Similar to running a non-24x80 xterm window and running Appx.

B) If you want to launch the client with a different screen font size, that controls the overall size and magnification of the Appx Client screen. You can do that with a different startup option:

AppxDesktopClient -initialFontSize=14 &

This will launch the client using that base font size instead of the default it is currently using. The base font size is used by the client to set the overall Appx client window size and also how to scale all the screens it presents. The screens will be 'zoomed' to fill the Appx screen. Similar to starting to client today and dragging out the border to a different size.

[Append to This Answer]
2004-Apr-01 3:07pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Graphic resource(s) not being displays (red X)?
After upgrading a Windows 2000 workstation (anit-virus, Novell client , Groupwise ), the graphics in the APPX java client would not display. Even on the very first APPX screen where it normally has the Run, Design and APPX software there were only red Xs in place of the graphics. In the one application that is fully GUI, anyplace there was a reference to a resource (menu backgrounds, input backgrounds etc) the resources did not show.
Clear the cache on the client workstation. Locate and remove the .appx directory on the client machine. This is where all image files are stored and retrieved from during processing. The client software will refresh the cache area as resources are needed.
[Append to This Answer]
2004-Apr-01 3:08pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
What does the check mark on the Java client do?
In the Java client on the upper right corner of the screen there is a question mark, a check mark and an x. What does the check mark do?
The check box between the ? Mark and the X is the Enter command. APPX automatically "clicks" the check box when the Enter/Return key is pressed. Clicking it will do the same thing as pressing Enter
[Append to This Answer]
2004-Apr-01 3:08pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Checking the APPX registration number.
In Systems Administration / System Setup / System Registration the CPU Serial Number field near the bottom of the screen should be the same as the Serial Number displayed in the CPU Information box. If not, your system may not be properly registered resulting in a registration error when APPX is run.
[Append to This Answer]
2004-Apr-01 3:09pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Is the date/time a user signs in and out of APPX kept?
In Appx 4.2 there will be a logging system to allow you record when a user signs in and out. Prior to release 4.2 this information is not saved, however you could easily write a startup process to capture this information.
[Append to This Answer]
2004-Apr-01 3:10pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Pasting data into a text field in APPX.
In the Java client, for text field entry, the client does not allow the user to continue typing beyond the max length of the text field; all keystrokes are rejected. However, if text is copied from an external source (Notepad, Word, etc.), and pasted into the text field, it appears to allow lengths greater than the length of the defined field. Upon saving, the pasted text is truncated appropriately to the field length; however, it could give the user the mistaken impression that the entire text string was saved, when in fact it wasn't. Starting in APPX release 4.2, the text from the clipboard will be truncated and a beep will indicate that the incoming data does not fit in the field.
[Append to This Answer]
2004-Apr-01 3:11pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
How do you set up keystroke playback (keyboard scripting)?
You can use keyboard scripting from the Appx Telnet and Windows client, but it is unable to handle unexpected or error conditions. It allows you to record, edit, and then play back (blindly) specified keystrokes. <www.appx.com/assets/asp/dynamic_generator.asp?pageid=648> describes APPX Keystroke & Process Recording & Playback. When run from a Windows client, the file that is generated and read from for scripting is on the client PC.
[Append to This Answer]
2004-Apr-01 3:11pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
How do you turn off dynamic indexing in APPX?
The environment variable to set to turn off dynamic indexing in Appx is:
 
                 APPX_DISABLE_DYNAKEYS=1

[Append to This Answer]
2004-Apr-01 3:12pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
What is dynamic indexing?
Dynamic indexing allows you to alternately sort the data (PDF) displayed on an input screen. Normally, the data sequence is by a predefined key in the PDF. Use dynamic indexing to temporarily change the data sequence. The new sort is active for the current APPX session only and is not saved. Place the cursor in the field that you wish to sort on and press F3. A confirmation message will appear on the status line, press Enter and the data is now “indexed” by the field chosen. There are several environment variables that can be set to control dynamic indexing (_DYNAKEYS).
Bruce Johnston 15, '04:
You can also create a dynamic index via ILF (at least from 4.1 through 4.2.2).
Given two fields, DGA FDRFEPR FED WASTE PRE and DGA FDRFEPR FED WASTE SUF, if I want to sort by the PRE and then by the SUF, both in ascending order, I use the following...
      PASS     DGA FDRFEPR FED WASTE PRE      FIELD            SHARE? N         
      PASS     DGA FDRFEPR FED WASTE SUF      FIELD            SHARE? N         
      CALL         ,PI_DYNA_BLD               RESIDENT? N  END? N  FAIL 0       
If I wanted to change the default order of any to reverse it I'd simply double up its PASS command as in...
      PASS     DGA FDRFEPR FED WASTE PRE      FIELD            SHARE? N         
      PASS     DGA FDRFEPR FED WASTE SUF      FIELD            SHARE? N         
      PASS     DGA FDRFEPR FED WASTE SUF      FIELD            SHARE? N         
      CALL         ,PI_DYNA_BLD               RESIDENT? N  END? N  FAIL 0       
which gives the records sorted by the PRE in ascending order followed by the SUF
in descending order.

I believe that it was Korry who first told me this.
[Append to This Answer]
2004-Apr-01 3:13pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
What are the maximum file size(s) in APPX?
The maximum file size is dependent on the release of APPX and the operating
system.  The following chart shows the maximum file sizes allowed for each
operating system based on the release level of APPX.

              Maximum file sizes by release

Release   Windows    AIX       Solaris   HP/UX     Linux
=======   ========   =======   =======   =======   =======  
4.2       2 GB       4 GB      4 GB      4 GB      4 GB
4.1.a     2 GB       4 GB      4 GB      4 GB      2 GB
4.1       2 GB       4 GB      4 GB      2 GB      2 GB
prior     1 GB       2 GB      2 GB      2 GB      2 GB
On AIX and some other Unix platforms, the OS can limit the maximum filesize a user can use, say to something like 1 gig. (1 gig = 1073741824 bytes, a number which came up when diagnosing this problem for one customer.) Typing "ulimit -a" will tell you (in AIX) your user's current maximum filesize (in blocks).
The maximum Appx record length is 32767 bytes, regardless of file type (AppxIO, Oracle, Sybase, ...).

A user's export of an Appx file stopped with: Mu.c.6842: "Main[] - cannot write port file - error - unknown appxio status". The source file verified OK. Only 41% of a 2+ gig filesystem was used. The Portdata file size was 1,073,740,936 bytes at the time of the error.

==> The problem was that the AIX operating system wouldn't allow files larger than 1 gig to be written to the file system. An OS parameter needed to be changed: the /etc/security/limits file, fsize parameter was set at 2097151. They changed it to -1 and the problem went away.

Prior to this change, executing the 'ulimit -a' command returned:

 time(seconds) unlimited file(blocks) 2097151 data(kbytes) 131072 stack(kbytes) 32768 memory(kbytes)32768 coredump(blocks) 2048 nofiles(descriptors) unlimited
After the change, 'ulimit -a' command returned:
 time(seconds) unlimited file(blocks) unlimited data(kbytes) 131072 stack(kbytes) 32768 memory(kbytes) 32768 coredump(blocks) 2048 nofiles(descriptors) unlimited

The value for file(blocks) is the limit on the file size in 512k blocks that can be written. After the change the value is unlimited and the size of file that can be written is limited only by the available disk space.

The user changed their fsize limit, except that it was for the operating user, not for the appx User. They changed the fsize limit to -1 for all appx users, and the problem went away.
[Append to This Answer]
2005-Dec-27 9:03am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
How to determining who has a file open (Unix OS).
The Unix ‘fuser’ command will, when properly qualified, let you know what processor id and user’s login id. For example:
                  Fuser –u /user/appx/data/VV/AAA/Data/Bugvar.dat
Yields…
                  /user/appx/Data/VV/AAA/Bugvar.dat: 15846(tom)    18211(appx)
The –u parameter tells Unix to supply the users login id. The names have been changed to protect the innocent.
[Append to This Answer]
2004-Apr-01 3:14pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
No Beep on Errors and Warnings
If your Appx/Client loses its BEEP sound, when ERRORs and WARNINGs are encountered, look at the following:

1) Check that the Windows Sound Control's "Mute" isn't on, and that mixer volumes (Wave, Synth, Line, CD, etc.) are all set on high.

2) Try deleting Appx/Client cache files (Win2k: C:\Documents and Settings\{yourWindowsID}\.appx\cache\).

3) The "Toolkit.getDefaultToolkit().beep()"code may or may not be what your desktop expects as the default beep. It may be associated with another control. Go to Control Panel > Sounds and Multimedia > Sound Events. Is there a Sound Event named "Default Beep"?

If not, go to Microsoft Knowledge Base Article 300406 http://support.microsoft.com/default.aspx?scid=kb;en-us;300406 titled: "Default Sound Is Unavailable in the Sounds Tool in Control Panel", and follow its instructions.

If there is a "Default Beep" Sound Event, check to see if it has a .wav file associated with it and that the .wav file really exists. If there is not a .wav there, set one and see if that works. If one does exist, try setting a .wav association with the Windows program events that do not have a sound attached until you find the one that works.

4) Try re-installing the Appx/Client.
.

Background: When an Error or Warning occurs in the Appx application, we ask the Appx Java/Client to issue a ...
              Toolkit.getDefaultToolkit().beep()

... to the Java VM (rather than fire off a .wav file). The Java VM forwards that request on via the Windows OS to the external speaker, but it's possible it's going thru the Client PC's BIOS => internal speaker to produce a beep. (We can't really tell, as this is internal to the Java VM.)

It's possible something you installed or uninstalled may have changed the sound associated with the event the Toolkit.getDefaultToolkit().beep() is sending.

[Append to This Answer]
2004-Apr-01 3:15pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
What are the command line options?
The APPX Client has a number of options that can be set at the command line. These options will only effect the associated session being started. You can prevent the client login box from displaying by supplying the options to attach and login to the proper system. If enough information is available for the client to make a good connection, the login box will not be displayed. If any part is missing or invalid, the login box will pop up. The following command line options can be appended to the COMMAND LINE= line of the runnappx.ini file located in the Primary Destination Directory. (Default location= C:\appx\java\runappx.ini).

Command Line Options

-application=(APPX server Application ID) Instructs the server to startup in a particular application ID. (not implemented)

-bg=(color) Background color (See -fg for color list).

-bmode=(tile|expand) default=tile Defaults how background tiles are painted in the Java window. The “tile” setting uses the tile image over and over again to fill the window. The “expand” setting resizes the image to just fill the space inside the window. Used with the –splash= setting.

-boldFg=(color) Set the default text foreground text color for bold text (See –fg for color list).

-cols=(window size in columns) default=80 Defaults the initial screen size in columns.

-database=(APPX server Database ID) Instructs the server to start in a particular database. (not implemented)

-editBg=(color) Set the default text foreground text color for edit fields (See –fg for color list).

-fg=(color) Valid colors are black, blue, cyan, darkGray, gray, green, lightGray, magenta, orange, pink, red, white, yellow, or any valid #rrggbb number. Set the default text foreground color. Defaults to black.

-font=fixed Turns off the proportional font normally used by the Java client. If you are having problems with the text on your application screens not lining up the way you want, try this setting.

-hideMenu (not implemented)

-hideToolbar (not implemented)

-host=(server hostname) Defaults the remote host field on the remote login pane of the login dialog box. It is also used when the login dialog box is skipped.

-look=(java|windows|motif) default=windows Defaults the look and feel setting on the “options” pane of the login dialog box. It is also used when skipping the login box.

-mode=(local|remote|both) default=both Controls which login panels are shown and also determines which type of login to do if the login in dialog box is skipped.

-optkey=(character) Resets the key used as the option key. The default is the single back quote character (`, left of the 1 on the QWERTY keyboard. To set the option key to the ~ character, use –optkey=~

-password="(server OS password)" Defaults the password on the remote login pane of the dialog box. It is also used when skipping the login box.

-pathname=(path & filename of the local appx.exe file) Defaults the location and name of the APPX server when running APPX locally. This is also used when skipping the login dialog box and the –mode=local is set.

-port=(server port number) default=8060 Defaults the remote server port number on the login dialog and also used when doing a remote login with the login dialog box skipped.

-process=(APPX server process name) Set startup process name.

-ptype=(menu|job|input|output|...etc...) Sets the startup process type.

-rows=(window size in rows) default=21 Defaults the initial screen size in rows.

-shell=(command line to start a document) Overrides the default command line used to ‘start’ a document. Starting a document is telling Windows to open a document and having Windows use the association for that document type to decide which program to use. This defaults to start (document), which might not work on NT. NT may require this to be set to start the command shell like “cmd.exe /c start”.

-smode=(tile|expand) default=expand Defines how the splash image is painted on the Java window. The “tile” setting uses the tile image over and over again to fill the window. The “expand” setting resizes the image to just fill the space inside the window. Used with the –splash= setting.

-splash=(url to an image) Used as a background image in the main client window during the login process. How it is painted is determined by the –bmode= setting.

-tile#=(url to an image) Defines an array of images that the client will use to fill window backgrounds. –tile1= defines the base wallpaper image. –tile2= defines the wallpaper for all one up from the base window. –tile3= sets the pattern for all windows two up from the base window, etc. You can define as many or as few as you like. The client will cycle back to the first image if you have more windows layered on the screen for which it has tile images. Used with the –bmode= setting.

-title="(text/information to display)" Replaces the default text in the title bar of the client with the text and optional data specified in this parameter. Supports the following options; $(host) displays the host id, either name or IP as entered in login $(user) displays the user login id $(pathname) displays the engine path $(pid) displays the server task id $(port) displays the port the connection is attached through Example: -title=”Host is $(host), PID is $(pid), on server port $(port)”

-user=(server OS userID) Defaults the userid on the remote login pane of the dialog box. It is also used when skipping the login box.

[Append to This Answer]
2004-Apr-01 3:16pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Diagnose SUBR --- SEND FILE TO CLIENT problems
"I'm trying to send a file to a specific location on the user's PC, but it keeps failing. The target folder exists, and this used to work, now it doesn't. The user can use notepad and save a file in in that location, but APPX won't upload to it. How do I diagnose/debug the problem?"
_
==> Start a session, try the SUBR --- SEND FILE TO CLIENT, then look at the tail end of the (Xref) home\appxlog.txt file, where there should be information about why it failed.

This should also provide useful information if you're having problems with:

        SUBR --- LOAD URL ON CLIENT.

See also: (Xref) How do I send a file to a client PC and open the file with a client side App? (i.e. Excel)
_

[Append to This Answer]
2004-Apr-02 4:38pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
More information about why the --- SEND FILE TO CLIENT subroutine failed?
I'm trying to send a file to a specific location on the user's PC, but it keeps failing. The target folder exists, and this used to work. Now it doesn't. The user can use notepad and save a file in in that location, but APPX won't upload to it. Win2K client, APPX 4.1.a.

Start a session, try the failing SEND FILE TO CLIENT, then immediately look at the tail end of (Xref) home\appxlog.txt on the client system. There should be some info there about why it might have failed.
[Append to This Answer]
2004-Apr-02 4:43pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Scan hangs!
When I run an certain input process and try to scan a particular file, I get an hourglass and it never comes back. If I turn GUI off, I can scan OK. I have trapped through the process and have determined that there is no ILF code causing this.
In older versions of APPX, the display sequence (dsp seq) field in the data dictionary was defaulted to 1. In recent version of APPX the default display sequence is not set, leaving the dsp seq field blank. The undefined dsp seq can confused the new scan processor and cause it to hang in GUI mode. To fix this problem, check the display sequence (dsp seq) setting of the fields in the scan file. If they are all blank, set an appropriate field’s dsp seq to 1.
[Append to This Answer]
2004-Apr-01 3:19pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Am I running Java Client?
Is there a way to determine if APPX Java Client (rather than Windows Client, or character based APPX running) is connected, to determine what type of menu should be displayed (for example)?

In APPX 4.1 and higher, you can use the following code:

        SUBR --- CHECK GUI CLIENT     SUBPROCESS  END? N
        IF   --- RETURN CODE             EQ    1
  T     it's the java client
  F     it's not

[Append to This Answer]
2004-Apr-01 3:25pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
What's "appx.exe -f=" mean?
winappxd waits for connection requests (from an appx -c session). When it gets a request, it validates the user id & password from the client. Then it spawns a copy of APPX (which becomes the server).

When the server is spawned, it inherits a bunch of file descriptors from winappxd. One of these file descriptors is the TCP/IP connection from the client. The "-f=" flag tells the server which file descriptor is connected to the client.

After completing the spawn, winappxd closes it's copy of the client file descriptor and the server starts talking to the client on the indicated descriptor.

[Append to This Answer]
2004-Apr-01 3:26pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
How to recover from record "locked".
We have a record in a file that is reporting "locked" if you try to change it. No one is on this record that we are aware. What do we do?
A user was in the middle of updating this record when the session "crashed".

The APPX session is probably still running on the server, and that's what's holding the record.

You need to do one of the following:

- Have a look at the registration usage to see if there is an orphaned session for that user. If you can find it, KILL it from the console.

- Use NTHandle on the server and find the PID that has the file. Then kill it. At the heart of it, NTHandle digs out the PIDs and the open files. You still have to parse through NTHandle, once you have it from www.sysinternals.com

- Ask everyone to log off, stop the WinAppxD and License servers, and kill any remaining APPX sessions on the server. If there are background jobs running, it might be tricky to identify the background jobs from the ghost task.

- Identify the process id's of all currently connected clients (look in the title bar if P/M client, or under the 'About' menu if Java) and kill everything but those. Again, watch out for background jobs, if you use them at your site. Also, you might want to stop the WinAppxD service while you do this to prevent new users from logging on while you try to find the ghost process.

- Download and install the BJutils package. This is Bruce Johnston's APPX utility package, and one of the utilities allows you to see who has what files open and also allows you to kill APPX sessions. This would help you identify which APPX session is holding the record. You can get this from www.cansyswest.com, under Free Stuff. You also need the NT Resource Kit to make these work.

- Reboot the server (simple, but drastic)

In addition, key file corruption can cause locking problems. It is not unlikely that externally killing an APPX process may cause key file corruption.

So you should run a 13)Verify 1)Integrity on any files that may be open when you have a record locking problem, for which you end up either killing processes, or re-IPL'ing with APPX processes still running.

If you're having record locking problems, it might also be prudent to run 13)Verify 1)Integrity on a regular schedule, perhaps monthly.

[Append to This Answer]
2004-Apr-01 3:27pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
How to determine what are my environment variable are?
To determine your environment variables under Unix, perform:

       RUN          set > /tmp/env.txt

To determine your environment variables under APPX for Windows:

       RUN          cmd /c set >C:\tmp.txt
       RUN          wordpad.exe C:\tmp.txt

 (Under Windows 9x, use command.com rather than cmd.exe.)

If you're running APPX/Client, have the first RUN redirect standard out to a  
file in a client-accessible directory, then run an editor on that file.

To get the environment variable using ILF, try;

      SET      --- TEMP 80          =      cd /tmp;
      APPEND   --- TEMP 80          1      set > env.tmp;
      APPEND   --- TEMP 80          1      grep APPX env.tmp >
      APPEND   --- TEMP 80          1                env.txt   ;
      APPEND   --- TEMP 80          1      rm env.tmp
      RUN      --- TEMP 80
[Append to This Answer]
2004-Apr-01 3:28pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
APPX/Client startup problems
If your APPX/Client ('appxjava.exe') fails to startup for various reasons ("Memory could not be read.", or terminates without error message), try rebooting your Client PC.

Set the environment variables APPX_NET_LOG and APPX_NET_MASK to have APPX create a log file of why the client is not being started.

If that doesn't work, perform:

   1) Download a fresh copy of the APPX Java Client ('javacli.exe').
2) Create a new directory (renaming or deleting the old one if necessary). Run this 'javacli.exe', installing it into this new directory.
3) Reboot the client PC.
4) Try to run 'appxjava.exe' from the new directory.
5) If it fails, from a DOS window, do a "set" command. Email the value of IBMHPJ_OPTS to us at techsupp@appx.com, along with the location of the directory into which you installed the Client.

[Append to This Answer]
2004-Apr-01 3:29pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Slow APPX Login Time
Over the past 6 months, our APPX login times have steadily lengthened. 


Normally this symptom is due to a growing USAGE file.  Other likely events;


- network traffic in general has increased on your network

- more users in APPX

- more PC’s on your network

- do you have the APPX client stored on a local disk on each client PC, or
  are  you retrieving it from the network any time someone logs in?  (See the
  WinAppxD FAQ, ftp.appx.com/pub/documents/winappxd-faq.txt, section 2.12: 
              "Automatically update Presentation Client".)

- It's also possible that you have a DNS or WINS issue 
[Append to This Answer]
2004-Apr-01 3:30pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Auto-update Java Client version
Example of a batch file that can start APPX and automatically update the 
APPX/Client to the most recent version prior to logon:

rem  AppxJAVA.bat
rem  Batch file to launch Appx Java Client and keep it updated.
xcopy x:\Appx\StartUp\Images\splash.jpg c:\"Program Files"\AppxClient\
                        themes\default\ /d
xcopy x:\Appx\StartUp\login.ini c:\"Program Files"\AppxClient\ /d
xcopy x:\Appx\StartUp\JavaClientUpdate\AppxClient.exe c:\"Program Files"\
                        AppxClient\ /d
xcopy x:\Appx\StartUp\JavaClientUpdate\Appx.jar c:\"Program Files"\
                        AppxClient\ /d

"C:\Program Files\AppxClient\AppxClient.exe" -cols=80 -rows=25
                 -title="Appx -$(user) on $(host):$(port), PID $(pid)
exit

The following batch file does the same for the Appx Windows Client.

rem AppxWin3.bat
rem 09/03/99 PAK
rem
rem Batch file ran on each client at startup of Appx
rem i.e., the Appx Desktop shortcut should point to this file
rem
rem XCOPY switches:
rem /d - Copies only those files whose source time is newer than
rem      the destination file.
rem /i - If destination does not exist and copying more than one file,
rem      assumes that the destination must be a directory.
rem /u - Copies only files that already exist in destination
rem
rem Copies the Latest Version of Appx to your computer!
rem
xcopy x:\appx\appx.exe c:\Appx\Win32\ /d

md c:\Appx\Win32\data
xcopy x:\appx\startup\winprint.exe c:\Appx\Win32\data\ /d

rem for WinNT, HOSTS file is in: Winnt\system32\drivers\etc\
xcopy x:\Appx\Startup\Hosts.* c:\Winnt\system32\drivers\etc\ /d /i
xcopy x:\Appx\Startup\Hosts   c:\Winnt\system32\drivers\etc\ /d
start c:\Appx\Win32\Appx.exe -c
[Append to This Answer]
2004-Apr-01 3:31pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
How are usage locks allocated?
Each process belongs to an application. Every Appx session has a list of application locks that are in use by that session. When you start a process in a locked application, Appx checks to see if the lock is already in use by this session. If so, the usage count in incremented - if not, the lock is added (if possible) and the usage count is set to 1.

When you run the first process in a locked application, Appx acquires a USAGE (this means that you are using 1 user right from that product registration). When you run the second, third, fourth, etc. processes in that application, you don't count as 2, 3, 4, etc. users - just a single user.

When you end ALL processes in the locked application, it decrements the usage count for the appropriate lock. If the usage count for a lock goes to zero, the lock is forfeited, and therefore the overall user count for that lock is decremented. (You are no longer counting against the user rights for that product registration)

[Append to This Answer]
2004-Apr-01 3:32pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Appx/Client timeout duration
What controls the timeout duration, before the Appx/Client gives up on trying to talk to the Appx/Server? The Client itself? The network?
It depends on the message that you see. We don't specify a timeout. We simply request a connection to the host identified by the user.

If the user gives us a host name (as opposed to a numeric IP address), we have to convert that to an IP address, using the TCP/IP stack on the client machine. If the server's name is in the hosts file (/etc/hosts or %WINDIR%\System32\drivers\etc\hosts), the conversion should be nearly instantaneous.

If the server's name is not in the hosts file (or if file-based lookup Has been disabled), the conversion requires a network conversation with a DNS name server - that can take quite a while.

If the name cannot be resolved, you'll get an "Invalid Host Name" error after a while.

If the host is not reachable, the IP protocol specifies some number of retries (and some waiting period in between retries) before the TCP/IP stack gives up and tells Appx that the host is unreachable.

[Append to This Answer]
2004-Apr-01 3:33pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Action Logs don't generate
We run a job for a post and the action log normally behaves correctly, 
but on occasion no log is produced.  But in a subsequent job for 
another group, the action log contains items (usually Warnings) for 
this post, as well Warnings from the first post.
One possibility - check the Start-of-Process and the End-of-Process event points. If these event points have ERROR, WARNING, MESSAGE, or DISPLAY statements, they can cause a problem if executed. They are not valid statements for those event points.

Action logs are created automatically when an APPX update process encounters an error or executes an ERROR, WARNING, or MESSAGE statement. Normally, an action log is closed and queued to print at the end of the process that created it. We are not aware of any specific problems relating to the creating and queuing of action logs. Having said that, there must be something that is preventing APPX from closing and queuing the action log. Perhaps the update process is crashing or otherwise ending prematurely and APPX never has an opportunity to close and queue the action log.

You might consider a workaround that also gives you more control over Logs produced, by converting your post's Updates to Output processes. The ILF normally in UPDATE's "Start of Frame" is put into the OUTPUT's "Select Image" ILF series. Explicitly set --- ALTERNATE IMAGE NUMBER = 0 at start of "Select Image". Then set ALTERNATE IMAGE NUMBER = 1 if you run into any CANCEL, ERROR, WARNING, or MESSAGEs. Paint the primary key to the file on the RECORD level OUTPUT image, and the Sort/Control fields onto any RANGE-START/END frames.

You'll have more control over the format of your Logfile, and you can use DISPOSITION functions to direct them. You could also use ILF to update an ancillary error tracking file, if you want a more permanent record of errors encountered, by whom, and when.

[Append to This Answer]
2004-Apr-01 3:34pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
General AppxODBC recovery
Recommended recovery procedure for difficult-to-debug AppxODBC errors:
Uninstall/Re-install AppxODBC.
 1) In Control Panel > Administrative Tools > Data Sources(ODBC) > 
          System DSN tab => Remove the AppxODBC record. 1) Uninstall AppxODBC.
 2) If 'C:\appx.env' exists, delete or rename it.
 3) Delete appxodbc directory tree (which contains the 'appx.dbs' tree).
 4) Search for and delete appxodbc.dll and appxsetp.dll.
 5) Reboot.
 6) Reinstall AppxODBC from a downloaded AppxODBC installation package.
Test AppxODBC with WinSQL, see FAQ at
         http://board.appx.com/faq/cache/232.html 
for information on the WinSql tool.
(Xref) WinSQL: APPX ODBC debug utility.
(Xref) (missing or broken file)
 

[Append to This Answer]
2007-Jul-02 3:23pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Appx-Client scrambled display on Startup Login

Occasionally when the new client is started, the login screen appears, but is scrambled, perhaps shifted up and left a bit, leaving a part of the first placement and hiding some of the login fields. Minimizing or Maximizing the Client Login screen, then Restoring it will set it right.

Try turning down the video acceleration setting on your computer.

Right Click on your Windows Client Desktop > Properties > Settings Tab > Advanced... > Troubleshooting Tab > Hardware Acceleration slider. Click it to the left, perhaps all the way to "None". That should straighten out the display. If it doesn't, call Appx Support.

[Append to This Answer]
2004-Apr-27 12:50pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
How to turn off full selection (highlighted) of text fields in change mode.
I have an input screen that contains just a text field. When the user goes into the input in change mode is there anyway to prevent the client from highlighting all the text automatically?
Pull down the Options menu at the top of your window. There is an option called Auto Select. Set that to No and fields will no longer be automatically selected when the cursor moves into the field. The 4.1 client does not remember this setting between settings. The 4.2 client does.
[Append to This Answer]
2004-Apr-01 3:36pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
What kind of code does APPX generate?
Appx compiles process specifications into a form that minimizes runtime processing. It's a bit difficult to describe the format. The Appx engine is similar to a Java VM (virtual machine) or the .NET environment. When we designed Appx, we defined an ideal execution environment that doesn't actually exist in any hardware - we implemented the execution environment in software. There are a number of different execution components. ILF code is executed in an optimized register-based software CPU (there are about 500 op-codes in the instruction set - the opcodes do things like "convert from binary form to packed-decimal", "jump to label", "invoke a subroutine"). Process specifications are interpreted by the process interpreter - when we build an EM, we resolve as many details as possible - the basic theory being "do it once, at compile time" rather than "do it every time you run this process". That's one reason that it would be difficult to add indirection as some people have asked for - indirection means that you defer as many decision as possible until runtime.

So we don't really generate code in the way that some tools do. We don't generate C code that then gets compiled into a program. Appx is a compiler, interpreter, and VM all rolled into a single package.

[Append to This Answer]
2004-Apr-01 3:37pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Is there any "standard" screen size as it relates to the GUI interface?
No, the screen size is more a person preference. Here are some tips from other users;

I use 28x100 because it creates a nice sized and readable screen on a 17” monitor when using a resolution of 1024x768. It fills the screen nicely, but has a font that is large enough to easily read.

My personal preference is 28x110. This size fits nicely on 17" monitors with a resolution of 1024x768.

We chose to set the standard at 21 X 97. This will fill a screen when the resolution is set at 800 X 600. It gives us some extra screen real estate, particularly in the width where its most useful, but doesn't strain the eyes of our older employees.

[Append to This Answer]
2004-Apr-01 3:38pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Is there any way to increase the screen response time using the APPX client.
You can try the repaintLevel setting in the Advanced client options list. This controls screen repaint frequency.

0 = Paint every screen 1 = Skip some intermediate screen repaints 2 = Skip all intermediate screen repaints

Screen painting is the most intensive thing the client can do.

[Append to This Answer]
2004-Apr-01 3:39pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Several commands which I can RUN successfully on our HP-UX 11.0 system, do not work when invoked on a Redhat Linux 9 system.
For example,

--- TEMP 132 is loaded with:

ln -s -f /ft/mv90/test.PRN/home/appx/data/TST/UBS/Data/MV9IRPRN.dat

RUN --- TEMP 132

Either the RUN statement can't find the "ln" program, or you don't have the same privileges when running Appx that you do at the command line.

You can rule out the first problem by including the complete path to the /bin/ln program.

To check on the second problem. RUN the command "id > /tmp/myid", then look at /tmp/myid. You'll probably see that you are running as user appx rather than yourself s you might expect.

Make sure that the destination directory is modifiable by $(cat /tmp/myid)

[Append to This Answer]
2004-Apr-01 3:40pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Diagnosing Appx/Client problems
`
To diagnose general Appx/Client problems, send tech support will (Xref) home\appxlog.txt and "appx.stk" (in the server directory containing the Appx engine). These files frequently provide us with the information needed to identify and fix issues that can cause a session to hang.

Note: appxlog.txt is initialized when a user starts a new session, so you must capture it before the user starts a new session.

See also (Xref) Diagnose SUBR --- SEND FILE TO CLIENT problems and (Xref) Where is Java/Client cache?.
`

[Append to This Answer]
2004-Apr-02 4:49pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
home
`
For the purposes of the Appx Java/Client, {home} is in one of the following locations:

Unix & Linux:

   $HOME/.appx/
Windows 2K:
   C:\Documents and Settings\{yourWindowsID}\.appx\
NT:
   C:\WINNT\.appx\
`
[Append to This Answer]
2004-Apr-02 4:41pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Performance Issues
-Tmpdata data directory

Files are created in Tmpdata for large sorts and for temporary disk files created by application(s). Under ideal circumstances, APPX removes all temporary files at the end of the job that created them. However, if a job is interrupted, the temporary files are not automatically removed and, over time, they can accumulate. So, the system administrator should routinely remove them when performing system maintenance to keep them from accumulating.

APPX has to choose a unique file name when creating a temporary file. Determining a unique file name can take some time if there are a lot of files in the Tmpdata directory.

If users are actively in Appx, you should not blindly remove the contents of the tempdata directory. But if all users are out, then it is perfectly fine to remove the contents.

-Reorganize active files

"Active" data files should periodically be "reorganized" whether or not they are APPXIO, C-ISAM, Oracle, or whatever.

Files and disk drives should be defragmented periodically.

-Orphan APPX sessions

Check for "orphaned" APPX sessions on the server that might be consuming system resources.

-Network errors

Check for "high" error counts on your network that might be causing slow response or "orphaned" APPX sessions on the server.

-Logging

Check your enviromental variables to see if you are creating any dianostic log files that are not needed.

[Append to This Answer]
2004-Jul-09 4:39pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Memory corruption after calling an external subroutine.
Historically, APPX administrators have had memory corruption problems when external subroutines are executed from within APPX. For example, when you call a C subroutine from within APPX, the C subroutine is responsible for making sure that allocated memory is properly released before returning back to the calling APPX process. If this is not done properly, then memory corruption can result.
[Append to This Answer]
2004-Jul-09 4:41pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
How do we use the routine --- READ FROM CLIENT CLIPBOARD?
      PASS     Rq: Buffer                     FIELD            SHARE? Y
PASS Op: Total Chars in Clipbrd FIELD SHARE? Y
PASS Op: Max Num Chars to Read FIELD SHARE? N
GOSUB --- READ FROM CLIENT CLIPBOARD

The first field is a field to receive the clipboard data.
The second field will be filled in by the routine telling you how many bytes were in the clipboard.
The third field is optional and if used you set it to the max number of bytes you want to read. It will default to 32767 if not set.

[Append to This Answer]
2005-May-03 1:37pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Asql Errors
(Download) asql_login_over_tcpip_without_struct_file_present (1.1 M) (SYSDIR Struct file)
(Download) Asql_login_over_tcpip_without_struct_file_and_bogus_password (1.4 M) (SYSDIR Struct file)
(Download) Asql_login_over_tcpip_to_bad_port_number_or_down_appxdsvc_port (1.4 M)
(Download) Asql_login_local_mode_without_APPXPATH_set (1.5 M)
(Download) Asql_login_local_mode_with_0SA_Struct_file_missing (1.5 M)
(Download) ASQL_login_with_remote_tab_on_Windows_2003_Server_with_DEP_turned-on (1.9 M)
[Append to This Answer]
2008-Mar-12 3:36pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Would adding "-session" to a command line cause APPX to respond to any input screens with an END?
And if so, then why does APPX still display the 'Restructure Required' or 'Missing or Invalid Process Definition Record' screen?

It depends on the platform. If you're running a Linux or Unix server, the operating system, background jobs will pretend like the user pressed the END key whenever a process gets to a point where it would normally wait for user input.

On Windows servers, the OS doesn't really provide anything that differentiates between a foreground and background process - there isn't a notion of a "background process" on Windows (except for a Windows service, which is something else entirely). Instead, when you spawn an Appx background job on a Windows server, we just start another copy of Appx (minimized). Try running Appx on a Windows server without running in client/server mode - run a background job that needs to wait for user input. When you spawn the job, you should see another copy of Appx show up in your task bar. Open that window and you'll see the background job running. You can interact with it using the keyboard and mouse. It's just a second Appx session that starts in the right place, has a copy of all of the parent session's important data, and starts minimized. Just like the specification says: separate task allowed? Very handy for debugging background jobs.

However, that's an old feature that was written before we had a client/server configuration. If you connect to appxdsvc or winappxd, the broker creates an invisible desktop for the engine sessions - that means that you can't get to any background sessions. We should probably modify the Windows engine so that it notices that you're running in client/server mode and behaves more like Unix/Linux of you are.

[Append to This Answer]
2004-Nov-04 2:55pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
What does error "Appx startup failed because of the following startup error: 34" mean?
This error appears when user doesn't have sufficiant Security Profile rights to run Startup Job.
[Append to This Answer]
2005-Feb-01 3:13pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
How can i tell from the ILF code what screen size user has?
      PASS     --- RI                         FIELD            SHARE? Y
      PASS     --- CI                         FIELD            SHARE? Y
      GOSUB    --- GET SCREEN SIZE 

[Append to This Answer]
2005-Mar-29 4:03pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
I can get the PID number from the usage file, but where can I get the port number?
If you're looking for the port that the client connected to, you could define an environment variable (say APPX_BROKER_PORT) and set it to a value unique to each listener. Then you could examine APPX_BROKER_PORT in each engine.
[Append to This Answer]
2005-May-03 9:50am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
What does -session flag do when added to a command line?
The -session flag suppresses terminal interaction as a side-effect. It's real purpose is to start a background job. When you submit a job to background, Appx re-invokes itself with "-session=<filename>", where <filename> is the name of a session file.
[Append to This Answer]
2005-Jul-29 4:28pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Previous Activity key
I have job like this:

QUERY <some query name> JOB DISPOSITION - consists of one INPUT process OUTPUT <some output name>

When the user is at the INPUT process of the nested job, and they press F4 to go back, it continues to the OUTPUT. Why does it do this? Can I get it to return to the previous job step?

Yes, you can get it to return to the previous job step. Make sure that your JOB DISPOSITION step is invoked as a Subprocess, not as "related", and make sure that "Separate task" box is not checked. That should do the trick.

There are 3 things that controls if you can or can not return to the previous activity:
1. NEXT CHILD ID - it controls job steps and is shared at the subprocess level. Normally it's set to "+", which means "move forward"
2. Separate task set to "Y"
3. There is a hidden filed on a CHILD file called "Prev Img Ok" - not 100% sure what exactly sets in ON or OFF, but i think it's ON by default now.

[Append to This Answer]
2005-Aug-09 11:42am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Does APPX run on Mac OS X Server?
Appx will not run on MAC OS X server. The Appx client will, but the server will not.
[Append to This Answer]
2005-Dec-20 11:02am
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Performance issues when using a RDBMS
The following factors will significantly impact performance when using a database:

1) commit frequency
2) Length of data read/written
3) Read with hold
4) # of database I/O's
5) communication protocol and settings

I'll briefly discuss each.

1) commit frequency (Commit Mode, Process Additional Attributes).

We have determined that a commit is very "expensive" in terms of performance. If you can reduce the number of commits, then performance will almost always increase, sometimes significantly. Deferring commits to the End of Process probably maximizes performance for this factor but may increase the size of the rollback logs and will certainly increase the number of rows in the database which are "locked" to other users while updates are pending.

2) Length of data read/written

This may be the most significant factor which impacts performance. As the length of the data being read or written increases, the run time increases, sometimes dramatically. This is why we added the Partial Record I/O feature. If possible, you should avoid reading the entire record if the record is large. How large? I seem to remember that each increment of about 800 bytes caused a significant incremental loss of performance. Even if you must read the entire record, then try to avoid a rewrite of the entire record. If you are only updating a single field, then do a rewrite of just that field. If you are rewriting several fields, wrap them in a group and rewrite the group. If necessary, you can add a "group" of synonyms to the end of the record to accomplish this.

3) Read with hold

Don't read with hold unless you need to. If you are only going to actually update a small percentage of the records read, read each record first without a hold and then, after you determine that an update is needed, read it with hold. A read with hold is very "expense" in terms of performance. Keep in mind that an output or update process will automatically read the PCF with hold if a REWRITE or DELETE statement is detected. If only a small percentage of records will actually be updated, it might be much more efficient to write a Subroutine process as an alternative to an update process.

4) # of database I/O's

Use the new file cache capability to load read-only "code" files into memory where they can be very efficiently read. Accessing of code files in a database is much slower than accessing the same code files from memory.

5) communication protocol and settings

If possible, install the Oracle database and APPX on the same machine so that you can avoid database I/O across a network. If they are both on the same machine, configure Oracle to use "pipes" for communication instead of TCP/IP. Define the ORACLE_SID environment variable instead of specifying the database name in the FMS group. APPX will then use the local communications protocol which will probably be pipes. Pipes are much more efficient than TCP/IP.

If you are using TCP/IP make sure that the packet size is large. I'm not sure how large you can define the packet size to be, but 10K or more might be desirable if you are reading/writing large rows.

[Append to This Answer]
2011-Jun-15 2:45pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
Appx and new Daylight Savings time
Is Appx going to be affected by the new Daylight Savings Time?

APPX does not keep time – it simply reads what the operating system provides. 
As long as you have patched your OS properly, there will be no issues as far as 
APPX is concerned.
[Append to This Answer]
2007-Feb-27 4:01pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
What does "Corrupt lfb list" C-Assert mean?
It means that Appx found an unexpected entry in a "scope list".  
When you open a file, Appx creates a "logical file block" (LFB) to keep track
of that file.  Every file is opened at some particular scope - when that scope
ends, the file is closed and the LFB is discarded (a scope is something like
"the most recently invoked related process", "the current event point", or
something like that).  The LFB is linked into a list of all LFB's belong to a
given scope.  This message means that Appx was processing a scope list and
found an LFB that should have been linked into a different list (because it
has the wrong scope).

It could be related to FLEP bug.
[Append to This Answer]
2007-Mar-16 12:33pm
(Answer) (Category) FAQ's - APPX Software, Inc. : (Category) APPX Utility : (Category) APPX Runtime Environment : (Category) Other Runtime Questions :
How to uninstall AppxODBC.
please refer to FAQ;
http://board.appx.com/cgi-bin/fom.cgi?auth=ck41f1191a3c8a254b2a9c32ee5e2ee117&file=344
[Append to This Answer]
2007-Jul-02 3:31pm
Previous: (Category) APPX Development Environment
Next: (Category) APPX System Administration
This document is: http://board.appx.com/cgi-bin/fom.cgi?file=6
[Search] [Appearance] [Show Top Category Only]
This is a Faq-O-Matic 2.719.
Copyright 2003 by APPX Software, Inc. All rights reserved.