IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

How to insert Hex values from CICS online scre


IBM Mainframe Forums -> CICS
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
arif.md

New User


Joined: 13 Jun 2005
Posts: 10

PostPosted: Sun Feb 04, 2007 4:14 pm
Reply with quote

How to insert Hex values from CICS online screen into table?


I have expereinced a PROG755 Error on an Online screen. To find out the cause checked the table from where the value is getting populated and found that the hex values are entered which is finally preventing the value to get populated which finally results in PROG755 error.

We have to fix this in the program which is trying to insert or update the table through online to prevent hex values getting entered.

In order to do the above I have to replicate the same scenario in test.

Please can some one help me in inserting the hex values through online screen into table.
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Sun Feb 04, 2007 4:32 pm
Reply with quote

I'd guess that you are getting the 755 when you try to redisplay the hex value, right?
Quote:
I have expereinced a PROG755 Error on an Online screen. To find out the cause checked the table from where the value is getting populated and found that the hex values are entered which is finally preventing the value to get populated which finally results in PROG755 error.
I don't quite understand this, You checked the table and found the hex value in the table? But you wanted the hex value there, right? A prior screen had the hex value entered and you received the screen and populated the table with it, right? Then you re-sent the screen and got the error, right? Did you want to resend the hex value or did it get sent accidentally?
By the way, do you know what the hex value was?
Back to top
View user's profile Send private message
arif.md

New User


Joined: 13 Jun 2005
Posts: 10

PostPosted: Tue Feb 06, 2007 6:25 pm
Reply with quote

Hi William,

Thanks a lot for the quick reply.

You are correct. I am getting the PROG753 error when try to redispaly the hex value.

I have to update the data through online, so when I try to enter in to that screen I got struck with this error.

The hex value has been accidently entered by the user two years back and till then we didn't get any necessary to update that. Now we have requiement to update that so when went into that screen I got struck with this error.

I have to give a fix in the online program to avoid these hexa values getting entered into the table. so I want to create the same scenario in test region to proceed with XPED.

I want to enter the hexa values through online into the table and not able to do so (in the sense repoduce the same scenario in test).

In my present case the hex(08) value is present in the problem.
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Tue Feb 06, 2007 6:51 pm
Reply with quote

arif.md wrote:
I have to update the data through online, so when I try to enter in to that screen I got struck with this error.
The hex value has been accidently entered by the user two years back and till then we didn't get any necessary to update that. Now we have requiement to update that so when went into that screen I got struck with this error.
Are you saying that the current production data record has the hex value in it and the only way you can remove it is with a CICS online transaction which displays the bad field before allowing you to correct it? If this is true, there is a way you might get around the problem using a debugger.
Quote:
I have to give a fix in the online program to avoid these hexa values getting entered into the table. so I want to create the same scenario in test region to proceed with XPED.
I want to enter the hexa values through online into the table and not able to do so (in the sense repoduce the same scenario in test).
To prevent it from ever happening again, you need to test/edit the validity of each field from the map prior to updating the record, easy enough.
Quote:
In my present case the hex(08) value is present in the problem.
For the life of me, I can't remember where the 3270 hardware command values are listed....
Back to top
View user's profile Send private message
arif.md

New User


Joined: 13 Jun 2005
Posts: 10

PostPosted: Tue Feb 06, 2007 7:33 pm
Reply with quote

Hi William,

Thank you so much for the spontaneous reply.

Yes, the presnet production data record has the bad data and to avoid getting this error I am correcting the database through update query.So that the error may be rectified and then allows for the update through online screen.

How to replicate the same scenario in test region so that I can debug it.

I have to prevent it in the online program from ever happening again.

As per your comment "you need to test/edit the validity of each field from the map prior to updating the record" Can you please let me know the criteria which I need to use to validate the map fields prior to updating the record.

After fixing the problem how can I test it in the test region whether it has been prevented or not as I am not able to enter hexa values.
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Tue Feb 06, 2007 7:54 pm
Reply with quote

Quote:
As per your comment "you need to test/edit the validity of each field from the map prior to updating the record" Can you please let me know the criteria which I need to use to validate the map fields prior to updating the record.
Basic programming. The program moves the data from the screen field to the record field, right? Ok, pick a field, any field, say, that field - what is the field, what does it represent? A date? A dollar amount? A account number? Whatever each field represents, the program should test various aspects of the field for validity.

If a field is a date, is the month portion valued at 01 to 12?, is the year reasonable? Is the day of the month between 1 and 31?
If a field is a dollar amount, it it numeric?
An account number, can you look up the account successfully?

This program is the filter between good clean production data and the messy, dirty world of sloppy users. This program should not let garbage in.
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Tue Feb 06, 2007 7:57 pm
Reply with quote

Quote:
How to replicate the same scenario in test region so that I can debug it.
Does your terminal emulator allow you to enter low hex values?
You could always CEDF and plug garbage after enter and before the recieve completes.
Back to top
View user's profile Send private message
arif.md

