stanford-oval/wikipedia huggingface dataset:
주의력결핍 과잉행동장애
진단기준 > DSM

여타 정신 질환처럼, 공식 진단은 전문가가 진단 기준에 따라 내려야 한다. 미국의 경우, 이러한 기준은 미국정신의학협회(American Psychiatric Association, APA)가 정신질환 진단 및 통계 편람(Diagnostic and Statistical Manual of Mental Disorders, DSM)에 제정하였다. 2013년 공표한 DSM-5 기준에 의하면, ADHD는 다음 세 가지 발현형이 있다.
ADHD 부주의형(ADHD, predominantly inattentive type) : 쉽게 주의산만해지거나(easily distracted), 잘 잊거나(forgetful), 백일몽에 빠지거나(daydreaming), 무체계적이거나(disorganization), 집중력이 빈약하거나(poor concentration), 과제 완수에 어려움이 있는(difficulty completing tasks) 증상이 나타남
ADHD 과잉행동-충동형(ADHD, predominantly hyperactive-impulsive type) : 과도하게 몸을 뒤틀거나 차분하지 못함(excessive fidgeting and restlessness), 과잉행동(hyperactivity), 기다리거나 앉아있질 못하는(difficulty waiting and remaining seated) 증상이 나타남
ADHD 혼합형(ADHD, combined type) : 위의 두 증상이 혼합되어 발현됨
이러한 하위유형은 부주의형, 과잉행동-충동형, 혹은 두 유형 중 9개의 장기 증상(6개월 이상 지속) 중 6개 이상의 발현에 근거한 것이다. 일부 증상은 6~12세 사이에 발생하며, 가정, 학교, 직장 등의 환경 가운데 1개 이상 환경에서 발생한다. 증상은 동년배 아동에게 있어 부적절한 것이어야 하며 이러한 증상들이 사회, 학업, 직장 관련 문제를 일으키고 있다는 것은 명백히 입증되고 있다.
DSM-5는 ADHD 증상을 보이지만 요구 조건을 완벽히 충족하지 못하는 사람에 대한 진단도 두 가지를 제공하고 있다. '기타 특정 ADHD(Other Specified ADHD)' 항목을 통해 전문가들은 진단 기준 미충족의 원인을 파악할 수 있다. 반면 '기타 비특정 ADHD(Other Unspecified ADHD)' 항목은 전문가들이 그 원인을 파악하지 않도록 하는 것에 사용한다.
진단기준 > ICD

세계보건기구(WHO)가 제정한 국제질병분류 제10판인 ICD-10에 의하면, '과잉운동성 장애(hyperkinetic disorder)'는 DSM-5에 정의된 ADHD와 유사하다. ICD-10이 정의한 품행 장애가 발현하면, '과잉운동성 품행 장애(hyperkinetic conduct disorder)'로 진단된다. 그렇지 않으면, 장애는 '활동 및 주의력 혼란(disturbance of activity and attention)', '기타 과잉운동성 장애(other hyperkinetic disorders)', '과잉운동성 장애 불특정형(hyperkinetic disorders, unspecified)'으로 분류된다. 후자는 '과잉운동성 증후군(hyperkinetic syndrome)'이라고도 한다.
보충판인 ICD-11에서, 장애는 6A05 '주의력결핍과잉행동장애(Attention deficit hyperactivity disorder)'로 분류되었고, 과잉운동성 장애는 사라졌다. 하위유형은 DSM-5와 비슷하게 '부주의형 발현(predominantly inattentive presentation)' (6A05.0), '과잉행동-충동성 발현(predominantly hyperactive-impulsive presentation)'(6A05.1), '혼합 발현(combined presentation)' (6A05.2)으로 나뉜다. 그러나 ICD-11은 하위유형에 완벽히 맞지 않는 사람들을 위한 기타 범주가 있다. '기타 특정 발현(other specified presentation)' (6A05.Y)은 임상전문가가 발현에 대한 상세 사항을 제시한다. '불특정 발현(presentation unspecified)' (6A05.Z)은 임상전문가가 상세 사항을 제공하지 않는 것이다.
발생 비율

미국 소아과학회(American Academy of Pediatrics)의 통계에서는 평균 3~8%의 비율로 주의력결핍 과다행동장애가 있다고 알려져 있으며, 1994년에 대한민국 서울 및 대전 지역에서의 역학조사에서도 7.6%의 발생 비율로 나타났다.
2007년 4월 대한민국 서울특별시 교육청 산하 학교보건진흥원이 펴낸 ‘학교보건연보'의 통계에서는 학생들의 전체 정신장애 진단중 주의력결핍 과다행동장애로 진단된 학생의 비율이 전체 2,672건 중 354건(13.25%)로 집계되었다. 남학생의 정신장애 중 가장 많은 비중(18.61%)을 차지하였으며, 고등학생의 정신장애 중에서도 가장 많은 비중(9.52%)을 차지하였다.
미국에서 ADHD는 DSM-4의 진단기준에 근거하면 6-7%의 아동 청소년에게 영향을 끼치는 것으로 추정되나 ICD-10의 엄격한 진단기준을 적용할 시 그 비율은 1-2%로 낮아진다.  ADHD는 다른 발달장애 질환들과 비슷하게 여아보다 남아에게서 약 3배 많이 나타난다. 그러나 미국, 영국 등 일부 국가를 제외한 많은 국가에서 ADHD의 진단율은 이보다 크게 낮으며 미국 내에서도 인종 등 사회적 집단에 따라 진단율이 다르게 나타나 그 유효성에 많은 논란이 뒤따르고 있다.
치료

ADHD는 상담치료나 약물치료가 이뤄지거나 두 개가 병행된다. 치료는 장기간 효과를 보이나 완치하는 데 어렵다. 약물치료나 심리적 치료, 규칙적인 보조가 지속적으로 이루어진다면 사회적으로 적응하는 데는 무리가 없으나, 충동성이나 감정의 동요가 심한 경우, 정신 장애를 동반한 경우, 인식능력 저하, 약물남용, 감정 조절 능력 저하, 재발된 경우에는 더 어렵다. 이 질환의 치료는 반드시 가족과 학교와의 협력체계가 매우 중요하며 학습태도, 가족과 교우관계, 생활태도나 감정 등을 관찰하고 행동적으로 보조가 반드시 필요하다. 치료는 약물치료와 정신사회학적 치료, 보조치료, 대체요법 등으로 이루어진다. 약물치료에 이용되는 약물로는 1차 선택 약물인 중추신경 자극제, 삼환계 항우울제, α-2 아드레날린성 수용체 작용제, 비습관성 CNS(중추 신경계) 용제인 아토목세틴등이 있다. 장기 보상에 집중하는데 문제가 있는 사람들에게는, 상당량의 긍정적 강화가 과제 수행을 향상시킨다. ADHD 각성제는 아동 ADHD 환자의 끈기와 과제 수행 능력을 향상시킨다.
치료 > 행동치료

