Автоматизация управления ресурсами на предприятии ПУ "СургутАСУнефть" ОАО "Сургутнефтегаз"

Тип работы:
Отчет
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

ГБОУ ВПО

«СУРГУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Ханты-Мансийского автономного округа — Югры"

Кафедра автоматизированных систем обработки информации и управления

ОТЧЕТ

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

На ПУ «СургутАСУнефть», отдел РСПОС SAP

Руководитель практики от предприятия:

инженер-программист III категории

Васильчук Алексей Николаевич

Руководитель практики от университета:

преподаватель

Егоров Александр Алексеевич

Сургут, 2011.

Содержание

  • Введение
  • 1. Структура предприятия
  • 1.1 Направление системно-технического обеспечения вычислительных работ
  • 1.2 Направление автоматизированных систем управления технологическими процессами (АСУ ТП)
  • 1.3 Направление автоматизированных систем управления производственными процессами АСУ ПП
  • 1.4 Направление автоматизированных систем управления ресурсами предприятия АСУ РП
  • 2. Обзор системы SAP R/3
  • 2.1 Архитектура системы SAP R/3
  • 2.2 Навигация в системе SAP R/3
  • 2.3 Системный ландшафт, обзор ABAP инструментальных средств
  • 3. Обзор языка ABAP/4 системы SAP R/3
  • 3.1 Основные возможности языка ABAP/4
  • 3.2 Структура и виды программ, среда разработки
  • 4. Разработка программы формирования отчета
  • 4.1 Создание программы в системе SAP R/3 Dev
  • 4.2 Создание и редактирование кода программы в ABAP-редакторе
  • 4.3 Информационное обеспечение программы Z_UNR
  • 4.4 Запуск и выполнение программы Z_UNR
  • 4.5 Выгрузка отчетов в MS Office Excel
  • Заключение
  • Список использованных источников
  • Приложения

Введение

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

Производственная практика проходила с 27 июня по 17 июля 2011 года на предприятии ПУ «СургутАСУнефть» ОАО «Сургутнефтегаз» в отделе разработки и сопровождения программного обеспечения системы SAP (ОРСПОС SAP) комплекса обеспечения автоматизации вычислительных работ (КОАВР).

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

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

В начале практики был проведен вводный инструктаж по технике безопасности и охране труда на рабочем месте, по окончании которого была проведена проверка знаний по ОТиТБ. Так же были изучены должностные инструкции и приказы по ПУ «СургутАСУнефть».

Для выполнения индивидуального задания требовалось ознакомиться с системой SAP, играющей основополагающую роль на производстве, а также изучить язык программирования ABAP/4. В качестве задания руководителем практики от предприятия была предложена разработка программы формирования отчета «Отчет о клиентах авиакомпании BC_Travel» в системе SAP R/3 Dev.

автоматизация управление ресурс программный

1. Структура предприятия

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

«СургутАСУнефть» играет ведущую роль в осуществлении планов руководства Общества по компьютеризации всех сторон своей деятельности — от установки и наладки кустовых терминалов систем телемеханики до разработки и внедрения систем управления предприятием.

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

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

В общем объеме многочисленных функций ПУ «СургутАСУнефть» выделяются четыре основных направления.

1.1 Направление системно-технического обеспечения вычислительных работ

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

Создана высоконадежная и высокопроизводительная система централизованной обработки и хранения информации на основе технологии географически распределенного Parallel Sysplex GDPS (Geographically Dispersed Parallel Sysplex). В системе используется динамическое перераспределение вычислительных ресурсов, современные механизмы защиты информации.

Комплекс ТОСТО состоит из следующих подразделений:

· отдел системно-технического обслуживания;

· отдел системных и сетевых технологий;

· отдел по ремонту средств вычислительной техники;

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

· диспетчерское бюро.

Основными задачами комплекса ТОСТО являются:

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

· планирование своей деятельности, руководствуясь контрольными цифрами, заказами, нормативами, установленными Управлением и заключенными соглашениями;

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

1.2 Направление автоматизированных систем управления технологическими процессами (АСУ ТП)

Телеметрический комплекс «ОКО» охватывает нефтепромысловые и производственные объекты нефтегазодобывающих управлений, УБР, УПРР, УВСИНГ и УПГ, обеспечивая непрерывный контроль за ходом технологических и производственных процессов добычи нефти, сбора и утилизации попутного нефтяного газа, бурения скважин и энергоснабжения.

Комплекс систем «Око» состоит из трех основных уровней:

· Уровень технологических контроллеров. Обеспечивает непосредственное взаимодействие с объектами.

· Уровень локальных систем АСУ ТП (системы сбора, обработки и управления). Обеспечивает сбор, управление, хранение и передачу оперативной информации о функционировании объекта на уровень оперативно-диспетчерских служб посредством корпоративной системы передачи данных.

