Tip

Errors, Debugging Hints For Formulas

Here are methods you can use to debug code. We use @Prompt([Ok]) for debugging
fields and macros. It can be used to show you the value of a field before and
after a function is performed.
a := "1234";
@Prompt([Ok];"Debug- a";a);
b := @Left(a;2);
@Prompt([Ok];"Debug- b";b);
If your not sure where the error is occurring within a formula you can use
@Prompt to set breakpoints.
@Prompt([Ok];"Debug";"Breakpoint 1");
some code...
@Prompt([Ok];"Debug";"Breakpoint 2");
some more code...
@Prompt([Ok];"Debug";"Breakpoint 3");
@Prompt will only return a single text value. Therefore if you need to examine
a timestamp or number they need to be converted to text first. If you need to
examine a list turn it into a single value with @Implode.

When creating macros, we like to test major parts in field formulas within
forms. It's much easier to see the results of a DBLookup in a form than to try
to display it from within a macro. This also reduces damage to documents from
bad macro code.

When debugging a background macro on the server we replace @Prompt with
@Mailsend. We just send a memo to ourself with the values we need to examine.
Background macros can also be tested on a workstation but a macro may work on a
workstation then blow up on the server. The reason is usually access. When
running a background macro, the server limits itself as if it were a user on
the network. If it doesn't have access to views used in lookups the lookups
will fail. Of course, the lookups worked for you because you have access to
those views. Making sure the server has access can avoid many bugs relating to
security.

This was first published in November 2000

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.