Hi,
Can someone please let me know why idoc is failing with error "There are no URI addresses maintained for this address".
Message no. AM169.
Regards,
Mansoor.
Hi,
Can someone please let me know why idoc is failing with error "There are no URI addresses maintained for this address".
Message no. AM169.
Regards,
Mansoor.
Hi Community,
When I try to start unit testing with coverage (Program -> Execute -> Unit tests with -> Coverage), I receive the following error message:
This is effectively the case, the function group "SA02" is not found in table TADIR because my function group is in a namespace and is named /ELOGIC/SA02.
I went through the following article (Validating Tests with the Coverage Analyzer in Development Syste - Test and Analysis Tools in ABAP - SAP Library) and yes, my Coverage Analyser is active.
Is this an issue with test coverage from SAP or did I miss a configuration somewhere?
Thanks!
--------------------------
Edit: I tried to do a code coverage in a Z package outside of any namespace and it worked like a charm!
Message was edited by: Jean-Philippe Gravel
Hi Gurus,
There is a BDC program for creating propduction order which i am executing in background mode 'N' and sy-subrc gets 1001 and production order Doesnt gets created. I found similar post. It says that when we check in debugging mode sy-subrc will be 1001 but still why my production order does not get created.
But if i run in mode like 'A' or 'E' it works perfectly.
Rewards will be provided. Please help
Hi Experts,
Need some advice!!!
We have a 2 select query on VICDCOND which should use index 6&9( provided by SAP), however they are not being used in select statement. Instead the DB goes for FULL TABLE SCAN.
Query 1
SELECT intreno FROM vicdcond APPENDING TABLE lt_intreno
WHERE objnrdistpara = id_objnr AND
conddelete = abap_false.
Query 2
SELECT intreno objnr FROM vicdcond
INTO TABLE lt_cond_int
FOR ALL ENTRIES IN lt_hier
WHERE calcrule = lt_hier-calcruleext.
The above query goes for full table scan even though index exist for CALCRULE(Index 9) and for objnrdistpara & conddelete(Index 6).
We even for DB stats updated but even that didn't change the result. Please share your thought on next course of action.
Is anyone aware of performance issues related to REFX or table VICDCOND or any other SAP Notes that might help.
PS : Both the queries are part of standard code.
Thanks,
Chirantan
Hi Rahul,
BDC might not work in many of the Enjoy transactions. Please use FM BAPI_PRODORD_CREATE to create Production Orders.
Below link has list of BAPI's for Production Order
List of BAPI For Production Order
Regards
Sri
Hello,
I am facing severe performance issues using the FM BAPI_RECORD_GETELEMENTS.
I implemented this FM in another FM that is used via RFC by a third-party-software. This FM I created is being used about 800 times per minute.
During the first performance tests, it became obvious that my FM is way too slow to work under said requirements, so I ran a runtime analysis on said FM.
BAPI_RECORD_GETELEMENTS takes up to 71% of the brutto time. So here is my question: Is there already some kind of enhancement of this BAPI? Or any other way other than modifications to speed up this process?
Regards,
Dominik
Hi,
I think the 1st thing you should do is to search on sapnet if some notes exists for that bapi (search with bapi name + performance). Maybe some niteresitng notes exist.
In parallel, you could maybe check in detail of the 71% time used by that bapi.
What is taking time insdie the bapi ? You should be able to find that using ST12 trace (abap + sql activated).
If someting is long inside that bapi (a select, on loop, commits,...) , then maybe it could be improved.
S.N
As I understand from your question that you are calling the BAPI inside your Z* function module.
If yes then try like below logic inside your Z* function module.
1) Get all the active work process with function module TH_WPINFO.
2) Then check whether there is any work process running with the program name of your function module (Every function module will have a program name you can find it in attributes of the function module).
3) If the work process is already running then don't trigger the BAPI wait until the old work process is finished.
DO.
CALLFUNCTION'TH_WPINFO'
EXPORTING
SRVNAME = ' '
WITH_CPU = 0
TABLES
wplist = itab_wp
EXCEPTIONS
SEND_ERROR = 1
OTHERS = 2
.
IF sy-subrc <>0.
MESSAGEID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
READTABLE itab_wp WITHTABLEKEY wp_report = <program name of fm>.
IF sy-subrc EQ0.
CONTINUE.
ELSE.
EXIT.
ENDIF.
ENDDO.
CALLFUNCTION'BAPI_RECORD_GETELEMENTS'.
Regards,
Tp
Hi TP,
how it is possible to propose some improvements without knowing what is taking time here ??
Anyway could maybe help
S.N
Hi Matthias,
perhaps you have seen the post Remote Syntax-Check for ABAP developers by Thomas Fiedler. Unfortunately it seems only to support down to NetWeaver 7.02 and also there you have to be on SP 14 at least.
Best regards
Gregor
Hi TP,
as promised, my results: For 50 records, my Test-Report took 107 sec. before implementing your suggestions. After that, it took 105 sec. So in my eyes, unfortunately it didn*t speed up the process - still over 70% of the time for BAPI_RECORD_GETELEMENTS.
Still, thank you very much!
Dominik
Hi Chiratan,
if this is part of standard program, I think you should 1st check SAPNET OSS notes.
Maybe some notes correcting this already exist.
Try to search with VCDCOND + Performance or the standard program name + performance.
If the index are not used even after stats were calculated again, then it means maybe that the stats of the table+index lead the DB to that choice.
So for example if the index 9 has very few disctinct values, and this table is big, then maybe DB will go to a full scan instead to use an index which seems not efficient for it.
So maybe check the stats of the table & index .
And check if really these index will be better than full scans.
Also.
I dont know this table size on your systems. But "full scan" is not equal to "bad" .
Did you notice that these full scans are long ? Or just trying to avoid full scans ? (because we all always read that "full scan" is bad).
How much time is spend on these SELECTs ?
S.N
There are performance notes for RE-FX and related BW extractors until 2014, so perform an OSS note for your system level.
NB: I agree with the Newbie” , for standard program performance, always start with an OSS search.
Regards,
Raymond
Can you please let me know if the IMPORT statement format you have used should match the corresponding EXPORT statement format. We are facing dumps that says 'IMPORT_CONTAINER_MISSING' and exception 'cx_sy_import_format_error' and I see from keyword help as "The internal table must contain a data cluster which was generated using the INTERNAL TABLE addition of the EXPORT statement; otherwise, a runtime error occurs. Note that the internal table cannot be empty."
Dear ABAP testers and troubleshooters,
I am setting up ATC to automate our code review process, and I am experiencing some spurious priority 1 and 2 errors being reported. I call these "false negatives" because ATC is reporting violations where none exist.
The first is coming from Extended Program Check: "Security check without a released licence" (misspelling of the word "license" is SAP's, not mine). I did some research and found OSS note 1985478, but that note is already in our system, so that doesn't help. I also read note 1865277, which directed me to note 1855773, which told me about the Code Vulnerability Analyzer, a spearately licensed product that we do not own and do not intend to purchase. It doesn't seem to matter which SLIN checks I have selected; if I run any SLIN checks I get this false negative result. Any clues on how to get rid of this "false positive" priority 1 message?
The second false positive is coming from the Code Inspector checks I have configured. It is coming from both the "Naming Conventions" and the "Extended Naming Conventions for Programs" checks: "Inconsistent Name ... PROGRAM/REPORT". The first oddity is that there is no program/report naming convention input field in the Naming Conventions check! Now, I have entered a regular expression in the "Framework programs" section of Extended naming conventions, in the Reports field: "Z[A-Z][A-Z][RIOCEF]_*". An example of a program name that complies with our standard--and should pass this test--is "ZBCE_ZTABLE_ACCESS", but when I run ATC on this program it gives me the aforementioned false negative check messages. When I put this regular expression and program name into the REGEX Toy program, it finds the text string as expected, so I believe that my regular expression is correct. Any clues as to what I'm doing wrong here?
Any and all suggestions are welcome.
Cheers,
TerryB
P.S. We are on ECC 7.31, SP 13.
Hello Experts,
I have an application, which calls one of our RFC function module 8 times sequentially. This is what I see when I debugged putting an external break point in the RFC FM.
I took a measurement of the application [ calling the RFM] via SAT using the following Scheduling parameters,
Server Name : All servers
External Session: Any
Process Type: Any
Object Type: Any
Max. No. of Sched. Measurements 1
Object Name: RFC FM
Expiration Date 08.12.2014.
I see that in the measurement results, I only get a partial hit list of the underlying Function modules of the Remote Function Module. Meaning the SAT is not picking the entire measurement of RFM [ when called 8 times], but it is only showing measurements for one call of the RFM.
Should I be taking the measurement with the following and sum up all the individual measurements for entire process ?
Server Name : All servers
External Session: Any
Process Type: Any
Object Type: Any
Max. No. of Sched. Measurements 8 ---- Since RFM gets called 8 times
Object Name: RFC FM
Expiration Date 08.12.2014.
Regards,
Naresh
Have you tried setting aggregation level in default variant to none?
Path: SAT > Variant...Settings > Duration and Type > Aggregation
Hi,
Yes I have tried this option as well. But I don't get to see the complete measurement. Still I see that the sum of eight measurements is not equal to the single measurements.
Looks like SAT is taking measurement of just one call of RFC.
Regards,
Naresh
Hi ABAP experts
We have migrated an update rule from 3.x to 7.0 dataflow.
Syntax check of the next transformation and the generated startroutine is okay.
The datasource, an DSO table, has been filled up with a valid source system value with charateristic 0LOGSYS.
While debugging, SOURCE_SYSTEM at the beginning of the coding is not filled which is incorrect.
Are there any ideas how to fix this issue?
Thanks
SOURCE_SYSTEM = p_r_request->get_logsys( ).
* Migrated update rule call
BREAK-POINT.
Perform routine_9998
.........
FORM routine_9998
TABLES
P_MONITOR structure rsmonitor
P_MONITOR_RECNO structure rsmonitors
DATA_PACKAGE TYPE _ty_t_SC_1_full
CHANGING
ABORT LIKE sy-subrc
RAISING
cx_sy_arithmetic_error
cx_sy_conversion_error.
* init variables
* fill the internal tables "MONITOR" and/or "MONITOR_RECNO",
* to make monitor entries
data: l_isource(30) type c.
data: l_date type d.
data: l_abort type sy-subrc value 0.
*Der Bestandsinit für den Cube 0CML_C01 erfolgt über die INFOSOURCE
*0CML_INIT_BUDAT
l_isource = '0CML_INIT_BUDAT'.
*Aufruf des Bausteins im OLTP
*DESTINATION muss geplegt sein (SM59)
CALL FUNCTION 'BWFS_TIMESTAMPS_READ_ALL_RFC' DESTINATION SOURCE_SYSTEM
EXPORTING
I_INFOSOURCE = l_isource
IMPORTING
E_DATUM_INIT = l_date.
if l_date is not initial.
*Schleife über alle Datensätze, die aus dem OLTP geladeb worden sind.
*Alle Datensätze, deren Buchungsdatum kleiner(gleich) dem*
*Bestandsinit-Datum ist, werden gelöscht.
loop at DATA_PACKAGE.
if DATA_PACKAGE-PSTNG_DATE <= l_date.
delete DATA_PACKAGE index sy-tabix.
endif.
endloop.
Hi Naresh,
Yes, you have to schedule one measurement for each potential RFC or http request that might run on the servers under the traced user.
Best Regards, Randolf