Error in Material Transactions
Hi,
I have found 4 items in the Material Transaction with the following messages, happened at RMA.
Sale Order - 1
Item1: CSTPACIN.COST_INV_TXN:Failure in procedure CST_RevenueCogsMatch_PVT.Process_RmaReceipt()
Sale Order - 2
Item1,2 & 3 : CSTPAVCP.COST_ACCT_EVENTS:(50):Failure in procedure CST_RevenueCogsMatch_PVT.Process_RmaReceipt():User-Defined Exception
Kindly help me to resolve the above issues.
Thanks & Regards
[email protected]
Hi,
Please look in to the following issue
RMA was created on 2/3/13 - 16:17 pm with item-1 with the SO reffence number, where the sale order was showing the date as 2/3/13- 16:34 pm.
But the item-1 is not available in the referenced sale order.
Example:
RAM No : 2
Date : 2/3/13
Time : 16:17 PM
Item : Item-1 reference So: 1
SO num: 1
Date : 2/3/13
Time : 16:34 Pm
Item : (Item-1 is not available in the saleorder)
Do needful
Thanks
Shruthi
Similar Messages
-
MTL MATERIAL TRANSACTION error 'CALL_TO_CONTRACTS'. Please help.
I am getting the following error from the MTL_TRANSACTIONS_INTERFACE table while running a material transaction.
You have encountered an unexpected error in 'CALL_TO_CONTRACTS': (No Data Found).
I know that there is an query not being properly fulfilled and it's giving me back this error.
Does anybody know the specific reason that this error happens?
I don't know how to track down where this query is. I'm trying to find the package that it is in.
Any help would be meet with much thanks.I get this error too when trying to display a content area with a single URL element (displaying the CA as a portlet).
When the URL is set to open in a NEW window no error.
But if I select the URL item to open inside the folder (CA) I get the error.
Pls let me know if you find a solution since I would like to have my CA shown ONLY as a portlet and not as a new window.... -
Material Transaction and Move Transaction Managers are Going Inactive
hi
it was running previously but currently it becomes inactive.can any one tell in which table to look for the error related to this problem?
Kind Regards
SayantanHi;
What is your OS and EBS?
It was working before? If yes what have you been changed on your system(patch etc)
Please check below note:
Material Transaction And Move Transaction Managers Are Going Inactive [ID 93507.1]
Material Transaction and Move Transaction Managers are Going Inactive [ID 98757.1]
Regard
Helios -
IB:How to update a serial Number which has Inventory Material Transactions?
Dear friends
first of all thanks for your time and valuable solutions
Install base: How to update a serial Number which has Inventory Material Transactions
problem description:
Install base > quick search
Here is Installbase record, when I query from quick search
Rec# Item Item Instance Serial Number Status
1 300-7000-01 3000000 1000XXX-0538JQ0003 Return for Adv Exchange
2 300-7000-01 8000000 1000XXX-0538JQ0003- Return for Adv Exchange
3 300-7000-01 5000000 1000XXX-0538JQ0003-A Return for Adv Exchange
looking above data, first and third records are the legitimate serial numbers(correct according to the client specs), second record is not legitimate since it has a dash as suffix, we found there are many illegitimate serial Numbers exists, needs to be updated with the right serial Numbers which I analyzed in excel after pulling data from mtl_material_transactions , oe_order_lines_all , mtl_serial_numbers , mtl_system_items_b
basically these are all RMAs
I need to update the second record as 1094SUZ-0538JQ0003-B as per the guidelines, while updating I need to keep all the existing contracts, Warranty, what ever material transations it has, need to be same.
we have a package updating the serial numbers using IB API (csi_Item_Instance_Pub.update_item_instance) but it is updating only the records which has no serial numbers present for that instance, if there is a serial number already exists it is not working.
user define error msg "Serial Number 1094SUZ-0538JQ0003- has Inventory Material Transactions. This serial number cannot be used to update an existing Item Instance", but I need to update this anyway!! or am I missing something here, please advice me
below post looks like similar issue, talks about hard update, I have no clue, by doing that the updated serial number will have same transations, contracts, dates....attached to it like the previous serial number
IB UPDATE_ITEM_INSTANCE ERROR - doesn't allow ACTIVE_START_DATE to change
would be great If you guys help me out, really appreciated!!
unfortunately I couldn't find any solutoin in metalink for the existing serial number update
code for updating the serial number using IB API
x_msg_count := 0;
x_msg_data := '';
p_instance_rec.instance_id := rec.child_instance_id;
p_instance_rec.serial_number := rec.child_serial_number;
p_instance_rec.object_version_number := rec.child_object_number;
p_txn_rec.transaction_id := Fnd_Api.g_miss_num;
p_txn_rec.transaction_date := SYSDATE;
p_txn_rec.source_transaction_date := SYSDATE;
p_txn_rec.transaction_type_id := 1;
csi_Item_Instance_Pub.update_item_instance
p_api_version => 1.0,
p_commit => Fnd_Api.g_false,
p_init_msg_list => Fnd_Api.g_false,
p_validation_level => 1,
p_instance_rec => p_instance_rec,
p_ext_attrib_values_tbl => p_ext_attrib_values_tbl,
p_party_tbl => p_party_tbl,
p_account_tbl => p_account_tbl,
p_pricing_attrib_tbl => p_pricing_attrib_tbl,
p_org_assignments_tbl => p_org_assignments_tbl,
p_asset_assignment_tbl => p_asset_assignment_tbl,
p_txn_rec => p_txn_rec,
x_instance_id_lst => x_instance_id_lst,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data
Thanks
SuriSuri
Used this. May not be perfect but should get you there. Only if the table is registered (all the seeded tables should be registered) this will work.
select distinct a.table_name,b.column_name from fnd_tables a, fnd_columns b
where a.table_id=b.table_id
and upper(b.column_name) like '%SERIAL%'
Also this is very old one but if you need history for this change add the history insert logic as well..
DECLARE
l_return_err VARCHAR2 (80);
PROCEDURE debug (p_message IN VARCHAR2)
IS
BEGIN
dbms_output.put_line (SUBSTR (p_message, 1, 255));
END debug;
BEGIN
debug('======================================================================');
debug('Switching from serial number XDT07406. to XDT07406 ');
debug('======================================================================');
UPDATE fa_additions_b
SET serial_number = 'XDT07406'
WHERE serial_number = 'XDT07406.';
debug('No of rows in fa_additions_b updated :'||sql%rowcount);
UPDATE fa_mass_additions
SET serial_number = 'XDT07406'
WHERE serial_number = 'XDT07406.';
debug('No of rows in fa_mass_additions updated :'||sql%rowcount);
UPDATE rcv_serial_transactions
SET serial_num = 'XDT07406'
WHERE serial_num = 'XDT07406.';
debug('No of rows in rcv_serial_transactions updated :'||sql%rowcount);
UPDATE mtl_serial_numbers
SET serial_number = 'XDT07406'
WHERE serial_number = 'XDT07406.';
debug('No of rows in mtl_serial_numbers updated :'||sql%rowcount);
UPDATE mtl_unit_transactions
SET serial_number = 'XDT07406'
WHERE serial_number = 'XDT07406.';
debug('No of rows in mtl_unit_transactions updated :'||sql%rowcount);
UPDATE csi_item_instances_h
SET new_serial_number = 'XDT07406'
WHERE new_serial_number = 'XDT07406.';
debug('No of rows in csi_item_instances_h updated :'||sql%rowcount);
UPDATE csi_t_txn_line_details
SET serial_number = 'XDT07406'
WHERE serial_number = 'XDT07406.';
debug('No of rows in csi_t_txn_line_details updated :'||sql%rowcount);
UPDATE csi_item_instances
SET serial_number = 'XDT07406'
WHERE serial_number = 'XDT07406.';
debug('No of rows in csi_item_instances updated :'||sql%rowcount);
UPDATE wsh_delivery_details
SET serial_number = 'XDT07406'
WHERE serial_number = 'XDT07406.';
debug('No of rows in wsh_delivery_details updated :'||sql%rowcount);
debug('======================================================================');
debug('Switching from serial number jct20591 to JCT20591 ');
debug('======================================================================');
UPDATE fa_additions_b
SET serial_number = 'JCT20591'
WHERE serial_number = 'jct20591';
debug('No of rows in fa_additions_b updated :'||sql%rowcount);
UPDATE fa_mass_additions
SET serial_number = 'JCT20591'
WHERE serial_number = 'jct20591';
debug('No of rows in fa_mass_additions updated :'||sql%rowcount);
UPDATE rcv_serial_transactions
SET serial_num = 'JCT20591'
WHERE serial_num = 'jct20591';
debug('No of rows in rcv_serial_transactions updated :'||sql%rowcount);
UPDATE mtl_serial_numbers
SET serial_number = 'JCT20591'
WHERE serial_number = 'jct20591';
debug('No of rows in mtl_serial_numbers updated :'||sql%rowcount);
UPDATE mtl_unit_transactions
SET serial_number = 'JCT20591'
WHERE serial_number = 'jct20591';
debug('No of rows in mtl_unit_transactions updated :'||sql%rowcount);
UPDATE csi_item_instances_h
SET new_serial_number = 'JCT20591'
WHERE new_serial_number = 'jct20591';
debug('No of rows in csi_item_instances_h updated :'||sql%rowcount);
UPDATE csi_t_txn_line_details
SET serial_number = 'JCT20591'
WHERE serial_number = 'jct20591';
debug('No of rows in csi_t_txn_line_details updated :'||sql%rowcount);
UPDATE csi_item_instances
SET serial_number = 'JCT20591'
WHERE serial_number = 'jct20591';
debug('No of rows in csi_item_instances updated :'||sql%rowcount);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
l_return_err :='Updating in one of the script has this error:'|| substrb(sqlerrm, 1, 55);
debug('Value of l_return_err='||l_return_err);
END;
Thanks
Nagamohan -
Issue in Material Transaction in WIP
Gratings to Guru's...
I trying to do Material issue for Discrete job components in WIP. but facing an error in MTL_TRANSACTIONS_INTERFACE. below are the error details.
Error Msg : ‘Requirement is this job/schedule's primary assembly’
Error Code : inventory_item_id.
I am using below insert statement.(able to do material transaction through front end also Similar kind of data for other organization is working fine).
insert into mtl_transactions_interface
( source_code,
source_line_id,
source_header_id,
process_flag,
validation_required,
transaction_mode,
lock_flag,
last_update_date,
last_updated_by,
creation_date,
created_by,
inventory_item_id,
organization_id,
transaction_quantity,
primary_quantity,
transaction_uom,
transaction_date,
subinventory_code,
locator_id,
transaction_source_id,
transaction_source_type_id,
transaction_action_id,
transaction_type_id,
transaction_reference,
wip_entity_type,
operation_seq_num,
bom_revision_date,
routing_revision_date,
scheduled_flag,
final_completion_flag,
Flow_schedule,
--revision,
transaction_interface_id
values (
1, --source code
1, -- source line id
-1, -- source header id
1, -- process flag
1, -- validation required
3, -- transaction mode
2, -- lock flag
sysdate, -- last update date
-1, -- last updated by
sysdate, -- creation date
-1, -- created by
62481, -- inventory item id --*
414, -- org id*
-30, -- transaction quantity
-30, -- primary quantity
'EA', -- transaction uom *
sysdate, -- transaction date
'UKDIE', -- subinventory code*
47473, --locator_id *
4368857, -- transaction source id *
5, -- transaction source type id
31, -- transaction action id
35, -- transaction type id
'test', -- transaction reference
1, -- wip entity type
10, -- operation seq num
sysdate, -- bom revision date
sysdate, -- routing revision date
2, -- scheduled flag
'N', --final_completion_flag
'N', -- flow schedule
--'0' , -- Revision
15375520 --interface_id *
delete from mtl_transaction_lots_interface
where TRANSACTION_INTERFACE_ID = 15375519
/*2. Data inserting into mtl_transaction_lots_interface */
insert into mtl_transaction_lots_interface
(TRANSACTION_INTERFACE_ID,
SOURCE_CODE,
SOURCE_LINE_ID,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LOT_NUMBER,
TRANSACTION_QUANTITY,
ERROR_CODE,
PROCESS_FLAG)
values(
15375520,--interface_id, *
1, -- Source Code
1, -- Source Line id
sysdate, -- Last update date
-1, -- Last updated by
sysdate, -- Creation Date
-1, -- Created By
'PID0190454', -- Lot number Needs input *
-30, -- Transaction Quantity
NULL,
1 -- Process Flag
Please help me ....
Thanks in advance
BalajiIt seems that 62481 may be the inventory_item_id of the assembly. Make sure you use the inventory_item_id of the component when inserting into mtl_transactions_interface.
Sandeep Gandhi -
Reg. Error in material BRICKS order 10003000 item 0000
Dear Experts
When I do confirmation in CO11N i am getting the following error
Error in material BRICKS order 10003000 item 0000
Message no. RU119
Diagnosis
The data necessary for automatic goods movements in a confirmation is incomplete or contains errors.
System Response
Automatic goods movements were not carried out. Instead, the system wrote error records.
Procedure
Process the error records in one of the following transactions: If the variable parameters are appropriately set then once the confirmation has been created the system asks you whether you want to process the error records. If you answer is "yes" then the system branches to the material overview where you can carry out processing. You branch to the transaction for reprocessing error records from automatic goods movements.
Pls help me
Thanks in advance
Rajakumar.KQuantity and Value update tick is made in OMS2 - MATERIAL TYPE then this problem is solved.
by myself
Edited by: Raja Kumar on Aug 26, 2009 2:48 PM -
Materialed View Refresh Error ORA-12008: error in materialized view refresh
Hi,
I am trying to refersh the following materialized view with the below command and getting the below error
begin
DBMS_MVIEW.REFRESH('GLVW_MIS_ADB');
end;
The following error has occurred:
ORA-12008: error in materialized view refresh path
ORA-12840: cannot access a remote table after parallel/insert direct load txn
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 803
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 860
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 841
ORA-06512: at line 2
Please advice on this.
Thanks & Regards,
Kartik$ oerr ora 12840
12840, 00000, "cannot access a remote table after parallel/insert direct load txn"
// *Cause: Within a transaction, an attempt was made to perform distributed
// access after a PDML or insert direct statement had been issued.
// *Action: Commit/rollback the PDML transaction first, and then perform
// the distributed access, or perform the distributed access before the
// first PDML statement in the transaction.
$ -
Error during material determination for sales document item - RRB
Hi
Iam getting following error when trying to create a billing request using DP91.
Error during material determination for sales document item 40001560/000010
Message no. AD01155
Diagnosis
An error occured during material determination for a dynamic item.
System Response
The system cannot perform the function.
Procedure
Check in the profile being used whether its characteristic allows the assignment of a material to each dynamic item.
I have checked my DIP profile using ODP02 there are no errors in it, I have created a Setid and assigned it to costing element in selection criteria and material determination criteria.
Material origin is checked in costing tab in material master.
Appreciate help in resolving this.
thanks,
VaishnaviHi Vaishnavi
The error which you are getting is related to costing.So kindly reach your FI Consultant
please check the following links which may help you.Also check the link that has been provided my Lakshmipathi
ERROR AT DP90 TRANSACTION
Regards
Srinath -
How to cancel a Pending Material Transactions
Here is the issue :
A component was setup with supply_type = Assembly pull.
This was an error, we change this attribute to bulk.
But some discrete jobs were completed before the correction, and material transaction were generated.
Since we have no component stock, the WIP Component issue transactions are stuck in the Pending transactions.
How can I cancel these Pending Transaction ?Hi,
According with Note:197384.1, from Metalink, I think you can delete these lines from the MTL_MATERIAL_TRANSACTIONS_TEMP table.
Regards,
Renato. -
Important Validations for MTL Material Transaction
Hi All,
I am creating an OAF page for material transaction -- for material issue and receipt.
For this I am inserting a record into MTL transaction interface table and the running the transaction manager API in oracle, which populate mtl_material_transactions table.
But after general insertion i found that the record is getting error out due to oracle validation. The item may be lot or serial controlled.
Please let me know the validations performed by this program, so that I can handle these before inserting into interface tables.
Any help/document will be appreciated.
You can mail me to [email protected] as well.
Regards
RiyasRiyas,
You have to insert the serial number if it is a serial controlled item or it will fail always. Before inserting into the interface table you can validate whether it is serial no is exists or not from the wsh_serial_numbers or mtl_serial_numbers.
You can compare the values from the inventory_itme_id to get the serial numbers.
You can use the below query to validate the records. It might be helpful.
1stà select * from oe_order_headers_all where header_id=4838351
2ndà select * from wsh_delivery_details where source_header_id=4839902
3rdà select * from wsh_serial_numbers where delivery_detail_id=5088694
INSERT INTO mtl_serial_numbers_interface
(source_code, source_line_id,
transaction_interface_id,
last_update_date, last_updated_by,
creation_date, created_by,
last_update_login, fm_serial_number,
to_serial_number, product_code
--product_transaction_id
VALUES ('Miscellaneous issue', 7730351,
71737725,
--mtl_material_transactions_s.NEXTVAL, --transaction_interface_id
SYSDATE, --LAST_UPDATE_DATE
fnd_global.user_id, --LAST_UPDATED_BY
SYSDATE, --CREATION_DATE
fnd_global.user_id, --CREATED_BY
fnd_global.login_id, --LAST_UPDATE_LOGIN
'168-154-701',
--FM_SERIAL_NUMBER
'168-154-701', --TO_SERIAL_NUMBER
'RCV'
--PRODUCT_CODE
--l_rcv_transactions_interface_s
--v_txn_interface_id --product_transaction_id -
Discrete Inventory: Material Transactions Distribution contains no records
Dear Friends
We are not able to see the cost center wise consumption of the material in discrete inventory.
We are using Move Orders Issue for recording the consumption of the material.
cst_inv_distribution_v: We have analyzed this view but didn't get any results, the problem recognized finally is that MTL_MATERIAL_TRANSACTIONS have all the transactions but MTL_TRANSACTION_ACCOUNTS contains no records. MTL_TRANSACTION_ACCOUNTS table is empty. Material Transactions are not hitting the Distribution part.
Platform: Oracle Applications 11i (11.5.10.2)
Please guide us so that this problem can be solved.
Thanks in Advance
Ankur BhatiaCheck if the costing manager is running.
Check if there are any records that errored out (costed_flag =E in mtl_material_transactions)
If that happens, costing manager may not process the remaining records (assuming you are in avg. costed org).
Also, if your move orders are resulting in a subinventory transfer and if the accounts for the subinventories are same, you won't see any distribution records.
Sandeep Gandhi -
BAPI needed for change material(Transaction : MM02)
Hi all,
We have a requirement where in we need to post the documents throuh BAPI for change material (Transaction: MM02).
Any inputs on this..is highly appreciable...
thanks in advance...
regards..
prathima.CHECK THIS CODE
*& Report ZBAPI_MATERIAL_SAVEDATA
REPORT ZBAPI_MATERIAL_SAVEDATA NO STANDARD PAGE HEADING MESSAGE-ID (ZHNC).
TYPES:BEGIN OF TY_MAT,
MATERIAL(4),
IND_SECTOR(1),
MATL_TYPE(4),
MATL_GROUP(9),
BASE_UOM(3),
BASE_UOM_ISO(3),
PLANT(4),
DEL_FLAG(1),
PUR_GROUP(3),
BASE_QTY(13),
STGE_LOC(4),
MRP_IND(1),
SALES_ORG(4),
DISTR_CHAN(2),
DEL_FLAG1(1),
MIN_ORDER(13),
LANGU(2),
MATL_DESC(40),
END OF TY_MAT.
DATA: IT_DATA TYPE TABLE OF TY_MAT,
WA_DATA LIKE LINE OF IT_DATA.
*decalraing flag
data: v_flag value ''.
*DECLARING WORK AREAs TO BE PASSED TO THE FUNCTION MODULE.
DATA: BAPI_HEAD LIKE BAPIMATHEAD,
BAPI_CLIENTDATA LIKE BAPI_MARA,
BAPI_CLIENTDATAX LIKE BAPI_MARAX,
BAPI_PLANTDATA LIKE BAPI_MARC,
BAPI_PLANTDATAX LIKE BAPI_MARCX,
BAPI_STORAGELOCATIONDATA LIKE BAPI_MARD,
BAPI_STORAGELOCATIONDATAX LIKE BAPI_MARDX,
BAPI_SALESDATA LIKE BAPI_MVKE,
BAPI_SALESDATAX LIKE BAPI_MVKEX,
BAPI_MAKT LIKE BAPI_MAKT,
BAPI_RETURN LIKE BAPIRET2.
*INTERNAL TABLE TO HOLD THE MATERIAL DESCRIPTION
DATA: BEGIN OF IT_MAKT OCCURS 0.
INCLUDE STRUCTURE BAPI_MAKT.
DATA END OF IT_MAKT.
DATA:BEGIN OF IT_RET OCCURS 0.
INCLUDE STRUCTURE BAPIRET2.
DATA END OF IT_RET.
*INTERNAL TABLE TO HOLD HEADER DATA
DATA: IT_EXCEL TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
*SELECTION-SCREEN ELEMENTS
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETER: FNAME TYPE RLGRAP-FILENAME OBLIGATORY DEFAULT 'C:\Documents and Settings\Administrator\Desktop\MATMAS.XLS' .
PARAMETERS: P_BEGCOL TYPE I DEFAULT 1 NO-DISPLAY,
P_BEGROW TYPE I DEFAULT 1 NO-DISPLAY,
P_ENDCOL TYPE I DEFAULT 100 NO-DISPLAY,
P_ENDROW TYPE I DEFAULT 32000 NO-DISPLAY.
SELECTION-SCREEN END OF BLOCK B1.
*DECLARATION OF EXCELAL TABLE
AT SELECTION-SCREEN ON VALUE-REQUEST FOR FNAME.
PERFORM F_GET_FILE USING FNAME.
START-OF-SELECTION.
PERFORM F_XLS_ITAB USING FNAME
CHANGING IT_EXCEL.
PERFORM F_MOVE_DATA.
perform F_GET_DATA.
*& Form F_GET_FILE
text
-->P_FNAME text
<--P_SY_SUBRC text
FORM F_GET_FILE USING P_FNAME LIKE FNAME.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
PROGRAM_NAME = SYST-REPID
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
STATIC = ' '
MASK = ' '
CHANGING
FILE_NAME = P_FNAME
EXCEPTIONS
MASK_TOO_LONG = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE E006(ZHNC).
ENDIF.
ENDFORM. " F_GET_FILE
*& Form F_XLS_ITAB
text
-->P_FNAME text
<--P_IT_EXCEL text
FORM F_XLS_ITAB USING P_FNAME
CHANGING P_IT_EXCEL.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = FNAME
I_BEGIN_COL = P_BEGCOL
I_BEGIN_ROW = P_BEGROW
I_END_COL = P_ENDCOL
I_END_ROW = P_ENDROW
TABLES
INTERN = IT_EXCEL
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " F_XLS_ITAB
*& Form F_MOVE_DATA
text
--> p1 text
<-- p2 text
FORM F_MOVE_DATA .
DATA : LV_INDEX TYPE I.
FIELD-SYMBOLS <FS>.
*--- Sorting the internal table
SORT IT_EXCEL BY ROW COL.
CLEAR IT_EXCEL.
LOOP AT IT_EXCEL.
MOVE IT_EXCEL-COL TO LV_INDEX.
*--- Assigning the each record to an internal table row
ASSIGN COMPONENT LV_INDEX OF STRUCTURE WA_DATA TO <FS>.
*--- Asigning the field value to a field symbol
MOVE IT_EXCEL-VALUE TO <FS>.
AT END OF ROW.
APPEND WA_DATA TO IT_DATA.
CLEAR WA_DATA.
ENDAT.
ENDLOOP.
ENDFORM. " F_MOVE_DATA
*& Form F_GET_DATA
text
--> p1 text
<-- p2 text
FORM F_GET_DATA .
LOOP AT IT_DATA INTO WA_DATA.
MOVE-CORRESPONDING WA_DATA TO BAPI_HEAD.
BAPI_HEAD-BASIC_VIEW ='X'.
BAPI_HEAD-SALES_VIEW ='X'.
BAPI_HEAD-PURCHASE_VIEW ='X'.
BAPI_HEAD-STORAGE_VIEW ='X'.
MOVE-CORRESPONDING WA_DATA TO BAPI_CLIENTDATA.
BAPI_CLIENTDATAX-MATL_GROUP = 'X'.
BAPI_CLIENTDATAX-BASE_UOM = 'X'.
BAPI_CLIENTDATAX-BASE_UOM_ISO = 'X'.
MOVE-CORRESPONDING WA_DATA TO BAPI_PLANTDATA.
BAPI_PLANTDATAX-PLANT = BAPI_PLANTDATA-PLANT.
BAPI_PLANTDATAX-DEL_FLAG = 'X'.
BAPI_PLANTDATAX-PUR_GROUP = 'X'.
BAPI_PLANTDATAX-BASE_QTY = 'X'.
MOVE-CORRESPONDING WA_DATA TO BAPI_STORAGELOCATIONDATA.
BAPI_STORAGELOCATIONDATA-PLANT = BAPI_PLANTDATA-PLANT.
BAPI_STORAGELOCATIONDATAX-PLANT = BAPI_STORAGELOCATIONDATA-PLANT.
BAPI_STORAGELOCATIONDATAX-STGE_LOC = BAPI_STORAGELOCATIONDATA-STGE_LOC.
BAPI_STORAGELOCATIONDATAX-MRP_IND = 'X'.
MOVE-CORRESPONDING WA_DATA TO BAPI_SALESDATA.
BAPI_SALESDATAX-SALES_ORG = BAPI_SALESDATA-SALES_ORG.
BAPI_SALESDATAX-DISTR_CHAN = BAPI_SALESDATA-DISTR_CHAN.
BAPI_SALESDATAX-DEL_FLAG = BAPI_SALESDATA-DEL_FLAG.
BAPI_SALESDATAX-MIN_ORDER = 'X'.
REFRESH IT_MAKT.
IT_MAKT-LANGU = WA_DATA-LANGU.
IT_MAKT-MATL_DESC = WA_DATA-MATL_DESC.
APPEND IT_MAKT.
CLEAR IT_RET.
REFRESH IT_RET.
PERFORM F_CALL_BAPI.
READ TABLE IT_RET WITH KEY TYPE = 'S'.
IF SY-SUBRC EQ 0.
PERFORM F_BAPI_COMMIT.
WRITE:/ 'MATERIAL CREATED OR UPDATED SUCESSFULLY WITH MATERIAL NO',WA_DATA-MATERIAL.
ELSE.
MESSAGE E000(ZHNC) WITH 'ERROR IN CREATING THE MATERIAL'.
*WRITE: / 'ERROR IN CREATIN MATERIAL',IT_RET-MESSAGE.
*PERFORM F_DOWNLOAD.
ENDIF.
*ENDIF.
ENDLOOP.
ENDFORM. " F_GET_DATA
*& Form F_CALL_BAPI
text
--> p1 text
<-- p2 text
FORM F_CALL_BAPI .
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
HEADDATA = BAPI_HEAD
CLIENTDATA = BAPI_CLIENTDATA
CLIENTDATAX = BAPI_CLIENTDATAX
PLANTDATA = BAPI_PLANTDATA
PLANTDATAX = BAPI_PLANTDATAX
STORAGELOCATIONDATA = BAPI_STORAGELOCATIONDATA
STORAGELOCATIONDATAX = BAPI_STORAGELOCATIONDATAX
SALESDATA = BAPI_SALESDATA
SALESDATAX = BAPI_SALESDATAX
IMPORTING
RETURN = IT_RET
TABLES
MATERIALDESCRIPTION = IT_MAKT
UNITSOFMEASURE =
UNITSOFMEASUREX =
INTERNATIONALARTNOS =
MATERIALLONGTEXT =
TAXCLASSIFICATIONS =
RETURNMESSAGES =
PRTDATA =
PRTDATAX =
EXTENSIONIN =
EXTENSIONINX =
APPEND IT_RET.
ENDFORM. " F_CALL_BAPI
*& Form F_BAPI_COMMIT
text
--> p1 text
<-- p2 text
FORM F_BAPI_COMMIT .
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT =
IMPORTING
RETURN =
ENDFORM. " F_BAPI_COMMIT -
Hi all,
In my program I am trying to handle errors in call transaction method using bdcmsgcoll and format_message.To check this I have given some false data like trying to create materials which are already in mara tables. The data is not updated in the mara tables but No error messages are populated into the bdcmsgcoll structure. The status of all messges is success. How do messages get populated into bdcmsgcoll ?
I am forwardimng my code too. Can anyone please explain me what's happening ? For what type of errors, Error messages get poplated into bdcmsgcoll ?
report Z_MAT_CALL
no standard page heading line-size 255.
data : begin of material occurs 0,
matnr like mara-matnr, " Material Number
mbrsh like mara-mbrsh, " Industry sector
mtart like mara-mtart, " material Type
maktx like makt-maktx, " Material Description
meins like mara-meins, " Base Unit of Measure
end of material.
data fnam type string value 'C:\BW\MAT.TXT'.
*---- BDCDATA
data : bdcdata like bdcdata occurs 0 with header line,
itab like bdcmsgcoll occurs 0 with header line,
mesg(100).
*---- Uploading data into internal table from flat File.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = fnam "'C:\BW\MAT.TXT'
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
tables
data_tab = material.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
loop at material.
perform bdc_dynpro using 'SAPLMGMM' '0060'.
perform bdc_field using 'BDC_CURSOR'
'RMMG1-MTART'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RMMG1-MATNR'
material-matnr.
perform bdc_field using 'RMMG1-MBRSH'
material-mbrsh.
perform bdc_field using 'RMMG1-MTART'
material-mtart.
perform bdc_dynpro using 'SAPLMGMM' '0070'.
perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(02)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_field using 'MSICHTAUSW-KZSEL(01)'
'X'.
perform bdc_field using 'MSICHTAUSW-KZSEL(02)'
'X'.
perform bdc_dynpro using 'SAPLMGMM' '4004'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
perform bdc_field using 'MAKT-MAKTX'
material-maktx.
perform bdc_field using 'BDC_CURSOR'
'MARA-MEINS'.
perform bdc_field using 'MARA-MEINS'
material-meins.
perform bdc_field using 'MARA-MTPOS_MARA'
'NORM'.
perform bdc_transaction using 'MM01'.
refresh bdcdata.
endloop.
*LOOP AT iTAB.
*WRITE: / iTAB-TCODE,
*iTAB-DYNAME,
*iTAB-DYNUMB,
*iTAB-MSGTYP,
*iTAB-MSGSPRA,
*iTAB-MSGID,
*iTAB-MSGNR.
*ENDLOOP.
Start new screen *
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
CLEAR BDCDATA.
ENDFORM.
Insert field *
FORM BDC_FIELD USING FNAM FVAL.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
CLEAR BDCDATA.
ENDFORM.
Form bdc_transaction
form bdc_transaction using value(tcode).
call transaction tcode using bdcdata
mode 'N'
update 'S' messages into itab.
if sy-subrc Ne 0.
read table itab with key msgtyp = 'E'.
if sy-subrc = 0.
perform check.
endif.
endif.
endform. " bdc_transaction
Form check
form check .
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = itab-msgid
lang = sy-langu
no = itab-msgnr
v1 = itab-msgv1
v2 = itab-msgv2
v3 = itab-msgv3
v4 = itab-msgv4
IMPORTING
msg = mesg
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
endform. " check
Regards,
Varun.Hi
DATA : T_BDCMSGCOLL TYPE TABLE OF BDCMSGCOLL WITH HEADER LINE.
DATA : WA_BDCMSGCOLL TYPE BDCMSGCOLL.
DATA : ERR_LOG TYPE MESSAGE.
Call Transaction MM01
IF W_FLAG NE 'X'.
CALL TRANSACTION 'MM01' USING T_BDCDATA OPTIONS FROM WA_CTU_PARAMS
MESSAGES INTO T_BDCMSGCOLL.
COMMIT WORK AND WAIT.
DESCRIBE TABLE T_BDCMSGCOLL LINES N.
IF N <> 0.
LOOP AT T_BDCMSGCOLL INTO WA_BDCMSGCOLL.
CLEAR ERR_LOG.
W_MSGNO = WA_BDCMSGCOLL-MSGNR.
CALL FUNCTION 'WRITE_MESSAGE'
EXPORTING
MSGID = WA_BDCMSGCOLL-MSGID
MSGNO = W_MSGNO
MSGTY = WA_BDCMSGCOLL-MSGTYP
IMPORTING
MESSG = ERR_LOG.
Error that occurs during transactoon
IF ERR_LOG-MSGTY = 'E'.
MOVE-CORRESPONDING T_UPLOAD TO T_DOWNLOAD.
MOVE ERR_LOG-MSGTX TO T_DOWNLOAD-MSG.
APPEND T_DOWNLOAD.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
check structure declaration and code it may be useful
regards
vinod -
Material Transaction Processor
I need to reschedule this job. Where can I find it?
Hi,
See (Note: 786206.1 - Cost Group Transfer Transactions Stucked In Mtl_Transactions_Interface Table With Error "Cost Group is Either not Entered or not Valid for the Given Organization") for the navigation path. You could also refer to "Oracle Inventory Guide" for details about Material Transaction Processor.
Oracle Applications Documentation
http://www.oracle.com/technology/documentation/applications.html
Regards,
Hussein -
HKONG: Material Transaction Interface 의 data를 처리 Process들에 대한 정의
PURPOSE
Material Transaction Interface 의 data를 처리 Process들에 대해 정의하고자 함.
Explanation
관련된 정보는 다음과 같습니다.
Material Transaction Interface 의 data를 처리하기 위해서는 다음의 2개의 Process가 수행됩니다.
- INCTCM (Process transaction Interface)
- INCTCW (Inventory transactions worker)
(1)
Records are processed into this table by the INCTCM - Process Transactions Interface from the Interface tables :
MTL_TRANSACTIONS_INTERFACE to MTL_MATERIAL_TRANSACTIONS_TEMP
MTL_TRANSACTION_LOTS_INTERFACE to MTL_TRANSACTION_LOTS_TEMP (Lot 사용시)
MTL_SERIAL_NUMBERS_INTERFACE to MTL_SERIAL_NUMBERS_TEMP (serial 사용시)
==> INCTCM 에 의해 interface table의 data가 validation후, temp table로 옮겨집니다.
(2)
After the records are processed from the MTL_TRANSACTIONS_INTERFACE into the MTL_MATERIAL_TRANSACTIONS_TEMP
by the INCTCM - Process Transactions Interface,
a worker will be launched to process the record from MTL_MATERIAL_TRANSACTIONS_TEMP into MTL_MATERIAL_TRANSACTIONS.
The worker is called INCTCW - Inventory Transaction Worker.
The INCTCM - Process Transactions Interface will launch a single INCTCW - Inventory Transaction Worker for all rows
that meet the criteria in MTL_MATERIAL_TRANSACTIONS_TEMP :
TRANSACTION_MODE = 3
LOCK_FLAG = N
PROCESS_FLAG = Y
Once the process is complete the records will be moved into the corresponding
transaction table :
MTL_MATERIAL_TRANSACTIONS_TEMP to MTL_MATERIAL_TRANSACTIONS
MTL_TRANSACTION_LOTS_TEMP to MTL_TRANSACTION_LOT_NUMBERS
MTL_SERIAL_NUMBERS_TEMP to MTL_UNIT_TRANSACTIONS
==> INCTCM은 INCTCW를 call하게 되고, 이 Process에 의해 TEMP table로부터 MMT table과 Inventory table에
DATA가 Insert됩니다.
The rows in mtl_transactions_interface are processed in 5 phases.
1. Derives dependant columns, eg:acct_period_id, primary_quantity etc..
2. Detailed validation performed on the records
3. On hand qty check for negative qty's etc..
4. Reservations Relieved if demand was created in order entry
5. Rows are moved to mtl_material_transactions_temp where the
transaction processor is called to process these rows and update the inventory levels etc..
Reference Documents
-------------------
Maybe you are looking for
-
How do I sync my email between my iPhone and iPad?
How do I sync my email between my iPhone and iPad?
-
Question about SB Live 5.1 platinum speaker set
I was just wondering if it is possible with the SB Li've 5. platinum card to have a game using the SPDIF output and set up another set of speakers on the line out channel for use with a teamspeak type program?
-
MY FONT LOOKS DIFFERENT IN INDESIGN PAGES PLEASE HELP!!!!!
Hello, I have a majo problem here. I have all my pages written in one font, Arial Narrow, however the width of the font looks different from page to page, it looks bold on page 1 and 2, and on page 3 it looks fine, is there any invisible setting app
-
[Nokia 3500c]Photos resolution
I have bought this phone 5 days ago. It's very nice. But I have one problem. When I make photo in resolution, for example, 640x480, phone save it in resolution 480x640. It's not bother me, but when I want to send MMS with this picture, MMS come very
-
Very difficult to send or reply yahoo mail.
Very difficult to send or reply yahoo mail from iPhone and everything except mail works just fine, Sometimes when unable to send or reply, pop up on the screen "wrong username or password", Infact everything is correct, what happen with Yahoo ? Help