최근 Dynamic Internal Table 을 이용한 프로그램을 많이 만들었다. ( 된장찌게 엄청 빡세고 내용만 엄청 길어져서 다 갈아내고 싶다. ) 이전에 Dynamic Internal Table 을 생성하는 포스팅을 했었다.
[SAP/ABAP] - 동적 인터널 테이블을 만들때 deep structure 로 생성하기
그런데 프로그램을 개발하도 보니 Internal Table 의 최대 장점인 Read Table 을 사용하기에 애매한 부분이 생겼다. 그냥 선언해서 사용하는 Internal Table 의 경우 Field 명을 그냥 with key Field = 'XXX' 이런식으로 사용이 가능한데 Dynamic 하게 생성한 Internal Table 은 Field 자체를 고정 할 수 없어서 with Key~ 식의 코드를 사용 할 수가 없기 때문이다.
외국에도 이러한 질문이 많이 올라왔는데 오늘 참고한 사이트는 개발자들의 성지 Stackoverflow 이다. 이전에 웹개발했을때는 참 많이 참고 했었는데, SAP로 오고나서 부터는 관련내용이 별로 없는거 같아 많이 사용하지 않았는데 오랜만에 이러한 내용이 발견되어 참 기쁘다.
http://stackoverflow.com/questions/10802336/abap-reading-dynamic-internal-table-cannot-specify-key
질문자는 Dynamic Internal Table 을 어떻게 읽느냐? 이다. 중간에 답변을 보면 직접 필드를 지정은 안되니, 변수를 선언하고 변수에 필드명을 넣고 with key (변수명) 이런식으로 처리하라고 되어 있다.실제로 해보니 잘된다.. 아주 잘 된다.. 물론 질문자의 의도에 맞는 해답은 아니었지만 내가 찾던 내용이었다.
답변자가 남긴 예제 코드를 남기면서 이번 포스팅을 마쳐야겠다.
DATA: field type string. field = 'MANDT'. READ TABLE <any_tab> ASSIGNING <any_wa> WITH KEY (field) = '800'. IF sy-subrc = 0. "do stuff with <any_wa>... ENDIF.
- 끗 -
'SAP > ABAP' 카테고리의 다른 글
ABAP 문자열 대문자, 소문자로 변환하는 방법 Translate (0) | 2014.08.07 |
---|---|
CR 이 Lock 걸렸을 때 푸는 방법 ( SE09 사용 ) (0) | 2014.08.06 |
Short Dump AC_SYSTEM_FLUSH 에 대처하는 우리의 자세 (0) | 2014.08.01 |
SM30 Maintenance View 실행시 상단 타이틀 깨지는 현상 (0) | 2014.07.30 |
ABAP 정규표현식을 사용한 사번체크 (0) | 2014.07.24 |
Variant 없이 Batch Job 생성하기 ( Dummy Variant 생성 ) (0) | 2014.07.16 |
ABAP Report Dynamic Variant 만들기 (0) | 2014.07.11 |
Tcode 조회 사이트 (0) | 2014.07.03 |
ALV 엑셀 Export 시 데이터 분리 현상 해결방법 (0) | 2014.07.03 |
특정 문자열 개수 세기 (0) | 2014.06.30 |