2013-03-11 2 views
0

일반적으로 테이블 필드를 아래와 같이 데이터 유형으로 선언합니다.ABAP가 동적으로 테이블 필드를 데이터 유형으로 선택

DATA : 키 TYPE VBAK-VBELN.

하지만 선언문에서 동적으로 필드 이름을 지정하려고합니다. 마찬가지로,

DATA : 키 TYPE VBAK-필드 이름.

어떤 도움이 필요합니까?

+1

왜 유형을 동적으로 선언 하시겠습니까? – vwegert

+0

체크 아웃, SAP 스택 교환 시작 http://area51.stackexchange.com/proposals/41621/sap-systems-applications-and-products – Jared

답변

0

any 유형의 필드 기호를 사용하면이 작업을 매우 쉽게 수행 할 수 있습니다. 당신은 당신이 뭘 하려는지에 대한 자세한 정보를 제공하는 경우

DATA: lt_line type vbak. 
Field-Symbols: <dat> type any. 

Assign component (fieldname) of Structure lt_line to <dat>. 

이, 아마도 내가 더 나은 대안을 제공 할 수 있습니다 :

다음에,만큼 간단합니다.

+0

도움을 주셔서 감사합니다. 그것은 나를 도왔다. 나는 나의 최종 답변도 게시했다. – user10

1

내 경우 테이블과 필드 이름을 알 수 없습니다. 이것이 제 마지막 해결책입니다.

DATA: T_REF TYPE REF TO DATA, 
     TAB(20) TYPE c VALUE 'VBAP', 
     TAB_COMP(20) TYPE c VALUE 'WERKS'. 

FIELD-SYMBOLS: <T> TYPE ANY, 
       <COMP> TYPE ANY. 

CREATE DATA T_REF TYPE (TAB). 
ASSIGN T_REF->* TO <T>. 
ASSIGN COMPONENT TAB_COMP OF STRUCTURE <T> TO <COMP>. 

SELECT WERKS FROM VBAP INTO <COMP> UP TO 5 ROWS. 
    WRITE:/<COMP>. 
ENDSELECT. 
+2

@vwegert 내 UI에서 모든 필드를 전달할 수 있습니다. – user10

관련 문제