Support 805.461.7300
Sales
NEW SITE. Our Technology. Your Success.
Miscellaneous

Direct Mail API: Reduced Database Size and Customizable Output Fields

Reduce database size and improve processing efficiency by excluding optional DSF2 and CASS output fields that may not be needed.

Recommended for Large-Volume Processing

Customers submitting 500,000 or more records per request are encouraged to enable the following JSON settings:

{
  "des_dsf2_only": 1,
  "cass_extra_off": 1
}

Enabling both settings can exclude up to 37 optional output fields, resulting in significant database storage savings:

  • 500,000 records: Approximately 167.5 MB saved
  • 1 million records: Approximately 335 MB saved

These settings help reduce database storage requirements and improve efficiency when processing large datasets.

JSON Settings

  • des_dsf2_only: Excludes optional DSF2 output fields, retaining walkseq_ as the standard DSF2 output field.
  • cass_extra_off: Excludes 25 optional CASS output fields to reduce database size.
  • additional_output_fields: Allows customers to retain specific fields that would otherwise be excluded.

Customizing Your Output Fields

Customers can use additional_output_fields to preserve specific fields required by their applications.

Example:

{
  "des_dsf2_only": 1,
  "cass_extra_off": 1,
  "additional_output_fields": "dp;zip4;dpc;pkgmark_;endorse;cont_id;barcode;status_;Dbmc;Dscf"
}

In this example, the API excludes unnecessary fields while preserving any listed fields that are already part of the output.

Please Note: The additional_output_fields setting preserves existing output fields; it does not automatically add new fields. Storage savings will vary depending on the fields retained.

Benefits

  • Reduces database size and storage requirements.
  • Helps optimize large-volume API processing.
  • Allows customers to retain only the optional fields they need.
  • Maintains backward compatibility with existing API configurations.

Recommendation: For API submissions of 500,000 records or more, we recommend enabling both optimization settings unless your application requires the excluded fields. Customers can use additional_output_fields to retain specific fields without disabling the optimization features.

More technical version of field suppression options:

Release Notes – Enhanced Output Field Management and Database Size Optimization

Configurable Output Field Exclusions with Customer-Defined Overrides

Enhanced output field management allows customers to reduce database size by automatically excluding optional DSF2 and CASS output fields while preserving any fields explicitly requested through the JSON configuration.

This enhancement is particularly beneficial for customers processing large datasets, helping reduce database storage requirements, minimize unnecessary data, and improve overall processing efficiency.

1. JSON Configuration Settings

Three JSON settings control this functionality:

  • des_dsf2_only: When set to 1, excludes 12 optional DSF2-related output fields. Only walkseq_ is added through DSF2 processing by default, unless additional fields are explicitly requested.
  • cass_extra_off: When set to 1, excludes 25 optional CASS output fields to reduce database size.
  • additional_output_fields: Specifies fields that must be preserved, even when they would normally be excluded by either setting.

Both exclusion settings operate independently and can be enabled individually or together.

2. Recommendation for Large-Volume Processing

Customers processing 500,000 or more records per submission are strongly encouraged to consider enabling both des_dsf2_only and cass_extra_off, provided the excluded fields are not required.

Recommended JSON Configuration:

{
  "des_dsf2_only": 1,
  "cass_extra_off": 1
}

Enabling both settings excludes up to 37 optional output fields, reducing database size by 335 bytes per record.

Database Storage Savings

The following calculations are based on the Visual FoxPro field definitions in fields.dbf.

DSF2 Field Exclusions (des_dsf2_only = 1)

  • Fields excluded: 12
  • Savings per record: 14 bytes
  • Savings for 500,000 records: 7 MB

CASS Field Exclusions (cass_extra_off = 1)

  • Fields excluded: 25
  • Savings per record: 321 bytes
  • Savings for 500,000 records: 160.5 MB

Combined Savings (Both Settings Enabled)

  • Total fields excluded: 37
  • Total savings per record: 335 bytes
  • Total savings for 500,000 records: 167.5 MB

Estimated Savings by Record Volume

When both settings are enabled and all 37 optional fields are excluded, the estimated savings are:

  • 100,000 records: 33.5 MB
  • 500,000 records: 167.5 MB
  • 1,000,000 records: 335 MB

These calculations reflect fixed-width DBF record storage savings. Actual savings depend on which fields were originally included and whether any are preserved through additional_output_fields. Minor differences in DBF header overhead are not included.

Important: The AccuZIP DQ Service has a 2 GB file-size limit. Reducing the number of fields and the overall record size allows more records to be accommodated before reaching this limit, making these settings particularly valuable for large-volume processing.

3. Fields Excluded When des_dsf2_only = 1

