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

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


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

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


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

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