· Системы верхнего уровня «ОКО ЦИТС». Система «ОКО ЦИТС» является ключевым элементом телеметрического комплекса «ОКО» и выполняет в нем интегрирующую роль. Высокая эксплуатационная готовность НТК «ОКО ЦИТС» обеспечивается применением отказоустойчивой вычислительной системы «Sun Fire V 880/890».

Система АСУ ТП ЦДНГ «ОКО нефтепромысла» предназначена для сбора, обработки, визуализации, хранения, передачи технологической информации по нефтепромысловому оборудованию, а также для ведения оперативной отчетности по замерам технологических параметров и состоянию механизированного фонда.

Система АСУ ТП «ОКО АЗС» предназначена для обеспечения заданного режима работы технологического оборудования АЗС, управления технологическими процессами приемки, выдачи, учета нефтепродуктов корпоративного автотранспорта, сбора оперативной информации, ведения отчетности по событиям.

Система АСУ ТП «ОКО ДНС» предназначена для сбора, обработки, визуализации, хранения, передачи технологической информации по оборудованию ДНС, ведения оперативной отчетности.

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

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

Информационная система «Око ЦИТС бурение» предназначена для сбора, накопления, обработки, визуализации и хранения оперативной информации о бурении скважин.

1.3 Направление автоматизированных систем управления производственными процессами АСУ ПП

В направлении АСУ ПП создано единое информационное пространство производственных процессов, основанное на базах данных НПК «Альфа», «Учет и анализ РНМ», Finder, БДКД, ИС «Автотранспорт» и других информационных системах основного и вспомогательного производства. Ядром пространства является центральный вычислительный комплекс, информационное наполнение осуществляется АСУ производственными процессами.

Архитектура НПК «Альфа» построена по идеологии «клиент-сервер». На рабочих местах установлены клиентские приложения, обеспечивающие ввод, предварительную обработку и предоставление данных пользователям. Основная процедурная обработка информации производится сервером подразделения. Системная платформа НПК «Альфа» — СУБД Огас1е, Windows 98/NT/2000/ХР.

1.4 Направление автоматизированных систем управления ресурсами предприятия АСУ РП

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

Учет основных средств и имущества. В настоящее время технология учета основных средств в системе R/3 — это не только ведение данных по основным средствам, нематериальным активам, объектам незавершенного капитального строительства, малоценным и быстроизнашивающимся предметам, ведение операций с ними, но и высокоаналитическая отчетность на основе хранимой информации для различных служб ОАО «Сургутнефтегаз» как по основным средствам, так и по составу имущественно-технологических комплексов. Собранные данные используются для расчета налога на имущество.

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

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

Учет товарно-материальных ценностей. Технология позволяет получать информацию по количественному, качественному состоянию и местонахождению запасов товарно-материальных ценностей структурных подразделений Общества. Внедренная технология избавляет от необходимости дублированного ввода информации в производственном и бухгалтерском учетах. В рамках единой системы SАР R/3 реализованы сквозные бизнес-процессы по учету ТМЦ — от сбора заявок на покупку до реализации и списания в производство.

Учет персонала. Технологии «Учет кадров», «Учет и регистрация рабочего времени», «Учет труда и заработной платы» тесно взаимосвязаны между собой. Ведение табеля, основных данных по персоналу, отражение в системе R/3 приема на работу, перемещения, увольнения сотрудников и внесение данных по оплачиваемому времени отдыха, ведение тарифной структуры и организационной структуры предприятия — наличие этих задач позволяет вовремя расчитать заработную плату, сформировать необходимую отчетность для предоставления в государственные органы.

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

Учет ПРС и глушения. Технология автоматизирует ремонты скважин цехами ПРС, позволяет формировать различные отчетные и аналитические документы.

Учет изготовления продукции. Данная технология автоматизирует сферу производства продукции: от сбора заявок, до помещения готовой продукции на склад.

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

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

2. Обзор системы SAP R/3

2.1 Архитектура системы SAP R/3

Система R/3 представляет собой набор приложений, написанных исключительно на языке ABAP/4 и поэтому не зависящих от конкретной платформы. Язык ABAP/4 занимает центральное место в программном обеспечении связного уровня, что позволяет сделать программу независимой от аппаратуры, операционной системы и СУБД.

Рис. 1. Стартовое окно SAP R/3

Система R/3, разработанная на базе трехуровневой архитектуры, предназначена для реализации распределенных вычислений в среде клиент/сервер. R/3 содержит 3 логических уровня:

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

· уровень приложения, на котором реализована логика исполнения;

· уровень представления информации с использованием GUI.

Каждая из этих служб может быть распределена и исполняться на различных аппаратных устройствах.

