Probably the easiest way would be to make a new variable in your source data which has only the middle 6 digits, and ask users to only enter the middle six digits as the prompt value.
The harder way would be to allow users to enter the full 11 digits, and have your code select select the middle 6 digits and use that for the WHERE subsetting. Selecting the middle 6 digits should be easy, but adapting %_eg_whereParam may be hard just cuz it's a lot of code. And I'm not sure if EG would even let you create your own version of the macro. If you're comfortable programming, you might be better off writing your own (simpler) macro to use on the WHERE statement.
If it helps, here's the definition of %_eg_whereParam that I see (it may evolve over versions):
%macro _eg_WhereParam( COLUMN, PARM, OPERATOR, TYPE=S, MATCHALL=_ALL_VALUES_, MATCHALL_CLAUSE=1, MAX= , IS_EXPLICIT=0, MATCH_CASE=1);
%local q1 q2 sq1 sq2;
%local isEmpty;
%local isEqual isNotEqual;
%local isIn isNotIn;
%local isString;
%local isBetween;
%let isEqual = ("%QUPCASE(&OPERATOR)" = "EQ" OR "&OPERATOR" = "=");
%let isNotEqual = ("%QUPCASE(&OPERATOR)" = "NE" OR "&OPERATOR" = "<>");
%let isIn = ("%QUPCASE(&OPERATOR)" = "IN");
%let isNotIn = ("%QUPCASE(&OPERATOR)" = "NOT IN");
%let isString = (%QUPCASE(&TYPE) eq S or %QUPCASE(&TYPE) eq STRING );
%if &isString %then
%do;
%if "&MATCH_CASE" eq "0" %then %do;
%let COLUMN = %str(UPPER%(&COLUMN%));
%end;
%let q1=%str(%");
%let q2=%str(%");
%let sq1=%str(%');
%let sq2=%str(%');
%end;
%else %if %QUPCASE(&TYPE) eq D or %QUPCASE(&TYPE) eq DATE %then
%do;
%let q1=%str(%");
%let q2=%str(%"d);
%let sq1=%str(%');
%let sq2=%str(%');
%end;
%else %if %QUPCASE(&TYPE) eq T or %QUPCASE(&TYPE) eq TIME %then
%do;
%let q1=%str(%");
%let q2=%str(%"t);
%let sq1=%str(%');
%let sq2=%str(%');
%end;
%else %if %QUPCASE(&TYPE) eq DT or %QUPCASE(&TYPE) eq DATETIME %then
%do;
%let q1=%str(%");
%let q2=%str(%"dt);
%let sq1=%str(%');
%let sq2=%str(%');
%end;
%else
%do;
%let q1=;
%let q2=;
%let sq1=;
%let sq2=;
%end;
%if "&PARM" = "" %then %let PARM=&COLUMN;
%let isBetween = ("%QUPCASE(&OPERATOR)"="BETWEEN" or "%QUPCASE(&OPERATOR)"="NOT BETWEEN");
%if "&MAX" = "" %then %do;
%let MAX = &parm._MAX;
%if &isBetween %then %let PARM = &parm._MIN;
%end;
%if not %symexist(&PARM) or (&isBetween and not %symexist(&MAX)) %then %do;
%if &IS_EXPLICIT=0 %then %do;
not &MATCHALL_CLAUSE
%end;
%else %do;
not 1=1
%end;
%end;
%else %if "%qupcase(&&&PARM)" = "%qupcase(&MATCHALL)" %then %do;
%if &IS_EXPLICIT=0 %then %do;
&MATCHALL_CLAUSE
%end;
%else %do;
1=1
%end;
%end;
%else %if (not %symexist(&PARM._count)) or &isBetween %then %do;
%let isEmpty = ("&&&PARM" = "");
%if (&isEqual AND &isEmpty AND &isString) %then
&COLUMN is null;
%else %if (&isNotEqual AND &isEmpty AND &isString) %then
&COLUMN is not null;
%else %do;
%if &IS_EXPLICIT=0 %then %do;
&COLUMN &OPERATOR
%if "&MATCH_CASE" eq "0" %then %do;
%unquote(&q1)%QUPCASE(&&&PARM)%unquote(&q2)
%end;
%else %do;
%unquote(&q1)&&&PARM%unquote(&q2)
%end;
%end;
%else %do;
&COLUMN &OPERATOR
%if "&MATCH_CASE" eq "0" %then %do;
%unquote(%nrstr(&sq1))%QUPCASE(&&&PARM)%unquote(%nrstr(&sq2))
%end;
%else %do;
%unquote(%nrstr(&sq1))&&&PARM%unquote(%nrstr(&sq2))
%end;
%end;
%if &isBetween %then
AND %unquote(&q1)&&&MAX%unquote(&q2);
%end;
%end;
%else
%do;
%local emptyList;
%let emptyList = %symexist(&PARM._count);
%if &emptyList %then %let emptyList = &&&PARM._count = 0;
%if (&emptyList) %then
%do;
%if (&isNotin) %then
1;
%else
0;
%end;
%else %if (&&&PARM._count = 1) %then
%do;
%let isEmpty = ("&&&PARM" = "");
%if (&isIn AND &isEmpty AND &isString) %then
&COLUMN is null;
%else %if (&isNotin AND &isEmpty AND &isString) %then
&COLUMN is not null;
%else %do;
%if &IS_EXPLICIT=0 %then %do;
%if "&MATCH_CASE" eq "0" %then %do;
&COLUMN &OPERATOR (%unquote(&q1)%QUPCASE(&&&PARM)%unquote(&q2))
%end;
%else %do;
&COLUMN &OPERATOR (%unquote(&q1)&&&PARM%unquote(&q2))
%end;
%end;
%else %do;
&COLUMN &OPERATOR (
%if "&MATCH_CASE" eq "0" %then %do;
%unquote(%nrstr(&sq1))%QUPCASE(&&&PARM)%unquote(%nrstr(&sq2)))
%end;
%else %do;
%unquote(%nrstr(&sq1))&&&PARM%unquote(%nrstr(&sq2)))
%end;
%end;
%end;
%end;
%else
%do;
%local addIsNull addIsNotNull addComma;
%let addIsNull = %eval(0);
%let addIsNotNull = %eval(0);
%let addComma = %eval(0);
(&COLUMN &OPERATOR (
%do i=1 %to &&&PARM._count;
%let isEmpty = ("&&&PARM&i" = "");
%if (&isString AND &isEmpty AND (&isIn OR &isNotIn)) %then
%do;
%if (&isIn) %then %let addIsNull = 1;
%else %let addIsNotNull = 1;
%end;
%else
%do;
%if &addComma %then %do;,%end;
%if &IS_EXPLICIT=0 %then %do;
%if "&MATCH_CASE" eq "0" %then %do;
%unquote(&q1)%QUPCASE(&&&PARM&i)%unquote(&q2)
%end;
%else %do;
%unquote(&q1)&&&PARM&i%unquote(&q2)
%end;
%end;
%else %do;
%if "&MATCH_CASE" eq "0" %then %do;
%unquote(%nrstr(&sq1))%QUPCASE(&&&PARM&i)%unquote(%nrstr(&sq2))
%end;
%else %do;
%unquote(%nrstr(&sq1))&&&PARM&i%unquote(%nrstr(&sq2))
%end;
%end;
%let addComma = %eval(1);
%end;
%end;)
%if &addIsNull %then OR &COLUMN is null;
%else %if &addIsNotNull %then AND &COLUMN is not null;
%do;)
%end;
%end;
%end;
%mend _eg_WhereParam;
... View more