티스토리 툴바


SAP - ABAP 튜닝

분류없음 2009/08/21 12:19
5throck님의 시스템 규모 산정에 대한 글에 튜닝 이야기가 나와서 잠시 트랙백을 통해 튜닝에 대한 기억과 의견을 정리해 볼까 합니다.

우선, 5throck님이 말씀하신데로 운영과 개발 모두에 뛰어난 사람이 궁극적으로 가는 길 중에 하나가 튜닝이라는데 크게 공감합니다. 많이 고민했던 진로이고, 가능성도 있다고 믿어서 이런 저런 공부를 좀 했습니다. 결론은 아직 내 실력으로 부족하다는 것이었지요. 어쨌든, 우연하게 고객사에서 튜닝을 받기 위해 외부 업체와 같이 일을 한 적이 있는데, SAP의 튜닝은 일반적인 웹의 jsp나 sql 튜닝과는 좀 다른 느낌으로 다가 왔습니다.

일단, SAP의 특성상 매우 많은 table의 연관관계를 정확히 알고 있어야 하고, 모르는 경우에는 정말 꼼꼼하게 index 등을 생성할 경우 발생하는 영향성을 살펴야 한다는 점입니다. BC 분께 듣기로는 jsp 등에는 index나 sql의 수정이 다른 프로그램 들에 어떤 영향을 미칠지 검증해 주는 툴이 있다고 들었는데, 저희가 일한 곳에는 그런 기능을 사람이 수작업으로 대응하고 있었습니다. 노하우를 숨기기 위한 것인지는 모르겠습니다만, 특정 테이블에 소스나 sql의 수정만으로 대응이 안될 경우 index를 추가해야 했는데 이 때 관련된 모든 프로그램과 쿼리를 일일이 분석하고 그 영향성에 대해 예측한 다음, 문제가 없다고 판단될 때 적용하는 꼼꼼함을 보였습니다. 물론 그렇게 해도 어느 정도는 다른 프로그램이 느려진다든지 하는 문제가 있었습니다만 그런 경우가 매우 적었습니다.

같이 일을 한 업체가 직원 규모로는 그다지 많지 않았던 것으로 알고 있어서, 앞서 이야기한 영향성 분석 툴을 만들어내기엔 역량이 부족할 것으로 판단되어서, 그런 툴만 하나 잘 만들어도 장사가 되겠다는 생각을 한 적이 있습니다. 어쩌면 외산 툴은 이미 존재할지도 모르겠습니다.

튜닝 프로젝트의 마지막에는 개발자들에 대한 교육도 있었습니다. 하지만, 짧은 시간에 해야하는 교육이어서 깊은 이해를 돕기엔 어려움이 많았고, 일정 수준만 되는 개발자들은 이미 다 알고 있는 내용이라 좀 아쉬웠습니다. 하지만, 튜닝 프로젝트라고 한다면 제 생각에는 이런 교육이 깊이 이뤄지는 것 까지 포함하는 것이 좋다고 봅니다. 일회성으로 튜닝을 받는다 하더라도, 지속적으로 생겨나는 프로그램들의 수준이 성숙되지 않는다면 결국 다시 돈을 들여서 튜닝 프로젝트를 할 수 밖에 없기 때문입니다. 물론, 아무리 뛰어난 프로그래머들만 구성되었다 해도 시간이 지나면 전체적인 튜닝이 필요하겠습니다만, 그런 튜닝에 대한 비용을 최소화 하기 위해선 일상적인 운영을 하는 사람들의 역량이 바탕이 되어야 한다고 봅니다.

그리고, 튜닝을 프로그래머가 하는게 맞는지 BC가 하는게 맞는지도 제가 일하는 부서에서는 약간 논란이 있었는데요. 제 생각에는 BC가 모니터링을 하고 관리자로서 튜닝 가이드를 내려주면 그에 맞게 프로그래머가 수정하는게 맞다고 봅니다. 따라서 BC는 매우 뛰어난 튜닝 능력을 프로그래머는 그 스펙을 만족할 수 있는 기술을 가지는게 좋은 분업이라고 보입니다. 다시 말하자면 BC는 전략을 프로그래머는 전술을 수행한다고 할 수 있겠습니다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by mycogito
TAG ABAP, sap, 튜닝

Backflush

분류없음 2009/07/07 08:50

backflush에 대한 APICS의 정의는 다음과 같다.

The deduction from inventory records of the component parts used in an assembly or subassembly by exploding the bill of materials by the production count of assemblies produced. Syn: explode to deduct.

사용한 품목의 상위 어셈블리나 서브 어셈블리를 BOM 전개한 수량 만큼 재고에서 차감 하는 것.

동의: Post-duet Inventory Transaction Processing

참고: Single-level, Backflush, Superflush

문제는 backflush가 자동으로 일어난다는 점은 관리에 들어가는 공수를 많이 줄여주는 반면 재고 정확도가 낮아질 수 있다는 점이다. 뿐만 아니라, BOM의 정확도가 높아야 한다는 것도 쉽게 적용하기 어렵게 만드는 장벽이다.(실 사용수량이 아닌 BOM을 전개한 수량 만큼 무조건 차감하기 때문이다.)

 

어쨌거나, SAP에서는 backflush가 일어나도록 설정할 수 있는 세 가지 방법이 있다.

Determines whether the backflush indicator is set in the production order. Here, a 3-level hierarchical logic is applied:

    1. In the routing, the backflush indicator is set in the component assignment.
    2. In the material master record, the backflush indicator has the characteristic "Always backflush".
    3. In the material master record, the backflush indicator has the characteristic "Work center decides", the indicator being set in the work center.

