Will DTP's take place in process chains

Hi,
Any one tell me that DTP's will take place in process chains,if yes how.In which situations DTP'S,transformations & datasources will come.Please tell me with suitable examples.
THANK YOU,
SEKHAR..

Hi,
Datasource :
The data source is PSA where the data from source system come and sit in the first place. usually the data is not
transformed in any means while coming to PSA. that means we are getting the data replicated from source system in to PSA.
Transformation :
Transformation is the set of rules that connects PSA and Data target (either DSO or CUBE).
This set of rules are designed so as to transform data based on requirement. for example from source we get grade as A,B and C. we need to load cost based on the grade. this can be achived using transformations. we can use a formula or simple abap program to achieve this.
DTP:
DTPs trigger the dataload from source to target. when transformation acts as a bridge between source and target, DTP selects the data that needs to move through the bridge.
DTP helps in selecting data using option full or delta and also using selection conditions.
So DTP is used to select data and acts as trigger to push data from source to target.
In process chains, we use infopackage to fetch data from source to PSA(datasource)
after that we run the dtp to push data from psa to target. So the answer for your question is yes we can use DTP in the Process chain.
Hope this clarifies your doubt..
Thanks and Regards,
Srinath

Similar Messages

  • What SRM config changes will need to take place with a change to Plant

    Hi
    Please could you tell me What SRM config changes will need to take place with a change to Plant, Co Code, Purchasing Org, Purchasing Group,
    Cheers
    B

    Yes Disha loads more questions,
    is it simply a GET_LOCATIONS_ that I need to run once all the new plants have been created in R3 or do i need to create the plants in SRM?
    With one Purch org to one co code to one plant how will this effect the workflow start conditions
    How will the be differnt to a on Purchasing Org to many co codes to many plants?
    Any thing else you think that I might need to do with this change
    Thanks
    B

  • DTP failure which was in process chain after transport

    Hi,
    I created a DTP in Development Server and it get transported to QA successfully.
    I also created a Prcocess Chain that execute that DTP. When I tried to transport this Process Chain to QA, transport was sucess but when i check in QA process chain was not in active mode. its showing the error that DTP is not in active A version.
    Error:Process variant DTP_LOAD DTP_4AEIYC0UV528F7W1JL587E7HR does not exist in version A
    I checked the DTP in QA and I noticed that the DTP has been converted to a different technical name which is not the same as the one I transported from Development.
    Example: DTP DTP_LOAD DTP_4AEIYC0UV528F7W1JL587E7HR in Dev is converted to DTP_4AN4TVDRYNSMT95UGI48JVC6J in QA.
    Please advise how I can  transport the Process Chain that call this DTP from dev to QA

    Hi Sri,
       You need to collect your  DTP along with the Process chain in the same request. When you migrate DTPs from DEV to QA , a new DTP ID are generated in QA system and your DTP in the Process chain points to DEV's DTP and that is why you get this error. You can also find more information when you turn on the " Detail View On" from the menu. This will display technical name of all the objects in your process chain.
    so recollect your DTPs and the process chains objects in the same transport request and migrated to QA ,this will Fix you issue.
    Hope it helps,
    Cheers,
    Balaji

  • Save a csv file on local host, executing a DTP Open hub in a Process chain?

    Hi All,
    my client has asked me to try if there is a way to save in the local host c:\  a .CSV file generated from an Open HUB executed by a DTP in a Process chain.
    when i execute my DTP it work correctly and it save the .csv file on my c:\ directory.
    my client doesn't want to give th users authtorization on RSA1 and want to try if there is a way to put the DTP in a process chain
    and when executing the process chain every user can have the file on his own local c:\ directory.
    i tried this solution but it doesn't work i get an error on executin the process chain:
    Runtime Errors         OBJECTS_OBJREF_NOT_ASSIGNED
    Except.                     CX_SY_REF_IS_INITIAL
    Error analysis
        An exception occurred that is explained in detail below.
        The exception, which is assigned to class 'CX_SY_REF_IS_INITIAL', was not
         caught in
        procedure "FILE_DELETE" "(METHOD)", nor was it propagated by a RAISING clause.
        Since the caller of the procedure could not have anticipated that the
        exception would occur, the current program is terminated.
        The reason for the exception is:
        You attempted to use a 'NULL' object reference (points to 'nothing')
        access a component (variable: "CL_GUI_FRONTEND_SERVICES=>HANDLE").
        An object reference must point to an object (an instance of a class)
        before it can be used to access components.
        Either the reference was never set or it was set to 'NULL' using the
        CLEAR statement.
    can you give some advices please?
    Thanks for All
    Bilal

    Hi Bilal,
    Unfortunately, DTPs belonging to Open Hubs wich are targeted to a local workstation file, can't be executed through a process chain. 
    The only way of including such DTP in a process chain is changing the Open Hub so that it writes the output file in the application server.  Then, you can retrieve the file -through FTP or any other means- from the application server to the local workstation.
    Hope this helps.
    King regards,
    Maximiliano

  • Process Chain - How to make decision based on data in PSA and execute DTP

    Need to create process in Process Chain, which will execute the DTP based on data in PSA.
    Say we have two DSO A & B, both getting data from same datasource.
    In process chain, we need to read data in one of the date field in PSA and make a decision, which DTP to get execute in process chain.
    Say if date field contains year = 2000, than load to DSO A, if year is 2001, load data to DSO B.
    Suggest the solution. ...

    Hi,
    Tyr this steps.
    1) Develop ABAP process types
    ABAP report to read PSA data using function module
    Trigger events based on year
                           event1 -> for even year data
                           event2 -> for add year data
    2) Develop local process chains for each DTPs and schdule it with events mentioned above.
    Do reply with comments.

  • Change of DTP tech name in transport causes error in Process chain

    Hello people,
    This message was posted before and I do not think there was an answer.  I hope I have better luck.
    When we transport DTP and process chain, the DTP tech name is changed in the target system while the DTP specified in the transported process chain remains as the source system.  This causes an error in the process chain in the target system because it cannot recognise the DTP specified in it.  To rectify it, I modify the process chain in the target system to point to the DTP with the new tech name.  Is there another way such that I do not need to modify the target system.
    I am currently trying to find an answer and I will share if I find one.  Thanks.
    HWS

    Hello again,
    My problem is resolved.  I am in SP17 and I applied a few SP18 notes:
    0001002791
    0001077030
    0001139653
    0001147587
    0001147766
    I then re-transport the request with the DTP and process chain.  The expected result is the dtp in the process chain should be pointing to the new dtp.  CHeers.
    HWS
    Edited by: Ho Wei Siong on Aug 14, 2008 3:35 PM

  • BI Process Chain - Error DTP

    Hi Friends
    I have a Question regarding executing error DTP.
    We are going live next month. In a metachain we are loading 3 master data process chains and one transaction data process chain and the meta chain is a daily load.
    There are duplicate records in the error stack which ended the process chain with errors and also failed the next day load as the duplicate records in the error stack were not fixed. And its a daily master data load triggered in one of the process chain.
    I had fixed the records in error stack and enabled handle duplicate records setting in error DTP and tried to save it.
    It prompted a message
         "Note, for time-dependent data the source field
          containing DATETO information must not be selected
          in the semantic DTP key."
    [do i need to change the handle duplicate record setting for the main DTP also?]  I need to execute this error DTP and it should execute the remaining pending/cancelled processes in that process chain.
    It should not trigger further loads of the process chains following this process chain even if I manually execute the error DTP. Because the following process chains were successful as there were no dependencies between the process chains.
    even though i guess sometimes it happens that it triggers further loads in the process chains for some reason which are not dependent.
    Good answers will be definitely rewarded.
    Thanks
    Lavanya...

    Hi,
    This is an information message. Go ahead and enable the duplicate key handling flag and then execute the error DTP.
    That should load the data successfully.
    Cheers,
    Kedar

  • Multiple DTP's in single process chain

    Hello BW guru's
    can we have many DTP's in a single process chain? If so, how can we do that?

    Krishna,
    You can have multipl DTP's in single process chain.
    Assume a scenario where you need to update from DSO to Multiple targets.
    If you want to run the DTP one after another use AND
    otherwise drag and drop the DTP and link it...
    Cheer's
    HVR.

  • Process chain problem...., its urgent

    Hi all
    in my process chain we are loading 4 loads into ODS. After 3 loads, 4th load didn't take place. its not yet started even 3rd one successfully ran. its not showing error also. what can i do. after 4th one ODS activation process is there.
    Please advice me. will i go for manual loading. if i do manual, what abt activation after 4th load. will i do activation also manual or else it will trigger automatically as part of process chain........../
    Advice me frnds..., its urgent
    Regards
    swetha

    Hi Swetha,
    Sometimes, it doesn't help to just set a request to green status in order to run the process chain from that step on to the end.
    You need to set the failed request/step to green in the database as well as you need to raise the event that will force the process chain to run to the end from the next request/step on.
    Therefore you need to open the messages of a failed step by right clicking on it and selecting 'display messages'.
    In the opened popup click on the tab 'Chain'.
    In a parallel session goto transaction se16 for table rspcprocesslog and display the entries with the following selections:
    1. copy the variant from the popup to the variante of table rspcprocesslog
    2. copy the instance from the popup to the instance of table rspcprocesslog
    3. copy the start date from the popup to the batchdate of table rspcprocesslog
    Press F8 to display the entries of table rspcprocesslog.
    Now open another session and goto transaction se37. Enter RSPC_PROCESS_FINISH as the name of the function module and run the fm in test mode.
    Now copy the entries of table rspcprocesslog to the input parameters of the function module like described as follows:
    1. rspcprocesslog-log_id -> i_logid
    2. rspcprocesslog-type -> i_type
    3. rspcprocesslog-variante -> i_variant
    4. rspcprocesslog-instance -> i_instance
    5. enter 'G' for parameter i_state (sets the status to green).
    Now press F8 to run the fm.
    Now the actual process will be set to green and the following process in the chain will be started and the chain can run to the end.
    Of course you can also set the state of a specific step in the chain to any other possible value like 'R' = ended with errors, 'F' = finished, 'X' = cancelled ....
    Check out the value help on field rspcprocesslog-state in transaction se16 for the possible values.
    Try this solution with your 3rd ODS..hope this will solve your problem for this instance. This is just a workaround.
    Before next scheduel of the process chain..remove the link between 3rd ODS and 4th ODS and then reconnect once again and activate the process chain and schedule it as per your schedule cycle. From next upload onwards everything works fine.
    Assign points if it is helpful.
    Regards,
    Sreedhar

  • Process chain and Control M

    Hi Gurus
    We are designing process chain for our BW solution.
    We have identified the dependancies of various loads which includes flat file loads and loads from R/3.
    Now we would like to control ERP and BW jobs by Control M .
    I have the following questions:
    1. Which portion of BW process chain do we need to plug in to Control M. ? Do we need to connect the Meta chain to control M or different process chains to Control M?
    2.When we create Process chain for BW, what is the best practice? Is it good to create small chains and connect them via Meta chain? or we have to create small chains only?
    3. Can we include R/3 extraction Jobs and V3 Jobs in our BW process chain? so that they will trigger when we run the process chain?
    4. If we decide to run V 3 jobs after every half an hour on R3 side then how often we have to extract data to BW? and how to catch correct delta without missing single record?
    I would appreciate if you can help me with your knowledge.
    Thanks
    Kris

    Hi Kris,
    Control M is a third party scheduling tool provided by BMC software.
    1) You have option to either include a meta chain or individual chains in Control  M .
    2) It depends on how your data is extracted. If you have any dependecy jobs on sourcre system, then it is better to create small process chians and include them along with your dependecy jobs in Control M
    3)you can include R/3 dependency jobs and V3 jobs in Control M. Once those jobs are finished you can run BW process chains via Control M.
    4)You have several scheduling options availalbe in control M to take care of your BW and R/3 jobs.
    V3 jobs collect data from R/3 application tables and fill R/3 delta queue(RSA7). when you run BW process chain it will collect all the data available from R/3 delta queue.
    If both jobs are running at same time, then it is better to apply some wait time on BW jobs(in process chians).
    hope this helps

  • Process chain - Two source system issue

    Hi Experts,
    I face problem when i transport a process chain from BW DEV to Quality.
    I have two source systems in Quality ECI and EXS.EXS is a sandbox server(Source system) which we no longer use.
    When i transport the process chain from DEV to QA, i get two DTP's automatically added to Process chain in quality for two source systems ECI and EXS whereas i do not want the data to be loaded from EXS client.
    I checked the BW dev system, it has only one DTP in the process chain.
    Now I want to elminate the other DTP in the process chain in quality.
    Please suggest.
    Regards,
    Srini

    I Dont think so a DTP for EXS system has got created automatically when you transport the PC to QA (which actually doesn't exist in DEV).
    Please check you DEV system once again, there might a DTP from EXS system also.. other wise go the Release TR and then check the contents-->iif you find two DTP's there then it is there in the dev system..
    Any ways if you want to delete the other DTP from the PC in QA.. you can Delete it directly from the PC itself.. Goto change mode of the PC and then select the DTP which you want to delete-->then right click and hten Click on Remove Process -->then activate the PC..
    Note: You might have authorization to edit the PC in QA then only you will be able to do the changes..

  • Process chain failing (due to back ground jobs)

    Dear Friends
      Did anybody help me in this topic.
      The DTP's of the particular process chain is failing frequently.
    The reason is background jobs causing error
    why this happens every time?
    Did parallel data loading in the DTP may cause any backgound error?
    Is it possible for only one update to the DTP at a time?
    Thanks in advance for your replies
    With Regards
    Riyad

    Dear,
    Check may be helpful and search SDN you will find many related posts.
    Error Transporting Process Chain with 2 DTPs
    Regards,
    Syed Hussain.

  • Error in Including Roll Up Process Type into Process Chain

    Dear Experts,
       On BI 7.0, I found an error, when including the Roll Up Process Type into my process chain. The sequence of my first process chain looks like this.
    Start -> Execute Infopackage -> Execute DTP to load data to DSO -> Delete Cube Index -> Execute DTP to load data to cube -> Create Cube Index -> Roll Up
       I found this error when activating the process chain
    'No type "Delete Index" process can be in front of process "Roll Up of Filled Aggregates/BIA Indexes" variable ROLLUP_ZHRF_C04
    Then, after looking through the forum, I found someone suggest using 'Initial Fill' before 'Roll Up'. I followed his sugguestion, so my second process chain looks like this.
    Start -> Execute Infopackage -> Execute DTP to load data to DSO -> Delete Cube Index -> Execute DTP to load data to cube -> Create Cube Index -> Initial Fill -> Roll Up
    The same message is shown; however, this time it just a warning message instead of the error msg.
    1) How can I solve this problem?
    2) In which sequence of process types I should take for my process chain?
    3) Must I always use the Initial Fill before the Roll Up in the process chain?

    Hello,
    This issue is with patch 16 of BI. The only solution i think is you need to create a local chain with start process -> rollup and include all the roll up cubes in that variant and include this local chain at the end of the main chain. Hope this helps.
    REgds,
    Shashank

  • Process Chain Log Maintenance

    Hi All,
    In my project we maintain an load status excel sheet to document all the timings of process chain running in our window.
    We were maintaining only the start time of process chain (we get from RSPCM), now the requirement has changed and customer wants us to mention the end time of each process chain.
    Since we have good amount of process chain running it is becoming really hectic to take timings for each PC.
    Procedure we are following to take the end time is that through RSPCM we go to every PC and take the timing of last process in the PC.This takes lot of time.
    Please suggest from where we can exact log of start and end time of every PC.Are there any table from where we can see the start and end time???
    I am waiting for the valuable inputs......
    Regards,
    Kshitij

    try following ABAP...
    *& Report  ZBI_PROCESS_CHAIN_STATUS_EMAIL                              *
      Program uses parameters and selection options to analyze and/or    *
      email the status  of the BI process chains.                        *
    Selection-screen help:                                               *
    1) Process Chain (ID)                                                *
           Enter the name of process chain to analyze.                   *
           If you leave this field blank, all the process chains will    *
           be picked up.                                                 *
    2) Process Chain Date Selection                                      *
           Enter the Process Chain Date.                                 *
    3) Status of Process Chain                                           *
           Enter the Status of Process Chain to analyze.                 *
           If you leave this field blank, all the status will            *
           be picked up.                                                 *
    4) Send email?                                                       *
           Mark this checkbox, if you want to send email notification    *
    5) Email recipients                                                  *
           The list of people to be notified is entered here. At least   *
           one email address is required.                                *
    *Modification Information:                                             *
    Date      Mod User ID      CTS Number    Description                 *
    *05/01/08   Shalin Shah                    Original Coding Date        *
    REPORT   ZBI_PROCESS_CHAIN_STATUS_EMAIL
             NO STANDARD PAGE HEADING MESSAGE-ID 00
             LINE-SIZE 255
             LINE-COUNT 55.
    Variable Declaration for selection screen                            *
    DATA:
      gs_RSPCLOGCHAIN   TYPE rspclogchain,             "PC ID
      gs_RECEIVER       TYPE SOMLRECI1-RECEIVER,       "Email ID
      gs_BATCHDATE      TYPE RSPCPROCESSLOG-BATCHDATE, "Date
      gs_RSPC_STATE     TYPE RSPC_STATE.               "PC state
    Selection-Screen                                                     *
    SELECTION-SCREEN BEGIN OF BLOCK om1 WITH FRAME.
    SELECT-OPTIONS p_CHAIN  for gs_RSPCLOGCHAIN-CHAIN_ID default 'ZBWC_MAIN' NO INTERVALS. "Process chind ID
    SELECT-OPTIONS p_datum  for gs_BATCHDATE default  sy-datum. "Process chain date
    SELECT-OPTIONS p_Status for gs_RSPC_STATE NO INTERVALS. "Process Chain status
    SELECTION-SCREEN END OF BLOCK om1.
    SELECTION-SCREEN BEGIN OF BLOCK om2 WITH FRAME.
    PARAMETERS: p_Email AS CHECKBOX.       "Send email?
    SELECT-OPTIONS: s_mail FOR gs_RECEIVER lower case NO INTERVALS. "Email address
    SELECTION-SCREEN END OF BLOCK om2.
    AT SELECTION-SCREEN.
      If Send email is checked, makes sure at least one email address is entered.
      if p_Email = 'X'.
        READ TABLE s_mail INDEX 1.
        if sy-subrc <> 0.
          MESSAGE e001 WITH 'Please enter at least one email address'.
        ENDIF.
      ENDIF.
      loop at s_mail.
        if not s_mail-high is initial.
          MESSAGE e001 WITH s_mail-high 'is not valid. Please enter with no intervals'.
        endif.
      endloop.
    START-OF-SELECTION.
    END-OF-SELECTION.
    Variable Declaration                                                 *
    for composing email object
      DATA: OBJCONT LIKE SOLI OCCURS 10 WITH HEADER LINE. "Email object
      DATA: RECLIST LIKE SOMLRECI1 OCCURS 5 WITH HEADER LINE. "Email address
      DATA: DOC_CHNG LIKE SODOCCHGI1.   "Data of an object which can be changed for email
      DATA: ENTRIES LIKE SY-TABIX.      "Count
      DATA: NAME(15).                   "Sapce for email name
      DATA: temp_message(120) type c.   "temp message space
      DATA: psubject(72) type c.        "Email subject
      DATA: temp_time(27) type c.       "temp space to PC start and end time
      DATA: pc_end_time(8) type c.      "PC end time
      DATA: pc_start_time(8) type c.    "PC start time
      DATA: pc_run_date(10) type c.     "PC run date
      DATA: pc_duration(8) type c.      "PC duration time
      DATA: pc_temp_end_time type TIMS. "temp space for pc end time
      DATA: pc_temp_end_date type DATS. "temp space for pc end date
      DATA: pc_temp_duration type TIMS. "temp space for pc duration
      DATA: pc_status(72) type c.       "PC status
    for report format
      DATA: iColor TYPE i VALUE 0,
            iCount TYPE i VALUE 1.
    for saving log of the process chain.
      DATA: I_RSPCLOGCHAIN LIKE RSPCLOGCHAIN OCCURS 0,
            WA_RSPCLOGCHAIN LIKE LINE OF I_RSPCLOGCHAIN,
            I_RSPCPROCESSLOG LIKE RSPCPROCESSLOG OCCURS 0,
            WA_RSPCPROCESSLOG LIKE LINE OF I_RSPCPROCESSLOG.
    Report Logic                                                         *
    Create email subject for report header
      CONCATENATE SY-SYSID ' - BI load status ->' SY-DATUM4(2) '/' SY-DATUM6(2) '/' SY-DATUM0(4)    ' @ ' SY-UZEIT0(2) ':' SY-UZEIT2(2) ':' SY-UZEIT4(2) INTO psubject.
    report header
    FORMAT INTENSIFIED COLOR = 1.
      write / .
      write / '*****************************************************************************************************************************************'.
      Write: / '*                                                 ', psubject, '            *' .
      write / '*****************************************************************************************************************************************'.
      write / .
    *Fill the header
      OBJCONT-LINE = '****************************************************************************************************************'.
      APPEND OBJCONT.
      OBJCONT-LINE =  psubject.
      APPEND OBJCONT.
      OBJCONT-LINE = '****************************************************************************************************************'.
      APPEND OBJCONT.
    Get the log id of the process chain.
      SELECT *
        FROM RSPCLOGCHAIN
        INTO TABLE I_RSPCLOGCHAIN
        WHERE DATUM in p_datum
        AND CHAIN_ID in p_CHAIN
        AND ANALYZED_STATUS in p_Status.
    Loop at all the selected process chains
      LOOP AT I_RSPCLOGCHAIN into WA_RSPCLOGCHAIN.                  "Loop at all the process chaing log
        CLEAR: temp_time, pc_start_time, pc_end_time.
      Get the run date, start time and end time of process chain form RSPCPROCESSLOG table.
        SELECT *
          FROM RSPCPROCESSLOG
          INTO TABLE I_RSPCPROCESSLOG
          WHERE LOG_ID = WA_RSPCLOGCHAIN-LOG_ID.
      Converts PC time to a given local timezone
        CALL FUNCTION 'STU3_ALERTS_CONV_UTC_2_LOCAL'
          CHANGING
            TIME_T = WA_RSPCLOGCHAIN-ZEIT
            DATE_D = WA_RSPCLOGCHAIN-DATUM.
      Convart date and time to MM:DD:YYYY HH:MM:SS
        CONCATENATE WA_RSPCLOGCHAIN-DATUM4(2) '/' WA_RSPCLOGCHAIN-DATUM6(2) '/' WA_RSPCLOGCHAIN-DATUM+0(4) INTO pc_run_date.
        CONCATENATE WA_RSPCLOGCHAIN-ZEIT0(2) ':'  WA_RSPCLOGCHAIN-ZEIT2(2) ':' WA_RSPCLOGCHAIN-ZEIT+4(2) INTO pc_start_time.
      sort all the process chaing log. Because we just want to get the end time of the last log.
        sort I_RSPCPROCESSLOG by ENDTIMESTAMP descending.
      loop to get the end date and end time for the process chain
        LOOP AT I_RSPCPROCESSLOG into WA_RSPCPROCESSLOG.    "Loop 1 for pc_end_time
          CLEAR temp_time.
          temp_time = WA_RSPCPROCESSLOG-ENDTIMESTAMP.
          pc_temp_end_date =  temp_time+4(8).
          pc_temp_end_time =  temp_time+12(6).
        Converts PC time to a given local timezone
          CALL FUNCTION 'STU3_ALERTS_CONV_UTC_2_LOCAL'
            CHANGING
              TIME_T = pc_temp_end_time
              DATE_D = pc_temp_end_date.
        Convart date and time to MM:DD:YYYY HH:MM:SS
          CONCATENATE pc_temp_end_time0(2) ':'  pc_temp_end_time2(2) ':' pc_temp_end_time+4(2) INTO pc_end_time.
        Get PC end-time and duration
          IF pc_temp_end_time = 000000.
            pc_end_time = '??:??:??'.
            pc_duration = '??:??:??'.
          ELSE.
            pc_temp_duration = pc_temp_end_time - WA_RSPCLOGCHAIN-ZEIT.
            CONCATENATE pc_temp_duration0(2) ':'  pc_temp_duration2(2) ':' pc_temp_duration+4(2) INTO pc_duration.
          ENDIF.
        Exit form the loop once we get end-time and duration
          EXIT.
        endloop.                                        "Loop 1 for pc_end_time
      Based on process chain status assign color and create message
        CASE WA_RSPCLOGCHAIN-ANALYZED_STATUS.           "Case pc status
          WHEN 'R'.
            CONCATENATE WA_RSPCLOGCHAIN-CHAIN_ID ' : Ended with errors on -' pc_run_date ' (Start->' pc_start_time '  End->' pc_end_time ' Duration->' pc_duration ') **Error**' INTO temp_message.
            CONCATENATE   ' Ended with errors - ' pc_duration INTO pc_status.
            iColor = 6.
          WHEN 'G'.
          Check if duration = '00:00:00' mark as **Error**
            IF pc_duration = '00:00:00'.
              CONCATENATE WA_RSPCLOGCHAIN-CHAIN_ID ' : Successfully completed on -' pc_run_date ' (Start->' pc_start_time '  End->' pc_end_time ' Duration->' pc_duration ') **Error**' INTO temp_message.
              CONCATENATE   ' Successfully completed - ' pc_duration INTO pc_status.
              iColor = 3.
            ELSE.
              CONCATENATE WA_RSPCLOGCHAIN-CHAIN_ID ' : Successfully completed on -' pc_run_date ' (Start->' pc_start_time '  End->' pc_end_time ' Duration->' pc_duration ')' INTO temp_message.
              CONCATENATE   ' Successfully completed - ' pc_duration INTO pc_status.
              iColor = 5.
            ENDIF.
          WHEN 'F'.
          Check if duration = '00:00:00' mark as **Error**
            IF pc_duration = '00:00:00'.
              CONCATENATE WA_RSPCLOGCHAIN-CHAIN_ID ' : Completed on -' pc_run_date ' (Start->' pc_start_time '  End->' pc_end_time ' Duration->' pc_duration ') **Error**' INTO temp_message.
              CONCATENATE   ' Completed - ' pc_duration INTO pc_status.
              iColor = 3.
            ELSE.
              CONCATENATE WA_RSPCLOGCHAIN-CHAIN_ID ' : Completed on -' pc_run_date ' (Start->' pc_start_time '  End->' pc_end_time ' Duration->' pc_duration ')' INTO temp_message.
              CONCATENATE   ' Completed - ' pc_duration INTO pc_status.
              iColor = 5.
            ENDIF.
          WHEN 'A'.
            CONCATENATE WA_RSPCLOGCHAIN-CHAIN_ID ' : Active on -' pc_run_date ' (Start->' pc_start_time '  End->' pc_end_time ' Duration->' pc_duration ')' INTO temp_message.
            CONCATENATE   ' Active - ' pc_duration INTO pc_status.
            iColor = 3.
          WHEN 'X'.
            CONCATENATE WA_RSPCLOGCHAIN-CHAIN_ID ' : Canceled on -' pc_run_date ' (Start->' pc_start_time '  End->' pc_end_time ' Duration->' pc_duration ') **Error**' INTO temp_message.
            CONCATENATE   ' Canceled - ' pc_duration INTO pc_status.
            iColor = 6.
          WHEN 'P'.
            CONCATENATE WA_RSPCLOGCHAIN-CHAIN_ID ' : Planned on -' pc_run_date ' (Start->' pc_start_time '  End->' pc_end_time ' Duration->' pc_duration ')' INTO temp_message.
            CONCATENATE   ' Planned - ' pc_duration INTO pc_status.
            iColor = 3.
          WHEN 'S'.
            CONCATENATE WA_RSPCLOGCHAIN-CHAIN_ID ' : Skipped at restart on -' pc_run_date ' (Start->' pc_start_time '  End->' pc_end_time ' Duration->' pc_duration ')' INTO temp_message.
            CONCATENATE   ' Skipped at restart - ' pc_duration INTO pc_status.
            iColor = 3.
          WHEN 'Q'.
            CONCATENATE WA_RSPCLOGCHAIN-CHAIN_ID ' : Released on -' pc_run_date ' @ ' pc_end_time INTO temp_message.
            CONCATENATE   ' Released' ' ' INTO pc_status.
            iColor = 3.
          WHEN 'Y'.
            CONCATENATE WA_RSPCLOGCHAIN-CHAIN_ID ' : Ready on -' pc_run_date ' @ ' pc_end_time INTO temp_message.
            CONCATENATE   ' Ready' ' ' INTO pc_status.
            iColor = 3.
          WHEN 'J'.
            CONCATENATE WA_RSPCLOGCHAIN-CHAIN_ID ' : Framework Error Upon Completion on -' pc_run_date ' @ ' pc_end_time ' **Error**' INTO temp_message.
            CONCATENATE   ' Framework Error' ' ' INTO pc_status.
            iColor = 3.
          WHEN OTHERS.
            CONCATENATE WA_RSPCLOGCHAIN-CHAIN_ID ' : Undefined on -' pc_run_date ' @ ' pc_end_time INTO temp_message.
            CONCATENATE   ' Undefined' ' ' INTO pc_status.
            iColor = 6.
        ENDCASE.            "Case pc status
      Append pc log to email object
        OBJCONT-LINE = temp_message.
        APPEND OBJCONT.
      change color and write log
        FORMAT INTENSIFIED COLOR = iColor.
        Write: / iCount, '   ', temp_message .
        iCount = iCount + 1.
        CLEAR temp_message.
      ENDLOOP.                               "Loop at all the process chaing log
    Create email subject
      clear psubject.
      CONCATENATE SY-SYSID ' load - ' pc_status INTO psubject.
    Fill the subject
      DOC_CHNG-OBJ_NAME = 'URGENT'.
      DOC_CHNG-OBJ_DESCR = psubject.
      DOC_CHNG-SENSITIVTY = 'P'.
    Cheeck send email checkbox.
      IF p_Email = 'X'.                      "Check if send email is checked
        DESCRIBE TABLE OBJCONT LINES ENTRIES.
        READ TABLE OBJCONT INDEX ENTRIES.
        DOC_CHNG-DOC_SIZE = ( ENTRIES - 1 ) * 255 + STRLEN( OBJCONT ).
      Get recipients
        loop at s_mail.
          RECLIST-RECEIVER = s_mail-low.                    "recipient
          RECLIST-EXPRESS = 'X'.
          RECLIST-REC_TYPE = 'U'.                           "internet email
          append RECLIST.
        endloop.
      Send email
        CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
          EXPORTING
            DOCUMENT_TYPE              = 'RAW'
            DOCUMENT_DATA              = DOC_CHNG
            PUT_IN_OUTBOX              = 'X'
            COMMIT_WORK                = 'X'
          TABLES
            OBJECT_CONTENT             = OBJCONT
            RECEIVERS                  = RECLIST
          EXCEPTIONS
            TOO_MANY_RECEIVERS         = 1
            DOCUMENT_NOT_SENT          = 2
            OPERATION_NO_AUTHORIZATION = 4
            OTHERS                     = 99.
      Write email status.
        WRITE: /.
        CASE SY-SUBRC.
          WHEN 0.
            WRITE: / '*** Email sent to following recipient(s) ***'.
          Loot to get email id's.
            LOOP AT s_mail.         "Loop s_mail to get email address
              NAME = s_mail-low.
              IF RECLIST-RETRN_CODE = 0.
                WRITE: / NAME, ': succesfully sent'.
              ELSE.
                WRITE: / NAME, ': error occured'.
              ENDIF.
            ENDLOOP.               "Loop s_mail to get email address
          WHEN 1.
            WRITE: / 'Too many receivers specified !'.
          WHEN 2.
            WRITE: / 'No receiver got the document !'.
          WHEN 4.
            WRITE: / 'Missing send authority !'.
          WHEN OTHERS.
            WRITE: / 'Unexpected error occurred !'.
        ENDCASE.
      ENDIF.                        "Check if send email is checked
    Shalin Shah

  • Skip steps in process chain if 0 records received from InfoPackage

    Hi Experts,
    In one business scenario, we need to change existing process chain such that if InfoPackage/DTP has brought 0 records process chain should skip rest steps or it should get failed.
    Do you have any ideas about this.
    Regards,

    Dear Ganesh,
    you can change the traffic light color for empty request in the infoPackage maintenance window. Top menu --> Scheduler --> Traffic light color for empty request.
    Using this option and connecting process chain nodes correctly, process chain execution will stop whenever the infoPackage gets 0 records.
    For a DTP, you can use ABAP code in the start routine of the corresponding transformation. You should check the contents of SOURCE_PACKAGE internal table and raise exception accordingly.
    I hope this information helps you.
    Best regards,
    Nacho

