Hi abapers

hi everybody, 
             i need material regarding reports like how many types of reports, and their applications and implementation.
                                                      thanking u,
                                                         [email protected],
                                                         [email protected]

Hi,
In ABAP there are 2 type of reports: 1. Classical report, 2. Interactive report.
for more information check the following link:
http://www.sapbrain.com
1.CLASSICAL REPORTS
Hi ONly 2 types of Classical reports
1. Basic List
2, Interactive List
Events in Classical report
Events associated with classical report are as follows and each one will be discussed in detail.
• INITIALIZATION
• AT SELECTION-SCREEN
• AT SELECTION-SCREEN ON <field>
• START-OF-SELECTION
• TOP-OF-PAGE
• END-OF-PAGE
• END-OF-SELECTION
In this case first three events are associated with selection screen. Rest of the events are associated with your list.
• INITIALIZATION
We have already seen how to fill default values for the selection criteria. But in many cases you need to calculate the value and then put it in selection criteria. For example, say, you are accepting date from user and you need to fill in the default value for lower range as sy-datum – 30 days and sy-datum for higher range. In this case you are calculating lower range and then filling the criteria. This can be done in INITIALIZATION event. Piece of code to do the above task would look like the following:
Tables: Sflight.
Select-options: fldate1 for sflight-fldate.
INITIALIZATION.
Data: date1 like SY-DATUM.
Date1 = sy-datum – 30.
Fldate1-low = date1.
Fldate1-high = sy-datum.
Append fldate1.
Here appending is required because fldate1 is int’ table
This event is triggered when you execute your program for the first time i.e., before selection screen is displayed.
• AT SELECTION-SCREEN
When user enters the values in the fields of selection screen and clicks on execute button, this event gets triggered. This event is basically for checking the values entered by the user for the fields of the selection screen i.e., data validity checking. This event is for entire selection screen. For example:
You are accepting carrid, connid, fldate from user and you don’t want to proceed if user enters no value for carrid and fldate. Using AT SELECTION-SCREEN can do this.
Select-options: carrid1 for sflight-carrid,
Connid1 for sflight-connid,
F1date1 for sflight-f1date.
AT SELECTION-SCREEN.
If carrid1-low ne ‘ ’ and fldate1-low = ‘ ’.
Error message.
Endif.
In this case, if both the fields are entered blank, then the user gets error message.
Basically, this event is for many fields on selection screen. Usually, it is for the fields which are logically related.
• AT SELECTION-SCREEN ON <field>
When you want to check for specific value of a field. For example, carrid should be in the range of ‘LH’ and ‘SQ’. This can be done in this event. Basically, this event is for checking individual fields. You can have many AT selection-screen events in your program (i.e., for each field specified in the Select-Options).
Select-Options carrid1 for sflight-carrid.
AT SELECTION-SCREEN.
If carrid1-low ne ‘LH’ and carrid1-high ne ‘SQ’.
Error message.
Endif.
Here the system will not proceed on entering wrong values.
• START-OF-SELECTION
This is the first event for your list. Once all the events are triggered for selection screen, the data is retrieved from database. Data declaration, select statements are done in this event. Consider the following example:
START-OF-SELECTION.
Data: mtype i.
Tables: sflight.
Select * from sflight where carrid = ‘LH’.
Write: / sflight-carrid,sflight-connid.
Endselect.
• TOP-OF-PAGE
This event is triggered with first WRITE statement or whenever new page is triggered. Advantage of using this event is that, whatever you write under this event, is applicable to all the pages. If you don’t have any write statement before TOP-OF-PAGE or in START-OF-SELECTION, this event is not triggered at all. For example, if you want the name of company and column headers for all the pages, it can be written in this event.
TOP-OF-PAGE
Write: / ‘INTELLIGROUP ASIA PVT. LTD.’
Write : / 10 ‘carrid’, 20 ‘connid’, 30 ‘fldate’.
• END-OF-PAGE
This event is triggered at the end of page.
End-of-page.
Write : / ‘page number’, sy-pagno.
In this case page number will be written on every page.
Conditional triggering of EOP
Consider the following case.
REPORT ZDEMO1 line-count 15(3).
Top-of-page.
Write: ‘this line is written by top-of-page event’.
Start-of-selection.
Write: ‘this line is written by start-of-selection event’.
End-of-page.
Write : ‘this line is written by end-of-page event’.
In this case EOP will never be triggered, as end of page is never reached. The total Line-count defined for page = 15 in which 3 lines are for footer area. The output of the above code will be
This line is written by top of page event.
This line is written by start of selection event.
In output screen, only two lines are written and cursor remains still on 3rd line, the end-of-page event is not triggered. To trigger end of page event, cursor should reach at the last position, in this case on 11th line.
Such cases are quite common, and could be overcome by conditional triggering of end of page.
Sy-linct is the system variable, which gives total line count of a list.
Sy-linno is the system variable, which gives the current line number where the cursor is placed on the list.
Consider the following case:
Report zdemo1 line count 20(1).
Start-of-selection.
Data: m type i.
Write: / ‘this is first line’.
Do 5 times.
Write: / ‘the number is’, sy-index.
Enddo.
M = sy-linct, sy-linno – 1.
Skip x.
End-of-page.
Write: / ‘page end’.
The output of above example is as follows :
This is first line.
The number is 1
The number is 2
The number is 3
The number is 4
The number is 5
After skipping 10 lines
Page end
In this case, with all write statement, you don’t reach to the end of page. After all write statement, m is calculated in this case:
M = 20 – 8 – 1, So m is 12. And 11 lines are skipped after write statement and end of page is reached. (In this case you have 6 write statement so 6 lines + 1 line for page number and 1 horizontal line which is displayed for any list. So cursor is on 8th line and is subtracted from total line count i.e, 20.)
Common errors that user commits
Stating of another event denotes the end of any event. If you forget to mention the next event then everything is included in the same event. Consider the following case:
AT SELECTION-SCREEN.
If carrid1-low ne ‘ ‘.
Err. or message.
Endif.
Write: / ‘INTELLIGROUP ASIA P. LTD.’
WRITE: / 10 ‘CARRID’, 20 ‘CONNID’, 30 ‘FLDATE’.
START-OF-SELECTION.
In this case all the write statement are included in the `at selection screen’ as top-of-page is not specified. The end of `at selection-screen’ is denoted by the starting of start-of-selection.
Though the sequence of events in program is immaterial, it is a good programming practice to write all the events in the order specified above.
Using Variants with selection criteria
In many cases you need report to execute report at regular interval for certain fixed values of selection criteria. That means each times you execute the report you need to enter its values again and again. ABAP/4 provides the facility by which you can define the values for selection screen and store it. Using VARIANTS can do this. It can be defined as group of values used for selection criteria while executing report. For a particular report, you create a variant which means variant created for particular report cannot be used for another report. The group of values for the selection criteria is saved and assigned a variant name. So every time you call a report, you need not specify the values for selection criteria but instead call the variant thus avoiding extra typing. User can have many variants for a single report. Each of them can be used as different type of information. For example, if a manager wants to see how an employee in personnel department or admin department has performed. He need not enter the department, one has to just execute the report with variant. In case he doesn’t know about the variant, which is available, he can display list of variants attached to the report and values assigned to each variant.
Creating variant
• Execute the report program. The selection screen is displayed.
• Enter the values for selection screen and click on saves.
- System displays the variant screen
• Enter the variant name and description for it.
• Save it.
Usually the variants are useful when you need to execute the report in background, which will be discussed in background processing.
also refer to the following links
http://wiki.ittoolbox.com/index.php/FAQ:How_many_types_of_reports_are_there_in_ABAP_and_what_is_the_difference_between_them%3F
http://www.sapdevelopment.co.uk/reporting/alvhome.htm
http://www.sapmaterial.com/?gclid=CN322K28t4sCFQ-WbgodSGbK2g
2.There are 5 types of ALV reports
ALV Grid Display
ALV List Display
Hierarachy ALV reports
Block Display ALV reports
Interactive ALV reports
Regards,
Priyanka.