우선 순위는 1번 부터 적용된다. 즉, 1번에 설정이 B/F가 일어나도록 되어 있으면 무조건 일어나고, 없는 경우는 2번을 체크한다. 2번에 항상 하는 것으로 되어 있으면 무조건 일어나고, W/C에 따라 발생하는 것으로 체크 되어 있으면 W/C가 B/F가 일어나는 W/C인지 아닌지를 체크해서 결정한다.

APICS 정의와는 달리 SAP에서는 생산오더(production order)가 생성되는 시점에 BOM을 전개해서 수량을 가져 오기 때문에 BOM을 전개한 수량이라고 할 수 있지만, 정확하게는 예약(reserved)된 수량 - RESB에 있는 수량을 기준으로 재고 감소가 발생한다. 재고의 감소는 사용된(used) 후에 공정의 CNF가 발생하는 때에 일어난다.

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by mycogito

자격증. 도움이 되나?

 

나는 입사 2년차에 PP 자격증 시험을 쳤다. 프로젝트를 하면서 전체적인 모습을 볼 수도 있었고, 세부적인 configuration까지 할 수 있었다. 게다가 경험 있는 컨설턴트를 옆에 두고, 선생님으로 모시면서 했으니 공부는 제대로 할 수 있는 환경이었다. 그리고 합격했다. 하지만, 내가 정말 PP consultant로서의 역량이 있었을까? 의문스럽다.(지금도 역시 의문스럽다. 그래서 부끄럽다.)

 

자격증이 있느냐, 그것만 보고 그 사람의 기본 실력을 믿어주는 것은 너무 순진하다. 한국의 현실에서는 dump라 불리우는 기출문제를 중심으로 문제 맞추기식 시험이 되는 것들이 많아서 기본 실력의 검증이 어렵다. ABAP 같은 경우, SAP에 로그인도 안해보고 EXIT이 LOOP에서 가지는 의미, 혹은 event block에서 가지는 의미의 차이도 모르는 사람들이 아무렇지도 않게 붙기도 한다. 이것이 한국내에서 치뤄지는 자격증들의 현 주소다. 아니, 어쩌면 일부 license - 법,의학 - 를 제외하고 국내외를 불문, 자격증이라는 것의 한계일지도 모른다.

 

좋게 봐준다고 해도 해당 업무를 정상적으로 수행해 낼 수 있는 가장 기본적인 요건을 증명할 뿐, 그 사람이 얼마나 잘하는지에 대한 것은 전혀 증명하지 못한다. 이런 현실적인 기준을 감안한다면, 시장에 중고급 개발자들이 넘쳐나는 환경에서 자격증만 있으면 취업할 수 있을 거란 생각은 역시 너무 순진하다.

 

문제는 경력이다.

 

입장을 바꿔 놓고 생각해 보자. 당신이라면, 모르는 사람의 이력서에 있는 자격증만 보고 그 사람을 채용하겠는가? 예전에는 그래도 자격증이 없는 사람이 많아서 없는 사람과의 비교에서는 우위를 가졌다. 하지만, 요즘은 꼭 그렇지도 않다. ABAP 자격 같은 경우 dump만 보면 80점대는 다 받는 현실 때문에 자격증을 가진 사람의 수가 훨씬 많이 늘어난 듯 하다. 기존의 경력이 있는 사람 외에도 많은 취업 지망생들이 SAP 자격을 취업의 발판으로 삼으려는 인식이 확산되면서 희소성이 예전 보다 훨씬 낮아지고 있는 듯 하다. (ABAP은 어쩌면 SCJP와 같은 길을 걸을지도 모른다.)

 

자격증이 있어서, 단가는 싸도 좀 하겠지 하는 기대로 현업에 투입했는데 고객으로 부터의 반응이 안좋다면 그 업체도 곤란하다. 결국 업체는 자격 보다는 실질적인 실력이 더 중요하다. 그래서, 자격증으로 1차로 걸러내는 망을 통과했다 하더라도, 경력이 부족하다면 다음 단계를 통과하기 어려울 것이다. 불과 1년 정도만 전이어도 그냥 통과했을지 모르지만, 지금은 경력자도 넘쳐나는 시기니 쉽지 않다.

 

교육도 좋고, 자격증도 좋다. 하지만, 취업과 연계된 프로그램이 아니라면, 개인적으로는 반대다. 차라리, 작은 업체에 그냥 취직하는게 낫다. 토익성적을 요구하면 토익을, 일본전산식 방식을 요구하면 그에 따르더라도, 업체에 취직하는게 낫다. 그리고 나서 공부해서 자격을 따고, 경험을 쌓는게 좋다. 막연히 자격만 있으면 취업이 쉬워질거라는 기대로 비싼 돈을 투자하는 것은 그다지 좋은 선택이 아닌 듯 하다.(그 업체에서 자격을 요구하면 그것은 이야기가 다르다.) 자격이 필요하다 꼭 느낀다면, 차라리 정부 기관에서 연계하는 JAVA나 C# 과정 등을 듣는게 백번 낫다. SAP는 분명히 전환비용도 높고 진입장벽도 높아서, 일단 입성하면 좋은 밥벌이가 되지만, 파이가 작은 만큼 분명히 먹을게 별로 없기도 하다는 점을 꼭 명심해야 한다.

크리에이티브 커먼즈 라이선스
Creative Commons License

'SAP > Column' 카테고리의 다른 글

SAP 자격증 이야기  (0) 2009/06/23
SAP의 공부 방법에 대한 고민  (0) 2009/06/17
깊이 있는 SAP 관련 한글 포럼  (0) 2009/03/20
Posted by mycogito
TAG sap, 자격증