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

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


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

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


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

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