Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

date problem in selection screen

Former Member
0 Likes
2,439

hi all,

in my selection screen i have two select options as follows

select-options: s_budat for anek-budat obligatory, (report date)

s_budat1 for anek-budat. (posting date)

means first date i have taken as report date and second as posting date.

my requirement is that whenever i should input some date i should get data

between those dates.

so how to do this bcoz i have done it and it is woking fine for the first but not working for the second.

so plz guide me and bfor answering keep in mind that my both dates refers to same field.

i have given logic like this

IF s_budat-high IS INITIAL.

v_year = s_budat-low+0(4).

v_mon = s_budat-low+4(2).

IF v_mon LT '04'.

v_year = v_year - 1.

CONCATENATE v_year '0401' INTO v_low.

v_high = s_budat-low.

ELSE.

CONCATENATE v_year '0401' INTO v_low.

v_high = s_budat-low.

ENDIF.

ELSE.

v_low = s_budat-low.

v_high = s_budat-high.

ENDIF.

i want in the same way s_budat1 should also work ie if we give some range of date in it then it should show data in between those dates only but it is now showing full data irrespective of date entered in second select option.

Message was edited by:

sanjeev singh

16 REPLIES 16
Read only

Former Member
0 Likes
1,885

hi sanjeev,

i am not getting ur query , can u be little more specific....

is it that u want the select query ? or something else....

reply..

with regards,

S.Barane

Read only

0 Likes
1,885

right now u see the message i have edited it and make it more specific and clear.

hope now u can get it.see the main message.

Read only

Former Member
0 Likes
1,885

Hi,

Declare the field which you are using in the select query as select option.

Then assign the two input dates to low and high values. Then select the data matching this select option.

I think you can declare the first field as a select option and display only the low option. Then assign the second date value to high option and use it in the select query.

Hope its clear and helps.

Regards

Sekar

Read only

Former Member
0 Likes
1,885

Hi Sanjeev,

Code is as follows

IF s_budat1-high IS INITIAL and s_budat1-low <> space.

v_year = s_budat1-low+0(4).

v_mon = s_budat1-low+4(2).

IF v_mon LT '04'.

v_year = v_year - 1.

CONCATENATE v_year '0401' INTO v_low.

v_high = s_budat-low.

ELSE.

CONCATENATE v_year '0401' INTO v_low.

v_high = s_budat-low.

ENDIF.

ELSEIF s_budat1-low is initial and s_budat1-high <> space.

v_year = s_budat1-high+0(4).

v_mon = s_budat1-high+4(2).

v_low = s_budat1-high.

v_high = s_budat1-high.

elseif s_budat1-low is initial and s_budat1-high = space.

ur code what you have to do .

elseif s_budat1-low <> space and s_budat1-high <> space.

v_low = s_budat1-high.

v_high = s_budat1-high.

ENdif.

Please reward if useful.

Read only

0 Likes
1,885

hi dinesh as u told me i have already done like this but i am not getting the output

when i am entering data in second selectoption s_budat1 it is still considering the

date entered according to date entered in s_budat select option.

i have debuged it also in which i found that after taking date from s_budat

it is not going to s_budat it is simply jumping out.

so here i am sending my code if u can solve it then i will be gratefull to u.

REPORT Z_FA_ACQ NO STANDARD PAGE HEADING

LINE-SIZE 400

LINE-COUNT 65(3).

TYPE-POOLS : SLIS.

TABLES : ANLA, "ASSET MASTER RECORD-SEGMENT

ANLZ, "time dependent asset allocations

ANLC, "Asset-value fields

ANEP, "Asset line item

ANEK. "Document header asset posting

*Internal Table Declaration

DATA : BEGIN OF T_ANLA OCCURS 0,

BUKRS LIKE ANLA-BUKRS, "Company code

ANLN1 LIKE ANLA-ANLN1, "Main asset number

ANLN2 LIKE ANLA-ANLN2, "Asset sub-number

AKTIV LIKE ANLA-AKTIV, "Asset capitalization date

TXT50 LIKE ANLA-TXT50, "Name of asset

ZUGDT LIKE ANLA-ZUGDT, "Asset value date of the first posting

MENGE LIKE ANLA-MENGE, "Quantity

MEINS LIKE ANLA-MEINS, "Base unit of measure

ANLKL LIKE ANLA-ANLKL, "Asset class

END OF T_ANLA.

DATA : BEGIN OF T_ANLZ OCCURS 0,

BUKRS LIKE ANLZ-BUKRS,

ANLN1 LIKE ANLZ-ANLN1,

ANLN2 LIKE ANLZ-ANLN2,

GSBER LIKE ANLZ-GSBER, "Business area

KOSTL LIKE ANLZ-KOSTL, "Cost center

STORT LIKE ANLZ-STORT, "Asset location

RAUMN LIKE ANLZ-RAUMN, "Room

KFZKZ LIKE ANLZ-KFZKZ, "License plate no. of vehichle

WERKS LIKE ANLZ-WERKS, "Plant

END OF T_ANLZ.

DATA : BEGIN OF T_ANEK OCCURS 0,

BUKRS LIKE ANEK-BUKRS,

ANLN1 LIKE ANEK-ANLN1,

ANLN2 LIKE ANEK-ANLN2,

BELNR LIKE ANEK-BELNR,

BUDAT LIKE ANEK-BUDAT, "Posting date in document

BZDAT LIKE ANEK-BZDAT, "Asset value date

BLDAT LIKE ANEK-BLDAT, "Document date in document

BUZEI LIKE ANEK-BUZEI, "Line item number within the accounting

XBLNR LIKE ANEK-XBLNR, "Reference document number

SGTXT LIKE ANEK-SGTXT, "Item text

GJAHR LIKE ANEK-GJAHR, "Fiscal year

LNRAN LIKE ANEK-LNRAN,"Sequence number of asset line items in fis

END OF T_ANEK.

