IS-Retail Штрих-кода

Автор Kostyan, Липень 26, 2011, 09:26:50 ДП

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

Kostyan

Всем привет!

Возникла такая проблема, при заведении товара (тр. MM41) ввожу штрих-код "0067714002034", система обрезает нули.
Есть ли какой-нибудь способ это решить?

Uukrul

Это что за поле? А то данной транзакции нет в ECC-системе.

Kostyan

Это поле для заведения штрих-кодов в основной записи товара, на вкладке основные данные.
Если смотреть по таблице, то таблица MEAN, поле EAN11.

Uukrul

Ну идешь в таблицу, далее идешь в элемент данных и уже из него в домен, на основе которого построен элемент данных и как видим для домена присвоена программа преобразования, рисунок 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.

Sed0Y

Цитата: Uukrul від Липень 26, 2011, 09:33:17 ДП
Это что за поле? А то данной транзакции нет в ECC-системе.

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