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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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