Problem in selection screen because of GEN_SELECTION_SCREEN_ERROR error
Hi Experts,
I have one strange problom in selection screen.
here is my code..for selection screen.
Report Z_TEST_BEGINOF_ENDOF.
SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 1(25) Matname.
SELECT-OPTIONS: S_MATNR FOR MARD-MATNR.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: SKIP.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 1(25) STOGE.
SELECT-OPTIONS: S_WERKS FOR MARD-WERKS.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: SKIP 2.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 1(60) ABCD.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: END OF BLOCK B1.
it is working fine for select options using begin of line and end of line in block of selection screen.
if go for 2 select options in same begin of line and end of line or if go for *AT SELECTION-SCREEN ON HELP-REQUEST FOR S_MATNR event it is not activating my program .
That time it is showing one popup say "
Generation Error
Generation errors in program
source code dummy Line 10
Error when generating the selection screen "1000" of report "Z_TEST_BEGINOF_ENDOF
1.But i need to display range values for mard-matnr in selection screen and i have to maintaine HELP-REQUEST for S_MATNR field.
2.How can we display range in same line using parameters statement.
Note:"It is working fine in ecc6.0 with 2 select options in begin of line and end of line but it is not supporting at-selection help request event.In 4.6c(current system) both conditions are not working" .
Please any one help me.
Thanks
Nag
Edited by: nagraju102 on Sep 23, 2009 6:25 AM
If you are on 4.6c , you cannot use two select-options within the same selection-screen begin of line and end of line. It will throw the screen generation error which you mentioned. Convert the select options to parameters if you want two parameters fields in the same line and change your code this way
Report Z_TEST_BEGINOF_ENDOF.
SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN: COMMENT 1(25) Matname.
SELECT-OPTIONS: S_MATNR FOR MARD-MATNR.
SELECTION-SCREEN: SKIP.
SELECTION-SCREEN: COMMENT 1(25) STOGE.
SELECT-OPTIONS: S_WERKS FOR MARD-WERKS.
SELECTION-SCREEN: SKIP 2.
SELECTION-SCREEN: COMMENT 1(60) ABCD.
SELECTION-SCREEN: END OF BLOCK B1.
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 -
Problem with Selection screen values of an authorization variable
hi Gurus,
I have an authorization variable for Division in my queries....Now whenever a user tries to run the query...a list of divisions is available to him....All divisions for which he/she has proper roles assigned.
Now the problem is that these values are not restricted to the ones relevant to that query (namely the multi provider)
Eg. for a Flowers Query (divisions relevant to Flowers only) all the divisions (including the ones for Vegetables, Crops etc.) are also visible only because these roles are also assigned to the same user. This needs to be avoided.
In a nutshell....
Is their any way by which i can restrict the number of values popping up for an authorization variable in the selection screen, to only those values which are relevant to the info-provider on which the queries are based ???hi Deepu,
I did go through that SAP note. I just have one concern regarding that. The check at the Info provider level is clear enough and i already have that in place. Now there are 2 more checks required a) at the info object level and b) at the BEX designer level.
Are all three checks required???
and also how do you place the check at the BEX level??? i could not quite figure that one out...
Any inputs would be welcome.
Thanks,
Nikhil -
Selection screen comment..getting error...!
Hi..,
My code:
SELECTION-SCREEN COMMENT 80(2) text-027
Error Which I am getting with above syntax:
The specified offset "80" is too large (maximum:79)
Q: How to slove this? and here I need that text 27 is in greater than 80th position only.
Thanks,
Naveen.I>
Avinash Kodarapu wrote:
> The maximum length to display text on the selection screen is 80 chars.
No, You can exceed this limit.I'm able to display the screen text upto 83.
>
Gautham Vangaveti wrote:
> I think it is possible only upto 79.
Which version you are in?
>
Naveen Inuganti wrote:
> So we can'nt able to adjust the screen offset here?
No, you can set offset upto 83 position.
Just run this below code:
REPORT test.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 83(2) text-005."I have 'To' in text-005 and make sure length is 2
PARAMETERS: p_li AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF LINE.
>
Sathish Reddy wrote:
> if you use comment statement with in the frame then you can't exceed 79.
> if you use comment statement with in line then you can't exceed 83.
That's true. -
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 -
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. -
Problem in selection screen validation.
Hi All,
I am having the following in the selection screen:
PARAMETERS : p_r1 RADIOBUTTON GROUP grp DEFAULT 'X' USER-COMMAND dlvy,
p_r2 RADIOBUTTON GROUP grp .
SELECTION-SCREEN BEGIN OF BLOCK b1 with frame title text-001.
SELECT-OPTIONS: s_vbeln FOR lips-vbeln MODIF ID dly.
SELECT-OPTIONS: s_lfart FOR likp-lfart OBLIGATORY MODIF ID dly.
SELECT-OPTIONS: s_vstel FOR likp-vstel MODIF ID dly.
SELECT-OPTIONS: s_matnr FOR lips-matnr MODIF ID dly.
SELECT-OPTIONS: s_wadat FOR likp-wadat OBLIGATORY MODIF ID dly.
SELECT-OPTIONS: s_wbsta FOR vbup-wbsta MODIF ID dly.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 with frame title text-002.
SELECT-OPTIONS: s1_matnr FOR lips-matnr MODIF ID mat.
SELECT-OPTIONS: s_extwg FOR mara-extwg MODIF ID mat.
SELECT-OPTIONS: s_werks FOR marc-werks MODIF ID mat.
SELECTION-SCREEN END OF BLOCK b2.
If I choose Radio Button 1, only option 1 should be triggered,
If I choose Radio Button 2, only option 2 should be triggered,
For this I have:
AT SELECTION-SCREEN OUTPUT.
IF p_r1 = 'X'.
blk_hide = 'MAT'.
blk_show = 'DLY'.
ELSE.
blk_hide = 'DLY'.
blk_show = 'MAT'.
ENDIF.
LOOP AT SCREEN.
IF screen-group1 = blk_hide.
screen-active = 0.
ELSE.
IF screen-group1 = blk_show.
screen-active = 1.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
Now I need to validate the selection Screen, I am facing issue in doing selection screen validation:
Can any one help me in how to go about this?
Thanks,
Debrup.pls. replace the AT SELECTION-SCREEN OUTPUT event with this one:
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
CASE 'X'.
WHEN p_r1.
CASE screen-group1.
WHEN 'DLY'.
screen-active = '1'.
WHEN 'MAT'.
screen-active = '0'.
ENDCASE.
WHEN p_r2.
CASE screen-group1.
WHEN 'DLY'.
screen-active = '0'.
WHEN 'MAT'.
screen-active = '1'.
ENDCASE.
ENDCASE.
MODIFY SCREEN.
ENDLOOP. -
Problem in selection screen of y-report.
Hi ALL,
I have modify a y-report and add one parameter to selection screen. Earlier there was only two parameter, now it becomes three. In developement and quality servers it is showing all three parameters and report is running perfectly OK. But when I traport it into production server, third parameter which I added later is not showing, only old one is showing. But when I see the code in production server then in code it is showing that third parameter but when I execute report then only two are showing. Wht shd I do? Kindly suggest.
Regards,
Rajesh VasudevaHi Rajesh,
You are saying that new selection parameter has been added while you add the parameter in the report at that time when you are saving the request number to which you have assign has to be transported then only it works.
And it is showing in the QAS since the previous request which is been created for 2 parameters might be present in the QAS and the same transported to PRO check back the transport request will resolve your issue.
Cheers!!
VEnk@ -
Problem in Selection Screen for Bex
Hi All,
I am encountering a surprising scenario. One query that we had developed is working from my id. But from one user in the selection screen two characteristics are not being shown, Yet in the spreadsheet it shows that it has put restrictions on those two characteristics. I am not sure why its happening like that.
Could someone please guide me on this.
Thanks in advance.
Regards.Hi Saugata,
This may be due to the fact that this user has set the personalized values for these chars... ask the user to run the query and then in the BEx toolbar ask him to click on Change button > Change variable values. This will bring up all the variables and then the user can delete the personalization that has been set.
Hope this helps... -
I have a first parameter which is P_PERNR,
IF I enter It and I push enter the others parameters assigned.
I want the others parameters to be avalaible to modify.
If I use AT SELECTION-SCREEN OUTPUT fto assign the fields :
I can modify them but if I push enter they are overwrited by the fields selected with P_PERNR
If I use AT SELECTION-SCREEN ON P_PERNR to assign the fields :
I can modify them but if I change the parameter P_PERNR I doesn't overwrite the others parameters with the new fields selected with P_PERNR.
Could you help me please?
I joined a copy of my code.
Thanks and regards
AT SELECTION-SCREEN ON p_pernr.
IF NOT p_pernr IS INITIAL.
SELECT SINGLE pernr FROM pa0003
INTO pa0003-pernr
WHERE pernr EQ p_pernr.
IF sy-subrc NE 0.
MESSAGE e319(01) WITH text-e01 p_pernr text-e02.
ENDIF.
Vérification de l'existence du NT user
CLEAR w_userid.
SELECT usrid UP TO 1 ROWS
FROM pa0105
INTO w_userid
WHERE subty EQ '0003'
AND pernr EQ p_pernr
AND endda GT sy-datum.
ENDSELECT.
IF sy-subrc NE 0.
MESSAGE e319(01) WITH text-e01 p_pernr text-e03.
ENDIF.
Vérification de l'existence de l'addresse mail
CLEAR p_mail.
SELECT usrid_long UP TO 1 ROWS
FROM pa0105
INTO p_mail
WHERE subty EQ '0010'
AND pernr EQ p_pernr
AND endda GT sy-datum.
ENDSELECT.
IF sy-subrc NE 0 OR p_mail IS INITIAL.
MESSAGE e319(01) WITH text-e08 text-e09.
ENDIF.
ELSE.
MESSAGE e319(01) WITH text-e04.
ENDIF.
*AT SELECTION-SCREEN OUTPUT.
SELECT nachn vorna UP TO 1 ROWS
FROM pa0002
INTO (p_nachn, p_vorna)
WHERE pernr = p_pernr.
ENDSELECT.
IF sy-subrc NE 0.
CLEAR p_nachn.
CLEAR p_vorna.
ENDIF.
SELECT usrid_long UP TO 1 ROWS
FROM pa0105
INTO p_mail
WHERE pernr = p_pernr
AND subty = '0010'
AND endda GT sy-datum.
ENDSELECT.
IF sy-subrc NE 0.
CLEAR p_mail.
ENDIF.
Détermination de la start date et de la last date pour l'affectation des roles
Ici cette détermination provisoire ne sert qu'à l'affichage.
SELECT begda endda UP TO 1 ROWS
FROM pa0001
INTO (p_begda, p_endda)
WHERE pernr = p_pernr
ORDER BY begda DESCENDING.
ENDSELECT.
Si la date de début est dans le passé on fixe la date de début en date du jour
IF p_begda LT sy-datum AND NOT p_begda IS INITIAL.
MOVE sy-datum TO p_begda.
ENDIF.
END-OF-SELECTION.With this following FM call I don't catch the informations.
Do you know why ?
Thanks and regards.
AT SELECTION-SCREEN ON p_pernr.
*AT SELECTION-SCREEN output.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
translate_to_upper = ' '
request = ' '
perform_conversion_exits = ' '
perform_input_conversion = ' '
determine_loop_index = ' '
TABLES
dynpfields = wt_dynp
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
OTHERS = 11.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF. -
Problem during selection screen
Dear all,
I have to put defaul value in selection screen,so I have calculated in initialization event.Following are the code:
INITIALIZATION.
CALL FUNCTION 'K_PERIOD_GET_FOR_DATE_KOKRS'
EXPORTING
KOKRS = '9000'
DATE = SY-DATUM
IMPORTING
PERIO = V_PERIO
GJAHR = V_GJAHR
EXCEPTIONS
KOKRS_NOT_FOUND = 1
DATE_INVALID = 2
OTHERS = 3.
and in selection screen I have written like that :
SELECT-OPTIONS SO_GJAHR FOR ZZF08_EPL-GJAHR OBLIGATORY DEFAULT V_GJAHR.
SELECT-OPTIONS SO_MONAT FOR ZZF08_EPL-MONAT OBLIGATORY DEFAULT V_PERIO.
But at the time of execution it is not showing any default value in select option.
Regards,
AmarHi,
Try this.
SELECTION-SCREEN begin of BLOCK A.
SELECT-OPTIONS SO_GJAHR FOR ZZF08_EPL-GJAHR OBLIGATORY .
SELECT-OPTIONS SO_MONAT FOR ZZF08_EPL-MONAT OBLIGATORY .
SELECTION-SCREEN END OF BLOCK A.
INITIALIZATION.
CALL FUNCTION 'K_PERIOD_GET_FOR_DATE_KOKRS'
EXPORTING
KOKRS = '9000'
DATE = SY-DATUM
IMPORTING
PERIO = V_PERIO
GJAHR = V_GJAHR
EXCEPTIONS
KOKRS_NOT_FOUND = 1
DATE_INVALID = 2
OTHERS = 3.
SO_GJAHR-sign = 'I' .
SO_GJAHR-option = 'BT'.
SO_GJAHR-low = V_GJAHR.
SO_GJAHR-high = V_GJAHR.
append SO_GJAHR.
SO_MONAT -sign = 'I' .
SO_MONAT -option = 'BT'.
SO_MONAT -low = V_PERIO.
SO_MONAT -high = V_PERIO.
append SO_MONAT .
Regards,
Sravani. -
Problem with selection-screen of program RFEBKA00
Hi,
When i execute the program RFEBKA00, some the text appear weir, or better, some texts does not appear... Like it misses some translation or something, but i check the data elements of the fields and everything is fine...
Does anybody have any idea of what is happening?
Best Regards,
Luís SilvaHi Luis Silva,
I've the same problem.
How do you do to resolve the problem?
Thanks in advance.
Luigi Massa -
"Get Variants" button disabled after error message in AT SELECTION SCREEN
Hi,
In "AT SELECTION SCREEN" I throw an error message if certain criteria return no data.
After the error message is thrown, the button for choosing variants no longer appears to work. I click it and the variant selection box doesn't come up. It just changes the values that have been populated from red to black.
What is the code that remedies this? If an error is thrown, it should allow you to select a variant still.
Thanks,
Kevin"AT SELECTION SCREEN" is not an option here. Let me clarify.
In START-OF-SELECTION, I call another program with a SUBMIT statement. That program uses a logical database. So it makes no sense to move this to "AT SELECTION SCREEN". Even when I did that, I still couldn't solve this problem.
If the SUBMIT statement returns no data (if sy-subrc = '4') then I need to go back to the initial screen. I need to display some kind of message, of type I or E or S, I don't care.
It just needs to go back to the selection screen and VARIANTS need to WORK, and you need to be able to SAVE the variants.
For some reason, if I get no data with the SUBMIT statement, I can display a message and get back to the selection screen but variants do not work. I've tried EXIT, STOP, CALL SELECTION SCREEN 1000 (the only one in the program), END LIST-PROCESSING, etc. NOTHING WORKS! -
Selection screen radio buttons problem
How enable and disable the radio button in selection screen?
Hi Ram,
Try using the below code it may useful for solving your problem .
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-014.
SELECT-OPTIONS kunnr FOR komg-kunnr.
SELECT-OPTIONS waerk FOR komg-waerk MODIF ID def .
SELECT-OPTIONS pltyp FOR komg-pltyp MODIF ID abc.
SELECT-OPTIONS matnr FOR komg-matnr MODIF ID abc.
SELECT-OPTIONS vkorg FOR a007-vkorg MODIF ID jkl.
SELECT-OPTIONS vtweg FOR a007-vtweg MODIF ID jkl.
SELECT-OPTIONS spart FOR a007-spart MODIF ID jkl.
PARAMETERS datum LIKE rv12l-datint DEFAULT sy-datum.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-015.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS:r3 RADIOBUTTON GROUP g1 DEFAULT 'X' USER-COMMAND ucom.
SELECTION-SCREEN COMMENT 10(20) text-018.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS:r1 RADIOBUTTON GROUP g1.
SELECTION-SCREEN COMMENT 10(20) text-016.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS:r2 RADIOBUTTON GROUP g1.
SELECTION-SCREEN COMMENT 10(20) text-017.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS:r4 RADIOBUTTON GROUP g1.
SELECTION-SCREEN COMMENT 10(20) text-022.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b2.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF r1 EQ 'X'.
IF screen-group1 = c_jkl.
screen-input = 0.
screen-invisible = 1.
ENDIF.
ENDIF.
IF r2 EQ 'X'.
IF screen-group1 = c_def OR screen-group1 = c_jkl.
screen-input = 0.
screen-invisible = 1.
ENDIF.
ENDIF.
IF r3 EQ 'X'.
IF screen-group1 = c_abc OR screen-group1 = c_def.
screen-input = 0.
screen-invisible = 1.
ENDIF.
ENDIF.
IF screen-group1 = c_ghi.
screen-input = 0.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
Regards,
Jana
Maybe you are looking for
-
Hi everyone. I had an itunes account for my classic and a few months ago wanted to add my daughters ipod to it. it told me when i pluged hers in 2 ipods could not use the same account and asked me if i wanted it to link her ipod and delete the curren
-
How do I dispute a copyright claim against a video i made using a trailer in iMovie? The only content I used was the video I shot of friends daughter on a merry-go-round.IMovie had the music etc that I used. Here's the message It gives a number of op
-
My Dreamweaver website movies won't play in Safari
I have made my own very simple website in Dreamweaver. I have a showreel page where files that I made in imovie I then export or 'share' and then place in Dreamweaver as 'Shockwave media' - embedded in the page. When you visit the page a quicktime ic
-
Keynote '09 Handouts - Problem printing 6 slides per page
With Keynote '09, I'd like to print handouts of 6 slides per page, where the slides are of reasonable size, take up most of the space on the page, and are not oriented in a single vertical column. I used to be able to accomplish this with earlier ver
-
can't use Power view in Excel 2013. When clicking Insert -> power view, I got the error such as "can't load data model", then the error "exception from HRESULT: 0x800A03EC" is got.