cancel
Showing results for 
Search instead for 
Did you mean: 

Error calling transaction from a transaction

Former Member
0 Kudos

Hi,

I have created a transaction to batch Measurement Point readings for the PM Module. The batch uses a query to determine the tags required to update and it calls the "MeasurementPointWrite" transaction that I downloaded from SAP. My problem is when I run the batch transaction it reports "TransactionLoadException: Unable to find transaction file specified"

Has anyone seen this issue?

The following shows the relevant log dump:

[DEBUG] [MPWriteCall]: Started action execution

[DEBUG] [MPWriteCall]: Type: TransactionCall, Description: MeasurementPointWrite Transaction Call

[DEBUG] [MPWriteCall]: [Initializing Action][Initializing Parameters: [MPWriteCall.StoreTransactionOutput = MPWriteCall.StoreTransactionOutput=[boolean:false]][MPWriteCall.ResetState = MPWriteCall.ResetState=[boolean:true]][MPWriteCall.Persist = MPWriteCall.Persist=[string:INHERIT]][MPWriteCall.Async = MPWriteCall.Async=[boolean:false]][MPWriteCall.Expiration = MPWriteCall.Expiration=[long:21600000]]]

[DEBUG] [MPWriteCall]: Resolving Input Links

[DEBUG] [MPWriteCall]: Link Stats: MPWriteCall.Reader, Type [Assign], Time [ <1 ms], Expression: "PCS7 Automatic"

[DEBUG] [MPWriteCall]: Link Stats: MPWriteCall.DebugFlag, Type [Assign], Time [ <1 ms], Expression: Transaction.DebugFlag

[DEBUG] [MPWriteCall]: Link Stats: MPWriteCall.MeasurementPoint, Type [Assign], Time [ <1 ms], Expression: PCSTagRepeater.Item{/Row/POINT}

[DEBUG] [MPWriteCall]: Link Stats: MPWriteCall.Reading, Type [Assign], Time [ <1 ms], Expression: PCSTagRepeater.Item{/Row/Value}

[DEBUG] [MPWriteCall]: Link Stats: MPWriteCall.Text, Type [Assign], Time [ <1 ms], Expression: "PCS TimeStamp: "&PCSTagRepeater.Item{/Row/TimeStamp}

[DEBUG] [MPWriteCall]: Link Stats: MPWriteCall.CreateOutputXML, Type [Assign], Time [ <1 ms], Expression: Transaction.CreateOutputXML

[DEBUG] [MPWriteCall]: Link Stats: MPWriteCall.CreateNotif, Type [Assign], Time [ <1 ms], Expression: Local.Blank

[DEBUG] [MPWriteCall]: Link Stats: MPWriteCall.NotificaitonType, Type [Assign], Time [ <1 ms], Expression: Local.Blank

[DEBUG] [MPWriteCall]: Link Stats: MPWriteCall.DifferenceFlag, Type [Assign], Time [ <1 ms], Expression: Local.Blank

[DEBUG] Action parameter creating time [ <1 ms]

[DEBUG] Entering action 'MPWriteCall' implementation.

[DEBUG] [] Loading transaction from file.

[FATAL] [] Unable to find transaction in file system: .trx

[DEBUG] Exiting action 'MPWriteCall' implementation

[ERROR] Error found trying to execute action 'MPWriteCall' Exception: [Unable to find transaction file specified]

[WARN] [MPWriteCall] Skipping execution of output links due to action failure.

[ERROR] [MPWriteCall] Action: Runtime threw an exception. Exception: [com.sap.xmii.bls.exceptions.TransactionLoadException: Unable to find transaction file specified]

[DEBUG] [MPWriteCall]: Finished[ <1 ms] Succeeded: false

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Michael,

Thank you for the great troubleshooting ideas but unfortunately it did not solve the problem.

In response to your first statement - the call is never successful.

At this point, I have tried the following:

1. building a new BLT with 1 sequence

2. drag and drop my BLT into the sequence - same error

3. drag and drop original "MeasurementPointWrite" (unmodified exept for execute transaction and credentials) into sequence -

same error.

4. tried other BLTs and they work fine.

Is there a property in a BLT that makes it uncallable?

Regards,

Casey

0 Kudos

For what it's worth, it appears to be a problem at the source. I have the same problem with the same downloaded file. Looking at the xml, there is an error in the self-reference of location. I was unable to figure out how to modify the xml of the export such that a reimport would fix it. (Export it and look at the xml - do a find on MeasurementPointWrite and you will see what I mean).

However, try the following:

Create a new transaction.

Copy the top sequence and include children of the MeasurementPointWrite transaction (basically you are copying the entire transaction contents).

Paste it to the empty sequence in your new transaction.

Save it under some name.

Create another new transaction.

Drag and drop your first new transaction into the empty sequence of your second new transaction.

Now it works...

Go figure.

Regards,

Mike

Edited by: Michael Appleby on Oct 18, 2010 7:44 PM

Answers (3)

Answers (3)

Former Member
0 Kudos

Thank you Michael,

That did the trick.

Thanks again,

Casey

Former Member
0 Kudos

Hi Michael,

Thank you for your reply.

In answer to your questions:

I used the "..." to specifically point at the transaction I am calling. I assume that works. Also, when I do this, the system provides all the correct input parameters to the link editor window so it must be finding something.

I also found it curious that the name is missing in the debug dump line "FATAL] [ Unable to find transaction in file system: .trx"

and I find it curious that in other instances where a transaction calls another transaction that that line is does not appear at all.

MII Version: 12.1.5 (build 85)

Thanks again for your help,

Casey Smith

Former Member
0 Kudos

Hi Casey,

if the transaction subcall usually is successful, then please try the following procedure to check if there is a problem with the path name::

- for a test please open BLT "MeasurementPointWrite" and uncheck the "Execute function" in the config of action "MeasurementPointWrite" (so the SAP call is not executed)

- create a new BLT and drag the BLT "MeasurementPointWrite" into an empty sequence of this new BLT (MII automatically set the path to the BLT correctly)

- execute the new BLT and see if an error occurs

If this works then you can check the path name MII uses to call "MeasurementPointWrite".

Michael

Former Member
0 Kudos

Hi,

in the debug output line

"Unable to find transaction in file system: .trx"

it seems that the transaction name is missing. MII cannot find a file ".trx". Can you check if the transaction is correctly specified in the transaction call?

What MII version do you use?

Michael