ONLINE VSAM FILE - PullRequest
       10

ONLINE VSAM FILE

0 голосов
/ 09 сентября 2018

У меня есть идея, и я не знаю, выполнимо ли это в Cobol или нет, я хочу использовать онлайн-файл VSAM в онлайн-программе, поэтому мой онлайн-файл VSAM содержит несколько записей, и я хочу, если есть новый запись добавлена ​​в файл, моя онлайн-программа обнаружит это и выполнит часть процесса, выполнимо ли это, и, пожалуйста, дайте мне подсказку

Ответы [ 3 ]

0 голосов
/ 10 сентября 2018

Если это приложение большого объема, вы можете рассмотреть продукт IBM "Change Data Capture".При каждом обновлении выбранного VSAM-файла он будет выгружать образ записи до и после в очередь сообщений.Что затем может быть обработано выбранным языком и платформой.

Также стоит учитывать, что если под «онлайн» вы подразумеваете приложение CICS, то файл VSAM будет принадлежать исключительно одному региону CICS,и все обновления будут обрабатываться программами, работающими в этом регионе.Возможно, вам удастся настроить приложение, чтобы запустить некоторую постобработку (так же просто, как добавить «EXEC CICS START yourtransacion ...» в существующие программы).

0 голосов
/ 04 октября 2018

Выезд CICS Events . Вы можете установить событие, когда файл VSAM будет записан, и выполнить его с помощью программы на языке COBOL. Существует несколько адаптеров событий, вероятно, вас заинтересует тот, который записывает в очередь TS.

0 голосов
/ 09 сентября 2018

То, что вы описываете, в основном является триггером, основанным на событии. Вы описали COBOL как язык, но для достижения желаемого вам также необходимо выбрать среду выполнения. Что-то вроде CICS, IMS Db2, WebSphere (Java), MQ и т. Д.

Сам VSAM не предоставляет механизм запуска. Подход, который позволит начать достигать того, чего вы хотите, состоит в создании очереди MQ, которая обрабатывает записи, которые должны быть записаны, и они могут записать запись и предпринять дополнительные действия. MQ охватывает все перечисленные выше среды выполнения и, вероятно, является наиболее надежным.

Другой вариант - использовать Db2, где вы можете создать триггеры или пользовательскую функцию, которая может достичь того, что вы ищете. Вот справочная статья , которая описывает множество методов .

Вот список некоторых статей по ссылке, указанной выше:

Использование триггеров в DB2 by Алексей Шевченко

Использование хранимых процедур в качестве механизма связи с мэйнфреймом by Роберт Каттералл

Внедрение и эксплуатация Workload Manager

Хранимые процедуры, UDF и триггеры - общая логика или общая проблема?

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

При разработке проекта необходимо учитывать среду выполнения, возможности и цели.

...