Portal | IBM Manuals | Downloads | Products | Refer | Info | Programs | JCLs | Forum Rules*| Site Map | Mainframe CD 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index
 
Register
 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index FAQ Search Memberlist Usergroups Profile Log in to check your private messages Log in
 
Working with EBCDIC values

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> Mainframe COBOL
Author Message
kingofmf

New User


Joined: 02 Mar 2005
Posts: 13
Location: Bangalore

PostPosted: Mon Mar 14, 2005 12:34 pm    Post subject: Working with EBCDIC values
Reply with quote

In COBOL is it possible to work with EBCDIC values?
that means if i want to write a program which will convert a file content from uppercase to lower case,i can do it in C by changin the corresponding ASCII values,is there something like that in COBOL?
or suppose i want to print the EBCDIC value of a character are these things possible in COBOL?
Back to top
View user's profile Send private message
References
mmwife

Super Moderator


Joined: 30 May 2003
Posts: 1508

PostPosted: Tue Mar 15, 2005 8:40 am    Post subject:
Reply with quote

Hi Kingsuk,

You can do it but it's not easy and/or it's not pretty.

First thing you might check is the Enterprise COBOL intrinsic functions and callable services.

Or you can try stuff like this to go from upper to lower case:

Move the byte to a COMP halfwd (low-ord byte). Add 64 and it's now upper case.

As for printing the HEX value of a field, I've used the code below. The redefines are a bit overdone because I had other uses for the fields. But it should give you an idea of what you can do.
Code:


05  WS-WORK-PACKED         PIC 9(009) COMP-3.
05  REDEFINES WS-WORK-PACKED.
    10  WS-WORK-X5.
        20  WS-WORK-X1     PIC X(001).
        20  WS-WORK-X3     PIC X(003).
05  REDEFINES WS-WORK-PACKED.
    10  WS-WORK-BIN4       PIC 9(009) COMP.

05  WS-WORK-UNPACKED       PIC 9(009).
05  REDEFINES WS-WORK-UNPACKED.
    10  WS-WORK-UNPACKED-8 PIC 9(008).


 100-CONVERT-HEX-DATA.
*--------------------------------------------------     
*  CONVERTS HEX DATA FOR DISPLAY PURPOSES
*  E.G. X'04FB' => X'F0F4C6C2' OR 04FB CHARACTER
*--------------------------------------------------     
 MOVE    WS-WORK-PACKED   TO WS-WORK-UNPACKED
 INSPECT WS-WORK-UNPACKED CONVERTING
         X'FAFBFCFDFEFF'  TO  'ABCDEF'
 DISPLAY WS-WORK-UNPACKED-8
 .
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> Mainframe COBOL All times are GMT + 6 Hours
Page 1 of 1