Billing query - one of the lines being transferred

Having a little bit of a nightmare recently.
Originally I had a btinternet account but the phoneline was under my dads name (we have 2 phonelines).  I was going to get bt infinity but was informed that both the phone line & internet had to be under the same account.
When I tried to arrange that both were under my name the internet was put under my dads name.
So I phoned up - now, from the 6th October both the phone line and the internet should be under my name (at least that is what I have been advised)
However my dad has just been billed up to december for both the phone line and the internet.
Is it fair to assume that this will be refunded if I am taking it over from October?
Solved!
Go to Solution.

Hi I suggest you use the live billing chat facility at the top of the main billing forum page they are available 8am & 9 pm Monday To Friday they should be able to help you
If you want to say thanks for a helpful answer,please click on the Ratings star on the left-hand side If the reply answers your question then please mark as ’Mark as Accepted Solution’

Similar Messages

  • Is there a way I can use my external hard drive without the files being transferred on to my computer? as like like my iTunes music being on my hard drive without them being copied onto my computers hard drive ?

    is there a way I can use my external hard drive without the files being transferred on to my computer? as like like my iTunes music being on my hard drive without them being copied onto my computers hard drive ? because i dont have that much memory and i wanted my external hard drive to be the source for my music files and not my computer.

    Many users keep their iTunes libraries on external drives. You just have to remember to connect and power up the drive before launching iTunes.
    iTunes for Mac: Moving your iTunes Media folder:
      http://support.apple.com/kb/HT1449 

  • Empty lines being transfered with RSCRM_BAPI

    Hi guys,
    I have to transfer the result f one query to a table. For this requirement Iu2019m using transaction RSCRM_BAPI transaction.
    The problem is that my query is gigantic and it has a structure in rows with 150 selections visible and 250 that are not visible, but are used in calculations. Besides this big structure I have 7 InfoObjects in columns.
    Iu2019m being able to feed my table, but I noticed that more than half of the lines have all values empty, i.e., zero.
    I tried to place a condition in query, but it gets ignored.
    Do you know a way to skip the lines that have all values zero?
    Thanks in advance.
    Points will be awarded of course.
    João Arvanas,

    Hi Joao,
    This is actually a common problem.  Conditions and row suppression does not work for RSCRM_BAPI.  The underlying function module is WREX_GETDATA. 
    I've tackled this two ways.
    1)  Write a program using WREX_GETDATA and modify the empty entries in memory before writing to table.
    2)  Use the Query in an APD to extract the data and remove the entries via a filter or ABAP process.
    Tips on solution 2
    Make sure you unhide all your keyfigures.
    Turn on Parrallel Processing
    Regards,
    Dae Jin

  • Netflix says I am billed through iTunes. The card being hit by netflix is NOT the card used with my itunes account. Whats up?

    How is it that Netflix has been billing a card that is NOT the credit card linked to my itunes. Netflix says it is billing through itunes..How? My Wells Visa NOT attached to iTunes but it is the card being billed.Any idea why this is happening?

    Top up your debit and contact iTune support:
    https://ssl.apple.com/emea/support/itunes/contact.html

  • HT201269 my 5s broke so i got a new one and the info isnt transfering the phone just shows the apple and a progress bar but the bar isnt moving what so ever

    phone wont progress from icloud transfer

    Hey there ddjild,
    It sounds like you are restoring your previous phones backup to your new one, but the progress bar appears to be stuck. According to this article:
    iOS: Apple logo with progress bar after updating or restoring from backup
    http://support.apple.com/kb/TS3681
    the process can take from several minutes to an hour to complete. The amount of time depends on the number of files on the device and whether you're erasing, updating, or upgrading your iOS.
    If the device has stil not finished the process, I would recommend resetting the device with the following article:
    Turn your iOS device off and on (restart) and reset
    http://support.apple.com/kb/ht1430
    To reset, press and hold both the Sleep/Wake and Home buttons for at least 10 seconds, until you see the Apple logo.
    If that does not get the phone booted back to the Lock Screen so you can get to your Home Screen, I would next try putting the device into recovery mode and attempting another restore from that backup:
    If you can't update or restore your iOS device
    http://support.apple.com/kb/ht1808
    Thank you for using Apple Support Communities.
    Cheers,
    Sterling

  • HELP - How do you Merge 2 Users to one without the stuff being Duplicated?

    my friend that helped me with my computer today with her mac computer a while ago her computer crashed and she got a new mac and now for some reason on her computer she had to create a new user so meaning for certain stuff she had to switch back and forth between the 2 users and she wanted to Merge 2 users, on Mac but the First was from back up and the Second is the new user I had to set up and the new user is the most current one and the other thing is she does not want the stuff duplicated so how do you merge them

    You can just drag any of your data from the Documents folder to the Shared folder. Then, when you log in as the other user it will be available and you can drag it into the new Documents folder. If you're looking for other preferences or Application Support it gets tricky to do by hand.
    What I'd do is start over if it's new. Just boot into boot up holding command-r keys into your Recovery Volume.
    Then choose Utilities > Disk Utility, erase the volume and reboot. This will be an Internet Recovery and will take a while. Then, the first time the user boots the machine, while still in Setup Assistant when prompted do the migration and all will be fine.

  • Comparing and picking the right value form one of the line item in a doc.

    Hi Gurus,
    I have requirement such that I have to show the tax jurisdiction code of only one item. That is if there are 5 line items with in a document and each one has diffeerent tax jurisdiction code, then we should be showing only one tax jurisdiction code for a document. Line items are not displayed in report. The condition to pick up tax jurisdiction code is the one which has least ending zeros.
    Supppose
    Doc1          Item          Tax Jurisdiction code
    1800000002       1          CNQC00000000000
    1800000002       2          CNQC00000000000
    1800000002       3          CN0000000000000
    1800000002       4          CNQC00000000000
    1800000002       5          TXJOHNCLEBUR000
    I have to display  the value of tax jurisdiction code corresponding to item 5  as its has least  zeros in it.
    So what I am trying to do is add another custom z object tax jurisdiction code and the value for this is populated using a routine in the update rules, such that comparing all the tax jurisdiction code for all the corresponding items in a document.
    Now the question is if I am reading all values of document no. line item and tax jurisdiction code into an internal table form communication structure for a data package. And in the update rule I will be writing a routine comparing the values of tax jurisdiction code from internal table and populating the desired value. Now the big question for me is if there are two line items of a document in one data package and another 3 line items of the corresponding same document in data package 2 then how can we compare the values of Tax jurisdiction code of all the 5 line items of a document.
    If this can be achieved using customer exit on the front end let me know and just inputs how the abap code would be or if not do I have to write abap in updates rules. I just want to know how to compare different values of Tax Jurisdiction code and select the one with has least ending zeros. For information the tax jurisdiction code is of type character and length 15.
    Any help is really appreciated.
    Thanks,
    Raj

    Yes, it's possible. Just use a regular text item. Create an LOV using the LOV wizard. When you define the query for the LOV's record group, enter a statement that selects from the other database table. Set the return value of the appropriate LOV column to be the text item on the form. Finally, assign the LOV to that text item, so that the LOV pops up when the user presses the LOV key with the cursor in that text item. You can also set the LOV so that it automatically displays when the cursor enters the text item.
    Just look up LOV in online help if you need more info.

  • Query one of the twos

    I have a table (tbl1) as follows:
    col1      col2      col3
    1111      CM      XXXX
    1111      ML      XXXX
    1111      AB      XXXX
    2222      ML      XXXX
    2222      AB      XXXX
    From the above table, how do I retrieve a record according to the following criteria?
    Retrieve the record where col2 = 'CM'. If 'CM' is not available for a record retrieve the record where col2 is 'ML'. From the above data, I am supposed to be getting only the one record with 'CM' for '1111' and the one with 'ML' for '2222'. I am not sure how this can be achieved. If I use DECODE, the problem is, I am getting 2 records for col1 = '1111', since both 'CM' and 'ML' are present for the col1 = '1111'.
    Is there a better way to do this query?

    SQL> create table aron.tbl1(col1 number, col2 varchar2(2), col3 varchar2(5))
    Table created
    SQL> insert into aron.tbl1 values(1111, 'CM', 'XXXX')
    1 row inserted
    SQL> insert into aron.tbl1 values(1111, 'ML', 'XXXX')
    1 row inserted
    SQL> insert into aron.tbl1 values(1111, 'AB', 'XXXX')
    1 row inserted
    SQL> insert into aron.tbl1 values(2222, 'ML', 'XXXX')
    1 row inserted
    SQL> insert into aron.tbl1 values(2222, 'AB', 'XXXX')
    1 row inserted
    SQL> select *
    from (select t.*, rank() over (partition by col1 order by col1, col2) r
         from aron.tbl1 t
         where col2 in ('CM', 'ML')
    where r = 1
          COL1 COL2 COL3           R
          1111 CM   XXXX           1
          2222 ML   XXXX           1
    2 rows selected

  • Pricing not Picked up in Billing for one of the BOM items

    Hello SAPians,
    I have an issue.
    A Standard Charge Estimate was created from Service Order.
    Invoicing was done on the same day of the Standard charge Estimate.  The issue is
    There 3 Materials (BOM)-LUMF.   The price at
    10.  Service item    Rs  0.00    TAP-  (No price)
    20.  Service Item    Rs 184.00 TAD   (Priced)
    30.  Service item    Rs 266.00 TAD   (Priced)
    total order value Rs 450/.   Total Billing amount Rs 266.00 and NOT Rs 450/. 
    The error is item at 20 not picked pricing in Invoicing. Pricing analysis in Invoicing shows "Condition record exists, but has not been set"  Message 108.
    The possibility of User Manually deleting the Condition Type in Billing is reuled out.
    Your guidance and suggestions are appreciated
    Thanks in Advance

    Hi,
    Please read the below details of the message 108 and carry out new pricing in the invoice, this will solve your problem:
    Condition record exists, but has not been set
    This message tells you that the condition record exists, but has not been set in the document. If pricing was carried out again for the document item, then the condition would be set.
    There are different reasons for this:
    1. The condition was deleted manually in the item condition screen.
    2. The condition record was created later. Please note that order processing and pricing have buffer mechanisms. This means that a newly added condition record might only be found after order processing has been left completely and then started again.
    If the condition type is used for subsequent settlement (rebate), there may be subsequent updating of business volume (the agreement is is created retrospectively). The document conditions do not contain the condition record, as the condition record was not created when pricing was carried out. Updating of business volume is carried out using special functions for subsequent settlement.
    3. When an item was added, the condition record was accessed with key fields other than change time. This could lead to different results in the requirements check at the time of adding and the change time. This can occur when modifications are made.
    4. In billing (or when copying orders): Certain condition types were not determined in the source document (this is usually controlled by the pricing requirements). When creating the document, the document flow (TVCPF,TVCPA) is processed using a pricing type that does not redetermine these condition types, although they are supposed to be called via the requirements.
    Hrishikesh

  • Hi all, I need help please to run few query one after the other...

    I understood I should do it with procedures? is it the simplest way?
    I don't know PLSQL and it was quite difficult for me to try learn it alone.
    there is a simplest way? or a good guide that able to help me?
    thanks a lot,

    Hi,
    Here's an example of a SQL*Plus script.
    Use any text editor to create a file (let's call it aug_6.sql) that contains all the statements you want to execute in order, like this:
    --      *****  Begin aug_6.sql  *****
    CREATE SEQUENCE rownum_incrementing INCREMENT BY 1 START WITH 1;
    CREATE SEQUENCE increment_order_num INCREMENT BY 1 START WITH 1000;
    Insert into orders_main(order_num,order_date,sapak_num,status) values (increment_order_num.nextval, sysdate, '12','new3');
    Insert into orders_details(row_num,order_num,item_num,quantity) values
    (rownum_incrementing.NextVal,
    ( select max(order_num) from orders_main) ,'14','40');
    Insert into delivery_main
    values (increment_del_num.nextval
    ,(select max(order_num) from orders_main)
    , sysdate
    , (select sapak_num from orders_main where order_num = ( select max(order_num) from orders_main)));
    --      *****  End aug_6.sql  *****Note that I made a lot of changes in what you posted, because there seemed to be a lot of mistakes. (See list below.)
    Once you have saved the file, you can run it in SQL*Plus by referring to the full path name of the file:
    SQL> @c:\aaa\bbb\aug_6This is very useful if you have to do the exact same thing more than once (for example, if you are going to create the same sequences and INSERT the same data in your development database, then in your test database, and finally in your production database).
    Here are a few things for you to watch:
    (a) "Query" means "SELECT statement". Use "SQL Statement" if you're talking about any kind of SQL command (including CREATE SEQUENCE and INSERT).
    (b) Every SQL statement must end with a semicolon (;) or slash (/).
    (c) Make sure single-quotes always occur in pairs.
    (d) Make sure parentheses occur in pairs, every "(" followed by a ")".
    (e) Don't use strings to refer to numbers, or vice cersa. For example, if the columns item_num and quantity in the table orders_dtails are NUMBERs, then give them NUMBER values (without quotes) like 14 and 40, not string values like '14' and '40'.
    (f) As part of a larger statement, you can simply use
    SYSDATE
    instead of the scalar sub-query
    (SELECT SYSDATE FROM dual)

  • After right-clicking the Firefox Icon, a window pops up with one of the titles being "Frequent." Web sites are always being added to this section that I do NOT want. Is there a way to control the number of listings under "Frequent?"

    After right clicking the Firefox Icon, a window pops up above the icon with three sections in it. Two are titled, they are "Frequent" and "Tasks."
    The "Frequent" section each time I see it, has added previous sites that I have visited. This list then has lots of duplicates in it. I do not need that, and would like to keep this listing a a favored few.
    Is there a way to stop having superfluous web-sites added to the "Frequent" list ??
    Thanks!

    After right clicking the Firefox Icon, a window pops up above the icon with three sections in it. Two are titled, they are "Frequent" and "Tasks."
    The "Frequent" section each time I see it, has added previous sites that I have visited. This list then has lots of duplicates in it. I do not need that, and would like to keep this listing a a favored few.
    Is there a way to stop having superfluous web-sites added to the "Frequent" list ??
    Thanks!

  • Line rental bill query

    I have 2 bills come thorugh the post i have since set up a DD,will this take care of both, one bill is for line rental and the other one is my broadband,i dont want to get into arrears with my bill,one is around £180 and the line rental one is around £60,i have set up a DD that takes £79 monthly,thanks. 

    Hi vincent,
    If you have two separate accounts you'll need to set up two separate direct debits (one for the line and the other for the broadband). You can set this up online if you have an eBilling account, all you need to do is log into www.bt.com/youraccount.
    If you'd like me to check anything drop me an email at [email protected]
    Stephanie
    Stephanie
    BTCare Community Manager
    If you like a post, or want to say thanks for a helpful answer, please click on the Ratings star on the left-hand side of the post. If someone answers your question correctly please let other members know by clicking on ’Mark as Accepted Solution’.

  • 2 lines on family plan now, if we add a third, can we remove one of the other two?

    My husband and I have a 2 line family share plan with standard phones (sharing 700 mins/month w/ unlimited text).  I'm eligible for an upgrade now (primary line), and he has to wait until June.  Our contracts both expire in October.  We both want to upgrade to a plan that includes data, and probably both get the droid 2, which are buy one get one free right now.  However, they won't allow us to upgrade his phone yet, and so I can't use the bogo offer. 
    It seems there's also a "smartphones talk free" promotion right now too.  So to add a third line with a smartphone we'd only pay for the data plan, not the $9.99 for the extra line.  So I guess I'm looking for the loophole :-)  Would we only be paying for our two data packages, and for one of the extra lines?
    If we add a third line, can we then take advantage of the bogo offer with my early upgrade and the new line?  Ideally my husband would just use the new line, and let his old phone sit until October, and then we'd go back to only having 2 lines on our plan.  Would we be able to cancel his current line in October, or would adding the 3rd line extend the contracts of all three lines on our plan?
    Also could we transfer his current "line 2" number to the new "line 3" phone?

    spottedcatfish wrote:
    Here's the catch.  The line that is using the "Smartphones Talk Free" promo has to have a data package attached to it, which means that you would wind up in this situation:
    Your Number (Line 1) - Calling Plan + Data Package
    His Number (Line 2) - $9.99 + Data Package
    New Number (Line 3) - $0 + Data package (as long as the data package is kept on the line)
    You'd have to have 3 data packages, one to keep the promo, and then one on the lines with the smartphones active.  Contracts and promotions are tied to the phone number, so you can't switch the number or contract end date between lines.  If your husband wants to keep his number, the best thing to do will be to wait until he is eligible for an upgrade.
    If there is not a smartphone on line 2, but just a standard phone as was stated by the OP, you do not have to have a data plan on this line. To qualify for the smartphones talk free promotion, you do not have to have a data plan on all lines, just the lines you sign up with the offer for, i.e. just the primary line that is upgrading to the smartphone and the additional line that you are adding so that you can take advantage of the offer.
    If you do want to take advantage of the smartphone talk free offer, though, you will have to leave the smartphone on the line you sign up with. If you move the phone to your 2nd line, I believe that the discount will be stopped.

  • Hiding lines in a query while using the overall results

    Hi all,
    We got a hierarchy with 4 levels. Each element of the first level after the root "L1" (2nd level in real) receive amounts called "INITIAL". The next step is to send and dispatch these amounts to the 3rd level "L2". At this point, the L2s can send to each other amounts which are then typed as "TRANSFER" and no more "INITIAL" or send and dispatch to the 4th level elements.
    We isolated these movements to emphasize on the L2s which is part of the query goal. The lines as then restricted to the L2s. The next column must compare as a percentage the amounts typed "TRANSFER" to the amounts a the their L1s (father node).
    <u>Our need is to know how to receive an overall result ("INITIAL" amounts on L1s) at the level 2 strictly.</u>
    Type of hierarchy :
    1. ROOT
       2. L1A : INITIAL (1000€)
          3. L21-1A : INITIAL (700€) -> TRANSFER type for 200€
             4...
          3. L22-1A : INITIAL (300€) -> TRANSFER type for 100€
             4...
       2. L2A : INITIAL
          3. L21-2A : INITIAL & TRANSFER
             4...
          3. L22-2A : INITIAL & TRANSFER
             4...
    <b>The result of the query is :
    L21-1A : 20% (is 200/1000)
    L22-1A : 10%</b>
    Thanks in advance for your help.
    Geo

    HI,
    I would suggest you to create a new KF with a formula to check if any of the KF value is zero for example..
    New KF =(( col1 == 0) OR (col2 == 0) OR (col3 == 0) )
    You then hide this new KF always in the query and create a condition to display rows where the New KF is not equal to 1.
    This will hide all the rows which have any of the 3 KF's as 0.
    Regards,
    Shilpa

  • ALV sums of lines depending on value of field of the line?

    Hi,
    We have an ALV and would like to get the sums depending on the value of a field of each line.
    For example: imagine we have an ALV, and there are two kinds of lines: one have a counter=1, and others have a counter=2. Is it possible to receive two totals in the ALV, one for the lines that have counter=1, and one for the lines that have counter=2? And that when a filter is being applied, the sums change automatically?
    Thx!

    Hi,
    Please the below code which ill help to change the subtotal text, you need do manula total and replace with the wa of the subtotal with you calculated sum. In the below code i replaced a break point where you need to add your coding
    *& Report  Z_ALV_SUBTOTAL
    REPORT Z_ALV_SUBTOTAL.
    *& Table declaration
    TABLES: EKKO.
    *& Type pool declaration
    TYPE-POOLS: SLIS. " Type pool for ALV
    *& Selection screen
    SELECT-OPTIONS: S_EBELN FOR EKKO-EBELN.
    *& Type declaration
    *Type declaration for internal table to store EKPO data
    TYPES: BEGIN OF X_DATA,
           EBELN  TYPE CHAR30,  " Document no.
           EBELP  TYPE EBELP,   " Item no
           MATNR  TYPE MATNR,   " Material no
           MATNR1 TYPE MATNR,   " Material no
           WERKS  TYPE WERKS_D, " Plant
           WERKS1 TYPE WERKS_D, " Plant
           NTGEW  TYPE ENTGE,   " Net weight
           GEWE   TYPE EGEWE,   " Unit of weight
           END OF X_DATA.
    *& Internal table declaration
    DATA:
         * INTERNAL TABLE TO STORE EKPO      DATA
    I_EKPO TYPE STANDARD TABLE OF X_DATA INITIAL SIZE 0,
    Internal table for storing field catalog information
    I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
    Internal table for Top of Page info. in ALV Display
    I_ALV_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
    Internal table for ALV Display events
    I_EVENTS TYPE SLIS_T_EVENT,
    Internal table for storing ALV sort information
    I_SORT TYPE  SLIS_T_SORTINFO_ALV,
    I_EVENT TYPE SLIS_T_EVENT.
    *& Work area declaration
    DATA:
    WA_EKKO TYPE X_DATA,
    WA_LAYOUT     TYPE SLIS_LAYOUT_ALV,
    WA_EVENTS         TYPE SLIS_ALV_EVENT,
    WA_SORT TYPE SLIS_SORTINFO_ALV.
    *& Constant declaration
    CONSTANTS:
    C_HEADER   TYPE CHAR1 VALUE 'H',                    "Header in ALV
    C_ITEM     TYPE CHAR1 VALUE 'S'.
    *& Start-of-selection event
    START-OF-SELECTION.
    Select data from ekpo
      SELECT EBELN " Doc no
      EBELP " Item
      MATNR " Material
      MATNR " Material
      WERKS " Plant
      WERKS " Plant
      NTGEW " Quantity
      GEWEI " Unit
      FROM EKPO
      INTO TABLE I_EKPO
      WHERE EBELN IN S_EBELN
      AND NTGEW NE '0.00'.
      IF SY-SUBRC = 0.
        SORT I_EKPO BY EBELN EBELP MATNR .
      ENDIF.
    * TO BUILD THE PAGE HEADER
    PERFORM SUB_BUILD_HEADER.
    * TO PREPARE FIELD CATALOG
      PERFORM SUB_FIELD_CATALOG.
    * PERFORM TO POPULATE THE LAYOUT STRUCTURE
      PERFORM SUB_POPULATE_LAYOUT.
    * PERFORM TO POPULATE THE SORT TABLE.
      PERFORM SUB_POPULATE_SORT.
    PERFORM TO POPULATE ALV EVENT
      PERFORM SUB_GET_EVENT.
    END-OF-SELECTION.
      * PERFORM TO DISPLAY ALV REPORT
      PERFORM SUB_ALV_REPORT_DISPLAY.
    *&      Form  sub_build_header
          To build the header
          No Parameter
    FORM SUB_BUILD_HEADER .
      * LOCAL DATA DECLARATION
      DATA: L_SYSTEM     TYPE CHAR10 ,          "System id
      L_R_LINE     TYPE SLIS_LISTHEADER,   "Hold list header
      L_DATE       TYPE CHAR10,           "Date
      L_TIME       TYPE CHAR10,           "Time
      L_SUCCESS_RECORDS TYPE I,           "No of success records
      L_TITLE(300) TYPE C.                "Title
    Title  Display
      L_R_LINE-TYP = C_HEADER.               " header
      L_TITLE = 'Test report'(001).
      L_R_LINE-INFO = L_TITLE.
      APPEND L_R_LINE TO I_ALV_TOP_OF_PAGE.
      CLEAR L_R_LINE.
    * RUN DATE DISPLAY
      CLEAR L_DATE.
      L_R_LINE-TYP  = C_ITEM.                " Item
      WRITE: SY-DATUM  TO L_DATE MM/DD/YYYY.
      L_R_LINE-KEY = 'Run Date :'(002).
      L_R_LINE-INFO = L_DATE.
      APPEND L_R_LINE TO I_ALV_TOP_OF_PAGE.
      CLEAR: L_R_LINE, L_DATE.
    ENDFORM.                    " sub_build_header
    *&      Form  sub_field_catalog
          Build Field Catalog
          No Parameter
    FORM SUB_FIELD_CATALOG .
      *  BUILD FIELD CATALOG
      PERFORM SUB_FILL_ALV_FIELD_CATALOG USING:
                '01' '01' 'EBELN'  'I_EKPO' 'L'  'Doc No'(003) ' ' ' ' ' ' ' ',
                '01' '02' 'EBELP'  'I_EKPO' 'L'  'Item No'(004) 'X' 'X' ' ' ' ',
                '01' '03' 'MATNR'  'I_EKPO' 'L'  'Material No'(005) 'X' ' ' ' ' ' ',
                '01' '03' 'MATNR1' 'I_EKPO' 'L'  'Material No'(005) ' ' ' ' ' ' ' ',
                '01' '04' 'WERKS'  'I_EKPO' 'L'  'Plant'(006) 'X' ' ' ' ' ' ',
                '01' '04' 'WERKS1' 'I_EKPO' 'L'  'Plant'(006) ' ' ' ' ' ' ' ',
                '01' '05' 'NTGEW'  'I_EKPO' 'R'  'Net Weight'(007) ' ' ' ' 'GEWE' 'I_EKPO'.
    ENDFORM.                    " sub_field_catalog*
    *&     Form  sub_fill_alv_field_catalog
    *&     For building Field Catalog
    *&     p_rowpos   Row position
    *&     p_colpos   Col position
    *&     p_fldnam   Fldname
    *&     p_tabnam   Tabname
    *&     p_justif   Justification
    *&     p_seltext  Seltext
    *&     p_out      no out
    *&     p_tech     Technical field
    *&     p_qfield   Quantity field
    *&     p_qtab     Quantity table
    FORM SUB_FILL_ALV_FIELD_CATALOG  USING  P_ROWPOS    TYPE SYCUROW
                                            P_COLPOS    TYPE SYCUCOL
                                            P_FLDNAM    TYPE FIELDNAME
                                            P_TABNAM    TYPE TABNAME
                                            P_JUSTIF    TYPE CHAR1
                                            P_SELTEXT   TYPE DD03P-SCRTEXT_L
                                            P_OUT       TYPE CHAR1
                                            P_TECH      TYPE CHAR1
                                            P_QFIELD    TYPE SLIS_FIELDNAME
                                            P_QTAB      TYPE SLIS_TABNAME.
      * LOCAL DECLARATION FOR FIELD CATALOG
      DATA: WA_LFL_FCAT    TYPE  SLIS_FIELDCAT_ALV.
      WA_LFL_FCAT-ROW_POS        =  P_ROWPOS.     "Row
      WA_LFL_FCAT-COL_POS        =  P_COLPOS.     "Column
      WA_LFL_FCAT-FIELDNAME      =  P_FLDNAM.     "Field Name
      WA_LFL_FCAT-TABNAME        =  P_TABNAM.     "Internal Table Name
      WA_LFL_FCAT-JUST           =  P_JUSTIF.     "Screen Justified
      WA_LFL_FCAT-SELTEXT_L      =  P_SELTEXT.    "Field Text
      WA_LFL_FCAT-NO_OUT         =  P_OUT.        "No output
    WA_LFL_FCAT-TECH           =  P_TECH.       "Technical field
    WA_LFL_FCAT-QFIELDNAME     =  P_QFIELD.     "Quantity unit
    WA_LFL_FCAT-QTABNAME       =  P_QTAB .      "Quantity table
      IF P_FLDNAM = 'NTGEW'.
        WA_LFL_FCAT-DO_SUM  = 'X'.
      ENDIF.
      APPEND WA_LFL_FCAT TO I_FIELDCAT.
      CLEAR WA_LFL_FCAT.
    ENDFORM.                    " sub_fill_alv_field_catalog
    *&      Form  sub_populate_layout
          Populate ALV layout
          No Parameter
    FORM SUB_POPULATE_LAYOUT .
      CLEAR WA_LAYOUT.
      WA_LAYOUT-COLWIDTH_OPTIMIZE = 'X'." Optimization of Col width
    ENDFORM.                    "SUB_POPULATE_LAYOUT
    " sub_populate_layout
    *&      Form  sub_populate_sort
          Populate ALV sort table
          No Parameter
    FORM SUB_POPULATE_SORT .
      * SORT ON MATERIAL
      WA_SORT-SPOS = '01' .
      WA_SORT-FIELDNAME = 'MATNR'.
    WA_SORT-TABNAME = 'I_EKPO'.
      WA_SORT-UP = 'X'.
      WA_SORT-SUBTOT = 'X'.
      APPEND WA_SORT TO I_SORT .
    CLEAR WA_SORT."* SORT ON PLANT
    WA_SORT-SPOS = '02'.
    WA_SORT-FIELDNAME = 'WERKS'.
    WA_SORT-TABNAME = 'I_EKPO'.
    WA_SORT-UP = 'X'.
    WA_SORT-SUBTOT = 'X'.
    APPEND WA_SORT TO I_SORT .
    CLEAR WA_SORT.
    ENDFORM.                    " sub_populate_sort
    *&      Form  sub_get_event
          Get ALV grid event and pass the form name to subtotal_text
          event
          No Parameter
    FORM SUB_GET_EVENT .
      CONSTANTS : C_FORMNAME_SUBTOTAL_TEXT TYPE SLIS_FORMNAME VALUE 'SUBTOTAL_TEXT'.
      DATA: L_S_EVENT TYPE SLIS_ALV_EVENT.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          I_LIST_TYPE     = 4
        IMPORTING
          ET_EVENTS       = I_EVENT
        EXCEPTIONS
          LIST_TYPE_WRONG = 0
          OTHERS          = 0.
      * SUBTOTAL
      READ TABLE I_EVENT  INTO L_S_EVENT WITH KEY NAME = SLIS_EV_SUBTOTAL_TEXT.
      IF SY-SUBRC = 0.
        MOVE C_FORMNAME_SUBTOTAL_TEXT TO L_S_EVENT-FORM.
        MODIFY I_EVENT FROM L_S_EVENT INDEX SY-TABIX.
      ENDIF.
    ENDFORM.                    "SUB_GET_EVENT
    " sub_get_event
    *&      Form  sub_alv_report_display
          For ALV Report Display
          No Parameter
    FORM SUB_ALV_REPORT_DISPLAY .
      DATA: L_REPID TYPE SYREPID .
      L_REPID = SY-REPID .
    * THIS FUNCTION MODULE FOR DISPLAYING THE ALV REPORT
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM     = L_REPID
         I_CALLBACK_TOP_OF_PAGE = 'SUB_ALV_TOP_OF_PAGE'
         IS_LAYOUT              = WA_LAYOUT
          IT_FIELDCAT            = I_FIELDCAT
          IT_SORT                = I_SORT
          IT_EVENTS              = I_EVENT
         I_DEFAULT              = 'X'
         I_SAVE                 = 'A'
        TABLES
          T_OUTTAB               = I_EKPO
        EXCEPTIONS
          PROGRAM_ERROR          = 1
          OTHERS                 = 2.
      IF SY-SUBRC <> 0.
       MESSAGE i000 WITH 'Error in ALV report display'(055).
      ENDIF.
    ENDFORM.                    " sub_alv_report_display
          FORM sub_alv_top_of_page
          Call ALV top of page
          No parameter
    FORM SUB_ALV_TOP_OF_PAGE.                                   "#EC CALLED
    To write header for the ALV
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
       EXPORTING
         IT_LIST_COMMENTARY = I_ALV_TOP_OF_PAGE.
    ENDFORM.                    "alv_top_of_page
    *&      Form  subtotal_text
          Build subtotal text
          P_total  Total
          p_subtot_text Subtotal text info
    FORM SUBTOTAL_TEXT CHANGING
                   P_TOTAL TYPE ANY
                   P_SUBTOT_TEXT TYPE SLIS_SUBTOT_TEXT.
    Material level sub total
      IF P_SUBTOT_TEXT-CRITERIA = 'MATNR'.
        P_SUBTOT_TEXT-DISPLAY_TEXT_FOR_SUBTOTAL  = 'Materia  l'(009).
        BREAK-POINT.
    here calucate the total and change the p_total    
      ENDIF.
      * PLANT LEVEL SUB TOTAL
      IF P_SUBTOT_TEXT-CRITERIA = 'WERKS'.
        P_SUBTOT_TEXT-DISPLAY_TEXT_FOR_SUBTOTAL = 'Plant level total'(010).
      ENDIF.
    ENDFORM.                    "subtotal_text

Maybe you are looking for