How to improve the computer running slow?
How to improve the computer running slow?
Any idea?
How to improve the computer running slow?
Any idea?
Similar Messages
-
Hello, I'm pretty sure my fan on my 2009 mac book pro has stopped running. Would this cause the computer to slow down and take for ever to boot up and show the color wheel every time I select an application ? how involved to replace fan ? cost ?
thanksNot directly, but if the CPU overheats because of incompatible software, that would cause slowdowns. Do not allow the computer to run if the fan is not working unless you wish to fry your motherboard. Please make a Genius Appointment and take it in for service.
-
Ever since I installed MAVERICK, nothing now works, Flash Player won't run, printer works but scanner will not and the computer runs so slow. Any help anywhere?
wqn02h, first thing I would do is use Disk utility to repair permissions. Once this is done. Make sure you have the latest versions of the software you use. Also, check the manufacter of your printer/scanner for updated software. If they don't have updated software there are 3rd party alternatives that will work.
Paul -
What's the go with this latest update. Half my apps don't work and the iPad runs slower? How do I go back to the old operating system?
Make sure your apps are updated. You might try Settings > iTunes & App Store > Automatic Downloads - Updates = "On".
You cannot go back to an old operating system. -
How to force the display to sleep, while keeping the computer running?
I'm running some compression and transcoding programs on my iMac G5 (iSight) that keeps the CPU at 100% for hours at a time. My Energy Saver prefernces is set to sleep the display after a few minutes, but never to sleep the computer or the hard disk.
Like I'd expect with such a high CPU load, my computer's screen does not go to sleep.
Is there a program or command line utility that I can run to force my screen to go to sleep, but keep the computer running?
iMac G5 17" (iSight) Mac OS X (10.4.5)To put your display only to sleep;
Go to System Preferences, click on 'energy saver', check the 'Put the display to sleep when the computer is inactive for' box, and then set the time. Note; this just puts the display to sleep, not the whole computer. Your hard disk will keep running. I find this much more convienent than putting the computer in 'full sheep'. It wakes up much quicker without some of the hassle some computers display coming up from full sleep. -
Hi very urgent How to improve the performence of the program
Hi all please tell me how to improve the performence of this program......
REPORT z03_gil010 NO STANDARD PAGE HEADING LINE-SIZE 130.
INCLUDE *
INCLUDE: z00_bci010. " Gestion des anomalies.
Déclaration des données *
Tables de la bases de données *
TABLES:
ekpo, " Poste document d'achat.
lfa1, " Base fournisseurs (généralités).
marc, " Données division de l'article.
z03_bw_cmp1,
eord, "Répertoire des sources appro. Achats
eina, "Fiche infos-achats - données générales
t024, "Groupes d'acheteurs
tvarv. "FAE17345+
Déclaration des données internes *
Déclaration de la table interne qui permet de recuperer les mois.
DATA: BEGIN OF itb_months OCCURS 12.
INCLUDE STRUCTURE t247.
DATA: END OF itb_months.
Table pour récupération d'infos sur les divisions
DATA: BEGIN OF itb_t001w OCCURS 0,
werks LIKE t001w-werks,
fabkl LIKE t001w-fabkl," Clé du calendrier d'entreprise
END OF itb_t001w.
Déclaration de la table interne contenant les infos sur l'adresse du
fournisseur.
DATA: BEGIN OF itb_adresse OCCURS 0,
lifnr LIKE lfa1-lifnr, " Numéro de compte fournisseur.
name1 LIKE lfa1-name1, " Nom 1.
name2 LIKE lfa1-name2, " Nom 2.
name3 LIKE lfa1-name3, " Nom 3.
name4 LIKE lfa1-name4, " Nom 4.
stras LIKE lfa1-stras, " N° de rue et nom de la rue.
pstlz LIKE lfa1-pstlz, " Code postal.
ort01 LIKE lfa1-ort01, " Localité.
pfach LIKE lfa1-pfach, " Boîte postale.
pstl2 LIKE lfa1-pstl2, " Code de la boîte postale.
land1 LIKE lfa1-land1, " Clé de pays.
landx LIKE t005t-landx, " Pays.
spras LIKE lfa1-spras, " Code langue
END OF itb_adresse.
Déclaration d'une table interne pour les informations sur les
prévisions de commande.
DATA: BEGIN OF itb_prev_cde OCCURS 0,
werks LIKE marc-werks, " Division
idnlf LIKE eina-idnlf, " ADDsde ref article frn
lifnr LIKE eord-lifnr, " N° fournisseur.
ekgrp LIKE marc-ekgrp, " Groupe d'acheteurs
dispo LIKE marc-dispo, " Code gestionnaire MRP
matnr LIKE eord-matnr, " Article.
maktx LIKE makt-maktx, " Désignation article.
bstmi LIKE marc-bstmi, " Quantité de commande.
men00 LIKE plaf-gsmng, " Quantité du mois en cours M.
men01 LIKE plaf-gsmng, " Quantité pour le mois M+1.
men02 LIKE plaf-gsmng, " Quantité pour le mois M+2.
men03 LIKE plaf-gsmng, " Quantité pour le mois M+3.
men04 LIKE plaf-gsmng, " Quantité pour le mois M+4.
men05 LIKE plaf-gsmng, " Quantité pour le mois M+5.
men06 LIKE plaf-gsmng. " Quantité pour le mois M+6.
DATA: END OF itb_prev_cde.
Structure de travail pour les commandes convernant les PFC
DATA str_pca_pfc LIKE itb_prev_cde.
*add sde
DATA str_eord_pfc LIKE itb_prev_cde.
Structure de travail pour les prévisons PFC
DATA str_prev_pfc LIKE itb_prev_cde.
Déclaration d'une table interne pour les informations sur le
portefeuille des commandes d'achat.
DATA: BEGIN OF itb_pca OCCURS 0,
werks LIKE ekpo-werks, " Division
idnlf LIKE eina-idnlf, " ADDsde ref article frn
lifnr LIKE eord-lifnr, " N° fournisseur.
ekgrp LIKE marc-ekgrp, " Groupe d'acheteurs
dispo LIKE marc-dispo, " Code gestionnaire MRP
matnr LIKE eord-matnr, " Article.
maktx LIKE makt-maktx, " Désignation article.
ebeln LIKE ekes-ebeln, " Numéro du document d'achat.
ebelp LIKE ekes-ebelp, " Numéro de poste du document d'achat.
slfdt LIKE eket-slfdt, " Date de livraison statistique
eindt LIKE ekes-eindt, " Date de livraison indiquée dans la
" confirmation de la cde.
menge LIKE ekes-menge, " Quantité indiquée dans la confirma-
" tion de la commande.
attdu LIKE eket-wemng, " Portefeuille fournisseur.
netpr LIKE ekpo-brtwr, " Prix net du document d'achat dans
" la devise du document.
rtard TYPE i, " Retard en jours ouvres.
wemng LIKE eket-wemng, " Quantité de l'entrée de marchandise.
bldat LIKE mkpf-bldat, " Date inscrite sur la pièce/sur le
" document.
qtran LIKE ekes-menge, " Quantité en transit.
dtran LIKE ekes-eindt. " Date du dernier avis de transit.
DATA: END OF itb_pca.
DATA: w_i TYPE i, "Compteur
w_i_char(1) TYPE c, "Texte pour récupérer compteur
w_nm_zone(20) TYPE c, "Nom zone pour assign au field-symbols
w_nb_j TYPE i, "Nb de jours ouvrés jusqu'à fin mois
w_nb_j_tot TYPE i. "Nb de jours ouvrés du mois
FIELD-SYMBOLS: TYPE ANY.
Déclaration d'une table contenant les fiches info achat.
DATA: BEGIN OF itb_eina OCCURS 0,
matnr LIKE eina-matnr,
lifnr LIKE eina-lifnr,
idfnl LIKE eina-idnlf.
DATA: END OF itb_eina.
Déclaration d'une table contenant les infos groupe acheteur.
*DATA: BEGIN OF itb_t024 OCCURS 0,
ekgrp LIKE t024-ekgrp,
eknam LIKE t024-eknam,
ektel LIKE t024-ektel,
telfx LIKE t024-telfx.
*DATA: END OF itb_t024.
Déclaration d'une table pour le transfert du fichier.
DATA: BEGIN OF itb_transfert OCCURS 0,
col00(8), "division
col00bis(20), "Reference article
col01(18), "No article
col02(45), "libelle article
col021(17), "Groupe acheteur
col022(13), "gestionnaire
col03(17), "qte commandée ou No de commande
col04(13), "Mois 1 ou No poste cde
col05(20), "Mois 2 ou délai initial
col06(33), "Mois 3 ou délai négocié
col07(13), "Mois 4 ou qté cdée
col08(13), "Mois 5 ou qté attendue
col09(13), "Mois 6 ou Montant attendu
col10(13), "Mois 7 ou retard
col11(13), "qte partielle livree
col12(13), "date livraison partielle
col13(13), "qté en transit
col14(13). "date
DATA: END OF itb_transfert.
Déclaration d'une table contenant la liste des fournisseurs.
DATA: BEGIN OF itb_lifnr OCCURS 0,
werks LIKE marc-werks,
idfnl LIKE eina-idnlf,
lifnr LIKE eord-lifnr,
ekgrp LIKE marc-ekgrp,
spras LIKE lfa1-spras,
eknam LIKE t024-eknam,
ektel LIKE t024-ektel,
telfx LIKE t024-telfx.
DATA: END OF itb_lifnr.
Déclaration d'une structure pour la selection dans la table MSEG.
DATA : BEGIN OF itb_mseg OCCURS 0,
mblnr LIKE mseg-mblnr,
mjahr LIKE mseg-mjahr,
ebeln LIKE mseg-ebeln,
ebelp LIKE mseg-ebelp,
END OF itb_mseg.
déclaration d'une structure pour la selection dans EKPO.
DATA : BEGIN OF itb_ekpo OCCURS 0,
lifnr LIKE ekko-lifnr,
ebeln LIKE ekpo-ebeln,
ebelp LIKE ekpo-ebelp,
menge LIKE ekpo-menge,
bpumz LIKE ekpo-bpumz,
bpumn LIKE ekpo-bpumn,
matnr LIKE ekpo-matnr,
werks LIKE ekpo-werks,
netpr LIKE ekpo-netpr,
peinh LIKE ekpo-peinh, "Base de prix FAE17345+
ekgrp LIKE ekko-ekgrp, "AFT++
dispo LIKE marc-dispo, "AFT++
END OF itb_ekpo.
déclaration d'une structure pour la selection dans EKPO.
DATA : BEGIN OF itb_ekko OCCURS 0,
ebeln LIKE ekko-ebeln,
lifnr LIKE ekko-lifnr,
spras LIKE ekko-spras,
END OF itb_ekko.
déclaration d'une structure pour la selection dans EKES.
DATA : BEGIN OF itb_ekes OCCURS 0,
ebeln LIKE eket-ebeln,
ebelp LIKE eket-ebelp,
ebtyp LIKE ekes-ebtyp,
eindt LIKE ekes-eindt,
menge LIKE ekes-menge,
dabmg LIKE ekes-dabmg,
etens LIKE ekes-etens,
END OF itb_ekes.
déclaration d'une structure pour la selection dans EKET
DATA : BEGIN OF itb_eket OCCURS 0,
ebeln LIKE eket-ebeln,
ebelp LIKE eket-ebelp,
menge LIKE eket-menge,
wemng LIKE eket-wemng,
eindt LIKE eket-eindt,
slfdt LIKE eket-slfdt,
END OF itb_eket.
déclaration d'une structure pour la selection dans MKPF.
DATA : BEGIN OF itb_mkpf OCCURS 0,
mblnr LIKE mkpf-mblnr,
mjahr LIKE mkpf-mjahr,
bldat LIKE mkpf-bldat,
END OF itb_mkpf.
Déclaration d'une structure pour la sélection dans EORD.
DATA : BEGIN OF itb_eord OCCURS 0,
matnr LIKE eord-matnr,
werks LIKE eord-werks,
lifnr LIKE eord-lifnr,
ekgrp LIKE marc-ekgrp,
dispo LIKE marc-dispo, "DE3K924352
disls LIKE marc-disls,
bstfe LIKE marc-bstfe,
bstrf LIKE marc-bstrf,
bstmi LIKE marc-bstmi,
bstma LIKE marc-bstma,
END OF itb_eord.
DATA : BEGIN OF itb_eordw OCCURS 0.
INCLUDE STRUCTURE itb_eord.
DATA : END OF itb_eordw.
Déclaration d'une structure pour la sélection dans MAKT.
DATA : BEGIN OF itb_makt OCCURS 0,
matnr LIKE makt-matnr,
spras LIKE makt-spras,
maktx LIKE makt-maktx,
END OF itb_makt.
Déclaration d'une structure pour la sélection dans EBAN.
DATA : BEGIN OF itb_eban OCCURS 0,
matnr LIKE eban-matnr,
werks LIKE eban-werks,
flief LIKE eban-flief,
lfdat LIKE eban-lfdat,
menge LIKE eban-menge,
bsmng LIKE eban-bsmng,
webaz LIKE eban-webaz,
ekgrp LIKE eban-ekgrp,
ebeln LIKE eban-ebeln,
banfn LIKE eban-banfn,
bnfpo LIKE eban-bnfpo, "DB3K900702+
END OF itb_eban.
Déclaration d'une structure pour la sélection dans PLAF.
DATA : BEGIN OF itb_plaf OCCURS 0,
plnum LIKE plaf-plnum, "DB3K900702+
matnr LIKE plaf-matnr,
plwrk LIKE plaf-plwrk,
flief LIKE plaf-flief,
pedtr LIKE plaf-pedtr,
gsmng LIKE plaf-gsmng,
webaz LIKE plaf-webaz,
END OF itb_plaf.
Déclaration d'une structure pour la sélection dans MARC.
DATA : BEGIN OF itb_marc OCCURS 0,
matnr LIKE marc-matnr,
werks LIKE marc-werks,
disls LIKE marc-disls,
bstrf LIKE marc-bstrf,
bstmi LIKE marc-bstmi,
bstma LIKE marc-bstma,
bstfe LIKE marc-bstfe,
ekgrp LIKE marc-ekgrp,
dispo LIKE marc-dispo,
END OF itb_marc.
DATA : BEGIN OF itb_marc_eord OCCURS 0,
matnr LIKE marc-matnr,
werks LIKE marc-werks,
strgr LIKE marc-strgr, "groupe de stratégie planif
END OF itb_marc_eord.
DATA : BEGIN OF itb_z03_bw_cmp1 OCCURS 0,
matnr LIKE z03_bw_cmp1-matnr,
werks LIKE z03_bw_cmp1-werks,
pdatu LIKE z03_bw_cmp1-pdatu,
plnmg LIKE z03_bw_cmp1-plnmg,
END OF itb_z03_bw_cmp1.
Begin change BNI <DE3K937051>
DATA : BEGIN OF itb_z03_bw_cmp2 OCCURS 0,
matnr LIKE z03_bw_cmp2-matnr,
werks LIKE z03_bw_cmp2-werks,
pdatu LIKE z03_bw_cmp2-pdatu,
plnmg LIKE z03_bw_cmp2-plnmg,
END OF itb_z03_bw_cmp2.
*End change BNI
DATA : BEGIN OF str_index1,
matnr LIKE eord-matnr,
werks LIKE eord-werks,
END OF str_index1.
DATA : BEGIN OF str_index2,
matnr LIKE eord-matnr,
werks LIKE eord-werks,
END OF str_index2.
DATA : BEGIN OF str_index3_eord,
matnr LIKE eord-matnr,
werks LIKE eord-werks,
END OF str_index3_eord.
DATA : BEGIN OF str_index4,
matnr LIKE eord-matnr,
werks LIKE eord-werks,
END OF str_index4.
DATA : BEGIN OF str_index5,
matnr LIKE eord-matnr,
werks LIKE eord-werks,
END OF str_index5.
DATA : BEGIN OF str_index6,
matnr LIKE eord-matnr,
werks LIKE eord-werks,
END OF str_index6.
DATA : BEGIN OF str_index7,
matnr LIKE eord-matnr,
werks LIKE eord-werks,
END OF str_index7.
Déclaration des variables de debut et de fin de mois.
DATA: w_debut_mois LIKE sy-datum,
w_debut_periode LIKE sy-datum,
w_fin_mois LIKE sy-datum,
w_fin_periode LIKE sy-datum.
Déclaration des variables pour les dates.
DATA: w_date0 LIKE sy-datum,
w_date1 LIKE sy-datum,
w_date2 LIKE sy-datum,
w_date3 LIKE sy-datum,
w_date4 LIKE sy-datum,
w_date5 LIKE sy-datum,
w_date6 LIKE sy-datum,
w_datejour LIKE sy-datum, "FAE15269
w_dat_da LIKE eban-lfdat,
w_dat_op LIKE plaf-pedtr,
w_mois0 LIKE t247-ltx,
w_mois1 LIKE t247-ltx,
w_mois2 LIKE t247-ltx,
w_mois3 LIKE t247-ltx,
w_mois4 LIKE t247-ltx,
w_mois5 LIKE t247-ltx,
w_mois6 LIKE t247-ltx,
w_lendemain LIKE sy-datum. "FAE17345+
Temoin d'un AR dans la commande d'achat.
DATA: w_temoin_ar.
Numéro de la confirmation de la commande
DATA : w_etens LIKE ekes-etens.
Déclaration des variables pour le nom des fichiers.
DATA: w_nom_fichier LIKE rlgrap-filename,
w_fichier LIKE rlgrap-filename,
w_racine LIKE rlgrap-filename,
w_file LIKE rlgrap-filename.
Déclaration d'une table interne pour le transfert.
DATA: BEGIN OF itb_trans OCCURS 0,
w_ligne(320).
DATA: END OF itb_trans.
Déclaration d'une variable pour rechercher les enregistrements vides.
DATA: w_compteur TYPE i,
w_compteur1 TYPE i,
w_compteur2 TYPE i,
w_retard TYPE i, " Retard en jours ouvres.
w_trouve_pfc TYPE c, "addsde
w_trouve_pfs TYPE c, "+DE3K937051
w_trouve TYPE c.
*Index pour les LOOP
DATA : w_index_ekpo LIKE sy-tabix,
w_index_ekes LIKE sy-tabix,
w_index_eket LIKE sy-tabix,
w_index_mseg LIKE sy-tabix,
w_index_eban LIKE sy-tabix,
w_index_plaf LIKE sy-tabix,
w_index_pca LIKE sy-tabix,
w_index_z03_bw_cmp1 LIKE sy-tabix,
w_index_z03_bw_cmp2 LIKE sy-tabix."+DE3K937051
RANGES : r_type_pfs FOR marc-strgr.
*fichier sur serveur +EDR231003
DATA : w_chemin LIKE filename-fileintern, "nom du fichier
w_date_fichier(12) TYPE c, "Date format DD_MM_AA
w_csv(307) TYPE c. "ligne du fichier format CSV
CONSTANTS: k_imputation_m LIKE eban-knttp VALUE 'M'. "FAE19001+
Description de l écran de sélection *
Paramètres "UTILISATION" *
Ouverture d'un block de sélection pour le(s) fournisseur(s).
SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-bl1.
Sélection division(s)
SELECT-OPTIONS: s_werks FOR ekpo-werks.
Sélection fournisseur(s).
SELECT-OPTIONS: s_lifnr FOR lfa1-lifnr OBLIGATORY.
Sélection du Groupe d'acheteur
*SELECT-OPTIONS: s_ekgrp FOR marc-ekgrp. "-FAE26446
*SELECT-OPTIONS: s_dispo FOR marc-dispo. "-FAE26446
SELECTION-SCREEN END OF BLOCK block1.
FAE 26446 : ajout
SELECTION-SCREEN BEGIN OF BLOCK block3 WITH FRAME TITLE text-bl3.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETER p_ekgrp RADIOBUTTON GROUP g3.
SELECTION-SCREEN COMMENT 5(24) text-001 FOR FIELD p_ekgrp.
SELECT-OPTIONS: s_ekgrp FOR marc-ekgrp.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETER p_dispo RADIOBUTTON GROUP g3.
SELECTION-SCREEN COMMENT 5(24) text-002 FOR FIELD p_dispo.
SELECT-OPTIONS: s_dispo FOR marc-dispo.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK block3.
FAE 26446 : fin ajout
Paramètres "SYSTEME" *
Saut de 2 lignes.
SELECTION-SCREEN: SKIP 2.
Ouverture d'un block de sélection pour l'adresse physique du fichier.
SELECTION-SCREEN BEGIN OF BLOCK block2 WITH FRAME TITLE text-bl2.
PARAMETERS: p_pc RADIOBUTTON GROUP rad1 DEFAULT 'X', "+EDR231003
p_fic_pc LIKE rlgrap-filename. "+EDR231003
SELECTION-SCREEN SKIP. "+EDR231003
PARAMETERS : p_serve RADIOBUTTON GROUP rad1, "+EDR231003
p_fic_se LIKE filename-fileintern "+EDR231003
DEFAULT 'Z03_PREV_COMMANDES'. "+EDR231003
SELECTION-SCREEN END OF BLOCK block2.
Logique de traitement *
INITIALIZATION *
INITIALIZATION.
Date du jour
MOVE sy-datum TO w_datejour. "FAE15269
Gestion des anomalies.
MOVE text-lb1 TO w_lb_traitement.
PERFORM f930_init USING sy-cprog '30'.
Fin de la gestions des anomalies.
Récuperation des mois dans la table interne 'ITB_MONTHS'.
CALL FUNCTION 'MONTH_NAMES_GET'
EXPORTING
language = sy-langu
TABLES
month_names = itb_months
EXCEPTIONS
month_names_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Récupération des differentes periodes.
PERFORM f100_recuperation_date TABLES itb_months.
Récupération du debut du mois.
CONCATENATE sy-datlo(6) '01' INTO w_debut_mois.
MOVE: w_debut_mois TO w_debut_periode.
Récupération du dernier jour du mois.
CALL FUNCTION 'LAST_DAY_OF_MONTHS'
EXPORTING
day_in = sy-datlo
IMPORTING
last_day_of_month = w_fin_mois
EXCEPTIONS
day_in_no_date = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
TOP-OF-PAGE *
TOP-OF-PAGE.
CALL FUNCTION 'Z_00_BC_TOP_OF_PAGE'
EXPORTING
p_linsz = k_ligne
p_pagno = sy-pagno
p_prog = sy-cprog
p_projet = k_projet
p_societe = k_societe
p_sujet = sy-title.
END-OF-PAGE *
END-OF-PAGE.
AT SELECTION-SCREEN *
FAE 26446 : ajout
AT SELECTION-SCREEN ON BLOCK block3.
IF NOT ( s_ekgrp IS INITIAL )
AND NOT ( s_dispo IS INITIAL ).
MESSAGE e394(z03_mm).
ENDIF.
IF p_ekgrp = 'X'.
IF s_ekgrp IS INITIAL.
MESSAGE e395(z03_mm).
ENDIF.
ELSE.
IF s_dispo IS INITIAL.
MESSAGE e396(z03_mm).
ENDIF.
ENDIF.
fae26446 fin ajout
AT SELECTION-SCREEN ON BLOCK block2.
IF p_pc = 'X'.
IF p_fic_pc IS INITIAL.
*Attention, il n'y a aucune adresse de sauvegarde pour le(s) fichier(s)
MESSAGE e021(z03_mm).
ENDIF.
ELSE.
IF p_fic_se IS INITIAL.
*Attention, il n'y a aucune adresse de sauvegarde pour le(s) fichier(s)
MESSAGE e021(z03_mm).
ENDIF.
ENDIF.
Création du matchcode pour la selection du fichier local.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fic_pc.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_filename = p_fic_pc
def_path = 'C:'
mask = text-ma1
mode = 'S'
title = text-sel
IMPORTING
filename = p_fic_pc
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
IF sy-subrc NE 0 AND sy-subrc NE 3.
MESSAGE e032(z03_mm).
ENDIF.
START-OF-SELECTION *
START-OF-SELECTION.
PERFORM select_donnees.
=================================================
Liste des ARTICLES impactés pour les prévisions *
=================================================
===================================
PORTEFEUILLE DE COMMANDES D'ACHAT *
===================================
Construction itb_pca à partir de EKKO/EKPO.
w_index_ekpo = 1.
w_index_ekes = 1.
w_index_eket = 1.
w_index_mseg = 1.
SORT itb_ekko BY ebeln. "-FAE26446
SORT itb_ekpo BY ebeln ebelp.
SORT itb_makt BY matnr spras.
SORT itb_eket BY ebeln ebelp.
SORT itb_ekes BY ebeln ebelp.
SORT itb_mseg BY ebeln ebelp.
SORT itb_mkpf BY mblnr mjahr.
SORT itb_marc BY matnr werks. "+FAE26446
FAE 26446 remplacement
LOOP AT itb_ekko.
LOOP AT itb_ekpo.
FROM w_index_ekpo.
IF itb_ekko-ebeln = itb_ekpo-ebeln.
LOOP AT itb_ekpo.
READ TABLE itb_marc WITH KEY
matnr = itb_ekpo-matnr
werks = itb_ekpo-werks BINARY SEARCH.
CHECK sy-subrc = 0.
FAE 26446 fin remplacement
itb_pca-ebeln = itb_ekpo-ebeln.
itb_pca-ebelp = itb_ekpo-ebelp.
itb_pca-lifnr = itb_ekko-lifnr. "-FAE26446
itb_pca-lifnr = itb_ekpo-lifnr. "+FAE26446
itb_pca-ekgrp = itb_ekpo-ekgrp. "+FAE26446
itb_pca-dispo = itb_ekpo-dispo. "+FAE26446
itb_pca-matnr = itb_ekpo-matnr.
itb_pca-werks = itb_ekpo-werks.
Recherche du libellé article
READ TABLE itb_makt
WITH KEY matnr = itb_ekpo-matnr
spras = text-fra
BINARY SEARCH.
IF sy-subrc = 0.
itb_pca-maktx = itb_makt-maktx.
ELSE.
READ TABLE itb_makt
WITH KEY matnr = itb_ekpo-matnr
spras = text-ang
BINARY SEARCH.
IF sy-subrc = 0.
itb_pca-maktx = itb_makt-maktx.
ENDIF.
ENDIF.
IF NOT itb_ekpo-bpumn IS INITIAL.
itb_pca-menge = itb_ekpo-menge * itb_ekpo-bpumz /
itb_ekpo-bpumn.
ENDIF.
Sélect° ds la table EKES des dates de livraisons et des qtés
en transit
CLEAR w_temoin_ar.
CLEAR w_etens.
LOOP AT itb_ekes
FROM w_index_ekes.
IF itb_ekes-ebeln = itb_ekpo-ebeln
AND itb_ekes-ebelp = itb_ekpo-ebelp.
IF itb_ekes-ebtyp = text-arn.
itb_pca-eindt = itb_ekes-eindt.
w_temoin_ar = 'X'.
ELSE.
Si c'est une qté en transit alors on recupere
la quantité et la date.
IF itb_ekes-dabmg < itb_ekes-menge.
itb_pca-qtran = itb_pca-qtran + itb_ekes-menge -
itb_ekes-dabmg.
ENDIF.
IF itb_ekes-etens > w_etens.
w_etens = itb_ekes-etens.
itb_pca-dtran = itb_ekes-eindt.
ENDIF.
ENDIF.
ELSEIF itb_ekes-ebeln > itb_ekpo-ebeln
OR ( itb_ekes-ebeln = itb_ekpo-ebeln
AND itb_ekes-ebelp > itb_ekpo-ebelp ).
w_index_ekes = sy-tabix.
EXIT.
ENDIF.
ENDLOOP.
S'il n'y a pas d'AR alors récupérat° de la date livraison dans EKET.
LOOP AT itb_eket
FROM w_index_eket.
IF itb_eket-ebeln = itb_ekpo-ebeln
AND itb_eket-ebelp = itb_ekpo-ebelp.
IF w_temoin_ar IS INITIAL.
itb_pca-eindt = itb_eket-eindt.
ENDIF.
itb_pca-slfdt = itb_eket-slfdt.
Calcul du portefeuille fournisseur à partir de la
qté commandée et la qté reçue
itb_pca-attdu = itb_pca-attdu + itb_eket-menge -
itb_eket-wemng.
Calcul du montant du poste
itb_pca-netpr = itb_ekpo-netpr * itb_pca-attdu.
IF itb_ekpo-peinh NE 0.
itb_pca-netpr = itb_pca-netpr / itb_ekpo-peinh.
ENDIF.
Calcul quantité réceptionnée.
itb_pca-wemng = itb_pca-wemng + itb_eket-wemng.
Calcul du retard en nombre de jours calendaires
Le calcul du retard ne doit pas prendre en compte
le jour de livraison
ADD 1 TO itb_eket-eindt.
IF NOT itb_pca-attdu IS INITIAL
AND itb_eket-eindt LT sy-datum.
Calcul du retard en nombre de jours ouvrés
CLEAR w_retard.
CALL FUNCTION 'Z_00_BC_WORKDAYS_PER_PERIOD'
EXPORTING
date_deb = itb_eket-eindt
date_fin = sy-datum
IMPORTING
jours = w_retard.
itb_pca-rtard = itb_pca-rtard + w_retard .
ENDIF.
ELSEIF itb_eket-ebeln > itb_ekpo-ebeln
OR ( itb_eket-ebeln = itb_ekpo-ebeln
AND itb_eket-ebelp > itb_ekpo-ebelp ).
w_index_eket = sy-tabix.
EXIT.
ENDIF.
ENDLOOP.
Recherche de la derniere date de livraison.
LOOP AT itb_mseg
FROM w_index_mseg.
IF itb_mseg-ebeln = itb_ekpo-ebeln
AND itb_mseg-ebelp = itb_ekpo-ebelp.
READ TABLE itb_mkpf
WITH KEY mblnr = itb_mseg-mblnr
mjahr = itb_mseg-mjahr
BINARY SEARCH.
IF sy-subrc = 0.
IF itb_mkpf-bldat > itb_pca-bldat.
itb_pca-bldat = itb_mkpf-bldat.
ENDIF.
ENDIF.
ELSEIF itb_mseg-ebeln > itb_ekpo-ebeln
OR ( itb_mseg-ebeln = itb_ekpo-ebeln
AND itb_mseg-ebelp > itb_ekpo-ebelp ).
w_index_mseg = sy-tabix.
EXIT.
ENDIF.
ENDLOOP.
APPEND itb_pca.
CLEAR itb_pca.
FAE26446 suppression parag. suivant
ELSEIF itb_ekpo-ebeln > itb_ekko-ebeln.
w_index_ekpo = sy-tabix.
EXIT.
ENDIF.
ENDLOOP.
Fin FAE26446
ENDLOOP.
=========================
PREVISIONS DE COMMANDES *
=========================
SORT itb_eord BY matnr werks lifnr ekgrp.
SORT itb_eban BY matnr werks flief ekgrp.
SORT itb_plaf BY matnr plwrk flief.
SORT itb_z03_bw_cmp1 BY matnr werks.
SORT itb_z03_bw_cmp2 BY matnr werks."+DE3K937051
SORT itb_pca BY matnr werks lifnr.
w_index_eban = 1.
w_index_plaf = 1.
w_index_z03_bw_cmp1 = 1.
w_index_pca = 1.
w_index_z03_bw_cmp2 = 1."+DE3K937051
Remplissage de la table des prévisions de commande.
LOOP AT itb_eord.
CLEAR: str_prev_pfc,
w_trouve.
MOVE-CORRESPONDING itb_eord TO str_index1.
MOVE-CORRESPONDING itb_eord TO str_index3_eord.
MOVE-CORRESPONDING itb_eord TO itb_prev_cde.
Recherche dans table division/article (MARC) afin de déterminer si
article PFS (prod fabriqué à stock) ou PFC (Prod fabriqué sur cde)
AT NEW werks.
READ TABLE itb_marc_eord
WITH KEY matnr = itb_eord-matnr
werks = itb_eord-werks
BINARY SEARCH.
IF sy-subrc NE 0.
CLEAR itb_marc_eord.
ENDIF.
ENDAT.
a - Prévisions pour les PFS : DA + OP *
*Calcul des quantités de commande.
IF itb_eord-disls = text-tl1.
itb_prev_cde-bstmi = itb_eord-bstfe.
ELSEIF itb_eord-disls = text-tl2
OR itb_eord-disls = text-tl3.
IF itb_eord-bstrf NE 0
AND itb_eord-bstmi = 0
AND itb_eord-bstma = 0.
itb_prev_cde-bstmi = itb_eord-bstrf.
ELSEIF itb_eord-bstrf NE 0
AND itb_eord-bstmi NE 0.
itb_prev_cde-bstmi = itb_eord-bstmi.
ELSEIF itb_eord-bstrf = itb_eord-bstma
AND itb_eord-bstrf NE 0
AND itb_eord-bstmi = 0.
itb_prev_cde-bstmi = itb_eord-bstma.
ENDIF.
ENDIF.
si article PFS (Prod fabriqué à stock) recherche des
demandes d'achat ou ordres planfiés
IF itb_marc_eord-strgr IN r_type_pfs.
Récupérat° calendrier de la division pour calcul correct lors de
l'ajout de eban-webaz ou plaf-webaz jours ouvrés
CLEAR w_trouve_pfs ."+DE3K937051
READ TABLE itb_t001w
WITH KEY werks = itb_eord-werks
BINARY SEARCH.
IF sy-subrc = 0.
LOOP AT itb_eban
FROM w_index_eban.
MOVE-CORRESPONDING itb_eban TO str_index2.
IF str_index1 = str_index2.
w_trouve_pfs = 'X'."+DE3K937051
si qte commandées pour la DA < quantité de la DA
IF itb_eban-bsmng < itb_eban-menge.
ajout de quantité de la DA - qte commandée pour la DA
PERFORM affect_da.
ENDIF.
ELSEIF str_index2 > str_index1.
w_index_eban = sy-tabix.
EXIT.
ENDIF.
ENDLOOP.
ENDIF.
ajout des quantité des OP (ordres planifiés)
LOOP AT itb_plaf
FROM w_index_plaf.
MOVE-CORRESPONDING itb_plaf TO str_index4.
str_index4-werks = itb_plaf-plwrk.
str_index4-lifnr = itb_plaf-flief.
IF str_index4 = str_index3_eord.
Ajout de webaz jours ouvrés à pedtr
CALL FUNCTION 'Z_03_MM_ADD_TO_FACTORYDATE'
EXPORTING
i_date = itb_plaf-pedtr
i_calendar_id = itb_t001w-fabkl
i_nb_days = itb_plaf-webaz
IMPORTING
o_date = w_dat_op
EXCEPTIONS
conv_error = 1
OTHERS = 2.
IF sy-subrc
If forecasts found in Z03_BW_CMP2 for the article
IF w_trouve_pfs = 'X'."-DE3K937602
Recalculation prev month M in fct of Nb of wrought days of the month
IF NOT itb_prev_cde-men00 IS INITIAL.
one does not hold any more account of the day in progress
w_lendemain = w_date0 + 1.
CLEAR:w_nb_j,w_nb_j_tot. "DE3K938206+
CALL FUNCTION 'Z_00_BC_WORKDAYS_PER_PERIOD'
EXPORTING
date_deb = w_lendemain
date_fin = w_fin_mois
IMPORTING
jours = w_nb_j.
CALL FUNCTION 'Z_00_BC_WORKDAYS_PER_MONTH'
EXPORTING
date = w_lendemain
IMPORTING
jours = w_nb_j_tot.
itb_prev_cde-men00 = itb_prev_cde-men00 * w_nb_j / w_nb_j_tot
*CLA DE3K925301 FAE27197
*to round has the higher entirety
itb_prev_cde-men00 = ceil( itb_prev_cde-men00 ). "DE3K938206-
ENDIF.
ENDIF."-DE3K937602
*End change BNI
b - Prévisions pour les PFC (Z03_BW_CMP1 puis rééquilibrage) *
Recherche des previsions dans Z03_BW_CMP1
si article PFC (Prod fabriqué sur cde) recherche des prévisions
IF NOT itb_marc_eord-strgr IN r_type_pfs.
CLEAR str_prev_pfc.
MOVE-CORRESPONDING itb_eord TO str_prev_pfc.
CLEAR w_trouve_pfc .
LOOP AT itb_z03_bw_cmp1
FROM w_index_z03_bw_cmp1.
MOVE-CORRESPONDING itb_z03_bw_cmp1 TO str_index7.
MOVE-CORRESPONDING itb_eord TO str_index6.
IF str_index6 = str_index7.
si on trouve des prévisions dans z03_bw_cmp1 pour la source
d'appro eord alors c'est un article PFC
w_trouve_pfc = 'X'.
CASE itb_z03_bw_cmp1-pdatu+0(6).
WHEN w_date0+0(6).
str_prev_pfc-men00 = itb_z03_bw_cmp1-plnmg.
WHEN w_date1+0(6).
str_prev_pfc-men01 = itb_z03_bw_cmp1-plnmg.
WHEN w_date2+0(6).
str_prev_pfc-men02 = itb_z03_bw_cmp1-plnmg.
WHEN w_date3+0(6).
str_prev_pfc-men03 = itb_z03_bw_cmp1-plnmg.
WHEN w_date4+0(6).
str_prev_pfc-men04 = itb_z03_bw_cmp1-plnmg.
WHEN w_date5+0(6).
str_prev_pfc-men05 = itb_z03_bw_cmp1-plnmg.
WHEN w_date6+0(6).
str_prev_pfc-men06 = itb_z03_bw_cmp1-plnmg.
WHEN OTHERS.
ENDCASE.
ELSEIF str_index7 > str_index6.
w_index_z03_bw_cmp1 = sy-tabix.
EXIT.
ENDIF.
ENDLOOP.
*Begin change BNI
Si des prévisions trouvées dans Z03_BW_CMP1 pour l'article
IF w_trouve_pfc = 'X'.
Recalcul prev mois M en fct du nb de jours ouvrés du mois
IF NOT str_prev_pfc-men00 IS INITIAL.
on ne tient plus compte du jour en cours
w_lendemain = w_date0 + 1.
CLEAR:w_nb_j,w_nb_j_tot. "DE3K938206+
CALL FUNCTION 'Z_00_BC_WORKDAYS_PER_PERIOD'
EXPORTING
date_deb = w_lendemain
date_fin = w_fin_mois
IMPORTING
jours = w_nb_j.
CALL FUNCTION 'Z_00_BC_WORKDAYS_PER_MONTH'
EXPORTING
date = w_lendemain
IMPORTING
jours = w_nb_j_tot.
str_prev_pfc-men00 = str_prev_pfc-men00 * w_nb_j / w_nb_j_tot.
*CLA DE3K925301 FAE27197
*arrondir a l'entier supèrieur
str_prev_pfc-men00 = ceil( str_prev_pfc-men00 ).
ENDIF.
Equilibrage PFC : commande/prévision du mois
Recherche COMMANDES cumulées pour M à M+6
CLEAR str_pca_pfc.
LOOP AT itb_pca
FROM w_index_pca.
MOVE-CORRESPONDING itb_pca TO str_index5.
IF str_index5 = str_index3_eord.
IF NOT itb_pca-menge IS INITIAL.
CASE itb_pca-eindt+0(6).
WHEN w_date0+0(6).
IF itb_pca-eindt >= w_date0.
str_pca_pfc-men00 = str_pca_pfc-men00 + itb_pca-menge.
ENDIF.
WHEN w_date1+0(6).
str_pca_pfc-men01 = str_pca_pfc-men01 + itb_pca-menge.
WHEN w_date2+0(6).
str_pca_pfc-men02 = str_pca_pfc-men02 + itb_pca-menge.
WHEN w_date3+0(6).
str_pca_pfc-men03 = str_pca_pfc-men03 + itb_pca-menge.
WHEN w_date4+0(6).
str_pca_pfc-men04 = str_pca_pfc-men04 + itb_pca-menge.
WHEN w_date5+0(6).
str_pca_pfc-men05 = str_pca_pfc-men05 + itb_pca-menge.
WHEN w_date6+0(6).
str_pca_pfc-men06 = str_pca_pfc-men06 + itb_pca-menge.
ENDCASE.
ENDIF."NOT itb_pca-menge IS INITIAL
ELSEIF str_index5 > str_index3_eord.
w_index_pca = sy-tabix.
EXIT.
ENDIF.
ENDLOOP."itb_pca
*. Equilibrer commande / prévision des mois : diminuer la quantité de
prévision de chaque mois par le portefeuille de commande client du
mois*. Si ce solde est négatif alors lui donner la valeur 0.
w_i = 0.
Ajustement commandes/prévisions pour les mois M à M+6
WHILE w_i .
Pour un mois, SI Prévisions > Commandes en cours
IF .
Prévisions = Prévisions - Commandes en cours
= 0.
ENDIF.
On passe au mois suivant
w_i = w_i + 1.
ENDWHILE.
MOVE str_prev_pfc-men00 TO itb_prev_cde-men00.
MOVE str_prev_pfc-men01 TO itb_prev_cde-men01.
MOVE str_prev_pfc-men02 TO itb_prev_cde-men02.
MOVE str_prev_pfc-men03 TO itb_prev_cde-men03.
MOVE str_prev_pfc-men04 TO itb_prev_cde-men04.
MOVE str_prev_pfc-men05 TO itb_prev_cde-men05.
MOVE str_prev_pfc-men06 TO itb_prev_cde-men06.
Hi
You check in SM50 by executing the programing, You will come to know which select is taking more time and accordingly you modify that select.
You can do SQL trace and Run time analysis and analyse and see.
check this and use
1) Dont use nested select statements
2) If possible use for all entries in addition
3) In the where addition make sure you give all the primary key
4) Use Index for the selection criteria.
5) You can also use inner joins
6) You can try to put the data from the first select statement into an Itab and then in order to select the data from the second table use for all entries in.
7) Use the runtime analysis SE30 and SQL Trace (ST05) to identify the performance and also to identify where the load is heavy, so that you can change the code accordingly
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5d0db4c9-0e01-0010-b68f-9b1408d5f234
ABAP performance depends upon various factors and in devicded in three parts:
1. Database
2. ABAP
3. System
Run Any program using SE30 (performance analys) to improve performance refer to tips and trics section of SE30, Always remember that ABAP perfirmance is improved when there is least load on Database.
u can get an interactive grap in SE30 regarding this with a file.
also if u find runtime of parts of codes then use :
Switch on RTA Dynamically within ABAP Code
*To turn runtim analysis on within ABAP code insert the following code
SET RUN TIME ANALYZER ON.
*To turn runtim analysis off within ABAP code insert the following code
SET RUN TIME ANALYZER OFF.
Always check the driver internal tables is not empty, while using FOR ALL ENTRIES
Avoid for all entries in JOINS
Try to avoid joins and use FOR ALL ENTRIES.
Try to restrict the joins to 1 level only ie only for tables
Avoid using Select *.
Avoid having multiple Selects from the same table in the same object.
Try to minimize the number of variables to save memory.
The sequence of fields in 'where clause' must be as per primary/secondary index ( if any)
Avoid creation of index as far as possible
Avoid operators like <>, > , < & like % in where clause conditions
Avoid select/select single statements in loops.
Try to use 'binary search' in READ internal table. Ensure table is sorted before using BINARY SEARCH.
Avoid using aggregate functions (SUM, MAX etc) in selects ( GROUP BY , HAVING,)
Avoid using ORDER BY in selects
Avoid Nested Selects
Avoid Nested Loops of Internal Tables
Try to use FIELD SYMBOLS.
Try to avoid into Corresponding Fields of
Avoid using Select Distinct, Use DELETE ADJACENT
Check the following Links
Re: performance tuning
Re: Performance tuning of program
http://www.sapgenie.com/abap/performance.htm
http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_PerformanceAnalysisTools.asp
check the below link
http://www.sap-img.com/abap/performance-tuning-for-data-selection-statement.htm
See the following link if it's any help:
http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_PerformanceAnalysisTools.asp
Check also http://service.sap.com/performance
and
books like
http://www.sap-press.com/product.cfm?account=&product=H951
http://www.sap-press.com/product.cfm?account=&product=H973
http://www.sap-img.com/abap/more-than-100-abap-interview-faqs.htm
http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_PerformanceAnalysisTools.asp
Performance tuning for Data Selection Statement
http://www.sap-img.com/abap/performance-tuning-for-data-selection-statement.htm
Debugger
http://help.sap.com/saphelp_47x200/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
Run Time Analyser
http://help.sap.com/saphelp_47x200/helpdata/en/c6/617cafe68c11d2b2ab080009b43351/content.htm
SQL trace
http://help.sap.com/saphelp_47x200/helpdata/en/d1/801f7c454211d189710000e8322d00/content.htm
CATT - Computer Aided Testing Too
http://help.sap.com/saphelp_47x200/helpdata/en/b3/410b37233f7c6fe10000009b38f936/frameset.htm
Test Workbench
http://help.sap.com/saphelp_47x200/helpdata/en/a8/157235d0fa8742e10000009b38f889/frameset.htm
Coverage Analyser
http://help.sap.com/saphelp_47x200/helpdata/en/c7/af9a79061a11d4b3d4080009b43351/content.htm
Runtime Monitor
http://help.sap.com/saphelp_47x200/helpdata/en/b5/fa121cc15911d5993d00508b6b8b11/content.htm
Memory Inspector
http://help.sap.com/saphelp_47x200/helpdata/en/a2/e5fc84cc87964cb2c29f584152d74e/content.htm
ECATT - Extended Computer Aided testing tool.
http://help.sap.com/saphelp_47x200/helpdata/en/20/e81c3b84e65e7be10000000a11402f/frameset.htm
Just refer to these links...
performance
Performance
Performance Guide
performance issues...
Performance Tuning
Performance issues
performance tuning
performance tuning
You can go to the transaction SE30 to have the runtime analysis of your program.Also try the transaction SCI , which is SAP Code Inspector.
1 Always check the driver internal tables is not empty, while using FOR ALL ENTRIES
2 Avoid for all entries in JOINS
3 Try to avoid joins and use FOR ALL ENTRIES.
4 Try to restrict the joins to 1 level only ie only for 2 tables
5 Avoid using Select *.
6 Avoid having multiple Selects from the same table in the same object.
7 Try to minimize the number of variables to save memory.
8 The sequence of fields in 'where clause' must be as per primary/secondary index ( if any)
9 Avoid creation of index as far as possible
10 Avoid operators like <>, > , < & like % in where clause conditions
11 Avoid select/select single statements in loops.
12 Try to use 'binary search' in READ internal table. Ensure table is sorted before using BINARY SEARCH.
13 Avoid using aggregate functions (SUM, MAX etc) in selects ( GROUP BY , HAVING,)
14 Avoid using ORDER BY in selects
15 Avoid Nested Selects
16 Avoid Nested Loops of Internal Tables
17 Try to use FIELD SYMBOLS.
18 Try to avoid into Corresponding Fields of
19 Avoid using Select Distinct, Use DELETE ADJACENT.
Regards
Anji -
How to improve the performance of the abap program
hi all,
I have created an abap program. And it taking long time since the number of records are more. And can anyone let me know how to improve the performance of my abap program.
Using se30 and st05 transaction.
can anyone help me out step by step
regds
harithaHi Haritha,
->Run Any program using SE30 (performance analysis)
Note: Click on the Tips & Tricks button from SE30 to get performance improving tips.
Using this you can improve the performance by analyzing your code part by part.
->To turn runtim analysis on within ABAP code insert the following code
SET RUN TIME ANALYZER ON.
->To turn runtim analysis off within ABAP code insert the following code
SET RUN TIME ANALYZER OFF.
->Always check the driver internal tables is not empty, while using FOR ALL ENTRIES
->Avoid for all entries in JOINS
->Try to avoid joins and use FOR ALL ENTRIES.
->Try to restrict the joins to 1 level only ie only for tables
->Avoid using Select *.
->Avoid having multiple Selects from the same table in the same object.
->Try to minimize the number of variables to save memory.
->The sequence of fields in 'where clause' must be as per primary/secondary index ( if any)
->Avoid creation of index as far as possible
->Avoid operators like <>, > , < & like % in where clause conditions
->Avoid select/select single statements in loops.
->Try to use 'binary search' in READ internal table. -->Ensure table is sorted before using BINARY SEARCH.
->Avoid using aggregate functions (SUM, MAX etc) in selects ( GROUP BY , HAVING,)
->Avoid using ORDER BY in selects
->Avoid Nested Selects
->Avoid Nested Loops of Internal Tables
->Try to use FIELD SYMBOLS.
->Try to avoid into Corresponding Fields of
->Avoid using Select Distinct, Use DELETE ADJACENT
Check the following Links
Re: performance tuning
Re: Performance tuning of program
http://www.sapgenie.com/abap/performance.htm
http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_PerformanceAnalysisTools.asp
check the below link
http://www.sap-img.com/abap/performance-tuning-for-data-selection-statement.htm
See the following link if it's any help:
http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_PerformanceAnalysisTools.asp
Check also http://service.sap.com/performance
and
books like
http://www.sap-press.com/product.cfm?account=&product=H951
http://www.sap-press.com/product.cfm?account=&product=H973
http://www.sap-img.com/abap/more-than-100-abap-interview-faqs.htm
http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_PerformanceAnalysisTools.asp
Performance tuning for Data Selection Statement
http://www.sap-img.com/abap/performance-tuning-for-data-selection-statement.htm
Debugger
http://help.sap.com/saphelp_47x200/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
Run Time Analyser
http://help.sap.com/saphelp_47x200/helpdata/en/c6/617cafe68c11d2b2ab080009b43351/content.htm
SQL trace
http://help.sap.com/saphelp_47x200/helpdata/en/d1/801f7c454211d189710000e8322d00/content.htm
CATT - Computer Aided Testing Too
http://help.sap.com/saphelp_47x200/helpdata/en/b3/410b37233f7c6fe10000009b38f936/frameset.htm
Test Workbench
http://help.sap.com/saphelp_47x200/helpdata/en/a8/157235d0fa8742e10000009b38f889/frameset.htm
Coverage Analyser
http://help.sap.com/saphelp_47x200/helpdata/en/c7/af9a79061a11d4b3d4080009b43351/content.htm
Runtime Monitor
http://help.sap.com/saphelp_47x200/helpdata/en/b5/fa121cc15911d5993d00508b6b8b11/content.htm
Memory Inspector
http://help.sap.com/saphelp_47x200/helpdata/en/a2/e5fc84cc87964cb2c29f584152d74e/content.htm
ECATT - Extended Computer Aided testing tool.
http://help.sap.com/saphelp_47x200/helpdata/en/20/e81c3b84e65e7be10000000a11402f/frameset.htm
Just refer to these links...
performance
Performance
Performance Guide
performance issues...
Performance Tuning
Performance issues
performance tuning
performance tuning
You can go to the transaction SE30 to have the runtime analysis of your program.Also try the transaction SCI , which is SAP Code Inspector.
edited by,
Naveenan -
HT1338 Why does mountain lion make my computer run slow and my Safari too?
why does Mountain Lion make my computer run slow and my Safari too? Please help!
The problem is probably not mountain lion. It works just fine on my computer. And a few million others.
If your computer is having problems, you can try to fix it with some simple troubleshooting maneuvers.
Take a look at:
Mac OS X BASIC TROUBLESHOOTING & MAINTENANCE Tips Mountain Lion 10.8 Lion 10.7 Snow Leopard 10.6 10.5 Tiger 10.4 Why How To Tutorials -
How to improve the group by operation (on unwanted columns)
I am using 10g database. There is an existing table having 35 columns, primary key consists of 10 columns, having 5 million records.
This table data is generated by joining 10 other tables and some complicated logic, each table having million records
period
key_id1
key_id10
other_info1
other_info20
local_currency
local_amount
billing_currency
billing_amount
The other info are based on the key_id, mostly description and/or related info. I need to find the sum of amount for fewer key_id.
select period
key_id1
key_id8
other_info1
other_info16
local_currency
sum(local_amount)
billing_currency
sum(billing_amount)
from table
group by period
key_id1
key_id8
other_info1
other_info16
local_currency
billing_currency
Is there any other way to rewrite the SQL for faster execution989520 wrote:
I am using 10g database. There is an existing table having 35 columns, primary key consists of 10 columns, having 5 million records.
This table data is generated by joining 10 other tables and some complicated logic, each table having million records
period
key_id1
key_id10
other_info1
other_info20
local_currency
local_amount
billing_currency
billing_amount
The other info are based on the key_id, mostly description and/or related info. I need to find the sum of amount for fewer key_id.
select period
key_id1
key_id8
other_info1
other_info16
local_currency
sum(local_amount)
billing_currency
sum(billing_amount)
from table
group by period
key_id1
key_id8
other_info1
other_info16
local_currency
billing_currency
Is there any other way to rewrite the SQL for faster execution
Where's the evidence to show that it's not running as fast as it can?
Read the FAQ: Re: 3. How to improve the performance of my query? / My query is running slow.
and post appropriate details so people can help you. -
How to improve the write performance of the database
Our application is a write intense application, maybe will write 2M/second data to the database, how to improve the performance of the database? We mainly write to 5 tables of the database.
Currently, the database get no response and the CPU is 100% used.
How to tuning this? thanks in advance.Your post says more by what is not provided than by what is provided. The following is the minimum list of information needed to even begin to help you.
1. What hardware (server, CPU, RAM, and NIC and HBA cards if any pointing to storage).
2. Storage solution (DAS, iSCSCI, SAN, NAS). Provide manufacturer and model.
3. If RAID which implementation of RAID and on how many disks.
4. If NAS or SAN how is the read-write cache configured.
5. What version of Oracle software ... all decimal points ... for example 11.1.0.6. If you are not fully patched then patch it and try again before asking for help.
6. What, in addition to the Oracle database, is running on the server?
2MB/sec. is very little. That is equivalent to inserting 500 VARCHAR2(4000)s. If I couldn't do 500 inserts per second on my laptop I'd trade it in.
SQL> create table t (
2 testcol varchar2(4000));
Table created.
SQL> set timing on
SQL> BEGIN
2 FOR i IN 1..500 LOOP
3 INSERT INTO t SELECT RPAD('X', 3999, 'X') FROM dual;
4 END LOOP;
5 END;
6 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.07
SQL>Now what to do with the remaining 0.93 seconds. <g> And this was on a T61 Lenovo with a slow little 7500RPM drive and 4GB RAM running Oracle Database 11.2.0.1. But I will gladly repeat it using any currently supported version of the product. -
I purchased Dreamweaver CS6, installed ok then registered it on-line. Computer
running slow, malware sorted it out, since I re installed CS6, it asks for
registration, puts up 30 day trial,Flags up errors java.Hi Jon,
Dreamweaver the following errors show up in the JavaScript.Log. I deleted the .dat file but no difference. I am not so confident in how to delete the preference file. I have been following the instructions (see link)
https://helpx.adobe.com/dreamweaver/kb/restore-preferences-dreamweaver-cs6-cc.html
Windows:
~Users\[user name]\AppData\Roaming\Adobe\Dreamweaver CC 2014.1 (folder)
\HKEY_CURRENT_USER\Software\Adobe\Dreamweaver CC 2014.1 (registry entry)
When Dreamweaver launches, it creates new preferences files and folder.
How do I get rid of these errors?
DW JavaScript
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\Startup\MMinit.htm
lineno: 1698
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\Startup\AdvRs.htm
lineno: 12
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\Startup\BridgeTalkInit.htm
lineno: 19
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\Startup\BusinessCatalyst.htm
lineno: 46
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\Startup\ICEInit.htm
lineno: 57
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\Startup\RecordsetFind.htm
lineno: 12
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\Startup\SpryInit.htm
lineno: 53
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\ServerModels\ASP.NET_Csharp.htm
lineno: 436
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\ServerModels\ASP.NET_VB.htm
lineno: 477
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\ServerModels\ASP_JS.htm
lineno: 622
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\ServerModels\ASP_VBS.htm
lineno: 624
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\ServerModels\ColdFusion.htm
lineno: 458
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\ServerModels\JSP.htm
lineno: 491
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\ServerModels\PHP_MySQL.htm
lineno: 384
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\ServerModels\XSLT.htm
lineno: 302
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename:
lineno: 15
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename:
lineno: 15
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename:
lineno: 14
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\Commands\_onOpen.htm
lineno: 29
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\Menus\MM\LiveView.htm
lineno: 32
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\Menus\MM\Browser_Controls.htm
lineno: 31
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\Toolbars\MM\AddressURL.htm
lineno: 14
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\Toolbars\MM\BCC.htm
lineno: 32
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\Toolbars\MM\WrapTag.htm
lineno: 45
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\Toolbars\MM\EditTitle.htm
lineno: 39
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\Shutdown\BridgeTalkexit.html
lineno: 18
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
JS Error:
missing ; before statement
filename: C:\Program Files\Adobe\Adobe Dreamweaver CS6\Configuration\Shutdown\TeamAdminTempDelete.html
lineno: 37
line: Set FSO = CreateObject("Scripting.FileSystemObject")
at: FSO = CreateObject("Scripting.FileSystemObject")
Original message----
From : [email protected]
Date : 31/03/2015 - 16:08 (GMTDT)
To : [email protected]
Subject : I purchased DreamweaverCS6, installed ok then registered it on-line. Computer running slow, malware sorted it out, since I re installed CS6, it asks for registration, puts up 30 day trial,Flags up errors java.
I purchased DreamweaverCS6, installed ok then registered it on-line. Computer running slow, malware sorted it out, since I re installed CS6, it asks for registration, puts up 30 day trial,Flags up errors java.
created by Jon Fritz II in Dreamweaver support forum - View the full discussion
Try renaming the configuration folder that holds the .dat file first, before attempting to restore preferences.
Many times that will take care of it without having to do all the work required after a pref-reset.
If the reply above answers your question, please take a moment to mark this answer as correct by visiting: https://forums.adobe.com/message/7391793#7391793 and clicking ‘Correct’ below the answer
Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page:
Please note that the Adobe Forums do not accept email attachments. If you want to embed an image in your message please visit the thread in the forum and click the camera icon: https://forums.adobe.com/message/7391793#7391793
To unsubscribe from this thread, please visit the message page at , click "Following" at the top right, & "Stop Following"
Start a new discussion in Dreamweaver support forum by email or at Adobe Community
For more information about maintaining your forum email notifications please go to https://forums.adobe.com/thread/1516624. -
Computer runs slow after installation
Hi,
A little over a month ago I installed Tiger (using CDs) onto my iBook 10.1.5 OSX, 256MB, Power PC G3. A couple of times the computer ran slow at the start up but I would just re-start the computer and then it ran fine. This morning I turned it on I can't get it to stop running slow. Start up takes forever and any application I open takes a long time to start and runs slow after. What can I do to fix this?
Thank you,
MelissaYou have adequate free hard drive space but keep an eye on it.
But I do use quite a bit of memory on my itunes, about 5GB.
How did you determine this?
If you read the link I provided carefully, OS X makes automatic/dynamic use of Paging or Virtual Memory regardless the amount of RAM installed which uses available free hard drive space when utilized. This is released when logging out of your account and after a shutdown and/or a restart.
The less RAM you have installed, the more Paging or Virtual Memory will be used depending on the number of running applications at a time and what each application is performing. This can make the system feel and operate more slowly.
Check Resolving Disk, Permission, and Cache Corruption for system troubleshooting procedures and when doing so, follow all steps/instructions in the order provided. -
I have an Imac 2.8 GHZ Intel core duo, a month ago during booting instead of the apple picture appears a world picture and takes a lot of time to start, Is this normal?? also I feel the computer much slower since then, does any body know what is this? How can I fix this? Thanks
Gomtomsyetm preferencs and make sure that you HDD is selected as the start up disk. Then start up using your install disc and run disk utility and repair the drive just in case something has gotten corrupt.
-
Computer runs slow when Mac Mail open
Mail works ok, albeit very slow, but the computer runs painfully slow. Spinning beach ball trying to perform the most mundane tasks, like clicking between pages in Safari. Once I right click on Mail and close it, the computer runs just fine.
Also, with Activity Monitor open but Mail quit, select CPU down at the bottom, see what the % Idle is. Then open Mail and see what it says.
You should run the Combo Update to 10.5.8. This might help.
http://support.apple.com/downloads/Mac_OS_X_10_5_8_Combo_Update
@Eric: I'm not ruling it out 100% as a fix for this problem, but Permissions Repair is not the panacea or valuable troubleshooting step you seem to think it is. It may have been more useful in pre-Leopard OSs like Tiger.
http://unsanity.org/archives/000410.php -
Recently i have been getting the color wheel a lot and it is screwing with my happiness. Any thoughts on how to clean the computer up so this stops?
Back up all data immediately as your boot drive may be failing.
If you have more than one user account, these instructions must be carried out as an administrator.
Triple-click anywhere in the line below on this page to select it:
syslog -k Sender kernel -k Message CReq 'Channel t|GPU D|I/O|Previous Sh' | tail | open -ef
Copy the selected text to the Clipboard (command-C).
Launch the Terminal application in any of the following ways:
☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
Paste into the Terminal window (command-V).
The command may take a noticeable amount of time to run. Wait for a new line ending in a dollar sign (“$”) to appear.
A TextEdit window will open with the output of the command. If the command produced no output, the window will be empty. Post the contents of the TextEdit window (not the Terminal window), if any — the text, please, not a screenshot. The title of the window doesn't matter, and you don't need to post that.
Maybe you are looking for
-
Hit TransitionException when call web service in bpm
hello, my mesage of exception like follows: <br> com.sap.glx.core.kernel.api.TransitionException: An exception occurred while executing the script "_FileIn:AUTOMATED_ACTIVITY_FI_Notice_PSP( com.sap.glx.adapter.BPMNAdapter:Token_0_CSS_FileIn_58b
-
Query of Queries Runtime error
I have a query pulled from an XML file, with a column that contains mixed numeric and alphanumeric strings, like 103, 112, A12, etc. When running a QofQ on this query, I get this error: Query Of Queries runtime error. Can't convert the string A1 to j
-
Update Client Certificates on Oracle Identity Federation (SP)
I need to update the certs on OIF (we are Service Provider's) as my client certificates are expiring soon. I am planning of doing below step to upload new certificates . Please let me know if this is the right way or if i am missing anything here..Pl
-
Colour picker not sampling right colour - colour management?
Hi there, so i have an image i painted in RGB in photoshop and saved it out as jpeg. Placed it into a RGB document in illustrator. All my colour settings are synced for rgb to be sRGB. I sampled the colour straight off the placed image (and theres no
-
Photoshop 12.0 Camera Raw Updates never download. Any ideas?
Trying to download the Camera Raw update for Photoshop 12.0. No matter how many times I quit and re-try, the updates download but never complete the installation process. This is common to all my Adobe products, so I'm guessing it's the updater. In