Интерфейс презентации SAPGUI (GUI — графический интерфейс пользователя) осуществляет выполнение специфичных для платформы функций ввода и вывода в системе R/3. SAPGUI главным образом ориентирован на Windows Style Guide и доступен для нескольких платформ с предоставлением аналогичных функций для них.

В настоящее время администрирование больших объемов данных обычно осуществляется посредством систем управления реляционными базами данных (СУРБД). Эти системы сохраняют данные и связь между ними в двумерных таблицах, которые известны своей логической простотой. Определения данных, таблиц и отношений между таблицами хранятся в словаре данных реляционной СУРБД.

Сервер приложений обеспечивает поддержку следующих типов рабочих процессов:

· диалоговая обработка (D);

· обновление (V: от немецкого «Verbuchung»);

· управление блокировками (E);

· фоновая обработка (B);

· спул (S).

Исполняющаяся система R/3 предоставляет два дополнительных сервиса для внутренней и внешней связи (ниже приведены ограничения по количеству рабочих процессов).

Система обеспечивает разные варианты масштабирования R/3 — от самых малых систем (одноуровневой для небольшого числа пользователей) до крупномасштабных вычислительных сред (трехуровневых систем для многих тысяч пользователей).

Инстанция — это административная единица, объединяющая компоненты системы Базис R/3 и предоставляющая один или несколько сервисов. Сервисы, предоставляемые инстанцией, запускаются и останавливаются одновременно. Для установки параметров всех компонентов инстанции необходимо использовать общий профиль инстанции.

Существует 3 вида конфигурации базисной системы R/3:

· одноуровневая;

· двухуровневая;

· трехуровневая.

Базисная система (R/3 Basis) состоит из следующих компонентов:

· GUI (графический интерфейс пользователя);

· исполнительная система ABAP/4;

· интерфейс базы данных;

· средства поддержки многопользовательского режима;

· средства разработки ABAP/4 Development Workbench;

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

· система электронной почты;

· средства интеграции персональных компьютеров с программным обеспечением;

· средства фоновой обработки заданий;

· система спулинга;

· средства администрирования системы;

· интерфейсы связи с внешними системами;

Функции базисной системы SAP R/3:

· предоставляет среду выполнения для SAP-приложений;

· наиболее оптимально размещает приложение в системной среде;

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

· содержит инструменты для администрирования всей системы;

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

· предоставляет интерфейсы для децентрализованных частей системы и внешних продуктов.

Архитектура базисной SAP-системы наилучшим образом подходит для конфигурации по принципу клиент-сервер.

2.2 Навигация в системе SAP R/3

Система R/3 является системой, поддерживающей концепцию мандантов. Концепция мандантов позволяет нескольким разным, не зависящим друг от друга предприятиям выполнять совместные операции в одной системе. При каждом пользовательском сеансе возможен доступ только к данным манданта, выбранного при регистрации в системе.

Мандант — это организационно независимая часть в системе R/3. Каждый мандант имеет собственную среду данных, т. е. собственные основные и переменные данные, присвоенные основные записи пользователей, планы счетов и специфические параметры настройки.

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

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

SAP Easy Access — это стандартный первый экран, появляющийся после выполнения регистрации в системе.

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

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

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

Для получения справки по полям, меню, функциям и сообщениям используется F1.

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

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

2.3 Системный ландшафт, обзор ABAP инструментальных средств

Данные в системе R/3 подразделяются на:

· прикладные данные;

· пользовательские данные;

· настройка зависящая от манданта;

· настройка не зависящая от манданта;

· данные репозитария.

В дополнение к различным типам данных в системе R/3 существуют также разные виды изменений и адаптаций.

Так как система R/3 представляет собой стандартное программное обеспечение, ее необходимо адаптировать к индивидуальным требованиям каждой компании, в которой используется эта система. Такая процедура адаптации называется пользовательской настройкой, которая включает в себя как зависимые, так и независимые от манданта данные, представленные на слайде. После смены версии может также понадобиться выполнить небольшой объем работ, связанный с пользовательской настройкой.

Разработка и тестирование данных пользовательской настройки осуществляется в манданте, отличном от того, который будет использован в продуктивной эксплуатации. Это означает, что при внедрении R/3 потребуется использовать несколько мандантов. Данные пользовательской настройки обрабатываются и тестируются в одном манданте. При больших инсталляциях может оказаться целесообразным объединение и тестирование подпроектов настройки в дополнительном манданте. Продуктивная эксплуатация осуществляется с использованием своего собственного манданта.

В отличие от пользовательской настройки репозитарий не нуждается в каких-либо изменениях или расширениях при внедрении системы R/3.

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

Модификации клиента или расширения (объекты клиента, включенные в стандартную поставку SAP-системы) вносят изменения в репозитарий. В стандартной поставке системы SAP предоставляет интерфейсы для этих расширений.

