Sapforum.Biz
Инструменты => ABAP - Инструментальные средства => SE37 - Построитель функций => Тема начата: Паганель от Сентябрь 14, 2010, 12:14:35 pm
-
В ходе работы с классификацией партий http://sapforum.biz/index.php/topic,170.msg7719.html#new
нашел ФМ, которая кроме того что возвращает уровень партии (табличка TCUCH), так и еще и проверяет на целостность данных, т.е. другими словами не поменяли ли что настройщики после заведения ОД и не нужно ли переносить данные ((OMCT) spro- Общая логистика - Управление партиями - Уровень партии - Уровень партии преобразование)
DATA: gv_batch_level LIKE tcuch-kzdch. "Batch-Level
CALL FUNCTION 'VB_BATCH_DEFINITION'
IMPORTING
kzdch = gv_batch_level.
Возвращает:
0 - Партии однозначно ведутся на уровне завода
1 - Партия однозначно ведется на уровне материала
2 - Партия однозначно ведется на уровне манданта
-
Пример использования http://sapforum.biz/index.php/topic,170.msg7721.html#msg7721
-
Итак, не большое резюме с дополнениями, кроме уровня партии, надо учитывать таблицы и вид класса (023, 022).
Все эти данные возвращает все та же функция VB_BATCH_DEFINITION.
DATA: l_objecttable TYPE bapi1003_key-objecttable. " OBTAB Таблица TCLT-OBTAB
DATA: gv_batch_level LIKE tcuch-kzdch. " Batch-Level
DATA: classtype TYPE tcla-klart. " Вид класса
" Макрос
" См. http://sapforum.biz/index.php/topic,222.0.html
DEFINE ext_to_int.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = &1
IMPORTING
OUTPUT = &2.
END-OF-DEFINITION.
" Формируем ключ, зависит от уровня и таблицы
CALL FUNCTION 'VB_BATCH_DEFINITION'
IMPORTING
kzdch = gv_batch_level
klart = classtype
obtab = l_objecttable.
CASE gv_batch_level.
WHEN 0.
"l_objecttable = 'MCHA'.
ext_to_int: rs_mseg-matnr l_objectkey(18),
rs_mseg-werks l_objectkey+18(4),
rs_mseg-charg l_objectkey+18(10).
WHEN 1.
"l_objecttable = 'MCH1'.
ext_to_int: rs_mseg-matnr l_objectkey(18),
rs_mseg-charg l_objectkey+18(10).
WHEN 2.
"l_objecttable = 'MCH1'.
ext_to_int: rs_mseg-charg l_objectkey+18.
ENDCASE.
" Дальше ключ можно использовать в BAPI выбора или изменения значений признаков,
" например: BAPI_OBJCL_CHANGE