SAP Control Framework is basis of Enjoy SAP Transactions. So it is directly related. eCATT allows to record and test the enjoy transactions.
Still I found problems at times. So can't rely always.
At times the recording were even not allowed.
e.g. - In ME5J, the Purchase Requisition number is displayed in display mode. So can't capture this via SAPGUI. As in SAPGUI recording mode, the field should be either input or in edit mode so that one can capture it.
And with TCD doesn't work smoothly with ME5J for recording.
SAP Control Framework is a technology introduced by SAP with release R/3 4.0 year ago. With Control framework SAP enhanced the SAPGUI (front end program) by ActiveX Controls. These controls can have a limited processing logic at fronted, to allow the user to input some more data in one dialog step without server roundtrip then before.
Also at server side ABAP programming logic there is a framework encapsulating the communication to the controls for ABAP programmers.
The Enjoy-Transactions make a wide usage of SAPGUI controls.
In long term, the only way of automating applications using controls is to use SAPGUI Scripting technology to control SAPGUI at front end. eCATT does this and allows nearly every transaction to be tested with that approach.
TCD command in eCATT has also some limited Enjoy transaction support, but more for backward compatibility. TCD can not be used for parameterized automation of controls and the logging and visual replay of controls is not possible. Even in a couple of cases TCD recordings will fail to replay at all. So SAPGUI usage is the recommendation
SAP Developer, let me give you some hint to your problems:
- If fields are shown in display mode at SAPGUI you can also read them with eCATT; there is a command GETGUI made for that and introduced with SAP Web AS 6.40. It is also possible to capture a couple of other attributes of fields with GETGUI. Using SAP Web AS 6.20 there is are InitialState branches in SAPGUI command for the same purpose. They can be enabled with some additional settings during recording on recording screen. InitialState should be used not too widely, as it acquires a lot of system resources during runtime of scripts.
That was very good explanation for SAP Control Framework. Thanks for the same.
Regarding the ME5J problem, we have WAS 6.20 & I have very much used the InitialState Node to capture the value. As even you said it takes lots of resources at runtime so don't use it much.
Bob, if you have WAS 6.20 then for capturing the display values out of SAPGUI recording mode, double click on the SAPGUI screen in which the parameter to be captured exist. On the right side, under ProcessedScreen Node, InitialState node exists. For getting value from InitialState Node, use the following method -
1. Make sure the Check ' ' is there instead of 'X' to the top most branch under which the GUIElement exist which you want to capture.
2. Under the State node of the GUIElement, which is to be captured, double click on the number, which appears in square braces.
3. On the right side, Name & Value will appear. There
in Value, write the Export Parameter name. And it can be passed further in same recording to subsequent screens.
This can't be done in TCD. In TCD, the value captured can't be used in the same recording but can be passed to next recording.
thanks a lot for all explanations.
Two more things, when we record enjoy transaction by using SAPGui recorder how can we set a blank in a data field? Second I would like to record an enjoy transaction in display mode like ME23N and make an out put of several data fields like vendor, cost center etc... and is it possible and how?
In advance thank you again for your help?
Kindly look for my reply just above your question on the same page where I have given steps of taking values out of display mode of enjoy transaction. That should solve your problem of recording transaction in display mode.
Secondly, you can put ' ' in the field which you want to be blank at record time. After recording, parameterize the field and put its value as ' '.