Модификации изменяют такие объекты SAP, как отчеты и определители таблиц. Репозитарий поставляемый SAP не только расширен, но и изменен. Именно поэтому модификации должны быть откорректированы в соответствии с новым репозитарием, инсталлированным в ходе последней смены версии R/3. Процедура корректировки может занять некоторое время.

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

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

Объекты репозитария создаются и редактируются посредством ABAP-инструментальных средств.

При редактировании объектов репозитария можно непосредственно вызвать ABAP-инструментальные средства, а затем выбрать соответствующий объект репозитария, либо при просмотре объектов репозитария напрямую перейти к инструментальным средствам.

Браузер репозитария предоставляет доступ к объектам репозитария.

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

С помощью ABAP-инструментальных средств разработчики могут без каких-либо проблем создавать приложения клиент/сервер при этом нет необходимости рассматривать вопросы связи и дистрибуции.

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

Наиболее важными инструментами разработок являются:

· навигатор по объектам (транзакция SE80);

· ABAP-редактор (SE38) для написания программ;

· редактор экранов и редактор меню для создания графических интерфейсов пользователя;

· построитель функций (SE37) для разработки функциональных модулей;

· построитель классов для объектно-ориентированного программирования;

· инструменты тестирования и оптимизации:

· отладчик;

· динамический анализ;

· SQL-трассировка;

· Computer Aided Test Tool (CATT) — инструментальные средства тестирования.

3. Обзор языка ABAP/4 системы SAP R/3

3.1 Основные возможности языка ABAP/4

Язык ABAP/4 возник на основе языка макро-ассемблера для создания отчетов в 70х годах. В середине 80-х вошел в состав интерпретатора для создания отчетов и диалогового программирования в системе SAP R/2. Компилятор языка и виртуальная машина были реализованы на языке ассемблера для мэйнфреймов. Известный как язык Advanced Business Application Programming (ABAP) стал языком программирования для системы R/3 в середине 90-х годов. Компилятор и виртуальная машина реализованы на языке C, в качестве ядра системы SAP R/3. В конце 90-х годов был расширен реализацией объектно-ориентированного программирования известного как ABAP Objects. В настоящее время написано уже более 100 миллионов продуктивных строк кода на языке ABAP/4.

ABAP/4 — развитый язык программирования коммерческих приложений 4 — го поколения. Он является основой системы R/3. Все приложения R/3 и даже части базовой системы были разработаны на ABAP/4. ABAP/4 относится к разряду языков, в которых реализуется управление событиями. Важной особенностью языка является концепция применения внутренних таблиц, суть которой в отображении постоянных таблиц базы данных на объекты, существующие во время выполнения программы и наоборот. Приложения, написанные на АВАP/4, поддерживают различные СУБД и ОС.

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

Текст программы строится из операторов, заканчивающихся обычной точкой. Оператор начинается с зарезервированного ключевого слова, за которым следуют дополнительные параметры и объекты данных. Можно объединять последовательность операторов, имеющих одинаковые начальные части в один оператор, используя символы ': ' и `,` и располагая идентичную часть оператора перед символом `: `.

Основными возможностями языка ABAP/4 являются:

1. Разновидность самодокументирующегося синтаксиса.

2. Наличие встроенных типов данных.

3. Наличие встроенных интерфейсов взаимодействия с базой данных и удаленного доступа.

4. Встроенная поддержка отчетов, средств создания интерфейсов пользователя и OLTP программирования.

5. Система событий для написания отчетов и выборки данных.

6. Наличие удобный, адаптированных к БД структур данных с заложенными алгоритмами оптимизации доступа (внутренние таблицы).

7. Средства обработки больших объемов данных.

8. Встроенная поддержка динамического программирования.

9. Поддержка как устаревших операторов, так и современного процедурно-ориентированного и объектно-ориентированного стиля программирования.

10. Функции объектно-ориентированного программирования включают в себя поддержку: инкапсуляции (классы и интерфейсы); разделения областей видимости компонентов классов; наследования и вложенных интерфейсов; полиморфизма и позднего связывания; обработки событий на основе «publish-subscribe» модели.

Язык ABAP/4 является разновидностью интерпретатора. Компилятор ABAP/4 генерирует промежуточный код (byte-код), который потом выполняется системой. Язык ABAP/4 является платформенно-независимым, и может использоваться с различными комбинациями БД, и ОС.

3.2 Структура и виды программ, среда разработки

Индивидуальные компоненты прикладных программ хранятся в специальной секции базы данных названной R/3 Репозитарием. R/3 Репозитарий служит центральным хранилищем для всех объектов разработки в системе R/3.

Внутри системы R/3 ABAP/4 имеет собственную среду разработки. Среда разработки ABAP/4 состоит из следующих основных компонентов и прикладных приложений в системе R/3:

