Legato
Legato

GoFiler Legato Script Reference

 

Legato v 1.4j

Application v 5.22b

  

 

Chapter Twenty-oneEDGARView Integration (continued)

EDGARGetClassTable Function

Overview

The EDGARLookupCIK function accesses the SEC’s public-facing company database and returns a table with series and class for a specified CIK.

Syntax/Parameters

Syntax

string [][] = EDGARGetClassTable ( string cik | qword cik );

Parameters

cik

A string or a qword that specifies the registrant CIK to retrieve. Note that EDGAR CIK values can exceed a 32-bit integer or dword size.

Return Value

A string table containing data from the SEC. On failure, the returned table will be empty. Use the GetLastError function to return details of the error.

If the CIK cannot be located (but a connection was made to the SEC), the last error will be ERROR_EOD.

If there is an issue with the content of the response, ERROR_SYNTAX with a low word code will be returned. Contact technical support if this error is returned since it can indicate that the SEC has changed their response format.

Remarks

The information returned by this function is the same as the public-facing company database. Note that this information can differ slightly from the private access company database, specifically in the area of the address since the SEC stores multiple types of addresses.

The rows of the table will have key names presented as the series ID and series/class ID. For example:

S000002874
S000002874_C000007899
S000002874_C000007900
S000002874_C000007901 

The columns will have the following key names:

  Name   Description
  SeriesID   The series ID. This field is only populated for the series data. For class entries, it will be empty.
  ClassID   The class ID. This field is only populated for the class data. For a series start, the field will be empty.
  Name   The name of the series or class.
  Ticker   Ticker symbol/name for the class.
  Status   The status of the series or class. This is normally ‘Active’ or ‘Inactive’.

 

For certain investment companies, the array can be very large. Programmers should consider using an auto allocated array since the number of list entries may vary.

An example of reading a random fund with series and class information (any valid CIK can be used, so illustrate series and class data, pick a CIK for an investment company with one or more series):

    string              list[][];
    string              cik;
    string              s1;
    int                 ix, size;
    int                 rc;

    cik = "0000355916";

    list = EDGARGetClassTable(cik);
    if (IsError()) {
      rc = GetLastError();
      AddMessage("CIK/Class Not found %s, 0x%08X", cik, rc);
      exit;
      }

    AddMessage("IX  ------Key Name-------- : -SeriesID-  -ClassID-  --Ticker--  --Status--");
    size = ArrayGetAxisDepth(list, AXIS_ROW);

    while (ix < size) {
      s1 = ArrayGetKeyName(list, ix, AXIS_ROW);
      AddMessage("%3d %-22s : %10s  %10s  %-10s  %-8s  %s", ix, s1, list[ix]["SeriesID"], 
                 list[ix]["ClassID"], list[ix]["Ticker"], list[ix]["Status"], list[ix]["Name"]);
      ix++;
      }

This will result in a fairly long list of data, some of it presented in the log below:

IX  ------Key Name-------- : -SeriesID-  -ClassID-  --Ticker--  --Status-- 
  0 S000002874             : S000002874                          Active    BlackRock Managed ...
  1 S000002874_C000007899  :             C000007899              Active    Class I
  2 S000002874_C000007900  :             C000007900              Active    Class II
  3 S000002874_C000007901  :             C000007901              Active    Class III
  4 S000002875             : S000002875                          Active    BlackRock S&P 500 ...
  5 S000002875_C000007902  :             C000007902              Active    Class I
  6 S000002875_C000007903  :             C000007903              Active    Class II
  7 S000002875_C000007904  :             C000007904              Active    Class III

     . . .

 75 S000045358_C000141143  :             C000141143              Active    Class III

The company database operates outside of EDGAR operation hours and is normally available on a 24/7 basis.

Repeatedly calling with the same CIK will not likely pound the SEC’s server since both the application and WinInet will cache pages. Further, if changes are made to the SEC database, they are not likely to quickly appear when referenced from the EDGARLookupCIK function.

Related Functions

Platform Support

Go13, Go16, GoFiler Complete, GoFiler Corporate, GoFiler, GoFiler Lite, GoXBRL

Legato IDE, Legato Basic