‎2007 Jan 03 9:55 AM
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
‎2007 Jan 03 10:01 AM
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
‎2007 Jan 03 10:03 AM
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.
‎2007 Jan 03 10:07 AM
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
‎2007 Jan 03 10:11 AM
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.
‎2007 Jan 03 10:33 AM
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.
‎2007 Jan 03 10:43 AM
Hi Sanjeev ,
The reason why it is jumping out is the statement
ELSEIF S_BUDAT1-HIGH IS INITIAL." Check this statementso 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
‎2007 Jan 03 10:56 AM
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.
‎2007 Jan 03 11:04 AM
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
‎2007 Jan 03 10:20 AM
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 ?
‎2007 Jan 03 10:21 AM
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
‎2007 Jan 03 10:35 AM
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.
‎2007 Jan 03 10:55 AM
Hi ,
Please see my response to the code you posted for dinesh .
I have few queries ,which i have mentioned in it.
Regadrs
Arun
‎2007 Jan 03 11:15 AM
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
‎2007 Jan 03 11:26 AM
Hi Sanjeev ,
Saw my comments on the code you have posted.
Regards
Arun
‎2007 Jan 03 12:24 PM
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
‎2007 Jan 03 12:21 PM
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