Kbase 2448: Getting more than 4096 bytes in a FORM also beware of LIKE
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/05/1998 |
|
Getting more than 4096 bytes in a FORM also beware of LIKE
920606-gfs01
INTRODUCTION:
=============
This Product Services Technical Support Knowledgebase entry
documents how you can get around the 4,096 byte limit on the
size of a FORM statement.
WHY YOU NEED TO DO THIS:
========================
To define FORMs with many fields and labels.
PROCEDURAL APPROACH:
====================
Break up the FORM statement into several include files.
For example, your FORM statement is too large
and you get error 135 when you attempt to compile
this procedure.
1) Create an include file with a .f extension that contains,
half of the FORM. Do not end this file with "WITH ...".
2) Create a second include file, also with a .f extension,
and put the remainder of the FORM in this file. End this
part of the FORM with "WITH ..." but do not include the words
"FRAME framename".
3) In your procedure, define the FORM as follows:
FORM {part1.f} WITH FRAME framename.
FORM {part2.f} FRAME framename.
ONLINE PROCEDURES OR UTILITIES:
===============================
Use of the dictionary's field definitions with the "LIKE" construct
may cause additional modifiers to be included into memory as well.
The dictionary fields for "FORMAT", "INITIAL", "LABEL",
"COLUMN-LABEL", "HELP", etc., will be included in the
compiled version of your procedure which could also cause
the FORM to be interpreted as greater than 4096 characters.
Note also that the spaces between words are counted in the
total character count. By modifying the indentation or
between-word spacing, you may also be able to avoid
this error.
REFERENCES TO WRITTEN DOCUMENTATION:
====================================
None.
Progress Software Technical Support Note # 2448