MOVE DOCPREF1 TO PREFER-VALUE IN PREFERENCE IN MQ82122A-DATA(1).
PREFER-VALUE нужен индекс, он находится в группе, которая встречается в 5, в первом предпочтении от DATA (1). Компилятор дает вам первое ЗНАЧЕНИЕ ПРЕДПОЧТЕНИЯ в пределах неоднозначной ссылки на внутреннее поле.
Я бы предпочел
MOVE DOCPREF1 TO PREFER-VALUE IN MQ82122A-DATA(1,1)
MOVE DOCPREF2 TO PREFER-VALUE(1,2)
*> or (2,1) depending on what you mean.
Отбросить IN за верхний уровень и просто использовать два индекса: рекомендация. Пример зависит от вопроса, поднятого Риком о компоновке или PI C полей DOCPREF, и может быть совершенно неверным.
Кроме того, GnuCOBOL не будет компилировать эти поля ссылки, как есть.
prompt$ cobc subs.cob
subs.cob: in paragraph 'sample-main':
subs.cob:40: error: 'PREFER-VALUE IN PREFERENCE IN MQ82122A-DATA' is not defined
subs.cob:41: error: 'PREFER-VALUE IN PREFERENCE IN MQ82122A-DATA' is not defined
Это может быть недостатком, но не слишком в этом случае, я не думаю.