[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

3226.0. "Move account failed on modified drawer name" by UTRTSC::SCHOLLAERT (You name, we support it...) Thu Sep 02 1993 09:25

    Hi,
    
    Moving an account from 3.0 to 3.0 failes when a user
    modified his main drawer name. Updating FILECAB.DAT results in
    
        do oa$lib:sm_mas_archive
Starting processing SCHOLLAERT
Opening logfiles...
NEWDIR to SCHOLTRANS
Updating UTRACK: BASIS drawer...
Cannot find user's UTRACK: BASIS drawer
Error writing to FILECAB.DAT
Complete.
        exit
    
    Had a look in SM_MAS_ARCHIVE.SCP ...
    
!-
        GET #source_default_drawer  = filecab:indicator.name["1"]
        .TEXT "Updating " #source_default_drawer " drawer..."
        GET #old_draw = "[" CLI$FULL_ACCOUNT_NAME "]" #source_default_drawer
        GET #new_draw = "[" CLI$NEW_NAME "]" cli$target_default_drawer

        GET #key=""
        FOR FIRST FILECAB WITH .UNIQUE_NAME eqs #old_draw DO -
                                        GET #key = .%key


    The FOR loop checks for .UNIQUE_NAME, while the #old_draw
    contains .NAME. These two can be different. Is there a reason 
    not to GET #old_draw = filecab:indicator.UNIQUE_name["1"] ?
    
    Regards,
    
    Jan
T.RTitleUserPersonal
Name
DateLines
3226.1POSSIBLE SOLUTIONCOL01::KLOCKEJ�rg Klocke, RPS-OIS Cologne, GYWed Sep 15 1993 11:0977
I have had the same problem with one of my customers and found following 
solution:

I had to modify 2 files (sm_mas_archive.scp, sm_mas_drawer.scp) and the form
mua$partition.frm. In this form (at least in the German version of ALL-IN-1)
the language-field is too short, I've extended it to 20 chars. so if you try to
move the account to another system be sure to have the  modified form there as
well!!

In script sm_mas_archive I've changed following line:

    GET #source_default_drawer  = filecab:indicator.name["1"]

TO:
   !       GET #source_default_drawer  = filecab:indicator.name["1"]
    GET #source_default_drawer  = FN$ELEMENT(1,"]",filecab:indicator.name["1"])


In script sm_mas_drawer I've changed following lines:

.LABEL ADD_TO_PART
        .TEXT "Add drawer " #new_name " to system partition file..."
        WRITE ADD PARTITION UNIQUE_NAME = #new_name, -
                ABSTRACT = .ABSTRACT, -
                FORMAT = .FORMAT, -
                LANGUAGE = .LANGUAGE, -
                VERSION = .VERSION, -
                DIRECTORY = #new_dir,-
                DRAWER_IUID = "",-
                OWNER = CLI$NEW_VMSNAME
        .IF OA$STATUS NE 1 THEN .GOTO NO_DRAWER


TO: 

.LABEL ADD_TO_PART
!       .TEXT "Add drawer " #new_name " to system partition file..."
!       WRITE ADD PARTITION UNIQUE_NAME = #new_name, -
!               ABSTRACT = .ABSTRACT, -
!               FORMAT = .FORMAT, -
!               LANGUAGE = .LANGUAGE, -
!               VERSION = .VERSION, -
!               DIRECTORY = #new_dir,-
!               DRAWER_IUID = "",-
!               OWNER = CLI$NEW_VMSNAME
!       .IF OA$STATUS NE 1 THEN .GOTO NO_DRAWER
!
        GET #IS_ALREADY_THERE = "0"
        .TEXT "Add drawer " #new_name " to system partition file..."
        FOR FIRST PARTITION WITH .unique_name EQS #new_name do -
            GET #IS_ALREADY_THERE = "1"
        .IF #IS_ALREADY_THERE EQS "0"
        .THEN
           WRITE ADD PARTITION UNIQUE_NAME = #new_name, -
                ABSTRACT = .ABSTRACT, -
                FORMAT = .FORMAT, -
                LANGUAGE = .LANGUAGE, -
                VERSION = .VERSION, -
                DIRECTORY = #new_dir,-
                DRAWER_IUID = "",-
                OWNER = CLI$NEW_VMSNAME
        .ELSE
           WRITE CHANGE PARTITION UNIQUE_NAME = #new_name, -
                ABSTRACT = .ABSTRACT, -
                FORMAT = .FORMAT, -
                LANGUAGE = .LANGUAGE, -
                VERSION = .VERSION, -
                DIRECTORY = #new_dir,-
                DRAWER_IUID = "",-
                OWNER = CLI$NEW_VMSNAME
        .END_IF
        .IF OA$STATUS NE 1 THEN .GOTO NO_DRAWER


I hope this will help you as well!

J�rg

3226.2MUA$PARTITION language too shortGIDDAY::JOYCEBurn me kangaroo down sportFri Feb 18 1994 03:0521
    
    Ermm...
    
    Has the fact that the length of the Language field in MUA$PARTITION is
    only 4 characters (i.e. too short!) been reported officially?
    
    One of my customers has transferred a whole bunch of accounts to
    another system and all drawers (apart from their MAIN ones) now have a
    language of "BRIT" instead of "BRITISH"!  This doesn't seem to upset
    IOS but Teamlinks spits the dummy.
    
    I presume that the following is okay to fix the existing drawers?
    
    FOR PARTITION WITH .LANGUAGE EQS "BRIT" DO -
    	WRITE CHANGE PARTITION UNIQUE_NAME=.UNIQUE_NAME,LANGUAGE="BRITISH"
    
    Any problems with increasing the length of the language field in 
    MUA$PARTITION to something sensible?  Is the form used anywhere else?
    
    Thanks, Andy 
                                                        
3226.3don't change PartitionIOSG::TYLDESLEYFri Feb 18 1994 09:2315
    Andy.
    The problem is known. I do not think that there is a problem with the
    size of the language field in the Partition. The problem lies in the
    fact that the language field should be loaded with a language code,
    not the user's language as in the Profile.
    
    So, what you need to do, is to translate the language into a language
    code, e.g.
     <get #LANG_CODE=OA$FOLDERS.CODE[PROFIL.LANGUAGE[oa$user]]
    and then write change #LANG_CODE into the Partition.
    
    This is a Transfer User problem, and should be fixed in a possible
    future release.
    regards
    DaveT