Using expdp to export a mix of tables with data and tables without data
Hi,
I would like to create a .dmp file using expdp, exporting a set of tables with data and another set without data. Is there a way to do this in a single .dmp file? For example, I want all the tables in a schema with data, but for the fact tables in that schema, I only want the fact table objects, not the data. I thought it might be easier to create two separate .dmp files, one for each scenario, but would be nice to have one .dmp file that satisfies my requirement. Any help is appreciated.
Thanks,
-Rodolfo
Edited by: user6902559 on May 11, 2010 12:05 PM
You could do this with where clauses. Let's say you have 10 tables to export, 5 with data and 5 without data. I would do it like this
tab1_w_data
tab2_w_data
tab3_w_data
tab4_w_data
tab5_w_data
tab1_wo_data
tab2_wo_data
tab3_wo_data
tab4_wo_data
tab5_wo_data
I would make one generic query
query="where rownum = 0"
and I would make 5 specific queries
query=tab1_w_data:"where rownum > 0"
query=tab2_w_data:"where rownum > 0"
query=tab3_w_data:"where rownum > 0"
query=tab4_w_data:"where rownum > 0"
query=tab5_w_data:"where rownum > 0"
The first query will be applied to all tables that don't have their own specific query and it will export no rows, the next 5 will apply to each of the corresponding table.
Dean
Similar Messages
-
Internal table with Import and Export
Hi All,
Hi all
Please let me know the use of <b>Internal table with Import and Export parameters and SET/GET parameters</b>, on what type of cases we can use these? Plese give me the syntax with some examples.
Please give me detailed analysis on the above.
Regards,
PrabhuHi Prabhakar,
There are three types of memories.
1. ABAP MEMORY
2. SAP MEMORY
3. EXTERNAL MEMORY.
1.we will use EXPORT/ IMPORT TO/ FROM MEMORY-ID when we want to transfer between ABAP memory
2. we will use GET PARAMETER ID/ SET PARAMETER ID to transfer between SAP MEMORY
3. we will use EXPORT/IMPORT TO/FROM SHARED BUFFER to transfer between external memory.
ABAP MEMORY : we can say that two reports in the same session will be in ABAP MEMORY
SAP MEMORY: TWO DIFFERENT SESSIONS WILL BE IN SAP MEMORY.
for ex: IF WE CALL TWO DIFFERENT TRANSACTIONS SE38, SE11
then they both are in SAP MEMORY.
EXTERNAL MEMORY: TWO different logons will be in EXTERNAL MEMORY.
<b>Syntax</b>
To fill the input fields of a called transaction with data from the calling program, you can use the SPA/GPA technique. SPA/GPA parameters are values that the system stores in the global, user-specific SAP memory. SAP memory allows you to pass values between programs. A user can access the values stored in the SAP memory during one terminal session for all parallel sessions. Each SPA/GPA parameter is identified by a 20-character code. You can maintain them in the Repository Browser in the ABAP Workbench. The values in SPA/GPA parameters are user-specific.
ABAP programs can access the parameters using the SET PARAMETER and GET PARAMETER statements.
To fill one, use:
SET PARAMETER ID <pid> FIELD <f>.
This statement saves the contents of field <f> under the ID <pid> in the SAP memory. The code <pid> can be up to 20 characters long. If there was already a value stored under <pid>, this statement overwrites it. If the ID <pid> does not exist, double-click <pid> in the ABAP Editor to create a new parameter object.
To read an SPA/GPA parameter, use:
GET PARAMETER ID <pid> FIELD <f>.
This statement fills the value stored under the ID <pid> into the variable <f>. If the system does not find a value for <pid> in the SAP memory, it sets SY-SUBRC to 4, otherwise to 0.
To fill the initial screen of a program using SPA/GPA parameters, you normally only need the SET PARAMETER statement.
The relevant fields must each be linked to an SPA/GPA parameter.
On a selection screen, you link fields to parameters using the MEMORY ID addition in the PARAMETERS or SELECT-OPTIONS statement. If you specify an SPA/GPA parameter ID when you declare a parameter or selection option, the corresponding input field is linked to that input field.
On a screen, you link fields to parameters in the Screen Painter. When you define the field attributes of an input field, you can enter the name of an SPA/GPA parameter in the Parameter ID field in the screen attributes. The SET parameter and GET parameter checkboxes allow you to specify whether the field should be filled from the corresponding SPA/GPA parameter in the PBO event, and whether the SPA/GPA parameter should be filled with the value from the screen in the PAI event.
When an input field is linked to an SPA/GPA parameter, it is initialized with the current value of the parameter each time the screen is displayed. This is the reason why fields on screens in the R/3 System often already contain values when you call them more than once.
When you call programs, you can use SPA/GPA parameters with no additional programming overhead if, for example, you need to fill obligatory fields on the initial screen of the called program. The system simply transfers the values from the parameters into the input fields of the called program.
However, you can control the contents of the parameters from your program by using the SET PARAMETER statement before the actual program call. This technique is particularly useful if you want to skip the initial screen of the called program and that screen contains obligatory fields.
Reading Data Objects from Memory
To read data objects from ABAP memory into an ABAP program, use the following statement:
Syntax
IMPORT <f1> [TO <g 1>] <f 2> [TO <g 2>] ... FROM MEMORY ID <key>.
This statement reads the data objects specified in the list from a cluster in memory. If you do not use the TO <g i > option, the data object <f i > in memory is assigned to the data object in the program with the same name. If you do use the option, the data object <f i > is read from memory into the field <g i >. The name <key> identifies the cluster in memory. It may be up to 32 characters long.
You do not have to read all of the objects stored under a particular name <key>. You can restrict the number of objects by specifying their names. If the memory does not contain any objects under the name <key>, SY-SUBRC is set to 4. If, on the other hand, there is a data cluster in memory with the name <key>, SY-SUBRC is always 0, regardless of whether it contained the data object <f i >. If the cluster does not contain the data object <f i >, the target field remains unchanged.
Saving Data Objects in Memory
To read data objects from an ABAP program into ABAP memory, use the following statement:
Syntax
EXPORT <f1> [FROM <g 1>] <f 2> [FROM <g 2>] ... TO MEMORY ID <key>.
This statement stores the data objects specified in the list as a cluster in memory. If you do not use the option FROM <f i >, the data object <f i > is saved under its own name. If you use the FROM <g i > option, the data objet <g i > is saved under the name <f i >. The name <key> identifies the cluster in memory. It may be up to 32 characters long.
Check this link.
http://www.sap-img.com/abap/difference-between-sap-and-abap-memory.htm
Thanks,
Susmitha.
Reward points for helpful answers. -
WHATS THE USE OF TABLE STRIP CONTROL AND TABLE VIEW CONTROL
WHATS THE USE OF TABLE STRIP CONTROL AND TABLE VIEW CONTROL
Subhash,
You create and distribute a model in BD64. The details of that are stored in this tables.
A model gives you the details of the sender / receiving systems and what are the message types that are getting transferred between these systems.
Regarding the IDOC segments issue, can you explaing how are you triggering the IDOC and which message / idoc type you are dealing with.
Regards,
Ravi
Note :Please mark the helpful answers
Message was edited by: Ravikumar Allampallam -
Runtime error in Dynamic internal table with AMOUNT and Quantity Fields..
Dear friends,
I am attempting write a dymanic Select Statement (with joins).
And the sleect query looks like this..
SELECT (LT_SEL_LIST)
INTO CORRESPONDING FIELDS OF
TABLE <DYN_TABLE>
FROM (LT_FROM_LIST)
WHERE (LT_WHERE3).
Here the into table is a dynamically created internal table..
which is created by ...this
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
EXPORTING
IT_FIELDCATALOG = IT_OUTPUT2[]
IMPORTING
EP_TABLE = DY_TABLE.
the it_output2 contains the the fieldcatlog information of dynamically given fields :-
like:-
TABNAME
FIELDNAME
DATATYPE
LENG
INTTYPE
ROLLNAME
DECIMALS
REFTABLE
REFFIELD
i mean the internal table is constructed with reference to all the bove metadata.
Problem:- This query run fine with all the fields Except AMOUNT AND QUANTITY fields....
When the selection list contain VBAK-NETWR or MSEG-MENGE..It throws a runtime error.
"The data read during a SLECT access couldnt be inserted into the target field,either conversion is not supported for
the target field's type or the target field is too short."
after this I even tried to construct the dynamic table with CFILEDNAME and QFIELDNAME in the Fieldcatalog.
so now my fieldcatlog looks like this:---
LOOP AT IT_DD03L..
IF IT_DD03L-DATATYPE = 'CURR'.
TABLEFIELD-CFIELDNAME = IT_DD03L-FIELDNAME .
ENDIF.
IF IT_FIELDCAT3-DATATYPE = 'QUAN'.
TABLEFIELD-QFIELDNAME = IT_DD03L-FIELDNAME .
ENDIF.
TABLEFIELD-TABNAME = IT_DD03L-TABNAME.
TABLEFIELD-FIELDNAME = IT_DD03L-FIELDNAME.
TABLEFIELD-DATATYPE = IT_DD03L-DATATYPE.
TABLEFIELD-INTLEN = IT_DD03L-LENG.
TABLEFIELD-INTTYPE = IT_DD03L-INTTYPE .
TABLEFIELD-ROLLNAME = IT_DD03L-ROLLNAME.
TABLEFIELD-DECIMALS = IT_DD03L-DECIMALS.
TABLEFIELD-REF_TABLE = IT_DD03L-REFTABLE.
TABLEFIELD-REF_FIELD = IT_DD03L-REFFIELD.
APPEND TABLEFIELD.
CLEAR TABLEFIELD.
ENDLOOP.
Note:- this is a test code so ignore performance issues...
Please help me with some code ...to avoid the Runtime erorr.
Thanks,
jeevan.Hi Jeevan,
Why are moving only few fields from DD03L table to your field catalog? Why don't you use move-corresponding? The following code works for me in ECC6.0.
data: it_dd03l type table of dd03l initial size 0,
ls_dd03l type dd03l,
lt_fldcat TYPE lvc_t_fcat,
ls_fldcat TYPE lvc_s_fcat,
ls_where(72) TYPE c,
lt_where LIKE TABLE OF ls_where,
lt_fld LIKE TABLE OF ls_where,
lt_data_dy TYPE REF TO data.
field-symbols: <ft_data> TYPE STANDARD TABLE.
select * into table it_dd03l from dd03l
where tabname = 'VBAK'
and ( fieldname = 'VBELN' or fieldname = 'NETWR' ).
check sy-subrc eq 0.
loop at it_dd03l into ls_dd03l.
move-corresponding ls_dd03l to ls_fldcat.
append ls_fldcat to lt_fldcat.
move ls_dd03l-fieldname to ls_where.
append ls_where to lt_fld.
if ls_dd03l-fieldname = 'VBELN'.
clear ls_where.
concatenate ls_dd03l-fieldname ' <> ''''' into ls_where.
append ls_where to lt_where.
endif.
endloop.
check not lt_fldcat is initial.
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = lt_fldcat
IMPORTING
ep_table = lt_data_dy
EXCEPTIONS
generate_subpool_dir_full = 1
OTHERS = 2.
IF sy-subrc <> 0.
RAISE no_configuration_data.
ENDIF.
ASSIGN lt_data_dy->* TO <ft_data>.
check sy-subrc eq 0.
select (lt_fld) from VBAK into corresponding fields of table
<ft_data>
where (lt_where).
Thanks
Bala -
Hi,
I need to put a table with in a Table pop in. I am able to achieve the table but the I am unable to display different data for each pop in. action.
Example.
Table has 3 records
Row 1
Row 2
Row 3
On expanding Row1 using pop in I am able to display the table.
On expanding Row 2, leaving Row 1 expanded, changes the data in both the Areas, showing data of Row 2.
Could you please help in resolving the issue.Hi Prasanth,
To display different data inside the table popin, create child node inside the parent node.
Parent_node(0....n)
Child_node( 0....n )
Create a supply function for CHILD_NODE and on select of any row in parent table, write the logic to fill data of child node . Bind this child node to TABLE_POPIN's table
Now, if you select row1, you can fill child node in supply function and it populates the data,
similarly, it works for other rows as well
Hope this helps you.
Regards,
Rama -
Upload text file to oracle table with checking and aggregation
Hi Friends,
I am new to ODI. I have encountered a problem which is specific to ODI 11G (11.1.1.6.3) to upload text file to oracle table with checking and aggregation. Would you please teach me how to implement the following requirement in ODI 11G?
Input text file a:
staffCode, staffCat, status, data
input text file b:
staffCodeStart, staffCodeEnd, staffCat
temp output oracle table c:
staffCat, data
output oracle table d:
staffCat, data
order:
a.staffCode, a.staffCat, a.status
filter:
a.status = ‘active’
join:
a left outerjoin b on a.staffCode between b.staffCodeStart and b.staffCodeEnd
insert temp table c:
c.staffCat = if b.staffCat is not null then b.staffCat else a.staffCat
c.data = a.data
insert table d:
if c.staffCat between 99 and 1000 then d.staffCat = c.staffCat, d.data = sum(c.data)
else d.staffCat = c.staffCat, d.data = LAST(c.data)
Any help on fixing this is highly appreciated. Thanks!!
Thanks,
ChrisDear Santy,
Many thanks for your prompt reply. May I have more information about the LAST or SUM step?
I was successful to create and run the following interfaces p and q
1. Drag text file a to a newly created interface panel p
2. Filter text file a : a.status = ‘active’
3. Lookup text file a to text file b : a.staffCode between b.staffCodeStart and b.staffCodeEnd
4. Drag oracle temp table c to interface panel p
5. Set c.staffCat : CASE WHEN b.staffCat IS NULL THEN a.staffCat ELSE b.staffCat END
6. Set c.data : a.data
7. Drag oracle temp table c to a newly created interface panel q
8. Drag oracle table d to interface panel q
9. Set UK to d.staffCat
10. Set Distinct Rows to table d
11. Set d.staffCat = c.staffCat
12. Set d.data = SUM(c.data)
However, the interface q should be more than that:
If c.staffCat is between 99 and 1000, then d.data = the last record c.data; else d.data = sum(c.data)
Would you please teach me how to do the LAST or SUM steps? Moreover, can interface p and interface q be combined to one interface and do not use the temp table c? Millions thanks!
Regards,
Chris -
Internal table with Dynamic and Non dynamic fileds
Hi Experts,
How to get the internal table with Dynamic and Non-Dynamic Fields.
Could u please help me.
Thanks,
VarunHi,
Execute the below sample code or analyze it there is appropriate description provided.
*& Report ZTEST_PRM_DYN_ALV
REPORT ZTEST_PRM_DYN_ALV.
type-pools: slis.
field-symbols: <dyn_table> type standard table,
<dyn_wa>.
data: alv_fldcat type slis_t_fieldcat_alv,
it_fldcat type lvc_t_fcat.
selection-screen begin of block b1 with frame title text-001.
parameters: p_flds(5) type c.
selection-screen end of block b1.
start-of-selection.
*build the dynamic internal table
perform build_dyn_itab.
*write 5 records to the alv grid
do 5 times.
perform build_report.
enddo.
*call the alv grid.
perform call_alv.
*Build_dyn_itab
form build_dyn_itab.
data: new_table type ref to data,
new_line type ref to data,
wa_it_fldcat type lvc_s_fcat.
*Create fields .
clear wa_it_fldcat.
wa_it_fldcat-fieldname = 'name1'.
wa_it_fldcat-datatype = 'mara-matnr'.
wa_it_fldcat-intlen = 5.
append wa_it_fldcat to it_fldcat .
*clear wa_it_fldcat.
wa_it_fldcat-fieldname = sy-index.
wa_it_fldcat-datatype = 'CHAR'.
wa_it_fldcat-intlen = 5.
append wa_it_fldcat to it_fldcat .
do p_flds times.
clear wa_it_fldcat.
wa_it_fldcat-fieldname = sy-index.
wa_it_fldcat-datatype = 'CHAR'.
wa_it_fldcat-intlen = 6.
append wa_it_fldcat to it_fldcat .
enddo.
*Create dynamic internal table and assign to FS
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>.
*Create dynamic work area and assign to FS
create data new_line like line of <dyn_table>.
assign new_line->* to <dyn_wa>.
endform.
*Form build_report
form build_report.
data: fieldname(20) type c.
data: fieldvalue(5) type c.
data: index(3) type c.
field-symbols: <fs1>.
do p_flds times.
index = sy-index.
*Set up fieldvalue
concatenate 'FLD' index into
fieldvalue.
condense fieldvalue no-gaps.
assign component index of structure <dyn_wa> to <fs1>.
<fs1> = fieldvalue.
enddo.
*Append to the dynamic internal table
append <dyn_wa> to <dyn_table>.
endform.
*CALL_ALV
form call_alv.
data: wa_cat like line of alv_fldcat.
*clear wa_cat.
wa_cat-fieldname = 'matnr'.
wa_cat-seltext_s = sy-index.
wa_cat-outputlen = '10'.
append wa_cat to alv_fldcat.
do p_flds times.
clear wa_cat.
wa_cat-fieldname = sy-index.
wa_cat-seltext_s = sy-index.
wa_cat-outputlen = '6'.
append wa_cat to alv_fldcat.
enddo.
*Call ABAP List Viewer (ALV)
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
it_fieldcat = alv_fldcat
tables
t_outtab = <dyn_table>.
endform.
Hope this will help, reward if found usefull.
Cheers,
Ram. -
SQLJ calling PL/SQL with records and tables as parameters
Has anyone used sqlj to to call procedures with records and
tables as IN, OUT, or INOUT as parameters? If so how do you
assign values to the IN parameter in the record/tables, and get
values out of the record/table when it is passed back? Might
anyone have any syntax?
nullOne thing I forgot to mention: If you're an 8i client, then in
8.1.6 you'll be able to use JPublisher to solve this problem,
since it'll generate these wrappers for you.
Pierre
Oracle Product Development Team wrote:
: Hi,
: The key issue is that no part of Oracle code except PL/SQL is
: aware of the PL/SQL Record types and PL/SQL "index-by" table
: types.
: So the only way to call a PL/SQL procedure with args of a
RECORD
: or "index-by" table types is from another PL/SQL routine.
: In most cases, it's possible to work-around this by wrappering
: your PL/SQL method with another which doesn't have this issue.
: For example, if you're trying to call procedure proc01 in:
: package pack01 is
: type rec01 is record(n1 number, d1 date);
: procedure proc01 (r rec01);
: end;
: you can create a wrapper method:
: package pack01_wrapper is
: procedure proc01_wrapper (n1 number, d1 date);
: end;
: package body pack01_wrapper is
: procedure proc01_wrapper (n1 number, d1 date) is
: r pack01.rec01;
: begin
: r.n1 := n1;
: r.d1 := d1;
: pack01.proc01;
: end;
: end;
: If you're a 7.3 client, that's about all you can do. The Fix
was
: introduced in 8.0, where new structured types (ADT's) and new
: table types (VARRAY's and Nested tables) were introduced. So
if
: you're an 8.0 client, your 'wrapper' package could use an ADT
: which has the same attributes as the record, rather than
: 'exploding' the record into its individual components as I
showed
: above.
: Hope this helps!
: Pierre
: Thomas Richardson (guest) wrote:
: : Has anyone used sqlj to to call procedures with records and
: : tables as IN, OUT, or INOUT as parameters? If so how do you
: : assign values to the IN parameter in the record/tables, and
get
: : values out of the record/table when it is passed back? Might
: : anyone have any syntax?
: Oracle Technology Network
: http://technet.oracle.com
Oracle Technology Network
http://technet.oracle.com
null -
How to compare table data and table field
Hi buddy,
I have some question about how to compare table data and table field.
1. I know there is one method: CL_ABAP_UNIT_ASSERT=>ASSERT_TABLE_CONTAINS , it use in unit test to compare the table data(A and B) , you can loop table A into structure A1, then use this mehtod it can compare whether table B contain structure A1. but when I try to use this in main program it will dump.
CL_ABAP_UNIT_ASSERT=>ASSERT_TABLE_CONTAINS(
LINE = A1
TABLE = B ).
Is there any method or FM can be used to compare the table data ?
2. I also want to compare two table field , try to find out the different. How to realize this.
Thank you for your sincerely answer.Hi Zongjie,
What`s the difference, if you using loop A into wa_A, read table B into wa_B with all field, then compare with wa_A and wa_B.
The question 2, seems no standard FM available here.
Loop A into wa_A.
Loop B into wa_B.
if wa_A-field1 eq wa_B-field1.
endif.
if wa_A-field2 eq wa_B-field2.
endif.
endloop.
endloop.
regards,
Archer -
The table with Name of 'Table Name' does not exist.An error occurred when loading the Model.
We get this error when we try to check the properties of an analysis server using SQL Server Management studio(right click the instance name
and check properties). We have resolved this issue twice by Stopping the SQL Server analysis service,removing db folders from Analysis Server Data folder and starting the services back on. The db folder that we removed was advised by the BI team.
The SQL Server Analysis Server is 2012 SP1Hi RB_ORIPW,
The table with name of 'XXX' doesn't exist.
An error occurred when loading the model(Micorsoft.AnalysisServices)
If I understanding correctly, you encounter the error randomly, now what you want it that avoid this issue completely, other than stop the services, detele the db filder and restart the services, right?
The error might be caused by that the data file is corrupted. However, we cannot give you the exact reason that cause this issue. You can troubleshoot this issue by using the Windows Event logs and msmdsrv.log.
You can access Windows Event logs via "Administrative Tools" --> "Event Viewer". SSAS error messages will appear in the application log.
The msmdsrv.log file for the SSAS instance that can be found in \log folder of the instance. (C:\Program Files\Microsoft SQL Server\MSAS10.MSSQLSERVER\OLAP\Log)
Here is a blog about data collection for troubleshooting Analysis Services issues, please see:
Data collection for troubleshooting Analysis Services issues
Besides, here is fix that describe the similar issue, and it was fixed in Cumulative Update 7 for SQL Server 2012 SP1, please refer to the link below to see the details.
http://support.microsoft.com/kb/2897263/en-us
Regards,
Charlie Liao
If you have any feedback on our support, please click
here.
Charlie Liao
TechNet Community Support -
Material Master Data and PO Master Data Table
Dear SAP Gurus and Expert,
Currently user is having a new integration system which link to SAP, and they require the migration of Material MAster Data and PO master data.
As a result of that, what table can be accessed in SE16 in order to get all the material master data and PO master data to be exported to excel fil format.
Thank you
RegardsHi,
For material master data
MARA General Material Data
MARC Plant Data for Material
MAKT Material Descriptions
MARD Storage Location Data for Material
You can enter MA* in SE16 and press F4 too get all the tables according to the views.
For Purchase order
EKKO
EKPO
EKBE
EKKN
Search for EK* in SE16. -
Can anybody give me the table with tcode and its development class
can anybody give me the table with tcode and its development class
Hi phani,
1) First retrieve program name from tstc table I.e field pgmna.
2) Using pgmna retrieve from tadir table by using the following criteria from tadir table
pgmid = 'R3TR'
AND object = 'PROG'
AND obj_name = tstc-pgmna.
We will get development class or package in tadir i.e
tadir-devclass
Thanks,
Naveen Kumar. -
How to Create a Table with Merge and partitions in HANA
Hi,
What is the best way to create a Table with MERGE and PARTITION and UNLOAD PRIORITIES.
Any body can you please give me some examples.
Regards,
DevaOk,
1) the UNLOAD PRIORITY has nothing to do with the order of data loads in your ETL process
2) Unloading of columns will happen automatically. Don't specify anything specific for the tables, then SAP HANA will take care about it
3) Not sure where you get your ideas from, but there is no need to manually "flush" tables or anything like that. SAP HANA will take care of memory housekeeping.
4) Partitioning and how to specify it for tables has been largely documented. Just read up on it.
5) Delta Merge will happen automatically, as long as you don't prevent it (e.g. by trying to outsmart the mergedog rules)
Seriously, I get the impressions that this list of requirements is based on some hear-say and lack of actual information and experience with SAP HANA. There are a couple of extensive discussions on data loading optimization available here in SCN and on SAPHANA.COM. Please read those first.
All this had been discussed broadly a couple of times.
- Lars -
Using attribute as a set of data and parsing this data
Hi everyone,
I present below a (little) challenge with the use of attributes in XQuery. Consider the following XML document:
<showroom>
<car id="1">
<name>Clio</name>
<family>Renault</family>
</car>
<car id="n">
<name>Q5</name>
<family>Audi</family>
</car>
</showroom>
Each client of the showroom is identified by a unique Id (e.g., 1,2,3,....). Then, i want to add some data to my XML document which should represent, for each car, the set of all clients' Id that have rented this car.
The desired XML document could look like this:
<showroom>
<car id="1">
<name>Clio</name>
<family>Renault</family>
+*<history>*+
+*<client id="2"/>*+
+*<client id="23"/>*+
+*</history>*+
</car>
<car id="n">
<name>Q5</name>
<family>Audi</family>
+*<history>*+
+*<client id="56"/>*+
+*</history>*+
</car>
</showroom>
However, by using elements in order to represent the rental historic, the document's size will increase significantly.
As i use only the clients' id, are there any way to represent the history data using only attributes ?+.
In the following document, the clients' id are represented, as a set, through the attribute +@history+:
<showroom>
<car id="1" history="2,23">
<name>Clio</name>
<family>Renault</family>
</car>
<car id="n" history="56">
<name>Q5</name>
<family>Audi</family>
</car>
</showroom>
However, are there any way to check if a given car of id='x' has been rented by a client of Id='y' ?+.
Does someone know how to represent the history data (sequence of clients' id), using only attributes, and how to look for a given client's id as explained above ?
Please suggest. I appreciate your help.The two following documents represent examples of the showroom data and the clients' data respectively:
First document:
<showroom>
<car id="1">
<name>Clio</name>
<family>Renault</family>
</car>
<car id="n">
<name>Q5</name>
<family>Audi</family>
</car>
</showroom>
Second document:
<clients>
<client id="2">
<name>...</name>
<firstname>...</firstname>
<driverLicence serialNumber="2156311"/>
</client>
</clients>
The DTDs of these documents are defined as follows:
The showroom DTD:
<!ELEMENT showroom (car)*>
<!ELEMENT car (name,family)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT family (#PCDATA)>
<!ELEMENT N3 (#PCDATA)>
<!ATTLIST car id ID #REQUIRED>
The clients DTD:
<!ELEMENT clients (client)*>
<!ELEMENT client (name,firstname,driverLicence)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT driverLicence EMPTY>
<!ATTLIST client id ID #REQUIRED>
<!ATTLIST driverLicence serialNumber ID #REQUIRED>
Whenever a car is rented, I must add some information either in the same showroom document (it will be better for me) or in another document which relies rented car id with the id of the client which rented this car.
Thanks in advance for your help. -
Export Billing Configuration with CIN and Foreign Trade Data
Hi,
I need detail configuration of Export billing with CIN and foreign trade data for my understnading the configuration process for export billing process.
Thanks in advanceDear Tarun
I feel you need detailed configuration of CIN.
Two diffrent CIN configurations supported bySAP
TAXINJ & TAXINN. First is formula based & second is conditions based
Search in SDN you will get many threads.
Regards
Deepu Pilla
Maybe you are looking for
-
How do I add a drop down Shadow with Photoshop Elements 12
I am having the greatest dificulty adding a shadow eccect to my photo, the tutorial is nothing like the software I am using, I have made the layers the back ground then croped my immage made i wanted to place on the background but when I try and use
-
I have a 20 gig 4th generation Ipod that I keep getting the battery charge status icon showing up. I have plugged the ipod into an outlet and allowed it to charge for 24+ hours, but the icon keeps coming up. I am also getting the "sad ipod icon" and
-
Hello, I created a search scope for active users, and I also created a navigation bar to be redirected to this searchscope but i don't have the new and delete button ? Is someone has any idea ? Regards
-
Adobe Reader X with Outlook 2010 preview pane
Hi all, We have an Windows 2003 32bits Terminal Server with Outlook 2010 installed. We also use Adobe Reader X. But the preview pane gives us an error: We tried re-installing the reader, but that didnt helped. I know there where some issues with 64bi
-
Can I upgrade macbook with Tiger (10.4.11) to Lion?
I have a macbook with Tiger (10.4.11). Is it possible to upgrade to Lion? Or do I have to purchase a new computer? I have a fair amount of free space on the computer and I also have a 500GB external hard drive. Right now it won't even recognize my iP