Текущее время: Чт, июн 19 2025, 22:45

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Полномочия в Report Painter на отдельные записи
СообщениеДобавлено: Вт, апр 23 2013, 16:26 
Ассистент
Ассистент

Зарегистрирован:
Пт, апр 27 2012, 11:47
Сообщения: 25
Коллеги, пытаюсь сформировать отчет, построенный на библиотеке CMB таблице CCSS (Таблица отчетов: контроллинг косвенных затрат)
Отчет - "Фактически затраты по договорам". Данные считываются из таблицы COEP!

При построении отчета выводится сообщение об ошибке :

Отчет 'Дог-р/Кредитор/ВидЗа' является неполным.
На 43 из 70 считанных записей нет полномочий.
Отчет 'ВидЗатр/Дог-р/Кред-р' является неполным.
Отчет 'Объект/Кредитор/Дого' является неполным.
Отчет 'Кред-р/Дог-р/ВидЗатр' является неполным.
Отчет 'ВидЗатр/Кред-р/Дог-р' является неполным.

Сообщения : GR831 и GR587.

Т.е. 43 записи система не смогла прочесть, так как не хватает полномочий. Соответственно, некоторые суммы не считались в отчет и конечные суммы не корректны .
Присваивали SAP ALL - не помогло.

Продебажив программу, я понял, что это никак не связано с обычными полномочиями.

Каждая запись уходит на PERFORM E14_AUTHORITY_CHECK(SAPFK21R)
USING CUR-TAB SUBRC.

И если SUBRC возвратится не 0, то система посчитает данную запись пригодной для считывания.


Внутри данной формы есть сама обработка якобы полномочий, на самом деле контировок, по каждой записи из COEP по номеру объекта.

WHEN 'COEP'.
PERFORM authority_objnr_kstar USING coep-kstar
coep-gjahr "K11K079685
coep-objnr "K11K079685
actvt_einzelposten
CHANGING
returncode.

И самое главное, что нужная запись, которая должна была бы попасть, она не содержит sav_ccr1s-aufnr номер заказа, сравнивая номер заказа предыдущей записи и текущей.

IF coas-aufnr <> sav_ccr1s-aufnr AND NOT sav_ccr1s-aufnr IS INITIAL.
"P22K005305
READ TABLE aufnr_kokrs_buf WITH KEY aufnr = sav_ccr1s-aufnr
BINARY SEARCH .
save_tabix = sy-tabix.
IF sy-subrc NE 0.
IF NOT g_archive_flag IS INITIAL AND g_xusedb IS INITIAL. "ins 1456309
CALL FUNCTION 'KARL_MASTERDATA_GET'
EXPORTING
i_objnr = objnr
IMPORTING
e_masterdata = aufk
EXCEPTIONS
not_found = 1
OTHERS = 2.
ENDIF.

IF ( g_archive_flag IS INITIAL AND g_xusedb IS INITIAL )
OR sy-subrc NE 0. "ins 1456309
CALL FUNCTION 'DDIF_NAMETAB_GET'
EXPORTING
tabname = 'COAS_BUF'
TABLES
dfies_tab = i_nametab
EXCEPTIONS
OTHERS = 1.

REFRESH fieldtab.
LOOP AT i_nametab.
fieldtab-field = i_nametab-fieldname.
APPEND fieldtab.
ENDLOOP.

SELECT SINGLE (fieldtab) FROM aufk
INTO CORRESPONDING FIELDS OF aufk
WHERE aufnr = sav_ccr1s-aufnr.
MOVE-CORRESPONDING aufk TO aufnr_kokrs_buf.
INSERT aufnr_kokrs_buf INDEX save_tabix.
ENDIF.

ELSE.
MOVE-CORRESPONDING aufnr_kokrs_buf TO aufk.
aufk-mandt = sy-mandt.
ENDIF.
MOVE-CORRESPONDING AUFK TO COAS.
ELSE.
MOVE-CORRESPONDING coas TO aufk. а в COAS при этом содержатся данные предыдущей позиции\записи.
aufk-mandt = sy-mandt.
ENDIF.


