How do I run the CAST SAP Extractor
Where should I store the Extraction Result?
Please see the paragraph entitled Extraction storage repository in CAST SAP Extractor NG - ABAP source code extraction - 8.3.x - 8.2.x - 8.0.x.
How can I get the version number of the CAST SAP Extractor?
Start by executing CAST SAP Extractor. When the main selection screen is displayed, a button is available on the upper banner which provides you with the version number of the extractor you are running:
A pop up will then be shown with the corresponding data:
What are the main features of the CAST SAP Extractor?
The extractor has two main extraction features:
A first engine called "CAST Source Code Extractor" is responsible for extracting ABAP source code elements from the SAP system. In fact, this tool will be used to build text files containing all the code of ABAP reports, includes, function modules, class methods… and so much more, based on a Source Code Selection scope. See CAST SAP Extractor NG - ABAP source code extraction - 8.3.x - 8.2.x - 8.0.x for more information.
A second engine called "CAST Table & View Extractor" is responsible for extracting data about SAP tables and/or views from your system. In fact, this tool will be used to build XML files containing various information concerning SAP tables (columns, data types, description, foreign keys…) as well as views (joined tables, join condition…) and so much more, based on a Table & View Selection scope. See CAST SAP Extractor NG - SAP table and view extraction - 8.3.x - 8.2.x - 8.0.x for more information.
Can I have concrete examples on how to use the new Extraction Engine?
Throughout the guide, you can find multiple paragraphs entitled "Example" which provide a step-by-step demonstration on how you can use the CAST SAP Extractor.
How can I solve some authorization issues that I encountered when using the CAST SAP Extractor?
You may encounter an error message related to authorization issues when launching the extraction tool. The following popup displays an authorization error message that you may see if you try to launch the extraction tool from SAP SE38:
You may also see an error message as follows: "You are not authorized to execute /invy/cast_extractor transaction".
These error messages can happen if the user trying to use CAST SAP Extractor is not assigned to the CAST PFCG role. To avoid these authorization issues, ensure all required user names are added to the PFCG role named '/invy/cast_extractor', as described in CAST SAP Extractor NG - 8.2.0 - Installation.
Which objects considered as source code will the extractor extract from the SAP system?
- Programs (Program code ID is PROG)
- Function group (Program code ID is FUGR)
- Classes (Program code ID is CLAS).
Are there any specific ABAP objects that CAST excludes automatically from any ABAP source code extraction?
The CAST SAP Extractor automatically excludes all the following ABAP objects, from every ABAP source code extraction:
- ENQUEUE function modules (the ones whose name starts with ENQUEUE)
- DEQUEUE function modules (the ones whose name starts with DEQUEUE)
- TABLEFRAME function modules (the ones whose name starts with TABLEFRAME)
- TABLEPROC function modules (the ones whose name starts with TABLEPROC)
- VIEWFRAME function modules (the ones whose name starts with VIEWFRAME)
- VIEWPROC function modules (the ones whose name starts with VIEWPROC)
- CONVERSION EXIT function modules (the ones whose name starts with CONVERSION_EXIT)
In addition, the CAST SAP Extractor will ignore all the objects that need to be extracted and that are local. These ABAP objects belong to package $TMP.
Why are UXX includes for function groups not always extracted?
The CAST SAP Extractor is able to find all the includes attached to a function group (function modules, function group TOP & UXX includes…). As explained above, several ABAP objects are ignored from each extraction, particularly tableframes, tableprocs, viewframes and viewprocs. These function modules are automatically generated by SAP when the standard maintenance generator tool is used. When CAST encounters a UXX include which contains information about function modules of type TABLEFRAME, TABLEPROC, VIEWFRAME or VIEWPROC, this UXX include will NOT be extracted by CAST. In all the other cases, UXX includes are extracted, if any.
What errors I can encounter when running the CAST SAP Extractor?
These are examples of errors you can encounter on the main extractio selection screen:
Invalid AL11 repository
Each extraction provides a Zip file which contains the extracted ABAP objects. You can store these results at server level, on your SAP system. Access is possible thanks to SAP transaction AL11 in this case. If the AL11 repository that you have chosen does not exist on server level or is corrupted, CAST will not be able to use it to store its Zip files. Hence, the extraction is aborted.
If we choose "/blabla" as an AL11 repository, CAST extractions will be cancelled:
CAST will display an error message in this case:
Errors with Extraction selection inputs
The following table describes some of the most common issues you may encounter when running CAST:
How to correct the error?
You have chosen to extract ABAP source code or Tables/Views based on Application Components. But these components do not contain any SAP packages.
Error: "Empty Scope! Input Application Component(s) do not contain any Package"
Choose other Application Components. Make sure the chosen Application Components are not blank (in SE80 for instance).
You have chosen to extract ABAP source code based only on creation and modification dates.
Error: "Empty Scope! You cannot extract only based on Creation and/or Modif Dates"
You cannot extract ABAP source code based only on creation or modification dates. You need to choose an additional input field (application component, package, object, transaction, transport request…)
You have chosen to extract ABAP source code in the past (inactive versions). You have ticked check box "Extract Inactive Version from Period" but you have not chosen a time interval from which to fetch for inactive versions.
Error: "Empty Inactive Time interval! Extracting from the past cannot be executed"
You cannot ask CAST to extract inactive ABAP source code without telling the tool from which time period to look for the information. Choose a time interval corresponding to inactive version time management.
You have chosen to extract ABAP source code in the past (inactive versions). You have ticked check box "Extract Inactive Version from Period" and you have chosen a time interval from which to fetch for inactive versions.
Error:" Empty Scope! Add some selection criteria to extract ABAP in the Past!"
When extracting ABAP source code in the past, you need to tell the tool what objects to fetch for in the past. Add a name of a valid application component, package, object, transaction or a transport request before activating the extraction in the past.
You have determined what ABAP information to extract but the extraction is aborted directly telling you that the selection input fields are blank
Error:"Empty Scoe! Input Objects (Prog, Fugr, Clas) do not exist in TADIR"
Apparently, your selection is not valid to extract ABAP source codes. Make sure that the objects you would like to extract exist on the system (use SE37, SE38, SE24 or SE80 transaction, based on the object type you would like to extract)
You would like to run the extractor in batch mode but the job is cancelled. An issue with the storage feature is mentioned in the Job logs.
Error: "CAST is run in batch mode. You need to select an AL11 folder instead !" in the job logs
You have run the extractor in batch mode, but you have probably chosen to store the extraction result locally on your machine:
This is not coherent. Each time you would like to run CAST in batch mode, you need to choose an AL11 Repository as a target folder. The Extraction Zip file will thus be downloaded on server level.
You have executed the extractor, and have chosen a local repository but you cannot find the Zip File.
Success message: "CAST extraction ended. New extraction ID: XXX. Zip File has been downloaded successfully to Local folder
When the extraction ends, the repository that hosts the extracted Zip file will pop up automatically. No need to look elsewhere. In addition, a success message displays where the Zip File has been stored on the local machine.
You have executed the extractor, and have chosen an AL11 repository but you do not know from where to download the Zip File.
Success message: "Extraction Zip –Name of the file without the extension- has been downloaded successfully in AL11 Repository "Your chosen AL11 folder"
Since the extraction ended, this means that the chosen AL11 repository is valid. The success message tells you where the Extraction Zip file was stored.
You have executed the extractor, and have chosen an AL11 repository but you do not know how to download the Zip File.
No error message
You can use Standard Function Module "ARCHIVFILE_SERVER_TO_CLIENT" to download the Extraction Zip file from server level.
You would like to extract ABAP objects based on input field "Select Transport Request File (AL11)" but the extraction is aborted
Error: "Unable to read/open/find Transport Request file : check your selection"
The chosen file is corrupted or does not exist on server level. Make sure that:
You have run the extractor based on transactions, but you have noticed that what has been extracted does not correspond to what you were expecting.
No error message
This is not a bug error. It was a choice made during the development phase of the tool. This will be the case for all the transactions that do not point to any ABAP reports. These transactions only call other transactions. See Select transaction code in CAST SAP Extractor NG - ABAP source code extraction - 8.3.x - 8.2.x - 8.0.x for more information.
Can the extractor extract remote function modules?
Yes, the CAST SAP Extractor NG (v. ≥ 8.2.0) can extract remote function modules if they exist:
- If a remote function module is defined in the SAP Repository with the remote attribute set to true, then the corresponding entry in the PG_DESCR file (out put by the extractor) contains a tag "remote" with the value "YES".
- If a remote function module is defined in the SAP Repository with the remote attribute set to false, then the corresponding entry in the PG_DESCR file (out put by the extractor) contains a tag "remote" with the value "NO".
An ABAP extraction showing the two situations is shown below:
Click to enlarge: