# File lib/edi4r/standards.rb, line 402
      def each_BCDS( id, &b )
        list = nil
        case id
        when /^[CES]\d{3}$/     # C)omposite
          list = cde(id)
          
        when /^\d{4}$/          # Simple D)E
          list = de(id)

        when /^[A-Z]{3}$/       # S)egment
          list = segment(id)

        when /^[A-Z]{6}:$/      # Message B)ranch
          list = message(id)

          # Workaround for the IDoc case: 
          # We identify entry type by a (intermediate) prefix
          #
        when /^d(.*)$/          # Simple D)E
          list = de($1)

        when /^s(.*)$/          # S)egment, SAP IDOC
          list = segment($1)

        when /^m(.*)$/          # Message B)ranch
          list = message($1)

        else                    # Should never occur
          raise IndexError, "Not a legal BCDS entry id: '#{id}'"
        end

        raise EDILookupError, "#{id} not in directory!" if list.nil?
        list.each( &b )
      end