Pan 6 Dictionaries stored in field not being read (Yet another Dictionary Question)

Hi everyone!

I’m trying to finally move some files to Pan X, (and the video tutorials have been fantastic, btw!).

An issue I’m having is that we have files where we would make a dictionary in a record.

For example:

When was the last time someone got Sent one of our 3 mailers. It would assign that record a corresponding value/key and plug it into the field that held it like this:
˛Mailer 1ˇ10/15/2022˛/Mailer 1ˇ

We ONLY need to know the last mailing, so the auto replacing of a value per key only once was perfect.

Then in the form. I had a script that used getdictionaryvalue() to display what was in that field for each mailer so that the folks on the phone always have it for that user.

So far, what I’ve read is that PanX dicts are in the same format as Objective-C ones, and Pan6 ones were in a very different format, and that there’s some auto formatting PanX can do on them to change them to the correct format. (Which is great, dictionaries/hashmaps are my favorite data structure)

However, trying to give panorama the old dictionary from the field either with set/changedict or with getdict or putting in in a variable and then running those functions on it throws back

Unknown statement: getdictionaryvalue

What do I do to give that statement the correct data from a dictionary stored in a field?
Is there an easy fix for changing all these dictionaries to proper ones?

To get this to work you’ll need to go back to Panorama 6 and designate the field that contains dictionaries as a binary field. This help page explains how to do that.

Once this is done you’ll need to re-import the database from Panorama 6 into Panorama X. At that point, everything will just work out of the box. I actually fired up and old computer just now and built a test database to verify that it works – and it definitely does.

Panorama X can read Panorama 6 databases without any conversion. As soon as you modify a dictionary, Panorama will automatically convert it to the new format. Any new dictionaries you create will also be in the new format. So it should be seamless for you once you get the field converted to Binary.

Yeeeessss!!! Thanks Jim!! I’ll try that out today.

I think there’s something wrong either on my file, my computer, or I’m hitting an exception in what the PanX converter can work with regarding Binary.

When I designate any field on my Pan 6 files as Binary, PanX wont open the file and quits unexpectedly giving this error:

Process: PanoramaX [5206]
Path: /Applications/PanoramaX.app/Contents/MacOS/PanoramaX
Identifier: com.provue.PanoramaX
Version: 10.2.0.b25 (3901)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: PanoramaX [5206]
User ID: 501

Date/Time: 2022-11-17 13:33:12.567 -0500
OS Version: Mac OS X 10.14.6 (18G9323)
Report Version: 12
Bridge OS Version: 6.0 (19P548)
Anonymous UUID: B770FFFF-6B72-889C-8542-C0264187343B

Time Awake Since Boot: 8500 seconds

System Integrity Protection: enabled

Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x000000011081b3a0
Exception Note: EXC_CORPSE_NOTIFY

VM Regions Near 0x11081b3a0:
CG backing stores 000000010f885000-000000011081b000 [ 15.6M] rw-/rw- SM=PRV
→ mapped file 000000011081b000-00000001113fd000 [ 11.9M] r–/rw- SM=COW Object_id=371e1fff
MALLOC_LARGE 00000001113fd000-000000011140a000 [ 52K] rw-/rwx SM=PRV

(it continues, but I think this is the useful part?)

When I take out the binary designation for any field it opens just fine.

I tested:

  • Removing any bits of text int that field that weren’t dictionaries.
  • Removing all entries that didn’t have dictionaries.
  • Confirmed the Data in Pan 6 was read by getdictionaryvalue()
  • Took the file down from ~150K records to 300
  • made a brand new file and tried a new dictionary in a field
  • made the dictionary have zero spaces in the name or data

What else should I try?

I don’t think this is the problem, but I notice that you are using b25. That is quite old, the current version is b30. Also, about two weeks ago we sent out a notice to all users that due to a server change on our end, b30 is a required critical update (maybe you are using a trial version, we did not send the notice to trial version users). You’ll have to update manually by re-downloading a fresh copy from provue.com.

Unfortunately, there is no useful part of an unsymbolicated crash report.

Panorama X normally submits crash reports to the provue.com server in a format where they can be symbolicated, and sometimes that is useful. However, because of the server change I mentioned above, your b25 version is unable to submit crash reports, so I cannot review the report for your crash.

When I designate any field on my Pan 6 files as Binary, PanX wont open the file and quits

That has not been reported before.

It shouldn’t matter what is in the field. All the binary designation does is tell Panorama X not to convert the field to Unicode, but simply to leave it “as-is”. A binary field can contain anything, Panorama doesn’t care. However, when you try to use the data later, for example with the getdictionaryvalue( function, then the binary data must be correct. (However, incorrect binary data should not cause the getdictionaryvalue( function to crash, it normally just would return an error.)

You say you made a 300 record version of the file. I think probably the only way to proceed from here would be to send that file to support [at] provue [dot] com and we can try it here.

  • Removing any bits of text int that field that weren’t dictionaries.

Does this mean that the field contains dictionaries in some records but regular text in other records? That shouldn’t matter as far as converting it to a binary field in Panorama X, but it would probably cause problems down the line.