CCM_LUSG_JOB
ATC not checking code in user exit includes
Dear Friends,
I'm not sure if you have faced this issue, but I have not found anyone or any post or any document or any OSS note talking about it.
I've recently have realized than when using ATC for checking the custom code of an Z include it was finding cero errors when it was actually full of them.
In fact using code inspector, the errors where found. It was not an issue of using a different variant, this was checked, CI and ATC are using the same,
The issue itself was clear: When the ATC checks a parent object its checks the code of its includes. If you try to check an include directly with ATC, it is ignored with message "No checks are available for the objects types", giving the chance to "add master program" so it will be checked when the master program is checked with all its includes. Last, ATC neither Code Inspector checks custom code.
The end result is that when trying to check the code in a user exit include with ATC it does not find any error.
I can think about encapsulating the code found in a user exits but this is a titanic task.
The main problem is that the jobs for getting in CCLM the quality required massive ATC runs that will not catch the errors in these kind of objects.
Have you face this issue? do you have any recommendation?
I would like your opinion before raising this as customer message, as from my point of this this may require a SAP correction.
Thanks
Aubin
Unused custom object - is it really so bad?
Hello, collegues.
I am curious about unused custom objects - is it really so bad to have several (or many) Z objects which are not used?
Yes, we can face challenges in upgrade project - when we have to modify/adapt Z code to new upgraded SAP standard object. But Clearing Analysis and UPL can solve this issue. When we have used/unused list of our Z objects we can no longer focus on code we don't need.
It doesn't executes, footprints isn't big at all (regarding PROG and FUNC). And as far as I know we don't need to feed Z code (smile).
So the question is quite simple and clear - how can unused PROG and FUNC affect SAP system?
What do you think?
Regards,
Anatoliy
Custom Code Management Team Lead
Why I haven't settings menu and active systems?
Adobe PDF form - first record in table is not printed
Hello Experts,
Maybe someone of you has come across similar issue - i have 20 records in my internal table in SFP Adobe form, only 19 are printed, first record is omitted, I've tried different tricks but no luck.. Please help!
Error coming " A BS 001 No status object is available for SDI 0 "
Hi Experts,
I am facing a issue.. I am creation a sales order using BAPI " BAPI_SALESORDER_CREATEFROMDAT2 "
In one scenario, I am able to create Sales Order with Status Profile..
But For second scenario, its giving error like "A BS 001 No status object is available for SDI 0" .
Between both scenario, only difference is Distribution channel and Condition record.
DATA : wa_order_header_in TYPE bapisdhd1,
gt_order_partners TYPE STANDARD TABLE OF bapiparnr,
gs_order_partners TYPE bapiparnr,
gs_order_partners1 TYPE bapiparnr,
gt_order_items_in TYPE STANDARD TABLE OF bapisditm,
gs_order_items_in TYPE bapisditm,
gt_order_conditions_in TYPE STANDARD TABLE OF bapicond,
gs_order_conditions_in TYPE bapicond,
gt_order_schedules_in TYPE STANDARD TABLE OF bapischdl,
gs_order_schedules_in TYPE bapischdl,
* gt_return TYPE STANDARD TABLE OF bapiret2,
* gs_return TYPE bapiret2,
gt_error TYPE STANDARD TABLE OF bapiret2,
gs_error TYPE bapiret2,
gt_log TYPE TABLE OF zsd_ecomerr,
gs_log TYPE zsd_ecomerr,
it_item_temp TYPE TABLE OF zst_sfdc_so_items_dom WITH HEADER LINE,
lt_return TYPE STANDARD TABLE OF bapiret2,
ls_return TYPE bapiret2,
lt_order_conditions_in TYPE STANDARD TABLE OF bapicond,
ls_order_conditions_in TYPE bapicond,
ls_sfdc TYPE zsd_sfdc_order .
DATA: wa_order_header_inx TYPE bapisdhd1x,
gt_order_items_inx TYPE STANDARD TABLE OF bapisditmx,
lt_order_items_inx TYPE STANDARD TABLE OF bapisditmx,
gs_order_items_inx TYPE bapisditmx,
gt_order_schedules_inx TYPE STANDARD TABLE OF bapischdlx,
gs_order_schedules_inx TYPE bapischdlx,
gt_order_conditions_inx TYPE STANDARD TABLE OF bapicondx,
gs_order_conditions_inx TYPE bapicondx,
lt_order_conditions_inx TYPE STANDARD TABLE OF bapicondx,
ls_order_conditions_inx TYPE bapicondx,
ls_order_items_inx TYPE bapisditmx,
lv_kbetr TYPE kbetr VALUE '10',
lv_curr TYPE waers ,
lv_ihrez TYPE ihrez ,
lv_knumh TYPE a005-knumh.
DATA:isrno LIKE vbap-posnr.
DATA: x_orderitemx LIKE bapisdh1x.
TYPES: BEGIN OF ty_vbap,
vbeln TYPE vbap-vbeln,
posnr TYPE vbap-posnr,
mwsbp TYPE vbap-mwsbp,
END OF ty_vbap.
DATA: lv_lfstk TYPE vbuk-lfstk,
lv_cmgst TYPE vbuk-cmgst,
lt_vbap TYPE TABLE OF ty_vbap,
ls_vbap TYPE ty_vbap,
lv_bstnk TYPE vbak-bstnk.
****// Checking PO Type. This is mandatory from SFDC
IF sfdc-potype <> '' .
****// Checking here, Whether SFDC Order ID already exist or not. ***//
SELECT SINGLE * FROM zsd_sfdc_order WHERE sfdcorder = sfdc-sfdcorder AND land1 = 'IN'.
IF sy-subrc <> 0.
****// SO creation Process
wa_order_header_in-doc_type = 'ZHOT'.
wa_order_header_in-sales_org = '2700'.
IF sfdc-potype = 'SFSD'. " S & D
wa_order_header_in-distr_chan = '30'.
wa_order_header_in-division = '00'.
ELSEIF sfdc-potype = 'SFHO'. " Hospitality
wa_order_header_in-distr_chan = '33'.
wa_order_header_in-division = '00'.
ENDIF.
wa_order_header_in-purch_date = sfdc-purch_date.
wa_order_header_in-purch_no_c = sfdc-sfdcorder. "SFDC Order ID
wa_order_header_in-doc_date = sy-datum.
wa_order_header_in-currency = 'INR'.
wa_order_header_in-ref_1 = sfdc-purch_no. "sfdc-sfdcorder.
wa_order_header_in-po_method = sfdc-potype.
wa_order_header_inx-updateflag = 'I'.
wa_order_header_inx-doc_type = 'X'.
wa_order_header_inx-sales_org = 'X'.
wa_order_header_inx-distr_chan = 'X'.
wa_order_header_inx-division = 'X'.
wa_order_header_inx-purch_no_c = 'X'.
wa_order_header_inx-purch_date = 'X'.
wa_order_header_inx-doc_date = 'X'.
wa_order_header_inx-currency = 'X'.
wa_order_header_inx-ref_1 = 'X'.
***// Ship to party
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = sfdc-kunag
IMPORTING
output = sfdc-kunag.
gs_order_partners-partn_numb = sfdc-kunag.
gs_order_partners-partn_role = 'WE'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = gs_order_partners-partn_numb
IMPORTING
output = gs_order_partners-partn_numb.
APPEND gs_order_partners TO gt_order_partners.
CLEAR: gs_order_partners.
***// Sold to Party
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = sfdc-kunnr
IMPORTING
output = sfdc-kunnr.
gs_order_partners-partn_numb = sfdc-kunnr.
gs_order_partners-partn_role = 'AG'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = gs_order_partners-partn_numb
IMPORTING
output = gs_order_partners-partn_numb.
APPEND gs_order_partners TO gt_order_partners.
CLEAR: gs_order_partners.
***// Clubed all materials
LOOP AT it_items.
it_item_temp-matnr = it_items-matnr.
it_item_temp-kwmeng = it_items-kwmeng.
it_item_temp-kwert = it_items-kwert.
it_item_temp-reg_dis = it_items-reg_dis.
it_item_temp-add_dis = it_items-add_dis.
it_item_temp-tann = it_items-tann.
COLLECT it_item_temp.
ENDLOOP.
***// Saving Line Item data
LOOP AT it_item_temp.
isrno = isrno + 10.
gs_order_items_in-itm_number = isrno.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = it_item_temp-matnr
IMPORTING
output = it_item_temp-matnr.
gs_order_items_in-material = it_item_temp-matnr.
gs_order_items_in-plant = sfdc-werks.
gs_order_items_in-currency = 'INR'.
IF it_item_temp-tann = 'X'.
gs_order_items_in-item_categ = 'TANN'.
ENDIF.
APPEND gs_order_items_in TO gt_order_items_in.
CLEAR gs_order_items_in.
SELECT SINGLE knumh
INTO lv_knumh
FROM a005
WHERE kappl = 'V'
AND kschl IN ('ZR04', 'ZR00')
AND vkorg = '2700'
AND kunnr = sfdc-kunnr
AND matnr = it_item_temp-matnr.
IF sy-subrc = 0.
SELECT SINGLE kbetr
INTO it_item_temp-kwert
FROM konp
WHERE knumh = lv_knumh.
ELSE.
***//
gs_order_conditions_in-itm_number = isrno.
IF sfdc-potype = 'SFSD' . " Sales and Distribution
gs_order_conditions_in-cond_type = 'ZR04'.
ELSEIF sfdc-potype = 'SFHO'. " Hospitality
gs_order_conditions_in-cond_type = 'ZR00'.
ENDIF.
it_item_temp-kwert = it_item_temp-kwert .
gs_order_conditions_in-cond_value = it_item_temp-kwert .
gs_order_conditions_in-currency = 'INR'.
APPEND gs_order_conditions_in TO gt_order_conditions_in.
CLEAR gs_order_conditions_in.
gs_order_conditions_inx-itm_number = isrno.
gs_order_conditions_inx-cond_type = 'X'.
gs_order_conditions_inx-cond_value = 'X'.
gs_order_conditions_inx-currency = 'X'.
gs_order_conditions_inx-updateflag = 'X'.
APPEND gs_order_conditions_inx TO gt_order_conditions_inx.
CLEAR gs_order_conditions_inx.
IF sfdc-potype = 'SFSD'.
***// Regular Discount to Customer
IF it_item_temp-reg_dis <> '0.00'.
gs_order_conditions_in-itm_number = isrno.
gs_order_conditions_in-cond_type = 'ZDID'.
gs_order_conditions_in-cond_value = it_item_temp-reg_dis * lv_kbetr. " 10 .
gs_order_conditions_in-currency = 'INR'.
APPEND gs_order_conditions_in TO gt_order_conditions_in.
CLEAR gs_order_conditions_in.
gs_order_conditions_inx-itm_number = isrno.
gs_order_conditions_inx-cond_type = 'X'.
gs_order_conditions_inx-cond_value = 'X'.
gs_order_conditions_inx-currency = 'X'.
gs_order_conditions_inx-updateflag = 'X'.
APPEND gs_order_conditions_inx TO gt_order_conditions_inx.
CLEAR gs_order_conditions_inx.
ENDIF.
***// Additional Discount to Customer
IF it_item_temp-add_dis <> '0.00'.
gs_order_conditions_in-itm_number = isrno.
gs_order_conditions_in-cond_type = 'ZINM'.
gs_order_conditions_in-cond_value = it_item_temp-add_dis * lv_kbetr.
gs_order_conditions_in-currency = 'INR'.
APPEND gs_order_conditions_in TO gt_order_conditions_in.
CLEAR gs_order_conditions_in.
gs_order_conditions_inx-itm_number = isrno.
gs_order_conditions_inx-cond_type = 'X'.
gs_order_conditions_inx-cond_value = 'X'.
gs_order_conditions_inx-currency = 'X'.
gs_order_conditions_inx-updateflag = 'X'.
APPEND gs_order_conditions_inx TO gt_order_conditions_inx.
CLEAR gs_order_conditions_inx.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
******** End Discount ********
LOOP AT gt_order_items_in INTO gs_order_items_in.
READ TABLE it_item_temp WITH KEY matnr = gs_order_items_in-material.
IF sy-subrc = 0.
gs_order_schedules_in-itm_number = gs_order_items_in-itm_number.
gs_order_schedules_in-req_qty = it_item_temp-kwmeng.
APPEND gs_order_schedules_in TO gt_order_schedules_in.
CLEAR gs_order_schedules_in.
gs_order_schedules_inx-itm_number = gs_order_items_in-itm_number.
gs_order_schedules_inx-req_qty = 'X'.
gs_order_schedules_inx-dlv_date = 'X'.
APPEND gs_order_schedules_inx TO gt_order_schedules_inx.
CLEAR gs_order_schedules_inx.
ENDIF.
ENDLOOP.
sfdcorder = sfdc-sfdcorder.
kunnr = sfdc-kunnr.
kunag = sfdc-kunag.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
* SALESDOCUMENTIN =
order_header_in = wa_order_header_in
order_header_inx = wa_order_header_inx
IMPORTING
salesdocument = vbeln
TABLES
return = gt_return
order_items_in = gt_order_items_in
order_items_inx = gt_order_items_inx
order_partners = gt_order_partners
order_schedules_in = gt_order_schedules_in
order_schedules_inx = gt_order_schedules_inx
order_conditions_in = gt_order_conditions_in
order_conditions_inx = gt_order_conditions_inx.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
Problem Overview CCLM "no data"
Hello,
We are implementing CCLM on Solman SP13.
We followed the configuration guide, all extractors are working fine and we do not have any authorization issues.
When we launch transaction "CCLM", we do not have any data on the "overview" part.
All other parts (library, decommissioning...) are showing data correctly.
We are using IE 10 or 11 and we also tried with chrome and firefox but the issue remains.
Do you have any idea where this problem could come from?
Thanks for your help!
Louise Bariohay.
Version management
Hello community!
I'm facing a problem with the version management for a customers system.
For some objects the versions disappear when a the transport request are released to Q system.
E.g. A class have let's say 5 versions and have been transported to production system 5 times, the last time was 2 years ago. Now we make a correction in one of the method as as usual a new version in created and assigned to the task in the transport request.
When the transport is released from development system and imported into the Q system there is only one version in the version management in the development system.
Why?
This behaviour started after the installed CHaRM operated from Solution Manager.
Best Regards
Johan
EFWK_CCM_ERROR
There is no app which can be added to this dashboard
Migrating UPL Data
Hi Experts
I have historical data in my 0SM_UPL cube from when CCLM was configured using SP9 against my ECC system last year. Now I am about to reconfigure using SP12, I wanted to know whether the UPL migration would be triggered if no UPL extractor was currently running (it stopped for unknown reasons a couple of months ago). I have taken a look at the WDA code for the migration step and it suggests to me that the old UPL extractor is checked if it is running before performing the migration.
Thanks
Ian
TextEdit UI element Enable/Disable for User input Dynamically Webdynpro
Hi Experts,
I have an TextEdit UI element in my Output and this needs to be Enable/Disable for User input Dynamically based on a condition. Buy default it will be enabled for user input.
As CL_WD_TEXT_EDIT is a protected class, I have created custom class as a sub class of CL_WD_TEXT_EDIT and tried SET_ENABLED and SET_DISPLAY_ONLY both the methods. But it's not working for me.
Please suggest is there any way to achieve the same.
Thanks,
Viswanath
Active implementation of BADI TRIP_POST_FI is not triggering.
Hi Experts
I implemented badi TRIP_POST_FI .
I provided the filter value , wrote custom code in MODIFY_PTRV_DOC_IT method as per requirement and activated the implementation.
now when I am posting my document via T-code PRRW this implementation is not called.
For checking if BADI implementation is called or not I am creating debugger break point in modified method.
system is not stopping at break point .is there any other way to check?
Can you help me understand why this implementation is not getting called.
Thanks in advance
CDMC Upgrade Change Impact Analysis
Hi,
We have run a CDMC UCIA Analysis to find out affected Z codes due to upcoming EHP4 to EHP7 upgrade. We have got good results and know which Z codes are affected and what to fix.
Now my question is, how to monitor the effectiveness and integrity of our Z code fixing? Can we run a CDMC UCIA again and expect to see Z Codes which were earlier having Red traffic light to change to Green during the latest run?
How exactly CDMC UCIA can be used to monitor the execution of Z code fixing?
Thanks,
Vivek
Customizing the code inspector with check for two executable statements in same line
Hi Everyone,
I have a reuirement to customize the code inspector.I need to create a check 'Two executable statements should not be in the same line'.
While doing so i am facing one problem as in internal table it is capturing the report as word by word with same row number nd different line number.
If anyone have worked on this before then help me out.
I am using CL_CI_TEST_SCAN as superclass and making the changes in the run method.
Regards,
Khushboo
UPL Activated in Managed Systems - Now What?
Hi All,
First post for me in the UPL SCN. I believe I have correctly activated UPL data collection in our managed ABAP Systems. (Followed this link to do so: https://websmp104.sap-ag.de/~sapidb1000358700000427102012E)
I can run the sa38 report /SDF/UPL_CONTROL and it shows that is in on and working. Also report /SDF/SHOW_UPL will show me a bunch of returned data when I click execute. (these are being ran on the abap systems themselves).
My question is, now what? Where do I go inside solution manager to begin seeing if this data is being stored in the SolMan BW? Any insight, work center locations, reports or anything else will help.
Thanks,
Zach
City Model does not display towers
Useful Customer Exist
Installation (ES31) : EXIT_SAPLE20B_001
DIR Removal/Installation (EG35/EG34): EXIT_SAPLE30D_002
Benchmark about Customer code Cost and Customer code Obsolescence
Do anyone have a Benchmark or personal statistics about customer code cost? (how much the
Custom Code cost to be build and maintain over the years including upgrade cost)
Do anyone have a Benchmark about how the customer code is getting obsolete over the time? For instance
how many z-code become obsolete over the year; 10% per year 30% after each
upgrade??.
Any information that you can share could be useful to me.
Sergio Soccal
Engineering Architect /TQM I SAP Global Service & Support
Chile - SAP Región Sur
Rosario Norte 100 piso 13 |Las Condes | Santiago | Chile
T +56 2 2440 3614 I M +56 9 99973859
Scope and Effort Analysis failed due to Similarity Data is too old
Hi All,
I am trying to generate Scope and Effort Analysis Report for EhP deployment of an ERP system. However, the analysis failed; in the Processing Log, the step "Provide Similarity (Clone Finder) data" shows "Similarity Data is too old".
What should I do in this situation? Is there any possibility to bypass this step?
Best regards,
Duy BPS Finland