Is it possible to create custom pfkeys for the program area?

Hi again.
First of all, I created this same thread on adabas administration for mistake. I was reading a few threads here and there and created in the wrong place.

I’m afraid I was not crystal clear on the subject, so…

I am in the edit program screen, looking at my code, then I decide to scan for a string. ok.
so I type " SC #ISN-UPD-DB01 " (no quotes)

Then I want to check them all, so I keep trying PF10 for the short of “SC =”

I know that if I type SC =- I can go back one step. I also know that if I change the default + on top screen for - I’ll look in reverse way.

What I want to do is to map like, PF9, to be the short of SC =-

I am a developer and therefore has no access to adabas administration or things like that.

What I tried so far was:
MAINMENU → Development Environment Settings → Function-Key Settings

CLR %%_______
PA1 _________
PA2 _________
PA3 _________
PF1 %R_______
PF2 E________
PF3 C________
PF4 RUN______
PF5 LOGOFF___
PF6 STOW_____ <<<<<<<<<<<<<< CHANGED THIS
PF7 -20______
PF8 +20______
PF9 SCAN =-__ <<<<<<<<<<<<<<< AND THIS
PF10 _________

but 1) it does not work at all and 2) when I leave the cics environment and come back, the changes weren’t save, despite the PF5 update…

So… Any ideas?

Thanks in advance,
Marcelo.

While in the program editor, enter the PROFILE command. Customize the PF keys as you wish then save the editor profile as your own by changing the name (SYSTEM by default) to your user ID.

Thanks Ralph It helped a lot.

If you have useful keystrokes mapped, could you please share them?

I’ve attached a PDF excerpt from my training materials.

I particularly like PF23 and PF24.

. Place your cursor on any string in the source and press PF23 to scan for the next occurrence. How well this works relies on the SCAN settings for absolute strings and mixed case.

. Place your cursor on the name of an external module and press PF24 to see a listing of that module. For example, module names are specified in CALLNAT and INCLUDE statements, and in USING clauses.
Program Editor PFkeys.pdf (65.5 KB)

Attaching mine.

Additionally, in my 3270 client, I have mapped the following input:

Page Up = PF23 (+P)
Page Down = PF11 (-P)
ctrl+HOME = PF24 (–)
ctrl+END = PF12 (++)
ctrl+s = PF1 (SAVE)
ctrl+e = PF2 (CHECK)
ctrl+w = PF13 (STOW)
ctrl+f = PF3 (SCAN)

I also mapped the mouse wheel to PF9 (+1) and PF21 (-1) so that I can scroll programs with the wheel.

Thanks again, Ralph, and thanks Jerome.

Most things you guys mapped I still have no use for.
I’m improving slowly :smiley:

That’s difficult to believe. I use PF23 and PF24 daily.

Use your mouse to place the cursor on a variable name or word in a text string, press PF23 and you’re scanning for that word.

Place the cursor on an external data area name, copycode name in an INCLUDE statement, the subprogram name in a CALLNAT, etc., press PF24 and you see a listing of that external member.

Ralph, these two I do use on pf11 and pf6, respectively

I meant your pf4, pf10, pf11, pf15, pf16, pf17

I can open two sessions in the same library, so I dont need to split screen. The CAT I never use, because it’s only save or stow.

L DIR honestly I have no idea why I would use.

See, the places I’ve worked here, I met a lot of people. I could say that 90%+ have no idea that you could customize pf-keys, change compopt settings or even pass values to a copycode, and they’ve been doing this for decades… I didn’t know most of these stuffs because I learned with some of these people, who do everything on the same ‘cake recipe’ method. I’m curious by nature and as I said in another thread, I hate to do useless work, like typing commands that I can map to keys, or do a lot of manual works that I can make automatic with a program.

I try to read these forums and the natural docs in mainframe itself whenever I can… As I said above, I’m improving slowly

LIST DIR is invaluable when trying to track down problems that can arise when an object’s source and object get out of synch.

Since you do not have separate “sandboxes” to work in this sort of problem should occur with some frequency.

but that should happen only if you save a lot and stow less frequently, right?

What we do here is L MODULE>
and compare save date/time with cat date/time, because we use some pattern on the module names, and in this way, we check a lot of them together.

But that honestly doesn’t happen very often. Usually we spread the system segments amongst the analysts on that project and they won’t need to mess with others’ codes.
The common subprograms/subroutines we usually assign to a single person, so we wouldn’t have versioning problems.

Dear Steve,

Good Day…

This is Murali from Johannesburg, South Africa.

I am facing a problem while protecting a particular field(Sales Type) in a MAP.

The field has to be protected, when the Captured Date is Less than 10-10-20016.

Eventhough the field is protected, if we place the cursor on the field and press PF1, Help Window is opening and we are able to select a different field

I have tried using SET PF1 KEY OFF option and ESCAPE ROUTINE in my Help Routine.

SET PF1 KEY OFF is protecting the other fields of the MAP also. I just need only this particular SalesType field has to be protected.
ESCAPE Routine is running fine and PF1 is not working on the screen.But the requirement is the field should be protected only for the beneficiaries whose captured Date is Less than 10-10-2016.

Note : there is another field in the map, where PF1-KEY should work all the time.

I heard, PRR in Map editor can be used to write Rules to protect that particular field.

Could you please help me with this?

Best Regards
S.P.Murali

Dear Ralph,

Good Day…

This is Murali from Johannesburg, South Africa.

I am facing a problem while protecting a particular field(Sales Type) in a MAP.

The field has to be protected, when the Captured Date is Less than 10-10-20016.

Eventhough the field is protected, if we place the cursor on the field and press PF1, Help Window is opening and we are able to select a different field

I have tried using SET PF1 KEY OFF option and ESCAPE ROUTINE in my Help Routine.

SET PF1 KEY OFF is protecting the other fields of the MAP also. I just need only this particular SalesType field has to be protected.
ESCAPE Routine is running fine and PF1 is not working on the screen.But the requirement is the field should be protected only for the beneficiaries whose captured Date is Less than 10-10-2016.

Note : there is another field in the map, where PF1-KEY should work all the time.

I heard, PRR in Map editor can be used to write Rules to protect that particular field.

Could you please help me with this?

Best Regards
S.P.Murali