본문으로 이동

C/AL

위키백과, 우리 모두의 백과사전.
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);

같이 보기

[편집]

각주

[편집]
  1. ↑ Studebaker, David, "Programming Microsoft Dynamics NAV 2009," p. 8 (2009)

외부 링크

[편집]