[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference rocks::dec_edi

Title:DEC/EDI
Notice:DEC/EDI V2.1 - see note 2002
Moderator:METSYS::BABER
Created:Wed Jun 06 1990
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:3150
Total number of notes:13466

2998.0. "MARKER does not follow MARK_BLOCK on stack" by EDITEX::bjodial1_port4.bjo.dec.com::stoddart (Lorey K. Stoddart - EDI to go!) Thu Feb 06 1997 20:29

Hi, I am havong a problem with FileBridge and using instances

Here's what I am trying to do and what I get:

Saving the table...
Generating a listing in SC_850.LIS
Parsing the table...

 EDI_Z5.GEWEI = ;                        /* MEA#2:MEA02...Weight Unit */
  
 EDI_Z5.EINKZ = if ($EXIST(SCH{2}:SCH01)) then "X"; /* if multiple SCH */
 Line Number 1786
%FBR-E-SYNTAX_ERROR, Parser Syntax Error 
Programming error - MARKER does not follow MARK_BLOCK on stack
Compiling the table...

(note: the following is not even part of the above map)

 CONT_INFO = " ";                          /* Initialize Control Info 
Variable /
  
 CONT_INFO = DECEDI$R3_CONT_NUMBER($APPLICATION,$DOCCOUNT);
 Line Number 1335
%FBR-E-TG_UNK_FUNC, Unknown function called 
Compile Aborted

What am I doing wrong?

FileBridge 2.1C
Alpha VMS 6.2
T.RTitleUserPersonal
Name
DateLines
2998.1CSC32::B_ALTMIREThu Feb 06 1997 21:046
    Lorrey,
    	I think $EXIST can only be used to check for a point in the source
    tree "$EXIST(SCH{2})" . You can't use it to check for the existance of
    a field in a record or an element in a segment.
    
    Bill
2998.2Doc says - check for if existEDITEX::bjodial1_port9.bjo.dec.com::stoddartLorey K. Stoddart - EDI to go!Fri Feb 07 1997 17:2513
Bill,

When you say check for a point, what to you mean?

The documentation says "Returns TRUE is specified node's instance exists"

That tells me it is checking for existance.

Should I log a formal call for this?  Is it a bug?

Engineering - got any comments?

Lorey
2998.3to clarify some jargonSYSTEM::newdial_2.reo.dec.com::JOHNSONRichard Johnson , http://samedi.reo.dec.comFri Feb 07 1997 18:3827
Lorey

The function $EXIST(node) takes a node as a parameter.

The function will return TRUE if the node's instance exists in
the source tree, FALSE if it does not (the source tree can be seen
near the top of a debug output file. It is the internal representation of 
the input data read from a .dat or .in_house file).

The 'node' can be qualified with an instance number i.e. node{1}, 
though this is not explicitly necessary.

The function will then ascertain whether that particulr instance
exists in the source tree(input data) or not.

What you are attempting I think is to pass a node{instance}:field
to $EXIST.

$EXIST does not understand the :field part of what you are passing.
It cannot check for the existance of particular element/field within a
segment/record, it can only check on the existance of the whole
segment/record.

Does that claify things?

Richard
EDI Engineering
2998.4Thanks - that workedEDITEX::bjodial1_port11.bjo.dec.com::stoddartLorey K. Stoddart - EDI to go!Fri Feb 07 1997 23:068
Yep,  I read the documentation wrong and tried using a field.  Just used the
segment name (nose), and it looks good!

As ALWAYS,

Thanks,

Lorey