Basic Authenticate with by using other tables
Hi
I already have user table, group table and also password. I have my package to authenticate of my users. How I can do ???
null
Hi,
Please make possible pairs for M1, M2 and M3 with C1, C2, C3 and C4.
Make a table with those values and use that table while inserting random records instead of selecting from tables T1 and T2.
-Regards
Rushang
Similar Messages
-
Selecting records from DB table with out using internal tables
hi,
i need to retrieve values from a database table based on few fields and date as well. however, i need to check whether the date is less or equal to the current date and along with that i should get the appropriate record. how can i do that with out using internal table.
field1-----date---
11111----
20070219
11111--20070214 <---
11111----
20070205
in the above scenario i should get the second record
Regards,
Kranthi.Try:
REPORT ztest MESSAGE-ID 00.
TABLES bkpf.
SELECT * FROM bkpf
UP TO 1 ROWS
WHERE budat <= sy-datum
ORDER BY budat DESCENDING.
ENDSELECT.
Rob -
How to authenticate with MSISDN using REST style in openSSO
I need authenticate with MSISDN using the REST style in openSSO.
So, can anybody tells how to implement it? I am aware of implementing with username password by calling the URL as /opensso/identity/authenticate. If i want to authenticate using MSISDN how we have do it using REST in openSSO 8.0.Hi Vijay,
I hope there is something related to MSISDN in the administrator Guide and Administrator Reference. Administrator reference contains the MSDN attribute lists. I found that in the Developer's guide, there is a documentation related to customising authentication modules where we can specify MSISDN authentication module. I guess there is a msisdn.xml file which can be can be configured.
I am a new bee on this front. But I guess, we will find it out together. To what extent you have done to configure. Could you give me little detail about it. ;)
Your message too short for the forum.
Manila -
Problem with Export using single table with query
I have a need to export rows from a specified table using the query parameter to filter the rows I need. The example I have is this:
EXP user/pwd@id tables=(tableA) query=\"where tableA.id = tableB.id and table B.id2 = tableC.id2 and tableC.id3 = 10\"
When export runs, I get this: ". . exporting table tableA
EXP-00056: ORACLE error 904 encountered
ORA-00904: "TABLEC"."ID3": invalid identifier
Export terminated successfully with warnings."
When I viewed the contents of the resulting dmp file through IMP, it only has table column information and no rows exported.
Could somebody tell me what is wrong?
I have a feeling it is with the QUERY parameter. The doco on the QUERY parameter only shows a very simple example that filters data by only the columns in the specified table (assumed). Are joins to other tables allowed inside the QUERY?? The doco doesn't say that its not allowed.<<
EXP user/pwd@id tables=(tableA) query=\"where tableA.id = tableB.id and table B.id2 = tableC.id2 and tableC.id3 = 10\"
>>
table B.id2 = tableC.id2 -- isn't there one blank too much ? -
Do ordering your child block using other tables wihout using views
Hi all,
Just need to play with this : Query Data Source Name property for data block
Benefit : you can do order by child block with other tables without using View
I have used two tables in this property !!
and it is working fine.
e.g. Dept is master block
and clild block is Emp nad combination with emp_category.
so now I can order emp block by emp category.
master block : dept
Query datasource name : dept
child block : emp
Query datasource name : emp a , emp_category b
From
Chirag PatelOk, I'd probably go with the two insert method, but as an alternative, here is a method of doing it in a single insert:
create table emp_info as
select 1 empno, 'a' empname, 101 deptid, 'aaa' deptname from dual union all
select 2, 'b' empname, 201 deptid, 'bbb' deptname from dual union all
select 3, 'c' empname, 101 deptid, 'aaa' deptname from dual union all
select 4, 'd' empname, 101 deptid, 'aaa' deptname from dual union all
select 5, 'e' empname, 301 deptid, 'ccc' deptname from dual;
create table emp (empno number primary key, empname varchar2(3), deptid number);
create table dept (deptid number primary key, deptname varchar2(3));
insert all
WHEN rn = 1 THEN
into dept (deptid, deptname)
values (deptid, deptname)
WHEN rn > 0 THEN
into emp (empno, empname, deptid)
values (empno, empname, deptid)
select empno, empname, deptid, deptname, rn
from (select empno,
empname,
deptid,
deptname,
row_number() over (partition by deptid order by empno) rn
from emp_info);
8 rows inserted
commit;
select * from emp;
EMPNO EMP DEPTID
1 a 101
3 c 101
4 d 101
2 b 201
5 e 301
select * from dept;
DEPTID DEP
101 aaa
201 bbb
301 cccYou should test both methods to see which one is more performant. -
How to authenticate with Sharepoint using rest service and jquery
Hi ,
I have a requirement where i need to authenticate with sharepoint from ios and android app using rest services and jquery.
Can anyone help me in this .
Thanks in Advance.
Regards,
SrinathHi,
According to your post, my understanding is that you want to access SharePoint data from IOS and Android app.
The following materials for your reference:
How can I authenticate SharePoint REST calls from Android App?
http://stackoverflow.com/questions/24673373/how-can-i-authenticate-sharepoint-rest-calls-from-android-app
Calling RESTful services from your Android app
http://www.techrepublic.com/blog/software-engineer/calling-restful-services-from-your-android-app/
SharePoint 2013 REST API in iOS
http://omicron-llama.co.uk/2012/12/13/sharepoint-2013-rest-api-in-ios/
Best Regards
Dennis Guo
TechNet Community Support -
How to Authenticate with sharepoint using rest services
I have a requirement where i need to authenticate with sharepoint from ios and android app using rest services and jquery.
Can anyone help me in this .You can use OAuth for authentication.
http://msdn.microsoft.com/en-us/library/office/fp142382%28v=office.15%29.aspx -
To populate dynamically created int table with data from other table
Hi everybody,
I have already created an internal table dynamically, but now want to populate it with data from another IT depending on the plant name.
My dynamic int table contains fields with plant name like '8001' ,'8002' and so on.
no I want to read data from the other table and depending on bwkey which contains similar data like plant name , want to append to this new dynamic int table through read key statement.
I cannot reference the field name hard coded as it does not allow field symbol reference to be hard coded.
Pls help.Hi,
Check the code below:
REPORT ztestdyn.
TYPE-POOLS : slis.
TABLES: yyle0003.
DATA:
g_exit TYPE c,
g_save VALUE 'A', "For parameter I_SAVE
g_repid LIKE sy-repid, "For program name
g_variant TYPE disvariant. "For parameter IS_VARIANT
*Tables
DATA: d_ref TYPE REF TO data,
d_ref1 TYPE REF TO data,
i_alv_cat1 TYPE TABLE OF lvc_s_fcat,
ls_alv_cat1 LIKE LINE OF i_alv_cat1.
DATA: BEGIN OF total_tab OCCURS 0 ,
tknum TYPE yyle0003-tknum,
quantity TYPE p, "yyle0003-QUANTITY,
END OF total_tab.
DATA: BEGIN OF g_scandata_tab OCCURS 0.
INCLUDE STRUCTURE yyle0003.
DATA: END OF g_scandata_tab.
DATA: g_yyle0003_tab LIKE yyle0003 OCCURS 0 WITH HEADER LINE.
DATA: g_itab1 TYPE TABLE OF yyle0003.
DATA: wa_itab1 LIKE g_scandata_tab.
TYPES: BEGIN OF itab2,
tknum TYPE yyle0003-tknum,
vhilm TYPE yyle0003-vhilm,
quantity TYPE p,
END OF itab2.
DATA: g_itab3 TYPE TABLE OF itab2.
DATA: wa_itab3 TYPE itab2.
DATA: g_itab5 TYPE TABLE OF itab2.
DATA: wa_itab5 TYPE itab2.
DATA: g_itab4 TYPE TABLE OF itab2.
DATA: wa_itab4 TYPE itab2.
DATA: gv_wa TYPE REF TO data.
DATA : wa_tab TYPE itab2.
DATA: BEGIN OF itab6 OCCURS 0,
vhilm TYPE yyle0003-vhilm,
quantity TYPE p,
END OF itab6.
******************Start of Internal Table Definition *******************
DATA:
g_custom_container_0100 TYPE REF TO cl_gui_custom_container,
g_alv_grid_0100 TYPE REF TO cl_gui_alv_grid,
g_container_0100 TYPE scrfname VALUE 'LIST',
g_mylayout TYPE lvc_s_layo,
ok_code LIKE sy-ucomm.
FIELD-SYMBOLS :<f_fs> TYPE table,
<f_fs11> TYPE table,
<f_fs1> TYPE table,
<f_fs3> TYPE ANY,
<f_fs4> TYPE ANY,
<f_field> TYPE ANY,
<f_fs5> TYPE ANY.
FIELD-SYMBOLS: <fs_wa> TYPE ANY.
DATA: l_var TYPE i,
l_i TYPE i.
DATA: l_var1 TYPE char20,
l_var2 TYPE char20.
DATA: l_TOTAL TYPE I,
L_FILL TYPE i,
L_TOT TYPE I.
DATA: l_int TYPE i,
l_sum TYPE i.
FIELD-SYMBOLS: <f_fs2> TYPE itab2, "
<f_fs6> TYPE ANY,
<f_fs7> TYPE ANY.
DATA: l_var3 TYPE char15.
DATA: l_quant TYPE p.
FIELD-SYMBOLS: <f_fs8> LIKE itab6, "
<f_fs9> TYPE ANY,
<f_fs10> TYPE ANY.
FIELD-SYMBOLS : <f_fs12> TYPE ANY,
<f_fs13> TYPE ANY.
SORT g_scandata_tab BY tknum vhilm.
LOOP AT g_scandata_tab INTO wa_itab1.
MOVE-CORRESPONDING wa_itab1 TO wa_itab3.
APPEND wa_itab3 TO g_itab3.
ENDLOOP.
LOOP AT g_itab3 INTO wa_itab3.
COLLECT wa_itab3 INTO g_itab4.
ENDLOOP.
LOOP AT g_itab4 INTO wa_itab4.
MOVE-CORRESPONDING wa_itab4 TO wa_itab5.
MOVE-CORRESPONDING wa_itab4 TO itab6.
APPEND wa_itab5 TO g_itab5.
COLLECT itab6.
ENDLOOP.
CLEAR wa_itab3.
SORT g_itab4 BY tknum vhilm.
DELETE ADJACENT DUPLICATES FROM g_itab4 COMPARING vhilm.
DESCRIBE TABLE g_itab4 LINES l_var.
l_i = '2'.
ls_alv_cat1-fieldname = 'TKNUM'.
ls_alv_cat1-col_pos = 1.
ls_alv_cat1-coltext ='ShipmentNo.'.
APPEND ls_alv_cat1 TO i_alv_cat1.
DATA: l_var4(10) TYPE c,
l_var5(10) TYPE c,
l_fieldname(20) TYPE c..
LOOP AT g_itab4 INTO wa_itab4.
IF l_var >= 1.
CONDENSE wa_itab4-vhilm NO-GAPS.
ls_alv_cat1-fieldname = wa_itab4-vhilm. "l_fieldname.
ls_alv_cat1-col_pos = l_i.
ls_alv_cat1-coltext = wa_itab4-vhilm.
ls_alv_cat1-do_sum ='X'.
APPEND ls_alv_cat1 TO i_alv_cat1.
CLEAR : ls_alv_cat1, l_fieldname.
l_i = l_i + 1.
ENDIF.
AT LAST.
ls_alv_cat1-fieldname = 'TOTAL'. "l_fieldname.
ls_alv_cat1-col_pos = l_i.
ls_alv_cat1-coltext = 'TOTAL'.
ls_alv_cat1-do_sum ='X'.
APPEND ls_alv_cat1 TO i_alv_cat1.
CLEAR : ls_alv_cat1, l_fieldname.
ENDAT.
SORT i_alv_cat1 BY fieldname.
DELETE ADJACENT DUPLICATES FROM i_alv_cat1.
ENDLOOP.
SORT i_alv_cat1 BY col_pos.
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = i_alv_cat1
IMPORTING
ep_table = d_ref.
ASSIGN d_ref->* TO <f_fs>.
CREATE DATA gv_wa LIKE LINE OF <f_fs>.
ASSIGN gv_wa->* TO <fs_wa>.
DELETE ADJACENT DUPLICATES FROM <f_fs> COMPARING ALL FIELDS.
LOOP AT itab6.
CLEAR wa_itab5.
wa_itab5-tknum = 'Total'.
MOVE-CORRESPONDING itab6 TO wa_itab5.
APPEND wa_itab5 TO g_itab5.
CLEAR wa_itab5.
ENDLOOP.
DESCRIBE TABLE g_itab5 LINES L_TOT.
LOOP AT TOTAL_TAB.
L_TOTAL = L_TOTAL + total_tab-quantity.
ENDLOOP.
LOOP AT g_final ASSIGNING <f_fs2>.
ASSIGN COMPONENT 'TKNUM' OF STRUCTURE <f_fs2> TO <f_fs6>.
ASSIGN COMPONENT 'TKNUM' OF STRUCTURE <fs_wa> TO <f_fs7>.
<f_fs7> = <f_fs6>.
CONDENSE <f_fs2>-vhilm NO-GAPS.
ASSIGN COMPONENT 'VHILM' OF STRUCTURE <f_fs2> TO <f_fs3>.
ASSIGN COMPONENT 3 OF STRUCTURE <f_fs2> TO <f_fs4>.
MOVE <f_fs3> TO l_var1.
ASSIGN COMPONENT l_var1 OF STRUCTURE <fs_wa> TO <f_fs5>.
<f_fs5> = <f_fs4>.
CLEAR total_tab-quantity.
READ TABLE total_tab WITH KEY tknum = <f_fs6>.
IF sy-subrc = 0.
ASSIGN total_tab-quantity TO <f_fs12>.
ASSIGN COMPONENT 'TOTAL' OF STRUCTURE <fs_wa> TO <f_fs13>.
<f_fs13> = <f_fs12>.
ENDIF.
L_FILL = L_FILL + 1.
IF L_FILL = L_TOT.
ASSIGN L_TOTAL TO <f_fs12>.
ASSIGN COMPONENT 'TOTAL' OF STRUCTURE <fs_wa> TO <f_fs13>.
<f_fs13> = <f_fs12>.
ENDIF.
AT END OF <f_fs2>-tknum.
APPEND <fs_wa> TO <f_fs>.
CLEAR <fs_wa>.
ENDAT.
ENDLOOP.
CLEAR: <f_fs6>,
<f_fs7>.
CLEAR <fs_wa>.
CALL SCREEN 0100.
*& Module STATUS_0100 OUTPUT
text
MODULE status_0100 OUTPUT.
SET PF-STATUS 'ZVKS'.
SET TITLEBAR 'ZVKS'.
CHECK sy-ucomm IS INITIAL.
SORT g_scandata_tab BY tknum vhilm.
CREATE OBJECT g_custom_container_0100
EXPORTING container_name = g_container_0100
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.
CREATE OBJECT g_alv_grid_0100
EXPORTING i_parent = g_custom_container_0100.
g_mylayout-grid_title = 'Display Scanning data'.
CALL METHOD g_alv_grid_0100->set_table_for_first_display
CHANGING
it_outtab = <f_fs>
it_fieldcatalog = i_alv_cat1
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
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.
ENDMODULE. " STATUS_0100 OUTPUT
Regards
Kannaiah -
Problems with Whitespace using nested tables from eclipse dtp oracle plugin
Hi,
sending from eclipse to oracle xe fails if whitespace is used:
Example1: Nested table in nested table
adress_table_typ has another nested table in it
that works
CREATE TABLE x (
i INTEGER PRIMARY KEY,
adressen adress_table_typ
) NESTED TABLE adressen STORE AS adressen_nt (NESTED TABLE tels STORE AS tels_nt);
inserting a newline fails
CREATE TABLE x (
i INTEGER PRIMARY KEY,
adressen adress_table_typ
) NESTED TABLE adressen STORE AS adressen_nt
(NESTED TABLE tels STORE AS tels_nt);
Example2:
Two nested tables
CREATE TABLE x (
i INT PRIMARY KEY,
l_table_typ,
m_table_typ
) NESTED TABLE laptops STORE AS laptop_nt NESTED TABLE interessen STORE AS interessen_nt;
and then an insert
INSERT INTO x VALUES (123456,
l_typ(laptop_typ('123', 'netop'),
laptop_typ('234', 'thinkpad'),
laptop_typ('345', 'iBook')),
m_typ('a', 'b', 'c')
which fails. Note that the INSERT works when copy&pasted to sqlplus. It also works if there is
just one nested table.
Am I doing somethig wrong or is this a bug in the eclipse data tools plugin?
Regards
- Peter
PS; It is rather difficult to insert whitespace in that forum editor. Any possibility to have ascii?
For a "whitespace" question rather important...A bit of an update on the original post. I was playing around with the plug-in xml file (e.g. eclipse\plugins\org.eclipse.jst.server.generic.oc4j_1.5.100.v20070608\buildfiles\oracle.10.1.3.xml). I changed the following from "deploy" to "redeploy" and it seems to be working once the applicatoin is initial deployed. Of course, I have to change it back to "deploy" if it is the first time the application is being deployed. However; I would still would like to resolve this if there is something out there that fixes this problem. Or if everything points to an enviornment problem, I can continue to play with it.
<target name="deploy.j2ee.ear" depends="check.skip.ear.deploy" unless="skip.deploy">
<antcall target="package.module.ear"/>
<oracle:redeploy
deployerUri="${deployer.uri}"
userId="${oc4j.admin.user}"
password="${oc4j.admin.password}"
file="${server.publish.dir}/${module.name}.ear"
deploymentName="${module.name}"
bindAllWebApps="${oc4j.bind.website}"/>
</target> -
Update a table using other table
Hi,
I have a very small problem. I have one table emp1 with columns A and B and second table emp2 with columns C and D. i want to update emp1 column A with emp2 column C for matching values of B and D. i am writing query
update emp2
set emp2.c = e.a
from emp1 e
where e.b=emp2.d
But its giving SQL not properly ended.. i know its a very still doubt but still.
thnks in advance..
Ashish>
>
update emp2
set emp2.c = e.a
from emp1 e
where e.b=emp2.d
your statement should be somthing like this.
You are missing kewy word,
Update <table_name> set <column_name>=
(select <column_name>
from tab_name> where <conditionn>>) -
Here's how to do ALV (OO) with dynamic fcat, int table and editable data
Hi everybody
Here's a more useful approach to ALV grid with OO using dynamic table, data NOT from DDIC, dynamic FCAT and how to get changed lines from the grid when ENTER key is pressed.
It's really not too dificult but I think this is more useful than the ever present SFLIGHT methods from the demos.
This also defines a subclass of cl_gui_alv_grid so you can access the protected attributes / methods of that class.
You don't need to add the class via SE24 -- done fron this ABAP.
When you run it click Edit for the first time.
After editing data press ENTER and the break point should bring you into the relevant method.
Code developed on NW2004S trial version but also works on rel 6.40 on a "Real" system.
The code should work without any changes on any system >=6.40.
All you need to do is to create a blank screen 100 via SE51 with a custom container on it called CCONTAINER1.
The rest of the code can just be uploaded into your system using the SE38 upload facility.
When running the program click on the EDIT button to enable the edit functionality of the grid.
Change your data and when you press ENTER you should get the break-point where you can see the original table and changed rows.
This program is actually quite general as it covers Dynamic tables, building a dynamic fcat where your table fields are NOT in the DDIC, intercepting the ENTER key via using an event, and accessing the protected attributes of the cl_gui_alv_grid by defining a subclass of this class in the abap.
I've seen various questions relating to all these functions but none in my view ever answers the questions in a simple manner. I hope this simple program will answer all these and show how using OO ALV is actually quite easy and people shouldn't be scared of using OO.
Have fun and award points if useful.
Cheers
Jimbo.
<b>PROGRAM zdynfieldcat.
Simple test of dynamic ITAB with user defined (not ddic) fields
Build dynamic fcat
use ALV grid to display and edit.
*When edit mode set to 1 toolbar gives possibility of adding and
*deleting rows.
*Define subclass of cl_gui_alv_grid so we can use protected attributes
*and methods.
Add event handler to intercept user entering data and pressing the
*ENTER key.
When enter key is pressed get actual value of NEW table (all rows)
rather than just the changed data.
*use new RTTI functionality to retrieve internal table structure
*details.
Create a blank screen 100 with a custom container called CCONTAINER1.
James Hawthorne
include <icon>.
define any old internal structure NOT in DDIC
types: begin of s_elements,
anyfield1(20) type c,
anyfield2(20) type c,
anyfield3(20) type c,
anyfield4(20) type c,
anyfield5(11) type n,
end of s_elements.
types: lt_rows type lvc_t_roid.
Note new RTTI functionality allows field detail retrieval
at runtime for dynamic tables.
data: wa_element type s_elements ,
wa_data type s_elements,
c_index type sy-index,
c_dec2 type s_elements-anyfield5,
wa_it_fldcat type lvc_s_fcat,
it_fldcat type lvc_t_fcat,
lr_rtti_struc TYPE REF TO cl_abap_structdescr, "RTTI
lt_comp TYPE cl_abap_structdescr=>component_table,"RTTI
ls_comp LIKE LINE OF lt_comp, "RTTI
zog like line of lr_rtti_struc->components, "RTTI
struct_grid_lset type lvc_s_layo,
l_valid type c,
new_table type ref to data.
field-symbols: <dyn_table> type standard table,
<actual_tab> type standard table,
<fs1> type ANY,
<FS2> TYPE TABLE.
data: grid_container1 type ref to cl_gui_custom_container.
class lcl_grid_event_receiver definition deferred.
data: g_event_receiver type ref to lcl_grid_event_receiver.
data: ls_modcell type LVC_S_MODI,
stab type ref to data,
sdog type s_elements. .
class lcl_grid_event_receiver definition.
public section.
methods:
handle_data_changed
for event data_changed of cl_gui_alv_grid
importing er_data_changed,
toolbar for event toolbar of cl_gui_alv_grid
importing e_object
e_interactive,
user_command for event user_command of cl_gui_alv_grid
importing e_ucomm.
endclass.
*implementation of Grid event-handler class
class lcl_grid_event_receiver implementation.
method handle_data_changed.
code whatever required after data entry.
various possibilites here as you can get back Cell(s) changed
columns or the entire updated table.
Data validation is also possible here.
perform check_data using er_data_changed.
endmethod.
Method for handling all creation/modification calls to the toolbar
method toolbar.
data : ls_toolbar type stb_button.
Define Custom Button in the toolbar
clear ls_toolbar.
move 0 to ls_toolbar-butn_type.
move 'EDIT' to ls_toolbar-function.
move space to ls_toolbar-disabled.
move 'Edit' to ls_toolbar-text.
move icon_change_text to ls_toolbar-icon.
move 'Click2Edit' to ls_toolbar-quickinfo.
append ls_toolbar to e_object->mt_toolbar.
clear ls_toolbar.
move 0 to ls_toolbar-butn_type.
move 'UPDA' to ls_toolbar-function.
move space to ls_toolbar-disabled.
move 'Update' to ls_toolbar-text.
move icon_system_save to ls_toolbar-icon.
move 'Click2Update' to ls_toolbar-quickinfo.
append ls_toolbar to e_object->mt_toolbar.
clear ls_toolbar.
move 0 to ls_toolbar-butn_type.
move 'EXIT' to ls_toolbar-function.
move space to ls_toolbar-disabled.
move 'Exit' to ls_toolbar-text.
move icon_system_end to ls_toolbar-icon.
move 'Click2Exit' to ls_toolbar-quickinfo.
append ls_toolbar to e_object->mt_toolbar.
endmethod.
method user_command.
case e_ucomm .
when 'EDIT'. "From Tool bar
perform set_input.
perform init_grid.
when 'UPDA'. "From Tool bar
perform refresh_disp.
perform update_table.
when 'EXIT'. "From Tool bar
leave program.
endcase.
endmethod.
endclass.
class zcltest definition inheriting from cl_gui_alv_grid.
define this as a subclass so we can access the protected attributes
of the superclass cl_gui_alv_grid
public section.
methods: constructor, disp_tab.
endclass.
need this now to instantiate object
as we are using subclass rather than the main cl_gui_alv_grid.
class zcltest implementation.
METHOD constructor.
CALL METHOD super->constructor
exporting i_appl_events = 'X'
i_parent = grid_container1.
endmethod.
method disp_tab.
FIELD-SYMBOLS: <outtab> TYPE STANDARD TABLE.
break-point 1.
mt_outtab is the data table held as a protected attribute
in class cl_gui_alv_grid.
ASSIGN me->mt_outtab->* TO <outtab>. "Original data
do whatever you want with <outtab>
contains data BEFORE changes each time.
Note that NEW (Changed) table has been obtained already by
call to form check_data USING P_ER_DATA_CHANGED
TYPE REF TO CL_ALV_CHANGED_DATA_PROTOCOL.
Entered data is in table defined by <fs2>
In this method you can compare original and changed data.
Easier than messing around with individual cells.
do what you want with data in <fs2> validate / update / merge etc
endmethod.
endclass.
data :
ok_code like sy-ucomm,
save_ok like sy-ucomm,
i4 type int4,
Container Object [grid_container]
now created via method constructor
in the subclass zcltest.
Control Object [grid]
grid1 type ref to zcltest,
Event-Handler Object [grid_handler]
grid_handler type ref to lcl_grid_event_receiver.
start-of-selection.
call screen 100.
module status_0100 output.
now display it as grid
if grid_container1 is initial.
create object grid_container1
exporting
container_name = 'CCONTAINER1'.
create object grid1.
break-point 1.
create object grid_handler.
set handler:
grid_handler->user_command for grid1,
grid_handler->toolbar for grid1,
grid_handler->handle_data_changed for grid1.
perform create_dynamic_fcat.
perform create_dynamic_itab.
perform populate_dynamic_itab.
perform init_grid.
perform register_enter_event.
set off ready for input initially
i4 = 0.
call method grid1->set_ready_for_input
exporting
i_ready_for_input = i4.
endif.
endmodule.
module user_command_0100 input.
*PAI not needed in OO ALV anymore as User Commands are handled as events
*in method user_command.
*we can also get control if the Data entered and the ENTER is pressed by
*raising an event.
Control then returns to method handle_data_changed.
endmodule.
form create_dynamic_fcat.
get structure of our user table for building field catalog
Use the RTTI functionality
lr_rtti_struc ?= cl_abap_structdescr=>describe_by_data( wa_data ).
Build field catalog just use basic data here
colour specific columns as well
loop at lr_rtti_struc->components into zog.
c_index = c_index + 1.
clear wa_it_fldcat.
wa_it_fldcat-fieldname = zog-name .
wa_it_fldcat-datatype = zog-type_kind.
wa_it_fldcat-inttype = zog-type_kind.
wa_it_fldcat-intlen = zog-length.
wa_it_fldcat-decimals = zog-decimals.
wa_it_fldcat-lowercase = 'X'.
if c_index eq 2.
wa_it_fldcat-emphasize = 'C411'.
endif.
if c_index eq 3.
wa_it_fldcat-emphasize = 'C511'.
endif.
append wa_it_fldcat to it_fldcat .
endloop.
endform.
form create_dynamic_itab.
Create dynamic internal table and assign to field sysmbol.
Use dynamic field catalog just built.
call method cl_alv_table_create=>create_dynamic_table
exporting
it_fieldcatalog = it_fldcat
importing
ep_table = new_table.
assign new_table->* to <dyn_table>.
endform.
form populate_dynamic_itab.
load up a line of the dynamic table
c_dec2 = c_dec2 + 11.
wa_element-anyfield1 = 'Tabbies'.
wa_element-anyfield2 = 'ger.shepards'.
wa_element-anyfield3 = 'White mice'.
wa_element-anyfield4 = 'Any old text'.
wa_element-anyfield5 = c_dec2.
append wa_element to <dyn_table>.
endform.
form check_data USING P_ER_DATA_CHANGED
TYPE REF TO CL_ALV_CHANGED_DATA_PROTOCOL.
Get altered data back
ASSIGN p_er_data_changed->mp_mod_rows TO <FS1>.
stab = p_er_data_changed->mp_mod_rows.
ASSIGN STAB->* TO <FS2>.
LOOP AT <FS2> INTO sdog.
ALV grid display with altered data is now in <fs2>.
do any extra processing you want here
endloop.
now display new table
call method grid1->disp_tab.
endform.
form exit_program.
call method grid_container1->free.
call method cl_gui_cfw=>flush.
leave program.
endform.
form refresh_disp.
call method grid1->refresh_table_display.
endform.
form update_table.
The dynamic table here is the changed table read from the grid
after user has changed it
Data can be saved to DB or whatever.
loop at <dyn_table> into wa_element.
do what you want with the data here
endloop.
switch off edit mode again for next function
i4 = 0.
call method grid1->set_ready_for_input
exporting
i_ready_for_input = i4.
endform.
form set_input.
i4 = 1.
call method grid1->set_ready_for_input
exporting
i_ready_for_input = i4.
endform.
form switch_input.
if i4 = 1.
i4 = 0.
else.
i4 = 1.
endif.
call method grid1->set_ready_for_input
exporting
i_ready_for_input = i4.
endform.
form init_grid.
Enabling the grid to edit mode,
struct_grid_lset-edit = 'X'. "To enable editing in ALV
struct_grid_lset-grid_title = 'Jimbos Test'.
call method grid1->set_table_for_first_display
exporting
is_layout = struct_grid_lset
changing
it_outtab = <dyn_table>
it_fieldcatalog = it_fldcat.
endform.
form register_enter_event.
call method grid1->register_edit_event
exporting
i_event_id = cl_gui_alv_grid=>mc_evt_enter.
Instantiate the event or it won't work.
create object g_event_receiver.
set handler g_event_receiver->handle_data_changed for grid1.
endform.</b>Hi there
IE7 doesn't give me the add new page option and I get 404 error when trying to access the "How to contribute" section.
I'll load up Firefox later (this browser usually works when IE7 doesn't always work properly).
I'll copy the stuff to the wiki when I've got the browser sorted out.
Cheers
jimbp -
How can I authenticate with card which status is 'OP_READY' ?
Hello~
I'm doing personalization of smart card.
I'm able to personalize the card which status is 'INITIALIZED'.
However...
According to spec , server follow below process to authenticate with card which status is 'OP_READY'. In that process, select CM is ignored.
Reset Card->Generate Server_Challenge->Intialize session
During that process, I wonder about a few things.
1) When I receive a card from suppliers , what is the status of card?
Is it 'OP_READY' or "INITIALIZED' ?
If it is 'OP_READY' , I have to establish a secure session using ISK
to change the status to 'INITIALIZED'.
How can I authenticate with card using ISK?
Any comments would be greatly appreciatedHello there,
If you can Authenticate (by that I mean send an Initialise Update command and External Authenticate command) successfully the ISD keys are already on the card. If you cannot Authenticate then you will need to load these onto the card and this is done with the Put Key command. You need to load 3 keys - these are 16 byte keys usually all with the same value e.g. 41 42 ...........4F. Once these keys are on the card you need to set the SCP option (which should be 0105) and then you will be able to Authenticate. You will then be able to send a Set Status command to change the life cycle state of the card (either with the apdu or from an applet using the setCardContentState() method).
I'm guessing that your JCOP card probably has the ISD keys on already and has the SCP option set so there is no need for any additional keys to be loaded at this stage.
Hope this helps,
Stephanie -
Writeback using Multiple tables
Hello Everyone,
1. Can we create a report with writeback capabilities using Multiple tables (Say one fact and several dimensions)?.
Whatever examples I'm seeing in blogs or forums with screesnshots , explains writeback Reports created with just one table.
2. If writeback can work with reports using multiple tables, how do we need to change the XML scripts in custom message folder(insert and update)?
any example ?
Your suggestions are appreciated.
ThanksYou can only send one statement. Then if you want update many tables, you have to use a procedure/function in your SQL statement. For instance with a table function:
http://gerardnico.com/wiki/database/oracle/table_function
But I will advice you to do it with the simplest way possible: then one answer for one table to update.
Success
Nico -
Using Pipeline Table functions with other tables
I am on DB 11.2.0.2 and have sparingly used pipelined table functions but am considering it for a project that has some fairly big (lots of rows) sized tables. In my tests, selecting from just the pipelined table perform pretty well (whether it is directly from the pipleined table or the view I created on top of it). Where I start to see some degregation when I try to join the pipelined tabe view to other tables and add where conditions.
ie:
SELECT A.empno, A.empname, A.job, B.sal
FROM EMP_VIEW A, EMP B
WHERE A.empno = B.empno AND
B.mgr = '7839'
I have seen some articles and blogs that mention this as a cardinality issue, and offer some undocumented methods to try and combat.
Can someone please give me some advice or tips on this. Thanks!
I have created a simple example using the emp table below to help illustrate what I am doing.
DROP TYPE EMP_TYPE;
DROP TYPE EMP_SEQ;
CREATE OR REPLACE TYPE EMP_SEQ AS OBJECT
( EMPNO NUMBER(10),
ENAME VARCHAR2(100),
JOB VARCHAR2(100));
CREATE OR REPLACE TYPE EMP_TYPE AS TABLE OF EMP_SEQ;
CREATE OR REPLACE FUNCTION get_emp return EMP_TYPE PIPELINED AS
BEGIN
FOR cur IN (SELECT
empno,
ename,
job
FROM emp
LOOP
PIPE ROW(EMP_SEQ(cur.empno,
cur.ename,
cur.job));
END LOOP;
RETURN;
END get_emp;
create OR REPLACE view EMP_VIEW as select * from table(get_emp());
SELECT A.empno, A.empname, A.job, B.sal
FROM EMP_VIEW A, EMP B
WHERE A.empno = B.empno AND
B.mgr = '7839'I am on DB 11.2.0.2 and have sparingly used pipelined table functions but am considering it for a project that has some fairly big (lots of rows) sized tables
Which begs the question: WHY? What PROBLEM are you trying to solve and what makes you think using pipelined table functions is the best way to solve that problem?
The lack of information about cardinality is the likely root of the degradation you noticed as already mentioned.
But that should be a red flag about pipelined functions in general. PIPELINED functions hide virtually ALL KNOWLEDGE about the result set that is produced; cardinality is just the tip of the iceberg. Those functions pretty much say 'here is a result set' without ANY information about the number of rows (cardinality), distinct values for any columns, nullability of any columns, constraints that might apply to any columns (foreign key, primary key) and so on.
If you are going to hide all of that information from Oracle that would normally be used to help optimize queries and select the appropriate execution plan you need to have a VERY good reason.
The use of PIPELINED functions should be reserved for those use cases where ordinary SQL and PL/SQL cannot get the job done. That is they are a 'special case' solution.
The classic use case for those functions is for the transform stage of ETL where multiple pipelined functions are chained together: one function feeds its rows to the next function which feeds its rows to another and so on. Each of those 'chained' functions is roughly analogous to a full table scan of the data that often does not need to be joined to other data except perhaps low volumn lookup tables where the data may even be cached.
I suggest that any exploratory or prototyping work you do use standard relational tables until such point as you run into a problem whose solution might require PIPELINED functions to solve. -
Can I use Word tables in InDesign? Any way to import tables made with Word?
Hi, I'm new here... Well, the title says it all: I need to use (basically unchanged) nearly 100 tables from a book made recently with Word... Can I import them?
It wouldn't be a problem making one new one (lines, etc...) with InDesign and then fill with text, but... why repeat 100 different tables (that's my case) already done I can use without changes... There must be a way to at least place a Word table into an ID document... Thanks for all kinds of comments!OK, this looks like great news for me... So I understand ID places the Word table, and once inside ID, indeed ID sees it as a table you can vary... Is there any basic menu to vary one imported table, or is it a graphic (mouse) thing? I really appreciate your advice, Bob... I don't have much experience with tables in ID... For example, how can I make the whole table smaller? Only by varying the placing of the lines one by one, or can I make it smaller in the way we make a jpg smaller?
Maybe you are looking for
-
Upgraded MacBook Pro to 10.8.5 but no longer detects any WiFi networks!
Was working just fine prior to today's upgrade from 10.8.4 to OS X 10.8.5 (12F37) - Serial W8*******71C Wi-Fi: Looking for networks... does not look up any availanble networks home or usual suspects around me. Software Versions: CoreWLAN:
-
Help needed in getting applet working
import java.awt.*; import javax.swing.*; import java.awt.event.*; public class murali1 extends JApplet{ private Container contain; private GridBagLayout grid; private GridBagConstraints c; * Create the GUI and show it. public murali1()
-
Help needed on balance sheet plan report for the current year
Hi BW gurus, I have a problem with reporting. I need to get Balance-Sheet Plan Reports for the Planned year and for the current year. To get the report for the planned year its straight forward just by restricting 0balance by the version to 1 and t
-
PO Created by User A should not be changed by User B
Hi Experts, My User has a specific requriement in Purchase Order. If a purchase order is created by User A, Other users like B and C who are in the same purchasing group should not be able to change the PO created by User A. Similarly, Others should
-
Am having an issue on my curve. It won't recognize or format my media card. Any suggetsions