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

IBCEM2.m

Go to the documentation of this file.
  1. IBCEM2 ;ALB/TMP - 837 EDI RETURN MSG EXTRACT MAIN LIST TEMPLATE ;02-MAY-96
  1. ;;2.0;INTEGRATED BILLING;**137**;21-MAR-94
  1. ;
  1. SCRIT(IBSCRIT) ; Enter display selection criteria
  1. ; Pass IBSCRIT by reference - returned containing selection criteria
  1. ; IBSCRIT(n)=n-level sort IBSCRIT(n,1-x)=selections
  1. ; IBSCRIT(n,"D1") = from DATE range IBSCRIT(n,"D2") = to DATE range
  1. D FULL^VALM1
  1. W !
  1. S DIR("B")="ALL"
  1. S DIR("A",1)="Enter sort and selection criteria for message list",DIR("A",2)=" ",DIR("A")="First level sort field: "
  1. S DIR(0)="SA^MS:MESSAGE STATUS;MT:TYPE OF MESSAGE;BA:BATCH #;BI:BILL #;ALL:ALL MESSAGES"
  1. S DIR("?")="Enter the top-level sort for the list of messages"
  1. D ^DIR K DIR
  1. I $D(DIRUT) K IBSCRIT Q
  1. S IBSCRIT(1)=Y
  1. I Y="ALL" Q
  1. D SELECT(1,.IBSCRIT) Q:'$D(IBSCRIT)
  1. S DIR("A",1)=" ",DIR("A")="Second level sort field: "
  1. S DIR(0)="SAO^"_$S(IBSCRIT(1)'="MS":"MS:MESSAGE STATUS;",1:"")_$S(IBSCRIT(1)'="MT":"MT:TYPE OF MESSAGE;",1:"")_"MD:MESSAGE DATE;RD:RECORDED DATE"
  1. S DIR("?")="Enter the second-level sort for the list of messages"
  1. S DIR("?",1)="First level sort selected was: "_$$FLD(IBSCRIT(1))
  1. D ^DIR K DIR
  1. I $D(DTOUT)!$D(DUOUT) K IBSCRIT Q
  1. I Y="" Q
  1. S IBSCRIT(2)=Y
  1. D SELECT(2,.IBSCRIT) Q:'$D(IBSCRIT)
  1. S DIR("A",1)=" ",DIR("A")="Third level sort field: "
  1. S DIR(0)="SAO^"
  1. S DIR(0)=DIR(0)_$S(IBSCRIT(1)'="MS"&(IBSCRIT(2)'="MS"):"MS:MESSAGE STATUS;",1:"")_$S(IBSCRIT(1)'="MT"&(IBSCRIT(2)'="MT"):"MT:TYPE OF MESSAGE;",1:"")
  1. S DIR(0)=DIR(0)_$S(IBSCRIT(2)'="MD":"MD:MESSAGE DATE;",1:"")_$S(IBSCRIT(2)'="RD":"RD:RECORDED DATE",1:"")
  1. S DIR("?")="Enter the third-level sort for the list of messages"
  1. D ^DIR K DIR
  1. I $D(DTOUT)!$D(DUOUT) K IBSCRIT Q
  1. I Y="" Q
  1. S IBSCRIT(3)=Y
  1. D SELECT(3,.IBSCRIT)
  1. Q
  1. ;
  1. SELECT(LEVEL,IBSCRIT) ; Select specific or all values/date range for IBSCRIT(LEVEL)
  1. ; LEVEL = sort level 1-3
  1. N SELNM,SEL,CT,Y,DIR,DUOUT,DTOUT,DIRUT,Z
  1. S SEL=$G(IBSCRIT(LEVEL)) I SEL="" K IBSCRIT Q
  1. S SELNM=$$FLD(SEL)
  1. RESEL S DIR("A")="Do you want ALL "_SELNM_"'s",DIR(0)="Y",DIR("?")="ANSWER YES TO INCLUDE ALL "_SELNM_" OR NO TO SELECT SPECIFIC VALUES OR RANGES"
  1. D ^DIR K DIR
  1. I $D(DIRUT) K IBSCRIT Q
  1. I Y=1 Q
  1. I SEL="MD"!(SEL="RD") D Q ;Date field
  1. . S DIR("A")="From Date: ",DIR(0)="DA^:"_DT_":P",DIR("?")="Enter the earliest date you want included in the list" D ^DIR
  1. . I $D(DIRUT) K IBSCRIT Q
  1. . S IBSCRIT(LEVEL,"D1")=Y I 'X W " ",$$FMTE^XLFDT(Y,2)
  1. . S DIR("A")="To Date: ",DIR(0)="DA^:"_DT_":P",DIR("?")="Enter the latest date you want included in the list" D ^DIR
  1. . I $D(DIRUT) K IBSCRIT Q
  1. . S IBSCRIT(LEVEL,"D2")=Y I 'X W " ",$$FMTE^XLFDT(Y,2)
  1. S CT=0
  1. S DIR("A",1)=" ",DIR("A",2)="Enter your selections one at a time.",DIR("A",3)="When done, press return at the "_SELNM_" prompt to continue."
  1. S DIR("A")=SELNM_": ",DIR(0)=$S(SEL="MS":"364.2,.06",SEL="MT":"364.2,.02",SEL="BA":"364.2,.04",SEL="BI":"364,.01",1:"")_"AO"
  1. F D ^DIR D Q:"^"[Y
  1. . Q:$D(DUOUT)
  1. . I Y="" Q:CT W !,*7,"You must select at least one entry" S Y=-1 Q
  1. . S CT=CT+1,IBSCRIT(LEVEL,$P(Y,U))=Y
  1. . I $D(DIR("A",1)) F Z=1:1:3 K DIR("A",Z)
  1. K DIR
  1. I $D(DUOUT)!$D(DTOUT) D I $D(IBSCRIT) K IBSCRIT(LEVEL) S IBSCRIT(LEVEL)=SEL G RESEL
  1. . S DIR(0)="Y",DIR("A",1)=" ",DIR("A")="Do you want to abort this entire sort/selection"
  1. . S DIR("?")="Answer YES if you want to abort or to re-enter all sort/selection criteria",DIR("?",1)="Answer NO if you want to re-enter just this sort level's criteria"
  1. . D ^DIR K DIR
  1. . I $D(DIRUT)!Y K IBSCRIT
  1. Q
  1. ;
  1. FLD(FLD) ; RETURN NAME OF FIELD
  1. Q $S(FLD="MS":"MESSAGE STATUS",FLD="MT":"TYPE OF MESSAGE",FLD="BA":"BATCH",FLD="BI":"BILL",FLD="MD":"MESSAGE DATE",FLD="RD":"DATE RECORDED",1:"")
  1. ;