Имитация локальных спецификаций файлов в подпроцедуре RPGLE

Я очень рад новым "локальным спецификациям F", появившимся в V6R1 - смотрите:

http://www.mcpressonline.com/programming/rpg/v6r1-rpg-enhancements.html

Кто-нибудь знает способ смоделировать это в V5R4 в процедуре SRVPGM?

10.12.2008 17:17:04
2 ОТВЕТА

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

1
11.12.2008 04:14:39
Это может сработать, просто не забудьте определить файл как USROPN, а затем откройте и закройте файл в процедуре, в которой вы его используете.
jmarkmurphy 30.10.2015 19:28:00

Вы можете только смоделировать это, создав модули, которые обрабатывают только один файл глобально. Таким образом, область действия файла все еще глобальна, но вы не делитесь ею с другими файлами. если вы действительно хотите иметь файл для каждой процедуры, вам нужно создать модуль для каждой процедуры. Я не рекомендую это. Просто слишком много модулей. Но, возможно, вы довольны стилем «один модуль на файл», иначе вам придется ждать, как и я, v6r1;)

1
12.12.2008 10:00:17
Согласен. Вы также можете дважды открыть один и тот же файл в своей программе, если в F-спецификации вы по-разному его называете, а затем используете ключевое слово EXTFILE. Вам также нужно будет переименовать поля. Мне нравится использовать ключевое слово PREFIX для этого.
Tracy Probst 23.06.2009 13:56:16