ADHD에 행동치료가 효과가 있다고 밝혀졌다. 가벼운 증상이 있는 환자나 미취학 아동 환자에게는 1차 치료로 행동치료를 권장한다. 심리치료로는 다음과 같은 것이 있다.
심리교육 인풋, 행동치료, 인지행동치료(CBT), 대인관계 심리치료, 가족치료, 학교 기반 개입, 사회 스킬 훈련, 행동 또래 개입, 조직 훈련, 부모 관리 훈련. 신경 피드백도 사용되어 왔지만, 효과 유무는 불분명하다. 부모 훈련은 반항 행동이나 탈선 행동 등의 행동 문제를 개선한다.
가족치료의 효과성에 관한 심도 있는 연구는 거의 없지만, 치료가 지역사회보호(community care)와 유사하며 위약보다 효과가 있다고 기존 연구를 통해 밝혀졌다. ADHD 지원 단체들은 가족들에게 정보를 제공하여 ADHD 대처에 도움을 주고 있다.
사회성 기술 훈련, 행동 수정, 약물치료는 또래 관계 향상에 있어 효과가 제한적이다. 주요 우울증, 범법행위, 학업 실패, 약물 사용 장애 등 향후에 발생할 심리적 문제들을 경감시키는데 있어 가장 중요한 요소는 바로 정상적인 또래들과의 우정을 형성하는 것이다.
치료 > 약물치료

기존 ADHD 치료제인 메틸페니데이트는 주의집중을 관장하는 뇌 신경전달 물질인 도파민과 노르에피네프린을 활성화하고, 대뇌 각성효과를 나타내며, 1회 복용 시 최대 4~12시간까지 약효를 보인다. ADHD를 앓고 있는 아이는 약효가 지속되는 시간 동안 주의력이나 집중력이 높아져 일반 아이들과 같이 학업이나 공동생활이 자유롭다. 하지만 약효가 발현되지 않는 시간에는 아이들의 관리가 어렵기 때문에 보호자들이 아이들의 약물복용에 많은 부분 신경을 써야하는 번거로움이 있었지만, 삼투압 현상을 이용해 약물 흡수 속도를 조절하는 기술(Osmotic Release Oral Delivery System)과 약물이 서서히 흡수되는 젤메트릭스를 응용하여, 하루 한번 복용하는 장용성 서방형 제제로 복약 순응도를 높인 '콘서타 OROS(한국얀센)'와 '메디키넷(명인제약)', 벨기에 UCB사가 개발한 '메타데이트(환인제약)'의 경우, 속방형 메틸페니데이트와, 서방형 메틸페니데이트 층과 삼투압으로 활성화되는 한 개의 장용성 코팅으로 이뤄진다. 레이저로 알약에 미세 구멍을 뚫어놨다. 이 구멍으로 물이 들어오면 안에 있던 삼투압 층이 활성화되며, 서방형과 장용성 등 두 층의 약물 성분을 지속적으로 서서히 방출되고, 장에서 용출되어, 약효가 12시간 동안 지속되는 장점이 있다.
아울러, 미국 일라이 릴리 앤드 컴퍼니가 개발한 아토목세틴 성분의 비향정 ADHD 치료제 '스트라테라'는 약효가 24시간 지속돼, 1일 1회 약을 복용하면 아침부터 잠들 때까지, 즉 하루 종일 정상적인 생활을 가능케 해 준다.
또한, 아토목세틴은 주의력을 관장하고 충동 등을 통제하는 뇌 속의 신경전달 물질인 노르에피네프린의 재흡수를 선택적으로 억제하여, 기존 ADHD 치료제의 문제로 지적되온 신경 과민 및 흥분 등 감정 기복 증세 및 오남용의 우려가 거의 없으므로, 도파민 농도에 영향을 주지 않아 기존의 메틸페니데이트를 복용시 악화될 수 있는 식욕 부진, 자신의지와 무관하게 신체 일부분을 빠르게 움직이거나 소리를 내는 틱이나 뚜렛장애, 심각한 불안 초조와 같은 동반 증상을 수반하는 환자들에게도 사용할 수 있어, 습관성 약제인 메틸페니데이트 등 여타 약제들과 차별성을 보이고 있다.
여기에 기존의 ADHD 치료제에 비해 환자의 성장, 즉 키와 몸무게에 미치는 영향이 적은 것도, 성장기 소아 및 청소년의 ADHD 환자들에게 적합한 1차 약제로, 명인제약의 '아토목신' 등 동일 성분의 제네릭 의약품이 출시되어 국민 건강 보험 요양 급여 대상이 기존 6~18세에서 18세 이상의 성인까지 확대되었다.
약물치료의 한계를 극복하기 위해 체계적인 프로그램으로 정신사회학적 치료가 이루어지는데 이것은 부모와 교사, 친구들과 함께 가정과 교실 등의 접할 수 있는 다양한 환경에서 실시한다. 바람직하지 않는 행동의 환경적 요인을 제거하고 행동요법을 통해 적절한 행동상태로의 발달을 돕는다. 또한 학습능력 적응훈련과 사회적적응기술 훈련도 함께 이루어진다.
주의력결핍 과잉행동장애는 약물치료가 효과적이다. 80% 정도가 분명한 호전을 보이는데, 집중력, 기억력, 및 학습능력이 전반적으로 좋아진다. 또 수행능력과 더불어 주의 산만함, 과잉 활동과 충동성은 감소되고, 부모님과 선생님에게도 잘 따르고 긍정적인 태도를 보이게 되어 어느 정도 행동 문제의 완화효과를 볼 수 있다. 그러나 약물로 문제증상을 치료하는데 효과가 있어 도움이 되지만, 피곤이나 무기력함 등 약물의 역반응이 올 수 있기 때문에 약물을 섭취하기 전 전문가와의 상담이 반드시 필요하다. 이와 더불어 부모 또한 아동에 대한 정확한 정보를 얻고 아이를 도와주실 수 있게 하는 부모 교육을 받는 것이 필요하고, 주의력결핍 과다행동장애는 사회적 상호작용의 능력 부족이나, 타인의 마음을 읽지 못하는 등 다른 심리적 문제와도 수반되기 때문에 아동의 충동성을 감소시키고 자기조절 능력을 향상시키는 인지행동 치료, 기초적인 학습능력 향상을 위한 학습치료, 놀이치료, 사회성 그룹치료 등 다양한 치료가 아이의 필요에 맞게 병행되는 것이 좋다.
또한 언어와 대화요법, 직업적 적응훈련, 레크레이션 치료 등의 보조치료와 식이요법, 납 제거, 생약치료, 침술 등의 대체요법도 있으나, 완치는 어렵다.
치료 > 기타

