\name{ConfigReplaceVariablesInString}
\alias{ConfigReplaceVariablesInString}
%- Also NEED an '\alias' for EACH other topic documented here.
\title{
%%  ~~function to do ... ~~
}
\description{
%%  ~~ A concise (1-5 lines) description of what the function does. ~~
}
\usage{
ConfigReplaceVariablesInString(string, replace_values, allow_undefined_key_vars = FALSE)
}
%- maybe also 'usage' for other objects documented here.
\arguments{
  \item{string}{
%%     ~~Describe \code{string} here~~
}
  \item{replace_values}{
%%     ~~Describe \code{replace_values} here~~
}
  \item{allow_undefined_key_vars}{
%%     ~~Describe \code{allow_undefined_key_vars} here~~
}
}
\details{
%%  ~~ If necessary, more details than the description above ~~
}
\value{
%%  ~Describe the value returned
%%  If it is a LIST, use
%%  \item{comp1 }{Description of 'comp1'}
%%  \item{comp2 }{Description of 'comp2'}
%% ...
}
\references{
%% ~put references to the literature/web site here ~
}
\author{
%%  ~~who you are~~
}
\note{
%%  ~~further notes~~
}

%% ~Make other sections like Warning with \section{Warning }{....} ~

\seealso{
%% ~~objects to See Also as \code{\link{help}}, ~~~
}
\examples{
##---- Should be DIRECTLY executable !! ----
##-- ==>  Define data, use random,
##--	or do  help(data=index)  for the standard data sets.

## The function is currently defined as
function (string, replace_values, allow_undefined_key_vars = FALSE) 
{
    if (length(strsplit(string, "\\$")[[1]]) > 1) {
        parts <- strsplit(string, "\\$")[[1]]
        output <- ""
        i <- 0
        for (part in parts) {
            if (i\%\%2 == 0) {
                output <- paste(output, part, sep = "")
            }
            else {
                if (part \%in\% names(replace_values)) {
                  output <- paste(output, ConfigReplaceVariablesInString(replace_values[[part]], 
                    replace_values, allow_undefined_key_vars), 
                    sep = "")
                }
                else if (allow_undefined_key_vars && (part \%in\% 
                  c("STORE_FREQ", "START_DATE", "MEMBER_NUMBER", 
                    "YEAR", "MONTH"))) {
                  output <- paste0(output, "$", part, "$")
                }
                else {
                  stop(paste("Error: The variable $", part, "$ was not defined in the configuration file.", 
                    sep = ""))
                }
            }
            i <- i + 1
        }
        output
    }
    else {
        string
    }
  }
}
% Add one or more standard keywords, see file 'KEYWORDS' in the
% R documentation directory.
\keyword{ ~kwd1 }
\keyword{ ~kwd2 }% __ONLY ONE__ keyword per line
