Текущее время: Сб, июн 21 2025, 20:20

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Изменение признаков партии (MM)
СообщениеДобавлено: Вт, окт 14 2008, 17:38 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Пн, сен 29 2008, 10:19
Сообщения: 13
Откуда: Великое княжество Литовское, Русcкое, Жемойтское и иных
Как можно програмно поменять значения признаков партии?

Заранее спасибо.


Последний раз редактировалось ko Ср, окт 15 2008, 16:36, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение характеристик партии (MM)
СообщениеДобавлено: Ср, окт 15 2008, 07:44 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
ko написал(а):
Как можно програмно поменять значения характеристик партии?

Заранее спасибо.
BAPI_BATCH_CHANGE

_________________
"I have a dream"(c)Martin Luther King, Jr.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, окт 15 2008, 08:39 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, ноя 01 2004, 12:17
Сообщения: 298
Пол: Мужской
Если Вы имели в виду признаки партии то:

BAPI_OBJCL_CHANGE


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, окт 15 2008, 16:42 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Пн, сен 29 2008, 10:19
Сообщения: 13
Откуда: Великое княжество Литовское, Русcкое, Жемойтское и иных
RA написал:
Если Вы имели в виду признаки партии то:

BAPI_OBJCL_CHANGE


Да, признаки. Исправил заголовок.

BAPI_OBJCL_CHANGE возвращает ошибку "Assignment does not exist or is not valid on"
Не подскажите, чтобы это могло быть?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, окт 15 2008, 16:46 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
ko написал(а):
RA написал:
Если Вы имели в виду признаки партии то:

BAPI_OBJCL_CHANGE


Да, признаки. Исправил заголовок.

BAPI_OBJCL_CHANGE возвращает ошибку "Assignment does not exist or is not valid on"
Не подскажите, чтобы это могло быть?
Ошибка в заполнении OBJECTKEY
OBJECTTABLE
CLASSNUM
CLASSTYPE
или же классификации действительно нет.

_________________
"I have a dream"(c)Martin Luther King, Jr.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, окт 15 2008, 17:01 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Пн, сен 29 2008, 10:19
Сообщения: 13
Откуда: Великое княжество Литовское, Русcкое, Жемойтское и иных
Alex80 написал:
Ошибка в заполнении OBJECTKEY
OBJECTTABLE
CLASSNUM
CLASSTYPE
или же классификации действительно нет.



OBJECTKEY получается путём конкатенации matnr+werks+charg (со всеми нулями)? Иначе получаю ошибку "Object XXX does not exist". Где XXX - то, что указано в OBJECTKEY.

Классификация точно есть. В MSC3N во вкладке "Классификация" есть заполненые значения.

Может, код вызова поможет прояснить ситуацию:
Code:
     
      CONCATENATE cs_goitem-matnr cs_goitem-werks cs_goitem-charg INTO v_key.

      CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
        EXPORTING
          objectkey              = v_key
          objecttable            = 'MCHA'
          classnum               = 'GR_DATA_EXTRA'
          classtype              = '023'
        TABLES
          allocvaluesnum        = git_bapi1003
          allocvalueschar       = git_values_char
          allocvaluescurr       = git_values_curr
          return                   = git_bapiret2.


Последний раз редактировалось ko Ср, окт 15 2008, 17:07, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, окт 15 2008, 17:06 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
ko написал(а):
Alex80 написал:
Ошибка в заполнении OBJECTKEY
OBJECTTABLE
CLASSNUM
CLASSTYPE
или же классификации действительно нет.



OBJECTKEY получается путём конкатенации matnr+werks+charg (со всеми нулями)? Иначе получаю ошибку "Object XXX does not exist". Где XXX - то, что указано в OBJECTKEY.

Классификация точно есть. В MSC3N во вкладке "Классификация" есть заполненые значения.
Есть подозрение что WERKS не нужно. Но лучше наверное посмотреть в сторону связки
ФМ VB_BATCH_DEFINITION и BAPI_OBJCL_CONCATENATEKEY для определения OBJECTKEY. (Вытащить дату поступления партии вне R/3)

_________________
"I have a dream"(c)Martin Luther King, Jr.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 16 2008, 08:50 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, сен 18 2006, 10:37
Сообщения: 177
Откуда: Беларусь
Пол: Мужской
OBJECTKEY = Материал + Партия. Завод не нужен.

_________________
Regards


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 16 2008, 11:16 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Пн, сен 29 2008, 10:19
Сообщения: 13
Откуда: Великое княжество Литовское, Русcкое, Жемойтское и иных
FoLKo написал:
OBJECTKEY = Материал + Партия. Завод не нужен.

