Я начинаю с RPGLE, и я пытаюсь определить, есть ли способ просто определить параметры для процедур в моей сервисной программе один раз. Я знаю, что могу поместить прототипы внутри члена копии (что я сделал), но тогда мне все равно придется поместить тот же самый код в тело процедуры («интерфейс процедуры»).Разделите определения между прототипом и интерфейсом процедуры
Мой вопрос: есть ли какой-то способ использования прототипа для определения параметров в интерфейсе процедуры (или наоборот)?
В идеале, что-то вроде:
Прототип:
D buildForm PR
D formType 10A CONST
D mode 4A CONST
Процедура:
P buildForm B
D buildForm PI
D formType LIKE(formType)
D mode LIKE(mode)
Ну, идеально я бы просто быть в состоянии сказать «использовать прототип или что-то в теле процедуры, или компилятор найдет это самостоятельно ...
ли я недоразумение как Прототипы и порядок интерфейсы должны быть установлены, или они на самом деле это повторяющиеся, когда все сделано правильно:
Прототип
D buildForm PR
D formType 10A CONST
D mode 4A CONST
Процедура:
P buildForm B
D buildForm PI
D formType 10A CONST
D mode 4A CONST
Спасибо за чтение.
Большое спасибо за этот ответ. Правильно ли я полагаю, что наличие нескольких прототипов в копировальной книге потребует вложенных ifs, поэтому вы получите только PI, который вы используете в каждой процедуре? –
Это общая идея. Один ОПРЕДЕЛЕНИЕ для каждой пары PR/PI. –
Хорошее решение. Я думаю, что я адаптирую это для нового синтаксиса свободной формы TR7. B-) – WarrenT