Move special numbers out of special interviewer stacks and return them to the normal stacks
The attached spec RETURNSPECIAL.SPX will read a .fon or ASCII copy of it and move special numbers out of the special interviewer stack back into normal calling stacks. Best usage would be to use Foneutil to delete out of the .fon file the numbers you want to change. Then use this spec to alter those records and lastly then use the ASCII option in Fonebuld to add the changed records back into the file.
It can also be used to remove the special interviwer flags from numbers as well.
It puts the number back into its previous stack if that makes sense, otherwise it puts in back into one of the buckets in the timezone/market grid based on what the previous attempts look like and your target settings below.
Set the following defines to do what you want, then run the spec through Mentor. You can then read the output ASCII file back in Fonebuld with the ASCII option to rebuild your .fon file.
>Define @SpecialTypes 1 ''1,2,7 '' 1-9 ''Set what special types you want to work on>Define @Input specialx.asc ''Name of Input file>Define @InputOpt ASCII=16000 ''fone_format ''Type of input file>Define @Base Total ''Set this to criterica if you want to work on certain records>Define @Output FixSpec.asc ''Name of Output file'>Define @RemoveSpecFlag ''Use this if you want to remove special flag too>Define @TypeReport ''Summary_Only ''remove comment markers on Summary_Only to only get summary info>Define @Targ1 1 ''Attempts in day part 1 target from phone header>Define @Targ2 1 ''Attempts in day part 2 target from phone header>Define @Targ3 1 ''Attempts in day part 3 target from phone header********************** DON'T TOUCH CODE BELOW THIS LINE **********************>PurgeSame>-PrintRep>AllowIndent~In @Input @InputOpt Select=@Base~Out @Output ASCII Trimblanks~DefPhoneNumb: [1.10$]Special: [22]TimeZone: [23.2]OpenAll: [4951.3]Open1: [4951]Open2: [4952]Open3: [4953]Attempts: [5005.5]PrevStack: [5010.5]Bucket: [5015.5]Stack: [5020.5]Attmps1: [5075.2]Attmps2: [5077.2]Attmps3: [5079.2]Market: [5129.3*Z]WhereToGo: [5161.15$]Proc= ReturnSpecials:If [Special#@SpecialTypes]>Repeat $A=1,...,9; $B=318,...,326If [Special#$A]Error @TypeReport "Special Type $A - Total" PhoneNumb>IfDefine @RemoveSpecFlagIf [Stack#1-313,315-99999]Error @TypeReport "Special Type $A - Still Available so remove Special Flag" StackModify Special = 0ElseError @TypeReport "Special Type $A - Resolved, so special flag not removed" StackEndif>EndifIf [Stack#$B]Error @TypeReport "Special Type $A - In Special Stack $A, will process"If [PrevStack#1-312,327,336,338,>=350]Error @TypeReport "Special Type $A - Returned to Previous State" PrevStackBlank WhereToGoCopy Stack = PrevStackIf [Stack#1-312]Modify WhereToGo = "MANANA"EndifIf [Stack#338]Modify WhereToGo = "TIMEDNEVER"EndifIf [Stack#327]Modify WhereToGo = "OWNEDRECS"EndifModify PrevStack = -1ElseIf Attempts = 0Error @TypeReport "Special Type $A - Previous State not usable, made new, No Attempts" PrevStack AttemptsModify Bucket = 0Goto SetWhereToGoEndif>Repeat $X=1,2,3If @Targ$X > Attmps$XModify Open$X = 1ElseModify Open$X = 0Endif>EndRepeat>Repeat $X=111,110,101,100,011,010,001,000; $Y=7,4,5,1,6,2,3,8If Openall = $XModify Bucket = $YError @TypeReport "Special Type $A - Previous State not usable, put in Bucket $Y" PrevStack Attempts Attmps1 Attmps2 Attmps3Goto SetWhereToGoEndif>EndRepeatSetWhereToGo:Blank OpenAllModify Market = [Market]If Market > 0Modify WhereToGo = "TZ" Join [TimeZone$] Join "B" Join Strip([Bucket$]) Join "M" Join [Market$]ElseModify WhereToGo = "TZ" Join [TimeZone$] Join "B" Join Strip([Bucket$])EndifEndifEndifEndif>EndRepeat EndifWrite }~Exc Proc=ReturnSpecials~End