2017-11-21 78 views
5

Piszemy narzędzie w Javie, które analizuje i przetwarza kod ABAP. Dlatego nie mamy zamiaru pisać nowego kodu ABAP, ale nasze narzędzie musi obsługiwać wszystkie ABAP, nawet przestarzałe stwierdzenia. Ponadto nie jestem ekspertem ABAP.Baza danych logicznych systemu SAP zawiera niejawnie makro. W jaki sposób?

Jeden obiekt, który widzimy, wykorzystuje makro begin_of_block zdefiniowane w obiekcie RFDBRMAC. To jest ładowane w przypadku użycia logicznej bazy danych BRF; użycie innej logicznej bazy danych oraz brak logicznej bazy danych w ogóle jej nie załaduje. Jednak żaden z odpowiadających mu obiektów nie zawiera wzmianki o RFDBRMAC. W szczególności żaden z pierwszych nie obejmuje tego ostatniego.

W jaki sposób przypisanie logicznej bazy danych BRF do programu powoduje, że zawiera ona RFDBRMAC?

Program demonstracyjny korzystający z logicznej bazy danych BRF. Makro jest znane: Demo program using logical database BRF. The macro is known

Program demonstracyjny przy użyciu innej logicznej bazy danych. Makro nie jest znane Demo program using a different logical database. The macro is unknown

Odpowiedz

5

W SE36 wyświetla logiczny DB BRF. Następnie kliknij przycisk "Wybór" (lub Menu: Goto/Selections lub Shift + F1). Spowoduje to wyświetlenie DBBRFSEL, gdzie ekran wyboru jest zdefiniowany dla logicznej bazy danych. Na dole znajdziesz to, czego szukasz.

Mam nadzieję, że to pomoże trochę, niestety nie mam pojęcia (w tej chwili), jak uogólnić to dla wszystkich DB logicznych (oprócz, że ekrany wyboru logicznego DBS będzie nazwany DBxxxSEL)

4

Ponadto do doskonałej odpowiedzi Jozsefa mogę dodać, że można wykorzystać tabelę D010INC, która zawiera wszystkie relacje między programami i zawiera.

enter image description here

Tak więc jest to bardzo łatwe do znalezienia takich obejmuje programowo.

+1

Cóż, tabela D010INC nie pomaga nam zbyt wiele, ponieważ musimy znać dokładny mechanizm/ścieżkę, którą jeden obiekt obejmuje inny. W tabeli tej zaznaczono tylko, że jest ona dołączona. –

+1

Dokładna ścieżka jest pokazana w tej tabeli lub prawdopodobnie niewłaściwie użyto słowa * path *. Dla twojego narzędzia ten tabelaryczny sposób włączenia formalizacji jest bardziej przydatny niż przekopywanie się przez SE36/SLDB, o których nawet nie wiedziałeś. – Suncatcher

Powiązane problemy