#abap #function-module #sap-hr
#abap #функциональный модуль #sap-hr
Вопрос:
Существует ли функциональный модуль для вызова логической базы данных через функциональный модуль или классы?
В моем случае мне понадобился бы PNPCE, так что это модуль HCM.
Комментарии:
1. Лично я по возможности избегаю иметь дело с LDB. Они были объявлены устаревшими десятилетия назад, и на то были веские причины. В большинстве случаев довольно просто создать представление для их замены. Особенно теперь с более мощными представлениями CDS. Не могли бы вы пояснить, зачем именно вам это нужно? Возможно, есть лучший способ достичь этой цели.
2. Я тоже. Но иногда у меня есть требования от клиентов использовать их, и я не могу обойти это. Однажды я работал в компании и разработал пользовательский отчет, но не использовал LDB (хотя это было обязательным требованием). Проверка авторизации и выбор данных были в порядке, но они хотели, чтобы я использовал LDB, потому что их разработчики работают только с ними. Итак, мне нужно было изменить свой отчет. С тех пор это происходило довольно часто. Вот почему я работаю с ней, по крайней мере, когда это необходимо…
Ответ №1:
Вы можете использовать функциональный модуль LDB_PROCESS.
Вот документация SAP.
Но помните, что LDB устарели.
Комментарии:
1. Спасибо! Я думаю, что на самом деле невозможно вызвать экран выбора через FM, не так ли? Я знаю, что они устарели, но иногда я должен их использовать, потому что клиент хочет / требует их, это всего лишь один из нескольких недостатков HCM-модуля. Большинство разработчиков старомодны и не хотят использовать новые и «причудливые» методы, такие как CDS .. по крайней мере, те, кого я знаю.
2. @Sasku Если вам нужен экран выбора, то почему бы вам не создать исполняемую программу, основанную на этой логической базе данных, и вы вызываете эту программу вместо
LDB_PROCESS
?3. @Sandra: некоторые LDB предлагают хорошие экраны выбора, но, как сказано в ответе, они устарели. Но если мне не нужно использовать выделение, но нужен экран, я мог бы получить лучшее из 2 миров (экран выбора ldb и мой выбор). Просто я ленив и не хочу создавать экран снова и снова или если я хочу создавать транзакцию только с использованием классов. Затем я вызываю функциональный модуль (да, я знаю, что мог бы просто создать его), в который включен dynpro. Итак, есть варианты использования. Но мой первоначальный вопрос решается с помощью fm ldb_process