꾸준한 신체 운동, 특히 에어로빅은 아동 및 성인 ADHD에 효과가 있는 보조치료이다. 특히 각성제 약물치료와 결합할 때 효과가 있다. 그러나 증상 개선에 있어 에어로빅의 강도나 유형에 있어 최적 정도는 알려져 있지 않다. 특히 꾸준한 에어로빅의 장기적 효과로는 행동 능력과 운동 능력 개선, 집행 기능 향상 (주의력, 억제 조절, 계획 수립, 기타 인지 분야), 정보 처리 속도 향상, 기억력 향상 등이 있다. 꾸준한 에어로빅에 호응한 행동 및 사회정서적 결과에 대한 부모-교사 평가로는 다음과 같은 것이 있다.
전반적 기능 향상, ADHD 증상 경감, 자존감 향상, 불안 및 우울 경감, 신체증상 호소 경감, 학업 및 학급 활동 향상, 사회적 행동 향상. 자극제를 투약하면서 운동하면 집행 기능의 자극제 효과를 증가시킨다. 운동의 단기적 효과는 뇌내 시냅스 도파민과 노르에피네프린 증강을 통해 전달된다고 본다.
식이 수정은 입증이 충준히 이뤄지지 않았가에, 2019년까지 미국소아과학회, 영국 국립보건임상연구원(NICE), 보건연구품질국에서는 추천하지 않는다. 2013년 한 메타분석에서는 아동환자 1/3 정도가 무지방산 보충제 섭취 혹은 인공색소 섭취 경감을 통해 증상 개선을 보인다고 보고하였다. 이러한 이익은 음식 민감도나 약물 치료를 동시에 진행하는 아동에게만 해당한다. 이 리뷰는 치료를 위해 식단에서 기타 다른 음식을 빼는 것은 증명되지 않았다고 밝혔다. 2018년 한 리뷰에 의하면, 오메가-3 지방산 보충제과 오메가-6 지방산 보충제는 ADHD를 개선하는데 도움되지 않는다. 2014년 한 리뷰는 제외식이(elimination diet)가 알러지가 있는 경우 등 소수 아동에게만 효과를 보인다고 밝혔다. 2016년 한 리뷰는 무글루텐 식단을 표준 치료법으로서 권장하지 않는다고 주장하였다. 2017년 한 리뷰에서는 일부음식 제외식이가 투약하기엔 너무 어리거나 약효가 없는 아동에게는 도움 되지만, 무지방산 보충제 복용이나 인공색소 섭취 제한 조치는 표준 치료로 권장하지 않는다고 밝혔다. 철, 마그네슘, 아이오딘(요오드)의 만성적 결핍은 증상에 악영향을 준다. 아연 부족이 ADHD와 관련되어 있다는 것은 다소 입증되어 있다. 개도국 이외의 국가에서는 흔치 않는 질병인 아연 결핍이 겉으로 보이지 않는데도 불구하고, 치료를 위해 아연 보충제를 치료로 섭취하는 것은 권장하지 않는다. 그러나 암페타민을 치료제로 사용할 경우, 아연 보충제는 암페타민 최소 유효량을 줄여준다.
대중 매체

〈위기의 아이들, ADHD〉. 《SBS 스페셜》 (텔레비전). 제 28회. 2006년 2월 5일. SBS 시사교양본부 기획·제작.
같이 보기

분노조절장애(IED)
성인 ADHD
주의력결핍 과잉 행동 증후군이 없는 사람(왼쪽)의 뇌와 주의력결핍 과잉 행동 증후군이 있는 사람(오른쪽)의 뇌를 촬영한 사진
코볼

코볼(Kobol)에 대해서는 배틀스타 갈락티카 문서를 참고하십시오.
| --- | --- |
CODASYL에 대한 코볼 60 보고서의 책 표지 (1960년 4월)
패러다임: 절차적, 명령형, 객체 지향
설계자: 하워드 브롬버그, 하워드 디스카운트, 버넌 리브스, 진 E. 사멧, 윌리엄 셀든, 거트루드 티어니
개발자: CODASYL, ANSI, ISO
발표일: 1959년(66년 전)(1959)
최근 버전: ISO/IEC 1989:2014
최근 버전 출시일: 2014년
자료형 체계: 약한 타이핑/강한 타이핑
파일 확장자: .cbl, .cob, .cpy
주요 구현체
GnuCOBOL, IBM COBOL, 마이크로 포커스 비주얼 코볼
ACUCOBOL-GT, COBOL-IT, COBOL/2, DEC COBOL-10, DEC VAX COBOL, DOSVS COBOL, Fujitsu COBOL, Hitachi COBOL2002, HP3000 COBOL/II, IBM COBOL SAA, IBM COBOL/400, IBM COBOL/II, IBM Enterprise COBOL, IBM ILE COBOL, IBM OS/VS COBOL, ICL COBOL,  isCOBOL, Micro Focus COBOL, Microsoft COBOL, Realia COBOL, Ryan McFarland RM/COBOL, Ryan McFarland RM/COBOL-85, Tandem (NonStop) COBOL85, Tandem (NonStop) SCOBOL, UNIVAC COBOL, Unisys MCP COBOL74, Unisys MCP COBOL85, Unix COBOL X/Open, Visual COBOL, Wang VS COBOL
영향을 받은 언어
AIMACO, C++, COMTRAN, FACT, FLOW-MATIC,  스몰토크
영향을 준 언어
코볼스크립트, PL/I
코볼(COBOL, COmmon Business-Oriented Language, 사무 지향 보통 언어)은 사무용으로 설계된, 영어와 같은 컴퓨터 프로그래밍 언어이다. 절차적, 명령형 언어이고, 2002년부터는 객체 지향 언어이다.
코볼은 주로 비즈니스, 금융, 회사/정부 관리 시스템에 주로 사용된다. 1997년 가트너 그룹은 총 200,000,000,000줄의 코볼이 현존하며 모든 비즈니스 프로그램의 80%를 실행한 것으로 예측하였다.
코볼은 지금도 메인프레임 컴퓨터의 레거시 응용 프로그램들에 사용되고 있으며 대용량 일괄 처리 및 트랜잭션 처리와 같은 작업에 쓰인다. 그러나 숙련된 코볼 프로그래머가 은퇴하고 인기가 시들어가면서 프로그램들은 새로운 플랫폼으로 이관돼 현대의 언어로 다시 작성되거나 소프트웨어 패키지로 대체되는 추세이다. 코볼 대부분의 프로그래밍은 순수하게 기존의 응용 프로그램들을 관리하는 데 있다.
코볼은 1959년에 CODASYL이 설계하였으며 부분적으로는, 코볼의 어머니로 불리는 그레이스 호퍼의 이전 프로그래밍 언어 디자인을 기반으로 한다. 데이터 처리를 위해 이식 가능한 프로그래밍 언어를 만들려는 미국 국방부 노고의 일부이기도 하다. 임시방편으로 의도했던 미국 국방부가 발빠르게 컴퓨터 제조업체에게 그것을 제공하도록 강제한 결과 널리 채택되었다. 1968년 표준화되어 그 뒤로 4차례 개정되었다. 확장에는 구조적, 객체 지향 프로그래밍의 지원을 포함한다. 현재 표준은 ISO/IEC 1989:2014이다.
코볼은 영어와 비슷한 문법을 갖고 있으며, 자체 문서화 및 높은 가독성을 염두에 두고 설계되었다. 그러나 문법이 장황하고 300개가 넘는 예약어를 사용한다. y = x;처럼 현대의 간결한 문법과 달리, 코볼은 더욱 영어와 같은 문법을 갖고 있다. (이 경우 MOVE x TO y). 코볼 코드는 4개의 디비전(IDENTIFICATION, ENVIRONMENT, DATA, PROCEDURE)으로 나뉘며 이 안에 엄격한 계층적 섹션, 문단, 문장들을 포함한다. 대형 표준 라이브러리가 부족하며 이 표준은 43개의 문들과 87개의 함수, 그리고 하나의 클래스만을 규정한다.
학계의 컴퓨터 과학자들은 코볼이 만들어졌을 때 일반적으로 사무용 응용 프로그램들에 관심이 없었으며 설계에도 참여하지 않았다. 코볼은 문법의 장황함, 설계 과정, 구조화 프로그래밍 지원 부족으로 비판을 받아왔으며 이음매가 없고 이해하기 어려운 프로그램들을 만들어냈다.
코볼보다 먼저 개발된 포트란(FORTRAN)은 주로 과학기술 계산용인 반면 비슷한 시기에 탄생된 코볼은 대량 데이터 처리를 위한 업무처리 및 관리 분야용으로 자리잡게 된다. 코볼과 포트란은 프로그램밍 언어 역사에서 고급 기술언어의 원점이 되고 있다.
역사 및 사양 > 배경

