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

Привет. А она уже перестала ложИть хану? :D А то на 1610 без ограничений выборки только в путь ООМ.

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/