Clearing abap program log activity?
I have created a simple executable program in client 800 sys of r3 inside a package .Now i want to change and edit the abap program.
1>WILL SAP SYSTEM WILL BE KEEPING A LOG ACTIVITY OF WHAT TIME I CHANGE THE PROGRAM EACH N EVERY TIME.
i mean will it be keep on tracking what time i open , what time i edit the programs???
2>IF so i think the admin will be able to view my logs..
3>IS IT POSSIBLE TO BYPASS THE LOG AND EDIT THE PROGRAM SECOND AFTER LOGGIN IN SAPSYTEM
Removing the trace tat i have edited the program again..??
Help me out to find answers for above??
Moderator message: duplicate post, hacking not supported.
Edited by: Thomas Zloch on Feb 1, 2012
WILL SAP SYSTEM WILL BE KEEPING A LOG ACTIVITY OF WHAT TIME I CHANGE THE PROGRAM EACH N EVERY TIME.
i mean will it be keep on tracking what time i open , what time i edit the programs???
=> whenever you change a object and activate it , a new version is created , called as version management in SAP.
>IF so i think the admin will be able to view my logs..
=> Yes
IS IT POSSIBLE TO BYPASS THE LOG AND EDIT THE PROGRAM SECOND AFTER LOGGIN IN SAPSYTEM
Removing the trace tat i have edited the program again..??
=> Why you will do that , its ok to change a program and no crime
Similar Messages
-
How can we create the error log in a ABAP program
Hi all,
How can we create the error log in a ABAP program
Thanks,
srinivas.Hi,
Refer to FM's in the Function Group SBAL. For a change most of the FM's have been well documented. Also have a look at the DEMO pgms. Se38---->SBALDEMO & F4.
Regards
Raju Chitale -
ABAP Program to delete the WDSO contents from active data table & Manage Re
Hi,
We have requirement where we have to delete the request id from manage screen and data from Active table of WDSO.
I have gone through this weblink where we have to hardcode the DSO name in the table (Deletion of WDSO (Write-optimized DataStore object) Load requests and active table data without deleting it from targetSAPNetworkWeblogs%2528SAPNetworkWeblogs%2529)
Apart from that is there any suggestions or input where i can have selection screen for DSO and execute that will help us to delete the Request IDs and content of active table from WDSO.
Suggestions or input programs really appreciated.
Kindly do the needful.
Regrads,
Prem
Edited by: pannalde on Nov 22, 2011 8:24 AMHi,
http://help.sap.com/saphelp_nw04/helpdata/en/2d/677b3c513d3311e10000000a114084/content.htm
With program RSSM_DELETE_WO_DSO_REQUESTS it is possible to delete old requests in the Write-Optimized DSO, exactly like we are used to do with PSA requests via a Process Chain.
This program is available as of SAP NetWeaver BW 7.01 SP07. See note 1437407 for details.
You can automate the deletion of old WO requests by using the ABAP program step in the Process Chain.
Regards,
rvc -
Log from ABAP program in Process chain
Hello.
I have some problem. I wrote the ABAP program and insert this program in process chain. This program a correctly work, but I canu2019t view the steps of work this program. In help:
You can write logs by outputting success messages. (Error messages terminate the task!)
Example: MESSAGE s051(rsar) WITH 'Process successfully ended'.
You can see these logs on the tab page Batch in the detail monitors of the process chain.
I append this code to my program, but nothing in process chain.
Help me, please - what code I need to insert in my program so that view this message in a process chain logs?We have an ABAP that outputs a message. The output from the following code is visible when you click on a process chain step icon, and select the middle tab that says "Backg" for background.
IF sy-subrc = 0.
CONCATENATE text-005 p_date INTO l_msg SEPARATED BY space.
MESSAGE i162(00) WITH l_msg.
ELSE.
CONCATENATE text-003 p_date INTO l_msg SEPARATED BY space.
MESSAGE e162(00) WITH l_msg.
ENDIF. -
How-to trigger an ABAP program after a user logs on?
Does anybody know if it is possible to trigger an ABAP program just after a users logs into the system?
Thanks
IoanThe function module is EXIT_SAPLSUSF_001. The include program is ZXUSRU01.
Just put your SUBMIT statement in this include program.
Regards,
Rich Heilman -
Problem with the active version of the transfer rule ABAP program with sour
Hi,
I have a problem with the active version of the transfer rule ABAP program with source system EXCEL.
The system does not react to changes done in the transfer rule coding. For FISCPER I have hardcoded the result 'BABABA' and still the results delivered are those from the CSV.
Resetting the system buffers does not help. The problem is systematic in combination with source system EXCEL (i.e. not only 1 InfoSource). Checking the active program Extras->Display Program shows the coding (result='BABABA') being there, but
as stated, the system does not produce the result BABABA, but instead the result of the CSV.
It seems as if the original version from the very first activation of the transfer rule program remains somewhere and continues to be used. Does anybody know how to flush it out and get the system to actually use the coding appearing as the active program.
I have posted an OSS note, but SAP takes it time to answer and I am under time pressure so I figured that maybe one of you know who to solve it before SAP does.
Greetings and thanks,
MartinHi martin,
just try to go out the RSA1 and then return to your infopac. ...
sometimes there some "cache" trouble -
I Wonder whether it is possible to write an abap program
which fulfills following requirement.
just like the tcode which is used to log off /nex.
but it closes all sap windows without warning on the same server.
what i want,
i want to write a progam and then create a tcode for that say zex.
on entering that tcode the system close all sap window on the same server except one.
eg:
say i have opened 4 sessions of prd server. and i want to close 3 of them.
then i execute custom tcode say zex. and out of 4 --3 sessions will be closed.
no of sessions to be closed = total no of open sessions - 1.
dont know whether it is possible>
ur suugesstions wanted.
there are FM present.
THUSRINFO
call 'syst_logoff'.
but none of them suits to my requirement.,Get list of modes and delete specific modes are not easy, you will mostly require use of "forbidden" call system command like ThUsrInfo.
What if you want to try ?
Look at include TSKHINCL for opcode values, perform some where-used on those constants, if unlucky you find SAP report using the system calls, if you are lucky the call is executed in a useful function module (name starting with TH_)
The result could look like following samples, informative only, neither tested nor intended to be tested...
DATA: tid TYPE utid,
modes TYPE sy-index,
mode_list type table of modus with HEADER LINE,
modus type modus.
* Current session id (Look at TH_USER_INFO)
CALL 'ThUsrInfo' ID 'OPCODE' FIELD opcode_usr_attr
ID 'TID' FIELD tid. " Id of current session
* Number of modes (Look at form modus_liste of RSM04000_ALV)
CALL 'ThUsrInfo' ID 'OPCODE' FIELD opcode_mode_count
ID 'TID' FIELD tid
ID 'MODES' FIELD modes. " number of modes
CHECK modes GT 1.
* List of modes with transaction (Look at TH_SELECT_MODE)
*CALL 'ThUsrInfo' ID 'OPCODE' FIELD opcode_get_mode_list
* ID 'TID' FIELD tid
* ID 'MODE_LIST' FIELD mode_list. " mode list
* Delete a Mode (Look at TH_DELETE_MODE)
CALL 'ThUsrInfo' ID 'OPCODE' FIELD opcode_delete_mode
ID 'MODE' FIELD mode.
Try in a sandbox...
Regards,
Raymond
PS: /nex is not an actual transaction, trying to enter in debug mode (even system) in what is probably a C program gives little chance of success... -
Close a transaction through ABAP program without user log off.
Hi,
I have to write an ABAP program that will check if a particular transaction (for example tcode VA01) is running than it must close the transaction.
Please give me your inputs or sample code if possible.
Thanks for your suggestions.
--SanjaySanjay,
Check with this how much it is going to help you out..
PARAMETERS: p_user LIKE sy-uname.
DATA: gt_user_info TYPE TABLE OF /sdf/user_context,
wa_uinfo LIKE /sdf/user_context.
START-OF-SELECTION.
CALL FUNCTION '/SDF/MON_USER_MEMORY'
TABLES
modes = gt_user_info.
CHECK NOT gt_user_info IS INITIAL.
LOOP AT gt_user_info INTO wa_uinfo WHERE uname EQ p_user.
IF wa_uinfo-tcode = 'VA01'.
CALL FUNCTION 'TRANSACTION_ABORT'
EXPORTING
transaction_id = transaction_id
EXCEPTIONS
OTHERS = 1.
EXIT.
ENDIF.
ENDLOOP.
Regards,
CK -
Hii Gurus!!
Can anyone give me the report for ABAP programs, which has been fired in last one month. This is an urgent requirement of my client.
points will be rewarded.
kapilThere is one table which can help you.
Please check the TADIR table and then check the table entries there :-
enter the PGMID = r3tr and OBJECT type=PROG
You will get all the program list over there. Hope it will work for you -
Error in executing ABAP program. Error occurred when creating dataset
hi,
when I use LKM SAP ERP to Oracle (SQLLDR) to extract data from SAP ERP server. I execute my interface, and it's stop at extract data step.
This is message:
java.lang.RuntimeException: Error occured in open tool execute method...Error in executing ABAP program...Error in executing ABAP program...Error occurred when creating dataset/abc/ZODI_13001_6001_GLOBAL.txt
I tried others path name, tried slash or backslash. This is content in code tab
OdiSAPAbapExecute "-UPLOAD=1" "-EXECUTE=1" "-EXECUTEBASE_RKM=0" "-ZRFC_RUN_INSTALL=1" "-ABAP_PROGRAM_NAME=ZODI_13001_6001" "-HOST=10.86.87.24" "-USER=sv_hoa" "-PASSWORD=<@=snpRef.getInfo("SRC_PASS") @>" "-SAP_CLIENT=800" "-SAP_LANGUAGE=EN" "-SAP_SYSTEM_NUMBER=02" "-SAP_FUNCTION_GROUP_NAME=ZODI_FGR_13001" "-CONNECTION_POOL_NAME=SAP_ODI_ERP_POOL_10.86.87.24" "-CONNECTION_POOL_SIZE=10" "-FILE_DELIMITER=<@=""+(char)8@>" "-FILE_NAME=ZODI_13001_6001_GLOBAL.txt" "-FTP_HOST=10.86.82.108" "-FTP_USER=anh" "-FTP_PASSWORD=<@=sFtpPassword@>" "-FTP_PASSIVE_MODE=1" "-FTP_TRANSFER_TIMEOUT=100000" "-ODI_VARIABLE_NAMES=" "-ODI_VARIABLE_VALUES=" "-USER_ABAP_PARAMETER_NAMES=IV_DELIMITER,CHAR3;IV_FILENAME,CHAR255;IV_USER,CHAR35;IV_PWD,CHAR35;IV_HOST,CHAR35;IV_HASHVALUE,CHAR35;IV_PATH,CHAR35;IV_MAX_ROW_CNT,SYTABIX;IV_FETCH_BATCH_SIZE,SYTABIX;" "-USER_ABAP_PARAMETER_VALUES=<Value>" "-USER_ABAP_PARAMETER_SEPARATOR=<Value>" "-ABAP_TABLE_PARAMETERS=RETURN,BAPIRETURN;ET_FILE_RETURN,BAPIRET2" "-ABAP_EXPORT_PARAMETERS=ERRORMESSAGE;SY-MSGV1" "-LOG_FILE_NAME=C:\Users\anh\AppData\Local\Temp\SapAbapExecuteOpenTool_13001.log" "-FTP_PATH=/abc/" "-DEV_CLASS=ZODI_DEVCLASS" "-MAX_ROW_COUNT=" "-FETCH_BATCH_SIZE=100000" "-HASH_VALUE_MARKER=HVM" "-ABAP_PROGRAM_BODY=
*Final Type declarations
TYPES : BEGIN OF ty_final,
Y03HOCSINH_HOCSINH_ID TYPE
Y03HOCSINH-HOCSINH_ID,
Y03HOCSINH_MA_HOC_SINH TYPE
Y03HOCSINH-MA_HOC_SINH,
Y03HOCSINH_TEN_HOC_SINH TYPE
Y03HOCSINH-TEN_HOC_SINH,
Y03HOCSINH_GIOI_TINH TYPE
Y03HOCSINH-GIOI_TINH,
Y03HOCSINH_DIA_CHI TYPE
Y03HOCSINH-DIA_CHI,
Y03HOCSINH_GHI_CHU TYPE
Y03HOCSINH-GHI_CHU,
END OF ty_final.
*Final Temp Type Declarations
TYPES : BEGIN OF ty_final_tmp,
Y03HOCSINH_HOCSINH_ID TYPE
Y03HOCSINH-HOCSINH_ID ,
Y03HOCSINH_MA_HOC_SINH TYPE
Y03HOCSINH-MA_HOC_SINH ,
Y03HOCSINH_TEN_HOC_SINH TYPE
Y03HOCSINH-TEN_HOC_SINH ,
Y03HOCSINH_GIOI_TINH TYPE
Y03HOCSINH-GIOI_TINH ,
Y03HOCSINH_DIA_CHI TYPE
Y03HOCSINH-DIA_CHI ,
Y03HOCSINH_GHI_CHU TYPE
Y03HOCSINH-GHI_CHU ,
END OF ty_final_tmp.
*Final Target Type Declarations
TYPES : BEGIN OF ty_final_target,
C0_Y03HOCSINH_HOCSINH_ID TYPE
Y03HOCSINH-HOCSINH_ID,
C1_Y03HOCSINH_MA_HOC_SINH TYPE
Y03HOCSINH-MA_HOC_SINH,
C2_Y03HOCSINH_TEN_HOC_SINH TYPE
Y03HOCSINH-TEN_HOC_SINH,
C3_Y03HOCSINH_GIOI_TINH TYPE
Y03HOCSINH-GIOI_TINH,
C4_Y03HOCSINH_DIA_CHI TYPE
Y03HOCSINH-DIA_CHI,
C5_Y03HOCSINH_GHI_CHU TYPE
Y03HOCSINH-GHI_CHU,
END OF ty_final_target.
* Table type for Y03HOCSINH
TYPES : BEGIN OF ty_Y03HOCSINH,
HOCSINH_ID TYPE
Y03HOCSINH-HOCSINH_ID,
MA_HOC_SINH TYPE
Y03HOCSINH-MA_HOC_SINH,
TEN_HOC_SINH TYPE
Y03HOCSINH-TEN_HOC_SINH,
GIOI_TINH TYPE
Y03HOCSINH-GIOI_TINH,
DIA_CHI TYPE
Y03HOCSINH-DIA_CHI,
GHI_CHU TYPE
Y03HOCSINH-GHI_CHU,
END OF ty_Y03HOCSINH.
TYPES: BEGIN OF gs_text,
line(843) TYPE c,
END OF gs_text.
*Structure Declarations
DATA: wa_final_string TYPE string,
wa_final TYPE ty_final,
wa_final_target TYPE ty_final_target,
wa_Y03HOCSINH TYPE ty_Y03HOCSINH,
*Table Declarations
tt_final TYPE STANDARD TABLE OF ty_final,
tt_Y03HOCSINH TYPE STANDARD TABLE OF ty_Y03HOCSINH,
tt_final_target TYPE STANDARD TABLE
OF ty_final_target,
tt_final_tmp TYPE STANDARD TABLE OF ty_final_tmp,
tt_final_tmp1 TYPE STANDARD TABLE OF ty_final,
gt_result TYPE STANDARD TABLE OF gs_text,
*Variable Declarations
lv_path TYPE string,
lv_flag TYPE char1,
C0_Y03HOCSINH_HOCSINH_ID TYPE
STRING,
C1_Y03HOCSINH_MA_HOC_SINH TYPE
STRING,
C2_Y03HOCSINH_TEN_HOC_SINH TYPE
STRING,
C3_Y03HOCSINH_GIOI_TINH TYPE
STRING,
C4_Y03HOCSINH_DIA_CHI TYPE
STRING,
C5_Y03HOCSINH_GHI_CHU TYPE
STRING,
wa_final_tmp TYPE ty_final_tmp,
lv_file TYPE string,
lv_datum TYPE sy-datum,
lv_date TYPE char10,
wa_result TYPE string,
lv_delimiter type string,
lv_cnt TYPE sytabix,
*-Cursor Declaration
lv_Y03HOCSINH_dbcur TYPE cursor,
lv_tabix_frm TYPE sy-tabix.
lv_delimiter = iv_delimiter.
IF iv_hashvalue = 'HVM'.
*Open/delete output file
CONCATENATE iv_path iv_filename INTO lv_path.
*Check for file existence, if found, delete it
OPEN DATASET lv_path FOR INPUT
IN TEXT MODE
ENCODING DEFAULT.
IF sy-subrc EQ 0.
DELETE DATASET lv_path.
ENDIF.
*Open/create output file
OPEN DATASET lv_path FOR APPENDING
IN TEXT MODE
ENCODING DEFAULT.
IF sy-subrc EQ 0.
*Batch Processing
OPEN CURSOR WITH HOLD lv_Y03HOCSINH_dbcur FOR
SELECT HOCSINH_ID
MA_HOC_SINH
TEN_HOC_SINH
GIOI_TINH
DIA_CHI
GHI_CHU
FROM Y03HOCSINH.
DO.
*Check for the counter, only for first batch
*process new line is required...
lv_cnt = lv_cnt + 1.
REFRESH tt_Y03HOCSINH.
FETCH NEXT CURSOR lv_Y03HOCSINH_dbcur
APPENDING TABLE tt_Y03HOCSINH
PACKAGE SIZE IV_FETCH_BATCH_SIZE.
IF NOT tt_Y03HOCSINH IS INITIAL.
ELSE.
EXIT.
ENDIF.
LOOP AT tt_Y03HOCSINH INTO wa_Y03HOCSINH.
MOVE wa_Y03HOCSINH-HOCSINH_ID
TO wa_final_tmp-Y03HOCSINH_HOCSINH_ID.
MOVE wa_Y03HOCSINH-MA_HOC_SINH
TO wa_final_tmp-Y03HOCSINH_MA_HOC_SINH.
MOVE wa_Y03HOCSINH-TEN_HOC_SINH
TO wa_final_tmp-Y03HOCSINH_TEN_HOC_SINH.
MOVE wa_Y03HOCSINH-GIOI_TINH
TO wa_final_tmp-Y03HOCSINH_GIOI_TINH.
MOVE wa_Y03HOCSINH-DIA_CHI
TO wa_final_tmp-Y03HOCSINH_DIA_CHI.
MOVE wa_Y03HOCSINH-GHI_CHU
TO wa_final_tmp-Y03HOCSINH_GHI_CHU.
APPEND wa_final_tmp TO tt_final_tmp.
ENDLOOP.
free : tt_Y03HOCSINH.
LOOP AT tt_final_tmp INTO wa_final_tmp.
MOVE wa_final_tmp-Y03HOCSINH_HOCSINH_ID
TO wa_final_target-C0_Y03HOCSINH_HOCSINH_ID.
MOVE wa_final_tmp-Y03HOCSINH_MA_HOC_SINH
TO wa_final_target-C1_Y03HOCSINH_MA_HOC_SINH.
MOVE wa_final_tmp-Y03HOCSINH_TEN_HOC_SINH
TO wa_final_target-C2_Y03HOCSINH_TEN_HOC_SINH.
MOVE wa_final_tmp-Y03HOCSINH_GIOI_TINH
TO wa_final_target-C3_Y03HOCSINH_GIOI_TINH.
MOVE wa_final_tmp-Y03HOCSINH_DIA_CHI
TO wa_final_target-C4_Y03HOCSINH_DIA_CHI.
MOVE wa_final_tmp-Y03HOCSINH_GHI_CHU
TO wa_final_target-C5_Y03HOCSINH_GHI_CHU.
Append wa_final_target to tt_final_target.
ENDLOOP.
free : tt_final_tmp.
Clear wa_final_target.
IF NOT iv_max_row_cnt IS INITIAL.
Loop at tt_final_target into
wa_final_target TO iv_max_row_cnt.
MOVE wa_final_target-C0_Y03HOCSINH_HOCSINH_ID
TO C0_Y03HOCSINH_HOCSINH_ID.
MOVE wa_final_target-C1_Y03HOCSINH_MA_HOC_SINH
TO C1_Y03HOCSINH_MA_HOC_SINH.
MOVE wa_final_target-C2_Y03HOCSINH_TEN_HOC_SINH
TO C2_Y03HOCSINH_TEN_HOC_SINH.
MOVE wa_final_target-C3_Y03HOCSINH_GIOI_TINH
TO C3_Y03HOCSINH_GIOI_TINH.
MOVE wa_final_target-C4_Y03HOCSINH_DIA_CHI
TO C4_Y03HOCSINH_DIA_CHI.
MOVE wa_final_target-C5_Y03HOCSINH_GHI_CHU
TO C5_Y03HOCSINH_GHI_CHU.
CONCATENATE
C0_Y03HOCSINH_HOCSINH_ID
C1_Y03HOCSINH_MA_HOC_SINH
C2_Y03HOCSINH_TEN_HOC_SINH
C3_Y03HOCSINH_GIOI_TINH
C4_Y03HOCSINH_DIA_CHI
C5_Y03HOCSINH_GHI_CHU
INTO wa_final_string
SEPARATED BY lv_delimiter.
IF sy-tabix EQ 1 AND lv_cnt EQ 1.
CONCATENATE wa_final_string
lv_delimiter INTO wa_final_string.
ELSE.
CONCATENATE '<@=""+(char)8@>' lv_delimiter wa_final_string
lv_delimiter INTO wa_final_string.
ENDIF.
APPEND wa_final_string TO gt_result.
CLEAR : C0_Y03HOCSINH_HOCSINH_ID,
C1_Y03HOCSINH_MA_HOC_SINH,
C2_Y03HOCSINH_TEN_HOC_SINH,
C3_Y03HOCSINH_GIOI_TINH,
C4_Y03HOCSINH_DIA_CHI,
C5_Y03HOCSINH_GHI_CHU.
ENDLOOP.
ELSE.
Loop at tt_final_target into wa_final_target.
MOVE wa_final_target-C0_Y03HOCSINH_HOCSINH_ID
TO C0_Y03HOCSINH_HOCSINH_ID.
MOVE wa_final_target-C1_Y03HOCSINH_MA_HOC_SINH
TO C1_Y03HOCSINH_MA_HOC_SINH.
MOVE wa_final_target-C2_Y03HOCSINH_TEN_HOC_SINH
TO C2_Y03HOCSINH_TEN_HOC_SINH.
MOVE wa_final_target-C3_Y03HOCSINH_GIOI_TINH
TO C3_Y03HOCSINH_GIOI_TINH.
MOVE wa_final_target-C4_Y03HOCSINH_DIA_CHI
TO C4_Y03HOCSINH_DIA_CHI.
MOVE wa_final_target-C5_Y03HOCSINH_GHI_CHU
TO C5_Y03HOCSINH_GHI_CHU.
CONCATENATE
C0_Y03HOCSINH_HOCSINH_ID
C1_Y03HOCSINH_MA_HOC_SINH
C2_Y03HOCSINH_TEN_HOC_SINH
C3_Y03HOCSINH_GIOI_TINH
C4_Y03HOCSINH_DIA_CHI
C5_Y03HOCSINH_GHI_CHU
INTO wa_final_string
SEPARATED BY lv_delimiter.
IF sy-tabix EQ 1 AND lv_cnt EQ 1.
CONCATENATE wa_final_string
lv_delimiter INTO wa_final_string.
ELSE.
CONCATENATE '<@=""+(char)8@>' lv_delimiter wa_final_string
lv_delimiter INTO wa_final_string.
ENDIF.
APPEND wa_final_string TO gt_result.
CLEAR : C0_Y03HOCSINH_HOCSINH_ID,
C1_Y03HOCSINH_MA_HOC_SINH,
C2_Y03HOCSINH_TEN_HOC_SINH,
C3_Y03HOCSINH_GIOI_TINH,
C4_Y03HOCSINH_DIA_CHI,
C5_Y03HOCSINH_GHI_CHU.
ENDLOOP.
ENDIF.
free : tt_final_target.
IF NOT gt_result IS INITIAL.
CLEAR wa_result.
LOOP AT gt_result INTO wa_result.
TRANSFER wa_result TO lv_path.
ENDLOOP.
ENDIF.
REFRESH gt_result.
*End of main loop for batching
ENDDO.
*Close dataset
CLOSE DATASET lv_path.
CLOSE CURSOR lv_Y03HOCSINH_dbcur.
ELSE.
DATA: lv_mesg TYPE string.
CLEAR et_file_return.
et_file_return-type = 'E'.
CONCATENATE
'Error occurred when creating dataset' lv_path
INTO lv_mesg.
et_file_return-message = lv_mesg.
Append et_file_return.
ENDIF.
ELSE.
CLEAR et_file_return.
et_file_return-type = 'E'.
et_file_return-message =
'Installed ABAP program does not match interface definition'.
APPEND et_file_return.
ENDIF.
Thanks for helpr u able to figure it out..........i got the same error .......can someone help me fix this issue
-
Performance issue in abap program
hi,
how can we improve the performance of abap programhi,
read the follwing links
ABAP provides few tools to analyse the perfomance of the objects, which was developed by us.
Run time analysis transaction SE30
This transaction gives all the analysis of an ABAP program with respect to the database and the non-database processing.
SQL Trace transaction ST05
by using this tool we can analyse the perfomance issues related to DATABASE calls.
Perfomance Techniques for improve the perfomance of the object.
1) ABAP/4 programs can take a very long time to execute, and can make other processes have to wait before executing. Here are some tips to speed up your programs and reduce the load your programs put on the system:
2) Use the GET RUN TIME command to help evaluate performance. It's hard to know whether that optimization technique REALLY helps unless you test it out.
3) Using this tool can help you know what is effective, under what kinds of conditions. The GET RUN TIME has problems under multiple CPUs, so you should use it to test small pieces of your program, rather than the whole program.
4) Generally, try to reduce I/O first, then memory, then CPU activity. I/O operations that read/write to hard disk are always the most expensive operations. Memory, if not controlled, may have to be written to swap space on the hard disk, which therefore increases your I/O read/writes to disk. CPU activity can be reduced by careful program design, and by using commands such as SUM (SQL) and COLLECT (ABAP/4).
5) Avoid 'SELECT *', especially in tables that have a lot of fields. Use SELECT A B C INTO instead, so that fields are only read if they are used. This can make a very big difference.
6) Field-groups can be useful for multi-level sorting and displaying. However, they write their data to the system's paging space, rather than to memory (internal tables use memory). For this reason, field-groups are only appropriate for processing large lists (e.g. over 50,000 records). If you have large lists, you should work with the systems administrator to decide the maximum amount of RAM your program should use, and from that, calculate how much space your lists will use. Then you can decide whether to write the data to memory or swap space.
Use as many table keys as possible in the WHERE part of your select statements.
7)Whenever possible, design the program to access a relatively constant number of records (for instance, if you only access the transactions for one month, then there probably will be a reasonable range, like 1200-1800, for the number of transactions inputted within that month). Then use a SELECT A B C INTO TABLE ITAB statement.
8) Get a good idea of how many records you will be accessing. Log into your productive system, and use SE80 -> Dictionary Objects (press Edit), enter the table name you want to see, and press Display. Go To Utilities -> Table Contents to query the table contents and see the number of records. This is extremely useful in optimizing a program's memory allocation.
9) Try to make the user interface such that the program gradually unfolds more information to the user, rather than giving a huge list of information all at once to the user.
10) Declare your internal tables using OCCURS NUM_RECS, where NUM_RECS is the number of records you expect to be accessing. If the number of records exceeds NUM_RECS, the data will be kept in swap space (not memory).
11) Use SELECT A B C INTO TABLE ITAB whenever possible. This will read all of the records into the itab in one operation, rather than repeated operations that result from a SELECT A B C INTO ITAB... ENDSELECT statement. Make sure that ITAB is declared with OCCURS NUM_RECS, where NUM_RECS is the number of records you expect to access.
12) If the number of records you are reading is constantly growing, you may be able to break it into chunks of relatively constant size. For instance, if you have to read all records from 1991 to present, you can break it into quarters, and read all records one quarter at a time. This will reduce I/O operations. Test extensively with GET RUN TIME when using this method.
13) Know how to use the 'collect' command. It can be very efficient.
14) Use the SELECT SINGLE command whenever possible.
15) Many tables contain totals fields (such as monthly expense totals). Use these avoid wasting resources by calculating a total that has already been calculated and stored.
Some tips:
1) Use joins where possible as redundant data is not fetched.
2) Use select single where ever possible.
3) Calling methods of a global class is faster than calling function modules.
4) Use constants instead of literals
5) Use WHILE instead of a DO-EXIT-ENDDO.
6) Unnecessary MOVEs should be avoided by using the explicit work area operations
see the follwing links for a brief insifght into performance tuning,
http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_Introduction.asp
http://help.sap.com/saphelp_nw2004s/helpdata/en/d1/801f7c454211d189710000e8322d00/frameset.htm
regards
Rohan -
Termination occurred in the ABAP program "RK2APA00_POST" - in
Hi everybody...I have a cancelled job when run only in applications servers , I see a dump "message typeX" , but when job run in Central Instance not cancelled and finish ok.
The name Job is Zcupon and attach to continue dump info , sorry for extended but I want send all information possible.
know if you can add a file with the abstract and not have to paste the text of the dump, thanks for the help they can deliver.
Regards....Freddy Solar....
Errores tiempo ejec. MESSAGE_TYPE_X
Fecha y hora 18.11.2008 06:35:30
Texto breve
The current application triggered a termination with a short dump.
¿Qué ha sucedido?
The current application program detected a situation which really
should not occur. Therefore, a termination with a short dump was
triggered on purpose by the key word MESSAGE (type X).
Anál.errores
Short text of error message:
RFC_ERROR 4 Conversation 93690218 not found / CPIC-CALL: 'ThSA
Technical information about the message:
Message classe...... "KE"
Number.............. 628
Variable 1.......... "RFC_ERROR"
Variable 2.......... 4
Variable 3.......... "Conversation 93690218 not found / CPIC-CALL: 'ThSA"
Variable 4.......... " "
Last error logged in SAP kernel
Component............ "SAP-Gateway"
Place................ "SAP-Gateway on host SCPAPP1 / sapgw03"
Version.............. 2
Error code........... 728
Error text........... "Conversation 93690218 not found"
Description.......... " "
System call.......... " "
Module............... "gwxxrd.c"
Line................. 6156
The error reported by the operating system is:
Error number..... " "
Error text....... " "
Notas para corregir errores
Probably the only way to eliminate the error is to correct the program.
You may able to find an interim solution to the problem
in the SAP note system. If you have access to the note system yourself,
please use the following search criteria:
"RK2APA00_POST" "MESSAGE_TYPE_X"
If you cannot solve the problem yourself, please send the
following documents to SAP:
1. A hard copy print describing the problem.
To obtain this, select the "Print" function on the current screen.
2. A suitable hardcopy prinout of the system log.
To obtain this, call the system log with Transaction SM21
and select the "Print" function to print out the relevant
part.
3. If the programs are your own programs or modified SAP programs,
supply the source code.
To do this, you can either use the "PRINT" command in the editor or
print the programs using the report RSINCL00.
4. Details regarding the conditions under which the error occurred
or which actions and input led to the error.
Entorno sistema
SAP-Release 700
Application server... "SCPAPP1"
Network address...... "10.1.40.130"
Operating system..... "Windows NT"
Release.............. "5.2"
Hardware type........ "4x AMD64 Level"
Character length.... 16 Bits
Pointer length....... 64 Bits
Work process number.. 3
Shortdump setting.... "full"
Database server... "BALTICO"
Database type..... "DB400"
Database name..... "SCP"
Database user ID.. "R3SCPDATA"
Char.set.... "C"
SAP kernel....... 700
created (date)... "Jun 30 2008 00:10:07"
create on........ "NT 5.2 3790 Service Pack 1 x86 MS VC++ 14.00"
Database version. "DB4_53"
Patch level. 167
Patch text.. " "
Database............. "V5R3, V5R4, V6R1"
SAP database version. 700
Operating system..... "Windows NT 5.0, Windows NT 5.1, Windows NT 5.2, Windows
NT 6.0"
Memory consumption
Roll.... 16192
EM...... 159213920
Heap.... 0
Page.... 5660672
MM Used. 145143664
MM Free. 5680112
Usuario y transacción
Client.............. 400
User................ "ZUSRTARJETAS"
Language key........ "S"
Transaction......... " "
Program............. "RK2APA00_POST"
Screen.............. "SAPMSSY0 1000"
Screen line......... 6
Info posición de cancelación
Termination occurred in the ABAP program "RK2APA00_POST" - in
"INSERT_CE4_FLUSH_BUFFERS".
The main program was "ZVI_CUPON ".
In the source code you have the termination point in line 100
of the (Include) program "RKEVRK2A_POST_COMMIT__FIX".
The program "RK2APA00_POST" was started as a background job.
Job Name....... "ZCUPON"
Job Initiator.. "ZUSRTARJETAS"
Job Number..... 02044200
Detalle código fuente
Lín.
Txt.fte.
70
subrc = sy-subrc.
71
CLEAR: g_t_ce4a_dbbuf[], g_t_ce4_dbbuf[].
72
73
case subrc.
74
when 1.
75
Records were to be inserted into the acct.ref. table CE4xxxx_ACCT
76
but the acct. reference numbers were already occupied. Most likely
77
This problem is due to a explicit or implicit change to the
78
number range COPA_OBJ (subobject is the operating concern)
79
e.g. caused by illegally transporting the contents of CO-PA
80
transaction data table contents (CE4xxxx / CE4xxxx_ACCT).
81
Please check OSS for notes with keywords RKEVRK2A_POST, KF216
82
and CE4XXXX_ACCT. If you do not find any applicable notes please
83
log an OSS message.
84
MESSAGE x216(kf) WITH gc_ce4acct_name.
85
86
when 2.
87
Records were to be inserted into the segment table CE4xxxx
88
but the segment numbers were already occupied. Most likely
89
This problem is due to a explicit or implicit change to the
90
number range COPA_OBJ (subobject is the operating concern)
91
e.g. caused by illegally transporting the contents of CO-PA
92
transaction data table contents (CE4xxxx).
93
Please check OSS for notes with keywords RKEVRK2A_POST, KF203
94
and CE4XXXX. If you do not find any applicable notes please
95
log an OSS message.
96
MESSAGE x203(kf).
97
98
when 3 or 4.
99
Communication error in RFC-Call
>>>>>
message x628(ke) with 'RFC_ERROR' subrc msg_text.
101
102
endcase.
103
104
ENDFORM.
105
Edited by: freddy solar on Jan 2, 2009 8:39 PMHi,
it looks like you have some problem with RFC. It stopped on the following line:
* Communication error in RFC-Call
message x628(ke) with 'RFC_ERROR' subrc msg_text.
Ask your basis guy to check it. The job on application server tried to connect to the central instance and it failed. The job run on central instance does not need to make any RFC call. Hence there is no problem in this case.
Regards -
ABAP program "SAPLCNTL" in "CHECK_OO": MESSAGE_TYPE_X
Hi,
I have a problem with a program with ALV-list. Sometimes it terminates with a dump. I can not reproduce the dumps and I can not find the reason for it. I do not know, if it only terminates on some clients.
In the program the alv table is refreshed with CL_GUI_ALV_GRID=>REFRESH_TABLE_DISPLAY. After this there is also a statement CALL METHOD cl_gui_cfw=>flush.
Can anyone help?
Kindly regards
Frank
Runtime Error MESSAGE_TYPE_X
Date and Time 11.11.2008 11:24:28
ShrtText
The current application triggered a termination with a short dump.
What happened?
The current application program detected a situation which really
should not occur. Therefore, a termination with a short dump was
triggered on purpose by the key word MESSAGE (type X).
What can you do?
Print out the error message (using the "Print" function)
and make a note of the actions and input that caused the
error.
To resolve the problem, contact your SAP system administrator.
You can use transaction ST22 (ABAP Dump Analysis) to view and administer
termination messages, especially those beyond their normal deletion
date.
is especially useful if you want to keep a particular message.
Error analysis
Short text of error message:
Control Framework: Invalid Processing of ABAP Object Control
Technical information about the message:
Diagnosis
You want to edit a control created with ABAP objects techniques
(class-based Control Framework) using a function module (function
module-based Control Framework). The system does not support this.
The Class ID of the control is SAP.DataProvider.1.
System response
The transaction is terminated.
Procedure
Contact the person responsible for the SAP System.
Message classe...... "DC"
Number.............. 007
Variable 1.......... "SAP.DataProvider.1"
Variable 2.......... " "
Variable 3.......... " "
Variable 4.......... " "
Variable 3.......... " "
Variable 4.......... " "
How to correct the error
Probably the only way to eliminate the error is to correct the program.
You may able to find an interim solution to the problem
in the SAP note system. If you have access to the note system yourself,
use the following search criteria:
"MESSAGE_TYPE_X" C
"SAPLCNTL" or "LCNTLF01"
"CHECK_OO"
If you cannot solve the problem yourself and you wish to send
an error message to SAP, include the following documents:
1. A printout of the problem description (short dump)
To obtain this, select in the current display "System->List->
Save->Local File (unconverted)".
2. A suitable printout of the system log
To obtain this, call the system log through transaction SM21.
Limit the time interval to 10 minutes before and 5 minutes
after the short dump. In the display, then select the function
"System->List->Save->Local File (unconverted)".
3. If the programs are your own programs or modified SAP programs,
supply the source code.
To do this, select the Editor function "Further Utilities->
Upload/Download->Download".
4. Details regarding the conditions under which the error occurred
or which actions and input led to the error.
System environment
SAP Release.............. "640"
Application server....... "gl3ap4"
Network address.......... "194.69.46.206"
Operating system......... "AIX"
Release.................. "5.3"
Hardware type............ "00C2809E4C00"
Character length......... 16 Bits
Pointer length........... 64 Bits
Work process number...... 8
Short dump setting....... "full"
Database server.......... "glince215"
Database type............ "ORACLE"
Database name............ "GL3"
Database owner........... "SAPSR3"
Character set............ "C"
SAP kernel............... "640"
Created on............... "Feb 18 2008 23:36:16"
Created in............... "AIX 1 5 00538A4A4C00"
Database version......... "OCI_920 "
Patch level.............. "221"
Patch text............... " "
Supported environment....
Database................. "ORACLE 9.2.0.*.*, ORACLE 10.1.0.*.*, ORACLE
10.2.0.*.*"
SAP database version..... "640"
Operating system......... "AIX 1 5, AIX 2 5, AIX 3 5, AIX 1 6"
Memory usage.............
Roll..................... 16192
EM....................... 16759424
Heap..................... 0
Page..................... 139264
MM Used.................. 4672968
MM Free.................. 3703952
SAP Release.............. "640"
User and Transaction
Client.............. 001
User................ "PB754"
Language key........ "D"
Transaction......... "ZVLA "
Program............. "SAPLCNTL"
Screen.............. "ZTCOCKPT 2000"
Screen line......... 4
Information on where terminated
The termination occurred in the ABAP program "SAPLCNTL" in "CHECK_OO".
The main program was "ZTCOCKPT ".
The termination occurred in line 178 of the source code of the (Include)
program "LCNTLF01"
of the source code of program "LCNTLF01" (when calling the editor 1780).
Source Code Extract
Line SourceCde
148 *---------------------------------------------------------------------*
149 * FORM %_CONTROL_DISPATCH *
150 *---------------------------------------------------------------------*
151 *
152 *---------------------------------------------------------------------*
153 * --> OKCODE *
154 *---------------------------------------------------------------------*
155 FORM %_CONTROL_DISPATCH.
156 * CALL FUNCTION 'CONTROL_DISPATCH'
157 * EXPORTING
158 * FCODE = SY-UCOMM
159 * EXCEPTIONS
160 * CB_NOT_FOUND = 1
161 * OTHERS = 2.
162 ENDFORM.
163
164 FORM REGISTERGLOBALOCXEVENT
165 USING SHELLID TYPE I EVENT TYPE I.
166 CALL METHOD OF CL_GUI_OBJECT=>H_GUI 'RegisterGlobalOCXevent'
167 NO FLUSH
168 EXPORTING #1 = SHELLID
169 #2 = EVENT.
170 ENDFORM.
171
172 form check_OO using p_handle type cntl_handle.
173 * check sy-uname = 'KSCHMIDT'.
174 call method cl_gui_cfw=>get_subscriber_by_id
175 exporting shellid = p_handle-shellid
176 exceptions others = 1.
177 if sy-subrc = 0.
>>>>> message X007 with p_handle-clsid.
179 endif.
180
181 endform.
182
183 form check_oo_2 using p_shellid type i.
184 data l_handle type cntl_handle.
185 * check sy-uname = 'KSCHMIDT'.
186 call method cl_gui_cfw=>get_subscriber_by_id
187 exporting shellid = p_shellid
188 exceptions others = 1.
189 if sy-subrc = 0.
190 call function 'CNTH_HANDLE_BY_SHELLID'
191 exporting shellid = p_shellid
192 importing h_control = l_handle
193 exceptions others = 1.
194 message X007 with l_handle-clsid.
195 endif.
196 endform.
Contents of system fields
Name Val.
SY-SUBRC 0
SY-INDEX 0
SY-TABIX 12
SY-DBCNT 1
SY-FDPOS 1
SY-LSIND 0
SY-PAGNO 0
SY-LINNO 1
SY-COLNO 1
SY-PFKEY STAT2000
SY-UCOMM NSEL
SY-TITLE ZTCOCKPT Cockpit: Transporte Aufträge Lieferungen
SY-MSGTY X
SY-MSGID DC
SY-MSGNO 007
SY-MSGV1 SAP.DataProvider.1
SY-MSGV2
SY-MSGV3
SY-MSGV4
Active Calls/Events
No. Ty. Program Include Line
Name
11 FORM SAPLCNTL LCNTLF01 178
CHECK_OO
10 FUNCTION SAPLCNTL LCNTLU13 16
CONTROL_DESTROY
9 FUNCTION SAPLCNDP LCNDPU07 22
DP_DESTROY
8 FUNCTION SAPLCNDP LCNDPU10 103
DP_CONTROL_ASSIGN_TABLE
7 METHOD CL_GUI_ALV_GRID_BASE==========CP CL_GUI_ALV_GRID_BASE==========CM01U 37
CL_GUI_ALV_GRID_BASE=>SET_TOOLBAR_BUTTONS
6 METHOD CL_GUI_ALV_GRID===============CP CL_GUI_ALV_GRID===============CM01M 52
CL_GUI_ALV_GRID=>SET_TOOLBAR
5 METHOD CL_GUI_ALV_GRID===============CP CL_GUI_ALV_GRID===============CM01P 432
CL_GUI_ALV_GRID=>SOFT_REFRESH_TABLE_DISPLAY
4 METHOD CL_GUI_ALV_GRID===============CP CL_GUI_ALV_GRID===============CM00T 116
CL_GUI_ALV_GRID=>REFRESH_TABLE_DISPLAY
3 MODULE (PBO) ZTCOCKPT ZTCOCKPT 652
PBO_ALV_2000
2 FORM ZTCOCKPT ZTCOCKPT 167
ALVAUSGABE
1 EVENT ZTCOCKPT ZTCOCKPT_INC 213
START-OF-SELECTION
Chosen variables
Name
Val.
No. 11 Ty. FORM
Name CHECK_OO
SY-REPID
SAPLCNTL
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
5454445422222222222222222222222222222222
310C3E4C00000000000000000000000000000000
%_VIASELSCR
0
4
P_HANDLE-SHELLID
128
0008
0000
BS_CENTER
768
0000
0030
%_DUMMY$$
0000
0000
2222
0000
FONT_ITALIC
1
0000
0001
SY-SUBRC
0
0000
0000
SY-XFORM
XAB_READ
000000000000000000000000000000
000000000000000000000000000000
544554442222222222222222222222
812F25140000000000000000000000
SY-MSGID
DC
00000000000000000000
00000000000000000000
44222222222222222222
43000000000000000000
SS_SIMPLE
11
0000
000B
SS_BLACKRECT
4
0000
0004
SPACE
0
0
2
0
SY-MSGNO
007
000
000
333
007
SY-MSGV1
SAP.DataProvider.1
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
54524676576766672322222222222222222222222222222222
310E414102F69452E100000000000000000000000000000000
P_HANDLE-CLSID
SAP.DataProvider.1
0000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000
5452467657676667232222222222222222222222222222222222222222222222222222
310E414102F69452E10000000000000000000000000000000000000000000000000000
SY-MSGV2
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
22222222222222222222222222222222222222222222222222
00000000000000000000000000000000000000000000000000
SY-MSGV3
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
22222222222222222222222222222222222222222222222222
00000000000000000000000000000000000000000000000000
SY-MSGV4
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
22222222222222222222222222222222222222222222222222
00000000000000000000000000000000000000000000000000
No. 10 Ty. FUNCTION
Name CONTROL_DESTROY
NO_FLUSH
X
0
0
5
8
H_CONTROL
OBJHOLE2## 7263 ####
00000000FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000
44444443FF222222222222222222222222222222222223333222222222222222222222222222222222222222080022
F2A8FC52FF000000000000000000000000000000000007263000000000000000000000000000000000000000000A00
BS_DEFPUSHBUTTON
1
0000
0001
BS_LEFT
256
0000
0010
THIS_DUMMY_VALUE
0
0000
0000
BS_PUSHBUTTON
0
0000
0000
H_CONTROL-OBJ+16(4)
-1
FFFF
FFFF
SYST-REPID
SAPLCNTL
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
5454445422222222222222222222222222222222
310C3E4C00000000000000000000000000000000
H_CONTROL-HANDLE_TYPE
NO_OC
0000000000
0000000000
4454422222
EFFF300000
CNTL_TYPE_OCX
OCX
0000000000
0000000000
4452222222
F380000000
CNTL_TRUE
1
0000
0001
IS_ITSAC_767A497173BF11D28BB
0
0
2
0
AC_EXPORTS_4E238C5273BF11D28BB
Table[initial]
AC_EXPO_WA_4E238C5273BF11D28BB
000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2222222222222222222222222222222233333333322222222222222222222222222222222222222222222222222222
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
No. 9 Ty. FUNCTION
Name DP_DESTROY
H_DP
OBJHOLE2## 7263 ####
00000000FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000
44444443FF222222222222222222222222222222222223333222222222222222222222222222222222222222080022
F2A8FC52FF000000000000000000000000000000000007263000000000000000000000000000000000000000000A00
G_STRETCH_UNICODE_COLS_VALID
X
0
0
5
8
%_DUMMY$$
0000
0000
2222
0000
SY-SUBRC
0
0000
0000
SYST-REPID
SAPLCNDP
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
5454444522222222222222222222222222222222
310C3E4000000000000000000000000000000000Hi Frank,
I doubt it is related to function 'LVC_FIELDCATALOG_MERGE' since the current SAP help documentation talks about using this function for the purpose that I'm sure you are using it. The short dump states that the problem is caused by the use of an "old" function-module-based control framework function combined with the class-based OO CFW.
Diagnosis
You want to edit a control created with ABAP objects techniques
(class-based Control Framework) using a function module (function
module-based Control Framework). The system does not support this.
If you look at the call sequence in the short dump, function module 'CONTROL_DESTROY' is being called (which then calls function 'CHECK_OO' from which the error is sent). Function module 'CONTROL_DESTROY' is in function group CNTL which is part of the "old" function-module-based CFW.
Since the 'CONTROL_DESTROY' function is ultimately called as a result of your Z-program legitimately calling the standard SAP method CL_GUI_ALV_GRID=>REFRESH_TABLE_DISPLAY, I'd say you might want to consider opening a customer message with SAP providing as much detail and background as possible. But before you bother to do that (or while you are waiting to hear back from SAP) you may want to double-check your Z-program to make sure you aren't calling some other function modules from function groups CNTL or CNT0 (the "old" CFW function modules).
I've included just the call sequence from your short dump here for easier reference. Notice the order of the calls from 1 to 11, ending with functions 'CONTROL_DESTROY' and 'CHECK_OO'. I think 'CONTROL_DESTROY' may be causing the problem (??):
Active Calls/Events
No. Ty. Program Include Line
Name
11 FORM SAPLCNTL LCNTLF01 178
CHECK_OO
10 FUNCTION SAPLCNTL LCNTLU13 16
CONTROL_DESTROY
9 FUNCTION SAPLCNDP LCNDPU07 22
DP_DESTROY
8 FUNCTION SAPLCNDP LCNDPU10 103
DP_CONTROL_ASSIGN_TABLE
7 METHOD CL_GUI_ALV_GRID_BASE==========CP CL_GUI_ALV_GRID_BASE==========CM01U 37
CL_GUI_ALV_GRID_BASE=>SET_TOOLBAR_BUTTONS
6 METHOD CL_GUI_ALV_GRID===============CP CL_GUI_ALV_GRID===============CM01M 52
CL_GUI_ALV_GRID=>SET_TOOLBAR
5 METHOD CL_GUI_ALV_GRID===============CP CL_GUI_ALV_GRID===============CM01P 432
CL_GUI_ALV_GRID=>SOFT_REFRESH_TABLE_DISPLAY
4 METHOD CL_GUI_ALV_GRID===============CP CL_GUI_ALV_GRID===============CM00T 116
CL_GUI_ALV_GRID=>REFRESH_TABLE_DISPLAY
3 MODULE (PBO) ZTCOCKPT ZTCOCKPT 652
PBO_ALV_2000
2 FORM ZTCOCKPT ZTCOCKPT 167
ALVAUSGABE
1 EVENT ZTCOCKPT ZTCOCKPT_INC 213
START-OF-SELECTION
Regards,
Jamie
P.S. Please report back here if you find a solution (or if SAP finds one as a result of your customer message). -
How to check frequency of ABAP program usage
Dear Experts,
How to find out the frequency of ABAP programs executed by users? the reason is because we want to do a housekeeping on all the ABAP reports that we have developed over the years, we want to deactivate those reports that are no longer executed by the user within 1 year. Anyone can give suggestion?
I already tried using SM36, but this is only for those programs scheduled in background or immediate, how about those programs running on foreground?Hello,
You can use the trxn SM20N. But bear in mind some prior config needs to be in place for the logging to be active (trxn SM19).
For further details on SM20 read this: [Security Audit Log|http://help.sap.com/SAPhelp_nw70/helpdata/en/2c/c59d37d373243de10000009b38f8cf/frameset.htm]
@Sap Fan: STAD can be used in case the audit log is not available (e.g., due to missing config) but afaik there is a limitation on the date range you can provide.
BR,
Suhas
Edited by: Suhas Saha on Sep 7, 2010 9:39 AM -
Hello everybody,
Actually I'm working in a CRM 4.0 development project and I'm totally new in ABAP Programming (until now three years in functional roles).
My question is the following:
I have to develop an action method which delete several partner functions from partner tab in a sales order (for all included items and always the same partner functions, ZO1, ZO2 and ZO3 for example).
Which is the best way to do it? Maybe using CRM_ORDER_MAINTAIN function?
Could anybody help me posting some example code or any guideline?
Thank you very much.
I won't forget reward your answers.here is the example code:
look at this,
METHOD if_ex_order_save~prepare .
TYPES: BEGIN OF t_guids,
guid TYPE crmt_doc_flow_wrk-objkey_a,
END OF t_guids.
Header GUID's.
DATA: lt_header_guid TYPE crmt_object_guid_tab,
ls_header_guid TYPE crmt_object_guid,
Read appointments.
lt_appointment_wrk TYPE crmt_appointment_wrkt,
ls_appointment_wrk TYPE crmt_appointment_wrk,
Update appointments.
lt_appointment_com TYPE crmt_appointment_comt,
ls_appointment_com TYPE crmt_appointment_com,
GUID's
lt_guids TYPE TABLE OF t_guids,
ls_guids TYPE t_guids,
Update fields.
ls_input_fields TYPE crmt_input_field,
lt_input_fields TYPE crmt_input_field_tab,
ls_input_field_names TYPE crmt_input_field_names,
lt_input_field_names TYPE crmt_input_field_names_tab,
Order header data.
lt_orderadm_h TYPE crmt_orderadm_h_comt,
Objects to be updated.
lt_objects_to_save TYPE crmt_object_guid_tab,
Exceptions.
lt_exception TYPE crmt_exception_t,
Updated documents.
lt_saved_objects TYPE crmt_return_objects,
lt_objects_not_saved TYPE crmt_object_guid_tab,
Local update task.
lv_update_task_local TYPE boolean.
Use a global variable to ensure this method is only called once per user save.
IF gv_first IS INITIAL.
gv_first = 'X'.
Get the dates for the current activity.
ls_header_guid = iv_guid.
INSERT ls_header_guid INTO TABLE lt_header_guid.
CALL FUNCTION 'CRM_ORDER_READ'
EXPORTING
it_header_guid = lt_header_guid
IMPORTING
et_appointment = lt_appointment_wrk
EXCEPTIONS
document_not_found = 1
error_occurred = 2
document_locked = 3
no_change_authority = 4
no_display_authority = 5
no_change_allowed = 6
OTHERS = 7.
IF sy-subrc <> 0.
EXIT.
ENDIF.
DELETE lt_appointment_wrk WHERE appt_type <> 'ZLSC00003'
OR timestamp_from IS INITIAL.
Check if the conclusion date has been set (appointment type ZLSC00003).
READ TABLE lt_appointment_wrk
INTO ls_appointment_wrk
WITH KEY appt_type = 'ZLSC00003'.
IF sy-subrc = 0.
Coding removed here, build up the follow up GUID's from the document flow.
lt_header_guid now contains the parent GUID and the follow up activty GUID's
Get all of the date details for all of the documents.
CALL FUNCTION 'CRM_ORDER_READ'
EXPORTING
it_header_guid = lt_header_guid
IMPORTING
et_appointment = lt_appointment_wrk
EXCEPTIONS
document_not_found = 1
error_occurred = 2
document_locked = 3
no_change_authority = 4
no_display_authority = 5
no_change_allowed = 6
OTHERS = 7.
IF sy-subrc <> 0.
EXIT.
ENDIF.
Get rid of date entries which aren't conclusion dates or aren't the same conclusion date.
DELETE lt_appointment_wrk WHERE appt_type <> 'ZLSC00003'
OR timestamp_from <> ls_appointment_wrk-timestamp_from.
Process each of the documents and, if they don't have a conclusion date with the same value,
set up the internal tables to update the document.
LOOP AT lt_header_guid INTO ls_header_guid.
Check if it has a conclusion date with the correct value already.
READ TABLE lt_appointment_wrk
WITH KEY ref_guid = ls_header_guid
TRANSPORTING NO FIELDS.
IF sy-subrc = 0.
DELETE lt_header_guid.
CONTINUE.
ENDIF.
Set up the fields to be updated.
CLEAR lt_input_field_names.
ls_input_field_names-fieldname = 'REF_KIND'.
INSERT ls_input_field_names INTO TABLE lt_input_field_names.
ls_input_field_names-fieldname = 'APPT_TYPE'.
INSERT ls_input_field_names INTO TABLE lt_input_field_names.
ls_input_field_names-fieldname = 'TIMESTAMP_FROM'.
INSERT ls_input_field_names INTO TABLE lt_input_field_names.
ls_input_field_names-fieldname = 'TIMEZONE_FROM'.
INSERT ls_input_field_names INTO TABLE lt_input_field_names.
ls_input_field_names-fieldname = 'TIMESTAMP_TO'.
INSERT ls_input_field_names INTO TABLE lt_input_field_names.
ls_input_field_names-fieldname = 'TIMEZONE_TO'.
INSERT ls_input_field_names INTO TABLE lt_input_field_names.
ls_input_field_names-fieldname = 'TIME_UNIT'.
INSERT ls_input_field_names INTO TABLE lt_input_field_names.
ls_input_fields-ref_handle = '0000000000'.
ls_input_fields-ref_guid = ls_header_guid.
ls_input_fields-objectname = 'APPOINTMENT'.
ls_input_fields-field_names = lt_input_field_names.
INSERT ls_input_fields INTO TABLE lt_input_fields.
Set up the values for the fields to be updated.
ls_appointment_com-ref_handle = '0000000000'.
ls_appointment_com-ref_guid = ls_header_guid.
ls_appointment_com-ref_kind = 'A'.
ls_appointment_com-appt_type = 'ZLSC00003'.
ls_appointment_com-timestamp_from = ls_appointment_wrk-timestamp_from.
ls_appointment_com-timezone_from = ls_appointment_wrk-timezone_from.
ls_appointment_com-timestamp_to = ls_appointment_wrk-timestamp_to.
ls_appointment_com-timezone_to = ls_appointment_wrk-timezone_to.
ls_appointment_com-time_unit = ls_appointment_wrk-time_unit.
INSERT ls_appointment_com INTO TABLE lt_appointment_com.
Create an entry in the internal table used to determine which documents will be updated.
INSERT ls_header_guid INTO TABLE lt_objects_to_save.
ENDLOOP.
Change the values in the documents
IF NOT lt_appointment_com IS INITIAL.
CALL FUNCTION 'CRM_ORDER_MAINTAIN'
EXPORTING
it_appointment = lt_appointment_com
IMPORTING
et_exception = lt_exception
CHANGING
ct_orderadm_h = lt_orderadm_h
ct_input_fields = lt_input_fields
EXCEPTIONS
error_occurred = 1
document_locked = 2
no_change_allowed = 3
no_authority = 4
OTHERS = 5.
IF sy-subrc <> 0.
EXIT.
ENDIF.
ENDIF.
Save the changed date values.
IF NOT lt_objects_to_save IS INITIAL.
CALL FUNCTION 'CRM_ORDER_SAVE'
EXPORTING
it_objects_to_save = lt_objects_to_save
iv_update_task_local = lv_update_task_local
IMPORTING
et_saved_objects = lt_saved_objects
et_exception = lt_exception
et_objects_not_saved = lt_objects_not_saved
EXCEPTIONS
document_not_saved = 1
OTHERS = 2.
IF sy-subrc <> 0.
EXIT.
ENDIF.
ENDIF.
ENDIF.
CLEAR gv_first.
ENDIF.
ENDMETHOD.
Maybe you are looking for
-
Safari won't open on my MacBook Pro. How do I get it to open?
safari won't open on my MacBook Pro since I inadvertantly downloaded and then trashed Genieo. I can open it is safe mode. How do I get it to open?
-
Printing PS3 on Brother DCP6690CW
Hi all! Thanks for reading this! Am really not sure whether this is the right forum for such a query... Getting straight to the point, my issue is the following: I am part of an organisation where we use an operating system called Advantage Windows (
-
HP DESKJET 1050 ALL IN ONE J410 SERIES.Bought in Mauritius
Deskjet 1050 not compatible with HP301 but uses HP61
-
Multiple TVs/Boxes in one room
I currently have Directv, but am moving to an apartment building where I will be switching to Fios TV. I have three TVs set up in my living room, all connected to different boxes for the purpose of watching multiple sporting events at once. On Direct
-
What is a Database Environment?
I am going through Relational Database Design by JLM. I have come across words like database, data model, DBMS etc. which I am able to understand. But, I get confused when the author tries to use Database and Database Environment with supposedly diff