Sapforum.Biz

Логистика => Управление материальными потоками (MM) => Тема розпочата: Kostyan від Липень 26, 2011, 09:26:50 ДП

Назва: IS-Retail Штрих-кода
Відправлено: Kostyan від Липень 26, 2011, 09:26:50 ДП
Всем привет!

Возникла такая проблема, при заведении товара (тр. MM41) ввожу штрих-код "0067714002034", система обрезает нули.
Есть ли какой-нибудь способ это решить?
Назва: Re: IS-Retail Штрих-кода
Відправлено: Uukrul від Липень 26, 2011, 09:33:17 ДП
Это что за поле? А то данной транзакции нет в ECC-системе.
Назва: Re: IS-Retail Штрих-кода
Відправлено: Kostyan від Липень 26, 2011, 09:37:33 ДП
Это поле для заведения штрих-кодов в основной записи товара, на вкладке основные данные.
Если смотреть по таблице, то таблица MEAN, поле EAN11.
Назва: Re: IS-Retail Штрих-кода
Відправлено: Uukrul від Липень 26, 2011, 10:27:28 ДП
Ну идешь в таблицу, далее идешь в элемент данных и уже из него в домен, на основе которого построен элемент данных и как видим для домена присвоена программа преобразования, рисунок EAN11-0.png. Делаем двойной клик в этом поле и видим, рисунок EAN11-1.png что вот есть два модуля которые и выполняют преобразование, по их тексту видим:

  if flag_ean11_input_exist = '?'.

    call function 'FUNCTION_EXISTS'
         exporting
              funcname           =  'CONV_EXIT_EAN11_INPUT_INTERN'
*        IMPORTING
*             GROUP              =
*             INCLUDE            =
*             NAMESPACE          =
*             STR_AREA           =
         exceptions
              function_not_exist = 1.

    if sy-subrc <> 0.
      clear flag_ean11_input_exist.
    else.
      flag_ean11_input_exist = 'X'.
    endif.
  endif.

  if flag_ean11_input_exist = 'X'.

    call function 'CONV_EXIT_EAN11_INPUT_INTERN'   "#EC EXISTS
       exporting
            input  = input
       importing
            output = output.
  else.
    output = input.
  endif.

В общем проверяется наличие функции  CONV_EXIT_EAN11_INPUT_INTERN и если она есть то она выполняет преобразование. А там кстати четко написано что если введены только числа:

  if work_ean co '0123456789 '.
    perform ean_aufbereiten using work_ean.
  else.
    perform ean_aufbereiten_space using work_ean.
  endif.

То далее:

form ean_aufbereiten using eannr.

  check kz_ean_exi is initial.

  do 18 times.
    char_1 = eannr.
    if char_1 co '0 '.
      shift eannr.                     "1. Zeichen von EANNR entfällt
    else.
      exit.
    endif.
  enddo.

endform.

Короче ведущие нули принципиально удаляются из строки. Так что как бы по правильному удаление нулей отключить никак нельзя, ну или у вас таки код не по стандарту EAN 11.
Назва: Re: IS-Retail Штрих-кода
Відправлено: Sed0Y від Липень 26, 2011, 04:27:04 ПП
Цитата: Uukrul від Липень 26, 2011, 09:33:17 ДП
Это что за поле? А то данной транзакции нет в ECC-системе.

Так - между прочим, у меня есть такая тр-ия...