18.08.2013 Views

LINC Programming Reference Manual - Public Support Login - Unisys

LINC Programming Reference Manual - Public Support Login - Unisys

LINC Programming Reference Manual - Public Support Login - Unisys

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>LINC</strong><br />

<strong>Programming</strong><br />

<strong>Reference</strong> <strong>Manual</strong><br />

May 1998<br />

v


!()+<br />

<strong>LINC</strong><br />

<strong>Programming</strong><br />

<strong>Reference</strong> <strong>Manual</strong><br />

Copyright ( 1998 <strong>Unisys</strong> Corporation.<br />

All rights reserved.<br />

<strong>Unisys</strong> is a registered trademark of <strong>Unisys</strong> Corporation.<br />

<strong>LINC</strong> is a registered trademark of <strong>Unisys</strong> Corporation.<br />

Level 16.3/16R3 May 1998<br />

v


The names, places, and/or events used in this publication are not intended to correspond to any<br />

individual, group, or association existing, living or otherwise. Any similarity or likeness of the names,<br />

places and/or events with the names of any individual living or otherwise is purely coincidental and<br />

unintentional.<br />

NO WARRANTIES OF ANY NATURE ARE EXTENDED BY THIS DOCUMENT. Any product and related<br />

material disclosed herein are only furnished pursuant and subject to the terms and conditions of a duly<br />

executed Program Product License or Agreement to Purchase or Lease Equipment. The only warranties<br />

made by <strong>Unisys</strong>, if any, with respect to the products described in this document are set forth in such<br />

License or Agreement. <strong>Unisys</strong> cannot accept any financial or other responsibilities that may be the<br />

result of your use of this information or software material, including direct, indirect, special or<br />

consequential damages.<br />

You should be very careful to ensure that the use of this software material and/or information complies<br />

with the laws, rules, and regulations of the jurisdictions with respect to which it is used.<br />

The information contained herein is subject to change without notice. Revisions may be issued to advise<br />

of such changes and/or additions.<br />

RESTRICTED. Use, reproduction, or disclosure is subject to the restrictions set forth in DFARS<br />

252.227-7013 and FAR 52.227-14 for commercial computer software.<br />

Correspondence regarding this publication should be forwarded using the Business Reply Mail form at<br />

the back of this document to:Australian Centre for <strong>Unisys</strong> Software, 115 Wicks Road, North Ryde NSW<br />

2113, AUSTRALIA. Alternatively you can send an E-Mail message to: linc.pi@unisys.com<br />

MAPPER is a registered trademark of <strong>Unisys</strong> Corporation.<br />

UNIX is a registered trademark of X/Open Company Ltd.<br />

Sequent is a registered trademark of Sequent Computer Systems Inc.<br />

PTX is a registered trademark of Sequent Computer Systems Inc.<br />

Sun is a registered trademark of Sun Microsystems, Inc.<br />

RS/6000 is a registered trademark of International Business Machines Inc.


Contents<br />

About This Document :::::::::::::::::::::::::::::::::::::::::: xix<br />

Section 1. <strong>LINC</strong> Logic Commands<br />

Overview ::::::::::::::::::::::::::::::::::::::::::: 1-1<br />

Conventions for Syntax Diagrams ::::::::::::::::::::: 1-3<br />

ABORT ::::::::::::::::::::::::::::::::::::::::::::: 1-6<br />

Using the ABORT; Command in Ispecs :::::::::::: 1-6<br />

Using the ABORT; Command in Reports :::::::::: 1-7<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-7<br />

Examples :::::::::::::::::::::::::::::::::: 1-7<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-8<br />

ACCEPT (AX) ::::::::::::::::::::::::::::::::::::::: 1-9<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-9<br />

Examples :::::::::::::::::::::::::::::::::: 1-10<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-10<br />

ACCESS.EXT (AEXT) ::::::::::::::::::::::::::::::::: 1-11<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-11<br />

Examples :::::::::::::::::::::::::::::::::: 1-13<br />

<strong>Reference</strong> :::::::::::::::::::::::::::::::::: 1-14<br />

ADD (AD) ::::::::::::::::::::::::::::::::::::::::::: 1-15<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-15<br />

Examples :::::::::::::::::::::::::::::::::: 1-15<br />

<strong>Reference</strong> :::::::::::::::::::::::::::::::::: 1-15<br />

ADHOC.MODE (ADHOC) :::::::::::::::::::::::::::::: 1-16<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-16<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-16<br />

ADVANCE (AV) :::::::::::::::::::::::::::::::::::::: 1-17<br />

ADVANCE; CHANNEL Variant ::::::::::::::::::: 1-17<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-17<br />

Examples :::::::::::::::::::::::::::::::::: 1-18<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-18<br />

ASCENDING :::::::::::::::::::::::::::::::::::::::: 1-18<br />

ATTACH (ATT) and ATTACH&SPACE (ATS) :::::::::::::: 1-19<br />

Truncation of Data ::::::::::::::::::::::::::: 1-19<br />

v iii


Contents<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-20<br />

Examples :::::::::::::::::::::::::::::::::: 1-20<br />

ATTRIBUTE (ATTR) ::::::::::::::::::::::::::::::::::: 1-21<br />

Purpose of ATTRIBUTE; command ::::::::::::::: 1-21<br />

Errors ::::::::::::::::::::::::::::::::::::: 1-21<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-22<br />

Examples :::::::::::::::::::::::::::::::::: 1-22<br />

AUTO (AU) and AUTO.ARRAY (AUA) :::::::::::::::::::: 1-23<br />

Transferring Values Using AUTO; and AUTO.ARRAY;<br />

Commands :::::::::::::::::::::::::::::: 1-23<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-24<br />

Example ::::::::::::::::::::::::::::::::::: 1-25<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-26<br />

AUTO; CONTRA ::::::::::::::::::::::::::::::::::::: 1-27<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-27<br />

Examples :::::::::::::::::::::::::::::::::: 1-27<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-27<br />

AUTO.CLEAR (AC) ::::::::::::::::::::::::::::::::::: 1-28<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-28<br />

Example ::::::::::::::::::::::::::::::::::: 1-28<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-28<br />

AUTO.ENTRY (AE) ::::::::::::::::::::::::::::::::::: 1-29<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-30<br />

Examples :::::::::::::::::::::::::::::::::: 1-30<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-31<br />

AUTO.FORMAT (AF) :::::::::::::::::::::::::::::::::: 1-32<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-32<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-32<br />

AUTO; WRITE and AUTO; WRITE&CLEAR :::::::::::::::: 1-33<br />

Internal Automatic Entries ::::::::::::::::::::: 1-33<br />

External Automatic Entries ::::::::::::::::::::: 1-34<br />

OLTP Automatic Entry :::::::::::::::::::::::: 1-34<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-36<br />

Examples :::::::::::::::::::::::::::::::::: 1-36<br />

Settings of GLB.STATUS and GLB.HUBSTATUS ::::: 1-37<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-43<br />

BEGIN.CASE (BC) :::::::::::::::::::::::::::::::::::: 1-43<br />

BEGIN.EDIT and END.EDIT :::::::::::::::::::::::::::: 1-44<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-44<br />

Examples :::::::::::::::::::::::::::::::::: 1-44<br />

BEGIN.LOOP (BG) ::::::::::::::::::::::::::::::::::: 1-46<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-46<br />

Examples :::::::::::::::::::::::::::::::::: 1-46<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-46<br />

iv v


Contents<br />

BEGIN.PAGE (BP) :::::::::::::::::::::::::::::::::::: 1-48<br />

Reports Using <strong>LINC</strong> Report Output Control (ROC) ::: 1-48<br />

Reports Not Using ROC ::::::::::::::::::::::: 1-48<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-49<br />

Examples :::::::::::::::::::::::::::::::::: 1-49<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-49<br />

BREAK (BK) :::::::::::::::::::::::::::::::::::::::: 1-50<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-50<br />

Examples :::::::::::::::::::::::::::::::::: 1-50<br />

CALL :::::::::::::::::::::::::::::::::::::::::::::: 1-51<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-52<br />

Using the CALL; Command in LDA ::::::::::::::: 1-55<br />

Using BYFUNCTION; with the CALL; Command ::::: 1-56<br />

Using Coroutines with the CALL; Command :::::::: 1-58<br />

Examples :::::::::::::::::::::::::::::::::: 1-59<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-60<br />

CASE (CS) :::::::::::::::::::::::::::::::::::::::::: 1-61<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-61<br />

Examples :::::::::::::::::::::::::::::::::: 1-63<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-63<br />

CLEAR.ARRAY; (CLA) :::::::::::::::::::::::::::::::: 1-64<br />

COMPUTE (COMP) and COMPUTE.FROM (CMP, CF) :::::: 1-65<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-65<br />

Examples :::::::::::::::::::::::::::::::::: 1-66<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-67<br />

CONTRA (CN) ::::::::::::::::::::::::::::::::::::::: 1-68<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-68<br />

Example ::::::::::::::::::::::::::::::::::: 1-68<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-68<br />

CRITICAL.POINT (CP) :::::::::::::::::::::::::::::::: 1-69<br />

Critical Points in Reports Using ROC ::::::::::::: 1-70<br />

Storage of Recovery Data ::::::::::::::::::::: 1-71<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-71<br />

Example ::::::::::::::::::::::::::::::::::: 1-72<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-73<br />

CURSOR (CU) ::::::::::::::::::::::::::::::::::::::: 1-74<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-74<br />

Examples :::::::::::::::::::::::::::::::::: 1-74<br />

DATE.CONVERT (DC) :::::::::::::::::::::::::::::::: 1-75<br />

Complex Form :::::::::::::::::::::::::::::: 1-75<br />

Data Item Formats ::::::::::::::::::::::::::: 1-79<br />

Examples :::::::::::::::::::::::::::::::::: 1-80<br />

Simple Form :::::::::::::::::::::::::::::::: 1-81<br />

DESCENDING (DSC) ::::::::::::::::::::::::::::::::: 1-82<br />

v v


Contents<br />

DETACH (DET, DTH) ::::::::::::::::::::::::::::::::: 1-83<br />

Position and Delimiter ::::::::::::::::::::::::: 1-83<br />

Truncation of Data ::::::::::::::::::::::::::: 1-83<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-84<br />

Examples :::::::::::::::::::::::::::::::::: 1-84<br />

<strong>Reference</strong> :::::::::::::::::::::::::::::::::: 1-85<br />

DETERMINE; (DT) Commands ::::::::::::::::::::::::: 1-86<br />

Variants of the DETERMINE; Command ::::::::::: 1-86<br />

Setting of GLB.STATUS ::::::::::::::::::::::: 1-87<br />

Logically Deleted Records ::::::::::::::::::::: 1-87<br />

Handling of Duplicate Keys in MCP based <strong>LINC</strong><br />

Systems :::::::::::::::::::::::::::::::: 1-88<br />

DETERMINE; Commands in ORACLE <strong>LINC</strong> Systems :: 1-88<br />

DETERMINE; Commands Over Multiple Logic Lines :: 1-88<br />

DETERMINE; ACTUAL :::::::::::::::::::::::::::::::: 1-90<br />

Extract File Processing :::::::::::::::::::::::: 1-90<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-92<br />

Example ::::::::::::::::::::::::::::::::::: 1-93<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-94<br />

DETERMINE; BACK :::::::::::::::::::::::::::::::::: 1-95<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-95<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-95<br />

DETERMINE; EVERY ::::::::::::::::::::::::::::::::: 1-96<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-96<br />

Example ::::::::::::::::::::::::::::::::::: 1-96<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-97<br />

DETERMINE; FROM :::::::::::::::::::::::::::::::::: 1-98<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-98<br />

Example ::::::::::::::::::::::::::::::::::: 1-98<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-99<br />

DETERMINE; GROUP ::::::::::::::::::::::::::::::::: 1-100<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-100<br />

Examples :::::::::::::::::::::::::::::::::: 1-101<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-102<br />

DETERMINE; LAST ::::::::::::::::::::::::::::::::::: 1-103<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-103<br />

Examples :::::::::::::::::::::::::::::::::: 1-103<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-104<br />

DETERMINE; TOTAL ::::::::::::::::::::::::::::::::: 1-105<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-105<br />

Examples :::::::::::::::::::::::::::::::::: 1-105<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-106<br />

DISCOUNT.CASH (DCF) :::::::::::::::::::::::::::::: 1-107<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-107<br />

vi v


Contents<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-108<br />

DIVIDE (DV) ::::::::::::::::::::::::::::::::::::::::: 1-109<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-109<br />

Examples :::::::::::::::::::::::::::::::::: 1-110<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-110<br />

DO.WHEN (DW) ::::::::::::::::::::::::::::::::::::: 1-111<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-111<br />

Setting of GLB.STATUS ::::::::::::::::::::::: 1-112<br />

Examples :::::::::::::::::::::::::::::::::: 1-113<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-113<br />

ELSE :::::::::::::::::::::::::::::::::::::::::::::: 1-114<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-114<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-115<br />

END ::::::::::::::::::::::::::::::::::::::::::::::: 1-116<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-116<br />

Example ::::::::::::::::::::::::::::::::::: 1-116<br />

<strong>Reference</strong> :::::::::::::::::::::::::::::::::: 1-116<br />

END.EDIT :::::::::::::::::::::::::::::::::::::::::: 1-116<br />

END.CASE (EC) ::::::::::::::::::::::::::::::::::::: 1-116<br />

END.EXIT (EE) :::::::::::::::::::::::::::::::::::::: 1-117<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-117<br />

Examples :::::::::::::::::::::::::::::::::: 1-117<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-117<br />

END.NO.PRINT (ENP) :::::::::::::::::::::::::::::::: 1-118<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-118<br />

Examples :::::::::::::::::::::::::::::::::: 1-118<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-118<br />

END.USE (EU) ::::::::::::::::::::::::::::::::::::::: 1-119<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-119<br />

<strong>Reference</strong> :::::::::::::::::::::::::::::::::: 1-119<br />

EXCLUSIVE.USE (EXU) ::::::::::::::::::::::::::::::: 1-120<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-120<br />

<strong>Reference</strong> :::::::::::::::::::::::::::::::::: 1-120<br />

EXTRACT (EX) :::::::::::::::::::::::::::::::::::::: 1-121<br />

Types of Extract File Format ::::::::::::::::::: 1-122<br />

Multiple Extracts to the Same File ::::::::::::::: 1-123<br />

Compatibility of Extract Files ::::::::::::::::::: 1-124<br />

Categories of Extract file :::::::::::::::::::::: 1-124<br />

Extract File Processing :::::::::::::::::::::::: 1-125<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-126<br />

Examples :::::::::::::::::::::::::::::::::: 1-127<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-129<br />

FLAG (FL, FG) ::::::::::::::::::::::::::::::::::::::: 1-130<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-131<br />

v vii


Contents<br />

Examples :::::::::::::::::::::::::::::::::: 1-132<br />

<strong>Reference</strong> :::::::::::::::::::::::::::::::::: 1-132<br />

FLAG.ARRAY (FLA) :::::::::::::::::::::::::::::::::: 1-133<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-133<br />

Examples :::::::::::::::::::::::::::::::::: 1-133<br />

<strong>Reference</strong> :::::::::::::::::::::::::::::::::: 1-134<br />

GET.LENGTH; (GL) ::::::::::::::::::::::::::::::::::: 1-135<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-135<br />

Examples :::::::::::::::::::::::::::::::::: 1-135<br />

GLB.STATUS (GS) ::::::::::::::::::::::::::::::::::: 1-137<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-137<br />

Example ::::::::::::::::::::::::::::::::::: 1-138<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-138<br />

INITIALIZE (INIT) ::::::::::::::::::::::::::::::::::::: 1-139<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-139<br />

Example ::::::::::::::::::::::::::::::::::: 1-140<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-140<br />

INSERT (INS) ::::::::::::::::::::::::::::::::::::::: 1-141<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-141<br />

Example ::::::::::::::::::::::::::::::::::: 1-141<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-141<br />

JUMP.TO (JTO) :::::::::::::::::::::::::::::::::::::: 1-142<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-142<br />

Examples :::::::::::::::::::::::::::::::::: 1-142<br />

<strong>Reference</strong> :::::::::::::::::::::::::::::::::: 1-143<br />

KEYONLY :::::::::::::::::::::::::::::::::::::::::: 1-144<br />

Restrictions and Limitations :::::::::::::::::::: 1-144<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-145<br />

Example ::::::::::::::::::::::::::::::::::: 1-145<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-145<br />

LABEL (LAB) :::::::::::::::::::::::::::::::::::::::: 1-146<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-146<br />

Example ::::::::::::::::::::::::::::::::::: 1-146<br />

<strong>Reference</strong> :::::::::::::::::::::::::::::::::: 1-146<br />

LEFT.ALIGN (LA) :::::::::::::::::::::::::::::::::::: 1-147<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-147<br />

Examples :::::::::::::::::::::::::::::::::: 1-148<br />

LOAD :::::::::::::::::::::::::::::::::::::::::::::: 1-151<br />

Considerations for Using the LOAD; Command ::::: 1-151<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-152<br />

Example ::::::::::::::::::::::::::::::::::: 1-152<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-152<br />

LOOK.UP; (LU;) Commands ::::::::::::::::::::::::::: 1-153<br />

Variants of the LOOK.UP; Command ::::::::::::: 1-153<br />

viii v


Contents<br />

Setting of GLB.STATUS ::::::::::::::::::::::: 1-153<br />

Logically Deleted Records ::::::::::::::::::::: 1-154<br />

LOOK.UP; Commands for UNIX ORACLE <strong>LINC</strong><br />

Systems :::::::::::::::::::::::::::::::: 1-155<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-155<br />

LOOK.UP; (LU) :::::::::::::::::::::::::::::::::::::: 1-156<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-156<br />

Examples :::::::::::::::::::::::::::::::::: 1-156<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-156<br />

LOOK.UP; EVERY :::::::::::::::::::::::::::::::::::: 1-158<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-158<br />

Examples :::::::::::::::::::::::::::::::::: 1-158<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-159<br />

LOOK.UP; FROM :::::::::::::::::::::::::::::::::::: 1-160<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-160<br />

Examples :::::::::::::::::::::::::::::::::: 1-160<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-160<br />

LOOK.UP; GROUP ::::::::::::::::::::::::::::::::::: 1-161<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-161<br />

Example ::::::::::::::::::::::::::::::::::: 1-162<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-162<br />

LOWER.CASE (LC) ::::::::::::::::::::::::::::::::::: 1-163<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-163<br />

<strong>Reference</strong> :::::::::::::::::::::::::::::::::: 1-163<br />

MATCH :::::::::::::::::::::::::::::::::::::::::::: 1-164<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-165<br />

KEY; Command Option :::::::::::::::::::::::: 1-166<br />

Example 1 ::::::::::::::::::::::::::::::::: 1-166<br />

Example 2 ::::::::::::::::::::::::::::::::: 1-167<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-167<br />

MESSAGE (ME) :::::::::::::::::::::::::::::::::::::: 1-168<br />

Using MESSAGE; in OS 2200 based <strong>LINC</strong> Systems : 1-170<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-170<br />

Examples :::::::::::::::::::::::::::::::::: 1-171<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-171<br />

MOVE (MV) ::::::::::::::::::::::::::::::::::::::::: 1-172<br />

Simple Form of the MOVE; Command :::::::::::: 1-172<br />

Complex Form of the MOVE; Command ::::::::::: 1-173<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-176<br />

MOVE.ARRAY (MVA) ::::::::::::::::::::::::::::::::: 1-177<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-177<br />

Examples :::::::::::::::::::::::::::::::::: 1-178<br />

MOVE.AUTO (MA) and MOVE.AUTO.ARRAY (MAA) :::::::: 1-179<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-180<br />

v ix


Contents<br />

Examples :::::::::::::::::::::::::::::::::: 1-180<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-182<br />

MOVE.DATE (MD) :::::::::::::::::::::::::::::::::::: 1-183<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-183<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-183<br />

MOVE.TIME (MT) :::::::::::::::::::::::::::::::::::: 1-184<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-184<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-184<br />

MULTI ::::::::::::::::::::::::::::::::::::::::::::: 1-185<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-185<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-185<br />

MULTIPLY (MU) ::::::::::::::::::::::::::::::::::::: 1-186<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-186<br />

Examples :::::::::::::::::::::::::::::::::: 1-186<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-186<br />

ON.CHANGE (OCH) :::::::::::::::::::::::::::::::::: 1-187<br />

Values of Data items ::::::::::::::::::::::::: 1-187<br />

Grouping ON.CHANGE; Commands :::::::::::::: 1-187<br />

ON.CHANGE; Statistical Routines :::::::::::::::: 1-189<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-192<br />

OTHERWISE (OW) ::::::::::::::::::::::::::::::::::: 1-192<br />

PAGE (PG) :::::::::::::::::::::::::::::::::::::::::: 1-193<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-193<br />

Example ::::::::::::::::::::::::::::::::::: 1-193<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-194<br />

PERFORM.FRAME.LOGIC (PFL) :::::::::::::::::::::::: 1-195<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-195<br />

<strong>Reference</strong> :::::::::::::::::::::::::::::::::: 1-195<br />

PRINT.FRAME (PF) ::::::::::::::::::::::::::::::::::: 1-196<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-197<br />

Examples :::::::::::::::::::::::::::::::::: 1-197<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-197<br />

PURGE (PU) :::::::::::::::::::::::::::::::::::::::: 1-198<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-198<br />

Example ::::::::::::::::::::::::::::::::::: 1-198<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-198<br />

RECALL (RC) ::::::::::::::::::::::::::::::::::::::: 1-199<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-200<br />

Examples :::::::::::::::::::::::::::::::::: 1-200<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-201<br />

RELEASE (REL) :::::::::::::::::::::::::::::::::::::: 1-202<br />

Reports Using Report Output Control (ROC) :::::::: 1-202<br />

Reports Not Using ROC (MCP environment only) :::: 1-202<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-202<br />

x v


Contents<br />

Examples :::::::::::::::::::::::::::::::::: 1-202<br />

RESTART (RT) ::::::::::::::::::::::::::::::::::::::: 1-203<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-203<br />

Examples :::::::::::::::::::::::::::::::::: 1-203<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-204<br />

ROC.MODE (ROC) ::::::::::::::::::::::::::::::::::: 1-205<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-205<br />

<strong>Reference</strong> :::::::::::::::::::::::::::::::::: 1-205<br />

RUN ::::::::::::::::::::::::::::::::::::::::::::::: 1-206<br />

For an MCP based <strong>LINC</strong> System :::::::::::::::: 1-206<br />

For an OS 2200 based <strong>LINC</strong> System ::::::::::::: 1-206<br />

For a UNIX <strong>LINC</strong> System ::::::::::::::::::::::: 1-207<br />

In LDA Run Time ::::::::::::::::::::::::::::: 1-207<br />

All Hosts ::::::::::::::::::::::::::::::::::: 1-207<br />

SECURE :::::::::::::::::::::::::::::::::::::::::::: 1-211<br />

For an MCP based <strong>LINC</strong> System :::::::::::::::: 1-211<br />

For an OS 2200 based <strong>LINC</strong> System ::::::::::::: 1-211<br />

For a UNIX <strong>LINC</strong> System ::::::::::::::::::::::: 1-212<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-212<br />

Examples :::::::::::::::::::::::::::::::::: 1-212<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-212<br />

SEND.MESSAGE (SEND.STATUS; SM; SMSG; SS) :::::::: 1-213<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-214<br />

Examples :::::::::::::::::::::::::::::::::: 1-214<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-214<br />

SEND.PRINT (SEND, SP) :::::::::::::::::::::::::::::: 1-215<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-215<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-216<br />

SENDLIST.DYNAMIC (SLDYN) ::::::::::::::::::::::::: 1-217<br />

AboutListBoxes :::::::::::::::::::::::::::: 1-217<br />

For OS 2200 Based <strong>LINC</strong> Systems :::::::::::::: 1-218<br />

Format of the Data ::::::::::::::::::::::::::: 1-218<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-219<br />

Example ::::::::::::::::::::::::::::::::::: 1-220<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-220<br />

SENDLIST.STATIC (SLSTA) :::::::::::::::::::::::::::: 1-221<br />

AboutListBoxes :::::::::::::::::::::::::::: 1-221<br />

Availability of the Command :::::::::::::::::::: 1-221<br />

Format of the Data ::::::::::::::::::::::::::: 1-222<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-222<br />

Examples :::::::::::::::::::::::::::::::::: 1-223<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-223<br />

SERIAL ::::::::::::::::::::::::::::::::::::::::::::: 1-224<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-224<br />

v xi


Contents<br />

Example ::::::::::::::::::::::::::::::::::: 1-225<br />

<strong>Reference</strong> :::::::::::::::::::::::::::::::::: 1-225<br />

SET.DB :::::::::::::::::::::::::::::::::::::::::::: 1-226<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-226<br />

Examples :::::::::::::::::::::::::::::::::: 1-227<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-229<br />

SET.TITLE (SETT) :::::::::::::::::::::::::::::::::::: 1-230<br />

Extract File Processing :::::::::::::::::::::::: 1-230<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-231<br />

Examples :::::::::::::::::::::::::::::::::: 1-233<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-233<br />

SLEEP (SLP) :::::::::::::::::::::::::::::::::::::::: 1-234<br />

Report Output Control (ROC) Standard Reports ::::: 1-235<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-235<br />

Examples :::::::::::::::::::::::::::::::::: 1-235<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-236<br />

SORT (SO) :::::::::::::::::::::::::::::::::::::::::: 1-237<br />

Extract File Processing :::::::::::::::::::::::: 1-237<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-238<br />

Examples :::::::::::::::::::::::::::::::::: 1-239<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-240<br />

START (ST) ::::::::::::::::::::::::::::::::::::::::: 1-241<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-243<br />

Examples :::::::::::::::::::::::::::::::::: 1-244<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-244<br />

STN.INFO (SI) ::::::::::::::::::::::::::::::::::::::: 1-245<br />

For an MCP based <strong>LINC</strong> System :::::::::::::::: 1-245<br />

For an OS 2200 based <strong>LINC</strong> System ::::::::::::: 1-245<br />

For a UNIX <strong>LINC</strong> System ::::::::::::::::::::::: 1-245<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-246<br />

SUBTRACT (SB) ::::::::::::::::::::::::::::::::::::: 1-247<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-247<br />

Example ::::::::::::::::::::::::::::::::::: 1-247<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-247<br />

SWITCH.TO (SWT) ::::::::::::::::::::::::::::::::::: 1-248<br />

Runtime Requirements :::::::::::::::::::::::: 1-249<br />

Runtime Transaction Flow ::::::::::::::::::::: 1-249<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-250<br />

Examples :::::::::::::::::::::::::::::::::: 1-253<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-254<br />

TRACE (TR) ::::::::::::::::::::::::::::::::::::::::: 1-255<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-255<br />

Example ::::::::::::::::::::::::::::::::::: 1-255<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-255<br />

xii v


Contents<br />

UPPER.CASE (UC) ::::::::::::::::::::::::::::::::::: 1-256<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-256<br />

<strong>Reference</strong> :::::::::::::::::::::::::::::::::: 1-256<br />

WAKE.UP (WU) :::::::::::::::::::::::::::::::::::::: 1-257<br />

Syntax :::::::::::::::::::::::::::::::::::: 1-258<br />

Example ::::::::::::::::::::::::::::::::::: 1-258<br />

<strong>Reference</strong>s ::::::::::::::::::::::::::::::::: 1-258<br />

Section 2. System Data Items<br />

Overview ::::::::::::::::::::::::::::::::::::::::::: 2-1<br />

Screen Heading Information :::::::::::::::::::::::::: 2-2<br />

Recovery of System Data Items ::::::::::::::::::::::: 2-3<br />

System Data Item Descriptions :::::::::::::::::::::::: 2-9<br />

ACTMTH ::::::::::::::::::::::::::::::::::: 2-9<br />

GLB.ACTIONKEY ::::::::::::::::::::::::::::: 2-9<br />

GLB.ADD :::::::::::::::::::::::::::::::::: 2-10<br />

GLB.ALTUSER :::::::::::::::::::::::::::::: 2-10<br />

GLB.APPNAME :::::::::::::::::::::::::::::: 2-11<br />

GLB.APPNO :::::::::::::::::::::::::::::::: 2-11<br />

GLB.ASCPRT ::::::::::::::::::::::::::::::: 2-11<br />

GLB.ASCPRTHOST ::::::::::::::::::::::::::: 2-12<br />

GLB.BACKUP ::::::::::::::::::::::::::::::: 2-12<br />

GLB.BALANCE :::::::::::::::::::::::::::::: 2-13<br />

GLB.BASE :::::::::::::::::::::::::::::::::: 2-14<br />

GLB.CCS :::::::::::::::::::::::::::::::::: 2-14<br />

GLB.CENTURY :::::::::::::::::::::::::::::: 2-14<br />

GLB.CENTURY-START ::::::::::::::::::::::::: 2-15<br />

GLB.CHANGE ::::::::::::::::::::::::::::::: 2-15<br />

GLB.CHARGECODE ::::::::::::::::::::::::::: 2-15<br />

GLB.CHG :::::::::::::::::::::::::::::::::: 2-16<br />

GLB.CLOSE :::::::::::::::::::::::::::::::: 2-16<br />

GLB.COPY ::::::::::::::::::::::::::::::::: 2-16<br />

GLB.CORSTATUS :::::::::::::::::::::::::::: 2-17<br />

GLB.DATE :::::::::::::::::::::::::::::::::: 2-17<br />

GLB.DBG- System Data Items :::::::::::::::::: 2-17<br />

GLB.DBTYPE ::::::::::::::::::::::::::::::: 2-18<br />

GLB.DC- System Data Items :::::::::::::::::::: 2-18<br />

GLB.DC-CC ::::::::::::::::::::::::::::::::: 2-20<br />

GLB.DEL ::::::::::::::::::::::::::::::::::: 2-20<br />

GLB.DESTENV :::::::::::::::::::::::::::::: 2-20<br />

GLB.DESTHOST ::::::::::::::::::::::::::::: 2-20<br />

GLB.DESTINATION ::::::::::::::::::::::::::: 2-21<br />

v xiii


Contents<br />

GLB.DESTNOFORM :::::::::::::::::::::::::: 2-21<br />

GLB.DEVICE :::::::::::::::::::::::::::::::: 2-22<br />

GLB.DLRECOVER :::::::::::::::::::::::::::: 2-23<br />

GLB.EOP ::::::::::::::::::::::::::::::::::: 2-24<br />

GLB.ERROR :::::::::::::::::::::::::::::::: 2-24<br />

GLB.EXAMKEY :::::::::::::::::::::::::::::: 2-25<br />

GLB.EXNAME ::::::::::::::::::::::::::::::: 2-25<br />

GLB.EXTDB ::::::::::::::::::::::::::::::::: 2-25<br />

GLB.EXTDBSTATUS :::::::::::::::::::::::::: 2-26<br />

GLB.EXTEXT :::::::::::::::::::::::::::::::: 2-27<br />

GLB.FILEINFO ::::::::::::::::::::::::::::::: 2-27<br />

GLB.FILLER ::::::::::::::::::::::::::::::::: 2-27<br />

GLB.FORMDEPTH :::::::::::::::::::::::::::: 2-28<br />

GLB.FORMID :::::::::::::::::::::::::::::::: 2-29<br />

GLB.FULLLENGTH ::::::::::::::::::::::::::: 2-30<br />

GLB.FULLSTN ::::::::::::::::::::::::::::::: 2-30<br />

GLB.GUI ::::::::::::::::::::::::::::::::::: 2-30<br />

GLB.HIGH :::::::::::::::::::::::::::::::::: 2-31<br />

GLB.HTIMEOUT :::::::::::::::::::::::::::::: 2-31<br />

GLB.HUBSTATUS :::::::::::::::::::::::::::: 2-31<br />

GLB.HUBTIMEOUT ::::::::::::::::::::::::::: 2-31<br />

GLB.INITFULLSTN :::::::::::::::::::::::::::: 2-32<br />

GLB.INITSTN :::::::::::::::::::::::::::::::: 2-32<br />

GLB.INPUTDATA ::::::::::::::::::::::::::::: 2-33<br />

GLB.INQ ::::::::::::::::::::::::::::::::::: 2-33<br />

GLB.LANGUAGE ::::::::::::::::::::::::::::: 2-33<br />

GLB.LENGTH ::::::::::::::::::::::::::::::: 2-34<br />

GLB.LINECOUNT :::::::::::::::::::::::::::: 2-34<br />

GLB.LINEUP :::::::::::::::::::::::::::::::: 2-35<br />

GLB.LINEUPNAME ::::::::::::::::::::::::::: 2-36<br />

GLB.LOW :::::::::::::::::::::::::::::::::: 2-36<br />

GLB.MACHINE :::::::::::::::::::::::::::::: 2-36<br />

GLB.MATCH :::::::::::::::::::::::::::::::: 2-37<br />

GLB.MAXCOPY :::::::::::::::::::::::::::::: 2-37<br />

GLB.MIXNO ::::::::::::::::::::::::::::::::: 2-37<br />

GLB.NUMCOPIES :::::::::::::::::::::::::::: 2-37<br />

GLB.OLTPSERVICE ::::::::::::::::::::::::::: 2-38<br />

GLB.OLTPSUBTYPE :::::::::::::::::::::::::: 2-38<br />

GLB.OLTPTYPE :::::::::::::::::::::::::::::: 2-38<br />

GLB.OLTPVALUE :::::::::::::::::::::::::::: 2-39<br />

GLB.ORIGIN :::::::::::::::::::::::::::::::: 2-39<br />

GLB.ORIGINENV ::::::::::::::::::::::::::::: 2-39<br />

GLB.ORIGINHOST :::::::::::::::::::::::::::: 2-40<br />

GLB.ORIGINISPEC :::::::::::::::::::::::::::: 2-40<br />

xiv v


Contents<br />

GLB.ORIGINPTN ::::::::::::::::::::::::::::: 2-41<br />

GLB.ORIGINXNID ::::::::::::::::::::::::::::: 2-41<br />

GLB.PAGECOUNT :::::::::::::::::::::::::::: 2-41<br />

GLB.PARAM :::::::::::::::::::::::::::::::: 2-42<br />

GLB.PARAMFLAG :::::::::::::::::::::::::::: 2-42<br />

GLB.PITCH ::::::::::::::::::::::::::::::::: 2-43<br />

GLB.PREVISPEC ::::::::::::::::::::::::::::: 2-43<br />

GLB.PRINTAT ::::::::::::::::::::::::::::::: 2-43<br />

GLB.PRINTBANNER :::::::::::::::::::::::::: 2-44<br />

GLB.PRINTHOST ::::::::::::::::::::::::::::: 2-44<br />

GLB.PRIORITY ::::::::::::::::::::::::::::::: 2-45<br />

GLB.PRIV :::::::::::::::::::::::::::::::::: 2-46<br />

GLB.PRODUCT :::::::::::::::::::::::::::::: 2-47<br />

GLB.PRTPARAM ::::::::::::::::::::::::::::: 2-48<br />

GLB.PUR ::::::::::::::::::::::::::::::::::: 2-48<br />

GLB.RECORDx :::::::::::::::::::::::::::::: 2-48<br />

GLB.RECOVER :::::::::::::::::::::::::::::: 2-49<br />

GLB.REPGENDATE ::::::::::::::::::::::::::: 2-49<br />

GLB.REPGENTIME ::::::::::::::::::::::::::: 2-49<br />

GLB.REPLANG :::::::::::::::::::::::::::::: 2-49<br />

GLB.REPNAME :::::::::::::::::::::::::::::: 2-50<br />

GLB.REPORT ::::::::::::::::::::::::::::::: 2-50<br />

GLB.REPUNIQUE ::::::::::::::::::::::::::::: 2-50<br />

GLB.REPVERSION :::::::::::::::::::::::::::: 2-51<br />

GLB.REQUEST :::::::::::::::::::::::::::::: 2-51<br />

GLB.ROCFLAG :::::::::::::::::::::::::::::: 2-51<br />

GLB.SAVEDAYS ::::::::::::::::::::::::::::: 2-51<br />

GLB.SECONDARY :::::::::::::::::::::::::::: 2-52<br />

GLB.SELF :::::::::::::::::::::::::::::::::: 2-52<br />

GLB.SELFDB :::::::::::::::::::::::::::::::: 2-53<br />

GLB.SELFENV ::::::::::::::::::::::::::::::: 2-53<br />

GLB.SELFHOST ::::::::::::::::::::::::::::: 2-53<br />

GLB.SELFXNID :::::::::::::::::::::::::::::: 2-54<br />

GLB.SHADOW ::::::::::::::::::::::::::::::: 2-54<br />

GLB.SOURCE ::::::::::::::::::::::::::::::: 2-54<br />

GLB.SPACES ::::::::::::::::::::::::::::::: 2-54<br />

GLB.STALANG :::::::::::::::::::::::::::::: 2-55<br />

GLB.STATION ::::::::::::::::::::::::::::::: 2-55<br />

GLB.STATUS ::::::::::::::::::::::::::::::: 2-55<br />

GLB.STN ::::::::::::::::::::::::::::::::::: 2-57<br />

GLB.STNHOST :::::::::::::::::::::::::::::: 2-59<br />

GLB.STYLE ::::::::::::::::::::::::::::::::: 2-59<br />

GLB.SUBSYS ::::::::::::::::::::::::::::::: 2-60<br />

GLB.SYSGENDATE ::::::::::::::::::::::::::: 2-61<br />

v xv


Contents<br />

GLB.SYSGENTIME ::::::::::::::::::::::::::: 2-61<br />

GLB.SYSVERSION :::::::::::::::::::::::::::: 2-62<br />

GLB.TASK :::::::::::::::::::::::::::::::::: 2-62<br />

GLB.TIME :::::::::::::::::::::::::::::::::: 2-64<br />

GLB.TITLE :::::::::::::::::::::::::::::::::: 2-64<br />

GLB.TODAY :::::::::::::::::::::::::::::::: 2-66<br />

GLB.TODAYS-DATE-NUM :::::::::::::::::::::: 2-66<br />

GLB.TODAYS-DAY :::::::::::::::::::::::::::: 2-66<br />

GLB.TODAYS-MONTH ::::::::::::::::::::::::: 2-67<br />

GLB.TODAYS-MONTH-NUM ::::::::::::::::::::: 2-67<br />

GLB.TODAYS-YEAR ::::::::::::::::::::::::::: 2-67<br />

GLB.TOTAL ::::::::::::::::::::::::::::::::: 2-67<br />

GLB.TPGROUP :::::::::::::::::::::::::::::: 2-67<br />

GLB.TRANSTATE :::::::::::::::::::::::::::: 2-68<br />

GLB.UNIQUE :::::::::::::::::::::::::::::::: 2-68<br />

GLB.USER :::::::::::::::::::::::::::::::::: 2-68<br />

GLB.USERCODE ::::::::::::::::::::::::::::: 2-69<br />

GLB.VERSIONID ::::::::::::::::::::::::::::: 2-69<br />

GLB.WORK ::::::::::::::::::::::::::::::::: 2-70<br />

GLB.YYMMDD ::::::::::::::::::::::::::::::: 2-70<br />

GLB.ZEROS :::::::::::::::::::::::::::::::: 2-70<br />

GLB.2PC ::::::::::::::::::::::::::::::::::: 2-71<br />

INPUT-DATE :::::::::::::::::::::::::::::::: 2-71<br />

ISPEC ::::::::::::::::::::::::::::::::::::: 2-72<br />

LAST-LINE :::::::::::::::::::::::::::::::::: 2-72<br />

MAINT ::::::::::::::::::::::::::::::::::::: 2-72<br />

TODAY :::::::::::::::::::::::::::::::::::: 2-76<br />

TODAYS-DATE-NUM :::::::::::::::::::::::::: 2-76<br />

TODAYS-DAY ::::::::::::::::::::::::::::::: 2-77<br />

TODAYS-MONTH ::::::::::::::::::::::::::::: 2-77<br />

TODAYS-MONTH-NUM ::::::::::::::::::::::::: 2-77<br />

TODAYS-YEAR ::::::::::::::::::::::::::::::: 2-78<br />

TRANNO ::::::::::::::::::::::::::::::::::: 2-78<br />

Appendix A. Formulas for the DISCOUNT.CASH; Command<br />

Overview ::::::::::::::::::::::::::::::::::::::::::: A-1<br />

Calculations :::::::::::::::::::::::::::::::::::::::: A-2<br />

xvi v


Appendix B. Railroad Diagram Syntax<br />

Glossary<br />

Index<br />

Contents<br />

Overview ::::::::::::::::::::::::::::::::::::::::::: B-1<br />

Required Items ::::::::::::::::::::::::::::::::::::: B-2<br />

Optional Items :::::::::::::::::::::::::::::::::::::: B-2<br />

Loops :::::::::::::::::::::::::::::::::::::::::::::: B-2<br />

Bridges :::::::::::::::::::::::::::::::::::::::::::: B-3<br />

v xvii


About This Document<br />

Purpose<br />

Scope<br />

Audience<br />

The purpose of this document is to provide reference material for the definition of a <strong>LINC</strong><br />

Specification.<br />

This document gives details of <strong>LINC</strong> commands and <strong>LINC</strong> System Data items.<br />

The primary audience for this document consists of developers responsible for the<br />

specification of <strong>LINC</strong> Systems.<br />

A secondary audience consists of <strong>LINC</strong> System designers who need to understand the<br />

capabilities of <strong>LINC</strong> Generate.<br />

Prerequisites<br />

The audience should have been trained on the <strong>LINC</strong> product.<br />

How to Use This Document<br />

This document should be used in conjunction with the <strong>LINC</strong> Generate Operations Guide.<br />

A list of <strong>LINC</strong> reserved words is provided in the <strong>LINC</strong> Release 16.3/16R3 Migration and<br />

Conversion Guide.<br />

Conventions used in each section are explained in the introduction to each section.<br />

This document refers to UNIX function keys (for example, the XMIT key). The key<br />

sequences equivalent to each function key are contained in your UNIX <strong>LINC</strong><br />

Administration and Operations Guide.<br />

The term OS 2200 refers to <strong>Unisys</strong> computers using the OS 2200 operating system.<br />

Any reference to <strong>LINC</strong> means the <strong>LINC</strong> product.<br />

v xix


About This Document<br />

Organization<br />

This document is organized into two sections and two appendixes.<br />

Section 1. <strong>LINC</strong> Logic Commands<br />

This section describes <strong>LINC</strong> Logic commands, which are entered using <strong>LINC</strong> Editor.<br />

Section 2. System Data Items<br />

This section describes the predefined <strong>LINC</strong> System Data items.<br />

Appendix A. Formulas for the DISCOUNT.CASH; Command<br />

This appendix contains details of the formulas used by the DISCOUNT.CASH; command.<br />

Appendix B. Railroad Diagram Syntax<br />

This appendix shows how to interpret the syntax diagrams used in Section 1 of this<br />

document.<br />

Related Product Information<br />

The following documents contain information relevant to the definition and operation of a<br />

<strong>LINC</strong> System. These publications are intended as reference sources for users who have<br />

completed <strong>LINC</strong> training courses, and do not replace these courses. See your local <strong>Unisys</strong><br />

representative for information on available <strong>LINC</strong> training courses.<br />

All of these documents are published by <strong>Unisys</strong> Corporation, and can be ordered through<br />

Plymouth Operations Software Manufacturing (POSM), or your local <strong>Unisys</strong> subsidiary.<br />

<strong>LINC</strong> Generate Operations Guide<br />

This document describes the use of <strong>LINC</strong> Generate to create and maintain user<br />

information systems.<br />

<strong>LINC</strong> Executive Overview - The Business Case (7833 2145)<br />

This document is an introduction to <strong>LINC</strong> for executive and general readers.<br />

<strong>LINC</strong> Technical Overview - The Business Case (7833 2152)<br />

This document is an overview of <strong>LINC</strong> features and facilities for more technically oriented<br />

readers.<br />

<strong>LINC</strong> <strong>Programming</strong> <strong>Reference</strong> Handbook (7844 8057)<br />

This document contains the syntax of <strong>LINC</strong> Logic commands and System Data items and<br />

other commands used in <strong>LINC</strong> Generate.<br />

xx v


<strong>LINC</strong> Generate <strong>Reference</strong> <strong>Manual</strong>: Painter and Editor<br />

About This Document<br />

This document contains reference material for <strong>LINC</strong> Generate, including <strong>LINC</strong> Editor and<br />

<strong>LINC</strong> Painter commands, Data commands and Data Attributes, and screens and commands<br />

for defining Profiles.<br />

A Series/V Series <strong>LINC</strong> II NETCON Operations Guide (7833 1980)<br />

This document describes how to define and generate an MCP based network.<br />

MCP Based <strong>LINC</strong> Administration and Operations Guide<br />

This document describes the generation and operation of <strong>LINC</strong> Systems and Reports, and<br />

the general administration of <strong>LINC</strong> Systems for MCP based hosts.<br />

MCP Based <strong>LINC</strong> Installation and Configuration Guide<br />

This document contains procedures for installing and configuring released <strong>LINC</strong> Software<br />

on MCP based hosts.<br />

OS 2200 Based <strong>LINC</strong> Administration and Operations Guide<br />

This document describes the generation and operation of <strong>LINC</strong> Systems and Reports, and<br />

the general administration of <strong>LINC</strong> Systems for OS 2200 based hosts.<br />

OS 2200 Based <strong>LINC</strong> Installation and Configuration Guide<br />

This document describes the procedures for installing and configuring released <strong>LINC</strong><br />

Software on OS 2200 based hosts.<br />

UNIX <strong>LINC</strong> Administration and Operations Guide<br />

This document describes the generation and operation of <strong>LINC</strong> Systems and Reports, and<br />

the general administration of <strong>LINC</strong> Systems for UNIX based hosts.<br />

UNIX <strong>LINC</strong> on Unixware Installation and Configuration Guide<br />

This document describes the procedures for installing and configuring released <strong>LINC</strong><br />

Software on UnixWare hosts.<br />

UNIX <strong>LINC</strong> on Sun Installation and Configuration Guide<br />

This document describes the procedures for installing and configuring released <strong>LINC</strong><br />

Software on Sun hosts.<br />

UNIX <strong>LINC</strong> on RS/6000 Installation and Configuration Guide<br />

This document describes the procedures for installing and configuring released <strong>LINC</strong><br />

Software on RS/6000 hosts.<br />

v xxi


About This Document<br />

UNIX <strong>LINC</strong> on Sequent PTX Installation and Configuration Guide<br />

This document describes the procedures for installing and configuring released <strong>LINC</strong><br />

Software on Sequent PTX hosts.<br />

<strong>LINC</strong> Ad Hoc Inquiry Operations Guide<br />

This document describes the operation of <strong>LINC</strong> Ad Hoc Inquiry, which enables users to<br />

make inquiries against a <strong>LINC</strong> System, either interactively, or by using structured (SQL)<br />

statements.<br />

<strong>LINC</strong> Developers Guide: LCOPY<br />

This document provides reference material for using the <strong>LINC</strong> LCOPY Utility, which is<br />

used to transfer <strong>LINC</strong> Specifications between versions of <strong>LINC</strong> Generate.<br />

A Series DMS II Interpretive Interface <strong>Programming</strong> <strong>Reference</strong> <strong>Manual</strong><br />

(8600-0155)<br />

This document gives details of MCP based DMS II Interpreter commands, some of which<br />

may be accessed in <strong>LINC</strong> logic.<br />

Micro Focus COBOL/2 U5000/6000 Operating Guide (UP 14120)<br />

This document contains reference material for UNIX <strong>LINC</strong> Systems, such as details of the<br />

use of the UNIX variable COBLPFORM with the ADVANCE; CHANNEL command.<br />

xxii v


Section 1<br />

<strong>LINC</strong> Logic Commands<br />

Overview<br />

This section covers <strong>LINC</strong> Logic commands, which define and implement the business rules<br />

of a <strong>LINC</strong> System in high level logic. Logic commands are entered by using the <strong>LINC</strong> Editor<br />

for Ispecs, Reports, and Global Logics.<br />

The following general statements apply throughout this section:<br />

$ Commands are listed alphabetically.<br />

$ Commands can be assumed as valid for Ispecs and Reports, and for Global Logic used<br />

in Ispecs or Reports, unless explicitly stated otherwise. Commands available in<br />

Insertable Global Logics depend on where the Global Logics are inserted (Ispecs or<br />

Reports).<br />

Note: Report-only commands will appear as errors in your Insertable<br />

Global Logic but may generate correctly in a Report.<br />

$ Commands can be assumed as valid for all types of target host (UNIX, MCP and<br />

OS 2200 environments), unless explicitly stated otherwise.<br />

$ Further restrictions may be contained in the command descriptions.<br />

$ The syntax of each command is given.<br />

To explain complex syntax, railroad diagrams are used. See Appendix B for guidance<br />

on interpreting these.<br />

Where explanations of command parameters are not included with the syntax<br />

diagram, see ‘‘Conventions for Syntax Diagrams’’, later in this section.<br />

$ The GLB.STATUS; command can be used with many commands to direct the error<br />

status to a specified data item instead of the System Data item GLB.STATUS.<br />

<strong>Reference</strong>s to the System Data item GLB.STATUS may be taken to mean that specified<br />

data item where appropriate.<br />

Note: The GLB.STATUS; command is not included in the syntax diagrams<br />

of individual commands.<br />

$ In Reports, you can define data items with the same name in several Frames. Use OF;<br />

frame to identify which of these data items is being referenced. If not used, the current<br />

Frame is assumed.<br />

OF; is not a logic command or a command option. It is a data item qualification used to<br />

qualify a Frame data item in a Report logic command. For more details, see your <strong>LINC</strong><br />

Generate Operations Guide.<br />

v 1-1


Overview<br />

$ For commands used in the definition of Keywords, see your <strong>LINC</strong> Generate <strong>Reference</strong><br />

<strong>Manual</strong>: Painter and Editor.<br />

$ For commands used in defining Profiles, see your <strong>LINC</strong> Generate <strong>Reference</strong> <strong>Manual</strong>:<br />

Painter and Editor.<br />

$ Global Setup Data items and Dictionary items may also be further defined using the<br />

<strong>LINC</strong> Editor. See your <strong>LINC</strong> Generate <strong>Reference</strong> <strong>Manual</strong>: Painter and Editor for<br />

details.<br />

1-2 v


Conventions for Syntax Diagrams<br />

AS; shadow report<br />

Conventions for Syntax Diagrams<br />

The selection of a Shadow Report, identified by the one-character Shadow Report<br />

designator (A to Z).<br />

component<br />

The name of a Component.<br />

constant<br />

A numeric constant. A sign and decimal point may be included inside the parentheses.<br />

data item<br />

A data item (Data item, Ordinate, Setup Data item, or Global Setup Data item). When<br />

indicated by the syntax diagram, literals or System Data items may be used instead. In<br />

some instances GLB.ZEROS, GLB.SPACES, GLB.LOW, and GLB.HIGH are treated as<br />

special cases.<br />

Each Frame of a Report is logically distinct. If the same name is used for data items in<br />

several Frames, use the OF; data item qualification to specify which Frame applies for the<br />

particular item. The OF; is not required within Frame logic if you are referring to the data<br />

item in that Frame and it has already been painted. Otherwise, it refers to the first<br />

occurrence of this Frame item in the Report (and continues to do so after an item of the<br />

same name is painted in the same Frame, unless you re-edit your logic). For further<br />

information, see your <strong>LINC</strong> Generate Operations Guide.<br />

device<br />

The output device for a Report, as shown in the following table, by target host type.<br />

Value Report output device Valid for:<br />

LP Line Printer All hosts<br />

TP Terminal Printer All hosts<br />

VD Video All hosts<br />

RP Remote Printer MCP environment only<br />

DI ROC Direct output All ROC<br />

EX Extract file All ROC (OS 2200 environment<br />

via GLB.DEVICE in logic)<br />

FL Fast Load Report OS 2200 environment only<br />

Spaces ROC Standard output All ROC<br />

v 1-3


Conventions for Syntax Diagrams<br />

EVENT<br />

The Event Dataset.<br />

extract file<br />

The one-character Extract file designator (A through Z).<br />

frame<br />

A Frame number of the current Report (01 through 99, where99 represents main logic).<br />

GLB.STATUS; data item<br />

Directs that the error status of the command be stored in the specified data item instead of<br />

the System Data item GLB.STATUS.<br />

insertable global logic<br />

A predefined Global Logic to be inserted.<br />

performable global logic<br />

A predefined Global Logic to be performed.<br />

ispec<br />

The name of a Component or Event.<br />

label<br />

A previously defined label (see the LABEL; command).<br />

literal<br />

An alphanumeric value or a constant. The literal must be placed within parentheses.<br />

logic sequence<br />

One or more <strong>LINC</strong> logic commands.<br />

memo component<br />

The name of a Memo Component.<br />

multiple ordinate profile<br />

The Profile defining the multiple Ordinates of a Memo Component.<br />

numeric data<br />

A previously defined numeric data item, appropriate System Data item, or literal value.<br />

profile<br />

The name of a Profile.<br />

1-4 v


profile keys<br />

Conventions for Syntax Diagrams<br />

Data items whose values are to match those of Ordinates named in the Profile declaration,<br />

or the System Data items GLB.SPACES or GLB.ZEROS.<br />

There must be the same number of data items as Ordinates declared for the Profile. As the<br />

keys determine which records are retrieved from the <strong>LINC</strong> Database, they must be<br />

specified in the same order as declared in the Profile specification. The same name need<br />

not be used in both places, but a numeric data item may not be used as a key for an<br />

alphanumeric Profile Ordinate, or vice versa.<br />

A data item brought into memory may not be specified as a key over its own structure. For<br />

example, if the Profile is over a Component CUST, you may not specify CUST.data name<br />

as a key. If you need to do this, move the value to a Setup Data item, and specify that Setup<br />

Data item as the key.<br />

shadow report<br />

A Shadow Report, identified by the one-character Shadow Report designator (A to Z).<br />

v 1-5


ABORT<br />

ABORT<br />

The ABORT; command terminates the current transactions, and restores the <strong>LINC</strong><br />

database. The command only allows the following actions after the termination:<br />

$ Display a message. The Ispec screen layout that was used to initiate the transaction or<br />

the screen used to initiate the Report is displayed.<br />

If no message is included, the message ABORTED: System commanded ABORT of<br />

this transaction is displayed. This message may be translated.<br />

$ Recall an Ispec (Ispec logic only). The message is displayed on the status line and the<br />

Ispec recalled.<br />

The ABORT; command causes any incomplete transactions to be rolled back. On OS 2200<br />

based <strong>LINC</strong> Systems, the Ispec screen layout that initiated the transaction, or the page<br />

used to start the Report (using the :RUN <strong>LINC</strong> System Command), will be displayed on<br />

your terminal if no Ispec Recall option is specified. For UNIX and MCP based <strong>LINC</strong><br />

Systems, and for LDA Run Time, the screen remains unaltered, and the message will be<br />

displayed on the Status line.<br />

For details on the extent of a <strong>LINC</strong> transaction as affected by the ABORT; command, see<br />

your <strong>LINC</strong> Generate Operations Guide.<br />

OLTP<br />

Use of this command with OLTP is described in "Online Transaction Processing (OLTP)" in<br />

your <strong>LINC</strong> Generate Operations Guide.<br />

LDA<br />

For LDA, check the Preserve Session Data field in the Business Segment Options dialog<br />

box to enable the ABORT; command to roll back GLB.WORK.<br />

Using the ABORT; Command in Ispecs<br />

Note the following points when using the ABORT; command in Ispecs:<br />

$ The Ispec is rolled back to the start. This means that any AUTO; or FLAG; commands<br />

performed by the Ispec will also be rolled back, with the exception of External<br />

Automatic Entries that do not use a two-phase commit.<br />

$ If you use the Ispec Recall option on a Copy.From Ispec that is processing the last<br />

Copy.From line (when the value of GLB.COPY equals the value of GLB.MAXCOPY),<br />

the Ispec is not recalled and the abort message is displayed on the Copy.From screen.<br />

In all other cases, the Ispec is recalled, and the ABORT message is displayed on that<br />

screen.<br />

$ Any changes you have made to GLB.WORK before the ABORT; will not be saved. The<br />

contents of GLB.WORK will be rolled back to the value it had at the start of the<br />

transaction.<br />

1-6 v


ABORT<br />

$ If a specified Ispec is recalled, its updates are performed, even though the calling Ispec<br />

was rolled back.<br />

$ When a value is moved to GLB.PARAM before an ABORT; command is issued, the<br />

value is passed to the Ispec.<br />

Using the ABORT; Command in Reports<br />

Syntax<br />

Note the following points when using the ABORT; command in Reports.<br />

$ Reports are rolled back to the last commit point; for example, a Critical Point or<br />

SLEEP; command. Updates up to the last commit point will remain, regardless of the<br />

method of Report initiation.<br />

$ After the Report is aborted and rolled back, it is your responsibility to restart it.<br />

$ If extended Report recovery is in operation, the recovery records will be retained in<br />

the database.<br />

DDD DDBDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDDDDDDD4<br />

3 3<br />

@D DBDDDDDDDDDDDDDBY<br />

3 3<br />

@DDD DDDY<br />

message<br />

A data item or literal containing a message of up to 50 characters.<br />

ispec<br />

Examples<br />

A data item or literal containing the name of an Ispec to be recalled. This feature is only<br />

available in Ispec logic.<br />

<br />

<br />

<br />

<br />

<br />

<br />

In this example, when ERROR1 has the value YES, the transaction is aborted and the<br />

message Error 1 encountered is displayed.<br />

v 1-7


ABORT<br />

<strong>Reference</strong>s<br />

When ERROR2 has the value YES, the transaction is aborted and the Ispec ERRS is<br />

recalled. The default message is displayed.<br />

Note: In the second example indicating the default message, the first set of<br />

parentheses is required, with at least one space inside.<br />

Use of this command with OLTP is described in your <strong>LINC</strong> Generate Operations Guide.<br />

1-8 v


ACCEPT (AX)<br />

Syntax<br />

ACCEPT (AX)<br />

The ACCEPT; command enables you to pass information to a running Report from the<br />

terminal that initiated the Report. ACCEPT; commands are usually preceded by an<br />

associated MESSAGE; command that prompts for input.<br />

When an ACCEPT; command is encountered, the Report suspends execution until it<br />

receives a reply input from the terminal.<br />

Kanji characters must be entered in Kanji (EDIT; K) fields. If you enter an invalid Kanji<br />

character, GLB.STATUS is set to five asterisks (*****). If you move a mixed alphanumeric<br />

and Hankaku-Katakana value into an EDIT; W data item, the value is moved character by<br />

character, and is truncated to the length of the data item. However, if you move a mixed<br />

alphanumeric and Hankaku-Katakana value into an EDIT; A data item, the value is moved<br />

byte by byte and is truncated to the length of the data item. If the truncation occurs after<br />

the first byte of a double-byte Hankaku-Katakana character, this will result in an invalid<br />

character.<br />

Note: EDIT; W data items are not implemented in LDA.<br />

For full details of <strong>LINC</strong> Report operations, see your <strong>LINC</strong> Administration and Operations<br />

Guide for your target host type.<br />

DDDD DDD DDDDDDDDDDDDDDDDDDDDDDDDDD4<br />

DDDD DDD DDD DD DDDDDDDD <br />

DDDDDDDDDDDDDDBDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDDDDDDD4<br />

3 3<br />

@DD DDY<br />

Note: For LDA only the first form is valid. A syntax error occurs if you use the<br />

second form of the ACCEPT; command in LDA.<br />

data item 1<br />

An existing Setup Data item, Global Setup Data item, or Report Data item that will receive<br />

the input.<br />

data item 2<br />

A Setup Data item created by the ACCEPT; command to receive the input.<br />

edit characteristics<br />

Edit attributes and settings for data item 2.<br />

Edit characteristics are not permitted for a previously defined data item.<br />

v 1-9


ACCEPT (AX)<br />

Examples<br />

<strong>Reference</strong>s<br />

The following logic will accept and validate a date. If a valid date is entered, the loop is<br />

ended by the BREAK; command, and the remaining logic is performed. If the date is not<br />

valid, another entry is requested.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

The following logic illustrates the use of the ACCEPT; command for a numeric value with<br />

decimals.<br />

<br />

<br />

An input of 12345 means that RUNQTY would have the value 123.45. If a value of 7.63 was<br />

required, 00763 would need to be entered.<br />

The following logic could be used as an alternative.<br />

<br />

<br />

<br />

The logic ACCEPT; CUST.NO would not be valid (since Ispec data items may not be used).<br />

"LENGTH (LE)" in your <strong>LINC</strong> Generate <strong>Reference</strong> <strong>Manual</strong>: Painter and Editor.<br />

‘‘MESSAGE (ME)’’.<br />

"Types of Data Item" in your <strong>LINC</strong> Generate Operations Guide.<br />

1-10 v


ACCESS.EXT (AEXT)<br />

Syntax<br />

Note: This command is valid for MCP based <strong>LINC</strong> Systems only.<br />

ACCESS.EXT (AEXT)<br />

The ACCESS.EXT; command enables an MCP based <strong>LINC</strong> System user to inquire on a<br />

different DMS II database. One or two databases may be named on the Environmental<br />

Options screen for each generate set. The labels DB1 and DB2 are used to access these<br />

databases through the ACCESS.EXT; command.<br />

Two options are available: Find and Get. The Find option is used to access a data set,<br />

locate and read a particular record. The Get option moves a value from a record accessed<br />

by the Find option into a data item. This value can then be manipulated by <strong>LINC</strong> logic.<br />

The System Data item GLB.STATUS is set to ***** if an exception occurs. The System Data<br />

items GLB.EXNAME and GLB.EXTEXT provide information about the reason for the<br />

exception. See your A Series DMS II Interpretive Interfaces for a description of the<br />

exception messages that may be used.<br />

The DMS II Interpreter program DMINTERPRETER/database must have been generated<br />

for the required database. It is your responsibility to ensure that this program matches the<br />

current version of your <strong>LINC</strong> Specification. It is also your responsibility to ensure<br />

compatibility between the parameters of the ACCESS.EXT; command and the structure of<br />

the database.<br />

Notes:<br />

$ The access provided by the ACCESS.EXT; command requires more system resources<br />

than a normal <strong>LINC</strong> database access.<br />

$ The data names used must be the names as declared in the DASDL source.<br />

$ You can use the ACCESS.EXT; command to access another <strong>LINC</strong> database (since<br />

<strong>LINC</strong> generates DMS II databases), but using external Automatic Entries (AUTO;<br />

commands) is the recommended method.<br />

DD DBDD DDBDDDBDD DDBD4<br />

3 3 3 3<br />

@DD DDY @DD DDDY<br />

find statement<br />

The command required to locate and read a record from the database. The data in the<br />

record is not directly available to <strong>LINC</strong> commands. This command has the following<br />

syntax.<br />

DD DDDDDDDDDDD DDDDDDDDDDDDDDDDDDD4<br />

v 1-11


ACCESS.EXT (AEXT)<br />

The find literal parameter is a data item or a literal not exceeding 150 characters (anything<br />

longer than 150 characters, inclusive of both parameter string and text, will be truncated)<br />

that contains a valid DMINTERPRETER DBVERB Search command and has the following<br />

syntax.<br />

DDBDDDDDDDDDBDBDDDD DDDBDBDDDDDDDDDDDDDDBDDD4<br />

3 33 33 3<br />

CD D4 CDDDD DDD4CD D4<br />

3 33 33 3<br />

CD DD4 @DDDD DDDDDDY@DDDD DDDDY<br />

3 3<br />

CD DD4<br />

3 3<br />

@D DY<br />

The semantics of the Find literal command are described in the A Series DMS II<br />

Interpretive Interfaces.<br />

get statement<br />

The command required to access a data item in a database record previously read using a<br />

find statement, and to move its value into a <strong>LINC</strong> data item. This command has the<br />

following syntax.<br />

DD DDDDDD DDDDDD DDDDDD4<br />

The get literal parameter is a data item or literal, not exceeding 150 characters, that<br />

contains a value describing the database item to be accessed, and has the following syntax.<br />

DB BDBD DDBDBDDDDDDDDDDDDDBD4<br />

3 33 33 3<br />

@ Y3 3@ Y<br />

CD DDDDDDD4<br />

3 3<br />

CD DDDDDD4<br />

3 3<br />

CD DDDDDDDD4<br />

3 3<br />

CD DDDDDDD4<br />

3 3<br />

CD DDDDDDD4<br />

3 3<br />

@D DY<br />

The items are DMS II data items. Currently, a DMS II BOOLEAN data item may not be<br />

accessed. Note that alphabetic item, group item, number item, real item, field item,<br />

count item, andrecord type item are all data names that must be defined within the target<br />

database.<br />

The DASDL data items required for ACCESS.EXT; command access to a <strong>LINC</strong> Database<br />

are not necessarily the same as the item names painted on the screen; they may be prefixed<br />

by the Ispec name. See the appropriate system DASDL for the correct name.<br />

For access to a <strong>LINC</strong> database Ispec containing Memo Data, use the form:<br />

<br />

1-12 v


Examples<br />

For example, for an Ispec called ISP1 containing Memo Data, use:<br />

<br />

data item<br />

ACCESS.EXT (AEXT)<br />

A <strong>LINC</strong> data item that is to receive the specified database item value. The edit type of this<br />

item must be the same type as the source item in the DMS II database (alphanumeric or<br />

numeric).<br />

subscript<br />

Where a data item is defined as part of a table in a DMS II structure, the subscript value<br />

must be specified. Note that the subscript must be enclosed within square brackets, as<br />

shown in the following example.<br />

<br />

Example 1<br />

The branch name for a customer is recorded in an existing DMS II database, and is<br />

required for validation in the <strong>LINC</strong> System.<br />

The database DB1 is expected to contain a dataset CUST, which contains at least<br />

CUSNAME and BRCHNAME data items. The CUST record for the required CUSTOMER is<br />

located and read. The GET command moves the BRCHNAME value to the <strong>LINC</strong> data item<br />

SDBRANCH, where it can be used by other commands.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Note: In the database, a Component data item has the name ispec-line name, andan<br />

Event has the name line name.<br />

v 1-13


ACCESS.EXT (AEXT)<br />

<strong>Reference</strong><br />

Example 2<br />

The DB2 database is expected to contain a dataset GOODPRINTERS, containing at least<br />

the DASDL data item PRINTER-NAME. The first record in GOODPRINTERS is located and<br />

read. The GET command moves the value of the first record in the DASDL data item<br />

PRINTER-NAME to SD-PRINTER for later processing.<br />

<br />

<br />

<br />

<br />

<br />

‘‘GLB.EXNAME’’ and ‘‘GLB.EXTEXT’’.<br />

1-14 v


ADD (AD)<br />

Syntax<br />

Examples<br />

<strong>Reference</strong><br />

ADD (AD)<br />

The ADD; command adds the value of a numeric data item or constant to that of a second<br />

numeric data item and stores the result; either in the second data item, or (optionally) in a<br />

third specified data item.<br />

The GIVING; and ROUNDED; command options can be applied in conjunction with the<br />

ADD; command. The System Data item GLB.STATUS is not accessed by the ADD;<br />

command. Use the GLB.STATUS; command to test for arithmetic overflow.<br />

DDD DBD DBD DDDD <br />

3 3<br />

@DDDD DDDDY<br />

DDBDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBDDBDDDDDDDDDDDDBDD4<br />

3 3 3 3<br />

@D DD DY @D DY<br />

GIVING; numeric data 3<br />

The GIVING; command option directs the result to the specified data item. The GIVING;<br />

command option must be on the same line as the ADD; command. GIV is a valid<br />

abbreviation for GIVING.<br />

ROUNDED;<br />

The ROUNDED; command option rounds the result when truncation occurs. ROU is a<br />

valid abbreviation for ROUNDED.<br />

<br />

<br />

<br />

<br />

‘‘GLB.STATUS’’ for directing the value of GLB.STATUS to a data item.<br />

v 1-15


ADHOC.MODE (ADHOC)<br />

ADHOC.MODE (ADHOC)<br />

Syntax<br />

The ADHOC.MODE; command enables the <strong>LINC</strong> Ad Hoc Inquiry Utility to be accessed<br />

from Ispec logic. All following logic in the Ispec is ignored and will not be executed.<br />

If an Ispec name is included with the ADHOC.MODE; command, Pre-Screen logic for that<br />

Ispec is invoked when <strong>LINC</strong> Ad Hoc Inquiry is terminated. If no Ispec is included,<br />

Pre-Screen logic for the calling Ispec is invoked.<br />

Note: OS 2200 based <strong>LINC</strong> Systems do not support <strong>LINC</strong> Ad Hoc Inquiry. When this<br />

command is executed on OS 2200 based <strong>LINC</strong> Systems, Pre-Screen logic is<br />

invoked for the specified Ispec (which defaults to the calling Ispec).<br />

A command may also be included if an Ispec name is specified. This command is actioned<br />

by <strong>LINC</strong> Ad Hoc Inquiry as an Action field command. For more details, see your <strong>LINC</strong> Ad<br />

Hoc Inquiry Operations Guide.<br />

This command is not available with OLTP.<br />

In LDA Run Time, this command recalls either the named or current Ispec.<br />

DDD DDBDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDDDDD4<br />

3 3<br />

@D DDBDDDDDDDDDDDDD4<br />

3 3<br />

@DD DDY<br />

Here:<br />

<strong>Reference</strong>s<br />

$ ispec is a data item or literal containing the name of an Ispec.<br />

$ command is a data item or literal containing a command to be interpreted by <strong>LINC</strong> Ad<br />

Hoc Inquiry.<br />

For more details, see your <strong>LINC</strong> Ad Hoc Inquiry Operations Guide.<br />

1-16 v


ADVANCE (AV)<br />

ADVANCE (AV)<br />

The ADVANCE; command is used in Reports or Shadow Reports to advance a specified<br />

number of lines between Frames, or to advance to a new page. If a Shadow Report is<br />

specified, only that Shadow Report is affected by the ADVANCE; command.<br />

Which using Report Output Control (ROC) Reports, or non-ROC MCP based TP Reports,<br />

an ADVANCE; NEW.PAGE command is ignored if no Report output has been produced,<br />

since all Reports start at top-of-page. Page headings resulting from an ADVANCE;<br />

command are not produced until further output is produced. This has two implications:<br />

headings can be changed after an ADVANCE; command (but before output) and Reports<br />

will not produce a final page containing only headings.<br />

For MCP based non-ROC Reports that output to LP or RP, the ADVANCE; NEW.PAGE<br />

command produces footers, a new page, and headings whenever it is executed.<br />

ADVANCE; CHANNEL Variant<br />

Syntax<br />

Note: This variant is not valid on OS 2200 based <strong>LINC</strong> Systems, and is ignored in<br />

LDA Run Time.<br />

For UNIX and MCP based <strong>LINC</strong> Systems, the ADVANCE; CHANNEL command variant can<br />

be used for Reports directed to an LP device. It is intended for printing on special<br />

stationery.<br />

For Reports directed to TP devices, (or RP devices in MCP based <strong>LINC</strong> Systems),<br />

ADVANCE; CHANNEL 1 causes an advance to end-of-page, and any other channel causes<br />

an advance of one line. If end-of-page is passed, the System Data item GLB.PAGECOUNT<br />

is not incremented and no headings are printed. The System Data item GLB.LINECOUNT is<br />

incremented by one.<br />

For a UNIX <strong>LINC</strong> System, the shell variable COBLPFORM must be set for the ADVANCE;<br />

CHANNEL command to have the desired effect. For Standard ROC Reports, the<br />

COBLPFORM variable must be set when you initiate the ROC Output Report, not when the<br />

Report is run. For Direct Reports, the COBLPFORM variable must be set when the Report<br />

is run. For more details, see the Micro Focus COBOL for UNIX COBOL System <strong>Reference</strong>.<br />

DD DDDBDDDDDDDD DDDDDDDBDDDDDDDDDD <br />

3 3<br />

CDDDDDD DDDDDD4<br />

3 3<br />

@DDD DD DDY<br />

DDDDDDDDDDDDDBDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDDDDDDD4<br />

3 3<br />

@DD DD DDY<br />

v 1-17


ADVANCE (AV)<br />

Examples<br />

<strong>Reference</strong>s<br />

numeric data<br />

The number of lines to advance: this can be specified as a numeric data item or an integer<br />

value (with or without enclosing parentheses).<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

‘‘GLB.LINECOUNT’’, ‘‘GLB.FORMDEPTH’’, and ‘‘GLB.PAGECOUNT’’.<br />

ASCENDING<br />

For information on the ASCENDING; command option, see either the MATCH; or SORT;<br />

command later in this section, as relevant.<br />

1-18 v


ATTACH (ATT) and ATTACH&SPACE (ATS)<br />

ATTACH (ATT) and ATTACH&SPACE (ATS)<br />

The ATTACH; command appends the first data item to the second data item after the last<br />

non-space character, and then stores the result in the second data item. Embedded blanks<br />

in either data item are retained.<br />

When the ATTACH&SPACE; command is used, a space is inserted between the two data<br />

values when they are joined. However, if the second item has the same value as<br />

GLB.SPACES, the result is the first data item (with no leading spaces, unless the first data<br />

item contained leading spaces).<br />

Truncation of Data<br />

With the ATTACH; and ATTACH&SPACE; commands, the System Data item GLB.LENGTH<br />

is set to the untruncated length of the result, ignoring trailing spaces.<br />

The second data item must have a length that is large enough to contain the resulting data,<br />

otherwise truncation will occur. If truncation occurs, the truncated data is returned in the<br />

destination data item, GLB.LENGTH is set to the untruncated length, and no error message<br />

is given.<br />

For UNIX and MCP based <strong>LINC</strong> Systems, the maximum length of an item created with the<br />

ATTACH; and ATTACH&SPACE; commands is 2000 characters. (This is equivalent to 1000<br />

Kanji (EDIT; K) characters.)<br />

On OS 2200 based <strong>LINC</strong> Systems, the maximum length of the item you are joining (the first<br />

data item) is 2000 characters. If you attempt to join a longer item, its value is truncated to<br />

2000 characters before being joined. The second data item and the result may be any length.<br />

If you move a mixed alphanumeric and Hankaku-Katakana value into an EDIT; W data<br />

item, the value is moved character by character, and is truncated to the length of the<br />

data item. However, if you move a mixed alphanumeric and Hankaku-Katakana value into<br />

an EDIT; A data item, the value is moved byte by byte and is truncated to the length of the<br />

data item. If the truncation occurs after the first byte of a double-byte Hankaku-Katakana<br />

character, this will result in an invalid character.<br />

Notes:<br />

$ EDIT; W data items are not implemented in LDA.<br />

$ For an MCP based <strong>LINC</strong> System, when numeric data items containing separators<br />

are used with ATTACH; or ATTACH&SPACE; commands, the effective length of the<br />

data item will include separators. For example, a numeric data item with attributes<br />

LE; 5 SP; (,) will have an effective length of 6, with an included leading zero.<br />

For LDA there is no upper limit on the size of the item created.<br />

v 1-19


ATTACH (ATT) and ATTACH&SPACE (ATS)<br />

Syntax<br />

Examples<br />

DBDDD DDDDDBDD DDD DD4<br />

3 3<br />

@D DY<br />

data name 1<br />

If this data item is numeric, it may not have decimals declared. Sign and separators are<br />

ignored when the value is attached. A literal or constant value may be used instead of a<br />

data item.<br />

data name 2<br />

An alphanumeric data item.<br />

<br />

<br />

<br />

<br />

<br />

<br />

The following table shows the results of the above use of the ATTACH; and<br />

ATTACH&SPACE; commands, and the resultant GLB.LENGTH values.<br />

Data Item Data item Value GLB.LENGTH<br />

FIRSTNAME HENRYWILLIAMS 13<br />

SECONDNAME SUSAN ANNE DE LEON 18<br />

SURNAME WILLIAMSHE 13<br />

Notice that the value of GLB.LENGTH is 13 for SURNAME, even though the actual length<br />

is 10. This indicates that truncation has occurred.<br />

1-20 v


ATTRIBUTE (ATTR)<br />

ATTRIBUTE (ATTR)<br />

Use this command for MCP based <strong>LINC</strong> Systems to define the printer backup file names<br />

for your Report output. The command is available for ROC Direct Reports and non-ROC<br />

Reports directed to LP or RP devices.<br />

Note: The printer backup file name is set when the file is opened. The ATTRIBUTE;<br />

command must therefore be executed before a print file is opened.<br />

Purpose of ATTRIBUTE; command<br />

Errors<br />

About printer backup files<br />

Printer backup files created by <strong>LINC</strong> Reports are named:<br />

<br />

In this name:<br />

$ usercode is the usercode of the file<br />

$ bdname is a prefix for the file name<br />

$ mix is the seven-digit mix number of the Report<br />

$ counttitle consists of count, a three-digit number, and title, the title of the file<br />

Using the ATTRIBUTE; command<br />

The ATTRIBUTE; command enables you to define the BDNAME attribute - the<br />

(usercode)bdname portion of this name - in similar fashion to the <strong>LINC</strong> System command<br />

:BDD.<br />

By default, the BDNAME attribute is <strong>LINC</strong>BD, although this may have been changed by<br />

using the <strong>LINC</strong> System command :BDD. For standalone Reports, the default value is a<br />

period (.), which means the system default *BD is used.<br />

If the command cannot set the BDNAME attribute (for example, the syntax is not correct),<br />

the attribute is unchanged. The System Data item GLB.STATUS is not set by this<br />

command. You can include the GLB.STATUS; command if you wish to test the success of<br />

the command.<br />

There is no recovery of the BDNAME attribute. It is your responsibility to ensure that your<br />

change is saved and recovered.<br />

If your Report is not running under a privileged usercode, exceeding the limit (180<br />

characters) or creating an invalid file name (for example, of more than 14 levels) will result<br />

in your Report terminating with a fatal error.<br />

v 1-21


ATTRIBUTE (ATTR)<br />

Syntax<br />

Examples<br />

DD DD DD DDBDDDDDDDDDDDDBDD4<br />

3 3<br />

@D DY<br />

bdname<br />

Data item, Setup Data item, Global Setup Data item, or literal that holds the BDNAME<br />

attribute. Non-literal values must be terminated with a period (.). This is illustrated in the<br />

examples of this command.<br />

The maximum length of the BDNAME is 180 characters. For a literal , the maximum length<br />

is 58 characters (56 characters if a usercode is supplied).<br />

usercode<br />

Literal that contains a usercode. If omitted, the file is produced with the same usercode<br />

with which the Report is running. The Report program must be privileged, or running<br />

under a privileged usercode, in order to produce a file under a different usercode<br />

(otherwise, the Report will terminate).<br />

The usercode parameter can only be included if bdname is entered as a literal. If you<br />

include bdname as a data item, you must include the usercode (complete with<br />

parentheses) in the value of bdname, if required.<br />

The following command sets BDNAME to *BD. This is equivalent to the <strong>LINC</strong> System<br />

command :BDD. (See your MCP Based <strong>LINC</strong> Administration and Operations Guide for<br />

details).<br />

<br />

The following command sets BDNAME to PRINT/FILE/FOR/BILLING.<br />

<br />

The following command sets BDNAME to (USER1)LOCALPRINT.<br />

<br />

The following command sets BDNAME to REPORT/PRINTOUT.<br />

<br />

<br />

1-22 v


AUTO (AU) and AUTO.ARRAY (AUA)<br />

AUTO (AU) and AUTO.ARRAY (AUA)<br />

The AUTO; command transfers the value of a data item to a data item in the Auto Entry<br />

buffer. Data items in the Auto Entry buffer must be contained in the Ispec specified by the<br />

associated AUTO.ENTRY; command.<br />

The AUTO.ARRAY; command transfers a Setup Data array or Global Setup Data array to<br />

the Auto Entry buffer. Otherwise, it functions as the AUTO; command does for a data item.<br />

The receiving item must be of sufficient size to store the array, and it must be<br />

alphanumeric.<br />

Rejection of data transfer<br />

A transfer using the AUTO; or AUTO.ARRAY; commands to an Event or a Memo<br />

Component is always valid, although the transfer may be rejected if it involves Profiles that<br />

do not allow duplicates. A transfer to a Standard, Table,orMultiple Ordinate Memo<br />

Component is rejected in the following cases:<br />

$ Where the value of MAINT is GLB.ADD and the record already exists<br />

$ Where the value of MAINT is GLB.CHG or GLB.DEL, and the record does not exist<br />

If an AUTO; command fails during Ispec logic execution, GLB.STATUS is set to *****.<br />

Transferring Values Using AUTO; and AUTO.ARRAY; Commands<br />

When transferring values using AUTO; and AUTO.ARRAY; commands:<br />

$ Do not transfer an alphanumeric value to an unsigned numeric data item with decimals<br />

(or vice versa).<br />

$ Do not transfer an alphanumeric value to a signed numeric data item (or vice versa).<br />

$ Do not transfer signed numerics if you are performing a transfer between different<br />

host types. The recommended method for transferring a signed field between systems<br />

on different host types is to have a separate field for the sign, and simply transfer the<br />

positive numeric.<br />

$ Perform the transfer of data explicitly for each data item required, including a value for<br />

the MAINT System Data item where appropriate. Use GLB.ADD, GLB.CHG, and<br />

GLB.DEL for the MAINT System Data item. FIR, LAS, BAC and NEX are also valid for<br />

external Automatic Entries.<br />

$ For new records, any data items not included in AUTO; commands are sent a zero or<br />

space value as appropriate.<br />

$ For records being changed, any items not included in AUTO; commands retain their<br />

existing values, unless CLW; (0) or CLW; ( ) are defined for those items.<br />

$ Use the AUTO.CLEAR; command to clear the value of a data item. However, if the<br />

CLEAR.WHEN; character is a space (or zero for a numeric item), the value will be set<br />

to spaces (or zero).<br />

v 1-23


AUTO (AU) and AUTO.ARRAY (AUA)<br />

Syntax<br />

$ Numeric Setup Data arrays and signed numeric data items will be corrupted if they are<br />

passed in an external Automatic Entry to a host with a different character set; that is,<br />

between EBCDIC (MCP environment) and ASCII (UNIX or OS 2200 environments).<br />

$ For an external Automatic Entry to an OLTP View Ispec using OLTP, an AUTO.ARRAY<br />

of a numeric Setup Data array moves the individual numeric array elements to the<br />

corresponding element in the OLTP View Ispec buffer.<br />

$ You cannot use Usage Inquiry data items in conjunction with the AUTO; command for<br />

OLTP.<br />

$ External Automatic Entries are not supported in LDA Run Time.<br />

Hankaku-Katakana values<br />

If you move a mixed alphanumeric and Hankaku-Katakana value into an EDIT; W data<br />

item, the value is moved character by character, and is truncated to the length of the<br />

data item. However, if you move a mixed alphanumeric and Hankaku-Katakana value into<br />

an EDIT; A data item, the value is moved byte by byte and is truncated to the length of the<br />

data item. If the truncation occurs after the first byte of a double-byte Hankaku-Katakana<br />

character, this will result in an invalid character.<br />

Note: EDIT; W data items are not implemented in LDA.<br />

Numeric Setup Data arrays<br />

Numeric Setup Data arrays are stored in COMP (BCD, for MCP based <strong>LINC</strong> Systems) data<br />

format. This is different from the way in which alphanumeric Setup Data arrays are stored<br />

(alphanumeric values).<br />

Calculate the required size for the receiving item to store an incoming numeric array as<br />

follows:<br />

1. Allow one byte for every two numeric digits.<br />

2. Plus one half byte for each array element, rounded up to the nearest byte.<br />

For example: An array with ten elements, each three digits in length, would be calculated<br />

as follows: ((10 * 3) / 2 + (0.5 * 10)) = 20.<br />

Notes:<br />

$ Numeric Setup Data arrays will be corrupted if passed in an external Automatic<br />

Entry to a host with a different character set, that is, between EBCDIC (MCP based<br />

<strong>LINC</strong> Systems) and ASCII (UNIX or OS 2200 based <strong>LINC</strong> Systems).<br />

$ Signed numeric items will be corrupted if passed in an external Automatic Entry to<br />

a host with a different character set, that is, between EBCDIC (MCP based <strong>LINC</strong><br />

Systems) and ASCII (UNIX or OS 2200 based <strong>LINC</strong> Systems).<br />

1-24 v


Example<br />

DD DDDDDD DDDDDD DDDDD4<br />

DD DDDD DDDD DDD4<br />

data item 1<br />

This item may be a literal or a data item.<br />

data item 2<br />

Thisitemmayonlybeadataitem(notaliteral).<br />

data item 3<br />

A Setup or Global Setup Data array.<br />

data item 4<br />

An alphanumeric data item in the receiving Ispec.<br />

AUTO (AU) and AUTO.ARRAY (AUA)<br />

The following example shows Report logic that reads a customer’s bank balance and<br />

creates an automatic interest entry. It also makes an Automatic Entry in an external<br />

database, under a given condition.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

v 1-25


AUTO (AU) and AUTO.ARRAY (AUA)<br />

<strong>Reference</strong>s<br />

In the following example, a Setup Data array is transferred to a data item in the FIRUP<br />

Ispec.<br />

<br />

<br />

<br />

<br />

<br />

<br />

‘‘AUTO.CLEAR (AC)’’ for clearing the value of a data item.<br />

‘‘AUTO.ENTRY (AE)’’ for defining the Ispec.<br />

‘‘AUTO; WRITE and AUTO; WRITE&CLEAR’’ for transferring the data and for a description<br />

of the setting of GLB.STATUS.<br />

‘‘MOVE.AUTO (MA) and MOVE.AUTO.ARRAY (MAA)’’ for retrieving data from the auto<br />

entry buffer.<br />

‘‘CONTRA (CN)’’ for changing the sign of a data item in the Auto Entry buffer.<br />

"AUTO" in your <strong>LINC</strong> Generate <strong>Reference</strong> <strong>Manual</strong>: Painter and Editor, which allows fast<br />

entry of logic for the AUTO; command.<br />

The System Data Items ‘‘GLB.SELF’’, ‘‘GLB.DESTINATION’’, ‘‘GLB.DESTENV’’,<br />

‘‘GLB.DESTHOST’’, ‘‘GLB.HUBSTATUS’’, ‘‘GLB.HUBTIMEOUT’’, ‘‘GLB.OLTPTYPE’’,<br />

‘‘GLB.OLTPSUBTYPE’’, ‘‘GLB.OLTPSERVICE’’, and ‘‘GLB.OLTPVALUE’’.<br />

"External Automatic Entries" in your <strong>LINC</strong> Generate Operations Guide.<br />

The "Interfaces" section, in your <strong>LINC</strong> Administration and Operations Guide for your<br />

host type.<br />

1-26 v


AUTO; CONTRA<br />

Syntax<br />

Examples<br />

<strong>Reference</strong>s<br />

AUTO; CONTRA<br />

The AUTO; CONTRA command changes the sign of a signed numeric data item that has<br />

been moved into the Auto Entry buffer.<br />

DDDD DDD DDDDD DDDDDDDDDD4<br />

<br />

<br />

<br />

<br />

<br />

‘‘AUTO; CONTRA’’ and ‘‘AUTO; WRITE and AUTO; WRITE&CLEAR’’. In particular, see<br />

‘‘Examples’’.<br />

v 1-27


AUTO.CLEAR (AC)<br />

AUTO.CLEAR (AC)<br />

Syntax<br />

Example<br />

<strong>Reference</strong>s<br />

The AUTO.CLEAR; command clears the value of the data item in the Auto Entry buffer.<br />

Numeric data items are set to zero, alphanumeric items to spaces.<br />

Using this command means you do not need to allow for data items that have the<br />

CLEAR.WHEN; Data Attribute.<br />

DDDD DDDDDD DDDDDDDDDDDDDDDDD4<br />

In the following example, the customer balance is being cleared from the CUST<br />

Component.<br />

<br />

<br />

<br />

<br />

<br />

<br />

In the following example, data is being sent from an Event named RECPT to an Event<br />

named AJNL in the same <strong>LINC</strong> System. In this example, the data item AMOUNT is set to<br />

zero.<br />

<br />

<br />

<br />

<br />

‘‘AUTO; CONTRA’’.<br />

"CLEAR.WHEN (CLW)" in your <strong>LINC</strong> Generate <strong>Reference</strong> <strong>Manual</strong>: Painter and Editor.<br />

1-28 v


AUTO.ENTRY (AE)<br />

AUTO.ENTRY (AE)<br />

The AUTO.ENTRY; command identifies the name of the Component or Event to which<br />

data is to be sent by an Automatic Entry. This in turn determines the format of the Auto<br />

Entry buffer to which data is to be sent by the AUTO; and AUTO.ARRAY; logic commands.<br />

Data items not given a value explicitly (with an AUTO; command) are sent a value of<br />

spaces (or zero for a numeric item). When changing an existing record, this is usually<br />

interpreted as indicating no change to the existing record. However, if the CLEAR.WHEN;<br />

character is a space (or zero for a numeric item), the value will be set to space (or zero).<br />

Restrictions on the Ispec<br />

The AUTO.ENTRY; command can only be used if the receiving Ispec is defined as one of<br />

the following:<br />

$ An Automatic Entry Ispec (by setting the Automatic Entry field on its Component or<br />

Event Options screen to Y).<br />

$ An External-only Ispec (by setting the External Only Ispec field on its Component or<br />

Event Options screen to Y).<br />

$ An OLTP View Ispec (by using the OVI choice from the <strong>LINC</strong> Definition Menu screen).<br />

External Automatic Entries<br />

For an external Automatic Entry (from one <strong>LINC</strong> System to another), the Ispec must be<br />

identical to an Ispec in the receiving <strong>LINC</strong> System.<br />

You can also use external Automatic Entries to interface to a non-<strong>LINC</strong> system, using the<br />

NOF or <strong>LINC</strong> USER interface methods. For more details, see your <strong>LINC</strong> Generate<br />

Operations Guide.<br />

Multiple AUTO.ENTRY; Commands<br />

The Ispec used in an AUTO; WRITE command is the Ispec specified in the most recent<br />

AUTO.ENTRY; command in the logic prior to the AUTO; WRITE; command, regardless of<br />

any conditional commands such as the DO.WHEN; or BEGIN.CASE; command.<br />

Ispec Locking on OS 2200 based <strong>LINC</strong> Systems<br />

On OS 2200 based <strong>LINC</strong> Systems, AUTO.ENTRY; applies an implicit RDMS lock.<br />

Attempting to explicitly lock the same Ispec later in the same transaction (for example,<br />

with a LOOK.UP; command with a SECURE; command option) can result in an RDMS<br />

error.<br />

OLTP<br />

In an OLTP environment, the AUTO.ENTRY; command sets GLB.OLTPTYPE, and also sets<br />

GLB.OLTPSUBTYPE if the specified Ispec is an OLTP View Ispec.<br />

v 1-29


AUTO.ENTRY (AE)<br />

Syntax<br />

Examples<br />

DDD DDDD DDDBDDDDDDDDDDDDDBDDD4<br />

3 3<br />

@D DY<br />

EXTERNAL;<br />

If this command option is included, the System Data items GLB.DESTINATION,<br />

GLB.DESTENV and GLB.DESTHOST are checked at runtime to see if an external<br />

Automatic Entry is to be initiated. If not, GLB.STATUS is set to NOEXT when the AUTO;<br />

WRITE command is executed. See the AUTO; WRITE command for further details. (Note<br />

that GLB.HUBSTATUS does not have a value set to it in this situation.)<br />

An external Automatic Entry is initiated when one or more of the following conditions is<br />

false:<br />

$ GLB.DESTINATION is equal to GLB.SELF<br />

$ GLB.DESTHOST is equal to GLB.SELFHOST<br />

$ GLB.DESTENV is equal to GLB.SELFENV<br />

If the Automatic Entry is to an Ispec defined as an External-only Ispec on its Ispec Options<br />

screen, the EXTERNAL; command option is mandatory. If EXTERNAL; is not specified, no<br />

error will be generated if the user attempts an Automatic Entry to another <strong>LINC</strong> System.<br />

Note: The EXTERNAL; command option is ignored in LDA Run Time.<br />

On OS 2200 based <strong>LINC</strong> Systems, automatic date/time validation is not<br />

performed by Reports for External-only Ispecs.<br />

In the following example, data is being sent from an Event named RECPT to an Event<br />

named AJNL in the same <strong>LINC</strong> System.<br />

<br />

<br />

<br />

<br />

In the following example, data is being sent from <strong>LINC</strong> System A to <strong>LINC</strong> System B.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

1-30 v


<strong>Reference</strong>s<br />

<br />

<br />

<br />

‘‘AUTO; CONTRA’’, ‘‘AUTO.FORMAT (AF)’’, and ‘‘AUTO; WRITE and AUTO;<br />

WRITE&CLEAR’’.<br />

AUTO.ENTRY (AE)<br />

‘‘GLB.DESTINATION’’, ‘‘GLB.DESTENV’’, ‘‘GLB.DESTHOST’’, ‘‘GLB.HUBSTATUS’’,<br />

‘‘GLB.HUBTIMEOUT’’, ‘‘GLB.OLTPTYPE’’, ‘‘GLB.OLTPSUBTYPE’’, ‘‘GLB.OLTPSERVICE’’,<br />

and ‘‘GLB.OLTPVALUE’’<br />

"External Automatic Entries" in your <strong>LINC</strong> Generate Operations Guide.<br />

"Using <strong>LINC</strong> Logic for OLTP" in your <strong>LINC</strong> Generate Operations Guide.<br />

The Interfaces section in your <strong>LINC</strong> Administration and Operations Guide.<br />

v 1-31


AUTO.FORMAT (AF)<br />

AUTO.FORMAT (AF)<br />

Syntax<br />

<strong>Reference</strong>s<br />

The AUTO.FORMAT; command is specific to OLTP.<br />

Use this command to nominate an Ispec whose data items match the data layout of the<br />

OLTP response in the Auto Entry buffer. This enables the reply buffer to have a format<br />

different from the AUTO; request.<br />

After you have defined the format of the Auto Entry buffer, you can extract data from it by<br />

using MOVE.AUTO; or MOVE.AUTO.ARRAY; commands that must immediately follow the<br />

relevant AUTO.FORMAT; command.<br />

The AUTO.FORMAT; command does not clear the Auto Entry buffer.<br />

DD DDD DDDDDDDDDDDDDDDDDDDDDDDDDDD4<br />

"Using <strong>LINC</strong> Logic for OLTP" in your <strong>LINC</strong> Generate Operations Guide.<br />

‘‘MOVE.AUTO (MA) and MOVE.AUTO.ARRAY (MAA)’’ later in this section.<br />

1-32 v


AUTO; WRITE and AUTO; WRITE&CLEAR<br />

AUTO; WRITE and AUTO; WRITE&CLEAR<br />

The AUTO; WRITE command transfers information from the Auto Entry buffer to the<br />

destination (receiving) Ispec or buffer, depending on whether it is an internal or external<br />

Automatic Entry. Internal Automatic Entries transfer data within the same <strong>LINC</strong> Database.<br />

External Automatic Entries transfer data to an external <strong>LINC</strong> System (which can be on a<br />

different host).<br />

The AUTO; WRITE (and AUTO.WRITE&CLEAR) command can be used more than once in<br />

the same Ispec or Report logic. A record is transferred each time a command is executed.<br />

GLB.ERROR and GLB.STATUS<br />

Updating is not completed if GLB.ERROR has a value other than GLB.SPACES. Changes to<br />

GLB.ERROR after the AUTO; WRITE is executed have no effect on the current Automatic<br />

Entry.<br />

For Automatic Entries, GLB.STATUS is set at the time the AUTO.WRITE; command is<br />

executed. The setting of GLB.STATUS is discussed under ‘‘Settings of GLB.STATUS and<br />

GLB.HUBSTATUS’’, later in this command subsection.<br />

Event Data Items<br />

In an Automatic Entry to an Event, the System Data items ACTMTH, INPUT-DATE, and<br />

ISPEC are handled automatically.<br />

Differences between AUTO; WRITE and AUTO; WRITE&CLEAR<br />

There are some differences with the way the AUTO; WRITE and AUTO; WRITE&CLEAR<br />

commands work, depending on whether you are transferring data internally, to an external<br />

<strong>LINC</strong> System, or to another system through OLTP. These differences are described in the<br />

following subsections.<br />

Internal Automatic Entries<br />

For internal Automatic Entries, the AUTO; WRITE command transfers information from<br />

the Auto Entry buffer to the database structure of the destination (receiving) Ispec. A<br />

record is sent to the <strong>LINC</strong> database each time an AUTO; WRITE command is executed.<br />

Any record currently in memory for the destination Ispec is overwritten by the Auto Entry<br />

buffer record prior to its storage in the <strong>LINC</strong> database. On completion of a successful<br />

Automatic Entry, the current database record will be the one just created.<br />

Requirements<br />

The destination Ispec must have the Automatic Entry field set to Y on the Ispec Options<br />

screen for the <strong>LINC</strong> Specification of the <strong>LINC</strong> System that is performing the AUTO; WRITE<br />

command. This field enables the Ispec to receive Automatic Entries.<br />

v 1-33


AUTO; WRITE and AUTO; WRITE&CLEAR<br />

Rejecting an Automatic Entry<br />

A transfer to a Standard or Table Component will be rejected in the following cases:<br />

$ Where the value of MAINT is the same as GLB.ADD, and the record already exists<br />

$ Where the value of MAINT is the same as GLB.CHG or GLB.DEL, and the record does<br />

not exist<br />

AUTO; WRITE&CLEAR<br />

The AUTO; WRITE&CLEAR command performs the additional function of clearing the<br />

Automatic Entry buffer.<br />

Caution (MCP based <strong>LINC</strong> Systems only)<br />

If an AUTO; WRITE or AUTO; WRITE&CLEAR command creates a duplicate record<br />

on a Profile defined with Duplicates Allowed set to N, the write will fail and the<br />

transaction will be aborted.<br />

External Automatic Entries<br />

For External Automatic Entries the AUTO; WRITE command transfers information from<br />

the Auto Entry buffer of the sending Ispec, to the input buffer of the destination Ispec in<br />

the external <strong>LINC</strong> System.<br />

Requirements<br />

The destination Ispec must have the Automatic Entry field set to Y on the Ispec Options<br />

screen for the <strong>LINC</strong> Specification of the <strong>LINC</strong> System that is performing the AUTO; WRITE<br />

command. This enables the information for the destination Ispec to be assembled<br />

correctly.<br />

The <strong>LINC</strong> Specification of the sending and destination Ispecs must be identical.<br />

AUTO; WRITE&CLEAR<br />

The AUTO; WRITE&CLEAR command will only clear the Auto Entry buffer if no data is<br />

returned to the buffer, in which case it will clear the buffer regardless of the setting of<br />

GLB.ERROR. If data is returned, the action is identical to an AUTO; WRITE command.<br />

External Automatic Entries are not supported in LDA Run Time.<br />

OLTP Automatic Entry<br />

As for any external Automatic Entry, use the AUTO; WRITE and AUTO; WRITE&CLEAR<br />

commands to send an OLTP transaction containing data you have set up in the Auto Entry<br />

buffer.<br />

1-34 v


Procedure<br />

To send an OLTP transaction:<br />

AUTO; WRITE and AUTO; WRITE&CLEAR<br />

1. Nominate an External Auto Ispec or an OLTP View Ispec with the AUTO.ENTRY;<br />

command (GLB.OLTPTYPE and GLB.OLTPSUBTYPE are set automatically for OLTP<br />

View Ispecs).<br />

2. Set GLB.DESTHOST to GLB.OLTP.<br />

3. Set GLB.DESTINATION to the OLTP Service you require.<br />

4. Set GLB.OLTPSUBTYPE (if it is not an OLTP View Ispec) to the value required by the<br />

OLTP Service specified. For a <strong>LINC</strong> Service, this will be as follows.<br />

$ For UNIX and OS 2200 based <strong>LINC</strong> Systems:<br />

<br />

$ For MCP based <strong>LINC</strong> Systems:<br />

<br />

The values entered in ispec, system, andwindow refer to the destination <strong>LINC</strong><br />

System.<br />

5. Use AUTO; logic commands to prepare the data items in the message.<br />

6. Use the AUTO; WRITE logic command to send the message.<br />

Results<br />

If GLB.DESTHOST does not specify an OLTP transaction but your AUTO.ENTRY<br />

command specified an OLTP View Ispec, a runtime error occurs, GLB.STATUS is set to<br />

five asterisks (*****), and GLB.HUBSTATUS is set to an appropriate error message.<br />

If the OLTP transaction is processed successfully, GLB.STATUS contains spaces or DATA.<br />

A DATA value indicates that there is a response message in the Auto Entry buffer .<br />

If the processing on the OLTP Server is aborted and the transaction is using Two-Phase<br />

commit, the client transaction will be immediately aborted (for more details, see the<br />

ABORT; command).<br />

If any other processing or OLTP exception is encountered, your <strong>LINC</strong> logic execution will<br />

continue after the AUTO; WRITE command. Note the following points regarding these<br />

exceptions:<br />

$ GLB.STATUS will be set to five asterisks (*****), and GLB.HUBSTATUS will contain<br />

the error code. GLB.STATUS and GLB.HUBSTATUS settings are described later in this<br />

subsection.<br />

$ The buffer is not changed by the AUTO; WRITE command. The buffer is cleared to<br />

spaces by the AUTO; WRITE&CLEAR command.<br />

v 1-35


AUTO; WRITE and AUTO; WRITE&CLEAR<br />

Syntax<br />

Examples<br />

DDDDD DDDDDDBDDDDD DDDDDBDDDDDDDDDDDDDDDDDDDD4<br />

3 3<br />

@DD DDY<br />

The following example adds a record for the component CUST to the database.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

In the following example, a Component PROD, designated AUTO.ENTRY, has an Ordinate<br />

PRODUCT (with a length of 10), and a numeric data item SELLPRICE (with Data<br />

Attributes LENGTH; 8 and DECIMALS; 2). PROD resides in the <strong>LINC</strong> System DBASE1 and<br />

has the following logic.<br />

<br />

<br />

<br />

<br />

PROD is defined identically in the <strong>LINC</strong> System DBASE2.<br />

In the following example, DBASE2 has an Ispec which is used for product maintenance<br />

and inquiry against DBASE1. It has a data item IN-MAINT (with a length of 3), a data item<br />

FINDPROD (length 10), and a data item SELLPRICE (as defined in DBASE1).<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

1-36 v


Settings of GLB.STATUS and GLB.HUBSTATUS<br />

AUTO; WRITE and AUTO; WRITE&CLEAR<br />

The AUTO; WRITE command sets the System Data item GLB.STATUS. If GLB.ERROR is<br />

spaces, GLB.STATUS is cleared (set to spaces) before the command is executed.<br />

For an internal Automatic Entry, GLB.STATUS is set to five asterisks (*****) if an attempt<br />

is made to add a record with an existing Ordinate to a Component, or to change or delete a<br />

nonexistent record. Also, attempting to set the MAINT System Data item to FIR, LAS,<br />

NEX, or BAC sets GLB.STATUS to five asterisks.<br />

For an External Automatic Entry, GLB.STATUS can be set to one of a number of values, as<br />

shown in the following table. (These values are described in further detail in the following<br />

subsections. In some cases, you can use the System Data item GLB.HUBSTATUS to get<br />

more status information.)<br />

Value Description<br />

Spaces Automatic Entry successful<br />

BLOCK Transaction sent, no reply received<br />

BUSY Insufficient resources<br />

DATA Successful: data returned<br />

NODB Could not find external <strong>LINC</strong> System<br />

NOEXT Internal Automatic Entry attempted<br />

TOUT No response received within the time limit<br />

***** Error in external <strong>LINC</strong> System<br />

For an OLTP Automatic Entry, GLB.STATUS can be set to one of a number of values, as<br />

shown in the following table. (These values are described in further detail in the following<br />

subsections. In some cases, you can use the System Data item GLB.HUBSTATUS to get<br />

more status information.)<br />

v 1-37


AUTO; WRITE and AUTO; WRITE&CLEAR<br />

Value Description<br />

Spaces Depends on value in GLB.HUBSTATUS<br />

DATA Successful: data returned to OLTP buffer<br />

NODB Value in GLB.DESTINATION not recognized as an<br />

OLTP service<br />

***** Error: see GLB.HUBSTATUS<br />

The values of GLB.STATUS are described in further detail in the following subsections. In<br />

some cases, you can use the System Data item GLB.HUBSTATUS to get more status<br />

information, as indicated.<br />

GLB.STATUS is spaces<br />

For non-OLTP Automatic Entries, this indicates a successful Automatic Entry.<br />

GLB.HUBSTATUS has the value OK.<br />

For OLTP, the following table shows the values of GLB.HUBSTATUS when GLB.STATUS<br />

is spaces.<br />

GLB.HUBSTATUS Meaning<br />

OK Transaction was successfully processed, and did not perform a<br />

RECALL;<br />

NO RESPONSE Transaction performed a RECALL; of an Ispec with no<br />

Pre-Screen logic<br />

GLB.STATUS is BLOCK<br />

An external Automatic Entry was sent to its destination, but the connection was lost<br />

before a response was received. This value can only occur with inter-host (non-OLTP)<br />

Automatic Entries. (This status will not be sent to OS 2200 based hosts.)<br />

The following values of GLB.HUBSTATUS can occur when GLB.STATUS is set to BLOCK:<br />

$ GLB.HUBSTATUS is LOST.CONNECTION<br />

Insufficient resources were available to process or deliver the external Automatic<br />

Entry.<br />

$ GLB.HUBSTATUS is USER.DISABLED<br />

The destination <strong>LINC</strong> System has been locally disabled while your external Automatic<br />

Entry was in progress. The transaction has been cleared.<br />

If Immediate Commit applies, the status of the transaction on the destination System is<br />

undefined.<br />

1-38 v


GLB.STATUS is BUSY<br />

AUTO; WRITE and AUTO; WRITE&CLEAR<br />

For more details, see the :HUB- <strong>LINC</strong> System command in the <strong>LINC</strong> Administration<br />

and Operations Guide for the relevant host type.<br />

Insufficient resources were available to process or deliver the External Automatic Entry.<br />

GLB.HUBSTATUS has the value INSUFF.RESOURCE. This GLB.STATUS value cannot<br />

occur with OLTP Automatic Entries.<br />

GLB.STATUS is DATA<br />

For all types of Automatic Entry, this indicates that the Automatic Entry was successful,<br />

and data has been returned. GLB.HUBSTATUS has the value OK. Use the MOVE.AUTO; or<br />

MOVE.AUTO.ARRAY; commands to obtain the returned data.<br />

GLB.STATUS is NODB<br />

For non-OLTP Automatic Entries, the following list shows the values of GLB.HUBSTATUS<br />

when GLB.STATUS is NODB. GLB.HUBSTATUS is:<br />

$ CONNECT.FAILED<br />

Connection to GLB.DESTHOST could not be established.<br />

$ HUB.DISABLED<br />

The mechanism for passing external Automatic Entries (HUB) is disabled on either the<br />

sending or destination host, or the destination <strong>LINC</strong> System is not known.<br />

$ INVALID.HOST<br />

The target host name (in GLB.DESTHOST) is not defined in the network.<br />

$ <strong>LINC</strong>SYS.DOWN<br />

The Server <strong>LINC</strong> System is not active.<br />

$ USER.DISABLED<br />

The destination <strong>LINC</strong> System is locally disabled for new external Automatic Entries.<br />

For more details, see the :HUB- <strong>LINC</strong> System command in the <strong>LINC</strong> Administration<br />

and Operations Guide for the relevant host type.<br />

For OLTP Automatic Entries, the following table shows the values of GLB.HUBSTATUS<br />

when GLB.STATUS is NODB.<br />

v 1-39


AUTO; WRITE and AUTO; WRITE&CLEAR<br />

GLB.HUBSTATUS Meaning<br />

SERVICE UNKNOWN Client attempted to send an OLTP transaction with a value in<br />

GLB.DESTINATION that is not recognized as an OLTP service<br />

NOT OLTP CLIENT A non OLTP-capable client attempted to call an OLTP service<br />

GLB.STATUS is NOEXT<br />

An internal Automatic Entry was attempted when the EXTERNAL; command option was<br />

specified in the AUTO.ENTRY; command. GLB.HUBSTATUS has no value. This<br />

GLB.STATUS value cannot occur with OLTP Automatic Entries.<br />

GLB.STATUS is TOUT<br />

GLB.HUBSTATUS has the value:<br />

$ TIMEOUT<br />

An external Automatic Entry was sent, but no response has been received within the<br />

time specified in the System Data item GLB.HUBTIMEOUT. This can only occur if<br />

GLB.HUBTIMEOUT is not zero.<br />

$ DM.DEADLOCK (MCP environment only)<br />

The External Automatic Entry was sent, but a timeout has occurred at a server system<br />

while it is attempting to enter a transaction state. The timeout (60 seconds) will<br />

normally only occur at a database syncpoint. This status is most likely to occur with<br />

non-two-phase commit transactions.<br />

Possible solutions are as follows:<br />

v Set Two-Phase Commit.<br />

v Use smaller transactions (for example, use more frequent SLEEP commands in<br />

Reports).<br />

GLB.STATUS is *****<br />

non-OLTP Automatic Entries<br />

v Set the DMS II SYNCWAIT parameter to a value less than 60 seconds, by using the<br />

<strong>LINC</strong> DASDL options.<br />

For non-OLTP Automatic Entries, the following table shows the values of<br />

GLB.HUBSTATUS when GLB.STATUS is five asterisks (*****).<br />

1-40 v


GLB.HUBSTATUS Meaning<br />

AUTO; WRITE and AUTO; WRITE&CLEAR<br />

SECURITY.ERROR Username/usercode of sending <strong>LINC</strong> System does not have<br />

sufficient security to perform the Automatic Entry on the<br />

destination <strong>LINC</strong> System. Security is defined by using the <strong>LINC</strong><br />

Security Module (LSM).<br />

FATAL.ERROR An unrecoverable error occurred at the destination <strong>LINC</strong><br />

System.<br />

CYCLE.ERROR See text following the table<br />

INVALID ISPEC Ispec in the destination <strong>LINC</strong> System does not exist or is Usage<br />

Output.<br />

DEST.AMBIGUOUS (UNIX only) GLB.DESTINATION is not unique on the sending<br />

host. Specify a value in GLB.DESTENV to give uniqueness.<br />

TRAN.ERROR Processing of the External Automatic Entry in the destination<br />

<strong>LINC</strong> Server has set GLB.ERROR to *****. For example,<br />

attempts to insert using an existing key value, or to update<br />

using a non-existent key value will cause this error.<br />

DATABASE.ERROR An unrecoverable database error occurred in the receiving <strong>LINC</strong><br />

System.<br />

2PC.NOT.AVAIL An external Automatic Entry using two phase commit has been<br />

attempted to a destination system that does not support<br />

two-phase commit.<br />

DM.DEADLOCK (MCP environment only) An error occurred when a server<br />

transaction encountered a DMS deadlock error while<br />

attempting to lock a record. Entire server subtransaction is<br />

rolled back. To resolve error, set Two-Phase Commit; use<br />

smaller transactions (for example: more frequent sleeps from<br />

Reports); or set the DMSII DMSYNCWAIT parameter to a value<br />

less than 60 seconds, by using the <strong>LINC</strong> DASDL options.<br />

INVALID.RECALL An Ispec in the destination <strong>LINC</strong> System executed a RECALL;<br />

command.<br />

INVALID An entirely invalid action has been attempted.<br />

CYCLE.ERROR<br />

When GLB.HUBSTATUS is CYCLE.ERROR, external Automatic Entries have attempted to<br />

create a closed cycle. In a cycle, a <strong>LINC</strong> System sends an external Automatic Entry to a<br />

destination <strong>LINC</strong> System, and waits for acknowledgment from that System. The<br />

destination <strong>LINC</strong> System may itself send external Automatic Entries to other <strong>LINC</strong><br />

Systems before it sends this acknowledgment, and so on, creating a chain of Automatic<br />

entries for one transaction.<br />

v 1-41


AUTO; WRITE and AUTO; WRITE&CLEAR<br />

A closed cycle is formed if this chain tries to include the same System more than once; that<br />

is, a sending System (waiting for acknowledgment) is itself sent an Automatic Entry as part<br />

of the same transaction. That System would never be able to handle the incoming<br />

transaction, as it will never receive the acknowledgment it is waiting for.<br />

For example, suppose your System A sends an external Automatic Entry to System B,<br />

which needs to send an external Automatic Entry to System C before the transaction is<br />

complete. If System C then tries to send an external Automatic Entry to System A as part<br />

of this transaction, you have attempted to create a closed cycle, and the attempted<br />

external Automatic Entry from System C will receive this error notification.<br />

For OLTP Automatic Entries<br />

For OLTP Automatic Entries, the following table shows the values of GLB.HUBSTATUS<br />

when GLB.STATUS is five asterisks (*****).<br />

GLB.HUBSTATUS Meaning<br />

BAD USE OF OVI Client attempted to perform an external Automatic Entry using<br />

an OLTP View Ispec<br />

COMS SYSTEM ERR System interface error when receiving control information from<br />

the CRM (MCP based <strong>LINC</strong> Systems only)<br />

INTERSUBSYS RC; Transaction attempted to recall (using the RECALL; command)<br />

an Ispec in a different Subsystem (MCP based <strong>LINC</strong> Systems<br />

only)<br />

INVALID ISPEC Ispec was unknown at the server<br />

NO CONV. MODE Client attempted to use Conversational Mode<br />

NON-OLTP ISPEC The addressed Service Ispec is not OLTP-capable<br />

NON-2PC SERVER The addressed Service Ispec is not Two-Phase commit-capable<br />

when Two-Phase commit was requested<br />

OLTP SVC ERR A zero-length reply was unexpectedly received<br />

OLTP TP An error prevented the OLTP transaction from being processed<br />

OLTP TX Unable to communicate with OLTP TM while initiating an OLTP<br />

transaction<br />

TIMEOUT OLTP timed out waiting for a response from the server<br />

TRAN.ERROR GLB.ERROR was set, and no data returned<br />

RC; UNKNOWN Transaction attempted to RECALL; an unknown Ispec, or BYE or<br />

EXIT<br />

SWITCH CMD. Transaction attempted to perform a SWITCH; command<br />

1-42 v


<strong>Reference</strong>s<br />

AUTO; WRITE and AUTO; WRITE&CLEAR<br />

The following table lists possible values of GLB.HUBSTATUS when an OLTP transaction is<br />

aborted. These fatal result messages are not visible to user logic in <strong>LINC</strong>, but they are<br />

available to a user with non-<strong>LINC</strong> clients.<br />

GLB.HUBSTATUS Meaning<br />

DATABASE.ERROR Transaction received a fatal database error and aborted.<br />

DM.DEADLOCK Transaction received a database deadlock error and aborted.<br />

The initiator of the global transaction is responsible for<br />

performing any transaction retries.<br />

REPLY INV ISPEC Service attempted to reply from an Ispec which is not<br />

OLTP-capable. The transaction was aborted.<br />

TRANS.ABORTED Transaction performed an ABORT; command and then aborted.<br />

‘‘AUTO (AU) and AUTO.ARRAY (AUA)’’ and ‘‘AUTO.FORMAT (AF)’’.<br />

The Interfaces section in the <strong>LINC</strong> Operations Guide for the relevant host type.<br />

‘‘GLB.ERROR’’ and ‘‘GLB.HUBSTATUS’’.<br />

"External Automatic Entries" in your <strong>LINC</strong> Generate Operations Guide.<br />

"Online Transaction Processing (OLTP)" in your <strong>LINC</strong> Generate Operations Guide.<br />

BEGIN.CASE (BC)<br />

For details of this command, see ‘‘CASE (CS)’’.<br />

v 1-43


BEGIN.EDIT and END.EDIT<br />

BEGIN.EDIT and END.EDIT<br />

Syntax<br />

Examples<br />

The BEGIN.EDIT; and END.EDIT; commands delimit sequences of main logic that perform<br />

editing and validation of input data in a Copy.From Ispec. Although there may be multiple<br />

pairs, the logic contained in the various pairs is treated as a single unit called the<br />

Copy.From Edit Logic, which is executed in the validation phase of the Copy.From cycle.<br />

Any logic that may cause rejection of data must be coded as Copy.From Edit logic. AUTO;<br />

FLAG; or RECALL; commands cannot be included.<br />

In Copy.From Ispecs, MESSAGE; commands can be coded only within Pre-<strong>LINC</strong> and Edit<br />

logic. The MESSAGE; command sets GLB.ERROR to ***** (and so inhibits updating the<br />

database) only in the validation phase of the Copy.From cycle. MESSAGE; commands are<br />

not actioned in the update phase of the Copy.From cycle.<br />

The BEGIN.EDIT; and END.EDIT; commands are not implemented in LDA Run Time. Use<br />

Copy.From Edit logic instead.<br />

For details about Copy.From Ispecs in the <strong>LINC</strong> Cycle, see your <strong>LINC</strong> Generate<br />

Operations Guide.<br />

DDDD DDDD DDDD DDD4<br />

An Event named SALE is specified with MAX.COPIES of 5, starting from line 5. The Data<br />

items on line 5 are PRODUCT, QUANTITY, and AMOUNT. A CUSTOMER Data item is on<br />

line 3.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

This Copy.From edit loop will be cycled through 5 times. Any executed MESSAGE; or<br />

RECALL; command means that the edit loop fails, and the <strong>LINC</strong> database will not be<br />

updated. If the edit loop is successful, Pre-<strong>LINC</strong> and Main Logic (including the Copy.From<br />

edit loop) are processed MAX.COPIES times, and the database is updated (provided<br />

PRODUCT has a value).<br />

1-44 v


<strong>Reference</strong><br />

"Using the Copy.From Facility" in your <strong>LINC</strong> Generate Operations Guide.<br />

BEGIN.EDIT and END.EDIT<br />

v 1-45


BEGIN.LOOP (BG)<br />

BEGIN.LOOP (BG)<br />

Syntax<br />

Examples<br />

<strong>Reference</strong>s<br />

The BEGIN.LOOP; command allows a series of logic commands to be executed repeatedly.<br />

Loops can be nested within loops.<br />

A condition should be included to specify when the loop is to be broken.<br />

If the loop is closed with an END.EXIT; command, and that command is actioned (that is,<br />

the loop is not broken earlier by some other means), then the loop is not repeated, and the<br />

current Ispec or Report is exited as normal for an END.EXIT; command.<br />

DDD DDD DDBDDDDD DDDDDDBD4<br />

3 3<br />

CDDD DDD4<br />

3 3<br />

@D DY<br />

In the following example, if SORTQUES is an alphanumeric data item containing<br />

ZYXWVUTSRQPOMNLKJIHGFEDCBA, the result in SORTANS (which has LENGTH at<br />

least 26) is ABCDEFGHIJKLMNOPQRSTUVWXYZ.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Or, in a Report, the following logic could be used to print Frame 6 when a valid product<br />

name is input. The loop is used to repeat the prompt and input if an invalid product name is<br />

supplied.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

‘‘BREAK (BK)’’ and ‘‘JUMP.TO (JTO)’’, associated with a ‘‘DO.WHEN (DW)’’ to terminate<br />

the loop.<br />

1-46 v


BEGIN.LOOP (BG)<br />

‘‘END’’, ‘‘END.EXIT (EE)’’, and ‘‘END.NO.PRINT (ENP)’’, for terminating Ispec and Report<br />

logic.<br />

v 1-47


BEGIN.PAGE (BP)<br />

BEGIN.PAGE (BP)<br />

The BEGIN.PAGE; command designates a Frame that is to appear as a heading at the top<br />

of each new page of a Report. The BEGIN.PAGE; command does not generate a new page<br />

when it occurs.<br />

If several Frames are required as headings, use multiple BEGIN.PAGE; commands to<br />

specify the required Frames. The Frames are printed at the top of all subsequent pages in<br />

numerical frame order, not the order in which they are specified.<br />

The logic of the heading Frame is executed after the logic of the Frame currently being<br />

printed, during the printing of the Frame.<br />

The BEGIN.PAGE; CLEAR command cancels the definition of all headings. It causes an<br />

advance to a new page when the next frame is printed.<br />

Note: When the BEGIN.PAGE; CLEAR command is executed, GLB.LINECOUNT is set<br />

to 9999 to force the new page. Since the logic of the print frame is executed<br />

before the advance to new page occurs, the value of GLB.LINECOUNT is 9999,<br />

not 0.<br />

Reports Using <strong>LINC</strong> Report Output Control (ROC)<br />

An ADVANCE; NEW.PAGE command specified within a heading causes the heading to<br />

continue on the next page without restarting the heading. Use the END.NO.PRINT;<br />

command to suppress output.<br />

There is no limit on the length of the heading.<br />

Notes:<br />

$ If GLB.FORMDEPTH is set to zero, headings are not printed. In this case, use the<br />

PRINT.FRAME; command to print the headings you require.<br />

$ ROC is not available with LDA.<br />

Reports Not Using ROC<br />

During the definition of headings, the following situations may result in the creation of an<br />

infinite loop:<br />

$ An ADVANCE; NEW.PAGE command included within a heading<br />

$ An END.NO.PRINT; command in a heading<br />

$ The length of a heading equals or exceeds GLB.FORMDEPTH<br />

These situations should be avoided.<br />

1-48 v


Syntax<br />

Examples<br />

<strong>Reference</strong>s<br />

DD DBD DBDBDDDDDDDDDDDDDDDDDDDDDDDBD4<br />

3 33 3<br />

@D DY @D D DY<br />

Frame 1 has the display item LISTING OF DEPOSITS.<br />

Frame 2 has the display item LISTING OF WITHDRAWALS.<br />

Frame 3 has the headings CUSTOMER and AMOUNT.<br />

Frame 4 has the data items CUSTOMER and AMOUNT.<br />

A Report has the following logic.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

BEGIN.PAGE (BP)<br />

The first two BEGIN.PAGE; commands print LISTING OF DEPOSITS (Frame 1) then<br />

CUSTOMER and AMOUNTS (Frame 3).<br />

The DETERMINE; ACTUAL command creates a loop and retrieves information from the<br />

<strong>LINC</strong> database for printing (Frame 4).<br />

A new heading is created by first removing the old one (BEGIN.PAGE; CLEAR), and<br />

specifying the LISTING OF WITHDRAWALS heading (Frame 2), and Frame 3. Information<br />

is again retrieved through a DETERMINE; ACTUAL loop and printed (Frame 4).<br />

‘‘ADVANCE (AV)’’<br />

ROC and non-ROC Reports, in your <strong>LINC</strong> Administration and Operations Guide.<br />

v 1-49


BREAK (BK)<br />

BREAK (BK)<br />

Syntax<br />

Examples<br />

The BREAK; command is used to terminate a loop in the logic. The loop is interrupted at<br />

the point at which the BREAK; command is invoked, and processing continues after the<br />

end of the loop.<br />

The BREAK; ALL variant of the command terminates all current loops. In Insertable Global<br />

Logic, this includes loops in the logic into which the Global Logic is inserted. In<br />

Performable Global Logic, this does not include loops in the logic from which the Global<br />

Logic is performed.<br />

A BREAK; command executed in Frame logic will not terminate a loop from which the<br />

Frame was invoked. Logic must be provided to cater for such a requirement.<br />

DDDDD DDBDDDDDDDDDBDDDDDDDDDDDDDDDDDDDDDDDDDDDD4<br />

3 3<br />

@DD DDY<br />

Obtain a total for a customer’s invoice amounts:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Check a customer’s credit level:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

1-50 v


CALL<br />

CALL<br />

The CALL; command enables access to external routines or programs. For each target host<br />

type, you can use a CALL; command to access:<br />

$ MCP based Library procedures, by title or by System Library (SL) function name<br />

For MCP based <strong>LINC</strong> Systems, the CALL; BYFUNCTION variant gives you access to<br />

common user libraries that have been installed using the SL system command. For<br />

more details, see the following subsection ‘‘Using BYFUNCTION; with the CALL;<br />

Command’’.<br />

$ MCP based <strong>LINC</strong> Reports as Coroutines.<br />

$ OS 2200 based COBOL or Assembler programs or procedures, and <strong>LINC</strong> Subroutine<br />

Reports (in conjunction with the <strong>LINC</strong>SUB SGS)<br />

$ UNIX programs or routines, or the shell<br />

For UNIX <strong>LINC</strong> Systems, external COBOL programs exist as programs separate from<br />

the <strong>LINC</strong> System. Their location is contained in the environment variable COBPATH.<br />

$ Dynamic Linc Libraries (DLL)<br />

In LDA, the entry points used with the CALL: command to access DLLs are case<br />

sensitive.<br />

$ LDA Reports that have been specified as Able to be run as a Sub/Coroutine<br />

Parameter Passing<br />

Parameters can be passed by using the System Data item GLB.PARAM, whose value you<br />

must define before executing the CALL; command. Data returned from the routine also<br />

uses GLB.PARAM.<br />

Note: The internal common field used to pass this information is GLBPARAM (not<br />

GLB-PARAM), which enables access by programs written in a variety of<br />

languages.<br />

For information on passing parameters when using internal or external routines with the<br />

CALL; command, see your UNIX <strong>LINC</strong> Administration and Operations Guide.<br />

Checking of Operands<br />

No syntax checking is performed on the literal operands of the CALL; command. It is your<br />

responsibility to ensure that the literal operand conforms to the syntax requirements of the<br />

compiler you are using to generate the runtime system. If not, your generate will fail. It is<br />

also your responsibility to ensure the library procedure, routine, or program being called<br />

actually exists, and is able to be called at runtime. If not, the calling <strong>LINC</strong> System or Report<br />

will abort.<br />

For More Information<br />

For more details, see:<br />

$<br />

"Syntax" for each host type, later in this subsection<br />

v 1-51


CALL<br />

Syntax<br />

$ ‘‘Using BYFUNCTION; with the CALL; Command’’ (for MCP based <strong>LINC</strong> Systems),<br />

later in this subsection<br />

$ ‘‘Using Coroutines with the CALL; Command’’ (for MCP based <strong>LINC</strong> Systems), later in<br />

this subsection<br />

$ Your OS 2200 Based <strong>LINC</strong> Administration and Operations Guide (for OS 2200 based<br />

<strong>LINC</strong> Systems)<br />

$ The Interfaces section of your <strong>LINC</strong> Administration and Operations Guide for the<br />

relevant host type<br />

$ " CALL" in the LDA online help<br />

Note: The syntax of the CALL; command is different for UNIX, MCP and OS 2200<br />

based <strong>LINC</strong> Systems. The syntax for each host type is given separately in the<br />

following subsections.<br />

MCP Based Syntax<br />

D B D BDBDDDDDDDDDDDDDDBDDBD4<br />

3 33 3 3<br />

CDDDDDD DD DDDDDY@ Y 3<br />

3 3<br />

@DDDDDDDDDD DDD DDDDDDDDDDY<br />

literal 1<br />

A literal value containing the Procedure name. For COBOL routines, this value is always<br />

PROCEDUREDIVISION. The entry point identified by literal 1 is interpreted as being a<br />

function provided by the System Library. The CALL; command passes the contents of<br />

GLB.PARAM to that function, and causes the function to be performed.<br />

literal 2<br />

A literal value containing the name of the Library. Total length of literal 1 and 2 is not<br />

greater than 50 characters<br />

literal 3<br />

The literal value is the name of the Library (up to 50 characters), and must be the same as<br />

literal 2 in any CALL; commands that invoke functions in the Library.<br />

In the MCP SL command, you must specify the actual file title associated with this value.<br />

This parameter is ignored on other target host types.<br />

For more information, see ‘‘Using BYFUNCTION; with the CALL; Command’’, later in this<br />

section.<br />

1-52 v


eport<br />

CALL<br />

Indicates that a Report generated as a Coroutine is to be called by the CALL; command.<br />

You supply the name of the Report in report (a literal value of up to 56 characters), which<br />

must be in the form:<br />

<br />

The pack value defaults to the object pack for your <strong>LINC</strong> System.<br />

For more information, see ‘‘Using Coroutines with the CALL; Command’’, later in this<br />

section.<br />

usercode<br />

A literal containing the usercode of the Report or library, enabling you to include CALL;<br />

commands across usercodes (if this is permitted by your system security).<br />

OS 2200 Based Syntax<br />

DDDD DDD DDD DDDDDD4<br />

literal 1<br />

A literal value of up to 12 characters containing the Procedure name.<br />

literal 2<br />

UNIX Syntax<br />

Include either the literal (CANCEL) or a dummy literal.<br />

If you include (CANCEL), the dbank requirements for the subroutine will be discarded<br />

after it has been run. You are required to include a literal to satisfy the syntax of the<br />

command. If you do not include (CANCEL), the literal is ignored by the CALL; command.<br />

DDDDD DBD DD DBDDDDDDD4<br />

3 3<br />

CD DD D4<br />

3 3<br />

@DDDD DDDDDD DY<br />

data name 1 (INTERNAL;)<br />

A data item that contains the name (up to 14 characters) of a routine or process (program).<br />

The name is case sensitive. The value of the data item is interpreted as the name of a<br />

routine. Aroutine used in this way is a set of logic that is always called from some other<br />

logic; that is, it cannot be executed on its own.<br />

v 1-53


CALL<br />

A COBOL routine may be:<br />

$ A object code format (.o) routine bound into the lrts<br />

$ A native code file (.gnt), whose name must be in uppercase<br />

$ An interpretive code file (.int), whose name must be in uppercase<br />

The routines are searched for in order of precedence (bound routines are highest,<br />

interpretive are lowest).<br />

At runtime, if the called routine is not found, the <strong>LINC</strong> System will abort with a COBOL<br />

error.<br />

To bind object code format routines into the lrts, define the environment variable<br />

<strong>LINC</strong>II_DOT_O. This should be set to the name of the file that lists the object code files to<br />

be bound in to the lrts. This must be done before the system is generated.<br />

For information on passing parameters when using internal or external routines with the<br />

CALL; command, see your UNIX <strong>LINC</strong> Administration and Operations Guide.<br />

data name 2 (EXTERNAL;)<br />

A data item that contains the name (up to 14 characters) of a routine or process (program).<br />

The name is case sensitive. The value of the data item is interpreted as the name of a<br />

process (or program), which is a compiled program that may be executed in its own right.<br />

Caution<br />

If the EXTERNAL; command option is used, the called routine must not attempt to<br />

read from or write to the terminal.<br />

The value of the System Data item GLB.PARAM is used as an argument to this process.<br />

GLB.PARAM is also used to return data:<br />

$ The value NOTOK means that an error was detected in the execution of the command.<br />

$ Multiple lines of output are separated by newline characters.<br />

$ A null value is returned after the last byte of output. Use the System Data item<br />

GLB.LOW to test for null values.<br />

(:;) EXTERNAL;<br />

A two-character literal consisting of a colon followed by a semi-colon (:;) followed by<br />

EXTERNAL; . This names the Bourne shell as the process.<br />

1-54 v


LDA Syntax<br />

Caution<br />

If the EXTERNAL; command option is used, the called routine must not attempt to<br />

read from or write to the terminal.<br />

CALL<br />

The value of the System Data item GLB.PARAM is used as an argument to this process.<br />

GLB.PARAM is also used to return data, as described previously for the data name 2 value.<br />

DDDD DDD DDD DDDDDD4<br />

literal 1<br />

The name of your function (routine), up to 18 characters long.<br />

literal 2<br />

An alphanumeric Literal value of up to 18 characters containing the DOS pathname of your<br />

DLL. In cases where the DLL pathname is longer than 18 characters, open a DOS session<br />

and execute the following DOS command to associate the long path with a drive letter,<br />

before executing this <strong>LINC</strong> command. For example:<br />

<br />

If literal 2 does not include a period (.) then LDA will automatically append the suffix<br />

‘‘.DLL’’. Because the period character causes an error in an MCP based COBOL compile,<br />

you should leave the addition of the ‘‘.DLL’’ suffix to LDA. For example:<br />

<br />

willbeconvertedinLDARunTimeto:<br />

<br />

Note: The GLB.PARAM parameter is a character buffer. Numeric fields (like alpha<br />

fields) can be passed by using the ATTACH; Logic command or the DETACH;<br />

Logic command to add or remove them from GLB.PARAM, respectively.<br />

Using the CALL; Command in LDA<br />

The CALL; command provides an interface to non-<strong>LINC</strong> routines that are held in a Dynamic<br />

Link Library (DLL). It is your responsibility to ensure that the DLL being called exists.<br />

Each CALL to the same DLL will cause the DLL to be loaded; therefore, do not assume that<br />

values set within the DLL in a previous CALL; of the Library will be retained for the current<br />

CALL;.<br />

v 1-55


CALL<br />

The dllmgr.dll library supplied with LDA contains the LoadAndStick() and<br />

UnstickAndFree() functions to preload and retain a specific DLL. If you need to access<br />

those values in a subsequent CALL; command, call LoadAndStick() in dllmgr.dll to retain<br />

that DLL in memory and leave the values. When you no longer need those values, call<br />

UnstickAndFree(). The memory management of these values is your responsibility.<br />

Note: The entry points used with the CALL; command to access DLLs are case<br />

sensitive. For example, the entry point names to access the dllmgr.dll must be<br />

in the format LoadAndStick() and UnstickAndFree().<br />

The source, definitions, and make files for dllmgr.dll are also supplied with LDA. These are<br />

the dllmgr.c, dllmgr.def, and dllmgr.mak files.<br />

It is your responsibility to call UnstickAndFree() during the shutdown of LDA Run Time<br />

for each DLL preloaded using LoadAndStick().<br />

LDA supports the use of the CALL; command to run Reports as Coroutines or subroutines<br />

for:<br />

$ MCP based <strong>LINC</strong> Systems<br />

$ OS 2200 based <strong>LINC</strong> Systems<br />

Note: Use of Coroutines or subroutines to initiate Reports is not supported in UNIX.<br />

The implementation of the CALL; command varies depending on the target host.<br />

LDA and MCP based <strong>LINC</strong> Systems<br />

See ‘‘MCP Based Syntax’’ for a description of the syntax for calling a Coroutine from an<br />

MCP based <strong>LINC</strong> system.<br />

See ‘‘Using Coroutines with the CALL; Command’’ for a description of the implications of<br />

using a Coroutine to initiate a Report, instead of the standard <strong>LINC</strong> Report initiation<br />

process.<br />

LDA and OS 2200 based <strong>LINC</strong> Systems<br />

See ‘‘OS 2200 Based Syntax’’ for a description of the syntax for calling a Report from an<br />

OS 2200 target host.<br />

See your OS 2200 Based <strong>LINC</strong> Administration and Operations Guide for a description of<br />

using a subroutine to initiate a Report, instead of the standard <strong>LINC</strong> Report initiation<br />

process.<br />

Using BYFUNCTION; with the CALL; Command<br />

1-56 v


Introduction<br />

CALL<br />

For MCP based target hosts, using the BYFUNCTION; option with the CALL; command<br />

gives you access to common user libraries that have been installed using the SL system<br />

command. You do not have to embed the title of the library in the CALL; command that you<br />

use to access the libraries. Instead, your user-defined System Library names (as used in SL<br />

commands) can be used in the CALL; command, to identify the required library.<br />

For each of the library programs you want to access in this way, you must code an<br />

additional CALL; command that serves only to identify the library as called by function.<br />

This command is required once within each <strong>LINC</strong> Subsystem in which there is a CALL;<br />

command to a particular library, and once within each Report that calls that library.<br />

The initialization code associated with the command is unconditionally executed.<br />

Therefore, the Ispec or Global Logic containing the code does not need to be invoked to<br />

begin execution. The Ispec or Global Logic does, however, need to be included as part of<br />

your <strong>LINC</strong> System (or in a module of your <strong>LINC</strong> System).<br />

Reasons for Using BYFUNCTION; Command Option<br />

Reasons to use the BYFUNCTION; command option with the CALL; command are:<br />

$ You do not need to embed the Library title, including pack name, in your logic.<br />

$ You are not required to specify a usercode with the library name.<br />

Using the BYFUNCTION; Command Option<br />

In Reports, the BYFUNCTION; command option with the CALL; command is only valid in<br />

Main Logic (Frame 00). The actual CALL; commands can be anywhere in Report logic.<br />

If the command is included within your <strong>LINC</strong> Logic more than once (for example, because<br />

of Inserted Global Logics), then the initialization will be generated for each occurrence.<br />

Also, whenever a BYFUNCTION; command option is inserted, edited, or deleted,<br />

(including LCOPY operations), all Subsystems of the <strong>LINC</strong> Specification are regenerated<br />

when the <strong>LINC</strong> Specification is next generated.<br />

This creates overhead; thus it is recommended that you place this command in a standard<br />

location in your <strong>LINC</strong> Specification - for example, CLOSEDOWN Global Logic, where<br />

accidental maintenance can be avoided or minimized.<br />

Note: You must ensure that the libraries you call by function are first declared as<br />

System Libraries by using the SL command. If this is not done on site, the<br />

<strong>LINC</strong> program will be suspended, waiting for the library.<br />

When you wish to make changes to the functions of an SL library, you should consult with<br />

other users of the System Library, to prevent conflicting requirements.<br />

v 1-57


CALL<br />

Using Coroutines with the CALL; Command<br />

For an MCP based <strong>LINC</strong> System, you can generate <strong>LINC</strong> Reports as COBOL Coroutines<br />

that can then be called by using the CALL; command.<br />

Generating a Report as a Coroutine<br />

To specify that a Report is to be generated as a Coroutine, enter Y in the Generate as a<br />

Coroutine field on the MCP based Report Environmental Options screen.<br />

Reports generated as Coroutines cannot be run as normal <strong>LINC</strong> Reports.<br />

Coroutines can also be called from non-<strong>LINC</strong> programs. See the description of the CALL;<br />

command in your MCP Based <strong>LINC</strong> Administration and Operations Guide.<br />

Passing Parameters to Coroutines<br />

Use the System Data item GLB.PARAM to pass parameters to and from a Coroutine. It is<br />

good practise to include a GLB.FILLER item that makes the total parameter area length<br />

equal to the length defined in your <strong>LINC</strong> System.<br />

Execution of a Coroutine sets the System Data item GLB.CORSTATUS.<br />

Executing a Coroutine<br />

When executing a Coroutine:<br />

$ The System Data item GLB.INITSTN contains BATCH while the Coroutine is running.<br />

$ MESSAGE; and ACCEPT; commands function in the same way as they do for<br />

standalone Reports.<br />

$ CRITICAL.POINT; commands perform an end transaction and wait for any specified<br />

sleep time.<br />

$ SLEEP;UNTIL.WOKEN commands perform only an end transaction. WAKE.UP;<br />

commands are ignored by Coroutines.<br />

$ External Automatic Entries set GLB.STATUS to NODB.<br />

$ The value of the System Data item GLB.CORSTATUS is defined. See "Handling Errors<br />

from Coroutines", later in this section.<br />

$ If the Coroutine enters transaction state, it will exit from transaction state before it<br />

returns to the calling program.<br />

$ Extract files and print files are closed, before returning to the calling program.<br />

$ There is no Report recovery.<br />

$ The Coroutine remains linked to the calling program until EOJ .<br />

Handling Errors from Coroutines<br />

Executing Coroutines with the CALL; command sets the System Data item<br />

GLB.CORSTATUS. Values of GLB.CORSTATUS are contained in the following table.<br />

1-58 v


Examples<br />

Value Execution<br />

spaces Successful<br />

MWAIT Failed: resource deadlock exceeded the system MAXWAIT timeout<br />

DMERR Failed: fatal DMS error<br />

INVKY Failed: invalid key in <strong>LINC</strong>NET file<br />

PRINT Failed: Coroutine restarted after approaching limit of 1000 file opens<br />

permitted in a BD file<br />

***** Failed: unspecified error<br />

MCP environment<br />

The following logic calls the procedure CALCULATOR in the library MY/LIBRARY:<br />

<br />

CALL<br />

For an MCP based <strong>LINC</strong> System, this logic results in the following generated COBOL code:<br />

<br />

The following logic runs the LCORTEST Coroutine report from the <strong>LINC</strong> Specification<br />

named TEST, under the usercode (TESTUSER).<br />

<br />

The following logic calls the CALCULATION procedure in your System Library<br />

(SITEFUNCTIONS). This library must have been installed by using the following ODT<br />

command (SL SITEFUNCTIONS = library).<br />

<br />

<br />

OS 2200 environment<br />

The following logic calls the procedure MYROUTINE:<br />

<br />

UNIX environment<br />

The following logic commands list the files in the current directory:<br />

<br />

<br />

The following command calls the bound routine CALCULATOR:<br />

<br />

v 1-59


CALL<br />

<strong>Reference</strong>s<br />

‘‘GLB.PARAM’’.<br />

1-60 v


CASE (CS)<br />

Syntax<br />

CASE (CS)<br />

The CASE; command is the central part of a case statement, which enables multiple<br />

actions selected by the case variable to be specified. This is an efficient alternative to using<br />

multiple DO.WHEN; commands.<br />

The commands used to define a case statement are summarized in the following table.<br />

Command Abbreviation Function<br />

BEGIN.CASE; BC; Start of the case statement<br />

CASE; CS; Case condition<br />

OTHERWISE; OW; Default case condition<br />

END.CASE; EC; End of the case statement<br />

Each command (and all enclosed logic commands) must start on a new line.<br />

A BEGIN.CASE; (BC;) command specifies a data item against which values defined by<br />

CASE; commands are compared.<br />

If any of the values specified matches that of the data item, the following logic (up to the<br />

next case condition) is performed and execution continues from the END.CASE; (EC;)<br />

command associated with the case statement.<br />

The OTHERWISE; (OW;) command can be used to specify logic to be performed when no<br />

other case conditions with the CASE; statement apply.<br />

Case statements may be nested to nine levels deep, including the use of case statements<br />

within the logic associated with the OTHERWISE; command.<br />

DDDD DD DDDDDDDDDDDDDDDDDDDDDDDD <br />

ZDDDDDDDDDDDDDD?<br />

3 3<br />

DDDD DAD DADDDDDDDDDDDDDDDDDDDDDDDDDD <br />

DDDDDBDDDDDDDDDDDDDDDDDDDDBDDDDDDDDDDDDDDDDDDDDDDDBDDD <br />

3 3 3<br />

@DD DDY CDDD <br />

3<br />

@DDD <br />

DDDD DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD <br />

DDDD DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD <br />

DDDD DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD4<br />

v 1-61


CASE (CS)<br />

data item 1<br />

A valid data item name. The System Data items GLB.SPACES and GLB.ZEROS are not<br />

valid.<br />

data item 2<br />

A data item or literal (up to 18 characters long), giving a value that defines the specific<br />

case, where data item 1 has that same value. More than one data item or literal value can<br />

define any one case.<br />

The following table shows the types of data item 1 that can be compared to each type of<br />

data item 2. For example, if data item 2 is a pure Kanji data item, it can only be compared<br />

with another Kanji data item in data item 1.<br />

If data item 2 is... Then data item 1 can be...<br />

Alpha A<br />

Alpha Literal A<br />

Numeric ANSCD<br />

Numeric Literal ANSCD<br />

Signed ANSCD<br />

Signed Decimal Literal ANSCD<br />

Decimals ANSCD<br />

Date ANSCD<br />

Kanji K<br />

GLB.ZEROS ANSCDK<br />

GLB.SPACES, GLB.HIGH,<br />

GLB.LOW<br />

Legend<br />

A Alpha<br />

N Numeric<br />

S Signed<br />

C Decimals<br />

D Date<br />

K Kanji<br />

1-62 v<br />

AK


Examples<br />

<strong>Reference</strong>s<br />

CASE (CS)<br />

In the following example of Report main logic, all EMPLY Ispecs are accessed to obtain<br />

employee details. Depending on the department each employee works in, their details are<br />

either extracted to one of four predefined Extract Files (A, J, M, or C), or ignored (for<br />

departments S and T, and invalid departments). Employees with invalid department codes<br />

are listed (by printing Frame 90).<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

‘‘DO.WHEN (DW)’’<br />

‘‘JUMP.TO (JTO)’’ for restrictions on branching and case statements.<br />

v 1-63


CLEAR.ARRAY; (CLA)<br />

CLEAR.ARRAY; (CLA)<br />

The CLEAR.ARRAY; command clears the entire contents of a Setup Data array or Global<br />

Setup Data array in a single operation. If the array is alphanumeric, each element is set to<br />

spaces. If the array is numeric, each element is set to zero.<br />

The data item used to index the array is not reset by this command.<br />

Syntax<br />

DDD DDDDDDDDD DDDDDDDDDDDDDDD4<br />

Here data name is a Setup Data array or Global Setup Data array.<br />

1-64 v


COMPUTE (COMP) and COMPUTE.FROM (CMP, CF)<br />

COMPUTE (COMP) and COMPUTE.FROM (CMP, CF)<br />

Syntax<br />

The COMPUTE; and COMPUTE.FROM; commands enable the entry of free-form<br />

expressions involving arithmetic operations and data items.<br />

The result of the calculation is stored in a numeric data item.<br />

$ For the COMPUTE; command, the data item is named as part of the command.<br />

$ For the COMPUTE.FROM; command, the data item must be a Setup Data item, defined<br />

immediately before the COMPUTE.FROM; command.<br />

Note: The COMPUTE.FROM; command is not implemented in LDA Run<br />

Time.<br />

Calculations are performed in the standard mathematical order of precedence for<br />

arithmetic operators, and from left to right.<br />

When using the COMPUTE; and COMPUTE.FROM; commands:<br />

$ The System Data item GLB.STATUS is not affected by either of these commands. Use<br />

the GLB.STATUS; command (in LDA, the GS; command) to test for a divisor of zero or<br />

arithmetic overflow. If either occurs, the result is set to zero. (You could include logic<br />

to test for a divisor of zero before the COMPUTE; or COMPUTE.FROM; commands are<br />

executed.)<br />

$ A maximum of fifteen operands may be used in a COMPUTE; command.<br />

In LDA, the maximum is 98 operators and 99 operands.<br />

$ Data items and operators in the COMPUTE; or COMPUTE.FROM; command must be<br />

separated by at least one space.<br />

$ If the receiving data item in a COMPUTE; or COMPUTE.FROM; command does not<br />

allow sufficient decimal places for precision, the result will be truncated (rather than<br />

rounded).<br />

$ In host <strong>LINC</strong>, if you do not use the GLB.STATUS; command in your arithmetic logic<br />

and you divide by zero, your program will abort.<br />

DDDDD DDDDDDDDDDBD DDDD <br />

3<br />

DDDDD DD DDY<br />

ZDDDD?<br />

ZDDDDDDDDDDDY @DDDDDDDDDDDDD?<br />

3 3<br />

DDDDDDDADDD DD DDAD DDDDDDD4<br />

data item<br />

A previously defined data item into which the result is to be placed.<br />

v 1-65


COMPUTE (COMP) and COMPUTE.FROM (CMP, CF)<br />

Examples<br />

operator<br />

An arithmetic operator symbol value from the following table.<br />

Delimit all operators with spaces.<br />

COMPUTE; Example<br />

Symbol Arithmetic Operator<br />

+ Addition<br />

- Subtraction<br />

* Multiplication<br />

/ Division<br />

** Exponentiation<br />

In the following result, the total price and tax price are calculated.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

COMPUTE.FROM; Example<br />

Three signed numeric data items AMOUNT, AMOUNT1, and TOTAL are declared in an<br />

Event. A Setup Data item named SDTWO has a value of 2.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

1-66 v


<strong>Reference</strong>s<br />

COMPUTE (COMP) and COMPUTE.FROM (CMP, CF)<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

‘‘Setting of GLB.STATUS’’<br />

v 1-67


CONTRA (CN)<br />

CONTRA (CN)<br />

Syntax<br />

Example<br />

<strong>Reference</strong>s<br />

The CONTRA; command changes the sign of a data item. This is equivalent to changing a<br />

debit to a credit, or a credit to a debit.<br />

The data item must be numeric and signed (ED; C, ED; S, ED; -, or ED; +). See the EDIT;<br />

Data Attribute for further details.<br />

DDDDD DDDDDD DDDDDDDDDDDDDDDDDDD4<br />

<br />

"EDIT (ED)" in your <strong>LINC</strong> Generate <strong>Reference</strong> <strong>Manual</strong>: Painter and Editor.<br />

1-68 v


CRITICAL.POINT (CP)<br />

CRITICAL.POINT (CP)<br />

The CRITICAL.POINT; command is used in Reports to enable easy and rapid recovery<br />

following a system failure.<br />

Restrictions on CRITICAL.POINT; commands<br />

For an MCP based <strong>LINC</strong> System, CRITICAL.POINT; commands are not allowed with<br />

Reports being output to Video.<br />

There is a maximum limit of 99 Critical Points in one Report.<br />

The CRITICAL.POINT; command can be inserted anywhere in main Report logic, except<br />

within DETERMINE or LOOK.UP loops. It may be necessary to include logic to exit such<br />

loops before performing a Critical Point.<br />

What Happens at a Critical Point<br />

During normal operation, the following processes occur at a Critical Point:<br />

$ Recovery data is moved from memory to the <strong>LINC</strong> database.<br />

$ In Direct Reports printed under the <strong>LINC</strong> Report Output Control System (ROC), all<br />

print files are released, and completed parts of Direct Reports are printed. For a UNIX<br />

<strong>LINC</strong> System, if output is being directed to a file, this means that a new output file is<br />

created for each release. For LDA, all print files are released and all disk files (such as<br />

extract files) are closed. The release of print files can be inhibited by including the<br />

NO.RELEASE; command option.<br />

$ Profile information is reset. This means that after the Critical.Point, data must be<br />

retrieved from the <strong>LINC</strong> Database before FLAG; commands can be used successfully.<br />

Automatic Entries will function correctly without additional retrieval.<br />

Ensure that reference data items are brought into memory by DETERMINE; or<br />

LOOK.UP; commands before executing the CRITICAL.POINT; command.<br />

$ For UNIX and MCP based <strong>LINC</strong> Systems, an end-of-transaction is forced. (For an MCP<br />

based <strong>LINC</strong> System, in a <strong>LINC</strong> Report (including a <strong>LINC</strong> Report generated as a<br />

Coroutine), the CRITICAL.POINT; command performs an end transaction and then<br />

waits for any specified sleep time. See the CALL; command for details of Coroutines.)<br />

$ On OS 2200 based <strong>LINC</strong> Systems, a COMMIT of database updates occurs.<br />

$ For performance reasons, ensure that the number of Critical Points used is not<br />

excessive.<br />

$ Extract files that were open for output are CLOSED.<br />

On Recovery<br />

When recovery takes place after a system failure, the Critical Point performs an automatic<br />

read of recovery data back into memory and resumes processing at the instruction<br />

immediately following the most recently processed CRITICAL.POINT; command.<br />

v 1-69


CRITICAL.POINT (CP)<br />

For files being written at the last Critical Point, Report Recovery will automatically restart<br />

writing the Report from the record written at the last Critical Point. For files being read at<br />

the last Critical Point, Report Recovery will restart reading at the beginning of the file. If<br />

you find that this is not what you require, you must save the current record number,<br />

GLB.RECORDx, in the Critical Point data block and restore the value of GLB.RECORDx if<br />

the Report is restarted.<br />

Where to include Critical Points<br />

The CRITICAL.POINT; command should be used at important points in the processing<br />

cycle of the Report, such as after a record is read, but before it is written. This means that<br />

data stored for recovery is the data about to be processed.<br />

For an MCP based <strong>LINC</strong> System, regular Critical Points should be included to avoid delays<br />

at sync points and control points, when other programs using the database may be<br />

suspended waiting for this Report.<br />

For a UNIX based <strong>LINC</strong> System, regular Critical Points should be included to avoid delays<br />

in committing the locked records, when other programs using this database may be<br />

suspended waiting for this Report.<br />

OLTP<br />

Use of this command with OLTP is described in your <strong>LINC</strong> Generate Operations Guide.<br />

Critical Points in Reports Using ROC<br />

Standard ROC Reports write output to the ROC tables in the <strong>LINC</strong> Database. For MCP and<br />

OS 2200 based <strong>LINC</strong> Systems, if the database is not in transaction state when data has to<br />

be written to a ROC data structure, a transaction state will be started for the database<br />

update, and then immediately end. For a UNIX <strong>LINC</strong> System, the database will stay in<br />

transaction state until a Critical Point.<br />

ROC database activity does not affect user database activity, and so CRITICAL.POINT;<br />

commands (or SLEEP; commands) are not required to avoid long database transactions<br />

due to ROC database activity.<br />

At a Critical Point, all output for a Report is written to the database so that it may be<br />

recovered. On resumption of the Report, output continues to the same database files. The<br />

current files are not released.<br />

On recovery, the System Data items GLB.FORMDEPTH, GLB.PITCH, GLB.LINECOUNT,<br />

GLB.PAGECOUNT, and GLB.STN are returned to their current values as at the last<br />

CRITICAL.POINT. All other System Data items are set to the values held at the time of first<br />

output to the current print file.<br />

Note: ROC is not available with LDA.<br />

1-70 v


Storage of Recovery Data<br />

Syntax<br />

CRITICAL.POINT (CP)<br />

The CRITICAL.POINT; command uses a special Critical Point Group Setup Data item or<br />

Global Setup Data item (CP-GROUP-SD) to store the required recovery data.<br />

The CP-GROUP-SD item is named on the Report Options screen in the Critical Point SD<br />

field, and its characteristics are declared in the logic of the Report. CP-GROUP-SD may<br />

have a maximum size of 2,000 characters.<br />

The required recovery data must be stored in the CP-GROUP-SD item prior to each<br />

CRITICAL.POINT; command. Typically, such data consists of running totals being<br />

accumulated in memory, and details that will enable <strong>LINC</strong> to identify the record to be<br />

processed.<br />

The Extract file activities related to the CRITICAL.POINT; command are shown in the<br />

following table.<br />

File Status Temporary Extract<br />

File<br />

Not open for<br />

output<br />

Permanent Extract<br />

File<br />

No action No action No action<br />

Existing Extract File<br />

Open for output Closed/Reopened Closed/Reopened Closed/Reopened<br />

D DBDDDDDDDDDDDDDDDDDDBDBDDDDDDDDDDDDDBD4<br />

3 33 3<br />

@ D Y@ Y<br />

SLEEP; seconds<br />

The SLEEP; command option causes the Report to be suspended for the number of<br />

seconds (0 to 9999) specified by either the constant or the numeric data item seconds.<br />

Note: Do not confuse this command option with the SLEEP; command, whichisnot<br />

valid in Reports that contain CRITICAL.POINT; commands.<br />

Suspension occurs immediately the CRITICAL.POINT; command is executed, and this<br />

frees access to the <strong>LINC</strong> database. The Report is activated after the specified time lapse,<br />

and then performs any activity that may have accumulated for it. The Report is also<br />

activated by an explicit WAKE.UP; command.<br />

If the SLEEP; command option is not specified or has a zero time value, the Report will<br />

continue immediately after the end-of-transaction processing is complete.<br />

v 1-71


CRITICAL.POINT (CP)<br />

Example<br />

NO.RELEASE;<br />

The default is for printed output for ROC Direct Reports and non-ROC Reports to be<br />

released when a CRITICAL.POINT; command is executed. The NO.RELEASE; command<br />

option prevents this release. It has no effect in ROC Standard Reports. All output is written<br />

for all print files when the CRITICAL.POINT is executed.<br />

NO.RELEASE can be abbreviated as NR.<br />

The following example shows the use of the CRITICAL.POINT; command.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

1-72 v


<strong>Reference</strong>s<br />

<br />

<br />

<br />

<br />

<br />

CRITICAL.POINT (CP)<br />

In this example, the CRITICAL.POINT; command is executed after every 500 records.<br />

Suppose a failure occurs after record 4,438 has completed. The system will then be restored<br />

to the condition it was in at record 4,000, and processing will restart from record 4,001.<br />

‘‘GLB.RECOVER’’, in Section 2. (This can be accessed through logic to identify the status of<br />

a recovery following a system failure.)<br />

‘‘GLB.TRANSTATE’’, in Section 2.<br />

‘‘WAKE.UP (WU)’’.<br />

‘‘SLEEP (SLP)’’.<br />

v 1-73


CURSOR (CU)<br />

CURSOR (CU)<br />

Syntax<br />

The CURSOR; command positions the cursor on an Ispec screen Data item or Ordinate<br />

when the screen is displayed. It overrides the Cursor field field on the Ispec Options<br />

screen.<br />

If multiple CURSOR; commands are specified, the last one determines the position of the<br />

cursor.<br />

For MCP and OS 2200 based <strong>LINC</strong> Systems only, the cursor can be positioned at the end of<br />

the page, by including the GLB.EOP command option. For UNIX <strong>LINC</strong> Systems, the use of<br />

GLB.EOP is ignored unless full page transmission has been disabled.<br />

Note: Cursor positioning has no effect when multiple error messages are displayed<br />

(on Page 2).<br />

OLTP<br />

Examples<br />

This command is not available with OLTP, and is ignored in LDA Run Time.<br />

DDD DDBDD DDBDDDDDDDDDDDDDDDDDDDD4<br />

3 3<br />

@DDD DDDY<br />

In this example, the cursor is positioned on the Data item PRICE, which has invoked an<br />

error condition:<br />

<br />

<br />

<br />

<br />

To position the cursor at end-of-page:<br />

<br />

1-74 v


DATE.CONVERT (DC)<br />

The DATE.CONVERT; command converts dates between date formats.<br />

There are two forms of the DATE.CONVERT; command:<br />

DATE.CONVERT (DC)<br />

$ The complex form performs the conversion and updates either a series of System Data<br />

items, enabling the date to be accessed in various formats, or a single user data item in<br />

a specified format. It can also be used just to perform date editing.<br />

$ The simple form uses the System Data item GLB.TOTAL as either the source or<br />

destination of a relative day number, and offers simple conversion to or from a date.<br />

Note: The recommended form for the DATE.CONVERT; command is the complex<br />

form.<br />

Further details of each form are given in the following subsections.<br />

Complex Form<br />

Description of Use<br />

The complex form of the DATE.CONVERT; command has the following features:<br />

$ Convert the value of a data item in a format you specify, storing the result in a series of<br />

System Data items that have the prefix GLB.DC-.<br />

These System Data items are cleared before the DATE.CONVERT; command is<br />

executed. For a list of the GLB.DC- data items available to you after successful<br />

execution of the complex DATE.CONVERT; command, see Section 2.<br />

$ Modify the result of date conversion, by adding or subtracting a number of days from<br />

the input date value.<br />

$ Convert the value of a data item, into a format you specify, into another data item with<br />

a date format that you specify. (The remaining GLB.DC- items are undefined.)<br />

$ Validate the value of a data item (with EDIT.ONLY; command option). (The GLB.DCitems<br />

are undefined, and GLB.CENTURY is not set.)<br />

$ May set GLB.CENTURY.<br />

Complex DATE.CONVERT; commands set GLB.CENTURY if you entered Y in the DC;<br />

sets GLB.CENTURY field on the Primary Specification Options screen. If you entered<br />

N, GLB.CENTURY is not changed automatically. In LDA, both forms of the<br />

DATE.CONVERT; command set GLB.DC-CC.<br />

Note: If you use historic dates, dates are not adjusted for past changes in the<br />

calendar.<br />

v 1-75


DATE.CONVERT (DC)<br />

Restrictions<br />

The following restrictions apply to the DATE.CONVERT; command:<br />

$ The handling of signed numerics in Group items by the DATE.CONVERT; command<br />

varies, depending on the compiler implementation. If you use numeric items within a<br />

Group for handling dates, they should be unsigned.<br />

$ There is a limit of 999999 days conversion on relative day number, starting from 1<br />

January of your base year.<br />

$ Numeric inputs to the DATE.CONVERT; cannot be more than 23 characters in length.<br />

Use of GLB.BASE and GLB.CENTURY<br />

The conversion is based upon a base date defined by the System Data items GLB.BASE,<br />

GLB.CENTURY, and GLB.CENTURY-START.<br />

How GLB.BASE is used<br />

GLB.BASE is used in the following ways:<br />

$ GLB.BASE is set on your Primary Specification Options screen, when defining your<br />

<strong>LINC</strong> Specification. The base year defaults to 1957. The valid range is 1 through 9999.<br />

$ The relative day number of January 1 of the base year is 0. The relative day number<br />

field is a six-digit numeric field.<br />

$ Dates prior to the base year are invalid. However, as described in "Deducing the<br />

Century for Six Digit Dates", the value of GLB.CENTURY may be adjusted<br />

automatically (if the value of GLB.CENTURY is zero or is the same century as<br />

GLB.BASE) to ensure that dates are valid. See also ‘‘Invalid Input Dates’’, later in this<br />

section.<br />

$ You can define the working range of dates (of 100 years) for your <strong>LINC</strong> System by<br />

using the System Data item, GLB.CENTURY-START, and by using the Supervisor<br />

command SCENTURY. The working range is used to interpret six digits dates, as<br />

described in "Deducing the Century for Six Digit Dates".<br />

Deducing the Century for Six Digit Dates<br />

The value of GLB.CENTURY can be set before the DATE.CONVERT; command, if your<br />

input date does not contain the century (it is a six digit date). This is required if the century<br />

of the input date is different from the <strong>LINC</strong> default century.<br />

When GLB.CENTURY is zero or is the same century as GLB.CENTURY-START, date<br />

conversion sets GLB.CENTURY, as follows:<br />

$ If the year is equal to or greater than GLB.CENTURY-START year, then<br />

GLB.CENTURY is not set.<br />

1-76 v


DATE.CONVERT (DC)<br />

$ If the year is less than the GLB.CENTURY-START year, GLB.CENTURY is the<br />

following century.<br />

Once GLB.CENTURY has been set to a value other than 0 or the century of the base year, it<br />

remains set until explicitly changed or an invalid date is entered.<br />

Examples<br />

For example, GLB.CENTURY-START is 1957 (the same as GLB.BASE) and GLB.CENTURY<br />

is 0 (or 19).<br />

$ The years 57 through 99 represent 1957 through 1999.<br />

$ The years 00 through 56 represent 2000 through 2056.<br />

If you perform a date conversion with a year 50 followed by years of 60 and 70, andthe<br />

DC; sets GLB.CENTURY field on the Primary Options screen is set to Y, the date<br />

conversion will set GLB.CENTURY to 20 (as 1950 is prior to the value of<br />

GLB.CENTURY-START), and the years are interpreted as 2050, 2060, and2070.<br />

Special Date Conversions<br />

Date conversion of the values of the following six-digit dates will not use GLB.CENTURY.<br />

The current century will be used.<br />

$ GLB.TODAY (TODAY)<br />

$ GLB.TODAYS-DATE-NUM (TODAYS-DATE-NUM)<br />

$ GLB.YYMMDD<br />

$ INPUT-DATE<br />

Invalid Input Dates<br />

If the date involved is invalid, GLB.STATUS is set to *****. Alternatively, the GLB.STATUS;<br />

command may be used to direct the result to a data item. It is important to test for an error<br />

whenever the DATE.CONVERT; command is used.<br />

GLB.STATUS is set to five asterisks (*****) under any one of the following circumstances:<br />

$ Invalid input date is supplied, for example 31 February 1998.<br />

$ Input date is prior to the start of the GLB.BASE year.<br />

Note: GLB.CENTURY may be adjusted automatically to ensure that the<br />

date is valid. For details, see ‘‘Use of GLB.BASE and<br />

GLB.CENTURY’’, earlier in this section.<br />

If GLB.STATUS is set to five asterisks, date conversion is still performed, but using the<br />

current date. If the current date is invalid (for example, it is prior to the start of the base<br />

year), then 1 January of the base year is used as input.<br />

v 1-77


DATE.CONVERT (DC)<br />

Syntax<br />

DD DD DBDDDDDDDDDDDDDBDDDDDDDDDDDDDDDDDD <br />

3 3<br />

@D DY<br />

DD DD DBDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBD4<br />

3 3<br />

CD DD DD D4<br />

3 3<br />

@DDDDDDDDDDDDD DDDDDDDDDDDDDY<br />

data item 1<br />

An alphanumeric or numeric data item. If data item 1 is numeric, then format 1 is<br />

restricted to the numeric formats listed in the table of data item formats in the following<br />

subsection.<br />

increment<br />

Use a plus (+) or minus (-) sign followed by either a numeric literal,ornumeric data item<br />

if you require your resulting date to be offset from the input date by the specified number<br />

of days.<br />

FORMAT; format 1<br />

This specifies the format of data item 1. Theformat 1 value must be one of the formats<br />

specified in the table of data item formats, in the following subsection. FT is a valid<br />

abbreviation for FORMAT.<br />

data item 2<br />

Alpha or numeric receiving field. If it is numeric, then format 2 is restricted to the numeric<br />

formats listed in the table of data item formats, in the following subsection.<br />

FORMAT; format 2<br />

This specifies the format of data item 2. Theformat 2 value must be one of the formats<br />

specified in the table of data item formats, in the following subsection. FT is a valid<br />

abbreviation for FORMAT.<br />

After DATE.CONVERT; executes with this command option, the values contained in the<br />

GLB.DC- items will be undefined.<br />

EDIT.ONLY;<br />

Validate the date value of data item 1.<br />

After DATE.CONVERT; executes with this command option, the values contained in the<br />

GLB.DC- items will be undefined.<br />

1-78 v


Data Item Formats<br />

DATE.CONVERT (DC)<br />

The following table lists the formats you can specify in the complex DATE.CONVERT;<br />

command. (The Example column values are set based on a GLB.BASE of 1957.)<br />

Date Items Length, Edit Format Example<br />

DAYNUM 6N nnnnnn 13960<br />

UK-ALPHA 25 A DDbMMMMMMbCCYY 23 MARCH 1998<br />

US-ALPHA 25 A MMMMMMbDDbCCYY MARCH 23 1998<br />

IN-ALPHA 25 A CCYYbMMMMMMbDD 1998 MARCH 23<br />

DD-MM-YY 8A DD/MM/YY 23/03/98<br />

DD-MM-CCYY 10 A DD/MM/CCYY 23/03/1998<br />

DD-MMM-YY 9A DDbMMMbYY 23 MAR 98<br />

DD-MMM-CCYY 11 A DDbMMMbCCYY 23 MAR 1998<br />

DDMMMYY 7A DDMMMYY 23MAR98<br />

DDMMMCCYY 9A DDMMMCCYY 23MAR1998<br />

DDMMYY 6N DDMMYY 230398<br />

DDMMCCYY 8N DDMMCCYY 23031998<br />

MM-DD-YY 8A MM/DD/YY 03/23/98<br />

MM-DD-CCYY 10 A MM/DD/CCYY 03/23/1998<br />

MMDDYY 6N MMDDYY 032398<br />

MMDDCCYY 8N MMDDCCYY 03231998<br />

MMM-DD-YY 9A MMMbDDbYY MAR 23 98<br />

MMM-DD-CCYY 11 A MMMbDDbCCYY MAR 23 1998<br />

MMMDDYY 7A MMMDDYY MAR2398<br />

MMMDDCCYY 9A MMMDDCCYY MAR231998<br />

YY-MM-DD 8A YY/MM/DD 98/03/23<br />

CCYY-MM-DD 10 A CCYY/MM/DD 1998/03/23<br />

YY-MMM-DD 9A YYbMMMbDD 98 MAR 23<br />

CCYY-MMM-DD 11 A CCYYbMMMbDD 1998 MAR 23<br />

YYDDD 5N YYDDD 98082<br />

CCYYDDD 7N CCYYDDD 1998082<br />

continued<br />

v 1-79


DATE.CONVERT (DC)<br />

Examples<br />

continued<br />

Date Items Length, Edit Format Example<br />

YYMMDD 6N YYMMDD 980323<br />

CCYYMMDD 8N CCYYMMDD 19980323<br />

YYMMMD 6A YYMMMDD 98MAR23<br />

CCYYMMMDD 9A CCYYMMMDD 1998MAR23<br />

TODAY 15 A MONDAY<br />

WEEKNO 2N 13<br />

In the following example, the value of the specified data item as a relative day number, is<br />

converted, and the results stored in the GLB.DC System Data items. The command status<br />

is stored in GLB.STATUS.<br />

<br />

In the next example, the value of the TRAN-DATE input date, in the format YYMMDD, is<br />

converted to the form CCYY-MMM-DD, and stored in DB-DATE.<br />

<br />

In the next example, the century is non-current, so it is stored in GLB.CENTURY prior to<br />

converting TRAN-DATE, in format YYMMDD. The results are stored in the GLB.DC System<br />

Data items.<br />

<br />

<br />

In the next example, the date, 45 days after ORDERDAY (IN DAYNUM format), is<br />

converted, and is stored in the GLB.DC System Data items.<br />

<br />

In the next example, the date, NUM-DAYS before GLB.TODAY (IN YYMMMD format), is<br />

converted, and is stored in the GLB.DC System Data items. Note that if NUM-DAYS is<br />

signed, its sign will be ignored.<br />

<br />

In the next example, the date held in the data item BIRTH-DATE is converted to a relative<br />

day number, and stored in the GLB.TOTAL System Data item. The value of GLB.STATUS is<br />

directed to SDERROR.<br />

<br />

1-80 v


Simple Form<br />

DATE.CONVERT (DC)<br />

In the next example, TRAN-DATE with the format YYMMDD is validated. GLB.STATUS<br />

will contain five asterisks (*****) if the date is invalid. There is no output conversion.<br />

<br />

The simple form of the DATE.CONVERT; command uses the System Data item<br />

GLB.TOTAL, and is based upon the fixed base date of January 1, 1957. The relative day<br />

number for the base date is zero.<br />

DATE.CONVERT; TO.DATE takes the relative day number from GLB.TOTAL, converts it to<br />

a date, and moves the result into the specified data item. DATE.CONVERT; TO.ALPHA<br />

works in the same way. With both variants, the form of the data item determines the form<br />

of the result date (alphanumeric or numeric form). For more details on valid edit types, see<br />

‘‘Data Item Formats’’, earlier in this section.<br />

DATE.CONVERT; TO.DAYNUMBER takes the date contained in the data item, converts it<br />

to a relative day number, and moves the result into GLB.TOTAL.<br />

If the date involved is invalid, GLB.STATUS is set to *****. Alternatively, the GLB.STATUS;<br />

command may be used to direct the result to a data item. It is important to test for an error<br />

whenever the DATE.CONVERT; command is used.<br />

Syntax of the Simple Form<br />

Restrictions<br />

DDD DDBDD DDBDD DD4<br />

3 3<br />

CDDDD DDDDD4<br />

3 3<br />

@DDDD DDDDY<br />

You cannot use the simple form of the DATE.CONVERT; command with:<br />

$ 8-digit dates<br />

$ Hankaku-Katakana characters<br />

The handling of signed numerics in Group items by the DATE.CONVERT; command varies,<br />

depending on the compiler implementation. If you use numeric items within a Group for<br />

handling dates, they should be unsigned.<br />

v 1-81


DESCENDING<br />

DESCENDING (DSC)<br />

For information on the DESCENDING; command option, see either the MATCH; or SORT;<br />

command later in this section, as relevant.<br />

1-82 v


DETACH (DET, DTH)<br />

DETACH (DET, DTH)<br />

The DETACH; command moves text from an alphanumeric (EDIT; A, EDIT; K or EDIT; W)<br />

data item into a second data item of the same edit type.<br />

Following execution of the DETACH; command, the System Data item GLB.LENGTH<br />

contains the length of the text selected from the first data item.<br />

Position and Delimiter<br />

The text to be moved is defined by a starting position, and by the occurrence of a delimiter.<br />

Starting Position<br />

If the starting position is invalid, no move will take place and the second data item will<br />

contain spaces. The default starting position is the first character.<br />

If a data item is used to specify a starting position, it will be updated to the position of the<br />

first non-delimiter character (following the delimiter) in the first data item value.<br />

Delimiter<br />

The default delimiter is a space. Multiple consecutive occurrences of the delimiter are<br />

treated as a single occurrence. The delimiter is not included in the move.<br />

If the specified delimiter is not found, the contents of the first data item starting from the<br />

specified starting position are moved to the second data item The contents are truncated if<br />

the second data item is too small.<br />

Truncation of Data<br />

The maximum length moved by a DETACH; command is 2000 characters. This is<br />

equivalent to 1000 Kanji (EDIT; K) characters.<br />

The text selected by the DETACH; command may be truncated if the second data item is<br />

too small.<br />

If you move a mixed alphanumeric and Hankaku-Katakana value into an EDIT; W data<br />

item, the value is moved character by character, and is truncated to the length of the<br />

data item. However, if you move a mixed alphanumeric and Hankaku-Katakana value into<br />

an EDIT; A data item, the value is moved byte by byte and is truncated to the length of the<br />

data item. If the truncation occurs after the first byte of a double-byte Hankaku-Katakana<br />

character, this will result in an invalid character.<br />

Note: EDIT; W data items are not implemented in LDA.<br />

v 1-83


DETACH (DET, DTH)<br />

Syntax<br />

Examples<br />

DDD DDDDD DDDDD DDDDDDDDDDDD <br />

DBDDDDDDDDDDDDDDDDDDDDDDDDDDBDBDDDDDDDDDDDDDDDDDDDDDDDDDDBD4<br />

3 33 3<br />

@ D Y@ D Y<br />

Note: The three alphanumeric items must have the same edit type.<br />

data name 1<br />

An alphanumeric data item (not a literal)<br />

data name 2<br />

An alphanumeric data item (not a literal)<br />

POSITION; numeric data<br />

The numeric data value can be a numeric data item or literal. It must be unsigned, and it<br />

must not have decimals.<br />

POSITION may be abbreviated to POS or PO. START is also a valid.<br />

DELIMITER; data name 3<br />

DELIMITER may be abbreviated to DELIM.<br />

The data item (or literal) must be alphanumeric.<br />

In the following example, SD-DATA1 initially contains THE QUICK BROWN FOX. The<br />

DETACH; command moves QUICK BROWN FOX and stores it in SD-DATA2. The fifth<br />

character is the starting point for the DETACH command, signified by POS; (05).<br />

GLB.LENGTH will be set to 15 following execution of the DETACH; command.<br />

<br />

<br />

<br />

1-84 v


<strong>Reference</strong><br />

DETACH (DET, DTH)<br />

In the next example, words in a sentence are displayed one by one (with their lengths) on<br />

Page 2.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Since SD-PTR is updated to the next word as each word is detached, the loop will cause<br />

the following to be displayed.<br />

<br />

<br />

<br />

<br />

‘‘GLB.LENGTH’’ in Section 2.<br />

v 1-85


DETERMINE; (DT) Commands<br />

DETERMINE; (DT) Commands<br />

The DETERMINE; command variants are used to read data into memory from the <strong>LINC</strong><br />

database through a Profile or, using DETERMINE; ACTUAL, an Extract file or dataset.<br />

The particular variant controls the manner in which records are read into memory, and<br />

how many. Once a record is in memory, it can be manipulated by the associated logic.<br />

The definition of the Profile, in particular its Ordinates and ASCENDING; or<br />

DESCENDING; Profile Attributes, determine which records are retrieved, and the order in<br />

which the records are retrieved.<br />

Caution<br />

There are differences in the way in which database accesses are handled on the<br />

various host types.<br />

For MCP based <strong>LINC</strong> Systems and UNIX Griffin <strong>LINC</strong> Systems, accesses by<br />

DETERMINE; commands are dependent on the positioning of the Profile by nested<br />

DETERMINE; commands. To avoid unexpected side-effects do not access the<br />

sameProfilewithnestedDETERMINE;commandsasaccessesbynested<br />

DETERMINE; commands can alter the positioning on the Profiles required by outer<br />

DETERMINE; commands, and unexpected records can be read.<br />

For OS 2200 based <strong>LINC</strong> Systems and UNIX ORACLE <strong>LINC</strong> Systems, each<br />

DETERMINE; command is independent of previous positioning.<br />

For LDA, the behaviour matches that of the target host defined by the TargetHost<br />

parameter in your <strong>LINC</strong>.INI file.<br />

Variants of the DETERMINE; Command<br />

The particular variant controls the number and manner in which records are read into<br />

memory. Once in memory, a record may be manipulated by logic.<br />

The DETERMINE; command variants are summarized in the following table, and are then<br />

described in detail in the following subsections.<br />

Variant Summary of Function<br />

DETERMINE; ACTUAL Creates a loop in which all records are read in order from a Profile,<br />

Extract file, or Component<br />

DETERMINE; BACK Creates a loop in which all the records are read in reverse Profile<br />

order, starting from specified values<br />

continued<br />

1-86 v


continued<br />

Variant Summary of Function<br />

DETERMINE; (DT) Commands<br />

DETERMINE; EVERY Creates a loop in which all records that match specified values are<br />

read in order from a Profile<br />

DETERMINE; FROM Creates a loop in which all records are read that are greater than or<br />

equal to specified values<br />

DETERMINE; GROUP Creates a loop in which all data are read, between specified start and<br />

end values, from a Profile. The order is specified as part of the<br />

command<br />

DETERMINE; LAST Reads a single record equal to or lower than the values specified<br />

DETERMINE; TOTAL Reads through a Profile in order and, where the Profile Ordinates<br />

match the specified values, accumulates a nominated data item<br />

An END; command must terminate the loop created by all variants except DETERMINE;<br />

LAST and DETERMINE; TOTAL. The logic contained in the loop is executed for each<br />

record read.<br />

Setting of GLB.STATUS<br />

If a DETERMINE; command fails to retrieve any record (that is, no record satisfies the<br />

specified criteria), GLB.STATUS is set to *****. If any record is retrieved, GLB.STATUS<br />

will not be set by the DETERMINE; command. GLB.STATUS is not set when end-of-file is<br />

detected.<br />

The contents of GLB.STATUS should always be checked after a DETERMINE; command<br />

or, if a loop is created, after the END; or END.EXIT; command for that loop. GLB.STATUS<br />

is cleared (set to spaces) before the command is executed.<br />

You can direct the new value of GLB.STATUS resulting from the DETERMINE; command<br />

to another data item, by including the GLB.STATUS; command. This is especially useful<br />

where many commands may set GLB.STATUS (for example, where there are nested<br />

DETERMINE; commands).<br />

Logically Deleted Records<br />

Logically deleted records are brought into memory by DETERMINE; commands (unless<br />

they are specifically excluded by the Profile conditions). If you wish to ignore them you<br />

have to code your logic to bypass them.<br />

v 1-87


DETERMINE; (DT) Commands<br />

Handling of Duplicate Keys in MCP based <strong>LINC</strong> Systems<br />

For an MCP based <strong>LINC</strong> System, the order in which records with duplicate key values are<br />

retrieved depends upon the setting of the Duplicates First/Last Profile DASDL option, as<br />

shown in the following table.<br />

Duplicates DT Command Order of Duplicates<br />

FIRST FROM Reverse order to that of entry<br />

FIRST BACK Order of entry<br />

LAST FROM Order of entry<br />

LAST BACK Reverse order to that of entry<br />

blank FROM/BACK Physical order of records in database (note that<br />

this may change during a reorganization)<br />

A database reorganize or garbage collect may alter the order of Duplicates First/Last<br />

entries. For further details, see your Data and Structure Definition Language (DASDL)<br />

<strong>Programming</strong> <strong>Reference</strong> <strong>Manual</strong>.<br />

DETERMINE; Commands in ORACLE <strong>LINC</strong> Systems<br />

The following issues can arise with UNIX ORACLE <strong>LINC</strong> Systems:<br />

$ DETERMINE; BACK and DETERMINE; LAST command performance<br />

ORACLE has no direct means of reading a Profile in reverse order. When executing<br />

these commands, ORACLE may read and sort the entire Profile (table) to obtain the<br />

required records.<br />

$ Inappropriate ORACLE Index Selection<br />

On occasion, ORACLE may select the wrong index (Profile) where the Indexes have<br />

identical keys but in a different order. This can have performance implications for your<br />

<strong>LINC</strong> System.<br />

These issues and suggested solutions are described in your UNIX <strong>LINC</strong> Administration<br />

and Operations Guide.<br />

DETERMINE; Commands Over Multiple Logic Lines<br />

DETERMINE; commands can be written over multiple lines, provided that line breaks<br />

occur within the parentheses, and a line does not commence with a right parenthesis.<br />

In DETERMINE; GROUP commands, the first line may break before any data item within<br />

any of the parentheses sets.<br />

1-88 v


DETERMINE; (DT) Commands<br />

Under certain circumstances, lines can be marked with errors even if these conditions<br />

have been met. If this occurs, you can force the full command to be reedited by changing it<br />

to a comment, transmitting, and then changing it back to a command.<br />

For more details, see your <strong>LINC</strong> Generate <strong>Reference</strong> <strong>Manual</strong>: Painter and Editor.<br />

v 1-89


DETERMINE; ACTUAL<br />

DETERMINE; ACTUAL<br />

The DETERMINE; ACTUAL command is used to read Component and Event records into<br />

memory from the <strong>LINC</strong> database, using a Profile. It also enables access to Standard, Direct,<br />

or Table Components, without having to specify Ordinate values.<br />

When a DETERMINE; ACTUAL command specifies a multiple ordinate memo value, the<br />

Automaint Profile of the named Memo Component is used.<br />

In Reports, a DETERMINE; ACTUAL command can also be used to read records from an<br />

Extract file. The syntax of the DETERMINE; ACTUAL command for reading Extract files<br />

has a special form. You can control the first record from which the read of an Extract file is<br />

to begin, by moving a value to the System Data item GLB.RECORDx before the<br />

DETERMINE; ACTUAL command is executed.<br />

<strong>Reference</strong>s to data items read from an Extract file must be prefixed by the one-character<br />

Extract file designator (A through Z) and an asterisk (*), as shown in the example. See also<br />

to notes on the qualification of data items in your <strong>LINC</strong> Generate Operations Guide.<br />

Extract File Processing<br />

There are three categories of Extract file.<br />

$ EXISTING files, which exist before the Report begins and are retained after the Report<br />

ends.<br />

$ PERMANENT files, which do not exist before the Report begins, but are retained after<br />

the Report ends.<br />

$ TEMPORARY files, which do not exist before the Report begins, and are deleted after<br />

the Report ends.<br />

For more details, see ‘‘Categories of Extract file’’ under the EXTRACT; command, later in<br />

this section.<br />

The way a DETERMINE; ACTUAL command handles an Extract file at runtime is<br />

influenced by:<br />

$ Category of Extract file (TEMPORARY, PERMANENT, or EXISTING)<br />

$ Whether it is the first or a subsequent access of the Extract file<br />

A first access is defined as the first execution of any DETERMINE; ACTUAL, SORT ,<br />

EXTRACT, or MATCH; commands for a specific Extract file, either in the logic of the<br />

Report, or following a SET.TITLE; or RESTART; command.<br />

The action performed on the specified Extract file when a DETERMINE; ACTUAL (or<br />

MATCH;) command is executed depends on whether or not the EXTRACTED.AS;<br />

command option is included, as shown in the following subsections.<br />

1-90 v


With EXTRACTED.AS;<br />

DETERMINE; ACTUAL<br />

The DETERMINE; ACTUAL or MATCH; command attempts to read a record from the<br />

specified Extract file. The EXTRACTED.AS; command option implies that the file was not<br />

created by this Report (that is, the Report does not include an EXTRACT; command which<br />

writes the file and defines the layout).<br />

$ If this is not the first access of the file, the record is read.<br />

$ If this is the first access of the file:<br />

v If it is a Temporary file, the file will be created as an empty file if it does not<br />

already exist, or it will be cleared if it does exist. The read of the empty file will<br />

then immediately set GLB.STATUS to *****.<br />

v If it is a not a TEMPORARY file, the record will be read if the file exists, or the<br />

Report will abort (on UNIX or OS 2200 based <strong>LINC</strong> Systems) or become a waiting<br />

entry (on MCP based <strong>LINC</strong> Systems) if the file does not exist.<br />

v The following table summarizes the actions performed when this is the first access<br />

of the file.<br />

File Status Extract<br />

FileTemporary<br />

Extract File<br />

Permanent Extract<br />

File<br />

File exists Read Read Read<br />

File does not exist Created Abort/Wait Abort/Wait<br />

Without EXTRACTED.AS;<br />

Existing Extract File<br />

The DETERMINE; ACTUAL or MATCH; command attempts to read a record from the<br />

specified Extract File. Not including an EXTRACTED.AS; command option implies that the<br />

file was created by this Report (that is, the Report includes an EXTRACT; command which<br />

writes the file and defines the layout).<br />

$ If this is not the first access of the file, the record is read.<br />

$ If this is the first access of the file:<br />

v If it is not an EXISTING file, the file will be created as an empty file if it does not<br />

already exist, or it will be cleared if it does exist. The read of the empty file will<br />

then immediately set GLB.STATUS to *****.<br />

v If it is an EXISTING file, the record will be read if the file exists, or the Report will<br />

abort (on UNIX or OS 2200 based <strong>LINC</strong> Systems) or become a waiting entry (on<br />

MCP based <strong>LINC</strong> Systems) if the file does not exist.<br />

v The following table summarizes the actions performed when this is the first access<br />

of the file.<br />

v 1-91


DETERMINE; ACTUAL<br />

Syntax<br />

File Status Temporary Extract<br />

File<br />

Permanent Extract<br />

File<br />

File exists Cleared Cleared Read<br />

File does not exist Created Created Abort/Wait<br />

For Components and Profiles :<br />

DD DBDDDDDDDDDD DDDDDDDDDDBDD <br />

3 3<br />

CDDDDDDD DDDDDDD4<br />

3 3<br />

@D DY<br />

DDBDDDDDDDDDBDBDDDDDDDDDDBDBDDDDDDDDDDDDDDDDDDDDDDDBDD4<br />

3 33 33 3<br />

@ YC 4@ D Y<br />

3 3<br />

@ Y<br />

For Extract Files (valid only in Reports)<br />

DDDD DDDDDDD DDDDDBDDDDDD4<br />

3<br />

@DDDDD <br />

DDDDD DDDBDDD DDDDBDDDDDDDDDD <br />

3 3<br />

CDDDDD DDDDDD4<br />

3 3<br />

@DDDDD DDDDDDY<br />

DDDDDDDDBDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDDDD4<br />

3 3<br />

@DD DDD DDY<br />

KEYONLY;<br />

Existing Extract File<br />

Note: This command option is ignored for UNIX and OS 2200 based <strong>LINC</strong> Systems,<br />

andinLDARunTime.<br />

See ‘‘KEYONLY’’, later in this section, for a description of this command option.<br />

extract file<br />

The one-character Extract file designator for an Extract file previously saved by using an<br />

EXTRACT; command.<br />

EXTRACTED.AS;<br />

Access records from the specified Extract file as a specified Component, the Event<br />

dataset, or a specified Report Frame.<br />

1-92 v


Example<br />

EAS is a valid abbreviation for EXTRACTED.AS.<br />

RETAINED.AS; ( file name )<br />

DETERMINE; ACTUAL<br />

Specifies the file name under which the Extract file was previously saved with an<br />

EXTRACT; command.<br />

RAS is a valid abbreviation for RETAINED.AS.<br />

Note: If you use RETAINED.AS; and SET.TITLE; for the same Extract file in a<br />

Report, the Extract file will be purged when the SET.TITLE; is performed. It is<br />

recommended that you do not use RETAINED.AS; and SET.TITLE; on the same<br />

file.<br />

In the following example, an Extract file is created through a read over the Profile<br />

INVOICE. A check is then made to ensure that at least one record was found. If no record is<br />

found, a Frame containing the message NO RECORDS WERE FOUND is printed (Frame 9).<br />

<br />

<br />

<br />

<br />

<br />

<br />

In the next example, an Extract file is created containing all customers with balances over<br />

$1000. This file is then sorted, and may be used by other Reports.<br />

If no customers exist with a balance over $1000, then the CUSTS/FILE file will be created<br />

as an empty file. This ensures that the customer records are not processed from a previous<br />

run.<br />

Note: CUSTS/FILE is an MCP based filename. UNIX and OS 2200 based filenames<br />

have a different form.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

v 1-93


DETERMINE; ACTUAL<br />

<strong>Reference</strong>s<br />

Fast access to the Component CUST can be achieved without using the default Profile of<br />

the Component, as in the following example. Access is in order of storage of the records.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

‘‘EXTRACT (EX)’’.<br />

‘‘GLB.STATUS (GS)’’.<br />

‘‘SERIAL’’ and ‘‘SECURE’’.<br />

‘‘MULTI’’ (2200 Series target hosts only).<br />

‘‘SET.TITLE (SETT)’’ for defining your Extract files.<br />

‘‘GLB.RECORDx’’.<br />

‘‘RESTART (RT)’’ for resetting to start of file.<br />

The sections on Extract Files and MAPPER Extract Files in the Interfaces section in the<br />

<strong>LINC</strong> Administration and Operations Guide for the relevant host type.<br />

"Profile Options Screen" in your <strong>LINC</strong> Generate Operations Guide.<br />

1-94 v


DETERMINE; BACK<br />

Syntax<br />

<strong>Reference</strong>s<br />

DETERMINE; BACK<br />

The DETERMINE; BACK command is used to read Component and Event records into<br />

memory from the <strong>LINC</strong> database, in reverse order of the Profile, starting from specified<br />

values.<br />

For an MCP based <strong>LINC</strong> System, the order in which records with duplicate Profile<br />

Ordinate values are retrieved depends upon the setting of the Duplicates First/Last field<br />

on the relevant Profile DASDL Options screen.<br />

For details about the duplicate keys, see ‘‘Handling of Duplicate Keys in MCP based <strong>LINC</strong><br />

Systems’’, earlier in this section.<br />

For a UNIX <strong>LINC</strong> System, the order of records with identical values cannot be guaranteed.<br />

Apart from the sequence of records, operation is similar to the DETERMINE; FROM<br />

command variant.<br />

If the name of a Multiple Ordinate Memo Component is used in place of the Profile with the<br />

DETERMINE; BACK command, the Automaint Profile for the Memo Component is used.<br />

DD DDBDDDDDDDD DDDDDDDDDBDDDDDDDDD <br />

3 3<br />

@D DY<br />

DD DDBDDDDDDDDDDDDDBDDDBDDDDDDDDDDDDBDD <br />

3 3 3 3<br />

@D DY CD D4<br />

3 3<br />

@D DY<br />

DDDBDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDDDDDDDDDDDDDDDDDDDDDD4<br />

3 3<br />

@D DD DY<br />

‘‘GLB.STATUS (GS)’’.<br />

‘‘SERIAL’’ and ‘‘SECURE’’.<br />

‘‘MULTI’’ (2200 Series target hosts only).<br />

‘‘KEYONLY’’.<br />

"The Profile Options" in your <strong>LINC</strong> Generate Operations Guide.<br />

v 1-95


DETERMINE; EVERY<br />

DETERMINE; EVERY<br />

Syntax<br />

Example<br />

The DETERMINE; EVERY command is used to read Component and Event records into<br />

memory from the <strong>LINC</strong> database, for those records that match the Profile Ordinate values<br />

specified.<br />

If the name of a Multiple Ordinate Memo Component is used in place of the Profile with the<br />

DETERMINE; EVERY command, the Automaint Profile for the Memo Component is used.<br />

Caution<br />

It is not good practice to change your Profile keys during the operation of a<br />

DETERMINE; EVERY loop. If you do, the results cannot be guaranteed.<br />

DD DDBDDDDDDDDD DDDDDDDDBDDDDD <br />

3 3<br />

@D DY<br />

DD DDBDDDDDDDDDDDBDDDBDDDDDDDDDDDBDD <br />

3 3 3 3<br />

@D DY CD D4<br />

3 3<br />

@D Y<br />

DDDBDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDDDDDDDDDDDDDDDDDDD4<br />

3 3<br />

@D DD DY<br />

A Profile INVOICE, with Ordinates CUSTOMER and INVOICE-NO, spans an Event SALE.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

If CUSTOMER and INVOICE-NO have been entered through the screen with values SMITH<br />

and 1234, respectively. The DETERMINE; EVERY command searches the Profile INVOICE<br />

to find an Event named SALE with a CUSTOMER value of SMITH and an INVOICE-NO<br />

value of 1234.<br />

When a SALE Event is found, it is read into memory, and the value of the AMOUNT data<br />

item is accumulated into INV-TOTAL, completing the logic for this read.<br />

1-96 v


<strong>Reference</strong>s<br />

DETERMINE; EVERY<br />

This process is repeated until all matching records have been read. The logic then<br />

proceeds from the END; command. If no SALE Events for SMITH and 1234 are found,<br />

GLB.STATUS is set to *****, and the error message is returned.<br />

‘‘GLB.STATUS (GS)’’.<br />

‘‘SERIAL’’ and ‘‘SECURE’’.<br />

‘‘MULTI’’ (2200 Series target hosts only).<br />

"Online Transaction Processing (OLTP)" in your <strong>LINC</strong> Generate Operations Guide.<br />

v 1-97


DETERMINE; FROM<br />

DETERMINE; FROM<br />

Syntax<br />

Example<br />

The DETERMINE; FROM command is used to read Component and Event records into<br />

memory from the <strong>LINC</strong> database in the order of the Profile, starting from specified values.<br />

If the name of a Multiple Ordinate Memo Component is used in place of the Profile with the<br />

DETERMINE; FROM command, the Automaint Profile for Memo Component is used.<br />

DD DDBDDDDDDDDD DDDDDDDDDDDBDDDD <br />

3 3<br />

@D DDDDY<br />

DD DDBDDDDDDDDDDDBDDBDDDDDDDDDDDBDDDD <br />

3 3 3 3<br />

@D DY CD D4<br />

3 3<br />

@D Y<br />

DDDDDBDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDDDDDDDDDDDDDDDDDD4<br />

3 3<br />

@D DD DY<br />

The DETERMINE; FROM command can be used to get the total sales value for a<br />

CUSTOMER when the individual invoice number is not known. The Profile INVOICE spans<br />

the Event dataset.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

In this example, suppose the value of CUSTOMER is entered from the screen as SMITH.<br />

As the initial value for INVOICE-NO is GLB.ZEROS, the DETERMINE; FROM command<br />

will bring into memory all SALE Events for SMITH in ascending order of INVOICE-NO,<br />

adding AMOUNT into CUST-TOTAL.<br />

When EVENT.CUSTOMER is not SMITH (that is, a new name is read), the loop is<br />

terminated with the BREAK; command. If no SALE Events were read (that is, no SALES for<br />

SMITH, and there are no more customers alphabetically after SMITH), GLB.STATUS is set<br />

to *****.<br />

1-98 v


<strong>Reference</strong>s<br />

‘‘GLB.STATUS (GS)’’.<br />

‘‘SERIAL’’ and ‘‘SECURE’’.<br />

‘‘MULTI’’ (2200 Series target hosts only).<br />

DETERMINE; FROM<br />

v 1-99


DETERMINE; GROUP<br />

DETERMINE; GROUP<br />

Syntax<br />

The DETERMINE; GROUP command reads Component or Event records into memory<br />

from a Profile. You can specify the following details:<br />

$ The order in which records are retrieved<br />

$ The initial record to be retrieved<br />

$ The final record to be retrieved<br />

The order in which records are read is defined by the FROM; and BACK; command<br />

options. The FROM; command option means the Profile is read in Profile order, while the<br />

BACK; command option means the Profile is read in reverse order.<br />

The initial record is defined by the high-order values (values for some of the Profile<br />

Ordinates) and the start values (specified by the FROM; or BACK; command option).<br />

The final record is defined by the high-order values and the end values (specified by the<br />

UNTIL; command option). If the UNTIL; command option is not included, the loop is<br />

terminated when the last record with the specified high-order values is retrieved (or the<br />

last record in the file, if high-order values are not specified).<br />

Note: End values, Start values, or high-order values should not be changed within the<br />

DETERMINE; GROUP loop.<br />

The record left in memory is not defined when the loop of a DETERMINE; GROUP<br />

command terminates automatically, because of differences between the types of host on<br />

which <strong>LINC</strong> Systems may run. However, the current record will remain in memory<br />

following a BREAK; or JUMP.TO; command.<br />

If the name of a Multiple Ordinate Memo Component is used in place of the Profile with the<br />

DETERMINE; GROUP command, the Automaint Profile for Memo Component is used.<br />

DD DBDDDDDDD DDDDDDDDBDDDDDDDD <br />

3 3<br />

@ Y<br />

DD DDDBD DBDDDDDDDDDDDDDDDD <br />

3 3<br />

@D DY<br />

DD DBDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDD <br />

3 3<br />

@D DD DY<br />

DDBDDDDDDDDDBDBDDDDDDDDDDBDBDDDDDDDDDDDDDDDDDDDDDDDBDD4<br />

3 33 33 3<br />

@ YC D4 @ D Y<br />

3 3<br />

@ Y<br />

1-100 v


Examples<br />

DETERMINE; GROUP<br />

high-order values, start values, andend valuesmust be specified by data items.<br />

The number of high-order values plus the number of start values must equal the number of<br />

Profile Ordinates. The number of end values must equal the number of start values.<br />

Either the high-order values or the start values (and end values) may be omitted. The<br />

parentheses must still be supplied in each case. However, parentheses are not required for<br />

omitted end values.<br />

In these examples, a Profile INVOICE over the Event SALE has Profile Ordinates<br />

CUSTOMER, ACTMTH, TRANDATE, and TRANTIME.<br />

<br />

The previous logic reads all records for the Profile Ordinate specified by the item<br />

CUSTOMER.<br />

In the next example, since no high-order values are included, records on the Profile are<br />

read, starting from first the record with the first Profile Ordinate greater than or equal to<br />

the value specified by the data item CUSTOMER. (This is equivalent to DETERMINE;<br />

FROM.)<br />

<br />

In the next example, the DETERMINE; GROUP command is used to get the total sales<br />

value for a customer.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

In this example, suppose the value SMITH is entered from the screen for CUSTOMER.<br />

STARTMTH and ENDMTH have values of 9801 and 9812, respectively.<br />

The DETERMINE; GROUP command reads the Profile INVOICE, starting with the first<br />

record with EVENT.CUSTOMER equal to SMITH, and EVENT.ACTMTH equal to or<br />

greater than 9801. EVENT.AMOUNT is accumulated in SD-TOTAL. When<br />

EVENT.CUSTOMER is not equal to SMITH, or when EVENT.ACTMTH is greater than<br />

9812, the loop is terminated.<br />

If there are no records for SMITH with EVENT.ACTMTH between 9801 and 9812,<br />

GLB.STATUS will be set to *****.<br />

v 1-101


DETERMINE; GROUP<br />

<strong>Reference</strong>s<br />

‘‘SERIAL’’ and ‘‘SECURE’’.<br />

‘‘GLB.STATUS (GS)’’.<br />

‘‘MULTI’’ (2200 Series target hosts only).<br />

1-102 v


DETERMINE; LAST<br />

Syntax<br />

Examples<br />

DETERMINE; LAST<br />

The DETERMINE; LAST command brings a single record into memory. It searches the<br />

Profile for a record that matches the specified values and retrieves that record, or the<br />

record that would precede it on the Profile (if there is no match).<br />

When using DETERMINE; LAST in a running balance or equivalent situation, it is<br />

recommended that you set Integrity or use the SECURE; command option. This will ensure<br />

that the record retrieved is always the last record. For more details, see your <strong>LINC</strong><br />

Generate Operations Guide or your <strong>LINC</strong> Development / LDA III Installation and<br />

Administration Guide.<br />

If the name of a Multiple Ordinate Memo Component is used in place of the Profile with the<br />

DETERMINE; LAST command, the Automaint Profile for Memo Component is used.<br />

DD DDBDDDDDDDDDD DDDDDDDDDDDDBD <br />

3 3<br />

@DD DDDDDY<br />

DDD DDDDDDBDDDDDDDDDDDDDDDBDDDDDDDDDD4<br />

3 3<br />

@DDD DDDY<br />

The following example displays the last invoice number used for the specified customer.<br />

<br />

<br />

<br />

<br />

<br />

In the next example, a DETERMINE; LAST command in Report logic specifies a Profile<br />

CUSTSALE, which spans the Event SALES, and has Ordinate data items CUSTOMER,<br />

SALEDATE, and SALETIME. The following example logic verifies that the DETERMINE;<br />

LAST command has found a record, and that it is the correct one.<br />

<br />

<br />

<br />

<br />

<br />

<br />

v 1-103


DETERMINE; LAST<br />

<strong>Reference</strong>s<br />

‘‘SECURE’’ and ‘‘GLB.STATUS (GS)’’<br />

1-104 v


DETERMINE; TOTAL<br />

Syntax<br />

Examples<br />

DETERMINE; TOTAL<br />

The DETERMINE; TOTAL command creates a balance by adding together the numeric<br />

values of the specified data items of the selected records. The DETERMINE; TOTAL<br />

command is like a combination of the DETERMINE; EVERY and ADD; commands, except<br />

that a loop is implicit within the command.<br />

The DETERMINE; TOTAL command brings into memory all records on the Profile that<br />

match the specified values. Values of the specified data item are totalled, and the result is<br />

stored in the System Data item GLB.TOTAL.<br />

If the name of a Multiple Ordinate Memo Component is used in place of the Profile with the<br />

DETERMINE; TOTAL command, the Automaint Profile for Memo Component is used.<br />

DD DBDDD DDDBD <br />

3 3<br />

@DDDDDDDDDD DDDDDDDDDDDY<br />

DDDDD DD DDDDDDDDDDDDD <br />

DDDBDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDDDDDDDDDDDDDDDDDD4<br />

3 3<br />

@D DD DY<br />

In the following example, a Profile INVOICE, with Ordinates CUSTOMER and<br />

INVOICE-NO, spans an Event SALE. The AMOUNT values in SALE are totalled for the<br />

current CUSTOMER and INVOICE-NO values.<br />

<br />

<br />

<br />

<br />

The next example shows a Report that adds up the quantity of each product. For any<br />

product that has a total quantity less than 10, it prints the message STOCK-IN-HAND is<br />

CRITICALLY LOW (contained in Frame 09). The Profile STOCK, with Ordinate<br />

PRODUCT, spans Events that affect quantities (that is, stock movements). The<br />

stock-in-hand value is totalled for the current PRODUCT value as follows.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

v 1-105


DETERMINE; TOTAL<br />

<strong>Reference</strong>s<br />

In this example, Frame 10 contains "NO TRANSACTIONS FOR THIS ITEM".<br />

‘‘GLB.TOTAL’’.<br />

‘‘MULTI’’ (2200 Series target hosts only).<br />

‘‘GLB.STATUS (GS)’’.<br />

1-106 v


DISCOUNT.CASH (DCF)<br />

Syntax<br />

DISCOUNT.CASH (DCF)<br />

The DISCOUNT.CASH; command provides functions commonly used in financial analysis.<br />

These functions are listed in the following table.<br />

Action Synonym Brief Description<br />

PV.FLOW P.A* Present value yielding rate of flow<br />

FLOW.PV A*.P Rate of flow to amortize present value<br />

FV.FLOW SN.A* Future sum resulting from rate of flow<br />

FLOW.FV A*.SN Rate of flow yielding future value<br />

COMPOUND SN.P,C Future value resulting from present lump sum<br />

DISCOUNT P.SN,D Present lump sum yielding future value<br />

MORTGAGE A.P,M Annuity to repay present value<br />

PV.ANNUITY P.A Present value yielding annuity<br />

FV.ANNUITY SN.A Future value resulting from annuity<br />

SINK A.SN Annuity yielding future value<br />

The DISCOUNT.CASH; command may return an unpredictable result if an error is<br />

returned. The value of the System Data item GLB.STATUS (or a data item specified by the<br />

GLB.STATUS; command) should be checked before the result is used.<br />

When using signed numeric data items with edit types of $, *, or -, truncation of significant<br />

digits will occur without warning, if the lengths are too short.<br />

DD DD DD DD <br />

DDDDDD DDD DDD DDDDDDDDDDDDDD4<br />

initial value<br />

A numeric data item holding the initial value. This data item is treated as a LE; 12, ED; N,<br />

DE; 3 data item, and thus if you specify a data item that does not have these attribute<br />

values, you must ensure that significant truncations will not occur.<br />

interest rate<br />

A numeric data item holding the percentage interest rate to be applied per time unit. This<br />

value must be positive and is interpreted as a percentage. It is treated as a LE; 10, ED; N,<br />

DE; 8 data item.<br />

v 1-107


DISCOUNT.CASH (DCF)<br />

time unit<br />

A numeric data item holding the number of time units. It is treated as a LE; 12, ED; N, DE; 6<br />

data item.<br />

action<br />

The required actions and synonyms are listed in the preceding table. The System Data item<br />

GLB.STATUS is set to ***** if the specified action is invalid.<br />

result<br />

<strong>Reference</strong>s<br />

The numeric data item into which the result is stored. The LENGTH and DECIMAL<br />

characteristics may vary. As a guideline, the internal intermediate work files are stored as<br />

follows, and rounded on output:<br />

$ PIC 9(11)V 9(12) for MCP based <strong>LINC</strong> Systems<br />

$ USAGE COMP-2 for UNIX and OS 2200 based <strong>LINC</strong> Systems<br />

Full details of the calculations are contained in ‘‘Calculations’’ in Appendix A.<br />

‘‘GLB.STATUS (GS)’’.<br />

1-108 v


DIVIDE (DV)<br />

Syntax<br />

DIVIDE (DV)<br />

The DIVIDE; command divides the value of a numeric data item into the value of second<br />

numeric data item, and stores the result in the second data item (or in a third data item, if<br />

explicitly given).<br />

The GIVING; and ROUNDED; command options can be applied in conjunction with the<br />

DIVIDE; command. If the ROUNDED; command option is used with the REMAINDER; and<br />

GIVING; command option the result is rounded, but the value of the remainder is still valid.<br />

If the divisor is zero or an arithmetic overflow occurs, the result is zero.<br />

The System Data item GLB.STATUS is not updated by the DIVIDE; command. Use the<br />

GLB.STATUS; command (in LDA, the GS; command) to test for division by zero or<br />

arithmetic overflow.<br />

D DBD DBD DDDDDD <br />

3 3<br />

@DD DDY<br />

DDBDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDDDDDDDDDDDDD <br />

3 3<br />

@DD DD DDY<br />

DDBDDDDDDDDDDDDBDDBDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBD4<br />

3 3 3 3<br />

@D DY @D DD DY<br />

numeric data 1<br />

A data item containing the value to divide by (the divisor). A numeric literal is valid.<br />

numeric data 2<br />

A data item containing the value to be divided (the dividend). A literal is not valid. This<br />

data item contains the result if GIVING; is not specified.<br />

GIVING; numeric data 3<br />

The GIVING; command option directs the result to the specified data item. The GIVING;<br />

command option must be on the same line as the DIVIDE; command. GIV is a valid<br />

abbreviation for GIVING. Thenumeric data 3 parameter cannot be a literal.<br />

REMAINDER; numeric data 4<br />

Directs the true remainder of the division to a numeric data item.<br />

ROUNDED;<br />

Rounds the result when truncation occurs.<br />

v 1-109


DIVIDE (DV)<br />

Examples<br />

<strong>Reference</strong>s<br />

In the following example, three Setup Data items, AMOUNT1, AMOUNT2, and AMOUNT3<br />

(all LE; 5, ED; +) have already been defined.<br />

<br />

<br />

<br />

<br />

<br />

‘‘GLB.STATUS (GS)’’ for directing the value of GLB.STATUS to a data item.<br />

1-110 v


DO.WHEN (DW)<br />

Syntax<br />

DO.WHEN (DW)<br />

The DO.WHEN; command creates a condition that controls the execution of logic. This<br />

logic is delimited by an END; END.EXIT; or END.NO.PRINT; command which must follow<br />

the DO.WHEN; condition.<br />

To create a compound condition involving several DO.WHEN; statements, you can use the<br />

AND and OR logical connectors. In compound conditions, the OR connectors are<br />

evaluated first. Compound conditions require only one END; END.NO.PRINT; or<br />

END.EXIT; command, as they create a single logical condition.<br />

You can use the ELSE; command to handle reverse conditions.<br />

Caution<br />

On OS 2200 based <strong>LINC</strong> Systems, DO.WHEN; commands with more than 50<br />

conditions will cause COBOL compilation errors when compiling your system.<br />

DDDBDD DD DBDDDDDDDBDBD D <br />

3 3 33<br />

DY @D DY@D DD <br />

DDDDDDD DDDDDDBDDDDDDDBDDDDDDDDDDDDDDDDDDD4<br />

3 3<br />

DDDDDDDDDDDDDDDDDDDDDDDDDDY CD DBDDDDDDDDDD <br />

3 3<br />

@D DDY<br />

The relation value represents a relational operator, which must be delimited with spaces.<br />

Valid relational operators for the DO.WHEN; command are shown in the following table.<br />

Relation Description<br />

= Equal<br />

> Greater than<br />

< Less than<br />

NOT = Not equal to<br />

NOT > Less than or equal to<br />

NOT < Greaterthanorequalto<br />

v 1-111


DO.WHEN (DW)<br />

The following table shows the types of data item 1 that can be compared to each type of<br />

data item 2. For example, if data item 2 is a pure Kanji data item, it can only be compared<br />

with another Kanji data item in data item 1.<br />

Setting of GLB.STATUS<br />

If data item 2 is... Then data item 1 can be...<br />

Alpha ANDZG<br />

Alpha Literal A<br />

Numeric ANSCDZ<br />

Numeric Literal ANSCD<br />

Signed NSCDZ<br />

Signed Decimal Literal ANSCD<br />

Decimals NSCDZ<br />

Date ANSCDZ<br />

Kanji KZG<br />

GLB.ZEROS ANSCDK<br />

GLB.SPACES, GLB.HIGH,<br />

GLB.LOW<br />

AK<br />

Legend<br />

A Alpha<br />

N Numeric<br />

S Signed<br />

C Decimals<br />

D Date<br />

K Kanji<br />

Z GLB.ZEROS<br />

G GLB.SPACES, GLB.HIGH, GLB.LOW<br />

Most processes that set GLB.STATUS on an error condition also set GLB.STATUS to<br />

spaces if no errors are detected.<br />

As various conditions can affect GLB.STATUS, you must exercise care when coding<br />

complex decision logic that involves more than one DO.WHEN; command. Consider the<br />

following code:<br />

<br />

<br />

1-112 v


Examples<br />

<strong>Reference</strong>s<br />

DO.WHEN (DW)<br />

In this example, it is intended that the first DO.WHEN; command checks the result of a<br />

previous action. However, the action of the array item sets the value of GLB.STATUS<br />

before the first DO.WHEN; condition is evaluated. This is because the array evaluation that<br />

changes GLB.STATUS takes place before the start of the DO.WHEN; command, and not at<br />

the point of reference.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

‘‘CASE (CS)’’ for multiple conditions.<br />

‘‘ELSE’’ for reverse conditions.<br />

‘‘END’’, ‘‘END.EXIT (EE)’’, and ‘‘END.NO.PRINT (ENP)’’ for terminating the DO.WHEN;<br />

loop.<br />

v 1-113


ELSE<br />

ELSE<br />

Syntax<br />

Use the ELSE; command to provide code to handle the reverse condition to that specified<br />

in an associated DO.WHEN; command.<br />

For example, in the following logic, the ADD; command is actioned if A equals B, but the<br />

SUBTRACT; command is actioned if A is not equal to B.<br />

<br />

<br />

<br />

<br />

<br />

One END; command terminates the DO.WHEN; command and its enclosed ELSE;<br />

command block.<br />

ELSE; Commands with nested DO.WHEN; commands<br />

The ELSE; command is valid with nested DO.WHEN; commands. When used with nested<br />

DO.WHEN; commands, each ELSE; command provides the reverse path for its current<br />

level of DO.WHEN; command. There can be only one ELSE; command within the<br />

DO.WHEN; command.<br />

In the following example, the second ELSE; command provides the reverse flow for the<br />

first DO.WHEN; command; that is, when A is not equal to B. In this case, where A is not<br />

equal to B, the nested DO.WHEN; command and its ELSE; command is completely<br />

bypassed.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

DDD DDD DDBDDDDD DDDDDDBDD4<br />

3 3<br />

CDDD DDD4<br />

3 3<br />

@D DY<br />

Note: An END.EXIT; after an ELSE; command applies only to the ELSE; command,<br />

and not to the associated DO.WHEN; command.<br />

1-114 v


<strong>Reference</strong>s<br />

‘‘DO.WHEN (DW)’’.<br />

ELSE<br />

v 1-115


END, END.EDIT, END.CASE<br />

END<br />

Syntax<br />

Example<br />

<strong>Reference</strong><br />

The END; command defines the end of a block of logic introduced by a loop or a condition.<br />

DDDDD DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD4<br />

<br />

<br />

<br />

END.EDIT<br />

<br />

‘‘END.EXIT (EE)’’ and ‘‘END.NO.PRINT (ENP)’’.<br />

For details of this command, see the ‘‘BEGIN.EDIT and END.EDIT’’.<br />

END.CASE (EC)<br />

For details of this command, see the ‘‘CASE (CS)’’.<br />

1-116 v


END.EXIT (EE)<br />

Syntax<br />

Examples<br />

<strong>Reference</strong>s<br />

END.EXIT (EE)<br />

The END.EXIT; command is similar to the END; command in that it defines the end of a<br />

block of logic introduced by a loop or a condition. When an END.EXIT; command<br />

terminates a loop, only one pass is made through the loop.<br />

The END.EXIT; command has the additional function that, when executed, it causes the<br />

remaining logic to be skipped, effectively terminating Pre-Screen, Pre-<strong>LINC</strong>, or Main logic<br />

in Ispecs, or Main logic in Reports. In Report Frame logic, the END.EXIT; command<br />

terminates the logic of the Frame, the Frame is printed, and execution continues after the<br />

PRINT.FRAME; command that invoked the Frame.<br />

When Pre-<strong>LINC</strong> logic is terminated by an END.EXIT; command execution continues with<br />

Main logic unless GLB.ERROR is equal to *****.<br />

Including an END.EXIT; command in an Insertable Global Logic has the same result as if<br />

the END.EXIT; command were included directly in the logic.<br />

Note: The END.EXIT; command does not set GLB.ERROR and does not inhibit<br />

updating of the <strong>LINC</strong> database. An END.EXIT; after an ELSE; command<br />

applies only to the ELSE; command and not to the associated DO.WHEN;<br />

command.<br />

DDDDD DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD4<br />

<br />

<br />

<br />

<br />

‘‘END’’ and ‘‘END.NO.PRINT (ENP)’’.<br />

v 1-117


END.NO.PRINT (ENP)<br />

END.NO.PRINT (ENP)<br />

Syntax<br />

Examples<br />

<strong>Reference</strong>s<br />

The END.NO.PRINT; command is similar to the END; command in that it defines the end<br />

of a block of Report logic introduced by a loop or a condition. It causes the Report Frame<br />

to terminate (without printing), and execution continues from after the PRINT.FRAME;<br />

command which invoked the Frame. It is valid in Reports only.<br />

In the Main logic of a Report, it terminates the Report.<br />

In Report Frame logic, it causes the Frame to terminate without printing, and execution<br />

continues after the PRINT.FRAME; command that invoked the Frame.<br />

When an END.NO.PRINT; command is executed in a Report Frame, Usage Output data<br />

items are not reset to spaces or zeros. You must include logic to initialize these data items<br />

as required.<br />

Note: An END.NO.PRINT; command after an ELSE; command applies only to the<br />

ELSE; command, and not to the associated DO.WHEN; command.<br />

DDDDD DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD4<br />

A Frame has a data item BALANCE.<br />

<br />

<br />

<br />

‘‘END’’ and ‘‘END.EXIT (EE)’’.<br />

‘‘PRINT.FRAME (PF)’’.<br />

‘‘BEGIN.PAGE (BP)’’.<br />

1-118 v


END.USE (EU)<br />

Syntax<br />

<strong>Reference</strong><br />

END.USE<br />

The END.USE; command is used in conjunction with the EXCLUSIVE.USE; command. It is<br />

used to unlock restricted access to the database records of an Ispec.<br />

This command is ignored:<br />

$ In LDA Run Time<br />

$ For MCP based <strong>LINC</strong> Systems, if the command has not been executed outside the DMS<br />

transaction state<br />

DDD DD DDDDDDDDDDDDDDDDDDDDD4<br />

‘‘EXCLUSIVE.USE (EXU)’’.<br />

v 1-119


EXCLUSIVE.USE (EXU)<br />

EXCLUSIVE.USE (EXU)<br />

Syntax<br />

<strong>Reference</strong><br />

The EXCLUSIVE.USE; command is a means of restricting access to the database records<br />

of an Ispec. The Ispec must be read in the logic in which the lock is applied. The command<br />

locks all of the records of a Component, or all records of all Events.<br />

This command is ignored in LDA Run Time.<br />

Restrictions on record access are:<br />

$ For UNIX and MCP based <strong>LINC</strong> Systems, records may be read by other users, but<br />

cannot be updated until either the end of the current transaction, or an END.USE;<br />

command (in a Report).<br />

$ For OS 2200 based <strong>LINC</strong> Systems, records remain inaccessible to other users until<br />

either the end of the current transaction, or an END.USE; command (in a Report).<br />

The EXCLUSIVE.USE; command is ignored if a SECURE; command option has been<br />

applied to the same Ispec in the same logic. (The effect of the EXCLUSIVE.USE; command<br />

can also be achieved by locking a control-type record.)<br />

EXCLUSIVE.USE; enables faster access at execution time, as no locks have to be applied,<br />

but has the potential disadvantage of locking out all other users of the Ispec until the lock<br />

is released.<br />

Caution<br />

Excessive use of the EXCLUSIVE.USE command may result in:<br />

$ Long waits for other users<br />

$ Deadlocks<br />

$ An abort at runtime<br />

DDDD DDBDD DDBDDDDDDDDDDDDDDDDDDD4<br />

3 3<br />

@DD DDY<br />

"Integrity" in your <strong>LINC</strong> Generate Operations Guide.<br />

1-120 v


EXTRACT (EX)<br />

EXTRACT (EX)<br />

The EXTRACT; command puts the current values of data items from selected Component,<br />

Event, or Report Frame records into an Extract file.<br />

An Extract file can be read by:<br />

$ The same Report that created it<br />

$ Another Report within your <strong>LINC</strong> system<br />

$ Another <strong>LINC</strong> System (on the same host or on a different host)<br />

$ A standalone program (which may read the data into a non-<strong>LINC</strong> system)<br />

$ MAPPER (by specifying the MAPPER; command option with an EXTRACT; command)<br />

When using Extract files, consider the following points:<br />

$ Up to 26 simultaneous Extract files can be created in a Report.<br />

$ Multiple extracts involving the same Extract file append to the file. For more details,<br />

see ‘‘Multiple Extracts to the Same File’’, later in this section.<br />

$ On OS 2200 based <strong>LINC</strong> Systems, the Extract file is opened when the first EXTRACT;<br />

command is executed, and is closed when the Report terminates. Therefore the data<br />

items defined in the Extract file will not be available until the EXTRACT; command is<br />

actually executed. Using data items defined in the Extract file when the file has not<br />

been opened will cause a runtime error (in UCS). Therefore, if the EXTRACT;<br />

command is executed conditionally, use of the data items should also be conditional.<br />

$ In LDA Run Time, the PACKED BINARY and TAPE options are not implemented. The<br />

location of the extract files is determined by the Extract path field in the Report<br />

Options dialog box.<br />

$ To close the current Extract file and open another one, use the SET.TITLE; command.<br />

$ When switching from reading an Extract file to appending data to it, the first<br />

EXTRACT; command should be immediately followed by a CRITICAL.POINT;<br />

command. Failure to do this could result in duplicate records on the Extract file if the<br />

Report was aborted and automatically recovered at this point.<br />

Caution (OS 2200 based <strong>LINC</strong> Systems)<br />

On OS 2200 based runtime hosts, a maximum of 60,000 tracks will be allocated<br />

to your Extract file, as the default. If you envisage your file being larger than this,<br />

catalog the file prior to running the Report. You can increase this maximum by<br />

using the file size option within @CAT. If you pre-catalog an Extract file, it must be a<br />

permanent file.<br />

v 1-121


EXTRACT (EX)<br />

Types of Extract File Format<br />

You can define an Extract file in one of two formats:<br />

$ Ispec format<br />

$ Report Frame format<br />

With either choice, the layout of the Extract file is determined when the <strong>LINC</strong> Report<br />

is generated (not dynamically at runtime), and it applies throughout the Report.<br />

Defining an Extract File in Ispec Format<br />

This form is useful when you want to perform operations internal to your <strong>LINC</strong> System<br />

(such as sorting data without using Profiles). To write Ispec data to an Extract file (in<br />

internal Ispec format), use the EXTRACT; logic command, specifying an Ispec name.<br />

Any one Extract file can contain either of the following (but not both).<br />

$ All the data items from one Component (the record size is the Component record size)<br />

$ All the data items from one or more Events (the record size is the Event set record size)<br />

See ‘‘Numeric Data Items in Extract Files’’, later in this section for further details.<br />

Important Considerations<br />

$ You will receive a generate error if you attempt to extract an Ispec that has the same<br />

name as a Profile over that Ispec.<br />

$ When you generate a Report, the definition of the Ispec is taken from the current <strong>LINC</strong><br />

Specification. This may cause problems if your Ispec definition has been changed but<br />

your <strong>LINC</strong> System has not been generated, as the definition will not match the<br />

database.<br />

Defining an Extract File in Report Frame Format<br />

This form is useful when you want to transfer of data in and out of a <strong>LINC</strong> System. This type<br />

of Extract file can be used by both <strong>LINC</strong> and non-<strong>LINC</strong> programs, for example, MAPPER.<br />

To write the contents of a Frame to an Extract file (in a format defined by the Frame<br />

layout), use the EXTRACT; command, specifying the Frame. You can set up a Frame<br />

particularly for this purpose, if required.<br />

For Extract files in Report Frame format:<br />

$ You can include Display Items, but only after you have defined all your data items.<br />

$ The record size of the file is defined by the largest extracted Report Frame.<br />

1-122 v


EXTRACT (EX)<br />

$ As logic associated with a Frame is performed when the Frame is extracted, a Frame<br />

cannot be extracted from within its own logic. If a Frame is extracted for use in<br />

another Report, the Frames should be defined identically in both Reports.<br />

$ See ‘‘Numeric Data Items in Extract Files’’, later in this section for further details.<br />

To create an Extract file for MAPPER you must create an Extract file in Report Frame<br />

format. In MAPPER Extract files, the columns of data values are separated by tabs.<br />

Numeric Data Items in Extract Files<br />

For numeric data items in Extract files:<br />

$ Numeric data items extracted as part of a Frame may have a different format from<br />

those extracted as part of an Ispec record (depending on the host type). The default<br />

for Frame numeric data items is COBOL type DISPLAY. This can be changed to COMP<br />

by adding the BCD Data Attribute to the data item. Ispec numerics are always COMP.<br />

$ Numeric data items extracted as part of an Ispec record are extracted as COMP for<br />

MCP based <strong>LINC</strong> Systems, COMP-3 for UNIX, and DISPLAY for OS 2200 based <strong>LINC</strong><br />

Systems. See the COBOL <strong>Manual</strong> for implications of signed points.<br />

$ Numeric data items extracted as part of a Frame have the sign folded into the least<br />

significant digit. See your COBOL manual for a description of the PICTURE clause for<br />

details on folding the sign in.<br />

$ For MAPPER Extract files, numeric data items must have leading signs. To achieve<br />

this, define the relevant numeric data items with the FLOATING.SIGN Data Attribute.<br />

Multiple Extracts to the Same File<br />

If an Extract file has already been accessed by another command, such as a DETERMINE;<br />

ACTUAL or SORT; command, the EXTRACT; command will append data to the existing<br />

file, unless the RESTART; command is used.<br />

If you Extract multiple Frames that include the same data item (from the same Ispec) to an<br />

Extract file, and then read this item back in, you will receive a COBOL error or warning,<br />

and your Reports may not function as intended.<br />

<strong>LINC</strong> does not distinguish the same data item extracted to the same file from different<br />

Frames when that file is read back in.<br />

For example, you may have an Ispec data item CUST.NAME painted in both Frames 10 and<br />

11, and you extract both these Frames to file A. A later DETERMINE; ACTUAL A<br />

EXTRACTED.AS; 10 and a reference to A*CUST.NAME will refer to Extract file records<br />

extracted from both Frame 10 and 11.<br />

v 1-123


EXTRACT (EX)<br />

For an MCP based <strong>LINC</strong> System, COBOL gives an error, but on OS 2200 based <strong>LINC</strong><br />

Systems using the ACOB compiler, only a warning is generated, and COBOL resolves the<br />

problem itself (not necessarily correctly), by using the first definition of the duplicates it<br />

finds.<br />

Compatibility of Extract Files<br />

When extracting Ispecs, Extract files are not compatible between different host types. If<br />

you extract a file on one host type and want to load it into a system that is running on a<br />

different host type, you may need to write additional code to convert some fields into the<br />

correct format. For example, when extracting a Component or Event on UNIX or OS 2200<br />

based <strong>LINC</strong> Systems, the GLB-DTIME field (used internally by <strong>LINC</strong>) can cause problems<br />

when loading the file into LDA.<br />

On UNIX and OS 2200 based <strong>LINC</strong> Systems, extracting a Memo Component will give you<br />

all the user fields and GLB-DTIME. A Standard Component gives you user fields plus<br />

GLB-DTIME and a one-character MAINT field. Events give you user fields and<br />

GLB-DTIME, ACTMTH, GLB.REPORT, INPUT-DATE, ISPEC name, TRANNO, and<br />

LAST-LINE.<br />

Categories of Extract file<br />

There are three categories of Extract file.<br />

$ EXISTING files<br />

These files exist before the Report begins and are retained after the Report ends. To<br />

specify an EXISTING file, use one of the following logic command constructs:<br />

v SET.TITLE; with the EXIST; command option<br />

v DETERMINE; ACTUAL with the EXTRACTED.AS; command option, at the point<br />

from which it was executed (only applies while the command is being executed)<br />

v MATCH; (only applies while the command is being executed)<br />

$ PERMANENT files<br />

These files do not exist before the Report begins, but are retained after the Report<br />

ends. To specify a PERMANENT file, use one of the following logic command<br />

constructs:<br />

v SET.TITLE; (without the EXIST; command option)<br />

v EXTRACT; with the RETAIN.AS; command option<br />

v DETERMINE; ACTUAL with the RETAINED.AS; command option<br />

$ TEMPORARY files<br />

1-124 v


EXTRACT (EX)<br />

These files do not exist before the Report begins, and are deleted after the Report<br />

ends. To specify a TEMPORARY file, use one of the following logic command<br />

constructs (and do not include a SET.TITLE; command):<br />

v EXTRACT; (without the RETAIN.AS; command option)<br />

v DETERMINE; ACTUAL (without the RETAINED.AS; command option)<br />

Extract File Processing<br />

The way an EXTRACT; command handles an Extract file at runtime is influenced by:<br />

$ The category of the Extract file (TEMPORARY, PERMANENT, or EXISTING)<br />

$ Whether it is the first or a subsequent access of the Extract file<br />

A first access is defined as the first execution of any DETERMINE; ACTUAL, SORT ,<br />

EXTRACT, or MATCH; commands for a specific Extract file, either in the logic of the<br />

Report, or following a SET.TITLE; or RESTART; command.<br />

The EXTRACT; command attempts to write a record to the specified Extract File.<br />

$ If this is not the first access of the Extract file, the extracted data will be appended to<br />

the existing file.<br />

$ If this is the first access of the Extract file, the action performed on the file when the<br />

EXTRACT; command is executed depends on the category of the file, as shown in the<br />

following table.<br />

File Status Temporary Extract<br />

File<br />

Permanent Extract<br />

File<br />

File exists Cleared Cleared Cleared<br />

File does not exist Created Created Created<br />

Existing Extract File<br />

At the end of Report execution, the action performed on the file when an EXTRACT;<br />

command has specified that file depends on the category of the file and whether it was<br />

actually accessed, as shown in the following table.<br />

File Status Temporary Extract<br />

File<br />

Permanent Extract<br />

File<br />

Not accessed Deleted Cleared No action<br />

Accessed Deleted Closed Closed<br />

Existing Extract File<br />

v 1-125


EXTRACT (EX)<br />

Syntax<br />

Creation of Persistent Dummy Extract Files in LDA<br />

When the logic below is executed, if the file MISSING.FIL does not exist, a message box<br />

gives the choice of ‘‘Abort, Retry, or Ignore’’. If you choose ‘‘Ignore’’, a dummy file of zero<br />

length is created. If the file title has the EXIST; attribute, the file will persist after the<br />

Report is completed.<br />

<br />

<br />

<br />

<br />

<br />

Subsequent attempts to read a file created as a result of an ‘‘Ignore’’ response will not cause<br />

the missing file message box to be displayed. However, GLB.STATUS will be set on the<br />

first read of each attempt.<br />

DD DDBDD DDBDDDDDDDDDDDDDDDDDDDDBD <br />

3 3 3<br />

CDDDD DDDDY 3<br />

3 3<br />

@DDDD DDBDDDDDDDDDDDDDDDDDDDDDD4<br />

3 3<br />

@D DBDDDDDDDDDD4<br />

3 3<br />

@D DY<br />

DD DD DDBDDDDDDDDDDDDDDDDDDDDDDBDD4<br />

3 3<br />

@D DD DY<br />

header<br />

Report Frame used to provide header records for an Extract file in MAPPER form. The<br />

header included in an extracted Report Frame is that specified in the first EXTRACT;<br />

command for that Frame.<br />

Note: MAPPER header frames specified in the EXTRACT; command are ignored in<br />

LDA Run Time. Records in the Extract file are produced in MAPPER format.<br />

You can add appropriate MAPPER header information to the Extract file after<br />

it has been created.<br />

The MAP command in the <strong>LINC</strong> Painter can be used to create a default heading Frame.<br />

The MAPPER; command can abbreviated as MP.<br />

RETAIN.AS; file<br />

This command option enables you to save the Extract file (for example, for use in other<br />

Reports) in the file specified by the value of file, an alphanumeric literal.<br />

1-126 v


Examples<br />

There are restrictions on the name of the file:<br />

EXTRACT (EX)<br />

$ For an MCP based <strong>LINC</strong> System, the file name can contain any number of levels, but<br />

cannot exceed 18 characters (including slashes). System usercodes cannot be<br />

included.<br />

$ On OS 2200 based <strong>LINC</strong> Systems, the file name may not contain more than one asterisk<br />

(*) character, and cannot be longer than 18 characters. If no asterisk character is used,<br />

the maximum is 12 characters.<br />

Note: At runtime, if you want to write the extracted data to a different file<br />

from that named by the RETAIN.AS; command option, you can add<br />

the appropriate @USE statement into the ECL generated with each<br />

Report, prior to the @XQT of the Report.<br />

$ For a UNIX <strong>LINC</strong> System, the name may be any valid pathname, with a maximum<br />

length of 18 characters, but any portion of the pathname between successive slash (/)<br />

characters cannot exceed 14 characters.<br />

On all host types, assignment of the file name is not dynamic, but is always assigned to the<br />

last RETAIN.AS; command option in the current logic, whether that command is executed<br />

or not. For more details, see "Example 3" in the following subsection.<br />

RETAIN.AS may be abbreviated as RAS or RTN.<br />

Example 1<br />

In the following example:<br />

1. Selected INVOICE records on a Profile are read.<br />

2. Each selected record is stored in turn in an Extract file.<br />

3. This file is then sorted on the data items SALE and STATS.<br />

4. Selected records are then printed.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

v 1-127


EXTRACT (EX)<br />

Example 2<br />

In the following example of an extracted Frame:<br />

$ Frame 21 has three Data items: CUST.CUSTOMER, AMOUNT, and PBALANCE1 (LE; 6<br />

ED; +).<br />

$ Frame 22 has three corresponding items: A*CUST.CUSTOMER, A*AMOUNT and<br />

PBALANCE2 (LE; 6 ED; +).<br />

$ The following logic is included in the Main Logic of the Report.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Example 3<br />

The next example illustrates that assignment of the name of the Extract file by the<br />

RETAIN.AS; command option is not dynamic, but is always that of the last RETAIN.AS;<br />

command option specified in the Report.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

1-128 v


<strong>Reference</strong>s<br />

EXTRACT (EX)<br />

The file will be retained under the name BB, even when FIELD1 contains the values A or C.<br />

To prevent this, use the SET.TITLE; command, as follows:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

"MAP" in your <strong>LINC</strong> Generate <strong>Reference</strong> <strong>Manual</strong>: Painter and Editor for creating Extract<br />

file headers in MAPPER format.<br />

‘‘DETERMINE; ACTUAL’’ for details of reading an extracted file.<br />

‘‘SORT (SO)’’.<br />

‘‘SET.TITLE (SETT)’’.<br />

"BCD" in your <strong>LINC</strong> Generate <strong>Reference</strong> <strong>Manual</strong>: Painter and Editor.<br />

"BINARY (BIN)" in your <strong>LINC</strong> Generate <strong>Reference</strong> <strong>Manual</strong>: Painter and Editor.<br />

The "Extract Files" and MAPPER Extract Files" subsections in the "Interfacing to Other<br />

Systems" sectioninyour<strong>LINC</strong> Administration and Operations Guide for the relevant<br />

host type.<br />

v 1-129


FLAG (FL, FG)<br />

FLAG (FL, FG)<br />

The FLAG; command is used to directly modify data in the <strong>LINC</strong> database.<br />

Note: A FLAG command causes a database update, regardless of the setting of<br />

GLB.ERROR (unlike an AUTO.WRITE; command, or Ispec automatic update at<br />

the end of Main logic).<br />

For flagging a Setup Data item array to an alphanumeric data item, use the FLAG.ARRAY;<br />

command.<br />

What You Cannot Use a FLAG; Command For<br />

You cannot use the FLAG; command to:<br />

$ Change the value of the Ordinate of a Component.<br />

$ Store an alphanumeric value in a numeric data item.<br />

$ Move the value of a Data item to another Data item in the same Ispec. If this is<br />

required, use a Setup Data item as intermediate storage. (See "Before Executing a<br />

FLAG; Command".)<br />

Before Executing a FLAG; Command<br />

Before executing a FLAG; command, the record to be changed should be retrieved. When<br />

the FLAG; command is executed, the record is again retrieved from the <strong>LINC</strong> database, to<br />

reduce the chance of data corruption. Since the record in memory is overwritten, it is<br />

advisable to hold required values in Setup Data items until after the execution of any<br />

FLAG; commands. (This is why you cannot use the FLAG; command to move the value of a<br />

Data item to another Data item in the same Ispec. Use a Setup Data item as intermediate<br />

storage.)<br />

Grouping FLAG; Commands<br />

Consecutive FLAG; commands are grouped together, with the combined database record<br />

changes being written to the database in one operation. When the FLAG; commands are<br />

separated by other commands, multiple database update operations will occur, possibly<br />

causing unexpected performance degradation.<br />

Record Locking<br />

The first FLAG; command locks the record being flagged, prior to storing it. The record is<br />

not freed until End of Transaction.<br />

1-130 v


Syntax<br />

Truncation of Data<br />

FLAG (FL, FG)<br />

If you move a mixed alphanumeric and Hankaku-Katakana value into an EDIT; W data<br />

item, the value is moved character by character, and is truncated to the length of the<br />

data item. However, if you move a mixed alphanumeric and Hankaku-Katakana value into<br />

an EDIT; A data item, the value is moved byte by byte and is truncated to the length of the<br />

data item. If the truncation occurs after the first byte of a double-byte Hankaku-Katakana<br />

character, this will result in an invalid character.<br />

Note: EDIT; W data items are not implemented in LDA.<br />

DDDD DDBDD DDBDD DDDDD4<br />

3 3<br />

@DD DDY<br />

The following table shows the types of data item 2 that can be compared to each type of<br />

data item 1. For example, if data item 1 is a pure Kanji data item, it can only be compared<br />

with another Kanji data item in data item 2.<br />

If data item 1 is... Then data item 2 can be...<br />

Alpha A<br />

Alpha Literal A<br />

Numeric ANSCD<br />

Numeric Literal ANSCD<br />

Signed NSCD<br />

Signed Decimal Literal NSCD<br />

Decimals NSCD<br />

Date ANSCD<br />

Kanji K<br />

GLB.ZEROS ANSCDK<br />

Legend continued<br />

A Alpha<br />

N Numeric<br />

S Signed<br />

C Decimals<br />

D Date<br />

K Kanji<br />

v 1-131


FLAG (FL, FG)<br />

Examples<br />

<strong>Reference</strong><br />

continued<br />

If data item 1 is... Then data item 2 can be...<br />

GLB.SPACES, GLB.HIGH,<br />

GLB.LOW<br />

Legend<br />

A Alpha<br />

N Numeric<br />

S Signed<br />

C Decimals<br />

D Date<br />

K Kanji<br />

In a Report, a flag is set (the data item PRINTED in the EVENT data set) when an Invoice is<br />

printed.<br />

AK<br />

<br />

<br />

<br />

<br />

<br />

‘‘FLAG.ARRAY (FLA)’’.<br />

1-132 v


FLAG.ARRAY (FLA)<br />

Syntax<br />

FLAG.ARRAY (FLA)<br />

The FLAG.ARRAY; command writes the contents of a Setup Data array or Global Setup<br />

Data array to the <strong>LINC</strong> database. It performs the same function for arrays as the FLAG;<br />

command does for data item values.<br />

Note: Numeric Setup Data array items are implemented as COBOL<br />

COMPUTATIONAL fields. A move from a numeric array to anything other<br />

than an identically defined numeric array may result in data that is invalid<br />

for use in either computation or display.<br />

Truncation of Data<br />

When moving an array into a data item:<br />

$ You must ensure that the receiving alphanumeric data item is of sufficient size to store<br />

the array.<br />

$ If you move a mixed alphanumeric and Hankaku-Katakana value into an EDIT; W data<br />

item, the value is moved character by character, and is truncated to the length of the<br />

data item. However, if you move a mixed alphanumeric and Hankaku-Katakana value<br />

into an EDIT; A data item, the value is moved byte by byte and is truncated to the<br />

length of the data item. If the truncation occurs after the first byte of a double-byte<br />

Hankaku-Katakana character, this will result in an invalid character.<br />

Note: EDIT; W data items are not implemented in LDA.<br />

DD DDDD DDDDD DDDDDDDDDDDDDD4<br />

array<br />

Examples<br />

A Setup or Global Setup Data array.<br />

data item<br />

An alphanumeric data item.<br />

In the following example, a Setup Data array is stored in the <strong>LINC</strong> database.<br />

<br />

<br />

<br />

v 1-133


FLAG.ARRAY (FLA)<br />

<strong>Reference</strong><br />

‘‘FLAG (FL, FG)’’.<br />

1-134 v


GET.LENGTH; (GL)<br />

Syntax<br />

Examples<br />

GET.LENGTH; (GL)<br />

The GET.LENGTH; commands returns the length of the data in alphanumeric (EDIT; A),<br />

Kanji (EDIT; K), and Hankaku-Katakana (EDIT; W) data items. The length includes leading<br />

and embedded spaces, but not trailing spaces. The results are stored in the System Data<br />

items GLB.LENGTH and GLB.FULLLENGTH. If the data item is spaces, both System Data<br />

items are set to zero.<br />

GLB.LENGTH is the length of the data item in characters. GLB.FULLLENGTH is the length<br />

in bytes. GLB.FULLLENGTH will equal GLB.LENGTH except for data items that contain<br />

Hankaku-Katakana characters in UNIX <strong>LINC</strong> Systems. See the description of<br />

Hankaku-Katakana characters in your <strong>LINC</strong> Generate <strong>Reference</strong> <strong>Manual</strong>: Painter and<br />

Editor, for further details.<br />

Note: GLB.FULLLENGTH is not implemented in LDA, so GET.LENGTH returns only<br />

the length in characters and stores the result in GLB.LENGTH.<br />

The maximum length that can be determined by the GET.LENGTH; command is 2000<br />

characters. If the truncated data exceeds this length, GLB.LENGTH is set to 2000.<br />

Note: A two-byte KANJI character is counted as one character in GLB.LENGTH.<br />

DDDD DDDD DDDDDDDDDDDDDDDDDDDD4<br />

data name<br />

Thedataitemdata name must be EDIT; A, EDIT; K, or EDIT; W.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

v 1-135


GET.LENGTH; (GL)<br />

In this example, when the ATTACH&SPACE; command is executed, the value of<br />

GLB.LENGTH is set to 9, the length of ABCDE FGH. This value is truncated to ABCDE and<br />

stored in SD-DATA1. The difference in values between SD-LENGTH and GLB.LENGTH<br />

indicates that truncation has occurred.<br />

1-136 v


GLB.STATUS (GS)<br />

Syntax<br />

GLB.STATUS (GS)<br />

The GLB.STATUS; command directs the system error status of a command result to a<br />

specified data item, instead of using the System Data item GLB.STATUS.<br />

The GLB.STATUS; command is used as follows:<br />

$ The GLB.STATUS; command is associated with another command, and it must appear<br />

on the same logic line as that command (or as part of the last line if the command<br />

spans several lines).<br />

$ Before the associated command is executed, the data item specified by the<br />

GLB.STATUS; command is cleared (set to the value of the System Data item<br />

GLB.SPACES).<br />

$ The result is moved to the data item after the execution of the associated command or<br />

completion of the loop created by the associated command.<br />

$ Valid associated commands are:<br />

v ADD;<br />

v ATTRIBUTE;<br />

v COMPUTE; and COMPUTE.FROM;<br />

v DATE.CONVERT;<br />

v DETERMINE; commands<br />

v DIVIDE;<br />

v LOOK.UP; commands<br />

v MATCH;<br />

v MOVE;<br />

v MULTIPLY;<br />

v SUBTRACT;<br />

v WAKE.UP;<br />

$ For LDA, you must use GS; (and not GLB.STATUS;). GLB.STATUS is always<br />

interpreted as the System Data item, and may cause a syntax error.<br />

Note: The GLB.STATUS; command has an additional effect when included as part of<br />

the MOVE; command. See the MOVE; command for further details.<br />

DDDD DDD DDDDDDDDDDDDDDDDDDDDDDDD4<br />

data item<br />

The data item must be alphanumeric and have a minimum length of five.<br />

v 1-137


GLB.STATUS (GS)<br />

Example<br />

<strong>Reference</strong>s<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

‘‘GLB.STATUS’’.<br />

‘‘MOVE (MV)’’ (‘‘Setting GLB.STATUS’’).<br />

1-138 v


INITIALIZE (INIT)<br />

Syntax<br />

INITIALIZE (INIT)<br />

The initialization of Group Setup Data items and Group Global Setup Data items is subject<br />

to different behavior on the different host types. For example, for MCP based <strong>LINC</strong><br />

Systems and LDA, you can move spaces to a Group Setup Data item that contains numeric<br />

Setup Data items. These numeric data items are interpreted as containing zero. For OS<br />

2200 and UNIX <strong>LINC</strong> Systems, this is not the case. Moving alphanumeric values to Group<br />

Setup Data items that contain numeric Setup Data items can cause unpredictable results<br />

on a host that uses a different character set (EBCDIC or ASCII).<br />

The INITIALIZE; command ensures that initialization is the same across all host types. In<br />

addition, the command offers a wide range of choices of initial value.<br />

Note: Although this command will initialize the values of Setup Data items (and<br />

Global Setup Data items) with initial values, it strongly recommended that the<br />

values of these items are not changed in your logic. See your <strong>LINC</strong> Generate<br />

Operations Guide.<br />

Data Types<br />

For the INITIALIZE; command:<br />

$ The term alphanumeric includes KANJI (EDIT; K) and Hankaku-Katakana (EDIT; W)<br />

characters.<br />

$ Date values (EDIT; D) are treated as numeric values.<br />

DD DD DBDDDDDDDDDDDBDDD4<br />

3 3<br />

@D DY<br />

item<br />

This is a Global Setup Data item or Setup Data item. Must not be a Setup Data array or<br />

Global Setup Data array.<br />

setting<br />

Specifies the type of initialization. Values of setting are contained in the following table.<br />

v 1-139


INITIALIZE (INIT)<br />

Example<br />

<strong>Reference</strong>s<br />

Setting Description<br />

(none) Sets all alphanumeric items to spaces and all numerics to<br />

zeros.<br />

GLB.ZEROS Sets all items to zeros.<br />

GLB.HIGH Sets alphanumeric values to highest alphanumeric value, and<br />

numerics to all 9s.<br />

GLB.MAX Same as GLB.HIGH.<br />

GLB.LOW Sets all alphanumeric items to lowest alphanumeric value, all<br />

numericstozero.<br />

GLB.MIN Sets all alphanumeric items to lowest alphanumeric value, all<br />

unsigned numerics to zero, and all signed numerics to minus all<br />

9s.<br />

In the following logic, the Group Setup Data item SD-MYGROUP is defined, and then the<br />

INITIALIZE; command is used to set the numeric Setup Data items to zero and the<br />

alphanumeric Setup Data item to spaces.<br />

<br />

<br />

<br />

<br />

<br />

<br />

"Types of Data Item" in your <strong>LINC</strong> Generate Operations Guide.<br />

1-140 v


INSERT (INS)<br />

Syntax<br />

Example<br />

INSERT (INS)<br />

The INSERT; command inserts a Global Logic into an Ispec or Report. The INSERT;<br />

command can also be used to insert a Report into another Report. The inserted Report<br />

must not contain logic.<br />

Note: An INSERT; of a Performable Global Logic will not be marked as in error even<br />

if the Performable Global Logic contains errors. Error checking of Performable<br />

Global Logics is only performed when the logic is entered.<br />

Caution<br />

When inserting one Report into another, duplicate Frame numbers may result in<br />

severe truncation and overwriting in those Frames.<br />

In LDA Run Time, Macro Global Logics may not be used with this command.<br />

Removing the insertion of a Report<br />

When you remove the INSERT; command that inserts a Report, the inserted Frames still<br />

appear on the Frame Descriptions screen for the Report, and are listed by the WHFRAMES<br />

Inquiry mode command.<br />

DD DDDBDDD DDDDBDDDDDD4<br />

3 3<br />

CDDD DDD4<br />

3 3<br />

@DDDDDDDDDDDD DDDDDDDDDDDDY<br />

report<br />

<strong>Reference</strong>s<br />

An existing Report to be inserted into the current Report. If the inserted Report contains<br />

logic, the logic is not inserted. All Report Frame data and displays are validated, and all of<br />

the painted Frames are inserted into the current Report.<br />

<br />

"Using Global Logics" in your <strong>LINC</strong> Generate Operations Guide.<br />

v 1-141


JUMP.TO (JTO)<br />

JUMP.TO (JTO)<br />

Syntax<br />

Examples<br />

The JUMP.TO; command causes a branch to a point in the logic specified by a LABEL;<br />

command. Any number of JUMP.TO; commands may refer to one label.<br />

A loop or a nested loop is terminated by branching out of the loop.<br />

The following restrictions also apply:<br />

$ A branch into a loop statement is not permitted.<br />

$ Branching between different types of logic (Pre-Screen, Pre-<strong>LINC</strong> or Main logic), is not<br />

permitted.<br />

$ A JUMP.TO; command in a Report Frame must have an associated LABEL; command<br />

in that Frame. Branching between Report Frames is not permitted.<br />

$ The destination of the JUMP.TO; command cannot be earlier in the logic; that is, you<br />

can only jump forwards.<br />

DDDDD DDD DDDDDDDDDDDDDDDDDDDDDDDDDDDD4<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

1-142 v


<strong>Reference</strong><br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

‘‘LABEL (LAB)’’.<br />

JUMP.TO (JTO)<br />

v 1-143


KEYONLY<br />

KEYONLY<br />

Note: This command option is relevant only to MCP based <strong>LINC</strong> Systems. It is<br />

ignored in LDA Run Time and on all other host types.<br />

The KEYONLY; command option increases the efficiency of LOOK.UP; and DETERMINE;<br />

commands by limiting data retrieval to data items and Ordinates declared in the Profile<br />

description only. This eliminates unnecessary I/O operations when other data items are not<br />

required.<br />

Key data is stored on a Profile, and includes:<br />

$ Profile ORDINATE data items<br />

$ The MAINT System data item in Automaint Profiles and automatic Profiles over<br />

Standard and Table Components<br />

$ Profile Data items<br />

Restrictions and Limitations<br />

LOOK.UP; retrievals may use the KEYONLY; command option only on Standard and Table<br />

Components.<br />

If you reference a non-key data item it will contain the GLB.HIGH value. This is because<br />

<strong>LINC</strong> fills the record buffer with GLB.HIGH before the database access is performed.<br />

Therefore, access to non-key data items, while syntactically valid, may produce unwanted<br />

results.<br />

KEYONLY; is ignored for Integrity systems, and is not allowed with:<br />

$ The SECURE; command option in the same data retrieval command<br />

$ EXTRACT files<br />

$ DETERMINE; commands on Ispecs not using Profiles<br />

$ DETERMINE; TOTAL commands<br />

$ LOOK.UP; of a direct component<br />

$ LOOK.UP; EVERY EVENT or memo component<br />

When CCSVERSION is set, full database record retrieval is always performed, and<br />

KEYONLY will have no effect.<br />

The KEYONLY; command option must be included on the same line as the DETERMINE;<br />

or LOOK.UP; command.<br />

1-144 v


Syntax<br />

Example<br />

<strong>Reference</strong>s<br />

Caution<br />

KEYONLY<br />

Do not code FLAG; commands to an Ispec (or EVENT) which has been read with<br />

KEYONLY, as the KEYONLY read does not bring the record into memory. The<br />

nominal record in memory is the record from the previous non-KEYONLY read. The<br />

FLAG; command would result in an unexpected record being updated.<br />

DDDDDDDD DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD4<br />

In the following example, you want to validate a supplier name using the Component<br />

SUPP, with minimal database access. The Ordinate for the Component SUPP contains the<br />

Supplier name. Your current supplier name is stored in the data item SUPPNAME, which<br />

has compatible edit characteristics.<br />

<br />

<br />

<br />

‘‘GLB.STATUS (GS)’’.<br />

‘‘SECURE’’.<br />

‘‘SERIAL’’.<br />

"Understanding the <strong>LINC</strong> Cycle" in your <strong>LINC</strong> Generate Operations Guide.<br />

v 1-145


LABEL (LAB)<br />

LABEL (LAB)<br />

Syntax<br />

Example<br />

<strong>Reference</strong><br />

The LABEL; command defines the destination for preceding JUMP.TO; commands. The<br />

same label name can be used by more than one JUMP.TO; command, but a label must<br />

follow all JUMP.TO; commands referring to it in the logic.<br />

The label name is a literal of up to 18 characters. Label names must be unique within the<br />

frame (for <strong>LINC</strong> Reports) or within structures (for Ispecs or global logics).<br />

DDDDD DDD DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD4<br />

<br />

<br />

<br />

<br />

‘‘JUMP.TO (JTO)’’.<br />

1-146 v


LEFT.ALIGN (LA)<br />

Syntax<br />

LEFT.ALIGN (LA)<br />

The LEFT.ALIGN; command removes leading zeros from a numeric data item and moves<br />

the result, left-aligned, and without separators, into an alphanumeric data item. Trailing<br />

decimal zeros are not removed.<br />

Moving Non-Zero Values<br />

If the numeric data item is not zero:<br />

$ The RETAIN.ZERO; command option has no effect.<br />

$ If the numeric data item is signed and it has a negative value, a leading minus sign is<br />

output.<br />

$ The number of decimal digits output is determined by the DECIMALS Data Attribute of<br />

the numeric data item. Trailing zeros are not removed.<br />

$ A decimal point character is output before any decimal digits. If a decimal character is<br />

specified in the LEFT.ALIGN; command, the default decimal character, and any<br />

DECIMAL.CHAR Data Attribute, are overridden.<br />

Moving a Zero Value<br />

If the numeric data item is zero:<br />

$ Spaces are output if the RETAIN.ZERO; command option is not specified (whether a<br />

decimal character is also specified or not).<br />

$ A single zero is output in the leftmost character position if the RETAIN.ZERO;<br />

command option is specified, provided a decimal character is not also specified.<br />

$ The specified decimal character is output followed by the number of zeros specified by<br />

the DECIMALS Data Attribute, if both the RETAIN.ZERO; command option and a<br />

decimal character are specified in the command.<br />

Truncation<br />

If the alphanumeric item does not have sufficient length, truncation is at the right.<br />

DDD DDDDD DDDDD DDDDDD <br />

DDDDDDBDDDDDDDDDDDDDDDDBDDDDDDBDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDDD4<br />

3 3 3 3<br />

@D DY @D DY<br />

numeric data<br />

A numeric data item containing the data to be left-aligned.<br />

v 1-147


LEFT.ALIGN (LA)<br />

Examples<br />

Example 1<br />

alphanumeric item<br />

The receiving alphanumeric data item. If the data item is negative, a leading minus sign will<br />

be moved to the data item.<br />

RETAIN.ZERO;<br />

If specified:<br />

$ A zero value is output as a single left-aligned zero, provided a decimal character value<br />

is not specified.<br />

$ A zero value is output as the decimal character followed by the number of zeros<br />

specified by the DECIMALS Data Attribute when a decimal character is also specified.<br />

$ It has no effect with non-zero values.<br />

If not specified, zero values are output as spaces (whether a decimal character value is<br />

specified or not).<br />

A valid abbreviation for RETAIN.ZERO is RZ.<br />

decimal character<br />

Only a period or comma is valid. Enclosing parentheses are mandatory.<br />

This one-character value specifies the decimal point character to be output for numeric<br />

items with the DECIMALS Data Attribute. This value overrides the DECIMAL.CHAR Data<br />

Attribute (if any) and the default decimal character entered on the Report or Ispec Options<br />

screen.<br />

The following command is included in logic:<br />

<br />

Results for various values and attributes of NUMIN are given in the following table. (The<br />

ALPHOUT value is shown with each blank represented with a small b character.)<br />

NUMIN Value NUMIN DECIMALS; ALPHOUT (LENGTH; 9)<br />

724 None 724bbbbbb<br />

0 None bbbbbbbbb<br />

0 1ormore bbbbbbbbb<br />

123.45 2 123.45bbb<br />

continued<br />

1-148 v


Example 2<br />

continued<br />

LEFT.ALIGN (LA)<br />

NUMIN Value NUMIN DECIMALS; ALPHOUT (LENGTH; 9)<br />

123.45 4 123.4500b<br />

-724 None -724bbbbb<br />

-123.45 3 -123.450b<br />

-123.45 6 -123.4500<br />

-12345.6789 4 -12345.67<br />

The following command is included in logic:<br />

<br />

Results for non-zero values are as for Example 1. Results for zero values are shown in the<br />

following table.<br />

NUMIN Value NUMIN DECIMALS; ALPHOUT (LENGTH; 9)<br />

0 None 0bbbbbbbb<br />

0 1+ .0bbbbbbb<br />

Example 3 (With Decimal Character)<br />

The following command is included in logic:<br />

<br />

Results for whole number values are as for example 1. Results for other values are shown<br />

in the following table.<br />

NUMIN Value NUMIN DECIMALS; ALPHOUT (LENGTH; 9)<br />

0 None bbbbbbbbb<br />

0 4 ,0000bbbb<br />

123.45 2 123,45bbb<br />

-123.45 3 -123,450b<br />

0.12 2 ,12bbbbbb<br />

continued<br />

v 1-149


LEFT.ALIGN (LA)<br />

continued<br />

NUMIN Value NUMIN DECIMALS; ALPHOUT (LENGTH; 9)<br />

-0.12 3 -,120bbbb<br />

Example 4 (RZ and a Decimal Character)<br />

The following command is included in logic:<br />

<br />

Results for whole number values are as for Example 1. Results for other non-zero values<br />

are as for Example 3. Results for zero values are shown in the following table.<br />

NUMIN Value NUMIN DECIMALS; ALPHOUT (LENGTH; 9)<br />

0 None 0bbbbbbbb<br />

0 2 ,00bbbbbb<br />

0 4 ,0000bbbb<br />

0 8+ ,00000000<br />

1-150 v


LOAD<br />

LOAD<br />

The LOAD; command applies to the Fast Database Load feature on OS 2200 based hosts<br />

only.<br />

When you create a Report to run a Fast Load, use the LOAD; command to define how the<br />

format of your external input file relates to the Ispec into which you are loading your data.<br />

The Ispec item name is validated to ensure that it is an I/O or Output item. There is no<br />

validation on the edit type of the input. Loading will occur unless it is rejected by the<br />

RDMUTL utility.<br />

Considerations for Using the LOAD; Command<br />

The following restrictions should be noted in regard to your LOAD; data items:<br />

$ You must include a LOAD; command for each field of your input file, and associate it<br />

with the appropriate data item in your target Ispec. For fields that are not to be loaded,<br />

code the LOAD; command with the length but no data item, which specifies that the<br />

field is a filler.<br />

$ LOAD; commands must be in the sequence of the fields on your input file. Each data<br />

item in your Ispec can be loaded only from a single field defined with the LOAD;<br />

command. Checks are performed to ensure that no duplicates exist.<br />

$ The data item can be a System Data item such as GLB-DTIME, MAINT, or ACTMTH.<br />

GLB-DTIME should be unique across all records in your Ispec.<br />

$ The current or a future load may fail, or a future reorganization may fail if you load a<br />

field into records that may not be unique. If the definition does not include a field to be<br />

loaded into GLB-DTIME, then the load process will append a unique GLB-DTIME field<br />

to each record of the input file. This will involve preprocessing the file, and appending<br />

values to the end of each record from where GLB-DTIME will be loaded.<br />

$ Not every data item in your Ispec needs to be related to the input file. If your input<br />

contains fields that are not be loaded, you should write a space/zero as the first two<br />

bytes of the record when creating the input file. When you define the Fast Load options<br />

for your Report, set the Space/Zero leads each Record field to Y. If you want to<br />

assign a constant value to a field, you must do this at the time of creating the input file.<br />

This load process cannot assign constant values other than spaces or zeros to fields.<br />

$ The loading of numerics is right-aligned. Consult your Relational Data Management<br />

System (RDMS 2200) Administration Guide for a description of how to prepare a file<br />

for loading, and the particular requirements of the file, especially where numeric fields<br />

are to be loaded.<br />

$ When an alphanumeric item is longer than the data item into which it is being loaded,<br />

the value of the item will be truncated from the right.<br />

$ When a numeric item is longer than the data item into which it is being loaded, no<br />

truncation occurs. This is because RDMSLOAD accepts a wide variety of lengths for<br />

numeric fields. You must ensure that your numerics fit the size specified in the<br />

definition of the Ispec being loaded.<br />

v 1-151


LOAD<br />

Syntax<br />

Example<br />

<strong>Reference</strong>s<br />

$ You may not use exponential notation for numeric data.<br />

DDD DDDD DD DDDBDDDDDDDDDDDDDDDDBDDD4<br />

3 3<br />

@DD DDDY<br />

In this example, you input file is as follows:<br />

<br />

<br />

<br />

<br />

To relate to the input file in this example, your LOAD; commands could be as follows. In<br />

this example, CUST-INITS is not required to be loaded:<br />

<br />

<br />

<br />

<br />

"Fast <strong>LINC</strong> Database Load" in your OS 2200 Based <strong>LINC</strong> Administration and Operations<br />

Guide.<br />

1-152 v


LOOK.UP; (LU;) Commands<br />

LOOK.UP; (LU;) Commands<br />

The LOOK.UP; command variants are used to read data into memory from the <strong>LINC</strong><br />

database, without the use of a Profile.<br />

The particular variant controls the number and manner in which records are read into<br />

memory. Once a record is in memory, it may be manipulated by your associated logic. All<br />

Data items of the record are available to the logic (unless, on MCP based <strong>LINC</strong> Systems,<br />

the KEYONLY; command option is specified).<br />

Variants of the LOOK.UP; Command<br />

The variants of the LOOK.UP; command are summarized in the following table. More<br />

detailed explanations are given under separate command descriptions for each variant,<br />

following this general command description.<br />

Variant Summary of Operation<br />

LOOK.UP; Reads the single Component record for the specified Ordinate value.<br />

LOOK.UP; EVERY Creates a loop that reads each record from a Component, Memo<br />

Component, or the Event dataset.<br />

LOOK.UP; FROM Creates a loop that reads each record from a Component, starting<br />

from the specified Ordinate value.<br />

LOOK.UP; GROUP Creates a loop that reads each record from a Component, between<br />

specified Ordinate values. The order is specified as part of the<br />

command.<br />

Where a loop is created by a variant of the LOOK.UP; command, any logic contained in this<br />

loop is executed for each record read. An END; or END.EXIT; command must terminate<br />

the loop.<br />

Setting of GLB.STATUS<br />

In Host <strong>LINC</strong><br />

If a command fails to retrieve any record (that is, no record satisfies the specified criteria),<br />

all variants of the LOOK.UP; command with one exception, set GLB.STATUS to *****. The<br />

exception is a single LOOK.UP; command in Ispec logic, which does not set GLB.STATUS.<br />

If you use the GLB.STATUS; command with a single LOOK.UP; command in Ispec logic,<br />

then the named data item is set.<br />

If any record is retrieved, GLB.STATUS is not set by a LOOK.UP; command. GLB.STATUS<br />

is not set when end-of-file is detected.<br />

v 1-153


LOOK.UP; (LU;) Commands<br />

Single record LOOK.UP; commands in Performable Global Logics behave differently<br />

depending on whether they are inserted in a Report or inserted in an Ispec., where that<br />

Global Logic attempts to look up a non-existent key. The command sets GLB.STATUS to<br />

*****, and processing continues from after the LOOK.UP; command.<br />

The contents of GLB.STATUS should always be checked after a LOOK.UP; command in a<br />

Report or, if a loop is created, after the END; or END.EXIT; command of that loop.<br />

The value of GLB.STATUS resulting from the LOOK.UP; command can be directed to<br />

another data item by using the GLB.STATUS; command. This is especially useful where<br />

many commands can update GLB.STATUS, or if you want to test the success of a single<br />

LOOK.UP; command.<br />

In LDA<br />

In Ispecs, if a single LOOK.UP; command fails to find a record and the GS; command is not<br />

included, an error message appears. If the GS; command is included, the error is<br />

suppressed and the data item referenced by the GS; command is set to *****.<br />

For other LOOK.UP; command variants, if no record is found, GLB.STATUS is set to *****.<br />

If the first attempt is successful, GLB.STATUS will not be set in the event of a subsequent<br />

failure to retrieve a record. It is not set at End-Of-File, for example.<br />

Always check the contents of GLB.STATUS after a LOOK.UP; command or, if a loop is<br />

created, after the END; or END.EXIT; command of that loop.<br />

The new value of GLB.STATUS, resulting from the LOOK.UP; command, can be directed to<br />

another data item by the GS; command. This is especially useful where many commands<br />

may set GLB.STATUS.<br />

In Reports, GLB.STATUS is set to ***** for all variants of the LOOK.UP; command,<br />

including the single version.<br />

Logically Deleted Records<br />

In Ispec logic, logically deleted records are read into memory by a LOOK.UP; command,<br />

but they are effectively ignored; that is, they are not returned for use by your <strong>LINC</strong> logic. If,<br />

however, the last record read by a LOOK.UP; command is logically deleted, it will remain in<br />

memory after the command . You should test for this situation. See the following example.<br />

The setting of GLB.STATUS also depends on whether records, although physically present,<br />

are marked as logically deleted. If every record retrieved by a LOOK.UP; FROM or<br />

LOOK.UP; EVERY is a logically deleted record, then GLB.STATUS will be set to *****.<br />

In Report logic, logically deleted records are brought into memory by LOOK.UP;<br />

commands. You must include specific logic if you want to exclude logically deleted<br />

records.<br />

1-154 v


LOOK.UP; Commands for UNIX ORACLE <strong>LINC</strong> Systems<br />

<strong>Reference</strong>s<br />

LOOK.UP; (LU;) Commands<br />

For UNIX <strong>LINC</strong> Systems, on occasion ORACLE may select the wrong index (Profile),<br />

where the Indexes have identical keys but in a different order. This can have performance<br />

implications for your UNIX <strong>LINC</strong> System. This issue and suggested solutions are described<br />

in your UNIX <strong>LINC</strong> Administration and Operations Guide.<br />

‘‘SECURE’’.<br />

‘‘SERIAL’’.<br />

‘‘MULTI’’ (2200 Series target hosts only).<br />

‘‘GLB.STATUS’’.<br />

‘‘GLB.STATUS (GS)’’.<br />

‘‘DETERMINE; (DT) Commands’’.<br />

v 1-155


LOOK.UP; (LU)<br />

LOOK.UP; (LU)<br />

Syntax<br />

Examples<br />

<strong>Reference</strong>s<br />

The single LOOK.UP; command variant is used to read a single Standard or Table<br />

Component record whose Ordinate value matches that contained in a data item. This data<br />

item must have compatible edit characteristics with the Ordinate.<br />

The single LOOK.UP command variant does one single read, and does not have an<br />

associated END; command, END.NO.PRINT command, or END.EXIT; command.<br />

In Ispec logic, if a LOOK.UP; command fails to find a record and the GLB.STATUS<br />

command is not included, an automatic error message is returned to the operator and no<br />

further logic is processed. The System Data item GLB.STATUS is not affected by the single<br />

LOOK.UP; command variant in Ispec logic. However, if you include the GLB.STATUS;<br />

command with the LOOK.UP; command, the data item is set to ***** and processing<br />

continues.<br />

In Report logic, GLB.STATUS is set to ***** if a record is not found, and execution<br />

continues.<br />

DD DD DD DDDDDDDDDDDDD <br />

DDDDDDBDDDDDDDDDDDBDDDDDDDDBDDDDDDDDDDDDBDDDDDDDDDDDDD4<br />

3 3 3 3<br />

@D DY CD D4<br />

3 3<br />

@D DY<br />

A product can have two suppliers. The Component PROD has the following data items:<br />

<br />

<br />

<br />

The Component SUPP has an Ordinate SUPPLIER. While an entry in PROD of a value for<br />

SUPPLIER will automatically be validated, SUPPLIER2 must be explicitly validated by<br />

logic, as follows:<br />

<br />

<br />

<br />

If no such supplier is found, a system error message is automatically sent to the operator.<br />

‘‘SECURE’’.<br />

1-156 v


‘‘GLB.STATUS’’.<br />

‘‘GLB.STATUS (GS)’’.<br />

LOOK.UP; (LU)<br />

v 1-157


LOOK.UP; EVERY<br />

LOOK.UP; EVERY<br />

Syntax<br />

Examples<br />

The LOOK.UP; EVERY command is used to read Component, Memo Component, or Event<br />

records into memory. It sequentially reads every record in the requested Ispec. Each new<br />

record overwrites the old one.<br />

For Standard and Table Components, the order in which records are read into memory is<br />

determined by the value of the Ordinate. For Memo Components and Events, records are<br />

read in the order of physical storage. This can change with additions and deletions, or<br />

reorganization.<br />

LOOK.UP; EVERY EVENT is valid in Report logic only.<br />

The LOOK.UP; EVERY command creates a loop, and this loop must be terminated by an<br />

END; or END.EXIT; command, as shown under ‘‘Syntax’’ and ‘‘Examples’’.<br />

DD DDDDBDDDDD DDDDDDBDD <br />

3 3<br />

CDDD DDD4<br />

3 3<br />

@DDDDDDDDD DDDDDDDDDDY<br />

DDDDDDDBDDDDDDDDDDDDDDDBDDDDDBDDDDDDDDDDDDDDDDBDDDD <br />

3 3 3 3<br />

@DDD DDDY CDDD DDDD4<br />

3 3<br />

@DDD DDDY<br />

DDDBDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDDDDDDDDDDDDDDDDD4<br />

3 3<br />

@D DD DY<br />

The following example finds the tax rate for a taxable amount entered by the user. The<br />

Component TAX has the Ordinate TAXRANGE and a Data item RATE with the following<br />

values in four different records.<br />

TAXRANGE 1 10000 30000 50000<br />

RATE 0 .15 .25 .35<br />

The tax rates are to be applied as shown in the following table.<br />

1-158 v


<strong>Reference</strong>s<br />

LOOK.UP; EVERY<br />

RANGE 1-9999 10000-29999 30000-49999 50000+<br />

RATE 0 .15 .25 .35<br />

The Event PAY includes the following data items and logic:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

‘‘SERIAL’’ and ‘‘SECURE’’.<br />

‘‘MULTI’’ (2200 Series target hosts only).<br />

‘‘GLB.STATUS’’.<br />

‘‘GLB.STATUS (GS)’’.<br />

v 1-159


LOOK.UP; FROM<br />

LOOK.UP; FROM<br />

Syntax<br />

Examples<br />

<strong>Reference</strong>s<br />

The LOOK.UP; FROM command is used to read records from a Standard, Direct, or Table<br />

Component into memory, starting from a specified Ordinate value.<br />

DD DDD DDD DDDD <br />

DDDDDDBDDDDDDDDDDDDDDDBDDDDDBDDDDDDDDDDDDDDDDBDDDDDD <br />

3 3 3 3<br />

@DDD DDDY CDDD DDDD4<br />

3 3<br />

@DDD DDDY<br />

DDDBDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDDDDDDDDDDDDDDDDDD4<br />

3 3<br />

@D DD DY<br />

The following is an example of LOOK.UP; FROM in a report.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

‘‘SERIAL’’ and ‘‘SECURE’’.<br />

‘‘MULTI’’ (2200 Series target hosts only).<br />

‘‘GLB.STATUS’’.<br />

‘‘GLB.STATUS (GS)’’.<br />

1-160 v


LOOK.UP; GROUP<br />

Syntax<br />

LOOK.UP; GROUP<br />

The LOOK.UP; GROUP command is used to read Standard, Direct, or Table Component<br />

records into memory. It enables the following details to be specified:<br />

$ The order in which records are retrieved. Use FROM; to read the Component<br />

Ordinates are read in ascending order, or BACK; to read in reverse order.<br />

$ The initial record to be retrieved. This is defined by the start value that follows the<br />

FROM; or BACK; command option.<br />

$ The final record to be retrieved. This is defined by the end value that follows the<br />

UNTIL; command option. If the UNTIL; command option is not included, the loop is<br />

terminated when there are no more records.<br />

Note: The start and end values should not be altered within a LOOK.UP;<br />

GROUP loop.<br />

Caution<br />

The LOOK.UP; GROUP BACK; command will read at least one record (and lock it, if<br />

the SECURE; command option is used) to find out if there are any records in the<br />

specified range. This record will be locked until the end of the transaction. On an<br />

OS 2200 based <strong>LINC</strong> System, the lock is applied by page and, in the case of a<br />

structure containing 10 records only, for example, they will all be locked until the<br />

end of the transaction.<br />

The record left in memory is not defined when the loop of a LOOK.UP; GROUP command<br />

terminates automatically. The record will differ depending upon the type of host on which<br />

the <strong>LINC</strong> System is running. The current record will remain in memory following a BREAK;<br />

or JUMP.TO; command.<br />

DD DD DBD DBD DDD <br />

3 3<br />

@D DY<br />

DDDDBDDDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDBDDDDDDDDDDDDBDDDDDDDDDD <br />

3 3 3 3<br />

@D DD DDY @DD DY<br />

DDDDBDDDDDDDDDDDDDBDDDDBDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDDDDDDDD4<br />

3 3 3 3<br />

CDD DD4 @D DD DY<br />

3 3<br />

@DD DY<br />

start value<br />

A data item containing the starting value.<br />

v 1-161


LOOK.UP; GROUP<br />

Example<br />

end value<br />

<strong>Reference</strong>s<br />

A data item containing the ending value.<br />

The following example shows a LOOK.UP; GROUP command in a Report.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

In this example, the LOOK.UP; GROUP will read CUST Component records in ascending<br />

order. The first record read will be the first record with an Ordinate equal to or greater<br />

than the value of STARTCUST. The loop will terminate after an Ordinate with a value equal<br />

to or greater than ENDCUST is read, or if there are no records within the specified values.<br />

If no record in the specified range is found, the Setup Data item SD-STATUS is set to *****.<br />

‘‘SERIAL’’ and ‘‘SECURE’’.<br />

‘‘MULTI’’ (2200 Series target hosts only).<br />

‘‘GLB.STATUS’’.<br />

‘‘GLB.STATUS (GS)’’.<br />

1-162 v


LOWER.CASE (LC)<br />

Syntax<br />

<strong>Reference</strong><br />

LOOK.UP; GROUP<br />

The LOWER.CASE; command enables you to convert the value of an alphanumeric data<br />

item to lowercase. The characters A through Z are converted to a through z respectively.<br />

Embedded digits or non-alphabet characters are unchanged.<br />

Data items used in LOWER.CASE; commands cannot exceed 2000 characters.<br />

This command will use the appropriate CCS Version routines if they are available.<br />

Note: OS 2200 based <strong>LINC</strong> Systems support only the US English ASCII character set.<br />

UNIX and MCP based character conversions use standard system utilities.<br />

DDD DDD DDDDDDDDDDDDDDDDDDDD4<br />

data item<br />

An alphanumeric data item, Setup Data item, or Global Setup Data item (including Group<br />

Setup Data items and Group Global Setup Data items). It is not valid for literals.<br />

‘‘UPPER.CASE (UC)’’.<br />

v 1-163


MATCH<br />

MATCH<br />

The MATCH; command is used in Report logic to compare two Extract files. The Extract<br />

files are read in a similar manner to that for a DETERMINE; ACTUAL command, but using<br />

two files instead of one. These files may either be read simultaneously, or one file may be<br />

read repeatedly until the user-defined keys in that file match up with the keys in the other<br />

file.<br />

The end of a MATCH; command loop is defined by an END; command, END.EXIT;<br />

command, or END.NO.PRINT; command.<br />

If the KEY; command option is not used, a record from each file is read until GLB.MATCH<br />

does not equal spaces. GLB.MATCH can be set in one of two ways:<br />

$ End-Of-File is reached on one of the files.<br />

Note: In an OS 2200 based <strong>LINC</strong> System at runtime, when the MATCH;<br />

command encounters the End-of-file, the last record read for that file<br />

is not available in the buffer. <strong>Reference</strong>s to that record and its data<br />

item will return a value of spaces. This is different from UNIX and<br />

MCP environments, where the last record is available.<br />

$ You explicitly set GLB.MATCH within your <strong>LINC</strong> logic.<br />

The MATCH; command updates the System Data item GLB.STATUS.<br />

When MATCH; commands are executed at runtime, Extract file handling is similar to that<br />

for DETERMINE; ACTUAL commands. For more details, see ‘‘Extract File Processing’’<br />

earlier in this section.<br />

Recovery of a Report containing MATCH; command logic can be coded similarly to<br />

recovery when using DETERMINE; ACTUAL commands.<br />

Restrictions on the MATCH; Command<br />

$ You must ensure that the Extract files are fully defined within an EXTRACT;<br />

DETERMINE; ACTUAL or SET.TITLE; command, as required.<br />

$ Within a MATCH; loop, the results of using a DETERMINE; ACTUAL or EXTRACT;<br />

command on the same files as those being matched are unpredictable, and therefore<br />

the use of both commands on the same files is not recommended.<br />

$ The CRITICAL.POINT; and RESTART; commands are invalid within the MATCH; loop.<br />

$ Nesting of MATCH; commands is invalid.<br />

$ You cannot MATCH; an Extract file with itself.<br />

$ There are differences between host types in the way database numeric items are<br />

defined in COBOL. If you use the KEY; command option to match a database numeric<br />

data item with a Frame numeric data item, the COBOL definitions of the numeric items<br />

may not be compatible if the Extract files you are comparing were not created using<br />

<strong>LINC</strong> or if the files being compared were created on different host types.<br />

1-164 v


Syntax<br />

MATCH; Command<br />

DD DD DBDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBD <br />

3 3<br />

@D DD DY<br />

DDDDDDDDDD DBDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBDD4<br />

3 3<br />

@D DD DY<br />

extract file 1<br />

An Extract file name (A to Z) that you wish to match to a second Extract file.<br />

data name 1<br />

An optional data item or literal giving an Ispec name or Frame number that the first<br />

Extract file is extracted as.<br />

extract file 2<br />

A second Extract file name (A to Z) that you wish to match with the first Extract file.<br />

data name 2<br />

MATCH<br />

An optional data item or literal giving an Ispec name or Frame number that the second<br />

Extract file is extracted as.<br />

KEY; Command Option<br />

DDD DD DD DBDDDDDDDDDDDDDDBDDDD4<br />

3 3<br />

CD D4<br />

3 3<br />

@D Y<br />

data name 3<br />

The key in the first Extract file. This data item must be the same edit type as data name 4.<br />

data name 4<br />

The key in the second Extract file. This data item must be the same edit type as<br />

data name 3.<br />

Note: If you specify the KEY; command option, it must follow the MATCH; command<br />

with no logic (other than comments or blank lines) between the MATCH;<br />

command and its KEY; option.<br />

v 1-165


MATCH<br />

KEY; Command Option<br />

Example 1<br />

Use the KEY; command option to specify the keys to be used in the MATCH; command to<br />

compare two Extract files, and to control the sequence that sorted files are read in. If the<br />

KEY; command option is used, GLB.MATCH can be set in one of three ways:<br />

$ End-Of-File is reached in one of the files.<br />

$ The key values mismatch.<br />

$ You explicitly set GLB.MATCH within your logic.<br />

If the keys are not equal, GLB.MATCH is set to the name of the file that is to be read on the<br />

next iteration. This depends on the use of the ASCENDING; and DESCENDING; command<br />

options.<br />

The default for the KEY; command option is ascending. If the KEY; command order is<br />

ascending and the KEY; values are not the same, GLB.MATCH will be set to the file name<br />

of the lower KEY; value. Descending is the converse of ascending.<br />

If you specify the KEY; command option, it must follow the MATCH; command with no<br />

logic (other than comments or blank lines) between the MATCH; command and its KEY;<br />

command option.<br />

In this example, consider the following two Extract files:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

If KEY; is not specified, as in the logic:<br />

<br />

<br />

<br />

<br />

<br />

Then the following occurs:<br />

<br />

<br />

<br />

<br />

1-166 v


Example 2<br />

<strong>Reference</strong>s<br />

MATCH<br />

In this example, the same two Extract files as in Example 1 (A and B) are matched. The<br />

key for the comparison is the Customer name.<br />

If A*NAME and B*NAME are set as keys:<br />

<br />

<br />

<br />

<br />

<br />

<br />

Then the following occurs:<br />

<br />

<br />

<br />

<br />

<br />

<br />

‘‘GLB.MATCH’’.<br />

‘‘DETERMINE; ACTUAL’’, ‘‘EXTRACT (EX)’’, and ‘‘SET.TITLE (SETT)’’.<br />

The subsections on Extract Files and MAPPER Extract Files in "Interfacing to Other<br />

Systems" in your <strong>LINC</strong> Administration and Operations Guide for the relevant host type.<br />

v 1-167


MESSAGE (ME)<br />

MESSAGE (ME)<br />

The MESSAGE; command sends a message from Ispec or Report logic to the screen (or to<br />

a PRINT$ file if from an OS 2200 based Report).<br />

The MESSAGE; command sets GLB.ERROR to ***** in Ispec logic, but not in Report logic.<br />

Parts of a Message<br />

A message consists of two parts:<br />

$ A value. This can be a data item or the words ERROR or ATTENTION. It is displayed<br />

in reverse video, and will be truncated to a length of 16 characters.<br />

Signed numeric data values are displayed left-aligned with leading zeros suppressed.<br />

Decimals are displayed, and negative values are followed by a minus sign.<br />

$ Associated text. This text can be a literal or data item containing a value of up to 50<br />

characters. Due to a COBOL restriction, the double-quote character requires two<br />

character positions. Global Setup Data items can be used to hold messages, which can<br />

be stored in multiple languages. A numeric value in the text area will be syntaxed as an<br />

error.<br />

Note: When the MESSAGE; command is used in Reports, no truncation of the value is<br />

done, but the combined message is truncated to 80 characters.<br />

How Messages are Displayed<br />

If only one message is to be displayed, it appears on the status line at the bottom of Page 1.<br />

(On OS 2200 based <strong>LINC</strong> Systems, the first character of the message must not be a slash (/)<br />

character.) If two or more messages are invoked, they will appear on Page 2 (or Page 3 for<br />

UNIX and OS 2200 based <strong>LINC</strong> Systems) of the terminal.<br />

For LDA, if only one message is to be displayed, it appears on the status line. If two or<br />

more messages are invoked, they appear in a dialog box and a message is displayed on the<br />

status line indicating there are multiple messages.<br />

Multiple messages are displayed on MCP based <strong>LINC</strong> Systems and in LDA in reverse order<br />

to which they are coded, but on OS 2200 based and UNIX <strong>LINC</strong> they are displayed in the<br />

order specified on the System Environment Options screen.<br />

For UNIX and OS 2200 based <strong>LINC</strong> Systems, there is a limit of how many messages are<br />

displayed (22 messages for UNIX and 19 messages for OS 2200 based). When this limit is<br />

exceeded, an error message is produced.<br />

Messages sent from an unattached Report are not returned to the screen.<br />

Note: Messages queued from the MESSAGE; command take priority over any Teach<br />

screen currently displayed on Page 2.<br />

1-168 v


OLTP<br />

MESSAGE (ME)<br />

Use of this command with OLTP is described in "Online Transaction Processing (OLTP)" in<br />

your <strong>LINC</strong> Generate Operations Guide.<br />

v 1-169


MESSAGE (ME)<br />

Using MESSAGE; in OS 2200 based <strong>LINC</strong> Systems<br />

Syntax<br />

Message Locations<br />

For OS 2200 based <strong>LINC</strong> Systems, the possible locations for a message destination are:<br />

$ The TIP terminal that initiated the transaction (Ispec).<br />

$ The TIP terminal attached to a Report (see the RUN; command for details about the<br />

significance of attached Reports).<br />

$ The PRINT$ file associated with the DEMAND terminal from which an unattached<br />

Report was submitted through @XQT.<br />

$ The PRINT$ file associated with the BATCH run from which an unattached Report<br />

was submitted through @XQT.<br />

$ An operator’s console, for a Report submitted from DEMAND or BATCH using<br />

@XQT,C.<br />

For more details of OS 2200 based <strong>LINC</strong> Report operations, see your OS 2200 Based <strong>LINC</strong><br />

Administration and Operations Guide and OS 2200 Based <strong>LINC</strong> Installation and<br />

Configuration Guide.<br />

Avoiding the Loss of Messages<br />

On OS 2200 based <strong>LINC</strong> Systems, if a Report is coded with a large group of MESSAGE;<br />

commands one after the other, the network CMS queues them up. When the limit is<br />

reached, the messages are discarded and not sent to the user terminal. To avoid this<br />

problem, code a SLEEP; command between each MESSAGE; command.<br />

DDD DDBDD DDBDD DDDDDDDDDDD4<br />

3 3<br />

CDDDDD DDDDD4<br />

3 3<br />

@DDD DDDY<br />

data item 1<br />

A data item whose contents are displayed in reverse video before the message text, as an<br />

alternative to either ERROR or ATTENTION.<br />

data item 2<br />

An alphanumeric data item (or literal) containing the text of the message.<br />

1-170 v


Examples<br />

<strong>Reference</strong>s<br />

MESSAGE (ME)<br />

In the following example, three message lines are displayed if the tested condition is TRUE.<br />

<br />

<br />

<br />

<br />

<br />

The following example shows that a literal message does not have to be supplied with the<br />

MESSAGE; command.<br />

<br />

<br />

<br />

‘‘SEND.MESSAGE (SEND.STATUS; SM; SMSG; SS)’’, and ‘‘GLB.ERROR’’.<br />

‘‘BEGIN.EDIT and END.EDIT’’ for details of the function of the MESSAGE; command in a<br />

Copy.From Ispec.<br />

Use of this command with OLTP is described in "Online Transaction Processing (OLTP)" in<br />

your <strong>LINC</strong> Generate Operations Guide.<br />

v 1-171


MOVE (MV)<br />

MOVE (MV)<br />

MOVE; commands are used for data manipulation.<br />

There are two forms of the MOVE; command:<br />

$ The simple form copies the value of a data item directly to that of another.<br />

$ The complex form enables the values of two data items to be manipulated, to give a<br />

new result. For an MCP based <strong>LINC</strong> System, <strong>LINC</strong> replaces leading zeros in numeric<br />

data items with decimals with a space, so that larger values cannot be moved back into<br />

the field.<br />

Note: In <strong>LINC</strong> Logic it is possible to code MOVE; commands that will produce<br />

inconsistent or unexpected results. These commands are known as overlapping<br />

moves. You can check for overlapping moves by using the <strong>LINC</strong> Checker Utility<br />

(CHK) in <strong>LINC</strong> Generate. See your <strong>LINC</strong> Generate Operations Guide for details.<br />

These commands and variants are described in more detail in the following subsections.<br />

Simple Form of the MOVE; Command<br />

The simple form copies the value of a data item directly to that of another. Alphanumeric<br />

values may not be moved into numeric data items that have decimals declared, or vice<br />

versa. Due to a COBOL compiler restriction, an alphanumeric data item greater than length<br />

23 cannot be moved to a numeric or signed data item.<br />

For alphanumeric data, the move is left-aligned. The result is blank filled from the right or<br />

truncated, if necessary.<br />

For numeric data, the move is right-aligned, according to the position of the decimal point.<br />

Extra decimals are truncated, not rounded. The result is zero-filled from the left or<br />

truncated from the leftmost significant digit as necessary, without warning.<br />

When moving a Group data item to or from another Group data item, the field will be<br />

left-aligned.<br />

A signed numeric data value will lose its sign if it is moved into an EDIT; N data item.<br />

If you move a mixed alphanumeric and Hankaku-Katakana value into an EDIT; W data<br />

item, the value is moved character by character, and is truncated to the length of the<br />

data item. However, if you move a mixed alphanumeric and Hankaku-Katakana value into<br />

an EDIT; A data item, the value is moved byte by byte and is truncated to the length of the<br />

data item. If the truncation occurs after the first byte of a double-byte Hankaku-Katakana<br />

character, this will result in an invalid character.<br />

Note: EDIT; W data items are not implemented in LDA.<br />

1-172 v


Syntax<br />

Examples<br />

DDDD DDDDD DDDDD DDDDDD4<br />

data name 2<br />

The receiving data item (you cannot specify a literal).<br />

The following example shows a simple MOVE command.<br />

<br />

<br />

<br />

<br />

<br />

The following example shows a MOVE; of a GROUP data item.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

This logic sets TIMEW to 200402 and RECEPTW to 20040200.<br />

Complex Form of the MOVE; Command<br />

MOVE (MV)<br />

The complex form of the MOVE; command enables the values of two data items to be<br />

manipulated to give a new result. It has no effect on the contents of the first data item.<br />

Values of different edit characteristics can be missed, although the sign of the first data<br />

item is not moved. Due to a COBOL compiler restriction, an alphanumeric data item<br />

greater than length 23 cannot be moved to a numeric or signed data item.<br />

If you move a mixed alphanumeric and Hankaku-Katakana value into an EDIT; W data<br />

item, the value is moved character by character, and is truncated to the length of the<br />

data item. However, if you move a mixed alphanumeric and Hankaku-Katakana value into<br />

an EDIT; A data item, the value is moved byte by byte and is truncated to the length of the<br />

data item. If the truncation occurs after the first byte of a double-byte Hankaku-Katakana<br />

character, this will result in an invalid character.<br />

Note: EDIT; W data items are not implemented in LDA.<br />

There are two variants of the complex MOVE; command: direct and sorted.<br />

v 1-173


MOVE (MV)<br />

Direct<br />

In this variant, characters are taken from the first data item, starting at a specified position<br />

and continuing for a specified length. The characters are moved into the second data item,<br />

starting at a specified position, overwriting the current characters. Characters not<br />

overwritten are retained.<br />

Sorted<br />

This variant is indicated by specifying either the SORTA; (ascending) or SORTD;<br />

(descending) command option.<br />

A group of characters is taken from the first data item, starting at a specified position and<br />

continuing for a specified length. This group of characters is inserted into the second data<br />

item. The position of the insertion is determined by grouping characters in the second data<br />

item into groups (the same size as the group from the first data item), and then comparing<br />

the group to be inserted with each group in the second data item.<br />

The size of the value of the second data item increases with each MOVE; command.<br />

Truncation may occur if the value exceeds the length of the second data item. If the last<br />

right-hand significant group of figures do not have their position changed, truncation will<br />

not take place.<br />

Spaces are not sorted.<br />

Setting GLB.STATUS<br />

The MOVE; command is validated if any of the following situations apply:<br />

$ The Def bounds checking field on the Primary Specification Options screen is set to<br />

Y.<br />

When this field is set to N, error checking code is not generated, so a check for errors<br />

will not occur. This means that if a complex move is performed that is out of bounds of<br />

the receiving data item, that data item may contain unpredictable results.<br />

$ The GLB.STATUS; command is included in the MOVE; command.<br />

$ The sorted variant of the MOVE; command is used.<br />

If validation is in effect, it proceeds as follows.<br />

$ If an invalid MOVE; command is attempted, ***** is moved to the System Data item<br />

GLB.STATUS, and the move is not performed.<br />

$ If truncation occurs, GLB.STATUS is not usually set to *****. However, if a group of<br />

characters in a sorted complex MOVE; command is appended to the second data item<br />

and would be truncated, GLB.STATUS is set to ***** and the move is not performed.<br />

1-174 v


Syntax<br />

DBD DBDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDDD <br />

3 3 3<br />

3 @D DD DY<br />

3<br />

@DDD DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD <br />

DDDDDDDDDDDDDDDDDDDBDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDD <br />

3 3<br />

@D DD DY<br />

DD DBDDDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDDDDDD4<br />

3 3<br />

CDD DD DD4<br />

3 3<br />

CDD DDDDDDDDDDDDDDDDDD4<br />

3 3<br />

@DD DDDDDDDDDDDDDDDDDDY<br />

data item 1<br />

You can use GLB.SPACES or GLB.ZEROS as the source field in a complex MOVE;<br />

command of the form:<br />

<br />

This results in one space character being placed in position n of data item 2.<br />

You can also specify GLB.LOW, GLB.HIGH, or GLB.SPACES.<br />

MOVE (MV)<br />

Note: The length of GLB.LOW, GLB.HIGH, GLB.SPACES, and GLB.ZEROS defaults to<br />

1 in complex MOVE; commands.<br />

POS; numeric data 1<br />

The numeric data item (or literal) must not include decimals. A literal value must be<br />

enclosed in parentheses. The default position is 1.<br />

Do not specify any of the System Data items GLB.SPACES, GLB.ZEROS, GLB.HIGH, or<br />

GLB.LOW as the numeric data 1 value.<br />

POSITION and PO are valid synonyms for POS.<br />

POS; numeric data 3<br />

The numeric data item (or literal) must not include decimals. A literal value must be<br />

enclosed in parentheses. The default position is 1.<br />

POSITION and PO are valid synonyms for POS.<br />

LENGTH; numeric data 2<br />

The numeric data item (or literal) numeric data 2 must not include decimals. A literal<br />

value must be enclosed in parentheses.<br />

v 1-175


MOVE (MV)<br />

Examples<br />

<strong>Reference</strong>s<br />

The default length is the length of data item 1.<br />

LE is a valid synonym for LENGTH.<br />

At the end of the following example of the complex MOVE; command, if ACTMTH has a<br />

value of 9803, then the Setup Data items MY-MONTH and MY-DATE will have values of 03<br />

and 000300, respectively.<br />

<br />

<br />

<br />

<br />

The following example of the complex MOVE; command uses the SORTA; command<br />

option.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Two characters are moved each time the MOVE; command in the loop is executed. First,<br />

QW is moved, followed by ER. ER is before QW when sorted in ascending order, so the<br />

result is ERQW. TY is moved next, giving ERQWTY. The final result is<br />

ASDFERGHJKLZNMOPQWTYUIVBXC.<br />

The following lines of logic have invalid syntax.<br />

<br />

<br />

In the first line, the LE; command option is not allowed with a literal. In the second, the<br />

POS; command option is not allowed with GLB.SPACES.<br />

‘‘GLB.STATUS (GS)’’<br />

<strong>LINC</strong> <strong>Programming</strong> <strong>Reference</strong> <strong>Manual</strong> for the lengths of System Data items.<br />

1-176 v


MOVE.ARRAY (MVA)<br />

Syntax<br />

MOVE.ARRAY (MVA)<br />

The MOVE.ARRAY; command moves a Setup Data array or Global Setup Data array in a<br />

single operation. You can use this command to save the contents of an entire array (in an<br />

alphanumeric data item), and restore it later. This would enable you to store the contents<br />

of an array in Global Work and restore it, across transactions.<br />

The following moves are possible:<br />

$ Array to an array.<br />

On OS 2200 based <strong>LINC</strong> Systems, this is the only valid move if the values are EDIT; K<br />

(the values are moved as if they are a standard alphanumeric data items).<br />

$ Array to a data item.<br />

$ Non-array data item (or literal) to an array.<br />

If the data item is a database data item, it must be alphanumeric.<br />

Restrictions<br />

$ The definition of sending and receiving arrays must be similar if the values are to be<br />

preserved.<br />

In numeric arrays, individual items are defined as COBOL COMPUTATIONAL fields. If<br />

you move a numeric data item or numeric literal to an array, or move a numeric array<br />

to anything other than an identically defined numeric array, the result may be invalid<br />

for use in either computation or display. In LDA, this restriction does not apply if the<br />

literal being moved matches the defined numeric array. LDA users should avoid<br />

writing logic that relies on this capability to maintain compatibility.<br />

$ You cannot use this command to move entire Data arrays, although you may move an<br />

array to an EDIT; A data item in a Data array.<br />

$ If you move a mixed alphanumeric and Hankaku-Katakana value into an EDIT; W data<br />

item, the value is moved character by character, and is truncated to the length of the<br />

data item. However, if you move a mixed alphanumeric and Hankaku-Katakana value<br />

into an EDIT; A data item, the value is moved byte by byte and is truncated to the<br />

length of the data item. If the truncation occurs after the first byte of a double-byte<br />

Hankaku-Katakana character, this will result in an invalid character.<br />

Note: EDIT; W data items are not implemented in LDA.<br />

DD DDBDD DDDBDDD DDDBDDDDDDD4<br />

3 3 3<br />

3 @D D4<br />

3 3<br />

@DD DDD DDDY<br />

array 1<br />

A Setup Data array or Global Setup Data array.<br />

v 1-177


MOVE.ARRAY (MVA)<br />

Examples<br />

array 2<br />

A receiving Setup Data array or Global Setup Data array.<br />

array 3<br />

A receiving Setup Data array or Global Setup Data array.<br />

data item 1<br />

A receiving alphanumeric data item. A literal is not valid.<br />

<br />

<br />

<br />

<br />

Values of SD-ARRAY after the last MOVE.ARRAY; command in this example are shown in<br />

the following table.<br />

SD-IND1 SD-IND2 Value<br />

1 1 A<br />

1 2 B<br />

2 1 C<br />

2 2 D<br />

1-178 v


MOVE.AUTO (MA), MOVE.AUTO.ARRAY (MAA)<br />

MOVE.AUTO (MA) and MOVE.AUTO.ARRAY (MAA)<br />

The MOVE.AUTO; command moves data from the Auto Entry buffer to a data item in the<br />

originating <strong>LINC</strong> System.<br />

The MOVE.AUTO; command is the converse of the AUTO; command. It is used with<br />

external Automatic Entries to retrieve data from the Auto Entry buffer.<br />

Following an external AUTO.ENTRY, if the Ispec in the receiving <strong>LINC</strong> System has a<br />

RECALL; command that is invoked by the receipt of data, the recall information is<br />

returned to the Auto Entry buffer of the sending <strong>LINC</strong> System. If the AUTO; WRITE<br />

command is successful, GLB.STATUS in the originating <strong>LINC</strong> System contains the value<br />

DATA. The data returned to the Auto Entry buffer can be retrieved by using the<br />

MOVE.AUTO; and MOVE.AUTO.ARRAY; commands.<br />

In LDA Run Time, external Automatic Entries are not supported. The MOVE.AUTO; and<br />

MOVE.AUTO.ARRAY; commands are ignored.<br />

An AUTO; WRITE&CLEAR command will not clear the buffer when data is being returned.<br />

Restrictions<br />

The same restrictions apply to MOVE.AUTO; command as to the AUTO; command. You<br />

cannot send an alphanumeric item to a numeric item with decimals or to a signed numeric<br />

item or vice versa.<br />

If you move a mixed alphanumeric and Hankaku-Katakana value into an EDIT; W data<br />

item, the value is moved character by character, and is truncated to the length of the<br />

data item. However, if you move a mixed alphanumeric and Hankaku-Katakana value into<br />

an EDIT; A data item, the value is moved byte by byte and is truncated to the length of the<br />

data item. If the truncation occurs after the first byte of a double-byte Hankaku-Katakana<br />

character, this will result in an invalid character. However truncation does not occur if you<br />

move such a value into an EDIT; W Setup Data array (or Global Setup Data array).<br />

Note: EDIT; W data items are not implemented in LDA.<br />

Numeric Setup Data array items are implemented as COBOL COMPUTATIONAL fields. A<br />

move from a numeric array to anything other than an identically defined numeric array<br />

may result in data that is invalid for use in either computation or display.<br />

MOVE.AUTO.ARRAY;<br />

The MOVE.AUTO.ARRAY; command moves the value of a data item from the Auto Entry<br />

buffer to a Setup or Global Setup Data array. Otherwise, its function is the same as the<br />

MOVE.AUTO; command.<br />

OLTP<br />

For OLTP, the response in the AUTO buffer may use a different buffer description than the<br />

one in your original request. There is no validation that the data present matches the data<br />

format expected by your logic. To specify the correct format, use the AUTO.FORMAT;<br />

<strong>LINC</strong> logic command immediately before the relevant MOVE.AUTO commands.<br />

v 1-179


MOVE.AUTO (MA), MOVE.AUTO.ARRAY (MAA)<br />

Syntax<br />

For more details of interdatabase communication, see the <strong>LINC</strong> Operations Guide for the<br />

relevant host type. For more details of OLTP, see your <strong>LINC</strong> Generate Operations Guide.<br />

DDD DDD DDD DDDDD4<br />

DDD DD DD DDDDDDDDD4<br />

data item 1<br />

A data item that is not Usage Input or Usage Inquiry.<br />

data item 2<br />

The receiving data item.<br />

data item<br />

An alphanumeric data item.<br />

array<br />

Examples<br />

A Setup or Global Setup Data array.<br />

MOVE.AUTO; Command Example<br />

As well as giving an example of this command, this example shows how to use an<br />

Automatic Entry Memo Component to access another database.<br />

A <strong>LINC</strong> System called PRODUCTS has an Auto Entry Component PROD that has the<br />

following data items and logic:<br />

<br />

<br />

<br />

<br />

<br />

<br />

A second <strong>LINC</strong> System called SELLING also has a Component PROD defined in the same<br />

way as in the PRODUCTS System. The actual data for PROD is stored in the PRODUCTS<br />

System.<br />

1-180 v


MOVE.AUTO (MA), MOVE.AUTO.ARRAY (MAA)<br />

The SELLING System also includes an Auto Entry Memo Component PRODM which is<br />

used for product inquiries and maintenance on the PRODUCTS System. PRODM has the<br />

following Data items and logic, which enables the relevant detail for PROD to be accessed<br />

from the PRODUCTS system database and displayed.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

MOVE.AUTO.ARRAY; Command Example<br />

The Ispec FIRUP receives data, using an Automatic Entry from an Ispec in another <strong>LINC</strong><br />

System. The data is placed in the Auto Entry buffer for FIRUP. FIRUP includes the<br />

following lines of logic:<br />

<br />

<br />

When using the MOVE.AUTO.ARRAY; command to move a numeric array from an OLTP<br />

View Ispec buffer to a numeric Setup Data array, the individual numeric array elements are<br />

moved to the corresponding element in the OLTP View buffer.<br />

v 1-181


MOVE.AUTO (MA), MOVE.AUTO.ARRAY (MAA)<br />

<strong>Reference</strong>s<br />

‘‘AUTO; CONTRA’’, ‘‘AUTO.FORMAT (AF)’’, and ‘‘AUTO; WRITE and AUTO;<br />

WRITE&CLEAR’’.<br />

The System Data items ‘‘GLB.DESTINATION’’, ‘‘GLB.DESTENV’’, ‘‘GLB.DESTHOST’’,<br />

‘‘GLB.HUBSTATUS’’, ‘‘GLB.HUBTIMEOUT’’, ‘‘GLB.OLTPTYPE’’, ‘‘GLB.OLTPSUBTYPE’’,<br />

‘‘GLB.OLTPSERVICE’’, and ‘‘GLB.OLTPVALUE’’.<br />

"External Automatic Entries" in your <strong>LINC</strong> Generate Operations Guide.<br />

The Interfaces section in your <strong>LINC</strong> Administration and Operations Guide for the<br />

relevant host type.<br />

1-182 v


MOVE.DATE (MD)<br />

Syntax<br />

<strong>Reference</strong>s<br />

MOVE.DATE (MD)<br />

The MOVE.DATE; command obtains the current date (or the debug date if debug date and<br />

time is activated), and returns the result as a numeric value, in a format you can specify. By<br />

default the form is YYMMDD (where YY is the year, MM is the month, and DD the day).<br />

The date at which the Ispec or Report was initiated (or the last SLEEP; or<br />

CRITICAL.POINT; command was executed) is available in the System Data item<br />

GLB.DATE.<br />

DD D DBDDDDDDDDDDDDDDDDDDDBDD4<br />

3 3<br />

@D DY<br />

numeric data<br />

A numeric data item, of length 6 or 8, without decimals.<br />

FORMAT; format<br />

Specifies the format of the value. The value of format is one of:<br />

$ CCYYMMDD<br />

$ YYMMDD (default)<br />

$ DDMMCCYY<br />

$ DDMMYY<br />

$ MMDDCCYY<br />

$ MMDDYY<br />

Note: GLB.DC- System Data items are not affected by this command.<br />

‘‘GLB.DATE’’.<br />

"Debug Date and Time Commands" in your MCP Based <strong>LINC</strong> Administration and<br />

Operations Guide.<br />

v 1-183


MOVE.TIME (MT)<br />

MOVE.TIME (MT)<br />

Syntax<br />

<strong>Reference</strong>s<br />

The MOVE.TIME; command obtains the current time, or the debug time if debug date and<br />

time is activated. (The time (or the last SLEEP; or CRITICAL.POINT; command) at which<br />

the Ispec or Report was initiated is available in the System Data item GLB.TIME.)<br />

The result is returned, in twenty-four hour format, in the form HHMMSShh (where HH is<br />

hours, MM is minutes, SS is seconds, and hh is hundredths of seconds).<br />

DD DDDDDDDD DDDDDDDDDDDDDD4<br />

numeric data 1<br />

A numeric data item, of length 8, without decimals.<br />

‘‘GLB.TIME’’.<br />

"Debug Date and Time Commands" in your MCP Based <strong>LINC</strong> Administration and<br />

Operations Guide.<br />

1-184 v


MULTI<br />

Syntax<br />

<strong>Reference</strong>s<br />

MULTI<br />

Note: This command option is relevant only to 2200 Series target hosts. It is ignored<br />

on other host types.<br />

MULTI; is not a full logic command. It is a command option that can be specified with a<br />

DETERMINE; or LOOK.UP; command only, to enable the reading of ranges of records.<br />

This command option may be used with all variants except:<br />

$ DETERMINE; LAST command<br />

$ DETERMINE; ACTUAL command with the EXTRACTED.AS; option<br />

$ Single LOOK.UP; command<br />

This command option is placed after all the other options, and before the GLB.STATUS;<br />

command.<br />

DDDD DDDDDD DDDDDDDDDDD4<br />

numeric data<br />

A numeric data item or numeric literal which is the number of records to be retrieved by<br />

RDMS into its multiple record buffer.<br />

This value should not be greater than the maximum set in your Environmental or Bulk<br />

Options screens, although the values is not checked until execution time. If the value is<br />

greater than the maximum, the specified maximum value is used.<br />

‘‘LOOK.UP; (LU;) Commands’’ and ‘‘DETERMINE; (DT) Commands’’.<br />

v 1-185


MULTIPLY (MU)<br />

MULTIPLY (MU)<br />

Syntax<br />

Examples<br />

<strong>Reference</strong>s<br />

The MULTIPLY; command multiplies the value of a numeric data item by that of a second<br />

numeric data item, and stores the result in the second data item; or in a third data item, if<br />

one is explicitly given.<br />

The GIVING; and ROUNDED; command options may be applied in conjunction with the<br />

MULTIPLY; command.<br />

The System Data item GLB.STATUS is not updated to ***** by the MULTIPLY; command.<br />

Use the GLB.STATUS; command (in LDA, the GS; command) to test for arithmetic<br />

overflow.<br />

DD DDD DDD DDDDDDDD <br />

DDBDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDBDDDDDDDDDDDDDDBDDD4<br />

3 3 3 3<br />

@DD DD DDY @DD DDY<br />

numeric data 1<br />

A data item or literal to be multiplied.<br />

numeric data 2<br />

A data item or literal to be multiplied. This data item will contain the result if GIVING; is<br />

not specified. A literal is therefore valid only if the GIVING; command option is used.<br />

GIVING; numeric data 3<br />

The GIVING; command option directs the result to the specified data item. The GIVING;<br />

command option must be on the same line as the MULTIPLY; command. GIV is a valid<br />

abbreviation for GIVING. Thenumeric data 3 item cannot be a literal.<br />

ROUNDED;<br />

Rounds the result when truncation occurs.<br />

<br />

<br />

<br />

‘‘GLB.STATUS (GS)’’ for directing the value of GLB.STATUS to a data item.<br />

1-186 v


ON.CHANGE (OCH)<br />

ON.CHANGE (OCH)<br />

The ON.CHANGE; command is used to specify control breaks in Reports. A footer and<br />

(optionally) a heading are invoked whenever the value of the controlling data item<br />

changes. This data item can be any Report data item, including an item in the database, or<br />

a Setup Data item.<br />

Footers and headings are Report Frames. Typically, a footer prints a summary, such as<br />

subtotals. A heading usually prints a title corresponding to the new value of the data item,<br />

and it can be used to initialize Setup Data items associated with the Report.<br />

The ON.CHANGE; command can be used only within a loop in the Main logic of a Report<br />

and is not supported with sleeping reports.<br />

The heading is invoked before the first record, and the footer is invoked after the last<br />

record. The final footer is printed immediately after the end of all the current loops, and<br />

before any following logic.<br />

The System Data item GLB.CHANGE holds the name of the data item whose value has<br />

changed. GLB.CHANGE contains spaces until a change in value occurs.<br />

The ON.CHANGE; command can be used in association with standard statistical routines.<br />

For more details, see ‘‘ON.CHANGE; Statistical Routines’’, later in this section.<br />

Values of Data items<br />

After a change of value, data items in the footer are from the old <strong>LINC</strong> database record<br />

(the record with the old value of the control data item). However, logic references to <strong>LINC</strong><br />

database items (for example, CUST.NAME) access the new record (the record with the<br />

new value of the control data item). Also, this means that any Frames called from the<br />

footer use the new value.<br />

To get the new value into the footer, move the value into the specified data item after the<br />

relevant database access command (for example, LOOK.UP; or DETERMINE;).<br />

All database items used within the heading are taken from the new database record.<br />

Grouping ON.CHANGE; Commands<br />

Multiple ON.CHANGE; commands may be grouped to form a hierarchy of control breaks<br />

(for example, customer within branch). If multiple ON.CHANGE; commands are used, they<br />

must be grouped together. Such a hierarchy may be up to nine levels deep. Only one such<br />

group may occur within a Report.<br />

When multiple levels of control breaks are specified, the hierarchy of levels is given by the<br />

order in which the commands are coded. The first is the highest level (associated with the<br />

first heading and the last footer).<br />

v 1-187


ON.CHANGE (OCH)<br />

Syntax<br />

Example<br />

DDD DDD DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD <br />

DDD DDD DDDBDDDDDDDDDDDDDDDDDBDDDBDDDD4<br />

3 3 3<br />

@D DD DY @DDD <br />

DDD DDD DDDBDDDDDDDDDDDDDDDDDBDDDDDDDD4<br />

3 3<br />

@D DD DY<br />

FOOTING; foot frame<br />

Specifies the Report Frame to be the footer. FTG is a valid abbreviation for FOOTING.<br />

HEADING; head frame<br />

Specifies the Report heading Frame. HDG is a valid abbreviation for HEADING.<br />

line 1<br />

The line number where you require the Report heading to start.<br />

line 2<br />

The line number where you require the Report footing to start.<br />

<br />

<br />

<br />

<br />

<br />

This will result in the Frames being invoked in the following sequence:<br />

Frame Comment GLB.CHANGE is<br />

1 Branch heading<br />

2 Customer heading<br />

3 Multiple customer account records until<br />

CUST.CUSTNO or CUSTBRANCH changes<br />

4 Customer Summary CUST.CUSTNO<br />

2 Customer Heading<br />

3 Multiple customer account records until<br />

CUST.BRANCH changes<br />

continued<br />

1-188 v


<strong>Reference</strong>s<br />

continued<br />

ON.CHANGE (OCH)<br />

Frame Comment GLB.CHANGE is<br />

4 Customer summary CUST.CUSTNO<br />

5 Branch summary CUST.BRANCH<br />

1 Branch heading CUST.BRANCH<br />

2 Customer heading CUST.CUSTNO<br />

3 Multiple customer account records ...<br />

... and so on ...<br />

‘‘ON.CHANGE; Statistical Routines’’.<br />

‘‘GLB.CHANGE’’.<br />

ON.CHANGE; Statistical Routines<br />

Standard statistical routines are available in association with the ON.CHANGE; command<br />

in Report main logic.<br />

Calculations are based on the values of a source data item at each iteration of the loop<br />

containing the ON.CHANGE; command, and on the number of iterations.<br />

The result of the statistical routine is stored in a numeric data item, and can be accessed in<br />

the footer. This data item will usually be included in the Frame, although this is not<br />

compulsory. If the item is not part of the Frame, set its value to zero or spaces in the logic<br />

of the Frame.<br />

Statistical Routines must immediately follow the related ON.CHANGE; command they<br />

qualify.<br />

The following table summarizes the statistical routines and their abbreviations.<br />

Routine Name Abbreviation Description<br />

COUNT; CNT; Number of values (iterations)<br />

SUM; Sum of the values<br />

AVERAGE; AVG; MEAN; Average of the values<br />

MAXIMUM; MAX; Largest value<br />

continued<br />

v 1-189


ON.CHANGE (OCH)<br />

continued<br />

Routine Name Abbreviation Description<br />

MINIMUM; MIN; Smallest value<br />

SUM.SQUARES; SSQ; Sum of the squares of the values<br />

MEAN.SQUARES; MSQ; Average of the squares of the values<br />

VARIANCE; VAR; Variance of the values<br />

STD.DEVIATION; STD; Standard deviation of the values<br />

When using the ON.CHANGE; statistical routines, internal working storage variables are<br />

generated in the Report where necessary, to store the intermediate values for some of the<br />

calculations.<br />

These variables are of a fixed size. If the magnitude of the data used when running the<br />

Report exceeds this size, runtime calculation errors can occur. The internal variable<br />

number and usage are shown in the following table.<br />

Routine Name Routine Number Used to Store the ...<br />

MAXIMUM; 1 Maximum value found<br />

MINIMUM 2 Minimum value found<br />

VARIANCE; 3 Sum of the squares of the data<br />

4 Sum of the data<br />

5 Count of the data items<br />

STD.DEVIATION; 6 Sum of the squares of the data<br />

7 Sum of the data<br />

8 Count of the data items<br />

AVERAGE; 9 Count of the data items<br />

MEAN.SQUARES; 10 Count of the data items<br />

These internal variable routine numbers listed in the above table and the variable size for<br />

each host are shown in the following table.<br />

1-190 v


Syntax<br />

Number MCP based COBOL<br />

Definition<br />

OS 2200 based<br />

COBOL Definition<br />

ON.CHANGE (OCH)<br />

UNIX COBOL Definition<br />

1 PIC 9(12)V9(6) PIC 9(12)V9(6) PIC 9(12)V9(6)<br />

2 PIC 9(12)V9(6) PIC 9(12)V9(6) PIC 9(12)V9(6)<br />

3 PIC 9(14)V9(9) USAGE COMP-2 PIC 9(12)V9(6)<br />

4 PIC 9(12)V9(6) PIC 9(12)V9(6) PIC 9(12)V9(6)<br />

5 PIC 9(10) PIC 9(10) PIC 9(10)<br />

6 PIC 9(14)V9(9) USAGE COMP-2 PIC 9(12)V9(6)<br />

7 PIC 9(12)V9(6) PIC 9(12)V9(6) PIC 9(12)V9(6)<br />

8 PIC 9(10) PIC 9(10) PIC 9(10)<br />

9 PIC 9(10) PIC 9(10) PIC 9(10)<br />

10 PIC 9(10) PIC 9(10) PIC 9(10)<br />

In all other routines, the resultant item declared in the command is also used as an<br />

intermediate variable.<br />

DDD DDDD DDDD DD DDD4<br />

routine<br />

The name of the On Change Statistical routine you choose to use, or its abbreviation, as<br />

shown in the first table in the previous subsection.<br />

source<br />

The data item used by the Statistical routine as the basis of its computation.<br />

GIVING; numeric item<br />

The GIVING; command option directs the result to the specified data item. GIV is a valid<br />

abbreviation for GIVING.<br />

v 1-191


OTHERWISE (OW)<br />

Examples<br />

<strong>Reference</strong>s<br />

An Employee listing by Job type within Department, giving the numbers of persons,<br />

average salary, and standard deviation of salary, could be expressed as follows:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

‘‘ON.CHANGE (OCH)’’.<br />

OTHERWISE (OW)<br />

For details of this command, see ‘‘CASE (CS)’’.<br />

1-192 v


PAGE (PG)<br />

Syntax<br />

Example<br />

PAGE (PG)<br />

The PAGE; command is available only for MCP based <strong>LINC</strong> Systems. It is valid, but ignored<br />

on all other host types and in LDA Run Time.<br />

The PAGE; command enables you to send a string of information to a specific screen page<br />

of the current station (terminal). This leaves you out of forms mode.<br />

The PAGE; command can be used only in Ispecs.<br />

The PAGE; command output is sent immediately (casual output), and does not wait for the<br />

end of the current transaction. Multiple PAGE; commands to the same page within the<br />

same transaction overwrite each other.<br />

Use of this command with OLTP is described in your <strong>LINC</strong> Generate Operations Guide.<br />

DDD DDDDDDD DDDDDD DDDDDD4<br />

page number<br />

This value specifies the destination page of the text. This number cannot be in parentheses,<br />

and if it is any value other than 0, or 2 through 5, is syntax checked by the editor.<br />

If the page number value is in the range 2 through 5, then the text field name value is<br />

appended to page switching code, to automatically send the text string to the specified<br />

page, followed by home and top of page.<br />

If the page number value is 0, then the text field name value is sent, without any<br />

modification to the terminal. This means that if you enter a page number value of 0, you<br />

must embed the page control sequence into the actual text field name text string.<br />

text field name<br />

The text field name value is the name of a Global Setup Data item, Setup Data item, or<br />

screen data item that contains the string of information to be sent to the specified page.<br />

Any text longer than 1920 characters is truncated.<br />

In a distribution company system, whenever the Sales Representative screen is accessed,<br />

you might want to display the valid commission codes and their meanings. If you did not<br />

want this to be displayed on Page one due to space limitations, you could use the PAGE;<br />

command to display this information on Page three every time the Sales Representative<br />

screen was displayed. If the person using the screen wanted to have more information on<br />

the commission codes, they could simply go to Page three, and then return to Page one and<br />

complete the function they required.<br />

v 1-193


PAGE (PG)<br />

<strong>Reference</strong>s<br />

In the Pre-Screen logic of the Sales Representative screen, you would have logic similar to<br />

the following:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

In this example, SD-CCODES contains the text to be displayed on Page 3. The hexadecimal<br />

code @0D@ will cause any following text to go onto a new line.<br />

Note: The functionality shown in this example could also be achieved using Teach<br />

screens, although Teach screens can only be displayed on Page 2.<br />

The Teach (TE) choice in your <strong>LINC</strong> Generate Operations Guide.<br />

Use of this command with OLTP is described in your <strong>LINC</strong> Generate Operations Guide.<br />

1-194 v


PERFORM.FRAME.LOGIC (PFL)<br />

Syntax<br />

PERFORM.FRAME.LOGIC (PFL)<br />

The PERFORM.FRAME.LOGIC; command is used in Report logic to execute the logic of a<br />

Report Frame without printing the Frame. Any painted Frame data items are ignored.<br />

This command is not valid in Performable Global Logics.<br />

DDD DDD DDDDDDDDDDDDDDDDD4<br />

frame<br />

<strong>Reference</strong><br />

A valid Frame number in the range 1 through 98 of an existing Frame that is not the current<br />

Frame.<br />

‘‘PRINT.FRAME (PF)’’.<br />

v 1-195


PRINT.FRAME (PF)<br />

PRINT.FRAME (PF)<br />

The PRINT.FRAME; command executes the logic of the specified Report Frame (including<br />

any PRINT.FRAME; commands), and then the Frame is output for printing.<br />

The AS; command option indicates that you are printing this Report as a Shadow Report<br />

with a different title.<br />

The AT; command option directs that printing is to start at the line specified (counting from<br />

the top of the page). If headings have printed beyond this line, printing will commence<br />

from the next available line. If the specified line is less than the current line, the Frame is<br />

printed on the next page. If the line specified by the AT; command option is greater than<br />

GLB.FORMDEPTH, the Frame will be printed on a new page on a line calculated by<br />

subtracting the value of GLB.FORMDEPTH until an acceptable value is found.<br />

For example, suppose a Report requesting printing to start at line 53 is directed to Video.<br />

Since GLB.FORMDEPTH is 48, one page is skipped (48 lines) and output starts at line 5.<br />

At the time of the first PRINT.FRAME; to the print file (or a shadow print file) in ROC and<br />

non-ROC Reports, the current value of GLB.STN is captured. On subsequent<br />

PRINT.FRAME; commands to the same print file, the associated captured GLB.STN value<br />

is compared with the then current GLB.STN. If they are different, a RELEASE; command is<br />

invoked before performing the requested print. Similar logic applies for GLB.DEVICE and<br />

GLB.PRINTHOST in ROC Reports.<br />

Multiple blank pages are not printed if the <strong>LINC</strong> System is using the Report Output Control<br />

System (ROC) for video output (device type of VD).<br />

Notes:<br />

$ In an MCP based <strong>LINC</strong> System that does not use ROC, a Frame that contains only<br />

logic may print a blank line when accessed by the PRINT.FRAME; command.<br />

Use an END.NO.PRINT; command to prevent a blank line from being printed.<br />

In ROC Reports, a blank line is not printed in this case.<br />

$ ROC files are created with the usercode of the parent <strong>LINC</strong> System when the value of<br />

GLB.USER is spaces. ROC text files for UNIX <strong>LINC</strong> Systems are created with the<br />

usercode of the initiator of the Report when GLB.USER is spaces, with read/write<br />

access for all.<br />

$ System Data items associated with Report or Shadow Report output should not be<br />

used if there is no associated PRINT.FRAME; command, as COBOL syntax errors<br />

would result.<br />

$ The values of GLB.STN, GLB.DEVICE, and GLB.PRINTHOST are only relevant at the<br />

time of the actual printing of the Frame. Their values may change any number of<br />

times between PRINT.FRAME; commands, without affecting the printing of the<br />

Report.<br />

1-196 v


Syntax<br />

Examples<br />

<strong>Reference</strong>s<br />

DDD DD DDBDDDDDDDDDDDDDDDDDDDDDDDDBD <br />

3 3<br />

@D DD DY<br />

DDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDDDDDDDDDDDDDDDDDDDBDDD4<br />

3 3<br />

@D DBD DBDY<br />

3 3<br />

@D DDY<br />

<br />

<br />

<br />

<br />

‘‘GLB.FORMDEPTH’’.<br />

PRINT.FRAME (PF)<br />

v 1-197


PURGE (PU)<br />

PURGE (PU)<br />

Syntax<br />

Example<br />

<strong>Reference</strong>s<br />

The PURGE; command physically deletes the most recently accessed Component or Event<br />

record from the <strong>LINC</strong> database.<br />

This physical record deletion is performed immediately, (but not committed until the end<br />

of the transaction). Logically, for the user performing the PURGE, the PURGE takes effect<br />

immediately. If a LOOK.UP; follows a PURGE within the same transaction, the record will<br />

not be found. For other users, the record will be locked.<br />

Caution<br />

The PURGE; command causes all access paths to the Ispec record to be physically<br />

removed from the <strong>LINC</strong> database. This is the same as when the System Data item<br />

MAINT is given the value PUR.<br />

This is not a logical delete, as when the System Data item MAINT is given the value<br />

DEL.<br />

PURGE permanently breaks all physical and logical relationships with the records on<br />

which it operates. The disk space that was occupied is immediately available for use by<br />

other records of the Ispec, when the transaction is completed.<br />

To release the disk space for other uses, run the <strong>LINC</strong> Database Management Utility (DMU,<br />

or GMU for Griffin databases on UNIX <strong>LINC</strong> Systems).<br />

DDDDD DDDDBDDDD DDDDDBDDDDDDDDDDDDDDDDD4<br />

3 3<br />

@DDDDDD DDDDDDDY<br />

<br />

<br />

<br />

<br />

<br />

‘‘MAINT’’.<br />

The Database Management Utility (DMU and GMU) in your <strong>LINC</strong> Administration and<br />

Operations Guide for the relevant host type.<br />

1-198 v


RECALL (RC)<br />

The RECALL; command can be used to:<br />

RECALL (RC)<br />

$ Display a specified Ispec (or, if none is specified, the current Ispec). If more than one<br />

RECALL; or SWITCH.TO; commands are in the logic, then only the last command is<br />

actioned.<br />

Note: If a RECALL; command is used in an OLTP Service, then the last<br />

Ispec to be recalled must be OLTP-reply capable.<br />

$ Display Teach information associated with an Ispec. When the TEACH; command<br />

option is included, the Ispec is displayed on Page 1, and the Teach information on<br />

page 4 for UNIX and OS 2200 based <strong>LINC</strong> Systems, and Page 2 for MCP based <strong>LINC</strong><br />

Systems.<br />

If the Ispec recalled is the current one, the contents of Page 1 remain undisturbed;<br />

there is no loss of data.<br />

The TEACH; command option must be on the same logic line as the RECALL;<br />

command.<br />

Note: Messages that are queued from the MESSAGE; command take<br />

priority over recalled Teach screens.<br />

$ RECALL; (BYE) Sign off the <strong>LINC</strong> System without retaining the current Ispec and user<br />

information<br />

You can perform a RECALL; (BYE) command to log off from your <strong>LINC</strong> System even if<br />

you have a Report running. If the Report attempts to display or access information<br />

from the terminal from which you logged off:<br />

v For MCP based <strong>LINC</strong> System, if the Report produces messages they are discarded<br />

and any ACCEPT; commands will hang the system (same as 2200?).<br />

v For MCP based and OS 2200 based <strong>LINC</strong> Systems, ACCEPT; commands cause the<br />

Report to hang waiting for a response. To provide the response, log back onto that<br />

terminal and provide the input to the ACCEPT; command in the usual way (><br />

character followed by a text response).<br />

v For UNIX <strong>LINC</strong> Systems, the Report will terminate abnormally.<br />

$ RECALL; (EXIT) Sign off, for MCP and OS 2200 based <strong>LINC</strong> Systems, while retaining<br />

the current Ispec and user information. This enables later reentry.<br />

On OS 2200 based <strong>LINC</strong> Systems, if you use RECALL; (EXIT) to exit from a system<br />

that does not have security set, and then you turn security on before you re-enter the<br />

system, the LSM Security screen will be displayed when you re-enter the system. After<br />

satisfying the security requirements, the Fireup Ispec will be displayed.<br />

The new screen format is not displayed until the current logic has been completed.<br />

v 1-199


RECALL (RC)<br />

Syntax<br />

Examples<br />

If you recall the current Ispec, the Pre-Screen logic for the Ispec is ignored. If Pre-Screen<br />

logic is required, you can use one of the following methods:<br />

$ Set the Refresh Screen field on the Component or Event Options screen to Y.<br />

$ Recall an intermediate (dummy) Ispec that recalls the current Ispec.<br />

The RECALL; command sets GLB.ERROR to *****.<br />

Use of this command with OLTP is described in your <strong>LINC</strong> Generate Operations Guide.<br />

DD DDDBDDDDDDDDDDDDDDDDDBDDDDDBDDDD <br />

3 3 3<br />

CDD DD4 @DDDDD4<br />

3 3<br />

CDD DDY<br />

3<br />

CDDDD DDDDBDDDDDDDDDDD4<br />

3 3<br />

CDDD DDDD4<br />

3 3<br />

@DD DDY<br />

DD DDBD DBDDDDDDDDDD4<br />

3 3<br />

@DD DDDY<br />

data item 1 is an alphanumeric item containing a valid Ispec name.<br />

data item 2 is an alphanumeric item containing the value BYE or EXIT.<br />

data item 3 is an alphanumeric item containing a valid Teach name for the Ispec.<br />

The following logic is in the Component CUST, which has an Ordinate CUSTOMER:<br />

<br />

<br />

<br />

<br />

<br />

The Event SALE has the following data items and Pre-Screen logic:<br />

<br />

<br />

<br />

<br />

1-200 v


<strong>Reference</strong>s<br />

‘‘GLB.ERROR’’.<br />

RECALL (RC)<br />

Use of this command with OLTP is described in your <strong>LINC</strong> Generate Operations Guide.<br />

v 1-201


RELEASE (REL)<br />

RELEASE (REL)<br />

The RELEASE; command sends to the printer all PRINT.FRAME; commands that have<br />

been previously executed in a Report or Shadow Report.<br />

A change in the value of the System Data item GLB.STN will invoke an automatic release.<br />

For ROC Systems, a change in the value of the System Data items GLB.DEVICE or<br />

GLB.PRINTHOST will also invoke an automatic release.<br />

Reports Using Report Output Control (ROC)<br />

When a RELEASE; command is executed, the current Report file is closed, and any<br />

subsequent output will begin with a new page. The System Data item GLB.PAGECOUNT is<br />

set to zero after a release.<br />

Depending on whether or not the Report is performing other updates, the Report output<br />

may not be available to ROC until a CRITICAL.POINT; command, a SLEEP; command, or<br />

end of Report occurs.<br />

When the RELEASE command is used with the ON.CHANGE; command, the footing frame<br />

is not sent to the printer in the current ROC file.<br />

Reports Not Using ROC (MCP environment only)<br />

Syntax<br />

Examples<br />

GLB.PAGECOUNT is NOT set to zero after a release.<br />

An automatic page throw occurs at the start of Report output to a TP or LP device,<br />

following a RELEASE; command.<br />

The RELEASE; command cannot be used in Video reports.<br />

DDD DDDDBDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDD4<br />

3 3<br />

@DD DD DDY<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

1-202 v


RESTART (RT)<br />

Syntax<br />

Examples<br />

There are two forms of the RESTART; command: Restart of a Profile, and Restart<br />

specifying an Extract file.<br />

Restart of a Profile<br />

RESTART (RT)<br />

$ The RESTART; command must appear within the loop of a DETERMINE; ACTUAL<br />

command.<br />

$ The RESTART; command causes the DETERMINE; ACTUAL command with which it<br />

is associated to restart the current Profile from the beginning. The remainder of the<br />

logic in the current loop is executed before the restart.<br />

$ Records deleted or flagged from the Profile by the logic will not be brought into<br />

memory after the RESTART; command.<br />

Restart with an Extract File<br />

$ The RESTART; command must be coded outside of a DETERMINE; ACTUAL loop.<br />

$ The RESTART; command purges the Extract file.<br />

$ If an open Extract file is currently being read, it is closed and purged, so that the name<br />

can be reused.<br />

$ This feature is for Reports that repeatedly loop to extract data, sort, output, and then<br />

clear the file for the next iteration.<br />

$ It is recommended that if you are using CRITICAL.POINT; in your Extract file print<br />

logic, you should code the RESTART; command immediately before the<br />

CRITICAL.POINT; command. This will effectively eliminate the chances of a Report<br />

recovery situation encountering a NO-FILE condition on the Extract file.<br />

$ The RESTART; command deletes all types of Extract file, whether they are temporary,<br />

permanent, or existing. For more details, see ‘‘EXTRACT (EX)’’, earlier in this section.<br />

DDDDD DDDDDDDBDDDDDDDDDDDDDDDDDDDDBDDDDDDDDDD4<br />

3 3<br />

@DDD DDDY<br />

In the following example, a Profile named RUNREQUEST is defined as follows:<br />

<br />

<br />

<br />

<br />

v 1-203


RESTART (RT)<br />

The main logic of Report THISREPT contains the following logic:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

In the next example, Report THATREPT needs to process each customer’s orders in order<br />

of product:<br />

<br />

<br />

<br />

<br />

<br />

<strong>Reference</strong>s<br />

<br />

<br />

<br />

<br />

<br />

‘‘DETERMINE; ACTUAL’’.<br />

1-204 v


ROC.MODE (ROC)<br />

Syntax<br />

ROC.MODE (ROC)<br />

The ROC.MODE; command enables the Report Output Control System (ROC) to be<br />

accessed from Ispec logic. All following logic in the Ispec is ignored and will not be<br />

executed.<br />

If an Ispec name is included with the ROC.MODE; command, Pre-Screen logic for that<br />

Ispec is invoked when ROC is terminated. If no Ispec is included, Pre-Screen logic for the<br />

calling Ispec is invoked.<br />

If an Ispec name is specified, a command to be passed to ROC can also be included. The<br />

passed command is actioned by ROC. For more details of ROC, see the <strong>LINC</strong> Operations<br />

Guide for the relevant host type.<br />

ROC is not available with LDA. In LDA Run Time, the ROC.MODE; command behaves like<br />

the RECALL; command.<br />

DDD DDBDDDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDDD4<br />

3 3<br />

@DD DDDBDDDDDDDDDDDDDDD4<br />

3 3<br />

@DDD DDDDY<br />

ispec<br />

A data item or literal containing the name of an Ispec.<br />

action<br />

<strong>Reference</strong><br />

A data item or literal containing a command of up to 50 characters to be interpreted by<br />

ROC.<br />

A value of CLEAR instructs ROC to clear the usercode and history station information for<br />

the current station, and then return immediately to the specified Ispec. The CLEAR value<br />

is typically used where station assignment is dynamic and the user was logging on or off.<br />

‘‘RECALL (RC)’’.<br />

Use of this command with OLTP is described in your <strong>LINC</strong> Generate Operations Guide.<br />

v 1-205


RUN<br />

RUN<br />

The RUN; command is used to initiate a Report from Ispec logic.<br />

Use of this command with OLTP is described in your <strong>LINC</strong> Generate Operations Guide.<br />

For an MCP based <strong>LINC</strong> System<br />

After the Report is initiated, it is not dependent on the completion of the logic of the Ispec.<br />

The destination of the Report output is determined by the setting of the output device type<br />

and by the value of the System Data item GLB.STN.<br />

If the output device type is VD, and input is from a terminal, the Report is attached to that<br />

terminal. If input is from External Automatic Entries (HUB), GLI, or OFFLINE, the Report<br />

will not be initiated. If the device type is RP, TP, orLP, and input is from a terminal, GLI,<br />

HUB, or OFFLINE, the report will be unattached.<br />

The ROC system will recognize EX as a valid device type and write the output to a<br />

standard system data file. The name of this file will be derived from the Destination Station<br />

value held in GLB.STN. You can specify a longer name if required.<br />

When running an unattached Report, any messages will be ignored, and requests for<br />

ACCEPT; command input from that Report will cause it to go to end-of-job. Instead of<br />

using MESSAGE; and ACCEPT; commands in Reports, you can pass parameters, as<br />

described under ‘‘Passing Parameters to Your Report’’, later in this section.<br />

The chargecode that applies to your Report run is dependent on the values of the :COD<br />

<strong>LINC</strong> System command and the GLB.CHARGECODE System Data item.<br />

For further details, see your MCP Based <strong>LINC</strong> Administration and Operations Guide and<br />

‘‘GLB.CHARGECODE’’ in this manual.<br />

For an OS 2200 based <strong>LINC</strong> System<br />

The RUN; command is interpreted as if a :RUN <strong>LINC</strong> System (colon) command had been<br />

entered. It is not available for Fast Load Reports.<br />

A Report can be run as attached or unattached. If the Report is run as attached by using the<br />

AT device type, messages are returned to the screen from which the Ispec issuing the RUN<br />

command was initiated. The current screen display is overwritten, and replies can only be<br />

entered from the same terminal. Each terminal can only have one active attached Report at<br />

a time. Reports can only be run as attached if the default device is VD.<br />

1-206 v


RUN<br />

If the AT device type is not used, the device must be LP, and the Report will run<br />

unattached. Messages from unattached Reports are directed to the System Log file, and<br />

accepts are taken from any data images following the @XQT command in the runstream. If<br />

there is not enough data to match all the ACCEPT; <strong>LINC</strong> logic commands, the Report<br />

aborts. To enter data images into the runstream, edit the element with the same name as<br />

the Report in the following file:<br />

<br />

See the MESSAGE; command and ACCEPT; command for methods of accepting runtime<br />

information into a running Report. You can also pass parameter information to your<br />

report, by including the PA; command option in the RUN; command. For more details, see<br />

‘‘Passing Parameters to Your Report’’, later in this section.<br />

For a UNIX <strong>LINC</strong> System<br />

The RUN; command is interpreted as if a :RUN <strong>LINC</strong> System (colon) command had been<br />

entered.<br />

For a UNIX <strong>LINC</strong> System, if the input is from a terminal id the type is VD, the Report is<br />

attached to the terminal. In all other cases with UNIX, the Report is run in background, and<br />

any requests for ACCEPT; command input will cause the Report to terminate.<br />

After it is initiated, the Report is not dependent on the completion of the logic of the Ispec.<br />

Note: Do not initiate multiple copies of the same Report, as this may result in<br />

ORACLE errors.<br />

The destination of the Report output is determined by the setting of the output device type,<br />

and by the value of the System Data item GLB.STN.<br />

Any messages appear on the status line of the terminal issuing the RUN; command.<br />

You can pass parameter information to your report, by including the PA; command option<br />

in the RUN; command. For more details, see ‘‘Passing Parameters to Your Report’’, later in<br />

this section. This method could be used to eliminate MESSAGE; and ACCEPT; commands<br />

from Report logic.<br />

In LDA Run Time<br />

All Hosts<br />

Only hard copy output is produced.<br />

Values of GLB.STATUS<br />

When the RUN; command is executed, the System Data item GLB.STATUS will contain one<br />

of the values shown in the following table.<br />

v 1-207


RUN<br />

Value Description<br />

ACTIV The terminal already has a Report attached.<br />

BUSY The maximum number of Reports are already running, or the Report has<br />

already been initiated by the same user.<br />

INVAL The Report name is invalid or unlocatable.<br />

spaces The value is spaces when the report is first initiated.<br />

Note: There are some conditions under which a Report may seem to have started<br />

satisfactorily with no error status being returned, but may not run due to a<br />

system limitation. That is, you may have exceeded the maximum number of<br />

processes that your operating system can handle.<br />

Passing Parameters to Your Report<br />

You can use <strong>LINC</strong> logic to pass parameter information to your Report in the following ways:<br />

$ Use MESSAGE; and ACCEPT; logic commands so that your Report can collect runtime<br />

information from user input.<br />

$ In your Ispec logic, you can store information in the Database for your Report to read.<br />

You must use this method if your parameter information is greater than 254 characters.<br />

$ Specify the PA; command option with your RUN; command. Before you generate the<br />

Report you want to run, you must have specified a data item on the Report Options<br />

screen that will contain your parameter data. For more details, see your <strong>LINC</strong><br />

Generate Operations Guide. This is the simplest method of passing parameter data to<br />

a Report using <strong>LINC</strong> logic, but it is limited to a maximum of 254 characters.<br />

Restrictions on parameter passing are:<br />

$ The PA; command option is ignored in LDA Run Time.<br />

$ GLB.PARAM may be used to pass parameters in LDA Run Time.<br />

$ Binary data is not allowed in the parameter for a UNIX <strong>LINC</strong> System, .<br />

$ The contents of the Report parameter are undefined if a Report parameter is defined in<br />

the Report, but the RUN; command does not pass the parameter.<br />

$ The parameter will be ignored with no error, if the RUN; command passes a parameter,<br />

but the Report does not specify a parameter.<br />

$ The initial value of your Report parameter will be recovered regardless of any changes<br />

you have made to the contents of Setup Data or Global Setup Data in your Report<br />

logic, if the Report goes into recovery.<br />

$ Up to 254 bytes of information can be sent to the Report from a WAKE.UP; command<br />

in your Report or Ispec logic.<br />

1-208 v


Syntax<br />

DD DDD DDD DDDBDDDDDDDDDDBDD <br />

3 3<br />

@D DY<br />

DBDDDDDDDDDDDDDDDDDDDBDBDDDDDDDDDDDDDDDDDDDDBD4<br />

3 33 3<br />

@D DD DY @D DD DY<br />

report<br />

A data item or literal giving the name of the Report.<br />

device<br />

The type of output device: one of the valid values for the relevant target host type, as<br />

shown in the following table.<br />

Device Output to MCP<br />

environment<br />

OS 2200<br />

environment<br />

LP System or user-defined Line Printer Yes Yes Yes<br />

AT Video (Attached Report) No Yes No<br />

EX Extract file (standard system data<br />

file)<br />

Yes No Yes<br />

RP Remote Printer, via Prints/Reprints Yes No No<br />

TP User-defined Terminal Printer (UNIX<br />

alias)<br />

VD The attached user terminal (UNIX<br />

temporary file)<br />

Yes No Yes<br />

Yes No Yes<br />

On OS 2200 based <strong>LINC</strong> Systems, LP specifies the Report is to be run unattached.<br />

UNIX<br />

RUN<br />

ForaUNIX<strong>LINC</strong>System,LP specifies that output is piped to a command defined by the<br />

LP alias; TP specifies that output is piped to a ROC alias; VD specifies output to the ROC<br />

database or to a temporary file for Direct Reports. VD Reports are attached to the initiating<br />

terminal for input.<br />

TRACE;<br />

Activates the Trace function for a Report that has been generated with the capability to<br />

produce trace output.<br />

TRACE can be abbreviated as TR.<br />

LA; language<br />

Use this command option to supply the initial language for the Report. The language value<br />

can be a data item or literal.<br />

v 1-209


RUN<br />

Examples<br />

<strong>Reference</strong>s<br />

The language is validated when the Report is initiated. If not valid, the current station<br />

language is used. If you did not enter a language, the Report defaults to the current station<br />

language.<br />

This option is ignored for a single language Report. That is, you did not enter Y in the<br />

Generate to all Languages field on the Report Options screen for this Report.<br />

PA; parameter<br />

Note: This option is ignored in LDA Run Time.<br />

Use this command option to pass parameter data to the Report you want to run. The<br />

parameter value can be an alphanumeric data item or a literal, with a maximum of 254<br />

characters.<br />

<br />

<br />

<br />

‘‘ACCEPT (AX)’’, ‘‘MESSAGE (ME)’’, and ‘‘START (ST)’’.<br />

See your <strong>LINC</strong> Generate Operations Guide for further details of the Trace facility.<br />

Runtime operation of the Trace facility is described in your in your <strong>LINC</strong> Administration<br />

and Operations Guide for the relevant host type.<br />

The <strong>LINC</strong> System Command :RUN has a similar function to the RUN; command. Details of<br />

the :RUN command, and additional information on the execution of Reports, are described<br />

in the <strong>LINC</strong> Operations Guide for the relevant target host type.<br />

"Report Options Screen" in your <strong>LINC</strong> Generate Operations Guide, for details of<br />

specifying a data item for passing a parameter.<br />

Use of this command with OLTP is described in your <strong>LINC</strong> Generate Operations Guide.<br />

1-210 v


SECURE<br />

SECURE<br />

SECURE; is not a full logic command. It is a command option that can be specified with a<br />

DETERMINE; or LOOK.UP; command only, to facilitate record locking of the <strong>LINC</strong><br />

database in a non-Integrity <strong>LINC</strong> System.<br />

The SECURE; command option is applicable to No.Integrity Ispecs and Reports; that is,<br />

those that do not have the Integrity field set (to Y) on either their Ispec or Report Options<br />

screen and on the Primary Specification Options screen. Where the Integrity field is set,<br />

those Ispecs and Reports will automatically secure all required resources.<br />

The type of locking on each host type at runtime is described in the following subsections.<br />

For an MCP based <strong>LINC</strong> System<br />

The SECURE; command option facilitates record-level locking of the <strong>LINC</strong> database in a<br />

non-Integrity MCP based <strong>LINC</strong> System. The SECURE; command option locks the record<br />

that is read into memory by the associated LOOK.UP; or DETERMINE; command. The<br />

record remains locked until one of the following situations occur:<br />

$ The Ispec or Report logic is complete.<br />

$ A SLEEP; or CRITICAL.POINT; command is executed in Report logic.<br />

For an OS 2200 based <strong>LINC</strong> System<br />

The SECURE; command allows page-level locking of a non-Integrity OS 2200 based <strong>LINC</strong><br />

database. The SECURE; command option locks the page containing the record read into<br />

memory by the associated LOOK.UP; or DETERMINE; command. The page remains locked<br />

until:<br />

$ The Ispec or Report logic is complete.<br />

$ A SLEEP; command or CRITICAL.POINT; command is executed in Report logic.<br />

Note: If you use the SECURE; command option when reading a database record that<br />

has already been updated by logic earlier in your Ispec, then an RDMS error<br />

6002 (semantic error) and an RDMS ERROR 23030 (Table nnnn cannot be<br />

explicitly locked because it is currently locked explicitly or implicitly for<br />

update) will occur.<br />

Always append your SECURE; command option to a LOOK.UP; or<br />

DETERMINE; of the database record before the logic that updates the record. If<br />

an exclusive lock has already been placed on the table using the<br />

EXCLUSIVE.USE; command, the SECURE; command option will have no affect.<br />

v 1-211


SECURE<br />

For a UNIX <strong>LINC</strong> System<br />

Syntax<br />

Examples<br />

<strong>Reference</strong>s<br />

The SECURE; command option facilitates row-level locking of the <strong>LINC</strong> database in a<br />

non-Integrity UNIX <strong>LINC</strong> System. The SECURE; command option locks the row read into<br />

memory by the associated LOOK.UP; or DETERMINE; command. The row remains locked<br />

until the transaction (the Ispec or Report logic) is complete.<br />

A lock applied to a row prevents other users from updating that row. It does not prevent<br />

other users from reading the row. Another user wanting to update that row (whether they<br />

have SECURE set or not) will be forced to wait until the transaction is complete before<br />

their update is processed.<br />

DDDDDDDDDDD DDDDDDDDDDDDDDDDDDDDDDDDD4<br />

A Report is to be initiated by a RUN; command in Ispec logic. The Ispec stores parameters<br />

in the Memo Component RPRAM, by using AUTO; commands. This Memo Component is<br />

accessed by the Report through a Profile PRINPARAM, which has the following condition:<br />

<br />

Since several copies of the Report INVOICE may be running at the same time, it is essential<br />

that each set of parameters is processed only once.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Different Reports could use the same runtime parameter file, by using a Report identifier<br />

as one of the Profile Ordinates.<br />

‘‘LOOK.UP; (LU;) Commands’’ and ‘‘DETERMINE; (DT) Commands’’.<br />

1-212 v


SEND.MESSAGE (SEND.STATUS; SM; SMSG; SS)<br />

SEND.MESSAGE (SEND.STATUS; SM; SMSG; SS)<br />

This command enables you to send messages of up to 50 characters directly to the status<br />

line of specified user terminals signed on to your runtime <strong>LINC</strong> System. The message is<br />

sent immediately, and does not wait for the end of the current transaction.<br />

SEND.STATUS, SM, SMSG,andSS are valid synonyms for SEND.MESSAGE.<br />

The message can be sent to:<br />

$ The initiating terminal<br />

$ Another nominated terminal<br />

$ All terminals currently signed on to your <strong>LINC</strong> System (broadcast message)<br />

Note: Considerable processor overhead can be incurred by this broadcast<br />

variant of the command, (SEND.MESSAGE; ALL).<br />

$ An MCP based Operator Display Terminal (ODT)<br />

Messages directed to the ODT are always delivered. They appear as displays, and<br />

indicate the sending Ispec or Report. The mix number of the relevant <strong>LINC</strong> Update<br />

program is also displayed. Messages sent from Reports do not indicate the copy of the<br />

Report from which they originate. The mix number of system/LSS is displayed.<br />

If an invalid terminal name is specified, or the designated terminal is not logged on, no<br />

message is delivered, and no error is returned.<br />

To send a message to the current terminal from an Ispec, send it to GLB.STN. To send a<br />

message to the initiating station from a Report, send it to GLB.INITSTN.<br />

Use of this command with OLTP is described in your <strong>LINC</strong> Generate Operations Guide.<br />

Specific details for each runtime host type are given in the following subsections.<br />

For an MCP based <strong>LINC</strong> System<br />

Reports initiated in batch mode under <strong>LINC</strong>/RIP have the value of their initiating station<br />

(GLB.INITSTN) set to BATCH, so that attempts to send messages to GLB.INITSTN will<br />

have no effect. No messages are delivered, and no errors are returned.<br />

For an OS 2200 based <strong>LINC</strong> System<br />

The PID of the receiving terminal and the message can be given in data items or as literals.<br />

For a UNIX <strong>LINC</strong> System<br />

The message may be sent to a username, all users, or the initiating station. If an invalid<br />

userid is specified (or the designated user is not signed on to the <strong>LINC</strong> System), no<br />

message is delivered and no error is returned.<br />

v 1-213


SEND.MESSAGE (SEND.STATUS; SM; SMSG; SS)<br />

Syntax<br />

Examples<br />

<strong>Reference</strong>s<br />

In LDA Run Time<br />

The destination station is ignored, and the message is displayed immediately on the Status<br />

Line (or in the message window for Reports).<br />

DD DDBDD DDBDD DDDDDD4<br />

3 3<br />

CDDDD DDDD4<br />

3 3<br />

CDDDDDD DDDDDD4<br />

3 3<br />

@DDDDDD DDDDDDY<br />

data item 1<br />

A data item or literal giving the destination of the message.<br />

The ODT value is valid for MCP based <strong>LINC</strong> Systems only.<br />

On OS 2200 based <strong>LINC</strong> Systems, if the message is to be sent to an individual terminal, its<br />

PID must be specified as a data item (not in GLB.STN).<br />

data item 2<br />

An alphanumeric data item or literal giving the text of the message. The text must not be<br />

numeric.<br />

<br />

Ispec Initiated<br />

<br />

Report Initiated<br />

<br />

"Online Transaction Processing (OLTP)" in your <strong>LINC</strong> Generate Operations Guide.<br />

1-214 v


SEND.PRINT (SEND, SP)<br />

Syntax<br />

SEND.PRINT (SEND, SP)<br />

The SEND.PRINT; command enables a Report to be output to multiple destinations. It is<br />

applicable only to Standard Reports printed under the Report Output Control System<br />

(ROC). It is ignored for ROC Direct Reports (and, on MCP based <strong>LINC</strong> Systems, all Reports<br />

that do not use ROC). A SEND.PRINT; command must come after the first PRINT.FRAME;<br />

command for a Report.<br />

Output to the specified device or devices does not commence until a RELEASE; command<br />

(or end-of-job) is encountered. If directed to a video device, output must be explicitly<br />

requested by the receiving terminal through the ROC menu.<br />

The System Data item GLB.STATUS is set to ***** if invalid device types or destinations<br />

are specified, or if no output has been produced by the Report. Otherwise, GLB.STATUS is<br />

set to spaces upon completion of the SEND.PRINT; command.<br />

This command is ignored in LDA Run Time.<br />

DD DBDDDDDDDDDDDDDDDDDDDDDDDDBD DD <br />

3 3<br />

@D DD DY<br />

DDDBDDDDDDDDDDDDDDDDDBDDDBDDDDDDDDDDDDDDDDDDDDDBDDDD4<br />

3 3 3 3<br />

@DD DDY @DD DD DDY<br />

device<br />

A two-character value (without enclosing parentheses) or a data item containing a<br />

two-character value giving the output device type. Valid values for each runtime host type<br />

are shown in the following tables.<br />

Device Host Types Output is sent to<br />

LP MCP<br />

environment<br />

Line Printer<br />

OS 2200<br />

environment<br />

User-defined Line Printer<br />

UNIX Piped to a command defined by the LP alias<br />

continued<br />

v 1-215


SEND.PRINT (SEND, SP)<br />

<strong>Reference</strong>s<br />

continued<br />

Device Host Types Output is sent to<br />

TP MCP<br />

environment<br />

User-defined Terminal Printer<br />

OS 2200<br />

environment<br />

User-defined Terminal Printer<br />

UNIX Piped to a ROC alias<br />

RP MCP<br />

environment<br />

Remote Printer, via Prints/Reprints<br />

MCP<br />

environment<br />

Extract file (standard system data file)<br />

EX UNIX Extract file (standard system data file)<br />

VD MCP<br />

environment<br />

The attached user terminal<br />

OS 2200<br />

environment<br />

The attached user terminal<br />

UNIX Output to a temporary file for Direct Reports. For ROC Reports,<br />

an output request is created, and you must view this through<br />

the ROC system.<br />

destination<br />

A data item or literal specifying the name of the destination output device. This is required<br />

if device is a data item, or two-character value other than LP. Adestination value is<br />

optional only if device is LP, (not a data item containing LP).<br />

AT; hostname<br />

This command option applies only to ROC Reports directed to LP, RP, and TP devices on<br />

MCP based <strong>LINC</strong> Systems. The hostname value is a data item or literal specifying the host.<br />

‘‘RELEASE (REL)’’, ‘‘SLEEP (SLP)’’, and ‘‘CRITICAL.POINT (CP)’’.<br />

Report Output Control System information in your <strong>LINC</strong> Administration and Operations<br />

Guide for the relevant target host type.<br />

1-216 v


SENDLIST.DYNAMIC (SLDYN)<br />

SENDLIST.DYNAMIC (SLDYN)<br />

This command enables PowerClient users to use specific Ispec data item list boxes whose<br />

values are created by a host <strong>LINC</strong> System.<br />

The SENDLIST.DYNAMIC; command creates a list box specific to a particular transaction.<br />

To create a list box with several values, execute the SENDLIST.DYNAMIC; command<br />

several times.<br />

The SENDLIST.DYNAMIC; command has an effect only in an Ispec initiated by a<br />

PowerClient station (or NOF program or terminal), or in a Report initiated from a<br />

PowerClient station (or NOF terminal or NOF program). This command is not available<br />

with OLTP.<br />

You can modify the format, size and location of the list box when you are using<br />

PowerClient during the screen design process.<br />

You are responsible for supplying end of Kanji (SOE) and start of Kanji (SOK) characters<br />

to the description field of the listbox data.<br />

Note: The SENDLIST.DYNAMIC; command is designed to be used with PowerClient<br />

(Designer Workbench). The use of this command with NOF is also supported.<br />

About List Boxes<br />

In your <strong>LINC</strong> logic, you can define the contents of list boxes, and download the data to<br />

PowerClient. You can design two types of list box:<br />

$ Dynamic<br />

A dynamic list box is used when data needs to be tailored for each transaction; for<br />

example, a customer is to see only those choices that apply directly to them. Dynamic<br />

list box items can be individually and selectively changed in Ispec logic.<br />

The SENDLIST.DYNAMIC; command causes a data item with a LISTBOX; Data<br />

Attribute to display as a dynamic list box when the Ispec screen containing that data<br />

item is downloaded to PowerClient.<br />

$ Static<br />

A static list box is intended for information that is the same for each transaction and<br />

that changes infrequently; for example, branch names of a company.<br />

Static list box data is obtained from a standard sequential file that you can create by<br />

using a <strong>LINC</strong> Report or an editor.<br />

The SENDLIST.STATIC; command causes a data item with a LISTBOX; Data Attribute<br />

to display as a static list box when the Ispec screen containing that data item is<br />

downloaded to PowerClient. See ‘‘SENDLIST.STATIC (SLSTA)’’ later in this section.<br />

Note: You can use PowerClient to maintain the data for dynamic and static list<br />

boxes.<br />

v 1-217


SENDLIST.DYNAMIC (SLDYN)<br />

When data is downloaded<br />

When a SENDLIST.DYNAMIC; command is executed at runtime, your dynamic list box<br />

data is prepared for downloading to PowerClient. This data:<br />

$ Applies to data items with the LISTBOX; or LISTBOX*; Data Attribute<br />

$ Is stored in the PowerClient repository, for use whenever the named list box is<br />

required for a screen format<br />

$ Is downloaded to PowerClient or NOF:<br />

v At end of transaction<br />

v When a SLEEP; or CRITICAL.POINT; command is executed in a Report initiated<br />

from a PowerClient or NOF terminal<br />

v On MCP based target hosts, when an Ispec in another Subsystem is recalled<br />

For OS 2200 Based <strong>LINC</strong> Systems<br />

For an OS 2200 based <strong>LINC</strong> System, move the transaction ID for WDP into GLB.STN before<br />

executing the SENDLIST.DYNAMIC; command. In addition, you should note the following<br />

consideration when using large dynamic listboxes.<br />

Large dynamic listboxes<br />

Large dynamic listboxes (greater than 2000 entries of 30 characters) on 2200 Series hosts<br />

can cause severe network congestion. This may result in the PCE station not receiving all<br />

the listbox information. If the information cannot be delivered, it is discarded by the<br />

standard (non-<strong>LINC</strong>) host communications software.<br />

To avoid network congestion, perform one of the following:<br />

$ Make the listbox static (using the SENDLIST.STATIC; command)<br />

$ Adjust the CMS1100 configuration parameter MAX-QUEUE-ENTRIES (default is 10).<br />

This defines the maximum depth of messages that can be queued to a terminal before<br />

the MCB discards the information. For the impact of changing this parameter, see your<br />

Communications Management System (CMS 1100) Configuration <strong>Reference</strong><br />

<strong>Manual</strong>.<br />

Format of the Data<br />

The SENDLIST.DYNAMIC; command downloads a single alphanumeric value. This value<br />

consists of a number of parts - referred to as columns - separated by delimiters.<br />

How the various columns are used is determined by your PowerClient application. See<br />

your PowerClient documentation for further details.<br />

1-218 v


Syntax<br />

Columns<br />

Commonly the downloaded value consists of two columns, in the form:<br />

<br />

SENDLIST.DYNAMIC (SLDYN)<br />

The delimiter can be any printable character, including all alphanumeric and special<br />

characters. Notice that the first character of the value is the delimiter.<br />

You are not limited to two columns: you can have one or more. You must ensure that the<br />

length of each particular column is the same in each value, if not, the<br />

SENDLIST.DYNAMIC; command will fail.<br />

Example<br />

In this example, a slash (/) is used as the delimiter and the listbox contains a code to be<br />

handled by your <strong>LINC</strong> System, and a description to be displayed in a list box in<br />

PowerClient.<br />

<br />

<br />

DDD DDD DDD DDDDDDDDDDD4<br />

listbox<br />

A data item or literal containing the name of the listbox to be downloaded. Names longer<br />

than 23 characters are not permitted. The listbox name has one of the following forms<br />

(where item is the name of the data item the list box applies to):<br />

$ ispec.item<br />

This form indicates that the list box applies only to users of the specified Ispec.<br />

$ *.item<br />

This form indicates that the list box applies to users of all Ispecs.<br />

data name<br />

A Setup Data item or Global Setup Data item that contains a value and description to be<br />

downloaded. The item must be alphanumeric. It may be a Group Setup Data item or Group<br />

Global Setup Data item.<br />

The maximum combined length of the name and the description is 80 characters. Text in<br />

excess of 80 characters will be truncated.<br />

v 1-219


SENDLIST.DYNAMIC (SLDYN)<br />

Example<br />

<strong>Reference</strong>s<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

"LISTBOX (LBX)" in your <strong>LINC</strong> Generate <strong>Reference</strong> <strong>Manual</strong>: Painter and Editor.<br />

‘‘SENDLIST.STATIC (SLSTA)’’.<br />

The PowerClient Forms Designer Planning and Operations Guide.<br />

1-220 v


SENDLIST.STATIC (SLSTA)<br />

SENDLIST.STATIC (SLSTA)<br />

The SENDLIST.STATIC; command enables PowerClient users to use specific Ispec data<br />

item list boxes whose values are created by a host <strong>LINC</strong> System. This command is<br />

designed to be used with PowerClient (Designer Workbench). The use of this command<br />

with NOF is also supported.<br />

In a Report, you can create a file of list box items by using the EXTRACT; command and<br />

then name the file by using the SENDLIST.STATIC; command. When an Ispec screen is<br />

displayed in PowerClient, a data item that has the LISTBOX; Data Attribute is displayed as<br />

a static list box containing the data downloaded by the SENDLIST.STATIC; command.<br />

The first time each user accesses the file, it is downloaded.<br />

About List Boxes<br />

For a description of the types of list boxes, see ‘‘About List Boxes’’ under<br />

‘‘SENDLIST.DYNAMIC (SLDYN)’’, earlier in this section.<br />

You can modify the format, size and location of the list box when you are using<br />

PowerClient during the screen design process.<br />

Availability of the Command<br />

The SENDLIST.STATIC; command is not available with OLTP.<br />

For MCP Based <strong>LINC</strong> Systems<br />

For Reports run from a NOF terminal or program for an MCP based <strong>LINC</strong> System, the<br />

SENDLIST.STATIC; command sends data to the NOF terminal or program. Otherwise, the<br />

data is submitted to the Workstation Driver Program (WDP).<br />

For Ispecs in an MCP based <strong>LINC</strong> System, executing the SENDLIST.STATIC; command<br />

from a T27 style, IBM 3270 or OLTP terminal is ignored unless contained in the System<br />

Global Logic STARTUP (in which case the data is submitted to WDP). NOF input results in<br />

the data being sent to the NOF terminal or program.<br />

For OS 2200 Based <strong>LINC</strong> Systems<br />

For OS 2200 based <strong>LINC</strong> Systems, the SENDLIST.STATIC; command has an effect only in<br />

Ispecs or Reports initiated by a PowerClient station, or in standalone Reports.<br />

For UNIX <strong>LINC</strong> Systems<br />

For UNIX <strong>LINC</strong> Systems, the SENDLIST.STATIC; command has an effect only in Ispecs or<br />

Reports initiated by a PowerClient station, or in standalone Reports.<br />

v 1-221


SENDLIST.STATIC (SLSTA)<br />

Format of the Data<br />

Syntax<br />

The file downloaded to PowerClient must consist of a series of lines (each line creates an<br />

entry in the static listbox). Each line contains a number of parts - referred to as columns -<br />

separated by delimiters.<br />

How the various columns are used is determined by your PowerClient application. See<br />

your PowerClient documentation for further details.<br />

Columns<br />

Commonly the downloaded value consists of two columns, in the form:<br />

<br />

The delimiter can be any printable character, including all alphanumeric and special<br />

characters. Notice that the first character of the value is the delimiter.<br />

You are not limited to two columns: you can have one or more. You must ensure that the<br />

length of each particular column is the same in each value, if not, the SENDLIST.STATIC;<br />

command will fail.<br />

For OS 2200 based <strong>LINC</strong> Systems, to store trailing spaces in the D_SDF table, insert a third<br />

delimiter in your data.<br />

Example<br />

In this example, a slash (/) is used as the delimiter and the listbox contains a code to be<br />

handled by your <strong>LINC</strong> System, and a description to be displayed in a list box in<br />

PowerClient.<br />

<br />

<br />

DD DD DBD DBDDDDDDDDDDDDDBD4<br />

3 3 3<br />

3 @ DD 4<br />

3 3<br />

@D DD DDDY<br />

listbox<br />

A data item or literal containing the name of the list box to be downloaded. Names longer<br />

than 23 characters are not permitted. The list box name has one of the following forms<br />

(where item is the name of the data item the list box applies to):<br />

$ ispec.item<br />

This form indicates that the list box applies only to the users of the specified Ispec,<br />

ispec.<br />

$ *.item<br />

1-222 v


This form indicates that the list box applies to users of all Ispecs.<br />

data name<br />

SENDLIST.STATIC (SLSTA)<br />

A data item or literal containing the name of the list box file to be downloaded.<br />

pack<br />

Examples<br />

<strong>Reference</strong>s<br />

For MCP based <strong>LINC</strong> Systems, a data item or literal containing the pack on which the file is<br />

stored. The default is the Dictionary pack for the <strong>LINC</strong> System.<br />

extract file<br />

A literal value (A through Z), indicating an Extract file whose existing definition is to be<br />

used. The Extract file must have been defined by a DETERMINE; ACTUAL or EXTRACT;<br />

command with a RETAIN.AS; command option, or referenced by a SET.TITLE; command<br />

in the Report.<br />

In the following example, an Extract file is created and downloaded.<br />

<br />

<br />

<br />

<br />

In the next example, an Ispec CUST has the following data items:<br />

<br />

<br />

In logic, a static listbox for BRANCH is to be downloaded to PowerClient from the file<br />

BRANCHLBX, and a list box for CUSTYP is to be downloaded from the file CUSTYPLBX.<br />

The BRANCH list box is used by other Ispecs, but the CUSTYP list box is specific to CUST.<br />

<br />

<br />

"LISTBOX (LBX)" in your <strong>LINC</strong> Generate <strong>Reference</strong> <strong>Manual</strong>: Painter and Editor.<br />

‘‘SENDLIST.DYNAMIC (SLDYN)’’.<br />

The Designer Workbench Operations Guide.<br />

v 1-223


SERIAL<br />

SERIAL<br />

Syntax<br />

SERIAL; is not a full logic command. It is an command option that can be specified with a<br />

DETERMINE; or LOOK.UP; command only, to increase the efficiency of Profile accesses in<br />

Copy.From Ispecs. The SERIAL; command option retains the pointers to the Profile when<br />

it is first accessed and, on subsequent accesses, simply retrieves the next record without<br />

reading through the Profile again.<br />

The SERIAL; command option is valid only in Copy.From Ispecs. When GLB.COPY is equal<br />

to 1, the DETERMINE; command will start retrieving records at the point specified in the<br />

DETERMINE; command, until End-of-file is detected or until a BREAK; is executed. When<br />

GLB.COPY is greater than 1, the DETERMINE; command will continue retrieving records<br />

from the last record previously retrieved, and not from the point specified in the<br />

DETERMINE; command.<br />

Caution<br />

Using the SERIAL; command option at other parts of the Copy.From cycle, having<br />

not used it on the first copy, will produce unpredictable results. The results will<br />

differ from host type to host type, and could cause problems when porting <strong>LINC</strong><br />

Systems between different hosts.<br />

When a DETERMINE; command with the SERIAL; command option reaches end-of-file,<br />

the buffer containing the dataset records continues to contain the data values of the last<br />

record read. Any subsequent reads using the DETERMINE; command with the SERIAL;<br />

command option will not alter those values.<br />

Since the success of the use of the SERIAL; command option depends upon the setting of<br />

the pointer, the same Profile should not be accessed elsewhere in the same logic, or<br />

unpredictable results can occur. Also, the SERIAL; command option must be executed in<br />

the first cycle of the logic (when the System Data item GLB.COPY has a value of 1). See the<br />

‘‘Example’’.<br />

The SERIAL; command option is associated with a loop-forming variant of the<br />

DETERMINE; or LOOK.UP; command, and should only be used in Copy.From Ispecs. It<br />

must appear on the same logic line as the associated DETERMINE; or LOOK.UP; command.<br />

The SERIAL; command option is ignored in an Ispec that is not a Copy.From Ispec.<br />

DDDDDDDD DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD4<br />

1-224 v


Example<br />

<strong>Reference</strong><br />

SERIAL<br />

An Event DRINQ has a Copy.From line number of 4 and a MAX.COPIES value of 5. The<br />

data item STARTCUST is used to enter the starting customer. The Data items CUSTOMER<br />

(which has LINK; IF.PRESENT applied to it) and BALANCE are part of the Copy.From<br />

area of the screen. Part of the logic for DRINQ is as follows:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Suppose CUST has records with CUSTOMER values: ARNOLD, BRUCE, COLLEEN,<br />

DIANE, EDWARD,andFRED. If STARTCUST has the value BARRY when the loop is<br />

entered the first time, the LOOK.UP; FROM command finds BRUCE. The second time<br />

(when GLB.COPY is 2), the LOOK.UP; FROM command will find COLLEEN, and not<br />

reread BRUCE. The third time (when GLB.COPY is 3) the LOOK.UP; FROM will find<br />

DIANE, and not reread BRUCE and COLLEEN.<br />

‘‘LOOK.UP; (LU;) Commands’’ and ‘‘DETERMINE; (DT) Commands’’.<br />

v 1-225


SET.DB<br />

SET.DB<br />

Syntax<br />

Note: This command is valid for OS 2200 based <strong>LINC</strong> Systems only. It is ignored on<br />

UNIX and MCP based <strong>LINC</strong> Systems and in LDA Run Time.<br />

Use the SET.DB; command to specify a target database for Ispecs in your system. You can<br />

associate a target database with all interdatabase Ispecs, and you can also specify a target<br />

database for individual Ispecs. Only Ispecs defined as interdatabase Ispecs can be used<br />

with this command.<br />

Note: A SET.DB command cannot be executed with recall values entered in the<br />

MAINT field (FIR, NEX, LAS, REC, andBAC), as these do not process user<br />

logic. You can define logic that uses the INQ value in the MAINT field.<br />

The following conditions apply when using the SET.DB; command:<br />

$ The target database is set to the local database for all Ispecs at the start of Pre-Screen<br />

and Pre-<strong>LINC</strong> logic.<br />

$ Previous target database definitions are overridden by subsequent SET.DB; commands<br />

(including those with the ALL; command option).<br />

$ Note the following points when making target database assignments before and during<br />

DETERMINE; or LOOK.UP; loops.<br />

v The target database assignment used to run the DETERMINE; or LOOK.UP; loop is<br />

not affected by any SET.DB; assignment within the loop.<br />

v SET.DB; assignments within the loop will however affect subsequent database<br />

commands.<br />

The following System Data items can be used in conjunction with interdatabase access:<br />

$ GLB.APPNAME<br />

$ GLB.APPNO<br />

$ GLB.EXTDB<br />

$ GLB.EXTDBSTATUS<br />

Note: The SET.DB; command is used to facilitate interdatabase access. There are a<br />

number of important considerations when using this facility, and therefore<br />

you should thoroughly read the subsection on External Automatic Entries in<br />

your <strong>LINC</strong> Generate Operations Guide before using the SET.DB; command.<br />

DD DDD DDBDDDD DDDDBDDDDDDDDDDDD4<br />

3 3<br />

@D DY<br />

1-226 v


database<br />

SET.DB<br />

An alphanumeric data item or literal (in parentheses) that specifies a database (database<br />

name must be upper case).<br />

ispec<br />

Name of an interdatabase Ispec. The name must be in upper case, and in parentheses.<br />

ALL<br />

Examples<br />

Specifies that all interdatabase Ispecs are to have the same target database.<br />

In the following example, the database named in the ADB data item is the target database<br />

for all interdatabase Ispecs. The PROD Ispec is given a target database of BOB,andCUST<br />

is given a target database of FRED. The target database for the SALE Ispec is reset to the<br />

local database.<br />

<br />

<br />

<br />

<br />

In the next example, the database SALEDB is used by the LOOK.UP; EVERY command<br />

(even though there is a SET.DB; command in the loop). In the loop, however, the<br />

LOOK.UP; command uses the database named CUSTDB.<br />

<br />

<br />

<br />

<br />

<br />

<br />

To recall data from a record in the BOBDB database:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

v 1-227


SET.DB<br />

To read from one database and AUTO; to the other:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Flag to an existing record in the database of another <strong>LINC</strong> System:<br />

<br />

<br />

<br />

<br />

Read one database, and flag to another database:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Using System Data Items to determine the name of a target database:<br />

<br />

<br />

<br />

<br />

<br />

<br />

1-228 v


<strong>Reference</strong>s<br />

‘‘GLB.APPNAME’’, ‘‘GLB.APPNO’’, ‘‘GLB.EXTDB’’, and ‘‘GLB.EXTDBSTATUS’’.<br />

SET.DB<br />

"Interdatabase Access" in your OS 2200 Based <strong>LINC</strong> Administration and Operations<br />

Guide.<br />

v 1-229


SET.TITLE (SETT)<br />

SET.TITLE (SETT)<br />

The SET.TITLE; command enables the name of a Report Extract file to be dynamically<br />

changed during the running of the Report.<br />

The SET.TITLE; command explicitly closes the specified Extract file, and defines a<br />

filename to be used by subsequent DETERMINE; ACTUAL, EXTRACT; or SORT;<br />

commands. If no pack is specified, the default Extract pack is used.<br />

For an MCP based <strong>LINC</strong> System, since SET.TITLE; is a runtime command, it will overwrite<br />

any TITLE system attribute set (for example, for a Report initiated from RIP).<br />

Caution<br />

If you use RETAIN.AS; and SET.TITLE; for the same Extract file in a Report, then<br />

when the SET.TITLE; command is executed, the Extract file will be purged. You<br />

should not use both the RETAIN.AS; and SET.TITLE; commands on the same file.<br />

Extract File Processing<br />

There are three categories of Extract file.<br />

$ EXISTING files, which exist before the Report begins and are retained after the Report<br />

ends. Use the EXIST; command option with the SET.TITLE; command to specify an<br />

EXISTING file.<br />

$ PERMANENT files, which do not exist before the Report begins, but are created by the<br />

Report and retained after the Report ends. To specify a PERMANENT file, do not use<br />

the EXIST; command option.<br />

$ TEMPORARY files, which do not exist before the Report begins, and are deleted after<br />

the Report ends. Including a SET.TITLE; command changes a TEMPORARY file to<br />

PERMANENT.<br />

For more details, see ‘‘Categories of Extract file’’ under the ‘‘EXTRACT (EX)’’ command,<br />

earlier in this section.<br />

The way a SET.TITLE; command handles an Extract file at runtime is influenced by:<br />

$ Category of Extract file (TEMPORARY, PERMANENT, or EXISTING)<br />

$ Whether the Extract file has been accessed or not<br />

The SET.TITLE; command explicitly closes the specified Extract file and changes the<br />

name of the file. The file category is changed to PERMANENT if the EXIST; command<br />

option is not included, or to EXISTING if the EXIST; command option is included. The new<br />

file is not opened until it is accessed by a DETERMINE; ACTUAL, MATCH; EXTRACT; or<br />

SORT; command.<br />

1-230 v


Syntax<br />

On entry to the SET.TITLE; command:<br />

SET.TITLE (SETT)<br />

$ If the file previously was a TEMPORARY file, the file is deleted (if it had been created).<br />

$ If the file previously was a PERMANENT file, the file is created as an empty file (if it<br />

does not exist), cleared (if it exists, but has not been accessed), or closed (if it has<br />

been accessed).<br />

$ If the file previously was an EXISTING file, the file is closed (if it has been accessed),<br />

otherwise no action is taken.<br />

$ The following table shows the actions performed on the Extract file on entry to the<br />

SET.TITLE; command.<br />

Current State of file TEMPORARY PERMANENT EXISTING<br />

File exists Deleted Closed/Cleared No action<br />

File does not exist No action Created Closed<br />

File Status Temporary Extract<br />

File<br />

Permanent Extract<br />

File<br />

File exists Deleted Closed/Cleared No action<br />

File does not exist No action Created Closed<br />

DD DDD DDD DDDDD <br />

DDDBDDDDDDDDDDDDDDDDDDDDDDBDDDDBDDDDDDDDDDBDDDDDDDD4<br />

3 3 3 3<br />

@D DD DY @D DY<br />

extract file<br />

The one-character Extract file designator, A through Z.<br />

data name 1<br />

A data item or literal giving the file name of the Extract file.<br />

Existing Extract File<br />

$ For MCP based runtime hosts, the name (in data name 1) may contain any number of<br />

levels, but cannot exceed 18 characters (including slash characters). System usercodes<br />

must not be included. If a pack name is specified (in data name 2), the filename length<br />

can be up to 39 characters less the length of the name of the Extract pack or the length<br />

of the data name 2 value.<br />

v 1-231


SET.TITLE (SETT)<br />

$ For OS 2200 based <strong>LINC</strong> Systems, the file name cannot contain more than one asterisk<br />

character, and cannot be longer than 25 characters. Each portion of the file name,<br />

before and after the asterisk, cannot be longer than 12 characters. If no asterisk<br />

character is used, the maximum is 12 characters.<br />

$ For UNIX <strong>LINC</strong> Systems, the name may be any valid pathname up to 100 characters in<br />

length. Within that, the filename may be up to 14 characters in length. If you do not<br />

specify an absolute path name for the file, the file name is relative to the <strong>LINC</strong> System<br />

directory.<br />

If the Extract file is to go to TAPE, the value of this parameter depends on the host type, as<br />

shown in the following table.<br />

ON; data name 2<br />

Host type Parameter value<br />

MCP<br />

environment<br />

OS 2200<br />

environment<br />

Tape name<br />

Tape serial number<br />

UNIX Pathname to the tape drive<br />

Note: This command option is valid only for MCP based <strong>LINC</strong> Systems.<br />

This command option gives the disk pack name if the Extract file is to go to disk (that is,<br />

DISK was selected on the Extract File Options screen).<br />

EXIST;<br />

If you include this command option, the file will be treated as an existing file, and it will<br />

not be cleared unless the first access is by way of an EXTRACT; command.<br />

If you do not include this command option, the standard SET.TITLE; command will<br />

operate in the same manner as the RETAINED.AS; command option, namely:<br />

$ If the first command after the SET.TITLE; is a SORT; or DETERMINE; ACTUAL,<br />

(without the EXTRACTED.AS; command option), the file will be initialized (created<br />

with no records).<br />

$ If the first command after the SET.TITLE; is a DETERMINE; ACTUAL with the<br />

EXTRACTED.AS; command option, the file will be treated as existing, and it will not<br />

be cleared or initialized.<br />

$ If the file is not used after the SET.TITLE; command, then when the Report completes,<br />

the file will be empty.<br />

1-232 v


Examples<br />

<strong>Reference</strong>s<br />

SET.TITLE (SETT)<br />

The following example will create a physical file that will be given the name entered by the<br />

user. The file is then loaded by extracting SREP records into it. Assuming this is all the<br />

code in the Report, at the end of the Report the file will be kept, and it will contain the<br />

details extracted from SREP.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

The next example will open the existing physical file that it is identified by the name<br />

entered by the user. The file is then sorted into name order. Assuming this is all the code in<br />

the Report, at the end of the Report the file will be kept, with records sorted in ascending<br />

order of salesrep name. In the code, a dummy DETERMINE; command is used to associate<br />

the file layout B with the SREP Component. In a normal situation, you would probably use<br />

such a DETERMINE; command loop to perform a required function; for example, printing<br />

the sorted file.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

‘‘EXTRACT (EX)’’<br />

‘‘DETERMINE; ACTUAL’’<br />

‘‘SORT (SO)’’<br />

The subsections on Extract Files and MAPPER Extract Files in the "Interfacing to Other<br />

Systems" sectioninthe<strong>LINC</strong> Administration and Operations Guide for the relevant host<br />

type.<br />

v 1-233


SLEEP (SLP)<br />

SLEEP (SLP)<br />

The SLEEP; command suspends execution of a Report. When reactivated, execution<br />

resumes from the next command in the Report logic.<br />

The SLEEP; command has the following variants:<br />

$ SLEEP n<br />

Any current database transaction is committed, and the Report is suspended for a<br />

number of seconds (in the range 0 through 9999). The Report is reactivated after this<br />

time, or if a WAKE.UP; command is received.<br />

For OS 2200 base <strong>LINC</strong> Systems, a SLEEP; 0 forces a database commit. A SLEEP; n<br />

(where n is greater than zero) initiates an end thread, followed by a wait of n seconds,<br />

followed by a begin thread.<br />

$ SLEEP; UNTIL WAKE.UP<br />

Any current database transaction is committed, and the Report is suspended until it is<br />

explicitly reactivated by a WAKE.UP; command, or termination of the Report.<br />

$ SLEEP; UNTIL WAKE.UP END.AFTER; n<br />

Any current database transaction is committed, and the Report is suspended until it is<br />

explicitly reactivated by a WAKE.UP; command, Report termination, or until after the<br />

specified number of seconds. In the latter case, GLB.CLOSE is set to CLOSE.<br />

Note: In a <strong>LINC</strong> Report generated as a Coroutine, the SLEEP; UNTIL WOKEN<br />

command performs an end transaction only. See the CALL; command for<br />

details of Coroutines.<br />

About the SLEEP; Command<br />

If GLB.CLOSE equals CLOSE when a SLEEP; command is executed, the Report goes to<br />

end-of-job.<br />

Following the SLEEP; command, a new database transaction (thread) will be started. On<br />

MCP based <strong>LINC</strong> Systems, this will occur on the first database update following the<br />

SLEEP; command.<br />

On OS 2200 based <strong>LINC</strong> Systems, if your Report is executed with the no restart option on<br />

the @XQT (@XQT,X), then the SLEEP; will not be actioned.<br />

On UNIX ORACLE Systems, updates are not available to other processes until a database<br />

commit occurs, normally at the end of Pre-Screen logic. If a WAKE.UP; command occurs in<br />

Main logic, and the update has not been committed in the Ispec, it is possible that the<br />

sleeping Report might not find any outstanding request in the parameter file when it is<br />

reactivated. This could result in some outstanding requests remaining in the parameter file.<br />

In LDA Run Time, if a SLEEP; command is executed within a block of logic introduced by a<br />

loop or a condition, it does not perform a database commit or close command, and<br />

therefore does not release any database locks that have been set.<br />

1-234 v


SLEEP (SLP)<br />

Use of this command with OLTP is described in your <strong>LINC</strong> Generate Operations Guide.<br />

Report Output Control (ROC) Standard Reports<br />

Syntax<br />

Examples<br />

It is recommended that the CRITICAL.POINT; command be used instead of the SLEEP;<br />

command in Standard ROC Reports, because although a SLEEP; command causes a<br />

database commit, all ROC Standard Report output may not have been written to the<br />

appropriate <strong>LINC</strong> structures (as it is with a CRITICAL.POINT; command). Recovery of the<br />

output cannot therefore be fully guaranteed. In addition, the values of System Data items<br />

are not recovered.<br />

DD DBDD DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBDD4<br />

3 3<br />

CDD DBDDBDDDDDDDDDDDDDDDDDDDDDDDDD4<br />

3 3 3 3<br />

@DD DDDY @D DD DY<br />

sleep time<br />

A numeric data item or constant giving the number of seconds (in the range 0 through<br />

9999) for which the Report is to be suspended. The Report is reactivated after this time, or<br />

if a WAKE.UP; command is received.<br />

timeout<br />

A numeric data item giving the number of seconds (in the range 0 through 9999) for which<br />

the Report is to be suspended. The Report is reactivated after this time (and the System<br />

Data item GLB.CLOSE is set to CLOSE), or if a WAKE.UP; command is received<br />

In the following example, the Report is suspended for 30 seconds every time Frame 03 is<br />

printed.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

v 1-235


SLEEP (SLP)<br />

<strong>Reference</strong>s<br />

In the following example, the Report is suspended until the Ispec sends a WAKE.UP;<br />

command.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

‘‘GLB.CLOSE’’.<br />

<br />

"Online Transaction Processing (OLTP)" in your <strong>LINC</strong> Generate Operations Guide.<br />

1-236 v


SORT (SO)<br />

SORT (SO)<br />

The SORT; command orders records in an Extract file into ascending or descending order,<br />

based on the values of data items specified with one or more ASCENDING; and<br />

DESCENDING; command options. The order of the sort is based on the first data name<br />

first, then the second, and so on.<br />

Note: MAPPER Extract files cannot be sorted by using this command.<br />

The SORT; fields are not qualified. The following rules must be adhered to:<br />

$ Each sort data item must be in all records of the Extract file.<br />

$ Each sort data item must be unique within all Frames that are defined for that Extract<br />

file.<br />

$ Each sort data item must have the same edit characteristics in all Frames.<br />

For MCP based and OS 2200 based <strong>LINC</strong> Systems, you can set the sort memory size on the<br />

Environmental Options screen. For UNIX <strong>LINC</strong> Systems, you can set the sort memory size<br />

using the COBSW switch before running the Report (see your COBOL documentation for<br />

more information).<br />

The sorting order is based on the standard character sequence, as for Profiles. For more<br />

details, see "ASCENDING (ASC)" in your <strong>LINC</strong> Generate <strong>Reference</strong> <strong>Manual</strong>: Painter and<br />

Editor.<br />

Extract File Processing<br />

The Extract file should be opened before the SORT; command is executed.<br />

There are three categories of Extract file.<br />

$ EXISTING files, which exist before the Report begins and are retained after the Report<br />

ends. Use the EXIST; command option of the SET.TITLE; command to specify an<br />

EXISTING file.<br />

$ PERMANENT files, which do not exist before the Report begins, but are created by the<br />

Report and retained after the Report ends. To specify a PERMANENT file, do not use<br />

the EXIST; command option.<br />

v 1-237


SORT (SO)<br />

Syntax<br />

$ TEMPORARY files, which do not exist before the Report begins, and are deleted after<br />

the Report ends.<br />

These files do not exist before the Report begins, and are deleted after the Report<br />

ends. To specify a TEMPORARY file, use one of the following logic command<br />

constructs (and do not include a SET.TITLE; command):<br />

v EXTRACT; (without the RETAIN.AS; command option)<br />

v DETERMINE; ACTUAL (without the RETAINED.AS; command option)<br />

For more details, see ‘‘Categories of Extract file’’ under ‘‘EXTRACT (EX)’’ command, earlier<br />

in this section.<br />

The way a SORT; command handles an Extract file at runtime is influenced by:<br />

$ Category of Extract file (TEMPORARY, PERMANENT, or EXISTING)<br />

$ Whether it is the first or a subsequent access of the Extract file<br />

A first access is defined as the first execution of any DETERMINE; ACTUAL, SORT ,<br />

EXTRACT, or MATCH; commands for a specific Extract file, either in the logic of the<br />

Report, or following a SET.TITLE; or RESTART; command.<br />

The SORT; command attempts to sort the specified Extract file.<br />

$ If this is not the first access of the file, the file is sorted.<br />

$ If this is the first access of the file:<br />

v If it is not an EXISTING file, the file will be created as an empty file if it does not<br />

already exist, or it will be cleared if it does exist.<br />

v If it is an EXISTING file, the file will be sorted if it already exists. If it does not<br />

exist, the Report will abort (on UNIX and OS 2200 based <strong>LINC</strong> Systems) or<br />

become a waiting entry (on MCP based <strong>LINC</strong> Systems).<br />

v The following table shows the actions performed on the Extract file if the SORT;<br />

command is the first access to it.<br />

File Status Temporary Extract<br />

File<br />

Permanent Extract<br />

File<br />

File exists Cleared Cleared Sorted<br />

File does not exist Created Created Wait<br />

ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDD?<br />

3 3<br />

DD DD DABDD DBD DADD4<br />

3 3<br />

@D DY<br />

Existing Extract File<br />

1-238 v


Examples<br />

SORT (SO)<br />

The first ASCENDING; or DESCENDING; command option must be specified on the same<br />

logic line as the SORT; command. Subsequent ordering command options must be on<br />

separate lines.<br />

ASCENDING;<br />

The ASCENDING; command option is used to sort an Extract file into ascending order,<br />

based on the value of the specified data item. Several data items may be used to sort the<br />

file, but each data item requires its own separate ASCENDING; (or DESCENDING;)<br />

command option.<br />

ASCENDING can be abbreviated as ASC.<br />

DESCENDING;<br />

The DESCENDING; command option is used to sort an Extract file into descending order,<br />

based on the value of the specified data item. Several data items can be used to sort the<br />

file, but each data item requires its own separate DESCENDING; (or ASCENDING;)<br />

command option.<br />

DESCENDING can be abbreviated as DSC.<br />

data item<br />

A data item present in all records in the Extract file. Qualification of these items is<br />

discussed in your <strong>LINC</strong> Generate Operations Guide.<br />

Note: The data item must be unique in the Extract file.<br />

In the following example, Extract file A is sorted into ASCENDING order of INPUT-DATE<br />

within ASCENDING order of PRODUCT.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

In the next example, Extract file A is sorted into ASCENDING order of ADDRESS, within<br />

DESCENDING order of BRANCH, within DESCENDING order of COMPANY.<br />

<br />

<br />

<br />

<br />

v 1-239


SORT (SO)<br />

<strong>Reference</strong>s<br />

"Profiles" in your <strong>LINC</strong> Generate <strong>Reference</strong> <strong>Manual</strong>: Painter and Editor<br />

‘‘SET.TITLE (SETT)’’<br />

"Report Environmental Options Screen" in your <strong>LINC</strong> Generate Operations Guide.<br />

The subsections on Extract Files and MAPPER Extract Files in the "Interfacing to Other<br />

Systems" sectioninthe<strong>LINC</strong> Administration and Operations Guide for the relevant host<br />

type.<br />

1-240 v


START (ST)<br />

START (ST)<br />

Depending on the target host type, this command enables an Ispec or Report to start:<br />

$ An MCP based WFL Job<br />

$ An OS 2200 based ECL runstream<br />

$ A UNIX executable shell script in the background.<br />

$ A .EXE, .COM or .BAT file in Windows NT or Windows 95.<br />

Use of this command with OLTP is described in your <strong>LINC</strong> Generate Operations Guide.<br />

Specific details for each target host type are given in the following subsections.<br />

For an MCP based <strong>LINC</strong> System<br />

The START; command enables an Ispec or Report to execute a WFL Job with parameters.<br />

If the parameter item is a Setup.Data item or a screen item, it must include quotation<br />

marks, or the WFL will fail. The WFL Job File should be located on the Object pack family,<br />

or on the alternative (OTHERWISE) pack for the system usercode. It is your responsibility<br />

to provide a valid parameter as required by the Job.<br />

Files started in this way will not be attached to (or controlled by) the <strong>LINC</strong> System.<br />

The START; command has the following parameters:<br />

$ A literal or data item giving the 32-character Work Flow Job file. This parameter is<br />

compulsory.<br />

$ A literal or data item value (not exceeding 200 characters), being a file equate or a WFL<br />

string parameter value. This parameter is optional.<br />

If the length of the first parameter and the length of the second parameter both exceed 18,<br />

data items must be used (not literals).<br />

If the file equates, Accept command, or string parameter is invalid, MCP will reject the<br />

START; command, the program or job will not be started, and the <strong>LINC</strong> logic will not<br />

receive notification of the error.<br />

GLB.STATUS is set to indicate the result of the START; command, as shown in the<br />

following table.<br />

Value Result Indicated<br />

INVAL The program or job name is invalid or cannot be located.<br />

Space The MCP has been instructed to start the program or job.<br />

v 1-241


START (ST)<br />

To avoid duplication, <strong>LINC</strong> will only restart jobs in Ispec or Report recovery, where those<br />

START; commands were apparently not successfully executed for those jobs prior to the<br />

failure. START; commands that were successfully executed prior to the failure will be<br />

ignored.<br />

If the failure is due to a system halt/load, the MCP will automatically restart all jobs that<br />

were active at the time of the interruption.<br />

The chargecode that applies to your WFL start is dependent on the values of the :COD <strong>LINC</strong><br />

System command and the GLB.CHARGECODE System Data item. For further details, see<br />

$ ‘‘GLB.CHARGECODE’’, in this manual<br />

$<br />

$<br />

"Setting Chargecodes for <strong>LINC</strong> Systems and Reports" in your MCP Based <strong>LINC</strong><br />

Administration and Operations Guide<br />

"Report and WFL Job Chargecodes" in your MCP Based <strong>LINC</strong> Administration and<br />

Operations Guide<br />

For an OS 2200 based <strong>LINC</strong> System<br />

The START; command executes an OS 2200 based ECL runstream. The request is passed to<br />

the <strong>LINC</strong> Background Run which performs an @START of the runstream. Consequently,<br />

the run is executed under the same account/userid as the <strong>LINC</strong> Background Run.<br />

No status is returned on the success or otherwise of the runstream.<br />

There is only one parameter for the START; command. This is the element name of the<br />

runstreams. No parameters can be passed to the runstream.<br />

All runstreams to be accessed by the START; command must be copied into the following<br />

file:<br />

<br />

GLB.STATUS is set to indicate the result of the START; command, as shown in the<br />

following table.<br />

Value Result Indicated<br />

INVAL The runstream cannot be located.<br />

Space The <strong>LINC</strong> Background Run has been instructed to start the runstream. If for some<br />

reason it cannot be started, EXEC will reject the START command from the <strong>LINC</strong><br />

Background Run, the runstream will not be started, and <strong>LINC</strong> logic will not receive<br />

error notification.<br />

1-242 v


Syntax<br />

Caution<br />

On OS 2200 based <strong>LINC</strong> Systems, the job will not be restarted during <strong>LINC</strong><br />

Background Run recovery.<br />

For a UNIX <strong>LINC</strong> System<br />

START (ST)<br />

The START; command enables an Ispec or Report to start an executable shell script. The<br />

shell script is started in the background, at the end of the current transaction.<br />

GLB.STATUS is set to indicate the result of the START; command, as shown in the<br />

following table.<br />

Value Result Indicated<br />

INVAL The script is invalid (permissions) or it cannot be found.<br />

Space The script has been found and initiated.<br />

Note: If the Ispec or Report is restarted by <strong>LINC</strong> Recovery, the START; command is<br />

executed again, even if the program or job is still active or has successfully<br />

terminated.<br />

DD DDDDD DDDBDDDDDDDDDDDDDDDDDBDD4<br />

3 3<br />

@DD DDY<br />

parameter 1<br />

For an MCP based <strong>LINC</strong> System, a data item or literal giving the Work Flow Job file name.<br />

For an OS 2200 based <strong>LINC</strong> System, a data item or literal giving an element name within<br />

the START$ file, that contains the runstream to be started.<br />

For a UNIX <strong>LINC</strong> System, a data item or literal giving the full pathname of a shell script to<br />

be executed. May be up to 32 characters. Do not use environmental variables in the<br />

pathname.<br />

For LDA, the program or .BAT file to be executed.<br />

parameter 2<br />

For an MCP based <strong>LINC</strong> System, an optional data item or literal giving a WFL string<br />

parameter value for the job.<br />

v 1-243


START (ST)<br />

Examples<br />

For an OS 2200 based <strong>LINC</strong> System, this parameter is not required.<br />

For a UNIX <strong>LINC</strong> System, an optional data item or literal giving the argument to be passed<br />

to the shell script.<br />

For LDA, a set of command line arguments.<br />

MCP environment<br />

<br />

The following example shows the use of Setup Data items in a START; command.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

OS 2200 environment<br />

<br />

UNIX<br />

<strong>Reference</strong>s<br />

<br />

‘‘RUN’’.<br />

Use of this command with OLTP is described in your <strong>LINC</strong> Generate Operations Guide.<br />

1-244 v


STN.INFO (SI)<br />

STN.INFO (SI)<br />

This command is ignored in LDA Run Time, and its function differs depending on the type<br />

of host, as described in the following subsections.<br />

For an MCP based <strong>LINC</strong> System<br />

The STN.INFO; command is used to validate a station or printer name. It accesses the<br />

network file, and stores station or printer information in a specified user data item.<br />

GLB.STATUS is set to indicate the validity of the supplied station or printer name. It is set<br />

to five asterisks (*****) if the station or printer name is not valid.<br />

Station information recalled includes the values shown in the following table (in the listed<br />

sequence).<br />

Description Value Field<br />

Length<br />

Terminal type TP or VD 2<br />

Model As declared in network file 10<br />

Associated Printer or Printer<br />

Host is recalled<br />

VD (Associated printer) or TP (Printer Host) 17<br />

Not used 50<br />

For an OS 2200 based <strong>LINC</strong> System<br />

STN.INFO is valid syntax, but has no effect. It will always return a GLB.STATUS value of<br />

*****, and clears data item 2 to spaces .<br />

For a UNIX <strong>LINC</strong> System<br />

The STN.INFO; command is used to obtain information about a username in the<br />

<strong>LINC</strong>IINET file or an Alias in the <strong>LINC</strong> Report Output Control System (ROC), as follows:<br />

$ If the value is found in the <strong>LINC</strong>IINET file (indicating a username), information is<br />

returned in the specified data item, as shown in the following table (in the listed<br />

sequence).<br />

v 1-245


STN.INFO (SI)<br />

Syntax<br />

Description Value Length<br />

Type VD 2<br />

Not used 10<br />

Printer Associated printer 17<br />

Privilege GLB.PRIV value 4<br />

$ If the value is not found in the <strong>LINC</strong>IINET file, the ROC Aliases are then examined.<br />

$ If the value is a valid ROC Alias is found, information is returned as shown in the<br />

following table (in the listed sequence).<br />

Description Value Length<br />

Type TP 2<br />

Not used 27<br />

Alias Full ROC Alias 50<br />

$ If the name is not found, GLB.STATUS is set to *****.<br />

DD DDD DDD DDDDDDDD4<br />

data item 1<br />

A data item or literal (depending on host type) specifying:<br />

$ The MCP based station or printer name to be validated<br />

$ A UNIX username or ROC Alias<br />

data item 2<br />

An alphanumeric data item that is to receive the requested information. The minimum<br />

length for this data item is 79.<br />

1-246 v


SUBTRACT (SB)<br />

Syntax<br />

Example<br />

<strong>Reference</strong>s<br />

SUBTRACT (SB)<br />

The SUBTRACT; command subtracts the first value from the value in the second data item<br />

and stores the result in the second data item, or in a third data item if one is explicitly<br />

specified by the GIVING; command option.<br />

The GIVING; and ROUNDED; command options can be included with the SUBTRACT;<br />

command.<br />

The System Data item GLB.STATUS is not updated by the SUBTRACT; command. Use the<br />

GLB.STATUS; command to test for arithmetic overflow.<br />

DD DDD DDD DDDDDD <br />

DDBDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBDDBDDDDDDDDDDDDDDBDDD4<br />

3 3 3 3<br />

@DD DD DDY @DD DDY<br />

numeric data 1<br />

A numeric data item or literal giving the value to be subtracted.<br />

numeric data 2<br />

A numeric data item containing the value to be subtracted from. If the GIVING; command<br />

option is not specified, the result is stored in this data item. (If it is specified, this data item<br />

is unchanged.) This can be a literal only if the GIVING; command option is used.<br />

GIVING; numeric data 3<br />

The GIVING; command option directs the result to the specified data item. The GIVING;<br />

command option must be on the same line as the SUBTRACT; command. GIV is a valid<br />

abbreviation for GIVING. If it is not included, the result is stored in numeric data 2.<br />

ROUNDED;<br />

This command option specifies that the result is to be rounded (rather than truncated).<br />

<br />

<br />

‘‘GLB.STATUS (GS)’’ for directing the value of GLB.STATUS to a data item.<br />

v 1-247


SWITCH.TO (SWT)<br />

SWITCH.TO (SWT)<br />

The SWITCH.TO; command enables you to transfer directly to another system by using<br />

<strong>LINC</strong> logic. The other system can be:<br />

$ Another <strong>LINC</strong> System<br />

$ Another <strong>LINC</strong> System running PowerClient<br />

$ A non-<strong>LINC</strong> System in an MCP or OS 2200 environment. For example, an MCP based<br />

CANDE session, or an OS 2200 based 3GL System<br />

$ A default UNIX or MCP based screen; for example, a Logon or Logoff screen<br />

Use this command if you want to perform a certain function outside your current <strong>LINC</strong><br />

System without having to go through the procedure of exiting from the <strong>LINC</strong> System and<br />

signing on to another <strong>LINC</strong> System or non-<strong>LINC</strong> System.<br />

Once you have completed your task in the other system, you can then switch back to<br />

where you were, or to a default screen.<br />

The SWITCH.TO; command can be used in MCP and OS 2200 based <strong>LINC</strong> Systems, and in<br />

UNIX <strong>LINC</strong> Systems that are using <strong>LINC</strong> Server mode. See your UNIX <strong>LINC</strong><br />

Administration and Operations Guide for details of <strong>LINC</strong> Server mode for UNIX <strong>LINC</strong><br />

Systems.<br />

On OS 2200 based <strong>LINC</strong> Systems, you can use the INHERIT; command option to pass the<br />

terminal type, language, usercode, and partition (if executed from PowerClient) to the<br />

destination system, if that destination system is a <strong>LINC</strong> System. On UNIX and MCP based<br />

<strong>LINC</strong> Systems, you cannot pass these values.<br />

The SWITCH.TO; command is not available in Reports. It sets GLB.ERROR to five asterisks<br />

(*****). The command is ignored in LDA Run Time.<br />

Use of this command with OLTP is described in your <strong>LINC</strong> Generate Operations Guide.<br />

LDA Restrictions and Limitiations<br />

The functionality of the SWITCH.TO; command in LDA differs from host <strong>LINC</strong>, and has the<br />

following restrictions and limitations:<br />

$ The new Business Segment must reside in the same Repository as the calling Business<br />

Segment.<br />

$ When the SWITCH.TO; command is executed in LDA Run Time, the current LDA<br />

session is closed and a new session is opened for the called Business Segment. This<br />

may take a few seconds, because the .FRM file must be recreated for the called Ispec.<br />

$ STARTUP and CLOSEDOWN Global Logics cannot be invoked automatically in LDA.<br />

1-248 v


SWITCH.TO (SWT)<br />

Host <strong>LINC</strong> implementation of SWITCH.TO; assumes the disengagement of one <strong>LINC</strong><br />

System and the engagement of another, and does not involve the shutdown of either<br />

system. The LDA implementation cannot avoid closing down one system before<br />

engaging the other. Therefore, it cannot be assumed that STARTUP logic has been<br />

executed in LDA.<br />

Runtime Requirements<br />

For an MCP based <strong>LINC</strong> System<br />

To use this command on MCP based target hosts, you must install a COMS processing<br />

item, such as TPTOMARC, for the MARCINPUT agenda. For more details, see your MCP<br />

Based <strong>LINC</strong> Installation and Configuration Guide.<br />

If you switch to an invalid system name, your originating screen is displayed. A message<br />

informs you that the system you were attempting to switch to is not available.<br />

For an OS 2200 based <strong>LINC</strong> System<br />

You can use this command to switch to another <strong>LINC</strong> System. If you are switching from a<br />

System running with PowerClient, and the other <strong>LINC</strong> System is not generated for use with<br />

PowerClient, the SWITCH.TO; command will fail and you will be signed off.<br />

For a UNIX <strong>LINC</strong> System<br />

Define the environment variables database_DIR and database_ENV. These variables can<br />

be defined for each user, for all users of a <strong>LINC</strong> System, or for all users. See your UNIX<br />

<strong>LINC</strong> Administration and Operations Guide for details of environment variables.<br />

If you attempt to switch to an invalid system name, you will be returned to your originating<br />

screen if you switch without a BYE command, or logged off if you switch with a BYE<br />

command. A message is displayed informing you of the unavailability of the system you<br />

were attempting to switch to.<br />

Runtime Transaction Flow<br />

The effects of using the SWITCH.TO; command on transaction flow are as follows.<br />

$ The SWITCH.TO; command takes effect at the end of the Ispec Logic. This is similar to<br />

the RECALL; command.<br />

$ On execution of the command, GLB.ERROR is set to five asterisks (*****).<br />

$ All logic following the SWITCH.TO; command is processed.<br />

$ If multiple SWITCH.TO; and RECALL; commands are executed in the same Ispec, only<br />

the last SWITCH.TO; or RECALL; command executed is actioned.<br />

$ GLI, OFFLINE, external Automatic Entry (HUB), and OLTP transactions ignore this<br />

command.<br />

v 1-249


SWITCH.TO (SWT)<br />

Syntax<br />

$ On UNIX and MCP based <strong>LINC</strong> Systems, you cannot switch to the <strong>LINC</strong> Report Output<br />

Control System (ROC) or <strong>LINC</strong> Ad Hoc Inquiry Utility. Use the ROC.MODE; or<br />

ADHOC.MODE; commands instead.<br />

$ On OS 2200 based <strong>LINC</strong> Systems you can switch to the <strong>LINC</strong> Report Output Control<br />

System (ROC).<br />

$ For an MCP based <strong>LINC</strong> System you cannot use the DATA; command option when<br />

switching to a <strong>LINC</strong> Release 15 System.<br />

The SWITCH.TO; command has the following syntax:<br />

DD DD DBDDDDDDDDDDDDDDDDDDDDDDBDDDDDDDDDDDDDD <br />

3 3<br />

@D DD DY<br />

DBDDDDDDDDDDDDDDDDDDDDDDDDBDBDDDDDDBDBDDDDDDDDBDBDDDDDDDDDDBDD4<br />

3 33 33 33 3<br />

@ D Y@ Y@ Y@ Y<br />

system<br />

An alphanumeric data item or literal specifying the destination system, as follows:<br />

$ For an MCP based <strong>LINC</strong> System, a valid window name, or an asterisk (*) for the<br />

default window name.<br />

$ For an OS 2200 based <strong>LINC</strong> System, a valid transaction id.<br />

$ For a UNIX <strong>LINC</strong> System, the name of the <strong>LINC</strong> Database for the target <strong>LINC</strong> System.<br />

If you enter an invalid system name, the current screen of your sending <strong>LINC</strong> System is<br />

displayed with a message informing you of the unavailability of the target system.<br />

DATA; data name<br />

Specifies an alphanumeric data item or literal whose value is to be passed to the target<br />

<strong>LINC</strong> System. Up to 1850 characters (1884 on UNIX <strong>LINC</strong> Systems) may be passed. DATA<br />

may be abbreviated as DA.<br />

$ If the first 5 characters of the data make up the name of a valid Ispec, and are followed<br />

by data in NOF format, normal Pre-<strong>LINC</strong> and Main Logic of that Ispec is performed.<br />

NOF format in MCP and OS 2200 environments is defined by the <strong>LINC</strong>OFF file, while<br />

on UNIX <strong>LINC</strong> Systems it is defined by the <strong>LINC</strong>NOF file. See your UNIX <strong>LINC</strong><br />

Administration and Operations Guide for details of creating the <strong>LINC</strong>NOF file.<br />

$ If the first 5 characters of the data make up the name of a valid Ispec, and the sixth<br />

character is not a T, normal Pre-Screen logic of that Ispec is performed.<br />

1-250 v


SWITCH.TO (SWT)<br />

$ For an MCP based <strong>LINC</strong> System, if the first 5 characters of the data do not contain a<br />

valid Ispec name:<br />

v The data will be processed as for a normal station, that has received invalid data or<br />

<strong>LINC</strong> System command.<br />

v If no data is sent, and if the ?OPEN notification is set, and you are going on to the<br />

window for the first time, the Fireup Ispec is displayed. If no data is sent, and the<br />

?ON notification is set, and you have been on the same window previously, the<br />

previous Ispec is displayed. (You must also have either Output protection or<br />

Logging set.)<br />

v Otherwise, the Ispec Selection screen (Page 2) is displayed (you are in fact signed<br />

on to the destination system).<br />

$ For an OS 2200 based <strong>LINC</strong> System, if the first 5 characters of the data do not contain a<br />

valid Ispec name:<br />

v If no data is sent and if the destination system is not being re-entered, then the<br />

Fireup Ispec of the destination system is displayed. If the destination system is<br />

being re-entered (that is, you previously exited or switched out of the system<br />

without using a BYE command), then the Pre-Screen Logic of the Ispec that was<br />

current at the time of the exit will be performed.<br />

v Otherwise the Ispec Selection screen (Page 2) is displayed.<br />

$ For a UNIX <strong>LINC</strong> System, if the first 5 characters of the data do not contain a valid<br />

Ispec name:<br />

v If the data is a valid <strong>LINC</strong> System command, the command is processed.<br />

v If no data is sent, the Fireup Ispec is displayed.<br />

v Otherwise, the Ispec Selection screen (Page 2) is displayed.<br />

If your data requires a transaction number, set the value of TRANNO in your data<br />

to zero. This will avoid the possibility of your transaction being rejected with a<br />

duplicate transaction number.<br />

PARTITION; partition<br />

Specifies an alphanumeric data item or literal whose value is a partition name for<br />

PowerClient. The value may be up to 19 characters long. PARTITION may be abbreviated<br />

as PA.<br />

When using PowerClient (PCE) with the SWITCH.TO; command:<br />

$ Do not use the prefix <strong>LINC</strong> for a partition name.<br />

$ The value of the system is used if no value is supplied.<br />

$ In PowerClient on UNIX <strong>LINC</strong> Systems, the Ispec in the current <strong>LINC</strong> System is<br />

displayed if you switchback from your destination <strong>LINC</strong> System. .<br />

$ For an MCP based <strong>LINC</strong> System, the Fireup Ispec is displayed when you switch back,<br />

unless an Ispec is explicitly specified using the DATA; command option with the<br />

SWITCH.TO; command.<br />

v 1-251


SWITCH.TO (SWT)<br />

$ On OS 2200 based <strong>LINC</strong> Systems, if the INHERIT; command option had been used<br />

when the SWITCH.TO; was executed, you can use the System Data items<br />

GLB.ORIGINPTN, GLB.ORIGINISPEC, and GLB.ORIGINXNID to switch back to the<br />

originating <strong>LINC</strong> System.<br />

In the destination <strong>LINC</strong> System, the values of these System Data items are defined if<br />

the SWITCH.TO; command was executed with the INHERIT; command option. The<br />

values of these System Data items are initialized to spaces if you access another Ispec<br />

in the destination system.<br />

Note: You must target another PCE application when you use the<br />

SWITCH.TO command from a PCE station. Switching to a <strong>LINC</strong><br />

window with data, if that window is not another PCE application,<br />

will result in the receiving non-PCE window receiving error<br />

messages about non-PCE format input. Further input from the PCE<br />

station receives the message; "Transmission inhibited as a<br />

transaction is in progress".<br />

If the PARTITION; command option is executed on a terminal that is not using<br />

PowerClient, the command option is ignored.<br />

BYE;<br />

Including the BYE; command option signs you off from the originating system.<br />

You can perform a RECALL; (BYE) command to log off from your <strong>LINC</strong> System even if you<br />

have a Report running. If the Report attempts to access the terminal from which you<br />

logged off, it will terminate abnormally.<br />

For an MCP based <strong>LINC</strong> System:<br />

$ If you sign back onto the original system, an ?OPEN notification is sent, and the Fireup<br />

Ispec is displayed.<br />

$ If you switch back to the system with data, the data you send with the SWITCH.TO;<br />

command overrides the ?OPEN notification.<br />

For an OS 2200 based <strong>LINC</strong> System, if the BYE; command option is not specified, the<br />

current Ispec is retained in the STN (station id) file. If you sign back on to, or switch to the<br />

original system by using the SWITCH.TO; command, the original Ispec is displayed.<br />

ForaUNIX<strong>LINC</strong>System:<br />

$ If BYE; is not included, you remain signed on to original system as well as the target<br />

system.<br />

$ If you are running a Report (initiated by using the <strong>LINC</strong> System command :RUN or the<br />

<strong>LINC</strong> logic command RUN;) with device type of VD, a SWITCH.TO; command with the<br />

BYE; command option causes an error. You must first terminate the Report.<br />

1-252 v


Examples<br />

CLEAR;<br />

SWITCH.TO (SWT)<br />

This command option applies to OS 2200 based <strong>LINC</strong> Systems only. Specifying the CLEAR;<br />

command option:<br />

$ Resets the page control for the terminal.<br />

$ Clears the screen before switching to the destination.<br />

$ Resets the page control for the terminal before switching.<br />

This sets the page control variables to those defined in the CTLPAGE SGS statement.<br />

CLEAR may be abbreviated as CL.<br />

INHERIT;<br />

This command option applies to OS 2200 based <strong>LINC</strong> Systems only. Specifying the<br />

INHERIT; command option passes the terminal type, language, usercode, and partition (if<br />

executed from PowerClient) to the destination system, if that destination system is a <strong>LINC</strong><br />

System.<br />

In the destination <strong>LINC</strong> System, the values of the System Data items GLB.ORIGINPTN,<br />

GLB.ORIGINISPEC, and GLB.ORIGINXNID are set, so that you can switch back to that<br />

system if required. See Section 2 for details of these System Data items.<br />

INHERIT may be abbreviated as IN.<br />

In the following example, SWITCH.TO; commands are used to in a variety of ways on an<br />

MCP based <strong>LINC</strong> System.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

v 1-253


SWITCH.TO (SWT)<br />

<strong>Reference</strong>s<br />

The following line of logic switches the user to the <strong>LINC</strong> System MENUSYSTEM, and<br />

executes Pre-Screen logic for the Ispec SALES.<br />

<br />

The following logic is used with a <strong>LINC</strong> System being run using PowerClient. The Ispec<br />

TWOIS is accessed in the <strong>LINC</strong> System DWTWO in PowerClient partition DW<strong>LINC</strong>TWO.<br />

<br />

‘‘GLB.ERROR’’, ‘‘GLB.ORIGINISPEC’’, ‘‘GLB.ORIGINPTN’’, and ‘‘GLB.ORIGINXNID’’.<br />

The Interfaces section in the <strong>LINC</strong> Administration and Operations Guide for the relevant<br />

host type, for details of <strong>LINC</strong>OFF date format.<br />

Use of this command with OLTP is described in your <strong>LINC</strong> Generate Operations Guide.<br />

1-254 v


TRACE (TR)<br />

Syntax<br />

Example<br />

TRACE (TR)<br />

The TRACE; command forces trace output to be written (if TRACE; has been enabled for<br />

the Ispec or Report in which it appears).<br />

This command is ignored in LDA Run Time.<br />

DDD DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD4<br />

<br />

<br />

<br />

<br />

<strong>Reference</strong>s<br />

The Trace function is described in more detail in your <strong>LINC</strong> Generate Operations Guide,<br />

andinyour<strong>LINC</strong> Administration and Operations Guide for the relevant host type.<br />

v 1-255


UPPER.CASE (UC)<br />

UPPER.CASE (UC)<br />

Syntax<br />

<strong>Reference</strong><br />

The UPPER.CASE; command enables you to convert the value of an alphanumeric data<br />

item to uppercase. The characters a through z are converted to A through Z respectively.<br />

Embedded digits or non-alphabetic characters are unchanged.<br />

Data items used in UPPER.CASE; commands cannot exceed 2000 characters.<br />

This command will use the appropriate CCS Version routines if they are available.<br />

Note: OS 2200 Series based <strong>LINC</strong> Systems support only the US English ASCII<br />

character set. UNIX and MCP based character conversions use standard system<br />

utilities.<br />

DDDD DDD DDDDDDDDDDDDDDDDDDDD4<br />

data item<br />

An alphanumeric data item, Setup Data item, or Global Setup Data item (including Group<br />

Setup Data items and Group Global Setup Data items). It is not valid for literals.<br />

‘‘LOWER.CASE (LC)’’.<br />

1-256 v


WAKE.UP (WU)<br />

WAKE.UP (WU)<br />

The WAKE.UP; command is used to reactivate a Report suspended by a SLEEP; or<br />

CRITICAL.POINT; command. When a WAKE.UP; command is executed, a message is sent<br />

to the specified Report (if it is not running, the message is discarded). If multiple copies of<br />

the Report are running, each copy is sent a message. The WAKE.UP; command can be<br />

executed from a Report.<br />

Reports check for wake up messages when the following commands are executed:<br />

$ SLEEP;<br />

$ CRITICAL.POINT;<br />

When WAKE.UP; Commands Are Not Sent<br />

WAKE.UP; commands are not sent in the following circumstances:<br />

$ If the nominated Report is not running, the message is discarded.<br />

$ For an MCP based <strong>LINC</strong> System, the WAKE.UP; command is ignored in standalone<br />

Reports and in <strong>LINC</strong> Reports generated as Coroutines. See the CALL; command for<br />

details of Coroutines. .<br />

$ For an MCP based <strong>LINC</strong> System, if the Report currently has 63 outstanding input<br />

messages a WAKE.UP; command is not sent.<br />

$ For a UNIX <strong>LINC</strong> System, each message is sent if there are sufficient message queue<br />

resources to permit immediate queuing. Queues depend on user customization of the<br />

host and the current resource utilization.<br />

$ On all hosts, queued wake ups will not be recovered.<br />

Passing Parameters<br />

You can optionally specify a parameter of up to 254 characters, to be passed to the<br />

specified Report with the WAKE.UP message. The parameter can be specified using a data<br />

item name or literal. (In order to process the parameter data, the Report you are waking up<br />

must have been generated with a dataname on the Report Options screen, to contain the<br />

parameter data. For more details, see your <strong>LINC</strong> Generate Operations Guide.)<br />

If a parameter is passed, the System Data item GLB.PARAMFLAG is automatically set to Y,<br />

in the Report, to signal that there is parameter data included with the WAKE.UP;<br />

command. GLB.PARAMFLAG is reset to the appropriate value (which depends on whether<br />

data has been sent) at the next SLEEP; command or CRITICAL.POINT; command with<br />

SLEEP; command option.<br />

With the parameter you can also specify a data item to store the contents of GLB.STATUS.<br />

GLB.STATUS is set to (*****) if data is being passed but there is no eligible target Report.<br />

v 1-257


WAKE.UP (WU)<br />

Syntax<br />

Example<br />

Parameter data is not saved for recovery.<br />

Note: For UNIX and MCP based <strong>LINC</strong> Systems, if the WAKE.UP; command includes<br />

parameter data it is queued for all copies of the Report. On OS 2200 based<br />

<strong>LINC</strong> Systems the data is only queued for sleeping Reports.<br />

LDA<br />

Like host <strong>LINC</strong>, LDA gives the Ispec no indication of the success of a WAKE.UP; command.<br />

The WAKE.UP; command will wake any sleeping Reports on your workstation that have<br />

the same Repository path, Business Segment name, or Report name.<br />

The WAKE.UP; command will only reactivate a Report on the workstation through which<br />

the command is given.<br />

SLEEP; UNTIL WAKE.UP; is a valid alternative to the SLEEP; UNTIL.WOKEN command.<br />

DD DD DDBDDDDDDDDDDDDDDDDDDDDDDBDDDD4<br />

3 3<br />

@DD DD DDY<br />

report name<br />

A data item or literal giving the Report name.<br />

parameter<br />

<strong>Reference</strong>s<br />

A data item or literal giving an optional parameter value to be passed to the Report.<br />

<br />

<br />

<br />

‘‘SLEEP (SLP)’’.<br />

‘‘CRITICAL.POINT (CP)’’.<br />

‘‘GLB.PARAMFLAG’’.<br />

1-258 v


Section 2<br />

System Data Items<br />

Overview<br />

System Data items can be considered as system-defined Global Setup Data items. They can<br />

be referenced in the logic of Ispecs and Reports (and Global Logic for Ispecs or Reports).<br />

The values of some System Data items can be changed, although many are read-only and<br />

can be used only for reference.<br />

COBOL Syntax Errors<br />

The following list shows some circumstances when you may receive COBOL Syntax Errors:<br />

$ For an MCP based <strong>LINC</strong> System, some System Data items can only be used in Reports<br />

and Shadow Reports generated for use with the <strong>LINC</strong> Report Output Control System<br />

(ROC). Including such items in non-ROC Reports will cause COBOL syntax errors<br />

when the Report is compiled.<br />

$ For an OS 2200 based <strong>LINC</strong> System, if you code certain System Data items for a<br />

Shadow Report, to avoid COBOL syntax errors you must also code a PRINT.FRAME;<br />

command for that Shadow Report (the PRINT.FRAME; command may never be<br />

executed).<br />

Conventions for this Section<br />

The following general statements apply throughout this section:<br />

$ System Data items can be assumed as valid for use in Ispec and Report logic, and for<br />

Global Logic used in Ispecs or Reports, unless explicitly stated otherwise. System Data<br />

items available in Global Logics depend on where the Global Logics apply (Ispecs or<br />

Reports).<br />

$ System Data items can be assumed as valid for all types of host (MCP based, OS 2200<br />

based, and UNIX), unless explicitly stated otherwise.<br />

$ Further restrictions may be contained in the individual System Data item descriptions.<br />

v 2-1


Screen Heading Information<br />

Screen Heading Information<br />

System information is contained in the first 32 characters of the first line of every Ispec<br />

screen, and is also included in the Auto Entry buffer.<br />

This information is contained in a number of System Data items and can be accessed<br />

through these items, which are listed in the following table.<br />

Description Name Length Edit type<br />

Ispec name ISPEC 5 A<br />

Message Type GLB.SOURCE 1 A<br />

Transaction reference number TRANNO 6 N<br />

System input date INPUT-DATE 7 A<br />

Accounting period ACTMTH 4 N<br />

Maintenance type MAINT 3 A<br />

In Events, the System Data items TRANNO, INPUT-DATE, and ACTMTH are included in<br />

the <strong>LINC</strong> database record.<br />

The System Data item MAINT appears only for Standard, Table, Direct, or Multiple<br />

Ordinate Memo Components. When moving values to MAINT you should use GLB.ADD,<br />

GLB.CHG, and so on (instead of literals ADD, CHG, and so on). The full list of these<br />

System Data items is described in the subsection on the MAINT System Data item later in<br />

this section.<br />

2-2 v


Recovery of System Data Items<br />

Recovery of System Data Items<br />

For Ispecs, recovery is back to the start of the transaction, which means that System Data<br />

items will return to the initialized state (spaces, zeros, or the relevant system settings that<br />

apply to some items).<br />

For Reports, see the following table.<br />

Three columns in the table require further explanation.<br />

Report Type<br />

The values for this column indicate the types of Report for which a given System Data item<br />

is applicable, as shown in the following table.<br />

Report Type Description<br />

D ROC Direct Report<br />

S ROC Standard Report<br />

N Non-ROC Report (MCP based <strong>LINC</strong> Systems only)<br />

x All Shadow Reports (Non-ROC MCP based <strong>LINC</strong> System Reports only)<br />

Value On Recovery<br />

The values under their subheadings indicate the value that the System Data item will be set<br />

to on recovery for ROC and MCP based non-ROC Reports respectively, as shown in the<br />

following table.<br />

Entry System Data item value on Recovery<br />

ST Initial value or default value as at start of Report<br />

FO Value it contained when the print file was opened<br />

CP Value it contained at the last CRITICAL.POINT command<br />

RS Value when Report restarted<br />

Host Types<br />

The values in this column indicate the valid host types, with a one-character designation<br />

for each, as shown in the following table.<br />

v 2-3


Recovery of System Data Items<br />

Notes:<br />

Value Host Type<br />

A MCP based<br />

U UNIX<br />

2 OS 2200 based<br />

$ System Data items that have different values for Shadow Reports are shown with an<br />

x suffix; for example, GLB.FORMDEPTHx, where x represents the one-character<br />

Shadow Report designator (A through Z). Thus GLB.FORMDEPTHA refers to the<br />

value for Shadow Report A, and so on.<br />

$ Not all System Data items listed apply to all host types.<br />

System Data<br />

Item<br />

Applies to<br />

Report<br />

Type<br />

Value<br />

On Recovery:<br />

ROC<br />

Value<br />

On Recovery:<br />

Non-ROC<br />

Hosts Possible values<br />

ACTMTH DSNx RS RS AU2 Account Month<br />

(YYMM)<br />

GLB.APPNAME DSNx ST ST 2 Application group<br />

name<br />

GLB.APPNO DSNx ST ST 2 Application number<br />

GLB.ASCPRT DSNx ST ST AU Terminal printer name<br />

GLB.ASCPRTHOST DS ST A Host Name for<br />

terminal Printer<br />

GLB.BACKUPx DNx ST ST A Y, R, or space<br />

GLB.BASE DSNx ST ST AU2 Base year<br />

GLB.CCS DSNx ST ST 2 Coded char.set ID<br />

(LT300 terminals)<br />

GLB.CENTURY DSNx RS RS AU2 Century number<br />

GLB.CENTURY-START<br />

DSNx RS RS AU2 Century number<br />

GLB.CHANGE DSNx ST ST AU2 ON.CHANGE Data<br />

item name<br />

GLB.CHARGECODE<br />

DSNx ST ST A Chargecode<br />

GLB.CLOSE DSNx ST ST AU2 Spaces or CLOSE<br />

continued<br />

2-4 v


continued<br />

System Data<br />

Item<br />

Applies to<br />

Report<br />

Type<br />

Value<br />

On Recovery:<br />

ROC<br />

Value<br />

On Recovery:<br />

Non-ROC<br />

Recovery of System Data Items<br />

Hosts Possible values<br />

GLB.DATE DSNx RS RS AU2 Current date<br />

GLB.DBG- items DS ST ST 2 Debug trace level<br />

GLB.DC- items DSNx RS RS AU2 Formatted date<br />

GLB.DESTENV DSNx ST ST U2 Destination:- Oracle<br />

SID (U)- Environment<br />

(2)- Spaces (A)<br />

GLB.DESTHOST DSNx ST ST AU2 Destination hostname<br />

GLB.DESTINATION DSNx ST ST AU2 Dest db name<br />

(A,U)TIP tran no. (2)<br />

GLB.DESTNOFORM<br />

DSNx ST ST AU2 NOF program (A,2)<br />

Initiator process (U)<br />

GLB.DEVICEx DSNx FO ST AU2 DI,LP,RP,TP,VD,<br />

EX(U), spaces<br />

GLB.ERROR DSNx ST ST AU2 Spaces or *****<br />

GLB.EXNAME DSNx ST ST A AEXT exception<br />

dataname<br />

GLB.EXTDB DSNx ST ST 2 Interdatabase access<br />

db name<br />

GLB.EXTDBSTATUS<br />

DSNx ST ST 2 Interdatabase access<br />

status<br />

GLB.EXTEXT DSNx ST ST A AEXT exception text<br />

GLB.FILEINFO DNx ST ST A YorN<br />

GLB.FILLER DSNx ST ST AU2 Data value<br />

GLB.FORMDEPTHx DSNx CP ST AU2 Lines per page<br />

GLB.FORMIDx DS FO AU2 Form name<br />

GLB.GUI DSNx ST ST AU2 Source terminal type<br />

GLB.HUBSTATUS DSNx ST ST AU2 Auto Entry (Hub)<br />

Status<br />

GLB.HUBTIMEOUT DSNx ST ST AU2 Hub timeout value, as<br />

GLB.HTIMEOUT<br />

v 2-5


Recovery of System Data Items<br />

continued<br />

System Data<br />

Item<br />

Applies to<br />

Report<br />

Type<br />

Value<br />

On Recovery:<br />

ROC<br />

Value<br />

On Recovery:<br />

Non-ROC<br />

Hosts Possible values<br />

GLB.INITSTN DSNx ST ST AU2 Station name<br />

GLB.LENGTH DSNx ST ST AU2 Data item length<br />

GLB.LINECOUNTx DSN CP ST AU2 Report line number<br />

GLB.LINEUPx DSNx FO ST A Y = Special stationery<br />

GLB.LINEUPNAMEx<br />

DSNx FO ST A Page lineup file name<br />

GLB.MACHINE DSNx ST ST AU2 Host type A, U or 2<br />

GLB.MATCH DSNx ST ST AU2 Extract file to be read<br />

GLB.NUMCOPIESx DSNx FO ST AU2 Number of Report<br />

copies<br />

GLB.ORIGIN DSNx ST ST AU2 AUTO origin db<br />

GLB.ORIGINENV DSNx ST ST U2 Origin Oracle SID (U)<br />

Environment (2)<br />

Spaces (A)<br />

GLB.ORIGINHOST DSNx ST ST AU2 Origin Host name<br />

GLB.PAGECOUNTx DSNx CP ST AU2 Current page number<br />

GLB.PARAM DSNx ST ST AU2 Parameter area<br />

GLB.PARAMFLAG DSNx ST ST AU2 Parameter indicator<br />

for WAKE.UP<br />

GLB.PITCHx SNx CP ST A2 Print pitch<br />

GLB.PRINTATx D ST A END or RELEASE<br />

GLB.PRINTBANNERx<br />

DSNx FO ST A YorN<br />

GLB.PRINTHOSTx DSNx FO ST A Printer host name<br />

GLB.PRIV DSNx FO ST AU2 Privilege 0 to 15<br />

GLB.PRODUCT DSNx ST ST AU2 <strong>LINC</strong>, LITE, or LDAIII<br />

GLB.PRTPARAM DSNx FO ST 2 Data for USERPRT<br />

handler<br />

GLB.RECORDy DSNx ST ST AU2 Extract file record<br />

number<br />

2-6 v


continued<br />

System Data<br />

Item<br />

Applies to<br />

Report<br />

Type<br />

Value<br />

On Recovery:<br />

ROC<br />

Value<br />

On Recovery:<br />

Non-ROC<br />

Recovery of System Data Items<br />

Hosts Possible values<br />

GLB.RECOVER DS ST AU2 Recovery startup<br />

indicator<br />

GLB.REPGENDATE DSNx ST ST AU2 Generate date<br />

GLB.REPGENTIME DSNx ST ST AU2 Generate time<br />

GLB.REPLANG DSNx ST ST AU2 Language name for<br />

Report<br />

GLB.REPNAME DSNx ST ST AU2 Name for Report<br />

GLB.REPORT DSNx ST ST AU2 Event record status<br />

GLB.REPUNIQUE DSNx ST ST A Report unique number<br />

GLB.REPVERSION DSNx ST ST AU2 Report version<br />

number<br />

GLB.ROCFLAG DS ST AU2 Rorspace<br />

GLB.SAVEDAYSx S FO AU2 Days to keep output<br />

GLB.SECONDARY DSNx ST ST A Secondary db run: Y<br />

or N<br />

GLB.SELF DSNx ST ST AU2 Current db name (AU)<br />

or Tranid (2)<br />

GLB.SELFDB DSNx ST ST 2 Current database<br />

name<br />

GLB.SELFENV DSNx ST ST U2 Own Oracle SID (U)<br />

Environment (2)<br />

spaces (A)<br />

GLB.SELFHOST DSNx ST ST AU2 Own host name<br />

GLB.SHADOW DS FO AU2 Shadow Report name<br />

GLB.STATIONx DSNx ST ST A2 as GLB.STN<br />

GLB.STATUS DSN ST ST AU2 Result status<br />

GLB.STNx DSNx CP ST AU2 Destination of Report<br />

GLB.STNHOST DSNx ST ST A Hostname<br />

GLB.STYLE DSNx ST ST AU2 Source terminal type<br />

v 2-7


Recovery of System Data Items<br />

continued<br />

System Data<br />

Item<br />

Applies to<br />

Report<br />

Type<br />

Value<br />

On Recovery:<br />

ROC<br />

Value<br />

On Recovery:<br />

Non-ROC<br />

Hosts Possible values<br />

GLB.SYSGENDATE DSNx ST ST AU2 System Generate date<br />

GLB.SYSGENTIME DSNx ST ST AU2 System Generate time<br />

GLB.SYSVERSION DSNx ST ST AU2 System version<br />

number<br />

GLB.TASK DSNx ST AU Report run result<br />

GLB.TIME DSNx RS RS AU2 Time (HHMMSSTT)<br />

GLB.TITLEx DSNx FO ST AU2 Print file id<br />

GLB.TOTAL DSNx ST ST AU2 Numeric value<br />

GLB.TRANSTATE DSNx ST ST A Transaction state<br />

GLB.USERx SNx FO ST AU2 User id for output<br />

GLB.VERSIONID DSNx ST ST AU2 Version description<br />

GLB.YYMMDD DSNx RS RS AU2 Current date<br />

GLB.2PC DSNx ST ST AU2 2-phase commit: Y or<br />

N<br />

ISPEC DSNx ST ST AU2 Ispec name<br />

LAST-LINE DSNx ST ST AU2 Repeat.From line<br />

number<br />

MAINT DSNx ST ST AU2 Component action:<br />

ADD, CHG, DEL, INQ<br />

TODAY DSNx RS RS AU2 Initiation date<br />

TODAYS-DATE-NUM<br />

DSNx RS RS AU2 Initiation date,<br />

MMDDYY<br />

TRANNO DSNx ST ST AU2 Transaction number<br />

2-8 v


System Data Item Descriptions<br />

ACTMTH<br />

System Data Item Descriptions<br />

The System Data items are described in the sections below, and listed in alphabetical order.<br />

In an Ispec, ACTMTH contains the current accounting month in the form YYMM. If debug<br />

date and time is activated, it contains the month of the current debug date. In a Report, it<br />

contains the ACTMTH value from the last Event record read. It appears on all Ispec screen<br />

formats, and is available to all logic. It is included in Event database records.<br />

ACTMTH may be assigned the NOT.ENTERED attribute for a particular Ispec, by selecting<br />

an option on the Ispec Option screen.<br />

LENGTH = 4 EDIT = N<br />

Using ACTMTH After the Year 2000<br />

The length of the System Data item ACTMTH is 4. If you use ACTMTH as a Profile<br />

Ordinate, you should consider replacing it with a data item of length 6 in order the include<br />

the century.<br />

GLB.ACTIONKEY<br />

Note: This System Data item is valid in Ispecs for an OS 2200 based <strong>LINC</strong> System<br />

only. It is available in LDA and may be tested using LDA Run Time.<br />

GLB.ACTIONKEY is a read-only System Data item containing the value of the Function<br />

Key pressed (if you are using the FKHANDLE SGS statement). If you are trapping EXIT or<br />

BYE, this data item will contain EX or BY if an EXIT or BYE request is made, respectively.<br />

The value in GLB.ACTIONKEY is retained across recalls to other Ispecs. You may need to<br />

check the value of GLB.PREVISPEC against the value of ISPEC to make sure it contains<br />

the value of the current Ispec. For an example of the code required to test the value of<br />

GLB.PREVISPEC, see your OS 2200 Based <strong>LINC</strong> Administration and Operations Guide.<br />

LENGTH = 2 EDIT = A<br />

LDA<br />

The GLB.ACTIONKEY stores the value of the function key selected from the LDA Run<br />

Time Action Key dialog box. The function keys available are listed in the following table.<br />

v 2-9


System Data Item Descriptions<br />

GLB.ADD<br />

GLB.ALTUSER<br />

Function<br />

Key<br />

Description<br />

F2 Display Page 2 format<br />

line<br />

F3 Display multiple error<br />

messages<br />

F4 Display available<br />

Teach screen<br />

F6 Refresh current<br />

screen<br />

F13 Transmit the screen<br />

to <strong>LINC</strong> system<br />

F21 Exit from <strong>LINC</strong><br />

system, retaining the<br />

current ISPEC name<br />

and user code<br />

F22 Signofffrom<strong>LINC</strong><br />

system<br />

GLB.ADD is a read-only System Data item. It can be used in place of the literal ADD,to<br />

allow for translation of MAINT values in multiple-language systems.<br />

For more details, see the MAINT System Data item, later in this section.<br />

Note: This System Data item is valid for MCP based <strong>LINC</strong> Systems using non ROC<br />

TP Reports.<br />

GLB.ALTUSER associates an alternative MCP based user name with output from Terminal<br />

Printer Spooler (TPS) Reports, for security purposes. You may sign on to TPS with the user<br />

name that is stored in GLB.USER or GLB.ALTUSER.<br />

GLB.ALTUSER may be used for Shadow Reports, in the form GLB.ALTUSERx, where x is<br />

the one-character Shadow Report designator (A through Z).<br />

Once output from a Report has been produced, the value of GLB.ALTUSER remains until<br />

the next RELEASE; command or end-of-job, when the most recent change to its value is<br />

effected.<br />

GLB.ALTUSER has a default value of spaces.<br />

2-10 v


GLB.ALT.USER is a synonym for GLB.ALTUSER.<br />

LENGTH = 17 EDIT = A<br />

GLB.APPNAME<br />

GLB.APPNO<br />

GLB.ASCPRT<br />

System Data Item Descriptions<br />

Note: This System Data item is valid for an OS 2200 <strong>LINC</strong> System only.<br />

Use this read-only System Data item in conjunction with Interdatabase access and with<br />

Global Logics. It contains the name of the application group in which your <strong>LINC</strong> System is<br />

running.<br />

LENGTH = 12 EDIT = A<br />

Note: This System Data item is valid for OS 2200 environments only.<br />

Use this read-only System Data item in conjunction with Interdatabase access and with<br />

Global Logics. It contains the number of the application in which your <strong>LINC</strong> System is<br />

running. This value is passed to HUB when an incorrect Environment is registered.<br />

LENGTH = 1 EDIT = N<br />

Note: This System Data item is valid only for MCP based and UNIX hosts.<br />

MCP environment<br />

GLB.ASCPRT contains the name of the printer associated with a terminal that is specified<br />

in the <strong>LINC</strong> Network Configuration System with the ASSOC.PRINTER option, and stored<br />

in the <strong>LINC</strong>/NET file. Its value may be read but not updated in logic. If output is sent to a<br />

device type of TP and GLB.STN is not specified, then GLB.ASCPRT (if specified) will be<br />

used as the output printer.<br />

The default value is NILNILNILNILNILNI.<br />

LENGTH = 17 EDIT = A<br />

UNIX<br />

GLB.ASCPRT contains the name of the alias associated with a usercode that is specified in<br />

the <strong>LINC</strong>IINET file. This name is moved to the print destination GLB.STN when the output<br />

report type is TP.<br />

v 2-11


System Data Item Descriptions<br />

For related information, see the System Data item GLB.STN. For more details of the<br />

<strong>LINC</strong>IINET file, see your UNIX <strong>LINC</strong> Administration and Operations Guide.<br />

LENGTH = 17 EDIT = A<br />

GLB.ASCPRTHOST<br />

GLB.BACKUP<br />

Note: This System Data item is valid only for MCP based Report logic.<br />

GLB.ASCPRTHOST contains the name of the host computer controlling the GLB.ASCPRT<br />

printer, as specified in the <strong>LINC</strong> Network Configuration System, and stored in the<br />

<strong>LINC</strong>/NET file.<br />

This item is available only for MCP based <strong>LINC</strong> System Reports that use the Report Output<br />

Control System (ROC). For related information, see also the GLB.STN and GLB.ASCPRT<br />

System Data items in this section.<br />

LENGTH = 17 EDIT = A<br />

Note: This System Data item is valid only for MCP based Report logic.<br />

For non-ROC Reports, move Y to GLB.BACKUP to retain Report output directed to TP<br />

devices only (the Report output is retained regardless of the setting of the REMOVE<br />

command). If GLB.BACKUP contains any value other than Y, the Report output is deleted<br />

after printing.<br />

For ROC Direct Reports, move Y to GLB.BACKUP to retain the printer backup file for your<br />

main Report, or move Y to GLB.BACKUPx to retain the printer backup file for a Shadow<br />

Report (where x is the Shadow Report designator). If the System Data item contains any<br />

value other than Y, the printer output backup file is removed after printing.<br />

GLB.BACKUP cannot be used for ROC Standard Reports.<br />

Once output from a Report has been produced, the value of GLB.BACKUP remains until<br />

the next RELEASE; command (or end-of-job), when the most recent change to<br />

GLB.BACKUP is effected.<br />

LENGTH = 1 EDIT = A<br />

2-12 v


GLB.BALANCE<br />

System Data Item Descriptions<br />

Note: GLB.BALANCE is valid in Ispecs only. It is not implemented in LDA Run Time.<br />

GLB.BALANCE is used in conjunction with Repeat.From Ispecs. The value of<br />

GLB.BALANCE (if it is used in the logic of the Ispec) is displayed in the status line of the<br />

screen, after each Repeat.From line has been transmitted.<br />

Only ten characters (including the decimal point, two decimal digits, and sign) are<br />

displayed in the status line. Truncation of the whole number part to six digits can thus<br />

occur.<br />

Maintenance of the value of GLB.BALANCE is your responsibility. Any combination of<br />

data items whose sum over the transaction should balance to zero can be specified.<br />

If GLB.BALANCE is not zero after the last Repeat.From line (that is, the balance is<br />

non-zero after 999 is entered in LAST-LINE to end the transaction), an error message is<br />

displayed. This system-generated error message does not inhibit the 999 line updating the<br />

database, and thus your logic should include setting GLB.ERROR to five asterisks (*****) if<br />

you do not want the 999 line to update the database.<br />

You cannot start a new transaction until the value of GLB.BALANCE equals zero. (Note<br />

that in Pre-Screen logic for Repeat.From Ispecs, LAST-LINE is always equal to 1, even<br />

though Pre-screen logic is performed for each line.<br />

In the following example, a Repeat.From Event includes one BATCHTOT item, and an<br />

AMOUNT item for each Repeat.From line. If the sum of the AMOUNT values is not equal to<br />

BATCHTOT, an error message is displayed and the database is not updated.<br />

The associated logic is:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

GLB.BALANCE is recovered automatically after an abnormal system shutdown.<br />

See your <strong>LINC</strong> Generate Operations Guide which includes notes on the use of<br />

GLB.BALANCE.<br />

LENGTH = 16 EDIT = + DECIMALS = 4<br />

v 2-13


System Data Item Descriptions<br />

GLB.BASE<br />

GLB.CCS<br />

GLB.BASE is a read-only System data item which holds the value of the year upon which<br />

relative day numbers are based. Its value is used by the complex form of the<br />

DATE.CONVERT; command.<br />

The value of GLB.BASE is set on the Specification Options screen, using the Base year<br />

field. You can set this field to any year in the range 0001 through 9999. The default value is<br />

1957.<br />

LENGTH = 4 EDIT = N<br />

Note: This System Data item is valid for an OS 2200 based <strong>LINC</strong> System only.<br />

GLB.CCS is a read-only System Data item that stores the Coded Character Set (CCS)<br />

identifier (CCS ID) for input messages from LT300 terminals. It can be accessed in Ispecs<br />

and Reports.<br />

For example, when using the GLB.CCS in your <strong>LINC</strong> logic:<br />

$ You can define a data item in your <strong>LINC</strong> database to contain the CCS of the data. Then,<br />

on input, move GLB.CCS to your data item to indicate the CCS of the data input from<br />

the LT300 terminal.<br />

$ When processing a record in your database, you can use the CCS when making data<br />

comparisons to distinguish names in different character sets. You could use the CCS as<br />

an Ordinate of a Profile, so that you can access names in name order within a<br />

character set.<br />

$ When outputting to the screen, you can compare the CCS stored in the database with<br />

GLB.CCS. If the values do not match, a message can be output to advise that the data is<br />

in a character set that cannot be displayed on the screen.<br />

For details about the available character sets and their CCS IDs, see the OS 1100 EXEC<br />

System Software Executive Requests <strong>Programming</strong> <strong>Reference</strong> <strong>Manual</strong> and the Message<br />

Control Bank (MCB) <strong>Programming</strong> <strong>Reference</strong> <strong>Manual</strong>. For guidelines on<br />

internationalizing applications for an OS 2200 environment, see the Internationalization<br />

(I18N) Planning and Implementation Overview.<br />

GLB.CENTURY<br />

LENGTH = 5 EDIT = N<br />

Use GLB.CENTURY in conjunction with the DATE.CONVERT; command. If your input to<br />

the DATE.CONVERT; command does not contain the century, you should move the<br />

century into GLB.CENTURY.<br />

2-14 v


System Data Item Descriptions<br />

Date conversion from a relative day number to a date format (using the FORMAT; option<br />

of the DATE.CONVERT; command) updates GLB.CENTURY.<br />

The value of GLB.CENTURY is changed to the current century by complex<br />

DATE.CONVERT; commands if you entered Y in the DC; sets GLB.CENTURY field on<br />

the Primary Specification Options screen. If you entered N, GLB.CENTURY is not changed<br />

by the DATE.CONVERT; command.<br />

See also GLB.DC-CC and GLB.CENTURY-START.<br />

LENGTH = 2 EDIT = N<br />

GLB.CENTURY-START<br />

GLB.CHANGE<br />

Use GLB.CENTURY-START in conjunction with the DATE.CONVERT; command to define<br />

how six digit dates (those without an explicit century) are to be interpreted.<br />

GLB.CENTURY-START defines the first year of a 100 year period, and all six digit dates are<br />

interpreted as being in that period.<br />

By default, GLB.CENTURY-START is set by the SCENTURYnnnn Supervisor command. If<br />

it is not set, GLB.CENTURY-START is the same value as GLB.BASE.<br />

GLB.CENTURY-START is restored to its default value at the start of PreScreen logic.<br />

See also GLB.CENTURY, GLB.BASE, GLB.DC-CC, and the DATE.CONVERT; command.<br />

LENGTH = 4 EDIT = N<br />

GLB.CHANGE is a read-only System data item you use in conjunction with the<br />

ON.CHANGE; command in Reports. It contains the name of the data item whose change in<br />

value invoked the printing of a current heading or footing. See ‘‘ON.CHANGE (OCH)’’ in<br />

this manual for further details.<br />

LENGTH = 30 EDIT = A<br />

GLB.CHARGECODE<br />

Note: This System Data item is valid for an MCP based <strong>LINC</strong> System only.<br />

GLB.CHARGECODE defines the chargecode to be used with the RUN; and START; logic<br />

commands on an MCP based <strong>LINC</strong> System. It can be used in Reports to access the<br />

chargecode used to run the Report.<br />

GLB.CHARGECODE is ignored if the :COD <strong>LINC</strong> System command is set to 0.<br />

v 2-15


System Data Item Descriptions<br />

GLB.CHG<br />

GLB.CLOSE<br />

GLB.COPY<br />

The chargecode that applies to your Report run or WFL job initiation is the chargecode<br />

contained in GLB.CHARGECODE when the RUN; or START; logic command is executed.<br />

RIP reports that are run from WFL have the chargecode set to the name (usercode)station.<br />

RIP reports that are not attached to a terminal have the chargecode set to <strong>LINC</strong>RIP.<br />

Move the chargecode value into GLB.CHARGECODE before the appropriate RUN; or<br />

START; Logic command. Do not include the period on the end of your chargecode, as this<br />

is automatically appended.<br />

For further details, see your MCP Based <strong>LINC</strong> Administration and Operations Guide.<br />

LENGTH = 45 EDIT = A<br />

GLB.CHG is a read-only System Data item. It should be used in place of the literal CHG,to<br />

allow for translation of MAINT values in multiple-language systems.<br />

For more details, see the MAINT System Data item, later in this section.<br />

GLB.CLOSE is a read-only data item used in conjunction with the SLEEP; command in<br />

Reports.<br />

If a manual stop (for example, from the :STO <strong>LINC</strong> System command) or a programmatic<br />

stop (invoked by the END.AFTER; option of the SLEEP; command) is received by the<br />

Report, GLB.CLOSE is set to CLOSE, and the Report is reactivated. This enables<br />

termination logic, such as printing a summary, to be performed.<br />

If a SLEEP; command is executed when GLB.CLOSE has the value CLOSE, the Report<br />

goes to end-of-job.<br />

GLB.CLOSE is set to GLB.SPACES when a Report is initiated.<br />

LENGTH = 5 EDIT = A<br />

GLB.COPY is a read-only System data item that contains the number of the current copy in<br />

a Copy.From Ispec. GLB.COPY can be compared to the System Data item GLB.MAXCOPY<br />

to determine whether the logic is being performed for the final time.<br />

In non-Copy.From Ispecs, GLB.COPY is always zero.<br />

LENGTH = 2 EDIT = N<br />

2-16 v


GLB.CORSTATUS<br />

GLB.DATE<br />

System Data Item Descriptions<br />

Note: This System Data item is valid on MCP based hosts and is also supported in<br />

LDA.<br />

GLB.CORSTATUS is a read-only System Data item that is set when a Coroutine is executed<br />

by using the CALL; command. Valid values of GLB.CORSTATUS are listed in the following<br />

table.<br />

Value Execution<br />

spaces Successful<br />

MWAIT Failed: resource deadlock exceeded the system MAXWAIT timeout<br />

DMERR Failed: fatal DMS error<br />

INVKY Failed: invalid key in <strong>LINC</strong>NET file<br />

PRINT Failed: Coroutine restarted after approaching limit of 1000 file opens<br />

permitted in a BD file<br />

***** Failed: unspecified error<br />

LENGTH = A EDIT = 5<br />

GLB.DATE is a read-only System data item that contains the current date, or the debug<br />

date if debug date and time is activated. Its format is the same as the System Data item<br />

TODAY (or GLB.TODAY). For example, if the Date format IN UK or US field (on the<br />

Primary Specification Options screen) is set to UK, GLB.DATE will be in the form<br />

DDMMMYY (for example: 04JUL98).<br />

LENGTH = 7 EDIT = A<br />

GLB.DBG- System Data Items<br />

Note: This series of System Data items applies to OS 2200 based <strong>LINC</strong> Systems only.<br />

This series of System Data items is used when the debug trace facility has been initiated<br />

with the <strong>LINC</strong> Colon command :DGB. These items contain the current level of debug trace.<br />

The System Data items in this series are:<br />

$ GLB.DBG-DB<br />

$ GLB.DBG-LG<br />

v 2-17


System Data Item Descriptions<br />

GLB.DBTYPE<br />

$ GLB.DBG-OLTP<br />

For the valid levels for each type of debug trace, see your OS 2200 Based <strong>LINC</strong><br />

Administration and Operations Guide.<br />

Note: This System Data item is valid only for UNIX hosts.<br />

Use this read-only System Data item to display the database bound to your UNIX <strong>LINC</strong><br />

System. A UNIX <strong>LINC</strong> System can use either an Oracle or Griffin database. As a <strong>LINC</strong><br />

developer, it may be useful to know which database your UNIX system is using when<br />

writing ispecs and reports, or when converting to another platform so that you can take<br />

advantage of any features or limitations unique to that database.<br />

GLB.DBTYPE displays the value O if your UNIX <strong>LINC</strong> System is bound to an Oracle<br />

database, or G if bound to a Griffin database. For further information about the features<br />

and differences of Oracle and Griffin databases, see your <strong>LINC</strong> Release 16.3/16R3<br />

Migration and Conversion Guide<br />

LENGTH = 1 EDIT = A<br />

GLB.DC- System Data Items<br />

Note: This series of System Data items is not implemented in LDA Run Time.<br />

This series of read-only System Data items is used with the DATE.CONVERT; command.<br />

These items receive new values whenever a DATE.CONVERT; command (with the<br />

FORMAT; option) is used. They are cleared before the command is executed.<br />

If you use the DATE.CONVERT; command with the output FORMAT; option, only the<br />

System Data item corresponding to that FORMAT will receive a new value.<br />

These System Data items are listed in the following table with their LENGTH; and EDIT;<br />

attributes and example values for one particular date.<br />

Name Length Edit Example<br />

GLB.DC-TODAY 15 A MONDAY<br />

GLB.DC-WEEKNO 2 N 13<br />

GLB.DC-DAYNUM 6 N 13960<br />

GLB.DC-UK-ALPHA 25 A 23 MARCH 1998<br />

GLB.DC-US-ALPHA 25 A MARCH 23 1998<br />

continued<br />

2-18 v


continued<br />

System Data Item Descriptions<br />

Name Length Edit Example<br />

GLB.DC-IN-ALPHA 25 A 1998 MARCH 23<br />

GLB.DC-DD-MM-YY 8 A 23/03/98<br />

GLB.DC-DD-MM-CCYY 10 A 23/03/1998<br />

GLB.DC-DD-MMM-YY 9 A 23 MAR 98<br />

GLB.DC-DD-MMM-CCYY 11 A 23 MAR 1998<br />

GLB.DC-DDMMMYY 7 A 23MAR98<br />

GLB.DC-DDMMMCCYY 9 A 23MAR1998<br />

GLB.DC-DDMMYY 6 N 230398<br />

GLB.DC-DDMMCCYY 8 N 23031998<br />

GLB.DC-MM-DD-YY 8 A 03/23/98<br />

GLB.DC-MM-DD-CCYY 10 A 03/23/1998<br />

GLB.DC-MMDDYY 6 N 032398<br />

GLB.DC-MMDDCCYY 8 N 03231998<br />

GLB.DC-MMM-DD-YY 9 A MAR 23 98<br />

GLB.DC-MMM-DD-CCYY 11 A MAR 23 1998<br />

GLB.DC-MMMDDYY 7 A MAR2398<br />

GLB.DC-MMMDDCCYY 9 A MAR231998<br />

GLB.DC-YY-MM-DD 8 A 98/03/23<br />

GLB.DC-CCYY-MM-DD 10 A 1998/03/23<br />

GLB.DC-YY-MMM-DD 9 A 98 MAR 23<br />

GLB.DC-CCYY-MMM-DD 11 A 1998 MAR 23<br />

GLB.DC-YYDDD 5 N 98082<br />

GLB.DC-CCYYDDD 7 N 1998082<br />

GLB.DC-YYMMDD 6 N 980323<br />

GLB.DC-CCYYMMDD 8 N 19980323<br />

GLB.DC-YYMMMDD 7 A 98MAR23<br />

GLB.DC-CCYYMMMDD 9 A 1998MAR23<br />

GLB.BASE and GLB.CENTURY are also used in this process.<br />

v 2-19


System Data Item Descriptions<br />

GLB.DC-CC<br />

GLB.DEL<br />

For the calculation of GLB.DC-WEEKNO, weeks start on Sundays, and end on Saturdays.<br />

The value of the GLB.DC-WEEKNO for January 1 of any year is 1.<br />

This value of this read-only System Data item is set by complex DATE.CONVERT;<br />

commands to the century involved in the date conversion. See also GLB.CENTURY.<br />

LENGTH = 2 EDIT = N<br />

GLB.DEL is a read-only System Data item. It can be used in place of the literal DEL, to<br />

allow for translation of MAINT values in multiple-language systems.<br />

GLB.DESTENV<br />

See the MAINT System Data item later in this section for details on GLB.DEL.<br />

GLB.DESTENV is used only with intersystem External Automatic Entries for an OS 2200<br />

based <strong>LINC</strong> System or UNIX <strong>LINC</strong> System.<br />

GLB.DESTENV is not implemented in LDA Run Time. If set for an Automatic Entry,<br />

GLB.STATUS will be set to NODB.<br />

For an Automatic Entry to an OS 2200 based host, its value specifies the destination <strong>LINC</strong><br />

Environment.<br />

For an Automatic Entry to a UNIX host, its value specifies the ORACLE SID (or Griffin<br />

Universe) of the database for the destination <strong>LINC</strong> System.<br />

The value of GLB.DESTENV is set to the value of GLB.SELFENV at the start of the Ispec or<br />

Report on an OS 2200 based or UNIX host. For an MCP based <strong>LINC</strong> System,<br />

GLB.DESTENV will contain spaces.<br />

For more details, see the section on "Interfacing to Other Systems" in the <strong>LINC</strong><br />

Administration and Operations Guide for the relevant host type.<br />

LENGTH = 10 EDIT = A<br />

GLB.DESTHOST<br />

GLB.DESTHOST is used to specify the name of the host where the GLB.DESTINATION<br />

<strong>LINC</strong> System is located. Its value is set to that of GLB.SELFHOST at the start of each Ispec<br />

or Report.<br />

2-20 v


System Data Item Descriptions<br />

To send an External Auto Entry to a different host name, the host name value must be<br />

moved to GLB.DESTHOST as follows:<br />

$ For an MCP based <strong>LINC</strong> System, move the host name attribute established in the BNA<br />

definition.<br />

$ For an OS 2200 based <strong>LINC</strong> System, move the host name as defined in the COMUS<br />

General Configuration parameter.<br />

$ For a UNIX <strong>LINC</strong> System, move the node name (the name of the host in the<br />

communications network).<br />

GLB.DESTHOST is not implemented in LDA Run Time. If set for an Automatic Entry,<br />

GLB.STATUS will be set to NODB.<br />

For information on OLTP, see your <strong>LINC</strong> Generate Operations Guide.<br />

LENGTH = 17 EDIT = A<br />

GLB.DESTINATION<br />

GLB.DESTINATION contains the name of the database (or for an OS 2200 environment,<br />

the TIP Transaction number of the <strong>LINC</strong> System) to which an external Automatic Entry is<br />

being sent. For an internal Automatic Entry, its value is GLB.SELF or GLB.SPACES.<br />

If data is to be sent to a non-<strong>LINC</strong> System (or to the <strong>LINC</strong>/USER interface program), move<br />

the value NON.<strong>LINC</strong> into GLB.DESTINATION. If data is to be sent to a NOF program,<br />

move the value NON.FORMAT to GLB.DESTINATION, and move the particular NOF<br />

program name to GLB.DESTNOFORM.<br />

If GLB.DESTINATION holds an invalid name, and an Automatic Entry is performed,<br />

GLB.STATUS will be set to NODB.<br />

GLB.DESTINATION is automatically reset at the start of an Ispec or in a Report, but you<br />

will have to reset it manually after performing an AUTO.ENTRY; command.<br />

GLB.DESTINATION is not implemented in LDA Run Time. If set for an Automatic Entry,<br />

GLB.STATUS will be set to NODB.<br />

LENGTH = 15 EDIT = A<br />

GLB.DESTNOFORM<br />

Note: GLB.DESTNOFORM is not implemented in LDA Run Time.<br />

The GLB.DESTNOFORM System Data item enables two-way communication between a<br />

<strong>LINC</strong> System and a NOF program using External Automatic Entries. It is used to specify<br />

the particular NOF program to be targeted (when GLB.DESTINATION must contain<br />

NON.FORMAT).<br />

v 2-21


System Data Item Descriptions<br />

GLB.DEVICE<br />

The value that you specify in GLB.DESTNOFORM depends on the runtime host type:<br />

$ For an MCP based <strong>LINC</strong> System, specify the COMS program name for the NOF<br />

program. If this is not set, the value will default to windowNOF, where window is the<br />

COMS window name defined for the generated <strong>LINC</strong> System.<br />

$ For an OS 2200 based <strong>LINC</strong> System, specify the name of the NOF program.<br />

$ For a UNIX <strong>LINC</strong> System, specify the shell script that initiates the NOF program.<br />

$ For a UNIX <strong>LINC</strong> System, if GLB.DESTNOFORM is spaces, the Automatic Entry will<br />

fail, unless the transaction was initiated by a NOF program (when the Automatic Entry<br />

is sent back to that NOF program).<br />

For more details, see "Interfacing to Other Systems" in the <strong>LINC</strong> Administration and<br />

Operations Guide for the relevant host type.<br />

LENGTH = 17 EDIT = A<br />

Note: LDA only supports the use of GLB.DEVICE for Shadow Reports in the form<br />

GLB.DEVICEx.<br />

This System data item contains the type of output device to which Report output is<br />

directed.<br />

Valid values for GLB.DEVICE are shown in the following table for each type of Report<br />

(ROC Standard, ROC Direct and MCP based non-ROC Reports), and each host type.<br />

An X indicates a valid value. The values in the Hosts column indicate valid host types (A<br />

MCP based, U for UNIX, 2 for OS 2200 based).<br />

Value Description Standard<br />

Report<br />

Direct<br />

Report<br />

Non-ROC<br />

Report<br />

DI Direct output X AU2<br />

LP Line printer (See<br />

Note 1)<br />

X X X AU2<br />

RP Remote Printer X X X A<br />

TP Terminal printer<br />

(See Note 2)<br />

X U X AU2<br />

VD Video output X U X AU2<br />

Spaces To be assigned<br />

within ROC<br />

X AU2<br />

Hosts<br />

continued<br />

2-22 v


continued<br />

Value Description Standard<br />

Report<br />

EX Output to Extract<br />

file<br />

Note: For a UNIX <strong>LINC</strong> System:<br />

System Data Item Descriptions<br />

Direct<br />

Report<br />

Non-ROC<br />

Report<br />

X U AU2<br />

Hosts<br />

1. LP means output is piped to a command defined by the LP alias.<br />

2. TP means output is piped to a command or alias.<br />

3. An entry of U in the ROC Direct column indicates the item is valid only<br />

for ROC Direct Reports on UNIX hosts.<br />

For ROC Reports, a value may be moved into GLB.DEVICE. If the device type changes, this<br />

causes an automatic release of the Report when the next output is produced (see the<br />

RELEASE; command). If an invalid value is moved into GLB.DEVICE, the default value for<br />

the Report is moved into GLB.DEVICE.<br />

Note: Such a release is prompted when a difference is detected by a comparison done<br />

before a PRINT.FRAME; command is executed, not by a MOVE; into<br />

GLB.DEVICE Data item.<br />

GLB.DEVICE can be used for Shadow Reports, in the form GLB.DEVICEx, where x is the<br />

one-character Shadow Report designator (A through Z).<br />

If GLB.DEVICE is changed in the logic of a Report, associated System Data items should<br />

also be changed (particularly GLB.STN).<br />

For MCP based <strong>LINC</strong> System Reports that do not use ROC, GLB.DEVICE is a read-only<br />

item.<br />

LENGTH = 2 EDIT = A<br />

GLB.DLRECOVER<br />

Note: This System Data item is valid only in OS 2200 based Report logic.<br />

This is a read-write System Data item. The value of GLB.DLRECOVER indicates whether<br />

Report logic has detected a deadlock error when running your Report.<br />

v 2-23


System Data Item Descriptions<br />

GLB.EOP<br />

GLB.ERROR<br />

If GLB.DLRECOVER contains a numeric value other than zero, a deadlock error has been<br />

detected and the Report has been restarted by <strong>LINC</strong> Recovery.<br />

This System Data item will not be set unless the H execute option has been added to the<br />

execute statement for detecting deadlock errors.<br />

See GLB.RECOVER, later in this section.<br />

LENGTH=1, EDIT=N<br />

(This is not a System Data item. It is an option that can be included with the CURSOR; logic<br />

command in Ispec logic, to position the screen cursor at the end-of-page position when an<br />

Ispec screen is displayed. For more details, see the CURSOR; command, in this manual.)<br />

The setting of GLB.ERROR determines whether:<br />

$ The automatic store of input data for a USAGE; INPUT-OUTPUT Ispec is to be<br />

performed.<br />

$ An Internal Automatic Entry is to be performed.<br />

The setting of GLB.ERROR will affect the path through the <strong>LINC</strong> Cycle. For information on<br />

the <strong>LINC</strong> Cycle, see your <strong>LINC</strong> Generate Operations Guide.<br />

Internal Automatic Entries<br />

$ An AUTO; WRITE (or AUTO; WRITE&CLEAR) command causes an update to the<br />

database if GLB.ERROR is equal to GLB.SPACES at the time the command is<br />

executed, unless it fails a system check (for example, the same value has been used<br />

twice as a Component Ordinate value).<br />

The database update takes place immediately. Any later setting of GLB.ERROR has no<br />

effect.<br />

$ If GLB.ERROR is not equal to GLB.SPACES at the time the command is executed, the<br />

new record is not stored, and no Auto Entries are performed.<br />

$ This has no effect on any AUTO.WRITE (or AUTO; WRITE&CLEAR) commands<br />

executed earlier in the Ispec logic.<br />

Ispec Automatic Updates<br />

The automatic update performed at the end of Main logic for a USAGE; INPUT-OUTPUT<br />

Ispec (or at the end of Main logic for each cycle of a Copy.From Ispec cycle) is executed<br />

only if GLB.ERROR is equal to GLB.SPACES at that time.<br />

FLAG Commands<br />

A FLAG command causes a database update regardless of the setting of GLB.ERROR.<br />

2-24 v


MESSAGE; or RECALL; Commands<br />

System Data Item Descriptions<br />

The <strong>LINC</strong> System sets GLB.ERROR to ***** when MESSAGE; or RECALL; commands are<br />

executed in Ispec logic.<br />

LENGTH = 5 EDIT = A<br />

GLB.EXAMKEY<br />

GLB.EXNAME<br />

GLB.EXTDB<br />

Note: This System Data item is valid only in MCP based Ispec logic.<br />

Use GLB.EXAMKEY if you want to enter up to 30 characters of diagnostic comment to be<br />

included in the Examiner trace record for an Ispec transaction. Move the alphanumeric<br />

value you require into GLB.EXAMKEY in your Ispec logic.<br />

For more information, see your MCP Based <strong>LINC</strong> Administration and Operations Guide.<br />

LENGTH = 30 EDIT = A<br />

Note: This System Data item is valid for MCP based <strong>LINC</strong> Systems only.<br />

GLB.EXNAME is a read-only System Data item that holds the name of an item associated<br />

with an exception encountered with the use of the ACCESS.EXT; command.<br />

LENGTH = 14 EDIT = A<br />

Note: This System Data item is valid for OS 2200 based <strong>LINC</strong> Systems only.<br />

Use this read-only System Data item in conjunction with Interdatabase access. It contains<br />

the name of the database that was being referenced during the last database access<br />

command for an Interdatabase Ispec.<br />

LENGTH = 10 EDIT = A<br />

v 2-25


System Data Item Descriptions<br />

GLB.EXTDBSTATUS<br />

Note: This System Data item is valid for OS 2200 based <strong>LINC</strong> Systems only.<br />

Use this read-only System Data item in conjunction with Interdatabase access. It contains<br />

values that indicate the status of a database access. It should be used in conjunction with<br />

the GLB.STATUS System Data item. Valid values are shown in the following table.<br />

GLB.STATUS GLB.EXTDBSTATUS Meaning<br />

Spaces Spaces Access completed.<br />

Spaces Non-spaces Access failed. This may be the case where no<br />

GLB.STATUS is normally returned, such as the<br />

FLAG; command.<br />

***** Spaces Record not found.<br />

***** DB.DIFFERENT Ispecs do not match (data definitions, Profiles,<br />

and so on).<br />

***** DB.DISABLED Target database disabled in the HUB Common<br />

Bank.<br />

***** HUB.DOWN HUB background run is not running.<br />

***** INVAL.ISPEC The target Ispec specified by the SET.DB;<br />

command may be non-existent in the target<br />

system, or you have not set "Allow External<br />

Access" on your Ispec Environmental Options<br />

screen.<br />

***** INVAL.TARGET Access not allowed to target system.<br />

***** NO.DATABASE External database not found in the HUB<br />

Common Bank.<br />

***** NO.ENV Internal HUB error occurred when attempting to<br />

locate the environment details for the target<br />

system.<br />

***** NO.TABLE Database found, but the table name is unknown.<br />

***** NOT.LOCAL Table for this Ispec not defined in the local <strong>LINC</strong><br />

System database, and an external database<br />

has not been designated by the use of a<br />

SET.DB; command.<br />

For more details, see your OS 2200 Based <strong>LINC</strong> Administration and Operations Guide<br />

LENGTH = 12 EDIT = A<br />

2-26 v


GLB.EXTEXT<br />

GLB.FILEINFO<br />

GLB.FILLER<br />

System Data Item Descriptions<br />

Note: This System Data item is valid for MCP based <strong>LINC</strong> Systems only.<br />

This read-only System Data item holds the descriptive text of an exception encountered<br />

when using the ACCESS.EXT; command. See A Series DMS II Interpretive Interfaces for<br />

more details of these exception messages.<br />

LENGTH = 80 EDIT = A<br />

Note: This System Data item is valid only for MCP based Report logic.<br />

GLB.FILEINFO is a System Data item you can use as a flag in Reports that use the Report<br />

Output Control System (ROC). It applies to Direct Reports only.<br />

The setting of GLB.FILEINFO explicitly controls print file attributes only (not Extract file<br />

attributes). This is to control the overwriting of the print file attributes by System Data<br />

items such as GLB.TITLE and GLB.SAVEDAYS.<br />

$ If GLB.FILEINFO is set to Y, the values are entered using file equation, and values of<br />

System Data items (which would otherwise be used to control the output files) are<br />

ignored. This is the default value for Reports initiated through the <strong>LINC</strong> Report<br />

Initiation Program (<strong>LINC</strong>/RIP).<br />

$ If GLB.FILEINFO is set to N, the values of System Data items are used, and any print<br />

file file-equate information is ignored. This is the default value for Reports initiated by<br />

the RUN; command or :RUN colon command.<br />

LENGTH = 1 EDIT = A<br />

Use GLB.FILLER as a dummy data item to reserve space in Report Frames for Extract files<br />

and in Group Global System Data items and Group Setup Data items.<br />

You define GLB.FILLER as usual for a data item, although you can only apply the EDIT,<br />

LENGTH, DECIMAL, BINARY, and BCD (Binary Coded Decimal) Data Attributes.<br />

You must define a length for GLB.FILLER. If you do not define an edit type, GLB.FILLER is<br />

treated as alphanumeric. You may use the SAME.AS Data Command to specify the<br />

attributes for GLB.FILLER.<br />

v 2-27


System Data Item Descriptions<br />

Examples<br />

Records in a file consist of a code, surname, and firstname separated by spaces. You define<br />

a Group Global Setup Data item to obtain these values as follows. You use GLB.FILLER in<br />

place of the spaces.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

If you wish to create a Report Frame to define the format of an Extract file in the same<br />

format as the above file, you can also use GLB.FILLER. After creating the item for the code,<br />

you can paint the spaces between the code and surname by using the following command.<br />

<br />

Restrictions<br />

The following restrictions apply to GLB.FILLER:<br />

$ Do not use the SAME.AS; Data Command to see the attributes of GLB.FILLER. (You<br />

may use SAME.AS; to copy the attributes of a data item to GLB.FILLER.)<br />

$ You cannot define GLB.FILLER in your Dictionary.<br />

$ You cannot include GLB.FILLER in your logic (apart from in the definitions of Group<br />

Global Setup Data items or Group Setup Data items).<br />

$ You cannot include GLB.FILLER in the list of data items to be traced.<br />

$ When you create a Report Frame that defines the format of an Extract file you can<br />

include multiple GLB.FILLER data items.<br />

$ If you print a Report Frame that includes GLB.FILLER data items, these items will<br />

print as spaces regardless of their edit type (extra spaces are included where required<br />

for edit types such as EDIT; $).<br />

Edit Characteristics<br />

LENGTH = (user-defined) EDIT= (user-defined)<br />

GLB.FORMDEPTH<br />

GLB.FORMDEPTH contains the number of printable lines of Report output on a page.<br />

GLB.FORMDEPTH is valid in Reports only. It can be used for Shadow Reports, in the form<br />

GLB.FORMDEPTHx, where x is the one-character Shadow Report designator (A through<br />

Z).<br />

2-28 v


GLB.FORMID<br />

System Data Item Descriptions<br />

The value of GLB.FORMDEPTH is used to determine when to advance to top-of-form (and<br />

print footings and headings). For Reports that use the Report Output Control System<br />

(ROC), when GLB.FORMDEPTH is zero, no automatic advance to top-of-form occurs, and<br />

no headings are printed.<br />

Once output from a Report has been produced, the value of GLB.FORMDEPTH remains<br />

until the next RELEASE; command (or end-of-job), when the most recent change to its<br />

value is effected.<br />

The default values are set when the Report is initiated. If GLB.DEVICE is changed,<br />

GLB.FORMDEPTH may also need to be changed. Default values are listed in the following<br />

table, for each device and target host type. An entry of Page Config means the configured<br />

page length for that device (OS 2200 based <strong>LINC</strong> Systems only), while a blank entry<br />

indicates an invalid device/host type combination.<br />

Device Type Default Form<br />

Depth: MCP<br />

based<br />

Default Form<br />

Depth: OS<br />

2200 based<br />

Default Form<br />

Depth: UNIX<br />

LP 60 lines Page Config 60 lines<br />

RP 60 lines - -<br />

TP 66 lines 66 lines 66 lines<br />

VD (not IBM 3270) 48 lines 48 lines 48 lines<br />

VD (IBM 3270) 22 lines - -<br />

Spaces 60 lines Page Config 60 lines<br />

Note: For LDA Run Time, GLB.FORMDEPTH defaults to 66 lines.<br />

LENGTH = 4 EDIT = N<br />

GLB.FORMID holds the name of the stationery to be used for printing of Report output by<br />

the <strong>LINC</strong> Report Output Control System (ROC).<br />

GLB.FORMID is valid in Reports only. It can be used for Shadow Reports, in the form<br />

GLB.FORMIDx, where x is the one-character Shadow Report designator (A through Z).<br />

The default value for GLB.FORMID is spaces. The value of GLB.FORMID is ignored when<br />

the Report is directed to a video device. Trailing spaces in the value are also ignored.<br />

Once output from a Report has been produced, the value of GLB.FORMID remains until<br />

the next RELEASE; command (or end-of-job), when the most recent change to its value is<br />

effected.<br />

v 2-29


System Data Item Descriptions<br />

GLB.FORMID is not implemented in LDA Run Time.<br />

For more details, see the ROC information in the <strong>LINC</strong> Administration and Operations<br />

Guide for the relevant host type.<br />

For a UNIX <strong>LINC</strong> System, the value of GLB.FORMID must have been created as an Alias in<br />

ROC, using the following command:<br />

<br />

In addition, the required forms must have been set up using lpforms and lpadmin.<br />

For MCP based <strong>LINC</strong> Systems, if GLB.FORMID is used in Reports that do not use ROC,<br />

COBOL74 syntax errors will occur.<br />

LENGTH = 20 EDIT = A<br />

GLB.FULLLENGTH<br />

GLB.FULLSTN<br />

GLB.GUI<br />

GLB.FULLLENGTH is a read-only System Data item that contains the length (in bytes) of<br />

the data of a data item. The value of GLB.FULLLENGTH is defined when GET.LENGTH;<br />

and ATTACH; <strong>LINC</strong> logic command is executed.<br />

GLB.LENGTH is the length of the data of a data item (in characters). GLB.FULLLENGTH<br />

will equal GLB.LENGTH except for data items that contain Hankaku-Katakana characters<br />

in UNIX <strong>LINC</strong> Systems. See the description of Hankaku-Katakana characters in your <strong>LINC</strong><br />

Generate <strong>Reference</strong> <strong>Manual</strong>: Painter and Editor and the ‘‘GET.LENGTH; (GL)’’ in this<br />

manual, for further details.<br />

LENGTH = 4 EDIT = N<br />

GLB.FULLSTN is a read-only System Data item that applies to Ispecs for MCP based <strong>LINC</strong><br />

Systems. For UNIX and OS 2200 based <strong>LINC</strong> Systems, GLB.FULLSTN contains the same<br />

station name as GLB.STN.<br />

For MCP based Ispecs, the value of GLB.FULLSTN is the full station name of the originator<br />

of the current transaction. See your MCP Based <strong>LINC</strong> Administration and Operations<br />

Guide for details of full station names and reference station names.<br />

LENGTH = 251 EDIT = A<br />

GLB.GUI is a read-only System Data item that is available in Ispecs only. The value of<br />

GLB.GUI indicates the type of terminal from which a transaction originated: if Y the<br />

transaction is from a PowerClient terminal; if N it is from another terminal type.<br />

2-30 v


GLB.HIGH<br />

System Data Item Descriptions<br />

GLB.GUI can be used with GLB.STYLE to determine where a particular transaction<br />

originated. If GLB.STYLE is set to NOFORM and GLB.GUI is Y, the transaction has come<br />

from DW/PCE. Any other combination means that the transaction has come from the NOF<br />

program.<br />

In LDA, GLB.GUI can be initialized to a <strong>LINC</strong>.INI parameter. However, if input is received<br />

from a NOF program, GLB.GUI cannot be changed.<br />

LENGTH = 1 EDIT = A<br />

GLB.HIGH is a read-only System Data item whose value is the maximum alphanumeric<br />

value that can be represented in the host type on which the <strong>LINC</strong> System is running. It is<br />

intended as for use as a starting point for DETERMINE; BACK or DETERMINE; LAST<br />

commands.<br />

GLB.HIGH is similar in usage to GLB.LOW, GLB.ZEROS, and GLB.SPACES.<br />

Note: The length of GLB.HIGH defaults to 1 in complex MOVE; commands.<br />

LENGTH = Indefinite EDIT = A<br />

GLB.HTIMEOUT<br />

This is a synonym for GLB.HUBTIMEOUT.<br />

LENGTH = 6 EDIT = N<br />

GLB.HUBSTATUS<br />

GLB.HUBSTATUS is a read-only System Data item that contains information about the<br />

result of an external Automatic Entry. It is not implemented in LDA Run Time.<br />

The values returned by GLB.HUBSTATUS are messages indicating whether the Automatic<br />

Entry was successful, or a reason for its failure. For more details of these values, see<br />

‘‘AUTO; WRITE and AUTO; WRITE&CLEAR’’ in this manual.<br />

LENGTH = 15 EDIT = A<br />

GLB.HUBTIMEOUT<br />

GLB.HUBTIMEOUT is used with External Automatic Entries, to define the length of time<br />

(in seconds) the sending <strong>LINC</strong> System should wait for a reply.<br />

v 2-31


System Data Item Descriptions<br />

A value of zero means that the <strong>LINC</strong> System will continue to wait until a reply is received.<br />

(For MCP based <strong>LINC</strong> Systems, a value of zero defaults to 120 seconds.)<br />

GLB.HUBTIMEOUT is set to 300 seconds after each Automatic Entry.<br />

Note: GLB.HUBTIMEOUT is not used with External Automatic Entries to NOF or the<br />

<strong>LINC</strong> USER interface program. It is not implemented in LDA Run Time.<br />

For more information about what happens when the time set in GLB.HUBTIMEOUT is<br />

exceeded, see ‘‘AUTO; WRITE and AUTO; WRITE&CLEAR’’ in this manual.<br />

LENGTH = 6 EDIT = N<br />

GLB.INITFULLSTN<br />

GLB.INITSTN<br />

GLB.INITFULLSTN is a read-only System data item that applies to MCP based <strong>LINC</strong><br />

System Reports. For UNIX and OS 2200 based <strong>LINC</strong> Systems, the value of<br />

GLB.INITFULLSTN is the same as GLB.INITSTN.<br />

For an MCP based <strong>LINC</strong> System, the value of GLB.INITFULLSTN is the full station name of<br />

the station from which the Report was initiated.<br />

See your MCP Based <strong>LINC</strong> Administration and Operations Guide for details of full<br />

station names and reference station names.<br />

LENGTH = 251 EDIT = A<br />

GLB.INITSTN is a read-only System data item that can be accessed in Report logic to<br />

identify the terminal or username from which the Report was initiated.<br />

The value of GLB.INITSTN is BATCH if the Report was initiated:<br />

$ Through <strong>LINC</strong>/RIP for an MCP based <strong>LINC</strong> System<br />

$ In standalone mode for an MCP based <strong>LINC</strong> System<br />

$ From Startup logic for an MCP based <strong>LINC</strong> System<br />

$ Through a batch runstream for an OS 2200 based <strong>LINC</strong> System<br />

$ Through the shell for a UNIX <strong>LINC</strong> System<br />

$ Through <strong>LINC</strong>RPT with the command line option of -c for LDA<br />

$ As a Coroutine<br />

See the CALL; command in this manual for details of Coroutines.<br />

2-32 v


System Data Item Descriptions<br />

For an MCP based <strong>LINC</strong> System, the value of GLB.INITSTN is a reference station name.<br />

The full station name corresponding to the reference station held in GLB.INITSTN is<br />

contained in the System Data item GLB.INITFULLSTN. See your MCP Based <strong>LINC</strong><br />

Administration and Operations Guide for further details.<br />

In LDA, GLB.INITSTN is initialized with the user or computer name before a session is<br />

opened. It can then be set to BATCH using the -c parameter with <strong>LINC</strong>RPT.<br />

LENGTH = 17 EDIT = A<br />

GLB.INPUTDATA<br />

GLB.INQ<br />

Note: This System Data item is valid only in Ispec logic for MCP based target hosts.<br />

GLB.INPUTDATA is a read-only System Data item which contains the data received for<br />

processing the current transaction (that is, all screen data items excluding Usage Input<br />

data items).<br />

In a Copy.From Ispec, GLB.INPUTDATA should only be accessed on the first copy (when<br />

GLB.COPY is equal to 1).<br />

LENGTH = 1920 EDIT = A<br />

GLB.INQ is a read-only System Data item. It should be used in place of the literal INQ, to<br />

allow for translation of MAINT values in multiple-language systems.<br />

For more details, see the MAINT System Data item, later in this section.<br />

GLB.LANGUAGE<br />

The System Data item GLB.LANGUAGE can be used to change the working language of a<br />

station in a multiple language environment. Its value can be changed in Ispec and Report<br />

logic.<br />

In Ispecs, if you attempt to set GLB.LANGUAGE to a language name that is not defined for<br />

the <strong>LINC</strong> System, then GLB.LANGUAGE will contain ***** until the next transaction. You<br />

should test the result of GLB.LANGUAGE immediately after any move to it in your Ispec<br />

logic.<br />

For Ispecs, the language currently in use on the station is held in the System Data item<br />

GLB.STALANG.<br />

GLB.LANGUAGE is not implemented in LDA Run Time.<br />

v 2-33


System Data Item Descriptions<br />

GLB.LENGTH<br />

For Reports generated in a single language, if you attempt to change GLB.LANGUAGE, the<br />

current setting is retained.<br />

For Reports generated in multiple languages, if you attempt to set GLB.LANGUAGE to a<br />

language in which the Report was not last generated, the current setting of<br />

GLB.LANGUAGE is retained.<br />

For Reports, the current value of GLB.LANGUAGE is always held in the GLB.REPLANG<br />

System Data item.<br />

LENGTH = 10 ED = A<br />

The System Data item GLB.LENGTH contains the length of the data in a data item,<br />

including any initial and embedded spaces. GLB.LENGTH is valid in Ispecs, Reports, and<br />

Global Logics. It is set when any of the commands shown in the following table are<br />

executed. See also GLB.FULLLENGTH.<br />

LENGTH = 4 EDIT = N<br />

GLB.LINECOUNT<br />

Command Value of GLB.LENGTH<br />

DETACH; Length of detached value<br />

ATTACH; Untruncated length of resulting value<br />

ATTACH&SPACE; Untruncated length of resulting value<br />

GET.LENGTH; Length of value<br />

GLB.LINECOUNT contains the number of lines of Report output printed on the current<br />

page.<br />

GLB.LINECOUNT is valid in Reports only. It can be used for Shadow Reports, in the form<br />

GLB.LINECOUNTx, where x is the one-character Shadow Report designator (A through Z).<br />

2-34 v


GLB.LINEUP<br />

System Data Item Descriptions<br />

When the value of GLB.LINECOUNT exceeds the value of GLB.FORMDEPTH (except<br />

when GLB.FORMDEPTH is zero), any footings are output, an advance to top-of-page<br />

occurs, and any headings are output.<br />

Note: When the BEGIN.PAGE; CLEAR command is executed, GLB.LINECOUNT is set<br />

to 9999 to force the new page. Since the logic of the print frame is executed<br />

before the advance to new page occurs, the value of GLB.LINECOUNT is 9999,<br />

not 0.<br />

LENGTH = 4 EDIT = N<br />

Note: This System Data item is valid only for MCP based Report logic .<br />

GLB.LINEUP determines whether Report output requires stationery to be aligned before<br />

printing commences. (The System Data item GLB.LINEUPNAME specifies a file to be used<br />

in conjunction with this, for aligning your ROC Report output.)<br />

GLB.LINEUP can be used for Shadow Reports, in the form GLB.LINEUPx, where x is the<br />

one-character Shadow Report designator (A through Z).<br />

Once output from a Report has been produced, the value of GLB.LINEUP remains until the<br />

next RELEASE; command (or end-of-job), when the most recent change to its value is then<br />

effective.<br />

For Reports using the Report Output Control System (ROC), GLB.LINEUP is only valid for<br />

non-video output.<br />

For non-ROC Reports:<br />

$ GLB.LINEUP is not valid for Shadow Reports.<br />

$ GLB.LINEUP is valid for output directed to TP devices when Terminal Printer Spooler<br />

(TPS) is used. For further details of TPS, see your MCP Based <strong>LINC</strong> Administration<br />

and Operations Guide.<br />

$ If Y is moved to GLB.LINEUP before output is produced, the Report is sent to backup,<br />

and the TPS AUTO setting is ignored.<br />

The Report is not printed until it is explicitly sent to the printer by using the TPS<br />

POSITION command, and it must be deleted manually from the printer directory using<br />

the TPS PURGE command.<br />

$ A value other than Y means that no alignment is required.<br />

$ If output is sent to a Terminal Printer with the TPS POSITION command, the printer is<br />

automatically set to AUTO-. This enables any special stationery to be changed before<br />

the file is printed, or removed before anything else is printed.<br />

LENGTH = 1 EDIT = A<br />

v 2-35


System Data Item Descriptions<br />

GLB.LINEUPNAME<br />

GLB.LOW<br />

Note: This System Data item is valid only for MCP based Report logic .<br />

GLB.LINEUPNAME may be used for Shadow Reports, in the form GLB.LINEUPNAMEx,<br />

where x is the one-character Shadow Report designator (A through Z).<br />

GLB.LINEUPNAME contains the name of a file that is to be used to perform initial<br />

alignment of stationery. It is valid only for Reports directed to non-video output using the<br />

Report Output Control System (ROC).<br />

This item is used in association with the System Data item GLB.LINEUP.<br />

The value of GLB.LINEUPNAME may include usercode and pack definition as well as a file<br />

name. If GLB.LINEUPNAME contains spaces (the default value), the first page of the<br />

Report output is used for initial stationery alignment.<br />

Once output from a Report has been produced, the value of GLB.LINEUPNAME remains<br />

until the next RELEASE; command (or end-of-job), when it is overridden by the previous<br />

value.<br />

LENGTH = 30 EDIT = A<br />

GLB.LOW is a read-only System Data item whose value is the minimum alphanumeric<br />

value that can be represented in the host type on which the <strong>LINC</strong> System is running. It is<br />

intended as a starting point for DETERMINE; FROM commands.<br />

GLB.MACHINE<br />

GLB.LOW is similar in usage to GLB.HIGH, GLB.ZEROS, and GLB.SPACES.<br />

Note: The length of GLB.LOW defaults to 1 in complex MOVE; commands.<br />

LENGTH = Indefinite EDIT = A<br />

GLB.MACHINE is a read-only System Data item that describes the type of host machine on<br />

which the <strong>LINC</strong> System is running.<br />

In LDA, The value of GLB.MACHINE can be derived from the value of the TargetHost<br />

parameter in <strong>LINC</strong>.INI. If the targethost parameter is not present, GLB.MACHINE defaults<br />

to A.<br />

Possible values of GLB.MACHINE are shown in the following table.<br />

2-36 v


GLB.MATCH<br />

LENGTH = 1 EDIT = A<br />

Value Running On...<br />

A MCP environment<br />

U UNIX<br />

1 OS 2200 environment<br />

P LDA Run Time<br />

System Data Item Descriptions<br />

GLB.MATCH is a System Data item that can be used in Report logic in conjunction with the<br />

MATCH; logic command, which compares key values in two Extract files. It holds a single<br />

alphabetic character that identifies the Extract file which is to be read next. A space value<br />

denotes that both files are to be read (because the current key values match).<br />

Note: GLB.MATCH always has a space value outside of the MATCH; loop. Testing<br />

GLB.MATCH outside the MATCH; loop is meaningless.<br />

For more details, see the MATCH; logic command in this manual.<br />

LENGTH = 1 EDIT = A<br />

GLB.MAXCOPY<br />

GLB.MIXNO<br />

GLB.MAXCOPY is a read-only System Data item that contains the value of the<br />

MAX.COPIES option set for a Copy.From Ispec. It can only be accessed from Ispec logic.<br />

LENGTH = 2 EDIT = N<br />

GLB.MIXNO is a read-only System Data item valid in Reports only. It contains the mix<br />

number (MCP based or OS 2200 based) or PID number (UNIX) of the Report at run time.<br />

LENGTH = 10 EDIT = N<br />

GLB.NUMCOPIES<br />

GLB.NUMCOPIES contains the number of copies of a Report that are to be printed. It is<br />

valid only for Reports (standard Reports for UNIX) directed to non-video devices using the<br />

Report Output Control System (ROC). A value of zero (the default value) is interpreted as<br />

meaning one copy.<br />

v 2-37


System Data Item Descriptions<br />

GLB.NUMCOPIES can be used for Shadow Reports, in the form GLB.NUMCOPIESx,<br />

where x is the Shadow Report name.<br />

Note: GLB.NUMCOPIESx is not implemented in LDA Run Time.<br />

Changes can be made to GLB.NUMCOPIES until the first output from a Report has been<br />

produced. After that, any attempted changes to GLB.NUMCOPIES will have no effect.<br />

Once output from a Report has been produced, the value of GLB.NUMCOPIES remains<br />

until the next RELEASE; command (or end-of-job), when the most recent change to its<br />

value then applies.<br />

GLB.NUMCOPIES is not implemented in LDA Run Time.<br />

LENGTH = 3 EDIT = N<br />

GLB.OLTPSERVICE<br />

This read-only System Data item contains the OLTP Service name invoked for the OLTP<br />

transaction received for processing. It is set prior to start of user logic in an OLTP Server.<br />

LENGTH = 15 EDIT = A<br />

GLB.OLTPSUBTYPE<br />

This System Data item contains the most-recent OLTP Buffer Subtype name:<br />

$ Associated with an OLTP transaction received for processing (set automatically prior<br />

to start of user logic in the OLTP Server)<br />

$ Required for an AUTO; WRITE command (set automatically by an AUTO.ENTRY;<br />

command in the OLTP Client if the Ispec is an OLTP View Ispec)<br />

$ From the response to an AUTO; WRITE command (set automatically by an AUTO;<br />

WRITE command in the OLTP Client)<br />

LENGTH = 16 EDIT = A<br />

GLB.OLTPTYPE<br />

This read-only System Data item contains the most-recent OLTP Buffer Type name:<br />

$ Associated with an OLTP transaction received for processing (set prior to the start of<br />

user logic in the OLTP Server)<br />

$ Required for an AUTO; WRITE command (set by an AUTO.ENTRY; command in the<br />

OLTP Client)<br />

2-38 v


System Data Item Descriptions<br />

$ Associated with the response to an AUTO; WRITE command (set by an AUTO; WRITE<br />

command in the OLTP Client)<br />

LENGTH = 8 EDIT = A<br />

GLB.OLTPVALUE<br />

GLB.ORIGIN<br />

This read/write System Data item contains the OLTP application-defined return code:<br />

$ Given in the server, to be returned to the client<br />

$ Received by the client<br />

This value is attached to the response when a server replies to an OLTP-initiated message,<br />

and is made available in GLB.OLTPVALUE following the AUTO; WRITE command in the<br />

OLTP client transaction.<br />

GLB.OLTPVALUE is initialized to zero at the beginning of a transaction in both client and<br />

server, and is set by an AUTO; WRITE command for an OLTP client transaction.<br />

(GLB.OLTPVALUE is not set by a non-OLTP AUTO; WRITE command.)<br />

LENGTH = 9 EDIT = S<br />

GLB.ORIGIN is a read-only System Data item that contains the name of the <strong>LINC</strong> database<br />

from which an Automatic Entry originated. You can compare it to the System Data item<br />

GLB.SELF in your logic, to detect if an Ispec is receiving an Auto Entry from another <strong>LINC</strong><br />

System or not.<br />

GLB.ORIGIN is not implemented in LDA Run Time.<br />

See also the GLB.ORIGINENV and GLB.ORIGINHOST System Data items.<br />

LENGTH = 10 EDIT = A<br />

GLB.ORIGINENV<br />

This read-only System Data item is used only with external Automatic Entries from <strong>LINC</strong><br />

Systems in OS 2200 or UNIX environments.<br />

The value of an Automatic Entry from an OS 2200 environment specifies the originating<br />

<strong>LINC</strong> Environment.<br />

The value of an Automatic Entry from a UNIX environment specifies the ORACLE SID (or<br />

Griffin Universe) of the database for the originating <strong>LINC</strong> System.<br />

The value of an Automatic Entry from an MCP based <strong>LINC</strong> System is spaces.<br />

v 2-39


System Data Item Descriptions<br />

GLB.ORIGINENV is not implemented in LDA Run Time.<br />

For more details, see the section on "Interfacing to Other Systems" in the <strong>LINC</strong><br />

Administration and Operations Guide for the relevant host type.<br />

LENGTH = 10 EDIT = A<br />

GLB.ORIGINHOST<br />

GLB.ORIGINHOST is a read-only data item that contains the name of the host from which<br />

an External Automatic Entry originated. Its value is set to the value of the System Data<br />

item GLB.SELFHOST at the start of an Ispec or Report.<br />

GLB.ORIGINHOST is not implemented in LDA Run Time.<br />

LENGTH = 17 EDIT = A<br />

GLB.ORIGINISPEC<br />

Note: This System Data item is valid only for OS 2200 based Ispec logic.<br />

GLB.ORIGINISPEC is a read-only System Data item that is defined in the following<br />

situations:<br />

$ GLB.ORIGINISPEC contains the name of the Ispec that originated a PASSOFF when a<br />

specified Function Key was pressed. This value is used to determine the originating<br />

Ispec in the source system, when that system is being run with the FKSWITCH SGS<br />

statement and the INHERIT option.<br />

For more details, see your OS 2200 Based <strong>LINC</strong> Administration and Operations<br />

Guide.<br />

$ GLB.ORIGINISPEC contains the Ispec in the <strong>LINC</strong> System that used the SWITCH.TO;<br />

logic command with the INHERIT; option to access the current <strong>LINC</strong> System. It is<br />

provided for you to switch back to the Ispec in the previous <strong>LINC</strong> System.<br />

See also GLB.ORIGINXNID and GLB.ORIGINPTN.<br />

GLB.ORIGINISPEC is initialized to spaces when another Ispec is accessed (that is, when<br />

you recall another Ispec).<br />

LENGTH = 5 EDIT = A<br />

2-40 v


GLB.ORIGINPTN<br />

System Data Item Descriptions<br />

Note: This System Data item is valid only in OS 2200 based Ispec logic.<br />

GLB.ORIGINPTN is a read-only System Data item that contains the partition for the <strong>LINC</strong><br />

System that used the SWITCH.TO; logic command with the INHERIT; option to access the<br />

current <strong>LINC</strong> System. It is provided for you to switch back to the previous <strong>LINC</strong> System,<br />

but only if the SWITCH.TO; was performed from a PowerClient station.<br />

If the current <strong>LINC</strong> System has not been accessed by a SWITCH.TO; command, the value of<br />

GLB.ORIGINPTN is spaces. GLB.ORIGINPTN is initialized to spaces when another Ispec is<br />

accessed (that is, when you recall another Ispec). See also GLB.ORIGINXNID and<br />

GLB.ORIGINISPEC.<br />

LENGTH = 19 EDIT = A<br />

GLB.ORIGINXNID<br />

Note: This System Data item is valid only in OS 2200 based Ispec logic.<br />

GLB.ORIGINXNID is a read-only System Data item that contains:<br />

$ Transaction id of the transaction that was running when an FKSWITCH command with<br />

INHERIT option was executed. For more details, see your OS 2200 Based <strong>LINC</strong><br />

Installation and Configuration Guide.<br />

$ Transaction id of the <strong>LINC</strong> System that used the SWITCH.TO; logic command with the<br />

INHERIT; option to access the current <strong>LINC</strong> System. It is provided to enable you to<br />

switch back to the previous <strong>LINC</strong> System.<br />

See also GLB.ORIGINISPEC and GLB.ORIGINPTN.<br />

GLB.ORIGINXNID is initialized to spaces when another Ispec is accessed (that is, when<br />

you recall another Ispec).<br />

LENGTH = 6 EDIT = A<br />

GLB.PAGECOUNT<br />

GLB.PAGECOUNT is incremented with each report page to contain the current Report<br />

output page number. It is set to zero when the Report is initiated and after a RELEASE;<br />

command.<br />

GLB.PAGECOUNT can be used for Shadow Reports, in the form GLB.PAGECOUNTx,<br />

where x is the one-character Shadow Report designator (A through Z).<br />

v 2-41


System Data Item Descriptions<br />

GLB.PARAM<br />

GLB.PAGECOUNT is incremented by one when the first line on a new page is output, after<br />

the Frame logic has been executed. While the Frame logic is being executed,<br />

GLB.PAGECOUNT still contains the page number of the preceding page of the Report.<br />

For details of the effect of a release on GLB.PAGECOUNT, see ‘‘RELEASE (REL)’’.<br />

LENGTH = 5 EDIT = N<br />

GLB.PARAM holds the parameters for the CALL; command.<br />

Depending on the host type, when the CALL; command is executed, the contents of<br />

GLB.PARAM are passed to:<br />

$ An MCP based <strong>LINC</strong> System external library or program<br />

$ An MCP based <strong>LINC</strong> Report generated as a Coroutine<br />

$ An OS 2200 based <strong>LINC</strong> System external procedure<br />

$ A UNIX routine or process, or to the Bourne shell<br />

$ A LDA Run Time Report.<br />

Data is returned through this item to the calling Ispec or Report. See ‘‘CALL’’ for further<br />

details.<br />

The maximum length of GLB.PARAM is defined in the GLB.PARAM size field on the<br />

Primary Specification Options screen.<br />

For LDA Run Time, the length is assumed to be greater than 24.<br />

LENGTH = user defined EDIT = A<br />

GLB.PARAMFLAG<br />

GLB.PARAMFLAG is set to Y to indicate that parameter data is attached to the WAKE.UP;<br />

command that is calling your Report.<br />

It is reset at the next SLEEP; command, or CRITICAL.POINT; command with a SLEEP;<br />

option. GLB.PARAMFLAG is not set when a parameter is passed to the Report by a RUN;<br />

command.<br />

LENGTH = 1 EDIT = A<br />

2-42 v


GLB.PITCH<br />

System Data Item Descriptions<br />

Note: GLB.PITCH is not valid for a UNIX environment, and is not implemented in<br />

LDA Run Time.<br />

GLB.PITCH contains the default print pitch when output is first produced by the Report, as<br />

specified on the Report Options screen. The default pitch may be modified in a line<br />

containing data or display items by Report logic. Each line printed by the Report will<br />

default to this pitch unless an explicit pitch is specified in a data item or display in that line.<br />

GLB.PITCH can be used for ROC Shadow Reports, in the form GLB.PITCHx, where x is the<br />

one-character Shadow Report designator (A through Z).<br />

Note: GLB.PITCHx is not implemented in LDA Run Time.<br />

GLB.PITCH applies to ROC Standard Reports outputting to Terminal Printer devices (and<br />

Remote Printer devices in an MCP environment). Also, for MCP based <strong>LINC</strong> Systems only,<br />

GLB.PITCH is available in read-only mode for non-ROC Reports output to Terminal<br />

Printers.<br />

Note: The Report Options screen Default Device field must be set to TP for non-ROC<br />

reports, otherwise the spacing on the printed output will be incorrect.<br />

LENGTH = 3 EDIT = N<br />

GLB.PREVISPEC<br />

GLB.PRINTAT<br />

Note: This System Data item is valid for OS 2200 based Ispec logic and is also<br />

supported in LDA when the target host is OS 2200.<br />

GLB.PREVISPEC is a read-only System Data item that contains the name of the Ispec that<br />

was currently on display when a Function key was pressed.<br />

For more details, see your OS 2200 Based <strong>LINC</strong> Installation and Configuration Guide.<br />

See also, GLB.ACTIONKEY.<br />

LENGTH = 5 EDIT = A<br />

Note: This System Data item is valid only for MCP based Report logic.<br />

GLB.PRINTAT is used by Direct Reports that use the <strong>LINC</strong> Report Output Control System<br />

(ROC). It indicates when output is to be queued for printing.<br />

v 2-43


System Data Item Descriptions<br />

GLB.PRINTAT can be used for Shadow Reports, in the form GLB.PRINTATx, where x is<br />

the one-character Shadow Report designator (A through Z).<br />

GLB.PRINTAT can have one of two values, as shown in the following table.<br />

Value Operation<br />

END Accumulate all output and print when the Report terminates.<br />

RELEASE Print each print file as it is released.<br />

LENGTH = 10 EDIT = A<br />

GLB.PRINTBANNER<br />

Note: This System Data item is valid only for MCP based Report logic.<br />

The value of GLB.PRINTBANNER determines whether banner pages are printed with<br />

Report output. If its value is Y, banners are printed. It is used for Reports produced using<br />

the Report Output Control System (ROC).<br />

GLB.PRINTBANNER can be used for Shadow Reports, in the form GLB.PRINTATx, where<br />

x is the one-character Shadow Report designator (A through Z).<br />

GLB.PRINTBANNER applies to ROC Reports directed to Line Printer (LP), Remote Printer<br />

(RP), and Terminal Printer (TP) devices. Its default value is Y for LP and RP devices, and N<br />

for TP devices and VD Reports.<br />

Once output from a Report has been produced, the value of GLB.PRINTBANNER remains<br />

until the next RELEASE; command or end-of-job, when the most recent change to its value<br />

then applies.<br />

LENGTH = 1 EDIT = A<br />

GLB.PRINTHOST<br />

Note: This System Data item is valid only for MCP based Report logic.<br />

GLB.PRINTHOST contains the name of the host computer to which the required<br />

destination output device is connected.<br />

GLB.PRINTHOST can be used for Shadow Reports, in the form GLB.PRINTHOSTx, where<br />

x is the Shadow Report name.<br />

2-44 v


System Data Item Descriptions<br />

The value of GLB.PRINTHOST is stored when a Frame is printed. This value is later<br />

compared to current values when a PRINT.FRAME; command is next used, to determine if<br />

a release is required.<br />

The release is not done when the GLB.PRINTHOST value changes. Such a release is<br />

prompted when a difference is detected by a comparison done before a PRINT.FRAME;<br />

command is executed, not by a MOVE; into GLB.PRINTHOST.<br />

When output from a Report has been produced, the value of GLB.PRINTHOST remains<br />

until the next RELEASE; command (or end-of-job), when the most recent change to its<br />

value is then effected.<br />

GLB.PRINTHOST applies to Reports that use the Report Output Control System, with<br />

output directed to Line Printer, Remote Printer, and Terminal Printer devices. Its default<br />

value is the value of GLB.SELFHOST.<br />

GLB.PRIORITY<br />

LENGTH = 17 EDIT = A<br />

Note: This System Data item is valid only in Ispec logic.<br />

GLB.PRIORITY enables you to set the run priority of a Report initiated from Ispec logic by<br />

the RUN; logic command, at run time. This allows Report output to be scheduled more<br />

effectively, resulting in improved use of resources.<br />

GLB.PRIORITY sets the priority at which the Report runs. It can have a value in the range<br />

01 through 99. For MCP based <strong>LINC</strong> Systems and OS 2200 based <strong>LINC</strong> Systems, the value<br />

equates directly to the level of priority; that is 99 is the highest priority. For a UNIX <strong>LINC</strong><br />

System, the value relates inversely to the level of priority; that is 01 is the highest priority.<br />

An entry of zero will cause the Report to be run at the default priority. GLB.PRIORITY is<br />

invalid in the Report logic itself.<br />

Specific details for each runtime host type are given in the following subsections.<br />

MCP environment<br />

A nonzero value of GLB.PRIORITY overrides the default Report priority of the :RPR <strong>LINC</strong><br />

System command. The default value of GLB.PRIORITY is zero.<br />

If a Report is run through <strong>LINC</strong>/RIP, then it will be run at the priority of the RIP program. If<br />

the priority is higher than the maximum priority set by the :RPR system command, then it<br />

will be changed to the maximum priority.<br />

If the priority is higher than the maximum priority set by :RPR, then it will be changed to<br />

the maximum priority. (This applies to RIP and GLB.PRIORITY.)<br />

v 2-45


System Data Item Descriptions<br />

GLB.PRIV<br />

OS 2200 environment<br />

If it is lower than the user’s account priority, then it will automatically downgrade the<br />

Report priority in GLB.PRIORITY. If the Report is run in standalone mode, then the priority<br />

is under the control of the initiating user. The default value of GLB.PRIORITY is zero.<br />

UNIX<br />

The value corresponds to nice values in the range 1 (high) through 40 (low). The default<br />

value is 20.<br />

LDA Run Time<br />

GLB.PRIORITY is not implemented in LDA Run Time.<br />

LENGTH = 2 EDIT = N (All host types)<br />

In Ispec logic, GLB.PRIV contains the privilege level of the Ispec transaction originator. In<br />

Report logic, it contains the privilege level of the Report output printer device. Its value<br />

can range from 0 to 15 (1 to 15 for an MCP based <strong>LINC</strong> System).<br />

Specific details for each runtime host type are given in the following subsections.<br />

MCP environment<br />

The privilege level of terminals is contained in COMS. The privilege level of printers is<br />

contained in the <strong>LINC</strong>/NET file, and can be specified by using the MCP based <strong>LINC</strong><br />

Network Configuration System (NETCON).<br />

In a Report directed to a Terminal Printer, if a value in the range 1 through 15 is moved to<br />

GLB.PRIV before the first PRINT.FRAME; command, then the file can only be printed on a<br />

printer of an equal or higher privilege.<br />

If the printer privilege is zero, a user privilege value of 15 will be assumed, and any Report<br />

output will be able to be sent to that printer.<br />

For Reports that use the <strong>LINC</strong> Report Output Control System (ROC), GLB.PRIV can be<br />

used when output is directed to all MCP based output devices, except EX (extract files).<br />

For Reports that do not use ROC, GLB.PRIV can only be used when output is directed to<br />

Terminal Printers. If GLB.PRIV has a nonzero value, the file is forced to a printer backup<br />

file, regardless of other settings for Terminal Printer Spooler (TPS). For further details, see<br />

the information on Terminal Printer Spooler in your MCP Based <strong>LINC</strong> Administration<br />

and Operations Guide.<br />

The external interface programs GLI, Offline, and NOF have a privilege level of 15. For<br />

more details of these programs, see your MCP Based <strong>LINC</strong> Administration and<br />

Operations Guide.<br />

2-46 v


OS 2200 environment<br />

System Data Item Descriptions<br />

Reports have unrestricted access to the <strong>LINC</strong> database. The value of GLB.PRIV determines<br />

the access privilege of output stored in the <strong>LINC</strong> Report Output Control System (ROC)<br />

Database.<br />

In a Report directed to a Terminal Printer, if a value in the range 0 to 15 is moved to<br />

GLB.PRIV before the first PRINT.FRAME; command, then the file can only be printed on a<br />

printer of an equal or higher privilege.<br />

The external interface programs GLI, Offline, and NOF have a privilege level of 15. For<br />

more details of these programs, see your OS 2200 Based <strong>LINC</strong> Administration and<br />

Operations Guide.<br />

UNIX<br />

The privilege level of usernames is contained in the <strong>LINC</strong>IINET file.<br />

Reports have unrestricted access to the <strong>LINC</strong> database. The value of GLB.PRIV determines<br />

the access privilege of output stored in the <strong>LINC</strong> Report Output Control System (ROC)<br />

Database. You may only view Report output if you have a privilege level of an equal or<br />

higher value.<br />

LDA Run Time<br />

GLB.PRIV is not implemented in LDA Run Time.<br />

The external interface programs GLI, Offline, and NOF use the privilege of the initiating<br />

username. For more details of these programs, see your MCP Based <strong>LINC</strong> Administration<br />

and Operations Guide.<br />

GLB.PRODUCT<br />

LENGTH = 2 EDIT = N (All host types)<br />

GLB.PRODUCT is a read-only System Data item containing the <strong>LINC</strong> Generate<br />

(Deployment) software product under which your <strong>LINC</strong> System is running. Valid values<br />

are:<br />

<br />

<br />

<br />

GLB.PRODUCT enables you to take alternate logic paths within your code, based on the<br />

product under which the system is running. For example, you may wish to bypass<br />

execution of some code when your generated <strong>LINC</strong> System is running under LITE.<br />

To include some code to be executed when testing in LDA Run Time, but not in your<br />

generated <strong>LINC</strong> System, you could include the condition:<br />

<br />

v 2-47


System Data Item Descriptions<br />

LENGTH = 10 EDIT = A<br />

GLB.PRTPARAM<br />

GLB.PUR<br />

Note: This System Data item is valid only for OS 2200 based Report logic.<br />

This System Data item enables you to pass data from a Shadow Report to a user-written<br />

USERPRT print handler program. It is valid only in Direct Reports that produce output for<br />

a Shadow Report.<br />

When GLB.PARAM applies to a Shadow Report, use the form GLB.PRTPARAMx, where x<br />

is the one-character Shadow Report designator (A through Z).<br />

For more details, see your OS 2200 Based <strong>LINC</strong> Administration and Operations Guide.<br />

LENGTH = user-defined (maximum 9999) EDIT = A<br />

This is a read-only System Data item. It can be used in place of the literal PUR to allow for<br />

translation of MAINT values in multiple-language systems.<br />

GLB.RECORDx<br />

For more details, see the MAINT System Data item, later in this section.<br />

This System Data item is used in conjunction with a DETERMINE; ACTUAL command<br />

when reading an Extract file in Report logic.<br />

When a value is moved into GLB.RECORDx, the Extract file is read from the record after<br />

that specified number. If no number (or GLB.ZEROS) is moved into GLB.RECORDx, the<br />

read starts from the first record.<br />

If a value equal to, or greater than, the last record number in the file is moved to<br />

GLB.RECORDx, GLB.STATUS will be set to (*****) after the DETERMINE; ACTUAL<br />

command is executed.<br />

This System Data item can only be used in the form GLB.RECORDx, where x is the<br />

one-character Extract file designator (A through Z).<br />

GLB.RECORDx is not automatically updated as records are accessed.<br />

See also ‘‘DETERMINE; ACTUAL’’ in this manual.<br />

LENGTH = 8 EDIT = N<br />

2-48 v


GLB.RECOVER<br />

System Data Item Descriptions<br />

In Report logic, the value of GLB.RECOVER indicates whether that Report has been<br />

restarted by <strong>LINC</strong> Recovery. It can also be used to inhibit <strong>LINC</strong> Recovery on MCP based<br />

runtime hosts.<br />

If GLB.RECOVER has a value of 1, the Report has been restarted. If the Report includes<br />

CRITICAL.POINT; commands, it will have been recovered to the last executed Critical<br />

Point, and the Critical Point data will have been retrieved. The Report logic should perform<br />

any reinitialization and reset GLB.RECOVER to zero (its default value).<br />

For an MCP based <strong>LINC</strong> System, to disable the <strong>LINC</strong> recovery and permit your Report logic<br />

to handle the recovery, set GLB.RECOVER to 9.<br />

LENGTH = 1 EDIT = N<br />

GLB.REPGENDATE<br />

GLB.REPGENDATE is a read-only System Data item that can be accessed in Report logic<br />

to obtain the generation date of the Report, in the date format CCYYMMDD. Together with<br />

GLB.REPGENTIME, it gives a generation timestamp for the current (running) version of a<br />

<strong>LINC</strong> Report.<br />

GLB.REPGENDATE is not implemented in LDA Run Time.<br />

LENGTH = 8 EDIT = N<br />

GLB.REPGENTIME<br />

GLB.REPGENTIME is a read-only System Data item that can be accessed in Report logic to<br />

obtain the generation time of the Report.<br />

The four-digit time value has the format HHMM, where HH represents hours (in 24-hour<br />

format), and MM represents minutes. For example, 2158 is 9:58 pm, and 0001 is one<br />

minute past midnight. Together with GLB.REPGENDATE, it gives a generation timestamp<br />

for the current (running) version of a <strong>LINC</strong> Report.<br />

GLB.REPLANG<br />

GLB.REPGENTIME is not implemented in LDA Run Time.<br />

LENGTH = 4 EDIT = N<br />

In Report logic, the value of this read-only System Data item gives the language name for<br />

which the Report was generated.<br />

GLB.REPLANG is not implemented in LDA Run Time.<br />

v 2-49


System Data Item Descriptions<br />

LENGTH = 10 EDIT = A<br />

GLB.REPNAME<br />

GLB.REPORT<br />

In Report logic, the value of this read-only System Data item gives the name of the Report.<br />

LENGTH = 10 EDIT = A<br />

GLB.REPORT is a System Data item that is included in all Event records, for use as a status<br />

flag in Reports. Its value can be changed by using the FLAG; command.<br />

This item is provided for general-purpose developer use. It is not used or affected by any<br />

automatic <strong>LINC</strong> processes.<br />

LENGTH = 1 EDIT = A<br />

GLB.REPUNIQUE<br />

Note: This System Data item is valid for MCP based <strong>LINC</strong> Systems only.<br />

GLB.REPUNIQUE is a read-only System Data item automatically set by the <strong>LINC</strong> System to<br />

provide a unique number for each Report at run time. Use of this System Data item is not<br />

recommended and the preferred method is to use the RUN; command with the PA;<br />

parameter.<br />

If the Report is initiated from the Report Initiation Program (RIP) you must supply the<br />

unique number that has to be passed to the Report in GLB.REPUNIQUE. By matching this<br />

number against the first 15 characters of the GLBPAK filename, the <strong>LINC</strong> System identifies<br />

the GLBPAK filename to RIP. The first 15 characters of GLBPAK filename must be numeric.<br />

Enter the Report name and the unique number for GLB.REPUNIQUE as follows:<br />

<br />

<br />

Here report is the name of the Report, and number is the unique 15-digit number. GLBPAK<br />

must have a filename that contains only numbers for the first 15 characters.<br />

LENGTH = 15 EDIT = N<br />

2-50 v


GLB.REPVERSION<br />

System Data Item Descriptions<br />

GLB.REPVERSION is a read-only System Data item that can be accessed in Report logic to<br />

obtain the current version number of a Report. This number is incremented every time you<br />

generate the Report. To cause this number to be reset to one when you generate your <strong>LINC</strong><br />

system with a new version id, enter Y in the Reset Report counts on system generate<br />

field on the Change Control Options screen. You can also change it directly by using the<br />

Supervisor RESET VER command.<br />

GLB.REQUEST<br />

GLB.REPVERSION is not implemented in LDA Run Time.<br />

LENGTH = 4 EDIT = N<br />

GLB.REQUEST is a read-only System Data item for use in Pre-Screen Ispec logic and<br />

applies to Ispecs and Global Logics. It contains the value Y if the Ispec format was<br />

requested from page 2 of the terminal, or a space if the Ispec format was requested from<br />

logic.<br />

GLB.ROCFLAG<br />

LENGTH = 1 EDIT = A<br />

GLB.ROCFLAG is a read-only System Data item used in Ispec and Report logic. It shows<br />

whether or not <strong>LINC</strong> Report Output Control System (ROC) is set. It contains the value R if<br />

ROC is set, or a space if ROC is not set.<br />

LENGTH = 1 EDIT = A<br />

GLB.SAVEDAYS<br />

GLB.SAVEDAYS holds the number of days that Report output is to be retained by the <strong>LINC</strong><br />

Report Output Control System (ROC). The output will be deleted when this time has<br />

elapsed, and when there are no outstanding requests for it to be printed. A value of 99<br />

means the output is retained indefinitely.<br />

GLB.SAVEDAYS has no effect for Direct Reports (and MCP based non-ROC Reports), and<br />

is invalid in Ispec logic. It is not implemented in LDA Run Time.<br />

v 2-51


System Data Item Descriptions<br />

GLB.SAVEDAYS can be used in the form GLB.SAVEDAYSx, where x is the one-character<br />

Shadow Report designator (A through Z).<br />

Note: GLB.SAVEDAYSx is not implemented in LDA Run Time.<br />

Once output from a Report has been produced, the value of GLB.SAVEDAYS remains until<br />

the next RELEASE; command (or end-of-job), when the most recent change to its value<br />

then applies.<br />

GLB.SAVEDAYS has a default of zero. If sufficient information is provided to print the data<br />

(that is, if the System Data items GLB.DEVICE and GLB.STN both have non-space values,<br />

or GLB.DEVICE has the value LP), the Report output will be removed after printing. If<br />

there is insufficient information to automatically print the data, Report output will be<br />

retained until the end of the current day. Reports are deleted after midnight.<br />

LENGTH = 2 ED = N<br />

GLB.SECONDARY<br />

GLB.SELF<br />

Note: This System Data item is valid only for MCP based Report logic.<br />

GLB.SECONDARY is a read-only System Data item that is used with the Remote Database<br />

facility (RDB) to detect when the Report is running against the Secondary database. It can<br />

have the following values:<br />

$ N indicates the Primary database: read or update access is permitted.<br />

$ Y indicates the Secondary database: read-only access is permitted.<br />

LENGTH = 1 ED = A<br />

For an OS 2200 based <strong>LINC</strong> System, GLB.SELF is a read-only System Data item containing<br />

the transaction id of the current <strong>LINC</strong> System.<br />

For an MCP based or UNIX <strong>LINC</strong> System, GLB.SELF is a read-only System Data item<br />

containing the database name of the system currently executing.<br />

After using the System Data item GLB.DESTINATION to target an intersystem External<br />

Automatic Entry, you can use GLB.SELF to restore GLB.DESTINATION.<br />

LENGTH = 10 EDIT = A<br />

2-52 v


GLB.SELFDB<br />

GLB.SELFENV<br />

System Data Item Descriptions<br />

Note: This differs from the GLB.SELF System Data item only for an OS 2200 based<br />

<strong>LINC</strong> System.<br />

GLB.SELFDB is a read-only System Data item containing the database name of the current<br />

<strong>LINC</strong> System.<br />

After using the SET.DB; command to set the target database for interdatabase access<br />

(OS 2200 based <strong>LINC</strong> Systems only), GLB.SELFDB can be used to reset back to the current<br />

database, again using the SET.DB; command.<br />

LENGTH = 10 EDIT = A<br />

GLB.SELFENV is a read-only System Data item for use with intersystem External<br />

Automatic Entries sent from a <strong>LINC</strong> System in an OS 2200 based or UNIX environment.<br />

$ For an OS 2200 based <strong>LINC</strong> System, it contains the name of the <strong>LINC</strong> environment.<br />

$ For a UNIX <strong>LINC</strong> System, it contains the ORACLE SID (or Griffin Universe) of the<br />

<strong>LINC</strong> database for the current <strong>LINC</strong> System.<br />

$ For MCP based <strong>LINC</strong> Systems, it is set to spaces.<br />

$ Not implemented in LDA Run Time.<br />

For more details, see your OS 2200 Based <strong>LINC</strong> Administration and Operations Guide.<br />

LENGTH = 10 EDIT = A<br />

GLB.SELFHOST<br />

GLB.SELFHOST is a read-only System Data item that contains the name of the host on<br />

which the current <strong>LINC</strong> System is running (that is, the name used to identify that host<br />

computer in a communications network).<br />

GLB.SELFHOST is not implemented in LDA Run Time.<br />

LENGTH = 17 EDIT = A<br />

v 2-53


System Data Item Descriptions<br />

GLB.SELFXNID<br />

GLB.SHADOW<br />

GLB.SOURCE<br />

GLB.SPACES<br />

Note: This System Data item is valid only for OS 2200 based Ispec logic.<br />

GLB.SELFXNID is a read-only System Data item that contains the tranid of the <strong>LINC</strong><br />

System.<br />

LENGTH = 6 EDIT = A<br />

GLB.SHADOW is a read-only System Data item that can be accessed in Report Frame logic<br />

to indicate the Shadow Report currently being output. It contains the one-character<br />

Shadow Report designator (A through Z). If no Shadow Report is being output,<br />

GLB.SHADOW contains a space.<br />

LENGTH = 1 EDIT = A<br />

GLB.SOURCE is a read-only System Data item that can be accessed in Ispec logic to<br />

indicate the message type. This is a value derived from the source of input of a record to<br />

the database.<br />

Valid values are shown in the following table.<br />

Value Source of Record<br />

G Generalized <strong>LINC</strong> Interface (GLI)<br />

O Offline Input<br />

N(orspace) Page 2 format request<br />

T Standard terminal transaction (Also, for MCP based<br />

External Autos or OLTP Autos)<br />

For LDA Run Time, GLB.SOURCE defaults to T, and its value is ignored.<br />

LENGTH = 1 EDIT = A<br />

GLB.SPACES is a System Data item that can be used in place of a literal value of spaces<br />

(for comparing, ordering and sorting purposes).<br />

2-54 v


System Data Item Descriptions<br />

GLB.SPACES can be used to set any alphanumeric data item, regardless of length, to<br />

spaces. It can also be used in conditions.<br />

GLB.STALANG<br />

GLB.STATION<br />

GLB.STATUS<br />

Note: The length defaults to 1 in complex MOVE; commands.<br />

LENGTH = Indefinite EDIT = A<br />

Caution<br />

For an OS 2200 based <strong>LINC</strong> System, moving GLB.SPACES to a Group Setup Data<br />

item or a Group Global Setup Data item that contains numeric data items may give<br />

erroneous results if the numeric data items are subsequently used in computation.<br />

GLB.STALANG is a read-only System Data item that can be accessed in Ispec logic to<br />

indicate the language currently in use by the initiator of the current transaction. The<br />

language can be changed by altering the value of the System Data item GLB.LANGUAGE in<br />

Ispec logic, or by using the :SLA <strong>LINC</strong> System (colon) command at run time.<br />

GLB.STALANG is not implemented in LDA Run Time.<br />

LENGTH = 10 ED = A<br />

This is a synonym for GLB.STN. See GLB.STN for more details.<br />

GLB.STATUS is used to indicate the result status of some logic commands. It can contain<br />

one of a range of values, depending upon the circumstances in which it is set. The most<br />

common values are spaces (when there is no error), and five asterisks (*****) when there<br />

is an error.<br />

When GLB.STATUS is set<br />

GLB.STATUS can be set (to a non-space value) in the following situations:<br />

$ LOOK.UP; and DETERMINE; command variants find no records.<br />

$ A DATE.CONVERT; command fails.<br />

$ Arithmetic overflow occurs.<br />

$ An invalid subscript is used when accessing an array.<br />

v 2-55


System Data Item Descriptions<br />

$ An invalid complex MOVE; command is attempted.<br />

$ An Automatic Entry within Ispec logic fails.<br />

$ An External Automatic Entry (between <strong>LINC</strong> Systems) fails.<br />

$ An External Automatic Entry is rejected by the destination <strong>LINC</strong> System.<br />

$ An ACCESS.EXTERNAL; command fails (MCP based <strong>LINC</strong> Systems only).<br />

$ A START; command fails, and the Report is unable to be started.<br />

$ A RUN; command fails, and the Report is unable to be started.<br />

$ A MATCH; command finds both Extract files empty.<br />

$ A WAKE.UP; command with the PARAMETER option cannot pass the parameter to<br />

the Report.<br />

Note: Some <strong>LINC</strong> commands do not automatically set GLB.STATUS but you are able<br />

to obtain a result in GLB.STATUS by using the GLB.STATUS; command in<br />

conjunction with those commands. The arithmetic commands, ADD;<br />

SUBTRACT; MULTIPLY; and DIVIDE; are of this type. See ‘‘GLB.STATUS (GS)’’<br />

in this manual.<br />

When using arrays, do not use GLB.STATUS for anything other than index<br />

checks. Instead, use the GLB.STATUS extension to the DC; command.<br />

See the relevant commands for more details of the values to which GLB.STATUS may be<br />

set.<br />

When GLB.STATUS is Initialized<br />

GLB.STATUS is set to the value of the System Data item GLB.SPACES before the following<br />

commands are executed:<br />

$ ACCESS.EXTERNAL (MCP based <strong>LINC</strong> Systems only)<br />

$ AUTO; WRITE, and AUTO; WRITE&CLEAR commands<br />

$ DETERMINE; commands<br />

$ LOOK.UP; commands (except for the LOOK.UP; command variant in Ispec logic)<br />

$ RUN; command<br />

$ START; command<br />

$ MATCH; command<br />

$ WAKE.UP; command<br />

Using the GLB.STATUS; Command<br />

Instead of using the GLB.STATUS System Data item, you can explicitly direct the<br />

command status result to a specific data item, by appending the GLB.STATUS; command<br />

to a logic command, where valid. For more details, see ‘‘GLB.STATUS (GS)’’ in this manual.<br />

2-56 v


GLB.STN<br />

In Ispecs<br />

Overwriting GLB.STATUS Values<br />

System Data Item Descriptions<br />

The value of GLB.STATUS can be changed in a DO.WHEN; command. You should exercise<br />

caution when coding complex decision logic that involves more than one DO.WHEN;<br />

command.<br />

Consider the following logic:<br />

<br />

<br />

You may be checking the result of a previous action in the first DO.WHEN; command, but<br />

the test on an array item in the second DO.WHEN; command also affects GLB.STATUS,<br />

and will overwrite the GLB.STATUS value that you intended to check.<br />

LENGTH = 5 EDIT = A<br />

GLB.STN (or GLB.STATION, which is a synonym) applies to all hosts, Ispecs and Reports.<br />

LENGTH = 17 EDIT = A<br />

For details of reference station names, see your MCP Based <strong>LINC</strong> Administration and<br />

Operations Guide.<br />

In Ispecs, the originator of the current transaction is identified by GLB.STN as follows.<br />

Transaction From ... GLB.STN Value<br />

Standard user terminal $ MCP based <strong>LINC</strong> System reference station<br />

name<br />

$ OS 2200 based <strong>LINC</strong> System user station<br />

PID<br />

$ UNIX user id<br />

External Automatic Entry Identifier for terminal originating external<br />

Automatic Entry:<br />

$ MCP based <strong>LINC</strong> System reference station<br />

name<br />

$ OS 2200 based <strong>LINC</strong> System user station<br />

PID<br />

$ UNIX user id<br />

continued<br />

v 2-57


System Data Item Descriptions<br />

In Reports<br />

continued<br />

Transaction From ... GLB.STN Value<br />

OLTP GLB.OLTP<br />

An offline source OFF<br />

Generalized <strong>LINC</strong> Interface program GLI<br />

LDA Run Time User id<br />

In Reports, GLB.STN contains the Report destination.<br />

GLB.STN can be used for ROC Shadow Reports, in the form GLB.STNx (not applicable for<br />

non ROC Reports), where x is the one-character Shadow Report designator (A through Z).<br />

Changing the value of GLB.STN causes a release of the current print file. The value of<br />

GLB.STN is stored when a Frame is printed. This value is later compared to the current<br />

value at the next PRINT.FRAME; command, to determine if a release is required. The<br />

release is prompted by that comparison, not by a MOVE; into the GLB.STN data item.<br />

Default GLB.STN values for each device type (GLB.DEVICE value) and runtime host type<br />

are shown in the following table.<br />

GLB.DEVICE Default for GLB.STN Runtime Host Types<br />

DI GLB.SPACES All<br />

EX GLB.SPACES All (ROC only)<br />

LP GLB.SPACES All<br />

RP GLB.ASCPRT MCP based <strong>LINC</strong> Systems only<br />

TP GLB.ASCPRT All<br />

VD GLB.INITSTN All<br />

Spaces GLB.SPACES All (ROC only)<br />

Further specific details for each host type are given in the following subsections.<br />

MCP environment<br />

GLB.STN is optional for ROC line printer (LP) Reports. If it is used, it enables a Report to<br />

specify a particular line printer; for example, LP10 or LP11.<br />

2-58 v


System Data Item Descriptions<br />

If the Report is run unattached, and GLB.ASCPRT or GLB.STN is not defined in the<br />

<strong>LINC</strong>/NET file, the Report will go to end-of-job.<br />

For ROC Reports where GLB.DEVICE contains EX, an asterisk (*) in GLB.STN indicates<br />

that the Extract file name is specified in GLB.TITLE.<br />

For specific information on MCP based stations for PowerClient, see your MCP Based<br />

<strong>LINC</strong> Administration and Operations Guide.<br />

OS 2200<br />

For Reports directed to Line Printers, the name of the symbiont queue can be specified by<br />

moving it to GLB.STN. If GLB.STN contains spaces, the output is directed to the default<br />

symbiont queue.<br />

If GLB.DEVICE contains TP, then the destination of the Report must be a station (PID).<br />

UNIX<br />

For Reports directed to LP or TP, GLB.STN contains the piped alias, and for Reports<br />

directed to EX it contains the file name. GLB.STN is not used for device types VD or DI.<br />

LDA Run Time<br />

GLB.STNHOST<br />

GLB.STYLE<br />

GLB.STN must be set by the Report to indicate the output device.<br />

Note: This System Data item is valid for MCP based <strong>LINC</strong> Systems only.<br />

GLB.STNHOST is used in BNA V1 networks. When a terminal is connected to a <strong>LINC</strong><br />

System running on another host processor, the terminal name is prefixed by the name of<br />

the host. GLB.STNHOST holds the name of this host, and the terminal name is held in<br />

GLB.STN for Ispec logic, and in GLB.INITSTN for Report logic.<br />

LENGTH = 17 EDIT = A<br />

GLB.STYLE is a read-only System Data item that contains the type of terminal or program<br />

from which a transaction originated. Valid values for each runtime host type are shown in<br />

the following table.<br />

v 2-59


System Data Item Descriptions<br />

GLB.SUBSYS<br />

GLB.STYLE (Terminal Type) Host Types<br />

ET1100 MCP based<br />

MT983 MCP based<br />

LT300 OS 2200 based<br />

UTS20L, UTS20R OS 2200 based<br />

UTS20, UTS30, UTS40, UTS60, UTS60I OS 2200 based<br />

DS7 OS 2200 based<br />

SVT1120 OS 2200 based<br />

IBM3270, IBM3178, IBM3278, IBM3279 OS 2200 based<br />

SNA3270 OS 2200 based and UNIX<br />

IBM3270 All<br />

NOFORM (NOF interface program or WDP) All<br />

OLTP All<br />

GLB.STYLE can be used with GLB.GUI to determine where a particular transaction<br />

originated. If GLB.STYLE is set to NOFORM and GLB.GUI is Y, the transaction has come<br />

from DW/PCE. Any other combination means that the transaction has come from the NOF<br />

program.<br />

In LDA, GLB.STYLE can be initialized to a <strong>LINC</strong>.INI parameter. However, if input is<br />

received from a NOF program, GLB.STYLE cannot be changed.<br />

LENGTH = 10 EDIT = A<br />

Note: This System Data item is valid only for MCP based Ispec logic.<br />

This read-only System Data item contains the number of the particular <strong>LINC</strong> Update<br />

program you are in. It is accessible from Ispec logic only, and corresponds to the <strong>LINC</strong><br />

Subsystem for the current Ispec.<br />

For OS 2200 based and UNIX runtime hosts, the value defaults to zero.<br />

LENGTH = 2 EDIT = N<br />

2-60 v


GLB.SYSGENDATE<br />

System Data Item Descriptions<br />

GLB.SYSGENDATE is a read-only System Data item that relates to version control. It gives<br />

the <strong>LINC</strong> System generation date, in the format CCYYMMDD. Together with<br />

GLB.SYSGENTIME, it provides the date and time the current version of your <strong>LINC</strong> System<br />

was generated. It is not updated for a syntax-only generate.<br />

Note: For MCP based <strong>LINC</strong> Systems only, if your latest generate has only compiled<br />

Subsystems in which there have been some Ispec changes, current version<br />

information will only be applied to those Subsystems that have been compiled.<br />

Before generating, mark all Subsystems for generate in order to propagate the<br />

latest version information across your whole system.<br />

GLB.SYSGENDATE is not implemented in LDA Run Time.<br />

LENGTH = 8 EDIT = N<br />

GLB.SYSGENTIME<br />

GLB.SYSGENTIME is a read-only System Data item that relates to version control. It gives<br />

the <strong>LINC</strong> System generation time, in the 24-hour format HHMM. For example, 21:30 is<br />

9:30 pm, and 00:01 is one minute past midnight. Together with GLB.SYSGENDATE, it<br />

provides the date and time of the current version of your system was generated. It is not<br />

updated for a syntax-only generate.<br />

Note: For an MCP based <strong>LINC</strong> System only, if your latest generate has only compiled<br />

Subsystems in which there have been some Ispec changes, current version<br />

information will only be applied to those Subsystems that have been compiled.<br />

Before generating, mark all Subsystems for generate in order to propagate the<br />

latest version information across your whole system.<br />

GLB.SYSGENTIME is not implemented in LDA Run Time.<br />

LENGTH = 4 EDIT = N<br />

v 2-61


System Data Item Descriptions<br />

GLB.SYSVERSION<br />

GLB.TASK<br />

GLB.SYSVERSION is a read-only System Data item that gives the version number of the<br />

current <strong>LINC</strong> System. This number is incremented by one every time you generate your<br />

Specification (except for syntax-only generates). You may cause this number to be reset<br />

when you generate your Specification with a new version id, by entering Y in the Reset all<br />

version counts on id change field on the Change Control Options screen, or you can<br />

change it directly by using the Supervisor RESET VER command.<br />

Note: For an MCP based <strong>LINC</strong> System only, if your latest generate has only compiled<br />

Subsystems in which there have been some Ispec changes, current version<br />

information will only be applied to those Subsystems that have been compiled.<br />

Before generating, mark all Subsystems for generate in order to propagate the<br />

latest version information across your whole system.<br />

GLB.SYSVERSION is not implemented in LDA Run Time.<br />

LENGTH = 4 EDIT = N<br />

GLB.TASK can be used to provide a result for the running of a Report.<br />

For an MCP based <strong>LINC</strong> System<br />

GLB.TASK is accessible from a WFL job, and its value can be used to control subsequent<br />

WFL execution.<br />

If the Report is run through the batch Report Initiation Program (RIP), and a value is<br />

moved into GLB.TASK, the value returned to RIP at end-of-task is TASKVALUE.<br />

A MOVE; of a value to GLB.TASK causes the TASKVALUE attribute to be set immediately.<br />

This occurs for a MOVE; logic command only; any other command that has GLB.TASK as a<br />

receiving field results in GLB.TASK being set only at the end of the Report.<br />

GLB.TASK is zero unless it is explicitly given a value.<br />

Caution<br />

GLB.TASK should not be set to 1, as this value is used specifically to indicate a<br />

Report runtime error, for example, divide by zero or DMSII errors.<br />

LENGTH = 2 EDIT = N<br />

2-62 v


For 2200 Series<br />

System Data Item Descriptions<br />

The value of GLB.TASK is stored in T3 of the Run Condition Word and can be tested later<br />

in the same runstream by a succeeding task.<br />

Note: <strong>LINC</strong> Reports generated as <strong>LINC</strong> Subroutines cannot use this System Data<br />

item.<br />

If you use a MOVE; command to move a value to GLB.TASK, T3 of the Run Condition Word<br />

is set immediately. If you use any other command that has GLB.TASK as a receiving field,<br />

GLB.TASK is set only at the end of the Report.<br />

If the <strong>LINC</strong> Report terminates normally, the error status of the current task is cleared and<br />

the value in GLB.TASK is stored in T3 of the Run Condition Word. If the <strong>LINC</strong> Report<br />

terminates abnormally, the error status of the current task remains as it was set in T3 of<br />

the Run Condition Word.<br />

GLB.TASK is zero unless it is explicitly given a value.<br />

For more information on Run Condition Words, see your OS 2200 Based <strong>LINC</strong><br />

Administration and Operations Guide.<br />

LENGTH = 2 EDIT = N<br />

For UNIX<br />

For Reports initiated using the runrep shell script, you can determine the value of<br />

GLB.TASK from the return code of a <strong>LINC</strong> Report, and use that information to control<br />

dependent actions. The Report will return a value of zero through 99 to indicate the Report<br />

has successfully completed, or 100 through 199 to indicate that it has failed.<br />

You should set the value of GLB.TASK to a number in the range 60 through 99. This is<br />

because UNIX returns values in the ranges 1 through 31 and 129 through 159 if a Report is<br />

terminated by using a UNIX kill or a :TER <strong>LINC</strong> System command.<br />

For a description of the use of GLB.TASK for UNIX <strong>LINC</strong> System Reports, see your UNIX<br />

<strong>LINC</strong> Administration and Operations Guide.<br />

GLB.TASK defaults to zero.<br />

LENGTH = 2 EDIT = N<br />

For LDA<br />

Moving a value to GLB.TASK causes the task value to be set. This value can then be tested<br />

by the program initiator. This value is written to ERRLOG.TXT at the completion of a<br />

report or at the end of an online session. This value is also written to the log file if logging<br />

is enabled.<br />

The initial value of GLB.TASK is zero.<br />

v 2-63


System Data Item Descriptions<br />

GLB.TIME<br />

GLB.TITLE<br />

LENGTH = 2 EDIT = N<br />

GLB.TIME is a read-only System Data item that gives the system time in the form<br />

HHMMSSTT (hours, minutes, seconds, and hundredths of seconds). If debug date and time<br />

is activated, it contains the debug time. Its value is set at the beginning of an Ispec or<br />

Report. It is not changed during each Ispec transaction, and in a Report, it is only updated<br />

when SLEEP; or CRITICAL.POINT; commands are executed.<br />

LENGTH = 8 EDIT = N<br />

GLB.TITLE contains a name used for Report output. A value in GLB.TITLE overrides the<br />

default name for a Report.<br />

GLB.TITLE is valid only in Report logic. It can be used for Shadow Reports in the form<br />

GLB.TITLEx, where x is the one-character Shadow Report designator (A through Z).<br />

Once output from a Report has been produced, the value of GLB.TITLE remains until the<br />

next RELEASE; command or end-of-job, when the most recent change to its value then<br />

applies.<br />

For related information, see also ‘‘GLB.FORMID’’.<br />

Further specific details for each host type are given in the following subsections.<br />

For an MCP based <strong>LINC</strong> System<br />

The default for the primary Report is PRINT. The default for Shadow Reports is PRINTx,<br />

where x is the Shadow Report designator (A through Z).<br />

MCP based Non-ROC and ROC Direct Reports<br />

The :BDD <strong>LINC</strong> System (colon) command can also be used to affect names used for Report<br />

output directed to Line Printers, or Remote Printers. (Also applies to ATTRIBUTE;<br />

BDNAME.)<br />

If a :BDD command is used with a GLB.TITLE value, the name of the backup disk file will<br />

be:<br />

<br />

2-64 v


System Data Item Descriptions<br />

Here bdd is the name set by the :BDD <strong>LINC</strong> System command, mix is the mix number, and<br />

title is the value of GLB.TITLE. The slash (/) character is a node delimiter, and cannot be<br />

used as a file name character when using GLB.TITLE.<br />

Notes:<br />

$ If the Report is a ROC Direct Report and the value of GLB.FILEINFO is Y, then the<br />

value of GLB.TITLE will be ignored.<br />

$ Using GLB.TITLE with the USERBACKUPNAME attribute in conjunction with<br />

CRITICAL.POINT or RELEASE; commands can give unpredictable results. For<br />

further details, see your MCP Based <strong>LINC</strong> Administration and Operations Guide.<br />

In Direct ROC Reports, GLB.TITLE is also used (as title) in the NOTE attribute of created<br />

printer backup files, in the form:<br />

<br />

MCP based ROC Standard Reports<br />

In standard ROC <strong>LINC</strong> Systems, GLB.TITLE is used as follows:<br />

$ In ROC Report and Output Request menus of files available<br />

$ In the NOTE attribute of created printer backup files, in the form (where title is the<br />

value of GLB.TITLE):<br />

<br />

$ In the REQUESTNAME attribute of the PRINTS/REPRINTS menus of print files, in the<br />

form (where title is the value of GLB.TITLE):<br />

<br />

$ In the printer backup file title, in the following form, where word is the first word of<br />

GLB.TITLE, and value is a three digit number:<br />

<br />

If GLB.DEVICE has a value of EX and the value of GLB.STN is an asterisk (*), the name to<br />

be used for the extracted file is the value of GLB.TITLE. This can be overridden on the<br />

ROC Write screen, by entering a value in the Filename field.<br />

Note: ROC uses the first word in GLB.TITLE as part of the print file name. Ensure<br />

that this word is in uppercase and that it only contains valid file name<br />

characters.<br />

v 2-65


System Data Item Descriptions<br />

OS 2200<br />

GLB.TITLE contains the name of the print file for Direct Reports. The default for the<br />

primary Report is $n, and for Shadow Reports it is $xn, wherex is the Shadow Report<br />

designator and n is a generated random number. You can move an alternative print file<br />

name to GLB.TITLE if required.<br />

If you are using the USERPRT facility, GLB.TITLE returns different values. When you have<br />

received the expected status from USERPRT, (spaces in CALL-FLAG) GLB.TITLE will<br />

contain PRINT for a primary Report, and PRINTx for Shadow reports (where PRINTx is<br />

the one-character Shadow Report designator).<br />

UNIX<br />

GLB.TODAY<br />

GLB.TITLE contains the name of the print file for Direct Reports. The default value for<br />

GLB.TITLEx is:<br />

<br />

Here x is the Shadow Report name, pid is the process id of the Report, and release is the<br />

number incremented for each release. The default value for GLB.TITLE is Ppid.1. The<br />

default location is $TMPDIR.<br />

If the full pathname is not specified, the file will be created in the system directory.<br />

LENGTH = 60 EDIT = A (All host types)<br />

A synonym for TODAY. For more details, see ‘‘TODAY’’ and ‘‘TODAYS-DATE-NUM’’, later<br />

in this section.<br />

LENGTH = 7 EDIT = A<br />

GLB.TODAYS-DATE-NUM<br />

A synonym for TODAYS-DATE-NUM. For more details, see ‘‘TODAY’’ and<br />

‘‘TODAYS-DATE-NUM’’, later in this section.<br />

LENGTH = 6 EDIT = N<br />

GLB.TODAYS-DAY<br />

A synonym for TODAYS-DAY. For more details, see ‘‘TODAY’’ and ‘‘TODAYS-DATE-NUM’’,<br />

later in this section.<br />

LENGTH = 2 EDIT = N<br />

2-66 v


GLB.TODAYS-MONTH<br />

A synonym for TODAYS-MONTH. For more details, see ‘‘TODAY’’ and<br />

‘‘TODAYS-DATE-NUM’’, later in this section.<br />

LENGTH = 3 EDIT = A<br />

GLB.TODAYS-MONTH-NUM<br />

System Data Item Descriptions<br />

A synonym for TODAYS-MONTH-NUM. For more details, see ‘‘TODAY’’ and<br />

‘‘TODAYS-DATE-NUM’’, later in this section.<br />

LENGTH = 2 EDIT = N<br />

GLB.TODAYS-YEAR<br />

GLB.TOTAL<br />

A synonym for TODAYS-YEAR. For more details, see ‘‘TODAY’’ and<br />

‘‘TODAYS-DATE-NUM’’, later in this section.<br />

LENGTH = 2 EDIT = N<br />

GLB.TOTAL is a System Data item that is used in conjunction with the DATE.CONVERT;<br />

and DETERMINE; TOTAL logic commands. For more details, see the descriptions of these<br />

commands in this manual.<br />

GLB.TPGROUP<br />

LENGTH = 12 EDIT = + DECIMALS = 2<br />

Note: This System Data item is valid only for MCP based non-ROC Reports. It is not<br />

applicable for devices of type RP.<br />

This System Data item enables you to direct Report output to a predefined terminal printer<br />

group. The valid values of GLB.TPGROUP are contained in the following table.<br />

Value Output<br />

Valid group name Sent to the terminal printer group<br />

Not spaces Sent to TPS backup file<br />

spaces Determined by other settings<br />

v 2-67


System Data Item Descriptions<br />

To force the Report output to a terminal printer group (regardless of other settings), prior<br />

to the first PRINT.FRAME; command, move the name of a group (defined in the<br />

<strong>LINC</strong>16TP/GROUPS file) to GLB.TPGROUP.<br />

For details of using GLB.TPGROUP, see your MCP Based <strong>LINC</strong> Administration and<br />

Operations Guide.<br />

LENGTH = 10 EDIT = A<br />

GLB.TRANSTATE<br />

GLB.UNIQUE<br />

GLB.USER<br />

Note: This System Data item is valid for MCP based Report logic only.<br />

GLB.TRANSTATE is a read-only System Data item which is automatically set by the <strong>LINC</strong><br />

System to indicate when a Report is in transaction state at run time.<br />

If your Report is in transaction state, GLB.TRANSTATE is set to 1, otherwise it is set to<br />

zero.<br />

LENGTH = 1 EDIT = N<br />

GLB.UNIQUE is a read-only System Data item that is automatically incremented by the<br />

<strong>LINC</strong> System for every transaction except Automatic Entries. It is accessible in Ispec logic<br />

only, and provides a unique number for each transaction.<br />

For OS 2200 based and UNIX environments, GLB.UNIQUE is stored in the database.<br />

For an MCP based <strong>LINC</strong> System, GLB.UNIQUE is stored in a file on your Dictionary pack,<br />

with a duplicate on your Audit pack as a backup. For further details on GLB.UNIQUE and<br />

changing the current value in an MCP environment, see your MCP Based <strong>LINC</strong><br />

Administration and Operations Guide.<br />

LENGTH = 12 EDIT = N<br />

GLB.USER associates a user name with output from ROC Standard Reports, for security<br />

purposes. If the value is not set to spaces, Report output is visible only to users signed on<br />

with the user name contained in GLB.USER for the particular Report, or with a user name<br />

of spaces. GLB.USER is ignored for Direct Reports, and can only be used in Report logic.<br />

For an MCP based <strong>LINC</strong> System, user names are validated against usercodes.<br />

2-68 v


System Data Item Descriptions<br />

For a UNIX <strong>LINC</strong> System , user names must be in your password file. The superuser<br />

usercode has a user name of spaces.<br />

GLB.USER is not implemented in LDA Run Time.<br />

GLB.USER can be used for Shadow Reports, in the form GLB.USERx, where x is the<br />

one-character Shadow Report designator (A through Z).<br />

Once output from a Report has been produced, the value of GLB.USER remains as it is<br />

until the next RELEASE; command or end-of-job. At that point, the most recent change to<br />

GLB.USER then applies.<br />

GLB.USER has a default value of spaces.<br />

LENGTH = 17 EDIT = A<br />

(When identifying MCP based Terminal Printer Spooler users, only the first 10 characters<br />

of GLB.USER are used.)<br />

GLB.USERCODE<br />

GLB.USERCODE is a read-only System Data item that can be accessed in Ispec logic to<br />

identify the current user sign-on identifier, as follows:<br />

$ MCP based usercode<br />

$ OS 2200 based userid<br />

$ UNIX user name<br />

$ Network user id (in LDA Run Time)<br />

LENGTH = 17 EDIT = A<br />

GLB.VERSIONID<br />

GLB.VERSIONID is a read-only System Data item related to version control. It contains a<br />

short description of the current version of the <strong>LINC</strong> System, as entered on the Change<br />

Control Options screen for the <strong>LINC</strong> Specification.<br />

Note: For an MCP based <strong>LINC</strong> System only, if your latest generate has only compiled<br />

Subsystems in which there have been some Ispec changes, current version<br />

information will only be applied to those Subsystems that have been compiled.<br />

Before generating, mark all Subsystems for generate in order to propagate the<br />

latest version information across your whole system.<br />

GLB.VERSIONID is not implemented in LDA Run Time.<br />

LENGTH = 20 EDIT = A<br />

v 2-69


System Data Item Descriptions<br />

GLB.WORK<br />

GLB.WORK can be used in Ispec logic for transferring information between Ispecs. It is<br />

associated with each terminal user, and is unaffected by the activity of other terminals in<br />

the network.<br />

GLB.WORK is accessible from all Ispecs in the <strong>LINC</strong> System. Values are usually stored and<br />

retrieved from GLB.WORK by using either complex MOVE; commands or Group Setup<br />

Data items, or automatically by specifying a Global Setup Data item (GSD) or Group GSD<br />

name in the Global Work GSD field on the Primary Specification Options screen. For<br />

more details, see your <strong>LINC</strong> Generate Operations Guide.<br />

If the specified Global Work GSD contains initial values, these will be overwritten by the<br />

contents of GLB.WORK. Thus initial values used in this context have no effect. The<br />

contents of the Global Work GSD are not cleared by automatic logic, but are overwritten<br />

by the contents of GLB.WORK.<br />

You can preserve the contents of GLB.WORK between sessions by selecting the option<br />

Preserve Session Data on the Primary Specification Options screen. For more details,<br />

see your <strong>LINC</strong> Generate Operations Guide.<br />

You can also specify the length of GLB.WORK on the Primary Specification Options<br />

screen. The default minimum length is 128 characters. The maximum is 2000 characters.<br />

For LDA Run Time, the length is assumed to be greater than 24.<br />

GLB.WORK is recovered with the <strong>LINC</strong> System. It is maintained when GLB.ERROR is set<br />

to (*****), but not when Teach screens are displayed. GLB.WORK can be used by GLI<br />

input, although it is not available for Offline input or External Automatic Entries.<br />

GLB.YYMMDD<br />

GLB.ZEROS<br />

LENGTH = 128 to 2000 EDIT = A<br />

This read-only System Data item contains the current date (or the debug date, if debug date<br />

and time is activated) in YYMMDD format; for example, 980323, (for March 23, 1998).<br />

GLB.YYMMDD is accessible in Ispec logic only.<br />

LENGTH = 6 EDIT = N<br />

GLB.ZEROS is a read-only System Data item that can be used in place of a literal value of<br />

zero (for comparing, ordering, and sorting purposes) on any host type.<br />

2-70 v


GLB.2PC<br />

INPUT-DATE<br />

System Data Item Descriptions<br />

GLB.ZEROS can be used to compare or set any numeric data item, regardless of its length,<br />

to zero.<br />

Note: The length defaults to 1 in complex MOVE; commands.<br />

LENGTH = Indefinite EDIT = N<br />

GLB.2PC can be used to change the default transaction commit level for an External<br />

Automatic Entry. Its default value is set by the value in the Two phase commit field on<br />

the Primary Specification Options screen.<br />

$ To change to two-phase commit, set GLB.2PC to Y.<br />

$ To change to immediate commit, set GLB.2PC to N.<br />

GLB.2PC must be set before the first external Automatic Entry in a transaction.<br />

For OLTP external Automatic Entries, the setting of GLB.2PC remains in effect only for the<br />

current transaction.<br />

For Hub external Automatic Entries, a change to GLB.2PC from Y to N will be ignored, and<br />

GLB.2PC will be treated as Y for all subsequent external Automatic Entries in that<br />

transaction. A change from N to Y after the first external Automatic Entry will be<br />

recognized. This permits the user to perform an initial non-2PC external Automatic Entry<br />

inquiry and then to do a 2PC global transaction for the updates.<br />

In Reports, the transaction commit level can be changed after each CRITICAL.POINT; or<br />

SLEEP; command.<br />

In a chain of external Automatic Entries, the commit level will be that imposed by the<br />

ultimate originator.<br />

Note: For an MCP based <strong>LINC</strong> System, moving Y to this System Data item will have<br />

no effect if the REAPPLYCOMPLETED/INDEPENDENTTRANS option is set to<br />

N on your Global Database DASDL Options screen.<br />

For further details, see the description of external Automatic Entries in "Interfacing to<br />

Other Systems",inthe<strong>LINC</strong> Administration and Operations Guide for the relevant host<br />

type.<br />

LENGTH = 1 EDIT = A<br />

INPUT-DATE contains the date on which a transaction is initiated. Its value is derived from<br />

that displayed in the Ispec screen header, (not from the date of transmission). Therefore, if<br />

debug date and time is activated, it contains the debug date.<br />

v 2-71


System Data Item Descriptions<br />

ISPEC<br />

LAST-LINE<br />

MAINT<br />

INPUT-DATE is accessible in all Ispec logic (but not in Reports). It is included in Event<br />

records (but not Components).<br />

INPUT-DATE takes the form from specified in the Date format IN UK or US field on the<br />

Primary Specification Options screen.<br />

LENGTH = 7 EDIT = A<br />

ISPEC contains the name of the current Ispec, as displayed in the screen header line.<br />

ISPEC is included automatically with Event database records.<br />

LENGTH = 5 EDIT = A<br />

LAST-LINE contains the number of the current line in a Repeat.From Ispec. It is<br />

automatically included with the record in the <strong>LINC</strong> database. If the value 999 is entered<br />

from the screen, the transaction is ended.<br />

Notes:<br />

$ In Pre-Screen logic for Repeat. From Ispecs, LAST-LINE is always equal to 1.<br />

$ When LAST-LINE appears in a Painter SHOW command, it may be shown as<br />

USAGE; OUTPUT. This is not relevant, since LAST-LINE is a System Data item.<br />

LENGTH = 3 EDIT = N<br />

MAINT is used for maintaining Standard, Table, Direct, and Multiple Ordinate Memo<br />

Components. It has two functions:<br />

$ To enter an action for the Component, from the screen.<br />

$ To hold the status of the Component in the <strong>LINC</strong> database the first character of the<br />

relevant value of MAINT is stored in the database records (A, C,orD only.)<br />

Values (in English) that are valid in the MAINT field in the header line on a Component<br />

screen are listed in the following table. Further details of each action are given after the<br />

table.<br />

2-72 v


Action Purpose<br />

ADD Adds a record to the database.<br />

CHG Alters an existing record.<br />

System Data Item Descriptions<br />

DEL Logically deletes an existing record. (Not implemented in LDA Run Time)<br />

PUR Physically deletes an existing record.<br />

REC Recalls a record to the screen.<br />

FIR Recalls the first record in Ordinate order.<br />

LAS Recalls the last record in Ordinate order.<br />

NEX Recalls the next record. If no value is entered for the Ordinate, the first record in<br />

Ordinate order is retrieved.<br />

BAC Recalls the previous record.<br />

INQ Brings a record into memory (you must code logic to recall it to the screen).<br />

Note: The English values ADD, CHG, DEL, PUR and INQ are contained in the items<br />

GLB.ADD, GLB.CHG, GLB.DEL, GLB.PUR and GLB.INQ, respectively. These<br />

items may be translated. See the LLANGUAGE file details in the<br />

multiple-language section of your <strong>LINC</strong> Administration and Operations Guide<br />

for the relevant host type.<br />

Five values of MAINT (FIR, LAS, NEX, BAC, REC) provide recall functions, and have the<br />

following restrictions:<br />

$ They are only available if the AUTO.RECALL option has been set on the Component<br />

Options screen.<br />

$ They are not available if the Component has a Usage Output Ordinate.<br />

$ They do not change any values stored in the <strong>LINC</strong> database (including the value of<br />

MAINT).<br />

All of the values in the table are described in more detail in the following subsections.<br />

LENGTH = 3 (1 in the <strong>LINC</strong> database) EDIT = A<br />

ADD Value for MAINT<br />

A MAINT value of ADD (or its translated equivalent in GLB.ADD) is used to add new<br />

records.<br />

On the Ispec screen, this is the default value for the MAINT field.<br />

In the database, the record will have the value A.<br />

v 2-73


System Data Item Descriptions<br />

CHG Value for MAINT<br />

A MAINT value of CHG (or its translated equivalent in GLB.CHG) is used to modify an<br />

existing record that may have been recalled to the screen using one of the recall values<br />

above. When the transaction is submitted, fields that are blank on the screen are not<br />

changed in the <strong>LINC</strong> database (see the CLEAR.WHEN attribute).<br />

In the database, the record will have the value C.<br />

Note: When MAINT is set to CHG, Usage OUTPUT items that have the CLEAR.WHEN<br />

attribute set to zero are initialized to zero.<br />

DEL Value for MAINT<br />

A MAINT value of DEL (or its translated equivalent in GLB.DEL) is used to logically delete<br />

a record on the database. If a record is recalled to the screen by entering one of the recall<br />

values (REC, FIR, and so on), and the transaction is then resubmitted with DEL in the<br />

MAINT field, any non-blank fields will be stored on the <strong>LINC</strong> database.<br />

In the database, the record will have the value D. Such records are recalled using any of the<br />

recall options, and may have their deleted status removed by subsequently entering CHG<br />

(or its translated equivalent in GLB.CHG) in the MAINT field.<br />

(Records can be physically deleted by using the PURGE; command, or by entering PUR in<br />

the MAINT field.)<br />

This value is not implemented in LDA Run Time.<br />

PUR Value for MAINT<br />

A MAINT value of PUR (or its translated equivalent in GLB.PUR) is used to physically<br />

delete a record from the database. (In the database, the record no longer exists.) PUR is<br />

only valid if the Allow Purge Ispec option field is set to Y.<br />

If a record is recalled to the screen by using one of the recall values, and the transaction is<br />

resubmitted with PUR in the MAINT field, the record will be physically deleted.<br />

It is recommended (but not essential) that you first recall a record before it is purged in<br />

this way, to allow for visual checking.<br />

In an Automatic Entry, it is not valid to move a value of PUR into MAINT. This will set<br />

GLB.STATUS, and the Auto Entry will fail.<br />

REC Value for MAINT<br />

A MAINT value of REC brings a database Component record into memory, and displays<br />

the Usage Input-Output data items from that record.<br />

2-74 v


The following requirements and restrictions apply:<br />

System Data Item Descriptions<br />

$ REC is only available if the AUTO.RECALL option has been set on the Component<br />

Options screen.<br />

$ An Ordinate value must be specified.<br />

$ Numeric validation is performed, and so decimal points or separator characters must<br />

be included for numeric Ordinates.<br />

$ Trailing zeros must be included if the Ordinate contains decimals.<br />

$ Where the Ordinate is also a Keyword, leading zeros must be entered for numeric<br />

items.<br />

$ Pre-Screen, Pre-<strong>LINC</strong>, and Main logic are not performed.<br />

$ Logic dependent on a condition testing for a value of REC is never executed. For<br />

example:<br />

<br />

The recall function does not change any database values (including the value of MAINT) in<br />

the database records.<br />

FIR Value for MAINT<br />

A MAINT value of FIR retrieves the first Component record (the record with the lowest<br />

Ordinate value).<br />

This recall function does not change any database values, including the value of MAINT in<br />

the database records.<br />

For details of the requirements for the Ordinate value, see ‘‘REC Value for MAINT’’.<br />

LAS Value for MAINT<br />

A MAINT value of LAS retrieves the last Component record (the record with the highest<br />

Ordinate value).<br />

This recall function does not change any database values (including the value of MAINT) in<br />

the database records.<br />

For details of the requirements for the Ordinate value, see ‘‘REC Value for MAINT’’.<br />

NEX Value for MAINT<br />

A MAINT value of NEX retrieves the next Component record (the record with the<br />

next-highest Ordinate value to that specified). If no Ordinate value is entered, the first<br />

record is retrieved (the record with the lowest Ordinate value).<br />

v 2-75


System Data Item Descriptions<br />

This recall function does not change any database values (including the value of MAINT) in<br />

the database records.<br />

For details of the requirements for the Ordinate value, see ‘‘REC Value for MAINT’’.<br />

BAC Value for MAINT<br />

A MAINT value of BAC retrieves the previous Component record (the record with the<br />

next-lowest Ordinate value to that specified).<br />

This recall function does not change any database values (including the value of MAINT) in<br />

the database records.<br />

For details of the requirements for the Ordinate value, see ‘‘REC Value for MAINT’’.<br />

INQ Value for MAINT<br />

TODAY<br />

A MAINT value of INQ (or its translated equivalent in GLB.PUR) validates the Ordinate and<br />

brings a record into memory. Control is then passed to your <strong>LINC</strong> logic. Your <strong>LINC</strong> logic<br />

should then set up the screen appropriately, and perform the RECALL;.<br />

TODAY is a read-only System Data item that holds the date that an Ispec transaction was<br />

initiated, or the date a Report was started (or restarted after a SLEEP; command). If debug<br />

date and time is activated, it contains the debug date.<br />

TODAY is in the form of an alphabetic date. The format depends on that set on the Primary<br />

Specification Options screen (UK, US, or IN). The day number of the month can be<br />

accessed as TODAYS-DAY, the month as TODAYS-MONTH, and the year as<br />

TODAYS-YEAR.<br />

GLB.TODAY is a synonym for TODAY.<br />

LENGTH = 7 EDIT = A<br />

TODAYS-DATE-NUM<br />

TODAYS-DATE-NUM is a read-only System Data item that holds the date that an Ispec<br />

transaction was initiated, or the date a Report was started (or restarted after a SLEEP;<br />

command). If debug date and time is activated, it holds the debug date.<br />

This data item has a fixed format of MMDDYY (for example, 022598 for February 25, 1998).<br />

The month can be accessed as TODAYS-MONTH-NUM, the day as TODAYS-DAY, and the<br />

year as TODAYS-YEAR.<br />

2-76 v


TODAYS-DAY<br />

GLB.TODAYS-DATE-NUM is a synonym for TODAYS-DATE-NUM.<br />

System Data Item Descriptions<br />

Note: TODAYS-DATE-NUM causes a syntax error in LDA Run Time. Use<br />

GLB.TODAYS-DATE-NUM instead.<br />

For more details, see ‘‘TODAY’’, earlier in this section.<br />

LENGTH = 6 EDIT = N<br />

TODAYS-DAY is a read-only System Data item that holds the day part of the date that an<br />

Ispec transaction was initiated, or the date a Report was started (or restarted after a<br />

SLEEP; command). If debug date and time is activated, it holds the day part of the debug<br />

date.<br />

GLB.TODAYS-DAY is a synonym for TODAYS-DAY.<br />

Note: TODAYS-DAY causes a syntax error in LDA Run Time. Use GLB.TODAYS-DAY<br />

instead.<br />

For more details, see ‘‘TODAY’’, earlier in this section.<br />

LENGTH = 2 EDIT = N<br />

TODAYS-MONTH<br />

TODAYS-MONTH is a read-only System Data item that holds the three-character<br />

alphabetic month part of the date that an Ispec transaction was initiated, or the date a<br />

Report was started (or restarted after a SLEEP; command). If debug date and time is<br />

activated, it holds the month part of the debug date.<br />

GLB.TODAYS-MONTH is a synonym for TODAYS-MONTH.<br />

Note: TODAYS-MONTH causes a syntax error in LDA Run Time. Use<br />

GLB.TODAYS-MONTH instead.<br />

For more details, see ‘‘TODAY’’, earlier in this section.<br />

LENGTH = 3 EDIT = A<br />

TODAYS-MONTH-NUM<br />

TODAYS-MONTH-NUM is a read-only System Data item that holds the numeric month part<br />

of the date that an Ispec transaction was initiated, or the date a Report was started (or<br />

restarted after a SLEEP; command). If debug date and time is activated, it holds the<br />

numeric month part of the debug date.<br />

v 2-77


System Data Item Descriptions<br />

TODAYS-YEAR<br />

TRANNO<br />

GLB.TODAYS-MONTH-NUM is a synonym for TODAYS-MONTH-NUM.<br />

Note: TODAYS-MONTH-NUM causes a syntax error in LDA. Use<br />

GLB.TODAYS-MONTH-NUM instead.<br />

For more details, see ‘‘TODAY’’, earlier in this section.<br />

LENGTH = 2 EDIT = N<br />

TODAYS-YEAR is a read-only System Data item that holds the two-digit year part (within<br />

the century) of the date that an Ispec transaction was initiated, or the date a Report was<br />

started (or restarted after a SLEEP; command). If debug date and time is activated, it holds<br />

the year part of the debug date.<br />

GLB.TODAYS-YEAR is a synonym for TODAYS-YEAR.<br />

Note: TODAYS-YEAR causes a syntax error in LDA Run Time. Use<br />

GLB.TODAYS-YEAR instead.<br />

For more details, see ‘‘TODAY’’, earlier in this section.<br />

LENGTH = 2 EDIT = N<br />

TRANNO contains a number (in the range 000001 through 999999), that is incremented by<br />

one for each transaction, according to the rules shown in the following table.<br />

Host TRANNO is incremented for......<br />

MCP based Transactions that update the database or change the contents of<br />

GLB.WORK. It is not incremented for inquiry transactions that do not modify<br />

GLB.WORK.<br />

OS 2200 based All transactions that do not set GLB.ERROR to *****, and are not in<br />

recovery<br />

UNIX All transactions that do not set GLB.ERROR to *****, and are not in<br />

recovery<br />

It is used for both Component and Event transactions, but is included only in the Event<br />

record on the <strong>LINC</strong> database.<br />

TRANNO values are unique for each transaction sent from a station (username).<br />

2-78 v


Caution<br />

System Data Item Descriptions<br />

Exercise care when using TRANNO as a unique key in Event records. It is possible<br />

for records from different stations to have the same TRANNO value.<br />

LENGTH = 6 EDIT = N<br />

v 2-79


Appendix A<br />

Formulas for the DISCOUNT.CASH;<br />

Command<br />

Overview<br />

This appendix contains formulas for the calculations used by the DISCOUNT.CASH;<br />

command.<br />

Conventions used in the various formulas are listed in the following table.<br />

Symbol Meaning<br />

. Multiplication operator<br />

ln Natural logarithm<br />

i Interest rate (0.0 through 1.0)<br />

n Number of time units in the calculation<br />

P Present value of the financial amount<br />

SN Financial amount after time period n (the sum after n periods)<br />

A Annuity payment occurring at the end of each time period<br />

A* Annual rate of flow (the rate of steady flow throughout the term, as opposed to<br />

discrete annuity payments)<br />

A and A* are related by the following formula.<br />

<br />

v A-1


Formulas for the DISCOUNT.CASH; Command<br />

Calculations<br />

PV.FLOW (P.A*) Present Value<br />

This action calculates the present value required to produce an annual rate of flow for n<br />

periods, leaving a future value of zero.<br />

P = A* . ((1 + i) - 1) / ((1 + i) .ln(1+i))<br />

FLOW.PV (A*.P) Annual Rate of Flow<br />

This action calculates the annual rate of flow required to reduce the present value to zero<br />

in n periods.<br />

A*=P.((1+i) . ln(1 + i)) / ((1 + i) -1)<br />

FV.FLOW (SN.A*) Future Value<br />

This action calculates the future value that will accumulate in n periods from an annual<br />

rate of flow.<br />

SN=A*.((1+i) -1)/ln(1+i)<br />

FLOW.FV (A*.SN) Rate of Flow yielding Future Value<br />

This action calculates the Annual Rate of Flow required to produce a nominated future<br />

value.<br />

A*=SN.ln(1+i)/((1+i) -1)<br />

COMPOUND (C, SN.P) Future Value from Present Value<br />

This action calculates the future value accumulated in n periods from the present value.<br />

SN = P . (1 + i) <br />

DISCOUNT (D, P.SN) Present Value yielding Future Value<br />

This action calculates the present value required to accumulate into a nominated future<br />

value.<br />

P=SN/(1+i) <br />

MORTGAGE (M, A.P) Annuity to repay Present Value<br />

This action calculates the annuity (regular payment) required to amortize the present value<br />

in n periods.<br />

A=P.i.(1+i) / ((1 + i) -1)<br />

PV.ANNUITY (P.A) Present Value yielding Annuity<br />

This action calculates the present value required to produce an annuity for n periods, with<br />

a zero final balance.<br />

A-2 v


P = A . ((1 + i) -1)/(i.(1+i) )<br />

Formulas for the DISCOUNT.CASH; Command<br />

FV.ANNUITY (SN.A) Future Value resulting from Annuity<br />

This action calculates the future value accumulated in n periods from an annuity (regular<br />

savings).<br />

SN = A . ((1 + i) -1)/i<br />

SINK (A.SN) Annuity yielding Future Value<br />

This action calculates the annuity (regular savings) required to accumulate into a<br />

nominated future value.<br />

A = SN . i / ((1 + i) -1)<br />

v A-3


Appendix B<br />

Railroad Diagram Syntax<br />

Overview<br />

In Section 1, the syntax of <strong>LINC</strong> logic commands is illustrated with railroad diagrams.<br />

Railroad diagrams are read left-to-right, or in the direction indicated by an arrowhead. The<br />

end of the diagram is indicated by a vertical bar. Continuation from one line to another is<br />

indicated by a number at the end of a line and a corresponding number at the beginning of<br />

another line.<br />

Information contained in italics is variable information to be supplied. Further<br />

information about these values (called metatokens) will follow the syntax diagram, or can<br />

be found in ‘‘Conventions for Syntax Diagrams’’ , in this manual.<br />

Otherwise, enter everything else exactly as it appears.<br />

Sample<br />

A sample railroad diagram and an explanation of its parts follows.<br />

DD DDDDDD DDDDD <br />

DDBDDDDDDDDDDDDDDDDDDDDDDDDDDDBDDDDBDDDDDDDDDDDDDDDDDDBDDDD <br />

3 3 3 3<br />

@D DDDDD DDY @D DDDDD DDY<br />

DDDD DDDDDDDDDDDDDDDDDD4<br />

The following are statements that may be constructed from this diagram.<br />

<br />

<br />

<br />

<br />

<br />

v B-1


Railroad Diagram Syntax<br />

Required Items<br />

An item is required if there is no alternative path through the diagram.<br />

DDDD DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD4<br />

Optional Items<br />

Loops<br />

Items listed vertically below the main line of the diagram indicate optional items.<br />

DDDD DDDDDBDDDDDDDDDDDDDDDDDDDDDDDBDDDDDDDD4<br />

3 3<br />

CDDD DDD4<br />

3 3<br />

@DDD DDDY<br />

The following statements are valid constructions from the previous diagram.<br />

<br />

<br />

<br />

A loop indicates repeated access to part of a railroad diagram.<br />

Note: There may be limits (such as the number of items allowed) associated with<br />

loops. Limits are included with the description of the command.<br />

ZDDD?<br />

ZDDDDDDDDDY @DDDDDDDDDDDDDD?<br />

ZDDDDDDDDDDDDDDDDDDDDDDDDDDDD?<br />

3 3<br />

DDDDDDDDDDDDDDDDDDDDDADDDBDD DDBDDDADDDDD4<br />

3 3<br />

@DD DDY<br />

The following statements may be constructed from this diagram.<br />

<br />

<br />

<br />

A loop must be used in the direction indicated by the arrow. If there is no arrow, read<br />

left-to-right.<br />

B-2 v


Bridges<br />

A bridge indicates the maximum number of times a loop may be traveled.<br />

ZDDD?<br />

ZDDDDDDDDDY @DDDDDDDDDDDDDD?<br />

3 3<br />

DDDDDDDDDDDDDDDDDDDDDADDDBDD DDBDDDADDDDD4<br />

3 3<br />

@DD DDY<br />

The following statements may be constructed from this diagram.<br />

<br />

<br />

<br />

<br />

<br />

<br />

Railroad Diagram Syntax<br />

v B-3


Glossary<br />

A<br />

access class<br />

For <strong>LINC</strong> Ad Hoc Inquiry, a particular type of user access to queries, defined by a letter (A<br />

through Z) or an asterisk (*, for unrestricted access). Also called query class.<br />

Action line<br />

A field that appears on most screens in <strong>LINC</strong> Generate, enabling fast-track navigation to<br />

required functions. Also referred to as the Action field.<br />

Ad Hoc Inquiry<br />

See <strong>LINC</strong> Ad Hoc Inquiry.<br />

Automaint Profile<br />

The Profile of a Multiple Ordinate Memo Component that provides automatic access to the<br />

records of that Component. See Multiple Ordinate Memo Component, Profile.<br />

Automatic Entry<br />

(1) A facility that enables an Ispec to create a record in another Ispec. (2) A facility that<br />

enables an Ispec to modify an existing record in a Standard Component, Table Component,<br />

or Multiple Ordinate Memo Component. (3) Not applicable to Copy.From Ispecs. (4) See<br />

also Automatic Entry buffer, external Automatic Entry, internal Automatic Entry, HUB.<br />

Automatic Entry buffer<br />

An area in memory used by the Automatic Entry facility. See Automatic Entry.<br />

Automatic Lookup<br />

A process where a Component record is automatically read into memory from the<br />

database.<br />

v Glossary-1


Glossary<br />

B<br />

banner<br />

A system-generated page that prints at the start of a Report and provides control<br />

information about that Report.<br />

base year<br />

The year upon which the DATE.CONVERT; command bases relative day numbers. The<br />

year is defined using the Primary Database Options screen and may be accessed through<br />

the System Data item GLB.BASE. See relative day number.<br />

Buildable <strong>LINC</strong>IIDIR<br />

The <strong>LINC</strong> installation directory is defined by the environment variable <strong>LINC</strong>IIDIR. A<br />

<strong>LINC</strong>IIDIR that contains the <strong>LINC</strong> object packages necessary to build <strong>LINC</strong> executables<br />

using object packaging is a buildable <strong>LINC</strong>IIDIR. A buildable <strong>LINC</strong>IIDIR is necessary to use<br />

object packaging to maintain your <strong>LINC</strong> environment<br />

Bulk Option screens<br />

A group of screens in <strong>LINC</strong> Generate that enable options for several Ispecs, Reports,<br />

Profiles, or Global Logics to be entered together.<br />

C<br />

CER<br />

A Customer Engineering Request (CER) is a customer specific EIF resulting from a<br />

customer request. CERs are handled in the same way as EIFs. See EIF.<br />

Change Control<br />

A method for tracking changes to <strong>LINC</strong> Specifications in <strong>LINC</strong> Generate.<br />

Change identifier<br />

A alphanumeric value used to identify a single user or user terminal for change control<br />

purposes. Applies when the Change Identification option is selected for that <strong>LINC</strong><br />

Specification. Contrast with Patch identifier.<br />

class<br />

See access class, security class.<br />

Column name<br />

For <strong>LINC</strong> Ad Hoc Inquiry, an SQL term equivalent to data item.<br />

Glossary-2 v


Glossary<br />

Component<br />

(1) A business resource such as a customer, product or vendor. (2) A store of static data<br />

about a business resource. (3) Consists of a screen layout and associated logic (Pre-Screen<br />

logic, Pre-<strong>LINC</strong> logic, and Main logic). (4) Together with Events, Components form the<br />

fundamental building blocks of a <strong>LINC</strong> System. (5) See also Ispec, Standard Component,<br />

Table Component, Memo Component, Multiple Ordinate Memo Component.<br />

Component Profile<br />

For <strong>LINC</strong> Ad Hoc Inquiry, a Profile over one Component. (2) Contrast with Event Profile.<br />

Component record<br />

For <strong>LINC</strong> Ad Hoc Inquiry, an individual database record for a Component. Equivalent in<br />

SQL terminology to a row.<br />

COMUS<br />

For os 2200 based <strong>LINC</strong> Systems, a product used to build <strong>LINC</strong> Deployment before<br />

installation (see SOLAR).<br />

Copy.From Ispec<br />

An Ispec with a screen that has a number of identical recurring lines. Transmission of the<br />

whole screen produces a separate record in the database for each completed line. See also<br />

Ispec.<br />

Critical Point<br />

(1) A procedure used within a <strong>LINC</strong> Report to aid in recovery following a system failure.<br />

(2) Created by using the CRITICAL.POINT; <strong>LINC</strong> Logic command.<br />

Customizer<br />

See <strong>LINC</strong> Customizer.<br />

D<br />

DAD<br />

See Data Display.<br />

Data Attribute<br />

An attribute of a data item. For example, LENGTH, EDIT, BRIGHT.<br />

Data Command<br />

A command that identifies or creates a data item used in a screen layout, <strong>LINC</strong> Report, or<br />

logic.<br />

Data Display (DAD)<br />

(1) Optional descriptive text for a data item. Used in status messages in place of the name<br />

of the data item. (2) Defined using the DATA.DISPLAY Data Attribute.<br />

v Glossary-3


Glossary<br />

Data item<br />

Part of a <strong>LINC</strong> Specification defined by using the DATA; command in <strong>LINC</strong> Painter. Used<br />

to enter, store and display data.<br />

data item<br />

The collective term for the variables used to enter, manipulate, store, and display data<br />

(Data items, Ordinates, Setup Data items, and so on).<br />

database<br />

See <strong>LINC</strong> Database.<br />

Database Management Utility (DMU)<br />

(1) A <strong>LINC</strong> Utility that enables you to maintain your <strong>LINC</strong> Database. (2) Use to perform<br />

such tasks as changing the amount of disk space allocated to database structures, initiate a<br />

full or partial database reorganizations (for MCP based <strong>LINC</strong> Systems), and creating<br />

ORACLE SIDs and Griffin Universes (for UNIX <strong>LINC</strong> Systems). (3) See also Griffin<br />

Database Management Utility (GMU).<br />

Development System<br />

See <strong>LINC</strong> Development and <strong>LINC</strong> Generate.<br />

Direct Component<br />

A Component type that uses a key for direct access to the dataset, saving on the number of<br />

Input/Output operations. It has a single numeric Ordinate with a maximum of 8 digits. See<br />

Component.<br />

Direct Report<br />

(1) A specific type of Report that uses the <strong>LINC</strong> Report Output Control System (ROC), and<br />

which sends output directly to an output device and not to the ROC database. (2) See also<br />

<strong>LINC</strong> Report Output Control System. (3) Contrast with Standard Report.<br />

Display item<br />

A string of descriptive information displayed on an Ispec screen layout or Report Frame,<br />

primarily used to inform the user which data items are which.<br />

DMU<br />

E<br />

Editor<br />

EIF<br />

See Database Management Utility.<br />

See <strong>LINC</strong> Editor.<br />

Engineering Interim Fixes (EIFs) are used to distribute new features, fixes, customer<br />

requests and newly validated versions of support software.<br />

Glossary-4 v


Glossary<br />

Environmental Options screens<br />

Screens in <strong>LINC</strong> Generate that enable you to define options for your <strong>LINC</strong> Specification<br />

that apply to the generation on a particular host type.<br />

Event<br />

(1) An activity performed by an organization, for example a sale, purchase, or payment. (2)<br />

A store of data about an activity performed. (3) Consists of a screen layout and associated<br />

logic (Pre-Screen logic, Pre-<strong>LINC</strong> logic, and Main logic). (4) Together with Components,<br />

Events form the fundamental building blocks of a <strong>LINC</strong> System. (5) See also Ispec.<br />

Event file<br />

For <strong>LINC</strong> Ad Hoc Inquiry, the file containing the Event records.<br />

Event Profile<br />

For <strong>LINC</strong> Ad Hoc Inquiry, a Profile over one or more Events. Contrast with Component<br />

Profile.<br />

Event record<br />

For <strong>LINC</strong> Ad Hoc Inquiry, an individual database record for an Event. Equivalent in SQL<br />

terminology to a row.<br />

Executables<br />

Executables are one of two methods of distributing <strong>LINC</strong> to customers. They are the<br />

compiled set of <strong>LINC</strong> files which are ready to install and run. Contrast this with Objects.<br />

external Automatic Entry<br />

An Automatic Entry to or from an external source, such as another <strong>LINC</strong> System. See<br />

Automatic Entry, HUB. Contrast with internal Automatic Entry.<br />

Extract file<br />

A non-database (text) file created or read by a <strong>LINC</strong> Report.<br />

F<br />

Fireup Ispec<br />

A particular Ispec that is displayed on your terminal when you sign on to a <strong>LINC</strong> System.<br />

G<br />

Generalized <strong>LINC</strong> Interface (GLI)<br />

A facility that enables a non-<strong>LINC</strong> program to initiate transactions into a <strong>LINC</strong> Information<br />

System.<br />

Generate Group<br />

A specified group of Reports that can be generated together.<br />

v Glossary-5


Glossary<br />

Generate Set<br />

A named set of values for generating a particular <strong>LINC</strong> System from a <strong>LINC</strong> Specification;<br />

for example, for a particular host type.<br />

GLI<br />

See Generalized <strong>LINC</strong> Interface.<br />

Global Data Dictionary<br />

(1) A data dictionary that controls the use of data items over all <strong>LINC</strong> Specifications within<br />

the same <strong>LINC</strong> Generate. (2) Part of GLOBAL Specification. (3) See also <strong>LINC</strong> Data<br />

Dictionary, Local Data Dictionary.<br />

Global Logic<br />

(1) Part of a <strong>LINC</strong> Specification that can be reused in other parts of your <strong>LINC</strong><br />

Specification. (2) Inserted into Ispecs, Reports, or Global Logics by using the INSERT;<br />

logic command. (3) See Insertable Global Logic, Performable Global Logic.<br />

Global Setup Data item<br />

A Setup Data item that can be used by any Ispec or Report logic within a <strong>LINC</strong><br />

Specification. See Setup Data item, Group Global Setup Data item.<br />

GMU<br />

See Griffin Database Management Utility.<br />

Griffin Database Management Utility (GMU)<br />

The equivalent of the Database Management Utility (DMU) for Griffin (UNIX) <strong>LINC</strong><br />

Systems.<br />

Griffin<br />

Database Management System used as the underlying database software for Griffin (UNIX)<br />

<strong>LINC</strong> Systems and <strong>LINC</strong> Generate. Griffin is produced by <strong>Unisys</strong> Corporation. See also<br />

ORACLE.<br />

Griffin Universe<br />

A Griffin term for a logical storage area that may contain one or more UNIX <strong>LINC</strong><br />

Databases. Equivalent of ORACLE SID. See also Tablespace.<br />

Group Global Setup Data item<br />

A Global Setup Data item that is a concatenation of a number of other Global Setup Data<br />

items. See Global Setup Data item.<br />

group query<br />

For <strong>LINC</strong> Ad Hoc Inquiry, an SQL format query whose output lines are for groups of<br />

related records (rather than individual records). The group is defined by including a<br />

GROUP BY clause, or by including group functions (such as MAX, MIN, SUM, and AVG) in<br />

the select list.<br />

Glossary-6 v


Glossary<br />

Group Setup Data item<br />

A Setup Data item that is a concatenation of a number of other Setup Data items. See Setup<br />

Data Item.<br />

H<br />

highlighting attribute<br />

An attribute of a data item or Display item that affects its appearance when displayed on a<br />

screen or printed in a <strong>LINC</strong> Report. For example, BRIGHT or REVERSE.<br />

Home position<br />

Top left corner of the screen. Often used as the position from which commands are<br />

entered.<br />

Home screen<br />

For <strong>LINC</strong> Ad Hoc Inquiry, the base screen from which the main functions are chosen.<br />

host list<br />

(1) The list of valid host types for which <strong>LINC</strong> Generate can perform reserved word<br />

checking and generation of <strong>LINC</strong> Systems. (2) The initial list is specified on installation. (3)<br />

Can be changed in the GLOBAL Specification, by using the Supervisor screen. (For <strong>LINC</strong><br />

Customizer, the list cannot be changed.)<br />

HUB Background Run<br />

For OS 2200 <strong>LINC</strong> Systems, a background run that processes external Automatic Entries.<br />

There is one <strong>LINC</strong> Background Run for each <strong>LINC</strong> Deployment. See also HUB.<br />

HUB<br />

I<br />

ICP<br />

The facility that controls external Automatic Entries between <strong>LINC</strong> Systems. See<br />

Automatic Entry, external Automatic Entry.<br />

See Initial Control Program (for OS 2200 based <strong>LINC</strong> Systems) and Ispec Control Program<br />

(forUNIX<strong>LINC</strong>Systems).<br />

Initial Control Program (ICP)<br />

The program that controls the generated Ispec subprograms in OS 2200 based <strong>LINC</strong><br />

Systems. Contrast with Update Program (for MCP based <strong>LINC</strong> Systems) and Ispec Control<br />

Program (for UNIX <strong>LINC</strong> Systems).<br />

Insertable Global Logic<br />

A sequence of business rules (logic) and a screen layout that can be copied into any<br />

number of Ispecs and <strong>LINC</strong> Reports. Contrast with Performable Global Logic.<br />

v Glossary-7


Glossary<br />

interdatabase access<br />

The accessing of the database of an OS 2200 based <strong>LINC</strong> System by another OS 2200 based<br />

<strong>LINC</strong> System.<br />

internal Automatic Entry<br />

An Automatic Entry from within the same <strong>LINC</strong> System. See Automatic Entry. Contrast<br />

with external Automatic Entry.<br />

interrogation point<br />

For <strong>LINC</strong> Ad Hoc Inquiry, a regular interval during query execution when the status of that<br />

query is written to the database.<br />

Ispec<br />

(1) A collective term for Components and Events. (2) A contraction of the term Interface<br />

Specification. (3)See also Component, Event.<br />

Ispec Control Program (ICP)<br />

The program that controls the generated Ispec subprograms in UNIX <strong>LINC</strong> Systems.<br />

Contrast with Update Program (for MCP based <strong>LINC</strong> Systems) and Initial Control<br />

Program (for OS 2200 based <strong>LINC</strong> Systems).<br />

K<br />

Keyword<br />

A data item that has multiple data entry fields and display items. See also Keyword Term<br />

Item, Keyword Term Display.<br />

Keyword Term Display<br />

The Display item associated with a Keyword. See Keyword.<br />

Keyword Term Item<br />

The data item associated with a Keyword. See Keyword.<br />

L<br />

LDA<br />

See <strong>LINC</strong> Development.<br />

LDL Listing Utility<br />

A facility in <strong>LINC</strong> Generate used for printing a <strong>LINC</strong> Specification.<br />

LCOPY Utility<br />

(1) A utility that provides a means of backing up, maintaining and controlling <strong>LINC</strong><br />

Specifications, on the same or different machines (and host types). (2) Formerly known as<br />

<strong>LINC</strong> Copy.<br />

Glossary-8 v


<strong>LINC</strong> Ad Hoc Inquiry<br />

A facility used for making inquiries on a <strong>LINC</strong> Database.<br />

Glossary<br />

<strong>LINC</strong> Administration Guide<br />

The <strong>LINC</strong> manual that contains instructions for administering and operating <strong>LINC</strong> Systems<br />

on a particular host type. See the front matter for details.<br />

<strong>LINC</strong> Background Run<br />

For OS 2200 <strong>LINC</strong> Systems, a background run that controls certain functions; for example<br />

recovery, report handling, and setting up of Common Banks. There is one <strong>LINC</strong><br />

Background Run for each <strong>LINC</strong> Deployment.<br />

<strong>LINC</strong> Customizer<br />

A collective term for the automated facilities and utilities used during the customizing and<br />

generation of a <strong>LINC</strong> Specification.<br />

<strong>LINC</strong> Data Dictionary<br />

A collective name for the Local and Global data dictionaries. See Local Data Dictionary,<br />

Global Data Dictionary.<br />

<strong>LINC</strong> Database<br />

The database created in the generation of a <strong>LINC</strong> System. Used for storing data.<br />

<strong>LINC</strong> Deployment<br />

(1) A collective term for the software programs required to operate, control and audit a<br />

<strong>LINC</strong> System and its <strong>LINC</strong> Database. (2) Contrast with <strong>LINC</strong> Generate. (3) Formerly <strong>LINC</strong><br />

Run Time.<br />

<strong>LINC</strong> Development<br />

(1) PC based development tool for creating and maintaining <strong>LINC</strong> Business Models (<strong>LINC</strong><br />

Specifications). (2) <strong>LINC</strong> Business Models are transferred to host based <strong>LINC</strong> Generate for<br />

generation and deployment in <strong>LINC</strong> Deployment. (3) Formerly known as LDA III.<br />

<strong>LINC</strong> Development Environment<br />

A collective term for the tools used to design, develop and generate <strong>LINC</strong> Systems.<br />

Includes <strong>LINC</strong> Development, <strong>LINC</strong> Generate, and <strong>LINC</strong> utilities.<br />

<strong>LINC</strong> Development System<br />

See <strong>LINC</strong> Generate.<br />

<strong>LINC</strong> Development Test<br />

Part of <strong>LINC</strong> Development that enables testing of your <strong>LINC</strong> Business Model.<br />

<strong>LINC</strong> Editor<br />

A facility for specifying business rules (logic), expressed using <strong>LINC</strong> Logic commands and<br />

text.<br />

v Glossary-9


Glossary<br />

<strong>LINC</strong> Generate<br />

(1) The <strong>LINC</strong> Software used to generate <strong>LINC</strong> Specifications as <strong>LINC</strong> Systems for use in<br />

<strong>LINC</strong> Deployment. (2) Formerly known as <strong>LINC</strong> Development System.<br />

<strong>LINC</strong>IIDIR<br />

<strong>LINC</strong>IIDIR is an environment variable specifying the <strong>LINC</strong> installation directory.<br />

<strong>LINC</strong> Installation Guide<br />

The <strong>LINC</strong> manual that contains instructions for installing and configuring <strong>LINC</strong> Systems on<br />

a particular host type. See the front matter for details.<br />

<strong>LINC</strong> Interactive Test Environment (LITE)<br />

(1) Software that enables testing and debugging of <strong>LINC</strong> Systems. (2) Interacts with <strong>LINC</strong><br />

Generate and <strong>LINC</strong> Deployment.<br />

<strong>LINC</strong> Painter<br />

A facility of <strong>LINC</strong> Generate used to define an Ispec screen layout or Report Frame layout.<br />

<strong>LINC</strong> Report<br />

(1) Part of a <strong>LINC</strong> Specification, generated and used to produce output or to carry out<br />

specialized batch processing of a <strong>LINC</strong> Database. (2) Consists of Report Frames and<br />

Report Main logic, and a number of options that define the operation and output of the<br />

Report. (3) Many programs in <strong>LINC</strong> Generate and <strong>LINC</strong> Utilities are <strong>LINC</strong> Reports.<br />

<strong>LINC</strong> Report Output Control System (ROC)<br />

A utility that provides control over the output of a <strong>LINC</strong> Report.<br />

<strong>LINC</strong> Run Time<br />

See <strong>LINC</strong> Deployment.<br />

<strong>LINC</strong> Security Level<br />

A value from 0 through 9 that is assigned to a specific user or terminal to restrict access to<br />

various functions.<br />

<strong>LINC</strong> Security Module (LSM)<br />

A utility which provides security facilities for both <strong>LINC</strong> Generate and <strong>LINC</strong> Systems.<br />

<strong>LINC</strong> Specification<br />

(1) The source definition of a <strong>LINC</strong> System. <strong>LINC</strong> Specifications are stored within <strong>LINC</strong><br />

Generate. (2) The result of specifying a <strong>LINC</strong> Business Model using <strong>LINC</strong> Development. (3)<br />

The source from which a <strong>LINC</strong> System is generated.<br />

<strong>LINC</strong> System<br />

The set of programs (and database) generated from a <strong>LINC</strong> Specification.<br />

Glossary-10 v


Glossary<br />

<strong>LINC</strong> System command<br />

A command to assist in the operation of a <strong>LINC</strong> System or <strong>LINC</strong> Report. Formerly known<br />

as a colon command.<br />

LITE<br />

See <strong>LINC</strong> Interactive Test Environment.<br />

local Data Dictionary<br />

A data dictionary that controls the use of data items within a single <strong>LINC</strong> Specification. See<br />

also <strong>LINC</strong> Data Dictionary, Global Data Dictionary.<br />

locked query<br />

For <strong>LINC</strong> Ad Hoc Inquiry, a query that is not available for editing or running because it is<br />

currently queued for execution, or its execution has terminated abnormally, or it is being<br />

edited.<br />

logically deleted<br />

A term used to describe the status of an Ispec record that has been deleted from a database<br />

as far as all processes are concerned, but is physically still present.<br />

LSM<br />

See <strong>LINC</strong> Security Module.<br />

LSM security<br />

For <strong>LINC</strong> Ad Hoc Inquiry, the security imposed by the <strong>LINC</strong> Security Module (LSM). If in<br />

effect, user access to queries and the limits associated with queries may be restricted.<br />

M<br />

Main Logic<br />

A section of user-specified Ispec logic that is executed after any Pre-<strong>LINC</strong> logic and <strong>LINC</strong><br />

automatic editing and validating sequences have been executed.<br />

MAINT<br />

(1) A System Data item, stored with each record of every Standard, Table, and Multiple<br />

Ordinate Memo Component, that indicates whether that record is added, changed or<br />

deleted. (2) A screen field for every Standard, Table, and Multiple Ordinate Memo<br />

Component used to indicate the database maintenance action request.<br />

Maintenance Mode<br />

A Painter facility that enables an existing Ispec screen layout or Report Frame to be<br />

modified.<br />

Memo Component<br />

A Component type that has no Ordinate, and which is used to store data of a memorandum<br />

nature. See Component, Multiple Ordinate Memo Component.<br />

v Glossary-11


Glossary<br />

Memo Data<br />

Memo-type, optional Ispec data that is stored separately to the primary Ispec records to<br />

assist with the optimization of disk usage. Valid for MCP based <strong>LINC</strong> Systems only. See<br />

Ispec.<br />

Menu Assistance<br />

A <strong>LINC</strong> Painter facility that provides assistance when painting an Ispec screen layout or<br />

<strong>LINC</strong> Report Frame.<br />

menu format query<br />

A query created using the various selection screens of <strong>LINC</strong> Ad Hoc Inquiry. Contrast with<br />

SQL format query.<br />

MLA<br />

Module<br />

See Multiple Language Mode.<br />

<strong>LINC</strong> Specification that is a subset of a Module Master. When generated a Module<br />

produces a complete <strong>LINC</strong> System. See also Module Master.<br />

Module Master<br />

A complete <strong>LINC</strong> Specification that contains defined parts (Modules) that can be<br />

generated as separate <strong>LINC</strong> Systems. See also Module.<br />

multiple language facilities<br />

A collective term for the <strong>LINC</strong> facilities that enable a <strong>LINC</strong> System to be translated and<br />

used in up to fifteen different languages, from a single <strong>LINC</strong> Specification.<br />

Multiple Language Mode (MLA)<br />

An facility in a menu of <strong>LINC</strong> Generate that enables a language name or number to be<br />

defined. (2) See multiple language facilities.<br />

Multiple Ordinate Memo Component<br />

(1) A Memo Component with one or more Ordinates defined by a specified Profile (that is<br />

sometimes referred to as its Automaint Profile). (2) Similar to a Standard Component, but<br />

with multiple Ordinates. (3) See also Component, Standard Component and Automaint<br />

Profile.<br />

N<br />

NOF<br />

NOFORM<br />

See NOF.<br />

(1) A facility for interfacing to and from a <strong>LINC</strong> System, usually to an non-<strong>LINC</strong> System and<br />

terminals. (2) The interface to PowerClient uses NOF.<br />

Glossary-12 v


Non-Formatted Input/Output (NOF)<br />

See NOF.<br />

O<br />

Glossary<br />

Object Packaging<br />

Object packaging allows the creation of <strong>LINC</strong> executables from supplied <strong>LINC</strong> object files,<br />

the installation of <strong>LINC</strong>, the installation of <strong>LINC</strong> EIFs, and the maintenance of your <strong>LINC</strong><br />

environment. It also allows the creation of new <strong>LINC</strong> object and executable packages<br />

which can include supplied EIFs. Packages can be created for distribution and as backups.<br />

.<br />

Objects<br />

Objects are one of two methods of distributing <strong>LINC</strong> to customers. They are the set of<br />

<strong>LINC</strong> object files which must be built into executables on your site before <strong>LINC</strong> can be run.<br />

Objects files are built using Object Packaging. Contrast this with Executables<br />

Offline interface<br />

A facility for passing batches of high-volume, non-<strong>LINC</strong> transactions for a <strong>LINC</strong> System.<br />

OLTP<br />

See Online Transaction Processing.<br />

On Change Statistical Routine<br />

A statistical routine (for example, AVERAGE;) that can be performed on a data item as<br />

part of an ON.CHANGE; <strong>LINC</strong> Logic command.<br />

Online Transaction Processing (OLTP)<br />

A generic method for transferring transactions to other systems.<br />

ORACLE<br />

Relational Database Management System used as the underlying database software for<br />

ORACLE (UNIX) <strong>LINC</strong> Systems. ORACLE is produced by Oracle Corporation. See also<br />

Griffin.<br />

ORACLE SID<br />

An ORACLE term for a logical storage area that may contain one or more UNIX <strong>LINC</strong><br />

Databases. Equivalent of Griffin Universe. See also Tablespace.<br />

Ordinate<br />

The data item of a Component that acts as the unique identifier of one record from<br />

another. The access path to individual Component records.<br />

v Glossary-13


Glossary<br />

P<br />

pack<br />

Painter<br />

patch<br />

The location in which part of a <strong>LINC</strong> System or <strong>LINC</strong> Database is stored. For a UNIX <strong>LINC</strong><br />

System, a pack is either a Tablespace or a UNIX pathname.<br />

See <strong>LINC</strong> Painter.<br />

A set of changes to a <strong>LINC</strong> Specification made over a period of time by users signing on to<br />

<strong>LINC</strong> Generate under a specific patch identifier value.<br />

Patch identifier<br />

A number used to identify and group changes to a <strong>LINC</strong> Specification by one or more<br />

users. Applies when the patch identification option is selected for that <strong>LINC</strong> Specification.<br />

Contrast with Change identifier.<br />

Performable Global Logic<br />

A sequence of business rules (logic) that can be executed by any number of Ispecs and<br />

<strong>LINC</strong> Reports. Contrast with Insertable Global Logic.<br />

Pre-<strong>LINC</strong> Logic<br />

A section of user-specified Ispec logic that is executed before the Ispec Main logic is<br />

executed.<br />

Pre-Screen Logic<br />

A section of user-specified Ispec logic that is executed before the screen layout is<br />

displayed on the terminal.<br />

Primary Database Options screen<br />

The screen in <strong>LINC</strong> Generate for setting basic options and parameters for a <strong>LINC</strong> System.<br />

The screen displayed whenever a new <strong>LINC</strong> Specification is being created.<br />

Product Menu Utility<br />

Product Menu is a menu driven utility to access object packaging features. See Object<br />

Packaging for details of the functions that can be performed with Product Menu.<br />

Profile<br />

(1) An index to a specified selection of records. (2) A method of providing access to just<br />

those records that are required to perform a specific function. (3) A functional view of the<br />

database.<br />

Profile Data<br />

A data item that is physically stored in a Profile as well as in its associated Ispec. See also<br />

Profile.<br />

Glossary-14 v


Glossary<br />

Profile Ordinate<br />

The data item by which a Profile accesses individual records. A Profile can have several<br />

Profile Ordinates. See also Profile.<br />

Q<br />

query class<br />

See access class.<br />

Query Compiler<br />

For <strong>LINC</strong> Ad Hoc Inquiry, the part of <strong>LINC</strong> Ad Hoc Inquiry that validates an entered query<br />

and transforms it to a standard internal code and format. See also Query transformation.<br />

Query Front End<br />

For <strong>LINC</strong> Ad Hoc Inquiry, the part of <strong>LINC</strong> Ad Hoc Inquiry that allows a query to be entered.<br />

Query Optimizer<br />

The part of <strong>LINC</strong> Ad Hoc Inquiry that selects the most efficient way to access the <strong>LINC</strong><br />

Database for a query.<br />

Query Output Handler<br />

The part of <strong>LINC</strong> Ad Hoc Inquiry that provides facilities to manipulate query output.<br />

Query Processor<br />

The part of <strong>LINC</strong> Ad Hoc Inquiry that interprets the query code and runs the query against<br />

the <strong>LINC</strong> Database.<br />

Query Processor report<br />

For <strong>LINC</strong> Ad Hoc Inquiry, the program that performs the functions of the Query Processor.<br />

This program is a <strong>LINC</strong> Report.<br />

query transformation<br />

For <strong>LINC</strong> Ad Hoc Inquiry, the process performed by the Query Compiler to convert a<br />

validated query into a standard internal form.<br />

queued query<br />

For <strong>LINC</strong> Ad Hoc Inquiry, a query waiting (for resources) to begin execution.<br />

v Glossary-15


Glossary<br />

R<br />

relation name<br />

For <strong>LINC</strong> Ad Hoc Inquiry, an SQL term equivalent to a Component, the Event file, or an<br />

Event Profile. Also called a table .<br />

relative day number<br />

A date expressed as the number of days since January 1 of the base year (which is<br />

accessible through the System Data item GLB.BASE). The relative day number of January<br />

1 of the base year is zero. See also base year.<br />

Report<br />

See <strong>LINC</strong> Report.<br />

Report Frame<br />

(1) Layout that contains display text and data items, and some associated logic that is part<br />

of a <strong>LINC</strong> Report. (2) The logic is executed (often to define the data items in the layout)<br />

and then the layout is included in the Report output. (3) Report Frames are accessed as<br />

single units from the logic of Report Frame or from Main logic of the Report.<br />

Report Initiation Program (RIP)<br />

An MCP based <strong>LINC</strong> utility that enables you to execute a line printer Report or terminal<br />

printer Report in batch mode.<br />

Report Output Control System (ROC)<br />

See <strong>LINC</strong> Report Output Control System.<br />

resource locking<br />

A facility of <strong>LINC</strong> Generate that prevents access to parts of a <strong>LINC</strong> Specification by more<br />

than one user at a time.<br />

ROC<br />

See <strong>LINC</strong> Report Output Control System.<br />

ROC Background Run<br />

For OS 2200 <strong>LINC</strong> Systems, a background run that identifies Report output requests and<br />

spools the output to the required print queue. There is one ROC Background Run for each<br />

<strong>LINC</strong> Deployment.<br />

row<br />

For <strong>LINC</strong> Ad Hoc Inquiry, an SQL term equivalent to a Component record or an Event<br />

record.<br />

Run Time Environment<br />

See <strong>LINC</strong> Deployment.<br />

Glossary-16 v


S<br />

Screen Build mode<br />

A Painter facility that is used to specify a new Ispec screen layout.<br />

Glossary<br />

search expression<br />

For <strong>LINC</strong> Ad Hoc Inquiry, a logical expression used in a search list to define records to be<br />

included in query output.<br />

search list<br />

For <strong>LINC</strong> Ad Hoc Inquiry, the part of a query that determines whether records will be<br />

included in the output.<br />

security access<br />

For <strong>LINC</strong> Ad Hoc Inquiry, full access to all queries.<br />

security class<br />

For <strong>LINC</strong> Ad Hoc Inquiry, a type of user access to queries. See access class.<br />

select list<br />

For <strong>LINC</strong> Ad Hoc Inquiry, the part of a query that defines the data items to be included in<br />

the output.<br />

Setup Data item<br />

A data item used in memory only for data manipulation by an Ispec or <strong>LINC</strong> Report. See<br />

also Global Setup Data item, Group Setup Data item.<br />

Shadow Report<br />

Part of a <strong>LINC</strong> Report used to produce additional output separate from that produced by<br />

the primary functions of the Report.<br />

Sleeping Report<br />

A Report that, by the use of the SLEEP; <strong>LINC</strong> Logic command, stops executing for a<br />

predetermined number of seconds or until reactivated by your <strong>LINC</strong> System.<br />

SOLAR<br />

For OS 2200 <strong>LINC</strong> Systems, a product used to install <strong>LINC</strong> Software.<br />

sort expression<br />

For <strong>LINC</strong> Ad Hoc Inquiry, a logical expression used in a sort list to define output sort order.<br />

sort list<br />

spooler<br />

For <strong>LINC</strong> Ad Hoc Inquiry, the part of a query that defines the order of the output.<br />

See Terminal Printer Spooler.<br />

v Glossary-17


Glossary<br />

SQL format query<br />

AnSQLqueryenteredinfreeformatin<strong>LINC</strong>AdHocInquiry.Contrast with menu format<br />

query.<br />

Standard Component<br />

A Component type that requires a single Ordinate. See also Component.<br />

Standard Report<br />

A specific type of Report that uses the <strong>LINC</strong> Report Output Control System, and whose<br />

output is written to the database. Subsequent use of the output is determined by the user.<br />

See Report Output Control System. Contrast with Direct Report.<br />

station<br />

structure<br />

(1) General term in <strong>LINC</strong> for method used to identify users. (2) For UNIX <strong>LINC</strong> Systems,<br />

station equates to user name, while for OS 2200 based <strong>LINC</strong> Systems, station equates to<br />

userid.<br />

(1) In <strong>LINC</strong> Generate, part of a <strong>LINC</strong> Specification that can be selected (for example, for<br />

printing, copying, or extraction). (2) For <strong>LINC</strong> Ad Hoc Inquiry, part of a <strong>LINC</strong> Database<br />

that can be the subject of a query.<br />

structure list<br />

For <strong>LINC</strong> Ad Hoc Inquiry, the part of a query that defines the structures to be included.<br />

One of the following:<br />

$ Component<br />

$ Event Profile<br />

$ All Events<br />

Supervisor<br />

A facility of <strong>LINC</strong> Generate enabling administration-level functions.<br />

System Data item<br />

(1) Data item that is automatically part of your <strong>LINC</strong> Specification. (2) Used for accessing<br />

or setting parameter or control-type data in <strong>LINC</strong> logic. (3) Some System Data Items are<br />

stored automatically in your <strong>LINC</strong> Database (for example, MAINT).<br />

Glossary-18 v


T<br />

table<br />

Glossary<br />

For <strong>LINC</strong> Ad Hoc Inquiry, an SQL term equivalent to a Component, the Event file, or an<br />

Event Profile. Also called relation name.<br />

Table Component<br />

A Component type that is used to store low-volume, frequently accessed data, such as code<br />

tables. See also Component.<br />

Tablespace<br />

Discrete part of an ORACLE SID or Griffin Universe. Tablespaces in the same ORACLE<br />

SID or Griffin Universe can be stored on different physical devices.<br />

Teach Screen<br />

A user-written screen display of information about an Ispec being used within a <strong>LINC</strong><br />

System, intended to provide online help for users at run time.<br />

Terminal Printer Spooler (TPS)<br />

An MCP based <strong>LINC</strong> Utility that enables users to manipulate the output of a <strong>LINC</strong> Report<br />

to terminal printers.<br />

TPS<br />

Trace<br />

See Terminal Printer Spooler.<br />

(1) A facility to monitor the logic of an Ispec or Report in your <strong>LINC</strong> System. (2) Enabled in<br />

<strong>LINC</strong> Generate. (3) Contrast with <strong>LINC</strong> Interactive Test Environment.<br />

Translation Screen<br />

A copy of an Ispec screen that is modified to create a secondary language version.<br />

U<br />

Update program<br />

A generated program that contains the necessary logic for performing Ispec operations in a<br />

MCP based <strong>LINC</strong> System.<br />

Usage Input<br />

An Ispec attribute that enables a data item to be entered or displayed on the screen,<br />

accessed by logic, but not stored in the database.<br />

Usage Input Ispec<br />

An Event or Memo Component that is not output to the database, and where Data items<br />

default to Usage Input. (Individual data items can be set to Usage Inquiry.)<br />

v Glossary-19


Glossary<br />

Usage Input-Output<br />

An Ispec attribute that enables a data item to be entered or displayed on the screen,<br />

accessed by logic, and stored in the database.<br />

Usage Input-Output Ispec<br />

Ispec that is both Usage Input and Usage Output.<br />

Usage Inquiry<br />

An Ispec attribute that enables a data item displayed on the screen, but not to be entered<br />

on the screen, nor written to the database.<br />

Usage Output<br />

An Ispec attribute that enables a data item to be written to the database and accessed by<br />

logic, but not entered or displayed on the screen.<br />

Usage Output Ispec<br />

An Ispec that is written to the database, but does not have a screen display.<br />

V<br />

Validation EIF<br />

Validation EIFs are a special type of EIF which provide support for newly validated<br />

versions of <strong>LINC</strong> support software such as ORACLE, Griffin, COBOL, and Tuxedo.<br />

value expression<br />

For <strong>LINC</strong> Ad Hoc Inquiry, a logical expression used in an SQL format query to define a<br />

value, and made up of data items, literals, operators, and functions.<br />

value logic<br />

Logic associated with a Dictionary item that determines acceptable values for that item.<br />

version control<br />

A method for identifying different versions of a <strong>LINC</strong> System by version number,<br />

description, and generation date.<br />

Glossary-20 v


Index<br />

A<br />

ABORT; logic command, 1-6<br />

ACCEPT; logic command, 1-9, 1-206, 1-207,<br />

1-208<br />

ACCESS.EXT; logic command, 1-11, 2-25, 2-27<br />

accounting month, 2-9<br />

ACTMTH System Data item, 1-33, 2-9<br />

ADD; logic command, 1-15<br />

ADHOC.MODE; logic command, 1-16<br />

Ad Hoc Inquiry<br />

accessing from logic, 1-16<br />

ADVANCE; logic command, 1-17<br />

AE; logic command, 1-29<br />

AEXT; logic command, 1-11<br />

ALL; command option<br />

SEND.MESSAGE; command, 1-213<br />

SET.DB; command, 1-226, 1-227<br />

application group<br />

OS 2200 based, 2-11<br />

application number<br />

OS 2200 based, 2-11<br />

arithmetic operations<br />

addition, 1-15<br />

COMPUTE; or COMPUTE.FROM;<br />

command, 1-66<br />

division, 1-109<br />

logic commands for, 1-65<br />

multiplication, 1-186<br />

subtraction, 1-247<br />

arithmetic overflow<br />

DIVIDE; command, 1-109<br />

GLB.STATUS set by, 2-55<br />

MULTIPLY; command, 1-186<br />

testing for, 1-65<br />

arrays<br />

Automatic Entries including, 1-23<br />

clearing, 1-64<br />

invalid subscripts in, 2-55<br />

moving, 1-177, 1-179<br />

writing to database, 1-133<br />

AS; command option<br />

PRINT.FRAME; command, 1-196<br />

ASCENDING; command option<br />

MATCH; logic command, 1-165<br />

SORT; command, 1-239<br />

Assembler programs or procedures<br />

calling OS 2200, 1-51<br />

AT; command option<br />

PRINT.FRAME; command, 1-196<br />

SEND.PRINT; command, 1-216<br />

ATS; logic command, 1-19<br />

ATTACH; logic command, 1-19<br />

AUTO.ARRAY; logic command, 1-23<br />

AUTO.ENTRY; logic command, 1-29<br />

AUTO.FORMAT; logic command, 1-32<br />

AUTO; CLEAR logic command, 1-28<br />

AUTO; CONTRA logic command, 1-27<br />

AUTO; logic command, 1-23<br />

AUTO; WRITE logic command, 1-33<br />

Automaint Profiles, 1-90, 1-96, 1-98, 1-100,<br />

1-103, 1-105<br />

Automatic Entries<br />

buffer format for, 1-29<br />

clearing buffer for, 1-28, 1-34<br />

data in buffer for, 1-23, 1-179<br />

GLB.ERROR setting by, 2-24<br />

identifying origin of, 2-39<br />

naming Ispec receiving, 1-29<br />

OLTP response to, 1-32<br />

B<br />

BACK; command option<br />

LOOK.UP; GROUP command, 1-161<br />

banner pages<br />

Report output including, 2-44<br />

base year, 2-14<br />

BEGIN.CASE; logic command, 1-61<br />

BEGIN.EDIT; logic command, 1-44<br />

BEGIN.LOOP; logic command, 1-46<br />

BEGIN.PAGE; logic command, 1-48<br />

BG; logic command, 1-46<br />

BK; logic command, 1-50<br />

BP; logic command, 1-48<br />

v Index-1


Index<br />

branching<br />

logic commands for, 1-142, 1-146<br />

BREAK; logic command, 1-50, 1-224<br />

broadcast messages<br />

sending screen Status line, 1-213<br />

BYE; command option<br />

RECALL; (BYE)., 1-199<br />

SWITCH.TO; command, 1-252<br />

BYFUNCTION option<br />

CALL; command, 1-57<br />

MCP based CALL; command, 1-57<br />

BYFUNCTION variant<br />

MCP based CALL; command, 1-51, 1-52<br />

C<br />

CALL; logic command, 1-51, 2-42<br />

in LDA, 1-56<br />

CASE; logic command, 1-61<br />

case statements, 1-61, 1-63<br />

CCS ID<br />

OS 2200 based, 2-14<br />

CF; logic command, 1-65<br />

Change Control Options screen, 2-51<br />

channels<br />

Report output stationery, 1-17<br />

character sets<br />

OS 2200 coded, 2-14<br />

chargecodes<br />

RUN; and START; command, 2-15<br />

CLA; logic command, 1-64<br />

CLEAR.ARRAY; logic command, 1-64<br />

CLEAR.WHEN; Data Attribute, 1-23, 1-29<br />

CLEAR; command option<br />

SWITCH.TO; command, 1-253<br />

closed cycle<br />

External Automatic Entries forming, 1-42<br />

CN; logic command, 1-68<br />

COBOL programs or procedures<br />

calling, 1-51<br />

Coded Character Set (CCS) identifier<br />

OS 2200, 2-14<br />

common user libraries<br />

accessing MCP based <strong>LINC</strong> Systems, 1-57<br />

COMP; logic command, 1-65<br />

complex MOVE; command, 1-173<br />

Components<br />

MAINT value for, 2-72<br />

recalling, 2-74<br />

specifying Automatic Entry, 1-29<br />

transaction numbers for, 2-78<br />

COMPOUND (C, SN.P) action<br />

DISCOUNT.CASH; command, A-2<br />

COMPUTE.FROM; logic command, 1-65<br />

COMPUTE; logic command, 1-65<br />

conditions<br />

compound, 1-111<br />

DO.WHEN; command, 1-111<br />

CONTRA; logic command, 1-68<br />

control breaks<br />

Report output, 1-187<br />

Copy.From Ispecs<br />

accessing Profiles in, 1-224<br />

editing and validation of, 1-44<br />

example of, 1-44<br />

GLB.INPUTDATA value in, 2-33<br />

MAX.COPIES option for, 2-37<br />

value of GLB.COPY in, 2-16<br />

Coroutines<br />

with CALL; command, 1-58<br />

generating, 1-58<br />

restrictions on, 1-58<br />

with SLEEP; UNTIL WOKEN command,<br />

1-234<br />

CP; logic command, 1-69<br />

CRITICAL.POINT; logic command, 1-69, 1-202,<br />

1-203, 1-211, 1-218, 1-235, 1-257<br />

CU; logic command, 1-74<br />

current date<br />

accessing, 2-17<br />

cursor<br />

positioning Ispec screen, 1-74<br />

CURSOR; logic command, 1-74<br />

D<br />

DATA; command option<br />

SWITCH.TO; command, 1-250<br />

database<br />

adding records to, 2-73<br />

changing records in, 2-74<br />

DETERMINE; command accessing, 1-86<br />

logically deleting records in, 2-74<br />

modifying data in, 1-130<br />

name of current, 2-52, 2-53<br />

OS 2200 based Fast load into, 1-151<br />

purging records from, 2-74<br />

reading records from, 1-153<br />

recalling records from, 2-74<br />

retrieving records from, 2-75, 2-76<br />

Index-2 v


setting OS 2200 environment target, 1-226<br />

type, 2-18<br />

database records<br />

deadlocks when accessing, 1-120<br />

restricting access to, 1-120<br />

source of input for, 2-54<br />

OF data item qualification<br />

Report Frame data, 1-3<br />

data items<br />

changing sign of numeric, 1-68<br />

in commands, 1-3<br />

data manipulation<br />

MOVE; command for, 1-172, 1-173<br />

date<br />

converting formats of, 1-75, 2-14, 2-15<br />

DATE.CONVERT; formats for, 1-79<br />

GLB.DC- System Data items giving, 2-18<br />

Ispec transaction initiation, 2-76<br />

Report start/restart, 2-76<br />

retrieving current, 1-183<br />

transaction initiation, 2-71<br />

DATE.CONVERT; logic command, 1-75, 2-14,<br />

2-15, 2-18<br />

DC; logic command, 1-75<br />

DCF; logic command, 1-107<br />

deadlocks<br />

database record, 1-120<br />

DELIMITER; command option<br />

DETACH; command, 1-84<br />

DESCENDING; command option<br />

MATCH; logic command, 1-165<br />

SORT; command, 1-239<br />

destination database<br />

External Automatic Entry, 2-21<br />

destination host<br />

External Automatic Entry, 2-20<br />

destination <strong>LINC</strong> Environment<br />

OS 2200 based External Automatic Entry,<br />

2-20<br />

destination TIP Tran no<br />

OS 2200 External Automatic Entry, 2-21<br />

DETACH; logic command, 1-83<br />

detecting deadlock errors, 2-23<br />

DETERMINE; ACTUAL logic command, 1-90,<br />

1-203, 1-232<br />

DETERMINE; BACK logic command, 1-95<br />

DETERMINE; commands<br />

duplicate records, 1-88, 1-95<br />

END command with, 1-87<br />

KEYONLY; command option in, 1-144<br />

line breaks in, 1-88<br />

Index<br />

logically deleted records, 1-87<br />

MULTI; command option in, 1-185<br />

MULTI command option in, 1-185<br />

nested, 1-87<br />

overview of, 1-86<br />

SECURE; command option in, 1-211<br />

SERIAL; command option in, 1-224<br />

SET.DB; commands in loop of, 1-226<br />

variants of, 1-86<br />

DETERMINE; EVERY logic command, 1-96<br />

DETERMINE; FROM logic command, 1-98<br />

DETERMINE; GROUP logic command, 1-100<br />

DETERMINE; LAST logic command, 1-103<br />

DETERMINE; TOTAL logic command, 1-105<br />

AT device type<br />

RUN; command, 1-206<br />

device types<br />

Report output, 2-22<br />

RUN; command specifying output, 1-206,<br />

1-209<br />

SEND.PRINT; command specifying, 1-215<br />

DISCOUNT (D, P.SN) action<br />

DISCOUNT.CASH; command, A-2<br />

DISCOUNT.CASH; logic command, 1-107, A-1<br />

DIVIDE; logic command, 1-109<br />

dllmgr.dll library<br />

LDA CALL; command, 1-55<br />

DMS II database<br />

inquiring in an MCP environment, 1-11<br />

DO.WHEN; logic command, 1-111, 2-57<br />

DTH; logic command, 1-83<br />

duplicate records<br />

DETERMINE; commands accessing, 1-88,<br />

1-95<br />

DV; logic command, 1-109<br />

DW; logic command, 1-111<br />

dynamic list boxes, 1-217<br />

E<br />

EAS; command option<br />

DETERMINE; ACTUAL command, 1-92<br />

MATCH; logic command, 1-165<br />

ECL runstream<br />

START; command initiating OS 2200<br />

environment, 1-241, 1-242<br />

EDIT.ONLY; command option<br />

DATE.CONVERT; command, 1-78<br />

editing and validation logic<br />

Copy.From Ispec, 1-44<br />

v Index-3


Index<br />

EE; logic command, 1-117<br />

ELSE; logic command, 1-114<br />

END.AFTER; option<br />

SLEEP; command, 1-234, 2-16<br />

END.CASE; logic command, 1-61<br />

END.EDIT; logic command, 1-44<br />

END.EXIT; logic command, 1-117<br />

END.NO.PRINT; logic command, 1-118, 1-196<br />

END.USE; logic command, 1-119<br />

END; logic command, 1-87, 1-116<br />

end values<br />

DETERMINE; GROUP command, 1-100<br />

LOOK.UP; GROUP command, 1-161<br />

ENP; logic command, 1-118<br />

errors<br />

internal Automatic Entry, 2-24<br />

Ispec update prevented by, 2-24<br />

EU; logic command, 1-119<br />

Events<br />

specifying Automatic Entry, 1-29<br />

transaction numbers for, 2-78<br />

EX; logic command, 1-121<br />

EXCLUSIVE.USE; logic command, 1-120, 1-211<br />

EXIST; command option<br />

SET.TITLE; command, 1-230, 1-232, 1-237<br />

EXIT command option<br />

RECALL; command, 1-199<br />

External-only Ispecs, 1-29<br />

External Automatic Entries<br />

AUTO; WRITE commands effecting, 1-34<br />

closed cycles of, 1-42<br />

destination for, 2-20, 2-21<br />

GLB.HUBSTATUS values for, 1-37<br />

GLB.STATUS values for, 1-37<br />

Griffin Universe for UNIX, 2-53<br />

identifier for terminal originating, 2-57<br />

identifying origin of, 2-39, 2-40<br />

initiating, 1-33<br />

interfacing to non-<strong>LINC</strong> systems with, 1-29<br />

<strong>LINC</strong> environment for OS 2200, 2-53<br />

NOF, 2-21<br />

ORACLE SID for UNIX, 2-53<br />

RECALL; command invoked by, 1-179<br />

restrictions on, 1-23<br />

results of, 2-31<br />

retrieving data from, 1-179<br />

setting timeout for, 2-31<br />

EXTERNAL command option<br />

AUTO.ENTRY logic command, 1-30<br />

external database<br />

accessing MCP based <strong>LINC</strong> Systems, 2-27<br />

accessing MCP environments, 1-11<br />

EXTERNAL option<br />

UNIX CALL; command, 1-54<br />

external routines or programs<br />

calling, 1-51<br />

EXTRACT; logic command, 1-121<br />

EXTRACTED.AS; command option<br />

DETERMINE; ACTUAL command, 1-92,<br />

1-232<br />

MATCH; command, 1-165<br />

Extract files<br />

categories of, 1-90, 1-124, 1-230, 1-237<br />

closing and purging, 1-203<br />

designator for, 1-4, 1-90, 1-92, 1-231<br />

DETERMINE commands accessing, 1-90,<br />

1-92<br />

dynamically renaming, 1-230<br />

end-of-job handling, 1-125<br />

existing, 1-124<br />

host type differences in, 1-124<br />

MAPPER, 1-121, 1-123, 1-237<br />

multiple EXTRACT; commands to same,<br />

1-123<br />

notes for using, 1-121<br />

permanent, 1-124<br />

restarting, 1-203<br />

runtime processing of, 1-90, 1-125, 1-230,<br />

1-237<br />

setting start record for, 2-48<br />

sorting, 1-237<br />

tape, 1-232<br />

temporary, 1-125<br />

using MATCH; to compare, 1-164, 2-37<br />

writing records to, 1-121<br />

EXU; logic command, 1-120<br />

F<br />

Fast load<br />

OS 2200 based database, 1-151<br />

FG; logic command, 1-130<br />

financial analysis<br />

formulas for, A-1<br />

logic commands for, 1-107<br />

FIND statement<br />

ACCESS.EXT; command, 1-11<br />

Fireup Ispec<br />

displaying, 1-199<br />

FL; logic command, 1-130<br />

FLA; logic command, 1-133<br />

Index-4 v


FLAG.ARRAY; logic command, 1-133<br />

FLAG; logic command, 1-130, 2-24<br />

FLOW.FV (A*.SN) action<br />

DISCOUNT.CASH; command, A-2<br />

FLOW.PV (A*.P) action<br />

DISCOUNT.CASH; command, A-2<br />

FOOTING; command option<br />

ON.CHANGE; command, 1-188<br />

FORMAT option<br />

DATE.CONVERT; command, 1-78, 2-15, 2-18<br />

formulas<br />

DISCOUNT.CASH; command, A-1<br />

Frames<br />

executing logic for, 1-196<br />

extracting Report, 1-122<br />

printing, 1-196<br />

Report output footer, 1-187<br />

Report output heading, 1-48, 1-187<br />

terminating Report, 1-118<br />

FROM; command option<br />

LOOK.UP; GROUP command, 1-161<br />

FT command option<br />

DATE.CONVERT; command, 1-78<br />

function keys<br />

current Ispec when pressing, 2-43<br />

OS 2200, 2-40<br />

value of OS 2200, 2-9<br />

FV.ANNUITY (SN.A) action<br />

DISCOUNT.CASH; command, A-3<br />

FV.FLOW (SN.A*) action<br />

DISCOUNT.CASH; command, A-2<br />

G<br />

GET.LENGTH; logic command, 1-135, 2-30<br />

GET statement<br />

ACCESS.EXT; command, 1-12<br />

GIVING; command option<br />

DIVIDE; command, 1-109<br />

MULTIPLY; command, 1-186<br />

SUBTRACT; command, 1-247<br />

GLB.2PC, 2-71<br />

GLB.ACTIONKEY, 2-9<br />

GLB.ADD, 2-10, 2-73<br />

GLB.ALTUSER, 2-10<br />

GLB.APPNAME, 1-226, 2-11<br />

GLB.APPNO, 1-226, 2-11<br />

GLB.ASCPRT, 2-11<br />

GLB.ASCPRTHOST, 2-12<br />

GLB.BACKUP, 2-12<br />

Index<br />

GLB.BALANCE, 2-13<br />

GLB.BASE, 1-76, 2-14<br />

GLB.CCS, 2-14<br />

GLB.CENTURY, 1-76, 2-14<br />

GLB.CENTURY-START, 1-76, 2-15<br />

GLB.CHANGE, 1-187, 2-15<br />

GLB.CHARGECODE, 1-206, 1-242, 2-15<br />

GLB.CHG, 2-16, 2-74<br />

GLB.CLOSE, 1-234, 2-16<br />

GLB.COPY, 1-224, 2-16<br />

GLB.DATE, 2-17<br />

GLB.DBTYPE, 2-18<br />

GLB.DC- System Data items, 1-75, 2-18<br />

GLB.DEL, 2-20, 2-74<br />

GLB.DESTENV, 1-30, 2-20<br />

GLB.DESTHOST, 1-30, 1-35, 1-39, 2-20<br />

GLB.DESTINATION, 1-35, 1-39, 2-21<br />

GLB.DESTNOFORM, 2-21<br />

GLB.DEVICE, 1-196, 1-202, 2-22, 2-29<br />

GLB.DLRECOVER, 2-23<br />

GLB.EOP option<br />

CURSOR; command, 2-24<br />

GLB.ERROR<br />

AUTO; WRITE command affected by, 1-33,<br />

1-34<br />

details of, 2-24<br />

MESSAGE; command setting, 1-168<br />

RECALL; command setting, 1-200<br />

Repeat.From Ispecs and, 2-13<br />

SWITCH.TO; command setting, 1-248<br />

GLB.EXAMKEY, 2-25<br />

GLB.EXNAME, 2-25<br />

GLB.EXTDB, 1-226, 2-25<br />

GLB.EXTDBSTATUS, 1-226, 2-26<br />

GLB.EXTEXT, 2-27<br />

GLB.FILEINFO, 2-27<br />

GLB.FILLER<br />

reserving space in report frames, 2-27<br />

specifying attributes with SAME.AS, 2-27<br />

GLB.FORMDEPTH, 1-48, 1-196, 2-28<br />

GLB.FORMID, 2-29<br />

GLB.FULLLENGTH, 1-135, 2-30<br />

GLB.FULLSTN, 2-30<br />

GLB.GUI<br />

terminal types, 2-30<br />

GLB.HIGH, 1-3, 1-175, 2-31<br />

GLB.HTIMEOUT, 2-31<br />

GLB.HUBSTATUS, 1-35, 1-37, 2-31<br />

GLB.HUBTIMEOUT, 1-40, 2-31<br />

GLB.INITFULLSTN, 2-32<br />

GLB.INITSTN, 1-213, 2-32<br />

v Index-5


Index<br />

GLB.INPUTDATA, 2-33<br />

GLB.INQ, 2-33, 2-76<br />

GLB.LANGUAGE, 2-33<br />

GLB.LENGTH, 1-83, 1-135, 2-30, 2-34<br />

GLB.LINECOUNT, 2-34<br />

GLB.LINEUP, 2-35<br />

GLB.LINEUPNAME, 2-36<br />

GLB.LOW, 1-3, 1-54, 1-175, 2-36<br />

GLB.MATCH, 1-164, 1-166, 2-37<br />

GLB.MAXCOPY, 2-37<br />

GLB.MIXNO, 2-37<br />

GLB.NUMCOPIES, 2-37<br />

GLB.OLTPSERVICE, 2-38<br />

GLB.OLTPSUBTYPE, 1-29, 1-35, 2-38<br />

GLB.OLTPTYPE, 1-29, 1-35, 2-38<br />

GLB.OLTPVALUE, 2-39<br />

GLB.ORIGIN, 2-39<br />

GLB.ORIGINENV, 2-39<br />

GLB.ORIGINHOST, 2-40<br />

GLB.ORIGINISPEC, 1-251, 1-253, 2-40<br />

GLB.ORIGINPTN, 1-251, 1-253, 2-41<br />

GLB.ORIGINXNID, 1-251, 1-253, 2-41<br />

GLB.PAGECOUNT, 1-202, 2-41<br />

GLB.PARAM, 1-51, 1-54, 1-55, 2-42<br />

GLB.PARAMFLAG, 1-257, 2-42<br />

GLB.PITCH, 2-43<br />

GLB.PREVISPEC, 2-43<br />

GLB.PRINTAT, 2-43<br />

GLB.PRINTBANNER, 2-44<br />

GLB.PRINTHOST, 1-196, 1-202, 2-44<br />

GLB.PRIORITY, 2-45<br />

GLB.PRIV, 2-46<br />

GLB.PRODUCT, 2-47<br />

GLB.PRTPARAM, 2-48<br />

GLB.PUR, 2-48, 2-74<br />

GLB.RECORDx, 2-48<br />

GLB.RECOVER, 2-49<br />

GLB.REPGENDATE, 2-49<br />

GLB.REPGENTIME, 2-49<br />

GLB.REPLANG, 2-49<br />

GLB.REPNAME, 2-50<br />

GLB.REPORT, 2-50<br />

GLB.REPUNIQUE, 2-50<br />

GLB.REPVERSION, 2-51<br />

GLB.REQUEST, 2-51<br />

GLB.ROCFLAG, 2-51<br />

GLB.SAVEDAYS, 2-27, 2-51<br />

GLB.SECONDARY, 2-52<br />

GLB.SELF, 1-30, 2-52<br />

GLB.SELFDB, 2-53<br />

GLB.SELFENV, 1-30, 2-53<br />

GLB.SELFHOST, 1-30, 2-53<br />

GLB.SELFXNID, 2-54<br />

GLB.SHADOW, 2-54<br />

GLB.SOURCE, 2-54<br />

GLB.SPACES, 1-3, 1-175, 2-54<br />

GLB.STALANG, 2-55<br />

GLB.STATION, 2-57<br />

GLB.STATUS; command option<br />

complex MOVE; command, 1-174<br />

COMPUTE; commands, 1-65<br />

DATE.CONVERT; command, 1-77, 1-81<br />

definition of, 1-137<br />

DETERMINE; commands with, 1-87<br />

DISCOUNT.CASH; command, 1-107<br />

DIVIDE; command, 1-109<br />

instead of GLB.STATUS System Data item,<br />

1-1, 1-4, 2-56<br />

logic commands with, 1-137<br />

LOOK.UP; command, 1-154<br />

MULTIPLY; command, 1-186<br />

SUBTRACT; command, 1-247<br />

GLB.STATUS System Data item<br />

AUTO; WRITE setting, 1-37<br />

complex MOVE; setting, 1-174<br />

DATE.CONVERT; setting, 1-77<br />

details of, 2-55<br />

DETERMINE; setting, 1-87<br />

DISCOUNT.CASH; setting, 1-107<br />

MATCH; setting, 1-164<br />

nested DO.WHENs overwriting, 1-112, 2-57<br />

RUN; setting, 1-207<br />

SEND.PRINT; command setting, 1-215<br />

situations initializing, 2-56<br />

situations setting, 2-55<br />

START; setting, 1-241, 1-242, 1-243<br />

STN.INFO; setting, 1-245, 1-246<br />

using GLB.STATUS; command instead of,<br />

1-1, 1-4, 1-137<br />

WAKE.UP; setting, 1-257<br />

GLB.STN, 1-196, 1-202, 1-206, 1-207, 1-213,<br />

1-218, 2-57<br />

GLB.STNHOST, 2-59<br />

GLB.STYLE, 2-59<br />

GLB.SUBSYS, 2-60<br />

GLB.SYSGENDATE, 2-61<br />

GLB.SYSGENTIME, 2-61<br />

GLB.SYSVERSION, 2-62<br />

GLB.TASK, 2-62<br />

GLB.TIME, 2-64<br />

GLB.TITLE, 2-27, 2-64<br />

GLB.TODAY, 2-76<br />

Index-6 v


GLB.TODAYS-DATE-NUM, 2-76<br />

GLB.TODAYS-DAY, 2-77<br />

GLB.TODAYS-MONTH, 2-77<br />

GLB.TODAYS-MONTH-NUM, 2-77<br />

GLB.TODAYS-YEAR, 2-78<br />

GLB.TOTAL, 1-75, 1-105, 2-67<br />

GLB.TRANSTATE, 2-68<br />

GLB.UNIQUE, 2-68<br />

GLB.USER, 1-196, 2-68<br />

GLB.USERCODE, 2-69<br />

GLB.VERSIONID, 2-69<br />

GLB.WORK<br />

details of, 2-70<br />

effects of ABORT; command on, 1-6<br />

GLB.YYMMDD, 2-70<br />

GLB.ZEROS, 1-3, 1-175, 2-70<br />

Global Logics<br />

insertable, 1-141<br />

Global Setup Data arrays<br />

clearing, 1-64<br />

moving, 1-177, 1-179<br />

writing to database, 1-133<br />

Global Setup Data items<br />

in commands, 1-3<br />

Global Work area, 1-6, 2-70<br />

Griffin Universe<br />

UNIX External Automatic Entry, 2-20, 2-53<br />

Group Setup Data<br />

moving, 1-172<br />

GS; command (see GLB.STATUS; command),<br />

1-137<br />

GS; command option<br />

LOOK.UP; command, 1-154<br />

H<br />

HEADING; command option<br />

ON.CHANGE; command, 1-188<br />

heading Frames<br />

Report output, 1-48<br />

high-order values<br />

DETERMINE; GROUP command, 1-100<br />

host name<br />

current, 2-53<br />

External Automatic Entry destination, 2-21<br />

I<br />

Index<br />

Immediate Commit<br />

Automatic Entry, 1-38<br />

INHERIT; option<br />

SWITCH.TO; command, 1-248, 1-253, 2-40,<br />

2-41<br />

INIT; logic command, 1-139<br />

INITIALIZE; logic command, 1-139<br />

INPUT-DATE System Data item, 1-33, 2-71<br />

INS; logic command, 1-141<br />

INSERT; logic command, 1-141<br />

interdatabase access<br />

External Automatic Entry, 1-179<br />

OS 2200 based, 1-226, 2-11, 2-25, 2-26<br />

internal Automatic Entries<br />

GLB.STATUS values for, 1-37<br />

Internal Automatic Entries<br />

initiating, 1-33<br />

INTERNAL option<br />

UNIX CALL; command, 1-53<br />

Ispecs<br />

aborting runtime logic in, 1-6<br />

accessing ROC from, 1-205<br />

automatic updating, 2-24<br />

Copy.From, 1-44, 1-224, 2-16, 2-37<br />

External-only, 1-29<br />

Extract file data from, 1-122<br />

GLB.ERROR effects on, 2-24<br />

initiating Reports from, 1-206<br />

No.Integrity, 1-211<br />

NOF-initiated, 1-217<br />

OLTP View, 1-29, 1-35<br />

originator of current transaction for, 2-30,<br />

2-57<br />

OS 2200 based interdatabase, 1-226, 2-25<br />

page 2 format request, 2-51<br />

PowerClient-initiated, 1-217<br />

privilege of, 2-46<br />

RECALL; command displaying, 1-199<br />

recalling, 2-74<br />

Repeat.From, 2-13, 2-72<br />

screen header line for, 2-2, 2-72<br />

specifying Automatic Entry, 1-29<br />

transaction numbers for, 2-68, 2-78<br />

transferring information between, 2-70<br />

ISPEC System Data item, 1-33, 2-72<br />

v Index-7


Index<br />

J<br />

JTO; logic command, 1-142, 1-146<br />

JUMP.TO; logic command, 1-142, 1-146<br />

K<br />

KEY; command<br />

MATCH; logic command, 1-164, 1-166<br />

key data<br />

MCP environment Profile, 1-144<br />

KEYONLY; command option<br />

DETERMINE; command, 1-144<br />

LOOK.UP; command, 1-144<br />

L<br />

LA; logic command, 1-147<br />

LAB; logic command, 1-146<br />

LABEL; logic command, 1-142, 1-146<br />

language<br />

current <strong>LINC</strong> System, 2-55<br />

LAST-LINE System Data item, 2-13, 2-72<br />

LDA<br />

GLB.MACHINE, 2-36<br />

LDA CALL; command<br />

dllmgr.dll library, 1-55<br />

LEFT.ALIGN; logic command, 1-147<br />

LENGTH; command option<br />

complex MOVE; command, 1-175<br />

library procedures<br />

calling MCP based <strong>LINC</strong> Systems, 1-51<br />

<strong>LINC</strong>/NET file<br />

MCP based, 2-11, 2-12, 2-46<br />

<strong>LINC</strong>IINET file<br />

UNIX, 1-245, 2-11, 2-47<br />

<strong>LINC</strong>NOF file<br />

UNIX, 1-250<br />

LISTBOX* Data Attribute, 1-218<br />

LISTBOX Data Attribute, 1-218<br />

list boxes<br />

dynamic, 1-217<br />

sending PowerClient, 1-217, 1-221<br />

LOAD; logic command, 1-151<br />

LoadAndStick() function<br />

LDA CALL; command, 1-55<br />

locking<br />

database record, 1-120, 1-211<br />

logic<br />

aborting Ispec, 1-6<br />

aborting Report, 1-7<br />

AND logical connector<br />

DO.WHEN; commands, 1-111<br />

logical connectors<br />

AND and OR, 1-111<br />

logically deleted records, 1-87, 1-154, 2-74<br />

logic commands<br />

overview of <strong>LINC</strong>, 1-1<br />

logic loops<br />

breaking out of , 1-142, 1-146<br />

terminating, 1-142, 1-146<br />

LOOK.UP; commands<br />

EVERY logic command, 1-158<br />

GLB.STATUS; command option with, 1-154<br />

GLB.STATUS setting by, 1-153, 1-154<br />

GROUP logic command, 1-161<br />

GS; command option with, 1-154<br />

KEYONLY; command option in, 1-144<br />

in LDA, 1-154<br />

logically deleted records and, 1-154<br />

FROM logic command, 1-160<br />

LOOK.UP; logic command, 1-156<br />

loops created by, 1-153<br />

MULTI; command option in, 1-185<br />

SECURE; command option in, 1-211<br />

SERIAL; command option in, 1-224<br />

SET.DB; commands within loop for, 1-226<br />

variants of, 1-153<br />

loops<br />

breaking out of logic, 1-142, 1-146<br />

creating logic, 1-46<br />

DO.WHEN; conditions creating, 1-111<br />

ending logic, 1-50, 1-116, 1-117, 1-118<br />

Global Logic including, 1-50<br />

MATCH; command, 1-164<br />

railroad diagram syntax, B-2<br />

terminating logic, 1-142, 1-146<br />

LOWER.CASE logic command, 1-163<br />

LSM Security screen, 1-199<br />

LU; logic command, 1-153<br />

M<br />

MA; logic command, 1-179<br />

MAA; logic command, 1-179<br />

MAINT System Data item, 1-23, 1-34, 1-198,<br />

2-72<br />

MAPPER<br />

Extract files for, 1-121, 1-123, 1-237<br />

Index-8 v


MAPPER; command option<br />

EXTRACT command, 1-126<br />

MATCH; logic command, 1-164, 2-37<br />

MD; logic command, 1-183<br />

ME; logic command, 1-168<br />

Memo Components<br />

Multiple Ordinate, 1-96, 1-98, 1-100, 1-103,<br />

1-105<br />

MESSAGE; logic command, 1-168, 1-199, 1-206,<br />

1-207, 1-208, 2-25<br />

messages<br />

sending screen Status line, 1-213<br />

mix number<br />

runtime Report, 2-37<br />

MORTGAGE (M, A.P) action<br />

DISCOUNT.CASH; command, A-2<br />

MOVE.ARRAY; logic command, 1-177<br />

MOVE.AUTO.ARRAY; logic command, 1-179<br />

MOVE.AUTO; logic command, 1-179<br />

MOVE.DATE; logic command, 1-183<br />

MOVE.TIME; logic command, 1-184<br />

MOVE; logic command, 1-172<br />

MP; command option<br />

EXTRACT command, 1-126<br />

MT; logic command, 1-184<br />

MU; logic command, 1-186<br />

MULTI; command option<br />

DETERMINE; command, 1-185<br />

DETERMINE; commands, 1-185<br />

LOOK.UP; command, 1-185<br />

multilanguage Systems, 2-33<br />

multiple record buffer<br />

RDMS, 1-185<br />

MULTIPLY; logic command, 1-186<br />

MV; logic command, 1-172<br />

MVA; logic command, 1-177<br />

N<br />

nesting DO.WHEN; commands, 1-111, 1-114<br />

NO.RELEASE option<br />

CRITICAL.POINT; logic command, 1-72<br />

node name<br />

UNIX External Automatic Entry<br />

destination, 2-21<br />

NOF program<br />

COMS program name for an MCP based<br />

<strong>LINC</strong> System, 2-22<br />

External Automatic Entries to, 2-21<br />

name for OS 2200, 2-22<br />

Index<br />

sending list boxes to, 1-217<br />

shell script initiating UNIX, 2-22<br />

NOF terminal<br />

sending list boxes to, 1-217<br />

Non-Formatted output interface (see NOF),<br />

2-21<br />

non-Integrity Systems<br />

record locking in, 1-211<br />

non-<strong>LINC</strong> systems<br />

External Automatic Entries to, 2-21<br />

interfacing to, 1-29<br />

switching to, 1-248<br />

non-ROC Reports<br />

GLB.TITLE in, 2-64<br />

output from MCP based <strong>LINC</strong> Systems,<br />

1-196<br />

RELEASE; command effects, 1-202<br />

System Data items invalid in, 2-1<br />

NOT.ENTERED Data attribute, 2-9<br />

NOT relational operator<br />

DO.WHEN; command, 1-111<br />

NR command option<br />

CRITICAL.POINT; logic command, 1-72<br />

numeric data items<br />

changing sign of, 1-27, 1-68<br />

left-aligned, 1-147<br />

O<br />

OCH; logic command, 1-187<br />

ODT<br />

sending messages to MCP based <strong>LINC</strong><br />

System, 1-213<br />

OF data item qualification<br />

Report Frame data, 1-1<br />

OLTP<br />

aborted transactions, 1-43<br />

AUTO.FORMAT; command for, 1-179<br />

AUTO; command for, 1-24<br />

GLB.HUBSTATUS values for, 1-37<br />

GLB.STATUS values for, 1-37<br />

MOVE.AUTO command for, 1-179<br />

runtime exceptions, 1-35<br />

sending transactions, 1-34<br />

specifying Automatic Entries for, 1-32<br />

specifying Service required for, 1-35<br />

System Data Items for, 2-38<br />

transaction errors, 1-42<br />

View Ispecs for, 1-29<br />

v Index-9


Index<br />

ON.CHANGE; logic command, 1-187, 1-202,<br />

2-15<br />

ON; command option<br />

SET.TITLE; command, 1-232<br />

Operator Display Terminal<br />

sending messages to MCP based <strong>LINC</strong><br />

System, 1-213<br />

ORACLE SID<br />

UNIX External Automatic Entry<br />

destination, 2-20<br />

UNIX External Automatic Entry origin, 2-39,<br />

2-53<br />

Ordinates<br />

changing values of, 1-130<br />

OR logical connector<br />

DO.WHEN; commands, 1-111<br />

OTHERWISE; logic command, 1-61<br />

output devices<br />

defining Report, 1-3<br />

host-attached, 2-44<br />

overflow (see arithmetic overflow), 1-65<br />

P<br />

PA; command option<br />

RUN; command, 1-207<br />

SWITCH.TO; command, 1-251<br />

page-level locking<br />

SECURE; command option causing OS 2200<br />

environment, 1-211<br />

page 2<br />

format request from, 2-51<br />

PAGE; logic command, 1-193<br />

page number<br />

Report output, 2-41<br />

PA option<br />

RUN; command, 1-208, 1-210<br />

WAKE.UP; command, 1-258<br />

parameters<br />

CALL; command, 1-51, 2-42<br />

passing Report, 1-208, 1-210<br />

WAKE.UP; command passing, 2-42<br />

PARTITION; command option<br />

SWITCH.TO; command, 1-251<br />

PERFORM.FRAME.LOGIC logic command,<br />

1-195<br />

PF; logic command, 1-196<br />

PG; logic command, 1-193<br />

physically deleted records, 1-198, 2-74<br />

PID number<br />

runtime Report, 2-37<br />

pitch settings<br />

Terminal Printer, 2-43<br />

POS; command option<br />

complex MOVE; command, 1-175<br />

DETACH; command, 1-84<br />

POSITION; command option<br />

complex MOVE; command, 1-175<br />

DETACH; command, 1-84<br />

PowerClient<br />

sending list boxes to, 1-217, 1-221<br />

switching to a system running, 1-248, 1-251,<br />

2-41<br />

Pre-Screen logic<br />

RECALL; command ignoring, 1-200<br />

PRINT$ file<br />

sending messages to OS 2200 environment,<br />

1-168<br />

PRINT.FRAME; logic command, 1-196, 1-202,<br />

2-45, 2-46, 2-58<br />

printer<br />

associated, 2-11<br />

host controlling, 2-12<br />

STN.INFO; validating name of, 1-245<br />

print file attributes<br />

controlling MCP based <strong>LINC</strong> Systems, 2-27<br />

priority<br />

Ispec-initiated Report, 2-45<br />

privilege<br />

Ispec, 2-46<br />

Report output printer, 2-46<br />

product<br />

currently running <strong>LINC</strong> Generate<br />

(Deployment) software, 2-47<br />

Profiles<br />

Copy.From Ispecs accessing, 1-224<br />

data in MCP based <strong>LINC</strong> System, 1-144<br />

DETERMINE; commands using, 1-86, 1-96,<br />

1-98, 1-100<br />

duplicate records in, 1-34<br />

Ordinate values for, 1-5<br />

restarting, 1-203<br />

programs<br />

calling external, 1-51<br />

PU; logic command, 1-198<br />

PURGE; logic command, 1-198<br />

PV.ANNUITY (P.A) action<br />

DISCOUNT.CASH; command, A-2<br />

PV.FLOW (P.A*) action<br />

DISCOUNT.CASH; command, A-2<br />

Index-10 v


Q<br />

queuing<br />

Report output, 2-43<br />

R<br />

railroad diagram syntax, B-1<br />

RAS; command option<br />

DETERMINE; ACTUAL command, 1-93<br />

EXTRACT command, 1-127<br />

RC; logic command, 1-199<br />

RDB<br />

Reports against Secondary database, 2-52<br />

RDMS<br />

AUTO.ENTRY applying lock, 1-29<br />

multiple record buffer, 1-185<br />

possible errors with SECURE; command<br />

option, 1-211<br />

RDMUTL utility<br />

OS 2200 based Fast load, 1-151<br />

reading ranges of<br />

database record, 1-185<br />

RECALL; logic command, 1-199, 2-25<br />

record-level locking<br />

SECURE; command option causing MCP<br />

environment, 1-211<br />

recovery<br />

Report, 1-71, 2-49<br />

System Data item value, 2-3<br />

REL; logic command, 1-202<br />

relational operators<br />

DO.WHEN; command, 1-111<br />

RELEASE; logic command, 1-202, 1-215, 2-10,<br />

2-29, 2-38<br />

REMAINDER; command option<br />

DIVIDE; command, 1-109<br />

Remote Database facility (RDB)<br />

MCP environment, 2-52<br />

Repeat.From Ispecs<br />

using GLB.BALANCE in, 2-13<br />

using LAST-LINE in, 2-72<br />

Report Output Control System (see ROC),<br />

1-196<br />

Reports<br />

aborting runtime logic in, 1-7<br />

activating Trace for, 1-209<br />

critical points in, 1-69<br />

heading Frames for, 1-48<br />

identifying initiators of, 2-32<br />

Index<br />

initiating multiple UNIX, 1-207<br />

inserting logic for whole, 1-141<br />

Ispec logic initiating, 1-206<br />

lines per page from, 2-28<br />

multilanguage, 2-49<br />

multiple output destinations for, 1-215<br />

name of, 2-50<br />

No.Integrity, 1-211<br />

number of copies of, 2-37<br />

output destination for, 2-58<br />

output devices for, 1-3<br />

output line count for, 2-34<br />

passing parameters to, 1-208, 1-210<br />

passing runtime information to, 1-9<br />

printer privilege in, 2-46<br />

printing output from, 2-43<br />

priority of, 2-45<br />

recovery of, 2-49<br />

releasing, 1-202, 2-58<br />

RUN; command initiating, 1-206<br />

running as Coroutines or subroutines in<br />

LDA, 1-56<br />

running attached OS 2200 environment,<br />

1-206<br />

running unattached MCP based <strong>LINC</strong><br />

Systems, 1-206<br />

running unattached OS 2200 environment,<br />

1-206<br />

special stationery, 2-29, 2-35, 2-36<br />

suspending execution of, 1-234<br />

System Data items in, 2-3<br />

terminating, 1-118<br />

unique number identifying, 2-50<br />

reserving space in report frames<br />

using GLB.FILLER, 2-27<br />

RESTART; logic command, 1-203<br />

RETAIN.AS; command option<br />

EXTRACT command, 1-127<br />

SET.TITLE; commands clashing with, 1-230<br />

RETAIN.ZERO; command option<br />

LEFT.ALIGN; command, 1-148<br />

RETAINED.AS; command option<br />

DETERMINE; ACTUAL command, 1-93<br />

ROC<br />

accessing, 1-205, 1-250<br />

ROC.MODE; logic command, 1-205<br />

ROC; logic command, 1-205<br />

ROC Alias<br />

UNIX Report, 1-245, 2-30, 2-59<br />

ROC Reports<br />

CRITICAL.POINT; versus SLEEP; in, 1-235<br />

v Index-11


Index<br />

GLB.TITLE in, 2-64, 2-65<br />

PRINT.FRAME; command with, 1-196<br />

RELEASE; command effects, 1-202<br />

retaining output for, 2-51<br />

ROC set or not, 2-51<br />

special stationery, 2-29<br />

user names for, 2-68<br />

video output, 1-196<br />

ROUNDED; command option<br />

ADD; command, 1-15<br />

DIVIDE; command, 1-109<br />

MULTIPLY; command, 1-186<br />

SUBTRACT; command, 1-247<br />

routines<br />

calling, 1-51<br />

row-level locking<br />

SECURE; command option causing UNIX,<br />

1-212<br />

RT; logic command, 1-203<br />

RUN; logic command, 1-206, 2-15, 2-45<br />

run condition words<br />

setting of, 2-63<br />

RZ; command option<br />

LEFT.ALIGN; command, 1-148<br />

S<br />

SB; logic command, 1-247<br />

screen pages<br />

sending data to MCP based <strong>LINC</strong> System,<br />

1-193<br />

screens<br />

header line on Ispec, 2-2, 2-72<br />

positioning cursor on Ispec, 1-74<br />

RECALL; command displaying, 1-199<br />

refreshing display of, 1-200<br />

sending messages to, 1-168, 1-213<br />

secondary database<br />

MCP based Reports running against, 2-52<br />

SECURE; command option<br />

DETERMINE; command, 1-211<br />

LOOK.UP; command, 1-211<br />

LOOK.UP; GROUP command, 1-161<br />

SEND.MESSAGE; logic command, 1-213<br />

SEND.PRINT; logic command, 1-215<br />

SEND.STATUS; logic command, 1-213<br />

SEND; logic command, 1-215<br />

SENDLIST.DYNAMIC; logic command, 1-217<br />

SENDLIST.STATIC; logic command, 1-221<br />

SERIAL; command option<br />

DETERMINE; command, 1-224<br />

SERIAL option<br />

LOOK.UP; command, 1-224<br />

Service<br />

specifying OLTP, 1-35<br />

SET.DB; logic command, 1-226, 2-53<br />

SET.TITLE; logic command, 1-230<br />

SETT; logic command, 1-230<br />

Setup Data arrays<br />

clearing, 1-64<br />

moving, 1-177, 1-179<br />

writing to database, 1-133<br />

Setup Data items<br />

in commands, 1-3<br />

Shadow Reports<br />

designator for, 1-3, 1-5<br />

identifying running, 2-54<br />

passing data from OS 2200, 2-48<br />

PRINT.FRAME; command specifying, 1-196<br />

shell<br />

calling UNIX, 1-51<br />

shell script<br />

START; command initiating UNIX, 1-241,<br />

1-243<br />

SI; logic command, 1-245<br />

SINK (A.SN) action<br />

DISCOUNT.CASH; command, A-3<br />

SLDYN; logic command, 1-217<br />

SLEEP; logic command, 1-202, 1-211, 1-218,<br />

1-234, 1-257, 2-16<br />

SLEEP command option<br />

CRITICAL.POINT logic command, 1-71<br />

SLP; logic command, 1-234<br />

SLSTA; logic command, 1-221<br />

SM; logic command, 1-213<br />

SMSG; logic command, 1-213<br />

SO; logic command, 1-237<br />

software product<br />

currently running <strong>LINC</strong>, 2-47<br />

SORT; logic command, 1-232, 1-237<br />

sorting<br />

complex MOVE; command, 1-174<br />

SP; logic command, 1-215<br />

SS; logic command, 1-213<br />

ST; logic command, 1-241<br />

START; logic command, 1-241, 2-15<br />

start values<br />

DETERMINE; GROUP command, 1-100<br />

LOOK.UP; GROUP command, 1-161<br />

station<br />

MCP based, 2-57<br />

Index-12 v


eference station, 2-57<br />

stationery<br />

special Report, 2-29, 2-35, 2-36<br />

station name<br />

STN.INFO; command validating, 1-245<br />

statistical routines, 1-189<br />

Status line messages<br />

sending screen, 1-213<br />

STN.INFO; logic command, 1-245<br />

subroutines<br />

calling, 1-51<br />

subscripts<br />

array, 2-55<br />

Subsystems<br />

current MCP based, 2-60<br />

SUBTRACT; logic command, 1-247<br />

SWITCH.TO; logic command, 1-199, 1-248,<br />

2-40, 2-41<br />

SWT; logic command, 1-248<br />

symbiont queue<br />

OS 2200 based line printer Report, 2-59<br />

SYNCWAIT option<br />

MCP based DMS II, 1-40<br />

syntax diagrams<br />

conventions for, B-1<br />

System Data items<br />

in commands, 1-3<br />

invalid non-ROC Report, 2-1<br />

Ispec screen header, 2-2<br />

OLTP, 2-38<br />

overview of, 2-1<br />

recovery of, 2-3<br />

System libraries<br />

accessing MCP based <strong>LINC</strong> Systems, 1-57<br />

declaring MCP based <strong>LINC</strong> Systems, 1-57<br />

system time<br />

GLB.TIME giving, 2-64<br />

T<br />

TASKVALUE attribute<br />

setting MCP environment, 2-62<br />

TEACH; command option<br />

RECALL; command, 1-199<br />

Teach screens<br />

RECALL; command displaying, 1-199<br />

terminal printers<br />

saving output to an MCP based <strong>LINC</strong><br />

System, 2-12<br />

Terminal Printer Spooler (TPS), 2-10<br />

Index<br />

terminal type<br />

finding the originating, 2-59<br />

time<br />

retrieving current, 1-184<br />

TIP Tran no<br />

OS 2200 External Automatic Entry<br />

destination, 2-21<br />

TO.ALPHA command option<br />

DATE.CONVERT; command, 1-81<br />

TO.DATE command option<br />

DATE.CONVERT; command, 1-81<br />

TO.DAYNUMBER command option<br />

DATE.CONVERT; command, 1-81<br />

TODAYS-DATE-NUM System Data item, 2-76<br />

TODAYS-DAY System Data item, 2-77<br />

TODAYS-MONTH-NUM System Data item, 2-77<br />

TODAYS-MONTH System Data item, 2-77<br />

TODAYS-YEAR System Data item, 2-78<br />

TODAY System Data item, 2-76<br />

TPS<br />

MCP based Reports using, 2-10<br />

TR; logic command, 1-255<br />

TRACE; logic command, 1-255<br />

Trace function<br />

Reports, 1-209<br />

TRACE option<br />

RUN; command, 1-209<br />

tran id<br />

OS 2200 based <strong>LINC</strong> System, 2-41, 2-52, 2-54<br />

TRANNO System Data item, 2-78<br />

transaction numbers, 2-78<br />

transaction state<br />

MCP based runtime Report, 2-68<br />

translation<br />

MAINT System Data item, 2-73<br />

TR option<br />

RUN; command, 1-209<br />

truncation<br />

complex MOVE; command, 1-174<br />

Two-Phase commit<br />

default setting for, 2-71<br />

External Automatic Entries, 1-40<br />

OLTP transactions with, 1-35<br />

U<br />

unique number<br />

Ispec transaction, 2-68<br />

running Report, 2-50<br />

UNIX<br />

v Index-13


Index<br />

database type, 2-18<br />

UNIX shell<br />

calling, 1-51<br />

UnstickAndFree() function<br />

LDA CALL; command, 1-55<br />

UNTIL; command option<br />

LOOK.UP; GROUP command, 1-161<br />

SLEEP; command, 1-234<br />

Update program<br />

current MCP based, 2-60<br />

UPPER.CASE logic command, 1-256<br />

usercode<br />

current MCP environment sign-on, 2-69<br />

user id<br />

current OS 2200 sign-on, 2-69<br />

UNIX, 2-57<br />

USER interface program<br />

External Automatic Entries to, 2-21<br />

user libraries<br />

accessing MCP based <strong>LINC</strong> Systems, 1-57<br />

usernames<br />

current UNIX sign-on, 2-69<br />

MCP based TPS Report, 2-10<br />

obtaining information about UNIX, 1-245<br />

ROC Report, 2-68<br />

USERPRT print handler program<br />

OS 2200, 2-48<br />

user station PID<br />

OS 2200, 2-57<br />

V<br />

validation<br />

Copy.From Ispec, 1-44<br />

version identification<br />

description, 2-69<br />

generate date, 2-49, 2-61<br />

generate number, 2-62<br />

generate time, 2-49, 2-61<br />

Report number, 2-51<br />

video Reports<br />

initiation of, 1-206<br />

non-ROC MCP environment, 1-202<br />

W<br />

WAKE.UP; logic command, 1-208, 1-257<br />

WFL job<br />

accessing GLB.TASK in an MCP<br />

environment, 2-62<br />

chargecodes for an MCP based <strong>LINC</strong><br />

System, 2-16<br />

START; command initiating MCP<br />

environment, 1-241<br />

WU; logic command, 1-257<br />

Z<br />

zero suppression, 1-147<br />

:BDD <strong>LINC</strong> System command, 2-64<br />

:COD <strong>LINC</strong> System command, 1-206, 2-15<br />

:RUN <strong>LINC</strong> System command, 1-206<br />

:SLA <strong>LINC</strong> System command, 2-55<br />

:STO <strong>LINC</strong> System command, 2-16<br />

Index-14 v


Tape<br />

Fold Here<br />

Airmail<br />

<strong>Unisys</strong> Australia Pty Ltd<br />

115-117 Wicks Rd<br />

North Ryde, NSW 2113<br />

Australia<br />

Cut along dashed line<br />

Do Not Staple<br />

Please Fold and Fasten<br />

Attention: ACUS Product Information<br />

Correct Airmail<br />

Postage Required<br />

Tape


Addition Deletion<br />

Revision Error<br />

<strong>Public</strong>ation title<br />

Document number<br />

Comments:<br />

Name<br />

Title<br />

Address<br />

City<br />

Help Us To Help You<br />

<strong>Unisys</strong> Corporation is interested in your comments and suggestions regarding this manual. We will<br />

use them to improve the quality of your Product Information. Please check type of suggestion:<br />

Company<br />

Date<br />

Telephone number<br />

( )<br />

State ZIP code


*-*

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!