Learn NATURAL-SCRIPTING with Real Code Examples
Updated Nov 27, 2025
Code Sample Descriptions
1
Simple Natural Program
DEFINE DATA LOCAL
END-DEFINE
WRITE 'Hello, Natural World!'
END
Print a greeting message.
2
Natural Loop Example
DEFINE DATA LOCAL
1 I (N)
END-DEFINE
FOR I = 1 TO 5
WRITE 'Number: ' I
END-FOR
END
Loop through numbers 1 to 5 and display them.
3
Natural Database Read Example
DEFINE DATA LOCAL
1 CUSTOMER-VIEW VIEW OF CUSTOMER
2 CUST-ID
2 CUST-NAME
END-DEFINE
FIND CUSTOMER-VIEW BY CUST-ID = 10001
DISPLAY CUST-NAME
END-FIND
END
Read records from an Adabas file and display a field.
4
Natural Conditional Example
DEFINE DATA LOCAL
1 AGE (N)
END-DEFINE
READ 'Enter age: ' AGE
IF AGE >= 18
WRITE 'Adult'
ELSE
WRITE 'Minor'
END-IF
END
Check a value and print messages based on condition.
5
Natural Input and Display Example
DEFINE DATA LOCAL
1 NAME (A20)
END-DEFINE
INPUT 'Enter your name: ' NAME
WRITE 'Welcome, ' NAME
END
Prompt user for name and display a welcome message.
6
Natural Arithmetic Example
DEFINE DATA LOCAL
1 A (N)
1 B (N)
1 SUM (N)
1 PROD (N)
END-DEFINE
INPUT 'Enter A: ' A
INPUT 'Enter B: ' B
SUM := A + B
PROD := A * B
WRITE 'Sum: ' SUM
WRITE 'Product: ' PROD
END
Compute sum and product of two numbers.
7
Natural Loop with Database
DEFINE DATA LOCAL
1 CUSTOMER-VIEW VIEW OF CUSTOMER
2 CUST-ID
2 CUST-NAME
END-DEFINE
FIND CUSTOMER-VIEW WITH CUST-ID NE 0
DISPLAY CUST-ID CUST-NAME
END-FIND
END
Loop through all customer records and display names.
8
Natural Subroutine Example
DEFINE DATA LOCAL
1 USERNAME (A20)
END-DEFINE
INPUT 'Enter your name: ' USERNAME
PERFORM GREET(USERNAME)
END
DEFINE SUBROUTINE GREET(NAME)
WRITE 'Hello, ' NAME
END-SUBROUTINE
Call a subroutine to greet a user.
9
Natural String Manipulation
DEFINE DATA LOCAL
1 INPUT-STR (A20)
1 UPPER-STR (A20)
END-DEFINE
INPUT 'Enter string: ' INPUT-STR
UPPER-STR := CONVERT(INPUT-STR, 'UPPER')
WRITE 'Uppercase: ' UPPER-STR
END
Convert input string to uppercase and display.
10
Natural Exit Condition in Loop
DEFINE DATA LOCAL
1 NUM (N)
END-DEFINE
DO
INPUT 'Enter number (0 to quit): ' NUM
IF NUM = 0
EXIT
ENDIF
WRITE 'You entered: ' NUM
END-DO
END
Loop until user enters 0.