C/AL
외관
| 패러다임 | 명령형 |
|---|---|
| 설계자 | 마이클 닐슨 |
| 개발자 | 마이크로소프트 |
| 영향을 받은 언어 | |
| 파스칼 | |
C/AL(Client/server Application Language)은 마이크로소프트 다이내믹스 NAV(이전 명칭: 나비전 어태인) 및 마이크로소프트 다이내믹스 365 비즈니스 센트럴의 14버전까지 포함하여 사용된 C/SIDE(Client/Server Integrated Development Environment) 내부의 프로그래밍 언어이다. 이후 AL로 대체되었다. C/AL은 데이터베이스 특화 프로그래밍 언어이며, 주로 나비전 데이터베이스에서 레코드를 검색, 삽입, 수정하는 데 사용된다. C/AL은 기반이 되는 파스칼 언어와 유사하다. 최초의 C/AL 컴파일러는 마이클 닐슨이 작성하였다.[1]
예제
[편집]Hello World
[편집]전형적인 Hello World 예제이다. C/SIDE(Client/Server Integrated Development Environment)에는 텍스트를 출력할 콘솔이 없으므로, 이 예제는 시각적 인터페이스인 대화 상자를 사용하여 작성되었다.
MESSAGE('hello, world!');
레코드 필터링 및 검색
[편집]C/AL에서 변수는 코드를 통해 정의되지 않으며, C/AL 편집기의 변수 선언 메뉴를 통해 정의된다. 이 예제에서는 Item이 Record 타입의 변수라고 가정한다.
IF Item.GET('31260210') THEN
MESSAGE(STRSUBSTNO('Item name is: %1',Item.Description));
Item.RESET;
Item.SETRANGE("No.",FromItem,ToItem);
Item.FINDLAST;
루프 및 데이터 조작
[편집]레코드셋을 순회하며 개별 레코드를 수정하는 작업은 단 몇 줄의 코드로 수행할 수 있다.
Item.RESET;
Item.SETRANGE("Blocked",TRUE);
IF Item.FINDSET THEN
REPEAT
IF Item."Profit %" < 20 THEN BEGIN
Item."Profit %" := 20;
Item.MODIFY(TRUE);
END;
UNTIL Item.NEXT = 0;
Item.MODIFYALL("Blocked",FALSE);
같이 보기
[편집]각주
[편집]- ↑ Studebaker, David, "Programming Microsoft Dynamics NAV 2009," p. 8 (2009)