A subroutine has the following format,
FORM form_name.and is called thusly.
(actions)
ENDFORM
PERFORM form_name.The format above is simplified, and not very useful. Most likely the subroutine will need to have variables passed back and forth, below is the extended syntax.
FORM my_formIn the above example variable_one and variable_two are passed by value, whereas variable_three is passed by reference. The USING section is for read-only variables, while the CHANGING sections is for variables which will be modified.
USING
value(variable_one)
CHANGING
value(variable_two)
variable_three.
(actions)
ENDFORM.