TroubleShooting is a very tiresome task in XML Gateway.
You can reduce much of the effort by being careful about the below most common mistakes in XML Gateway
1) For Inbound Transaction Make sure the Source Definition conforms to the DTD Structure
For example , DTD expects the elements as NAME* AGE* and during the XML Gateway
source definition we have them as <AGE><NAME>.
This wont be a reflected as an error but the database fields mapped to them will
have no values after the XML message is processed
2) ORA-06502 Ecx_actions.bind_proc_variable
This error most commonly occurs when there is a mismatch between database procedure parameters and Execute Procedure Action in XML Gateway Map. Verify if there is no mismatch.
No null are being passed to not null parameters.
If you have changed the procedure parameters recently. Make sure you redefine EXECUTE PROCEDURE action again in the Maps
3) ORA-06502: PL/SQL: numeric or value error: NULL index table key value – ECX_ACTIONS.GET_VAR_ATTR
This happens when a action does not have a variable or value attached to it.
Most common mistake. You attached a variable to action. You later realise you do not need a variable and delete it. The result of which is you have an action but no variable in it. You will thereby receive the above error.
4) Changes not reflecting ?? No matter what you do error is not resolved and you are pretty sure you did it right
Always, BIG Always, Always delete your MAP before you Load modified Map. I have been stuck for days just because I did not delete the map and load the map again.
Also make sure you delete a map with a map name as parameter. You load a map with a file name as parameter.
Also make sure while loading the map you are in the directory which contains the .xgm map file.
Recheck the commands below
Delete Map
java oracle.apps.ecx.loader.DeleteMap apps apps_pass ebsdev.XXXX.com:80010:EBSDEV XX_PAYLOAD_MAP
Load Map
java oracle.apps.ecx.loader.LoadMap apps apps_pass ebsdev.XXXX.com:80010:EBSDEV XX_PAYLOAD_MAP.xgm
5) You can use the below query for error messges
SELECT il.error_id,
er.message,
dl.payload
FROM ECX_INBOUND_LOGS il,
ECX_ERROR_MSGS er,
ECX_DOCLOGS dl
WHERE il.error_id = er.error_id(+)
AND il.MSGID = dl.msgid(+)
AND dl.transaction_type = &p_transaction_type
AND dl.transaction_subtype= &p_tran_subtype
AND il.status IN (1,2)
AND dl.time_stamp > to_date('17-JUN-14','DD-MON_YY')
ORDER BY il.time_stamp ASC;
6) If non of the above helps you can refer to the docs below
783908.1 : XML Gateway Debugging in R12
742588.1 : XML Gateway Data Collection Script for Inbound ECX Transactions.
You can reduce much of the effort by being careful about the below most common mistakes in XML Gateway
1) For Inbound Transaction Make sure the Source Definition conforms to the DTD Structure
For example , DTD expects the elements as NAME* AGE* and during the XML Gateway
source definition we have them as <AGE><NAME>.
This wont be a reflected as an error but the database fields mapped to them will
have no values after the XML message is processed
2) ORA-06502 Ecx_actions.bind_proc_variable
This error most commonly occurs when there is a mismatch between database procedure parameters and Execute Procedure Action in XML Gateway Map. Verify if there is no mismatch.
No null are being passed to not null parameters.
If you have changed the procedure parameters recently. Make sure you redefine EXECUTE PROCEDURE action again in the Maps
3) ORA-06502: PL/SQL: numeric or value error: NULL index table key value – ECX_ACTIONS.GET_VAR_ATTR
This happens when a action does not have a variable or value attached to it.
Most common mistake. You attached a variable to action. You later realise you do not need a variable and delete it. The result of which is you have an action but no variable in it. You will thereby receive the above error.
4) Changes not reflecting ?? No matter what you do error is not resolved and you are pretty sure you did it right
Always, BIG Always, Always delete your MAP before you Load modified Map. I have been stuck for days just because I did not delete the map and load the map again.
Also make sure you delete a map with a map name as parameter. You load a map with a file name as parameter.
Also make sure while loading the map you are in the directory which contains the .xgm map file.
Recheck the commands below
Delete Map
java oracle.apps.ecx.loader.DeleteMap apps apps_pass ebsdev.XXXX.com:80010:EBSDEV XX_PAYLOAD_MAP
Load Map
java oracle.apps.ecx.loader.LoadMap apps apps_pass ebsdev.XXXX.com:80010:EBSDEV XX_PAYLOAD_MAP.xgm
5) You can use the below query for error messges
SELECT il.error_id,
er.message,
dl.payload
FROM ECX_INBOUND_LOGS il,
ECX_ERROR_MSGS er,
ECX_DOCLOGS dl
WHERE il.error_id = er.error_id(+)
AND il.MSGID = dl.msgid(+)
AND dl.transaction_type = &p_transaction_type
AND dl.transaction_subtype= &p_tran_subtype
AND il.status IN (1,2)
AND dl.time_stamp > to_date('17-JUN-14','DD-MON_YY')
ORDER BY il.time_stamp ASC;
6) If non of the above helps you can refer to the docs below
783908.1 : XML Gateway Debugging in R12
742588.1 : XML Gateway Data Collection Script for Inbound ECX Transactions.
0 comments:
Post a Comment