Текущее время: Сб, июн 21 2025, 22:27

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




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Не удаляются данные из PSA
СообщениеДобавлено: Вт, мар 10 2009, 12:01 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Вс, янв 11 2009, 14:41
Сообщения: 902
Откуда: Москва
Пол: Мужской
В цепочке запланирован процесс "удаление запросов PSA". В нем перечислены
все PSA-таблицы, которые должны быть удалены. Однако, после выполнения запроса,
данные в PSA-таблице остаются... Если зайти в администрирование, то там запросов нет,
а данные есть (смотрел через SE16). Причем некоторые PSA-таблицы действительно отчищены.

Пока выхожу из ситуации тупой ABAP-овской программой, которая чистит недочищенные PSA-таблицы,
но думаю, что это не есть хорошо. Почему данные из PSA не удаляются? Чего и где посмотреть?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не удаляются данные из PSA
СообщениеДобавлено: Чт, мар 12 2009, 11:33 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Вс, июн 26 2005, 22:41
Сообщения: 1135
Откуда: Москва
Пол: Мужской
Проверить имена PSA таблиц через поиск.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не удаляются данные из PSA
СообщениеДобавлено: Чт, мар 12 2009, 11:47 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, авг 16 2006, 03:22
Сообщения: 464
Пол: Мужской
Вообще есть нота про несовпадение запросов в PSA и в дереве в RSA1 в версии 3.5. Номер 733371. Там были утилиты проверки и исправления такой несогласованности, но они исправляли реально только дерево RSA1. В обратную сторону так и не отработало правильно. Пользовался абапом. Возможно с той поры что-либо изменилась - появилась новая нота под новую версию или поправили утилиты.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не удаляются данные из PSA
СообщениеДобавлено: Чт, мар 12 2009, 13:49 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Вс, янв 11 2009, 14:41
Сообщения: 902
Откуда: Москва
Пол: Мужской
По-прежнему использую ABAP и модуль RSDU_PSA_DEL


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не удаляются данные из PSA
СообщениеДобавлено: Ср, май 27 2009, 09:29 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, фев 20 2007, 13:18
Сообщения: 63
Добрый день!
У нас такая же проблема с удалением PSA через цепочки.
Вы писали "По-прежнему использую ABAP и модуль RSDU_PSA_DEL"
Не могли привести текст этого модуля, у себя я его не нашла.
Спасибо!

у нас версия BW 3.5.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не удаляются данные из PSA
СообщениеДобавлено: Пт, ноя 06 2009, 17:01 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Вс, янв 11 2009, 14:41
Сообщения: 902
Откуда: Москва
Пол: Мужской
Что только не сделаешь ради симпатичной девушки (хоть и с большим опозданием) :D

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

Code:
FUNCTION Тра-ля-ля.
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*"  IMPORTING
*"     REFERENCE(P_T_DS) TYPE  ZMAT_TTDS
*"     REFERENCE(P_DEBUG) TYPE  RSBOOL-BOOL
*"----------------------------------------------------------------------

* просмотр источников данных
  field-symbols:
    <ds> like line of p_t_ds[].

  loop at p_t_ds assigning <ds>.

    data:
      v_logsys like <ds>-logsys_pro.

    if sy-sysid = 'бла-бла-бла'.
      v_logsys = <ds>-logsys_dev.
    else.
      v_logsys = <ds>-logsys_pro.
    endif.

    data:
      v_psa type TDSSeg-psa.

    select single
      psa
    into
      v_psa
    from
      rsdsseg
    where
      datasource = <ds>-datasource and
      logsys = v_logsys and
      objvers = 'A' and
      segid = 1.

    if sy-subrc = 0.

      concatenate v_psa '000' into v_psa.

      if not p_debug is initial.

        write: /
          'Обрабатывается:', v_psa.
      endif.

      data:
        v_t_request type table of RSREQUNR with header line.

      select distinct
        request
      into table
        v_t_request
      from
        (v_psa).

      loop at v_t_request.

        if p_debug is initial.

          CALL FUNCTION 'RSDU_PSA_DELETE'
          EXPORTING
            I_TABLNM = v_psa
            I_REQUEST = v_t_request
          EXCEPTIONS
            PSA_DELETE_FAILED = 1.
        else.
          write: /
            '  ', v_psa, v_t_request.
        endif.
      endloop.

    endif.
  endloop.

ENDFUNCTION.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не удаляются данные из PSA
СообщениеДобавлено: Пн, ноя 09 2009, 16:36 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, фев 20 2007, 13:18
Сообщения: 63
Добрый день!
Большое спасибо!
А то ведь PSA так полностью и не удалялись :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не удаляются данные из PSA
СообщениеДобавлено: Пн, апр 15 2013, 17:15 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Чт, дек 29 2011, 11:05
Сообщения: 48
Господа, а может кто-нибудь дать исходник кода на ФМ-ник 'RSDU_PSA_DELETE'? Так вышло что в системе его нет ,а данные удалять, как-то надо.

Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не удаляются данные из PSA
СообщениеДобавлено: Пт, апр 19 2013, 03:07 
Ассистент
Ассистент

