BMXADO ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ;
Source file <BMXADO.m>
| Package | Total | Call Graph | 
|---|---|---|
| M Transfer | 2 | VIEW^BMXADOV (JFLD,JOIN)^BMXADOVJ | 
| VA Fileman | 2 | ^DIC ^DIR | 
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| CKSUB(FILE,DAS) | ; CHECK THE DA STRING FOR VALIDITY AND MAKE THE DA ARRAY | |
| JEP | ; EP-RECURSION RE-ENTRY POINT FOR JOINS | |
| SS(OUT,SIEN,DAS,VSTG,JSTG) | ; EP - RETURN THE SCHEMA STRING IN AN ARRAY ; OUT=OUTPUT VARIABLE (PASSED BY REFERENCE) ; THE OUTPUT ARRAY IS GENERATED FROM DATA IN THE 'BMX ADO SCHEMA' FILE AND THE FILEMAN DATABASE ; RECORDS ARE SEPARATED WITH $C(30). FIELDS ARE SEPARATED BY "^". FIELD PROPERTIES ARE SEPARATED BY "|". ; ONE RECORD PER OUTPUT NODE. ; 1ST RECORD IS THE "INTRODUCTION RECORD": "@@@meta@@@BMXIEN|FILE #|DA STRING" ; THE SECOND RECORD IS THE HEADER RECORD. THE REST ARE THE DATA RECORDS ; RECORD FORMAT: FILE#|FIELD#|DATA TYPE|LENGTH|FIELDNAME|READONLY|KEYFIELD|NULLOK_$C(30) ; SIEN=SCHEMA NAME OR IEN FROM BMX ADO SCHEMA FILE ; DAS= "DA" STRING: STRING FOR DEFINING PARENT FILES ; EXAMPLE: "4,8," CORRESPONDS TO DA(2), DA(1). ; PRIMARILY USED AS A "SEED" FOR RE-ENTRY - IF INDEX IS PRESENT. ; IF NOT A SEED, DO NOT INCLUDE THE BOTTOM LEVEL IEN: DA; E.G., "4,8," ; DO NOT CONFUSE WITH "IENS STRING" OF FILEMAN SILENT CALLS ; VSTG=VIEW STRING INSTRUCTIONS (SEE BMXADOV FOR DETAILS) ; JSTG=JOIN STRING INSTRUCTIONS (SEE BMXADOVJ FOR DETAILS) ; | |
| MERR | ; MUMPS ERROR TRAP | |
| DATASET | ||
| JVIEW | ; JOIN VIEW - SET XCNT AND RESET THE VSTG | |
| LINE(FILE) | ; GET FIELD VALUES | |
| DIR | ||
| SSD(OUT,SIEN,DAS,VSTG,JSTG) | ;Debug entry point | |
| ERR(ERR) | ;EP - BMX ADO SCHEMA ERROR PROCESSOR | |
| SFH(DAS) | ; SUBFILE HEADERS | 
| RPC Name | Call Tags | 
|---|---|
| BMX ADO SS | SS | 
| FileNo | Call Tags | 
|---|---|
| ^BMXADO - [#90093.99] | Classic Fileman Calls | 
| Name | Line Occurrences (* Changed, ! Killed) | 
|---|---|
| ^%ZOSF("TRAP" | SS+20 | 
| ^BMXADO - [#90093.99] | SS+23, SS+25, JEP+7, JEP+9 | 
| ^DD( | SS+26, CKSUB+3, LINE+7, LINE+14, LINE+18 | 
| ^TMP("BMX ADO" | SS+18 | 
| ^TMP("BMX JOIN" | DATASET+1, JVIEW+9 | 
| Name | Line Occurrences | 
|---|---|
| $$CKSUB | SS+27 | 
| DIR | LINE+11, LINE+15, LINE+19, LINE+22, LINE+25 | 
| ERR | SS+21, SS+22, SS+23, SS+26, SS+27, JEP+1, MERR+4 | 
| JVIEW | DATASET+1 | 
| SFH | JEP+4 | 
| >> | Not killed explicitly | 
| * | Changed | 
| ! | Killed | 
| ~ | Newed | 
| Name | Field # of Occurrence | 
|---|---|
| % | SS+24~, JEP+9*, JEP+10*, JEP+11*, JEP+16*, JVIEW+1~, JVIEW+11*, JVIEW+12*, JVIEW+13, SFH+1~ | 
| >> ARR( | LINE+3 | 
| B | SS+24~, SS+28*, JEP+2, JEP+8, JEP+9, JEP+10, SFH+7, LINE+4, LINE+5, LINE+6 | 
| C | SS+24~, SS+28* | 
| DA | JVIEW+1~, JVIEW+8*, JVIEW+9*, JVIEW+12, JVIEW+15, JVIEW+16, JVIEW+17 | 
| DAS | SSD~, SS~, SS+27, JEP+2, DATASET, JVIEW+15*, SFH~, SFH+2, CKSUB~, CKSUB+4 , CKSUB+6 | 
| >> DFLD | JEP+17, JVIEW+5 | 
| DIC | SS+17~, SS+22* | 
| DIC(0 | SS+22* | 
| DIR | LINE+1~, LINE+24* | 
| DIR("A" | LINE+6* | 
| DIR(0 | LINE+10*, LINE+14*, LINE+19*, LINE+21* | 
| DP | LINE+1~, LINE+20*, LINE+21 | 
| DS | LINE+1~, LINE+18*, LINE+19, LINE+20 | 
| ERR | SS+17~, SS+21*, SS+22*, SS+23*, SS+26*, SS+27*, JEP+1*, ERR~, ERR+2 | 
| FIEN | SS+24~, SS+25*, SS+26, SS+27, JEP+2, JEP+3, JEP+5, JEP+8, JVIEW+16, SFH+7 , CKSUB+1~, CKSUB+2*, CKSUB+3* | 
| FILE | CKSUB~, CKSUB+2, LINE~, LINE+7, LINE+14, LINE+18 | 
| FLD | SFH+1~, SFH+5*, SFH+7, LINE+1~, LINE+4*, LINE+7, LINE+14, LINE+18 | 
| FLDIEN | SS+24~, JEP+6*, JEP+7* | 
| JSTG | SSD~, SS~, DATASET+3*, DATASET+4 | 
| L | SFH+1~, SFH+2*, SFH+3, SFH+4 | 
| LEV | SFH+1~, SFH+4*, SFH+5, SFH+7 | 
| LEVEL | SS+24~, CKSUB+1~, CKSUB+3*, CKSUB+4, CKSUB+5 | 
| LINE | LINE+1~, LINE+2*, LINE+27, DIR+3* | 
| NODE | JVIEW+1~, JVIEW+2*, JVIEW+3*, JVIEW+4, JVIEW+7, LINE+1~, LINE+3* | 
| OUT | SSD~, SS~, SS+18*, JEP+2, JEP+3, JEP+5, JEP+13, JEP+16, DATASET+2, JVIEW+3 , JVIEW+9, SFH+7, ERR+3 | 
| PCE | SFH+1~, SFH+3*, SFH+4 | 
| PF | LINE+1~, LINE+9*, LINE+10 | 
| >> SDETAIL | DATASET+1, JVIEW+9, JVIEW+15 | 
| SET | LINE+1~ | 
| SF | SS+24~, SS+27*, JEP+1, JEP+4 | 
| SIEN | SSD~, SS~, SS+21, SS+22*, SS+23, SS+25, JEP+7, JEP+9, DATASET, DATASET+4 | 
| STG | SS+24~, JEP+7*, JEP+8, JEP+9, JEP+10, JEP+11, LINE+1~, LINE+3*, LINE+4, LINE+5 , LINE+6 | 
| >> SUB | JEP+1, JEP+3, JVIEW+5, JVIEW+15 | 
| TOT | SS+24~, SS+28*, JEP+2*, JEP+3*, JEP+5*, JEP+12*, JEP+13, JEP+15, JEP+16, DATASET+2 , JVIEW+9, SFH+6*, SFH+7 | 
| U | SS+25, JEP+2, JEP+8, JEP+9, JEP+10, JEP+11, JEP+16, SFH+7, LINE+3, LINE+4 , LINE+6, LINE+7, LINE+9, LINE+14, LINE+18, DIR+1, DIR+3 | 
| VSTG | SSD~, SS~, JEP+17*, JEP+18, DATASET*, DATASET+2, DATASET+3, JVIEW+5, JVIEW+9, JVIEW+10 , JVIEW+11, JVIEW+13*, JVIEW+15*, JVIEW+16*, JVIEW+17* | 
| X | SS+17~, SS+20*, SS+22*, SS+24~, JEP+8*, JEP+9*, JEP+10*, JEP+11*, JEP+13, SFH+1~ , LINE+1~, LINE+7*, LINE+8, LINE+9, LINE+13, LINE+17, MERR+1~, MERR+3*, MERR+4, ERR+1~ , ERR+2*, ERR+3 | 
| XCNT | JVIEW+1~, JVIEW+7* | 
| Y | SS+17~, SS+22, SS+24~, LINE+3*, LINE+4*, LINE+6*, LINE+9*, DIR+1*, DIR+2*, DIR+3 | 
| Z | SFH+1~, SFH+2*, SFH+5 |