Текущее время: Пн, июн 23 2025, 00:38

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


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

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


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

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