Skip to main content

Discussion posted 3/28/08 by Serenity Thompson
Details:




santlou

Hi,
I maintain many REXX Execs that streamline development tasks. We are in a Mainframe z/os COBOL environment. One tool that I developed is an ISPF Edit Macro that allows the developer to 'BookMark' several locations in a source component to allow him to quickly access the BookMarked location later. The Edit Macro simply stores the Datasetset Name, Member Name, and current ISPF EDIT LineNumber in an ISPF Table for later use.
The use of an ISPF Table allows the BookMarks to be persisted over future ISPF sessions. This tool is very helpful when deveoping a Large Cobol Source and is widely used in our development community. However, using Changeman to edit source code poses a bottleneck when bookmarking.
When a component is selected for Edit in Changeman, a dynamic Temporary dataset name is created for the edit session. Thus whenever the bookmark feature is used, it cannot be persisted because the Changeman Edit dataset name is never the same.
I'm able to obtain the Changeman Package Name from the PKGNAME ISPF Variable in the CMNP ISPF variable pool. But I cannot find any variables that may contain the Source Component Name and Type. In order to persist the BookMark from one session to the next, I need to obtain the Component Name and Component Type, or the Changeman Source Dataset and Member Name of the currently Editted Component.
Where can I access this information from with my Edit Macro to identify the Source Component to enable persisting the BookMarked locations?
any suggestions would be appreciated....

Posted 10/7/2007 10:24 AM

jokkespeed

Actually it is quit easy :
1. Modify exit CMNEXINS to have the component name at the end of the dataset
2. Modify the panel CMNSTG01 to todo a vput of the library type (store it first into another non-CMN variable) and vget it from your edit macro
We do the same but for other reasons
Regards,
Johan
Posted 10/8/2007 12:40 AM




#ChangeManZMF
#oldforumpost
#post18fe7f2914

Discussion posted 3/28/08 by Serenity Thompson
Details:




santlou

Hi,
I maintain many REXX Execs that streamline development tasks. We are in a Mainframe z/os COBOL environment. One tool that I developed is an ISPF Edit Macro that allows the developer to 'BookMark' several locations in a source component to allow him to quickly access the BookMarked location later. The Edit Macro simply stores the Datasetset Name, Member Name, and current ISPF EDIT LineNumber in an ISPF Table for later use.
The use of an ISPF Table allows the BookMarks to be persisted over future ISPF sessions. This tool is very helpful when deveoping a Large Cobol Source and is widely used in our development community. However, using Changeman to edit source code poses a bottleneck when bookmarking.
When a component is selected for Edit in Changeman, a dynamic Temporary dataset name is created for the edit session. Thus whenever the bookmark feature is used, it cannot be persisted because the Changeman Edit dataset name is never the same.
I'm able to obtain the Changeman Package Name from the PKGNAME ISPF Variable in the CMNP ISPF variable pool. But I cannot find any variables that may contain the Source Component Name and Type. In order to persist the BookMark from one session to the next, I need to obtain the Component Name and Component Type, or the Changeman Source Dataset and Member Name of the currently Editted Component.
Where can I access this information from with my Edit Macro to identify the Source Component to enable persisting the BookMarked locations?
any suggestions would be appreciated....

Posted 10/7/2007 10:24 AM

jokkespeed

Actually it is quit easy :
1. Modify exit CMNEXINS to have the component name at the end of the dataset
2. Modify the panel CMNSTG01 to todo a vput of the library type (store it first into another non-CMN variable) and vget it from your edit macro
We do the same but for other reasons
Regards,
Johan
Posted 10/8/2007 12:40 AM




#ChangeManZMF
#oldforumpost
#post18fe7f2914

This is an old migrated post that has been assigned status Complete.


Discussion posted 3/28/08 by Serenity Thompson
Details:




santlou

Hi,
I maintain many REXX Execs that streamline development tasks. We are in a Mainframe z/os COBOL environment. One tool that I developed is an ISPF Edit Macro that allows the developer to 'BookMark' several locations in a source component to allow him to quickly access the BookMarked location later. The Edit Macro simply stores the Datasetset Name, Member Name, and current ISPF EDIT LineNumber in an ISPF Table for later use.
The use of an ISPF Table allows the BookMarks to be persisted over future ISPF sessions. This tool is very helpful when deveoping a Large Cobol Source and is widely used in our development community. However, using Changeman to edit source code poses a bottleneck when bookmarking.
When a component is selected for Edit in Changeman, a dynamic Temporary dataset name is created for the edit session. Thus whenever the bookmark feature is used, it cannot be persisted because the Changeman Edit dataset name is never the same.
I'm able to obtain the Changeman Package Name from the PKGNAME ISPF Variable in the CMNP ISPF variable pool. But I cannot find any variables that may contain the Source Component Name and Type. In order to persist the BookMark from one session to the next, I need to obtain the Component Name and Component Type, or the Changeman Source Dataset and Member Name of the currently Editted Component.
Where can I access this information from with my Edit Macro to identify the Source Component to enable persisting the BookMarked locations?
any suggestions would be appreciated....

Posted 10/7/2007 10:24 AM

jokkespeed

Actually it is quit easy :
1. Modify exit CMNEXINS to have the component name at the end of the dataset
2. Modify the panel CMNSTG01 to todo a vput of the library type (store it first into another non-CMN variable) and vget it from your edit macro
We do the same but for other reasons
Regards,
Johan
Posted 10/8/2007 12:40 AM




#ChangeManZMF
#oldforumpost
#post18fe7f2914
We capture that information in the CMNEX036 which is invoked during the edit session.

DMPRT 'SELECT CMD(%NWMPUT',' ',X36$LTYP,' ',X36$SMDS(32), X
' ',X36$CMPN(8),' ',X36$EBDS,' ',X36$LANG,')',PRT=VAR

The REXX program vputs the information to variable inn the shared profile pool.

REXX NWMPUT
arg nwm_ltyp nwm_dsn nwm_cmp nwm_ebds nwm_lang .

texidsn = nwm_dsn
texiltyp = nwm_ltyp
teximbr = nwm_cmp
texiebds = nwm_ebds
texilang = nwm_lang
texiappl = substr(nwm_dsn,11,4)
texipnum = substr(nwm_dsn,17,6)
/* save variables from cmnex036 */
Address Ispexec "VPUT (TEXIDSN TEXIMBR TEXILTYP TEXIEBDS) SHARED"
Address Ispexec "VPUT (TEXILANG TEXIAPPL TEXIPNUM) SHARED"
exit