· редактор ABAP/4 (se38);

· отладчик (se38);

· словарь данных (se11);

· построитель функций (se37);

· построитель классов (se24);

· средства контроля времени выполнения и производительности (se38);

· расширенная синтаксическая проверка программ (se38);

· редактор экранов (se51);

· редактор меню (se41);

· навигатор по объектам (se80);

· информационная система репозитария объектов;

· организатор переносов (se09);

В среде разработки ABAP/4 также поддерживаются следующие механизмы:

· интерфейс Open SQL;

· интерфейс работы с файлами;

· OLTP программирование (распределенные буферы, распределенная обработка блокировок, сложные объекты блокирования, распределение ресурсов рабочих процессов, асинхронная обработка обновлений);

· система авторизации и доступа к объектам;

· интерфейсы взаимодействия с внешними системами (DCOM/CORBA, RFC, OLE, CPI/C);

· пакетный ввод данных;

· поддержка различных кодировок и форматов номеров;

· локализация (привязка программно-аппаратных средств к условиям и стандартам страны пользователя).

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

Прикладная программа в системе R/3 состоит из двух компонентов, каждый из которых имеет различную задачу:

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

2. Логика обработки данных. Компоненты прикладных программ, которые являются ответственными за обработку данных в системе R/3 — ABAP программы. ABAP программы, выполняются ABAP процессором в контексте рабочего процесса. Они получают данные экрана от процессора экрана перед обработкой и посылают их процессору экрана после обработки. Доступ к базе данных осуществляется, используя интерфейс базы данных. ABAP содержит специальный набор команд по имени Open SQL. Данный набор позволяет считывать и записывать данные в базу данных независимо от типа используемой базы данных. Интерфейс базы данных преобразовывает команды Open SQL в команды используемой базы данных. Вы можете также использовать команды Native SQL, которые передаются базе данных без преобразований. При работе с экранами, ABAP программы играют более пассивную роль, действуя как контейнер для набора модулей, которые можно вызвать из логики ДинПро (рис. 2).

ABAP/4 был разработан специально для разработки диалоговых программ взаимодействующих с БД. ABAP программы ответственны за обработку данных в пределах индивидуальных шагов диалога прикладной программы. Это означает, что программа не может быть построена как отдельная последовательная единица, а должна быть разделена на секции, которые могут быть назначены для обработки индивидуальных шагов диалога. ABAP программы имеют модульную структуру. Каждый модуль называют блоком обработки. Блок обработки состоит из набора строк ABAP кода. Блоки обработки не могут быть вложены.

К блокам обработки относятся:

1) Диалоговые модули (не могут иметь локальных данных).

2) Модули обработки событий.

3) Подпрограммы (методы классов, формы, и функциональные модули).

/

Рис. 2. Взаимодействие компонентов SAP R/3

Каждая ABAP программа состоит из следующих двух частей:

1) Объявления глобальных данных, классов и экранов выбора. Глобальные данные видимы во всех внутренних блоках обработки, как и определения параметров экранов выбора. Объявления внутри диалоговых модулей являются глобальными. Объявления внутри подпрограмм, функциональных модулей и методов являются локальными.

2) Реализация блоков обработки. Принимая во внимание то, что тело модуля диалога или подпрограммы заключены между ключевыми словами ABAP, которые их определяют, блоки обработки событий начинаются ключевыми словами событий и заканчиваются неявно в месте начала следующего блока обработки.

Все операторы языка ABAP (кроме декларативных) являются частью блоков обработки. Операторы, не заключенные в блоки обработки по умолчанию принадлежат к блоку обработки события START-OF-SELECTION.

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

/

Рис. 3. Схема выполнения блоков обработки

В системе R/3 есть различные типы программы ABAP. Тип программы определяет основные технические атрибуты программы. Тип программы устанавливается при создании. Основное различие между различными типами программы — способ вызова блоков обработки.

Существуют следующие типы ABAP программ:

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

2) Тип М. Наиболее важный технический атрибут программ типа М это то, что они могут управляться только с помощью логики ДинПро. Они могут запускаться на выполнения только с использованием кода транзакции, который привязан к программе и одному из её экранов. Ещё одна особенность программ типа М в том, что для неё необходимо создавать собственные экраны диалога с пользователем (с использованием Редактора Экранов). Программа типа М может также иметь начальный экран выбора. Программы типа М называются пулами модулей и предназначены для разработки диалоговых программ с большим набором экранов и насыщенной логикой ДинПро.

3) Тип F. Программы типа F являются контейнерами для функциональных модулей и не могут быть запущены с использованием кода транзакции или ввода имени напрямую. Функциональные модули — это специальные подпрограммы, которые можно вызывать из других ABAP программ. Программы типа F называются группами функций. Группы функций и функциональные модули создаются с использованием редактора функций.

