Make ABAP selection for InfoPackage

I am making a ABAP routine for a field on my info package. The field contains a date.
The constraint that I want to make is as follows:
select max( /BIC/FCVERDATE ) from /BIC/AAPO_O1000 into FCVERDATE.
But I am not sure how to make the constraint in the code:
data: l_idx like sy-tabix.
DATA: FCVERDATE LIKE /BIC/....
          read table l_t_range with key
               fieldname = '/BIC/FCVERDATE'.
          l_idx = sy-tabix.
          modify l_t_range index l_idx.
          p_subrc = 0.
Thanks in advance,
regards,
Torben

Solved
DATA: FCVERDATE LIKE /BIC/....
select max( /BIC/FCVERDATE ) from /BIC/AAPO_O1000 into FCVERDATE.
read table l_t_range with key
fieldname = '/BIC/FCVERDATE'.
l_idx = sy-tabix.
l_t_range-option = 'BT'.
l_t_range-low = FCVERDATE.
l_t_range-high = FCVERDATE.
modify l_t_range index l_idx.
p_subrc = 0.
I properly could have use 'EQ' instead of 'BT'.
Regards,
Torben

Similar Messages

  • ABAP Code Date Selection for InfoPackage Scheduler

    Hello Group
    I need to automate the selection of valid condition records for an extraction that have a From and To date range.
    I noticed there is an option (Routine for time interval) to write ABAP code along with a template that is available in the InfoPackage.
    I think the logic for the selection would be any record
    Valid from       <= today
    Valid to           >= today
    Can anyone help with the ABAP code?
    The template is as follows:
    program conversion_routine.
    Type pools used by conversion program
    type-pools: rsarc, rsarr, rssm.
    tables: rsldpsel.
    Global code used by conversion rules
    $$ begin of global - insert your declaration only below this line  -
    TABLES: ...
    DATA:   ...
    $$ end of global - insert your declaration only before this line   -
    form compute_time_dependent_dates
      changing p_datefrom type d
               p_dateto   type d
               p_subrc like sy-subrc.
          Insert source code to current selection field
    $$ begin of routine - insert your code only below this line        -
              p_datefrom =
              p_dateto   =
              p_subrc = 0.
    $$ end of routine - insert your code only before this line         -
    endform.
    Thank You for your help!!
    Frank

    I resolved the problem . I have changed the order of read table l_t_range because I need the header .
    In the loop at datos I add the line l_t_range-iobjnm = 'ZXGE_UNO'.
    The problem wasn't the call RFC it was that I built l_t_range bad. I need the infoObject name.
    This is correct!!
    READ TABLE L_T_RANGE WITH KEY
             FIELDNAME = '/BIC/ZXGE_UNO'.
    LOOP AT DATOS.
          L_T_RANGE-FIELDNAME = '/BIC/ZXGE_UNO'.
          L_T_RANGE-IOBJNM = 'ZXGE_UNO'.
          L_T_RANGE-SIGN = 'I'.
          L_T_RANGE-OPTION = 'EQ'.
          CONCATENATE '00' DATOS-WA+3(4) INTO L_T_RANGE-LOW.
          APPEND L_T_RANGE.
        ENDLOOP.
    *READ TABLE L_T_RANGE WITH KEY+
    +*FIELDNAME = '/BIC/ZXGE_UNO'.+
    +*    L_IDX = SY-TABIX.+
    +*    MODIFY L_T_RANGE INDEX L_IDX
    Thanks a lot
    Ana

  • ABAP routine for InfoPackage

    Hi,
    I have an InfoPackage that loads into multiple InfoCubes. Sometime at the end of this year we will stop loading one of the InfoCube.
    What ABAP code do I use to achieve this result? How do I do this type of filter from InfoPackage?
    Thanks in advance for your precious time and help
    Best regard
    Arjun

    Hi Arjun,
    Would be having an InfoPackage against which you would be checking  the 'End of the year' ie any time characteristics say 0CALDAY,
    In your routine check this InfoObject for End of the year and if true you can allow this to load to further InfoProviders or Datatargets.
    Othervise do what ur business logic says.
    This you can do provided you know the exact date ( value) .
    Otherwise try to find out any infoobject whose value is important in terms for ur infoprovider loading . and you can use that infoobject to check in routine.
    Say you want to load XYZ if its not the end of year and otherwise you waht keep it constant.
    if  SOURCE_FIELDS-Ocalday < '20081231'.
    temp = xyz.
    else.
    temp = '00000000'.
    endif.
    Results  = temp.
    Hope this Helps.
    Regards
    Praeon

  • Make field selection for 201 Movement type for MB21 t.code

    Hello,
    I have making reservation through T.code..
    In that screen we have entered Movement type 201 in MB21 t.code  ,,it will show me two fileds
    G/L Account filed and Cost center..
    In that Cost center field is mandatory.....User told me to do the G/L account filed mandatory... how to do this....
    In filed selection there is only one fieled is the cost center....then there is no filed for G/L Account.
    Regards
    sapman man

    Hello,,
    For G/L account mandatory  ..in 201 Movement type.
    Go to  Spro-Inv ManagementGoods issuse/Transfer PostingSet manual account assignment---and Give + sign Infront of movment type 201.
    It will make the field G/L Account in MB21 201 movement type
    Regards
    Mahesh Naik.

  • ABAP selection in InfoPackages

    I have to select financial data from an ODS via the following logic:
    CASE MONTH.
       WHEN 1.
           PERIOD1 = 13.
       WHEN 2.
           PERIOD1 = 14.
       WHEN 3.
          PERIOD1 = 15.
    ENDCASE.
    PERIOD2 = MONTH.
    The year has 16 periods and the ODS contains more than one year of data. In the InfoPackage I only want to extract data for the months PERIOD1 and PERIOD2. For example, when MONTH = 1, I only want to extract the periods 13 and 1, but not 14, 15 and 16.
    How can I restrict the selection criteria in the InfoPackage so that I only extract the two mentioned periods and not the data in between? I know that I can change the selection criteria in the InfoPackage using the following variables, but I cannot figure out the correct approach:
    L_T_RANGE-OPTION
    L_T_RANGE-SIGN
    L_T_RANGE-LOW
    L_T_RANGE-HIGH
    Thanks in advance,
    James

    Hi,
    here is an example for the select option of =FISCPER where prediod/year is build from current date:
    $$ begin of routine - insert your code only below this line        -
      data: l_idx like sy-tabix.
      read table l_t_range with key
           fieldname = 'FISCPER'.
      l_idx = sy-tabix.
      l_t_range-sign = 'I'.
      l_t_range-option = 'EQ'.
    *.... Format =   YYYY      0            MM
      concatenate sy-datum(4) '0' sy-datum+4(2) into l_t_range-low.
      modify l_t_range index l_idx.
      p_subrc = 0.
    $$ end of routine - insert your code only before this line         -
    /manfred

  • ABAP Selection in infopackage

    Hi
    I want to get only these four documents:
    data: l_idx like sy-tabix.
    read table l_t_range with key
         fieldname = 'BILL_NUM'.
    l_idx = sy-tabix.
    if sy-subrc = 0.
      l_t_range-sign = 'I'.
      l_t_range-option = 'EQ'.
    l_t_range-low = '600354894'.
      modify l_t_range index l_idx.
    l_t_range-low = '600354900'.
      append l_t_range.
    l_t_range-low = '600354902'.
      append l_t_range.
    l_t_range-low = '600354904'.
      append l_t_range.
    l_t_range-low = '706145825'.
      append l_t_range.
    ENDIF.
    p_subrc = 0.
    Is this right? I have a modify l_t_range after the first document and then just append, is that right?
    Regards,
    Torben

    HI,
    yes you are right..but see this
    data: l_idx like sy-tabix.
    read table l_t_range with key
    fieldname = 'BILL_NUM'.
    l_idx = sy-tabix.
    if sy-subrc = 0.
    l_t_range-sign = 'I'.
    l_t_range-option = 'EQ'.
    l_t_range-low = '600354894'.
    modify l_t_range index l_idx.
    l_t_range-sign = 'I'.
    l_t_range-option = 'EQ'.
    l_t_range-low = '600354900'.
    append l_t_range.
    clear l_t_range.
    l_t_range-sign = 'I'.
    l_t_range-option = 'EQ'.
    l_t_range-low = '600354902'.
    append l_t_range.
    clear l_t_range.
    l_t_range-sign = 'I'.
    l_t_range-option = 'EQ'.
    l_t_range-low = '600354904'.
    append l_t_range.
    clear l_t_range.
    l_t_range-sign = 'I'.
    l_t_range-option = 'EQ'.
    l_t_range-low = '706145825'.
    append l_t_range.
    clear l_t_range.
    ENDIF.
    p_subrc = 0.
    reward if useful
    regards,
    nazeer

  • ABAP Routine  for 0FISCPER  slect options in InfoPackage

    Hi,
    I am trying to write an ABAP Routine for 0FISCPER as select options (range) dynamically.
    Ex:
    0FISCPER selection for this year as 001.2008 to 012.2008
    0FISCPER selection for next year as 001.2009 to 012.2009.
    Now  we are changing InfoPackage every year manually, so I need to write a routine for 0FISCPER in InfoPackage to handle dynamically every year
    Thanks,
    SK.

    Hi
    write an ABAP routine to get that value..But are you getting any planned data(why you want till end of the year...till infopackage runs is o.k i think, if you don't have planned data)...Any way you can check the below code, which can be useful...
    You can see the below code at->your infopackage selections>Ty-->choose variable type as 6 and enter any ABAP routine name( to create) and then there is a button on the application tool bar called 'routine info'..this give you the following information...
    Definition
    You can define complex selections for InfoPackages and control the automatic deletion of requests from InfoCubes in the scheduler, by using routines.
    Routines are processing blocks in ABAP programs that consist of a pre-defined data declaration section and an ABAP subroutine (form routine). In the subroutine you can use all of the ABAP programming functions.
    You can use the following routines for making selections in InfoPackages:
    1. Selection routines for fields, on the Data Selection tab page
    2. Selection routines for file names, on the External Data tab page
    3. Selection Routines for selecting the from and to dates for time-dependent data, on tab page Update
    4. Selection routines for determining old requests to be deleted after successfully loading a new request, on the Data Target tab page
    Program frame:
    After you have called up the Editor for routine maintenance, you get the following program frame:
    1. Selection routines for fields, on tab page Data Selection:
    program conversion_routine.
    '$*$ begin of global - insert your declaration only below this line -
    TABLES: ...
    DATA:   ...
    $$ end of global - insert your declaration only before this line    -
    FORM COMPUTE_<Fieldname>
      tables l_t_range structure rssdlrange
      changing p_subrc like sy-subrc.
    $$ begin of routine - insert your code only below this line       -
      data: l_idx like sy-tabix.
            read table l_t_range with key
                 fieldname = <Fieldname>.
            l_idx = sy-tabix.
            modify l_t_range index l_idx.
            p_subrc = 0.
    $$ end of routine - insert your code only before this line       -
    ENDFORM.
    2. Selection routines for file names, on tabstrip External Data:
    FORM compute_flat_file_filename
         changing p_filename like rsldpsel-filename
              p_subrc like sy-subrc.
    $$ begin of routine - insert your code only below this line-
              p_filename =
              p_subrc = 0.
    $$ end of routine - insert your code only before this line-
    ENDFORM.
    3. Selection routines for selecting the from and to date for time-dependent data, on tabstrip Update:
    form compute_time_dependent_dates
         changing p_datefrom type d
                  p_dateto   type d
               p_subrc like sy-subrc.
    $$ begin of routine - insert your code only below this line-
              p_datefrom =
              p_dateto   =
              p_subrc = 0.
    $$ end of routine - insert your code only before this line-
    ENDFORM.
    4. Routines for determining the old requests to be deleted after successfully loading a new request, on tab page Data Targets:
    form compute_<InfoCube-Name>
      tables l_t_request_to_delete structure rsreqdelstruc
      using l_request like rsreqdone-rnr
      changing p_subrc like sy-subrc.
    *Insert Source Code to decide if requests should be deleted.
    *All Requests in table l_t_request_to_delete will be deleted
    *from Infocube <InfoCube-Name>.
    *Add new requests if you want to delete more (from this cube).
    *Remove requests you did not want to be deleted.
    $$ begin of routine - insert your code only below this line-
         loop at l_t_request_to_delete.
         endloop.
         clear p_subrc.
    $$ end of routine - insert your code only before this line-
    ENDFORM.
    Note:
    Those fields flagged with <...> are dependent on the selection fields and are filled automatically by the system when you call up the Editor.
    Procedure
    Make the following entries:
    1. Between $$ begin of global ... and $$ end of global ... you can define data declarations. These are the declaration sections for the local data in the routine. This data is only visible in the routines.
    2. The subroutines begin with FORM and end with ENDFORM.
    The subroutines for the particular routines are:
    Selection routines for fields on tab page Data Selection: FORM COMPUTE_<Field name>
    Selection routines for file names on tab page External Data : FORM compute_flat_file_filename
    Selection routines for selecting the from and to dates for time-dependent data on tab page Update: FORM compute_time_dependent_dates
    Routines for determining old requests to be deleted after successfully loading a new request on tab page Data Target: FORM COMPUTE_<InfoCube-Name>
    The subprograms have the following parameters:
    Subprogram FORM COMPUTE_<Field name>:
    l_t_range
    In the table l_t_range the routines for all selection fields that are filled, or have a routine, are made available.
    The routines are executed in the scheduler last of all and therefore, you can change all the selections that you have carried out previously.
    p_subrc
    Using the variable p_subrc you can report errors to the scheduler. p_subrc <> 0 signals an error and means the data request is terminated.
    Subprogram FORM compute_flat_file_filename:
    p_filename:
    You give the name of the file that is to be loaded in parameter p_filename.
    This is useful if your file name contains date dependencies that should be determined by sy-datum and calculated during runtime.
    p_subrc
    You can inform the scheduler of an error with variable p_subrc. p_subrc <> 0 signals an error and means that the data request is terminated.
    Subprogram FORM compute_time_dependent_dates:
    p_datefrom and p_dateto
    Fill these parameters with the from and to dates for time-dependent master data and texts.
    p_subrc
    You can inform the scheduler about an error using variable >LS>p_subrc. p_subrc <> 0 signals an error and means the data request is terminated.
    Subprogram FORM COMPUTE_<InfoCube-Name>:
    l_t_request_to_delete
    You give the request number of the request that is to be deleted in parameter l_t_request_to_delete. You can also delete requests from the table. These are then not deleted.
    p_subrc
    You can inform the scheduler about an error with the variable p_subrc. p_subrc  signals an error and means the data request is terminated.
    3. Insert your program code for the routines between $$ begin of routine ... and $$ end of routine ... so that the respective subprogram variables are supplied with the corresponding values.
    4. Check the syntax of your routine with the Check function.
    5. You can then transfer the routine with the Save function.
    You end routine maintenance when you exit the Editor.
    Hope it helps
    Thanks,
    Teja

  • Field Selection for - Invoice Verification (MIRO)

    Dear Experts,
    Can anybody please explain how make Field selection for INVOICE VERIFICATION (MIRO).
    I want BUSINESS AREA field mandatory in MIRO.
    Thanks in Advance

    Hi,
    Business area is linked to other organizational units (plant, division,
    distribution chanel, cost center). It can be defined using assigments
    (e. cost centers to the business area) or combinations of information
    (like plant and division determination).
    It is usually derived from the account assignments of the cost items
    and inherited from there into the vendor line item.
    For MIRO,to automatically fill the business area it must be able to
    uniquely identify a business area.
    This means that for multiple materials each one must have the same
    business area for IV to fill the vendor line item.
    This is the way the system is designed.
    The business area can be set as 'optional' field and is not 'mandatory'
    by design.It can be customised according to the individual needs.
    Please check the field status in tr OB41/OB14 and  OB23 for the vendor.
    Best Regards,
    Arminda Jack

  • Video with NO music while apply 'Convert Selection for iPod'.

    Hi,
    I have 80GB video iPod.
    In iTunes while I add any .mpeg file and play it into iTunes running fine. But while I make 'covert selection for ipod' for that file and while playing the file which I have after conversion into iTunes, doesnt play music. means I can see video without music.
    This is strange behaviour and frsutrating me a lot.
    Can anybody help me to resolve this ?
    Thanks,
    Tushar.

    Reinstalling itunes fixed it, Now the video has no audio in itune OR theiPod.

  • Inline table throw "make a selection" error in required field upon PPR

    Hi,
    I have a dropdown in a page and when change, will do a PPR and render the inline ADF table which contains selectOneChoice, inputText components.
    Here's code snipplet:
    <af:selectOneChoice label="Action" shortDesc="Action" id="soc17"
    rendered="#{!viewScope.FaParamConfigBean.paramConfigMode
    and pageFlowScope.backing_flowFaParamsBean.flowParamConfigMode}"
    valueChangeListener="#{pageFlowScope.backing_flowFaParamsBean.onChangeAction}"
    immediate="true" autoSubmit="true">
    <f:selectItems value="#{pageFlowScope.backing_flowFaParamsBean.actionsList}"
    id="si12"/>
    </af:selectOneChoice>
    <af:panelCollection id="pc3" styleClass="AFStretchWidth"
    rendered="#{pageFlowScope.backing_flowFaParamsBean.showFlowParamConfigTable}"
    partialTriggers="soc17">
    <af:table value="#{bindings.ItasFlowParamConfigsFullVO1.collectionModel}"
    var="row"
    rows="#{bindings.ItasFlowParamConfigsFullVO1.rangeSize}"
    emptyText="#{bindings.ItasFlowParamConfigsFullVO1.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.ItasFlowParamConfigsFullVO1.rangeSize}"
    rowBandingInterval="0"
    selectedRowKeys="#{bindings.ItasFlowParamConfigsFullVO1.collectionModel.selectedRow}"
    selectionListener="#{bindings.ItasFlowParamConfigsFullVO1.collectionModel.makeCurrent}"
    rowSelection="single" id="t11"
    editingMode="editAll" styleClass="AFStretchWidth"
    columnStretching="column:c4"
    partialTriggers="::ctb12 ::ctb13"
    immediate="true">
    <af:column sortProperty="#{bindings.ItasFlowParamConfigsFullVO1.hints.ParameterUid.name}"
    sortable="false"
    headerText="#{bindings.ItasFlowParamConfigsFullVO1.hints.ParameterUid.label}"
    id="c4">
    <af:selectOneChoice value="#{row.bindings.ParameterUid.inputValue}"
    label="#{bindings.ItasFlowParamConfigsFullVO1.hints.ParameterUid.label}"
    shortDesc="#{bindings.ItasFlowParamConfigsFullVO1.hints.ParameterUid.tooltip}"
    required="#{bindings.ItasFlowParamConfigsFullVO1.hints.ParameterUid.mandatory}"
    id="soc99" immediate="true">
    <f:selectItems id="si88"
    value="#{pageFlowScope.backing_flowFaParamsBean.parameterListDrop}"/>
    </af:selectOneChoice>
    </af:column>
    The issue is that after changing the value in "Action" dropdown, the inline table got refreshed accordingly, and ADF throws error "Please make a selection for Parameter Uid" on the required selectOneChoice value in the inline table. How can I prevent ADF having the validation checking of required fields when doing a PPR? I have already set the dropdown and table immediate=true already.
    Please advise.
    Thanks
    -Mina

    Hi,
    Need to add SOC id "si12" as table's partial Trigger.
    <af:table value="#{bindings.ItasFlowParamConfigsFullVO1.collectionModel}"
    var="row"
    rows="#{bindings.ItasFlowParamConfigsFullVO1.rangeSize}"
    emptyText="#{bindings.ItasFlowParamConfigsFullVO1.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.ItasFlowParamConfigsFullVO1.rangeSize}"
    rowBandingInterval="0"
    selectedRowKeys="#{bindings.ItasFlowParamConfigsFullVO1.collectionModel.selectedRow}"
    selectionListener="#{bindings.ItasFlowParamConfigsFullVO1.collectionModel.makeCurrent}"
    rowSelection="single" id="t11"
    editingMode="editAll" styleClass="AFStretchWidth"
    columnStretching="column:c4"
    partialTriggers="::ctb12 ::ctb13 ::si12"
    immediate="true">

  • 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

  • Abap Routine for Date selection in Infopackage

    Hi
    I have to write an abap routine for date selections in the infopackage,
    There are two date begda and enda.
    Do i code for BEGDA and fill in the begin date using routine and use another routine to fill the ENDA.
    JPJP

    Hi JP,
      If you have two info objects BEGDA and ENDA in the Info package for selection
      then you will have to write seperate routine for each of them.
      If you want to give single value for each date field then update only the field l_t_range- low otherwise if you want to give range then you can update the internal table fields l_t_range-low and l_t_range-high .
    Regards,
    Prakash

  • InfoPackage ABAP Routine for Date Range - Only Start Date Extracted

    I am using an ABAP Routine in an InfoPackage to select data for a 2 year period.  The routine converts SY-DATUM into the Current Fiscal Year and Period, and then calculates the Starting and Ending Fiscal Year / Period of a 24 month period.  The Start and End values are passed to the InfoPackage as l_t_range-low and l_t_range-high.
    The Source and Target are both Basic Infocubes.
    The InfoPackage executes successfully, and the Selection values on the Header tab of the monitor reflect a 24 month period.  Unfortunately, on closer review of the data in the cube, only data for the first month appears to have been loaded.  I’m guessing that the extract was only performed with the From value, even though a To value was also provided.
    I created a simple Infopackage and manually input the selection parameter values just to be sure I wasn’t overlooking something. The InfoPackage performed as expected, loading more data which spanned the selection time period.
    I can provide the code if it helps, but the fact that the monitor reflects a Start and End value suggests that the problem is with the InfoPackage, not the ABAP routine.
    Has anybody ever experienced this before ?  Any ideas would be greatly appreciated ?
    Thanks,
    Lyle

    We can write ABAP routine in Infopackage with a range of values (From & To). Make sure you fill all the following information while building the final range information as below,
       l_s_range-sign    = 'I'.
       l_s_range-option  = 'BT'.
       l_s_range-low     = lowvalue.
       l_s_range-high    = highvalue.
      MODIFY l_t_range FROM l_s_range INDEX l_idx.
    As you can see the key is passing the "BT" information for capturing range.
    Hope it helps..
    thanks
    Kumar

  • ABAP routine for loading data of current month in InfoPackage

    Hello experts,
    I want to load data of current month. Therefore I implemented the following ABAP-Routine for field 0CALDAY in the InfoPackage's data selection:
    data: lv_datum_l like sy-datum,
             lv_datum_h like sy-datum. 
      concatenate sy-datum(6) '01' into lv_datum_l.
      call function 'RP_LAST_DAY_OF_MONTHS'
      exporting
      day_in = sy-datum
      importing
      last_day_of_month = lv_datum_h.
      l_t_range-sign = 'I'.
      l_t_range-option = 'BT'.
      l_t_range-low = lv_datum_l.
      l_t_range-high = lv_datum_h.
    But function 'RP_LAST_DAY_OF_MONTHS' cannot be found!
    Any other suggestions for getting last day of current month?
    regards
    hiza

    Hi,
    Add this code. When u complete execution of this code, ZDATE will have ur month end date.
    data : zdate_c(2) type c,
           zyear_c(4) type c,
           zmonth_c(2) type c.
    data :  zdate like sy-datum.
    data :  zday(2) type n.
    zdate = sy-datum
          zyear_c = zdate(4).
          zmonth_c = zdate+4(2).
          zdate_c = '01'.
          concatenate zyear_c zmonth_c zdate_c into zdate.
          CALL FUNCTION 'FIMA_END_OF_MONTH_DETERMINE'
          EXPORTING
            I_DATE         = zdate
          IMPORTING
            E_DAYS_OF_MONTH = NO_OF_DAYS.
          zday = NO_OF_DAYS.
          concatenate zyear_c zmonth_c zday into zdate.

  • 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

Maybe you are looking for