TACL Programming

( Duration: 5 Days )

In TACL Programming training course, delegates will learn to write macros and routines, perform file I/O, use structured data, and write server functions Tandem Advanced Command Language (TACL).

By attending TACL Programming workshop, delegates will learn to:

  • Segment files
  • Define process
  • MACRO and ROUTINE functions
  • Variable editing
  • Server functions
  • Exception handling
  • Debugging

  • At least six months of Programming experience in any language

  • System Programmers
  • System and Network Managers
  • Application Designers
  • Application Programmers
  • System Analysts
  • Data Communications Programmers and Analysts



Overview of TACL features

  • Productivity aids provided by TACL: HISTORY, FC, ? , ! HELP facility
  • Function key, custom prompts, file name templates, and macro files
  • TACL features as a Programming language

TACL variables

  • Obtaining information about variables using either commands or built-in functions
  • Using commands or built-in functions to create, initialize, modify, and eliminate variables
  • Concept of a "frame" and how it relates to managing variables
  • Variable stacks and their levels: what they are and how to create, reference, and eliminate them
  • Syntax rules for writing TACL functions

Directories and segments

  • Creating a segment file containing a library function
  • Using the existing segment file by attaching it to a directory
  • Getting information on the segment file

Editing variables

  • Performing variable file I/O
  • Performing global editing of a variable
  • Performing line editing of a variable
  • Performing character editing of a variable
  • Locating the position of a string in a variable
  • Extracting lines and characters from a variable

Writing functions - macros

  • Syntax required to write macro functions
  • TACL's handling of arguments to macro functions
  • TACL's expansion of macro functions
  • Writing macro functions

Writing functions -#IF statements

  • Write functions that use the TACL #IF|THEN| |ELSE| construct
  • Describe the syntax required to write functions in general and macro type functions in particular
  • Describe the different forms of the "control" built-in #IF and contrast when to use one form or the other (#IF or #IF NOT)
  • Write a macro type function that accepts one or more arguments and ensures that the arguments are correct by makinguse of the "control" built-in #IF

Writing functions -#LOOP statements

  • Writing functions that use the TACL #LOOP | DO | UNTIL| construct
  • Writing functions that use the TACL #LOOP | WHILE | DO | construct
  • Describe the two forms of the "control" built-in #LOOP and determine when to use #LOOP | DO | | UNTIL | or #LOOP | WHILE | | DO |
  • Write a macro type function that outputs all of the volume names on the system

Writing functions -#CASE statements

  • Writing functions that use the TACL #CASE construct

Writing functions -debugging

  • Using the TACL debugging facility provided by TACL to aid in getting functions to work
  • Start and stop the Debugger
  • Set and clear breakpoints
  • Display and modify the contents of a variable
  • Single step through your function and resume execution of your function
  • Describe the syntax for #IF, #LOOP, and #CASE constructs
  • Write a function that employs the #CASE built-in

Writing functions-file I/O

  • How TACL is able to do device independent I/O
  • Using #REQUESTER and #WAIT to perform either "waited" or "no-waited" I/O to files and devices

Writing functions-routines

  • Writing "Routine" type functions and use #ARGUMENT, #MORE, and #REST
  • Modify and write routine functions
  • Describe the syntax and usage of #ARGUMENT and #MORE
  • Describe additional capabilities that routines offer that macros do not
  • Describe the use of the built-ins: #MYSYSTEM, #PROCESSORSTATUS, and #PROCESSORTYPE, #LOOP, and #CASE

Using Structures

  • Using a STRUCT to access data

Inline processing

  • Performing process I/O using the INLINE facility
  • Controlling the display of the process output
  • Logging the process output to a variable debugger
  • Describe the syntax required to write INLINE functions in general
  • Use the INLINE facility for interfacing with the PERUSE utility
  • Practice coding techniques using the variable editing built-ins and review the usage of #INPUTV, #LOOP, and #IF
  • Describe the use of #INLINEPREFIX, INLPREFIX, #INLINETO, and INLTO
  • Write a macro-type function that purges jobs from the spooler and prompts the user for permission to purge each job

Writing functions-server files

  • How the server file facility provides for communication between a TACL function and a process it has activated
  • Situations in which it is appropriate to use implicit server files
  • Writing functions that use implicit server files
  • Describe the syntax and usage of functions that employ implicit servers
  • Describe the usage of the RUN-options:
    • INV "var" DYNAMIC PROMPT "var"
    • OUTV "var", and STATUS "var"
  • Describe the usage of the following built-ins:
    • #WAIT
  • Describe the conditions under which to use implicit servers
  • Write functions that make use of implicit servers

Define process

  • Define Process facility
  • Using the Define Process variables to start, stop, and manage processes
  • Specifying where complete information on the Define Process facility can be found

Writing functions - exception handling

  • Three types of exceptions that TACL allows a function to handle in its own way
  • Using the built-in functions #ERRORTEXT, #EXCEPTION, #FILTER, #RAISE, #RESET, and #RETURN
  • Structure and the organization of a function that contains "exception handling" code
  • Writing functions that contain their own "exception handling" code


  • Four types of DEFINE classes
  • Their usage and comparing them to ASSIGNs
  • Using the DEFINE command within TACL to create a DEFINE, delete a DEFINE, and alter a DEFINE

Encarta Labs Advantage

  • One Stop Corporate Training Solution Providers for over 4,000 Modules on a variety of subjects
  • All courses are delivered by Industry Veterans
  • Get jumpstarted from newbie to production ready in a matter of few days
  • Trained more than 50,000 Corporate executives across the Globe
  • All our trainings are conducted in workshop mode with more focus on hands-on sessions

View our other course offerings by visiting http://encartalabs.com/course-catalogue-all.php

Contact us for delivering this course as a public/open-house workshop/online training for a group of 10+ candidates.