4) Тип K. Программы типа К не могут быть запущены с использованием кода транзакции или имени программы. Они являются контейнерами для глобальных классов. Они так же известны под названием определений классов. Программы типа K создаются с использованием построителя классов.

5) Тип J. Программы типа J не могут быть запущены с использованием кода транзакции или имени программы. Они являются контейнерами для глобальных интерфейсов. Они так же известны под названием определений интерфейсов. Программы типа J создаются с использованием построителя классов.

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

7) Тип I. Программы типа I называются includes. Они позволяют разбивать программу на более мелкие модули. Программу типа I можно вставить в любом месте любой программы с использованием оператора INCLUDE < Имя программы типа I>. Среда разработки ABAP/4 имеет механизм для автоматического разбиения пулов модулей и функциональных групп на несколько программ типа I.

4. Разработка программы формирования отчета

4.1 Создание программы в системе SAP R/3 Dev

В автоматизированной системе управления ресурсами предприятия SAP R/3 есть возможность выбора системы разработки. Для каждой системы администратором сети создаётся отдельная учетная запись, и предоставляется доступ для каждого пользователя. Большая часть программного обеспечения написана в системе R/3 DEV.

Рис. 4. Стартовое окно SAP Logon 710

При входе в систему R3D (R/3 Dev v.4. 7) пользователю необходимо авторизироваться — ввести имя пользователя и пароль (рис. 5).

Рис. 5. Экран авторизации пользователя

С помощью появившегося рабочего окна системы SAP R/3 Dev можно получить доступ к различным транзакциям. Например, ABAP-редактор (SE38), ABAP-функциональные модули (SE37) и т. д. (рис. 6).

Рис. 6. Рабочее окно системы SAP R/3 Dev

Запуск ABAP-редактора осуществляется путем выполнения транзакции SE38.

Рис. 7. ABAP-редактор: первый экран

Для создания новой программы необходимо ввести ее имя, например Z_UNR, и нажать кнопку «Создать» (рис. 7). Затем в появившемся диалоговом окне заполнить поле «Заголовок» и задать требуемые атрибуты (Тип, Статус и т. д.). Поля «Создано» и «Последнее изменение» будут заполнены автоматически. Сохранение установленных свойств в созданной программе осуществляется путем нажатия на кнопку «Сохранить» (рис. 8).

Рис. 8. Окно ABAP-свойства программы Z_UNR

4.2 Создание и редактирование кода программы в ABAP-редакторе

Программа Z_UNR формирования отчета «Отчет о клиентах авиакомпании BC_Travel» была создана и редактировалась в ABAP-редакторе на языке программирования ABAP/4.

На рисунке 9 представлено окно ABAP-редактора в системе R/3 Dev.

Рис. 9. Окно ABAP-редактора

Панель инструментов и строка меню ABAP-редактора представлены на рис. 10.

Рис. 10. Панель инструментов и строка меню ABAP-редактора

После внесения необходимых изменений в код программы перед запуском необходимо сохранить внесённые в код программы изменения с помощью кнопки «Сохранить» (Ctrl + S). После сохранения в строке состояния появится сообщение:

.

Далее необходимо активировать программу, т. е. принять сохранённые изменения, с помощью нажатия на кнопку «Активировать» (Ctrl + F3). Сообщение в строке состояния будет иметь вид:

.

4.3 Информационное обеспечение программы Z_UNR

Для использования баз данных системы SAP R/3 необходимо запустить ABAP — словарь (транзакция SE11) (рис. 11).

Рис. 11. ABAP-словарь: первый экран

Затем выбрать пункт «Таблица БД» и в раскрывающемся списке рядом найти имя рекомендуемой для работы таблицы.

Просмотр имени, краткого названия и описания метаданных таблицы осуществляется при нажатии кнопки «Просмотр» (рис. 12).

Рис. 12. Словарь: просмотр таблицы SCUSTOM

В программе формирования отчета «Отчет о клиентах авиакомпании BC_Travel» используются следующие таблицы: SCUSTOM — «Клиенты авиакомпании», SBOOK — «Бронирование рейсов», SPFLI — «Расписание рейсов», SFLIGHT — «Рейс», SCARR — «Авиакомпания».

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

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

· расписание каждого рейса содержит только одну авиалинию, один аэропорт отправления и один аэропорт прибытия;

· каждый забронированный рейс соответствует единственному рейсу в расписании;

· соответствие может быть установлено между городами и близлежащими аэропортами.

Рис. 13. Реляционная модель данных полетов

Для перехода на экран выбора данных таблицы необходимо нажать на кнопку «Содержимое» (Ctrl + Shift + F10).

На рисунке 14 представлен экран выбора данных таблицы SCUSTOM.

Рис. 14. Экран выбора данных таблицы SCUSTOM

Для получения нужной выборки из таблицы SCUSTOM необходимо заполнить поля выбора данными и нажать клавишу F8. На экране появится таблица, заполненная выбранными данными (рис. 15).

Рис. 15. Браузер данных: таблица SCUSTOM

4.4 Запуск и выполнение программы Z_UNR

Запуск программы осуществляется при нажатии на кнопку «Выполнить» (F8).

После запуска появляется селекционный экран (СЭ), на котором отображаются созданные в программе Z_UNR поля для ввода данных (рис. 16).

Рис. 16. Селекционный экран программы Z_UNR

Выполнение программы после ввода необходимых данных, по которым будет произведена выборка, осуществляется нажатием на кнопку «Выполнить» (F8). После чего будет сформирован и отображён отчёт.

В отчете о клиентах авиакомпании BC_Travel на экран выводится следующая информация о клиенте: идентификатор, имя клиента, город и тип клиента (рис. 17).

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

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

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

Рис. 17. Отчет с информацией о клиентах авиакомпании BC_Travel

Рис. 18. Отчет с информацией о бронировании рейсов авиакомпании BC_Travel

Рис. 19. Отчет с информацией о расписании рейсов авиакомпании BC_Travel

Рис. 20. Сводный отчет о клиентах авиакомпании BC_Travel

4.5 Выгрузка отчетов в MS Office Excel

На рисунках 17, 18, 19,20 в левом верхнем углу экрана присутствует кнопка «Выгрузка в Excel». При нажатии на эту кнопку пользователь может сохранить полученный отчёт в файл Excel.

Сначала пользователю предлагается указать путь и имя файла для выгрузки отчета (рис. 21).

Рис. 21. Диалоговое окно «Сохранить как»

После нажатия на кнопку «Сохранить» появляется диалоговое окно, в котором пользователю предлагается либо запустить сохранённый файл, либо нет (рис. 22).

Рис. 22. Диалоговое окно запуска выгруженного Excel-файла

В результате на машине пользователя будет сохранён файл Excel (рис. 23).

Рис. 23. Отчет в файле Excel

Для каждого отчёта существует свой шаблон для выгрузки, который хранится на сервере.

Шаблон создаётся программистом. Для этого создаётся файл Excel, в котором формируется шапка таблицы с необходимым форматированием. После чего необходимо создать макрос в данном файле в редакторе Visual Basic: п. м. Сервис > Макрос > Редактор Visual Basic (рис. 24).

Рис. 24. Создание макроса в MS Office Excel

Код макроса создаётся при помощи специального дизайнера на языке Microsoft Visual Basic for Application (VBA) (рис. 25).

Рис. 25. Дизайнер Microsoft Visual Basic for Application

После сохранения изменений в файле-шаблоне EXCEL необходимо импортировать его на сервер для дальнейшего использования в разрабатываемой программе.

Импорт файлов-шаблонов выполняется при помощи функционального модуля (ФМ) ARCHIVFILE_CLIENT_TO_SERVER.

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

Рис. 26. Построитель функций: первый экран

После ввода имени функционального модуля нажатием клавиши F8 вызывается экран ввода «Тест функционального модуля» (рис. 27).

Рис. 27. Тест функционального модуля: экран ввода

В поле PATH указывается путь, где находится файл-шаблон.

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

После ввода вышеуказанных данных нажатием клавиши F8 вызывается экран результатов «Тест функционального модуля», где отображается время выполнения ФМ (выделено красным прямоугольником) (рис. 28).

Рис. 28. Тест функционального модуля: экран результатов

Заключение

За период производственной практики с 27. 06. 2010 по 17. 07. 2010 были выполнены следующие задания:

1) изучена структура предприятия ПУ «СургутАСУнефть» ОАО «Сургутнефтегаз»;

2) изучены основы языка программирования ABAP/4;

3) изучены основы работы в системе SAP R/3 Dev;

4) разработана программа формирования отчета «Отчет о клиентах авиакомпании BC_Travel»;

5) Подготовлен и оформлен отчёт.

Также были изучены основы языка программирования Visual Basic for Application, с помощью которого был разработан макрос в файле-шаблоне Excel для выгрузки итогового отчёта на машину пользователя.

Разработанная программа выполняет все необходимые функции: формирует отчет в зависимости от исходных данных, необходимых пользователю, и производит выгрузку данных в MS Office Excel.

Список использованных источников

1) Рюдигер Кречмер, Вольфган Вейс «Разработка приложений SAP R/3 на языке ABAP /4». — М.: «ЛОРИ», 1998. — 340 стр.

2) Камминг Стив «VBA для чайников», 3-е издание. — М.: издательский дом «Вильямс», 2001. — 448 стр.

