Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - scottnys

Pages: 1 2 [3]
31
z/OS Server / Re: return code is 17
« on: April 25, 2017, 06:48:02 AM »
Carefully check the names of all you elements.
That the Storage set levels have not "fat fingers".
That SMS definitions have been completed (are the same as you expect)
That the OAM object is correctly defined

I've had some of those gotchas myself.  Is this the first time you are using this OAM object?  Compare with a successful storage set for those simple mistakes.

32
z/OS Server / Re: How to suppress carriage control characters in CMOD
« on: April 13, 2017, 12:14:44 PM »
Siva,
    In looking closer at your posting, you wanted to remove "0" only on viewing by the client, but leave it there when printing? (with ODF?)  if that is true, there is an exit (documented, we haven't used it) that allows you to massage the report PRIOR TO VIEWING.  The "client preview exit".

The client preview exit can be used to add, remove, or reformat data before the
document is presented to the client. For example:
v Remove pages from the document, such as banner pages, title pages, all pages
but the summary page, and so on.
v Remove specific words, columns of data, or other information from the
document. That is, omit (“white out”) sensitive information such as salaries,
social security numbers, and birth dates.
v Add information to the document, for example, a summary page, data analysis
information, and Confidential or Copy statements.
v Reformat data contained in the document, for example, reorder the columns of
data.
Note:
1. The client preview exit is not called for all document retrievals. In particular, it
is not called for functions that use the so-called Bulk Retrieval method of
retrieving documents or for server printing. For example, running the ARSDOC
GET function without specifying the -n parameter performs a bulk retrieval,
and documents retrieved will not be presented to the client preview exit.
2. The client preview exit is not called for server printing.
3. If a request is made to retrieve a large object document, care should be taken to
make certain that the client preview exit does not remove any pages from the
document. The large object segment size and page navigation information are
based on the number of pages that existed when the document was loaded on
the server. Unexpected results may occur if this information is changed.
4. The client preview exit is enabled at the application level. The exit is invoked
only for the specified applications.
“Interface exit components” on page 214
“Format” on page 214
“General Description” on page 215
Server printing
arsuprep dll
Based on Application
- Remove pages
- Remove words
- Add information
- Reformat data
OnDemand
archive
C or COBOL source code
Document
in HFS
arsdoc get: bulk document retrieval
Single document retrieval
Figure 18. Overview of the client preview exit
©

33
z/OS Server / Re: How to suppress carriage control characters in CMOD
« on: April 13, 2017, 11:31:21 AM »
Agreed.  Preferable to have changes to the report altered by the programmers.  After successfully using Input Exits, creating another to meet this need is easy.  The input exit can easily change the "0" to a SPACE or whatever.  Remember that using Input Exits, OS390 indexing must be used.

34
z/OS Server / Re: How to make fallback from upgrade?
« on: April 13, 2017, 11:26:16 AM »
/H Carlberg, you are totally right. :(
After there have been loads in the upgrade, the individual "next LOAD_ID"s (in the ARSAG) have been incremented.  If you fall back, then they are being re-set to before the migration.  That is bad!!!
To enhance the fall back procedure is to have an inventory of how many applications had loads to it and preserve the LOAD_ID of where it got to (how many loads).  When you fall back to before the upgrade, update the restored LOAD_IDs  to the preserved values (or greater).  That way, when you start loading at the restored version, the loads won't be Overlaying/replacing loads that were done at the upgraded version.
Resources weren't a problem, providing there were no changes to them during the migration.

This was a painful lesson.  We used the image copies to get back the OAM objects for the reports.  We Unloaded from the IMAGECOPY the documents that were overlaid.  We then went thru each appl grp that had loads, manually altered the "load_id" so there were no overlaps and LOAD RESUMEed them back into the tables - not pretty for sure.

35
z/OS Server / Re: How to make fallback from upgrade?
« on: October 24, 2016, 08:08:12 AM »
Martin,
    An additional to Greg's process.  Using ARSDB previous version/Current version works for our fallback process nicely.  Smooth and clean.  We've tested it multiple times for fallback process to doing the actual upgrade.
    We did, however, get bit with an upgrade that "tooled along" for a couple of days.  Loads had happened (activity).  Realizing an unacceptable problem (with the Banner), we did our fallback process. The "next loadid" in the ARSAG table was incremented in the upgraded version.  When we did our fallback process, all of the "next loadids" that were incremented for those couple of days were restored to PRE-MIGRATION values.  This was BAD.  After the fallback was complete, duplicates happened for all of the Application Groups that were loaded for those couple of days.  Learning from our pain, we would have taken a copy of the all of the new SYSTEM tables, identifying the application groups that were loaded and incremented and incremented out backed up/previous version tables PRIOR to starting LOADs after the fallback.

    For a bit more clarification on what Greg posted for our fallback process.  Although you are seeing the 6-8 tables that are dropped, they are NOT the only ARS* tables that are effected by the upgrade.  There are ALTER statements that happen to other tables as well.  OBIDs are an issue and IMAGCOPYs don't provide much comfort for tables that are Dropped/Recreated.  Our process uses ARSDB for the whole process of Fallback.
    1)  ARSDB unload of ALL tables (run under current version of CMOD)
    2)  ARSDB upgrade using new version.  This will both Drop/recreate that list of tables as well as altering other Tables/indexes.
    3)  Fallback - ARSDB drop all tables using new version.  (run from V95 directory)
    4)  Fallback - ARSDB create all tables under current version. (run from v85 directory)
    5)  Fallback - ARSDB load all of the unloaded backed up data.  (run from v85 directory) CMOD will build all of the system tables the way the CURRENT version was before starting.  Also, ARSDB will load all of that data properly under the pre-migration format (DDL)
    6)  Fallback - ARSDB will rebuild all necessary indexes for the correct version as well.

