ABAP Routine in InfoPackage for selection

Hello,
I have 2 InfoPackages for loading from ODS1 to ODS2. InfoPackage 1 is restricted via ABAP Routine to load only certain customer numbers.
InfoPackage 2 is supposed to load all other customer numbers - therefore the ABAP Routine makes ranges that exclude the customer numbers selected in InfoPackage 1.
Now I face the fact that the selection of InfoPackage 2 is much to small in numbers. Problem is, the ranges only work when entered manually - but via ABAP entry these ranges don`t work. I can`t understand why this problem happens. Do you have an idea?
Example (first number is from, 2nd number is to)
InfoPackage 1:       customer numbers     
5| 5
100|100
999|999
InfoPackage 2: customer numbers
0|4
4|99
101|998
1000|99999
But selection of InfoPackage 2 does not work propberly...
                                                                                Thanks for your help,
Angelika

Hi,
no, that was just a typing mistake. Sorry.
The problem is, that in Monitoring I can see the selection and it looks good.
But when I check the number of datasets selected it is far to small. Therefore I don`t believe the selection works.
I tried manually to put all the ranges selected by ABAP Routine in InfoPackage 2 in another InfoPackage 3 - the selection is identically to InfoPackage 2 (but not made via ABAP, but manually) and in Monitoring the selection looks absolutly alike.
But the manuall InfoPackage 3 selects far more records than InfoPackage 2.
I can`t understand the problem. Can you? Can you give me advice?
Thanks,
Angelika