1950년대 말 컴퓨터 사용자와 제조업체는 프로그래밍의 비용이 치솟는 것을 걱정하기 시작했다. 1959년 조사에 따르면 데이터 처리 설치에서 프로그래밍의 평균 비용은 $800,000 (미국 달러)이고 새로운 하드웨어에서 실행할 수 있도록 프로그램을 변환하는데 드는 비용은 $600,000였다. 새로운 프로그래밍 언어들이 빠르게 확산되는 가운데, 동일 조사에서 하나로 통일된 사무 지향 언어가 사용된다면 변환은 훨씬 저렴해지고 빨라질 것이라는 결과가 나왔다.
1959년 4월 학계, 컴퓨터 사용자들, 제조업체들의 대표들이 펜실베니아 대학교에서 통일된 사무 언어에 대한 정식 회의를 조성하기에 이르렀다.
영어와 같은 데이터 처리 언어 FLOW-MATIC을 개발한 그레이스 호퍼를 포함하여 진 사멧, 솔 곤(Saul Gorn)이 대표로 참석했다.
이 단체는 미국 국방부에 통일된 사무 언어를 만들기 위해 지원해줄 것을 요청하였다. 대표단은 미국 국방부의 데이터 시스템 연구 스태프 총괄을 맡던 찰스 A. 필립스에게 감명을 주었는데, 그는 이들이 미국 국방부의 문제들을 꼼꼼하게 이해하였다고 생각하였다. 미국 국방부는 225대의 컴퓨터를 운영했고 추가로 175대를 주문하였으며 이 컴퓨터들 상에 프로그램을 구현하는데 $200,000,000를 지출하였다. 이식 가능한 프로그램들은 시간을 절약하고, 비용을 줄이며 현대화를 쉽게 할 수 있었다.
필립스는 이 회의를 지원하는데 동의하였고 대표단에게 의제의 초안을 작성하는 일을 부여하였다.
역사 및 사양 > 코볼-61 ~ 코볼-65

코볼이 10년이 지나면 존재할 가능성은 없어 보인다.
익명 - 1960년 6월
수많은 논리적 결함들이 코볼 60에 발견되었는데, GE의 찰스 캐츠는 이에 대해 모호하게 해석되지 않는다고 경고하였다. 마지못한 단기 위원회는 완전한 정리를 단행하였고 1963년 3월 코볼의 문법이 알골의 것처럼 정의가 가능해졌으나 의미적인 모호성(semantic ambiguities)은 여전히 남아있다고 보고되었다.
초기 코볼 컴파일러들은 원시적이었고 속도가 느렸다. 1962년 미국 해군 평가는 분당 3-11개 문의 컴파일 속도를 지적했다. 1964년 중순에는 분당 11-1000개의 문으로까지 증가하였다.
메모리가 늘어나면서 속도가 급격하게 빨라졌고 컴파일 비용이 다양해졌다. 문 당 비용은 $0.23에서 $18.91 사이였다.
1962년 말에 IBM은 코볼이 그들의 주 개발 언어가 되고 COMTRAN의 개발은 중단할 것이라 선언하였다.
코볼 사양은 출판 이후로 5년 안에 3번 개정되었다. 코볼-60은 1961년에 코볼-61으로 대체되었다. 그 뒤 코볼-61 확장 사양으로 1963년에 대체되어 정렬 및 보고서 작성 기능이 도입되었다. 추가된 기능들은 하니웰이 1959년 말 단기 위원회에 편지를 보내 확인된 결함들을 수정하였다. 코볼 에디션 1965는 사양에 대해 더 명확히 하고 대용량 기억 장치의 파일들과 표를 다룰 수 있는 기능을 소개하였다.
역사 및 사양 > 코볼-68

버전 간 비호환성을 극복하기 위해 코볼을 표준화하는 작업이 시작되었다. 1962년 말 ISO와 미국 스탠더드(현재의 ANSI)는 표준을 만드는 그룹들을 설립하였다.
ANSI는 1968년 8월 《USA Standard COBOL X3.23》을 만듦으로써 차기 버전들의 주춧돌이 되었다. 이 버전은 ANS(American National Standard) 코볼로 알려져 있으며 1972년에 ISO에 채택되었다.
역사 및 사양 > 코볼-74