When enabled, this setting excludes the following 12 optional DSF2-related fields:

  • DSF_SECERR
  • DSF_PRIERR
  • DSF_ADRTYP
  • DSF_SEASNL
  • DSF_THBACK
  • DSF_DROPCT
  • DSF_DROPIN
  • DSF_BUSIND
  • DSF_NOSTAT
  • DSF_DELTYP
  • DSF_EDUTYP
  • DSF_LACSIN

Retained DSF2 Field: walkseq_

With des_dsf2_only = 1, only walkseq_ is added through DSF2 processing by default.

Customers requiring any of the excluded DSF2 fields can preserve them by including the corresponding field names in additional_output_fields, provided those fields are already included in the output field list.

4. Fields Excluded When cass_extra_off = 1

When enabled, this setting excludes the following 25 optional CASS output fields:

  • errno_
  • ocompany
  • oaddress
  • ocity
  • ostate
  • ozipcode
  • primary_
  • pre_
  • street_
  • post_
  • suffix_
  • abrev_
  • secy_
  • pmb_
  • pmbno_
  • congress_
  • lacsind_
  • lacsrc_
  • stelink_
  • area_
  • latitude_
  • longitude_
  • timezone_
  • financeno_
  • leftout_

Customers requiring any of these fields can preserve them through additional_output_fields, provided they are already included in the output field list.

5. additional_output_fields – Explicit Field Preservation

The additional_output_fields JSON setting allows customers to specify output fields that must be preserved when either des_dsf2_only or cass_extra_off is enabled.

This setting acts as an override to the field-exclusion rules, ensuring customer-requested fields are not removed from the output.

How It Works

  • Preserves explicitly requested fields: Any field listed in additional_output_fields is retained, even if it would normally be excluded by either setting.
  • Does not automatically add fields: The setting only preserves fields already included in the output field list. It does not create or add fields that are not already present.
  • Case-insensitive matching: Field names are matched regardless of capitalization. For example, dsf_dropct matches DSF_DROPCT.
  • Exact field matching: Only complete field names are matched, preventing unintended preservation of similarly named fields.
  • Preserves original field order: Retained fields remain in their original positions in the output field list.
  • Does not restrict other fields: Fields not listed in additional_output_fields remain in the output unless specifically excluded by an enabled JSON setting.

Example JSON Configuration

{
  "des_dsf2_only": 1,
  "cass_extra_off": 1,
  "additional_output_fields": "dp;zip4;dpc;pkgmark_;endorse;cont_id;barcode;status_;dbmc;dscf"
}

Example Processing

Original Output Field List:

DSF_SECERR;DSF_DROPCT;DSF_PRIERR;oaddress;stelink_

Final Output Field List:

DSF_DROPCT;stelink_

In this example:

  • DSF_DROPCT is preserved because dsf_dropct was explicitly requested.
  • stelink_ is preserved because it was explicitly requested.
  • DSF_SECERR and DSF_PRIERR are excluded by des_dsf2_only = 1.
  • oaddress is excluded by cass_extra_off = 1.
  • dpc and vacant_ are not added because they were not present in the original output field list.

Important: The additional_output_fields setting is a field-preservation override, not a field-selection or field-creation mechanism.

Customers should use it to retain specific fields that would otherwise be excluded by the optional output-reduction settings.

Impact on Database Storage Savings

When fields are explicitly preserved through additional_output_fields, the overall database storage savings will be reduced by the combined declared widths of those retained fields.

For maximum storage savings, customers should request only the additional fields required by their applications or workflows.

6. Key Improvements and Benefits

  • Reduced database size: Excludes up to 37 optional output fields, saving as much as 335 bytes per record.
  • Large-volume optimization: Saves approximately 167.5 MB for every 500,000 records processed when all 37 fields are excluded.
  • Improved DBF capacity: Reduces record size, allowing more records to be stored before reaching Visual FoxPro's 2 GB DBF file-size limit.
  • Selective DSF2 output: Allows DSF2 processing to add only walkseq_ by default.
  • Customer-defined overrides: Preserves specifically requested DSF2 and CASS fields through additional_output_fields.
  • Case-insensitive matching: Ensures requested fields are recognized regardless of capitalization.
  • Exact field-name matching: Prevents unintended exclusions or preservation of similarly named fields.
  • Preserved field order: Maintains the original order of retained output fields.
  • Backward compatibility: Existing field-exclusion behavior remains unchanged when both exclusion settings are disabled.

7. Summary

This enhancement provides customers with greater control over DSF2 and CASS output field management while substantially reducing database storage requirements for large-volume processing.

For customers processing 500,000 or more records, enabling both des_dsf2_only = 1 and cass_extra_off = 1 is recommended when the excluded fields are not required.

When all 37 optional fields are excluded, the resulting 335-byte reduction per record can save approximately 167.5 MB for every 500,000 records processed, helping optimize database capacity and minimize unnecessary data storage.

Customers requiring specific excluded fields can use additional_output_fields to preserve them without disabling the overall database optimization.

« Back to Tech Notes