Column optimization in GUI_DOWNLOAD--Exce
Hi Experts,
I am writing an Excel file using GUI_DOWNLOAD function module. Is there any way to do column optimization in Excel file while downloading.
Thanks and regards,
Venkat
Hi,
There is a Complete & Very good documentation by SAP available on this URL. Please read this.
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/204d1bb8-489d-2910-d0b5-cdddb3227820
Hope your query get solved.
Thanks and regards,
Ramani N
Similar Messages
-
Hi
I am using FM 'GUI_DOWNLOAD' to download the data in Excel format. Now i am able to download the data in proper format bur unable to download the header of the columns. Can anyone have solution to this??Yes, it is possible to download column headers with GUI_DOWNLOAD. To do this,
you must provide the parameter FIELDNAMES with a corresponding table:
This table must be a single-line table.
The following is a corresponding "showcase" source code:
REPORT reportname.
" Declaration of Line Type: SPFLI *
TYPES: BEGIN OF line_type,
field1 LIKE spfli-carrid,
field2 LIKE spfli-connid,
field3 LIKE spfli-cityfrom,
END OF line_type.
" Declaration of Table Type *
TYPES tab_type TYPE STANDARD TABLE OF line_type.
" Declaration of internal Table *
DATA: itab TYPE tab_type.
" Declaration of workarea *
DATA: wa TYPE line_type.
" Declaration of Fieldnames *
DATA: BEGIN OF colnames OCCURS 0,
col(10) TYPE c,
END OF colnames.
" One Colname per line *
colnames-col = 'Column1'. APPEND colnames.
colnames-col = 'Column2'. APPEND colnames.
colnames-col = 'Column3'. APPEND colnames.
START-OF-SELECTION.
" Get the data and fill the workarea *
SELECT carrid connid cityfrom
FROM spfli
INTO (wa-field1, wa-field2, wa-field3).
APPEND wa TO itab.
ENDSELECT.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
" Now download the itab with fieldnames: *
" By using dat_mode and fieldseparator *
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = 'C:\TEMP\test.txt'
filetype = 'ASC'
dat_mode = 'X'
write_field_separator = 'X'
TABLES
data_tab = itab
fieldnames = colnames
EXCEPTIONS
OTHERS = 1.
if sy-subrc <> 0.
message i398(00) with 'Error: ' sy-subrc 'during gui_download!'.
endif. -
Permission issues accross schemas to load XMLTYPE column - structured storage
Hi,
We have a table in BIUSER schema this table is object-realtionally stored with XMLs. When we are trying to load receords from ETLUSER schema we are getting the error as
Record 1: Rejected - Error on table "BIUSER"."PWAYWORKFILE_TABLE".
ORA-00604: error occurred at recursive SQL level 1
ORA-01031: insufficient privileges
Heres the oracle installation details
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
"CORE 11.2.0.3.0 Production"
All the records are moving to the bad file, whereas the same load happens normally in its own schema i.e. BIUSER
Suspecting this as permission issues we have already given the permission to the table sysnonym as given below in the registration script.
We googled and found few things about ACLs that we are not sure of , its that is the issue please let us know if this table can be created and loaded from different schema
Heres the table creation and registration script
set echo on
spool regschema.log
set define on
set timing on
set long 100000 pages 0 lines 256 trimspool on timing on
drop table PWAYWORKFILE_TABLE;
drop sequence PWAYWORKFILE_TABLE_SEQ;
begin
dbms_xmlschema.deleteschema('workfile.xsd',dbms_xmlschema.DELETE_CASCADE);
end;
begin
dbms_xmlschema.deleteschema('TotalLoss.xsd',dbms_xmlschema.DELETE_CASCADE);
end;
begin
dbms_xmlschema.deleteschema('Salvage.xsd',dbms_xmlschema.DELETE_CASCADE);
end;
begin
dbms_xmlschema.deleteschema('rate.xsd',dbms_xmlschema.DELETE_CASCADE);
end;
begin
dbms_xmlschema.deleteschema('notes.xsd',dbms_xmlschema.DELETE_CASCADE);
end;
begin
dbms_xmlschema.deleteschema('Image.xsd',dbms_xmlschema.DELETE_CASCADE);
end;
begin
dbms_xmlschema.deleteschema('Event.xsd',dbms_xmlschema.DELETE_CASCADE);
end;
begin
dbms_xmlschema.deleteschema('estimate.xsd',dbms_xmlschema.DELETE_CASCADE);
end;
begin
dbms_xmlschema.deleteschema('CoTotals.xsd',dbms_xmlschema.DELETE_CASCADE);
end;
begin
dbms_xmlschema.deleteschema('corr.xsd',dbms_xmlschema.DELETE_CASCADE);
end;
begin
dbms_xmlschema.deleteschema('Admin.xsd',dbms_xmlschema.DELETE_CASCADE);
end;
begin
dbms_xmlschema.deleteschema('Vins.xsd',dbms_xmlschema.DELETE_CASCADE);
end;
begin
dbms_xmlschema.deleteschema('commonType.xsd',dbms_xmlschema.DELETE_CASCADE);
end;
declare
V_XML_SCHEMA_NAME VARCHAR2(700) := 'commonType.xsd';
V_XML_SCHEMA XMLType := xmlType(BfileName('XSD_DIR',V_XML_SCHEMA_NAME),nls_charset_id('AL32UTF8'));
V_SCHEMA_LOCATION_HINT VARCHAR2(700) := 'commonType.xsd';
BEGIN
DBMS_XMLSCHEMA_ANNOTATE.printWarnings(FALSE);
DBMS_XMLSCHEMA_ANNOTATE.disableDefaultTableCreation(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.SETTIMESTAMPWITHTIMEZONE(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.SETTIMESTAMPWITHTIMEZONE(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.disableMaintainDom(V_XML_SCHEMA,FALSE);
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => V_SCHEMA_LOCATION_HINT
,SCHEMADOC => V_XML_SCHEMA
,LOCAL => TRUE
,GENTYPES => TRUE
,GENTABLES => TRUE
,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
end;
declare
V_XML_SCHEMA_NAME VARCHAR2(700) := 'Admin.xsd';
V_XML_SCHEMA XMLType := xmlType(BfileName('XSD_DIR',V_XML_SCHEMA_NAME),nls_charset_id('AL32UTF8'));
V_SCHEMA_LOCATION_HINT VARCHAR2(700) := 'Admin.xsd';
begin
DBMS_XMLSCHEMA_ANNOTATE.printWarnings(FALSE);
DBMS_XMLSCHEMA_ANNOTATE.disableDefaultTableCreation(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.SETTIMESTAMPWITHTIMEZONE(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.disableMaintainDom(V_XML_SCHEMA,FALSE);
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => V_SCHEMA_LOCATION_HINT
,SCHEMADOC => V_XML_SCHEMA
,LOCAL => TRUE
,GENTYPES => TRUE
,GENTABLES => TRUE
,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
end;
declare
V_XML_SCHEMA_NAME VARCHAR2(700) := 'CoTotals.xsd';
V_XML_SCHEMA XMLType := xmlType(BfileName('XSD_DIR',V_XML_SCHEMA_NAME),nls_charset_id('AL32UTF8'));
V_SCHEMA_LOCATION_HINT VARCHAR2(700) := 'CoTotals.xsd';
begin
DBMS_XMLSCHEMA_ANNOTATE.printWarnings(FALSE);
DBMS_XMLSCHEMA_ANNOTATE.disableDefaultTableCreation(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.SETTIMESTAMPWITHTIMEZONE(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.disableMaintainDom(V_XML_SCHEMA,FALSE);
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => V_SCHEMA_LOCATION_HINT
,SCHEMADOC => V_XML_SCHEMA
,LOCAL => TRUE
,GENTYPES => TRUE
,GENTABLES => TRUE
,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
end;
declare
V_XML_SCHEMA_NAME VARCHAR2(700) := 'Event.xsd';
V_XML_SCHEMA XMLType := xmlType(BfileName('XSD_DIR',V_XML_SCHEMA_NAME),nls_charset_id('AL32UTF8'));
V_SCHEMA_LOCATION_HINT VARCHAR2(700) := 'Event.xsd';
begin
DBMS_XMLSCHEMA_ANNOTATE.printWarnings(FALSE);
DBMS_XMLSCHEMA_ANNOTATE.disableDefaultTableCreation(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.SETTIMESTAMPWITHTIMEZONE(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.disableMaintainDom(V_XML_SCHEMA,FALSE);
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => V_SCHEMA_LOCATION_HINT
,SCHEMADOC => V_XML_SCHEMA
,LOCAL => TRUE
,GENTYPES => TRUE
,GENTABLES => TRUE
,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
end;
declare
V_XML_SCHEMA_NAME VARCHAR2(700) := 'Image.xsd';
V_XML_SCHEMA XMLType := xmlType(BfileName('XSD_DIR',V_XML_SCHEMA_NAME),nls_charset_id('AL32UTF8'));
V_SCHEMA_LOCATION_HINT VARCHAR2(700) := 'Image.xsd';
begin
DBMS_XMLSCHEMA_ANNOTATE.printWarnings(FALSE);
DBMS_XMLSCHEMA_ANNOTATE.disableDefaultTableCreation(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.SETTIMESTAMPWITHTIMEZONE(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.disableMaintainDom(V_XML_SCHEMA,FALSE);
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => V_SCHEMA_LOCATION_HINT
,SCHEMADOC => V_XML_SCHEMA
,LOCAL => TRUE
,GENTYPES => TRUE
,GENTABLES => TRUE
,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
end;
declare
V_XML_SCHEMA_NAME VARCHAR2(700) := 'Salvage.xsd';
V_XML_SCHEMA XMLType := xmlType(BfileName('XSD_DIR',V_XML_SCHEMA_NAME),nls_charset_id('AL32UTF8'));
V_SCHEMA_LOCATION_HINT VARCHAR2(700) := 'Salvage.xsd';
begin
DBMS_XMLSCHEMA_ANNOTATE.printWarnings(FALSE);
DBMS_XMLSCHEMA_ANNOTATE.disableDefaultTableCreation(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.SETTIMESTAMPWITHTIMEZONE(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.disableMaintainDom(V_XML_SCHEMA,FALSE);
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => V_SCHEMA_LOCATION_HINT
,SCHEMADOC => V_XML_SCHEMA
,LOCAL => TRUE
,GENTYPES => TRUE
,GENTABLES => TRUE
,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
end;
declare
V_XML_SCHEMA_NAME VARCHAR2(700) := 'TotalLoss.xsd';
V_XML_SCHEMA XMLType := xmlType(BfileName('XSD_DIR',V_XML_SCHEMA_NAME),nls_charset_id('AL32UTF8'));
V_SCHEMA_LOCATION_HINT VARCHAR2(700) := 'TotalLoss.xsd';
begin
DBMS_XMLSCHEMA_ANNOTATE.printWarnings(FALSE);
DBMS_XMLSCHEMA_ANNOTATE.disableDefaultTableCreation(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.SETTIMESTAMPWITHTIMEZONE(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.disableMaintainDom(V_XML_SCHEMA,FALSE);
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => V_SCHEMA_LOCATION_HINT
,SCHEMADOC => V_XML_SCHEMA
,LOCAL => TRUE
,GENTYPES => TRUE
,GENTABLES => TRUE
,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
end;
declare
V_XML_SCHEMA_NAME VARCHAR2(700) := 'Vins.xsd';
V_XML_SCHEMA XMLType := xmlType(BfileName('XSD_DIR',V_XML_SCHEMA_NAME),nls_charset_id('AL32UTF8'));
V_SCHEMA_LOCATION_HINT VARCHAR2(700) := 'Vins.xsd';
begin
DBMS_XMLSCHEMA_ANNOTATE.printWarnings(FALSE);
DBMS_XMLSCHEMA_ANNOTATE.disableDefaultTableCreation(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.SETTIMESTAMPWITHTIMEZONE(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.disableMaintainDom(V_XML_SCHEMA,FALSE);
-- DOM Fidelity enabled due to presence of mixed text, substitution group heads, or repeating choice structures in complex type defintion :-
DBMS_XMLSCHEMA_ANNOTATE.enableMaintainDOM(V_XML_SCHEMA,'RefurbMgr',TRUE);
select /*+ NO_XML_QUERY_REWRITE */
XMLQuery(
'declare namespace xdb = "http://xmlns.oracle.com/xdb"; (:
copy $NEWSCH := $SCHEMA modify (
let $MODEL := $NEWSCH/xs:schema/xs:complexType[11]/xs:all
return (
replace value of node $MODEL/xs:element[2]/xs:complexType/@xdb:maintainDOM with "false",
replace value of node $MODEL/xs:element[3]/xs:complexType/@xdb:maintainDOM with "false",
replace value of node $MODEL/xs:element[4]/xs:complexType/@xdb:maintainDOM with "false"
return $NEWSCH'
passing V_XML_SCHEMA as "SCHEMA"
returning content
into V_XML_SCHEMA
from dual;
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => V_SCHEMA_LOCATION_HINT
,SCHEMADOC => V_XML_SCHEMA
,LOCAL => TRUE
,GENTYPES => TRUE
,GENTABLES => TRUE
,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
end;
declare
V_XML_SCHEMA_NAME VARCHAR2(700) := 'corr.xsd';
V_XML_SCHEMA XMLType := xmlType(BfileName('XSD_DIR',V_XML_SCHEMA_NAME),nls_charset_id('AL32UTF8'));
V_SCHEMA_LOCATION_HINT VARCHAR2(700) := 'corr.xsd';
begin
DBMS_XMLSCHEMA_ANNOTATE.printWarnings(FALSE);
DBMS_XMLSCHEMA_ANNOTATE.disableDefaultTableCreation(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.SETTIMESTAMPWITHTIMEZONE(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.disableMaintainDom(V_XML_SCHEMA,FALSE);
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => V_SCHEMA_LOCATION_HINT
,SCHEMADOC => V_XML_SCHEMA
,LOCAL => TRUE
,GENTYPES => TRUE
,GENTABLES => TRUE
,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
end;
declare
V_XML_SCHEMA_NAME VARCHAR2(700) := 'estimate.xsd';
V_XML_SCHEMA XMLType := xmlType(BfileName('XSD_DIR',V_XML_SCHEMA_NAME),nls_charset_id('AL32UTF8'));
V_SCHEMA_LOCATION_HINT VARCHAR2(700) := 'estimate.xsd';
begin
DBMS_XMLSCHEMA_ANNOTATE.printWarnings(FALSE);
DBMS_XMLSCHEMA_ANNOTATE.disableDefaultTableCreation(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.SETTIMESTAMPWITHTIMEZONE(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.disableMaintainDom(V_XML_SCHEMA,FALSE);
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => V_SCHEMA_LOCATION_HINT
,SCHEMADOC => V_XML_SCHEMA
,LOCAL => TRUE
,GENTYPES => TRUE
,GENTABLES => TRUE
,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
end;
declare
V_XML_SCHEMA_NAME VARCHAR2(700) := 'notes.xsd';
V_XML_SCHEMA XMLType := xmlType(BfileName('XSD_DIR',V_XML_SCHEMA_NAME),nls_charset_id('AL32UTF8'));
V_SCHEMA_LOCATION_HINT VARCHAR2(700) := 'notes.xsd';
begin
DBMS_XMLSCHEMA_ANNOTATE.printWarnings(FALSE);
DBMS_XMLSCHEMA_ANNOTATE.disableDefaultTableCreation(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.SETTIMESTAMPWITHTIMEZONE(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.disableMaintainDom(V_XML_SCHEMA,FALSE);
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => V_SCHEMA_LOCATION_HINT
,SCHEMADOC => V_XML_SCHEMA
,LOCAL => TRUE
,GENTYPES => TRUE
,GENTABLES => TRUE
,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
end;
declare
V_XML_SCHEMA_NAME VARCHAR2(700) := 'rate.xsd';
V_XML_SCHEMA XMLType := xmlType(BfileName('XSD_DIR',V_XML_SCHEMA_NAME),nls_charset_id('AL32UTF8'));
V_SCHEMA_LOCATION_HINT VARCHAR2(700) := 'rate.xsd';
begin
DBMS_XMLSCHEMA_ANNOTATE.printWarnings(FALSE);
DBMS_XMLSCHEMA_ANNOTATE.disableDefaultTableCreation(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.SETTIMESTAMPWITHTIMEZONE(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.disableMaintainDom(V_XML_SCHEMA,FALSE);
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => V_SCHEMA_LOCATION_HINT
,SCHEMADOC => V_XML_SCHEMA
,LOCAL => TRUE
,GENTYPES => TRUE
,GENTABLES => TRUE
,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
end;
declare
V_XML_SCHEMA_NAME VARCHAR2(700) := 'workfile.xsd';
V_XML_SCHEMA XMLType := xmlType(BfileName('XSD_DIR',V_XML_SCHEMA_NAME),nls_charset_id('AL32UTF8'));
V_SCHEMA_LOCATION_HINT VARCHAR2(700) := 'workfile.xsd';
begin
DBMS_XMLSCHEMA_ANNOTATE.printWarnings(FALSE);
DBMS_XMLSCHEMA_ANNOTATE.disableDefaultTableCreation(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.SETTIMESTAMPWITHTIMEZONE(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.disableMaintainDom(V_XML_SCHEMA,FALSE);
-- Out-of-Line mappings for 1000 Column optimization :-
DBMS_XMLSCHEMA_ANNOTATE.setOutOfLine(V_XML_SCHEMA,DBMS_XDB_CONSTANTS.XSD_COMPLEX_TYPE,'WorkfileType', 'AdminComp','ADMINCOMP_XML');
DBMS_XMLSCHEMA_ANNOTATE.setOutOfLine(V_XML_SCHEMA,DBMS_XDB_CONSTANTS.XSD_COMPLEX_TYPE,'WorkfileType', 'NotesComp','NOTESCOMP_XML');
DBMS_XMLSCHEMA_ANNOTATE.setOutOfLine(V_XML_SCHEMA,DBMS_XDB_CONSTANTS.XSD_COMPLEX_TYPE,'WorkfileType', 'SalvageComp','SALVGCOMP_XML');
DBMS_XMLSCHEMA_ANNOTATE.setOutOfLine(V_XML_SCHEMA,DBMS_XDB_CONSTANTS.XSD_COMPLEX_TYPE,'WorkfileType', 'CorrComp','CORRCOMP_XML');
DBMS_XMLSCHEMA_ANNOTATE.setOutOfLine(V_XML_SCHEMA,DBMS_XDB_CONSTANTS.XSD_COMPLEX_TYPE,'WorkfileType', 'ImageComp','IMAGECOMP_XML');
DBMS_XMLSCHEMA_ANNOTATE.setOutOfLine(V_XML_SCHEMA,DBMS_XDB_CONSTANTS.XSD_COMPLEX_TYPE,'WorkfileType', 'EventInterfaceManagerComp','EVIFCMGRCOMP_XML');
DBMS_XMLSCHEMA_ANNOTATE.setOutOfLine(V_XML_SCHEMA,DBMS_XDB_CONSTANTS.XSD_COMPLEX_TYPE,'WorkfileType', 'TotalLossComp','TOTALLOSSCOMP_XML');
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => V_SCHEMA_LOCATION_HINT
,SCHEMADOC => V_XML_SCHEMA
,LOCAL => TRUE
,GENTYPES => TRUE
,GENTABLES => TRUE
,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
end;
-- Table creation for namespace "http://www.cccis.com/Pathways/Workfile"
set lines 80
CREATE TABLE "PWAYWORKFILE_TABLE"
SequenceID NUMBER,
DL_CLM_FOLDER_ID VARCHAR2(30),
CUST_CLM_REF_ID VARCHAR(25),
ems_file_nm varchar2(256),
EST_IND VARCHAR2(3),
rec_dt date default sysdate,
filesent_datetime date,
CLM_TYP_CD VARCHAR2(2 CHAR),
WORKFILE XMLTYPE
XMLTYPE COLUMN WORKFILE
STORE AS OBJECT RELATIONAL
XMLSCHEMA "workfile.xsd" ELEMENT "PwayWorkfile"
create sequence PWAYWORKFILE_TABLE_SEQ
start with 1
increment by 1
nomaxvalue
create trigger PWAYWORKFILE_TABLE_TRIGGER
before insert on PWAYWORKFILE_TABLE
for each row
begin
select PWAYWORKFILE_TABLE_SEQ.nextval into :new.SequenceID from dual;
end;
desc PWAYWORKFILE_TABLE
/* create synonym */
create or replace public synonym PWAYWORKFILE_TABLE for PWAYWORKFILE_TABLE;
grant select on PWAYWORKFILE_TABLE to BIUSER_RO;
grant select, insert, update,delete on PWAYWORKFILE_TABLE to biuser_full;
exit;
Regards,
ArghyadipHi MarcoGralike,
I have finally acquired a sample schema and xmls to reproduce the errors that i am getting even after acquiring XDBADMIN privilege and registering my schema as GLOBAL.
Here's the problem i am facing, whenever i intend to store the PublisherList (publisher.xsd) out of line while registration i am running into insufficient privilege issues even if i have the schema registered using (LOCAL => FALSE), whereas it runs smooth in BIUSER and if i dont set it out of line it works in ETLUSER as well.
Here are the 2 XSD files
books.xsd --- this is the root element
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" version="1.0" xdb:storeVarrayAsTable="true">
<xs:include schemaLocation="publisher.xsd"/>
<xs:element name="books" type="bookType"/>
<xs:complexType name="bookType" abstract="true">
<xs:sequence>
<xs:element name="author" type="xs:string" minOccurs="0"/>
<xs:element name="title" type="xs:string" minOccurs="0"/>
<xs:element name="genre" type="xs:string" minOccurs="0"/>
<xs:element ref="PublisherList" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
publisher.xsd -- this is a child elelment which in my actual scenario is so big that i must keep it out of line during registration
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" version="1.0" xdb:storeVarrayAsTable="true">
<xs:element name="PublisherList" type="PublisherListType"/>
<xs:complexType name="PublisherListType">
<xs:sequence>
<xs:element name="Name" type="xs:string" minOccurs="0"/>
<xs:element name="Office" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
Here's the sample XML
<?xml version="1.0"?>
<books xmlns:xs="http://www.w3.org/2001/XMLSchema">
<author>Writer</author>
<title>The First Book</title>
<genre>Fiction</genre>
<PublisherList>
<Name>Penguin</Name>
<Office>London</Office>
</PublisherList>
</books>
Here's how i am registering the Schemas in BIUSER which has XDBADMIN privilege
DROP TABLE BOOKS_TABLE;
begin
dbms_xmlschema.deleteschema('books.xsd',dbms_xmlschema.DELETE_CASCADE);
end;
begin
dbms_xmlschema.deleteschema('publisher.xsd',dbms_xmlschema.DELETE_CASCADE);
end;
declare
V_XML_SCHEMA_NAME VARCHAR2(700) := 'publisher.xsd';
V_XML_SCHEMA XMLType := xmlType(BfileName('XSD_DIR',V_XML_SCHEMA_NAME),nls_charset_id('AL32UTF8'));
V_SCHEMA_LOCATION_HINT VARCHAR2(700) := 'publisher.xsd';
begin
DBMS_XMLSCHEMA_ANNOTATE.printWarnings(FALSE);
DBMS_XMLSCHEMA_ANNOTATE.disableDefaultTableCreation(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.SETTIMESTAMPWITHTIMEZONE(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.disableMaintainDom(V_XML_SCHEMA,FALSE);
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => V_SCHEMA_LOCATION_HINT
,SCHEMADOC => V_XML_SCHEMA
,LOCAL => FALSE
,GENTYPES => TRUE
,GENTABLES => TRUE
,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
end;
declare
V_XML_SCHEMA_NAME VARCHAR2(700) := 'books.xsd';
V_XML_SCHEMA XMLType := xmlType(BfileName('XSD_DIR',V_XML_SCHEMA_NAME),nls_charset_id('AL32UTF8'));
V_SCHEMA_LOCATION_HINT VARCHAR2(700) := 'books.xsd';
begin
DBMS_XMLSCHEMA_ANNOTATE.printWarnings(FALSE);
DBMS_XMLSCHEMA_ANNOTATE.disableDefaultTableCreation(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.SETTIMESTAMPWITHTIMEZONE(V_XML_SCHEMA);
DBMS_XMLSCHEMA_ANNOTATE.disableMaintainDom(V_XML_SCHEMA,FALSE);
DBMS_XMLSCHEMA_ANNOTATE.setOutOfLine(V_XML_SCHEMA,DBMS_XDB_CONSTANTS.XSD_COMPLEX_TYPE,'bookType', 'PublisherList','PUBLISHERLIST_XML');
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => V_SCHEMA_LOCATION_HINT
,SCHEMADOC => V_XML_SCHEMA
,LOCAL => FALSE
,GENTYPES => TRUE
,GENTABLES => TRUE
,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
end;
CREATE TABLE BOOKS_TABLE
BOOKS XMLTYPE
XMLTYPE COLUMN BOOKS
STORE AS OBJECT RELATIONAL
XMLSCHEMA "books.xsd" ELEMENT "books"
DROP PUBLIC SYNONYM BOOKS_TABLE;
create or replace public synonym BOOKS_TABLE for BOOKS_TABLE;
grant select, insert, update,delete on BOOKS_TABLE to ETLUSER;
Heres the ctl file that i am using
Load_Books.ctl
OPTIONS (ERRORS=100000, SILENT=(HEADER,FEEDBACK),ROWS=500, BINDSIZE=3072000 , READSIZE=3072000)
load data
infile '/apps/dev/PWXML-10/ctl/load_xml.txt'
BADFILE '/apps/dev/PWXML-10/ctl/load_xml.txt.bad'
DISCARDFILE '/apps/dev/PWXML-10/ctl/load_xml.txt.dsc'
append
into table BOOKS_TABLE
filename filler char(120),
BOOKS lobfile(filename) terminated by eof)
'/apps/dev/PWXML-10/ctl/load_xml.txt' would contain the XML file path that i gave
Heres how i am loading the XML through sqlldr in ETLUSER
sqlldr etluser/etluserpassword@MYXMLDBNAME control=Load_Books.ctl log=Load_Books.ctl.log
Here's the error i am getting
Record 1: Rejected - Error on table "BIUSER"."BOOKS_TABLE".
ORA-00604: error occurred at recursive SQL level 1
ORA-01031: insufficient privileges
Hopefully i have given you all the set up required to pin point the evil error.
Please let me know if i have missed something. -
Arrange Column for export data
Dear Expert
I want to export data, how do i arrange the column in data?
Exc
COL1 = ACCOUNT
COL2 = ASSET
COL3 = ENTITY
COL4 = COSTCENTER
Please give your advice
Best Regard
DanielHi Experts,
We are facing the same problem while exporting data from BPC. We have successfully exported data once but the Column mapping keeps changing each time we export.
Can someone guide on the default column mapping in the transformation file and how to ensure that this mapping doesn't shift everytime we export?
Any further help on the same are very much appreciated.
Thanks,
Pankti Shroff -
Arrow mark with kunnr field values in alv output.
Hi ,
I need to increase the column field length. I am using Function Module REUSE_ALV_LIST_DISPLAY because alv_grid display fm is not available in 4.0b version. I have used column optimization in layout. The column kunnr is coming with a small arrow though there is no data loss. Is there any way I can remove the arrow mark with kunnr field values.Hi,
You can increase your column lenght in fieldcat by using Fcat-columnwidth = "SIZE OF KUNNR ".
Set the size of kunnr field in fieldcat and get the appropiate output.
Regards
Abdul -
Hi All,
iam Using ALV BLOCK list to print the output along with check boxes, iam able to print the output along with the check boxes but when i select any of the check box and click button on application tool bar it is going to dump and saying,
FIELD SYMBOL HAS NOT YET BEEN ASSIGNED.
i populated layout with following fields.
w_layout-box_fieldname = 'BOX'.
w_layout-box_tabname = 'T_FINAL2'.
Plz Help me out.
Thanks in Advance.
Neha*& Report BCALV_TEST_BLOCK_LIST
report bcalv_test_block_list.
types: g_ty_t_carrid type standard table of alv_tab,
g_ty_t_connid type standard table of alv_chck,
g_ty_t_curr type standard table of alv_cur,
g_ty_s_sflight type alv_t_t2,
g_ty_s_carrid type alv_tab,
g_ty_s_connid type alv_chck,
g_ty_s_curr type alv_cur.
constants: con_sflight type lvc_fname value 'ALV_T_T2',
con_scarr type lvc_fname value 'ALV_TAB',
con_spfli type lvc_fname value 'ALV_CHCK',
con_scurx type lvc_fname value 'ALV_CUR',
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'.
DATA *
tables: sscrfields. " for processing the FCODEs in Selektion screens
include <icon>.
include <symbol>.
type-pools: slis, kkblo.
types: g_ty_t_icon type standard table of icon,
g_ty_t_icont type standard table of icont,
begin of g_ty_s_plane,
carrid type g_ty_s_sflight-carrid,
connid type g_ty_s_sflight-connid,
planetype type g_ty_s_sflight-planetype,
seatsmax type g_ty_s_sflight-seatsmax,
end of g_ty_s_plane,
g_ty_t_plane type sorted table of g_ty_s_plane
with unique key carrid connid,
begin of g_ty_s_fcat_curr,
fieldname type lvc_fname,
cfieldname type lvc_fname,
currency type lvc_s_fcat-currency,
end of g_ty_s_fcat_curr,
g_ty_t_fcat_curr type sorted table of g_ty_s_fcat_curr
with unique key fieldname,
begin of g_ty_s_sort.
include type slis_sortinfo_alv.
types: end of g_ty_s_sort,
g_ty_t_sort type sorted table of g_ty_s_sort
with unique key spos fieldname,
begin of g_ty_s_test,
list_amount type num1,
select_amount type i,
only_db_info type char1,
db_short type char1,
excp_display type char1,
excp_condense type char1,
layo_title type lvc_s_layo-grid_title,
layo_zebra type char1,
layo_no_vert_lines type char1,
layo_no_horiz_lines type char1,
layo_cell_merge type char1,
layo_count type char1,
layo_box type char1,
layo_no_colhead type char1,
layo_column_optimize type char1,
layo_keys_hotspot type char1,
layo_no_keyfix type char1,
layo_no_hotspot type char1,
layo_hotspot_rows type i occurs 0,
layo_hotspot_columns type lvc_fname occurs 0,
layo_no_scrolling type char1,
layo_no_authcheck type char1,
layo_no_min_linesize type char1,
layo_min_linesize type sylinsz,
layo_max_linesize type sylinsz,
layo_group_change_edit type char1,
layo_get_selinfo type char1,
layo_confirmation_prompt type char1,
layo_f2code type syucomm,
layo_reprep type char1,
sum_before type char1,
sum_no_sumline type char1,
sum_no_sumchoice type char1,
sum_numc type char1,
sum_no_unitsplit type char1,
sum_totals_only type char1,
sum_totals_text type symsgli,
sum_no_subtotals type char1,
sum_no_subchoice type char1,
sum_subtotals_text type symsgli,
prnt_print type char1,
prnt_reserve_lines type lvc_s_prnt-reservelns,
prnt_no_listinfo type char1,
prnt_no_selinfo type char1,
prnt_with_title type char1,
prnt_footline type lvc_s_prnt-footline,
prnt_printinfo type char1,
prnt_no_coverpage type char1,
prnt_no_new_page type char1,
prnt_no_change_print_params type char1,
color_rows type i occurs 0,
color_fields_column type lvc_fname occurs 0,
color_fields_cell type lvc_fname occurs 0,
fcat_no_out_fields type lvc_fname occurs 0,
fcat_tech_fields type lvc_fname occurs 0,
fcat_fix_column_fields type lvc_fname occurs 0,
fcat_do_sum_fields type lvc_fname occurs 0,
fcat_no_sum_fields type lvc_fname occurs 0,
fcat_curr_fields type g_ty_t_fcat_curr,
curr_amount type i,
curr_space type char1,
t_sort type g_ty_t_sort,
no_info_popup type char1,
info_popup_once type char1,
events_info_popup type lvc_fname occurs 0,
events type lvc_fname occurs 0,
buffer_active type char1,
bypassing_buffer type char1,
end of g_ty_s_test,
begin of g_ty_s_outtab.
include type g_ty_s_sflight.
types: list type num1,
box type char1,
count type i,
lights type char1,
checkbox type char1,
hotspot type char1,
color(4) type c,
tabcolor type slis_t_specialcol_alv,
price2 type g_ty_s_sflight-price,
currency2 type g_ty_s_sflight-currency,
char(10) type c,
string type string,
int1 type int1,
int2 type int2,
int4 type int4,
numc(10) type n,
dec(10) type p decimals 2,
fltp type f,
dats type d,
tims type t,
icon type icon-id,
icon_qinfo type icon-name,
symbol type icon-id,
end of g_ty_s_outtab,
g_ty_t_outtab type table of g_ty_s_outtab.
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'.
data: gt_outtab1 type g_ty_t_outtab,
gt_outtab2 type g_ty_t_outtab,
gt_outtab3 type g_ty_t_outtab,
gt_outtab4 type g_ty_t_outtab,
gt_outtab5 type g_ty_t_outtab,
gt_outtab6 type g_ty_t_outtab,
gt_outtab7 type g_ty_t_outtab,
gt_outtab8 type g_ty_t_outtab,
gt_outtab9 type g_ty_t_outtab.
data: gt_outtab type g_ty_t_outtab with header line,
gs_test type g_ty_s_test.
data: g_repid type sy-repid.
data: g_field type lvc_s_fcat-fieldname,
g_int_field type i.
CLASS random DEFINITION
class random definition.
public section.
types:
value(16) type p decimals 0,
numcv(15) type n.
constants:
max type random=>value value 4294967295.
class-methods:
computes a random natural number from the set {0, ..., random=>max}.
number returning value(rval) type random=>value,
computes a random character from the set {A-Za-z0-9}
c returning value(rval) type char01,
computes a random string consisting of "len" random characters
string importing len type i
returning value(rval) type string,
computes a date
dats returning value(rval) type d,
computes a time
time returning value(rval) type t,
computes a random numc from the set {low, ..., high}
numc importing low type random=>numcv high type random=>numcv
returning value(rval) type random=>numcv,
computes a random integer from the set {low, ..., high}
i importing low type i high type i
returning value(rval) type i,
computes a random integer from the set {low, ..., high}
int2 importing low type int2 high type int2
returning value(rval) type int2,
computes a random integer from the set {low, ..., high}
int1 importing low type int1 high type int1
returning value(rval) type int1,
computes a random float from the interval [low ; high]
f importing low type f high type f
returning value(rval) type f,
computes a random character from the set {A-F0-9}
hex returning value(rval) type char01,
computes a random character from the set {0-1}
x returning value(rval) type char01,
method "random=>class_constructor"
class_constructor.
private section.
class-data:
precomputed maximal index (= string length - 1) of "random=>chars"
or of "random=>x_data".
charsmax type i,
xmax type i,
random number seed value.
(Used in method "random=>number".)
seed type random=>value.
constants:
characters for class-method "random=>hex"
hex_data(100) type c value 'ABCDEF' &
'0123456789',
characters for class-method "random=>x"
x_data(100) type c value '01',
characters for class-metshod "random=>c"
chars(100) type c value 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' &
'abcdefghijklmnopqrstuvwxyz' &
'0123456789'.
endclass. "random DEFINITION
CLASS random IMPLEMENTATION
class random implementation.
implementation of the methods for randomizing the values
method x.
data: ri type i.
ri = random=>i( low = 0 high = random=>xmax ).
move x_data+ri(1) to rval.
endmethod. "x
method hex.
data: ri type i.
ri = random=>i( low = 0 high = random=>charsmax ).
move hex_data+ri(1) to rval.
endmethod. "hex
method number.
constants:
a(3) type p value 67301, " Coefficient
c(1) type p value 1, " Increment
m(6) type p value 4294967296. " Modulus 2**32
random=>seed = ( a * random=>seed + c ) mod m.
rval = random=>seed.
endmethod. "number
method c.
data:
ri type i.
ri = random=>i( low = 0 high = random=>charsmax ).
move chars+ri(1) to rval.
endmethod. "c
method string.
data:
char(1) type c.
clear rval.
do len times.
char = random=>c( ).
concatenate rval char into rval.
enddo.
endmethod. "string
method dats.
data: l_date type sy-datum,
l_day(2) type n,
l_month(2) type n,
l_year(4) type n,
l_value type random=>numcv,
l_low type random=>numcv,
l_high type random=>numcv.
l_year = sy-datum+0(4).
l_low = l_year - 5.
l_high = l_year + 5.
l_value = random=>numc( low = l_low high = l_high ).
l_year = l_value+11(4).
l_value = random=>numc( low = 1 high = 12 ).
l_month = l_value+13(2).
case l_month.
when 2.
l_high = 28.
when 4 or 6 or 9 or 11.
l_high = 30.
when others.
l_high = 31.
endcase.
l_value = random=>numc( low = 1 high = l_high ).
l_day = l_value+13(2).
l_date+0(4) = l_year.
l_date+4(2) = l_month.
l_date+6(2) = l_day.
rval = l_date.
endmethod. "dats
method time.
data: l_time type t,
l_hour(2) type n,
l_min(2) type n,
l_sec(2) type n,
l_value type random=>numcv.
l_value = random=>numc( low = 0 high = 60 ).
l_sec = l_value+13(2).
l_value = random=>numc( low = 0 high = 60 ).
l_min = l_value+13(2).
l_value = random=>numc( low = 1 high = 24 ).
l_hour = l_value+13(2).
l_time+0(2) = l_hour.
l_time+2(2) = l_min.
l_time+4(2) = l_sec.
rval = l_time.
endmethod. "time
method numc.
Go from {0,...,random=>max} to {low,...,high} with ABAP rounding
data: l_dec(16) type p,
l_char(16) type c.
l_dec = ( ( high - low + 1 ) * random=>number( ) ) / random=>max
+ '0.5'.
subtract 1 from l_dec.
add low to l_dec.
data: lr_type_descr type ref to cl_abap_typedescr,
lr_elem_descr type ref to cl_abap_elemdescr.
lr_type_descr =
cl_abap_typedescr=>describe_by_data( rval ).
lr_elem_descr ?= lr_type_descr.
l_char = l_dec.
shift l_char left deleting leading space.
rval = l_char+0(lr_elem_descr->output_length).
endmethod. "i
method i.
Go from {0,...,random=>max} to {low,...,high} with ABAP rounding
data: l_dec(16) type p,
l_char(16) type c.
l_dec = ( ( high - low + 1 ) * random=>number( ) ) / random=>max
+ '0.5'.
subtract 1 from l_dec.
add low to l_dec.
data: lr_type_descr type ref to cl_abap_typedescr,
lr_elem_descr type ref to cl_abap_elemdescr.
lr_type_descr =
cl_abap_typedescr=>describe_by_data( rval ).
lr_elem_descr ?= lr_type_descr.
l_char = l_dec.
shift l_char left deleting leading space.
rval = l_char+0(lr_elem_descr->output_length).
endmethod. "i
method int2.
Go from {0,...,random=>max} to {low,...,high} with ABAP rounding
data: l_dec(16) type p,
l_char(16) type c.
l_dec = ( ( high - low + 1 ) * random=>number( ) ) / random=>max
+ '0.5'.
subtract 1 from l_dec.
add low to l_dec.
data: lr_type_descr type ref to cl_abap_typedescr,
lr_elem_descr type ref to cl_abap_elemdescr.
lr_type_descr =
cl_abap_typedescr=>describe_by_data( rval ).
lr_elem_descr ?= lr_type_descr.
l_char = l_dec.
shift l_char left deleting leading space.
rval = l_char+0(lr_elem_descr->output_length).
endmethod. "i
method int1.
Go from {0,...,random=>max} to {low,...,high} with ABAP rounding
data: l_dec(16) type p,
l_char(16) type c.
l_dec = ( ( high - low + 1 ) * random=>number( ) ) / random=>max
+ '0.5'.
subtract 1 from l_dec.
add low to l_dec.
data: lr_type_descr type ref to cl_abap_typedescr,
lr_elem_descr type ref to cl_abap_elemdescr.
lr_type_descr =
cl_abap_typedescr=>describe_by_data( rval ).
lr_elem_descr ?= lr_type_descr.
l_char = l_dec.
shift l_char left deleting leading space.
rval = l_char+0(lr_elem_descr->output_length).
endmethod. "i
method f.
Go from {0,...,random=>max} to [low;high]
rval = ( ( high - low ) * random=>number( ) ) / random=>max
+ low.
endmethod. "f
method class_constructor.
charsmax = strlen( chars ) - 1.
xmax = strlen( x_data ) - 1.
seed = 1.
endmethod. "class_constructor
endclass. "random IMPLEMENTATION
SELECTION-SCREEN *
selection-screen begin of block gen with frame.
parameters:
p_amount type i default 30,
p_dbinfo as checkbox,
p_dbshrt as checkbox.
selection-screen end of block gen.
parameters:
p_list type num1 default 3.
selection-screen begin of block tit with frame title text-tit.
parameters:
p_tit01 type lvc_s_layo-grid_title default text-p01. "TITLE
selection-screen end of block tit.
selection-screen begin of block lay with frame title text-lay.
parameters:
p_lay01 as checkbox. "ZEBRA
selection-screen skip.
parameters:
p_lay02 as checkbox, "NO HORIZONTAL LINES
p_lay03 as checkbox. "NO VERTICAL LINES
selection-screen skip.
parameters:
p_lay04 as checkbox. "NO SCROLLING
selection-screen skip.
parameters:
p_lay06 type syucomm, "F2CODE
p_lay07 as checkbox. "CONFIRMATION PROMPT
selection-screen end of block lay.
selection-screen begin of block spa with frame title text-spa.
parameters:
p_spa01 as checkbox, "BOX
p_spa02 as checkbox, "COUNT FELD
p_spa03 as checkbox, "NO COLUMN HEADERS
p_spa04 as checkbox. "COLUMN OPTIMIZE
selection-screen begin of block hot with frame title text-hot.
parameters:
p_hot01 as checkbox. "NO HOTSPOT
parameters:
p_hot02 as checkbox. "Hotspot auf Zeilenebene
select-options:
p_hotf02 for g_int_field no intervals default 1.
parameters:
p_hot03 as checkbox.
select-options:
p_hotf03 for g_field no intervals.
selection-screen end of block hot.
selection-screen begin of block mrg with frame title text-mrg.
parameters:
p_mrg01 radiobutton group mrge, "Default
p_mrg02 radiobutton group mrge, "kein Merge
p_mrg03 radiobutton group mrge. "Merge
selection-screen end of block mrg.
selection-screen begin of block out with frame title text-out.
parameters:
p_out01 as checkbox.
select-options:
p_outf01 for g_field no intervals.
selection-screen end of block out.
selection-screen begin of block tec with frame title text-tec.
parameters:
p_tec01 as checkbox.
select-options:
p_tecf01 for g_field no intervals.
selection-screen end of block tec.
selection-screen begin of block fix with frame title text-fix.
parameters:
p_fix01 as checkbox.
select-options:
p_fixf01 for g_field no intervals.
selection-screen end of block fix.
selection-screen begin of block txt with frame title text-txt.
selection-screen pushbutton /1(50) text-pb2 user-command pb02.
selection-screen end of block txt.
selection-screen begin of block cur with frame title text-cur.
parameters:
p_curanz type i,
p_curspc as checkbox default space.
selection-screen skip.
select-options:
p_curf00 for g_field no intervals.
parameters:
p_cur01 radiobutton group cur default 'X',
p_curf01 type lvc_s_fcat-fieldname.
parameters:
p_cur02 radiobutton group cur,
p_curf02 type g_ty_s_sflight-currency.
selection-screen end of block cur.
selection-screen begin of block sort with frame title text-srt.
selection-screen pushbutton /1(20) text-pb1 user-command pb01.
selection-screen end of block sort.
selection-screen end of block spa.
selection-screen begin of block key with frame title text-key.
parameters:
p_key01 as checkbox, "KEYFELDER ALS HOTSPOT
p_key02 as checkbox. "NO KEY FIXIERUNG
selection-screen end of block key.
selection-screen begin of block exp with frame title text-exp.
parameters:
p_excp01 as checkbox, "EXCEPTION
p_excp_c as checkbox. "EXCEPTION CONDENSE
selection-screen end of block exp.
selection-screen begin of block sum with frame title text-sum.
parameters:
p_sum01 as checkbox, "SUM BEFORE
p_sum02 as checkbox, "NUMC
p_sum03 as checkbox, "NO UNITSPLIT
p_sum04 as checkbox, "TOTALS ONLY
p_sum05 as checkbox, "NO SUMCHOICE
p_sum06 as checkbox, "NO SUMLINE
p_sum07 type sy-msgli, "TOTALS TEXT
p_sum08 as checkbox, "NO SUBCHOICE
p_sum09 as checkbox, "NO SUBTOTALS
p_sum10 type sy-msgli. "SUBTOTALS TEXT
selection-screen begin of block dos with frame title text-dos.
parameters:
p_dos01 as checkbox.
select-options:
p_dosf01 for g_field no intervals.
selection-screen end of block dos.
selection-screen begin of block nos with frame title text-nos.
parameters:
p_nos01 as checkbox.
select-options:
p_nosf01 for g_field no intervals.
selection-screen end of block nos.
selection-screen end of block sum.
selection-screen begin of block col with frame title text-col.
parameters:
p_col01 as checkbox.
select-options:
p_colf01 for g_int_field no intervals default 1.
parameters:
p_col02 as checkbox.
select-options:
p_colf02 for g_field no intervals.
parameters:
p_col03 as checkbox.
select-options:
p_colf03 for g_field no intervals.
selection-screen end of block col.
selection-screen begin of block prn with frame title text-prn.
parameters:
p_lpr01 as checkbox default 'X'. "GROUP CHANGE EDIT
selection-screen skip.
parameters:
p_lpr02 as checkbox. "GET SELINFO
selection-screen skip.
parameters:
p_lpr03 as checkbox, "NO MIN LINESIZE
p_lpr04 type sylinsz, "MIN LINESIZE
p_lpr05 type sylinsz. "MAX LINESIZE
selection-screen skip.
parameters:
p_prn01 as checkbox, "PRINT
p_prn02 type lvc_s_prnt-reservelns, "RESERVE LINES
p_prn03 as checkbox, "NO LISTINFO
p_prn04 as checkbox, "NO SELINFO
p_prn05 as checkbox, "TITEL
p_prn06 type lvc_s_prnt-footline, "FOOTLINE
p_prn07 as checkbox, "PRINT INFO
p_prn08 as checkbox, "NO COVERPAGE
p_prn09 as checkbox, "NO NEW PAGE
p_prn10 as checkbox. "NO CHANGE PRINT PARAMS
selection-screen end of block prn.
selection-screen begin of block evt with frame.
parameters:
p_evt01 as checkbox, "PF_STATUS_SET
p_evt02 as checkbox. "USER_COMMAND
selection-screen skip.
parameters:
p_evt03 as checkbox, "CALLER_EXIT
p_evt04 as checkbox, "LIST_MODIFY
p_evt05 as checkbox, "BEFORE_LINE_OUTPUT
p_evt06 as checkbox. "AFTER_LINE_OUTPUT
selection-screen skip.
parameters:
p_evt07 as checkbox, "SUBTOTAL_TEXT
p_evt08 as checkbox. "REPREP_SEL_MODIFY
selection-screen skip.
parameters:
p_evt09 as checkbox, "TOP_OF_PAGE
p_evt10 as checkbox, "END_OF_PAGE
p_evt11 as checkbox, "TOP_OF_LIST
p_evt12 as checkbox. "END_OF_LIST
selection-screen skip.
parameters:
p_evt13 as checkbox, "TOP_OF_COVERPAGE
p_evt14 as checkbox. "END_OF_COVERPAGE
selection-screen skip.
parameters:
p_evt15 as checkbox, "FOREIGN_TOP_OF_PAGE
p_evt16 as checkbox. "FOREIGN_END_OF_PAGE
selection-screen skip.
parameters:
p_evt17 as checkbox. "GROUPLEVEL_CHANGE
selection-screen end of block evt.
INITIALIZATION *
initialization.
perform f01_f4_field using 'SUM' space changing p_dosf01-low.
p_dosf01-option = 'EQ'.
p_dosf01-sign = 'I'.
append p_dosf01.
perform f01_f4_field using 'SUM' space changing p_nosf01-low.
p_nosf01-option = 'EQ'.
p_nosf01-sign = 'I'.
append p_nosf01.
perform f01_f4_field using 'KEY' space changing p_outf01-low.
p_outf01-option = 'EQ'.
p_outf01-sign = 'I'.
append p_outf01.
perform f01_f4_field using space space changing p_tecf01-low.
p_tecf01-option = 'EQ'.
p_tecf01-sign = 'I'.
append p_tecf01.
perform f01_f4_field using space space changing p_fixf01-low.
p_fixf01-option = 'EQ'.
p_fixf01-sign = 'I'.
append p_fixf01.
perform f01_f4_field using 'CURR' space changing p_curf00-low.
p_curf00-option = 'EQ'.
p_curf00-sign = 'I'.
append p_curf00.
perform f01_f4_field using 'CUKY' space changing p_curf01.
perform f01_f4_field using space space changing p_hotf03-low.
p_hotf03-option = 'EQ'.
p_hotf03-sign = 'I'.
append p_hotf03.
perform f01_f4_field using space space changing p_colf02-low.
p_colf02-option = 'EQ'.
p_colf02-sign = 'I'.
append p_colf02.
perform f01_f4_field using space space changing p_colf03-low.
p_colf03-option = 'EQ'.
p_colf03-sign = 'I'.
append p_colf03.
AT SELECTION-SCREEN *
at selection-screen.
case sscrfields-ucomm.
when 'PB01'.
call screen 1001 starting at 1 1 ending at 80 20.
when 'PB02'.
call screen 1002 starting at 1 1 ending at 80 20.
endcase.
AT SELECTION-SCREEN ON VALUE-REQUEST *
at selection-screen on value-request for p_dosf01-low.
perform f01_f4_field using 'SUM' 'X' changing p_dosf01-low.
at selection-screen on value-request for p_nosf01-low.
perform f01_f4_field using 'SUM' 'X' changing p_nosf01-low.
at selection-screen on value-request for p_outf01-low.
perform f01_f4_field using 'KEY' 'X' changing p_outf01-low.
at selection-screen on value-request for p_tecf01-low.
perform f01_f4_field using space 'X' changing p_tecf01-low.
at selection-screen on value-request for p_fixf01-low.
perform f01_f4_field using space 'X' changing p_fixf01-low.
at selection-screen on value-request for p_curf00-low.
perform f01_f4_field using 'CURR' 'X' changing p_curf00-low.
at selection-screen on value-request for p_curf01.
perform f01_f4_field using 'CUKY' 'X' changing p_curf01.
at selection-screen on value-request for p_hotf03-low.
perform f01_f4_field using space 'X' changing p_hotf03-low.
at selection-screen on value-request for p_colf02-low.
perform f01_f4_field using space 'X' changing p_colf02-low.
at selection-screen on value-request for p_colf03-low.
perform f01_f4_field using space 'X' changing p_colf03-low.
at selection-screen on value-request for p_lay06.
perform f01_f4_fcode using space
space
changing p_lay06.
START-OF-SELECTION *
start-of-selection.
g_repid = sy-repid.
gs_test-select_amount = p_amount.
gs_test-only_db_info = p_dbinfo.
gs_test-db_short = p_dbshrt.
gs_test-list_amount = p_list.
gs_test-layo_title = p_tit01.
gs_test-layo_zebra = p_lay01.
gs_test-layo_no_horiz_lines = p_lay02.
gs_test-layo_no_vert_lines = p_lay03.
gs_test-layo_no_scrolling = p_lay04.
gs_test-layo_f2code = p_lay06.
gs_test-layo_confirmation_prompt = p_lay07.
gs_test-layo_box = p_spa01.
gs_test-layo_count = p_spa02.
gs_test-layo_no_colhead = p_spa03.
gs_test-layo_column_optimize = p_spa04.
gs_test-layo_no_hotspot = p_hot01.
if p_hot02 eq con_true.
loop at p_hotf02.
if not p_hotf02-low is initial.
append p_hotf02-low to gs_test-layo_hotspot_rows.
endif.
endloop.
endif.
if p_hot03 eq con_true.
loop at p_hotf03.
if not p_hotf03-low is initial.
append p_hotf03-low to gs_test-layo_hotspot_columns.
endif.
endloop.
endif.
case con_true.
when p_mrg01.
gs_test-layo_cell_merge = space.
when p_mrg02.
gs_test-layo_cell_merge = 'N'.
when p_mrg03.
gs_test-layo_cell_merge = 'Y'.
endcase.
if p_out01 eq con_true.
loop at p_outf01.
if not p_outf01-low is initial.
append p_outf01-low to gs_test-fcat_no_out_fields.
endif.
endloop.
endif.
if p_tec01 eq con_true.
loop at p_tecf01.
if not p_tecf01-low is initial.
append p_tecf01-low to gs_test-fcat_tech_fields.
endif.
endloop.
endif.
if p_fix01 eq con_true.
loop at p_fixf01.
if not p_fixf01-low is initial.
append p_fixf01-low to gs_test-fcat_fix_column_fields.
endif.
endloop.
endif.
gs_test-curr_amount = p_curanz.
gs_test-curr_space = p_curspc.
if p_cur01 eq con_true or p_cur02 eq con_true.
data: ls_fcat_curr type g_ty_s_fcat_curr.
loop at p_curf00.
clear ls_fcat_curr.
if not p_curf00-low is initial.
ls_fcat_curr-fieldname = p_curf00-low.
case con_true.
when p_cur01.
ls_fcat_curr-cfieldname = p_curf01.
when p_cur02.
ls_fcat_curr-currency = p_curf02.
endcase.
append ls_fcat_curr to gs_test-fcat_curr_fields.
endif.
endloop.
endif.
gs_test-layo_keys_hotspot = p_key01.
gs_test-layo_no_keyfix = p_key02.
gs_test-excp_display = p_excp01.
gs_test-excp_condense = p_excp_c.
gs_test-sum_before = p_sum01.
gs_test-sum_numc = p_sum02.
gs_test-sum_no_unitsplit = p_sum03.
gs_test-sum_totals_only = p_sum04.
gs_test-sum_no_sumchoice = p_sum05.
gs_test-sum_no_sumline = p_sum06.
gs_test-sum_totals_text = p_sum07.
gs_test-sum_no_subchoice = p_sum08.
gs_test-sum_no_subtotals = p_sum09.
gs_test-sum_subtotals_text = p_sum10.
if p_dos01 eq con_true.
loop at p_dosf01.
if not p_dosf01-low is initial.
append p_dosf01-low to gs_test-fcat_do_sum_fields.
endif.
endloop.
endif.
if p_nos01 eq con_true.
loop at p_nosf01.
if not p_nosf01-low is initial.
append p_nosf01-low to gs_test-fcat_no_sum_fields.
endif.
endloop.
endif.
gs_test-layo_group_change_edit = p_lpr01.
gs_test-layo_get_selinfo = p_lpr02.
gs_test-layo_no_min_linesize = p_lpr03.
gs_test-layo_min_linesize = p_lpr04.
gs_test-layo_max_linesize = p_lpr05.
gs_test-prnt_print = p_prn01.
gs_test-prnt_reserve_lines = p_prn02.
gs_test-prnt_no_listinfo = p_prn03.
gs_test-prnt_no_selinfo = p_prn04.
gs_test-prnt_with_title = p_prn05.
gs_test-prnt_footline = p_prn06.
gs_test-prnt_printinfo = p_prn07.
gs_test-prnt_no_coverpage = p_prn08.
gs_test-prnt_no_new_page = p_prn09.
gs_test-prnt_no_change_print_params = p_prn10.
if p_col01 eq con_true.
loop at p_colf01.
if not p_colf01-low is initial.
append p_colf01-low to gs_test-color_rows.
endif.
endloop.
endif.
if p_col02 eq con_true.
loop at p_colf02.
if not p_colf02-low is initial.
append p_colf02-low to gs_test-color_fields_column.
endif.
endloop.
endif.
if p_col03 eq con_true.
loop at p_colf03.
if not p_colf03-low is initial.
append p_colf03-low to gs_test-color_fields_cell.
endif.
endloop.
endif.
if p_evt01 eq con_true.
append con_event_01 to gs_test-events.
endif.
if p_evt02 eq con_true.
append con_event_02 to gs_test-events.
endif.
if p_evt03 eq con_true.
append con_event_03 to gs_test-events.
endif.
if p_evt04 eq con_true.
append con_event_04 to gs_test-events.
endif.
if p_evt05 eq con_true.
append con_event_05 to gs_test-events.
endif.
if p_evt06 eq con_true.
append con_event_06 to gs_test-events.
endif.
if p_evt07 eq con_true.
append con_event_07 to gs_test-events.
endif.
if p_evt08 eq con_true.
append con_event_08 to gs_test-events.
endif.
if p_evt09 eq con_true.
append con_event_09 to gs_test-events.
endif.
if p_evt10 eq con_true.
append con_event_10 to gs_test-events.
endif.
if p_evt11 eq con_true.
append con_event_11 to gs_test-events.
endif.
if p_evt12 eq con_true.
append con_event_12 to gs_test-events.
endif.
if p_evt13 eq con_true.
append con_event_13 to gs_test-events.
endif.
if p_evt14 eq con_true.
append con_event_14 to gs_test-events.
endif.
if p_evt15 eq con_true.
append con_event_15 to gs_test-events.
endif.
if p_evt16 eq con_true.
append con_event_16 to gs_test-events.
endif.
if p_evt17 eq con_true.
append con_event_17 to gs_test-events.
endif.
gs_test-buffer_active = space.
gs_test-bypassing_buffer = space.
END-OF-SELECTION *
end-of-selection.
perform f01_call_list.
*& Form f01_call_list
text
form f01_call_list .
data: ls_prnt type slis_print_alv,
lt_excl type slis_t_extab,
l_exit type char1,
ls_exit type slis_exit_by_user,
l_list type num1.
call function 'REUSE_ALV_BLOCK_LIST_INIT'
exporting
i_callback_program = g_repid
i_callback_pf_status_set = ' '
i_callback_user_command = ' '
it_excluding = lt_excl.
do gs_test-list_amount times.
add 1 to l_list.
perform f01_append_list using l_list.
enddo.
perform f01_set_prnt changing ls_prnt.
call function 'REUSE_ALV_BLOCK_LIST_DISPLAY'
exporting
i_interface_check = ' '
is_print = ls_prnt
i_screen_start_column = 0
i_screen_start_line = 0
i_screen_end_column = 0
i_screen_end_line = 0
importing
e_exit_caused_by_caller = l_exit
es_exit_caused_by_user = ls_exit
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_append_list
text
form f01_append_list using value(i_list) type num1.
data: ls_layo type slis_layout_alv,
lt_fcat type slis_t_fieldcat_alv,
lt_sort type slis_t_sortinfo_alv,
lt_evts type slis_t_event,
l_tabname type slis_tabname.
field-symbols: <l_table> type any.
perform f01_get_outtab using i_list.
case i_list.
when 1.
gt_outtab1 = gt_outtab[].
when 2.
gt_outtab2 = gt_outtab[].
when 3.
gt_outtab3 = gt_outtab[].
when 4.
gt_outtab4 = gt_outtab[].
when 5.
gt_outtab5 = gt_outtab[].
when 6.
gt_outtab6 = gt_outtab[].
when 7.
gt_outtab7 = gt_outtab[].
when 8.
gt_outtab8 = gt_outtab[].
when 9.
gt_outtab9 = gt_outtab[].
endcase.
perform f01_set_layo changing ls_layo.
perform f01_set_fcat changing lt_fcat.
perform f01_set_evts changing lt_evts.
concatenate 'LIST_' i_list into l_tabname.
case i_list.
when 1.
call function 'REUSE_ALV_BLOCK_LIST_APPEND'
exporting
is_layout = ls_layo
it_fieldcat = lt_fcat
i_tabname = l_tabname
it_events = lt_evts
it_sort = lt_sort
i_text = 'Hello' "#EC NOTEXT
tables
t_outtab = gt_outtab1
exceptions
program_error = 1
maximum_of_appends_reached = 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.
when 2.
call function 'REUSE_ALV_BLOCK_LIST_APPEND'
exporting
is_layout = ls_layo
it_fieldcat = lt_fcat
i_tabname = l_tabname
it_events = lt_evts
it_sort = lt_sort
i_text = 'Hello' "#EC NOTEXT
tables
t_outtab = gt_outtab2
exceptions
program_error = 1
maximum_of_appends_reached = 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.
when 3.
call function 'REUSE_ALV_BLOCK_LIST_APPEND'
exporting
is_layout = ls_layo
it_fieldcat = lt_fcat
i_tabname = l_tabname
it_events = lt_evts
it_sort = lt_sort
i_text = 'Hello' "#EC NOTEXT
tables
t_outtab = gt_outtab3
exceptions
program_error = 1
maximum_of_appends_reached = 2
others = 3.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-ms -
File association problem with excel
hi everybody,
i have the following annoying little problem, couldn't find any answers so far in the forum:
i have some downloaded files (just plain text files) that i call ".in", and finder lists those as "microsoft excel binary document". now i want to associate those files to open with textwrangler as standard app. if i get information for those files and set "open with" to textwrangler, as soon as i click "change all" it reverts the application in the "open with" box to "microsoft excel", meaning i can never change the filetype permanently.
anybody know what i might be doing wrong, or what i can do to make the change stick?
thanksHi Gopal,
There is a a column width optimize function of SLIS ALV layout.
colwidth_optimize(1) type c
but, i am not sure if it works.
Also, when the report is generated, there is an option in the menu.
Go to "Setting --> Columns --> Optimize Width"
With this, it optimizes the column width based on data width but when you download, it reverts to the dictionary field length.
Regards,
Vivek -
Problem in ALV!!!! Please help
The Following program terminates with short dump when i try to execute.
Please tell me whats the problem.
<<program removed>>
Moderator Message: Did you happen to read the Short Dump error message?
Edited by: kishan P on May 20, 2011 11:59 AMHi Gopal,
There is a a column width optimize function of SLIS ALV layout.
colwidth_optimize(1) type c
but, i am not sure if it works.
Also, when the report is generated, there is an option in the menu.
Go to "Setting --> Columns --> Optimize Width"
With this, it optimizes the column width based on data width but when you download, it reverts to the dictionary field length.
Regards,
Vivek -
Help required with cl_gui_pdfviewer
hi,
i have a strange issue...i have a URL which is a pdf basically. i need to get the contents of that pdf and store it on my application server for further purposes. it's just a URL over the internet or intranet.
i can use the CL_GUI_PDFVIEWER to view the pdf file in a container or use the CL_GUI_HTMLVIEWER to view it online.. .i have seen that from the forums on hwo to do that... but i need to not view it online, but to only store the contents on my application server and email the pdf to an external email. i have a program which runs in the background and I actually don't want to view a pdf while i am in the program. can we extract the contents of the pdf using the CL_GUI_PDFVIEWER anyway?
i tried to call the pdfview-> open_document and then subsequently pdfviewer->save_document to try to save the document onto an application server directory in the background, but that doesn't work.....so looking for ideas!
Moderator Message: Duplicate Post. Thread Locked.
Edited by: kishan P on Oct 18, 2010 12:56 PM
Any ideas bright ideasin fieldcatalog
fieldname
tabname
CFIELDNAME "Currency key
QFIELDNAME "Qty unit
ICON "for icon
SYMBOL "for symbols
CHECKBOX "for check box
JUST "for justification Right, Left , center
LZERO "Leading zero's
EMPHASIZE "for coloring entrie column
DO_SUM "Summing the column only for summable
COL_TEXT " FOR COLUMN TEXT
HOT_SPOT "hot spot
REF_FIELD "ref field
REF_TABLE "ref table
EDIT "for editable
NO_OUT for Hiding the column
TECH "remove from display completely
OUTPUTLEN " output length..
For Layout
ZEBRA " FOR ALTERNATE COLOR
CWIDTH_OPT " for column optimize
GRID_TITLE "Grid title
SEL_MODE "selection mode
BOX_FNAME "Box fieldname
INFO_FNAME "for rowcoloring
CTAB_FNAME '' cell coloring -
Which is fast / Smooth performing?
I have 10 circles on the stage, animated on the time line, simple animation like scale, rotation and size changes.
Which will give me best performance in terms of browser load and smoothness of animation?
Ellipse or Svg file
What if it is 100 objects, or even 1000 objects?Which is fast ? Select * from tableName or Select Column1,Column2 .... From tableName ? and Why ?
select * from Sales.[SalesOrderHeader]
select SalesOrderNumber,RevisionNumber,rowguid from Sales.[SalesOrderHeader]
As you can see both the query execution plan and subtree cost is same. So how selecting the particular columns optimize the query ?
Yes, selecting specific columns is always better than select *.
If you always need few columns in result, then just use SELECT col1, col2 FROM YourTable. If you SELECT * FROM YourTable; that is extra useless overhead.
If in future if someone adds Image/BLOB/Text type columns in your table, using SELECT * will worsen the performace for sure.
Let's say if you have SP and you use INSERT INTO DestTable SELECT * FROM TABLE which runs fine BUT again if someone adds few more columns then your SP will fail saying provided columns don't match.
-Vaibhav Chaudhari -
Which is fast ? Select * from tableName or Select Column1,Column2 .... From tableName ? and Why ?
select * from Sales.[SalesOrderHeader]
select SalesOrderNumber,RevisionNumber,rowguid from Sales.[SalesOrderHeader]
As you can see both the query execution plan and subtree cost is same. So how selecting the particular columns optimize the query ?Which is fast ? Select * from tableName or Select Column1,Column2 .... From tableName ? and Why ?
select * from Sales.[SalesOrderHeader]
select SalesOrderNumber,RevisionNumber,rowguid from Sales.[SalesOrderHeader]
As you can see both the query execution plan and subtree cost is same. So how selecting the particular columns optimize the query ?
Yes, selecting specific columns is always better than select *.
If you always need few columns in result, then just use SELECT col1, col2 FROM YourTable. If you SELECT * FROM YourTable; that is extra useless overhead.
If in future if someone adds Image/BLOB/Text type columns in your table, using SELECT * will worsen the performace for sure.
Let's say if you have SP and you use INSERT INTO DestTable SELECT * FROM TABLE which runs fine BUT again if someone adds few more columns then your SP will fail saying provided columns don't match.
-Vaibhav Chaudhari -
Hello,
Could I increase the width of my query more then 133 chars?
If I set it to 162, the system reset it back to 133.
Any Idea?
Regards,
TommasoIf a list is already displayed with optimized column width in the standard system, you can alter the column width according to your requirements using Change layout. To revert to the optimized column width, choose Settings ---> Columns -->Optimize Width.
http://help.sap.com/saphelp_nw04s/helpdata/en/66/bc7b6143c211d182b30000e829fbfe/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/f1/0a5529e09411d2acb90000e829fbfe/content.htm -
Help me with CL_GUI_ALV_GRID
Hi
There are so many fields in LVC_S_FCAT and LVC_S_LAYO.
Anyone can tell me which fields are important and used most frequently.
Edited by: Alex Zhang on Aug 20, 2008 5:32 AMin fieldcatalog
fieldname
tabname
CFIELDNAME "Currency key
QFIELDNAME "Qty unit
ICON "for icon
SYMBOL "for symbols
CHECKBOX "for check box
JUST "for justification Right, Left , center
LZERO "Leading zero's
EMPHASIZE "for coloring entrie column
DO_SUM "Summing the column only for summable
COL_TEXT " FOR COLUMN TEXT
HOT_SPOT "hot spot
REF_FIELD "ref field
REF_TABLE "ref table
EDIT "for editable
NO_OUT for Hiding the column
TECH "remove from display completely
OUTPUTLEN " output length..
For Layout
ZEBRA " FOR ALTERNATE COLOR
CWIDTH_OPT " for column optimize
GRID_TITLE "Grid title
SEL_MODE "selection mode
BOX_FNAME "Box fieldname
INFO_FNAME "for rowcoloring
CTAB_FNAME '' cell coloring -
Questions relating to Processing ACORD TXLIFE XML content
<PropertyName xmlns="http://ACORD.org/Standards/Life/2">LastName</PropertyName>
<PropertyName xmlns="http://ACORD.org/Standards/Life/2">GovtID</PropertyName>
<PropertyName xmlns="http://ACORD.org/Standards/Life/2">GovtIDTc</PropertyName>
<PropertyName xmlns="http://ACORD.org/Standards/Life/2">ResidenceState</PropertyName>
<PropertyName xmlns="http://ACORD.org/Standards/Life/2">ActivityTypeCode</PropertyName>
<PropertyName xmlns="http://ACORD.org/Standards/Life/2">ActivityDescription</PropertyName>
<PropertyName xmlns="http://ACORD.org/Standards/Life/2">UserCode</PropertyName>
<PropertyName xmlns="http://ACORD.org/Standards/Life/2">ActivityTypeCode</PropertyName>
<PropertyName xmlns="http://ACORD.org/Standards/Life/2">ActivityStatus</PropertyName>
<PropertyName xmlns="http://ACORD.org/Standards/Life/2">ActivityTypeCode</PropertyName>
<PropertyName xmlns="http://ACORD.org/Standards/Life/2">Closed</PropertyName>
<PropertyName xmlns="http://ACORD.org/Standards/Life/2">Closed</PropertyName>
i want to extract these values
LastName
GovtID
GovtIDTc
ResidenceState like this i am using the query here can any body help me on this
For I In (SELECT extract(value(t),'//CriteriaExpression/Criteria/PropertyName','xmlns="http://ACORD.org/Standards/Life/2"').getstringval() pname
FROM TABLE (XMLSEQUENCE (EXTRACT(xml_data_val,'/TXLife/TXLifeRequest/CriteriaExpression','xmlns="http://ACORD.org/Standards/Life/2"'))) t
LOOP
DBMS_OUTput.PUT_LINE(i.pname);
END LOOP;
Edited by: mdrake on Nov 26, 2010 7:22 PMThis also works well with Object Relatiional storage...
C:\xdb\schemas\ACORD\TxLife>sqlplus /nolog @..\..\doRegistration\registerSchemas %CD% FALSE
SQL*Plus: Release 11.2.0.2.0 Production on Fri Nov 26 15:59:45 2010
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> spool registerSchemas.log
SQL> --
SQL> set define on
SQL> set timing on
SQL> set trimspool on
SQL> --
SQL> connect / as sysdba
Connected.
SQL> --
SQL> def TARGET_DIRECTORY = &1
SQL> --
SQL> def BINARY_XML = &2
SQL> --
SQL> @&TARGET_DIRECTORY/setVariables
SQL> --
SQL> def USERNAME = TXLIFE
SQL> --
SQL> def PASSWORD = &USERNAME
SQL> --
SQL> def USER_TABLESPACE = USERS
SQL> --
SQL> def TEMP_TABLESPACE = TEMP
SQL> --
SQL> def XMLDIR = &TARGET_DIRECTORY
SQL> --
SQL> def SCHEMA_ARCHIVE_FILE = TxLife.zip
SQL> --
SQL> def MASTER_SCHEMA_PATH = ''
SQL> --
SQL> def SCHEMA_FOLDER = ''
SQL> --
SQL> def LOCATION_PREFIX = http://xmlns.ACORD.org/schemas/Life/2
SQL> --
SQL> def TARGET_NAMESPACE = http://ACORD.org/Standards/Life/2
SQL> --
SQL> --
SQL> @@setTargetFolder
SQL> VAR BINARY_XML NUMBER;
SQL> VAR SCHEMA_LOCATION_HINT VARCHAR2(700);
SQL> VAR MASTER_SCHEMA_PATH VARCHAR2(700);
SQL> VAR SCHEMA_FOLDER VARCHAR2(700);
SQL> VAR LOCATION_PREFIX VARCHAR2(700);
SQL> VAR TARGET_NAMESPACE VARCHAR2(700);
SQL> VAR TARGET_FOLDER VARCHAR2(700);
SQL> VAR SCHEMA_NAME VARCHAR2(700);
SQL> --
SQL> begin
2 if ('&BINARY_XML' is null) or (UPPER('&2') = 'FALSE') then
3 :BINARY_XML := NULL;
4 else
5 :BINARY_XML := DBMS_XMLSCHEMA.REGISTER_BINARYXML;
6 end if;
7 :SCHEMA_LOCATION_HINT := NULL;
8 :MASTER_SCHEMA_PATH := '&MASTER_SCHEMA_PATH';
9 :SCHEMA_FOLDER := '&SCHEMA_FOLDER';
10 :LOCATION_PREFIX := '&LOCATION_PREFIX';
11 :TARGET_NAMESPACE := '&TARGET_NAMESPACE';
12 end;
13 /
old 2: if ('&BINARY_XML' is null) or (UPPER('&2') = 'FALSE') then
new 2: if ('FALSE' is null) or (UPPER('FALSE') = 'FALSE') then
old 8: :MASTER_SCHEMA_PATH := '&MASTER_SCHEMA_PATH';
new 8: :MASTER_SCHEMA_PATH := '';
old 9: :SCHEMA_FOLDER := '&SCHEMA_FOLDER';
new 9: :SCHEMA_FOLDER := '';
old 10: :LOCATION_PREFIX := '&LOCATION_PREFIX';
new 10: :LOCATION_PREFIX := 'http://xmlns.ACORD.org/schemas/Life/2';
old 11: :TARGET_NAMESPACE := '&TARGET_NAMESPACE';
new 11: :TARGET_NAMESPACE := 'http://ACORD.org/Standards/Life/2';
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.03
SQL> declare
2 V_ARCHIVE_FILE_NAME VARCHAR2(700) := '&SCHEMA_ARCHIVE_FILE';
3 begin
4
5 -- Derive Schema Output Folder, Schema Folder and Output File Name from Archive Name.
6
7 if (INSTR(V_ARCHIVE_FILE_NAME,'/') > 0) then
8 V_ARCHIVE_FILE_NAME := substr(V_ARCHIVE_FILE_NAME,instr(V_ARCHIVE_FILE_NAME,'/',-1)+1);
9 end if;
10 V_ARCHIVE_FILE_NAME := substr(V_ARCHIVE_FILE_NAME,1,instr(V_ARCHIVE_FILE_NAME,'.',-1)-1);
11
12 :TARGET_FOLDER := '/public/&USERNAME/' || V_ARCHIVE_FILE_NAME;
13
14 if (:SCHEMA_FOLDER is null) then
15 :SCHEMA_FOLDER := :TARGET_FOLDER;
16 else
17 :SCHEMA_FOLDER := :TARGET_FOLDER || '/' || :SCHEMA_FOLDER;
18 end if;
19
20 :SCHEMA_NAME := substr(:SCHEMA_FOLDER,instr(:SCHEMA_FOLDER,'/',-1)+1);
21
22 -- Correct Output File Name if a exact path is supplied for the master XML Schema.
23
24 if (:MASTER_SCHEMA_PATH is not null) then
25
26 :SCHEMA_LOCATION_HINT := :LOCATION_PREFIX || '/' || :MASTER_SCHEMA_PATH;
27 :MASTER_SCHEMA_PATH := :TARGET_FOLDER || '/' || :MASTER_SCHEMA_PATH;
28
29 if (instr(:MASTER_SCHEMA_PATH,'/') > 0) then
30 :SCHEMA_NAME := substr(:MASTER_SCHEMA_PATH,instr(:MASTER_SCHEMA_PATH,'/',-1)+1);
31 end if;
32
33 :SCHEMA_NAME := substr(:SCHEMA_NAME,1,instr(:SCHEMA_NAME,'.',-1)-1);
34
35 select *
36 into :TARGET_NAMESPACE
37 from XMLTABLE
38 (
39 'let $schema := fn:doc($PATH)
40 return <TARGET_NAMESPACE>{fn:data($schema/@targetNamespace)}</TARGET_NAMESPACE>'
41 passing :MASTER_SCHEMA_PATH as "PATH"
42 columns
43 TARGET_NAMEPACE VARCHAR2(700)
44 );
45 end if;
46
47 end;
48 /
old 2: V_ARCHIVE_FILE_NAME VARCHAR2(700) := '&SCHEMA_ARCHIVE_FILE';
new 2: V_ARCHIVE_FILE_NAME VARCHAR2(700) := 'TxLife.zip';
old 12: :TARGET_FOLDER := '/public/&USERNAME/' || V_ARCHIVE_FILE_NAME;
new 12: :TARGET_FOLDER := '/public/TXLIFE/' || V_ARCHIVE_FILE_NAME;
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.00
SQL> --
SQL> print :TARGET_FOLDER
TARGET_FOLDER
/public/TXLIFE/TxLife
SQL> print :SCHEMA_FOLDER
SCHEMA_FOLDER
/public/TXLIFE/TxLife
SQL> --
SQL> print :TARGET_NAMESPACE
TARGET_NAMESPACE
http://ACORD.org/Standards/Life/2
SQL> --
SQL> @@createUser
SQL> --
SQL> drop user &USERNAME cascade
2 /
old 1: drop user &USERNAME cascade
new 1: drop user TXLIFE cascade
User dropped.
Elapsed: 00:01:13.27
SQL> begin
2 if (DBMS_XDB.existsResource(:TARGET_FOLDER)) then
3 DBMS_XDB.deleteResource(:TARGET_FOLDER,DBMS_XDB.DELETE_RECURSIVE);
4 end if;
5 end;
6 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.04
SQL> commit
2 /
Commit complete.
Elapsed: 00:00:00.04
SQL> column ANY_PATH FORMAT A256
SQL> column OUTPUT FORMAT A256
SQL> set lines 256 pages 0 long 1000000
SQL> --
SQL> select ANY_PATH
2 from RESOURCE_VIEW
3 where under_path(RES,:TARGET_FOLDER) = 1
4 /
no rows selected
Elapsed: 00:00:00.00
SQL> grant create any directory, drop any directory, connect, resource, alter session, create view to &USERNAME identified by &PASSWORD
2 /
old 1: grant create any directory, drop any directory, connect, resource, alter session, create view to &USERNAME identified by &PASSWORD
new 1: grant create any directory, drop any directory, connect, resource, alter session, create view to TXLIFE identified by TXLIFE
Grant succeeded.
Elapsed: 00:00:00.04
SQL> alter user &USERNAME default tablespace &USER_TABLESPACE temporary tablespace &TEMP_TABLESPACE
2 /
old 1: alter user &USERNAME default tablespace &USER_TABLESPACE temporary tablespace &TEMP_TABLESPACE
new 1: alter user TXLIFE default tablespace USERS temporary tablespace TEMP
User altered.
Elapsed: 00:00:00.03
SQL> --
SQL> connect &USERNAME/&PASSWORD
Connected.
SQL> --
SQL> @@unzipArchive
SQL> create or replace directory &USERNAME as '&XMLDIR'
2 /
old 1: create or replace directory &USERNAME as '&XMLDIR'
new 1: create or replace directory TXLIFE as 'C:\xdb\schemas\ACORD\TxLife'
Directory created.
Elapsed: 00:00:00.10
SQL> declare
2 V_RESULT BOOLEAN;
3 V_PATH VARCHAR2(700) := :TARGET_FOLDER || '/schemas.zip';
4 begin
5 XDB_UTILITIES.mkdir(:TARGET_FOLDER,TRUE);
6 V_RESULT := DBMS_XDB.createResource(V_PATH,bfilename('&USERNAME','&SCHEMA_ARCHIVE_FILE'));
7 commit;
8 end;
9 /
old 6: V_RESULT := DBMS_XDB.createResource(V_PATH,bfilename('&USERNAME','&SCHEMA_ARCHIVE_FILE'));
new 6: V_RESULT := DBMS_XDB.createResource(V_PATH,bfilename('TXLIFE','TxLife.zip'));
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.13
SQL> select ANY_PATH
2 from RESOURCE_VIEW
3 where under_path(RES,:TARGET_FOLDER) = 1
4 /
/public/TXLIFE/TxLife/schemas.zip
Elapsed: 00:00:00.00
SQL> call XDB_IMPORT_UTILITIES.UNZIP(:TARGET_FOLDER || '/schemas.zip',:TARGET_FOLDER,:TARGET_FOLDER || '/unzip.log',XDB_CONSTANTS.RAISE_ERROR)
2 /
Call completed.
Elapsed: 00:00:00.29
SQL> select ANY_PATH
2 from RESOURCE_VIEW
3 where under_path(RES,:TARGET_FOLDER) = 1
4 and XMLExists
5 (
6 'declare default element namespace "http://xmlns.oracle.com/xdb/XDBResource.xsd"; (: :)
7 $RES/Resource[ends-with(DisplayName,".xsd")]'
8 passing RES as "RES"
9 )
10 /
/public/TXLIFE/TxLife/TxLife/TXLife2.18.02.xsd
/public/TXLIFE/TxLife/TxLife/XMLife2.18.02.xsd
/public/TXLIFE/TxLife/TxLife/XTbML2.18.02.xsd
/public/TXLIFE/TxLife/TxLife/XlifeBase2.18.02.xsd
Elapsed: 00:00:00.20
SQL> --
SQL> @@setTypeMappings
SQL> --
SQL> VAR SQLTYPE_MAPPINGS CLOB;
SQL> --
SQL> begin
2 :SQLTYPE_MAPPINGS :=
3 '<xdbpm:SQLTypeMappings xmlns:xdbpm="http://xmlns.oracle.com/xdb/xdbpm">
4 <xdbpm:SQLTypeMapping>
5 <xdbpm:xsdType>dateTime</xdbpm:xsdType>
6 <xdbpm:SQLType>TIMESTAMP WITH TIME ZONE</xdbpm:SQLType>
7 </xdbpm:SQLTypeMapping>
8 </xdbpm:SQLTypeMappings>';
9 end;
10 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.01
SQL> --
SQL> begin
2 :SQLTYPE_MAPPINGS := XMLType(bfilename('&USERNAME','typeMapping.xml'),nls_charset_id('AL32UTF8')).getClobVal();
3 end;
4 /
old 2: :SQLTYPE_MAPPINGS := XMLType(bfilename('&USERNAME','typeMapping.xml'),nls_charset_id('AL32UTF8')).getClobVal();
new 2: :SQLTYPE_MAPPINGS := XMLType(bfilename('TXLIFE','typeMapping.xml'),nls_charset_id('AL32UTF8')).getClobVal();
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.03
SQL> --
SQL> select xmlType(:SQLTYPE_MAPPINGS)
2 from dual
3 /
<xdbpm:SQLTypeMappings xmlns:xdbpm="http://xmlns.oracle.com/xdb/xdbpm">
</xdbpm:SQLTypeMappings>
Elapsed: 00:00:00.01
SQL> begin
2 if (:BINARY_XML is NULL) or (:BINARY_XML <> DBMS_XMLSCHEMA.REGISTER_BINARYXML) then
3 XDB_EDIT_XMLSCHEMA.setSQLTypeMappings(XMLType(:SQLTYPE_MAPPINGS));
4 end if;
5 end;
6 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.01
SQL> --
SQL> --
SQL> @&TARGET_DIRECTORY/doSchemaRegistration
SQL> --
SQL> -- Schema Registration Script for XML Schemas in "/public/TXLIFE/TxLife" --
SQL> --
SQL> --
SQL> begin
2 XDB_EDIT_XMLSCHEMA.getGroupDefinitions('/public/TXLIFE/TxLife');
3 end;
4 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.45
SQL> declare
2 GENERIC_ERROR exception;
3 PRAGMA EXCEPTION_INIT( GENERIC_ERROR , -31061 );
4
5 NO_MATCHING_NODES exception;
6 PRAGMA EXCEPTION_INIT( NO_MATCHING_NODES , -64405 );
7
8 V_XML_SCHEMA XMLType := xdburitype('/public/TXLIFE/TxLife/TxLife/XlifeBase2.18.02.xsd').getXML();
9 V_SCHEMA_LOCATION_HINT VARCHAR2(700) := 'http://xmlns.ACORD.org/schemas/Life/2/TxLife/XlifeBase2.18.02.xsd';
10 begin
11 XDB_EDIT_XMLSCHEMA.expandGroups(V_XML_SCHEMA);
12 XDB_EDIT_XMLSCHEMA.applySQLTypeMappings(V_XML_SCHEMA);
13 begin
14 DBMS_XMLSCHEMA_ANNOTATE.disableDefaultTableCreation(V_XML_SCHEMA);
15 exception
16 when GENERIC_ERROR or NO_MATCHING_NODES then
17 NULL;
18 when OTHERS then
19 RAISE;
20 end;
21
22 begin
23 DBMS_XMLSCHEMA_ANNOTATE.disableMaintainDom(V_XML_SCHEMA,FALSE);
24 exception
25 when GENERIC_ERROR or NO_MATCHING_NODES then
26 NULL;
27 when OTHERS then
28 RAISE;
29 end;
30
31 XDB_EDIT_XMLSCHEMA.fixRelativeURLs(V_XML_SCHEMA,V_SCHEMA_LOCATION_HINT);
32
33 -- SQLType names for global complex types :-
34
59
60 -- SQLType names for global elements based on local complex types :-
61
62 DBMS_XMLSCHEMA_ANNOTATE.setSQLType(V_XML_SCHEMA,'KeyValue', 'KeyValue17787_T');
63 DBMS_XMLSCHEMA_ANNOTATE.setSQLType(V_XML_SCHEMA,'OLifEExtension', 'OLifEExtension17782_T');
64 DBMS_XMLSCHEMA_ANNOTATE.setSQLType(V_XML_SCHEMA,'PropertyValue', 'PropertyValue17792_T');
65
66 DBMS_XMLSCHEMA.registerSchema
67 (
68 SCHEMAURL => V_SCHEMA_LOCATION_HINT
69 ,SCHEMADOC => V_XML_SCHEMA
70 ,LOCAL => TRUE
71 ,GENTYPES => TRUE
72 ,GENTABLES => TRUE
73 ,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
74 );
75 end;
76 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:02.26
SQL> declare
2 GENERIC_ERROR exception;
3 PRAGMA EXCEPTION_INIT( GENERIC_ERROR , -31061 );
4
5 NO_MATCHING_NODES exception;
6 PRAGMA EXCEPTION_INIT( NO_MATCHING_NODES , -64405 );
7
8 V_XML_SCHEMA XMLType := xdburitype('/public/TXLIFE/TxLife/TxLife/XTbML2.18.02.xsd').getXML();
9 V_SCHEMA_LOCATION_HINT VARCHAR2(700) := 'http://xmlns.ACORD.org/schemas/Life/2/TxLife/XTbML2.18.02.xsd';
10 begin
11 XDB_EDIT_XMLSCHEMA.expandGroups(V_XML_SCHEMA);
12 XDB_EDIT_XMLSCHEMA.applySQLTypeMappings(V_XML_SCHEMA);
13 begin
14 DBMS_XMLSCHEMA_ANNOTATE.disableDefaultTableCreation(V_XML_SCHEMA);
15 exception
16 when GENERIC_ERROR or NO_MATCHING_NODES then
17 NULL;
18 when OTHERS then
19 RAISE;
20 end;
21
22 begin
23 DBMS_XMLSCHEMA_ANNOTATE.disableMaintainDom(V_XML_SCHEMA,FALSE);
24 exception
25 when GENERIC_ERROR or NO_MATCHING_NODES then
26 NULL;
27 when OTHERS then
28 RAISE;
29 end;
30
31 XDB_EDIT_XMLSCHEMA.fixRelativeURLs(V_XML_SCHEMA,V_SCHEMA_LOCATION_HINT);
32
33 -- SQLType names for global complex types :-
34
53
54 -- SQLType names for global elements based on local complex types :-
55
56 DBMS_XMLSCHEMA_ANNOTATE.setSQLType(V_XML_SCHEMA,'Y', 'Y17823_T');
57
58 DBMS_XMLSCHEMA.registerSchema
59 (
60 SCHEMAURL => V_SCHEMA_LOCATION_HINT
61 ,SCHEMADOC => V_XML_SCHEMA
62 ,LOCAL => TRUE
63 ,GENTYPES => TRUE
64 ,GENTABLES => TRUE
65 ,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
66 );
67 end;
68 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:03.24
SQL> declare
2 GENERIC_ERROR exception;
3 PRAGMA EXCEPTION_INIT( GENERIC_ERROR , -31061 );
4
5 NO_MATCHING_NODES exception;
6 PRAGMA EXCEPTION_INIT( NO_MATCHING_NODES , -64405 );
7
8 V_XML_SCHEMA XMLType := xdburitype('/public/TXLIFE/TxLife/TxLife/XMLife2.18.02.xsd').getXML();
9 V_SCHEMA_LOCATION_HINT VARCHAR2(700) := 'http://xmlns.ACORD.org/schemas/Life/2/TxLife/XMLife2.18.02.xsd';
10 begin
11 XDB_EDIT_XMLSCHEMA.expandGroups(V_XML_SCHEMA);
12 XDB_EDIT_XMLSCHEMA.applySQLTypeMappings(V_XML_SCHEMA);
13 begin
14 DBMS_XMLSCHEMA_ANNOTATE.disableDefaultTableCreation(V_XML_SCHEMA);
15 exception
16 when GENERIC_ERROR or NO_MATCHING_NODES then
17 NULL;
18 when OTHERS then
19 RAISE;
20 end;
21
22 begin
23 DBMS_XMLSCHEMA_ANNOTATE.disableMaintainDom(V_XML_SCHEMA,FALSE);
24 exception
25 when GENERIC_ERROR or NO_MATCHING_NODES then
26 NULL;
27 when OTHERS then
28 RAISE;
29 end;
30
31 XDB_EDIT_XMLSCHEMA.fixRelativeURLs(V_XML_SCHEMA,V_SCHEMA_LOCATION_HINT);
32
33 -- SQLType names for global complex types :-
34
838
839 -- Out-of-Line mappings for 1000 Column optimization :-
840
841 DBMS_XMLSCHEMA_ANNOTATE.setOutOfLine(V_XML_SCHEMA,DBMS_XDB_CONSTANTS.XSD_COMPLEX_TYPE,'Policy_Type', 'Life', 'LIFE_TABLE');
842 DBMS_XMLSCHEMA_ANNOTATE.setOutOfLine(V_XML_SCHEMA,DBMS_XDB_CONSTANTS.XSD_COMPLEX_TYPE,'Holding_Type', 'Policy', 'POLICY_TABLE');
843 DBMS_XMLSCHEMA.registerSchema
844 (
845 SCHEMAURL => V_SCHEMA_LOCATION_HINT
846 ,SCHEMADOC => V_XML_SCHEMA
847 ,LOCAL => TRUE
848 ,GENTYPES => TRUE
849 ,GENTABLES => TRUE
850 ,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
851 );
852 end;
853 /
PL/SQL procedure successfully completed.
Elapsed: 02:12:40.05
SQL> declare
2 GENERIC_ERROR exception;
3 PRAGMA EXCEPTION_INIT( GENERIC_ERROR , -31061 );
4
5 NO_MATCHING_NODES exception;
6 PRAGMA EXCEPTION_INIT( NO_MATCHING_NODES , -64405 );
7
8 V_XML_SCHEMA XMLType := xdburitype('/public/TXLIFE/TxLife/TxLife/TXLife2.18.02.xsd').getXML();
9 V_SCHEMA_LOCATION_HINT VARCHAR2(700) := 'http://xmlns.ACORD.org/schemas/Life/2/TxLife/TXLife2.18.02.xsd';
10 begin
11 XDB_EDIT_XMLSCHEMA.expandGroups(V_XML_SCHEMA);
12 XDB_EDIT_XMLSCHEMA.applySQLTypeMappings(V_XML_SCHEMA);
13 begin
14 DBMS_XMLSCHEMA_ANNOTATE.disableDefaultTableCreation(V_XML_SCHEMA);
15 exception
16 when GENERIC_ERROR or NO_MATCHING_NODES then
17 NULL;
18 when OTHERS then
19 RAISE;
20 end;
21
22 begin
23 DBMS_XMLSCHEMA_ANNOTATE.disableMaintainDom(V_XML_SCHEMA,FALSE);
24 exception
25 when GENERIC_ERROR or NO_MATCHING_NODES then
26 NULL;
27 when OTHERS then
28 RAISE;
29 end;
30
31 XDB_EDIT_XMLSCHEMA.fixRelativeURLs(V_XML_SCHEMA,V_SCHEMA_LOCATION_HINT);
32
33 -- SQLType names for global complex types :-
34
93
94 -- SQLType names for global elements based on local complex types :-
95
96 DBMS_XMLSCHEMA_ANNOTATE.setSQLType(V_XML_SCHEMA,'VendorName', 'VendorName19032_T');
97
98 DBMS_XMLSCHEMA.registerSchema
99 (
100 SCHEMAURL => V_SCHEMA_LOCATION_HINT
101 ,SCHEMADOC => V_XML_SCHEMA
102 ,LOCAL => TRUE
103 ,GENTYPES => TRUE
104 ,GENTABLES => TRUE
105 ,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
106 );
107 end;
108 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:23.91
SQL>
SQL>
SQL> --
SQL> begin
2 if (:BINARY_XML = DBMS_XMLSCHEMA.REGISTER_BINARYXML) then
3 XDB_ANALYZE_SCHEMA.setSchemaRegistrationOptions(P_OPTIONS => DBMS_XMLSCHEMA.REGISTER_BINARYXML);
4 end if;
5 XDB_ANALYZE_SCHEMA.tableCreationScript(:TARGET_FOLDER, :TARGET_NAMESPACE);
6 end;
7 /
PL/SQL procedure successfully completed.
Elapsed: 00:02:05.74
SQL> set echo off
-- Table creation for namespace "http://ACORD.org/Standards/Life/2"
CREATE TABLE "TXLIFE_TABLE" of XMLTYPE
XMLTYPE STORE AS OBJECT RELATIONAL
XMLSCHEMA "http://xmlns.ACORD.org/schemas/Life/2/TxLife/TXLife2.18.02.xsd" ELEMENT "TXLife"
SQL> set verify on
SQL> set timing on
SQL> -
set pages 100 lines 256SQL> --
SQL> select TABLE_NAME
2 from USER_XML_TABLES
3 order by TABLE_NAME
4 /
TABLE_NAME
ArrDestination19465_TAB
Attachment19139_TAB
Axis19114_TAB
CriteriaExpression19527_TAB
Key19113_TAB
LIFE_TABLE
LogicalExpression19304_TAB
MinBalanceCalcRule19399_TAB
POLICY_TABLE
9 rows selected.
Elapsed: 00:00:00.28
SQL> --
SQL> @&TARGET_DIRECTORY/doTableCreation
SQL> -- Table creation for namespace "http://ACORD.org/Standards/Life/2"
SQL>
SQL> CREATE TABLE "TXLIFE_TABLE" of XMLTYPE
2 XMLTYPE STORE AS OBJECT RELATIONAL
3 XMLSCHEMA "http://xmlns.ACORD.org/schemas/Life/2/TxLife/TXLife2.18.02.xsd" ELEMENT "TXLife"
4 /
Table created.
Elapsed: 00:44:48.28
SQL>
SQL>
SQL>
SQL> --
SQL> set pages 100 lines 256
SQL> --
SQL> select TABLE_NAME
2 from USER_XML_TABLES
3 order by TABLE_NAME
4 /
TABLE_NAME
ArrDestination19465_TAB
Attachment19139_TAB
Axis19114_TAB
CriteriaExpression19527_TAB
Key19113_TAB
LIFE_TABLE
LogicalExpression19304_TAB
MinBalanceCalcRule19399_TAB
POLICY_TABLE
TXLIFE_TABLE
10 rows selected.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
C:\xdb\schemas\ACORD\TxLife>sqlplus /nolog @doInsert
SQL*Plus: Release 11.2.0.2.0 Production on Fri Nov 26 19:21:04 2010
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> spool doInsert.log
SQL> --
SQL> def USERNAME = TXLIFE
SQL> --
SQL> def PASSWORD = &USERNAME
SQL> --
SQL> connect &USERNAME/&PASSWORD
Connected.
SQL> --
SQL> set autotrace on explain
SQL> --
SQL> set pages 50 lines 320 timing on
SQL> --
SQL> insert into TXLIFE_TABLE values (XMLTYPE(bfilename('&USERNAME','TXLife2.18.02.xml'),nls_charset_id('AL32UTF8')))
2 /
old 1: insert into TXLIFE_TABLE values (XMLTYPE(bfilename('&USERNAME','TXLife2.18.02.xml'),nls_charset_id('AL32UTF8')))
new 1: insert into TXLIFE_TABLE values (XMLTYPE(bfilename('TXLIFE','TXLife2.18.02.xml'),nls_charset_id('AL32UTF8')))
1 row created.
Elapsed: 00:00:07.47
Execution Plan
Plan hash value: 1
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | INSERT STATEMENT | | 1 | 100 | 1 (0)| 00:00:01 |
| 1 | LOAD TABLE CONVENTIONAL | TXLIFE_TABLE | | | | |
SQL> commit
2 /
Commit complete.
Elapsed: 00:00:00.00
SQL> select t.*
2 from TXLIFE_TABLE,
3 XMLTABLE
4 (
5 xmlNamespaces
6 (
7 default 'http://ACORD.org/Standards/Life/2'
8 ),
9 'for $req in /TXLife/TXLifeRequest
10 for $criteria in $req/CriteriaExpression/Criteria
11 return $criteria'
12 passing OBJECT_VALUE
13 COLUMNS
14 PROPERTY_NAME VARCHAR2(128) path 'PropertyName',
15 PROPERTY_VALUE VARCHAR2(128) path 'PropertyValue'
16 ) t
17 /
PROPERTY_NAME PROPERTY_VALUE
LastName String
GovtID String
GovtIDTc String
ResidenceState String
ActivityTypeCode String
ActivityDescription String
UserCode String
ActivityTypeCode String
ActivityStatus String
ActivityTypeCode String
Closed String
Closed String
String String
13 rows selected.
Elapsed: 00:00:00.09
Execution Plan
Plan hash value: 2596235546
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 13 | 52572 | 7 (15)| 00:00:01 |
|* 1 | HASH JOIN | | 13 | 52572 | 7 (15)| 00:00:01 |
| 2 | NESTED LOOPS | | 2 | 60 | 3 (0)| 00:00:01 |
| 3 | TABLE ACCESS FULL| SYS_NTxIzy/t2MTJi3su0dzM0wNA== | 2 | 40 | 3 (0)| 00:00:01 |
|* 4 | INDEX UNIQUE SCAN| SYS_C00526537 | 1 | 10 | 0 (0)| 00:00:01 |
| 5 | TABLE ACCESS FULL | SYS_NT/uoSkJDrREukAxygzDQwUA== | 13 | 52182 | 3 (0)| 00:00:01 |
Predicate Information (identified by operation id):
1 - access("NESTED_TABLE_ID"="SYS_ALIAS_0"."SYS_NC0013500136$")
4 - access("NESTED_TABLE_ID"="TXLIFE_TABLE"."SYS_NC0004100042$")
Note
- dynamic sampling used for this statement (level=2)
SQL> -
How to optimize the column width in Table Control
Hi all,
When I am displaying fields in Table Control, the columns are displayed in full length, and I am unable to see all the fields at once.
So as in grid , where we optimize the column width using layout, do we had any property for TC to do so.
thanks for your help.
Points would be awarded .
Regards,
Anil .Hi,
In Se51, you can do this one, ust open your table control and resize the TC, there is no direct option to do this for entire TC, you need to do this field by field, and arrage the TC to adjust in a Single screen. In the field parameters, you have the field lenghts, there you can minimize the length of a field
Regards
Sudheer
Maybe you are looking for
-
My ipod touch says no wifi what can i do to fix it
why does my ipod touch say no wifi
-
Error Function module " " not found in Smartforms
Hi all, Please help me out . I created the form using the smartforms, check it and activated it. I can see the unique function module is assigned to the form. I wrote the ABAP program and use function module SSF_FUNCTION_MODULE_NAMEand also define
-
I have Windows Vista 64-bit. I can't play on-line games on Pogo. I already contacted Pogo & they told me to update flash player. Firefox disabled by plugin for flash. I can't get the most updated Adobe flash player because it doesn't support 64-bit.
-
I'm writting my own class loader which is inherited from java.land.ClassLoader * Want to load class from an encoded format. I override findClass(String) method, decode the class data, and call defineClass method to define a new class * Want to reload
-
This seemed to happen very suddenly; I left my iMac running while i went out and came in to find that the screen was totally unusable, as you will be able to see from the picture it has a lot of lines that seem to come and go a random and sometimes i