| 1 | IBCEFG70 ; ALB/TMP - OUTPUT FORMATTER GENERIC SCREEN PROCESSING; 02-APR-96
 | 
|---|
| 2 |  ;;Version 2.0 ; INTEGRATED BILLING ;**52**; 21-MAR-94
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | SCRN(IBFORM,IBXIEN) ; Build screen display for form IBFORM and entry IBXIEN
 | 
|---|
| 5 |  N Z,Z0,Z1,Z2,LAST,IBGRP
 | 
|---|
| 6 |  D CLEAR^VALM1
 | 
|---|
| 7 |  S LAST=$O(^TMP("IBXEDIT",$J,""),-1),IBGRP=""
 | 
|---|
| 8 |  F  D  Q:IBGRP=""
 | 
|---|
| 9 |  .F Z=1:1 Q:$O(^TMP("IBXDATA",$J,1,1,Z-1))=""  W ! D:$D(^TMP("IBXDATA",$J,1,1,Z))
 | 
|---|
| 10 |  ..S Z0="" F  S Z0=$O(^TMP("IBXDATA",$J,1,1,Z,Z0)) Q:Z0=""  W ?Z0,^(Z0)
 | 
|---|
| 11 |  .F Z=Z:1:$S($P($G(^IBE(353,IBFORM,2)),U,3):$P(^(2),U,3)-1,1:19) W !
 | 
|---|
| 12 |  .W !,"<RET> or '^' to QUIT  or 1-",LAST," to EDIT: "
 | 
|---|
| 13 |  .R IBGRP:DTIME
 | 
|---|
| 14 |  .I "^"[IBGRP S IBGRP="" Q
 | 
|---|
| 15 |  .I 'IBGRP!(IBGRP>LAST) W:IBGRP'="?" *7 D HELP S IBGRP="REASK" Q
 | 
|---|
| 16 |  .D EDIT(IBGRP,IBFORM,IBXIEN)
 | 
|---|
| 17 |  Q
 | 
|---|
| 18 |  ;
 | 
|---|
| 19 | EDIT(IBGRP,IBFORM,IBXIEN) ; Generic edit fields on a screen form IBFORM
 | 
|---|
| 20 |  ;Loop here to read the group to edit (IBGRP)
 | 
|---|
| 21 |  ; IBXIEN = entry number
 | 
|---|
| 22 |  N Z,DR,DA,DIE,FLDS,Z0
 | 
|---|
| 23 |  F Z=1:1:$L(IBGRP,",") S Z0=$P(IBGRP,",",Z) D:IBGRP'=""
 | 
|---|
| 24 |  .I IBGRP'["-" S FLDS(+IBGRP)="" Q
 | 
|---|
| 25 |  .F Z1=+IBGRP:1:$P(IBGRP,"-",2) S FLDS(Z1)=""
 | 
|---|
| 26 |  S DR=""
 | 
|---|
| 27 |  S IBGRP="" F  S IBGRP=$O(FLDS(IBGRP)) Q:'IBGRP  S Z=0 F  S Z=$O(^TMP("IBXEDIT",$J,IBGRP,Z)) Q:'Z  S DR=DR_$S($L(DR):";",1:"")_^(Z)
 | 
|---|
| 28 |  I $L(DR) S DIE=+$G(^IBE(353,IBFORM,2)),DA=IBXIEN D ^DIE
 | 
|---|
| 29 |  D CLEAR^VALM1
 | 
|---|
| 30 |  Q
 | 
|---|
| 31 |  ;
 | 
|---|
| 32 | HELP ; Help for group prompt
 | 
|---|
| 33 |  N X,I
 | 
|---|
| 34 |  W !,"Enter '^' to stop the display and edit of data, or enter"
 | 
|---|
| 35 |  W !,"the field group number(s) you wish to edit using commas and dashes as",!,"delimiters.  The elements that are editable are assigned a group number",!,"enclosed in brackets ""[]"" while those without group numbers are not."
 | 
|---|
| 36 |  W ! F I=$Y:1:20 W !
 | 
|---|
| 37 |  S Z="PRESS <RETURN> KEY to RETURN to SCREEN " R X:DTIME
 | 
|---|
| 38 |  Q
 | 
|---|