Custom Program called by Delete PSA Process Type

Hi Guys,
we need to customize the Standard Program Called by Process Type Delete PSA called by Process Chain, we need to delete all the PSA and not by specific DSO

Hi,
CONSTANTS: c_get_all   TYPE rs_bool VALUE 'X'.
TYPE-POOLS: rsatd, rsatr, rsa, rsd, rsau, rsdg, rsawb, rssm, rssb,
            rsdds, rsddk, rrhi, rsods, rsarr, sbiwm, rssm1, rsaos, rsb,
            rsap0, slis, rsenq, rspc1.
DATA: t_odslist    TYPE rsods_t_odslist,
      s_odslist    TYPE rsods_s_odslist,
      t_psa        TYPE rssm_t_2500_psa,
      s_screen_psa TYPE rssm_s_screen_2500_psa.
*&  Parameters
TEXT-001: Deletion of all requests
SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE text-001.
SELECTION-SCREEN BEGIN OF LINE.
TEXT-P01: Older than
PARAMETERS: f_older RADIOBUTTON GROUP opt.
SELECTION-SCREEN COMMENT (10) text-p01 FOR FIELD f_older.
TEXT-P03: Days
PARAMETERS: p_older LIKE s_screen_psa-older_days.
SELECTION-SCREEN COMMENT (6) text-p03 FOR FIELD p_older.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
TEXT-P02: Before
PARAMETERS: f_before RADIOBUTTON GROUP opt.
SELECTION-SCREEN COMMENT (10) text-p02 FOR FIELD f_before.
TEXT-P04: (Date)
PARAMETERS: p_before LIKE s_screen_psa-before_date.
SELECTION-SCREEN COMMENT (6) text-p04 FOR FIELD p_before.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
TEXT-P05: Only Successfully Booked/Updated Requests
PARAMETERS: f_only_s AS CHECKBOX.
SELECTION-SCREEN COMMENT (41) text-p05 FOR FIELD f_only_s.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
TEXT-P06: Only those requests with error, that are not booked in a
          data target
PARAMETERS: f_only_r AS CHECKBOX.
SELECTION-SCREEN COMMENT (69) text-p06 FOR FIELD f_only_r.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b01.
TEXT-002: ATTENTION
SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-002.
TEXT-P07: These procedure will eliminate data in all PSA tables
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (04) c_icon.
SELECTION-SCREEN COMMENT (53) text-p07.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN END OF BLOCK b02.
*& Fill out parameters
INITIALIZATION.
  f_older = 'X'.
  MOVE icon_message_warning TO c_icon.
*& Read information about PSA data
START-OF-SELECTION.
  CALL FUNCTION 'RSAR_ODS_GET'
    EXPORTING
      i_get_all         = c_get_all
    IMPORTING
      e_t_odslist       = t_odslist
    EXCEPTIONS
      missing_parameter = 1
      no_active_ods     = 2
      OTHERS            = 3.
*& Create deletion JOBS for all PSA tables
END-OF-SELECTION.
Conditions
  s_screen_psa-flag_older  = f_older.
  s_screen_psa-older_days  = p_older.
  s_screen_psa-flag_before = f_before.
  s_screen_psa-before_date = p_before.
  s_screen_psa-flag_only_suc = f_only_s.
  s_screen_psa-flag_only_red = f_only_r.
Execute JOB imediately
  s_screen_psa-startdttyp = 'I'.
Start procedure
  LOOP AT t_odslist INTO s_odslist.
    CALL FUNCTION 'RSATREE_PSA_DELETE_BATCH'
      EXPORTING
        i_command      = 'STAR'
        i_psa          = s_odslist-odsname
        i_source       = s_odslist-isource
        i_logsys       = s_odslist-logsys
        i_ds           = s_odslist-oltpsource
        i_istype       = s_odslist-istype
      TABLES
        e_t_2500       = t_psa
      CHANGING
        c_s_screen     = s_screen_psa
      EXCEPTIONS
        no_psa_found   = 1
        internal_error = 2
        OTHERS         = 3.
  ENDLOOP.

