[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference iosg::all-in-1_v30

Title:*OLD* ALL-IN-1 (tm) Support Conference
Notice:Closed - See Note 4331.l to move to IOSG::ALL-IN-1
Moderator:IOSG::PYE
Created:Thu Jan 30 1992
Last Modified:Tue Jan 23 1996
Last Successful Update:Fri Jun 06 1997
Number of topics:4343
Total number of notes:18308

899.0. "CM gold get bug + fix" by SHALOT::GEERDES (Ben Geerdes) Fri Jun 19 1992 16:07

	After the installation of 3.0, I discovered a bug in the gold get
	a cm element. It happens when you start a new ALL-IN-1 session
	go into the editor, do a gold get and select a base element and then
	select difference with another element. It wont work. The fix is
	on line of code in CM_GET_DIFFERENCES.SCP , se below. Simon,
	I leave it up to you to get it from here.

		
	!+
!       CM_GET_DIFFERENCE.SCP
!+
.LABEL START
GET #CM_REM_GET_KEY = #CM_GET_KEY
GET #CM_DISPLAY_MESSAGE = ""
GET #CM_DIF_ELE_NO = 1
.IF #CM_DIFF_FUNC EQS "GET" THEN .GOTO GET_DIFFERENCE
.IF #CM_DIFF_FUNC EQS "SEL_BOTH" THEN .GOTO SEL1_DIFFERENCE
.IF #CM_DIFF_FUNC EQS "NOSEL1_SITE" THEN .GOTO NOSEL1_SITE
.IF #CM_DIFF_FUNC EQS "NOSEL1_SDC" THEN .GOTO NOSEL1_SDC

.LABEL NOSEL1_SITE
        GET #CM_INIT_OPTION = #CM_ND_XOPD
        GET #CM_D_F_ELE1 = "CM$SITELOG"
        GET #CM_D_ELE1 = #CM_GET_KEY
        GET #CM_D_E_ELE1 = #CM_D_ELE1:39\
        GET #CM_D_T_ELE1 = #CM_D_ELE1:5:39\
        GET #CM_D_L_ELE1 = #CM_D_ELE1:15:44
        .GOTO SEL1_SITE_DIFFERENCE

.LABEL NOSEL1_SDC
	! the next line is a bug fix
        GET #CM_INIT_OPTION = #CM_ND_XOPD
	!
        GET #CM_D_F_ELE1 = "CM$SDC"
        GET #CM_D_ELE1 = #CM_GET_KEY
        GET #CM_D_E_ELE1 = #CM_D_ELE1:39\
        GET #CM_D_T_ELE1 = #CM_D_ELE1:5:39\
        GET #CM_D_L_ELE1 = #CM_D_ELE1:15:44
        .GOTO SEL1_SDC_DIFFERENCE

.LABEL SEL1_DIFFERENCE
        GET #CM_GET_WHAT = CM$_DIF_SEL1
        FORM CM$SELECT$ELEMENT$CD$NODEL
        .IF OA$FORM_DISPOSE NE 2 THEN .GOTO NO_DIFFERENCES
        .IF DIGCUS1 EQS CM$_MO_SITE THEN -
                GET #CM_D_F_ELE1 = "CM$SITELOG" ELSE -
                GET #CM_D_F_ELE1 = "CM$SDC" 
        .IF ELEMENT1 EQS "" 
         .THEN 
          GET #CM_D_E_ELE1 = OA$SEL_KEY:39
          GET #CM_D_T_ELE1 = OA$SEL_KEY:5:39
          GET #CM_D_L_ELE1 = OA$SEL_KEY:15:44
          GET #CM_D_ELE1 = OA$SEL_KEY
         .ELSE
          GET #CM_D_E_ELE1 = ELEMENT1
          GET #CM_D_T_ELE1 = TYPE1
          GET #CM_D_L_ELE1 = LANGUAGE1 
          GET #CM_D_ELE1 = #CM_D_E_ELE1:39 #CM_D_T_ELE1:5 #CM_D_L_ELE1:15       
        .END_IF

        .IF #CM_D_F_ELE1 EQS "CM$SDC" THEN .GOTO SEL1_SDC_DIFFERENCE

.LABEL SEL1_SITE_DIFFERENCE
        !+
        ! if the element is live we allow the choice between live
        ! and development version (DB)
        !-
        !KAL - If we are using the DIFL option then we only ever
        !let them choose develop version.
        !
        GET #CM_D_ETYPESKEY1 = -
        CM$ETYPES:NUMBER.ELEMENT:39[CM$SITELOG.NUMBER[#CM_D_ELE1]] .TYPE:5 .LANGUAGE

        .IF #CM_INIT_OPTION EQS "DIFL" 
        .THEN
          GET #CM_D_OPTTYPE = "D"
        .ELSE
          .IF CM$SITELOG.LIVE[#CM_D_ELE1] EQS CM$_Y 
          .THEN
            GET #CM_D_OPTTYPE = "DB"
          .ELSE
            GET #CM_D_OPTTYPE = "D"
          .END_IF 
        .END_IF
        
        .GOTO SEL1_GET_OPTIONS

.LABEL SEL1_SDC_DIFFERENCE
        .IF CM$SDC.EXCEPTION[#CM_D_ELE1] EQS CM$_Y THEN GET -
                        #CM_D_ETYPESKEY1 = #CM_D_ELE1 -
                ELSE -
                        GET #CM_D_ETYPESKEY1 = "STANDARD" -
                        \GET #CM_D_ETYPESKEY1 = #CM_D_ETYPESKEY1:39 #CM_D_ELE1:5:39
        GET #CM_D_OPTTYPE = "DS"

.LABEL SEL1_GET_OPTIONS

        GET #CM_STATUS = 0\-
        GET #CM_GET_KEY = #CM_D_ELE1\-
        GET OA$FUNCTION=CM$ETYPES.PRE_PRINT_DIFF[#CM_D_ETYPESKEY1]\-
        GET #CM_GET_KEY = #CM_REM_GET_KEY

        .IF #CM_STATUS NE 1 THEN .GOTO NO_DIFFERENCES

!+KAL - Here we must check what differences they are performing
!
        .IF #CM_INIT_OPTION EQS "DIF" THEN .GOTO SECOND_ELEMENT
        .IF #CM_INIT_OPTION EQS "DIFA" THEN .GOTO ANY_FILE
        .IF #CM_INIT_OPTION EQS "DIFB" THEN .GOTO BASE_SECOND_ELEMENT
        .IF #CM_INIT_OPTION EQS "DIFL" THEN .GOTO LIVE_SECOND_ELEMENT
        .GOTO NO_DIFFERENCES    

.LABEL ANY_FILE

        GET #CM_SEL_TITLE = CM$_DIF_FILE
        FORM CM$GETATEXT
        .IF OA$FORM_DISPOSE NE 2 THEN .GOTO NO_DIFFERENCES

        CLOSE_PRIOR\-
        GET #CM_D_MESS2 = OA$DIR:"*.*".%WHOLE[#CM_TFILE]\-
        GET #CM_D_E_ELE2 = #CM_D_T_ELE2 = #CM_D_L_ELE2 = ""\-
        COPY #CM_TFILE "OA$TEMP:CM_SECOND_ELEMENT.TXT"\-
        GET #CM_STATUS = OA$STATUS

        .EXIT

.LABEL BASE_SECOND_ELEMENT

        GET #CM_D_F_ELE2 = "CM$SDC" 
        GET #CM_D_E_ELE2 = #CM_D_E_ELE1\-
        GET #CM_D_T_ELE2 = #CM_D_T_ELE1\-
        GET #CM_D_L_ELE2 = #CM_D_L_ELE1 \-
        GET #CM_D_ELE2 = #CM_D_ELE1\-
        GET #CM_OPTION = #CM_D_T_ELE2:5 "DX" #CM_ND_XOPD\-
        GET OA$MENU_REMAINDER = CM$OPTIONS$TYPE:ALTKEY.ND_OPTION[#CM_OPTION]

        .GOTO SEL2_SDC_DIFFERENCE

.LABEL LIVE_SECOND_ELEMENT

        GET #CM_D_F_ELE2 = "CM$SITELOG"\-
        GET #CM_D_E_ELE1 = #CM_D_E_ELE1\-
        GET #CM_D_T_ELE2 = #CM_D_T_ELE1\-
        GET #CM_D_L_ELE2 = #CM_D_L_ELE1 \-
        GET #CM_D_ELE2 = #CM_D_ELE1\-
        GET #CM_OPTION = #CM_D_T_ELE2:5 "DY" #CM_ND_XOPD\-
        GET OA$MENU_REMAINDER = CM$OPTIONS$TYPE:ALTKEY.ND_OPTION[#CM_OPTION]

        .GOTO SEL2_SITE_DIFFERENCE

.LABEL SECOND_ELEMENT
        GET #CM_DIF_ELE_NO = 2
        GET #CM_GET_WHAT = CM$_DIF_SEL2
        FORM CM$SELECT$ELEMENT$CD$NODEL
        .IF OA$FORM_DISPOSE NE 2 THEN .GOTO NO_DIFFERENCES
        .IF DIGCUS1 EQS CM$_MO_SITE THEN -
                GET #CM_D_F_ELE2 = "CM$SITELOG" ELSE -
                GET #CM_D_F_ELE2 = "CM$SDC" 
        .IF ELEMENT1 EQS "" 
         .THEN 
          GET #CM_D_E_ELE2 = OA$SEL_KEY:39
          GET #CM_D_T_ELE2 = OA$SEL_KEY:5:39
          GET #CM_D_L_ELE2 = OA$SEL_KEY:15:44
          GET #CM_D_ELE2 = OA$SEL_KEY
         .ELSE
          GET #CM_D_E_ELE2 = ELEMENT1
          GET #CM_D_T_ELE2 = TYPE1
          GET #CM_D_L_ELE2 = LANGUAGE1 
          GET #CM_D_ELE2 = #CM_D_E_ELE2:39 #CM_D_T_ELE2:5 #CM_D_L_ELE2:15       
        .END_IF

        .IF #CM_D_F_ELE2 EQS "CM$SDC" THEN .GOTO SEL2_SDC_DIFFERENCE
        
.LABEL SEL2_SITE_DIFFERENCE
        !+
        ! if the element is live we allow the choice between live
        ! and development version (DB)
        !-
        GET #CM_D_ETYPESKEY2 = -
        CM$ETYPES:NUMBER.ELEMENT:39[CM$SITELOG.NUMBER[#CM_D_ELE2]] .TYPE:5 .LANGUAGE
        .IF CM$SITELOG.LIVE[#CM_D_ELE2] EQS CM$_Y THEN GET #CM_D_OPTTYPE = "DB" -
                ELSE GET #CM_D_OPTTYPE = "D"
        .GOTO SEL2_GET_OPTIONS

.LABEL SEL2_SDC_DIFFERENCE
        .IF CM$SDC.EXCEPTION[#CM_D_ELE2] EQS CM$_Y THEN GET -
                        #CM_D_ETYPESKEY2 = #CM_D_ELE2 -
                ELSE -
                        GET #CM_D_ETYPESKEY2 = "STANDARD" -
                        \GET #CM_D_ETYPESKEY2 = #CM_D_ETYPESKEY2:39 #CM_D_ELE2:5:39
        GET #CM_D_OPTTYPE = "DS"

.LABEL SEL2_GET_OPTIONS
        GET #CM_DIF_ELE_NO = 2
        GET #CM_STATUS = 0
        GET #CM_GET_KEY = #CM_D_ELE2
        GET OA$FUNCTION=CM$ETYPES.PRE_PRINT_DIFF[#CM_D_ETYPESKEY2]
        GET #CM_GET_KEY = #CM_REM_GET_KEY
        .IF #CM_STATUS NE 1 THEN .GOTO NO_DIFFERENCES
        GET #CM_STATUS = 1
        .EXIT

.LABEL NO_DIFFERENCES

        CLOSE_PRIOR
        GET #CM_STATUS = 0
        .EXIT   

.LABEL GET_DIFFERENCE

        DELETE OA$TEMP:CM_FIRST_ELEMENT.TXT
        .IF #CM_INIT_OPTION NES "DIFA" THEN DELETE OA$TEMP:CM_SECOND_ELEMENT.TXT
        GET #CM_DIF_ELE_NO = 1
        GET #CM_STATUS = 0
        GET #CM_GET_KEY = #CM_D_ELE1
        GET OA$FUNCTION=CM$ETYPES.PRE_PRINT_DIFF[#CM_D_ETYPESKEY1]
        .IF #CM_STATUS NE 1 THEN .GOTO NO_DIFFERENCES

        .IF #CM_INIT_OPTION EQS "DIFA" THEN .GOTO RETRIEVE

        GET #CM_DIF_ELE_NO = 2
        GET #CM_STATUS = 0
        GET #CM_GET_KEY = #CM_D_ELE2
        GET OA$FUNCTION=CM$ETYPES.PRE_PRINT_DIFF[#CM_D_ETYPESKEY2]
        .IF #CM_STATUS NE 1 THEN .GOTO NO_DIFFERENCES

.LABEL RETRIEVE

        GET OA$DISPLAY=CM$_DIF_RET
        FORCE
        DELETE OA$TEMP:CM_RETRIEVE_DIFFERENCES.COM
        MERGE CM_DIFF_COMMAND,OA$TEMP:CM_RETRIEVE_DIFFERENCES.COM
        DELETE OA$TEMP:CM_RETRIEVED_DIFFERENCES.TXT
        COMMAND OA$TEMP:CM_RETRIEVE_DIFFERENCES
        DELETE OA$TEMP:CM_RETRIEVE_DIFFERENCES.COM
        MERGE CM_DIFF_COMPLETE,OA$TEMP:CM_COMP_DIFF.WPL
        DELETE OA$TEMP:CM_RETRIEVED_DIFFERENCES.TXT
        DELETE OA$TEMP:CM_FIRST_ELEMENT.TXT
        DELETE OA$TEMP:CM_SECOND_ELEMENT.TXT
        GET #GOLDGKEY = "OA$TEMP:CM_COMP_DIFF.WPL"
        GET #CM_OUTPUT_FILE = "OA$TEMP:CM_COMP_DIFF.WPL"
        GET #CM_STATUS = 1
        GET #CM_GET_KEY = #CM_REM_GET_KEY
        .EXIT
        
.LABEL NOTHING_DONE
        GET #CM_STATUS = 0
        .EXIT   

.LABEL INIT_SYMBOLS
        GET $CM_DIFF_CB_CHAR = ">"\GET $CM_DIFF_MATCH=-
        $CM_DIFF_HEAD_NUM="3"\-
        GET $CM_DIFF_WINDOW="2"\GET $CM_DIFF_NUMBERS=CM$_Y\-
        GET $CM_DIFF_CB_NUM = $CM_DIFF_CB = $CM_DIFF_BLANKS = -
        $CM_DIFF_PARALEL = $CM_DIFF_FF = $CM_DIFF_HEADER = -
        $CM_DIFF_SPACING = $CM_DIFF_EDITED = $CM_DIFF_EXACT = -
        $CM_DIFF_TRAILING = $CM_DIFF_PRETTY = $CM_DIFF_COMMENTS = CM$_N
        GET $CM_DIFF_COMCHAR="!"
        .GOTO FORM_DISPLAY
!
! Author: GEERDES 
!
! Modified by:           | Date:                | Reason:
!-----------------------------------------------------------------------------
! GEERDES                | 10-Aug-1989 02:02pm  | Element created, please state
!                        |                      | modifications down here
!LAAHS                   ! 6-Nov-1991           ! Allow diff of 
!base,live,any without having to go through and select the second element
! GEERDES		 ! 15-Jun-1992		|fix bug when starting with
!			 !			!base element for differences
T.RTitleUserPersonal
Name
DateLines
899.1Known problemTEMPRA::EIJSAll in 1 GraphicWed Jun 24 1992 11:5920
    
    Hi Ben,
    
    Yes, this problem is known (under THR-15967), although under a
    different circumstance: 
    
    	CM ABE
    	SELect element
    	R
    	DIF
    	ET
    
    and you'r put back into the supplementary options menu. Done from the
    CM menu itself the 'missing' initialization is done somehow. 
    
    Thanks for the fix.
    
    Ciao,
    
    	Simon 
899.2Cannot Read From either CM or ABEAIMTEC::DONOHUE_FMon Jun 29 1992 16:5612
    
    Simon,
    
     RE: .1, I cannot seem to Read any of the supplementary option types
    from either the CM or the ABE menu.  Several users on our system
    have this problme but then some don't. I haven't yet been able to
    determine the cause.  It sounds like the fix in .0 might
    work.  I'll try it.
    
    Faith
    
    
899.3.0 Not related. Please some more info.VENERE::EIJSAll in 1 PieceTue Jun 30 1992 08:5117
    
    Faith,
    
    The solution in .0 only applies for the DIFF options (with the first
    element a Base element). It shouldn't impact any of the other
    supplementary options as they just don't use the CM_GET_DIFFERENCE.SCP.
    
    Sorry.
    
    Can you give me a dump of the CM$SDC or CM$SITELOG record of the
    element for which one cannot get supplementary options? Does the NUMBER
    field have a value? Can you also give me the first page dumpof
    CM$ETYPES for that element type?
    
    Thanks,
    
    	Simon
899.4CM$ETYPES messed up!XLII::FDONOHUEWed Jul 08 1992 14:4716
    Simon,
    
     Sorry it took so long to reply. Cindy V. identified the cause of
    this problem and we fixed it.  The problem was occurring for all users
    and only for the FRM element type.  So, she found that there was
    a problem in the CM$ETYPES record and replaced the file with
    another one from another system and now all is fine.
    
    I haven't done the comparisons of the files yet to see what happened
    but since this system is a research machine here it is likely that
    it is something out of the ordinary.
    
    I'll let you know the details when I have them.
    
    Thanks,
    Faith
899.5Check the .NUMBER field valueCESARE::EIJSAll in 1 PieceWed Jul 08 1992 15:5713
    
    Faith,
    
    Check the CM$ETYPES.NUMBER[<key>] field value in both cases. They
    probably will differ. (key = "STANDARD":39 "FRM").
    
    I'm not sure why they should differ. During the whole development
    process of ALL-IN-1 V3.0 the number never changed for the FRM element
    type.
    
    Ciao,
    
    	Simon