АРМ инженера АТС

 

1. Постановка задачи


.1 Функции АРМа инженера АТС


Одной из задач, решаемых в проекте АСТУП является задача автоматизации работы персонала, отвечающего за работу станционного участка или отдельной АТС. Таким образом необходимо разработать «АРМ оператора-инженера АТС» предназначенный для повышения производительности труда работников предприятия.



В этом АРМе с помощью главного меню, которое выглядит следующим образом, должны быть реализованы следующие функции:

  1. ведение станционной номерной емкости:

под этим понимается занесение в соответствующие БД

(ATS, PHONE_DIAP, FREE_PH)

* типа телефона (телефон, таксофон, НЦС);

* диапазона номеров;

* вида подключения (отдельный, спаренный);

* состояния (свободный, проверочный, бронированный, неисправный, служебный, эксплуатационный запас);

  1. получение отчета о задействованной емкости:

* количество задействованных отдельных номеров для квартирных абонентов;

* количество задействованных спаренных номеров для квартирных абонентов;

* количество задействованных отдельных номеров для учреждений;

* количество задействованных спаренных номеров для учреждений;

* количество задействованных таксофонных номеров;

* количество задействованных номеров с сигнализацией;

* количество номеров, бронированных цехом;

* количество служебных номеров;

* количество проверочных номеров;

* количество номеров с АВУ н/ч;

* количество номеров с АВУ в/ч;

Здесь используются БД: A1, A16.

  1. получение отчета о свободной емкости:

* количество свободных и забронированных отдельных телефонов;

* количество свободных и забронированных спаренных комплектов;

* количество спаренных телефонов для которых одно плечо занято;

* количество свободных и забронированных спаренных телефонов;

* количество свободных и забронированных спаренных таксофонов;

* количество свободных и забронированных НЦС;

* количество свободных и забронированных абонентских линий;

Здесь используются БД: ATS, PHONE_DIAP, ATS_SP, ATS_SP_NSTD, PHONE_SP, FREE_PH.

  1. ведение схемы спаренности:

Принимаемые значения полей:

- на данной АТС нет спаренных номеров;

3 - номера можно спаривать любой с любым; нет понятия спаренного комплекта номеров.

4 - заказной вид спаренности

номера спарены по десяткам; например, на АТС 257 спарены

- номера спарены по сотням; например, на АТС 256 спарены 01 с 02; 47 с 58 сотни.

7 - номера спарены по всем тысячам с 6 по 9 сотню в одном десятке по цифрам единиц.

8 - комбинация схем спаренности 5 (основная схема) и 4 (дополнительная схема);

9 - комбинация схем спаренности 6 (основная схема) и 4 (дополнительная схема).

  1. ведение справочников АТС:

Используются БД ATS, S00, S01.

* Код АТС;

* Вид АТС;

* Код опорной АТС;

* Наименование;

* Емкость;

* Вид спаренности;

* Емкость;

* Вид спаренности;

* Количество цифр в номере для телефонов;

* Количество цифр в номере для таксофонов;

* Количество проверочных номеров;

* Количество таксофонных номеров;

* Дата взятия станции под АПУС;

день месяца,

номер месяца,

год;

* Код АТС, с которой заведен мультиплексор;

* Емкость мультиплексора.


1.2 Концептуальная модель системы


Для работы с «АРМ-ом оператора-инженера АТС» необходимо использовать базы данных, приведенные в таблице 1.1.


Таблица 1.1.

A1ОСНОВНАЯ ЕМКОСТЬ (АРХИВ)A16ТАБЛИЦА ТАКСОФОНОВA19КОЛЛЕКТИВНЫЕ АБОНЕНТЫA2АБОНЕНТЫA5ФАМИЛИИA7УЛИЦЫATSАТСATS_DIAPДИАПОЗОНЫ НОМЕРОВ НА АТСATS_SPВАРИАНТЫ СПАРЕННОСТИATS_SP_NSTDНЕСТАНДАРТНЫЕ ВАРИАНТЫ СПАРЕННОСТИFREE_PHТАБЛИЦА СВОБОДНЫХ НОМЕРОВPHONE_DIAPТАБЛИЦА ДИАПОЗОНОВ НА АТСPHONE_SPСПАРЕННЫЕ НОМЕРА НА АТСS00, S01, S21, S84КЛАССИФИКАТОРЫUDK_HOUSEРЕГИСТРАЦИОННЫЕ НОМЕРА ДОМОВA31ТАБЛИЦА СЕРИЙНЫХ НОМЕРОВA4БАНКИ

Использование конкретных БД конкретными формами приведено в таблице 2.1.


Таблица 1.2.

Наименование функцииИспользуемые БД1. Ввод и корректировка справочника АТС.ATS, S00, S012. Ввод диапозонов номеров, принадлежащих к АТСATS, ATS_DIAP, PHONE_DIAP3. Ввод схемы спаренностиATS, PHONE_DIAP, ATS_SP, ATS_SP_NSTD, PHONE_SP4. Корректировка спаренных комплектовATS, PHONE_DIAP, ATS_SP, ATS_SP_NSTD, PHONE_SP5. Ведение станционной номерной емкостиATS, PHONE_DIAP, FREE_PH6. Просмотр станционной номерной емкостиATS, PHONE_DIAP, ATS_SP, ATS_SP_NSTD, PHONE_SP, FREE_PH7. Отчеты и справки7.1. Отчет о свободной емкостиATS, PHONE_DIAP, ATS_SP, ATS_SP_NSTD, PHONE_SP, FREE_PH7.2. Отчет о задействованной емкостиA1, A167.3. Получение справки по номеру телефонаA1, A16, A19, A31, A4, A5, A7, UDK_HOUSE


2. Теоретическая часть


2.1 Разработка ИО


Таблица соответствий между выполняемыми функциями и входными, выходными данными (используемые БД, различные бумажные документы)

Наименование функцииОсновные данные (входные)Основные данные (выходные)1. Ввод и корректировка справочника АТС.S00, S01Формирование БД ATS2. Ввод диапозонов номеров, принадлежащих к АТСS00, S01Формирование БД ATS_DIAP, PHONE_DIAP3. Ввод схемы спаренностиS00, S01, На основании статист. Данных и соот-щих приказов ввод с клавиатуры необходимых параметров.Формирование БД ATS_SP, ATS_SP_NSTD, PHONE_SP4. Корректировка спаренных комплектовНаряд на расспаревание телефонаФормирование БД ATS_SP, ATS_SP_NSTD,5. Ведение станционной номерной емкостиS00, S01, На основании статист. Данных и соот-щих приказов ввод с клавиатуры необходимых параметров.Формирование БД FREE_PH6. Просмотр станционной номерной емкостиATS, PHONE_DIAP, ATS_SP, ATS_SP_NSTD, PHONE_SP, FREE_PHЭкранная форма (рис. 3.3.19), при необходимости копия экрана7. Отчеты и справки7.1. Отчет о свободной емкостиATS, PHONE_DIAP, ATS_SP, ATS_SP_NSTD, PHONE_SP, FREE_PHЭкранная форма (рис. 3.3.23), при необходимости копия экрана7.2. Отчет о задействованной емкостиA1, A16Экранная форма (рис. 3.3.24), при необходимости копия экрана7.3. Получение справки по номеру телефонаA1, A16, A19, A31, A4, A5, A7, UDK_HOUSEЭкранные формы (рис. 3.3.26, рис. 3.3.27, рис. 3.3.28, рис. 3.3.29, рис. 3.3.30), при необходимости копии экрана

Под различными бумажными документами понимаются документы, используемые на АТС, но постепенно исчезающие в связи с автоматизацией процесса (журналы по АТС, журналы по записи нарядов, журналы таксофонов, абонентские книги и др.), и наряды на установку телефона, наряды о выключение абонентов по АТС и т.д.

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

Внутримашинные ИБ

Все используемые БД связанны между собой, и описание всех связей было бы слишком громоздким. Поэтому, для наглядности можно привести небольшой пример из которого будет видно каким образом идет обращение к необходимым БД и как осуществляется поиск необходимых данных.

Рассмотрим операцию получения отчета о задействованной номерной емкости:


Рис. 2.1.


Для получения отчета вводится код АТС.

Сведения об отдельных и спаренных телефонах выбираются из БД А1 поля «Категория телефона». Информация о принадлежности номера к квартире или учреждению берется также из А1 но по полю «Код абонента / предприятия». Количество задействованных таксофонов выбирается из А16 «Номер абонентской линии». По полю «Признак номера» из А1 берется число бронированных номеров. Количество служебных - из А1 «Код признака начисления». Вид спаренности по АВУ также находится в А1 в поле «Признак вечернего телефона». Тут же и сигнализация. Проверочные номера - А1 «Категория телефона».


Таблица 2.1. Структура БД А1

Название поляДлиннаИмя поля в БДТип поляТелефон9phoneinteger not nullДата корректировки8date_moddateНомер оператора2oper_numsmallintПризнак номера1ab_flagchar(1)Код абонента / предприятия9ab_codeintegerПризнак вечернего1evening_phchar (1)Код доп. призн4ext_codeintegerКод признака начисления2tax_flagsmallintКатегория телефона1cat_phonechar (1)Дата ввода8input_datedateКод должности2work_codesmallintНомер наряда2order_numintegerКод операции2op_codesmallint

Таблица 2.2. Структура БД А16

Название поляДлиннаИмя поля в БДТип поляТелефон9phoneintegerНомер абонентской линии4num_abon_lineintegerТип МТА1typvarchar(2)Категория1cat_phonechar(1)Место установки30addr_phonevarchar(30)Код улицы5street_codeintegerНомер дома7house_numchar(7)Номер корпуса1subhouse_numchar(1)Дата установки8datadustdateДата снятия8datasndateДата ввода8input_datedateОснование30point_viewvarchar(30)Номер оператора2oper_numsmallintЗаводской номер2plant_numintegerРайонный узел30regionvarchar(30)

Таким образом видно, что A1 и A16 связаны по полю «Телефон» и «Код оператора».

По этому полю связаны фактически все БД, используемые в АРМе.

Выбор инструментального средства

При выборе СУБД, которая может быть признана пригодной для использования в такой исключительно важной отрасли народного хозяйства, как связь, необходимо учитывать следующие факторы:

  • выполнение запросов в режиме реального времени;
  • доступность информации с локальных и удаленных рабочих мест;
  • защита от несанкционированного доступа;
  • разделение доступа к данным по уровням привилегий;
  • нагрузка на СУБД в терминах транзакций;
  • простата выполнения функций повседневного администрирования;
  • предполагаемый объем и сложность пользовательских приложений;
  • устойчивость работы системы и сохранение целостности информации, обеспечиваемые внутренними механизмами защиты информации;
  • протоколирование действий операторов рабочих мест при проведении операций, влияющих на информационную целостность системы или для поддержки соблюдения технологической дисциплины;
  • возможность динамического расширения системы при ее развитии;
  • стоимость[2].

В настоящее время на рынке СУБД для OC UNIX имеется большой выбор продуктов, значительно различающихся как по возможностям, так и по стоимости. Для современных СУБД, занимающих лидирующее положение на рынке, типичными являются поддержка реляционной модели данных, использование стандартного языка запросов SQL, построение по принципу «клиент-сервер», механизм оперативной обработки транзакций, наличие развитых средств поддержки разработки пользовательских приложений, систем генерации отчетов, построителей форм, поддержка программирования на наиболее распространенных языках высокого уровня. Основным критически важным фактором в СУБД является архитектура сервера баз данных. К архитектурам современных серверов баз данных выдвигаются четыре основных требования:

  1. расширяемость;
  2. производительность:
  3. оперативная обработка транзакций (OLTP);
  4. доступность[3].

Расширяемость - это способность системы увеличивать или уменьшать ресурсы системы по мере необходимости. Существуют два типа расширяемости: горизонтальная и вертикальная. Горизонтальная расширяемость обозначает способность нескольких серверов взаимодействовать друг с другом и разделять нагрузку. Вертикальная расширяемость увеличивает или уменьшает общую мощность системы, добавляя к системе новые компоненты[4].

Динамически расширяемая архитектура предназначена для высокой производительности. Высокая производительность достигается за счет параллельной архитектуры алгоритмов таких как: распараллеливание запросов, фрагментация данных или многопоточность.

Существует три области, которые определяют доступность системы базы данных:

  • администрирование в оперативном режиме;
  • устойчивость;
  • архивирование в оперативном режиме [5].

Целесообразно привести сравнение по 13 основным показателям серверов баз данных трех крупнейших производителей: INFORMIX Software Inc. (INFORMIX-OnLine 7.1), Oracle Corp. (Oracle 7.1), Sybase Corp. (Sybase System 10) (см. табл. 2.3) [6].

Для проектирования системы АСТУП выбрана СУБД Informix фирмы Informix Software Inc. Такой выбор был сделан на основании:

  • примеров использования СУБД INFORMIX за рубежом и на территории СНГ (Банк Shinhan (Южная Корея) - объем базы данных 450 Гбайт; международная нефтяная корпорация Кувейта объединяет информационные системы 15 разных стран, созданных на основе СУБД INFORMIX; телефонная компания GTE (США) - крупнейшая телефонная компания США выбрала СУБД INFORMIX в качестве стандарта; Московская городская телефонная сеть;
  • в 1995 году объем продаж составил 34% от количества продаж на рынке Европы и заняла лидирующее положение среди фирм аналогичного профиля [7];
  • наличие примеров использования INFORMIX в нашей стране (Министерство хлебопродуктов; Республиканский Центр занятости; Промстройбанк; Сбербанк);
  • мобильности СУБД INFORMIX (как специальное, так и прикладное программное обеспечение, написанное с использованием данной СУБД легко переносится на практически все известные операционные системы и аппаратные платформы (операционные системы - Windows NT, OS/2, UNIX; технические платформы - DEC, AIX, HP, Motorola, Intel, Sun и т.д.)).

Таблица 2.3. Сравнительная характеристика серверов баз данных

ХарактеристикаInformix-OnLine 7.1Oracle 7.1Sybase System 10Защита и отказоустойчивость:Уровни защитыС2, В1, В2С2, В1С2Настройка системыonlineofflineofflineАвтоматическая архивацияданетнетСжатие/шифрацияданетнетУправление архивом на МЛданетBackup ServerРазбиение таблиц на разделыданетнетРазмеры управляемых объектовРазделTablespaceБДПараллельная обработка данных:Построение индексовдаДанетВосстановлениедаДанетДинамическое управление ресурсамидаНетнетРаспределение базы данных:Распределенный оптимизатордаНетдаОптимизация построения индексадаНетнетРеплицирование данныхдаПозжепозже

Краткая характеристика СУБД INFORMIX

Основанная в 1980 году, компания Informix уверенно действует на рынке реляционных систем управления базами данных (РСУБД). Сегодня в мире установлено более 600 тысяч систем Informix на машинах разнообразной архитектуры и самой разной мощности. Области применения Informix охватывают практически все сферы науки, образования, промышленности и бизнеса. В ряде областей, таких как банковское дело и финансы, телеобработка, автоматизация проектирования, системы здравоохранения, системы поддержки управленческих решений и офисная автоматизация, решения Informix признаны во всем мире как достигшие уровня мировых стандартов качества и эффективности [7].

Существует много оснований при выборе Informix для системы управления информацией:

  • фирма Informix уже более 15 лет работает с реляционными базами данных в среде UNIX и других операционных системах;
  • Informix владеет совершенной технологией применения языков 4-го поколения (4GL) и объектно-ориентированных сред (NewEra) для разработки приложений;
  • Informix накопил ценнейший опыт создания инструментария для разработки приложений и их привязки к требованиям пользователей;
  • стратегия Informix на переносимые продукты, независимость от технических платформ, совместимость новых версий систем с предшествующими - это стремление фирмы защитить инвестиции пользователей и обеспечить плавный переход к новым техническим средствам;

5) лидерство Informix в реализации идеологии открытых систем - это не просто фраза, а общепризнанный приоритет в разработке и реализации новых стандартов открытых систем;

Есть много сильных аргументов в пользу Informix при сравнении с любыми другими системами, но в конце концов, самое главное - это то, что Informix обеспечивает реальные решения для реальных проблем, с которыми Вы встречаетесь повседневно в мире открытых систем обработки данных.

Обработка баз данных по технологии «Клиент-сервер» обеспечивает доступ к информации из любой точки предприятия, прямо с рабочего места пользователя. Концепция «Клиент-Сервер» универсально подходит как для локальных вычислительных задач, так и для построения интегральной базы данных предприятия с оперативной обработкой.

Успешная реализация архитектуры «Клиент-Сервер» опирается на промышленные стандарты. Informix поддерживает стандарты «де-факто», включая стандарты SQL-ANSI, X/Open, SQL-Access Group, X/Open XA, Microsoft ODBC, IBM DRDA.

Предприятия, выбравшие для себя новую идеологию открытых систем, стремятся реализовать новые возможности, но в то же время идут на определенный риск. Informix, как никакая другая компания, вложила в открытые системы свой интеллектуальный потенциал и многолетний практический опыт.: лидер в технологии баз данных в среде UNIX; первая фирма, решившая проблемы интеграции систем в средах DOS и UNIX; многолетний поставщик продуктов для локальных сетей в NetWare.

Сегодня Informix заслуженно имеет мировую репутацию поставщика баз данных для открытых систем. Для всех лидирующих операционных платформ - UNIX, Windows, Windows NT, NetWare - Informix предлагает сервер-продукты, средства пользователя, развитые возможности интеграции систем.- единственная фирма - поставщик СУБД, которая предлагает диапазон серверов для архитектуры «Клиент-Сервер». Informix-Online - это реляционная система повышенной производительности, в которой сервер спроектирован так, чтобы удовлетворить самым жестким требованиям по оперативной обработки транзакций (OLTP). Система OnLine, разработанная для Среды UNIX и NetWare, поддерживает также функции мультимедиа для хранения и обработки образов документов, аудио- и видеоданных в цифровой форме, и ряд других принципиально новых возможностей.NFORMIX-4JL - Основное инструментальное средство для программирования БД и создания пользовательских приложений на языке 4JL Оно включает:

  • компилятор с 4JL на Си и далее в машинный код;
  • генератор икомпилятор экранных форм 4JL;
  • описание и поддержка многодубленных программ

Все это собранно в единую интегрированную среду - оболочку поддержки программирования, управляемую меню.

Язык 4JL содержит в себе:

  • Операторы SQL - для работы с данными;
  • Программные операторы: IF, CASE, CALL, FUNCTION, FOR, WHIKE, GOTO, DEFINE и т.д.
  • Операторы экранного обмена - меню, окна, ввода-вывода через экранные формы и экранные массивы;
  • Перехват и обработка исключительных ситуаций.

Производительность сетевой среды «Клиент-Сервер» определяет эффективность всей системы управления базой данных. Informix достиг наивысшей производительности по сравнению с фирмами-конкурентами именно благодаря совершенной конструкции подсистемы «Клиент-Сервер». Средства буфферизации, разделения основной памяти

минимизируют обращения к дисковой памяти (относительно медленные процессы) и максимизируют использование более быстрой памяти RAM.также детально исследовал проблему распределения баз данных в сети и оптимизировал алгоритмы обмена данными между клиентами и серверами. Реализованные в продуктах Informix алгоритмы значительно уменьшают сетевой трафик и повышают производительность прикладной системы в целом. Для объемных по информации и трафиков приложений (с оперативной обработкой транзакций) предлагается специализированный менеджер ресурсов в стандарте X/Open XA, обеспечивающий Informix эффективное использование ресурсов и высокую производительность (число обрабатываемых транзакций в секунду) [7].

При решении вопросов защиты информации и обеспечения целостности базы данных Informix предлагает исключительно полный и отработанный набор методов. Среди стандартных решений Informix по обеспечению надежности системы, отметим: основанные на стандарте ANSI реляционные средства анализа и контроля целостности данных (встроены в сервер), процедуры верификации данных, двухфазный протокол отката и восстановления базы данных и разнообразные средства блокирования и защиты данных. Все эти механизмы в правильной комбинации работают совместно, защищая Ваши данные от несанкционированного доступа и разрушения.

