How to automate SQL packages deletion prior to IPL to apply PTF's ?

Hi,
When PTF's need to be applied to the system to avoid trouble it is recommended to delete the SQL packages. The only way to do this that I know of is by using the R3MAIN menu to access the option to delete the SQL packages. As we have two instances on our system this is (to much) time consuming.
For this reason I would like to schedule a STOP of both SAP instances. Followed by some method to check if the SAP instance is down. If the SAP instance is down I would like to Delete the SQL packages and when this task completes I would like to send myself an e-mail confirming this deletion.
The pieces of the puzzle I am missing to achieve all this are:
1. How to check if SAP is done ?
2. How to delete the SQL packages for both instances in a program ?
Of course it would be perfect if it is possible to check for any active SAP users from a program also. I think I have the CL programming skills to write such a program and of course I want to share that information once the program has been tested and approved by me
Regards, Rudi van Helvoirt

Hi Rudi,
I would do it in QSTRUP after IPL, but that's a minor difference.
with an *ALLOBJ user:
CALL R3sid400/R3INLPGM
DLTR3PKG sid
As this sometimes fails, I would code the DLTR3PKG 3-5 times into the CL - the second and more ones are done within a second - so no problem )
You do this for each SID and should be happy - as you do not want this with every IPL I guess, you might want to use a DTAARA in order to control this.
Regards
Volker Gueldenpfennig, consolut.gmbh
http://www.consolut.de - http://www.4soi.de - http://www.easymarketplace.de

Similar Messages

  • How to automate sql server querry and output to send via email alerts

    Hi,
    I have MS SQL 2005 server. Daily i m running sql querry at 10:30 pm. i want to automate this process & output need to send via email. Please suggest what are the options availble.
    Thanks in advance
    ...Umesh

    Create a job and put the query in , then schedule it... You can email an output by using data base email feature
    EXEC msdb.dbo.sp_send_dbmail 
         @profile_name = 'Admin', 
         @recipients = '[email protected]', 
         @query = 'SELECT COUNT(*) FROM AdventureWorks.Person.Address', 
         @subject = 'Error Log Count', 
         @attach_query_result_as_file = 1 ;
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • How to automate Sql Server Configuration Manager settings?

    For example, I have just installed Sql Express 2012, and need to configure it for use over the local network. Usually I just manually open Sql Server Configuration Manager -- Sql Server Network Configuration -- <myinstance>, and enable TCP/IP on 1433.However,
    I am not going to be available to do this on every customer's computer. I need to do these steps using a script or something. Is there a way to do this?

    Have a look at this stackexchange thread:
    http://stackoverflow.com/questions/9138172/enable-tcp-ip-remote-connections-to-sql-server-express-already-installed-databas
    There are two good options outlined there
    1. install it with the /TCPENABLED=1 switch (in the original post)
    2. Execute a wmi script post-install (in the answer)
    Note: if you decide to use WMI the root path will be \root\Microsoft\SqlServer\ComputerManagement11 for 2012 
    I will have to support install time, and post install. Does TCPENABLED=1 also setup the 1433 port value in TCP/IP Properties - IP Addresses tab?

  • How execute pl/sql command from Oracle ADF Business Components

    can't find examples for how execute pl/sql command from Oracle ADF Business Components and how call pl/sql package procedure from ADF Business Components.
    insert,update,delete rows in view object instance cache is good but if i must do some complex operations while insert,update,delete rows..it's more better for me to call
    pl/sql procedure from oracle db.Am i wrong ????

    Roman,
    this should be similar to how it worked in JDeveloper 9.0.3. hava a look at <JDev903 Home>\BC4J\samples\StoredProc for a code example.
    Frank

  • How to automatically swap R,G,B channels on a folder full of images

    How to automate a Harris Shutter like effect to quickly apply to a few hundred images? Essentially for each finished image, I want to take the R, G, B channels from three different images. I want to do this with a folder full of images. From image #1, use the Red Channel, from image #2, use the Green Channel, from image #3, the Blue Channel. Then repeat that for all the images. Each pulling the channels from the subequent images. Any suggesions on how to automate this? Here is a tutorial I wrote up on how to do it to a single image. http://art3150.blogspot.com/2010/09/weekend-homework.html
    Another way to think of it would be like all the Red channels are original, but the Green channels would be from an image one ahead in the sequence and all the Blue channels would be from an image two ahead in the sequence. The channels would be slightly out of sync with one another.

    Something like this....
    JPGs have been assumed.
    main();
    function main(){
    var inputFolder= Folder.selectDialog ("Please select folder to process");
    if(inputFolder == null) return;
    var fileList = inputFolder.getFiles('*.jpg');
    var outPutFolder = Folder(inputFolder + "/Processed");
    if(!outPutFolder.exists) outPutFolder.create();
    while(fileList.length>2){
    var aDoc = open(fileList.shift());
    var Name = app.activeDocument.name.replace(/\.[^\.]+$/, '');
    selectChannel(0);
    dupChannel("Red");
    aDoc.close(SaveOptions.DONOTSAVECHANGES);
    aDoc = open(fileList.shift());
    selectChannel(1);
    dupChannel("Green");
    aDoc.close(SaveOptions.DONOTSAVECHANGES);
    aDoc = open(fileList.shift());
    selectChannel(2);
    dupChannel("Blue");
    aDoc.close(SaveOptions.DONOTSAVECHANGES);
    mergeToRGB();
    var saveFile = File(outPutFolder + "/" + Name + ".psd");
    SaveJPEG(saveFile,8);
    activeDocument.close(SaveOptions.DONOTSAVECHANGES);
    function SaveJPEG(saveFile, jpegQuality){
    jpgSaveOptions = new JPEGSaveOptions();
    jpgSaveOptions.embedColorProfile = true;
    jpgSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE;
    jpgSaveOptions.matte = MatteType.NONE;
    jpgSaveOptions.quality = jpegQuality;
    activeDocument.saveAs(saveFile, jpgSaveOptions, true,Extension.LOWERCASE);
    function dupChannel(Name) {
    var desc4 = new ActionDescriptor();
    var desc5 = new ActionDescriptor();
    desc5.putString( charIDToTypeID('Nm  '), Name );
    desc4.putObject( charIDToTypeID('Nw  '), charIDToTypeID('Dcmn'), desc5 );
    var ref2 = new ActionReference();
    ref2.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Ordn'), charIDToTypeID('Trgt') );
    desc4.putReference( charIDToTypeID('Usng'), ref2 );
    executeAction( charIDToTypeID('Mk  '), desc4, DialogModes.NO );
    function selectChannel(channelNo) {
    switch(Number(channelNo)){
        case 0 : var ch = 'Rd  ';break;
        case 1 : var ch = 'Grn ';break;
        case 2 : var ch = 'Bl  ';break;
        case 3 : var ch = 'RGB ';break;
        default : break;
    var desc1 = new ActionDescriptor();
    var ref1 = new ActionReference();
    ref1.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID(ch) );
    desc1.putReference( charIDToTypeID('null'), ref1 );
    executeAction( charIDToTypeID('slct'), desc1, DialogModes.NO );
    function mergeToRGB() {
    var desc3 = new ActionDescriptor();
    var list1 = new ActionList();
    var ref1 = new ActionReference();
    ref1.putName( charIDToTypeID('Dcmn'), app.documents[0].name); //Red
    list1.putReference( ref1 );
    var ref2 = new ActionReference();
    ref2.putName( charIDToTypeID('Dcmn'), app.documents[1].name ); //Green
    list1.putReference( ref2 );
    var ref3 = new ActionReference();
    ref3.putName( charIDToTypeID('Dcmn'),app.documents[2].name); //Blue
    list1.putReference( ref3 );
    desc3.putList( charIDToTypeID('null'), list1 );
    desc3.putEnumerated( charIDToTypeID('Md  '), charIDToTypeID('ClrS'), charIDToTypeID('RGBC') );
    executeAction( charIDToTypeID('MrgC'), desc3, DialogModes.NO );

  • How to get changes of a custom PL/SQL package updated in ISG?

    Hi All,
    I need some help on how to change a custom PL/SQL package in ISG integration repository:
    I already uploaded my custom PL/SQL package to the integration repositoy some time ago. Now I have made some changes to PL/SQL record/table types defined in the package (added some fields and removed some others). These changed record/table types are used by a procedure I already uploaded to the integration repository. When regenerating the WSDL for my PL/SQL package in integration repository I get an error that the wrapper for respective procedure can't be found. When checking up the SQL types that were automatically generated (by JPublisher) for corresponding PL/SQL types, these generated SQL types are invalid...
    So it seems that in one case JPublisher generated an empty SQL type (with no attributes). In another case JPublisher generated the SQL type with old attribute list, so it didn't adopt the changes of corresponding PL/SQL type in the package...
    Can anybody tell me how to get the changes of a cusotm PL/SQL package updated in ISG? Or is there any possibility to first remove a whole PL/SQL package from the ISG integration repository (and getting rid of all old automatically generated SQL types), so that I can newly upload my PL/SQL package afterwards?
    Thanks
    Konrad
    Edited by: Konrad on 24.10.2011 10:51

    Thanks Daniel, for your reply...
    (-> for info: I'm a colleague of Konrad...)
    Yes, we used a higher version number - and the upload of iLDT file works fine...
    But, the problem occured when generating the WSDL...
    However, I think we have found an approach of how to get the changes of a custom PL/SQL package updated correctly in ISG:
    1. Save a copy of PL/SQL package and then delete it in the database
    2. Regenerate the WSDL for PL/SQL package in ISG (seems that all atutomatically generated JPub wrappers and SQL types are also deleted)
    3. Restart all processes
    4. Create the changed version of PL/SQL package in the database again
    5. upload of iLDT
    6. Regenerate the WSDL for PL/SQL package in ISG
    Best Regards
    Carolin

  • SAP Restart to Delete SQL Packages

    I am starting this discussion on behalf of a client:
    Especially the "veterans" of AS/400 remember, that in the beginning of SAP on AS/400 it was often necessary to stop the SAP instance and delete the SQL packages in order to overcome database errors that usually showed up as SQL -901 errors. This way of "fixing" SQL -901 became like a habit, so that support employees often recommended to stop the SAP instance and delete SQL packages when a simple restart of the failing work process would have fixed the problem. Later we recommended to use profile parameter rdisp/wp_auto_restart to restart work processes automatically once a day (for example), and that seemed to have solved the problem. However, my client is not quite convinced that this works and does not want to "play" with the production system. They are using an ECC 6.0 system with a 10 TB database and about 4000 active users.
    Question to this group: Do you have systems with a similary size that run several weeks (or even months) without interruption for deleting SQL packages? If so, do you use profile parameter rdisp/wp_auto_restart, and what value is configured? Also "negative" answers are welcome, i.e. if you have the experience that the SQL packages must be deleted on a regular base for the sytem to work properly, please let us know, too.
    Thanks a lot for your cooperation.
    Kind regards,
    Christian Bartels.

    Hi Christian and Jim,
    Our production database is 8 TB with 3400 named users (1,000 or so concurrent).  We still are "old school" and delete the SQL packs during normal maintenance twice a month (either two or three week interval). I know we have gone longer if we were having a lot of go-lives but I don't think it has happened since we upgraded to ECC 6.0.
    We did have some SQL pack issues a while ago but it turned out to be they were reaching the maximum size for table IBSYMBOL. Since then we set the QAQQINI value "SQL_INCREASE_PKG_LIMIT = *YES " which doubled the allowable size to 1GB I believe. We still were reaching the max and we ended up inserting a profile parameter.
    "dbs/db4/dbsl_tablehint0         =           Table = 'IBSYMBOL' & nMarkers > 100 ? SingleExecutionReuse"
    Credits - Steve Tlusty of IBM came up with the fix
    During that round of fun, Steve also had us adjust the following parameters -
    rdisp/noptime                        =             605800
    rdisp/wp_auto_restart          =             604800
    Note - even though we are at 6.1.1 now, the adjustments were made on 4.7x200 while running under V5R4 so I don't know if they are still required.
    Have I rambled too long?
    Craig

  • How to open a package body in Oracle sql developer

    How to open a package body in Oracle sql developer..any shortcut for that

    I need another way to get to my package body. I'm on a locked down system, so the only way I can reference anything is if I already know the name of it. I accidentally overwrote my text document that I was using to work on it and I closed out of the package body in sqldeveloper. There must be a command, like an alter or some such. Anyone know the old fashioned way of looking at a package?

  • How to declare a global variable from a PL/SQL package

    Hi All,
    Using a global variable is a bad practise for all language. However, in my case, I have a PL/SQL package defines all constants, and I want to use them directly via SQL statement, for instance,
    PACKAGE my_const
    IS
         DEFAULT_ZIP_CODE CONSTANT VARCHAR2(5) := '00000';
    END;And I cannot referrence this variable from my select statement as
    SELECT my_const.DEFAULT_ZIP_CODE from dual;I have to create a function via my package, as,
    FUNCTION get_default_zip_code RETURN VARCHAR2
    IS
    BEGIN
         RETURN DEFAULT_ZIP_CODE;
    END;and
    SELECT my_const.get_default_zip_code from dual;I don't want to create functions to referrence the default varaibles. Does anyone have any clues?
    thanks
    Edited by: user4184769 on Jul 19, 2010 8:36 AM

    riedelme wrote:
    thanks for the info. Your scope explanation makes sense even though it is not intuitive to me. I think the usage of package variables should be supported by SQL (they're just values to be copied) Maybe look at it from another language's perspective. You want to use a global PL package variable in Java/C#/Delphi/VB/etc. How would you do it?
    None of these languages can crack open the data segment of a PL code unit, inspect the variables in it, and extract a value from it. Instead, it needs to be done as follows:
    Using sqlplus as the client illustrates how all these languages will need to do it:
    SQL> var value varchar2(20);
    SQL> begin
      2>     :value := SomePackage.someVar;
      3> end;
      4> /So why should SQL behave differently? It is not the same as the PL language. It is not a subset of the PL language. Yeah, PL/SQL blurs the line between these 2 languages making it very simple for us to mix their source code. But PL/SQL is SQL integrated with PL - not PL integrated with SQL. PL has tight hooks into SQL, creating cursors for you, defining bind variables, binding variables and doing the whole Oracle Call Interface bit for you.
    But SQL has no need for PL code, just as it has no need for Java code, or Delphi code or VB code. Yes, it is possible for it to call Java stored procs. As it is possible for it to call PL procs. But these are via the formal call interface of those languages - not via tight integration hooks that blur the languages and make SQL and Java, or SQL and PL, look like a single integrated source code unit.
    Thus SQL has the pretty much the same constraints in calling the PL language as other languages do. What SQL can do is use the PL engine's call interface and tell it "+execute this function and return the result of the function+".

  • How to automate the deletion of existing request

    Hi ,
    I want to delete the existing old requests under Cube . How to automate this process .
    Please can anybody help me .

    Hi,
    This code deletes <b>all</b> requests seuential from one particular cube determined by parameter I_Cube. Please create a variant with name of desired cube
    and a batch job processing this variant.
    REPORT  Z_DELETE_REQ_FROM_IC.
    DATA: I_T_RSICCONT TYPE TABLE OF RSICCONT.
    DATA: WA_RSICCONT  TYPE RSICCONT.
    PARAMETERS : I_CUBE TYPE RSINFOCUBE .
    IF I_CUBE IS INITIAL.
      EXIT.
    ENDIF.
    SELECT * FROM RSICCONT INTO TABLE I_T_RSICCONT WHERE
             ICUBE = I_CUBE.
    LOOP AT I_T_RSICCONT INTO WA_RSICCONT.
      CALL FUNCTION 'RSSM_DELETE_REQUEST'
        EXPORTING
          REQUEST                    = WA_RSICCONT-RNR
          INFOCUBE                   = WA_RSICCONT-ICUBE
        EXCEPTIONS
          REQUEST_NOT_IN_CUBE        = 1
          INFOCUBE_NOT_FOUND         = 2
          REQUEST_ALREADY_AGGREGATED = 3
          REQUEST_ALREADY_COMDENSED  = 4
          OTHERS                     = 5.
      IF SY-SUBRC <> 0.
    open for error-handling
      ENDIF.
    ENDLOOP.
    Please use it carefully 
    Regards
    Joe

  • How can i get the date of the last update of one PL/SQL package ?

    Hello,
    How can i get the date of the last update of a PL/SQL package
    named MYPACKAGE ?
    Thanks in advance ! ;-)

    to get the timestamp,last ddl time of object
    select timestamp,last_ddl_time from user_objects
    where object_name='<package name>';
    this will give you last transaction time ,date of object

  • How can a type defined in a PL/SQL package be used by an object?

    How can a type defined in a PL/SQL package be used by an object?
    In the PL/SQL Reference manual it says that object attributes can be
    types defined inside a PL/SQL package: How do you make this work?
    Here is a sample that demonstrates what I am trying to do:
    CREATE OR REPLACE
    PACKAGE Phone IS
    TYPE Phone_rectype IS RECORD (
    Main VARCHAR2(12),
    Home VARCHAR2(12),
    Business VARCHAR2(12),
    Mobile VARCHAR2(12),
    Fax VARCHAR2(12),
    Pager VARCHAR2(12)
    END Phone;
    CREATE OR REPLACE
    TYPE customer_type
    AS OBJECT (
    CustNo NUMBER,
    CustName VARCHAR2(30),
    PhoneNumber Phone.Phone_rectype
    This is the error that i get:
    Warning: Type created with compilation errors.
    Errors for TYPE CUSTOMER_TYPE:
    LINE/COL ERROR
    0/0 PL/SQL: Compilation unit analysis terminated
    5/15 PLS-00201: identifier 'PHONE.PHONE_RECTYPE' must be declared
    null

    That's a good point, Justin - thanks for the advice. At the moment, our process of data validation isn't very well defined, so the table definitions aren't always the same beyond a core set. As we get more automated and able to develop table definitions flexible enough to accomodate all the quirks in client data, I may be able to consider moving to a single schema to take advantage of maintenance and performance improvements. My ultimate concern with doing that is that the datasets we're dealing with can be tens of millions of rows in size. Clearly, I'm no DBA, but I just assumed that we would be able to churn through these datasets faster if they were in a schema by themselves rather than lumped together into one huge half-a-billion row table?

  • Can you set up automatic e:mail deletion schedules for various folders (i.e, trash, sent, etc.) on I Pad air? If so, how do you do it?

    can you set up automatic e:mail deletion schedules to remove old e:mails from various folders (i.e., inbox, sent, trash) on I Pad Air? If so, how do you do this?

    No.

  • How to call at PL/SQL package?

    Hi,
    How to call a PL/SQL package from withing a VORowImpl?
    Also what packages need to be imported for this?
    Thanks,
    AD

    Hi,
    Thanks for the replies friends.
    I understand this is not a good practice to call a pl/sql package. I tried as per the OAF standards.
    My requirement is to display the GL String in a region of type table. This is in iExpense and the region is (ReviewBusinessCCardTblRN.xml) i.e. the Review page in the Expense report creation steps.
    The data in this region is not coming directly from one VO. There are two VOs involved in it.
    1> BusinessCCardLinesForReviewVO
    2> ReceiptBasedLinesVO (This is the actual source of data and it contains a SQL statement)
    The "BusinessCCardLinesForReviewVORowImpl" calls methods in "ReceiptBasedLinesVORowImpl" to get all the data.
    So, my approach was to
    1> Extend "ReceiptBasedLinesVO" and add an attribute for the GL String in the SQL statement.
    2> Write a method in the "ReceiptBasedLinesVOExRowImpl" to fetch the GL String.
    3> Extend BusinessCCardLinesForReviewVO and add an attribute for the GL String.
    4> In the extended VO's (BusinessCCardLinesForReviewVOExRowImpl) row impl, call "ReceiptBasedLinesVOExRowImpl" GL String method.
    5> Then use "BusinessCCardLinesForReviewVO" GL string attribute to display in the region.
    Is there anything wrong with this approach?
    But, this does not seem to be working.
    Steps 3, 4, 5 are working as I tested with hard coded values in "BusinessCCardLinesForReviewVOExRowImpl".
    But when I call method in "ReceiptBasedLinesVOExRowImpl" to get the GL String, it does not working. No error returned. The page displays all the values as it was displaying in the standard functionality.
    As this is an urgent requirement, I thought of writting a PL/SQL function which would take CCID from "BusinessCCardLinesForReviewVO" and return the GL String.
    And call this PL/SQL funtion in "BusinessCCardLinesForReviewVOExRowImpl".
    Please help me on this.
    Srini: Could you please give the exact syntax for calling the PL/SQL stored function in VORowImpl.
    Thanks,
    AD

  • When to delete SQL Packages

    It's been a long time and I've forgotten: If a new cumulative fix pack is installed at the OS-level, do you need to delete SQL packages?
    Thanks in advance,
    Robert

    Hi Bob,
    YES !!!!!!
    (as soon as you install 1 PTF only, you should delete all SQL packs!)
    Regards
    Volker Gueldenpfennig, consolut international ag
    http://www.consolut.de - http://www.4soi.de - http://www.easymarketplace.de

Maybe you are looking for

  • Hyperlinks don't work, pause button on quicktime music doesn't work, help!

    Hi, This is my second time with I web, having created and maintained a site for 2 years I know a lot about the program. The thing that kills me with this program is that even when you think you do something right, there's a chance it just may not wor

  • 11gR2 Documentation library download

    Downloaded the 11gR2 documentation (E11882_01.zip) and instead of a 408 MB file it was 802 MB (841,193,244). Anyone else have this problem? Edited by: DragonLady on Apr 5, 2011 2:05 PM

  • I want to extend my network, but the TC name changes

    I went to extend my network with an express, but I have to set my TC to "allow this network to be extended". When I do that, the TC changes it name to "xxx (3)" or something (actually started to name itself (2), then restarted and changed. That would

  • Slow Wireless Connection... Fast cabled connections.

    I have an autonomous 1142N WAP connected to a 2960 and when I cable my laptop into the switch I get 15mb down and 8mb up through my Time Warner Internet.  When connected to the 1142 I get 5mb down and .9 up. My network is flat and very simple.  I am

  • Office 365 cmdlets using Powershell 4.0

    Hi Where is the forum for: 1. Office 365 cmdlets using Powershell 4.0 2.Exchange Online using Powershell 4.0 Thanks! - Andre Regards Andre Thompson