Завод ведь тоже ключевое поле?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 16 2008, 15:41 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
ko написал(а):
FoLKo написал:
OBJECTKEY = Материал + Партия. Завод не нужен.

Завод ведь тоже ключевое поле?

Для таблицы MCHA.
А в таблице MCH1 такого поля нет :)
Все зависит от того, как настроено управление партиями - на уровне материала или на уровне материал-завод.
По умолчанию активировано управление партиями на уровне материала.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 16 2008, 15:51 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Пн, сен 29 2008, 10:19
Сообщения: 13
Откуда: Великое княжество Литовское, Русcкое, Жемойтское и иных
Удав написал(а):
Для таблицы MCHA.
А в таблице MCH1 такого поля нет :)
Все зависит от того, как настроено управление партиями - на уровне материала или на уровне материал-завод.
По умолчанию активировано управление партиями на уровне материала.

Да, действительно, в моём случае надо было указывать таблицу MCH1. Соответственно, OBJECTKEY = Материал + Партия. Всё заработало. Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение признаков партии (MM)
СообщениеДобавлено: Ср, май 06 2009, 11:44 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, янв 19 2009, 11:17
Сообщения: 71
Пол: Мужской
Добрый день!
Возникла такая проблемка - для получении признака партии использую ФМ 'CLAF_CLASSIFICATION_OF_OBJECTS' , в качестве OBJECTTABLE указываю MCH1 и всё работает правильно, признак находится. Затем пытаюсь изменить признак с помощью ФМ 'BAPI_OBJCL_CHANGE', но внутри него при проверке в таблице TCLA для данного класса OBJECTTABLE считается равной MCHA и поэтому ФМ выдает ошибку.
Что не так? Не указаны какие-то настройки в спро для TCLA? Ведь если отрабатывает первый модуль, то получается, что данные на вход идут правильные.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение признаков партии (MM)
СообщениеДобавлено: Ср, май 06 2009, 11:54 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
TCLA здесь ни при чем. Может, в objectkey ошиблись?
Вот рабочий код, в TCLA запись 023 MCHA:
Code:
  CALL FUNCTION 'BAPI_OBJCL_CHANGE'
    EXPORTING
      objectkey          = l_objectkey
      objecttable        = 'MCH1'
      classnum           = it_class-classnum
      classtype          = '023'
    IMPORTING
      classif_status     = l_status
    TABLES
      allocvaluesnumnew  = it_num
      allocvaluescharnew = it_char
      allocvaluescurrnew = it_curr
      return             = it_return2.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение признаков партии (MM)
СообщениеДобавлено: Ср, май 06 2009, 12:02 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, янв 19 2009, 11:17
Сообщения: 71
Пол: Мужской
Так objectkey тот же, который использую в 'CLAF_CLASSIFICATION_OF_OBJECTS' , в качестве objecttable = 'MCH1', получаю нужный признак, всё правильно, значит objectkey в порядке.
Потом с теми же objectkey и objecttable пытаюсь изменить признак с помощью 'BAPI_OBJCL_CHANGE'. А внутри него при отработке ФМ 'CLCA_CHECK_CLASSTYPE' :
Code:
  IF OBTAB NE TCLA-OBTAB.
    MESSAGE E650 WITH OBTAB CLASSTYPE RAISING INVALID_CLASSTYPE.
*    Für Objekt & ist die Klassenart & nicht definiert
  ENDIF.

тут и выдает ошибку, т.к. TCLA-OBTAB = 'MCHA', а OBTAB (objecttable ) = 'MCH1' :?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение признаков партии (MM)
СообщениеДобавлено: Ср, май 06 2009, 12:30 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
А где именно этот ФМ вызывается внутри BAPI_OBJCL_CHANGE? :shock:
В 4.7 проверка происходит только внутри ФМ CLAP_DDB_UPDATE_CLASSIFICATION, и проверяется по таблице TCLAO:
Code:
* Adjust flags: possibly several objects of different class types
* (with different multobj's) were copied in this trx via
* clfm-object-classification.
  if iklart-multobj is initial.
    l_obtab = sobtab.
    clear pobtab.
    clear multi_obj.
  else.
    if mafid = mafido.
*     check imported parameters: object type allowed in classtype ?
      select single * from tclao
                     where klart = classtype
                       and obtab = sobtab.
      if sy-subrc <> 0.
        raise table_no_multitab.
      endif.
    endif.
    l_obtab       = sobtab.
    multi_obj     = kreuz.
    all_multi_obj = kreuz.
  endif.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB