К основному контенту

Сообщения

Сообщения за ноябрь, 2010

Загрузка картинок из БД

Для начала надо создать таблицу. В которой мы будем хранить наши картинки. Создадим таблицу Categories с полями: CategoryID                        int identity         Уникальный идентификатор CategoryName                varchar(100)      Название категории Picture                                 image                   Картинка Добавим туда несколько записей, что бы можно было проверить пример. Для отображения картинки мы создадим ASP.NET WebHandlers (файл с расширением ashx). Добавим его в проект: Проект – Добавить новый элемент – Универсальный обработчик. Наховем его Handler. В итоге VS создаст 2 файла:  Handler.ashx – это файл разметки. Там есть только одна строка <% @ WebHandler Language = "C#" CodeBehind = "Handler.ashx.cs" Class = "WebApplication1.Handler" %> .

Чтение журнала приложений

Ниже описан код формы, которая читает сообщения из системного журнала приложений FORM log_test USING begda TYPE sydatum endda TYPE sydatum .   FORMAT COLOR COL_BACKGROUND .   DATA : bal_t_msgh TYPE bal_t_msgh , balhdr_t TYPE balhdr_t , bal_s_msg TYPE bal_s_msg , balmsghndl TYPE balmsghndl , text TYPE text200 .

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

Это было сделано в user-exit IF sy - tcode EQ 'IW34' .   FIELD-SYMBOLS < fs > TYPE caufvd . ASSIGN ( '(SAPLCOIH)CAUFVD' ) TO < fs > .   CHECK sy - subrc = 0 .   DATA : wa LIKE ziw21_vl . CLEAR wa . SELECT SINGLE * FROM ziw21_vl INTO CORRESPONDING FIELDS OF wa WHERE qmnum EQ caufvd_imp - qmnum . IF NOT wa IS INITIAL . < fs > - tplnr = wa - tplnr . ENDIF .   UNASSIGN < fs > . ENDIF .  

Использование стандартного Search Help в программе

Зачастую, нужно вызвать свой подброс значений для поля ввода. Ниже представлен код, который вызывает свой SH для поля селекционного экрана PARAMETERS : p_doc LIKE gs_eedmsettldoc - settldoc OBLIGATORY .   AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_doc . DATA : shlp TYPE shlp_descr , selopt TYPE ddshselopt , interface TYPE ddshiface .

Печать таблицы любой структуры

Самый яркий пример использования FIELD-SYMBOLS. REPORT z_lx_test .   TYPES : BEGIN OF t_table1 , field1 TYPE c , field2 TYPE i , END OF t_table1 .   TYPES : BEGIN OF t_table2 , field1 TYPE c , field2 TYPE i , field3 TYPE d , END OF t_table2 .   DATA : t1 TYPE t_table1 . DATA : it1 TYPE TABLE OF t_table1 .   DATA : t2 TYPE t_table2 . DATA : it2 TYPE TABLE OF t_table2 .   FIELD-SYMBOLS : < it > TYPE t_table1 .

Самый быстрый способ поиска BADI в SAP

Технология Business Add-Ins основана на расширении ABAP объектов. Они могут использоваться для удовлетворения нужд пользователей, в случае если стандартная поставка системы не позволяет реализовать какой-либо функционал. Все коды програм на ABAP, экраны, GUI, таблицы и интерфейсы, созданы таким образом, что позволяют пользователям включать свои собсвтенные расширения в стандарт. Каждая Business Add-Ins содержит все необходимые интерфейсы для реализации конкретной задачи. · BADI могут использоваться несколько раз, в отличии от технологии USER-EXIT, которые вызываются только один раз · BADI основаны на технологии объектно-ориентированного программирования -> SAP гарантирует последующую совместимость всех интерфейсов BADI Итак, как же искать BADI в системе: 1. Запустите транзакцию SE37 и установите точку остановки (breakpoint) в функции SXV_GET_CLIF_BY_NAME 2. Установите точку остановки только длля вызываемых функций 3. В другом окне SAP запустите вашу транзакцию. Режим debug