3) Курс SAP BC 400 «ABAP инструментальные средства: основы», 2006. — 415 стр.

4) Курс SAP BC 401 «ABAP объекты», 2004. — 483 стр.

5) Курс SAP BC 402 «Техника ABAP программирования», 2006. — 471 стр.

6) Курс SAP BC 405 «Система отчетов ABAP»

7) Курс SAP BC 406 «Техника углубленного программирования листингов», 2002.

8) Поисковая система Google [Электронный ресурс]. URL: http: //www. google. ru.

9) Поисковая система Yandex [Электронный ресурс]. URL: http: //www. yandex. ru.

10) Электронная энциклопедия Wikipedia [Электронный ресурс]. URL: http: //ru. wikipedia. org.

Приложения

Приложение 1

Приложение 2

Листинг макроса файла-шаблона MS Office Excel

Dim g_p_flag As String

Sub Main (ByVal p_fname As String, _

ByVal p_ftime As String, _

ByVal p_flag As String)

Application. Visible = False

Application. Interactive = False

Application. DisplayAlerts = False

Application. ScreenUpdating = False

Set NewWorkbook = Workbooks. Add

'копируем шапку таблицы

Set ws = ЭтаКнига. Worksheets (1)

ws. Copy Before: =NewWorkbook. Sheets (1)

'открываем текстовый файл

OPEN_FILE ActiveWorkbook. Sheets (1). Range («A3″), „t1_“ & p_ftime &». txt"

'форматируем таблицу

Call perform_formating

'сохраняем изменения в файле

NewWorkbook. SaveAs Filename: =p_fname, FileFormat: =xlNormal, _

Password: ="", WriteResPassword: ="", _

ReadOnlyRecommended: =False, CreateBackup: =False

End Sub

Private Sub OPEN_FILE (ByVal p_range As Range, _

ByVal p_fname As String)

'> >

On Error Resume Next

p_fname = ThisWorkbook. Path & «» & p_fname

Workbooks. OpenText Filename: =p_fname, Origin: =xlWindows, Tab: =True

If (Err < > 0) Then

Exit Sub

End If

ActiveWorkbook. ActiveSheet. UsedRange. Copy Destination: =p_range

ActiveWorkbook. Close

End Sub

Sub perform_formating ()

g_p_flag = 0 'количество строк

Row = 2

Col = 1

Do

Row = Row + 1

If Cells (Row, 1) < > Empty Then

g_p_flag = g_p_flag + 1

Else

Exit Do

End If

Loop

Do

If Cells (2, Col) < > Empty Then

Col = Col + 1

Else

Exit Do

End If

Loop

g_p_flag = g_p_flag + 2

' границы таблицы

For i = 3 To g_p_flag

For j = 1 To Col — 1

Range (Cells (i, 1), Cells (i,

4)). Select

With Selection. Borders (xlEdgeBottom)

. LineStyle = xlContinuous

. ColorIndex = xlAutomatic

End With

With Selection. Borders (xlEdgeTop)

. LineStyle = xlContinuous

. ColorIndex = xlAutomatic

End With

Cells (i, j). Select

With Selection. Borders (xlEdgeRight)

. LineStyle = xlContinuous

. ColorIndex = xlAutomatic

End With

With Selection. Borders (xlEdgeLeft)

. LineStyle = xlContinuous

. ColorIndex = xlAutomatic

End With

Next

Next

End Sub

ПРИЛОЖЕНИЕ 3

Описание таблиц, используемых в программе Z_UNR

Таблица 1

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

Название поля

Тип значения

Описание поля

ID +

Число (8)

Идентификатор клиента

NAME

Строка (25)

Имя клиента

FORM

Строка (15)

Обращение

STREET

Строка (30)

Улица

POSTBOX

Строка (10)

Почтовый ящик

POSTCODE

Строка (10)

Почтовый индекс

CITY

Строка (25)

Город

COUNTRY

Строка (3)

Код страны

REGION

Строка (3)

Регион

TELEPHONE

Строка (30)

Телефонный номер клиента

CUSTTYPE

Строка (1)

Бизнес-/ Частный клиент

DISCOUNT

Число (3)

Скидка

EMAIL

Строка (40)

Адрес электронной почты клиента

Таблица 2

Бронирование рейсов

Название поля

Тип значения

Описание поля

CARRID +

Строка (3)

Краткое название авиакомпании

CONNID +

Число (4)

Код авиасообщения

FLDATE +

Дата (15)

Дата рейса

BOOKID +

Число (8)

Номер регистрации

CUSTOMID

Число (8)

Номер клиента

CUSTTYPE

Строка (1)

Бизнес-/ Частный клиент

ПоказатьСвернуть
Заполнить форму текущей работой