Автор Тема: Приложения к стандартным документам  (Прочитано 8416 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 743
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Приложения к стандартным документам
« : Август 30, 2007, 10:47:33 am »
В общем в большинстве документов появилась возможность приатачивания каких-либо заметок или файлов. Пример на рисунке 1.bmp ниже. Затем при просмотре приложений, рисунок 2, что ну очень неудобно удалить такое приложение можно независимо от того в каком режиме находится документ (просмотр/редактирование) так и еще и следов не остается кто грохнул атачмент. В общем вопрос такой, можно или запретить как-то удаление приложений полномочиями или по крайней мере может где-то логи или еще что есть, чтобы определить кто удалил и настучать по голове...

Оффлайн №1

  • Administrator
  • Jr. Member
  • *****
  • Сообщений: 636
  • Репутация: +23/-0
  • Пол: Мужской
  • Судьбы я вызов принимаю прямым пожатием руки
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Приложения к стандартным документам
« Ответ #1 : Август 30, 2007, 03:02:27 pm »
По картинкам похоже, что GOS используется... Может нота 1018667 поможет?
Мой You are not allowed to view links. Register or Login

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 743
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Приложения к стандартным документам
« Ответ #2 : Август 30, 2007, 05:33:07 pm »
Да однако это оно самое. Но тот кто делал ноту видно стандартный индус. Так как по ноте, максимум, что можно сделать, это для пользователя определить вывод окна подтверждения удаления приложения. В общем ноту взял на вооружение, однако вставку слегка модифицировал, добавил проверку на код объекта полномочий. В общем случае сейчас работает так, проверяет наличие у пользователя прав на удаление. Если нет, сообщает об отсутствии прав на удаление. Если права есть, тогда выводит окошко запроса подтверждения удаления и если нажато "Да", тогда и выполняется удаление.

В общем виде стандартное предложение по модификации выглядит так:

Код: You are not allowed to view links. Register or Login
[b]Сам текст ноты[/b]

Summary
Symptom

When you delete documents from the GOS (Generic Object Services) attachment list, the system issues no confirmation prompt to check whether you really want to delete the document. This should happen.
Other terms

GOS attachment list, delete document
Reason and Prerequisites

This problem is caused by missing functions.
Solution

Use the Note Assistant to implement the correction instructions, or import the relevant Support Package. After you implement the corrections, you can use the user parameter 'SGOS_DELETE' to decide whether or not the system should issue a confirmation prompt when deleting in the attachment list. Set the parameter in the user data accordingly.
Information about implementation using the Note Assistant:

If you implement the note using the Note Assistant, you must implement the following manual corrections:

    * Create the user parameter (SET/GET Parameter) SGOS_DELETE:

          o Call the Object Navigator SE80, enter the development class SGOS.

          o SET/GET parameters: Choose "Create".

          o Parameter: SGOS_DELETE
            Short text: Confirmation prompt when deleting attachments

    * According to the corrections, the dialog box displays the text only in English. If you want another language, you must create the following text elements:

          o Class Builder SE24, class CL_GOS_ATTACHMENT_LIST (Release 46C)
            Class Builder SE24, class CL_MSG_AL_ITEM (Release higher than 620)

          o In the menu, chose "Goto" and "Text elements".

            Text element Text
            020 Document will be deleted. Continue?
            021 Confirm deletion
            022 Yes
            023 No

Header Data

Release Status: Released for Customer
Released on: 23.01.2007  13:01:13
Priority: Recommendations/additional info
Category: Program error
Primary Component: BC-SRV-GBT-GOS Generic Object Services

Предложение по модификации по ноте:
Код: You are not allowed to view links. Register or Login
Delta 001
Context Block

        CALL FUNCTION 'SO_DOCUMENTS_MANAGER'
             EXPORTING
                  activity  = 'EXPO'
             TABLES
                  documents = lt_sood.

      ENDIF.

    WHEN OTHERS.


Delete Block

      IF ip_fcode = '%ATTA_DELETE' OR
         ip_fcode = '%NOTE_DELETE' OR
         ip_fcode = '%URL_DELETE'  OR
         ip_fcode = '%DELETE_OBJECT' OR
         ip_fcode = '%EDIT_OBJECT'.



Insert Block

*     add confirmation popup for delete
      IF ip_fcode = '%ATTA_DELETE' OR
         ip_fcode = '%NOTE_DELETE' OR
         ip_fcode = '%URL_DELETE'  OR
         ip_fcode = '%DELETE_OBJECT'.
        data: question   type string,
              conf_popup type c,
              answer     type c.
        get parameter id 'SGOS_DELETE' field conf_popup.
        if conf_popup eq 'X'.
          question = 'Document will be deleted. Continue?'(020).
          call function 'POPUP_TO_CONFIRM'
            exporting
              TITLEBAR                    = 'Confirm Deletion'(021)
              text_question               = question
              TEXT_BUTTON_1               = 'Yes'(022)
              TEXT_BUTTON_2               = 'No'(023)
              DEFAULT_BUTTON              = '2'
              DISPLAY_CANCEL_BUTTON       = ' '
            IMPORTING
              ANSWER                      = answer
            EXCEPTIONS
              TEXT_NOT_FOUND              = 1
              OTHERS                      = 2
                    .
        else.
          answer = '1'.
        endif.
      endif.
      if answer = '1' or
         ip_fcode = '%EDIT_OBJECT'.

Мое предложение по модификации выглядит так:
Код: You are not allowed to view links. Register or Login
* Insert Block

************************************************************************
*     Start add confirmation popup for delete note 1018667
************************************************************************

*      IF ip_fcode = '%ATTA_DELETE' OR
*         ip_fcode = '%NOTE_DELETE' OR
*         ip_fcode = '%URL_DELETE'  OR
*         ip_fcode = '%DELETE_OBJECT' OR
*         ip_fcode = '%EDIT_OBJECT'.

*&**********************************************************************
*& Comments    : Управление удалениями приложений GOS (в документах)
*& Platform    : SAP R/3 V4.6C or later
*& Autor       : Oleg
*& Date create : 30-08-2007
*& Date change : 30-08-2007
*& Text
*& Вставка сделана согласно ноте 1018667, однако выполнена модификация
*& этой вставки, добавлен объект полномчий разрешающих операцюи удаления
*& объекта приложения к документу. В любом случае всегда задается вопрос
*& если удаление разрешено через полномочия.
*& --------------------------
*& Объект проверки полномочий:
*& AUTHORITY-CHECK OBJECT 'Y:GOS_DELE'
*&                 ID 'ACTVT' FIELD '06'.
*& Если объекта нет в профиле пользователя удаление запрещено.
*& Создание объектов полномочий, транзакция SU21
*&**********************************************************************
      IF ip_fcode = '%ATTA_DELETE' OR
         ip_fcode = '%NOTE_DELETE' OR
         ip_fcode = '%URL_DELETE'  OR
         ip_fcode = '%DELETE_OBJECT'.

        DATA: question   TYPE string,
*             conf_popup TYPE c,
              answer     TYPE c.

*       GET PARAMETER ID 'SGOS_DELETE' FIELD conf_popup.
        AUTHORITY-CHECK OBJECT 'Y:GOS_DELE'
                 ID 'ACTVT' FIELD '06'.
        IF sy-subrc = 0.
          question = 'Document will be deleted. Continue?'(020).
          CALL FUNCTION 'POPUP_TO_CONFIRM'
               EXPORTING
                    titlebar              = 'Confirm Deletion'(021)
                    text_question         = question
                    text_button_1         = 'Yes'(022)
                    text_button_2         = 'No'(023)
                    default_button        = '2'
                    display_cancel_button = ' '
               IMPORTING
                    answer                = answer
               EXCEPTIONS
                    text_not_found        = 1
                    OTHERS                = 2.
        ELSE.
          answer = 'E'.                         "Удаление запрещено
          MESSAGE ID 'YA' TYPE 'I' NUMBER '091'. "У вас нет полномочий на удаление!
        ENDIF.
      ENDIF.

      IF answer = '1' OR
         ip_fcode = '%EDIT_OBJECT'.
************************************************************************
*     End add confirmation popup for delete note 1018667
************************************************************************

Мне кажется что мое решение более лучшее, так как управляется стандартно через роли, а не объекты SET/GET

Оффлайн №1

  • Administrator
  • Jr. Member
  • *****
  • Сообщений: 636
  • Репутация: +23/-0
  • Пол: Мужской
  • Судьбы я вызов принимаю прямым пожатием руки
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Приложения к стандартным документам
« Ответ #3 : Август 30, 2007, 07:17:49 pm »
Насколько помнится на GOS нет стандартных объектов полномочий, а поэтому у индуса вариантов не было ;) известно насколько тяжко проходит процедура появления новых объектов в альма-матерь её... орднунг ист орднунг ::)
Мой You are not allowed to view links. Register or Login

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 743
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Приложения к стандартным документам
« Ответ #4 : Август 31, 2007, 10:26:36 am »
You are not allowed to view links. Register or Login
Насколько помнится на GOS нет стандартных объектов полномочий, а поэтому у индуса вариантов не было ;)
Ну я как говорится пока SAP не пишу... но голову надо было включать до того, как они вообще что-то делают... а не после когда это уже все стало работать. К тому же в чем проблема добавления новых объектов полномочий, честно не понимаю... ну проверяй что если 12, то объекта нет в профиле, если 4, то нет полномочий да и все проблемы с новыми объектами... т.е. кому надо будет их использовать, кому нет... не будут... но уже ECC 6.0 на дворе, а ж...а все та же.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 743
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Приложения к стандартным документам
« Ответ #5 : Январь 21, 2020, 10:35:17 am »
Кстати наконец-то таки появились стандартные объекты полномочий. С базиса 7.00 и выше с переходом в S/4HANA теперь это работает следующим образом. Для выдачи окна запроса на удаление так и остался параметр SGOS_DELETE, который надо прописать в профиле пользователя. А вот далее добавили следующие объекты полномочий:

Полномочия администратора, если есть. то можно делать с вложением все что угодно.
Код: You are not allowed to view links. Register or Login
* admin has all authorizations
  authority-check object 'S_OC_ROLE'
                  id     'OFFADMI'
                  field  'ADMINISTRATOR'.

Обычный объект для проверки действия 02 - редактирование, 06 - удаление
Код: You are not allowed to view links. Register or Login

   authority-check object 'S_GOS_ATT'
                    id     'BOROBJTYPE' field  lv_object
                    id     'ACTVT'      field  '02' или '06'.

И дальше как обычно, ложка дегтя, если это делает автор вложения, то никакие проверки не выполняются. Автор может делать с вложением что угодно.