замена HR_READ_INFOTYPE

Автор jacknk88, Жовтень 16, 2012, 01:53:39 ПП

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

jacknk88

есть ли ФМ который бы позволял получать разные данные из инфотипа не только по Таб.номеру и датам, а и по другим параметрам? не охота динамический select писать....кстати, опять же что быстрее будет: select или ФМ?

jacknk88

или может есть варианты как сделать динамический select???
например, пользователь должен ввести одну из дат: begda и AEDTM на select-option т.е. будет 2 поля.
и в зависимости от того, какая дата введена сформировать динамически select из инфотипа на введенную дату.
у меня будет много подобных параметров и следовательно select-ов...поэтому выход такой: либо динамически, либо ФМ

ysichov

Хороший Select в большинстве случаев быстрее ФМ. Но, например, для чтения данных оргменеджмента используется внутренняя табличка типа HASH table и не каждый абапер сможет сделать так же быстро, да и зачем изобретать велосипед. Эти стандартные функциональные модули выполнялись триллионы раз и очищены от большинства ошибок.

Можно составить текст программы и динамически ее запустить.

Построитель отчетов SAP QUERY умеет генерить программы практически по любым параметрам.
Программа RPLINFC0 умеет читать все инфотипы у табельного номера.
Погуглите в инете программу SAP ZAAQB - инструмент для построения сложных SQL запросов, и просмотра результатов этой выборки.
Вариантов много.

Uukrul

Цитата: ysichov від Жовтень 16, 2012, 09:16:41 ПП
внутренняя табличка типа HASH table и не каждый абапер сможет сделать так же быстро
Да что там делать то, тоже мне сложная наука, всех делов:

DATA: lt_ekpo_hash LIKE HASHED TABLE OF ekpo WITH UNIQUE KEY ebeln ebelp.

И будет вам хэш-таблица, теперь главное заполнить ее правильно и будет счастье "не каждому абаперу"  8)
Цитата: ysichov від Жовтень 16, 2012, 09:16:41 ПП
Эти стандартные функциональные модули выполнялись триллионы раз и очищены от большинства ошибок.
Я тоже так думаю, если есть стандартная реализация, то лучше использовать ее, чем городить свои запросы, особенно если нет проблем с производительностью.

jacknk88

Цитата: Uukrul від Жовтень 17, 2012, 12:42:16 ДП

DATA: lt_ekpo_hash LIKE HASHED TABLE OF ekpo WITH UNIQUE KEY ebeln ebelp.

И будет вам хэш-таблица, теперь главное заполнить ее правильно и будет счастье "не каждому абаперу"  8)
Uukrul я в ABAP-е всего месяц.....и не имею понятия что такое HASHED TABLE и как ее использовать...не могли бы Вы дать ссылку на материал, где можно узнать побольше про это...
и я все-таки не понял ysichov : что Вы предлогаете сделать
использовать
ЦитатаSAP ZAAQB - инструмент для построения сложных SQL запросов
или
ЦитатаПостроитель отчетов SAP QUERY умеет генерить программы практически по любым параметрам.
или воспользоваться
ЦитатаПрограмма RPLINFC0 умеет читать все инфотипы у табельного номера.

ysichov

Цитата: jacknk88 від Жовтень 17, 2012, 07:06:03 ДП
Uukrul я в ABAP-е всего месяц.....и не имею понятия что такое HASHED TABLE и как ее использовать...не могли бы Вы дать ссылку на материал, где можно узнать побольше про это...
и я все-таки не понял ysichov : что Вы предлогаете сделать
использовать или или воспользоваться

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

Литература: курсы BC400 и далее по плану обучения SAP https://training.sap.com/ua/en/curriculum/abap_core_ua-sap-netweaver-programming-core-ua

jacknk88

не разобрался я с этими ФМ....пришлось динамический select делать....только вот проверку полномочий осталось....почти доделал уже....и все-таки неужели нету такого ФМ, который бы позволил считать из инфотипа все данные указав любое из полей инфотипа?...например, 'HR_INFOTYPE_OPERATION' там же можно указать в поле record таблицу...только там идет запись, а мне надо считать.

Uukrul

Цитата: jacknk88 від Жовтень 17, 2012, 07:06:03 ДП
не могли бы Вы дать ссылку на материал, где можно узнать побольше про это...
Пока ссылку дать не могу, но скоро вроде как обещают книгу по абапу из печати, где об этом будет написано. Так что как появится выложу на нее ссылку в разделе книжной полки  8)

Uukrul

Цитата: jacknk88 від Жовтень 17, 2012, 11:06:38 ДП
и все-таки неужели нету такого ФМ, который бы позволил считать из инфотипа все данные указав любое из полей инфотипа?...например, 'HR_INFOTYPE_OPERATION' там же можно указать в поле record таблицу...только там идет запись, а мне надо считать.
Ну я к HR если честно никак, так что сказать что-то конкретное по этому вопросу мне сложно. Все таки HR это немного отдельно стоящая кухня.

ysichov

Цитата: jacknk88 від Жовтень 17, 2012, 11:06:38 ДП
и все-таки неужели нету такого ФМ, который бы позволил считать из инфотипа все данные указав любое из полей инфотипа?...

какие, например, необходимы дополнительные поля? Дело в том, что инфотипов около тысячи. Ключевые поля у каждого инфотипа одинаковые, а вот содержимое совершенно разное. В связи с этим, я полагаю, и нет универсального ФМ. Можете посмотреть в SE11 таблицы PAXXXX, где XXXX - номер инфотипа.

NachDenken

лучше всего программы с HR это логическая база данных , создаете программу где у нее в свойствах указываете PNP (название ЛБД), можно указывать номера инфотипов которые вам нужны , + операторы GET , а также к стандартному селекционному экрану от ЛБД добавлять свои поля.
писать свои селекты очень очень не рекомендую.

jacknk88

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