Analyst / Programmer
I have been trying to configure a webservice for the OSE in a JSP development plan, but I keep getting this error:
java.sql.SQLException: ORA-29540: class oracle/aurora/namespace/shell/sql/ShellStoredProc does not exist
ORA-06512: at "SYSTEM.DBMS_NAMESPACE", line 0
ORA-06512: at line 1
in the sess_sh environment after issuing the createwebservice command, as suggested by the documentation.
I would appreciate any help I can get either to explain this or suggest a work around.
Regards,
Segun
-
Similar Messages
-
Oracle BPEL - Does not cater for not null columns and use of "default".
Oracle BPEL - Does not cater for not null columns and use of "default".
BPEL fails with message:
ORA-01400: cannot insert NULL into ("EDDB"."SEISMIC_LINES"."COORD_SYSTEM_ID")
But SQL*PLUS command works:
INSERT into EDDB.SEISMIC_LINES
(etc)
regards
Allan Ford
Analyst / Programmer - IT Application Services, IT Services, Shared Business Services
Santos Ltd
Level 4, 91 King William Street, Adelaide SA 5000
Phone: 08 8224 7944 Fax: 08 8218 5320
Email: [email protected]note: BPEL keeps it's own "offline" copy of table and database items. A column that is marked not null in the database can be marked as nullable in this area. (if you kmow that a trigger is going to cater for this ..)
One workaround is to use a trigger to provide value rather than use the column default .. -
How do I have two audio clips overlapping each other?
I have a project where we have to make a music video, and I wanted to start working on the audio. I have an audio clip of the instrumental without me singing the song. I made a separate audio clip of me just singing the song because I wanted to be able to use autotune without changing how the music sounded. Now I want to play both clips at the same time but every time I try to do it the clips just change positions. Also I have another audio clip in the beginning of the video that I don't want changed or moved. I've tried googling and searching on youtube but nothing seems to help.
Don't think it's on the Exchange yet (why would I ask for something I have configured already?). Maybe I'll add it later on, but don't understand me wrong, I fully respect the preference is different depending on the user.
Just my common sense as analyst-programmer that tells me not to close something automatically by default (so only on first install). Your product, your call ;)
Regards,
K. -
Calendar in 9.2.1 freezes after working
I had the problem common to many of iphoto freezing after an upgrade from 8. 9.0 worked, but suddenly was not acceptable and update to 9.1 was required. I tried all of the solutions I could find out here. None worked and the entire program continued to freeze. 9.2.1 worked fine to open the program, add pictures, and do the other things I tried and I thought I was over the hump, even though I didn't (and don't ) know what caused the problem. I began a calendar (the project that began all of the problems).. It worked. I exited iPhoto while still in the calendar mode. The quit worked fine. Now I try to open iPhoto, and it goes to the calendar, displays what I have done (very little), and then freezes with the spinning ball of death. I've rebuilt various things (no help), tried to rebuild in iPhoto Library Manager (on rebuild it opens iPhoto names the new file and then just sits...maybe I didn't wait long enough only about 2 minutes), looked to see if I have themes (I have themes, but none related to calendars appear to be there. should there be?), and am now out of ideas. I have version 8.2 and an appropriate library and it works, but no calendars there, but no freeze when trying to creat one. This leads me to believe that the calendar themes might be missing somehow.
I've been trying to get going on an annual holiday calendar for 3 months now. Time is short. I'm not new at all of this, I was an analyst/programmer and helped manage tech support for a large school district. This is the very worst and most problematic issue I've had in my 30+ years of working with Apple products.
HELP!!! Surely there is a solution less cumbersome than installing 9.0 and going through all the upgrades...
Thanks,
Chuck BoodyAnd now I've gone through the upgrades from 9.0 over again. The problem continues....
-
Having trouble browsing the internet at home with my MacBook
I have been having issues browsing the web from home with my MacBook. When I try to go to pretty much any web site (Google, Yahoo!, Facebook, etc) the page starts loading and makes minimal progress before it stalls and I'm staring at a blank white browser window. The page will eventually load after about 3-4 minutes but only partially.
I have a Belkin N+ router (model F5D8235-4 v2) and a fiber optic internet service. My sister and my brother-in-law are able to access any and all sites quickly and completely. She has a MacBook Pro and he has a Dell Inspiron (so it doesn't seem to be a Mac vs Windows issue). We have tried changing the router password type from WEP to WPA. I've tried to hardwire into my router with no success. I have cleared my entire cache, history, and cookies - still no change. I have also not had any success with using a different browser.
I have no issues when I'm using my Mac at work (on a T1 line with an Ethernet cable) or at my mother's house (Netgear ADSL2+ wireless router). I'm curious as to what I can do to fix this. My Mac friends at work and my systems analyst/programmer dad are all as confused as I am. Any insight would be greatly appreciated. Thank you!!The Learning Center uses Flash. My guess is that you probably installed the PowerPC Flash plugin and replaced the Universal plugin that ships with the Intel-based Macs.
To restore the Universal version of the plugin, go to http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=2dda3d81 and download the preview release. -
PDF not generated in Report builder 3.0
Here, I m using Oracle Report Builder 3.0 Rel 2.1. I am running a report from FORM through RUN_PRODUCT , problem is that when i generate the PDF file it shows sometime message of formula column error which is i have seen in rdf is correct and some time it creates blank. But in this report Report Builder Parameter Form also exists , i hide this parameter form in FORM thourgh PARAMFORM in ADD_PARAMETER. I think it requires the parameter values that report generated PDF blank or generated an error of formula column. But i run this report through report parameter form and generate PDF correctly.
Please Help me this regards
Shahid Shafi
Analyst/Programmer
Novartis Pharma (Pakistan) Ltd.
[email protected]Hi KanataPablo,
According to your description, it seems that you are using linked server to pass value to oracle. Seeing that the query is worked well in Management Studio, you may have the permission to connect to oracle (In this scenario, make sure the users to run the
query in SSMS and Report Builder are the same user). So this issue can be caused by the user’s permission to connect to report server, the credential of data source and the dynamic query.
We can add the current user as a Login, then click Properties and navigate to User Mappings page, enable ReportServer and ReportServerTempDB options.
We can try to type user name and password, and enable “Use as Windows credentials” as the credential used to connect to data source.
Try with dynamic query:
="Select column1, column2 From tableName where ID IN (" + JOIN(Parameters!param1.value, ",") + ")"
Hope this helps.
Thanks,
Katherine Xiong
Katherine Xiong
TechNet Community Support -
How to work with Bangla in ADF (Jdeveloper 11g Release 2)
Hi
I am Jahid From Bangladesh. Recently I am working with ADF (Oracle Jdeveloper 11g). I am working with a project like newsroom service. I need to extract bangla and other language text from other site. So i need to work with Multiple language in ADF specially with Bangla. Can anybody help me specifically step by step. I am new in ADF just beginner.
Thanks in advance.
Jahid
Analyst Programmer
IBCS-PRIMAX (Bangladesh) Ltd.You application character set should be unicode
this can help http://download.oracle.com/docs/cd/E12839_01/web.1111/b31973/af_global.htm#CHDGCAFI -
Hi there,
I have a number of table manager classes, each of which saves data to
their respective table in the database. With these tables it is likely
that they may be locked by other users on occasion so I have put in
exception handlers on the managers to cater for this. The user has the
option to keep trying or give up and try again later.
Now sometimes three or more tables may need to be updated together and if
one fails to commit then no data for the three tables should be saved to
the database. In such a case the 'save' method of the three or more table
managers are called from a single method within one 'dependent' forte
transaction. Before calling the save methods, I call another method which
starts a SQL 'read write wait 10' transaction reserving each table needed
within the transaction.
I have read through the Transactions chapter of the Forte Accessing
Databases manual and see examples where a number of SQL statements are
included within a transaction and each one commits only if all are
successful at the end of the transaction. I assumed my approach would be
similar especially when using the 'begin dependent transaction' statement.
But if the application gets around to saving the second table which is
locked and the user decides not to commit, the first table is still updated
in the database.
Is it because my SQL statements are in seperate methods and are commited
when the method is complete? Or am I missing something somewhere?
Any help greatly appreciated.
Thank you.
Vanessa.
===========================================< @
===========================================Vanessa Rumball
Analyst Programmer Phone: (03) 479 8285
A.T.S. Fax: (03) 479 5080
University of Otago Email: [email protected]
PO Box 56
Dunedin
New Zealand
===========================================< @
===========================================-
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>Hello Peter,
Well, we are using a slightly different approach. We have a SO
(we call it Persistence Manager)
and DBSession SO (user visible) in one partition. This partition
is load balanced.
All database activity is in the Persistence Manager - in one
partition that uses one DBSession. In this approach we do not
have possibility for deadlocks between different DBSessions
because for example an activity that involves several tables
will be executed within one DBSession. And since this partition
is load balanced, the access to the database will not be
blocked.
Hope this makes sense.
Best regards,
Dimitar mailto:[email protected]
Monday, May 17, 1999, 1:55:35 PM, you wrote:
PSHAMSDI> Hi,
PSHAMSDI> I would like to add to the question on the concern on sharing DBSession.
PSHAMSDI> The fact that a DBSession is shared and is blocked from other threads within
PSHAMSDI> a transaction make it a candidate for "dead-lock". That's why in my
PSHAMSDI> application, up until now, I dare not to load-balance a DBSession or involve
PSHAMSDI> multiple DBSessions in a update transaction. I have experience that when
PSHAMSDI> multiple DBSessions are involved in a update transaction, there is a great
PSHAMSDI> choice that the DBSessions are dead-locked by different threads.
PSHAMSDI> The way that we do it now is very dumb and hard to maintain. We pass the
PSHAMSDI> DBSession along for all the calls involved in a update transaction.
PSHAMSDI> However, if someone forget to follow the convention, the application will
PSHAMSDI> get dead-locked and I have to use dumb status on the partitions to trace
PSHAMSDI> back the invoking method. It is horrible and with no guarentee to find the
PSHAMSDI> source of the problem.
PSHAMSDI> I have figured a more extensive architecture to solve this problem. But
PSHAMSDI> before I fully implement my design, I would like to know if there is already
PSHAMSDI> a elegant solution out there.
PSHAMSDI> Thanks for any help in advance.
PSHAMSDI> Best regards,
PSHAMSDI> Peter Sham.
PSHAMSDI> -----Original Message-----
PSHAMSDI> From: Dimitar Gospodinov [SMTP:[email protected]]
PSHAMSDI> Sent: Monday, May 17, 1999 2:47 PM
PSHAMSDI> To: Vanessa Rumball
PSHAMSDI> Cc: [email protected]
PSHAMSDI> Subject: Re: Transaction Management
PSHAMSDI> Hello Vanessa,
PSHAMSDI> You should use dependent transactions - the "begin
PSHAMSDI> transaction"
PSHAMSDI> statement is equal to "begin dependent transaction" statement.
PSHAMSDI> So you can have several methods for saving the data in
PSHAMSDI> different
PSHAMSDI> tables - all these method contain "begin transaction .. end
PSHAMSDI> transaction" construction.
PSHAMSDI> Then you can have one "wrapper" method that calls the above
PSHAMSDI> methods. This method also contains "begin transaction .. end
PSHAMSDI> transaction" construction.
PSHAMSDI> Now you have dependent transactions - if some of the
PSHAMSDI> transaction
PSHAMSDI> fails , the whole bunch of transaction will fail.
PSHAMSDI> If you want to catch the Deadlocks you may register for the
PSHAMSDI> AbortException exception and re-try your outermost
PSHAMSDI> transaction.
PSHAMSDI> Hope this helps.
PSHAMSDI> Best regards,
PSHAMSDI> Dimitar mailto:[email protected]
PSHAMSDI> Monday, May 17, 1999, 6:08:17 AM, you wrote:
PSHAMSDI> VR> Hi there,
PSHAMSDI> VR> I have a number of table manager classes, each of which saves
PSHAMSDI> data to
PSHAMSDI> VR> their respective table in the database. With these tables it is
PSHAMSDI> likely
PSHAMSDI> VR> that they may be locked by other users on occasion so I have put
PSHAMSDI> in
PSHAMSDI> VR> exception handlers on the managers to cater for this. The user
PSHAMSDI> has the
PSHAMSDI> VR> option to keep trying or give up and try again later.
PSHAMSDI> VR> Now sometimes three or more tables may need to be updated
PSHAMSDI> together and if
PSHAMSDI> VR> one fails to commit then no data for the three tables should be
PSHAMSDI> saved to
PSHAMSDI> VR> the database. In such a case the 'save' method of the three or
PSHAMSDI> more table
PSHAMSDI> VR> managers are called from a single method within one 'dependent'
PSHAMSDI> forte
PSHAMSDI> VR> transaction. Before calling the save methods, I call another
PSHAMSDI> method which
PSHAMSDI> VR> starts a SQL 'read write wait 10' transaction reserving each
PSHAMSDI> table needed
PSHAMSDI> VR> within the transaction.
PSHAMSDI> VR> I have read through the Transactions chapter of the Forte
PSHAMSDI> Accessing
PSHAMSDI> VR> Databases manual and see examples where a number of SQL
PSHAMSDI> statements are
PSHAMSDI> VR> included within a transaction and each one commits only if all
PSHAMSDI> are
PSHAMSDI> VR> successful at the end of the transaction. I assumed my approach
PSHAMSDI> would be
PSHAMSDI> VR> similar especially when using the 'begin dependent transaction'
PSHAMSDI> statement.
PSHAMSDI> VR> But if the application gets around to saving the second table
PSHAMSDI> which is
PSHAMSDI> VR> locked and the user decides not to commit, the first table is
PSHAMSDI> still updated
PSHAMSDI> VR> in the database.
PSHAMSDI> VR> Is it because my SQL statements are in seperate methods and
PSHAMSDI> are commited
PSHAMSDI> VR> when the method is complete? Or am I missing something
PSHAMSDI> somewhere?
PSHAMSDI> VR> Any help greatly appreciated.
PSHAMSDI> VR> Thank you.
PSHAMSDI> VR> Vanessa.
PSHAMSDI> VR> ===========================================< @
PSHAMSDI> >>===========================================
PSHAMSDI> VR> Vanessa Rumball
PSHAMSDI> VR> Analyst Programmer Phone: (03) 479 8285
PSHAMSDI> VR> A.T.S. Fax: (03) 479 5080
PSHAMSDI> VR> University of Otago Email:
PSHAMSDI> [email protected]
PSHAMSDI> VR> PO Box 56
PSHAMSDI> VR> Dunedin
PSHAMSDI> VR> New Zealand
PSHAMSDI> VR> ===========================================< @
PSHAMSDI> >>===========================================
PSHAMSDI> VR> -
PSHAMSDI> VR> To unsubscribe, email '[email protected]' with
PSHAMSDI> VR> 'unsubscribe forte-users' as the body of the message.
PSHAMSDI> VR> Searchable thread archive
PSHAMSDI> <URL:http://pinehurst.sageit.com/listarchive/>
PSHAMSDI> -
PSHAMSDI> To unsubscribe, email '[email protected]' with
PSHAMSDI> 'unsubscribe forte-users' as the body of the message.
PSHAMSDI> Searchable thread archive
PSHAMSDI> <URL:http://pinehurst.sageit.com/listarchive/>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/> -
Developing ETL in pl/sql instead of using tools
I've been developing for many years in pl/sql and c-shell scripting (Unix) for managing ETL processes in order to load and perform data into databases and data warehouses.
Even if I've rarely used tools like Pentaho and never used Oracle Warehouse Builder, according to you is it possible to claim that an analyst/programmer has developed ETL processes only by using classic developing (plsql, c-shell, external tables, ...)?
For a forthcoming new project I'd like to work for as a data warehouse analyst/programmer for ETL processes, I'd like to know whether I can claim to be able to write ETL procedures even if I don't use data integration tools.
Thank you very much!odie_63 wrote:
BluShadow wrote:
In the end I wrote an XML Schema parser that created 'staging' tables based on that schema, and also generated template 'mapping' packages to be used for populating the staging tables from our various source system.Slightly off-topic but out of curiosity, do you handle all XML schema features such as substitution groups and import/include directives?Not quite ALL schema features (didn't quite have time to include them all) but yes, it does parse for substitution groups and import/include directives (which is another thing a lot of the ETL tools couldn't handle). The XML Schemas we were supplied with came in many parts but were inter-related, so I ended up writing a proper recursive parser using the DBMS_XMLDOM package and the XDB (where the Schema's were FTP'd to, stored, and queried from). Also had to deal with namespaces (which in this particular instance were pointless namespaces; there was no need for them in these particular Schemas, but obviously the 'designer' behind the schemas thought it was good to include them). The parser takes the schemas (starting at the main schema and including the others as required), processes them to create a metadata table containing all the information about the element names, datatypes, namespaces and parent elements etc. so essentially giving a set of hierarchical data, which is then post-processed to flatten the structure as much as required to obtain the actual datatypes of simple elements, and expand the extensions etc. whilst at the same time creating a set of metadata to assign 'table names' to each group of elements (as element names can exceed the 30 character limit of oracle table names), then creates scripts to generate the staging tables with appropriate primary/foreign keys so all the tables have the correct relationship, as well as the XML generating package that can generate pieces of XML from each table and combines them to the required output XML (once there's data in the tables of course).
Considering I had little experience of XML Schemas and namespaces at the time I wrote it, back in 2005/6 (I did have experience of DTD's), I used my knowledge of writing language/syntax parsers and knowledge of what ETL tools aimed to do (easily gained knowledge from all the demonstrations the companies trying to sell them gave us) to write the parser and the ETL process. Other organisations, related to our own, also had the same task to do, and some of those were struggling (as they too had no ETL tool) so were provided with what we'd achieved as their starting point, and to great success, as far as I'm aware. It certainly proved itself worthy, when the 3rd party supplied us with completely restructured Schemas (a whole overhaul of the final product), and we just ran those through the parser in another database schema, and did a staging table comparison to see what changes had been made overall (they hadn't supplied any details themselves of what had changed, it was up to us to find out); that whole process of parsing the schemas and analysing the differences to determine the impact on our current work, was all done in 2 days, something which surprised our management greatly (especially as other organisations having to do the same, were reporting it was going to take them several weeks). Sure, there are areas for improvement in it, but it more than meets our needs.
:) -
Sample ALV report required for FI module
Hello friends,
I am develoing ALV report for FI module for that i need some sample ALV report. If someone have than please send it to me.
Thanx & Regards,
Rahul TaleleHI,
SEE THE SAMPLE REPORT
Fringe Benefit Tax Report
Program Name :
Object ID :
Functional Analyst :
Programmer :
Start date :
Initial CTS :
Description : FRINGE Benefit Tax
Includes :
Function Modules :
Logical database :
Transaction Code :
External references :
Modification Log
Date | Modified by | CTS number | Comments
| | | Initial Version *
REPORT ZFI_FBT NO STANDARD PAGE HEADING LINE-SIZE 255.
TYPE-POOLS: SLIS.
TYPES : BEGIN OF
T_BSIS,
BUKRS TYPE BUKRS, " Company Code
HKONT TYPE HKONT, " General Ledger Account
GJAHR TYPE GJAHR,
BELNR TYPE BELNR_D, " Accounting Document Number
BUDAT TYPE BUDAT, " Posting Date in the Document
BLDAT TYPE BLDAT, " Document Date in Document
XBLNR TYPE XBLNR1, " Reference Document Number
BSCHL TYPE BSCHL, " Posting Key
DMBTR TYPE DMBTR, " Amount in Local Currency
AUFNR TYPE AUFNR_NEU, " Order Number
NONFBT TYPE DMBTR, " non fbt amount
SUBFBT TYPE DMBTR, " subject to fbt amount
ZFI_FBT TYPE ZFI_FBT, " Qualifying amount.
AMOUNT TYPE DMBTR,
FBTPAY TYPE DMBTR,
ZFI_PAY TYPE ZFI_PAY,
END OF T_BSIS,
T_IT_BSIS TYPE STANDARD TABLE OF T_BSIS.
TYPES : BEGIN OF T_FRINGE,
ZFI_HKONT TYPE HKONT,
ZFI_FBT TYPE ZFI_FBT,
ZFI_PAY TYPE ZFI_PAY,
END OF T_FRINGE,
T_IT_FRINGE TYPE STANDARD TABLE OF T_FRINGE.
DATA : GIT_FRINGE TYPE T_IT_FRINGE,
GWA_FRINGE TYPE T_FRINGE.
DATA : GIT_BSIS TYPE T_IT_BSIS,
GWA_BSIS TYPE T_BSIS.
DATA : G_HKONT TYPE HKONT,
G_BUDAT TYPE BUDAT,
G_AUFNR TYPE AUFNR_NEU.
FIELD-SYMBOLS : <BSIS> TYPE T_BSIS.
DATA : G_REPID TYPE SY-REPID,
GIT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
GWA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
GT_SORT TYPE SLIS_T_SORTINFO_ALV,
GT_EVENTS TYPE SLIS_T_EVENT,
GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
GS_LAYOUT TYPE SLIS_LAYOUT_ALV.
GS_LAYOUT-ZEBRA = 'X'.
GS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
CONSTANTS : C_50(2) TYPE C VALUE '50'.
SELECTION SCREEN DEFINITIONS
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS : P_BUKRS TYPE BUKRS DEFAULT 'H901' OBLIGATORY.
SELECT-OPTIONS : S_HKONT FOR G_HKONT,
S_BUDAT FOR G_BUDAT.
*PARAMETERS : P_AUFNR TYPE AUFNR_NEU DEFAULT '000000100001' OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B1.
EVENTS
INITIALIZATION.
INITIALIZATION.
G_REPID = SY-REPID.
AT SELECTION-SCREEN
AT SELECTION-SCREEN.
PERFORM GET_ZTABLE. " get data from ZFII_FRINGE table
START-OF-SELECTION.
START-OF-SELECTION.
PERFORM GET_DATA. " get data from BSIS table
IF NOT GIT_BSIS IS INITIAL.
PERFORM GET_PERCENTAGE. " to get the percentages from table ZFII_FRINGE
PERFORM CHK4_INTERNAL. " checking for the posting key wheather th document is reversed
" and checking wheather internal order is FBT or non-FBT
ENDIF.
END-OF-SELECTION.
END-OF-SELECTION.
IF NOT GIT_BSIS IS INITIAL.
PERFORM DISPLAY. " display ALV GRID display
ENDIF.
*& Form get_data
text
--> p1 text
<-- p2 text
FORM GET_DATA .
SELECT
BUKRS
HKONT
GJAHR
BELNR
BUDAT
BLDAT
XBLNR
BSCHL
DMBTR
AUFNR FROM BSIS
INTO TABLE GIT_BSIS
WHERE BUKRS EQ P_BUKRS AND
HKONT IN S_HKONT AND
BUDAT IN S_BUDAT.
IF SY-SUBRC NE 0.
MESSAGE I000(ZFI) WITH 'No data exist'.
EXIT.
ENDIF.
ENDFORM. " get_data
*& Form display
FORM DISPLAY .
PERFORM BUILD_FIELD_CATALOUGE.
PERFORM GET_EVENTS.
PERFORM DETERMINE_SORT_SEQUENCE.
PERFORM SUB_COMMENTERY_BUILD.
PERFORM ALV_DISPLAY.
ENDFORM. " display
*& Form build_field_catalouge
FORM BUILD_FIELD_CATALOUGE.
DATA : L_POS TYPE I.
L_POS = 1 .
PERFORM INIT_FIELD_CATALOG USING GIT_FIELDCAT[] " Field Catalog
L_POS " Column Position
'HKONT' " InTab Field Name
'GIT_BSIS' " InTab Name
'10' " Output Length
'GL Account' " Column Name Text
' ' " Datatype
'X' " Key?
'1' " Row Position
' ' " Hotspot
' ' " Emphasize
' ' " key_sel
' ' " justification
' '. " Sum field?
L_POS = L_POS + 1 .
PERFORM INIT_FIELD_CATALOG USING GIT_FIELDCAT[] " Field Catalog
L_POS " Column Position
'BELNR' " InTab Field Name
'GIT_BSIS' " InTab Name
'10' " Output Length
'Document No.' " Column Name Text
' ' " Datatype
'X' " Key?
'1' " Row Position
'X' " Hotspot
' ' " Emphasize
' ' " key_sel
' ' " justification
' '. " Sum field?
L_POS = L_POS + 1 .
PERFORM INIT_FIELD_CATALOG USING GIT_FIELDCAT[] " Field Catalog
L_POS " Column Position
'BUDAT' " InTab Field Name
'GIT_BSIS' " InTab Name
'10' " Output Length
'Posting Date' " Column Name Text
' ' " Datatype
' ' " Key?
'1' " Row Position
' ' " Hotspot
' ' " Emphasize
' ' " key_sel
' ' " justification
' '. " Sum field?
L_POS = L_POS + 1 .
PERFORM INIT_FIELD_CATALOG USING GIT_FIELDCAT[] " Field Catalog
L_POS " Column Position
'BLDAT' " InTab Field Name
'GIT_BSIS' " InTab Name
'10' " Output Length
'Docu. Date' " Column Name Text
' ' " Datatype
' ' " Key?
'1' " Row Position
' ' " Hotspot
' ' " Emphasize
' ' " key_sel
' ' " justification
' '. " Sum field?
L_POS = L_POS + 1 .
PERFORM INIT_FIELD_CATALOG USING GIT_FIELDCAT[] " Field Catalog
L_POS " Column Position
'XBLNR' " InTab Field Name
'GIT_BSIS' " InTab Name
'16' " Output Length
'Ref. Doc. Number' " Column Name Text
' ' " Datatype
' ' " Key?
'1' " Row Position
' ' " Hotspot
' ' " Emphasize
' ' " key_sel
' ' " justification
'X'. " Sum field?
L_POS = L_POS + 1 .
PERFORM INIT_FIELD_CATALOG USING GIT_FIELDCAT[] " Field Catalog
L_POS " Column Position
'DMBTR' " InTab Field Name
'GIT_BSIS' " InTab Name
'16' " Output Length
'Gross Amount' " Column Name Text
' ' " Datatype
' ' " Key?
'1' " Row Position
' ' " Hotspot
' ' " Emphasize
' ' " key_sel
' ' " justification
'X'. " Sum field?
L_POS = L_POS + 1 .
PERFORM INIT_FIELD_CATALOG USING GIT_FIELDCAT[] " Field Catalog
L_POS " Column Position
'SUBFBT' " InTab Field Name
'GIT_BSIS' " InTab Name
'16' " Output Length
'FBT Amount' " Column Name Text
' ' " Datatype
' ' " Key?
'1' " Row Position
' ' " Hotspot
' ' " Emphasize
' ' " key_sel
' ' " justification
'X'. " Sum field?
L_POS = L_POS + 1 .
PERFORM INIT_FIELD_CATALOG USING GIT_FIELDCAT[] " Field Catalog
L_POS " Column Position
'NONFBT' " InTab Field Name
'GIT_BSIS' " InTab Name
'16' " Output Length
'Non FBT Amount' " Column Name Text
' ' " Datatype
' ' " Key?
'1' " Row Position
' ' " Hotspot
' ' " Emphasize
' ' " key_sel
' ' " justification
'X'. " Sum field?
L_POS = L_POS + 1 .
PERFORM INIT_FIELD_CATALOG USING GIT_FIELDCAT[] " Field Catalog
L_POS " Column Position
'ZFI_FBT' " InTab Field Name
'GIT_BSIS' " InTab Name
'12' " Output Length
'Percentage' " Column Name Text
' ' " Datatype
' ' " Key?
'1' " Row Position
' ' " Hotspot
' ' " Emphasize
' ' " key_sel
' ' " justification
' '. " Sum field?
L_POS = L_POS + 1 .
PERFORM INIT_FIELD_CATALOG USING GIT_FIELDCAT[] " Field Catalog
L_POS " Column Position
'AMOUNT' " InTab Field Name
'GIT_BSIS' " InTab Name
'16' " Output Length
'Qualifying Amount' " Column Name Text
' ' " Datatype
' ' " Key?
'1' " Row Position
' ' " Hotspot
' ' " Emphasize
' ' " key_sel
' ' " justification
'X'. " Sum field?
L_POS = L_POS + 1 .
PERFORM INIT_FIELD_CATALOG USING GIT_FIELDCAT[] " Field Catalog
L_POS " Column Position
'FBTPAY' " InTab Field Name
'GIT_BSIS' " InTab Name
'12' " Output Length
'FBT payable' " Column Name Text
' ' " Datatype
' ' " Key?
'1' " Row Position
' ' " Hotspot
' ' " Emphasize
' ' " key_sel
' ' " justification
'X'. " Sum field?
ENDFORM. " build_field_catalouge
*& Form init_field_catalog
text
FORM INIT_FIELD_CATALOG USING P_GIT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV
PV_POS LIKE GWA_FIELDCAT-COL_POS
PV_FIELDNAME LIKE GWA_FIELDCAT-FIELDNAME
PV_TABNAME LIKE GWA_FIELDCAT-TABNAME
PV_OUTPUT LIKE GWA_FIELDCAT-OUTPUTLEN
PV_SELTEXT LIKE GWA_FIELDCAT-SELTEXT_M
PV_DATATYPE LIKE GWA_FIELDCAT-DATATYPE
PV_KEY LIKE GWA_FIELDCAT-KEY
PV_ROW LIKE GWA_FIELDCAT-ROW_POS
PV_HOTSPOT LIKE GWA_FIELDCAT-HOTSPOT
PV_EMPHASIZE LIKE GWA_FIELDCAT-EMPHASIZE
PV_KEY_SEL LIKE GWA_FIELDCAT-KEY_SEL
PV_JUST LIKE GWA_FIELDCAT-JUST
PV_SUM LIKE GWA_FIELDCAT-DO_SUM.
DATA: LT_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
LT_FIELDCAT-OUTPUTLEN = PV_OUTPUT.
LT_FIELDCAT-COL_POS = PV_POS.
LT_FIELDCAT-FIELDNAME = PV_FIELDNAME.
LT_FIELDCAT-TABNAME = PV_TABNAME.
LT_FIELDCAT-SELTEXT_M = PV_SELTEXT.
LT_FIELDCAT-KEY = PV_KEY.
LT_FIELDCAT-ROW_POS = PV_ROW.
LT_FIELDCAT-HOTSPOT = PV_HOTSPOT.
LT_FIELDCAT-EMPHASIZE = PV_EMPHASIZE.
LT_FIELDCAT-KEY_SEL = PV_KEY_SEL.
LT_FIELDCAT-DO_SUM = PV_SUM.
LT_FIELDCAT-JUST = PV_JUST.
LT_FIELDCAT-DATATYPE = PV_DATATYPE.
APPEND LT_FIELDCAT TO P_GIT_FIELDCAT.
CLEAR LT_FIELDCAT.
ENDFORM. " init_field_catalog
*& Form alv_display
text
--> p1 text
<-- p2 text
FORM ALV_DISPLAY .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = G_REPID
I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
i_grid_title = 'Fringe Benefit Tax'
I_GRID_SETTINGS =
IS_LAYOUT = GS_LAYOUT
IT_FIELDCAT = GIT_FIELDCAT
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT = GT_SORT
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = GT_EVENTS[]
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = GIT_BSIS
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " alv_display
*& Form chk4_internal
text
--> p1 text
<-- p2 text
FORM CHK4_INTERNAL .
LOOP AT GIT_BSIS ASSIGNING <BSIS>.
IF <BSIS> IS ASSIGNED.
IF <BSIS>-BSCHL = C_50.
<BSIS>-DMBTR = <BSIS>-DMBTR * -1.
ENDIF.
IF NOT <bsis>-aufnr IS INITIAL.
IF <BSIS>-AUFNR = '000000100000'. " P_AUFNR.
<BSIS>-SUBFBT = <BSIS>-DMBTR.
<BSIS>-AMOUNT = ( <BSIS>-SUBFBT * <BSIS>-ZFI_FBT ) / 100.
ELSE.
IF <bsis>-aufnr = '000000100020'.
<BSIS>-NONFBT = <BSIS>-DMBTR.
ENDIF.
ENDIF.
<BSIS>-FBTPAY = ( <BSIS>-AMOUNT * <BSIS>-ZFI_PAY ) / 100.
ENDIF.
ENDLOOP.
UNASSIGN <BSIS>.
ENDFORM. " chk4_internal
*& Form get_ztable
text
--> p1 text
<-- p2 text
FORM GET_ZTABLE .
REFRESH : GIT_FRINGE.
SELECT HKONT
ZFI_FBT
ZFI_PAY
FROM ZFI_FBT_DETL
INTO TABLE GIT_FRINGE
FOR ALL ENTRIES IN s_hkont
WHERE HKONT IN S_HKONT.
CHECK SY-SUBRC EQ 0.
SORT GIT_FRINGE BY ZFI_HKONT.
ENDFORM. " get_ztable
*& Form get_percentage
text
--> p1 text
<-- p2 text
FORM GET_PERCENTAGE .
CLEAR : GWA_FRINGE.
LOOP AT GIT_BSIS ASSIGNING <BSIS>.
IF <BSIS> IS ASSIGNED.
READ TABLE GIT_FRINGE INTO GWA_FRINGE WITH KEY
ZFI_HKONT = <BSIS>-HKONT
BINARY SEARCH.
CHECK SY-SUBRC EQ 0.
<BSIS>-ZFI_FBT = GWA_FRINGE-ZFI_FBT.
<BSIS>-ZFI_PAY = GWA_FRINGE-ZFI_PAY.
ENDIF.
ENDLOOP.
UNASSIGN <BSIS>.
ENDFORM. " get_percentage
*& Form determine_sort_sequence
text
--> p1 text
<-- p2 text
FORM DETERMINE_SORT_SEQUENCE .
DATA : LS_SORT TYPE SLIS_SORTINFO_ALV.
LS_SORT-SPOS = 1. " Sort order
LS_SORT-FIELDNAME = 'HKONT'.
LS_SORT-TABNAME = 'GIT_BSIS'.
LS_SORT-UP = 'X'.
LS_SORT-SUBTOT = 'X'. " Sub total allowed
APPEND LS_SORT TO GT_SORT.
CLEAR LS_SORT.
ENDFORM. " determine_sort_sequence
*& Form get_events
text
--> p1 text
<-- p2 text
FORM GET_EVENTS .
CONSTANTS:
GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
GC_FORMNAME_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.
DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = GT_EVENTS.
READ TABLE GT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
INTO LS_EVENT.
IF SY-SUBRC = 0.
MOVE GC_FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.
APPEND LS_EVENT TO GT_EVENTS.
ENDIF.
READ TABLE GT_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND
INTO LS_EVENT.
IF SY-SUBRC = 0.
MOVE GC_FORMNAME_USER_COMMAND TO LS_EVENT-FORM.
APPEND LS_EVENT TO GT_EVENTS.
ENDIF.
ENDFORM. " get_events
*& Form sub_commentery_build
text
--> p1 text
<-- p2 text
FORM SUB_COMMENTERY_BUILD .
DATA: LS_LINE TYPE SLIS_LISTHEADER.
DATA : L_LOW TYPE CHAR10,
L_HIGH TYPE CHAR10,
L_DATE TYPE CHAR25.
CONCATENATE S_BUDAT-LOW6(2) '.' S_BUDAT-LOW4(2) '.' S_BUDAT-LOW+0(4) INTO L_LOW.
CONCATENATE S_BUDAT-HIGH6(2) '.' S_BUDAT-HIGH4(2) '.' S_BUDAT-HIGH+0(4) INTO L_HIGH.
CONCATENATE L_LOW ' - ' L_HIGH INTO L_DATE.
***header
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-KEY: not used for this type
LS_LINE-INFO = 'Fringe Benefit Tax'.
APPEND LS_LINE TO GT_LIST_TOP_OF_PAGE.
***Selection
CLEAR LS_LINE.
LS_LINE-TYP = 'S'.
LS_LINE-KEY = 'Company Code'.
LS_LINE-INFO = P_BUKRS.
APPEND LS_LINE TO GT_LIST_TOP_OF_PAGE.
CLEAR LS_LINE.
LS_LINE-TYP = 'S'.
LS_LINE-KEY = 'Posting Date'.
LS_LINE-INFO = L_DATE.
APPEND LS_LINE TO GT_LIST_TOP_OF_PAGE.
ENDFORM. " sub_commentery_build
FORM TOP_OF_PAGE *
When TOP-OF-PAGE will be fired , this event will be called and it
will use the contents of i_list_top_of_page for output in the header
FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
i_logo = 'ENJOYSAP_LOGO'
IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
ENDFORM. "top_of_page
*& Form USER_COMMAND
Called from within the ALV processes. Currently, '&IC1' is used to
process the hotspot and display the document 'picked' by the user.
FORM USER_COMMAND USING PV_UCOMM LIKE SY-UCOMM
SELFIELD TYPE SLIS_SELFIELD.
CLEAR : GWA_BSIS.
CASE PV_UCOMM.
WHEN '&IC1'.
READ TABLE GIT_BSIS INTO GWA_BSIS INDEX SELFIELD-TABINDEX.
CASE SELFIELD-SEL_TAB_FIELD.
WHEN 'GIT_BSIS-BELNR'.
IF NOT GWA_BSIS-BELNR IS INITIAL.
SET PARAMETER ID: 'BUK' FIELD GWA_BSIS-BUKRS,
'BLN' FIELD GWA_BSIS-BELNR,
'GJR' FIELD GWA_BSIS-GJAHR.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ENDIF.
WHEN OTHERS.
ENDCASE.
WHEN OTHERS.
ENDCASE.
CLEAR : GWA_BSIS.
ENDFORM. "user_command
*& Form SET_PF_STATUS
text
FORM SET_PF_STATUS USING EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'STANDARD_FULLSCREEN' OF PROGRAM 'SAPLKKBL'.
ENDFORM. "SET_PF_STATUSENDFORM. "SET_PF_STATUS
AWARD POINTS IF USEFUL.... -
Hi all,
I have a service object (SO1) which has been set to Load Balancing.
This service object has an attribute which serves as a number allocator
(NA1).
This NA1 provides a unique number across the whole application for each of
the record that require to store into DB.
The problem is, will the NA1 get replicated if the SO1 is replicated?
If yes, will NA1 crash?
Regards,
Martin Chan
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Senior Analyst/Programmer
Dept of Education and Training
Mobile : 0413-996-116
Email: martin.chandet.nsw.edu.au
Tel: 02-9942-9685Hi Serge,
Could you prefix it with the PID of the load balanced process ?No I can't. At least not at the moment.
When a service object is replicated, it is automatically replicated into adifferent partition...
Thanks.
An advice, make the NA1 shared. So if you get to do multithreaded accessto
it, you won't screw up things.I am thinking it may be better off to create it as a service object on it's
own.
How is the number returned by the NA1 generated ?It gets generated by Forte's code.
... Try to make it so that the
load balanced partitions don't need to access the database more than onein
5 min. to get a new Seed Key. This would not need to PID.Thanks for your advise.
Regards
Martin Chan
-----Original Message-----
From: Serge Blais [mailto:Serge.BlaisSun.com]
Sent: Tuesday, 3 April 2001 14:17
To: Chan, Martin
Subject: RE: (forte-users) SO Load Balancing Question
Your right, they can generate the same number. How much control do you have
over the ID being generated? Could you prefix it with the PID of the load
balanced process ?
Just a note: When a service object is replicated, it is automatically
replicated into a different partition, possibly on the same machine or on a
different one.
An advice, make the NA1 shared. So if you get to do multithreaded access to
it, you won't screw up things.
How is the number returned by the NA1 generated ? If NA1 is using a stored
procedure, or something like:
Start TRX
read number
newnumber = number+5000
write back newnumber
End Trx
Something like will be very safe. The Database Index Table is taking care
of the critical section. Then you can be sure that each replicate can be
independent (not hit into each other) for 5000 iterations. Depending on the
frequency, you may want to up this number or lower this number. Too high it
would make the key very high very soon with wholes in the sequence. Too low
and you would have hit between the replicates. Try to make it so that the
load balanced partitions don't need to access the database more than one in
5 min. to get a new Seed Key. This would not need to PID.
Serge
At 01:59 PM 4/3/2001 +1000, you wrote:
Hi Serge,
The number return by the NA1 is used as a primary key for each of therecord
that stores in the DB.
The Number Allocator NA1 is required to access to DB to update an ID table
which carry the next available sequence number. NA1 will only update this
table for every 5000 records.
For example, the initial value of the sequence is: 1
The next update will change the value to 5001, next will be 10001 and soon.
>
The properties of this NA1 class at runtime
Shared - Disallowed
Distributed - Disallowed
Transactional - Is Default
Monitored - Disallowed
Unfortunately, this attribute is not a handle but is instantiated by theSO1
itself.
I have been thinking, if SO1 is replicated within the same partition, and
each replicate will carry its own NA1. NA1 and the replicate of NA1 may
return a same number if their initial values of the sequence are the same.
Correct?
Regards
Martin Chan
-----Original Message-----
From: Serge Blais [mailto:Serge.BlaisSun.com]
Sent: Tuesday, 3 April 2001 13:11
To: Chan, Martin; forte-userslists.xpedior.com
Subject: Re: (forte-users) SO Load Balancing Question
Let's see if I understand right.
You have a service object that keep a handle to an object that either keep
state information, or that generate state information. Now the thing to
figure out is which is it. Let's assume that NA1 is a number generator,
that does not need to be synchronized or that doesn't need to access any
external resource. It would still work, depending on the algorythm you are
using.
Will they share the same NA1? It depends on the nature of NA1, but for sure
NA1 would have to be an anchored object. An if multiple partitions would
share the same object "only" for key generation, you would bring down your
performance on key generation or key update (by adding one inter-process
call).
In short:
1. Many scenarios can happen, you need to be clearer on your description.
2. If you are sharing an object by load balanced partitions, this greatly
reduce the gain of load balancing the partition.
3. If NA1 is keeping state, any access to it would need to be controlled
"shared".
Have fun now...
Serge
At 12:30 PM 4/3/2001 +1000, Chan, Martin wrote:
Hi all,
I have a service object (SO1) which has been set to Load Balancing.
This service object has an attribute which serves as a number allocator
(NA1).
This NA1 provides a unique number across the whole application for each
of
the record that require to store into DB.
The problem is, will the NA1 get replicated if the SO1 is replicated?
If yes, will NA1 crash?
Regards,
Martin Chan
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Senior Analyst/Programmer
Dept of Education and Training
Mobile : 0413-996-116
Email: martin.chandet.nsw.edu.au
Tel: 02-9942-9685
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comSerge Blais
Professional Services Engineer
iPlanet Expertise Center
Sun Professional Services
Cell : (514) 234-4110
Serge.BlaisSun.comSerge Blais
Professional Services Engineer
iPlanet Expertise Center
Sun Professional Services
Cell : (514) 234-4110
Serge.BlaisSun.com -
I think only ScrollList widget allow multiple selection.
In other case, you have to code... (ie : detect wich line is selected,
highlight it, and then loop in the array to detect wich lines are
highlighted et apply some action on these)
De : Jason de Cean[SMTP:[email protected]]
Répondre à : Jason de Cean
Date : mercredi 16 septembre 1998 09:54
A : 'Forte Users'
Objet : Multiple Selection
Hi,
Does anyone know if the Forte ListView and OutlineField widgets allow
the user to select multiple items (ie. Hold down shift and highlight
several items at the same time) ?
I couldn't find any information on multiple selection in the Forte
documentation.
Regards,
Jace.
Jason de Cean
Analyst/Programmer
Lumley Technology Ltd.
Sydney, Australia.
(02) 9318 6720
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive
<URL:http://pinehurst.sageit.com/listarchive/>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>If you are using Logical DB PNP why are you coding Selection Fields for ABKRS and WERKS? Both of these fields are defined in the PNP Selection Screen and if you use those fields then SAP will handle filtering the data.
-
RE: Ole Automation with forte.
Tran,
Here is a piece of code(using Forte Version 3OF2 & Word 97) that we've
used to determine if there is already an instance of Word running:
// Create an instance of a Word Application and activate it.
// If an a Word application exists, just activate it.
if ( aTasks <> NIL and aTasks.Exists(aWordApplication.Name) )
then
aWordApplication.visible = TRUE;
aWordApplication.Activate();
else
aWordApplication = new();
aTasks = new();
aWordApplication.CreateUsingProgID( 'word.application'
aWordApplication.visible = TRUE;
aWordApplication.Activate();
aTasks is an attribute of type Tasks on our window & aWordApplication is
an attribute of type _Application on our window. This code will work if
there already is an instance of Word that was started from a Forte
applicaiton. It doesn't recognize a instance of Word that was started
outside of a Forte app. Hope this helps!!
From: Quy Tran[SMTP:[email protected]]
Sent: Wednesday, May 20, 1998 11:17 PM
To: [email protected]
Subject: Ole Automation with forte.
Good Day forte users,
I'm trying to invoke MSWord from a forte application.
I set the objectreference using CreateUsingProgId(This is the only way
that I could get it to work).
The problem is when using CreateUsingProgId, forte will create another
instance of Word. Is there a way to know if the instance already
exists
and retrieve the objectreference of that instance?
Any help would be appreciated.
Thanks
Quy Tran
Lumley Technology
Analyst/Programmer
[email protected]
Ph : 612 93186722
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive
<URL:http://pinehurst.sageit.com/listarchive/>
If you are not the intended recipient, please notify the Sender.
Non-business opinions may not reflect opinions of Piper JaffrayHi Aurang
You can call almost all methods using OLE. What is required is to know how to interpret a script to ABAP OLE call. This is explained in the tutorial<a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/c1d54348-0601-0010-3e98-bd2a2dcd9e6c">"An Easy Reference For OLE Automation"</a>
Regards
*--Serdar <a href="https://www.sdn.sap.com:443http://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.sdn.businesscard.sdnbusinesscard?u=qbk%2bsag%2bjiw%3d">[ BC ]</a> -
Java.util.Map to flash.utils.Dictionary
Hi,
I'm using Blazeds for my remoting between Flex and Java. I have an Object-to-object map on the Java side. This converts to an untyped Object in Flex having the properties as the 'toString' of the key Object.
Has anyone been able to convert an Object-to-object java map to a flash Dictionary object? Why wouldn't it do that as default?
Thanks,
EyalYes, You can, I have successfully mapping form java HashMap to Flex Dictionary. The following is the code fragment for the success case:
The hint is that you need to use ObjectProxy in Flex to map HashMap in Java.
Man Pak Hong, Dave
Analyst Programmer
[email protected]
manpakhong
Java:
// ================================================================================
public Map<String, Object> getCaseDetails(Long sid) throws ApplicationException, SystemException {
// Vos Declaration
Case caseVo = null;
UserInfo ossUserInfoVo = null;
UserInfo spUserInfoVo = null;
Ngo ossNgoVo = null;
Ngo spNgoVo = null;
Personal personalVo = null;
Contact contactVo = null;
CaseAttachment caseAtthVo = null;
Office ossOffice = null;
SwdOffice swdOffice = null;
UserInfo swdEao = null;
NeedAssess needAssess = null;
List <CaseRegPropVw> caseRegPropVwList = null;
CaseDao daoCase = new CaseDao();
caseVo = daoCase.getCase(sid);
if (caseVo != null)
UserInfoDao daoUserInfo = new UserInfoDao();
ossUserInfoVo = daoUserInfo.getUserInfo(caseVo.getOssCmSid());
spUserInfoVo = daoUserInfo.getUserInfo(caseVo.getNgoCmSid());
// caseRegProp
CaseRegPropVwDao daoCaseRegPropVw = new CaseRegPropVwDao();
caseRegPropVwList = daoCaseRegPropVw.listCaseRegPropVwByLessRegNo(caseVo.getLessRegNo());
NgoDao daoNgo = new NgoDao();
if (ossUserInfoVo != null)
ossNgoVo = daoNgo.getNgo(ossUserInfoVo.getNgoSid());
if (spUserInfoVo != null)
spNgoVo = daoNgo.getNgo(spUserInfoVo.getNgoSid());
// personal
if (caseVo != null)
PersonalDao daoPersonal = new PersonalDao();
personalVo = daoPersonal.getPersonal(caseVo.getPersonalSid());
// jscontact
ContactDao daoContact = new ContactDao();
contactVo = daoContact.getContact(caseVo.getSid());
// ossCaseAtth
CaseAttachmentDao daoCaseAtth = new CaseAttachmentDao();
caseAtthVo = daoCaseAtth.getCaseAttachment(caseVo.getSid(), CaseAttachmentPolicy.ATT_TYPE_CONSENT_FORM);
// ossOffice
OfficeDao daoOssOffice = new OfficeDao();
ossOffice = daoOssOffice.getOffice(caseVo.getOssOfficeSid());
if (personalVo != null)
// swdOffice
SwdOfficeDao daoSwdOffice = new SwdOfficeDao();
swdOffice = daoSwdOffice.getSwdOffice(personalVo.getSwdOfficeSid());
// swdEao
UserInfoDao daoSwdEao = new UserInfoDao();
swdEao = daoSwdEao.getUserInfo(personalVo.getSwdEaoSid());
// needAssess
NeedAssessDao daoNeedAssess = new NeedAssessDao();
needAssess = daoNeedAssess.getNeedAssess(personalVo.getSid());
Map<String, Object> hm = new HashMap<String, Object>();
hm.put("Case", caseVo);
hm.put("OssUserInfo", ossUserInfoVo);
hm.put("NgoUserInfo", spUserInfoVo);
hm.put("OssNgo", ossNgoVo);
hm.put("SpNgo", spNgoVo);
hm.put("Personal", personalVo);
hm.put("Contact", contactVo);
hm.put("CaseAtth", caseAtthVo);
hm.put("OssOffice", ossOffice);
hm.put("SwdOffice", swdOffice);
hm.put("SwdEao", swdEao);
hm.put("NeedAssess", needAssess);
hm.put("CaseRegPropsVw", caseRegPropVwList);
return hm;
Flex part
// ==================================================================================
// CASEDETAILS
private function getCaseDetailsResultHandler(result:ObjectProxy):void
var dc:ObjectProxy = result;
this.editItemOssUserInfo = dc["OssUserInfo"];
detailCaseInfo.editItemOssUserInfo = editItemOssUserInfo;
this.editItemOssNgo = dc["OssNgo"];
detailCaseInfo.editItemOssNgo = editItemOssNgo;
this.editItemCase = dc["Case"];
detailCaseInfo.editItemCase = editItemCase;
detailPersonalInfo.editItemCase = editItemCase;
this.editItemPersonal = dc["Personal"];
detailCaseInfo.editItemPersonal = editItemPersonal;
detailPersonalInfo.editItemPersonal = editItemPersonal;
this.editItemContact = dc["Contact"];
detailCaseInfo.editItemContact = editItemContact;
detailPersonalInfo.editItemContact = editItemContact;
this.editItemCaseAtth = dc["CaseAtth"];
detailCaseInfo.editItemCaseAtth = editItemCaseAtth;
this.editItemOssOffice = dc["OssOffice"];
detailCaseInfo.editItemOssOffice = editItemOssOffice;
this.editItemSwdOffice = dc["SwdOffice"];
detailCaseInfo.editItemSwdOffice = editItemSwdOffice;
this.editItemSwdEao = dc["SwdEao"];
detailCaseInfo.editItemSwdEao = editItemSwdEao;
this.editItemNeedAssess = dc["NeedAssess"];
detailCaseInfo.editItemNeedAssess = editItemNeedAssess;
this.listItemCaseRegPropVw = dc["CaseRegPropsVw"];
this.caseDict = new Dictionary();
caseDict[CaseDetailPolicy.INIT_OSSUSERINFO] = editItemOssUserInfo;
caseDict[CaseDetailPolicy.INIT_OSSNGO] = editItemOssNgo;
caseDict[CaseDetailPolicy.INIT_CASE] = editItemCase;
caseDict[CaseDetailPolicy.INIT_PERSONAL] = editItemPersonal;
caseDict[CaseDetailPolicy.INIT_CONTACT] = editItemContact;
caseDict[CaseDetailPolicy.INIT_CASEATTH] = editItemCaseAtth;
caseDict[CaseDetailPolicy.INIT_OSSOFFICE] = editItemOssOffice;
caseDict[CaseDetailPolicy.INIT_SWDEAO] = editItemSwdEao;
caseDict[CaseDetailPolicy.INIT_NEEDASSESS] = editItemNeedAssess;
// detailCaseInfo.init(); -
RE: Re[2]: Transaction Management
Hi,
Thanks for the reply. But my situation may require more than 1 DBSession
per Persistence Manager, as under the same Domain problem, my persistent
objects spread across multiple databases ( due to some legacy and package
systems ).
On the other hand, I think your model would be helpful in some cases.
Following is what I think you are doing in your model in order to make use
of this Persistence Manager.
1. Client program would retrieve business object from this persistence
manager;
2. When persistence manager return the requested object, it would save
its pointer to the business object.
3. When client call save()/delete() on the business object, it would
then route the request to the persistence manager by its pointer.
Please correct me if I'm wrong.
As mentioned, I have another design on this issue. When my document is
ready, would you like to take a look. I just want to invite more opinion on
this "Framework" with which I've spent at least half a year to work on.
Best regards,
Peter Sham.
-----Original Message-----
From: Dimitar Gospodinov [SMTP:[email protected]]
Sent: Monday, May 17, 1999 5:41 PM
To: Peter Sham (HTHK - Assistant Manager - Software Development,
IITB)
Cc: Vanessa Rumball; [email protected]
Subject: Re[2]: Transaction Management
Hello Peter,
Well, we are using a slightly different approach. We have a SO
(we call it Persistence Manager)
and DBSession SO (user visible) in one partition. This
partition
is load balanced.
All database activity is in the Persistence Manager - in one
partition that uses one DBSession. In this approach we do not
have possibility for deadlocks between different DBSessions
because for example an activity that involves several tables
will be executed within one DBSession. And since this
partition
is load balanced, the access to the database will not be
blocked.
Hope this makes sense.
Best regards,
Dimitar mailto:[email protected]
Monday, May 17, 1999, 1:55:35 PM, you wrote:
PSHAMSDI> Hi,
PSHAMSDI> I would like to add to the question on the concern on
sharing DBSession.
PSHAMSDI> The fact that a DBSession is shared and is blocked from
other threads within
PSHAMSDI> a transaction make it a candidate for "dead-lock". That's
why in my
PSHAMSDI> application, up until now, I dare not to load-balance a
DBSession or involve
PSHAMSDI> multiple DBSessions in a update transaction. I have
experience that when
PSHAMSDI> multiple DBSessions are involved in a update transaction,
there is a great
PSHAMSDI> choice that the DBSessions are dead-locked by different
threads.
PSHAMSDI> The way that we do it now is very dumb and hard to
maintain. We pass the
PSHAMSDI> DBSession along for all the calls involved in a update
transaction.
PSHAMSDI> However, if someone forget to follow the convention, the
application will
PSHAMSDI> get dead-locked and I have to use dumb status on the
partitions to trace
PSHAMSDI> back the invoking method. It is horrible and with no
guarentee to find the
PSHAMSDI> source of the problem.
PSHAMSDI> I have figured a more extensive architecture to solve this
problem. But
PSHAMSDI> before I fully implement my design, I would like to know
if there is already
PSHAMSDI> a elegant solution out there.
PSHAMSDI> Thanks for any help in advance.
PSHAMSDI> Best regards,
PSHAMSDI> Peter Sham.
PSHAMSDI> -----Original Message-----
PSHAMSDI> From: Dimitar Gospodinov [SMTP:[email protected]]
PSHAMSDI> Sent: Monday, May 17, 1999 2:47 PM
PSHAMSDI> To: Vanessa Rumball
PSHAMSDI> Cc: [email protected]
PSHAMSDI> Subject: Re: Transaction Management
PSHAMSDI> Hello Vanessa,
PSHAMSDI> You should use dependent transactions - the
"begin
PSHAMSDI> transaction"
PSHAMSDI> statement is equal to "begin dependent
transaction" statement.
PSHAMSDI> So you can have several methods for saving
the data in
PSHAMSDI> different
PSHAMSDI> tables - all these method contain "begin
transaction .. end
PSHAMSDI> transaction" construction.
PSHAMSDI> Then you can have one "wrapper" method that
calls the above
PSHAMSDI> methods. This method also contains "begin
transaction .. end
PSHAMSDI> transaction" construction.
PSHAMSDI> Now you have dependent transactions - if
some of the
PSHAMSDI> transaction
PSHAMSDI> fails , the whole bunch of transaction will
fail.
PSHAMSDI> If you want to catch the Deadlocks you may
register for the
PSHAMSDI> AbortException exception and re-try your
outermost
PSHAMSDI> transaction.
PSHAMSDI> Hope this helps.
PSHAMSDI> Best regards,
PSHAMSDI> Dimitar
mailto:[email protected]
PSHAMSDI> Monday, May 17, 1999, 6:08:17 AM, you wrote:
PSHAMSDI> VR> Hi there,
PSHAMSDI> VR> I have a number of table manager classes,
each of which saves
PSHAMSDI> data to
PSHAMSDI> VR> their respective table in the database. With
these tables it is
PSHAMSDI> likely
PSHAMSDI> VR> that they may be locked by other users on
occasion so I have put
PSHAMSDI> in
PSHAMSDI> VR> exception handlers on the managers to cater
for this. The user
PSHAMSDI> has the
PSHAMSDI> VR> option to keep trying or give up and try again
later.
PSHAMSDI> VR> Now sometimes three or more tables may need
to be updated
PSHAMSDI> together and if
PSHAMSDI> VR> one fails to commit then no data for the three
tables should be
PSHAMSDI> saved to
PSHAMSDI> VR> the database. In such a case the 'save'
method of the three or
PSHAMSDI> more table
PSHAMSDI> VR> managers are called from a single method
within one 'dependent'
PSHAMSDI> forte
PSHAMSDI> VR> transaction. Before calling the save methods,
I call another
PSHAMSDI> method which
PSHAMSDI> VR> starts a SQL 'read write wait 10' transaction
reserving each
PSHAMSDI> table needed
PSHAMSDI> VR> within the transaction.
PSHAMSDI> VR> I have read through the Transactions chapter
of the Forte
PSHAMSDI> Accessing
PSHAMSDI> VR> Databases manual and see examples where a
number of SQL
PSHAMSDI> statements are
PSHAMSDI> VR> included within a transaction and each one
commits only if all
PSHAMSDI> are
PSHAMSDI> VR> successful at the end of the transaction. I
assumed my approach
PSHAMSDI> would be
PSHAMSDI> VR> similar especially when using the 'begin
dependent transaction'
PSHAMSDI> statement.
PSHAMSDI> VR> But if the application gets around to saving
the second table
PSHAMSDI> which is
PSHAMSDI> VR> locked and the user decides not to commit, the
first table is
PSHAMSDI> still updated
PSHAMSDI> VR> in the database.
PSHAMSDI> VR> Is it because my SQL statements are in
seperate methods and
PSHAMSDI> are commited
PSHAMSDI> VR> when the method is complete? Or am I missing
something
PSHAMSDI> somewhere?
PSHAMSDI> VR> Any help greatly appreciated.
PSHAMSDI> VR> Thank you.
PSHAMSDI> VR> Vanessa.
PSHAMSDI> VR> ===========================================< @
PSHAMSDI> >>===========================================
PSHAMSDI> VR> Vanessa Rumball
PSHAMSDI> VR> Analyst Programmer Phone:
(03) 479 8285
PSHAMSDI> VR> A.T.S. Fax:
(03) 479 5080
PSHAMSDI> VR> University of Otago Email:
PSHAMSDI> [email protected]
PSHAMSDI> VR> PO Box 56
PSHAMSDI> VR> Dunedin
PSHAMSDI> VR> New Zealand
PSHAMSDI> VR> ===========================================< @
PSHAMSDI> >>===========================================
PSHAMSDI> VR> -
PSHAMSDI> VR> To unsubscribe, email '[email protected]'
with
PSHAMSDI> VR> 'unsubscribe forte-users' as the body of the
message.
PSHAMSDI> VR> Searchable thread archive
PSHAMSDI> <URL:http://pinehurst.sageit.com/listarchive/>
PSHAMSDI> -
PSHAMSDI> To unsubscribe, email '[email protected]' with
PSHAMSDI> 'unsubscribe forte-users' as the body of the
message.
PSHAMSDI> Searchable thread archive
PSHAMSDI> <URL:http://pinehurst.sageit.com/listarchive/>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>Hi Bolun,
If you have 2 different UOM(KG and PC) you can see 2 sub-totals only. If you have more, you will see more...
You can try this: Some work around's ........
Option1: Convert other Units of measures into KG's or PC's or
Option2: Add one more Indicator at infoprovider level and populate indicator accordingly., based on UOM and use in report. or
Option3: Make UOM as User Input and restrict report based on that...
Hope it Helps
Srini
Maybe you are looking for
-
anybody else getting low memory warnings when using certain apps? is there a fix for this? say deleting apps?
-
This is the dialog I see after attempting to open a zip file by double-clicking on it. I have been working with my new MacBook Air three days after 25 years on PC. Thanks in advance for any help you may offer.
-
Local JNLP filename is truncated in windows shortcut
Greetings, I've got a problem with JNLP shortcut paths getting truncated. I'm running Windows XPsp2 as the client with Java 1.5.0.10. The web URL I'm accessing is dynamically generated, and is apparently getting too long to be handled. I'm passing on
-
Iphoto slideshow does not work
How do I get iPhoto's slideshow function to work without iPhoto 'not responding' message?
-
Line In Recording Left/Right Channell
I hav an XFi-Titanium. I select the "Audio Record Mode". Then I record something with a Keyboard that's only on the Right-Channel. While I record something I hear nothing. When I stop the recording and play it afterwards, I hear the sound I recorded