Текущее время: Чт, мар 28 2024, 21:50

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


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


ВНИМАНИЕ!

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



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

Зарегистрирован:
Пн, авг 27 2012, 13:27
Сообщения: 139
Добрый день.
Хочу изменить значение поля 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, 06:50 
Специалист
Специалист

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

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


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

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


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

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Цитата:
Т.к. в моей системе в 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, 07:33 
Специалист
Специалист

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


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

Зарегистрирован:
Пн, дек 29 2008, 07:19
Сообщения: 129
Пол: Мужской
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
СообщениеДобавлено: Пт, май 18 2018, 23:18 
Почетный гуру
Почетный гуру
Аватара пользователя

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

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

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

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

_________________
Алё, это Пакистан? Нам нужен один килограмм


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

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

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


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

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

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

_________________
Алё, это Пакистан? Нам нужен один килограмм


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

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


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

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


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

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