<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic PUT ZD and PD variables with readable characters in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/PUT-ZD-and-PD-variables-with-readable-characters/m-p/312430#M67777</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a Z/OS Sas code with two input files and in both files I have some ZD and PD variables&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;@118        E5FS047_MONT_DROIT                               PD7.2
@119        E5FM222_MONT_DROIT_VENTIL               ZD13.2



PROC SQL;                                                 
   CREATE TABLE CLIC_PROF AS                              
   SELECT                                                 
         E5FS047_ID_CLINT_USAG,                           
         E5FS047_TYP_SDU,                                 
         E5FS047_SEQ_SDU,                                 
         E5FS047_PER_AN,                                  
         E5FS047_PER_MOIS,                                
         E5FS047_ID_INSTRC_VENTIL_5,                      
         E5FS047_TYP_ITEM_RESUL_E5,                       
         E5FS047_MONT_DROIT,                              
         E5FS047_MONT_PEINE,                              
         E5FS047_MONT_INTE_COTIS,                         
         E5FS047_MONT_INTE_DEPEN,                         
         E5FS047_MONT_INTE_CYCL,                          
         E5FS047_MONT_AUTR,                               
         E5FM222_MONT_DROIT_VENTIL,                       
         E5FM222_MONT_DECL_E5                             
   FROM E2                                                
   INNER JOIN IV                                          
   ON   E2.E5FS047_ID_CLINT_USAG = IV.E5FM222_NO_USAG     
   AND  E2.E5FS047_TYP_SDU       = IV.E5FM222_TYP_SDU     
   AND  E2.E5FS047_SEQ_SDU       = IV.E5FM222_SEQ_SDU     
   AND  E2.E5FS047_PER_AN        = IV.E5FM222_PER_AN      
   AND  E2.E5FS047_PER_MOIS      = IV.E5FM222_PER_MOIS    
   AND  E2.E5FS047_ID_INSTRC_VENTIL_5 =                   
        IV.E5FM222_ID_INSTRC_VENTIL_5                     
   WHERE E5FS047_TYP_ITEM_RESUL_E5 = 'A'                  
   AND   E5FM222_MONT_DROIT_VENTIL &amp;lt; E5FM222_MONT_DECL_E5 
   ;                                                      
QUIT;                                                     

DATA _NULL_;                                   
SET CLIC_PROF;                                 
FILE SORTIE;                                                                          
PUT  @001 E5FS047_ID_CLINT_USAG        $CHAR10  
     @011 ';'                                   
     @012 E5FS047_TYP_SDU              $CHAR2   
     @014 ';'                                   
     @015 E5FS047_SEQ_SDU              $CHAR4   
     @019 ';'                                   
     @020 E5FS047_PER_AN               ZD4.0    
     @024 ';'                                   
     @025 E5FS047_PER_MOIS             ZD2.0    
     @027 ';'                                   
     @028 E5FS047_ID_INSTRC_VENTIL_5   ZD9.0    
     @038 ';'                                   
     @039 E5FS047_TYP_ITEM_RESUL_E5    $CHAR2   
     @041 ';'                                   
     @042 E5FS047_MONT_DROIT           PD7.2    
     @049 ';'                                   
     @050 E5FS047_MONT_PEINE           PD7.2    
     @058 ';'                                   
     @059 E5FS047_MONT_INTE_COTIS      PD7.2    
     @065 ';'                                   
     @066 E5FS047_MONT_INTE_DEPEN      PD7.2    
     @073 ';'                                   
     @074 E5FS047_MONT_INTE_CYCL       PD7.2    
     @080 ';'                                   
     @081 E5FS047_MONT_AUTR            PD7.2    
     @088 ';'                                   
     @089 E5FM222_MONT_DROIT_VENTIL    ZD13.2   
     @105 ';'                                   
     @106 E5FM222_MONT_DECL_E5         ZD13.2;  
RUN;                                            



&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The way I am doing it my output file looks like this:&lt;/P&gt;&lt;P&gt;1222238931;TQ;0001;201F;0B;04229918I ;A ;&amp;nbsp; ä ¸;&amp;nbsp; Êï)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So my question is, how can I do to convert my ZD and PD variables before PUT ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Rodrigo&lt;/P&gt;</description>
    <pubDate>Thu, 17 Nov 2016 19:25:18 GMT</pubDate>
    <dc:creator>rbunster</dc:creator>
    <dc:date>2016-11-17T19:25:18Z</dc:date>
    <item>
      <title>PUT ZD and PD variables with readable characters</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PUT-ZD-and-PD-variables-with-readable-characters/m-p/312430#M67777</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a Z/OS Sas code with two input files and in both files I have some ZD and PD variables&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;@118        E5FS047_MONT_DROIT                               PD7.2
@119        E5FM222_MONT_DROIT_VENTIL               ZD13.2