1970년에 코볼은 전 세계에서 가장 널리 쓰이는 프로그래밍 언어가 되었다.
ANSI 위원회와 독립적으로 CODASYL 프로그래밍 언어 위원회는 언어 개선에 착수했다. 이들은 1968년, 1969년, 1970년, 1973년에 새로운 버전들을 기술하였고, 여기에 새로운 프로그램 간 통신, 디버깅, 파일 병합 기능, 개선된 문자열 관리, 라이브러리 포함 기능과 같은 변경 사항을 포함하였다. CODASYL이 ANSI 위원회와 독립적이었으나, ANSI는 《CODASYL Journal of Development》를 사용하여 구현을 보증하는데 충분히 대중적인 기능들을 식별하게 하였다. 프로그래밍 언어 위원회는 또한 ECMA와 일본 코볼 표준 위원회와도 연계하였다.
그러나 프로그래밍 언어 위원회는 잘 알려지지 않았다. 부사장이었던 William Rinehuls는 코볼 커뮤니티의 2/3이 위원회의 존재조차 모르고 있다고 불평하였다. 또, 무료로 이용이 가능한 변경 사항 제안, 회의록과 같은 공용 문서를 만들 자금이 부족할 정도로 빈약했다.
1974년 ANSI는 (ANS) 코볼의 개정판을 출판하였으며, 여기에는 파일 조직, DELETE 문, 세그먼트 모듈과 같은 새로운 기능들이 포함되었다. NOTE 문, EXAMINE 문(INSPECT 문으로 대체), 구현자 정의 랜덤 액세스 모듈(새로운 순차 및 상대 입출력 모듈로 대체)과 같은 기능들이 제거되었다. 44개의 변경 사항으로 이루어져 있고 새로운 표준과 호환되지 않은 기존의 문들을 나열하였다. 보고서 작성 기능은 혹평을 받아 코볼에서 물러났지만 표준이 출판되기 전에 복귀되었다. 나중에 ISO는 1978년에 갱신된 표준을 채택하였다.
역사 및 사양 > 코볼-85

1978년 7월, 코볼 74를 개정하는 작업이 시작되었다. 제안된 표준(일반적으로 코볼-80으로 알려져 있음)은 이전 것과는 상당히 달랐으므로 비호환성 및 변환 비용에 대한 걱정을 야기하였다. 1981년 1월, 트래블러스 인슈런스(Travelers Insurance)의 수석 부사장 조지프 T 브로피(Joseph T. Brophy)는 표준 위원회를 고소하겠다고 위협하였는데 그 까닭은 코볼-74와 상위 호환이 되지 않았기 때문이다. 브로피는 그들의 40,000,000줄이나 되는 코드의 변환을 "비생산적"이고 "프로그램 자원 중 완전한 쓰레기"라고 기술하였다. 그 해의 나중에 DPMA(Data Processing Management Association)는 이것은 새로운 표준에 강하게 반하는 것이며, 엄두도 못 낼 정도로 높은 변환 비용과 기능 강화가 사용자에게 강제되었다고 언급하였다.
공식적인 최초 검토 기간 동안 위원회는 2,200개의 응답을 받았으며 이 가운데 1,700개가 부정적인 형태의 편지들이었다. 그 밖의 응답들은 코볼-80이 그들의 시스템에 설치할 수 있는지의 상세한 영향도 분석에 대한 것이었다. 변환 비용이 코드 한 줄에 적어도 50 센트가 들 것으로 예측되었다. 12개도 채 안 되는 응답에서는 제안된 표준을 선호한다는 의견이었다.
1983년 DPMA는 새로운 표준에 대한 반대를 철회하고 대중이 걱정하는 사항들에 대한 위원회의 응답을 언급하였다. 같은 해에 미국 국립표준국의 연구에 따르면 제안된 표준은 문제점이 거의 없을 것으로 결론을 내렸다. 한 해 더 지나 코볼-80 컴파일러가 코볼-74 프로그램들의 변환에 일부 문제가 있었던 DEC VAX 사용자들에게 공개되었다. 새로운 EVALUTE 문과 인라인 PERFORM이 단순해진 제어 흐름와 디버깅 덕분에 특히 잘 받아들여져 생산성이 향상되었다.
1985년 말에 ANSI는 개정된 표준을 출판하였다. 60개의 기능들이 변경되거나 사용을 권장하지 않는 쪽으로 바뀌었고 다음과 같은 기능들이 포함되었다:
범위 종단자 (END-IF, END-PERFORM, END-READ 등)
내재된 프로그램(nested programs)
CONTINUE 문 - no-operation 문
EVALUTE 문 - switch 문
INITIALIZE 문
인라인 PERFORM 루프 - 이전에 반복체는 별도의 프로시저에 정의하여야 했음
참조 수정 - 부분열(substring) 접근 허용
입출력 상태 코드
이 표준은 같은 해에 ISO에 채택되었다. 두 개의 개정안이 1989년(내장 함수 도입)과 1993년(기타 수정 사항 제공)에 공개되었다. ISO는 표준의 주 소유권과 개발을 최종적으로 취득하기 전에 1991년과 1994년에 각각 개정안들을 채택하였다.
역사 및 사양 > 코볼 2002 및 객체 지향 코볼

1990년대 초에 완전한 리비전의 차기 코볼에 객체 지향을 추가하는 작업이 시작되었다. 객체 지향 기능들은 C++과 스몰토크로부터 가져왔다. 초기에는 1997년에 이 리비전이 완수될 것으로 예측했으며 ISO 위원회 초안(Committee Draft)은 1997년에 이용이 가능하게 되었다. 마이크로 포커스, 후지쯔, IBM을 포함한 일부 업체들은 완전한 리비전의 초안에 기반한 객체 지향 문법을 도입하였다. 마지막으로 승인된 ISO 표준은 2002년 말에 승인되어 출판되었다.
후지쯔/GT소프트웨어, 마이크로 포커스, 레인코드(RainCode)는 닷넷 프레임워크를 대상으로 한 객체 지향 코볼 컴파일러를 도입하였다.
기타 수많은 기능들이 있었으며, 이 가운데 다수가 《CODASYL COBOL Journal of Development since 1978》에 언급되었고 코볼-85에 포함될 기회는 놓치게 되었다. 이러한 다른 기능들은 다음을 포함한다:
자유 포맷의 코드
사용자 지정 함수
재귀(recursion)
로케일 기반 처리
유니코드와 같은 확장 문자 지원
부동소수점과 이진 자료형
이식 가능한 산술 결과물
비트와 불리언 자료형
스토리지를 취득(get)하고 해제(free)하는 포인터와 문법
SCREEN DIRECTION (텍스트 사용자 인터페이스)
VALIDATE 기능
다른 프로그래밍 언어 및 애플리케이션 프레임워크(닷넷, 자바와의 개선된 상호운용성)
3개의 정정 사항이 표준에 출판되었다. (2006년에 2개, 2009년에 1개)
역사 및 사양 > 코볼 2014

