Текущее время: Вс, июл 20 2025, 16:05

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


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


Вопросы по ППМ (MRP) - сюда.
Вопросы по классификации - сюда.
Вопросы по входящим поставкам - сюда.



Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Загрузка длинных текстов в материалах через LSMW.
СообщениеДобавлено: Вт, сен 18 2012, 12:17 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 18 2012, 12:07
Сообщения: 26
Люди, столкнулся с такой проблемой-в дополнительных данных материала (MM02, кнопка доп.данные), закладка Текст/ОсновнДанные пытаюсь загрузить текст через LSMW, но все безуспешно (это поле хранится в кодированном виде в таблицах STXL, STXH). Может кто грузил как-то? Возможно ли это через LSMW грузануть или всё тщетно?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка длинных текстов в материалах через LSMW.
СообщениеДобавлено: Вт, сен 18 2012, 12:46 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
Думаю необходимо пользоваться SAVE_TEXT для записи, а READ_TEXT для чтения.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Загрузка длинных текстов в материалах через LSMW.
СообщениеДобавлено: Вт, сен 18 2012, 12:47 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
Пользуется так:
Code:
  call function 'READ_TEXT'
    exporting
      id                      = 'GRUN'
      language                = 'R'
      name                    = tdname
      object                  = 'MATERIAL'
    tables
      lines                   = it
    exceptions
      id                      = 1
      language                = 2
      name                    = 3
      not_found               = 4
      object                  = 5
      reference_check         = 6
      wrong_access_to_archive = 7
      others                  = 8.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Загрузка длинных текстов в материалах через LSMW.
СообщениеДобавлено: Вт, сен 18 2012, 12:48 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Пн, сен 03 2007, 13:20
Сообщения: 1658
Откуда: Пермь, Москва
Пол: Мужской
Можно и LSMW загружать, если выбрать Standard Batch / Direct Input

Object 0001 Подробные тексты
Method 0001 (No selection)
Program Name /SAPDMC/SAP_LSMW_IMPORT_TEXTS
Program Type D Direct Input


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка длинных текстов в материалах через LSMW.
СообщениеДобавлено: Вт, сен 18 2012, 12:48 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 18 2012, 12:07
Сообщения: 26
это уже получается обработку писать свою, а стандартными средствами никак?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка длинных текстов в материалах через LSMW.
СообщениеДобавлено: Вт, сен 18 2012, 12:50 
Менеджер
Менеджер

Зарегистрирован:
Пн, янв 28 2008, 16:56
Сообщения: 512
Откуда: Воронеж
Пол: Мужской
Загружаю длинные тексты материалов отдельно через batch-input LSMW без каких либо проблем.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка длинных текстов в материалах через LSMW.
СообщениеДобавлено: Вт, сен 18 2012, 12:50 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 18 2012, 12:07
Сообщения: 26
Abral написал:
Можно и LSMW загружать, если выбрать Standard Batch / Direct Input

Object 0001 Подробные тексты
Method 0001 (No selection)
Program Name /SAPDMC/SAP_LSMW_IMPORT_TEXTS
Program Type D Direct Input


ОК, сейчас попробую! результат отпишу!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка длинных текстов в материалах через LSMW.
СообщениеДобавлено: Вт, сен 18 2012, 13:01 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 18 2012, 12:07
Сообщения: 26
sergeyprotasoff написал(а):
Abral написал:
Можно и LSMW загружать, если выбрать Standard Batch / Direct Input

Object 0001 Подробные тексты
Method 0001 (No selection)
Program Name /SAPDMC/SAP_LSMW_IMPORT_TEXTS
Program Type D Direct Input


ОК, сейчас попробую! результат отпишу!