DATA : BEGIN OF T_ANLC OCCURS 0,

BUKRS LIKE ANLC-BUKRS,

ANLN1 LIKE ANLC-ANLN1,

ANLN2 LIKE ANLC-ANLN2,

ANSWL LIKE ANLC-ANSWL, "Acquisition value reducing transactions f

NAFAP LIKE ANLC-NAFAP, "Planned ordinary depreciation for the yea

AAFAP LIKE ANLC-AAFAP,"Planned unplanned depreciation for the yea

AFABE LIKE ANLC-AFABE, "Real depreciation area

GJAHR LIKE ANLC-GJAHR, "Fiscal year

END OF T_ANLC.

DATA : BEGIN OF T_ANEP OCCURS 0,

BUKRS LIKE ANEP-BUKRS,

ANLN1 LIKE ANEP-ANLN1,

ANLN2 LIKE ANEP-ANLN2,

ANBTR LIKE ANEP-ANBTR, "Amount posted

NAFAB LIKE ANEP-NAFAB, "Ordinary depreciation on transactions

GJAHR LIKE ANEP-GJAHR, "Fiscal year

AFABE LIKE ANEP-AFABE, "Real depreciation area (01)

BELNR LIKE ANEP-BELNR, "Accounting document number

BUZEI LIKE ANEP-BUZEI,"Line item number within the accounting do

LNRAN LIKE ANEP-LNRAN,"Sequence number of asset line items in fi

END OF T_ANEP.

DATA : BEGIN OF IT_FINAL OCCURS 0,

ANLN1 LIKE ANLA-ANLN1,

ANLN2 LIKE ANLA-ANLN2,

AKTIV LIKE ANLA-AKTIV,

TXT50 LIKE ANLA-TXT50,

ZUGDT LIKE ANLA-ZUGDT,

MENGE LIKE ANLA-MENGE,

MEINS LIKE ANLA-MEINS,

GSBER LIKE ANLZ-GSBER,

KOSTL LIKE ANLZ-KOSTL,

STORT LIKE ANLZ-STORT,

RAUMN LIKE ANLZ-RAUMN,

KFZKZ LIKE ANLZ-KFZKZ,

BELNR LIKE ANEK-BELNR,

BUDAT LIKE ANEK-BUDAT,

BZDAT LIKE ANEK-BZDAT,

BLDAT LIKE ANEK-BLDAT,

XBLNR LIKE ANEK-XBLNR,

SGTXT LIKE ANEK-SGTXT,

ANBTR LIKE ANEP-ANBTR,

NAFAB LIKE ANEP-NAFAB,

AAFAP LIKE ANLC-AAFAP,

ANLKL LIKE ANLA-ANLKL,

GJAHR LIKE ANEK-GJAHR,

END OF IT_FINAL.

  • End of Internal table Declaration

*added for date logic by sanjeev

DATA:V_LOW LIKE SY-DATUM,

V_HIGH LIKE SY-DATUM,

V_MON(02) TYPE N,

V_YEAR(04) TYPE N.

*end of date logic

*Declaration for Field Catalog

DATA : LINE_COLOR(4) TYPE C.

DATA : FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,

GD_LAYOUT TYPE SLIS_LAYOUT_ALV.

DATA: EVENT TYPE SLIS_ALV_EVENT OCCURS 0 WITH HEADER LINE.

  • End of field catalog Declaration

*Selection Screen Desing

SELECTION-SCREEN : BEGIN OF BLOCK B_FA WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS : S_BUKRS FOR ANLA-BUKRS DEFAULT 'ML',

S_ANLN1 FOR ANLA-ANLN1,

S_ANLN2 FOR ANLA-ANLN2 VISIBLE LENGTH 2.

SELECTION-SCREEN : END OF BLOCK B_FA.

*SKIP 2.

SELECTION-SCREEN : BEGIN OF BLOCK B_FA1 WITH FRAME TITLE TEXT-002.

SELECT-OPTIONS : S_ANLKL FOR ANLA-ANLKL VISIBLE LENGTH 4,

S_AKTIV FOR ANLA-AKTIV,

S_GSBER FOR ANLZ-GSBER VISIBLE LENGTH 4,

S_KOSTL FOR ANLZ-KOSTL VISIBLE LENGTH 8,

S_WERKS FOR ANLZ-WERKS VISIBLE LENGTH 3,

S_STORT FOR ANLZ-STORT,

S_BUDAT FOR ANEK-BUDAT DEFAULT SY-DATUM.

SELECTION-SCREEN : END OF BLOCK B_FA1.

*SKIP 2.

SELECTION-SCREEN : BEGIN OF BLOCK B_FA2 WITH FRAME TITLE TEXT-003.

SELECT-OPTIONS : S_BUDAT1 FOR ANEK-BUDAT.

SELECTION-SCREEN : END OF BLOCK B_FA2.

*End of Selection screen design

  • Logic for date

IF S_BUDAT-HIGH IS INITIAL.

V_YEAR = S_BUDAT-LOW+0(4).

V_MON = S_BUDAT-LOW+4(2).

IF V_MON LT '04'.

V_YEAR = V_YEAR - 1.

CONCATENATE V_YEAR '0401' INTO V_LOW.

V_HIGH = S_BUDAT-LOW.

ELSE.

CONCATENATE V_YEAR '0401' INTO V_LOW.

V_HIGH = S_BUDAT-LOW.

ENDIF.

*ELSE.

*v_low = s_budat-low.

*v_high = s_budat-high.

ELSEIF S_BUDAT1-HIGH IS INITIAL.

V_YEAR = S_BUDAT1-LOW+0(4).

V_MON = S_BUDAT1-LOW+4(2).

IF V_MON LT '04'.

V_YEAR = V_YEAR - 1.

CONCATENATE V_YEAR '0401' INTO V_LOW.

V_HIGH = S_BUDAT1-LOW.

ELSE.

