24 03, 2008
Strcuts ¿ª·¢¾ÙÀý
Strcuts ¿ª·¢¾ÙÀý
ÔÚJSPÒ³ÃæµÄformÖÐ
<html:form action="/po/poDocument" styleId="poDocumentForm" method="post">
ÆäÖÐstyleId="poDocumentForm"
¶ÔÓ¦Structs-config.xmlÎļþÖеÄ
<form-bean name="poDocumentForm" type="com.pccw.po.standard.PoDocumentForm" />
com.pccw.po.standard.PoDocumentForm ¾ÍÊÇActionFormÀà.
ÆäÖÐaction="/po/poDocument" ÊôÐÔ¶ÔÓ¦µÄ¾ÍÊÇStructs-config.xmlÖеÄaction±êÇ©ÖÐµÄ path="/po/poDocument Ò²¾ÍÊÇÔÚä¯ÀÀÆ÷ÖеÄÊäÈëµÄÖµ.
¶ÔÓ¦µÄÊÇActionÀàÊÇ com.pccw.po.standard.PoDocumentAction
¶ÔÓ¦Structs-config.xmlÖеÄ
<action name="poDocumentForm" type="com.pccw.po.standard.PoDocumentAction" path="/po/poDocument">
<forward name="display_doc_list" path="/elis/po/po_doc_view.jsp" />
<forward name="Add" path="/elis/po/po_doc_frame.jsp" />
<forward name="AddLine" path="/elis/po/req_ship_to.jsp" />
<forward name="ModifyLine" path="/elis/po/req_ship_detail.jsp" />
<forward name="ShowLine" path="/elis/po/po_doc.jsp" />
<forward name="lineList" path="/elis/po/po_doc_detail.jsp" />
</action>
ËùÒÔÔÚActionForm¿ÉÒÔдһЩ¶ÔÓ¦JSPÒ³ÃæÉϵÄÊäÈëÓòµÄÑéÖ¤Âß¼,µ«ÊÇÖ÷ÒªÂ߼дÔÚActionÀàÖÐ
3 02, 2008
DBA³£ÓÃsql
--¼à¿ØË÷ÒýÊÇ·ñʹÓà alter index &index_name monitoring usage; alter index &index_name nomonitoring usage; select * from v$object_usage where index_name = &index_name;
--ÇóÊý¾ÝÎļþµÄI/O·Ö²¼ select df.name,phyrds,phywrts,phyblkrd,phyblkwrt,singleblkrds,readtim,writetim from v$filestat fs,v$dbfile df where fs.file#=df.file# order by df.name;
--Çóij¸öÒþ²Ø²ÎÊýµÄÖµ col ksppinm format a54 col ksppstvl format a54 select ksppinm, ksppstvl from x$ksppi pi, x$ksppcv cv where cv.indx=pi.indx and pi.ksppinm like '_%' escape '' and pi.ksppinm like '%meer%';
--ÇóϵͳÖнϴóµÄlatch select name,sum(gets),sum(misses),sum(sleeps),sum(wait_time) from v$latch_children group by name having sum(gets) > 50 order by 2;
--Çó¹éµµÈÕÖ¾µÄÇл»ÆµÂÊ(Éú²úϵͳ¿ÉÄÜʱ¼ä»áºÜ³¤) select start_recid,start_time,end_recid,end_time,minutes from (select test.*, rownum as rn from (select b.recid start_recid,to_char(b.first_time,'yyyy-mm-dd hh24:mi:ss') start_time, a.recid end_recid,to_char(a.first_time,'yyyy-mm-dd hh24:mi:ss') end_time,round(((a.first_time-b.first_time)*24)*60,2) minutes from v$log_history a,v$log_history b where a.recid=b.recid+1 and b.first_time > sysdate - 1 order by a.first_time desc) test) y where y.rn < 30
--Ç󻨹ö¶ÎÕýÔÚ´¦ÀíµÄÊÂÎñ select a.name,b.xacts,c.sid,c.serial#,d.sql_text from v$rollname a,v$rollstat b,v$session c,v$sqltext d,v$transaction e where a.usn=b.usn and b.usn=e.xidusn and c.taddr=e.addr and c.sql_address=d.address and c.sql_hash_value=d.hash_value order by a.name,c.sid,d.piece;
--Çó³öÎÞЧµÄ¶ÔÏó select 'alter procedure '||object_name||' compile;' from dba_objects where status='INVALID' and wner='&' and object_type in ('PACKAGE','PACKAGE BODY'); / select owner,object_name,object_type,status from dba_objects where status='INVALID';
--Çóprocess/sessionµÄ״̬ select p.pid,p.spid,s.program,s.sid,s.serial# from v$process p,v$session s where s.paddr=p.addr;
--Çóµ±Ç°sessionµÄ״̬ select sn.name,ms.value from v$mystat ms,v$statname sn where ms.statistic#=sn.statistic# and ms.value > 0;
--Çó±íµÄË÷ÒýÐÅÏ¢ select ui.table_name,ui.index_name from user_indexes ui,user_ind_columns uic where ui.table_name=uic.table_name and ui.index_name=uic.index_name and ui.table_name like '&table_name%' and uic.column_name='&column_name';
--ÏÔʾ±íµÄÍâ¼üÐÅÏ¢ col search_condition format a54 select table_name,constraint_name from user_constraints where constraint_type ='R' and constraint_name in (select constraint_name from user_cons_columns where column_name='&1'); select rpad(child.table_name,25,' ') child_tablename, rpad(cp.column_name,17,' ') referring_column,rpad(parent.table_name,25,' ') parent_tablename, rpad(pc.column_name,15,' ') referred_column,rpad(child.constraint_name,25,' ') constraint_name from user_constraints child,user_constraints parent, user_cons_columns cp,user_cons_columns pc where child.constraint_type = 'R' and child.r_constraint_name = parent.constraint_name and child.constraint_name = cp.constraint_name and parent.constraint_name = pc.constraint_name and cp.position = pc.position and child.table_name ='&table_name' order by child.owner,child.table_name,child.constraint_name,cp.position;
--ÏÔʾ±íµÄ·ÖÇø¼°×Ó·ÖÇø(user_tab_subpartitions) col table_name format a16 col partition_name format a16 col high_value format a81 select table_name,partition_name,HIGH_VALUE from user_tab_partitions where table_name='&table_name'
--ʹÓÃdbms_xplanÉú³ÉÒ»¸öÖ´Ðмƻ® explain plan set statement_id = '&sql_id' for &sql; select * from table(dbms_xplan.display);
--Çóij¸öÊÂÎñµÄÖØ×öÐÅÏ¢(bytes) select s.name,m.value from v$mystat m,v$statname s where m.statistic#=s.statistic# and s.name like '%redo size%';
--ÇócacheÖлº´æ³¬¹ýÆä5%µÄ¶ÔÏó select o.owner,o.object_type,o.object_name,count(b.objd) from v$bh b,dba_objects o where b.objd = o.object_id group by o.owner,o.object_type,o.object_name having count(b.objd) > (select to_number(value)*0.05 from v$parameter where name = 'db_block_buffers');
--ÇóË×èÈûÁËij¸ösession(10g) select sid, username, event, blocking_session, seconds_in_wait, wait_time from v$session where state in ('WAITING') and wait_class != 'Idle';
--ÇósessionµÄOS½ø³ÌID col program format a54 select p.spid "OS Thread", b.name "Name-User", s.program from v$process p, v$session s, v$bgprocess b where p.addr = s.paddr and p.addr = b.paddr UNION ALL select p.spid "OS Thread", s.username "Name-User", s.program from v$process p, v$session s where p.addr = s.paddr and s.username is not null;
--²é»á»°µÄ×èÈû col user_name format a32 select /*+ rule */ lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username user_name, o.owner,o.object_name,s.sid,s.serial# from v$locked_object l,dba_objects o,v$session s where l.object_id=o.object_id and l.session_id=s.sid order by o.object_id,xidusn desc ;
select /*+ rule */ s.username, decode(l.type,'tm','table lock', 'tx','row lock', null) lock_level, o.owner,o.object_name,s.sid,s.serial# from v$session s,v$lock l,dba_objects o where l.sid = s.sid and l.id1 = o.object_id(+) and s.username is not null ;
--ÇóµÈ´ýµÄʼþ¼°»á»°ÐÅÏ¢/Çó»á»°µÄµÈ´ý¼°»á»°ÐÅÏ¢ select se.sid,s.username,se.event,se.total_waits,se.time_waited,se.average_wait from v$session s,v$session_event se where s.username is not null and se.sid=s.sid and s.status='ACTIVE' and se.event not like '%SQL*Net%' order by s.username; select s.sid,s.username,sw.event,sw.wait_time,sw.state,sw.seconds_in_wait from v$session s,v$session_wait sw where s.username is not null and sw.sid=s.sid and sw.event not like '%SQL*Net%' order by s.username; -
-Çó»á»°µÈ´ýµÄfile_id/block_id col event format a24 col p1text format a12 col p2text format a12 col p3text format a12 select sid,event,p1text, p1, p2text, p2, p3text, p3 from v$session_wait where event not like '%SQL%' and event not like '%rdbms%' and event not like '%mon%' order by event; select name,wait_time from v$latch l where exists (select 1 from (select sid,event,p1text, p1, p2text, p2, p3text, p3 from v$session_wait where event not like '%SQL%' and event not like '%rdbms%' and event not like '%mon%' ) x where x.p1= l.latch#);
--Çó»á»°µÈ´ýµÄ¶ÔÏó col owner format a18 col segment_name format a32 col segment_type format a32 select owner,segment_name,segment_type from dba_extents where file_id = &file_id and &block_id between block_id and block_id + blocks - 1;
--Çóbuffer cacheÖеĿéÐÅÏ¢ select o.OBJECT_TYPE, substr(o.OBJECT_NAME,1,10) objname , b.objd , b.status, count(b.objd) from v$bh b, dba_objects o where b.objd = o.data_object_id and o.owner = '&1' group by o.object_type, o.object_name,b.objd, b.status ;
--ÇóÈÕÖ¾ÎļþµÄ¿Õ¼äʹÓà select le.leseq current_log_sequence#, 100*cp.cpodr_bno/le.lesiz percentage_full from x$kcccp cp,x$kccle le where le.leseq =cp.cpodr_seq;
--ÇóµÈ´ýÖеĶÔÏó select /*+rule */ s.sid, s.username, w.event, o.owner, o.segment_name, o.segment_type, o.partition_name, w.seconds_in_wait seconds, w.state from v$session_wait w, v$session s, dba_extents o where w.event in (select name from v$event_name where parameter1 = 'file#' and parameter2 = 'block#' and name not like 'control%') and o.owner <> 'sys' and w.sid = s.sid and w.p1 = o.file_id and w.p2 >= o.block_id and w.p2 < o.block_id + o.blocks
--Çóµ±Ç°ÊÂÎñµÄÖØ×ö³ß´ç select value from v$mystat, v$statname where v$mystat.statistic# = v$statname.statistic# and v$statname.name = 'redo size';
--»½ÐÑsmonÈ¥Çå³ýÁÙʱ¶Î column pid new_value Smon set termout off select p.pid from sys.v_$bgprocess b,sys.v_$process p where b.name = 'SMON' and p.addr = b.paddr / set termout on oradebug wakeup &Smon undefine Smon
--Çó»ØÍËÂÊ select b.value/(a.value + b.value),a.value,b.value from v$sysstat a,v$sysstat b where a.statistic#=4 and b.statistic#=5;
--ÇóDISK READ½Ï¶àµÄSQL select st.sql_text from v$sql s,v$sqltext st where s.address=st.address and s.hash_value=st.hash_value and s.disk_reads > 300;
--ÇóDISK SORTÑÏÖØµÄSQL select sess.username, sql.sql_text, sort1.blocks from v$session sess, v$sqlarea sql, v$sort_usage sort1 where sess.serial# = sort1.session_num and sort1.sqladdr = sql.address and sort1.sqlhash = sql.hash_value and sort1.blocks > 200;
--Çó¶ÔÏóµÄ´´½¨´úÂë column column_name format a36 column sql_text format a99 select dbms_metadata.get_ddl('TABLE','&1') from dual; select dbms_metadata.get_ddl('INDEX','&1') from dual;
--Çó±íµÄË÷Òý set linesize 131 select a.index_name,a.column_name,b.status, b.index_type from user_ind_columns a,user_indexes b where a.index_name=b.index_name and a.table_name='&1';
ÇóË÷ÒýÖÐÐÐÊý½Ï¶àµÄ select index_name,blevel,num_rows,CLUSTERING_FACTOR,status from user_indexes where num_rows > 10000 and blevel > 0 select table_name,index_name,blevel,num_rows,CLUSTERING_FACTOR,status from user_indexes where status <> 'VALID'
--Çóµ±Ç°»á»°µÄSID£¬SERIAL# select sid, serial# from v$session where audsid = SYS_CONTEXT('USERENV','SESSIONID');
--Çó±í¿Õ¼äµÄδÓÿռä col mbytes format 9999.9999 select tablespace_name,sum(bytes)/1024/1024 mbytes from dba_free_space group by tablespace_name;
--Çó±íÖж¨ÒåµÄ´¥·¢Æ÷ select table_name,index_type,index_name,uniqueness from user_indexes where table_name='&1'; select trigger_name from user_triggers where table_name='&1';
--Çó䶨ÒåË÷ÒýµÄ±í select table_name from user_tables where table_name not in (select table_name from user_ind_columns);
--Ö´Ðг£ÓõĹý³Ì exec print_sql('select count(*) from tab'); exec show_space2('table_name'); --Çófree memory select * from v$sgastat where name='free memory'; select a.name,sum(b.value) from v$statname a,v$sesstat b where a.statistic# = b.statistic# group by a.name;
²é¿´Ò»ÏÂËÔÚʹÓÃÄǸö¿ÉÒԵûعö¶Î£¬»òÕ߲鿴һÏÂij¸ö¿ÉÒÔµÃÓû§ÔÚʹÓûعö¶Î£¬ ÕÒ³öÁì»Ø¹ö¶Î²»¶ÏÔö³¤µÄÊÂÎñ£¬ÔÙ¿´¿´ÈçºÎ´¦ÀíËü£¬ÊÇ·ñ¿ÉÒÔ½«Ëücommit£¬ÔÙ²»ÐÐ ¾Í¿´¿´ÄÜ·ñkillËü£¬µÈµÈ,²é¿´µ±Ç°ÕýÔÚʹÓõĻعö¶ÎµÄÓû§ÐÅÏ¢ºÍ»Ø¹ö¶ÎÐÅÏ¢: set linesize 121 SELECT r.name "ROLLBACK SEGMENT NAME ",l.sid "ORACLE PID",p.spid "SYSTEM PID ",s.username "ORACLE USERNAME" FROM v$lock l, v$process p, v$rollname r, v$session s WHERE l.sid = p.pid(+) AND s.sid=l.sid AND TRUNC(l.id1(+)/65536) = r.usn AND l.type(+) = 'TX' AND l.lmode(+) = 6 ORDER BY r.name;
--²é¿´Óû§µÄ»Ø¹ö¶ÎµÄÐÅÏ¢ select s.username, rn.name from v$session s, v$transaction t, v$rollstat r, v$rollname rn where s.saddr = t.ses_addr and t.xidusn = r.usn and r.usn = rn.usn
--Éú³ÉÖ´Ðмƻ® explain plan set statement_id='a1' for &1;
--²é¿´Ö´Ðмƻ® select lpad(' ',2*(level-1))||operation operation,options,OBJECT_NAME,position from plan_table start with id=0 and statement_id='a1' connect by prior id=parent_id and statement_id='a1'
--²é¿´ÄÚ´æÖдæµÄʹÓà select decode(greatest(class,10),10,decode(class,1,'Data',2,'Sort',4,'Header',to_char(class)),'Rollback') "Class", sum(decode(bitand(flag,1),1,0,1)) "Not Dirty",sum(decode(bitand(flag,1),1,1,0)) "Dirty", sum(dirty_queue) "On Dirty",count(*) "Total" from x$bh group by decode(greatest(class,10),10,decode(class,1,'Data',2,'Sort',4,'Header',to_char(class)),'Rollback');
--²é¿´±í¿Õ¼ä״̬ select tablespace_name,extent_management,segment_space_management from dba_tablespaces; select table_name,freelists,freelist_groups from user_tables;
--²é¿´ÏµÍ³ÇëÇóÇé¿ö SELECT DECODE (name, 'summed dirty write queue length', value)/ DECODE (name, 'write requests', value) "Write Request Length" FROM v$sysstat WHERE name IN ( 'summed dirty queue length', 'write requests') and value>0;
--¼ÆËãdata bufferÃüÖÐÂÊ select a.value + b.value "logical_reads", c.value "phys_reads", round(100 * ((a.value+b.value)-c.value) / (a.value+b.value)) "BUFFER HIT RATIO" from v$sysstat a, v$sysstat b, v$sysstat c where a.statistic# = 40 and b.statistic# = 41 and c.statistic# = 42; SELECT name, (1-(physical_reads/(db_block_gets+consistent_gets)))*100 H_RATIO FROM v$buffer_pool_statistics;
--²é¿´ÄÚ´æÊ¹ÓÃÇé¿ö select least(max(b.value)/(1024*1024),sum(a.bytes)/(1024*1024)) shared_pool_used, max(b.value)/(1024*1024) shared_pool_size,greatest(max(b.value)/(1024*1024),sum(a.bytes)/(1024*1024))- (sum(a.bytes)/(1024*1024)) shared_pool_avail,((sum(a.bytes)/(1024*1024))/(max(b.value)/(1024*1024)))*100 avail_pool_pct from v$sgastat a, v$parameter b where (a.pool='shared pool' and a.name not in ('free memory')) and b.name='shared_pool_size';
--²é¿´Óû§Ê¹ÓÃÄÚ´æÇé¿ö select username, sum(sharable_mem), sum(persistent_mem), sum(runtime_mem) from sys.v_$sqlarea a, dba_users b where a.parsing_user_id = b.user_id group by username;
--²é¿´¶ÔÏóµÄ»º´æÇé¿ö select OWNER,NAMESPACE,TYPE,NAME,SHARABLE_MEM,LOADS,EXECUTIONS,LOCKS,PINS,KEPT from v$db_object_cache where type not in ('NOT LOADED','NON-EXISTENT','VIEW','TABLE','SEQUENCE') and executions>0 and loads>1 and kept='NO' order by owner,namespace,type,executions desc; select type,count(*) from v$db_object_cache group by type;
--²é¿´¿â»º´æÃüÖÐÂÊ select namespace,gets, gethitratio*100 gethitratio,pins,pinhitratio*100 pinhitratio,RELOADS,INVALIDATIONS from v$librarycache
--²é¿´Ä³Ð©Óû§µÄhash select a.username, count(b.hash_value) total_hash,count(b.hash_value)-count(unique(b.hash_value)) same_hash, (count(unique(b.hash_value))/count(b.hash_value))*100 u_hash_ratio from dba_users a, v$sqlarea b where a.user_id=b.parsing_user_id group by a.username;
--²é¿´×ÖµäÃüÖÐÂÊ select (sum(getmisses)/sum(gets)) ratio from v$rowcache;
--²é¿´undo¶ÎµÄʹÓÃÇé¿ö SELECT d.segment_name,extents,optsize,shrinks,aveshrink,aveactive,d.status FROM v$rollname n,v$rollstat s,dba_rollback_segs d WHERE d.segment_id=n.usn(+) and d.segment_id=s.usn(+);
--ÎÞЧµÄ¶ÔÏó select owner,object_type,object_name from dba_objects where status='INVALID'; select constraint_name,table_name from dba_constraints where status='INVALID';
--Çó³öij¸ö½ø³Ì£¬²¢¶ÔËü½øÐиú×Ù select s.sid,s.serial# from v$session s,v$process p where s.paddr=p.addr and p.spid=&1; exec dbms_system.SET_SQL_TRACE_IN_SESSION(&1,&2,true); exec dbms_system.SET_SQL_TRACE_IN_SESSION(&1,&2,false);
--Çó³öËø¶¨µÄ¶ÔÏó select do.object_name,session_id,process,locked_mode from v$locked_object lo, dba_objects do where lo.object_id=do.object_id;
--Çóµ±Ç°sessionµÄ¸ú×ÙÎļþ SELECT p1.value || '/' || p2.value || '_ora_' || p.spid || '.ora' filename FROM v$process p, v$session s, v$parameter p1, v$parameter p2 WHERE p1.name = 'user_dump_dest' AND p2.name = 'instance_name' AND p.addr = s.paddr AND s.audsid = USERENV('SESSIONID') AND p.background is null AND instr(p.program,'CJQ') = 0;
--Çó¶ÔÏóËùÔÚµÄÎļþ¼°¿éºÅ select segment_name,header_file,header_block from dba_segments where segment_name like '&1';
--Çó¶ÔÏó·¢ÉúÊÂÎñʱ»ØÍ˶μ°¿éºÅ select a.segment_name,a.header_file,a.header_block from dba_segments a,dba_rollback_segs b where a.segment_name=b.segment_name and b.segment_id='&1'
--9iµÄÔÚÏßÖØ¶¨Òå±í /*Èç¹ûÔÚÏßÖØ¶¨ÒåµÄ±íûÓÐÖ÷¼üÐèÒª´´½¨Ö÷¼ü*/ exec dbms_redefinition.can_redef_table('cybercafe','announcement'); create table anno2 as select * from announcement exec dbms_redefinition.start_redef_table('cybercafe','announcement','anno2'); exec dbms_redefinition.sync_interim_table('cybercafe','announcement','anno2'); exec dbms_redefinition.finish_redef_table('cybercafe','announcement','anno2'); drop table anno2 exec dbms_redefinition.abort_redef_table('cybercafe','announcement','anno2'); --³£ÓõÄlogmnr½Å±¾(cybercafe) exec sys.dbms_logmnr_d.build(dictionary_filename =>'esal',dictionary_location =>'/home/oracle/logmnr'); exec sys.dbms_logmnr.add_logfile(logfilename=>'/home/oracle/oradata/esal/archive/1_24050.dbf', ptions=>sys.dbms_logmnr.new); exec sys.dbms_logmnr.add_logfile(logfilename=>'/home/oracle/oradata/esal/archive/1_22912.dbf', ptions=>sys.dbms_logmnr.addfile); exec sys.dbms_logmnr.add_logfile(logfilename=>'/home/oracle/oradata/esal/archive/1_22913.dbf', ptions=>sys.dbms_logmnr.addfile); exec sys.dbms_logmnr.add_logfile(logfilename=>'/home/oracle/oradata/esal/archive/1_22914.dbf', ptions=>sys.dbms_logmnr.addfile); exec sys.dbms_logmnr.start_logmnr(dictfilename=>'/home/oracle/logmnr/esal.ora'); create table logmnr2 as select * from v$logmnr_contents; -
-ÓëȨÏÞÏà¹ØµÄ×Öµä ALL_COL_PRIVS±íʾÁÐÉϵÄÊÚȨ£¬Óû§ºÍPUBLICÊDZ»ÊÚÓèÕß ALL_COL_PRIVS_MADE±íʾÁÐÉϵÄÊÚȨ£¬Óû§ÊÇÊôÖ÷ºÍ±»ÊÚÓèÕß ALL_COL_RECD±íʾÁÐÉϵÄÊÚȨ£¬Óû§ºÍPUBLICÊDZ»ÊÚÓèÕß ALL_TAB_PRIVS±íʾ¶ÔÏóÉϵÄÊÚȨ£¬Óû§ÊÇPUBLIC»ò±»ÊÚÓèÕß»òÓû§ÊÇÊôÖ÷ ALL_TAB_PRIVS_MADE±íʾ¶ÔÏóÉϵÄȨÏÞ£¬Óû§ÊÇÊôÖ÷»òÊÚÓèÕß ALL_TAB_PRIVS_RECD±íʾ¶ÔÏóÉϵÄȨÏÞ,Óû§ÊÇPUBLIC»ò±»ÊÚÓèÕß DBA_COL_PRIVSÊý¾Ý¿âÁÐÉϵÄËùÓÐÊÚȨ DBA_ROLE_PRIVSÏÔʾÒÑÊÚÓèÓû§»òÆäËû½ÇÉ«µÄ½ÇÉ« DBA_SYS_PRIVSÒÑÊÚÓèÓû§»ò½ÇÉ«µÄϵͳȨÏÞ DBA_TAB_PRIVSÊý¾Ý¿â¶ÔÏóÉϵÄËùÓÐȨÏÞ ROLE_ROLE_PRIVSÏÔʾÒÑÊÚÓèÓû§µÄ½ÇÉ« ROLE_SYS_PRIVSÏÔʾͨ¹ý½ÇÉ«ÊÚÓèÓû§µÄϵͳȨÏÞ ROLE_TAB_PRIVSÏÔʾͨ¹ý½ÇÉ«ÊÚÓèÓû§µÄ¶ÔÏóȨÏÞ SESSION_PRIVSÏÔʾÓû§ÏÖÔÚ¿ÉÀûÓõÄËùÓÐϵͳȨÏÞ USER_COL_PRIVSÏÔʾÁÐÉϵÄȨÏÞ£¬Óû§ÊÇÊôÖ÷¡¢ÊÚÓèÕß»ò±»ÊÚÓèÕß USER_COL_PRIVS_MADEÏÔʾÁÐÉÏÒÑÊÚÓèµÄȨÏÞ£¬Óû§ÊÇÊôÖ÷»òÊÚÓèÕß USER_COL_PRIVS_RECDÏÔʾÁÐÉÏÒÑÊÚÓèµÄȨÏÞ£¬Óû§ÊÇÊôÖ÷»ò±»ÊÚÓèÕß USER_ROLE_PRIVSÏÔʾÒÑÊÚÓè¸øÓû§µÄËùÓнÇÉ« USER_SYS_PRIVSÏÔʾÒÑÊÚÓè¸øÓû§µÄËùÓÐϵͳȨÏÞ USER_TAB_PRIVSÏÔʾÒÑÊÚÓè¸øÓû§µÄËùÓжÔÏóȨÏÞ USER_TAB_PRIVS_MADEÏÔʾÒÑÊÚÓè¸øÆäËûÓû§µÄ¶ÔÏóȨÏÞ£¬Óû§ÊÇÊôÖ÷ USER_TAB_PRIVS_RECDÏÔʾÒÑÊÚÓè¸øÆäËûÓû§µÄ¶ÔÏóȨÏÞ£¬Óû§ÊDZ»ÊÚÓèÕß --ÈçºÎÓÃdbms_stats·ÖÎö±í¼°Ä£Ê½£¿ exec dbms_stats.gather_schema_stats(ownname=>'&USER_NAME',estimate_percent=>dbms_stats.auto_sample_size, method_opt => 'for all columns size auto',degree=> DBMS_STATS.DEFAULT_DEGREE); exec dbms_stats.gather_schema_stats(ownname=>'&USER_NAME',estimate_percent=>dbms_stats.auto_sample_size,cascade=>true); /* FOR ALL [INDEXED | HIDDEN] COLUMNS [size_clause] FOR COLUMNS [size clause] column|attribute [size_clause] [,column|attribute [size_clause]...], where size_clause is defined as size_clause := SIZE {integer | REPEAT | AUTO | SKEWONLY} integer--Number of histogram buckets. Must be in the range [1,254]. REPEAT--Collects histograms only on the columns that already have histograms. AUTO--Oracle determines the columns to collect histograms based on data distribution and the workload of the columns. SKEWONLY--Oracle determines the columns to collect histograms based on the data distribution of the columns */
2 01, 2008
´íÎóÐÞ¸Äɾ³ýÊý¾ÝºóµÄ»Ö¸´·½·¨
¾ßÌå·½·¨ÈçÏ >>
1. ÎÒÃÇ¿ÉÒÔʹÓÃ
SELECT item_cost FROM cst_item_costs
AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' hour)
WHERE organization_id = 1
AND yyyymm = 200712
AND item_number = '6384BLCCSL';
À´²é¿´1¸öСʱǰµÄÊý¾Ý.
* ÕâÀïÐèҪ˵Ã÷¼¸µã:
a. AS OF TIMESTAMP expr ÊÇSELECTÓï¾äÖеÄFLASHBACK×Ó¾ä
b. SYSTIMESTAMP ÊÇϵͳÌṩµÄʱ¼äº¯Êý,¾«È·¶È¿ÉÒԴﵽ΢Ãë¼¶,²¢Ìṩµ±Ç°Ê±Çø
eg. select SYSTIMESTAMP from dual;
SYSTIMESTAMP
---------------------------------------------------------------------------
29-DEC-07 11.16.08.112686 AM +09:00
c. INTERVAL µÄ×÷ÓÃÊÇÓÃÀ´Ö¸¶¨Ê±¼äÇø¼ä,ÏÂÃæÊÇËü²ÎÓëÔËËãµÄ·¨Ôò
Operand1 Operator Operand2 Result Type
-------------------------------------------------------
Datetime - Interval Datetime
ÎÒÃÇ¿ÉÒÔͨ¹ýÐÞ¸Äʱ¼äµ¥Î»ºÍÊýÁ¿À´¸Ä±äµ¹ÍËʱ¼ä
eg. TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' day) --²éѯһÌìǰµÄÊý¾Ý
TIMESTAMP (SYSTIMESTAMP - INTERVAL '10' minute ) --²éѯʮ·ÖÖÓǰµÄÊý¾Ý
TIMESTAMP (SYSTIMESTAMP - INTERVAL '50' second ) --²éѯ50ÃëǰµÄÊý¾Ý
d. ¹ØÓÚÔÚFlashBackÖеĿɻØË·Ê±¼ä
OracleÖÐÓÐÁ½¸ö²ÎÊýÄܹ»¾ö¶¨¿É»ØË·Ê±¼ä >>
undo ±í¿Õ¼ä´óС ºÍ undo_retention ³õʼ»¯²ÎÊý.
Ò»°ãµÄERPÕýʽϵͳÀïÃæµÄ undo tablespace Ϊ 20G×óÓÒ, undo_retentionÉèÖÃΪ 3600S.
ÒµÎñ·±Ã¦Ê±¼ä×î´ó¿É»ØË·Ê±¼äԼΪ 2-3h£¬·ÇÒµÎñʱ¼äΪ4-5h£¬ÕâÀïÐèҪעÒâ: ×î´ó¿É»ØË·Ê±¼äÊÇÓÉ
undo±í¿Õ¼ä´óС¼°Êý¾Ý¿âÊý¾Ý±ä¸üµÄƵ·±³Ì¶ÈÀ´¾ö¶¨µÄ.
Èç¹û³¬¹ý×î´ó¿É»ØË·Ê±¼äʱ,ϵͳ»á¸ø³öÓÐÃûµÄ ORA-01555 ¿ìÕÕÌ«ÀÏ(Snapshot too old)´íÎó.
e. ×öFlashBack±ØÐëÒªÓÐ FlashBack Any Table µÄϵͳȨÏÞ.
2. ÄÇôÒÀ´ËÀàÍÆ,ÎÒÃǾͿÉÒÔÀûÓÃFlashBackÀ´»Ö¸´Ä³¶Îʱ¼äǰµÄÊý¾ÝÁË
UPDATE cst_item_costs SET item_cost =
(SELECT item_cost FROM cst_item_costs
AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' hour)
WHERE organization_id = 1
AND yyyymm = 200712
AND item_number = '6384BLCCSL)
WHERE organization_id = 1
AND yyyymm = 200712
AND item_number = '6384BLCCSL';
* ÕâÀïҲҪ˵Ã÷¼¸µã:
a. ÔÚ»Ö¸´Êý¾Ýǰ,Òª¼ì²éWHEREÌõ¼þÊÇ·ñ¾ßÓÐΨһÐÔ
b. Èç¹ûÒª³ÉÅú»Ö¸´»òÈ«±í»Ö¸´Êý¾ÝµÄ»°,Òª¼ì²éÊÇ·ñÔÚÖ¸¶¨µÄʱ¼äÇø¼äÄÚ»¹ÓÐÆäËû»á»°Ð´ÈëµÄÊý¾Ý
23 11, 2007
ÔÚFORMÈçºÎÖ±½Ó´ðÓ¦±¨±í
1.±¨±íÖ±½Óд³ÉHtml¸ñʽ.
2.È»ºóÔÚϵͳWeb PL/SQLÀïÃæ×¢²á³ÌÐò.
3.ÔÚformµÄ°´Å¥ÀïÃæÌí¼ÓÈçÏ´úÂë.
v_command := fnd_profile.VALUE ('APPS_WEB_AGENT');
v_command := v_command || '/CPOORDIMP_PRN_PKG.POIMP_PRN?p_IMPORT_REQUEST_ID=' || :QPO_HEADER.IMPORT_REQUEST_ID;
22 11, 2007
OAF ÈçºÎ·¢²¼ÄãµÄ¸öÐÔ»¯Îļþ
ÈçºÎ·¢²¼ÄãµÄOAFµÄ¸öÐÔ»¯Îļþ,ʵ¼ÊÉÏOracleÌṩÁËÁ½¸ö±È½ÏÓÐÓõŤ¾ß:XMLExporterºÍXMLImporter,µ«Êǵ¼ÈëµÄʱºòµÄ¸öÐÔ»¯µÄ·¾¶ºÜÄÑÕÒµ½.ÏÂÃæÊÇÎÒ×Ô¼º·¢ÏÖµÄÒ»¸ö·½·¨.¾ÙÀý:
1.ÎÒ°ÑhellowordµÄÒ³Ãæ¸öÐÔ»¯ÁË,¸öÐÔ»¯ÔÚ×éÖ¯²ã,°Ñ±êÇ©µÄprompt¸Ä³ÉÁËcehshi
2. SELECT * FROM jdr_paths
WHERE path_name LIKE '%HelloWorldPG%'
3.SELECT jdr_mds_internal.getDocumentName(44515)
FROM dual
44515ÊÇÉÏÃæSQLµÄ·µ»Ø½á¹û,µ±È»ÉÏÃæµÄSQL»á·µ»Ø¶à¸ö¹û,µ«ÊǸù¾ÝÄãµÄ¸öÐÔ»°,¸ù¾Ýʵ¼Ê¾Í¿ÉÒԵõ½±È½Ï׼ȷµÄ·¾¶.
ʵ¼ÊÉϸöÐÔ»¯´æ·ÅµÄĿ¼ÊÇÓÐÒ»¶¨¹æÔòµÄ.Ò»°ãÈç¹ûÄãÄÜÕÒµ½ÔÎļþµÄ»¯,ÄãµÄ¸öÐÔ»¯µÄ´æ·ÅĿ¼¾ÍºÜÈÝÒ×ÕÒµ½:¹æÔòÈçÏÂ:
+ <component>
+ webui
file1.xml
+ customizations
+ <layer type>
+ <layer value>
file2.xml
file1¾ÍÊÇÔÎļþ,file2¾ÍÊǸöÐÔ»°Îļþ.Öм仹ÓÐlayer type ºÍvalueÕâÁ½¸öĿ¼µÄ¹æÔòÈçÏÂ:
| Level | Level Value |
|---|---|
| Function | Function Code |
| Site | 0 |
| Organization | Organization ID |
| Responsibility | Responsibility ID |
| User | User ID |
½áºÏÎÒµÄÀý×ӾͿÉÒÔÖªµÀÕâ¸öĿ¼½á¹¹,ÎÒÊÇÔÚorg²ã×÷µÄ¸öÐÔ»¯.
org/82
4.telnet È»ºócdµ½ $JAVA_TOP
5.java oracle.jrad.tools.xml.exporter.XMLExporter /oracle/apps/fnd/framework/toolbox/tutorial/webui/customizations/org/82/HelloWorldPG -rootdir $JAVA_TOP/cmcc -username apps -password js818super -dbconnection "(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(Host=10.32.153.44)(PORT = 11501))(CONNECT_DATA = (SID = JSSIT)))"
×¢ÒâÉÏÃæµÄÓï¾ä²»ÒªÓлسµ.
6.ÏÂÃæÊÇÎÒµ¼³öÀ´µÄXMLµÄÎļþ:
<?xml version = '1.0' encoding = 'UTF-8'?>
<customization xmlns="http://xmlns.oracle.com/jrad" version="9.0.5.4.89_555" xml:lang="en-US" customizes="/oracle/apps/fnd/framework/toolbox/tutorial/webui/HelloWorldPG" package="/oracle/apps/fnd/framework/toolbox/tutorial/webui/customizations/org/82">
<modifications>
<modify element="HelloName" prompt="cehshi"/>
</modifications>
</customization>
ÕâÒ»¿´ÉÏÃæµÄpromptµÄÖµ,¾ÍÊÇÎҸĵÄ.
7.È»ºó¾ÍÊÇimportÕâ¸ö¾Í²»ÔÚ˵ÁË,¹ý³ÌºÍexportÒ»Ñù.
¶à˵һÏÂ,OAFµÄ¶àÓïÑԵĸöÐÔ»¯ÊÇÒªÔÚlayer value²ãÔٶཨһ¸öÓïÑÔĿ¼ÏÂÃæÓï¾ä.
1.µ½´¦ÔÀ´µÄXML:
java oracle.jrad.tools.xml.exporter.XMLExporter /oracle/apps/
fnd/wf/worklist/webui/customizations/site/0/
AdvancWorklistRG
-rootdir $APPL_TOP/admin/patch
-username APPSNAME
-password APPSPWD
-dbconnection "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)
(HOST=yourhost)(PORT=yourport))(CONNECT_DATA=
(SID=yoursid)))"2.Éú³ÉUSÓïÑԵİ汾,ÕâÒ»²½ÊDZØÐëµÄ,ËùÒԵķÒë¶¼ÐèÒªÓÃUS°æ×ö»ù´¡.Õâ¸ö¾Í·ÅÔÚÁËUSÎļþ¼ÐÏÂÃæÁË.
java oracle.jrad.tools.trans.extractor.XLIFFExtractor
$APPL_TOP/admin/patch/oracle/apps/fnd/wf/worklist/
webui/customizations/site/0/AdvancWorklistRG.xml
mmd_dir=$OA_HTML/jrad
root=$APPL_TOP/admin/patch
xliff_dir=$APPL_TOP/admin/patch/oracle/apps/fnd/wf/
worklist/webui/customizations/site/0/US/3.È»ºó°ÑUSÎļþ¼ÐÏÂÃæµÄ.xlf Îļþ¿½±´µ½ÄãµÄÐèÒª·ÒëµÄĿ¼Èç:ZHS
cp $APPL_TOP/admin/patch/oracle/apps/fnd/wf/worklist/ webui/customizations/site/0/US/AdvancWorklistRG.xlf $APPL_TOP/ admin/patch/oracle/apps/fnd/wf/worklist/webui/ customizations/site/0/ZHS/AdvancWorklistRG.xlf
4.ÐÞ¸ÄÕâ¸öxlfÎļþ. ÒªÐÞ¸Ä:
target-language="en-US"ºÍ <target>Payment Terms</target>
Ö±½ÓµÄ,Ö±½Ó¸Ä³ÉÖÐÎĵÄÃû³Æ
<?xml version = '1.0' encoding = 'UTF-8'?>
<xliff version="1.0">
<file datatype="jdr" original="PayTermsLOVRN" product-version="$Header: PayTermsLOVRN.xlf 115.1 2003/02/26 19:58:26 jfrost noship $" source-language= "en-US" target-language="en-US" product-name="qp">
<body>
<trans-unit id=".oracle.apps.qp.lov.webui. PayTermsLOVRN..PTName...prompt" translate="yes" maxbytes="4000" maxwidth="26" size-unit="char">
<source>Payment Terms</source>
<target>Payment Terms</target>
<prop-group name="ora_untranslatable">
<prop prop-type="tagName">messageStyledText </prop>
<prop prop-type="attributeName">prompt</prop>
</prop-group>
</trans-unit>
<trans-unit id=".oracle.apps.qp.lov.webui. PayTermsLOVRN..TermId...prompt" translate="yes" maxbytes="4000" maxwidth="14" size-unit="char">
<source>Term Id</source>
<target>Term Id</target>
<prop-group name="ora_untranslatable">
<prop prop-type="tagName">formValue</prop>
<prop prop-type="attributeName">prompt</prop>
</prop-group>
</trans-unit>
</body>
</file>
</xliff>
15 11, 2007
OAF ÖÐÔõÑùÉèÖö¯Ì¬µÄ²éѯ
ÔÚOAFµÄ¿ª·¢ÖÐ,¶¯Ì¬²éѯÊDZÜÃâ²»Á˵Ä,¾ÍÊǸù¾ÝÓû§ÊäÈëµÄÌõ¼þÀ´²éѯ,µ±È»OAFÖÐÓÐºÜ¶à·½ÃæµÄ·½·¨,µ«ÊÇÓÐÒ»ÖÖ·½·¨ÊÇÓõÄ×îΪÆÕ±éµÄ.
1.ÔÚcontrolerÖеÄprocessRequest µÄ·½·¨Öе÷ÓÃ
am.invokeMethod("initDetails", parameters);
µ±È»Òªµ÷ÓÃinvokeMethod·½·¨ÏÈÒªOAApplicationModule am = pageContext.getApplicationModule(webBean);À´ÊµÀý»¯am.
initDetailsÊÇдÔÚAMµÄjava ÎļþµÄÖеÄÒ»¸ö·½·¨,parameters¿ÉÒÔÓÃpageContext.getParameters ·½·¨µÃµ½ÄãÏëÒªµÄÈκβÎÊý.
2.ÔÚAMµÄjavaÎļþÖÐдһ¸öinitDetails·½·¨º¯Êý,À´µ÷ÓÃVOÖеķ½·¨.Èç:initQuery(String XXXX);
3.ÔÚVOÖÐÌí¼ÓÏÂÃæµÄ´úÂë,Õâ¸ö´úÂëÊÇ´ÓOAFµÄUGÀïÃæÄóöÀ´µÄ,ÎÒ¾õµÃÕâ¶Î´úÂë±È½ÏµÄ¾µä,ÒÔºóÔÚ¿ª·¢Öл᲻¶ÏµÄÓõ½.
Õâ¶Î´úÂëÖ±½ÓÔËÐеĻ°ÒªÔÀ´µÄ»ù´¡ÉÏÒªimportÒ»¸öÀà:
import java.util.Vector
Initialize and execute the query
public void initQuery(String name, String onHold, String number)
{
StringBuffer whereClause = new StringBuffer(100);
Vector parameters = new Vector(3);
int clauseCount = 0;
int bindCount = 0;
setWhereClauseParams(null); // Always reset
if ((name != null) && (!("".equals(name.trim()))))
{
whereClause.append(" NAME like :");
whereClause.append(++bindCount);
parameters.addElement(name + "%");
clauseCount++;
} if ((number != null) && (!(""Equals(number.trim()))))
{
Number supplierId = null;
// SUPPLIER_ID is a NUMBER; datatypes should always
// match, and the parameter passed to this method is a
// String.
try
{
supplierId = new Number(number);
}
catch(Exception e) {}
if (clauseCount > 0)
{
whereClause.append(" AND ");
}
whereClause.append(" SUPPLIER_ID = :");
whereClause.append(++bindCount);
parameters.addElement(supplierId);
clauseCount++;
} if ((onHold != null) && (!(""Equals(onHold.trim()))))
{
if (clauseCount > 0)
{
whereClause.append(" AND ");
}
whereClause.append(" ON_HOLD_FLAG = :");
whereClause.append(++bindCount);
parameters.addElement("Y");
clauseCount++;
}setWhereClause(whereClause.toString());
if (bindCount > 0)
{
Object[] params = new Object[bindCount];
// the copyInto() is 1.1.8 compliant which, as of 4/02/03, is required by ARU
parameters.copyInto(params);
setWhereClauseParams(params);
}
executeQuery();} // end initQuery( )
Genterate an Application Module Interface
If you want to generate an application module interface
so you can invoke typed methods directly
(with compile-time checking) instead of calling
invokeMethod(), you must first create the methods
that you want to expose to the client. Then:
- In the JDeveloper Navigator, select the application module
- that you just created, right-click and select Edit <appmodule_name>....
- In the Application Module Wizard, select Client Methods.
- Select the methods you want to be able to invoke remotely in the
- Available list and shuttle them to the Selected list.
- Select OK to create your interface.
13 11, 2007
BlockµÄÊý¾ÝÔ´ÊÇViewµÄ ÈçºÎ²Ù×÷Êý¾Ý
ǰ¼¸ÌìÓиöÅóÓÑÎÊÆðÕâ¸öÎÊÌâ,¸ÕºÃÎÒÔÚÒÔǰͬʵÄblogÖп´µ½ÕâÎÄÕÂ,ÏÂÃæµÄÄÚÈÝÊÇתµÄ,²»ÊDZ¾À´Ð´µÄ:
BlockµÄÊý¾ÝÔ´ÊÇViewµÄ£¬Èç¹ûÏë²Ù×÷Êý¾Ý£¬ÐèҪעÒâÔÚÒÔϼ¸¸öTriggerÀïÃæÐ´´úÂ룺
On-lock:
select INVENTORY_ITEM_ID into :XX_UPDATE_CATEGORY_V.INVENTORY_ITEM_ID
from XX_UPDATE_CATEGORY_DETAIL
where rowid = :XX_UPDATE_CATEGORY_V.row_id
for update of INVENTORY_ITEM_ID;
on-insert:
DECLARE
L_USER_ID NUMBER;
BEGIN
L_USER_ID:=TO_NUMBER(FND_PROFILE.VALUE('USER_ID'));
insert into xxuts.xx_update_category_detail
values
END;
on-update:
update xxuts.xx_update_category_detail
set
where
ROWID=:XX_UPDATE_CATEGORY_V.ROW_ID
;
on-delete:
DELETE FROM xx_update_category_detail WHERE ROWID=:XX_UPDATE_CATEGORY_V.ROW_ID;
13 11, 2007
ÈçºÎ°ÑÊý¾ÝÉÏ´«µ½EBSµÄformsµÄÊý¾Ý¿éÖÐ
1. ǰ¼¸Ìì×öÁËÒ»¸ö°ÑÎļþÉÏ´«µ½formµÄÊäÈëÓòÖеijÌÐò,ÕâÀï°Ñ²½Öè¼òµ¥µÄдһÏÂ,¸½ÉϹؼüµÄÔ´´úÂë.ÒÔ¹©²Î¿¼.
1.´´½¨Ò»¸öÁÙʱ±í: XXX_TEMP_FILES
½¨±íÓï¾äÊÇ:
CREATE TABLE XXX_TEMP_FILES (
FILE_ID NUMBER,
SEQ NUMBER,
TEXT VARCHAR2(2000),
CREATION_DATE DATE
)
´´½¨Õâ¸ö±íµÄÄ¿µÄ¾ÍÊÇÒª°ÑÊý¾Ý´ÓFND_LOBSÕâ¸ö±íµÄfile_dataÕâ¸ö×ֶεÄÊý¾Ý,ͨ¹ý³ÌÐò,ÒòΪÕâ¸ö±íµÄÕâ¸öÊý¾ÝÊÇlobsÀàÐ͵Ä,ËùÒÔÕû¸öÎļþ¶¼·ÅÔÚÕâ¸ö×Ö¶ÎÀï,ÎÒÃÇÀûÓÃÕâ¸öÁÙʱ±í,°ÑÊý¾ÝÎļþ²ð³ÉÒ»ÐÐÒ»¸ö¼Í¼.È»ºóÿÐÐÔÚ¸ù¾Ý·Ö¸ö·û²é·Ö.
2. ´´½¨ÉÏ´«°ü: XXX_FILE_IO
XXX_FILE_IO °üº¬Èý¸ö×Ó³ÌÐò:
INS_TEMP_FILES:´Ófnd_lobs ±íÖÐÈ¡ÉÏ´«µÄÊý¾Ý,°ÑËü°´ÐÐÀ´²ð·Ö,²¢²åÈëµ½: XXX_TEMP_FILES ±íÖÐ
SEL_TEMP_FILES:´ÓXXX_TEMP_FILES ÖаÑÊý¾ÝÈ¥³ö
DEL_TEMP_FILES:Êý¾ÝÒѾÉÏ´«µ½FormµÄ½çÃæÖÐ,ÐèҪɾ³ýÎļþ.
Ö÷ÒªÓï¾ä¾ÍÊÇ:
PROCEDURE INS_TEMP_FILES(p_file_id IN NUMBER) IS
w_integer INTEGER;
w_blob BLOB;
w_raw RAW(10);
w_buff VARCHAR2(30000);
w_line VARCHAR2(30000);
w_len INTEGER;
eofsw BOOLEAN := FALSE;
offset INTEGER;
w_b_len NUMBER := 0;
w_num NUMBER;
w_seq NUMBER := 0;
BEGIN
SELECT file_data INTO w_blob FROM fnd_lobs WHERE file_id = p_file_id;
offset := 1;
LOOP
EXIT WHEN eofsw;
w_seq := w_seq + 1;
w_raw := utl_raw.cast_to_raw(chr(10));
w_num := dbms_lob.instr(w_blob, w_raw, offset, 1);
w_len := w_num - w_b_len;
w_b_len := w_num;
IF w_num = 0
THEN
w_len := 20000;
eofsw := TRUE;
END IF;
BEGIN
DBMS_LOB.READ(w_blob, w_len, offset, w_buff);
EXCEPTION
WHEN no_data_found THEN
EXIT;
WHEN OTHERS THEN
RAISE;
END;
w_line := utl_raw.cast_to_varchar2(w_buff);
SELECT REPLACE(w_line, chr(10), NULL) INTO w_line FROM dual;
SELECT REPLACE(w_line, chr(13), NULL) INTO w_line FROM dual;
INSERT INTO XXX_TEMP_FILES
(FILE_ID, SEQ, TEXT, CREATION_DATE)
VALUES
(p_file_id, w_seq, w_line, SYSDATE);
offset := offset + w_len;
END LOOP;
END;
3. ÔÚFormÎļþÖеÄProgram UnitÖн¡Ò»¸ö°ü.XXX_UPLOAD
Õâ¸öÎļþ×îºÃ×ö³ÉPLL,ºÍÆäËû¿ÍÖÆ»¯µÄÓÐÓõijÌÐòÒ»Æð´ò°ü,ÉÏ´«µ½formÕâÊÇÒ»¸öϵͳ±È½ÏÓÐÓõÄͨÓõijÌÐò.
Ö÷ÒªÊÇÀûÓÃFND_GFMÕâ¸öͨÓÃÉÏ´«µÄ¹¤¾ß,°ÑÎļþ´«µ½,FND_LOBSÖÐÈ¥,È»ºóµÚ¶þ²½½¨ºÃµÄµÄ°ü,½øÐÐÊý¾Ý²ð·Ö:
p_file_id := NULL;
access_id := FND_GFM.AUTHORIZE(NULL);
FND_PROFILE.GET('APPS_WEB_AGENT', l_server_url);
l_url := rtrim(l_server_url, '/') ||
'/fnd_file_upload.displayGFMform?access_id=' ||
to_char(access_id) ||
chr(38) ||
'l_server_url=' ||
l_server_url;
if (l_url is NULL) then
raise form_trigger_failure;
return NULL;
end if;
FND_UTILITIES.OPEN_URL(l_url);
FND_MESSAGE.SET_NAME('FND', 'ATCHMT-FILE-UPLOAD-COMPLETE');
button_choice := FND_MESSAGE.QUESTION(
button1 => 'YES',
button2 => null,
button3 => 'NO',
default_btn => 1,
cancel_btn => 3,
icon => 'question'
);
if button_choice = 1 then
p_file_id := FND_GFM.GET_FILE_ID(access_id);
XXX_FILE_IO.INS_TEMP_FILES(p_file_id);
-- pcm_dbms_lob.UPOPEN(p_file_id);
else
return NULL;
end if;
return p_file_id;
1. ÔÚFormÎļþÖеÄProgram UnitÖн¡Ò»¸ö³ÌÐòÈç: UPLOAD_XXX_XXX(X¸ù¾Ýʵ¼ÊÐèҪת»»)
UPLOAD_XXX_XXX Õâ¸öÎļþµÄÐèÒªÔÚʵ¼ÊµÄÓ¦ÓÃÖÐ×÷¸Ä¶¯,¸ù¾øÊµ¼ÊµÄÒªµ¼ÈëµÄ×Ö¶ÎÐ޸ijÌÐò.Ö÷Òª¹¦ÄܾÍÊÇ´ÓXXX_TEMP_FILES°ÑÊý¾Ý¶Á³ö,È»ºó¸ù¾Ý·Ö¸î·ûÀ´,°Ñÿ¸öÊý¾Ý¶ÔÓ¦µ½formµÄÓòÖÐ.
13 11, 2007
ÈçºÎ×¢²á SSWA jsp º¯Êý µÄÒ³Ãæ
ÔÚ¹¦ÄÜ×¢²áÕâÀïÑ¡ÔñSSWA jsp º¯Êý ,È»ºó°ÑJspµÄÒ³Ãæµ½/app/jssit/jssitcomn/html Ŀ¼ÖÐ,Õâ¸öÄ¿Â¼Ëæ¸÷¸ö»·¾³²»Í¬Ò²²»Ò»¶¨Ïàͬ,µ«ÊǺÍ$JAVA_TOP(/app/jssit/jssitcomn/java)Õâ¸öĿ¼ֻÓÐ×îºÃºóÒ»¸öĿ¼²»Í¬.
Ò²¿ÉÒÔÔÚ/app/jssit/jssitcomn/html Ŀ¼ÏÂ×Ô¼º½¨Á¢Ò»¸öxxxµÄÎļþ¼Ð,µ«ÊÇÕâ¸öÔÚ¹¦ÄÜ×¢²áÕâÀï HTMLµ÷Óà ÓòÒªÊäÈë xxx/xxx.jsp,Ç°Ãæ¼ÓÉÏ×Ô¼º½¨Á¢µÄĿ¼·¾¶¾Í¿ÉÒÔÁË.
ʵ¼ÊÉÏOAFµÄ¿ª·¢Ò²ÊÇÒªÓà SSWA jsp º¯Êý Õâ¸öÀàÐÍÀ´×¢²á,ËùÓÐOAFµÄ³ÌÐò¶¼ÒªÓÉOA.jspÕâ¸öÒ³Ãæ×÷ΪÈë¿Ú.ËùÒÔÔÚ HTMLµÄµ÷ÓÃÖÐÐèÒªÊäÈë:OA.jsp?page=/oracle/apps/fnd/framework/toolbox/tutorial/webui/HelloWorldPG
?ºóÃæµÄ¾ÍÊÇOAÕâ¸öÒ³ÃæÒªµ÷ÓõIJÎÊý,ʵ¼ÊÉϾÍÊǸæËßϵͳÄãµÄHelloWorldPG.xmlÕâ¸öÎļþµÄ·¾¶,Ö÷ÒâϵͳÀïÃæ²»ÐèÒª¼ÓÉÏxml.
30 10, 2007
OAF ÅäÖ÷½·¨
ÏÂÔØjdev 9.03.5´øOracle Applications ExtensionÀ©Õ¹°ü£¡£¨ÒÔϼò³Æ jdev)(login Metalink and search the patch number 4573517)
½âѹÖÁijĿ¼£¨ÎÒÊÇd:javajdev_oaf)£¨×¢ÒâĿ¼Öв»Òª´øÓпոñ£¡£©
½âѹºóµÄĿ¼½á¹¹ÊÇ
jdevbin jdevµÄÖ´ÐгÌÐòËùÔÚĿ¼
jdevdoc ¿ª·¢Îĵµ
jdevhome oaf¹¤×÷Ŀ¼
ÅäÖò½Ö裺
1£© Ìî¼Ó»·¾³±äÁ¿ JDEV_USER_HOME
Ö¸Ïòd:javajdev_oafjdevhomejdev
2)ÅäÖÃÊý¾Ý¿âÅäÖÃÎļþ£¬·ÅÔÚ
ÕâÊÇÒ»¸ö.dbcÎļþ,ÔÚoracle ebs°²×°Ä¿Â¼ÖÐÕÒ(/u02/prod/inst/apps/PROD_ebs/appl/fnd/12.0.0/secure/PROD.dbc)
Ò²¿ÉÒÔÔÚhttp://yourserveraddress:8000/OA_HTML/jsp/fnd/aoljtest.jspÕâÀïÃæÕÒ£¬½øÈëTESTÒ³Ãæ£¬connnection TestÖеÄlocate bdc File¾ÍÊÇ,ÄÚÈÝÈçÏ£º
#DB Settings
#Wed Jul 12 11:19:03 CST 2006
GUEST_USER_PWD=GUEST/ORACLE
APPL_SERVER_ID=21352B7FD1D64869B9E073D0BF9C66AB17555619151894333175138346880731
FND_JDBC_BUFFER_DECAY_INTERVAL=300
APPS_JDBC_DRIVER_TYPE=THIN
FND_JDBC_BUFFER_MIN=1
DB_NAME=VIS
GWYUID=APPLSYSPUB/PUB
FND_JDBC_BUFFER_MAX=5
APPS_JDBC_URL=jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=YES)(FAILOVER=YES)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=EBS.ebsserver.com)(PORT=1521)))(CONNECT_DATA=(SID=VIS)))
FND_JDBC_STMT_CACHE_FREE_MEM=TRUE
FND_JDBC_STMT_CACHE_SIZE=0
TWO_TASK=VIS
FND_MAX_JDBC_CONNECTIONS=500
FND_JDBC_USABLE_CHECK=false
FNDNAM=APPS
FND_JDBC_PLSQL_RESET=false
DB_PORT=1521
FND_JDBC_CONTEXT_CHECK=true
FND_JDBC_BUFFER_DECAY_SIZE=5
DB_HOST=ebs.ebsserver.com
d:javajdev_oafjdevhomejdevmyhtmlOA_HTMLsecureĿ¼ÖÐ
×¢Ò⣬ÉÏÃæµÄÅäÖÃÎļþÖУ¬ÓÐÒ»ÃûҪעÊ͵ô£¬²»È»ÓдíÎó£¬ÍøÉÏÓÐÈË˵ÕâÊÇÒ»¸öBUG£¬ÒªÏÂÔØ²¹¶¡²ÅÄܽâ¾ö£¬ÎÒûÓÐȨÏÞÏÂÔØ²¹¶¡£¬×¢µô°É£¬¾ÍÊÇÕâ¾ä£¬Ç°Ãæ¼ÓÉÏ#¼´¿É
APPS_JDBC_URL=jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=YES)(FAILOVER=YES)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=EBS.ebsserver.com)(PORT=1521)))(CONNECT_DATA=(SID=VIS)))
3£©´´½¨¿ì½Ý·½Ê½
Ö¸Ïòd:javajdev_oafdevbinjdevw.exe
´ËΪjdevµÄÆô¶¯ÃüÁ
4£©ÔÚoracle ebsÅäÖÃÏÂÃæÁ½¸öÖ°Ôð ¸øÄãµÄ¿ª·¢Óû§£¡Ò»°ãÊÇÔÚapplication short name (AK)ÖеÄÖ°Ôð
OA Framework ToolBox Tutorial (responsibility key is FWK_TBX_TUTORIAL)
OA Framework ToolBox Tutorial Labs (responsibility key is FWK_TOOLBOX_TUTORIAL_LABS)
5£©ÅäÖÃÊý¾Ý¿âÁ¬½Ó
´ò¿ªD:javajdev_oafjdevhomejdevmyprojectsÏÂÃæµÄtoolbox.jws¹¤×÷¿Õ¼ä£¨À©Õ¹ÃûjwsΪjdevµÄworkspaceÎļþ£©
ÔÚtoolbox.jwsÖУ¬ÕÒµ½Tutorial.jpr£¨À©Õ¹ÃûjprΪjdevµÄÏîÄ¿Îļþ£©Õâ¸öÏîÄ¿,ÓÒ¼ü£¬´ò¿ªproject setingÕâ¸öÃüÁÔÚ³öÏֵĶԻ°¿òÖУ¬Ñ¡ÔñOracle Applications ½ÚµãÏ Runtime Connection.
connectionÉèÖÃΪÉÏÃæµÄdbcÎļþ
username /passwordÓëµÚËIJ½Öè±£³ÖÒ»ÖÂ
Ö°Ôð±£³ÖĬÈÏ¡£
ͬÑùÉèÖÃLabSolutions.jprÕâ¸öÏîÄ¿
ÅäÖÃÊý¾Ý¿âÁ¬½Ó£¬ÔÚÓëNavigatorÖУ¬Ñ¡ÔñConnectionsÏÂÃæDataBase½Úµã£¬Ìî¼ÓÊý¾Ý¿âÁ¬½Ó£¡
ÅäÖÃTutorial.jprÏîÄ¿ºÍLabSolutions.jprÏîÄ¿µÄproject settingÖеÄconnectÑ¡ÏîµÄConnection NameΪÄã¸Õ¸ÕÅäÖõÄÊý¾Ý¿âÁ¬½ÓÃû
ÓÐÒ»¸ö ±È½ÏºÃµÄOAFµÄÍøÕ¾:http://oracle.anilpassi.com/oa-framework-tutorials-training.html
29 10, 2007
PL/SQLÖж¯Ì¬µôÓô洢¹ý³Ì
SQL> set serverout on
SQL> create or replace procedure p_test(a in varchar2,b in varchar2,c out varchar2)
2 is
3 begin
4 c := a||b;
5 end p_test;
6 /
Procedure created
SQL> declare
2 v_sql varchar2(1000);
3 c varchar2(1000);
4 begin
5 v_sql:='begin p_test(:v1,:v2,:v3); end;';
6 execute immediate v_sql using in '1',in '2',out c;
7 dbms_output.put_line(c);
8 end;
9 /
12
PL/SQL procedure successfully completed
29 10, 2007
shellÈëÃÅ»ù´¡
1.½¨Á¢ºÍÔËÐÐshell³ÌÐò
ʲôÊÇshell³ÌÐòÄØ? ¼òµ¥µÄ˵shell³ÌÐò¾ÍÊÇÒ»¸ö°üº¬Èô¸ÉÐÐ
shell»òÕßlinuxÃüÁîµÄÎļþ.
Ïó±àд¸ß¼¶ÓïÑԵijÌÐòÒ»Ñù,±àдһ¸öshell³ÌÐòÐèÒªÒ»¸öÎı¾±à¼Æ÷.ÈçVIµÈ.
ÔÚÎı¾±à¼»·¾³ÏÂ,ÒÀ¾ÝshellµÄÓï·¨¹æÔò,ÊäÈëһЩshell/linuxÃüÁîÐÐ,ÐγÉÒ»¸öÍêÕû
µÄ³ÌÐòÎļþ.
Ö´ÐÐshell³ÌÐòÎļþÓÐÈýÖÖ·½·¨
(1)#chmod +x file(ÔÚ/etc/profileÖÐ,¼ÓÈëexport PATH=${PATH}:~/yourpath,¾Í¿ÉÒÔÔÚÃüÁîÐÐÏÂÖ±½ÓÔËÐÐ,ÏñÖ´ÐÐÆÕͨÃüÁîÒ»Ñù)
(2)#sh file
(3)# . file
(4)#source file
ÔÚ±àдshellʱ,µÚÒ»ÐÐÒ»¶¨ÒªÖ¸Ã÷ϵͳÐèÒªÄÇÖÖshell½âÊÍÄãµÄshell³ÌÐò,Èç:#! /bin/bash,
#! /bin/csh,/bin/tcsh,»¹ÊÇ#! /bin/pdksh .
2.shellÖеıäÁ¿
(1)³£ÓÃϵͳ±äÁ¿
$ # :±£´æ³ÌÐòÃüÁîÐвÎÊýµÄÊýÄ¿
$ ? :±£´æÇ°Ò»¸öÃüÁîµÄ·µ»ØÂë
$ 0 :±£´æ³ÌÐòÃû
$ * :ÒÔ("$1 $2...")µÄÐÎʽ±£´æËùÓÐÊäÈëµÄÃüÁîÐвÎÊý
$ @ :ÒÔ("$1""$2"...)µÄÐÎʽ±£´æËùÓÐÊäÈëµÄÃüÁîÐвÎÊý
(2)¶¨Òå±äÁ¿
shellÓïÑÔÊÇ·ÇÀàÐ͵ĽâÊÍÐÍÓïÑÔ,²»ÏóÓÃC++/JAVAÓïÑÔ±à³ÌʱÐèÒªÊÂÏÈÉùÃ÷±äÁ¿.¸øÒ»
¸ö±äÁ¿¸³Öµ,ʵ¼ÊÉϾÍÊǶ¨ÒåÁ˱äÁ¿.
ÔÚlinuxÖ§³ÖµÄËùÓÐshellÖÐ,¶¼¿ÉÒÔÓø³Öµ·ûºÅ(=)Ϊ±äÁ¿¸³Öµ.
Èç:
abc=9 (bash/pdksh²»ÄÜÔڵȺÅÁ½²àÁôÏ¿ոñ )
set abc = 9 (tcsh/csh)
ÓÉÓÚshell³ÌÐòµÄ±äÁ¿ÊÇÎÞÀàÐ͵Ä,ËùÒÔÓû§¿ÉÒÔʹÓÃͬһ¸ö±äÁ¿Ê±¶ø´æ·Å×Ö·ûʱ¶ø´æ·Å
ÕûÊý.
Èç:
name=abc (bash/pdksh)
set name = abc (tcsh)
ÔÚ±äÁ¿¸³ÖµÖ®ºó,Ö»ÐèÔÚ±äÁ¿Ç°Ãæ¼ÓÒ»¸ö$È¥ÒýÓÃ.
Èç:
echo $abc
(3)λÖñäÁ¿
µ±ÔËÐÐÒ»¸öÖ§³Ö¶à¸öÃüÁîÐвÎÊýµÄshell³ÌÐòʱ,ÕâЩ±äÁ¿µÄÖµ½«·Ö±ð´æ·ÅÔÚλÖñäÁ¿Àï.
ÆäÖеÚÒ»¸ö²ÎÊý´æ·ÅÔÚλÖñäÁ¿1,µÚ¶þ¸ö²ÎÊý´æ·ÅÔÚλÖñäÁ¿2,ÒÀ´ÎÀàÍÆ...,shell±£Áô
ÕâЩ±äÁ¿,²»ÔÊÐíÓû§ÒÔÁîÍâµÄ·½Ê½¶¨ÒåËûÃÇ.ͬ±ðµÄ±äÁ¿,ÓÃ$·ûºÅÒýÓÃËûÃÇ.
3.shellÖÐÒýºÅµÄʹÓ÷½·¨
shellʹÓÃÒýºÅ(µ¥ÒýºÅ/Ë«ÒýºÅ)ºÍ·´Ð±Ïß("")ÓÃÓÚÏòshell½âÊÍÆ÷ÆÁ±ÎÒ»Ð©ÌØÊâ×Ö·û.
·´ÒýºÅ(")¶ÔshellÔòÓÐÌØÊâÒâÒå.
Èç:
abc="how are you" (bash/pdksh)
set abc = "how are you" (tcsh)
Õâ¸öÃüÁîÐаÑÈý¸öµ¥´Ê×é³ÉµÄ×Ö·û´®how are you×÷Ϊһ¸öÕûÌ帳ֵ¸ø±äÁ¿abc.
abc1='@LOGNAME,how are you!' (bash/pdksh)
set abc1='$LOGNAME,how are you!' (tcsh)
abc2="$LOGNAME,how are you!" (bash/pdksh)
set abc2="$LOGNAME,how are you!" (tcsh)
LOGNAME±äÁ¿ÊDZ£´æµ±Ç°Óû§ÃûµÄshell±äÁ¿,¼ÙÉèËûµÄµ±Ç°ÖµÊÇ:wang.Ö´ÐÐÍêÁ½ÌõÃüÁîºó,
abc1µÄÄÚÈÝÊÇ:$LOGNAME, how are you!.¶øabc2µÄÄÚÈÝÊÇ;wang, how are you!.
Ïóµ¥ÒýºÅÒ»Ñù,·´Ð±ÏßÒ²ÄÜÆÁ±ÎËùÓÐÌØÊâ×Ö·û.µ«ÊÇËûÒ»´ÎÖ»ÄÜÆÁ±ÎÒ»¸ö×Ö·û.¶ø²»ÄÜÆÁ±Î
Ò»×é×Ö·û.
·´ÒýºÅµÄ¹¦Äܲ»Í¬ÓÚÒÔÉϵÄÈýÖÖ·ûºÅ.Ëû²»¾ßÓÐÆÁ±ÎÌØÊâ×Ö·ûµÄ¹¦ÄÜ.µ«ÊÇ¿ÉÒÔͨ¹ýËû½«
Ò»¸öÃüÁîµÄÔËÐнá¹û´«µÝ¸øÁíÍâÒ»¸öÃüÁî.
Èç:
contents=`ls` (bash/pdksh)
set contents = `ls` (tcsh)
4.shell³ÌÐòÖеÄtestÃüÁî
ÔÚbash/pdkshÖÐ,ÃüÁîtestÓÃÓÚ¼ÆËãÒ»¸öÌõ¼þ±í´ïʽµÄÖµ.ËûÃǾ³£ÔÚÌõ¼þÓï¾äºÍÑ»·
Óï¾äÖб»ÓÃÀ´ÅжÏijЩÌõ¼þÊÇ·ñÂú×ã.
testÃüÁîµÄÓï·¨¸ñʽ:
test expression
»òÕß
[expression]
ÔÚtestÃüÁîÖÐ,¿ÉÒÔʹÓúܶàshellµÄÄÚ²¿²Ù×÷·û.ÕâЩ²Ù×÷·û½éÉÜÈçÏÂ:
(1)×Ö·û´®²Ù×÷·û ÓÃÓÚ¼ÆËã×Ö·û´®±í´ïʽ
testÃüÁî | º¬Òå
-----------------------------------------
Str1 = str2 | µ±str1Óëstr2Ïàͬʱ,·µ»ØTrue
Str1! = str2| µ±str1Óëstr2²»Í¬Ê±,·µ»ØTrue
Str | µ±str²»ÊÇ¿Õ×Ö·ûʱ,·µ»ØTrue
-n str | µ±strµÄ³¤¶È´óÓÚ0ʱ,·µ»ØTrue
-z str | µ±strµÄ³¤¶ÈÊÇ0ʱ,·µ»ØTrue
-----------------------------------------
(2)ÕûÊý²Ù×÷·û¾ßÓкÍ×Ö·û²Ù×÷·ûÀàËÆµÄ¹¦ÄÜ.Ö»ÊÇËûÃǵIJÙ×÷ÊÇÕë¶ÔÕûÊý
test±í´ïʽ | º¬Òå
---------------------------------------------
Int1 -eq int2|µ±int1µÈÓÚint2ʱ,·µ»ØTrue
Int1 -ge int2|µ±int1´óÓÚ/µÈÓÚint2ʱ,·µ»ØTrue
Int1 -le int2|µ±int1СÓÚ/µÈÓÚint2ʱ,·µ»ØTrue
Int1 -gt int2|µ±int1´óÓÚint2ʱ,·µ»ØTrue
Int1 -ne int2|µ±int1²»µÈÓÚint2ʱ,·µ»ØTrue
-----------------------------------------
(3)ÓÃÓÚÎļþ²Ù×÷µÄ²Ù×÷·û,ËûÃÇÄܼì²é:ÎļþÊÇ·ñ´æÔÚ,ÎļþÀàÐ͵È
test±í´ïʽ | º¬Òå
------------------------------------------------
-d file |µ±fileÊÇÒ»¸öĿ¼ʱ,·µ»Ø True
-f file |µ±fileÊÇÒ»¸öÆÕͨÎļþʱ,·µ»Ø True
-r file |µ±fileÊÇÒ»¸ö¿Ì¶ÁÎļþʱ,·µ»Ø True
-s file |µ±fileÎļþ³¤¶È´óÓÚ0ʱ,·µ»Ø True
-w file |µ±fileÊÇÒ»¸ö¿ÉдÎļþʱ,·µ»Ø True
-x file |µ±fileÊÇÒ»¸ö¿ÉÖ´ÐÐÎļþʱ,·µ»Ø True
------------------------------------------------
(4)shellµÄÂß¼²Ù×÷·ûÓÃÓÚÐÞÊÎ/Á¬½Ó°üº¬ÕûÊý,×Ö·û´®,Îļþ²Ù×÷·ûµÄ±í´ïʽ
test±í´ïʽ | º¬Òå
----------------------------------------------------------
! expr |µ±exprµÄÖµÊÇFalseʱ,·µ»ØTrue
Expr1 -a expr2|µ±expr1,expr2ֵͬΪTrueʱ,·µ»ØTrue
Expr1 -o expr2|µ±expr1,expr2µÄÖµÖÁÉÙÓÐÒ»¸öΪTrueʱ,·µ»ØTrue
-----------------------------------------------------------
×¢Òâ:
tcsh shell ²»Ê¹ÓÃtestÃüÁî,µ«ÊÇtcshÖеıí´ïʽͬÑùÄܳе£ÏàͬµÄ¹¦ÄÜ.tcsh
Ö§³ÖµÄ±í´ïʽÓÚCÖеıí´ïʽÏàͬ.ͨ³£Ê¹ÓÃÔÚifºÍwhileÃüÁîÖÐ.
tcsh±í´ïʽ | º¬Òå
-------------------------------------------------------
Int1 <= int2 |µ±int1СÓÚ/µÈÓÚint2ʱ,·µ»ØTrue
Int1 >= int2 |µ±int1´óÓÚ/µÈÓÚint2ʱ,·µ»ØTrue
Int1 < int2 |µ±int1СÓÚint2ʱ,·µ»ØTrue
Int1 > int2 |µ±int1´óÓÚint2ʱ,·µ»ØTrue
Str1 == str2 |µ±str1Óëstr2Ïàͬʱ,·µ»ØTrue
Str1 != str2 |µ±str1Óëstr2²»Í¬Ê±,·µ»ØTrue
-r file |µ±fileÊÇÒ»¸ö¿É¶ÁÎļþʱ,·µ»ØTrue
-w file |µ±fileÊÇÒ»¸ö¿ÉдÎļþʱ,·µ»ØTrue
-x file |µ±fileÊÇÒ»¸ö¿ÉÖ´ÐÐÎļþʱ,·µ»ØTrue
-e file |µ±file´æÔÚʱ,·µ»ØTrue
-o file |µ±fileÎļþµÄËùÓÐÕßÊǵ±Ç°Óû§Ê±,·µ»ØTrue
-z file |µ±file³¤¶ÈΪ0ʱ,·µ»ØTrue
-f file |µ±fileÊÇÒ»¸öÆÕͨÎļþʱ,·µ»ØTrue
-d file |µ±fileÊÇÒ»¸öĿ¼ʱ,·µ»ØTrue
Exp1 || exp2 |µ±exp1ºÍexp2µÄÖµÖÁÉÙÒ»¸öΪTrueʱ,·µ»ØTrue
Exp1 && exp2 |µ±exp1ºÍexp2µÄֵͬΪTrueʱ,·µ»ØTrue
! exp |µ±expµÄֵΪFalseʱ,·µ»ØTrue
-------------------------------------------------------
/***************************************************/
ÏȲ»Òª¹ÜShellµÄ°æ±¾£¬À´¿´¿´Shell ±äÁ¿£¬ÔÚShellÖÐÓÐÈýÖÖ±äÁ¿£ºÏµÍ³±äÁ¿£¬»·¾³±äÁ¿£¬Óû§±äÁ¿¡£ÆäÖÐÓû§±äÁ¿ÔÚ±à³Ì¹ý³ÌÖÐʹÓÃ×î¶à£¬ÏµÍ³±äÁ¿ÔÚ¶Ô²ÎÊýÅжϺÍÃüÁî·µ»ØÖµÅжϻáʹÓ㬻·¾³±äÁ¿Ö÷ÒªÊÇÔÚ³ÌÐòÔËÐеÄʱºòÐèÒªÉèÖá£
1 ϵͳ±äÁ¿
Shell³£ÓõÄϵͳ±äÁ¿²¢²»¶à£¬µ«È´Ê®·ÖÓÐÓã¬ÌرðÊÇÔÚ×öһЩ²ÎÊý¼ì²âµÄʱºò¡£ÏÂÃæÊÇShell³£ÓõÄϵͳ±äÁ¿
| ±íʾ·½·¨ | ÃèÊö |
|---|---|
| $n | $1 ±íʾµÚÒ»¸ö²ÎÊý£¬$2 ±íʾµÚ¶þ¸ö²ÎÊý ... |
| $# | ÃüÁîÐвÎÊýµÄ¸öÊý |
| $0 | µ±Ç°³ÌÐòµÄÃû³Æ |
| $? | ǰһ¸öÃüÁî»òº¯ÊýµÄ·µ»ØÂë |
| $* | ÒÔ"²ÎÊý1 ²ÎÊý2 ... " ÐÎʽ±£´æËùÓвÎÊý |
| $@ | ÒÔ"²ÎÊý1" "²ÎÊý2" ... ÐÎʽ±£´æËùÓвÎÊý |
| $$ | ±¾³ÌÐòµÄ(½ø³ÌIDºÅ)PID |
| $! | ÉÏÒ»¸öÃüÁîµÄPID |
#!/bin/sh #This file is used to explain the shell system variable. echo "the number of parameter is $# "; echo "the return code of last command is $?"; echo "the script name is $0 "; echo "the parameters are $* "; echo "$1 = $1 ; $2 = $2 ";
ÏÂÃæÊÇÔËÐнá¹û£º
BeautifierPlugin Error: Unable to handle "bash" syntax.
-bash-2.05b$ ./chapter2.1.sh winter stlchina the number of parameter is 2 the return code of last command is 0 the script name is ./chapter2.1.sh the parameters are winter stlchina $1 = winter ; $2 = stlchina
Õâ¸öÀý×ÓÌ«¼òµ¥ÁË£¬Ò»µãÒ²²»ÊµÓã¬ÏÂÃæÀ´¸öʵÓõģ¬Èç¹ûÄã¿´²»¶®£¬Ã»ÓйØÏµ£¬ºóÃæµÄÄÚÈÝ»áÓÐÏêϸ½âÊÍ¡£ BeautifierPlugin Error: Unable to handle "bash" syntax.
#!/bin/sh if [ $# -ne 2 ] ; then echo "Usage: $0 string file"; exit 1; fi grep $1 $2 ; if [ $? -ne 0 ] ; then echo "Not Found "$1" in $2"; exit 1; fi echo "Found "$1" in $2";
ÉÏÃæµÄÀý×ÓÖÐʹÓÃÁË$0 $1 $2 $# $? µÈ±äÁ¿£¬ÏÂÃæÊdzÌÐòµÄ½âÊÍ£º
- ÅжÏÔËÐвÎÊý¸öÊý£¬Èç¹û²»µÈÓÚ2£¬ÏÔʾʹÓÃ"Ó÷¨°ïÖú", ÆäÖÐ $0 ±íʾ¾ÍÊǽű¾×Ô¼º¡£
- ÓÃgrep ÔÚ$2 ÎļþÖвéÕÒ$1 ×Ö·û´®¡£
- ÅжÏǰһ¸öÃüÁîÔËÐкóµÄ·µ»ØÖµ(Ò»°ã³É¹¦¶¼»á·µ»Ø0, ʧ°Ü¶¼»á·µ»Ø·Ç0)¡£
- Èç¹ûûÓгɹ¦ÏÔʾûÕÒµ½Ïà¹ØÐÅÏ¢£¬·ñÔòÏÔʾÕÒµ½ÁË¡£
- ÆäÖÐ"±íʾתÒ壬ÔÚ"" ÀïÃæ»¹ÐèÒªÏÔʾ"ºÅ£¬ÔòÐèÒª¼ÓÉÏתÒå·û" .
ÏÂÃæÔËÐеÄÀý×Ó£º
BeautifierPlugin Error: Unable to handle "bash" syntax.
./chapter2.2.sh usage chapter2.2.sh Not Found "usage" in chapter2.2.sh -bash-2.05b$ ./chapter2.2.sh Usage chapter2.2.sh echo "Usage: $0 string file"; Found "Usage" in chapter2.2.sh
2 ShellÓû§±äÁ¿
2.1 »ù´¡
²»¹Üϵͳ±äÁ¿ÓжàÉÙ£¬¶ÔÓÚÐèÇóÀ´Ëµ£¬×ÜÊDz»¹»µÄ¡£Óû§±äÁ¿ÊÇ×î³£Óõ½µÄ±äÁ¿£¬Ê¹ÓÃҲʮ·Ö¼òµ¥¡£
Óû§¶¨ÒåµÄ±äÁ¿±ØÐëÓÉ×ÖĸÊý×Ö¼°Ï»®Ïß×é³É,²¢ÇÒ±äÁ¿ÃûµÄµÚÒ»¸ö×Ö·û²»ÄÜΪÊý×Ö, ÓëÆäËüUNIXÃû×ÖÒ»Ñù,±äÁ¿ÃûÊÇ´óСдÃô¸ÐµÄ. ¶ÔÓÚÓû§±äÁ¿,Óû§¿É°´ÈçÏ·½Ê½¸³Öµ: BeautifierPlugin Error: Unable to handle "bash" syntax.
name="Winter"
ÔÚÒýÓñäÁ¿Ê±,ÐèÔÚÇ°Ãæ¼Ó$·ûºÅ£¬Óû§Ò²¿ÉÒÔÔÚ±äÁ¿¼ä½øÐÐÏ໥¸³Öµ,Èç: BeautifierPlugin Error: Unable to handle "bash" syntax.
name="Winter" WINTER=$name echo "Hello $WINTER !"
Êä³ö½á¹ûÓ¦¸ÃºÜÇå³þ£ºHello Winter !
ÕâÀïÐèҪעÒâÒ»µã£º±äÁ¿ºÍ'='Ö®¼ä²»ÒªÓпոñ£¬'='ºÍ¸³ÖµÒ²²»ÒªÓпոñ£¬·ñÔòshell²»»áÈÏΪ±äÁ¿±»¶¨Òå¡£ÕÆÎÕÁË»ù±¾µÄʹÓ÷½·¨£¬Äã¿ÉÒÔÍêÈ«¿ªÊ¼ÄãµÄ±à³Ì¹¤×÷ÁË¡£²»¹ýÓÐʱºòÐèҪδÓê³ñçÑ£¬ÏÂÃæ½éÉÜÓû§±äÁ¿µÄһЩ¼¼ÇÉ¡£
2.2 ʹÓü¼ÇÉ
Ò²¿ÉÒÔÓñäÁ¿ºÍÆäËû×Ö·û×é³ÉеÄ×Ö,Õâʱ¿ÉÄÜÐèÒª°Ñ±äÁ¿ÓÃ{}À¨Æð,Èç: BeautifierPlugin Error: Unable to handle "bash" syntax.
SAT=Satur
echo Today is ${SAT}day
Êä³ö½á¹ûÊÇ£º Today is Saturday
ÓÐʱºòΪÁ˱ÜÃâ±äÁ¿ÃûºÍ±ðµÄ×Ö·û²úÉú»ìÏý£¬Äã×îºÃÑø³Éϰ¹ß°Ñ±äÁ¿ÃûÓÃ{}À¨ÆðÀ´¡£
¶ÔÓÚδ¸³ÖµµÄ±äÁ¿, ShellÒÔ¿ÕÖµ¶Ô´ý, Óû§Ò²¿ÉÒÔÓÃunsetÃüÁîÇå³ý¸ø±äÁ¿¸³µÄÖµ.¿´Ò»¸öÀý×Ó£º BeautifierPlugin Error: Unable to handle "bash" syntax.
#!/bin/sh echo "a=$a" ; a=2 echo "a=$a" ; unset a echo "a=$a" ;
ÏȲ²½á¹ûÊÇʲô£¿ BeautifierPlugin Error: Unable to handle "bash" syntax.
-bash-2.05b$ ./test.sh a= a=2 a=
Èç¹ûÄã¶®C++£¬ÄãÓ¦¸ÃÖªµÀÓиö±äÁ¿ÐÞÊηû"const"£¬ÓÃÓÚ±ÜÃâ³ÌÐòÒ»²»Ð¡ÐĶԱäÁ¿½øÐÐÐ޸ġ£ÔÚshellÖУ¬¶ÔÓÚÓû§±äÁ¿£¬Äã¿ÉÒÔʹÓÃͬÑùµÄÐÞÊηû"readonly", Èç¹ûÎÒ°ÑÉÏÃæµÄÀý×ÓÐ޸ijÉÕâÑù: BeautifierPlugin Error: Unable to handle "bash" syntax.
#!/bin/sh echo "a=$a" ; #ÏÂÃæÔö¼ÓÁËreadonly readonly a=2 echo "a=$a" ; unset a echo "a=$a" ;
Æä½á¹ûµ±È»»á²»Ò»ÑùÁË£º BeautifierPlugin Error: Unable to handle "bash" syntax.
-bash-2.05b$ ./test.sh a= a=2 a=2
2.3 shell ÖеÄÊý×é
shell±äÁ¿Öл¹ÄÜÉèÖÃÊý×飬µ«ÊDz»Í¬µÄshell°æ±¾Óв»Í¬Êý×鸳ֵ·½·¨£¬¶øbourne shell Öв»Ö§³ÖÊý×鷽ʽ¡£Òò´Ë£¬Èç¹û²»ÊÇÊ®·ÖÐèÒª£¬»¹Êǽ¨ÒéÄ㲻ҪʹÓÃÊý×é¡£ÈôÄãµÄÊý¾Ý½á¹¹Ê®·Ö¸´ÔÓ£¬±ØÐëҪʹÓÃÊý×飬ÄÇôÎÒ½¨ÒéÄ㻹ÊÇÑ¡Ôñ±ðµÄÓïÑÔ°É£¬shell²»ÊÇÍòÄܵġ£
shellÓÐÁ½ÖÖ¸³Öµ·½Ê½£¬µÚÒ»ÖÖÊÇÖ±½ÓÓÃϱ긳ֵ£º BeautifierPlugin Error: Unable to handle "bash" syntax.
name[0]="Tom" name[1]="Tomy" name[2]="John" ...
ÁíÒ»ÖÖ·½Ê½¶ÔÓÚ²»Í¬µÄshell°æ±¾²»Ò»Ñù¡£bashÖи³Öµ£º BeautifierPlugin Error: Unable to handle "bash" syntax.
#!/usr/local/bin/bash
name=("Tom" "Tomy" "John")
for i in 0 1 2
do
echo $i:${name[$i]} ;
done;
ÉÏÃæÁ½ÖÖ¸³Öµ·½Ê½´ïµ½µÄЧ¹ûÒ»Ñù¡£ÁíÍ⣬Äã¿´¼û·ÃÎÊÊý×éÔªËØµÄ·½·¨ÁËÂð£¿Ê¹ÓÃ${name[index]}µÄ·½Ê½¡£×¢ÒâµÚÒ»ÐÐʹÓõÄÊÇ#!/usr/local/bin/bash, ºÍÒÔǰÓÐЩ²»Ò»ÑùŶ¡£ÆäÊä³ö½á¹ûÊÇ£º BeautifierPlugin Error: Unable to handle "bash" syntax.
-bash-2.05b$ ./test.sh 0:Tom 1:Tomy 2:John
3 shell »·¾³±äÁ¿
shell »·¾³±äÁ¿ÊÇËùÓÐshell ³ÌÐò¶¼»á½ÓÊܵIJÎÊý¡£shell³ÌÐòÔËÐÐʱ£¬¶¼»á½ÓÊÕÒ»×é±äÁ¿£¬Õâ×é±äÁ¿¾ÍÊÇ»·¾³±äÁ¿¡£³£ÓõĻ·¾³±äÁ¿£º
| Ãû³Æ | ÃèÊö |
| PATH | ÃüÁîËÑË÷·¾¶,ÒÔðºÅΪ·Ö¸ô·û.×¢ÒâÓëDOSϲ»Í¬µÄÊÇ, µ±Ç°Ä¿Â¼²»ÔÚϵͳ·¾¶Àï |
| HOME | Óû§homeĿ¼µÄ·¾¶Ãû,ÊÇcdÃüÁîµÄĬÈϲÎÊý |
| COLUMNS | ¶¨ÒåÁËÃüÁî±à¼Ä£Ê½Ï¿ÉʹÓÃÃüÁîÐеij¤¶È |
| EDITOR | ĬÈϵÄÐÐ±à¼Æ÷ |
| VISUAL | ĬÈϵĿÉÊÓ±à¼Æ÷ |
| FCEDIT | ÃüÁîfcʹÓÃµÄ±à¼Æ÷ |
| HISTFILE | ÃüÁîÀúÊ·Îļþ |
| HISTSIZE | ÃüÁîÀúÊ·ÎļþÖÐ×î¶à¿É°üº¬µÄÃüÁîÌõÊý |
| HISTFILESIZE | ÃüÁîÀúÊ·ÎļþÖаüº¬µÄ×î´óÐÐÊý |
| IFS | ¶¨ÒåSHELLʹÓõķָô·û |
| LOGNAME | Óû§µÇ¼Ãû |
| Ö¸ÏòÒ»¸öÐèÒªSHELL¼àÊÓÆäÐÞ¸Äʱ¼äµÄÎļþ.µ±¸ÃÎļþÐ޸ĺó, SHELL½«·¢ÏûÏ¢You hava mail¸øÓû§ | |
| MAILCHECK | SHELL¼ì²éMAILÎļþµÄÖÜÆÚ,µ¥Î»ÊÇÃë |
| MAILPATH | ¹¦ÄÜÓëMAILÀàËÆ.µ«¿ÉÒÔÓÃÒ»×éÎļþ,ÒÔðºÅ·Ö¸ô,ÿ¸öÎļþºó¿É¸úÒ»¸öÎʺźÍÒ»Ìõ·¢ÏòÓû§µÄÏûÏ¢ |
| SHELL | SHELLµÄ·¾¶Ãû |
| TERM | ÖÕ¶ËÀàÐÍ |
| TMOUT | SHELL×Ô¶¯Í˳öµÄʱ¼ä,µ¥Î»ÎªÃë,ÈôÉèΪ0Ôò½ûÖ¹SHELL×Ô¶¯Í˳ö |
| PROMPT_COMMAND | Ö¸¶¨ÔÚÖ÷ÃüÁîÌáʾ·ûǰӦִÐеÄÃüÁî |
| PS1 | Ö÷ÃüÁîÌáʾ·û |
| PS2 | ¶þ¼¶ÃüÁîÌáʾ·û,ÃüÁîÖ´Ðйý³ÌÖÐÒªÇóÊäÈëÊý¾ÝʱÓà |
| PS3 | selectµÄÃüÁîÌáʾ·û |
| PS4 | µ÷ÊÔÃüÁîÌáʾ·û |
| MANPATH | ѰÕÒÊÖ²áÒ³µÄ·¾¶,ÒÔðºÅ·Ö¸ô |
| LD_LIBRARY_PATH | ѰÕÒ¿âµÄ·¾¶,ÒÔðºÅ·Ö¸ô |
ÕâЩ±äÁ¿£¬Òª¹Ø×¢µÄ×î¶àµÄ¾ÍÊÇPATH, ÆäÖØÒªÐÔ²»ÒªÎÒ˵Á˰ɣ¿
Èç¹ûÄãÏ£Íû°ÑÄ㶨ÒåµÄ±äÁ¿ÈÃÆäËûËùÓеÄshell³ÌÐò¶¼ÄÜʹÓã¬Ò²¾ÍÊǶ¨ÒåÐµĻ·¾³±äÁ¿¡£ÄãֻҪʹÓÃexport¹Ø¼ü´Ê¾Í¿ÉÒÔÁË¡£ÀýÈ磺 BeautifierPlugin Error: Unable to handle "bash" syntax.
export MY_NAME=Winter export PATH=/home/winter/bin:$PATH
ÉÏÃæµÄ³ÌÐòÖУ¬µÚÒ»ÐÐÊä³öMY_NAME±äÁ¿£¬µÚ¶þÐÐÊÇÔÚ»·¾³±äÁ¿PATHÖÐÔö¼ÓÒ»¸ö·¾¶/home/winter/bin ¡£Èç¹ûÄãÏ£ÍûÕâЩÉèÖÃÔÚÄãµÇ½unix/linux¶¼ÓÐЧ£¬ÄãÐèÒª°ÑËûÃǼÓÈëµ½ÄãµÄshellÆô¶¯½Å±¾ÖÐ, Èç¹ûÊÇʹÓÃbash BeautifierPlugin Error: Unable to handle "bash" syntax.
~/.bash_profile
ÆäËû°æ±¾Äã¿´Ò»ÑÛ¾ÍÖªµÀÁË£¬ÔÚÄãµÄhomeĿ¼Ï£¬ÒÔ"."¿ªÍ·µÄÎļþ£¬Ò»°ã¶¼»áÒþ²ØÆðÀ´£¬ÄãÐèҪʹÓÃ'ls -al'ÃüÁîÀ´ÏÔʾ
5 07, 2007
ÈçºÎ²éѯÊÓͼÖÐÄÄЩ×Ö¶ÎÊÇÔÊÐí¸üÐÂ
Name Type Nullable Default Comments
----------- ------------ -------- ------- -------------------------
OWNER VARCHAR2(30) Table owner
TABLE_NAME VARCHAR2(30) Table name
COLUMN_NAME VARCHAR2(30) Column name
UPDATABLE VARCHAR2(3) Y Is the column updatable?
INSERTABLE VARCHAR2(3) Y Is the column insertable?
DELETABLE VARCHAR2(3) Y Is the column deletable?
ʹÓÃSelect * From user_Updateable_Columns Where Table_name=Upper('YourViewname') ¼´¿É²éѯÊÓͼÖÐÄÄЩ×Ö¶ÎÊÇÔÊÐí¸üеÄ
15 05, 2007
ÉÏ´«ºÍÏÂÔØEBS¹¦ÄÜ,²Ëµ¥¾ÙÀý
¿ª·¢Íê³É,ÔÚ²âÊÔ»·¾³×¢²á.È»ºóÏÂÔØ,È»ºóÉÏ´«.
#################################
/*Download Form & Function*/
NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK";export NLS_LANG
$FND_TOP/bin/FNDLOAD apps/<password> 0 Y DOWNLOAD @FND:patch/115/import/afsload.lct <your name>.ldt FUNCTION FUNC_APP_SHORT_NAME=<your name> FUNCTION_NAME=<your name>
/*Upload Form & Function*/
$FND_TOP/bin/FNDLOAD apps/<password> 0 Y UPLOAD @FND:patch/115/import/afsload.lct <your name>.ldt
#################################
/*Download Menu*/
/*need download both version of US and ZHS*/
/*Download US version*/
FNDLOAD apps/scerp1 0 Y DOWNLOAD @FND:patch/115/import/afsload.lct menu.ldt MENU MENU_NAME=menu
/*Download ZHS version*/
NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK";export NLS_LANG
FNDLOAD apps/scerp1 0 Y DOWNLOAD @FND:patch/115/import/afsload.lct menu_zhs.ldt MENU MENU_NAME=menu
/*Download Sub Menu*/
FNDLOAD apps/apps 0 Y DOWNLOAD @FND:patch/115/import/afsload.lct CMCC_PA_ASSET_US.ldt MENU PARENT_MENU_NAME="PA_SUPERUSER_GUI (PC)" SUB_MENU_NAME=CMCC_PA_ASSET
/*Upload Menu*/
/*Upload US version first*/
FNDLOAD apps/apps 0 Y UPLOAD @FND:patch/115/import/afsload.lct menu.ldt
/*then upload ZHS*/
FNDLOAD apps/apps 0 Y UPLOAD @FND:patch/115/import/afsload.lct menu_zhs.ldt - UPLOAD_MODE=NLS
#################################
/*Download Request Set*/
1 Request set definitions
FNDLOAD apps/<apps_pwd> 0 Y DOWNLOAD @FND:patch/115/import/afcprset.lct <sample_definitions>.ldt REQ_SET REQUEST_SET_NAME="<Request_Set_Code>"
2 Request set stage link
FNDLOAD apps/<apps_pwd> 0 Y DOWNLOAD @FND:patch/115/import/afcprset.lct <sample_links>.ldt REQ_SET_LINKS REQUEST_SET_NAME="<Request_Set_Code>"
/*Upload Request Set*/
1 Request set definitions
FNDLOAD apps/<apps_pwd> 0 Y UPLOAD @FND:patch/115/import/afcprset.lct <sample_definitions>.ldt
2 Request set stage link
FNDLOAD apps/<apps_pwd> 0 Y UPLOAD @FND:patch/115/import/afcprset.lct <sample_links>.ldt
##################################
/*Download Message*/
/*need download US ans ZHS, same as download MENU*/
FNDLOAD apps/<apps_pwd> 0 Y DOWNLOAD @FND:patch/115/import/afmdmsg.lct message.ldt FND_NEW_MESSAGES MESSAGE_NAME=message_name
/*Upload Message*/
/*upload both of ZHS and US*/
FNDLOAD apps/<apps_pwd> 0 Y UPLOAD @FND:patch/115/import/afmdmsg.lct message.ldt
##################################
/*Download Profile*/
FNDLOAD apps/apps 0 Y DOWNLOAD @FND:patch/115/import/afscprof.lct profile.ldt PROFILE PROFILE_NAME=profile_name
/*Upload Profile*/
FNDLOAD apps/apps 0 Y UPLOAD @FND:patch/115/import/afscprof.lct profile.ldt
#Don't know how to use FND_PROFILE_OPTION_VALUES
###################################
/*Download description flexfield*/
FNDLOAD apps/apps 0 Y DOWNLOAD @FND:patch/115/import/afffload.lct descript_flex.ldt DESC_FLEX DESCRIPTIVE_FLEXFIELD_NAME=description_flexfield_name ---(not title)
click title->help->
diagnostics->
examine->
block=table,field=DESCRIPTIVE_FLEXFIELD_NAME->
description_flexfield_name=value
/*Upload description flexfield*/
FNDLOAD apps/apps 0 Y UPLOAD @FND:patch/115/import/afffload.lct descript_flex.ldt
/*download only 1 context */
FNDLOAD apps/apps 0 Y DOWNLOAD @FND:patch/115/import/afffload.lct descript_flex.ldt DESC_FLEX DESCRIPTIVE_FLEXFIELD_NAME=PER_EVENTS P_CONTEXT_CODE='Global Data Elements' P_LEVEL='COL_ALL:REF_ALL:CTX_ONE:SEG_ALL'
###################################
/*Download valueset*/
FNDLOAD apps/apps 0 Y DOWNLOAD @FND:patch/115/import/afffload.lct valueset.ldt VALUE_SET FLEX_VALUE_SET_NAME=valueset_name
/*Upload description flexfield*/
FNDLOAD apps/apps 0 Y UPLOAD @FND:patch/115/import/afffload.lct valueset.ldt
###################################
/*Upload workflow*/
WFLOAD apps/apps 0 Y UPLOAD workflow.wft
###################################
/* Download Concurrent Programs */
FNDLOAD apps/apps 0 Y DOWNLOAD @FND:patch/115/import/afcpprog.lct concurrent_program.ldt PROGRAM CONCURRENT_PROGRAM_NAME=concurrent_programs APPLICATION_SHORT_NAME=application_short_name
/* Upload Concurrent Programs */
FNDLOAD apps/apps 0 Y UPLOAD @FND:patch/115/import/afcpprog.lct QGLXJLLB.ldt
/* overwrite the old concurrent programs */
FNDLOAD apps/apps 0 Y UPLOAD @FND:patch/115/import/afcpprog.lct QGLPRJNL.ldt - CUSTOM_MODE=FORCE
######################################################
/* compile flexfield structure using unix command */
The syntax for fdfcmp:
For Descriptive Flexfields:
fdfcmp oraid/pswd 0 Y D[escriptive] <appl_short_name> <desc_flex_name>
For Key Flexfields:
fdfcmp oraid/pswd 0 Y K[ey] <appl_short_name> <id_flex_code id_flex_num>
For Reports:
fdfcmp oraid/pswd 0 Y R[eport] <appl_short_name> <report_name>
eg:
fdfcmp apps/apps 0 Y R CGL QCGLJNR1
###################################
/* Download Concurrent Program Printer Style */
FNDLOAD apps/apps 0 Y DOWNLOAD @FND:patch/115/import/afcppstl.lct CMCC_LANDSCAPE_220_66.ldt STYLE PRINTER_STYLE_NAME=CMCC_LANDSCAPE_220_66
######################################################
/* Download Lookups */
FNDLOAD apps/apps 0 Y DOWNLOAD @FND:/patch/115/import/aflvmlu.lct <ldt filename> FND_LOOKUP_TYPE LOOKUP_TYPE=<LOOKUP TYPE NAME>
/* Upload Lookups */
FNDLOAD apps/apps 0 Y UPLOAD @FND:/patch/115/import/aflvmlu.lct <ldt filename>
##################################################################################
web plsql
FNDLOAD apps/apps 0 Y DOWNLOAD @FND:/patch/115/import/afscursp.lct QPACAPITAL_PLSQL.ldt FND_ENABLED_PLSQL PLSQL_NAME=QPACAPITAL
FNDLOAD apps/apps 0 Y UPLOAD @FND:/patch/115/import/afscursp.lct QPACAPITAL_PLSQL.ldt
#############################################################################
11.5.10ÐÂÔöµÄ¡°°ïÖú-Õï¶Ï-×Ô¶¨Òå´úÂë-¸öÐÔ»¯¡±¹¦ÄÜÖеĺ¯Êý¿ÉÒÔͨ¹ýÏÂÃæµÄÓï¾ä½øÐÐÒÆÖ²£º
ÆäÖеġ°function_name¡±¿ÉÒÔ´Ó¡°°ïÖú-Õï¶Ï-×Ô¶¨Òå´úÂë-¸öÐÔ»¯-º¯ÊýÃû¡±ÖлñµÃ¡£
ÏÂÔØ£ºASCII
FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct POXPRREPR.lct FND_FORM_CUSTOM_RULES function_name=PO_POXRQERQ
ÉÏ´«£ºASCII
FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/affrmcus.lct POXPRREPR.lct
15 04, 2007
EBS¿ª·¢»ù´¡ÖªÊ¶
½ü¼¸ÄêÓÐÐÒ²ÎÓëÁËһЩ´ó¿ª·¢ÏîÄ¿µÄÏîÄ¿¹ÜÀíºÍ¼à¶½¹¤×÷£¬·¢Ïֺܶ࿪·¢ÈËÔ±¶ÔһЩ¸ÅÄî»òÕß³ÌÐòµÄд·¨²»ÊǺÜÇå³þ£¬ÕâÒ²°üÀ¨Ò»Ð©¸ß¼¶µÄ¿ª·¢ÈËÔ±Ò²»á·¸Ò»Ð©»ù±¾µÄ´íÎó£¬Òò´ËÎÒ¾ÍÕûÀíһϴó¼ÒÈÝÒ×·¸µÄ´íÎó£¬Ï£Íû´ó¼ÒÄܹ»ÔÚд³ÌÐòµÄʱºòÑø³ÉÁ¼ºÃϰ¹ß¡£
Ò»¡¢ÀýÍâ´¦ÀíÎÊÌâ
ÓкܶàÈËϲ»¶ÔÚ´¦Àíexceptionʱ£¬ÖÃΪ'null'£¬Ó¦¸Ã˵ÕâÊÇÒ»¸öºÜ²»ºÃµÄϰ¹ß£¬Èç¹ûûÓж¨ÒåÌØ¶¨µÄexception£¬×îÆðÂëÓ¦¸Ã°ÑÊý¾Ý¿âµÄ´íÎóÐÅÏ¢ÍêÕûµÄ±¨³öÀ´¡£
´íÎóµÄд·¨£º
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
ÕýÈ·µÄд·¨£º
EXCEPTION
WHEN OTHERS THEN
FND_FILE.PUT_LINE(FND_FILE.OUTPUT, SQLCODE);
FND_FILE.PUT_LINE(FND_FILE.OUTPUT, SQLERRM);
END;
¶þ¡¢²¢·¢ÇëÇóµÄOUTPUTºÍLOG²»·Ö
ÓеÄͬѧÔÚ²¢·¢ÇëÇóÊä³öµÄʱºò£¬²»ÖªµÀÈçºÎ°ÑÈÕÖ¾Êä³ö³öÀ´£¬ÆäʵºÜ¼òµ¥£º
Êä³öµ½ÇëÇóµÄÊä³ö£ºFND_FILE.PUT_LINE(FND_FILE.OUTPUT, 'XXXXXXX');
Êä³öµ½ÇëÇóµÄÈÕÖ¾£ºFND_FILE.PUT_LINE(FND_FILE.LOG, 'XXXXXX');
Ò»°ãÇé¿öÊǰѱ¨±íµÄÄÚÈÝÊä³öµ½OUTPUT£¬°Ñ±¨±íÖмäµÄdebugÂß¼Êä³öµ½logÖС£
Èý¡¢ÔÚEBS»·¾³Ö®ÍâÔËÐÐEBS³ÌÐòµÄ³õʼ»¯ÎÊÌâ
ÎÒÃǾ³£»áÓöµ½ÔÚpl/sqlÖÐÔËÐÐij¸öÊÓͼ£¬²»ÄÜÏÔʾ³öÊý¾Ý£¬µ«ÊÇÔÚ½çÃæÉÏÈ·ÓÐÊý¾Ý£¬ÕâÖ÷ÒªÊÇÒòΪÊÓͼÊÇOUÆÁ±ÎµÄ£¬Òò´ËÐèÒªÄãÔÚpl/sqlÖгõʼ»¯ÄãµÄÉí·Ý£¬³õʼ»¯µÄ³ÌÐòÈçÏ£¬ÕâÑùÄã¾Í¿ÉÒÔÔÚÈκÎpl/sql»·¾³ÖÐÔËÐÐEBSµÄÊÓͼÁË£¬ÀýÈçPO_HEADERS£¬PO_LINESµÈ
BEGIN
FND_GLOBAL.APPS_INITIALIZE(USER_ID => ,RESP_ID => ,RESP_APPL_ID => );
END;
ËÄ¡¢ÏûÏ¢µÄʹÓã¬ÎÒ¾³£¿´µ½ÓеÄͬѧϲ»¶ÔÚFORMÖÐÖ±½ÓʹÓÃFND_MESSAGE.DEBUG('xxxxx');À´ÏÔʾ´íÎó»òÌáʾÐÅÏ¢£¬Êµ¼ÊÉÏÕâÊǷdz£²»ÕýÈ·µÄ×ö·¨¡£
¹ËÃû˼¼°DEBUGÊÇÓÃÀ´µ÷ÊԵ쬲¢²»ÊÇÓÃÀ´½øÐÐÈË»ú½»»¥µÄÓѺõķ½Ê½£¬Ò²²»·ûºÏOracleµÄ±ê×¼Ó÷¨¡£
OracleµÄ±ê×¼Ó÷¨ÊÇʹÓÃFND_MESSAGE.SET_NAME( APPL_SHORT_NAME,MESSAGE_NAME) ;
Ò»°ãÇé¿öÏÂÔÚFORMÖÐÏÔʾ³ö´íÐÅϢʹÓÃÒÔÏ´úÂ룺
FND_MESSAGE.SET_NAME( APPL_SHORT_NAME,MESSAGE_NAME) ;
FND_MESSAGE.ERROR ;
ÔÚPACKAGEÖÐÏÔʾ³ö´íÐÅÏ¢Ò»°ãʹÓÃÒÔÏ´úÂ룺
FND_MESSAGE.SET_NAME( APPL_SHORT_NAME,MESSAGE_NAME) ;
APP_EXCEPTION.RAISE_EXCEPTION ;
È»ºóÔÚEBSµÄÓ¦Óÿª·¢Õß϶¨ÒåÖÐÎĺÍÓ¢ÎÄÏûÏ¢£¬È»ºóÌá½»ÇëÇó"Éú³ÉÐÅÏ¢"À´Éú³ÉÏûÏ¢£¬Ê¹ÓÃÕâÖÖ·½Ê½¿ÉÒÔÊÊÓÃÓÚ¶àÓïÑÔºÍÐÞ¸ÄÈË»ú½çÃæµÄÌáʾÐÅÏ¢£¬¶ø²»ÓÃÈ¥ÐÞ¸ÄÔ´³ÌÐò¡£
Îå¡¢EBSÖпͻ§»¯±í½á¹¹µÄÉè¼ÆÔÔò£º
1)±ØÐë°üÀ¨Ò»¸öÖ÷¼ü£¬²¢½¨Á¢ÏàÓ¦µÄÐòÁУ»
2)½¨Á¢5¸öWHO×Ö¶Î,Ò²¾ÍÊÇ
CREATED_BY NUMBER
CREATION_DATE DATE
LAST_UPDATED_BY NUMBER
LAST_UPDATE_DATE DATE
LAST_UPDATE_LOGIN NUMBER
ÔÚFORMÖÐʹÓÃÊôÐÔÀࣺCREATION_OR_LAST_UPDATE_DATE£¬WHO×ֶβ¢²»»á×Ô¶¯µØ±»¸³Öµ£¬±ØÐë×Ô¼ºÔÚFORMÖбàд´úÂëÀ´Íê³ÉÕâÏ×÷¡£
EBSÖÐÌṩÁËÒ»¸öº¯ÊýFND_STANDARD.SET_WHO£¬´ó¼ÒÖ»ÒªÔÚFORMµÄBLOCK¼¶´¥·¢Æ÷PRE-INSERT/PRE-UPDATEÖнøÐе÷Óü´¿É¡£
3)¶ÔÓÚÒµÎñÊý¾Ý±í£¬Òª¿¼Âǽ¨Á¢15¸öµ¯ÐÔÓò×ֶΣ»
4)Èç¹û¶ÔÓÚÐèÒª²¢·¢ÇëÇó´¦Àí¹ýµÄÊý¾Ý±í£¬ÔòÐèÒªÔö¼Ó¸ú×ÙÇëÇóµÄ4¸ö×Ö¶Î
REQUEST_ID NUMBER
PROGRAM_APPLICATION_ID NUMBER
PROGRAM_ID NUMBER
PROGRAM_UPDATE_DATE DATE
5)Òª¿¼ÂÇÕâ¸ö±íÊÇ·ñÇø·ÖOUºÍ¿â´æ×éÖ¯£»
Áù¡¢ÔÚFORM¿ª·¢Öв»¹ÜÊÇFORM¼¶»¹ÊÇBLOCK¼¶»òÕßITEM¼¶µÄTRIGGER£¬²»Òª°Ñ´úÂëÖ±½Óдµ½TRIGGERÖУ¬ÒªÊ¹ÓÃPROGRAM UNITÀ´´´½¨ÏàÓ¦µÄTRIGGER£¬¾ÙÀýÈçÏ£º
FORM¼¶ºÍBLOCK¼¶¿ÉÒÔ°´ÕÕÏÂÃæ¸ñʽÔÚPROGRAM UNITÖд´½¨PACKAGE£º
PACKAGE BODY FORM_NAME/BLOCK_NAME IS
PROCEDURE EVENT_HANDLER( EVENT IN VARCHAR2)
IS
BEGIN
IF EVENT = 'WHEN-NEW-FORM-INSTANCE' THEN
XXXXXXXX;
ELSIF EVENT = 'PRE-FORM' THEN
XXXXXXXX;
ELSE
APP_EXCEPTION.INVALID_ARGUMENT('EVENT_HANDLER', 'EVENT', EVENT);
END IF;
END EVENT_HANDLER;
END FORM_NAME/BLOCK_NAME;
ITEM¼¶µÄ¿ÉÒÔ°´ÕÕÏÂÃæµÄ¸ñʽ£º
PACKAGE BODY BLOCK_NAME IS
PROCEDURE ITEM_NAME( EVENT IN VARCHAR2)
IS
BEGIN
IF EVENT = 'WHEN-NEW-ITEM-INSTANCE' THEN
XXXXXXXX;
ELSE
APP_EXCEPTION.INVALID_ARGUMENT('ITEM_NAME', 'EVENT', EVENT);
END IF;
END ITEM_NAME;
END BLOCK_NAME;
Æß¡¢ÔÚEBSÈç¹ûҪʹÓõ¯ÐÔÓò»òÔ¤¾¯µÈ£¬Ôò±ØÐëÔÚEBS×¢²áTABLE¼°COLUMN¡£
´Ë×¢²á¹¦ÄÜÊÇͨ¹ýµ÷ÓÃAD_DDº¯Êý°üÀ´ÊµÏֵģº
AD_DD.REGISTER_TABLE ×¢²áTABLE
AD_DD.REGISTER_COLUMN ×¢²áCOLUMN
AD_DD.DELETE_TABLE È¡Ïû×¢²áTABLE
AD_DD.DELETE_COLUMN È¡Ïû×¢²áCOLUMN
29 03, 2007
oracle ERPµÄ£Ó£Ñ£Ì½Å±¾
¿â´æ»õλÁбí.sql
select inventory_location_id,organization_id,description,subinventory_code,segment1 inventory_location_code from MTL_ITEM_LOCATIONSorder by subinventory_code,inventory_location_code
¿â´æ»á¼ÆÆÚ¼ä
SELECT STATUS,PERIOD_NAME,PERIOD_NUMBER,PERIOD_YEAR,START_DATE,END_DATE,CLOSE_DATE,REC_TYPE,
ORGANIZATION_ID
FROM ORG_ACCT_PERIODS_V
WHERE ((rec_type = 'ORG_PERIOD' ))
order by END_DATE desc
¿â´æ×éÖ¯Áбí
select a.organization_id,a.name
FROM hr_all_organization_units a
where a.organization_id>82
ÊÂÎï´¦Àí»î¶¯Áбí
select * from mfg_lookups where lookup_type='MTL_TRANSACTION_ACTION'
ORDER BY LOOKUP_CODE
ÊÂÎï´¦ÀíÀ´Ô´ÀàÐÍÁбí
SELECT TRANSACTION_SOURCE_TYPE_NAME,DESCRIPTION,VALIDATED_FLAG,
TRANSACTION_SOURCE_TYPE_ID,USER_DEFINED_FLAG,DISABLE_DATE
FROM MTL_TXN_SOURCE_TYPES
WHERE USER_DEFINED_FLAG = 'N'
order by transaction_source_type_name
½ÓÊÕÊÂÎï´¦Àí
SELECT t.po_header_id, t.po_line_id, t.po_release_id,
SUM (DECODE (t.transaction_type,
'DELIVER', t.quantity,
'RETURN TO RECEIVING', DECODE (t.destination_type_code,
'INVENTORY', -t.quantity,
'EXPENSE', -t.quantity,
0
),
'CORRECT', DECODE (t.destination_type_code,
'INVENTORY', t.quantity,
'EXPENSE', t.quantity,
0
),
0
)
) deliver_qtya,
SUM ( t.po_unit_price
* t.currency_conversion_rate
* DECODE (t.transaction_type,
'DELIVER', t.quantity,
'RETURN TO RECEIVING', DECODE
(t.destination_type_code,
'INVENTORY', -t.quantity,
'EXPENSE', -t.quantity,
0
),
'CORRECT', DECODE (t.destination_type_code,
'INVENTORY', t.quantity,
'EXPENSE', t.quantity,
0
),
0
)
) deliver_amount,
SUM (DECODE (t.transaction_type,
'RECEIVE', t.quantity,
'RETURN TO VENDOR', -t.quantity,
'CORRECT', DECODE (t.destination_type_code,
'RECEIVING', t.quantity,
0
),
0
)
) receive_qtya,
SUM ( t.po_unit_price
* t.currency_conversion_rate
* DECODE (t.transaction_type,
'RECEIVE', t.quantity,
'RETURN TO VENDOR', -t.quantity,
'CORRECT', DECODE (t.destination_type_code,
'RECEIVING', t.quantity,
0
),
0
)
) receive_amount,
t.unit_of_measure, rsl.item_id, rsl.item_revision,
rsl.item_description, g.period_year, g.period_number,
rsl.from_organization_id
FROM po.rcv_transactions t,
apps.org_acct_periods_v g,
apps.rcv_shipment_lines rsl
WHERE ( t.transaction_type = 'DELIVER'
OR t.transaction_type = 'RETURN TO RECEIVING'
OR t.transaction_type = 'CORRECT'
OR t.transaction_type = 'RECEIVE'
OR t.transaction_type = 'RETURN TO VENDOR'
)
AND t.organization_id = g.organization_id
AND TO_DATE (TO_CHAR (t.transaction_date, 'YYYY-MM-DD'), 'YYYY-MM-DD')
BETWEEN g.start_date
AND g.end_date
AND g.rec_type = 'ORG_PERIOD'
AND rsl.shipment_line_id = t.shipment_line_id
GROUP BY t.po_header_id,
t.po_line_id,
t.po_release_id,
t.unit_of_measure,
rsl.item_id,
rsl.item_revision,
rsl.item_description,
g.period_year,
g.period_number,
rsl.from_organization_id
½ÓÊÕÇøÊýÁ¿½ð¶î
select
/* commented and added following line for 2245286
nvl( PPP.costing_group_id, 1 ) cost_group_id, */
nvl( PPP.costing_group_id, MP.default_cost_group_id) cost_group_id,
MS.item_id inventory_item_id,
msi.description,msi.segment1,
RCV.po_unit_price item_cost,
MS.to_org_primary_quantity RCVQTY,
MS.to_org_primary_quantity *
( RCV.po_unit_price + CSTPPACQ.get_rcv_tax( RCV.transaction_id ) ) *
nvl( decode( nvl(POLL.match_option,'P'),
'P', CSTPPACQ.get_po_rate( RCV.transaction_id ),
'R', RCV.currency_conversion_rate), 1 ) *
( RCV.source_doc_quantity / RCV.primary_quantity ) RCVVAL,
RCV.po_unit_price,
CSTPPACQ.get_rcv_tax( RCV.transaction_id ) dddd,
POLL.match_option,
CSTPPACQ.get_po_rate( RCV.transaction_id ) fffff,
RCV.currency_conversion_rate,
rcv.currency_code,
rcv.currency_conversion_type,
RCV.source_doc_quantity,
RCV.primary_quantity,
CIC.cost_type_id,
CIC.inventory_asset_flag
from
mtl_supply MS,
cst_item_costs CIC,
rcv_transactions RCV,
po_line_locations_all POLL,
po_lines_all POL,
pjm_project_parameters PPP
,mtl_parameters MP
,inv.mtl_system_items_b MSI /* added for 2245286 */
where
MS.supply_type_code = 'RECEIVING' AND
CIC.organization_id = MS.to_organization_id AND
CIC.inventory_item_id (+) = MS.item_id AND
RCV.transaction_id = MS.rcv_transaction_id AND
RCV.source_document_code not in ('INVENTORY, REQ') AND
POLL.line_location_id = RCV.po_line_location_id AND
POL.po_line_id = RCV.po_line_id AND
PPP.project_id (+) = POL.project_id and
MS.to_organization_id = &P_ORG_ID AND
MP.organization_id = &P_ORG_ID and
ms.item_id = msi.inventory_item_id
order by msi.segment1
½ÓÊÕµ¥Áбí
SELECT rt.transaction_id, rt.transaction_type rt_transaction_type,
rt.quantity rt_quantity, rt.quantity_billed rt_quantity_billed,
rt.inspection_status_code rt_inspection_status_code,
rt.inspection_quality_code rt_inspection_quality_code,
rt.destination_type_code rt_destination_type_code,
poh.po_header_id,
poh.segment1,
pol.line_num, pol.line_type_id, pol.item_description,
pol.unit_meas_lookup_code, pol.list_price_per_unit, pol.unit_price,
pol.quantity, pol.qty_rcv_tolerance, pol.closed_code, rsh.receipt_num,
rsl.line_num, rsl.quantity_shipped, rsl.quantity_received,
rsl.shipment_line_status_code, rsl.source_document_code,
rsl.destination_type_code, rsl.asn_line_flag
FROM PO.rcv_transactions rt,
PO.rcv_shipment_headers rsh,
PO.rcv_shipment_lines rsl,
PO.po_headers_all poh,
PO.po_lines_all pol
WHERE rsh.shipment_header_id = rt.shipment_header_id
AND rsl.shipment_line_id = rt.shipment_line_id
AND poh.po_header_id(+) = rt.po_header_id
AND pol.po_line_id(+) = rt.po_line_id
AND EXISTS(SELECT * FROM APPS.po_lookup_codes plc1 WHERE plc1.lookup_type = 'RCV TRANSACTION TYPE'
AND rt.transaction_type = plc1.lookup_code)
AND EXISTS(SELECT * FROM APPS.po_lookup_codes plc1 WHERE plc1.lookup_type = 'SHIPMENT SOURCE TYPE'
AND rsh.receipt_source_code = plc1.lookup_code)
AND EXISTS(SELECT * FROM APPS.po_lookup_codes plc1 WHERE plc1.lookup_type = 'RCV DESTINATION TYPE'
AND rt.destination_type_code = plc1.lookup_code)
AND EXISTS(SELECT * FROM APPS.po_lookup_codes plc1 WHERE plc1.lookup_type = 'SHIPMENT SOURCE DOCUMENT TYPE'
AND rt.source_document_code = plc1.lookup_code)
´Ó×ÜÕÊ×·Ëݵ½½ÓÊÕ
SELECT je_header_id, je_line_num, trx_class_name, trx_type_name, trx_number_displayed, trx_date,
comments, doc_sequence_name, doc_sequence_value, acct_line_type_name,
currency_code, entered_dr, entered_cr, accounted_dr, accounted_cr,
taxable_entered_dr, taxable_entered_cr, taxable_accounted_dr,
taxable_accounted_cr, currency_conversion_date,
currency_user_conversion_type, currency_conversion_rate,
third_party_name, third_party_number, third_party_sub_name,
accounting_date, gl_transfer_status_name, transfer_system_name,
gl_transfer_from_to_name, accounting_complete_name,
ae_line_reference, tax_code, accounting_rule_name, tax_exempt_number,
trx_line_type_name, trx_line_number, trx_detail_line_number,
trx_quantity, sales_order_number, salesrep_name, tax_rate,
unit_selling_price, trx_uom, trx_source_name, asset_number,
asset_description, asset_book_type_code, accounting_event_number,
accounting_event_type, accounting_event_type_name,
accounting_line_number, aeh_accounting_error_name,
ael_accounting_error_name, user_je_category_name,
transfer_status_detail_name, application_date,
applied_to_trx_hdr_currency, applied_to_trx_hdr_date,
applied_to_trx_hdr_id, applied_to_trx_hdr_number_c,
applied_to_trx_hdr_number_disp, applied_to_trx_hdr_table,
applied_to_trx_line_number, applied_to_trx_line_type,
applied_to_trx_line_type_name, ar_activity_name,
ar_adjustment_creation_type, ar_adjustment_type, bank_account_name,
bank_statement_doc_seq_id, bank_statement_doc_seq_name,
bank_statement_doc_seq_value, bank_statement_line_number,
bank_statement_number, bom_department_code, bom_department_name,
chargeback_number, cost_element_id, cost_element_name,
distribution_set_name, gl_batch_id, inventory_item_locator_id,
inventory_item_locator_name, inventory_item_revision,
item_description, inventory_organization_code,
inventory_organization_id, cost_type_id, cost_type_name,
mfg_operation_seq_num, payment_cleared_date, payment_date,
payment_deposit_date, payment_number, payment_recon_currency,
po_line_num, po_order_number, po_order_release_num, price_override,
po_order_shipment_num, po_order_distribution_num, po_order_type,
rcv_receipt_num, rcv_shipment_header_id, reversal_comments,
reversal_date, subinventory, trx_hdr_currency, trx_reason_name,
trx_source_type_id, trx_source_type_name, unit_cost, unit_price,
wip_assembly, wip_basis, wip_flow_sched