*DECK DBWA2DNAT 
USETEXT DBTEXT
FUNC WA$TO$DNAT((LWA)); 
*CALL DEBUGVARS 
*CALL DBCORTAB
XREF PROC IERR$;
START("WA$TO$DNAT") 
#THIS FUNCTION SCANS THE CORRESPONDANCE TABLE ATTEMPTING TO MATCH 
THE SPECIFIED WORD ADDRESS WITH THOSE IN THE TABLE. 
IF A MATCH OCCURS, THE CORRESPONDING DNAT VALUE IS RETURNED,
ELSE, IF THE END OF THE TABLE IS REACHED AN INTERNAL ERROR MESSAGE
IS GENERATED. 
# 
ITEM LWA; #LOCAL WORD ADDRESS#
STEPLOOP(CT$PTR,1,1,CT$LEN,"ALL URWA ENTRIES CHECKED")
     OV$($SET$,"CT$WA",CT$WA[CT$PTR]) 
    IV$($SET$,"DNAT",CT$DNAT[CT$PTR]) 
    IV$($SET$,"CT$PTR",CT$PTR)
  IF CT$WA[CT$PTR] EQ LWA 
  THENB("MATCH OCCURS") 
    WA$TO$DNAT=CT$DNAT[CT$PTR]; 
    QUIT
  ENDIF 
ENDLOOP("ALL URWA ENTRIES CHECKED") 
IERR$(L18,ABORT); #END OF TABLE BUT NO MATCH# 
FINIS("WA$TO$DNAT") 
TERM