CONCATENATE V_YEAR '0401' INTO V_LOW.

V_HIGH = S_BUDAT1-LOW.

ENDIF.

ELSE.

V_LOW = S_BUDAT1-LOW.

V_HIGH = S_BUDAT1-HIGH.

ENDIF.

  • end of logic

*Start-of-selection

SELECT BUKRS ANLN1 ANLN2 AKTIV TXT50 ZUGDT MENGE MEINS ANLKL

FROM ANLA

INTO CORRESPONDING FIELDS OF TABLE T_ANLA

WHERE ANLN1 IN S_ANLN1

AND ANLN2 IN S_ANLN2

AND BUKRS IN S_BUKRS

AND ANLKL IN S_ANLKL

AND AKTIV IN S_AKTIV

AND ZUGDT >= V_LOW " added to get the date logic work

AND ZUGDT <= V_HIGH. " added to get the date logic work

CHECK : NOT T_ANLA[] IS INITIAL.

SELECT BUKRS ANLN1 ANLN2 GSBER KOSTL STORT RAUMN KFZKZ

FROM ANLZ

INTO CORRESPONDING FIELDS OF TABLE T_ANLZ

FOR ALL ENTRIES IN T_ANLA

WHERE ANLN1 = T_ANLA-ANLN1

AND ANLN2 = T_ANLA-ANLN2

AND BUKRS = T_ANLA-BUKRS

AND GSBER IN S_GSBER

AND KOSTL IN S_KOSTL

AND WERKS IN S_WERKS.

SELECT BUKRS ANLN1 ANLN2 BELNR BUDAT XBLNR SGTXT GJAHR BZDAT BLDAT BUZEI

LNRAN FROM ANEK

INTO CORRESPONDING FIELDS OF TABLE T_ANEK

FOR ALL ENTRIES IN T_ANLA

WHERE ANLN1 = T_ANLA-ANLN1

AND ANLN2 = T_ANLA-ANLN2

AND BUKRS = T_ANLA-BUKRS

AND BUDAT >= V_LOW " added to get the date logic work

AND BUDAT <= V_HIGH " added to get the date logic work

AND BZDAT >= V_LOW AND BZDAT <= V_HIGH

AND BLDAT >= V_LOW AND BLDAT <= V_HIGH.

SELECT BUKRS ANLN1 ANLN2 ANSWL NAFAP AAFAP AFABE GJAHR

FROM ANLC

INTO CORRESPONDING FIELDS OF TABLE T_ANLC

FOR ALL ENTRIES IN T_ANLA

WHERE ANLN1 = T_ANLA-ANLN1

AND ANLN2 = T_ANLA-ANLN2

AND BUKRS = T_ANLA-BUKRS

AND AFABE = '01'.

SELECT BUKRS ANLN1 ANLN2 ANBTR NAFAB GJAHR AFABE BELNR BUZEI LNRAN

FROM ANEP

INTO CORRESPONDING FIELDS OF TABLE T_ANEP

FOR ALL ENTRIES IN T_ANLA

WHERE ANLN1 = T_ANLA-ANLN1

AND ANLN2 = T_ANLA-ANLN2

AND BUKRS = T_ANLA-BUKRS

AND AFABE = '01'

AND BZDAT >= V_LOW AND BZDAT <= V_HIGH.

SORT T_ANLC BY BUKRS ANLN1 ANLN2.

SORT T_ANLZ BY BUKRS ANLN1 ANLN2 GSBER.

SORT T_ANEP BY BUKRS ANLN1 ANLN2 BELNR BUZEI LNRAN.

LOOP AT T_ANLA.

MOVE : T_ANLA-ANLN1 TO IT_FINAL-ANLN1,

T_ANLA-ANLN2 TO IT_FINAL-ANLN2,

T_ANLA-AKTIV TO IT_FINAL-AKTIV,

T_ANLA-TXT50 TO IT_FINAL-TXT50,

T_ANLA-MENGE TO IT_FINAL-MENGE,

T_ANLA-MEINS TO IT_FINAL-MEINS.

READ TABLE T_ANLZ WITH KEY BUKRS = T_ANLA-BUKRS

ANLN1 = T_ANLA-ANLN1

  • gsber = t_anlz-gsber

ANLN2 = T_ANLA-ANLN2 BINARY SEARCH.

IF SY-SUBRC EQ 0.

MOVE : T_ANLZ-GSBER TO IT_FINAL-GSBER,

T_ANLZ-KOSTL TO IT_FINAL-KOSTL,

T_ANLZ-STORT TO IT_FINAL-STORT,

T_ANLZ-RAUMN TO IT_FINAL-RAUMN,

T_ANLZ-KFZKZ TO IT_FINAL-KFZKZ.

ENDIF.

READ TABLE T_ANLC WITH KEY BUKRS = T_ANLA-BUKRS

ANLN1 = T_ANLA-ANLN1

ANLN2 = T_ANLA-ANLN2 BINARY SEARCH.

IF SY-SUBRC EQ 0.

MOVE : T_ANLC-AAFAP TO IT_FINAL-AAFAP.

ENDIF.

  • added to get the date logic work

LOOP AT T_ANEK WHERE BUKRS = T_ANLA-BUKRS AND ANLN1 = T_ANLA-ANLN1 AND

ANLN2 = T_ANLA-ANLN2 AND BZDAT >= V_LOW AND BZDAT <= V_HIGH

AND BLDAT >= V_LOW AND BLDAT <= V_HIGH

AND BUDAT >= V_LOW AND BUDAT <= V_HIGH.

MOVE : T_ANEK-BELNR TO IT_FINAL-BELNR,

T_ANEK-BUDAT TO IT_FINAL-BUDAT,

T_ANEK-BZDAT TO IT_FINAL-BZDAT,

T_ANEK-GJAHR TO IT_FINAL-GJAHR,

T_ANEK-XBLNR TO IT_FINAL-XBLNR,

