Selection-screen design
Hi everyone,
I am working on a project for which I have to design a selection-screen.
The requirement is such that there are 3 obligatory fields to be filled by the user, which are as follows:
P_LAUFD(parameter,obligatory-date),
P_LAUFI(parameter,obligatory-id),
P_FILENM(parameter,obligatory-filename),
P_LOKAAL(checkbox).
The requirement is such that when the user does not check the checkbox the search help for P_FILENM should show the files from the application server,and when it is checked the files from the presentation server should be shown.
The code that I have written is listed below, but there is a problem with it.
When I don't enter anything in the first 2 fields, the search field for the 3rd field functions as required, but if I first enter something in the first 2 fields and then click on the checkbox, the search help for P_FILENM does not function as reaquired.
Please advise.
Also if possible could you'll kindly explain the sequence of events that is getting triggered?
*& Include Z6890_PROJINCLUDE_SEL_SCREEN *
TABLES : SSCRFIELDS.
DATA: FILE LIKE DXFIELDS-LONGPATH.
DATA V_FILENAME LIKE IBIPPARMS-PATH.
DATA: TMP TYPE SSCRFIELDS-UCOMM.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_LAUFD TYPE D OBLIGATORY,
P_LAUFI(6) TYPE C OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
PARAMETERS: P_FILENM(128) TYPE C OBLIGATORY.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 33.
PARAMETER: P_LOKAAL AS CHECKBOX USER-COMMAND SRC.
SELECTION-SCREEN COMMENT 35(6) TEXT-003.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B2.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-004.
PARAMETERS: P_DEL(2) TYPE C .
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(12) TEXT-005 FOR FIELD P_APPL.
SELECTION-SCREEN POSITION 33.
PARAMETERS: P_APPL(3) TYPE C.
SELECTION-SCREEN POSITION 37.
PARAMETERS: P_APDESC(40) TYPE C.
SELECTION-SCREEN END OF LINE.
PARAMETERS: P_MKDT(8) TYPE N,
P_NOINV(6) TYPE N.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(12) TEXT-006 FOR FIELD P_TOAMNT.
SELECTION-SCREEN POSITION 33.
PARAMETERS: P_TOAMNT(13) TYPE N.
SELECTION-SCREEN POSITION 47.
PARAMETERS: P_TEKEN(1) TYPE C.
SELECTION-SCREEN END OF LINE.
PARAMETERS: P_DESC(60) TYPE C.
SELECTION-SCREEN END OF BLOCK B3.
***********************************************************************************************REPORT Z6890_PROJ_REPORT_DRAFT .
DATA: BEGIN OF GW_LINE,
TEXT(700) TYPE C,
END OF GW_LINE.
DATA: GIN_FILE LIKE TABLE OF GW_LINE.
INCLUDE Z6890_PROJINCLUDE_SEL_SCREEN.
AT SELECTION-SCREEN.
CASE SY-UCOMM.
WHEN 'EXEC'.
IF P_LOKAAL = 'X'.
PERFORM MV_DATA_FRM_PRES_INT .
ELSE.
PERFORM OPEN_FILE_ONAPP_SERVER.
ENDIF.
LOOP AT SCREEN.
IF SCREEN-NAME = 'P_DEL'.
SCREEN-INPUT = 0.
SCREEN-OUTPUT = 1.
P_DEL = 'HI'.
ENDIF.
IF SCREEN-NAME = 'P_APPL'.
SCREEN-INPUT = 0.
SCREEN-OUTPUT = 1.
P_APPL = 'CHF'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
WHEN 'BACK'.
LEAVE PROGRAM.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
AT SELECTION-SCREEN OUTPUT.
SET PF-STATUS 'PROJ'.
LOOP AT SCREEN.
IF SCREEN-NAME = 'P_DEL'.
SCREEN-INPUT = 0.
SCREEN-OUTPUT = 1.
ENDIF.
IF SCREEN-NAME = 'P_APPL'.
SCREEN-INPUT = 0.
SCREEN-OUTPUT = 1.
ENDIF.
IF SCREEN-NAME = 'P_APDESC'.
SCREEN-INPUT = 0.
SCREEN-OUTPUT = 1.
ENDIF.
IF SCREEN-NAME = 'P_MKDT'.
SCREEN-INPUT = 0.
SCREEN-OUTPUT = 1.
ENDIF.
IF SCREEN-NAME = 'P_NOINV'.
SCREEN-INPUT = 0.
SCREEN-OUTPUT = 1.
ENDIF.
IF SCREEN-NAME = 'P_TOAMNT'.
SCREEN-INPUT = 0.
SCREEN-OUTPUT = 1.
ENDIF.
IF SCREEN-NAME = 'P_TEKEN'.
SCREEN-INPUT = 0.
SCREEN-OUTPUT = 1.
ENDIF.
IF SCREEN-NAME = 'P_DESC'.
SCREEN-INPUT = 0.
SCREEN-OUTPUT = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_LAUFD.
CALL FUNCTION 'F4_DATE'
EXPORTING
DATE_FOR_FIRST_MONTH = SY-DATUM
DISPLAY = ' '
FACTORY_CALENDAR_ID = ' '
GREGORIAN_CALENDAR_FLAG = ' '
HOLIDAY_CALENDAR_ID = ' '
PROGNAME_FOR_FIRST_MONTH = ' '
IMPORTING
SELECT_DATE = P_LAUFD
SELECT_WEEK =
SELECT_WEEK_BEGIN =
SELECT_WEEK_END =
EXCEPTIONS
CALENDAR_BUFFER_NOT_LOADABLE = 1
DATE_AFTER_RANGE = 2
DATE_BEFORE_RANGE = 3
DATE_INVALID = 4
FACTORY_CALENDAR_NOT_FOUND = 5
HOLIDAY_CALENDAR_NOT_FOUND = 6
PARAMETER_CONFLICT = 7
OTHERS = 8
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILENM.
IF TMP = SSCRFIELDS-UCOMM.
CLEAR SSCRFIELDS-UCOMM.
CLEAR TMP.
ELSE.
SSCRFIELDS-UCOMM = 'SRC'.
ENDIF.
CASE SSCRFIELDS-UCOMM.
WHEN 'SRC'.
TMP = SSCRFIELDS-UCOMM.
CALL FUNCTION '/SAPDMC/LSM_F4_FRONTEND_FILE'
EXPORTING
PATHNAME =
CHANGING
PATHFILE = V_FILENAME
EXCEPTIONS
CANCELED_BY_USER = 1
SYSTEM_ERROR = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
IF SY-SUBRC = 1.
MESSAGE I000(Z6890_PROJ) .
ENDIF.
ENDIF.
P_FILENM = V_FILENAME.
CLEAR SSCRFIELDS-UCOMM.
WHEN OTHERS.
CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'
EXPORTING
I_LOCATION_FLAG = 'A'
I_SERVER = 'ides47_i47_00'
I_PATH = 'D:\usr\sap\'
FILEMASK = '.'
FILEOPERATION = 'R'
IMPORTING
O_LOCATION_FLAG =
O_SERVER =
O_PATH = FILE
ABEND_FLAG =
EXCEPTIONS
RFC_ERROR = 1
ERROR_WITH_GUI = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
P_FILENM = FILE.
CLEAR SSCRFIELDS-UCOMM.
ENDCASE.
*& Form MV_DATA_FRM_PRES_INT
text
--> p1 text
<-- p2 text
FORM MV_DATA_FRM_PRES_INT .
DATA: F_NAME TYPE STRING.
F_NAME = P_FILENM.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = F_NAME
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = ' '
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = GIN_FILE
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF SY-SUBRC = 1.
LEAVE TO LIST-PROCESSING.
WRITE: / 'Error: File could not be opened!'.
MESSAGE I001(Z6890_PROJ) WITH P_FILENM.
ENDIF.
BREAK-POINT.
ENDFORM. " MV_DATA_FRM_PRES_INT
*& Form OPEN_FILE_ONAPP_SERVER
text
--> p1 text
<-- p2 text
FORM OPEN_FILE_ONAPP_SERVER .
ENDFORM.
Hi Piyush,
Add the below code in your program.
*Note: you have to take two parameters for files.
If you select check box then p_pc parameter is visible.
if you dont select check box then p_app parameter is visible.
PARAMETERS: p_chk1 AS CHECKBOX USER-COMMAND rusr.
SELECTION-SCREEN: BEGIN OF BLOCK blk1 WITH FRAME.
PARAMETERS: p_pc LIKE rlgrap-filename MODIF ID abc.
PARAMETERS: p_app LIKE rlgrap-filename MODIF ID def.
SELECTION-SCREEN: END OF BLOCK blk1.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = 'ABC'.
CLEAR: p_pc, p_app.
IF p_chk1 = 'X'.
screen-active = 1.
ELSE.
screen-active = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'DEF'.
CLEAR: p_pc, p_app.
IF p_chk1 <> 'X'.
screen-active = 1.
ELSE.
screen-active = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_app.
PERFORM get_fname_app.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_pc.
CALL FUNCTION 'F4_FILENAME'
IMPORTING
file_name = p_pc.
*& Form get_fname_app
text
FORM get_fname_app.
DATA: c_fnh_mask TYPE dxfields-filemask VALUE '.',
search_dir TYPE dxfields-longpath VALUE '/sapglobal/users',
file_path LIKE dxfields-longpath.
CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'
EXPORTING
i_location_flag = 'A'
i_server = ' '
i_path = search_dir
filemask = c_fnh_mask
fileoperation = 'R'
IMPORTING
o_path = file_path
EXCEPTIONS
rfc_error = 1
OTHERS = 2.
IF sy-subrc EQ 0.
p_app = file_path.
ENDIF.
ENDFORM. "get_fname_app
Similar Messages
-
Using NAST info for selection screen design
Hi
I am doing customization for RFQ printing ( TCODE ME9A)
I want to know can I get the same selection screen as of ME9A using NAST info for my z driver program.
Which function module can be used?
Kindly provide sample code
Regards
HarshadaHi Piyush,
Add the below code in your program.
*Note: you have to take two parameters for files.
If you select check box then p_pc parameter is visible.
if you dont select check box then p_app parameter is visible.
PARAMETERS: p_chk1 AS CHECKBOX USER-COMMAND rusr.
SELECTION-SCREEN: BEGIN OF BLOCK blk1 WITH FRAME.
PARAMETERS: p_pc LIKE rlgrap-filename MODIF ID abc.
PARAMETERS: p_app LIKE rlgrap-filename MODIF ID def.
SELECTION-SCREEN: END OF BLOCK blk1.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = 'ABC'.
CLEAR: p_pc, p_app.
IF p_chk1 = 'X'.
screen-active = 1.
ELSE.
screen-active = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'DEF'.
CLEAR: p_pc, p_app.
IF p_chk1 <> 'X'.
screen-active = 1.
ELSE.
screen-active = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_app.
PERFORM get_fname_app.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_pc.
CALL FUNCTION 'F4_FILENAME'
IMPORTING
file_name = p_pc.
*& Form get_fname_app
text
FORM get_fname_app.
DATA: c_fnh_mask TYPE dxfields-filemask VALUE '.',
search_dir TYPE dxfields-longpath VALUE '/sapglobal/users',
file_path LIKE dxfields-longpath.
CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'
EXPORTING
i_location_flag = 'A'
i_server = ' '
i_path = search_dir
filemask = c_fnh_mask
fileoperation = 'R'
IMPORTING
o_path = file_path
EXCEPTIONS
rfc_error = 1
OTHERS = 2.
IF sy-subrc EQ 0.
p_app = file_path.
ENDIF.
ENDFORM. "get_fname_app -
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 singhhi 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. -
RAR5.3 not able to cut and paste list of users to Multiple Selection screen
CC V4.0 on ABAP system has a feature where you can cut and paste a list of many users from the clipboard to Single Values column in the Multiple Selection screen, so you can run SOD Analysis Report for all those users. The Multiply Selection screen is a standard SAP supplied pop up screen.
With RAR 5.3 the Multiply Selection screen design is different. There is no longer feature to cut and paste from clipboard. We have to input each user one at a time. So if you have many users (20, 30, etc.) it is a time consuming task. It is not acceptable to our business power users.
We can import the list of users to a Custom User Group (in the Configuration Tab). First of all, there is no mass delete on Custom User Group. You have to delete each user one at a time which is time consuming. The alternative is to create a new Custom User Group each time, then it becomes a maintenance nightmare. Secondly, it is in the Configuration Tab which is only available to Administrators (fear of users changing configuation data), so the Administrator (or whomever has access to the Configuration Tab) has to maintain the Custom User Groups which is a lot of work for him or her or them.
We talk to SAP every week. But they are looking at this as a long time project. Does any one of you (or your company) has the same requirements? How do you get around it? Did you setup some other procedures so users can cut and paste the users list and run the Risk Analysis report themselves?
Thanks,
John.This is probably a JVM issue. Are you using JInitiator or the IE native JVM?
I suggest you turn on the JVM console, set the trace level to maximum, and then watch what happens when you attempt the copy.
Also, check the key mapping (usually ctrl-k) that the forms applet is implementing. Perhaps ctrl-c means something else... -
If I do NOT use any event, except AT SELECTION SCREEN, Do I get any issues?
Hi Experts,
Pls. let me know that, If I do NOT use any event, except AT SELECTION SCREEN, Do I/prog. get any issues? (am also using AT SELECTION SCREEN OUTPUT for list box preperation).
For some reason(execution of the report prog. with ENTER button), am using ONLY these 2 events.
For full detials, pls. see my other thread with title,
Is it possible to execute a REPORT prog. with pressing of ENTER button?
thanqHi
srinivas see this program
i am executing this program with out any event it is not showing any error but not giving output
when i put start-of-selection then it is showing output
*& Report ZNNR_REPORT33
REPORT ZNNR_REPORT33 NO STANDARD PAGE HEADING MESSAGE-ID ZNNR LINE-SIZE 100 LINE-COUNT 65(4).
******DATA DECLARATIONS**********
DATA : BEGIN OF IT_PLANT OCCURS 0,
MATNR LIKE MARA-MATNR,
WERKS LIKE MARC-WERKS,
PSTAT LIKE MARC-PSTAT,
EKGRP LIKE MARC-EKGRP,
END OF IT_PLANT.
DATA : BEGIN OF IT_PONO OCCURS 0,
EBELN LIKE EKKO-EBELN,
EBELP LIKE EKPO-EBELP,
MATNR LIKE EKPO-MATNR,
WERKS LIKE EKPO-WERKS,
LGORT LIKE EKPO-LGORT,
END OF IT_PONO.
TABLES EKKO.
********END OF DATA DECLARATIONS*********
********SELECTION SCREEN DESIGN ***********
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETER : P_WERKS LIKE MARC-WERKS MODIF ID S1.
SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN NO INTERVALS MODIF ID S2.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-004.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS : R1 RADIOBUTTON GROUP G1 DEFAULT 'X' user-command uc1.
SELECTION-SCREEN COMMENT 5(20) TEXT-002 FOR FIELD R1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS : R2 RADIOBUTTON GROUP G1.
SELECTION-SCREEN COMMENT 5(20) TEXT-003 FOR FIELD R2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B2.
******END OF SELECTION SCREEN DESIGN****************
***********SCREEN MODIFICATIONS*******************
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF R1 EQ 'X' AND SCREEN-GROUP1 EQ 'S2'.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
IF R2 EQ 'X' AND SCREEN-GROUP1 EQ 'S1'.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
********END OF SCREEN MODIFICATIONS*****************
***************SCREEN VALIDATIONS *****************
at selection-screen.
SELECT SINGLE *
FROM EKKO
INTO EKKO
WHERE EBELN IN S_EBELN.
IF SY-SUBRC <> 0.
SET CURSOR FIELD 'S_EBELN-LOW'.
MESSAGE E999 WITH TEXT-005.
clear S_ebeln-low.
ENDIF.
********end of screen validation*****************
IF R1 EQ 'X'.
*ULINE AT /1(48).
WRITE : SY-VLINE ,2 'MATERIAL NUMBER',
21 SY-VLINE , 22 'PLANT',
27 SY-VLINE , 28 'STATUS',
43 SY-VLINE , 44 'GRUP', 48 SY-VLINE.
ULINE AT /1(48).
ENDIF.
IF R2 EQ 'X'.
WRITE : SY-VLINE , 2 'PO NUMBER',
12 SY-VLINE, 13 'ITEM',
18 SY-VLINE,19 'MATERIAL NUMBER',
37 SY-VLINE, 38 'PLANT',
44 SY-VLINE, 45 'GRUP',
49 SY-VLINE.
ULINE AT /1(50).
ENDIF.
start-of-selection.
*set pf-status '100'.
IF R1 EQ 'X'.
SELECT MATNR
WERKS
PSTAT
EKGRP
FROM MARC
INTO TABLE IT_PLANT
WHERE WERKS = P_WERKS.
LOOP AT IT_PLANT.
WRITE : SY-VLINE , 2 IT_PLANT-MATNR COLOR COL_KEY,
21 SY-VLINE , 22 IT_PLANT-WERKS COLOR COL_KEY,
27 SY-VLINE ,28 IT_PLANT-PSTAT COLOR COL_NORMAL,
43 SY-VLINE ,44 IT_PLANT-EKGRP COLOR COL_NORMAL.
ENDLOOP.
ENDIF.
IF R2 EQ 'X'.
SELECT EBELN EBELP MATNR WERKS LGORT
FROM EKPO
INTO TABLE IT_PONO
WHERE EBELN IN S_EBELN.
LOOP AT IT_PONO.
WRITE : SY-VLINE , 2 IT_PONO-EBELN COLOR COL_KEY,
12 SY-VLINE , 13 IT_PONO-EBELP COLOR COL_KEY,
18 SY-VLINE , 19 IT_PONO-MATNR COLOR COL_NORMAL,
37 SY-VLINE , 38 IT_PONO-WERKS COLOR COL_NORMAL,
44 SY-VLINE , 45 IT_PONO-LGORT COLOR COL_NORMAL, 49 SY-VLINE..
ENDLOOP.
ENDIF.
ULINE AT /1(50).
WRITE :/10 'PAGE NUMBER', SY-PAGNO, '/' ,SY-PAGNO.
ULINE AT /1(50).
WRITE :/10 'PAGE NUMBER', SY-PAGNO. -
Collective search on the Select-options field on the selection screen
Hello experts,
I have a Y program and a selection screen for it. I have to get the BKPF-BELNR in the search help list. Since the table is too bulky to get all the documents form it. I thought I might need a condition of company code for fetching the documents. I have company code on the selection screen, but if I press F4, on the BELNR, my select-options internal table for <b>company code</b> is remains initial. I think for F4 events the values doesn't get populated in the internal tables, not sure.
Can you tell me, how to get the company code entered on the selection screen, on the F4 event. Or If this doesn't work, will collective search help solve my problem? If yes, Please let me know, which function module I can use to add a collective search to my select-options on the selection screen.
Thanks,
Ganesh Khumse.
Points will be rewarded!Hi
do like this
TYPES : BEGIN OF ST_OBJID_SH,
OTYPE TYPE HRP1000-OTYPE,
OBJID TYPE HRP1000-OBJID,
END OF ST_OBJID_SH.
DATA : IT_OBJID_SH TYPE STANDARD TABLE OF ST_OBJID_SH.
DATA : WA_OBJID_SH TYPE ST_OBJID_SH.
***********SELECTION SCREEN DESIGN***********************
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
*SELECT-OPTIONS : S_OTYPE FOR HRP1001-OTYPE NO INTERVALS .
SELECT-OPTIONS : S_OBJID FOR HRP1001-OBJID NO INTERVALS .
SELECT-OPTIONS : DATE FOR SY-DATUM NO-EXTENSION OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B1.
**********END OF SELECTION SCREEN DESIGN*****************
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_OBJID-LOW.
IF S_OBJID IS NOT INITIAL.
SELECT OTYPE OBJID FROM HRP1000
INTO TABLE IT_OBJID_SH
WHERE OTYPE = 'D'.
IF SY-SUBRC EQ 0.
SEARCH HELP FOR QUALIFICATION.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
RETFIELD = 'OBJID'
PVALKEY = ' '
DYNPPROG = SY-REPID
DYNPNR = SY-DYNNR
DYNPROFIELD = 'S_OBJID'
STEPL = 0
WINDOW_TITLE =
VALUE = ' '
VALUE_ORG = 'S'
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
MARK_TAB =
IMPORTING
USER_RESET =
TABLES
VALUE_TAB = IT_OBJID_SH
FIELD_TAB =
RETURN_TAB = RETURN_TAB
DYNPFLD_MAPPING =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF. -
Regarding selection screens in alv.
Hi experts,
SELECTION-SCREEN COMMENT 01(31) text-026 for field rastbis1.
what is meant by this statement, and what is meant by 01(31) after comment.HI
SELECTION-SCREEN COMMENT 01(31) text-026 for field rastbis1
this statment means that
for filed RASLBIS! put TEXT-026 as the comment at location starting at 01 loaction and up to 31 location
after this statment for that filed from 01 location to 31 you can write any comment
it will display on the screen
see this example
for radiobuttons normally the text will display before and next button
i had changed that button first and text next like this
REPORT ZNNR_REPORT NO STANDARD PAGE HEADING MESSAGE-ID ZNNR LINE-SIZE 100 LINE-COUNT 65(4).
******DATA DECLARATIONS**********
DATA : BEGIN OF IT_PLANT OCCURS 0,
MATNR LIKE MARA-MATNR,
WERKS LIKE MARC-WERKS,
PSTAT LIKE MARC-PSTAT,
EKGRP LIKE MARC-EKGRP,
END OF IT_PLANT.
DATA : BEGIN OF IT_PONO OCCURS 0,
EBELN LIKE EKKO-EBELN,
EBELP LIKE EKPO-EBELP,
MATNR LIKE EKPO-MATNR,
WERKS LIKE EKPO-WERKS,
LGORT LIKE EKPO-LGORT,
END OF IT_PONO.
TABLES EKKO.
********END OF DATA DECLARATIONS*********
********SELECTION SCREEN DESIGN ***********
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETER : P_WERKS LIKE MARC-WERKS MODIF ID S1.
SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN NO INTERVALS MODIF ID S2.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-004.
SELECTION-SCREEN BEGIN OF LINE.
<b>PARAMETERS : R1 RADIOBUTTON GROUP G1 DEFAULT 'X'.
SELECTION-SCREEN COMMENT 5(20) TEXT-002 FOR FIELD R1.</b>
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
<b>PARAMETERS : R2 RADIOBUTTON GROUP G1.
SELECTION-SCREEN COMMENT 5(20) TEXT-003 FOR FIELD R2.</b>
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B2.
******END OF SELECTION SCREEN DESIGN****************
<b>Rewar dif usefull</b> -
Selection Screen Layout.
Hi,
I need to layout a selection screen like the one below:
RadioButton1
Parameter1
Select-Option1
RadioButton2
RadioButton3
Items (Parameter1 and Select-Option1) should be disabled when RadioButton1 is not selected.
I cant quite figure out how i would insert (Parameter1 and Select-Option1) between RadioButton1 and 2. I dont want to waste precious time to do research for this, so I opted to ask the experts(you..).
Thanks,
FrankHi
*& Report ZNNR_SAMPLE22
REPORT ZNNR_SAMPLE22 NO STANDARD PAGE HEADING MESSAGE-ID ZNNR LINE-SIZE 100 LINE-COUNT 65(4).
******DATA DECLARATIONS**********
DATA : BEGIN OF IT_PLANT OCCURS 0,
MATNR LIKE MARA-MATNR,
WERKS LIKE MARC-WERKS,
PSTAT LIKE MARC-PSTAT,
EKGRP LIKE MARC-EKGRP,
END OF IT_PLANT.
DATA : BEGIN OF IT_PONO OCCURS 0,
EBELN LIKE EKKO-EBELN,
EBELP LIKE EKPO-EBELP,
MATNR LIKE EKPO-MATNR,
WERKS LIKE EKPO-WERKS,
LGORT LIKE EKPO-LGORT,
END OF IT_PONO.
TABLES EKKO.
********END OF DATA DECLARATIONS*********
********SELECTION SCREEN DESIGN ***********
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS : R3 RADIOBUTTON GROUP G1 DEFAULT 'X' USER-COMMAND UC1.
SELECTION-SCREEN COMMENT 5(20) TEXT-002 FOR FIELD R3.
SELECTION-SCREEN END OF LINE.
PARAMETER : P_WERKS LIKE MARC-WERKS MODIF ID S1.
SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN NO INTERVALS MODIF ID S1.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS : R1 RADIOBUTTON GROUP G1.
SELECTION-SCREEN COMMENT 5(20) TEXT-002 FOR FIELD R1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS : R2 RADIOBUTTON GROUP G1.
SELECTION-SCREEN COMMENT 5(20) TEXT-003 FOR FIELD R2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B1.
******END OF SELECTION SCREEN DESIGN****************
***********SCREEN MODIFICATIONS*******************
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF R3 EQ 'X' AND SCREEN-GROUP1 EQ 'S1'.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
********END OF SCREEN MODIFICATIONS*****************
execute this one -
Selection screen packed entries
Hi ,
i want to add a packed number in the standard selection screen designed by me.i used the below code but i want to restrict the integer value of the packed number to 3 places.
like i should allow to enter values of format XXX.X and only 5 chars
SELECTION-SCREEN BEGIN OF line.
SELECTION-SCREEN COMMENT 1(9) text-012.
parameters: Packed TYPE p decimals 1 modif id sc1 .
SELECTION-SCREEN END OF line.
how to do this..
thanks,
Vinayif u use char 5 then u have to do lot of validations for ex: say user enters decimals point twice.
Here is another solution:
SELECTION-SCREEN BEGIN OF line.
SELECTION-SCREEN COMMENT 1(9) text-012.
parameters: Packed(3) TYPE p decimals 1 modif id sc1.
SELECTION-SCREEN END OF line.
at selection-screen.
data:l_val type i.
if Packed is not initial.
l_val = Packed.
if l_val > 1000.
message e303(me) with 'Wrong format, enter in this format:(___._)'.
endif.
endif.
Regards,
Joy. -
Designing the table grid in subscreen in a selection screen..
Hi all,
Actually my requirement is there is a check box in the selection screen,If its checked then we have to display a subscreen with the details
"Emp type" "Empname" "Monthly" "Yearly"
PM Glen 50000 600000
SM Cross 40000 480000
TM Mary 40000 480000
GM Hary 60000 720000
should be dislayed as a table grid.
I have designed the screen but its not possible to give the headers
"Emp type" "Empname" "Monthly" "Yearly"
Can anyone solve this issue for me..Thanks in advanceI know to call the window but my problem is
I have defined subscreen as:
SELECTION-SCREEN BEGIN OF SCREEN 300 AS WINDOW.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-030.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS : c_air AS CHECKBOX MODIF ID sss USER-COMMAND ucom.
SELECTION-SCREEN COMMENT 4(18) text-003 FOR FIELD p_air.
PARAMETERS : p_air TYPE vbak-vbeln MODIF ID sss .
**SELECTION-SCREEN COMMENT 34(10) text-004 FOR FIELD p_air1.
**It is not accepting this
PARAMETERS : p_air1 TYPE p DECIMALS 2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b3.
SELECTION-SCREEN END OF SCREEN 300.
i am able to see one comment but can i display more than one comment -
How to design selection screen with WAD 3.x Web Items
Hi Guruu2019s,
I have a requirement where I need to design a selection screen by using WAD 3.x web items. In the selection screen we have to include the Query Description - in the left corner of the selection screen, Name of Sales Person u2013 left side of the screen, Date from and Date to u2013 right side of the selection screen, User ID and User Name u2013 on the top right of the selection screen etc., after this on the bottom of the selection screen I have to include the pushbutton RUN REPORT.
After filling all the above parameters and click on Run Report it has to trigger another URL link which contains consolidated Sales CRM Report.
Could any one suggest me and provide me the idea on developing the selection screen with WAD 3.x Web items and is there any other interface to trigger the other URL link when I click on Run Report.
Regards
Venkatno replies. Closing the incident
-
Query Selection Screen in Report Designer/WAD
Hi Gurus,
Please help. Iam try to copy two BEx queries into one report using Report Designer & Web Application Designer. Iam sucessfull in it, however when I execute the report either by report designer or WAD, the report does not populate the selection screen, it just gives you the output of the two queires into one page. Is there a pre-settings we need to perform to get the selection screen for each of this report?
Thanks!Hi,
Front-end upgrade will not help in this case. This feature "Display Variable Screen [VARIABLE_SCREEN]" was introduced in SP8 backend. You need SP8 backend to be able to use it.
You will find this setting in "Properties" -> "Web Template" (in combo box) -> "Web Template Parameters" -> "Behaviour" -> "Display Variable Screen"
This setting is defined in metadata and required an implementation on Java side (also SP8 required)
Regards, Karol Kalisz
SAP BI Development -
F4 help for the selection screen field designed in screen painter
Hi all,
I have designed selection screen in the screen painter. in that for one of the fields i have to give f4 help. for that i have writter the code in PAI event. in this event i have used the standard Function module for f4 help. but no f4 help is comming for that field. can any body suggest what i have to do.
Thanks & Regards,
Giri.Hi,
You must use the correct event to meet ur requirement use POV event instead of PAI event.
for more clarification and example program see below the demo program
DEMO_DYNPRO_F4_HELP_DYNPRO
DEMO_DYNPRO_F4_HELP_MODULE
Cheers
fareed -
Problem in designe selection screen
Hi Experts,
i have to design a selection screen like
Month -> january to sepetmber
tear -> 2005 to current year
i am using the field delivery_date for this purpose(which has no data element). the field is dats and lenth 8 it contains value like 01.01.2005.
how could i make this possible. please hep me out.
Thank you for the help.Hi,
You can use VRM_SET_VALUES for this requirement.
Thanks & Regards,
Vamsi. -
How can we design a selection screen.
a.select-option / Purchase document number
b.provide F1 help for the field.SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_EBELN FOR ekko-EBELN.
SELECTION-SCREEN END OF BLOCK b1.
F1 help will be automatucally provided.
Maybe you are looking for
-
Update Z table from Custom pop up screen
Hi All, I need to enhance CC01 transaction. CC01 is used to create Change Numbers. My requirement is when Profile(Input field in CC01) is entered into initial screen of CC01 and enter key is hit, a custom pop up screen should be raised. This pop up
-
MSI 6667BB-003US Sees 16GB Compact Flash Card as 34MB
I just got a MSI 6667BB-003US nettop from Newegg and am trying to use the onboard compact flash slot. I got a 16GB Kingston compact flash card to use with this computer but the computer only sees it as 34MB. The BIOS doesn't give me any options to ch
-
Updated Final Cut Pro X won't let me open old projects
Final Cut Pro X wasn't launching, so I updated it to the latest version. Now it's opening, but it won't let me open my old projects, and when I try to update my old projects to the new version, the app crashes. What do I do?
-
Is my MBP fry? please Help!
I think I fry my early 2008 MBP I have ask at the mac forum but my question is on page 5 after only 16 hours and 0 answer. I have rely on the technical advise of many of you before I know you are capable and helpful. Here it goes: Yesterday was a bad
-
Transpose columns and rows / Switch columns and rows
Hello, Is it possible to interchange columns and rows in order to create a left-to-right scrolling table instead of a top-to-bottom scrolling one? In detail: I have this: | col 1 | col 2 | col 3 row 1 | | | row 2 | | | r