Search Results row_to_fetch




Overview

GMF_AR_GET_INVOICE_LINES_ID is an Oracle E-Business Suite PL/SQL package body owned by the APPS schema and classified under the ETRM "OTHER" API category. It belongs to the Oracle Process Manufacturing (GMF) family of utilities and exists to retrieve invoice line identifiers from Oracle Receivables transactional data on behalf of external or legacy process manufacturing interfaces. The package provides a controlled, cursor-driven mechanism for walking the invoice lines associated with a given transaction type, transaction type name, and invoice number, returning the line identifier one row at a time.

The body carries the header signature $Header: gmfinvsb.pls 115.2 2002/11/11 00:39:50 rseshadr ship $, indicating an origin in the GMF inventory and invoicing sub-system and a maintenance lineage that predates the 12.x application releases in which it is still shipped. The package is a read-only query utility; it does not create, update, or delete transactional records.

Key Procedures and Functions

The ETRM metadata documents a single public procedure within this package: GET_INVOICE_LINES_ID. Its purpose is to fetch invoice line identifiers for a specified invoice, keyed by transaction type and invoice number, using a caller-supplied invoice index to select which of several private cursors is opened.

The source excerpt shows the procedure declares the transaction type, transaction type name, invoice number, and a row_to_fetch counter as IN OUT NOCOPY parameters, with the line identifier and an error status returned as OUT NOCOPY parameters. The invoice_index IN parameter acts as a selector: index values 1, 6, and 7 map to distinct private cursors (cur_get_inv_lines_id1, cur_get_inv_lines_id2, and cur_get_inv_lines_id3), each of which is opened on first use and reused thereafter while it remains open. Because row_to_fetch is passed IN OUT, the same call site can be invoked repeatedly to page through the result set, with the procedure closing the cursor once the caller signals that the final row has been consumed. The procedure reports two error codes through error_status: 100 when the cursor is exhausted after returning at least one row, and 5 when no rows were found at all. No functions are documented for this package.

Tables Accessed

The package reads from three Receivables tables through APPS synonyms:

  • RA_CUSTOMER_TRX_ALL — the invoice header table, used to confirm the invoice number and derive header-level attributes.
  • RA_CUSTOMER_TRX_LINES_ALL — the invoice line table, the primary source of the returned line identifier values.
  • RA_CUST_TRX_TYPES_ALL — the transaction type lookup, used to resolve and validate the transaction type name passed by the caller.

All three are read-only participants; no inserts or updates are performed.

Usage Notes

GMF_AR_GET_INVOICE_LINES_ID is typically invoked from custom process manufacturing integration code, conversion routines, or reports that must reconcile GMF invoice extracts against Oracle Receivables invoice lines. Because the procedure maintains cursor state between calls, callers must preserve and pass back the row_to_fetch value for each invoice index being traversed; the parameter is the mechanism by which the package avoids re-opening a cursor for every row. ETRM records no other packages referencing this one, so callers are external. Error status must be checked after every invocation: 5 indicates an empty result set and 100 indicates successful completion of a non-empty fetch loop.