Yes, the code that Bill posted will get the value of the ASCII code for a single character.
You said you need to get the value of each character of a seven-character string. If you don't already have each character in a separate data field, you might need to use REDEFINES and OCCURS to let you pick out each character individually.
Something like this, I believe:
01 SEVEN-CHAR-FIELD PIC X(7).
01 ARRAY-GROUP REDEFINES SEVEN-CHAR-FIELD..
02 ONE-CHAR PIC X OCCURS 7 TIMES.
01 I PIC 9.
PERFORM 200-GET-ONE-CHAR-VALUE VARYING I FROM 1 TO 7.
...
200-GET-ONE-CHAR-VALUE.
MOVE ZERO TO CHAR-TEST-INT.
MOVE ONE-CHAR (I) TO CHAR-TEST-CHAR-VAL.
DISPLAY CHAR-TEST-INT.
The fields I didn't declare here are from Bill's code. This code just displays the decimal code value of each character. You'll probably want to do something besides that with those values.
I never remember the rules about using OCCURS and REDEFINES together, and I always need to check the manual. I think the rule is that you cannot use both REDEFINES and OCCURS on the same data item. That is why I nested the OCCUR under the item that uses REDEFINES. But I am not sure that is the rule, and I did not check the manual before writing this suggested code, so I might have gotten the syntax wrong for putting an array of one-character fields over the seven-character field. Check the manual before believing what I wrote is exactly correct.
I believe Screen COBOL is somewhat limited in this kind of manipulation, so this suggested code might only work in ordinary COBOL, not in Screen COBOL. Right now, I don't remember what limitation of Screen COBOL would keep this from working (and maybe I'm mistaken about it not working in Screen COBOL).
Good luck!