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.