Текущее время: Вт, июл 22 2025, 18:17

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: GOS_SRV_REQUEST
СообщениеДобавлено: Чт, июл 26 2007, 13:58 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, мар 13 2006, 10:03
Сообщения: 58
использую этот BADI чтобы перхватить вызов сервиса создания заметки для документа (NOTE_CREA)
при этом мне нужно знать создал человек заметку или нет и ее заголовок желательно.
как это сделать ?
чтобы вызвать таки создание заметки вызываю событие rejected.
если пытаться создавать заметку через класс CL_GOS_DOCUMENT_SERVICE то ее не оказывается в общем списке
в общем я в тупике


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GOS_SRV_REQUEST
СообщениеДобавлено: Пт, фев 27 2009, 09:51 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, мар 09 2006, 10:12
Сообщения: 565
Откуда: Волгодонск
Пол: Мужской
С подобной проблемой мучаюсь,
сделал внедрение BADI GOS_SRV_REQUEST
в нём добавляю атачмент.

Теперь как то надо обновить интерфейс GOS, что то не могу придумать как это сделать

_________________
Изображение Попытка не пытка


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GOS_SRV_REQUEST
СообщениеДобавлено: Пт, фев 27 2009, 13:29 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, июн 16 2005, 10:29
Сообщения: 336
Откуда: Минск->Москва
Пол: Мужской
Для создания приложения попробуйте следующий код:
Для макросов INCLUDE <CNTN01>.
Code:
*&---------------------------------------------------------------------*
*&      Form  LOAD_FILE_TO_ATTACH
*&---------------------------------------------------------------------*
*       Прикрепление файлов к документу
*----------------------------------------------------------------------*
*      --> PF_FILE_NAME - имя файла
*      --> PF_OBJKEY    - ключ объекта
*      --> PF_OBJTYPE   - тип объекта
*     <--> PF_ERROR     - признак ошибки
*----------------------------------------------------------------------*
FORM load_file_to_attach  USING    pf_file_name TYPE string
                                   pf_temp_dir  TYPE char128
                                   pf_objkey    TYPE swo_typeid
                                   pf_objtype   TYPE swo_objtyp
                          CHANGING pf_error     TYPE c.
  DATA: ls_object_a    TYPE borident,
        ls_object_b    TYPE borident,
        lf_docty       LIKE borident-objtype VALUE 'MESSAGE',
        lf_str1        TYPE string,
        lf_str2        TYPE string,
        lf_ext         TYPE string,
        lo_message     TYPE swc_object,
        lf_message_key TYPE ts_message_key,
        lf_reltyp      LIKE breltyp-reltype VALUE 'ATTA',
        lf_msgtyp      LIKE sofm-doctp  VALUE 'PDF',
        lt_data_tab    TYPE STANDARD TABLE OF ts_blob,
        lf_file_length TYPE i,
        lf_filetype(10) TYPE c VALUE 'BIN',
        lf_result       TYPE c,
        lf_file(128)    TYPE c,
        lc_service      TYPE REF TO cl_gui_frontend_services,
        lf_filename     TYPE string,
        lf_rc           TYPE i,
        lf_offset       TYPE i,
        lf_size         TYPE i,
        lc_com1         TYPE ole2_object.

  pf_error = cc_x.
  CREATE OBJECT lc_service.
  ls_object_a-objkey =  pf_objkey.
  ls_object_a-objtype = pf_objtype.
  lf_file = pf_file_name.
  CONDENSE lf_file.
  lf_filename = lf_file.
  CALL METHOD lc_service->file_exist
    EXPORTING
      file                 = lf_filename
    RECEIVING
      result               = lf_result
    EXCEPTIONS
      cntl_error           = 1
      error_no_gui         = 2
      wrong_parameter      = 3
      not_supported_by_gui = 4
      OTHERS               = 5.

  lf_file = lf_filename.
  CREATE OBJECT lc_com1 'SAPINFO' NO FLUSH.
  IF SY-subrc IS INITIAL.
    CALL METHOD OF lc_com1 'GetFileSize' = lf_size
      "NO FLUSH
      EXPORTING #1 = lf_file.
  ENDIF.

  CHECK lf_result IS NOT INITIAL.

