Downloading SO Acknowledgement pdf programatically

A trace reveals this order:

Poll with this command:

  <businessObject>Ice.Proxy.BO.ReportMonitorImpl</businessObject>
  <methodName>GetRowsKeepIdleTimeWithBallonInfo</methodName>
...
    <parameter name="whereClauseSysRptLst" type="System.String"><![CDATA[((PrintDriver='TEXT' AND (AutoAction='PRINT' OR AutoAction='PREVIEW')) OR (PrintDriver='CRYSTAL' AND (AutoAction='PRINT' OR AutoAction='AUTOPRT' OR AutoAction='PREVIEW' OR AutoAction='AUTOPRV')) OR (PrintDriver='EPIFIN' AND (AutoAction='PRINT' OR AutoAction='PREVIEW')) OR (PrintDriver='BARTENDER' AND (AutoAction='AUTOPRT' OR AutoAction='AUTOPRV')) OR (PrintDriver='EDI' AND AutoAction<>'') OR (PrintDriver='SSRS' AND (AutoAction='PREVIEW' OR AutoAction='PRINT') AND LastAction='SSRSREADY')) AND WorkStationID='WORKSTATION']]></parameter>

I would probably use a different whereClause to restrict to the report I’m looking for, and checking for errors.

Once the result set comes in they call:

  <businessObject>Ice.Proxy.BO.ReportMonitorImpl</businessObject>
  <methodName>Update</methodName>

It updates the Status to In Process then it grabs the report stream:

  <businessObject>Ice.Proxy.BO.ReportMonitorImpl</businessObject>
  <methodName>GetReportBytes</methodName>
  <returnType>System.Byte[]</returnType>

Once you have your bytes, you save to a location of your choice.

Finally, call update again to change your status to Preview or Printed or whatever.

4 Likes