UniData Список всех доступных подпрограмм / Все параметры
Я пытаюсь обернуть некоторые подпрограммы UniData в веб-службу SOAP. Я планирую использовать библиотеки C# и UODOTNET (интерфейс управления данными IBM U2 для.NET). Также я хочу создать движок для чтения всех доступных подпрограмм с сервера данных, а также для чтения всех необходимых параметров и динамического создания необходимых кодов для веб-службы.
Мой код будет примерно таким:
var session = UniObjects.OpenSession(
"192.168.0.1",
"user",
"password",
"account"
);
var cmd = session.CreateUniCommand();
cmd.Command = "LIST SUBURB.INDEX"; // ?????
cmd.Execute();
var res = cmd.Response;
Вопрос 1: Есть ли какая-либо команда, которую я могу использовать, чтобы получить список всех доступных подпрограмм?
Вопрос 2: Есть ли какая-либо команда, которую я могу использовать, чтобы получить список всех параметров для определенной подпрограммы?
ура
2 ответа
Краткий ответ: нет.
Более длинный ответ - да, но с большой работой.
Поскольку вы задаете этот вопрос, я предполагаю, что вам не хватает общих знаний о платформе. Следовательно, чтобы сделать это, вам нужно:
- Узнайте, как работает VOC, в частности, как исполняемый код может быть каталогизирован здесь.
- Узнайте о КАТАЛОГЕ и о том, как каталогизация программ глобально, локально и напрямую отличается.
- Понять, как устроена ваша система в частности. В одних местах все непосредственно занесено в ЛОС, другие смешаны. Если первое, это будет легче для вашего вопроса.
Как только вы поймете вышеизложенное, вы узнаете, как получить список всех исполняемых программ из VOC, локального каталога и глобального каталога. Например, упрощенным примером для VOC является команда UniQuery LIST VOC WITH F1="C"
,
Сложнее всего получить список параметров, в котором нет ни одной системной команды. Для этого у вас есть 2 варианта.
- Обратный инжиниринг байтового кода каждой подпрограммы и определение количества параметров
- Если у вас есть доступ к связанному исходному коду, проанализируйте его, чтобы создать список.
Просто хотел добавить комментарий к этому, в UniData есть команда MAKE.MAP.FILE, которая идентифицирует Программы и Подпрограммы (и количество параметров), которая помещает информацию в файл _MAP_. Это не говорит вам, для чего используются параметры, но помогает.