EXTERNAL ECHO (XE)

Standard Target Noun                      Noun

Used with the verbs that perform file operations (external and regular) or SQL operations.

It contains the status message of the most recent file operation. This status message tells you whether or not the file operation completed properly.

Both EXTERNAL ECHO and FILE STATUS are set after file operations, and either may be checked.

EXTERNAL ECHO contains text which may be different for each country, being dependent on the file status messages selected in PRAGMA.DES and the message file.

 

Format:

DISPLAY the value EXTERNAL ECHO

 

Discussion:

The noun EXTERNAL ECHO (XE) will contain a message after all file operations, both with Pragma files and SQL  (except those using mock internal emulation; mockflag = 1).

Both FILE STATUS and EXTERNAL ECHO are set after file operations, and either may be checked.

FILE STATUS, since it contains numeric values, is language independent; whereas EXTERNAL ECHO contains text which is different for each country.

If EXTERNAL ECHO is used, the verb is dependent upon the file status messages selected in PRAGMA.DES. That means that for instance, when you check with an IF statement if the EXTERNAL ECHO is equal to "record not found", your program will not work if in PRAGMA.DES instead of "record not found" you have "scheda non trovata".

The following are the possible messages of EXTERNAL ECHO in the standard American version of PRAGMA:

OK
record not found
duplicate reference
conflict
file is locked
queue is empty
queue is locked
prepare to stop
NO SUCH FILE
REFERENCE TOO LONG
MORE NOUNS IN LOCAL FILE
FEWER NOUNS IN LOCAL FILE
NO SUCH QUEUE
NO RESPONSE RECEIVED
EXTERNAL DISC IS FULL
TRANSMISSION ERROR
INTERNAL LOGIC ERROR
UNKNOWN EXTERNAL ECHO?
The file does not exist in the vocab
The item is not a file
The definition count in the file is zero
You cannot use a file with a mock flag greater than 16

Be aware that the messages are case sensitive. The old fashioned way of spelling DISC is a leftover from the old days.

SQL uses only the first two messages of the standard message list displayed above, with the same meaning as for Pragma files.  All the other messages (FILE STATUS = 99) are various error messages that mostly come from PostgreSQL.

 

OK

The communication between PRAGMA and the filemanager was successful. The majority of your communications will result in this message. If EXTERNAL ECHO does not contain an "OK", then something special will usually need to be done to handle or correct the situation.

 

record not found

A file record with the requested reference was not found.

 

duplicate reference

The filemanager tried to save a record and found that a record with an identical reference already exists in the specified file. The record was not saved.

A workstation attempted to lock a record more than once.

 

conflict

A workstation tried to retrieve a file record that was controlled at the time by another workstation.

 

file is locked

The specified Fileserver file has been locked out of use by the Fileserver console operator.

 

queue is empty

The specified Fileserver message queue is empty.

 

queue is locked

The specified Fileserver message queue has been locked out of use by the Fileserver console operator.

 

prepare to stop

The Fileserver console operator has selected the PREPARE TO STOP function to advise the workstations that the Fileserver will be shutting down.

 

NO SUCH FILE

The filemanager tried to use a file that was defined in the VOCAB but not in the operating system or at the Fileserver.

 

REFERENCE TOO LONG

You tried to use a reference longer than 32,767 characters.
The record being accessed is bigger than the RECORD SIZE stated in PRAGMA.DES.
A reference longer than 255 bytes is being used with Btrieve.

 

MORE NOUNS IN LOCAL FILE

The number of nouns used in your workstation file definition is more than the number of values per record in the Fileserver file or more than the number of values per message in the Fileserver queue.

 

FEWER NOUNS IN LOCAL FILE

The number of nouns used in your workstation file definition is less than the number of values per record in the Fileserver file or less than the number of values per message in the Fileserver queue.

 

NO SUCH QUEUE

You tried to use a message queue that is defined as a file at your workstation, but is not defined as a message queue at the Fileserver.


NO RESPONSE RECEIVED

If you are using Btrieve, Btrieve itself has not been loaded.
An incorrect selection of file manager has been made in PRAGMA.DES.
The PRAGMA Fileserver does not respond to your workstation after several seconds of requests.

 

EXTERNAL DISK IS FULL

You tried to store a record or message when there was no more free space on the hard disk.

 

TRANSMISSION ERROR

A workstation cannot receive a correct transmission from the Fileserver.

 

INTERNAL LOGIC ERROR

The filemanager attempted to access a file unsuccessfully.

If you are using Btrieve as filemanager and the result of a file operation is "INTERNAL LOGIC ERROR" for the EXTERNAL ECHO, the FILE STATUS will contain the Btrieve error number. This is to help to trace Btrieve errors.

 

UNKNOWN EXTERNAL ECHO?

The workstation logic and the Fileserver logic are not fully compatible.
Two more external echoes mentioned in some PRAGMA 3 manuals must also be mentioned.

 

RESET FAILS

It is an obsolete message that was only used by TINA.

 

unsafe save

When you attempt to do a SAVE THIS, PRAGMA 3 checks to see if the record you are saving is locked to you. The FILESERVER does not care. PRAGMA 3 goes ahead and performs the SAVE THIS in either case. If the FILESERVER answers with an "OK" and the record was not locked to you, PRAGMA 3 changes this to "unsafe save", to warn you of a potentially bad situation. PRAGMA 4 does not worry about this and you just get the "OK".

 

See also:

FILE STATUS, IPC STATUS

 

99-07-02
vb_nouns.gif
xe.htm