@@ -845,6 +845,7 @@ DBgetPlots <- function (states = NULL,
845845# # Get states, Evalid and/or invyrs info
846846# #########################################################
847847returnPOP <- ifelse (datsource == " datamart" ,TRUE ,FALSE )
848+
848849if (! is.null(evalInfo )) {
849850list.items <- c(" states" ," invtype" )
850851evalInfo <- pcheck.object(evalInfo ," evalInfo" ,list.items = list.items )
@@ -934,9 +935,10 @@ DBgetPlots <- function (states = NULL,
934935return (NULL )
935936 }
936937 }
937-
938+
938939if (is.null(evalInfo )) stop(" no data to return" )
939940states <- evalInfo $ states
941+ stcdlst <- evalInfo $ stcdlst
940942evalidlist <- evalInfo $ evalidlist
941943evalEndyrlist <- evalInfo $ evalEndyrlist
942944evalTypelist <- evalInfo $ evalTypelist
@@ -964,13 +966,15 @@ DBgetPlots <- function (states = NULL,
964966# }
965967 }
966968 }
969+
967970if (! is.null(PLOTe )&& is.data.frame(PLOTe )) {
968971pltflds <- names(PLOTe )
969972statenm <- findnm(" STATECD" ,pltflds )
970973if (is.null(statenm )) {
971974PLOTe <- NULL
972975 }else {
973- if (length(unique(PLOTe [[statenm ]]))!= length(states )) {
976+ # if (length(unique(PLOTe[[statenm]])) != length(states)) {
977+ if (! all(stcdlst %in% unique(PLOTe [[statenm ]]))) {
974978 message(" invalid PLOT from DBgetEvalid" )
975979PLOTe <- NULL
976980 }