SELECT stmt required to retrieve the output data as specified.
source table:
Origin Destination Miles
Sydney Melbourne 1000
Perth Adelaide 3000
Canberra Melbounre 700
Melbourne Sydney 1000
Brisbane Sydney 1000
Perth Darwin 4000
Sydney Brisbane 1000
Duplicate routes are to be ignored so the output is
out put:
Origin Destination Miles
Sydney Melbourne 1000
Perth Adelaide 3000
Canberra Melbounre 700
Brisbane Sydney 1000
Perth Darwin 4000
Please suggest a select query / sub query with out using any subprograms or functions/pkgs to get the out put table.
Hi Pawan,
Try this document
<b>https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f0de1eb8-0b98-2910-7996-8a3c2fcf6785</b>
Regards,
ABY
Similar Messages
-
To retrieve the Maximum Date from the record
Hi All,
I am using the bleow query to retrieve the max date from the record list:
select w.wr_no,w.customer_id,w.place_id, w.entry_Date, max(app.appointment_date) as appointment_date
from work_request w , wr_appointment app
where w.wr_no=app.wr_no
and w.customer_id = '020167001'
and w.place_id = '1151667'
group by w.wr_no, w.customer_id,w.place_id, w.entry_Date;
However i am getting the as many as three rows even after using the max function. The max date comes as the last record out the three rows retrieved.
Thanks,
MarkMark Andrew wrote:
And for Sven for the above customer id and place id, i receive the below result:
WR_NO CUSTOMER_ID PLACE_ID ENTRY_DATE APPOINTMENT_DATE
1306782233 020167001 1151667 26/07/2010 29/07/2010
1387090103 020167001 1151667 26/02/2010 16/03/2010
1393896673 020167001 1151667 23/01/2011 25/01/2011
After using the rank function i will be receiving:
WR_NO CUSTOMER_ID PLACE_ID ENTRY_DATE APPOINTMENT_DATE RK
1393896673 020167001 1151667 23/01/2011 25/01/2011 1Now I get it.
In fact you want to group only on the customer (and place_id?) and get all the information from the line with the last appointment date.
Analytic functions such as RANK or ROW_NUMBER are good for this.
The select can look like this.
select * from (
select w.wr_no,w.customer_id,w.place_id, w.entry_Date, app.appointment_date,
row_number() over (partition by w.customer_id, w.place_id order by app.appointment_date desc, w.wr_no desc) rn
from work_request w , wr_appointment app
where w.wr_no=app.wr_no
--and w.customer_id = '020167001'
--and w.place_id = '1151667'
where rn = 1
;In fact I think you can do the same operation in EXCEL directly.
FIrst you need to sort the data by customer (asc), place (asc) and appointment date (desc).
Then add a column in excel that give you the line where you have a new customer id.
Assuming this new column is column H and the customerid is in column A then the function in Cell H2 would look like this.
A function like ("=A2=A1"). Copy this formular to all the other H cells.
Then add a auto filter on it and only select all the rows where the result is FALSE.
Same logic as in SQL, but done in Excel. -
Can I get a query to get the output data like 4th column instead of 3rd col
Can I get a query to get the output data like 4th column instead of 3rd column ?
SQL> select emp.deptno, empno, rownum from emp, dept where emp.deptno=dept.deptno;
DEPTNO EMPNO ROWNUM
10 7782 *1* *1*
10 7839 *2* *2*
10 7934 *3* *3*
20 7369 *4* *1*
20 7876 *5* *2*
20 7902 *6* *3*
20 7788 *7* *4*
20 7566 *8* *5*
30 7499 *9* *1*
30 7698 *10* *2*
30 7654 *11* *3*
30 7900 *12* *4*
30 7844 *13* *5*
30 7521 *14* *6*
14 rows selected.SQL> select emp.deptno, emp.empno,
2 row_number() over(order by emp.deptno, emp.empno) rn,
3 row_number() over(partition by emp.deptno order by emp.empno) dept_rn
4 from emp, dept
5 where emp.deptno=dept.deptno
6 order by emp.deptno, emp.empno;
DEPTNO EMPNO RN DEPT_RN
10 7782 1 1
10 7839 2 2
10 7934 3 3
20 7369 4 1
20 7566 5 2
20 7788 6 3
20 7876 7 4
20 7902 8 5
30 7499 9 1
30 7521 10 2
30 7654 11 3
30 7698 12 4
30 7844 13 5
30 7900 14 6
14 rows selected.Regards,
Dima -
To retrieve the oldest date in the report
I have a requirement to retrive the oldest date in the report, I am currently working in BW 3.5
The scenario is as below
I have a char infoObject creation date which retrieves the date
I have a char infoobject status which retrieves open or close
For eg in my cube I have 5 records
3 records has the status open and 2 records has the status closed
When I adding the InfoObject "creation date" which has filtered for the open status , I am getting the result correctly with 3 records
Now my requirement is I need to have only one row which should get oldest "creation date" out of the 3 records as below
Rec1 10.10.2006
Rec2 25.11.2007
Rec3 20.08.2009
I need only one count in the creation date which should show me 10.10.2006Hi Pavan.
Can you model the creation date as a key figure as well as having it as a char? If so, you can create a condition on the key figure, to only give you the "Bottom 1" record.
I think in 3.5 you cannot use a formula variable to read the value of the char in the row, but if you can, you can do it like that with a calculated key figure where you use the formula var and then put a condition on this ckf.
regards
Jacob -
How to get the output data of Standard drill down report into z-program?
HI every one,
I want to get the output data of drill down report into z-program.
Actually,if the output is only one, I can get into z-program,
But, Here the report consists 3 alv outputs. when double clicking function happens, it will direct to another alv output.
Those, all the outputs of report i want to get into z-program.
PLease , give reply as early as possible.
Thank u in advance,
karthikHI,
When i download,only one output i will get.
But,if i double-click the particular record it will show another output. I want that output also.
Like that,when i double-click particular record, it will show some other alv ouput based on record,
i wanted all those outputs.
If i copy the code, whether i face any problems? -
HT204003 "An error occured retrieving the Passport data. Please try again"
I can't put my movie tickets into passport."An error occurred retrieving the Passport data. Please try again" Using iphone6
I Am also having this issue. Can't add movie tickets and I can't add the scene points It was working fine until ios8.
-
Retrieving the milestone dates for an opportunity line item
Good afternoon experts,
I am looking for a way to retrieve the milestone dates for an opportunity line item. I have the line item GUID and need to find out the milestone dates for the item.
Is there a table or FM that will allow me to do this?
Thanks,
EricHi Eric,
I think you can use the FM 'CRM_ORDER_READ'. Pass the guid of the transaction as input to the FM , milestones details you will get from the parameter 'ET_APPOINTMENT'.
Hope this helps.
Regards,
Ruby. -
How can i retrieve the output of procedure using a select statement ?
Hi every one.
this mite be dumm ?
how can i use the output of the a procedure containing multiple rows of data in a select statement ?This is not a SQL Developer question. You should ask it in the SQL and PL/SQL forum.
The short answer is you can't. Sounds is if you are trying to use MSSQL techniques in oracle. Learn oracle techniques -
ALV- Changing the output data and saving in database
hi friends,
I have to change the material description in the output and have to save the changes in database..
For changing the description I have to raise a pop-up, then I have to give the required change and then save..
How to do it?
My code is as follows:
TABLES : vbrk,vbrp,vbpa,adrc.
TYPE-POOLS : slis.
DATA: w_report_id LIKE sy-repid.
DATA: w_title TYPE lvc_title VALUE 'DIPLAY CUSTOMER BILLING DOCUMENT'.
DATA: w_layout TYPE slis_layout_alv.
DATA: w_fieldcat TYPE slis_t_fieldcat_alv.
DATA: w_events TYPE slis_t_event.
DATA: w_header TYPE slis_t_listheader.
DATA: sum LIKE vbrk-netwr.
SELECT-OPTIONS:
erdat FOR vbrk-erdat,
vkorg FOR vbrp-vkorg_auft,
kunag FOR vbrk-kunag.
DATA : BEGIN OF itab OCCURS 0,
fkdat TYPE vbrk-fkdat,
kunrg TYPE vbrk-kunrg,
name1 TYPE adrc-name1,
vbeln TYPE vbrk-vbeln,
augru_auft TYPE vbrp-augru_auft,
netwr TYPE vbrk-netwr,
waerk TYPE vbrk-waerk,
vbtyp TYPE vbrk-vbtyp,
fkart TYPE vbrk-fkart,
END OF itab.
DATA itab1 LIKE STANDARD TABLE OF itab.
SELECT vbrkfkdat vbrkkunrg adrcname1 vbrkvbeln vbrp~augru_auft
vbrknetwr vbrkwaerk
INTO TABLE itab1
FROM ( ( ( vbrk INNER JOIN vbrp ON vbrkvbeln = vbrpvbeln )
INNER JOIN vbpa ON vbpavbeln = vbrkvbeln )
INNER JOIN adrc ON adrcaddrnumber = vbpaadrnr )
WHERE vbtyp = 'O'
AND vbrk~erdat IN erdat
AND vbrp~vkorg_auft IN vkorg
AND vbrk~kunag IN kunag.
w_report_id = sy-repid.
PERFORM i_layout CHANGING w_layout.
PERFORM i_fieldcat CHANGING w_fieldcat.
SORT itab1 BY waerk fkart .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = 'ZTRAINING2'
i_grid_title = w_title
is_layout = w_layout
it_fieldcat = w_fieldcat
i_save = 'A'
TABLES
t_outtab = itab1
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.
*& Form i_fieldcat
text
-->P_W_FEILDCAT text
FORM i_fieldcat CHANGING p_w_feildcat.
DATA: l_line_fieldcat TYPE slis_fieldcat_alv.
CLEAR l_line_fieldcat.
l_line_fieldcat-fieldname = 'FKDAT'.
l_line_fieldcat-ref_tabname = 'ITAB1'.
l_line_fieldcat-edit_mask = '__-__-____'.
l_line_fieldcat-seltext_m = 'Billing Document date '.
APPEND l_line_fieldcat TO w_fieldcat.
CLEAR l_line_fieldcat.
l_line_fieldcat-fieldname = 'KUNRG'.
l_line_fieldcat-ref_tabname = 'ITAB1'.
l_line_fieldcat-seltext_m = 'Cust no'.
APPEND l_line_fieldcat TO w_fieldcat.
CLEAR l_line_fieldcat.
l_line_fieldcat-fieldname = 'NAME1'.
l_line_fieldcat-ref_tabname = 'ITAB1'.
l_line_fieldcat-seltext_m = 'Name of the reseller'.
APPEND l_line_fieldcat TO w_fieldcat.
CLEAR l_line_fieldcat.
l_line_fieldcat-fieldname = 'VBELN'.
l_line_fieldcat-ref_tabname = 'ITAB1'.
l_line_fieldcat-seltext_m = 'Billing document number'.
APPEND l_line_fieldcat TO w_fieldcat.
CLEAR l_line_fieldcat.
l_line_fieldcat-fieldname = 'AUGRU_AUFT'.
l_line_fieldcat-ref_tabname = 'ITAB1'.
l_line_fieldcat-seltext_m = 'Order reason'.
APPEND l_line_fieldcat TO w_fieldcat.
CLEAR l_line_fieldcat.
l_line_fieldcat-fieldname = 'NETWR'.
l_line_fieldcat-ref_tabname = 'ITAB1'.
l_line_fieldcat-seltext_m = 'Amount'.
APPEND l_line_fieldcat TO w_fieldcat.
CLEAR l_line_fieldcat.
l_line_fieldcat-fieldname = 'WAERK'.
l_line_fieldcat-ref_tabname = 'ITAB1'.
l_line_fieldcat-seltext_m = 'Currency'.
APPEND l_line_fieldcat TO w_fieldcat.
ENDFORM. "i_fieldcat
*& Form i_layout
text
-->P_W_LAYOUT text
FORM i_layout CHANGING p_w_layout.
CLEAR w_layout.
w_layout-colwidth_optimize = 'X'.
w_layout-edit = 'X'.
ENDFORM. " i_layout
Thanks,
Revathi Raju.Check out the following link for top_of_page event in OOPs ALV.
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e8a1d690-0201-0010-b7ad-d9719a415907
You can also check out the following program.
DATA: save_ok LIKE sy-ucomm,
g_container TYPE scrfname VALUE 'CC1',
g_grid TYPE REF TO cl_gui_alv_grid,
g_custom_container TYPE REF TO cl_gui_custom_container,
gt_fieldcat TYPE lvc_t_fcat,
g_max TYPE i VALUE 100.
* declarations for top of page event
Data: gv_c_split type ref to cl_gui_splitter_container,
gv_c_ptv type ref to cl_gui_container,
gv_alv_ptv type ref to cl_gui_alv_grid,
o_dd_doc TYPE REF TO cl_dd_document,
text TYPE sdydo_text_element,
o_split type ref to cl_gui_easy_splitter_container,
o_top type ref to cl_gui_container,
o_bot type ref to cl_gui_container,
gv_c_vp type ref to cl_gui_container.
* end of declaration for top of page.
CLASS lcl_event_receiver DEFINITION DEFERRED.
*class lcl_application_dc definition deferred.
DATA: o_event_receiver TYPE REF TO lcl_event_receiver.
* g_dc type ref to lcl_application_dc.
DATA: gt_outtab TYPE TABLE OF sbook.
* CLASS lcl_event_receiver DEFINITION
CLASS lcl_event_receiver DEFINITION.
PUBLIC SECTION.
METHODS: handle_f4 FOR EVENT onf4 OF cl_gui_alv_grid
IMPORTING e_fieldname
es_row_no
er_event_data
et_bad_cells
e_display,
handle_top_of_page FOR EVENT top_of_page OF cl_gui_alv_grid
IMPORTING e_dyndoc_id.
METHODS: reset.
METHODS: show_f4.
PRIVATE SECTION.
* attributes for creating an own F4-Help
* (using a second ALV Grid Control
DATA: f4_grid TYPE REF TO cl_gui_alv_grid,
f4_custom_container TYPE REF TO cl_gui_custom_container.
TYPES: BEGIN OF ty_f4.
TYPES: value TYPE s_class.
TYPES: descr(20) TYPE c.
TYPES: END OF ty_f4.
DATA: f4_itab TYPE TABLE OF ty_f4.
DATA: f4_fieldcatalog TYPE lvc_t_fcat.
* attributes to store event parameters
* (after the CALL SCREEN command, the event parameters
* are not accessible)
TYPES: BEGIN OF onf4_event_parameters_type.
TYPES: c_fieldname TYPE lvc_fname.
TYPES: cs_row_no TYPE lvc_s_roid.
TYPES: cr_event_data TYPE REF TO cl_alv_event_data.
TYPES: ct_bad_cells TYPE lvc_t_modi.
TYPES: c_display TYPE char01.
TYPES: END OF onf4_event_parameters_type.
DATA: f4_params TYPE onf4_event_parameters_type.
* Methods to create own F4-Help
* (This is done using a second ALV Grid Control)
METHODS: init_f4.
METHODS: build_fieldcatalog.
METHODS: fill_f4_itab .
METHODS: on_double_click FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING es_row_no.
ENDCLASS. "lcl_application_f4 DEFINITION
* CLASS lcl_event_receiver IMPLEMENTATION
CLASS lcl_event_receiver IMPLEMENTATION.
*§2. Implement an event handler method for event ONF4.
METHOD handle_f4.
* Save event parameter as global attributes of this class
* (maybe solved differently if you use a function module!)
f4_params-c_fieldname = e_fieldname.
f4_params-cs_row_no = es_row_no.
f4_params-cr_event_data = er_event_data.
f4_params-ct_bad_cells = et_bad_cells.
f4_params-c_display = e_display.
*§3. Call your own f4 help. To customize your popup check
* first if the cell is ready for input (event parameter E_DISPLAY).
* (parameter E_DISPLAY is checked later in method on_double_click)
* (Probably, you would call a function module at this point,
* pass the needed event parameter and call the popup screen
* within that function module. This is not done in this example
* to avoid scattering its code).
CALL SCREEN 101 STARTING AT 10 10.
*§7. Inform the ALV Grid Control that an own f4 help has been processed
* to suppress the standard f4 help.
er_event_data->m_event_handled = 'X'.
ENDMETHOD. "on_f4
METHOD show_f4.
* DATA: ls_outtab TYPE sbook.
* initialize own f4 help if needed
IF f4_custom_container IS INITIAL.
CALL METHOD init_f4.
ENDIF.
CALL METHOD fill_f4_itab.
* refresh list of values in f4 help and show it
CALL METHOD f4_grid->refresh_table_display.
* CAUTION: Do not use method REFRESH_TABLE_DISPLAY for
* your editable ALV Grid instances while handling events
* DATA_CHANGED or ONf4. You would overwrite intermediate
* values of your output table on frontend.
* 'f4_grid' is a non-editable ALV Grid Control for the
* application specific F4-Help. Therefore, calling
* REFRESH_TABLE_DISPLAY for this instance has no
* negative effect.
CALL METHOD cl_gui_cfw=>flush.
ENDMETHOD. "show_f4
METHOD init_f4.
DATA: ls_f4_layout TYPE lvc_s_layo.
* build fieldcatalog entries for f4
CALL METHOD build_fieldcatalog.
* create controls
CREATE OBJECT f4_custom_container
EXPORTING container_name = 'CC_ONF4'.
CREATE OBJECT f4_grid
EXPORTING i_parent = f4_custom_container.
* hide toolbar
ls_f4_layout-no_toolbar = 'X'.
CALL METHOD f4_grid->set_table_for_first_display
EXPORTING
is_layout = ls_f4_layout
CHANGING
it_fieldcatalog = f4_fieldcatalog
it_outtab = f4_itab.
* register event double click on backend
SET HANDLER me->on_double_click FOR f4_grid.
* flush since 'ls_layout' is local!
CALL METHOD cl_gui_cfw=>flush.
ENDMETHOD. "init_f4
METHOD fill_f4_itab.
DATA ls_f4_itab TYPE ty_f4.
* Delete all entries in f4_itab to determine
* offered values dynamically
CLEAR f4_itab[].
ls_f4_itab-value = 'C'.
ls_f4_itab-descr = text-t03. "Business Class
APPEND ls_f4_itab TO f4_itab.
ls_f4_itab-value = 'Y'.
ls_f4_itab-descr = text-t04. "Economie Class
APPEND ls_f4_itab TO f4_itab.
ls_f4_itab-value = 'F'.
ls_f4_itab-descr = text-t05. "First Class
APPEND ls_f4_itab TO f4_itab.
ENDMETHOD. "fill_f4_itab
METHOD build_fieldcatalog.
DATA: ls_fcat TYPE lvc_s_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'VALUE'.
ls_fcat-coltext = text-t02.
* ls_fcat-inttype = 'S_CLASS'.
ls_fcat-outputlen = 5.
APPEND ls_fcat TO f4_fieldcatalog.
CLEAR ls_fcat.
ls_fcat-fieldname = 'DESCR'.
ls_fcat-coltext = text-t01.
ls_fcat-inttype = 'C'.
ls_fcat-outputlen = 20.
APPEND ls_fcat TO f4_fieldcatalog.
ENDMETHOD. "build_fieldcatalog
METHOD on_double_click.
*§5. If not already caught by your own f4 help, check whether
* the triggered cell was ready for input by using E_DISPLAY
* and if not, exit.
IF f4_params-c_display EQ 'X'.
LEAVE SCREEN.
ENDIF.
*§6. After the user selected a value, pass it to the ALV Grid Control:
*§ 6a. Define a field symbol of type: LVC_T_MODI and a structure of
* type LVC_S_MODI to pass the value later on.
FIELD-SYMBOLS <itab> TYPE lvc_t_modi.
DATA: ls_modi TYPE lvc_s_modi,
ls_f4_itab TYPE ty_f4.
*§ 6b. Dereference attribute M_DATA into your field symbol and add
* the selected value to the table to which this symbol points to.
ASSIGN f4_params-cr_event_data->m_data->* TO <itab>.
ls_modi-row_id = f4_params-cs_row_no-row_id.
ls_modi-fieldname = f4_params-c_fieldname.
READ TABLE f4_itab INTO ls_f4_itab INDEX es_row_no-row_id.
ls_modi-value = ls_f4_itab-value.
APPEND ls_modi TO <itab>.
LEAVE TO SCREEN 0.
ENDMETHOD. "on_double_click
METHOD reset.
FIELD-SYMBOLS <itab> TYPE lvc_t_modi.
ASSIGN f4_params-cr_event_data->m_data->* TO <itab>.
CLEAR <itab>[].
ENDMETHOD. "reset
METHOD handle_top_of_page.
text = 'Top of page for program ZAMIT_SPLIT_CONTAINER'.
CALL METHOD e_dyndoc_id->add_text
EXPORTING text = text
sap_fontsize = 'LARGE'
sap_style = 'HEADING'.
CALL METHOD e_dyndoc_id->display_document
EXPORTING parent = o_top.
ENDMETHOD. "handle_top_of_page
ENDCLASS. "lcl_application_f4 IMPLEMENTATION
END-OF-SELECTION.
CALL SCREEN 100.
* MODULE PBO OUTPUT *
MODULE pbo OUTPUT.
SET PF-STATUS 'MAIN100'.
SET TITLEBAR 'MAIN100'.
IF g_custom_container IS INITIAL.
PERFORM create_and_init_alv CHANGING gt_outtab[]
gt_fieldcat.
ENDIF.
ENDMODULE. "pbo OUTPUT
* MODULE PAI INPUT *
MODULE pai INPUT.
save_ok = sy-ucomm.
CLEAR sy-ucomm.
CASE save_ok.
WHEN 'EXIT' OR 'BACK' OR 'CANCEL'.
PERFORM exit_program.
WHEN 'SWITCH'.
PERFORM switch_edit_mode.
WHEN OTHERS.
* do nothing
ENDCASE.
ENDMODULE. "pai INPUT
* FORM EXIT_PROGRAM *
FORM exit_program.
LEAVE PROGRAM.
ENDFORM. "exit_program
*& Form build_fieldcat
* text
* -->PT_FIELDCAT text
FORM build_fieldcat CHANGING pt_fieldcat TYPE lvc_t_fcat.
DATA ls_fcat TYPE lvc_s_fcat.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'SBOOK'
CHANGING
ct_fieldcat = pt_fieldcat.
LOOP AT pt_fieldcat INTO ls_fcat.
* Exchange smoker field with invoice field - just to
* make the dependance between SMOKER and CLASS more transparent
* (Smoking is only allowed in the first class).
IF ls_fcat-fieldname EQ 'SMOKER'.
ls_fcat-col_pos = 11.
ls_fcat-outputlen = 10.
ls_fcat-edit = 'X'.
* Field 'checktable' is set to avoid shortdumps that are caused
* by inconsistend data in check tables. You may comment this out
* when the test data of the flight model is consistent in your system.
ls_fcat-checktable = '!'. "do not check foreign keys
MODIFY pt_fieldcat FROM ls_fcat.
ELSEIF ls_fcat-fieldname EQ 'INVOICE'.
ls_fcat-col_pos = 7.
MODIFY pt_fieldcat FROM ls_fcat.
ELSEIF ls_fcat-fieldname EQ 'CLASS'.
ls_fcat-edit = 'X'.
ls_fcat-outputlen = 5.
ls_fcat-checktable = '!'. "do not check foreign keys
MODIFY pt_fieldcat FROM ls_fcat.
ENDIF.
ENDLOOP.
ENDFORM. "build_fieldcat
*& Form create_and_init_alv
* text
* -->PT_OUTTAB text
* -->PT_FIELDCAT text
FORM create_and_init_alv CHANGING pt_outtab TYPE STANDARD TABLE
pt_fieldcat TYPE lvc_t_fcat.
DATA: lt_exclude TYPE ui_functions,
ls_layout TYPE lvc_s_layo.
CREATE OBJECT g_custom_container
EXPORTING container_name = g_container.
* CREATE OBJECT g_grid
* EXPORTING i_parent = g_custom_container.
CREATE OBJECT gv_c_split
EXPORTING
* link_dynnr = lv_dynnr
* link_repid = lv_repid
parent = g_custom_container
rows = 2
columns = 1
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
others = 3 .
CALL METHOD gv_c_split->set_border
EXPORTING
border = space.
CALL METHOD gv_c_split->get_container
EXPORTING
row = 1
column = 1
RECEIVING
container = gv_c_ptv.
CALL METHOD gv_c_split->set_row_height
EXPORTING
id = 1
height = 20
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 6 .
CALL METHOD gv_c_split->get_container
EXPORTING
row = 2
column = 1
RECEIVING
container = gv_c_vp .
CALL METHOD gv_c_split->set_row_height
EXPORTING
id = 2
height = 10
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3 .
CREATE OBJECT o_split
EXPORTING
parent = gv_c_ptv
with_border = 1
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
others = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
o_top = o_split->top_left_container.
o_bot = o_split->bottom_right_container.
CREATE OBJECT gv_alv_ptv
EXPORTING
i_parent = o_bot
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
others = 5 .
CREATE OBJECT g_grid
EXPORTING
i_parent = gv_c_vp
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
others = 5 .
PERFORM build_fieldcat CHANGING pt_fieldcat.
* Optionally restrict generic functions to 'change only'.
* (The user shall not be able to add new lines).
PERFORM exclude_tb_functions CHANGING lt_exclude.
PERFORM build_data CHANGING pt_outtab.
ls_layout-grid_title = 'F4 help implemented for field CLASS'.
CREATE OBJECT o_event_receiver.
SET HANDLER o_event_receiver->handle_top_of_page FOR gv_alv_ptv.
SET HANDLER o_event_receiver->handle_top_of_page FOR g_grid.
CREATE OBJECT o_dd_doc EXPORTING style = 'ALV_GRID'
no_margins = 'X'.
CALL METHOD gv_alv_ptv->set_table_for_first_display
EXPORTING
is_layout = ls_layout
CHANGING
it_outtab = pt_outtab[]
it_fieldcatalog = pt_fieldcat
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
CALL METHOD g_grid->set_table_for_first_display
EXPORTING
it_toolbar_excluding = lt_exclude
is_layout = ls_layout
CHANGING
it_fieldcatalog = pt_fieldcat
it_outtab = pt_outtab[].
CALL METHOD gv_alv_ptv->list_processing_events
EXPORTING
i_event_name = 'TOP_OF_PAGE'
i_dyndoc_id = o_dd_doc.
* register f4 for field CLASS
PERFORM register_events.
* Set editable cells to ready for input initially
CALL METHOD g_grid->set_ready_for_input
EXPORTING
i_ready_for_input = 1.
ENDFORM. "CREATE_AND_INIT_ALV
*& Form exclude_tb_functions
* text
* -->PT_EXCLUDE text
FORM exclude_tb_functions CHANGING pt_exclude TYPE ui_functions.
* Only allow to change data not to create new entries (exclude
* generic functions).
DATA ls_exclude TYPE ui_func.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy_row.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_delete_row.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_append_row.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_insert_row.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_move_row.
APPEND ls_exclude TO pt_exclude.
ENDFORM. " EXCLUDE_TB_FUNCTIONS
*& Form build_data
* text
* --> p1 text
* <-- p2 text
FORM build_data CHANGING pt_outtab TYPE STANDARD TABLE.
DATA: ls_sbook TYPE sbook,
l_index TYPE i.
SELECT * FROM sbook INTO TABLE gt_outtab UP TO g_max ROWS.
IF sy-subrc NE 0.
PERFORM generate_entries CHANGING pt_outtab.
ENDIF.
LOOP AT pt_outtab INTO ls_sbook.
l_index = sy-tabix.
CLEAR ls_sbook-class.
* Alternate between smoker and non smoker to make
* it more obvious what this example is about
l_index = l_index MOD 2.
IF l_index EQ 1.
ls_sbook-smoker = 'X'.
ELSE.
ls_sbook-smoker = ' '.
ENDIF.
MODIFY pt_outtab FROM ls_sbook.
ENDLOOP.
ENDFORM. " build_data
*& Form generate_entries
* text
* -->PT_SBOOK text
FORM generate_entries CHANGING pt_sbook TYPE STANDARD TABLE.
DATA: ls_sbook TYPE sbook,
l_month(2) TYPE c,
l_day(2) TYPE c,
l_date(8) TYPE c,
l_prebookid TYPE i.
ls_sbook-carrid = 'LH'.
ls_sbook-connid = '0400'.
ls_sbook-forcurkey = 'DEM'.
ls_sbook-loccurkey = 'USD'.
ls_sbook-custtype = 'B'.
DO 110 TIMES.
l_prebookid = sy-index.
ls_sbook-forcuram = sy-index * 10.
ls_sbook-loccuram = ls_sbook-loccuram * 2.
ls_sbook-customid = sy-index.
ls_sbook-counter = 18.
ls_sbook-agencynum = 11.
l_month = sy-index / 10 + 1.
DO 2 TIMES.
l_day = 3 + l_month + sy-index * 2.
l_date+0(4) = '2000'.
l_date+4(2) = l_month.
l_date+6(2) = l_day.
ls_sbook-fldate = l_date.
SUBTRACT 3 FROM l_day.
ls_sbook-order_date+0(6) = l_date+0(6).
ls_sbook-order_date+6(2) = l_day.
ls_sbook-bookid = l_prebookid * 2 + sy-index.
IF sy-index EQ 1.
ls_sbook-smoker = 'X'.
ELSE.
ls_sbook-smoker = space.
ENDIF.
ls_sbook-luggweight = l_prebookid * 10.
IF ls_sbook-luggweight GE 1000.
ls_sbook-wunit = 'G'.
ls_sbook-class = 'C'.
ELSE.
ls_sbook-wunit = 'KG'.
ls_sbook-class = 'Y'.
ENDIF.
IF ls_sbook-bookid > 40 AND ls_sbook-wunit EQ 'KG'.
ls_sbook-invoice = 'X'.
ENDIF.
IF ls_sbook-bookid EQ 2.
ls_sbook-cancelled = 'X'.
ls_sbook-class = 'F'.
ENDIF.
APPEND ls_sbook TO pt_sbook.
ENDDO.
ENDDO.
ENDFORM. " generate_entries
*& Form register_events
* text
FORM register_events.
*§1. Register event ONF4 at frontend using method
* register_f4_for_fields. For this purpose, you pass a table
* with all fields, for which you want to implement your own
* f4 help.
* remark: If you want to use an own f4 help for fields where
* no standard f4 help exists set field F4AVAILABL for
* this field in the fieldcatalog.
DATA: lt_f4 TYPE lvc_t_f4 WITH HEADER LINE.
CLEAR lt_f4.
lt_f4-fieldname = 'CLASS'.
* If you would like to deregister the field again,
* pass value SPACE with field 'register'.
lt_f4-register = 'X'.
*§ 1b. If the value range in your f4 help depends on other
* values of cells that are input enabled, set the
* GETBEFORE parameter.
* The consequence is that the ALV Grid Control raises
* event DATA_CHANGED before the f4 help is called to
* check values that the f4 help depends on.
lt_f4-getbefore = 'X'.
* The next parameter is used to change values after onf4 has
* been processed. The ALV Grid Control will raise
* event DATA_CHANGED afterwards, if you set it.
lt_f4-chngeafter = space.
INSERT TABLE lt_f4.
CALL METHOD g_grid->register_f4_for_fields
EXPORTING
it_f4 = lt_f4[].
* register events for abap objects (backend)
SET HANDLER o_event_receiver->handle_f4 FOR g_grid.
ENDFORM. " register_events
* MODULE status_0101 OUTPUT
MODULE status_0101 OUTPUT.
SET PF-STATUS 'POPUP'.
SET TITLEBAR 'POPUP'.
CALL METHOD o_event_receiver->show_f4.
ENDMODULE. " STATUS_0101 OUTPUT
*& Module USER_COMMAND_0101 INPUT
* text
MODULE user_command_0101 INPUT.
PERFORM user_command.
ENDMODULE. " USER_COMMAND_0101 INPUT
*& Form user_command
* text
FORM user_command.
DATA: save_ok TYPE sy-ucomm.
save_ok = sy-ucomm.
CLEAR sy-ucomm.
CASE save_ok.
WHEN 'CANCEL'.
CALL METHOD o_event_receiver->reset.
LEAVE TO SCREEN 0.
ENDCASE.
ENDFORM. "user_command
*& Form switch_edit_mode
* text
FORM switch_edit_mode.
IF g_grid->is_ready_for_input( ) EQ 0.
* set edit enabled cells ready for input
CALL METHOD g_grid->set_ready_for_input
EXPORTING
i_ready_for_input = 1.
ELSE.
* lock edit enabled cells against input
CALL METHOD g_grid->set_ready_for_input
EXPORTING
i_ready_for_input = 0.
ENDIF.
ENDFORM. "switch_edit_mode
For popup try this
reward if helpfull
Regards
Pavan -
How to retrieve the creation date of clients ?
Dear all,
I have few DEV clients which are copied from Production clients. When want to perform client deletion I want to delete the oldest client in DEV. But which is the oldest client ?
Is there a table or tcode that can show me when are those DEV clients created ?
What I am doing now is very time consuming, i have to login to production, execute SCC3 and find out when is the client exported and what is the TR number. Then in DEV i execute SCC3 to find out which DEV is created with what TR number.
By doing this i will know
a.) The DEV client is a copy of PRD as per which date.
b.) and when is the DEV client created.
In SCC4, it has the information of when is the client changed, but not when it is created.
In SE16, table T000 refers to same info in SCC4 as well.
Your advice and input are highly appreciated.
Thanks.
Regards,
KentHi Juan,
Follow your steps, I got below output, but no "Data record created".
Parameters for Analysis:
System ID: PRD
SAP Release: 700
Client: 199
Date : 28.05.2009
Time: 20:29:01
User: KENT
Selected Period
From (date/time) 22.05.2005 00:00:00
To (date/time) 28.05.2009 20:28:18
Selected Customizing Objects:
T000 S Clients
Analysis without archived log data
No logs found for the selected period
Then I clicked on "Logging: Display status" it says "Logging is switched off".
Questions
a.) This will only work when the logging is turn on, right ?
b.) Assuming the logging is turn on and i manage to get the creation info, at table level how do i retrieve the same info ? Because if I have 10 clients, i hope to see all the info and dates at one glance.
Please advise.
Thanks.
Regards,
Kent -
Bind the output data (Xml) from BPEL process to ADF SelectOneChoice Control
Hello,
My requirement is to invoke a BPEL process from ADF page and display returned results in a select one choice (drop down box).
I have created a Data Control for the BPEL process through Web service data control and tried to invoke the BPEL process. I could see from the BPEL console that BPEL process is getting invoked. But the ADF doesn't bind any of the output to Select one choice.
It doesn't even show any error.
Can you plz help me how to bind the output of the BPEL process to ADF SelectOneChoice control.
The Xml Which I recieve from BPEL process is
<outputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload"><DBConnectDemoProcessResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/DBConnectDemo">
<StatusTrans xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/DBSelect">
<transId>1</transId>
<fromStatus>Open</fromStatus>
<toStatus>Assigned</toStatus>
</StatusTrans>
<StatusTrans xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/DBSelect">
<transId>2</transId>
<fromStatus>Open</fromStatus>
<toStatus>Pending</toStatus>
</StatusTrans>
<StatusTrans xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/DBSelect">
<transId>3</transId>
<fromStatus>Open</fromStatus>
<toStatus>Closed</toStatus>
</StatusTrans>
<StatusTrans xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/DBSelect">
<transId>4</transId>
<fromStatus>Open</fromStatus>
<toStatus>Cancelled</toStatus>
</StatusTrans>
</DBConnectDemoProcessResponse>
</part></outputVariable>
And the toStatus node values viz, Assigned, Pending, Closed, Cancelled should get binded to the SelectOneChoice control
Waiting for your valuable inputs,
Regards,
babloo.I have been still trying for the solution. I have modified the XSD created by the jdeveloper to,
<schema attributeFormDefault="unqualified"
elementFormDefault="qualified"
targetNamespace="http://xmlns.oracle.com/StateTransitions"
xmlns="http://www.w3.org/2001/XMLSchema">
<element name="StateTransitionsProcessRequest">
<complexType>
<sequence>
<element name="input" type="string"/>
</sequence>
</complexType>
</element>
<element name="StateTransitionsProcessResponse">
<complexType>
<sequence maxOccurs="unbounded">
<element name="stateChanges">
<complexType>
<sequence>
<element name="fromState" type="string" />
<element name="toState" type = "string" />
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</schema>
And I have given this XSD url while creating the Web Service Data Control by deploying it into the Oracle App server.
So, I can see the tree structure of "Return" as "StateTransitionsProcessResponse->StateChanges->toState,fromState"
I have binded the toState field of the Data Control to the SelectOneChoice ADF control in a jspx page by using List binding editor.
I have selected,
Base data source as "Variables" (Currently I don't need to update any table),
List Data source as "process: getStateTransitions.process.StateTransitionsProcessResponse.stateChanges" (Web Service Data Control)
Base Data source attribute as "process_input"
List Data Source Attribute as "toState"
I can initiate the web service (BPEL process) by providing the necessary input value like 'Open' or 'Pending' or 'Assigned' but the SelectOneChoice control doesn't populate with any values.
Waiting for valuable inputs!
Thanks and Regards,
babloo. -
Issue with usage of Clob variable to hold the output data...
Hi All,
we are getting the output of the sql query out from a function and this function return type is defined as CLOB.
because of the volume of data being fetched we are getting the below mentioned error message when this Function is getting executed.
“ORA-06502: PL/SQL: numeric or value error”. : character string buffer too small
Now even with CLOB if we are getting the buffer too small error message ...is there any other way or approach we could handle this..
our requirement is to fetch the complete value from this function in one shot and we don't want to split the data based on the size / number of characters...
This is causing us lot of issues...could someone please suggest as to what could be done regards this ...Post your script. How can we tell when we can't see your code.
Also, better to post the table ddl's script and some demo insert statement here. And, please provide the DB version, too.
Generally, you should not get such error. So, please post these details.
Regards.
Satyaki De. -
SELECT-OPTIONS - How to get the output other than of the mentioned range
Hi Friends,
I need the output in my ABAP Query to display entries out of the date range that I enter in the selection screen.
Supose I enter Date: 1st Jan 09 to 15th Apr 09, I should get an output out of this range.
How do I do that with select options ? what do I give in the date-option and date-sign, etc., ?
Please help.
Thanks,
DikshithaHi,
USe the following piece of code
TYPE-POOLS : SCCR.
DATA : g_optlist TYPE sscr_opt_list,
g_*** TYPE sscr_***.
INITIALIZATION.
CLEAR g_***.
g_***-kind = 'S'.
g_***-name = 'S_USER'. "select-option field
g_***-sg_main = 'I'. " this u can change to exclude ur values accordingly
g_***-op_main = 'TEXT'.
APPEND g_*** TO g_t_restrict-***_tab.
g_optlist-name = 'TEXT'.
g_optlist-options-ne = 'X'.
g_optlist-options-eq = 'X'.
APPEND g_optlist TO g_t_restrict-opt_list_tab.
CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'
EXPORTING
restriction = g_t_restrict
EXCEPTIONS
too_late = 1
repeated = 2
selopt_without_options = 3
selopt_without_signs = 4
invalid_sign = 5
empty_option_list = 6
invalid_kind = 7
repeated_kind_a = 8
OTHERS = 9. -
i am using dynamic field catalog in one if the report.
in the selection screen i have MONTH/YEAR AS SELECT OPTION.IF I ENTER 200801 FROM THERE TO TILL
SYDATUM DATA WILL DISPLAY SO I CANNT DECIDE how many month/year columns will come depends on selection
criteria.
i am getting all the data into final internal table lt_final as below .
MONTH/YEAR BUKRS BELNR GJAHR WRBTR
JAN/2008 1001 3456 2008 100
FEB/2008 1001 3456 2008 200
MAR/2008 1001 3456 2008 300
THE output should be as
BUKRS BELNR GJAHR JAN/2008 FEB/2008 MAR/2008
1001 3456 2008 100 200 300
BUT NOW i am getting the output as
BUKRS BELNR GJAHR
1001 3456 2008 100 200 300
the headings JAN/2008 FEB/2008 MAR/2008 not getting displayyed.
the headings are dynamically created.
please see below my code
LOOP AT lt_final.
l_index = l_index + sytabix.
ASSIGN COMPONENT 'BUKRS' OF STRUCTURE <f_line> TO <f_field>.
<f_field> = lt_final-bukrs.
ASSIGN COMPONENT 'belnr' OF STRUCTURE <f_line> TO <f_field>.
<f_field> = lt_final-belnr.
ASSIGN COMPONENT 'gjahr' OF STRUCTURE <f_line> TO <f_field>.
<f_field> = lt_final-gjahr.
ASSIGN COMPONENT l_index OF STRUCTURE <f_line> TO <f_field>.
<f_field> = lt_final-wrbtr.
INSERT <f_line> INTO TABLE <f_tab>.
ENDLOOP.
DATA: lo_alv TYPE REF TO cl_salv_table.
TRY.
cl_salv_table=>factory(
EXPORTING
list_display = abap_false
IMPORTING
r_salv_table = lo_alv
CHANGING
t_table = <f_tab> ).
CATCH cx_salv_msg .
ENDTRY.
please let me know how to get MONTH/YEAR HEADINGS in output data.Hi,
You are creating dynamic filed cat,
so pass the data
if it is dynamic, loop the internal table which contains the date
for ex:
SORT IT_TAB BY LIFNR.
LOOP AT IT_TAB INTO WA_TAB.
ON CHANGE OF WA_TAB-LIFNR.
LS_LVC_CAT-FIELDNAME = WA_TAB-LIFNR.
LS_LVC_CAT-TABNAME = 'LFA1'.
LS_LVC_CAT-REPTEXT = WA_TAB-LIFNR.
LS_LVC_CAT-NO_ZERO = 'X'.
LS_LVC_CAT-JUST = 'R'.
LS_LVC_CAT-OUTPUTLEN = '35'.
APPEND LS_LVC_CAT TO LT_LVC_CAT.
CLEAR LS_LVC_CAT.
ENDON.
ENDLOOP.
Edited by: Aeda N on Nov 17, 2009 8:33 AM -
Does iMovie HD retrieve the time/date code for actual recrding date of a c
Dear Apple Discussions,
I wish to know if iMovie HD retrieves the original recording time and date of a clip as a part of the time/date code, as do other video editors.
When click on a clip and select properties, the capture time and date is displayed.
Matti Haveri posted a response, but hers related to the capture date.
I wish to know the actual time and date that a clip was recorded by my DV camcorder. Can anyone out the assist me?
Owen Cobb
(The Clemmons Kid)iMovie does keep the original recording time and date of a clip as a part of the time/date code.
When click on a clip and select properties, the capture time and date is displayed.
Really? With my setup I see the original recording date & time.
But wait, what kind of footage do you have? Originally analog footage converted to DV? THEN the digitizing device usually labels the DV with the digitizing date.
http://discussions.apple.com/message.jspa?messageID=4563204#4563204
Maybe you are looking for
-
BI 7: Background activation very slow compared to Dialog activation
We are using the SAP BI 7.0 with SP15 and this question is about efficiency of dialog process compared to inefficiency of the background process and I want suggestions from SAP Basis/BI experts on this. We have observed that our background processes
-
CFMX7 and Local SQL Server Connections
I recently upgraded from CF5 to CFMX7. All went well, but I am now not able to access SQL Server DBs on the local Machine. When I Verify the Datasource via CF Admin, I am getting the following error. Connection verification failed for data source: lo
-
Error trying to call channel using accessor
Hello All, Messages are failing while accessor is trying to call channel Please help me figure out a fix for the problem. Hope that the following trace information helps. <Trace level="1" type="T">Interface Mapping http://imprintlabs.com/I33A_Goods_R
-
I have downloaded bookmarks from IE. Do I need to keep IE on my system in order to keep the bookmarks or are they now a permanent part of FF
-
¿Como puedo instalar las siguientes actualizaciones, Adobe Photoshop Elements 9.0.3 y Photoshop Camera Raw 6.5, en Adobe Photoshop Elements 9?. Me indica en la pantalla que no se han podido instalar dichas actualizaciones.