Date problem in selection screen
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
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.
Similar Messages
-
Problem in Selection Screen.
Dear Experts,
I am facing a problem in Selection Screen.
<b>I have 2 radio buttons ,</b>
<b>Radio Button 1</b> - Choosing the file from desktop and
<b>Radio Button 2</b> - Executing from Database
Under Option1 - i have a <b>FILE</b> parameter which is <b><u>Mandatory.</u></b>
Problem Case -
<b>when I choose option 2, Option 1 should be disabled. in the sense the file name which is mandatory here should not be mandatory . Currently, when i choose option 2 - i have to provide some dummy characters in the file parameter because the file parameter is mandatory, and <u><b>I want to avoid this.</b></u>
Please see the entire code .</b>
REPORT ZTEST.
DATA: LV_FILE_PATH(20) TYPE C.
DATA: LV_MASK(20) TYPE C VALUE ',*.XLS ,*.XLS. '.
*-- Macro to put radiobutton on selection screen
*-- &1 - radiobutton parameter name
*-- &2 - text element (description)
*-- &3 - radiobutton group
DEFINE MAKE_RADIOBUTTON.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: &1 RADIOBUTTON GROUP &3.
SELECTION-SCREEN COMMENT 3(60) &2.
SELECTION-SCREEN END OF LINE.
END-OF-DEFINITION.
SELECTION-SCREEN BEGIN OF BLOCK A0 WITH FRAME TITLE T000.
* From Config File
MAKE_RADIOBUTTON RB_1 ALL_DATA SRC.
SELECTION-SCREEN BEGIN OF BLOCK A1 WITH FRAME TITLE T001.
* Config file from Presentation server
PARAMETERS: P_FILE1 LIKE T390D-DBNAME OBLIGATORY. "
SELECTION-SCREEN END OF BLOCK A1.
* From database table
MAKE_RADIOBUTTON RB_2 INC_DOWN SRC.
SELECTION-SCREEN END OF BLOCK A0.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE1.
CALL FUNCTION 'WS_QUERY'
EXPORTING
QUERY = 'CD' "// Current Directory
IMPORTING
RETURN = LV_FILE_PATH.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
DEF_FILENAME = 'TA_DOWNLOAD.MDB'
DEF_PATH = LV_FILE_PATH
MASK = LV_MASK
MODE = 'O'
IMPORTING
FILENAME = P_FILE1
EXCEPTIONS
INV_WINSYS = 1
NO_BATCH = 2
SELECTION_CANCEL = 3
SELECTION_ERROR = 4
OTHERS = 5.
INITIALIZATION.
ALL_DATA = 'From Desktop : ? '.
INC_DOWN = 'From Database : ?'.
T000 = 'Configuration Upload'.
Please help
ThanksHi
You should do some modifications like these:
DEFINE MAKE_RADIOBUTTON_1.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: &1 RADIOBUTTON GROUP &3 USER-COMMAND &4.
SELECTION-SCREEN COMMENT 3(60) &2.
SELECTION-SCREEN END OF LINE.
END-OF-DEFINITION.
DEFINE MAKE_RADIOBUTTON_2.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: &1 RADIOBUTTON GROUP &3.
SELECTION-SCREEN COMMENT 3(60) &2.
SELECTION-SCREEN END OF LINE.
END-OF-DEFINITION.
SELECTION-SCREEN BEGIN OF BLOCK A0 WITH FRAME TITLE T000.
From Config File
MAKE_RADIOBUTTON_1 RB_1 ALL_DATA SRC AAA.
SELECTION-SCREEN BEGIN OF BLOCK A1 WITH FRAME TITLE T001.
Config file from Presentation server
PARAMETERS: P_FILE1 LIKE T390D-DBNAME MODIF ID FIL. "
SELECTION-SCREEN END OF BLOCK A1.
From database table
MAKE_RADIOBUTTON_2 RB_2 INC_DOWN SRC.
SELECTION-SCREEN END OF BLOCK A0.
AT SELECTION-SCREEN OUTPUT.
IF RB_2 = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'FIL'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
Max -
FISCAL year from Date in the Selection Screen.
Hi Folks,
Is there any function module which returns the Fiscal year if we provide the date in ranges.
I mean, I have a select option for date in the selection screen.So,if a user enters the date say 01042007 01042007 it should return the corresponding fiscal year.
Kindly let me know if anyone here has any idea regarding this.
Thanks,
K.Kiran.Hello,
Check these FM's
FTIS
FTI_FISCAL_YEAR_MONTH_GET
KBPA Budget/Plan - application-specific
KBPA_GET_START_FISCAL_YEAR Determine Start Year for Funds Management
KBPA_GET_START_FISCAL_YEAR_OPT
Vasanth -
Requirement date in ME2O selection screen.
Hi Friends,
I see that requirement date in ME2O selection screen is no where available in the output . Is this equal to PO creation date?Actually in ALV grid list out put, the document date is the Requirement date.
If you analysis the same, you will find the solution.
See I have analysis the same.
In my ME2O transaction, I can see the document date as follow for the Purchase order number
4700048844.
Here the document date is showing 20.12.2011.
When I go to to ME23N to display the PO number 4700048844, I can see the document date is different.
But when I checked the requirement date, then I can see the same date for the PO number. -
Hi Developer,
i have issues that i need stop or restrict the same entries provided in the selection screen parameters it should no display that data but it should give an alert message by saying the data all ready viewed or displayed.
example: organisation :getha pvt.td.
name :ramesh.
start date:10.2.2013.
these are parameter which has been displayed by clicking execute ,if provide the same value to display again it should give waring message.
Please guide me in solve the problem.
thanks.
ravi.Hi Somendra,
Thanks for your response sir , i have provided the according to your provided information sir but it was not displaying the data first time also its giving message which i have provided ,my issues is if i provide data from time should display if i provide same data next time then only it should restrict the data and give a message.
example:
types:BEGIN OF str1,
ROOMNO type zROOMNO,
NAME TYPE zname3,
BRANCH type zBRANCH,
PHONENUMBER type zPHONENUMBER,
END OF str1.
data:it_str1 type TABLE OF str1,
wa_str1 type str1.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME .
skip.
PARAMETERS:s_roomno type ZTABLE_2-roomno.
skip.
parameters:s_name type ztable_2-name.
skip.
PARAMETERS:s_branch type ztable_2-branch.
skip.
PARAMETERS:s_pho type ztable_2-phonenumber.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN.
SELECT roomno
name
branch
phonenumber from ztable_2 into TABLE it_str1
WHERE roomno eq s_roomno and name eq s_name and branch eq s_branch and phonenumber eq s_pho.
READ TABLE it_str1 INTO wa_str1 with KEY roomno = s_roomno name = s_name branch = s_branch phonenumber = s_pho.
if sy-subrc eq 0.
MESSAGE 'THE DATA IS ALL READY VIEWED' TYPE 'E'.
RETURN.
ENDIF.
START-OF-SELECTION.
SELECT roomno
name
branch
phonenumber from ztable_2 into TABLE it_str1
WHERE roomno eq s_roomno and name eq s_name and branch eq s_branch and phonenumber eq s_pho.
loop at it_str1 into wa_str1.
WRITE:/1 wa_str1-roomno,
10 wa_str1-name,
30 wa_str1-branch,
60 wa_str1-phonenumber.
ENDLOOP.
please guide me in solving the issue sir.
thanks,
Ravi -
Problem with selection screen input
my problem is when i enter l2_gr or l1_vbeln or l2_vbeln, in the selection screen, the output should come according to that.I am not getting the correct result.
form summ_report.
data: l2gr like ekbe-belnr.
select fs_plant fv_plant f~r_plant
fl1_sto pl1_delivery p~l1_gr
pl2_sto pl2_delivery p~bsl_err_message
kebeln pl1_pgi p~l2_pgi
into (dochdr-swerks, dochdr-vwerks, dochdr-rwerks,
dochdr-l1sto, docitem-l1xblnr, docitem-l1gr,
docitem-l2sto, docitem-l2xblnr, docitem-err_msg,
tabekko-ebeln, docitem-l1pgi, docitem-l2pgi)
from zdochdr as f inner join zdocitem as p
on fl1_sto = pl1_sto inner join
ekko as k on pl1_sto = kebeln
where f~s_plant in s_werks and
f~v_plant in v_werks and
f~r_plant in r_werks and
f~l1_sto in l1_sto and
p~l1_delivery in l1_xblnr and
p~l1_gr in l1_gr and
p~l2_sto in l2_sto and
p~l2_delivery in l2_xblnr and
k~aedat in s_aedat.
move : dochdr-swerks to final_data-i_swerks,
dochdr-vwerks to final_data-i_vwerks,
dochdr-rwerks to final_data-i_rwerks,
dochdr-l1sto to final_data-i_l1sto,
docitem-l1xblnr to final_data-i_l1xblnr,
docitem-l1gr to final_data-i_l1gr,
docitem-l2sto to final_data-i_l2sto,
docitem-l2xblnr to final_data-i_l2xblnr,
docitem-l2pgi to final_data-i_l2pgi,
docitem-l1pgi to final_data-i_l1pgi,
docitem-err_msg to final_data-i_errmsg.
append final_data.
endselect.
L2 Goods receipt
loop at final_data.
select single belnr from ekbe into l2gr
where ebeln = final_data-i_l2sto and
belnr in l2_gr and
bwart = '101' and
bewtp = 'E' and
vgabe = '1'.
if sy-subrc eq 0.
move l2gr to final_data-i_l2gr.
endif.
leg1 Billing document
select vbeln from vbfa into (tabvbfa-vbeln)
where vbeln in l1_vbeln and vbelv in (final_data-i_l2xblnr,final_data-i_l1xblnr).
select single vbeln from vbrk into tabvbrk-vbeln
where vbeln = tabvbfa-vbeln and fkart = 'IV'.
if sy-subrc eq 0.
move tabvbrk-vbeln to final_data-i_l1vbeln.
endif.
endselect.
leg2 Billing document
select vbeln from vbfa into (tabvbfa-vbeln1)
where vbeln in l2_vbeln and
vbelv in (final_data-i_l2xblnr,
final_data-i_l1xblnr).
select single vbeln from vbrk into tabvbrk-vbeln1 where
vbeln = tabvbfa-vbeln1 and fkart = 'ZTYS'.
if sy-subrc eq 0.
move tabvbrk-vbeln1 to final_data-i_l2vbeln.
endif.
endselect.
<b>if not l2_gr is initial or
not l1_vbeln is initial or
not l2_vbeln is initial.</b> modify final_data.
else.
delete final_data.
endif.
endloop.
endform.
please help....
Thanks,
fractal.I think the code in bold is what you are trying to do.
form summ_report.
data: l2gr like ekbe-belnr.
select f~s_plant f~v_plant f~r_plant
f~l1_sto p~l1_delivery p~l1_gr
p~l2_sto p~l2_delivery p~bsl_err_message
k~ebeln p~l1_pgi p~l2_pgi
into (dochdr-swerks, dochdr-vwerks, dochdr-rwerks,
dochdr-l1sto, docitem-l1xblnr, docitem-l1gr,
docitem-l2sto, docitem-l2xblnr, docitem-err_msg,
tabekko-ebeln, docitem-l1pgi, ocitem-l2pgi)
from zdochdr as f inner join zdocitem as p
on f~l1_sto = p~l1_sto inner join ekko as k
on p~l1_sto = k~ebeln
where f~s_plant in s_werks
and f~v_plant in v_werks
and f~r_plant in r_werks
and f~l1_sto in l1_sto
and p~l1_delivery in l1_xblnr
and p~l1_gr in l1_gr
and p~l2_sto in l2_sto
and p~l2_delivery in l2_xblnr
and k~aedat in s_aedat.
move: dochdr-swerks to final_data-i_swerks,
dochdr-vwerks to final_data-i_vwerks,
dochdr-rwerks to final_data-i_rwerks,
dochdr-l1sto to final_data-i_l1sto,
docitem-l1xblnr to final_data-i_l1xblnr,
docitem-l1gr to final_data-i_l1gr,
docitem-l2sto to final_data-i_l2sto,
docitem-l2xblnr to final_data-i_l2xblnr,
docitem-l2pgi to final_data-i_l2pgi,
docitem-l1pgi to final_data-i_l1pgi,
docitem-err_msg to final_data-i_errmsg.
append final_data.
endselect.
* L2 Goods receipt
loop at final_data.
select single belnr from ekbe
into l2gr
where ebeln = final_data-i_l2sto
and belnr in l2_gr
and bwart = '101'
and bewtp = 'E'
and vgabe = '1'.
if sy-subrc eq 0.
move l2gr to final_data-i_l2gr.
endif.
* leg1 Billing document
select vbeln from vbfa
into tabvbfa-vbeln
where vbeln in l1_vbeln
and vbelv in (final_data-i_l2xblnr,final_data-i_l1xblnr).
select single vbeln from vbrk
into tabvbrk-vbeln
where vbeln = tabvbfa-vbeln
and fkart = 'IV'.
if sy-subrc eq 0.
move tabvbrk-vbeln to final_data-i_l1vbeln.
endif.
endselect.
* leg2 Billing document
select vbeln from vbfa
into tabvbfa-vbeln1
where vbeln in l2_vbeln
and vbelv in (final_data-i_l2xblnr, final_data-i_l1xblnr).
select single vbeln from vbrk
into tabvbrk-vbeln1
where vbeln = tabvbfa-vbeln1
and fkart = 'ZTYS'.
if sy-subrc eq 0.
move tabvbrk-vbeln1 to final_data-i_l2vbeln.
endif.
endselect.
if not <b>final_data-i_l2gr</b> is initial or
not <b>final_data-i_l1vbeln</b> is initial or
not <b>final_data-i_l2vbeln</b> is initial.
modify final_data.
else.
delete final_data.
endif.
endloop.
endform. -
Problem after selection screen -reg
Hi all
My program is not getting executed after giving the selection screen options.
can anybody suggest me what could be the problem was.
Here is my script.
REPORT ZVS_SELECT_FLIGHT .
tables: SFLIGHT.
TYPES: BEGIN OF TY_SFLIGHT,
CARRID LIKE SFLIGHT-CARRID,
CONNID LIKE SFLIGHT-CONNID,
FLDATE LIKE SFLIGHT-FLDATE,
PRICE LIKE SFLIGHT-PRICE,
CURRENCY LIKE SFLIGHT-CURRENCY,
PLANETYPE LIKE SFLIGHT-PLANETYPE,
SEATSMAX LIKE SFLIGHT-SEATSMAX,
SEATSOCC LIKE SFLIGHT-SEATSOCC,
END OF TY_SFLIGHT.
DATA: IT_SFLIGHT TYPE TY_SFLIGHT occurs 1,
WA_SFLIGHT TYPE TY_SFLIGHT.
SELECTION-SCREEN BEGIN OF BLOCK B1 with frame title text-001.
select-options so_carid for sflight-carrid no-extension no intervals
obligatory.
SELECTION-SCREEN END OF BLOCK B1.
loop at it_sflight into wa_sflight.
select * from sflight into CORRESPONDING FIELDS OF wa_SFLIGHT where carrid = so_carid.
append wa_sflight to it_sflight.
endselect.
endloop.
LOOP AT IT_SFLIGHT into WA_SFLIGHT .
write: / wa_sflight-carrid,
wa_sflight-connid,
wa_sflight-fldate,
wa_sflight-price,
wa_sflight-currency,
wa_sflight-planetype,
wa_sflight-seatsmax,
wa_sflight-seatsocc.
endloop.
Thanks in adv
sateeshhi,
there is a mistake in your progrm check the code below.
REPORT ZVS_SELECT_FLIGHT .
tables: SFLIGHT.
TYPES: BEGIN OF TY_SFLIGHT,
CARRID LIKE SFLIGHT-CARRID,
CONNID LIKE SFLIGHT-CONNID,
FLDATE LIKE SFLIGHT-FLDATE,
PRICE LIKE SFLIGHT-PRICE,
CURRENCY LIKE SFLIGHT-CURRENCY,
PLANETYPE LIKE SFLIGHT-PLANETYPE,
SEATSMAX LIKE SFLIGHT-SEATSMAX,
SEATSOCC LIKE SFLIGHT-SEATSOCC,
END OF TY_SFLIGHT.
DATA: IT_SFLIGHT TYPE TY_SFLIGHT occurs 1,
WA_SFLIGHT TYPE TY_SFLIGHT.
SELECTION-SCREEN BEGIN OF BLOCK B1 with frame title text-001.
select-options so_carid for sflight-carrid no-extension no intervals
obligatory.
SELECTION-SCREEN END OF BLOCK B1.
<b>loop at it_sflight into wa_sflight.</b> <b>"remove this</b>
select * from sflight into CORRESPONDING FIELDS OF wa_SFLIGHT where carrid <b>in</b> so_carid.
append wa_sflight to it_sflight.
endselect.
<b>endloop.</b><b> "remove this</b>
LOOP AT IT_SFLIGHT into WA_SFLIGHT .
write: / wa_sflight-carrid,
wa_sflight-connid,
wa_sflight-fldate,
wa_sflight-price,
wa_sflight-currency,
wa_sflight-planetype,
wa_sflight-seatsmax,
wa_sflight-seatsocc.
endloop.
regards,
Navneeth K.
Message was edited by:
Navneeth Bothra -
Need stock on particular date entered on selection screen
I am creating a stock in transit report and need stock on particular date entered by the user on selection screen.How do I calculate stock on a particular date?
same thread...
Re: Stock on a particulare date -
Passing data to dynamic selection screen
Hi Guys ,
I need to pass some field values captured in my report to transaction FBL5N . The problem is that one of the fields which i need to input the value in FBL5N is a dynamic selection in FBL5N and is not in the standard selection screen . How do I pass the value to this field .
Any sort of help would be great .
thanksIf a parameter ID is assigned to the field with dynamic selection in FBL5N, you can pass the value by means of SET PARAMETER ID statement.
Regards,
Renata -
How to get data based on selection screen on the output
Hi Expert,
Can any one tell me based on material number on slection screen correspondind field i.e on selection scren
WERKS,MTART,EKGRP,DISPO,BESKZ,MATNR should also get. i.e if i give mtart on selection screen corresponding to material number mtart shoul get.
NOTE: I HAVE WRITTEN SELECT QUERY FOR TWO TABLES I.E MARA,MBEW.
Below is my code
TABLES:MARA,MARC,MARD.
TYPES: BEGIN OF ty_mbew,
matnr TYPE matnr,
bwkey TYPE werks_d,
lbkum TYPE lbkum,
END OF ty_mbew.
TYPES: BEGIN OF ty_close_stk,
mandt TYPE mandt,
matnr TYPE matnr,
cdate TYPE zwkdate,
bwkey TYPE werks_d,
meins TYPE meins,
zlbkum TYPE lbkum,
WERKS TYPE WERKS, "
MTART TYPE MTART,
EKGRP TYPE EKGRP,
DISPO TYPE DISPO,
BESKZ TYPE BESKZ,
salk3 TYPE salk3,
END OF ty_close_stk.
TYPES: BEGIN OF ty_mbewh,
matnr type matnr,
bwkey type bwkey,
lbkum type lbkum,
lfmon type lfmon,
end of ty_mbewh.
TYPES: begin of wa_matnr,
matnr type matnr,
end of wa_matnr.
dATA : it_matnr type standard table of wa_matnr.
DATA : it_close_stk_del TYPE STANDARD TABLE OF zclose_stock WITH HEADER LINE.
DATA : it_close_stk TYPE STANDARD TABLE OF ty_close_stk,
it_mbew TYPE STANDARD TABLE OF ty_mbew,
wa_close_stk TYPE ty_close_stk,
wa_mbew TYPE ty_mbew,
it_mbewh TYPE STANDARD TABLE OF ty_mbewh, "89286
wa_mbewh TYPE ty_mbewh. "89286
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
89286*********************
SELECT-OPTIONS: WERKS FOR MARD-WERKS, "Plant
MTART FOR MARA-MTART, "Material type
EKGRP FOR MARC-EKGRP, "Purchasing group
DISPO FOR MARC-DISPO, "MRP Controller
BESKZ FOR MARC-BESKZ, "Procurement type
s_MATNR FOR MARA-MATNR. "Material number
************89286***************
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-002.
select MATNR INTO CORRESPONDING FIELDS OF TABLE IT_MATNR
FROM MARA
WHERE MATNR IN S_MATNR.
SELECT matnr
bwkey
lbkum
salk3 "MSK25072011
FROM mbew INTO CORRESPONDING FIELDS OF TABLE it_mbew
WHERE lfgja = fis_year
where matnr in s_matnr
and bwkey in werks.Hi
Perhaps I don't understand yet, but you have several select-options in your selection-screen, every select-options can be assigned to different tables (MARA, MARC, MBEW), so you need to decide if to use a JOIN o single SELECTION in order to get all data in one step or many steps.
IF you need to do several selections, these have to be linked in order to get the data for the records selected in the previous selection, something like that:
SELECT matnr mtart INTO TABLE t_mara
FROM mara
WHERE matnr IN s_matnr
AND mtart IN s_mtart.
IF sy-subrc = 0.
SELECT matnr werks ekgrp INTO TABLE t_marc
FROM marc
FOR ALL ENTRIES IN t_mara
WHERE natnr = t_mara-matnr
AND ekgrp IN s_ekgrp.
IF sy-subrc = 0.
SELECT matnr bwkey lbkum salk3 INTO TABLE t_mbew
FROM mbew
FOR ALL ENTRIES IN t_marc
WHERE matnr = t_marc-matnr
AND bwkey = t_marc-werks.
ENDIF.
ENDIF.
But you can use an single join with all tables
Max -
Do not want key date in the selection screen in query
Hi,
I have made a query for Customer Ageing. I do not want a selection screen- however, i still get a prompt for the 'Key Date'.
Can someone suggest me a workaround?
Many Thanks,
DeepinderHi Deepinder,
Though Key date is not there in the filter area, it is being used in any restrcited key figures in your report. Check all the RKFs used in your report. Also the ones indirectly involved in calculations. May be you are calculating diff between key date and posting date and then used this difference for further calculations.
Either you remove those RKFs if not needed, or in the property of your formula variable uncheck ready for input.
Best Wishes,
Mayank -
Show selected data in a selection screen.
Hi, ABAPers.
I've made a selection screen with a pushbutton which launches a ALV to make a certain selection criteria (based on pairs of two data). Is it there an easy way of showing (via a list, an ALV embeded into the Sel Screen, etc.) the data selected in a way of giving information to the customer.
Thanks in advance for your wise help.
Regards.yes , you can make search help based on your requirements.
1. crate data base view ( make joins of required tables e.g.. kna1, lfa1 ....)
2.Create search help which will call your view.( selection method ( your view)
3. in your program call this search help
DATA: BEGIN OF rp_return OCCURS 0.
INCLUDE STRUCTURE ddshretval.
DATA: END OF rp_return.
PARAMETERS: kunnr TYPE kunnr.
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
tabname = 'KNA1'
fieldname = 'KUNNR'
searchhelp = 'ZSH_your'
TABLES
return_tab = rp_return.
kunnr = rp_return-fieldval. -
Is there any FM to validate the DATE input in selection screen?
Hi Experts,
The Z prog. does hv a field in selection screen, with name of enter_date_as_YYYYMM.
So, user has to enter the vaue(inturn DATE) as YYYYMM, say 200807.
1) So, YYYY valid range shuld be 1960-2099 only, if not, throw ERROR message
2) MM range is obvoiusly 01-12, else ERROR message
3) if user enters July as 7, prog. need to take it as 07
so, instaed of coding to validate these, Is there any FM to meet my requirement?
thanqHi Srinivas,
You can see the sample code mentioned below. It will throw those errors which u mentioned. Even you can change the logic as u required. This is just for your information...
parameters: P_date(6) type n obligatory.
DATA: p_len TYPE i.
at selection-screen.
if ( p_date4(2) lt '01' or p_date4(2) gt '12' ) .
MESSAGE e400(ZCA_GENERAL) WITH 'Date format is wrong enter only YYYYMM'.
elseif ( p_date0(4) lt '1960' or p_date0(4) gt '2099' ).
MESSAGE e400(ZCA_GENERAL) WITH 'Date format ( Year 1960-2099 ) is wrong enter only YYYYMM'.
endif.
Regards,
Naveen Veshala -
How to default date values in Selection Screen
Hi everyone,
I would like to display the 1st day of the previous month into the I_GSTRP-LOW field and the last day of the current month into the I_GSTRP-HIGH field.
For example, this in the 5th month of the year (May), therefore, in the selection screen it should appear like this:
Basic Date: <u>01.04.2006</u> to <u>31.05.2006</u>
How do i do it?
*& SELECTION-SCREEN *
SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS:
I_AUFNR FOR AFIH-AUFNR, "ORDER NUMBER
I_GSTRP FOR AFKO-GSTRP, "BASIC DATE
I_BUDAT FOR AUFM-BUDAT, "POSTING DATE
I_IWERK FOR AFIH-IWERK DEFAULT '6010' OBLIGATORY, "PLANNING PLANT
I_ARBPL FOR CRHD-ARBPL, "WORK CENTER
I_ERNAM FOR AUFK-ERNAM, "CREATED BY
I_MATNR FOR RESB-MATNR, "MATERIAL
I_KTEXT FOR AUFK-KTEXT. "EQUIPMENT
SELECTION-SCREEN END OF BLOCK 1.Here is the code to populate default values,as per your requirement.
data : V_date type sy-datum,
v_month(2) type c,
v_low_value(8) type c,
v_high_value(8) type c,
v_month1(2) type n,
V_NO_OF_DAYS type T009B-BUTAG,
v_curr_month type T009B-BUMON,
v_curr_year type T009B-BDATJ.
select-options : i_gstrp for sy-datum.
initialization.
v_date = sy-datum.
v_month1 = v_date+4(2) - 1.
write v_month1 to v_month.
concatenate v_date+0(4)
v_month
'01'
into v_low_value.
I_GSTRP-LOW = v_low_value.
v_curr_month = sy-datum+4(2).
v_curr_year = sy-datum+0(4).
CALL FUNCTION 'NUMBER_OF_DAYS_PER_MONTH_GET'
EXPORTING
par_month = v_curr_month
par_year = v_curr_year
IMPORTING
PAR_DAYS = V_NO_OF_DAYS
concatenate sy-datum+0(6)
V_NO_OF_DAYS
into v_high_value.
I_GSTRP-HIGH = v_high_value.
I_GSTRP-sign = 'I'.
I_GSTRP-OPTION = 'EQ'.
APPEND I_GSTRP.
regards
srikanth -
Vl10b change delivery date definition on selection screen
Okay - here is the scenario.
I have a custom field that i wish to use as the basis for delivery date fields on the selection screen in VL10B.
The selection screen use the fields VEPVG-LEDAT for the delivery date range. i wish to use my own custom delivery field for the selection.
I have noted that VL10B actually executes VL10X -and VL10X has several user exits that could be applied.
Anyone know how I could accomplish this?
Thank!Fields on selection screen are mere names. You can give any name. In this case its ST_LEDAT .
How they are used inside the program is something you may like to change.
If you do a "find" for ST_LEDAT in program RVV50R10C you will see at how many places this select option is used .
If you want to change the behaviour ( select statements) you can copy the report and modify it.
Cheers
Maybe you are looking for
-
This problem only started when I upgraded to FF 4.0. I am running Windows 7. When I go to the task manager I am able to see the error message in the processes area, if I highlight it and tell the task manager to stop it, FF immediately starts and run
-
NVIDIA Optimus: Can't init X11
I'm trying to install official drivers on Arch and run X11, but no luck so far... Graphic card is Nvidia740M (with intel on-chip gpu) followed the instructions here: https://wiki.archlinux.org/index.php/NVIDIA_Optimus But when starting X11 , I get th
-
Adobe Media Encoder CS4 White Overlay after encoding
For some reason, when converting a .mov to .mp4 in AME, after encoding, the .mp4 video appears to have a white transparent (~50%) overlay after about 3 seconds that persists until the video ends. The beginning looks fine, but the overlay appears and
-
Unknown charecters for polish letters in pdf when generated through RAD.
Hi, I have created a report in Crystal Reports which extracts data from SQL Server database. In crystal report viewer, when i extract to pdf or any other form , i get expected result. When I use this .rpt file in my application which is deployed in
-
After much web browsing searching for solutions, I think I found an answer to the sticky keys leftover from (literally) the drops of fine ale that found its way onto my keyboard. First, take the keys off as described here: http://skeltoac.com/2007/10