Cтраница 3
![]() |
Сегменты входного сообщения.| Формат выходного сообщения. [31] |
В этой главе дается только одно упражнение. Вам предлагается написать законченную программу обработки сообщений. При этом следует воспользоваться программой выборки сегмента ПАЦИЕНТ, приведенной в гл. [32]
Существуют два типа прикладных программ, выполняемых в среде IMS DB / DC. Программы обработки сообщений полностью планируются IMS. Планирование осу - ществляется после того, как сообщение, которое должно быть обработано данной программой, поступает в систему IMS. Программа пакетной обработки сообщений планируется вручную оператором системы. Типичная МР-программа используется для обработки информации, которая была получена от удаленных терминалов, сгруппирована и установлена системой IMS в очередь сообщений. Очереди сообщений мы рассмотрим несколько позже. [33]
![]() |
Формат сегмента сообщения.| Сегмент сообщения БОЛЬНИЦА и БЛОК.| Сегмент сообщения ПАЦИЕНТ. [34] |
В результате программа выдаст полный список всех пациентов, находящихся в блоке, который будет переслан на терминал. Этот список содержит для каждого сегмента ПАЦИЕНТ имя пациента и идентификатор койки. На рис. 11.4 приведена законченная программа обработки сообщений, составляющая такой список. [35]
![]() |
Секция связей. [36] |
Далее идет двухбайтовый код состояния. Поле кода состояния имеет в основном. Мы рассмотрим наиболее общие коды состояния, получаемые программами обработки сообщений. [37]
Рабочая область - это небольшая область основной или виртуальной памяти либо небольшое пространство на устройстве прямого доступа, в котором хранятся промежуточные результаты ряда актов выполнения программы обработки сообщений. При первом выполнении МР-программа, обрабатывающая диалоговую транзакцию, может прочитать ее и на основе содержащейся в ней информации поместить определенную информацию в SPA, а затем послать ответ назад на терминал. Оператор терминала может взаимодействовать с МР-программой в диалоговом режиме, даже если программа обработки сообщений не находится постоянно в области МР. Когда МР-программа будет вызвана вторично в результате ответа, осуществленного оператором терминала в диалоге, она может считать содержимое рабочей области и определить, что произошло в процессе ее предыдущего выполнения. [38]
После того как полный список пациентов послан на терминал, программа выходит на вызов Get-Unique. Это полезное правило, которому обычно следуют в МР-программах. Оно позволяет избавить IMS от необходимости повторной загрузки программы в область МР, когда в очереди сообщений находится в состоянии ожидания сообщение с тем же кодом транзакции. Большинство программ обработки сообщений написаны так, что обеспечивается возврат к вызову Get-Unique для проверки того, не находится ли другое сообщение в состоянии ожидания. Однако вам следует уточнить соглашения по программированию, принятые на вашей установке, чтобы выяснить, включают ли они это правило. [39]
В определенных ситуациях полезно иметь возможность явно указать IMS, когда вы желаете осуществить передачу сегментов вашего сообщения. Если вам нужно сгруппировать сегменты в сообщение и передать его до завершения вашей программы или до выдачи другого вызова G t - Unique, ссылающегося на РСВ ввода-вывода, то вы можете выдать вызов с кодом функции PURG. Вызов PURG позволяет программе обработки сообщений посылать назад более одного сообщения для каждого вызова Get-Unique, ссылающегося на РСВ ввода-вывода. [40]
Если АБД требует, чтобы программа обработки сообщений посылала ответ на терминал, отличный от исходного, и всегда известно, на какой логический терминал следует послать ответ, то РСВ должен содержать имя логического терминала. На рис. 10.18 показан пример такой ситуации. Если, с другой стороны, сама МР-программа определяет пункт назначения сообщения, то АБД может сделать альтернативное РСВ модифицируемым. Предложение РСВ для этого случая приведено на рис. 10.20. При использовании данного типа РСВ программа обработки сообщений может осуществить вызов с кодом функций CHNQ для включения соответствующего имени логического терминала в модифицируемый альтернативный РСВ. Таким образом, программа обработки сообщений может послать ответ на любой логический терминал системы. [41]
Каждый бухгалтер знает, какую кропотливую и трудоемкую работу представляет собой выборка и перегруппировка данных первичного и аналитического учета. Полученная информация к тому же не отличается точностью и достоверностью, свойственными информации системного бухгалтерского учета. Если в условиях ручной и малой машинной обработки данных односторонность группировок диктовалась стремлением к снижению трудоемкости учетной регистрации, то в условиях обработки данных на ЭВМ ориентация на какие-либо ручные работы по выборке и группировке данных не может быть терпима. Следует учитывать и то, что всякая результирующая информация может быть получена на ЭВМ только на основе предварительно предусмотренной программы обработки сообщений об экономических явлениях и процессах. Для составления программ требуется время. Поэтому не предусмотренная программой информация в какой-то момент времени может быть получена в результате выборки. Но это должна быть только разовая работа, выполняемая до составления необходимой программы. [42]
Если АБД требует, чтобы программа обработки сообщений посылала ответ на терминал, отличный от исходного, и всегда известно, на какой логический терминал следует послать ответ, то РСВ должен содержать имя логического терминала. На рис. 10.18 показан пример такой ситуации. Если, с другой стороны, сама МР-программа определяет пункт назначения сообщения, то АБД может сделать альтернативное РСВ модифицируемым. Предложение РСВ для этого случая приведено на рис. 10.20. При использовании данного типа РСВ программа обработки сообщений может осуществить вызов с кодом функций CHNQ для включения соответствующего имени логического терминала в модифицируемый альтернативный РСВ. Таким образом, программа обработки сообщений может послать ответ на любой логический терминал системы. [43]
Согласно определению, сообщением называется единица информации, которая передается между удаленным пунктом и центральной ЭВМ. Программа управления сообщениями обычно входит в состав операционной системы и позволяет программе пользователя ( называемой также обрабатывающей программой) использовать машинные средства передачи данных. В некотором смысле программа управления сообщениями обеспечивает взаимодействие между удаленными терминалами и программами, обрабатывающими сообщения. Когда применяется метод выборки с очередями, программа управления сообщениями использует буферы памяти, организуя прием и передачу сообщений так, как это делается в обычном процессе обработки данных. Когда применяется базисный метод выборки, программа обработки сообщений осуществляет управление непосредственно во время передачи и приема сообщения. На рис. 2.12 изображена простейшая схема процесса обработки сообщений. [44]
РСВ передачи данных позволяют вашей программе связываться с удаленными терминалами. Для МР - или BMP-программ всегда требуется по крайней мере один РСВ передачи данных. Этот РСВ описывает логический терминал, от которого было получено входное сообщение. Он называется РСВ ввода-вывода. Ваш PSB не содержит никаких ссылок на РСВ ввода-вывода. Прежде чем управление будет передано программе обработки сообщений, IMS установит для вас РСВ ввода-вывода. Такой РСВ всегда является первым РСВ, определяемым в списке - параметров, которые передаются вашей МР-или BMP-программе. [45]