| 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 | 
	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.R | Title | User | Personal Name | Date | Lines | 
|---|---|---|---|---|---|
| 899.1 | Known problem | TEMPRA::EIJS | All in 1 Graphic | Wed Jun 24 1992 10:59 | 20 | 
|     
    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.2 | Cannot Read From either CM or ABE | AIMTEC::DONOHUE_F | Mon Jun 29 1992 15:56 | 12 | |
|     
    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::EIJS | All in 1 Piece | Tue Jun 30 1992 07:51 | 17 | 
|     
    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.4 | CM$ETYPES messed up! | XLII::FDONOHUE | Wed Jul 08 1992 13:47 | 16 | |
|     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.5 | Check the .NUMBER field value | CESARE::EIJS | All in 1 Piece | Wed Jul 08 1992 14:57 | 13 | 
|     
    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
 | |||||