Одна тетрадь для двух файлов (ввод/вывод)

Я нахожусь в ситуации, когда было бы полезно использовать одну и ту же тетрадь для двух разных файлов в программе EZT. Я знаю, что в COBOL вы можете использовать OF, чтобы указать, какой файл вы хотите получить, и/или установить поля для (например, VAR1 OF INFILE). Есть ли у Easytrieve такая возможность, или мне нужно вручную определить поля с уникальными именами в программе?

Пытался использовать синтаксис, который, как я думал, существовал, где я мог бы добавить символ в конец для разделения, но похоже, что я использую это неправильно.

      FILE INFILE
%COPYBOOK 1 I.
FILE OUTFILE
%COPYBOOK 1 O.

2 ответа

Двоеточие для ссылки на имя файла:имя поля должно работать.

Есть два способа:

  1. либо использовать уточнение имени файла, как предложено @user2675083 ( более подробную информацию см. в файлах и полях )

  2. или вы можете использовать подстановку параметров макроса, чтобы добавить, например, префикс к имени поля и сделать его уникальным, например:

       MSTART MYMAC
MACRO PARM1                
  DEFINE &PARM1.FLD W 10 A   VALUE 'HELLO'
MEND                       
*                          
JOB INPUT NULL
  %MYMAC 'TST'          
  DISPLAY TSTFLD
  STOP

«TST» передается макросу MYMAC в качестве позиционного аргумента (PARM1), который используется для того, чтобы сделать имя поля уникальным (после замены &PARM1.FLD становится TSTFLD).

Более подробную информацию см. в макросах процессов .

Другие вопросы по тегам