Change date on select statement
Hi all,
I've field CLOSEDATA datatype DATA format 'dd/mm/yyyy hh:mm'
I extract CLOSEDATA with this query
SELECT CLOSEDATA
FROM JAVADEV
WHERE CLOSEMONTH='2010'but don't want the extracted time hh:mm of CLOSEDATA... I want to change it into 02:00
So the output of my query will be 'dd//mm/yyyy 02:00'
How do I change the previous query??
Thanks in advance
trebbia wrote:
Hi all,
I've field CLOSEDATA datatype DATA format 'dd/mm/yyyy hh:mm'Do you mean "datatype DAT<b>E</b>? DATEs don't have format like that, only strings that represent dates do.
Do you mean "datatype VARCHAR2"? Then just ignore the last 5 characters, and substitute whatever you want instead:
SELECT SUBSTR (CLOSEDATA, 1, 11) || '02:00' AS clesedata
FROM JAVADEV
WHERE CLOSEMONTH = '2010'
If closedata were a DATE, then
{code}
TRUNC (closedata) + (2 / 24)
{code}
would be 02:00 on the same day, regardless of what the original hours and minutes were.
I hope this answers your question.
If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only), and also post the results you want from that data.
Explain, using specific examples, how you get those results from that data.
Always say which version of Oracle you're using.
Similar Messages
-
Collumn order changes when i retrive data through select statement.
Hi
i am using the sql developer 2.1.1.64 i have below table with respected collum sequence.
tbl_message( id,
date,
process_name,
stage,
message,
message_type,
parameter)
when i retrive this table using select * from tbl_message; i got the below collumn sequence
date process_name stage id message message_type parameter
13-may-2011 procedure 10 1 info info null
but when i create the table my id collumn is the first collumn?
and when open the table through sql developer id collumn is in the first place. so why id collumn is in 3rd place when i use select statement?
if you need more information lpease let me know.
Thanks
RiteshSQL Developer allows you to change the order of the columns in the Output window, and it will remember it. This is probably why you see the columns in a different order when you execute "SELECT * FROM ..."
The actual order of the columns in the database is what you see when you execute the DESC command.
You also can verify the order of the columns in two other ways:
1) Use SQL*PLus and exeute your "SELECT * " query. SQL*Plus will not re-arrange the columns.
2) Query the data dictionary. Use user_tab_columns (if you are the owner of the table), or use all_tab_columns and add the schema owner to the query otherwise.
SELECT table_name, column_name, column_id
FROM user_tab_columns
WHERE table_name = 'TBL_MESSAGE'; -
Change the default select statement in the execute_query function
I want to list all records where c1 like '%ABD%'. So I set the following in the 'when_button_pressed' tigger:
set_block_property ('block_name',DEFAULT_WHERE,'upper(c1) like '''||'%'||:block_name.blk_col_name||'%'||'''');
execute_query;
When I click on the button the :system.last_query holds the following select statement:
select c1, c2, .. cn from t_n where upper(c1) like '%ABD%' and (upper(c1) = 'ABD' and (c1 like 'ab%' or c1 like 'aB%' or c1 like 'Ab%' or c1 like 'AB%')) order by c1
Since the condition upper(c1) = 'ABD' is not satisfied oracle does not return any rows.
My question is how to overcome this or is it possible to change the built-in select statement of execute_query.Have you tried this :
'upper(c1) like upper('''||'%'||:block_name.blk_col_name||'%'||'''')); -
How to fetch negative sign data using select statement
hi gurus,,
i hv to fetch data which is negative in nature using select statement i m using ppdit table and wrbtr field.(it contains both negative and positive data)....wat sud i add with select statement...plz help me..
thnx in advance
Message was edited by:HI,
I think you can use LT or < 0.0 in the WHERE clause to get all the -ve values. Once you get them treat them as negative.
Regards,
Sesh -
Can i get an exact part of data from select statement
hi...good afternoon...
i want to fetch the records from a table by select statement. but i dont want to fetch the as it is record. i want to fetch a particular part of eacg record in that column.
for example..
table_name=tab1
column_name=col1
the col1 contains datas like *'customer search-cs', 'get customer-gc', 'customer delete-cd'* etc etc..
now while writing the select query, i want to get the descriptive output as get customer, customer search, customer delete....that is i dont want the symbols..
is it possible to get this???
plss suggest...You mean like these possible ways of doing it...
SQL> ed
Wrote file afiedt.buf
1* select substr('customer search-cs',1,length('customer search-cs')-3) from dual
SQL> /
SUBSTR('CUSTOME
customer search
SQL> ed
Wrote file afiedt.buf
1* select regexp_substr('customer search-cs','^[^-]*') from dual
SQL> /
REGEXP_SUBSTR('
customer search
SQL> -
Need help in logic change to avoid select statement inside loop .
Hello all ,
Please see the below code . Here i got the shipment number in internal table IT_VTTK . So For this shipment number i want to get the details from Vekp table in to internal table IT_VEKP . There is no need for me to use For all entries . I have passed the value of it_vekp into work area wa_vekp and getting the details in to IT_vekp using loop.
But since we should not use the select statement inside the loop , Can anybody please tell me how to achieve this functionality .
Instead of passing into work area wa_vttk if i directly use the internal table I'm getting the following error .
"IT_VTTK" is a table without a header line and therefore has no component called "TKNUM".
Hence i have used select statement inside a loop . Please tell me is there any other way to avoid this ?
types:begin of ty_likp,
vbeln type likp-vbeln,
end of ty_likp,
begin of ty_vttk,
tknum type vttk-tknum,
end of ty_vttk.
DATA: IT_VEKP TYPE STANDARD TABLE OF TY_VEKP,
WA_VEKP TYPE TY_VEKP.
data:it_likp type standard table of ty_likp,
wa_likp type ty_likp,
it_likp1 type standard table of ty_likp,
it_vttk type standard table of ty_vttk,
wa_vttk type ty_vttk.
data:w_tknum type vttk-tknum.
if not it_likp is initial .
select vbeln
from
vbfa
into table it_vttk
for all entries in it_likp where vbelv = it_likp-vbeln and vbtyp_n = '8'.
endif .
IF IT_VTTK[] IS NOT INiTIAL.
loop at it_vttk into wa_vttk.
SELECT venum
EXIDV
EXIDV2
BRGEW
NTGEW
GEWEI
TARAG
GEWEI
VHART
INHALT
FROM VEKP INTO TABLE IT_VEKP where VPOBJKEY = wa_vttk-tknum and vpobj = '4'.
endloop.
endif.Hello,
Why would you not like to use FOR ALL ENTRIES in the second select? Is it becasue of the length or type mismatch error between the fields VPOBJKEY and wa_vttk-tknum ?
Vikranth -
Count vs sum(case) on dates in select statement
I'm writing a statement to count the number of events occuring within 7 days of creating and also within 31 days of creating. I tried count but the script never completd. I've written this below - does anyone have a better idea on how to access the data? Thanks -
select /*+ INDEX(CW_DOCUMENTS_IDX1) */ b.create_dt,
sum(case when b.create_dt <= a.event_dt - 7 then 1 else 0 end),
sum(case when b.create_dt <= a.event_dt - 31 then 1 else 0 end)
from cw4_audit_index a, cw_documents b
where a.docseq = b.docseq
and a.medrecno = b.medrecno
and a.account = b.account
group by b.create_dt
/Dianna,
Just in case youâre still checking the thread ⦠another explanation for the ânever completedâ symptom.
Assuming a âcw_documentsâ row is created on âcreate_dtâ and subsequently related âcw4_audit_indexâ event rows are created with a âevent_dtâ timestamp ⦠then <quote>count[ing] the number of events occurring within 7 days of creating and also within 31 days of creating</quote> would be something like:
case when cw4_audit_index.event_dt <= cw_documents.create_dt + 7 then 1 else 0 end
case when cw4_audit_index.event_dt <= cw_documents.create_dt + 31 then 1 else 0 endor to use your own query:
select /*+ INDEX(CW_DOCUMENTS_IDX1) */
b.create_dt
,sum(case when a.event_dt <= b.create_dt + 7 then 1 else 0 end)
,sum(case when a.event_dt <= b.create_dt + 31 then 1 else 0 end)
from cw4_audit_index a
,cw_documents b
where a.docseq = b.docseq
and a.medrecno = b.medrecno
and a.account = b.account
group by b.create_dt
/With your version of the sql ⦠didnât you find cases of rows in your result set having more âwithin 7 daysâ events than âwithin 31 daysâ? ⦠shouldâve been a red flag right there.
In my skimpy desktop, on a table with ~24K documents and ~1.44M events (some 60 events for each document, half of them within 31 days) I got the query in around 10 seconds ⦠tables analyzed and no indexes in site ⦠youâre probably fine here with nice/fat full table scans.
Since an âwithin 7 daysâ event also/always qualifies as an âwithin 31 daysâ one ⦠one could improve the above query by specifying an extra predicate:
select b.create_dt
,sum(case when a.event_dt <= b.create_dt + 7 then 1 else 0 end)
,sum(case when a.event_dt <= b.create_dt + 31 then 1 else 0 end)
from cw4_audit_index a
,cw_documents b
where a.docseq = b.docseq
and a.medrecno = b.medrecno
and a.account = b.account
and a.event_dt <= b.create_dt + 31 --<< extra predicate
group by b.create_dt
/at which moment the second âsumâ in the select list can be replaced with âcount(*)â ⦠the improvement percentage is based on your event distribution (how many events get filtered out up-front) ⦠in my case, 10-25%.
Cheers. -
CREATE OR REPLACE PROCEDURE return data like SELECT statement
"SELECT * FROM SEARCH_KEYWORD" is successfully done and return the data of the tables. Now, I want to run that on server side using PROCEDURE.
I successfully executed the below scripts. Please teach me how to call the sp_test procedure. OR if you have other way or maybe my scripts are wrong.
CREATE OR REPLACE PACKAGE GLOBALPKG
AS
TYPE RCT1 IS REF CURSOR;
TRANCOUNT INTEGER := 0;
IDENTITY INTEGER;
END;
CREATE OR REPLACE PROCEDURE LPG.sp_test
RCT1 IN OUT GLOBALPKG.RCT1
AS
BEGIN
OPEN RCT1 FOR
SELECT *
FROM SEARCH_KEYWORD;
END;
Here is my table definition:
CREATE TABLE LPG.SEARCH_KEYWORD
FRACTION VARCHAR2(50),
KEYWORD VARCHAR2(50),
PURPOSE VARCHAR2(50),
REMARKS VARCHAR2(50),
DATE_INSERTED DATE DEFAULT sysdate
PCTFREE 10
PCTUSED 40
MAXTRANS 255
TABLESPACE SYSTEM
STORAGE(INITIAL 64K MINEXTENTS 1 MAXEXTENTS 2147483645 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
NOCACHE
LOGGING
Eros
JapanWrong forum. You should ask this question in the SQL and PL/SQL forum.
Couple of comments though. Oracle is not SQL-Server. So calling a procedure that returns a ref cursor is different from a T-SQL macro procedure that functions like a view.
Also, there is no need to use the SQL-Server standard (and silly one at that) of prefixing stored procedures using the text "sp_". In fact, the whole concept of Hungarian-like notation is something of the past and has no place in today's paradigm of software engineering.
As for calling a a proc that returns a ref cursor, from SQL*Plus it will look as follows:
SQL> var c refcursor
SQL>
SQL> exec LPG.sp_test( :c )
SQL> print c
Ref cursor needs to be supported by the client language you use to make this call to Oracle. -
Issue with Past Month data in the Select Statement
Hi,
I written the following query,
SELECT /*+NO_MERGE(A)*/
CASE
WHEN snap_shot_date > a.q3
AND snap_shot_date <= a.q4
THEN q4char
WHEN snap_shot_date > a.q2 AND snap_shot_date <= a.q3
THEN q3char
WHEN snap_shot_date > a.q1 AND snap_shot_date <= a.q2
THEN q2char
WHEN snap_shot_date > a.q0 AND snap_shot_date <= a.q1
THEN q1char
END snap_shot_date,
CASE
WHEN snap_shot_date > a.q3 AND snap_shot_date <= a.q4
THEN 1
WHEN snap_shot_date > a.q2 AND snap_shot_date <= a.q3
THEN 2
WHEN snap_shot_date > a.q1 AND snap_shot_date <= a.q2
THEN 3
WHEN snap_shot_date > a.q0 AND snap_shot_date <= a.q1
THEN 4
END sort_by,
pillar3_exposure_class_code, pd_band_description,
ROUND (SUM (p3.ead_post_sec_post_crm)),
ROUND (SUM (notional_principle)),
DECODE (SUM (notional_principle),
0, 0,
ROUND ( SUM (DECODE (exposure_type,
'UNDRAW', ead_post_sec_post_crm,
0
/ SUM (notional_principle),
4
DECODE (SUM (p3.ead_post_sec_post_crm),
0, 0,
ROUND ( SUM (pd_value * p3.ead_post_sec_post_crm)
/ SUM (p3.ead_post_sec_post_crm),
2
DECODE (SUM (p3.ead_post_sec_post_crm),
0, 0,
ROUND (SUM (rwa) / SUM (p3.ead_post_sec_post_crm), 4)
DECODE (SUM (p3.ead_post_sec_post_crm),
0, 0,
ROUND ( SUM (lgd_rate * p3.ead_post_sec_post_crm)
/ SUM (p3.ead_post_sec_post_crm),
2
TO_CHAR (MAX (a.max_date), 'FMMonth DD, YYYY')
FROM summary.pillar3 p3,
(SELECT DISTINCT (month_end_date) max_date,
LAST_DAY (month_end_date) q4,
TO_CHAR (LAST_DAY (month_end_date),
'MON YYYY'
) q4char,
ADD_MONTHS (LAST_DAY (month_end_date), -3) q3,
TO_CHAR
(ADD_MONTHS (LAST_DAY (month_end_date), -3),
'MON YYYY'
) q3char,
ADD_MONTHS (LAST_DAY (month_end_date), -6) q2,
TO_CHAR
(ADD_MONTHS (LAST_DAY (month_end_date), -6),
'MON YYYY'
) q2char,
ADD_MONTHS (LAST_DAY (month_end_date), -9) q1,
TO_CHAR
(ADD_MONTHS (LAST_DAY (month_end_date), -9),
'MON YYYY'
) q1char,
ADD_MONTHS (LAST_DAY (month_end_date), -12) q0
FROM rcdwstg.stg_bcar_detail) a
WHERE snap_shot_date BETWEEN ADD_MONTHS (a.max_date, -12) AND a.max_date
GROUP BY CASE
WHEN snap_shot_date > a.q3 AND snap_shot_date <= a.q4
THEN q4char
WHEN snap_shot_date > a.q2 AND snap_shot_date <= a.q3
THEN q3char
WHEN snap_shot_date > a.q1 AND snap_shot_date <= a.q2
THEN q2char
WHEN snap_shot_date > a.q0 AND snap_shot_date <= a.q1
THEN q1char
END,
CASE
WHEN snap_shot_date > a.q3 AND snap_shot_date <= a.q4
THEN 1
WHEN snap_shot_date > a.q2 AND snap_shot_date <= a.q3
THEN 2
WHEN snap_shot_date > a.q1 AND snap_shot_date <= a.q2
THEN 3
WHEN snap_shot_date > a.q0 AND snap_shot_date <= a.q1
THEN 4
END,
pillar3_exposure_class_code,
pd_band_description
ORDER BY 2 DESC;I have written the query to get the latest 12 months data from a table and split that into 4 quarter to show in the Cognos Report. But when the table having 13th or the past months data, the select statement is showing Empty values in the first two columns and fetching the 13 month data too.
Can anyone help me in this to avoid the problem.
Thanks
Radha KWHERE snap_shot_date BETWEEN ADD_MONTHS(TRUNC(a.max_date, 'MM'), -11) AND a.max_date
.... -
Regarding Logical database and select statement..
Hi
Experts.
i would like to know the diff b/w logical data base & select statement while using report.
wt is the use of logical databases in R/3. is there any advantage used in the reports.
Thanks & Regards..
Spandana.Dear Spandana,
Go through the below description of LDB. I hope you wil get a fair amount of idea.
SAP comes loaded with all the extras. Among the extras that are most helpful to IT managers are all the access routines needed to pull any business object that managers can think of out of SAP databases. However, SAP has not thought of everything where your particular applications are concerned. SAP organizes its standard database tables to service business units based on conventional business applications. Itu2019s likely your business requires something new, perhaps even something exotic. In that case, you will need to create a new database, using information from different places. Basically, you need a logical database. You need to create a virtual business data object repository consisting of a new kind of record or table that suits your purposes. In addition, the repository should be composed of information that is actually stored in a number of different locations, none of them necessarily logically associated with one another. Letu2019s take a closer look at creating logical databases.
A case for a logical database
Suppose my company manufactures widgets of the most obscure variety, and they are components of other widgets. I sell my widgets as raw material for the more sophisticated widgets built by others, but in some cases I actually partner with other manufacturers in creating yet another class of widget. Now, in my world, I consequently have customers who are also partners. I sell to them and I partner with them in manufacturing and distribution. Also, I need an application that uses both of these dual-use relationships.
Essentially, I have a customer database and a partner database. Neither contains records that are structured to contain the identifying particulars of the other. Thus, I need a hybrid database that gives me tables detailing these hybrid relationships. What can I do? I can go the long way around and write a new database, pulling information from both and creating new objects with a customized program that I write by hand. However, this process is cumbersome and contains maintenance issues. On the other hand, I can use SAPu2019s logical database facility, create my logical database in a couple of minutes, and have no maintenance issues at all.
Logical database structures
There are three defining entities in an SAP logical database. You must be clear on all three in order to create and use one.
u2022 Table structure: Your logical database includes data from specified tables in SAP. There is a hierarchy among these tables defined by their foreign keys (all known to SAP), and you are going to define a customized relationship between select tables. This structure is unique and must be defined and saved.
u2022 Data selection: You may not want or need every item in the referenced tables that contributes to your customized database. There is a selection screen that permits you to pick and choose.
u2022 Database access programming: Once youu2019ve defined your logical database, SAP will generate the access subroutines needed to pull the data in the way you want it pulled.
Creating your own logical database
ABAP/4 (Advanced Business Application Programming language, version 4) is the language created by SAP for implementation and customization of its R/3 system. ABAP/4 comes loaded with many predefined logical databases that can construct and table just about any conventional business objects you might need in any canned SAP application. However, you can also create your own logical databases to construct any custom objects you care to define, as your application requires in ABAP/4. Hereu2019s a step-by-step guide:
1. Call up transaction SLDB (or transaction SE36). The path you want is Tools | ABAP Workbench | Development | Programming Environment | Logical Databases. This screen is called Logical Database Builder.
2. Enter an appropriate name in the logical database name field. You have three options on this screen: Create, Display, and Change. Choose Create.
3. Youu2019ll be prompted for a short text description of your new logical database. Enter one. Youu2019ll then be prompted to specify a development class.
4. Now comes the fun part! You must specify a root node, or a parent table, as the basis of your logical database structure. You can now place subsequent tables under the root table as needed to assemble the data object you want. You can access this tree from this point forward, to add additional tables, by selecting that root node and following the path Edit | Node | Create. Once youu2019ve saved the structure you define in this step, the system will generate the programming necessary to access your logical database. The best part is you donu2019t have to write a single line of code.
Watch out!
The use of very large tables will degrade the performance of a logical database, so be aware of that trade-off. Remember that some tables in SAP are very complex, so they will be problematic in any user-defined logical database.
Declaring a logical database
Hereu2019s another surprising feature of logical databases: You do not assign them in your ABAP/4 Code. Instead, the system requires that you specify logical databases as attributes. So when you are creating a report, have your logical database identifier (the name you gave it) on hand when you are defining its attributes on the Program Attributes screen. The Attributes section of the screen (the lower half) will include a Logical database field, where you can declare your logical database.
Logical databases for increasing efficiency
Why else would you want to create a logical database? Consider that the logical databases already available to you begin with a root node and proceed downward from there. If the data object you wish to construct consists of items that are all below the root node, you can use an existing logical database program to extract the data, then trim away what you donu2019t want using SELECT statementsu2014or you can increase the speed of the logical database program considerably by redefining the logical database for your object and starting with a table down in the chain. Either way, youu2019ll eliminate a great deal of overhead.
Regards
Arindam -
Short dump during select statement
hi,
i have to display 1 alv list output using REUSE_ALV_HIERSEQ_LIST_DISPLAY function module...so i have populated the data using select statement
select EXIDV
brgew meabm
vegr1 erlkz vhilm erdat aenam
ernam from vekp
into corresponding fields of table gt_master
up to gs_test-select_amount rows.
so the data is also getting populated to gt_master table before the function module...but after executing the function module..it is giving short dump...due to some standard program....any ideahi,
my coding is
Report : ZBCALV *
Author : *
SAP-User : *
Requester : *
Date : *
Specification: *
Description : *
Changes : *
Change No : *
Author : *
SAP-User : *
Date : *
Reason / Desc: *
REPORT ZBCALV.
**& Report BCALV_TEST_HIERSEQ_LIST_EVENTS *
*report bcalv_test_hierseq_list_events.
types: g_ty_t_exidv type standard table of vekp,
g_ty_t_brgew type standard table of vekp,
g_ty_t_vegr1 type standard table of vekp,
g_ty_t_vekp type standard table of vekp,
g_ty_t_curr type standard table of alv_cur,
g_ty_s_vekp type alv_t_t2,
g_ty_s_exidv type alv_tab,
g_ty_s_brgew type alv_tab,
g_ty_s_vegr1 type alv_chck,
g_ty_s_vekp type vekp,
g_ty_s_curr type alv_cur.
constants:
*con_vekp type lvc_fname value 'ALV_T_T2',
con_scarr type lvc_fname value 'ALV_TAB', "#EC *
con_spfli type lvc_fname value 'ALV_CHCK', "#EC *
con_vekp type lvc_fname value 'VEKP',
con_scurx type lvc_fname value 'ALV_CUR'. "#EC *
DATA *
tables: sscrfields. " for processing the FCODEs in Selektion screens
type-pools: slis, kkblo.
class lcl_events_d1001 definition deferred.
types: begin of g_ty_s_test,
select_amount type i,
selected_recs_m type i,
selected_recs_s type i,
no_info_popup type char1,
info_popup_once type char1,
events type lvc_fname occurs 0,
events_exit type slis_t_event_exit,
events_info_popup type lvc_fname occurs 0,
list_append type char1,
list_amount type i,
list_append_status type i,
layo_expand_field type char1,
layo_expand_all type char1,
vari_default type char1,
vari_save type char1,
bypassing_buffer type char1,
buffer_active type char1,
end of g_ty_s_test,
begin of g_ty_s_evt_exit.
include type slis_event_exit.
types: text type string,
end of g_ty_s_evt_exit,
g_ty_t_evt_exit type standard table of g_ty_s_evt_exit.
constants: con_true type char1 value 'X',
con_ok type sy-ucomm value 'OK',
con_exit type sy-ucomm value 'EXIT',
con_canc type sy-ucomm value 'CANC',
con_back type sy-ucomm value 'BACK',
con_event_01 type lvc_fname value 'PF_STATUS_SET',
con_event_02 type lvc_fname value 'USER_COMMAND',
con_event_03 type lvc_fname value 'CALLER_EXIT',
con_event_04 type lvc_fname value 'LIST_MODIFY',
con_event_05 type lvc_fname value 'BEFORE_LINE_OUTPUT',
con_event_06 type lvc_fname value 'AFTER_LINE_OUTPUT',
con_event_07 type lvc_fname value 'SUBTOTAL_TEXT',
con_event_08 type lvc_fname value 'REPREP_MODIFY',
con_event_09 type lvc_fname value 'TOP_OF_PAGE',
con_event_10 type lvc_fname value 'END_OF_PAGE',
con_event_11 type lvc_fname value 'TOP_OF_LIST',
con_event_12 type lvc_fname value 'END_OF_LIST',
con_event_13 type lvc_fname value 'TOP_OF_COVERPAGE',
con_event_14 type lvc_fname value 'END_OF_COVERPAGE',
con_event_15 type lvc_fname value 'TOP_OF_FOREIGN_PAGE',
con_event_16 type lvc_fname value 'END_OF_FOREIGN_PAGE',
con_event_17 type lvc_fname value 'GROUPLEVEL_CHANGE',
con_event_18 type lvc_fname value 'ITEM_DATA_EXPAND'.
data: gs_test type g_ty_s_test.
data: g_okcode type sy-ucomm.
data: g_repid type sy-repid.
data: gt_evt_exit type g_ty_t_evt_exit.
data: gr_container_d1001 type ref to cl_gui_custom_container,
gr_grid_d1001 type ref to cl_gui_alv_grid,
gr_events_d1001 type ref to lcl_events_d1001.
data: g_start_listinfo type slis_lineinfo.
*addition for extra
DATA: fieldcatalog TYPE slis_t_fieldcat_alv with header line.
types : BEGIN OF gt_output ,
EXIDV TYPE VEKP-EXIDV,
VGBEL TYPE LIPS-VGBEL,
BRGEW TYPE VEKP-BRGEW,
VEGR1 TYPE VEKP-VEGR1,
MEABM TYPE VEKP-MEABM,
ERLKZ TYPE VEKP-ERLKZ,
VSTAT TYPE NAST-VSTAT,
VHILM TYPE VEKP-VHILM,
ERDAT TYPE VEKP-ERDAT,
AENAM TYPE VEKP-AENAM,
VBELN TYPE VBELN_GEN,
ERNAM TYPE VEKP-ERNAM,
END OF gt_output.
data: ls_output type gt_output,
lt_output type gt_output occurs 0 WITH HEADER LINE .
types : BEGIN OF gt_item_output ,
EXIDV TYPE VEKP-EXIDV,
BRGEW TYPE VEKP-BRGEW,
vEGR1 TYPE VEKP-VEGR1,
TARAG TYPE VEKP-TARAG,
NTGEW TYPE VEKP-NTGEW,
MEABM TYPE VEKP-MEABM,
BREIT TYPE VEKP-BREIT,
HOEHE TYPE VEKP-HOEHE,
ANW_STATUS TYPE VEKP-ANW_STATUS,
MATNR TYPE VEPO-MATNR,
VEGR2 TYPE VEKP-VEGR2,
VSTEL TYPE VEKP-VSTEL,
WERKS TYPE VEKP-WERKS,
END OF gt_item_output.
data: ls_ITEM_output type gt_ITEM_output,
lt_ITEM_output type gt_ITEM_output occurs 0 with header line.
types: begin of g_ty_s_master.
include type gt_output.
types: box type char1,
lights type char1,
checkbox type char1,
expand type char1,
help type i,
end of g_ty_s_master,
g_ty_t_master type standard table of g_ty_s_master,
begin of g_ty_s_slave.
include type gt_item_output.
types: box type char1,
lights type char1,
checkbox type char1,
expand type char1,
help type i,
end of g_ty_s_slave,
g_ty_t_slave type standard table of g_ty_s_slave.
data: gt_master type g_ty_t_master with header line,
gt_slave type g_ty_t_slave with header line,
gs_master type g_ty_s_master.
CLASS lcl_events_d1001 DEFINITION
class lcl_events_d1001 definition.
public section.
methods:
data_changed for event data_changed
of cl_gui_alv_grid
importing er_data_changed
e_onf4
e_onf4_before
e_onf4_after,
data_changed_finished
for event data_changed_finished
of cl_gui_alv_grid.
endclass. "lcl_events_d1001 DEFINITION
CLASS lcl_events_d1001 IMPLEMENTATION
class lcl_events_d1001 implementation.
method data_changed.
endmethod. "data_changed
method data_changed_finished.
endmethod. "data_changed_finished
endclass. "lcl_events_d1001 IMPLEMENTATION
SELECTION-SCREEN *
selection-screen begin of block gen with frame.
parameters:
p_amount type i default 30.
selection-screen end of block gen.
at selection-screen.
AT SELECTION-SCREEN *
case sscrfields-ucomm.
when 'PB01'.
call screen 1001 starting at 1 1 ending at 80 20.
endcase.
START-OF-SELECTION *
start-of-selection.
g_repid = sy-repid.
gs_test-select_amount = p_amount.
END-OF-SELECTION *
end-of-selection.
perform f01_call_list.
*& Form f01_call_list
text
form f01_call_list.
data: l_callback_program type sy-cprog, "#EC NEEDED
ls_layo type slis_layout_alv,
lt_fcat type slis_t_fieldcat_alv,
ls_keyinfo type slis_keyinfo_alv.
data: ls_master type g_ty_s_master,
ls_slave type g_ty_s_slave.
l_callback_program = sy-repid.
perform f01_alv_get_outtab.
perform f01_alv_set_layout changing ls_layo.
perform f01_alv_set_fcat changing lt_fcat.
perform f01_alv_set_keyinfo changing ls_keyinfo.
if gs_test-list_append_status ne 0.
ls_layo-list_append = gs_test-list_append.
endif.
call function 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
exporting
i_callback_program = g_repid
is_layout = ls_layo
it_fieldcat = lt_fcat
i_tabname_header = 'GT_MASTER'
i_tabname_item = 'GT_SLAVE'
is_keyinfo = ls_keyinfo
tables
t_outtab_header = gt_master
t_outtab_item = gt_slave
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. " f01_call_list
FORM f01_alv_set_fcat
form f01_alv_set_fcat changing ct_fcat type slis_t_fieldcat_alv.
data: lt_fcat_master type slis_t_fieldcat_alv,
lt_fcat_slave type slis_t_fieldcat_alv.
clear ct_fcat[].
perform f01_alv_set_fcat_master changing lt_fcat_master.
perform f01_alv_set_fcat_slave changing lt_fcat_slave.
append lines of lt_fcat_master to ct_fcat.
append lines of lt_fcat_slave to ct_fcat.
endform. " F01_ALV_SET_FCAT
*& Form f01_alv_set_fcat_master
text
form f01_alv_set_fcat_master changing ct_fcat type slis_t_fieldcat_alv.
data: ls_fcat type slis_fieldcat_alv,
l_char(3) type c.
get fieldcatalog
fieldcatalog-fieldname = 'EXIDV'. "Field name in itab
fieldcatalog-seltext_l = 'HU-NR'. "Column text
FIELDCATALOG-KEY = 'X'.
FIELDCATALOG-TECH = 'X'.
fieldcatalog-col_pos = 1. "Column position
fieldcatalog-ref_tabname = 'VEKP'.
fieldcatalog-outputlen = 05. "Column width
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'VGBEL'.
fieldcatalog-seltext_L = 'SALES ORDER'.
fieldcatalog-outputlen = 15.
fieldcatalog-ref_tabname = 'LIPS'.
fieldcatalog-col_pos = 2.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'BRGEW'.
fieldcatalog-seltext_l = 'WEIGHT'.
FIELDCATALOG-KEY = 'X'.
fieldcatalog-outputlen = 15.
fieldcatalog-col_pos = 3.
fieldcatalog-ref_tabname = 'VEKP'.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'MEABM'.
fieldcatalog-seltext_l = 'DIMENSION'.
fieldcatalog-outputlen = 15.
fieldcatalog-col_pos = 4.
fieldcatalog-ref_tabname = 'VEKP'.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'VEGR1'.
fieldcatalog-seltext_l = 'IPPC NR'.
fieldcatalog-outputlen = 15.
FIELDCATALOG-KEY = 'X'.
fieldcatalog-col_pos = 5.
fieldcatalog-ref_tabname = 'VEKP'.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'ERLKZ'.
fieldcatalog-seltext_l = 'STATUS'.
fieldcatalog-outputlen = 15.
fieldcatalog-col_pos = 6.
fieldcatalog-ref_tabname = 'VEKP'.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'VSTAT'.
fieldcatalog-seltext_l = 'PRINT STATUS'.
fieldcatalog-outputlen = 15.
fieldcatalog-col_pos = 7.
fieldcatalog-ref_tabname = 'VSTAT'.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'VHILM'.
fieldcatalog-seltext_l = 'PACKING MATERIAL'.
fieldcatalog-outputlen = 15.
fieldcatalog-col_pos = 8.
fieldcatalog-ref_tabname = 'VEKP'.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'ERDAT'.
fieldcatalog-seltext_l = 'CREATED FROM'.
fieldcatalog-outputlen = 15.
fieldcatalog-col_pos = 9.
fieldcatalog-ref_tabname = 'VEKP'.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'AENAM'.
fieldcatalog-seltext_l = 'LAST CHANGE'.
fieldcatalog-outputlen = 15.
fieldcatalog-col_pos = 10.
fieldcatalog-ref_tabname = 'VEKP'.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'VBELN'.
fieldcatalog-seltext_l = 'DELIVERY'.
fieldcatalog-outputlen = 15.
fieldcatalog-col_pos = 11.
fieldcatalog-ref_tabname = 'VEKP'.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'ERNAM'.
fieldcatalog-seltext_l = 'CREATED BY'.
fieldcatalog-outputlen = 12.
fieldcatalog-col_pos = 8.
fieldcatalog-ref_tabname = 'VEKP'.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
ls_fcat-tabname = 'GT_MASTER'.
modify ct_fcat from ls_fcat transporting tabname
where tabname ne ls_fcat-tabname.
loop at ct_fcat into ls_fcat.
if ls_fcat-fieldname eq 'BRGEW'.
or ls_fcat-fieldname eq ''.
*§1.Set status of columns PLANETYPE and SEATSOCC to editable.
ls_fcat-edit = 'X'.
modify ct_fcat from ls_fcat.
endif.
endloop.
endform. " f01_alv_set_fcat_master
*& Form f01_alv_set_fcat_slave
text
form f01_alv_set_fcat_slave changing ct_fcat type slis_t_fieldcat_alv.
data: ls_fcat type slis_fieldcat_alv,
l_char(3) type c.
fieldcatalog-fieldname = 'EXIDV'. "Field name in itab
fieldcatalog-seltext_l = 'HU-NR'. "Column text
FIELDCATALOG-KEY = 'X'.
FIELDCATALOG-TECH = 'X'.
fieldcatalog-col_pos = 1. "Column position
fieldcatalog-ref_tabname = 'VEKP'.
fieldcatalog-outputlen = 05. "Column width
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'TARAG'. "Field name in itab
fieldcatalog-seltext_l = 'HU-NR'. "Column text
fieldcatalog-col_pos = 1. "Column position
fieldcatalog-ref_tabname = 'VEKP'.
fieldcatalog-outputlen = 05. "Column width
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'NTGEW'.
fieldcatalog-seltext_L = 'WEIGHT HU'.
fieldcatalog-outputlen = 15.
fieldcatalog-ref_tabname = 'VEKP'.
fieldcatalog-col_pos = 2.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'BRGEW'.
fieldcatalog-seltext_l = 'WEIGHT'.
FIELDCATALOG-KEY = 'X'.
fieldcatalog-outputlen = 15.
fieldcatalog-col_pos = 3.
fieldcatalog-ref_tabname = 'VEKP'.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'LAENG'.
fieldcatalog-seltext_l = 'LENGTH'.
fieldcatalog-outputlen = 15.
fieldcatalog-col_pos = 4.
fieldcatalog-ref_tabname = 'VEKP'.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'BREIT'.
fieldcatalog-seltext_l = 'WIDTH'.
fieldcatalog-outputlen = 15.
fieldcatalog-col_pos = 5.
fieldcatalog-ref_tabname = 'VEKP'.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'HOEHE'.
fieldcatalog-seltext_l = 'HEIGHT'.
fieldcatalog-outputlen = 15.
fieldcatalog-col_pos = 6.
fieldcatalog-ref_tabname = 'VEKP'.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'VEGR1'.
fieldcatalog-seltext_l = 'HU GR1'.
FIELDCATALOG-KEY = 'X'.
fieldcatalog-outputlen = 15.
fieldcatalog-col_pos = 7.
fieldcatalog-ref_tabname = 'VEKP'.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'VEGR2'.
fieldcatalog-seltext_l = 'HU GR2'.
FIELDCATALOG-KEY = 'X'.
fieldcatalog-outputlen = 15.
fieldcatalog-col_pos = 8.
fieldcatalog-ref_tabname = 'VEKP'.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'MATNR'.
fieldcatalog-seltext_l = 'MAT NO'.
fieldcatalog-outputlen = 15.
fieldcatalog-col_pos = 9.
fieldcatalog-ref_tabname = 'VEPO'.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'VSTEL'.
fieldcatalog-seltext_l = 'SHIPPING'.
fieldcatalog-outputlen = 15.
fieldcatalog-col_pos = 10.
fieldcatalog-ref_tabname = 'VEKP'.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'WERKS'.
fieldcatalog-seltext_l = 'PLANT'.
fieldcatalog-outputlen = 15.
fieldcatalog-col_pos = 11.
fieldcatalog-ref_tabname = 'VEKP'.
APPEND fieldcatalog TO ct_fcat.
CLEAR fieldcatalog.
ls_fcat-tabname = 'GT_SLAVE'.
modify ct_fcat from ls_fcat transporting tabname
where tabname ne ls_fcat-tabname.
endform. " f01_alv_set_fcat_slave
FORM f01_alv_set_layout
form f01_alv_set_layout changing cs_layout type slis_layout_alv.
*... Display options
cs_layout-colwidth_optimize = con_true.
cs_layout-no_colhead = space.
cs_layout-no_hotspot = space.
cs_layout-zebra = space.
cs_layout-no_vline = space.
cs_layout-cell_merge = space.
cs_layout-no_min_linesize = space.
cs_layout-min_linesize = space.
cs_layout-max_linesize = space.
cs_layout-window_titlebar = space.
cs_layout-no_uline_hs = space.
cs_layout-no_sumchoice = space.
cs_layout-no_totalline = space.
cs_layout-totals_before_items = space.
cs_layout-totals_only = space.
cs_layout-totals_text = space.
cs_layout-no_subchoice = space.
cs_layout-no_subtotals = space.
cs_layout-subtotals_text = space.
cs_layout-numc_sum = space.
cs_layout-no_unit_splitting = space.
*... Interaction
cs_layout-box_fieldname = 'BOX'.
cs_layout-box_tabname = space.
cs_layout-box_rollname = space.
if gs_test-layo_expand_field eq con_true.
cs_layout-expand_fieldname = 'EXPAND'.
endif.
cs_layout-hotspot_fieldname = space.
cs_layout-f2code = space.
cs_layout-key_hotspot = space.
cs_layout-flexible_key = space.
cs_layout-reprep = space.
cs_layout-group_buttons = space.
cs_layout-no_keyfix = space.
cs_layout-get_selinfos = con_true.
cs_layout-group_change_edit = con_true.
cs_layout-no_scrolling = space.
cs_layout-expand_all = gs_test-layo_expand_all.
*... Detailed screen
cs_layout-detail_popup = space.
cs_layout-detail_initial_lines = space.
cs_layout-detail_titlebar = space.
*... PF-status
cs_layout-def_status = space.
*... Display variants
cs_layout-header_text = space.
cs_layout-item_text = space.
cs_layout-default_item = space.
*... colour
cs_layout-info_fieldname = space.
cs_layout-coltab_fieldname = space.
*... others
cs_layout-list_append = space.
endform. " F01_ALV_SET_LAYOUT
*& Form f01_alv_set_keyinfo
text
form f01_alv_set_keyinfo changing cs_keyinfo type slis_keyinfo_alv.
cs_keyinfo-header01 = 'EXIDV'.
cs_keyinfo-item01 = 'EXIDV'.
cs_keyinfo-header02 = 'BRGEW'."'CARRID'.
cs_keyinfo-item02 = 'BRGEW'."."'CARRID'.
cs_keyinfo-header03 = 'VEGR1'."'CONNID'.
cs_keyinfo-item03 = 'VEGR1'."'CONNID'.
cs_keyinfo-header04 = space.
cs_keyinfo-item04 = 'VEGR2'."'FLDATE'.
cs_keyinfo-header05 = space.
cs_keyinfo-item05 = space.
endform. " f01_alv_set_keyinfo
FORM f01_alv_event_pf_status_set
form f01_alv_event_pf_status_set using rt_extab type slis_t_extab.
"#EC *
data: l_event type lvc_fname. "#EC NEEDED
if gs_test-info_popup_once eq con_true.
read table gs_test-events_info_popup into l_event
with key table_line = 'PF_STATUS_SET'.
if sy-subrc ne 0.
insert 'PF_STATUS_SET' into gs_test-events_info_popup index 1.
message i000(0k) with text-t01.
endif.
elseif gs_test-no_info_popup eq space.
message i000(0k) with text-t01.
endif.
set pf-status 'STANDARD' excluding rt_extab.
set titlebar 'STANDARD'.
endform. " F01_ALV_EVENT_PF_STATUS_SET
*& Form F01_ALV_EVENT_BEFORE_LINE_OUTP
text
form f01_alv_event_before_line_outp
using rs_lineinfo type slis_lineinfo. "#EC *
data: l_event type lvc_fname. "#EC NEEDED
if gs_test-info_popup_once eq con_true.
read table gs_test-events_info_popup into l_event
with key table_line = 'BEFORE_LINE_OUTPUT'.
if sy-subrc ne 0.
insert 'BEFORE_LINE_OUTPUT' into gs_test-events_info_popup
index 1.
message i000(0k) with text-t05.
endif.
elseif gs_test-no_info_popup eq space.
message i000(0k) with text-t05.
endif.
format color off
intensified off
inverse off
hotspot off
input off.
if rs_lineinfo-tabname eq 'GT_MASTER'.
if
gs_master-exidv ne gt_master-exidv or
gs_master-brgew ne gt_master-brgew.
write: / text-t05.
write: /
gt_master-exidv,
gt_master-brgew.
gs_master = gt_master.
endif.
if gs_test-selected_recs_m eq rs_lineinfo-tabindex.
clear gs_master.
endif.
endif.
endform. " F01_ALV_EVENT_BEFORE_LINE_OUTP
*& Form f01_alv_get_outtab
text
form f01_alv_get_outtab .
field-symbols: .
select
exidv BRGEW VEGR1
TARAG NTgew meabm BREIT HOEHE VEGR2 VSTEL weRKS
from
(con_vekp) into corresponding fields of table
lt_slave up to gs_test-select_amount rows
where
exidv eq <ls_master>-exidv and
brgew eq -vegr1.
append lines of lt_slave to gt_slave.
endloop.
sort gt_slave by exidv brgew vegr1.
endif.
describe table gt_master lines gs_test-selected_recs_m.
describe table gt_slave lines gs_test-selected_recs_s.
clear gt_master.
clear gt_slave.
endform. " f01_alv_get_outtab
*& Module d1001_pbo OUTPUT
text
module d1001_pbo output.
perform d1001_pbo.
endmodule. " d1001_pbo OUTPUT
*& Module d1001_pai INPUT
text
module d1001_pai input.
perform d1001_pai.
endmodule. " d1001_pai INPUT -
Doubt about Select statement.
Hi folks!!
I have a few doubts about the select statements, it may be a silly things but its useful for me.
what is difference between below statment.
1)SELECT * FROM TABLE.
2)SELECT SINGLE * FROM TABLE
3)SELECT SINGLE FROM TABLE.
Hope i will get answer,thanks in advance.
Regards
Richie..Hi,
try this and if possible use sap help.i mean place the cursor on select and press F1.
Types of select statements:
1. select * from ztxlfa1 into table it.
This is simple select statement to fetch all the data of db table into internal table it.
2. select * from ztxlfa1 into table it where lifnr between 'V2' and 'V5'.
Thisis using where condition between v2 and v5.
4. select * from ztxlfa1 where land1 = 'DE'. "row goes into default table work Area
5. select lifnr land1 from ztxlfa1
into corresponding fields of it "notice 'table' is omitted
where land1 = 'DE'.
append it.
endselect.
Now data will go into work area. and then u will add it to internal table by
append statement.
6. Table 13.2 contains a list of the various forms of select as it is used with internal tables and their relative efficiency. They are in descending order of most-to-least efficient.
Table 13.2 Various Forms of SELECT when Filling an Internal Table
Statement(s) Writes To
select into table it Body
select into corresponding fields of table it Body
select into it Header line
select into corresponding fields of it Header line
7. SELECT VBRK~VBELN
VBRK~VKORG
VBRK~FKDAT
VBRK~NETWR
VBRK~WAERK
TVKOT~VTEXT
T001~BUKRS
T001~BUTXT
INTO CORRESPONDING FIELDS OF TABLE IT_FINAL
FROM VBRK
INNER JOIN TVKOT ON VBRKVKORG = TVKOTVKORG
INNER JOIN T001 ON VBRKBUKRS = T001BUKRS
WHERE VBELN IN DOCNUM AND VBRK~FKSTO = ''
AND VBRK~FKDAT in date.
Select statement using inner joins for vbrk and t001 and tvkot table for this case based on the conditions
8. SELECT T001W~NAME1 INTO TABLE IT1_T001W
FROM T001W INNER JOIN EKPO ON T001WWERKS = EKPOWERKS
WHERE EKPO~EBELN = PURORD.
here selecting a single field into table it1_t001winner join on ekpo.
9. SELECT BUKRS LIFNR EBELN FROM EKKO INTO CORRESPONDING FIELDS OF IT_EKKO WHERE EBELN IN P_O_NO.
ENDSELECT.
SELECT BUTXT FROM T001 INTO IT_T001 FOR ALL ENTRIES IN IT_EKKO WHERE BUKRS = IT_EKKO-BUKRS.
ENDSELECT.
APPEND IT_T001.
here I am using for all entries statement with select statement. Both joins and for all entries used to fetch the data on condition but for all entries is the best one.
10. SELECT AVBELN BVTEXT AFKDAT CBUTXT ANETWR AWAERK INTO TABLE ITAB
FROM VBRK AS A
INNER JOIN TVKOT AS B ON
AVKORG EQ BVKORG
INNER JOIN T001 AS C ON
ABUKRS EQ CBUKRS
WHERE AVBELN IN BDOCU AND AFKSTO EQ ' ' AND B~SPRAS EQ
SY-LANGU
AND AFKDAT IN BDATE AND AVBELN EQ ANY ( SELECT VBELN FROM
VBRP WHERE VBRP~MATNR EQ ITEMS ).
Here we are using sub query in inner join specified in brackets.
Thanks,
chandu. -
Select Statement or Function Module
Hi all,
I have lakhs of records in my database.When I am using the SAP standard function module C1F2_SUBSTANCES_READ for retreiving data it is taking time.I know all the data base tables .Shall I use to retreive data using select statements instead of the mentioned SAP standard function module.Could any one please explain which is best method to retrieve huge data and also explain reason?
Thanks and Regards,
KanthHi Shiva,
If your Sure about exactly what data you want to fetch from the database, I would follow the below process.
1) I would search if there is any standard function module or Bapi to do this... The reason why i do this is becuase as SAP has created those standard function modules or Bapi, the first advantage would be the program has good performance ( Moreever it also depends on how do you handle that in your program ).
Moreover it handles varies business functionalities and authorizatiions etc..
2) If i dont find any standard function module or Bapi then if the data what you are selecting from database if it is used multiple times then i would create a zbapi or Zfunctionmodule and inlude my code in it... ( Here this custom function module can be used in many program : ie : modulerization ).
Regards
Satish Boguda -
Passing values to OnDemandProcess from Select Statement on Reports Page
I think I'm just missing some of the proper syntax, Can somebody please help me.
As I've come to understand this process of passing the values,
I recognize it as (3) steps.
1. Referencing the "javascript" in the Select Statement of the Reports Page.
2. Including the "javascript" in the Page Header region.
3. Defining the Process as an OnDemand Application Process.
My problem is:
a. I can't seem to get the Value passed to the Application Process.
b. I don't know how to reference the Value passed once I get it passed.
Here's what I've got done so far:
1. (The Select Statement)
onClick="javascript:ORDER_CONNECT_SEQUENCE('||ID||')
{code}
2. (The javascript)
{code}
function ORDER_CONNECT_SEQUENCE('+ID+')
var get = new htmldb_Get(null,$x('pFlowId').value,'APPLICATION_PROCESS=ORDER_CONNECT_SEQUENCE',0);
get.add('+ID+');
gReturn = get.get('+ID+');
{code}
3. (The Application Process)
{code}
BEGIN
Select '+ID+' into THIS_CIRCUIT from dual;
{code}
I Know that the Application Process is being referenced and that the OnClick routine is working properly,
because if I plug a Value into the Application Process, instead of using '+ID+',
Then I get all of my desired results.
Any help you can give me here is greatly appreciated.
Thanks- GaryDimitri, Thanks for your efforts here, but its still not working for me.
Here's what I understand from your suggestions:
1. (changes to the javascipt)
a. replace function ORDER_CONNECT_SEQUENCE('+ID+')
with
function ORDER_CONNECT_SEQUENCE(pId)
b. replace get.add('+ID+')
with
get.addParam('x01',pId)
c. replace getReturn = get.get('+ID+')
with
getReturn = get.get()
get = null2. (chages to the Application Process)
a. add l_value varchar2(4000) to my list of declarations
b. add l_value := wwv_flow.g_x01 below the begin statement
c. I guess then I would reference the l_value like this:
Select l_value into THIS_CIRCUIT from dual* Also, You didn't mention any changes in my Select statement in the Reports region of the page.
FYI.
onClick="javascript:ORDER_CONNECT_SEQUENCE('||ID||')
{code}
The 'ID' which I'm referencing here is an ID from the table which I'm querying.
Am I misunderstanding you somewhere?
Thanks- gary -
Error Extracting data from a STRUCTURE in SELECT statement
Hi,
I have an SAP defined structure BIW_KNA1_S which has been enhanced with 2 fields (ZZS1 and ZZS2). I need to populate these 2 fields with data from the 2 SORT fields from ADRC table.
I tried the following code but i do not get any output. This piece of code is in a FORM statement from which i should return contents of table ITAB in the foll. code.
DATA ZS TYPE TABLE OF ADRC WITH HEADER LINE.
DATA ITAB LIKE TABLE OF BIW_KNA1_S WITH HEADER LINE.
FIELD-SYMBOLS: <FS> LIKE ITAB.
SELECT SORT1 SORT2 FROM ADRC INTO CORRESPONDING FIELDS OF TABLE
ZS WHERE ADDRNUMBER IS NOT NULL.
LOOP AT ITAB ASSIGNING <FS>.
IF ZS-ADDRNUMBER IS NOT INITIAL.
<FS>-ZZS1 = ZS-SORT1.
<FS>-ZZS2 = ZS-SORT2.
ENDIF.
ENDLOOP.
Since i did not get any output, I then added the foll. line of code before the LOOP statement.
SELECT * FROM BIW_KNA1_S INTO CORRESPONDING FIELDS OF TABLE ITAB
WHERE KUNNR IS NOT NULL.
When i execute this, i get the foll. error.
"BIW_KNA1_S is not defined in the ABAP dictionary as table, projection view or database view."
How to extract data from a structure BIW_KNA1_S using a SELECT statement.
Could someone help.
ThanksHi Roberto,
Ok. Let me explain my requirement more clearly. I don't want to write the code in include ZXRSAU02. In ZXRSAU02, i will have only PERFORM statement which will call the FORM statement depending on the name of the program.
Ex: PERFORM form_name ...tables i_t_data.
In this way, i don't need to make any changes in this file. I will only need to make the changes in the report where my Actual FORM code resides. In the ABAP report, i will have my FORM code which will return contents.
And this is the code which my FORM report will consist:
DATA ZS TYPE TABLE OF ADRC WITH HEADER LINE.
DATA ITAB LIKE BIW_KNA1_S OCCURS 10 WITH HEADER LINE.
FIELD-SYMBOLS: <FS> LIKE ITAB.
SELECT SORT1 SORT2 FROM ADRC INTO CORRESPONDING FIELDS OF TABLE ZS WHERE ADDRNUMBER IS NOT NULL.
LOOP AT ITAB ASSIGNING <FS>.
IF ZS-ADDRNUMBER IS NOT INITIAL.
<FS>-ZZS1 = ZS-SORT1.
<FS>-ZZS2 = ZS-SORT2.
ENDIF.
ENDLOOP.
But as you said, i will have some problems i suppose. Like if my ADRC has some 70 records and if there are 100 records in BIW_KNA1_S, then when i try to copy the fields from ADRC into ITAB (BIW_KNA1_S) i might have problems. I will get back to you once i clarify these things.
Thanks for your reply.
Maybe you are looking for
-
We are developing an application that should block the keyboard for all applications running under windows. (A time limited web browser) I know more or less how to do it on my Java Window but I need to block all the machine. Thanks in advance.
-
How to set database session info
Jdev 9.0.3.3 My app manages user logins via a custom jaas implementation, but it connects to the db using a shared username/password. I capture the real username password of the logged in user in my app and want to add that info to some audit columns
-
Message: 'FILE CANNOT STORE XMP METADATA'
I have encountered a problem that I cannot resolve by myself and cannot find any relevant information. I hope you can help: In some cases (this has only been happening with my last big job of about 1000 selected images which are divided in subfolders
-
Just upgraded to FF4 from FF3.6.16. Tried typing keywords into the Awesome Bar expecting to get redirected, but instead all I get is a bevy of "Invalid URL" notices. Is the Awesome Bar gone in FF4? This is a serious inconvenience and I don't want to
-
Hello I am trying to download the trial version of Adobe X Pro but when I get to running the set up, I get the following error message: "This application cannot be installed on this operating system. Setup will now terminate. Please refer to the mi