Problem with Hiding fields of selection screen which is called as subscreen
Hello All,
I have problem while hiding the selection screen which is called as subscreen.
Flow of my logic:
Selection-screen with one field and three buttons CREATE,DISPLAY and CHANGE in application toolbar.
user enter some value in field and either he press change or dispaly
When change i need to call selection screen when it is in dispaly i need to stop calling this selection screen.
Upto my knowledge we can't stop calling selection screen in display mode so there is only one possibility is hiding the fields when it is in display mode.
How can i hide the fields and where i need to hide fields?
Please post some codes.
Regards,
Lisa
you can refer the sample code which i mentioned in your previous post. that will solve the problem.
Similar Messages
-
Problem with User Defined Second Selection Screen
Hi Gurus,
I have a problem with the selection screen selections. My requirement is that , User when he selects a check box on the main selection screen ( which is 1000) then at the at-selection event, another screen (whose number is 2000) will be called and it has some parameters to enter values. My problem is that how to get the values from this second screen and use them in the in my program. There is an execute button on the second selection screen and when i click that, nothing is happening.
Can anybody suggest me how to get the values from this screen which we called, and entered values in that screen. How to use these values and is there any way that we can do this.
Thanks in advance for helping me out.
Regards,
Srinivas.Use <b>DYNP_VALUES_READ</b> FM to read the values from your dynpro screen...
Like this...
DATA: ls_dyname TYPE d020s-prog,
ls_dynumb TYPE d020s-dnum.
gt_dynpfields TYPE STANDARD TABLE OF dynpread WITH HEADER LINE.
ls_dynumb = '0112'.
gt_dynpfields-fieldname = 'RF05A-NEWKO'.
APPEND gt_dynpfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = ls_dyname
dynumb = ls_dynumb
TABLES
dynpfields = gt_dynpfields
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.
Greetings,
Blag. -
Problem with checkbox in the selection screen
Hi guys,
I have a problem with the check box in the selection screen.When i select a check box then a field in the selection screen should be enabled for entering a value.Again if i unselect the checkbox then the field should be disabled for entering a value.I have written the code in at selection-screen output.
The problem is when i select the check box ,the field is not enabled.But when i press enter after selecting the checkbox then the field is enabled for input.It is the same when i unselect the checkbox,after i press enter only the field is getting disabled.What could be the problem.Any suggestions please?
Thanks.Hi d p
Please try this code . I think this code have some way that you would like.
REPORT zdownload_to_application_server.
TABLES : caufvd, jest.
I N C L U D E P R O G R A M *
*INCLUDE znrpstnd.
Selection Screen *
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-t03.
PARAMETERS: p_outb RADIOBUTTON GROUP g1 USER-COMMAND outb DEFAULT 'X' ,
p_inb RADIOBUTTON GROUP g1.
SELECTION-SCREEN END OF BLOCK b3.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
PARAMETERS : p_werks LIKE caufvd-werks MODIF ID a. " Plant "OBLIGATORY
SELECT-OPTIONS : s_auart FOR caufvd-auart MODIF ID a, " Order Type
s_aufnr FOR caufvd-aufnr MODIF ID a. " Order number
PARAMETERS: p_path TYPE string DEFAULT 'C:\SchedulerInterface-OutboundTextFile\' MODIF ID a,
p_actual AS CHECKBOX MODIF ID a. " Transfer Actual
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t02.
PARAMETERS : p_werks2 LIKE caufvd-werks MODIF ID b, " Plant "OBLIGATORY
p_path2 TYPE string DEFAULT 'C:\SchedulerInterface-InboundTextFile\' MODIF ID b,
p_path3 TYPE string DEFAULT 'C:\SchedulerInterface-InboundTextFile\' MODIF ID b,
p_sessio TYPE apqi-groupid MODIF ID b. " BDC Session
SELECTION-SCREEN END OF BLOCK b2.
AT SELECTION-SCREEN OUTPUT.
IF p_outb EQ 'X'. " Outbound --> Hide inbound
LOOP AT SCREEN.
"IF screen-name = '%BT02011_BLOCK_1000'.
IF screen-group2 = 'BLK'.
screen-active = 1.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'A'.
screen-active = 1.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'B'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
"IF screen-name = '%BT01004_BLOCK_1000'.
IF screen-group3 = 'BLK'.
screen-active = 1.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'A'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'B'.
screen-active = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path2.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_path = 'C:\SchedulerInterface-InboundTextFile\'
mask = ',Text Files,.txt,All files,.*.'
IMPORTING
filename = p_path2
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path3.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_path = 'C:\SchedulerInterface-InboundTextFile\'
mask = ',Text Files,.txt,All files,.*.'
IMPORTING
filename = p_path3
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
TOP-OF-PAGE.
START-OF-SELECTION.
Regards
Wiboon -
Problem with Radio Buttons: At Selection-Screen
Hi,
i have two radio-buttons in my screen with coding
PARAMETERS:
ST RADIOBUTTON GROUP rad1 DEFAULT 'X', "stock transport
PR RADIOBUTTON GROUP rad1. "purchase return
at selection-screen output.
if PR = 'X'.
perform f_selection_request_po_ret.
endif.
if ST = 'X'.
perform f_selection_request_stck_trans.
endif.
at selection-screen on value-request for s_ebeln-low.
perform f_f4_values.
at selection-screen on value-request for s_ebeln-high.
perform f_f4_values.
I need to provide different values in drop-down of select-options according to the radio-button selected.
Like if PR is selected s_ebeln-low and s_ebeln-high displayed will be different.
and if ST is selected s_ebeln-low and s_ebeln-high displayed will be different.
My problem is that the program is taking the values of that radio button which is set to Default. While running the program, if I click on the other radio-button, it is showing the same values, not different.
Kindly, tell me where I am going wrong in the coding.
Regards,
Priyanka.Hi,
For this requirement you have to use the following FM's
<b>DYNP_VALUES_READ </b> and DYNP_VALUES_UPDATE
The one highlighted is the one you need to call in the selection screen events to get the values. Do a where used list on this FM and see how its being used.
DATA : W_REPID LIKE D020S-PROG,
W_DYNNR LIKE D020S-DNUM,
I_DYNPREAD LIKE DYNPREAD OCCURS 0 WITH HEADER LINE.
REFRESH: I_DYNPREAD.
CLEAR : I_DYNPREAD,
W_FILE .
I_DYNPREAD-FIELDNAME = C_UXPATH.
APPEND I_DYNPREAD.
CLEAR : I_DYNPREAD.
W_REPID = SY-REPID.
W_DYNNR = C_1000.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = W_REPID
DYNUMB = W_DYNNR
TABLES
DYNPFIELDS = I_DYNPREAD
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
OTHERS = 10.
IF SY-SUBRC EQ 0.
Successfully read screen. GET the values
LOOP AT I_DYNPREAD.
CASE I_DYNPREAD-FIELDNAME.
WHEN C_UXPATH .
W_FILE = I_DYNPREAD-FIELDVALUE.
ENDCASE.
ENDLOOP. "LOOP AT i_dynpread.
ENDIF. "IF sy-subrc EQ 0.
Cheers
VJ
Message was edited by:
Vijayendra Rao -
Validate a field on selection screen based on value entered on anothr field
HI,
There is a program with some fields in selection screen in EWM. The first field is Warehouse. I need to add another field 'Entity to Dispose' in such that what ever value I enter in Warehouse field, its corresponding values should only be displayed as F4 help for 'Entity to Dispose' field.
For eg: If I select the warehouse as 0799(lets say), then the F4 help for Entity to Dispose field should display only the values which are related to warehouse 0799 (and any other values pertaining to other warehouse should not appear).
Could anyone suggest, how this can be achieved?
Thanks in advance.
Regards,
PavanHi,
You can use FM
DYNP_VALUES_READ
DYNP_VALUES_UPDATE
to read the another field value and Using that field build your internal table for f4 values.
and use FM F4IF_INT_TABLE_VALUE_REQUEST for F4 values..
do this on AT SELECTION-SCREEN ON VALUE REQUEST FOR <YOUR_F4_FIELDNAME>. -
How to add Material type(MTART) field on Selection screen of MB5B transaction code.
Hi All,
Please let me know how to add material type field on selection screen of MB5B transaction
For that i made copy ZMB5B_COPY of original report RM07MLBD.
Thanks in adv .
SamadhanHi,
Once you copied the standard report to Z report, you can MTART in selection screen like below.
and in order to inlcude the same in programming logic, we have three option.
1) Check all related select queries, and include MTART in SELECT query using inner join with MARA.
2) In START-OF-SELECTION event fill MATNR as shown below.
3) If user entered any value in MTART, then before displaying the report just check material type of each material in the final internal table(which is used to display report) delete enteries from internal table accordingly.
START-OF-SELECTION.
IF MTART[] IS NOT INITIAL AND MATNR[] IS INITIAL.
SELECT MATNR FROM MARA INTO MATNR-LOW WHERE MTART IN MTART.
MATNR-OPTION = 'EQ'.
MATNR-SIGN = 'I'.
APPEND MATNR.
CLEAR MATNR.
ENDSELECT.
ENDIF.
The above option has one limitation: The selection screen variables has some restriction, please read the below thread.
Facing problem in select statement dump DBIF_RSQL_INVALID_RSQL CX_SY_OPEN_S
Getting Dump in the select query has more than 2000 entries
Hope this will work for you .
regards,
Rajesh Sadula. -
Issue with tabbed block in selection screen
Hi All,
I have created a report program with the following code.
SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
PARAMETERS: p1 TYPE c LENGTH 10.
SELECTION-SCREEN END OF SCREEN 100.
SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN.
PARAMETERS: q1 TYPE c LENGTH 10.
SELECTION-SCREEN END OF SCREEN 200.
SELECTION-SCREEN: BEGIN OF TABBED BLOCK mytab FOR 10 LINES,
TAB (20) button1 USER-COMMAND push1,
TAB (20) button2 USER-COMMAND push2,
END OF BLOCK mytab.
INITIALIZATION.
button1 = 'Selection Screen 1'.
button2 = 'Selection Screen 2'.
mytab-prog = sy-repid.
mytab-dynnr = 0100.
mytab-activetab = 'PUSH1'.
AT SELECTION-SCREEN.
CASE sy-dynnr.
WHEN 1000.
CASE sy-ucomm.
WHEN 'PUSH1'.
mytab-dynnr = 100.
WHEN 'PUSH2'.
mytab-dynnr = 200.
ENDCASE.
ENDCASE.
Execute the program and click on the second tab-page. Now, click on the 'Execute' button or press F8 (there is no specific functionality coded here).
The issue now is that the first tab-page is displayed, instead of the second tab remaining displayed. I require the navigation to remain within the second tab-page after the EXECUTE button is clicked.
Could someone help me out with this issue?
Regards,
Dinup
Edited by: Dinup Sudhakaran on Feb 18, 2008 1:40 PMHi,
Go through below document with example code.
It will help you.
Tabstrip Controls on Selection Screens
As with screens, you can now use tabstrip controls on selection screens. To do this, you must define a tabstrip area and the associated tab pages, and assign a subscreen to the tab pages. You do not have to (indeed, cannot) declare the tabstrip control or program the screen flow logic in your ABAP program, since both are automatically generated.
To define a tabstrip area with tab pages, use the following statements in your selection screen definition:
SELECTION-SCREEN: BEGIN OF TABBED BLOCK <tab_area> FOR <n> LINES,
TAB (<len>) <tab1> USER-COMMAND <ucom1>
[DEFAULT [PROGRAM <prog>] SCREEN <scrn>],
TAB (<len>) <tab2> USER-COMMAND <ucom2>
[DEFAULT [PROGRAM <prog>] SCREEN <scrn>],
END OF BLOCK <tab_area>.
This defines a tabstrip control <tab_area> with size <n>. The tab pages <tab1>, <tab2> are assigned to the tab area. <len> defines the width of the tab title. You must assign a function code <ucom> area to each tab title. You can find out the function code from the field SY-UCOMM in the AT SELECTION-SCREEN event.
For each tab title, the system automatically creates a character field in the ABAP program with the same name. Before the selection screen is displayed, you can assign a text to the field. This then appears as the title of the corresponding tab page on the selection screen.
You must assign a subscreen to each tab title. This will be displayed in the tab area when the user chooses that title. You can assign one of the following as a subscreen:
A subscreen screen defined using the Screen Painter.
A selection screen subscreen, defined in an ABAP program.
You can make the assignment either statically in the program or dynamically at runtime. If, at runtime, one of the tab titles has no subscreen assigned, a runtime error occurs.
Static assignment
Use the DEFAULT addition when you define the tab title. You can specify an ABAP program and one of its subscreens. If you do not specify a program, the system looks for the subscreen in the current program. When the user chooses the tab title, it is activated, and the subscreen is assigned to the tabstrip area. The static assignment is valid for the entire duration of the program, but can be overwritten dynamically before the selection screen is displayed.
Dynamic assignment
For each tab area, the system automatically creates a structure in the ABAP program with the same name. This structure has three components PROG, DYNNR, and ACTIVETAB. When you assign the subscreens statically, the structure contains the name of the ABAP program containing the subscreen, the number of the subscreen, and the name of the tab title currently active on the selection screen (and to which these values are assigned). The default active tab page is the first page. You can assign values to the fields of the structure before the selection screen is displayed, and so set a subscreen dynamically.
If you assign a normal subscreen screen to a tab title, the dialog modules containing its flow logic must be defined in the current ABAP program. If the subscreen is a selection screen, user actions will trigger the AT SELECTION-SCREEN event and its variants (see Selection Screen Processing). This includes when the user chooses a tab title. If one selection screen is included on another, AT SELECTION-SCREEN will be triggered at least twice firstly for the "included" selection screen, then for the selection screen on which it appears.
REPORT demo_sel_screen_with_tabstrip.
DATA flag(1) TYPE c.
SUBSCREEN 1
SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS: p1(10) TYPE c,
p2(10) TYPE c,
p3(10) TYPE c.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN END OF SCREEN 100.
SUBSCREEN 2
SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
PARAMETERS: q1(10) TYPE c OBLIGATORY,
q2(10) TYPE c OBLIGATORY,
q3(10) TYPE c OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN END OF SCREEN 200.
STANDARD SELECTION SCREEN
SELECTION-SCREEN: BEGIN OF TABBED BLOCK mytab FOR 10 LINES,
TAB (20) button1 USER-COMMAND push1,
TAB (20) button2 USER-COMMAND push2,
TAB (20) button3 USER-COMMAND push3
DEFAULT SCREEN 300,
END OF BLOCK mytab.
INITIALIZATION.
button1 = text-010.
button2 = text-020.
button3 = text-030.
mytab-prog = sy-repid.
mytab-dynnr = 100.
mytab-activetab = 'BUTTON1'.
AT SELECTION-SCREEN.
CASE sy-dynnr.
WHEN 1000.
CASE sy-ucomm.
WHEN 'PUSH1'.
mytab-dynnr = 100.
mytab-activetab = 'BUTTON1'.
WHEN 'PUSH2'.
mytab-dynnr = 200.
mytab-activetab = 'BUTTON2'.
ENDCASE.
WHEN 100.
MESSAGE s888(sabapdocu) WITH text-040 sy-dynnr.
WHEN 200.
MESSAGE s888(sabapdocu) WITH text-040 sy-dynnr.
ENDCASE.
MODULE init_0100 OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = 'MOD'.
CASE flag.
WHEN 'X'.
screen-input = '1'.
WHEN ' '.
screen-input = '0'.
ENDCASE.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDMODULE.
MODULE user_command_0100 INPUT.
MESSAGE s888(sabapdocu) WITH text-050 sy-dynnr.
CASE sy-ucomm.
WHEN 'TOGGLE'.
IF flag = ' '.
flag = 'X'.
ELSEIF flag = 'X'.
flag = ' '.
ENDIF.
ENDCASE.
ENDMODULE.
START-OF-SELECTION.
WRITE: / 'P1:', p1,'Q1:', q1,
/ 'P2:', p2,'Q2:', q2,
/ 'P3:', p3,'Q3:', q3.
This program defines two selection screens 100 and 200, as subscreens, and places a tabstrip control area with three tab pages on the standard selection screen. A subscreen screen 300 (from the same program) is assigned statically to the third tab page.
The layout of screen 300 is:
The input/output fields P1 to Q3 are defined by using the parameters from the ABAP program The pushbutton has the function code TOGGLE.
The screen flow logic for screen 300 is as follows:
PROCESS BEFORE OUTPUT.
MODULE init_0100.
PROCESS AFTER INPUT.
MODULE user_command_0100.
Both dialog modules are defined in the ABAP program.
When you run the program, the standard selection screen appears. In the INITIALIZATION event, the texts are defined on the tab titles, the subscreen selection screen 100 is assigned to the tab area, and the first tab title is activated.
User actions on the selection screen are processed in the AT SELECTION-SCREEN event block. In particular, it is here that the subscreens are assigned and tab titles activated when the user chooses one of the first two tab titles. This is not necessary for the third tab title, since the dynamic assignment (screen 300) is always placed in the structure MYTAB when the user chooses it.
Before the subscreen screen is displayed, the PBO module INIT_100 is executed. User actions on the subscreen screen trigger the PAI module. This includes when the user chooses a tab title. After that, the AT SELECTION-SCREEN event is triggered.
Messages in the status line show where an action has been processed. -
Unable to have field in selection screen of Infopackage
Hello Gurus,
I have a small problem,
I am unable to bring on field in selection screen in Infopackage,
even thou the object is ticket in DataSources selection option,
I have noted that the object is of type DEC is it something to do with,
Or is their any other way to have this object in selection screen of Infopackage,
Please help me on this,
Thanks & Regards,Bhanu its field type is DEC thats why its not coming in selection screen in Infopackage .This is a big problem in our Development as this field is SPRIO(Procurement Priority) and we want to restrict this field with conduction SPRIO EQ 1.
Our DataSource is based on Infoset , Bhanu is it possible to restrict this Field in Infoset writing some code. As their is option in Infoset for CODE we tried this but didnt work.
or any other way to restrict this field with 1.
I really appreciate your reply.
Thanks Once again. -
Validating field on selection screen
wht is the meaning of validation
how to validate a particular field on selection screen
suppose parameters:p_vkorg like vbak-vkorg.
how to validate p_vkorg.
pz give me codingHello pavan,
Validation means "checking whether the input which u are gining to the selection secreen is valid or not". means...
Lets take your example only...
parameters:p_vkorg like vbak-vkorg.
in selection screen you will give inout in that parameter....
users can give any input... lets suppose I'll give input as ABC... which is not in the table VBAK. No need to excute the code once we came to know that the input is not there in the table. So we will do validation like...
at selection-screen on p_vkorg.
select * from vbak where vkorg = p+vkorg. " This is the case with Parameter.
at selection-screen on p_vkorg.
Select * from vbak where vkorg = p+vkorg. " This is the case with Selct-option.
if the input that u r giving is present in the table... the above stmt will execute successfully, otherwise not.
You can make use of System variable SY-SUBRC and you can go ahead with ur coding...
Reward If Helpful
Regards
Sasidhar Reddy Matli.
Message was edited by:
Sasidhar Reddy Matli -
Populating data into a field on selection screen
hi alll..........
my query is how to populate data into a field in a selection screen which has help on value request....
suppose .. there is a field in the standard selection screen with name kunnr which has help on value request option and is done as a list box. now i want to populate data from kna1-kunnr to this field....
how can i do it....
urs friendly...
prashanthYou have to call the FM F4IF_INT_TABLE_VALUE_REQUEST to show the F4
F4IF_INT_TABLE_VALUE_REQUEST
https://forums.sdn.sap.com/click.jspa?searchID=6971766&messageID=3699312
F4IF_INT_TABLE_VALUE_REQUEST -
Field Validation for Authorization Object field on selection screen
Hi Experts,
We have included a new field u2018Authorization Objectu2019 in the selection screen which should be reflected in the field Authorization Object of the spool property. Please let us know how we can provide F4 help for this field and also validate it in the code.
The data element "RSPOAUTH" is used for the field on selection screen parameter. However, as there is no value table attached to the domain, we are unable to provide any F4 help and hence cannot validate the field in the code.
Looking forward for your valuable reply.
Thanks in advance.
--Warm Regards,
Prajakta Kanitkar.Hi Prajakta,
You can refer the following code for getting F4 help.
TYPES: BEGIN OF stru_btc,
zesgbtc TYPE zhr_del_btc,
END OF stru_btc.
DATA: it_btc TYPE STANDARD TABLE OF stru_btc
SELECT-OPTIONS: s_zzbtc FOR pa0001-zzbtc NO INTERVALS.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_zzbtc-low.
SELECT * FROM zbtc INTO CORRESPONDING FIELDS OF TABLE it_btc.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'BTC'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'S_ZZBTC'
value_org = 'S'
TABLES
value_tab = it_btc
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.
Hope this will help you.
Thanks & Regards.
Aniruddha -
How can I add a new field in selection screen for this report
*& Report ZGS_BARKODLA_HIZLI_GIRIS
report zgs_barkodla_hizli_giris.
tables: mara,
mseg,
mch1,
*mch1,
mkpf,
mchb ,
makt.
type-pools: esp1.
data: i_message_tab type esp1_message_tab_type,
wa_message_tab type esp1_message_wa_type ,
sc_count type i.
ALV
type-pools: slis, kkblo.
data: gs_layout type slis_layout_alv ,
gt_fldcat type slis_t_fieldcat_alv with header line,
gt_header type slis_t_listheader with header line,
gt_sortin type slis_t_sortinfo_alv with header line,
g_repid like sy-repid .
define add-fieldcat.
gt_fldcat-fieldname = &1.
gt_fldcat-ref_tabname = &2.
gt_fldcat-seltext_s = &3.
gt_fldcat-seltext_m = &3.
gt_fldcat-seltext_l = &3.
gt_fldcat-reptext_ddic = &3.
gt_fldcat-ddictxt = 'M'.
append gt_fldcat.
clear gt_fldcat.
end-of-definition.
types: begin of titab,
sel type xfeld,
matnr type matnr,
maktx type maktx,
charg type charg_d,
menge type menge_d,
erfmg type erfmg,
end of titab.
data : witab type titab.
data : itab type table of titab.
data : ok_code type sy-ucomm.
controls: tc_itab type tableview using screen 0100.
data: gv_header like bapi2017_gm_head_01,
gv_code like bapi2017_gm_code.
BAPI export parameters
data: gv_headret type bapi2017_gm_head_ret,
gv_matdoc type bapi2017_gm_head_ret-mat_doc,
gv_matyear type bapi2017_gm_head_ret-doc_year.
data : lv_objek like inob-objek .
data : ls_inob like inob .
data : imseg type ty_t_mseg.
data : wmseg type mseg.
data : answer.
data : count type i.
data : v_atinn type atinn.
BAPI movement details
data: i_goodsmvt_items type bapi2017_gm_item_create occurs 0
with header line.
data: i_return type bapiret2 occurs 0 with header line.
start-of-selection.
call function 'CONVERSION_EXIT_ATINN_INPUT'
exporting
input = 'Z_ORAN'
importing
output = v_atinn.
call screen 100.
*& Module status_0100 OUTPUT
module status_0100 output.
set pf-status '100'.
set titlebar '100'.
mseg-werks = 1000.
mseg-umwrk = 1000.
**added
sc_count = sc_count + 1.
if sc_count eq 1.
mseg-bwart = 313.
endif.
mkpf-budat = sy-datum.
**added
describe table itab lines tc_itab-lines.
endmodule. " status_0100 OUTPUT
*& Module user_command_0100 INPUT
module user_command_0100 input.
data field(20).
data: line_t like sy-index.
data: lines like sy-index.
data line_count like sy-loopc.
data: begin of cols,
screen like screen,
index type i,
selected(1) type c,
vislength like icon-oleng,
invisible(1) type c,
end of cols.
case ok_code.
when 'DELE'.
delete itab where sel eq 'X'.
when 'ENTE'.
check *mch1-charg is not initial.
read table itab into witab with key charg = *mch1-charg.
if not sy-subrc is initial.
witab-charg = *mch1-charg.
select single matnr from mch1 into witab-matnr
where charg eq witab-charg.
if not syst-subrc is initial.
set cursor field '*MCH1-CHARG'.
message e115(12) with *mch1-charg.
endif.
select single maktx from makt into witab-maktx
where matnr eq witab-matnr
and spras eq syst-langu.
witab-erfmg = 1.
concatenate witab-matnr witab-charg into lv_objek .
clear ls_inob .
select single * into ls_inob
from inob
where objek = lv_objek and
klart = '023' and
obtab = 'MCH1' .
select single atflv from ausp into witab-menge
where objek = ls_inob-cuobj and
klart = '023' .
append witab to itab.
**added
clear *mch1-charg.
**added
endif.
when 'SAVE'.
if mkpf-budat is initial.
set cursor field 'MKPF-BUDAT'.
message e055(00).
endif.
if mseg-lgort is initial.
set cursor field 'MSEG-LGORT'.
message e055(00).
endif.
if mseg-umlgo is initial.
set cursor field 'MSEG-UMLGO'.
message e055(00).
endif.
if mseg-bwart is initial.
set cursor field 'MSEG-BWART'.
message e055(00).
endif.
refresh imseg.
loop at itab into witab.
move-corresponding witab to wmseg.
append wmseg to imseg.
endloop.
call function 'ZMM_POPUP_WITH_DATA'
exporting
imseg = imseg
importing
answer = answer.
if answer eq 'Y'.
perform create_goods_movement.
endif.
when 'P--'.
clear ok_code.
perform paging using 'P--'.
set cursor field 'MARA-MATNR' line 1.
when 'P-'.
clear ok_code.
perform paging using 'P-'.
set cursor field 'MARA-MATNR' line 1.
when 'P+'.
clear ok_code.
clear lines.
perform paging using 'P+'.
set cursor field 'MARA-MATNR' line 1.
when 'P++'.
clear ok_code.
perform paging using 'P++'.
set cursor field 'MARA-MATNR' line 1.
when 'SORA'.
read table tc_itab-cols into cols with key selected = 'X'.
if sy-subrc is initial.
field = cols-screen.
field = field+5(10).
sort itab ascending by (field).
endif.
when 'SORZ'.
read table tc_itab-cols into cols with key selected = 'X'.
if sy-subrc is initial.
field = cols-screen.
field = field+5(10).
sort itab descending by (field).
endif.
when 'PRNT'.
perform write_alv.
endcase.
endmodule. " user_command_0100 INPUT
*& Module read_table OUTPUT
module read_table output.
mara-matnr = witab-matnr.
makt-maktx = witab-maktx.
mch1-charg = witab-charg.
mseg-menge = witab-menge.
mseg-erfmg = witab-erfmg.
line_count = sy-loopc.
endmodule. " read_table OUTPUT
*& Module write_table INPUT
module write_table input.
witab-matnr = mara-matnr.
witab-maktx = makt-maktx.
witab-charg = mch1-charg.
witab-menge = mseg-menge.
witab-erfmg = mseg-erfmg.
modify itab from witab index tc_itab-current_line.
endmodule. " write_table INPUT
*& Module exit INPUT
module exit input.
leave to screen 0 .
endmodule. " exit INPUT
*& Form create_goods_movement
form create_goods_movement .
clear : gv_header, i_return[], i_goodsmvt_items[].
gv_header-doc_date = gv_header-pstng_date = mkpf-budat.
gv_header-pr_uname = sy-uname.
GM with reference to reservation
loop at itab into witab.
i_goodsmvt_items-material = witab-matnr.
i_goodsmvt_items-entry_qnt = witab-erfmg.
i_goodsmvt_items-entry_uom = 'ST'.
i_goodsmvt_items-move_type = mseg-bwart.
i_goodsmvt_items-plant = mseg-werks.
i_goodsmvt_items-stge_loc = mseg-lgort.
i_goodsmvt_items-move_plant = mseg-umwrk.
i_goodsmvt_items-move_stloc = mseg-umlgo.
i_goodsmvt_items-batch = witab-charg.
append i_goodsmvt_items.
endloop.
find BAPI processing transaction
if gv_code is initial.
perform determine_bapi_code using mseg-bwart
changing gv_code.
endif.
call function 'BAPI_GOODSMVT_CREATE'
exporting
goodsmvt_header = gv_header
goodsmvt_code = gv_code
importing
goodsmvt_headret = gv_headret
materialdocument = gv_matdoc
matdocumentyear = gv_matyear
tables
goodsmvt_item = i_goodsmvt_items
return = i_return[].
cancel blocking process
loop at i_return where type eq 'E' or type eq 'A' or type eq 'X'.
exit.
endloop.
if sy-subrc ne 0.
refresh i_message_tab.
call function 'BAPI_TRANSACTION_COMMIT'
exporting
wait = 'X'.
wa_message_tab-msgid = 'M7'..
wa_message_tab-msgty = 'S'.
wa_message_tab-msgno = '060'.
wa_message_tab-msgv1 = gv_matdoc.
wa_message_tab-msgv2 = ''.
wa_message_tab-msgv3 = ''.
wa_message_tab-msgv4 = ''.
append wa_message_tab to i_message_tab.
else.
refresh i_message_tab.
call function 'BAPI_TRANSACTION_ROLLBACK'.
write a message as there is an unexpected error.
loop at i_return.
wa_message_tab-msgid = i_return-id.
wa_message_tab-msgty = i_return-type.
wa_message_tab-msgno = i_return-number.
wa_message_tab-msgv1 = i_return-message_v1.
wa_message_tab-msgv2 = i_return-message_v2.
wa_message_tab-msgv3 = i_return-message_v3.
wa_message_tab-msgv4 = i_return-message_v4.
append wa_message_tab to i_message_tab.
endloop.
endif.
call function 'C14Z_MESSAGES_SHOW_AS_POPUP'
tables
i_message_tab = i_message_tab.
endform. " create_goods_movement
*& Form determine_bapi_code
form determine_bapi_code using p_bwart type bwart
changing p_code type bapi2017_gm_code.
data: lt_t158b type table of t158b with header line.
clear p_code.
select tcode from t158b into corresponding fields of table lt_t158b
where bwart eq p_bwart.
loop at lt_t158b.
select single gmcode from t158g into p_code
where tcode eq lt_t158b-tcode.
if sy-subrc is initial.
exit.
endif.
endloop.
endform. " determine_bapi_code
*& Form paging
form paging using code.
data: i type i,
j type i.
case code.
when 'P--'. tc_itab-top_line = 1.
when 'P-'.
tc_itab-top_line = tc_itab-top_line - line_count.
if tc_itab-top_line le 0.
tc_itab-top_line = 1.
endif.
when 'P+'.
i = tc_itab-top_line + line_count.
j = tc_itab-lines - line_count + 1.
if j le 0.
j = 1.
endif.
if i le j.
tc_itab-top_line = i.
else.
tc_itab-top_line = j.
endif.
when 'P++'.
tc_itab-top_line = tc_itab-lines - line_count + 1.
if tc_itab-top_line le 0.
tc_itab-top_line = 1.
endif.
endcase.
endform. " paging
*& Form write_alv
form write_alv .
perform find_list_header.
perform fill_field_cat.
perform fill_sortinfo.
g_repid = sy-repid.
gs_layout-colwidth_optimize = 'X'.
gs_layout-zebra = 'X'.
answer = 'Y'.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_buffer_active = ''
i_callback_program = g_repid
i_save = 'A'
i_callback_top_of_page = 'TOP_OF_PAGE'
is_layout = gs_layout
it_fieldcat = gt_fldcat[]
it_sort = gt_sortin[]
tables
t_outtab = itab[].
endform. " write_alv
Form find_list_header
form find_list_header.
data : v_datum(10),
v_datlo(10),
v_dathi(10),
v_uzeit(8).
clear: gt_header, gt_header[].
gt_header-typ = 'H'.
gt_header-info = sy-title.
append gt_header.
clear gt_header.
gt_header-typ = 'S'.
gt_header-key = 'Çalıştırma Zamanı : '.
write syst-datum to v_datum.
write syst-uzeit to v_uzeit.
concatenate v_datum '/' v_uzeit into gt_header-info.
append gt_header.
endform. " find_list_header
Form fill_field_cat
form fill_field_cat.
refresh gt_fldcat.
clear gt_fldcat.
gt_fldcat-key = 'X'.
add-fieldcat 'MATNR' 'MARA' ''.
add-fieldcat 'MAKTX' 'MAKT' ''.
add-fieldcat 'CHARG' 'MSEG' ''.
gt_fldcat-do_sum = 'X'.
add-fieldcat 'MEINS' 'MARA' 'Olcu Birimi '.
gt_fldcat-do_sum = 'X'.
add-fieldcat 'ERFMG' 'MSEG' 'Adet'.
endform. " fill_field_cat
Form fill_sortinfo
form fill_sortinfo.
gt_sortin-up = 'X'.
gt_sortin-fieldname = 'MATNR'. append gt_sortin.
endform. " fill_sortinfo
Form top_of_page *
form top_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
i_logo = 'ZKUTAS'
it_list_commentary = gt_header[].
endform. " top_of_pageHI,
if it is a normal report program then you can directly create a Selection screen field.
After the Type-pool you can use Parameters or Select-options to create the selection screen field..
If it is a Modulpool program then you can create a selection scren field like
SELECTION-SCREEN BEGIN OF SCREEN 1100 AS SUBSCREEN.
PARAMETERS: p1(10) TYPE c.
SELECTION-SCREEN END OF SCREEN 1100.
defines a selection screens 1100 as subscreens.
The next screen number of screen 100 is 100 (statically-defined).
PROCESS BEFORE OUTPUT.
MODULE status_0100.
CALL SUBSCREEN area INCLUDING sy-repid number.
PROCESS AFTER INPUT.
MODULE cancel AT EXIT-COMMAND.
CALL SUBSCREEN area.
MODULE user_command_0100.
look at the below link
http://help.sap.com/saphelp_nw2004s/helpdata/en/e7/deb237b9a9a968e10000009b38f8cf/content.htm
Regards
Sudheer -
Problem with currency field in smart form
hi
friends ..
i had problem with currency field in smartform iam printing 5 currecny
fields after the main window .But not getting printed on right way gets printed down from the given mesaurement and i get lot of gap betwen the
each fields for ex.
33,260.00
120.00
0.00
0.00
0.00
i thought the the problem is with space .so iwanted to condense it but cannot as it is currency field so move into character fields .but the user want out put in currency format like 22,60.20 if i get the value in char variable i get 2260.20 which i dont want .
so pls help me how to condense or shift left and print the currency field on right place.
regards
answers will be rewarded points.hi,
this is a normal problem u can avoid this by moveing these currencu value to a character field then print the char field us ing condece... &var(C)&..
eve if not solve the problem use the TEMPLATE node..
Please Close this thread.. when u r problem is solved. Reward all Helpful answers
Regards
Naresh Reddy K -
Problem with InDesign CC redrawing the screen too slow while using Zoom tool
Hello. I got a problem with InDesign CC redrawing the screen too slow while using Zoom tool. Sometimes it takes more than a secong to zoom in or out. However InDesign CS6, Photoshop CC, Illustrator CC works just fine. What could be the problem, videocard or something else? Below is my PC configuration: OS Windows 8 Pro (x64); processor Intel Core i7 2600k CPU 3,40GHz; video adapter NVIDIA GeForse GTS 450; monitor NEC PA271W (2560x1440).
Yes it’s a bug. The trick is to select the tool and then left click the photo information strip and hold for a few seconds until you see the windows bar at the top of the screen (not responding)
The lasso tool should then work normally. -
Adding customer field to selection screen of RFKORD11 - Customer Statement Printing Program:
Hello,
We are required to add an important customer field to selection screen of customer
statement printing program: RFKORD11 for our South African branch.
Please advise us regarding this matter,
is there a proper user-exit or a repair is needed?
Kind Regards.Enhancement
text
F050S001
FIDCMT, FIDCC1,
FIDCC2: Edit user-defined IDoc segment
F050S002
FIDCC1: Change
IDoc/do not send
F050S003
FIDCC2: Change
IDoc/do not send
F050S004
FIDCMT, FIDCC1,
FIDCC2: Change outbound IDoc/do not send
F050S005
FIDCMT, FIDCC1,
FIDCC2 Inbound IDoc: Change FI document
F050S006
FI Outgoing IDoc:
Reset Clearing in FI Document
F050S007
FIDCCH Outbound:
Influence on IDoc for Document Change
F180A001
Balance Sheet
Adjustment
FARC0001
Enhancements within
archiving (FI)
FARC0002
Additional Checks for
Archiving MM Vendor Master Data
FEDI0001
Function exits for
EDI in FI
FICT0001
Exits for
inter-company transactions
RFAVIS01
Customer Exit for
Changing Payment Advice Segment Text
RFBVX001
Enhancement for bank
directory transfer (Austria)
RFEPOS00
Line item display:
Checking of selection conditions
SAPLBANK
User exit: Bank data
SAPLF040
WF: Preliminary
posting (authorized for release)
SAPLF051
Workflow for FI
(pre-capture, release for payment)
SAPLFCPD
One-time account data
or different payee in booking
SAPLSSRV
User exit: Bank
account numbers
RFKORIEX
Automatic
correspondence
please check which one is better .
Maybe you are looking for
-
Skillbuilders modal page item references
I have built an application that uses the Skillbuilders modal page - in this page there are two items that have Skillbuilders super lov (2.0.2) plug-in. The Sql statement for the second item, Task, includes a reference to the first item (Project), as
-
Download a classical Report output to excel
Hi All, We have a requirement to download the output of a classical report into a Excel sheet and it should be in the same format as the report output.We don't just want to dump the internal table data into excel but need to display the classical re
-
Unstable Mail post Mavericks upgrade:
After upgrade to Mavericks (v10.9.1) Mail (v7.1) on my iMac has become unstable, freezing at the drop of a hat, requiring frequent forced quit to wrestle back control. Tried to instal the available Mail Update for Mavericks, promising increased stabi
-
"Import Java Classes"in Oracle6i Forms
Hello I have two questions regarding importing java classes in Forms 6i 1- How we can add my own class to this list, so that I can import it directly in form 6i and use it? 2- When these classes are used in form development, are they fully imported t
-
Any "Object Wipes" that are compatible with iM 6?
I seriously don't know why I alway jump to the next version of iM so quickly...I only end up getting burned. So it looks like the "Object Wipes," in Slick 9 don't work with iM 6. Are there any alternative plugins I can use for this effect?