Как получить список участников из файла IBM i? - PullRequest
1 голос
/ 03 июня 2019

Новичок в использовании IBM i здесь, и не удалось найти решение этой проблемы в Базе знаний.

У меня есть библиотека. Внутри этой библиотеки у меня есть файл. Внутри этого файла у меня есть несколько участников. Каждый член - это файл .c.

Что я хочу сделать, так это написать .cpp, который просматривает внутри этого файла членов, получает имя каждого участника, а затем запускает CL с этим членом.

Использование qp0z1170.h Я уверен, что знаю, как выполнять команды CL, но я не могу понять, как перебирать список членов и получать их имена.

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

2 голосов
/ 05 июня 2019

Вы можете сделать DSPFD, чтобы получить список участников в файл ...

DSPFD FILE(LIB/FILE) TYPE(*MBRLIST) OUTPUT(*OUTFILE) OUTFILE(LIB/TARGET)

0 голосов
/ 03 июня 2019

Похоже, вы имеете дело с исходным физическим файлом (PF-SRC) ...

К счастью, PF-SRC по-прежнему является таблицей базы данных.

Просто используйте API Списка файлов базы данных (QUSLMBR)

Обратите внимание, что он возвращает данные через пространство пользователя ... так что вам нужно будет использовать * USRSPC API для обработки данных.

API для создания пространства пользователя (QUSCRTUS)
Изменить API атрибутов пространства пользователя (QUSCUSAT)
API получения указателя на пространство пользователя (QUSPTRUS)
API удаления пользовательского пространства (QUSDLTUS)

Вы можете найти включаемые файлы для API IBM в файле H в библиотеке QSYSINC.

Я бы опубликовал некоторый код, но я когда-либо использовал только API из RPG.

...