Как изменить источник физического файла, который не имеет DDS? - PullRequest
0 голосов
/ 25 апреля 2018

Я хочу добавить новое поле в физический файл, но в нем нет DDS. В этой библиотеке присутствует только объект (lib1). Источник находится в другой библиотеке (назовите ее lib2). Я внес изменения в файл в lib2Как мне отразить эти изменения в lib1 без компиляции и потери данных.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Все, что вам нужно, это:

CHGPF FILE(lib1/file) SRCFILE(lib2/qddssrc) 

Он будет корректировать файл, сохраняя любые существующие записи, а также корректировать любые связанные логические файлы.Я бы перекомпилировал программы, которые касаются файлов, чтобы избежать проверки уровня, или использовал «LVLCHK (* NO)» в команде CHGPF.

Я предполагал, что, поскольку вы изменили файл в lib2, источник существуеттам и по авторитетным причинам вы не можете скопировать в lib1.Если в lib2 нет источника, есть полезная утилита:

https://www.mcpressonline.com/programming-other/cl/retrieve-dds-source-for-a-physical-or-logical-file

0 голосов
/ 25 апреля 2018

как насчет использования sql как

alter table library.file  
add column abc char(25) ccsid 37 not null default '' 

, затем измените проверку уровня, чтобы избежать компиляции вашей программы

CHGPF FILE(library/file) LVLCHK(*NO) 
...