IDMS

Expand all | Collapse all

DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

  • 1.  DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

    Posted Oct 24, 2018 08:52 AM

    Getting error trying to generate DMCL :

     

    CONNECT TO SYSTEM;                                                       
    Status = 0        SQLSTATE = 00000                                       
    SET OPTIONS ON ERROR ROLLBACK;                                           
                                                                             
    **********  IDMSSSP(Source SQL)----->                                    
    SET OPTIONS ON ERROR ROLLBACK                                            
                                                                             
    Status = 0        SQLSTATE = 00000                                       
    GENERATE DMCL DMCL9998;                                                  
    Status = -4       SQLSTATE = 64000        Messages follow:               
    DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 
                                                                             
    Command Facility ended with errors                                       

    This is a new DMCL.  dO I NEED TO create before punch generate and link it?

     

    Mike

     

     

     

     

     

     

     

    //LOADDMCL EXEC PGM=IDMSBCF,REGION=2048K                          
    //STEPLIB  DD DSN=IDOT.CV01.DBALOAD,DISP=SHR                      
    //         DD DSN=IDOT.CV01.LOAD,DISP=SHR                         
    //SYSCTL   DD DSN=IDOT.CV01.SYSCTL,DISP=SHR                       
    //SYSPCH   DD DSN=&&PCH(DMCL9998),UNIT=SYSDA,                     
    //            DCB=(BLKSIZE=3200,LRECL=80,RECFM=FB,DSORG=PO),      
    //            DISP=(NEW,PASS,DELETE),                             
    //            SPACE=(TRK,(10,5,5))                                
    //SYSLST   DD SYSOUT=*                                            
    //SYSJRNL  DD DUMMY                                               
    //SYSIDMS  DD *                                                   
    DMCL=IDMSDMCL                                                     
    /*                                                                
    //SYSIPT   DD *                                                   
    CONNECT TO SYSTEM;                                                
    SET OPTIONS ON ERROR ROLLBACK;                                    
    GENERATE DMCL DMCL9998;                                           
    PUNCH DMCL LOAD MODULE DMCL9998;  



  • 2.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 
    Best Answer

    Broadcom Employee
    Posted Oct 24, 2018 08:57 AM

    Yes Mike you can't generate a DMCL that does not exist.

     

    See KB000024632  step 6 which describes how you create the DMCL that will be the Reload DMCL in the unload/reload process. 

     

    https://comm.support.ca.com/kb/what-are-the-steps-to-run-a-basic-unloadreload/kb000024632



  • 3.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

    Posted Oct 24, 2018 09:17 AM

    Brian.... nothing is simple in IDMS.  Now I'm getting a space error -

    DB002000 T473 C1M6001: DB error in Module:IDMSSTOW at Offset:0000063A           
    DB001042 T473 C-4M6001: Table:LOADTEXT-157, Area:DDLCATLOD space exhausted      
    DB004099 T473 C-4M6015: ERRORS DETECTED DURING GENERATE - GENERATE DISALLOWED   

     

    I suppose a cleanup is required in DDLCATLOD.  Would deleting some old DMCL help cleanup ?

     

    Mike



  • 4.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 



  • 5.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

    Posted Oct 24, 2018 12:43 PM

    how to increase page range?



  • 6.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

    Posted Oct 24, 2018 12:48 PM

    I did this

    ALTER PHYSICAL AREA CATSYS.DDLCATLOD                       
     MAXIMUM SPACE 100 PAGES
     ; 

    tried to generate the DMCL but same error.



  • 7.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

    Broadcom Employee
    Posted Oct 24, 2018 12:57 PM

    Mike,

      If your CATSYS.DDLCATLOD area contains multiple DMCL and DBTABLE LOAD MODULES, you can temporarily get around this problem by deleting DMCL LOAD MODULE  and DBTABLE LOAD MODULE for any that exist and then run CLOD SYSTEM at ENTER NEXT TASK code.    That should allow you to Generate your new one so it can be punched/linked and used for your area expansion. 

       Or if you know that only DMCL and DBTABLE load mods reside in CATSYS.DDLCATLOD you could use the existing DMCL to FORMAT AREA CATSYS.DDLCATLOD.  certainly the empty area will allow the Generate of your new DMCL.

     

      Any existing DMCLs or DBTABLES can be regenerated from the source definitions when needed.

     

      If later you want to increase the size of the CATSYS.DDLCATLOD area you can follow the directions in  KB000026613.



  • 8.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

    Posted Oct 24, 2018 08:59 AM

    Yes, you need to create the DMCL before you can generate it.

     

    However, you can generate and punch an existing DMCL, but link it as a different name and use it as you please.



  • 9.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

    Posted Oct 24, 2018 02:50 PM

    Hey, Brian. How do we report on the contents of our CATSYS.DDLCATLOD? I want to see a list of the load modules in there to be sure that the only ones are my DMCL and my DBTABLE. Is it through OCF or IDD? What dictionary do I connect to?



  • 10.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

    Broadcom Employee
    Posted Oct 24, 2018 03:12 PM

    Hi Paul,

      Looks like we need another Knowledge Base Article.  It is a good question.  I am not sure why OCF/BCF does not have a DISPLAY ALL command for DMCL LOAD MODULE or DBTABLE LOAD MODULE.

      The only valid syntax I find for  DMCL LOAD MODULE or DBTABLE LOAD MODULE  is the DELETE/DROP.

      IDD has a DISPLAY ALL LOAD MODULE for standard dictionary, but there is no corresponding command for CATALOG Load Area (DDLCATLOD) Load Modules. 

      I don't know off the top if there is already an IDEA posted to request this but it's probably a good idea.

     

      In the meantime, what you can do is create a special schema/subschema that defines the DDLCATLOD area and the Records and Sets that reside in the area (same recs and sets as DDLDCLOD) and then use it in OLQ to display all of the LOADHDR-156 recs, each of which represents a load module in the area.

      I'll try to write up a detailed description and publish as a KB article later today or tomorrow. 

      You may not need the KB article with that description, but I'll get it out there as soon as I can anyway.  



  • 11.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

    Posted Oct 24, 2018 03:47 PM

    And if I recall – dropping a load object from the catalog does not drop it –you must do it twice (there might be a permanent option on the drop command, I simply don’t remember)

     

    Chris Hoelscher

    Technology Architect, Database Infrastructure Services

    Technology Solution Services

    Humana Inc.

    123 East Main Street

    Louisville, KY 40202

    Humana.com

    (502) 476-2538 or 407-7266



  • 12.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

    Broadcom Employee


  • 13.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

    Broadcom Employee
    Posted Oct 24, 2018 03:23 PM

    Hi Paul -   

    Brian's approach is the only way to conclusively demonstrate what load modules are in the DDLCATLOD area. However, the only load modules that we store in the DDLCATLOD area are DMCLs, DBTables, and Access Modules. So if you want to see what's in the CATSYS.DDLCATLOD, assuming that CATSYS is associated with DBname SYSTEM in your DBTable, you can issue these commands in OCF: 

    CONNECT TO TO SYSTEM; 

    SELECT * FROM SYSTEM.AM ;   -- this will show any access modules defined in this catalog

    SELECT * FROM SYSTEM.DMCL ;   -- this will show all DMCLs

    SELECT * FROM SYSTEM.DBTABLE;    -- this will show all DBTables

     

    I hope that's helpful, Cal 



  • 14.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

    Broadcom Employee
    Posted Oct 24, 2018 04:30 PM

    My bad... Once I thought about it, I realized the the queries I noted will show the source for the DMCLs, & DBTables, as well as the syntax to create e Access Moduels (AMs). But it will not actually show the load modules. 



  • 15.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

    Posted Oct 24, 2018 04:33 PM

    Can we just chalk  that one up to CALc overflow?

     

    Chris Hoelscher

    Technology Architect, Database Infrastructure Services

    Technology Solution Services

    Humana Inc.

    123 East Main Street

    Louisville, KY 40202

    Humana.com

    (502) 476-2538 or 407-7266



  • 16.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

    Broadcom Employee
    Posted Oct 24, 2018 04:40 PM

    Groan... Embarrassing but true... 



  • 17.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

    Broadcom Employee
    Posted Oct 24, 2018 04:56 PM

    Paul,

      Now that I published that KB article about creating the special SS for DDLCATLOD I have been told a MUCH easier way to do this by SE 

     

    CONNECT TO SYSTEM;                                                                    

                       

    SELECT * FROM SYSTEM.LOADHDR;                                                        



  • 18.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

    Posted Oct 24, 2018 05:07 PM

    That does appear to require that the SQL engine is turned on and the SQL objects defined …..

     

    Chris Hoelscher

    Technology Architect, Database Infrastructure Services

    Technology Solution Services

    Humana Inc.

    123 East Main Street

    Louisville, KY 40202

    Humana.com

    (502) 476-2538 or 407-7266



  • 19.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

    Broadcom Employee
    Posted Oct 24, 2018 05:28 PM

    I updated the KB article KB000118439  to include the SELECT for those that have SQL option.



  • 20.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

    Posted Oct 25, 2018 08:36 AM

    Chris is right. The SQL queries don't work if the SQL option isn't enabled. I did try it where the SQL option is enabled and I get "DB001036 T1881 C-4M321: Table LOADHDR definition/DB out of sync". Perhaps because the DMCLs, DBTables, and Access Modules I have defined in the catalog are not represented by Load Modules in DDLCATLOD? I would not be surprised if I have formatted (emptied DDLCATLOD) to free up space for a subsequent Generate of a DMCL or something. Is it true that the content of the DDLCATLOD is only used 'during' a generate? I notice it is used during Unload/Reload processing but don't know if it uses existing content or if it is used as a target for load modules generqated during unload/reload?



  • 21.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

    Broadcom Employee
    Posted Oct 25, 2018 08:53 AM

    Paul,

      I got the exact same error on both of my CVs (18.5 and 19.0) and I am not sure why but I corrected the problem by running INSTALL STAMPS INTO AREA CATSYS.DDLCATLOD REPLACE;

     

      Then I was able to issue the SELECT * FROM SYSTEM.LOADHDR  with no problem



  • 22.  Re: DB004000 T203 C-4M6015: DMCL     DMCL9998 is not defined                 

    Posted Oct 25, 2018 09:22 AM

    That worked! Very cool. I'll have to look up INSTALL STAMPS to figure out what it does. :-)