Value Doesn't Show in Data Sheet

I have a field («TixCreditCK») that is filled by a formula («TixCreditCK»=lvTixCredit) in a procedure). There is a Text Display object connected to the field.

When I run the procedure, the correct result shows in the Text Display Object, but the field is empty in the Data Sheet.

Other fields filled by the same procedure are filled in and display properly. No property differences that I can find. I’ve tried refreshing the Data Sheet. Values filled in previous to PanX are visible.

What have I missed?

You said, your Text Display object is linked to the field «TixCreditCK», but I suspect it is linked to a variable with the same name.

Perhaps a leading carriage return in the data cell?

Put your cursor at the end of the line and use the down arrow key.

No variable by that name.
formula field is pattern(«TixCreditCK»,"#.##")
formula from the running procedure is «TixCreditCK»=lvTixCredit

Tried Cursor Down Arrow in field, no change.

Martin McCaffery
Montgomery, AL

How did you verify there was no variable by that name? Did you use info(“filevariables”)?

You can also check for all variables and fields in all open databases using my Variable View file from the Database Exchange. This will also display the current values as well. From the Help menu select Panorama Database Exchange and then download the Variable View file. Hope this finds the culprit hiding there somewhere.

I tried info(“file variables”) at David suggestion and didn’t find anything.
I downloaded Gary’s Variable View file and it did show a global with that name. But couldn’t find what file it was in. So I closed PanX and restarted. Opened the files one by one. The Variable View didn’t show any variable named TixCreditCk.
I ran the procedure and this time I got an error message that the field or variable TixCreditCk did not exist. But the field got filled in.

After running the procedure a few more times and not getting the expected result, I went through all of the other variables. Turns out a couple did not have values, and that was stopping the procedure before “endnoshow”. When I double clicked on the field, the number filled in (and the one next to it I was using as a control).

Still haven’t a clue as to how the field name became a variable, but thanks for the suggestions.

Martin McCaffery
Montgomery, AL

Just a reminder. According to the Help file article for endnoshow

Although output will resume after this statement, the endnoshow statement does not update the display. To show any changes that have been made since the noshow statement you should use showpage, showline, showfields, showvariables, showcolumns or showrecordcounter.

This is another illustration of why I recommend avoiding global variables except as a very last resort. There are very few situations where it is necessary to use a global variables. Sometimes it can seem easier to use one, but often that will come back to bite you later, and as illustrated here the problem can be very difficult to track down.

I wonder if you might have a form with the properties set to create global variables. The default is fileglobal, as shown here, but if at some point you set this to global that could easily create global variables you weren’t aware of. (This setting was also available in Panorama 6, and would have been brought over.)

You could use View>Open View to search for text editor objects that used the TixCreditCk variable. Use the Full Source option.

You can also get rid of a global variable with one line of code.

undefine TixCreditCk

Of course that still leaves you with the mystery of how it was created in the first place.

I’ll check. I’m in the process of changing over lots of old files, some with procedures over 20 years old. Trying to get them working together under PanX before restructuring everything.

Martin McCaffery