cANIMP02 ;Import functies ; cANIMP01 ; T1 ;Bestandsnaam\"xxxxxxxx of xxxxxxxx.xxx[] = naam";Bestand; T2 ;Bestand niet beschikbaar; T3 ;Fout bij het openen van het bestand; T4 ;Keuze\".[] = inlezen bestand"; T5 ;Bestand bevat geen records; T6 ;Fout bij het lezen van het bestand; T7 ;Problemen bij het sluiten van het bestand; T8 ;Geen licentie voor bestand : ; T9 ;Fout bij het aanmaken van het bestand van de logging; T10 ;Fout bij het wijzigen van het bestand van de logging; T11 ;Het bestand van de logging is in gebruik; T12 ;Het bestand van de fouten is in gebruik; T13 ;Fout bij het aanmaken van het bestand met fouten; T14 ;Fout bij het aanmaken van de archiefmap; T15 ;Fout bij het verplaatsen naar het archief; T16 ;Fout bij het verwijderen van het bestand; ; T1F ;Nom du fichier\"xxxxxxxx of xxxxxxxx.xxx[] = nom";Fichier; T2F ;Fichier pas disponible; T3F ;Fichier n'est pas accessible; T4F ;Choix\".[] = lecture du fichier"; T5F ;Fichier ne contient pas de données; T6F ;Problèmes pendant la lecture du fichier; T7F ;Le fichier ne peut pas être fermé; T8F ;Pas de license pour fichier : ; T9F ;Erreur lors de l'enregistrement du fichier journal; T10F ;Erreur à la modification du fichier journal; T11F ;Fichier journal en usage; T12F ;Fichier d'erreurs en usage; T13F ;Erreur lors de l'enregistrement du fichier d'erreurs; T14F ;Erreur lors de l'enregistrement du dossier archive; T15F ;Erreur lors du transfert vers l'archive; T16F ;Erreur lors de la radiation du fichier; ; T1E ;Filename\"xxxxxxxx of xxxxxxxx.xxx[] = name";File; T2E ;File not ready; T3E ;Problems while opening file; T4E ;Choice\".[] = proceed to read the file"; T5E ;File is empty; T6E ;Problems while reading the file; T7E ;Problems while closing the file; T8E ;No license for file : ; T9E ;Fout bij het aanmaken van het bestand van de logging; T10E ;Fout bij het wijzigen van het bestand van de logging; T11E ;Het bestand van de logging is in gebruik; T12E ;Het bestand van de fouten is in gebruik; T13E ;Fout bij het aanmaken van het bestand met fouten; T14E ;Fout bij het aanmaken van de archiefmap; T15E ;Fout bij het verplaatsen naar het archief; T16E ;Fout bij het verwijderen van het bestand; ; YZ Q ; DELARCH(Q,QU,IMPDMS,IMPTYPE,IMPUI1,TRF,DEL,ARCLOC,BG) ; verwijderen en/of archiveren S $ZT="TRAP^cAN000" N ER,I,FILE,OK S TRF=$$MAP($G(TRF)),OK=0 S ARCLOC=$$MAP($G(ARCLOC),1) ; Archiveren = verzetten van file = ook delete van file I '$L(ARCLOC) G DELARCHB DELARCHA ; bestaat archiefmap ? Desnoods aanmaken. S ER=$$TST^cA710(ARCLOC) I ER S ER=$$CRED^cA710(ARCLOC) I ER D F12 G DELARCHZ S FILE=$P(TRF,D,$L(TRF,D)) ; indien file bestaat in archief : 001, 002, ... achterplakken F I=0:1 Q:$$TST^cA710(ARCLOC_"/"_FILE_$S(I:$TR($J(I,3)," ",0),1:"")) S FILE=FILE_$S(I:$TR($J(I,3)," ",0),1:"") ; Verzetten file I $$REN^cA710(TRF,ARCLOC_D_FILE) D F13 G DELARCHZ S OK=1 G DELARCHZ DELARCHB ; verwijderen ? I '$G(DEL) G DELARCHZ I $$DEL^cA710(TRF) D F14 G DELARCHZ S OK=1 DELARCHZ Q OK ; EINDE(Q,IMPDMS,UI1) ; einde import S $ZT="TRAP^cAN000" N OK,TAB,K I '$L($G(UI1)) S OK=0 G EINDEZ S TAB(105)=$$HD^cAFD1($H),TAB(106)=$$HT^cAFD1($H) S OK=$$LOGW(Q,IMPDMS,UI1,.TAB) I 'OK G EINDEZ S OK=1 EINDEZ Q OK ; IMP(Q,QU,IMPDMS,IMPTYPE,IMPCDUI1,TRF,DEL,ARCLOC,BG) ; IMPDMS : DMS voor logbestand (niet ingevuld = "IMPORT") ; IMPTYPE : 2de subscript logbestand (niet ingevuld = "IMPORT") ; IMPCDUI1: intern nummer definitie (zie ^DATA(Q,"IMPORT.DEF" ; TRF : locatie + bestand voor in te lezen ; DEL : 1 : file verwijderen ; ARCLOC : locatie waar bestand kan gearchiveerd worden ; BG : 1 = via background, 2 = via VB ; ; Definitie logbestand IMPA S $ZT="TRAP^cAN000" N IMPUQC,IMPUSC,IMPREF,IMPUI1,OK,SWNOTRF,K,DIR,TAB,UI1,ER,ANOD,ERREAD,KEU,FILE S TRF=$G(TRF) I '$L($G(IMPTYPE)) S IMPTYPE="IMPORT" I '$L($G(IMPDMS)) S IMPDMS="IMPORT" S R=$$REF(Q,IMPDMS,$G(BG)),IMPUQC=$P(R,D,2),IMPUSC=$P(R,D,3),IMPREF=$P(R,D) I '$L(IMPREF) D F1 G IMPZ I '$G(BG) D O^cA612(18,1,4,80,1,0,0,0) S SWNOTRF=1 I $L(TRF) S SWNOTRF=0 G IMPD ; file werd doorgegeven I $G(BG) S SWNOTRF=0 G IMPD ; indien BG nooit vragen naar file IMPB S K=$$^cANSYN("SYS.LOC") I K="-" S OK="-" G IMPYY S DIR=$$SIG^cAFA1("SYS.LOC",K,104) I $E(DIR,$L(DIR))'="/" S DIR=DIR_"/" IMPC S R="FILE\22\3\"_$P($T(@("T1"_QT)),U,2)_"\30\\$L(K)&(K'="","")&(K'[""/"")",$P(R,D,13)=1 D R0 I K="-" G IMPB S TRF=DIR_FILE ; IMPD S TRF=$$MAP(TRF) ; ; Bevestiging IMPE I $G(BG) G IMPF W /CUP(1,3),$P($T(@("T1"_QT)),U,3)," : ",TRF S R="KEU\22\3\"_$P($T(@("T4"_QT)),U,2)_"\1\\"".-""[K&$L(K)" D R0 I K="-" G IMPC:SWNOTRF S OK="-" G IMPYY ; ; Openen van logbestand + ophalen transmissienummer IMPF K TAB S IMPUI1=$$LOGO(Q,IMPDMS,IMPUQC,IMPUSC,IMPREF,IMPCDUI1,TRF) I '$L(IMPUI1) G IMPY ; openen logbestand ; inlezen file I $$TST^cA710(TRF)'=0 D F2 G IMPE:SWNOTRF,IMPY ; file bestaat niet S ER=$$OR^cA710(TRF) I ER D F3 G IMPY ; file kan niet geopend worden S UI1=IMPUI1 F ANOD=1:1 S ERREAD=$$RF^cA710(TRF,.A) Q:ERREAD S @IMPREF@(ANOD+10)=$$STRIPQ(A) ; I '$G(BG),'(ANOD#50) W /CUP(2,3),ANOD I ERREAD=99 S ERREAD=0 S ER=$$CF^cA710(TRF) I ERREAD D F5 G IMPY I ER D F6 G IMPY S ANOD=ANOD-1,TAB(108)=ANOD ; aantal records S OK=$$LOGW(Q,IMPDMS,IMPUI1,.TAB) I 'OK G IMPYY I 'ANOD D F4 G IMPY S OK=1 IMPY S OK=IMPUI1_D_OK_D_TRF S K=$$EINDE(Q,IMPDMS,IMPUI1) I $P(OK,D,2),'K S $P(OK,D,2)=0 ; eventueel verwijderen en/of archiveren I $P(OK,D,2),$G(DEL)!$L($G(ARCLOC)) S $P(OK,D,2)=$$DELARCH(Q,QU,IMPDMS,IMPTYPE,IMPUI1,TRF,$G(DEL),$G(ARCLOC),$G(BG)) ; verwijderen en/of archiveren IMPYY I '$G(BG) D C^cA612 IMPZ Q OK ; LOGO(Q,DMS,UQC,USC,IMPREF,IMPCDUI1,TRF) ; openen logbestand S $ZT="TRAP^cAN000" N UI1,TAB,NUI1 S UI1=$$NR^cAN000() L +@IMPREF:2 E D F9 S UI1="" G LOGOZ S TAB(1)=UI1_D_QU_D_$$HD^cAFD1($H)_D_$$HT^cAFD1($H)_D_D_D_$TR($G(TRF),D,"/") S $P(TAB(1),D,16)=IMPCDUI1 D P^cAN220(DMS,"",UI1,"TAB","") I $L(K) D F7 G LOGOZ S UI1=NUI1 LOGOZ Q $G(UI1) ; LOGW(Q,DMS,UI1,TAB) ; wijzigen logbestand S $ZT="TRAP^cAN000" N K,OK D B^cAN220(DMS,"",UI1,"TAB") I $L(K) D F8 G LOGWZ S OK=1 LOGWZ Q OK ; MAP(R,MAP) ; zet "/" om in "\" ; indien MAP = 1 : laatste karakter moet "\" zijn S R=$TR(R,"/",D) I $L(R),$G(MAP),$E(R,$L(R))'=D S R=R_D Q R ; REF(Q,DMS,BG) ; ophalen referentie bestand_D_UQC_D_USC S $ZT="TRAP^cAN000" N OK,R,UQC,USC D DMS^cAN000("UQC","USC",DMS,$G(BG)) I '$L(UQC)!'$L(USC) S R="" G REFZ S R=^DMC(UQC,USC,"DATA","REF")_D_UQC_D_USC REFZ Q R ; STRIPQ(R,DEL) ; haal 1ste en laatste quote eraf N i,k S $ZT="TRAP^cAN000" I '$L($G(DEL)) S DEL=$C(9) I '$L($TR(R,DEL)) G STRIPQZ N i F i=1:1:$L(R,DEL) D . s k=$p(R,DEL,i) . f q:$e(k)'=""""!($e(k,$l(k))'="""") s k=$e(k,2,$L(k)-1) . S $P(R,DEL,i)=k STRIPQZ Q R ; F1 S K=$P($T(@("T8"_QT)),U,2)_$G(IMPEDMS,IMPDMS) G FY F2 S K=$P($T(@("T2"_QT)),U,2) G FX F3 S K=$P($T(@("T3"_QT)),U,2) G FX F4 S K=$P($T(@("T5"_QT)),U,2) G FX F5 S K=$P($T(@("T6"_QT)),U,2) G FX F6 S K=$P($T(@("T7"_QT)),U,2) G FX F7 S K=$P($T(@("T9"_QT)),U,2) G FY F8 S K=$P($T(@("T10"_QT)),U,2) G FY F9 S K=$P($T(@("T11"_QT)),U,2) G FY F10 S K=$P($T(@("T12"_QT)),U,2) G FY F11 S K=$P($T(@("T13"_QT)),U,2) G FY F12 S K=$P($T(@("T14"_QT)),U,2) G FX F13 S K=$P($T(@("T15"_QT)),U,2) G FX F14 S K=$P($T(@("T16"_QT)),U,2) G FX FX S i=$$ERR(Q,QU,IMPDMS,IMPTYPE,IMPUI1,"",K,0,$G(BG)) FY S OK="0\"_K I '$G(BG) D TXT^cAFA1(250) FZ Q ; ERR(Q,QU,IMPDMS,IMPTYPE,IMPUI1,IMPVNR,ERROR,ERRTYPE,BG) ; IMPDMS : DMS voor logbestand (niet ingevuld = "IMPORT") ; IMPTYPE : 2de subscript logbestand (niet ingevuld = "IMPORT") ; IMPUI1 : UI1 van logbestand ; IMPVNR : volgnummer van detailrecord in hulpbestand ; ERROR : omschrijving fout ; ERRTYPE : 0 = fout bij openen, lezen of sluiten bestand ; 1 = omschrijving voor het record ; 2 = fout ; BG : 1 = via background, 2 = via VB ; S $ZT="TRAP^cAN000" N K,UI1,OK,VNR,TAB,IMPEDMS,IMPEUQC,UMPEUSC,IMPEREF I '$L($G(IMPDMS)) S IMPDMS="IMPORT" I '$L($G(IMPTYPE)) S IMPTYPE="IMPORT" S IMPEDMS=IMPDMS_".ERR" S R=$$REF(Q,IMPEDMS,$G(BG)),IMPEUQC=$P(R,D,2),IMPEUSC=$P(R,D,3),IMPEREF=$P(R,D) I '$L(IMPEREF) D F1 G IMPZ S IMPEREF=^DMC(IMPEUQC,IMPEUSC,"DATA","REF") L +IMPERR S UI1=IMPUI1_" z" S VNR=$O(@IMPEREF,-1) I $P(VNR," ")'=IMPUI1 S VNR=" "_100000 S VNR=$P(VNR," ",2)+1 S UI1=IMPUI1_" "_VNR L -IMPERR L +@IMPEREF:2 E D F10 G ERRZ S TAB(1)=IMPUI1_D_(+$G(IMPVNR))_D_VNR_D_ERRTYPE S TAB(2)=ERROR D P^cAN220(IMPEDMS,"",UI1,"TAB","") L -@IMPEREF I $L(K) D F11 G ERRZ S OK=1 I ERRTYPE>1 G ERRZ ; aantal fouten verhogen indien errortype 0 of 1 K TAB S TAB(114)=$$SIG^cAFA1(IMPDMS,IMPUI1,114)+1 S OK=$$LOGW(Q,IMPDMS,IMPUI1,.TAB) ERRZ Q OK ; R0 S $P(R,D,12)=$T(+0),$P(R,D,13)=1 D ^cAN1000 Q ; v12 23.01.95 ; ZZ ; 19.03.07 - 15 u 31 * V8.08