Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: SCMCDDR3

SCMCDDR3.m

Go to the documentation of this file.
  1. SCMCDDR3 ;ALB/ART - FileMan FILE^DIC and UPDATE^DIC DBS Calls for PCMM Web RPCs ;02/04/2015
  1. ;;5.3;Scheduling;**603**;Aug 13, 1993;Build 79
  1. ;
  1. ;This routine was copied from DDR3.
  1. ;PCMM Web needs a new RPC that has .11 APP PROXY ALLOWED set to Yes
  1. ;
  1. ;DDR3 ;ALB/MJK,SF/DCM-FileMan Delphi Components' RPCs ;2/24/98 10:01
  1. ;;22.0;VA FileMan;;Mar 30, 1999
  1. ;Per VHA Directive 10-93-142, this routine should not be modified.
  1. ;
  1. ;Public, Supported ICRs
  1. ; #2053 - Data Base Server API: Editing Utilities (DIE)
  1. ; #2054 - Data Base Server API: Misc. Library Functions (DILF)
  1. ;
  1. QUIT
  1. ;
  1. FILEC(SCDATA,SCMODE,SCROOT,SCFLAGS,SCIENS) ; DDR FILER rpc callback
  1. N SCRTN,SCFDA,SCERR,N,I
  1. D FDASET(.SCROOT,.SCFDA)
  1. ; -- set up placeholder DINUM's if any
  1. ; -- NOTE: Can't use until multiple arrays can be passed by broker
  1. I $D(SCROOT("IENs")) M SCIENS=SCROOT("IENs")
  1. S I="" F S I=$O(SCIENS(I)) Q:I="" S SCRTN(+I)=+SCIENS(I)
  1. IF SCMODE="ADD" D
  1. . D UPDATE^DIE("","SCFDA","SCRTN","SCERR")
  1. ELSE D
  1. . S SCFLAGS=$S($D(SCFLAGS):SCFLAGS,1:"")
  1. . D FILE^DIE(SCFLAGS,"SCFDA","SCERR")
  1. S N=0
  1. D SET("[Data]")
  1. ; -- send back info on entry #'s for placeholders
  1. S I=0 F S I=$O(SCRTN(I)) Q:'I D SET("+"_I_","_U_SCRTN(I))
  1. IF $D(SCERR) D ERROR
  1. Q
  1. ;
  1. FDASET(SCROOT,SCFDA) ;
  1. N SCFILE,SCIEN,SCFIELD,SCVAL,SCERR,I
  1. S I=0
  1. F S I=$O(SCROOT(I)) Q:'I S X=SCROOT(I) D
  1. . S SCFILE=$P(X,U)
  1. . S SCFIELD=$P(X,U,2)
  1. . S SCIEN=$P(X,U,3)
  1. . S SCVAL=$P(X,U,4,99)
  1. . D FDA^DILF(SCFILE,SCIEN_$S($E(SCIEN,$L(SCIEN))'=",":",",1:""),SCFIELD,"",SCVAL,"SCFDA","SCERR")
  1. Q
  1. ;
  1. SET(X) ;
  1. S N=N+1
  1. S SCDATA(N)=X
  1. Q
  1. ERROR ;
  1. D SET("[BEGIN_diERRORS]")
  1. N A S A=0 F S A=$O(SCERR("DIERR",A)) Q:'A D
  1. . N HD,PARAM,B,C,TEXT,TXTCNT,D,FILE,FIELD,IENS,%
  1. . S HD=SCERR("DIERR",A)
  1. . I $D(SCERR("DIERR",A,"PARAM",0)) D
  1. . . S (B,D)=0 F C=1:1 S B=$O(SCERR("DIERR",A,"PARAM",B)) Q:B="" D
  1. . . . I B="FILE" S FILE=SCERR("DIERR",A,"PARAM","FILE")
  1. . . . I B="FIELD" S FIELD=SCERR("DIERR",A,"PARAM","FIELD")
  1. . . . I B="IENS" S IENS=SCERR("DIERR",A,"PARAM","IENS")
  1. . . . S D=D+1,PARAM(D)=B_U_SCERR("DIERR",A,"PARAM",B)
  1. . S C=0 F S C=$O(SCERR("DIERR",A,"TEXT",C)) Q:'C S TEXT(C)=SCERR("DIERR",A,"TEXT",C),TXTCNT=C
  1. . S HD=HD_U_TXTCNT_U_$G(FILE)_U_$G(IENS)_U_$G(FIELD)_U_$G(D) D SET(HD)
  1. . S B=0 F S B=$O(PARAM(B)) Q:'B S %=PARAM(B) D SET(%)
  1. . S B=0 F S B=$O(TEXT(B)) Q:'B S %=TEXT(B) D SET(%)
  1. . Q
  1. D SET("[END_diERRORS]")
  1. Q
  1. ;