так не получается, в рекординге это нигде не отражается. Именно поле: MM02, Дополнительные данные, закладка Текст/ОсновнДанные.
Через READ_TEXT можно наабапить, а как это грузануть-вопрос ещё тот....


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка длинных текстов в материалах через LSMW.
СообщениеДобавлено: Вт, сен 18 2012, 13:15 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Пн, сен 03 2007, 13:20
Сообщения: 1658
Откуда: Пермь, Москва
Пол: Мужской
Кстати, если вам в 132 символа длинны текста достаточно, то можно использовать в LSMW

Business Object Method (BAPI)

Business Object BUS1001006

или IDOC (Inertermediate Document)
Message Type MATMAS_MASS_BAPI


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка длинных текстов в материалах через LSMW.
СообщениеДобавлено: Вт, сен 18 2012, 13:33 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 18 2012, 12:07
Сообщения: 26
Abral написал:
Кстати, если вам в 132 символа длинны текста достаточно, то можно использовать в LSMW

Business Object Method (BAPI)

Business Object BUS1001006

или IDOC (Inertermediate Document)
Message Type MATMAS_MASS_BAPI


к сожалению, этого мало, 1000 символов и возможно больше


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка длинных текстов в материалах через LSMW.
СообщениеДобавлено: Вт, сен 18 2012, 14:02 
Менеджер
Менеджер

Зарегистрирован:
Пн, янв 28 2008, 16:56
Сообщения: 512
Откуда: Воронеж
Пол: Мужской
Действительно - два года назад грузил так поле отображалась в batch input рекординге. После загрузили EHP5, поле перестало отображаться.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка длинных текстов в материалах через LSMW.
СообщениеДобавлено: Вт, сен 18 2012, 14:18 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
Вот программка которая работает с подробным текстом. Переделать под загрузку - думаю не проблема:

Code:
REPORT ZPM_ASSIGN_LONGTEXT_TO_MAT MESSAGE-ID VX.

type-pools: vrm.

* Tables
TABLES:     mara,
            STXH,
            STXL,
            TTXOB,
            TTXID,
            TTXIT.

* Data Definition
DATA: BEGIN OF XTHEAD OCCURS 1.
        INCLUDE STRUCTURE THEAD.
DATA: END OF XTHEAD.

DATA: THEADER LIKE THEAD.

DATA  BEGIN OF TLINETAB OCCURS 10.
        INCLUDE STRUCTURE TLINE.
DATA: END OF TLINETAB.

DATA: SD_EDITOR_TITLE LIKE TTXIT-TDTEXT,
      SD_FUNCTION.

DATA: TEXT_IS_EXIST LIKE SY-TFILL.

data: t_txid_vrm type vrm_values,
      gs_txid_vrm type vrm_value.

data mat(18) type n.

data: gt_ttxit type standard table of ttxit with header line.

* Parameters
PARAMETERS: OBJEKT   LIKE THEAD-TDOBJECT DEFAULT 'MATERIAL'.

selection-screen begin of line.
selection-screen comment (33) text-001 for field txid.
parameters txid like THEAD-TDID obligatory as listbox visible length 30 default 'GRUN'.
selection-screen end of line.

PARAMETERS: SPRA   LIKE THEAD-TDSPRAS  DEFAULT SY-LANGU,
            NAME   LIKE THEAD-TDNAME   OBLIGATORY.

* at selection-screen output
at selection-screen output.
  perform create_txid.
  loop at screen.
    if screen-name = 'OBJEKT'.
      screen-input = 0.
      modify screen.
    endif.
  endloop.

end-of-selection.

* Processing
  REFRESH: XTHEAD,
           TLINETAB.

* Если текст.объект = MATERIAL, проверка есть ли такой материал
  perform material_is_exist.

* Проверка на существование текстового объекта (MATERIAL)
  perform text_object_is_exist.

* Проверка на существование ID для текстового объекта (MATERIAL)
  perform text_id_is_exist.

* Проверка введен ли подробный текст для соответствующего объекта/ID
  perform text_is_exist.