Зарегистрирован:
Ср, фев 29 2012, 05:23
Сообщения: 26
Откуда: Хабаровск
Пол: Мужской
Code:
FUNCTION rsdu_psa_delete.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     REFERENCE(I_TABLNM) TYPE  RSD_TABLNM
*"     REFERENCE(I_REQUEST) TYPE  RSARI_REQUESTID
*"  EXCEPTIONS
*"      PSA_DELETE_FAILED
*"----------------------------------------------------------------------
  DATA:
    l_dbfunc TYPE rsdu_function,
    l_processed TYPE rs_bool.

* initialize
  l_processed = rs_c_true.

* check if table is partitioned
* get name of the DBMS-specific function module
  CALL FUNCTION 'RSDU__FUNCTION_NAME'
    EXPORTING
      i_function       = 'RSDU_PSA_DELETE'
    IMPORTING
      e_dbsys_function = l_dbfunc.

* DB-dependent implementation of 'RSDU_PSA_DELETE'
  CALL FUNCTION l_dbfunc
    EXPORTING
      i_tablnm                   = i_tablnm
      i_request                  = i_request
    CHANGING
      c_processed                = l_processed
    EXCEPTIONS
      psa_delete_failed          = 1
      OTHERS                     = 2.

  IF sy-subrc <> 0.
    RAISE psa_delete_failed.
  ENDIF.

  CHECK l_processed = rs_c_false.

*---------------------------------------------------------------------
* DB-independent implementation
*---------------------------------------------------------------------

  DATA:
    l_dummy      TYPE rsari_requestid,
    l_datapakid  TYPE rsdatapid,
    l_t_dp       LIKE rstsodsrequestpg OCCURS 0 WITH HEADER LINE.

  SELECT * FROM rstsodsrequestpg INTO TABLE l_t_dp
         WHERE request = i_request.
  SORT l_t_dp BY datapakid DESCENDING.

* Delete all records for that request
  SELECT SINGLE request FROM (i_tablnm) INTO l_dummy
                                      WHERE request = i_request.
  IF sy-subrc = 0.
* It could happen that the sequence of the datapakid include gaps
    LOOP AT l_t_dp.
      DELETE FROM (i_tablnm)
        WHERE request = i_request
        AND   datapakid = l_t_dp-datapakid.
      IF sy-subrc NE 0.
*       IF l_t_dp-datapakid < l_datapakid.
*       message_raising delete_error.
*          EXIT.
*        ENDIF.
      ENDIF.
      CALL FUNCTION 'DB_COMMIT'.
    ENDLOOP.
  ENDIF.
*-- Check if everything is deleted
  DO.
    SELECT SINGLE request datapakid
            FROM (i_tablnm) INTO (l_dummy, l_datapakid)
           WHERE request = i_request.
    IF sy-subrc = 0.
      DELETE FROM (i_tablnm)
       WHERE request   = i_request
       AND   datapakid = l_datapakid.
      IF sy-subrc <> 0.
        EXIT.
      ENDIF.
      CALL FUNCTION 'DB_COMMIT'.
    ELSE.
      EXIT.
    ENDIF.
  ENDDO.

ENDFUNCTION.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не удаляются данные из PSA
СообщениеДобавлено: Пн, май 06 2013, 15:21 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Чт, дек 29 2011, 11:05
Сообщения: 48
Добрый день.

Столкнулся с такой проблеммой, в девелопменте при удалении данных PSA с помощью ФМ-ника "rsdu_psa_delete" данные и заголовок запроса удаляются, но в девелопменте тестовые запросы имеют вид:
Изображение (т.е. данных в запросе не пришло)
Когда я перенес программу в продуктив и попытался удалить данные PSA ФМ-ником, то получил следующую картину: сами данные удалены, а заголовок в просмотре через "Администрирование" остался, эти запросы выглядят следующим образом:
Изображение
Изображение (но данные в этиз запросах в цели данных не прогружены!)

Что может быть за проблема? И есть ли другие ФМ-ники для корректного удаления данных из PSA?

Спасибо!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не удаляются данные из PSA
СообщениеДобавлено: Вт, май 07 2013, 13:18 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Чт, дек 29 2011, 11:05
Сообщения: 48
Решил проблему сам:

Вкратце, к указанному выполнению ФМ-ника нужно еще почистить таблицу RSTSODSREQUEST по параметрам: имя запроса и имя PSA-таблицы.

и проставить флаг удаления в таблицу: rstsodspart также по имени PSA и запроса.

вопрос закрыт.


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

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


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

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


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

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