Многие информационные приложения являются жизнеобеспечивающими для деятельности предприятия и должны выполняться круглосуточно по принципу «non-stop». Informix дает Вам необходимые средства для резервирования данных в процессе работы системы и быстрого восстановления системы после любого сбоя или отказа. Этой же цели служат такие средства как зеркальное отображение дисковой памяти (горячее резервирование диска) и механизмы оперативного восстановления. В результате применения всех этих детально сконструированных и тщательно проверенных средств Вы получаете надежно работающую систему, в которой минимизируются последствия любых системных отказов.предоставляет наиболее передовые продукты для создания и реализации информационных систем с открытой архитектурой. Центральные продукты Informix - это серверы баз данных, средства для разработки приложений, средства конечного пользователя для доступа к данным и средства интеграции. Все продукты базируются на ANSI стандарте SQL и выполняются под управлением ведущих операционных систем, включая UNIX, Windows, Windows NT, NetWare и Macintosh и др.


2.2 Разработка алгоритмического обеспечения


В данном пункте приведем словесное описание укрупненного алгоритма.

  1. Начало алгоритма.
  2. ПРОВЕРКА: выбран ли пункт меню «ВВОД И КОРРЕКТИРОВКА

СПРАВОЧНИКА АТС»

  1. Если выбран вышеуказанный пункт то вводятся следующие реквизиты:
  2. Код АТС;
  3. Вид АТС;
  4. Код опорной АТС
  5. Наименование
  6. Емкость
  7. Вид спаренности
  8. Количество цифр в номере для телефонов
  9. Количество цифр в номере для таксофонов
  10. Количество проверочных номеров
  11. Количество таксофонных номеров
  12. Дата взятия станции под АПУС
  13. день месяца (две цифры),
  14. номер месяца (две цифры),
  15. год (две последние цифры года без столетия).
  16. Код АТС, с которой заведен мультиплексор
  17. Емкость мультиплексора
  18. ПРОВЕРКА: зафиксировать?
  19. ДА: Запись в соответствующие БД
  20. НЕТ: продолжение работы с выбранным пунктом меню.
  21. Если данный пункт меню не выбран то ожидается переход к любому другому пункту или нажатие «ESC» для выхода из программы.
  22. ПРОВЕРКА: выбран ли пункт меню «ВВОД ДИАПОЗОНОВ НОМЕРОВ,

ПРИНАДЛЕЖАЩИХ К АТС.

СПРАВОЧНИКА АТС»

.1. Если выбран вышеуказанный пункт то вводятся следующие реквизиты:

  1. АТС
  2. Вид номерной емкости
  3. Начало диапазона
  4. Конец диапазона

3.1.1. ПРОВЕРКА: зафиксировать?

.1.1.1.ДА: Запись в соответствующие БД

.1.1.2.НЕТ: продолжение работы с выбранным пунктом меню.

.2. Если данный пункт меню не выбран то ожидается переход к любому другому пункту или нажатие «ESC» для выхода из программы.

. ПРОВЕРКА: выбран ли пункт меню «ВВОД СХЕМЫ СПАРЕННОСТИ»

.1. Если выбран вышеуказанный пункт то вводятся следующие реквизиты:

  1. АТС
  2. Вид спаренности
  3. Диапазон спаренных номеров
  4. Номера спаренных десятков

4.1.1. ПРОВЕРКА: зафиксировать?

.1.1.1.ДА: Запись в соответствующие БД

.1.1.2.НЕТ: продолжение работы с выбранным пунктом меню.

.2. Если данный пункт меню не выбран то ожидается переход к любому другому пункту или нажатие «ESC» для выхода из программы.

. ПРОВЕРКА: выбран ли пункт меню «КОРРЕКТИРОВКА СПАРЕННЫХ КОМПЛЕКТОВ»

  1. Если выбран вышеуказанный пункт то, при подведении курсора к выбранному спаренному комплекту и нажмет <F8>, данный комплект будет удален из спаренных комплектов АТС; при этом номера, входящие в спаренный комплект, станут отдельными. Используя <F9>, можно добавить в общую схему спаренности новый спаренный комплект.

5.1.1. ПРОВЕРКА: зафиксировать?

.1.1.1.ДА: Запись в соответствующие БД

.1.1.2.НЕТ: продолжение работы с выбранным пунктом меню.

.2. Если данный пункт меню не выбран то ожидается переход к любому другому пункту или нажатие «ESC» для выхода из программы.

  1. ПРОВЕРКА: выбран ли пункт меню «ВЕДЕНИЕ СТАНЦИОННОЙ

НОМЕРМОЙ ЕМКОСТИ»

.1. Если выбран вышеуказанный пункт то вводятся следующие реквизиты:

  1. номер АТС
  2. тип абонентской линии
  3. диапазон номеров

6.1.1. ПРОВЕРКА: зафиксировать?

.1.1.1.ДА: Запись в соответствующие БД

.1.1.2.НЕТ: продолжение работы с выбранным пунктом меню.

.2. Если данный пункт меню не выбран то ожидается переход к любому другому пункту или нажатие «ESC» для выхода из программы.

. ПРОВЕРКА: выбран ли пункт меню «ПРОСМОТР СТАНЦИОННОЙ

НОМЕРМОЙ ЕМКОСТИ»

.1. Если выбран вышеуказанный пункт то происходит отображение диапазонов для введенного кода АТС.

.2. Если данный пункт меню не выбран то ожидается переход к любому другому пункту или нажатие «ESC» для выхода из программы.

. ПРОВЕРКА: выбран ли пункт меню «ОТЧЕТЫ ИСПРАВКИ»

.1. Если выбран вышеуказанный пункт то на экране происходит отображение трех подпунктов данного меню.

  1. Если выбран пункт меню «ОТЧЕТ О СВОБОДНОЙ НОМЕРНОЙ

ЕМКОСТИ» то происходит обращение к БД ATS, PHONE_DIAP, ATS_SP, ATS_SP_NSTD, PHONE_SP, FREE_PH и на экране формируется отчет (рис. 3.3.22.).

.1.2. Если данный пункт меню не выбран то ожидается переход к любому другому пункту или нажатие «ESC» для выхода в главное меню.

  1. Если выбран пункт меню «ОТЧЕТ О ЗАДЕЙСТВОВАННОЙ

НОМЕРНОЙ ЕМКОСТИ» то происходит обращение к БД A1, A16 и на экране формируется отчет (рис. 3.3.22.).

  1. Если данный пункт меню не выбран то ожидается переход к любому другому пункту или нажатие «ESC» для выхода в главное меню.

8.3.1. Если выбран пункт меню «ПОЛУЧЕНИЕ СПРАВКИ ПО НОМЕРУ ТЕЛЕФОНА» то происходит обращение к БД A1, A16, A31, A19, A4, A5, A7, UDK_HOUSE и на экране формируется отчеты (рис. 3.3.25., рис. 3.3.26., рис. 3.3.27., рис. 3.3.27., рис. 3.3.29., рис. 3.3.30.).

  1. Если данный пункт меню не выбран то ожидается переход к любому другому пункту или нажатие «ESC» для выхода в главное меню.


3. Расчетная часть


.1 Выбор комплекса технических средств


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

Структура КТС - одноуровневая многопользовательская система с центральным вычислительным комплексом (ЦВК) и набором автоматизированных рабочих мест (далее по тексту АРМ), оснащенных терминальным оборудованием и подключенных к ЦВК по каналам связи.

АРМ работают только в режиме связи с ЦВК.

Описание центрального вычислительного комплекса.

Реализация функций, возлагаемых на ЦВК, обеспечивается наличием следующих групп устройств:

  1. устройства ввода-вывода данных - консольные терминалы, коммуникационные серверы и мультиплексоры для подключения удаленных и локально размещенных АРМ, печатающие устройства;
  2. устройства управления и обработки, которые выполняют все логические и вычислительные операции, управляют операциями обмена данными между устройствами и следят за их координацией - микро-ЭВМ;
  3. устройства запоминающие - оперативное запоминающее устройство, внешние запоминающие.
  4. устройства связи, позволяющие передавать информацию и управляющие сигналы в пределах локальной сети - сетевые концентраторы;
  5. устройства связи, позволяющие производить обмен информацией между ЦВК и удаленными АРМ через выделенные либо коммутируемые телефонные каналы - модемы.

Описание функционирования центрального вычислительного комплекса.

  1. Ввод информации в систему осуществляется с автоматизированных рабочих мест и с магнитных носителей (комплекс оснащен двумя комплектами НГМД 3.5» / 1.44 Мб и двумя стримерами с емкостью кассеты 1,2 Гбайт).
  2. Обмен данными между удаленными пользователями и центральным вычислительным комплексом осуществляется по выделенным (некоммутируемым) телефонным каналам.
  3. Обработка информации ведется центральным вычислительным комплексом в диалоговом и пакетном режимах.
  4. Результаты обработки выводятся на устройства отображения в виде видиограмм, на печатающие устройства в виде твердых копий необходимых печатных форм, а также записываются на магнитные диски и ленты.

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

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

Вычислительный комплекс реализован на основе двух микро - ЭВМ, оснащенных необходимыми контроллерами внешних устройств и связанных в единую сеть.

Для реализации функций основного и резервного серверов базы данных выбраны компьютеры ALR Revolution Quad 6.

