Size of production server.......

Hi,
I have to create onr production server.
There are 40-50 users working on it,
so how can i calculate size of production server.
Give me requirement of production server
Thanks in advance

You can use Portal Quick Sizer tool to determine size. There are lot of factors to be considered.
https://websmp105.sap-ag.de/quicksizer
40-5o Concurrent users ?
Regards,
Piyush
ps: please award points if useful.

Similar Messages

  • Error in DB13 in SRM Production Server

    Dear All,
    We are getting error while taking ONLINE+LOGS backup in our SRM's Production Server.  Enclosed are the BRBACKUP Log for your review. Please let us know the solution.
    BR0204I Percentage done: 95.51%, estimated end time: 18:25
    BR0001I ************************************************__
    BR0280I BRBACKUP time stamp: 2010-08-06 18.18.34
    BR0317I 'Alter tablespace PSAPPRSUSR end backup' successful
    BR0280I BRBACKUP time stamp: 2010-08-06 18.18.34
    BR0315I 'Alter tablespace PSAPUNDO begin backup' successful
    BR0202I Saving /oracle/PRS/sapdata1/undo_1/undo.data1
    BR0203I to /dev/rmt/0mn ...
    BR0278E Command output of 'LANG=C dd obs=64k bs=64k if=/oracle/PRS/sapdata1/undo_1/undo.data1 of=/dev/rmt/0mn':
    111582+0 records in
    111581+1 records out
    I/O error
    BR0280I BRBACKUP time stamp: 2010-08-06 18.22.25
    BR0279E Return code from 'LANG=C dd obs=64k bs=64k if=/oracle/PRS/sapdata1/undo_1/undo.data1 of=/dev/rmt/0mn': 2
    BR0222E Copying /oracle/PRS/sapdata1/undo_1/undo.data1 to/from /dev/rmt/0mn failed due to previous errors
    BR0280I BRBACKUP time stamp: 2010-08-06 18.22.27
    BR0317I 'Alter tablespace PSAPUNDO end backup' successful
    BR0056I End of database backup: bedvkoyj.ant 2010-08-06 18.22.25
    BR0280I BRBACKUP time stamp: 2010-08-06 18.22.27
    BR0054I BRBACKUP terminated with errors
    Thanks
    Rhishabh

    Hello,
    since this happens at the very end of your backup, it is likely,
    that you are hitting the end of the tape.
    What is the size of your DB and to what media do you backup.
    To have at least something you can work with, insert a new tape
    and continue the backup with option "-f"
    brbackup ... -f ...
    This will "fillup" that last backup run and backup all files that have not been backed up
    in the previous run. With both set's of tape you'll have at least something you can
    work with, when things go bad. Take extreme care for your redologs.
    Volker

  • ESS Leave request screen giving a critical Error in production server

    Friends,
    We are in a critical face of ESS implemetation.
    We are doing an ESS MSS implementation for country grouping 99.
    When we moved our changes to production server after succesful testing in quality, getting the following Critical error for Leave Request Screen.
    java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
         at java.util.ArrayList.RangeCheck(ArrayList.java:512)
         at java.util.ArrayList.get(ArrayList.java:329)
         at com.sap.aii.proxy.framework.core.JcoBaseList.get(JcoBaseList.java:272)
         at com.sap.aii.proxy.framework.core.AbstractList.get(AbstractList.java:230)
         at com.sap.tc.webdynpro.modelimpl.dynamicrfc.DynamicRFCList.get(DynamicRFCList.java:281)
         at com.sap.tc.webdynpro.progmodel.context.Node$ModelElementList.getElement(Node.java:2543)
         at com.sap.tc.webdynpro.progmodel.context.Node.getElementAtInternal(Node.java:621)
    Other areas like personal Info & who is who are working fine.
    Leave request was working fine in Development and Quality servers and it never worked in Production server.
    It worked fine with same config, with same master data and same employee & org structure in quality server.
    We tried the following things:
    1. Checked and confirmed the sequence of transports for configs and Developments to Quality and Production.
    Even compared the table level entries and ABAP codings B/n dev and Production. All are same.
    2. Moved the workflow changes to production and activated the same. No change found after that.
    3. Gave SAP all authorization in R/3 and full authorization from portal side as well.
    4. Assigned the userid to different employees and checked the masterdata of employees.
    5. Checked the note 1388426.Every thing mentioned in the note is there in the system.
    6. Verified Rule groups and WEBMO feature are correct and same as in quality.
    As our go live date is very near, request your help .Thanks in advance for your help.
    Regards,

    Customisation of Leave request is mising in your system, please check the rule group using PTARQ.

  • Spool file not being generated in production server

    Hello
    Our end users are using automatic payment program F110 to print multiple cheques.
    The settings in SPAD are identical in Quality and Production Server,but some how
    spool file is not being generated in production.
    Test printing is fine in Quality server.
    Printer being used is Epson LQ 300.Device type is EPESCP2.
    We are using z custom page size ,and it is assigned to printer device Type as well
    Would be very great if some can can comment on which settings to check,as SPAD setting is
    same in both server ,yet no spool.Very Very urgent.
    Iam not sure ,whose domain is it now-BASIS or ABAP.
    Thanks a lot
    Nouman

    If there is a problem with the spool, the variant that is being in F110 parameters.
    As you are saying the quality system is working fine, please compare both the variants in Production and Quality systems.
    This should solve your situation.

  • How to calculate the HFM Cube size in SQL Server-2005

    Hi
    How to calculate the HFM Cube size in SQL Server-2005 ?
    Below query used for Oracle. Then what is query for SQL Server?
    SQL> select sum(bytes/1024/1024) from dba_segments where segment_name like 'FINANCIAL_%' and owner='HFM';
    SUM(BYTES/1024/1024)
    SQL> select sum(bytes/1024/1024) from dba_segments where segment_name like 'HSV FINANCIAL%' and owner='HFM';
    SUM(BYTES/1024/1024)
    Regards
    Smilee

    What is your objective? The subcube in HFM is a concept which applies to the application tier - not so much to the database tier. The size of the subcube is the unique number of data strips (data values for January - December inclusive, for example) for the given entity, currency triplet or Parent.Child node. You have to account for parent accounts and customs which don't exist in the database but are generated in RAM in the application tier.
    So, if your objective is to find the largest subcubes, you could do this by querying the database and counting the number of records per entity/value (DCE tables) or parent.child entity combination (DCN tables). I'm not versed in SQL, but I think the script below would just tell you the schema size and not the subcube sizes.
    Check out Accelatis.com for a third party software product that can do this for you. The feature is called the Subcube Analyzer and was written by the same team that wrote HFM, so they ought to know how this works :-)
    --chris                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Production server down with corruption error

    Hi All,
    OS : Solaris 10
    Database : 10.2.0.3.0
    Our production server down out of sudden.Below are the errors :
    ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode
    ORA-01122: database file 1089 failed verification check
    ORA-01110: data file 1089: '+DGVICTORIA/dixie/datafile/undotbs2.1222.702393987'
    ORA-01200: actual file size of 2580481 is smaller than correct size of 3932160 blocks
    My database is in No Archive log mode.
    Size of the database is more than 1 TB.
    Please help me to bring the database up.
    Thanks ,
    Vipin

    Hi Chinar,
    Yes this is true that no archiving is very dangerous. But because of space crunch we thought for no archiving.
    Here are the more alerts :
    Tue Jun 15 23:39:44 2010
    Errors in file /software/oracle/admin/dixie/bdump/dixie1_ckpt_12076.trc:
    ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode
    ORA-01122: database file 1089 failed verification check
    ORA-01110: data file 1089: '+DGVICTORIA/dixie/datafile/undotbs2.1222.702393987'
    ORA-01200: actual file size of 2580481 is smaller than correct size of 3932160 blocks
    Tue Jun 15 23:39:44 2010
    Errors in file /software/oracle/admin/dixie/bdump/dixie1_ckpt_12076.trc:
    ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode
    ORA-01122: database file 1089 failed verification check
    ORA-01110: data file 1089: '+DGVICTORIA/dixie/datafile/undotbs2.1222.702393987'
    ORA-01200: actual file size of 2580481 is smaller than correct size of 3932160 blocks
    Tue Jun 15 23:39:44 2010
    CKPT: terminating instance due to error 1242
    Tue Jun 15 23:39:44 2010
    System state dump is made for local instance
    System State dumped to trace file /software/oracle/admin/dixie/bdump/dixie1_diag_12015.trc
    Tue Jun 15 23:39:47 2010
    Trace dumping is performing id=[cdmp_20100615233944]
    Tue Jun 15 23:39:49 2010
    Instance terminated by CKPT, pid = 12076
    Wed Jun 16 09:16:39 2010
    Starting ORACLE instance (normal)
    LICENSE_MAX_SESSION = 0
    LICENSE_SESSIONS_WARNING = 0
    Interface type 1 e1000g3 192.168.10.0 configured from OCR for use as a cluster interconnect
    Interface type 1 e1000g0 10.192.252.0 configured from OCR for use as a public interface
    Picked latch-free SCN scheme 3
    Using LOG_ARCHIVE_DEST_10 parameter default value as USE_DB_RECOVERY_FILE_DEST
    WARNING: db_recovery_file_dest is same as db_create_file_dest
    Autotune of undo retention is turned on.

  • Metastat problem in Production server

    Dear frinds,
    This is the result of metastat in Production server and system has rebooted.
    d50: Mirror
    Submirror 0: d52
    State: Okay
    Submirror 1: d51
    State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 41945472 blocks (20 GB)
    d52: Submirror of d50
    State: Okay
    Size: 41945472 blocks (20 GB)
    Stripe 0:
    Device Start Block Dbase State Reloc Hot Spare
    c0t1d0s6 0 No Okay Yes
    d51: Submirror of d50
    State: Okay
    Size: 41945472 blocks (20 GB)
    Stripe 0:
    Device Start Block Dbase State Reloc Hot Spare
    c0t0d0s6 0 No Okay Yes
    d40: Mirror
    Submirror 0: d42
    State: Okay
    Submirror 1: d41
    State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 12587712 blocks (6.0 GB)
    d42: Submirror of d40
    State: Okay
    Size: 12587712 blocks (6.0 GB)
    Stripe 0:
    Device Start Block Dbase State Reloc Hot Spare
    c0t1d0s5 0 No Okay Yes
    d41: Submirror of d40
    State: Okay
    Size: 12587712 blocks (6.0 GB)
    Stripe 0:
    Device Start Block Dbase State Reloc Hot Spare
    c0t0d0s5 0 No Okay Yes
    d30: Mirror
    Submirror 0: d32
    State: Okay
    Submirror 1: d31
    State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 41945472 blocks (20 GB)
    d32: Submirror of d30
    State: Okay
    Size: 41945472 blocks (20 GB)
    Stripe 0:
    Device Start Block Dbase State Reloc Hot Spare
    c0t1d0s3 0 No Okay Yes
    d31: Submirror of d30
    State: Okay
    Size: 41945472 blocks (20 GB)
    Stripe 0:
    Device Start Block Dbase State Reloc Hot Spare
    c0t0d0s3 0 No Okay Yes
    d20: Mirror
    Submirror 0: d22
    State: Okay
    Submirror 1: d21
    State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 16780224 blocks (8.0 GB)
    d22: Submirror of d20
    State: Okay
    Size: 16780224 blocks (8.0 GB)
    Stripe 0:
    Device Start Block Dbase State Reloc Hot Spare
    c0t1d0s1 0 No Okay Yes
    d21: Submirror of d20
    State: Okay
    Size: 16780224 blocks (8.0 GB)
    Stripe 0:
    Device Start Block Dbase State Reloc Hot Spare
    c0t0d0s1 0 No Okay Yes
    d10: Mirror
    Submirror 0: d12
    State: Needs maintenance
    Submirror 1: d11
    State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 20972736 blocks (10 GB)
    d12: Submirror of d10
    *State: Needs maintenance
    Invoke: metareplace d10 c0t1d0s0 <new device>
    Size: 20972736 blocks (10 GB)
    Stripe 0:
    Device Start Block Dbase State Reloc Hot Spare
    c0t1d0s0 0 No Maintenance Yes
    d11: Submirror of d10
    State: Okay
    Size: 20972736 blocks (10 GB)
    Stripe 0:
    Device Start Block Dbase State Reloc Hot Spare
    c0t0d0s0 0 No Okay Yes
    How can i resolve the D10 and D12 status plesae help me.
    Thank you!

    to sync again, execute
    metareplace -e d10 /dev/dsk/d12

  • Unable to Extend the Tablespace in BW Production Server

    Hello Gurus,
    I am unable to extend the tablespace - PSAPODSD in our BW production server.
    While extending it throws this error
    BR1052E File odsd.data53 is already used by the database - this can cause problems in backups
    I am attaching the log for your reference
    Options for extension of tablespace PSAPODSD (1. file)
    1 * Last added file name (lastfile) ....... [/oracle/PBW/sapdata3/odsd_52/odsd.data52]
    2 * Last added file size in MB (lastsize) . [2000]
    3 - New file to be added (file) ........... [/oracle/PBW/sapdata2/odsd_53/odsd.data53]
    4 ~ Raw disk / link target (rawlink) ...... []
    5 - Size of the new file in MB (size) ..... [2000]
    6 - File autoextend mode (autoextend) ..... [no]
    7 # Maximum file size in MB (maxsize) ..... []
    8 # File increment size in MB (incrsize) .. []
    9 - SQL command (command) ................. [alter tablespace PSAPODSD add datafile '/oracle/PBW/sapdata2/odsd_53/odsd.data53' size 2000M autoextend off]
    Standard keys: c - cont, b - back, s - stop, r - refr, h - help
    BR0662I Enter your choice:
    BR0280I BRSPACE time stamp: 2009-05-04 07.32.04
    BR0663I Your choice: 'c'
    BR0259I Program execution will be continued...
    BR1052E File odsd.data53 is already used by the database - this can cause problems in backups
    BR0669I Cannot continue due to previous warnings or errors - you can go back to repeat the last action
    BR0280I BRSPACE time stamp: 2009-05-04 07.32.04
    BR0671I Enter 'b[ack]' to go back, 's[top]' to abort:
    BR0280I BRSPACE time stamp: 2009-05-04 07.32.10
    BR0257I Your reply: 'b'
    BR0673I Going back to the previous menu...
    Please guide us to resolve this issue .
    Imp - backup is completed successfully, I checked through sqlplus V$backup there is no active files
    Thanks & Regards
    Shishir

    Hi,
    login as ora<SID> and run this
    sqlplus "/as sysdba"
    sql> select FILE_NAME from dba_data_files where TABLESPACE_NAME='PSAPODSD';
    This will show the list of the files located at os level and check whether the "odsd.data53" is present in which sapdata*. If this exist then add a new datafile.
    Thanks
    Arun

  • Want to Free Up DataBase Size in BI Server

    Dear Experts,
    In our BI Production Server there is a less DB size remaining, so we would like to free up some DB Size. For this we have deleted un wanted data (Say before 15 days data) from PSA now around 30 GB is freed up.
    I would like to know any other chances of making some more free space in Database.
    Any clues or Ideas are appreciable.
    Regards,
    Sai Phani.
    Edited by: Sai Phani on Jan 12, 2010 11:02 AM

    Hi,
    1.Delete the PSA data
    2.Delete Change logs if not required.
       http://help.sap.com/saphelp_nw2004s/helpdata/en/6d/1fd53be617d524e10000000a11402f/content.htm
    3. Delete any Full loads data, i.e if you loading full loads daily to DSO, the data will be same but it is growing. So delete all data
        in DSO every day and load again i.e. Full only.
    4. If old data is tehre then arcive it.
    5. Remove any Temp/Testing loads Cubes/DSO's , if you have.
    6. Compress Cubes.
    Thanks
    Reddy

  • Cannot see Business Objects Repository in SAP production server from Worskpace - SMP 2.3

    Hi all,
    I have problems with reading RFC from production server, because BOR isn't visible at all in Mobile Workspace. Maybe I do something wrong so let me explain what am trying to accomplish. I need to make applications work on production server. Until now they worked and were tested on development server. Applications are native Android with MBO (SMP 2.3.3). So my guess is that I need to transport RFC functions from development to production, which I did, then to make new connection to production server in workspace and generate MBOs and code from them that will finally replace the old MBO code in Android application. If that is the procedure, then the only problem is that I can't see those RFC in production. My user have sap all privileges and in them S_RFC authorization object so I guess authorization isn't the problem. I also tried to switch the language in workspace connection because last time (on development) that was the problem. Any idea somebody?

    Well there is only one mobile server. I don't know exactly how they (client) think it will work but when I say production server I refer to SAP EIS production server.
    Anyway the solution to the problem with BOR visibility is this note:
    Note 706195 - BAPIs are missing in the component hierarchy display
    Thanks Midhun! I will probably have more questions..

  • Need help in writinf a stop script for a production server

    can somebody help me with a stop script which stops a jrun
    production server.
    jrun -stop production
    this command should work but how do i use this in a script .
    Thanks

    Hi,
    I highly recommend that you skip VBScript and learn PowerShell instead. This is pretty trivial in PowerShell:
    If ($env:COMPUTERNAME.Length -le 15) {
    # Do stuff
    # HINT: Look into Start-Service
    Write-Host "Under limit: $env:COMPUTERNAME"
    } Else {
    # Do optional stuff
    Write-Host "Over limit: $env:COMPUTERNAME"
    (OT: jrv - happy? =])
    If you must stick with VBScript for some odd reason, here's an example to get you started:
    Set wshNetwork = WScript.CreateObject( "WScript.Network" )
    strComputerName = wshNetwork.ComputerName
    If Len(strComputerName) <= 15 Then
    'Do stuff here when the name is short enough
    WScript.Echo "Under limit: " & strComputerName
    Else
    'Do stuff here when the name is too long (only if you want to)
    WScript.Echo "Over limit: " & strComputerName
    End If
    http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/services/
    Don't retire TechNet! -
    (Don't give up yet - 12,830+ strong and growing)

  • LOGO IS NOT COMING IN SCRIPT IN PRODUCTION SERVER ONLY

    Dear all,
       i had  modify a std script for payment advice for FI module. my problem is that the company logo is not coming in form after execting it from tcode f-58 in production server only.
    i checked that graphics object in se78 in prod.sever , it is present there. the thing is that the logo is coming in the form when i executing it from development sever. can any body tell where is the problem.
    thanks
    Banaja

    Hi,
    May be you have changed the form in DEV and in PRD your print program is still calling the std form and not the new (z-form).
    Might be a good idea to check that in t-code NACE !
    Let us know if this solves your problem.
    Regards
    Hrishi

  • Why This Report Not Working in Production Server But in Development Server

    I just need your help in solving one issue. There is one report which is working fine in development server but it is not getting executed in production server.
    Although the code is same in both the server. Could you please guide me in locating the problem. I am attaching that report with this mail. Please do the needful help.
    TABLES : a363,
             mara,
             marc,
             makt,
             ekko,
             ekpo,
             mkpf,
             mseg,
             konp,
             konh.
    SELECTION-SCREEN
    SELECTION-SCREEN   :   BEGIN OF BLOCK cst WITH FRAME TITLE text-001.
    SELECT-OPTIONS :   s_matnr FOR mara-matnr,                            "Material Number
                       s_lifnr FOR ekko-lifnr,                            "Account Number of the Vendor
                       s_bedat FOR ekko-bedat,                            "Purchasing Document Date
                       s_kschl FOR konh-kschl OBLIGATORY NO INTERVALS,    "Condition type
                       s_bwart FOR mseg-bwart OBLIGATORY NO INTERVALS.    "Movement Type (Inventory Management)
    PARAMETERS     :   p_werks LIKE marc-werks OBLIGATORY.                "Plant
    SELECTION-SCREEN   :   END OF BLOCK cst.
    INCLUDES
    INCLUDE zalv_data.
    DATA - INTERNAL TABLES AND FIELD LISTS
    DATA :  BEGIN    OF     a363_itab  OCCURS 0,
            matnr    LIKE   a363-matnr,                    "Material Number
            lifnr    LIKE   a363-lifnr,                    "Account Number of the Vendor
            werks    LIKE   a363-werks,                    "Plant
            kschl    LIKE   a363-kschl,                    "Condition type
            knumh    LIKE   a363-knumh,                    "Condition record number
            kbetr    LIKE   konp-kbetr,                    "Rate (condition amount or percentage) where no scale exists
            END      OF     a363_itab.
    DATA :  BEGIN    OF     konp_itab  OCCURS 0,
            knumh    LIKE   a363-knumh,                    "Condition record number
            kbetr    LIKE   konp-kbetr,                    "Rate (condition amount or percentage) where no scale exists
            lifnr    LIKE   a363-lifnr,                    "Account Number of the Vendor
            END      OF     konp_itab.
    DATA :  BEGIN    OF     ekko_itab  OCCURS 0,
            ebeln    LIKE   ekko-ebeln,                    "Purchasing Document Number
            lifnr    LIKE   ekko-lifnr,                    "Account Number of the Vendor
            bedat    LIKE   ekko-bedat,                    "Purchasing Document Date
            END      OF     ekko_itab.
    DATA :  BEGIN    OF     ekpo_itab  OCCURS 0,
            ebeln    LIKE   ekpo-ebeln,                    "Purchasing Document Number
            ebelp    LIKE   ekpo-ebelp,                    "Item Number of Purchasing Document
            matnr    LIKE   ekpo-matnr,                    "Material Number
            werks    LIKE   ekpo-werks,                    "Plant
            menge    LIKE   ekpo-menge,                    "Purchase order quantity
            END      OF     ekpo_itab.
    DATA :  BEGIN    OF     v_po_det  OCCURS 0,            "VENDOR + PLANT + PO DEATILS
            lifnr    LIKE   ekko-lifnr,                    "Account Number of the Vendor
            ebeln    LIKE   ekko-ebeln,                    "Purchasing Document Number
            ebelp    LIKE   ekpo-ebelp,                    "Item Number of Purchasing Document
            bedat    LIKE   ekko-bedat,                    "Purchasing Document Date
            matnr    LIKE   ekpo-matnr,                    "Material Number
            werks    LIKE   ekpo-werks,                    "Plant
            menge    LIKE   ekpo-menge,                    "Purchase order quantity
            kbetr    LIKE   konp-kbetr,                    "Rate (condition amount or percentage) where no scale exists
            END      OF     v_po_det.
    DATA :  BEGIN    OF     mseg_itab  OCCURS 0,
            mblnr    LIKE   mseg-mblnr,                    "Number of Material Document
            ebeln    LIKE   mseg-ebeln,                    "Purchasing Document Number
            ebelp    LIKE   mseg-ebelp,                    "Item Number of Purchasing Document
            matnr    LIKE   mseg-matnr,                    "Material Number
            lifnr    LIKE   mseg-lifnr,                    "Account Number of the Vendor
            werks    LIKE   mseg-werks,                    "Plant
            menge    LIKE   mseg-menge,                    "Quantity
            dmbtr    LIKE   mseg-dmbtr,                    "Amount in local currency
            bwart    LIKE   mseg-bwart,                    "Movement Type (Inventory Management)
            END      OF     mseg_itab.
    DATA :  BEGIN    OF     mkpf_itab  OCCURS 0,
            mblnr    LIKE   mkpf-mblnr,                    "Number of Material Document
            bldat    LIKE   mkpf-bldat,                    "Document Date in Document
            END      OF     mkpf_itab.
    DATA :  BEGIN    OF     zeou_pcrdtl_itab  OCCURS 0,
            matnr    LIKE   zeou_pcrdtl-matnr,             "Material Number
            lifnr    LIKE   zeou_pcrdtl-lifnr,             "Account Number of the Vendor
            mblnr    LIKE   zeou_pcrdtl-mblnr,             "Number of Material Document
            whssn    LIKE   zeou_pcrdtl-whssn,             "Warehouse Records Entry Serial No.
            whsdt    LIKE   zeou_pcrdtl-whsdt,             "Warehouse Records Entry date
            END      OF     zeou_pcrdtl_itab.
    DATA :  BEGIN    OF     gr_wh_info  OCCURS 0,          "INFO OF GR & WH BASED ON MVMT TYPE & PO
            mblnr    LIKE   mseg-mblnr,                    "Number of Material Document
            bldat    LIKE   mkpf-bldat,                    "Document Date in Document
            ebeln    LIKE   mseg-ebeln,                    "Purchasing Document Number
            ebelp    LIKE   ekpo-ebelp,                    "Item Number of Purchasing Document
            matnr    LIKE   mseg-matnr,                    "Material Number
            lifnr    LIKE   mseg-lifnr,                    "Account Number of the Vendor
            werks    LIKE   mseg-werks,                    "Plant
            menge    LIKE   mseg-menge,                    "Quantity
            dmbtr    LIKE   mseg-dmbtr,                    "Amount in local currency
            bwart    LIKE   mseg-bwart,                    "Movement Type (Inventory Management)
            whssn    LIKE   zeou_pcrdtl-whssn,             "Warehouse Records Entry Serial No.
            whsdt    LIKE   zeou_pcrdtl-whsdt,             "Warehouse Records Entry date
            END      OF     gr_wh_info.
    DATA :  BEGIN    OF     bseg_itab  OCCURS 0,
            ebeln    LIKE   bseg-ebeln,                    "Purchasing Document Number
            ebelp    LIKE   bseg-ebelp,                    "Item Number of Purchasing Document
            matnr    LIKE   bseg-matnr,                    "Material Number
            lifnr    LIKE   bseg-lifnr,                    "Account Number of the Vendor
            werks    LIKE   bseg-werks,                    "Plant
            buzid    LIKE   bseg-buzid,                    "Identification of the Line Item
            bschl    LIKE   bseg-bschl,                    "Posting Key
            wrbtr    LIKE   bseg-wrbtr,                    "Amount in document currency
            bukrs    LIKE   bseg-bukrs,                    "Company Code
            belnr    LIKE   bseg-belnr,                    "Accounting Document Number
            gjahr    LIKE   bseg-gjahr,                    "Fiscal Year
            END      OF     bseg_itab.
    DATA :  BEGIN    OF     bkpf_itab  OCCURS 0,
            bukrs    LIKE   bkpf-bukrs,                    "Company Code
            belnr    LIKE   bkpf-belnr,                    "Accounting Document Number
            gjahr    LIKE   bkpf-gjahr,                    "Fiscal Year
            xblnr    LIKE   bkpf-xblnr,                    "Reference Document Number
            bldat    LIKE   bkpf-bldat,                    "Document Date in Document
            END      OF     bkpf_itab.
    DATA :  BEGIN    OF     vend_inv  OCCURS 0,            "VENDOR INVOICE DETAILS
            ebeln    LIKE   bseg-ebeln,                    "Purchasing Document Number
            ebelp    LIKE   bseg-ebelp,                    "Item Number of Purchasing Document
            matnr    LIKE   bseg-matnr,                    "Material Number
            lifnr    LIKE   bseg-lifnr,                    "Account Number of the Vendor
            werks    LIKE   bseg-werks,                    "Plant
            buzid    LIKE   bseg-buzid,                    "Identification of the Line Item
            bschl    LIKE   bseg-bschl,                    "Posting Key
            wrbtr    LIKE   bseg-wrbtr,                    "Amount in document currency
            bukrs    LIKE   bseg-bukrs,                    "Company Code
            belnr    LIKE   bseg-belnr,                    "Accounting Document Number
            gjahr    LIKE   bseg-gjahr,                    "Fiscal Year
            xblnr    LIKE   bkpf-xblnr,                    "Reference Document Number
            bldat    LIKE   bkpf-bldat,                    "Document Date in Document
            END      OF     vend_inv.
    DATA :  BEGIN    OF     chckinit  OCCURS 0,            "CHEQUE INIT INFO
            ebeln    LIKE   bseg-ebeln,                    "Purchasing Document Number
            ebelp    LIKE   bseg-ebelp,                    "Item Number of Purchasing Document
            matnr    LIKE   bseg-matnr,                    "Material Number
            lifnr    LIKE   bseg-lifnr,                    "Account Number of the Vendor
            werks    LIKE   bseg-werks,                    "Plant
            buzid    LIKE   bseg-buzid,                    "Identification of the Line Item
            bschl    LIKE   bseg-bschl,                    "Posting Key
            bukrs    LIKE   bkpf-bukrs,                    "Company Code
            belnr    LIKE   bkpf-belnr,                    "Accounting Document Number
            gjahr    LIKE   bkpf-gjahr,                    "Fiscal Year
            koart    LIKE   bseg-koart,                    "Account type
            augbl    LIKE   bseg-augbl,                    "Document Number of the Clearing Document
            END      OF     chckinit.
    DATA :  BEGIN    OF     chckpayer  OCCURS 0,           "CHEQUE BANK DETAILS
            vblnr    LIKE   payr-vblnr,                    "Document Number of the Payment Document
            zbukr    LIKE   payr-zbukr,                    "Paying company code
            gjahr    LIKE   payr-gjahr,                    "Fiscal Year
            chect    LIKE   payr-chect,                    "Check Number
            zaldt    LIKE   payr-zaldt,                    "Probable Payment Date (Cash Discount 1 Due)
            hbkid    LIKE   payr-hbkid,                    "Short key for a house bank
            END      OF     chckpayer.
    DATA :  chckpayer_u LIKE chckpayer OCCURS 0 WITH HEADER LINE.      "UNIQUE CHEQUE DETAILS
    DATA :  BEGIN    OF     chckfinal  OCCURS 0,           "CHEQUE FINAL INFO
            ebeln    LIKE   bseg-ebeln,                    "Purchasing Document Number
            ebelp    LIKE   bseg-ebelp,                    "Item Number of Purchasing Document
            matnr    LIKE   bseg-matnr,                    "Material Number
            lifnr    LIKE   bseg-lifnr,                    "Account Number of the Vendor
            werks    LIKE   bseg-werks,                    "Plant
            buzid    LIKE   bseg-buzid,                    "Identification of the Line Item
            bschl    LIKE   bseg-bschl,                    "Posting Key
            bukrs    LIKE   bkpf-bukrs,                    "Company Code
            belnr    LIKE   bkpf-belnr,                    "Accounting Document Number
            gjahr    LIKE   bkpf-gjahr,                    "Fiscal Year
            koart    LIKE   bseg-koart,                    "Account type
            augbl    LIKE   bseg-augbl,                    "Document Number of the Clearing Document
            vblnr    LIKE   payr-vblnr,                    "Document Number of the Payment Document
            zbukr    LIKE   payr-zbukr,                    "Paying company code
            chect    LIKE   payr-chect,                    "Check Number
            zaldt    LIKE   payr-zaldt,                    "Probable Payment Date (Cash Discount 1 Due)
            hbkid    LIKE   payr-hbkid,                    "Short key for a house bank
            END      OF     chckfinal.
    DATA :  BEGIN    OF     mat_desc OCCURS 0,
            matnr    LIKE   mara-matnr,
            maktx    LIKE   makt-maktx,
            END      OF     mat_desc.
    DATA :  BEGIN      OF     vend_det OCCURS 0,
            lifnr      LIKE   lfa1-lifnr,
            name1      LIKE   lfa1-name1,
            j_1icstno  LIKE   j_1imovend-j_1icstno,
            END        OF     vend_det.
    DATA :  BEGIN    OF     cst_rep  OCCURS 0,             "FINAL CST REPORT
            lifnr    LIKE   a363-lifnr,                    "Account Number of the Vendor
            name1    LIKE   lfa1-name1,                    "Vendor Name
            j_1icstno  LIKE   j_1imovend-j_1icstno,        " Vendor CST No.
            werks    LIKE   a363-werks,                    "Plant
           kschl    LIKE   a363-kschl,                    "Condition type
            ebeln    LIKE   ekko-ebeln,                    "Purchasing Document Number
            ebelp    LIKE   ekpo-ebelp,                    "Item Number of Purchasing Document
            bedat    LIKE   ekko-bedat,                    "Purchasing Document Date
            matnr    LIKE   ekpo-matnr,                    "Material Number
            maktx    LIKE   makt-maktx,                    "Material Description.
            kbetr    LIKE   konp-kbetr,                    "Rate (condition amount or percentage) where no scale exists
            mblnr    LIKE   mseg-mblnr,                    "Number of Material Document
            bldat    LIKE   mkpf-bldat,                    "Document Date in Document
            menge    LIKE   mseg-menge,                    "Quantity
            dmbtr    LIKE   mseg-dmbtr,                    "Amount in local currency
            cst_dmbtr LIKE  mseg-dmbtr,                    "CST Amount in local currency
            bwart    LIKE   mseg-bwart,                    "Movement Type (Inventory Management)
            whssn    LIKE   zeou_pcrdtl-whssn,             "Warehouse Records Entry Serial No.
            whsdt    LIKE   zeou_pcrdtl-whsdt,             "Warehouse Records Entry date
            buzid    LIKE   bseg-buzid,                    "Identification of the Line Item
            bschl    LIKE   bseg-bschl,                    "Posting Key
            wrbtr    LIKE   bseg-wrbtr,                    "Amount in document currency
            cst_wrbtr LIKE  bseg-wrbtr,                    "CST Amount in document currency
            belnr    LIKE   bseg-belnr,                    "Accounting Document Number
            gjahr    LIKE   bseg-gjahr,                    "Fiscal Year
            xblnr    LIKE   bkpf-xblnr,                    "Reference Document Number
            koart    LIKE   bseg-koart,                    "Account type
            augbl    LIKE   bseg-augbl,                    "Document Number of the Clearing Document
            vblnr    LIKE   payr-vblnr,                    "Document Number of the Payment Document
            zbukr    LIKE   payr-zbukr,                    "Paying company code
            chect    LIKE   payr-chect,                    "Check Number
            zaldt    LIKE   payr-zaldt,                    "Probable Payment Date (Cash Discount 1 Due)
            hbkid    LIKE   payr-hbkid,                    "Short key for a house bank
            END      OF     cst_rep.
    DATA :  BEGIN    OF     gt_output  OCCURS 0,              "ALV OUTPUT
            slno     LIKE   sy-tabix,                      "Serial Number
            lifnr    LIKE   a363-lifnr,                    "Account Number of the Vendor
            name1    LIKE   lfa1-name1,                    "Vendor Name
            j_1icstno  LIKE   j_1imovend-j_1icstno,        " Vendor CST No.
            werks    LIKE   a363-werks,                    "Plant
           kschl    LIKE   a363-kschl,                    "Condition type
            ebeln    LIKE   ekko-ebeln,                    "Purchasing Document Number
            ebelp    LIKE   ekpo-ebelp,                    "Item Number of Purchasing Document
            bedat    LIKE   ekko-bedat,                    "Purchasing Document Date
            matnr    LIKE   ekpo-matnr,                    "Material Number
            maktx    LIKE   makt-maktx,                    "Material Description
            mblnr    LIKE   mseg-mblnr,                    "Number of Material Document
            bldat    LIKE   mkpf-bldat,                    "Document Date in Document
            menge    LIKE   mseg-menge,                    "Quantity
            dmbtr    LIKE   mseg-dmbtr,                    "Amount in local currency
            cst_dmbtr LIKE  mseg-dmbtr,                    "CST Amount in local currency
            bwart    LIKE   mseg-bwart,                    "Movement Type (Inventory Management)
            whssn    LIKE   zeou_pcrdtl-whssn,             "Warehouse Records Entry Serial No.
            whsdt    LIKE   zeou_pcrdtl-whsdt,             "Warehouse Records Entry date
            buzid    LIKE   bseg-buzid,                    "Identification of the Line Item
            bschl    LIKE   bseg-bschl,                    "Posting Key
            wrbtr    LIKE   bseg-wrbtr,                    "Amount in document currency
            cst_wrbtr LIKE  bseg-wrbtr,                    "CST Amount in document currency
            belnr    LIKE   bseg-belnr,                    "Accounting Document Number
            gjahr    LIKE   bseg-gjahr,                    "Fiscal Year
            xblnr    LIKE   bkpf-xblnr,                    "Reference Document Number
            koart    LIKE   bseg-koart,                    "Account type
            augbl    LIKE   bseg-augbl,                    "Document Number of the Clearing Document
            vblnr    LIKE   payr-vblnr,                    "Document Number of the Payment Document
            zbukr    LIKE   payr-zbukr,                    "Paying company code
            chect    LIKE   payr-chect,                    "Check Number
            zaldt    LIKE   payr-zaldt,                    "Probable Payment Date (Cash Discount 1 Due)
            hbkid    LIKE   payr-hbkid,                    "Short key for a house bank
            usr_txt1(20) TYPE c,
            usr_txt2(20) TYPE c,
            END      OF     gt_output.
    *Working Variables
    DATA : cst_gr  LIKE  mseg-dmbtr,
           cst_inv LIKE  bseg-wrbtr,
           usr_txt1(20) TYPE c,
           usr_txt2(20) TYPE c.
    START-OF-SELECTION.
    *Retreiving Data from a363 table for the given input
      SELECT  matnr
              lifnr
              werks
              kschl
              knumh
              FROM a363
              INTO TABLE a363_itab
              WHERE matnr IN s_matnr AND lifnr IN s_lifnr AND werks EQ p_werks AND kschl IN s_kschl.
      SELECT  *
              FROM konp
              INTO CORRESPONDING FIELDS OF TABLE konp_itab
              FOR ALL ENTRIES IN a363_itab
              WHERE knumh EQ a363_itab-knumh.
      LOOP AT a363_itab.
        READ TABLE konp_itab WITH KEY knumh = a363_itab-knumh.
        IF sy-subrc EQ 0.
          MOVE : konp_itab-kbetr TO a363_itab-kbetr.
          MODIFY a363_itab.
        ENDIF.
        CLEAR : a363_itab, konp_itab.
      ENDLOOP.
      SELECT *
             FROM makt
             INTO CORRESPONDING FIELDS OF TABLE mat_desc
             FOR ALL ENTRIES IN a363_itab
             WHERE matnr EQ a363_itab-matnr.
      SELECT a~lifnr
             a~name1
             b~j_1icstno
             INTO TABLE vend_det
             FROM lfa1 AS a JOIN j_1imovend AS b
             ON alifnr EQ blifnr
             FOR ALL ENTRIES IN a363_itab
             WHERE a~lifnr EQ a363_itab-lifnr.
    Retreiving Data from EKKO & EKPO table for the given input
    And Populating the V_PO_DETAILS itab
      SELECT  *
              FROM ekko
              INTO CORRESPONDING FIELDS OF TABLE ekko_itab
              FOR ALL ENTRIES IN a363_itab
              WHERE lifnr EQ a363_itab-lifnr AND bedat IN s_bedat.
      SELECT  *
              FROM ekpo
              INTO CORRESPONDING FIELDS OF TABLE ekpo_itab
              FOR ALL ENTRIES IN a363_itab
              WHERE matnr EQ a363_itab-matnr AND werks EQ a363_itab-werks AND mwskz NE 'V0'.
      LOOP AT ekpo_itab.
        MOVE :   ekpo_itab-ebelp TO v_po_det-ebelp,
                 ekpo_itab-matnr TO v_po_det-matnr,
                 ekpo_itab-werks TO v_po_det-werks,
                 ekpo_itab-menge TO v_po_det-menge.
        READ TABLE ekko_itab WITH KEY ebeln = ekpo_itab-ebeln.
        IF sy-subrc EQ 0.
          MOVE  :  ekko_itab-lifnr TO v_po_det-lifnr,
                   ekko_itab-ebeln TO v_po_det-ebeln,
                   ekko_itab-bedat TO v_po_det-bedat.
          APPEND : v_po_det.
        ENDIF.
        CLEAR  : ekko_itab, ekpo_itab, v_po_det.
      ENDLOOP.
      LOOP AT v_po_det.
        READ TABLE a363_itab WITH KEY matnr = v_po_det-matnr lifnr = v_po_det-lifnr werks = v_po_det-werks.
        IF sy-subrc EQ 0.
          MOVE : a363_itab-kbetr TO v_po_det-kbetr.
          MODIFY v_po_det.
        ENDIF.
        CLEAR : a363_itab, v_po_det.
      ENDLOOP.
    Retreiving Data from MKPF & MSEG & ZEOU_PCRDTL table for the given input
    And Populating the GR_WH_info itab
      SELECT  *
              FROM mseg
              INTO CORRESPONDING FIELDS OF TABLE mseg_itab
              FOR ALL ENTRIES IN v_po_det
              WHERE ebeln EQ v_po_det-ebeln AND matnr EQ v_po_det-matnr AND bwart IN s_bwart.
      SELECT  *
              FROM mkpf
              INTO CORRESPONDING FIELDS OF TABLE mkpf_itab
              FOR ALL ENTRIES IN mseg_itab
              WHERE mblnr EQ mseg_itab-mblnr.
      SELECT  *
              FROM zeou_pcrdtl
              INTO CORRESPONDING FIELDS OF TABLE zeou_pcrdtl_itab
              FOR ALL ENTRIES IN mseg_itab
              WHERE mblnr EQ mseg_itab-mblnr AND matnr EQ mseg_itab-matnr.
      LOOP AT mseg_itab.
        MOVE  :  mseg_itab-mblnr TO gr_wh_info-mblnr,
                 mseg_itab-ebeln TO gr_wh_info-ebeln,
                 mseg_itab-ebelp TO gr_wh_info-ebelp,
                 mseg_itab-matnr TO gr_wh_info-matnr,
                 mseg_itab-lifnr TO gr_wh_info-lifnr,
                 mseg_itab-werks TO gr_wh_info-werks,
                 mseg_itab-menge TO gr_wh_info-menge,
                 mseg_itab-dmbtr TO gr_wh_info-dmbtr,
                 mseg_itab-bwart TO gr_wh_info-bwart.
        READ TABLE mkpf_itab WITH KEY mblnr = mseg_itab-mblnr.
        IF sy-subrc EQ 0.
          MOVE  :  mkpf_itab-bldat TO gr_wh_info-bldat.
        ENDIF.
        READ TABLE zeou_pcrdtl_itab WITH KEY mblnr = mseg_itab-mblnr.
        IF sy-subrc EQ 0.
          MOVE  :  zeou_pcrdtl_itab-whssn TO gr_wh_info-whssn,
                   zeou_pcrdtl_itab-whsdt TO gr_wh_info-whsdt.
        ENDIF.
        APPEND : gr_wh_info.
        CLEAR : mseg_itab, mkpf_itab, gr_wh_info.
      ENDLOOP.
    Retreiving Data from BSEG & BKPF table
    And Populating the Vendor Invoice Details
      SELECT  *
              FROM bseg
              INTO CORRESPONDING FIELDS OF TABLE bseg_itab
              FOR ALL ENTRIES IN v_po_det
              WHERE ebeln EQ v_po_det-ebeln AND matnr EQ v_po_det-matnr AND buzid EQ 'W' AND bschl EQ '96'.
      SELECT  *
              FROM bkpf
              INTO CORRESPONDING FIELDS OF TABLE bkpf_itab
              FOR ALL ENTRIES IN bseg_itab
              WHERE bukrs EQ bseg_itab-bukrs AND belnr EQ bseg_itab-belnr AND gjahr EQ bseg_itab-gjahr.
      LOOP AT bseg_itab.
        MOVE  :  bseg_itab-ebeln TO vend_inv-ebeln,
                 bseg_itab-ebelp TO vend_inv-ebelp,
                 bseg_itab-matnr TO vend_inv-matnr,
                 bseg_itab-lifnr TO vend_inv-lifnr,
                 bseg_itab-werks TO vend_inv-werks,
                 bseg_itab-buzid TO vend_inv-buzid,
                 bseg_itab-bschl TO vend_inv-bschl,
                 bseg_itab-wrbtr TO vend_inv-wrbtr,
                 bseg_itab-bukrs TO vend_inv-bukrs,
                 bseg_itab-belnr TO vend_inv-belnr,
                 bseg_itab-gjahr TO vend_inv-gjahr.
        READ TABLE bkpf_itab WITH KEY bukrs = bseg_itab-bukrs belnr = bseg_itab-belnr gjahr = bseg_itab-gjahr.
        IF sy-subrc EQ 0.
          MOVE  :  bkpf_itab-xblnr TO vend_inv-xblnr,
                   bkpf_itab-bldat TO vend_inv-bldat.
          APPEND  :  vend_inv.
        ENDIF.
        CLEAR : vend_inv, bseg_itab, bkpf_itab.
      ENDLOOP.
    Retreiving Data from BSEG & BKPF table
    And Populating the Cheque Info Details
      SELECT  *
              FROM bseg
              INTO CORRESPONDING FIELDS OF TABLE chckinit
              FOR ALL ENTRIES IN v_po_det
              WHERE ebeln EQ v_po_det-ebeln AND matnr EQ v_po_det-matnr AND buzid EQ 'W' AND bschl EQ '86' AND koart EQ 'K'.
      SELECT  *
              FROM payr
              INTO CORRESPONDING FIELDS OF TABLE chckpayer
              FOR ALL ENTRIES IN chckinit
              WHERE vblnr EQ chckinit-augbl.
      SORT chckpayer BY vblnr DESCENDING.
      LOOP AT chckpayer.
        ON CHANGE OF chckpayer-vblnr.
          MOVE   : chckpayer TO chckpayer_u.
          APPEND : chckpayer_u.
          CLEAR  : chckpayer_u, chckpayer.
        ENDON.
      ENDLOOP.
      LOOP AT chckinit.
        MOVE  :  chckinit-ebeln TO chckfinal-ebeln,
                 chckinit-ebelp TO chckfinal-ebelp,
                 chckinit-matnr TO chckfinal-matnr,
                 chckinit-lifnr TO chckfinal-lifnr,
                 chckinit-werks TO chckfinal-werks,
                 chckinit-buzid TO chckfinal-buzid,
                 chckinit-bschl TO chckfinal-bschl,
                 chckinit-bukrs TO chckfinal-bukrs,
                 chckinit-gjahr TO chckfinal-gjahr,
                 chckinit-koart TO chckfinal-koart,
                 chckinit-augbl TO chckfinal-augbl.
        READ TABLE chckpayer_u WITH KEY vblnr = chckinit-augbl gjahr = chckinit-gjahr.
        IF sy-subrc EQ 0.
          MOVE  :  chckpayer_u-vblnr TO chckfinal-vblnr,
                   chckpayer_u-zbukr TO chckfinal-zbukr,
                   chckpayer_u-chect TO chckfinal-chect,
                   chckpayer_u-zaldt TO chckfinal-zaldt,
                   chckpayer_u-hbkid TO chckfinal-hbkid.
          APPEND : chckfinal.
        ENDIF.
        CLEAR : chckfinal, chckpayer_u, chckinit.
      ENDLOOP.
    Populating the final CST TABLE
      LOOP AT v_po_det.
        MOVE  :   v_po_det-lifnr TO cst_rep-lifnr,
                  v_po_det-werks TO cst_rep-werks,
                  v_po_det-ebeln TO cst_rep-ebeln,
                  v_po_det-ebelp TO cst_rep-ebelp,
                  v_po_det-bedat TO cst_rep-bedat,
                  v_po_det-matnr TO cst_rep-matnr,
                  v_po_det-kbetr TO cst_rep-kbetr.
        READ TABLE gr_wh_info WITH KEY ebeln = v_po_det-ebeln ebelp = v_po_det-ebelp."matnr = v_po_det-matnr.
        IF sy-subrc EQ 0.
          MOVE :  gr_wh_info-mblnr TO cst_rep-mblnr,
                  gr_wh_info-bldat TO cst_rep-bldat,
                  gr_wh_info-menge TO cst_rep-menge,
                  gr_wh_info-dmbtr TO cst_rep-dmbtr,
                  gr_wh_info-bwart TO cst_rep-bwart,
                  gr_wh_info-whssn TO cst_rep-whssn,
                  gr_wh_info-whsdt TO cst_rep-whsdt.
        ENDIF.
        READ TABLE vend_inv WITH KEY ebeln = v_po_det-ebeln ebelp = v_po_det-ebelp."matnr = v_po_det-matnr.
        IF sy-subrc EQ 0.
          MOVE : vend_inv-buzid TO cst_rep-buzid,
                 vend_inv-bschl TO cst_rep-bschl,
                 vend_inv-wrbtr TO cst_rep-wrbtr,
                 vend_inv-belnr TO cst_rep-belnr,
                 vend_inv-gjahr TO cst_rep-gjahr,
                 vend_inv-xblnr TO cst_rep-xblnr.
        ENDIF.
        READ TABLE chckfinal WITH KEY ebeln = v_po_det-ebeln ebelp = v_po_det-ebelp."matnr = v_po_det-matnr.
        IF sy-subrc EQ 0.
          MOVE : chckfinal-augbl TO cst_rep-augbl,
                 chckfinal-vblnr TO cst_rep-vblnr,
                 chckfinal-zbukr TO cst_rep-zbukr,
                 chckfinal-chect TO cst_rep-chect,
                 chckfinal-zaldt TO cst_rep-zaldt,
                 chckfinal-hbkid TO cst_rep-hbkid.
        ENDIF.
        READ TABLE mat_desc WITH KEY matnr = v_po_det-matnr.
        IF sy-subrc EQ 0.
          MOVE : mat_desc-maktx TO cst_rep-maktx.
        ENDIF.
        READ TABLE vend_det WITH KEY lifnr = v_po_det-lifnr.
        IF sy-subrc EQ 0.
          MOVE : vend_det-name1 TO cst_rep-name1,
                 vend_det-j_1icstno TO cst_rep-j_1icstno.
        ENDIF.
        APPEND : cst_rep.
        CLEAR  : cst_rep, v_po_det, gr_wh_info, vend_inv, chckfinal.
      ENDLOOP.
    Populating GT_output
      LOOP AT cst_rep.
        cst_gr = cst_rep-dmbtr * ( cst_rep-kbetr / 1000 ).
        cst_inv = cst_rep-wrbtr * ( cst_rep-kbetr / 1000 ).
        MOVE : cst_gr  TO cst_rep-cst_dmbtr,
               cst_inv TO cst_rep-cst_wrbtr.
        MODIFY : cst_rep.
        CLEAR : cst_rep, cst_gr, cst_inv.
      ENDLOOP.
      LOOP AT cst_rep.
        MOVE :  sy-tabix TO gt_output-slno,
                cst_rep-lifnr TO gt_output-lifnr,
                cst_rep-name1 TO gt_output-name1,
                cst_rep-j_1icstno TO gt_output-j_1icstno,
                cst_rep-werks TO gt_output-werks,
                cst_rep-matnr TO gt_output-matnr,
                cst_rep-maktx TO gt_output-maktx,
                cst_rep-ebeln TO gt_output-ebeln,
                cst_rep-ebelp TO gt_output-ebelp,
                cst_rep-bedat TO gt_output-bedat,
                cst_rep-mblnr TO gt_output-mblnr,
                cst_rep-bldat TO gt_output-bldat,
                cst_rep-menge TO gt_output-menge,
                cst_rep-dmbtr TO gt_output-dmbtr,
                cst_rep-cst_dmbtr TO gt_output-cst_dmbtr,
                cst_rep-bwart TO gt_output-bwart,
                cst_rep-whssn TO gt_output-whssn,
                cst_rep-whsdt TO gt_output-whsdt,
                cst_rep-buzid TO gt_output-buzid,
                cst_rep-bschl TO gt_output-bschl,
                cst_rep-wrbtr TO gt_output-wrbtr,
                cst_rep-cst_wrbtr TO gt_output-cst_wrbtr,
                cst_rep-belnr TO gt_output-belnr,
                cst_rep-gjahr TO gt_output-gjahr,
                cst_rep-xblnr TO gt_output-xblnr,
                cst_rep-augbl TO gt_output-augbl,
                cst_rep-vblnr TO gt_output-vblnr,
                cst_rep-zbukr TO gt_output-zbukr,
                cst_rep-chect TO gt_output-chect,
                cst_rep-zaldt TO gt_output-zaldt,
                cst_rep-hbkid TO gt_output-hbkid.
        APPEND gt_output.
        CLEAR : cst_rep, gt_output, sy-tabix.
      ENDLOOP.
    END-OF-SELECTION.
    *-ALV Routine
      PERFORM alv_forms.
    *&      Form  alv_forms
    FORM alv_forms.
      PERFORM alv_routines.
      gx_variant = sy-repid.
      CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
        EXPORTING
          i_save     = g_save
        CHANGING
          cs_variant = gx_variant
        EXCEPTIONS
          not_found  = 2.
      IF sy-subrc = 0.
        vari = gx_variant-variant.
      ENDIF.
      PERFORM comment_build  USING gt_list_top_of_page[].
      PERFORM fieldcat_init  USING gt_fieldcat[].
      PERFORM layout_build USING gs_layout.
      PERFORM print_build  USING gs_print.
      PERFORM alv_output.
    ENDFORM.                    " alv_forms
    *&      Form  alv_routines
    FORM alv_routines.
      PERFORM eventtab_build USING gt_events[].
      PERFORM e06_t_sort_build  USING gt_sort[].
      PERFORM sp_group_build USING gt_sp_group[].
      g_save = 'A'.
      PERFORM variant_init.
    ENDFORM.                    " alv_routines
    *&      Form  eventtab_build
    FORM eventtab_build USING p_gt_events TYPE slis_t_event.
      DATA: ls_event TYPE slis_alv_event.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type = 0
        IMPORTING
          et_events   = p_gt_events.
      READ TABLE p_gt_events WITH KEY name =  slis_ev_top_of_page
                             INTO ls_event.
      IF sy-subrc = 0.
        MOVE slis_ev_top_of_page TO ls_event-form.
        APPEND ls_event TO p_gt_events.
      ENDIF.
      READ TABLE p_gt_events WITH KEY name =  slis_ev_user_command
                             INTO ls_event.
      IF sy-subrc = 0.
        MOVE slis_ev_user_command TO ls_event-form.
        APPEND ls_event TO p_gt_events.
      ENDIF.
      READ TABLE p_gt_events WITH KEY name =  slis_ev_pf_status_set
                             INTO ls_event.
      IF sy-subrc = 0.
        MOVE slis_ev_pf_status_set TO ls_event-form.
        APPEND ls_event TO p_gt_events.
      ENDIF.
      SORT p_gt_events BY name.
      DELETE ADJACENT DUPLICATES FROM  p_gt_events.
      DELETE  p_gt_events WHERE form IS INITIAL.
    ENDFORM.                    " eventtab_build
    *&      Form  sort_build
    FORM e06_t_sort_build USING e06_lt_sort TYPE slis_t_sortinfo_alv.
      DATA: ls_sort TYPE slis_sortinfo_alv.
      CLEAR ls_sort.
      ls_sort-fieldname = 'SLNO'.
      ls_sort-spos      = 1.
      ls_sort-up        = 'X'.
      APPEND ls_sort TO e06_lt_sort.
    CLEAR ls_sort.
    ls_sort-fieldname = 'CNCNR'.
    ls_sort-spos      = 1.
    ls_sort-up        = 'X'.
    APPEND ls_sort TO e06_lt_sort.
    CLEAR ls_sort.
    ls_sort-fieldname = 'MATNR'.
    ls_sort-spos      = 1.
    ls_sort-up        = 'X'.
    APPEND ls_sort TO e06_lt_sort.
    ENDFORM.                    " sort_build
    *&      Form  sp_group_build
    FORM sp_group_build USING    p_gt_sp_group TYPE slis_t_sp_group_alv.
      DATA: ls_sp_group TYPE slis_sp_group_alv.
      CLEAR  ls_sp_group.
      ls_sp_group-sp_group = 'A'.
      ls_sp_group-text     = 'PRODUCT'.
      APPEND ls_sp_group TO p_gt_sp_group.
    ENDFORM.                    " sp_group_build
    *&      Form  variant_init
    FORM variant_init.
      CLEAR g_variant.
      g_repid = sy-repid.
      g_variant-report = g_repid.
    ENDFORM.                    " variant_init
    *&      Form  comment_build
    FORM comment_build USING   e04_lt_top_of_page TYPE slis_t_listheader.
      DATA: ls_line     TYPE slis_listheader.
      DATA: l_date(10)  TYPE c,
            l_time(8)   TYPE c,
            l_out(255)  TYPE c.
      WRITE sy-datum TO l_date.
      WRITE sy-uzeit TO l_time.
      CONCATENATE l_date '/' l_time INTO l_out.
      CLEAR ls_line.
      ls_line-typ  = 'H'.
      CLEAR ls_line.
      ls_line-typ  = 'S'.
      ls_line-key  = 'RUN BY :'.
      ls_line-info = sy-uname.
      APPEND ls_line TO e04_lt_top_of_page.
      CLEAR ls_line.
      ls_line-typ  = 'S'.
      ls_line-key  = 'RUN ON :'.
      ls_line-info = l_out.
      APPEND ls_line TO e04_lt_top_of_page.
    ENDFORM.                    " comment_build
    *&      Form  fieldcat_init
    FORM fieldcat_init    USING e01_lt_fieldcat TYPE slis_t_fieldcat_alv.
      DATA: ls_fieldcat TYPE slis_fieldcat_alv.
      DATA n1(3).
      DATA count(2)    TYPE c.
      DATA h1(10).
      DATA: l_week     LIKE scal-week,
            l_text(17) TYPE c.
      DATA cnt TYPE i.
      cnt = cnt + 1.
      CLEAR ls_fieldcat.
      ls_fieldcat-row_pos      = 1.
      ls_fieldcat-col_pos      = 1.
      ls_fieldcat-fieldname    = 'SLNO'.
      ls_fieldcat-seltext_m    = 'SL.NO'.
      ls_fieldcat-hotspot      = 'X'.
      ls_fieldcat-key          = 'X'.
      ls_fieldcat-key_sel      = 'X'.
      ls_fieldcat-just         = 'R'.
      ls_fieldcat-sp_group = 'A'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      cnt = cnt + 1.
      CLEAR ls_fieldcat.
      ls_fieldcat-row_pos      = 1.
      ls_fieldcat-col_pos      = cnt.
      ls_fieldcat-fieldname    = 'LIFNR'.
      ls_fieldcat-seltext_m    = 'VENDOR NO.'.
      ls_fieldcat-hotspot      = 'X'.
      ls_fieldcat-key          = 'X'.
      ls_fieldcat-key_sel      = 'X'.
      ls_fieldcat-just         = 'R'.
      ls_fieldcat-sp_group = 'A'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      cnt = cnt + 1.
      CLEAR ls_fieldcat.
      ls_fieldcat-row_pos      = 1.
      ls_fieldcat-col_pos      = cnt.
      ls_fieldcat-fieldname    = 'NAME1'.
      ls_fieldcat-seltext_m    = 'VENDOR NAME'.
      ls_fieldcat-hotspot      = 'X'.
      ls_fieldcat-key          = 'X'.
      ls_fieldcat-key_sel      = 'X'.
      ls_fieldcat-just         = 'L'.
      ls_fieldcat-sp_group = 'A'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      cnt = cnt + 1.
      CLEAR ls_fieldcat.
      ls_fieldcat-row_pos      = 1.
      ls_fieldcat-col_pos      = cnt.
      ls_fieldcat-fieldname    = 'J_1ICSTNO'.
      ls_fieldcat-seltext_m    = 'VENDOR CST NO.'.
      ls_fieldcat-hotspot      = 'X'.
      ls_fieldcat-key          = 'X'.
      ls_fieldcat-key_sel      = 'X'.
      ls_fieldcat-just         = 'R'.
      ls_fieldcat-sp_group = 'A'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    cnt = cnt + 1.
    CLEAR ls_fieldcat.
    ls_fieldcat-row_pos      = 1.
    ls_fieldcat-col_pos      = cnt.
    ls_fieldcat-fieldname    = 'WERKS'.
    ls_fieldcat-seltext_m    = 'PLANT'.
    ls_fieldcat-key          = 'X'.
    ls_fieldcat-key_sel      = 'X'.
    ls_fieldcat-just         = 'R'.
    ls_fieldcat-sp_group = 'A'.
    APPEND ls_fieldcat TO e01_lt_fieldcat.
      cnt = cnt + 1.
      CLEAR ls_fieldcat.
      ls_fieldcat-row_pos      = 1.
      ls_fieldcat-col_pos      = cnt.
      ls_fieldcat-fieldname    = 'EBELN'.
      ls_fieldcat-seltext_m    = 'PO NO.'.
      ls_fieldcat-key          = 'X'.
      ls_fieldcat-key_sel      = 'X'.
      ls_fieldcat-just         = 'R'.
      ls_fieldcat-sp_group = 'A'.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    cnt = cnt + 1.
    CLEAR ls_fieldcat.
    ls_fieldcat-row_pos      = 1.
    ls_fieldcat-col_pos      = cnt.
    ls_fieldcat-fieldname    = 'EBELP'.
    ls_fieldcat-seltext_m    = 'PO ITEM'.
    ls_fieldcat-key          = 'X'.
    ls_fieldcat-key_sel      = 'X'.
    ls_fieldcat-just         = 'R'.
    ls_fieldcat-sp_group = 'A'.
    APPEND ls_fieldcat TO e01_lt_fieldcat.
      cnt = cnt + 1.
      CLEAR ls_fieldcat.
      ls_fieldcat-row_pos      = 1.
      ls_fieldcat-col_pos      = cnt

    Hi ,  
      This is a sort of performance issue , because your program takes more than the max time set for the program to execute in foreground.
    There are many stuff in program which will hamper your performance.
    I will list down a few
    1. SELECT *
    FROM konp
    INTO CORRESPONDING FIELDS OF TABLE konp_itab
    FOR ALL ENTRIES IN a363_itab
    WHERE knumh EQ a363_itab-knumh
    in this statement you are using for all entries a363_itab , but before this statement you are not checking if the table has any entry or not , please do remember that for all entries has this characterstic , that if you internal table does not contain any record , then all the records are selected from the database table. So in this case if you table a363_itab is empty , so what you want is no data must be seelcted from table konp , but what will happen is all the records in KONP will be seelcted.
    2. While retreiving data you are using seelct * even though you do not require all the fields , an example is
    <b>SELECT *
    FROM mkpf
    INTO CORRESPONDING FIELDS OF TABLE mkpf_itab
    FOR ALL ENTRIES IN mseg_itab
    WHERE mblnr EQ mseg_itab-mblnr.</b>
    in this your internal table contains only 2 fields
    <b>mblnr LIKE mkpf-mblnr, "Number of Material Document
    bldat LIKE mkpf-bldat, "Document Date in Document</b> , but to get these 2 fields you are selecting all the fields of the table.
    3. In select you are using into corresponding fields of table , it is not a good practice., so please avoidd it.
    Please understand that you must try to reduce the access to your database tables and try to keep it minimal , because this same thing may happen becasue data in DEV is very less compared to the volume of data in production , so a program working in DEV will take much more time in PRD if not written properly and may result in timeouts , as in your case.
    Please try to make chanegs to the prorgam and see if it works.
    In case you have more queries , please do revert back.
    Regards
    Arun
    *Reward points if replay is helpful

  • Budget Exceed Issue in work Order (P.O) in Production Server.

    Hi Friends,
    I am getting different type of budget exceed issue, that to only in Production server.
    Here the issue is when I am creating the work order P.O (Acc.As. Cat.P, Itm Cat. D) with different service line items with respective WBSe with in the budget limit, then I am doing SES for some quantity, now when I am changing (I am decreasing not increasing) the same P.O line item available quantity and creating the new version now system is calculating the old version line item quantity + new version quantity (nothing but double) then giving budget exceed error.
    One more strange thing is, if I change quantity for one line item then system is giving budget exceed error for another line item which is having the different WBSe which was saved with out giving any error at the time of P.O creation.
    This issue is happening only in Production server ....same scenario I have run with the same values in both Dev. and Qau. (Where the config. is same in all 3 clients) but in both the clients it is working fine...but in production why the system is behaving in such a way I am not getting. 
    In the below I have given the test scenario...
    Service P.O Creation
    Line Item
    P.O Quanity
    Value
    WBS
    Budget
    Commitment
    SES. Quatity
    Actual cost
    1
    10
    100
    WBS 1
    2000
    1000
    5
    500
    2
    20
    200
    Wbs 2
    4000
    2000
    10.00
    1000
    3
    30
    300
    WBS 3
    6000
    3000
    15
    1500
    4
    40
    400
    Wbs 4
    8000
    4000
    20.00
    2000
    Service P.O change with new version
    Line Item
    P.O Quanity
    Value
    WBS
    Budget
    Commitment
    SES. Quatity
    Actual cost
    1
    6
    100
    WBS 1
    1000
    1000
    5
    500
    2
    20
    200
    Wbs 2
    2000
    2000
    10.00
    1000
    Budget exceed with the double value
    3
    30
    300
    WBS 3
    3000
    3000
    15
    1500
    4
    40
    400
    Wbs 4
    4000
    4000
    20.00
    2000
    If any one has come across with this type of issue and solved ...please suggest me ..
    Regards,
    Srikanth

    Hi,
    I have face similar issue in deleting PO line items.
    Even though I delete items, system check budget for deleted qty with the currency conversion + value & gives budget exceed error.
    In some cases we have asked user to deactivated AVAC asked to do the transaction, which is not recommended.
    You can try running CJBN & CJBV in sequence for affected WBS.
    Thanks & reg,
    Sam

  • Old SD and MM documents shall be deleted on productive server

    We have the situation that the same SD and MM documents sitting on two different productive servers. This is caused due to the migration from 4.0B to 4.7 some years ago. Some of our companies were kept on 4.0B with SD and MM enviroment on a separate server and the other companies were transfered to a new server. At that ttime the new server was build as copy from the old 4.0B server and then migrated.
    For the migration to ERP6.0 we like to clean up the current productive server. During the preparation we noticed that the old SD and MM documents don't fit into the new management requirements. Therefore we woudl like to get rid of it. Problem is that we will not archive these documents. Furthermore there a lot of open purchase and sales orders that can't be closed.
    Question: Does anybody have a solution how we can delete all of these SD and MM documents before we migrate the server to ERP6.0?
    Thanks

    I would use the System Landscape Optimization service for that purpose, they can provide you with tools to do those "merging" of two systems.
    http://service.sap.com/slo
    (It´s consulting - so $$$).
    Markus

Maybe you are looking for