T_ANEK-SGTXT TO IT_FINAL-SGTXT.

READ TABLE T_ANEP WITH KEY BUKRS = T_ANEK-BUKRS

ANLN1 = T_ANLA-ANLN1

BELNR = T_ANEK-BELNR

LNRAN = T_ANEK-LNRAN

ANLN2 = T_ANLA-ANLN2.

MOVE : T_ANEP-ANBTR TO IT_FINAL-ANBTR,

T_ANEP-NAFAB TO IT_FINAL-NAFAB.

APPEND IT_FINAL.

ENDLOOP.

ENDLOOP.

PERFORM BUILD_FIELDCATALOG.

PERFORM DISPLAY_ALV_REPORT.

PERFORM BUILD_LAYOUT.

----


  • FORM BUILD_FIELDCATALOG *

----


  • ........ *

----


FORM BUILD_FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'ANLN1'.

FIELDCATALOG-SELTEXT_M = 'ASSET MAIN NO'.

FIELDCATALOG-COL_POS = 0.

FIELDCATALOG-OUTPUTLEN = 14.

FIELDCATALOG-EMPHASIZE = 'X'.

FIELDCATALOG-KEY = 'X'.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'ANLN2'.

FIELDCATALOG-SELTEXT_M = 'SUB NO'.

FIELDCATALOG-COL_POS = 1.

FIELDCATALOG-OUTPUTLEN = 7.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'AKTIV'.

FIELDCATALOG-SELTEXT_M = 'CAP.DATE'.

FIELDCATALOG-COL_POS = 2.

FIELDCATALOG-OUTPUTLEN = 10.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'TXT50'.

FIELDCATALOG-SELTEXT_M = 'NAME'.

FIELDCATALOG-COL_POS = 3.

FIELDCATALOG-OUTPUTLEN = 50.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'BZDAT'.

FIELDCATALOG-SELTEXT_M = 'ASSET VALUE DATE'.

FIELDCATALOG-COL_POS = 4.

FIELDCATALOG-OUTPUTLEN = 17.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'MENGE'.

FIELDCATALOG-SELTEXT_M = 'QTY'.

FIELDCATALOG-COL_POS = 5.

FIELDCATALOG-OUTPUTLEN = 13.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'MEINS'.

FIELDCATALOG-SELTEXT_M = 'UNITS'.

FIELDCATALOG-COL_POS = 6.

FIELDCATALOG-OUTPUTLEN = 3.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'GSBER'.

FIELDCATALOG-SELTEXT_M = 'BA'.

FIELDCATALOG-COL_POS = 7.

FIELDCATALOG-OUTPUTLEN = 4.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'KOSTL'.

FIELDCATALOG-SELTEXT_M = 'COST CENTER'.

FIELDCATALOG-COL_POS = 8.

FIELDCATALOG-OUTPUTLEN = 13.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'STORT'.

FIELDCATALOG-SELTEXT_M = 'LOCATION'.

FIELDCATALOG-COL_POS = 9.

FIELDCATALOG-OUTPUTLEN = 10.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'RAUMN'.

FIELDCATALOG-SELTEXT_M = 'ROOM'.

FIELDCATALOG-COL_POS = 10.

FIELDCATALOG-OUTPUTLEN = 10.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'KFZKZ'.

FIELDCATALOG-SELTEXT_M = 'LICENSE PLATE NO'.

FIELDCATALOG-COL_POS = 11.

FIELDCATALOG-OUTPUTLEN = 20.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'BELNR'.

FIELDCATALOG-SELTEXT_M = 'DOC NO'.

FIELDCATALOG-COL_POS = 12.

FIELDCATALOG-OUTPUTLEN = 13.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'BUDAT'.

FIELDCATALOG-SELTEXT_M = 'POSTING DATE'.

FIELDCATALOG-COL_POS = 13.

FIELDCATALOG-OUTPUTLEN = 15.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'XBLNR'.

FIELDCATALOG-SELTEXT_M = 'REF NO'.

FIELDCATALOG-COL_POS = 14.

FIELDCATALOG-OUTPUTLEN = 25.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'SGTXT'.

FIELDCATALOG-SELTEXT_M = 'TEXT'.

FIELDCATALOG-COL_POS = 15.

FIELDCATALOG-OUTPUTLEN = 50.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'ANBTR'.

FIELDCATALOG-SELTEXT_M = 'ACQ VAL'.

FIELDCATALOG-DATATYPE = 'CURR'.

FIELDCATALOG-DO_SUM = 'X'.

FIELDCATALOG-COL_POS = 16.

FIELDCATALOG-OUTPUTLEN = 13.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'NAFAB'.

FIELDCATALOG-SELTEXT_M = 'ORD.DEP'.

FIELDCATALOG-DO_SUM = 'X'.

FIELDCATALOG-DATATYPE = 'CURR'.

FIELDCATALOG-COL_POS = 17.

FIELDCATALOG-OUTPUTLEN = 13.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'AAFAP'.

FIELDCATALOG-SELTEXT_M = 'UNPLAN DEP'.

FIELDCATALOG-COL_POS = 18.

FIELDCATALOG-OUTPUTLEN = 13.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

ENDFORM.

----


  • FORM BUILD_LAYOUT *

----


  • ........ *

----


FORM BUILD_LAYOUT.

GD_LAYOUT-ZEBRA = 'X'.

GD_LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.

ENDFORM.

----


  • FORM DISPLAY_ALV_REPORT *

----


  • ........ *

----


FORM DISPLAY_ALV_REPORT.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

I_CALLBACK_PROGRAM = SY-REPID

  • i_callback_pf_status_set = '100'

  • i_callback_user_command = sy-ucomm

  • I_STRUCTURE_NAME =

IS_LAYOUT = GD_LAYOUT