* Если текст не существует, то создание
  IF TEXT_IS_EXIST = 0.
    perform text_init.

* Если текст существует, то чтение
  ELSE.
    perform text_read.
  ENDIF.

* Редактирование текста
  perform text_edit_on_screen.

* Сохранение текста
  perform text_save.


*&---------------------------------------------------------------------*
*&      Form  text_object_is_exist
*&---------------------------------------------------------------------*
FORM text_object_is_exist .
  SELECT SINGLE * FROM TTXOB
                       WHERE TDOBJECT = OBJEKT.
  IF SY-SUBRC <> 0.
    MESSAGE A014 WITH OBJEKT.
  ENDIF.

ENDFORM.                    " text_object_is_exist

*&---------------------------------------------------------------------*
*&      Form  text_id_is_exist
*&---------------------------------------------------------------------*
FORM text_id_is_exist .
  SELECT SINGLE * FROM TTXID
                       WHERE TDOBJECT = OBJEKT
                         AND TDID     = TXID.
  IF SY-SUBRC <> 0.
    MESSAGE A020 WITH TXID OBJEKT.
  ELSE.
    SELECT SINGLE * FROM TTXIT
                         WHERE TDSPRAS  = SY-LANGU
                           AND TDOBJECT = OBJEKT
                           AND TDID     = TXID.
    SD_EDITOR_TITLE = TTXIT-TDTEXT.
  ENDIF.

  IF NAME CA '*' OR NAME CA '&'.
    MESSAGE A021 WITH '&' '*'.
  ENDIF.

ENDFORM.                    " text_id_is_exist

*&---------------------------------------------------------------------*
*&      Form  text_is_exist
*&---------------------------------------------------------------------*
FORM text_is_exist .
  CALL FUNCTION 'SELECT_TEXT'
    EXPORTING
      ID         = TXID
      LANGUAGE   = SPRA
      NAME       = NAME
      OBJECT     = OBJEKT
    IMPORTING
      ENTRIES    = TEXT_IS_EXIST
    TABLES
      SELECTIONS = XTHEAD.

ENDFORM.                    " text_is_exist

*&---------------------------------------------------------------------*
*&      Form  text_init
*&---------------------------------------------------------------------*
FORM text_init .
  CALL FUNCTION 'INIT_TEXT'
    EXPORTING
      ID       = TXID
      LANGUAGE = SPRA
      NAME     = NAME
      OBJECT   = OBJEKT
    IMPORTING
      HEADER   = THEADER
    TABLES
      LINES    = TLINETAB
    EXCEPTIONS
      ID       = 01
      LANGUAGE = 02
      NAME     = 03
      OBJECT   = 04.

  IF SY-SUBRC <> 0.
    MESSAGE A017.
  ENDIF.

ENDFORM.                    " text_init

*&---------------------------------------------------------------------*
*&      Form  text_read
*&---------------------------------------------------------------------*
FORM text_read .
  CALL FUNCTION 'READ_TEXT'
    EXPORTING
      CLIENT                  = SY-MANDT
      ID                      = TXID
      LANGUAGE                = SPRA
      NAME                    = NAME
      OBJECT                  = OBJEKT
    IMPORTING
      HEADER                  = THEADER
    TABLES
      LINES                   = TLINETAB
    EXCEPTIONS
      ID                      = 01
      LANGUAGE                = 02
      NAME                    = 03
      NOT_FOUND               = 04
      OBJECT                  = 05
      REFERENCE_CHECK         = 06
      WRONG_ACCESS_TO_ARCHIVE = 07.

  IF SY-SUBRC <> 0.
    MESSAGE A017.
  ENDIF.

ENDFORM.                    " text_read

