ALV and Input field
Dear experts,
my problem is as follows.
in my ALV i want to make a column that is only editable with a field help.
read_only doesn´t work because the field can´t be edited by the field help.
Can you give me a hint.
Thanks and best regards
René
Hey!
At first,you need to set entire alv table as editable.
DATA: LR_CMP_USAGE TYPE REF TO IF_WD_COMPONENT_USAGE,
LR_INTERFACECONTROLLER TYPE REF TO IWCI_SALV_WD_TABLE,
LR_CONFIG_TABLE TYPE REF TO CL_SALV_WD_CONFIG_TABLE,
LR_SALV_SETTINGS TYPE REF TO IF_SALV_WD_TABLE_SETTINGS,
LR_COLUMN TYPE REF TO CL_SALV_WD_COLUMN,
LR_INPUTFIELD TYPE REF TO CL_SALV_WD_UIE_INPUT_FIELD,
LR_TEXTVIEW TYPE REF TO CL_SALV_WD_UIE_TEXT_VIEW.
LR_CMP_USAGE = WD_THIS->WD_CPUSE_ALV_GRID( ).
IF LR_CMP_USAGE->HAS_ACTIVE_COMPONENT( ) IS INITIAL.
LR_CMP_USAGE->CREATE_COMPONENT( ).
ENDIF.
LR_INTERFACECONTROLLER = WD_THIS->WD_CPIFC_ALV_GRID( ).
LR_CONFIG_TABLE = LR_INTERFACECONTROLLER->GET_MODEL( ).
LR_SALV_SETTINGS ?= LR_CONFIG_TABLE.
CALL METHOD LR_SALV_SETTINGS->SET_READ_ONLY
EXPORTING
VALUE = ABAP_FALSE.
LR_COLUMN = LR_CONFIG_TABLE->IF_SALV_WD_COLUMN_SETTINGS~GET_COLUMN( 'LUGGWEIGHT' ).
CREATE OBJECT LR_INPUTFIELD
EXPORTING
VALUE_FIELDNAME = 'LUGGWEIGHT'.
CALL METHOD LR_INPUTFIELD->SET_READ_ONLY
EXPORTING
VALUE = ABAP_FALSE.
CALL METHOD LR_INPUTFIELD->SET_ALIGNMENT
EXPORTING
value = CL_WD_ABSTRACT_INPUT_FIELD=>E_ALIGNMENT-CENTER.
CALL METHOD LR_COLUMN->SET_CELL_EDITOR
EXPORTING
VALUE = LR_INPUTFIELD.
Similar Messages
-
Controlling the space between label and Input field in SELECT-OPTION
Hi ,
I am using WDR_SELECT_OPTIONS as a used component in order to dynamically generate the Select option in my WD Component.
Can any one tell me if there is a way to control the spacing between Label and Input field? This is because rest of the UI elements are in one particular order but for this dynamically generated UI.
Please help me.
Thanks,
KavithaHi Kavitha,
The label is required for accessibility reasons. It's not possible to remove it and to use your own label from outside the component to point to it. Labels cannot point to targets across views (and hence acress component) boundaries.
Best regards,
Thomas -
How to use one pop up window for multiple buttons and input fields?
Hi Experts,
I have created a pop up window that will be opened from multiple buttons in the same view. There are input fields that the data will be populated from a pop up window. How can I set up which button that a pop up window is opened from? I also would like to populate the data from a pop up window to the input field next to a clicked button. There are 6 buttons and 6 input fields that share the same pop up window. I would very appreciate your responses.
Thank you,
DonHi,
Try creating 2 context attributes, one in your component controller and the other in the pop-up view. Bind the attribute of pop-up view to the component controller attribute.
In the main view, on click of every button set a unique code in the controller's context which helps you in identifying the button clicked. Since u have created a binding to the pop-up view attribute the value flows from the controller.
In the init method of your pop-up view, check the value of the attribute and based on that display which ever UI elements are required.
Eg:
On Button 1 click set value "B1", Button 2 value "B2" etc. In the init() of pop-up view u can check the values and perform the required operation:
if(("B1").wdContext().currentContextElement().getButtonIdentifier()){
else...{
Hope this helps you.
Regards,
Poojith MV -
How to decrease the gap between label and input field.. pls respnd
hi friends,
I am facing this problem since long time and couldnt get any solution...
pls respnd,
i need to decrease the gap between my input field and label.. its very much gap there..
thanks in very advacne,
nirajaHi WD ABAP,
i am doing the same, created tcontainer, and just binded my node. i given matrix layout. But i dont know why it is coming like that.
Also WDABAP, could you pls reply me to the other thread,
about when im trying to read the dropdown value of subnode, the get_static_attribute or create_element method is going into my supplyfunction.
supplyfunction - my code is to fill the dropdown. and due to this supply function triggering,
my get_static_att or create_element is not reruting currenct row dropdown value.
what am i doing wrong.. can u pls pls.. its kicking me. i have spent my whole weekend on this, but couldnt solve this.
plsfnds :(((((
Niraja -
Digital signature and input fields issue
Hello,
I guess that I found some kind of BUG in forms. If you have a form with two text input fields, one as ID ot the field which is computed, read only (user can not change it) and regular value input text field, and digital signature field at the bottom.
Once you sign the form, you can select on the signature field, what gets locked after signing. If I choose both text fields, they look like a label on the PDF after signing.
What concerns me is once you remove the digital signature, the ID text field becomes edditable by the user, which is a bug in my opinion.
Thanks for any suggestions.
JI tried this and could not duplicate the behaviour that you reported.
I created a form with two fields and a signature field. The first field I set to "Calculated - Read Only", with the following script on the "Initialize" event,
this.rawValue = "1234";
I created a field collection that included the calculated field and associated it with the signature field. I opened the form, the calculated value appears and is read-only, I filled in the second field and signed the PDF. (Both fields were locked). I cleared the signature field and the original Read Only calculated field remained locked, while the second field was editable again.
I used Designer ES version 8.2.1
Regards
Steve -
Hallo colleagues,
I have to create a dynamic structure and show it within an ALV.
Therefore I have created my stuctrure like this:
MOVE 'COMP1' TO gw_component-name.
gw_component-type ?= cl_abap_elemdescr=>get_string( ).
INSERT gw_component INTO TABLE gt_components.
MOVE 'COMP2' TO gw_component-name.
gw_component-type ?= cl_abap_elemdescr=>get_i( ).
INSERT gw_component INTO TABLE gt_components.
get structure descriptor -> GR_STRUCTDESCR
gr_structdescr ?= cl_abap_structdescr=>create( gt_components ).
create work area of structure GR_STRUCTDESCR -> GR_WA
CREATE DATA gr_wa TYPE HANDLE gr_structdescr.
ASSIGN gr_wa->* TO <gw_wa>.
So now I have my dynamic structure, but how i can create a field catalog, which fit into the function module 'REUSE_ALV_FIELDCATALOG_MERGE' and 'REUSE_ALV_LIST_DISPLAY'?
Any help?
Thanks in advance
IrianHi,
REPORT zmtable LINE-SIZE 255
LINE-COUNT 65.
Program written by Vijay Chaitanya Raju
Maintain Table dynamicly (Table name is entered on Selection Screen)
Very powerfull program. Please maintain authorisation access and
restrict maintenance to Z-tables
Version 6.20 and up
(can be used in 4.6C with some modifications to block try - endtry
and classes)
Enhanced functionality with dynamic selection screen
TABLES: sscrfields. "Fields on selection screens
TYPE-POOLS rsds.
DATA ds_clauses TYPE rsds_where.
DATA: BEGIN OF ifield OCCURS 0,
fieldname LIKE dd03l-fieldname,
position LIKE dd03l-position,
keyflag LIKE dd03l-keyflag,
datatype LIKE dd03l-datatype.
DATA: END OF ifield.
DATA: sl_step LIKE sy-tabix,
ss_step LIKE sy-subrc,
ss_act(1) TYPE c,
sl_lines LIKE sy-tfill,
sl_status LIKE sy-subrc,
sl_subrc LIKE sy-subrc,
sl_update(1) TYPE c,
sl_mandt(1) TYPE c,
len(6) TYPE n,
f_value(255) TYPE c,
sl_datum LIKE sy-datum,
sl_uzeit LIKE sy-uzeit,
price1(15) TYPE c,
price2(15) TYPE c,
mess(60) TYPE c,
d_stat LIKE sy-subrc,
m_stat LIKE sy-subrc,
slchar(6) TYPE c.
DATA: ref_ptr TYPE REF TO cx_root. "Root class more common
DATA: text TYPE string.
DATA: sl_index LIKE sy-tabix.
DATA: zauth LIKE dd02l-tabname.
DATA: num TYPE i,
max_len TYPE i,
check_len TYPE i,
sl_sel(1) TYPE c.
TYPE-POOLS: icon.
SELECTION-SCREEN.
SELECTION-SCREEN BEGIN OF LINE.
text-012 - 'Table Name'
SELECTION-SCREEN COMMENT 1(25) text-012.
PARAMETERS: tabname LIKE dd02l-tabname DEFAULT 'ZSCARE'.
text-003 - 'Selection'
SELECTION-SCREEN PUSHBUTTON 75(9) text-003 USER-COMMAND sta1.
SELECTION-SCREEN END OF LINE.
numrows(text) - 'Max Number of ROWS'
PARAMETERS: numrows LIKE sy-subrc DEFAULT '100'.
At Selection-Screen *
AT SELECTION-SCREEN.
CASE sscrfields-ucomm.
WHEN 'STA1'.
CLEAR sl_sel.
CALL FUNCTION 'ZSTAN_SELECTIONS'
EXPORTING
tabname = tabname
IMPORTING
ds_clauses = ds_clauses
EXCEPTIONS
table_not_valid = 1
other_error = 2
OTHERS = 3.
IF sy-subrc = 0.
sl_sel = 'X'.
ENDIF.
ENDCASE.
*At Selection-Screen Output *
AT SELECTION-SCREEN OUTPUT.
SELECT SINGLE tabname
INTO tabname
FROM dd02l
WHERE tabname = tabname
AND as4local = 'A'
AND ( tabclass = 'TRANSP' OR tabclass = 'POOL'
OR tabclass = 'CLUSTER' ).
IF sy-subrc <> 0.
MESSAGE 'Table is not valid' TYPE 'S'.
RETURN.
ENDIF.
START-OF-SELECTION.
START-OF-SELECTION.
DEFINE: acheck.
zauth = 'ZTABAUTH'.
select single statu
into sl_update
from (zauth)
where tabname = tabname
and bname = sy-uname.
if sy-subrc <> 0.
message 'You are not authorized to view this table' type 'S'.
return.
endif.
END-OF-DEFINITION.
SELECT SINGLE tabname
INTO tabname
FROM dd02l
WHERE tabname = tabname
AND as4local = 'A'
AND ( tabclass = 'TRANSP' OR tabclass = 'POOL'
OR tabclass = 'CLUSTER' ).
IF sy-subrc <> 0.
MESSAGE 'Table is not valid' TYPE 'S'.
RETURN.
ENDIF.
DATA: ptr_itab TYPE REF TO data.
FIELD-SYMBOLS: <fs_itab> TYPE STANDARD TABLE. "ANY TABLE.
CREATE DATA ptr_itab TYPE STANDARD TABLE OF (tabname).
ASSIGN ptr_itab->* TO <fs_itab>.
For DELETION
DATA: ptr_itd TYPE REF TO data.
FIELD-SYMBOLS: <fs_itd> TYPE STANDARD TABLE.
CREATE DATA ptr_itd TYPE STANDARD TABLE OF (tabname).
ASSIGN ptr_itd->* TO <fs_itd>.
For MODIFICATION
DATA: ptr_itm TYPE REF TO data.
FIELD-SYMBOLS: <fs_itm> TYPE STANDARD TABLE.
CREATE DATA ptr_itm TYPE STANDARD TABLE OF (tabname).
ASSIGN ptr_itm->* TO <fs_itm>.
DATA: ptr_wtab TYPE REF TO data.
FIELD-SYMBOLS: <fs_wtab> TYPE ANY.
CREATE DATA ptr_wtab TYPE (tabname).
ASSIGN ptr_wtab->* TO <fs_wtab>.
DATA: itabname(15) TYPE c.
itabname = '<fs_wtab>'.
Standard list status with 'SAVE' button
SET PF-STATUS 'STLI'.
CLEAR sl_update.
Maintain authorisation access in table ZTABAUTH
Key fields: tabname - Table name
bname = sy-uname - User name
statu = 'X' - maintain
' ' - view
Check authorisation access
acheck.
SELECT fieldname position keyflag datatype
INTO TABLE ifield
FROM dd03l
WHERE tabname = tabname
AND fieldname NOT LIKE '.INCLU%'
ORDER BY position.
FIELD-SYMBOLS: <f1> TYPE ANY.
DATA: tab_field(60) TYPE c,
sline LIKE sy-lisel.
DATA: field_attr LIKE dfies.
DATA: BEGIN OF tfield_attr OCCURS 0.
INCLUDE STRUCTURE field_attr.
DATA: END OF tfield_attr.
LOOP AT ifield.
CALL FUNCTION 'G_FIELD_READ'
EXPORTING
table = tabname
fieldname = ifield-fieldname
text_flag = 'X'
IMPORTING
field_attr = field_attr.
tfield_attr = field_attr.
APPEND tfield_attr.
ENDLOOP.
IF sl_sel = 'X'.
SELECT *
FROM (tabname)
INTO TABLE <fs_itab> UP TO numrows ROWS
WHERE (ds_clauses-where_tab).
ELSE.
SELECT *
FROM (tabname)
INTO TABLE <fs_itab> UP TO numrows ROWS.
ENDIF.
DESCRIBE TABLE <fs_itab> LINES sl_lines.
Show two extra lines to allow addition up to 2 new lines
IF sl_update = 'X'.
DO 2 TIMES.
APPEND INITIAL LINE TO <fs_itab>.
ENDDO.
ENDIF.
DATA: info(22) VALUE 'D - Delete, M - Modify'.
WRITE: / icon_information AS ICON QUICKINFO info.
WRITE ' '.
CLEAR check_len.
LOOP AT tfield_attr.
IF tfield_attr-datatype = 'CLNT'.
CONTINUE.
ENDIF.
len = tfield_attr-outputlen.
IF tfield_attr-keyflag = 'X'.
check_len = check_len + len + 1.
ENDIF.
IF tfield_attr-scrtext_m IS NOT INITIAL.
WRITE: AT (len) tfield_attr-scrtext_m COLOR 1.
ELSE.
WRITE: AT (len) tfield_attr-fieldtext COLOR 1.
ENDIF.
ENDLOOP.
CLEAR ss_step.
CLEAR ss_act.
LOOP AT <fs_itab> INTO <fs_wtab>.
IF sy-tabix LE sl_lines.
ss_step = 1.
ELSE.
CLEAR ss_step.
ENDIF.
In field SS_STEP put D - to delete record
M - to modify/add new record
IF sl_update = 'X'.
WRITE:/ icon_change AS ICON.
IF ss_step = 1.
WRITE: ss_act INPUT ON.
ELSE.
ss_act = 'M'.
WRITE: ss_act.
CLEAR ss_act.
ENDIF.
ELSE.
WRITE:/ icon_display AS ICON.
WRITE: ss_act COLOR 2.
ENDIF.
LOOP AT ifield.
Maintain client dependant tables in the same client
IF ifield-datatype = 'CLNT'.
sl_mandt = 'X'.
CONTINUE.
ENDIF.
CONCATENATE itabname '-' ifield-fieldname INTO tab_field.
ASSIGN (tab_field) TO <f1>.
IF sl_update = 'X'.
IF ifield-keyflag = 'X' AND ss_step IS NOT INITIAL.
WRITE: <f1> COLOR 4.
ELSE.
WRITE: <f1> INPUT ON.
ENDIF.
ELSE.
IF ifield-keyflag = 'X' AND ss_step IS NOT INITIAL.
WRITE: <f1> COLOR 4.
ELSE.
WRITE: <f1> COLOR 2.
ENDIF.
ENDIF.
UNASSIGN <f1>.
ENDLOOP.
ENDLOOP.
END-OF-SELECTION.
END-OF-SELECTION.
AT USER-COMMAND.
AT USER-COMMAND.
CASE sy-ucomm.
WHEN 'SAVE'.
IF sl_update = 'X'.
CLEAR: sl_step,
sl_status,
sl_subrc,
<fs_wtab>,
d_stat,
m_stat,
max_len.
REFRESH <fs_itd>.
REFRESH <fs_itm>.
DO.
IF sl_status <> 0.
EXIT.
ENDIF.
ADD 1 TO sl_step.
IF sl_subrc <> 0.
EXIT.
ENDIF.
CLEAR ss_step.
CLEAR ss_act.
READ LINE sl_step
FIELD VALUE ss_act INTO f_value.
sl_subrc = sy-subrc.
IF f_value(1) EQ 'D' OR f_value(1) = 'd'.
ss_step = 1. "Delete
ELSEIF f_value(1) EQ 'M' OR f_value(1) = 'm'.
ss_step = 2. "Modify
ELSE.
CLEAR ss_step.
ENDIF.
CHECK sy-lisel(3) = '0Z '.
IF ss_step GT 0.
CLEAR sline.
sline = sy-lisel+5(250).
max_len = 250.
CHECK sline(check_len) <> ' '.
LOOP AT tfield_attr.
CONCATENATE itabname '-' tfield_attr-fieldname
INTO tab_field.
ASSIGN (tab_field) TO <f1>.
IF tfield_attr-fieldname = 'MANDT'.
<f1> = sy-mandt.
ELSE.
CLEAR f_value.
IF max_len LT tfield_attr-outputlen.
max_len = 255.
ADD 1 TO sl_step.
READ LINE sl_step.
sline = sy-lisel.
ENDIF.
f_value = sline(tfield_attr-outputlen).
max_len = max_len - tfield_attr-outputlen - 1.
IF tfield_attr-inttype = 'D'.
IF f_value CO ' 0./-'.
CLEAR sl_datum.
<f1> = sl_datum.
ELSE.
CALL FUNCTION 'CONVERT_DATE_INPUT'
EXPORTING
input = f_value
plausibility_check = 'X'
IMPORTING
output = sl_datum
EXCEPTIONS
plausibility_check_failed = 1
wrong_format_in_input = 2
OTHERS = 3.
IF sy-subrc = 0.
<f1> = sl_datum.
ELSE.
text = 'Invalid Date'.
sl_status = 1.
EXIT.
ENDIF.
ENDIF.
ELSEIF tfield_attr-inttype = 'T'.
IF f_value CO ' 0:'.
CLEAR sl_uzeit.
<f1> = sl_uzeit.
ELSE.
CALL FUNCTION 'CONVERT_TIME_INPUT'
EXPORTING
input = f_value
plausibility_check = 'X'
IMPORTING
output = sl_uzeit
EXCEPTIONS
plausibility_check_failed = 1
wrong_format_in_input = 2
OTHERS = 3.
IF sy-subrc = 0.
<f1> = sl_uzeit.
ELSE.
text = 'Invalid Time'.
sl_status = 1.
EXIT.
ENDIF.
ENDIF.
ELSEIF tfield_attr-inttype = 'C'.
TRANSLATE f_value TO UPPER CASE.
<f1> = f_value.
ELSE.
TRANSLATE f_value USING ', '.
CONDENSE f_value NO-GAPS.
TRY.
<f1> = f_value.
CATCH cx_root INTO ref_ptr.
text = ref_ptr->get_text( ).
sl_status = 1.
EXIT.
ENDTRY.
ENDIF.
SHIFT sline BY tfield_attr-outputlen PLACES.
SHIFT sline LEFT.
ENDIF.
UNASSIGN <f1>.
ENDLOOP.
IF sl_status = 0.
CASE ss_step.
WHEN 1. "Delete
ADD 1 TO d_stat.
APPEND <fs_wtab> TO <fs_itd>.
WHEN 2. "Modify
ADD 1 TO m_stat.
APPEND <fs_wtab> TO <fs_itm>.
ENDCASE.
ENDIF.
ENDIF.
ENDDO.
IF sl_status = 0.
IF d_stat IS NOT INITIAL.
slchar = d_stat.
CONCATENATE 'Deleted -' slchar 'record.' INTO text
SEPARATED BY space.
DELETE (tabname) FROM TABLE <fs_itd>.
ENDIF.
IF m_stat IS NOT INITIAL.
slchar = m_stat.
CONCATENATE text 'Modified -' slchar 'record.' INTO text
SEPARATED BY space.
MODIFY (tabname) FROM TABLE <fs_itm>.
ENDIF.
IF d_stat IS INITIAL AND m_stat IS INITIAL.
MESSAGE 'No changes were done' TYPE 'S'.
ELSE.
MESSAGE text TYPE 'S'.
ENDIF.
LEAVE.
ELSE.
MESSAGE text TYPE 'I'.
EXIT.
ENDIF.
ELSE.
LEAVE.
ENDIF.
ENDCASE.
*--END--
Below is Function for a Dynamic Selection Screen
FUNCTION zstan_selections.
""Local interface:
*" IMPORTING
*" VALUE(TABNAME) LIKE DD02L-TABNAME DEFAULT 'ZSCARE'
*" EXPORTING
*" VALUE(DS_CLAUSES) TYPE RSDS_WHERE
*" EXCEPTIONS
*" TABLE_NOT_VALID
*" OTHER_ERROR
DATA texpr TYPE rsds_texpr.
DATA twhere TYPE rsds_twhere.
DATA trange TYPE rsds_trange.
DATA BEGIN OF qcat. "Selections View for
INCLUDE STRUCTURE rsdsqcat. "Free Selectoptions
DATA END OF qcat.
DATA BEGIN OF tabs OCCURS 10.
INCLUDE STRUCTURE rsdstabs.
DATA END OF tabs.
DATA BEGIN OF fields OCCURS 10.
INCLUDE STRUCTURE rsdsfields.
DATA END OF fields.
DATA BEGIN OF efields OCCURS 10.
INCLUDE STRUCTURE rsdsfields.
DATA END OF efields.
DATA selid LIKE rsdynsel-selid.
DATA actnum LIKE sy-tfill.
DATA title LIKE sy-title VALUE 'Selection Screen'.
DATA: maxnum LIKE sy-subrc VALUE '69'.
CLEAR tabs.
tabs-prim_tab = tabname.
COLLECT tabs.
DATA: position LIKE dd03l-position.
DATA: keyflag LIKE dd03l-keyflag.
CLEAR fields.
fields-tablename = tabname.
fields-sign = 'I'.
DATA: step LIKE sy-subrc.
SELECT fieldname keyflag position
INTO (fields-fieldname, keyflag, position)
FROM dd03l
WHERE tabname = tabname
AND fieldname NOT LIKE '.INCLU%'
AND datatype NE 'CLNT'
ORDER BY position.
ADD 1 TO step.
CHECK step LE maxnum.
IF keyflag <> 'X'.
efields = fields.
APPEND efields.
ENDIF.
APPEND fields.
ENDSELECT.
IF sy-subrc <> 0.
RAISE table_not_valid.
ENDIF.
CALL FUNCTION 'FREE_SELECTIONS_INIT'
EXPORTING
expressions = texpr
kind = 'F'
IMPORTING
selection_id = selid
expressions = texpr
where_clauses = twhere
field_ranges = trange
number_of_active_fields = actnum
TABLES
tables_tab = tabs
fields_tab = fields
fields_not_selected = efields
EXCEPTIONS
fields_incomplete = 01
fields_no_join = 02
field_not_found = 03
no_tables = 04
table_not_found = 05
expression_not_supported = 06
incorrect_expression = 07
illegal_kind = 08
area_not_found = 09
inconsistent_area = 10
kind_f_no_fields_left = 11
kind_f_no_fields = 12
too_many_fields = 13.
IF sy-subrc = 0.
CALL FUNCTION 'FREE_SELECTIONS_DIALOG'
EXPORTING
selection_id = selid
title = title
IMPORTING
where_clauses = twhere
expressions = texpr
field_ranges = trange
number_of_active_fields = actnum
TABLES
fields_tab = fields
EXCEPTIONS
internal_error = 01
no_action = 02
no_fields_selected = 03
no_tables_selected = 04
selid_not_found = 05.
IF sy-subrc = 0.
CLEAR ds_clauses.
MOVE tabname TO ds_clauses-tablename.
READ TABLE twhere WITH KEY ds_clauses-tablename INTO ds_clauses.
IF sy-subrc <> 0.
RAISE other_error.
ENDIF.
ELSE.
RAISE other_error.
ENDIF.
ELSE.
RAISE other_error.
ENDIF.
ENDFUNCTION.
Regards,
Shiva -
Hi!
I've created a dynpro with an ALV-Grid for Data-Overview and a lot of fields on the dynpro to change/insert additional data.
How can I read data back from the dynpro fields when changing the selected row at the ALV.
At the time of handling the event, the data entered on the dynpro isn't actual available in my coding.
Thanks for any hints!
PeterHi!
This is the dynpro-logic:
process before output.
module status_9210.
module vorschlag_9210.
call subscreen g_buch_button
including sy-repid g_buch_button_subscreen.
process after input.
chain.
field: zhrtv_planzusatz-buch_status,
zhrtv_planzusatz-buchungscode.
endchain.
chain.
field: zhrtv_planzusatz-betrg,
zhrtv_planzusatz-waers.
endchain.
module save_data_9210.
The PBO-Coding is just do fill the ALV-Grid and switch some dynpo-fields.
In the module save_data_9210 the entered data is saved to the corresponding structures.
Thanks for help!
Peter -
Hi there,
I'm wondering if anyone else is experiencing issues like this. I'm basically finding that a bunch of different buttons, fields, and tabs do not respond to my clicks. This seems to be spread out throughout the application.
I've had to work around most of this by using the tab and arrow keys to navigate around modal buttons and fields... but it is a bit of a pain.
There are some parts of the interface that can't be accessed via tabs and arrow keys... for example the ActionScript Tab on the Sound Properties window... there's no way to get to that... and clicking the tab itself does nothing, although I can see that the rollover state of the tab is activated.
I've ended up having to run Flash CS6 in order to set the export classes of sound files and that's a bigger pain.
Similar UI issues exist with other things... for example the color picker (eye dropper) seems to pick colors near, but not directly under itself.
I'll be honest... I'm running on Windows 7... via boot camp... on a Mac Book Pro with retina display... so the issues could stem from this combination. However... Flash CS6 does not have any of these issues... so I can only think that it is a Flash CC issue.
I appreciate any input you can provide. ( Although the obvious "run it on OSX instead" or "just use CS6" aren't the kinds of answers I'm looking for. I have my reasons for the setup. )
Thanks.
Cheerfully,
- JRThank you for the suggestion. I've just done the uninstall, clean, re-install process.
No luck.
Even the first-run modal that comes up to choose Sync Settings has the same problem. All three buttons will go to a rollover state if I mouse over them... however, none of them are clickable. The only clickable item is the OS window close button. If I use the TAB key to move from button to button it moves the yellow button selector accordingly. If I press the ENTER key it responds correctly. For some reason clicking is not working on these parts of the Flash CC UI.
*Note: This does not happen with all of the Flash CC UI elements... only some key ones (Save As - Confirm Overwrite, Symbol Properties and Swap Symbol dialog boxes also do not work with clicks, only with the keyboard navigation). Really a pain in the posterior.
Again, I'm wondering if this is an issue particular to my hardware/os combination but I have had no luck finding answers online.
Any other possible solutions out there? -
How to clear input field value on back
Hi All,
I have developed an application, in which user put sales order on first page and press a button then its detail display on second page using restAPI. Now when I press back button on second page then it takes me to first page with holding previous sales order value in input field. And when I change its value and press that button again then it shows me previous sales order detail.
Please suggest me, how to refresh cache and input fields value on back button?
Thanks & Regards
ShubhanshuHi Viren,
My code is,
First view
sap.ui.jsview("uitest2.first", {
getControllerName : function() {
return "uitest2.first";
createContent : function(oController) {
var text = new sap.m.Label({
text: 'Dealer Code',
layoutData: new sap.m.FlexItemData({alignSelf: sap.m.FlexAlignSelf.Center })
var input = new sap.m.Input("CUSTOMER",{
type: sap.m.InputType.Text,
placeholder: 'Enter Dealer code...',
layoutData: new sap.m.FlexItemData({growFactor: 1, alignSelf: sap.m.FlexAlignSelf.Center})
var Dealer = new sap.m.HBox({
items:[ text,input
// new sap.m.Label({
// text: 'Dealer Code'
// new sap.m.Input("CUSTOMER",{
// type: sap.m.InputType.Text,
// placeholder: 'Enter Dealer code...'
height : "6em"
var button = new sap.m.Button({
text: "Submit",
press: function(oEvent) {
oController.loadData();
app = sap.ui.getCore().byId("myApp");
app.to("idsecond1");//, sap.ui.getCore().byId("CUSTOMER").getValue());
layoutData: new sap.m.FlexItemData({alignSelf: sap.m.FlexAlignSelf.Center})
return new sap.m.Page({
title: "Sales Dealer Info",
content: [ Dealer,button
First controller
sap.ui.controller("uitest2.first", {
loadData: function() {
var oParameters = ({
"CUSTOMER" : sap.ui.getCore().getElementById('CUSTOMER').getValue(),
console.log(oParameters);
var url = "http://###########:8000/sap/bc/zrst_customer?sap-client=800/";
var oModel = new sap.ui.model.json.JSONModel();
$.ajax({
url : url ,
dataType : "jsonp",
type : "POST",
data: oParameters,
success: function(data,textStatus,jqXHR) {
data = JSON.parse(data);
console.log(data);
oModel.setData(data);
sap.ui.getCore().setModel(oModel);
Second View
sap.ui.jsview("uitest2.second", {
getControllerName : function() {
return "uitest2.second";
createContent : function(oController) {
var oTable = new sap.m.Table("table",{
headerText: "Dealer data",
columns: [
new sap.m.Column({
header: new sap.m.Label({text: "NAME"}),
demandPopin : true,
minScreenWidth : "Tablet",
new sap.m.Column({
header: new sap.m.Label({text: "CITY"}),
demandPopin : true,
minScreenWidth : "Tablet",
new sap.m.Column({
header: new sap.m.Label({text: "COUNTRY"}),
demandPopin : true,
minScreenWidth : "Tablet",
new sap.m.Column({
header: new sap.m.Label({text: "COUNTRYISO"}),
demandPopin : true,
minScreenWidth : "Tablet",
new sap.m.Column({
header: new sap.m.Label({text: "STREET"}),
demandPopin : true,
minScreenWidth : "Tablet",
new sap.m.Column({
header: new sap.m.Label({text: "PST_CODE"}),
demandPopin : true,
minScreenWidth : "Tablet",
new sap.m.Column({
header: new sap.m.Label({text: "TELEPHONE"}),
demandPopin : true,
minScreenWidth : "Tablet",
new sap.m.Column({
header: new sap.m.Label({text: "EMAIL"}),
demandPopin : true,
minScreenWidth : "Tablet",
items: {
path: "/KEY",
template: new sap.m.ColumnListItem({
cells: [
new sap.m.Text({ //new sap.m.ObjectIdentifier
text: "{NAME}"
new sap.m.Text({
text: "{CITY}"
new sap.m.Text({
text: "{COUNTRY}"
new sap.m.Text({
text: "{COUNTRYISO}"
new sap.m.Text({
text: "{STREET}"
new sap.m.Text({
text: "{PST_CODE}"
new sap.m.Text({
text: "{TELPHONE}"
new sap.m.Text({
text: "{EMAIL}"
return new sap.m.Page({
title: "Dealer Info",
showNavButton: true,
navButtonTap:function(){
app = sap.ui.getCore().byId("myApp");
app.to("idfirst1");
sap.ui.getCore().getElementById('CUSTOMER').setValue("");
oModel.refresh();
content: [ oTable
Index.htm
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<script src="resources/sap-ui-core.js"
id="sap-ui-bootstrap"
data-sap-ui-libs="sap.m,sap.ui.commons"
data-sap-ui-theme="sap_bluecrystal">
</script>
<!-- only load the mobile lib "sap.m" and the "sap_mvi" theme -->
<script>
sap.ui.localResources("uitest2");
var app = new sap.m.App("myApp",{initialPage:"idfirst1"});
var page = sap.ui.view({id:"idfirst1", viewName:"uitest2.first", type:sap.ui.core.mvc.ViewType.JS});
var page1 = sap.ui.view({id:"idsecond1", viewName:"uitest2.second", type:sap.ui.core.mvc.ViewType.JS});
app.addPage(page).addPage(page1);
app.placeAt("content");
</script>
</head>
<body class="sapUiBody" role="application">
<div id="content"></div>
</body>
</html>
Thanks
Shubhanshu -
Disable an Input field with the help of a radio button selection.
Hi Guys,
I know it is a very basic question and also has many threads for the mentioned query. None of the threads gave me a real clue about the problem. It is as follows:
Simply, I have an input field and there are two more radio buttons on the screen, say rd1, and rd2.
Initially Rb_gtgr is active and input field is blank and disabled, and when i select Rb_selgr, input field should be active and mandatory. It means when i try to execute the code with out entering any value after it is enabled, an error message should appear. For this the code is as follows:
AT SELECTION-SCREEN OUTPUT.
PERFORM screen_grace_on.
AT SELECTION-SCREEN ON p_grace.
PERFORM check_grace_days.
FORM screen_grace_on .
DATA: l_v_grace TYPE char2.
CONSTANTS: l_c_grace TYPE char7 VALUE 'P_GRACE'.
l_v_grace = p_grace.
CLEAR p_grace.
IF rb_selgr EQ c_x.
LOOP AT SCREEN.
IF screen-group1 = 'ABC'.
screen-required = 1.
screen-active = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-group1 = 'ABC'.
screen-input = 0.
screen-active = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
ENDFORM. " SCREEN_GRACE_ON
FORM check_grace_days.
IF rb_selgr EQ c_x AND p_grace EQ 0.
PERFORM screen_grace_on.
MESSAGE e492(/ams/ramfcmess1). " Enter the number of Grace days
ELSEIF rb_selgr EQ c_x AND p_grace GE 0.
PERFORM screen_grace_on.
ENDIF.
ENDFORM.
Ideally this code should work since in the PBO i.e., At selection screen output i am enabling the fields, and also when i select the second radio button i am also checking for the value too..
I am working on 4.7 version of SAP. The Most interesting observation is it works fine for few variants, and not with others.
Thank youHi,
Go through this following code,
selection-screen begin of block B2 with frame title TEXT-005.
selection-screen begin of line.
parameters: P_BIRPT type C radiobutton group RAD1 default 'X' user-command UCOMM.
selection-screen comment 3(20) TEXT-002 for field P_BIRPT.
selection-screen end of line.
selection-screen begin of line.
parameters: P_COLRPT type C radiobutton group RAD1.
selection-screen comment 3(20) TEXT-003 for field P_COLRPT.
selection-screen end of line.
selection-screen begin of line.
parameters: P_PAYRPT type C radiobutton group RAD1.
selection-screen comment 3(20) TEXT-004 for field P_PAYRPT.
selection-screen end of line.
selection-screen end of block B2.
selection-screen begin of block B1 with frame title TEXT-001.
select-options: SO_KTOKD for KNA1-KTOKD modif id M4,
SO_BLART for BSIS-BLART modif id M2.
parameters: P_PAID type ZCLEAR modif id M3 as listbox visible length 20.
selection-screen end of block B1.
at selection-screen output.
loop at screen.
if P_BIRPT eq 'X'.
if SCREEN-GROUP1 = 'M2' or SCREEN-GROUP1 = 'M3' .
SCREEN-INVISIBLE = '1'.
SCREEN-ACTIVE = '0'.
modify screen.
endif.
elseif P_COLRPT eq 'X'.
if SCREEN-GROUP1 = 'M3'.
SCREEN-INVISIBLE = '1'.
SCREEN-ACTIVE = '0'.
modify screen.
endif.
elseif P_PAYRPT eq 'X'.
if SCREEN-GROUP1 = 'M2'.
SCREEN-INVISIBLE = '1'.
SCREEN-ACTIVE = '0'.
modify screen.
endif.
if SCREEN-GROUP1 = 'M4'.
SCREEN-INVISIBLE = '1'.
SCREEN-ACTIVE = '0'.
modify screen.
endif.
endif.
endloop.
Thanks
Anil D -
Issue of Text input field in Where Tab of Migo During POST
Hi Friend's,
I m facing some issue In MIGO for Test Input field not showing in WHERE tabe during Display-Material on POST it will showing during check but when i try to post it it will invisible text input field what will be issue..high preiority..
Regard's,
shaikh.khalid.ok .
when i go migo and select GR and Purches order.after enter in below WHERE tab there is a text and input field of that when filling this i try to check it showin text and input field during check but once i press POST button and then go to where tab it not showing Text and input field both are invisible..
1.In MIGO During GR-purchase order in Where tab Text and it’s input field are showing during CHeck tabe
2.On POST it not showing Text Input Field both are invisible. -
Insert input field into Transparentcontainer
Hello all,
I am editing standard ESS /MSS dc threw NWDS . in the view of dc i am creating a Transparentcontainer in this container i am inserting a lable and input field.but when i am running the application the lable and the input field is not coming at proper position.
I want to how may i change the position of these fields so that i can them on screen as per my requiremnt .
Thanks.
PunitHi Punit,
Try the following piece of code (assuming you are adding UI element dynamically) before adding the label and the input field to the transparent container.
IWDTransparentContainer someObjName = (IWDTransparentContainer)view.createElement(IWDTransparentContainer.class, "SomeContainerName");
someObjName.setWidth("70%");
IWDGridLayout ContainerGridLayout = (IWDGridLayout) someObjName.createLayout(IWDGridLayout.class);
ContainerGridLayout.setColCount(2);
Hope it helps you. -
Digital Signature Turns Invalid while setting the Property Dynamically to an Input Field
I have an Input box that turns mandatory only if a check box is clicked.
The Script goes Something Like This;
if(chkbox.rawValue === 1){
inputField.mandatory = "error";
inputField.mandatoryMessage = "This Field cannot be left Blank";
inputField.presence = "visible";
} else {
inputField.mandatory = "disabled";
inputField.mandatoryMessage = "";
inputField.presence = "hidden";
I am working with Assembler Service and the Signature field is placed in the cover page after which this form is attached.
Any clue of why the property change Invalidates the Signature?
Note: The stand alone form where the Check box and Input field is present doesnot have a preSign event as this form doesnot contain a Signature field unless its merged using assembler. This Script is added to the Click Event of the Checkbox.
Cheers
Mahesh Krishnanweblogic.common.resourcepool.ResourceDisabledException: Pool mds-soa is Suspended, cannot allocate resources to applications ..Check server logs to find out why mds-soa is suspended. Make sure that datasource mds-soa is up and running on SOA servrs before deploying an application.
Regards,
Anuj -
Hi All,
I have a requirement to display one field in the ALV grid as input field,so that the user can enter value in that field when the ALV is displayed.I need to use this entered user value later in th eprg for further processing.
My worry is that i do not see any parameter such as "INPUT " or "EDIT " in the field catalog structure lvc_s_fcat for the ALV.
How can i acheive having editable input field in the ALV grid?
Please suggest.
Thanks,
SwatiEDIT field in field catalog is there, you must have ommited it.
ls_fieldcat-edit = 'X'. "set your desired column to be edited
Now you need to get entered value for further processing.
Define a class as a event receiver for data_changed or data_changed_finished events. Here is how to implement the latter method:
CLASS cl_alv_event_receiver DEFINITION.
PUBLIC SECTION.
METHODS:
cell_changed FOR EVENT data_changed_finished OF cl_gui_alv_grid
IMPORTING e_modified et_good_cells.
ENDCLASS.
CLASS cl_alv_event_receiver IMPLEMENTATION.
METHOD cell_changed.
check e_modified = 'X'. "if content of cell was changed
"here you check et_good_cells table, it will contain new values
"it is of type lvc_t_modi
ENDMETHOD.
ENDCLASS.
CREATE OBJECT cl_alv_event_receiver.
"now just indicate the handler for this event
SET HANDLER cl_avl_event_receiver->cell_changed FOR cl_gui_alv_grid.
Each time some action was perfomed on edit field, the method will be invoked and you can check inside what was changed and what is the new value.
Additionally after displaying your output table in alv, you need to register this event
"register edit events
CALL METHOD W_ROGRID->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_modified.
Now all you need is to update appropraite records to your internal table in your METHOD cell_changed. -
How to set cureent date as input field in alv
Hi Experts
I have created an Alv report.In that report i have an input field Created Date.
how to set the current date default in the alv input.Plz guideHi ,
In the internal table declare a field of type D and pass the sy-datum. this will solve ur problem.
Hope information shall be useful.
Regards
Santosh Kumaar.M
Maybe you are looking for
-
Mouse down event reading a string terminal trick
Hi, I wondered why I was getting frustrated entering a pasword that was verified in the mouse down event of the OK button. This is becuase when you click the OK button the entered text is still in the buffer and not copied to the terminal. (Which is
-
Multiple vendor payments with a single u201CYOURSELFu201D cheque
Hi, How do we handle multiple vendor payments with a single u201CYOURSELFu201D cheque, drawn in favor of the paying banker? OR NEFT transfers in SAP. Thanks, M. Senthil
-
How to get Customer Credit & Overdue balances?
Hi All, We need to retrieve Customer account balances data from SAP and pass that data to another third-party system. We have to create either a Custom Report or a Custom BAPI for this. The required values are 'Credit Balance' and 'Overdue Balance' f
-
Good day everyone, I have a question in regard to real server operation with different server farms, and VIPs Can a Real Server be associated ( for simpliciy) with two different Server Farms that have a VIP associated with each, servicing the same TC
-
Smart Group email just sitting in out box?
Hi I'm trying to send an email out to a smart group I created which has about 150 members. I right click send email while in the address book. The group ends up in the 'To:' field. I do a 'cmd A' to select all and move them to the 'bcc' field. I