Similar Messages

  • How to call OID delete user process task from AD process definition

    Hi All,
    I wanted to call OID delete user process task from AD process def. I have created a process task in AD Process def which will be integrated with OID Delete User adapter. How can i map OID related attributes to the adapter api?
    Expected inputs for OID delete api :
    root DN
    orgDN
    admin pwd
    server
    attr lookupcode
    XLOrgFlag
    sProcessInsKey
    UserID
    PDataOrg
    port
    AdminID
    SSLFlag
    here i cannot map some like : sProcessInsKey
    any pointers would be appreciated.
    Regards,
    Ashok

    OID delete user process task from AD process defWhy don't use call Revoke Resource API ?
    http://otndnld.oracle.co.jp/document/products/id_mgmt/idm_904/doc_cd/javadocs/operations/Thor/API/Operations/tcUserOperationsIntf.html#revokeObject%28long,%20long%29
    Use getObject API
    Iterate through resultset.
    If RONAME == OID User then call revokeObject

  • Standard/Custom program to set deletion flag for Purchase Requistions

    Hi all,
    If any of you know the Standard/Custom program to set deletion flag for purchase requistions, please let me know. It would be of great help.
    Thanks in advance,
    Karthik

    Hello
    Bapi BAPI_REQUISITION_DELETE will help you.

  • Delete PSA Through Process Chain

    Hi,
    I am working in NW04s. I have few questions related to the subject line. Few are for knowledge enhancement and other are task oriented.
    Background:  InfoPackages are created to load data (master and transaction, both full & delta) for InfoObjects and DOS/Cubes. All the 4 options (PSA and then InfoObject, PSA and infoobject in parallel, only InfoObject and only PSA) are used in production.
    Questions:
    Q1 (general): Why should we have a process in Process Chain after data load to delete PSA, if we are using PSA and then InfoObject?
    Q2 (specific questions): How to include the PSA name in "Delete PSA Request" of a Process Chain when infoPacakge processing is only PSA.
    Q3 (specific question): When Data target is not defined in InfoPacakge (but only Data Source and Source System is defiled, and process is "PSA and then InfoObject', then in such case which infoprovider is to be put into "Delete PSA Request" in process chain.
    Thank you for reading my questions, and helping me.
    Sincerely,
    S

    Q1 (general): Why should we have a process in Process Chain after data load to delete PSA, if we are using PSA and then InfoObject?
    Requests in PSA are deleted periodically so as to prevent getting the PSA table bigger and bigger occupying more DB space.
    Q2 (specific questions): How to include the PSA name in "Delete PSA Request" of a Process Chain when infoPacakge processing is only PSA.
    You can specify the PSA table name, it need not load further targets as it is deleting requests from PSA itself . Loading PSA is good enough for the Delete Request in PSA process type to work.
    Q3 (specific question): When Data target is not defined in InfoPacakge (but only Data Source and Source System is defiled, and process is "PSA and then InfoObject', then in such case which infoprovider is to be put into "Delete PSA Request" in process chain.
    You can specify the PSA table name, why do you want to Infoprovider name I guess you cannot even do that for this process type.

  • Deleting process type from a Process Chain

    Hi All,
    We had a scenario wherin we needed to add some process types to an existing process chain.But after transporting it to quality  we realized that we have added our process types to the wrong process chain.Now We have deleted our process types from the process chain and transported that chain after deleting the process types from the chain.But the types we have added are not getting deleted in Quality.Could someone help me with this...
    Regards,
    Shravani

    Hi,
    the process types that you have created in Development needs to be deleted in Developmet. Before deleting it will ask for a request. create a new request and transport that request to the Quality. Now you will find the Process types deleted in Quality.
    Now get back to the Development  system create the necesseary changes (add or remove the Process types or develop a new one) now transport the request to the Quality .
    hope this will solve your problem
    santosh

  • My local library uses a program called Overdrive Media Console to check out audiobooks.  MP3 type books go to music on my iPod Nano, but I am unable to delete them because I tunes doesn't display them as content. What should I do? I need the space.

    According to my library, I can download MP3 audio books to my Ipod Nano.  The material is "checked out" to a program called Over Drive Media Console. and from there, it is transferred to my IPod.  the audio doesnt go to Audi Books, it goes to Music.  I want to delete some of the books I have listened to, but when I plug in the Ipod and open ITunes, the titles are not there.  The manual says to connect to itunes, and delete a "song or other material" but since I  did not use ITunes to get the
    "song" to begin with, it isnt recognized.  How can I get these audioboks off my IPOD?  I am running out of space.  I tried connecting to Overdrive, but the software doesnt recognize the internal content.  It only sets it up for transfer.

    The audio books do not display under the music sub-menu
    And they shouldn't.  They should be under the Books submenu that is further down the list from the Music submenu you are referring to.
    B-rock

  • Urgent:  ABAP Custom Process Types

    Hi Gurus,
    I have created a Custom Process Type for ABAP program which returns status (Success or Failure).
    I followed the below procedure to create a custom ABAP process type.
    In RSPC, I went to Settings -> Maintain process types
    I selected the ABAP process type and then selected the EDIT -> COPY AS and then in the process chain configuration screen, I gave a new name to the process type, changed the POSSIBLE EVENTS settings to "2 process ends "successful" or "failure" and saved the settings to confirm changes.
    Now I can see the new process type for ABAP program which returns the success or failure for the successors.
    Now, my question is, where do i write the logic for ABAP program ? how does the ABAP program returns the success or failure. Do I have to change the code in the method IF_RSPC_EXECUTE~EXECUTE to return success or failure.  Please make me clear where I can write the code? For example in my ABAP program, I am searching a table to find a specific value. If the value is not found, then the ABAP process type should return failure, if found should return success. How can I do this?
    Thanks in advance,
    Regards,
    aarthi
    [email protected]

    To trigger a process chain from an external program you can use the function:
    RSPC_API_CHAIN_START
    you need only to know the Chain ID and pass it in import parameter.
    Here an example:
    select-options v_time for sy-uzeit.
    parameter: chain type RSPC_CHAIN.
    check sy-uzeit in v_time.
    CALL FUNCTION 'RSPC_API_CHAIN_START'
      EXPORTING
        i_chain             = chain
      I_T_VARIABLES       =
      I_SYNCHRONOUS       =
      I_SIMULATE          =
      I_NOPLAN            =
    IMPORTING
      E_LOGID             =
    EXCEPTIONS
      FAILED              = 1
      OTHERS              = 2
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    Regards,
    Sergio

  • Urgent Help need for ABAP Custom Process Types

    Hi Gurus,
    I have created a Custom Process Type for ABAP program which returns status (Success or Failure).
    I followed the below procedure to create a custom ABAP process type.
    In RSPC, I went to Settings -> Maintain process types
    I selected the ABAP process type and then selected the EDIT -> COPY AS and then in the process chain configuration screen, I gave a new name to the process type, changed the POSSIBLE EVENTS settings to "2 process ends "successful" or "failure" and saved the settings to confirm changes.
    Now I can see the new process type for ABAP program which returns the success or failure for the successors.
    Now, my question is, where do i write the logic for ABAP program ? how does the ABAP program returns the success or failure. Do I have to change the code in the method IF_RSPC_EXECUTE~EXECUTE to return success or failure.  Please make me clear where I can write the code? For example in my ABAP program, I am searching a table to find a specific value. If the value is not found, then the ABAP process type should return failure, if found should return success. How can I do this?
    Thanks in advance,
    Regards,
    aarthi
    [email protected]

    Hi,
       We have a similar problem. We have an ABAP program in a process chain that
    uses a custom process type with on success and on failure.
        If  the program is successful there is no problem. it will run the next process step.
        The problem is when the ABAP Program fails and even though the message class is E in our ABAP program it has a confirm popup message with a status change and asks "Save Status and Trigger Events if Appropriate".
         Once you enter Yes to continue it then continues to the next step in the program and is fine.I traced in debug where this status message is appearing. It is in CL_RSPC_LOG. There is a popup_to_confirm_step where it checks the e_status that is value J ( Framework Error upon completion). Then it submits the rspc_process_finish program to complete and call the on error process step.
         Has anyone else experienced this and is there any other documents out there to help me?
    Apologies if this is not very clear.
    Any assistance would be appreciated.
    Thanks
    Monica Mandia

  • Trigger special function output type through a custom program

    Hi,
    I have to trigger the special function output type from a custom program.
    This custom program contains a BAPI and the output parameters of this BAPI are required as input to the second BAPI which is contained in the form routine of the special function output type.
    I am not able to understand how to trigger the special function as I dont know how the nast-objky will be updated
    and how the BAPI parameters will be passed.
    Is this has to be done through a Idoc
    Can anyone guide me on how to handle the above functionality.

    Hello,
    I am not able to understand your requirement completely...
    agree with above post....addition-
    1. Transport medium would be '8 - Special Function' where one program would fire and that can be used for further processing.
    2. If condition record are maintained and it is matching with parameters then output type with all transport medium would be called
    Thanks

  • Implementing a custom process type for a process chain

    I have created a custom process type for a process chain that allows a user to send back a failure or error status when calling an ABAP program.  I copied the class that is used from the existing ABAP process type as a template. 
    The process type works fine, I just cannot find out how to recreate the documentation for my custom type using free text. When you maintain the process type there is a field for the documentation object, but I can't find where in SAP to implement this.
    I have tried looking at the document maintenance using SE61 and looking into the class documentation from SE24 with no success.  The only detail that is provided in the SAP help portal is:
    "If necessary, assign a documentation type and a docu. object to the process type. The docu object can be called up via F1 in the process chain maintenance overview tree. "
    Does anyone out there have any experience with this that can push me in the right direction?
    Thanks,
    Eddie

    You can create and maintain system documentation from transaction SE61. This is how you would create documentation for a process type or if you wanted to create a book. <a href="http://help.sap.com/saphelp_nw04/helpdata/en/a4/d47df949e111d189730000e8322d00/frameset.htm">more info</a>
    Here are the steps to make your documentation similar to that used for the ABAP process type:
    From transaction SE61:
    -Create a document of type TX (either from scratch or by copying RSPC_ABAP which is used for the SAP-delivered ABAP process type)
    -Make any changes you need. I suggest downloading the document in ITF format and make the changes in a basic text editor and then uploading your changed document. It's a little easier to tell what is going on that way.
    Now on to transaction RSPC.
    Once you save your changes, go to RSPC and select on any chain you have to get into the "plan and check views of process chain maintenance." Then just go to Settings -> Maintain Process Types.
    From here you can select your process type, select TX from the document type dropdown, and then enter the name of your document in the docu. object field.
    Hope that helps.

  • Error in Custom Process Type Howto

    I have been following along the lastest howto document for custom process types (BI 7.0):
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/509f3ae6-e36e-2910-48a8-ab43dc167dd9
    I copied its code and everthing compiles fine, but when executed, the program crashes when you click on the green arrow to confirm the selected variant. The method call to RSPC_GET_CHAIN seems to be wrong:
    Type conflict when calling a function module.
    An exception occurred that is explained in detail below.
    The exception, which is assigned to class 'CX_SY_DYN_CALL_ILLEGAL_TYPE', was
    not caught in
    procedure "IF_RSPC_GET_VARIANT~GET_VARIANT" "(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:
    The call to the function module "RSPC_GET_CHAIN" is incorrect:
    The function module interface allows you to specify only
    fields of a particular type under "I_CHAIN".
    The field "L_S_TABLE-VALUE" specified here is a different
    field type
    1 METHOD IF_RSPC_GET_VARIANT~GET_VARIANT.
    2   DATA: L_T_CHAINID TYPE RSPC_T_CHAINID,
    3         L_S_CHAINID TYPE RSPC_S_CHAINID,
    4         L_T_CHAINT TYPE RSPC_T_CHAINT,
    5         L_S_CHAINT TYPE RSPCCHAINT,
    6         L_S_CHAIN TYPE RSPC_S_CHAIN,
    7         L_T_TABLE TYPE TABLE OF SVAL,
    8         L_S_TABLE LIKE LINE OF L_T_TABLE.
    9
    10 * ... Read Process chains from control table an
    11   READ TABLE I_T_CHAIN INTO L_S_CHAIN INDEX 1.
    12   L_S_TABLE-TABNAME = 'ZPROCESS_CONTROL'.
    13   L_S_TABLE-FIELDNAME = 'ZCHAIN_ID'.
    14   L_S_TABLE-VALUE = '*'.
    15   APPEND L_S_TABLE TO L_T_TABLE.
    16   CALL FUNCTION 'POPUP_GET_VALUES'
    17     EXPORTING
    18       POPUP_TITLE = 'Process Chain to Check'
    19     TABLES
    20       FIELDS      = L_T_TABLE.
    21
    22 * ... Check selected process chain
    23   READ TABLE L_T_TABLE INTO L_S_TABLE INDEX 1.
    >>   CALL FUNCTION 'RSPC_GET_CHAIN'
    25     EXPORTING
    26       I_CHAIN         = L_S_TABLE-VALUE
    27       I_OBJVERS       = 'A'
    28       I_WITH_DIALOG   = RS_C_TRUE
    29       I_ONE_NO_DIALOG = RS_C_TRUE
    30     IMPORTING
    31       E_T_CHAIN_IDS   = L_T_CHAINID
    32       E_T_CHAINT      = L_T_CHAINT
    Does anyone know how to fix this?
    Thanks,
    Dennis

    I was able to fix it myself:
    CALL FUNCTION 'RSPC_GET_CHAIN'
    EXPORTING
    I_CHAIN = L_S_TABLE-VALUE(25) " <- this is the fix
    I_OBJVERS = 'A'
    I_WITH_DIALOG = RS_C_TRUE
    I_ONE_NO_DIALOG = RS_C_TRUE
    IMPORTING
    E_T_CHAIN_IDS = L_T_CHAINID
    E_T_CHAINT = L_T_CHAINT

  • CHAIN: custom process type: EVENT: complex status: bad planned jobs

    Hi experts,
    I've implemented a custom process type (in RSPC/Settings/MaintainProcess) called ZWX_COND.
    The main properties of ZWX_COND are: "ZCL_RSPC_DECISION" as ObjectTypeName, "00 ABAP Class" as ObjectType and "(Scheduled) processs ends with complex status" as PossibleEvents.
    Class ZCL_RSPC_DECISION is a copy of the standar one CL_RSPC_DECISION. I've only made the necessary changes in methods GET_EVENTS and GET_EVENT (I only need two events) and EXECUTE (to choose one of the two events depending on a customized table).
    I've made a main process chain with that new type (a decision step). I've connected that step with the process chain "A" for case ‘01’ and with the process chain "B" for case ‘02’. I've verified the main process chain and all is correct.
    Once I've activated and planned the main process chain, un unknown job BI_PROCESS_CHAIN appears. In addition, although the decision step ends correctly (green color) and the event RSPROCESS with parameter XXXX_02 is triggered (it's correct, since it's indicated in that way in the customized table), process chain "B" doesn't start. In fact, neither process chain "A" nor process chain "B" starts. Both process chains remain in yellow color, but the corresponding jobs are not activated or finished, they are just released.
    I see that the start condition (event parameter) for the planned jobs corresponding to process chains "A" and "B" is incorrect, since it is XXXX in both cases. I think the condition must be XXXX_01 for process chain "A" and XXXX_02 for process chain "B".
    I'd like to implement this process type because I want the process to end with a green status. If I use a custom process type with events "succesfull" or "incorrect", I can make the decision and the chain process works, but the process chain ends with red status when the event triggered is the "incorrect" one.
    Please, could somebody help me? I don't know if it's a program error or I'm implementing it in the wrong way.
    Thanks in advance,
    César Rueda
    PS. Sorry by my English
    Message was edited by:
            César Rueda
    Message was edited by:
            César Rueda

    Hi,
       i am experiencing the same thing .... have you got an answer , i did not see any notes on this type of issue .

  • Delete psa variant in process chain

    Hi all,
    I am trying to create deletion of request from PSA and when I go to create the variant and new screen comes up where I have to specify a object type and then object name. also at the bottom there are 4 options older than __ days page before __date
    only successfully booked/updated request
    only those request with errors, that are not booked in data target.
    Can someone tell how to deal with all these fields, in that  object field and name do we have to specify an infooject? or can we just say anything older that 20 days and create a generic variant to use for all the process?
    Please help
    Thanks,

    Well, I can try to explain in short:
    No real best practice for number of process chains, but the way they are structured in our system is by applications: COPA, SD, Purchasing, CRM applications, Inventory, and some other custom applications. These are the process chains (can be several in each area) that take care of the transactional data load...and also other data load processes: compression, roll up, activate ODS data etc.
    Master data load chains are divided as Daily, Weekly and Monthly. Of course several master data loads are also included in the transactional chains if we are doing a look up in the update rules, or may be some master data comes from the transactional datasource.
    Other than that there is the PSA delete chain that was discussed above.
    Hope this helps...

  • How to delete PSAs via process chain

    How to delete PSAs via processchain using program(need to delete automatically).
    For that i have to create the processchain for specially deletiung the PSAa and need to write the code for deleting automatically.

    Hi
    Please follow the below steps for PSA processchain deletion.
    Create the Start varint
    Drag the PSA deletion PSA Request from left menu bar proces types
    Click on maintain varinat of the above dragged psa deletion
    There you select like below
    Object Type:PSA
    Objectname:PSA Table name
    Select the below options on the same screen as Older than 10 days ...
    As per your requirement you can select the options..
    Hope it will helps

  • Custom Process Type in PC - ABAP pgm that returns success/fail status

    Hello All,
    I need to create a custom process type so that an ABAP program can return success/failure message to its successor. browsing through the forum posts i came across some links to a How-To document. but that link doesnt seem to be valid anymore.
    I dint get much idea looking into the IF_RSPC_* interfaces and CL_RSPC_ABAP class.
    Please let me know if anybody has documentation on this topic. any help would be appreciated.
    Thanks,
    Rit

    Hi,
    you can goto 'rspc' and then settings->maintain process types. there you can define your possibilities/results.
    i read somewhere in forum like for failure in abap just need to raise error message within abap routine.
    hope it helps,
    regards,
    anil

Maybe you are looking for

  • Can't install oracle10g on windows vista

    I downloaded oracle10g for windows vista & windows from oracle's site. But when I tried to install/setup.exe,error message that says install/setup.exe contains information about the folder.Use active/checkout instead. can anyone help me how to resolv

  • Help! Ipod not starting up! Error 1611

    Please help! I did all the steps in the help page: recharge, restart, update to latest itunes, replace ...nothing works! Persistent error 1611

  • Change Purchase Requisition Document Type when item category is D

    Hi experts, i have problem, when i put servis number in to the servis line i havent change Purchase Requisition Document Type. Account Assignment Category is K and Item Category is D. It is standard of Purchase Requisition? When i set that i can chan

  • BSEG in a query

    HI , I wanto to join BSEG and BKPF. And I cant use BSEG because is a Pool table. how can I solve it? any idea? Is urgent ..thanks! thanks a lot!

  • No time refresh on OSX Mountain Lion

    i lately noticed that on my iMac running Mountain Lion (properly updated), the time display in the upper right corner doesn't get refreshed anymore. i have to click on the time in order to get an update. a real annoyance, since i've already been clos