TEMPORARY DATA PLACED IN ^TMP DDSREFT = ^TMP("DDS", $J, +DDS) DDSDA = DA,DA(1),...DA(n) (the IENS) ____________________________________________________________________________________________ @DDSREFT@(pg, bk) pg, bk, DDSDA) = current DDSDA (could be "0,") = undefined : data never loaded, load 1 : don't need to reload data (set in DDS1, DDS4) pg, bk, DDSDA, "GL") = global root ____________________________________________________________________________________________ @DDSREFT@(Ffile#, DDSDA, field#, "D") = current internal value (for mults = rec#) "F") = undefined : never changed 1 : file, don't reload 3: : triggered or default, file, don't reload "M") = 0^subfile root^subfile# (for wp) 1^subfile root^subfile# (for mult) "O") = original value (form-only fields) also, if a field has a new-style index, set to old value in DDS4. "X") = external form of "D" "K") = uniqueness index ien (if the field is a key field with a field-level uniqueness index)^… "A") = req^dup^right justify^disable editing^disallow LAYGO (set by UNED or REQ^DDSUTL) Form only fields: Ffile# = F0 field# = DDO,bk Record selection page: DDSDA = "0," Word processing fields: "D", 0) = header "D", 1) = line 1 "D", 2) = line 2 ... "D", n) = line n ____________________________________________________________________________________________ @DDSREFT@("XCAP", pg, caption, bk,DDO) = $Y^$X^req^cap only (for jumping to executable captions) (set by DDSR) ____________________________________________________________________________________________ @DDSREFT@("ADD") = # elements in array "ADD", 1) = DDSDA^DIE (sub)records added between saves. These need to be deleted on Quit. 3/7/2016 @ 3:30 PM 1 c:\docs\sm&se\sm_tmp.doc ... 3/7/2016 @ 3:30 PM 2 c:\docs\sm&se\sm_tmp.doc @DDSREFT@(pg, bk) = current parent DDSDA (or, for backward pointers, DDSDA of record pointed to) pg, bk, parent DDSDA) = load flag^ parent DDSDA^ seq # of top line^ current line #^ current seq #^ # reps^ parent DDP^ mult field #^ selection field^ index [1]* (parent DDSDA = DDS6DA) [2] [3] [4] [5] [6] (for back ptrs, the DDP of pointedto file) [7] (for back ptrs, null) [8] [9] *these pieces are put into DDSREP pg, bk, parent DDSDA, seq #1) = DDSDA of subrecord on line 1 ... seq #n) = DDSDA of subrecord on line n "B", DDSDA) = seq # ... pg, bk, parent DDSDA, "GL") = global root of multiple e.g. ^DIZ(file#, DA, "S", For backward pointers: the global root of pointing file 3/7/2016 @ 3:30 PM 3 c:\docs\sm&se\sm_tmp.doc THE "AY" INDEX IN ^DIST DDSREFS = ^DIST(.403, +DDS, "AY") @DDSREFS@(pg, bk) = bk $Y [1]^ bk $X [2] ^ DDP [3]^ DDSDN [4]^ DDSTP [5] ^ [6] ^ replication # [7]^ DDSPTB (flag=1) [8] ^ first editable field on block [9] ^ selection field [10] pg, bk, DDO, "D") = data $Y [1] ^ data $X [2] ^ data $L [3] ^ field # [4] ^ xec cap $Y [5] ^ xec cap $X [6] ^ colon [7] ^ required [8] ^ computed field [9] ^ right justified [10] pg, bk, DDO, "N") = undefined (possible for non-wp, non mults) : uneditable because 1. no coordinates 2. computed field 3. whole block is display only up [1]^ down [2]^ right [3]^ left [4]^ next [5] up [6]^ down [7]^ right [8]^ left [9]^ next [10] ^1 (for wp or mult) [11] (Pieces 6 through 10 are for repeating blocks. Each of these pieces can be DDO or DDO,bk if different block. For the first editable field in repeating block, pieces 3 and 5 are next block or the Command Line -- used if current DA is 0. pg, 0, 0, "N") = Same as above for Command Line pg, bk, "PTB") = List of fields used to determine DA file,field[;J] ^ ... or 0,DDO,bk[;J] ^ ... "PTB",1) 2) ... pg, "FIRST") 3/7/2016 @ 3:30 PM = code = code ... GDA^DDS10 loops through these nodes to determine DA = DDO, bk First field on page 4 c:\docs\sm&se\sm_tmp.doc @DDSREFS@("ASUB", pg, bk, DDO) = pg This field is this subpage the parent of "COMP", file #, field #, pg, bk, DDO) = "" This file/field is used in this computed field. -- For repainting Form only fields: file # = 0, field # = "DDO,bk" "COMPE", bk, DDO) = computed expression using DDSE(n) DDO, 1) = code that sets DDSE(1) | DDSCOMP loops ... | through these nodes to DDO, n) = code that sets DDSE(n) | set the DDSE(n) array. "CAP, caption, pg group, pg, bk, DDO) = "" This caption belongs to this page group and is this pg, bk, DDO. Used for ^-jumping. pg group is of the form 1^2^3 and is the list of pages connected via the next and previous page links. Ffile#, field#, "L", pg, bk, DDO) = "" Where on form is this field located. Used for repainting triggered fields on the current page. For form-only fields: Ffile# = "F0", field# = DDO,bk "PT", file#, field#, pg, bk) = "" This file/field points to this page/block. Used for repainting pointed-to block. For form only fields: file# = 0, field# = DDO,bk "X", pg, $Y, $X) = captions on this line , "A") = $X1;$X2;U ^ $X1;$X2;U The "A" node indicates the columns where the caption has special attributes. $X1 is the start $X where attribute U (underline) begins, and $X2 is the $X where the attribute ends 3/7/2016 @ 3:30 PM 5 c:\docs\sm&se\sm_tmp.doc