Similar Messages

  • In sap project who get lot of oppurtunities,sap abapers or sap bw people?

    hi all
    in general sap project in sap project who get lot of oppurtunities,sap abapers or sap bw people?
    thanks,

    Hi,
    It depends on the based on the clients/customer business process & scenario's  ,& the type of SAP Projects to be implemented  .
    In Business intelligenc projects, we do require more BI Consultants compare to ABAP er's & other consultants.In ECC 6.0 & other R/3 implementaions, the demand for ABAP er's & other consultants wil be more .
    So finally the Vacancies are the part & parcel of the type SAP projects to be implemented.
    Regards
    CSM Reddy

  • In sap project who get lot of vacancies,sap abapers or sap bw people?

    hi all
    i want to know in sap project who get lot of vacancies,sap abapers or sap bw people?
    thanks

    Hi,
    It depends on the based on the clients/customer business process & scenario's  ,& the type of SAP Projects to be implemented  .
    In Business intelligenc projects, we do require more BI Consultants compare to ABAP er's & other consultants.In ECC 6.0 & other R/3 implementaions, the demand for ABAP er's & other consultants wil be more .
    So finally the Vacancies are the part & parcel of the type SAP projects to be implemented.
    Regards
    CSM Reddy

  • IS SAP 4.7 BW IS GOOD FOR ABAPERS TO PRACTISE

    IS SAP 4.7 BW IS GOOD FOR ABAPERS TO PRACTISE

    Hi jagrut,
    Any version is good for practise :).
    Its all depends on to what depth you want to learn.
    Regards,
    Atish

  • In Fi Hw we wll interact with Abapers and hw we wll write logic for reports

    hi every body...
    my name is ravi prasad.  i need one help.in FI....in real time as a sap FI consultant how we will interact with Abapers.and
    how we will write Logic for the Reports. please send me step by step.
    My mail id is    [email protected]
    Thank you very much.
    Awaiting for your response.

    hi,
    Please give me one example , and how we enter into tables, and how we know which table we have to use, and we will write logic.
    Ex;---if our client needs total sales commission payed by him.... if it is below 100,
    and if it above hundred....like that
    for that purpose in which place we will write logic.; i need the place where we write the logic.
    please send me tcodes and step by steps.
    Thank you very much,
    awaiting for your reply.
    my mail id is      [email protected]

  • In asap methodology  where the role of abapers will come?

    friends let me know ,in  project implementation in which phase the abapers are going to
    involve ?please provide me in detail?

    Hi,
            In Project Implementation when the Design Phase will start then the developers come into Picture.
    When Function Specification or Blue Print is ready then you require developers and also Technical Lead to be in conference calls or in picture with the client to know the requirement .
    Based on that Design Document is prepared beased on developers start the development .
    PLease reward if useful.

  • ROLE OF ABAPERS IN SAP-PLM DEVELOPMENT

    HI EXPERTS,
    I am having 3 yrs of exp in sap - abap. I got an offer to work with sap-plm, please let me know the <b>role of abapers in sap-plm development</b>. If any document u  can send me to [email protected]
    Thanks&Regards.
    B.SRINIVASULU.
    09916308002.

    Hi Bysani,
    As ABAP guy in SAP-PLM project you be working mostly on Enhancements, Field exist, user Exists and Reports.
    There is nothing worry about SAP-PLM, the work you may get is based on customer requirement & scenarios but you will receive the Detail Funcitonal Specification from the PLM Functional Consultant.
    As i mentioned the ABAP work is mostly on Field Exists to make some fields mandatories, User Exists, Functional Modules, Enhancements & Reports.
    For details queries you can write in SDN, you will get the replies.
    Best of Luck for your new assignment.
    Regards
    Rehman
    Mark Useful Answers

  • Give me some PP important tables and Tcodes for abapers

    give me some PP important tables and Tcodes for abapers
    thank you,
    Regards,
    Jagrut Bharatkumar Shukla

    10     Production Planning (PP)
    10.1     Work center
         CRHH                    Work center hierarchy
         CRHS                    Hierarchy structure
    CRHD                    Work center header
    CRTX                    Text for the Work Center or Production Resource/Tool
         CRCO                    Assignment of Work Center to Cost Center
         KAKO                    Capacity Header Segment
         CRCA                    Work Center Capacity Allocation
         TC24                    Person responsible for the workcenter
         CRCO                    Allocation of costcentre to workcentre
                 S022                    Order Operation Data for Work Center
    10.2     Routings/operations
         MAPL                    Allocation of task lists to materials
         PLAS                    Task list - selection of operations/activities
         PLFH                    Task list - production resources/tools
         PLFL                    Task list - sequences
         PLKO                    Task list - header
         PLKZ                    Task list: main header
         PLPH                    Phases / suboperations
         PLPO                    Task list operation / activity
         PLPR                    Log collector for tasklists
         PLMZ                    Allocation of BOM - items to operations
    10.3     Bill of material
         STKO                    BOM - header
         STPO                    BOM - item
         STAS                    BOMs - Item Selection
         STPN                    BOMs - follow-up control
         STPU                    BOM - sub-item
         STZU                    Permanent BOM data
         PLMZ                    Allocation of BOM - items to operations
         MAST                    Material to BOM link
         KDST                    Sales order to BOM link
    10.4     Production orders
         AUFK                    Production order headers
         AFIH                    Maintenance order header
         AUFM                    Goods movement for prod. order
         AFKO                    Order header data PP orders
         AFPO                    Order item
         RESB                    Order componenten     
           AFVC                    Order operations
         AFVV                    Quantities/dates/values in the operation
         AFVU                    User fields of the operation
         AFFL                    Work order sequence
         AFFH                    PRT assignment data for the work order(routing)
         JSTO                    Status profile
    JEST                    Object status
         AFRU                    Order completion confirmations
               PRT’s voor production orders
         AFFH                    PRT assignment data for the work order
         CRVD_A               Link of PRT to Document
         DRAW                    Document Info Record
         TDWA                    Document Types
         TDWD                    Data Carrier/Network Nodes
         TDWE                    Data Carrier Type
    10.5     Planned orders
         PLAF                    Planned orders
    10.6     KANBAN
         PKPS                    Kanban identification, control cycle
         PKHD                    Kanban control cycle (header data)
         PKER                    Error log for Kanban containers
    10.7     Reservations
         RESB                    Material reservations
         RKPF                    header
    10.8     Capacity planning
    KBKO                    Header record for capacity requirements
    KBED                    Capacity requirements records
    KBEZ                    Add. data for table KBED (for indiv. capacities/splits)
    10.9     Planned independent requirements
         PBIM                    Independent requirements for material
         PBED                    Independent requirement data
         PBHI                    Independent requirement history
         PBIV                    Independent requirement index
         PBIC                    Independent requirement index for customer req.

  • SD reports we generated with the the help of ABAPers

    What are the SD reports we generated with the the help of ABAPers? How can we modify existing reports?

    Hi Gopala.,
                  Customer uses standard SAP reports if he wants additional reports apart from the functionality provided we functional people give the specifiction to the technical peole ABAPERS reagrding the report we needed and the tables and fields of the particular repot,With the help of that ABAPERS develop Query reports or they create reports
    Some reports we also can generate using LIS
    REWARD if helpfull
    Thanks & Regards
    Narayana
    Message was edited by:
            manam narayana

  • XPRAS_UPG error. Do ABAPers fix these?

    Experts,
    The XPRAS_UPG phase is failing, because the program SAPLSDHI has syntax error in with SHLP_DESCR_TAB_T type missing or not defined. I checked all the underlying data types that define SHLP_DESCR_TAB_T and all are OK. What could possibly be the cause? Did anyone come across  a similar situation? BTW, I am upgrading from 4.0B to ECC 6.0.
    Do ABAPers enter the scene in this phase to fix errors?
    Thanks in advance. Points will be gratefully awarded.
    Edited by: NW on May 19, 2008 8:49 AM

    Hi Raj,
    for problems during XPRASS_UPG or any other phase refer to the upgrade manual according to the source and target release
    this will give you notes that contains solution to general errors such as this
    Thanks and Regards
    Abdul Hadi

  • Fresher Jobs for Certified ABAPers - Need Working Professionals' helps...

    Am 1 among the Certified ABAPers (fresher) in the job hunt. Would be of great help if the working professionals help us out in our job hunts. Please share info on the openings / buddy referrals in your concern. Many many many are waiting, just not me!

    Hi Nithya,
    as far as i have seen the scenario, its too tough to get a job as an fresher in most of the IT companies,
    so according to my own experience, you have to search your job in any middle or small scale companies, if you are in any major city , then i will suggest you to look into any infrastructure or real estate company, who have just implemented sap, in your city you have to search for those infrastructure company , those having many project in our out of town, any infrastructure company having many projects in their hands generally implements SAP , and after that they needs some abaper to support their implemented projects.
    You can also search your job in any small level company whom have some more branches in other states or cities, these are handy task and may take some times, but will be fruitful to you , if you will succeed in achieving your goal.
    If you have any dought, please feel free to revert by specifying the city name you are looking for a job.

  • What is ABAPers Role??

    1) What Abapers work in SAP(any company) for different modules like SD, PP, MM, FICO etc?
    2) As a fresher what an abaper need to practice more?
    3) What type of report we have to create? any example?
    4) Is it neccesary for any fresher to have atleast one-lifecycle experience?

    Hi
    ) What Abapers work in SAP(any company) for different modules like SD, PP, MM, FICO etc?
    You have to create reports,scripts, transactions, exits in those modules
    2) As a fresher what an abaper need to practice more?
    reports,scripts, transactions, exits
    3) What type of report we have to create? any example?
    Classical, Interactive reports and ALV reports
    4) Is it neccesary for any fresher to have atleast one-lifecycle experience?
    If you work in one full life cycle implementation project, then it will be good for your carrier.
    Reward points for useful Answers
    Regards
    Anji

  • Scope for ABAPers in SCM

    Hi Guys...
    I am SAP ABAPers having 3.5 yr of exp and i am planning to switch to SCM. I do have very good understanding of SD.Following are queries:
    1. What are the fields/area in SCM where i should be working as technical guy and also whats are the corresponding knowledge in ABAP can be capitalized?
    2. Where should i start from in SCM?
    3. can anybody please tell me very good material with practical examples....
    Thanks a lot guys in advance..

    Hi,
    Go through the links below , It may help you
    http://wiki.sdn.sap.com/wiki/display/BI/Aggregates--SAPBWQueryPerformance
    http://help.sap.com/saphelp_nw70/helpdata/EN/9a/33853bbc188f2be10000000a114084/frameset.htm
    http://help.sap.com/saphelp_nw70/helpdata/en/c5/40813b680c250fe10000000a114084/content.htm
    http://www.sdn.sap.com/irj/scn/index;jsessionid=(J2EE3417700)ID0168391950DB10940851676120293872End?rid=/library/uuid/3a699d90-0201-0010-bc99-d5c0e3a2c87b&overridelayout=true
    http://sap.seo-gym.com/performance%20tuning%20for%20queries.pdf
    Regards,
    Marasa.

  • Future of ABAPers

    Now maost of the applications in SAP are written using JAVA. If it continues then what s the future of ABAPers... Do we have to learn JAVA  for developing applications in SAP?Please clear my doubts..

    Hi Selva Kumar,
                 I am not agree with you that most of the SAP application are written in JAVA. In SAP whatever the business logic and screens etc you find are all created in ABAP. To make fit SAP for business requirement there will be always ABAPer.  ABAPer has lots of role in SAP . In all the modules most of the people are from ABAP.
               From 6.0 version SAP has accepted JAVA  for web application . You should not worry about the future of ABAP.  You can learn JAVA or ABAP as your choice.
    Reward if helpful
    Thanks,
    Manas

  • Hello abapers

    i am working on alv report.i want to know how to get end_of_page (summary at the bottom)in the list

    Hi,
    I am sending sample coding for the ALV REPORT. Kindly go through it.
    REPORT YMS_EXDET MESSAGE-ID E4 NO STANDARD PAGE HEADING LINE-SIZE 350.
    *REPORT  ZMM_EXIN_DOC_ALV_HEADER .
    TABLES : J_1IEXCHDR,      " header table
             J_1IEXCDTL,      " item table
             J_1IPART1,       " Excise part I detials
             J_1IPART2,       " Excise Part II details
             LFA1,            " vendor master table
             J_1IMOVEND,      " vendor excise details table
             MSEG,            " Document Segment: Material
             MKPF,            " Header: Material Document
             DD07T,           " domain text table
             T001W.           " Plant and Branch Details
    DATA : BEGIN OF IT_CHDR OCCURS 100,
           SERIALNO   LIKE J_1IPART1-SERIALNO,
           DOCNO      LIKE J_1IEXCHDR-DOCNO,
           DOCYR      LIKE J_1IEXCHDR-DOCYR,
           EXNUM      LIKE J_1IEXCHDR-EXNUM,
           EXDAT      LIKE J_1IEXCHDR-EXDAT,
           WERKS      LIKE J_1IEXCHDR-WERKS,
           EXBED      LIKE J_1IEXCHDR-EXBED,
           EXCCD      LIKE J_1IEXCHDR-EXCCD,
           ECS        LIKE J_1IEXCHDR-ECS,
           STATUS LIKE J_1IEXCHDR-STATUS, "CHALLAN STATUS
           END OF IT_CHDR.
    DATA : BEGIN OF IT_CDTL OCCURS 100,
           SERIALNO LIKE J_1IPART1-SERIALNO,
           DOCYR  LIKE J_1IEXCDTL-DOCYR,
           DOCNO  LIKE J_1IEXCDTL-DOCNO,
           EXNUM  LIKE J_1IEXCDTL-EXNUM,
           EXDAT  LIKE J_1IEXCDTL-EXDAT,
           LIFNR  LIKE J_1IEXCDTL-LIFNR,
           MATNR  LIKE J_1IEXCDTL-MATNR,
           MAKTX  LIKE J_1IEXCDTL-MAKTX,
           CHAPID LIKE J_1IEXCDTL-CHAPID,
           EXBAS  LIKE J_1IEXCDTL-EXBAS,
           EXBED  LIKE J_1IEXCDTL-EXBED,
           ECS    LIKE J_1IEXCDTL-ECS,
           MENGE  LIKE J_1IEXCDTL-MENGE,
           MEINS  LIKE J_1IEXCDTL-MEINS,
           RDOC2  LIKE J_1IEXCDTL-RDOC2,
           EXGRP  LIKE J_1IEXCDTL-EXGRP,
           RDOC1  LIKE J_1IEXCDTL-RDOC1,
           STATUS LIKE J_1IEXCDTL-STATUS, "CHALLAN STATUS
           END OF IT_CDTL.
    DATA TEXT(10).
    DATA : BEGIN OF IT_OUT OCCURS 0,
           SERIALNO LIKE J_1IPART1-SERIALNO,
           TEXT1    LIKE TEXT,
           EXNUM    LIKE J_1IEXCDTL-EXNUM,
           EXDAT    LIKE J_1IEXCDTL-EXDAT,
           NAME     LIKE LFA1-NAME1,
           DDTEXT   LIKE DD07T-DDTEXT,
           EXCCD    LIKE J_1IEXCHDR-EXCCD,
           BUDAT    LIKE MKPF-BUDAT,
           EXBAS    LIKE IT_CDTL-EXBAS,
           EXBED    LIKE IT_CDTL-EXBED,
           ECS      LIKE IT_CDTL-ECS,
           MATNR    LIKE IT_CDTL-MATNR,
           MAKTX    LIKE IT_CDTL-MAKTX,
           CHAPID   LIKE IT_CDTL-CHAPID,
           MENGE    LIKE IT_CDTL-MENGE,
           MEINS    LIKE IT_CDTL-MEINS,
           DEL_IND(1),
           END OF IT_OUT.
    DATA IT_PART2 LIKE J_1IPART1 OCCURS 0 WITH HEADER LINE.
    DATA S_NO(4) .
    DATA DB_CNT LIKE SY-TABIX.
    DATA EBELN_T LIKE MSEG-EBELN .
    TYPE-POOLS : SLIS.
    DATA : AFIELD TYPE SLIS_FIELDCAT_ALV.
    DATA : LIST_HEADER   TYPE SLIS_T_LISTHEADER,
           FIELDCAT      TYPE SLIS_T_FIELDCAT_ALV,
           LS_FTCAT      TYPE LVC_S_FCAT,
           SORTCAT       TYPE SLIS_T_SORTINFO_ALV,
           SORTCAT_LN    LIKE LINE OF SORTCAT,
           G_REPID LIKE SY-REPID,
           G_BACK_GROUND(70),  "like bapibds01-objkey,
           GS_VARIANT LIKE DISVARIANT,
           G_SAVE ,
           GT_EVENTS TYPE SLIS_T_EVENT,
           ALV_EVENT TYPE SLIS_ALV_EVENT,
           EVENTCAT             TYPE SLIS_T_EVENT,
           EVENTCAT_LN          LIKE LINE OF EVENTCAT,
           LAYOUT_IN            TYPE SLIS_LAYOUT_ALV,
           LAYOUT_IN1           TYPE SLIS_LAYOUT_ALV.
    CONSTANTS : GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE
    'TOP_OF_PAGE',
                GC_FORMNAME_USER_COMMAND TYPE SLIS_FORMNAME VALUE
    'USER_COMMAND',
                GC_FORMNAME_BEFORE_OUTPUT TYPE SLIS_FORMNAME VALUE
    'BEFORE_OUTPUT'.
      ALV_EVENT TYPE SLIS_ALV_EVENT,
    DATA EX_NO LIKE IT_CHDR-EXNUM VALUE 0.
    DATA REGTYP_1 LIKE J_1IPART1-REGTYP.
    SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME.
    PARAMETERS  WERKS TYPE J_1IEXCHDR-WERKS.
    SELECT-OPTIONS : BUDAT FOR J_1IEXCHDR-EXDAT.
    PARAMETERS : R1 RADIOBUTTON GROUP GRP DEFAULT 'X',
                 R2 RADIOBUTTON GROUP GRP.
    SELECTION-SCREEN END OF BLOCK B.
    INITIALIZATION.
      G_REPID = SY-REPID.
      G_SAVE = 'A'.
    PERFORM BUILD_EVENT USING GT_EVENTS[].
      PERFORM ALV_EVENT_INIT.
    AT SELECTION-SCREEN.
      REFRESH LIST_HEADER.
      PERFORM TOP_OF_PAGE_LIST_HEADER USING LIST_HEADER.
    START-OF-SELECTION.
    PERFORM ALV_EVENT_INIT.
      G_REPID = SY-REPID.
      G_BACK_GROUND = ' ' .
      IF R1 = 'X'.
        CLEAR R2. CLEAR : REGTYP_1.
        REGTYP_1 = 'A'.
         set titlebar 'BALAJI' with DB_CNT.
      ELSEIF R2 = 'X'.
        CLEAR R1.CLEAR : REGTYP_1.
        REGTYP_1 = 'C'.
         set titlebar 'BALAJI1' with DB_CNT.
      ENDIF.
    SELECT * FROM J_1IPART1
                      INTO CORRESPONDING FIELDS OF TABLE IT_PART2
                      WHERE REGTYP = REGTYP_1 AND
                            TRNTYP = 'GRPO'.
                            AND BUDAT IN BUDAT.
                              DOCYR = IT_CDTL-DOCYR AND
                              DOCNO = IT_CDTL-DOCNO.
    LOOP AT IT_PART2.
       SELECT SINGLE * FROM J_1IEXCHDR
                 INTO CORRESPONDING FIELDS OF IT_CHDR
                         WHERE  TRNTYP = 'GRPO' AND
                          STATUS NE ' ' AND
                         STATUS EQ ' ' AND
                         DOCYR = IT_PART2-DOCYR AND
                         DOCNO = IT_PART2-DOCNO AND
                         WERKS = WERKS AND
                         EXDAT IN BUDAT.
                       ORDER BY EXDAT.
       IF SY-SUBRC = 0.
         APPEND IT_CHDR.
       ELSE.
         CONTINUE.
       ENDIF.
    IF SY-SUBRC <> 0.
       MESSAGE E084.
    ENDIF.
    ENDLOOP.
    *******************SPD****************
    SELECT * INTO CORRESPONDING FIELDS OF IT_CDTL FROM J_1IEXCDTL WHERE
                                   TRNTYP = 'GRPO' AND WERKS = WERKS AND
                                    EXDAT IN BUDAT AND STATUS NE 'B'.
    SELECT SINGLE * FROM J_1IPART1 WHERE DOCNO = IT_CDTL-DOCNO AND
                                         DOCYR = IT_CDTL-DOCYR AND
                                         REGTYP = REGTYP_1.
    IF SY-SUBRC EQ 0.
    SELECT SINGLE * FROM J_1IPART2 WHERE DOCNO = IT_CDTL-DOCNO AND
                                             DOCYR = IT_CDTL-DOCYR.
      IF SY-SUBRC NE 0.
        IT_CDTL-SERIALNO = J_1IPART1-SERIALNO.
        APPEND IT_CDTL.
      ENDIF.
    ENDIF.
    ENDSELECT.
    ***************SPD********************
    SELECT BDOCNO BDOCYR BEXNUM BEXDAT BWERKS BEXBED B~EXCCD
           B~ECS
           B~STATUS
           A~SERIALNO
           FROM J_1IPART1 AS A INNER JOIN J_1IEXCHDR AS B
           ON ADOCYR = BDOCYR AND ADOCNO = BDOCNO INTO CORRESPONDING
           FIELDS OF TABLE IT_CHDR WHERE B~TRNTYP = 'GRPO' AND
           BWERKS = WERKS AND BEXDAT IN BUDAT AND
           B~STATUS = ' ' AND
           B~STATUS = 'C' AND
           A~REGTYP = REGTYP_1.
    SORT IT_PART2 BY SERIALNO.
    LOOP AT IT_CHDR.
       SELECT * FROM J_1IEXCDTL
                 INTO CORRESPONDING FIELDS OF IT_CDTL
                FOR ALL ENTRIES IN IT_CHDR
                        WHERE
                         TRNTYP = 'GRPO' AND
                          STATUS EQ ' ' AND
                          STATUS EQ 'C' AND
                         STATUS NE 'P' AND
                         DOCNO  = IT_CHDR-DOCNO AND
                         DOCYR  = IT_CHDR-DOCYR AND
                         EXNUM  = IT_CHDR-EXNUM AND
                         EXDAT  = IT_CHDR-EXDAT AND
                         WERKS  = IT_CHDR-WERKS.
         IF SY-SUBRC = 0.
           APPEND IT_CDTL.
           CLEAR  IT_CDTL.
         ELSE.
           CONTINUE.
         ENDIF.
       ENDSELECT.
    MODIFY IT_CDTL INDEX SY-TABIX.
    CLEAR IT_CDTL.
    ENDLOOP.
    *****spd change**********
    *LOOP AT IT_CDTL.
    *SELECT SINGLE * FROM J_1IPART2 WHERE DOCNO = IT_CDTL-DOCNO AND
                                        DOCYR = IT_CDTL-DOCYR.
    *IF SY-SUBRC = 0.
    DELETE IT_CDTL INDEX SY-TABIX.
    *ENDIF.
    *ENDLOOP.
    **SELECT
    *******spd ****************
    SORT IT_CDTL BY  EXNUM EXDAT.
    DELETE ADJACENT DUPLICATES FROM IT_CDTL COMPARING MATNR EXNUM EXDAT.
      LOOP AT IT_CDTL.
        CLEAR TEXT.
        DB_CNT = DB_CNT + 1.
        READ TABLE IT_CHDR WITH KEY EXNUM = IT_CDTL-EXNUM DOCNO =
    IT_CDTL-DOCNO.
       READ TABLE IT_PART2 WITH KEY DOCNO = IT_CDTL-DOCNO .
       IT_OUT-SERIALNO = IT_PART2-SERIALNO.
        SELECT SINGLE NAME1 FROM LFA1
                        INTO IT_OUT-NAME
                        WHERE LIFNR = IT_CDTL-LIFNR.
        SELECT SINGLE * FROM LFA1
                          WHERE LIFNR = IT_CDTL-LIFNR.
        IF LFA1-LAND1 EQ 'IN'.
          TEXT = 'INVOICE'.
          IT_OUT-TEXT1 = TEXT.
        ELSE.
          TEXT = 'BOE'.
          IT_OUT-TEXT1 = TEXT.
        ENDIF.
        SELECT SINGLE * FROM J_1IMOVEND
                        WHERE LIFNR = IT_CDTL-LIFNR.
        SELECT SINGLE * FROM DD07T
                       INTO IT_OUT-DDTEXT
                        WHERE DOMNAME = 'J_1IVTYP' AND
                              DDLANGUAGE = 'EN' AND
                              DOMVALUE_L = J_1IMOVEND-J_1IVTYP.
      IF DD07T-DDTEXT = 'First Stage Dealer of indigenous excisable goods'
    OR
        DD07T-DDTEXT = 'Second Stage Dealer of indigenous excisablegoods'.
          DD07T-DDTEXT = 'Dealer'.
        ENDIF.
        IT_OUT-DDTEXT = DD07T-DDTEXT.
       ELSEIF DD07T-DDTEXT = 'Second Stage Dealer of indigenous excisable
    *goods'.
          DD07T-DDTEXT =
        CLEAR EBELN_T.
        SELECT SINGLE LFBNR FROM MSEG
                            INTO EBELN_T
                            WHERE MBLNR = IT_CDTL-RDOC2 .
        SELECT SINGLE * FROM MSEG
                          WHERE BWART EQ '106' AND
                                LFBNR = EBELN_T ."and
                               ebeln = ebeln_t.
        IF SY-SUBRC = 0.
          IT_OUT-DEL_IND = 'X'.
        ELSE.
          IT_OUT-DEL_IND = ' '.
        ENDIF.
        SELECT SINGLE BUDAT FROM MKPF
                          INTO IT_OUT-BUDAT
                          WHERE MBLNR = EBELN_T  ."MSEG-LFBNR.
        IT_OUT-EXNUM = IT_CDTL-EXNUM.
        IT_OUT-EXDAT = IT_CDTL-EXDAT.
        IT_OUT-EXCCD = IT_CHDR-EXCCD.
       IT_OUT-SERIALNO = IT_CHDR-SERIALNO.
        IT_OUT-SERIALNO = IT_CDTL-SERIALNO.
        IT_OUT-EXBAS = IT_CDTL-EXBAS.
        IT_OUT-EXBED = IT_CDTL-EXBED.
        IT_OUT-ECS   = IT_CDTL-ECS.
        IT_OUT-MATNR = IT_CDTL-MATNR.
        IT_OUT-MAKTX = IT_CDTL-MAKTX.
        IT_OUT-CHAPID = IT_CDTL-CHAPID.
        IT_OUT-MENGE = IT_CDTL-MENGE.
        IT_OUT-MEINS = IT_CDTL-MEINS.
        APPEND IT_OUT.
       EX_NO = IT_CDTL-EXNUM.
      ENDLOOP.
    Title Portion
      IF REGTYP_1 = 'A'.
        SET TITLEBAR 'BALAJI' WITH DB_CNT.
      ELSEIF REGTYP_1 = 'C'.
        SET TITLEBAR 'BALAJI1' WITH DB_CNT.
      ENDIF.
      AFIELD-COL_POS = 1.
      AFIELD-FIELDNAME = 'SERIALNO'.
      AFIELD-SELTEXT_L = 'SERIAL NO.'.
      AFIELD-JUST = 'L'.
      APPEND AFIELD TO FIELDCAT.
      AFIELD-COL_POS = 2.
      AFIELD-FIELDNAME = 'TEXT1'.
      AFIELD-SELTEXT_L = 'TYPE OF DOC'.
      AFIELD-JUST = 'L'.
      AFIELD-DECIMALS_OUT = '0'.
      AFIELD-NO_ZERO = 'X'.
      APPEND AFIELD TO FIELDCAT.
      AFIELD-COL_POS = 3.
      AFIELD-FIELDNAME = 'EXNUM'.
      AFIELD-SELTEXT_L = 'DOC.NO'.
      AFIELD-JUST = 'L'.
      APPEND AFIELD TO FIELDCAT.
      AFIELD-COL_POS = 4.
      AFIELD-FIELDNAME = 'EXDAT'.
      AFIELD-SELTEXT_L = 'DOC.DATE'.
      AFIELD-JUST = 'C'.
      APPEND AFIELD TO FIELDCAT.
      AFIELD-COL_POS = 5.
      AFIELD-FIELDNAME = 'NAME'.
      AFIELD-SELTEXT_L = 'NAME OF THE SUPPLIER'.
      AFIELD-NO_ZERO = 'X'.
      AFIELD-JUST = 'L'.
      APPEND AFIELD TO FIELDCAT.
      AFIELD-COL_POS = 6.
      AFIELD-FIELDNAME = 'DDTEXT'.
      AFIELD-SELTEXT_L = 'TYPE-OF-SUPPLIER'.
      AFIELD-JUST = 'L'.
      APPEND AFIELD TO FIELDCAT.
      AFIELD-COL_POS = 7.
      AFIELD-FIELDNAME = 'EXCCD'.
      AFIELD-SELTEXT_L = 'ECC OF THE SUPPLIER'.
      AFIELD-NO_ZERO = 'X'.
      AFIELD-JUST = 'L'.
      APPEND AFIELD TO FIELDCAT.
      AFIELD-COL_POS = 8.
      AFIELD-FIELDNAME = 'BUDAT'.
      AFIELD-SELTEXT_L = 'INPUT RECV DATE'.
      AFIELD-JUST = 'C'.
      APPEND AFIELD TO FIELDCAT.
      AFIELD-COL_POS = 9.
      AFIELD-FIELDNAME = 'EXBAS'.
      AFIELD-SELTEXT_L = 'ASSESSABLE-VALUE'.
      AFIELD-DO_SUM             = 'X'.
      AFIELD-JUST = 'R'.
      AFIELD-DECIMALS_OUT = '2'.
      APPEND AFIELD TO FIELDCAT.
      AFIELD-COL_POS = 10.
      AFIELD-FIELDNAME = 'EXBED'.
      AFIELD-SELTEXT_L = 'DET OF CREDIT TAKEN CENVAT'.
      AFIELD-JUST = 'R'.
      APPEND AFIELD TO FIELDCAT.
      AFIELD-COL_POS = 11.
      AFIELD-FIELDNAME = 'ECS'.
      AFIELD-SELTEXT_L = 'DET OF CREDIT TAKEN E-CESS'.
      AFIELD-JUST = 'R'.
      APPEND AFIELD TO FIELDCAT.
      AFIELD-COL_POS = 12.
      AFIELD-FIELDNAME = 'MATNR'.
      AFIELD-SELTEXT_L = 'MATERIAL-CODE'.
      AFIELD-JUST = 'L'.
      APPEND AFIELD TO FIELDCAT.
      AFIELD-COL_POS = 13.
      AFIELD-FIELDNAME = 'MAKTX'.
      AFIELD-SELTEXT_L = 'DESCRIPTION'.
      AFIELD-JUST = 'L'.
      APPEND AFIELD TO FIELDCAT.
      AFIELD-COL_POS = 14.
      AFIELD-FIELDNAME = 'CHAPID'.
      AFIELD-SELTEXT_L = 'TARIFF-ID'.
      AFIELD-JUST = 'L'.
      APPEND AFIELD TO FIELDCAT.
      AFIELD-COL_POS = 15.
      AFIELD-FIELDNAME = 'MENGE'.
      AFIELD-SELTEXT_L = 'QUANTITY'.
      AFIELD-JUST = 'R'.
      AFIELD-DO_SUM             = ' '.
      APPEND AFIELD TO FIELDCAT.
      AFIELD-COL_POS = 16.
      AFIELD-FIELDNAME = 'MEINS'.
      AFIELD-SELTEXT_L = 'UOM'.
      AFIELD-JUST = 'C'.
      APPEND AFIELD TO FIELDCAT.
      AFIELD-COL_POS = 17.
      AFIELD-FIELDNAME = 'DEL_IND'.
      AFIELD-SELTEXT_L = 'Deleted'.
      AFIELD-JUST = 'C'.
      APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 18.
    AFIELD-FIELDNAME = 'PO NO'.
    AFIELD-SELTEXT_L = 'PURDOCNO'.
    AFIELD-JUST = 'C'.
    APPEND AFIELD TO FIELDCAT.
    * LAYOUT FOR ZEBRA CATLOG
      LAYOUT_IN-COLWIDTH_OPTIMIZE = 'X'.
      LAYOUT_IN-ZEBRA             = 'X'.
      LAYOUT_IN-GET_SELINFOS      = 'X'.
      LAYOUT_IN-CONFIRMATION_PROMPT = 'X'.
      LAYOUT_IN-DETAIL_POPUP = 'X' .
    SORTCAT-decimals     = '0'.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM      = G_REPID
          I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
          I_SAVE                  = G_SAVE
          IS_VARIANT              = GS_VARIANT
          IT_FIELDCAT             = FIELDCAT
          IT_SORT                 = SORTCAT
          IS_LAYOUT               = LAYOUT_IN
          IT_EVENTS               = EVENTCAT
         I_BACKGROUND_ID         = g_back_ground
        TABLES
          T_OUTTAB                = IT_OUT.
    *&      Form  TOP_OF_PAGE_LIST_HEADER
          text
         -->LIST_HEADERtext
    FORM TOP_OF_PAGE_LIST_HEADER USING LIST_HEADER TYPE SLIS_T_LISTHEADER.
      DATA : HLINE TYPE SLIS_LISTHEADER,
             TEXT(60) TYPE C.
      CLEAR : HLINE,TEXT.
      HLINE-TYP = 'H'.
      HLINE-INFO = TEXT.
      APPEND HLINE TO LIST_HEADER.
      SELECT SINGLE * FROM T001W WHERE WERKS = WERKS.
      CLEAR : HLINE,TEXT.
      HLINE-TYP = 'H'.
      WRITE 'PLANT :' TO TEXT.
      WRITE WERKS TO TEXT+8.
      HLINE-INFO = TEXT.
      APPEND HLINE TO LIST_HEADER.
      CLEAR : HLINE,TEXT.
      HLINE-TYP = 'H'.
      WRITE T001W-NAME1 TO TEXT.
      HLINE-INFO = TEXT.
      APPEND HLINE TO LIST_HEADER.
      CLEAR : HLINE,TEXT.
      HLINE-TYP = 'H'.
      WRITE T001W-STRAS TO TEXT.
      HLINE-INFO = TEXT.
      APPEND HLINE TO LIST_HEADER.
      CLEAR : HLINE,TEXT.
      HLINE-TYP = 'H'.
      WRITE T001W-ORT01 TO TEXT.
      HLINE-INFO = TEXT.
      APPEND HLINE TO LIST_HEADER.
      CLEAR : HLINE,TEXT.
      HLINE-TYP = 'H'.
      WRITE 'DATE :' TO TEXT.
      WRITE BUDAT-LOW TO TEXT+7.
      IF BUDAT-HIGH NE ''.
        WRITE 'TO' TO TEXT+18.
        WRITE BUDAT-HIGH TO TEXT+22.
      ENDIF.
      HLINE-INFO = TEXT.
      APPEND HLINE TO LIST_HEADER.
    ENDFORM.                    "TOP_OF_PAGE_LIST_HEADER
    *&      Form  ALV_EVENT_INIT
          text
    FORM ALV_EVENT_INIT .
      CLEAR ALV_EVENT.
      ALV_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
      ALV_EVENT-FORM = 'ALV_TOP_OF_PAGE'.
      APPEND ALV_EVENT TO EVENTCAT.
      CLEAR ALV_EVENT.
      ALV_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
      ALV_EVENT-FORM = 'ALV_TOP_OF_LIST'.
      APPEND ALV_EVENT TO EVENTCAT.
       CLEAR ALV_EVENT.
       ALV_EVENT-NAME = SLIS_EV_END_OF_LIST.
       ALV_EVENT-FORM = 'ALV_END_OF_LIST'.
       APPEND ALV_EVENT TO GT_EVENTS.
       CLEAR ALV_EVENT.
       ALV_EVENT-NAME = SLIS_EV_END_OF_PAGE.
       ALV_EVENT-FORM = 'ALV_END_OF_PAGE'.
       APPEND ALV_EVENT TO GT_EVENTS.
    ENDFORM.                    "ALV_EVENT_INIT
    *&      Form  ALV_TOP_OF_PAGE
          text
    FORM ALV_TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY = LIST_HEADER
          I_LOGO             = 'ENJOYSAP_LOGO'.
    ENDFORM.                    "ALV_TOP_OF_PAGE
    *&      Form  BUILD_EVENT
          text
         -->P_GT_EVENTS[]  text
    FORM BUILD_EVENT USING P_EVENTS TYPE SLIS_T_EVENT.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          I_LIST_TYPE     = 0
        IMPORTING
          ET_EVENTS       = P_EVENTS
        EXCEPTIONS
          LIST_TYPE_WRONG = 1
          OTHERS          = 2.
      READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND INTO
    ALV_EVENT.
      IF SY-SUBRC = 0.
        MOVE GC_FORMNAME_USER_COMMAND TO ALV_EVENT-FORM.
        APPEND ALV_EVENT TO P_EVENTS.
      ENDIF.
      READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_BEFORE_LINE_OUTPUT INTO
    ALV_EVENT.
      IF SY-SUBRC = 0.
        MOVE GC_FORMNAME_BEFORE_OUTPUT TO ALV_EVENT-FORM.
        APPEND ALV_EVENT TO P_EVENTS.
      ENDIF.
    ENDFORM.                    " BUILD_EVENT
    Thanks,
    Shankar