*&---------------------------------------------------------------------*
*&      Form  text_edit_on_screen
*&---------------------------------------------------------------------*
FORM text_edit_on_screen .
  CALL FUNCTION 'EDIT_TEXT'
    EXPORTING
      DISPLAY      = ' '
      EDITOR_TITLE = SD_EDITOR_TITLE
      HEADER       = THEADER
      SAVE         = 'X'
    IMPORTING
      FUNCTION     = SD_FUNCTION
      NEWHEADER    = THEADER
    TABLES
      LINES        = TLINETAB
    EXCEPTIONS
      ID           = 01
      LANGUAGE     = 02
      LINESIZE     = 03
      NAME         = 04
      OBJECT       = 05.

  IF SY-SUBRC <> 0.
    MESSAGE A017.
  ENDIF.

ENDFORM.                    " text_edit_on_screen

*&---------------------------------------------------------------------*
*&      Form  text_save
*&---------------------------------------------------------------------*
FORM text_save .
  CALL FUNCTION 'SAVE_TEXT'
    EXPORTING
      HEADER          = THEADER
      INSERT          = ' '
      SAVEMODE_DIRECT = 'X'
    IMPORTING
      FUNCTION        = SD_FUNCTION
      NEWHEADER       = THEADER
    TABLES
      LINES           = TLINETAB
    EXCEPTIONS
      ID              = 01
      LANGUAGE        = 02
      NAME            = 03
      OBJECT          = 04.

  IF SY-SUBRC <> 0.
    MESSAGE A017.
  ENDIF.

ENDFORM.                    " text_save

*&---------------------------------------------------------------------*
*&      Form  create_txid
*&---------------------------------------------------------------------*
FORM create_txid .
  refresh: t_txid_vrm.
  if gt_ttxit[] is initial.

    select * into table gt_ttxit from ttxit
                                where tdspras  = sy-langu
                                  and tdobject = objekt.

    if sy-subrc = 0.
      loop at gt_ttxit.
        clear: gs_txid_vrm.
        gs_txid_vrm-key  = gt_ttxit-tdid.
        gs_txid_vrm-text = gt_ttxit-tdtext.
        append gs_txid_vrm to t_txid_vrm.
      endloop.
    endif.
  endif.

  call function 'VRM_SET_VALUES'
    EXPORTING
      id     = 'TXID'
      values = t_txid_vrm.

ENDFORM.                    " create_txid

*&---------------------------------------------------------------------*
*&      Form  material_is_exist
*&---------------------------------------------------------------------*
FORM material_is_exist .
  if objekt eq 'MATERIAL'.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        INPUT  = name
      IMPORTING
        OUTPUT = mat.

    move mat to name.

    select single * from mara where matnr eq mat.
    if sy-subrc ne 0.
      message e305(m3) with mat.
      exit.
    endif.

  endif.

ENDFORM.                    " material_is_exist


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Загрузка длинных текстов в материалах через LSMW.
СообщениеДобавлено: Вт, сен 18 2012, 15:52 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 18 2012, 12:07
Сообщения: 26
OlegDm написал(а):
Вот программка которая работает с подробным текстом. Переделать под загрузку - думаю не проблема:

Code:
REPORT ZPM_ASSIGN_LONGTEXT_TO_MAT MESSAGE-ID VX.

type-pools: vrm.

* Tables
TABLES:     mara,
            STXH,
            STXL,
            TTXOB,
            TTXID,
            TTXIT.

* Data Definition
DATA: BEGIN OF XTHEAD OCCURS 1.
        INCLUDE STRUCTURE THEAD.
DATA: END OF XTHEAD.

DATA: THEADER LIKE THEAD.

DATA  BEGIN OF TLINETAB OCCURS 10.
        INCLUDE STRUCTURE TLINE.
DATA: END OF TLINETAB.

DATA: SD_EDITOR_TITLE LIKE TTXIT-TDTEXT,
      SD_FUNCTION.

DATA: TEXT_IS_EXIST LIKE SY-TFILL.

data: t_txid_vrm type vrm_values,
      gs_txid_vrm type vrm_value.

