Вызвать логическую базу данных через функциональный модуль?

#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