CCCPaste

New WINDEV PROCEDURE Cle & RIP CCP

PROCEDURE String_CCP(Compte,CleeCCP,CleRIP are strings)

// calcule clé CCP
Compte = NumToString(Val(Compte),"010d")
CleeCCP = Right(Val(Middle(Compte,1,1))*13 + Val(Middle(Compte,2,1))*12 +...
Val(Middle(Compte,3,1))*11 + Val(Middle(Compte,4,1))*10 +...
Val(Middle(Compte,5,1))*9 + Val(Middle(Compte,6,1))*8 +...
Val(Middle(Compte,7,1))*7 + Val(Middle(Compte,8,1))*6 +...
Val(Middle(Compte,9,1))*5 + Val(Middle(Compte,10,1))*4 ,2)

// calcule clé RIP
CleRIP = Val(Compte) * 100
CleRIP = modulo(Val(CleRIP),97)
CleRIP = Val(CleRIP) + 85
IF Val(CleRIP) >= 97 THEN
CleRIP = Val(CleRIP) - 97
CleRIP = 97 - Val(CleRIP)
CleRIP = Complete(Right("00"+ Val(CleRIP),2),2)
ELSE
CleRIP = 97 - Val(CleRIP)
CleRIP = Complete(Right("00"+ Val(CleRIP) ,2),2)
END

//Usage
String_CCP(SAI_CompteCCP,SAI_CleCCP,SAI_CleRIP)
SAI_RIP = ChaîneConstruit("00799999%1%2", SAI_CompteCCP, SAI_CleRIP)