36
z/OS Server / Re: Emails randomly delete first 1 1/2 pages of report
« on: October 24, 2016, 07:27:48 AM »
J9CMOD , Sorry to hear your woos, I truly feel for you.

Ed, This sounds like something that should be fixed in the APAR the developers are working on for NYS.  I'm sure we would be hit by this same Uninitialized Working Storage issue as well.  Can't just test 1 single call - Multiple calls is the real world.   

Scott.

37
I wanted to through my two cents into this, realizing it's not recent.  We have the same issue from time to time.  We started by "reloading" the report into a different OAM with the desired retention.  With LINE data that would work.  With AFP docs, not so much.  In investigating OAM some more, we found to options (leaving the currently loaded reports where they are).
1) There are columns in OAM that, when given a value, will override the original definition of that OAM.  What I did was to assign the "ODEXPDT" column a date and extend it's retention.  This works great for keeping the report in place.  You would then change the storage set to point future loads to another OAM.

000800 //*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
000810 //*   IN CASES WHERE THE USER REALIZES THAT THE RETENTION IS NOT     %%%
000811 //*  LONG ENOUGH AFTER A SERIES OF LOADS HAS ALREADY HAPPENED,       %%%
000812 //*  THERE IS A SOLUTION.                                            %%%
000813 //*   THE WAY OAM IS CONFIGURED, THE EXPIRE PROCESS "CHECKS" WITH    %%%
000814 //*  THE MANAGEMENT CLASS FOR EXPIRATION.  THIS IS "TRUMPED" IF      %%%
000815 //*  THE (ODEXPDT) COLUMN IS OTHER THAN THE DEFAULT.                 %%%
000816 //*                                                                  %%%
000817 //*  THE JOB:"OSREQHLD" WILL PUT A PERMINENT HOLD UNTIL IT IS        %%%
000818 //*          RELEASED.                                               %%%
000820 //*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
000830 //**                                                                   
000840 //   INCLUDE MEMBER=GOTO32PC                                           
000850 //**                                                                   
000860 //UPDIXTBL EXEC PGM=IKJEFT01,COND=(4,LT),DYNAMNBR=20                   
000870 //STEPLIB  DD DISP=SHR,DSN=ONDDODP.V10.SDSNLOAD                         
000880 //SYSTSPRT  DD SYSOUT=(,)                                               
000890 //SYSOUT    DD SYSOUT=(,)                                               
000900 //SYSTSIN   DD *                                                       
001000  DSN SYSTEM(DODP)                                                       
001100  RUN PROGRAM(DSNTIAD) PLAN(DSNTIA10) -                                 
001200   LIB('ONDDODP.V10.RUNLIB.LOAD')                                       
001300 //SYSDUMP   DD SYSOUT=*                                                 
001400 //SYSPRINT  DD SYSOUT=(,)                                               
001500 //SYSIN     DD *                                                       
001600    UPDATE OBDNNXXX.OSM_OBJ_DIR                                         
001700      SET                                                               
001900           ODEXPDT  = ODMCASDT + 5 YEARS                                 
002000    WHERE ODNAME LIKE 'PWB.L1825.%';                                     
002100                 


2) the second option is more "open ended"    This option would tell OAM to leave it alone until the "HOLD" was released.  This option is better for "lets just pause until we can figure it out" thing.

********************************* Top of Data ****************************
//OSREQHLD JOB  (OSRQ,C313),IRA.SYSTEMS,MSGCLASS=X,CLASS=S,               
//         NOTIFY=&SYSUID                                                 
//*********************************************************************   
//*            DSYS.OLTP.PROD.JCL(OSREQHLD)                           *   
//*  PLACE/REMOVE EXPIRATION HOLD ON AN OAM OBJECT                    *   
//*                                                                   *   
//*                                                                   *   
//* OSREQ CHANGE <COLLECTION NAME> <OBJECT> DELHOLD( )                *   
//*                                                                   *   
//* DELHOLD(HOLD) PLACES INDEFINATE HOLD ON OAM EXPIRATION FOR OBJECT *   
//* DELHOLD(NOHOLD) REMOVES OAM HOLD.                                 *   
//*                                                                   *   
//* COLLECTION NAME CAN BE VERIFIED BY CHECKING THE FOLLOWINT TABLE   *   
//*                 OAMADMIN.CBR_COLLECTION_TBL                       *   
//*  OBJECT IS ODNAME FROM OBDXXXXX.OSM_OBJ_DIR                       *   
//*  SEE CSYD01.SPUFI.INPUT(CROAMHLD) FOR SPUFI CREATE OF COMMAND     *   
//*                                                                   *   
//*  CHANGE ACTIVITY:                                                 *   
//*********************************************************************   
//STEP1    EXEC PGM=IKJEFT01,REGION=4096K                                 
//STEPLIB  DD DSN=ONDDODP.V10.SDSNEXIT,DISP=SHR                           
//         DD DSN=ONDDODP.V10.SDSNLOAD,DISP=SHR                           
//SYSPRINT DD   SYSOUT=*                                                 
//SYSTSPRT DD   SYSOUT=*                                                 
//SYSTSIN  DD   *                                                         
 OSREQ CHANGE OND.COLL.M1TEST.SGD03M1T.MCDM01 GAA.L4.FAAA DELHOLD(NOHOLD)
 OSREQ CHANGE OND.COLL.M1TEST.SGD03M1T.MCDM01 GAA.L4.FAA1 DELHOLD(NOHOLD)
/*                                                                       
//*                                                                                                                         

Pages: 1 2 [3]