You can extend Approve Supplier Invoices according to your business needs for different aspects. For this purpose, the following extensibility options are available:
Extend workflow item list information
You can return additional data for each workflow item in the workflow item list (S2.view.xml).
Extend header information
You can return additional data for the header or for the Info tab in the detail view of a selected workflow item (S3.view.xml).
Extend history information
You can return additional data for the History tab in the detail view of a selected workflow item (S3.view.xml).
Add new tabs
You can extend the icon tab bar and add new tabs (S3.view.xml).
To return additional data for each workflow item in the workflow item list, the following extensibility entities are available on the different software layers. You have to extend each of these entities according to your specific business needs:
UI |
Back End/ABAP |
|||
---|---|---|---|---|
View |
Extension Point |
Design Time: Gateway Entity |
Design Time: Extension Include (in DDIC Structure) |
Runtime: Superclass/ Method to Be Redefined |
S2.view.xml |
CustomerExtensionForObjectListItem |
WorkflowItem |
MMIV_ASI_S_WORKFLOW_ITEM_INCL |
Superclass: MMIV_ASI_FIELD_EXTEND Method: IF_EX_MMIV_ASI_FIELD_EXTEND~ENRICH_WORKFLOWITEMS |
To return additional data for the header or for the Info tab in the detail view of a selected workflow item, the following extensibility entities are available on the different software layers. You have to extend each of these entities according to your specific business needs:
UI |
Back End/ABAP |
|||
---|---|---|---|---|
View |
Extension Point |
Design Time: Gateway Entity |
Design Time: Extension Include (in DDIC Structure) |
Runtime: Superclass/ Method to Be Redefined |
S3.view.xml |
CustomerExtensionForObjectHeader |
InvoiceHeader |
MMIV_ASI_S_INVOICE_HEADER_INCL |
Superclass: MMIV_ASI_FIELD_EXTEND Method: IF_EX_MMIV_ASI_FIELD_EXTEND~ENRICH_HEADER |
S3.view.xml |
CustomerExtensionForInfoTabForm |
InvoiceHeader |
MMIV_ASI_S_INVOICE_HEADER_INCL |
Superclass: MMIV_ASI_FIELD_EXTEND Method: IF_EX_MMIV_ASI_FIELD_EXTEND~ENRICH_HEADER |
S3.view.xml |
CustomerExtensionForInfoTab |
InvoiceHeader |
MMIV_ASI_S_INVOICE_HEADER_INCL |
Superclass: MMIV_ASI_FIELD_EXTEND Method: IF_EX_MMIV_ASI_FIELD_EXTEND~ENRICH_HEADER |
To return additional data for the History tab in the detail view of a selected workflow item, the following extensibility entities are available on the different software layers. You have to extend each of these entities according to your specific business needs:
UI |
Back End/ABAP |
|||
---|---|---|---|---|
View |
Extension Point |
Design Time: Gateway Entity |
Design Time: Extension Include (in DDIC Structure) |
Runtime: Superclass/ Method to Be Redefined |
S3.view.xml |
CustomerExtensionForHistoryTableColumns |
HistoricalInvoice |
MMIV_ASI_S_HISTORICAL_INV_INCL |
Superclass: MMIV_ASI_FIELD_EXTEND Method: IF_EX_MMIV_ASI_FIELD_EXTEND~ENRICH_HISTORY |
S3.view.xml |
CustomerExtensionForHistoryTableCells |
HistoricalInvoice |
MMIV_ASI_S_HISTORICAL_INV_INCL |
Superclass: MMIV_ASI_FIELD_EXTEND Method: IF_EX_MMIV_ASI_FIELD_EXTEND~ENRICH_HISTORY |
To add new tabs, the following extensibility entities are available on the different software layers. You have to extend each of these entities according to your specific business needs:
UI |
Back End/ABAP |
|||
---|---|---|---|---|
View |
Extension Point |
Design Time: Gateway Entity |
Design Time: Extension Include (in DDIC Structure) |
Runtime: Superclass/ Method to Be Redefined |
S3.view.xml |
CustomerExtensionForAdditionalTab |
Depends on your requirements. |
For example:ItemData |
Superclass: Depends on your requirements. Method: Depends on your requirements. |
Business Add-Ins (BAdIs)
The following BAdIs are available for extensibility purposes:
MMIV_ASI_FIELD_EXTEND
You can use this BAdI to add your own fields in the Approve Supplier Invoices app. By using the BAdI methods, you can return your own data from the back-end system to the front-end system.
MMIV_ASI_WORKFLOW
You can use this BAdI to implement your own workflow for the Approve Supplier Invoices app:
By using the BAdI method DETERMINE_TASKS you determine your own workflow tasks. You must enter the task IDs in the Customizing activity Specify Workflow Task IDs.
To copy a workflow template or a standard task, choose PFTC_COP).
(transactionTo change a workflow, choose SWDD).
(transactionBy using the BAdI method EXECUTE_DECISION you implement your own processing logic for a work item.
ODATA_BUSCARD
You can use this BAdI to adapt the business card in the Approve Supplier Invoices app. For example, you can add the URL address of a photo.
The above described BAdIs are available in Customizing for Materials Management under .
Extension Points
In addition to the extension points described above, for example, the following extension points are available:
View |
Extension Point |
Use |
---|---|---|
S2.view.xml |
CustomerExtensionForObjectListItem |
Allows you to extend items in the workflow item list. |
S3.view.xml |
CustomerExtensionForObjectHeader |
Allows you to extend the header area of the detail view. |
S3.view.xml |
CustomerExtensionForInfoTabForm |
Allows you to extend the Info tab inside the existing form. |
S3.view.xml |
CustomerExtensionForInfoTab |
Allows you to extend the Info tab outside the existing form. |
S3.view.xml |
CustomerExtensionForHistoryTableColumns |
Allows you to extend the table columns on the History tab. |
S3.view.xml |
CustomerExtensionForHistoryTableCells |
Allows you to extend the table rows on the History tab. |
S3.view.xml |
CustomerExtensionForAdditionalTab |
Allows you to extend the icon tab bar. You can add new tabs. |
If there are additional fields available in the OData service, you can display these fields on the UI. For more information, see the extensibility documentation for the respective SAP NetWeaver release on your front-end server at http://help.sap.com/fiori_implementation .
UI Controller Hooks
To plug in and execute custom code, for example, the following hooks are available in the controller code:
Controller |
Hook |
Use |
---|---|---|
s3.controller.js |
extHookGetEntitySetsToExpand |
With this controller method you can add custom related entities to expand the list of the detail data request. The controller method is called when the detail view is displayed and before getting the detail data. |
s3.controller.js |
extHookOnDataLoaded |
With this controller method you can provide a custom logic after receiving the invoice detail data. |
If there are additional UI controller hooks available in the controller code, you can add own code. For more information, see the extensibility documentation for the respective SAP NetWeaver release on your front-end server at http://help.sap.com/fiori_implementation .
Display of UI Controls
As an example, the following UI controls can be hidden on the app UI:
View |
Control ID |
Use |
---|---|---|
S3.view.xml |
idTabHistory |
Alllows you to hide the History tab. |
S3.view.xml |
idDetailNoteTab |
Alllows you to hide the Note tab. |
S3.view.xml |
idDetailAtt1 |
Alllows you to hide the description. |
S3.view.xml |
idDetailAtt2 |
Alllows you to hide the buyer. |
S3.view.xml |
idDetailAtt3 |
Alllows you to hide the invoice clerk. |
For more information about hiding UI controls, see the extensibility documentation for the respective SAP NetWeaver release on your front-end server at http://help.sap.com/fiori_implementation .
For a general description of the extensibility options and procedures of SAP Fiori apps, see http://help.sap.com/fiori_implementation .