РПГ III? Куда, куда, намного лучше использовать RPG IV. На самом деле.
В RPG III метод структуры данных является хорошим. Есть другой способ решения проблемы. Определите файл более реалистично. Вместо произвольных размеров «кусков» массива определите каждое поле. Например, допустим, мы говорим о недельных показателях продаж и хотим сохранить ценность многих недель. Определите продажи каждой недели как отдельный столбец в таблице вместо того, чтобы просто составлять 250-байтовые символьные поля, которые фактически не отражают данные, хранящиеся в них.
В приведенном ниже примере я запрограммировал файл, но тот же метод работает и для внешних файлов. Я сделал только 10 столбцов, но вы можете увидеть, как это работает. В файле базы данных фактически определены подлинные столбцы. Это означает, что пользователи запросов, пользователи SQL (ODBC ... веб-приложения?) Могут получить доступ к фактическим данным, не прибегая к гимнастике приведения (substring ()).
Способ работы состоит в том, что определения в таблице базы данных копируются в структуру данных. В RPG структуры данных совместно используют хранилище, поэтому все, что вы определяете в столбцах с 1 по 10, может быть переназначено в другое поле, определенное в столбцах 1-10. Здесь мы отображаем весь массив продаж поверх отдельных столбцов продаж. Любое изменение ARY, 1 автоматически изменит WEEK01 и наоборот, потому что хранилище является общим - это точно такое же хранилище.
E ARY 10 10 0
IDUMMY AA 01
I 1 100WEEK01
I 11 200WEEK02
I 21 300WEEK03
I 31 400WEEK04
I 41 500WEEK05
I 51 600WEEK06
I 61 700WEEK07
I 71 800WEEK08
I 81 900WEEK09
I 91 1000WEEK10
I DS
I 1 100WEEK01
I 11 200WEEK02
I 21 300WEEK03
I 31 400WEEK04
I 41 500WEEK05
I 51 600WEEK06
I 61 700WEEK07
I 71 800WEEK08
I 81 900WEEK09
I 91 1000WEEK10
I 1 100 ARY