You can extend document submission checks by using the following custom hooks:
Procedure for pre-check: do_pre_submission_check (fired before the rest of the submission checks)
Procedure for post-check: do_post_submission_check
These custom hooks for document submission checks are applicable to the following CLM documents:
Requisitions
Awards
IDVs
The documentation on how to code these submission checks is available as comments in the files PO_CUSTOM_SUBMISSION_CHECK_PVT.plb and PO_CUSTOM_SUBMISSION_CHECK_PVT.pls.
Location of the files:
$PO_TOP/patch/115/sql/PO_CUSTOM_SUBMISSION_CHECK_PVT.plb
$PO_TOP/patch/115/sql/PO_CUSTOM_SUBMISSION_CHECK_PVT.pls
The packages are always enabled, requiring no profile options to enable them.
You can extend the funds check function by using the following custom hook:
Procedure for custom funds check : PO_CUSTOM_FUNDS_PKG.do_action (Fired after the standard Oracle Funds Check and overrides the results of the standard Funds Check.)
This custom hook for Funds Check is applicable to the following CLM documents:
Requisitions
Awards
The documentation on how to code the Funds Check is available as comments in the files PO_CUSTOM_FUNDS_PKG.plb and PO_CUSTOM_FUNDS_PKG.pls.
Location of the files:
$PO_TOP/patch/115/sql/PO_CUSTOM_FUNDS_PKG.pls
$PO_TOP/patch/115/sql/PO_CUSTOM_FUNDS_PKG.plb
The packages are always enabled, requiring no profile option to enable them.
With some standard forms related to Award, there is a requirement to include certain FAR clauses as the print output or not. This depends on how clauses will be modeled, therefore a custom hook is provided where the logic can be written during implementation.
The Package is: PO_DT_CUSTOM_PKG and the function is: FUNCTION get_clause_number(p_header_id NUMBER ) RETURN VARCHAR2;
This function is used to check whether the specified FAR clauses are present as part of the given header id. It returns Y if clauses are present or N if specific clauses are not present.
Implementation must be provided for the following custom package: PO_DT_CUSTOM_PKG. The following methods have been added for this package:
FUNCTION is_addenda_attached(p_header_id NUMBER ) RETURN VARCHAR2;
Used in SF1449 to determine if addenda is attached or not.
FUNCTION is_doc_award_or_notice(p_header_id NUMBER ) RETURN VARCHAR2;
Used in SF1442 to determine if award or notice is required.
FUNCTION is_guarantee_reqd(p_header_id NUMBER ) RETURN VARCHAR2;
Used in SF1442 to determine if guarantee is required.
FUNCTION get_calendar_days(p_header_id NUMBER ) RETURN VARCHAR2;
Used in SF1442 to determine the calendar days value.
Location of the files are: $PO_TOP/patch/115/sql/PO_DT_CUST.pls and $PO_TOP/patch/115/sql/PO_DT_CUST.plb
The packages are always enabled, requiring no profile options to enable them.
Implementation must be provided for the following custom package: PON_DT_CUSTOM_PKG. The following methods have been added for this package:
FUNCTION is_far_clause_present(p_auction_header_id NUMBER ) RETURN VARCHAR2;
Used in SF1449 to determine if certain FAR clauses are present as part of the solicitation.
FUNCTION is_addenda_attached(p_auction_header_id NUMBER ) RETURN VARCHAR2;
Used in SF1449 to determine if addenda is attached or not.
FUNCTION is_doc_award_or_notice(p_auction_header_id NUMBER ) RETURN VARCHAR2;
Used in SF1442 to determine if award or notice is required.
FUNCTION is_guarantee_reqd(p_auction_header_id NUMBER ) RETURN VARCHAR2;
Used in SF1442 to determine if guarantee is required.
FUNCTION get_calendar_days(p_auction_header_id NUMBER ) RETURN VARCHAR2;
Used in SF1442 to determine the calendar days value.
Location of the files are: $PON_TOP/patch/115/sql/PON_DT_CUST.pls and $PON_TOP/patch/115/sql/PON_DT_CUST.plb
The packages are always enabled, requiring no profile options to enable them.
OKC_CODE_HOOK.IS_NOT_PROVISIONAL_SECTION is the code hook that can be leveraged to exclude provisional sections flowing down to the downstream document.
Package: OKC_CODE_HOOK (File OKCCCHKB.pls). Function: IS_NOT_PROVISIONAL_SECTION (p_section_heading IN VARCHAR2). Section Name is the input parameter for this function.
Example illustrating implementation of code hook:
FUNCTION IS_NOT_PROVISIONAL_SECTION ( p_section_heading IN VARCHAR2 ) RETURN VARCHAR2 IS x_hook_used NUMBER; BEGIN x_hook_used := 1; IF x_hook_used = 1 THEN -- An example: 'Section K' is a provisional section, then the following piece of code is to be added in the code hook. IF p_section_heading = 'Section K' THEN RETURN FND_API.G_FALSE; END IF; --Note that the section name is case-sensitive -One IF block is required for each section name that needs to be dropped END IF; RETURN FND_API.G_TRUE; EXCEPTION WHEN OTHERS THEN x_hook_used :=-1; END IS_NOT_PROVISIONAL_SECTION;
The custom hook 'po_palt_assignments_hook.AssignmentNumberCustHook' is provided as part of the files POPTASHS.pls (package Specification) and POPTASHB.pls (package Body). The custom hook uses Requisition Line IDs as input and returns the Assignment Number. The Assignment Number is used in the Buyer Work Center, when requisition lines are assigned to a workload assignment. Note that you can implement your own code to generate the Assignment Number.
The other custom hooks that are used as part of the concurrent request Compute Milestones Completion Date for Assignment are listed below. They are provided as part of the files POPTMCHS.pls (package Specification) and POPTMCHB.pls (package Body). Implementers can customize the logic to derive the dates for these milestones based on their requirements.These API's take Assignment Number as input and return the relevant date:
To return the Solicitation Creation Date : PO_PALT_MILESTONE_CMPL_HOOK.Get_Solicitation_Creation_Dt
To return the Solicitation Publish Date : PO_PALT_MILESTONE_CMPL_HOOK.Get_Solicitation_Publish_Dt
To return the Award Creation Date : PO_PALT_MILESTONE_CMPL_HOOK.Get_Award_Creation_Dt
To return the Award Approval Date : PO_PALT_MILESTONE_CMPL_HOOK.Get_Award_Approval_Dt
The above mentioned package can be extended to compute the completion date for user defined milestones.
To extend the Pre-Filled Information region in a CAR, perform the following steps:
Modify the Data Source
Modify the XML payload XSLT
Modify the XSL template to render the pre-fill
Modify the Data Source
The BI Publisher data template forms the XML source. The following are the seeded data definition used to generate the XML payload.
Data Definition Code | Name |
---|---|
POAWDFPDSNG | Award Data Template for FPDS-NG |
POIDVFPDSNG | IDV Data Template for FPDS-NG |
POAWDMODFPDSNG | Award Mod Data Template for FPDS-NG |
POIDVMODFPDSNG | IDV Mod Data Template for FPDS-NG |
Using the XML Publisher Administrator responsibility > Data Definitions, search for the above definitions using the code mentioned. Download the required definition file.
Modify the data template to include fields required. For more information on how to edit a data template, please refer to the Oracle XML Publisher Administration and Developer's Guide.
Create a new custom data definition using XML Publisher Administrator responsibility > Data Definition and upload the modified file.
The custom definition must be specified in the following profiles so that the XML generation process picks the new definition file:
Profile Name | Data Definition Name |
---|---|
PO: FPDS-NG Award XML Source | Award Data Template for FPDS-NG |
PO: FPDS-NG IDV XML Source | IDV Data Template for FPDS-NG |
PO: FPDS-NG Award Mod XML Source | Award Mod Data Template for FPDS-NG |
PO: FPDS-NG IDV Mod XML Source | IDV Mod Data Template for FPDS-NG |
Modify the XML payload XSLT
The XML generated from the data template is then transformed to the payload XML required by FPDS-NG. You can locate the following XSLT in the $OA_HTML folder.
XSLT File Name | Applicable Document |
---|---|
POAWDFPDSNG.xsl | Award XML |
POAWDMODFPDSNG.xsl | Award Mod XML |
POIDVFPDSNG.xsl | IDV XML |
POIDVMODFPDSNG.xsl | IDV Mod XML |
Modify this file to include the elements of interest. This is an XSLT file to select the appropriate nodes from the source XML.
This will include the newly added elements to FPDS payload XML with the appropriate namespace. This becomes the source for rendering the pre-fill information.
Modify the XSL template to render the pre-fill
The pre-fill information is rendered using BI Publisher XSL-HTML templates. The following are the seeded template definitions:
Template Code | Name |
---|---|
POAWDPREFIL | Award Pre-fill |
POIDVPREFIL | IDV Pre-fill |
Using the XML Publisher Administrator responsibility > Templates, search for the above templates using the code mentioned. Download the definition file.
This is an XSL stylesheet that will apply to the XML to render the content. Include the columns of interest from the XML payload. For more information on how to edit template files refer to the Oracle XML Publisher Administration and Developer's Guide.
Upload the modified file to the application using the same responsibility under the appropriate template code.