Maybe you are looking for

  • Old Computer whent bad how do I deauthorize it?

    All right I live in more than one place to start off with so I have 2 computer two start with that I authorize to play and down load music + a laptop. Well I had a hard drive go bad on one computer and then my Step father decied to reload the pc that

  • Portalweb 500, Internal Server Error

    **Looking for help** I'm running a ConfigMgr 2012 R2 setup, and on the Primary site I'm unable to work with AppCatalog. Looks like IIS isn't functioning properly and I'm getting the following-- from portlctl.log- Call to HttpSendRequestSync failed fo

  • Second Gen Ipod Nano on Vista, not syncing

    My Ipod still works and I can play I Tunes just fine on my computer. However, it absolutely refuses to work with me. Can anyone help me, please? I knew Vista was a bad idea.

  • Diffence in line item display and Balance display

    Hi Gurus, Please let me know why there is difference in line item display and balance display in one of GL account in previous year for 1 posting period.what can be cause for this, If I go at FS10n and check the balance for specific period it shows d

  • ORA-00604,ORA-00600,ORA-1652,ORA-1653,ORA-00257 errors

    Hi All, I am getting the below alerts in my Oracle 9i database. ORA-00604: error occurred at recursive SQL level 3 ORA-00600: internal error code, arguments: [kghpih:ds], [ ORA-1652: unable to extend temp segment by 128 in tablespace           TS_PHD