Для большинства установок Universe / Pick программисты обычно создают несколько стандартизированных сокращенных способов, чтобы упростить специальный доступ к данным через RECALL / RETRIEVE / ENGLISH / LIST. Я часто видел записи в файле VOC с именами, такими как F1, F2, F3 и т. Д., Которые выглядят как словари «S» или «D». Обычно это что-то стандартное, например, 10 символов в ширину и выравнивание по левому краю с заголовком столбца типа «Поле 1». Использование «* A1», «* A2» и т. П., Похоже, является еще одним стандартом, который разработан для общих имен полей.
Вы можете использовать их в любой команде списка, и если словарь файла не имеет F1 (или чего-либо еще), он будет использовать тот из файла VOC. Итак, команда вроде:
LIST {имя файла} F1 F2 F3
Будет работать. Это хорошо, потому что вы просто должны настроить его один раз, и тогда он будет доступен везде, где вы не хотите тратить время на поиск названий словаря.
Кроме того, нет никакой причины, по которой вы не можете настроить элемент словаря группового типа в VOC, называемый «ALL.FIELDS», и вставить туда газилионные элементы типа «F1». Это будет выглядеть так:
001: PH
002: F1 F2 F3 F4 F5 F6 F7 F8 F9 {....} F200
Это в значительной степени похоже на то, как будет выглядеть ваш элемент @ Dictionary, за исключением того, что в нем будут все нужные элементы словаря. В этом случае вы можете создать словарный элемент «ALL.FIELDS» в словаре фактического файла и поместить в него надлежащие элементы словаря со всем правильным форматированием.
Предостережение заключается в том, что нет гарантии, что UV-словарь будет полным и точным, поскольку в действительности нет нигде правил, которые заставляли бы программистов создавать элементы словаря для полей данных, которые они используют. Если вам так важно, вам нужно написать программу для сканирования файла и анализа данных, чтобы получить отчет о том, как на самом деле работают поля.
Если вы можете добраться до точки, где словарь будет надежным, то стоит убедиться, что каждое поле имеет один и только один соответствующий элемент словаря типа «А». Затем тривиально написать программу, которая выполняет SELECT для словаря для всех записей типа «А» и создает элемент словаря группы «ALL.FIELD», в котором перечислены все. Затем убедитесь, что все, кто добавляет альтернативные элементы словаря для различного форматирования или преобразования, используют только элементы типа «S», «I» и «D».
Лично я считаю, что загрузка словарного элемента @ со всеми возможными полями раздражает при выполнении повседневных задач в среде PICK. Как правило, вы хотите, чтобы материал, который удобно помещался на 80-колоночном дисплее, имел удобную сортировку и суммирование. Я бы предпочел, чтобы материал SQL был настроен и назван соответствующим образом.