data mat(18) type n.

data: gt_ttxit type standard table of ttxit with header line.

* Parameters
PARAMETERS: OBJEKT   LIKE THEAD-TDOBJECT DEFAULT 'MATERIAL'.

selection-screen begin of line.
selection-screen comment (33) text-001 for field txid.
parameters txid like THEAD-TDID obligatory as listbox visible length 30 default 'GRUN'.
selection-screen end of line.

PARAMETERS: SPRA   LIKE THEAD-TDSPRAS  DEFAULT SY-LANGU,
            NAME   LIKE THEAD-TDNAME   OBLIGATORY.

* at selection-screen output
at selection-screen output.
  perform create_txid.
  loop at screen.
    if screen-name = 'OBJEKT'.
      screen-input = 0.
      modify screen.
    endif.
  endloop.

end-of-selection.

* Processing
  REFRESH: XTHEAD,
           TLINETAB.

* Если текст.объект = MATERIAL, проверка есть ли такой материал
  perform material_is_exist.

* Проверка на существование текстового объекта (MATERIAL)
  perform text_object_is_exist.

* Проверка на существование ID для текстового объекта (MATERIAL)
  perform text_id_is_exist.

* Проверка введен ли подробный текст для соответствующего объекта/ID
  perform text_is_exist.


* Если текст не существует, то создание
  IF TEXT_IS_EXIST = 0.
    perform text_init.

* Если текст существует, то чтение
  ELSE.
    perform text_read.
  ENDIF.

* Редактирование текста
  perform text_edit_on_screen.

* Сохранение текста
  perform text_save.


*&---------------------------------------------------------------------*
*&      Form  text_object_is_exist
*&---------------------------------------------------------------------*
FORM text_object_is_exist .
  SELECT SINGLE * FROM TTXOB
                       WHERE TDOBJECT = OBJEKT.
  IF SY-SUBRC <> 0.
    MESSAGE A014 WITH OBJEKT.
  ENDIF.

ENDFORM.                    " text_object_is_exist

*&---------------------------------------------------------------------*
*&      Form  text_id_is_exist
*&---------------------------------------------------------------------*
FORM text_id_is_exist .
  SELECT SINGLE * FROM TTXID
                       WHERE TDOBJECT = OBJEKT
                         AND TDID     = TXID.
  IF SY-SUBRC <> 0.
    MESSAGE A020 WITH TXID OBJEKT.
  ELSE.
    SELECT SINGLE * FROM TTXIT
                         WHERE TDSPRAS  = SY-LANGU
                           AND TDOBJECT = OBJEKT
                           AND TDID     = TXID.
    SD_EDITOR_TITLE = TTXIT-TDTEXT.
  ENDIF.

  IF NAME CA '*' OR NAME CA '&'.
    MESSAGE A021 WITH '&' '*'.
  ENDIF.

ENDFORM.                    " text_id_is_exist

*&---------------------------------------------------------------------*
*&      Form  text_is_exist
*&---------------------------------------------------------------------*
FORM text_is_exist .
  CALL FUNCTION 'SELECT_TEXT'
    EXPORTING
      ID         = TXID
      LANGUAGE   = SPRA
      NAME       = NAME
      OBJECT     = OBJEKT
    IMPORTING
      ENTRIES    = TEXT_IS_EXIST
    TABLES
      SELECTIONS = XTHEAD.

ENDFORM.                    " text_is_exist

*&---------------------------------------------------------------------*
*&      Form  text_init
*&---------------------------------------------------------------------*
FORM text_init .
  CALL FUNCTION 'INIT_TEXT'
    EXPORTING
      ID       = TXID
      LANGUAGE = SPRA
      NAME     = NAME
      OBJECT   = OBJEKT
    IMPORTING
      HEADER   = THEADER
    TABLES
      LINES    = TLINETAB
    EXCEPTIONS
      ID       = 01
      LANGUAGE = 02
      NAME     = 03
      OBJECT   = 04.

  IF SY-SUBRC <> 0.
    MESSAGE A017.
  ENDIF.

