Build 9879 is having performance issues on my PC
Hi guys,
Sorry for the outburst in the title, but since "upgrading" to 9879, I find my PC to be unusable: it's sluggish to the point that right-clicking on a shortcut on the Desktop has no visible effect (no menu showing, only the blue donut spinning and
spinning), the touchpad drivers are no longer recognized, and I must allow them to load into memory on every startup, and some files and folders are downright inaccessible, because I get an error message stating that the file or folder couldn't be opened,
just like that.
CPU pegs at 100% and stays there, with a svchost gobbling all the cycles, though with very little RAM consumption, which seems to indicate a kernel issue, not a memory leak.
I haven't found the complete changelog for this build, but I think they put the cart before the horse, one more time. I know this is a preview version of Windows, but some users like to put such versions to the (real) test of everyday use, and so far, it
doesn't pass, not by a long shot.
How many happy campers among the 9879 users, as of now?
Oh, and one more for the road: after hanging/freezing for almost 10 minutes, I was told that the "Windows" process wasn't responding (really?), and would I like to terminate it... I clicked on "End process", and got a blue screen that
doesn't quite seem of death, but isn't completely alive either, because nothing's happening...
A few thoughts:
Can you try a fresh installation of Build 9879? Where you report several different errors (drivers, system files, hanging, folders inaccessible), I would try a fresh installation to see if something got corrupted during the upgrade process.
You could also try DISM /Online /Cleanup-Image /RestoreHealth to validate and potentially repair core system files. You may need to use a Build 9879 disk image as the source. I would also recommend uninstalling and reinstalling any drivers that were installed
in the prior build. For example, the touchpad drivers may be in a halfway state where some components are properly installed and some were corrupted or affected during the upgrade process. Remove the drivers altogether and then re-install using the latest
Windows 8.1 drivers.
Are you running any third party software, such as possibly an anti-virus, that could have affected the upgrade?
Brandon
Windows Outreach Team- IT Pro
Windows for IT Pros on TechNet
Similar Messages
-
Not Updating Customized Table when System having Performance Issue
Hi,
This is actually the same topic as "Not Updating Customized Table when System having Performance Issue" which is posted last December by Leonard Tan regarding the user exit EXIT_SAPLMBMB_001.
Recently we changed the program function module z_mm_save_hide_qty to update task. However this causes more data not updated. Hence we put back the old version (without the update task). But now it is not working as it used to be (e.g. version 1 - 10 records not updated, version 2 with update task - 20 records not updated, back to version 1 - 20 records not updated).
I tried debugging the program, however whenever I debugged, there is nothing wrong and the data is updated correctly.
Please advise if anyone has any idea why is this happening. Many thanks.
Regards,
JanetHi Janet,
you are right. This is a basic rule not to do any COMMIT or RFC calls in a user exit.
Have a look at SAP note 92550. Here they say that exit EXIT_SAPLMBMB_001 is called in the update routine MB_POST_DOCUMENT. And this routine is already called in UPDATE TASK from FUNCTION 'MB_UPDATE_TASKS' IN UPDATE TASK.
SAP also tells us not to do any updates on SAP system tables like MBEW, MARD, MSEG.
Before the exit is called, now they call 'MB_DOCUMENT_BADI' with methods MB_DOCUMENT_BEFORE_UPDATE and MB_DOCUMENT_UPDATE. Possibly you have more success implementing the BADI.
I don't know your situation and goal so this is all I can tell you now.
Good luck!
Regards,
Clemens -
SQL Query Having performance issues
I need help on rewriting this query, I am having performance issues with the way it is now. I create a temporary table and query against it. Any help will be appreciated. Thanks, Antonio
Here it is:
create global temporary table pr_php_elig_tmp
on commit preserve rows as
SELECT UNIQUE A.SAK_PROV, A.CDE_SERVICE_LOC, a.sak_short
FROM T_PR_PHP_ELIG A,
T_PR_TYPE C
WHERE C.SAK_PROV = A.SAK_PROV
AND C.CDE_SERVICE_LOC = A.CDE_SERVICE_LOC
AND C.CDE_PROV_TYPE not in ('01', '03', '08', '24', '27', '31')
AND A.SAK_PROV_PGM not in (11, 13)
AND A.DTE_END >= :il_current_date
AND A.DTE_EFFECTIVE <= :il_prev_18_months
AND NOT EXISTS (
SELECT 'X'
FROM T_PR_GRP_MBR T
WHERE T.SAK_PROV = A.SAK_PROV
AND T.CDE_SVC_LOC_MBR = A.CDE_SERVICE_LOC)
AND NOT EXISTS (
select a.sak_prov, a.cde_service_loc
from t_pmp_svc_loc d
where a.sak_prov = d.sak_prov
and a.cde_service_loc = d.cde_service_loc
and d.dte_end >= :il_current_date)
ORDER BY A.SAK_PROV, A.CDE_SERVICE_LOC;
select * from pr_php_elig_tmp
minus
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim01.t_deny_dntl_dtl temp01
WHERE temp01.sak_prov_perf = a.sak_prov
and temp01.cde_svc_loc_perf = a.cde_service_loc
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX(temp01.DTE_FIRST_SVC) >= :il_prev_18_months
OR NVL(MAX(temp01.DTE_FIRST_SVC),0) = 0
union
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim01.t_deny_dntl_hdr temp02
WHERE ( (temp02.prov_billing = a.sak_prov
and temp02.cde_service_loc = a.cde_service_loc)
OR (temp02.sak_prov_perf = a.sak_prov
and temp02.cde_perf_svc_loc = a.cde_service_loc)
OR (temp02.sak_prov_referring = a.sak_prov
and temp02.cde_svc_loc_ref_1 = a.cde_service_loc)
OR (temp02.sak_prov_referring_2 = a.sak_prov
and temp02.cde_svc_loc_ref_2 = a.cde_service_loc)
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX(temp02.DTE_FINAL) >= :il_prev_18_months
OR NVL(MAX(temp02.DTE_FINAL),0) = 0
union
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim01.t_deny_phrm_hdr temp03
WHERE ( (temp03.prov_billing = a.sak_prov and
temp03.cde_service_loc = a.cde_service_loc)
OR (temp03.sak_prov_rendering = a.sak_prov and
temp03.cde_svc_loc_rend = a.cde_service_loc)
OR (temp03.sak_presc_prov = a.sak_prov and
temp03.cde_svc_loc_presc = a.cde_service_loc)
OR temp03.id_prov_prescrb = to_char(a.sak_prov) || a.cde_service_loc
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX(temp03.DTE_FINAL) >= :il_prev_18_months
OR NVL(MAX(temp03.DTE_FINAL),0) = 0
union
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim01.t_deny_phys_dtl temp04
WHERE ( (temp04.sak_prov_perf = a.sak_prov
and temp04.cde_svc_loc_rend = a.cde_service_loc)
OR (temp04.sak_prov_referring = a.sak_prov
and temp04.cde_svc_loc_ref_1 = a.cde_service_loc)
OR (temp04.sak_prov_referring_2 = a.sak_prov
and temp04.cde_svc_loc_ref_2 = a.cde_service_loc)
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX(temp04.DTE_LAST_SVC) >= :il_prev_18_months
OR NVL(MAX(temp04.DTE_LAST_SVC),0) = 0
union
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim01.t_deny_phys_hdr temp05
WHERE ( (temp05.prov_billing = a.sak_prov
and temp05.cde_service_loc = a.cde_service_loc)
OR (temp05.sak_prov_perf = a.sak_prov
and temp05.cde_perf_svc_loc = a.cde_service_loc)
OR (temp05.sak_prov_referring = a.sak_prov
and temp05.cde_svc_loc_ref_1 = a.cde_service_loc)
OR (temp05.sak_prov_referring_2 = a.sak_prov
and temp05.cde_svc_loc_ref_2 = a.cde_service_loc)
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX(temp05.DTE_FINAL) >= :il_prev_18_months
OR NVL(MAX(temp05.DTE_FINAL),0) = 0
union
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim01.t_deny_ub92_dtl temp06
WHERE ( (temp06.sak_pr_other = a.sak_prov
and temp06.cde_scv_loc_other = a.cde_service_loc)
OR (temp06.sak_pr_other_2 = a.sak_prov
and temp06.cde_svc_loc_other_2 = a.cde_service_loc)
OR (temp06.sak_pr_attend = a.sak_prov
and temp06.cde_svc_loc_attend = a.cde_service_loc)
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX(temp06.DTE_LAST_SVC) >= :il_prev_18_months
OR NVL(MAX(temp06.DTE_LAST_SVC),0) = 0
union
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim01.t_deny_ub92_hdr temp07
WHERE ( (temp07.prov_billing = a.sak_prov
and temp07.cde_service_loc = a.cde_service_loc)
OR (temp07.sak_pr_facility = a.sak_prov
and temp07.cde_svc_loc_fa = a.cde_service_loc)
OR (temp07.sak_pr_other = a.sak_prov
and temp07.cde_svc_loc_other = a.cde_service_loc)
OR (temp07.sak_pr_other_2 = a.sak_prov
and temp07.cde_svc_loc_other_2 = a.cde_service_loc)
OR (temp07.sak_pr_attend = a.sak_prov
and temp07.cde_svc_loc_attend = a.cde_service_loc)
OR temp07.id_prov_attend = to_char(a.sak_prov) || a.cde_service_loc
OR temp07.id_prov_other = to_char(a.sak_prov) || a.cde_service_loc
OR temp07.id_prov_other_2 = to_char(a.sak_prov) || a.cde_service_loc
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX(temp07.DTE_FINAL) >= :il_prev_18_months
OR NVL(MAX(temp07.DTE_FINAL),0) = 0
union
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim01.t_pd_dntl_dtl temp08
WHERE temp08.sak_prov_perf = a.sak_prov
and temp08.cde_svc_loc_perf = a.cde_service_loc
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX(temp08.DTE_FIRST_SVC) >= :il_prev_18_months
OR NVL(MAX(temp08.DTE_FIRST_SVC),0) = 0
union
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim01.t_pd_dntl_hdr temp09
WHERE ( (temp09.prov_billing = a.sak_prov
and temp09.cde_service_loc = a.cde_service_loc)
OR (temp09.sak_prov_perf = a.sak_prov
and temp09.cde_perf_svc_loc = a.cde_service_loc)
OR (temp09.sak_prov_referring = a.sak_prov
and temp09.cde_svc_loc_ref_1 = a.cde_service_loc)
OR (temp09.sak_prov_referring_2 = a.sak_prov
and temp09.cde_svc_loc_ref_2 = a.cde_service_loc)
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX(temp09.DTE_FINAL) >= :il_prev_18_months
OR NVL(MAX(temp09.DTE_FINAL),0) = 0
union
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim01.t_pd_pharm_hdr temp10
WHERE ( (temp10.prov_billing = a.sak_prov
and temp10.cde_service_loc = a.cde_service_loc)
OR (temp10.sak_prov_rend = a.sak_prov
and temp10.cde_svc_loc_rend = a.cde_service_loc)
OR (temp10.sak_presc_prov = a.sak_prov
and temp10.cde_svc_loc_presc = a.cde_service_loc)
OR temp10.id_prov_prescrb = to_char(a.sak_prov) || a.cde_service_loc
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX(temp10.DTE_FINAL) >= :il_prev_18_months
OR NVL(MAX(temp10.DTE_FINAL),0) = 0
union
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim01.t_pd_phys_dtl temp11
WHERE ( (temp11.sak_prov_perf = a.sak_prov
and temp11.cde_svc_loc_rend = a.cde_service_loc)
OR (temp11.sak_prov_referring = a.sak_prov
and temp11.cde_svc_loc_ref_1 = a.cde_service_loc)
OR (temp11.sak_prov_referring_2 = a.sak_prov
and temp11.cde_svc_loc_ref_2 = a.cde_service_loc)
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX(temp11.DTE_LAST_SVC) >= :il_prev_18_months
OR NVL(MAX(temp11.DTE_LAST_SVC),0) = 0
union
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim01.t_pd_phys_hdr temp12
WHERE ( (temp12.prov_billing = a.sak_prov
and temp12.cde_service_loc = a.cde_service_loc)
OR (temp12.sak_prov_perf = a.sak_prov
and temp12.cde_perf_svc_loc = a.cde_service_loc)
OR (temp12.sak_prov_referring = a.sak_prov
and temp12.cde_svc_loc_ref_1 = a.cde_service_loc)
OR (temp12.sak_prov_referring_2 = a.sak_prov
and temp12.cde_svc_loc_ref_2 = a.cde_service_loc)
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX(temp12.DTE_FINAL) >= :il_prev_18_months
OR NVL(MAX(temp12.DTE_FINAL),0) = 0
union
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim01.t_pd_ub92_dtl temp13
WHERE ( (temp13.sak_pr_other = a.sak_prov
and temp13.cde_scv_loc_other = a.cde_service_loc)
OR (temp13.sak_pr_other_2 = a.sak_prov
and temp13.cde_svc_loc_other_2 = a.cde_service_loc)
OR (temp13.sak_pr_attend = a.sak_prov
and temp13.cde_svc_loc_attend = a.cde_service_loc)
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX(temp13.DTE_LAST_SVC) >= :il_prev_18_months
OR NVL(MAX(temp13.DTE_LAST_SVC),0) = 0
union
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim01.t_pd_ub92_hdr temp14
WHERE ( (temp14.prov_billing = a.sak_prov
and temp14.cde_service_loc = a.cde_service_loc)
OR (temp14.sak_pr_facility = a.sak_prov
and temp14.cde_svc_loc_fa = a.cde_service_loc)
OR (temp14.sak_pr_other_2 = a.sak_prov
and temp14.cde_svc_loc_other_2 = a.cde_service_loc)
OR (temp14.sak_pr_attend = a.sak_prov
and temp14.cde_svc_loc_attend = a.cde_service_loc)
OR (temp14.sak_pr_other = a.sak_prov
and temp14.cde_svc_loc_other = a.cde_service_loc)
OR temp14.id_prov_attend = to_char(a.sak_prov) || a.cde_service_loc
OR temp14.id_prov_other = to_char(a.sak_prov) || a.cde_service_loc
OR temp14.id_prov_other_2 = to_char(a.sak_prov) || a.cde_service_loc
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX(temp14.DTE_FINAL) >= :il_prev_18_months
OR NVL(MAX(temp14.DTE_FINAL),0) = 0
union
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim00.t_susp_dental_dtl temp15
WHERE temp15.sak_prov_perf = a.sak_prov
and temp15.cde_svc_loc_perf = a.cde_service_loc
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX(temp15.DTE_FIRST_SVC) >= :il_prev_18_months
OR NVL(MAX(temp15.DTE_FIRST_SVC),0) = 0
union
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim00.t_susp_dental_hdr temp16
WHERE ( (temp16.sak_prov_perf = a.sak_prov
and temp16.cde_perf_svc_loc = a.cde_service_loc)
OR (temp16.sak_prov_referring = a.sak_prov
and temp16.cde_svc_loc_ref_1 = a.cde_service_loc)
OR (temp16.sak_prov_referring_2 = a.sak_prov
and temp16.cde_svc_loc_ref_2 = a.cde_service_loc)
OR (temp16.prov_billing = a.sak_prov
and temp16.cde_service_loc = a.cde_service_loc)
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING ((MAX(temp16.DTE_LAST_SVC) >= :il_prev_18_months
OR NVL(MAX(temp16.DTE_LAST_SVC),0) = 0)
and (MAX(temp16.DTE_BILLED) >= :il_prev_18_months
OR NVL(MAX(temp16.DTE_BILLED),0) = 0) )
union
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim00.t_susp_phrm_hdr temp17
WHERE ( (temp17.prov_billing = a.sak_prov
and temp17.cde_service_loc = a.cde_service_loc)
OR (temp17.sak_prov_rend = a.sak_prov
and temp17.cde_svc_loc_rend = a.cde_service_loc)
OR (temp17.sak_presc_prov = a.sak_prov
and temp17.cde_svc_loc_presc = a.cde_service_loc)
OR temp17.id_prov_prescrb = to_char(a.sak_prov) || a.cde_service_loc
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX(temp17.DTE_BILLED) >= :il_prev_18_months
OR NVL(MAX(temp17.DTE_BILLED),0) = 0
union
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim00.t_susp_phys_dtl temp18
WHERE ( (temp18.sak_prov_perf = a.sak_prov
and temp18.cde_svc_loc_rend = a.cde_service_loc)
OR (temp18.sak_prov_referring = a.sak_prov
and temp18.cde_svc_loc_ref_1 = a.cde_service_loc)
OR (temp18.sak_prov_referring_2 = a.sak_prov
and temp18.cde_svc_loc_ref_2 = a.cde_service_loc)
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX(temp18.DTE_LAST_SVC) >= :il_prev_18_months
OR NVL(MAX(temp18.DTE_LAST_SVC),0) = 0
union
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim00.t_susp_phys_hdr temp19
WHERE ( (temp19.prov_billing = a.sak_prov
and temp19.cde_service_loc = a.cde_service_loc)
OR (temp19.sak_prov_perf = a.sak_prov
and temp19.cde_perf_svc_loc = a.cde_service_loc)
OR (temp19.sak_prov_referring = a.sak_prov
and temp19.cde_svc_loc_ref_1 = a.cde_service_loc)
OR (temp19.sak_prov_referring_2 = a.sak_prov
and temp19.cde_svc_loc_ref_2 = a.cde_service_loc)
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING ((MAX(temp19.DTE_LAST_SVC) >= :il_prev_18_months
OR NVL(MAX(temp19.DTE_LAST_SVC),0) = 0)
and (MAX(temp19.DTE_BILLED) >= :il_prev_18_months
OR NVL(MAX(temp19.DTE_BILLED),0) = 0) )
union
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim00.t_susp_ub92_dtl temp20
WHERE ( (temp20.sak_pr_other = a.sak_prov
and temp20.cde_scv_loc_other = a.cde_service_loc)
OR (temp20.sak_pr_other_2 = a.sak_prov
and temp20.cde_svc_loc_other_2 = a.cde_service_loc)
OR (temp20.sak_pr_attend = a.sak_prov
and temp20.cde_svc_loc_attend = a.cde_service_loc)
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX(temp20.DTE_LAST_SVC) >= :il_prev_18_months
OR NVL(MAX(temp20.DTE_LAST_SVC),0) = 0
union
select a.sak_prov, a.cde_service_loc, a.sak_short from pr_php_elig_tmp a, aim00.t_susp_ub92_hdr temp22
WHERE ( (temp22.prov_billing = a.sak_prov
and temp22.cde_service_loc = a.cde_service_loc)
OR (temp22.sak_pr_facility = a.sak_prov
and temp22.cde_svc_loc_fa = a.cde_service_loc)
OR (temp22.sak_pr_other_2 = a.sak_prov
and temp22.cde_svc_loc_other_2 = a.cde_service_loc)
OR (temp22.sak_pr_attend = a.sak_prov
and temp22.cde_svc_loc_attend = a.cde_service_loc)
OR (temp22.sak_pr_other = a.sak_prov
and temp22.cde_svc_loc_other = a.cde_service_loc)
OR temp22.id_prov_attend = to_char(a.sak_prov) || a.cde_service_loc
OR temp22.id_prov_other = to_char(a.sak_prov) || a.cde_service_loc
OR temp22.id_prov_other_2 = to_char(a.sak_prov) || a.cde_service_loc
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX(temp22.DTE_BILLED) >= :il_prev_18_months
OR NVL(MAX(temp22.DTE_BILLED),0) = 0
);Perhaps an approach like this would work better. No promises, but it's worth a try.
SELECT *
FROM pr_php_elig_tmp a
WHERE NOT EXISTS (
SELECT a.sak_prov,
a.cde_service_loc,
a.sak_short
FROM aim01.t_deny_dntl_dtl temp01
WHERE temp01.sak_prov_perf = a.sak_prov
AND temp01.cde_svc_loc_perf = a.cde_service_loc
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX (temp01.dte_first_svc) >= :il_prev_18_months
OR NVL (MAX (temp01.dte_first_svc), 0) = 0)
AND NOT EXISTS (
SELECT a.sak_prov,
a.cde_service_loc,
a.sak_short
FROM aim01.t_deny_dntl_hdr temp02
WHERE ( ( temp02.prov_billing = a.sak_prov
AND temp02.cde_service_loc = a.cde_service_loc)
OR ( temp02.sak_prov_perf = a.sak_prov
AND temp02.cde_perf_svc_loc = a.cde_service_loc)
OR ( temp02.sak_prov_referring = a.sak_prov
AND temp02.cde_svc_loc_ref_1 = a.cde_service_loc)
OR ( temp02.sak_prov_referring_2 = a.sak_prov
AND temp02.cde_svc_loc_ref_2 = a.cde_service_loc))
GROUP BY a.sak_prov, a.cde_service_loc, a.sak_short
HAVING MAX (temp02.dte_final) >= :il_prev_18_months
OR NVL (MAX (temp02.dte_final), 0) = 0) -
Pricing Engine call having performance issues
Hello All,
Morning need some help with this ,, we are having performance issues with the QP Pricing Engine call using seeded API : qp_preq_grp.price_request
We are having Pricing Context setup and have about 20 pricing attributes defined/setup with different values.
The price list is which is passed has a dynamic formula attached to it. This formula makes use of the pricing attributes and factor lists to provide final price.
For the Pricing control record we are passing below mentioned parameters :
p_control_rec.pricing_event := 'LINE';
p_control_rec.calculate_flag := 'Y';
p_control_rec.simulation_flag := 'Y';
p_control_rec.manual_discount_flag := 'Y';
Could someone please assist as to how we could trace or debug this pricing performance issue , means what exactly is causing the pricing call to take time.. Is there any other way other than taking a trace file and geting a tkprof.
meaning could something be analysed or checked within Pricing debug/trace itself to see what is causing the performance to degrade (specific to pricing debug)
ThanksSince you are using a formula to come up with a price, you no longer need the calcualte price flag as 'Y' . Pass as following:
p_control_rec.calculate_flag := 'P'; --- 'Partial Price; indicates that Pricing will not be calculated automatically by the system, but other charges will be'
OR, if you do not need the shipping charges to be calculated as well, pass the value as :
p_control_rec.calculate_flag := 'N';
Please let me know.
Regards,
Dipanjan -
Need help with premiere pro cs6 having performance issues please help
need help with premiere pro cs6 having performance issues please help
Welcome to the forum.
First thing that I would do would be to look at this Adobe KB Article to see if it helps.
Next, I would try the tips in this ARTICLE.
If that does not help, a Repair Install would definitely be in order.
Good luck,
Hunt -
Why am I having performance Issues with an upgrade from CS2 to CS5.5?
I am struggling hard with an upgrade from InDesign CS2 to CS5.5 (part of CS5.5 Design Standard)
There is a very slow response when trying to produce a 45 page document which needs many .jpeg images inserting, sometimes up to six on each 3-column page. While InDesign behaves sort of normally on text only pages, it slows to a virtual standstill when on the pages with images. (But this is what its for and I didn't have this problem with CS2!!)
Having read through some of the postings on this topic I have followed all the advice without success :-(
1) disable LSD in Preferences – Interface
2) disable thumbnail display in Pages
3) adjust view settings to Typical with Raster and Vector Images greyed out
4) disable Save Preview Images with Documents
5) check Links before opening documents
7) switch Preflight off
I shouldn't need to do all this should I???
I am operating with the following:
Packard Bell ixtreme M5740 64 bit
Intel Core i5 CPU [email protected]
4.0 GB RAM
ATII Radeon HD5570 graphics card 2779 MB available memory, 1024MB dedicated
plenty of free space – 274GB on c: drive and 296 GB on a D: drive
My hardware conforms to/exceeds the Indesign recommended hardware spec. Oh yes I am working on my local drive and I don't have these problems with Photoshop or Illustrator CS5.5.
Has anyone an idea about what's going on?
I've lost a good 6-8 hours so far trying to sort it out. Any help and observations will be gratefully received!Hi Peter
Thanks - I've found that the files were marked as 'hidden' and thus by switching them on gain I was able to recreate the original location. Regrettably this has had absolutely no effect on my problem. :-(
I have now created a fresh document, studiously linking all my images properly (similar number to a DK 'Eyewitness Travel Guide') and by the time I got halfway through its 80 pages, InDesign had slowed to a crawl - ie 15-20 seconds to respond to any command. It is clearly doing something that it thinks necessary despite all the 'workarounds' people have suggested. Please please Adobe what's going on??? -
Hi,
The program(developed by someother person) which was given to me is having performance issue. Its giving RUNTIME ERROR 'TIME LIMIT EXCEEDED'. Can u please suggest me in what way i can improve the performance of the program.
please help me in resolving this.
Helpful answers will be rewarded.
TABLES : MARA, "General Material Data
MARC, "Plant Data for Material
VBAP, "Sales Document: Item Data
MARD, "Storage Location Data for Material
MAST, "Material to BOM Link
MKPF, "Header: Material Document
MSEG, "Document Segment: Material
PKHD, "Control Cycle
PKPS, "Control Cycle Item / Kanban
PVBE, "Supply area
ZTGRP, "Wabco Technology Group table
ZZC10. "Kanban status table
I N T E R N A L T A B L E D E C L A R A T I O N *
INTERNAL TABLE FOR TECH.GROUP AND PLANT
DATA: BEGIN OF IT_MARC_ZTGRP OCCURS 0,
MATNR LIKE MARC-MATNR,
WERKS LIKE MARC-WERKS,
ZZPTG LIKE ZTGRP-ZZPTG,
ZZPTD LIKE ZTGRP-ZZPTD,
END OF IT_MARC_ZTGRP.
INTERNAL TABLE FOR RETURN VALUES
DATA IT_RETURN LIKE TABLE OF BAPIRET2 WITH HEADER LINE.
INTERNAL TABLE FOR SUBASSEMBLY AND FINISHED GOOD
DATA: BEGIN OF IT_MATERIAL OCCURS 0,
IDNRK LIKE STPO-IDNRK,
MATNR LIKE MAST-MATNR,
END OF IT_MATERIAL.
INTERNAL TABLE FOR OUTPUT YESTERDAY
DATA: BEGIN OF IT_KBED_KAKO OCCURS 0,
KBEAREST LIKE KBED-KBEAREST,
KRUEREST LIKE KBED-KRUEREST,
KEINH LIKE KBED-KEINH,
END OF IT_KBED_KAKO.
INTERNAL TABLE FOR MATERIAL AND PLANT
DATA: BEGIN OF IT_PLANT OCCURS 0,
MATNR LIKE MARC-MATNR,
WERKS LIKE MARC-WERKS,
END OF IT_PLANT.
DATA: BEGIN OF IT_COBK OCCURS 0,
RUECK LIKE COBK-REFBN,
END OF IT_COBK.
DATA: BEGIN OF IT_COEPL OCCURS 0,
KOKRS LIKE COEPL-KOKRS,
BELNR LIKE COEPL-BELNR,
END OF IT_COEPL.
DATA: BEGIN OF IT_CAPACITIES OCCURS 0,
LSBBTR LIKE COEPL-LSBBTR,
MEINB LIKE COEPL-MEINB,
END OF IT_CAPACITIES.
DATA: BEGIN OF IT_MKPF_MSEG OCCURS 0,
MBLNR LIKE MKPF-MBLNR,
MJAHR LIKE MKPF-MJAHR,
BUDAT LIKE MKPF-BUDAT,
BWART LIKE MSEG-BWART,
MATNR LIKE MSEG-MATNR,
MENGE LIKE MSEG-MENGE,
MEINS LIKE MSEG-MEINS,
DMBTR LIKE MSEG-DMBTR,
WERKS LIKE MSEG-WERKS,
END OF IT_MKPF_MSEG.
INTERNAL TABLE FOR MATERIAL-TO-BOM LINK
DATA: IT_MAST LIKE MAST OCCURS 0 WITH HEADER LINE.
INTERNAL TABLE FOR MATERIAL
DATA: BEGIN OF IT_MAT OCCURS 0,
MATNR LIKE MARA-MATNR,
END OF IT_MAT.
INTERNAL TABLE FOR STORAGE LOCATION DATA FOR SUBASSEMBLY
DATA: BEGIN OF IT_MARD OCCURS 0,
LABST LIKE MARD-LABST,
END OF IT_MARD.
INTERNAL TABLE FOR PLANT FOR MATERIALS
DATA IT_MARC LIKE MARC OCCURS 0 WITH HEADER LINE.
INTERNAL TABLE FOR BOM ITEM DATA
DATA: IT_STPO LIKE STPO OCCURS 0 WITH HEADER LINE.
INTERNAL TABLE FOR KANBAN STATUS DATA
DATA IT_ZZC10 LIKE ZZC10 OCCURS 0 WITH HEADER LINE.
TEMPORARY INTERNAL TABLE FOR KANBAN STATUS DATA
DATA IT_ZZC10_TEMP LIKE ZZC10 OCCURS 0 WITH HEADER LINE.
INTERNAL TABLE FOR CONTROL CYCLE
DATA IT_PKHD LIKE PKHD OCCURS 0 WITH HEADER LINE.
INTERNAL TABLE FOR CONTROL CYCLE ITEM
DATA IT_PKPS LIKE PKPS OCCURS 0 WITH HEADER LINE.
INTERNAL TABLE FOR MATERIAL DOCUMENT HEADER
DATA IT_MKPF LIKE MKPF OCCURS 0 WITH HEADER LINE.
INTERNAL TABLE FOR MATERIAL DOCUMENT ITEM
DATA IT_MSEG LIKE MSEG OCCURS 0 WITH HEADER LINE.
TEMPORARY INTERNAL TABLE FOR ACTUAL QUANTITY
DATA : BEGIN OF IT_TEMP OCCURS 0,
TECH LIKE ZTGRP-ZZPTD,
MATNR LIKE ZZC10-MATNR,
FINISHED LIKE MAST-MATNR,
PKNUM LIKE PKHD-PKNUM,
WERKS LIKE ZZC10-WERKS,
GSMNG LIKE PLAF-GSMNG,
MEINS LIKE PLAF-MEINS,
BEHAZ LIKE PKHD-BEHAZ,
BEHMG LIKE PKHD-BEHMG,
PKBMG LIKE ZZC10-PKBMG,
LATEHOURS LIKE PKHD-KWBZM,
FILLRATE TYPE P DECIMALS 2,
REPL_LEAD_TIME TYPE P DECIMALS 3,
QTY_1 LIKE PLAF-GSMNG,
QTY_2 LIKE PLAF-GSMNG,
QTY_3 LIKE PLAF-GSMNG,
QTY_4 LIKE PLAF-GSMNG,
QTY_5 LIKE PLAF-GSMNG,
QTY_6 LIKE PLAF-GSMNG,
GSMNG_OUTY LIKE PLAF-GSMNG,
MEINS_OUTY LIKE PLAF-MEINS,
KAPBD_OUTY LIKE COEPL-LSTBTR,
KEINH_OUTY LIKE COEPL-MEINH,
GSMNG_OUTM LIKE MSEG-MENGE,
MEINS_OUTM LIKE MSEG-MEINS,
KAPBD_OUTM LIKE COEPL-LSTBTR,
KEINH_OUTM LIKE COEPL-MEINH,
GSMNG_BORD LIKE PLAF-GSMNG,
MEINS_BORD LIKE MSEG-MEINS,
KAPBD_BORD LIKE KBED-KBEAREST,
KEINH_BORD LIKE COEPL-MEINH,
GSMNG_TDAY LIKE PLAF-GSMNG,
KAPBD_TDAY LIKE KBED-KBEAREST,
GSMNG_DAY1 LIKE PLAF-GSMNG,
KAPBD_DAY1 LIKE KBED-KBEAREST,
GSMNG_DAY2 LIKE PLAF-GSMNG,
KAPBD_DAY2 LIKE KBED-KBEAREST,
GSMNG_DAY3 LIKE PLAF-GSMNG,
KAPBD_DAY3 LIKE KBED-KBEAREST,
GSMNG_DAY4 LIKE PLAF-GSMNG,
KAPBD_DAY4 LIKE KBED-KBEAREST,
GSMNG_DAY5 LIKE PLAF-GSMNG,
KAPBD_DAY5 LIKE KBED-KBEAREST,
STOCK_PO01 LIKE MARD-LABST,
F_GSMNG_BORD LIKE PLAF-GSMNG,
F_MEINS_BORD LIKE MSEG-MEINS,
F_KAPBD_BORD LIKE KBED-KBEAREST,
F_KEINH_BORD LIKE COEPL-MEINH,
F_GSMNG_TDAY LIKE PLAF-GSMNG,
F_MEINS_TDAY LIKE MSEG-MEINS,
F_KAPBD_TDAY LIKE KBED-KBEAREST,
F_KEINH_TDAY LIKE COEPL-MEINH,
F_GSMNG_DAY1 LIKE PLAF-GSMNG,
F_MEINS_DAY1 LIKE MSEG-MEINS,
F_KAPBD_DAY1 LIKE KBED-KBEAREST,
F_KEINH_DAY1 LIKE COEPL-MEINH,
F_GSMNG_DAY2 LIKE PLAF-GSMNG,
F_MEINS_DAY2 LIKE MSEG-MEINS,
F_KAPBD_DAY2 LIKE KBED-KBEAREST,
F_KEINH_DAY2 LIKE COEPL-MEINH,
F_GSMNG_DAY3 LIKE PLAF-GSMNG,
F_MEINS_DAY3 LIKE MSEG-MEINS,
F_KAPBD_DAY3 LIKE KBED-KBEAREST,
F_KEINH_DAY3 LIKE COEPL-MEINH,
F_GSMNG_DAY4 LIKE PLAF-GSMNG,
F_MEINS_DAY4 LIKE MSEG-MEINS,
F_KAPBD_DAY4 LIKE KBED-KBEAREST,
F_KEINH_DAY4 LIKE COEPL-MEINH,
F_GSMNG_DAY5 LIKE PLAF-GSMNG,
F_MEINS_DAY5 LIKE MSEG-MEINS,
F_KAPBD_DAY5 LIKE KBED-KBEAREST,
F_KEINH_DAY5 LIKE COEPL-MEINH,
F_GSMNG_OUTM LIKE MSEG-MENGE,
F_MEINS_OUTM LIKE MSEG-MEINS,
F_KAPBD_OUTM LIKE COEPL-LSTBTR,
F_KEINH_OUTM LIKE COEPL-MEINH,
F_GSMNG_OUTN LIKE MSEG-MENGE,
F_MEINS_OUTN LIKE MSEG-MEINS,
F_KAPBD_OUTN LIKE KBED-KBEAREST,
F_KEINH_OUTN LIKE COEPL-MEINH,
END OF IT_TEMP.
INTERNAL TABLE FOR PLANNED DATA
DATA IT_PLAF LIKE PLAF OCCURS 0 WITH HEADER LINE.
INTERNAL TABLE FOR FACTORY CALENDER AND CURRENCY
DATA: BEGIN OF IT_T001W OCCURS 0,
WERKS LIKE T001W-WERKS,
BWKEY LIKE T001W-BWKEY,
FABKL LIKE T001W-FABKL,
END OF IT_T001W.
V A R I A B L E S *
DATA: AUX_BORD LIKE SY-DATUM,
AUX_YDAY LIKE SY-DATUM,
AUX_TDAY LIKE SY-DATUM,
AUX_DAY1 LIKE SY-DATUM,
AUX_DAY2 LIKE SY-DATUM,
AUX_DAY3 LIKE SY-DATUM,
AUX_DAY4 LIKE SY-DATUM,
AUX_DAY5 LIKE SY-DATUM,
AUX_CURRENT LIKE SY-DATUM,
AUX_PREVIOUS LIKE SY-DATUM,
AUX_TECH LIKE ZTGRP-ZZPTD,
AUX_BUDAT LIKE MKPF-BUDAT,
AUX_LOW LIKE MKPF-BUDAT,
AUX_HIGH LIKE MKPF-BUDAT,
AUX_MNG LIKE MSEG-MENGE,
AUX_MENGE LIKE MSEG-MENGE,
AUX_QUANT LIKE PLAF-GSMNG,
AUX_SUM_UNIT LIKE UMADD-MSEHI,
AUX_TIMESTAMP1 LIKE CCUPEAKA-TIMESTAMP,
AUX_TIMESTAMP2 LIKE CCUPEAKA-TIMESTAMP,
AUX_BUKRS LIKE T001K-BUKRS,
AUX_BWKEY LIKE T001W-BWKEY,
AUX_GSMNG LIKE PLAF-GSMNG,
AUX_PKBMG LIKE ZZC10-PKBMG,
AUX_FILL LIKE ZZC10-PKBMG,
AUX_TOTAL LIKE ZZC10-PKBMG,
AUX_FABKL LIKE SCAL-FCALID,
AUX_WAERS LIKE MSEG-WAERS,
AUX_ZZC10_HR TYPE P DECIMALS 3,
AUX_PLAF_HR TYPE P DECIMALS 3,
AUX_KAPBD_OUTY TYPE P DECIMALS 3,
AUX_KAPBD_OUTM TYPE P DECIMALS 3,
AUX_KAPBD_BORD TYPE P DECIMALS 3,
AUX_F_KAPBD_BORD TYPE P DECIMALS 3,
AUX_F_KAPBD_TDAY TYPE P DECIMALS 3,
AUX_F_KAPBD_DAY1 TYPE P DECIMALS 3,
AUX_F_KAPBD_DAY2 TYPE P DECIMALS 3,
AUX_F_KAPBD_DAY3 TYPE P DECIMALS 3,
AUX_F_KAPBD_DAY4 TYPE P DECIMALS 3,
AUX_F_KAPBD_DAY5 TYPE P DECIMALS 3,
AUX_F_KAPBD_OUTM TYPE P DECIMALS 3,
AUX_F_KAPBD_OUTN TYPE P DECIMALS 3,
AUX_PKHD_TIME TYPE P DECIMALS 3,
AUX_LATEHOURS TYPE P DECIMALS 3,
AUX_DIFF TYPE I,
AUX_FLAG TYPE C,
AUX_SET TYPE C,
AUX_DATUMABSOLUT(5) TYPE P,
AUX_FDAY LIKE SY-DATUM,
AUX_DAYS LIKE PKHD-KWBZD,
AUX_HOURS LIKE IT_ZZC10-TIME_EMPTY,
AUX_TIME LIKE PKHD-KWBZM,
AUX_PKHD_DAYS LIKE PKHD-KWBZD,
AUX_PKHD_HOURS LIKE PKHD-KWBZM,
AUX_TMP_DAYS LIKE PKHD-KWBZM VALUE 24,
AUX_TMP_HRS LIKE PKHD-KWBZM,
AUX_FILL_DAYS LIKE PKHD-KWBZD,
AUX_FILL_HOURS LIKE AUX_HOURS,
AUX_FILL_TIME LIKE PKHD-KWBZM,
AUX_TOTAL_QTY LIKE PKHD-BEHMG,
AUX_RATID LIKE PLAF-RATID,
AUX_MATNR LIKE PLAF-MATNR,
AUX_HEADER LIKE MARA-MATNR,
AUX_ZZPTG LIKE MARC-ZZPTG,
AUX_PEDTR LIKE PLAF-PEDTR,
AUX_KRUEREST LIKE KBED-KRUEREST,
AUX_KBEAREST LIKE KBED-KBEAREST,
AUX_KRUEREST_T LIKE KBED-KRUEREST,
AUX_KBEAREST_T LIKE KBED-KBEAREST,
AUX_KEINH LIKE KBED-KEINH,
AUX_KAPBD LIKE KBED-KBEAREST,
AUX_ARBPL LIKE MKAL-MDV01,
AUX_ARBID LIKE CRHD-OBJID,
AUX_QUALF LIKE CRHD-QUALF,
AUX_SAT1800 LIKE SY-UZEIT VALUE '180000'.
S E L E C T I O N S C R E E N *
INPUT SELECTION
SELECTION-SCREEN : BEGIN OF BLOCK BL0 WITH FRAME TITLE TEXT-000.
SELECT-OPTIONS : SO_PRVBE FOR PVBE-PRVBE,
SO_MATNR FOR MARA-MATNR,
SO_ZZPTG FOR MARC-ZZPTG OBLIGATORY,
SO_WERKS FOR MARC-WERKS OBLIGATORY,
SO_BUDAT FOR MKPF-BUDAT OBLIGATORY.
SELECTION-SCREEN : END OF BLOCK BL0.
I N I T I A L I Z A T I O N *
INITIALIZATION.
MOVE SY-DATUM TO AUX_CURRENT.
AUX_PREVIOUS = AUX_CURRENT - 1.
MOVE SY-DATUM TO SO_BUDAT-LOW.
MOVE '01' TO SO_BUDAT-LOW+6(2).
APPEND SO_BUDAT.
AUX_PREVIOUS = AUX_CURRENT - 1.
A T S E L E C T I O N - S C R E E N *
AT SELECTION-SCREEN.
CHECK ON SELECTION SCREEN
PERFORM CHECK_ON_SELECTION.
S T A R T O F S E L E C T I O N *
START-OF-SELECTION.
CHECK IF BOM EXISTS FOR THE COMPONENTS
PERFORM CHECK_BOM_EXISTENCE.
GET FINISHED PRODUCT NUMBER FOR THE SUBASSEMBLIES
IF NOT IT_MARC_ZTGRP[] IS INITIAL.
LOOP AT IT_MARC_ZTGRP.
PERFORM GET_HEADER_MATERIAL USING IT_MARC_ZTGRP-MATNR.
IF NOT IT_MAT[] IS INITIAL.
PERFORM GET_FINISHED_GOOD TABLES IT_MAT.
ENDIF.
CLEAR IT_MARC_ZTGRP.
ENDLOOP.
ELSE.
MESSAGE S010 WITH 'No data present for given selection'.
ENDIF.
CHECK IF SALES DATA EXIST FOR THE FINISHED GOOD
PERFORM CHECK_SALESDATA_EXISTENCE.
GET CONTROL CYCLE AND KANBAN DATA
PERFORM GET_KANBAN_DATA.
GET VALUATION AREA DATA
PERFORM GET_VALUATION_AREA.
GET MATERIAL DOCUMENT DATA
PERFORM GET_MATERIAL_DOC_DATA.
GET KANBAN DETAILS
PERFORM GET_KANBAN_DETAILS.
E N D O F S E L E C T I O N *
END-OF-SELECTION.
IF NOT IT_TEMP[] IS INITIAL.
DISPLAY OUTPUT
PERFORM DISPLAY_OUTPUT.
ENDIF.
*& Form CHECK_ON_SELECTION
text
--> p1 text
<-- p2 text
FORM CHECK_ON_SELECTION .
CHECK IF ENTERED PLANT IS VALID
IF NOT SO_WERKS-LOW IS INITIAL AND SO_WERKS-HIGH IS INITIAL.
SELECT SINGLE * FROM MARC WHERE WERKS EQ SO_WERKS-LOW.
IF SY-SUBRC NE 0.
SET CURSOR FIELD 'SO_WERKS-LOW'.
MESSAGE E010 WITH 'Please enter a valid Plant'.
ENDIF.
ENDIF.
CHECK IF SUPPLY AREA AND PLANT IS VALID
IF NOT SO_PRVBE-LOW IS INITIAL AND SO_PRVBE-HIGH IS INITIAL.
IF NOT SO_WERKS IS INITIAL AND SO_WERKS-HIGH IS INITIAL.
SELECT SINGLE * FROM PVBE WHERE WERKS EQ SO_WERKS-LOW
AND PRVBE EQ SO_PRVBE-LOW.
IF SY-SUBRC NE 0.
SET CURSOR FIELD 'SO_PRVBE-LOW'.
MESSAGE E010 WITH 'Supply Area' SO_PRVBE-LOW 'donot belong to'
SO_WERKS-LOW.
ENDIF.
ENDIF.
ENDIF.
CHECK IF ENTERED MATERIAL NUMBER IS VALID
IF NOT SO_MATNR-LOW IS INITIAL AND SO_MATNR-HIGH IS INITIAL.
SELECT SINGLE * FROM MARA WHERE MATNR EQ SO_MATNR-LOW.
IF SY-SUBRC NE 0.
SET CURSOR FIELD 'SO_MATNR-LOW'.
MESSAGE E010 WITH 'Please enter a valid Material Number'.
ELSE.
IF NOT SO_WERKS-LOW IS INITIAL AND SO_WERKS-HIGH IS INITIAL.
SELECT SINGLE * FROM MARC WHERE MATNR EQ SO_MATNR-LOW
AND WERKS EQ SO_WERKS-LOW.
IF SY-SUBRC NE 0.
SET CURSOR FIELD 'SO_MATNR-LOW'.
MESSAGE E010 WITH 'Material' SO_MATNR-LOW
'doesnot belong to plant' SO_WERKS-LOW.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
CHECK IF TECHNOLOGY GROUP AND PLANT IS VALID
IF NOT SO_ZZPTG-LOW IS INITIAL AND SO_ZZPTG-HIGH IS INITIAL.
IF NOT SO_WERKS-LOW IS INITIAL AND SO_WERKS-HIGH IS INITIAL.
SELECT SINGLE * FROM MARC WHERE WERKS EQ SO_WERKS-LOW
AND ZZPTG EQ SO_ZZPTG-LOW.
IF SY-SUBRC NE 0.
SET CURSOR FIELD 'SO_ZZPTG-LOW'.
MESSAGE E010 WITH 'Tech.Group' SO_ZZPTG-LOW 'doesnot belong to plant'
SO_WERKS-LOW.
ENDIF.
ENDIF.
ENDIF.
ENDFORM. " CHECK_ON_SELECTION
*& Form CHECK_BOM_EXISTENCE
text
--> p1 text
<-- p2 text
FORM CHECK_BOM_EXISTENCE .
JOIN MARC AND ZTGRP TABLES TO GET THE COMPONENTS BASED ON THE INPUT
CRITERIA
REFRESH IT_MARC_ZTGRP.
SELECT MARCMATNR MARCWERKS ZTGRPZZPTG ZTGRPZZPTD
INTO TABLE IT_MARC_ZTGRP
FROM MARC INNER JOIN ZTGRP
ON MARCWERKS EQ ZTGRPWERKS AND
MARCZZPTG EQ ZTGRPZZPTG
WHERE MARC~WERKS IN SO_WERKS
AND MARC~ZZPTG IN SO_ZZPTG
AND MARC~MATNR IN SO_MATNR
AND MARC~LVORM NE 'X'
AND ( MARC~BESKZ EQ 'E' OR
MARC~BESKZ EQ 'X' ).
IF NOT IT_MARC_ZTGRP[] IS INITIAL.
CHECK THE EXISTENCE OF BOM FOR THE SELECTED COMPONENTS.
IF NOT PRESENT, DELETE THE ENTRY FROM INTERNAL TABLE
LOOP AT IT_MARC_ZTGRP.
REFRESH IT_RETURN.
CALL FUNCTION 'BAPI_MAT_BOM_EXISTENCE_CHECK'
EXPORTING
MATERIAL = IT_MARC_ZTGRP-MATNR
PLANT = IT_MARC_ZTGRP-WERKS
BOMUSAGE = '1'
TABLES
RETURN = IT_RETURN.
IF NOT IT_RETURN[] IS INITIAL.
DELETE IT_MARC_ZTGRP WHERE MATNR EQ IT_MARC_ZTGRP-MATNR
AND WERKS EQ IT_MARC_ZTGRP-WERKS
AND ZZPTG EQ IT_MARC_ZTGRP-ZZPTG.
ENDIF.
CLEAR IT_MARC_ZTGRP.
ENDLOOP.
ELSE.
MESSAGE S010 WITH 'No data present for given selection'.
ENDIF.
ENDFORM. " CHECK_BOM_EXISTENCE
*& Form GET_HEADER_MATERIAL
text
-->P_IT_MARC_ZTGRP_MATNR text
FORM GET_HEADER_MATERIAL USING P_MATNR.
REFRESH IT_STPO.
GET BOM ITEM DATA FOR THE COMPONENT
SELECT * FROM STPO INTO TABLE IT_STPO WHERE IDNRK EQ P_MATNR
AND DATUV LE SO_BUDAT-LOW
AND LKENZ NE 'X'.
IF NOT IT_STPO[] IS INITIAL.
IF BOM ITEM DATA IS PRESENT FOR THE COMPONENT
REFRESH IT_MAST.
GET MATERIAL TO BOM LINK
SELECT * FROM MAST INTO TABLE IT_MAST FOR ALL ENTRIES IN IT_STPO
WHERE STLNR EQ IT_STPO-STLNR.
IF NOT IT_MAST[] IS INITIAL.
SORT IT_MAST BY MATNR.
DELETE ADJACENT DUPLICATES FROM IT_MAST COMPARING MATNR.
LOOP AT IT_MAST.
CLEAR AUX_SET.
REFRESH IT_PLANT.
GET ALL THE PLANTS FOR THE COMPONENT
SELECT MATNR WERKS FROM MARC INTO TABLE IT_PLANT
WHERE MATNR EQ IT_MAST-MATNR.
LOOP AT IT_PLANT.
REFRESH IT_RETURN.
CHECK FOR BOM EXISTENCE FOR MATERIAL IN ALL PLANTS
CALL FUNCTION 'BAPI_MAT_BOM_EXISTENCE_CHECK'
EXPORTING
MATERIAL = IT_MAST-MATNR
PLANT = IT_PLANT-WERKS
BOMUSAGE = '1'
TABLES
RETURN = IT_RETURN.
IF IT_RETURN[] IS INITIAL.
MOVE 'X' TO AUX_SET.
ENDIF.
CLEAR IT_PLANT.
ENDLOOP.
IF BOM EXISTS FOR THE COMPONENT IN ANY PLANT, MOVE THE COMPONENT
TO INTERNAL TABLE IT_MAT
IF AUX_SET EQ 'X'.
MOVE IT_MAST-MATNR TO IT_MAT-MATNR.
APPEND IT_MAT.
CLEAR IT_MAT.
ELSE.
IF BOM DOESNOT EXISTS FOR THE COMPONENT IN ALL PLANTS,
SELECT THE COMPONENT AS THE FINISHED PRODUCT
CLEAR MARA.
SELECT SINGLE * FROM MARA WHERE MATNR EQ IT_MAST-MATNR.
IF SY-SUBRC EQ 0 AND MARA-LVORM NE 'X'.
MOVE: IT_MARC_ZTGRP-MATNR TO IT_MATERIAL-IDNRK,
IT_MAST-MATNR TO IT_MATERIAL-MATNR.
APPEND IT_MATERIAL.
CLEAR IT_MATERIAL.
ENDIF.
ENDIF.
CLEAR IT_MAST.
ENDLOOP.
ENDIF.
ELSE.
IF BOM ITEM DATA DOESNOT PRESENT FOR THE COMPONENT,
CONSIDER THE COMPONENT AS FINISHED PRODUCT
CLEAR MARA.
SELECT SINGLE * FROM MARA WHERE MATNR EQ P_MATNR.
IF SY-SUBRC EQ 0 AND MARA-LVORM NE 'X'.
MOVE: IT_MARC_ZTGRP-MATNR TO IT_MATERIAL-IDNRK,
P_MATNR TO IT_MATERIAL-MATNR.
APPEND IT_MATERIAL.
CLEAR IT_MATERIAL.
ENDIF.
ENDIF.
ENDFORM. " GET_HEADER_MATERIAL
*& Form GET_FINISHED_GOOD
text
-->P_IT_MAT text
FORM GET_FINISHED_GOOD TABLES P_IT_MAT LIKE IT_MAT[].
LOOP AT P_IT_MAT.
PERFORM GET_HEADER_MATERIAL USING P_IT_MAT-MATNR.
DELETE P_IT_MAT INDEX 1.
CLEAR P_IT_MAT.
ENDLOOP.
ENDFORM. " GET_FINISHED_GOOD
*& Form CHECK_SALESDATA_EXISTENCE
text
--> p1 text
<-- p2 text
FORM CHECK_SALESDATA_EXISTENCE .
IF NOT IT_MATERIAL[] IS INITIAL.
LOOP AT IT_MATERIAL.
CLEAR VBAP.
SELECT SINGLE * FROM VBAP WHERE MATNR EQ IT_MATERIAL-MATNR.
IF SY-SUBRC NE 0.
DELETE IT_MATERIAL WHERE IDNRK EQ IT_MATERIAL-IDNRK
AND MATNR EQ IT_MATERIAL-MATNR.
ENDIF.
CLEAR IT_MATERIAL.
ENDLOOP.
ENDIF.
ENDFORM. " CHECK_SALESDATA_EXISTENCE
*& Form GET_KANBAN_DATA
text
--> p1 text
<-- p2 text
FORM GET_KANBAN_DATA.
SORT IT_MATERIAL BY IDNRK MATNR.
DELETE ADJACENT DUPLICATES FROM IT_MATERIAL COMPARING ALL FIELDS.
IF NOT IT_MATERIAL[] IS INITIAL.
GET CONTROL CYCLE HEADER DATA
SELECT * FROM PKHD INTO TABLE IT_PKHD
FOR ALL ENTRIES IN IT_MATERIAL
WHERE WERKS IN SO_WERKS
AND MATNR EQ IT_MATERIAL-IDNRK
AND PRVBE IN SO_PRVBE.
IF NOT IT_PKHD[] IS INITIAL.
GET CONTROL CYCLE ITEM DATA
SELECT * FROM PKPS INTO TABLE IT_PKPS
FOR ALL ENTRIES IN IT_PKHD
WHERE PKNUM EQ IT_PKHD-PKNUM.
IF NOT IT_PKPS[] IS INITIAL.
GET KANBAN STATUS DATA
SELECT * FROM ZZC10 INTO TABLE IT_ZZC10_TEMP
FOR ALL ENTRIES IN IT_PKPS
WHERE PKKEY EQ IT_PKPS-PKKEY
AND PKNUM EQ IT_PKPS-PKNUM
AND ZDATE BETWEEN SO_BUDAT-LOW AND SY-DATUM
AND STATUS EQ '5'.
ENDIF.
ENDIF.
ENDIF.
ENDFORM. " GET_KANBAN_DATA
*& Form GET_VALUATION_AREA
text
--> p1 text
<-- p2 text
FORM GET_VALUATION_AREA.
IF NOT IT_MARC_ZTGRP[] IS INITIAL.
SELECT WERKS BWKEY FABKL FROM T001W INTO TABLE IT_T001W
FOR ALL ENTRIES IN IT_MARC_ZTGRP
WHERE WERKS EQ IT_MARC_ZTGRP-WERKS.
ENDIF.
ENDFORM. " GET_VALUATION_AREA
*& Form GET_MATERIAL_DOC_DATA
text
--> p1 text
<-- p2 text
FORM GET_MATERIAL_DOC_DATA.
GET MATERIAL DOCUMENT HEADER DATA
SELECT * FROM MKPF INTO TABLE IT_MKPF
WHERE BUDAT IN SO_BUDAT.
IF NOT IT_MKPF[] IS INITIAL.
GET MATERIAL DOCUMENT ITEM DATA
SELECT * FROM MSEG INTO TABLE IT_MSEG
FOR ALL ENTRIES IN IT_MKPF
WHERE MBLNR EQ IT_MKPF-MBLNR
AND WERKS IN SO_WERKS
AND MJAHR EQ SY-DATUM+0(4)
AND ( BWART EQ '131' OR BWART EQ '132' ).
IF NOT IT_MATERIAL[] IS INITIAL.
LOOP AT IT_MSEG.
READ TABLE IT_MATERIAL WITH KEY IDNRK = IT_MSEG-MATNR.
IF SY-SUBRC NE 0.
DELETE IT_MSEG WHERE MATNR EQ IT_MSEG-MATNR.
ENDIF.
CLEAR: IT_MATERIAL, IT_MSEG.
ENDLOOP.
ENDIF.
ENDIF.
ENDFORM. " GET_MATERIAL_DOC_DATA
*& Form GET_KANBAN_DETAILS
text
--> p1 text
<-- p2 text
FORM GET_KANBAN_DETAILS .
SORT IT_PKHD BY PKNUM.
IF NOT IT_ZZC10_TEMP[] IS INITIAL.
LOOP AT IT_ZZC10_TEMP.
CLEAR: AUX_FILL, AUX_PKBMG.
MOVE IT_ZZC10_TEMP] TO IT_ZZC10[.
DELETE IT_ZZC10 WHERE MATNR NE IT_ZZC10_TEMP-MATNR
AND WERKS NE IT_ZZC10_TEMP-WERKS.
LOOP AT IT_ZZC10.
CLEAR: AUX_TIMESTAMP1, AUX_TIMESTAMP2, AUX_ZZC10_HR, AUX_DIFF.
EMPTY DATE GREATER THAN FULL DATE
IF IT_ZZC10-DATE_EMPTY GT IT_ZZC10-DATE_FULL.
CONCATENATE IT_ZZC10-DATE_EMPTY IT_ZZC10-TIME_EMPTY
INTO AUX_TIMESTAMP1.
CONCATENATE IT_ZZC10-DATE_FULL IT_ZZC10-TIME_FULL
INTO AUX_TIMESTAMP2.
CALL FUNCTION 'CCU_TIMESTAMP_DIFFERENCE'
EXPORTING
TIMESTAMP1 = AUX_TIMESTAMP1
TIMESTAMP2 = AUX_TIMESTAMP2
IMPORTING
DIFFERENCE = AUX_DIFF.
AUX_ZZC10_HR = AUX_DIFF / 3600.
FULL DATE GREATER THAN EMPTY DATE
ELSEIF IT_ZZC10-DATE_FULL GT IT_ZZC10-DATE_EMPTY.
CONCATENATE IT_ZZC10-DATE_EMPTY IT_ZZC10-TIME_EMPTY
INTO AUX_TIMESTAMP2.
CONCATENATE IT_ZZC10-DATE_FULL IT_ZZC10-TIME_FULL
INTO AUX_TIMESTAMP1.
CALL FUNCTION 'CCU_TIMESTAMP_DIFFERENCE'
EXPORTING
TIMESTAMP1 = AUX_TIMESTAMP1
TIMESTAMP2 = AUX_TIMESTAMP2
IMPORTING
DIFFERENCE = AUX_DIFF.
AUX_ZZC10_HR = AUX_DIFF / 3600.
FULL DATE EQUAL TO EMPTY DATE
ELSEIF IT_ZZC10-DATE_FULL EQ IT_ZZC10-DATE_EMPTY.
EMPTY TIME GREATER THAN FULL TIME
IF IT_ZZC10-TIME_EMPTY GT IT_ZZC10-TIME_FULL.
CONCATENATE IT_ZZC10-DATE_EMPTY IT_ZZC10-TIME_EMPTY
INTO AUX_TIMESTAMP1.
CONCATENATE IT_ZZC10-DATE_FULL IT_ZZC10-TIME_FULL
INTO AUX_TIMESTAMP2.
CALL FUNCTION 'CCU_TIMESTAMP_DIFFERENCE'
EXPORTING
TIMESTAMP1 = AUX_TIMESTAMP1
TIMESTAMP2 = AUX_TIMESTAMP2
IMPORTING
DIFFERENCE = AUX_DIFF.
AUX_ZZC10_HR = AUX_DIFF / 3600.
FULL TIME GREATER THAN EMPTY TIME
ELSEIF IT_ZZC10-TIME_FULL GT IT_ZZC10-TIME_EMPTY.
CONCATENATE IT_ZZC10-DATE_EMPTY IT_ZZC10-TIME_EMPTY
INTO AUX_TIMESTAMP2.
CONCATENATE IT_ZZC10-DATE_FULL IT_ZZC10-TIME_FULL
INTO AUX_TIMESTAMP1.
CALL FUNCTION 'CCU_TIMESTAMP_DIFFERENCE'
EXPORTING
TIMESTAMP1 = AUX_TIMESTAMP1
TIMESTAMP2 = AUX_TIMESTAMP2
IMPORTING
DIFFERENCE = AUX_DIFF.
AUX_ZZC10_HR = AUX_DIFF / 3600.
FULL TIME EQUAL TO EMPTY TIME
ELSEIF IT_ZZC10-TIME_FULL EQ IT_ZZC10-TIME_EMPTY.
AUX_ZZC10_HR = 0.
ENDIF.
ENDIF.
READ TABLE IT_PKHD WITH KEY PKNUM = IT_ZZC10-PKNUM
BINARY SEARCH.
IF SY-SUBRC EQ 0.
CLEAR: AUX_TIMESTAMP1, AUX_TIMESTAMP2,
AUX_PKHD_DAYS, AUX_PKHD_HOURS, AUX_TMP_DAYS,
AUX_PKHD_TIME.
AUX_PKHD_DAYS = IT_PKHD-KWBZD.
AUX_PKHD_HOURS = IT_PKHD-KWBZM.
IF AUX_PKHD_DAYS NE 0.
AUX_TMP_DAYS = AUX_PKHD_DAYS * 24.
AUX_PKHD_TIME = AUX_TMP_DAYS + AUX_PKHD_HOURS.
ELSE.
AUX_PKHD_TIME = AUX_PKHD_HOURS.
ENDIF.
COMPARE STATUS CHANGE TIME WITH REPLENISHMENT LEAD TIME
IF AUX_ZZC10_HR GT AUX_PKHD_TIME.
CLEAR: AUX_LATEHOURS.
LATE HOURS
AUX_LATEHOURS = AUX_ZZC10_HR - AUX_PKHD_TIME.
LATE QUANTITY FOR +1 DAY
IF AUX_LATEHOURS LE 24.
IT_TEMP-QTY_1 = IT_TEMP-QTY_1 + IT_ZZC10-PKBMG.
LATE QUANTITY FOR +2 DAYS
ELSEIF AUX_LATEHOURS GT 24
AND AUX_LATEHOURS LE 48.
IT_TEMP-QTY_2 = IT_TEMP-QTY_2 + IT_ZZC10-PKBMG.
LATE QUANTITY FOR +3 DAYS
ELSEIF AUX_LATEHOURS GT 48
AND AUX_LATEHOURS LE 72.
IT_TEMP-QTY_3 = IT_TEMP-QTY_3 + IT_ZZC10-PKBMG.
LATE QUANTITY FOR +4 DAYS
ELSEIF AUX_LATEHOURS GT 72
AND AUX_LATEHOURS LE 96.
IT_TEMP-QTY_4 = IT_TEMP-QTY_4 + IT_ZZC10-PKBMG.
LATE QUANTITY FOR +5 DAYS
ELSEIF AUX_LATEHOURS GT 96
AND AUX_LATEHOURS LE 120.
IT_TEMP-QTY_5 = IT_TEMP-QTY_5 + IT_ZZC10-PKBMG.
LATE QUANTITY FOR MORE THAN 5 DAYS
ELSEIF AUX_LATEHOURS GT 120.
IT_TEMP-QTY_6 = IT_TEMP-QTY_6 + IT_ZZC10-PKBMG.
ENDIF.
TOTAL KANBAN LATE QUANTITIES
AUX_PKBMG = AUX_PKBMG + IT_ZZC10-PKBMG.
ELSE.
AUX_FILL = AUX_FILL + IT_ZZC10-PKBMG.
CONTINUE.
ENDIF.
ENDIF.
ENDLOOP.
SUBASSEMBLY PART NUMBER
IT_TEMP-MATNR = IT_ZZC10-MATNR.
FINISHED GOOD
READ TABLE IT_MATERIAL WITH KEY IDNRK = IT_ZZC10-MATNR.
IT_TEMP-FINISHED = IT_MATERIAL-MATNR.
TECHNOLOGY GROUP
READ TABLE IT_MARC_ZTGRP WITH KEY WERKS = IT_ZZC10-WERKS
MATNR = IT_ZZC10-MATNR.
IF SY-SUBRC EQ 0.
MOVE IT_MARC_ZTGRP-ZZPTD TO IT_TEMP-TECH.
ENDIF.
NUMBER OF KANBAN CONTAINERS
IT_TEMP-BEHAZ = IT_PKHD-BEHAZ.
KANBAN QUANTITY
IT_TEMP-BEHMG = IT_PKHD-BEHMG.
LATE HOURS
AUX_LATEHOURS = AUX_ZZC10_HR - AUX_PKHD_TIME.
IT_TEMP-LATEHOURS = AUX_LATEHOURS.
REPLENISHMENT LEAD TIME
IT_TEMP-REPL_LEAD_TIME = AUX_PKHD_TIME.
KANBAN LATE QUANTITIES
IT_TEMP-GSMNG = AUX_PKBMG.
FILL RATE
AUX_TOTAL = AUX_PKBMG + AUX_FILL.
IT_TEMP-FILLRATE = ( AUX_FILL / AUX_TOTAL ) * 100.
GET STOCK IN PO01
REFRESH IT_MARD.
SELECT LABST FROM MARD INTO TABLE IT_MARD
WHERE MATNR EQ IT_ZZC10-MATNR
AND WERKS EQ IT_ZZC10-WERKS.
IF SY-SUBRC EQ 0.
LOOP AT IT_MARD.
SUM.
ENDLOOP.
MOVE IT_MARD-LABST TO IT_TEMP-STOCK_PO01.
CLEAR IT_MARD.
ENDIF.
GET YESTERDAY'S OUTPUT QUANTITY
PERFORM GET_YESTERDAY_QTY.
CUMULATIVE OUTPUT FOR ACTUAL MONTH
PERFORM GET_CUMULATIVE_OUTPUT.
GET BACKORDER SUBASSEMBLY DATA
PERFORM GET_BACKORDER_QTY.
GET BACKORDER FINISHED GOODS, TODAY, +1, +2, +3, +4, +5
AND AVERAGE OUPTUT NEEDED DATA
PERFORM GET_FINISHEDGOODS_DATA.
GET DATA FOR ACTUAL MONTH DELIVERED
PERFORM GET_ACTUAL_MONTH_DATA.
APPEND IT_TEMP.
CLEAR IT_TEMP.
DELETE IT_ZZC10_TEMP WHERE MATNR EQ IT_ZZC10_TEMP-MATNR
AND WERKS EQ IT_ZZC10_TEMP-WERKS.
CLEAR: IT_ZZC10, IT_ZZC10_TEMP, IT_PKHD.
ENDLOOP.
ENDIF.
ENDFORM. " GET_KANBAN_DETAILS
*& Form GET_YESTERDAY_QTY
text
--> p1 text
<-- p2 text
FORM GET_YESTERDAY_QTY .
CLEAR: AUX_BUKRS, AUX_WAERS.
READ TABLE IT_T001W WITH KEY WERKS = IT_PKHD-WERKS.
IF SY-SUBRC EQ 0.
CLEAR AUX_FABKL.
MOVE IT_T001W-FABKL TO AUX_FABKL.
SELECT SINGLE BUKRS INTO AUX_BUKRS FROM T001K
WHERE BWKEY = IT_T001W-BWKEY.
IF SY-SUBRC EQ 0.
SELECT SINGLE WAERS INTO AUX_WAERS FROM T001
WHERE BUKRS = AUX_BUKRS.
ENDIF.
IF 'WD;WF;WN;WP;WU' CS AUX_FABKL.
AUX_FABKL(1) = 'P'.
ENDIF.
MOVE SY-DATUM TO AUX_DATUMABSOLUT.
PERFORM WEEKDAY USING AUX_DATUMABSOLUT.
MOVE 'W' TO AUX_FLAG.
PERFORM CHECK_WORKING_DAY CHANGING AUX_FLAG.
IF AUX_DATUMABSOLUT = 0.
AUX_YDAY = SY-DATUM.
ELSEIF AUX_DATUMABSOLUT = 1.
AUX_YDAY = SY-DATUM - 1.
ELSEIF AUX_FLAG = 'F'.
AUX_YDAY = SY-DATUM.
ENDIF.
IF AUX_DATUMABSOLUT = 0 OR
AUX_DATUMABSOLUT = 1 OR
AUX_FLAG = 'F'.
PERFORM DATE_WITH_OFFSET USING 0 CHANGING AUX_TDAY.
PERFORM DATE_WITH_OFFSET USING 1 CHANGING AUX_DAY1.
PERFORM DATE_WITH_OFFSET USING 2 CHANGING AUX_DAY2.
PERFORM DATE_WITH_OFFSET USING 3 CHANGING AUX_DAY3.
PERFORM DATE_WITH_OFFSET USING 4 CHANGING AUX_DAY4.
PERFORM DATE_WITH_OFFSET USING 5 CHANGING AUX_DAY5.
ELSE.
PERFORM DATE_WITH_OFFSET USING 0 CHANGING AUX_YDAY.
PERFORM DATE_WITH_OFFSET USING 1 CHANGING AUX_TDAY.
PERFORM DATE_WITH_OFFSET USING 2 CHANGING AUX_DAY1.
PERFORM DATE_WITH_OFFSET USING 3 CHANGING AUX_DAY2.
PERFORM DATE_WITH_OFFSET USING 4 CHANGING AUX_DAY3.
PERFORM DATE_WITH_OFFSET USING 5 CHANGING AUX_DAY4.
PERFORM DATE_WITH_OFFSET USING 6 CHANGING AUX_DAY5.
ENDIF.
AUX_BORD = '19000101'.
GET PLANNED ORDER DATA FOR YESTERDAY
REFRESH IT_PLAF.
CLEAR: AUX_KAPBD, AUX_KBEAREST, AUX_KRUEREST, AUX_GSMNG.
SELECT * FROM PLAF INTO TABLE IT_PLAF
WHERE MATNR EQ IT_PKHD-MATNR
AND PLWRK EQ IT_PKHD-WERKS
AND ( PAART EQ 'KD' OR PAART EQ 'PE' )
AND RATID GT 0
AND PEDTR EQ AUX_YDAY.
IF NOT IT_PLAF[] IS INITIAL.
LOOP AT IT_PLAF.
REFRESH IT_KBED_KAKO.
SELECT KBED~KBEAREST KBED~KRUEREST KBED~KEINH
FROM KBED INNER JOIN KAKO
ON KBED~KAPID EQ KAKO~KAPID
INTO TABLE IT_KBED_KAKO
WHERE KBED~BEDID = IT_PLAF-RATID
AND KAKO~KAPAR = '001'.
IF NOT IT_KBED_KAKO[] IS INITIAL.
LOOP AT IT_KBED_KAKO.
IF IT_KBED_KAKO-KEINH NE 'STD'.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
INPUT = IT_KBED_KAKO-KBEAREST
UNIT_IN = IT_KBED_KAKO-KEINH
UNIT_OUT = 'STD'
IMPORTING
OUTPUT = IT_KBED_KAKO-KBEAREST.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
INPUT = IT_KBED_KAKO-KRUEREST
UNIT_IN = IT_KBED_KAKO-KEINH
UNIT_OUT = 'STD'
IMPORTING
OUTPUT = IT_KBED_KAKO-KRUEREST.
ENDIF.
ADD IT_KBED_KAKO-KBEAREST TO AUX_KBEAREST.
ADD IT_KBED_KAKO-KRUEREST TO AUX_KRUEREST.
CLEAR IT_KBED_KAKO.
ENDLOOP.
AUX_KAPBD = AUX_KBEAREST + AUX_KRUEREST.
ENDIF.
CLEAR IT_PLAF.
ENDLOOP.
ENDIF.
READ TABLE IT_KBED_KAKO INDEX 1.
MOVE: AUX_KAPBD TO IT_TEMP-KAPBD_OUTY,
IT_KBED_KAKO-KEINH TO IT_TEMP-KEINH_OUTY.
GET OUTPUT QUANTITY FOR YESTERDAY
REFRESH: IT_MKPF, IT_MSEG.
CLEAR: AUX_MENGE.
SELECT * FROM MKPF INTO TABLE IT_MKPF
WHERE BUDAT EQ AUX_PREVIOUS.
IF NOT IT_MKPF[] IS INITIAL.
GET MATERIAL DOCUMENT ITEM DATA
SELECT * FROM MSEG INTO TABLE IT_MSEG
FOR ALL ENTRIES IN IT_MKPF
WHERE MBLNR EQ IT_MKPF-MBLNR
AND MATNR IN SO_MATNR
AND WERKS IN SO_WERKS
AND MJAHR EQ SY-DATUM+0(4)
AND ( BWART EQ '131' OR BWART EQ '132' ).
IF NOT IT_MSEG[] IS INITIAL.
LOOP AT IT_MSEG.
AUX_MENGE = AUX_MENGE + IT_MSEG-MENGE.
CLEAR IT_MSEG.
ENDLOOP.
ENDIF.
ENDIF.
READ TABLE IT_MSEG INDEX 1.
MOVE: AUX_MENGE TO IT_TEMP-GSMNG_OUTY,
IT_MSEG-MEINS TO IT_TEMP-MEINS_OUTY.
CLEAR IT_T001W.
ENDIF.
ENDFORM. " GET_YESTERDAY_QTY
*& Form GET_BACKORDER_QTY
text
--> p1 text
<-- p2 text
FORM GET_BACKORDER_QTY .
GET PLANNED ORDER DATA FOR BACKORDER
REFRESH IT_PLAF.
CLEAR: AUX_KAPBD, AUX_KBEAREST, AUX_KRUEREST, AUX_GSMNG, AUX_QUANT.
SELECT * FROM PLAF INTO TABLE IT_PLAF
WHERE MATNR EQ IT_ZZC10-MATNR
AND PLWRK EQ IT_ZZC10-WERKS
AND ( PAART EQ 'KD' OR PAART EQ 'PE' )
AND RATID GT 0
AND PEDTR GE SO_BUDAT-LOW
AND PEDTR LE SY-DATUM.
IF NOT IT_PLAF[] IS INITIAL.
LOOP AT IT_PLAF.
CLEAR: AUX_TIMESTAMP1, AUX_TIMESTAMP2, AUX_PLAF_HR, AUX_DIFF.
EMPTY DATE GREATER THAN FULL DATE
CONCATENATE SY-DATUM SY-UZEIT
INTO AUX_TIMESTAMP1.
CONCATENATE IT_PLAF-PEDTR IT_PLAF-PEDTI
INTO AUX_TIMESTAMP2.
CALL FUNCTION 'CCU_TIMESTAMP_DIFFERENCE'
EXPORTING
TIMESTAMP1 = AUX_TIMESTAMP1
TIMESTAMP2 = AUX_TIMESTAMP2
IMPORTING
DIFFERENCE = AUX_DIFF.
AUX_PLAF_HR = AUX_DIFF / 3600.
IF AUX_PLAF_HR > AUX_PKHD_TIME.
AUX_GSMNG = AUX_GSMNG + IT_PLAF-GSMNG.
REFRESH IT_KBED_KAKO.
SELECT KBEDKBEAREST KBEDKRUEREST KBED~KEINH
FROM KBED INNER JOIN KAKO
ON KBEDKAPID EQ KAKOKAPID
INTO TABLE IT_KBED_KAKO
WHERE KBED~BEDID = IT_PLAF-RATID
AND KAKO~KAPAR = '001'.
IF NOT IT_KBED_KAKO[] IS INITIAL.
LOOP AT IT_KBED_KAKO.
IF IT_KBED_KAKO-KEINH NE 'STD'.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
INPUT = IT_KBED_KAKO-KBEAREST
UNIT_IN = IT_KBED_KAKO-KEINH
UNIT_OUT = 'STD'
IMPORTING
OUTPUT = IT_KBED_KAKO-KBEAREST.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
INPUT = IT_KBED_KAKO-KRUEREST
UNIT_IN = IT_KBED_KAKO-KEINH
UNIT_OUT = 'STD'
IMPORTING
OUTPUT = IT_KBED_KAKO-KRUEREST.
ENDIF.
AUX_KBEAREST = AUX_KBEAREST + IT_KBED_KAKO-KBEAREST.
AUX_KRUEREST = AUX_KRUEREST + IT_KBED_KAKO-KRUEREST.
CLEAR IT_KBED_KAKO.
ENDLOOP.
AUX_KAPBD = AUX_KBEAREST + AUX_KRUEREST.
ENDIF.
ENDIF.
ENDLOOP.
READ TABLE IT_PLAF INDEX 1.
MOVE: AUX_GSMNG TO IT_TEMP-GSMNG_BORD,
IT_PLAF-MEINS TO IT_TEMP-MEINS_BORD.
READ TABLE IT_KBED_KAKO INDEX 1.
MOVE: AUX_KAPBD TO IT_TEMP-KAPBD_BORD,
IT_KBED_KAKO-KEINH TO IT_TEMP-KEINH_BORD.
ENDIF.
ENDFORM. " GET_BACKORDER_QTY
*& Form WEEKDAY
text
-->P_AUX_DATUMABSOLUT text
FORM WEEKDAY USING P_DATUMABSOLUT.
P_DATUMABSOLUT = P_DATUMABSOLUT MOD 7.
ENDFORM. " WEEKDAY
*& Form CHECK_WORKING_DAY
text
<--P_AUX_FLAG text
FORM CHECK_WORKING_DAY CHANGING P_FLAG.
CALL FUNCTION 'DATE_CONVERT_TO_FACTORYDATE'
EXPORTING
DATE = SY-DATUM
FACTORY_CALENDAR_ID = AUX_FABKL
IMPORTING
DATE = AUX_FDAY
EXCEPTIONS
CALENDAR_BUFFER_NOT_LOADABLE = 1
CORRECT_OPTION_INVALID = 2
DATE_AFTER_RANGE = 3
DATE_BEFORE_RANGE = 4
DATE_INVALID = 5
FACTORY_CALENDAR_NOT_FOUND = 6
OTHERS = 7.
IF AUX_FDAY NE SY-DATUM.
AUX_FLAG = 'F'.
ENDIF.
ENDFORM. " CHECK_WORKING_DAY
*& Form DATE_WITH_OFFSET
text
-->P_0 text
<--P_AUX_TDAY text
FORM DATE_WITH_OFFSET USING AUX_OFFSET
CHANGING P_TDAY.
DATA:
AUX_CALENDARDATE LIKE SCAL-DATE,
AUX_FACTORYDATE LIKE SCAL-FACDATE.
CALL FUNCTION 'DATE_CONVERT_TO_FACTORYDATE'
EXPORTING
DATE = SY-DATUM
FACTORY_CALENDAR_ID = AUX_FABKL
IMPORTING
FACTORYDATE = AUX_FACTORYDATE
EXCEPTIONS
CALENDAR_BUFFER_NOT_LOADABLE = 1
CORRECT_OPTION_INVALID = 2
DATE_AFTER_RANGE = 3
DATE_BEFORE_RANGE = 4
DATE_INVALID = 5
FACTORY_CALENDAR_NOT_FOUND = 6
OTHERS = 7.
AUX_FACTORYDATE = AUX_FACTORYDATE + AUX_OFFSET.
CALL FUNCTION 'FACTORYDATE_CONVERT_TO_DATE'
EXPORTING
FACTORYDATE = AUX_FACTORYDATE
FACTORY_CALENDAR_ID = AUX_FABKL
IMPORTING
DATE = AUX_CALENDARDATE
EXCEPTIONS
CALENDAR_BUFFER_NOT_LOADABLE = 1
FACTORYDATE_AFTER_RANGE = 2
FACTORYDATE_BEFORE_RANGE = 3
FACTORYDATE_INVALID = 4
FACTORY_CALENDAR_ID_MISSING = 5
FACTORY_CALENDAR_NOT_FOUND = 6
OTHERS = 7.
P_TDAY = AUX_CALENDARDATE.
ENDFORM. " DATE_WITH_OFFSET
*& Form GET_CUMULATIVE_OUTPUT
text
--> p1 text
<-- p2 text
FORM GET_CUMULATIVE_OUTPUT .
CLEAR: AUX_LOW, AUX_HIGH.
MOVE: SY-DATUM TO AUX_LOW,
SY-DATUM TO AUX_HIGH.
MOVE: '01' TO AUX_LOW+6(2),
'31' TO AUX_HIGH+6(2).
REFRESH IT_MKPF_MSEG.
CLEAR AUX_MNG.
SELECT MKPFMBLNR MKPFMJAHR MKPF~BUDAT
MSEGBWART MSEGMATNR MSEGMENGE MSEGMEINS MSEGDMBTR MSEGWERKS
INTO TABLE IT_MKPF_MSEG
FROM MKPF JOIN MSEG
ON MKPFMBLNR EQ MSEGMBLNR
WHERE MKPF~BUDAT BETWEEN AUX_LOW AND AUX_HIGH
AND MKPF~MJAHR EQ AUX_CURRENT+0(4)
AND MKPF~VGART EQ 'WS'
AND MSEG~ZEILE EQ 1
AND MSEG~WERKS EQ SO_WERKS
AND MSEG~MATNR EQ IT_PKHD-MATNR
AND MSEG~BWART IN ('131', '132').
IF NOT IT_MKPF_MSEG[] IS INITIAL.
LOOP AT IT_MKPF_MSEG.
AUX_MNG = AUX_MNG + IT_MKPF_MSEG-MENGE.
CLEAR IT_MKPF_MSEG.
ENDLOOP.
ENDIF.
MOVE AUX_MNG TO IT_TEMP-GSMNG_OUTM.
READ TABLE IT_MKPF_MSEG INDEX 1.
MOVE IT_MKPF_MSEG-MEINS TO IT_TEMP-MEINS_OUTM.
REFRESH IT_COBK.
SELECT DISTINCT BLPP~RUECK FROM BLPK INNER JOIN BLPP
ON BLPKPRTNR EQ BLPPPRTNR
INTO TABLE IT_COBK
WHERE BLPK~WERKS EQ SO_WERKS
AND BLPK~MATNR EQ SO_MATNR
AND BLPK~DATUM BETWEEN AUX_LOW
AND AUX_HIGH
AND BLPP~PRTPS EQ '0002'.
IF NOT IT_COBK[] IS INITIAL.
REFRESH IT_COEPL.
SELECT KOKRS BELNR FROM COBK
INTO CORRESPONDING FIELDS OF TABLE IT_COEPL
FOR ALL ENTRIES IN IT_COBK
WHERE REFBT EQ 'R'
AND REFBN EQ IT_COBK-RUECK
AND BLDAT BETWEEN AUX_LOW AND AUX_HIGH.
CLEAR IT_CAPACITIES.
REFRESH IT_CAPACITIES.
LOOP AT IT_COEPL.
SELECT LSBBTR MEINB FROM COEPL
APPENDING CORRESPONDING FIELDS OF TABLE IT_CAPACITIES
WHERE KOKRS EQ IT_COEPL-KOKRS
AND BELNR EQ IT_COEPL-BELNR
AND OBJNR LIKE '%DLABOR'.
CALL FUNCTION 'UNIT_SUM'
IMPORTING
QUANTITY_SUM = IT_TEMP-KAPBD_OUTM
UNIT_SUM = AUX_SUM_UNIT
TABLES
QUANTITIES_UNITS = IT_CAPACITIES.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
INPUT = IT_TEMP-KAPBD_OUTM
UNIT_IN = AUX_SUM_UNIT
UNIT_OUT = 'STD'
IMPORTING
OUTPUT = IT_TEMP-KAPBD_OUTM.
ENDLOOP.
READ TABLE IT_CAPACITIES INDEX 1.
MOVE IT_CAPACITIES-MEINB TO IT_TEMP-KEINH_OUTM.
ENDIF.
ENDFORM. " GET_CUMULATIVE_OUTPUT
*& Form GET_FINISHEDGOODS_DATA
text
--> p1 text
<-- p2 text
FORM GET_FINISHEDGOODS_DATA .
GET PLANNED ORDER DATA
REFRESH IT_PLAF.
CLEAR: AUX_KAPBD, AUX_KBEAREST, AUX_KRUEREST, AUX_GSMNG.
SELECT * FROM PLAF INTO TABLE IT_PLAF
WHERE MATNR EQ IT_TEMP-FINISHED
AND ( PAART EQ 'KD' OR PAART EQ 'PE' )
AND RATID GT 0
AND PEDTR GE AUX_BORD
AND PEDTR LE AUX_DAY5.
IF NOT IT_PLAF[] IS INITIAL.
LOOP AT IT_PLAF.
CLEAR: AUX_KAPBD, AUX_GSMNG.
REFRESH IT_KBED_KAKO.
SELECT KBEDKBEAREST KBEDKRUEREST KBED~KEINH
FROM KBED INNER JOIN KAKO
ON KBEDKAPID EQ KAKOKAPID
INTO TABLE IT_KBED_KAKO
WHERE KBED~BEDID = IT_PLAF-RATID
AND KAKO~KAPAR = '001'.
IF NOT IT_KBED_KAKO[] IS INITIAL.
CLEAR AUX_KAPBD.
LOOP AT IT_KBED_KAKO.
IF IT_KBED_KAKO-KEINH NE 'STD'.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
INPUT = IT_KBED_KAKO-KBEAREST
UNIT_IN = IT_KBED_KAKO-KEINH
UNIT_OUT = 'STD'
IMPORTING
OUTPUT = IT_KBED_KAKO-KBEAREST.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
INPUT = IT_KBED_KAKO-KRUEREST
UNIT_IN = IT_KBED_KAKO-KEINH
UNIT_OUT = 'STD'
IMPORTING
OUTPUT = IT_KBED_KAKO-KRUEREST.
ENDIF.
ADD IT_KBED_KAKO-KBEAREST TO AUX_KBEAREST.
ADD IT_KBED_KAKO-KRUEREST TO AUX_KRUEREST.
CLEAR IT_KBED_KAKO.
ENDLOOP.
AUX_KAPBD = AUX_KBEAREST + AUX_KRUEREST.
ENDIF.
READ TABLE IT_KBED_KAKO INDEX 1.
CASE IT_PLAF-PEDTR.
WHEN AUX_DAY5.
AUX_GSMNG = IT_PLAF-GSMNG.
IT_TEMP-F_GSMNG_DAY5 = IT_TEMP-F_GSMNG_DAY5 + AUX_GSMNG.
IT_TEMP-F_MEINS_DAY5 = IT_PLAF-MEINS.
IT_TEMP-F_KAPBD_DAY5 = IT_TEMP-F_KAPBD_DAY5 + AUX_KAPBD.
IT_TEMP-F_KEINH_DAY5 = IT_KBED_KAKO-KEINH.
WHEN AUX_DAY4.
AUX_GSMNG = IT_PLAF-GSMNG.
IT_TEMP-F_GSMNG_DAY4 = IT_TEMP-F_GSMNG_DAY4 + AUX_GSMNG.
IT_TEMP-F_MEINS_DAY4 = IT_PLAF-MEINS.
IT_TEMP-F_KAPBD_DAY4 = IT_TEMP-F_KAPBD_DAY4 + AUX_KAPBD.
IT_TEMP-F_KEINH_DAY4 = IT_KBED_KAKO-KEINH.
WHEN AUX_DAY3.
AUX_GSMNG = IT_PLAF-GSMNG.
IT_TEMP-F_GSMNG_DAY3 = IT_TEMP-F_GSMNG_DAY3 + AUX_GSMNG.
IT_TEMP-F_MEINS_DAY3 = IT_PLAF-MEINS.
IT_TEMP-F_KAPBD_DAY3 = IT_TEMP-F_KAPBD_DAY3 + AUX_KAPBD.
IT_TEMP-F_KEINH_DAY3 = IT_KBED_KAKO-KEINH.
WHEN AUX_DAY2.
AUX_GSMNG = IT_PLAF-GSMNG.
IT_TEMP-F_GSMNG_DAY2 = IT_TEMP-F_GSMNG_DAY2 + AUX_GSMNG.
IT_TEMP-F_MEINS_DAY2 = IT_PLAF-MEINS.
IT_TEMP-F_KAPBD_DAY2 = IT_TEMP-F_KAPBD_DAY2 + AUX_KAPBD.
IT_TEMP-F_KEINH_DAY2 = IT_KBED_KAKO-KEINH.
WHEN AUX_DAY1.
AUX_GSMNG = IT_PLAF-GSMNG.
IT_TEMP-F_GSMNG_DAY1 = IT_TEMP-F_GSMNG_DAY1 + AUX_GSMNG.
IT_TEMP-F_MEINS_DAY1 = IT_PLAF-MEINS.
IT_TEMP-F_KAPBD_DAY1 = IT_TEMP-F_KAPBD_DAY1 + AUX_KAPBD.
IT_TEMP-F_KEINH_DAY1 = IT_KBED_KAKO-KEINH.
WHEN AUX_TDAY.
AUX_GSMNG = IT_PLAF-GSMNG.
IT_TEMP-F_GSMNG_TDAY = IT_TEMP-F_GSMNG_TDAY + AUX_GSMNG.
IT_TEMP-F_MEINS_TDAY = IT_PLAF-MEINS.
IT_TEMP-F_KAPBD_TDAY = IT_TEMP-F_KAPBD_TDAY + AUX_KAPBD.
IT_TEMP-F_KEINH_TDAY = IT_KBED_KAKO-KEINH.
WHEN OTHERS.
AUX_GSMNG = IT_PLAF-GSMNG.
IT_TEMP-F_GSMNG_BORD = IT_TEMP-F_GSMNG_BORD + AUX_GSMNG.
IT_TEMP-F_MEINS_BORD = IT_PLAF-MEINS.
IT_TEMP-F_KAPBD_BORD = IT_TEMP-F_KAPBD_BORD + AUX_KAPBD.
IT_TEMP-F_KEINH_BORD = IT_KBED_KAKO-KEINH.
ENDCASE.
IT_TEMP-F_GSMNG_OUTN = IT_TEMP-F_GSMNG_OUTN + AUX_GSMNG.
IT_TEMP-F_KAPBD_OUTN = IT_TEMP-F_KAPBD_OUTN + AUX_KAPBD.
ENDLOOP.
READ TABLE IT_PLAF INDEX 1.
MOVE IT_PLAF-MEINS TO IT_TEMP-F_MEINS_OUTN.
READ TABLE IT_KBED_KAKO INDEX 1.
MOVE IT_KBED_KAKO-KEINH TO IT_TEMP-F_KEINH_OUTN.
ENDIF.
ENDFORM. " GET_FINISHEDGOODS_DATA
*& Form GET_ACTUAL_MONTH_DATA
text
--> p1 text
<-- p2 text
FORM GET_ACTUAL_MONTH_DATA .
CLEAR: AUX_LOW, AUX_HIGH.
MOVE: '01' TO SO_BUDAT-LOW+6(2),
SO_BUDAT-LOW TO AUX_LOW,
'31' TO SO_BUDAT-LOW+6(2),
SO_BUDAT-LOW TO AUX_HIGH.
REFRESH IT_MKPF_MSEG.
CLEAR AUX_MNG.
SELECT MKPFMBLNR MKPFMJAHR MKPF~BUDAT
MSEGBWART MSEHi Ramya,
Your program contains a lot of BIG standard tables, these tables
usually contain huge amount of data,
plus you have used SELECT * in many places, try to avoid that and replace with only those field names that are reqd.
even the joins are on huge tables, performance could improve on those if you can put some more conditions or keys to the joins to make it more specific.
even after that if it gives the Runtime Error then you have 2 options:
1. Ask your Basis to increase Time limit for program executing in foreground.
2. Execute your program in Background Mode.
Regards,
Samson Rodrigues. -
Performance issue in HR Payroll Report
Hi Experts
I having performance issue in HR payroll report
My issue as follows
I have selection period to select date range
if I select start date & end date Which is giving EMP name, wage type,wage text, amount, etc
whenever I excute it takes morethan one hour to get the resust
my code is some wht like this
loop at GT_REDIR where
begda(start date) ge pnpbegda and
endat(end date) le pnpendat and
paytyp eq ''
move gt-sqnr to lv_sqnr
call function PYXX_READ_PAYROLL_RESULT
here i am passing pernr and sequence number
please give me some idea to fix this issue
Thanks in Advance
Gopinath SubramanyamHi Jhings
Thanks for Your immediate reply
data is coming from cluster table and also I am using Logical database
I will post my code here soon
Regards
Gopinath subramayam -
Performance Issue in ABAP part as suggested by SE30 for the below coding
Dear Abapers,
The below coding was done by my seniors and having performance issue i.e in SE30 the abap part is consuming 98% of time.
Pl. help us to solve this situation.
With best regards,
S. Arunachalam.
the code is:
REPORT ZOBJLIST LINE-SIZE 320 NO STANDARD PAGE HEADING. "280 to 320
TABLES: MARA, MAKT, A916, KONP, MVKE, ZSAI_PARAM.
Input parameters *****************************************************
DATA IT_MARA LIKE MARA OCCURS 0 WITH HEADER LINE.
DATA T_CLASS LIKE SCLASS OCCURS 0 WITH HEADER LINE.
DATA T_CLOBJDAT LIKE CLOBJDAT OCCURS 0 WITH HEADER LINE.
DATA FLG_COLOR TYPE C.
DATA WRK_CLASS LIKE KLAH-CLASS.
DATA WRK_PERCENT TYPE I. " Progress percentage
DATA WRK_LINES LIKE SY-TABIX. " To store the no. of lines in int.table
DATA WRK_PROGRESSTEXT(72) . " Progress indicator text
DATA : BEGIN OF IT_MATNR OCCURS 0,
MATNR LIKE MARA-MATNR,
MAKTX LIKE MAKT-MAKTX,
BISMT LIKE MARA-BISMT, "Thanikai-17.05.2002
END OF IT_MATNR.
DATA : BEGIN OF IT_HEADER OCCURS 0,
MATNR LIKE MARA-MATNR,
MAKTX LIKE MAKT-MAKTX,
CLART LIKE SCLASS-KLART,
CLASS LIKE SCLASS-CLASS,
BISMT LIKE MARA-BISMT, "Thanikai-17.05.2002
SCMNG(4) TYPE I, "Thanikai-03.10.2002
END OF IT_HEADER.
DATA : BEGIN OF IT_DETAILS OCCURS 0,
MATNR LIKE MARA-MATNR,
ZAEHL LIKE CLOBJDAT-ZAEHL,
ATNAM LIKE CLOBJDAT-ATNAM,
AUSP1 LIKE CLOBJDAT-AUSP1,
END OF IT_DETAILS.
DATA : BEGIN OF IT_DETAILS1 OCCURS 0,
MATNR LIKE MARA-MATNR,
ATNAM LIKE CLOBJDAT-ATNAM,
ZAEHL LIKE CLOBJDAT-ZAEHL,
END OF IT_DETAILS1.
DATA: IT_DETAILS2 LIKE IT_DETAILS1 OCCURS 0 WITH HEADER LINE.
DATA TMP_MATNR LIKE AUSP-OBJEK.
DATA WRK_FIELD(25).
DATA WRK_TABNAME(40). " Name of the int.table from wrk_fldname
DATA WRK_FIELDNAME(40). " Name of the fld name from wrk_fldname
DATA WRK_FLDNAME(40).
DATA T_CLOBJDAT_LINES LIKE SY-TABIX.
DATA WRK_LINES1 LIKE SY-TABIX.
DATA WRK_FIRST_TIME.
DATA TMP_STR.
DATA WRK_AUSP1 LIKE CLOBJDAT-AUSP1.
DATA: WRK_KBETR LIKE KONP-KBETR. "Thanikai-03.10.2002
SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-003.
*PARAMETERS:
SELECT-OPTIONS:
P_MATKL FOR MARA-MATKL DEFAULT 'DIAL' OBLIGATORY NO INTERVALS.
SELECT-OPTIONS : S_MATNR FOR MARA-MATNR MATCHCODE OBJECT MAT1.
SELECTION-SCREEN END OF BLOCK B3.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
PARAMETERS: P_CLASS LIKE KLAH-CLASS,
P_KLART LIKE KLAH-KLART DEFAULT '001' OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B2.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS : REQ RADIOBUTTON GROUP RGRP ,
NREQ RADIOBUTTON GROUP RGRP .
SELECTION-SCREEN END OF BLOCK B1.
AT SELECTION-SCREEN.
IF NOT P_CLASS IS INITIAL.
WRK_CLASS = P_CLASS.
ELSE.
WRK_CLASS = SPACE.
ENDIF.
TOP-OF-PAGE.
IF SY-BATCH NE 'X'.
PERFORM PRINT_TOP.
ENDIF.
START-OF-SELECTION.
SET PF-STATUS '9000'.
SELECT * INTO TABLE IT_MARA
FROM MARA CLIENT SPECIFIED
WHERE MANDT = SY-MANDT
AND MATKL IN P_MATKL
AND MATNR IN S_MATNR.
DESCRIBE TABLE IT_MARA LINES WRK_LINES.
MOVE 'Selecting Material Description' TO WRK_PROGRESSTEXT.
PERFORM SAPGUI USING WRK_PERCENT WRK_PROGRESSTEXT.
LOOP AT IT_MARA.
SELECT SINGLE * FROM MAKT CLIENT SPECIFIED
WHERE MANDT = SY-MANDT
AND MATNR = IT_MARA-MATNR
AND SPRAS = 'E'.
IF SY-SUBRC = 0.
IT_MATNR-MATNR = IT_MARA-MATNR.
IT_MATNR-MAKTX = MAKT-MAKTX.
IT_MATNR-BISMT = IT_MARA-BISMT. "Thanikai-17.05.2002
ENDIF.
APPEND IT_MATNR.
CLEAR IT_MATNR.
ENDLOOP.
CLEAR WRK_LINES.
DESCRIBE TABLE IT_MATNR LINES WRK_LINES.
MOVE 'Selecting Class / characteristics for the Material'
TO WRK_PROGRESSTEXT.
PERFORM SAPGUI USING WRK_PERCENT WRK_PROGRESSTEXT.
LOOP AT IT_MATNR.
CLEAR: TMP_MATNR, T_CLASS, T_CLOBJDAT. "Thanikai-26.08.2002
REFRESH: T_CLASS, T_CLOBJDAT. "Thanikai-26.08.2002
TMP_MATNR = IT_MATNR-MATNR.
CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'
EXPORTING
CLASS = WRK_CLASS
CLASSTEXT = 'X'
CLASSTYPE = '001'
CLINT = ' '
FEATURES = 'X'
LANGUAGE = SY-LANGU
OBJECT = TMP_MATNR
OBJECTTABLE = 'MARA'
KEY_DATE = SY-DATUM
INITIAL_CHARACT = 'X'
NO_VALUE_DESCRIPT = 'X'
CHANGE_SERVICE_CLF = 'X'
INHERITED_CHAR = ' '
TABLES
T_CLASS = T_CLASS
T_OBJECTDATA = T_CLOBJDAT
EXCEPTIONS
NO_CLASSIFICATION = 1
NO_CLASSTYPES = 2
INVALID_CLASS_TYPE = 3
OTHERS = 4.
IF SY-SUBRC = 0.
READ TABLE T_CLASS INDEX 1.
IT_HEADER-MATNR = IT_MATNR-MATNR.
IT_HEADER-MAKTX = IT_MATNR-MAKTX.
IT_HEADER-BISMT = IT_MATNR-BISMT."Thanikai-17.05.2002
IT_HEADER-CLART = T_CLASS-KLART.
IT_HEADER-CLASS = T_CLASS-CLASS.
PERFORM PKG_DLVY_UNIT.
APPEND IT_HEADER.
CLEAR: IT_HEADER.
Code Start by Thanikai on 16.08.2002
LOOP AT T_CLOBJDAT.
IT_DETAILS-MATNR = IT_MATNR-MATNR.
IT_DETAILS-ZAEHL = T_CLOBJDAT-ZAEHL.
IT_DETAILS-ATNAM = T_CLOBJDAT-ATNAM.
IT_DETAILS-AUSP1 = T_CLOBJDAT-AUSP1.
APPEND IT_DETAILS.
ENDLOOP.
CLEAR: IT_DETAILS.
LOOP AT T_CLOBJDAT.
IT_DETAILS1-MATNR = IT_MATNR-MATNR.
IT_DETAILS1-ATNAM = T_CLOBJDAT-ATNAM.
IT_DETAILS1-ZAEHL = T_CLOBJDAT-ZAEHL.
APPEND IT_DETAILS1.
ENDLOOP.
CLEAR: IT_DETAILS1.
DESCRIBE TABLE IT_DETAILS1 LINES T_CLOBJDAT_LINES.
IF WRK_FIRST_TIME NE 'X'.
WRK_LINES1 = T_CLOBJDAT_LINES.
WRK_FIRST_TIME = 'X'.
IT_DETAILS2[] = IT_DETAILS1[].
ELSE.
IF T_CLOBJDAT_LINES GT WRK_LINES1.
WRK_LINES1 = T_CLOBJDAT_LINES.
IT_DETAILS2[] = IT_DETAILS1[].
ENDIF.
ENDIF.
CLEAR: T_CLOBJDAT_LINES.
CLEAR: IT_DETAILS1. REFRESH: IT_DETAILS1.
ENDIF.
Code end by Thanikai on 16.08.2002
ENDLOOP.
CLEAR: WRK_LINES1, WRK_FIRST_TIME.
Print Details *********************************
PERFORM PRINT_DETAILS.
AT USER-COMMAND.
GET CURSOR FIELD WRK_FIELD.
SPLIT WRK_FIELD AT '-' INTO WRK_TABNAME WRK_FLDNAME.
IF NOT WRK_FLDNAME IS INITIAL.
CASE SY-UCOMM.
WHEN 'SORA'.
IF SY-LSIND > 0.
SY-LSIND = SY-LSIND - 1. "To print in the same window
ENDIF.
PERFORM PRINT_REPORT_ASCENDING.
WHEN 'SORD'.
IF SY-LSIND > 0.
SY-LSIND = SY-LSIND - 1. "To print in the same window
ENDIF.
PERFORM PRINT_REPORT_DESCENDING.
ENDCASE.
ELSE.
MESSAGE S000(38) WITH 'Selete Material Number / Description'.
ENDIF.
*& Form SAPGUI
text
-->P_WRK_PERCENT text *
-->P_WRK_PROGRESSTEXT text *
FORM SAPGUI USING P_WRK_PERCENT
P_WRK_PROGRESSTEXT.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = WRK_PERCENT
TEXT = WRK_PROGRESSTEXT
EXCEPTIONS
OTHERS = 1.
ENDFORM. " SAPGUI
*& Form PRINT_REPORT_ASCENDING
text
--> p1 text
<-- p2 text
FORM PRINT_REPORT_ASCENDING.
IF WRK_TABNAME = 'IT_HEADER'.
SORT IT_HEADER BY (WRK_FLDNAME).
PERFORM PRINT_TOP.
PERFORM PRINT_DETAILS.
ENDIF.
ENDFORM. " PRINT_REPORT_ASCENDING
*& Form PRINT_DETAILS
text
--> p1 text
<-- p2 text
WRK_AUSP1 width chged below from (7)to(9) by Nagaraj/MKRK 24.11.05
FORM PRINT_DETAILS.
SORT IT_HEADER BY MATNR.
IF SY-BATCH EQ 'X'.
PERFORM PRINT_TOP.
ENDIF.
IF REQ = 'X'.
LOOP AT IT_HEADER.
IF FLG_COLOR = 'X'.
FORMAT COLOR COL_NORMAL INTENSIFIED ON.
CLEAR FLG_COLOR.
ELSE.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
FLG_COLOR = 'X'.
ENDIF.
WRITE :/ SY-VLINE NO-GAP,
(18) IT_HEADER-MATNR COLOR COL_KEY NO-GAP,
SY-VLINE NO-GAP,
(40) IT_HEADER-MAKTX NO-GAP,
SY-VLINE NO-GAP,
(18) IT_HEADER-BISMT NO-GAP, "Thanikai-17.05.2002
SY-VLINE NO-GAP.
Code started by Thanikai on 16.08.2002
LOOP AT IT_DETAILS2.
CLEAR: TMP_STR, WRK_AUSP1.
IF IT_DETAILS2-ATNAM EQ 'CALIBRE'.
LOOP AT IT_DETAILS WHERE MATNR = IT_HEADER-MATNR
AND ATNAM = IT_DETAILS2-ATNAM
AND ZAEHL = IT_DETAILS2-ZAEHL.
TMP_STR = 'X'.
WRK_AUSP1 = IT_DETAILS-AUSP1.
EXIT.
ENDLOOP.
IF TMP_STR EQ 'X'.
WRITE : (9)WRK_AUSP1 NO-GAP, SY-VLINE NO-GAP.
ELSE.
WRITE : ' ', SY-VLINE NO-GAP.
ENDIF.
ELSE.
LOOP AT IT_DETAILS WHERE MATNR = IT_HEADER-MATNR
AND ATNAM = IT_DETAILS2-ATNAM.
TMP_STR = 'X'.
WRK_AUSP1 = IT_DETAILS-AUSP1.
EXIT.
ENDLOOP.
IF TMP_STR EQ 'X'.
WRITE : (9)WRK_AUSP1 NO-GAP, SY-VLINE NO-GAP.
ELSE.
WRITE : ' ', SY-VLINE NO-GAP.
ENDIF.
ENDIF.
ENDLOOP.
WRITE : (8) IT_HEADER-SCMNG NO-GAP, SY-VLINE NO-GAP.
IF SY-LINNO > 25.
IF SY-BATCH EQ 'X'.
NEW-PAGE.
PERFORM PRINT_TOP.
ENDIF.
ENDIF.
Code end by Thanikai on 16.08.2002..
ENDLOOP.
ELSEIF NREQ = 'X'.
LOOP AT IT_HEADER.
IF FLG_COLOR = 'X'.
FORMAT COLOR COL_NORMAL INTENSIFIED ON.
CLEAR FLG_COLOR.
ELSE.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
FLG_COLOR = 'X'.
ENDIF.
WRITE :/ SY-VLINE NO-GAP,
(18) IT_HEADER-MATNR COLOR COL_KEY NO-GAP,
SY-VLINE NO-GAP,
(18) IT_HEADER-BISMT NO-GAP, "Thanikai-17.05.2002
SY-VLINE NO-GAP.
Code started by Thanikai on 16.08.2002
LOOP AT IT_DETAILS2.
CLEAR: TMP_STR, WRK_AUSP1.
IF IT_DETAILS2-ATNAM EQ 'CALIBRE'.
LOOP AT IT_DETAILS WHERE MATNR = IT_HEADER-MATNR
AND ATNAM = IT_DETAILS2-ATNAM
AND ZAEHL = IT_DETAILS2-ZAEHL.
TMP_STR = 'X'.
WRK_AUSP1 = IT_DETAILS-AUSP1.
EXIT.
ENDLOOP.
IF TMP_STR EQ 'X'.
WRITE : (9)WRK_AUSP1 NO-GAP, SY-VLINE NO-GAP.
ELSE.
WRITE : ' ', SY-VLINE NO-GAP.
ENDIF.
ELSE.
LOOP AT IT_DETAILS WHERE MATNR = IT_HEADER-MATNR
AND ATNAM = IT_DETAILS2-ATNAM.
TMP_STR = 'X'.
WRK_AUSP1 = IT_DETAILS-AUSP1.
EXIT.
ENDLOOP.
IF TMP_STR EQ 'X'.
WRITE : (9)WRK_AUSP1 NO-GAP, SY-VLINE NO-GAP.
ELSE.
WRITE : ' ', SY-VLINE NO-GAP.
ENDIF.
ENDIF.
ENDLOOP.
WRITE : (8) IT_HEADER-SCMNG NO-GAP, SY-VLINE NO-GAP.
IF SY-LINNO > 25.
IF SY-BATCH EQ 'X'.
NEW-PAGE.
PERFORM PRINT_TOP.
ENDIF.
ENDIF.
Code end by Thanikai on 16.08.2002
ENDLOOP.
ENDIF.
ULINE.
ENDFORM. " PRINT_DETAILS
*& Form PRINT_REPORT_DESCENDING
text
--> p1 text
<-- p2 text
FORM PRINT_REPORT_DESCENDING.
IF WRK_TABNAME = 'IT_HEADER'.
SORT IT_HEADER BY (WRK_FLDNAME) DESCENDING.
PERFORM PRINT_TOP.
PERFORM PRINT_DETAILS.
ENDIF.
ENDFORM. " PRINT_REPORT_DESCENDING
*& Form PRINT_TOP
text
--> p1 text
<-- p2 text
IT_DETAILS2-ATNAM width chged below from 7 to 9. Nagaraj/MKRK 24.11.05
FORM PRINT_TOP.
FORMAT COLOR COL_HEADING INTENSIFIED OFF.
ULINE.
IF REQ = 'X'.
READ TABLE IT_HEADER INDEX 1.
WRITE :/ SY-VLINE NO-GAP,(17) 'Material No' ,SY-VLINE NO-GAP.
SET LEFT SCROLL-BOUNDARY.
WRITE :(39) ' Material Description', SY-VLINE NO-GAP,
(17) ' Old Matl. Number', SY-VLINE NO-GAP. "Thanikai-17.05.2002
Comments made by Thanikai on 16.08.2002
LOOP AT IT_DETAILS WHERE MATNR = IT_HEADER-MATNR.
LOOP AT IT_DETAILS2.
WRITE : (9) IT_DETAILS1-ATNAM NO-GAP,SY-VLINE NO-GAP.
WRITE : (9) IT_DETAILS2-ATNAM NO-GAP,SY-VLINE NO-GAP.
ENDLOOP.
WRITE : (8) 'Pkg.Unit' NO-GAP, SY-VLINE NO-GAP.
ELSEIF NREQ = 'X'.
READ TABLE IT_HEADER INDEX 1.
WRITE :/ SY-VLINE NO-GAP, (17) 'Material No' ,SY-VLINE NO-GAP,
(17) ' Old Matl. Number', SY-VLINE NO-GAP. "Thanikai-17.05.2002
Comments made by Thanikai on 16.08.2002
LOOP AT IT_DETAILS WHERE MATNR = IT_HEADER-MATNR.
LOOP AT IT_DETAILS2.
WRITE : (9) IT_DETAILS-ATNAM NO-GAP,SY-VLINE NO-GAP.
WRITE : (9) IT_DETAILS2-ATNAM NO-GAP,SY-VLINE NO-GAP.
ENDLOOP.
WRITE : (8) 'Pkg.Unit' NO-GAP, SY-VLINE NO-GAP.
ENDIF.
ULINE.
FORMAT RESET.
ENDFORM. " PRINT_TOP
*& Form PKG_DLVY_UNIT
text
--> p1 text
<-- p2 text
FORM PKG_DLVY_UNIT.
SELECT SINGLE KONP~KBETR INTO WRK_KBETR
FROM ( A916 INNER JOIN KONP
ON KONP~MANDT = SY-MANDT
AND KONPKNUMH = A916KNUMH
AND KONP~KOPOS = '01' ) CLIENT SPECIFIED
WHERE A916~MANDT = SY-MANDT
AND A916~KAPPL = 'V'
AND A916~KSCHL = 'PR00'
AND A916~VKORG = 'WTCH'
AND A916~VTWEG = '01'
AND A916~SPART = '01'
AND A916~MATNR = IT_MATNR-MATNR
AND A916~DATBI >= SY-DATUM
AND A916~DATAB <= SY-DATUM.
IF SY-SUBRC EQ 0.
SELECT SINGLE * FROM ZSAI_PARAM CLIENT SPECIFIED
WHERE MANDT = SY-MANDT
AND PMFID = 'ZPKG_PRICE'
AND PMVL1 = '01'.
IF SY-SUBRC EQ 0.
IF WRK_KBETR BETWEEN 1 AND ZSAI_PARAM-PMVL2.
SELECT SINGLE * FROM MVKE CLIENT SPECIFIED
WHERE MANDT = SY-MANDT
AND MATNR = IT_MATNR-MATNR
AND VKORG = 'WTCH'
AND VTWEG = '01'.
IF SY-SUBRC EQ 0.
IF MVKE-SCMNG GE 1.
IT_HEADER-SCMNG = MVKE-SCMNG.
ELSE.
In the absence of delivery unit for a material,
delivery unit is considered as one.
IT_HEADER-SCMNG = 1.
ENDIF.
ELSE.
IT_HEADER-SCMNG = 1.
ENDIF.
ELSE.
If the price for a material is either below 1 or above 2499, then
the delivery unit is considered as one.
IT_HEADER-SCMNG = 1.
ENDIF.
ELSE.
IT_HEADER-SCMNG = 1.
ENDIF.
ELSE.
In the absence of price for a material, delivery unit is
considered as one.
IT_HEADER-SCMNG = 1.
ENDIF.
CLEAR: WRK_KBETR.
ENDFORM. " PKG_DLVY_UNITThe first point would be to change the following:
LOOP AT IT_MARA.
SELECT SINGLE * FROM MAKT CLIENT SPECIFIED
WHERE MANDT = SY-MANDT
AND MATNR = IT_MARA-MATNR
AND SPRAS = 'E'.
IF SY-SUBRC = 0.
IT_MATNR-MATNR = IT_MARA-MATNR.
IT_MATNR-MAKTX = MAKT-MAKTX.
IT_MATNR-BISMT = IT_MARA-BISMT. "Thanikai-17.05.2002
ENDIF.
APPEND IT_MATNR.
CLEAR IT_MATNR.
ENDLOOP.
I would sort IT_MARA by matnr then select for all entries into new table IT_matnr and only read when you are actuallygoing to use it for your final table.
This however will not make much difference to your problem. I suggest you put more of the code into subroutines and look at the se30 output as tyo which subroutines are actually taking most of the time. Please post the results and the subroutines which take the longest. -
Performance Issue with VL06O report
Hi,
We are having performance issue with VL06O report, when run with forwarding agent. It is taking about an hour with forwarding agent. The issue is with VBPA table and we found one OSS note, but it is for old versions. ours is ECC 5.0. Can anybody know the solution? If you guys need more information, please ask me.
Thanks,
SuryaSreedhar,
Thanks for you quick response. Indexes were not created for VBPA table. basis people tested by creating indexes and gave a report that it is taking more time with indexes than regular query optimizer. this is happening in the funtion forward_ag_selection.
select vbeln lifnr from vbpa
appending corresponding fields of table lt_select
where vbeln in ct_vbeln
and posnr eq posnr_initial
and parvw eq 'SP'
and lifnr in it_spdnr.
I don't see any issue with this query. I give more info later -
Hi Friends
I am having performance issue for this function-module(HR_TIM_REPORT_ABSENCE_DATA) and one my client got over 8 thousend employees . This function-module taking forever to read the data. is there any other function-module to read the absences data IT2001 .
I did use like this .if i take out this F.M 'HR_TIM_REPORT_ABSENCE_DATA_INI' its not working other Function-module.please Suggest me .
call function 'HR_TIM_REPORT_ABSENCE_DATA_INI'
exporting "Publishing to global memory
option_string = option_s "string of sel org fields
trig_string = trig_s "string of req data
alemp_flag = sw_alemp "all employee req
infot_flag = space "split per IT neccessary
sel_modus = sw_apa
importing
org_num = fdpos_lines "number of sel org fields
tables
fieldtab = fdtab "all org fields
field_sel = fieldnametab_m. "sel org fields
To Read all infotypes from Absences type.
RP_READ_ALL_TIME_ITY PN-BEGDA PN-ENDDA.
central function unit to provide internal tables: abse orgs empl
call function 'HR_TIM_REPORT_ABSENCE_DATA'
exporting
pernr = pernr-pernr
begda = pn-begda
endda = pn-endda
IMPORTING
SUBRC = SUBRC_RTA
tables
absences = absences_01
org_fields = orgs
emp_fields = empl
REFTAB =
APLTAB =
awart_sel_p = awart_s[]
awart_sel_a = awart_s[]
abstp_sel = abstp_s[]
i0000 = p0000
i0001 = p0001
i0002 = p0002
i0007 = p0007
i2001 = p2001
i2002 = p2002
i2003 = p2003.
Thanks & Regards
Reddyguessing will not help you much, check with SE30 to get a better insight
SE30
The ABAP Runtime Trace (SE30) - Quick and Easy
what is the total time, what are the Top 10 in the hitlist.
Siegfried -
hi Guru's,
I am using 11.1.6.8 OBIEE. One of my report is having performance issue when i dig into that i found that the date filter not applied in the SQL generated to send DB, due to that it is doing table scan, But strange thing is that when it displaying data based on the Date range filter. It is only happening with the date dimension all other dimensions are working fine. I am not sure what it is missing.
Thanks In advance.
regards
Mohammed.hi Saichand,
Thanks for taking time and looking into.
The filter is applied on the logical query but the physical query send to the DB is not having the filter. Due to that it is doing full table scan of the fact table and almost 30 minutes to display data. I am not sure why the physical query is not having the date filter. when i add the location or other type of filter it added to the Physical Query send to DB.
regards
@li -
CS3 Performance Issues - Productivity Crippled - S.O.S.
I was having performance issues and repeated crashes with AE CS3 on Win XP, so I talked my boss into upgrading me to CS5 and Win 7. All was well until we hired a new guy to help me with my video work load. He has inherited my old software and there's no money for another upgrade, so we're going to have to figure this out.
He running CS3 Master Collection on a Dell PC running Windows XP (Intel Core II Duo 2.33Ghz, 3.25GB RAM). The graphics card is the ATI Radeon HD 2400 Pro, which came stock with the machine. Specs on that card here: http://reviews.cnet.com/graphics-cards/ati-radeon-hd-2400/4507-8902_7-32763888.html?tag=sp ecs. Pretty wimpy, I know.
Anyway, my new coworker has been experiencing at least as much frustration as I was, with frequent crashes, a fickle RAM Preview and bad renders. His machine has more RAM and a faster processor than I had when I ran CS3, but his performance seems even worse Since CS3 won't handle AVCHD files, I've been converting our HD camera footage into 720p MPG 2 (Adobe Media Encoder) for projects he's assigned. I suppose that could have something to do with it, but I can't see why CS3 wouldn't run an MPG generated from CS5. Anyway, I asked him to write up a short list of the problems he's experiencing and he gave me this ...
- rendered movies are often corrupted with red frames that flash in spots
- when i try to render an MPEG2 at full res it will give me an error message that says:
After Effects: AEGP Plugin Media IO Plugin:
There is a mismatch between Output Module settings and Transcode Settings. Please verify your settings and try again.
Property Data Invalid!
MediaIO2 error: 0x400e0004
Frame dimensions out of bounds
(5027 :: 12)
- when i try to render a RAM preview, often it does not render the complete work area. it takes several attempts to preview the entire selection
- occasionally, when i bring in new media it gives a message saying 'media pending' and i will have to shut the program down and re-import the media
- it will often (1-3 times per hour) crash unexpectedly and give a message saying 'After Effects has crashed'
- when i try to render a RAM preview an error message pops up saying it needs at least 2 frames to render when i clearly have more than that selected
It's my hope that someone here will recognize a common thread between these various issues and be able to suggest a silver bullet that will fix it all. I realize that's not likely. Research to date has yielded glimpses of possible solutions involving cache and scratch discs, but there are few specifics and I'm not sure exactly what adjustments to make. I also have a spare Nvidia GForce 6800 graphics card form my own computer at home that I could donate to this office if it would help.
I'm about to pass these issues on to our Help Desk and let them deal with it, but I'd love to be able to at least point them in the right direction, since they mostly deal with standard office software and won't have much experience troubleshooting multimedia applications. I believe they also have the option to call Adobe for tech support over the phone, but I'd like them to have a clue if they do. Can anyone suggest what settings, drivers or hardware might be a good place to start to get my man's system running a little more smoothly? I'd really appreciate some insight before we start poking around blindly and I offer my thanks in advance for any forthcoming wisdom.
Thanks!
P.S. For what it's worth, my copy of CS5 is running like a champ on Windows 7 with the 64 bit OS. My machine has an ATI Radeon HD 2400 XT for a card, which can't be much better than the "Pro" version in my coworkwers machine, right?No legal issues, both my CS5 and his CS3 are bought and paid for. However, if After Effects CS3 is incapable of rendering a decent looking file compressed to a reasonable file size, then I'm not sure how valuable it is to us anyway. It seems unbelievable to me that one of the most popular industry standard video aps isn't designed to render anything more than draft quality files for client review. Even if he renders an uncompressed file from AE, CS3 didn't ship with Adobe Media Encoder as a separate ap, so what can he do with it without resorting to third party software? I don't get it, but I'm clearly no expert on the subject.
So, things being what they are, what file format would you suggest I convert the AVCHD file to in order for my CS3 burdened coworkwer to be able to work with them? We are a Windows shop, so I don't know if Dave's Quicktime/PNG suggestion will work for us or not. You've always given good advice to me in the past, so if you have an alternate suggestion I'm eager to try it out. Just go easy on me with the jargon because I'm primarily a print designer and my video skills at this point are (obviously) intermediate at best!
In any case, I really appreciate both you and Dave taking the time to respond to my post. This forum continues to be the best resource I have for solving problems and augmenting my understanding of these programs. My thanks! -
N8 email client performance issue
The email client on the N8 mostly works OK, but the performance is terrible when trying to reply to an email that is "long". Actually there really doesn't have to be that much text in the previous message(s) when the client starts to be really really slow. When typing, the lag is really making the typing almost impossible.
Is there plans to improve the performance? Will the Anna update improve the client? N8 isn't the best hardware out there, but still it has plenty of power to handle large emails also. This can be lightly tested using some webmail with the phones browser. When typing a reply to a long email there is no problem.
Others having performance issues when trying to reply to a long email?Same here, not only answering large emails, sending email with attachments is about the same. I am having sync problems too, Messaging looks erratic.
-
Performance issue in guest access anchored in DMZ
Hello,
I've been having performance issue in our wifi guest network anchored in the DMZ.
I have 3-5508 anchor controllers behind the Checkpoint gaia firewall and have 24 guest SSIDs in here.
Right now, only 14 guest SSIDs are enabled and tunnelled out in this anchor DMZ setup, whenever I try to add few more SSIDs I run into performance issue.
It seems to me that the problem is not about these additional SSIDs that I add because the performance issue starts to appear only when the traffic peaks or associated clients reached to certain number which is in my case 4000 users.
The firewall serves as the NAT device and gateway for all these guest SSIDs. The cpu, memory, number of connections have been checked and verified low.
Has anyone seen a problem like this? or has a setup like mine?
thanks!Presuming you're not exceeding client count maximums on the individual WLCs I can't say I've seen anything in line with this "specific problem", but anything is possible.
What are the specific "performance issues" the clients are experiencing? Is it just general poor performance (slow web browsing/etc) or do you see other issues like no internet connectivity at all or something else?
May I ask, what is the use-case behind having 24 SSIDs on your anchors?
Maybe you are looking for
-
good day. It's renewal time and I'm going to downgrade my .Mac account from a Family acct. to a single. The 2nd mac (and only additional mac) uses .Mac only for Blog and Photo iWeb uploads... So can I... Simply update the .Mac login p/w info on the 2
-
I need help buying iPhoto photo album.
I need help buying iPhoto photo album. iPhoto was built in to my iMac. I am supposed to be able to make picture albums using my photos. It won't let me purchase the photo album i just made. I can't find any kind of help anywhere. Please help
-
PLAY I-TUNES BOUGHT SONGS, TO MY CAR CD PLAYER
I HAVE BOUGHT A LOT OF SONGS FROM I-TUNES. NOW I BURNED SOME OF THEM ON A CD. I TRIED TO PLAY THAT CD ON MY CAR CD PLAYER. IT DOES NOT PLAY. WHAT SHOULD I DO?
-
Wifi not connected...
Greetings, I just got my iPad 32G. However, I had a hard getting it connected to my home Wifi router. My the other MacBook, MacBook Pro and Playstation 3 have problem connecting to it at all. The iPad is able to see my neighbors' Wifi routers, but no
-
WLST Ant task not working -- error in finding weblogic.Home
I am attempting to set up a WLST script to automatically set up my domain. The following is a minimal version of the Ant task I'm using: <wlst debug="true" failOnError="true"> <classpath> <pathelement location="${weblogic10.home}/server/l