SAP BAPI_JOA_CREATE Function Module for Create joint operating agreement
BAPI_JOA_CREATE is a standard bapi joa create SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Create joint operating agreement processing and below is the pattern details for this FM, 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 bapi joa create FM, simply by entering the name BAPI_JOA_CREATE into the relevant SAP transaction such as SE37 or SE38.
Function Group: GJV_JOA
Program Name: SAPLGJV_JOA
Main Program: SAPLGJV_JOA
Appliation area: F
Release date: N/A
Mode(Normal, Remote etc): Remote-Enabled
Update:

Function BAPI_JOA_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 'BAPI_JOA_CREATE'"Create joint operating agreement.
EXPORTING
JOAKEY = "Joint Operating Agreement instance specification
* TESTRUN = "Testrun for error precheck - No update
JOACLASS = "JOA class
JOADESCRIPTION = "Short Description of JOA
* JOAREFERENCE = "Reference JOA as template
* JOAREFERENCEX = "Recognition flag for Reference JOA field
* JOACONTRACT = "Contract
* JOACONTRACTX = "Update flag for contract field
* JOACOSTCALCULATION = "Costcalculation data
* JOACOSTCALCULATIONX = "Update flag structure for costcalculation data
IMPORTING
COMPANYCODEID = "Company code (Key field of instance)
JOA = "Joint Operating Agreement (Key field of instance
TABLES
* JOAEQGFULL = "JOA equity group data
* JOAPROJECTPARAMETERX = "Update flag structure for Project parameters
* JOAPARENTOVERHEAD = "Parent overhead data
* JOAPARENTOVERHEADX = "Update flag structure for Parent overhead fields
* JOADRILLRATIO = "Drilling statistical ratio assignments
* JOADRILLRATIOX = "Update flag structure for Drilling ratio fields
* JOAPRODRATIO = "Production statistical ratio assignments
* JOAPRODRATIOX = "Update flag structure for Prod. ratio fields
* JOAPRODRATIOTHRSH = "Production ratio threshold
* JOAPRODRATIOTHRSHX = "Update flag structure for Prod. threshold fields
RETURN = "Return messages
* JOAEQGFULLX = "Update flag structure for equity group fields
* JOAEQGPARTNERFULL = "JOA equity group partner data
* JOAEQGPARTNERFULLX = "Update flag structure for eqg partner fields
* JOABURDENRATE = "JOA burden rate data
* JOABURDENRATEX = "Update flag structure for burden rate fields
* JOAPENALTY = "JOA Penalty categories
* JOAPENALTYX = "Update flag structure for Penalty categ. fields
* JOAPROJECTPARAMETER = "JOA Project parameters
IMPORTING Parameters details for BAPI_JOA_CREATE
JOAKEY - Joint Operating Agreement instance specification
Data type: BAPIJOAKEYOptional: No
Call by Reference: No ( called with pass by value option)
TESTRUN - Testrun for error precheck - No update
Data type: BAPIUPDATEFLAG-UPDATEFLAGOptional: Yes
Call by Reference: No ( called with pass by value option)
JOACLASS - JOA class
Data type: BAPIJOA-CLASSOptional: No
Call by Reference: No ( called with pass by value option)
JOADESCRIPTION - Short Description of JOA
Data type: BAPIJOA-JOATEXTOptional: No
Call by Reference: No ( called with pass by value option)
JOAREFERENCE - Reference JOA as template
Data type: BAPIJOA-REFJOAOptional: Yes
Call by Reference: No ( called with pass by value option)
JOAREFERENCEX - Recognition flag for Reference JOA field
Data type: BAPIUPDATEFLAG-UPDATEFLAGOptional: Yes
Call by Reference: No ( called with pass by value option)
JOACONTRACT - Contract
Data type: BAPIJOA-CONTRACTOptional: Yes
Call by Reference: No ( called with pass by value option)
JOACONTRACTX - Update flag for contract field
Data type: BAPIUPDATEFLAG-UPDATEFLAGOptional: Yes
Call by Reference: No ( called with pass by value option)
JOACOSTCALCULATION - Costcalculation data
Data type: BAPIJOACOSTCALCULATIONOptional: Yes
Call by Reference: No ( called with pass by value option)
JOACOSTCALCULATIONX - Update flag structure for costcalculation data
Data type: BAPIJOACOSTCALCULATIONXOptional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for BAPI_JOA_CREATE
COMPANYCODEID - Company code (Key field of instance)
Data type: BAPIJOAKEY-COMP_CODEOptional: No
Call by Reference: No ( called with pass by value option)
JOA - Joint Operating Agreement (Key field of instance
Data type: BAPIJOAKEY-JOAOptional: No
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for BAPI_JOA_CREATE
JOAEQGFULL - JOA equity group data
Data type: BAPIJOAEQGFULLOptional: Yes
Call by Reference: No ( called with pass by value option)
JOAPROJECTPARAMETERX - Update flag structure for Project parameters
Data type: BAPIJOAPROJECTPARAMETERXOptional: Yes
Call by Reference: No ( called with pass by value option)
JOAPARENTOVERHEAD - Parent overhead data
Data type: BAPIJOAPARCOMPOVERHEADOptional: Yes
Call by Reference: No ( called with pass by value option)
JOAPARENTOVERHEADX - Update flag structure for Parent overhead fields
Data type: BAPIJOAPARCOMPOVERHEADXOptional: Yes
Call by Reference: No ( called with pass by value option)
JOADRILLRATIO - Drilling statistical ratio assignments
Data type: BAPIJOADRILLSTATRATIOOptional: Yes
Call by Reference: No ( called with pass by value option)
JOADRILLRATIOX - Update flag structure for Drilling ratio fields
Data type: BAPIJOADRILLSTATRATIOXOptional: Yes
Call by Reference: No ( called with pass by value option)
JOAPRODRATIO - Production statistical ratio assignments
Data type: BAPIJOAPRODSTATRATIOOptional: Yes
Call by Reference: No ( called with pass by value option)
JOAPRODRATIOX - Update flag structure for Prod. ratio fields
Data type: BAPIJOAPRODSTATRATIOXOptional: Yes
Call by Reference: No ( called with pass by value option)
JOAPRODRATIOTHRSH - Production ratio threshold
Data type: BAPIJOAPRODSTATRATIOTHRSHOptional: Yes
Call by Reference: No ( called with pass by value option)
JOAPRODRATIOTHRSHX - Update flag structure for Prod. threshold fields
Data type: BAPIJOAPRODSTATRATIOTHRSHXOptional: Yes
Call by Reference: No ( called with pass by value option)
RETURN - Return messages
Data type: BAPIRET2Optional: No
Call by Reference: No ( called with pass by value option)
JOAEQGFULLX - Update flag structure for equity group fields
Data type: BAPIJOAEQGFULLXOptional: Yes
Call by Reference: No ( called with pass by value option)
JOAEQGPARTNERFULL - JOA equity group partner data
Data type: BAPIJOAEQGPARTNERFULLOptional: Yes
Call by Reference: No ( called with pass by value option)
JOAEQGPARTNERFULLX - Update flag structure for eqg partner fields
Data type: BAPIJOAEQGPARTNERFULLXOptional: Yes
Call by Reference: No ( called with pass by value option)
JOABURDENRATE - JOA burden rate data
Data type: BAPIJOABURDENRATEOptional: Yes
Call by Reference: No ( called with pass by value option)
JOABURDENRATEX - Update flag structure for burden rate fields
Data type: BAPIJOABURDENRATEXOptional: Yes
Call by Reference: No ( called with pass by value option)
JOAPENALTY - JOA Penalty categories
Data type: BAPIJOAPENALTYOptional: Yes
Call by Reference: No ( called with pass by value option)
JOAPENALTYX - Update flag structure for Penalty categ. fields
Data type: BAPIJOAPENALTYXOptional: Yes
Call by Reference: No ( called with pass by value option)
JOAPROJECTPARAMETER - JOA Project parameters
Data type: BAPIJOAPROJECTPARAMETEROptional: Yes
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for BAPI_JOA_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_joakey | TYPE BAPIJOAKEY, " | |||
| lt_joaeqgfull | TYPE STANDARD TABLE OF BAPIJOAEQGFULL, " | |||
| lv_companycodeid | TYPE BAPIJOAKEY-COMP_CODE, " | |||
| lv_testrun | TYPE BAPIUPDATEFLAG-UPDATEFLAG, " | |||
| lt_joaprojectparameterx | TYPE STANDARD TABLE OF BAPIJOAPROJECTPARAMETERX, " | |||
| lt_joaparentoverhead | TYPE STANDARD TABLE OF BAPIJOAPARCOMPOVERHEAD, " | |||
| lt_joaparentoverheadx | TYPE STANDARD TABLE OF BAPIJOAPARCOMPOVERHEADX, " | |||
| lt_joadrillratio | TYPE STANDARD TABLE OF BAPIJOADRILLSTATRATIO, " | |||
| lt_joadrillratiox | TYPE STANDARD TABLE OF BAPIJOADRILLSTATRATIOX, " | |||
| lt_joaprodratio | TYPE STANDARD TABLE OF BAPIJOAPRODSTATRATIO, " | |||
| lt_joaprodratiox | TYPE STANDARD TABLE OF BAPIJOAPRODSTATRATIOX, " | |||
| lt_joaprodratiothrsh | TYPE STANDARD TABLE OF BAPIJOAPRODSTATRATIOTHRSH, " | |||
| lt_joaprodratiothrshx | TYPE STANDARD TABLE OF BAPIJOAPRODSTATRATIOTHRSHX, " | |||
| lt_return | TYPE STANDARD TABLE OF BAPIRET2, " | |||
| lv_joa | TYPE BAPIJOAKEY-JOA, " | |||
| lv_joaclass | TYPE BAPIJOA-CLASS, " | |||
| lt_joaeqgfullx | TYPE STANDARD TABLE OF BAPIJOAEQGFULLX, " | |||
| lv_joadescription | TYPE BAPIJOA-JOATEXT, " | |||
| lt_joaeqgpartnerfull | TYPE STANDARD TABLE OF BAPIJOAEQGPARTNERFULL, " | |||
| lv_joareference | TYPE BAPIJOA-REFJOA, " | |||
| lt_joaeqgpartnerfullx | TYPE STANDARD TABLE OF BAPIJOAEQGPARTNERFULLX, " | |||
| lt_joaburdenrate | TYPE STANDARD TABLE OF BAPIJOABURDENRATE, " | |||
| lv_joareferencex | TYPE BAPIUPDATEFLAG-UPDATEFLAG, " | |||
| lv_joacontract | TYPE BAPIJOA-CONTRACT, " | |||
| lt_joaburdenratex | TYPE STANDARD TABLE OF BAPIJOABURDENRATEX, " | |||
| lt_joapenalty | TYPE STANDARD TABLE OF BAPIJOAPENALTY, " | |||
| lv_joacontractx | TYPE BAPIUPDATEFLAG-UPDATEFLAG, " | |||
| lt_joapenaltyx | TYPE STANDARD TABLE OF BAPIJOAPENALTYX, " | |||
| lv_joacostcalculation | TYPE BAPIJOACOSTCALCULATION, " | |||
| lv_joacostcalculationx | TYPE BAPIJOACOSTCALCULATIONX, " | |||
| lt_joaprojectparameter | TYPE STANDARD TABLE OF BAPIJOAPROJECTPARAMETER. " |
|   CALL FUNCTION 'BAPI_JOA_CREATE' "Create joint operating agreement |
| EXPORTING | ||
| JOAKEY | = lv_joakey | |
| TESTRUN | = lv_testrun | |
| JOACLASS | = lv_joaclass | |
| JOADESCRIPTION | = lv_joadescription | |
| JOAREFERENCE | = lv_joareference | |
| JOAREFERENCEX | = lv_joareferencex | |
| JOACONTRACT | = lv_joacontract | |
| JOACONTRACTX | = lv_joacontractx | |
| JOACOSTCALCULATION | = lv_joacostcalculation | |
| JOACOSTCALCULATIONX | = lv_joacostcalculationx | |
| IMPORTING | ||
| COMPANYCODEID | = lv_companycodeid | |
| JOA | = lv_joa | |
| TABLES | ||
| JOAEQGFULL | = lt_joaeqgfull | |
| JOAPROJECTPARAMETERX | = lt_joaprojectparameterx | |
| JOAPARENTOVERHEAD | = lt_joaparentoverhead | |
| JOAPARENTOVERHEADX | = lt_joaparentoverheadx | |
| JOADRILLRATIO | = lt_joadrillratio | |
| JOADRILLRATIOX | = lt_joadrillratiox | |
| JOAPRODRATIO | = lt_joaprodratio | |
| JOAPRODRATIOX | = lt_joaprodratiox | |
| JOAPRODRATIOTHRSH | = lt_joaprodratiothrsh | |
| JOAPRODRATIOTHRSHX | = lt_joaprodratiothrshx | |
| RETURN | = lt_return | |
| JOAEQGFULLX | = lt_joaeqgfullx | |
| JOAEQGPARTNERFULL | = lt_joaeqgpartnerfull | |
| JOAEQGPARTNERFULLX | = lt_joaeqgpartnerfullx | |
| JOABURDENRATE | = lt_joaburdenrate | |
| JOABURDENRATEX | = lt_joaburdenratex | |
| JOAPENALTY | = lt_joapenalty | |
| JOAPENALTYX | = lt_joapenaltyx | |
| JOAPROJECTPARAMETER | = lt_joaprojectparameter | |
| . " BAPI_JOA_CREATE | ||
ABAP code using 7.40 inline data declarations to call FM BAPI_JOA_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.| "SELECT single COMP_CODE FROM BAPIJOAKEY INTO @DATA(ld_companycodeid). | ||||
| "SELECT single UPDATEFLAG FROM BAPIUPDATEFLAG INTO @DATA(ld_testrun). | ||||
| "SELECT single JOA FROM BAPIJOAKEY INTO @DATA(ld_joa). | ||||
| "SELECT single CLASS FROM BAPIJOA INTO @DATA(ld_joaclass). | ||||
| "SELECT single JOATEXT FROM BAPIJOA INTO @DATA(ld_joadescription). | ||||
| "SELECT single REFJOA FROM BAPIJOA INTO @DATA(ld_joareference). | ||||
| "SELECT single UPDATEFLAG FROM BAPIUPDATEFLAG INTO @DATA(ld_joareferencex). | ||||
| "SELECT single CONTRACT FROM BAPIJOA INTO @DATA(ld_joacontract). | ||||
| "SELECT single UPDATEFLAG FROM BAPIUPDATEFLAG INTO @DATA(ld_joacontractx). | ||||
Search for further information about these or an SAP related objects