Pessoal , veja esta fórmula de "Assistencia Odontológica" , Libório cade vc mano , me ajuda ai meu filho .
As regras do negócio estão ok , o problema é o SALVADEP do dependente pois o titular está tudo certo .
O que acontece é que a fórmula até calcula certo o valor mas salva no dependente errado , não salva no dependente que tem o flag no "incidefiniveis "
Help
EXECSQL ('AOB'); EXECSQL ('AOP'); EXECSQL ('AOO');
DECL ODONTOBRONZE, ODONTOPRATA, ODONTOOURO, DEP, SOMADEP, SOMAFUN;
SETVAR(ODONTOBRONZE, RESULTSQL ('AOB', 'VALOR'));
SETVAR(ODONTOPRATA, RESULTSQL ('AOP', 'VALOR'));
SETVAR(ODONTOOURO, RESULTSQL ('AOO', 'VALOR'));
SETVAR(DEP,1);
SETVAR(SOMADEP,0);
REPITA
SE TABDEP ('INCDEFINIVEIS' , 'B' , DEP) = NDEP(1) ENTAO
SE TABDEP('NRODEPEND', 'V', DEP) >= 1 E ((TFUNC<>'T') OU (TFUNC<>'A')) E C('0412') > 0 E RC <= 1753.48 ENTAO
SALVAVALDEP(DEP, (ODONTOBRONZE)*NDEP(1)) ;
SETVAR(SOMADEP,SOMADEP+(ODONTOBRONZE )*NDEP(1))
SENAO
SE TABDEP('NRODEPEND', 'V', DEP) >= 1 E ((TFUNC<>'T') OU (TFUNC<>'A')) E C('0413') > 0 E RC <= 1753.48 ENTAO
SALVAVALDEP(DEP, (ODONTOPRATA)*NDEP(1)) ;
SETVAR(SOMADEP,SOMADEP+(ODONTOPRATA )*NDEP(1))
SENAO
SE TABDEP('NRODEPEND', 'V', DEP) >= 1 E ((TFUNC<>'T') OU (TFUNC<>'A')) E C('0414') > 0 E RC <= 1753.48 ENTAO
SALVAVALDEP(DEP, (ODONTOOURO)*NDEP(1)) ;
SETVAR(SOMADEP,SOMADEP+(ODONTOOURO )*NDEP(1))
SENAO 0
FIMSE FIMSE FIMSE FIMSE;
SETVAR (DEP,DEP+1) ATE DEP = 10;
SE TABCOMPL('ODONTO','S') = 'S' E ((TFUNC<>'T') E (TFUNC<>'A')) E RC <= 1753.48 E C('0412') > 0
ENTAO
SALVAVALDEP(0,(ODONTOBRONZE*0.10 ));
SETVAR(SOMAFUN,SOMAFUN + (ODONTOBRONZE*0.10))
SENAO
SE TABCOMPL('ODONTO','S') = 'S' E ((TFUNC<>'T') OU (TFUNC<>'A')) E RC <= 1753.48 E C('0413') > 0
ENTAO
SALVAVALDEP(0,(ODONTOPRATA - (ODONTOBRONZE) + (ODONTOBRONZE * 0.50)));
SETVAR(SOMAFUN,SOMAFUN + (ODONTOPRATA - (ODONTOBRONZE) + (ODONTOBRONZE * 0.50)))
SENAO
SE TABCOMPL('ODONTO','S') = 'S' E ((TFUNC<>'T') OU (TFUNC<>'A')) E RC <= 1753.48 E C('0414') > 0
ENTAO
SALVAVALDEP(0,(ODONTOOURO - (ODONTOBRONZE) + (ODONTOBRONZE * 0.50)));
SETVAR(SOMAFUN,SOMAFUN + (ODONTOOURO - (ODONTOBRONZE) + (ODONTOBRONZE * 0.50)))
SENAO 0
FIMSE
FIMSE
FIMSE;
SOMADEP+SOMAFUN