rpcw ;BMI/BI RPC WEB Viewer. ;09/27/2013
Quit
;
list ;public
New name Set name=""
Write " <table>",!
For x=1:1 Set name=$Order(^XWB(8994,"B",name)) Quit:name="" Do list1(name)
Write " </table>",!
Quit
list1(name)
New ien Set ien=0
For Set ien=$Order(^XWB(8994,"B",name,ien)) Quit:+ien=0 Do list2(name,ien)
Quit
list2(name,ien)
Write " <tr><td><a href=""rpcw.php?fn=main&ien="_ien_""" target=""main"">"_name_"</a></td></tr>",!
Quit
;
main ;public
New ien,fda,descx,paraien,parasn
Set ien=$zcmdline Quit:'ien Do loadfda(ien,.fda)
Write "<center><h1>"_fda("NAME")_"</h1></center>",!
Write "<table width=""100%"">",!
Write "<tr><th style=""width:175px"">TITLE</th><th colspan=2>VALUE</th></tr>",!
Write "<tr><td>NAME</td><td colspan=2>"_fda("NAME")_"</td></tr>",!
Write "<tr><td>DESCRIPTION</td><td colspan=2>"
Set descx=0
For Set descx=$Order(fda("DESCRIPTION",descx)) Quit:+descx=0 Do
. Write $$clean(fda("DESCRIPTION",descx))_"<br />",!
Write "</td></tr>",!
Write "<tr><td>TAG</td><td colspan=2>"_fda("TAG")_"</td></tr>",!
Write "<tr><td>ROUTINE</td><td colspan=2>"_fda("ROUTINE")_"</td></tr>",!
Set paraien=0
For Set paraien=$Order(fda(paraien)) Quit:+paraien=0 Do
. Set parasn(fda(paraien,"SEQUENCE NUMBER"))=paraien
Set parax=0
For Set parax=$Order(parasn(parax)) Quit:+parax=0 Do
. Set paraien=parasn(parax)
. Write "<tr><td>INPUT PARAMETERS</td><td>SEQUENCE NUMBER</td><td>"_fda(paraien,"SEQUENCE NUMBER")_"</td></tr>",!
. Write "<tr><td></td><td>INPUT PARAMETER</td><td>"_fda(paraien,"INPUT PARAMETER")_"</td></tr>",!
. Write "<tr><td></td><td>DESCRIPTION</td><td>"
. Set descx=0
. For Set descx=$Order(fda(paraien,"DESCRIPTION",descx)) Quit:+descx=0 Do
.. Write $$clean(fda(paraien,"DESCRIPTION",descx))_"<br />",!
. Write "</td></tr>",!
. Write "<tr><td></td><td>PARAMETER TYPE</td><td>"_fda(paraien,"PARAMETER TYPE")_"</td></tr>",!
. Write "<tr><td></td><td>REQUIRED</td><td>"_fda(paraien,"REQUIRED")_"</td></tr>",!
. Write "<tr><td></td><td>MAXIMUM DATA LENGTH</td><td>"_fda(paraien,"MAXIMUM DATA LENGTH")_"</td></tr>",!
. Write "<tr><td colspan=3><hr /></td></tr>",!
Write "<tr><td>RETURN VALUE TYPE</td><td colspan=2>"_fda("RETURN VALUE TYPE")_"</td></tr>",!
Write "<tr><td>RETURN PARAMETER DESCRIPTION</td><td colspan=2>"
Set descx=0
For Set descx=$Order(fda("RETURN PARAMETER DESCRIPTION",descx)) Quit:+descx=0 Do
. Write $$clean(fda("RETURN PARAMETER DESCRIPTION",descx))_"<br />",!
Write "</td></tr>",!
Write "<tr><td>AVAILABILITY</td><td colspan=2>"_fda("AVAILABILITY")_"</td></tr>",!
Write "<tr><td>INACTIVE</td><td colspan=2>"_fda("INACTIVE")_"</td></tr>",!
Write "<tr><td>CLIENT MANAGER</td><td colspan=2>"_fda("CLIENT MANAGER")_"</td></tr>",!
Write "<tr><td>WORD WRAP ON</td><td colspan=2>"_fda("WORD WRAP ON")_"</td></tr>",!
Write "<tr><td>VERSION</td><td colspan=2>"_fda("VERSION")_"</td></tr>",!
Write "<tr><td>SUPPRESS RDV USER SETUP</td><td colspan=2>"_fda("SUPPRESS RDV USER SETUP")_"</td></tr>",!
Write "<tr><td>APP PROXY ALLOWED</td><td colspan=2>"_fda("APP PROXY ALLOWED")_"</td></tr>",!
Write "</table>",!
Quit
;
loadfda(ien,fda)
New ien02,x02,FDA
Do GETS^DIQ(8994,ien,"**","R","FDA")
Merge fda=FDA(8994,ien_",")
Set ien02=""
For x02=1:1 Set ien02=$Order(FDA(8994.02,ien02)) Quit:ien02="" Do
. Merge fda(x02)=FDA(8994.02,ien02)
Quit
;
clean(input)
New x,output1,output2,sl Set output1="",output2=""
For x=1:1:$Length(input) Set sl=$Extract(input,x) Set:$ascii(sl)<129 output1=output1_sl
For x=1:1:$Length(output1) Set sl=$Extract(output1,x) Set:$ascii(sl)>31 output2=output2_sl
Quit output2