Текущее время: Вс, май 20 2018, 23:42

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


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: как изменить bkpf-xref2_hd
СообщениеДобавлено: Чт, мар 29 2018, 23:26 
Специалист
Специалист

Зарегистрирован:
Пн, авг 27 2012, 14:27
Сообщения: 123
Добрый день.
Хочу изменить значение поля bkpf-xref2_hd . Пакетным вводом дело невозможно осуществить. Т.к. в моей системе в fb02 данное поле настроено быть нередактируемым.
Отсюда и все остальные ФМ , основанные на пакетнике, тоже не прокатывают. Использую ФМ FI_DOCUMENT_CHANGE , но постоянно выскакивают ошибки.
ls_1-fdname = 'XREF2_HD'.
CONCATENATE <fs_bkpf>-belnr <fs_bkpf>-gjahr INTO xref2_hd .
ls_1-newval = xref2_hd.
APPEND ls_1 TO lt_1.
CALL FUNCTION 'FI_DOCUMENT_CHANGE'
EXPORTING
i_awtyp = 'BKPF'
i_bukrs = <fs_bkpf>-bukrs
i_belnr = <fs_bkpf>-belnr
i_gjahr = <fs_bkpf>-gjahr
TABLES
t_accchg = lt_1
EXCEPTIONS
Может кто еще знает способы?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: как изменить bkpf-xref2_hd
СообщениеДобавлено: Пт, мар 30 2018, 07:50 
Специалист
Специалист

Зарегистрирован:
Ср, дек 22 2010, 20:49
Сообщения: 107
Добрый день!
Расширить BKPF_SUBST + OpenFI 1120

_________________
Человек готов работать 24 часа в сутки, лишь бы ничего не делать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: как изменить bkpf-xref2_hd
СообщениеДобавлено: Пт, мар 30 2018, 08:14 
Специалист
Специалист

Зарегистрирован:
Пн, июл 11 2011, 11:50
Сообщения: 191
Вот тут можно почитать viewtopic.php?f=13&t=37046


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: как изменить bkpf-xref2_hd
СообщениеДобавлено: Пн, апр 09 2018, 11:42 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 17:25
Сообщения: 2906
Пол: Мужской
Цитата:
Т.к. в моей системе в fb02 данное поле настроено быть нередактируемым.

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

Цитата:
Использую ФМ FI_DOCUMENT_CHANGE , но постоянно выскакивают ошибки.

Какие ошибки?

В общем случае, не помню проблем с xref2_hd в FI_DOCUMENT_CHANGE, то есть там жестко прописан перечень полей которые можно менять, с другими полями были проблемы. Просто, как и отметил выше, если надо менять поля программно, то оно должно быть отрыто на редактирование через глобальную настройку.
Вполне вероятно, что внутри FI_DOCUMENT_CHANGE есть проверки на эти настройки, проверьте.

На крайний случай (для полей которые нельзя менять через FI_DOCUMENT_CHANGE и когда пакетник действительно нельзя применять), использовал CHANGE_DOCUMENT, но этот ФМ не самостоятельный, к нему надо вызывать ФМ блокировки фай дока и ФМ по записи change documents(в одном LUW) чтобы зафиксировать изменения в журнале. В целом рабочий вариант, стандарте такое используется.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: как изменить bkpf-xref2_hd
СообщениеДобавлено: Ср, апр 11 2018, 08:33 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 10:38
Сообщения: 125
Попробуйте запустить ФМ без i_awtyp.
Если этот параметр вам необходим, то тогда укажите ссылку в параметре I_AWREF.
Если не поможет, то выкладывайте ошибку, т.к. по простому "не сработало" не понятно, что и где конкретно не сработало :)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: как изменить bkpf-xref2_hd
СообщениеДобавлено: Пт, май 18 2018, 16:59 
Специалист
Специалист

Зарегистрирован:
Пн, дек 29 2008, 08:19
Сообщения: 114
Откуда: г. Москва
Пол: Мужской
FUNCTION ZSET_RFZEI_IN_FI_DOCS.
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*" IMPORTING
*" REFERENCE(I_BELNR) TYPE BELNR_D
*" REFERENCE(I_BUKRS) TYPE BUKRS
*" REFERENCE(I_GJAHR) TYPE GJAHR
*" REFERENCE(I_BUZEI) TYPE BUZEI
*" EXPORTING
*" REFERENCE(E_ERROR) TYPE STRING
*"----------------------------------------------------------------------