И далее в системе если заказ = 20, то на выходе SUBRC будет 0, соответственно текущая запись не попадает в отчет, хотя по факту, сравнивается предыдущая.

Т.е. если бы COAS обнулялся при выходе с данного перформа, то проблем бы не было.


Кто-нибудь может подскажет в чем беда? Или быть может дело не так "глубоко", как мне кажется?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Полномочия в Report Painter на отдельные записи
СообщениеДобавлено: Ср, апр 24 2013, 08:51 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, фев 28 2009, 22:20
Сообщения: 294
Откуда: Белгород
Пол: Мужской
error GR587
As described in Note 171384 the authorization check checks all values read physically by the database and not only records that are actually required for the report structure.
The reason why physical data is read which later is not even used in the report is because the length of a select statement is limited on the database. Therefore if a profit center group is selected for example which contains the profit center 1,2,3,4,5,7,8,9, then this is changed into a range and all data with profit centers of 1 to 10 are selected. Particularly therefore also data from profit center 6 which was not even in the original group. Then a missing authorization for profit center 6 may cause the error message. This is inconvenient, however, it can be programmed out by using the program correction from Note 171384 only as of Release 4.5A.
As a workaround you can try to expand the time from which the itemized values are changed. As a default, this can be done for profit center (RPRCTR) and account (RACCT) from 7 itemized values. This behavior is controlled via the table T804C. You can maintain this table via Transaction SM31.
Proceed as follows:

1. Position the cursor on the entry GLPCT/RPRCTR or GLPCT/RACCT (table/field name) for profit center or account.

2. Branch into the detail screen (F2).

3. Enter the new value in the 'max no. SELECT' field (screen field: T804C-MAX_SEL).

Regenerate the affected report groups.

A new value of 50 should be non-critical. SAP has made this the standard value as or Release 4.5A. You may however increase the value. You should reduce the value only if you get terminations during data base access due to select statements that are too long.
There is no other option to avoid the problem. If need be, you may simply have to accept error message GR587 or adjust the modifications so that selections are no longer made with too many itemized values.

_________________
Нужно делать так, как нужно. А как не нужно, делать не нужно! (с)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Полномочия в Report Painter на отдельные записи
СообщениеДобавлено: Ср, апр 24 2013, 09:16 
Ассистент
Ассистент

Зарегистрирован:
Пт, апр 27 2012, 11:47
Сообщения: 25
Birkin написал:
error GR587
As described in Note 171384 the authorization check checks all values read physically by the database and not only records that are actually required for the report structure.
The reason why physical data is read which later is not even used in the report is because the length of a select statement is limited on the database. Therefore if a profit center group is selected for example which contains the profit center 1,2,3,4,5,7,8,9, then this is changed into a range and all data with profit centers of 1 to 10 are selected. Particularly therefore also data from profit center 6 which was not even in the original group. Then a missing authorization for profit center 6 may cause the error message. This is inconvenient, however, it can be programmed out by using the program correction from Note 171384 only as of Release 4.5A.
As a workaround you can try to expand the time from which the itemized values are changed. As a default, this can be done for profit center (RPRCTR) and account (RACCT) from 7 itemized values. This behavior is controlled via the table T804C. You can maintain this table via Transaction SM31.
Proceed as follows:

1. Position the cursor on the entry GLPCT/RPRCTR or GLPCT/RACCT (table/field name) for profit center or account.

2. Branch into the detail screen (F2).

3. Enter the new value in the 'max no. SELECT' field (screen field: T804C-MAX_SEL).



У меня релиз 605. Данная нота слишком стара и не для моей системы.

И опишу ситуацию с дополнением:

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

И еще. Данная проблема именно по одному контрагенту. Сравнивал счета и карточки кредиторов\дебиторов в тесте и продуктиве все одинаково. В таблице T804C и в GRCT все идентично. В продуктиве месяц закрыт, сравнивал по январю 2013, т.е. ни настроек ни внесение данных не было, так как все ноты и настройки несутся с настроечной системы до продуктивной запросами.


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

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


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

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


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

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