- DDMPSM ;SFISC/DPC-IMPORT SCREENMAN CALLS ;9/20/96 10:07
- ;;22.0;VA FileMan;;Mar 30, 1999
- ;Per VHA Directive 10-93-142, this routine should not be modified.
- FILESEL ;
- ; Called form Post-actin on change of Primary File prompt
- D PUT^DDSVALF("TMP_NM",1,1,"")
- I DDSOLD'="",$D(DDMPFDSL) S DDMPOLDF=DDSOLD,DDSBR="3^1^3"
- E D
- . K DDMPCPNM,DDMPCPTH,DDMPFCAP,DDMPCF,DDMPFDNM
- . S DDMPF=X
- . S DDMPFLNM=DDSEXT
- . D UNED^DDSUTL("FLD_JUMP",1,1,$S(X:0,1:1))
- . D UNED^DDSUTL("TMP_NM",1,1,$S(X:0,1:1))
- . D REFRESH^DDSUTL
- Q
- ;
- TMPLSCR(DDMPSELF,DDSEXT,DUZ) ;
- ;called from TMP_NM field.
- ;DDMPSELF = currently selected primary file.
- ;DDMPEXT = External value of selected template.
- I $P(^(0),U,4)'=DDMPSELF Q 0
- I DUZ(0)["@" Q 1
- N DDMPRDAC,DDMPI,DDMPOK
- S DDMPRDAC=$P(^(0),U,3),DDMPOK=0
- F DDMPI=1:1:$L(DDMPRDAC) I DUZ(0)[$E(DDMPRDAC,DDMPI) S DDMPOK=1 Q
- Q DDMPOK
- ;
- CHNGFILE ;
- ;Called for Post-action on pop-up file change verification page.
- I X D ;code for changing selected file.
- . K DDMPFDSL,DDMPCPNM,DDMPCPTH,DDMPFCAP,DDMPCF,DDMPFDNM
- . S (DDMPOSET,DDMPFDCT)=0
- . S DDMPF=$$GET^DDSVALF("F_SEL",1,1)
- . S DDMPFLNM=$$GET^DDSVALF("F_SEL",1,1,"E")
- . I DDMPF="" D UNED^DDSUTL("FLD_JUMP",1,1,1),UNED^DDSUTL("TMP_NM",1,1,1)
- . S DDSBR="FLD_JUMP^1^1"
- . ;D REFRESH^DDSUTL
- E D
- . D PUT^DDSVALF("F_SEL",1,1,DDMPOLDF,"I")
- . S DDSBR="F_SEL^1^1"
- Q
- ;
- IXF ;
- ;Called from input transform of Field Selection field.
- N D0,DA,DIC,DP,Y S DIC="^DD("_DDMPCF_",",DIC(0)="ENZ" D ^DIC
- I Y'>0 K X
- E S (X,DDMPX)=+$P(Y,"E"),DDMPFDNM=Y(0,0)
- Q
- ;
- FDPROC ;
- ;Called from post-action on change of Field Selection prompt.
- N DDMP0P2
- S DDMP0P2=$P(^DD(DDMPCF,DDMPX,0),U,2)
- I +DDMP0P2 D
- . S DDSBR="FLD"
- . I 'DDMPFDCT D HLP^DDSUTL($C(7)_"You must select a field in the top level file before entering multiple.") Q
- . N DDMPI,DDMPOK
- . F DDMPI=1:1:DDMPFDCT I $P(DDMPFDSL(DDMPI),U,$L(DDMPFDSL(DDMPI),U))=DDMPCF S DDMPOK=1 Q
- . I '$G(DDMPOK) D HLP^DDSUTL($C(7)_"You must select a field in a subfile before entering one of its multiples.") Q
- . S DDMPFCAP=$$PATHNM(+DDMP0P2,DDMPFLNM)
- . S DDMPCPTH=$S($L($G(DDMPCPTH)):DDMPCPTH_":",1:"")_DDMPX_U_DDMPCF
- . S DDMPCF=+DDMP0P2
- . S DDMPCPNM=$S($L($G(DDMPCPNM)):DDMPCPNM_":",1:"")_DDMPFDNM
- E D
- . S DDMPFDCT=DDMPFDCT+1
- . S DDMPFDSL(DDMPFDCT)=$S($L($G(DDMPCPTH)):DDMPCPTH_":",1:"")_DDMPX_U_DDMPCF
- . S DDMPFDSL("CAP",DDMPFDCT)=$S($L($G(DDMPCPNM)):DDMPCPNM_":",1:"")_DDMPFDNM
- . S DDMPOSET=$S(DDMPFDCT>9:DDMPFDCT-9,1:0)
- . S DDSBR=$S($G(DDMPSMFF("FIXED"))="YES":"LEN",1:"FLD")
- Q
- ;
- PATHNM(DDMPSFNO,DDMPFLNM) ;
- N DDMPPATH S DDMPPATH=""
- I $D(^DD(DDMPSFNO,0,"UP")) F D Q:'$D(^DD(DDMPSFNO,0,"UP"))
- . S DDMPPATH=" : "_$P($P(^DD(DDMPSFNO,0),U),"SUB-FIELD")_"Subfile"_DDMPPATH
- . S DDMPSFNO=^DD(DDMPSFNO,0,"UP")
- Q $G(DDMPFLNM,$P(^DIC(DDMPSFNO,0),U))_DDMPPATH
- ;
- UP1 ;
- ;Called from post-action on Field Selection prompt if null entered.
- S DDMPFCAP=$P($G(DDMPFCAP)," : ",1,$L($G(DDMPFCAP)," : ")-1)
- S DDMPCF=$P(DDMPCPTH,U,$L(DDMPCPTH,U))
- S DDMPCPTH=$P(DDMPCPTH,":",1,$L(DDMPCPTH,":")-1)
- S DDMPCPNM=$P(DDMPCPNM,":",1,$L(DDMPCPNM,":")-1)
- Q
- ;
- DELFLD ;
- ;Called from post-action on change of the "Do you want to delete" prompt
- I DDMPFDCT=0 Q
- N DDMPL S DDMPL=$L($G(DDMPFDSL(DDMPFDCT-1)),":")
- I DDMPL=1 D
- . S DDMPCF=DDMPF
- . S DDMPFCAP=DDMPFLNM
- . S (DDMPCPNM,DDMPCPTH)=""
- E D
- . S DDMPCF=$P(DDMPFDSL(DDMPFDCT-1),U,$L(DDMPFDSL(DDMPFDCT-1),U))
- . S DDMPFCAP=$$PATHNM(+DDMPCF,DDMPFLNM)
- . S DDMPCPTH=$P(DDMPFDSL(DDMPFDCT-1),":",1,DDMPL-1)
- . S DDMPCPNM=$P(DDMPFDSL("CAP",DDMPFDCT-1),":",1,DDMPL-1)
- K DDMPFDSL(DDMPFDCT),DDMPFDSL("CAP",DDMPFDCT),DDMPFDSL("LN",DDMPFDCT)
- S DDMPFDCT=DDMPFDCT-1
- I DDMPOSET S DDMPOSET=DDMPOSET-1
- Q
- ;
- ;
- VAL ;
- ;Called from form level validation.
- N DDMPMSG
- ;1)Validate format of import.
- I (($G(DDMPSMFF("FIXED"))="YES")&($G(DDMPSMFF("FDELIM"))'=""))!(($G(DDMPSMFF("FIXED"))'="YES")&($G(DDMPSMFF("FDELIM"))="")) D G VALERR
- . D BLD^DIALOG(1821)
- . S DDSERROR=2
- . S DDSBR="FOR_FMT^1^1"
- . D MSG^DIALOG("AE",.DDMPMSG)
- ;
- ;2) If file specified, move fields selected into DR(). Look for DIERRs created during move.
- I $G(DDMPF)]"" D
- . I $$GET^DDSVALF("TMP_NM",1,1)]"" D
- . . S DDMPFDSL=$$GET^DDSVALF("TMP_NM",1,1,"E")
- . . D TMPL2SQ^DDMP1(DDMPF,.DDMPFDSL)
- . I '$D(DDMPFDSL(1)) D Q
- . . S DDSERROR=$G(DDSERROR)+1
- . . S DDMPMSG(DDSERROR)="You must specify some fields into which to import data."
- . . S DDSBR="FLD_JUMP^1^1"
- . K DDMPDR
- . S DDMPFDSL=1
- . N DDMPDIER S DDMPDIER=$G(DIERR)
- . D TODR^DDMP1(DDMPF,.DDMPFDSL,.DDMPDR)
- . I $G(DIERR)>DDMPDIER D
- . . S DDSERROR=$G(DDSERROR)+DIERR
- . . D MSG^DIALOG("AE",.DDMPMSG)
- . . S DDSBR="2.2^1^2"
- . . K DDMPDR
- ;
- VALERR I $G(DDSERROR) D MSG^DDSUTL(.DDMPMSG) Q
- Q
- ;
- FF ;
- ;Called from post-action on change of the Foreign Format field.
- N DDMPI
- I X'="" D
- . S DDMPSMFF=DDSEXT
- . S DDMPSMFF("IEN")=X
- . S DDMPSMFF("FDELIM")=$$GET1^DIQ(.44,X_",",1)
- . S DDMPSMFF("FIXED")=$$GET1^DIQ(.44,X_",",5)
- . S DDMPSMFF("QUOTED")=$$GET1^DIQ(.44,X_",",8)
- . F DDMPI="FIX","FLD_DLM","QUOTE" D
- . . D PUT^DDSVALF(DDMPI,1,1,"")
- . . D UNED^DDSUTL(DDMPI,1,1,1)
- E D
- . K DDMPSMFF
- . F DDMPI="FIX","FLD_DLM","QUOTE" D UNED^DDSUTL(DDMPI,1,1,0)
- Q
- DDMPSM ;SFISC/DPC-IMPORT SCREENMAN CALLS ;9/20/96 10:07
- +1 ;;22.0;VA FileMan;;Mar 30, 1999
- +2 ;Per VHA Directive 10-93-142, this routine should not be modified.
- FILESEL ;
- +1 ; Called form Post-actin on change of Primary File prompt
- +2 DO PUT^DDSVALF("TMP_NM",1,1,"")
- +3 IF DDSOLD'=""
- IF $DATA(DDMPFDSL)
- SET DDMPOLDF=DDSOLD
- SET DDSBR="3^1^3"
- +4 IF '$TEST
- Begin DoDot:1
- +5 KILL DDMPCPNM,DDMPCPTH,DDMPFCAP,DDMPCF,DDMPFDNM
- +6 SET DDMPF=X
- +7 SET DDMPFLNM=DDSEXT
- +8 DO UNED^DDSUTL("FLD_JUMP",1,1,$SELECT(X:0,1:1))
- +9 DO UNED^DDSUTL("TMP_NM",1,1,$SELECT(X:0,1:1))
- +10 DO REFRESH^DDSUTL
- End DoDot:1
- +11 QUIT
- +12 ;
- TMPLSCR(DDMPSELF,DDSEXT,DUZ) ;
- +1 ;called from TMP_NM field.
- +2 ;DDMPSELF = currently selected primary file.
- +3 ;DDMPEXT = External value of selected template.
- +4 IF $PIECE(^(0),U,4)'=DDMPSELF
- QUIT 0
- +5 IF DUZ(0)["@"
- QUIT 1
- +6 NEW DDMPRDAC,DDMPI,DDMPOK
- +7 SET DDMPRDAC=$PIECE(^(0),U,3)
- SET DDMPOK=0
- +8 FOR DDMPI=1:1:$LENGTH(DDMPRDAC)
- IF DUZ(0)[$EXTRACT(DDMPRDAC,DDMPI)
- SET DDMPOK=1
- QUIT
- +9 QUIT DDMPOK
- +10 ;
- CHNGFILE ;
- +1 ;Called for Post-action on pop-up file change verification page.
- +2 ;code for changing selected file.
- IF X
- Begin DoDot:1
- +3 KILL DDMPFDSL,DDMPCPNM,DDMPCPTH,DDMPFCAP,DDMPCF,DDMPFDNM
- +4 SET (DDMPOSET,DDMPFDCT)=0
- +5 SET DDMPF=$$GET^DDSVALF("F_SEL",1,1)
- +6 SET DDMPFLNM=$$GET^DDSVALF("F_SEL",1,1,"E")
- +7 IF DDMPF=""
- DO UNED^DDSUTL("FLD_JUMP",1,1,1)
- DO UNED^DDSUTL("TMP_NM",1,1,1)
- +8 SET DDSBR="FLD_JUMP^1^1"
- +9 ;D REFRESH^DDSUTL
- End DoDot:1
- +10 IF '$TEST
- Begin DoDot:1
- +11 DO PUT^DDSVALF("F_SEL",1,1,DDMPOLDF,"I")
- +12 SET DDSBR="F_SEL^1^1"
- End DoDot:1
- +13 QUIT
- +14 ;
- IXF ;
- +1 ;Called from input transform of Field Selection field.
- +2 NEW D0,DA,DIC,DP,Y
- SET DIC="^DD("_DDMPCF_","
- SET DIC(0)="ENZ"
- DO ^DIC
- +3 IF Y'>0
- KILL X
- +4 IF '$TEST
- SET (X,DDMPX)=+$PIECE(Y,"E")
- SET DDMPFDNM=Y(0,0)
- +5 QUIT
- +6 ;
- FDPROC ;
- +1 ;Called from post-action on change of Field Selection prompt.
- +2 NEW DDMP0P2
- +3 SET DDMP0P2=$PIECE(^DD(DDMPCF,DDMPX,0),U,2)
- +4 IF +DDMP0P2
- Begin DoDot:1
- +5 SET DDSBR="FLD"
- +6 IF 'DDMPFDCT
- DO HLP^DDSUTL($CHAR(7)_"You must select a field in the top level file before entering multiple.")
- QUIT
- +7 NEW DDMPI,DDMPOK
- +8 FOR DDMPI=1:1:DDMPFDCT
- IF $PIECE(DDMPFDSL(DDMPI),U,$LENGTH(DDMPFDSL(DDMPI),U))=DDMPCF
- SET DDMPOK=1
- QUIT
- +9 IF '$GET(DDMPOK)
- DO HLP^DDSUTL($CHAR(7)_"You must select a field in a subfile before entering one of its multiples.")
- QUIT
- +10 SET DDMPFCAP=$$PATHNM(+DDMP0P2,DDMPFLNM)
- +11 SET DDMPCPTH=$SELECT($LENGTH($GET(DDMPCPTH)):DDMPCPTH_":",1:"")_DDMPX_U_DDMPCF
- +12 SET DDMPCF=+DDMP0P2
- +13 SET DDMPCPNM=$SELECT($LENGTH($GET(DDMPCPNM)):DDMPCPNM_":",1:"")_DDMPFDNM
- End DoDot:1
- +14 IF '$TEST
- Begin DoDot:1
- +15 SET DDMPFDCT=DDMPFDCT+1
- +16 SET DDMPFDSL(DDMPFDCT)=$SELECT($LENGTH($GET(DDMPCPTH)):DDMPCPTH_":",1:"")_DDMPX_U_DDMPCF
- +17 SET DDMPFDSL("CAP",DDMPFDCT)=$SELECT($LENGTH($GET(DDMPCPNM)):DDMPCPNM_":",1:"")_DDMPFDNM
- +18 SET DDMPOSET=$SELECT(DDMPFDCT>9:DDMPFDCT-9,1:0)
- +19 SET DDSBR=$SELECT($GET(DDMPSMFF("FIXED"))="YES":"LEN",1:"FLD")
- End DoDot:1
- +20 QUIT
- +21 ;
- PATHNM(DDMPSFNO,DDMPFLNM) ;
- +1 NEW DDMPPATH
- SET DDMPPATH=""
- +2 IF $DATA(^DD(DDMPSFNO,0,"UP"))
- FOR
- Begin DoDot:1
- +3 SET DDMPPATH=" : "_$PIECE($PIECE(^DD(DDMPSFNO,0),U),"SUB-FIELD")_"Subfile"_DDMPPATH
- +4 SET DDMPSFNO=^DD(DDMPSFNO,0,"UP")
- End DoDot:1
- IF '$DATA(^DD(DDMPSFNO,0,"UP"))
- QUIT
- +5 QUIT $GET(DDMPFLNM,$PIECE(^DIC(DDMPSFNO,0),U))_DDMPPATH
- +6 ;
- UP1 ;
- +1 ;Called from post-action on Field Selection prompt if null entered.
- +2 SET DDMPFCAP=$PIECE($GET(DDMPFCAP)," : ",1,$LENGTH($GET(DDMPFCAP)," : ")-1)
- +3 SET DDMPCF=$PIECE(DDMPCPTH,U,$LENGTH(DDMPCPTH,U))
- +4 SET DDMPCPTH=$PIECE(DDMPCPTH,":",1,$LENGTH(DDMPCPTH,":")-1)
- +5 SET DDMPCPNM=$PIECE(DDMPCPNM,":",1,$LENGTH(DDMPCPNM,":")-1)
- +6 QUIT
- +7 ;
- DELFLD ;
- +1 ;Called from post-action on change of the "Do you want to delete" prompt
- +2 IF DDMPFDCT=0
- QUIT
- +3 NEW DDMPL
- SET DDMPL=$LENGTH($GET(DDMPFDSL(DDMPFDCT-1)),":")
- +4 IF DDMPL=1
- Begin DoDot:1
- +5 SET DDMPCF=DDMPF
- +6 SET DDMPFCAP=DDMPFLNM
- +7 SET (DDMPCPNM,DDMPCPTH)=""
- End DoDot:1
- +8 IF '$TEST
- Begin DoDot:1
- +9 SET DDMPCF=$PIECE(DDMPFDSL(DDMPFDCT-1),U,$LENGTH(DDMPFDSL(DDMPFDCT-1),U))
- +10 SET DDMPFCAP=$$PATHNM(+DDMPCF,DDMPFLNM)
- +11 SET DDMPCPTH=$PIECE(DDMPFDSL(DDMPFDCT-1),":",1,DDMPL-1)
- +12 SET DDMPCPNM=$PIECE(DDMPFDSL("CAP",DDMPFDCT-1),":",1,DDMPL-1)
- End DoDot:1
- +13 KILL DDMPFDSL(DDMPFDCT),DDMPFDSL("CAP",DDMPFDCT),DDMPFDSL("LN",DDMPFDCT)
- +14 SET DDMPFDCT=DDMPFDCT-1
- +15 IF DDMPOSET
- SET DDMPOSET=DDMPOSET-1
- +16 QUIT
- +17 ;
- +18 ;
- VAL ;
- +1 ;Called from form level validation.
- +2 NEW DDMPMSG
- +3 ;1)Validate format of import.
- +4 IF (($GET(DDMPSMFF("FIXED"))="YES")&($GET(DDMPSMFF("FDELIM"))'=""))!(($GET(DDMPSMFF("FIXED"))'="YES")&($GET(DDMPSMFF("FDELIM"))=""))
- Begin DoDot:1
- +5 DO BLD^DIALOG(1821)
- +6 SET DDSERROR=2
- +7 SET DDSBR="FOR_FMT^1^1"
- +8 DO MSG^DIALOG("AE",.DDMPMSG)
- End DoDot:1
- GOTO VALERR
- +9 ;
- +10 ;2) If file specified, move fields selected into DR(). Look for DIERRs created during move.
- +11 IF $GET(DDMPF)]""
- Begin DoDot:1
- +12 IF $$GET^DDSVALF("TMP_NM",1,1)]""
- Begin DoDot:2
- +13 SET DDMPFDSL=$$GET^DDSVALF("TMP_NM",1,1,"E")
- +14 DO TMPL2SQ^DDMP1(DDMPF,.DDMPFDSL)
- End DoDot:2
- +15 IF '$DATA(DDMPFDSL(1))
- Begin DoDot:2
- +16 SET DDSERROR=$GET(DDSERROR)+1
- +17 SET DDMPMSG(DDSERROR)="You must specify some fields into which to import data."
- +18 SET DDSBR="FLD_JUMP^1^1"
- End DoDot:2
- QUIT
- +19 KILL DDMPDR
- +20 SET DDMPFDSL=1
- +21 NEW DDMPDIER
- SET DDMPDIER=$GET(DIERR)
- +22 DO TODR^DDMP1(DDMPF,.DDMPFDSL,.DDMPDR)
- +23 IF $GET(DIERR)>DDMPDIER
- Begin DoDot:2
- +24 SET DDSERROR=$GET(DDSERROR)+DIERR
- +25 DO MSG^DIALOG("AE",.DDMPMSG)
- +26 SET DDSBR="2.2^1^2"
- +27 KILL DDMPDR
- End DoDot:2
- End DoDot:1
- +28 ;
- VALERR IF $GET(DDSERROR)
- DO MSG^DDSUTL(.DDMPMSG)
- QUIT
- +1 QUIT
- +2 ;
- FF ;
- +1 ;Called from post-action on change of the Foreign Format field.
- +2 NEW DDMPI
- +3 IF X'=""
- Begin DoDot:1
- +4 SET DDMPSMFF=DDSEXT
- +5 SET DDMPSMFF("IEN")=X
- +6 SET DDMPSMFF("FDELIM")=$$GET1^DIQ(.44,X_",",1)
- +7 SET DDMPSMFF("FIXED")=$$GET1^DIQ(.44,X_",",5)
- +8 SET DDMPSMFF("QUOTED")=$$GET1^DIQ(.44,X_",",8)
- +9 FOR DDMPI="FIX","FLD_DLM","QUOTE"
- Begin DoDot:2
- +10 DO PUT^DDSVALF(DDMPI,1,1,"")
- +11 DO UNED^DDSUTL(DDMPI,1,1,1)
- End DoDot:2
- End DoDot:1
- +12 IF '$TEST
- Begin DoDot:1
- +13 KILL DDMPSMFF
- +14 FOR DDMPI="FIX","FLD_DLM","QUOTE"
- DO UNED^DDSUTL(DDMPI,1,1,0)
- End DoDot:1
- +15 QUIT