ENDFORM.                    " text_init

*&---------------------------------------------------------------------*
*&      Form  text_read
*&---------------------------------------------------------------------*
FORM text_read .
  CALL FUNCTION 'READ_TEXT'
    EXPORTING
      CLIENT                  = SY-MANDT
      ID                      = TXID
      LANGUAGE                = SPRA
      NAME                    = NAME
      OBJECT                  = OBJEKT
    IMPORTING
      HEADER                  = THEADER
    TABLES
      LINES                   = TLINETAB
    EXCEPTIONS
      ID                      = 01
      LANGUAGE                = 02
      NAME                    = 03
      NOT_FOUND               = 04
      OBJECT                  = 05
      REFERENCE_CHECK         = 06
      WRONG_ACCESS_TO_ARCHIVE = 07.

  IF SY-SUBRC <> 0.
    MESSAGE A017.
  ENDIF.

ENDFORM.                    " text_read

*&---------------------------------------------------------------------*
*&      Form  text_edit_on_screen
*&---------------------------------------------------------------------*
FORM text_edit_on_screen .
  CALL FUNCTION 'EDIT_TEXT'
    EXPORTING
      DISPLAY      = ' '
      EDITOR_TITLE = SD_EDITOR_TITLE
      HEADER       = THEADER
      SAVE         = 'X'
    IMPORTING
      FUNCTION     = SD_FUNCTION
      NEWHEADER    = THEADER
    TABLES
      LINES        = TLINETAB
    EXCEPTIONS
      ID           = 01
      LANGUAGE     = 02
      LINESIZE     = 03
      NAME         = 04
      OBJECT       = 05.

  IF SY-SUBRC <> 0.
    MESSAGE A017.
  ENDIF.

ENDFORM.                    " text_edit_on_screen

*&---------------------------------------------------------------------*
*&      Form  text_save
*&---------------------------------------------------------------------*
FORM text_save .
  CALL FUNCTION 'SAVE_TEXT'
    EXPORTING
      HEADER          = THEADER
      INSERT          = ' '
      SAVEMODE_DIRECT = 'X'
    IMPORTING
      FUNCTION        = SD_FUNCTION
      NEWHEADER       = THEADER
    TABLES
      LINES           = TLINETAB
    EXCEPTIONS
      ID              = 01
      LANGUAGE        = 02
      NAME            = 03
      OBJECT          = 04.

  IF SY-SUBRC <> 0.
    MESSAGE A017.
  ENDIF.

ENDFORM.                    " text_save

*&---------------------------------------------------------------------*
*&      Form  create_txid
*&---------------------------------------------------------------------*
FORM create_txid .
  refresh: t_txid_vrm.
  if gt_ttxit[] is initial.

    select * into table gt_ttxit from ttxit
                                where tdspras  = sy-langu
                                  and tdobject = objekt.

    if sy-subrc = 0.
      loop at gt_ttxit.
        clear: gs_txid_vrm.
        gs_txid_vrm-key  = gt_ttxit-tdid.
        gs_txid_vrm-text = gt_ttxit-tdtext.
        append gs_txid_vrm to t_txid_vrm.
      endloop.
    endif.
  endif.

  call function 'VRM_SET_VALUES'
    EXPORTING
      id     = 'TXID'
      values = t_txid_vrm.

ENDFORM.                    " create_txid

*&---------------------------------------------------------------------*
*&      Form  material_is_exist
*&---------------------------------------------------------------------*
FORM material_is_exist .
  if objekt eq 'MATERIAL'.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        INPUT  = name
      IMPORTING
        OUTPUT = mat.

    move mat to name.

    select single * from mara where matnr eq mat.
    if sy-subrc ne 0.
      message e305(m3) with mat.
      exit.
    endif.

  endif.