FREE: E_ERROR.

DATA: ls_ACCCHG TYPE ACCCHG
, lt_ACCCHG TYPE TABLE OF ACCCHG.

FREE: ls_accchg, lt_accchg.
ls_accchg-FDNAME = 'RFZEI '. " техническое поле...
ls_accchg-NEWVAL = ''. " значение
APPEND ls_accchg TO lt_accchg.


WAIT UP TO 1 SECONDS.

CALL FUNCTION 'FI_DOCUMENT_CHANGE'
EXPORTING
I_BUZEI = I_BUZEI
I_BUKRS = I_bukrs
I_GJAHR = I_gjahr
I_BELNR = I_BELNR
TABLES
t_accchg = lt_accchg
EXCEPTIONS
no_reference = 1
no_document = 2
many_documents = 3
wrong_input = 4
overwrite_creditcard = 5
OTHERS = 6.
IF sy-subrc <> 0.
E_ERROR = |Ошибка FI_DOCUMENT_CHANGE RFZEI. sy-subrc={ SY-SUBRC }|.
ENDIF.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: как изменить bkpf-xref2_hd
СообщениеДобавлено: Сб, май 19 2018, 00:18 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 09:50
Сообщения: 908
Откуда: Москва
Пол: Мужской
Раз уж оживили некротему.
Совершенно ни к чему использовать стандартные ФМ или писать свои. Пакетный ввод, как уже правильно заметил Besa, абсолютно удобен и обоснован.
Если поле закрыто для изменения, его следует открыть.
Поскольку оно по какой-то причине закрыто, а не просто так, то эту концепцию следует сохранить. Для этого создать элементарный шаг проверки на первом моменте.
В качестве предпосылки использовать имя автора в системе (изменение-то разовое или регулярное - это не важно, явно, что нужно эту опцию дать не всем).
Чтобы постоянно не менять шаг с предпосылкой и не перегенерировать программу в rgugbr00, можно сделать гибкую предпосылку на связку имени пользователя, даты + что-то еще по своему усмотрению. Это позволит открывать допуски в будущем произвольно. Комбинации вести в ракурсе, доступ к которому опять же дать только консультанту.

После того как поле будет открыто и на поле будет действовать проверка, на экране оно станет видимым и автор сможет получать доступ к полю через обычный запуск пакетника в FB02 или в любой другой транзакции, какую он выберет. Все остальные доступа не получат.

ИМХО, но использовать для этих нужд BAPI или другие стандартные ФМ необоснованно и нецелесообразно.

p.s. А если совсем делать рафаэлло, то в предпосылке можно запустить authoruty-check, где проверить полномочия на свой Z-объект, тогда и настроечная таблица/ракурс будут не нужны. В объекте полномочий создать несколько полей, в числе которых с ходу видится имя поля + операция actvt (01 - первичный ввод в пустое поле, 02 - изменение и пр.) Дальше раскидать полномочий и создать гибкую концепцию сегрегации. Заморочиться всего один раз придется, зато потом просто любоваться этой красотой.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: как изменить bkpf-xref2_hd
СообщениеДобавлено: Сб, май 19 2018, 10:38 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 17:25
Сообщения: 2906
Пол: Мужской
Yozhhhhh написал:
ИМХО, но использовать для этих нужд BAPI или другие стандартные ФМ необоснованно и нецелесообразно.

Зависит от условий задачи :)
Бывают ситуации когда пакетник нельзя использовать, а документ надо изменить.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: как изменить bkpf-xref2_hd
СообщениеДобавлено: Сб, май 19 2018, 15:46 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 09:50
Сообщения: 908
Откуда: Москва
Пол: Мужской
Besa написал:
ависит от условий задачи
Бывают ситуации когда пакетник нельзя использовать, а документ надо изменить.

Ну я потому и написал, что конкретно для этих нужд :D в принципе задача довольно простая.


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

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


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

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


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

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