SAP ISH_INVOICE_CREATE Function Module for
ISH_INVOICE_CREATE is a standard ish invoice create SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used to perform a specific ABAP function and below is the pattern details, showing its interface including any import and export parameters, exceptions etc. there is also a full "cut and paste" ABAP pattern code example, along with implementation ABAP coding, documentation and contribution comments specific to this or related objects.
See here to view full function module documentation and code listing for ish invoice create FM, simply by entering the name ISH_INVOICE_CREATE into the relevant SAP transaction such as SE37 or SE38.
Function Group: N60A
Program Name: SAPLN60A
Main Program: SAPLN60A
Appliation area: N
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function ISH_INVOICE_CREATE pattern details
In-order to call this FM within your sap programs, simply using the below ABAP pattern details to trigger the function call...or see the full ABAP code listing at the end of this article. You can simply cut and paste this code into your ABAP progrom as it is, including variable declarations.CALL FUNCTION 'ISH_INVOICE_CREATE'".
EXPORTING
* APPLI_I = ' ' "Application (N: IS-H, V: RV)
* SELECT_DATE = '00000000' "
* I_NO_VBLOG = ' ' "
* I_ANALYZE_MODE = ' ' "
* ID_UTASY = ' ' "
* ID_UTSWL = ' ' "
* ID_UTSNL = ' ' "
* ID_NO_ENQUEUE = ' ' "
* BUILD_XNVBRK_XNVBRP = ' ' "
* INVOICE_PER_VISIT = ' ' "
* ID_NEW_CANCELLATION = ' ' "
* DELIVERY_DATE = '00000000' "Delivery date
* FKOMK = "
* I_VBRK_CANCEL = "
* GI_BUDAT = "Posting Date in the Document
* GI_BLDAT = "IS-H: Document Date of Financial Accounting Document
* I_STOID = "IS-H: Reason for Canceling Billing Document
* IS_RNAB0 = "IS-H: Field String Case Billing: Single Transaction
* ID_EXT_CANCELLATION = ' ' "
* INVOICE_DATE = '00000000' "Invoice date
* INVOICE_TYPE = ' ' "Invoice type
* NO_FINANCE_POSTING = ' ' "Posting block for FI posting overrides TVFK
* PRICING_DATE = '00000000' "Price Determination Date
* VALUTA_DATE = '00000000' "
VBSK_I = "Billing doc.: collect.proc. header data
* WITH_POSTING = ' ' "Post
IMPORTING
VBSK_E = "Billing doc.: collect.proc. header data
TABLES
XKOMFK = "Billing document communication table
XVBSS = "
* XNVBRK = "
* XNVBRP = "
* XNVKONV = "
* I_VBRP_CANCEL = "
* XBADIMSG = "
XKOMV = "Pricing: communication record
XNBRP = "IS-H interface table
XNKOMV = "IS-H: pricing commmunication interface table
XTHEAD = "N
XVBFS = "
XVBPA = "SD document: partner functions
XVBRK = "
XVBRP = "
IMPORTING Parameters details for ISH_INVOICE_CREATE
APPLI_I - Application (N: IS-H, V: RV)
Data type:Default: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
SELECT_DATE -
Data type: VBRK-FKDATDefault: '00000000'
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_NO_VBLOG -
Data type:Default: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_ANALYZE_MODE -
Data type:Default: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
ID_UTASY -
Data type:Default: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
ID_UTSWL -
Data type:Default: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
ID_UTSNL -
Data type:Default: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
ID_NO_ENQUEUE -
Data type:Default: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
BUILD_XNVBRK_XNVBRP -
Data type: NPDOK-XFELDDefault: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
INVOICE_PER_VISIT -
Data type: NPDOK-XFELDDefault: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
ID_NEW_CANCELLATION -
Data type:Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
DELIVERY_DATE - Delivery date
Data type: VBRP-FBUDADefault: '00000000'
Optional: Yes
Call by Reference: No ( called with pass by value option)
FKOMK -
Data type: RNFK1Optional: Yes
Call by Reference: Yes
I_VBRK_CANCEL -
Data type: VBRKOptional: Yes
Call by Reference: Yes
GI_BUDAT - Posting Date in the Document
Data type: ISH_BUDATOptional: Yes
Call by Reference: Yes
GI_BLDAT - IS-H: Document Date of Financial Accounting Document
Data type: BLDAT_ISHOptional: Yes
Call by Reference: Yes
I_STOID - IS-H: Reason for Canceling Billing Document
Data type: ISH_FAKSTOIDOptional: Yes
Call by Reference: Yes
IS_RNAB0 - IS-H: Field String Case Billing: Single Transaction
Data type: RNAB0Optional: Yes
Call by Reference: No ( called with pass by value option)
ID_EXT_CANCELLATION -
Data type:Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
INVOICE_DATE - Invoice date
Data type: VBRK-FKDATDefault: '00000000'
Optional: Yes
Call by Reference: No ( called with pass by value option)
INVOICE_TYPE - Invoice type
Data type: VBRK-FKARTDefault: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
NO_FINANCE_POSTING - Posting block for FI posting overrides TVFK
Data type:Default: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
PRICING_DATE - Price Determination Date
Data type: VBRP-PRSDTDefault: '00000000'
Optional: Yes
Call by Reference: No ( called with pass by value option)
VALUTA_DATE -
Data type: VBRK-VALDTDefault: '00000000'
Optional: Yes
Call by Reference: No ( called with pass by value option)
VBSK_I - Billing doc.: collect.proc. header data
Data type: VBSKOptional: No
Call by Reference: No ( called with pass by value option)
WITH_POSTING - Post
Data type:Default: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for ISH_INVOICE_CREATE
VBSK_E - Billing doc.: collect.proc. header data
Data type: VBSKOptional: No
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for ISH_INVOICE_CREATE
XKOMFK - Billing document communication table
Data type: KOMFKOptional: No
Call by Reference: No ( called with pass by value option)
XVBSS -
Data type: VBSSOptional: No
Call by Reference: No ( called with pass by value option)
XNVBRK -
Data type: VNVBRKOptional: Yes
Call by Reference: No ( called with pass by value option)
XNVBRP -
Data type: VNVBRPOptional: Yes
Call by Reference: No ( called with pass by value option)
XNVKONV -
Data type: VNVKONVOptional: Yes
Call by Reference: No ( called with pass by value option)
I_VBRP_CANCEL -
Data type: VBRPOptional: Yes
Call by Reference: Yes
XBADIMSG -
Data type: BAPIRET2Optional: Yes
Call by Reference: Yes
XKOMV - Pricing: communication record
Data type: KOMVOptional: No
Call by Reference: No ( called with pass by value option)
XNBRP - IS-H interface table
Data type: RNFP1Optional: No
Call by Reference: No ( called with pass by value option)
XNKOMV - IS-H: pricing commmunication interface table
Data type: KOMVOptional: No
Call by Reference: No ( called with pass by value option)
XTHEAD - N
Data type: THEADVBOptional: No
Call by Reference: No ( called with pass by value option)
XVBFS -
Data type: VBFSOptional: No
Call by Reference: No ( called with pass by value option)
XVBPA - SD document: partner functions
Data type: VBPAVBOptional: No
Call by Reference: No ( called with pass by value option)
XVBRK -
Data type: VBRKVBOptional: No
Call by Reference: No ( called with pass by value option)
XVBRP -
Data type: VBRPVBOptional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for ISH_INVOICE_CREATE Function Module
The ABAP code below is a full code listing to execute function module POPUP_TO_CONFIRM including all data declarations. The code uses the original data declarations rather than the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the newer method of declaring data variables on the fly. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8), which i why i have stuck to the origianl for this example.| DATA: | ||||
| lv_vbsk_e | TYPE VBSK, " | |||
| lt_xkomfk | TYPE STANDARD TABLE OF KOMFK, " | |||
| lv_appli_i | TYPE KOMFK, " ' ' | |||
| lt_xvbss | TYPE STANDARD TABLE OF VBSS, " | |||
| lv_select_date | TYPE VBRK-FKDAT, " '00000000' | |||
| lt_xnvbrk | TYPE STANDARD TABLE OF VNVBRK, " | |||
| lv_i_no_vblog | TYPE VNVBRK, " ' ' | |||
| lt_xnvbrp | TYPE STANDARD TABLE OF VNVBRP, " | |||
| lv_i_analyze_mode | TYPE VNVBRP, " ' ' | |||
| lt_xnvkonv | TYPE STANDARD TABLE OF VNVKONV, " | |||
| lv_id_utasy | TYPE VNVKONV, " ' ' | |||
| lv_id_utswl | TYPE VNVKONV, " ' ' | |||
| lt_i_vbrp_cancel | TYPE STANDARD TABLE OF VBRP, " | |||
| lv_id_utsnl | TYPE VBRP, " ' ' | |||
| lt_xbadimsg | TYPE STANDARD TABLE OF BAPIRET2, " | |||
| lv_id_no_enqueue | TYPE BAPIRET2, " ' ' | |||
| lv_build_xnvbrk_xnvbrp | TYPE NPDOK-XFELD, " ' ' | |||
| lv_invoice_per_visit | TYPE NPDOK-XFELD, " ' ' | |||
| lv_id_new_cancellation | TYPE NPDOK, " SPACE | |||
| lt_xkomv | TYPE STANDARD TABLE OF KOMV, " | |||
| lv_delivery_date | TYPE VBRP-FBUDA, " '00000000' | |||
| lv_fkomk | TYPE RNFK1, " | |||
| lv_i_vbrk_cancel | TYPE VBRK, " | |||
| lv_gi_budat | TYPE ISH_BUDAT, " | |||
| lv_gi_bldat | TYPE BLDAT_ISH, " | |||
| lv_i_stoid | TYPE ISH_FAKSTOID, " | |||
| lv_is_rnab0 | TYPE RNAB0, " | |||
| lv_id_ext_cancellation | TYPE RNAB0, " SPACE | |||
| lt_xnbrp | TYPE STANDARD TABLE OF RNFP1, " | |||
| lv_invoice_date | TYPE VBRK-FKDAT, " '00000000' | |||
| lt_xnkomv | TYPE STANDARD TABLE OF KOMV, " | |||
| lv_invoice_type | TYPE VBRK-FKART, " ' ' | |||
| lt_xthead | TYPE STANDARD TABLE OF THEADVB, " | |||
| lv_no_finance_posting | TYPE THEADVB, " ' ' | |||
| lt_xvbfs | TYPE STANDARD TABLE OF VBFS, " | |||
| lv_pricing_date | TYPE VBRP-PRSDT, " '00000000' | |||
| lt_xvbpa | TYPE STANDARD TABLE OF VBPAVB, " | |||
| lv_valuta_date | TYPE VBRK-VALDT, " '00000000' | |||
| lt_xvbrk | TYPE STANDARD TABLE OF VBRKVB, " | |||
| lv_vbsk_i | TYPE VBSK, " | |||
| lt_xvbrp | TYPE STANDARD TABLE OF VBRPVB, " | |||
| lv_with_posting | TYPE VBRPVB. " ' ' |
|   CALL FUNCTION 'ISH_INVOICE_CREATE' " |
| EXPORTING | ||
| APPLI_I | = lv_appli_i | |
| SELECT_DATE | = lv_select_date | |
| I_NO_VBLOG | = lv_i_no_vblog | |
| I_ANALYZE_MODE | = lv_i_analyze_mode | |
| ID_UTASY | = lv_id_utasy | |
| ID_UTSWL | = lv_id_utswl | |
| ID_UTSNL | = lv_id_utsnl | |
| ID_NO_ENQUEUE | = lv_id_no_enqueue | |
| BUILD_XNVBRK_XNVBRP | = lv_build_xnvbrk_xnvbrp | |
| INVOICE_PER_VISIT | = lv_invoice_per_visit | |
| ID_NEW_CANCELLATION | = lv_id_new_cancellation | |
| DELIVERY_DATE | = lv_delivery_date | |
| FKOMK | = lv_fkomk | |
| I_VBRK_CANCEL | = lv_i_vbrk_cancel | |
| GI_BUDAT | = lv_gi_budat | |
| GI_BLDAT | = lv_gi_bldat | |
| I_STOID | = lv_i_stoid | |
| IS_RNAB0 | = lv_is_rnab0 | |
| ID_EXT_CANCELLATION | = lv_id_ext_cancellation | |
| INVOICE_DATE | = lv_invoice_date | |
| INVOICE_TYPE | = lv_invoice_type | |
| NO_FINANCE_POSTING | = lv_no_finance_posting | |
| PRICING_DATE | = lv_pricing_date | |
| VALUTA_DATE | = lv_valuta_date | |
| VBSK_I | = lv_vbsk_i | |
| WITH_POSTING | = lv_with_posting | |
| IMPORTING | ||
| VBSK_E | = lv_vbsk_e | |
| TABLES | ||
| XKOMFK | = lt_xkomfk | |
| XVBSS | = lt_xvbss | |
| XNVBRK | = lt_xnvbrk | |
| XNVBRP | = lt_xnvbrp | |
| XNVKONV | = lt_xnvkonv | |
| I_VBRP_CANCEL | = lt_i_vbrp_cancel | |
| XBADIMSG | = lt_xbadimsg | |
| XKOMV | = lt_xkomv | |
| XNBRP | = lt_xnbrp | |
| XNKOMV | = lt_xnkomv | |
| XTHEAD | = lt_xthead | |
| XVBFS | = lt_xvbfs | |
| XVBPA | = lt_xvbpa | |
| XVBRK | = lt_xvbrk | |
| XVBRP | = lt_xvbrp | |
| . " ISH_INVOICE_CREATE | ||
ABAP code using 7.40 inline data declarations to call FM ISH_INVOICE_CREATE
The below ABAP code uses the newer in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. Please note some of the newer syntax below, such as the @DATA is not available until 4.70 EHP 8.| DATA(ld_appli_i) | = ' '. | |||
| "SELECT single FKDAT FROM VBRK INTO @DATA(ld_select_date). | ||||
| DATA(ld_select_date) | = '00000000'. | |||
| DATA(ld_i_no_vblog) | = ' '. | |||
| DATA(ld_i_analyze_mode) | = ' '. | |||
| DATA(ld_id_utasy) | = ' '. | |||
| DATA(ld_id_utswl) | = ' '. | |||
| DATA(ld_id_utsnl) | = ' '. | |||
| DATA(ld_id_no_enqueue) | = ' '. | |||
| "SELECT single XFELD FROM NPDOK INTO @DATA(ld_build_xnvbrk_xnvbrp). | ||||
| DATA(ld_build_xnvbrk_xnvbrp) | = ' '. | |||
| "SELECT single XFELD FROM NPDOK INTO @DATA(ld_invoice_per_visit). | ||||
| DATA(ld_invoice_per_visit) | = ' '. | |||
| DATA(ld_id_new_cancellation) | = ' '. | |||
| "SELECT single FBUDA FROM VBRP INTO @DATA(ld_delivery_date). | ||||
| DATA(ld_delivery_date) | = '00000000'. | |||
| DATA(ld_id_ext_cancellation) | = ' '. | |||
| "SELECT single FKDAT FROM VBRK INTO @DATA(ld_invoice_date). | ||||
| DATA(ld_invoice_date) | = '00000000'. | |||
| "SELECT single FKART FROM VBRK INTO @DATA(ld_invoice_type). | ||||
| DATA(ld_invoice_type) | = ' '. | |||
| DATA(ld_no_finance_posting) | = ' '. | |||
| "SELECT single PRSDT FROM VBRP INTO @DATA(ld_pricing_date). | ||||
| DATA(ld_pricing_date) | = '00000000'. | |||
| "SELECT single VALDT FROM VBRK INTO @DATA(ld_valuta_date). | ||||
| DATA(ld_valuta_date) | = '00000000'. | |||
| DATA(ld_with_posting) | = ' '. | |||
Search for further information about these or an SAP related objects