First thing, save yourself a lot of future grief by changing all the name literals to regular SAS variable names.
If you want nicer text to display assign LABELs to the variables.
Example: replace "NP / Cartera"N with maybe NP_Cartera.
What does the LOG look like when you run the data step? Run code and then go the log and copy the code plus any notes or warnings. Then paste into a text box on the forum opened with the </> icon.
Best would be to paste a few rows of the data copied from the CSV with a text editor like Notepad into a separate text box but that's a lot of variables to clean up if you don't want to show such details.
Did you ever save this CSV after opening with a spreadsheet program? Several of these like Excel will change values assuming it knows better what the data should be than you do. So you may now have values that are somewhat corrupted from what you expect.
One thing that can cause problems similar to what you describe would be a single quote in an unexpected place but that would typically cause one or more "invalid data" messages or only affect one source row at a time.
The FORMAT would have no affect on calculations, it just means fewer digits may be displayed which might make you think the result is incorrect. Run this code and look at the log. the value for x is 0.125 but displays differently depending on the format.
data example;
x = 1/8;
put "best2 format" x= best2. ;
put "best4 format" x= best4. ;
put "best5 format" x= best5. ;
y = x*8;
put y= best2. y= best4. y= best6.;
run;
With 10 decimals it is quite possible that calculations may exceed the precision that SAS variables are stored with though.