Remote Cubes - R3 customer exit

Hi,
We do have a situation where the enhanced fields on a SPL data source, which are filled in the R3 customer exit, do not provide data when queried on Remote cube.
However when fetching data from the same datasource, using normal data extraction, data is filled for the enhanced fields.
Is this a expected result ?
Pl. advise,
Thanks,
Ram

Hello TG,
As the datasource has massive data, better option would be to use navigational attribute.
Advantages:
1. In a enhancement, you would have to read fields from a DataBase table, which would also have massive data. select would be a pain on such table.
2. CMOD execution includes passing of data within internal tables, filling of internal tables, selection of data, modifications of internal tables which takes time.
3. In case of a navigationsl attribute, just a SID table needs to be accessed, also master data table is never as big as transaction data so it is better.
Hope this heps.
Regards,
Pankaj

Similar Messages

  • Remodelling with customer exit

    Hello Colleagues,
    I have gone thru the threads but couldnt find correct thread to address my issue.
    could you please help me on fulfilling this requirement.
    requirement is :
    1) Add a charectesristic Infoobject to existing infocube by remodelling option.
    2) in remodelling we have to use customer exit option.
    3)the new infobject should be populated with comparing data from another DSO.
    Ex: in the datapackge loading to Infocube I have  prodcut type infoobject. in DSO I have product type and status Infoobjects.
         so it has to lookup the DSO for corrsponding product type values in Datapackage and populate the newly added charecteristic infoobject with DSO's status Infobject values.
    please help me in how to write code for this!!
    regards,
    Lacoche

    Hi,
    Please refer to this article.
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/008f9fef-22e4-2a10-d994-a17c55ca06f0
    It talks about remodeling of info cube using customer exit.
    even sample code is also given.
    Hope it helps.
    Thanks,
    Rashmi.

  • Customer Exit Variable to fetch the data from the cube..

    Hello Gurus,
    I am having a requirement to select the latest changed record from the cube while executing the query.  where we are having the Calday as the date with a variable .
    I suggested my client we can filter it at the DSO leve or Data loading level but my client dont want to distrurb the existing design so he want to perfrom the changes at the Query level only.
    For Example we are having below records in the cube.
    PO             Material     Calday       Qty         Price
    101            ABC          1/12           100         10
    101            ABC          2/12            100         10
    101            ABC          3/12            100         11
    I am having Calday in the selection screen as the variable.
    Now from the above example i need to show the record which has been changed on 3/12.
    For this i am planning to write the customer exit variable on the calday , when the user enter the range of Calday then i will fetch the whole records which fall in between the range and i will sort each PO with respect to the date and i will pick those which are the latest records.
    My Concerns:
    !. Kindly let me know if it is possible and what are the other things that i need to consider.
    2. Did it will impact the performance.
    Waiting for your quick replies
    Thanks & Regards
    KK

    Hi Mate,
    Sorry for late reply.
    By d way in your word.
    initially when the user enter the date range as the vairable input. suppose 1/12 to 31/12 then i will pick all those records which fall in this range.
    suppose the records are
    PO Date
    P1 01/12
    P1 02/12
    P2 02/12
    P2 03/12
    P3 03/12
    P3 04/12
    In the customer exit variable Now for each PO i will sort the date in ascending order and i will pick the last record to display it in the Report.
    The ouput will be
    PO Date
    P1 02/12
    P2 03/12
    P3 04/12
    Now hope you are aware about exit variable concept.
    so what value will pass in the calday filter.
    here after sorting on each PO , you will get 3 different dates, 02/12 for P1
    03/12 for P2
    and 04/12 for P3
    Now if you are aware about exit variable concept, then you will pass this three date to CALDAY(I_t_VAR_Range-low = ...)
    but how query will understand that for P1 calday filter value is 02/12, for P2 calday filter value is 03/12.... and so on...
    actually i have also experienced this kind of issue 1-2 years before, i have tried same thing at that time without thinking and stuck with this problem..
    By d way you can also learn from your mistake.. so just try ur logic and then you will understand what is the problem?
    By d way this will not work, parallel you can work on other solution.

  • Data display on remote cube

    Hi Guru's
    I've created a generic ds using fm for direct access.creating virtual cube and mapped accordingluy with ds.
    Now when I do test extract on ds per a single posting day then it takes few secords to pull through the data and the no. of records are 45 on dev box.But I do data display on remote cub and it takes long and throughing a timed out error.
    I dont have any routines on transformaions.
    What could be the problem?
    Nagesh.

    HI
    here's the code in FM
    Example: DataSource for table SFLIGHT
      TABLES: BKPF,BSEG.
    Auxiliary Selection criteria structure
      DATA: L_S_SELECT TYPE SRSC_S_SELECT.
    Maximum number of lines for DB table
      STATICS: S_S_IF TYPE SRSC_S_IF_SIMPLE,
    counter
              S_COUNTER_DATAPAKID LIKE SY-TABIX,
    Starting point for each data package
             READ_NEXT LIKE SY-TABIX,
    Total Number of Extracted Records
             NO_RECS LIKE SY-TABIX,
    Number read so far
             TEMP_CNTR(9) TYPE N.
    cursor
    S_CURSOR TYPE CURSOR.
    Select ranges
      RANGES: R_BLDAT FOR BKPF-BLDAT,
              R_BUDAT FOR BKPF-BUDAT,
              R_CPUDT FOR BKPF-CPUDT,
              R_BUKRS FOR BKPF-BUKRS,
              R_GJAHR FOR BKPF-GJAHR,
              R_BELNR FOR BKPF-BELNR.
      DATA: GT_T_DATA LIKE ZFI_GL_4 OCCURS 0 WITH HEADER LINE.
      DATA: GT_BKPF TYPE TABLE OF BKPF,
            GS_BKPF TYPE BKPF.
      DATA: COUNTER(9) TYPE N.
      DATA: LV_MONAT(3).
    Initialization mode (first call by SAPI) or data transfer mode
    (following calls) ?
      IF I_INITFLAG = SBIWA_C_FLAG_ON.
    Initialization: check input parameters
                    buffer input parameters
                    prepare data selection
    Check DataSource validity
        CASE I_DSOURCE.
          WHEN 'ZFI_GL_4'.
          WHEN OTHERS.
            IF 1 = 2. MESSAGE E009(R3). ENDIF.
    this is a typical log call. Please write every error message like this
            LOG_WRITE 'E'                  "message type
                      'R3'                 "message class
                      '009'                "message number
                      I_DSOURCE   "message variable 1
                      ' '.                 "message variable 2
            RAISE ERROR_PASSED_TO_MESS_HANDLER.
        ENDCASE.
        APPEND LINES OF I_T_SELECT TO S_S_IF-T_SELECT.
    Fill parameter buffer for data extraction calls
        S_S_IF-REQUNR    = I_REQUNR.
        S_S_IF-DSOURCE = I_DSOURCE.
        S_S_IF-MAXSIZE   = I_MAXSIZE.
    Fill field list table for an optimized select statement
    (in case that there is no 1:1 relation between InfoSource fields
    and database table fields this may be far from beeing trivial)
        APPEND LINES OF I_T_FIELDS TO S_S_IF-T_FIELDS.
      ELSE.                 "Initialization mode or data extraction ?
    Data transfer: First Call      OPEN CURSOR + FETCH
                   Following Calls FETCH only
    First data package -> OPEN CURSOR
        IF S_COUNTER_DATAPAKID = 0.
    Fill range tables BW will only pass down simple selection criteria
    of the type SIGN = 'I' and OPTION = 'EQ' or OPTION = 'BT'.
          LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'BLDAT'.
            MOVE-CORRESPONDING L_S_SELECT TO r_bldat.
            APPEND R_BLDAT.
          ENDLOOP.
          LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'BUDAT'.
            MOVE-CORRESPONDING L_S_SELECT TO R_BUDAT.
            APPEND R_BUDAT.
          ENDLOOP.
          LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'CPUDT'.
            MOVE-CORRESPONDING L_S_SELECT TO R_CPUDT.
            APPEND R_CPUDT.
          ENDLOOP.
             LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'BUKRS'.
            MOVE-CORRESPONDING L_S_SELECT TO R_BUKRS.
            APPEND R_BUKRS.
          ENDLOOP.
             LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'GJAHR'.
            MOVE-CORRESPONDING L_S_SELECT TO R_GJAHR.
            APPEND R_GJAHR.
          ENDLOOP.
              LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'BELNR'.
            MOVE-CORRESPONDING L_S_SELECT TO R_BELNR.
            APPEND R_BELNR.
          ENDLOOP.
    Determine number of database records to be read per FETCH statement
    from input parameter I_MAXSIZE. If there is a one to one relation
    between DataSource table lines and database entries, this is trivial.
    In other cases, it may be impossible and some estimated value has to
    be determined.
          SELECT * FROM BKPF INTO TABLE GT_BKPF WHERE BLDAT IN R_BLDAT
                                                  AND BUDAT IN R_BUDAT
                                                  AND CPUDT IN R_CPUDT
                                                  AND BUKRS IN R_BUKRS
                                                  AND GJAHR IN R_GJAHR
                                                  AND BELNR IN R_BELNR.
          LOOP AT GT_BKPF INTO GS_BKPF.
            SELECT * FROM BSEG WHERE BELNR = GS_BKPF-BELNR
                               AND   BUKRS = GS_BKPF-BUKRS
                               AND   GJAHR = GS_BKPF-GJAHR.
              MOVE-CORRESPONDING GS_BKPF TO GT_T_DATA.
              MOVE-CORRESPONDING BSEG TO GT_T_DATA.
              CLEAR LV_MONAT.
              CONCATENATE '0' GT_T_DATA-MONAT INTO LV_MONAT.
              CONCATENATE GT_T_DATA-GJAHR LV_MONAT INTO GT_T_DATA-FISCPER.
              CALL FUNCTION 'BWFIU_GET_DOCUMENT_ORIGIN'
                EXPORTING
                  I_AWTYP    = GT_T_DATA-AWTYP
                  I_AWKEY    = GT_T_DATA-AWKEY
                IMPORTING
                  E_REFBELNR = GT_T_DATA-AWREF
                  E_REFGJAHR = GT_T_DATA-AWGJA
                  E_REFBUKRS = GT_T_DATA-AWBUK
                  E_REFKOKRS = GT_T_DATA-AWKOK.
    Lcal currency calculations.
              IF GT_T_DATA-SHKZG EQ 'S'.
                GT_T_DATA-DMSOL = GT_T_DATA-DMBTR.
                GT_T_DATA-DMSHB = GT_T_DATA-DMBTR.
                GT_T_DATA-DMHAB = 0.
              ELSEIF GT_T_DATA-SHKZG EQ 'H'.
                GT_T_DATA-DMHAB = GT_T_DATA-DMBTR.
                GT_T_DATA-DMSHB = GT_T_DATA-DMBTR * -1.
                GT_T_DATA-DMSOL = 0.
              ENDIF.
    Foriegn Currency calculations.
              IF GT_T_DATA-SHKZG EQ 'S'.
                GT_T_DATA-WRSOL = GT_T_DATA-DMBTR.
                GT_T_DATA-WRSHB = GT_T_DATA-DMBTR.
                GT_T_DATA-WRHAB = 0.
              ELSEIF GT_T_DATA-SHKZG EQ 'H'.
                GT_T_DATA-WRHAB = GT_T_DATA-DMBTR.
                GT_T_DATA-WRSHB = GT_T_DATA-DMBTR * -1.
                GT_T_DATA-WRSOL = 0.
              ENDIF.
              APPEND GT_T_DATA.
            ENDSELECT.
          ENDLOOP.
          DESCRIBE TABLE GT_T_DATA LINES NO_RECS.
          READ_NEXT = 0.
          TEMP_CNTR = 0.
        ENDIF.                             "First data package ?
    Fetch records into interface table.
        IF ( READ_NEXT GT NO_RECS ) OR ( NO_RECS EQ 0 ).
          REFRESH GT_T_DATA.
          CLEAR:S_COUNTER_DATAPAKID, COUNTER, READ_NEXT, S_S_IF, NO_RECS.
          RAISE NO_MORE_DATA.
        ENDIF.
        COUNTER = 0.
        LOOP AT GT_T_DATA FROM READ_NEXT.
          COUNTER = COUNTER + 1.
          IF COUNTER GT S_S_IF-MAXSIZE.
            IF TEMP_CNTR EQ NO_RECS.
              CLEAR: S_COUNTER_DATAPAKID,COUNTER,READ_NEXT,S_S_IF,NO_RECS.
              RAISE NO_MORE_DATA.
            ELSE.
              READ_NEXT = READ_NEXT + COUNTER.
            ENDIF.
            EXIT.
          ENDIF.
          MOVE-CORRESPONDING GT_T_DATA TO E_T_DATA.
          APPEND E_T_DATA.
          TEMP_CNTR = TEMP_CNTR + 1.
          iF TEMP_CNTR GT NO_RECS.
            CLEAR GT_T_DATA.
            CLEAR: S_COUNTER_DATAPAKID, COUNTER,READ_NEXT, S_S_IF,NO_RECS.
            RAISE NO_MORE_DATA.
            EXIT.
          ENDIF.
        ENDLOOP.
        S_COUNTER_DATAPAKID = S_COUNTER_DATAPAKID + 1.
      ENDIF.              "Initialization mode or data extraction ?
    ENDFUNCTION.
    If it's a code then why it's quick on rsa3?
    Nagesh.

  • Problem with a query on Remote Cube

    Hi,
    We are working on Remote cube, which has a source from a view built on R/3 base table. I need to extract the data to BW based on a current date due to huge volume of data(performance reasons) in the table. I have used an exit on R/3 to restrict to current date but the extract checker was showing the valid data ie only for current date when i had built a query on Remote cube, the Report was showing complete data(restriction not working). We have even tried using an inversion routine in transfer rules to pass the selections to the Source system even then it doesn't work. Could you help if you have come across same kind of situation or you can suggest an alternate solution on the same but we have to use Remote cube.
    Any suggestions asap would be highly appreciated and rewarded with full points.
    Regards,
    Raj

    Could you check the BLOB really contains UTF-8 encoded XML?
    What's your database character set?The BLOB contains UTF-8 Encoded
    and the database where i am connectes have AL32UTF8 character set, but my internal instance have "AMERICAN_AMERICA.WE8ISO8859P1"
    that is a problem?
    How could I change the character set of the oracle local client to the character set of the remote oracle data base?

  • Help required for a Remote cube query

    Hi,
    We are working on Remote cube, which has a source from a view built on R/3 base table. I need to extract the data to BW based on a current date due to huge volume of data(performance reasons) in the table. I have used an exit on R/3 to restrict to current date but the extract checker was showing the valid data ie only for current date. When i had built a query on Remote cube, the Report was showing complete data(restriction not working). We have even tried using an inversion routine in transfer rules to pass the selections to the Source system even then it doesn't work. Could you help if you have come across same kind of situation or you can suggest an alternate solution on the same but we have to use Remote cube.
    Any suggestions asap would be highly appreciated and rewarded with full points.
    Regards,
    Raj

    I can think of two ways to do it
    Simple with no ABAP coding is a view
    Create a view between a timestamp table and your big table
    Put an entry into your timestamp table of the current date - then use a selection of this inside the view
    Unforutunately you cannot use SY fields inside database views (otherwise you could have used these as a selection condition in the view)
    The best way to do it is using a function module and passing the data from the query into the SQL statement
    I prefer to do it the last way and also pass data through a generic structure - thus you manipulate the data inside the intial loop in the function module and don;t utilise further loops downstream in transfer rules
    (to try and keep the reponse time down)

  • Function module needed for customer exit variable need to use in Bex report

    Hi Experts,
    I have a requirement where i need to get Cummulative result between two interval periods.
    If user gives single mandatory input value - 002-2009
    for one Scenario:-
    Project start Date   untill Pervious year i.e  December 2008
    Where project start date will get from one of the field in my BW CUBE
    can anyone help for the customer exit function code for this scenario. As i am into BI i dont have idea in ABAP.
    Please help sample cod for this .
    Thanks,
    Anil.

    I had created one customer exit which had fullfill my requirement.

  • How to select data from an aggregate in a customer exit for a query?

    Hi,
    I have written a virtual key figure customer exit for a query. Earlier the selection was from the cube, where there was severe performance issue. So I have created an aggregate, activated and have loaded the data.
    Now when I select that data I find that the Key table is different in development and production. How do I resolve this.
    My code is attached below. The table in developemnt is KEY_100027 and in production is KEY_100004. This code is activated and running in BW development server.
    SELECT
        F~KEY_1000041 AS K____035
         F~KEY_1000271 AS K____035
         F~QUANT_B AS K____051
         F~VALUE_LC AS K____052
    INTO (xdoc_date, xval1, xqty1)
    UP TO 1 ROWS
    FROM
    FROM
    */BIC/E100004 AS F JOIN
    /BIC/E100027 AS F JOIN
    /BIC/DZMM_CGRNU AS DU
    ON FKEY_ZMM_CGRNU = DUDIMID
    JOIN /BI0/SUNIT AS S1
    ON  DUSID_0BASE_UOM = S1SID
    JOIN /BI0/SCURRENCY AS S2
    ON DUSID_0LOC_CURRCY = S2SID
    JOIN /BI0/SMATERIAL AS S3
    *ON FKEY_1000042 = S3SID
    ON FKEY_1000272 = S3SID
    JOIN /BI0/SMOVETYPE AS S4
    *ON FKEY_1000043 = S4SID
    ON FKEY_1000273 = S4SID
    JOIN /BI0/SPLANT AS S5
    *ON FKEY_1000044 = S5SID
    ON FKEY_1000274 = S5SID
    JOIN /BIC/D100004P AS DP
    *ON FKEY_100004P = DPDIMID
    ON FKEY_100027P = DPDIMID
    WHERE
    WHERE
    ( ( ( ( F~KEY_1000041 BETWEEN 20051230 AND 20060630  ) ) AND  ( (
    ( ( ( ( F~KEY_1000271 BETWEEN 20051230 AND 20060630  ) ) AND  ( (
             S3~MATERIAL = <l_0material> ) ) AND  ( (
                s2~movetype BETWEEN '101' AND '102' OR
             s4~movetype BETWEEN '921' AND '922' OR
             s4~movetype BETWEEN '105' AND '106' OR
             s4~movetype BETWEEN '701' AND '701' OR
             s4~movetype BETWEEN '632' AND '632' ) ) AND  ( (
             S5~PLANT = <l_0plant> ) ) AND  ( (
             DP~SID_0RECORDTP = 0  ) ) ) )
    GROUP BY
        ORDER BY F~KEY_1000271 DESCENDING.
          IF sy-subrc NE 0.
            EXIT.
          ENDIF.
        ENDSELECT.
    How do I transport the code and make it work?
    Whats the reason that the two key fields are different.
    I had transported the aggregate from development to production. Activated it and filled the data.
    What is the way out? Please help.
    Regards,
    Annie.

    Hi Sonu,
    The main task is to move the contents of the one internal table to another with some condition.
    First sort and delete the duplicate entries from the First Internal table like below : 
    sort it_tab by material ascending date_modified descending.
    delete adjacent duplicates from it_tab.
    Then move that Internal table contents to another internal table.
    Define another internal table with the same structure as you have first internal table and then
    Second Step :
    it_itab1 = it_itab.
    If you are using seperate Header line and Body then you can do like below :
           it_itab1[] = it_itab[].
    This will fix the issue.
    Please let me know if you need any further explonation.
    Regards,
    Kittu
    Edited by: Kittu on Apr 24, 2009 12:21 PM

  • Customer exit variable - internal table in BEX

    Hi,
    i am running a report and using variables in it.
    The report runs over a info cube. There are few challenges in it.
    One of the variable is posting date, and when user enters posting date i need to negate it with current system date.
    If the negated value is greater than 28 then i need to exclude documnet type 'YG' and display the query, else i need to include the dcumnet type 'YG' and document type '  '.  The above logic can be well implemented via a customer exit variable(for posting date) using an internal table. We have internal tables like C_T_DATA which is used in data source enhancement, which help us to implement our own desired logic.
    Do we have such kind of internal tables, based on which the report output (result set) is derived?
    i know that we have l_t_range and e_t_range, but dont know their usage, some one can explain in detail about them?
    Thanks in advance.

    Hi Selva & Lakshmin,
    The code given by Selva is almost correct . If my understanding is clear , you also wanted to include  document type ' ' when the negated value is less than 28 .
    Modification in Selvas Code :
    Variable 'V_DOCTYP' must be of type Multiple Single Values.
    DATA : V_DATE LIKE SY-DATUM.
    DATA : V_DAYS TYPE I.
    if i_step = 2.
    when 'V_DOCTYP'.
    READ TABLE i_t_var_range INTO loc_var_range WITH KEY vnam = 'ZV_PDATE''.
    IF SY-SUBRC = 0.
    V_DATE = loc_var_range-low.
    ENDIF.
    V_DAYS = SY-DATUM - V_DATE.
    IF V_DAYS > 28.
    l_s_range-low = 'YG'
    l_s_range-sign = 'E'.
    l_s_range-opt = 'EQ'.
    APPEND l_s_range TO e_t_range.
    ELSE.
    l_s_range-low = 'YG'
    l_s_range-sign = 'I'.
    l_s_range-opt = 'EQ'.
    APPEND l_s_range TO e_t_range.
    clear l_s_range.
    l_s_range-low = ' '.
    l_s_range-sign = 'I'.
    l_s_range-opt = 'EQ'.
    APPEND l_s_range TO e_t_range.
    ENDIF.
    ENDIF.
    Hope the above reply was helpful.
    Kind Regards,
    Ashutosh Singh

  • Custom Exit to count No: of Employee based on User Input Date

    Hi There,
    I have a requirement to Count the no: of Employees for each Position Id. This count value changes with time (Time-dependent).
    So, when the user Keys-in a date at the Query Execution-Prompt, it should take the date value and then count the no: of employees for each Position Id.
    Next, it should display text  like If Count = 1    "Single"
                                                      If Count =2     "Double"
                                                      If Count >=3   "Triple"
    I was informed that we should create a Calculated Key Figure and then introduce a variable in it with Replacement path as Customer Exit.
    My Question is: Could any one provide me the logic to implement the Customer Exit for above requirement. I kow that I need to implement this is BI ABAP editor as Include file.
    Further, I referred following Forums links. However, I need more information.
    counting the number of rows.
    Customer Exit Variable Code
    Any Suggestions!
    - Anil

    Hi,
    As I understood, first thing you may not have text for a key figure (will not be able to display "Single", "Doüble" etc..)
    Are you doing reporting on master data or cube?.
    If it is a master data the it will be better to include count at staging level. You just need to include one key figure count as an attribute and assign 1 over there. You may usee this key figure directly in report.
    If it is one cube/DSO then just create one CKF assign value as 1 in report in that. Use Exception aggrigation for this CKF reffering Position id in report. Dipslay this key figure.
    I hope it will help.
    Thanks,
    S

  • How to Include in Customer Exit to select max of the date

    Hi,
    Every Employee will have a health Insurance Policy which is valid for 6 six months.
    From Source System i am getting
    Employee and his policy Start date,Based on Policy Start Date in Transformations i am calculacting the Policy Expiry date (Policy Start date + 6 Months)(Ex:If Policy Start Date is 01/Nov/2007 then Exp date is 01/May/2008)
    My report is to Show employees who doesn't had a valid policy on the day report executed (Sys Date)
    For that i created a Customer Exit Variable on Policy Expiry Date
    (If Policy Expiry date is < Sys Date)
    IF i_step = 2.
          CLEAR l_s_range.
          l_s_range-low = sy-datum.
          l_s_range-sign = 'I'.
          l_s_range-opt = 'LT'.
          APPEND l_s_range TO e_t_range.
        ENDIF.
    Problem:
    Data in the cube
    Employee--Policy Start date-Policy Expiry Date
    1--01/01/2008-----30/06/2008
    1--01/07/2007-----31/12/2007
    1--01/01/2007-----30/06/2007
    When i execute the report i should expect the Emp 1 shouldn't be displayed as he had valid policy which is going to expir in June 2008....but the above exit is displaying the below 2 records
    Can i include any changes in the above exit that will select the Max Policy Expire date and then it will check with the Sys Date
    Please update me on how to proceed
    Thanks

    Hi thomos,
    Thanks for the update
    Bit Confused.....could you please explain me
    "Your variable (intervall) should be based on the Policy Expiry Date
    l_s_range-low = '10000101'.
    l_s_range-high = 'sy-datum - 1.
    l_s_range-sign = 'I'.
    l_s_range-opt = 'BT'
    How this is going to solve my problem....
    As i got 3 records on a employee one of which got expiry date greater tha sys date
    Thans

  • Daily Outstanding Report : Formula or Customer Exit

    Hello All,
    I am working on Daily Outstanding Report which is on 0FIAR_C02 Cube. in this cube i have 4 key figures 0DEBIT, 0CREDIT, 0BALANCE, 0SALES.
    There is one standard query  0FIAR_C02_Q1001 where i enter value for 0FISCAL YEAR / PERIOD = 009.2009 then i will get Period Balance means AR balance for that period, Sales for the previous period (means for 008.2009) and DSO which is formula from the above 2 keyfigures. this report shows me data for only one month as i have to enter it in the selection screen.
    My requirement is : in the selection screen i will give interval 009.2009 to 011.2009 then it should show me that report for Each Month. now to get the data for Period Balance i took cumulative balance so it is coming perfactly but HOW TO DEAL WITH SALES FOR THE PREVIOUS PERIOD for everymonth menas for SEPTEMBER i should be able to get get AUGUST VALUE for SALES same way for OCTOBER i should be able to get the value for SEPTEMBER and so on...
    Do i require to write a Customer Exit code or with any formula it is possible ?
    Please let me know.
    Regards,
    Komik Shah

    Hi Marsanaidu,
    Thanks for your reply.
    Can you send me a customer exit code with offset value. how to do this ?
    Regards,
    Komik Shah

  • Authorizations by use of customer-exit: in  i_step = 3,   i_vnam is empty

    Hello all,
    I have checked multiple scenarios and they do not work:
    Current situation/setup:
    1. <b>Creation of several variables and adding each of them to different queries</b> :
    Variable   Type   Processing      Infoobject                     Selection  ready for input
    COB     1     6     ZCCOSTCTR__ZCCOB     S     
    CB2     1     6     ZCCOB                                     S     
    CBV     1     3     ZCCOB                                     S     
    2. <b>Adding values in a role</b> (currently 3.0 is used and we want to check the exit and if it works before upgrading to 7.0) and assign it to the user:
    Old active Object:ZCKS_COB:
    1KYFNM    *                                                                            
    9ZCCOB    $C-B2, $C-OB , $C-BV    
    added new object without 1KYFNM:                                                                               
    ZCCOB      $C-B2, $C-OB, , $C-BV             
    3. <b>Marked the used object auth. relevant</b> for the cube of the query
    4. Enhanced ZXRSRU01 via CMOD with coding and activated also the project:
      WHEN 'COB' or 'RESPNO'.
       IF I_STEP = 0.
        IF I_STEP = 1.
       IF I_STEP = 3.
          CALL FUNCTION 'Z_VARIABLE_BY_AUTH'
            EXPORTING
              I_VNAM           = I_VNAM
            TABLES
              E_T_RANGE        = E_T_RANGE
            EXCEPTIONS
              NO_AUTH          = 1
              NOT_VALID        = 2
              MISSING_OPERATOR = 3
              OTHERS           = 4.
          IF SY-SUBRC = 1.
            MESSAGE W007(EYE).
          ENDIF.
          IF SY-SUBRC = 2.
            MESSAGE W707(BRAIN).
          ENDIF.
          IF SY-SUBRC = 3.
            MESSAGE W999(BRAIN).
          ENDIF.
          IF SY-SUBRC = 4.
            MESSAGE W649(BRAIN) with I_VNAM ''.
          ENDIF.
        endif.
    The function 'Z_VARIABLE_BY_AUTH' was tested separately and fills in E_T_RANGE as expected.
    I also changed the variable names each time to all the other existing variables while debugging.
    If I use a variable of <b>type customer-exit</b> and process it with <b>i_step =1</b> the value selection and query result is OK.
    But this <b>scenario works without roles</b> and authorization values triggered by a variable $<VARIABLE> and is not the intended and documented way proposed by SAP. The documentation says to create a variable of type authorizations and to process it in I_Step = 3. But in this step I_VNAM is empty and so there is no processing ot the function module.
    Has anyone a solution? I could not find the issue during several debugging sessions. One strange thing is the protocol of rssm: the authorization buffer is not reflecting the enhanced role but only the value $C-B2 for object ZCKS_COB.
    Thanks in advance to have a look on this tricky issue.
    Bye,
    Petra

    Try this:
    IF i_s_rkb1d-compid = 'Query Name'
    Validation of data for the value entered in your Variable
        READ TABLE i_t_var_range INTO yourworkarea
                    WITH KEY vnam = yourvariable
        IF sy-subrc = 0.
          IF w_s_var_range-low(4) <>  w_s_var_range-high(4).  " Your condition or Logic
            l_msgv1     = c_qtr_com1.  " Your message
            i_handle = 9998.
            CALL FUNCTION 'RRMS_HANDLE_MESSAGE_INIT'
              EXPORTING
                i_handle         = i_handle
                i_msg_handler_id = sy-uzeit.
            CALL FUNCTION 'RRMS_MESSAGE_HANDLING'
              EXPORTING
                i_class  = 'RSBBS'
                i_type   = 'I'
                i_number = '000'
                i_msgv1  = l_msgv1
            RAISE again.
          ENDIF.
        ENDIF.
      ENDIF.

  • Using a dummy variable in a  customer exit

    I currently have a report that uses 0calmonth = Current Month (SAP Exit)
    Now, this works fine when running for the month, but if a user wants to see the last completed month I'd need to setup a separate report that says
    0calmonth = last month.
    These reports are broadcasted automatically by e-mail, this is why I don't want to specify the actual requested month n the variable, I'd need to change my settings all the time.
    I have a whole bunch of reports setup that way and I don't want to duplicate them all, what I had in mind was to use a dummy variable in which the user enters a value CMTD or LMTD.  These values would then be used in a customer exit of the kind:
    IF CMTD set as current month
    else if LMTD set as last month
    I have no problem with that last part, but how do I create that dummy variable and is there anyway (without adding an infoobject in my cube) to have it include in the F4 menu the two option CMTD and LMTD (which are really meaningless abbreviations...)
    Thanks all for your help.
    Eric
    Message was edited by:
            Eric Blondin

    OK, this was actually easy, I used a text variable to feed in CMTD or LMTD.  Any way to have the two values available as options?  Text variables don't provide a selection box...

  • Problem in the variable customer exit in the query jump target

    Hi developers,
    we have problem because we have created a variable time on 0CALDAY who is mapped in the cube of the stock with posting date.We launch the query for example with range 01/8/2005 31/8/2005 and the resul is OK.
    Then we jump on the other query where the users wish see the result of the posting date for the period 01/8/2005 31/8/2005 For resolved this problem we have created a variable customer exit for the characteristic 0Postingdate and have inserted the code in user exit variable:
    WHEN 'ZV_CEREG'.
        IF i_step = 2.
          LOOP AT i_t_var_range INTO loc_var_range
                 WHERE vnam = 'Z_DAT_AN'.
            CLEAR l_s_range.
            CLEAR datastock.
            l_s_range-low  = loc_var_range-low.
            l_s_range-high = loc_var_range-high.
            l_s_range-sign = loc_var_range-sign.
            l_s_range-opt  = loc_var_range-opt.
            APPEND l_s_range TO e_t_range.
            EXIT.
          ENDLOOP.
        ENDIF.
    When we effectued the jump the our objective is transfer the date inserted by user in the variable  of the query sender 'Z_DAT_AN' to the variable of the query receveir 'ZV_CEREG'.
    This step it does not work correctly, this why are different query?
    You can help me for resolved this problem!!
    Thanks Domenico

    Hi,
    I think, this approach does not work. Because customer exit will be finished before displaying the result set of 1st report. So the assignment to VAR2 from VAR1 does not execute then after.
    I hope, In RSBBS,after assigning receiver, in the assignment details,select 'Variable' for 'Type' of 'infoobject' 0calday.And select '0Postingdate' for 'fieldname' and select 'selection options' for selection type.
    Take help.sap.com help for further information.
    With rgds,
    Anil Kumar Sharma. P
    Message was edited by: Anil Kumar Sharma

Maybe you are looking for

  • How to fix 404 Error in Flex

    When i click the button it should be open the popup So i defined the javascript as below function open_manifestInfo(url, target, type) { window.open(url, target, type); } At first time click the button, popup is working normally But next time click t

  • Regarding RESETLOG and NORESETLOG option while creating a control file

    Hi, I dont understand the need for resetlogs option while creating a controlfile for a db in NOARCHIVELOGMODE. I assume that reset logs clears all the redo log contents. While taking a cold backup what I did was: 1. Shutdown instance 2. Copy all the

  • MacBook Pro - Sony HDR-SR1

    I'm new to the Mac world. I just bought the Sony HDR-SR1 and found out it doesn't have the iLink connection. My previous camcorder was a simple connection and this is proving to be difficult. Does anyone have advice on cables, connections, etc?

  • Can you tell me how to -------

    Please be patient with me, , i am a trueblue newbie to Photoshop CS5, I have been using Elements8 so I have some knowledge, i thought anyway.  What i want to know how to do is cut a shape out of a photograph using a shape.  In Elements i would simply

  • Webdynpro integration in Portal 7.11

    Hi, I want to integrate a webdynpro application in my navigation structure but there arent the webdynpro templates I once knew in EP 7.0. Theres a remote-iview for webdynpro java but the application is running on the same portal and then there is web