Hi All,
I am calling BAPI to create routing as shown below and passing the following data. The routing is getting created without any errors, but operations are not getting created. Can someone please suggest how this can be fixed. The same data when passed from SE37, operations are getting created.
P.S: I have already tried leading 0's in sequence, group counter, activity.
CALL FUNCTION 'BAPI_ROUTING_CREATE'
EXPORTING
testrun = lv_testrun
* profile = 'PI01'
bomusage = '1'
application = 'PP01'
IMPORTING
group = lv_group
groupcounter = lv_groupcounter
TABLES
task = lt_tsk
materialtaskallocation = lt_mtk
sequence = lt_seq
operation = lt_opr
suboperation = lt_sbo
referenceoperation = lt_rfo
workcenterreference = lt_wcr
componentallocation = lt_com
productionresource = lt_prt
inspcharacteristic = lt_cha
textallocation = lt_txt
* text = text[]
return = lt_return[]
EXCEPTIONS
error_message = 1
OTHERS = 2.
LOOP AT lt_return WHERE type CA 'EAX'. ENDLOOP.
IF sy-subrc IS INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'.
ENDIF.
| BAPI Field | TASK_LIST_GROUP | GROUP_COUNTER | CHANGE_NO | VALID_FROM | CHANGE_NO_TO | VALID_TO_DATE | DEL_IND | TASK_LIST_USAGE | PLANT | TASK_LIST_STATUS | TASK_MEASURE_UNIT | TASK_MEASURE_UNIT_ISO | LOT_SIZE_FROM | LOT_SIZE_TO | RESP_PLANNER_GROUP | DESCRIPTION | OLD_NUMBER_OF_TASK_LIST | RECALC_STD_VALUES | DYN_MODIF_LEVEL | DYN_MODIF_RULE | DYN_MODIF_BY_VENDOR | DYN_MODIF_BY_MANUFACT | DYN_MODIF_BY_CUSTOMR | SAMPLE_DRAWING_PROCEDURE | IND_UNITS_EXT_NUMBERING | IDENT_KEY | INSPPOINT_PARTIALLOT_ASSGNMT | CHANGE_RULE | OBJECT_CHANGE_TYPE | PLANNING_WORK_CENTER |
| 50000061 | 1 | 20260113 | 99991231 | 1 | PE01 | 4 | KG | 1 | 999999999 | SFG005 TEST |
|
| MATERIAL | PLANT | TASK_LIST_GROUP | GROUP_COUNTER | CHANGE_NO | VALID_FROM | CHANGE_NO_TO | VALID_TO_DATE | DEL_IND | DOC_NUMBER | ITM_NUMBER | WORK_BREAKDOWN_STRUCT_ELEMENT | MATERIAL_EXTERNAL | MATERIAL_GUID | MATERIAL_VERSION |
| SFG05 | PE01 | 50000061 | 1 | 20260113 | 99991231 | 0 | SFG05 |
|
| TASK_LIST_GROUP | GROUP_COUNTER | SEQUENCE_NO | CHANGE_NO | VALID_FROM | CHANGE_NO_TO | VALID_TO_DATE | DEL_IND | ACTIVITY | OPERATION_ID | CONTROL_KEY | OBJ_ID | OBJECT_TYPE_CIM_RESOURCE | WORK_CNTR | PLANT | STANDARD_TEXT_KEY | DESCRIPTION | OPERATION_MEASURE_UNIT | OPERATION_MEASURE_UNIT_ISO | DENOMINATOR | NOMINATOR | BASE_QUANTITY | BREAK_TIME | BREAK_UNIT | BREAK_UNIT_ISO | ACTTYPE_01 | STD_UNIT_01 | STD_UNIT_01_ISO | STD_VALUE_01 | ACTTYPE_02 | STD_UNIT_02 | STD_UNIT_02_ISO | STD_VALUE_02 | ACTTYPE_03 | STD_UNIT_03 | STD_UNIT_03_ISO | STD_VALUE_03 | ACTTYPE_04 | STD_UNIT_04 | STD_UNIT_04_ISO | STD_VALUE_04 | ACTTYPE_05 | STD_UNIT_05 | STD_UNIT_05_ISO | STD_VALUE_05 | ACTTYPE_06 | STD_UNIT_06 | STD_UNIT_06_ISO | STD_VALUE_06 | STD_VALUE_CALCULATION_TYPE | STD_VALUE_YEAR_OF_CALCULATION | STD_VALUE_CODE_REFERENCE_NO | STD_VALUE_CALCULATION_BASIS | NO_OF_CONFIRMATION_SLIPS | NO_OF_TIME_TICKETS | WAGETYPE | SUITABILITY | NO_OF_EMPLOYEE | SETUP_GROUP_CATEGORY | SETUP_GROUP_KEY | SETUP_TYPE_KEY | SCRAP_FACTOR | WAGEGROUP | REQUIRED_OVERLAPPING | OPTIONAL_OVERLAPPING | IND_CONT_FLOW_PRODUCTION | MIN_OVERLAP_TIME_UNIT | MIN_OVERLAP_TIME_UNIT_ISO | MIN_OVERLAP_TIME | MIN_SEND_AHEAD_QTY | IND_SPLITTING_REQRD | MAX_NO_OF_SPLITS | MIN_PROCESSING_TIME_UNIT | MIN_PROCESSING_TIME_UNIT_ISO | MIN_PROCESSING_TIME | MAX_WAIT_TIME_UNIT | MAX_WAIT_TIME_UNIT_ISO | MAX_WAIT_TIME | REQUIRED_WAIT_TIME_UNIT | REQUIRED_WAIT_TIME_UNIT_ISO | REQUIRED_WAIT_TIME | STANDARD_QUEUE_TIME_UNIT | STANDARD_QUEUE_TIME_UNIT_ISO | STANDARD_QUEUE_TIME | MIN_QUEUE_TIME_UNIT | MIN_QUEUE_TIME_UNIT_ISO | MIN_QUEUE_TIME | STANDARD_MOVE_TIME_UNIT | STANDARD_MOVE_TIME_UNIT_ISO | STANDARD_MOVE_TIME | MIN_MOVE_TIME_UNIT | MIN_MOVE_TIME_UNIT_ISO | MIN_MOVE_TIME | TEARDOWN_AND_WAIT_IND | REDUCTION_STRATEGY | SORTED_BY | VENDOR_NO | PLND_DELRY | INFO_REC_NET_PRICE | PRICE_UNIT | COST_ELEM | CURRENCY | CURRENCY_ISO | INFO_REC | PURCH_ORG | PURCH_GROUP | FIXED_LOT_EXT_PROCESS_IND | MATL_GROUP | USERFIELDS_KEYWORD_ID | USERFIELD_CH20_00 | USERFIELD_CH20_01 | USERFIELD_CH10_02 | USERFIELD_CH10_03 | USERFIELD_QUAN_04 | USERFIELD_UNIT_04 | USERFIELD_UNIT_04_ISO | USERFIELD_QUAN_05 | USERFIELD_UNIT_05 | USERFIELD_UNIT_05_ISO | USERFIELD_CURR_06 | USERFIELD_CURRENCY_06 | USERFIELD_CURRENCY_06_ISO | USERFIELD_CURR_07 | USERFIELD_CURRENCY_07 | USERFIELD_CURRENCY_07_ISO | USERFIELD_DATE_08 | USERFIELD_DATE_09 | USERFIELD_FLAG_10 | USERFIELD_FLAG_11 | COST_RELEVANT | PO_NUMBER | PO_ITEM | CO_BUSPROC | CUMULATION_TYPE | SUB_ACT_NOT_IN_ORDER_IND | EXT_PROC_WITH_SUBCONTRACT_IND | INSPTYPE | RECORDING_VIEW | FREE_GRID | TIME_GRID | QUANT_GRID | QUANTONCE | TIME_UNIT | TIME_UNIT_ISO | TIME_FACTOR | QTY_BTW_TWO_INSPECTIONS | QUANT_UNIT | QUANT_UNIT_ISO | STOCK_RELATED_PARTIAL_LOT_ASSG | INSP_POINT_COMPLT_FLOW_VARIANT | GROUP_OPERATION |
| 50000061 | 1 | 0 | 20260113 | 99991231 | 10 | PP01 | FW_01 | PE01 | TEST RUN1 | KG | 1 | 1 | 5 | 10.000 | 51.000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 50000061 | 1 | 0 | 20260113 | 99991231 | 20 | PP01 | FW_01 | PE01 | TEST RUN22 | KG | 1 | 1 | 5 | 12.000 | 55.000 |
Request clarification before answering.
Hello,
Thank you very much for your question. I'm very sorry for the delay.
In this case, I asked an internal chatbot for support. Here's the response:
To resolve the issue where operations are not getting created when using the BAPI ‘BAPI_ROUTING_CREATE’, you should ensure that the data being passed is complete and correctly formatted. Here are a few steps to consider:
Check Mandatory Fields: Ensure that all mandatory fields for operations are filled correctly. This includes fields like ACTIVITY, OPERATION_ID, CONTROL_KEY, WORK_CNTR, and PLANT.
Sequence and Group Counter: Verify that the SEQUENCE_NO and GROUP_COUNTER are correctly formatted and match the expected format in the system. Leading zeros might be necessary depending on the system configuration.
Data Consistency: Ensure that the data in lt_opr (operations table) is consistent with the data in lt_tsk (task list table) and lt_seq (sequence table). The TASK_LIST_GROUP and GROUP_COUNTER should match across these tables.
Test in SE37: Since the data works in SE37, compare the data being passed in the BAPI call with the data used in SE37 to identify any discrepancies.
Check for Errors: After the BAPI call, check the lt_return table for any error messages that might indicate why the operations are not being created.
Transaction Commit: Ensure that the BAPI transaction is committed correctly using BAPI_TRANSACTION_COMMIT after the BAPI call.
I hope this helps.
Kind regards,
Henrike
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 4 | |
| 4 | |
| 4 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.