ENDFORM.                    " material_is_exist


Спасибо за комменты! Выкрутился по-другому: написал загрузку с экселя таблицы из 2ух полей (номер материала и длинное имя), а затем этим кодом в цикле проставил материалам длинные наименования:

DATA:lv_header TYPE thead,
lv_xerfmg TYPE string,
lt_lines TYPE STANDARD TABLE OF tline WITH HEADER LINE.

lv_header-tdobject = 'MATERIAL'.
lv_header-tdname = wa_record-f1. "Код материала
lv_header-tdid = 'GRUN'.
lv_header-tdspras = 'R'.

lt_lines-tdline = wa_record-f2. "Длинное наименование материала
APPEND lt_lines.

CALL FUNCTION 'CREATE_TEXT'
EXPORTING
fid = lv_header-tdid
flanguage = lv_header-tdspras
fname = lv_header-tdname
fobject = lv_header-tdobject
TABLES
flines = lt_lines[].

вроде работает, но не знаю с какой скоростью будет грузиться для нескольких десятков тысяч позиций материалов.....


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка длинных текстов в материалах через LSMW.
СообщениеДобавлено: Вс, сен 23 2012, 14:45 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 18 2012, 12:07
Сообщения: 26
Всё было бы хорошо, если не ещё одна поблема, грузится только 132 символа, если склеивать строки, то на стыках появляется символ перевода каретки!:

Code:
DATA:lv_header TYPE thead,
                      lv_xerfmg TYPE string,
                      lt_lines TYPE STANDARD TABLE OF tline WITH HEADER LINE.
                      lv_header-tdobject = 'MATERIAL'.
                      lv_header-tdname = str1.
                      lv_header-tdid  = 'GRUN'.
                      lv_header-tdspras = 'R'.

  DATA: IT_TEXTS type standard table of TLINE,
  wa_texts like line of it_texts,
  THEAD    TYPE THEAD.
  wa_texts-tdformat = '*'.  "new line
  wa_texts-tdline =  str2.
  append wa_texts to it_texts.
  wa_texts-tdformat = '='.  "не смотря на то, что прописано явно склеивать строки!
  wa_texts-tdline = str3.
  append wa_texts to it_texts.
  "clear: wa_texts.
  CALL FUNCTION 'CREATE_TEXT'
                        EXPORTING
                          fid       = lv_header-tdid
                          flanguage = lv_header-tdspras
                          fname     = lv_header-tdname
                          fobject   = lv_header-tdobject
                        TABLES
                          flines    = IT_TEXTS."lt_lines[].
                        clear: lt_lines[], lv_header, lv_xerfmg, IT_TEXTS.


вот что в итоге получается:
строка2
строка3
а надо чтоб было:
строка2строка3


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка длинных текстов в материалах через LSMW.
СообщениеДобавлено: Вт, окт 16 2012, 18:58 
Модератор
Модератор

Зарегистрирован:
Пн, июн 27 2011, 08:25
Сообщения: 479
sergeyprotasoff написал(а):
Люди, столкнулся с такой проблемой-в дополнительных данных материала (MM02, кнопка доп.данные), закладка Текст/ОсновнДанные пытаюсь загрузить текст через LSMW, но все безуспешно (это поле хранится в кодированном виде в таблицах STXL, STXH). Может кто грузил как-то? Возможно ли это через LSMW грузануть или всё тщетно?



Можно.

При загрузке нужно создавать две структуры: одна - главная; другая - вспомогательная, содержащая текст любой длины, разбитый тегами, которые формируют формат: можно сделать одной строкой (1000 символов и более); а можно в табличном варианте и даже с комментариями.
Вообщем, LSWM может загрузить текст любой длины через Direct Input (сам делал) и, думаю, через другие методы.


Если нужно могу сбросить - проект в виде текстового файлика :-)


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

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


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

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


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

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