У меня есть программа RPGLE, которую я пытаюсь преобразовать из фиксированного формата в свободный формат. В общем, я знаю, что определение переменных ввода выполняется с использованием прототипов, например:
dcl-pr myprogram;
I#Entry1 char(5);
end-pr;
dcl-pi myprogram;
InEntry1 char(5);
end-pi;
Но чего я не знаю, так это того, как это сделать, когда поле уже определено. У нас есть стандартный файл определений, который мы копируем в программы, такие как та, которую я пишу, в которой поле, которое я использую в качестве переменной ввода, уже определено и скопировано. В фиксированном формате это просто
C *Entry PList
C Parm InEntry1
Я уже пытался просто сделать копию перед записью прототипа и оставить спецификацию пустой, но это вызывало ошибки. Я знаю, что могу просто использовать ключевое слово LIKE и изменить имена переменных, но для удобочитаемости я бы предпочел этого не делать, и я не знаю, какие проблемы могут возникнуть в будущем.
На всякий случай я пытаюсь ввести две переменные: структуру данных и зонированное десятичное число.
Как я могу использовать переменную, которая уже определена как входная переменная в RPGLE свободного формата, будь то с использованием прототипов или каким-то другим способом, о котором я не знаю?