Maybe you are looking for

  • How to merge multiple files into one pdf

    I would like help with this task. If I could do this for free I woul actually be more likely to follow advice. Many thanks

  • Grants on Views vs Tables

    Hi Suppose that there is a view called V created from two base tables T1 & T2. If I grant "select on V" privilege to user X (select on Vto X), will the user X be internally granted with "select on T1 to X & select on T2 to X"? Your explanation will b

  • Muse: Verwenden von  Webschriften

    Hallo, ich habe gelesen, dass man für einen möglichst schnellen Ladevorgang je Seite besser nicht mehr als 3 Webschriften verwenden sollte. Was ich nicht gefunden habe, ist: bezieht sich das auf einen Schriftschnitt oder die ganze Familie? Ich verwen

  • MacBook Pro 10.6 install from 10.8 iMac?

    I have a MacBook Pro that will not run Mountain Lion. Last Mac OS update it will run is 10.6.8 and wouldn't you know it, the DVD drive no longer works. I'd like to do a clean install of 10.6 on the MacBook Pro but when it's put into target mode on my

  • Cs4/6 issues

    I opened a project I used on cs4, and it opened it cs6 automatically, asked me to continue with my free trial, I then worked on project, saved it, literally tried to open back up and said I had to license software, so I tried to open in cs4 again, an