Exporting Code Inspector Results in SAP 4.6C
We are trying to use Code Inspector on SAP R/3 4.6C system. After the inspection is created for a program, we would like to export it to a document (PDF or another format) that can be used for reporting/audit etc. However, we are unable to do this.
Is there any way / workaround to export the inspection results to a document?
thanks
-hemant
Edited by: Hemant Babtiwale on Aug 12, 2011 1:04 AM
Hello,
Not sure abt 4.6, but in ECC6, there is clear button of "AS LIST" (CTRLSHIFTF11) and then List>Export>File.
If you are using SLIN (extended prog check), use 'Display all changes' and then System>List>Save-->Local File.
Diwakar
Similar Messages
-
Check code inspector results after release
Hello experts,
I introduced the Code Inspector upon release of a workbench transport request.
All transport requests are released by developers, but the team lead sometimes wants to very the result afterwards.
Is there a way to get the code inspector results after a few days after the release?
Thanks a lot.
DimitriDear Dimitri,
You can test released transport via SCII just as you can test unreleased transports.
Go to SCII, check 'Request/Task' and give the name of the released transport in the Object Selection tab and press F8 or the execute button.
I know that this is long after you asked the question but perhaps somebody here can use the information.
Regards,
Hans -
Code Inspector for 4.6b version
Hi all,
I need to use something like Code Inspector in a R/3 version 4.6b. Does anyone know what can be used instead of Code Inspector (it seems that it is impossible to install SCI on 4.6b)?
Please, help.
Thanks!
PatriciaHi Patricia!
This release is far to old for the modern tools. You might install (locally) a NetWeaver preview version, copy your soucecode and run the test on this preview release. But you need also all the dictionary objects...
But an extended program check, running with all options active, gives already about 50% of the code inspector results. In addition some select statement checks are done - but with a careful check, this is manually possible, too.
Regards,
Christian -
Please help me on code inspector
We want to run the code inspector on standard SAP reports (say, RABAB0504). But when we run the code inspector, it gives the message "This is a SAP object that cannot be checked". Why can't we run the Code Inspector on this?
If we copy the code of Code Inspector into a Z program and remove the checks for this standard programs, would it run successfully or would there be any complications in that?
Please help me.Well, it doesn't make much sense it run it on an SAP object. What would you do if it found something? But, if you must try, why not try copying it yourself and see if it works?
Oh yes - and welcome to SCN!
Rob
Edited by: Rob Burbank on May 11, 2009 2:37 PM -
Change message types in Code Inspector
Hi,
Can anyone let me know how to change the message type in the code inspector results ?
I want to change the message type from warning to error or vice-versa. I looked for the classes but could not figure out the exact class and the process to do so.
Any help is much appriciated.
Thanks,
VinodThere are certain options to supress error messages. You can find more information by clicking the 'i' button type being displayed in the code inspector results page. Here are some of the options,
1. ("#EC *) exculdes error messages regarding the current ABAP command
2. ("#EC NOTEXT) indicates that a string does not have to be stored as a text element
3. ("#EC CALLED) indicates that a FORM has a PERFORM call
4. ("#EC NEEDED) - no messages are output about a field that is only read
5. ("#EC PORTABLE) turns off the ASCII/EBCDIC test
6. ("#EC NOBREAK) - no messages are sent at BREAK-POINTs
7. ("#EC TRANSLANG) specifies that the use of TOUPPER or TOLOWER is also safe in multilingual systems.
8. ("#EC SYNTCHAR) specifies that the data TOUPPER or TOLOWER is used on contains only characters from the syntactical character set.
One example given there..
DATA: I TYPE I. "#EC NEEDED
I = 4.
BREAK-POINT. "#EC NOBREAK
WRITE 'Hugo'. "#EC NOTEXT
IF 'a' < 'c'. "#EC PORTABLE
ENDIF.
FORM AB. "#EC CALLED
ENDFORM.
Hope this helps.
Regards,
Susanta -
Let me know about the code inspector ?
Hi
Let me know about the code inspector ?
thanks in advancehi
The transaction for the code inspector is SCI / SCID. Code inspector generally used to check for Syntax Checks, Security checks and Performance checks.
<b>Check these links on Code Inspector:</b>
http://sap.ittoolbox.com/groups/technical-functional/sap-dev/abap-code-inspector-1441023
/people/randolf.eilenberger/blog/2007/03/12/code-inspector146s-performance-checks-i
/people/peter.inotai/blog/2006/11/02/code-inspector--how-to-create-a-new-check
http://help.sap.com/saphelp_nw04/helpdata/en/56/fd3b87d203064aa925256ff88d931b/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/56/fd3b87d203064aa925256ff88d931b/frameset.htm
<b>reward points for useful ans</b>
Regards
Aarti -
Hi Everyone,
In our project we have a requirement to automate the code review checklist preparation to the maximum extent possible.
Code Inspector has some standard checks included into it from which we can select the relevant checks for inspection purpose. My question is, whether we can customize it to add few more checks to meet our requirement or whatever standard check is there is the most we can have??????
SAP Ver 4.6c.
Any links to download relevant materials?
Any one having any custom object build for this purpose they can share it.
It would be of great help.Hi
http://help.sap.com/saphelp_nw04/helpdata/en/56/fd3b87d203064aa925256ff88d931b/content.htm
see tis link
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/50456d27-0a01-0010-ed95-ba71d8f0d74b
http://searchsap.techtarget.com/loginMembersOnly/1,289498,sid21_gci918390,00.html?NextURL=http%3A//searchsap.techtarget.com/tip/0%2C289483%2Csid21_gci918390%2C00.html
The Code Inspector (transaction code SCI) is a tool for checking Repository objects regarding performance, security, syntax, and adherence to name conventions. You can also determine statistical information or search for certain ABAP words (tokens). In the Code Inspector, you can define inspections that, with the help of check variants, examine certain sets of objects. As the result of an inspection, you receive information messages, warning messages, or error messages on different properties of the examined objects.
You can check the following link for details.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/events/sap-teched-03/abap%20troubleshooting
http://help.sap.com/saphelp_erp2004/helpdata/en/56/fd3b87d203064aa925256ff88d931b/frameset.htm
<b>Reward if usefull</b> -
Export query result on sap directories
Hi,
I need to export daily query result on a sap directory.
I can't use open hub because the file is made of restricted key figures, and calculated key figures.
Which functionality in BI7 should i use to manage this issue? Should i use specific code?
Thanks for your help,Hey Arvind,
I'm working on a how-to guide for this. It's a work in progress, so it's not on SDN yet. Here's a draft...
https://sapmats-us.sap-ag.de/download/download.cgi?id=VZEDPDRVHQAR055E2PVICKUGO0M54DXI7D8O1X4T3G5EXBSL1J
As always, and comments are welcome. -
Execute ABAP Code Inspector from Outside of SAP
Hi all...
For reporting purpose, I would like to use ABAP Code Inspector (transaction SCI) for generating output as a file, it should call from outside of SAP through RFC function module and generate the list (output) as flat file (or XML), does anyone have been done with similar work like this? I wonder if you could share your experience with me...
thanks in advance,
yayan irianto.I managed to set up the variant, however found a problem.
I used "Search ABAP Statement Patterns" under "Search Functs" and set the pattern like followings.
SELECT + INTO *
SELECT SINGLE + INTO *
However following statements were detected.
SELECT * INTO TABLE IT_DRAW FROM DRAW.
SELECT MANDT INTO TABLE IT_DRAW FROM DRAW.
SELECT SINGLE * INTO TABLE IT_DRAW FROM DRAW.
SELECT SINGLE MANDT INTO TABLE IT_DRAW FROM DRAW.
It's because + means one ABAP token in the code inspector.
Is there anyway to find only "SELECT SINGLE *" and "SELECT *" ? -
Code Inspector: Examine programs in extern SAP systems?
Would it be possible to call from the Solution manager the code inspector and examine a program of a connected 4.6c-er system?
Hi there!
Today, I stumbled over the same problem: Defining an Include for user exits leads to a check of the surrounding function group from SAP which I don't want to correct at all.
Is there a nice an elegant way of filtering out the SAP modules from checking? If not, the only way to get around this seems to be building an own implementation of the Code Inspector integration into CTS.
Thanks, Markus -
Using Code Inspector to search over SAP Packages
Hallo Guru,
I'm looking for a way to retrieve a message class number 127 "Initialization error" of message class C1 of a Package called CT.
So, usually with Code Inspector we can search over our client Packages.
But how I'm gone use code inspector to retrieve the different instances of code where my message number 127 is called.
The Problem that I'm getting this error when I call the BAPI_CHARACT_CHANGE located in the Function Group CTBP
And I don't know why I'm getting this?
Please reply me, if you have difficulty to understand what I wrote.
Also, please reply, if you really know how to solve the Problem.
Thanks In Advance.
Regards,
KaisHello,
you can use program RS_ABAP_SOURCE_SCAN to scan sources for the message number. If you search for '127' in objects of package CT, you get a match: Include LCTMVF32, line 39.
Hope this answers your question.
Regards,
David -
My first Code Inspector extension
I'm trying to write my first own extension of Code Inspector. I don't like to discover again new wheel so I'm asking You:
Is in ABAP any test which check how long is procedure (how many lines is beetwene FORM ENDFORM statement?) which return warnings when length is just a little bit to big and errors when exceed a lot maximum length?
<b>I'm only interesting that is already in SAP this kind of test.</b>
Cheers, TomekHello Thomasz,
you will see all SAP checks when starting SCI. Only with the newer releases there is a check on program metrics.
Regards,
Klaus
<b>Documentation</b>
Determining Complexity of Procedures in ABAP Programs
The check calculates different complexity measurements for procedures in ABAP programs. These measurements are:
Number of Statements. Cyclical complexity. Here there is also the variant through a test parameter as to whether a CASE statement is treated as a simple or multiple branch.
Number of Versions. This measurement can only be determined in the original system of the respective program since these versions are only there.
In the results display, there is only one single information message. The results list is displayed when you double-click this message. In this list, the above-mentioned complexity measurements are specified after the procedure type and the procedure name. In addition, the Include and the line where the respective procedure begins are displayed. By double-clicking here, you can branch to the source code. The list can be sorted, as usual, by any column you wish. In addition, the standard procedures for exporting (for example, to Excel) are provided.
The test specifies the various procedure types in the results list in the following manner:
METH : Methods
FORM: Forms
FUNC: Function modules
MOD: Modules
STAS: START-OF-SELECTION event
TOPS: TOP-OF-PAGE event
<b>Some code excerpt</b>
method RUN .
data:
L_EXCP type ref to CX_EXCEPTION,
L_NAME type STRING,
L_CLASS type STRING.
if REF_SCAN is initial.
check GET( ) = 'X'.
endif.
check REF_SCAN->SUBRC = 0.
if PA_VERSION = 'X'.
GET_PROC_VERSIONS( ).
endif.
STATEMENT_INDEX = 1.
try.
do.
read table REF_SCAN->STATEMENTS index STATEMENT_INDEX into STATEMENT_WA.
if SY-SUBRC <> 0. exit. endif.
add 1 to STATEMENT_INDEX.
check STATEMENT_WA-FROM <= STATEMENT_WA-TO.
*-- avoid native SQL
check STATEMENT_WA-TYPE na 'EMPSDR'.
case KEYWORD( ).
when 'PROGRAM'
or 'REPORT'
or 'START-OF-SELECTION'.
CHECK( P_PROC_TYPE = 'SSEL' P_PROC_NAME = '%' ).
when 'END-OF-SELECTION'.
CHECK( P_PROC_TYPE = 'ESEL' P_PROC_NAME = '%' ).
when 'FORM'.
L_NAME = GET_TOKEN_REL( 2 ).
CHECK( P_PROC_TYPE = 'FORM' P_PROC_NAME = L_NAME ).
when 'FUNCTION'.
L_NAME = GET_TOKEN_REL( 2 ).
CHECK( P_PROC_TYPE = 'FUNC' P_PROC_NAME = L_NAME ).
when 'METHOD'.
L_NAME = GET_TOKEN_REL( 2 ).
concatenate L_CLASS '=>' L_NAME into L_NAME.
CHECK( P_PROC_TYPE = 'METH' P_PROC_NAME = L_NAME ).
when 'MODULE'.
L_NAME = GET_TOKEN_REL( 2 ).
if GET_TOKEN_REL( 3 ) = 'OUTPUT'.
CHECK( P_PROC_TYPE = 'MODO' P_PROC_NAME = L_NAME ).
else.
CHECK( P_PROC_TYPE = 'MODI' P_PROC_NAME = L_NAME ).
endif.
when 'CLASS'.
L_CLASS = GET_TOKEN_REL( 2 ).
when 'INITIALIZATION'.
CHECK( P_PROC_TYPE = 'INIT' P_PROC_NAME = '%' ).
when 'GET'.
L_NAME = GET_TOKEN_REL( 2 ).
if GET_TOKEN_REL( 3 ) = 'LATE'.
CHECK( P_PROC_TYPE = 'GETL' P_PROC_NAME = L_NAME ).
else.
CHECK( P_PROC_TYPE = 'GET' P_PROC_NAME = L_NAME ).
endif.
when 'AT'.
L_NAME = GET_TOKEN_REL( 2 ).
if strlen( L_NAME ) > 2 and L_NAME(2) = 'PF'.
L_NAME = L_NAME+2.
CHECK( P_PROC_TYPE = 'ATPF' P_PROC_NAME = L_NAME ).
else.
case L_NAME.
when 'USER-COMMAND'.
CHECK( P_PROC_TYPE = 'ATUC' P_PROC_NAME = '%' ).
when 'LINE-SELECTION'.
CHECK( P_PROC_TYPE = 'LISE' P_PROC_NAME = '%' ).
when 'SELECTION-SCREEN'.
L_NAME = GET_TOKEN_REL( 3 ).
if L_NAME is initial.
CHECK( P_PROC_TYPE = 'ATSS' P_PROC_NAME = '%' ).
else.
CHECK( P_PROC_TYPE = 'ATSS' P_PROC_NAME = L_NAME ).
endif.
endcase.
endif.
when 'TOP-OF-PAGE'.
if GET_TOKEN_REL( 2 ) = 'DURING'.
CHECK( P_PROC_TYPE = 'TOPS' P_PROC_NAME = '%' ).
else.
CHECK( P_PROC_TYPE = 'TOPA' P_PROC_NAME = '%' ).
endif.
when 'END-OF-PAGE'.
CHECK( P_PROC_TYPE = 'ENPA' P_PROC_NAME = '%' ).
when 'LOAD-OF-PROGRAM'.
CHECK( P_PROC_TYPE = 'LDPR' P_PROC_NAME = '%' ).
endcase.
enddo.
catch CX_EXCEPTION into L_EXCP.
raise event MESSAGE exporting
P_SUB_OBJ_TYPE = C_TYPE_INCLUDE
P_SUB_OBJ_NAME = L_EXCP->INCLUDE
P_LINE = L_EXCP->LINE
P_COLUMN = L_EXCP->COLUMN
P_KIND = C_WARNING
P_TEST = C_MY_NAME
P_CODE = 'SYNTAX'.
endtry.
endmethod.
method CHECK .
data:
L_INCLUDE type PROGRAM,
L_LINE type I,
L_COLUMN type TOKEN_COL,
L_COMPLEXITY type I value 1,
L_STMNTS type I,
L_VERSIONS type I,
L_COMPLEXITY_C type SYCHAR10,
L_STMNTS_C type SYCHAR10,
L_VERSIONS_C type SYCHAR10,
L_NESTED_C type SYCHAR10,
L_PARAM_1 type STRING,
L_TOKEN type STRING,
L_PROC_VERSION like line of PROC_VERSIONS,
L_NESTED type I,
L_MAX_NESTED type I.
L_INCLUDE = GET_INCLUDE( ).
L_LINE = TOKEN_WA-ROW.
L_COLUMN = TOKEN_WA-COL.
do.
read table REF_SCAN->STATEMENTS index STATEMENT_INDEX into STATEMENT_WA.
if SY-SUBRC <> 0.
exit.
endif.
add 1 to STATEMENT_INDEX.
check STATEMENT_WA-FROM <= STATEMENT_WA-TO.
check STATEMENT_WA-TYPE na 'PS'.
*-- avoid native SQL
* check STATEMENT_WA-TYPE na 'EMDR'.
case KEYWORD( ).
when 'IF' or 'WHILE' or 'LOOP' or 'DO' or 'PROVIDE'.
if TOKEN_WA-ROW <> 0.
add 1 to L_COMPLEXITY.
add 1 to L_NESTED.
if L_NESTED > L_MAX_NESTED.
L_MAX_NESTED = L_NESTED.
endif.
endif.
when 'ELSEIF'.
if TOKEN_WA-ROW <> 0.
add 1 to L_COMPLEXITY.
endif.
when 'ENDIF' or 'ENDWHILE' or 'ENDLOOP' or 'ENDDO' or 'ENDTRY'.
subtract 1 from L_NESTED.
when 'TRY'.
add 1 to L_NESTED.
if L_NESTED > L_MAX_NESTED.
L_MAX_NESTED = L_NESTED.
endif.
when 'SELECT'.
when 'ENDSELECT'.
if TOKEN_WA-ROW <> 0.
add 1 to L_COMPLEXITY.
add 1 to L_NESTED.
if L_NESTED > L_MAX_NESTED.
L_MAX_NESTED = L_NESTED.
endif.
subtract 1 from L_NESTED.
endif.
when 'CHECK'.
if TOKEN_WA-ROW <> 0.
add 1 to L_COMPLEXITY.
endif.
when 'CASE'.
if PA_WITH_CASE = 'X'.
add 1 to L_COMPLEXITY.
endif.
add 1 to L_NESTED.
if L_NESTED > L_MAX_NESTED.
L_MAX_NESTED = L_NESTED.
endif.
when 'ENDCASE'.
subtract 1 from L_NESTED.
when 'WHEN'.
if PA_WITH_CASE <> 'X' and TOKEN_WA-ROW <> 0.
if GET_TOKEN_REL( 2 ) <> 'OTHERS'.
add 1 to L_COMPLEXITY.
endif.
endif.
when 'ENDFORM' or 'ENDFUNCTION' or 'ENDMETHOD' or 'ENDMODULE'.
exit.
when 'FORM'
or 'FUNCTION'
or 'MODULE'
or 'START-OF-SELECTION'
or 'END-OF-SELECTION'
or 'TOP-OF-PAGE'
or 'END-OF-PAGE'
or 'LOAD-OF-PROGRAM'
or 'INITIALIZATION'
or 'CLASS'.
subtract 1 from STATEMENT_INDEX.
exit.
when 'GET'.
if GET_TOKEN_REL( 2 ) <> 'TIME'.
case GET_TOKEN_REL( 3 ).
when 'LATE' or 'FIELDS' or ''.
subtract 1 from STATEMENT_INDEX.
exit.
endcase.
endif.
when 'AT'.
L_TOKEN = GET_TOKEN_REL( 2 ).
if strlen( L_TOKEN ) > 2 and L_TOKEN(2) = 'PF'.
subtract 1 from STATEMENT_INDEX.
exit.
else.
case L_TOKEN.
when 'USER-COMMAND'.
subtract 1 from STATEMENT_INDEX.
exit.
when 'LINE-SELECTION'.
subtract 1 from STATEMENT_INDEX.
exit.
when 'SELECTION-SCREEN'.
subtract 1 from STATEMENT_INDEX.
exit.
endcase.
endif.
add 1 to L_NESTED.
if L_NESTED > L_MAX_NESTED.
L_MAX_NESTED = L_NESTED.
endif.
add 1 to L_COMPLEXITY.
when 'ENDAT'.
subtract 1 from L_NESTED.
endcase.
if PA_VERSION = 'X'.
loop at REF_SCAN->TOKENS from STATEMENT_WA-FROM to STATEMENT_WA-TO into TOKEN_WA.
check TOKEN_WA-ROW <> 0.
CL_CI_PROVIDE_CHECKSUM=>GEN_CHKSUM_FROM_STRING( exporting P_PARAM = TOKEN_WA-STR
changing P_CRC_VALUE = L_PROC_VERSION-CRC ).
endloop.
endif.
add 1 to L_STMNTS.
enddo.
L_PROC_VERSION-PROC_TYPE = P_PROC_TYPE.
L_PROC_VERSION-PROC_NAME = P_PROC_NAME.
collect L_PROC_VERSION into PROC_VERSIONS.
loop at PROC_VERSIONS transporting no fields where PROC_TYPE = P_PROC_TYPE and PROC_NAME = P_PROC_NAME.
add 1 to L_VERSIONS.
endloop.
L_COMPLEXITY_C = L_COMPLEXITY.
L_NESTED_C = L_MAX_NESTED.
L_STMNTS_C = L_STMNTS.
L_VERSIONS_C = L_VERSIONS.
concatenate P_PROC_TYPE P_PROC_NAME L_STMNTS_C L_COMPLEXITY_C L_NESTED_C L_VERSIONS_C into L_PARAM_1 separated by ' '.
condense L_PARAM_1.
raise event MESSAGE exporting
P_SUB_OBJ_TYPE = C_TYPE_INCLUDE
P_SUB_OBJ_NAME = L_INCLUDE
P_LINE = L_LINE
P_COLUMN = L_COLUMN
P_KIND = C_NOTE
P_TEST = C_MY_NAME
P_CODE = C_CODE_SUMMARY
P_PARAM_1 = L_PARAM_1.
if L_COMPLEXITY >= PA_COMPLEXITY.
raise event MESSAGE exporting
P_SUB_OBJ_TYPE = C_TYPE_INCLUDE
P_SUB_OBJ_NAME = L_INCLUDE
P_LINE = L_LINE
P_COLUMN = L_COLUMN
P_KIND = C_WARNING
P_TEST = C_MY_NAME
P_CODE = C_CODE_COMPLEXITY
P_PARAM_1 = L_COMPLEXITY_C.
endif.
if L_STMNTS >= PA_STMNTS.
raise event MESSAGE exporting
P_SUB_OBJ_TYPE = C_TYPE_INCLUDE
P_SUB_OBJ_NAME = L_INCLUDE
P_LINE = L_LINE
P_COLUMN = L_COLUMN
P_KIND = C_WARNING
P_TEST = C_MY_NAME
P_CODE = C_CODE_STMNTS
P_PARAM_1 = L_STMNTS_C.
endif.
if L_NESTED >= PA_NESTED.
raise event MESSAGE exporting
P_SUB_OBJ_TYPE = C_TYPE_INCLUDE
P_SUB_OBJ_NAME = L_INCLUDE
P_LINE = L_LINE
P_COLUMN = L_COLUMN
P_KIND = C_WARNING
P_TEST = C_MY_NAME
P_CODE = C_CODE_NESTED
P_PARAM_1 = L_NESTED_C.
endif.
if L_VERSIONS >= PA_VERSIONS.
raise event MESSAGE exporting
P_SUB_OBJ_TYPE = C_TYPE_INCLUDE
P_SUB_OBJ_NAME = L_INCLUDE
P_LINE = L_LINE
P_COLUMN = L_COLUMN
P_KIND = C_WARNING
P_TEST = C_MY_NAME
P_CODE = C_CODE_VERSIONS
P_PARAM_1 = L_VERSIONS_C.
endif.
endmethod. -
Code Inspector Showing Error!!!
Hi All,
How to correct the following error raised by Code Inspector Check!!!!
ProgramZFTSRPRECC Include ZFTSRPRECC Row 1 Column 0
The namespace of the programZFTSRPRECC has the setting "C" and cannot be
tested
A possible cause for this is that an SAP program is being checked in a customer
system
Note, the following rule applies after a change in the sourcecode:
For testing the namespace settingis ignored for one week.
regards,
naveen.....Check the attributes of the program, whether u may be selected "C" in Application option, if yes change to something else and test.
Pls get back with the result. -
What exactly is the function of code inspector
Hi,
Pelase let me know the function of code inspector and related transaction with it.
Thanks in advance
Regards
Irfan HussainHi Irfan,
The Code Inspector (transaction code SCI) is a tool for checking Repository objects regarding performance, security, syntax, and adherence to name conventions. You can also determine statistical information or search for certain ABAP words (tokens). In the Code Inspector, you can define inspections that, with the help of check variants, examine certain sets of objects. As the result of an inspection, you receive information messages, warning messages, or error messages on different properties of the examined objects.
You can check the following link for details.
http://help.sap.com/saphelp_erp2004/helpdata/en/56/fd3b87d203064aa925256ff88d931b/frameset.htm
Thanks and Regards,
Ashish. -
Code Inspector - Naming conventions &mExtended Naming conventions for Progs
Hi experts,
I had a look into the naming conventions enforced by 'DEFAULT' variant of code inspector (SCI).
the relevant categories are: "Naming Conventions", and "Extended Naming conventions for Programs" under "Programing conventions".
in the "Extended Naming conventions for Programs" category, for functions, (applicable while calling the functions) it says,
importing parameter : I[:type:]_
exporting parameter : E[:type:]_
changing parameter : C[:type:]_
tables parameter : T[:type:]_
but in the "naming conventions" category, for functions (applicable while defining the functions), it says,
importing parameter : P_*
exporting parameter : P_*
changing parameter : P_*
tables parameter : P_*
I felt, while defining the function too, its better to have beginning with I_, E_, C_ or T_ instead of P_
is the 'DEFAULT' variant of code inspector is provided and recommended by SAP?
for easier maintenance and clearer understanding, which naming convention is more suitable, or is there any official guidelines released by SAP for ABAP developers.
appreciate the opinions from experienced abap developers.
thanks,
Madhu_1980Frank,
Thanks for your answer.
But what about Entity Objects, View Objects, View Links, and Application Modules.
I would like my developers to have an easy way to name them and also find them via intellisense.
So I was thinking in naming them the following way :
Entity Objects :
EO_Employee
EO_Department
View Objects :
VO_Employees
VO_Departments
View Links :
VL_EmployeesToDepartments
Application Module :
AM_HRService
However the use of "_" is not so "Java naming oriented".
So other alternatives would be:
1. take the "_" :
1.1 EOEmployee (I don't like the fact of having 3 capital letters together).
1.2 EoEmployee (I don't like the fact of having Entity Object with a lowercase "o").
2. Use the prefix at the end, but this way I loose the intellisense feature I want:
ex: EmployeeEO
Which naming approach are you using for big projects ?
Thanks,
Claudio.
Maybe you are looking for
-
Problems to install Itunes en Windows 7 - 64 bit
Problems , happen when try to install the new version of itunes on my laptop. when the proccess star to install and copy the files . that action was stop and give the following message: "error to write on file: C\Program files(x86)\common files\Appl
-
How can i find the serial number for an ipod classic
I dont have the original packaging or the reciept, It wont connect to itunes or my laptop and all that shows on the ipod's screen is a red circle with a cross inside it. I have tried to reset it but have not been able to. Any help would be much appre
-
EDI (Electronic Data Interchange) exchange of business documents (e.g. purchase/sales orders, invoices) between business partners (e.g. customer, vendor) by means of electronic messages ALE (Application Link Enabling) integrated busi
-
Delta broken between two DSO ??
Hello, We are on BI 7.0. We have copied our productive system into our develoment system in order to have refresh datas. But since this copy with a big problem in our development system : one DTP on delta is broken between two DSO. I Try to reactivat
-
Weblogic always emits COMMIT or ROLLBACK?
weblogic 5.1sp11 Oracle 8.1.7 Oracle type 2 driver Windows 2000 At the closing of a database transaction (even an implied transaction, like a single SELECT), does Weblogic issue a COMMIT (or ROLLBACK if necessary) EVERY TIME? Our Oracle database conn