Similar Messages

  • ABAP ROUTINE AT INFOPACKAGE FOR DATE RANGE

    hi all,
    I want to Schedule my infopackge with selection options 
    0DATE  infoobject with First date of current month( 01.02.2008)  to last date of current month ( 29.02.2008).
    this i have to get automatically bcoz i have to use this in process chain.
    so I want to write a routine for this at the infopackage level with ABAP Routine -6 option.
    So please suggest me how to write the code for this case.
    thanks,
    kiran manyam.

    Hi Kiran,
    Please paste the following code there and also check for syntax error.
    data first_date type d.
    data last_date type d.
    first_date = sy_datum.
    first_dat+6(2) = '01'.
    CALL FUNCTION 'SLS_MISC_GET_LAST_DAY_OF_MONTH'
    Exporting
    DAY_IN = first_date
    Importing
    LAST_DAY_OF_MONTH = last_date.
              read table l_t_range with key
                   fieldname = 'DATE'.
               if sy-subrc = 0.
                   l_idx = sy-tabix.
                   l_t_range-sign = 'I'.
                   l_t_range-option = 'BT'.
                   l_t_range-low = first_date.
                   l_t_range-high = last_date.
                   modify l_t_range index l_idx.
                else.
                   move 'DATE' to l_t_range-fieldname.
                   l_t_range-sign = 'I'.
                   l_t_range-option = 'BT'.
                   l_t_range-low = first_date.
                   l_t_range-high = last_date.
                   append l_t_range.
                   endloop.
                endif.
              p_subrc = 0.

  • Routine in infopackage for selection

    I am writing an ABAP routine in an infopackage to select data upto a certain year. I want to load data for all the years upto 7 years ago. However, if I leave the l_t_range-low blank, the infopackage throws an error when I run it saying invalid date range. What's the right way to assign the low value?
    l_year = sy-datum(4) - 4.
    l_t_range-sign    = 'I'.
    l_t_range-option  = 'BT'.
    l_t_range-low     = ''.
    l_t_range-high = l_year.
    modify l_t_range index l_idx.

    Hi Uday
    Add l_t_range-low = sy-datum(4). Also i see that in l_year you have defined it as sy-datum(4) - 4. So you are only picking latest 4 years. Please change it to 7 if you want the latest 7 yrs.
    Regards,

  • Need to write ABAP Routine at infopackage Selection Options

    Hi All,
    I need to write ABAP Routine at Info Package Selection Options.
    Requiremnet i need to bring  some Sales Document Types (Sales Orders Types) only from R/3.
    Ex I need OrderTypes ZQT,ZSIV etc
    Can any body help to resolve this.
    Regards,
    P.C.V.

    Hi P.C.V,
    If the order type field is already available in the Data Selection Tab of the InfoPackage, then you just need to place your selections there (e.g. order type = ZQT, ZSIV) without the need to use ABAP routines.
    If ever you really need an ABAP routine, here is an example ABAP routine. The most important concept is to modify the range table l_t_range so that the selection reflect what you need.
    data: l_idx like sy-tabix.
    data: w_startdate like sy-datum,
          w_startweek like scal-week,
          w_maxdate like sy-datum,
          w_maxweek like scal-week.
      w_startdate = sy-datum.
      w_maxdate = w_startdate + 104 * 7.
    * Calculate horizon for extraction
      CALL FUNCTION 'DATE_GET_WEEK'
        EXPORTING
          DATE         = w_startdate
        IMPORTING
          WEEK         = w_startweek
        EXCEPTIONS
          DATE_INVALID = 1
          OTHERS       = 2.
      CALL FUNCTION 'DATE_GET_WEEK'
        EXPORTING
          DATE         = w_maxdate
        IMPORTING
          WEEK         = w_maxweek
        EXCEPTIONS
          DATE_INVALID = 1
          OTHERS       = 2.
              read table l_t_range with key
                   fieldname = 'CALWEEK'.
              l_idx = sy-tabix.
              l_t_range-sign = 'I'.
              l_t_range-option = 'BT'.
              l_t_range-low = w_startweek.
              l_t_range-high = w_maxweek.
              modify l_t_range index l_idx.

  • ABAP routine at Infopackage selection options

    Dear all,
    I need to write ABAP Routine at InfoPackage Selection Options.
    Requirement is to bring only the versions (contains 2 characters) starting with 'C'.
    Ex. I need versions CR, CP...
    Code template is the following:
    data: l_idx like sy-tabix.
    read table l_t_range with key
         fieldname = 'VERSB'.
    l_idx = sy-tabix.
    modify l_t_range index l_idx.
    p_subrc = 0.
    Can anybody help me to resolve this?
    Regards

    Hi,
    here is an example:
      DATA: string(40) TYPE c.
      CONCATENATE 'C' '%' INTO string.
      SELECT *
      FROM /bi0/hwbs_elemt
      INTO TABLE lt_hwbs_elemt
      WHERE nodename LIKE string.
    Best regards,
    Frank

  • ABAP routine in infopackage that runs function in ECC

    Hi All
    I need to have dynamic filter in the info package
    I have program in ECC that brings me the value that I need to filter in my info packege
    I want to use  ABAP routine in infopackage that runs function in ECC and brings the value that was received from the ECC function
    Is that possible?
    Thanks

    Hi All
    my CTO found the following option
    function module that is "remote-enabled module "
    then you call CALL FUNCTION 'Y_FM_IDOC_CATSDB' DESTINATION 'SAP4.7E'
    you need to define it in SM59
    code example
    data: BEGIN OF IT_SOBSL OCCURS 0,
          SOBSL(2),
          END OF IT_SOBSL.
    DATA: ls_range type STANDARD TABLE OF rssdlrange WITH HEADER LINE.
    SELECT /BIC/ZSPEPROCI FROM /BIC/SZSPEPROCI INTO TABLE IT_SOBSL
                          WHERE /BIC/ZSPEPROCI NOT BETWEEN 'AA' AND 'ZZ'
                          AND /bic/zspeproci ne '' .
    BREAK-POINT.
    LOOP AT IT_SOBSL.
    ls_range-IOBJNM = 'SOBSL'.
    ls_range-LOW = IT_SOBSL-SOBSL.
    ls_range-SIGN = 'I'.
    ls_range-OPTION = 'EQ'.
    APPEND ls_range .
    ENDLOOP.
    loop at ls_range.
      append ls_range to l_t_range.
    endloop.

  • *** Abap Routine in Infopackage selection ***

    Hi !!!
    I have the scenario below:
    I have created an infoobject called CAEMPFF. In the infopackage selection under field 0COMP_CODE I want to create an abap rotine to read all vaules filled in CAEMPFF.
    How can I do that using abap routine ?
    Thanks in advance,
    Leandro.

    Hi Leandro,
    In the infopackage, under 0comp_code (or probably field BUKRS if it's an ERP datasource), you should select ABAP routine (6) under Type field. Then, you'll be prompted to create the routine.
    There you should create a program that reads all the values of your infoobject master data table.
    Hope this helps.
    Regards,
    Diego

  • Call function in abap routine of infopackage

    Experts,
    Good day. I have a problem concerning the data to be imported in my ods.I can't find a similar thread corcerning my problem. My ‘File date’ field should contain only 2 years and 3months data of recent data. I'm using a call function fima_date_create to filter values of zfile_date.
    CALL FUNCTION 'FIMA_DATE_CREATE'
      EXPORTING
        I_DATE                             = sy-datum
        I_FLG_END_OF_MONTH   = ' '
        I_YEARS                          = 2-
        I_MONTHS                        = 3-
        I_DAYS                             = 0
        I_CALENDAR_DAYS          = 0
        I_SET_LAST_DAY_OF_MONTH       = ' '
      IMPORTING
        E_DATE                             =
        E_FLG_END_OF_MONTH   =
        E_DAYS_OF_I_DATE         =   
    The sy-datum becomes the “High” value and the date generated by this FM will be the “low” value. I already tested this function module and it is what i want. How Should I write the ABAP code for this in the abap routine for my infopackage? Or what steps do I need to take.

    Hi,
    When you choose the option to write a routine for one of the characteristics in the infopackage selections, you get a window to write your code with some prewritten code as below. Modify it as shown below, for your requirement.
    data: l_idx like sy-tabix.
    read table l_t_range with key
         fieldname = 'CALDAY'.
    l_idx = sy-tabix.
    START of YOUR CODE
    <----
    Required logic -
    >
    L_T_RANGE-LOW  = <lower limit of range>.
    L_T_RANGE-HIGH = <upper limit of range>.
         L_T_RANGE-SIGN = 'I'.
         L_T_RANGE-OPTION = 'BT'.
    END of YOUR CODE
    modify l_t_range index l_idx.
    p_subrc = 0.
    Hope this helps.

  • ABAP routine in Infopackage

    I am in the process of creating an ABAP routine in the Infopackage to load current month based on system data from one cube in BW to another Cube in BW. I am getting the following error in the load. I am not an ABAPer and would appreciate if you can help or guide me with a sample code.
    Here is the error.
    For sel. field '/BIC/Z_APOSNAP', no selection with SIGN = ''; OPTION '' allowed.
    Thank you
    Neelu

    Hi Neelu,
    U can create a ABAP Routine of the type 6 (ABAP Routine),The field you are trying to populate is a select-option so you have to define both Sign and Option along with Low and High values.
    As u want to load current month, from a system values , u can do it from sy-datum.
    data: l_idx like sy-tabix.
              read table l_t_range with key
                   fieldname = ''/BIC/Z_APOSNAP'.
                l_idx = sy-tabix.
                l_t_range-low = 
                l_t_range-high = 
                l_t_range-sign =
                l_t_range-option =
          modify l_t_range index l_idx.
              p_subrc = 0.
    Just u can fill Sign as 'I' and Option 'EQ'.
    Fill Low and High with values u get from System Data.
    Hope this Helps,
    Thanks,
    Krish
    **awarding points is way of saying thanks in SDN.

  • ABAP Routine at infopackage dataselection

    I got one scenario to use ABAP Code.
    In data selections we have CALWEEK.
    We are loading to from flatfile to cube.Every week we load the data to cube.
    If the flat file week=present week(sys week) then update to cube or else fail.

    Hello,
    In infopackage write the below routine for week selection.
    data: l_idx like sy-tabix.
    read table l_t_range with key
         fieldname = 'CALWEEK'.
    l_idx = sy-tabix.
    data: g_week type /BI0/OICALWEEK.
    CALL FUNCTION 'DATE_GET_WEEK'
    Exporting
         DATE = sy-datum
    Importing
         WEEK = g_week.
    l_t_range-iobjnm = '0CALWEEK'.
    l_t_range-FIELDNAME = 'CALWEEK'.
    l_t_range-sign = 'I'.
    L_T_RANGE-OPTION = 'EQ'.
    l_t_range-LOW = g_week.
    modify l_t_range index l_idx.
    p_subrc = 0.
    Note: the above example is with reference to char 0CALWEEK.
    Regds,
    Shashank

  • Debug abap routine in infopackage

    Hi experts,
    What is the easiest way to debug an abap routine used in the infopackage for dynamic selection? When I go into the code I cannot place a breakpoint. Optionally I can do a /h before hitting the schedule button but what can I look for to go directly to my abap code?
    mark

    HI
    Below is an excerpt from a reply by AHP few months back
    put a loop on the routine,
    data : debug(1).
    do.
    if debug = 'X'.
    exit.
    endif.
    enddo.
    and when run infopackage, go to sm50,
    on that process, menu program->debug program,
    in debug screen, type in debug, and fill with X and click 'edit'-pencil icon.
    F5 to next step.
    hope this helps.
    Regards
    Prakash

  • Routine in Infopackage Data selection Tab

    HI,
    I am having one InfoObject (marital staus) in InfoPackage Data selection Tab.
    Now I want to write a ABAP routine for that infoObject in Infopackage to select only those records of  marital status = ‘SINGLE’.
        I am new to ABAP . please let me know what code should I write in this routine.

    Hi Kris,
    You would do it like this:
    data: l_idx like sy-tabix.
              read table l_t_range with key
                   fieldname = 'MARITAL_STATUS'.
              l_idx = sy-tabix.
              move: 'I'      to l_t_range-sign,
                    'EQ'     to l_t_range-option,
                    'SINGLE' to l_t_range-low.
              modify l_t_range index l_idx.
    Thanks,
    Joseph

  • Abap routing in infopackage data selection

    Hi guys
    I'm using an ABAP routin for the Data selection in my infopackage. I want to fetch all the records which is having value Less than 'IN14' for company code.I have modifuied the l_t_range as shown
              l_t_range-sign = 'I'.
              l_t_range-option = 'LT'.
              l_t_range-low = 'IN14'.
              modify l_t_range index l_idx.
    But while executing, its giving the followinf error message.
    "For sel. field 'COMP_CODE', no selection with SIGN = 'I'; OPTION 'LT' allowed"
    Does anybody knows what should be done for this?
    Regards
    Sriram

    Hi Sriram,
    Instead use an OLAP variable to achieve the results you want.
    But first check what are the selection oprions supported by your data source in the table <b>ROOSFIELD</b> in your source system.
    Bye
    Dinesh
    Message was edited by: Dinesh Lalchand
    Message was edited by: Dinesh Lalchand

  • Routine in Infopackage data selection doesnt give appropriate results...

    Hi Gurus,
    I need to pull data into PSA (BW 3.5) based on a certain selections in the Infopackage. Selection is based on specific values of Infoobject 0PLANT , however, as these values are multiple and do not fall in a specific range I have written a routine to derive these values.
    The routine  does the following steps :
    - creates an internal table from /bio/mplant and deletes the plant values that I do not wish to consider in the extraction.
    - delete data from l_t_range for fieldname = 'PLANT'
    - Appends data from the internal table to l_t_range.
    However, when I execute the infopackage, the extraction is done for ALL the 0PLANT values i.e it includes the data for 0PLANT value which have been delete from the internal table.
    My routine is :
    $$ end of global - insert your declaration only before this line   -
        InfoObject      = 0PLANT
        Fieldname       = PLANT
        data type       = CHAR
        length          = 000004
        convexit        =
    form compute_PLANT
      tables   l_t_range      structure rssdlrange
      using    p_infopackage  type rslogdpid
               p_fieldname    type rsfnm
      changing p_subrc        like sy-subrc.
          Insert source code to current selection field
    $$ begin of routine - insert your code only below this line        -
    TYPES ls_range like l_t_range.
    data: l_idx like sy-tabix.
    DATA: lt_plant like /bi0/mplant OCCURS 0 with header line.
              SELECT PLANT from /bi0/mplant into lt_Plant WHERE objvers = 'A
              ENDSELECT.
              delete lt_plant WHERE plant = 'W206'.
              delete lt_plant WHERE plant = 'WF11'.
              delete lt_plant WHERE plant = 'W945'.
              DELETE lt_plant WHERE plant = 'W530'.
              read table l_t_range with key
                   fieldname = 'PLANT'.
              l_idx = sy-tabix.
              DELETE l_t_range where fieldname = 'PLANT'.
              Loop at lt_plant.
                    l_t_range-sign = 'I' .
                    l_t_range-low = lt_plant-plant.
                    l_t_range-OPTION = 'EQ'.
                    append l_t_range.
              endloop.
              modify l_t_range index l_idx.
              p_subrc = 0.
    $$ end of routine - insert your code only before this line         -
    endform.
    Any bugs in the routines ?

    try this one:
    Loop at lt_plant.
    if lt_plant-plant ne 'WF11' or lt_plant-plant ne 'W945' or lt_plant-plant ne 'W530'.
    l_t_range-sign = 'I' .
    l_t_range-low = lt_plant-plant.
    l_t_range-OPTION = 'EQ'.
    append l_t_range.
    endif.
    endloop.
    or
    don't use a table with header ( use a standard table and use a work area to access the table ) and do an other select like this:
    SELECT PLANT from /bi0/mplant
    into corresponding fields of table lt_Plant
    WHERE objvers = 'A
    and plant ne 'WF11'
    and plant ne 'W945'
    and plant ne 'W530'.
    I hope it helps...
    Kind regard.
    Tobias
    Edited by: Tobias Kreuser on Aug 23, 2010 11:34 AM

  • ABAP Routines & Condition Types for SD Transactions

    Hi All,
    Is there any documentation available online aout how to create routines and condition typed for standard SD transactions?
    I have done some and I am actually looking for the following:
    In TCODE: VF04, after entering the start date & end date (p_fkdat & p_fkdab), on selecting a record from the displayed report and clicking on simulation, I need to know the start & end dates are stored and exported to the next TCODE in sequence (VF01).
    That's it. Will wait to see some replies.
    Regards,
    Karthik

    See the link below. Its a nice doc for VOFM
    www.saptechsolutions.com/ pdf/VOFMCopyRequirementRoutines.pdf
    Cheers,
    Thomas.

Maybe you are looking for

  • Total green to setting up a small office server

    I run a small insurance agency and need to set up a server that my employee's (5 altogether) can access client information etc. Right now, we simply access client information via paper files. However, I have purchased a contact management system to k

  • SSD Upgrade to Late 2008 MBP, Plus Windows 8 Install

    Hi guys, I have a 15", late 2008 MBP that was a beast in it's time, but has started to show it's age, especially due to my aging hard drive.  I've read great things about performance improvement through installing an SSD, and so I want to perform thi

  • Word docs won't open

    Hi - I am using Tiger 10.4.4 and for some reason now I can't get word docs to open. I just keep getting the little revolving color wheel and I have to force quit. I don't know why this is happening. HELP!!!

  • Dreamweaver CS4 will not open on my new MacBook Prop (1month old)

    The app just does not load. I have been on the Adobe and Apple sites, read several posts, gone through Adobe's troubleshooting list, reinstalled the programme about 4 times already. PLEASE HELP!!!!!

  • Inkjet printheads

    Hello Forum:  Complete newbie here.  Query:  I have an HP2000c Inkjet color printer.  It has four ink cartridges (3 color, 1 black), and four little printhead cartridges (3 color, 1 black).  Can someone please explain to me why it has these four extr