New User


Joined: 13 Jun 2005
Posts: 10

PostPosted: Tue Feb 06, 2007 8:18 pm
Reply with quote

Hi William,

The field in my case is an X(60). Does the hex values takeup as alphanumeric?

My emulator is not allowing me to enter hex values. Basically I am not aware of how to enter hex values throgh my emulator on online screens.
Mine is PCOM
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Tue Feb 06, 2007 8:43 pm
Reply with quote

Go here for detail: http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/handheld/Connected/BOOKS/IGY3LR10/6.1.6.2?SHELF=&DT=20020920180651&CASE= You'll probably want to do the
Quote:
class-name
Identifier consists entirely of the characters listed in the definition of class-name in the SPECIAL-NAMES paragraph.
to take care of alphabetic (upper and lower if needed), numeric and some special characters.
Back to top
View user's profile Send private message
arif.md

New User


Joined: 13 Jun 2005
Posts: 10

PostPosted: Wed Feb 07, 2007 7:04 pm
Reply with quote

Hi William,

Can you please provide with the exact way to recreate the same scenario in test as well as the criteria to validate in putting fix to not occur again.

Thanks in advance.
Back to top
View user's profile Send private message
arif.md

New User


Joined: 13 Jun 2005
Posts: 10

PostPosted: Fri Feb 16, 2007 8:46 pm
Reply with quote

Hi Bill,

Can you please provide me with some more details.

Thanks in advance!!
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Fri Feb 16, 2007 8:50 pm
Reply with quote

William Thompson wrote:
Quote:
How to replicate the same scenario in test region so that I can debug it.
Does your terminal emulator allow you to enter low hex values?
You could always CEDF and plug garbage after enter and before the recieve completes.
Back to top
View user's profile Send private message
Narismha

New User


Joined: 22 Nov 2006
Posts: 23
Location: Mumbai

PostPosted: Fri Mar 16, 2007 1:18 pm
Reply with quote

Hi William,

User enters the data through web access and that time if they enter some garbage values. and this values come thru online program and updates the table. When we are redisplaying thru CICS online screen we are getting PROG755/PROG753 error.

Cen we do the program fix that should not accept garbage values??


Thanks
-Narisimha
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Fri Mar 16, 2007 1:58 pm
Reply with quote

Narismha wrote:
Cen we do the program fix that should not accept garbage values??
A process called edit and validation where your program examines the input and eliminates the garbage.
Back to top
View user's profile Send private message
socker_dad

Active User


Joined: 05 Dec 2006
Posts: 177
Location: Seattle, WA

PostPosted: Sat Mar 17, 2007 12:57 am
Reply with quote

I have been using Xpeditor to do some similar debugging and have been able to manipulate files, as well as input and output areas successfully during the test.

You type XPED program-name on your CICS session, which takes you into the Xpeditor panel with the first executable line of code from the specified program being displayed. Set your breakpoint and press PF3 to begin exiting Xpeditor.

The first screen you will see is the Xpeditor/CICS Debugging Facilities Menu. Press PF3 again and you should see the Primary Menu. From here, you can select the File Utility from which you can access VSAM files, DB2 tables and so forth. If your user ID (RACF) is set for it, you can update values on these files and tables from this area. When you are done, PF3 to get back to the Primary Menu and then PF3 once more to get to the Exit Session Menu.

It is important that you make sure that END SESSION is NO. If you specify YES, your file updates stay, but you are not in a debug mode when you execute your program.

Then when you execute the program from CICS, Xpeditor will stop it at your designated breakpoint. If you have set this breakpoint wisely, you will be able to manipulate the data received from the map before your program does anything with it.

For example, I want to check on the Account Number field, called ACCNOI in the map. ("I" indicating Input). As soon as the map is received, I break execution and check the value of the field. It sounds like you may want to monitor the fields value, so type KEEP ACCNOI on the command line. When you do this, the field and its value are displayed above the program code.

Since you want to test for the reception of hex values, Type HEX and the field will be displayed in zone-digit format. Overtype these to change the value. Then either press PF9 to step through the program one line at a time, or PF12 to run to the next breakpoint. HEX OFF gets you back out of the hexadecimal mode.

My apologies in advance if you already know this, but zones A, B, C, D, E and F are valid alphabetic and numeric values. Check the appendixes of some of your programming books to find a full list. I have had success with using the hexidecimal value of '60' for testing.

Good luck!
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CICS

 


Similar Topics
Topic Forum Replies
No new posts Using API Gateway from CICS program CICS 0
No new posts INCLUDE OMIT COND for Multiple values... DFSORT/ICETOOL 5
No new posts Replace Multiple Field values to Othe... DFSORT/ICETOOL 12
No new posts Calling an Open C library function in... CICS 1
No new posts How to 'Ping' a CICS region in JCL CICS 2
Search our Forums:

Back to Top