PROC SQL;                                                 
   CREATE TABLE CLIC_PROF AS                              
   SELECT                                                 
         E5FS047_ID_CLINT_USAG,                           
         E5FS047_TYP_SDU,                                 
         E5FS047_SEQ_SDU,                                 
         E5FS047_PER_AN,                                  
         E5FS047_PER_MOIS,                                
         E5FS047_ID_INSTRC_VENTIL_5,                      
         E5FS047_TYP_ITEM_RESUL_E5,                       
         E5FS047_MONT_DROIT,                              
         E5FS047_MONT_PEINE,                              
         E5FS047_MONT_INTE_COTIS,                         
         E5FS047_MONT_INTE_DEPEN,                         
         E5FS047_MONT_INTE_CYCL,                          
         E5FS047_MONT_AUTR,                               
         E5FM222_MONT_DROIT_VENTIL,                       
         E5FM222_MONT_DECL_E5                             
   FROM E2                                                
   INNER JOIN IV                                          
   ON   E2.E5FS047_ID_CLINT_USAG = IV.E5FM222_NO_USAG     
   AND  E2.E5FS047_TYP_SDU       = IV.E5FM222_TYP_SDU     
   AND  E2.E5FS047_SEQ_SDU       = IV.E5FM222_SEQ_SDU     
   AND  E2.E5FS047_PER_AN        = IV.E5FM222_PER_AN      
   AND  E2.E5FS047_PER_MOIS      = IV.E5FM222_PER_MOIS    
   AND  E2.E5FS047_ID_INSTRC_VENTIL_5 =                   
        IV.E5FM222_ID_INSTRC_VENTIL_5                     
   WHERE E5FS047_TYP_ITEM_RESUL_E5 = 'A'                  
   AND   E5FM222_MONT_DROIT_VENTIL &amp;lt; E5FM222_MONT_DECL_E5 
   ;                                                      
QUIT;                                                     

DATA _NULL_;                                   
SET CLIC_PROF;                                 
FILE SORTIE;                                                                          
PUT  @001 E5FS047_ID_CLINT_USAG        $CHAR10  
     @011 ';'                                   
     @012 E5FS047_TYP_SDU              $CHAR2   
     @014 ';'                                   
     @015 E5FS047_SEQ_SDU              $CHAR4   
     @019 ';'                                   
     @020 E5FS047_PER_AN               ZD4.0    
     @024 ';'                                   
     @025 E5FS047_PER_MOIS             ZD2.0    
     @027 ';'                                   
     @028 E5FS047_ID_INSTRC_VENTIL_5   ZD9.0    
     @038 ';'                                   
     @039 E5FS047_TYP_ITEM_RESUL_E5    $CHAR2   
     @041 ';'                                   
     @042 E5FS047_MONT_DROIT           PD7.2    
     @049 ';'                                   
     @050 E5FS047_MONT_PEINE           PD7.2    
     @058 ';'                                   
     @059 E5FS047_MONT_INTE_COTIS      PD7.2    
     @065 ';'                                   
     @066 E5FS047_MONT_INTE_DEPEN      PD7.2    
     @073 ';'                                   
     @074 E5FS047_MONT_INTE_CYCL       PD7.2    
     @080 ';'                                   
     @081 E5FS047_MONT_AUTR            PD7.2    
     @088 ';'                                   
     @089 E5FM222_MONT_DROIT_VENTIL    ZD13.2   
     @105 ';'                                   
     @106 E5FM222_MONT_DECL_E5         ZD13.2;  
RUN;                                            



&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The way I am doing it my output file looks like this:&lt;/P&gt;&lt;P&gt;1222238931;TQ;0001;201F;0B;04229918I ;A ;&amp;nbsp; ä ¸;&amp;nbsp; Êï)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So my question is, how can I do to convert my ZD and PD variables before PUT ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Rodrigo&lt;/P&gt;</description>
      <pubDate>Thu, 17 Nov 2016 19:25:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PUT-ZD-and-PD-variables-with-readable-characters/m-p/312430#M67777</guid>
      <dc:creator>rbunster</dc:creator>
      <dc:date>2016-11-17T19:25:18Z</dc:date>
    </item>
    <item>
      <title>Re: PUT ZD and PD variables with readable characters</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PUT-ZD-and-PD-variables-with-readable-characters/m-p/312463#M67793</link>
      <description>&lt;P&gt;The packed decimal format is just that: a format. use any other format you want, such as 32.15, to write out the number in a human-legible form. I suspect the table's metadata may store an appropriate format for each variable.&lt;/P&gt;</description>
      <pubDate>Thu, 17 Nov 2016 21:09:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PUT-ZD-and-PD-variables-with-readable-characters/m-p/312463#M67793</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2016-11-17T21:09:20Z</dc:date>
    </item>
    <item>
      <title>Re: PUT ZD and PD variables with readable characters</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PUT-ZD-and-PD-variables-with-readable-characters/m-p/312549#M67816</link>
      <description>&lt;P&gt;Use 16.2 instead of PD7.2.&lt;/P&gt;
&lt;P&gt;With the ZDw, add 1 to the length for formats with no fractions, 2 for formats with fractions.&lt;/P&gt;
&lt;P&gt;(ZD13.2 -&amp;gt; 15.2, ZD4.0 -&amp;gt; 5.0)&lt;/P&gt;</description>
      <pubDate>Fri, 18 Nov 2016 08:34:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PUT-ZD-and-PD-variables-with-readable-characters/m-p/312549#M67816</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2016-11-18T08:34:16Z</dc:date>
    </item>
  </channel>
</rss>

