REXX

Получаем список файлов библиотеки в REXX

Буквально сегодня столкнулся с банальной задачей получения списка файлов в библиотеке при помощи REXX. Однако, поиск решения оказался несколько более сложным, чем казалось ранее =) Хотя решение и оказалось совсем простым. Итак, смотрим код: /*REXX*/ ADDRESS tso INPUT = 'полный путь библиотеки' X = OUTTRAP(MEMS.) "LISTDS '"INPUT"' MEM" X = OUTTRAP(OFF) DO I=7 TO MEMS.0 MEMS.I = STRIP(MEMS.I) SAY 'MEMBER:'MEMS.I END EXIT Список создается непосредственно в результате выполнения команды TSO LISTDS. Первые 6 строк результата - дополнительные данные, после которых следует список файлов. Как Вы догадались, имена файлов достаются в цикле из массива MEMS.

Чтение DB2 таблиц из REXX

Сегодня я хочу рассказать Вам о том, как можно организовать работу с DB2, используя язык REXX. Для выполнения SQL команд нужно использовать функцию DSNREXX. Пример использования: /**********************************************************************/ /* Connect to DB2 system */ /**********************************************************************/ ConnectDB2: ADDRESS DSNREXX "CONNECT" db2sys Return Команда DSNREXX должна быть доступна для работы - это можно обеспечить так: "SUBCOM DSNREXX" IF RC THEN S_RC = RXSUBCOM('ADD','DSNREXX','DSNREXX') Общая логика REXX программы, обращающейся к DB2, следующая: 1. Подключаемся к DB2 подсистеме 2. Выполняем DB2 команды 3. Отключаемся от DB2 подсистеме Банально, не правда ли? =) Итак, сам текст REXX программы, которой в качестве аргумента передается имя DB2 подсистемы: /* REXX */ trace 'o' Parse Upper Arg db2sys