How distinguish different type of objects?
I want to send different types of object form server to client and vice versa.
How I differentiate which object come
I am successfully working with ObjetcOutputStream .
Thank you for reply
Similar Messages
-
How to distinguish the type of object that came in the JMS message.
I have a queue that has 4 different object's being sent through messages across the queue. Depending on the object that comes in I need to determine what process to start. I have created a master project with a single queue listener that will start the master process. Either before the listener starts the master process or after the master process starts in a method I need to figure out the type of object that was contained in that method. In Java its simply if(msg InstanceOf ObjectB), else if (msg InstanceOf ObjectC)....and so forth. What is the way this would be done in ALBPM6.0's fuego code or whatever it is called?
In case you had an ID, which is assigned automagically on emp, this could also be written like this:
create trigger emp_trig
after insert or update or delete on emp
for each row
begin
insert into emp_log values(
:new.empno, :new.ename,
decode(nvl(:old.id,-1),-1,'Insert',decode(nvl(:new.id,-1),-1,'Delete','Update')), sysdate);
end;
..where -1 is a value you do not expect to be propagated ever in id column. Also, :new.empno and :new.enmae will be null if the dml being executed is a delete statement. -
How load different types of file in SSIS
could you please suggest how can we load different types of file in SSIS. The file metadata is not defined . So the SSIS
package will read the files palced in a defined shared location or folder where based on the column value will determine the datatype on runtime and load the data.Hi SubhadipRoy,
SSIS doesn’t support dynamic data access provider or metadata. That means that we need to use different source adapters for flat files (.csv and .txt) and Excel files. So, in the Control Flow, you can use three Foreach Loop Container: one to loop through
.txt files, one to loop through .csv files, and the last one to loop through Excel files. In each Foreach Loop Container, you use a Data Flow Task to extract data from the corresponding source files.
If the source files have different structures, you need to use Script Component in the Data Flow Task to parse the first row of the source files and create destination table dynamically. Here are two script examples for your reference:
http://www.citagus.com/citagus/blog/importing-from-flat-file-with-dynamic-columns/
http://stackoverflow.com/questions/21672064/ssis-dynamic-column-mapping-in-excel-source-and-destination-sql-server-table
Regards,
Mike Yin
TechNet Community Support -
How select different type views in MM01
Hi abapers,
plz tell me how to handle diffrent different type views in MM01.
thanks in addvancehi,
After the recording, you might see, that the selection of the views is
monething like that: SELECTION(3) = 'X'
SELECTION(4) = 'X'
SELECTION(5) = 'X'
you have to address the selected
views by their index in the table.
in Tcode SHDB, record MM01 transaction only for the MRP1 MRP2 MRP3 and use the same code in ur BDC prog.
Look at the below code for MM01
http://www.sap-img.com/abap/example-how-views-are-dealt-in-bdc.htm
You have + button in the MK01 trasaction code, if you press that you
can enter new record in the table control, so every time, enter a New
record and press that + button, then enter the record then press + , like this we need to handle the table control
Check the links -
bdc -- mm01
MM01 BDC
mm01
example:
Example how Views are dealt in BDC
Can any body tell me some views of MM that we can use in BDC?
***This is a BDC for Semi finished Materials*******
report ZBDC_SEMIFIN
no standard page heading line-size 255.
include bdcrecx1.
Tables: Mara,"General Material Data
mard,"Storage Location Data for Material
mvke,"Sales Data for Material
Makt,"Material Descriptions
marc,"Plant Data for Material
mbew,"Material Valuation
rlgrap."Program Fields/Screen Fields for SAPLGRAP
Data: begin of ITAB occurs 0,"Internal table for Semi-Finished Material
Initial data
matnr like mara-matnr, "Material Code
mbrsh like mara-mbrsh, "Industry Data
mtart like mara-mtart, "Material Type
Org Data
Werks like marc-werks, "Plant
lgort like mard-lgort, "Storage Location
vkorg like mvke-vkorg, "Sales Orgnization
vtweg like mvke-vtweg, "Distribution Chanel
Basic 1
Maktx Like makt-maktx, "Description
meins like mara-meins, "Uom
matkl like mara-matkl, "Material Group
BISMT LIKE MARA-BISMT, " Old Material Number
spart like mara-spart, "Division
brgew(7),"like mara-brgew, "Gross Weight
gewei like MARA-GEWEI, "Weight Unit
ntgew(7)," like mara-ntgew, "Net Weight
Purchasing
MAKTL LIKE MARA-MATKL, "Material Group
ekwsl like MARA-EKWSL, " Purchasing Value Key
ekgrp like MARC-EKGRP, " Purchasing Group
Mrp 1
disgr like MARC-DISGR, "Mrp Group
ekgrp like MARC-EKGRP, "Purchasing group
dismm like MARC-DISMM, "Mrp Type
dispo like MARC-DISPO, "Mrp Controller
disls like MARC-DISLS, "Lot Size
BSTMI like MARC-BSTMI,
BSTMA like MARC-BSTMA,
BSTRF like MARC-BSTRF,
BSTFE like MARC-BSTFE,
Mrp 2
beskz like MARC-BESKZ, "Procurement type
lgpro like MARC-LGPRO, "Production Storage Location
dzeit(3),"like MARC-DZEIT, "In house Production time
plifz(3),"like MARC-PLIFZ, "Planned delivery time
fhori(3),"like MARC-FHORI, "Sched margin key
eisbe like MARC-EISBE, "Safety stock
Mrp 3
PERKZ LIKE MARC-PERKZ,
vrmod like MARC-VRMOD, "Consumption mode
vint1(3)," like MARC-VINT1, "Backward Consumption period
vint2(3),"like MARC-VINT2, "Forward Consumption period
mtvfp like MARC-MTVFP, "Availability Check
Mrp 4
sbdkz like MARC-SBDKZ, "Individual/ Collective
SAUFT like MARC-SAUFT, "Repetitive Manufacturing
SFEPR like MARC-SFEPR, "REM Profile
Work Scheduling View
ausme like MARC-AUSME, "Unit of issue
FEVOR LIKE MARC-FEVOR, "Production Scheduler
SFCPF like MARC-SFCPF, "Production Scheduler Profile
umren(5)," like RMMZU-UMREN, "Val for base uom
umrez(5) ,"like RMMZU-UMREz, "Value for uo issue
Accounting 1
bklas like MBEW-BKLAS, "Valuation Class
vprsv like MBEW-VPRSV, "Price Control Indicator
verpr(7)," like MBEW-VERPR, "Value/Price
STPRS like MBEW-STPRS,
*COSTING
EKALR LIKE MBEW-EKALR," With qty str
LOSGR like MARC-LOSGR, " Costing Lot size
end of ITAB.
Data: W_record type I, "Record Allready exists.
w_trecord type I. "Total record processed
start-of-selection.
perform upload. "Upload Data from Text File
Perform Open_group. "Create a session
clear : w_record,w_trecord.
perform semi. "Create Semi Finish Materials
if w_trecord gt 0 or w_record gt 0.
perform batch_job.
endif.
perform close_group. "Close session
FORM SEMI.
loop at ITAB.
Check for material in master select single * from mara where matnr eq ITAB-matnr.
if sy-subrc ne 0.
w_trecord = w_trecord + 1.
*Initial Screen
perform bdc_dynpro using 'SAPLMGMM' '0060'.
perform bdc_field using 'BDC_CURSOR'
'RMMG1-MTART'.
perform bdc_field using 'BDC_OKCODE'
'=AUSW'.
perform bdc_field using 'RMMG1-MATNR'
ITAB-MATNR.
perform bdc_field using 'RMMG1-MBRSH'
'M'.
perform bdc_field using 'RMMG1-MTART'
'HALB'.
**********************Views*********************************
*Select Views
perform bdc_dynpro using 'SAPLMGMM' '0070'.
perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(17'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'MSICHTAUSW-KZSEL(01)'
'X'.
perform bdc_field using 'MSICHTAUSW-KZSEL(09)'
'X'.
perform bdc_field using 'MSICHTAUSW-KZSEL(12)'
'X'.
perform bdc_field using 'MSICHTAUSW-KZSEL(13)'
'X'.
perform bdc_field using 'MSICHTAUSW-KZSEL(14)'
'X'.
perform bdc_field using 'MSICHTAUSW-KZSEL(15)'
'X'..
perform bdc_field using 'MSICHTAUSW-KZSEL(17)'
'X'.
**********************Views*****************************
*perform bdc_dynpro using 'SAPLMGMM' '0070'.
*perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
*perform bdc_field using 'BDC_OKCODE'
'/00'.
*perform bdc_dynpro using 'SAPLMGMM' '0070'.
*perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(17)'.
*perform bdc_field using 'BDC_OKCODE'
'/00'.
*perform bdc_field using 'MSICHTAUSW-KZSEL(17)'
ITAB-KZSEL_17_011.
*perform bdc_dynpro using 'SAPLMGMM' '0070'.
*perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
*perform bdc_field using 'BDC_OKCODE'
'/00'.
*perform bdc_dynpro using 'SAPLMGMM' '0070'.
*perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(13)'.
*perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
*perform bdc_field using 'MSICHTAUSW-KZSEL(13)'
ITAB-KZSEL_13_012.
*Org Data
perform bdc_dynpro using 'SAPLMGMM' '0080'.
perform bdc_field using 'BDC_CURSOR'
'RMMG1-LGORT'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_field using 'RMMG1-WERKS'
ITAB-WERKS.
perform bdc_field using 'RMMG1-LGORT'
ITAB-LGORT.
*Basic 1
perform bdc_dynpro using 'SAPLMGMM' '4004'.
perform bdc_field using 'BDC_OKCODE'
'=SP09'.
perform bdc_field using 'MAKT-MAKTX'
ITAB-MAKTX.
perform bdc_field using 'MARA-MEINS'
ITAB-MEINS.
perform bdc_field using 'MARA-MATKL'
ITAB-MATKL.
perform bdc_field using 'MARA-BISMT'
ITAB-BISMT.
perform bdc_field using 'MARA-SPART'
ITAB-SPART.
perform bdc_field using 'MARA-MTPOS_MARA'
'NORM'.
perform bdc_field using 'BDC_CURSOR'
'MARA-NTGEW'.
perform bdc_field using 'MARA-BRGEW'
ITAB-BRGEW.
perform bdc_field using 'MARA-GEWEI'
ITAB-GEWEI.
perform bdc_field using 'MARA-NTGEW'
ITAB-NTGEW.
*Purchasing
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'BDC_OKCODE'
'=SP12'.
perform bdc_field using 'MAKT-MAKTX'
ITAB-MAKTX.
perform bdc_field using 'MARA-MEINS'
ITAB-MEINS.
perform bdc_field using 'MARC-EKGRP'
ITAB-EKGRP.
perform bdc_field using 'MARA-MATKL'
ITAB-MATKL.
perform bdc_field using 'BDC_CURSOR'
'MARA-EKWSL'.
perform bdc_field using 'MARA-EKWSL'
ITAB-EKWSL.
*MRP 1
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'BDC_OKCODE'
'=SP13'.
perform bdc_field using 'MAKT-MAKTX'
ITAB-MAKTX.
perform bdc_field using 'MARA-MEINS'
ITAB-MEINS.
perform bdc_field using 'MARC-EKGRP'
ITAB-EKGRP.
perform bdc_field using 'MARC-DISMM'
ITAB-DISMM.
perform bdc_field using 'MARC-DISPO'
ITAB-DISPO.
perform bdc_field using 'BDC_CURSOR'
'MARC-DISLS'.
perform bdc_field using 'MARC-DISLS'
ITAB-DISLS.
IF ITAB-DISLS EQ 'EX' .
perform bdc_field using 'MARC-BSTMI'
ITAB-BSTMI."MIN LOT SIZE
perform bdc_field using 'MARC-BSTMA'
ITAB-BSTMA."MAX LOT SIZE
perform bdc_field using 'MARC-BSTRF'
ITAB-BSTRF."RNDING
ELSEIF ITAB-DISLS EQ 'FX'.
perform bdc_field using 'MARC-BSTFE'
ITAB-BSTFE.
ENDIF.
*MRP 2
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'BDC_OKCODE'
'=SP14'.
perform bdc_field using 'MAKT-MAKTX'
ITAB-MAKTX.
perform bdc_field using 'MARC-BESKZ'
ITAB-BESKZ.
perform bdc_field using 'MARC-LGPRO'
ITAB-LGPRO.
perform bdc_field using 'MARC-DZEIT'
ITAB-DZEIT.
perform bdc_field using 'MARC-PLIFZ'
ITAB-PLIFZ.
perform bdc_field using 'MARC-FHORI'
ITAB-FHORI.
perform bdc_field using 'BDC_CURSOR'
'MARC-EISBE'.
perform bdc_field using 'MARC-EISBE'
ITAB-EISBE.
*MRP 3
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'BDC_OKCODE'
'=SP15'.
perform bdc_field using 'MAKT-MAKTX'
ITAB-MAKTX.
perform bdc_field using 'MARC-PERKZ'
ITAB-PERKZ.
perform bdc_field using 'MARC-VRMOD'
ITAB-VRMOD.
perform bdc_field using 'MARC-VINT1'
ITAB-VINT1.
perform bdc_field using 'MARC-VINT2'
ITAB-VINT2.
perform bdc_field using 'BDC_CURSOR'
'MARC-MTVFP'.
perform bdc_field using 'MARC-MTVFP'
ITAB-MTVFP.
*MRP 4
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'BDC_OKCODE'
'=SP17'.
perform bdc_field using 'MAKT-MAKTX'
ITAB-MAKTX.
perform bdc_field using 'MARC-SBDKZ'
ITAB-SBDKZ.
perform bdc_field using 'BDC_CURSOR'
'MARC-SFEPR'.
perform bdc_field using 'MARC-SAUFT'
ITAB-SAUFT.
perform bdc_field using 'MARC-SFEPR'
ITAB-SFEPR.
*Work Scheduling
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'BDC_OKCODE'
'=SP24'.
perform bdc_field using 'MAKT-MAKTX'
ITAB-MAKTX.
perform bdc_field using 'BDC_CURSOR'
'MARC-SFCPF'.
perform bdc_field using 'MARA-MEINS'
ITAB-MEINS.
perform bdc_field using 'MARC-FEVOR'
ITAB-FEVOR.
perform bdc_field using 'MARC-LGPRO'
ITAB-LGPRO.
perform bdc_field using 'MARC-SFCPF'
ITAB-SFCPF.
perform bdc_field using 'MARC-DZEIT'
ITAB-DZEIT.
*Check for Conversation Factor
if ITAB-MEINS ne iTAB-ausme and iTAB-umren gt 0
and iTAB-umrez gt 0.
perform bdc_dynpro using 'SAPLMGMM' '0510'.
perform bdc_field using:
'BDC_OKCODE' '=ENTR',
'RMMZU-UMREN' ITAB-UMREN,
'RMMZU-UMREZ' ITAB-UMREZ.
endif.
perform bdc_field using 'MARC-LGPRO'
itab-LGPRO.
perform bdc_field using 'MARC-DZEIT'
itab-DZEIT.
*Accounting
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'BDC_OKCODE'
'=SP26'.
perform bdc_field using 'MAKT-MAKTX'
ITAB-MAKTX.
perform bdc_field using 'MARA-MEINS'
ITAB-MEINS.
perform bdc_field using 'MARA-SPART'
ITAB-SPART.
perform bdc_field using 'BDC_CURSOR'
'MBEW-STPRS'.
perform bdc_field using 'MBEW-BKLAS'
ITAB-BKLAS.
perform bdc_field using 'MBEW-VPRSV'
ITAB-VPRSV.
perform bdc_field using 'MBEW-STPRS'
ITAB-STPRS.
IF ITAB-VPRSV = 'S'.
perform bdc_field using 'MBEW-STPRS' "FILLS STD PRICE
ITAB-VERPR.
ELSEIF ITAB-VPRSV ='V'.
perform bdc_field using 'MBEW-VERPR' "FILLS VALUE
ITAB-VERPR.
ENDIF.
*Cost Estimate
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
perform bdc_field using 'MAKT-MAKTX'
ITAB-MAKTX.
perform bdc_field using 'BDC_CURSOR'
'MARC-PRCTR'.
perform bdc_field using 'MARA-MEINS'
ITAB-MEINS.
perform bdc_field using 'MBEW-EKALR'
ITAB-EKALR.
perform bdc_field using 'MARC-LOSGR'
ITAB-LOSGR.
perform bdc_transaction using 'MM01'.
REFRESH BDCDATA.
else.
w_record = w_record + 1.
endif.
ENDLOOP.
ENDFORM.
form Upload.
CALL FUNCTION 'UPLOAD'
EXPORTING
CODEPAGE = ' '
FILENAME = ' '
FILETYPE = ' '
TABLES
DATA_TAB = ITAB
EXCEPTIONS
CONVERSION_ERROR = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
GUI_REFUSE_FILETRANSFER = 6
OTHERS = 7.
ENDFORM.
form batch_job.
uline.
format color col_heading.
if w_trecord gt 0.
Write:/ 'Background Job has been Created for ',
w_trecord right-justified, 'Semi-Fin', 80 ''.
write:/ 'Please follow the following steps to run this job',
80 ''.
write:/ 'as listed below.', 80 ''.
format color col_normal.
skip.
write:/05 '1.Goto Transaction SM35', 80 ''.
write:/05 '2.Select your Session Name', 80 ''.
write:/05 '3.Click On Execute Button', 80 ''.
endif.
if w_record gt 0.
format color col_negative.
write:/ w_record ,'records already existed', 80 ''.
format color off.
endif.
uline.
endform. -
What are the different type of projects
i mean how many different type of projects are there in sap implementation..
what do you mean by,
enhancement project
rollout project
development project
support project
is there any thing else other than this?
please clear my doubt.
points would be rewarded.
thank you.Check the link:
http://help.sap.com/saphelp_sm40/helpdata/en/ba/38c93a37c59122e10000000a114084/content.htm
Implementation Project
Project to implement business processes in an SAP landscape.
Create a project structure from the business processes. You can either create a new project structure, or base it on one of the following:
One or more user or partner templates
An existing project
Scenarios and configuration structures delivered by SAP
An existing production solution landscape
Template Project
A project to create a template.
A template makes your project structure, or parts of it, with its assigned objects (documentation, test cases, IMG activities), available to other projects.
You can lock templates, completely or partially, against changes when they are used in other projects. To use templates in other systems, transport them.
Template projects are especially suited to SAP partner solutions or global rollout.
Upgrade Project
A project to upgrade existing systems.
In an upgrade project you can:
Upgrade customizing: Upgrade existing functions
and/or
Delta customizing: Copy additional functions
Optimization project
A project to optimize the flow of business processes, or the use of a software solution.
You can use optimization projects, for example, in SAP Services.
Safeguarding project
A project to resolve a critical situation in the implementation or use of an SAP solution.
Safeguarding projects show the reasons for a critical situation and coordinate the steps required to resolve the problems.
Maintenance project
A project to maintain a solution
in Change Request Management. The project contains all maintenance activities and urgent corrections of a solution.
in Check-In/Check-Out Business Processes from the Solution Directory
Regards
Edited by: Sravan Prakash.V on Dec 28, 2007 12:25 PM -
How To Remove "Type" Column from Discoverer Worksheet List Portlet
Is there a way to remove the "Type" column from Discoverer List of Worksheets portlet? I can see where to remove Modified Date, Creation Date, etc., but it doesn't from there allow me to remove the "Type" column. My users don't care whether it's a Workbook or Worksheet, and it's taking up valuable page real estate.
Thanks!No and Yes.
No because the UI does not provide you a way to do that. Because you can have in the List of Worksheets portlet different types of objects - workbooks as well as worksheets - we decided that it was going to be less confusing to people if they always got to see the type of object they would be opening if they clicked on the worksheet/workbook link.
Yes because you can hack the appropriate UIX file to remove the lines that are responsible for displaying the Type column. But, and I cannot say this enough: do it at your own risk, it is not supported, and Oracle Support will be unable to help you should run into issues.
Look for a step-by-step writeup on the blog later this week.
Thanks
Abhinav
Oracle Business Intelligence Product Management
BI on Oracle: http://www.oracle.com/bi/
BI on OTN: http://www.oracle.com/technology/products/bi/
Discoverer: http://www.oracle.com/technology/products/discoverer/
BI Software: http://www.oracle.com/technology/software/products/ias/devuse.html
Documentation: http://www.oracle.com/technology/documentation/appserver1012.html
BI Samples: http://www.oracle.com/technology/products/bi/samples/
Blog: http://oraclebi.blogspot.com/ -
I have a problem while typing in my MacBook pro. it is showing different characters when i type. for example: qw`e§r]t[y= this is how when we type "qwerty|" can anyone help me pls?
You could just try changing your Input Sources under System Preferences>Language & Text:
But I kind of doubt that's going to work. It may be a hardware problem or a system problem. If you take it into Apple they might be able to determine which and might advise a reinstallation of System software. I would take it to an Apple Store or an AASP but, first, make sure that you have a backup just in case they suggest a clean install of the system.
Good luck,
Clinton -
How can I get the program to recognize two different types of thermocouples?
I am using a PCI-4351 card with a TBX-68T terminal block. I was having trouble writing and finding a program that would give me more than one reading/sec. I found a program on the NI website called "435x_logger_triggering", and so far it is the only program that I have found that will actually collect data at 60 Hz. Unfortunately, this program only lets you specify one mode for your thermocouples. This is a problem because we are using two thermocouples, one is type K and the other is a type R, so we get bad readings from one of the thermocouples depending on which mode it is set on. I would like to know how I can program in a seperate mode for each channel in this program. Un
fortunately, some of the sub VI's in this program are password protected, so I don't know if this is possible. Everything is entered correctly in the Measurement and Automation explorer, so that isn't the problem. I will attach a copy of the program that I am using. I have modified it slightly from the one I got off the NI website, so that the thermocouple readings have a time stamp and are saved to disk. Any assistance you could give me would be greatly appreciated.
Thanks,
Jordan
Attachments:
Forest_Fire_Thermocouple.vi 140 KB
435xlogger_triggering.vi 110 KBJordan,
You should be able to sample two different thermocouples in the example that ships with the 435x driver called "Getting Started with multiple tranducers Continous". Simply put each type of thermocouple in a different index . Each index of the Transducer Group Array can have a different type and specify the channels that correspond to that type.
One way that you can speed this VI up is to place a wait inside of the while loop. This will reduce the number of times the software polls the card if it has available data(increasing the overhead). I would suggest about 500 ms. The data that you receive will all have the same delta t because the sampling clock is hardware driven not software, so it does matter when the data is polled.
You will not be
able to get 60 samples per second when you are measuring multiple channels anyway. The sample rate for multiple channels is about 9/(# channels). This is explained in the 435x Users Manual.
I looked at your code and noticed that you tried to change some of the enumeration controls. Unfortunately you will not be able to change these because they are password protected on the low level subVIs, which is where they are defined.
The way you select if you want the notch filter is in the 435x Config you specify fast or slow. If it is slow then it will select 10Hz as the nitch filter. If you select fast the it will select either 50 or 60Hz You would then use the function "435x Set power line frequency"
Good luck,
Mike -
How to create multiple TYPES of objects from one menu?
Q: How can I create a single class to create objects of multiple 'object classes' in a way that is not a huge switch statement?
Explaination:
Let's say that I have an application that I am building, that manages five hundred object types. A properly-built object subclassing tree is created, and I want to be able to create objects of any 'leaf node' of this subclassing tree using a single 'objectCreate()' method in a 'factory object'. The purpos of this method will be to create an instance of the correct object, pass a handle to a few collections for properly sorting and storing these objects in groups.
Usually, one could create a switch in this function, testing for the type of object that the user wants to create from the menu. But in the case of having hundreds of possible object choices, this becomes harder and harder code to maintain (let alone performance).
Any suggestions?But if my menu has:
1. German Shepard
2. Doberman Pinscher
3. Malamut
4. Persian Long-hair
5. Siamese
6. Tabby
And my object class tree goes:
[ Animal ]
[ Cat ] [ Dog ]
[ various breeds ] [ various breeds ]How do I code the menu class to respond to the input, so that it runs the correct [breed] object's constructor?
The line:
Animal choice = new xxxxxxxx();
I can't use a variable to replace 'xxxxxxxx' in run-time, but having a ton of choices in code sounds/looks unreasonable.
if (choice == "Doberman Pinscher")
Animal choice = new doberman();
else if (choice == "Tabby")
Animal choice = new tabby();
Do you see what I am trying to avoid? I am not experienced enough to instantly realize how to avoid the latter, and instead, do a single instantiation command for the correct constructor. -
How to divide big serialized object in parts to be able to save as Blob typ
Hi,
Actually i have serialize a big XML document object and want to save in a field of type Blob. As Blob size is 64k. So if the serialized object is greater than 64k. It gives me error of size.Can anybody tell how to break large serialized objects.
I am using this code
File f = new File("out.ser");
FileInputStream fin = new FileInputStream(f);
p = farCon.prepareStatement("insert into TeeColor values('3',?)");
p.setBinaryStream(1, fin, f.length());
p.executeUpdate();
This code works fine if the size of out.ser file is less than 64k. But does not work for bigger sizes
Please help me out
ThanksRead your data from the file into a byte array, then extract 64K at a time into a smaller byte array, and use a ByteArrayInputStream for updating the database.
-
How do you apply 2 different types of page numbers in the same document?
How do one apply 2 different types of page numbers in the same document??? I do not want a number on the first page!
Click in the second section text:
Inspector > Layout > Section > Configuration > uncheck Use previous headers and footers
Then go back and simply delete what's in the header/footer of the first section.
Peter -
How to get different sum value by different types of record in sql server
Hi,I have my query result like below
AppID LabType DiaType LabPrice DiaPrice
1
a
b 100 1000
1 a
cc 100 1000
1
aa b 100 1000
1 aa cc
100 1000
1
aaa b 100 1000
1 aaa cc 100
1000
from this query
select
app.AppointmentId,
lr.LabPrice,
lt.LabCategoryType,
drt.DiagnosisReportType,
dr.DiaPrice as diaprice,
from Appointment app
left join DiagnosisReport dr on app.AppointmentId=dr.AppointmentId
left join DiagnosisReportType drt on dr.DiagnosisReportTypeId=drt.DiagnosisReportTypeId
left join LabCategoryReport lr on lr.AppointmentId=app.AppointmentId
left join LabCategoryType lt on lt.LabCategoryTypeId=lr.LabCategoryTypeId
where app.DeleteStatus='N'
and app.AppointmentId='MLM-Appointment-60314748311012015'
and dr.DeleteStatus='N'
and lr.DeleteStatus='N'
But I want following one line result by getting two sum result for 3 different types of Lab and 2 different
type of Dia.
AppID LabPrice DiaPrice
1 300 2000
Please, can anyone give me any idea or help how to get only one record query result.
Thanks in advanced.
SupermanPlease follow basic Netiquette and post the DDL we need to answer this. Follow industry and ANSI/ISO standards in your data. You should follow ISO-11179 rules for naming data elements. You failed. You should follow ISO-8601 rules for displaying temporal
data. We need to know the data types, keys and constraints on the table. Avoid dialect in favor of ANSI/ISO Standard SQL. And you need to read and download the PDF for:
https://www.simple-talk.com/books/sql-books/119-sql-code-smells/
>> I have my query result like below <<
So you show us a result and expect that we can guess! Wow! We are magical! Did you ever read Douglas Adams? The answer is 42! Now find
the question.
Also, you have things like “lab_category_type” in this code. Is it a category or a type? In a valid data model that follow ISO-11179 rules you could have a “lab_category” or “lab_type” but never a mixed hybrid. In one of my books, I had something like “lab_category_type_id”
as a joke; it was so stinking awful that I never dreamed any programmer would really do this!
Also OUTER JOINs a rare in a valid schema. A good design will have DRI so you know you have matches. Since a table is a set, their names are plural or collective; but you have only one appointment according to your unseen DDL. And only one “Diagnosis_Report”,
etc.
Now think about “Lab_Category_Types” as a table. Regardless of how this ambiguous mess is resolved, it will be an attribute. An attribute is in a column, not an entity like you are modeling it. If it has a few static values then use a CHECK( x IN (..)) constraint.
If it is dynamic or large, then use a REFERENCES. Never use a join like this.
That silly, magical “delete_status” looks like an assembly language flag. This is what we did with tape files in the 1950's. We would have a bit in the front of records and flip it. Later a program would move the active records to a new tape. Ask yourself
why everything in the universe would share a common attribute. Such an attribute would be so generic as to be useless or (your case) it would be meta data and not part of the entity at all. Oh, rows are not records; you got that wrong too.
Why do you keep prices in integers? Currency is decimal. Sure wish we had DDL. My guess is that this should look more like this simpler, faster query.
SELECT APP.appointment_id,
LT.lab_type, LR.lab_price,
DRT.diagnosis_type, DR.diagnosis_price
FROM Appointments AS APP
LEFT OUTER JOIN
(SELECT appointment_id, diagnosis_type,
SUM(diagnosis_price) AS diagnosis_price_tot
FROM Diagnosis_Reports AS DR
GROUP BY appointment_id, diagnosis_type)
AS DR
ON APP.appointment_id = DR.appointment_id
LEFT OUTER JOIN
(SELECT appointment_id, lab_type, SUM(lab_price)lab_price_tot
FROM Lab_Reports
GROUP BY appointment_id, lab_type)
AS LR
ON APP.appointment_id = LR.appointment_id
WHERE APP.appointment_id = 'MLM-APPOINTMENT-60314748311012015';
--CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
in Sets / Trees and Hierarchies in SQL -
How to find the type of objects contained in a Stored Package?
Hello,
I need to populate all the procedures and functions contained in a package. I have rewritten a query like this
"SELECT PROCEDURE_NAME FROM ALL_PROCEDURES WHERE OBJECT_NAME = 'MYPACKAGENAME'
Above Query returns a record, having NULL PROCEDURE_NAME value. Why?
I also want the 'type' of object (stored procedure/function ) contained in the a package.
How to fetch it?
Following query always returns object type 'PACKAGE', which is of no use for me. I want to know if it is stored procedure or function.
SELECT PROCEDURE_NAME, *OBJECT_TYPE* FROM ALL_PROCEDURES WHERE OBJECT_NAME = 'MYPACKAGENAME'
Cheers,
MachhindraHi,
Just thinkin Out of Box way... :-
Microsoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.
F:\Documents and Settings\Administrator>sqlplus scott/tiger@service1
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Sep 26 21:49:03 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> CREATE OR REPLACE PACKAGE emp_mgmt AS
2 FUNCTION hire (last_name VARCHAR2, job_id VARCHAR2,
3 manager_id NUMBER, salary NUMBER,
4 commission_pct NUMBER, department_id NUMBER)
5 RETURN NUMBER;
6 FUNCTION create_dept(department_id NUMBER, location_id NUMBER)
7 RETURN NUMBER;
8 PROCEDURE remove_emp(employee_id NUMBER);
9 PROCEDURE remove_dept(department_id NUMBER);
10 PROCEDURE increase_sal(employee_id NUMBER, salary_incr NUMBER);
11 PROCEDURE increase_comm(employee_id NUMBER, comm_incr NUMBER);
12 no_comm EXCEPTION;
13 no_sal EXCEPTION;
14 END emp_mgmt;
15 /
Package created.
SQL>
SQL> SELECT PROCEDURE_NAME FROM ALL_PROCEDURES WHERE OBJECT_NAME = 'EMP_MGMT';
PROCEDURE_NAME
CREATE_DEPT
HIRE
INCREASE_COMM
INCREASE_SAL
REMOVE_DEPT
REMOVE_EMP
6 rows selected.
Now you requirement
SQL> SELECT PROCEDURE_NAME,A.OBJECT_NAME,OBJECT_TYPE FROM ALL_PROCEDURES A, USER_OBJECTS UO WHERE UO.OBJECT_NAME = A.O
BJECT_NAME AND A.OBJECT_NAME='EMP_MGMT';
PROCEDURE_NAME OBJECT_NAME
OBJECT_TYPE
REMOVE_EMP EMP_MGMT
PACKAGE
REMOVE_DEPT EMP_MGMT
PACKAGE
INCREASE_SAL EMP_MGMT
PACKAGE
PROCEDURE_NAME OBJECT_NAME
OBJECT_TYPE
INCREASE_COMM EMP_MGMT
PACKAGE
HIRE EMP_MGMT
PACKAGE
CREATE_DEPT EMP_MGMT
PACKAGEIn oder to know the type of Object why don't you simple decribe in order know the Object definition it self.. instead of firing queries...Don't you thinl it easy of use.. !! you will get better Explanation about your Package
SQL> desc EMP_MGMT;
FUNCTION CREATE_DEPT RETURNS NUMBER
Argument Name Type In/Out Default?
DEPARTMENT_ID NUMBER IN
LOCATION_ID NUMBER IN
FUNCTION HIRE RETURNS NUMBER
Argument Name Type In/Out Default?
LAST_NAME VARCHAR2 IN
JOB_ID VARCHAR2 IN
MANAGER_ID NUMBER IN
SALARY NUMBER IN
COMMISSION_PCT NUMBER IN
DEPARTMENT_ID NUMBER IN
PROCEDURE INCREASE_COMM
Argument Name Type In/Out Default?
EMPLOYEE_ID NUMBER IN
COMM_INCR NUMBER IN
PROCEDURE INCREASE_SAL
Argument Name Type In/Out Default?
EMPLOYEE_ID NUMBER IN
SALARY_INCR NUMBER IN
PROCEDURE REMOVE_DEPT
Argument Name Type In/Out Default?
DEPARTMENT_ID NUMBER IN
PROCEDURE REMOVE_EMP
Argument Name Type In/Out Default?
EMPLOYEE_ID NUMBER IN
SQL>- Pavan Kumar N -
How can a type defined in a PL/SQL package be used by an object?
How can a type defined in a PL/SQL package be used by an object?
In the PL/SQL Reference manual it says that object attributes can be
types defined inside a PL/SQL package: How do you make this work?
Here is a sample that demonstrates what I am trying to do:
CREATE OR REPLACE
PACKAGE Phone IS
TYPE Phone_rectype IS RECORD (
Main VARCHAR2(12),
Home VARCHAR2(12),
Business VARCHAR2(12),
Mobile VARCHAR2(12),
Fax VARCHAR2(12),
Pager VARCHAR2(12)
END Phone;
CREATE OR REPLACE
TYPE customer_type
AS OBJECT (
CustNo NUMBER,
CustName VARCHAR2(30),
PhoneNumber Phone.Phone_rectype
This is the error that i get:
Warning: Type created with compilation errors.
Errors for TYPE CUSTOMER_TYPE:
LINE/COL ERROR
0/0 PL/SQL: Compilation unit analysis terminated
5/15 PLS-00201: identifier 'PHONE.PHONE_RECTYPE' must be declared
nullThat's a good point, Justin - thanks for the advice. At the moment, our process of data validation isn't very well defined, so the table definitions aren't always the same beyond a core set. As we get more automated and able to develop table definitions flexible enough to accomodate all the quirks in client data, I may be able to consider moving to a single schema to take advantage of maintenance and performance improvements. My ultimate concern with doing that is that the datasets we're dealing with can be tens of millions of rows in size. Clearly, I'm no DBA, but I just assumed that we would be able to churn through these datasets faster if they were in a schema by themselves rather than lumped together into one huge half-a-billion row table?
-
how to define a schema for fixed length consisting of multiple records of different types having header detail and footer at positions 22 and 23 namely having 10 for header ,20 for detail and 30 for footer.
here is the sample file
DDWTYBILL13092502572 1000000112\\NHLSFS\ORACLE\ORACLE\BILLING\VERIFY\ 2013/09/25 01:19:08 BILLEND
DDWTYBILL13092502572 2000000212PRIVATE PRIVATE STY5572142 010700 INV 12STYD000789 02-AUG-20130000010472 STY STY 1100611006MGIT 91 NNM DIMPHANA,CN,CELESTE NERINA 09-JAN-1964 TYG A2 DR DU PREEZ 5602181 63301345 TB731543 Suspect TB ?CA, (L) EMPIEEM Ward A2 TYGERBERG HOSPITAL Z03.0 Z03.9 05-AUG-201305-AUG-201324-SEP-2013FEND 113.60
DDWTYBILL13092502572 2000000312PRIVATE PRIVATE STY5572149 010700 INV 12STYD000789 02-AUG-20130000010472 STY STY 1100611006MGIT 91 NNM DIMPHANA,CN,CELESTE NERINA 09-JAN-1964 TYG A2 DR DU PREEZ 5602181 63301345 TB731548 Empyema BPF Ward A2 TYGERBERG HOSPITAL Z03.9 Z03.9 05-AUG-201305-AUG-201324-SEP-2013FEND 113.60
DDWTYBILL13092502572 2000000412PRIVATE PRIVATE STY5572351 010700 INV 12STYD000789 02-AUG-20130000010472 STY STY 1100611006MGIT 91 NNM DIMPHANA,CN,CELESTE NERINA 09-JAN-1964 TYG A2 DR DU PREEZ 5602181 63301345 TB731584 Suspect TB ?EMPIEEM, ?CA Ward A2 TYGERBERG HOSPITAL Z03.0 Z03.9 05-AUG-201305-AUG-201324-SEP-2013FEND 113.60
DDWTYBILL13092502572 2000000512PRIVATE PRIVATE STY5572352 010700 INV 12STYD000789 02-AUG-20130000010472 STY STY 1100611006MGIT 91 NNM DIMPHANA,CN,CELESTE NERINA 09-JAN-1964 TYG A2 DR DU PREEZ 5602181 63301345 TB731585 Suspect TB ?EMPIEEM, ?CA Ward A2 TYGERBERG HOSPITAL Z03.0 Z03.9 05-AUG-201305-AUG-201324-SEP-2013FEND 113.60
DDWTYBILL13092502572 2000000612MAJOR MAJOR STY5577530 010700 INV 12ZTYG000009 02-AUG-20130000010472 STY STY 1100611006MGIT 91 NNS ZOZI,S,SIYAMBONGA 27-MAR-2010 TYG D3 DR MAHOMED 5602181 113799662 TB731663 Lymphadenitis Ward D3 TYGERBERG HOSPITAL I88.9 Z03.9 H1 07-AUG-201307-AUG-201324-SEP-2013MEND 58.52
DDWTYBILL13092502572 2000000712MAJOR MAJOR STY5577537 010700 INV 12ZTYG000009 06-AUG-20130000010472 STY STY 1100611006MGIT 91 NNS DLAMINI,N,NTLANTLA 09-OCT-1976 TYG F1 DR WZESE 5602181 135524676 TB731666 Suspect TB Ward F1 TYGERBERG HOSPITAL Z03.0 Z03.9 H1 07-AUG-201314-AUG-201324-SEP-2013MEND 58.52
DDWTYBILL13092502572 30003034120000003032ENDYou can create an nXSD using Native Format Builder and use lookAhead attribute to read values at specific position and use that as the choice. You can find an example here
http://docs.oracle.com/cd/E11036_01/integrate.1013/b28994/nfb.htm#BGBBAJFD
Maybe you are looking for
-
My account has been debited for a total of £49.45p over the course of 2 days, namely 21st and 22nd of January 2013. I / we have not downloaded any music over these 2 days. I expect you to reimburse this money forthwith. Regards Karen jones
-
Access file object from flex web app
Hi all, I want to access file object from flex web app. What should i do? I have to take array from my XML. In XML there will be only dir path. So for taking file name from dir i have to access it and have to perform for loop on that dir. What should
-
Hi, I just bought a Zen Vision and so far I think it is great. I was trolling the Creative site when I came across the Firmware updates. Can anyone tell me if it is worth it to update from .30.02 to .40? Though I am yet to use it I would not like to
-
When I'm presenting using an external projector, the only thing that shows up on the view screen is my desktop screen. It will also display a powerpoint file, but only in slide show mode. No other files (word, excel, etc) or safari will display. H
-
Return delivery with via delivery indicator
I am trying to post return delivery through MIGO transaction, with selecting ' via delivery' indicator. I am getting an error - data for creating a delivery is incomplete (Customer). I am selecting this indicator first time so that I can get delivery