2010-07-30 5 views
0

J'essaie d'écrire un champ à remplissage nul dans un fichier de test qu'un programme COBOL va lire en utilisant la clause image 9 (5) v999. Cependant, je suis incapable de trouver le bon format. J'ai essayé z8.3 mais SAS insère le point décimal ... c'est-à-dire 99.999 où j'ai besoin de 00099999 comme résultat. Toute aide serait appréciée.Existe-t-il un format pour la sortie d'un champ décimal zoné non signé dans OpenVMS?

+1

Je Je ne suis pas tout à fait sûr de ce que vous essayez de faire, mais quand vous dites Z8.3, vous dites à SAS d'utiliser 3 décimales - voir http://support.sas.com/doc umentation/cdl/fr/lrdict/63026/HTML/default/viewer.htm #/documentation/cdl/fr/lrdict/63026/HTML/default/a000205244.htm. Si cela ne vous aide pas, veuillez poster votre code et quelques exemples de données. –

+0

mais peut-être que vous voulez le format ZDw.d? "Ecrit des données numériques en format décimal zoné" http://support.sas.com/documentation/cdl/fr/lrdict/63026/HTML/default/viewer.htm#/documentation/cdl/fr/lrdict/63026/HTML/ par défaut/a000205246.htm. Je pense que c'est signé, cependant, non signé ... –

Répondre

1

Je crois que c'est ce que vous recherchez:

proc format ; 
    picture x low-high = '99999999' (prefix='0' mult=100); 
run; 

data _null_; 
    do cnt = 0 to 20 by 0.5; 
    put cnt x.; 
    end; 
run; 

Vous pouvez trouver quelques exemples de formats personnalisés dans ce PDF:

www2.sas.com/proceedings/sugi29/236-29.pdf

Vive Rob