Текущее время: Пн, июл 28 2025, 20:02

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Пакетное присвоение материалов лоту
СообщениеДобавлено: Чт, апр 16 2009, 14:58 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, мар 07 2007, 11:58
Сообщения: 176
Откуда: Астана
Пол: Мужской
Здравствуйте коллеги! Кто нибудь знает бапишку или ФМ для пакетного присвоения материалов лоту. Лот в данном случае это присвоение класса материалу. Точнее есть класс, и ему необходимо присвоить материал. Вообще это делается через cl24n, может есть этой транзакции замена?


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

Зарегистрирован:
Чт, дек 25 2008, 17:07
Сообщения: 144
Откуда: Казань
Пол: Мужской
https://www.sdn.sap.com/irj/scn/thread?tstart=0&threadID=851437

Цитата:
Thanks all for your help...Try the BAPI's but somehow they didn't work for me -:(

Finally I used CLVF_VB_INSERT_CLASSIFICATION and problem solved -;)


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

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Много раз тема поднималась. Поищите по ключевому слову bapi_objcl_create

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пакетное присвоение материалов лоту
СообщениеДобавлено: Пт, апр 17 2009, 09:17 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, мар 07 2007, 11:58
Сообщения: 176
Откуда: Астана
Пол: Мужской
Вот сделал, полностью рабочий пример. кому интересно.
в файле эксель в первом столбце наименование лота (класса) во втором номер материала.
Code:
REPORT  ZMM_P_LOTBAPI.

CONSTANTS :
    X1 TYPE I VALUE 1,
    Y1 TYPE I VALUE 1,
    X2 TYPE I VALUE 2,
    Y2 TYPE I VALUE 65536.
TABLES: MARC, ZMMDEL_MAT.

*include bdcrecx1.
*INCLUDE ZBDCRECX1.
DATA: MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
DATA: LT_PARAMS TYPE CTU_PARAMS. "параметры запуска транзакции

DATA: BEGIN OF BDCDATA OCCURS 0.
        INCLUDE STRUCTURE BDCDATA.
DATA: END OF BDCDATA.

DATA: TY_T_ITAB TYPE ZALSMEX_TABLINE OCCURS 0 WITH HEADER LINE,
      IT_MARA_UEB LIKE MARA_UEB OCCURS 0 WITH HEADER LINE,
      IT_MARC_UEB LIKE MARC_UEB OCCURS 0 WITH HEADER LINE,
      IT_AMERRDAT  LIKE MERRDAT  OCCURS 0 WITH HEADER LINE,
      TLINETAB TYPE TLINE OCCURS 30 WITH HEADER LINE,
      IT_WERKS LIKE T001W OCCURS 0 WITH HEADER LINE,

      BEGIN OF FEHLER_TAB OCCURS 0,  " Tabelle fur Fehlermeldungen
        LINE LIKE SY-LISEL,                                 " 255 Char
      END OF FEHLER_TAB.

DATA: BEGIN OF CLASS_MATNR OCCURS 0,
        CLASS LIKE KLAH-CLASS,
        MATNR(50),
      END OF CLASS_MATNR.


DATA : ZAEHLER LIKE IT_MARA_UEB-TRANC,
       RETURNCODE(2),
       MATNR_LAST LIKE MARA-MATNR,
       MATNR_LAST_SAVE LIKE MARA-MATNR,
       NUMBER_ERR LIKE TBIST-NUMERROR,
       FLAG.

DATA: DEL_EKPO LIKE EKPO OCCURS 0 WITH HEADER LINE.

DATA: POS(5) TYPE C. "Позиция материала


DATA:         hlp_return TYPE TABLE OF bapiret2.

SELECTION-SCREEN BEGIN OF BLOCK MAIN WITH FRAME.
PARAMETERS: PO_PATH LIKE CFDOWN-FILE OBLIGATORY.
***            PO_TEST LIKE AM07M-XACCDEL AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK MAIN.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR PO_PATH.
  CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
      DEF_PATH         = ''
      MASK             = ',*.xls.'
      MODE             = '0'
      TITLE            = 'Выбор файла'
    IMPORTING
      FILENAME         = PO_PATH
    EXCEPTIONS
      INV_WINSYS       = 1
      NO_BATCH         = 2
      SELECTION_CANCEL = 3
      SELECTION_ERROR  = 4.

START-OF-SELECTION.
  CALL FUNCTION 'Z_ALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
      FILENAME                = PO_PATH
      I_BEGIN_COL             = X1
      I_BEGIN_ROW             = Y1
      I_END_COL               = X2
      I_END_ROW               = Y2
    TABLES
      INTERN                  = TY_T_ITAB
    EXCEPTIONS
      INCONSISTENT_PARAMETERS = 1
      UPLOAD_OLE              = 2
      OTHERS                  = 3.

  CLEAR CLASS_MATNR.

  LOOP AT TY_T_ITAB.
    IF TY_T_ITAB-COL = 1.
      CLASS_MATNR-CLASS = TY_T_ITAB-VALUE.
    ELSE.
      CONCATENATE '000000000' TY_T_ITAB-VALUE INTO CLASS_MATNR-MATNR.
*      CLASS_MATNR-MATNR = TY_T_ITAB-VALUE.
      APPEND CLASS_MATNR.
    ENDIF.

  ENDLOOP.

  LOOP AT CLASS_MATNR.

    call function 'BAPI_OBJCL_CREATE'
      exporting
        objectkeynew      = CLASS_MATNR-MATNR
        objecttablenew    = 'MARA'
        classnumnew       = CLASS_MATNR-CLASS
        classtypenew      = '001'
      tables
***        allocvaluesnum    = allocvaluesnum
***        allocvalueschar   = allocvalueschar
***        allocvaluescurr   = allocvaluescurr
        return            = hlp_return.

    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT = 'X'.

  ENDLOOP.
  WRITE: 'Выполнено'.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пакетное присвоение материалов лоту
СообщениеДобавлено: Пт, апр 17 2009, 09:31 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 25 2008, 17:07
Сообщения: 144
Откуда: Казань
Пол: Мужской
Code:
CONCATENATE '000000000' TY_T_ITAB-VALUE INTO CLASS_MATNR-MATNR.

Почему именно 9 нулей?
Может лучше использовать ФМ CONVERSION_EXIT_ALPHA_OUTPUT


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Пакетное присвоение материалов лоту
СообщениеДобавлено: Пт, апр 17 2009, 09:40 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Марик написал:
Может лучше использовать ФМ CONVERSION_EXIT_ALPHA_OUTPUT

Тогда уж CONVERSION_EXIT_ALPHA_INPUT.
OUTPUT - обрежет ведущие нули
INPUT - добавит


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

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


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

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


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

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