2003년과 2009년 사이에 3개의 기술 보고서가 생산되었으며, 코볼을 위한 오브젝트 완성(object finalization), XML 처리, 콜렉션 클래스를 기술하고 있다.
코볼 2002의 지원 수준은 매주 낮았다. 즉, 이 표준을 온전히 지원하는 컴파일러가 전무했다. 마이크로 포커스는 그 이유를 새로운 기능에 대한 사용자 수요가 적고 컴파일러 적합성을 테스트하는데 쓰였던 미국 국립표준기술연구소(NIST) 테스트 제품군이 철폐되었기 때문으로 보았다. 표준화 과정 또한 속도가 느렸고 자원이 부족했다.
코볼 2014는 다음의 변경 사항을 포함한다:
이식 가능한 산술 결과물들은 IEEE 754 자료형으로 치환됨
주된 기능이 선택 사항이 됨. (예: 객체 지향, VALIDATE 기능, 보고서 작성 기능, 화면 핸들링 기능)
메소드 오버로딩
동적 캐퍼시티 테이블 (코볼 2002 초안으로부터 제거된 기능)
역사 및 사양 > 레거시

코볼 프로그램들은 정부와 기업체에 고루 사용되며 z/OS, VME, 유닉스, 윈도우와 같은 다양한 운영 체제에서 구동된다. 1997년 가트너 그룹은 전 세계 비즈니스의 80%가 200,000,000,000줄 이상의 코드의 코볼을 실행하였고 한 해에 5,000,000,000줄 이상이 작성되고 있다고 보고했다.
20세기 말 무렵, 2000년 문제(Y2K) 해결을 위해 코볼 프로그래밍 노력이 상당 부분 집중되었으며 가끔은 10년 전에 시스템을 개발했던 동일 프로그래머들에 의해 수행되었다. 코볼 코드를 고치는데 필요한 일정 수준의 노력이 상당량의 비즈니스 지향 코볼에 전가되었는데, 사무 응용 프로그램들이 날짜를 사용하는 정도가 심했기 때문이다. 그 외에 고정 길이 데이터 필드에도 영향을 주었다.
2006년과 2012년에 컴퓨터월드 조사에 따르면 조직 중 60%가 코볼을 (C++, 비주얼 베이직 닷넷보다 더) 사용하였으며 코볼은 자사 내부 소프트웨어 다수에 사용되었다. 관리자 중 36%가 코볼로부터 이관할 예정이라고 언급했으며, 25%는 값이 더 저렴해진다면 그러할 의향이 있다고 밝혔다. 일부 기업체는 그들의 코볼 프로그램들을 유지보수하면서도 그들의 시스템을 값비싼 메인프레임에서 더 값싼 더 현대적인 시스템으로 이관해오고 있다.
기능 > 문법

코볼은 영어와 같은 문법을 가지고 있으며, 프로그램 안의 거의 모든 것을 기술하는데 사용된다. 예를 들어, 조건은 x IS GREATER THAN y로 표현할 수 있고, 더 간결하게는 x GREATER y나 x > y로 표현할 수 있다. 더 복잡한 조건들은 반복되는 조건과 변수들을 제거하여 축약할 수 있다. 이를테면 a > b AND a > c OR a = d는 a > b AND c OR = d로 줄일 수 있다. 영어와 같은 문법을 지닌 코볼은 300개의 예약어가 있다. 일부 예약어는 대체가 가능하고 단복수를 표현하는 낱말도 마치 영어의 구문처럼 바꾸어 사용할 수 있다. 이를테면 IN과 OF 키워드는 번갈아 사용할 수 있는데, 이는 IS와 ARE, VALUE와 VALUES도 그러하다.
각 코볼 프로그램은 4개의 어휘 항목을 이룬다; 워드, 리터럴, 픽처(PICTURE) 문자, 구분자(separator). 워드에는 예약어와 사용자 정의 식별자를 포함한다. 이들은 최대 31개 문자 길이로 되어 있으며 문자, 숫자, 하이픈(-), 언더바(_)를 포함할 수 있다. 리터럴은 숫자(예: 12)와 문자(예: 'Hello!')를 포함한다. 구분자는 공백 문자와 콤마, 세미콜론을 포함하고 그 뒤에 공백이 온다.
코볼 프로그램은 4개의 구역으로 나뉜다: IDENTIFICATION DIVISION, ENVIRONMENT DIVISION, DATA DIVISION, PROCEDURE DIVISION. IDENTIFICATION DIVISION은 소스 요소의 이름과 종류를 정의하며 여기서 클래스와 인터페이스가 지정된다. ENVIRONMENT DIVISION은 이를 실행하는 시스템에 의존하는 프로그램 기능을 정의하는데, 이를테면 파일과 문자 집합을 들 수 있다. DATA DIVISION은 변수와 매개변수를 선언하는데 쓰인다. PROCEDURE DIVISION은 프로그램의 문을 포함한다. 각 구역은 섹션으로 다시 구분되며 섹션은 여러 문단으로 이루어진다.
기능 > 코드 포맷

코볼은 두 가지 포맷으로 작성할 수 있다: 고정 포맷 (기본값), 자유(free) 포맷. 고정 포맷의 경우 코드는 특정 이름에 맞추어 정렬하여야 한다. 코볼 2002까지는 아래와 같았다:
| 이름 | 컬럼 | 용도 |
| --- | --- | --- |
| 시퀀스 번호 영역 | 1–6 | 본래 카드/줄 번호에 사용되었으나 컴파일러는 이 영역을 무시한다. |
| 지시자 영역 | 7 | 여기에는 다음의 문자가 허용된다: * – 주석  / – 새로운 문서의 소스 목록에 출력할 주석  - – 계속행(continuation line). 이전 줄의 워드나 리터럴을 계속하여 처리한다.  D – 디버그 모드에서 사용되는 줄, 그 밖의 이용에서는 무시됨 |
| 영역 A | 8–11 | 여기에는 다음을 포함한다: DIVISION, SECTION, 프로시저 헤더; 01과 77 레벨 번호, 파일/보고서 서술자 |
| 영역 B | 12–72 | 영역 A에 허용되지 않는 기타 코드 |
| 프로그램 이름 영역 | 73– | 역사적으로는 천공 카드에 최대 80컬럼까지 사용했으며, 카드에 속하는 프로그램이나 시퀀스를 식별하는데 사용된다. |
코볼 2002에서 영역 A와 B는 컬럼 255로 병합, 확장되었으며 프로그램 이름 영역은 제거되었다.
코볼 2002는 또한 자유 포맷 코드를 도입하였다. 자유 포맷 코드는 마치 더 새로운 프로그래밍 언어들에서처럼 파일의 어느 열에나 위치할 수 있다. 주석은 *>을 이용하여 지정하며 어느 곳에서 위치해도 되고 고정 포맷 소스 코드에도 사용할 수 있다. 계속행은 존재하지 않으며 >>PAGE라는 지시자는 / 지시자를 대체한다.
기능 > IDENTIFICATION DIVISION

IDENTIFICATION DIVISION은 다음의 코드 개체를 식별하고 클래스나 인터페이스의 정의를 포함한다.
기능 > IDENTIFICATION DIVISION > 객체 지향 프로그래밍

클래스와 인터페이스라는 개념은 2002년 이후로 코볼에 포함되고 있다. 클래스에는 클래스 메소드와 변수, 인스턴스 오브젝트를 포함하는 팩토리 오브젝트(factory object)와 인스턴스 메소드와 변수를 포함하는 인스턴스 오브젝트(instance object)들을 갖고 있다. 상속과 인터페이스들은 다형성을 제공한다.
제네릭 프로그래밍 지원은 매개변수 방식의 클래스들을 통해 제공되며, 클래스나 인터페이스를 사용하여 예를 들 수 있다. 오브젝트들은 특정한 종류에 제한을 두기 위해 참조용으로 저장된다. 이른바 두 종류의 메소드가 있다.: INVOKE 문 (CALL과 매우 비슷하게 동작), 인라인 메소드 호출(함수를 사용하는 것과 비슷).
*> 아래의 것들은 동등하다.
INVOKE my-class "foo" RETURNING var
MOVE my-class::"foo" TO var *> 인라인 메소드 호출
코볼은 메소드를 숨기는 방식은 제공하지 않는다. 클래스 데이터는 숨길 수 있지만, 사용자가 그것에 접근하지 못하도록 PROPERTY 절 없이 선언한 경우에야 가능. 메소드 오버로드는 코볼 2014에 추가되었다.
기능 > ENVIRONMENT DIVISION

ENVIRONMENT DIVISION에는 CONFIGURATION SECTION과 INPUT-OUTPUT SECTION을 포함한다. CONFIGURATION SECTION은 통화 기호, 로케일, 문자 집합과 같은 변수 기능들을 지정하는데 사용한다. INPUT-OUTPUT SECTION은 파일 관련 정보를 포함한다.
기능 > ENVIRONMENT DIVISION > 파일

코볼은 세 개의 파일 포맷, 즉 오거나이제이션(organization)을 지원한다: 순차(sequential), 색인(indexed), 상대(relative). 순차 파일에서 레코드들은 연속적이며 순차적으로 가로질러야 하는데, 이는 마치 연결 리스트와 비슷하다. 색인 파일들은 하나 이상의 색인을 갖고 있어서 레코드들이 임의 접근을 가능하게 하고 이들에 저장을 가능케 한다. 각 레코드는 고유 키를 가지고 있어야 하지만 다른 대안이 되는 레코드 키들은 꼭 고유하지 않아도 된다. 색인 파일들의 구현체들은 업체에 따라 다르지만, C‑ISAM와 VSAM과 같은 공통 구현체들은 IBM의 ISAM에 기반을 두고 있다. 색인 파일들과 비슷한 상대 파일들은 고유 레코드 키를 가지고 있으나 대안 키들이 존재하지는 않는다. 상대 레코드의 키는 서열적인 위치를 지니는데, 이를테면 10번째 레코드는 10의 키를 가진다. 다시 말해, 5의 키를 지닌 레코드를 만들 때에는 (비어있는) 선행 레코드들이 만들어져야 한다. 또, 상대 파일들은 순차 및 임의 접근이 가능하다.
공통 비표준 확장으로 줄 단위의 순차 방식(line sequential organization)이 있으며 텍스트 파일을 처리하는데 쓰인다. 파일 안의 레코드들은 새 줄 단위로 끝을 맺으며 그 길이는 다양하다.
기능 > DATA DIVISION

DATA DIVISION은 여섯 개의 섹션으로 나뉘며 각기 다른 항목들을 선언한다. 파일 레코드의 경우 FILE SECTION, 정적 변수의 경우 WORKING-STORAGE SECTION, 매개변수와 반환값의 경우 LINKAGE SECTION, 텍스트 기반 사용자 인터페이스의 경우 REPORT SECTION과 SCREEN SECTION이 있다.
기능 > DATA DIVISION > 데이터 집합

코볼의 데이터 항목들은 데이터 항목이 다른 것의 일부인지를 지시하는 줄 번호를 사용하여 계층적으로 선언한다. 더 높은 수준의 번호에 위치한 항목은 더 낮은 번호의 항목에 종속된다. 번호 1을 가진 최상위 데이터 항목들은 레코드(record)라고 한다. 종속된 데이터 집합을 지닌 항목들은 그룹 항목(group item)이라고 하며, 이들을 기초 항목(elementary item)이라 부르지는 않는다. 표준 데이터 항목들을 기술하는데 쓰이는 계층적 번호들은 1부터 49 사이에 위치한다.
01  some-record.                   *> 집합 그룹 레코드 항목
           05  num            PIC 9(10).  *> 기초 항목
           05  the-date.                  *> 집합 하위 그룹 레코드 항목
               10  the-year   PIC 9(4).   *> 기초 항목
               10  the-month  PIC 99.     *> 기초 항목
               10  the-day    PIC 99.     *> 기초 항목
위의 예에서 기초 항목 num과 그룹 항목 the-date는 레코드 some-record에 종속되어 있지만 기초 항목 the-year, the-month, the-day은 그룹 항목 the-date의 일부분이다.
종속 항목들은 IN (또는 OF)이라는 키워드를 함께 사용하면 동일 이름의 항목을 구분할 수 있다. 이를테면 위의 예제 코드가 다음의 예제 코드와 나란히 있다고 하자:
01  sale-date.
           05  the-year       PIC 9(4).
           05  the-month      PIC 99.
           05  the-day        PIC 99.
the-year, the-month, the-day라는 이름들은 그 자체로 혼동이 있는데, 그 이유는 the-date에 위치한 항목들과 the-date에 위치한 항목들이 동일한 이름으로 정의되어 있기 때문이다. 특정 데이터 항목(예를 들어 sale-date 그룹에 속하는 항목의 하나)을 지정하려면 프로그래머는 the-year IN sale-date 또는 the-year OF sale-date를 사용하면 된다. (이러한 문법은 마치 최근의 언어에서 지원되는 닷 노테이션/dot notation과 비슷함)
기능 > DATA DIVISION > 그 밖의 데이터 수준