Основной сервер базы данных имеет следующую конфигурацию:

  1. два процессора Pentium Pro 200 МГц/512 Кб кэш;
  2. ОЗУ емкостью 256 Мбайт);
  3. Интеллектуальный контроллер дисковых массивов (ALR 3 Channel ADAC PCI Caching RAID Ultra SCSI Controller;
  4. три внешних накопителя на жестких дисках с интерфейсом Fast Wide SCSI и емкостью по 4,55 Гбайт каждый;
  5. два контроллера FastEthernet / PCI;
  6. стример TDC 4120 с интерфейсом SCSI и емкостью 1,2 Гбайт;
  7. 1 Мб PCI SVGA видеоконтроллер;
  8. накопитель CD-ROM 256 KB Cache;
  9. накопитель на гибких магнитных дисках 3.5» емкостью 1.44 Мб.

Резервный сервер базы данных имеет аналогичную конфигурацию, но с ОЗУ емкостью 128 Мбайт.

Кроме перечисленных средств вычислительной техники в состав комплекса входят коммуникационные серверы CNS-1600 для подключения в систему пользователей по высокоскоростным стандартным последовательным и параллельным байтовым интерфейсам, а также сетевые концентраторы компании Accton 10/100 Mbps, модель SwitcHub-8se.

АРМ, территориально располагающиеся вне здания 62 АТС (удаленные), подключаются к вычислительному комплексу через модемы 2842/1442 RM по выделенным телефонным линиям. Обмен осуществляется со скоростью 115,2/38,4 Кбит/с по протоколу V.42 с уплотнением по стандарту CCITT V.42 bis. В составе оборудования удаленного АРМ используется также терминал Esprit 5510 и мультипорт 16-портовый Star Technologies Multi*Port II+16.


3.2 Разработка ПО


При выборе операционной системы учитывался характер вычислительных задач, решаемых в проектируемой системе. Требуется использование высокопроизводительной многопользовательской многозадачной операционной системы (ОС), максимально эффективно использующей вычислительные возможности выбранного микропроцессора INTEL.

В качестве ОС выбрана стандартная ОС SCO UNIX System V/386 Release 3.2 Версия 4.2 американской фирмы The Santa Cruz Operation (SCO), которой принадлежит наибольшая доля на рынке ОС UNIX для систем на базе микропроцессора INTEL 386/486/Pentium. SCO UNIX - современная 32-х разрядная многопользовательская, многозадачная операционная система, предназначенная для работы на компьютерах на базе процессоров INTEL 386/486/Pentium.

Операционная система поддерживает большое количество периферийных устройств и обладает встроенными средствами коммуникации и защиты, соответствующей стандарту С2 правительства США. Эта версия выбрана компанией Digital Equipment (DEC) в качестве основной операционной системы для своих многопользовательских систем на базе микропроцессора INTEL 80486. [8]NFORMIX-4JL - Основное инструментальное средство для программирования БД и создания пользовательских приложений на языке 4JL Оно включает:

  • компилятор с 4JL на Си и далее в машинный код;
  • генератор икомпилятор экранных форм 4JL;
  • описание и поддержка многодубленных программ

Все это собранно в единую интегрированную среду - оболочку поддержки программирования, управляемую меню.

Язык 4JL содержит в себе:

  • Операторы SQL - для работы с данными;
  • Программные операторы: IF, CASE, CALL, FUNCTION, FOR, WHIKE, GOTO, DEFINE и т.д.
  • Операторы экранного обмена - меню, окна, ввода-вывода через экранные формы и экранные массивы;
  • Перехват и обработка исключительных ситуаций.

Программа на языке 4JL может состоять из нескольких файлов (модулей) с исходными текстами на языке 4JL. К ней также относятся файлы с описанием используемых экранных форм, которые компилируются отдельно. Имя каждого модуля должно иметь расширение. 4jl (например, modul.4jl), а имя файла с описанием экранных форм.per (например, form2.per).

Каждый модуль содержит описание переменных и несколько процедурных блоков function (подпрограммы) и report блоки печати. В программе должен быть один блок main - главный блок. На него будет передаваться управление при старте программы.

В данной программе для ведения классификатора АТС используется функция stanats (kodats). Для ввода еще не существующей АТС - функция stanats_init (). Для корректировки справочника используется функция stanats_found().

В отдельном модуле abongl.4jl собраны функции обработки системных сообщений:syshelp_open() # Открытие окна функциональных клавиш

FUNCTION syshelp (kl6, kl7, kl8, kl9, kl10) # Инициализация клавиш

FUNCTION syshelp_close() # Закрытие окна функциональных клавиш

function syserror_msg (pnam_table, pstatus, pmessage) - Формирование системных сообщений

function syserror (pnam_table, pstatus, pmessage) - Выдача системных сообщений в строке ERROR LINE (см. Приложение 2)

Функционирование комплекса технических средств может осуществляться в режиме загрузки операционной системы, режиме обработки оперативной информации, режиме пакетной обработки информации, режиме технической профилактики и тестиро Режим загрузки представляет собой процесс инициализации операционной системы UNIX версии The Santa Cruz Operation (далее по тексту - SCO UNIX), которая выполняет следующие функции:

·обеспечение независимой работы в многопользовательском режиме переменного числа пользователей;

·защита программ в оперативной памяти ЭВМ;

·управление вводом-выводом на физическом и логическом уровнях;

·организация очереди заявок для вывода информации;

·автоматизация управления выполнением задач;

·использование внешних устройств, входящих в состав комплекса;

·включение драйверов, разработанных пользователем для дополнительно подключаемых устройств;

·обеспечение межмашинного обмена данными по сети;

·генерирование различных версий операционной системы.

Загрузка операционной системы происходит без вмешательства оператора и при успешном завершении заканчивается сообщением::

Режим обработки оперативной информации подразумевает выполнение следующих функций системы:

  1. формирование и ведение очереди на установку телефона
  2. абонентский учет
  3. составление нарядов на выполнение работ, контроль их исполнения и учет труда линейных монтеров
  4. учет расхода материалов по выполненным нарядам
  5. учет монтированной, задействованной и свободной емкости на станционных участках

Режим пакетной обработки информации подразумевает выполнение следующих функций системы:

  1. технический учет и паспортизация линейных сооружений МГТС;
  2. получение справочной и статистической информации;
  3. подготовка информации для проведения начислений в системе АСКР за разовые услуги МГТС.

Одновременное функционирование системы в режиме пакетной и оперативной обработки информации нежелательно вследствие замедления ее работы.

Режим технической профилактики и тестирования предназначен для комплексной проверки работоспособности системы, выявления причин сбоев, локализации неисправностей. Средства тестирования и диагностики включены в состав операционной системы SCO UNIX. Функционирование системы в этом режиме возможно только с участием системного администратора.

Режим завершения работы подразумевает выполнение следующих функций системы:

·сохранение целостной структуры базы данных;

·сохранение файловой структуры системы;

·прекращение работы пользователей системы без потерь информации. [9]


3.3 Разработка ОО


Выполнение программы

Для запуска программы оператор должен включить терминал и модем. После того, как на экране появится тестовое сообщение, следует нажать клавишу <RETURN>. На экране появится системное приглашение. Оператор должен ввести login-имя и пароль. Если данному login-имени разрешен вход в программу, то на экране появится главное меню программы.

Введение информации осуществляется с помощью различных экранных форм, каждое поле которых имеет название, снабжено подсказками и позволяет пользователю вводить информацию без предварительного обучения и подготовки. Перемещение по полям формы осуществляется с помощью клавиш управления курсором (КУК) или <RETURN>.

  • При работе с формами выдаются различные виды подсказок с правом выбора (подтверждения) того или иного действия. Перемещение от пункта к пункту осуществляется по клавишам КУК, а выбор - по нажатии <RETURN>. Ниже описаны все виды таких подсказок.
  • Для подтверждения выхода из формы (по нажатии <ESC>) выдается подсказка:

  • Рис. 3.3.1.
  • Если выбран пункт «Да», то осуществляется переход к предыдущей форме, в противном случае процесс работы с текущей формой продолжается.
  • Для подтверждения занесения введенной информации в БД (после введения последнего поля формы) выдается подсказка:
  • Рис. 3.3.2.
  • Если выбран пункт «Да», то данные заносятся в БД и предоставляется возможность ввода следующей порции информации, если выбран пункт «Нет» - работа с текущей формой продолжается, при выборе «Отказ» происходит прекращение работы программы.
  • Для подтверждения удаления информации из БД (после нажатия клавиши <F8>) выдается подсказка:
  • Рис. 3.3.3.
  • Если выбран пункт «Да», то данные будут удалены из БД, в противном случае произойдет отказ от этой операции.
  • Ввод номера АТС производится без кода ЛСЦ в привычном для пользователя виде. Если при вводе номера АТС система не может распознать внутренний код АТС, то оператору выдается меню-подсказка для выбора уточняющих признаков:
  • Рис. 3.3.4.
  • Оператор должен выбрать один из видов АТС для правильного распознавания системой кода АТС.
  • Ввод номеров телефонов для АТС, принадлежащих ЛСЦ будет осуществляться в привычном для пользователя виде, совпадающим с количеством цифр набора при выходе на коммутацию.
  • Нумерация выносных АТС осуществляется по номеру опорной АТС и номеру первой вынесенной тысячи (для сотенных выносов - сотни). Например, двухтысячная ПСК - вынос со станции 256 с диапазоном номеров с 2562000 - 2563999 будет иметь номер: 2562, где 2-номер первой вынесенной тысячи.
Главное меню

Главное меню программы выглядит следующим образом:

  • Рис. 3.3.5
  • Выбор пунктов меню осуществляется клавишами КУК и нажатием клавиши <RETURN>.
Ввод и корректировка справочника АТС

Ввод справочника АТС.

  • В начале работы появится экранная форма (см. рис. 3.3.6.).

  • Рис. 3.3.6.
  • Оператор должен ввести данные согласно форме на экране. В каждое поле формы следует вводить соответствующие данные об описываемой АТС. Для перехода в следующее поле следует нажать клавишу <RETURN>. Символьная информация должна набираться с первой позиции поля только прописными буквами на русском регистре.
  • Все поля, кроме «Дата взятия под АПУС», «Код АТС, с которой заведен мультиплексор», «Емкость мультиплексора» являются обязательными. При попытке перейти в следующее поле, не заполнив текущее, в последней строке экрана появится сообщение «Поле не заполнено или заполнено неправильно».
  • При работе с формой можно использовать функциональную клавишу <F6> - сброс всех введенных данных и восстановление информации, присутствующей на момент начала ввода.
  • Ввод реквизитов:
  • Код АТС
Код АТС должен состоять из трех или более цифр (до пяти).

  1. Вид АТС

Вид АТС автоматически выберется при нажатии «_» (пробела)

Рис. 3.3.7.


и занесется в поле «Вид АТС» на экранной форме.

  1. Код опорной АТС

Вводится код опорной АТС для АТС со значением поля «Вид АТС» - «выносная».

  1. Наименование

Вводится наименование АТС, например: АТС ДК, КВАНТ и пр.

  1. Емкость

Вводится номерная емкость АТС без учета номеров, отданных на выносные станции, но включая сверхномерную емкость.

  1. Вид спаренности

В данном пункте меню вводится только основная схема спаренности. Для ввода комбинаций схем спаренности следует воспользоваться соответствующим пунктом меню. Подробнее каждый из видов спаренности будет описан ниже. В случае, если введен пробел и нажата клавиша <RETURN>, на экране появится подсказка (см. рис. 3.3.8.)

  1. Количество цифр в номере для телефонов

Вводится количество цифр набора при выходе на коммутацию в номере телефона данной АТС. Например, для АТС 256 число цифр набора-7.

  1. Количество цифр в номере для таксофонов

Вводится количество цифр в номере таксофона данной АТС (если есть сверхномерная емкость).

  1. Количество проверочных номеров

Вводится количество проверочных номеров


Рис. 3.3.8


  1. Количество таксофонных номеров

Вводится количество номеров таксофонов (из сверхномерной емкости).

  1. Дата взятия станции под АПУС

Вводится дата взятия станции под АПУС. В случае, если станция не взята под АПУС, следует нажать <RETURN> без ввода.

Ввод в это поле осуществляется в следующем порядке:

  1. день месяца (две цифры),
  2. номер месяца (две цифры),
  3. год (две последние цифры года без столетия).
  4. Код АТС, с которой заведен мультиплексор

Вводится код АТС, на которой расположен пункт обработки номеров телефонов станции наложенной цифровой сети. В случае, если описывается именно такая станция, в данное поле повторить ввод номера АТС. Если на описываемой АТС отсутствует мультиплексор НЦС, то следует нажать <RETURN> без ввода.

  1. Емкость мультиплексора

Вводится количество пар мультиплексора (обычно 30 или 60). Поле доступно только после заполнения предыдущего.


После ввода последнего поля или «пустого» ввода предпоследнего поля появляется меню с предложением зафиксировать введенные данные в базах данных АСТУП.

Для выхода из режима ввода классификатора АТС используется клавиша <ESC>.

Корректировка справочника АТС

В случае, если в форму «Ввод справочника АТС» вводится код АТС, уже существующий в системе, появится экранная форма:


Рис. 3.3.9


Для корректировки доступны все поля, кроме поля «Вид спаренности». Если ранее уже вводились данные по АТС, то вид спаренности отобразится в данном поле.

Требования к заполнению полей изложены в пункте «Ввод справочника АТС».

При работе с экранной формой «Корректировка» доступны следующие клавиши:

<ESC> - возврат на предыдущий уровень с запросом о подтверждении выхода;

<F6> - сброс всех введенных данных и восстановление информации, присутствующей на момент начала корректировки;

<F7> - выход на пункт меню «Ввод и корректировка диапазона номеров, принадлежащих АТС», работа с которым описана ниже (см. пункт 3.3.4.).

Ввод диапазонов номеров, принадлежащих АТС

Работа с данным пунктом меню осуществляется для тех АТС, по которым был создан справочник АТС. Диапазон номеров для каждого вида номерной емкости в обычном случае определяется «верхней» и «нижней» границами. Например, для десятитысячной станции 256 диапазон номеров для вида номерной емкости «Телефон» будет выглядеть следующим образом:

Начало диапазона:Конец диапазона:

256 00 00256 99 99

Если у данной станции есть выносная станция (например, ПСК 2567 на одну тысячу номеров), то диапазон номеров для АТС 256 будет выглядеть так:

Начало диапазона:Конец диапазона:

56 00 00256 69 99

80 00256 99 99

Диапазон 256 70 00 - 256 79 99 будет описан как диапазон ПСК 2567, которая будет иметь собственный справочник АТС.

Если на станции имеется сверхномерная емкость, используемая для таксофонов и серийных номеров, то для них вводится свой диапазон номеров (при шестизначной нумерации на АТС сверхномерная емкость обычно шестизначная).

Если к мультиплексору НЦС на станции прикреплен конкретный диапазон номеров, то его также необходимо описать при вводе диапазонов номеров для АТС.

В начале работы появится экранная форма:


Рис. 3.3.10


Ввод реквизитов:

  1. АТС

Вводится код АТС, для которой будет описываться диапазон станционных номеров.

  1. Вид номерной емкости

После ввода в поле «АТС» появляется меню-подсказка для ввода в поле «Вид номерной емкости» (см. рис. 3.3.11.):


Рис. 3.3.11


Вид номерной емкости автоматически выберется из меню-подсказки и занесется в поле «Вид номерной емкости» экранной формы.

  1. Начало диапазона

Вводится нижняя граница диапазона номеров для данного вида емкости.

  1. Конец диапазона

Вводится верхняя граница диапазона номеров для данного вида емкости.

По этой клавише <F5> («Контроль») осуществляется проверка введенных диапазонов на соответствие монтированной емкости в ранее введенном справочнике АТС. После проверки в нижней строке экрана появляется сообщение или об успешном ее завершении, или - в случае обнаружения ошибки - диагностика по обнаруженным ошибкам.

После окончания ввода диапазонов следует нажать клавишу <ESC>, после чего появляется меню с предложением зафиксировать введенные данные в базах данных АСТУП.

Помимо клавиши <ESC> при работе с формой можно использовать функциональную клавишу <F6> - сброс всех введенных данных и восстановление информации, присутствующей на момент начала ввода.

Ввод схемы спаренности АТС

Работа с данным пунктом меню осуществляется для тех АТС, по которым предыдущим пунктом меню «Ввод справочника АТС» был создан справочник АТС.

В начале работы появится экранная форма (см. рис. 3.3.12.), для ввода реквизитов.


Рис. 3.3. 12


При вводе реквизитов по клавише <F6> выполняется сброс введенных значений.

Ввод реквизитов:

  1. АТС

Вводится код АТС, для которой будет описываться схема спаренности. В случае, если схема спаренности заказывалась для АТС при вводе справочника АТС, ее можно либо конкретизировать, либо изменить данным пунктом меню.

  1. Вид спаренности

После ввода в поле «АТС» номера АТС, в поле «Вид спаренности» появляется номер и название заказанной схемы спаренности при создании справочника АТС. Для того, чтобы изменить схему спаренности, необходимо ввести пробелы вместо номера схемы спаренности и нажать клавишу <RETURN>. На экране появится меню-подсказка для ввода в поле «Вид спаренности».

Принимаемые значения полей в классификаторе:

- на данной АТС нет спаренных номеров;

3 - номера можно спаривать любой с любым; нет понятия спаренного комплекта номеров.

4 - заказной вид спаренности

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

Это означает, что, например, для АТС 58 с видом спаренности 4 для диапазона номеров:

258 76 81 - 258 76 90

спаренными комплектами будут номера:

258 76 81 и 258 76 82

76 83 и 258 76 84

76 85 и 258 76 86

76 87 и 258 76 88

76 89 и 258 76 90

  1. номера спарены по десяткам; например, на АТС 257 спарены десятки: 567 и 389.

Практически это означает, что для номеров диапазонов

257 56 70 - 257 56 79

и

257 38 90 - 257 38 99

спаренные номера телефонов будут такими:

257 56 70 спарен с 257 38 90

56 7. с 257 38 9.

56 79 с 257 38 99

- номера спарены по сотням; например, на АТС 256 спарены 01 с 02; 47 с 58 сотни.

Практически это означает, что для номеров диапазонов

256 01 00 - 256 01 99

и

256 02 00 - 256 02 99

спаренные номера телефонов будут такими:

256 01 00 спарен с 256 02 00

01. с 256 02.

01 99 с 256 02 99

Для диапазонов

256 47 00 -256 47 99

и

58 00 -256 58 99

спаренные номера телефонов будут такими:

256 47 00 спарен с 256 58 00

47. с 256 58.

47 99 с 256 58 99

Номера, не вошедшие в диапазоны спаренности, будут индивидуальными;

7 - номера спарены по всем тысячам с 6 по 9 сотню в одном десятке по цифрам единиц.

Для диапазонов номеров:

257 06 00 -257 09 99

16 00 -257 19 99

26 00 -257 29 99

36 00 -257 39 99

46 00 -257 49 99

56 00 -257 59 99

66 00 -257 69 99

76 00 -257 79 99

86 00 -257 89 99

96 00 -257 99 99

номера будут спарены в одном десятке так:

257 06 00 спарен с 257 06 01

06 02 спарен с 257 06 03

06 04 с 257 06 05

06 06 с 257 06 07

06 08 с2 57 06 09

06 10 с 257 06 11 и т.д.

Номера во всех тысячах с 0 по 5 сотни будут индивидуальными;

8 - комбинация схем спаренности 5 (основная схема) и 4 (дополнительная схема);

9 - комбинация схем спаренности 6 (основная схема) и 4 (дополнительная схема).

В случае, если произошло изменение ранее введенной схемы спаренности (например, если схема спаренности была заказана ранее при создании справочника), на экране появляется меню с предложением зафиксировать введенные данные в базах данных АСТУП. Работа с данным меню описана выше.

При вводе значения 3 в поле «Вид спаренности» на экранной форме появляется поле с обязательными реквизитами для ввода «Диапазон спаренных телефонов».

  1. Диапазон спаренных номеров

Вводятся последовательно начальный и конечный номера диапазона спаренных номеров без первых цифр номера АТС столько раз, сколько необходимо для полного ввода всех спаренных номеров АТС.

После нажатия клавиши <ESC> ввод в поле «Диапазон спаренных номеров» заканчивается и на экране появляется меню с предложением зафиксировать введенные данные в базах данных АСТУП.

При вводе значения 5 в поле «Вид спаренности» на экранной форме появляется поле с обязательными реквизитами для ввода «Номера спаренных десятков».

  1. Номера спаренных десятков

Вводятся последовательно по два номера спаренных десятков столько раз, сколько на станции спарено десятков (из диапазона от 000 по 999 десятков).

После нажатия клавиши <ESC> ввод в поле «Номера спаренных десятков» заканчивается и на экране появляется меню с предложением зафиксировать введенные данные в базах данных АСТУП.

При вводе значения 6 в поле «Вид спаренности» на экранной форме появляется поле с обязательными реквизитами для ввода «Номера спаренных сотен».

Ввод в поле «Номера спаренных сотен».

Вводится последовательно по два номера спаренных сотен столько раз, сколько на станции спарено сотен (из диапазона от 00 по 99 сотню).

После нажатия клавиши <ESC> ввод в поле «Номера спаренных сотен» заканчивается и на экране появляется меню с предложением зафиксировать введенные данные в базах данных АСТУП. Работа с данным меню описана выше.

Для комбинированных схем спаренности 8 и 9 ввод осуществляется с дополнительным запросом: основная или дополнительная схема спаренности должна вводиться, а сам ввод осуществляется по указанным выше правилам.


Рис. 3.3.13


После фиксации ввода информации в указанные поля для значений схем спаренности 4,5,6,8,9, а также для схем спаренности со значениями 0,3,7, не требующих ввода дополнительных полей, производится выход на поле «АТС». Это поле предварительно очищается и оператору предлагается вводить схему спаренности для новой АТС. Нажатием клавиши <ESC> производится выход с подтверждением из пункта «Ввод схемы спаренности» на предыдущий уровень главного меню. Меню-подсказка для выхода по <ESC> описана выше.

Корректировка спаренных комплектов

Работа начинается с ввода номера АТС, для которой будет осуществляться просмотр и корректировка спаренных комплектов. После чего можно просмотреть спаренные комплекты (согласно указанной схеме спаренности) заданной АТС в экранной форме:


Рис. 3.3.14


Если оператор подведет курсор к выбранному спаренному комплекту и нажмет <F8>, то данный комплект будет удален из спаренных комплектов АТС; при этом номера, входящие в спаренный комплект, станут отдельными. Используя <F9>, можно добавить в общую схему спаренности новый спаренный комплект.

Данный пункт меню следует использовать крайне осторожно и только для телефонов из незадействованной станционной емкости.

По клавише <ESC> происходит завершение работы программы, если оператор находился в режиме ввода номера АТС, или возврат в поле редактирования, если оператор находился в режиме просмотра спаренных комплектов АТС.

Ведение станционной номерной емкости

Работа с данным пунктом меню осуществляется по следующей форме:


Рис. 3.3.15


Ввод реквизитов поиска:

  1. номер АТС

Вводится номер АТС;

  1. тип абонентской линии

Вводится тип абонентской линии - код типа, наименование типа или пробел. Если в поле ввода введен пробел или неполное наименование, то после нажатия клавиши <RETURN> на экране появится форма для выбора типа линии (см. рис. 3.3.16).


Рис. 3.3.16


Тип линии автоматически выберется из меню-подсказки и занесется в поле «Тип абонентской линии» на экранной форме;

  1. диапазон номеров

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

При вводе в поле диапазон номеров по клавише <F5> происходит отображение диапазонов для введенного кода АТС (см. рис. 3.3.17.), по клавише <F6> очистка полей ввода.


Рис. 3.3.17

После окончания ввода информации по абонентским линиям появляется меню с предложением зафиксировать введенные данные в базах данных АСТУП (работа с данным меню описана выше), после этого в нижней части формы отобразятся номера (номер) из диапазона и, если изменение пройдет успешно, сообщение: выполнено успешно.

Оператор может изменять состояние только тех номеров абонентских линий, которые не установлены у абонентов, т.е. тех, которые находятся в ведении станции: свободных, проверочных, забронированных ТС, служебных, экспл. запас, неисправных, одноплечных, служебных. Состояние можно изменить так же в пределах этих текущих состояний, например: проверочный телефон сделать свободным и пр. В случае, если указанный номер абонентской линии принадлежит абоненту, будет выдано соответствующее предупреждение и выполнение операции будет прекращено.

Вид состояния автоматически выберется из меню-подсказки и занесется в поле «Состояние» экранной формы.


Рис. 3.3.18


По клавише <ESC> происходит завершение работы программы с запросом подтверждения о выходе.

Просмотр станционной номерной емкости

Работа с данным пунктом меню осуществляется по следующей форме:

Рис. 3.3.19


Ввод реквизитов поиска:

  1. номер АТС

Вводится номер АТС в привычном для пользователя виде, без добавления кода ЛСЦ;

  1. тип емкости

Вводится тип емкости - код типа, наименование типа или пробел. Если в поле ввода введен пробел или неполное наименование, то после нажатия клавиши <RETURN> на экране появится форма для выбора типа емкости (см. рис. 3.3.16).

Тип емкости автоматически выберется из меню-подсказки и занесется в поле «Тип емкости» экранной формы;

  1. состояние

Вводится вид состояния - код вида состояния, наименование вида состояния или пробел. Если в поле ввода введен пробел или неполное наименование, то после нажатия клавиши <RETURN> на экране появится форма для выбора вида состояния (см. рис. 3.3.20.).


Рис. 3.3.20


Вид состояния автоматически выберется из меню-подсказки и занесется в поле «Состояние» на экранной форме;

  1. вид подключения

Вводится вид подключения - код вида подключения, наименование вида подключения или пробел. Если в поле ввода введен пробел или неполное наименование, то после нажатия клавиши <RETURN> на экране появится форма для выбора вида подключения (см. рис. 3.3.21.).


Рис. 3.3.21


Вид подключения автоматически выберется из меню-подсказки и занесется в поле «Вид подключения» экранной формы.

При вводе обязательным параметром является номер АТС. Ввод остальных параметров лишь суживает условия поиска.

После ввода желаемых критериев поиска и нажатия клавиши <F9> в форме отобразится информация в двух колонках по следующему принципу: в первой колонке все виды станционной емкости или первое плечо спаренного комплекта; во второй колонке - второе плечо спаренного комплекта. В том и другом случае указывается номер и тип абонентской линии и ее станционное состояние.

После нажатия клавиши <ESC> происходит переход к вводу новых критериев поиска данных, если оператор просматривает найденные данные, или завершение работы программы, если оператор находится в режиме ввода критериев поиска.

Помимо клавиши <ESC> оператор может использовать <F6> для сброса введенных данных и восстановление информации, присутствующей на момент начала ввода.

Отчеты, справки

Данный пункт меню позволяет формировать различные виды отчетов. Выбор вида отчета осуществляется в экранной форме:


Рис. 3.3.22


Оператор должен подвести курсор к нужной строке и нажать <RETURN> для выбора вида отчета.

Отчет о свободной номерной емкости

Просмотр свободной емкости по АТС станционного участка (РУЭС), на который настроен пароль оператора, осуществляется в форме (см. рис. 3.3.23.).


Рис. 3.3.23


Ввод реквизитов поиска:

  1. АТС

Вводится код АТС, для которой будет производится формирование отчета. Если оператор затрудняется в наборе кода АТС, то можно воспользоваться клавишей <F5>, по нажатию которой появляется подсказка о кодах АТС для ЛСЦ.

Код АТС не является обязательным параметром формирования отчета. Если в поле ввода оператор нажмет клавишу <RETURN>, то отчет о свободной номерной емкости будет формироваться по всем АТС, принадлежащим ЛСЦ.

После ввода кода АТС или нажатия <RETURN> на экране появляются найденные данные или выдается сообщение «Нет информации по заданному условию», отражающие результаты поиска для введенного кода АТС. Найденные данные выводятся по видам: НЦС; отдельные, спаренные (из них: полных комплектов и свободных плеч комплектов), таксофоны.

По клавише <ESC> происходит завершение работы программы и возврат в меню выбора вида отчета.

Отчет о задействованной емкости

Осуществляется просмотр задействованной емкости по АТС станционного участка (РУЭС), на который настроен пароль оператора (см. рис. 3.3.23.).

Ввод реквизитов поиска:

  1. АТС

Вводится код АТС, для которой будет производится формирование отчета. Если оператор затрудняется в наборе кода АТС, то можно воспользоваться клавишей <F5>, по нажатию которой появляется подсказка о кодах АТС для ЛСЦ.

Код АТС автоматически выберется из меню-подсказки и занесется в поле «АТС» на экранной форме.


Рис. 3.3.24


После ввода кода АТС или нажатия <RETURN> на экране появляются найденные данные, отражающие результаты поиска для введенного кода АТС.

По клавише <ESC> происходит завершение работы программы и возврат в меню выбора вида отчета, если оператор находился в режиме ввода кода АТС, или переход в поле ввода кода АТС, если оператор находился в режиме просмотра сведений о задействованной емкости АТС.

Получение справки по номеру телефона

Просмотр информации о характеристике абонентской линии и ее владельце.

Критерии для формирования справки по номеру телефона задаются в форме (см. рис. 3.3.25.).


Рис. 3.3.25


Ввод реквизитов поиска:

  1. номер абонентской линии

вводится номер абонентской линии, по которой необходимо получить справку;

  1. тип абонентской линии

вводится тип абонентской линии - код типа, наименование типа или пробел.

  1. Адрес

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

После ввода номера и типа абонентской линии или адреса на экране появляется форма, отражающая сведения о запрошенной абонентской линии (см. рис. 3.3.26.).


Рис. 3.3.26


В форме просмотра данных по абонентской линии оператор может воспользоваться клавишами:

<F8> для просмотра информации о плательщике. У абонента может быть несколько плательщиков, которые оплачивают разные услуги. Если плательщиков несколько, то на экране появляется список плательщиков (см. рис. 3.3.27).


Рис. 3.3.27

С помощью клавиш КУК можно выбрать конкретного плательщика. Если плательщик один, то сразу отображаются его реквизиты (см. рис. 3.3.28.).


Рис. 3.3.28


При просмотре реквизитов плательщика по клавише <F5> можно просмотреть все расчетные счета выбранного плательщика (см. рис. 3.3.29.).


Рис. 3.3.29


В списке указывается код и наименование банка, номер расчетного счета, признак выставления и направление счета.

<F9> для просмотра линейных данных (см. рис. 3.3.30.).

По клавише <ESC> происходит завершение работы программы, если оператор находился в режиме ввода номера абонентской линии, или переход в поле ввода номера абонентской линии, если оператор находился в режиме просмотра информации о характеристике абонентской линии и ее владельце.

Рис. 3.3.30


Заключение


В настоящее время вся структура информации предприятий связи представляет собой разрозненные информационные массивы, описывающие те или иные структуры данных. Дополнительно к этому, обработка информации на разных предприятиях велась (или предполагалось что будет вестись) независимо друг от друга, на разных программно-технических комплексах и с использованием различных операционных систем и языков программирования:

При этом, надо отметить, что при имеющихся отличиях в структуре, подавляющее большинство информационных массивов являются общими для всех систем. Кроме того, основная часть базы данных НСИ, используемая всеми системами, является по сути, копией одной и той же информации, ввод которой производится автономно в каждой из систем.

Поскольку с АРМ каждой из систем происходит ввод (корректировка) только той части НСИ, информация по которой появляется в соответствующей системе, а изменения, вносимые любой из систем, должны учитываться другими системами предлагается следующее решение данного вопроса:

  1. ЦВК всех систем соединены между собой каналами связи.
  2. Каждая система обрабатывает информацию согласно своей внутренней технологии, изменяя соответствующую информацию в базе данных НСИ (либо на своем ЦВК, либо на ЦВК другой системы).
  3. На каждом ЦВК устанавливается специальное прикладное программное обеспечение, являющееся надстройкой над прикладным ПО, осуществляющим основные функции соответствующей системы. Назначением специального ПО является:
  4. отслеживание всех изменений базы данных НСИ с АРМов данной системы;
  5. отслеживание всех изменений базы данных НСИ, которые произошли в других системах, и занесение этих изменений в собственную копию базы данных.
  6. В качестве «ведущей» системы предлагается выбрать систему АСТУП, поскольку именно в этой системе происходит появление принципиально новой информации о состоянии линейных сооружений связи и абонентов и ЦВК АСТУП функционирует практически круглые сутки.

Для реализации предложений необходимо решение следующих вопросов:

  1. Технические вопросы:
  2. Обеспечение быстрой, надежной и качественной коммутации между всеми системами.
  3. Разработка алгоритма взаимодействия систем на уровне прикладного ПО.
  4. Разработка специального прикладного обеспечения, реализующего принятый алгоритм.
  5. Возможная доработка прикладного ПО каждой из взаимодействующих систем.
  6. Настройка системного ПО.
  7. Организационные вопросы, связанные с разработкой описания организационной структуры взаимодействия работы всех систем.

Литература


  1. Техническое задание по созданию научно - технической продукции по теме «Разработка автоматизированной системы технического учета и паспортизации линейных сооружений Минской городской телефонной сети (АСТУП)».
  2. Дейт К. Введение в системы баз данных. - М.: Наука, 1980. - 458 с.
  3. Бойко В.В., Савинков В.М. Проектирование баз данных информа-ционных систем. - М.: Финансы и статистика, 1989. - 351 с.
  4. Наумова А.Н. Системы управления базами данных и знаний. - М.: Финансы и статистика, 1991. - 352 с.
  5. Расстановка сил на двухмиллиардном рынке СУБД. COMPUTERWEEK, №26, 1995, с. 1,21.
  6. Реляционные системы управления базами данных: введение. Открытые системы, Осень, 1993, с. 17-27.
  7. Побежимов С. Маркетинговая политика фирмы Informix. READ.ME, 3, 1994, c. 12-14.
  8. Б.В. Керниган, Р. Пайк «UNIX - универсальная среда программирования», Москва, «Финансы и статистика» 1992 г.
  9. Стэн Келли-Бутл «Введение в UNIX»

Приложение 1


Текст программы

«../abon/abongl.4gl»

define pats record like astup:ats.*,record like astup:ats.*,char(13), kod_rej smallint,_vidats, old_vid, old_vidats char(25), nam_op char(15),_koda_op integer

###########################################################stanats(kodats) # kodats - код АТС

# Ведение классификатора АТС

###########################################################msg char(80), kodats, old_kod integer,, i, sw smallint,_ats, c_ats_op char(6)

let msg= «Поле не заполнено или заполнено неправильно»

OPEN WINDOW wstanats AT 3,2 WITH FORM»../stan/form/fstanats»(border, form line 1, prompt line last,line last)accept key control-kstanats_init()pats.koda=kodatsint_flag=trueBY NAME pats.koda, pats.nam, nam_vidats, pats.koda_op,.remark, pats.emk,.tel_nabor, pats.tax_nabor,.check_num, pats.tax_num,.date_apus, pats.koda_ncs, pats.emk_ncsDEFAULTSfield kodasyshelp (» Помощь»,» Сброс», «», «», «»)window is wstanatsold_kod=pats.kodaby name pats.koda attribute (reverse)

field kodapats.koda is null or pats.koda<=0 thenmsgfield kodaifc_ats=pats.kodaby name pats.kodapats.koda<>old_kod or old_kod is null thenkod_rej=0status=0error continue* into pats1.*astup:atskoda=pats.kodaerror stopstatus=notfound thenpats1.koda=pats.kodastanats_init()pats.koda=pats1.kodafield namifstatus<>0 thensyserror («ATS», status, «ЧТЕНИЕ АТС»)stanats_init()field kodapats1.code_adm<>g_code_adm then

error «АТС», pats.koda,» не принадлежит ЛСЦ»

call stanats_init()field kodaifkod_rej=0 thenstanats_found()ifif

if

field namsyshelp («»,» Сброс», «», «», «»)window is wstanatsby name pats.nam attribute (reverse)field namsw=fgl_lastkey()sw=fgl_keyval («up») or sw=fgl_keyval («left») thenby name pats.namfield kodaifpats.nam is null or pats.nam=» " thenmsgfield namifpats.nam=sys_l_to_u (pats.nam, 0)int_flag=false thenmsgifby name pats.nam

field nam_vidatssyshelp_enter (1, «Список»)window is wstanatsold_vidats=nam_vidatsby name nam_vidats attribute (reverse)field nam_vidatssw=fgl_lastkey()sw=fgl_keyval («up») or sw=fgl_keyval («left») thenby name nam_vidatsfield namifnam_vidats=sys_l_to_u (nam_vidats, 0)int_flag=false thenmsgifold_vidats is null or old_vidats!=nam_vidatsnam_vidats is null or nam_vidats=» " thensysklas (0,0, «S27», nam_vidats, «»)pats.vidats, nam_vidatswindow is wstanatsaccept key control-kint_flag=false thennam_vidats=nullfield nam_vidatsififby name nam_vidats(pats.vidats)1nam_op= «Код опорной АТС»length (c_ats clipped)<3 then

error «Минимальный код АТС для выноса должен быть трехзначный»

next field kodaif2nam_op= «Код ком. узла»length (c_ats clipped)<3 then

error «Минимальный код АТС для выноса должен быть трехзначный»

next field kodaiflength (c_ats clipped)>3 then

error «Максимальный код основной АТС должен быть трехзначный»

next field kodaifnam_op=»»pats.koda_op=nullby name nam_op, pats.koda_opfield remarkcase

before field koda_opsyshelp_enter (0, «»)window is wstanatsold_koda_op=pats.koda_opby name nam_opby name pats.koda_op attribute (reverse)field koda_opsw=fgl_lastkey()sw=fgl_keyval («up») or sw=fgl_keyval («left») thenby name pats.koda_opfield nam_vidatsifold_koda_op is null or pats.koda_op is null or.koda_op <>old_koda_op thenkod_rej=0ifpats.koda_op is null or pats.koda_op<=0 or pats.koda_op>=pats.koda or.koda<pats.koda_op*10 thenpats.vidats=1 then«Неверен код опорной АТС»

else«Неверен код коммутаторного узла»

end iffield koda_opifc_ats_op=pats.koda_opplen=length (c_ats_op clipped)c_ats_op<>c_ats [1, plen] thenpats.vidats=1 then«Неверен код опорной АТС»

else«Неверен код коммутаторного узла»

end iffield koda_op

end if

# Проверим есть ли опорная

display by name pats.koda_opstatus=0error continuekoda into pats1.kodaastup:ats

# where koda=pats.koda_op and code_adm=g_code_adm and???koda=pats.koda_op and=0error stopstatus<>0 thenstatus=notfound then«Нет описания опорной АТС», pats.koda_opsyserror («ATS», status, «ЧТЕНИЕ ОПОРНОЙ АТС»)field koda_opififby name pats.koda_opfield remarksyshelp_enter (0, «»)window is wstanatsby name pats.remark attribute (reverse)field remarksw=fgl_lastkey()sw=fgl_keyval («up») or sw=fgl_keyval («left») thenby name pats.remarkpats.vidats!=0 thenfield koda_opfield nam_vidatsififby name pats.remark

field emkby name pats.emk attribute (reverse)field emksw=fgl_lastkey()sw=fgl_keyval («up») or sw=fgl_keyval («left») thenby name pats.emkfield remarkifpats.emk is null or pats.emk<=0 thenmsgfield emkifby name pats.emkkod_rej!=0 thenfield tel_naborif

before field tel_naborpats.tel_nabor is null thenpats.tel_nabor=7ifby name pats.tel_nabor attribute (reverse)field tel_naborsw=fgl_lastkey()sw=fgl_keyval («up») or sw=fgl_keyval («left») thenby name pats.tel_naborfield emkifpats.tel_nabor is null or.tel_nabor<6 or pats.tel_nabor>7 thenmsgfield tel_naborifby name pats.tel_naborfield tax_naborpats.tax_nabor is null thenpats.tax_nabor=6ifby name pats.tax_nabor attribute (reverse)field tax_naborsw=fgl_lastkey()sw=fgl_keyval («up») or sw=fgl_keyval («left») thenby name pats.tax_naborfield tel_naborifpats.tax_nabor is null or pats.tax_nabor=0 thenpats.tax_nabor=0pats.tax_num=0by name pats.tax_numpats.tax_nabor<4 or pats.tax_nabor>7 thenmsgfield tax_naborififby name pats.tax_nabor

field check_numby name pats.check_num attribute (reverse)field check_numpats.check_num is null thenpats.check_num=0ifsw=fgl_lastkey()sw=fgl_keyval («up») or sw=fgl_keyval («left») thenby name pats.check_numfield tax_naborif

{if pats.check_num=0 and pats.vidats=0 then

error «Количество проверочных телефонов не может быть равно 0»

next field check_numif}pats.check_num>=pats.emk then

error «Количество проверочных телефонов превышает емкость АТС»

next field check_numif

if pats.check_num<0 then«Количество проверочных телефонов меньше 0»

next field check_numif

by name pats.check_numpats.tax_nabor=0 thenfield date_apusiffield tax_numby name pats.tax_num attribute (reverse)field tax_numpats.tax_num is null thenpats.tax_num=0ifsw=fgl_lastkey()sw=fgl_keyval («up») or sw=fgl_keyval («left») thenby name pats.tax_numfield check_numif

pats.tax_num>=pats.emk then

error «Количество таксофонов превышает емкость АТС»

next field tax_numif

if pats.tax_num<0 then«Количество таксофонов меньше 0»

next field tax_numif

by name pats.tax_num

field date_apusby name pats.date_apus attribute (reverse)field date_apusby name pats.date_apussw=fgl_lastkey()sw=fgl_keyval («up») or sw=fgl_keyval («left») thenpats.tax_nabor=0 thenfield check_numfield tax_numififfield koda_ncsby name pats.koda_ncs attribute (reverse)field koda_ncssw=fgl_lastkey()sw=fgl_keyval («up») or sw=fgl_keyval («left») thenby name pats.koda_ncsfield date_apusifpats.koda_ncs<=0 thenmsgfield pats.koda_ncsifby name pats.koda_ncspats.koda_ncs is null thenpats.emk_ncs=nullby name pats.emk_ncsl_fixiffield emk_ncsby name pats.emk_ncs attribute (reverse)field emk_ncssw=fgl_lastkey()sw=fgl_keyval («up») or sw=fgl_keyval («left») thenby name pats.emk_ncsfield koda_ncsifpats.emk_ncs<=0 or pats.emk_ncs is null thenmsgfield emk_ncsifby name pats.emk_ncs

l_fix: call menu_fix() returning swaccept key control-kwindow is wstanatssw=1 theninputifint_flag=false thenfield namifstanats_mod() thenprej= «КОРРЕКТИРОВКА»kod_rej=1by name prej attribute (reverse)syshelp («»,» Сброс», «ДиапазНом», «», «»)window is wstanatsiffield kodakey(f6)infield(koda) thensysats_disp (g_code_adm) returning pats.koda, pats.namwindow is wstanatsaccept key control-kint_flag=false thenfield kodaifby name pats.kodastatus=0error continue* into pats1.*astup:atskoda=pats.kodaerror stopstatus<>0 thensyserror («ATS», status, «ЧТЕНИЕ АТС»)stanats_init()field kodastanats_found()c_ats = pats.kodafield namififkey(f7)stanats_init()old_kod=nullpats.koda=kodatsby name nam_vidatsfield kodakey(f8)kod_rej=1 thensw=nullstandiap (pats.koda)syshelp («»,» Сброс», «ДиапазНом», «», «»)window is wstanatsaccept key control-kif

key (escape, interrupt)menu_exit()accept key control-kint_flag=false theninputifinputwindow wstanatsfunction

###############################################################stanats_init()

###############################################################syshelp («»,» Сброс», «», «», «»)syshelp_enter (0, «»)window is wstanatspats.* to nullkod_rej=0

let prej= «В В О Д»

let nam_vidats=»»nam_op=»»pats.vidsp=0by name prej attribute (reverse)by name pats.nam, nam_vidats, pats.emk, pats.remark,.tax_num, pats.check_num,_op, pats.koda_op, pats.tel_nabor,.tax_nabor, pats.date_apus, pats.emk_ncs, pats.koda_ncsfunction

###############################################################stanats_found()

###############################################################pats.*=pats1.*kod_rej=1prej= «КОРРЕКТИРОВКА»syshelp («»,» Сброс», «ДиапазНом», «», «»)window is wstanatsby name prej attribute (reverse)nam_vidats=sysklas_read («S27», pats.vidats)(pats.vidats)1nam_op= «Код опорной АТС»2nam_op= «Код ком. узла»nam_op=»»pats.koda_op=nullcase

by name pats.nam, nam_vidats, pats.emk, pats.remark,.tax_num, pats.check_num,_op, pats.koda_op,.tel_nabor, pats.tax_nabor,.date_apus, pats.koda_ncs, pats.emk_ncsfunction

###############################################################stanats_mod()

###############################################################pats.code_adm=g_code_admpats.vidats=0 thenpats.koda_op=pats.kodaifWORKerror continuestatus=0code_adm into pats1.code_adm from astup:atskoda=pats.kodastatus=0 thenpats1.code_adm<>g_code_adm then

error «АТС не принадлежит», g_adm

ROLLBACK WORKerror stopfalseifastup:ats set:ats.*=pats.*koda=pats.kodastatus<>notfound thensyserror («ATS», status, «ЧТЕНИЕ АТС»)WORKerror stopfalseifinto astup:ats(pats.*)iferror stopstatus<>0 thensyserror («ATS», status, «ОБНОВЛЕНИЕ АТС»)WORKfalseifWORKtruefunction


Приложение 2


Функциональные модули, используемые программой

#################################################################

# syshelp # Подсказка по функциональным клавишам

#################################################################syshelp_open() # Открытие окна функциональных клавиш

#################################################################window win_help at 23,1 with 2 rows, 79 columns«ESC» AT 1,1«F5» AT 1,15«F6» AT 1,28«F7» AT 1,41«F8» AT 1,54«F9» AT 1,66«Выход» AT 1,4 ATTRIBUTE (REVERSE)syshelp(«», «», «», «», «»)function


#################################################################syshelp (kl6, kl7, kl8, kl9, kl10) # Инициализация клавиш

#################################################################kl6, kl7, kl8, kl9 char(10), kl10 char(10)

current window is win_help«» AT 2,1kl6 AT 1,17 ATTRIBUTE (REVERSE)kl7 AT 1,30 ATTRIBUTE (REVERSE)kl8 AT 1,43 ATTRIBUTE (REVERSE)kl9 AT 1,56 ATTRIBUTE (REVERSE)kl10 AT 1,69 ATTRIBUTE (REVERSE)FUNCTION


#################################################################syshelp_close() # Закрытие окна функциональных клавиш

#################################################################window win_helpfunction



#######################################################################syserror_msg (pnam_table, pstatus, pmessage)

# Формирование системных сообщений

# Вход: имя таблицы,

# статус (код ошибки)

# сообщение или краткое описание действий над таблицей,

# доступное для рядового пользователя

#######################################################################

define pnam_table char(12),

pstatus integer,char(50),char(80)pmsg=»»(pstatus)0100pmsg=pnam_table clipped,

«.Не найдена информация при:», pmessage

when -258

let pmsg=pnam_table clipped,

«.Блокирование информации при:», pmessage

when -284

let pmsg=pnam_table clipped,

«.Дублирование информации при:», otherwisepmessage<>» " then pmessage

pmsg=pnam_table clipped,

«.Ошибка», pstatus,» при:», pmessagepnam_table clipped,

«.Системная ошибка», pstatus,».Обратитесь к администратору БД»

end ifcasepmsgfunction


#######################################################################syserror (pnam_table, pstatus, pmessage)

# Выдача системных сообщений в строке ERROR LINE

# Вход: имя таблицы,

# статус (код ошибки)

# сообщение или краткое описание действий над таблицей,

# доступное для рядового пользователя

# НАПРИМЕР:

# call syserror («UDK», status, «ПОИСК ОЧЕРЕДНИКА рег.номер 999999

# call syserror («LIST_ABON», status, «ДОБАВЛЕНИЕ В СПИСОК НА УСТА

# call syserror («A2», status, «ПОИСК АБОНЕНТА ПО…»

# call syserror («CONNECT», status, «ДОБАВЛЕНИЕ УСТР-ВА»

#######################################################################pnam_table char(12),integer,char(50),char(80)pmsg=syserror_msg (pnam_table, pstatus, pmessage) pmsg

end function

////////////////////////////////////////////////////////////////////////

проверка на циферность

строка не должна содержать серединных пробелов и никаких символов кроме цифр

-syschdgt (cP_str)_str CHAR(10),, end_i,_was_symbol_flag SMALLINT

int_flag=TRUEiV_was_symbol_flag=FALSE

- удаляю начальные пробелы

LET i=1

WHILE (cP_str [i, i]=»») AND (length (cP_str)>1)end_i=length (cP_str)cP_str=cP_str [i+1, end_i]WHILEcP_str=» " THENint_flag=FALSE«»IF(length (cP_str)=1) AND cP_str [1,1] NOT MATCHES «[0123456789]» THENint_flag=FALSEint_flag=FALSEcP_strIF

i=1 TO length (cP_str) cP_str[i] =» " THEN - встретилась не цифра

LET iV_was_symbol_flag=TRUEIF(cP_str[i] MATCHES «[0123456789]») AND

(iV_was_symbol_flag=TRUE) THENint_flag=FALSEFORIF(cP_str[i] NOT MATCHES «[0123456789]») THENint_flag=FALSEFORIF

FOR

cP_strFUNCTION


1. Постановка задачи .1 Функции АРМа инженера АТС Одной из задач, решаемых в проекте АСТУП является задача автоматизации работы персонала, отвечаю

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