afsPershing


afsPershing generates an end of the day data file that will be transferred to Pershing.  The format of the data file is described in the document 'P&S FTP/NDM Record Layouts, Version 7/26/2001'.

The data file contains a section for each completed/approved ticket (with trade date = today) which is marked as "Send to Pershing", and has not yet been sent to Pershing.  In addition to the trade ticket information, the data file contains additional information needed for Pershing.  This additional information can be entered into the Pershing Data form, which can be accessed from each Trade Ticket or from the Ticket Blotter.  The "Blotter Code" field on the Pershing Data form must contain a value; otherwise, the ticket will not be sent to Pershing. If the Pershing Form is not filled out, afsPershing will use the default values (that you would see when you opened the Pershing Form for a trade) when sending information to Pershing.

The following afstrade fields must match those expected by Pershing in order for data to be read by Pershing

The following values may be set on the afsPershing form before starting the process:

  • Do Not FTP - If checked, a file is not FTP'd to Pershing and the afstrade database is not updated
  • Broker Only Trades - If checked, only trades done with Brokers are sent.
  • Production/Test - This radio button determines which host (see FTPProdHost and FTPTestHost) the Pershing file is sent.  If Test is selected, the file is sent to FTPTestHost and the afstrade database is not updated.  If Production is selected, the file is sent to FTPProdTest and the users is asked if the Transmission was successful (and the database should be updated).

A copy of the data file (with a different name that includes the date) will then be created in the ARCHIVE_DIR (see below).  afsPershing will then send the data file to Pershing via FTP.

Once afsPershing generates the data file, and the file has been transmitted to the production Pershing host, you will be asked if the transmission of the tickets was successful.  If you answer Yes, afsPershing will update the ticket records (in the afstrade database) so that those tickets will not be processed again that day.

afsPershing, by default, only sends trades for the current day.  If the Pershing file is transmitted (see the afsPershing log file) and there is a problem with updating the ticket records, the file was still successfully transmitted.  In addition, if there is a problem with the FTP transmission, you should contact Pershing and send them the Pershing file via email.

If a days trades were not able to be transmitted to Pershing, it is possible to configure afsPershing to allow an 'as of' trade date to be entered.  See ShowTradeDate in the [Pershing] section below.

A Pershing section in the afstrade.ini file controls this application.  Parameters below that are not commented out are required.  If the required values are not set prior to running afsPershing, the application will generate an error list of the parameters that need to be set, and then terminate. 

[Pershing]

; OUTPUT_DIR is the directory in which the
; generated data file is placed.
; REQUIRED
OUTPUT_DIR=c:\PershingOutPut

; OUTPUT_FILE_NAME is the name of the data file that
; will be generated by the afsPershing application.
; This file is REPLACED every time afsPershing is run.
; ( Contact Pershing to obtain this value. )
; (value will have a .DAT  extension)
; REQUIRED
OUTPUT_FILE_NAME=<filename>.DAT

; ARCHIVE_DIR is the directory in which an archive
; of each data file is placed when the user
; verifies that the file was successfully sent
; to Pershing.
; REQUIRED
ARCHIVE_DIR=c:\PershingArchive

; BATCH_ID is assigned by Pershing.
; ( Contact Pershing to obtain this value. )
; REQUIRED
BATCH_ID=<batch id>

; FTPProductionHost is the IP address of the Production 
; host where the data file will be SENT by
; the afsPershing application.
; ( Contact Pershing to obtain this value. )
; REQUIRED
FTPProductionHost=<ip address>

; FTPTestHost is the IP address of the Test 
; host where the data file will be SENT by
; the afsPershing application.
; ( Contact Pershing to obtain this value. )
; REQUIRED
FTPTestHost=<ip address>

; FTPUserID is the authorized User ID needed 
; to send the file to Pershing.
; ( Contact Pershing to obtain this value. )
; REQUIRED
FTPUserID=<user_name>

; FTPPassword is the authorized Password needed
; to send the file to Pershing.
; ( Contact Pershing to obtain this value. )
; REQUIRED
FTPPassword=<password>

; FTPDirectory is the directory on the Pershing
; site where the data file will be SENT.
; ( Contact Pershing to obtain this value. )
; FTPDirectory=<directory>  

; Set ShowTradeDate=1 to display a date field.
; Enter an as of date (within the past 7 days)
; so afsPershing sends all trades, that have not
; been sent, as of that date.
;ShowTradeDate=1

; Set ShowRunDate=1 to display a date field.
; Enter a date (within the past 7 days)
; so afsPershing sends all trades, that have not
; been sent for just that date.
;ShowRunDate=1

This application can accept command line parameters.  In addition to the standard AFS parameters, the following parameters are valid:

  • INTERACTIVE=0 - indicates that the user will not be queried during the run, and that all tickets will be automatically updated.
    • Values
      • 0=Not Interactive--user not queried, tickets updated automatically.
      • 1=Interactive--user queried, user response required for ticket update.

Last Updated:  February 26, 2004