66이라는 수준의 번호는 항목의 구조화와는 관계 없이 이전에 정의된 항목들을 다시 묶는 것을 선언하기 위해 쓰인다. RENAMES 절과 함께 쓰이는 이 데이터 수준은 거의 쓰이지 않으며 1988년 경의 오래된 프로그램들에서나 흔히 볼 수 있다. 계층적, 논리적 구조의 데이터를 무시하는 이 기능은 이용이 권장되지 않았으며 수많은 설치본들에서 이의 사용을 금하였다.
01  customer-record.
           05  cust-key            PIC X(10).
           05  cust-name.
               10  cust-first-name PIC X(30).
               10  cust-last-name  PIC X(30).
           05  cust-dob            PIC 9(8).
           05  cust-balance        PIC 9(7)V99.

       66  cust-personal-details   RENAMES cust-name THRU cust-dob.
       66  cust-all-details        RENAMES cust-name THRU cust-balance.
77 수준의 번호는 그 항목이 단독적임을 나타내며 이러한 상황에서 1이라는 수준 번호와 동등하다. 이를테면 다음의 코드는 두 개의 77 수준 데이터 항목 property-name, sales-region을 선언하며, 이들은 다른 어떠한 데이터 항목들과도 종속되지 않고 독립적인, 그룹에 속하지 않은 데이터 항목들이다:
77  property-name      PIC X(80).
       77  sales-region       PIC 9(5).
88 수준의 번호는 조건명을 선언하며, 부모 데이터 항목이 그 VALUE 절안에 지정된 값들의 하나를 포함할 때 참이다. 이를테면 다음의 코드는 두 개의 88 수준의 조건명 항목들을 정의하며, wage-type 데이터 항목의 현재 문자 데이터 값에 따라 참이냐 거짓이냐가 결정된다. 해당 데이터 항목에 'H'라는 값이 포함되는 경우 조건명 wage-is-hourly은 참이지만, 'S'나 'Y'라는 값이 포함되면 조건명 wage-is-yearly가 참이다. 데이터 항목에 그 밖의 다른 값이 포함되어 있으면 조건명은 거짓이다.
01  wage-type          PIC X.
           88  wage-is-hourly VALUE "H".
           88  wage-is-yearly VALUE "S", "Y".
기능 > DATA DIVISION > 자료형

표준 코볼은 다음의 자료형을 제공한다:
| 자료형 | 샘플 선언 | 참고 |
| --- | --- | --- |
| 영문자 | PIC A(30) | 레터와 공백만 포함 |
| 영숫자 | PIC X(30) | 어떠한 문자도 포함 |
| 불린 | PIC 1 USAGE BIT | 0과 1이라는 이진 숫자 형태로 저장된 데이터 |
| 색인 | USAGE INDEX | 테이블 요소를 참조하는데 사용 |
| 내셔널 | PIC N(30) | 영숫자와 비슷하지만 확장 문자 집합을 이용 (예: UTF-8) |
| 숫자 | PIC 9(5)V9(5) | 숫자만 포함할 수 있음 |
| 오브젝트 | USAGE OBJECT REFERENCE | 오브젝트나 NULL을 참조할 수 있음 |
| 포인터 | USAGE POINTER |  |
자료형 안전은 코볼 안에서 변칙적이다. 수치 데이터는 각기 다른 표현들과 크기들로 조용히 변환되며 영숫자 데이터는 숫자와 그룹 데이터를 포함하여 문자열로 저장될 수 있는 어떠한 데이터 항목에라도 올 수 있다. 반면에 오브젝트 참조들과 포인터들은 동일한 종류의 항목들로부터만 할당을 받을 수 있으며 이들의 값들은 그 종류에 제한을 받는다.
기능 > DATA DIVISION > 자료형 > PICTURE 절

PICTURE 또는 PIC 절은 문자들의 문자열로, 각각이 데이터 항목의 일부분임과 동시에 무엇이 포함될 것인지를 대표한다. 일부 PICTURE 문자들은 데이터의 종류 및 얼마나 많은 문자열이나 숫자들을 메모리에 차지하게 할 것인지를 지정한다. 이를테면 9은 10진수를 가리키며 S는 항목이 부호가 있음을 가리킨다. 그 밖의 PICTURE 문자들(삽입 및 편집 문자)은 어떻게 항목이 형식을 가져야 하는지를 지정한다. 이를테면 일련의 + 문자들은 문자의 위치뿐 아니라 선두가 되는 부호가 어떻게 마지막 문자 데이터 내에 위치할 것인지를 정의한다. 즉, 맨 오른쪽에 있는 숫자가 아닌 문자는 항목의 부호를 포함하겠지만, 이 위치의 왼쪽에 있는 +에 일치하는 다른 문자 위치들은 공백을 포함하는 식이다. 반복되는 문자들은 PICTURE 문자 뒤의 괄호에 숫자를 넣어서 더 간결하게 지정할 수 있다. 이를테면 9(7)는 9999999와 같다. (9)와 부호 (S)만을 포함하는 PICTURE 사양들은 순수하게 숫자 데이터 항목들만 정의하고 있지만, 영문자(A)나 영숫자(X)를 포함하는 PICTURE 사양들은 영숫자 데이터 항목을 정의한다. 그 밖의 형식의 문자로는 편집된 숫자(edited numeric)나 편집된 영숫자(edited alphanumeric) 데이터 항목들로 정의된다.
| PICTURE 절 | 입력값 | 출력값 |
| --- | --- | --- |
| PIC 9(5) | 100 | 00100 |
| PIC 9(5) | "Hello" | "Hello" (이것은 유효하지만, 미정의 동작을 일으킨다) |
| PIC +++++ | -10 | "  -10" (따라오는 공백 참고) |
| PIC 99/99/9(4) | 31042003 | "31/04/2003" |
| PIC *(4)9.99 | 100.50 | "**100.50" |
| PIC *(4)9.99 | 0 | "****0.00" |
| PIC X(3)BX(3)BX(3) | "ABCDEFGHI" | "ABC DEF GHI" |
기능 > DATA DIVISION > 자료형 > USAGE 절

USAGE 절은 데이터가 저장되는 포맷을 선언한다. 자료형에 따라 PICTURE 절을 보완하거나 해당 절 대신 사용할 수 있다. 포인터와 오브젝트 참조를 선언하는데 사용할 수 있지만, 대개는 수치 자료형을 지정하기 위해 존재한다. 이러한 수치 자료형은 다음과 같다:
이진값: 최소 크기가 PICTURE 절 또는 USAGE 절 (예: BINARY-LONG)에 의해 지정됨
USAGE COMPUTATIONAL: 데이터는 구현체가 정의한 임의의 포맷으로 저장됨. USAGE BINARY와 동일.
USAGE DISPLAY: 기본값. 데이터가 문자열로 저장됨.
부동소수점: 구현체 의존 포맷이거나 IEEE 754를 따름.
USAGE NATIONAL: 데이터가 확장 문자 집합을 이용하여 문자열로 저장됨.
USAGE PACKED-DECIMAL: 데이터는 가능한 작은 10진 형식으로 저장됨. (일반적으로 묶음 이진화 십진법으로 저장됨.)