Third Party Developer Issues to Consider
Acquiring Unique Report Numbers
Interfacing systems are required to download a report identifying number from the eLandings system for each report that the interfacing system will submit. Sets of report numbers can be downloaded in anticipation of future reports. Each number downloaded shall be used for one, and only one, report.
Failure modes: if an interfacing system generates its own numbers and uses them to submit reports then report collisions can occur. If a report number is not already on the system then the collision may not occur immediately. If an interfacing system reuses a report number then a prior report may be unintentionally overwritten.
Exceptions: if an interfacing system generates a report, but has a user submit it through the Report Import web page then the report number in the report will be replaced with a new number generated on the eLandings system. The interfacing system can get this number by having the user input it, or by having the user download the resulting report on eLandings and feed it back to the interfacing system.
For additional information see:
getReportNumbers()
Acquiring Fish Ticket Numbers
Interfacing systems are required to download fish ticket numbers from the eLandings system for each report that the interfacing system will submit. Sets of fish ticket numbers can be downloaded in anticipation of future reports. Each number downloaded shall be used for one, and only one, report.
Failure modes: if an interfacing system generates its own fish ticket numbers and uses them to submit reports then confusion can result. The reports will be saved successfully, but referencing reports by fish ticket number may result in the wrong report being referenced.
Exceptions: if an interfacing system generates a report, but has a user submit it through the Report Import web page then the fish ticket numbers in the report may be replaced with new number generated on the eLandings system. This depends on whether or not the fish ticket numbers in the report are importable numbers, retrieved from the Importable Numbers web page. If the fish ticket numbers are replaced the interfacing system can get them by having the user input them, or by having the user download the resulting report on eLandings and feed it back to the interfacing system.
For additional information see:
getFishTicketNumbers()
Uploading Reports
Interfacing systems are required to upload reports one at a time. That is, one call to eLandings for each report. No capability for mass upload of a single file containing multiple reports will be provided. Multiple report uploading would increase the complexity of error feedback to interfacing systems if reports have errors.
For example, let us say that uploading 100 records typically takes your application two minutes to run. If the upload fails after 1 minute and 17 seconds, how do you recover? How do you know which records were uploaded and which failed? Compare this to a single report upload situation. If you are uploading a single report and it fails, it is very easy to pinpoint what report failed to upload. It is easier to write error handling to handle errors in uploading a single report at a time.
Requests for a multiple report upload capability should not be made to the eLandings development or support team.
For additional information:
Manually importing & extracting reports
saveLandingReport()
submitInitialLandingReport()
submitFinalLandingReport()
saveProductionReport()
submitProductionReport()
Report and Fish Ticket Number Conservation
Interfacing systems should not download excessive numbers of report and fish ticket numbers, and then not use them in reports. Interfacing systems may have some unused numbers left over at the end of the season, but this number should not be excessive.
Failure modes: if too many fish ticket numbers are downloaded then the number could roll over. This would happen if 1 million fish ticket numbers were requested in one year. The reports that used the duplicate numbers could be stored, but this would cause confusion. If too many report numbers are downloaded this will cause the report number magnitude to grow, but we have at least a billion numbers before this is a problem. However, if we reach that threshold reports will not be accepted.
If the eLandings team discovers excessive number requests, these numbers may be severely rationed.
For additional information see:
getReportNumbers()
getFishTicketNumbers()
Extracting Reports
Interfacing systems are required to download reports one at a time. That is, one call to eLandings for each report. No capability for a mass download will be provided. The capability for multiple reports in a download exposes eLandings to problems with system limits on performance and numbers of elements in a single XML document. Requests for a multiple report download capability should not be made to the eLandings development or support team.
Exceptions: the Report Extract web page allows users to get a set of reports in a single download. This is subject to a 1000 report limit, and may be subject to errors if other limits are exceeded.
For additional information see:
Manually importing & extracting reports
findUserLandingReports()
getLandingReport()
findUserProductionReports()
getProductionReport()
Searching for Reports
Interfacing systems can search for reports by a limited set of criteria. The available criteria are:
- Processor identifying numbers - Processor Code and Federal Permit Number.
- Date ranges - report date and last update date.
- Tender operation identifiers - Tender ADF&G number and tender batch.
Interfacing systems are expected to set the processor identifying numbers to limit searches to their own reports.
For additional information see:
Report Extract Tool
findUserLandingReports()
findUserProductionReports()