Report to show closed POs

Hi Experts,
Is there report in purchasing which allow us to extract a list of Closed PO ?
( PO for which goods receipt & invoicing is done)
Can any one guide me thru, Many thanks.
Regards,
Simha

Hi All,
Many thanks for your inputs.
In ME2N, Can you pls guide me what inputs i need to consider in 'dynamic selections' for POs where Goods receipt is done and Invoicing is done?
Is it that
Purchasing Document Item ->
                                           Delivery Completed = 'X'
                                           Invoice receipt        = 'X'
With this input will i be able to retrieve POs for which Goods receipt and Invoicing is done?
Regards,
Simha

Similar Messages

  • Report to show all calls raised and closed by month

    Hi all,
    could someone please help me? I have made a report to show the number of support calls raised in any given month as shown here...
    select count(distinct id) as "Number of calls", to_char(date_raised,'Mon')as "Month Raised", to_char(date_raised,'MM') date_raised1
    from requests
    where date_raised >='01-JAN-2007'
    group by to_char(date_raised,'MM' ),to_char(date_raised,'Mon' )
    what I am struggling with is a similar one to show the number of calls raised (requests.date_raised) and closed (requests.date_closed) within each given month. Is it even possible to do this in a single query?
    Thanks for any help you can give me.
    Jay

    Hi James
    How is life in Bristol?
    This is SQL, not APEX so you might have more luck in another forum but the following might be what you're after...
    select 'Requests' action, count(*) count, trunc(date_raised, 'MON') mmm
    from requests rm
    group by trunc(date_raised, 'MON')
    union all
    select 'Closures' action, count(*), trunc(date_closed, 'MON')
    from requests rm
    where date_closed is not null
    group by trunc(date_closed, 'MON')
    Phil

  • Extracting closed POs in ME2N report

    Hi guys,
    How do i extract all closed POs during certain period using ME2N report.also how do i display some more detail from other fields in the report.( adding custom scope ).Is there any parameter which can filter POs by  closing date
    looking forward for your suggestions.
    Thanks
    Chris T

    Hello Chris,
    If you have custom fields then you can do it using Query or developing a report with the help of technical experts.
    For query: Refer to the first thread of this forum.
    For developing report : Consult with your technical expert, explain him your requirement, give the fields you want as input and as output. he will develop a report based on your requirement.
    Hope this helps.
    Regards
    Arif Mansuri

  • Daily Report of Opening closing balance & Consumption

    Dear Experts,
         We are implementing for dairy industry (PI) and here is requirement to develop a report which shows daily raw milk consumption ( Movement type 261) and daily opening and closing balances of raw as well as finished milk, Finished milk is produced using strategy 40 by repetitive manufacturing, please suggest me table and fields to get the data for such report.
    Thanks & Regards,
    Karad D D
    Edited by: Devidas Karad on Jun 19, 2010 10:38 AM

    Dear ,
    We had similar kind of report called -Material Balance Report for Finished Product .I am providing you the necessary tabel which I have utlised in my functinal spec.
    You can use the following table for your requirement for developing daily consumption report
    MBEWH - Stock with period and year
    MBEW - Stock wtih current period and year
    MSEG - Material Movement data details
    MKPF - Material Movement data
    You can make use the below tabel and data element to fetch some of the required information for finsihed good :
           AUFNR    AFKO-AUFNR,              "Proc. Order No.
          RSNUM     AFKO-RSNUM,              "Reservation No.
          PLNBEZ    AFKO-PLNBEZ,             "Header Material No.
          GSTRI      AFKO-GSTRI,              "Actual Start Date
          GLTRI      AFKO-GLTRI,              "Actual Finish Date
          WERKS    AUFK-WERKS,              "Plant
          BDMNG    RESB-BDMNG,              "Required Qty.
          ENMNG    RESB-ENMNG,              "Quantity Withdrawn
          EXTISS    RESB-ENMNG,              "Extra Issue
          BALQTY   RESB-ENMNG,              "Balance Qty.
          MATNR    RESB-MATNR,              "Component No.
          MAKTX    MAKT-MAKTX,              "Component Description
    Hope this will be useful
    Regards
    JH

  • Is their a Standard Report to show me Invoices without PO's raised against?

    As title states im looking for a standard report to show me any invoices that have no PO's raised against them?
    Any help on this appreciated greatly!

    Hi,
    MR11 does not result in an update if you select the correct option ("prepare list" at the bottom). so simply select the "GR/IR clearing Account" option.
    Also use a large tolerance so that you get everything.
    But I am still not sure how you have entered invoices without POs, was something other than MIRO used? If so then MR11 may not help either because this depends on POs.
    If you HAVE used something other than MIRO I doubt if you can get such a list without some clever ABAP, after all you don't have to specify the PO ever if you are doing a two way match through the FI functions instead of using MIRO. So there would not be a standard report.
    Steve B

  • REPORT TO SHOW ME AWAITING PO'S FOR APPROVAL

    Hi SAP experts,
    When PO's are created in SAP, they usually go to an Approver for approval.
    However, if there is a problem with the PO, example (wrong coding), the PO is rejected and sent back to the Approver to rectify the error. A message gets sent to the approvers workflow stating the error.
    In our company, Approvers do not have access to workflow in SAP, so they would not be able to see any messages regarding rejected workflow requests.
    Is there any type of report I could run to show me what workflow items are currently awaitaiting the approvers feedback (PO's that are not completed and awaiting information)
    The report will show me what PO's are rejected and the name of the PO owner.
    Many thanks
    Alex

    Hi,
    MR11 does not result in an update if you select the correct option ("prepare list" at the bottom). so simply select the "GR/IR clearing Account" option.
    Also use a large tolerance so that you get everything.
    But I am still not sure how you have entered invoices without POs, was something other than MIRO used? If so then MR11 may not help either because this depends on POs.
    If you HAVE used something other than MIRO I doubt if you can get such a list without some clever ABAP, after all you don't have to specify the PO ever if you are doing a two way match through the FI functions instead of using MIRO. So there would not be a standard report.
    Steve B

  • SDH Alarms : Show controllers pos slot number ???????

    /* Style Definitions */
    table.MsoNormalTable
    {mso-style-name:"Table Normal";
    mso-tstyle-rowband-size:0;
    mso-tstyle-colband-size:0;
    mso-style-noshow:yes;
    mso-style-priority:99;
    mso-style-qformat:yes;
    mso-style-parent:"";
    mso-padding-alt:0in 5.4pt 0in 5.4pt;
    mso-para-margin:0in;
    mso-para-margin-bottom:.0001pt;
    mso-pagination:widow-orphan;
    font-size:11.0pt;
    font-family:"Calibri","sans-serif";
    mso-ascii-font-family:Calibri;
    mso-ascii-theme-font:minor-latin;
    mso-fareast-font-family:"Times New Roman";
    mso-fareast-theme-font:minor-fareast;
    mso-hansi-font-family:Calibri;
    mso-hansi-theme-font:minor-latin;
    mso-bidi-font-family:"Times New Roman";
    mso-bidi-theme-font:minor-bidi;}
    The following are the SDH alarms, suppose incase of Cisco POS interfaces show these errors with some values mentioned by their sides using the command “show controllers pos <slot number>”,how to trouble shoot these errors. I want some easy explanations for these following errors.The following is just an example.
    router# show controllers pos     
    POS2/0/0
    SECTION
      LOF = 0          LOS = 2335                         BIP(B1) = 77937133
    LINE
      AIS = 2335       RDI = 20         FEBE = 3387950089 BIP(B2) = 1622825387
    PATH
      AIS = 2340       RDI = 66090      FEBE = 248886263  BIP(B3) = 103862953
      LOP = 246806     NEWPTR = 11428072   PSE = 5067357     NSE = 4645
    Active Defects: B2-TCA B3-TCA
    Active Alarms:  None
    Alarm reporting enabled for: B1-TCA
    APS
      COAPS = 12612784   PSBF = 8339
      State: PSBF_state = False
      Rx(K1/K2): 00/CC  Tx(K1/K2): 00/00
      S1S0 = 03, C2 = 96
    CLOCK RECOVERY
      RDOOL = 64322060
      State: RDOOL_state = True
    PATH TRACE BUFFER: UNSTABLE
      Remote hostname :
      Remote interface:
      Remote IP addr  :
      Remote Rx(K1/K2): ../..  Tx(K1/K2): ../..
    BER thresholds:  SF = 10e-3  SD = 10e-8
    TCA thresholds:  B1 = 10e-7   B2 = 10e-3  B3 = 10e-6
          I want some easy explanations for SDH alarm errors “Please mention some threshold values mentioned above with the respective errors, so that we can contact the service provider for further checking”
    Please reply to the email address mentioned : [email protected]   &    [email protected]

    Sir
         Thanks for your Reply
    Can you provide explanation and troubleshooting methods for the following also if possible....??????????
    /* Style Definitions */
    table.MsoNormalTable
    {mso-style-name:"Table Normal";
    mso-tstyle-rowband-size:0;
    mso-tstyle-colband-size:0;
    mso-style-noshow:yes;
    mso-style-priority:99;
    mso-style-qformat:yes;
    mso-style-parent:"";
    mso-padding-alt:0in 5.4pt 0in 5.4pt;
    mso-para-margin:0in;
    mso-para-margin-bottom:.0001pt;
    mso-pagination:widow-orphan;
    font-size:11.0pt;
    font-family:"Calibri","sans-serif";
    mso-ascii-font-family:Calibri;
    mso-ascii-theme-font:minor-latin;
    mso-fareast-font-family:"Times New Roman";
    mso-fareast-theme-font:minor-fareast;
    mso-hansi-font-family:Calibri;
    mso-hansi-theme-font:minor-latin;
    mso-bidi-font-family:"Times New Roman";
    mso-bidi-theme-font:minor-bidi;}
      LOF
      LOS  
      AIS
      RDI   
      FEBE
      AIS    
      RDI
      FEBE
      LOP
      NEWPTR
    please do kindly provide......
    Thank you

  • ISE 1.2 - Posture Detail Assessment - enforcement audit mode report not show status for non-compliant

    ISE 1.2 - Posture Detail Assessment - enforcement audit mode report not show status for non-compliant.
    - For old version 1.1.4 it can be reported for non-compliant, How can I generate report for this? 
    Thanks
    Kosin Usuwanthim

    It used to be in there (id 226635 is the last one with it); should I clean it up a bit and put it back with a bit more of a disclaimer?

  • Inactive Item report to show Item bought within a specific period and not sold within a specific period by whse and have stock

    Hi
    I'm trying to come up with query report to show Inactive Item bought within a specific period and not sold within a specific period by whse and have stock
    The report should show  Item Number, Item Name ,Item cost,Retail Price [Based on a price list], Qty in Whse, Last Purchase Date, Last sale Date etc.
    e.g item bought between 2011-2013 and have not been sold with the same date range or the last 12 months.
    Regards
    Brian Ndunda.

    Hi,
    Try this query:
    SELECT T0.[ItemCode], T0.[ItemName], T0.[OnHand], T0.[AvgPrice], T0.[LastPurPrc], T0.[LstSalDate] FROM OITM T0  left JOIN INV1 T1 ON T0.ItemCode = T1.ItemCode left JOIN OINV T2 ON T1.DocEntry = T2.DocEntry WHERE T1.[Quantity] is null and  T0.[OnHand] >0 GROUP BY T0.[ItemCode], T0.[ItemName], T0.[OnHand], T0.[AvgPrice], T0.[LastPurPrc], T0.[LstSalDate]
    Thanks & Regards,
    Nagarajan

  • Vendor report that shows all vendors missing tax id information

    I would like to create a report that shows all vendors that are missing the tax id information.  Please direct me on where to go.
    thx
    Trace

    Dear,
    Enter T-code MASS.
    Select Object Type LFA1 and click on execute button.
    Than click on Fields tab, Find your required field and click on execute button.
    Than enter vendor list for which you want to find out the list.
    And click on execute button.
    Regards,
    Mahesh Wagh.

  • Report for showing pending (ageing) quantity according to store location w

    dear ABAP Gurus,
    I have made a roport for showing pending (ageiing) quantity acc to location wise.
    and i m sending here the code i made for same.Tell me if sme amendments required.
    Report for showing pending (ageing) quantity according to store location wise:   
    1.     Fields on selection screen (input screen) : Plant code From to , Material code From to , Current date, Numbers of days(for display the ageing(pending) balance for a given period,Storage locations from to.
    2.     Field in the output List : Material code , Material descriptions, Balance quantiy,Balance value ,Consumptions date. 
    the code is:
    REPORT  ZAGEIN_SUDHA.
    TABLES: mara,mseg,makt.
    TYPES: BEGIN OF t_mara,
    matnr LIKE mara-matnr,           "material number
    maktx LIKE makt-maktx,           "material description
    ersda LIKE mara-ersda,           "material creation date
    lgort like mseg-lgort,           "storage location
    bwart like mseg-bwart,           "goods received or issued
    menge like mseg-menge,           "value at movement type
    werks like mseg-werks,           "plant
    END OF t_mara.
    DATA: i_mara TYPE STANDARD TABLE OF t_mara with header line,
          itab type standard table of mara with header line,
    *wa_mara TYPE t_mara,
    v_date TYPE i,                      "age in days
    GI type mseg-menge,                 "goods issued
    GR type mseg-menge,                 "goods received
    bal type mseg-menge,                "balance
    total type i,
    grace type i,
    g_quan type mseg-menge.
    SELECTION-SCREEN BEGIN OF BLOCK b1.
    SELECT-OPTIONS: p_matnr FOR mara-matnr.
    select-options: p_werks for mseg-werks.
    select-options: p_lgort for mseg-lgort.
    SELECTION-SCREEN END OF BLOCK b1.
    START-OF-SELECTION.
    REFRESH i_mara.
    SELECT mr~matnr                        "mara-matnr
    mk~maktx                               "makt-maktx
    mr~ersda                               "mara-ersda
    mg~lgort                               "mseg-lgort
    mg~bwart                               "mseg-bwart
    mg~menge                               "mseg-menge
    INTO corresponding fields of table i_mara
    FROM mara AS mr INNER JOIN
    makt AS mk
    ON mrmatnr = mkmatnr INNER JOIN mseg AS mg on mkmatnr = mgmatnr
    WHERE mrmatnr IN p_matnr and mgwerks IN p_werks and mg~lgort IN
    p_lgort.
    total = 0.
    IF sy-subrc = 0.
    *CLEAR wa_mara.
    LOOP AT i_mara.
    if i_mara-bwart = '101' .
    GR = total + i_mara-menge.
    total = GR.
    elseif
    i_mara-bwart = '102' or i_mara-bwart = '122'.
    GR = GR - i_mara-menge.
    endif.
    if i_mara-bwart = '261'.
    GI = total + i_mara-menge.
    elseif i_mara-bwart = '262'.
    GR = GR + i_mara-menge.
    endif.
    bal = GR - GI.
    if bal GE  GR.
    grace = 30.
    else.
    grace = 10.
    endif.
    g_quan = bal - GR.
    v_date = sy-datum - i_mara-ersda.
    endloop.
    WRITE: / i_mara-matnr ,i_mara-maktx,' is ',v_date,' ,days old  and
    stored at' ,i_mara-lgort ,   ' with balance =', bal ,'the grace time is
    ', grace, 'and' ,'grace quantity is ' ,g_quan.
    *ENDLOOP.

    Hi,
    That sounds like a nice report.  What about it?!
    Gareth.

  • Report to extract open POs.

    Hi ,
    Is there any standard report to extract open POs in SAP

    Hi Dear,
    You can make use of ME2L,ME2M,ME2N,ME2J.
    In all the above reports enter plant,document type or document date as input field and then execute the report.
    You will see the column Still to be delivered (both for Quantity and Value) thus you can get open PO.
    Alternatively you can make use of Purchase Order history column in above mentioned report.
    Sort the report in ascending order and PO against which no GR is made will be having Purchase Order history blank and those having history will be having special icon.

  • Std. Report that shows PSG linked to WBS (Pdt. hier. defined)

    Hi Experts,
    Is there any standard report that show, which Profit segment is derived and receives settled costs and revenues for a particular WBSE?
    Our scenario:
    (1) Billing WBS element is assigned to SO Line item, and billing plan is created and accordingly invoicing happens.
    (2) Product hierarchy is defined in MM and linked to COPA for derivation of PSG.
    Thanks in advance.

    Hi Aditya,
    There are no standard reports in PS which will give you this information. You need to check with your CO counterparts to get it.
    Most probably i think there won't be any standard report available to give you that detail. Try creating a custom report.
    Use the table COBRA and COBRB with RPSCO or COSP/COEP table with PRPS to get the desired results.
    Cheers
    Sammar

  • Movies playing in iTunes will not show closed captions

    I have purchased several movies from the iTunes store. They all have Closed Captioning listed in the store description. I need Closed Captioning because I have hearing loss and even with my hearing aids, I cannot hear all the dialogue in movies.
    In my iTunes app, I opened Preferences-->Playback and checked the box for "Show closed captioning when available." Then I play the movie in iTunes. No captions. I click on the Controls menu for Audio & Subtitles. It's grayed out.
    I go to the .m4v file in Finder and open the movie with Quicktime to see whether I can get captions that way. No captions. I check the View menu for Show Closed Captioning. It's grayed out.
    At this point I'm thinking these movies do not really HAVE captions, despite what the store description said. However, this proves to be wrong because I turn on my TV and start up my Apple TV 3. I select "Movies" and then "Purchased" and find these movies. When I play these movies via the Apple TV, they all show up on the TV screen with the captions working perfectly.
    So, what gives? I've spent hours searching the internet for a solution, but all I can find is that the selection I've made in iTunes preferences *should* make the captions show up in iTunes. I'm stumped. I want to play the movies on my computer in iTunes (or in Quicktime) so that I don't have to be at my house in front of my TV in order the enjoy them. Is there any way I can make these movies play in iTunes with the captions showing? Can anyone make any suggestions? I'd be very grateful if someone could help me achieve this goal.

    I have same problem with my son's iPod Touch running iOS 5.1.1.  I set "explicit" to off, but then many songs we purchased on iTunes that are labeled as "clean" do not show up on his iPod Touch. If I set "explicit" to on, they do show up.

  • Report Not showing result

    Hi!
    I am unable to get the result for my one of the item as checkbox. Other two are working properly .Please check and let me know wheres the problem please.
    ***INCLUDE ZSD_CONTRACT_LIST_T01_RENTAL1 .
    TABLES: vbak, vbap, wbrk, zsdsched,vbkd, fplt, fpla, tvlvt.
    TYPE-POOLS: slis.
    data: BEGIN OF gt_report occurs 0,
        vbeln LIKE vbak-vbeln,              "Sales Document
        posnr LIKE vbap-posnr,              "Item
        ernam LIKE vbak-ernam,              "Created by
        erdat LIKE vbak-erdat,              "Created on
        audat LIKE vbak-audat,              "Document Date
        vbtyp LIKE vbak-vbtyp,              "SD document category
        auart LIKE vbak-auart,              "Sales Document type
        vkorg LIKE vbak-vkorg,              "Sales Org
        vtweg LIKE vbak-vtweg,              "Distribution Channel
        spart LIKE vbak-spart,              "Division
        vkbur LIKE vbak-vkbur,              "Sales Office
        guebg LIKE vbak-guebg,              "Valid from date
        gueen LIKE vbak-gueen,              "Valid to date    kunnrt LIKE kna1-name1,             "Sold-to Name
       kunwet    LIKE kna1-name1,          "Ship-to Name
       kunnrt LIKE kna1-name1,             "Sold-to Name
       kunret    LIKE kna1-name1,          "Bill-to Name
        kunnr LIKE vbak-kunnr,              "Sold-to party
        kunnrt LIKE kna1-name1,             "Sold-to Name
        kvgr4 LIKE vbak-kvgr4,              "Territory
        matnr LIKE vbap-matnr,              "Material
        arktx LIKE vbap-arktx,              "Material Short Text
        charg LIKE vbap-charg,              "Batch
        matkl LIKE vbap-matkl,              "Material Group
        pstyv LIKE vbap-pstyv,              "Item Category
        zmeng LIKE vbap-zmeng,              "Target Quantity
        zieme LIKE vbap-zieme,              "Target Unit
        kdmat LIKE vbap-kdmat,              "Customer Material Number
        werks LIKE vbap-werks,              "Plant
        lgort LIKE vbap-lgort,              "Storage Location
        vstel LIKE vbap-vstel,              "Shipping Point
        route LIKE vbap-route,              "Route
        netpr LIKE vbap-netpr,              "Net Price
        kpein LIKE vbap-kpein,              "Condition Price Unit
        kmein LIKE vbap-kmein,              "Condition Unit
        shkzg LIKE vbap-shkzg,              "Returns Item
        oidrc LIKE vbap-oidrc,              "DRC Code
        kunwe LIKE vbap-oid_ship,           "Ship-to
        aufnr LIKE vbap-aufnr,              "Order Number
        vkaus LIKE vbap-vkaus,              "Usage
        kunwet    LIKE kna1-name1,          "Ship-to Name
        zzwprofid LIKE vbap-zzwprofid,      "Waste Profile ID
        kunre     LIKE wbrk-kunre,          "Bill-to
        kunret    LIKE kna1-name1,          "Bill-to Name
        addl_schd LIKE icon-id,             "Push Button For addl line
        datab     LIKE zsdsched-datab,      "Valid-From Date
        datbi     LIKE zsdsched-datbi,     "Valid To Date
        zschdfreq  LIKE zsdsched-zschdfreq, "Contract schedule frequency
        frequency  LIKE zsdsched-frequency, "Frequency
        monday    LIKE zsdsched-monday,     "Mondays
        tuesday   LIKE zsdsched-tuesday,    "Tuesdays
        wednesday  LIKE zsdsched-wednesday, "Wednesdays
        thursday  LIKE zsdsched-thursday,   "Thursdays
        friday    LIKE zsdsched-friday,     "Fridays
        saturday  LIKE zsdsched-saturday,   "Saturdays
        sunday    LIKE zsdsched-sunday,     "Sundays
        dzieme    LIKE zsdsched-dzieme,     "Target quantity UoM
        comments  LIKE zsdsched-comments,   "Comments
       END OF gt_report.
      data: Begin of gt_report1 occurs 0,
        fksaf     LIKE fplt-fksaf,
        afdat     LIKE fplt-afdat,
        fakwr     LIKE fplt-fakwr,
        fkdat     LIKE fplt-fkdat,
        nfdat     LIKE fplt-nfdat,
        fpart     LIKE fpla-fpart,
        bedat     LIKE fpla-bedat,
        endat     LIKE fpla-endat,
        horiz     LIKE fpla-horiz,
        bezei     LIKE tvlvt-bezei,
        vbeln     LIKE vbak-vbeln,
        erdat     LIKE vbak-erdat,
        ernam     LIKE vbak-ernam,
        guebg     LIKE vbak-guebg,
        gueen     LIKE vbak-gueen,
        auart     LIKE vbak-auart,
        kunnr     LIKE vbak-kunnr,
        kvgr4     LIKE vbak-kvgr4,
        vkbur     LIKE vbak-vkbur,
        vkorg     LIKE vbak-vkorg,
        vtweg     LIKE vbak-vtweg,
        vbtyp     LIKE vbak-vbtyp,
        name1     LIKE kna1-name1,
        pstyv     LIKE vbap-pstyv,
        matnr     LIKE vbap-matnr,
        werks     LIKE vbap-werks,
        oid_ship  LIKE vbap-oid_ship,
        kpein     LIKE vbap-kpein,
        kmein     LIKE vbap-kmein,
        netpr     LIKE vbap-netpr,
        kdmat     LIKE vbap-kdmat,
        posnr     LIKE vbap-posnr,
        matkl     LIKE vbap-matkl,
        aufnr     LIKE vbap-aufnr,
        vkaus     LIKE vbap-vkaus,
        route     LIKE vbap-route,
        kunre     LIKE wbrk-kunre,          "Bill-to
        kunwe LIKE vbap-oid_ship,           "Ship-to
        kunwet    LIKE kna1-name1,          "Ship-to Name
        kunnrt LIKE kna1-name1,             "Sold-to Name
        kunret    LIKE kna1-name1,          "Bill-to Name
        End of gt_report1.
    data: gs_report    LIKE LINE OF gt_report,
          gs_report1   LIKE LINE OF gt_report1,
          gt_sched     TYPE TABLE OF zsdsched,
          gt_sched_tmp TYPE TABLE OF zsdsched,
          gs_sched     TYPE zsdsched,
          gt_sel       LIKE gt_report OCCURS 0,
          gt_sel1      LIKE  gt_report1 OCCURS 0,
          gt_vbpa  TYPE TABLE OF vbpa,
          gs_vbpa  TYPE vbpa,
          gv_auart TYPE auart,
          gv_counter TYPE i.
    **-- ALV variables
    DATA: ls_fieldcat     TYPE slis_fieldcat_alv,    "Field Catalog list
          gt_fieldcat     TYPE slis_t_fieldcat_alv,  "Field Catalog
          ls_sort         TYPE slis_sortinfo_alv,    "Sorting list
          gt_sort         TYPE slis_t_sortinfo_alv,  "Sort
          gs_layout       TYPE slis_layout_alv,      "List Layout
          gs_variant      TYPE disvariant,           "Display Variant
          gv_repid        LIKE sy-repid,
          gv_save(1)           TYPE c,
          ls_fieldcat1     TYPE slis_fieldcat_alv,    "Field Catalog list
          gt_fieldcat1     TYPE slis_t_fieldcat_alv,  "Field Catalog
          ls_sort1         TYPE slis_sortinfo_alv,    "Sorting list
          gt_sort1         TYPE slis_t_sortinfo_alv,  "Sort
          gs_layout1       TYPE slis_layout_alv,      "List Layout
          gs_variant1      TYPE disvariant,           "Display Variant
          gv_repid1        LIKE sy-repid,
          gv_exit(1)           TYPE c.
    CONSTANTS: gc_a     TYPE c VALUE 'A',
               gc_g     TYPE c VALUE 'G',
               gc_re(2) TYPE c VALUE 'RE'.
    Screen-control Variables
    CONTROLS:
      tctrl_sched TYPE TABLEVIEW USING SCREEN 1010.     " Schedule lines.
    *& Report  ZSD_CONTRACT_LIST
    *& Created on: January 21, 2007
    *& Description: List of Contracts - ALV
    REPORT  zsd_contract_list_rental1.
    INCLUDE zsd_contract_list_t01_rental1.
    Selection Screen
    SELECTION-SCREEN BEGIN OF BLOCK m1 WITH FRAME TITLE text-t01.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t02.
    SELECT-OPTIONS: s_vkorg FOR vbak-vkorg MEMORY ID vko,
                    s_vtweg FOR vbak-vtweg MEMORY ID vtw,
                    s_spart FOR vbak-spart MEMORY ID spa,
                    s_vkbur FOR vbak-vkbur MEMORY ID vkb.
    SELECTION-SCREEN SKIP 1.
    SELECT-OPTIONS: s_vbeln FOR vbak-vbeln,
                    s_erdat FOR vbak-erdat,
                    s_ernam FOR vbak-ernam,
                    s_guebg FOR vbak-guebg,
                    s_gueen FOR vbak-gueen,
                    s_auart FOR gv_auart MEMORY ID vta
                                         MATCHCODE OBJECT h_vakz,
                   s_fkarv FOR fplt-fkarv.
    SELECTION-SCREEN SKIP 1.
    SELECT-OPTIONS:
                    s_kunnr FOR vbak-kunnr,
                    s_kunwe FOR vbap-oid_ship,
                    s_kunre FOR wbrk-kunre.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t03.
    SELECT-OPTIONS: s_werks FOR vbap-werks MEMORY ID wrk,
                    s_lgort FOR vbap-lgort MEMORY ID lag,
                    s_vstel FOR vbap-vstel MEMORY ID vst,
                    s_route for vbap-route,
                    s_matnr FOR vbap-matnr.
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-t04.
    PARAMETERS:     p_varia TYPE disvariant-variant MEMORY ID wrk,
                    p_all   AS CHECKBOX DEFAULT 'X',
                    p_group AS CHECKBOX DEFAULT 'X',
                    p_rental AS CHECKBOX DEFAULT 'X'.
    SELECTION-SCREEN END OF BLOCK b3.
    SELECTION-SCREEN END OF BLOCK m1.
    Start of Selection
    START-OF-SELECTION.
      PERFORM get_data.
    Display ALV
    END-OF-SELECTION.
      IF gt_report[] IS INITIAL.
        MESSAGE s419(brain).
      ELSE.
        PERFORM create_alv.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST                                 *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_varia.
      PERFORM f01_f4_variant CHANGING p_varia.
    *&      Form  get_data
          text
    FORM get_data .
       select the appropriate rental data.
    IF  p_rental IS NOT INITIAL AND ( ( p_all IS INITIAL ) AND ( p_group IS INITIAL ) ).
    SELECT avbeln aerdat aernam aaudat avbtyp aauart a~vkorg
           avtweg aspart avkbur aguebg agueen akunnr a~kvgr4
           bpstyv bmatnr bwerks boid_ship bkpein bkmein
           bnetpr bkdmat bposnr bmatkl baufnr bvkaus b~route
           dbezei efkarv eafdat efakwr efkdat enfdat e~fksaf
           ffpart fbedat fendat fhoriz flodat ftndat b~oid_ship AS kunwe
    INTO CORRESPONDING FIELDS OF TABLE gt_sel1
         FROM vbak AS a
             INNER JOIN vbap AS b ON avbeln = bvbeln
            INNER JOIN vbpa as c ON avbeln = cvbeln
             INNER JOIN vbkd AS g ON avbeln = gvbeln
             INNER JOIN fplt AS e ON gfplnr = efplnr
             INNER JOIN fpla AS f ON efplnr = ffplnr
             INNER JOIN tvlvt AS d ON bvkaus = dabrvw
         WHERE a~vbeln IN s_vbeln
           AND a~erdat IN s_erdat
           AND a~vbtyp = gc_g
           AND a~ernam IN s_ernam
           AND a~vkorg IN s_vkorg
           AND a~vtweg IN s_vtweg
           AND a~spart IN s_spart
           AND a~vkbur IN s_vkbur
           AND a~guebg IN s_guebg
           AND a~gueen IN s_gueen
           AND a~auart IN s_auart
           AND a~kunnr IN s_kunnr
           AND b~oid_ship IN s_kunwe
           AND b~werks IN s_werks
           AND b~lgort IN s_lgort
           AND b~vstel IN s_vstel
           and b~route in s_route
           AND b~matnr IN s_matnr
           AND e~fkarv IN s_fkarv
           AND e~fksaf = 'A'
           OR  e~fksaf = 'B'.
        sort gt_sel1.
    *ENDIF.
        IF NOT gt_sel1[] IS INITIAL.
      Get Bill-to Party's for Item Lines
        SELECT vbeln posnr parvw kunnr INTO CORRESPONDING FIELDS OF TABLE gt_vbpa
            FROM vbpa
            FOR ALL ENTRIES IN gt_sel1
            WHERE vbeln = gt_sel1-vbeln
              AND parvw = gc_re.
    Loop through captured data for additional information
      LOOP AT gt_sel1 INTO gs_report1.
      Find the bill-to party
        READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_report1-vbeln
                                                 posnr = gs_report1-posnr
                                                 parvw = gc_re.
        IF sy-subrc <> 0.
          READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_report1-vbeln
                                                   parvw = gc_re.
          CHECK sy-subrc = 0 AND gs_vbpa-kunnr IN s_kunre.
        ELSE.
          CHECK gs_vbpa-kunnr IN s_kunre.
        ENDIF.
        gs_report1-kunre = gs_vbpa-kunnr.
    Get the Customer's Name
        gs_report1-kunnrt = zcl_kna1=>get_name1( itp_kunnr = gs_report1-kunnr ).
        gs_report1-kunwet = zcl_kna1=>get_name1( itp_kunnr = gs_report1-kunwe ).
        gs_report1-kunret = zcl_kna1=>get_name1( itp_kunnr = gs_report1-kunre ).
      Get the scheduling lines for the item line.
        CLEAR gv_counter.
        APPEND gs_report1 TO gt_report1.
      ENDLOOP.
      DELETE ADJACENT DUPLICATES FROM gt_report1.
    *ENDIF.
    ELSE.
    IF ( ( p_all IS NOT INITIAL ) OR ( p_group IS NOT INITIAL ) ) AND p_rental IS INITIAL.
      Select the appropriate contract data.
      SELECT a~vbeln a~erdat a~ernam a~audat a~vbtyp a~auart a~vkorg
       a~vtweg a~spart a~vkbur a~guebg a~gueen a~kunnr a~kvgr4
       b~posnr b~matnr b~charg b~matkl b~arktx b~pstyv b~zmeng
       b~zieme b~kdmat b~werks b~lgort b~vstel b~netpr b~kpein
       b~kmein b~shkzg b~oid_extbol b~oid_miscdl b~oidrc b~oid_ship AS kunwe
       b~zzwprofid c~datbi c~datab b~route
      baufnr bvkaus d~bezei
         INTO CORRESPONDING FIELDS OF TABLE gt_sel
         FROM vbak AS a
             INNER JOIN vbap AS b ON a~vbeln = b~vbeln
            INNER JOIN tvlvt AS d ON bvkaus = dabrvw
             LEFT OUTER JOIN zsdsched AS c ON b~vbeln = c~vbeln AND
                                   b~posnr = c~posnr
         WHERE a~vbeln IN s_vbeln
           AND a~erdat IN s_erdat
           AND a~vbtyp = gc_g
           AND a~ernam IN s_ernam
           AND a~vkorg IN s_vkorg
           AND a~vtweg IN s_vtweg
           AND a~spart IN s_spart
           AND a~vkbur IN s_vkbur
           AND a~guebg IN s_guebg
           AND a~gueen IN s_gueen
           AND a~auart IN s_auart
           AND a~kunnr IN s_kunnr
           AND b~oid_ship IN s_kunwe
           AND b~werks IN s_werks
           AND b~lgort IN s_lgort
           AND b~vstel IN s_vstel
           and b~route in s_route
           AND b~matnr IN s_matnr.
      SORT gt_sel.
    ENDIF.
      IF NOT gt_sel[] IS INITIAL.
      Get Bill-to Party's for Item Lines
        SELECT vbeln posnr parvw kunnr INTO CORRESPONDING FIELDS OF TABLE gt_vbpa
            FROM vbpa
            FOR ALL ENTRIES IN gt_sel
            WHERE vbeln = gt_sel-vbeln
              AND parvw = gc_re.
    endif.
      Select the remaining records from the ZSDSCHED Table.
    IF p_group IS NOT INITIAL.
        SELECT * FROM zsdsched
            INTO TABLE gt_sched
            FOR ALL ENTRIES IN gt_sel
            WHERE vbeln = gt_sel-vbeln
              AND posnr = gt_sel-posnr.
        SORT gt_sched.
      ENDIF.
    Loop through captured data for additional information
      LOOP AT gt_sel INTO gs_report.
      Find the bill-to party
        READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_report-vbeln
                                                 posnr = gs_report-posnr
                                                 parvw = gc_re.
        IF sy-subrc <> 0.
          READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_report-vbeln
                                                   parvw = gc_re.
          CHECK sy-subrc = 0 AND gs_vbpa-kunnr IN s_kunre.
        ELSE.
          CHECK gs_vbpa-kunnr IN s_kunre.
        ENDIF.
        gs_report-kunre = gs_vbpa-kunnr.
    Get the Customer's Name
        gs_report-kunnrt = zcl_kna1=>get_name1( itp_kunnr = gs_report-kunnr ).
        gs_report-kunwet = zcl_kna1=>get_name1( itp_kunnr = gs_report-kunwe ).
        gs_report-kunret = zcl_kna1=>get_name1( itp_kunnr = gs_report-kunre ).
      Get the scheduling lines for the item line.
        CLEAR gv_counter.
        IF NOT p_group IS INITIAL.
        If we are grouping the lines add the icon button.
          LOOP AT gt_sched INTO gs_sched WHERE vbeln = gs_report-vbeln
                                         AND posnr = gs_report-posnr.
            IF gv_counter > 0.
              gs_report-addl_schd = '@1E@'.
              CONTINUE.
            ENDIF.
            MOVE-CORRESPONDING gs_sched TO gs_report.
            ADD 1 TO gv_counter.
          ENDLOOP.
        ELSE.
        Otherwise get the rest of the schedule information
          READ TABLE gt_sched INTO gs_sched
            WITH KEY vbeln = gs_report-vbeln
                     posnr = gs_report-posnr
                     datbi = gs_report-datbi
                     datab = gs_report-datab.
          IF sy-subrc = 0.
            MOVE-CORRESPONDING gs_sched TO gs_report.
          ENDIF.
        ENDIF.
        APPEND gs_report TO gt_report.
      ENDLOOP.
    Remove any duplicates from the reporting table
      DELETE ADJACENT DUPLICATES FROM gt_report.
    If Show all records is initial, delete non-scheduled lines (ex. Sub-items)
      IF p_all IS INITIAL.
        DELETE gt_report WHERE datbi = 0
                            AND datab = 0.
      ENDIF.
    endif.
    endif.
    ENDFORM.                    " get_data
    *&      Form  create_alv
          text
    FORM create_alv .
    if ( ( p_all is not initial ) or ( p_group is not initial ) ) and p_rental is initial.
      PERFORM initialize_fieldcat USING gt_fieldcat[].
      PERFORM populate_layout CHANGING gs_layout
                                       gs_variant.
      PERFORM populate_sort   USING gt_sort[].
      PERFORM display_alv_report.
    else.
    if  p_rental is not initial and ( ( p_all is initial ) and ( p_group is initial ) ).
    PERFORM initialize_fieldcat1 USING gt_fieldcat1[].
    PERFORM populate_layout1 CHANGING gs_layout1
                                      gs_variant1.
    PERFORM populate_sort1   USING gt_sort1[].
    PERFORM display_alv_report1.
    *endif.
    *endif.
    ENDFORM.                    " create_alv
    *&      Form  initialize_fieldcat
      Get and enhance the field catalog data
         -->L_FIELDCAT[]  text
    FORM initialize_fieldcat USING l_fieldcat TYPE slis_t_fieldcat_alv.
    IF p_rental IS NOT INITIAL .
    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
        EXPORTING
          i_program_name         = 'ZSD_CONTRACT_LIST_RENTAL1'
          i_internal_tabname     = 'GT_REPORT1'
          i_inclname             = 'ZSD_CONTRACT_LIST_T01_RENTAL1'
        CHANGING
          ct_fieldcat            = l_fieldcat
        EXCEPTIONS
          inconsistent_interface = 1
          program_error          = 2
          OTHERS                 = 3.
    READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'VBELN'.
      ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Contract'.
      ls_fieldcat-hotspot     = 'X'.
      MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
      READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNNRT'.
      ls_fieldcat-seltext_s =
      ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sold-to Name'.
      MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
      READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNWET'.
      ls_fieldcat-seltext_s =
      ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Ship-to Name'.
      MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
      READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNRET'.
      ls_fieldcat-seltext_s =
      ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Bill-to Name'.
      MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
    READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'ADDL_SCHD'.
      IF NOT p_group IS INITIAL.
        ls_fieldcat-seltext_s = 'Schd'.
        ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Additional Scheduling Lines'.
        ls_fieldcat-icon = 'X'.
        CLEAR: ls_fieldcat-key,
               ls_fieldcat-ref_fieldname,
               ls_fieldcat-ref_tabname,
               ls_fieldcat-reptext_ddic,
               ls_fieldcat-ddic_outputlen.
        ls_fieldcat-hotspot     = 'X'.
        MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
      ELSE.
        DELETE l_fieldcat INDEX sy-tabix.
      ENDIF.
      READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'DATAB'.
      ls_fieldcat-seltext_s = 'Schd From'.
      ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sched. From Date'.
      CLEAR: ls_fieldcat-key.
      MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
      READ TABLE l_fieldcat INTO ls_fieldcat1 WITH KEY fieldname = 'DATBI'.
      ls_fieldcat-seltext_s = 'Schd To'.
      ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sched. To Date'.
      CLEAR: ls_fieldcat-key.
      MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
    ELSE.
    IF p_rental IS INITIAL.
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
        EXPORTING
          i_program_name         = 'ZSD_CONTRACT_LIST_RENTAL1'
          i_internal_tabname     = 'GT_REPORT'
          i_inclname             = 'ZSD_CONTRACT_LIST_T01_RENTAL1'
        CHANGING
          ct_fieldcat            = l_fieldcat
        EXCEPTIONS
          inconsistent_interface = 1
          program_error          = 2
          OTHERS                 = 3.
      READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'VBELN'.
      ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Contract'.
      ls_fieldcat-hotspot     = 'X'.
      MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
      READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNNRT'.
      ls_fieldcat-seltext_s =
      ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sold-to Name'.
      MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
      READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNWET'.
      ls_fieldcat-seltext_s =
      ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Ship-to Name'.
      MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
      READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNRET'.
      ls_fieldcat-seltext_s =
      ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Bill-to Name'.
      MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
      READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'ADDL_SCHD'.
      IF NOT p_group IS INITIAL.
        ls_fieldcat-seltext_s = 'Schd'.
        ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Additional Scheduling Lines'.
        ls_fieldcat-icon = 'X'.
        CLEAR: ls_fieldcat-key,
               ls_fieldcat-ref_fieldname,
               ls_fieldcat-ref_tabname,
               ls_fieldcat-reptext_ddic,
               ls_fieldcat-ddic_outputlen.
        ls_fieldcat-hotspot     = 'X'.
        MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
      ELSE.
        DELETE l_fieldcat INDEX sy-tabix.
      ENDIF.
      READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'DATAB'.
      ls_fieldcat-seltext_s = 'Schd From'.
      ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sched. From Date'.
      CLEAR: ls_fieldcat-key.
      MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
      READ TABLE l_fieldcat INTO ls_fieldcat1 WITH KEY fieldname = 'DATBI'.
      ls_fieldcat-seltext_s = 'Schd To'.
      ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sched. To Date'.
      CLEAR: ls_fieldcat-key.
      MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
    ENDIF.
    ENDIF.
    ENDFORM.                    " initialize_fieldcat
    *&      Form  populate_layout
          text
         <--GS_LAYOUT
         <--GS_VARIANT
    FORM populate_layout CHANGING  gs_layout  TYPE slis_layout_alv
                                   gs_variant TYPE disvariant.
      gs_layout-colwidth_optimize = 'X'.
      gs_layout-allow_switch_to_list = 'X'.
      gs_layout-zebra                = 'X'.
      gs_variant-report = sy-repid.
    ENDFORM.                    " populate_layout
    *&      Form  populate_sort
          text
         -->l_SORT[]  text
    FORM populate_sort USING l_sort TYPE slis_t_sortinfo_alv.
    ENDFORM.                    " populate_sort
    *&      Form  display_alv_report
    FORM display_alv_report .
      gv_repid = sy-repid.
    IF p_rental IS INITIAL.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
         EXPORTING
        I_INTERFACE_CHECK              = ' '
        I_BYPASSING_BUFFER             =
        I_BUFFER_ACTIVE                = ' '
          i_callback_program              =  gv_repid
        I_CALLBACK_PF_STATUS_SET       = ' '
          i_callback_user_command        = 'USER_COMMAND'
          i_structure_name               =  'GT_REPORT'
          is_layout                      =   gs_layout
          it_fieldcat                     =  gt_fieldcat
        IT_EXCLUDING                   =
        IT_SPECIAL_GROUPS              =
          it_sort                        =  gt_sort
        IT_FILTER                      =
        IS_SEL_HIDE                    =
          i_default                      = 'X'
          i_save                         = gc_a
          is_variant                     = gs_variant
        IT_EVENTS                      =
        IT_EVENT_EXIT                  =
        IS_PRINT                       =
        IS_REPREP_ID                   =
        I_SCREEN_START_COLUMN          = 0
        I_SCREEN_START_LINE            = 0
        I_SCREEN_END_COLUMN            = 0
        I_SCREEN_END_LINE              = 0
      IMPORTING
        E_EXIT_CAUSED_BY_CALLER        =
        ES_EXIT_CAUSED_BY_USER         =
          TABLES
            t_outtab                       = gt_report
         EXCEPTIONS
           program_error                  = 1
           OTHERS                         = 2
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDIF.
    ELSE.
    IF p_rental IS NOT INITIAL.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
         EXPORTING
        I_INTERFACE_CHECK              = ' '
        I_BYPASSING_BUFFER             =
        I_BUFFER_ACTIVE                = ' '
          i_callback_program              =  gv_repid
        I_CALLBACK_PF_STATUS_SET       = ' '
          i_callback_user_command        = 'USER_COMMAND'
          i_structure_name               =  'GT_REPORT1'
          is_layout                      =   gs_layout
          it_fieldcat                     =  gt_fieldcat
        IT_EXCLUDING                   =
        IT_SPECIAL_GROUPS              =
          it_sort                        =  gt_sort
        IT_FILTER                      =
        IS_SEL_HIDE                    =
          i_default                      = 'X'
          i_save                         = gc_a
          is_variant                     = gs_variant
        IT_EVENTS                      =
        IT_EVENT_EXIT                  =
        IS_PRINT                       =
        IS_REPREP_ID                   =
        I_SCREEN_START_COLUMN          = 0
        I_SCREEN_START_LINE            = 0
        I_SCREEN_END_COLUMN            = 0
        I_SCREEN_END_LINE              = 0
      IMPORTING
        E_EXIT_CAUSED_BY_CALLER        =
        ES_EXIT_CAUSED_BY_USER         =
          TABLES
            t_outtab                       = GT_REPORT1
         EXCEPTIONS
           program_error                  = 1
           OTHERS                         = 2
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    endif.
    endif.
    ENDFORM.                    " display_alv_report
    *&      Form  initialize_fieldcat1
      Get and enhance the field catalog data for rental fields
         -->L_FIELDCAT[]  text
    *FORM initialize_fieldcat1 USING l_fieldcat1 TYPE slis_t_fieldcat_alv.
    **if ***
    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
       EXPORTING
         i_program_name         = 'ZSD_CONTRACT_LIST_rental1'
         i_internal_tabname     = 'GT_SEL1'
         i_inclname             = 'ZSD_CONTRACT_LIST_T01_rental1'
       CHANGING
         ct_fieldcat            = l_fieldcat1
       EXCEPTIONS
         inconsistent_interface = 1
         program_error          = 2
         OTHERS                 = 3.
    **else.
    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
       EXPORTING
         i_program_name         = 'ZSD_CONTRACT_LIST_rental1'
         i_internal_tabname     = 'GT_SEL1'
         i_inclname             = 'ZSD_CONTRACT_LIST_T01_rental1'
       CHANGING
         ct_fieldcat            = l_fieldcat1
       EXCEPTIONS
         inconsistent_interface = 1
         program_error          = 2
         OTHERS                 = 3.
    ***endfi.
    *ENDFORM.                    " initialize_fieldcat
    *&      Form  populate_layout
          text
         <--GS_LAYOUT
         <--GS_VARIANT
    *FORM populate_layout1 CHANGING  gs_layout1  TYPE slis_layout_alv
                                  gs_variant1 TYPE disvariant.
    gs_layout1-colwidth_optimize = 'X'.
    gs_layout1-allow_switch_to_list = 'X'.
    gs_layout1-zebra                = 'X'.
    gs_variant1-report = sy-repid.
    *ENDFORM.                    " populate_layout
    ***&      Form  populate_sort
          text
         -->l_SORT[]  text
    *FORM populate_sort1 USING l_sort TYPE slis_t_sortinfo_alv.
    *ENDFORM.                    " populate_sort
    ***&      Form  display_alv_report
    *FORM display_alv_report1 .
    gv_repid = sy-repid.
    if  p_rental is not initial and ( ( p_all is initial ) and ( p_group is initial ) ).
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
         EXPORTING
        I_INTERFACE_CHECK              = ' '
        I_BYPASSING_BUFFER             =
        I_BUFFER_ACTIVE                = ' '
         i_callback_program              =  gv_repid
        I_CALLBACK_PF_STATUS_SET       = ' '
         i_callback_user_command        = 'USER_COMMAND'
         i_structure_name               =  'gt_sel1'
         is_layout                      =   gs_layout1
         it_fieldcat                     =  gt_fieldcat1
        IT_EXCLUDING                   =
        IT_SPECIAL_GROUPS              =
         it_sort                        =  gt_sort1
        IT_FILTER                      =
        IS_SEL_HIDE                    =
         i_default                      = 'X'
         i_save                         = gc_a
         is_variant                     = gs_variant1
        IT_EVENTS                      =
        IT_EVENT_EXIT                  =
        IS_PRINT                       =
        IS_REPREP_ID                   =
        I_SCREEN_START_COLUMN          = 0
        I_SCREEN_START_LINE            = 0
        I_SCREEN_END_COLUMN            = 0
        I_SCREEN_END_LINE              = 0
      IMPORTING
        E_EXIT_CAUSED_BY_CALLER        =
        ES_EXIT_CAUSED_BY_USER         =
         TABLES
           t_outtab                       = gt_sel1
        EXCEPTIONS
          program_error                  = 1
          OTHERS                         = 2
    IF sy-subrc <> 0.
       MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    *endif.
    *ENDFORM.                    " display_alv_report
    *&      Form  f01_f4_variant
       Get the Layout variant for the user.
    FORM f01_f4_variant CHANGING c_variant TYPE disvariant-variant.
      DATA: ls_variant TYPE disvariant,
            l_exit     TYPE char1.
      ls_variant-report = sy-repid.
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
           EXPORTING
                is_variant          = ls_variant
                i_save              = 'A'
              it_default_fieldcat =
           IMPORTING
                e_exit              = l_exit
                es_variant          = ls_variant
           EXCEPTIONS
                not_found = 2.
      IF sy-subrc = 2.
        MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ELSE.
        IF l_exit EQ space.
          c_variant = ls_variant-variant.
        ENDIF.
      ENDIF.
    ENDFORM.                    " f01_f4_variant
          FORM USER_COMMAND                                          *
          --> R_UCOMM                                                *
          --> RS_SELFIELD                                            *
    FORM user_command USING r_ucomm LIKE sy-ucomm
                      rs_selfield TYPE slis_selfield.
    Check function code
      CASE r_ucomm.
        WHEN '&IC1'.
          READ TABLE gt_report INTO gs_report INDEX rs_selfield-tabindex.
          CHECK sy-subrc = 0.
          CASE rs_selfield-fieldname.
            WHEN 'VBELN'.
          Set parameter ID for transaction screen field
              CHECK NOT gs_report-vbeln IS INITIAL.
              SET PARAMETER ID 'KTN' FIELD gs_report-vbeln.
              CALL TRANSACTION 'VA43' AND SKIP FIRST SCREEN.
            WHEN 'ADDL_SCHD'.
              CHECK NOT gs_report-addl_schd IS INITIAL.
              REFRESH gt_sched_tmp.
              LOOP AT gt_sched INTO gs_sched
                               WHERE vbeln = gs_report-vbeln
                                 AND posnr = gs_report-posnr.
                APPEND gs_sched TO gt_sched_tmp.
              ENDLOOP.
              CHECK sy-subrc = 0.
              CALL SCREEN '1010' STARTING AT 5 5.
          ENDCASE.
      ENDCASE.
    ENDFORM.                    "user_command
    *&      Module  STATUS_1010  OUTPUT
          text
    MODULE status_1010 OUTPUT.
      SET PF-STATUS 'MAIN_1010'.
      SET TITLEBAR '1010' WITH gs_report-vbeln gs_report-posnr.
    ENDMODULE.                 " STATUS_1010  OUTPUT
    *&      Module  USER_COMMAND_1010  INPUT
          text
    MODULE user_command_1010 INPUT.
      CASE sy-ucomm.
        WHEN 'BACK' OR 'CANC'.
          LEAVE TO SCREEN 0.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_1010  INPUT

    Hi !
    This report shows the schedule line items , group schedule line items and rental contact (billing plan) lines when particular checkbox is checked. The checkboxs p_all(non-schedule line) , p_group(group schedule line items) are working in my above alv report and showing  result but unfortunately when p_rental is checked it dosent give me result , it says  no data selected. This when checked has to show result based on a different set of selections as I have done, but its not shwoing me the result .
    Kindly help please.
    Thanks

Maybe you are looking for

  • Updated iphone 5 with ios 6.1 - lost all Sim contacts - how do I get them back?

    I updated my iphone 5 last night to the latest update 6.1 (and signed into the cloud for the first time) and now all my SIM contacts are gone....only my Facebook ones remain. How can I get them back?

  • CS5.5 PhoneGap build & emulate fails with sample template

    Hi. I've just upgraded to CS5.5 and opened the sample PhoneGap mobile app template and saved it as a new site. I set up the app settings and DW downloaded the SDK for me. I selected "build & emulate" and the emulator booted up Android 2.2. Meanwhile

  • Is it true that the Apple store will unlock any IPAD without checking?

    I left my IPAD on a plane. It was password locked. It was never returned. I bought a replacement, but was still worried about my data. Used find my IPAD, but it has never shown up. When buying my replacement the guy at the Apple store told me that if

  • Best practices for dealing with Exceptions on storage members

    We recently encountered an issue where one of our DistributedCaches was terminating itself and restarting due to an RuntimeException being thrown from our code (see below). As usual, the issue was in our own code and we have updated it to not throw a

  • Error While installing 10g

    Hi Initially, in my system, i installed oracle 9i and uninstalled . Now when i try to install oracle 10i , system throwing error like this 'Error Reading setup Initialization file' I do not know How to handle this error. Please guide me how to overco