this is the code sniplet:
data _null_;
  
  array mname_trans[200] $ mnametrans1-mnametrans200;
  
  ntrans = 0;
  dsid = OPEN( 'merk' );
  nobs = ATTRN( dsid, 'NOBS' );
  
  do i=1 to nobs;
    rc = fetchobs( dsid, i );
    mname = getvarc( dsid, VARNUM( dsid, 'NAME' ) );
    mmethod = getvarc( dsid, VARNUM( dsid, 'METHODE' ) );
    if mmethod eq 'S%' then
      do;
        ntrans = ntrans + 1;
        mname_trans[ntrans] = mname;
      end;
  end;
  
  rc=CLOSE( dsid );
  
  dsid = OPEN( 'V_Daten' );
  nobs = ATTRN( dsid, 'NOBS' );
  nvar = ATTRN( dsid, 'NVARS' );
  
  do i=1 to nvar;
    vname = VARNAME( dsid, i );
    do k=1 to ntrans;
    
	  if ( mname_trans eq vname ) then do;
	
	    do j=1 to nobs;
		  rc = fetchobs( dsid, j );
	      value = GETVARN( dsid, i );
	      if value le 10.0 then value = 1;
	      else if value le 20.0 then value = 2;
	      else if value le 30.0 then value = 3;
		  else if value le 40.0 then value = 4;
		  else if value le 50.0 then value = 5;
		  else if value le 60.0 then value = 6;
		  else if value le 70.0 then value = 7;
		  else if value le 80.0 then value = 8;
		  else value = 9;
		  
		  call putvarn( dsid, i, value );
		  
		end;
		
		leave; /* tanslation found, leave do loop */
		
	  end;
	  
	end;
	
  end;
  
  rc=CLOSE( dsid );
  
  keep [KFAKTOR1] [KORT] [KJAHR] [ADICH] [AWDA] [AFUS_B] [APHYPZE_B] [AM_NWI2];
run;
and this is what SAS returns:
665        	      if value le 10.0 then value = 1;
666        	      else if value le 20.0 then value = 2;
667        	      else if value le 30.0 then value = 3;
668        		  else if value le 40.0 then value = 4;
669        		  else if value le 50.0 then value = 5;
670        		  else if value le 60.0 then value = 6;
671        		  else if value le 70.0 then value = 7;
672        		  else if value le 80.0 then value = 8;
673        		  else value = 9;
674        		
675        		  call putvarn( dsid, i, value );
                    _______
                    _______
                    _______
                    251
                    251
                    251
FEHLER 251-185: Die Subroutine PUTVARN ist unbekannt oder nicht verfügbar. Prüfen Sie die (=> translation: the subroutine PUTVARN is either unknown or not available. check the)
FEHLER 251-185: Die Subroutine PUTVARN ist unbekannt oder nicht verfügbar. Prüfen Sie die 
FEHLER 251-185: Die Subroutine PUTVARN ist unbekannt oder nicht verfügbar. Prüfen Sie die 
                Schreibweise. (=> translation: spelling)
                Schreibweise. 
                Schreibweise. 
                Entweder wurde sie nicht im Pfad ausführbarer Images gefunden oder (=>translation: either it wasnd found in the path of executable images or)
                Entweder wurde sie nicht im Pfad ausführbarer Images gefunden oder 
                Entweder wurde sie nicht im Pfad ausführbarer Images gefunden oder 
                falsche/unvollständige Informationen über den Subroutinendeskriptor lagen vor. (=> translation: wrong/incomplete information about the subroutine descriptor were available)
                falsche/unvollständige Informationen über den Subroutinendeskriptor lagen vor.
                falsche/unvollständige Informationen über den Subroutinendeskriptor lagen vor.