Sapforum.Biz

Инструменты => ABAP - Инструментальные средства => SE37 - Построитель функций => Тема начата: Паганель от Сентябрь 14, 2010, 12:14:35 pm

Название: Проверка и получение уровня партии
Отправлено: Паганель от Сентябрь 14, 2010, 12:14:35 pm
В ходе работы с классификацией партий http://sapforum.biz/index.php/topic,170.msg7719.html#new
нашел ФМ, которая кроме того что возвращает уровень партии (табличка TCUCH), так и еще и проверяет на целостность данных, т.е. другими словами не поменяли ли что настройщики после заведения ОД и не нужно ли переносить данные ((OMCT) spro- Общая логистика - Управление партиями - Уровень партии - Уровень партии преобразование)
Код: You are not allowed to view links. Register or Login
DATA: gv_batch_level        LIKE tcuch-kzdch.         "Batch-Level

CALL FUNCTION 'VB_BATCH_DEFINITION'
        IMPORTING
          kzdch = gv_batch_level.

Возвращает:
0 -   Партии однозначно ведутся на уровне завода
1 -   Партия однозначно ведется на уровне материала
2 -   Партия однозначно ведется на уровне манданта
Название: Re: Проверка и получение уровня партии
Отправлено: Паганель от Сентябрь 14, 2010, 01:00:58 pm
Пример использования http://sapforum.biz/index.php/topic,170.msg7721.html#msg7721
Название: Re: Проверка и получение уровня партии
Отправлено: Паганель от Сентябрь 27, 2010, 11:35:35 am
Итак, не большое резюме с дополнениями, кроме уровня партии, надо учитывать таблицы и вид класса (023, 022).
Все эти данные возвращает все та же функция VB_BATCH_DEFINITION.

Код: You are not allowed to view links. Register or Login
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