Doubt regardig I_STEP

Hi Friends,
I have one scenario and not sure which option of i_step should be used. Actually, I had a requirement to get the list of materials from two of the tables based on certain filters. Then i had to merge these two list of materials into one and pass this final list of materials to the variable to run the query for only these materials. I have created one customer exit variable and have done the required coding in  ZXRSRU01 to get the final list of materials for this scenario.
Now my questions is which step should this be executed in? What value of i_step should i use in ZXRSRU01 just after the WHEN 'Variable name' statement? for example:
WHEN 'XYZ'
If i_step = X.
Where X could be 1, 2, 3 or 4.
Please let me know what value of i_step should i use for this scenario?
Thanks,
Manmit

Hi ..
I_step = 1 suits in you scenario.
Following description will you understnding i_steps.
If I_STEP = 1, the variable needs to be processed before the reportu2019s selection screen appears, an example for this would be like, if some default values are to be populated to the selection screen variables before user input, I_STEP = 1 can be used.
If I_STEP = 2, the variable is to be processed after the reportu2019s selection appears (ie after user input). An example for this step is explained in scenario 1 of this document
I_STEP = 3, is used for validation purpose, error messages can be raised here
Thanks, Brijesh

Similar Messages

  • I_step =2 doubt

    Hi All,
    I have to define a variable which should populate value from another variable.
    Also it should allow user to enter the value and that value should be validated.
    So I am thinking to write code like
    ZVAR2 is a variable which should get from ZVAR1.
    For Default value
    IF I_STEP =1.
    READ TABLE I_T_VAR_RANGE INTO LOC_VAR_RANGE with key VNAM = 'ZVAR1'.
    pdate = LOC_VAR_RANGE-LOW.
    kdate = pdate - 12.
    L_S_RANGE-LOW = kdate.
            L_S_RANGE-SIGN = 'I'.
            L_S_RANGE-OPT = 'EQ'.
            APPEND L_S_RANGE TO E_T_RANGE.
            break-point.
       endif.
    For user validation.
    I will write code under I_STEP =3.
    Please help me regarding this .
    Thanks in Advance!
    Pallavi

    Hi Pallavi,
    For your doubt, could you open this link.
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/1d/ca10d858c2e949ba4a152c44f8128a/frameset.htm">Cust Exit Type</a>
    In over there, hopefully it can help you to figure out.
    Regards,
    Niel.
    p/s award points if helps.

  • Customer exit doubts

    Hi everybody,
    Can anyone tell my doubts pls. I need to write customer exit using RSR00001 for that tell me the steps and sample code for execute query using any date variables like system date or last week etc.
    i do not know the steps to write exits.
    Thanks in advance
    Muthu

    Hi Muthu,
    You can write the code in Tcode = CMOD
    EXIT_SAPLRRSO_001
    Variable should of processing type = Customer Exit.
              *Current Day as Default Value
    CASE i_vnam.
      WHEN 'Z_DATE'.
      DATA: v_date1 TYPE scal-date.
      v_date1 = sy-datum.
        IF i_step = 1.
          CLEAR l_s_range.
          l_s_range-low      = v_date1.
          l_s_range-sign     = 'I'.
          l_s_range-opt      = 'EQ'.
          APPEND l_s_range TO e_t_range.
        ENDIF.
    ENDCASE.
    Thanks,
    Ram.

  • I_step =2

    Hi All,
    If Iw rite some code under I_step =2 as a variable 2 has to get the value from var1.
    And I should also allow user to enter.
    Can I check mark the option 'Ready for input' and write code under I_step =2.
    Thanks in Advance!

    Hi,
    variables "ready for input" (user input) CANNOT be changed via varexits; I_STEP = 2 is just simply not executed WHEN I_STEP = 2.
    hoping this clarify your doubt
    Olivier.

  • Doubt in fbl1n transaction

    hi i have a doubt....
    in fbl1n transaction, there are open items and cleared items.
    in it the cleared items  for certain document types such as invoice etc is not present in the open item table (bsik)
    however the cleared items for document types such as general  voucher its present in the open items table (bsik)
    is this possible as all cleared item entries shld b present in the open item table with an indicator set for cleared or not...
    plz exlain!

    Hi
    There are 2 tables(open and Closed Items)  in FI for Account Payables and Account Receivables and GL accounts
    1.Account payables: BSIK is Open Items and BSAK is Closed items
    2.Account Receivables; BSID and BSAD for OPEN and closed items
    3/GL accounts :  BSIS and BSAS  for Open and Closed Items
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • Doubt in creation of a new object

    Hi All,
                 I have one doubt in creation of a new object.If a new object is to be created and it is not a subtype
    of any existing object, then what should we enter in the Program field for creating the object?
    I hope I am clear with my question.
    Thanks in Advance,
    Saket.

    Hi Saket,
    Following will be required for created a custom business object.
    1. Object Type - ZTEST (Internal Techincal Key)
    2. Object Name - ZTESTNAME (Technical Key Name)
    3. Name - TEST (Name of BO, it is used while selecting the object type)
    4. Description - (Short Description of BO)
    5. Program - ZTESTPROGRAM (ABAP program in which the methods of the object type are implemented)
    6. Application - A or B.. etc (Area to which your BO is related)
    Please remember that you can learn these basic things by giving F1 help on those fields and in HELP.SAP.COM.
    Regards,
    Gautham Paspala

  • Doubt in sender mail adapter

    Hi Everyone,
    Can we read and validate the attachment of the mail.If so how to do it.
    Thanks in advance,
    Sakthi

    Hi Sakthi,
       Please refere the below links:
      http://help.sap.com/saphelp_nw2004s/helpdata/en/ad/bf93409c663228e10000000a1550b0/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/0d/52b240ac052817e10000000a1550b0/frameset.htm
    Let me know if you have any doubts regarding this.
    Thanks,
    sekhar.

  • PI' RFC  Connection pool  doubt.

    Hi PI exports:
    i have a doubt about  pi' RFC  Connection pool ,pi RFC receive channel can set the conn pool size ,but when start the rfc receiver channel ,is there always only one Connection  pool ,or there is only one Connection  pool  instance?
      thinks
    Edited by: kevin liang on Oct 19, 2009 6:45 AM

    Hi,
      Connection poolins size means how many number of connection you want to make open to send data to ECC, We can define maximum number of connection in Receiver RFC Adapter,Go to additional parameters section and define Max Number of connection give the number there,thats it.Internally it works as Connection poolin mechanism.
    Regards,
    Raj

  • Small Doubt Regarding SY-MANDT

    Hi All,
         SELECT changenr FROM cdhdr CLIENT SPECIFIED INTO CORRESPONDING FIELDS OF TABLE it_cdhdr
                                             WHERE mandant = syst-mandt
                                             AND   objectclas = 'MATERIAL'
                                             AND   objectid   = wa_matl-matnr
                                             AND   tcode      = 'MM02'.
         I have written the select stament as shown above.
         In this i have a doubt like adding a field sy-mandt  in the where condition will increase the Efficiency of program or not.
    regards,
    raghu.

    Hi..
    No doubt the efficency would be affected but from business point of view there will many  things that need to be checked as in:
    If you are viewing data from CDHDR and CDPOS which is client specific then you are not viewing complete data.
    These tables give us and document changes made to a particular object in SAP but if anything is cross client like company code(lets assume) then changes to it wont be visible in all the clients..
    so there can be some key information you can miss out while working on some of the objects.
    else in this case its good to make query cross client.
    regards
    vishal

  • Doubts with control break statements on internal table loops (AT/ENDAT)

    Hi, i've had a couple of doubts for a long while which I hope someone can clarify today:
    1) I know how to use the AT statements, however, i'm not sure I get correctly what this part of help regarding this commands means:
    <i>"The control level structure with internal tables is static. It corresponds exactly to the sequence of columns in the internal table (from left to right). In this context, the criteria according to which you sort the internal table are unimportant."</i>
    I've always sorted the internal table before the control break and it works that way. For example:
    SORT ITAB BY EBELN EBELP.
    LOOP AT ITAB.
      AT NEW EBELN.
    *   Code for the order header
      ENDAT.
    ENDLOOP.
    If I <b>don't</b> sort the internal table, it doesn't work! (i get dupplicated processing). In the example, if i have more than one register with the same EBELN and they're not consecutive, the header gets processed twice. I really don't get that part of the help text.
    2) I know this: <i>"At the start of a new control level (i.e. immediately after AT), the following occurs in the output area of the current LOOP statement:
    All character type fields (on the right) are filled with "*" after the current control level key.
    All other fields (on the right) are set to their initial values after the current control level key."</i>
    My doubt is: WHY is that this way? Because sometimes (most times) I need those fields INSIDE the statement! So when that happened i've solved it in one of three ways:
    LOOP AT ITAB INTO WA_ITAB.
      WA_ITAB_AUX = WA_ITAB.
      AT NEW FIELD.
        WA_ITAB = WA_ITAB_AUX.
    *   ...Rest of the code for the first register
      ENDAT.
    ENDLOOP.
    LOOP AT ITAB INTO WA_ITAB.
      AT NEW FIELD.
        READ TABLE ITAB INDEX SY-TABIX INTO WA_ITAB.
    *   ...Rest of the code for the first register
      ENDAT.
    ENDLOOP.
    * (Without AT)
    LOOP AT ITAB INTO WA_ITAB.
      IF WA_ITAB-FIELD <> FIELD_AUX.
        FIELD_AUX = WA_ITAB_FIELD.
    *   ...Rest of the code for the first register
      ENDIF.
    ENDLOOP.
    Is there any problem with this way of coding? Can be done better?
    Thank you very much in advance.

    Hi..,
    1)
    See if u sort the table on a field on which u r using AT ENDAT .. then all the records which are having the same value for that field will form a group or those reocrds will be at one place.. so when u sort the table for all the records  AT ENDAT  will get executed onli once..
    If u dont sort this table on this field then all these records will be at different places and in between there may be records with different value for this field.. so this AT ENDAT will get executed for each record !!
    2)
    No u cannot use the Right hand fields of the field in the table .. Because these AT events work as Group based operations... So till that field on which AT ENDAT is working it breaks that record into two groups.. One is the left hand fields including that field.. and right hand fields as another group.. and makes the right hand group as stars ****.  Thats y u can observe that even any one field in the left hand group changes the AT ENDAT will get executed  !!!!
    Hope u understood !!!
    regards,
    sai ramesh

  • LOOP DOUBT INSIDE  PACKAGE

    CREATE PACKAGE EMP_PKG AS
    CURSOR EMP_CUR IS
    SELECT EMPNO,DEPTNO,SAL,HIREDATE
    FROM EMP
    WHERE DEPTNO=30;
    PROCEDURE P_EMP;
    PROCEDURE P_GET_SAL(V_EMPNO NUMBER);
    PROCEDURE P_GET_LOC(V_EMPNO NUMBER);
    Now inside my Package Body
    INSIDE THE MAINPROCEDURE P_EMP
    I WILL BE CALLING THE BELOW TWO PROCEDURES
    PROCEDURE P_EMP
    BEGIN
    FOR I IN EMP_CUR LOOP
    P_GET_SAL(I.EMPNO);-- DO I NEED TO LOOP AGAIN IN P_GET_SAL PROC?
    P_GET_LOC(I.DEPTNO);
    END LOOP;
    END;
    NOW WHAT IAM DOING IS
    in my P_GET_SAL Procedure is
    PROCEDURE P_GET_SAL(V_EMPNO NUMBER)
    V_SAL EMP.SAL%TYPE;
    BEGIN
    FOR I IN EMP_CUR LOOP
    SELECT SAL INTO V_SAL FROM EMP
    WHERE EMPNO=I.EMPNO --DOUBT HERE
    END;
    I WANT TO KNOW WHETHER I NEED TO LOOP AGAIN
    HERE OR INSTEAD OF THAT
    PROCEDURE P_GET_SAL(V_EMPNO NUMBER)
    V_SAL EMP.SAL%TYPE;
    BEGIN
    SELECT SAL INTO V_SAL FROM EMP
    WHERE EMPNO =V_EMPNO;
    END;
    SINCE iam calling V_EMPNO WITH CURSOR FROM MY
    MAINPROCEDURE ..
    WILL THE PROCEDURE USES THE CURSOR VALUES
    AND LOOP ITSELF FOR EVERY EMPLOYEE TO
    GET THE SALALRY ?
    PLEASE LET ME KNOW SINCE MY PACKAGE IS MORE THAN 3000
    LINES I cant proceed unless its confirmed i can
    do so ..

    Hi all,
    Thanks for Looking into my Problem
    I Got answer by MySelf ..i dont need to loop again my sub procedures
    if i try to do that iam getting the error
    ERROR at line 1:
    ORA-06511: PL/SQL: cursor already open
    Thank you all once again ..

  • Doubt on Rows and Coloums in BEx Query Designer.

    Hello, Experts.
    I have a Doubt in BEx Query Designer.
    In the Rows I have a Fiscal year Period,  if the user enters the Fiscal year period for e.g. : 001/2006  .  
    in the columns i have  forecast for the Fiscal year period which user entered ( 001/2006 ),   and we have another column pervious ( Prior )fiscal year period ( 001/2005 ). 
    My Questions is ,  as we are Restricting with 001/2006 will the query retrieve the values of 2005 or not?
    Thanks in Advance .
    Sharp

    yes i am  Doing Offest.
    I moved this Fiscal year Period to Free char,   and i Restricted with Pervious Fical Year period and Fical year period .  it worked.  but
    when i kept this in Rows and deleted Previous Fiscal Year period .  it is displaying blanks.   in prior years forecast.
    is it because i am Ristricting it to only fical year period  which user entered
             Colums-->  Forcast ( User Entered year )          Prior year
    Rows
    Fiscal year period
      Fiscal year period( user enterd )
    Thanks

  • Doubt regarding facebook integration for windows phone 8.1 silverlight app?

    Hi,
    I am developing a windows phone 8.1 silverlight application . For my application I integrated the facebook login. For this facebook integration I used the login with facebook app method.
    My doubt is after getting the app id from the dev center , I updated the appid at developers.facebook.com , wmmanifest.xml (In extensions protocol (msft-appid without dashes)) . Or do I need to change the product id in the place holder also , I tried to
    change the productid also but I am getting error like some signature is wrong try with different signature. I am confused how to do it .
    Any help,
    Thanks...
    Suresh.M

    Hi Suresh,
    According to your description, I assume you want to complete facebook configuration in windows phone silverlight app. Please refer to the following link to see how.
    http://facebooksdk.net/docs/phone/config/.
    You can find code sample from
    https://github.com/facebook-csharp-sdk/facebook-winclient-sdk/tree/master/Samples.
    Facebook API is third-party library and it is our of our support range. You can post questions on here.
    https://github.com/facebook-csharp-sdk/facebook-winclient-sdk/issues.
    Regards,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place. Click HERE to participate
    the survey.

  • Infoset doubt

    Dear Gurus,
    i have a doubt regarding use of infoset in BI.
    An infoset consist of , on the left, a DSO containing line items loaded from R/3.
    On the right is a master data attribute loaded data from a user defined datasource based on a transparent table in r/3.
    This master data has a single Key. Its a numeric like serial number field.
    The transaction data in the DSO also has this field as part of the transaction data field (non-key).
    A Left Outer Join is made between the 2 using several fields joining together. However, the key field in the master data is not joined even though both sides has it.  Both this field in each are not joined.
    So, by theory of  a left outer join, All data not found in the master data will still be selected via the infoset.
    I wish to understand :
    1. by a 'join' does it mean its not a union? I assume so. But based on the meaning of left outer join, it sounds to me like a union?
    Correct me if i am wrong.
    2. what is the effect of not joining the master data key field to the same field found in the data part of the transaction data?
    best regards
    Bass

    hi,
    point 1:
    am i right to say
    If all data on the left is picked, and some latest data in the master data is not found in the left, only all the left side data is displayed am i right? so, what is not in the right (master data attr) will not be selected by the infoset?
    left outer join will be more clear with an example to you, suppose you are joining cube and master data to pick attribute value from master data. let us say the master data has below value.
    master data     attribute
    100                ABC
    102               XYZ
    103              DEF
    Now in cube you have data
    cube field
    100
    101
    105
    106
    the infoset wll be returning the value as shown below for different scenarios
    left outer join: all values in cube.
    field    attribute
    100      ABC
    101        #    (no value in master data)
    105       #    (no value in master data)
    106       #    (no value in master data)
    Inner join: common records
    field    attribute
    100       ABC
    Right outer join
    field    attribute
    100                ABC
    102               XYZ
    103              DEF
    point 2:
    am i right to say
    its just slower performance and the rest being similar effect as joining the key field?
    So, if i join the key field it will be faster and the result is the same as not joining the key field of the master data to the transaction data?
    no the join determines the amount of data it will be returning as explained above, you should define the joining conditions based on your business logic, like in the above case if the two fields should have same value and are the comparing criteria then you should join those as it would help in retrieving faster results.regards,
    Arvind.

  • DSO - Key Field doubt?

    Hi All,
    I want to know the functionality of the Key Field in the DSO.
    I know based on the Key Fields(Primary Key) data is pulled to DSO, but please explain me the below scenario
    E.g
    I have 3 records in the Extractor( Generic) and i am pulling data to DSO - Full load.
    Material                 Qty       Date
    100                       20        1-Jan-2010
    100                       30        5-Jan-2010
    100                       10        10-Jan-2010
    In DSO i have only one Key field called 0MAT_NM (Material Number), but i have 3 records in the Extractor , shown above.
    Now my Question is
    On what basis data will be pulled to DSO?
    Whether latest date records will be pulled to DSO or let me know correct method? because i have got material no 100
    but date and Qty is different (means one time it is taking Qty - 30 and date as 1st Jan 2010, other run it is taking differnet).
    Please clear my doubt.
    Regards,
    Nithi.

    in your dso you can have one record per key. keyfigures will be in addition or overwrite option. if in "addition' the value will be the sum of all the values for a given key. in 'overwrite', you'll only keep the last record written to the dso; char are always in overwrite, so you'll keep the last record written to the dso
    M.

Maybe you are looking for

  • Printer can't be found on the network

    The printer has been working fine for months, and today it can't be accessed at its assigned IP address. No computer can print to it or find it, even when manually entering the IP address, although the printer is connected (it scans to a network fold

  • LaCie Drives crash Finder

    I searched all over and could not find a similar situation. Suddenly today my Finder starts to crash. I was listening to iTunes - the songs reside on a LaCie 2bid RAID connected via Firewire 800. I turned off the drive and I get the device removal er

  • Good li-ion (dis-)charging practices for iPhone?

    Hi There. I've been reading up on the best way to prolong the Li-ion batteries lifespan for my new iPhone 4. Any suggestions due to good experience for best practice is welcome. In addition, after some reading and confusion, there are two questions I

  • Regarding calculation--very strange

    Hi, I am trying to process a Sales order.I am facing an issue with respect to the fuel surcharge calculation. there are two variables using which i am calculating the third one. the following are the variable declarations. v_kbetr type konp-kbetr, v_

  • How to move object in z direction using the mouse

    I have some problems with java3d. Could you please help me with it? I am designing a user interface and so would like to allow the user to interactively move the objects in the 3d world, using the mouse. But presently I can allow them to move it only