* Читаем файл с диска
  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      filename                = lf_filename
      filetype                = lf_filetype
    IMPORTING
      filelength              = lf_file_length
    TABLES
      data_tab                = lt_data_tab
    EXCEPTIONS
      file_open_error         = 1
      file_read_error         = 2
      no_batch                = 3
      gui_refuse_filetransfer = 4
      invalid_type            = 5
      no_authority            = 6
      unknown_error           = 7
      bad_data_format         = 8
      header_not_allowed      = 9
      separator_not_allowed   = 10
      header_too_long         = 11
      unknown_dp_error        = 12
      access_denied           = 13
      dp_out_of_memory        = 14
      disk_full               = 15
      dp_timeout              = 16.

  IF sy-subrc IS NOT INITIAL.
    MESSAGE s368(00) WITH 'Ошибка открытия файла' DISPLAY LIKE 'E'.
    EXIT.
  ENDIF.
*----------------------------------------------------------
* First derive the Attachment's ( MESSAGE )document type.
  lf_docty = 'MESSAGE'.

  lf_ext = pf_file_name.
  TRANSLATE lf_ext TO UPPER CASE.
  SPLIT lf_ext AT '.' INTO: lf_str1 lf_str2.

  lf_offset = STRLEN( pf_temp_dir ).
  lf_str1 = lf_str1+lf_offset.
* Take given parameter e.g. 'DOC', 'PDF' etc.
  IF lf_str2 = 'DOC' OR lf_str2 = 'XLS' OR lf_str2 = 'PDF' OR lf_str2 = 'RAR' OR
     lf_str2 = 'BMP' OR lf_str2 = 'JPG'.
    lf_msgtyp = lf_str2.
  ELSE.
    lf_msgtyp = 'EXT'.
  ENDIF.

* Create an initial instance of BO 'MESSAGE' - to call the
* instance-independent method 'Create'.
  swc_create_object lo_message 'MESSAGE' lf_message_key.

* define container to pass the parameter values to the method call
* in next step.
  swc_container lt_message_container.

* Populate container with parameters for method
  swc_set_element lt_message_container 'DOCUMENTTITLE' lf_str1.
  swc_set_element lt_message_container 'DOCUMENTLANGU' 'E'.
  swc_set_element lt_message_container 'NO_DIALOG'     'X'.
  swc_set_element lt_message_container 'DOCUMENTNAME'   lf_docty.
  swc_set_element lt_message_container 'DOCUMENTTYPE'  lf_msgtyp.

* 'DocumentContent' is a multi-line element ( itab ).
  swc_set_table lt_message_container 'DocumentContent' lt_data_tab.

* Size is required in case of File attachments
  swc_set_element lt_message_container 'DOCUMENTSIZE'   lf_file_length.

* Refresh to get the reference of create 'MESSAGE' object for attachment
  swc_refresh_object lo_message.
  swc_call_method lo_message 'CREATE' lt_message_container.

* Get Key of new object
  swc_get_object_key lo_message lf_message_key.

* Now we have attachment as a business object instance. We can now
* attach it to our main business object instance.

* Create attachment BO object_b
  ls_object_b-objkey = lf_message_key.
  ls_object_b-objtype = lf_docty.

*----------------------------------------------------------
  CALL FUNCTION 'BINARY_RELATION_CREATE'
    EXPORTING
      obj_rolea      = ls_object_a
      obj_roleb      = ls_object_b
      relationtype   = lf_reltyp
    EXCEPTIONS
      no_model       = 1
      internal_error = 2
      unknown        = 3.

  COMMIT WORK AND WAIT.

  CALL METHOD lc_service->file_delete
    EXPORTING
      filename = pf_file_name
    CHANGING
      rc       = lf_rc.

  CLEAR pf_error.
ENDFORM.                    " LOAD_FILE_TO_ATTACH


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GOS_SRV_REQUEST
СообщениеДобавлено: Пт, фев 27 2009, 18:25 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, мар 09 2006, 10:12
Сообщения: 565
Откуда: Волгодонск
Пол: Мужской
За исходник спасибо, но с атачментом я сам справился, хотя и несколько подругому, ваш вариант возможно несколько лучше.

проблема была с интерфейсом GOS из BADI добавлял атачмент, но интерфейс GOS не обновлялся.
В общем я так и не нашол как это сделать из BADI, поэтому сделал enhansment в начале метода из которого BADI вызывалось

_________________
Изображение Попытка не пытка


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

Зарегистрирован:
Вт, ноя 20 2007, 15:20
Сообщения: 139
Откуда: Казань
Пол: Мужской
Добрый день.
С помощью способа указаного выше прекрепляю в заявке на закупку текстовый файл. В результате он открывается как сообщение и русские буквы прикрепляются не корректно, если прикрепляю через ME52N то все впорядке файл просматривается блокнотом. Посмотрел в таблице SOOD тип стоит как RAW а не EXT. PDF открывается нормально. В чем может быть проблема?


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

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


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

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


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

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