*DECK GRPIND
USETEXT DNTEXT
USETEXT RPTEXT
PROC GRPIND;  #CYR32# 
          BEGIN 
  
          #GROUP INDICATE  ROUTINE# 
          #*# 
          #THIS ROUTINE#
          #- PERFORMS ANALYSIS ON THE DNAT ENTRIES FOR ONE REPORT#
          #GROUP WITH RESPECT TO THE SYNTAX RULES IN SECTION# 
          #6.22.3  FOR THE GROUP INDICATE CLAUSE, WHICH#
          #DECREE THAT# 
          #GROUP INDICATE CLAUSE MAY ONLY APPEAR IN A DETAIL# 
          #REPORT GROUP ENTRY THAT DEFINES A PRINTABLE ITEM.# 
  
          ITEM   RGDNATPTR, 
                AUXINDEX ;
  
  
          ITEM   $TEMP$,
                $DUMMY$;
  
          XREF   PROC         INTERCEPT;
          XREF   FUNC         PLTCNVRT I; 
          XREF   PROC         RWSET    ;
          XREF   PROC         RWSET1   ;
          XREF   PROC         GETNEXT  ;
          XREF   FUNC         RP$AUXPTR;
          XREF   FUNC         RWGET    ;
          XREF   FUNC         RWGET1   ;
  
          DEF    GET          #GETFIELD#; 
          DEF    SET          #SETFIELD#; 
          DEF    GETQ         #GETQUICK#; 
  
  
*CALL RPCOMM
*CALL DNATVALS
*CALL GETSET
*CALL TABLNAMES 
          CONTROL EJECT;
  
  
  
  
  # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *#
  # * #   EPTRACE("GRPIND ")                                       # * #
  # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *#
  
          IF FIRSTF3OR4DE EQ 0 THEN 
              GOTO ENDGRPIND; 
          FOR RGDNATPTR = FIRSTF3OR4DE STEP 1 UNTIL LASTRGDNAT DO 
              BEGIN 
              AUXINDEX  =  RP$AUXPTR(RGDNATPTR);
              $TEMP$ = GETQ(DN$LEVEL,DNAT$,RGDNATPTR);
              IF $TEMP$ GR 1
  
                  AND 
                  RWGET(RAFORMAT4BIT,AUXINDEX) EQ 1 
                  #IE.- A FORMAT 4  ENTRY#
  
                  AND 
                  RWGET(RAGROUPBIT,AUXINDEX)EQ 1
              THEN
                  BEGIN 
                  $TEMP$ = GETQ(DN$LEVEL,DNAT$,DNATPOINTER);
                  IF $TEMP$ EQ 1
                      AND 
                      RWGET(RATYPERGROUP,AUXINDEX) EQ DE
                  THEN
                      #IF NOT A TYPE DETAIL, FORMATS$ANAL RT# 
                      #ALREADY ISSUED A DIAGNOSTIC.  #
  
                      BEGIN 
                      IF RWGET(RAPRINTABLEB,AUXINDEX) EQ 1
                      THEN
                          GOTO GIENDFIRSTDO;
  
                      #ELSE   ERROR -#
  
  
                      #DIAGNOSTIC#
                      #GROUP INDICATE CLAUSE MAY ONLY APPEAR# 
                      # IN A DETAIL ENTRY   # 
                      #THAT DEFINES A PRINTABLE ITEM# 
  
                      ANALONLYRGRP = 1; 
                      CALLDDIAG(RGDNATPTR,47);
                      END 
                  END 
GIENDFIRSTDO: 
              END 
ENDGRPIND:  
  
  # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *#
  # * #   EXTRACE("GRPIND ")                                       # * #
  # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *#
  
          END #GRPIND#
          TERM
