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

GMPLSLI2.m

Go to the documentation of this file.
  1. GMPLSLI2 ;ISP/TC - Problem Selection List Import Utility ;07/18/17 09:43
  1. ;;2.0;Problem List;**49**;Aug 25, 1994;Build 43
  1. ;
  1. ; External References:
  1. ; ICR 10142 EN^DDIOL
  1. ;
  1. ISCSV(GMPLLINE) ;Verify that LINE is in CSV format with at least 3 pieces of data
  1. I $L(GMPLLINE)=0 Q 0
  1. N GMPLCSV
  1. S GMPLCSV=$S($L(GMPLLINE,",")>2:1,1:0)
  1. I 'GMPLCSV D
  1. . N GMPLTXT
  1. . S GMPLTXT(1)=""
  1. . S GMPLTXT(2)="The following line is not in CSV format and cannot be processed:"
  1. . S GMPLTXT(3)=" "_GMPLLINE
  1. . D EN^DDIOL(.GMPLTXT)
  1. . H 1
  1. Q GMPLCSV
  1. ;============================================
  1. RBLCKHF(GMPLNIN,GMPLNOUT) ;FTG^%ZISH breaks lines at 255 characters. This could
  1. ;put a mapping across two lines. Format the ^TMP array so this does not
  1. ;happen.
  1. N GMPLCHAR,GMPLI,GMPLJ,GMPLK,GMPLL1,GMPLNL1,GMPLNL2,GMPLTMP
  1. K ^TMP($J,"GMPLNOUT")
  1. S GMPLI="",GMPLNL1=0
  1. F S GMPLI=+$O(^TMP($J,GMPLNIN,GMPLI)) Q:GMPLI=0 D
  1. . S GMPLTMP=^TMP($J,GMPLNIN,GMPLI),GMPLNL1=GMPLNL1+1
  1. . I '$D(^TMP($J,GMPLNIN,GMPLI,"OVF")) S ^TMP($J,GMPLNOUT,GMPLNL1,1)=GMPLTMP Q
  1. . S GMPLL1="",GMPLNL2=0
  1. . F GMPLJ=1:1:$L(GMPLTMP) D
  1. .. S GMPLCHAR=$E(GMPLTMP,GMPLJ)
  1. .. S GMPLL1=GMPLL1_GMPLCHAR
  1. .. I $L(GMPLL1)>230,GMPLCHAR="," S GMPLNL2=GMPLNL2+1,^TMP($J,GMPLNOUT,GMPLNL1,GMPLNL2)=GMPLL1,GMPLL1=""
  1. .;Check for overflow nodes.
  1. . S GMPLJ=0
  1. . F S GMPLJ=+$O(^TMP($J,GMPLNIN,GMPLI,"OVF",GMPLJ)) Q:GMPLJ=0 D
  1. .. S GMPLTMP=^TMP($J,GMPLNIN,GMPLI,"OVF",GMPLJ)
  1. .. F GMPLK=1:1:$L(GMPLTMP) D
  1. ... S GMPLCHAR=$E(GMPLTMP,GMPLK)
  1. ... S GMPLL1=GMPLL1_GMPLCHAR
  1. ... I $L(GMPLL1)>230,GMPLCHAR="," S GMPLNL2=GMPLNL2+1,^TMP($J,GMPLNOUT,GMPLNL1,GMPLNL2)=GMPLL1,GMPLL1=""
  1. . I $L(GMPLL1)>0 S GMPLNL2=GMPLNL2+1,^TMP($J,GMPLNOUT,GMPLNL1,GMPLNL2)=GMPLL1
  1. Q
  1. ;============================================
  1. RBLCKWEB(GMPLNIN,GMPLNOUT) ;GETURL^XTHC10 breaks lines at 245 characters. This
  1. ;could break a line into two lines. Format the ^TMP array so this does
  1. ;not happen.
  1. N GMPLCHAR,GMPLI,GMPLJ,GMPLK,GMPLL1,GMPLLEN,GMPLNL1,GMPLNL2,GMPLTMP
  1. K ^TMP($J,"GMPLNOUT")
  1. S GMPLI="",GMPLNL1=0
  1. F S GMPLI=+$O(^TMP($J,GMPLNIN,GMPLI)) Q:GMPLI=0 D
  1. . S GMPLTMP=^TMP($J,GMPLNIN,GMPLI),GMPLLEN=$L(GMPLTMP)
  1. . I GMPLLEN=0 S GMPLNL1=GMPLNL1+1,^TMP($J,GMPLNOUT,GMPLNL1,1)=GMPLTMP Q
  1. . S GMPLNL1=GMPLNL1+1
  1. . I $D(^TMP($J,GMPLNIN,GMPLI))<11 S ^TMP($J,GMPLNOUT,GMPLNL1,1)=$TR(GMPLTMP,$C(13),"") Q
  1. . S GMPLL1="",GMPLNL2=0
  1. . F GMPLJ=1:1:$L(GMPLTMP) D
  1. .. S GMPLCHAR=$E(GMPLTMP,GMPLJ)
  1. .. I GMPLCHAR=$C(13) Q
  1. .. S GMPLL1=GMPLL1_GMPLCHAR
  1. .. I $L(GMPLL1)>230,GMPLCHAR="," S GMPLNL2=GMPLNL2+1,^TMP($J,GMPLNOUT,GMPLNL1,GMPLNL2)=GMPLL1,GMPLL1=""
  1. .;Check for overflow nodes.
  1. . S GMPLJ=0
  1. . F S GMPLJ=+$O(^TMP($J,GMPLNIN,GMPLI,GMPLJ)) Q:GMPLJ=0 D
  1. .. S GMPLTMP=^TMP($J,GMPLNIN,GMPLI,GMPLJ)
  1. .. F GMPLK=1:1:$L(GMPLTMP) D
  1. ... S GMPLCHAR=$E(GMPLTMP,GMPLK)
  1. ... I GMPLCHAR=$C(13) Q
  1. ... S GMPLL1=GMPLL1_GMPLCHAR
  1. ... I $L(GMPLL1)>230,GMPLCHAR="," S GMPLNL2=GMPLNL2+1,^TMP($J,GMPLNOUT,GMPLNL1,GMPLNL2)=GMPLL1,GMPLL1=""
  1. . I $L(GMPLL1)>0 S GMPLNL2=GMPLNL2+1,^TMP($J,GMPLNOUT,GMPLNL1,GMPLNL2)=GMPLL1
  1. Q