How to read disqualified rows after filter criteria is applied?
Hi,
I Use JDeveloper 11.1.2
I have a view object, which shows 100 records during initial time. I've applied filter criteria in such a way that it displays only 20 records.
One of my requirement is to surf the records which are disqualified for the filter criteria (i.e. I should be able to read the rows that are not participated in the filtered View object)
I didn't find any API for this.
Can anyone help me on this?
Thanks in advance.
There its no api for this. All you can do is to either requery without the filter, or to negate the filter and then query again. Still you have to do this yourself.
Timo
Similar Messages
-
Hi Experts,
I Want to tead The ALV after appliying a filter. that means.. if my alv contains 50 rows. after filter suppose it reduce to 10 lines. i want to read those 10 lines into an itab.
Please suggest asap
Regards
Sarath SatheesanHi Sarath,
Try this code:
DATA: lr_INTERFACECONTROLLER TYPE REF TO IWCI_SALV_WD_TABLE,
l_VALUE type If_Salv_Wd_Table=>S_Type_Param_Get_Ui_Info.
try.
lr_INTERFACECONTROLLER = wd_This->wd_CpIfc_alv_invoice( ).
catch CX_WDR_RT_EXCEPTION.
endtry.
if not lr_INTERFACECONTROLLER is initial.
l_VALUE = lr_INTERFACECONTROLLER->Get_Ui_Info(
endif.
Regards,
Shemim -
How to insert and delete a row after filter applied
I thought I had figured out the solution to this problem but apparently not...
How do you insert a new row into a JTable after a filter has been applied? The problem is once the data is filtered when I add a row, I'm getting an ArrayIndexOutOfBoundsException : 182 which is the number of rows for the entire dataset.
The first line in the exception is: DefaultRowSorter.setModelToViewFromViewToModel
I've tried to use, getRowSorter().convertRowIndexToView(int) but I can't get it to work. Can anyone offer any assistance?
ThanksI also got that problem recently and after debuging for a while I figured out, that it was resulting from an error in my table's model: When the model received new items to display I
1.) Fired an delete event for the old items
2.) Fired an insert event for the new items
Problem was that when firing the delete event I didn't already assigned the new items to the model. Therefore it had still the old row count.
Maybe you have also a faulty table model?... -
How to read all rows stored in pojo bean from jsp page
Hi sir
After storing all rows into ArrayList object in pojo class, how to retrieve those rows from jsp page and display them together one by one.
RegardsWell, you wouldn't do it in Java. You would do it in JSTL, preferably.
So if your POJO had a getRows method which returned your List of row objects, you would get the list like this (after putting the POJO into request scope under the name of "pojo"):
${pojo.rows}
And if you wanted to go through that list and process each of the rows, then c:forEach would be the way:
<c:forEach value="row" items="${pojo.rows} />
(check the documentation, I'm posting this from memory) -
How to count updated rows after an UPDATE?
Is there a way to count updated rows after an update?
Let's say I have an update like
UPDATE table_a
set field_1 = 'new_field'
WHERE field_2 ='some_value' ;
And now I would like to insert an info record into logging table like
INSERT INTO logging_tbl (step, description, changed_rows) VALUES('UPDATE', 'update of table_a', ?);
update is in sqlplus script.
Thanks.
Message was edited by:
br00klynZ00Use SQL%ROWCOUNT.
DECLARE
v_num NUMBER := 0;
BEGIN
UPDATE table_a
set field_1 = 'new_field'
WHERE field_2 ='some_value' ;
v_num := SQL%ROWCOUNT;
INSERT INTO logging_tbl (step, description, changed_rows)
VALUES('UPDATE', 'update of table_a', v_num);
END; -
How to read output rows in alv
I have made alv grid. i have given checkbox for user to select the row.
so how to read the selected rows.hi
*REPORT YMS_ALVINTER.
*& tables declaration
TABLES: VBRK,VBRP.
*& type-pools declaration
TYPE-POOLS: SLIS.
*& data declaration
DATA: G_REPID TYPE SY-REPID.
DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV, "mara
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
WA_LAYOUT TYPE SLIS_LAYOUT_ALV,
WA_EVENT TYPE SLIS_ALV_EVENT,
T_EVENT TYPE SLIS_T_EVENT.
DATA: V_VBELN LIKE VBRK-VBELN,
V_MATNR LIKE VBRP-MATNR.
DATA: BEGIN OF IT_VBRK OCCURS 0,
VBELN LIKE VBRK-VBELN,
WAERK LIKE VBRK-WAERK,
VKORG LIKE VBRK-VKORG,
FKDAT LIKE VBRK-FKDAT,
BUKRS LIKE VBRK-BUKRS,
NETWR LIKE VBRK-NETWR,
END OF IT_VBRK.
DATA: BEGIN OF IT_VBRP OCCURS 0,
VBELN LIKE VBRP-VBELN,
POSNR LIKE VBRP-POSNR,
FKIMG LIKE VBRP-FKIMG,
VRKME LIKE VBRP-VRKME,
NETWR LIKE VBRP-NETWR,
MATNR LIKE VBRP-MATNR,
ARKTX LIKE VBRP-ARKTX,
END OF IT_VBRP.
*& selection screen
SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_VBELN FOR VBRK-VBELN,
S_FKDAT FOR VBRK-FKDAT,
S_MATNR FOR VBRP-MATNR.
SELECTION-SCREEN END OF BLOCK B.
**INITIALIZATION.
INITIALIZATION.
G_REPID = SY-REPID.
S_FKDAT-LOW = SY-DATUM - 200.
S_FKDAT-HIGH = SY-DATUM.
APPEND S_FKDAT.
***AT SELECTION-SCREEN.
AT SELECTION-SCREEN.
IF NOT S_VBELN IS INITIAL.
SELECT SINGLE VBELN FROM VBRK
INTO V_VBELN
WHERE VBELN IN S_VBELN.
IF SY-SUBRC <> 0.
MESSAGE E001(ZZ2).
ENDIF.
ENDIF.
IF NOT S_MATNR IS INITIAL.
SELECT SINGLE MATNR FROM MARA
INTO V_MATNR
WHERE MATNR IN S_MATNR.
IF SY-SUBRC <> 0.
MESSAGE E001(ZZ2).
ENDIF.
ENDIF.
***START-OF-SELECTION.
START-OF-SELECTION.
PERFORM GET_DATA_VBRK.
*& Form GET_DATA_VBRK
text
--> p1 text
<-- p2 text
FORM GET_DATA_VBRK .
SELECT VBELN
WAERK
VKORG
FKDAT
BUKRS
NETWR
INTO TABLE IT_VBRK
FROM VBRK
WHERE VBELN IN S_VBELN
AND FKDAT IN S_FKDAT.
ENDFORM. " GET_DATA_VBRK
*& Form GET_DATA_VBRP
text
--> p1 text
<-- p2 text
FORM GET_DATA_VBRP .
SELECT VBELN
POSNR
FKIMG
VRKME
NETWR
MATNR
ARKTX
FROM VBRP
INTO TABLE IT_VBRP
WHERE VBELN = IT_VBRK-VBELN.
ENDFORM. " GET_DATA_VBRP
***END-OF-SELECTION.
END-OF-SELECTION.
PERFORM EVENT_LIST.
PERFORM GET_FIELD_CATALOG.
PERFORM LIST_DISP .
*& Form list_disp
text
FORM LIST_DISP .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = G_REPID
I_CALLBACK_PF_STATUS_SET = 'POPUP'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_VBRK
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " LIST_DISP
*& Form GET_FIELD_CATALOG
text
--> p1 text
<-- p2 text
FORM GET_FIELD_CATALOG .
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = G_REPID
I_INTERNAL_TABNAME = 'IT_VBRK'
I_STRUCTURE_NAME =
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = G_REPID
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
CT_FIELDCAT = IT_FIELDCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " GET_FIELD_CATALOG
*& Form event_list
text
--> p1 text
<-- p2 text
FORM EVENT_LIST .
CLEAR WA_EVENT.
WA_EVENT-NAME = 'USER_COMMAND'.
WA_EVENT-FORM = 'USER_COMMAND'.
APPEND WA_EVENT TO T_EVENT.
CLEAR WA_EVENT.
ENDFORM. " event_list
*& Form user_command
text
-->R_UCOMM text
-->RS_SELFIELDtext
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN '&IC1'.
READ TABLE IT_VBRK INDEX RS_SELFIELD-TABINDEX.
PERFORM GET_DATA_VBRP.
PERFORM BUILD_FIELDCATALOG_VBRP .
PERFORM DISPLAY_ALV_VBRP.
ENDCASE.
ENDFORM. "user_command
*& Form BUILD_FIELDCATALOG_VBRP
text
--> p1 text
<-- p2 text
FORM BUILD_FIELDCATALOG_VBRP .
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = G_REPID
I_INTERNAL_TABNAME = 'IT_VBRP'
I_STRUCTURE_NAME =
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = G_REPID
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
CT_FIELDCAT = IT_FIELDCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " BUILD_FIELDCATALOG_VBRP
*& Form DISPLAY_ALV_VBRP
text
--> p1 text
<-- p2 text
FORM DISPLAY_ALV_VBRP .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = G_REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT =
IT_FIELDCAT = IT_FIELDCAT
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_VBRP
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " DISPLAY_ALV_VBRP
Message was edited by:
Rammohan Nagam
Message was edited by:
Rammohan Nagam -
How to read data row by row in design studio 1.2
Hi All,
I have a requirement to display data as a a ticker in my design studio application.
Attached picture shows the requirement.
I want to display top 3 best selling products from the data source. Data source will have two columns i.e. Product Name and Revenue. Requirement is to display top 3 product in a single ticker as presented below.
1. Product Name + Revenue 2. Product Name + Revenue 3.Product Name + Revenue
Any idea how to achieve this?
Best Regards,
TanishaHi Tammy,
Through the getData() function we can display the measure but as far as I know I never came across any function to display dimension value for that measure in design studio. In my requirement I need to display both measure and dimension (1. Product Name + Revenue).
I have never used the KPI tile SDK component but does it provide this functionality as well?
I have already seen this ticker code. It works fine for displaying a text box in ticker. But if someone wants to display something like above, then is it possible to read data row by row from a data source and then concatenate it as a string in a text box to display it in a ticker?
Regards,
Tanisha -
Hi experts it is urgent, how to read current row when f4 is pressed
hi all
i have a field xyz which is input/output enabled. this field is attached with f4 help.
my requirement is to get or read the row when user press f4 on that field so that restrict value should come in f4 help.
right now f4 is showing all data, but i want data with respect to the row.
so how to get or read the row when user press f4 i.e user will choose any row and this out is on alv grid and there are multiple records.
i hope u understood the query.
thanx
rockyHi,
Use function module DYNP_VALUES_READ and then read the Tables parameter of this function module to get the value of the field. for demo program see this report 'DEMO_DYNPRO_F4_HELP_MODULE'.
Thanks and regards.
Tanweer -
How to display a row after a subtotal field in ALV Grid
Hi All,
My requirement is to print a extra row with values and constant text after printing subtotal values in ALV Grid.
e.g. TOTAL 12.23 ---> Subtotal field
Tax 5.2 ---> extra row after subtotal field.
Please help me....
Thanks in advance.
Regards
AjayHi
You can try using INSERT <WA> OR INSERT INITIAL LINE .
fill the wa with tax value.
INSERT <wa> into table < internal table >
A row will be inserted into internal table with the values.
Try this and let me know.
Thanks
Hariharan -
How to read the row of resulted table one by one
Hi,
My query is displaying n no of rows in resulted table.Is there any way to read the row one by one and pass the value of attribute in other variable.
If anybody knows then please let me know.
thanks
Divyahi
read the VO using RowSetIterator
OAViewObject reqLinesVO = (OAViewObject)am.findViewObject("VO");
if(reqLinesVO!=null)
int fetchedRowCount = reqLinesVO.getFetchedRowCount();
RowSetIterator reqLinesIter = reqLinesVO.createRowSetIterator("reqLinesIter");
if (fetchedRowCount > 0)
reqLinesIter.setRangeStart(0);
reqLinesIter.setRangeSize(fetchedRowCount);
for (int i = 0; i < fetchedRowCount; i++)
OARow row = (OARow)reqLinesIter.getRowAtRangeIndex(i);
String getattr=(String) row.getAttribute("Attribute14");
// Always close the iterator when you're done.
reqLinesIter.closeRowSetIterator();
thanx
Pratap -
How to delete the rows after file uploded by LSMW
Hi,
I want to delete the the first three rows after file uploaded by lsmw.and i need to send the rest of the rows to custom table.Hi Hyma,
In response to adhitya
In field mapping at end the stricture there will be transfer_record , put there some condition and instead of the transfer_record put skip_record.
While doing Field mapping step
In the first line you can fine project-sub project-object
Below that u can find Field mappping and rule,Right click on that and click on Layout
select Processing times option Then u can see that.So add the particular statement what adhitya told.
Ravee.
Award points if useful -
How to keep Internal table after filter in tableview?
Hi, Im kinda new in BSP, Im an ABAP developer.
I manage to get info from a SolMan to my internal table using submit importing from memory after clicking a search button and the table is filled.
The thing is after I execute a filter on any field of the tableView my internal table is not FILTERED, I see the original internal table that I searched.
I wanna know how can I get the filtered table so if I make a Download to Excel button I want to download the table that Im seeing "filtered" and not the original one.
Thx
Edited by: Rodrigo Ariel Giner de la Vega on May 8, 2008 4:41 PMHi Roddy,
you have probably figured out by now that the tableView filter option only filters which rows are displayed from the itab, is does not actually remove the filtered rows. This makes sense otherwise it would have to rebuilt the itab with each pass to ensure any previously filtered rows are returned if the filter is changed.
What you can do it access the filter parameters in the OnInputProcessing method of your page. Essentially the HTTP request carries parameters as name/value pairs in either the HTTP header or as form fields. You can get to them like this..
DATA:
lt_ffields TYPE tihttpnvp,
lt_hfields type tihttpnvp.
request->get_header_fields( CHANGING fields = lt_hfields ).
request->get_form_fields( CHANGING fields = lt_ffields ).
Where the HTMLB event handling parameters are passed might depend on how you call the HTML form, so have a look in both areas for these parameters. I just did a simple test and they were in the form fields.
So you can place a button on your screen to trigger your download to Excel and have it call the standard htmlb event processing routines.
Then when you detect this button has been clicked in the OnInputProcessing method you can apply the tableView filters to the data before you send it to Excel.
Cheers
Graham Robbo -
How to regenerate additional rows after user clicks enter?
Hi all,
I am outputing the data through internal table(contains two fields 'Country' and 'Test')using ALV Classes.
My requirement is user can add another row.And
after appending another row user will enter country(say India) against the country
field and clicks enter.Then the program has to fetch all the tests(say 'test1' and 'test2' are there
for India) described for India from the database table and refresh the screen
with this additonal 2 rows(India, Test1 and India,Test2).
Can anyone please let me know how to do it?Remember I am using ALV Classes.
Thanks,
Balaji.Hello Balaji
I would use a simplified approach by storing the PBO output before displaying the editable ALV list. As soon as the user wants to save the data (enter 'SAVE' in command window) the report compares the PBO data with the current PAI data.
To see the effect simply add a single row as previously described (resulting in three new rows) and delete two other rows. Inserted and deleted rows will be displayed afterwards.
*& Report ZUS_SDN_ALVGRID_EDITABLE_7
REPORT zus_sdn_alvgrid_editable_7.
TYPE-POOLS: abap.
INCLUDE <icon>. " NOTE: replace by TYPE-POOLS: icon. on >= 6.20
DATA:
gd_repid TYPE syrepid,
gd_okcode TYPE sy-ucomm,
gs_layout TYPE lvc_s_layo,
gt_fcat TYPE lvc_t_fcat,
go_docking TYPE REF TO cl_gui_docking_container,
go_grid TYPE REF TO cl_gui_alv_grid.
TYPES: BEGIN OF ty_s_outtab.
INCLUDE TYPE knb1.
TYPES: END OF ty_s_outtab.
TYPES: ty_t_outtab TYPE STANDARD TABLE OF ty_s_outtab
WITH DEFAULT KEY.
DATA:
gt_outtab TYPE ty_t_outtab,
gt_outtab_pbo TYPE ty_t_outtab.
* CLASS lcl_eventhandler DEFINITION
CLASS lcl_eventhandler DEFINITION.
PUBLIC SECTION.
CLASS-METHODS:
handle_data_changed
FOR EVENT data_changed OF cl_gui_alv_grid
IMPORTING
er_data_changed
e_onf4
e_onf4_before
e_onf4_after
e_ucomm
sender,
handle_data_changed_finished
FOR EVENT data_changed_finished OF cl_gui_alv_grid
IMPORTING
e_modified
et_good_cells,
handle_user_command
FOR EVENT user_command OF cl_gui_alv_grid
IMPORTING
e_ucomm,
handle_toolbar
FOR EVENT toolbar OF cl_gui_alv_grid
IMPORTING
e_object
e_interactive.
ENDCLASS. "lcl_eventhandler DEFINITION
* CLASS lcl_eventhandler IMPLEMENTATION
CLASS lcl_eventhandler IMPLEMENTATION.
METHOD handle_data_changed.
* define local data
** cl_gui_cfw=>set_new_ok_code( 'REFRESH' ). " not possible on 4.6c
CALL METHOD cl_gui_cfw=>set_new_ok_code
EXPORTING
new_code = 'REFRESH'
* IMPORTING
* RC =
ENDMETHOD. "handle_data_changed
METHOD handle_data_changed_finished.
* define local data
DATA:
ls_outtab TYPE ty_s_outtab,
ls_cell TYPE lvc_s_modi.
ENDMETHOD. "handle_data_changed_finished
METHOD handle_user_command.
ENDMETHOD. "handle_user_command
METHOD handle_toolbar.
* define local data
DATA:
ls_button TYPE stb_button.
ls_button-function = 'DEFAULT'.
ls_button-icon = icon_mass_change.
ls_button-quickinfo = 'Set default value for column'.
APPEND ls_button TO e_object->mt_toolbar.
ENDMETHOD. "handle_toolbar
ENDCLASS. "lcl_eventhandler IMPLEMENTATION
START-OF-SELECTION.
SELECT * FROM knb1 INTO TABLE gt_outtab UP TO 20 ROWS
WHERE bukrs = '1000'.
gt_outtab_pbo = gt_outtab. " store PBO data
* Create docking container
CREATE OBJECT go_docking
EXPORTING
parent = cl_gui_container=>screen0
ratio = 90
EXCEPTIONS
OTHERS = 6.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Create ALV grid
CREATE OBJECT go_grid
EXPORTING
i_parent = go_docking
EXCEPTIONS
OTHERS = 5.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Build fieldcatalog
PERFORM build_fieldcatalog.
PERFORM set_layout.
SET HANDLER:
lcl_eventhandler=>handle_toolbar FOR go_grid,
lcl_eventhandler=>handle_data_changed FOR go_grid,
lcl_eventhandler=>handle_data_changed_finished FOR go_grid.
* Display data
CALL METHOD go_grid->set_table_for_first_display
EXPORTING
is_layout = gs_layout
CHANGING
it_outtab = gt_outtab
it_fieldcatalog = gt_fcat
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
go_grid->set_toolbar_interactive( ).
CALL METHOD go_grid->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_enter
EXCEPTIONS
error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Link the docking container to the target dynpro
gd_repid = syst-repid.
CALL METHOD go_docking->link
EXPORTING
repid = gd_repid
dynnr = '0100'
* CONTAINER =
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* ok-code field = GD_OKCODE
CALL SCREEN '0100'.
* Flow logic (no elements on screen):
* PROCESS BEFORE OUTPUT.
* MODULE STATUS_0100.
* PROCESS AFTER INPUT.
* MODULE USER_COMMAND_0100.
END-OF-SELECTION.
*& Module STATUS_0100 OUTPUT
* text
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STATUS_0100'.
* SET TITLEBAR 'xxx'.
CALL METHOD go_grid->refresh_table_display
* EXPORTING
* IS_STABLE =
* I_SOFT_REFRESH =
EXCEPTIONS
finished = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
* text
MODULE user_command_0100 INPUT.
TRANSLATE gd_okcode TO UPPER CASE.
* Fetch changes on ALV grid
go_grid->check_changed_data( ).
CASE gd_okcode.
WHEN 'BACK' OR
'END' OR
'CANC'.
SET SCREEN 0. LEAVE SCREEN.
WHEN 'REFRESH'.
PERFORM refresh_outtab.
WHEN 'SAVE'.
PERFORM save_data.
WHEN OTHERS.
ENDCASE.
CLEAR: gd_okcode.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form BUILD_FIELDCATALOG_KNB1
* text
* --> p1 text
* <-- p2 text
FORM build_fieldcatalog .
* define local data
DATA:
ls_fcat TYPE lvc_s_fcat.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
* I_BUFFER_ACTIVE =
i_structure_name = 'KNB1'
* I_CLIENT_NEVER_DISPLAY = 'X'
* I_BYPASSING_BUFFER =
* I_INTERNAL_TABNAME =
CHANGING
ct_fieldcat = gt_fcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
" Set required fields editable
LOOP AT gt_fcat INTO ls_fcat
WHERE ( fieldname = 'ZUAWA' OR
fieldname = 'BUSAB' ).
ls_fcat-edit = abap_true.
MODIFY gt_fcat FROM ls_fcat.
ENDLOOP.
DELETE gt_fcat WHERE ( fieldname = 'ZINRT' ).
ENDFORM. " BUILD_FIELDCATALOG
*& Form SET_LAYOUT
* text
* --> p1 text
* <-- p2 text
FORM set_layout .
CLEAR: gs_layout.
gs_layout-cwidth_opt = abap_true.
gs_layout-zebra = abap_true.
** gs_layout-stylefname = 'CELLTAB'.
ENDFORM. " SET_LAYOUT
*& Form REFRESH_OUTTAB
* text
* --> p1 text
* <-- p2 text
FORM refresh_outtab .
* define local data
DATA:
ld_idx TYPE i,
ls_outtab TYPE ty_s_outtab,
ls_tmp TYPE ty_s_outtab,
lt_tmp TYPE ty_t_outtab.
" Simulate selection of data depending on value of ZUAWA
ls_tmp-zuawa = '003'.
ls_tmp-busab = 'K1'. APPEND ls_tmp TO lt_tmp.
ls_tmp-busab = 'K2'. APPEND ls_tmp TO lt_tmp.
ls_tmp-busab = 'K3'. APPEND ls_tmp TO lt_tmp.
LOOP AT gt_outtab INTO ls_outtab
WHERE ( zuawa = '003'
AND busab IS INITIAL ).
ld_idx = syst-tabix.
LOOP AT lt_tmp INTO ls_tmp.
ls_outtab-busab = ls_tmp-busab.
IF ( syst-tabix = 1 ).
MODIFY gt_outtab FROM ls_outtab INDEX ld_idx.
ELSE.
APPEND ls_outtab TO gt_outtab.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDFORM. " REFRESH_OUTTAB
*& Form SAVE_DATA
* text
* --> p1 text
* <-- p2 text
FORM save_data .
* define local data
DATA:
ls_outtab TYPE ty_s_outtab,
ls_pbo TYPE ty_s_outtab,
lt_insert TYPE ty_t_outtab,
lt_delete TYPE ty_t_outtab.
" Compare PBO with PAI -> find deleted records
LOOP AT gt_outtab_pbo INTO ls_pbo.
READ TABLE gt_outtab INTO ls_outtab
WITH KEY table_line = ls_pbo.
IF ( syst-subrc NE 0 ).
APPEND ls_outtab TO lt_delete.
ENDIF.
ENDLOOP.
" Compare PAI with PBO data -> find new records
LOOP AT gt_outtab INTO ls_outtab.
READ TABLE gt_outtab_pbo INTO ls_pbo
WITH KEY table_line = ls_outtab.
IF ( syst-subrc NE 0 ).
APPEND ls_outtab TO lt_insert.
ENDIF.
ENDLOOP.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_structure_name = 'KNB1'
i_grid_title = 'New Records'
TABLES
t_outtab = lt_insert
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_structure_name = 'KNB1'
i_grid_title = 'Deleted Records'
TABLES
t_outtab = lt_delete
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
gt_outtab_pbo = gt_outtab. " do not forget !!!
ENDFORM. " SAVE_DATA
Regards
Uwe -
How to read client certificate after SSL has be established
Hi, Folks:
I've established mutual authentication between client and server, how do I go about reading the client certificate on the server side after SSL session has been established? Basically I am trying to read the client name from the client certificate, based on the name, the server will decide what resource the client can access.
Thanks a lot
--RichardI need to know the process clearly... like how to configure ssl serverAs I said, that's not the topic of this thread. It's described in the Javadoc, and it's been covered in this forum, and the forum has a search facility. If you still have a question, start your own thread. Don't hijack other threads about other topics.
Every one knows to read API documentation. If those were clear then I wouldn't ask here for help. Then you need to ask a specific question about something you specifically didn't understand, in a specific thread, in a specific forum. The best reference is the Javadoc. That's what it's for, and reading it is how I learned Java. If you can't understand it maybe you need to make more of an effort. Nobody is going to type it in here again for you in a more comprehensible form (I hope). It's your job to understand the material you have to work with. At the moment you're just asking someone to do your job for you.
And yes this topic may have been covered previously, but its not necessary for me to know what topics are covered in this forum.The question asked in this thread has been answered previously in this thread. Is that too hard to find? The question you asked that hasn't been covered in this thread doesn't belong in this thread. Is that too hard to understand? -
How to increase the row after matching one opration??
hello,
i am looking for the logic to go to the next row if data are matched.
for example when i run vi it will take first row and in first row data of the column 3 and 4 are compared with the data which is enterd by user.
if data matched then next row will come and same operation will going on.
here in attachment i have attached vi in which i tried to compare the coulum 3 and 4 with the manualy enter data.
could any one please suggest that how can i do so??
thank you very much in advance.
Attachments:
Untitled 3.vi 9 KB
1 - Copy.log 1 KBWhat do you do if they don't match?
Do you really just want to keep reading the file? Are you waiting for the file to change?
How do you know when you are done looking for matches?
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
Maybe you are looking for
-
Dear Friends, Am a technical resource and have some good exposure to SD order to cash flow and transactions! But cannot put them in a sequence since am not in touch with SD or any logistics for quite time now! Can some one please get me info. about
-
Search purchase requisition class
Hi all, i search a class for manipulate purchase requisition object. I don't find it. For purchase order i use CL_PO_HEADER_HANDLE_MM, but for purchase requisition ? Thanks a lot. Cheers.
-
Disable BP Search Screen in IC based on CAD data
Hi, We implementing CRM 7.0 IC, with CTI Genesys 7.5.1 (ICI 3.06). I would like to know how to disable BP Search functionality in IC, based on the specific value for the Call Type from CTI (should be passed in the CAD data). For all other Call Types
-
Dragging doesn't always get the 'green plus'
I use drag and drop with exposé so often I have got used to the fact that it only works about half the time. I'm trying to drag images from iPhoto into applications like Pages, Keynote, Word, etc. How come I get the green plus sometimes but not other
-
61 Days and counting and Photo Stream still grayed out in iCloud CP
61 Days and counting and Photo Stream still grayed out in iCloud CP since problem first discussed with Apple. No help, just reported to software engineers for investigation. Twomonths ago! So much for Apples' superior products and customer service. P