2012-06-28 7 views
2

나는 자바 세계에서 왔고, 내가 abap 개발 객체의 속성을 이해하는 데 도움이 될만한 것이 있는지 알고 싶습니다. 리플렉션과 같은 것입니다.abap 개발 개체의 속성을 찾는 방법?

ABAP에서 계속 진행되는 모든 작업이 데이터베이스 내부에서 유지된다는 것을 알고 있다면, 어떻게하면 오브젝트가 저장되는지를 알 수있는 방법을 알고 싶습니다.

예를 들어, 구조체의 필드를 열거하거나 개체의 속성을 열거하는 함수가 있는지, 또는 그런 것이없는 경우 (그러나 속성이 여전히 명백하게 있음) 알고 싶습니다. 어떤 테이블이 그것들을 가지고있을 것인가? (그래서 나는 내 자신의 함수 나 클래스를 만들 수있다)

다른 발견 능력이 좋다는 것을 알고있다 ... 나는이 질문이 약간 일반적인 것을 알고 있지만, 새로운 것을 만나기 위해, 나는 무엇을 물어야하는지 정말로 모른다 : P

Thx, 너희들은 지배한다.

답변

4

리플렉션과 같은 것을 찾는 경우 RTTI을 살펴보십시오. 이것은 당신이 만날 물건의 대부분에 대한 런타임 구조를 능가합니다. 가공 도구의 표면 아래에서 무슨 일이 일어나고 있는지 알아 보려면 SQL 추적 (ST05)을 켜고 편집기에서 해당 객체를 열고 어떤 테이블에 액세스했는지 확인하십시오.

+0

thx입니다. 그게 그랬어. –

3

당신이 원하는 특정 작업을 여러 질문으로 나누면 질문에 대답하기가 어려울 수도 있습니다.

내가 기억하는 몇 가지 주제 (나는 올바른 기억한다면 나는 순간에 그것을 확인할 수 없습니다, 그것을 확인하시기 바랍니다) :

DDIC - 객체는 DD*와 테이블에 저장됩니다.

테이블 (및 속성)은 dd02l에 저장되며 텍스트는 dd02t입니다. dd03l 필드가 있습니다. dd04tl에는 데이터 요소의 텍스트가 들어 있습니다.

하지만이 테이블에 뭔가를 추가하면 도움이되지 않습니다. 백그라운드의 데이터베이스는 정의를 가져 오지 않습니다.

당신이 field-symbolsassign - 명령에 좀 걸릴 수 있습니다 일부 dynmaic 마법을 만들려면

.

+0

thx for the 팁. 그리고 unfortunatelly 나는 단지 밖으로 시작하고 있기 때문에 더 많은 정보를 줄 수 없었습니다, 그리고 거기에 무엇이 있는지 전혀 모르지만,이 정보는 나를 빨리 가야합니다. 팁의 경우 –