How to handle CIF before we try to apply Service Packages to SCM?

We have to apply service packages to SCM at PROD.
Could you tell us how to properly take care of CIF?   Thanks!

Hello Jennifer,
Steps :
check open transports - se03
clear transport buffer - stms
check update requests - sm13
check table tbatg
suspend batchjobs - report btctrns1
deactivate RFC-Destinations - sm59
make backup of scm
make backup of live-cache
this steps should be enough for SP-upgrade
Regards Thomas

Similar Messages

  • OSB - how to handle poll file error in FTP Proxy Service

    I configed a proxy service to poll file from a FTP server.
    How can I capture the error when the proxy service cannnot poll? (FTP server is down, folder not found, username invalid, etc )
    I want to make it show in the Operations >Message Reports table.

    It is not possible. Those errors will only be logged to logfile.
    Manoj

  • How to handle exeptions and authorization management in WEB SERVICES

    Hi all,
    Please send some documents or links on handling exceptions in web services and Authorization management also.
    Useful will be rewarded.
    Regards
    Neslin.

    i suggest to consult the documentation at help.sap.com, use the search function to the left or make your question more specific.
    regards, anton

  • How to handle the trigger sequence

    I really do not have any idea for this question.
    the trigger need to implement:      
    An employee can not work on more than 2 projects supervised by any given department.
    DEPARTMENT (dname, dnumber, mgrssn, mgrstartdate) KEY: dnumber.
    PROJECT (pname, pnumber, plocation, dnum)      KEY: pnumber.
    CREATE TABLE WORKS_ON
    ( ESSN VARCHAR2(9) NOT NULL,
      PNO NUMBER NOT NULL,
      HOURS NUMBER(3,1) NOT NULL,
    PRIMARY KEY (ESSN, PNO));
    DESC WORKS_ON;
    INSERT INTO WORKS_ON VALUES
    ('123456789',1,32.5);
    INSERT INTO WORKS_ON VALUES
    ('123456789',2 ,7.5);
    INSERT INTO WORKS_ON VALUES
    ('666884444',3 ,40.0);
    INSERT INTO WORKS_ON VALUES
    ('453453453',1 ,20.0);
    INSERT INTO WORKS_ON VALUES
    ('453453453',2,20.0);
    CREATE TABLE PROJECT
    (PNAME VARCHAR2(15) NOT NULL,
    PNUMBER NUMBER NOT NULL,
    PLOCATION VARCHAR2(15),
    DNUM NUMBER NOT NULL,
    PRIMARY KEY (PNUMBER), UNIQUE(PNAME));
    DESC PROJECT;
    INSERT INTO PROJECT VALUES(
    'ProjectX',1, 'Bellaire',5);
    INSERT INTO PROJECT VALUES(
    'ProjectY',2, 'Sugarland',5);
    INSERT INTO PROJECT VALUES(
    'ProjectZ',3,'Houston',5);
    INSERT INTO PROJECT VALUES(
    'Computerization',10,'Stafford',4);i create package and two trigger like following in order to avoid mutating table.
    PACKAGE                     "HW4AIDB" AS
    TYPE EmploadY IS RECORD(
         Empessn varchar2(9),
         Empprojectcount number,
         Empdepartcount number
    TYPE EmploadarrayY is table of EmploadY
                          index by BINARY_INTEGER;
    Empload EmploadarrayY;
    Emploadsize number;
    END;
    create or replace
    TRIGGER TPROJECTA AFTER INSERT OR UPDATE OR DELETE ON WORKS_ON
    DECLARE
    i number:=0;
    BEGIN
      HW4AIDB.Emploadsize :=0;
      for m in (select w.essn empessn,
      count(w.pno) empprojectcount, count(distinct p.dnum) empdepartcount
      from works_on w, project p
      where w.pno=p.pnumber
      group by w.essn)loop
      i :=i+1;
      HW4AIDB.Empload(i).Empessn := m.empessn;
      HW4AIDB.Empload(i).Empprojectcount := m.empprojectcount;
      HW4AIDB.Empload(i).Empdepartcount := m.empdepartcount;
      dbms_output.PUT_LINE('TPROJECTA '||' '||m.empessn||' '||m.empprojectcount||
                           ' '||m.empdepartcount);
      end loop;
      HW4AIDB.Emploadsize :=i;
      dbms_output.PUT_LINE('==================================');
    END;TRIGGER TSALARYB BEFORE INSERT OR UPDATE OR DELETE ON EMPLOYEE
    FOR EACH ROW
    DECLARE
    w HW4AID.EmploadX;
    i number;
    mypos number;
    BEGIN
    mypos :=-1;
    for i in 1..HW4AID.Emploadsize loop
    if(:new.ssn = HW4AID.Empload(i).Empssn) then
    w.Empmgrsalary := HW4AID.Empload(i).Empmgrsalary;
    w.Empsalary := HW4AID.Empload(i).Empsalary;
    mypos :=i;
    exit;
    end if;
    end loop;
    i :=mypos;
    dbms_output.put_line('NEW '||:new.ssn||'-'||:new.salary);
    if updating then
    dbms_output.put_line('updating......');
    if(:new.salary > w.Empmgrsalary) then
    raise_application_error(-20005,'the salary is higher than that of department manager');
    end if;
    dbms_output.PUT_LINE('update done');
    end if;
    END;
    i defined two trigger for AFTER, trigger run orders are acorrding to. before statement level, before row-level, after row level and after statement level.
    so my trigger actually can not implement requirement. how to handle it. now i try to use this rule: select w.essn, w.pno,p.pnumber, p.dnum from works_on w, project p where w.pno=p.pnumber; in statement level trigger. howerver in row-level trigger i can not get value i need(p.dnum i can not get its count). if you guy have any other ideas, pls give me some advise. my brain is really run out of.
    Thanks for your help!!!

    I would recommend creating a package/procedure that is the only way to insert a user into the works_on table. Then inside this procedure you need to serialize access to the works_on table by using a select for update. Then you can count the number of projects and ensure that the new works on is valid.
    If you try to use triggers then due to Oracle's mutli-versioning, if two users insert the same data at the same time, the data integrity will be violated.
    You will obviously have an employee table. I have created one here as follows:
    create table employee (essn varchar2(9) primary key);
    insert into employee values ('999999999');
    Then you can use this table to serialize access to the works_on table by issuing a select for update against it. If you don't do this then two users executing the procedure at the same time will violate the constraint. It is important that you understand this and try it out with multiple sessions so that you understand it.
    create or replace procedure insert_works_on
    (p_essn varchar2, p_pno number, p_hours number)
    as
    l_essn varchar2(9);
    l_count number;
    begin
    select essn
    into l_essn
    from employee
    where essn = p_essn
    for update;
    select count(*)
    into l_count
    from works_on w
    join project p on p.pnumber = w.pno
    where w.essn = p_essn
    and p.dnum = (select dnum
    from project
    where pnumber = p_pno);
    if l_count < 2
    then
    insert into works_on values (p_essn, p_pno, p_hours);
    else
    dbms_output.put_line('Employee works on more than 1 project for dept');
    end if;
    end;
    Then you can try it out:
    begin
    insert_works_on('999999999',1, 10);
    end;
    commit;
    begin
    insert_works_on('999999999',2, 20);
    end;
    commit;
    begin
    insert_works_on('999999999',3, 30);
    end;
    commit;
    The first two will succeed and the last will fail. Try it out in multiple session as well to ensure it works for a multi-user scenario.

  • Certain web sites try to open a tab for billing or other info. fire fix 3 worked fine , 4 & 5 bring up a box asking how to handle a aspx file and nothing will work. am running XP service pack 3. how do I reload 3 again?

    with firefox 3 everything works fine. with 4 and 5 when I try to complete billing info I get a question about how to handle aspx files. nothing works. all I get is a new tab with a blank screen, not data no nothing. When I loaded firefox 4 and had the problem I reinstalled 3 to solve it. I hoped when 5 came along it would include a fix, no such luck. I read many questions about AOL logon that is the same as my problem and have tried all the suggestions with no luck.

    What are you expecting when the aspx window comes up, a PDF or a regular web page?
    Here's the process to roll back:
    First, I recommend backing up your Firefox settings in case something goes wrong. See [https://support.mozilla.com/en-US/kb/Backing+up+your+information Backing up your information]. (You can copy your entire Firefox profile folder somewhere outside of the Mozilla folder.)
    Next, download and save Firefox 3.6 to your desktop for future installation. http://www.mozilla.com/firefox/all-older
    Close Firefox 5.
    You could install Firefox 3.6 over it (it usually worked with Firefox 4) or you could uninstall Firefox first. If you uninstall, do not remove your personal data and settings, just the program.
    Unless you have installed an incompatible add-on, Firefox 3.6 should pick up where you left off. If there are serious issues, please post back with details.
    Note: I haven't actually tried this myself!

  • Before upgrading my system from Snow Leopard to Mountain Lion I had taken a backup of iPhoto in my external drive. But now when I try to open that package, I'm directed to app store to buy new iPhoto. How can I retrieve my photos without buying iPhoto?

    Before upgrading my system from Snow Leopard to Mountain Lion I had taken a backup of iPhoto library in my external drive. But now when I try to open that package, I'm directed to app store to buy new iPhoto. Why would apple install iPhoto by default with Snow Leapord and make us import all our photos in it at the first place, and now ask for money if we want to retrieve our photos back on mountain lion? What if they make contacts a paid app with the next OS upgrade, and then bully us to pay money if we want our contacts? This is something very dissappointing on Apple's part. I need answers here.

    I fail to remember if the installer gave me an option to keep my applications.
    The Mountain Lion installer will not delete applications. It will only mark applications, that are not compatible with your current system with a "forbidden" sign in the icon. And you cannot launch them.
    Does your iPhoto icon in the Applications folder look like this?
    Then your iPhoto version is incompatible and cannot run with Mt. Lion. If it is iPhoto '11, with a versionnumber starting with 9.x.x., you can upgrade it by downloading a newer version from the Apple downloads site  http://support.apple.com/kb/DL1650.
    But if you have 8.x.x, you need to buy an upgrade.
    Regards
    Léonie

  • Hi,all.  Just bought the IPhone 5 and before I try to sync it I am wondering if I have an option to download my music only / my pictures only from ICloud?  Anyone have site that explains how? TY

    Hi, All.  I just bought a new IPhone 5 and before I try to sync it I am wondering if I will have an option to download only my Music / my pictures
    only from the Cloud?  Really only want to transfer my music.   Or does it just automatically load everything in the cloud?
    TY.

    Syncing and restoring from backup are two different things.

  • How to handle stored procedure response having multiple queries

    Hi Friends,
    While working in JDBC to RFC scenario,I faced an issue that my stored procedure is having multiple SQL queries in it. First Select and then update and again some select options.So,how to handle the response of the stored procedure. I read that while using sender JDBC
    " db.processDBSQLStatement=<SQL-Select-Statement>
    Either specify a valid SQL SELECT statement to select the data to be sent from the specified database, or specify an SQL EXECUTE statement to execute a stored procedure that contains exactly one SELECT statement  "
    So, please suggest me is there any other way to catch the output of the stored procedure.Because, if select statement is working fine but if any other quires fails then data inconsistencies can happen.Kindly help me out.
    Thanks and Regards,
    Nutan

    Hi nutan,
    >>Already exception is handled in SP.But,issue is that select will never fail so, sender adapter will get the resultset from select and continue process.But if later any other query fails in SP adpter wont be getting any response.
    Along with exception you need to handle the case when some other query fails. A SP is like a procedure which will do a certain list of activities before providing the output. So during this activity if some query fail then you can send back the response with a message!!!! And in XI handle this error (by routing it to some error receiver etc)
    >>I need to try something like creating a temporary table and inserting the resultset of slect statement in that. and perform all other operations and after successful completion of all the queries.Again i want to get all the values from the temporary table. So,whether I can write such query in the sender communication channel.Please suggest me for this.
    Approach looks ok, but think of the delay for JDBC sender adapter. IT will invoke your SP and will wait for it to fill a table and do all the processing. I guess this may become a issue for you.
    Check on the frequency of this interface and message size before taking this design approach
    Regards
    Suraj

  • How to handle Pre-requistes in AppV?

    Hi All,
    How to handle Pre-requisites in Application Virtualization?
    I know that we need to install all the pre-requisites in Sequencer Machine before starting sequencer & then the same pre-requisites should be available in Client. I know that we can use AppV Connection Groups to handle pre-requisites.
    When to use AppV Connection Groups & when to use normal installation of pre-requisites in sequencer & Client Machines?
    I want to document this in Standards Document & I want to know what should I mention Under How to handle Dependencies?
    Whether the dependencies are of Thick Install Or Virtual Applications
    Thanks in advance..

    That's really up to you, what's your expectation, what's your customers expectation.
    Personally, if I have an application with a pre-requisite that I know only applies to that application e.g. A runtime with the name of my application in it, I will include that in the one package with my app. If I have a pre-requisite which is likely to
    be required by multiple applications, I try to determine how many and what apps before decided what to do with it.
    If I have an app which requires, say the latest version of Java and I know that I'm putting that app locally as part of my build. I will keep that Java local too. But that's just my preference...
    PLEASE MARK ANY ANSWERS TO HELP OTHERS Blog:
    rorymon.com Twitter: @Rorymon

  • How to handle  authroziation levels in LSMW.

    Hi,
      How to handle authorization levels in LSMW. Please explain me step by step process.
    Thanks
    Nagendra

    Hi,
    U can try to call the LSMW object from a report program and there u can try to check the authorization for the LSMW object...
    Type pools
    TYPE-POOLS: tumls. " LSM Workbench: Type-Pool
    Data declaration
    DATA: project  TYPE  tumls_project,    " Project
          subproj  TYPE  tumls_subproj,    " Subproject
          object   TYPE  tumls_objectnew.  " Object
    START-OF-SELECTION.
    Store project
      project = 'TPISP - DC'.
    Store subproject
      subproj = 'VARIANT_MAT'.
    Store object
      object  = '6GSC022_TS3'.
    << Put ur authorization check here..
    Call the function module to display object (LSMW) maintenance screen
      CALL FUNCTION '/SAPDMC/LSM_OBJ_STARTER'
        EXPORTING
          project        = project
          subproj        = subproj
          object         = object
        EXCEPTIONS
          no_such_object = 1
          OTHERS         = 2.
    Basically from LSMWu2019s initial screen whenever you press enter or continue button it calls the FM  /SAPDMC/LSM_OBJ_STARTER and there is no authorisation check prior to do this, only LSMW checks for authorisation when you press Administration from GOTO menu using the FM  /SAPDMC/LSM_AUTHORIZATN_CHECK. That means any body can access any object and can do any unwanted change. And it is really hard to track the changes as LSMW does not have any inbuilt version management. So to avoid this before calling the FM we can do the authorisation check based on certain conditions (not necessary to do authority check, but can be achieved by maintaining parameter ID in the user profile or through maintaining custom table) and by this way we can restrict unwanted user access.
    Regards,
    Joy.

  • Don't know how to handle this relationship

    I am a college student and am having a hard time wrapping my head around the database I have to work with for a project. The project entails implementing an auto parts application. I have not encountered a relationship like this before. I have linked to a document I made to describe the table. It can be found here: http://91.121.116.152/graph.pdf. There are basically 4 tables in the database. There is 1 table for all the automakers. (MAKER). Then, there are many tables in the form of APL___ where ___ is a column for the MAKER Table. The APL tables contain all the different models and links to the different parts. The column RLINK references RADCRX which contains 16 different columns. Each set of 4 columns contains part numbers that link to a RAD___ (where ___ is a 3 letter abbr for a vendor).
    I've done my best to explain it in English, but I think the document may help. Naturally the assignment is to find parts for a specified car. My problem is how do I do this as effciently as possible? I don't know how to handle a relationship where column name points to a table name, not a column in the table. It could be done with a very long join such as
    SELECT * FROM RADMOD, RADCRX WHERE RADCRX.MOD1=RADMOD.P_NUMBER
    or so on for each column in RADCRX. This doesn't seem right. I thought about doing joins on the tables, but I don't know how to do it. The DB as about 20K records. Does anyone have any insight?

    Try the ff solution if it works:
    1.)Create a union view for APL_ _ _
    create or replace view v_APL_ALL as
    select a.*,'CHE' m_code from APLCHE a
    union all
    select b.*,'TOY' m_code from APLTOY b
    union all
    select b.*,'HON' m_code from APLHON b
    union all
    select c.*,'MIT' m_code from APLMIT c
    2.)Create a view for v_APL_ALL and MAKER
    create or replace view v_APL_ALL_MAKER as
    select a.*,b.M_NUMBER,b.MAKER
    from v_APL_ALL a,MAKER b
    where a.m_code=b.m_code
    3.)Create view for RAD_ _ _
    create or replace view v_RAD_ALL as
    select a.*,'ARS' VENDOR_CODE from RADARS a
    union all
    select b.*,'MOD' VENDOR_CODE from RADMOD b
    union all
    select c.*,'BEH' VENDOR_CODE from RADBEH c
    union all
    select c.*,'DAN' VENDOR_CODE from RADDAN c
    4.) Create a view for v_RAD_ALL and VENDOR
    create or replace view v_RAD_ALL_VENDOR as
    select a.*,b.M_NUMBER,b.MAKER
    from v_RAD_ALL a,VENDOR b
    where a.VENDOR_CODE=b.VENDOR_CODE
    You can now join them & query it.
    Regards,
    Benjie

  • How to Handle ArrayIndexBoundException

    Hi
    How to Handle ArrayIndexBoundException in my code.
    Though it is Unchecked Excption.

    Hi
    How to Handle ArrayIndexBoundException in my code.
    Though it is Unchecked Excption.By checking your indexing before it gets to the VM.
    It's called: Proper usage of "conditional" statements, you know, like an "if" statement?
    if (index >= myArray.length)
    // don't try to access myArray[index] here
    else
    // safe! (assuming index is also >= 0)
    }

  • How to handle Thread synchronization

    Hi guys,
    already i have posted the question for this problem.
    but there i didn't explain properly.
    so, just bare with my explanation and give me solution.
    i am doing with Swings,
    I have,
    Master class ( having main())
    |
    |
    |
    V
    Sub Class-------> calling a thread class
    here the child class will throw a msgbox after its completion of execution to the sub-class interface.
    the code in the sub-class should continue only after the complete execution of the child thread, i.e after it got the msgbox thrown by child thread.
    say, on the 100th line of sub-class file we are calling the child thread, then the 101st line should not get executed before the child thread has executed completely.
    in my case it is getting executed.
    how to handle the situation.
    thanx in advance.
    --subbu                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    Hi, thank you for your reply.
    I am NOT creating a JVM in my C/C++ application.
    The problem is when I call __declspec( thread ), the system crash.
    Your suggestion is if I call from java to C++, for example, send data to C++, I do NOT need handle the thread whatever the C++ use thread and Socket.
    You are right. The C++ code works well in VC++ environment. And the JNI code works well to call simple C++ code (testing).
    I handle exception in Java side. That means I use try .. catch.. block to handle native method. But you mean I need check error and exception in C++ side ?
    For example
    jint err = env->MonitorEnter(obj);
    if (err)
         //todo
    else
    // todo
    I will handle it in the real code.
    I appreciate your suggestion.
    Have a good day
    anne

  • How to handle exception CX_SY_REF_IS_INITIAL

    hi experts,
    im working on a test scenario for abap mapping in SAP XI im getting this error
    An exception with the type CX_SY_REF_IS_INITIAL occurred, but was neither handled locally, nor declared in a RAISING clause Dereferencing of the NULL reference
    i understand that i need to catch this exception in the abap coding but i'm not familiar with oops concepts
    can any one please suggest me how to handle this exception for the following code...
    method IF_MAPPING~EXECUTE.
      break x1149.
    * initialize iXML
      TYPE-POOLS: ixml.
      class cl_ixml definition load.
    ** Instances & Variable declaration =======================
    * instance main factory
      TYPES: BEGIN OF t_xml_line,
              data(256) TYPE x,
            END OF t_xml_line.
      DATA: l_ixml TYPE REF TO if_ixml,
    * instance input stream factory
       l_streamfactory TYPE REF TO if_ixml_stream_factory,
    * instance input stream
      l_istream  TYPE REF TO if_ixml_istream,
    * instance input document
      l_document TYPE REF TO if_ixml_document,
    * instance parse input document
      l_parser TYPE REF TO if_ixml_parser,
    * instance for elements within the nodes
      node      TYPE REF TO if_ixml_node,
    *instance of nodemap
      nodemap   TYPE REF TO if_ixml_named_node_map,
    * instance for iterator
      iterator  TYPE REF TO if_ixml_node_iterator,
      name      TYPE string,
      value     TYPE string,
    * instance main factory
       o_ixml   TYPE REF TO if_ixml,
    * instance output document
       o_document TYPE REF TO if_ixml_document,
    * instance output stream
      o_istream  TYPE REF TO if_ixml_ostream,
    * instance parse output document
      o_parser  TYPE REF TO if_ixml_parser,
    * instance fot renderer
      renderer type ref to if_ixml_renderer,
      irc type i,
      l_xml_size   TYPE i,
    *ROOT ELEMENT
    l_element_MT_DEMANDTEC_COST TYPE REF TO if_ixml_element,
    *NEXT CHILD ELEMENT FROM THE ABOVE PARENT
    l_element_DT_DEMANDTEC TYPE REF TO if_ixml_element,
    *CHILDREN1 ELEMENT FOR DT_DEMANDTEC
    l_element_DT_WHSE  TYPE REF TO if_ixml_element,
    *CHILDREN2 ELEMENT FOR DT_DEMANDTEC
    l_element_DT_DC    TYPE REF TO if_ixml_element,
    *CHILDREN3 ELEMENT FOR DT_DEMANDTEC
    l_element_DT_PLANT    TYPE REF TO if_ixml_element,
    *CHILDREN4 ELEMENT FOR DT_DEMANDTEC
    l_element_DT_QTY    TYPE REF TO if_ixml_element.
    *saving the xml document
      DATA: l_xml_table       TYPE TABLE OF t_xml_line.
      types: begin of t_source,
              whse(5),
              dc(4) ,
              plant(4),
              qty    type i,
             end of t_source.
      types: tt_source TYPE STANDARD TABLE OF t_source.
      data:  wa_source type t_source.
      data: it_source TYPE  tt_source,
            ivalue type string.
    * Procedures and business logic =======================================
    *   Creating the main iXML factory
      l_ixml = cl_ixml=>create( ).
    *   Creating a stream factory
      l_streamfactory = l_ixml->create_stream_factory( ).
    * create input stream
      l_istream = l_streamfactory->create_istream_xstring( source ).
    *  initialize input document
      l_document = l_ixml->create_document( ).
    *  Create a Parser
      l_parser = l_ixml->create_parser( stream_factory = l_streamfactory
                                          istream        = l_istream
                                          document       = l_document ).
    * parse input document
      l_parser->parse( ).
    *   Validate a document
      l_parser->set_validating( mode = if_ixml_parser=>co_validate ).
    *   Parse the stream
      IF l_parser->parse( ) NE 0.
        IF l_parser->num_errors( ) NE 0.
          DATA: parseerror TYPE REF TO if_ixml_parse_error,
                str        TYPE string,
                i          TYPE i,
                count      TYPE i,
                index      TYPE i.
          count = l_parser->num_errors( ).
          WRITE: count, ' parse errors have occured:'.
          index = 0.
          WHILE index < count.
            parseerror = l_parser->get_error( index = index ).
            i = parseerror->get_line( ).
            WRITE: 'line: ', i.
            i = parseerror->get_column( ).
            WRITE: 'column: ', i.
            str = parseerror->get_reason( ).
            WRITE: str.
            index = index + 1.
          ENDWHILE.
        ENDIF.
      ENDIF.
    *   Process the document
      IF l_parser->is_dom_generating( ) EQ 'X'.
        refresh : it_source.
        node ?= l_document.
        CHECK NOT node IS INITIAL.
    *   create a node iterator
        iterator  = node->create_iterator( ).
    *   get current node
        node = iterator->get_next( ).
    *   loop over all nodes
        WHILE NOT node IS INITIAL.
          CASE node->get_type( ).
            WHEN if_ixml_node=>co_node_element.
    *         element node
              name    = node->get_name( ).
              nodemap = node->get_attributes( ).
            WHEN if_ixml_node=>co_node_text.
    *         text node
              value  = node->get_value( ).
              if name eq 'DT_WHSE'.
                wa_source-whse = value.
              ELSEIF name eq 'DT_DC'.
                wa_source-DC = value.
              ELSEIF name eq 'DT_PLANT'.
                wa_source-PLANT = value.
              ELSEIF name eq 'DT_QTY'.
                wa_source-QTY = value.
                COLLECT wa_source INto it_source.
                CLEAR   wa_source.
              ENDIF.
          endcase.
          node = iterator->get_next( ).
        endwhile.
      ENDIF.
      loop at it_source into wa_source .
        at first.
    *       Creating a ixml factory
          o_ixml = cl_ixml=>create( ).
    *       Creating the dom object model
          o_document = l_ixml->create_document( ).
        endat.
    *       Build and Fill  root node MT_DEMANDTEC_COST
        AT FIRST.
          l_element_MT_DEMANDTEC_COST    =
    O_document->create_simple_element(
                                  name   = 'MT_DEMANDTEC_COST'
                                  parent = o_document ).
        ENDAT.
    *      Build and Fill  Child node DT_DEMANDTEC for parent
    *                                                  MT_DEMANDTEC_COST
        l_element_DT_DEMANDTEC    = O_document->create_simple_element(
                                     name   = 'DT_DEMANDTEC'
                                     parent = l_element_MT_DEMANDTEC_COST ).
    *      Build and Fill  Child node1 DT_WHSE for parent DT_DEMANDTEC
        ivalue              = wa_source-WHSE.
        l_element_DT_WHSE    = O_document->create_simple_element(
                                         name   = 'DT_WHSE'
                                         VALUE  = ivalue
                                         parent = l_element_DT_DEMANDTEC  ).
    *      Build and Fill  Child node2 DT_WHSE for parent DT_DEMANDTEC
        ivalue              = wa_source-DC.
        l_element_DT_DC   = O_document->create_simple_element(
                                             name   = 'DT_DC'
                                              VALUE  = ivalue
                                    parent = l_element_DT_DEMANDTEC ).
    *      Build and Fill  Child node3 DT_WHSE for parent DT_DEMANDTEC
        ivalue              = wa_source-PLANT.
        l_element_DT_PLANT   = O_document->create_simple_element(
                                                 name   = 'DT_PLANT'
                                                  VALUE  = ivalue
                                   parent = l_element_DT_DEMANDTEC  ).
    *      Build and Fill  Child node4 DT_QTY for parent DT_DEMANDTEC
        ivalue              = wa_source-QTY.
        l_element_DT_QTY     = O_document->create_simple_element(
                                                 name   = 'DT_QTY'
                                                  VALUE  = ivalue
                                   parent = l_element_DT_DEMANDTEC  ).
      endloop.
    * render document ======================================================
    * create output stream
      o_istream  = l_streamfactory->create_ostream_xstring( result ).
    *   Connect internal XML table to stream factory
      o_istream  = l_streamfactory->create_ostream_itable( table =
    l_xml_table ).
      renderer = o_ixml->create_renderer( ostream = o_istream
                                              document = o_document ).
      irc = renderer->render( ).
    * how do i catch the exception for type CX_SY_REF_IS_INITIAL ...?
    endmethod.
    full reward points for answers.
    Thanks & Regards,
    Uday Kumar.
    Edited by: UDAY on May 6, 2008 9:32 PM

    Hi Uday,
    Its occurs because you're trying to access a objects with null reference. Or you forgot to create an instance or an error occurs during the instance creation. So You should put all your "Procedures and business logic" inside a Try/catch block. as follow.
    " Define a class exception object to get error message......
    DATA o_exception TYPE REF TO cx_sy_ref_is_initial.
    "// Use the statment Try block to catch the error.
    TRY.
    *   Creating the main iXML factory
      l_ixml = cl_ixml=>create( ).
    *   Creating a stream factory
      l_streamfactory = l_ixml->create_stream_factory( ).
    * create input stream
      l_istream = l_streamfactory->create_istream_xstring( source ).
    *  initialize input document
      l_document = l_ixml->create_document( ).
    *  Create a Parser
      l_parser = l_ixml->create_parser( stream_factory = l_streamfactory
                                          istream        = l_istream
                                          document       = l_document ).
    * parse input document
      l_parser->parse( ).
    *   Validate a document
      l_parser->set_validating( mode = if_ixml_parser=>co_validate ).
    *   Parse the stream
      IF l_parser->parse( ) NE 0.
        IF l_parser->num_errors( ) NE 0.
          DATA: parseerror TYPE REF TO if_ixml_parse_error,
                str        TYPE string,
                i          TYPE i,
                count      TYPE i,
                index      TYPE i.
          count = l_parser->num_errors( ).
          WRITE: count, ' parse errors have occured:'.
          index = 0.
          WHILE index < count.
            parseerror = l_parser->get_error( index = index ).
            i = parseerror->get_line( ).
            WRITE: 'line: ', i.
            i = parseerror->get_column( ).
            WRITE: 'column: ', i.
            str = parseerror->get_reason( ).
            WRITE: str.
            index = index + 1.
          ENDWHILE.
        ENDIF.
      ENDIF.
    *   Process the document
      IF l_parser->is_dom_generating( ) EQ 'X'.
        refresh : it_source.
        node ?= l_document.
        CHECK NOT node IS INITIAL.
    *   create a node iterator
        iterator  = node->create_iterator( ).
    *   get current node
        node = iterator->get_next( ).
    *   loop over all nodes
        WHILE NOT node IS INITIAL.
          CASE node->get_type( ).
            WHEN if_ixml_node=>co_node_element.
    *         element node
              name    = node->get_name( ).
              nodemap = node->get_attributes( ).
            WHEN if_ixml_node=>co_node_text.
    *         text node
              value  = node->get_value( ).
              if name eq 'DT_WHSE'.
                wa_source-whse = value.
              ELSEIF name eq 'DT_DC'.
                wa_source-DC = value.
              ELSEIF name eq 'DT_PLANT'.
                wa_source-PLANT = value.
              ELSEIF name eq 'DT_QTY'.
                wa_source-QTY = value.
                COLLECT wa_source INto it_source.
                CLEAR   wa_source.
              ENDIF.
          endcase.
          node = iterator->get_next( ).
        endwhile.
      ENDIF.
      loop at it_source into wa_source .
        at first.
    *       Creating a ixml factory
          o_ixml = cl_ixml=>create( ).
    *       Creating the dom object model
          o_document = l_ixml->create_document( ).
        endat.
    *       Build and Fill  root node MT_DEMANDTEC_COST
        AT FIRST.
          l_element_MT_DEMANDTEC_COST    =
    O_document->create_simple_element(
                                  name   = 'MT_DEMANDTEC_COST'
                                  parent = o_document ).
        ENDAT.
    *      Build and Fill  Child node DT_DEMANDTEC for parent
    *                                                  MT_DEMANDTEC_COST
        l_element_DT_DEMANDTEC    = O_document->create_simple_element(
                                     name   = 'DT_DEMANDTEC'
                                     parent = l_element_MT_DEMANDTEC_COST ).
    *      Build and Fill  Child node1 DT_WHSE for parent DT_DEMANDTEC
        ivalue              = wa_source-WHSE.
        l_element_DT_WHSE    = O_document->create_simple_element(
                                         name   = 'DT_WHSE'
                                         VALUE  = ivalue
                                         parent = l_element_DT_DEMANDTEC  ).
    *      Build and Fill  Child node2 DT_WHSE for parent DT_DEMANDTEC
        ivalue              = wa_source-DC.
        l_element_DT_DC   = O_document->create_simple_element(
                                             name   = 'DT_DC'
                                              VALUE  = ivalue
                                    parent = l_element_DT_DEMANDTEC ).
    *      Build and Fill  Child node3 DT_WHSE for parent DT_DEMANDTEC
        ivalue              = wa_source-PLANT.
        l_element_DT_PLANT   = O_document->create_simple_element(
                                                 name   = 'DT_PLANT'
                                                  VALUE  = ivalue
                                   parent = l_element_DT_DEMANDTEC  ).
    *      Build and Fill  Child node4 DT_QTY for parent DT_DEMANDTEC
        ivalue              = wa_source-QTY.
        l_element_DT_QTY     = O_document->create_simple_element(
                                                 name   = 'DT_QTY'
                                                  VALUE  = ivalue
                                   parent = l_element_DT_DEMANDTEC  ).
      endloop.
    * render document ======================================================
    * create output stream
      o_istream  = l_streamfactory->create_ostream_xstring( result ).
    *   Connect internal XML table to stream factory
      o_istream  = l_streamfactory->create_ostream_itable( table =
    l_xml_table ).
      renderer = o_ixml->create_renderer( ostream = o_istream
                                              document = o_document ).
      irc = renderer->render( ).
    "   The Statement CATCH define a block that catches the exceptions of the
    "   exception class cx_sy_ref_is_initial
        CATCH cx_sy_ref_is_initial INTO o_exception.
    " If you need to get the error message text do as follow
    DATA errorMsg type string.
    " Get the message text
      errorMsg = o_exception->GET_TEXT( ).
    " Display the error information
      MESSAGE errorMsg TYPE 'I'.
      ENDTRY.
    The TRY block defines a guarded area whose class-based exceptions can be caught in the subsequent CATCH blocks. If no exception occurs in the TRY block and it reaches its end, the system continues the processing after ENDTRY. If a class-based exception occurs in the TRY block, the system searches for an exception handler in the same or an external TRY control structure.
    Font: SAP Help
    You can see a how to create and use an exception in this example [ ABAP Objects - Defining a Class-based exceptions|https://wiki.sdn.sap.com/wiki/x/19w] .
    Best Regards.
    Marcelo Ramos

  • Thoughts on how LabVIEW handles checkout of file from SCC when file already open

    When you already have a file/project open in LabVIEW and it is set to read only because you haven't checked it out, you can go into SCC and do a checkout then save the file immediately. The issue with this is, if your local copy doesn't match the copy in SCC, you will probably be overwriting changes. Sometimes this is convenient because if you have ever edited a MS Word file and then gone to save and it won't let you because it was opened as read-only...then that sucks because you either lose your work, or have to do a copy of the entire word file->close the program->re-open as writable, then paste. This can be avoided with the "LabVIEW way", but the "MS Word" way seems much safer because it forces you to conscioiusly make the file writable (by either checking it out or manually write clicking and changing to writable) BEFORE opening it. I just wanted people's opinions on how LabVIEW handles this, and if there would be a better way.
    CLA, LabVIEW Versions 2010-2013

    VSS 
    CLA, LabVIEW Versions 2010-2013

Maybe you are looking for

  • Select-string and eliminate the file name of searched file

    Is there a way with the select-string command to exclude the file name of the file you are searching and still get the line items that match your results?  Similar to the DOS find command results.  I am trying to become completely independent of a DO

  • What is best devl environment

    Hi All I inherited a punch of code in an ear file. The ear file contains many jar files (each handles some modules) and 1 war file The users currently run the ear file in a Geronimo server I don't have Geronimo for development but I use eclipse and T

  • Disable ctrl+shift+s of browser plugin

    Hi, I have an pdf document which opens in a popup window. I dont want it to be saved to user system. I know that first this file will download to cache and this can not be prevented. Its okey. I have hidden the brower file bar and acrobat reader's sa

  • Downloaded new Foxfire update and now unable to get the tv or movie guide.

    downloaded new Firefox update and I am now unable to get any of the sites located under the entertainment banner. Why?

  • IDVD closes unexpectedly when I click the audio button

    I have had the most horrible time using this new iDVD software to burn a picture CD. I have chosen to use the Magic DVD option and I am thrilled aout the outcome but everytime I click on the add audio button the program instantly closes and all of my