DATA Step, Macro, Functions and more

Comp-3 fields - getting control characters in the output

Reply
Contributor
Posts: 69

Comp-3 fields - getting control characters in the output

Hi,

I was using a text file from mainframe in one of the program, there are some comp-3 fields. While using this fields with the format starting with PDw.d formats.

I am getting the control characters in the output. I am not able to read the format with these characters.

Can any one suggest how to read control character in the output. Below is the screnshot.

Control characters scrnshot.PNG

Thanks & Regards,

Sid

Super User
Super User
Posts: 7,401

Re: Comp-3 fields - getting control characters in the output

Can you not do:

data want;

     set have;

     my_new_var=input(substr(var,1,index(var," ")),pdX.Y.);

run;

Contributor
Posts: 69

Re: Comp-3 fields - getting control characters in the output

There are almost around 20 fields with the PDw.d format defined in the program.

Below is the format we are using in the PUT statement:

       @127   SUB_TOTAL_AMT               PD5.2                                 

       @132   TAX_AMT                     PD5.2                                

       @137   TOT_INVOICE_AMT             PD5.2  

       @244   CASH_SALE_AMT_P             PD4.2

       @293   STBASE                      PD5.2                                

       @298   STTAX                       PD5.2

Thanks & Regards,

Siddhartha

Super User
Super User
Posts: 7,401

Re: Comp-3 fields - getting control characters in the output

Well, you wouldn't read the control chars in in that type of import.  I would suggest you need to clean the datafile first:

data _null_;

     infile "your_original_file.txt" recfm=n;

     file "cleaned_file.txt" recfm=n;

     input a $char1.;

     if lengthn(compress(upcase(a),"A","n"))=0 then put a;  /* I.e. if character is alphanumeric then output */

run;

Then read that new file in.

Ask a Question
Discussion stats
  • 3 replies
  • 201 views
  • 0 likes
  • 2 in conversation