DEFINE-!ENDDEFINE
DEFINE—!ENDDEFINE definiuje makro programu, które następnie może być używane w sekwencji komend.
DEFINE macro name
([{argument name=} [!DEFAULT (string)] [!NOEXPAND] {!TOKENS (n) }]
{!POSITIONAL= } {!CHAREND ('char') }
{!ENCLOSE ('char', 'char')}
{!CMDEND }
[/{argument name=} ...])
{!POSITIONAL= }
macro body
!ENDDEFINE
Elementy sterujące komendy SET:
PRESERVE
RESTORE
Przypisanie:
!LET var=expression
Przetwarzanie warunkowe:
!IF (expression) !THEN statements
[!ELSE statements]
!IFEND
Konstrukcje pętli:
!DO !varname=start !TO finish [!BY step]
statements [!BREAK]
!DOEND
!DO !varname !IN (list)
statements [!BREAK]
!DOEND
Dyrektywy makr:
!OFFEXPAND
!ONEXPAND
Funkcje manipulacji łańcuchami:
!LENGTH (string)
!CONCAT (string1,string2)
!SUBSTR (string,from,[length])
!INDEX (string1,string2)
!HEAD (string)
!TAIL (string)
!QUOTE (string)
!UNQUOTE (string)
!UPCASE (string)
!BLANKS (n)
!NULL
!EVAL (string)
Historia wersji
Wersja 14.0
- W przypadku składni przetwarzanej w trybie interaktywnym modyfikacje w narzędziu makra mogą mieć wpływ na wywołania makra występujące na końcu komendy.
Przykład
DEFINE sesvars ()
age sex educ religion
!ENDDEFINE.