SAPфорум.RU https://sapboard.ru/forum/ |
|
Добавление поля в J3RFLVMOBVEDH https://sapboard.ru/forum/viewtopic.php?f=13&t=97079 |
Страница 1 из 2 |
Автор: | MaрьЯ [ Пт, ноя 23 2018, 12:59 ] |
Заголовок сообщения: | Добавление поля в J3RFLVMOBVEDH |
Добрый день! Помогите, пожалуйста вот с чем: необходимо добавить новое поле в транзакцию J3RFLVMOBVEDH. Трудности начинаются, если я пытаюсь расширить структуры J_3RMOBVEDH_DOCUMENT и J_3RMOBVEDH_TOTAL А при вызове бади CALL BADI lr_badi->calculate_turnovers выходит особая ситуация CX_AMDP_NATIVE_DBCALL_FAILED Возможно ли вообще поле добавить? Или что можно сделать с этим? Заранее спасибо за ответ |
Автор: | Daw [ Пт, ноя 23 2018, 17:18 ] |
Заголовок сообщения: | Re: Добавление поля в J3RFLVMOBVEDH |
Чтобы добавить свое поле надо сделать свою реализацию в BADI_J_3RMOBVEDH И в ней переписать метод CALCULATE_TURNOVERS, который будет выполнять select с учетом вашего поля. Текущую реализацию выборки данных можно посмотреть в методе CALCULATE_TURNOVERS класса CL_J_3RMOBVEDH_MAIN |
Автор: | MaрьЯ [ Пн, апр 01 2019, 09:26 ] |
Заголовок сообщения: | Re: Добавление поля в J3RFLVMOBVEDH |
Daw написал(а): Чтобы добавить свое поле надо сделать свою реализацию в BADI_J_3RMOBVEDH И в ней переписать метод CALCULATE_TURNOVERS, который будет выполнять select с учетом вашего поля. Текущую реализацию выборки данных можно посмотреть в методе CALCULATE_TURNOVERS класса CL_J_3RMOBVEDH_MAIN Пытаюсь переписать код, путем копирования класса CL_J_3RMOBVEDH_MAIN в Z, для дальнейшего изменения, но и тут возникает ошибка при активации: Метод CALCULATE_TURNOVERS SQLSCRIPT message: return type mismatch: Procedure ZCL_J_3RMOBVEDH_MAIN=>CALCULATE_TURNOVERS: TOTALS[ MATNR:NVARCHAR(18) BWTAR:NVARCHAR(10) WERKS:NVARCHAR(4) LGORT:NVARCHAR(4) CHARG:NVARCHAR(10) SOBKZ:NVARCHAR(1) LIFNR:NVARCHAR(10) KUNNR:NV Хотя TOTALS объявлен в definition types: j_3rmobvedh_totals type standard table of J_3RMOBVEDH_TOTAL . value(TOTALS) type J_3RMOBVEDH_TOTALS "Total. что еще можно сделать, подскажите, пожалуйста |
Автор: | Besa [ Чт, апр 04 2019, 09:27 ] |
Заголовок сообщения: | Re: Добавление поля в J3RFLVMOBVEDH |
Объявите тип таблицы глобально(se11) и используйте его. |
Автор: | женечка2 [ Чт, апр 11 2019, 14:57 ] |
Заголовок сообщения: | Re: Добавление поля в J3RFLVMOBVEDH |
MaрьЯ написал(а): Daw написал(а): Чтобы добавить свое поле надо сделать свою реализацию в BADI_J_3RMOBVEDH И в ней переписать метод CALCULATE_TURNOVERS, который будет выполнять select с учетом вашего поля. Текущую реализацию выборки данных можно посмотреть в методе CALCULATE_TURNOVERS класса CL_J_3RMOBVEDH_MAIN что еще можно сделать, подскажите, пожалуйста добрый день, похожая задача. для BADI_J_3RMOBVEDH можно создать только одну реализацию, судя по настройкам, у нас есть стандартная реализация CL_J_3RMOBVEDH_BADI созданная сапом для HANA. как можно расширить на свои поля структуры J_3RMOBVEDH_TOTAL и J_3RMOBVEDH_DOCUMENT. предварительно прописав заполнение этих полей в CALCULATE_TURNOVERS, если свою реализацию BADI_J_3RMOBVEDH делать нельзя. подскажите, пожалуйста |
Автор: | Besa [ Чт, апр 11 2019, 15:18 ] |
Заголовок сообщения: | Re: Добавление поля в J3RFLVMOBVEDH |
женечка2 написал(а): добрый день, похожая задача. для BADI_J_3RMOBVEDH можно создать только одну реализацию, судя по настройкам, у нас есть стандартная реализация CL_J_3RMOBVEDH_BADI созданная сапом для HANA. как можно расширить на свои поля структуры J_3RMOBVEDH_TOTAL и J_3RMOBVEDH_DOCUMENT. предварительно прописав заполнение этих полей в CALCULATE_TURNOVERS, если свою реализацию BADI_J_3RMOBVEDH делать нельзя. подскажите, пожалуйста При расширении стандарта, особенно когда нет четкой рекомендации SAP по расширению, всегда надо погружаться более детально, чтобы после расширения не сломать ничего. Тут надо смотреть и на сам код, и то где могут использоваться расширенные объекты словаря. J_3RMOBVEDH_TOTAL и J_3RMOBVEDH_DOCUMENT - вроде расширяемые, поэтому посмотреть в сторону append structure. Могу дать направления: 1 - Можно в SAP написать 2 - Можно поискать другие механизмы расширения или другие BADI (как искать в интернете много написано) 3 - Можно использовать неявные enhancemnt points для класса CL_J_3RMOBVEDH_BADI или явные/неявные enhancemnt points для другим программных единиц которые может быть больше подходят |
Автор: | Daw [ Чт, апр 11 2019, 15:25 ] |
Заголовок сообщения: | Re: Добавление поля в J3RFLVMOBVEDH |
J_3RMOBVEDH_TOTAL исппользуется для amdp функций, которые вовзращают в селектах строго определнные поля. Расширение J_3RMOBVEDH_TOTAL возможно, но тогда надо заменять всю реализацию классов на свои Z-классы. Не очень удобно, так как после каждого измения стандартных классов надо будет изменять и свои расширения. Вариант с своей реализацией BADI действительно не подходит, так только одно внедерение может быть активно. Можно выствить сообщение в SAP, чтобы сделали более расширяемый код. |
Автор: | женечка2 [ Чт, апр 11 2019, 15:28 ] |
Заголовок сообщения: | Re: Добавление поля в J3RFLVMOBVEDH |
Besa написал: женечка2 написал(а): При расширении стандарта, особенно когда нет четкой рекомендации SAP по расширению, всегда надо погружаться более детально, чтобы после расширения не сломать ничего. Тут надо смотреть и на сам код, и то где могут использоваться расширенные объекты словаря. J_3RMOBVEDH_TOTAL и J_3RMOBVEDH_DOCUMENT - вроде расширяемые, поэтому посмотреть в сторону append structure. Могу дать направления: 1 - Можно в SAP написать 2 - Можно поискать другие механизмы расширения или другие BADI (как искать в интернете много написано) 3 - Можно использовать неявные enhancemnt points для класса CL_J_3RMOBVEDH_BADI или явные/неявные enhancemnt points для другим программных единиц которые может быть больше подходят спасибо с одной стороны, вроде бы Марья решала как раз эту задачу, поэтому хотелось бы понять как. структуры, действительно расширяемые, но как и было сказано ранее, нужно написать как заполнять поля в CALCULATE_TURNOVERS. иначе будет такой же дамп, как у Марьи. |
Автор: | женечка2 [ Чт, апр 11 2019, 15:32 ] |
Заголовок сообщения: | Re: Добавление поля в J3RFLVMOBVEDH |
Daw написал(а): J_3RMOBVEDH_TOTAL исппользуется для amdp функций, которые вовзращают в селектах строго определнные поля. Расширение J_3RMOBVEDH_TOTAL возможно, но тогда надо заменять всю реализацию классов на свои Z-классы. Не очень удобно, так как после каждого измения стандартных классов надо будет изменять и свои расширения. совсем неудобно. выход забрать данные к себе, расширить на нужные поля уже в Z программе и заполнить повторными выборками, я так понимаю |
Автор: | Daw [ Чт, апр 11 2019, 16:00 ] |
Заголовок сообщения: | Re: Добавление поля в J3RFLVMOBVEDH |
женечка2 написал(а): совсем неудобно. выход забрать данные к себе, расширить на нужные поля уже в Z программе и заполнить повторными выборками, я так понимаю Тут уж каждый сам решает, что удобнее. Можно и по такому варианту пойти. Главное, что данные выбираются быстро и обработать их под свои задачи вполне возможно. |
Автор: | Besa [ Чт, апр 11 2019, 16:15 ] |
Заголовок сообщения: | Re: Добавление поля в J3RFLVMOBVEDH |
женечка2 написал(а): Daw написал(а): J_3RMOBVEDH_TOTAL исппользуется для amdp функций, которые вовзращают в селектах строго определнные поля. Расширение J_3RMOBVEDH_TOTAL возможно, но тогда надо заменять всю реализацию классов на свои Z-классы. Не очень удобно, так как после каждого измения стандартных классов надо будет изменять и свои расширения. совсем неудобно. выход забрать данные к себе, расширить на нужные поля уже в Z программе и заполнить повторными выборками, я так понимаю Анализируйте код J3RFLVMOBVEDH, анализируйте зависимости, анализируйте последствия, потом принимайте решение. Как вариант, можно и рассмотреть возможно неявных точек расширения программы J_3RMOBVEDH - зависит от задачи. |
Автор: | Besa [ Чт, апр 11 2019, 16:19 ] |
Заголовок сообщения: | Re: Добавление поля в J3RFLVMOBVEDH |
Еще как вариант, рассмотреть ведение Ваших "дополнительных данных" в классификации партии или классификации материала (имеется ввиду в признаках классов). Этот отчет умеет работать к классификацией, и может динамически подтягивать информацию из признаков. Посмотрите на селективный экран, там есть где указать имя класса для выборки данных. UPD - В стандарте такого нет, это было Z расширение через ENH FRM. |
Автор: | DED_MOROZ [ Пт, апр 12 2019, 14:53 ] |
Заголовок сообщения: | Re: Добавление поля в J3RFLVMOBVEDH |
Besa, а где ты такое нашел - что отчет умеет читать данные классификации? У меня нет таких полей на селекционном экране.. |
Автор: | Besa [ Пн, апр 15 2019, 09:06 ] |
Заголовок сообщения: | Re: Добавление поля в J3RFLVMOBVEDH |
DED_MOROZ написал: Besa, а где ты такое нашел - что отчет умеет читать данные классификации? У меня нет таких полей на селекционном экране.. тр J3RFLVMOBVEDH NW FOR S4HANA ONPREMISE 1709 01 (01/2018) sap.com NW 7.52 FOR S/4HANA 1709 |
Автор: | Kengur [ Пн, апр 15 2019, 09:55 ] |
Заголовок сообщения: | Re: Добавление поля в J3RFLVMOBVEDH |
Besa написал: DED_MOROZ написал: Besa, а где ты такое нашел - что отчет умеет читать данные классификации? У меня нет таких полей на селекционном экране.. тр J3RFLVMOBVEDH NW FOR S4HANA ONPREMISE 1709 01 (01/2018) sap.com NW 7.52 FOR S/4HANA 1709 https://ibb.co/YBdRRn6 Привет. А она уже перестала ложИть хану? А то на 1610 без ограничений выборки только в путь ООМ. |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |