Integration proces

hi am configuraing file to idoc using collect process.
i created as integration scenario in the integration process and i am unable to transfer the scenario into the integration directiory .
i dont fine the processs even it is active and after refreshing the cache..
plz help me.
thanks and regards
vijender

Vijendra,
How are you trying to import integration process in ID?
After activating Integration process you in IR, you first need to import it in ID.
Under your Business Scenario, you will find Integration process...right click in it and create new...on second  step it will ask you integrattion process ( repository process which you want to import from IR)
Hope you are following correct process...let us know if it is some other problem.
Nilesh

Similar Messages

  • Integration Proces Kicking off Cache

    I am working on a File - > XI(BPM)  - > Jdbc  scenario. I created an Integration process for the outbound interface and the abstract interface. After I imported the Integration process into the directory, it threw the cache off, and the cache would never get refreshed. Why does this happen? After I delete them , the cache is back to normal. Is this a phenomenon of XI? Any help is appreciated.
    AR

    Dear Antonio Ramos,
    Hi,
    a)Start transaction SXI_CACHE.
    b)From the context menu XI Runtime Cache select Start Complete Cache Refresh.
    c)Call transaction SM58 to check the status of the refresh process.If no entry for function module SAI_CACHE3_REFRESH_BACKROUND is Present any more the cache update is finished.        
    If you still face issue try this .
    Many actions require to access System Landscape Directory content from the Integration Builder. To optimize performance, this content is loaded into a cache so that the System Landscape Directory does not have to be accessed directly each time that System Landscape Directory content is required.
    However, this cache is not automatically updated if changes are made to the content of the System Landscape Directory. For this reason that we delete the System Landscape Directory cache if changes have been made to content in the System Landscape Directory. The cache is then filled each time that the System Landscape Directory is accessed. If we log on to the Integration Builder after we have made a change in the SLD, we do not need to delete the SLD cache.
    To clear the SLD cache, from the Integration Builder main menu, choose Environment ® Delete Cache for SLD Data.
    Once we have deleted the cache for SLD data, accessing objects in the SLD may take longer than usual initially.
    Regards
    Agasthuri Doss
    Message was edited by: Agasthuri Doss Baladandapani

  • Serial processing with integration processes

    Hi all,
    I have the following problem. I receive a XML message in a integration process, this xml messages contains serveral business partners. I loop over this business partners wiht a 'ForEach' The messages are sent to a second integration proces. In this integration process a business partner is updated in SAP CRM.
    The problem I have is that several instances are started of this second process and this result in locking issues in SAP CRM. How could I configure XI in this way that only one message is processed.
    I read all queue related documentation, but according the documentation the messages should only be picked up from the queue when it is ready.
    I use only one queue (withoug buffering) Used system is XI with the latest service pack.
    Thank you in advance for your reply.
    Kind regards,
    Pieter Alting

    >  I loop over this business partners wiht a 'ForEach' The messages are sent to a second integration proces. In this integration process a business partner is updated in SAP CRM.
    Do you really need another IP here? May be you should look at avoiding this and check if you are using ParForEach or just ForEach.
    VJ

  • Help with Integration Processes (ccBPM)

    Please help me to understand Process Container variables and "instance of process". I don't quite have a handle on the concepts. Thanks.
    When a message is sent to an Integration Process and it is a reciever/start message, is a new process instance instantiated to process the message?
    Say another message is sent to the same Integration Proces, is another instance created (ignoring correlating)?
    My last question is whether  the Process Container variables are Process Instance specific?
    Thank you for any help.

    Hi Chris,
    >><i>Please help me to understand Process Container variables and "instance of process"</i>
    For an integration process to be able to process data such as messages or counters correctly, you must first define the data as container elements. <b><i>Container elements are similar to variables in a programming language.</i></b>
    Container elements hold the message interfaces, as the data flow takes place via messages in and out of Integration server (XI), so effectively they are containers that hold data while a Business Process is executing.
    >> <i>When a message is sent to an Integration Process and it is a reciever/start message, is a new process instance instantiated to process the message?</i>
    You use a receive step,to receive a message. By receiving a message, you are transferring the data it brings into the process. <b><i>You can use a receive step to start a process or within a process that is already running</i></b>
    In case of receive step, a new process instance is not instantiated because every receive has a particular message to look for, so there can be many receive steps in a single excuting Business Process.
    Whereas in case of receiver determination step, if you choose <i>parforeach</i>then yes a new process instance is created for each message.
    >><i>Say another message is sent to the same Integration Proces, is another instance created
    (ignoring correlating)?</i>
    No,
    Receive steps arranged one after the other,
    The first message that arrives is assigned to the first receive step, the second message is assigned to the second receive step, and so on. Therefore, the first message is not assigned to all receive steps that are waiting for a message from this message interface.
    If you are using a <i>Fork</i>step, then you can have multiple receive step
    >><i>My last question is whether the Process Container variables are Process Instance specific?</i>
    No, Container variables are not process instance specific, there may be single line or multiline process containers.
    Also, Please go through these links:
    BPM- BPM in practice modeling Business Process:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/nw/a-c/bpm251 - bpm in practice modelling business processes.pdf
    BPM from modeling to monitoring,
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/events/sap-teched-04/bpm from modeling to monitoring.pdf
    I hope this helps, you'll give me points )
    Thanks & Regards,
    Varun Joshi

  • How to transfer one file to multi sap with same IDOC Type?

    Hi all!
    I need your help..
    My senario is tansfer one xml-file to multi-sap server
    with same IDOC type.
    IS it possible to transfer without BPM?
    I think that the way not using bpm is impossble,
    because the file is deleted by sender adapter.
    If I'm using BPM, how to design?
    I consider 'fork' or 'switch',
    but, I guess,
    Idoc is will be initialized by other branch at last step.
    I hope good information.
    Regards.

    Hi,
    you can create using BPM .
    IR
    you need to create source for one interface and trager for two differnent interfaces.
    suppose if you are doing message mapping in message tab source is one interface targer is multiple interface..so that source can map multiple interfaces...
    create the Interface mapping one source two are target interfaces.
    Create the Integration proces...
    First step is receive step next use the Transformation Step that means source message it will conver two targets...then use the Fork step Recever Determination step goes to the first Send step..
    again drag the another receiver determination and use tge send step..close the FORK step.
    regards,
    venu.

  • Trouble shoot list  ---   General errors list in XI

    Hi Friends
         Is these any note/blog/link which discribes most the errors list in XI ?
         I know that 100% list is not possible but i am more intersted to see all
         the trouble shoot list at one place...
    Adv. thanks
    prasad

    HI,
    Testing of integration proces
    /people/michal.krawczyk2/blog/2005/08/25/xi-sending-a-message-without-the-use-of-an-adapter-not-possible
    /people/sravya.talanki2/blog/2006/02/28/simulating-xi-messages-proto
    Testing and Debugging Java Mapping -/people/stefan.grube/blog/2006/10/23/testing-and-debugging-java-mapping-in-developer-studio
    /people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions
    stress testing
    /people/sravya.talanki2/blog/2006/02/28/simulating-xi-messages-proto
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3a67c790-0201-0010-89aa-d27d97dd1374
    monitoring BPm https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e7bc3a5a-0501-0010-1095-eb47159e169c
    /people/sap.user72/blog/2005/11/24/xi-configuring-ccms-monitoring-for-xi-part-i - XI : Configuring CCMS Monitoring for XI- Part I
    Monitoring for Processed XML messages in ABAP Proxy - /people/krishna.moorthyp/blog/2005/12/23/monitoring-for-processed-xml-messages-in-abap-proxy
    /people/sap.india5/blog/2005/12/06/xi-ccms-alert-monitoring-overview-and-features - CCMS Alert Monitoring
    please send those docs to me also.
    Regards..
    Chilla..

  • How do we test bpm process?

    HI all,
    How do we test bpm process?and plz lemme know more abt this
    regards
    kish

    Hi Kish,
    To have more concise understanding on BPM test check these files:
    Monitoring of Integration Processes:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/ab3f538e-0d01-0010-07b7-802c90b67eec
    How To Monitor Integration Proce(ccBPM):
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e7bc3a5a-0501-0010-1095-eb47159e169c
    Checklist: Making Correct Use of an Integration Process:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3bf550d4-0201-0010-b2ae-8569d193124e
    Business Process Monitoring Set-up and User Guideline:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5433e4da-0b01-0010-b9a5-d61838eaebbc
    Hope this resolves all ur concerns.
    Regards,
    Subhasha Ranjan

  • How to pass a structure in PL/SQL external proc.

    This is for educational purpose only. I am trying to implement kernel32.dll and shell32.dll in PL/SQL using external proc. Everything is working fine, except When there is a structure in OUT parameter.
    My database version.
    SQL> SELECT * FROM v$version;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod
    PL/SQL Release 10.2.0.3.0 - Production
    CORE    10.2.0.3.0      Production
    TNS for 32-bit Windows: Version 10.2.0.3.0 - Production
    NLSRTL Version 10.2.0.3.0 - ProductionI have set up the listner.ora and tnsnames.ora and written a package called dbms_kernel32sb.
    There are 9 program units.
    1. CreateFile -- working fine
    2. CloseFile -- working fine
    3. GetSize -- working fine
    4. FindFirstFile -- NOT working, because one OUT parameter has the structure type WIN32_FIND_DATA.
    5. GetFileTime -- NOT working, because one OUT parameter has the structure type FILETIME
    6. GetDiskFreeSpace -- working fine
    7. GetDriveType -- working fine.
    8. GetLastError -- working fine
    9. ExecuteCommand -- working fine.
    Here is the package specification:
    CREATE OR REPLACE PACKAGE dbms_kernel32sb AS
        Name: dbms_kernel32sb.pks
        Author: Saubhik Banerjee
        Date: 24th Jan 2011
        Version: 1.0
        Comment: This package is to implement some functionality from kernel32.dll.
                 Usng extproc
    OPEN_EXISTING_FILE CONSTANT PLS_INTEGER :=3;
    FILE_ATTRIBUTE_NORMAL CONSTANT PLS_INTEGER :=128;
    DISABLE_FILE_SHARE_MODE CONSTANT PLS_INTEGER :=0;
    NO_FILE_SECURITY_ATTRIBUTE CONSTANT PLS_INTEGER :=0;
    NO_TEMPLATE_FILE CONSTANT PLS_INTEGER :=0;
    GENERIC_FILE_ACCESS CONSTANT PLS_INTEGER :=0;
    FILE_SIZE_HIGH CONSTANT PLS_INTEGER :=400000000;
    EXECUTE_FILE CONSTANT VARCHAR2(4):='open';
    PRINT_FILE CONSTANT VARCHAR2(5):='print';
    NO_PARAMATER CONSTANT VARCHAR2(2):=' ';
    FUNCTION CreateFile(pi_FileName VARCHAR2 --1, File name
                ,pi_DesiredAccess BINARY_INTEGER --2, Type of access required (read/write ect)
                ,pi_ShareMode BINARY_INTEGER --3,  share mode
                ,pi_SecurityAttributes BINARY_INTEGER --4, securoty attribute
                ,pi_CreationDisposition BINARY_INTEGER --5, open existing, create new etc
                ,pi_FlagsAndAttributes BINARY_INTEGER --6, File attribute- normal
                ,pi_TemplateFile BINARY_INTEGER) --Not required.
        Return BINARY_INTEGER;
    FUNCTION CloseFile (pi_FileHandle BINARY_INTEGER)
                         Return BINARY_INTEGER;
    FUNCTION GetSize (pi_FileHandle BINARY_INTEGER,
                       pio_FileSizeHigh IN OUT BINARY_INTEGER)
                   RETURN BINARY_INTEGER;
    FUNCTION FindFirstFile ( pi_FileName VARCHAR2
                             ,pio_Win32_Find_data OUT 
                                 WIN32_FIND_DATA
    RETURN BINARY_INTEGER;                                             
    FUNCTION GetFileTime ( pi_FileHandle BINARY_INTEGER
                           ,pio_FileCreationTime IN OUT FILETIME
                           ,pio_LastAccessTime   IN OUT FILETIME
                           ,pio_LastWriteTime    IN OUT FILETIME
    RETURN BINARY_INTEGER;
    FUNCTION GetDiskFreeSpace ( pi_RootPathName VARCHAR2
                                ,pio_SectorsPerCluster  OUT BINARY_INTEGER
                                ,pio_BytesPerSector   OUT BINARY_INTEGER
                                ,pio_NumberOfFreeClusters  OUT BINARY_INTEGER
                                ,pio_TotalNumberOfClusters  OUT BINARY_INTEGER
    RETURN BINARY_INTEGER;    
    FUNCTION GetDriveType( pi_driveLetter VARCHAR2) RETURN VARCHAR2;
    FUNCTION GetLastError RETURN BINARY_INTEGER;   
    FUNCTION ExecuteCommand ( pi_OperationType VARCHAR2
                              ,pi_FileName VARCHAR2
                              ,pi_Parameters VARCHAR2
                              ,pi_DefaultDirectory VARCHAR2
    RETURN VARCHAR2;
    END dbms_kernel32sb;
    Here is the package body:
    CREATE OR REPLACE PACKAGE BODY dbms_kernel32sb AS
    /* Name: dbms_kernel32sb.pkb
        Author: Saubhik Banerjee
        Date: 24th Jan 2011
        Version: 1.0
        Comment: This package is to implement some functionality from kernel32.dll.
                 Usng extproc
      FUNCTION
      CreateFile( pi_FileName VARCHAR2 --1
                , pi_DesiredAccess BINARY_INTEGER --2
                , pi_ShareMode BINARY_INTEGER --3
                , pi_SecurityAttributes BINARY_INTEGER --4
                , pi_CreationDisposition BINARY_INTEGER --5
                , pi_FlagsAndAttributes BINARY_INTEGER --6
                , pi_TemplateFile BINARY_INTEGER) --7
        Return BINARY_INTEGER IS EXTERNAL LIBRARY kernel32 Name "CreateFileA"
        PARAMETERS(  pi_FileName STRING
                   , pi_DesiredAccess long
                   , pi_ShareMode long
                   , pi_SecurityAttributes long
                   , pi_CreationDisposition long
                   , pi_FlagsAndAttributes long
                   , pi_TemplateFile long
                   , return long);
    FUNCTION CloseFile (pi_FileHandle BINARY_INTEGER)
                         Return BINARY_INTEGER
         IS EXTERNAL
         LIBRARY kernel32 Name "CloseHandle"
         PARAMETERS (pi_FileHandle long, return long);
    FUNCTION GetSize (pi_FileHandle BINARY_INTEGER,
                       pio_FileSizeHigh IN OUT BINARY_INTEGER)
                   RETURN BINARY_INTEGER
         IS EXTERNAL
        LIBRARY kernel32 NAME "GetFileSize"
        PARAMETERS (pi_FileHandle long, pio_FileSizeHigh long, return long );
      FUNCTION GetFileTime ( pi_FileHandle BINARY_INTEGER
                           ,pio_FileCreationTime IN OUT FILETIME
                           ,pio_LastAccessTime   IN OUT FILETIME
                           ,pio_LastWriteTime    IN OUT FILETIME
       RETURN BINARY_INTEGER
         IS EXTERNAL
        LIBRARY kernel32 NAME "GetFileTime"
        WITH CONTEXT
        PARAMETERS ( CONTEXT,
                      pi_FileHandle long
                    , pio_FileCreationTime  OCIColl
                    , pio_FileCreationTime INDICATOR SHORT
                    , pio_LastAccessTime  OCIColl
                   , pio_LastAccessTime INDICATOR SHORT
                    , pio_LastWriteTime OCIColl
                    , pio_LastWriteTime INDICATOR SHORT
                    , return long );                  
    FUNCTION FindFirstFile ( pi_FileName VARCHAR2
                             ,pio_Win32_Find_data OUT 
                                 WIN32_FIND_DATA
    RETURN BINARY_INTEGER
    IS EXTERNAL
        LIBRARY kernel32 NAME "FindFirstFileA"
        --WITH CONTEXT
        PARAMETERS
                    ( --CONTEXT,
                     pi_FileName STRING--, pi_FileName INDICATOR SHORT
                    , pio_Win32_Find_data  BY REFERENCE OCIColl--,pio_Win32_Find_data INDICATOR long
                    , return long );
    FUNCTION GetDiskFreeSpace ( pi_RootPathName VARCHAR2
                                ,pio_SectorsPerCluster  OUT BINARY_INTEGER
                                ,pio_BytesPerSector   OUT BINARY_INTEGER
                                ,pio_NumberOfFreeClusters  OUT BINARY_INTEGER
                                ,pio_TotalNumberOfClusters  OUT BINARY_INTEGER
    RETURN BINARY_INTEGER
      IS EXTERNAL
        LIBRARY kernel32 NAME "GetDiskFreeSpaceA"
        PARAMETERS (  pi_RootPathName STRING
                    , pio_SectorsPerCluster BY REFERENCE long
                    , pio_BytesPerSector BY REFERENCE long
                    , pio_NumberOfFreeClusters BY REFERENCE long
                    , pio_TotalNumberOfClusters BY REFERENCE long
                    , return long );   
      FUNCTION GetDriveTypeA( pi_driveLetter VARCHAR2) RETURN BINARY_INTEGER   
      IS EXTERNAL
      LIBRARY kernel32 NAME "GetDriveTypeA"
      PARAMETERS (pi_driveLetter STRING, RETURN long);
    FUNCTION GetDriveType( pi_driveLetter VARCHAR2) RETURN VARCHAR2 IS
    BEGIN
      CASE  GetDriveTypeA(pi_driveLetter) 
       WHEN 2 THEN RETURN 'Removable';
       WHEN 3 THEN RETURN 'Drive Fixed';
       WHEN 4 THEN RETURN 'Remote';
       WHEN 5 THEN RETURN 'Cd-Rom';
       WHEN 6 THEN RETURN 'Ram disk';
       ELSE RETURN 'Unrecognized';
    END CASE;                              
    END;
    FUNCTION GetLastError  RETURN BINARY_INTEGER
    IS EXTERNAL
    LIBRARY kernel32 NAME "GetLastError"
    PARAMETERS (return long);
    FUNCTION ShellExecute( pi_Hwnd BINARY_INTEGER
                          ,pi_Operation VARCHAR2
                          ,pi_FileName VARCHAR2
                          ,pi_Parameters VARCHAR2
                          ,pi_DefaultDirectory  VARCHAR2
                          ,pi_ShowCmd BINARY_INTEGER
                          ) RETURN BINARY_INTEGER
    IS EXTERNAL
    LIBRARY SHELL32 NAME "ShellExecuteA"
    PARAMETERS (pi_Hwnd long,pi_Operation STRING,pi_FileName STRING
                 ,pi_Parameters STRING,pi_DefaultDirectory STRING
                 ,pi_ShowCmd long, return long
    FUNCTION ExecuteCommand ( pi_OperationType VARCHAR2
                              ,pi_FileName VARCHAR2
                              ,pi_Parameters VARCHAR2
                              ,pi_DefaultDirectory VARCHAR2
    RETURN VARCHAR2 IS
      v_return_val BINARY_INTEGER;
    BEGIN
      v_return_val:= ShellExecute(0,pi_OperationType
                                 ,pi_FileName,pi_Parameters
                                 ,pi_DefaultDirectory,0
      IF v_return_val <=32 THEN
       RETURN 'Error!';
      ELSE RETURN 'Success!';
      END IF;
    END;
    END dbms_kernel32sb;
    Now the working demos:
    SQL> SET SERVEROUT ON
    SQL> /* Demo I:- How to obtain file size */
    SQL> DECLARE
      2    v_FileSize BINARY_INTEGER;
      3    v_FileSizeHigh PLS_INTEGER;
      4    v_FileHandle BINARY_INTEGER;
      5    v_filename VARCHAR2(500) :='C:\test2.csv';
      6    v_dummy BINARY_INTEGER;
      7  BEGIN
      8    v_FileSizeHigh := DBMS_KERNEL32SB.FILE_SIZE_HIGH;
      9    v_FileHandle:=DBMS_KERNEL32SB.CreateFile(v_filename -- File name
    10                            ,DBMS_KERNEL32SB.GENERIC_FILE_ACCESS
    11                            ,DBMS_KERNEL32SB.DISABLE_FILE_SHARE_MODE
    12                            ,DBMS_KERNEL32SB.NO_FILE_SECURITY_ATTRIBUT
    13                            ,DBMS_KERNEL32SB.OPEN_EXISTING_FILE
    14                            ,DBMS_KERNEL32SB.FILE_ATTRIBUTE_NORMAL
    15                            ,DBMS_KERNEL32SB.NO_TEMPLATE_FILE);
    16   v_FileSize := DBMS_KERNEL32SB.Getsize(v_FileHandle, v_FileSizeHigh)
    17   DBMS_OUTPUT.put_line('File Size in Bytes: ' ||v_FileSize);
    18   v_dummy:=DBMS_KERNEL32SB.CloseFile(v_FileHandle);
    19  END;
    20  /
    File Size in Bytes: 61
    PL/SQL procedure successfully completed.
    SQL>
    SQL> /* Demo II:- How to find free disk space  */
    SQL> DECLARE
      2    v_rootpath VARCHAR2(500) :='C:\';
      3    v_dummy BINARY_INTEGER;
      4    v_sectorspercluster BINARY_INTEGER;
      5    v_bytespersector BINARY_INTEGER;
      6    v_numberoffreeclusters BINARY_INTEGER;
      7    v_totalnumberofclusters BINARY_INTEGER;
      8    v_freespace NUMBER;
      9    v_totalspace NUMBER;
    10  BEGIN
    11    v_dummy:=DBMS_KERNEL32SB.GetDiskFreeSpace(v_rootpath
    12                                              ,v_sectorspercluster
    13                                              ,v_bytespersector
    14                                              ,v_numberoffreeclusters
    15                                              ,v_totalnumberofclusters
    16                                              );
    17                                              
    18    DBMS_OUTPUT.put_line('Sector pre Cluster: ' ||v_sectorspercluster);
    19    DBMS_OUTPUT.put_line('Bytes per sector: ' ||v_bytespersector);
    20    DBMS_OUTPUT.put_line('Number Of Free Clusters: ' ||v_numberoffreeclusters);
    21    DBMS_OUTPUT.put_line('Total Number Of Clusters: ' ||v_totalnumberofclusters);
    22    v_freespace:=v_numberoffreeclusters/1024/1024/1024;
    23    v_freespace:=ROUND(v_freespace*v_sectorspercluster*v_bytespersector,3);
    24    v_totalspace:=v_totalnumberofclusters/1024/1024/1024;
    25    v_totalspace:=ROUND(v_totalspace*v_sectorspercluster*v_bytespersector,3);
    26    DBMS_OUTPUT.put_line('Total Space (GB):' ||v_totalspace);
    27    DBMS_OUTPUT.put_line('Total number of Free space (GB): '||v_freespace );
    28  END;
    29  /
    Sector pre Cluster: 8
    Bytes per sector: 512
    Number Of Free Clusters: 739477
    Total Number Of Clusters: 9765622
    Total Space (GB):37.253
    Total number of Free space (GB): 2.821
    PL/SQL procedure successfully completed.
    SQL>
    SQL> /* Demo IV:- How to get drive type*/
    SQL> SELECT dbms_kernel32sb.GetDriveType('C:\') FROM dual;
    DBMS_KERNEL32SB.GETDRIVETYPE('C:\')
    Drive Fixed
    SQL> SELECT dbms_kernel32sb.GetDriveType('D:\') FROM dual;
    DBMS_KERNEL32SB.GETDRIVETYPE('D:\')
    Cd-Rom
    SQL> SELECT dbms_kernel32sb.GetDriveType('E:\') FROM dual;
    DBMS_KERNEL32SB.GETDRIVETYPE('E:\')
    Unrecognized
    SQL>
    SQL> /* Demo V:- How to execute an Operating System Command*/
    SQL> DECLARE
      2   v_FileToExecute VARCHAR2(20):='test.bat';
      3   v_Parameter VARCHAR2(20):='test1.csv';--dbms_kernel32sb.NO_PARAMATER
      4   v_DefaultDirectory VARCHAR2(20):='C:\';
      5   v_ReturnValue VARCHAR2(20);
      6  BEGIN
      7    v_ReturnValue:=dbms_kernel32sb.ExecuteCommand(dbms_kernel32sb.EXECUTE_FILE
      8                                                  ,v_FileToExecute
      9                                                  ,v_Parameter
    10                                                  ,v_DefaultDirectory
    11                                                  );
    12   DBMS_OUTPUT.put_line('Status: '||v_ReturnValue);                               
    13  END;
    14  /
    Status: Success!
    PL/SQL procedure successfully completed.
    SQL> Now the sub programs with structures are NOT getting called successfully.
    SQL> /* Demo III:- How to obtain file time */
    SQL> DECLARE
      2    v_FileHandle BINARY_INTEGER;
      3    v_filename VARCHAR2(500) :='C:\test2.csv';
      4    v_dummy BINARY_INTEGER;
      5    v_filecreationtime FILETIME;
      6    v_lastaccesstime FILETIME;
      7    v_lastwritetime FILETIME;
      8    v_err BINARY_INTEGER;
      9  BEGIN
    10    v_FileHandle:=DBMS_KERNEL32SB.CreateFile(v_filename -- File name
    11                            ,DBMS_KERNEL32SB.GENERIC_FILE_ACCESS
    12                            ,DBMS_KERNEL32SB.DISABLE_FILE_SHARE_MODE
    13                            ,DBMS_KERNEL32SB.NO_FILE_SECURITY_ATTRIBUTE
    14                            ,DBMS_KERNEL32SB.OPEN_EXISTING_FILE
    15                            ,DBMS_KERNEL32SB.FILE_ATTRIBUTE_NORMAL
    16                            ,DBMS_KERNEL32SB.NO_TEMPLATE_FILE);
    17   v_dummy := DBMS_KERNEL32SB.GetFileTime( v_FileHandle
    18                                          ,v_filecreationtime
    19                                          ,v_lastaccesstime
    20                                          ,v_lastwritetime
    21                                          );
    22   v_err:=DBMS_KERNEL32SB.GetLastError;                                
    23   DBMS_OUTPUT.put_line('File Size in Bytes: ' ||v_dummy);
    24   DBMS_OUTPUT.put_line('Error:'||v_err);
    25   v_dummy:=DBMS_KERNEL32SB.CloseFile(v_FileHandle);
    26  END;
    27  /
    File Size in Bytes: 0
    Error:203
    PL/SQL procedure successfully completed.
    SQL> So, I have noticed that, Where ever a STRUCTURE is involved in external routine, there is a problem. I want to know, How to implement functions with STRUCTURE as OUT parameter.
    Forgot to mention: This is my FILETIME object which corresponds to FILETIME structure of win32.
    CREATE OR REPLACE TYPE FILETIME_rec IS OBJECT
                              ( LowDateTime NUMBER
                               ,HighDateTime NUMBER
    CREATE OR REPLACE TYPE FILETIME IS TABLE OF  FILETIME_rec;Edited by: Saubhik on Feb 1, 2011 4:15 PM

    Saubhik wrote:
    This is for educational purpose only. I am trying to implement kernel32.dll and shell32.dll in PL/SQL using external proc. Interesting. Familiar with the Wn32 API, but do not run Oracle on Windows and never looked at this aspect of integration.
    So, I have noticed that, Where ever a STRUCTURE is involved in external routine, there is a problem. I want to know, How to implement functions with STRUCTURE as OUT parameter.
    Forgot to mention: This is my FILETIME object which corresponds to FILETIME structure of win32.The problem is that this passes the parameter by reference and not value. In a vanilla C/C++/Delphi program, you will create a variable of that struct and then pass a long pointer to that variable when making the API call. That pointer will be dereferenced and the memory it points to, populated. This is not a problem as the underlying DLL you call that does this, uses your process's data segment.
    Extproc is different. In order to protect the integrity of the database server process, an external call is done by a "proxy" process. It acts as the interface between your PL/SQL code and the actual external call.
    In this case, this "proxy" process will be doing the implicit LoadLibrary() call to load kernel32.dll interface - and the DLL will expect to dereference and access this process's memory struct to populate it. This "proxy" process in turn needs to know that despite it calling the interface by reference, it needs to return that parameter to PL/SQL by value - as your PL/SQL code cannot dereference a pointer passed back by that "proxy" process and access its memory to gain access to that struct.
    In basic terms - that argument is a 32 bit number containing a pointer. That is what the "proxy" process needs to pass to the interface call. Your code is passing a struct and not a pointer, right?
    And that is the basic problem I believe. How to address this.. not sure. You can have your own DLL as interface that does not use pointers but expect arguments to be passed by value. But this will suck as you then need to include a custom DLL to deploy and have PL/SQL call that, instead of simply accessing and calling the native kernel interface.
    Doubt that many Win32 programmers with OCI (Oracle Call Interface) frequents this forum. So perhaps this is not the best place to ask. I would be hitting Metalink (support.oracle.com) search function in your sho3s though as there should be support notes dealing with this subject matter.

  • Install instructions for Search Modeler and integrating with Apps 11i

    Below are all the steps I took for creating integrating Search Modeler with an Oracle E-Business Suite 11.5.10.2 ATG RUP 7 instance called ERNIE.
    Much thanks to Oracle Support ( Rajesh Ghosh, Vikas Soolapani and Roger Ford), as this simply wouldn't have been possible without them.
    There are a few things in this document that may not be pertinent to your environment if you're doing this. I've made attempts to clarify those possibly optional sections in the documentation.
    I've broken the document down into the following multiple parts
    o Setting up a new RedHat 4.8 x86 server called ausSEARCHdev (The server is in AUStin, TX, is dedicated to SEARCH, and is for our DEV environment)
    o SES (Secure Enterprise Search 10.1.8.2 install
    o SES 10.1.8.4 patchset install
    o SES CPU patch apply
    o Standalone OC4J and ADF installation
    o Search Modeler installation and configuration
    o Configure ERNIE Apps instance to be on valid self-signed SSL certificate
    o Import ERNIE SSL certificate into SES and Search Modeler
    using aussearchdev initially
    rh4 x86, default oracle build
    ** htop and collectl are open source free performance monitoring packages we utilize**
    --start
    install htop and collectl
    wget http://dag.wieers.com/rpm/packages/htop/htop-0.7-1.el4.rf.i386.rpm
    rpm -ivh htop-0.7-1.el4.rf.i386.rpm
    wget http://downloads.sourceforge.net/project/collectl/collectl/collectl-3.4.0-4/collectl-3.4.0-4.noarch.rpm?use_mirror=voxel
    rpm -ivh collectl-3.4.0-4.noarch.rpm
    chkconfig collectl on
    service collectl start
    **We still need to install the necessary rpms so that collectl logs are compressed
    --end
    useradd -u 501 oracle
    groupadd -g 504 dba
    usermod -G 504 oracle
    verification:
         [root@aussearchdev ~]# su - oracle
         [oracle@aussearchdev ~]$ id
         uid=501(oracle) gid=501(oracle) groups=501(oracle),504(dba)
    passwd oracle
    ** /mnt/oraclebackup is a network dumpspot we use to hold Software installs, RPMs, etc
    ** /mnt/rpms is a network dumpspot we use to hold ISOs for OS software such as Redhat Linux
    mkdir /mnt/oraclebackup
    mkdir /mnt/rpms
    add the following to /etc/fstab
    XXXXXXX:/patches/oraclebackup /mnt/oraclebackup nfs defaults,hard,nolock 0 0
    XXXXXXX:/esxpress/nfs /mnt/rpms nfs rw,addr=XXX.XXX.XXX.XXX 0 0
    mount /mnt/rpms
    Next need to install various oracle needed RPMs.
    cd /mnt/rpms/rh40_upd8/RedHat/RPMS/
    rpm -ivh perl-Compress-Zlib-1.42-1.el4.i386.rpm
    rpm -ivh libaio-devel-0.3.105-2.i386.rpm
    rpm -ivh sysstat-5.0.5-25.el4.i386.rpm
    rpm -ivh unixODBC-devel-2.2.11-1.RHEL4.1.i386.rpm
    service collectl restart
    cd /tmp
    wget http://oss.oracle.com/el4/oracle-validated/oracle-validated-1.0.0-18.el4.i386.rpm
    rpm -ivh oracle-validated-1.0.0-18.el4.i386.rpm
    Now we should have all the RPMs we need.
    cd /etc/sysconfig/oracle-validated
    ./oracle-validated-verify
    cd /var/log/oracle-validated/results
    more orakernel.log
    uname -a
    should return 2.6.9 or higher
    rpm -qa|grep gcc-
    should return 3.4.3 or higher
    rpm -qa|grep glibc
    should return 2.3.4-2.9 or higher
    rpm -qa|grep make
    should return 3.80 or higher
    rpm -qa|grep binutils
    should return 2.15.92.0.2 or higher
    rpm -qa|grep openmotif
    should return 2.2.3-9.RHEL4.1 or higher
    rpm -qa|grep compat-db
    should return 4.1.25-9 or higher
    rpm -qa|grep setarch
    should return 1.6-1 or higher
    cat /proc/sys/kernel/sem
    should return 250 32000 100 128 or higher (250 32000 100 142 in our case)
    cat /proc/sys/kernel/shmall (1073741824 in our case)
    should return 2097152 or higher
    cat /proc/sys/kernel/shmmax
    should return half the size of physical memory (4294967295 in our case - NO LARGER on 32-bit OS)
    cat /proc/sys/kernel/shmmni
    should return 4096
    cat /proc/sys/fs/file-max
    should return 65536 (327679 in our case)
    cat /proc/sys/net/ipv4/ip_local_port_range
    should return 1024 65000
    values in /etc/security/limits.conf set by oracle-validated rpm, no changes necessary
    add the following line to /etc/pam.d/login
    session required /lib/security/pam_limits.so
    add the following to /etc/profile
    if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
    else
    ulimit -u 16384 -n 65536
    fi
    fi
    mkdir -p /d01/oracle
    chmod 777 /d01/oracle
    init 6 the box (aka reboot)
    Time to start the SES 10.1.8.2 installer
    running SES 10.1.8.2 installer
    as oracle
    cd /mnt/oraclebackup/deathstar_patches/SES/SES10182
    ./runInstaller
    search server name sesprod
    administrative password XXXXXXXX for dev,
    http port 7777
    destination path /d01/oracle/10.1.8/sesdev (dev)
    data storage path /d01/oracle/sesdevdata (dev)
    next
    inventory /d01/oracle/oraInventory
    dba group
    run orainstroot.sh as requested
    continue
    all tests should pass, continue
    finished clean
    tried logging in to admin console at http://aussearchdev:7777/search/admin - worked fine
    tried bringing up search query at http://aussearchdev:7777/search/query/search - worked fine
    Now we need to get to 10.1.8.4 of SES
    (yes, you need to keep the system up)
    cd /mnt/oraclebackup/deathstar_patches/SES/SES10184/ses_10184pst_linux/
    ./runInstaller
    Destination, choose sesdev
    Next
    Patchset successful
    tried logging in to admin console at http://aussearchdev:7777/search/admin - worked fine
    tried bringing up search query at http://aussearchdev:7777/search/query/search - worked fine
    Apply CPU Patch to SES
    CPU JAN 10 says patch 9119261 is required - but patch requires extended support contract
    CPU OCT 09 says patch 8836540 is required - but patch requires extended support contract
    CPU JUL 09 says patch 8534394 is required - but patch requires extended support contract
    CPU APR 09 says patch 8290534 is required - and you can actually download it
    Need opatch from 6880880
    cp -r /mnt/oraclebackup/deathstar_patches/SES/CPUAPR09/OPatch $ORACLE_HOME
    export PATH=$ORACLE_HOME/OPatch:$PATH
    shut down everything
    cd $ORACLE_HOME/bin
    ./searchctl stopall
    cd /mnt/oraclebackup/deathstar_patches/SES/CPUAPR09/8290534
    opatch apply
    cd $ORACLE_HOME/cpu/CPUApr2009
    **Note: your sys password is what you set for your administrative password above
    sqlplus "sys/XXXXXX" as sysdba;
    startup
    @catcpu
    @?/rdbms/admin/utlrp
    shutdown immediate
    exit
    cd /d01/oracle/10.1.8/sesdev/cpu/view_recompile/
    sqlplus "sys/XXXXXXX" as sysdba;
    startup upgrade;
    @view_recompile_jan2008cpu.sql
    @?/rdbms/admin/utlrp
    shutdown immediate
    cd /d01/oracle/10.1.8/sesdev/jdk/jre/lib/ext
    mv mail.jar $HOME/mail.jar.backup02222010
    mv mailapi.jar $HOME/mailapi.jar.back02222010
    cp /d01/oracle/10.1.8/sesdev/search/lib/mail.jar .
    SES 10.1.8.4 is now installed and updated with latest available CPU
    tried logging in to admin console at http://aussearchdev:7777/search/admin - worked fine
    tried bringing up search query at http://aussearchdev:7777/search/query/search - worked fine
    we're going to go with the standalone OC4j 10.1.3.3 and Oracle ADF 10.1.3.3 method
    The URLs for these products are
    http://blogs.oracle.com/ebssearch/2009/10/available_now_oracle_search_modeler_11_for_oracle_e-business_suite_11i.html
    and specifically
    OC4J - http://download.oracle.com/otn/java/oc4j/101330/oc4j_extended_101330.zip
    ADF - http://www.oracle.com/technology/software/products/jdev/htdocs/adfinstaller10133.html
    OC4J install
    First you need to have Java 1.5 on the machine. Latest is 1.5.0_22. Package is in /mnt/oraclebackup/deathstar_patches/SES
    as root on aussearchdev
    cd /usr/local
    cp /mnt/oraclebackup/deathstar_patches/SES/jdk-1_5_0_22-linux-i586.bin .
    chmod 700 jdk-1_5_0_22-linux-i586.bin
    ./jdk-1_5_0_22-linux-i586.bin
    yes
    install OC4J just by copying over the directory
    as oracle on aussearchdev
    mkdir -p /d01/oracle/oc4j
    cd /d01/oracle/oc4j
    cp -r /mnt/oraclebackup/deathstar_patches/SES/oc4j/* .
    ADF install
    vi /mnt/oraclebackup/deathstar_patches/SES/adf/adfinstaller.properties
    change the following
    OracleHome = /mnt/oraclebackup/deathstar_patches/SES/adf
    DesHome = /d01/oracle/oc4j/
    type = OC4J
    as root
    cd /usr/bin
    rm java
    (yes)
    ln -s /usr/local/jdk1.5.0_22/bin/java
    su - oracle
    java -version     should now return 1.5.0_22
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    cd /mnt/oraclebackup/deathstar_patches/SES/adf
    java -jar runinstaller.jar -version
    returns The version for the ADF libraries being installed is 10.1.3.41.57 - yes, that is apparently 10.1.3.3.
    java -jar runinstaller.jar adfinstaller.properties
    output looks good, do not be concerned by
    WARNING: 'Could not delete: /d01/oracle/oc4j/BC4J/redist/bc4j' whilst deleting bc4j application
    WARNING: 'Could not delete: /d01/oracle/oc4j/BC4J/redist/datatags' whilst deleting datatags application
    as it was trying to delete the old version that didn't exist
    Start OC4J
    as oracle on aussearchdev
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    export ORACLE_HOME=/d01/oracle/oc4j
    cd $ORACLE_HOME/bin
    ./oc4j -start
    you will be prompted for password - we're setting it. use XXXXXXXXXX
    after it's up, kill it (ctrl-c) and restart it with
    nohup ./oc4j -start &
    last lines in nohup.out is
    Starting OC4J from /d01/oracle/oc4j/j2ee/home ...
    10/02/23 03:22:38 Oracle Containers for J2EE 10g (10.1.3.3.0) initialized
    So now on to search modeler installation, going by Installation steps in Note 781366.1
    8326128 - This is not a patch to be applied to the Apps, keep reading
    as oracle on aussearchdev
    cd /mnt/oraclebackup/deathstar_patches/SES/8326128
    mkdir -p /d01/oracle/oc4j/uploaded
    vi build.properties, changing
    installation.type=OC4J
    oracle.home=/d01/oracle/oc4j
    deploy.server=aussearchdev.domainname.com
    deploy.port=23791
    web.port=7777
    password=XXXXXXXXX
    extra.classpath=/d01/oracle/oc4j/uploaded
    now set the following environment values in your ssh session
    export ORACLE_HOME=/d01/oracle/oc4j
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    export PATH=$ORACLE_HOME/ant/bin:$ORACLE_HOME/bin:$PATH
    ant main
    whole bunch of stuff to screen, errors due to undeploy something that doesn't exist. Finished after a minute with
    BUILD SUCCESSFUL
    Total time: 58 seconds
    Now on to post install steps
    restart OC4j
    cd $ORACLE_HOME/bin
    ./modeler.sh -shutdown -port 23791 -password r*l*r*0*
    export ORACLE_HOME=/d01/oracle/oc4j
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    export PATH=$ORACLE_HOME/ant/bin:$ORACLE_HOME/bin:$PATH
    nohup ./modeler.sh -start &
    end of nohup.out should show
    Starting OC4J from /d01/oracle/oc4j/j2ee/home ...
    Try going to http://aussearchdev:8888/modeler/faces/ModelerHome.jsp
    Should get login screen, but wait, we haven't installed Oracle Apps interface yet...
    Next let's do the Apps side of things
    Going by note 953378.1
    Using ERNIE (a development instance of E-Business Suite running 11.5.10.2 ATG RUP 7)
    as applmgr on ausernieapp (ausernieapp is our app tier)
    shut down apps services
    apps patch 8225631
    verify all the pre-req patches are in ERNIE
    select * from ad_bugs where bug_number = '5903765';
    select * from ad_bugs where bug_number = '6372396';
    select * from ad_bugs where bug_number = '3219567';
    select * from ad_bugs where bug_number = '3264822';
    select * from ad_bugs where bug_number = '3261254';
    select * from ad_bugs where bug_number = '5161676';
    select * from ad_bugs where bug_number = '3036401';
    select * from ad_bugs where bug_number = '3263588';
    select * from ad_bugs where bug_number = '3264818';
    select * from ad_bugs where bug_number = '3218526';
    select * from ad_bugs where bug_number = '3263645';
    select * from ad_bugs where bug_number = '4206794';
    select * from ad_bugs where bug_number = '3262486';
    select * from ad_bugs where bug_number = '3261243';
    select * from ad_bugs where bug_number = '2614213';
    select * from ad_bugs where bug_number = '3262159';
    select * from ad_bugs where bug_number = '2819091';
    select * from ad_bugs where bug_number = '3412795';
    patch went in smooth
    Log in to ERNIE Apps GUI as sysadmin user responsibility
    Give users such as sysadmin FND Search Crawler responsibility
    Go to system profile options, set
    set FND: Search Enabling Flag to Y at site level
    as applmgr on ausernieapp
    cd /d01/oracle/ernieappl/fnd/11.5.0/patch/115/sql
    sqlplus apps/$APPS_PWD @AFSRCHCF
    Enter SES endpoint URL [e.g. http://ap637atg.us.oracle.com:7780]: http://aussearchdev.domainname.com:7777
    Enter Apps Admin username [e.g. sysadmin]: sysadmin
    Enter Apps Admin password: sysadmin_password
    Enter SES Admin username [e.g. eqsys]: eqsys
    Enter SES Admin password: eqsyspassword <-- This is the same as sys's password
    on aussearchdev as oracle
    had to kill modeler and start all the processes, so
    kill -9 the modeler oc4j process, then
    cd $ORACLE_HOME/bin
    ./searchctl startall
    enter the password when prompted
    in IE browser go to
    http://aussearchdev.domainname.com:7777/search/admin
    log in with eqsys password
    global settings tab
    identity management setup
    click circle next to oracle.search.plugin.security.identity.ebs.EBS12IdentityPliginMgr
    (yes, we're going with 12 even though we use Oracle Apps 11i)
    http end point https://ausernieapp.domainname.com:8443/webservices/AppSearch/SecurityService
    username sysadmin
    password XXXXXXX
    finish
    Global Settings
    Federation Trusted Entitites
    ####entity name sysadmin
    ####Entity Password XXXXXXXX
    According to web conference with Oracle, this should NOT be eqsys but instead be sysadmin from above.
    Select the Use Entity Plug-in for authentication check box
    add
    Trying to go to http://aussearchdev.domainname.com:7777/search/query/search and login (sysadmin / password)
    stop midtier on both SES and Apps
    cd $ORACLE_HOME/bin
    ./searchctl stopall
    ./adstpall.sh apps/$APPS_PWD on EBS app tier
    start midtier on both SES and Apps
    cd $ORACLE_HOME/bin
    ./searchctl startall
    ./adstrtal.sh apps/$APPS_PWD on EBS app tier
    Now try and log in to Oracle SES user interface to verify the configuration
    http://aussearchdev.domainname.com:7777/search/query
    Now start up modeler again
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    export ORACLE_HOME=/d01/oracle/oc4j
    export PATH=$ORACLE_HOME/bin:$PATH
    cd $ORACLE_HOME/bin
    nohup ./modeler.sh -start &
    Works now.
    Now go to http://aussearchdev.domainname.com:8888/modeleradmin/AdminHome.jsp log in as oc4jadmin/XXXXXXX
    Configure new target
    Target Type 11i
    Description ERNIE
    Name ERNIE
    EBS Database Host Name auserniedb
    EBS Database Port 1521
    EBS Database SID ERNIE
    username apps
    password XXXXXXXXx
    oc4jadmin XXXXXXXx
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    export ORACLE_HOME=/d01/oracle/oc4j
    export PATH=$ORACLE_HOME/bin:$PATH
    cd $ORACLE_HOME/j2ee/home
    java -jar admin_client.jar deployer:oc4j:aussearchdev oc4jadmin XXXXXXXXX -addDataSourceConnectionPool -name "ERNIE2-pool" -factoryClass "oracle.jdbc.pool.OracleDataSource" -dbUser "apps" -dbPassword "XXXXXXX" -url "jdbc:oracle:thin:@auserniedb.domainname.com:1521:ERNIE" -applicationName appsearch
    java -jar admin_client.jar deployer:oc4j:aussearchdev oc4jadmin XXXXXXX -addManagedDataSource -name "ERNIEDS" -jndiLocation "jdbc/ERNIEDS" -connectionPoolName "ERNIE2-pool" -applicationName appsearch
    http://aussearchdev.domainname.com:8888/modeler/faces/ModelerHome.jsp
    So, creating a self signed SSL certificate for ERNIE EBS instance (this will not work if you use an SSL certificate for another server like say, PROD)
    doing this on ausernieapp
    openssl genrsa -des3 -out ausernieapp.key 1024
    PEM key is ausernieapp
    openssl req -new -key ausernieapp.key -out ausernieapp.csr
    PEM key is ausernieapp
    Country US
    State Texas
    Locality Austin
    Organization Name Corporation
    Organizational Unit Name Information Technology
    Common Name ausernieapp.domainname.com
    Email address [email protected]
    No challenge password
    No optional company name
    Now let's remove the passphrase from the key
    cp ausernieapp.key ausernieapp.key.orig
    openssl rsa -in ausernieapp.key.orig -out ausernieapp.key
    Now let's generate a self-signed certificate
    openssl x509 -req -days 1000 -in ausernieapp.csr -signkey ausernieapp.key -out ausernieapp.crt
    Install the private key and certificate
    cd $IAS_ORACLE_HOME/Apache/Apache/conf/ssl.crt
    cp server.crt server.crt.backup.03102010
    chown applmgr:applmgr server.crt.backup.03102010
    cp $HOME/ausernieapp.crt /d01/oracle/ernieora/new/iAS/Apache/Apache/conf/ssl.crt/server.crt
    cd $IAS_ORACLE_HOME/Apache/Apache/conf/ssl.key/
    cp server.key server.key.backup.03102010
    cp $HOME/ausernieapp.key /d01/oracle/ernieora/new/iAS/Apache/Apache/conf/ssl.key/server.key
    chown applmgr:applmgr server.key.backup.03102010
    bounce apache as applmgr
    cd /d01/oracle/erniecomn/admin/scripts/ERNIE_ausernieapp
    ./adapcctl.sh stop
    ./adapcctl.sh start
    In IE
    https://ausernieapp.domainname.com:8443
    Continue
    Click on Certificate Error next to URL bar
    Install Certificate -> Next-> Place all certificates in the following store -> trusted root certificate authorities ->finish
    close browser, back to https://ausernieapp.domainname.com:8443
    no errors,
    Next step will be to import key into the SES and Search modelers
    as oracle on aussearchdev
    cd /d01/oracle/10.1.8/sesdev/jdk/jre/lib/security/
    cp cacerts cacerts.backup.03102010
    scp root@ausernieapp:/root/ausernieapp.crt .
    export LANG=c
    export PATH=$ORACLE_HOME/jdk/bin:$PATH
    keytool -keystore ./cacerts -storepass changeit -alias rootausernieapp -import -trustcacerts -file ausernieapp.crt
    --output
    Owner: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Issuer: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Serial number: b4e92089cf73076f
    Valid from: Wed Mar 10 13:22:38 CST 2010 until: Tue Dec 04 13:22:38 CST 2012
    Certificate fingerprints:
    MD5: 2C:6B:EE:1A:63:6D:XX:A6:05:90:F6:XX:DD:88:F7:80
    SHA1: F8:DC:E5:2A:3E:68:XX:E1:EA:E4:75:AE:CC:4F:4A:10:2F:8A:FE:9B
    Trust this certificate? [no]: yes
    Certificate was added to keystore
    Now load our cert
    keytool -keystore ./cacerts -import -trustcacerts -file ausernieapp.crt
    keytool -list -v -keystore ./cacerts now shows
    Alias name: rootausernieapp
    Creation date: Mar 10, 2010
    Entry type: trustedCertEntry
    Owner: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Issuer: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Serial number: b4e92089cf73076f
    Valid from: Wed Mar 10 13:22:38 CST 2010 until: Tue Dec 04 13:22:38 CST 2012
    Certificate fingerprints:
    MD5: 2C:6B:EE:1A:63:6D:CB:XX:05:90:F6:78:DD:88:F7:80
    SHA1: F8:DC:E5:2A:3E:68:9C:CE:EA:4E:75:AE:CC:FA:9E:10:2F:8A:FE:9B
    Now we need to load it into the search modeler keystore
    as root on aussearchdev
    export JAVA_HOME=/usr/local/jdk1.5.0_22/
    export PATH=$JAVA_HOME/bin:$PATH
    cd /usr/local/jdk1.5.0_22/jre/lib/security/
    scp root@ausernieapp:/root/ausernieapp.crt .
    output
    keytool -keystore ./cacerts -import -trustcacerts -file ausernieapp.crt
    Enter keystore password: changeit
    Owner: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Issuer: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Serial number: b4e92089cf73076f
    Valid from: Wed Mar 10 13:22:38 CST 2010 until: Tue Dec 04 13:22:38 CST 2012
    Certificate fingerprints:
    MD5: 2C:6B:EE:1A:63:6D:CB:A1:05:90:F6:78:DD:88:F7:80
    SHA1: F8:DC:E5:2A:3E:68:9C:CE:EA:4E:75:AE:CC:4F:9E:10:2F:8A:FE:9B
    Trust this certificate? [no]: yes
    Certificate was added to keystore
    [root@aussearchdev security]#
    output
    For troubleshooting, if you go to end of /d01/oracle/10.1.8/sesdev/search/data/config/crawler.dat
    you can modify the logLevel from the default of 4 to 2 to get better debug data. No services need to be restarted, it will become active with the next crawl.
    While talking with Oracle, they mentioned the following patches
    The patches identified 8321527 and 7586924 are SES patches to help with indexing
    They also identified patch 9103851 which is an apps patch dealing with responsibilities <-- This is not yet available
    Applying patch 7586924
    as oracle on aussearchdev
    cd $ORACLE_HOME/bin
    ./searchctl stopall
    cd /mnt/oraclebackup/deathstar_patches/SES/post_patches/7586924
    opatch apply
    cd $ORACLE_HOME/bin
    ./searchctl startall
    sqlplus eqsys/XXXXXX@SESDEV
    define SCH_NAME=EQSYS
    define PROXY_USER=EQPROXY
    define INST_USER=EQ_TEST
    @$ORACLE_HOME/search/admin/eq0pkh.sql
    @$ORACLE_HOME/search/admin/eq0plb.sql
    @$ORACLE_HOME/search/admin/eq0bug_7586924.sql
    cd $ORACLE_HOME/search/data/config/
    cp crawler.dat crawler.dat.backup.03102010
    vi crawler.dat
    We're using the Oracle E-Business Suite R12 crawler, so we will add the line
    USE_IN_MEMORY_QUEUE Oracle E-Business Suite R12
    as the line immediately preceding IMPORT -
    so the end of the file looks like this:
    # system properies: separated by space for multiple system properties or define multiple SYSTEM_PROPERTIES
    # logLevel values: DEBUG(2), INFO(4), WARN(6), ERROR(8), FATAL(10)
    SYSTEM_PROPERTIES -Doracle.search.logLevel=4 -Doracle.search.log=oracle.search.util.Log4jImpl
    USE_IN_MEMORY_QUEUE Oracle E-Business Suite R12
    IMPORT -
    Now on to patch 8321527
    cd /mnt/oraclebackup/deathstar_patches/SES/post_patches/8321527
    cd $ORACLE_HOME/bin
    ./searchctl stopall
    cd -
    opatch apply
    cd $ORACLE_HOME/bin
    ./searchctl startall
    sqlplus eqsys/XXXXXXX@SESDEV
    define SCH_NAME=EQSYS
    define PROXY_USER=EQPROXY
    select object_name from user_objects where status = 'INVALID';
    --should be no rows selected
    @$ORACLE_HOME/search/admin/eq0pkh.sql
    @$ORACLE_HOME/search/admin/eq0plb.sql
    --should be no rows selected
    restart SES
    cd -
    ./searchctl stopall
    ./searchctl startall

    Below are all the steps I took for creating integrating Search Modeler with an Oracle E-Business Suite 11.5.10.2 ATG RUP 7 instance called ERNIE.
    Much thanks to Oracle Support ( Rajesh Ghosh, Vikas Soolapani and Roger Ford), as this simply wouldn't have been possible without them.
    There are a few things in this document that may not be pertinent to your environment if you're doing this. I've made attempts to clarify those possibly optional sections in the documentation.
    I've broken the document down into the following multiple parts
    o Setting up a new RedHat 4.8 x86 server called ausSEARCHdev (The server is in AUStin, TX, is dedicated to SEARCH, and is for our DEV environment)
    o SES (Secure Enterprise Search 10.1.8.2 install
    o SES 10.1.8.4 patchset install
    o SES CPU patch apply
    o Standalone OC4J and ADF installation
    o Search Modeler installation and configuration
    o Configure ERNIE Apps instance to be on valid self-signed SSL certificate
    o Import ERNIE SSL certificate into SES and Search Modeler
    using aussearchdev initially
    rh4 x86, default oracle build
    ** htop and collectl are open source free performance monitoring packages we utilize**
    --start
    install htop and collectl
    wget http://dag.wieers.com/rpm/packages/htop/htop-0.7-1.el4.rf.i386.rpm
    rpm -ivh htop-0.7-1.el4.rf.i386.rpm
    wget http://downloads.sourceforge.net/project/collectl/collectl/collectl-3.4.0-4/collectl-3.4.0-4.noarch.rpm?use_mirror=voxel
    rpm -ivh collectl-3.4.0-4.noarch.rpm
    chkconfig collectl on
    service collectl start
    **We still need to install the necessary rpms so that collectl logs are compressed
    --end
    useradd -u 501 oracle
    groupadd -g 504 dba
    usermod -G 504 oracle
    verification:
         [root@aussearchdev ~]# su - oracle
         [oracle@aussearchdev ~]$ id
         uid=501(oracle) gid=501(oracle) groups=501(oracle),504(dba)
    passwd oracle
    ** /mnt/oraclebackup is a network dumpspot we use to hold Software installs, RPMs, etc
    ** /mnt/rpms is a network dumpspot we use to hold ISOs for OS software such as Redhat Linux
    mkdir /mnt/oraclebackup
    mkdir /mnt/rpms
    add the following to /etc/fstab
    XXXXXXX:/patches/oraclebackup /mnt/oraclebackup nfs defaults,hard,nolock 0 0
    XXXXXXX:/esxpress/nfs /mnt/rpms nfs rw,addr=XXX.XXX.XXX.XXX 0 0
    mount /mnt/rpms
    Next need to install various oracle needed RPMs.
    cd /mnt/rpms/rh40_upd8/RedHat/RPMS/
    rpm -ivh perl-Compress-Zlib-1.42-1.el4.i386.rpm
    rpm -ivh libaio-devel-0.3.105-2.i386.rpm
    rpm -ivh sysstat-5.0.5-25.el4.i386.rpm
    rpm -ivh unixODBC-devel-2.2.11-1.RHEL4.1.i386.rpm
    service collectl restart
    cd /tmp
    wget http://oss.oracle.com/el4/oracle-validated/oracle-validated-1.0.0-18.el4.i386.rpm
    rpm -ivh oracle-validated-1.0.0-18.el4.i386.rpm
    Now we should have all the RPMs we need.
    cd /etc/sysconfig/oracle-validated
    ./oracle-validated-verify
    cd /var/log/oracle-validated/results
    more orakernel.log
    uname -a
    should return 2.6.9 or higher
    rpm -qa|grep gcc-
    should return 3.4.3 or higher
    rpm -qa|grep glibc
    should return 2.3.4-2.9 or higher
    rpm -qa|grep make
    should return 3.80 or higher
    rpm -qa|grep binutils
    should return 2.15.92.0.2 or higher
    rpm -qa|grep openmotif
    should return 2.2.3-9.RHEL4.1 or higher
    rpm -qa|grep compat-db
    should return 4.1.25-9 or higher
    rpm -qa|grep setarch
    should return 1.6-1 or higher
    cat /proc/sys/kernel/sem
    should return 250 32000 100 128 or higher (250 32000 100 142 in our case)
    cat /proc/sys/kernel/shmall (1073741824 in our case)
    should return 2097152 or higher
    cat /proc/sys/kernel/shmmax
    should return half the size of physical memory (4294967295 in our case - NO LARGER on 32-bit OS)
    cat /proc/sys/kernel/shmmni
    should return 4096
    cat /proc/sys/fs/file-max
    should return 65536 (327679 in our case)
    cat /proc/sys/net/ipv4/ip_local_port_range
    should return 1024 65000
    values in /etc/security/limits.conf set by oracle-validated rpm, no changes necessary
    add the following line to /etc/pam.d/login
    session required /lib/security/pam_limits.so
    add the following to /etc/profile
    if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
    else
    ulimit -u 16384 -n 65536
    fi
    fi
    mkdir -p /d01/oracle
    chmod 777 /d01/oracle
    init 6 the box (aka reboot)
    Time to start the SES 10.1.8.2 installer
    running SES 10.1.8.2 installer
    as oracle
    cd /mnt/oraclebackup/deathstar_patches/SES/SES10182
    ./runInstaller
    search server name sesprod
    administrative password XXXXXXXX for dev,
    http port 7777
    destination path /d01/oracle/10.1.8/sesdev (dev)
    data storage path /d01/oracle/sesdevdata (dev)
    next
    inventory /d01/oracle/oraInventory
    dba group
    run orainstroot.sh as requested
    continue
    all tests should pass, continue
    finished clean
    tried logging in to admin console at http://aussearchdev:7777/search/admin - worked fine
    tried bringing up search query at http://aussearchdev:7777/search/query/search - worked fine
    Now we need to get to 10.1.8.4 of SES
    (yes, you need to keep the system up)
    cd /mnt/oraclebackup/deathstar_patches/SES/SES10184/ses_10184pst_linux/
    ./runInstaller
    Destination, choose sesdev
    Next
    Patchset successful
    tried logging in to admin console at http://aussearchdev:7777/search/admin - worked fine
    tried bringing up search query at http://aussearchdev:7777/search/query/search - worked fine
    Apply CPU Patch to SES
    CPU JAN 10 says patch 9119261 is required - but patch requires extended support contract
    CPU OCT 09 says patch 8836540 is required - but patch requires extended support contract
    CPU JUL 09 says patch 8534394 is required - but patch requires extended support contract
    CPU APR 09 says patch 8290534 is required - and you can actually download it
    Need opatch from 6880880
    cp -r /mnt/oraclebackup/deathstar_patches/SES/CPUAPR09/OPatch $ORACLE_HOME
    export PATH=$ORACLE_HOME/OPatch:$PATH
    shut down everything
    cd $ORACLE_HOME/bin
    ./searchctl stopall
    cd /mnt/oraclebackup/deathstar_patches/SES/CPUAPR09/8290534
    opatch apply
    cd $ORACLE_HOME/cpu/CPUApr2009
    **Note: your sys password is what you set for your administrative password above
    sqlplus "sys/XXXXXX" as sysdba;
    startup
    @catcpu
    @?/rdbms/admin/utlrp
    shutdown immediate
    exit
    cd /d01/oracle/10.1.8/sesdev/cpu/view_recompile/
    sqlplus "sys/XXXXXXX" as sysdba;
    startup upgrade;
    @view_recompile_jan2008cpu.sql
    @?/rdbms/admin/utlrp
    shutdown immediate
    cd /d01/oracle/10.1.8/sesdev/jdk/jre/lib/ext
    mv mail.jar $HOME/mail.jar.backup02222010
    mv mailapi.jar $HOME/mailapi.jar.back02222010
    cp /d01/oracle/10.1.8/sesdev/search/lib/mail.jar .
    SES 10.1.8.4 is now installed and updated with latest available CPU
    tried logging in to admin console at http://aussearchdev:7777/search/admin - worked fine
    tried bringing up search query at http://aussearchdev:7777/search/query/search - worked fine
    we're going to go with the standalone OC4j 10.1.3.3 and Oracle ADF 10.1.3.3 method
    The URLs for these products are
    http://blogs.oracle.com/ebssearch/2009/10/available_now_oracle_search_modeler_11_for_oracle_e-business_suite_11i.html
    and specifically
    OC4J - http://download.oracle.com/otn/java/oc4j/101330/oc4j_extended_101330.zip
    ADF - http://www.oracle.com/technology/software/products/jdev/htdocs/adfinstaller10133.html
    OC4J install
    First you need to have Java 1.5 on the machine. Latest is 1.5.0_22. Package is in /mnt/oraclebackup/deathstar_patches/SES
    as root on aussearchdev
    cd /usr/local
    cp /mnt/oraclebackup/deathstar_patches/SES/jdk-1_5_0_22-linux-i586.bin .
    chmod 700 jdk-1_5_0_22-linux-i586.bin
    ./jdk-1_5_0_22-linux-i586.bin
    yes
    install OC4J just by copying over the directory
    as oracle on aussearchdev
    mkdir -p /d01/oracle/oc4j
    cd /d01/oracle/oc4j
    cp -r /mnt/oraclebackup/deathstar_patches/SES/oc4j/* .
    ADF install
    vi /mnt/oraclebackup/deathstar_patches/SES/adf/adfinstaller.properties
    change the following
    OracleHome = /mnt/oraclebackup/deathstar_patches/SES/adf
    DesHome = /d01/oracle/oc4j/
    type = OC4J
    as root
    cd /usr/bin
    rm java
    (yes)
    ln -s /usr/local/jdk1.5.0_22/bin/java
    su - oracle
    java -version     should now return 1.5.0_22
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    cd /mnt/oraclebackup/deathstar_patches/SES/adf
    java -jar runinstaller.jar -version
    returns The version for the ADF libraries being installed is 10.1.3.41.57 - yes, that is apparently 10.1.3.3.
    java -jar runinstaller.jar adfinstaller.properties
    output looks good, do not be concerned by
    WARNING: 'Could not delete: /d01/oracle/oc4j/BC4J/redist/bc4j' whilst deleting bc4j application
    WARNING: 'Could not delete: /d01/oracle/oc4j/BC4J/redist/datatags' whilst deleting datatags application
    as it was trying to delete the old version that didn't exist
    Start OC4J
    as oracle on aussearchdev
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    export ORACLE_HOME=/d01/oracle/oc4j
    cd $ORACLE_HOME/bin
    ./oc4j -start
    you will be prompted for password - we're setting it. use XXXXXXXXXX
    after it's up, kill it (ctrl-c) and restart it with
    nohup ./oc4j -start &
    last lines in nohup.out is
    Starting OC4J from /d01/oracle/oc4j/j2ee/home ...
    10/02/23 03:22:38 Oracle Containers for J2EE 10g (10.1.3.3.0) initialized
    So now on to search modeler installation, going by Installation steps in Note 781366.1
    8326128 - This is not a patch to be applied to the Apps, keep reading
    as oracle on aussearchdev
    cd /mnt/oraclebackup/deathstar_patches/SES/8326128
    mkdir -p /d01/oracle/oc4j/uploaded
    vi build.properties, changing
    installation.type=OC4J
    oracle.home=/d01/oracle/oc4j
    deploy.server=aussearchdev.domainname.com
    deploy.port=23791
    web.port=7777
    password=XXXXXXXXX
    extra.classpath=/d01/oracle/oc4j/uploaded
    now set the following environment values in your ssh session
    export ORACLE_HOME=/d01/oracle/oc4j
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    export PATH=$ORACLE_HOME/ant/bin:$ORACLE_HOME/bin:$PATH
    ant main
    whole bunch of stuff to screen, errors due to undeploy something that doesn't exist. Finished after a minute with
    BUILD SUCCESSFUL
    Total time: 58 seconds
    Now on to post install steps
    restart OC4j
    cd $ORACLE_HOME/bin
    ./modeler.sh -shutdown -port 23791 -password r*l*r*0*
    export ORACLE_HOME=/d01/oracle/oc4j
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    export PATH=$ORACLE_HOME/ant/bin:$ORACLE_HOME/bin:$PATH
    nohup ./modeler.sh -start &
    end of nohup.out should show
    Starting OC4J from /d01/oracle/oc4j/j2ee/home ...
    Try going to http://aussearchdev:8888/modeler/faces/ModelerHome.jsp
    Should get login screen, but wait, we haven't installed Oracle Apps interface yet...
    Next let's do the Apps side of things
    Going by note 953378.1
    Using ERNIE (a development instance of E-Business Suite running 11.5.10.2 ATG RUP 7)
    as applmgr on ausernieapp (ausernieapp is our app tier)
    shut down apps services
    apps patch 8225631
    verify all the pre-req patches are in ERNIE
    select * from ad_bugs where bug_number = '5903765';
    select * from ad_bugs where bug_number = '6372396';
    select * from ad_bugs where bug_number = '3219567';
    select * from ad_bugs where bug_number = '3264822';
    select * from ad_bugs where bug_number = '3261254';
    select * from ad_bugs where bug_number = '5161676';
    select * from ad_bugs where bug_number = '3036401';
    select * from ad_bugs where bug_number = '3263588';
    select * from ad_bugs where bug_number = '3264818';
    select * from ad_bugs where bug_number = '3218526';
    select * from ad_bugs where bug_number = '3263645';
    select * from ad_bugs where bug_number = '4206794';
    select * from ad_bugs where bug_number = '3262486';
    select * from ad_bugs where bug_number = '3261243';
    select * from ad_bugs where bug_number = '2614213';
    select * from ad_bugs where bug_number = '3262159';
    select * from ad_bugs where bug_number = '2819091';
    select * from ad_bugs where bug_number = '3412795';
    patch went in smooth
    Log in to ERNIE Apps GUI as sysadmin user responsibility
    Give users such as sysadmin FND Search Crawler responsibility
    Go to system profile options, set
    set FND: Search Enabling Flag to Y at site level
    as applmgr on ausernieapp
    cd /d01/oracle/ernieappl/fnd/11.5.0/patch/115/sql
    sqlplus apps/$APPS_PWD @AFSRCHCF
    Enter SES endpoint URL [e.g. http://ap637atg.us.oracle.com:7780]: http://aussearchdev.domainname.com:7777
    Enter Apps Admin username [e.g. sysadmin]: sysadmin
    Enter Apps Admin password: sysadmin_password
    Enter SES Admin username [e.g. eqsys]: eqsys
    Enter SES Admin password: eqsyspassword <-- This is the same as sys's password
    on aussearchdev as oracle
    had to kill modeler and start all the processes, so
    kill -9 the modeler oc4j process, then
    cd $ORACLE_HOME/bin
    ./searchctl startall
    enter the password when prompted
    in IE browser go to
    http://aussearchdev.domainname.com:7777/search/admin
    log in with eqsys password
    global settings tab
    identity management setup
    click circle next to oracle.search.plugin.security.identity.ebs.EBS12IdentityPliginMgr
    (yes, we're going with 12 even though we use Oracle Apps 11i)
    http end point https://ausernieapp.domainname.com:8443/webservices/AppSearch/SecurityService
    username sysadmin
    password XXXXXXX
    finish
    Global Settings
    Federation Trusted Entitites
    ####entity name sysadmin
    ####Entity Password XXXXXXXX
    According to web conference with Oracle, this should NOT be eqsys but instead be sysadmin from above.
    Select the Use Entity Plug-in for authentication check box
    add
    Trying to go to http://aussearchdev.domainname.com:7777/search/query/search and login (sysadmin / password)
    stop midtier on both SES and Apps
    cd $ORACLE_HOME/bin
    ./searchctl stopall
    ./adstpall.sh apps/$APPS_PWD on EBS app tier
    start midtier on both SES and Apps
    cd $ORACLE_HOME/bin
    ./searchctl startall
    ./adstrtal.sh apps/$APPS_PWD on EBS app tier
    Now try and log in to Oracle SES user interface to verify the configuration
    http://aussearchdev.domainname.com:7777/search/query
    Now start up modeler again
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    export ORACLE_HOME=/d01/oracle/oc4j
    export PATH=$ORACLE_HOME/bin:$PATH
    cd $ORACLE_HOME/bin
    nohup ./modeler.sh -start &
    Works now.
    Now go to http://aussearchdev.domainname.com:8888/modeleradmin/AdminHome.jsp log in as oc4jadmin/XXXXXXX
    Configure new target
    Target Type 11i
    Description ERNIE
    Name ERNIE
    EBS Database Host Name auserniedb
    EBS Database Port 1521
    EBS Database SID ERNIE
    username apps
    password XXXXXXXXx
    oc4jadmin XXXXXXXx
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    export ORACLE_HOME=/d01/oracle/oc4j
    export PATH=$ORACLE_HOME/bin:$PATH
    cd $ORACLE_HOME/j2ee/home
    java -jar admin_client.jar deployer:oc4j:aussearchdev oc4jadmin XXXXXXXXX -addDataSourceConnectionPool -name "ERNIE2-pool" -factoryClass "oracle.jdbc.pool.OracleDataSource" -dbUser "apps" -dbPassword "XXXXXXX" -url "jdbc:oracle:thin:@auserniedb.domainname.com:1521:ERNIE" -applicationName appsearch
    java -jar admin_client.jar deployer:oc4j:aussearchdev oc4jadmin XXXXXXX -addManagedDataSource -name "ERNIEDS" -jndiLocation "jdbc/ERNIEDS" -connectionPoolName "ERNIE2-pool" -applicationName appsearch
    http://aussearchdev.domainname.com:8888/modeler/faces/ModelerHome.jsp
    So, creating a self signed SSL certificate for ERNIE EBS instance (this will not work if you use an SSL certificate for another server like say, PROD)
    doing this on ausernieapp
    openssl genrsa -des3 -out ausernieapp.key 1024
    PEM key is ausernieapp
    openssl req -new -key ausernieapp.key -out ausernieapp.csr
    PEM key is ausernieapp
    Country US
    State Texas
    Locality Austin
    Organization Name Corporation
    Organizational Unit Name Information Technology
    Common Name ausernieapp.domainname.com
    Email address [email protected]
    No challenge password
    No optional company name
    Now let's remove the passphrase from the key
    cp ausernieapp.key ausernieapp.key.orig
    openssl rsa -in ausernieapp.key.orig -out ausernieapp.key
    Now let's generate a self-signed certificate
    openssl x509 -req -days 1000 -in ausernieapp.csr -signkey ausernieapp.key -out ausernieapp.crt
    Install the private key and certificate
    cd $IAS_ORACLE_HOME/Apache/Apache/conf/ssl.crt
    cp server.crt server.crt.backup.03102010
    chown applmgr:applmgr server.crt.backup.03102010
    cp $HOME/ausernieapp.crt /d01/oracle/ernieora/new/iAS/Apache/Apache/conf/ssl.crt/server.crt
    cd $IAS_ORACLE_HOME/Apache/Apache/conf/ssl.key/
    cp server.key server.key.backup.03102010
    cp $HOME/ausernieapp.key /d01/oracle/ernieora/new/iAS/Apache/Apache/conf/ssl.key/server.key
    chown applmgr:applmgr server.key.backup.03102010
    bounce apache as applmgr
    cd /d01/oracle/erniecomn/admin/scripts/ERNIE_ausernieapp
    ./adapcctl.sh stop
    ./adapcctl.sh start
    In IE
    https://ausernieapp.domainname.com:8443
    Continue
    Click on Certificate Error next to URL bar
    Install Certificate -> Next-> Place all certificates in the following store -> trusted root certificate authorities ->finish
    close browser, back to https://ausernieapp.domainname.com:8443
    no errors,
    Next step will be to import key into the SES and Search modelers
    as oracle on aussearchdev
    cd /d01/oracle/10.1.8/sesdev/jdk/jre/lib/security/
    cp cacerts cacerts.backup.03102010
    scp root@ausernieapp:/root/ausernieapp.crt .
    export LANG=c
    export PATH=$ORACLE_HOME/jdk/bin:$PATH
    keytool -keystore ./cacerts -storepass changeit -alias rootausernieapp -import -trustcacerts -file ausernieapp.crt
    --output
    Owner: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Issuer: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Serial number: b4e92089cf73076f
    Valid from: Wed Mar 10 13:22:38 CST 2010 until: Tue Dec 04 13:22:38 CST 2012
    Certificate fingerprints:
    MD5: 2C:6B:EE:1A:63:6D:XX:A6:05:90:F6:XX:DD:88:F7:80
    SHA1: F8:DC:E5:2A:3E:68:XX:E1:EA:E4:75:AE:CC:4F:4A:10:2F:8A:FE:9B
    Trust this certificate? [no]: yes
    Certificate was added to keystore
    Now load our cert
    keytool -keystore ./cacerts -import -trustcacerts -file ausernieapp.crt
    keytool -list -v -keystore ./cacerts now shows
    Alias name: rootausernieapp
    Creation date: Mar 10, 2010
    Entry type: trustedCertEntry
    Owner: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Issuer: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Serial number: b4e92089cf73076f
    Valid from: Wed Mar 10 13:22:38 CST 2010 until: Tue Dec 04 13:22:38 CST 2012
    Certificate fingerprints:
    MD5: 2C:6B:EE:1A:63:6D:CB:XX:05:90:F6:78:DD:88:F7:80
    SHA1: F8:DC:E5:2A:3E:68:9C:CE:EA:4E:75:AE:CC:FA:9E:10:2F:8A:FE:9B
    Now we need to load it into the search modeler keystore
    as root on aussearchdev
    export JAVA_HOME=/usr/local/jdk1.5.0_22/
    export PATH=$JAVA_HOME/bin:$PATH
    cd /usr/local/jdk1.5.0_22/jre/lib/security/
    scp root@ausernieapp:/root/ausernieapp.crt .
    output
    keytool -keystore ./cacerts -import -trustcacerts -file ausernieapp.crt
    Enter keystore password: changeit
    Owner: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Issuer: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Serial number: b4e92089cf73076f
    Valid from: Wed Mar 10 13:22:38 CST 2010 until: Tue Dec 04 13:22:38 CST 2012
    Certificate fingerprints:
    MD5: 2C:6B:EE:1A:63:6D:CB:A1:05:90:F6:78:DD:88:F7:80
    SHA1: F8:DC:E5:2A:3E:68:9C:CE:EA:4E:75:AE:CC:4F:9E:10:2F:8A:FE:9B
    Trust this certificate? [no]: yes
    Certificate was added to keystore
    [root@aussearchdev security]#
    output
    For troubleshooting, if you go to end of /d01/oracle/10.1.8/sesdev/search/data/config/crawler.dat
    you can modify the logLevel from the default of 4 to 2 to get better debug data. No services need to be restarted, it will become active with the next crawl.
    While talking with Oracle, they mentioned the following patches
    The patches identified 8321527 and 7586924 are SES patches to help with indexing
    They also identified patch 9103851 which is an apps patch dealing with responsibilities <-- This is not yet available
    Applying patch 7586924
    as oracle on aussearchdev
    cd $ORACLE_HOME/bin
    ./searchctl stopall
    cd /mnt/oraclebackup/deathstar_patches/SES/post_patches/7586924
    opatch apply
    cd $ORACLE_HOME/bin
    ./searchctl startall
    sqlplus eqsys/XXXXXX@SESDEV
    define SCH_NAME=EQSYS
    define PROXY_USER=EQPROXY
    define INST_USER=EQ_TEST
    @$ORACLE_HOME/search/admin/eq0pkh.sql
    @$ORACLE_HOME/search/admin/eq0plb.sql
    @$ORACLE_HOME/search/admin/eq0bug_7586924.sql
    cd $ORACLE_HOME/search/data/config/
    cp crawler.dat crawler.dat.backup.03102010
    vi crawler.dat
    We're using the Oracle E-Business Suite R12 crawler, so we will add the line
    USE_IN_MEMORY_QUEUE Oracle E-Business Suite R12
    as the line immediately preceding IMPORT -
    so the end of the file looks like this:
    # system properies: separated by space for multiple system properties or define multiple SYSTEM_PROPERTIES
    # logLevel values: DEBUG(2), INFO(4), WARN(6), ERROR(8), FATAL(10)
    SYSTEM_PROPERTIES -Doracle.search.logLevel=4 -Doracle.search.log=oracle.search.util.Log4jImpl
    USE_IN_MEMORY_QUEUE Oracle E-Business Suite R12
    IMPORT -
    Now on to patch 8321527
    cd /mnt/oraclebackup/deathstar_patches/SES/post_patches/8321527
    cd $ORACLE_HOME/bin
    ./searchctl stopall
    cd -
    opatch apply
    cd $ORACLE_HOME/bin
    ./searchctl startall
    sqlplus eqsys/XXXXXXX@SESDEV
    define SCH_NAME=EQSYS
    define PROXY_USER=EQPROXY
    select object_name from user_objects where status = 'INVALID';
    --should be no rows selected
    @$ORACLE_HOME/search/admin/eq0pkh.sql
    @$ORACLE_HOME/search/admin/eq0plb.sql
    --should be no rows selected
    restart SES
    cd -
    ./searchctl stopall
    ./searchctl startall

  • Error committing transaction in Stored Proc call - prev solns not working

    Hi All,
    Our process invokes a DB adapter to fetch the response from the table for our request via Stored Procedure call but facing the below issue. Its a synchronous process. Stored Procedure is present inside the Package and we are calling the Stored procedure using that Package.
    What we did is created a DB datasource of XA type and tried to call the Stored Proc but it was giving a problem “ORA-24777: use of non-migratable database link not allowed” and hence according to this thread Using DB links in Stored proc call in DB adapter 11G SOA we have modified the datasource as non-XA type.
    While we do that, we could see that Stored Proc is called and the response is present in the reply payload inside the flow trace. But the instance is getting faulted and the error is “Error committing transaction:; nested exception is: javax.transaction.xa.XAException: JDBC driver does not support XA, hence cannot be a participant in two-phase commit. To force this participation, set the GlobalTransactionsProtocol attribute to LoggingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source.”
    We have tried the properties of global transaction support as one phase commit, emulate two phase commit and logging last resource but error remains the same.
    Database from which we are getting the response is of version "Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production". Will the database link error arises even if we connect to Oracle Database?
    Please could you advise me solutions to resolve this issue.
    Thanks in advance.

    You are using Non-XA because it means (among all others) that the commit issue can be handle by the DB as well.
    The Emulate Two Phase property imitating the XA transaction in that way, that it allows you to manage a local db transaction.
    You can stay with XA connection, but then you will have to use "AUTONOMOUS_TRANSACTION pragma" in your procedure.
    Enter the following link to find good explanation about all of your questions:
    http://docs.oracle.com/cd/E15523_01/integration.1111/e10231/adptr_db.htm#BGBIHCIJ
    Arik

  • Unable to find any active legal regulations for determination proc. "TEST1"

    Hi Guys
    This is in regards to a Customs document for a Payment doc
    We have just finished the configuration of the Finance integration which will stop blocked partners during the Payment run
    Now when we create a Proposal in the Payment run in ECC, the same document gets transferred to GTS, now even though the SPL is active when we check the Log there is a message Unable to find any active legal regulations for determination proc
    Upon further investigation of the customs document i found 2 things
    1) In the Geography section Country of Departure is populated with US, but the Country of destination is blank, this might be a reason as the Legal regulation checks both the countries and then activate, any idea how i can get the same to populate?
    2) If the above population does happen, from which partner type should it come from, as in my customs document only Vendor and Bank is there, in the PO customs document this is being populated properly
    Any idea what is wrong here?
    Thanks
    Carl

    Hi Dave
    Thanks for answering again.
    I have tried activating it at country level, country/country, country/group, Same result in case of all
    As i know now since the Country of Destination is missing, it cannot activate the last two, but the same is also not working at country level.
    So is there anyway to maybe have some partner function which can populate the Destination country.
    Any other advice will be really helpful..
    Thanks
    Carl

  • SSIS Catalog views are not executing from PROC calling from a service broker

    Hi Exprets,
    I have a package deployed on SSISDB (the new concept in MS SQL 2012, SSIS catalogs). I have t-sql code in which i will be able to execute SSIS package in SSISDB with no problems. But if i place the same t-sql code inside of a procedure which will be called
    by a service broker , the code is not executing.
    I am using the following code to execute a package in the SSISDB catalog
    Declare @execution_id bigint
    EXEC [SSISDB].[catalog].[create_execution] @package_name=N'LoadToABC.dtsx',
    @execution_id=@execution_id OUTPUT, @folder_name=N'ABC', @project_name=N'LoadToABC',
    @use32bitruntime=False, @reference_id=Null
    DECLARE @var0 NVARCHAR(200)
    = N'D:\MyData\SampleText20120830100001.txt'
    EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id, @object_type=30,
    @parameter_name=N'strFileName', @parameter_value=@var0
    EXEC [SSISDB].[catalog].[start_execution] @execution_id
    This code executes if run it alone or placed in a regular stored procedure , but not executes if i palce this same code inside of a procedure which is being called/executed by a service broker call like this:
    CREATE QUEUE dbo.SampleQueue
    WITH STATUS=ON, ACTIVATION
    (STATUS = ON, MAX_QUEUE_READERS
    = 1,
    PROCEDURE_NAME = spMessageProcSample,  
    EXECUTE AS OWNER);
    The problem occurs if we call the SSIS catalogs inside a proc which will be calling through a service broker queue.
    I am running all these steps on my local instance of SQL SERVER 2012 in which i am the administrator.
    Please advice where i am doing wrong ?
    Thanks,
    Jyodhu.

    Hi ArthurZ,
    Thanks for reply. What i ment was i tried with all the "EXECUTE AS" options. but no luck.
    Can you please explain step by step if you can ? That would be great help.
    This is the error message from server log.
    Message
    The activated proc '[dbo].[spMessageProcSample]' running on queue 'FileTableDB.dbo.SampleQueue' output the following:  'The server principal "USA\cccsat1nmg" is not able to access the database "SSISDB" under the current security context.'
    I logged in with WIndows authentication (Admin) and i created all the objects including Integration services Catalog.
    Thanks,
    Jyodhu.

  • Integration

    HI,
    ALL
        I need to now the integration betwwen sd mm pp with fi co i am going to work on an implementation project pls give clear explanation with all steps in all modules related to integration with fi/co. and pls give the effect for field selection in other modules except fi. i am an fi consultant but never worked on integration area . pls send the needful information to this mail id
    [email protected] .
    thank u all
    Regards
    chandra.

    Hi Chandra,
    1. When you create sales order in SD, all the details of
    the items are copied from Material master of MM.
    2. MRP and availibility check related data is also taken
    from MM although you control this data in SD also.
    3. While you create inbound/outbound delivery with
    reference to a sales order,the shipping point determination
    takes place with the help of the loading group, plant data,
    shipping conditions etc. This also refers to Material
    Master.
    4. The material which you are entering in a sales order
    must be extended to the sales area of your sales
    order/customer otherwise you cannot transact with this
    material.
    There are many such links between SD and MM.
    Now the link between SD and FI :-
    1. Whenever you create a delivery with reference to a sales
    order, goods movement takes place in the background. eg. In
    case of standard sales order, you create an outbound goods
    delivery to the customer.
    Here movement 601 takes place. This movement is configured
    in MM. Also, this movement hits some G/L account in FI.
    Every such movement of goods hits some G/L account.
    2. The accounts posting in FI is done with reference to the
    billing documents (invoice, debit note, credit note etc)
    created in SD. Thus this is a link between SD and FI
    3. Tax determination: In case of a tax determination also,
    there is a direct link between SD and MM
    SD Integration points with other modules
    SD module is highly integrated with the other modules in
    SAP.
    Sales Order ?
    Integration Points                      Module
    Availability Check             -       MM
    Credit Check                   -       FI
    Costing                        -       CO/ MM
    Tax Determination              -       FI
    Transfer of Requirements       -       PP/ MM
    Delivery & Goods Issue ?
    Integration Points                      Module
    Availability Check             -       MM
    Credit Check                   -       FI
    Reduces stock                  -       MM
    Reduces Inventory $            -       FI/ CO
    Requirement Eliminated         -       PP/ MM
    Billing -
    Integration Points                      Module
    Debit A/R                      -       FI/ CO
    Credit Revenue                 -       FI/ CO
    Updates G/ L                   -       FI/ CO
    (Tax, discounts, surcharges, etc.)
    Milestone Billing              -       PS
    Return Delivery & Credit Memo -
    Integration Points                      Module
    Increases Inventory            -       MM
    Updates G/ L                   -       FI
    Credit Memo                    -       FI
    Adjustment to A/R              -       FI
    Reduces Revenue                -       FI
    In Business We wud want to post the revenues or the
    discoutns offered, taxes collected, Freight charges to a
    particualr GL accoutn for accouting purposes. Lets say i
    want to accoutn for all the revenuses i generated for
    finished goods. I wud use this Finished goods as the
    Material Accoutn assignment group and assign that in the
    Sales org 2 view just above the Item cat group. Then with
    Accoutn determination process  i wud link the Account Key
    ERL (In Pricing proc) + Finished Goods (Material Accoutn
    Aiisgment grp) -
    TO A GL ACCOUNT. Thts SD-FI
    integration.
    SD MM.
    In Pricing we wud want to determine the cost of the product
    thru VPRS Condition Type. This cost of the material is
    picked from the Material Master. How this happens is , if
    we wud want to determine this cost VPRS in the Sales Order
    for Profitability purpose then , all those Item cateogries
    tht can appear in a sales order must be activated for
    Detemine Cost Check box in customizing. Thts one of the SD
    MM Integration.
    Assign points if useful
    Regards
    genie

  • WMS and Oracle ERP integration.

    All,
    We are working on an integration project where in we are using Oracle Apps as the ERP System. With this Oracle ERP, we want to integrate any WMS/SCM system [red prairie, manhattan, oracle etc].
    Are there any open APIs/Interfaces to Oracle Apps, where in, we can call these from our code [may be Oracle stored procs or .NET] and all the required data are populated in the ERP system, which can then be used for further processing..
    Your help is highly appreciated.
    Thanks,
    Shridhar.

    Does Oracle's WMS module not meet your needs? It would already be integrated.
    As for APIs there is a manual that outlines all the available APIs for manufacturing. Look at the Discrete Manufacturing section to locate it.

  • Integration of Application - Very Urgent

    Hi,
    we are developed the application in Web throu CGI - 9ias,oracle81 with NT
    Now we are at final stage of the project .we have lot of applications like payroll,marketing,finance,production & etc .
    How to integrate all those application in CGI
    Thanks,
    Prakash.J.

    One option is to use 9iAS InterConnect. InterConnect provides a database adapter for integrating database applications. You would have one database adapter per application and use the iStudio GUI tool to create mappings between the objects in the various applications. You can find info on InterConnect here: http://otn.oracle.com/tech/integration/pdf/intg_twp.pdf
    HTH,
    Herb
    Hi,
    We are developed the application(Forms/Reports/Proc) in Web using 9ias throu CGI.
    we are at the final stage (Integration part) .we have lot of appilication like payroll,purchase,marketing,finance & etc. Each modules having different database user.
    How to integrate all those application in CGI.
    Thanks,
    Prakash.J.

Maybe you are looking for