Previous Topic: Step 2. Create a Database

Next Topic: Step 4. Modify the XCOM Default Global Table


Step 3. Create the XCOM History Table

You need to create a history table to store your history records.

To create the XCOM History Table

  1. Set up the history table using the following code (for MySQL):
    use database XCOMHIST;
    
    CREATE TABLE XCOM_HISTORY_TBL (
    
    StartDate               char(7),
    
    StartTime               char(6),
    
    reqno                   char(7),
    
    sysname                 char(8),
    
    sysid                   char(4),
    
    GregStartDate           char(8),
    
    GregEndDate             char(8),
    
    EndDate                 char(7),
    
    EndTime                 char(6),
    
    SchedStartDate          char(7),
    
    SchedStartTime          char(6),
    
    luname                  char(18),
    
    rluname                 varchar(256),
    
    mode                    char(9),
    
    file                    varchar(257),
    
    lfile                   varchar(257),
    
    transfer_id             char(11),
    
    msg_flag                char(5),
    
    msg1                    varchar(121),
    
    msg2                    varchar(121),
    
    msg3                    varchar(121),
    
    msg4                    varchar(121),
    
    msg5                    varchar(121),
    
    error_message           varchar(257),
    
    user_name               varchar(32),
    
    cpuflag                 char(1),
    
    initiated_by            char(1),
    
    remote_cpuflag          char(1),
    
    protocol                char(6),
    
    idest                   varchar(256),
    
    remote_system_relay     varchar(256),
    
    nodespec                varchar(65),
    
    cid                     varchar(18),
    
    rpgm                    varchar(65),
    
    tpn                     varchar(65),
    
    notifyl                 char(1),
    
    notify_term             varchar(65),
    
    localnotify             varchar(65),
    
    remote_file_relay       varchar(257),
    
    compression             char(1),
    
    notifyr                 char(1),
    
    who                     char(13),
    
    remoteuser              char(13),
    
    domain                  char(16),
    
    trusted                 char(1),
    
    trusted_ovr             char(1),
    
    filetype                char(1),
    
    fileaction              char(1),
    
    datasettype             char(1),
    
    carriageflag            char(1),
    
    codeflag                char(1),
    
    default_uid             varchar(32),
    
    releasex                char(4),
    
    keyx                    char(5),
    
    varpart                 varchar(257),
    
    auto_restart            char(1),
    
    pack_text_records       char(1),
    
    truncation              char(1),
    
    den                     char(1),
    
    expdt                   char(6),
    
    retpd                   char(5),
    
    expdate_flag            char(1),
    
    label                   char(4),
    
    tape                    char(1),
    
    unitct                  char(3),
    
    volct                   char(4),
    
    volsq                   char(4),
    
    storcls                 char(9),
    
    datacls                 char(9),
    
    mgtclas                 char(9),
    
    dsntype                 char(9),
    
    vlr_flag                char(1),
    
    umask_flag              char(3),
    
    labelnum                char(5),
    
    tapedisp                char(1),
    
    codetabl                char(4),
    
    seclabel                char(9),
    
    lclntfyl                char(1),
    
    rmtntfyl                char(1),
    
    xcomshowcipher          char(1),
    
    configssl               varchar(257),
    
    xcomfullssl             char(4),
    
    encryptionalgorithm     varchar(257),
    
    restart_flag            char(1),
    
    compression_flag        char(1),
    
    restart_negotiation_flag char(1),
    
    alpha                   char(10),
    
    beta                    char(10),
    
    remote_reqno            char(7),
    
    remote_system           varchar(64),
    
    cpcnt                   char(5),
    
    alcrypt                 char(1),
    
    groupname               char(16),
    
    sysdata                 char(11),
    
    xferdata                char(11),
    
    allocunit               char(1),
    
    prialloc                char(6),
    
    secalloc                char(6),
    
    diralloc                char(6),
    
    flen                    char(11),
    
    ident                   char(11),
    
    write_eof               char(1),
    
    tape_flag               char(1),
    
    label_type              char(4),
    
    label_number            char(5),
    
    acf_uid                 varchar(25),
    
    local_fname             varchar(257),
    
    msg_count               int    default 0,
    
    recfm                   char(4),
    
    lrecl                   char(6),
    
    blksize                 char(6),
    
    local_recfm              char(4),
    
    local_lrecl              char(6),
    
    local_blksize            char(6),
    
    volume                  char(11),
    
    unit                    char(11),
    
    uic                     char(10),
    
    whenx                   char(15),
    
    print_class             char(1),
    
    destination             varchar(22),
    
    form                    char(11),
    
    fcb                     char(5),
    
    copies                  char(4),
    
    holdflag                char(1),
    
    reporttitle             varchar(22),
    
    carriagecontrol         char(1),
    
    spoolflag               char(1),
    
    disposition             char(1),
    
    eol_classes             varchar(128),
    
    convert_classes         varchar(128),
    
    metacode_classes        varchar(128),
    
    metaflag                char(1),
    
    jobname                 char(9),
    
    jobnumber               char(9),
    
    ucs_name                char(5),
    
    programmer_name         varchar(21),
    
    account_number          char(5),
    
    room_number             char(5),
    
    tso_notify              char(9),
    
    shell_cmd               varchar(256),
    
    server_name             varchar(64),
    
    e2a_table               varchar(256),
    
    a2e_table               varchar(256),
    
    sdstype                 varchar(21),
    
    sdsnotify               varchar(21),
    
    sdsrc                   varchar(21),
    
    sdsfeedback             char(5),
    
    sdsmessage              varchar(81),
    
    sdsid                   varchar(21),
    
    login_username          char(16),
    
    access_username         varchar(21),
    
    mail_username           varchar(256),
    
    relay_username          varchar(65),
    
    login_connection        int    default 0,
    
    access_connection       int    default 0,
    
    create_directories      char(1),
    
    num_of_new_dir          int    default 0,
    
    attached_to_server      char(1),
    
    connection_logged_in    char(1),
    
    drive_mapped            char(1),
    
    errmsgfile              varchar(257),
    
    transfer_mode           char(1),
    
    xcomlib_file            varchar(257),
    
    xcomlib_add             char(1),
    
    xcomlib_record_no       char(1),
    
    xcomlib_record_recv     char(1),
    
    xcomlib_count           int    default 0,
    
    xcomlib_checkpoint_count int   default 0,
    
    encryptionkeybits       int    default 0,
    
    logged_in               char(1),
    
    sslx                    char(1),
    
    starting_state          int    default 0,
    
    conversation_type       int    default 0,
    
    header_length           int    default 0,
    
    ovrlength               int    default 0,
    
    recsize                 int    default 0,
    
    version                 int    default 0,
    
    silent                  int    default 0,
    
    trace                   int    default 0,
    
    buffsize                int    default 0,
    
    maxreclen               int    default 0,
    
    checkpoint_count        int    default 0,
    
    num_of_retires          int    default 0,
    
    retry_time              int    default 0,
    
    state                   int    default 0,
    
    next_state              int    default 0,
    
    record                  int    default 0,
    
    beta_block              char(10),
    
    alpha_block             char(10),
    
    local_user              char(12),
    
    local_password          char(32),
    
    local_domain            char(16),
    
    bytes                   bigint    default 0,
    
    record_count            bigint    default 0,
    
    byte_count              bigint    default 0,
    
    block_count             bigint    default 0,
    
    bytes_trans             bigint    default 0,
    
    status                  char(1),
    
    port                    char(5),
    
    exec_priority           smallint    default 0,
    
    sched_priority          smallint    default 0,
    
    pso_flag                char(1),
    
    local_member_name       char(8),
    
    katakana_control        char(1),
    
    katakana_in_data        char(1),
    
    katakana_in_hdr         char(1),
    
    shift_in_chars          char(1),
    
    dbcs_type               char(1),
    
    charset                 char(4),
    
    burst                   char(50),
    
    user_banner             char(1),
    
    destination_flag        char(1),
    
    writer_program          char(8),
    
    local_dataset_rrds      char(128),
    
    secure_socket           char(1),
    
    filedata                char(1),
    
    vtam_sends              int    default 0,
    
    vtam_recvs              int    default 0,
    
    file_output_count       int    default 0,
    
    file_input_count        int    default 0,
    
    micr                    char(8),
    
    the_release             char(1),
    
    dlink_flag              char(1),
    
    endevor_flag            char(1),
    
    cics_notify_userid      char(12),
    
    notify_flag             char(1),
    
    pgmlib_flag             char(1),
    
    remote_member_name      char(8),
    
    gdg_flag                char(1),
    
    remote_gdg_flag         char(1),
    
    remote_fileaction       char(1),
    
    remote_sysid            char(4),
    
    remote_sysname          char(8),
    
    local_cpuflag           char(1),
    
    remove_trailing_blanks  char(1),
    
    restart_supported       char(1),
    
    local_gateway_guid       char(36),
    
    remote_gateway_guid      char(36),
    
    file_error_count         smallint    default 0,
    
    session_error_count      smallint    default 0,
    
    vtam_error_count         smallint    default 0,
    
    total_error_count        smallint    default 0,
    
    local_volume             char(11),
    
    local_unit               char(11),
    
    invoking_jobname         char(8),
    
    create_delete_flag       char(1),
    
    pds_compress_flag        char(1),
    
    last_field               char(1),
    
    pds_member_number       smallint  default 0,
    
    cpu_time                bigint    default 0,  
    
    tcb_time                bigint    default 0,  
    
    srb_time                bigint    default 0,  
    
    ziip_time_ziip          bigint    default 0,  
    
    ziip_time_cpu           bigint    default 0,  
    
    ziip_eligible_time      bigint    default 0,  
    
    record_count2           bigint    default 0,  
    
    vtam_send_count         bigint    default 0,  
    
    vtam_receive_count      bigint    default 0,  
    
    file_output_count2      bigint    default 0,  
    
    file_input_count2       bigint    default 0,  
    
    local_ciphers           char(40)
    
    negotiated_cipher       char(1)
    
    primary_allocation2          char(8),                                           
    
    secondary_allocation2        char(8),                                           
    
    directory_allocation2        char(8),                                           
    
    allocation_record_units      char(1),                                           
    
    extended_attributes          char(1),                                           
    
    transfer_protocol            char(1),                                           
    
    local_charset                char(60),                                          
    
    remote_charset               char(60),                                          
    
    local_ccsid                  int            default 0,                          
    
    remote_ccsid                 int            default 0,                          
    
    source_ccsid                 int            default 0,                          
    
    target_ccsid                 int            default 0,                          
    
    local_conversion_technique   char(8),                                           
    
    remote_conversion_technique  char(8),                                           
    
    mbcs_input_error_action      char(1),                                           
    
    mbcs_conversion_error_action char(1),                                           
    
    local_delim_encoding         char(1),                                           
    
    remote_delim_encoding        char(1),                                           
    
    mbcs_input_repl_char         char(8),                                           
    
    mbcs_conversion_repl_char    char(8),                                           
    
    local_delim_options          char(16),                                          
    
    remote_delim_options         char(16),                                          
    
    mbcs_input_repl_count        int            default 0,                          
    
    mbcs_conversion_repl_count   int            default 0,                          
    
    transmission_format          char(1)       
    
                            );
    

    The history table is set up.

  2. Create a unique index on the table to ensure that no duplicate record gets inserted:
    create unique index XCOM_HISTORY_IDX on XCOM_HISTORY_TBL (
    
    StartDate, StartTime, reqno, micr, sysname, sysid);
    
    create unique index XCOM_MICR_IX on XCOM_HISTORY_TBL (
    
    micr, reqno, sysname, sysid)
    

    The history table now has a unique index.

  3. To create remaining indexes, use the following syntax:
    create index XCOM_HIST_DATEIDX on XCOM_HISTORY_TBL (  
    StartDate,                                            
    StartTime,                                            
    EndDate,                                              
    EndTime); 
    
    create index XCOM_REQ_IDX on XCOM_HISTORY_TBL (    
    reqno,                                             
    pds_member_number,                                 
    StartDate,                                         
    StartTime,                                         
    sysname,                                           
    sysid);                                            
                                                       
    create index XCOM_RECP_IDX on XCOM_HISTORY_TBL (   
    luname,                                            
    pds_member_number,                                 
    StartDate,                                         
    StartTime,                                         
    sysname,                                           
    sysid);                                            
                                                       
    create index XCOM_USER_IDX on XCOM_HISTORY_TBL (   
    user_name,                                         
    pds_member_number,                                 
    StartDate,                                         
    StartTime,                                         
    sysname,                                           
    sysid);                                            
                                                       
    create index XCOM_IDNT_IDX on XCOM_HISTORY_TBL (   
    transfer_id,                                       
    pds_member_number,                                 
    StartDate,                                         
    StartTime,                                         
    sysname,                                           
    sysid);                                            
                                                       
    create index XCOM_SYST_IDX on XCOM_HISTORY_TBL (   
    remote_system,                                     
    pds_member_number,                                 
    StartDate,                                         
    StartTime,                                         
    sysname,                                           
    sysid);
    
    

    The history table now has 6 more indexes.