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

При использовании ФМ — REUSE_ALV_FIELDCATALOG_MERGE может возникнуть ситуация, когда добавленное в каталог новое поле не будет отображено в ALV, необходимо сбросить буфер ALV, для этого используйте программу: BCALV_BUFFER_DEL_SHARED или BALVBUFDEL.

Присвоение к CHAR типа FLOAT согласно справке возможно и напрямую, но для того чтобы задать дополнительные параметры преобразования можно использовать следующие ФМ:

Или через строковые шаблоны.

Для перевода количества из одной единицы измерения в другую существует функциональный модуль: MATERIAL_UNIT_CONVERSION. Данный ФМ может преобразовывать либо из базисной ЕИ в альтернативную, либо наоборот. Для преобразования из одной АЕИ в другую можно либо дважды вызвать MATERIAL_UNIT_CONVERSION, либо воспользоваться другим ФМ: OIB_MATERIAL_UNIT_CONVERSION (работает с учётом долей продукта для партии)

Пример его использования:

 

Объектная модель SALV не позволяет редактировать данные (нормальным способом), однако Вы можете обрабатывать множество других событий: нажатие на кнопки, hotspot элементы, ссылки, checkbox’ы, добавлять свои собственные функции, обрабатывать щелчки (двойные щелчки), нажатие специальных клавиш (F1,F2).

Читать далее

Приходилось ли Вам сталкиваться с ситуацией, когда стандартные ALV отчёты удовлетворяют частично Вашим потребностям, но при этом код в этих отчётах устроен слишком сложно, чтобы сразу понять всю логику выбора данных? Переписывать всю логику при этом будет достаточно накладно, но многие так и делают 🙂

Некоторые отчёты позволяют сделать обёртку над ними, они предоставляют все выбранные через них данные, получить к ним доступ можно через EXPORT TO MEMORY/IMPORT FROM MEMORY. В качестве примера может служить транзакция IA09 (программа riplko10), получить доступ к выбранным в ней данным можно следующим образом:

Читать далее

Заходим на просмотр данных таблицы (например табл. plaf):

В строке команд набираем /h (отладка). Жмем Enter, попадаем в отладчик. В переменную CODE вместо SHOW ставим EDIT жмем F8. Результат:

Для удаления записи можно воспользоваться командой DELE.

Данный способ работает так же через транзакцию SE16. Кроме того вы можете отредактировать запись выполнив следующий ФМ: SE16N_INTERFACE, с параметрами — I_EDIT = X I_SAPEDIT = X.

UPD. Еще один способ в транзакции SE16N, на первом экране упасть в отладку и заполнить значение структуры GD-EDIT = ‘X’. Откроется удобный ALV редактор.