Entity codes (i.e. ")

Is there a way to prevent dreamweaver from converting my
quote marks and dashes to the respective entity codes for
HTML???

On Tue, 26 Sep 2006 16:59:19 +0000 (UTC), "csus webguy"
<[email protected]> wrote:
>Is there a way to prevent dreamweaver from converting my
quote marks and dashes to the respective entity codes for HTML???
Yes, type them in code view.

Similar Messages

  • HTML entity codes in XML do not display in IE browsers

    I have an XML file generated via PHP/MySQL that contains HTML entities like " &sup2; ". I'm using DW CS3 to create a Spry (1.6.1) dataset from the XML file and filling a Spry table.
    If I open the table page in any IE browser (6, 7 or 8) the table is filled and displays OK but these characters are just missing, however, I can open this same page with the same Spry dataset in Firefox, Safari, Opera, Chrome, etc. and all characters are displayed correctly, it's just IE that refuses to play.
    I've tried changing DTDs and UTF8 page encoding, nothing seems to make a difference.
    Any suggestions greatly appreciated  [ I can feel wrist slitting time approaching ... ] 

    Hi Phil, it works!
    Many thanks for your suggestions, they certainly helped solve the problem. I had previously tried wrapping in CDATA but I just got the entity codes displayed as text and sort of gave up looking there.  
    The solution is to use CDATA to wrap the relevant content AND to format the column type to "html" with set "ColumnType".
    I also found that Entity declarations can be removed from the XML, so I shouldn't have to worry about any entity codes I might encounter in source data.
    The site I'm working on will eventually be multilingual with supplied database content, so I can't control the source data and all site features must work equally well in all languages.
    I've updated the sample file with some Russian source data and set both character columns to "html", it works just fine! It shouldn't matter which method gets used to insert any special characters.
    http://www.tech-nique.co.uk/development/spry_data/spry-data-table.php
    many thanks for all responses, much appreciated!
    [ every day's a school day ~;o) ]

  • Entering HTML Entity Codes

    I haven't been able to find a way to insert HTML entity codes (specifically, to use em dashes, but other needs arise) through the interface. HTML snippets are intended for something entirely different. Apart from opening published output in an editor to insert the entity codes, is there a simple way that I've missed finding?

    If you want to change the characterset then presumably you can only do that post publishing.
    http://www.markboulton.co.uk/journal/comments/fivesimple_steps_to_typesetting_on_the_webdashes/
    This article may be of use, particularly
    +"In Unicode, the em dash is U+2014 (decimal 8212). In HTML, the numeric forms are — and —. The HTML entity is —."+

  • IExpense Create Expense Report Page  - Entity Value

    Hi All,
    IExpense Create Expense Report Page has an entity value by default . I am not sure that whether it is based on responsibility login or on employee login .
    1) Pls let me know if you know it .
    In Create Expense Report Page , department value can be selected by the user . Now I have selected a department which does not belong to the default entity . In this case I am able to create the expense report but with default entity code combination .
    2)I need to customize the entity value based on the selected department.But I could not track where the entity value is being set.
    Any suggestions to start it off ??
    Thanks,
    Thavam

    Dear Thavam,
    You need to decompile your Controller and AMImpl class files and understand the underlying logic. Thereafter you can identify a solution to extend the controller and introduce the solution.

  • How do you consult the management of changing entity?

    Hi Experts,
    I have a problem with BPC to satisify what the customer wants. It is how BPC handles entity changes including hieararchy and member. It also need to bring data behind of the entity code. So here is three types of entity change.
    1. Merge Entities or Segments.
    - Let say there are A and B entities or segments, they will be merged on the next period and the data behind of them should be distinguished and reported to user.
    2. Change Entity or Segment.
    - Let say there is AS1 segment, and the segment will be changed AP1 to represent their strategy change of product as of next fisical year. The customer wants to see AS1 if user refresh the structure of this year, and want to see AP1 if user refresh the structure of next year.
    3. Divide Entity or Segment.
    - Let say there is AB segment, the segment will be divided to two Segments which are AB1 and AB2 because there sales is too big and needs to manage by region. Therefore AB will be parent of AB1 and AB2. How we can treat all data of AB segment after segmenting segments.
    These requirements is very common now a day and will be getting bigger and bigger. There are actaully some answers using DM and Multi-hiearachy, but actaully they cannot be a long term solution and needs many extra effort. What I really need to know is that how do you Experts consult the requirement with BPC?
    Regards,
    YH Seo

    Hi YHSeo_KR,
    1. Merge Entities or Segments.
    - You can create another entities or segment, let's say AB and assign it as parent of A and B. With these you can get the merged values of the two at parent AB and still drill down to individual values of A and B.
    2. Change Entity or Segment.
    - If this is an Entity this would be easier since you can use the dynamic hierarchy to control this. Example, this year you can assign AS1 entity to its corresponding consolidation group and ownership data and then unassign it next year create the new Entity AP1 and assign it in the hierarchy. And using the new capability of BPC 7.5 NW you can report using dynamic hierarchy data so basically the hierarchy you define on the dynamic hierarchy on a particular period or time will be used in this new reporting option.
    3. Divide Entity or Segment.
    - Adding top members(PARENT or GROUPINGS) is not a problem but splitting members is not something that can be done automatically. For example, you have AB with value of 1000 and you need to split it as A=600 and B=400, then you need to re-enter or re-upload the values to A=600 and B=400. During design of the structure we strictly define what is the lowest level they want because as I said above its not as easy as adding a parent or grouping. Well you can use allocation functions in BPC to do this, it really depends on the requirements.
    Thanks,
    Marvin

  • Set and Pass BP entity to CRMCMP_BPIDENT to go global

    Hi,
    I am a newbie in CRM tech, I have created a new Z component for BP search which includes customer specific fields and which is to replace Account Identification (component ICCMP_BP_SEARCH), i am trying to set the BP entity to pass it to the global data context. This is similar to searching an account in Account Identification and when you confirm an account and make the BP entity global,
    Similarily, when an an account is searched and selected in the Z component, name and other BP details are expected to be populated in the respective fields in Enquiry / Complaint screens. I have selected the standard approach of setting the BP entity to the global data context but unable to achieve .
    Please can someone show me a way to achieve.
    Also, Please can some explain in details with examples global data context and Cross component navigation.
    Many Thanks,
    Santosh
    Edited by: Santoshkotra on Sep 16, 2010 4:29 PM

    Hi Santosh,
    I think i got the problem now..
    Always create instance creates a entity if there is no entity exist in the collection of the context node, for eg lets say you are trying to create one model context node2 which is related to any existing parent context node1.. In this scenario if you check always create instance for the dependent context node2, it will create the blank entity and this you can varify in the  on_new_focus of the dependent context node2.(Create related entity code will be there which will create a blank entity if you have check always create instance).
    If you don't specify always create instance, framework will not create blank entity for your context node(Check the on_new_focus code no create_related_entity code will be there).
    In your requirement if you don't select "always create instance", then as per my understanding you will not be getting blank entity and set_property call should result into exception, which will not be the case when you have entity thru always create instance.
    Hope i am albe to clarify this..
    Cheers,
    Sumit Mittal

  • Ampersand entity reference

    Hi,
    I'm facing a peculiar problem with the entity elements.
    I know that some entities, like & (ampersand) and ' (apostrophe) are built-in entities specified as &a m p; and &apos;.
    However, when I send something like this:
    <Company_Name>Jagan & Kirti&apos;s Inc.</Company_Name>, the SAX parser reads this only up to the ampersand and then truncates the rest, so that I get Company_Name as just "Jagan &".
    I figured that the entity probably needed to be explicitly declared in my DTD, and so I added entity entries into our DTD, like this:
    <!ENTITY amp  "&">
    <!ENTITY apos "'">and found that it got thrown back with a warning "Using original entity definition for "&a m p;"
    I replaced the DTD entry with:
    <!ENTITY dramp  "&">
    <!ENTITY drapos "'">and sent the XML like this:
    <Company_Name>Jagan &dramp; Kirti&drapos;s Inc.</Company_Name>,
    and surprise, surprise, it works just fine, I get the company name as "Jagan & Kirti's Inc.", which is what I want.
    I also get the correct value by getting rid of the whole entity business and simply wrapping the company name element in a CDATA.
    However, could anyone please help me understand why I'm unable to make it work with the &a m p; entity declaration?
    Thanks in advance,
    Jagan.
    PS: I've written the entity as &a m p; because it resolves to plain & otherwise in this forum.

    Hi Dave,
    I know I can't use "&" in regular text in XML, which is why I declared the &a m p; in the Entity section.
    By the way, the forum screwed up my entity code, it was actually like this:
    <!ENTITY amp  "& #38;#38;">
    <!ENTITY apos "& #39;">(I added the space after ampersand deliberately, or else the formatter would ruin it.)
    Right now I am using [CDATA], but I'd love to know why my entity declarations and using & a m p; don't work.
    Thanks and regards,
    Jagan.

  • Passing an entry in comp code GG01, TP GG01 shoudnt allowed , how?

    Hi
    Currently, system is allowing us to enter the TP (trading partner) same as Entity code while passing the entry. So, system should not allow us to enter the TP same as entity code ( for example, passing an entry in company code GG01, system should not allow us to enter trading partner as GG01) ?

    HI
    In our scenario only one or two document types both have ticked (For ex SA)
    1. Inter company code posting,
    2.  Enter trading partner
    Removed 1.
    , still able to
    assign the same TP for the company code - sytem accepts the same TP
    Edited by: melgibson on Feb 16, 2012 11:08 AM

  • Character entity getting stripped by Dreamweaver

    I'm using some Supplementary Private Use Area-A character entities to load some custom font icons, &#xF0000;, &#xF0001;, and &#xF0002;. For some reason, Dreamweaver keeps stripping out the &#xF0000; entity when I save the document. The other two entities do not get stripped out. I only use the code editor, not the WSYIWYG and my character encoding is set to UTF-8: <meta content="text/html; charset=utf-8" http-equiv="Content-Type">. Am I doing something wrong or is there a setting I'm missing?

    I can confirm this also happens in CS6 ver 12.2 #6006.  I don't know why that particular entity code won't stick.  You can file a bug report below:
    https://www.adobe.com/cfusion/mmform/index.cfm?name=wishform
    Nancy O.

  • Using calculated properties of an entity

    Hi all,
    I am having some serious trouble in finding out how this works. Maybe I'm not Googling correctly, but I have spent many hours already on this problem and I'm not getting anywhere. I am also reasonably sure I have checked out all the Netbeans tutorials on this matter, but alas. So I guess, I could do with some help.
    This is really a basic (beginner?) question about persistence. As a side note: I am using Netbeans 6.7
    I am running a database and all my tables have corresponding entity classes. I have a GUI in which I want to display a table from the database, together with some calculated values.
    I'll make the setup as simple as possible. Take the simple database created by
    CREATE DATABASE administration;
    USE administration;
    CREATE TABLE customers (
      id INT NOT NULL AUTO_INCREMENT,
      firstname VARCHAR(50) NOT NULL,
      surname VARCHAR(50 NOT NULL,
      PRIMARY KEY(id)
    ) ENGINE=INNODB;
    INSERT INTO customers (firstname, surname)
      VALUES ('John', 'Adams'), ('Caroline', 'Nixon')Based on this database, Netbeans creates an entity class
    @Entity
    @Table(name = "customers")
    @NamedQueries({
      @NamedQuery(name = "Customers.findAll", query = "SELECT c FROM Customers c"),
      @NamedQuery(name = "Customers.findById", query = "SELECT c FROM Customers c WHERE c.id = :id"),
      @NamedQuery(name = "Customers.findByFirstname", query = "SELECT c FROM Customers c WHERE c.firstname= :firstname"),
      @NamedQuery(name = "Customers.findBySurname", query = "SELECT c FROM Customers c WHERE c.surname= :surname")})
    public class Customers implements Serializable {
      @Transient
      private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
      private static final long serialVersionUID = 1L;
      @Id
      @GeneratedValue(strategy = GenerationType.IDENTITY)
      @Basic(optional = false)
      @Column(name = "id")
      private Integer id;
      @Basic(optional = false)
      @Column(name = "firstname")
      private String firstname;
      @Basic(optional = false)
      @Column(name = "surname")
      private String surname;
      // CONSTRUCTORS
      // GET AND SET METHODS
      // A FEW SIMPLE @override METHODS
      public void addPropertyChangeListener(PropertyChangeListener listener) {
        changeSupport.addPropertyChangeListener(listener);
      } public void removePropertyChangeListener(PropertyChangeListener listener) {
        changeSupport.removePropertyChangeListener(listener);
    }Now, using the Netbeans GUI tools I create a JTable with values bound to Customers. This works fine: the apllication reads the database and displays correct values in the table (however, externally making a change in the database is not updated in the table, nor are changes in the table sent to the database, but that is a different matter - gonna work on that after this).
    The next step is creating a calculated property, say "private String adressee" which is calculated by Java code the be for example "C. Nixon" or "J. Adams". (*This is my question: what is the correct way of implementing something like this, so that it is updated in the table when firstname or surname are altered*?) Now the problems start. Simply defining this property gives errors, because it is automatically interpreted as a persistent value. So the apllication does an SQL query interpreting 'adressee' as a column, which of course results in an error. Alternatively, I can define 'adressee' as @Transient. Now, the application compiles and runs, but 'adressee' is never updated in the table. Note that I update it manually: that is, I have the program listen to PropertyChange for surname and firstname, and the generate the correct value for adressee. This works, but is not reflected in the table. I have also tried to refresh() the JTableBinding when a PropertyChange occurs, but this returns a NullPointerException. Moreover, even if that should work, I am convinced there must be a way more elegant method.
    I anyone would be so kind as to enlighten me, please do!
    Greets

    Somehow, retrying my first technique worked. Maybe it is because I am now using Hobernate, set to Eager (not Lazy, which gave me compiling errors!). For future reference, here is how I did it.
    The MySQL table is called 'relaties'. 'contactpersoon' is a value which I want to calculate from several other values from this table and its related tables.
    I use Netbeans to create entity classes from database. One of which is Relaties:
    @Entity
    @Table(name = "relaties", catalog = "TK", schema = "")
    public class Relaties implements Serializable {
      @Transient
      private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
      private static final long serialVersionUID = 1L;
      @Id
      @GeneratedValue(strategy = GenerationType.IDENTITY)
      @Basic(optional = false)
      @Column(name = "id")
      private Integer id;
      // AND MANY OTHER COLUMNS, THE USUAL ENTITY CODE
      @Transient
      private String contactpersoon;
      public String getContactpersoon() {
        return contactpersoon;
      public void setContactpersoon(String contactpersoon) {
        String oldContactpersoon = this.contactpersoon;
        this.contactpersoon = contactpersoon;
        changeSupport.firePropertyChange("contactpersoon", oldContactpersoon, contactpersoon);
      public void genContactpersoon() {
        // calculation code - note that I had to catch NullPointerExceptions for Columns without @Basic(optional = false)
        this.setContactpersoon(s);
      public void addPropertyChangeListener(PropertyChangeListener listener) {
        changeSupport.addPropertyChangeListener(listener);
      public void removePropertyChangeListener(PropertyChangeListener listener) {
        changeSupport.removePropertyChangeListener(listener);
    }I now make another class, in which I put everything I think Relaties should do itself, but I can't put in there because of compilation errors (my bad?):
    public class RelatiesHelper implements PropertyChangeListener {
      public void init(Relaties r) {
        r.addPropertyChangeListener(this);
        r.genContactpersoon();
        r.genAdressering();
      public void propertyChange(PropertyChangeEvent evt) {
        if (evt.getPropertyName().equals("achternaam") || evt.getPropertyName().equals("tussenvoegsels") || evt.getPropertyName().equals("voornaam") || evt.getPropertyName().equals("titel")) { // these are column titles of the properties on which 'contactpersoon' depends
          ((Relaties) evt.getSource()).genContactpersoon();
    }I now made a class ViewRelaties, which includes a JTable. The values of this JTable can now be bound in the usual way, including 'contactpersoon':
    public class ViewRelaties
            extends javax.swing.JPanel {
      /** Creates new form ViewRelaties */
      public ViewRelaties() {
        initComponents(); // code to create table and initialize a Relaties-list, bind values etc.
        ListIterator<Relaties> l = this.relatiesList.listIterator();
        RelatiesHelper rh = new RelatiesHelper();
        while (l.hasNext()) {
          rh.init(l.next());
      // THE initComponents() CODE
      private javax.persistence.EntityManager AdminPUEntityManager;
      private javax.persistence.Query relatiesQuery;
      private java.util.List<admin.entities.Relaties> relatiesList;
    }Hope this helps someone :)
    Edited by: Quinten1 on Aug 1, 2009 5:21 AM

  • Is between operator in filter is not working as expected

    Hi All
    We have similar reports where we are testing and added two different approaches for these two reports.
    One report will have a filter "is equal to / is in" as operator for some fiscal periods and the desired result is what we expected and is correct.
    However in another report when we add a filter "is between" as operator for the same fiscal periods , but what we are getting is way far results.
    Ex: if we give fiscal periods between DEC-2010 to MAY-2011 , the data what we are getting is from Mar-2006 till JUN-2011 which is totally wrong and this is happening ONLY when the filter operator is "is between" otherwise as said if we use other operator "is equal to / is in" then the result is fine.
    Can anyone help us to identify if this issue is repository issue or are we making any mistake with the operators?
    Your help is much appreciated.
    Regds
    Mano

    Hi
    Is this what you are looking for ?
    RqList
    Dim - GL Segment1 Entity.Entity Code as c1 GB,
    Dim - Date Fiscal Calendar.Fiscal Period as c2 GB,
    Dim - GL Others Details.Journal Name as c3 GB,
    Dim - GL Segment2 Region.Region Code as c4 GB,
    Dim - GL Segment3 Account.Account Code as c5 GB,
    Dim - GL Segment3 Account.Account Name as c6 GB,
    Dim - GL Segment4 Cost Center.CC Code as c7 GB,
    Dim - GL Segment4 Cost Center.CC Name as c8 GB,
    Dim - GL Segment5 Finance Project.Finance Project as c9 GB,
    Dim - GL Segment6 Inter Co.Inter Co Code as c10 GB,
    Dim - GL Segment8 Product.Product Code as c11 GB,
    Dim - GL Segment9 Business Unit.Business Unit Code as c12 GB,
    Dim - GL Segment7 Type.Type Code as c13 GB,
    Dim - GL Segment10 Reserve.Reserve Code as c14 GB,
    Dim - GL Others Details.Entry Description as c15 GB,
    Transaction Local Amount:[DAggr(Fact - Fins - GL Other Posted Transaction.Transaction Local Amount by [ Dim - GL Others Details.Journal Name, Dim - GL Segment1 Entity.Entity Code, Dim - Ledger.Ledger Key, Dim - GL Segment2 Region.Region Code, Dim - GL Segment10 Reserve.Reserve Code, Dim - GL Segment5 Finance Project.Finance Project, Dim - GL Segment4 Cost Center.CC Code, Dim - GL Segment4 Cost Center.CC Name, Dim - GL Segment3 Account.Account Code, Dim - GL Segment9 Business Unit.Business Unit Code, Dim - GL Segment8 Product.Product Code, Dim - GL Segment7 Type.Type Code, Dim - GL Segment6 Inter Co.Inter Co Code, Dim - Date Fiscal Calendar.Fiscal Period Wid, Dim - GL Others Details.Entry Description] SB Detail,Detail,Detail,Fiscal Period)] as c16 GB,
    Dim - Date Fiscal Calendar.Fiscal Year Period Number as c17 GB,
    Dim - Ledger.Ledger Key as c18 GB,
    Dim - Date Fiscal Calendar.Fiscal Period Wid as c19 GB
    DetailFilter: Dim - GL Segment1 Entity.Entity Code = '009' and (Dim - GL Segment3 Account.Account Code like '1%' or Dim - GL Segment3 Account.Account Code like '2%') and Dim - GL Segment3 Account.Account Code between '11010' and '11047' and Dim - Date Fiscal Calendar.Fiscal Period between 'JAN-2011' and 'MAR-2011'
    OrderBy: c1 asc, c17 asc, c3 asc, c4 asc, c5 asc, c6 asc, c7 asc, c8 asc, c9 asc, c10 asc, c11 asc, c12 asc, c13 asc, c14 asc, c15 asc
    +++mano:c6860000:c6860004:----2011/06/28 11:15:52
    -------------------- Sending query to database named Oracle Data Warehouse (id: <<834740>>):
    select D1.c1 as c1,
    D1.c2 as c2,
    D1.c3 as c3,
    D1.c4 as c4,
    D1.c5 as c5,
    D1.c6 as c6,
    D1.c7 as c7,
    D1.c8 as c8,
    D1.c9 as c9,
    D1.c10 as c10,
    D1.c11 as c11,
    D1.c12 as c12,
    D1.c13 as c13,
    D1.c14 as c14,
    D1.c15 as c15,
    D1.c16 as c16,
    D1.c17 as c17
    from
    (select T383660.HIER20_CODE as c1,
    T529213.MCAL_PERIOD_NAME as c2,
    T256840.ACCT_DOC_NUM as c3,
    T490653.HIER20_CODE as c4,
    T490631.HIER20_CODE as c5,
    T490631.HIER20_NAME as c6,
    T490704.HIER20_CODE as c7,
    T490704.HIER20_NAME as c8,
    T652307.FIN_PROJECT_CODE as c9,
    T657975.SEGMENT_VAL_CODE as c10,
    T490378.HIER20_CODE as c11,
    T490694.HIER20_CODE as c12,
    T657965.SEGMENT_VAL_CODE as c13,
    T657980.SEGMENT_VAL_CODE as c14,
    T256840.X_DESCRIPTION as c15,
    sum(case when T256840.OTHER_LOC_AMT is null then 0 else T256840.OTHER_LOC_AMT end ) as c16,
    cast(T529213.MCAL_PER_NAME_YEAR as INTEGER ) * 100 + cast(T529213.MCAL_PERIOD as INTEGER ) as c17,
    T472289.ROW_WID as c18,
    T529213.ROW_WID as c19
    from
    W_MCAL_PERIOD_D T529213 /* Dim_W_MCAL_PERIOD_D_Fiscal_Period */ ,
    W_HIERARCHY_D T490653 /* Dim_W_HIERARCHY_D_Segment2 */ ,
    WC_GL_HIER_SECURITY_D T657821 /* Dim_WC_GL_SEGMENT2_SECURITY_D */ ,
    W_HIERARCHY_D T490631 /* Dim_W_HIERARCHY_D_Segment3 */ ,
    WC_GL_HIER_SECURITY_D T657824 /* Dim_WC_GL_SEGMENT3_SECURITY_D */ ,
    W_HIERARCHY_D T490704 /* Dim_W_HIERARCHY_D_Segment4 */ ,
    WC_GL_HIER_SECURITY_D T657827 /* Dim_WC_GL_SEGMENT4_SECURITY_D */ ,
    WC_FINANCE_PROJECTS_D T652307 /* Dim_WC_FINANCE_PROJECTS_D */ ,
    W_GL_SEGMENT_D T657965 /* Dim_W_GL_SEGMENT_D_Segment7 */ ,
    W_HIERARCHY_D T490694 /* Dim_W_HIERARCHY_D_Segment9 */ ,
    WC_GL_HIER_SECURITY_D T657812 /* Dim_WC_GL_SEGMENT9_SECURITY_D */ ,
    W_HIERARCHY_D T490378 /* Dim_W_HIERARCHY_D_Segment8 */ ,
    WC_GL_HIER_SECURITY_D T657830 /* Dim_WC_GL_SEGMENT8_SECURITY_D */ ,
    W_GL_SEGMENT_D T657975 /* Dim_W_GL_SEGMENT_D_Segment6 */ left outer join W_HIERARCHY_D T490542 /* Dim_W_HIERARCHY_D_Segment6 */ On T490542.HIER_CODE = T657975.SEGMENT_LOV_ID and T490542.HIER20_CODE = T657975.SEGMENT_VAL_CODE,
    W_GL_SEGMENT_D T657980 /* Dim_W_GL_SEGMENT_D_Segment10 */ ,
    W_LEDGER_D T472289 /* Dim_W_LEDGER_D */ ,
    W_HIERARCHY_D T383660 /* Dim_W_HIERARCHY_D_Segment1 */ ,
    WC_GL_HIER_SECURITY_D T657815 /* Dim_WC_GL_SEGMENT1_SECURITY_D */ ,
    W_GL_ACCOUNT_D T256463 /* Dim_W_GL_ACCOUNT_D */ ,
    W_GL_OTHER_F T256840 /* Fact_W_GL_OTHER_F */ left outer join W_USER_D T655704 /* Dim_W_USER_D_Changed_By */ On T256840.CHANGED_BY_WID = T655704.ROW_WID) left outer join W_USER_D T261626 /* Dim_W_USER_D_Created_By */ On T256840.CREATED_BY_WID = T261626.ROW_WID
    where ( T256463.ACCOUNT_SEG2_CODE = T490653.HIER20_CODE and T256463.ACCOUNT_SEG3_CODE = T490631.HIER20_CODE and T256840.ACCT_PERIOD_END_DT_WID = T529213.ROW_WID and T256463.ACCOUNT_SEG5_CODE = T652307.FIN_PROJECT_CODE and T256463.ACCOUNT_SEG7_CODE = T657965.SEGMENT_VAL_CODE and T256463.ACCOUNT_SEG4_CODE = T490704.HIER20_CODE and T490631.ROW_WID = T657824.HIER_WID and T256463.ACCOUNT_SEG8_CODE = T490378.HIER20_CODE and T490378.ROW_WID = T657830.HIER_WID and T256463.ACCOUNT_SEG10_CODE = T657980.SEGMENT_VAL_CODE and T256840.LEDGER_WID = T472289.ROW_WID and T256463.ACCOUNT_SEG9_CODE = T490694.HIER20_CODE and T490653.ROW_WID = T657821.HIER_WID and T256463.ROW_WID = T256840.GL_ACCOUNT_WID and T256463.ACCOUNT_SEG6_CODE = T657975.SEGMENT_VAL_CODE and T256463.ACCOUNT_SEG1_CODE = T383660.HIER20_CODE and T383660.ROW_WID = T657815.HIER_WID and T490694.ROW_WID = T657812.HIER_WID and T490704.ROW_WID = T657827.HIER_WID and case 'N' when 'Y' then T256463.ACCOUNT_SEG2_CODE else '-1' end = '-1' and case 'N' when 'Y' then T256463.ACCOUNT_SEG3_CODE else '-1' end = '-1' and T383660.HIER_CODE = 1002409 and T490378.HIER_CODE = 1003543 and T490631.HIER_CODE = 1002410 and T490653.HIER_CODE = 1003544 and T490694.HIER_CODE = 1016352 and T490704.HIER_CODE = 1002411 and T529213.MCAL_CAL_NAME = 'TS' and T657812.GROUP_RESP_ID = 0 and T657815.GROUP_RESP_ID = 0 and T657821.GROUP_RESP_ID = 0 and T657824.GROUP_RESP_ID = 0 and T657827.GROUP_RESP_ID = 0 and T657830.GROUP_RESP_ID = 0 and T657965.SEGMENT_LOV_ID = 1002416 and T657975.SEGMENT_LOV_ID = 1002412 and T657980.SEGMENT_LOV_ID = 1003545 and case 'N' when 'Y' then T256463.ACCOUNT_SEG4_CODE else '-1' end = '-1' and T256463.ACCOUNT_SEG1_CODE = '009' and T383660.HIER20_CODE = '009' and case 'N' when 'Y' then T256463.ACCOUNT_SEG8_CODE else '-1' end = '-1' and case 'N' when 'Y' then T256463.ACCOUNT_SEG9_CODE else '-1' end = '-1' and case 'N' when 'Y' then T256463.ACCOUNT_SEG1_CODE else '-1' end = '-1' and case -1 when -1 then -1 else T256840.LEDGER_WID end = -1 and case -1 when -1 then -1 else T472289.ROW_WID end = -1 and (T256463.ACCOUNT_SEG3_CODE like '1%' or T256463.ACCOUNT_SEG3_CODE like '2%') and (T490631.HIER20_CODE like '1%' or T490631.HIER20_CODE like '2%') and T256463.ACCOUNT_SEG3_CODE between '11010' and '11047' and T490631.HIER20_CODE between '11010' and '11047' and T529213.MCAL_PERIOD_NAME between 'JAN-2011' and 'MAR-2011' )
    group by cast(T529213.MCAL_PER_NAME_YEAR as INTEGER ) * 100 + cast(T529213.MCAL_PERIOD as INTEGER ), T256840.ACCT_DOC_NUM, T256840.X_DESCRIPTION, T383660.HIER20_CODE, T472289.ROW_WID, T490378.HIER20_CODE, T490631.HIER20_CODE, T490631.HIER20_NAME, T490653.HIER20_CODE, T490694.HIER20_CODE, T490704.HIER20_NAME, T490704.HIER20_CODE, T529213.ROW_WID, T529213.MCAL_PERIOD_NAME, T652307.FIN_PROJECT_CODE, T657965.SEGMENT_VAL_CODE, T657975.SEGMENT_VAL_CODE, T657980.SEGMENT_VAL_CODE
    ) D1
    order by c1, c17, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15
    Regds
    Mano

  • How to rename element (node) names in an XMLType column?

    I have a source table with a xml data stored in an XMLType column.
    The xml contains elements/nodes identified by numbers. I need to replace the numbers with the appropriate names.
    The plsql below does this, but has two issues:
    i. It selects the data into a clob and does a text replace on the elements in a loop. This works, but is super slow for 3500+ xml rows (about 500 node pairs per row).
    ii. Once the data has had the element numbers replaced with the names, it inserts the new xml (clob wrapped in xmltype function) into the table with the XMLType attribute.
    The problem with the latter action is that it is failing due to nls client vs server settings, or so it appears from what I could dig up. The actual error message:
    ORA-19202: Error occurred in XML processing
    LPX-00242: invalid use of ampersand ('&') character (use &amp;)
    Error at line 3
    There are come entities in the original xml like "&#61616;" (the degree symbol).
    My question is two-fold:
    a). Can I replace the element names without straying from the xmltype datatype? If so, how?
    b). If I cannot do "a.)", then what must I do ensure that the clob gets converted correctly to xmltype and inserted into the table?
    SQL> select <some rows> from nls_database_parameters ;
    PARAMETER VALUE
    NLS_LANGUAGE AMERICAN
    NLS_TERRITORY AMERICA
    NLS_CHARACTERSET WE8ISO8859P1
    NLS_NCHAR_CHARACTERSET AL16UTF16
    NLS_RDBMS_VERSION 10.2.0.1.0
    SQL> SELECT * FROM NLS_SESSION_PARAMETERS;
    PARAMETER VALUE
    NLS_LANGUAGE AMERICAN
    NLS_TERRITORY AMERICA
    ----code below-----
    (note, this is a stripped down version of the original, so there may be typos)
    declare
    l_xmlclob CLOB;
    l_newxml XMLType;
    v_record_uid NUMBER(20);
    CURSOR my_cur IS
    select a.elementname,b.tagname
    from t_elements a, t_tags b
    where (a.element_uid = b.element_uid)
    begin
    select br.xml_data.getClobVal() xml_data into l_xmlclob from t_elements;
    FOR my_rec IN my_cur LOOP
    l_xmlclob := replace(l_xmlclob,my_cur.elementname,my_cur.maptag_name);
    END LOOP;
    l_newxml := XMLType(l_xmlclob);
    insert into test_translated_xml (xml_data) values (l_newxml);
    end;
    (hopefully I haven't missed anything)
    Any tips or hints would be much appreciated.
    Thanks!

    Hello again,
    Take a look at html entity codes: http://www.w3schools.com/tags/ref_entities.asp.
    You can use this:
    insert into t values (xmltype('<test>'||dbms_xmlgen.convert('this is a test &')||'deg;</test>'));
    or
    insert into t values (xmltype('<test>'||dbms_xmlgen.convert('this is a test &')||'#176;</test>'));
    see this: &deg; (& deg;) or this: &#176; (& #176;)
    SQL*Plus will not display degree character. But this is valid enitity code, and when you generate HTML out of this, it should be displayed properly in web browser.
    HTML is in fact XML, that is validated by specific DTD (Document Type Definition).
    Paweł

  • How to use FTP_COMMAND to put a file in the target system

    Hi All,
    I have the requirement to put an excel file from apllication server to another remote system for this i am using the function modules
    1) FTP_CONNECT to connect to the sourece as well as the destination systems  --- Here i am able to hit the both systems.
    2) for sending the data to the target system i am using FTP_COMMAND by passing the 'put' statement along with the soruce and destinations  for the command parameter.
    See the bellow code
    CONCATENATE 'put' v_fname '
    ' 'wbrs1\' folder
    into cmd separated by space.
    CALL FUNCTION 'FTP_COMMAND'
      EXPORTING
       HANDLE                = dhdl
        command              = cmd
       COMPRESS              = 'N'
      VERIFY                =
      RFC_DESTINATION       =
    IMPORTING
      FILESIZE              =
      FILEDATE              =
      FILETIME              =
      tables
        data                  = result
    EXCEPTIONS
       TCPIP_ERROR           = 1
       COMMAND_ERROR         = 2
       DATA_ERROR            = 3
       OTHERS                = 4
    Here v_name is the file path and name in the application server suppose say :
    /usr/sap/TD2/DVEBMGS01/work/TD2_20060901_1008_WAY-LY.XLS
    and wbrs1 is the target system and 'Waynesboro DFS' is the folder name i ma passing to the command .
    Also I tried with the following statement
    CONCATENATE 'put' v_fname '
    ' dhost  folder
    into cmd separated by space.
    Here v_name is the file path and name in the application server suppose say :
    /usr/sap/TD2/DVEBMGS01/work/TD2_20060901_1008_WAY-LY.XLS,
    Dhost is wbrs1.wb.na.webdti.com
    And Waynesboro DFS is the folder .
    Here i am getting the error as invalid argument.
    See the bellow messages from result internal table.
    put /usr/sap/TD2/DVEBMGS01/work/TD2_20060901_1008_WAY-LY.XLS
    wbrs1\ Waynesboro DFS
    open /usr/sap/TD2/DVEBMGS01/work/TD2_20060901_1008_WAY-LY.XLS errno 22: Invalid argument
    Please let me know how i can resolve this problem and how can I put this file in the destination system.
    Thanks in advance.
    Regards,
    Venkat

    check this code....here data is transferred from SAP to Informatica box..
    REPORT zfo_phoenix_acc_reconciliation NO STANDARD PAGE HEADING
                                                    MESSAGE-ID zz
                                                    LINE-SIZE  255
                                                    LINE-COUNT 65.
                            PROGRAM DECLARATION
    PROGRAM ID            : ZFO_PHOENIX_ACC_RECONCILIATION
    DESCRIPTION           : Phoneix Account Reconcilation Program-Feed
                            Balance sheet account balances from GL
                            3 files needed to be enhanced. The files are " Master
                  Attribute File" & "Transaction File(GL Balance)". For
                  Master Attribute File, data needs to be retrieved from
                  T001, ZDATSRC_T, SKA1, T003, T856. The corresponding
                  data from all the tables is downloaded into file
                  according to the condition specified. For Transaction
                  File, data needs to be retrieved from ZGEIST based on
                  Ledger(GG), Record Type(0), Fiscal Year, Period(016).
                  Then the current period is used to determine which TSLxx
                  & KSLxx needs to be used. Also, the conditions are
                  specified in specs which have been used accordingly.
                  The final data fetched will need to processed as files
                  which neednot be downloaded to Presentation/Application
                  server. Instead the files are been FTPed to the
                  Informatica Server using FTP. The location where the
                  files need to be located is ERC\GLOBALSAP.
                         TABLES
    TABLES : ADR6.
                         TYPES
    Output File - Master COA(Chart of Account)
    TYPES : BEGIN OF ty_coacode ,
             coa_code(20),         "COA Code
             coa_description(50),  "COA Description
             field11 TYPE x,       "Line Feed
             END OF ty_coacode.
    Output File - Master Account
    TYPES : BEGIN OF ty_acctcode ,
             act_code(20),         "GL Account Number
             act_desc(60),         "GL Account Description
             act_act_flag(1),      "Account marked for deletion indicator
             glact_type(1),        "GL Account type
             fi_line(20),          "Corporate Financial Statement Line
             coa_code(20),         "COA Code
             act_defcode(3),       "Account Defination Code
             field11 TYPE x,       "Line Feed
           END OF ty_acctcode.
    Output File - Master Entity
    TYPES : BEGIN OF ty_entitycode,
             entity_code(12),     "Entity Code
             com_desc(40),        "Company Name
             coa_code(20),        "COA Code
             field11 TYPE x,      "Line Feed
            END OF ty_entitycode.
    Output File - Master Attribute
    TYPES : BEGIN OF ty_attribcode,
             attrib_code(5),       "Attribute Code
             attrib_value(20),     "Attribute Value
             attrib_desc(60),      "Attribute Description
             field11 TYPE x,       "Line Feed
            END OF ty_attribcode.
    Output File - Transaction GL Balance
    TYPES : BEGIN OF ty_glbal,
             gl_reccode(2),        "GL Reconciliation Code
             gl_entity(12),        "GL Entity - Company Code
             gl_accnum(20),        "Gl Group Account Number
             site(4),              "Site
             currency_type(6),     "Transaction Currency Code
             year(4) TYPE n,       "Year
             month(2) TYPE n,      "Month
             as_of_date(8),        "Date Account Balance
             tran_cur_amt(21),     "Transaction Currency Amount
             usd_amount(21),       "USD Amount
             racct(20),            "GL Account Number
             zzbewar(20),          "Consolidation Transaction Type
             zzdatsrc(20),         "Data Source
             zzblart(20),          "Document Type
             rassc(20),          "Trading Partner
             field1(20),           "Attribute field1
             field2(20),           "Attribute field2
             field3(20),           "Attribute field3
             field4(20),           "Attribute field4
             field5(20),           "Attribute field5
             field11 TYPE x,       "Line Feed
           END OF ty_glbal.
    Output File - Control
    TYPES :BEGIN OF ty_globalsap,
            clnt_name(6),          "Client Name
            source_name(12),       "Source Name
            as_of_date(8),         "AS of Date
            time_stamp(6),         "Time Stamp
            time_zone(8),          "Time Zone
            num_of_files(3),       "Number of Files
            num_of_records(9),     "Number of Records
            user_ids(60),          "User ID(s)
            field11 TYPE x,        "Line Feed
           END OF ty_globalsap.
    Int'table to hold ZGEIST Data
    TYPES : BEGIN OF ty_zgeist_data,
              rldnr    TYPE rldnr,      "Ledger
              rrcty    TYPE rrcty,      "Record Type
              rvers    TYPE rvers,      "Version
              ryear    TYPE gjahr,      "Fiscal Year
              rbukrs   TYPE bukrs,      "Company Code
              racct    TYPE racct,      "Account Number
              robjnr   TYPE gobjnr_r,   "Object Number for objects
              cobjnr   TYPE gobjnr_c,   "Object Number for transaction
              sobjnr   TYPE gobjnr_s,   "Object Number for partner
              rtcur    TYPE rtcur,      "Currency Key
              runit    TYPE meins,      "Base Unit of Measure
              drcrk    TYPE shkzg,      "Debit/Credit Indicator
              rpmax    TYPE rpmax,      "Period
              rzzstagr TYPE stagr,      "Statistical key figure
              zzaltkt  TYPE altkt,      "Account Number in Group
              zzdatsrc TYPE zdatsrc,    "Data Source code
              zzbewar  TYPE rmvct,      "Transaction Type
              zzblart  TYPE blart,      "Document Type
              rassc    TYPE rassc,       "Trading Partner
              zzvbund  TYPE rassc,      "Trading Partner
              tslvt    TYPE tslvt9,     "Transactional Currency
              kslvt    TYPE kslvt9,     "Group Currency
            END   OF ty_zgeist_data.
    Int'table to hold ZGEIST Error Data based on conditions
    TYPES : BEGIN OF ty_zgeist_error_data,
              rldnr    TYPE rldnr,      "Ledger
              rrcty    TYPE rrcty,      "Record Type
              rvers    TYPE rvers,      "Version
              ryear    TYPE gjahr,      "Fiscal Year
              rbukrs   TYPE bukrs,      "Company Code
              robjnr   TYPE gobjnr_r,   "Object Number for objects
              cobjnr   TYPE gobjnr_c,   "Object Number for transaction
              sobjnr   TYPE gobjnr_s,   "Object Number for partner
              rtcur    TYPE rtcur,      "Currency Key
              runit    TYPE meins,      "Base Unit of Measure
              drcrk    TYPE shkzg,      "Debit/Credit indicator
              rpmax    TYPE rpmax,      "Period
            END   OF ty_zgeist_error_data.
                         FIELD SYMBOLS
    FIELD-SYMBOLS : <fs> TYPE ANY.
                         CONSTANTS
    DATA : c_selected    TYPE c VALUE 'X',  "Field for constant value 'X'
           c_y           TYPE c VALUE 'Y',  "For Acc marked for deletion
           c_n           TYPE c VALUE 'N',  "For Acc not marked for deletion
           c_a           TYPE c VALUE 'A',  "For GL Account type Asset
           c_l           TYPE c VALUE 'L',  "For GL Account type Liability
           c_q           TYPE c VALUE 'Q',  "For GL Account type Equity
           c_r           TYPE c VALUE 'R',  "For GL Account type Revenue
           c_e           TYPE c VALUE 'E',  "For GL Account type Expense
           c_t           TYPE c VALUE 'T',  "For GL Account type
           c_userid(60)  TYPE c ,
           c_curtp       TYPE curtp VALUE '10', "Currency type
           c_curtp1      TYPE curtp VALUE '30', "Currency type
           c_rassc(5)    TYPE c VALUE 'RASSC',  "Trading Partner
           c_dtsrce(6)   TYPE c VALUE 'DTSRC',  "Data Source
           c_sacct(5)    TYPE c VALUE 'SACCT',  "GL Account
           c_docty(5)    TYPE c VALUE 'DOCTY',  "Document Type
           c_trxtp(5)    TYPE c VALUE 'TRXTP',  "Transaction Type
           c_tradptn(15) TYPE c VALUE 'Trading Partner',  "Trading Partner
           c_datsrc(11)  TYPE c VALUE 'Data Source',      "Data Source
           c_glacc(10)   TYPE c VALUE 'GL Account',       "GL Account
           c_doctyp(13)  TYPE c VALUE 'Document Type',    "Document Type
           c_trantyp(16) TYPE c VALUE 'Transaction Type'. "Transaction Type
                         DATA (Simple Fields)
    DATA: w_cnt1         TYPE i, "No Of records in output file COA Code
          w_cnt2         TYPE i, "No Of records in output file Account
          w_cnt3         TYPE i, "No Of records in output file Entity
          w_cnt4         TYPE i, "No Of records in output file attribute
          w_cnt5         TYPE i, "No Of records in output file GL Balance
          w_tot_recs     TYPE i, "TOtal number of records downloaded
          w_date         LIKE sy-datum, "System date
          w_timediff     LIKE sy-uzeit, "Time Difference to GMT
          w_timezone(10) TYPE c,       "Time Difference to GMT
          w_file_count(3) TYPE n,       "File Count
          w_period TYPE poper,          "To hold Period Value
          w_year LIKE t009b-bdatj,      "To hold Fiscal Year Value
          w_outfile       TYPE char64,  "FTPed file path
          w_hdl           TYPE i.       "Handle for FTP
                         INTERNAL TABLES
    Intenal table for GL Account details
    DATA: BEGIN OF it_gl_detail OCCURS 0,
              saknr      TYPE saknr,
              txt50_skat TYPE txt50_skat,
              xloev      TYPE xloev,
          END OF it_gl_detail.
    DATA: it_company_list LIKE bapi0014_1  OCCURS 0 WITH HEADER LINE,
          it_coacode TYPE STANDARD TABLE OF ty_coacode  WITH HEADER LINE,
          it_acctcode TYPE STANDARD TABLE OF ty_acctcode WITH HEADER LINE,
          it_entitycode TYPE STANDARD TABLE OF ty_entitycode
                                            WITH HEADER LINE,
          it_attribcode TYPE STANDARD TABLE OF ty_attribcode
                                            WITH HEADER LINE,
          it_glbal TYPE STANDARD TABLE OF ty_glbal WITH HEADER LINE,
          it_globalsap TYPE STANDARD TABLE OF ty_globalsap WITH HEADER LINE,
          it_t001 TYPE STANDARD TABLE OF t001 WITH HEADER LINE,
          it_zdatsrc TYPE STANDARD TABLE OF zdatsrc_t WITH HEADER LINE,
          it_ska1 TYPE STANDARD TABLE OF ska1 WITH HEADER LINE,
          it_t003 TYPE STANDARD TABLE OF t003 WITH HEADER LINE,
          it_t856 TYPE STANDARD TABLE OF t856 WITH HEADER LINE,
          it_zgeist_data    TYPE STANDARD TABLE OF ty_zgeist_data
                                 WITH HEADER LINE,
          it_zgeist_data1   TYPE STANDARD TABLE OF ty_zgeist_data
                                 WITH HEADER LINE,
          it_zgeist_data_all TYPE STANDARD TABLE OF zgeist,
          wa_it_zgeist_data1 TYPE ty_zgeist_data,
          wa_it_zgeist_data TYPE zgeist,
          it_zgeist_error_data TYPE STANDARD TABLE OF ty_zgeist_error_data,
          wa_it_zgeist_error_data TYPE ty_zgeist_error_data.
                         SELECTION-SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-009.
    SELECTION-SCREEN : BEGIN OF LINE,
                COMMENT 1(30) TEXT-006,
                POSITION POS_LOW.
    PARAMETERS :       P_USER(30) TYPE C LOWER CASE OBLIGATORY.
    SELECTION-SCREEN : END OF LINE.
    SELECTION-SCREEN : BEGIN OF LINE,
                COMMENT 1(30) TEXT-007,
                POSITION POS_LOW.
    PARAMETERS :       P_PWD(30) TYPE C LOWER CASE OBLIGATORY.
    SELECTION-SCREEN : END OF LINE.
    SELECTION-SCREEN : BEGIN OF LINE,
                COMMENT 1(30) TEXT-008,
                POSITION POS_LOW.
    PARAMETERS :       P_HOST(64) TYPE C LOWER CASE OBLIGATORY.
    SELECTION-SCREEN : END OF LINE.
    SELECTION-SCREEN : BEGIN OF LINE,
                COMMENT 1(30) TEXT-010,
                POSITION POS_LOW.
    SELECT-OPTIONS :   S_EMAIL FOR ADR6-SMTP_ADDR NO INTERVALS.
    SELECTION-SCREEN : END OF LINE.
    SELECTION-SCREEN END OF BLOCK B1.
    -- Password not visible--
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF screen-name = 'P_PWD'.
          screen-invisible = '1'.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    I N I T I A L I Z A T I O N                                         *
    INITIALIZATION.
      w_date0(2) = sy-datum4(2).
      w_date2(2) = sy-datum6(2).
      w_date4(4) = sy-datum0(4).
      S_EMAIL-SIGN = 'I'.
      S_EMAIL-OPTION = 'EQ'.
      S_EMAIL-LOW = '[email protected]'.
      APPEND S_EMAIL.
      S_EMAIL-SIGN = 'I'.
      S_EMAIL-OPTION = 'EQ'.
      S_EMAIL-LOW = '[email protected]'.
      APPEND S_EMAIL.
                         START - OF - SELECTION
    START-OF-SELECTION.
    Geting Company Details
      PERFORM get_company_list.
    Geting GL Account Details
      PERFORM get_gl_acc_detail.
    Geting GL Balance Details
      PERFORM get_zgeist_data.
                         END - OF - SELECTION
      PERFORM process_coacode.
      PERFORM process_acctcode.
      PERFORM process_entitycode.
      PERFORM process_attribcode.
      PERFORM process_glbal.
      PERFORM process_ftp_file.
      IF NOT it_zgeist_error_data[] IS INITIAL.
        PERFORM write_error_report.
      ENDIF.
    *&      Form  GET_COMPANY_LIST
               Form to get Company List                                 *
    FORM get_company_list.
      CALL FUNCTION 'BAPI_COMPANY_GETLIST'
        TABLES
          company_list = it_company_list.
    ENDFORM.                    "GET_COMPANY_LIST
    *&      Form  GET_GL_ACC_DETAIL
          Form to get the GL Account details                            *
    FORM get_gl_acc_detail.
      DATA : l_txt50 LIKE skat-txt50,
             l_tabix LIKE sy-tabix.
      SELECT saknr xloev
        INTO TABLE it_gl_detail
        FROM ska1
        WHERE ktopl = 'G001'
        AND   ( saknr GE '1000000000' AND saknr LE '4500000000' ).
      LOOP AT it_gl_detail.
        l_tabix = sy-tabix.
        SELECT SINGLE txt50
          INTO l_txt50
          FROM skat
          WHERE spras = 'EN'
          AND   ktopl = 'G001'
          AND   saknr = it_gl_detail-saknr.
        it_gl_detail-txt50_skat = l_txt50.
        MODIFY it_gl_detail INDEX l_tabix.
        CLEAR l_txt50.
      ENDLOOP.
    ENDFORM.                    "GET_GL_ACC_DETAIL
    *&      Form  PROCESS_COACODE
    Form to Populate COA data to Output internal table  IT_COACODE *
    FORM process_coacode.
      it_coacode-coa_code          =  text-023.     "GLOBAL.
      it_coacode-coa_description   =  text-022.     "Global SAP for ERC
      it_coacode-field11           =  '11'.
      APPEND it_coacode.
      CLEAR it_coacode.
    ENDFORM.                    "PROCESS_COACODE
    *&      Form  PROCESS_ACCTCODE
    Form to Populate Account data to Output Internal table IT_ACCTCODE *
    FORM process_acctcode.
      DATA:l_saknr(10).
      DATA : it_gl_detail2 LIKE it_gl_detail OCCURS 0 WITH HEADER LINE.
      IF NOT it_gl_detail[] IS INITIAL.
        it_gl_detail2[] = it_gl_detail[].
        SORT it_gl_detail2 BY saknr.
        DELETE ADJACENT DUPLICATES FROM it_gl_detail2 COMPARING saknr.
      ENDIF.
      IF NOT it_gl_detail2[] IS INITIAL.
        LOOP AT it_gl_detail2.
          MOVE it_gl_detail2-saknr      TO it_acctcode-act_code.
          MOVE it_gl_detail2-txt50_skat TO it_acctcode-act_desc.
    Check GL Account is marked for deletion or not
          IF it_gl_detail2-xloev     = c_selected.
            it_acctcode-act_act_flag = c_n.
          ELSE.
            it_acctcode-act_act_flag = c_y.
          ENDIF.
    Determine GL Account type based on GL account number
          l_saknr = it_gl_detail2-saknr.
          SHIFT l_saknr LEFT DELETING LEADING '0'.
          IF l_saknr CP '1*'.
            it_acctcode-glact_type = c_a.
          ELSEIF l_saknr CP '2*'.
            it_acctcode-glact_type = c_l.
          ELSEIF l_saknr CP '3*'.
            it_acctcode-glact_type = c_q.
    Start of Addition by C.Ramesh Babu on 11/04/2005   "DR1K907900
          ELSEIF l_saknr CP '4*'.
            it_acctcode-glact_type = c_l.
    End of Addition by C.Ramesh Babu on 11/04/2005   "DR1K907900
          ELSEIF l_saknr CP '5*'.
            it_acctcode-glact_type = c_r.
          ELSEIF l_saknr CP '6*'.
            it_acctcode-glact_type = c_e.
          ELSEIF l_saknr CP '7*'.
            it_acctcode-glact_type = c_t.
          ENDIF.
          it_acctcode-fi_line      = 'CDR'.
          it_acctcode-coa_code     = 'GLOBAL'.
          it_acctcode-act_defcode  = '001'.
          it_acctcode-field11      = '11'.
          APPEND :it_acctcode.
          CLEAR  :it_acctcode,it_gl_detail2.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    "PROCESS_ACCTCODE
    *&      Form  PROCESS_ENTITYCODE
      Form to Populate Entiti data to Output file internal table        *
    FORM process_entitycode.
      IF NOT it_company_list[] IS INITIAL.
        LOOP AT it_company_list.
          SHIFT it_company_list-company LEFT DELETING LEADING '0'.
          MOVE it_company_list-company TO it_entitycode-entity_code.
          MOVE it_company_list-name1   TO it_entitycode-com_desc.
          it_entitycode-coa_code    = 'GLOBAL'.
          it_entitycode-field11     = '11'.
          APPEND it_entitycode.
          CLEAR : it_company_list,it_entitycode.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    "PROCESS_ENTITYCODE
    *&      Form  PROCESS_ATTRIBCODE
        Form to Populate Attribute data to output file internal table   *
    FORM process_attribcode.
    Getting data from T001.
      SELECT * FROM t001 INTO TABLE it_t001.
      LOOP AT it_t001.
        MOVE c_rassc TO it_attribcode-attrib_code.
        MOVE it_t001-bukrs TO  it_attribcode-attrib_value.
        MOVE c_tradptn TO it_attribcode-attrib_desc.
        it_attribcode-field11 = '11'.
        APPEND it_attribcode.
        CLEAR it_attribcode.
      ENDLOOP.
    Getting data from table ZDATSRC_T.
      SELECT * FROM zdatsrc_t INTO TABLE it_zdatsrc.
      LOOP AT it_zdatsrc.
        MOVE c_dtsrce TO it_attribcode-attrib_code.
        MOVE it_zdatsrc-zdatsrc TO  it_attribcode-attrib_value.
        MOVE c_datsrc TO it_attribcode-attrib_desc.
        it_attribcode-field11 = '11'.
        APPEND it_attribcode.
        CLEAR it_attribcode.
      ENDLOOP.
    Getting data from table SKA1.
      SELECT * FROM ska1 INTO TABLE it_ska1.
      LOOP AT it_ska1.
        MOVE c_sacct TO it_attribcode-attrib_code.
        MOVE it_ska1-saknr TO  it_attribcode-attrib_value.
        MOVE c_glacc TO it_attribcode-attrib_desc.
        it_attribcode-field11 = '11'.
        APPEND it_attribcode.
        CLEAR it_attribcode.
      ENDLOOP.
    Getting data from table T003.
      SELECT * FROM t003 INTO TABLE it_t003.
      LOOP AT it_t003.
        MOVE c_docty TO it_attribcode-attrib_code.
        MOVE it_t003-blart TO  it_attribcode-attrib_value.
        MOVE c_doctyp TO it_attribcode-attrib_desc.
        it_attribcode-field11 = '11'.
        APPEND it_attribcode.
        CLEAR it_attribcode.
      ENDLOOP.
    Getting data from table T856.
      SELECT * FROM t856 INTO TABLE it_t856.
      LOOP AT it_t856.
        MOVE c_trxtp TO it_attribcode-attrib_code.
        MOVE it_t856-trtyp TO  it_attribcode-attrib_value.
        MOVE c_trantyp TO it_attribcode-attrib_desc.
        it_attribcode-field11 = '11'.
        APPEND it_attribcode.
        CLEAR it_attribcode.
      ENDLOOP.
    ENDFORM.                    "PROCESS_ATTRIBCODE
    *&      Form  PROCESS_GLBAL
      Form to Populate GL Balance data to Output file internal table    *
    FORM process_glbal.
      DATA : l_ctran_amt(21),
             l_cusd_amt(21).
      LOOP AT it_zgeist_data INTO wa_it_zgeist_data1.
    *Start of change by 501030559 on 11/04/2005
       it_glbal-gl_reccode = '04'.
         it_glbal-gl_reccode = '05'.
    *End of change by 501030559 on11/04/2005
        it_glbal-gl_entity  = wa_it_zgeist_data1-rbukrs.
        it_glbal-gl_accnum  = wa_it_zgeist_data1-zzaltkt.
        it_glbal-site       = 'ERC'.
        it_glbal-currency_type = wa_it_zgeist_data1-rtcur.
        it_glbal-year = w_year.
        it_glbal-month = w_period.
        it_glbal-as_of_date = w_date.
        l_ctran_amt = wa_it_zgeist_data1-tslvt.
    Put sign to left side of the value
        IF l_ctran_amt LT 0.
          TRANSLATE l_ctran_amt USING ' 0'.
          CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
            CHANGING
              value = l_ctran_amt.
        ELSE.
    Trailing Zero's to the value
          SHIFT l_ctran_amt RIGHT DELETING TRAILING space.
          TRANSLATE l_ctran_amt USING ' 0'.
          REPLACE '0' WITH '' INTO l_ctran_amt.
        ENDIF.
        it_glbal-tran_cur_amt = l_ctran_amt.
        l_cusd_amt = wa_it_zgeist_data1-kslvt.
    Put Sign to leftside of the value
        IF l_cusd_amt LT 0.
          TRANSLATE l_cusd_amt USING ' 0'.
          CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
            CHANGING
              value = l_cusd_amt.
        ELSE.
    Trailing Zero's to the value
          SHIFT l_cusd_amt RIGHT DELETING  TRAILING space.
          TRANSLATE l_cusd_amt USING ' 0'.
          REPLACE '0' WITH '' INTO l_cusd_amt.
        ENDIF.
        it_glbal-usd_amount = l_cusd_amt.
        it_glbal-racct   = wa_it_zgeist_data1-racct.
        it_glbal-zzbewar = wa_it_zgeist_data1-zzbewar.
        it_glbal-zzdatsrc = wa_it_zgeist_data1-zzdatsrc.
        it_glbal-zzblart  = wa_it_zgeist_data1-zzblart.
        it_glbal-rassc  = wa_it_zgeist_data1-rassc.
        it_glbal-field11 = '11'.
        APPEND it_glbal.
        CLEAR : wa_it_zgeist_data1, it_glbal.
      ENDLOOP.
    ENDFORM.                    "PROCESS_GLBAL
    *&      Form  PROCESS_GLOBALSAP
       Form to Populate COntrol data to Output file internal table      *
    FORM process_globalsap.
      DATA :l_total(9),
            l_len(3) type c.
    Logic to get Time Zone
      w_timediff  = sy-tzone.
      IF sy-tzone LT '0'.
        w_timediff = sy-tzone * -1.
        CONCATENATE 'GMT-' w_timediff(4) INTO w_timezone.
      ELSE.
        w_timediff = sy-tzone.
        CONCATENATE 'GMT+' w_timediff(4) INTO w_timezone.
      ENDIF.
      LOOP AT S_EMAIL.
        CONCATENATE C_USERID S_EMAIL-LOW ',' INTO C_USERID.
      ENDLOOP.
      l_len = strlen( c_userid ).
      l_len = l_len - 1.
      c_userid = c_userid+0(l_len).
      it_globalsap-clnt_name    = 'ERC'.
      it_globalsap-source_name  = 'GLOBALSAP'.
      it_globalsap-as_of_date   = w_date.
      it_globalsap-time_stamp   = sy-uzeit.
      it_globalsap-time_zone    = w_timezone.
      it_globalsap-num_of_files = w_file_count.
      MOVE w_tot_recs TO l_total.
      SHIFT l_total RIGHT DELETING TRAILING space.
      TRANSLATE l_total USING ' 0'.
      it_globalsap-num_of_records = l_total.
      it_globalsap-user_ids = c_userid.
      it_globalsap-field11  = '11'.
      APPEND it_globalsap.
      CLEAR it_globalsap.
    ENDFORM.                  "PROCESS_GLOBALSAP
    *&      Form  COUNT_RECORDS
    Form to count total number of records Downlaoded                   *
    FORM count_records.
      DESCRIBE TABLE it_coacode    LINES w_cnt1.
      DESCRIBE TABLE it_acctcode   LINES w_cnt2.
      DESCRIBE TABLE it_entitycode LINES w_cnt3.
      DESCRIBE TABLE it_attribcode LINES w_cnt4.
      DESCRIBE TABLE it_glbal      LINES w_cnt5.
      w_tot_recs = w_cnt1 + w_cnt2 + w_cnt3 + w_cnt4 + w_cnt5.
    ENDFORM.                    "COUNT_RECORDS
    *&      Form  get_zgeist_data
    Form used to fetch data from ZGEIST table for the GL BAL file
    FORM get_zgeist_data .
      PERFORM get_period_year.
      SELECT * INTO TABLE it_zgeist_data_all
               FROM zgeist
               WHERE rldnr  EQ 'GG'
               AND   ryear  EQ w_year
               AND   rrcty  EQ 0
               AND   rpmax  EQ '016'
               AND  ( zzaltkt GE '1000000000' AND zzaltkt LE '4500000000' )
               AND   rzzstagr = space.
      sort it_zgeist_data_all by rbukrs rldnr zzaltkt racct
                                 zzdatsrc zzbewar zzblart rtcur rassc.
      LOOP AT it_zgeist_data_all INTO wa_it_zgeist_data.
        IF wa_it_zgeist_data-zzaltkt EQ space.
          wa_it_zgeist_error_data-rldnr = wa_it_zgeist_data-rldnr.
          wa_it_zgeist_error_data-rrcty = wa_it_zgeist_data-rrcty.
          wa_it_zgeist_error_data-rvers = wa_it_zgeist_data-rvers.
          wa_it_zgeist_error_data-ryear = wa_it_zgeist_data-ryear.
          wa_it_zgeist_error_data-rbukrs = wa_it_zgeist_data-rbukrs.
          wa_it_zgeist_error_data-robjnr = wa_it_zgeist_data-robjnr.
          wa_it_zgeist_error_data-cobjnr = wa_it_zgeist_data-cobjnr.
          wa_it_zgeist_error_data-sobjnr = wa_it_zgeist_data-sobjnr.
          wa_it_zgeist_error_data-rtcur = wa_it_zgeist_data-rtcur.
          wa_it_zgeist_error_data-runit = wa_it_zgeist_data-runit.
          wa_it_zgeist_error_data-drcrk = wa_it_zgeist_data-drcrk.
          wa_it_zgeist_error_data-rpmax = wa_it_zgeist_data-rpmax.
          APPEND wa_it_zgeist_error_data TO it_zgeist_error_data.
        ELSE.
          it_zgeist_data1-rbukrs   = wa_it_zgeist_data-rbukrs.
          it_zgeist_data1-rldnr    = wa_it_zgeist_data-rldnr.
          it_zgeist_data1-zzaltkt  = wa_it_zgeist_data-zzaltkt.
          it_zgeist_data1-racct    = wa_it_zgeist_data-racct.
          it_zgeist_data1-zzdatsrc = wa_it_zgeist_data-zzdatsrc.
          it_zgeist_data1-zzbewar  = wa_it_zgeist_data-zzbewar.
          it_zgeist_data1-zzblart  = wa_it_zgeist_data-zzblart.
          it_zgeist_data1-rassc  = wa_it_zgeist_data-rassc.
          it_zgeist_data1-rtcur    = wa_it_zgeist_data-rtcur.
          PERFORM get_tslvt_kslvt_values USING w_period.
          COLLECT it_zgeist_data1.
        ENDIF.
        CLEAR : wa_it_zgeist_data, wa_it_zgeist_error_data,
                it_zgeist_data1.
      ENDLOOP.
      it_zgeist_data[] = it_zgeist_data1[].
    ENDFORM.                    " get_zgeist_data
    *&      Form  write_error_report
    Form used to display error data for the GL BAL fetched data
    FORM write_error_report .
      DATA : l_text(80) TYPE c.
      CASE w_period.
        WHEN '001' OR '01'.
          l_text = text-e01.
        WHEN '002' OR '02'.
          l_text = text-e02.
        WHEN '003' OR '03'.
          l_text = text-e03.
        WHEN '004' OR '04'.
          l_text = text-e04.
        WHEN '005' OR '05'.
          l_text = text-e05.
        WHEN '006' OR '06'.
          l_text = text-e06.
        WHEN '007' OR '07'.
          l_text = text-e07.
        WHEN '008' OR '08'.
          l_text = text-e08.
        WHEN '009' OR '09'.
          l_text = text-e09.
        WHEN '010' OR '10'.
          l_text = text-e10.
        WHEN '011' OR '11'.
          l_text = text-e11.
        WHEN '012' OR '12'.
          l_text = text-e12.
        WHEN '013' OR '13'.
          l_text = text-e13.
        WHEN '014' OR '14'.
          l_text = text-e14.
        WHEN '015' OR '15'.
          l_text = text-e15.
        WHEN '016' OR '16'.
          l_text = text-e16.
      ENDCASE.
      SKIP 2.
      WRITE:/45 text-h01 COLOR COL_HEADING.
      SKIP 2.
      FORMAT COLOR 4.
      WRITE:/(234) sy-uline.
      WRITE:/1   sy-vline,
             2   text-h02,
             9   sy-vline,
             10  text-h03,
             19  sy-vline,
             20  text-h04,
             28  sy-vline,
             29  text-h05,
             41  sy-vline,
             42  text-h06,
             49  sy-vline,
             50  text-h07,
             69  sy-vline,
             70  text-h08,
             89  sy-vline,
             90  text-h09,
             109 sy-vline,
             110 text-h10,
             119 sy-vline,
             120 text-h11,
             130 sy-vline,
             131 text-h12,
             144 sy-vline,
             145 text-h13,
             152 sy-vline,
             153 text-h14,
             234 sy-vline.
      WRITE:/(234) sy-uline.
      FORMAT COLOR OFF.
      LOOP AT it_zgeist_error_data INTO wa_it_zgeist_error_data.
        FORMAT COLOR 2.
        WRITE:/1   sy-vline,
               4   wa_it_zgeist_error_data-rldnr,
               9   sy-vline,
               13  wa_it_zgeist_error_data-rrcty,
               19  sy-vline,
               22  wa_it_zgeist_error_data-rvers,
               28  sy-vline,
               32  wa_it_zgeist_error_data-ryear,
               41  sy-vline,
               42  wa_it_zgeist_error_data-rbukrs,
               49  sy-vline,
               50  wa_it_zgeist_error_data-robjnr,
               69  sy-vline,
               70  wa_it_zgeist_error_data-cobjnr,
               89  sy-vline,
               90  wa_it_zgeist_error_data-sobjnr,
               109 sy-vline,
               112 wa_it_zgeist_error_data-rtcur,
               119 sy-vline,
               123 wa_it_zgeist_error_data-runit,
               130 sy-vline,
               135 wa_it_zgeist_error_data-drcrk,
               144 sy-vline,
               147 wa_it_zgeist_error_data-rpmax,
               152 sy-vline,
               153 l_text,
               234 sy-vline.
        FORMAT COLOR OFF.
      ENDLOOP.
      WRITE:/(234) sy-uline.
    ENDFORM.                    " write_error_report
    *&      Form  get_tslvt_kslvt_values
    Form used to get TSLxx & KSLxx values for the period fetched
    FORM get_tslvt_kslvt_values USING period.
    FIELD-SYMBOLS : <f1> TYPE ANY,
                     <f2> TYPE ANY.
    DATA : l_tslvt_val(25) VALUE 'wa_it_zgeist_data-tsl',
            l_kslvt_val(25) VALUE 'wa_it_zgeist_data-ksl',
            l_tslvt TYPE tslvt9,
            l_kslvt TYPE kslvt9,
            l_period TYPE poper.
      clear l_period.
      l_period = period.
      DO l_period TIMES.
          CONCATENATE  l_tslvt_val  l_period+1(2) INTO  l_tslvt_val.
          CONCATENATE   l_kslvt_val l_period+1(2) INTO  l_kslvt_val.
        ASSIGN (l_tslvt_val) TO <f1>.
        l_tslvt = <f1>.
        it_zgeist_data1-tslvt = it_zgeist_data1-tslvt + l_tslvt.
        ASSIGN (l_kslvt_val) TO <f2>.
        l_kslvt = <f2>.
        it_zgeist_data1-kslvt = it_zgeist_data1-kslvt + l_kslvt.
        l_period = l_period - 1.
        clear : l_tslvt, l_kslvt, l_tslvt_val, l_kslvt_val.
        l_tslvt_val = 'wa_it_zgeist_data-tsl'.
        l_kslvt_val = 'wa_it_zgeist_data-ksl'.
        if l_period = 0.
          exit.
        endif.
      ENDDO.
    ENDFORM.                    "get_tslvt_kslvt_values
    *&      Form  process_ftp_file
    Form used to connect & disconnect to Informatica Server using FTP
    Also, used to transfer files to the Informatica location
    -->  p1        text
    <--  p2        text
    FORM process_ftp_file .
      DATA: l_slen     TYPE i,
            l_error,
            l_pwd(30)  TYPE c.
      CONSTANTS: c_dest TYPE rfcdes-rfcdest VALUE 'SAPFTP',
                 c_key  TYPE i              VALUE 26101957.
      l_error = 0.
    connect to ftp server
      l_pwd = p_pwd.
      l_slen = STRLEN( l_pwd ).
      CALL FUNCTION 'HTTP_SCRAMBLE'
        EXPORTING
          SOURCE      = l_pwd
          sourcelen   = l_slen
          key         = c_key
        IMPORTING
          destination = l_pwd.
      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
        EXPORTING
          text = 'Connect to FTP Server'.
    To Connect to the Server using FTP
      CALL FUNCTION 'FTP_CONNECT'
        EXPORTING
          user            = p_user
          password        = l_pwd
          host            = p_host
          rfc_destination = c_dest
        IMPORTING
          handle          = w_hdl
        EXCEPTIONS
          OTHERS          = 1.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                   WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      CLEAR : w_outfile, w_file_count.
      MOVE 'ERC/GLOBALSAP/M_ERC_GLOBALSAP_COACODE' TO w_outfile.
      PERFORM download_to_ftp TABLES it_coacode USING w_outfile.
      w_file_count = w_file_count + 1.
      CLEAR : w_outfile.
      MOVE 'ERC/GLOBALSAP/M_ERC_GLOBALSAP_ACCTCODE' TO w_outfile.
      PERFORM download_to_ftp TABLES it_acctcode USING w_outfile.
      w_file_count = w_file_count + 1.
      CLEAR : w_outfile.
      MOVE 'ERC/GLOBALSAP/M_ERC_GLOBALSAP_ENTITYCODE' TO w_outfile.
      PERFORM download_to_ftp TABLES it_entitycode USING w_outfile.
      w_file_count = w_file_count + 1.
      CLEAR : w_outfile.
      MOVE 'ERC/GLOBALSAP/M_ERC_GLOBALSAP_ATTRIBCODE' TO w_outfile.
      PERFORM download_to_ftp TABLES it_attribcode USING w_outfile.
      w_file_count = w_file_count + 1.
      CLEAR : w_outfile.
      MOVE 'ERC/GLOBALSAP/ERC_GLOBALSAP_GLBAL' TO w_outfile.
      PERFORM download_to_ftp TABLES it_glbal USING w_outfile.
      w_file_count = w_file_count + 1.
      CLEAR : w_outfile, w_tot_recs.
      PERFORM count_records.
      PERFORM process_globalsap.
      MOVE 'ERC/GLOBALSAP/C_ERC_GLOBALSAP' TO w_outfile.
      PERFORM download_to_ftp TABLES it_globalsap USING w_outfile.
    To disconnect the FTP
      CALL FUNCTION 'FTP_DISCONNECT'
        EXPORTING
          handle = w_hdl.
    To disconnect the RFC Connection
      CALL FUNCTION 'RFC_CONNECTION_CLOSE'
        EXPORTING
          destination = c_dest
        EXCEPTIONS
          OTHERS      = 1.
    ENDFORM.                    " process_ftp_file
    *&      Form  download_to_ftp
    Form to put the files in the Informatica Location using FTP
    Path is ERC\GLOBALSAP\<filename>
    FORM download_to_ftp TABLES it_tab
                         USING l_string TYPE char64.
      CALL FUNCTION 'FTP_R3_TO_SERVER'
        EXPORTING
          handle         = w_hdl
          fname          = l_string
          character_mode = 'X'
        TABLES
          text           = it_tab[]
        EXCEPTIONS
          tcpip_error    = 1
          command_error  = 2
          data_error     = 3
          OTHERS         = 4.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
                RAISING invalid_output_file.
      ENDIF.
    ENDFORM.                    " download_to_ftp
    *&      Form  get_period_year
    Form to fill the Period & Year based on the Sy-datum
    FORM get_period_year .
      DATA : l_month(2) TYPE c,
             l_day(2)   TYPE c,
             l_year(4)  TYPE c.
      l_year  = sy-datum+0(4).
      l_month = sy-datum+4(2).
      l_day   = sy-datum+6(2).
      CASE l_month.
        WHEN '01'.
          IF l_day <= '15'.
            w_period = '12'.
            w_year = l_year - 1.
          ELSE.
            w_period = '1'.
            w_year = l_year.
          ENDIF.
        WHEN '02'.
          IF l_day <= '15'.
            w_period = '1'.
            w_year = l_year.
          ELSE.
            w_period = '2'.
            w_year = l_year.
          ENDIF.
        WHEN '03'.
          IF l_day <= '15'.
            w_period = '2'.
            w_year = l_year.
          ELSE.
            w_period = '3'.
            w_year = l_year.
          ENDIF.
        WHEN '04'.
          IF l_day <= '15'.
            w_period = '3'.
            w_year = l_year.
          ELSE.
            w_period = '4'.
            w_year = l_year.
          ENDIF.
        WHEN '05'.
          IF l_day <= '15'.
            w_period = '4'.
            w_year = l_year.
          ELSE.
            w_period = '5'.
            w_year = l_year.
          ENDIF.
        WHEN '06'.
          IF l_day <= '15'.
            w_period = '5'.
            w_year = l_year.
          ELSE.
            w_period = '6'.
            w_year = l_year.
          ENDIF.
        WHEN '07'.
          IF l_day <= '15'.
            w_period = '6'.
            w_year = l_year.
          ELSE.
            w_period = '7'.
            w_year = l_year.
          ENDIF.
        WHEN '08'.
          IF l_day <= '15'.
            w_period = '7'.
            w_year = l_year.
          ELSE.
            w_period = '8'.
            w_year = l_year.
          ENDIF.
        WHEN '09'.
          IF l_day <= '15'.
            w_period = '8'.
            w_year = l_year.
          ELSE.
            w_period = '9'.
            w_year = l_year.
          ENDIF.
        WHEN '10'.
          IF l_day <= '15'.
            w_period = '9'.
            w_year = l_year.
          ELSE.
            w_period = '10'.
            w_year = l_year.
          ENDIF.
        WHEN '11'.
          IF l_day <= '15'.
            w_period = '10'.
            w_year = l_year.
          ELSE.
            w_period = '11'.
            w_year = l_year.
          ENDIF.
        WHEN '12'.
          IF l_day <= '15'.
            w_period = '11'.
            w_year = l_year.
          ELSE.
            w_period = '12'.
            w_year = l_year.
          ENDIF.
      ENDCASE.
    ENDFORM.                    " get_period_year

  • Error invoking Oracle Application Adapter part of SOA Suite 11g

    We are using Oracle application adapter from BPEL process manager ( SOA Suite 11g) to call PLSQL:OE_ORDER_PUB:PROCESS_ORDER (EBS R12).
    The call returns error : "<ns0:X_MSG_DATA
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="">FND
    FND_AS_UNEXPECTED_ERROR N PKG_NAME OE_Order_PVT N PROCEDURE_NAME Lines N
    ERROR_TEXT ORA-06502: PL/SQL: numeric or value error: NULL index table key
    value </ns0:X_MSG_DATA>"
    The same order gets created from PLSQL but fails while trying from BPEL through Oracle APPS adapter. The dbg file at the EBS end is given below:
    Session Id:5695950
    Entering OE_HEADER_UTIL.GET_IDS
    Exiting OE_HEADER_UTIL.GET_IDS
    Entering OE_HEADER_UTIL.GET_IDS
    Exiting OE_HEADER_UTIL.GET_IDS
    ENTER SET RECURSION MODE
    ENTITY CODE-1
    ENTRY-EXIT MODE -1
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    ENTERING OE_ORDER_PUB.PROCESS_ORDER
    LEAVING OE_MSG_PUB.INITIALIZE
    ENTER PROCESS_ORDER_AG
    BEFORE HEADER PROCESSING
    HEADER_ID22020
    OPERATIONCREATE
    ENTER SET RECURSION MODE
    ENTITY CODE-2
    ENTRY-EXIT MODE -1
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    ENTERING OE_ORDER_PVT.HEADER
    OE_ORDER_PVT.HEADER AFTER INIT CONTROL REC
    OPERATION = CREATE SO SET OLD TO NULL
    Entering OE_HEADER_UTIL.CONVERT_MISS_TO_NULL
    Exiting OE_HEADER_UTIL.CONVERT_MISS_TO_NULL
    ENTER OE_HEADER_SECURITY.ATTRIBUTES
    VALIDATE ATTRIBUTES
    Entering OE_VALIDATE_HEADER.ATTRIBUTES
    Entering OE_ORDER_CACHE.LOAD_INVOICE_TO_ORG
    Exiting OE_ORDER_CACHE.LOAD_INVOICE_TO_ORG
    Entering OE_ORDER_CACHE.LOAD_ORDER_TYPE
    Exiting OE_ORDER_CACHE.LOAD_ORDER_TYPE
    Entering OE_ORDER_CACHE.LOAD_Payment_Term
    Exiting OE_ORDER_CACHE.LOAD_Payment_Term
    Entering OE_ORDER_CACHE.LOAD_PRICE_LIST
    Exiting OE_ORDER_CACHE.LOAD_PRICE_LIST
    Entering OE_ORDER_CACHE.LOAD_Salesrep_rec
    Exiting OE_ORDER_CACHE.LOAD_Salesrep
    Exiting OE_VALIDATE_HEADER.ATTRIBUTES
    DEFAULT MISSING
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for INSTALLMENT_OPTIONS
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    Parameter value fetched from table.
    PARAMETER VALUE:
    In OE_Contracts_util.check_license
    performing check first time, lx_status: I
    l_sales_contracts_enabled: N
    SET CODE
    AFTER SET CODE
    Enter get_freight_carrier()
    Entering OE_ORDER_CACHE.LOAD_SET_OF_BOOKS
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for SET_OF_BOOKS_ID
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    ENTERING OE_SYS_PARAMETERS_PVT.GET_AR_SYS_PARAMS ...
    Querying the table for the AR details ..
    Exiting OE_ORDER_CACHE.LOAD_SET_OF_BOOKS
    AFTER DEFAULT MISSING
    APPLY ATTRIBUTE CHANGES
    Entering OE_HEADER_UTIL.APPLY_ATTRIBUTE_CHANGES
    Raj1
    Raj2
    Raj3
    Raj4
    before getting payment count
    Exiting OE_HEADER_UTIL.APPLY_ATTRIBUTE_CHANGES
    ENTER OE_HEADER_SECURITY.ENTITY
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for AUDIT_TRAIL_ENABLE_FLAG
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    VALUE FROM DBE
    Parameter value fetched from table.
    PARAMETER VALUE: E
    ENTER OE_PC_CONSTRAINTS_ADMIN_PVT.IS_OP_CONSTRAINED , COLUMN:
    EXIT OE_PC_CONSTRAINTS_ADMIN_PVT.IS_OP_CONSTRAINED , RESULT:0
    EXIT OE_HEADER_SECURITY.ENTITY
    Entering OR_HEADER_UTIL.Pre_Write_Process
    No prepayments for the order
    Entering OE_HEADER_UTIL.Get_Order_Number
    Entering OE_HEADER_UTIL.Get_Order_Number
    Ordertype is :1087
    Entering OE_ORDER_CACHE.LOAD_SET_OF_BOOKS
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for SET_OF_BOOKS_ID
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    ENTERING OE_SYS_PARAMETERS_PVT.GET_AR_SYS_PARAMS ...
    Getting the AR details from the cache ..
    Exiting OE_ORDER_CACHE.LOAD_SET_OF_BOOKS
    Entering OE_ORDER_CACHE.LOAD_ORDER_TYPE
    Exiting OE_ORDER_CACHE.LOAD_ORDER_TYPE
    before calling get_seq_info
    Category Code1087
    Set of Books2021
    after calling get_seq_info
    fndseqresult0
    fndseqtype1017
    p_old_header_rec.order_number:
    p_old_header_rec.transaction_phase_code:
    Exiting OR_HEADER_UTIL.Get_Order_Number
    Exiting OR_HEADER_UTIL.Pre_Write_Process
    WRITE TO DB
    Entering OE_HEADER_UTIL.INSERT_ROW
    ENTERING OE_ORDER_UTIL.UPDATE_GLOBAL_PICTURE
    UI FLAG IS FALSE
    CODE_RELEASE_LEVEL=120004
    Entering OE_ORDER_CACHE.LOAD_ORDER_HEADER
    Exiting OE_ORDER_CACHE.LOAD_ORDER_HEADER
    P_HEADER_ID=22020
    P_HEADER_REC.HEADER_ID=22020
    OD GLOBAL HEADER_ID= 22020
    NEW GLOBAL HEADER_ID= 22020
    EXITING OE_ORDER_UTIL.UPDATE_GLOBAL_PICTURE
    returned index is: 1
    Exiting OE_HEADER_UTIL.INSERT_ROW
    Entering OE_HEADER_UTIL.Post_Write_Process
    ENTER SET RECURSION MODE
    ENTITY CODE-11
    ENTRY-EXIT MODE -1
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    Entering Procedure Process_Request_Pvt
    Request type DFLT_HSCREDIT_FOR_SREP
    Entering OE_DELAYED_REQUESTS_UTIL.DFLT_HSCREDIT_PRIMARY_SREP
    ENTERING OE_HEADER_SCREDIT_UTIL.DFLT_HSCREDIT_PRIMARY_SREP
    ENTER SET RECURSION MODE
    ENTITY CODE-4
    ENTRY-EXIT MODE -1
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    ENTERING OE_ORDER_PVT.HEADER_SCREDITS
    ENTER OE_HEADER_SCREDIT_SECURITY.ATTRIBUTES
    Entering OE_VALIDATE_Header_Scredits.Attributes
    Entering OE_ORDER_CACHE.LOAD_Salesrep_rec
    Exiting OE_ORDER_CACHE.LOAD_Salesrep
    Exiting OE_VALIDATE_Header_Scredits.Attributes
    Entering OE_VALIDATE_Header_Scredits.Entity
    Entering OE_VALIDATE_Header_Scredits.Duplicate_salescredit
    Exiting OE_VALIDATE_Header_Scredits.Duplicate_salescredit
    Exiting OE_VALIDATE_Header_Scredits.Entity
    ENTER OE_HEADER_SCREDIT_SECURITY.ENTITY
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for AUDIT_TRAIL_ENABLE_FLAG
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    Parameter value exists.
    PARAMETER VALUE: E
    Entering OE_ORDER_CACHE.LOAD_ORDER_HEADER
    Exiting OE_ORDER_CACHE.LOAD_ORDER_HEADER
    ENTER OE_PC_CONSTRAINTS_ADMIN_PVT.IS_OP_CONSTRAINED , COLUMN:
    EXIT OE_PC_CONSTRAINTS_ADMIN_PVT.IS_OP_CONSTRAINED , RESULT:0
    EXIT OE_HEADER_SCREDIT_SECURITY.ENTITY
    ENTERING OE_HEADER_SCREDIT_UTIL.INSERT_ROW
    ENTERING OE_ORDER_UTIL.UPDATE_GLOBAL_PICTURE
    UI FLAG IS FALSE
    CODE_RELEASE_LEVEL=120004
    P_HDR_SCR_ID=64168
    ENTERING OE_ORDER_UTIL.RETURN_GLB_ENT_INDEX
    EXITING OE_ORDER_UTIL.RETURN_GLB_ENT_INDEX
    INDEX=641680001
    L_RETURN_STATUS =S
    L_RESULT =F
    OLD SCR_ID 64168
    NEW SCR_ID64168
    EXITING OE_ORDER_UTIL.UPDATE_GLOBAL_PICTURE
    RETURNED INDEX IS: 641680001
    EXITING OE_HEADER_SCREDIT_UTIL.INSERT_ROW
    EXITING OE_ORDER_PVT.HEADER_SCREDITS
    ENTER SET RECURSION MODE
    ENTITY CODE-4
    ENTRY-EXIT MODE -0
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    EXITING OE_HEADER_SCREDIT_UTIL.DFLT_HSCREDIT_PRIMARY_SREP
    Exiting OE_DELAYED_REQUESTS_UTIL.DFLT_HSCREDIT_PRIMARY_SREP
    leaving Process_Request_Pvt
    ENTER SET RECURSION MODE
    ENTITY CODE-11
    ENTRY-EXIT MODE -0
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    leaving process_requenst_for_reqtype
    Before calling eval_post_write_header in HEADER Post Write
    ENTERING EVAL_POST_WRITE_HEADER
    M_HOLD_ENTITY_CODE/M_HOLD_ENTITY_ID:C/13489
    RETRIEVING NEW HOLD SOURCE RECORD
    HOLD SOURCE RECORD NOT FOUND , EXITING
    EXITING EVAL_POST_WRITE_HEADER
    After calling eval_post_write_header in HEADER Post Write
    Before calling OE_SCHEDULE_UTIL
    ENTERING INSERT_INTO_MTL_SALES_ORDERS
    CALLING INVS CREATE_SALESORDER
    ORDER TYPE: Cochin Order
    SOURCE CODE: ORDER ENTRY
    ORDER NUMBER : 1017
    L_MSG_COUNT
    RETURN STATUS S
    EXITING INSERT_INTO_MTL_SALES_ORDERS
    Entering OE_ORDER_CACHE.LOAD_ORDER_HEADER
    Exiting OE_ORDER_CACHE.LOAD_ORDER_HEADER
    Exiting OE_HEADER_UTIL.Post_Write_Process
    EXITING OE_ORDER_PVT.HEADER
    ENTER SET RECURSION MODE
    ENTITY CODE-2
    ENTRY-EXIT MODE -0
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    AFTER HEADER PROCESSING HEADER_ID = 22020
    AFTER HEADER_ADJS PROCESSING
    ENTER SET RECURSION MODE
    ENTITY CODE-9
    ENTRY-EXIT MODE -1
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    Enter OE_Delayed_Requests_Pvt.Process_Request_for_Entity
    ENTER SET RECURSION MODE
    ENTITY CODE-9
    ENTRY-EXIT MODE -0
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    AFTER HEADER_PRICE_ATTS PROCESSING
    ENTER SET RECURSION MODE
    ENTITY CODE-9
    ENTRY-EXIT MODE -1
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    Enter OE_Delayed_Requests_Pvt.Process_Request_for_Entity
    ENTER SET RECURSION MODE
    ENTITY CODE-9
    ENTRY-EXIT MODE -0
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    ENTER SET RECURSION MODE
    ENTITY CODE-9
    ENTRY-EXIT MODE -1
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    Enter OE_Delayed_Requests_Pvt.Process_Request_for_Entity
    Entering Procedure Process_Request_Pvt
    Request type CHECK_HSC_QUOTA_TOTAL
    Entering OE_DELAYED_REQUESTS_UTIL.VALIDATE_HSC_QUOTA_TOTAL
    Entering OE_VALIDATE_Header_Scredits.Validate_HSC_QUOTA_TOTAL
    Exiting OE_VALIDATE_Header_Scredits.Validate_HSC_QUOTA_TOTAL
    Exiting OE_DELAYED_REQUESTS_UTIL.VALIDATE_HSC_QUOTA_TOTAL
    leaving Process_Request_Pvt
    ENTER SET RECURSION MODE
    ENTITY CODE-9
    ENTRY-EXIT MODE -0
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    ENTER SET RECURSION MODE
    ENTITY CODE-9
    ENTRY-EXIT MODE -1
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    Enter OE_Delayed_Requests_Pvt.Process_Request_for_Entity
    ENTER SET RECURSION MODE
    ENTITY CODE-9
    ENTRY-EXIT MODE -0
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    BEFORE LINES PROCESSING
    ENTER SET RECURSION MODE
    ENTITY CODE-5
    ENTRY-EXIT MODE -1
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    Entering OE_ORDER_PVT.LINES 1: 15-OCT-09 18:31:47
    ---------LOOPING FOR NTH TIME N= 1
    OPERATION = CREATE SO SETTING OLD TO NULL
    Entering OE_LINE_UTIL.CONVERT_MISS_TO_NULL
    outside margin convert miss to null
    inside margin convert miss to null
    Exiting OE_LINE_UTIL.CONVERT_MISS_TO_NULL
    AT LINE LEVEL HEADER_ID22020
    Entering OE_HEADER_UTIL.LOCK_ROW
    Entering OE_HEADER_UTIL.QUERY_ROW
    Before caching OE_HEADER_UTIL.QUERY_ROW
    Exiting OE_HEADER_UTIL.QUERY_ROW
    selected for update, now compare
    STANDARD LINE
    L_MODE IS MODELS_AND_STANDARD
    0
    STARTING LINE LOOP. HEADER_ID = 22020
    Entering OE_ORDER_CACHE.Load_Item
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for MASTER_ORGANIZATION_ID
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    VALUE FROM DB83
    Parameter value fetched from table.
    PARAMETER VALUE: 83
    p_key1 is5429
    prev item: 9.990000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+125
    l_key2 (Master organizion_id) is83
    p_key2 (ship_from_org_id) is88
    querying item from mtl_system_items
    querying based on ship_from_org
    Exiting OE_ORDER_CACHE.LOAD_ITEM
    Dual_uom_control is FALSE
    CHECK ATTRIBUTES SECURITY
    Enter OE_LINE_Security.Attributes
    ATTRIBUTE VALIDATION
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for MASTER_ORGANIZATION_ID
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    Parameter value exists.
    PARAMETER VALUE: 83
    Enter procedure OE_validate_line.Attributes
    Header has got created in the same call
    Entering OE_ORDER_CACHE.LOAD_ORDER_HEADER
    Exiting OE_ORDER_CACHE.LOAD_ORDER_HEADER
    Entering OE_ORDER_CACHE.LOAD_LINE_TYPE
    p_key is not null
    before selecting line_type info : G_MISS_CHAR
    after selecting line_type info : G_MISS_CHAR
    tax_flag :
    Exiting OE_ORDER_CACHE.LOAD_LINE_TYPE
    Checking for Ship Dates....
    Checking for Arival Dates....
    item_relationship_type :
    preferred_grade:
    Exiting procedure OE_validate_line.Attributes
    AFTER ATTRIBUTE VALIDATION
    DEFAULT MISSING
    ENTER OE_DEFAULT_LINE.ATTRIBUTES
    Entering OE_ORDER_CACHE.LOAD_ORDER_HEADER
    Exiting OE_ORDER_CACHE.LOAD_ORDER_HEADER
    Entering OE_ORDER_CACHE.Load_Item
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for MASTER_ORGANIZATION_ID
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    Parameter value exists.
    PARAMETER VALUE: 83
    p_key1 is5429
    prev item: 5429
    l_key2 (Master organizion_id) is83
    p_key2 (ship_from_org_id) is88
    Exiting OE_ORDER_CACHE.LOAD_ITEM
    IN DEFAULTING: FUNCTION GET_ITEM_TYPE
    THE INV ITEM IS5429
    line_category_code = ORDER
    retrobill_request_id =
    item_type_code =
    Entering OE_ORDER_CACHE.Load_Item
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for MASTER_ORGANIZATION_ID
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    Parameter value exists.
    PARAMETER VALUE: 83
    p_key1 is5429
    prev item: 5429
    l_key2 (Master organizion_id) is83
    p_key2 (ship_from_org_id) is88
    Exiting OE_ORDER_CACHE.LOAD_ITEM
    CALLING GET_SMC
    DEFAULTING SMC FLAG
    GET SMC: TOP MODEL LINE ID :
    CALLING GET_ATO
    IN GET_ATO_LINE , ITEM_TYPE_CODE :STANDARD
    Entering OE_ORDER_CACHE.Load_Item
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for MASTER_ORGANIZATION_ID
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    Parameter value exists.
    PARAMETER VALUE: 83
    p_key1 is5429
    prev item: 5429
    l_key2 (Master organizion_id) is83
    p_key2 (ship_from_org_id) is88
    Exiting OE_ORDER_CACHE.LOAD_ITEM
    GET_ATO_LINE: NY
    RETURN ATO_LINE_ID AS NULL
    ENTERING MODEL_OPTION_DEFAULTING
    LINE_ID TO DEFAULT:
    IB Owner:
    IB Install:
    IB Current:
    Entering OE_CONFIG_TSO_PVT.Is_Part_of_Container_Model..: 15-OCT-09 18:31:47
    Line Id :
    Top Model Line id:
    ATO Line id:
    operation :
    inv item : 5429
    Inventory Item id:5429
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for MASTER_ORGANIZATION_ID
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    Parameter value exists.
    PARAMETER VALUE: 83
    BOM Item Type:4
    Replenish to Order:N
    Config Model Type:
    Top Container Model?:N
    Part of Container Model?:N
    Exiting OE_CONFIG_TSO_PVT.Is_Part_Of_Container_Model..: 15-OCT-09 18:31:47
    RETURNING FOR ITEM TYPE MODEL AND STANDARD
    TOLERANCE BELOW :
    TOLERANCE BELOW :
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for INSTALLMENT_OPTIONS
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    Parameter value exists.
    PARAMETER VALUE:
    Before Defaulting P_Qty and P_Qty_Uom Values:
    Pricing Qty: 20
    Pricing UOM:
    Ordered Qty: 20
    Ordered UOM: EA
    Entering OE_ORDER_CACHE.Load_Item
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for MASTER_ORGANIZATION_ID
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    Parameter value exists.
    PARAMETER VALUE: 83
    p_key1 is5429
    prev item: 5429
    l_key2 (Master organizion_id) is83
    p_key2 (ship_from_org_id) is88
    Exiting OE_ORDER_CACHE.LOAD_ITEM
    Dual_uom_control is FALSE
    SHIP FROM OR SHIP METHOD IS NULL/MISSING
    Entering OE_ORDER_CACHE.LOAD_ORDER_HEADER
    Exiting OE_ORDER_CACHE.LOAD_ORDER_HEADER
    CALLING GET SHIPPABLE_FLAG
    1 , ATO_LINE_ID:
    Entering OE_ORDER_CACHE.Load_Item
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for MASTER_ORGANIZATION_ID
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    Parameter value exists.
    PARAMETER VALUE: 83
    p_key1 is5429
    prev item: 5429
    l_key2 (Master organizion_id) is83
    p_key2 (ship_from_org_id) is88
    Exiting OE_ORDER_CACHE.LOAD_ITEM
    SHIPPABLE FLAG: Y
    SETTING RE_SOURCE_FLAG TO N
    EXIT OE_DEFAULT_LINE.ATTRIBUTES
    APPLY ATTRIBUTE CHANGES
    Entering OE_LINE_UTIL.APPLY_ATTRIBUTE_CHANGES
    Entering OE_ORDER_CACHE.LOAD_ORDER_HEADER
    Exiting OE_ORDER_CACHE.LOAD_ORDER_HEADER
    Entering OE_ORDER_CACHE.GET_TAX_CALCULATION_FLAG
    Entering OE_ORDER_CACHE.LOAD_LINE_TYPE
    p_key is not null
    Exiting OE_ORDER_CACHE.LOAD_LINE_TYPE
    ENTER RETURN_LINE
    EXIT , THIS IS A REGULAR LINE
    Entering OE_ORDER_CACHE.LOAD_CUST_TRX_TYPE
    Exiting OE_ORDER_CACHE.LOAD_CUST_TRX_TYPE
    Exiting OE_ORDER_CACHE.GET_TAX_CALCULATION_FLAG
    Entering OE_ORDER_CACHE.Enforce_List_price
    Exiting OE_ORDER_CACHE.Enforce_List_price
    old calculate price flag G_MISS_CHAR
    new calculate price flagY
    Freeze method is :BOOKING
    FTE IS NOT INSTALLED!
    OE_GLOBALS.G_PRICING_RECURSION:N
    Entering OE_LINE_UTIL.UPDATE_ADJUSTMENT_FLAGS
    New Item, dont have to do anything
    Exiting OE_LINE_UTIL.UPDATE_ADJUSTMENT_FLAGS
    Freeze method is :BOOKING
    FTE IS NOT INSTALLED!
    FTE IS NOT INSTALLED!
    Ordered Qty has changed
    New Ordered Qty : 20
    Old Ordered Qty :
    Freeze method is :BOOKING
    B2315926_2:
    FTE IS NOT INSTALLED!
    FTE IS NOT INSTALLED!
    Entering OE_ORDER_CACHE.Load_Item
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for MASTER_ORGANIZATION_ID
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    Parameter value exists.
    PARAMETER VALUE: 83
    p_key1 is5429
    prev item: 5429
    l_key2 (Master organizion_id) is83
    p_key2 (ship_from_org_id) is88
    Exiting OE_ORDER_CACHE.LOAD_ITEM
    Dual_uom_control is FALSE
    FTE IS NOT INSTALLED!
    FTE IS NOT INSTALLED!
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for ENABLE_FULFILLMENT_ACCEPTANCE
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    Parameter value fetched from table.
    PARAMETER VALUE:
    CSH --OUT of l_copy_service_field condition
    LEAVING OE_MSG_PUB.ADD
    ENTER SET RECURSION MODE
    ENTITY CODE-5
    ENTRY-EXIT MODE -0
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    PO: EXITING PROCESS ORDER WITH UNEXPECTED ERROR
    ENTER SET RECURSION MODE
    ENTITY CODE-1
    ENTRY-EXIT MODE -0
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    DELETE REQUEST12
    ENTERING DELETE_ATTRIBUTE_CHANGES -1
    LEAVING OE_MSG_PUB.COUNT_AND_GET 1
    Entering OE_HEADER_UTIL.GET_VALUES
    In OE_Contracts_util.check_license
    cache already has value, OE_CONTRACTS_UTIL.G_BSA_CNTR_LICENSE: N
    Exiting OE_HEADER_UTIL.GET_VALUES
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for MASTER_ORGANIZATION_ID
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    Parameter value exists.
    PARAMETER VALUE: 83
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for MASTER_ORGANIZATION_ID
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    Parameter value exists.
    PARAMETER VALUE: 83
    Entering OE_HEADER_UTIL.GET_IDS
    Exiting OE_HEADER_UTIL.GET_IDS
    Entering OE_HEADER_UTIL.GET_IDS
    Exiting OE_HEADER_UTIL.GET_IDS
    ENTER SET RECURSION MODE
    ENTITY CODE-1
    ENTRY-EXIT MODE -1
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    ENTERING OE_ORDER_PUB.PROCESS_ORDER
    LEAVING OE_MSG_PUB.INITIALIZE
    ENTER PROCESS_ORDER_AG
    BEFORE HEADER PROCESSING
    HEADER_ID
    OPERATIONCREATE
    ENTER SET RECURSION MODE
    ENTITY CODE-2
    ENTRY-EXIT MODE -1
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    ENTERING OE_ORDER_PVT.HEADER
    OE_ORDER_PVT.HEADER AFTER INIT CONTROL REC
    OPERATION = CREATE SO SET OLD TO NULL
    Entering OE_HEADER_UTIL.CONVERT_MISS_TO_NULL
    Exiting OE_HEADER_UTIL.CONVERT_MISS_TO_NULL
    ENTER OE_HEADER_SECURITY.ATTRIBUTES
    VALIDATE ATTRIBUTES
    Entering OE_VALIDATE_HEADER.ATTRIBUTES
    Entering OE_ORDER_CACHE.LOAD_INVOICE_TO_ORG
    Exiting OE_ORDER_CACHE.LOAD_INVOICE_TO_ORG
    Entering OE_ORDER_CACHE.LOAD_ORDER_TYPE
    Exiting OE_ORDER_CACHE.LOAD_ORDER_TYPE
    Entering OE_ORDER_CACHE.LOAD_Payment_Term
    Exiting OE_ORDER_CACHE.LOAD_Payment_Term
    Entering OE_ORDER_CACHE.LOAD_Salesrep_rec
    Exiting OE_ORDER_CACHE.LOAD_Salesrep
    Exiting OE_VALIDATE_HEADER.ATTRIBUTES
    DEFAULT MISSING
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for INSTALLMENT_OPTIONS
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    Parameter value exists.
    PARAMETER VALUE:
    In OE_Contracts_util.check_license
    cache already has value, OE_CONTRACTS_UTIL.G_BSA_CNTR_LICENSE: N
    SET CODE
    AFTER SET CODE
    Enter get_freight_carrier()
    Entering OE_ORDER_CACHE.LOAD_SET_OF_BOOKS
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for SET_OF_BOOKS_ID
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    ENTERING OE_SYS_PARAMETERS_PVT.GET_AR_SYS_PARAMS ...
    Getting the AR details from the cache ..
    Exiting OE_ORDER_CACHE.LOAD_SET_OF_BOOKS
    AFTER DEFAULT MISSING
    APPLY ATTRIBUTE CHANGES
    Entering OE_HEADER_UTIL.APPLY_ATTRIBUTE_CHANGES
    Raj1
    Raj2
    LEAVING OE_MSG_PUB.ADD
    ENTER SET RECURSION MODE
    ENTITY CODE-2
    ENTRY-EXIT MODE -0
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    DELETE REQUEST2
    ENTERING DELETE_ATTRIBUTE_CHANGES -1
    PO: EXITING PROCESS ORDER WITH UNEXPECTED ERROR
    ENTER SET RECURSION MODE
    ENTITY CODE-1
    ENTRY-EXIT MODE -0
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    DELETE REQUEST12
    ENTERING DELETE_ATTRIBUTE_CHANGES -1
    LEAVING OE_MSG_PUB.COUNT_AND_GET 1
    Entering OE_HEADER_UTIL.GET_VALUES
    In OE_Contracts_util.check_license
    cache already has value, OE_CONTRACTS_UTIL.G_BSA_CNTR_LICENSE: N
    Exiting OE_HEADER_UTIL.GET_VALUES
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for MASTER_ORGANIZATION_ID
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    Parameter value exists.
    PARAMETER VALUE: 83
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for MASTER_ORGANIZATION_ID
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    Parameter value exists.
    PARAMETER VALUE: 83
    Entering OE_HEADER_UTIL.GET_IDS
    LEAVING OE_MSG_PUB.ADD
    Exiting OE_HEADER_UTIL.GET_IDS
    Entering OE_HEADER_UTIL.GET_IDS
    Exiting OE_HEADER_UTIL.GET_IDS
    ENTER SET RECURSION MODE
    ENTITY CODE-1
    ENTRY-EXIT MODE -1
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    ENTERING OE_ORDER_PUB.PROCESS_ORDER
    LEAVING OE_MSG_PUB.INITIALIZE
    ENTER PROCESS_ORDER_AG
    BEFORE HEADER PROCESSING
    HEADER_ID
    OPERATIONCREATE
    ENTER SET RECURSION MODE
    ENTITY CODE-2
    ENTRY-EXIT MODE -1
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    ENTERING OE_ORDER_PVT.HEADER
    OE_ORDER_PVT.HEADER AFTER INIT CONTROL REC
    OPERATION = CREATE SO SET OLD TO NULL
    Entering OE_HEADER_UTIL.CONVERT_MISS_TO_NULL
    Exiting OE_HEADER_UTIL.CONVERT_MISS_TO_NULL
    ENTER OE_HEADER_SECURITY.ATTRIBUTES
    VALIDATE ATTRIBUTES
    Entering OE_VALIDATE_HEADER.ATTRIBUTES
    Entering OE_ORDER_CACHE.LOAD_INVOICE_TO_ORG
    Exiting OE_ORDER_CACHE.LOAD_INVOICE_TO_ORG
    Entering OE_ORDER_CACHE.LOAD_ORDER_TYPE
    Exiting OE_ORDER_CACHE.LOAD_ORDER_TYPE
    Entering OE_ORDER_CACHE.LOAD_Payment_Term
    Exiting OE_ORDER_CACHE.LOAD_Payment_Term
    Entering OE_ORDER_CACHE.LOAD_PRICE_LIST
    Exiting OE_ORDER_CACHE.LOAD_PRICE_LIST
    Entering OE_ORDER_CACHE.LOAD_Salesrep_rec
    Exiting OE_ORDER_CACHE.LOAD_Salesrep
    Exiting OE_VALIDATE_HEADER.ATTRIBUTES
    DEFAULT MISSING
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for INSTALLMENT_OPTIONS
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    Parameter value exists.
    PARAMETER VALUE:
    In OE_Contracts_util.check_license
    cache already has value, OE_CONTRACTS_UTIL.G_BSA_CNTR_LICENSE: N
    SET CODE
    AFTER SET CODE
    Enter get_freight_carrier()
    Entering OE_ORDER_CACHE.LOAD_SET_OF_BOOKS
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for SET_OF_BOOKS_ID
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    ENTERING OE_SYS_PARAMETERS_PVT.GET_AR_SYS_PARAMS ...
    Getting the AR details from the cache ..
    Exiting OE_ORDER_CACHE.LOAD_SET_OF_BOOKS
    AFTER DEFAULT MISSING
    APPLY ATTRIBUTE CHANGES
    Entering OE_HEADER_UTIL.APPLY_ATTRIBUTE_CHANGES
    Raj1
    Raj2
    LEAVING OE_MSG_PUB.ADD
    ENTER SET RECURSION MODE
    ENTITY CODE-2
    ENTRY-EXIT MODE -0
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    DELETE REQUEST2
    ENTERING DELETE_ATTRIBUTE_CHANGES -1
    PO: EXITING PROCESS ORDER WITH UNEXPECTED ERROR
    ENTER SET RECURSION MODE
    ENTITY CODE-1
    ENTRY-EXIT MODE -0
    RECURSION MODE AT ENTRY -N
    RECURSION MODE WITHOUT EXP AT ENTRY -N
    RECURSION MODE AT EXIT -N
    RECURSION MODE WITHOUT EXP AT EXIT -N
    DELETE REQUEST12
    ENTERING DELETE_ATTRIBUTE_CHANGES -1
    LEAVING OE_MSG_PUB.COUNT_AND_GET 1
    Entering OE_HEADER_UTIL.GET_VALUES
    In OE_Contracts_util.check_license
    cache already has value, OE_CONTRACTS_UTIL.G_BSA_CNTR_LICENSE: N
    Exiting OE_HEADER_UTIL.GET_VALUES
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for MASTER_ORGANIZATION_ID
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    Parameter value exists.
    PARAMETER VALUE: 83
    ENTERING OE_SYS_PARAMETERS.VALUE
    Going to get the value for MASTER_ORGANIZATION_ID
    ENTERING OE_SYS_PARAMETERS_PVT.VALUE
    Parameter value exists.
    PARAMETER VALUE: 83
    Request help.
    Thank you
    Vijosh
    Edited by: user8690315 on Oct 20, 2009 12:19 AM

    Hi,
    I am also same problem while creating the Sales Order.
    Did you find any solution for this problem??
    Thanks,
    -- Eric.

  • CascadeType.REFRESH does not work? (EJB3, Jdeveloper 10.1.3.0.4)

    Hi,
    We have requirement to at least for some entity bans be able to pick external changes to the database records from the appserver. This is why in 1:M relationships we need to be able to see deleted/added/changed children records for arbitrary parent record.
    For some reason, it does not look like CascadeType.REFRESH annotation works as it should (also tried CascadeType.ALL).
    Can anyone please shed some light on this (i.e whether this is a bug or something we do wrong here).
    Steps to reproduce (full code also provided):
    0.
    create table op_testchild
    chld_id NUMBER(12,0) PRIMARY KEY ,
    chld_par_ref NUMBER(12,0) NOT NULL,
    chld_name VARCHAR2(32) NOT NULL
    create table op_testparent
    par_id NUMBER(12,0) PRIMARY KEY ,
    par_name VARCHAR2(32) NOT NULL
    ALTER TABLE NECMS.op_testchild
    ADD CONSTRAINT FK_op_testchild_1
    FOREIGN KEY (chld_par_ref)
    REFERENCES NECMS.op_testparent(par_id);
    1. Generate entity beans from the two tables.
    Then configure parent bean to aggresively fetch children records:
    @OneToMany(mappedBy="opTestparent" , cascade =
    { CascadeType.REFRESH }, fetch=FetchType.EAGER)
    public Collection<OpTestchild> getOpTestchildCollection()
    return this.opTestchildCollection;
    2.
    Define Session Bean with following two methods (so that both insist on refresh of parent, and cascade to parent hopefully):
    /** <code>select object(o) from OpTestparent o</code> */
    public List<OpTestparent> findAllOpTestparent()
    Query q = em.createNamedQuery("findAllOpTestparent");
    q.setHint("refresh", Boolean.TRUE);
    return q.getResultList();
    /** <code>select object(o) from OpTestparent o</code> */
    public OpTestparent findOpTestparent(Long id)
    OpTestparent parent = em.find(OpTestparent.class, id);
    em.refresh(parent);
    em.refresh(parent);
    return parent;
    2.
    Make some changes to selected tables outside appserver.
    What actually is observed during client invocation is this:
    //In this case external changes to parent record are visible, adds/deletes of children records are visible, but changes to existing records never are:
    List<OpTestparent> parents = sessionEJB.findAllOpTestparent();
    for (OpTestparent p2: parents)
    System.out.println("->>parent: " + p2.getParName());
    List<OpTestchild> children2 =
    new ArrayList(p2.getOpTestchildCollection());
    for (OpTestchild c2: children2)
    System.out.println(c2.getChldName());
    //In this case external changes to parent record are visible, external adds/deletes of children records are visible, but changes to existing records are visible only after invoking findOpTestparent() second time around (?):
    OpTestparent p = sessionEJB.findOpTestparent(1L);
    System.out.println("->>parent: " + p.getParName());
    List<OpTestchild> children =
    new ArrayList(p.getOpTestchildCollection());
    for (OpTestchild c: children)
    System.out.println(c.getChldName());
    The simplest code that will demonstrate the problem:
    ///////////////////////////////////ENTITY 1
    package com.ht.model;
    import java.io.Serializable;
    import javax.persistence.CascadeType;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.JoinColumn;
    import javax.persistence.ManyToOne;
    import javax.persistence.NamedQuery;
    import javax.persistence.Table;
    @Entity
    @NamedQuery(name="findAllOpTestchild", query="select object(o) from OpTestchild o")
    @Table(name="OP_TESTCHILD")
    public class OpTestchild
    implements Serializable
    private static final long serialVersionUID = 1L;
    private Long chldId;
    private String chldName;
    private OpTestparent opTestparent;
    public OpTestchild()
    @Id
    @Column(name="CHLD_ID", nullable=false)
    public Long getChldId()
    return chldId;
    public void setChldId(Long chldId)
    this.chldId = chldId;
    @Column(name="CHLD_NAME", nullable=false)
    public String getChldName()
    return chldName;
    public void setChldName(String chldName)
    this.chldName = chldName;
    @ManyToOne
    @JoinColumn(name="CHLD_PAR_REF", referencedColumnName="OP_TESTPARENT.PAR_ID")
    public OpTestparent getOpTestparent()
    return opTestparent;
    public void setOpTestparent(OpTestparent opTestparent)
    this.opTestparent = opTestparent;
    ///////////////////////////////////ENTITY 2
    package com.ht.model;
    import java.io.Serializable;
    import java.util.ArrayList;
    import java.util.Collection;
    import javax.persistence.CascadeType;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.FetchType;
    import javax.persistence.Id;
    import javax.persistence.NamedQuery;
    import javax.persistence.OneToMany;
    import javax.persistence.Table;
    @Entity
    @NamedQuery(name="findAllOpTestparent", query="select object(o) from OpTestparent o")
    @Table(name="OP_TESTPARENT")
    public class OpTestparent
    implements Serializable
    private static final long serialVersionUID = 1L;
    private Long parId;
    private String parName;
    private Collection<OpTestchild> opTestchildCollection;
    public OpTestparent()
    this.opTestchildCollection = new ArrayList<OpTestchild>();
    @Id
    @Column(name="PAR_ID", nullable=false)
    public Long getParId()
    return parId;
    public void setParId(Long parId)
    this.parId = parId;
    @Column(name="PAR_NAME", nullable=false)
    public String getParName()
    return parName;
    public void setParName(String parName)
    this.parName = parName;
    @OneToMany(mappedBy="opTestparent" , cascade =
    { CascadeType.REFRESH }, fetch=FetchType.EAGER)
    public Collection<OpTestchild> getOpTestchildCollection()
    return this.opTestchildCollection;
    public void setOpTestchildCollection(Collection<OpTestchild> opTestchildCollection)
    this.opTestchildCollection = opTestchildCollection;
    public OpTestchild addOpTestchild(OpTestchild opTestchild)
    getOpTestchildCollection().add(opTestchild);
    opTestchild.setOpTestparent(this);
    return opTestchild;
    public OpTestchild removeOpTestchild(OpTestchild opTestchild)
    getOpTestchildCollection().remove(opTestchild);
    opTestchild.setOpTestparent(null);
    return opTestchild;
    ///////////////////////////////////SESSION BEAN
    package com.ht.model;
    import java.util.List;
    import javax.annotation.Resource;
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.Query;
    @Stateless(name="SessionEJB")
    public class SessionEJBBean
    implements SessionEJB, SessionEJBLocal
    @Resource
    private EntityManager em;
    public SessionEJBBean()
    public Object mergeEntity(Object entity)
    return em.merge(entity);
    public Object persistEntity(Object entity)
    em.persist(entity);
    return entity;
    public Object refreshEntity(Object entity)
    em.refresh(entity);
    return entity;
    public void removeEntity(Object entity)
    em.remove(em.merge(entity));
    /** <code>select object(o) from OpTestchild o</code> */
    public List<OpTestchild> findAllOpTestchild()
    return em.createNamedQuery("findAllOpTestchild").getResultList();
    /** <code>select object(o) from OpTestparent o</code> */
    public List<OpTestparent> findAllOpTestparent()
    Query q = em.createNamedQuery("findAllOpTestparent");
    q.setHint("refresh", Boolean.TRUE);
    return q.getResultList();
    /** <code>select object(o) from OpTestparent o</code> */
    public OpTestparent findOpTestparent(Long id)
    OpTestparent parent = em.find(OpTestparent.class, id);
    em.refresh(parent);
    return parent;
    ///////////////////////CLIENT
    package com.ht.model;
    import java.util.ArrayList;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import java.util.List;
    public class SessionEJBClient
    public static void main(String[] args)
    try
    final Context context = getInitialContext();
    SessionEJB sessionEJB = (SessionEJB) context.lookup("SessionEJB");
    OpTestparent p = sessionEJB.findOpTestparent(1L);
    System.out.println("->>parent: " + p.getParName());
    List<OpTestchild> children =
    new ArrayList(p.getOpTestchildCollection());
    for (OpTestchild c: children)
    System.out.println(c.getChldName());
    if (1 == 1)
    return;
    List<OpTestparent> parents = sessionEJB.findAllOpTestparent();
    for (OpTestparent p2: parents)
    System.out.println("->>parent: " + p2.getParName());
    List<OpTestchild> children2 =
    new ArrayList(p2.getOpTestchildCollection());
    for (OpTestchild c2: children2)
    System.out.println(c2.getChldName());
    catch (Exception ex)
    ex.printStackTrace();
    private static Context getInitialContext()
    throws NamingException
    // Get InitialContext for Embedded OC4J
    // The embedded server must be running for lookups to succeed.
    return new InitialContext();
    }

    I use the JDK delivered with JDeveloper which is JDK 1.5.0_06
    if I run [jdev-root]\jdev\bin\jdev.exe, I get some error messages in the console window when I'm doing the do to declaration function. I receive a lot of
    at oracle.ide.net.URLFileSystemHelper.openInputStream(URLFileSystemHelper.java:993)
    at oracle.ide.net.URLFileSystem.openInputStream(URLFileSystem.java:1164)
    at oracle.ide.net.IdeURLConnection.getInputStream(IdeURLConnection.java:44)
    at java.net.URL.openStream(URL.java:1007)
    This pattern is repeated many many times (probably > 100).
    Message was edited by:
    user579938

Maybe you are looking for

  • Scheduling agreement - free of charge item

    Hi Community, how can I purchase a "free of charge" item via a scheduling agreement? In a purchase order the "free of charge" indicator is available, but I can't find anything similar for SAs. Currently I've set the price field as display only in a c

  • MM03/MM02 Need to create external document URL

    Hi All,     We are having a requirement to create web link for materials using transactions MM03 or MM02.     The exact path for this is as follows:     Go to MM03/MM02 -> Enter material ->Basic data view -> Systems Menu -> Services for object -> Cre

  • HT204266 How do I fix my home button?

    When I click my home button onmy iPod touch it doesn't work. I have to hold it in for multiple minutes, and most the time it still doesn't work. How do I fix it so it is back to normal?

  • Exporting Sequence quality horrible

    Hello, I bought some 720HD (1280x720) video shot on a bluescreen. I started a new project in PPro CS4 to create an alpha channel and to export it as an FLV for use in a Flash project. I have been playing with settings for 2 days trying to get a decen

  • Help Please (This KT3 is driving me crazy)

    Four weeks ago i got a KT3 Ultra 2 (MS-6380E) with RAID. I could never get it to boot up. It was stuck at "Initializing Hard Drive Controller". After a few days of reading threads here i get a new PSU (Future Power WIN-400PS) that what some people sa