회사에서 소스를 보다 보면 OCCURS 0이나 RANGE FOR 같은 폐기된 구문이 사용되고 있는 걸 종종 봅니다.
과거의 소스가 아니라 최근에 짠 것들도 그러네요.
저는 아래와 같은 이유로 헤더라인을 포함하지 않고 만드는데요.
1. SAP에 의해 폐기된 구문이며 호환성을 위해 계속 사용할 뿐 사용하지 않을 것으로 권고하고 있음.
2. 개별적으로 Work Area를 생성하여 작업하면 인터널 테이블을 조작할 때의 구문인 MODIFY나 APPEND, DELETE 등의 구조가 보다 명확하게 이해됨(TO나 FROM, INTO같은 전치사를 사용할 수 있기 때문에...).
3. BSP나 BADI 등 객체지향 개념이 들어간 부분에서는 헤더라인을 지원하지 않음. 혼동을 피하기 위해서라도 헤더라인이 없는 걸 표준으로 하는 것이 바람직하다고 생각함.
그런데 회사 내에서 다른 분들은 대부분 헤더라인을 만들어서 사용하시다보니...
헤더라인을 만들지 않은 제 소스가 낯설고 보기 어렵다는 얘기를 들었습니다ㅠㅜㅠㅜ
그동안 기존 소스를 유지 보수할 때야 원래 소스 개발자가 헤더라인을 만들어 사용했으면 저도 그에 맞게 수정하고,
제가 신규로 새로 작성하는 소스에만 헤더라인을 만들지 않고 사용해왔습니다.
고민이 되네요... 여러분들은 어떤가요?
댓글 6
-
정군
2011.12.29 23:37
-
해처리
2011.12.29 23:52
저도 아직 헤더라인 쓰고 있는데요.
따로 wa선언해서 쓰는것보다 편하다보니 못버리겠더라구요..
-
아바뻐유
2011.12.30 01:00
많이 쓰는데는 나름 이유가 있죠. 객체지향 추세이고 권장 하더라도 user 가 많이 사용하는 내용을 100% 무시하지는 못합니다. 오히려 자주쓰는 문법을 사장시키는 것이 시장에 혼란을 야기하는 경우가 많죠.
제가 생각하기에도 구조체를 따로 선언해서 사용하는 것보다 headliner 을 이용하는 것이 백번 편합니다.
오히려 wa 구조를 선언하는 이유를 모르겠더군요. 객체지향을 위해서라면 그런 문법을 지원하도록 만들면되죠...
이부분에 있어서는 sap 도 고민이 많을 거라 보지만 sap 도 occurs 0 를 쉽게 버리지는 못할겁니다.
이미 깔린 게 태반이거든요.
-
최선
2012.01.05 17:27
편리하기 합니다. 따로 WA 선언도 불편하고.
-
모모
2012.01.05 21:53
이미 알고 계신 성능, 호환등의 사유로 header가 없는 itab 사용을 SAP는 권장(혹은 강제)을 합니다.
(예로, itab을 사용할 때는 'type table of', 'type'로 itab과 wa를 선언해서 사용하도록 권장합니다.)
개인적 소견으로, 일반적으로 프로그램 언어라는 측면에서도 좋은(성능, 호환 등) 패턴을 습관화 하는 것은 좋은 프로그램을 만드는 데 도움이 되리라 판단이 됩니다.
-
곰짱님
2012.02.03 20:07
저도 교육은 인터널테이블과 wa를 따로 선언하여 사용하도록 받고 실습했는데..
실제 프로젝트에선 헤더라인을 같이선언하여 사용하는 분들이 많아 따라하게 되었습니다.
편리하긴한데... 아무래도 SAP에서 명시하는데로 하는게 좋겠다 싶어 습관을 바꾸려합니다.
님도 굳이 좋은습관을 버리지 마시고 유지하시는게 좋을거같습니다. ^^;;
좋은 습관이라고 봅니다.
계속 유지되는 구문이기는 하지만 언젠가 버려질 것이고, 실제로 객체지향으로 프로그램을 짜려고하면
지원하지 않기 때문에 가능한 사용하지 않는게 좋다고 봅니다.
다만, 사용 편의성에 있어서는 훨씬 편리하기 때문에 쉽게 포기하기는 어렵다고 봅니다 ^^;