Configuring the Japanese Db2® subsystem for use with IBM Z Software Asset Management

About this task

IBM Z Software Asset Management is implemented with a Japanese Db2® subsystem that is configured with the MCCSID=939 code page (Japanese extended English).

If your Db2® for z/OS® system is configured with MCCSID=930, MCCSID=1390, or MCCSID=5026 code page (Japanese extended Katakana), additional customization is required to set up IBM Z Software Asset Management .

For Katakana codepage, data for lower case characters (a,b,c,d,...,z) are stored differently in the databases. For example:

  • c = x’83’ for Latin-based codepage
  • c = x’64’ for Katakana codepage

In Katakana, the hex definitions for lower case characters are different from Latin-based codepages.

In IBM Z Software Asset Management , some columns have data stored in lower case. As a result, there are extra considerations in managing the conversion of data for lower case characters. In addition, module names in the GKB Knowledge Base for z/OS (not GKB Knowledge Base for z/OS UNIX System Services), are in encoded format – meaning some of the encoded characters are in lower case characters.

For consistency in IBM Z Software Asset Management , if the Db2® subsystem is defined in the Katakana code page, then all lower case characters must be stored in the Katakana format (value of ‘c’ must be stored as x’64’).

When setting up a Db2® subsystem to support EBCDIC double byte CCSID (coded character set identifiers), in the Db2® for z/OS installation job (DSNTIJUZ), parameter MIXED is set to ‘YES’ and parameter MCCSID defined with different values (default value is a 65534). Here is an example from DSNTIJUZ:

DSNHDECM CHARSET=KATAKANA
  • ASCCSID=1041
  • AMCCSID=942
  • SCCSID=290
  • MCCSID=930 (1390 or 5026)
  • GCCSID=300
  • USCCSID=367
  • UMCCSID=1208
  • UGCCSID=1200
  • ENSCHEME=EBCDIC
  • APPENSCH=EBCDIC
  • ENSCHEME=EBCDIC
  • APPENSCH=EBCDIC
  • DATE=ISO
  • DATELEN=0
  • DECARTH=DEC15
  • DECIMAL=PERIOD
  • DEF_DECFLOAT_ROUND_MODE=ROUND_HALF_EVEN
  • DEFLANG=IBMCOB
  • DELIM=DEFAULT
  • IMPLICIT_TIMEZONE=CURRENT
  • MIXED=YES

You must perform additional customization in IBM Z Software Asset Management .

Customization are as follows:

Procedure

  1. Update the ODBC Initialization file.

    The ODBC initialization file can be found in members:

    PARMLIB (HSISCLI) and PARMLIB (HSISCLIT).

    Do the following in members HSISCLI and HSISCLIT:

    1. Uncomment parameter CURRENTAPPENSCH in the "COMMON” section.
      Here is an example on updating the two values:
      ; COMMON section
      CURRENTAPPENSCH=939
      ;
  2. Update the following PARMLIB members to include the "CCSID (1027,939,300)" entry for all "LOAD DATA" statements:

    HSISSQ06

    HSISSQ12

    HSISSQ29

    For example in PARMLIB (HSISSQ29):
    LOAD DATA INDDN TPARAM   LOG YES REPLACE
                CCSID (1027,939,300)
                INTO TABLE TFGKBZ9_IQF7.TPARAM (        
                FKEY               POSITION(  1: 64) CHAR(64),   
                FVALUE             POSITION( 65:318) CHAR(254))  
                
                LOAD DATA INDDN TCOMPILE  LOG YES REPLACE 
                CCSID (1027,939,300)
                INTO TABLE TFGKBZ9_IQF7.TCOMPILERS (    
                FCOMPID            POSITION(  3: 17) CHAR(15),   
                FCOMPNAME          POSITION( 18: 47) CHAR(30))   
                
                LOAD DATA INDDN TIQFILTR  LOG YES REPLACE
                CCSID (1027,939,300)
                INTO TABLE TFGKBZ9_IQF7.TIQFILTERS (    
                FOWNER             POSITION(  3:  3) CHAR(1),    
                FIQFILTER          POSITION(  4: 58) CHAR(55),   
                FLPARNAME          POSITION( 59: 62) CHAR(4)) 
                
                LOAD DATA INDDN TXPCMODU  LOG YES REPLACE
                CCSID (1027,939,300)
                INTO TABLE TFGKBZ9_IQF7.TXPCMODULES (   
                FOWNER             POSITION(  2:  2) CHAR(1),    
                FMODNAME           POSITION(  3:256) CHAR(254))  
                
                LOAD DATA INDDN TXPCSPEC  LOG YES REPLACE 
                CCSID (1027,939,300)                  
                INTO TABLE TFGKBZ9_IQF7.TXPCSPEC (      
                ID                 POSITION(  2:  5) INTEGER,    
                FLIST              POSITION(  6: 55) CHAR(50))   
                
                LOAD DATA INDDN TXVENDOR  LOG YES REPLACE
                CCSID (1027,939,300)
                INTO TABLE TFGKBZ9_IQF7.TXVENDORS (     
                FOLDVENDORNAME     POSITION(  2: 65) CHAR(64),   
                FNEWVENDORNAME     POSITION( 66: 95) CHAR(30))
  3. Bind the Db2 DSNREXX plan.

    Following are the implementation steps:

    1. Create a copy of db2.SDSNSAMP(DSNTIJTM). This copy should just contain the DSNREXX job step.
    2. Update the job by replacing parameter ENCODING (EBCDIC) with ENCODING (939). See example below:
    3. Run the modified DSNTIJTM job. DSNREXX plan should now have ENCODING (939).
    Example:
    DSN SYSTEM(DSN)
                BIND PACKAGE(DSNREXX) MEMBER(DSNREXX)  ACTION(REPLACE)
                ISOLATION(CS)-
                LIBRARY('DB2V12.SDSNDBRM')-
                VALIDATE(BIND) CURRENTDATA(NO)-
                ENCODING(939)
                BIND PACKAGE(DSNREXUR) MEMBER(DSNREXX) ACTION(REPLACE)
                ISOLATION(UR)-
                LIBRARY('DB2V12.SDSNDBRM')-
                VALIDATE(BIND)-
                ENCODING(939)
                BIND PACKAGE(DSNREXCS) MEMBER(DSNREXX) ACTION(REPLACE)
                ISOLATION(CS)-
                LIBRARY('DB2V12.SDSNDBRM')-
                VALIDATE(BIND) CURRENTDATA(NO)-
                ENCODING(939)
                BIND PACKAGE(DSNREXRS) MEMBER(DSNREXX) ACTION(REPLACE)
                ISOLATION(RS)-
                LIBRARY('DB2V12.SDSNDBRM')-
                VALIDATE(BIND)-
                ENCODING(939)
                BIND PACKAGE(DSNREXRR) MEMBER(DSNREXX) ACTION(REPLACE)
                ISOLATION(RR)-
                LIBRARY('DB2V12.SDSNDBRM')-
                VALIDATE(BIND)-
                ENCODING(939)
                BIND PLAN(DSNREXX) -
                PKLIST(*.DSNREXX.DSNREXX, -
                *.DSNREXUR.DSNREXX, -
                *.DSNREXCS.DSNREXX, -
                *.DSNREXRS.DSNREXX, -
                *.DSNREXRR.DSNREXX) -
                ACT(REP) ISO(CS) CURRENTDATA(YES) SQLRULES(DB2) -
                ENCODING(939)
                RUN PROGRAM(DSNTIAD)  PLAN(DSNTIA12) -
                LIB('DB2V12.RUNLIB.LOAD')