<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Report program Performance problem in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574461#M1079367</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Do what was suggested already: run an SE30 runtime analysis with a small selection, sort by "net time" descending, and tackle the problems top down, worst one first. You can come back here with single ABAP statements, if you're unsure about how to fix them. But do search first, there is an abundance of existing solutions available.&lt;/P&gt;&lt;P&gt;Thomas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 08 Oct 2008 07:06:32 GMT</pubDate>
    <dc:creator>ThomasZloch</dc:creator>
    <dc:date>2008-10-08T07:06:32Z</dc:date>
    <item>
      <title>Report program Performance problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574452#M1079358</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;   one object is taking 30hr for executing.some one develped this in 1998 but this time it is a big Performance problem.please some one helep what to do i am giving that code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--&lt;DEL&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------------" /&gt;DOCUMENTATION--&lt;P&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Programe written by :  31.03.1998 .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purpose : this programe updates the car status into the table zsdtab1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This programe is to be schedule in the backgroud periodically .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Querries can be fired on the table zsdtab1 to get the details of the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Car .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This programe looks at the changes made in the material master from&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; last updated date and the new entries in material master and updates&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; the tables zsdtab1 .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Changes in the Sales Order are not taken into account .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; To get a fresh data set the value of zupddate in table ZSTATUS as&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 01.01.1998 . All the data will be refreshed from that date .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Program Changed on 23/7/2001 after version upgrade 46b by jyoti&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Addition of New tables for Ibase&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------" /&gt;&lt;P&gt;tables used -&lt;/P&gt;&lt;HR originaltext="-------------------------------" /&gt;&lt;P&gt;tables : mara ,                        " Material master&lt;/P&gt;&lt;P&gt;         ausp ,                        " Characteristics table .&lt;/P&gt;&lt;P&gt;         zstatus ,                     " Last updated status table .&lt;/P&gt;&lt;P&gt;         zsdtab1 ,    " Central database table to be maintained .&lt;/P&gt;&lt;P&gt;         vbap ,                        " Sales order header table .&lt;/P&gt;&lt;P&gt;         vbak ,                        " Sales order item table .&lt;/P&gt;&lt;P&gt;         kna1 ,                        " Customer master .&lt;/P&gt;&lt;P&gt;         vbrk ,&lt;/P&gt;&lt;P&gt;         vbrp ,&lt;/P&gt;&lt;P&gt;         bkpf ,&lt;/P&gt;&lt;P&gt;         bseg ,&lt;/P&gt;&lt;P&gt;         mseg ,&lt;/P&gt;&lt;P&gt;         mkpf ,&lt;/P&gt;&lt;P&gt;         vbpa ,&lt;/P&gt;&lt;P&gt;         vbfa ,&lt;/P&gt;&lt;P&gt;         t005t .                         " Country details tabe .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-----------------" /&gt;NEW TABLES ADDEDFOR VERSION 4.6B--&lt;HR originaltext="-----------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables :   ibsymbol ,ibin , ibinvalues .&lt;/P&gt;&lt;P&gt;data : vatinn like ibsymbol-atinn , vatwrt like ibsymbol-atwrt ,&lt;/P&gt;&lt;P&gt;       vatflv like ibsymbol-atflv .&lt;/P&gt;&lt;P&gt;*--&lt;DEL&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------" /&gt;types definition--&lt;P&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------" /&gt;&lt;P&gt;types : begin of mara_itab_type ,&lt;/P&gt;&lt;P&gt;           matnr like mara-matnr ,&lt;/P&gt;&lt;P&gt;           cuobf like mara-cuobf ,&lt;/P&gt;&lt;P&gt;        end of mara_itab_type ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        begin of ausp_itab_type ,&lt;/P&gt;&lt;P&gt;           atinn like ausp-atinn ,&lt;/P&gt;&lt;P&gt;           atwrt like ausp-atwrt ,&lt;/P&gt;&lt;P&gt;           atflv like ausp-atflv ,&lt;/P&gt;&lt;P&gt;        end of ausp_itab_type .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : mara_itab type mara_itab_type occurs 500 with header line ,&lt;/P&gt;&lt;P&gt;       zsdtab1_itab like zsdtab1 occurs 500 with header line ,&lt;/P&gt;&lt;P&gt;       ausp_itab type ausp_itab_type occurs 500 with header line ,&lt;/P&gt;&lt;P&gt;       last_date type d ,&lt;/P&gt;&lt;P&gt;       date type d .&lt;/P&gt;&lt;P&gt;data: length type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear mara_itab . refresh mara_itab .&lt;/P&gt;&lt;P&gt;clear zsdtab1_itab . refresh zsdtab1_itab .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select single  zupddate into last_date from zstatus&lt;/P&gt;&lt;P&gt;       where programm = 'ZSDDET01' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select matnr cuobf into (mara_itab-matnr , mara_itab-cuobf) from mara&lt;/P&gt;&lt;P&gt;      where mtart eq 'FERT' or mtart = 'ZCBU'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    where MATNR IN MATERIA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     and ERSDA IN C_Date&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     and MTART in M_TYP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    append mara_itab .&lt;/P&gt;&lt;P&gt;endselect .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at mara_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear zsdtab1_itab .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;zsdtab1_itab-commno = mara_itab-matnr .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   Get the detailed data into internal table ausp_itab .-----------&amp;gt;&amp;gt;&amp;gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;clear ausp_itab . refresh ausp_itab .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-------------" /&gt;change starts--&lt;HR originaltext="----------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; select atinn atwrt atflv into (ausp_itab-atinn , ausp_itab-atwrt ,&lt;/P&gt;&lt;P&gt;                           ausp_itab-atflv) from ausp&lt;/P&gt;&lt;P&gt;      where objek = mara_itab-matnr .&lt;/P&gt;&lt;P&gt;      append ausp_itab .&lt;/P&gt;&lt;P&gt;   endselect .&lt;/P&gt;&lt;P&gt;   clear ausp_itab .&lt;/P&gt;&lt;P&gt;select  atinn  atwrt atflv  into (ausp_itab-atinn , ausp_itab-atwrt ,&lt;/P&gt;&lt;P&gt;ausp_itab-atflv) from ibin as a inner join ibinvalues as b&lt;/P&gt;&lt;P&gt;                  on a&lt;SUB&gt;in_recno = b&lt;/SUB&gt;in_recno&lt;/P&gt;&lt;P&gt;       inner join  ibsymbol as c&lt;/P&gt;&lt;P&gt;                  on b&lt;SUB&gt;symbol_id = c&lt;/SUB&gt;symbol_id&lt;/P&gt;&lt;P&gt;    where a~instance = mara_itab-cuobf  .&lt;/P&gt;&lt;P&gt;  append ausp_itab .&lt;/P&gt;&lt;P&gt;endselect .&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------" /&gt;CHANGE ENDS HERE -&lt;HR originaltext="----------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sort ausp_itab by atwrt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at ausp_itab .&lt;/P&gt;&lt;P&gt;clear date .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;case ausp_itab-atinn .&lt;/P&gt;&lt;P&gt;  when '0000000094' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-model = ausp_itab-atwrt .  " model  .&lt;/P&gt;&lt;P&gt;  when '0000000101' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-drive = ausp_itab-atwrt .  " drive&lt;/P&gt;&lt;P&gt;  when '0000000095' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-converter = ausp_itab-atwrt . "converter&lt;/P&gt;&lt;P&gt;  when '0000000096' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-transmssn = ausp_itab-atwrt . "transmission&lt;/P&gt;&lt;P&gt;  when '0000000097' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-colour = ausp_itab-atwrt .    "colour&lt;/P&gt;&lt;P&gt;  when '0000000098' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-ztrim = ausp_itab-atwrt .     "trim&lt;/P&gt;&lt;P&gt;  when '0000000103' .&lt;/P&gt;&lt;P&gt;*=========Sujit 14-Mar-2006&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF AUSP_ITAB-ATWRT(3) EQ 'WDB' OR AUSP_ITAB-ATWRT(3) EQ 'WDD'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   OR AUSP_ITAB-ATWRT(3) EQ 'WDC' OR AUSP_ITAB-ATWRT(3) EQ 'KPD'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ZSDTAB1_ITAB-CHASSIS_NO = AUSP_ITAB-ATWRT+3(14).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ZSDTAB1_ITAB-CHASSIS_NO = AUSP_ITAB-ATWRT .     "chassis no&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    zsdtab1_itab-chassis_no = ausp_itab-atwrt .     "chassis no&lt;/P&gt;&lt;P&gt;*=========14-Mar-2006&lt;/P&gt;&lt;P&gt;  when '0000000166' .&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------" /&gt;25.05.04&lt;P&gt;&lt;/P&gt;&lt;P&gt;  length = strlen( ausp_itab-atwrt ).&lt;/P&gt;&lt;P&gt;  if length &amp;lt; 15.                       "***aded by patil&lt;/P&gt;&lt;P&gt;   zsdtab1_itab-engine_no = ausp_itab-atwrt .     "ENGINE NO&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt; zsdtab1_itab-engine_no = ausp_itab-atwrt+13(14)."Aded on 21.05.04 patil&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------" /&gt;25.05.04&lt;P&gt;&lt;/P&gt;&lt;P&gt;  when '0000000104' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-body_no = ausp_itab-atwrt .     "BODY NO&lt;/P&gt;&lt;P&gt;  when '0000000173' .                                          "21.06.98&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-cockpit = ausp_itab-atwrt .     "COCKPIT NO . "21.06.98&lt;/P&gt;&lt;P&gt;  when '0000000102' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dest = ausp_itab-atwrt .     "destination&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  when '0000000105' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-airbag = ausp_itab-atwrt .     "AIRBAG&lt;/P&gt;&lt;P&gt;  when '0000000110' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-trailer_no = ausp_itab-atwrt .     "TRAILER_NO&lt;/P&gt;&lt;P&gt;  when '0000000109' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-fininspdat = date .   "FIN INSP DATE&lt;/P&gt;&lt;P&gt;  when '0000000108' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-entrydate = ausp_itab-atwrt .     "ENTRY DATE&lt;/P&gt;&lt;P&gt;  when '0000000163' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-regist_no = ausp_itab-atwrt .     "REGIST_NO&lt;/P&gt;&lt;P&gt;  when '0000000164' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-mech_key = ausp_itab-atwrt .     "MECH_KEY&lt;/P&gt;&lt;P&gt;  when '0000000165' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-side_ab_rt = ausp_itab-atwrt .     "SIDE_AB_RT&lt;/P&gt;&lt;P&gt;  when '0000000171' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-side_ab_lt = ausp_itab-atwrt .     "SIDE_AB_LT&lt;/P&gt;&lt;P&gt;  when '0000000167' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-elect_key = ausp_itab-atwrt .     "ELECT_KEY&lt;/P&gt;&lt;P&gt;  when '0000000168' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-head_lamp = ausp_itab-atwrt .     "HEAD_LAMP&lt;/P&gt;&lt;P&gt;  when '0000000169' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-tail_lamp = ausp_itab-atwrt .     "TAIL_LAMP&lt;/P&gt;&lt;P&gt;  when '0000000170' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-vac_pump = ausp_itab-atwrt .     "VAC_PUMP&lt;/P&gt;&lt;P&gt;  when '0000000172' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-sd_ab_sn_l = ausp_itab-atwrt .     "SD_AB_SN_L&lt;/P&gt;&lt;P&gt;  when '0000000174' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-sd_ab_sn_r = ausp_itab-atwrt .     "SD_AB_SN_R&lt;/P&gt;&lt;P&gt;  when '0000000175' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-asrhydunit = ausp_itab-atwrt .     "ASRHYDUNIT&lt;/P&gt;&lt;P&gt;  when '0000000176' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-gearboxno = ausp_itab-atwrt .     "GEARBOXNO&lt;/P&gt;&lt;P&gt;  when '0000000177' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-battery = ausp_itab-atwrt .     "BATTERY&lt;/P&gt;&lt;P&gt;  when '0000000178' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-tyretype = ausp_itab-atwrt .     "TYRETYPE&lt;/P&gt;&lt;P&gt;  when '0000000179' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-tyremake = ausp_itab-atwrt .     "TYREMAKE&lt;/P&gt;&lt;P&gt;  when '0000000180' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-tyresize = ausp_itab-atwrt .     "TYRESIZE&lt;/P&gt;&lt;P&gt;  when '0000000181' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-rr_axle_no = ausp_itab-atwrt .     "RR_AXLE_NO&lt;/P&gt;&lt;P&gt;  when '0000000183' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-ff_axl_nor = ausp_itab-atwrt .     "FF_AXLE_NO_rt&lt;/P&gt;&lt;P&gt;  when '0000000182' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-ff_axl_nol = ausp_itab-atwrt .     "FF_AXLE_NO_lt&lt;/P&gt;&lt;P&gt;  when '0000000184' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-drivairbag = ausp_itab-atwrt .     "DRIVAIRBAG&lt;/P&gt;&lt;P&gt;  when '0000000185' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-st_box_no = ausp_itab-atwrt .     "ST_BOX_NO&lt;/P&gt;&lt;P&gt;  when '0000000186' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-transport = ausp_itab-atwrt .     "TRANSPORT&lt;/P&gt;&lt;P&gt;  when '0000000106' .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-trackstage = ausp_itab-atwrt .  " tracking stage&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------" /&gt;&lt;P&gt;  when '0000000111' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_1 = date .    " tracking date for 1.&lt;/P&gt;&lt;P&gt;  when '0000000112' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_5 = date .    " tracking date for 5.&lt;/P&gt;&lt;P&gt;  when '0000000113' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_10 = date .   "tracking date for 10&lt;/P&gt;&lt;P&gt;  when '0000000114' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_15 = date .   "tracking date for 15&lt;/P&gt;&lt;P&gt;  when '0000000115' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_20 = date .   " tracking date for 20&lt;/P&gt;&lt;P&gt;  when '0000000116' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_25 = date .   " tracking date for 25&lt;/P&gt;&lt;P&gt;  when '0000000117' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_30 = date .   "tracking date for 30&lt;/P&gt;&lt;P&gt;  when '0000000118' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_35 = date .   "tracking date for 35&lt;/P&gt;&lt;P&gt;  when '0000000119' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_40 = date .   " tracking date for 40&lt;/P&gt;&lt;P&gt;  when '0000000120' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_45 = date .   " tracking date for 45&lt;/P&gt;&lt;P&gt;  when '0000000121' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_50 = date .   "tracking date for 50&lt;/P&gt;&lt;P&gt;  when '0000000122' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_55 = date .   "tracking date for 55&lt;/P&gt;&lt;P&gt;  when '0000000123' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_60 = date .   " tracking date for 60&lt;/P&gt;&lt;P&gt;  when '0000000124' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_65 = date .   " tracking date for 65&lt;/P&gt;&lt;P&gt;  when '0000000125' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_70 = date .   "tracking date for 70&lt;/P&gt;&lt;P&gt;  when '0000000126' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_75 = date .   "tracking date for 75&lt;/P&gt;&lt;P&gt;  when '0000000127' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_78 = date .   " tracking date for 78&lt;/P&gt;&lt;P&gt;  when '0000000203' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_79 = date .   " tracking date for 79&lt;/P&gt;&lt;P&gt;  when '0000000128' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_80 = date .   " tracking date for 80&lt;/P&gt;&lt;P&gt;  when '0000000129' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_85 = date .   "tracking date for 85&lt;/P&gt;&lt;P&gt;  when '0000000130' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_90 = date .   "tracking date for 90&lt;/P&gt;&lt;P&gt;  when '0000000131' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dat_trk_95 = date .   "tracking date for 95&lt;/P&gt;&lt;P&gt;  when '0000000132' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dattrk_100 = date .   " tracking date for100&lt;/P&gt;&lt;P&gt;  when '0000000133' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dattrk_110 = date .   " tracking date for110&lt;/P&gt;&lt;P&gt;  when '0000000134' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dattrk_115 = date .   "tracking date for 115&lt;/P&gt;&lt;P&gt;  when '0000000135' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dattrk_120 = date .   "tracking date for 120&lt;/P&gt;&lt;P&gt;  when '0000000136' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-dattrk_105 = date .   "tracking date for 105&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------" /&gt;&lt;P&gt;  when '0000000137' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_1 = date .     "plan trk date for 1&lt;/P&gt;&lt;P&gt;  when '0000000138' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_5 = date .     "plan trk date for 5&lt;/P&gt;&lt;P&gt;  when '0000000139' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_10 = date .    "plan trk date for 10&lt;/P&gt;&lt;P&gt;  when '0000000140' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_15 = date .    "plan trk date for 15&lt;/P&gt;&lt;P&gt;  when '0000000141' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_20 = date .    "plan trk date for 20&lt;/P&gt;&lt;P&gt;  when '0000000142' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_25 = date .    "plan trk date for 25&lt;/P&gt;&lt;P&gt;  when '0000000143' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_30 = date .    "plan trk date for 30&lt;/P&gt;&lt;P&gt;  when '0000000144' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_35 = date .    "plan trk date for 35&lt;/P&gt;&lt;P&gt;  when '0000000145' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_40 = date .    "plan trk date for 40&lt;/P&gt;&lt;P&gt;  when '0000000146' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_45 = date .    "plan trk date for 45&lt;/P&gt;&lt;P&gt;  when '0000000147' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_50 = date .    "plan trk date for 50&lt;/P&gt;&lt;P&gt;  when '0000000148' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_55 = date .    "plan trk date for 55&lt;/P&gt;&lt;P&gt;  when '0000000149' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_60 = date .    "plan trk date for 60&lt;/P&gt;&lt;P&gt;  when '0000000150' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_65 = date .    "plan trk date for 65&lt;/P&gt;&lt;P&gt;  when '0000000151' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_70 = date .    "plan trk date for 70&lt;/P&gt;&lt;P&gt;  when '0000000152' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_75 = date .    "plan trk date for 75&lt;/P&gt;&lt;P&gt;  when '0000000153' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_78 = date .    "plan trk date for 78&lt;/P&gt;&lt;P&gt;  when '0000000202' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_79 = date .    "plan trk date for 79&lt;/P&gt;&lt;P&gt;  when '0000000154' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_80 = date .    "plan trk date for 80&lt;/P&gt;&lt;P&gt;  when '0000000155' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_85 = date .    "plan trk date for 85&lt;/P&gt;&lt;P&gt;  when '0000000156' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_90 = date .    "plan trk date for 90&lt;/P&gt;&lt;P&gt;  when '0000000157' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_95 = date .    "plan trk date for 95&lt;/P&gt;&lt;P&gt;  when '0000000158' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_100 = date .   "plan trk date for 100&lt;/P&gt;&lt;P&gt;  when '0000000159' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_105 = date .   "plan trk date for 105&lt;/P&gt;&lt;P&gt;  when '0000000160' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_110 = date .   "plan trk date for 110&lt;/P&gt;&lt;P&gt;  when '0000000161' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_115 = date .   "plan trk date for 115&lt;/P&gt;&lt;P&gt;  when '0000000162' .&lt;/P&gt;&lt;P&gt;    perform date_convert using  ausp_itab-atflv changing date .&lt;/P&gt;&lt;P&gt;    zsdtab1_itab-pdt_tk_120 = date .   "plan trk date for 120&lt;/P&gt;&lt;P&gt;********&lt;STRONG&gt;Additional fields / 24.05.98&lt;/STRONG&gt;**********************************&lt;/P&gt;&lt;P&gt;  when '0000000099' .&lt;/P&gt;&lt;P&gt;    case ausp_itab-atwrt .&lt;/P&gt;&lt;P&gt;      when '540' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-roll_blind = 'X' .&lt;/P&gt;&lt;P&gt;      when '482' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-ground_clr = 'X' .&lt;/P&gt;&lt;P&gt;      when '551' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-anti_theft = 'X' .&lt;/P&gt;&lt;P&gt;      when '882' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-anti_tow = 'X' .&lt;/P&gt;&lt;P&gt;      when '656' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-alloy_whel = 'X' .&lt;/P&gt;&lt;P&gt;      when '265' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-del_class = 'X' .&lt;/P&gt;&lt;P&gt;      when '280' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-str_wheel = 'X' .&lt;/P&gt;&lt;P&gt;      when 'CDC' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-cd_changer = 'X' .&lt;/P&gt;&lt;P&gt;      when '205' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-manual_eng = 'X' .&lt;/P&gt;&lt;P&gt;      when '273' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-conn_handy = 'X' .&lt;/P&gt;&lt;P&gt;      when '343' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-aircleaner = 'X' .&lt;/P&gt;&lt;P&gt;      when '481' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-metal_sump = 'X' .&lt;/P&gt;&lt;P&gt;      when '533' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-speaker = 'X' .&lt;/P&gt;&lt;P&gt;      when '570' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-arm_rest = 'X' .&lt;/P&gt;&lt;P&gt;      when '580' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-aircond = 'X' .&lt;/P&gt;&lt;P&gt;      when '611' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-exit_light = 'X' .&lt;/P&gt;&lt;P&gt;      when '613' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-headlamp = 'X' .&lt;/P&gt;&lt;P&gt;      when '877' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-readlamp = 'X' .&lt;/P&gt;&lt;P&gt;      when '808' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-code_ckd = 'X' .&lt;/P&gt;&lt;P&gt;      when '708' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-del_prt_lc = 'X' .&lt;/P&gt;&lt;P&gt;      when '593' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-ins_glass = 'X' .&lt;/P&gt;&lt;P&gt;      when '955' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-zelcl = 'Elegance' .&lt;/P&gt;&lt;P&gt;      when '593' .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-zelcl = 'Classic' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endcase .&lt;/P&gt;&lt;P&gt;endcase .&lt;/P&gt;&lt;P&gt;endloop .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*///////////////////////////////////////////////////////////////////////&lt;/P&gt;&lt;P&gt;*--&lt;DEL&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------" /&gt;Update the sales data .--&lt;P&gt;&lt;/P&gt;&lt;HR originaltext="---------------------" /&gt;&lt;P&gt;perform get_sales_order using mara_itab-matnr .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform get_cartype using mara_itab-matnr .&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append zsdtab1_itab .&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/P&gt;&lt;P&gt;loop at zsdtab1_itab .&lt;/P&gt;&lt;P&gt;  if zsdtab1_itab-cartype &amp;lt;&amp;gt; 'W-203'&lt;/P&gt;&lt;P&gt;  or zsdtab1_itab-cartype &amp;lt;&amp;gt; 'W-210'&lt;/P&gt;&lt;P&gt;  or zsdtab1_itab-cartype &amp;lt;&amp;gt; 'W-211'.&lt;/P&gt;&lt;P&gt;      clear zsdtab1_itab-zelcl.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECT SINGLE * FROM ZSDTAB1 WHERE COMMNO = MARA_ITAB-MATNR .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; select single * from zsdtab1 where commno = zsdtab1_itab-commno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0 .&lt;/P&gt;&lt;P&gt;    insert into zsdtab1 values zsdtab1_itab .&lt;/P&gt;&lt;P&gt;else .&lt;/P&gt;&lt;P&gt;    update zsdtab1 set :vbeln = zsdtab1_itab-vbeln&lt;/P&gt;&lt;P&gt;                   bill_doc = zsdtab1_itab-bill_doc&lt;/P&gt;&lt;P&gt;                   dest = zsdtab1_itab-dest&lt;/P&gt;&lt;P&gt;                   lgort = zsdtab1_itab-lgort&lt;/P&gt;&lt;P&gt;                   ship_tp = zsdtab1_itab-ship_tp&lt;/P&gt;&lt;P&gt;                   country = zsdtab1_itab-country&lt;/P&gt;&lt;P&gt;                   kunnr = zsdtab1_itab-kunnr&lt;/P&gt;&lt;P&gt;                   vkbur = zsdtab1_itab-vkbur&lt;/P&gt;&lt;P&gt;                   customer = zsdtab1_itab-customer&lt;/P&gt;&lt;P&gt;                   city   = zsdtab1_itab-city&lt;/P&gt;&lt;P&gt;                   region = zsdtab1_itab-region&lt;/P&gt;&lt;P&gt;                   model = zsdtab1_itab-model&lt;/P&gt;&lt;P&gt;                   drive = zsdtab1_itab-drive&lt;/P&gt;&lt;P&gt;                   converter = zsdtab1_itab-converter&lt;/P&gt;&lt;P&gt;                   transmssn = zsdtab1_itab-transmssn&lt;/P&gt;&lt;P&gt;                   colour = zsdtab1_itab-colour&lt;/P&gt;&lt;P&gt;                   ztrim = zsdtab1_itab-ztrim&lt;/P&gt;&lt;P&gt;                   commno = zsdtab1_itab-commno&lt;/P&gt;&lt;P&gt;                   trackstage = zsdtab1_itab-trackstage&lt;/P&gt;&lt;P&gt;                   chassis_no    =   zsdtab1_itab-chassis_no&lt;/P&gt;&lt;P&gt;                   engine_no     =   zsdtab1_itab-engine_no&lt;/P&gt;&lt;P&gt;                   body_no       =   zsdtab1_itab-body_no&lt;/P&gt;&lt;P&gt;                   cockpit       =   zsdtab1_itab-cockpit&lt;/P&gt;&lt;P&gt;                   airbag        =   zsdtab1_itab-airbag&lt;/P&gt;&lt;P&gt;                   trailer_no    =   zsdtab1_itab-trailer_no&lt;/P&gt;&lt;P&gt;                   fininspdat    =   zsdtab1_itab-fininspdat&lt;/P&gt;&lt;P&gt;                   entrydate     =   zsdtab1_itab-entrydate&lt;/P&gt;&lt;P&gt;                   regist_no     =   zsdtab1_itab-regist_no&lt;/P&gt;&lt;P&gt;                   mech_key      =   zsdtab1_itab-mech_key&lt;/P&gt;&lt;P&gt;                   side_ab_rt    =   zsdtab1_itab-side_ab_rt&lt;/P&gt;&lt;P&gt;                   side_ab_lt    =   zsdtab1_itab-side_ab_lt&lt;/P&gt;&lt;P&gt;                   elect_key     =   zsdtab1_itab-elect_key&lt;/P&gt;&lt;P&gt;                   head_lamp     =   zsdtab1_itab-head_lamp&lt;/P&gt;&lt;P&gt;                   tail_lamp     =   zsdtab1_itab-tail_lamp&lt;/P&gt;&lt;P&gt;                   vac_pump      =   zsdtab1_itab-vac_pump&lt;/P&gt;&lt;P&gt;                   sd_ab_sn_l    =   zsdtab1_itab-sd_ab_sn_l&lt;/P&gt;&lt;P&gt;                   sd_ab_sn_r    =   zsdtab1_itab-sd_ab_sn_r&lt;/P&gt;&lt;P&gt;                   asrhydunit    =   zsdtab1_itab-asrhydunit&lt;/P&gt;&lt;P&gt;                   gearboxno     =   zsdtab1_itab-gearboxno&lt;/P&gt;&lt;P&gt;                   battery       =   zsdtab1_itab-battery&lt;/P&gt;&lt;P&gt;                   tyretype      =   zsdtab1_itab-tyretype&lt;/P&gt;&lt;P&gt;                   tyremake      =   zsdtab1_itab-tyremake&lt;/P&gt;&lt;P&gt;                   tyresize      =   zsdtab1_itab-tyresize&lt;/P&gt;&lt;P&gt;                   rr_axle_no    =   zsdtab1_itab-rr_axle_no&lt;/P&gt;&lt;P&gt;                   ff_axl_nor    =   zsdtab1_itab-ff_axl_nor&lt;/P&gt;&lt;P&gt;                   ff_axl_nol    =   zsdtab1_itab-ff_axl_nol&lt;/P&gt;&lt;P&gt;                   drivairbag    =   zsdtab1_itab-drivairbag&lt;/P&gt;&lt;P&gt;                   st_box_no     =   zsdtab1_itab-st_box_no&lt;/P&gt;&lt;P&gt;                   transport     =   zsdtab1_itab-transport&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------" /&gt;&lt;P&gt;OPTIONS-&lt;/P&gt;&lt;P&gt;                   roll_blind    = zsdtab1_itab-roll_blind&lt;/P&gt;&lt;P&gt;                   ground_clr    = zsdtab1_itab-ground_clr&lt;/P&gt;&lt;P&gt;                   anti_theft    = zsdtab1_itab-anti_theft&lt;/P&gt;&lt;P&gt;                   anti_tow      = zsdtab1_itab-anti_tow&lt;/P&gt;&lt;P&gt;                   alloy_whel    = zsdtab1_itab-alloy_whel&lt;/P&gt;&lt;P&gt;                   del_class     = zsdtab1_itab-del_class&lt;/P&gt;&lt;P&gt;                   str_wheel     = zsdtab1_itab-str_wheel&lt;/P&gt;&lt;P&gt;                   cd_changer    = zsdtab1_itab-cd_changer&lt;/P&gt;&lt;P&gt;                   manual_eng    = zsdtab1_itab-manual_eng&lt;/P&gt;&lt;P&gt;                   conn_handy    = zsdtab1_itab-conn_handy&lt;/P&gt;&lt;P&gt;                   aircleaner    = zsdtab1_itab-aircleaner&lt;/P&gt;&lt;P&gt;                   metal_sump    = zsdtab1_itab-metal_sump&lt;/P&gt;&lt;P&gt;                   speaker       = zsdtab1_itab-speaker&lt;/P&gt;&lt;P&gt;                   arm_rest      = zsdtab1_itab-arm_rest&lt;/P&gt;&lt;P&gt;                   aircond       = zsdtab1_itab-aircond&lt;/P&gt;&lt;P&gt;                   exit_light    = zsdtab1_itab-exit_light&lt;/P&gt;&lt;P&gt;                   headlamp      = zsdtab1_itab-headlamp&lt;/P&gt;&lt;P&gt;                   readlamp      = zsdtab1_itab-readlamp&lt;/P&gt;&lt;P&gt;                   code_ckd      = zsdtab1_itab-code_ckd&lt;/P&gt;&lt;P&gt;                   del_prt_lc    = zsdtab1_itab-del_prt_lc&lt;/P&gt;&lt;P&gt;                   ins_glass     = zsdtab1_itab-ins_glass&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------" /&gt;&lt;P&gt;                   dat_trk_1 = zsdtab1_itab-dat_trk_1&lt;/P&gt;&lt;P&gt;                   dat_trk_5 = zsdtab1_itab-dat_trk_5&lt;/P&gt;&lt;P&gt;                   dat_trk_10 = zsdtab1_itab-dat_trk_10&lt;/P&gt;&lt;P&gt;                   dat_trk_15 = zsdtab1_itab-dat_trk_15&lt;/P&gt;&lt;P&gt;                   dat_trk_20 = zsdtab1_itab-dat_trk_20&lt;/P&gt;&lt;P&gt;                   dat_trk_25 = zsdtab1_itab-dat_trk_25&lt;/P&gt;&lt;P&gt;                   dat_trk_30 = zsdtab1_itab-dat_trk_30&lt;/P&gt;&lt;P&gt;                   dat_trk_35 = zsdtab1_itab-dat_trk_35&lt;/P&gt;&lt;P&gt;                   dat_trk_40 = zsdtab1_itab-dat_trk_40&lt;/P&gt;&lt;P&gt;                   dat_trk_45 = zsdtab1_itab-dat_trk_45&lt;/P&gt;&lt;P&gt;                   dat_trk_50 = zsdtab1_itab-dat_trk_50&lt;/P&gt;&lt;P&gt;                   dat_trk_55 = zsdtab1_itab-dat_trk_55&lt;/P&gt;&lt;P&gt;                   dat_trk_60 = zsdtab1_itab-dat_trk_60&lt;/P&gt;&lt;P&gt;                   dat_trk_65 = zsdtab1_itab-dat_trk_65&lt;/P&gt;&lt;P&gt;                   dat_trk_70 = zsdtab1_itab-dat_trk_70&lt;/P&gt;&lt;P&gt;                   dat_trk_75 = zsdtab1_itab-dat_trk_75&lt;/P&gt;&lt;P&gt;                   dat_trk_78 = zsdtab1_itab-dat_trk_78&lt;/P&gt;&lt;P&gt;                   dat_trk_79 = zsdtab1_itab-dat_trk_79&lt;/P&gt;&lt;P&gt;                   dat_trk_80 = zsdtab1_itab-dat_trk_80&lt;/P&gt;&lt;P&gt;                   dat_trk_85 = zsdtab1_itab-dat_trk_85&lt;/P&gt;&lt;P&gt;                   dat_trk_90 = zsdtab1_itab-dat_trk_90&lt;/P&gt;&lt;P&gt;                   dat_trk_95 = zsdtab1_itab-dat_trk_95&lt;/P&gt;&lt;P&gt;                   dattrk_100 = zsdtab1_itab-dattrk_100&lt;/P&gt;&lt;P&gt;                   dattrk_105 = zsdtab1_itab-dattrk_105&lt;/P&gt;&lt;P&gt;                   dattrk_110 = zsdtab1_itab-dattrk_110&lt;/P&gt;&lt;P&gt;                   dattrk_115 = zsdtab1_itab-dattrk_115&lt;/P&gt;&lt;P&gt;                   dattrk_120 = zsdtab1_itab-dattrk_120&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------" /&gt;&lt;P&gt;                   pdt_tk_1 = zsdtab1_itab-pdt_tk_1&lt;/P&gt;&lt;P&gt;                   pdt_tk_5 = zsdtab1_itab-pdt_tk_5&lt;/P&gt;&lt;P&gt;                   pdt_tk_10 = zsdtab1_itab-pdt_tk_10&lt;/P&gt;&lt;P&gt;                   pdt_tk_15 = zsdtab1_itab-pdt_tk_15&lt;/P&gt;&lt;P&gt;                   pdt_tk_20 = zsdtab1_itab-pdt_tk_20&lt;/P&gt;&lt;P&gt;                   pdt_tk_25 = zsdtab1_itab-pdt_tk_25&lt;/P&gt;&lt;P&gt;                   pdt_tk_30 = zsdtab1_itab-pdt_tk_30&lt;/P&gt;&lt;P&gt;                   pdt_tk_35 = zsdtab1_itab-pdt_tk_35&lt;/P&gt;&lt;P&gt;                   pdt_tk_40 = zsdtab1_itab-pdt_tk_40&lt;/P&gt;&lt;P&gt;                   pdt_tk_45 = zsdtab1_itab-pdt_tk_45&lt;/P&gt;&lt;P&gt;                   pdt_tk_50 = zsdtab1_itab-pdt_tk_50&lt;/P&gt;&lt;P&gt;                   pdt_tk_55 = zsdtab1_itab-pdt_tk_55&lt;/P&gt;&lt;P&gt;                   pdt_tk_60 = zsdtab1_itab-pdt_tk_60&lt;/P&gt;&lt;P&gt;                   pdt_tk_65 = zsdtab1_itab-pdt_tk_65&lt;/P&gt;&lt;P&gt;                   pdt_tk_70 = zsdtab1_itab-pdt_tk_70&lt;/P&gt;&lt;P&gt;                   pdt_tk_75 = zsdtab1_itab-pdt_tk_75&lt;/P&gt;&lt;P&gt;                   pdt_tk_78 = zsdtab1_itab-pdt_tk_78&lt;/P&gt;&lt;P&gt;                   pdt_tk_79 = zsdtab1_itab-pdt_tk_79&lt;/P&gt;&lt;P&gt;                   pdt_tk_80 = zsdtab1_itab-pdt_tk_80&lt;/P&gt;&lt;P&gt;                   pdt_tk_85 = zsdtab1_itab-pdt_tk_85&lt;/P&gt;&lt;P&gt;                   pdt_tk_90 = zsdtab1_itab-pdt_tk_90&lt;/P&gt;&lt;P&gt;                   pdt_tk_95 = zsdtab1_itab-pdt_tk_95&lt;/P&gt;&lt;P&gt;                   pdt_tk_100 = zsdtab1_itab-pdt_tk_100&lt;/P&gt;&lt;P&gt;                   pdt_tk_105 = zsdtab1_itab-pdt_tk_105&lt;/P&gt;&lt;P&gt;                   pdt_tk_110 = zsdtab1_itab-pdt_tk_110&lt;/P&gt;&lt;P&gt;                   pdt_tk_115 = zsdtab1_itab-pdt_tk_115&lt;/P&gt;&lt;P&gt;                   pdt_tk_120 = zsdtab1_itab-pdt_tk_120&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------" /&gt;&lt;P&gt;                   cartype = zsdtab1_itab-cartype&lt;/P&gt;&lt;P&gt;                   zelcl = zsdtab1_itab-zelcl&lt;/P&gt;&lt;P&gt;                   excise_no = zsdtab1_itab-excise_no&lt;/P&gt;&lt;P&gt;where commno = zsdtab1_itab-commno .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   Update table .---------&amp;lt;&amp;lt;&amp;lt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;endif .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endloop .&lt;/P&gt;&lt;P&gt;perform update_excise_date .&lt;/P&gt;&lt;P&gt;perform update_post_goods_issue_date .&lt;/P&gt;&lt;P&gt;perform update_time.&lt;/P&gt;&lt;P&gt;*///////////////////// end of programe /////////////////////////////////&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------" /&gt;&lt;P&gt;Get sales data -&lt;/P&gt;&lt;HR originaltext="------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_sales_order using matnr .&lt;/P&gt;&lt;P&gt;  data : corr_vbeln like vbrk-vbeln .&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="6" type="ul"&gt;&lt;P&gt;ADDED BY ADITYA / 22.06.98 **************************************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;perform get_order using matnr .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select single vbeln lgort into (zsdtab1_itab-vbeln , zsdtab1_itab-lgort)&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            from vbap where matnr = matnr .   " C-22.06.98&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              from vbap where vbeln = zsdtab1_itab-vbeln .&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;************&lt;STRONG&gt;Get the Excise No from Allocation Field&lt;/STRONG&gt;*******************&lt;/P&gt;&lt;P&gt;    select single * from zsdtab1 where commno = matnr .&lt;/P&gt;&lt;P&gt;    if zsdtab1-excise_no =  '' .&lt;/P&gt;&lt;P&gt;      select * from vbrp where matnr = matnr .&lt;/P&gt;&lt;P&gt;        select single vbeln into corr_vbeln from vbrk where&lt;/P&gt;&lt;P&gt;        vbeln = vbrp-vbeln and vbtyp = 'M'.&lt;/P&gt;&lt;P&gt;        if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;          select single * from vbrk where vbtyp = 'N'&lt;/P&gt;&lt;P&gt;          and sfakn = corr_vbeln.      "cancelled doc.&lt;/P&gt;&lt;P&gt;          if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;            select single * from vbrk where vbeln = corr_vbeln.&lt;/P&gt;&lt;P&gt;            if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;              data : year(4) .&lt;/P&gt;&lt;P&gt;              move sy-datum+0(4) to year .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select single * from bkpf where awtyp = 'VBRK' and awkey = vbrk-vbeln&lt;/P&gt;&lt;P&gt;                                  and  bukrs = 'MBIL' and gjahr = year .&lt;/P&gt;&lt;P&gt;              if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;  select single * from bseg where bukrs = 'MBIL' and belnr = bkpf-belnr&lt;/P&gt;&lt;P&gt;                                   and gjahr = year and koart = 'D' and&lt;/P&gt;&lt;P&gt;                                                           shkzg = 'S' .&lt;/P&gt;&lt;P&gt;                zsdtab1_itab-excise_no = bseg-zuonr .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              endif .&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      endselect.&lt;/P&gt;&lt;P&gt;    endif .&lt;/P&gt;&lt;P&gt;    select single kunnr vkbur into (zsdtab1_itab-kunnr ,&lt;/P&gt;&lt;P&gt;            zsdtab1_itab-vkbur) from vbak&lt;/P&gt;&lt;P&gt;            where vbeln = zsdtab1_itab-vbeln .&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;      select single name1 ort01 regio into (zsdtab1_itab-customer ,&lt;/P&gt;&lt;P&gt;         zsdtab1_itab-city , zsdtab1_itab-region) from kna1&lt;/P&gt;&lt;P&gt;         where kunnr = zsdtab1_itab-kunnr .&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Get Ship to Party **************************************************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    select single * from vbpa where vbeln = zsdtab1_itab-vbeln and&lt;/P&gt;&lt;P&gt;                    parvw = 'WE' .&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;        zsdtab1_itab-ship_tp = vbpa-kunnr .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Get Destination Country of Ship to Party .************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        select single * from kna1 where kunnr = vbpa-kunnr .&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;           select single * from t005t where land1 = kna1-land1&lt;/P&gt;&lt;P&gt;                                   and spras = 'E' .&lt;/P&gt;&lt;P&gt;           if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;               zsdtab1_itab-country = t005t-landx .&lt;/P&gt;&lt;P&gt;           endif .&lt;/P&gt;&lt;P&gt;        endif .&lt;/P&gt;&lt;P&gt;    endif .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif .&lt;/P&gt;&lt;P&gt;endform.                               " GET_SALES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;form update_time.&lt;/P&gt;&lt;P&gt;  update zstatus set zupddate = sy-datum&lt;/P&gt;&lt;P&gt;                     uzeit = sy-uzeit&lt;/P&gt;&lt;P&gt;  where programm = 'ZSDDET01' .&lt;/P&gt;&lt;P&gt;endform.                               " UPDATE_TIME&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DATE_CONVERT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form date_convert using atflv changing date .&lt;/P&gt;&lt;P&gt;  data : dt(8) , dat type i .&lt;/P&gt;&lt;P&gt;  dat = atflv .&lt;/P&gt;&lt;P&gt;  dt = dat .&lt;/P&gt;&lt;P&gt;  date = dt .&lt;/P&gt;&lt;P&gt;endform.                               " DATE_CONVERT&lt;/P&gt;&lt;P&gt;*///////////////////////////////////////////////////////////////////////&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  UPDATE_POST_GOODS_ISSUE_DATE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form update_post_goods_issue_date .&lt;/P&gt;&lt;P&gt;  types : begin of itab1_type ,&lt;/P&gt;&lt;P&gt;            mblnr like mseg-mblnr ,&lt;/P&gt;&lt;P&gt;            budat like mkpf-budat ,&lt;/P&gt;&lt;P&gt;          end of itab1_type .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data : itab1 type itab1_type occurs 10 with header line .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at mara_itab .&lt;/P&gt;&lt;P&gt;    select single * from zsdtab1 where commno = mara_itab-matnr .&lt;/P&gt;&lt;P&gt;    if sy-subrc =  0  and zsdtab1-postdate =  '00000000' .&lt;/P&gt;&lt;P&gt;      refresh itab1 . clear itab1 .&lt;/P&gt;&lt;P&gt;    select * from mseg where matnr = mara_itab-matnr and bwart = '601' .&lt;/P&gt;&lt;P&gt;        itab1-mblnr = mseg-mblnr .&lt;/P&gt;&lt;P&gt;        append itab1 .&lt;/P&gt;&lt;P&gt;      endselect .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      loop at itab1 .&lt;/P&gt;&lt;P&gt;        select single * from mkpf where mblnr = itab1-mblnr .&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;          itab1-budat = mkpf-budat .&lt;/P&gt;&lt;P&gt;          modify itab1 .&lt;/P&gt;&lt;P&gt;        endif .&lt;/P&gt;&lt;P&gt;      endloop .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      sort itab1 by budat .&lt;/P&gt;&lt;P&gt;      read table itab1 index 1 .&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;        update zsdtab1 set postdate = itab1-budat&lt;/P&gt;&lt;P&gt;                     where commno = mara_itab-matnr .&lt;/P&gt;&lt;P&gt;      endif .&lt;/P&gt;&lt;P&gt;    endif .&lt;/P&gt;&lt;P&gt;  endloop .&lt;/P&gt;&lt;P&gt;endform.                               " UPDATE_POST_GOODS_ISSUE_DATE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  UPDATE_EXCISE_DATE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form update_excise_date.&lt;/P&gt;&lt;P&gt;  types : begin of itab2_type ,&lt;/P&gt;&lt;P&gt;            mblnr like mseg-mblnr ,&lt;/P&gt;&lt;P&gt;            budat like mkpf-budat ,&lt;/P&gt;&lt;P&gt;          end of itab2_type .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data : itab2 type itab2_type occurs 10 with header line .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at mara_itab .&lt;/P&gt;&lt;P&gt;    select single * from zsdtab1 where commno = mara_itab-matnr .&lt;/P&gt;&lt;P&gt;    if sy-subrc =  0  and zsdtab1-excise_dat  = '00000000' .&lt;/P&gt;&lt;P&gt;      refresh itab2 . clear itab2 .&lt;/P&gt;&lt;P&gt;      select * from mseg where matnr = mara_itab-matnr and&lt;/P&gt;&lt;P&gt;                              (  bwart = '601' or  bwart = '311' ) .&lt;/P&gt;&lt;P&gt;        itab2-mblnr = mseg-mblnr .&lt;/P&gt;&lt;P&gt;        append itab2 .&lt;/P&gt;&lt;P&gt;      endselect .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      loop at itab2 .&lt;/P&gt;&lt;P&gt;        select single * from mkpf where mblnr = itab2-mblnr .&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;          itab2-budat = mkpf-budat .&lt;/P&gt;&lt;P&gt;          modify itab2 .&lt;/P&gt;&lt;P&gt;        endif .&lt;/P&gt;&lt;P&gt;      endloop .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      sort itab2 by budat .&lt;/P&gt;&lt;P&gt;      read table itab2 index 1 .&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;        update zsdtab1 set excise_dat = itab2-budat&lt;/P&gt;&lt;P&gt;                     where commno = mara_itab-matnr .&lt;/P&gt;&lt;P&gt;      endif .&lt;/P&gt;&lt;P&gt;    endif .&lt;/P&gt;&lt;P&gt;  endloop .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                               " UPDATE_EXCISE_DATE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;form get_order using matnr .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types :  begin of itab_type ,&lt;/P&gt;&lt;P&gt;            vbeln like vbap-vbeln ,&lt;/P&gt;&lt;P&gt;            posnr like vbap-posnr ,&lt;/P&gt;&lt;P&gt;         end of itab_type .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : itab type itab_type occurs 10 with header line .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;refresh itab . clear itab .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select * from vbap where matnr = mara_itab-matnr .&lt;/P&gt;&lt;P&gt;   itab-vbeln = vbap-vbeln .&lt;/P&gt;&lt;P&gt;   itab-posnr = vbap-posnr .&lt;/P&gt;&lt;P&gt;   append itab .&lt;/P&gt;&lt;P&gt;endselect .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at itab .&lt;/P&gt;&lt;P&gt;  select single * from vbak where vbeln = itab-vbeln .&lt;/P&gt;&lt;P&gt;  if vbak-vbtyp &amp;lt;&amp;gt; 'C' .&lt;/P&gt;&lt;P&gt;    delete itab .&lt;/P&gt;&lt;P&gt;  endif .&lt;/P&gt;&lt;P&gt;endloop .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at itab .&lt;/P&gt;&lt;P&gt;select single * from vbfa where vbelv = itab-vbeln and&lt;/P&gt;&lt;P&gt;         posnv = itab-posnr and vbtyp_n = 'H' .&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;  delete itab .&lt;/P&gt;&lt;P&gt;endif .&lt;/P&gt;&lt;P&gt;endloop .&lt;/P&gt;&lt;P&gt;clear :  zsdtab1_itab-vbeln ,  zsdtab1_itab-bill_doc .&lt;/P&gt;&lt;P&gt;loop at itab .&lt;/P&gt;&lt;P&gt;  zsdtab1_itab-vbeln = itab-vbeln .&lt;/P&gt;&lt;P&gt;  select single * from vbfa where vbelv = itab-vbeln and&lt;/P&gt;&lt;P&gt;         posnv = itab-posnr and vbtyp_n = 'M' .&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;  zsdtab1_itab-bill_doc = vbfa-vbeln .&lt;/P&gt;&lt;P&gt;endif .&lt;/P&gt;&lt;P&gt;endloop .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform .&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_CARTYPE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_cartype using matnr .&lt;/P&gt;&lt;P&gt;select single * from mara where matnr = matnr .&lt;/P&gt;&lt;P&gt;zsdtab1_itab-cartype = mara-satnr .&lt;/P&gt;&lt;P&gt;endform.                    " GET_CARTYPE&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Oct 2008 07:32:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574452#M1079358</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-07T07:32:37Z</dc:date>
    </item>
    <item>
      <title>Re: Report program Performance problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574453#M1079359</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Do a Runtime Analysis Check using &lt;STRONG&gt;SE30&lt;/STRONG&gt; and find out which part of the program is taking more time to execute.&lt;/P&gt;&lt;P&gt;I could see a lot of select single statements inside loop-endloop in your code. Try to write a collective select statement out of the loops and get the data into an internal table . &lt;/P&gt;&lt;P&gt;The &lt;STRONG&gt;Tips and Tricks&lt;/STRONG&gt; Button in &lt;STRONG&gt;SE30&lt;/STRONG&gt; will help you understand the performance optimization.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Oct 2008 07:38:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574453#M1079359</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-07T07:38:08Z</dc:date>
    </item>
    <item>
      <title>Re: Report program Performance problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574454#M1079360</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;you must run a SE30 Trace with it &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;... but 30hours can not be traced in high accurcy, because the largest number of the&lt;/P&gt;&lt;P&gt;time field is about 4.000.000.000 microsec.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Either reduce accuracy, milliseconds should be o.k.&lt;/P&gt;&lt;P&gt;or reduce load, for testing a smaller portion should work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To find bottlenecks, you must know which tables will be large and which will not be large.&lt;/P&gt;&lt;P&gt;Looking at the coding alone in not very useful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Siegfried&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Oct 2008 08:33:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574454#M1079360</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-07T08:33:36Z</dc:date>
    </item>
    <item>
      <title>Re: Report program Performance problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574455#M1079361</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Avoid using nested select statements, use for all entries. Do not use internal table with header, instead use standard ITAB with work-area. Also check if all the tables used in Select are transparent table, cluster table takes more time to load. Also avoid using select *. Instead of using select single, use upto 1 row. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Prashant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Prashant Kumar Upadhyay on Oct 7, 2008 12:20 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Oct 2008 10:19:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574455#M1079361</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-07T10:19:15Z</dc:date>
    </item>
    <item>
      <title>Re: Report program Performance problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574456#M1079362</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use the Tcode SCI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Brgds&lt;/P&gt;&lt;P&gt;Julien&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Oct 2008 11:53:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574456#M1079362</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-07T11:53:14Z</dc:date>
    </item>
    <item>
      <title>Re: Report program Performance problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574457#M1079363</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It took ten years to see there was a problem?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Look at this portion of the code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;select * from vbrp where matnr = matnr .&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is no index on MATNR in VBRP and I believe this is called in a loop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Oct 2008 13:15:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574457#M1079363</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-07T13:15:40Z</dc:date>
    </item>
    <item>
      <title>Re: Report program Performance problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574458#M1079364</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here is another similar one:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;select * from vbap where matnr = mara_itab-matnr.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'd say there is several major and many minor glitches in this code. It should be re-designed completely, but not via SDN...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thomas&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN __default_attr="red" __jive_macro_name="color"&gt;P.S. hint for you and others posting huge chunks of code...please put it inside  tags!&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Oct 2008 14:01:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574458#M1079364</guid>
      <dc:creator>ThomasZloch</dc:creator>
      <dc:date>2008-10-07T14:01:25Z</dc:date>
    </item>
    <item>
      <title>Re: Report program Performance problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574459#M1079365</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Rob,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   I know including this statement and some other statements are also having issues. Can you tell me what can be a solution??&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Oct 2008 04:30:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574459#M1079365</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-08T04:30:24Z</dc:date>
    </item>
    <item>
      <title>Re: Report program Performance problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574460#M1079366</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Thomas,&lt;/P&gt;&lt;P&gt; I agreed with you there is lot of problem in that code it should be re-designed completely but Clint wants to modify to the same program. What to do?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Oct 2008 04:31:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574460#M1079366</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-08T04:31:52Z</dc:date>
    </item>
    <item>
      <title>Re: Report program Performance problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574461#M1079367</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Do what was suggested already: run an SE30 runtime analysis with a small selection, sort by "net time" descending, and tackle the problems top down, worst one first. You can come back here with single ABAP statements, if you're unsure about how to fix them. But do search first, there is an abundance of existing solutions available.&lt;/P&gt;&lt;P&gt;Thomas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Oct 2008 07:06:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574461#M1079367</guid>
      <dc:creator>ThomasZloch</dc:creator>
      <dc:date>2008-10-08T07:06:32Z</dc:date>
    </item>
    <item>
      <title>Re: Report program Performance problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574462#M1079368</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Boss,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  A lot of performance issues is there ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;first  You try to avoid Select *&lt;/P&gt;&lt;P&gt;second in the loop he written select statement , that is a big performance issue. You suppose to remove that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Third is while he writing the Read statment he doesn't maintain &lt;/P&gt;&lt;P&gt;the BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do this first and let me know incase of any issues.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With Regards,&lt;/P&gt;&lt;P&gt;Narasimha Rao,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Oct 2008 09:31:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574462#M1079368</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-08T09:31:51Z</dc:date>
    </item>
    <item>
      <title>Re: Report program Performance problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574463#M1079369</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i checked your prg.i suggest two points&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1.use INTO TABLE clause insteed of SELECT-ENDSELECT.&lt;/P&gt;&lt;P&gt;2.Most of the SELECT is not using INDEX. Try to use index in SELECT or create index for existing SELECT.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Oct 2008 12:22:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574463#M1079369</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-08T12:22:11Z</dc:date>
    </item>
    <item>
      <title>Re: Report program Performance problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574464#M1079370</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have analysed your program and i would like to share following points for better performance of this report :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(a)  Use the field Names instead of Select * or Select Single * as if you use the field names it will consume less amount of resources inside the loop as well as you have lot many Select Single * and u r using very big tables like VBAP and many more.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(b) Trace on ST05 which particular query is mostly effecting your system or use ST12 in current mode to trace for less inputs which run the report for 20-30 min so that we get an idea which queries are effecting the system and taking a lot of time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(c) In Case of internal tables sort the data properly and use binary search for getting the data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think this will help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards,&lt;/P&gt;&lt;P&gt;Harsh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Oct 2008 09:46:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-program-performance-problem/m-p/4574464#M1079370</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-10T09:46:28Z</dc:date>
    </item>
  </channel>
</rss>