IT_FIELDCAT = FIELDCATALOG[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT = ' '

  • IT_EVENTS =

  • IT_EVENT_EXIT = EVENT[]

  • IS_PRINT =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT_FINAL

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2.

ENDFORM.

Read only

0 Likes
1,885

Hi Sanjeev ,

The reason why it is jumping out is the statement

ELSEIF S_BUDAT1-HIGH IS INITIAL." Check this statement

so what happens is it will enter the processing only if no value is entered for S_BUIDAT1.

Looking at the code i feel a bit confused , what shoule be the value of

v_high and v_low , could you please tell what values u want in them with an example.

Regards

Arun

Read only

0 Likes
1,885

if any date i enter and if that date is greater than 31.03.2006

then it should have v_ low = 1.4.2006 & v_high = date entered

if it is less than or equal to 31.03.2006

then v_low = 1.4.2005 & v_high = 31.03.2006 or entered date which is less

than 31.03.2006.

with the same logic i am getting correct output after entering some date in s_budat. but when something is entered in s_budat1 it is not taking it into consideration.

i think that i am able to explain u more clearly for what i am looking for.

Read only

0 Likes
1,885

Hi ,

As per you logic the value of S_BUDAT1 will be considered only when S_BUDAT-high has some value .

because your statement is structured this way

If S_BUDAT-high is initial.
" If S_BUDAT-HIGH is intial this portion is executed and the if statement is exited , so the rest of the conditions will not be considered
elseif S_BUDAT1-high is initial.

else.

endif.

So what i would like to know is if the user enters only the low values for S_BUDAT and S_BUDAT1 then which value must be considered.

Regards

Arun

Read only

Former Member
0 Likes
1,885

hi,

what i understood from this is ...

the program should work in both the conditions...ie, if we give the "from date" in 2 -select option also it should work ,, is it like that ?

is there any need to use two select options for a single field ?

Read only

Former Member
0 Likes
1,885

Hi Sanjeev ,

Moving with the assumption that you are using the same logic for s_budat1 also then you should get the output.

To let us help you better could you paste the select statement you are using to retrieve data.

Regards

Arun

Read only

0 Likes
1,885

hi u can see the full code i have just sent it.so that it will be more clear to u.

REPORT Z_FA_ACQ NO STANDARD PAGE HEADING

LINE-SIZE 400

LINE-COUNT 65(3).

TYPE-POOLS : SLIS.

TABLES : ANLA, "ASSET MASTER RECORD-SEGMENT

ANLZ, "time dependent asset allocations

ANLC, "Asset-value fields

ANEP, "Asset line item

ANEK. "Document header asset posting

*Internal Table Declaration

DATA : BEGIN OF T_ANLA OCCURS 0,

BUKRS LIKE ANLA-BUKRS, "Company code

ANLN1 LIKE ANLA-ANLN1, "Main asset number

ANLN2 LIKE ANLA-ANLN2, "Asset sub-number

AKTIV LIKE ANLA-AKTIV, "Asset capitalization date

TXT50 LIKE ANLA-TXT50, "Name of asset

ZUGDT LIKE ANLA-ZUGDT, "Asset value date of the first posting

MENGE LIKE ANLA-MENGE, "Quantity

MEINS LIKE ANLA-MEINS, "Base unit of measure

ANLKL LIKE ANLA-ANLKL, "Asset class

END OF T_ANLA.

DATA : BEGIN OF T_ANLZ OCCURS 0,

BUKRS LIKE ANLZ-BUKRS,

ANLN1 LIKE ANLZ-ANLN1,

ANLN2 LIKE ANLZ-ANLN2,

GSBER LIKE ANLZ-GSBER, "Business area

KOSTL LIKE ANLZ-KOSTL, "Cost center

STORT LIKE ANLZ-STORT, "Asset location

RAUMN LIKE ANLZ-RAUMN, "Room

KFZKZ LIKE ANLZ-KFZKZ, "License plate no. of vehichle

WERKS LIKE ANLZ-WERKS, "Plant

END OF T_ANLZ.

DATA : BEGIN OF T_ANEK OCCURS 0,

BUKRS LIKE ANEK-BUKRS,

ANLN1 LIKE ANEK-ANLN1,

ANLN2 LIKE ANEK-ANLN2,

BELNR LIKE ANEK-BELNR,

BUDAT LIKE ANEK-BUDAT, "Posting date in document

BZDAT LIKE ANEK-BZDAT, "Asset value date

BLDAT LIKE ANEK-BLDAT, "Document date in document

BUZEI LIKE ANEK-BUZEI, "Line item number within the accounting

XBLNR LIKE ANEK-XBLNR, "Reference document number

SGTXT LIKE ANEK-SGTXT, "Item text

GJAHR LIKE ANEK-GJAHR, "Fiscal year

LNRAN LIKE ANEK-LNRAN,"Sequence number of asset line items in fis

END OF T_ANEK.

DATA : BEGIN OF T_ANLC OCCURS 0,

BUKRS LIKE ANLC-BUKRS,

ANLN1 LIKE ANLC-ANLN1,

ANLN2 LIKE ANLC-ANLN2,

ANSWL LIKE ANLC-ANSWL, "Acquisition value reducing transactions f

NAFAP LIKE ANLC-NAFAP, "Planned ordinary depreciation for the yea

AAFAP LIKE ANLC-AAFAP,"Planned unplanned depreciation for the yea

AFABE LIKE ANLC-AFABE, "Real depreciation area

GJAHR LIKE ANLC-GJAHR, "Fiscal year

END OF T_ANLC.

DATA : BEGIN OF T_ANEP OCCURS 0,

BUKRS LIKE ANEP-BUKRS,

ANLN1 LIKE ANEP-ANLN1,

ANLN2 LIKE ANEP-ANLN2,

ANBTR LIKE ANEP-ANBTR, "Amount posted

NAFAB LIKE ANEP-NAFAB, "Ordinary depreciation on transactions

GJAHR LIKE ANEP-GJAHR, "Fiscal year

AFABE LIKE ANEP-AFABE, "Real depreciation area (01)

BELNR LIKE ANEP-BELNR, "Accounting document number

BUZEI LIKE ANEP-BUZEI,"Line item number within the accounting do

LNRAN LIKE ANEP-LNRAN,"Sequence number of asset line items in fi

END OF T_ANEP.

DATA : BEGIN OF IT_FINAL OCCURS 0,

ANLN1 LIKE ANLA-ANLN1,

ANLN2 LIKE ANLA-ANLN2,

AKTIV LIKE ANLA-AKTIV,

TXT50 LIKE ANLA-TXT50,

ZUGDT LIKE ANLA-ZUGDT,

MENGE LIKE ANLA-MENGE,

MEINS LIKE ANLA-MEINS,

GSBER LIKE ANLZ-GSBER,

KOSTL LIKE ANLZ-KOSTL,

STORT LIKE ANLZ-STORT,

RAUMN LIKE ANLZ-RAUMN,

KFZKZ LIKE ANLZ-KFZKZ,

BELNR LIKE ANEK-BELNR,

BUDAT LIKE ANEK-BUDAT,

BZDAT LIKE ANEK-BZDAT,

BLDAT LIKE ANEK-BLDAT,

XBLNR LIKE ANEK-XBLNR,

SGTXT LIKE ANEK-SGTXT,

ANBTR LIKE ANEP-ANBTR,

NAFAB LIKE ANEP-NAFAB,

AAFAP LIKE ANLC-AAFAP,

ANLKL LIKE ANLA-ANLKL,

GJAHR LIKE ANEK-GJAHR,

END OF IT_FINAL.

  • End of Internal table Declaration

*added for date logic by sanjeev

DATA:V_LOW LIKE SY-DATUM,

V_HIGH LIKE SY-DATUM,

V_MON(02) TYPE N,

V_YEAR(04) TYPE N.

*end of date logic

*Declaration for Field Catalog

DATA : LINE_COLOR(4) TYPE C.

DATA : FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,

GD_LAYOUT TYPE SLIS_LAYOUT_ALV.

DATA: EVENT TYPE SLIS_ALV_EVENT OCCURS 0 WITH HEADER LINE.

  • End of field catalog Declaration

*Selection Screen Desing

SELECTION-SCREEN : BEGIN OF BLOCK B_FA WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS : S_BUKRS FOR ANLA-BUKRS DEFAULT 'ML',

S_ANLN1 FOR ANLA-ANLN1,

S_ANLN2 FOR ANLA-ANLN2 VISIBLE LENGTH 2.

SELECTION-SCREEN : END OF BLOCK B_FA.

*SKIP 2.

SELECTION-SCREEN : BEGIN OF BLOCK B_FA1 WITH FRAME TITLE TEXT-002.

SELECT-OPTIONS : S_ANLKL FOR ANLA-ANLKL VISIBLE LENGTH 4,

S_AKTIV FOR ANLA-AKTIV,

S_GSBER FOR ANLZ-GSBER VISIBLE LENGTH 4,

S_KOSTL FOR ANLZ-KOSTL VISIBLE LENGTH 8,

S_WERKS FOR ANLZ-WERKS VISIBLE LENGTH 3,

S_STORT FOR ANLZ-STORT,

S_BUDAT FOR ANEK-BUDAT DEFAULT SY-DATUM.

SELECTION-SCREEN : END OF BLOCK B_FA1.

*SKIP 2.

SELECTION-SCREEN : BEGIN OF BLOCK B_FA2 WITH FRAME TITLE TEXT-003.

SELECT-OPTIONS : S_BUDAT1 FOR ANEK-BUDAT.

SELECTION-SCREEN : END OF BLOCK B_FA2.

*End of Selection screen design

  • Logic for date

IF S_BUDAT-HIGH IS INITIAL.

V_YEAR = S_BUDAT-LOW+0(4).

V_MON = S_BUDAT-LOW+4(2).

IF V_MON LT '04'.

V_YEAR = V_YEAR - 1.

CONCATENATE V_YEAR '0401' INTO V_LOW.

V_HIGH = S_BUDAT-LOW.

ELSE.

CONCATENATE V_YEAR '0401' INTO V_LOW.

V_HIGH = S_BUDAT-LOW.

ENDIF.

*ELSE.

*v_low = s_budat-low.

*v_high = s_budat-high.

ELSEIF S_BUDAT1-HIGH IS INITIAL.

V_YEAR = S_BUDAT1-LOW+0(4).

V_MON = S_BUDAT1-LOW+4(2).

IF V_MON LT '04'.

V_YEAR = V_YEAR - 1.

CONCATENATE V_YEAR '0401' INTO V_LOW.

V_HIGH = S_BUDAT1-LOW.

ELSE.

CONCATENATE V_YEAR '0401' INTO V_LOW.

V_HIGH = S_BUDAT1-LOW.

ENDIF.

ELSE.

V_LOW = S_BUDAT1-LOW.

V_HIGH = S_BUDAT1-HIGH.

ENDIF.

  • end of logic

*Start-of-selection

SELECT BUKRS ANLN1 ANLN2 AKTIV TXT50 ZUGDT MENGE MEINS ANLKL

FROM ANLA

INTO CORRESPONDING FIELDS OF TABLE T_ANLA

WHERE ANLN1 IN S_ANLN1

AND ANLN2 IN S_ANLN2

AND BUKRS IN S_BUKRS

AND ANLKL IN S_ANLKL

AND AKTIV IN S_AKTIV

AND ZUGDT >= V_LOW " added to get the date logic work

AND ZUGDT <= V_HIGH. " added to get the date logic work

CHECK : NOT T_ANLA[] IS INITIAL.

SELECT BUKRS ANLN1 ANLN2 GSBER KOSTL STORT RAUMN KFZKZ

FROM ANLZ

INTO CORRESPONDING FIELDS OF TABLE T_ANLZ

FOR ALL ENTRIES IN T_ANLA

WHERE ANLN1 = T_ANLA-ANLN1

AND ANLN2 = T_ANLA-ANLN2

AND BUKRS = T_ANLA-BUKRS

AND GSBER IN S_GSBER

AND KOSTL IN S_KOSTL

AND WERKS IN S_WERKS.

SELECT BUKRS ANLN1 ANLN2 BELNR BUDAT XBLNR SGTXT GJAHR BZDAT BLDAT BUZEI

LNRAN FROM ANEK

INTO CORRESPONDING FIELDS OF TABLE T_ANEK

FOR ALL ENTRIES IN T_ANLA

WHERE ANLN1 = T_ANLA-ANLN1

AND ANLN2 = T_ANLA-ANLN2

AND BUKRS = T_ANLA-BUKRS

AND BUDAT >= V_LOW " added to get the date logic work

AND BUDAT <= V_HIGH " added to get the date logic work

AND BZDAT >= V_LOW AND BZDAT <= V_HIGH

AND BLDAT >= V_LOW AND BLDAT <= V_HIGH.

SELECT BUKRS ANLN1 ANLN2 ANSWL NAFAP AAFAP AFABE GJAHR

FROM ANLC

INTO CORRESPONDING FIELDS OF TABLE T_ANLC

FOR ALL ENTRIES IN T_ANLA

WHERE ANLN1 = T_ANLA-ANLN1

AND ANLN2 = T_ANLA-ANLN2

AND BUKRS = T_ANLA-BUKRS

AND AFABE = '01'.

SELECT BUKRS ANLN1 ANLN2 ANBTR NAFAB GJAHR AFABE BELNR BUZEI LNRAN

FROM ANEP

INTO CORRESPONDING FIELDS OF TABLE T_ANEP

FOR ALL ENTRIES IN T_ANLA

WHERE ANLN1 = T_ANLA-ANLN1

AND ANLN2 = T_ANLA-ANLN2

AND BUKRS = T_ANLA-BUKRS

AND AFABE = '01'

AND BZDAT >= V_LOW AND BZDAT <= V_HIGH.

SORT T_ANLC BY BUKRS ANLN1 ANLN2.

SORT T_ANLZ BY BUKRS ANLN1 ANLN2 GSBER.

SORT T_ANEP BY BUKRS ANLN1 ANLN2 BELNR BUZEI LNRAN.

LOOP AT T_ANLA.

MOVE : T_ANLA-ANLN1 TO IT_FINAL-ANLN1,

T_ANLA-ANLN2 TO IT_FINAL-ANLN2,

T_ANLA-AKTIV TO IT_FINAL-AKTIV,

T_ANLA-TXT50 TO IT_FINAL-TXT50,

T_ANLA-MENGE TO IT_FINAL-MENGE,

T_ANLA-MEINS TO IT_FINAL-MEINS.

READ TABLE T_ANLZ WITH KEY BUKRS = T_ANLA-BUKRS

ANLN1 = T_ANLA-ANLN1

  • gsber = t_anlz-gsber

ANLN2 = T_ANLA-ANLN2 BINARY SEARCH.

IF SY-SUBRC EQ 0.

MOVE : T_ANLZ-GSBER TO IT_FINAL-GSBER,

T_ANLZ-KOSTL TO IT_FINAL-KOSTL,

T_ANLZ-STORT TO IT_FINAL-STORT,

T_ANLZ-RAUMN TO IT_FINAL-RAUMN,

T_ANLZ-KFZKZ TO IT_FINAL-KFZKZ.

ENDIF.

READ TABLE T_ANLC WITH KEY BUKRS = T_ANLA-BUKRS

ANLN1 = T_ANLA-ANLN1

ANLN2 = T_ANLA-ANLN2 BINARY SEARCH.

IF SY-SUBRC EQ 0.

MOVE : T_ANLC-AAFAP TO IT_FINAL-AAFAP.

ENDIF.

  • added to get the date logic work

LOOP AT T_ANEK WHERE BUKRS = T_ANLA-BUKRS AND ANLN1 = T_ANLA-ANLN1 AND

ANLN2 = T_ANLA-ANLN2 AND BZDAT >= V_LOW AND BZDAT <= V_HIGH

AND BLDAT >= V_LOW AND BLDAT <= V_HIGH

AND BUDAT >= V_LOW AND BUDAT <= V_HIGH.

MOVE : T_ANEK-BELNR TO IT_FINAL-BELNR,

T_ANEK-BUDAT TO IT_FINAL-BUDAT,

T_ANEK-BZDAT TO IT_FINAL-BZDAT,

T_ANEK-GJAHR TO IT_FINAL-GJAHR,

T_ANEK-XBLNR TO IT_FINAL-XBLNR,

T_ANEK-SGTXT TO IT_FINAL-SGTXT.

READ TABLE T_ANEP WITH KEY BUKRS = T_ANEK-BUKRS

ANLN1 = T_ANLA-ANLN1

BELNR = T_ANEK-BELNR

LNRAN = T_ANEK-LNRAN

ANLN2 = T_ANLA-ANLN2.

MOVE : T_ANEP-ANBTR TO IT_FINAL-ANBTR,

T_ANEP-NAFAB TO IT_FINAL-NAFAB.

APPEND IT_FINAL.

ENDLOOP.

ENDLOOP.

PERFORM BUILD_FIELDCATALOG.

PERFORM DISPLAY_ALV_REPORT.

PERFORM BUILD_LAYOUT.

----


  • FORM BUILD_FIELDCATALOG *

----


  • ........ *

----


FORM BUILD_FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'ANLN1'.

FIELDCATALOG-SELTEXT_M = 'ASSET MAIN NO'.

FIELDCATALOG-COL_POS = 0.

FIELDCATALOG-OUTPUTLEN = 14.

FIELDCATALOG-EMPHASIZE = 'X'.

FIELDCATALOG-KEY = 'X'.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'ANLN2'.

FIELDCATALOG-SELTEXT_M = 'SUB NO'.

FIELDCATALOG-COL_POS = 1.

FIELDCATALOG-OUTPUTLEN = 7.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'AKTIV'.

FIELDCATALOG-SELTEXT_M = 'CAP.DATE'.

FIELDCATALOG-COL_POS = 2.

FIELDCATALOG-OUTPUTLEN = 10.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'TXT50'.

FIELDCATALOG-SELTEXT_M = 'NAME'.

FIELDCATALOG-COL_POS = 3.

FIELDCATALOG-OUTPUTLEN = 50.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'BZDAT'.

FIELDCATALOG-SELTEXT_M = 'ASSET VALUE DATE'.

FIELDCATALOG-COL_POS = 4.

FIELDCATALOG-OUTPUTLEN = 17.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'MENGE'.

FIELDCATALOG-SELTEXT_M = 'QTY'.

FIELDCATALOG-COL_POS = 5.

FIELDCATALOG-OUTPUTLEN = 13.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'MEINS'.

FIELDCATALOG-SELTEXT_M = 'UNITS'.

FIELDCATALOG-COL_POS = 6.

FIELDCATALOG-OUTPUTLEN = 3.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'GSBER'.

FIELDCATALOG-SELTEXT_M = 'BA'.

FIELDCATALOG-COL_POS = 7.

FIELDCATALOG-OUTPUTLEN = 4.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'KOSTL'.

FIELDCATALOG-SELTEXT_M = 'COST CENTER'.

FIELDCATALOG-COL_POS = 8.

FIELDCATALOG-OUTPUTLEN = 13.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'STORT'.

FIELDCATALOG-SELTEXT_M = 'LOCATION'.

FIELDCATALOG-COL_POS = 9.

FIELDCATALOG-OUTPUTLEN = 10.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'RAUMN'.

FIELDCATALOG-SELTEXT_M = 'ROOM'.

FIELDCATALOG-COL_POS = 10.

FIELDCATALOG-OUTPUTLEN = 10.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'KFZKZ'.

FIELDCATALOG-SELTEXT_M = 'LICENSE PLATE NO'.

FIELDCATALOG-COL_POS = 11.

FIELDCATALOG-OUTPUTLEN = 20.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'BELNR'.

FIELDCATALOG-SELTEXT_M = 'DOC NO'.

FIELDCATALOG-COL_POS = 12.

FIELDCATALOG-OUTPUTLEN = 13.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'BUDAT'.

FIELDCATALOG-SELTEXT_M = 'POSTING DATE'.

FIELDCATALOG-COL_POS = 13.

FIELDCATALOG-OUTPUTLEN = 15.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'XBLNR'.

FIELDCATALOG-SELTEXT_M = 'REF NO'.

FIELDCATALOG-COL_POS = 14.

FIELDCATALOG-OUTPUTLEN = 25.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'SGTXT'.

FIELDCATALOG-SELTEXT_M = 'TEXT'.

FIELDCATALOG-COL_POS = 15.

FIELDCATALOG-OUTPUTLEN = 50.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'ANBTR'.

FIELDCATALOG-SELTEXT_M = 'ACQ VAL'.

FIELDCATALOG-DATATYPE = 'CURR'.

FIELDCATALOG-DO_SUM = 'X'.

FIELDCATALOG-COL_POS = 16.

FIELDCATALOG-OUTPUTLEN = 13.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'NAFAB'.

FIELDCATALOG-SELTEXT_M = 'ORD.DEP'.

FIELDCATALOG-DO_SUM = 'X'.

FIELDCATALOG-DATATYPE = 'CURR'.

FIELDCATALOG-COL_POS = 17.

FIELDCATALOG-OUTPUTLEN = 13.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'AAFAP'.

FIELDCATALOG-SELTEXT_M = 'UNPLAN DEP'.

FIELDCATALOG-COL_POS = 18.

FIELDCATALOG-OUTPUTLEN = 13.

APPEND FIELDCATALOG TO FIELDCATALOG.

CLEAR FIELDCATALOG.

ENDFORM.

----


  • FORM BUILD_LAYOUT *

----


  • ........ *

----


FORM BUILD_LAYOUT.

GD_LAYOUT-ZEBRA = 'X'.

GD_LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.

ENDFORM.

----


  • FORM DISPLAY_ALV_REPORT *

----


  • ........ *

----


FORM DISPLAY_ALV_REPORT.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

I_CALLBACK_PROGRAM = SY-REPID

  • i_callback_pf_status_set = '100'

  • i_callback_user_command = sy-ucomm

  • I_STRUCTURE_NAME =

IS_LAYOUT = GD_LAYOUT

IT_FIELDCAT = FIELDCATALOG[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT = ' '

  • IT_EVENTS =

  • IT_EVENT_EXIT = EVENT[]

  • IS_PRINT =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT_FINAL

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2.

ENDFORM.

Read only

0 Likes
1,885

Hi ,

Please see my response to the code you posted for dinesh .

I have few queries ,which i have mentioned in it.

Regadrs

Arun

Read only

0 Likes
1,885

Hi,

1) are u doing the logic for date in initilization...

2) i think u have to do that in at selection-screen output.

3) you have used a if condition..if in case your s_budat is initial then your s_budat1 will not have any changes did u take that into consideration..i.e s_budat-low must have some value so that your logic works.

santhosh

Read only

Former Member
0 Likes
1,885

Hi Sanjeev ,

Saw my comments on the code you have posted.

Regards

Arun

Read only

0 Likes
1,885

hi arun

i have solved it on my own. there was no problem with

date logic but in select st i have to consider the s_budat1 also.

anyways thnaks for all ur efforts

Read only

Former Member
0 Likes
1,885

thnaks for all ur replies but i have solved it on my on.

the only problem was with select st

where i have to take s_budat1 also in consideration