Annotation of freem_fileman/DDXP1.m, revision 1.1.1.1

1.1       snw         1: DDXP1  ;SFISC/DPC-CREATE/EDIT FOREIGN FORMAT ;1/8/93  09:09
                      2:        ;;21.0;VA FileMan;;Dec 28, 1994
                      3:        ;Per VHA Directive 10-93-142, this routine should not be modified.
                      4: EN1    ;
                      5:        K DA S DLAYGO=0
                      6: GETFF  ;
                      7:        W !
                      8:        S DIC="^DIST(.44,",DIC(0)="QEALMZ" D ^DIC K DIC
                      9:        G:Y=-1 QUIT
                     10:        S DDXPFMNM=$P(Y,U,2),DDXPFMNO=+Y
                     11:        I $P(Y(0),U,9) D USEDFF G:'($D(DA)#2) GETFF
                     12: EDITFF ;
                     13:        S:'($D(DA)#2) DA=DDXPFMNO S DDSFILE="^DIST(.44,",DR="[DDXP FF FORM1]"
                     14:        D ^DDS
                     15: QUIT   ;
                     16:        K DDXPFMNM,DDXPFMNO,DA,DR,DDSFILE,Y,DLAYGO,X
                     17:        Q
                     18: USEDFF ;
                     19:        W !!,DDXPFMNM_" foreign format has been used to create an Export Template."
                     20:        W !,"Therefore, its definition cannot be changed.",!
                     21:        S DIR(0)="YA",DIR("A")="Do you want to see the contents of "_DDXPFMNM_" format? ",DIR("B")="NO"
                     22:        D ^DIR K DIR Q:$D(DIRUT)
                     23:        I Y W !! S DIC="^DIST(.44,",DA=DDXPFMNO D EN^DIQ K DIC,DA
                     24:        S DIR(0)="YA",DIR("A")="Do you want to use "_DDXPFMNM_" as the basis for a new format? ",DIR("B")="NO"
                     25:        D ^DIR K DIR Q:$D(DIRUT)!('Y)
                     26: NEWFF  S DIC="^DIST(.44,",DIC(0)="QEAL",DIC("A")="Name for new FOREIGN FORMAT: " W !
                     27:        D ^DIC K DIC Q:$D(DTOUT)!($D(DUOUT))!(X="")
                     28:        I '$P(Y,U,3) W !,$C(7),$P(Y,U,2)_" is already being used.",!,"Please enter a new name for the format.",! G NEWFF
                     29:        S DDXPFMNM=$P(Y,U,2),(DIT("F"),DIT("T"))="^DIST(.44,",DA("F")=DDXPFMNO,(DA("T"),DDXPFMNO)=+Y D EN^DIT0
                     30:        S DIE="^DIST(.44,",DA=DDXPFMNO,DR="40///0" D ^DIE K DIT,DIE,DR,Y
                     31:        Q
                     32:        ;
                     33: FORMVAL        ;
                     34:        N FLDLM,FIXREC,MSGCNT,ERRMSG,USEQT,MAXLEN,SUBNULL S DDSERROR=0,MSGCNT=1
                     35:        S FLDLM=$$GET^DDSVAL(DIE,DA,1),FIXREC=$$GET^DDSVAL(DIE,DA,5),USEQT=$$GET^DDSVAL(DIE,DA,8),MAXLEN=$$GET^DDSVAL(DIE,DA,7),SUBNULL=$$GET^DDSVAL(DIE,DA,11)
                     36:        I FIXREC D
                     37:        . I FLDLM]"" D
                     38:        . . S DDSERROR=DDSERROR+1
                     39:        . . S ERRMSG(MSGCNT)="You cannot specify a record delimiter and",MSGCNT=MSGCNT+1
                     40:        . . S ERRMSG(MSGCNT)="indicate that record lengths are fixed",MSGCNT=MSGCNT+1
                     41:        . . S ERRMSG(MSGCNT)="for the same foreign format.",MSGCNT=MSGCNT+1
                     42:        . . Q
                     43:        . I USEQT D
                     44:        . . S DDSERROR=DDSERROR+1
                     45:        . . S ERRMSG(MSGCNT)="You cannot choose to have non-numeric fields quoted",MSGCNT=MSGCNT+1
                     46:        . . S ERRMSG(MSGCNT)="when you are exporting fixed length records.",MSGCNT=MSGCNT+1
                     47:        . . Q
                     48:        . I MAXLEN>255 D
                     49:        . . S DDSERROR=DDSERROR+1
                     50:        . . S ERRMSG(MSGCNT)="You cannot set the Maximum Record Length larger than 255 characters ",MSGCNT=MSGCNT+1
                     51:        . . S ERRMSG(MSGCNT)="when you are defining a fixed record length format.",MSGCNT=MSGCNT+1
                     52:        . . Q
                     53:        . I SUBNULL]"" D
                     54:        . . S DDSERROR=DDSERROR+1
                     55:        . . S ERRMSG(MSGCNT)="During fixed length exports, null values will always be exported as nothing.",MSGCNT=MSGCNT+1
                     56:        . . S ERRMSG(MSGCNT)="So, you cannot specify characters to be substituted for null numeric values.",MSGCNT=MSGCNT+1
                     57:        . . Q
                     58:        . Q
                     59:        I DDSERROR D
                     60:        . S ERRMSG(MSGCNT)=" ",MSGCNT=MSGCNT+1
                     61:        . S ERRMSG(MSGCNT)="Please correct "_$S(DDSERROR>1:"these discrepancies.",1:"this discrepancy."),MSGCNT=MSGCNT+1
                     62:        . S ERRMSG(MSGCNT)="You CANNOT save the form until you correct it!"
                     63:        . Q
                     64:        D:DDSERROR MSG^DDSUTL(.ERRMSG)
                     65:        K:'DDSERROR DDSERROR
                     66:        Q

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>