Ring the bells of all SAP tables.
Remember Bank tables start with B, say «BKNF , BKPF».
Remember Customer tables start with K , say «KNA1,KONV».
Remember Material tables start with M, say «MARA , MAKT ,MARC».
Remember Master data tables start with T, say «T001,T001W».
Remember Purchasing tables start with E, say «EKKO, EKPO»
Remember Sales table start with V, say «VBAK,VBAP».
Remember Vendor tables start with L, say «LFA1?.
Ring the bells of all SAP tables.
Six main FI tables, six important FI tables.
They contain an I if it is an open item.
They contain an A if it is a closed item.
They contain an S if a GL account say «BSIS , BSAS».
Ring the bells of all SAP tables.
As i was remembering the table names of Billing, Delivery,Sales and Purchasing.
Each table had a K if it is a header data, say «VBAK, LIKP,VBRK, EKKO».
Each table had a P if it is an item data, say «VBAP, LIPS ,VBRP , EKPO».
Ring the bells of all SAP tables.
With a D at the end , the table is a Customer
With a K at the end, the table is a Vendor.
Finally TSTC tables danced for keeping the list of all transaction codes
Ring the bells of all SAP tables.
Перевод количеств из разных АЕИ
Для перевода количества из одной единицы измерения в другую существует функциональный модуль: MATERIAL_UNIT_CONVERSION. Данный ФМ может преобразовывать либо из базисной ЕИ в альтернативную, либо наоборот. Для преобразования из одной АЕИ в другую можно либо дважды вызвать MATERIAL_
Пример его использования:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
DATA: gv_ves_t TYPE F VALUE '1.342', gv_ves_tb TYPE F, gv_material TYPE matnr VALUE 'Номер материала', gv_error TYPE STRING, gv_werks TYPE werks VALUE 'Завод', gv_charge TYPE charg_d VALUE 'Партия'. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING INPUT = gv_material IMPORTING OUTPUT = gv_material. CALL FUNCTION 'OIB_MATERIAL_UNIT_CONVERSION' EXPORTING iv_matnr = gv_material iv_plant = '1000' iv_charg = gv_charge iv_inuom = 'TB' iv_outuom = 'TO' iv_quantity = gv_ves_t IMPORTING ev_quantity = gv_ves_tb EXCEPTIONS error_material_read = 1 conversion_failed = 2 OTHERS = 3. IF sy-subrc <> 0. WRITE: sy-subrc. ELSE. WRITE gv_ves_tb STYLE cl_abap_format=>o_simple. ENDIF. |
Обработка событий в SALV модели
Объектная модель SALV не позволяет редактировать данные (нормальным способом), однако Вы можете обрабатывать множество других событий: нажатие на кнопки, hotspot элементы, ссылки, checkbox’ы, добавлять свои собственные функции, обрабатывать щелчки (двойные щелчки), нажатие специальных клавиш (F1,F2).
Получение данных из стандартных SAP GUI ALV отчётов
Приходилось ли Вам сталкиваться с ситуацией, когда стандартные ALV отчёты удовлетворяют частично Вашим потребностям, но при этом код в этих отчётах устроен слишком сложно, чтобы сразу понять всю логику выбора данных? Переписывать всю логику при этом будет достаточно накладно, но многие так и делают 🙂
Некоторые отчёты позволяют сделать обёртку над ними, они предоставляют все выбранные через них данные, получить к ним доступ можно через EXPORT TO MEMORY/IMPORT FROM MEMORY. В качестве примера может служить транзакция IA09 (программа riplko10), получить доступ к выбранным в ней данным можно следующим образом:
Программирование обновлений БД в ABAP
Транзакция — в информатике, группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, с соблюдением целостности данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще, в каковом случае она не должна произвести никакого эффекта. Транзакционность в системе SAP поддерживается на двух уровнях; на уровне СУБД и на уровне сервера приложений:
Remote Function Call
Remote Function Call (RFC, удалённый вызов функций) – стандартный интерфейс для обмена данными между SAP и не SAP системами. Интерфейс передачи данных основан на CPI-C или TCP/IP. Стандартная справка по теме RFC или курс BC415.
Редактирование таблицы через SE11 (SE16N)
Заходим на просмотр данных таблицы (например табл. plaf):
В строке команд набираем /h (отладка). Жмем Enter, попадаем в отладчик. В переменную CODE вместо SHOW ставим EDIT жмем F8. Результат:
Для удаления записи можно воспользоваться командой DELE.
Данный способ работает так же через транзакцию SE16. Кроме того вы можете отредактировать запись выполнив следующий ФМ: SE16N_INTERFACE, с параметрами — I_EDIT = X I_SAPEDIT = X.
UPD. Еще один способ в транзакции SE16N, на первом экране упасть в отладку и заполнить значение структуры GD-EDIT = ‘X’. Откроется удобный ALV редактор.
Таблица с ключами разработчиков
Найти можно в таблице DEVACCESS.
Редактируемый ALV в 3 строки
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
REPORT zalv_grid. DATA: lo_alv TYPE REF TO cl_gui_alv_grid, lt_tab TYPE TABLE OF t001. SELECTION-SCREEN BEGIN OF SCREEN 1100. SELECTION-SCREEN END OF SCREEN 1100. SELECT * FROM t001 INTO TABLE lt_tab. *-- Строка 1 - создание инстанции грида CREATE OBJECT lo_alv EXPORTING i_parent = cl_gui_container=>screen0. *-- Строка 2 - привязка внутренней таблицы к гриду CALL METHOD lo_alv->set_table_for_first_display EXPORTING i_structure_name = 'T001' CHANGING it_outtab = lt_tab. *-- Строка 3 - показать экран с гридом CALL SELECTION-SCREEN 1100. |