LINC Programming Reference Manual - Public Support Login - Unisys
LINC Programming Reference Manual - Public Support Login - Unisys
LINC Programming Reference Manual - Public Support Login - Unisys
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
*-*