Block IDOC in XI

Hello,
my scope is to block in XI some IDOC sent from R/3 to SRM-SUS. The condition is the creation date of the order (ex. cutoff_date=01-01-2006 order created 12-01-2006 ==> pass IDOC to SRM-SUS, order created 23-11-2005 ==> stop IDOC in XI).
How can I implement this functionality in XI?
Thank you
Bye Corrado

Re: Block IDOC in XI
Posted: Feb 7, 2006 7:55 PM    Reply 
Hi,
Create a User Defined function to Check the if the date of the IDoc falls below or above the Cutoff date.
For Example : If the date is less than the Cutoff Date then we should Block the Idoc from reaching the Target system, in this case RAISE A EXCEPTION to stop processing the current IDoc Message.
Refer to these Blogs on the way to raise runtime exceptions in XI mapping to terminate the processing.
/people/sap.user72/blog/2005/02/23/raising-exceptions-in-sap-xi-mapping
/people/alessandro.guarneri/blog/2006/01/26/throwing-smart-exceptions-in-xi-graphical-mapping
Hope This helps your requirement

Similar Messages

  • Need to process version 4.5 blocked idoc in SAP ERP ECC6.0

    Hello,
    We are in the process of upgrading from version 4.5 to ERP 2005.
    We have been telling all users that all blocked idocs of version 4.5
    have to be cleared before the upgrade as old 4.5 idocs will not be
    compatible in ERP2005 version and hence cannot be processed.
    say for eg: idocs of message type WMMBXY or DESADV.
    Question is - what if we miss few idocs and they remain in blocked status
    in 4.5 during the upgrade? Is there anyway we can get those porcessed after thenupgrade or sap standard program to convert such idocs into ERP2005 version or would be just loose those idocs?
    Thanks for any help.

    Hello Markus,
    Apologies for late reply.
    Yes we have few changes, like we have Z extensions to the standard message type.
    We have set the compatibility mode (3.x).
    Do you know what error message would system show after the upgrade when we try to re-process such idocs?
    Thanks in advance for your reply.
    Best Regards,
    Wagle.

  • How to block idocs?

    hi how to block idoc. and what is status code after block for that idoc?

    Hi
    just go through these links
    these will help you
    <b>
    Block IDOC in XI
    How to block the Idoc ADRMAS?</b>
    if it helps reward with points
    Regards Rk

  • Blocking IDOC creation for Incomplete SO/STOs

    this comes under enhancements
    this is for idocs
    Message was edited by:
            vamsi krishna

    Hi,
    Try like this
    Go to transactions WE82 and WE20 and delete  the entry corresponding to mesage type and idoc type.
    No need to deactivate the change pointers after doing this.
    BR,
    Lokeswari.

  • Reg : Blocking and archiving of IDocs

    Hi All,
              Could anyone please let me know when does the need arise to block an IDOC?
              I heard it some where that for some type of errors we can not reprocess the idoc and so they will block that and resend it once more.
             If anyone has worked on this type of issue, could you please give me some information?
    And one more thing is regarding the Archiving of IDOCS : Could nay one please let me know the importance of IDOC ARCHIVING and it's use?
    Regards
    Abhilash.

    Hi,
    Blocking Idocs most extensively is used in master data, where we block the errored IDocs, rectify the error and replicate once again. Transactional data IDocs can also be blocked as per the situation.
    With archiving, IDocs are archived in various tables in the database in order that the size of the tables could be reduced without losing any IDocs. The transaction used for archiving is, SARA where the archiving object selected in this case is "IDOC".
    ~ Bineah.

  • Reg: Blocks in BPM

    Hi,
    We have a scenario where the requirement is to make 'n' number of transactions with SAP System using the Block in BPM. When the number of branches are around 700 the scenario works fine. But if we have more than 1000 branches the whole scenario fails. We are not able to start the proces again in BPM also.
    Regards,
    Venkatesh

    Hi,
    >>> is to make 'n' number of transactions with SAP System using the Block in BPM
    why do you need n numeber of transactions ?
    do you use IDOCs ?
    if you use IDOCs you can create number ot transactions (documents)
    with one call - wihtout the block - idoc bundling - described in my book
    <a href="/people/michal.krawczyk2/blog/2006/10/11/xi-new-book-mastering-idoc-business-scenarios-with-sap-xi"><b>Mastering IDoc Business Scenarios with SAP XI</b></a>
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Idoc Status doubt...

    Hello,
    If an Idoc(Inbound) is in status 64 (Idoc ready to be passed to application) is there any way to force it to any other status so that it will not be processed by the backgroung job(running for RBDAPP01)...?
    Is it possible to force an inbound idoc to other status...?
    We need to stop the idoc before its been processed by Scheduled background job...
    Thanks,
    Larry

    Use this:
    <code>
    REPORT  z_idoc_status.
    TYPE-POOLS:
      slis.
    TABLES:
      edidc.
    TYPES:
      BEGIN OF out_type,
        docnum LIKE edidc-docnum,
        mestyp LIKE edidc-mestyp,
        status_old LIKE edidc-status,
        status_new LIKE edidc-status,
      END OF out_type.
    DATA:
      wa_out TYPE out_type,
      out    TYPE STANDARD TABLE OF out_type.
    DATA for ALV GRID VIEW
    DATA: fcat            TYPE slis_t_fieldcat_alv,
          wa_fcat         TYPE slis_fieldcat_alv,
          alv_layout      TYPE slis_layout_alv,
          alv_variant     TYPE disvariant,
          alv_grid_title  TYPE lvc_title,
          alv_sort        TYPE slis_t_sortinfo_alv,
          wa_alv_sort     TYPE slis_sortinfo_alv,
          alv_report_id   LIKE sy-repid.
    SELECTION-SCREEN BEGIN OF BLOCK idoc WITH FRAME TITLE text-001.
    SELECT-OPTIONS s_docnum FOR edidc-docnum.
    SELECT-OPTIONS s_mestyp FOR edidc-mestyp.
    SELECT-OPTIONS s_staold FOR edidc-status.
    PARAMETER p_stanew TYPE edidc-status.
    PARAMETER p_update AS CHECKBOX.
    SELECTION-SCREEN END OF BLOCK idoc.
    START-OF-SELECTION.
      SELECT
        docnum
        mestyp
        status
      INTO (wa_out-docnum
           ,wa_out-mestyp
           ,wa_out-status_old
      FROM edidc
      WHERE docnum IN s_docnum
        AND mestyp IN s_mestyp
        AND status IN s_staold.
        wa_out-status_new = p_stanew.
        APPEND wa_out TO out.
      ENDSELECT.
      IF p_update = 'X'.
        LOOP AT out INTO wa_out.
          UPDATE edidc
             SET status = p_stanew
           WHERE docnum = wa_out-docnum.
        ENDLOOP.
      ENDIF.
      CLEAR wa_fcat.
      wa_fcat-fieldname      = 'DOCNUM'.
      wa_fcat-ref_tabname    = 'EDIDC'.
      wa_fcat-ref_fieldname  = 'DOCNUM'.
      wa_fcat-key            = 'X'.
      APPEND wa_fcat TO fcat.
      CLEAR wa_fcat.
      wa_fcat-fieldname      = 'MESTYP'.
      wa_fcat-ref_tabname    = 'EDIDC'.
      wa_fcat-ref_fieldname  = 'MESTYP'.
      APPEND wa_fcat TO fcat.
      CLEAR wa_fcat.
      wa_fcat-fieldname      = 'STATUS_OLD'.
      wa_fcat-seltext_l      = 'Status alt'(002).
      wa_fcat-seltext_m      = 'Status alt'(002).
      wa_fcat-seltext_s      = 'Status alt'(002).
      APPEND wa_fcat TO fcat.
      CLEAR wa_fcat.
      wa_fcat-fieldname      = 'STATUS_NEW'.
      wa_fcat-seltext_l      = 'Status neu'(003).
      wa_fcat-seltext_m      = 'Status neu'(003).
      wa_fcat-seltext_s      = 'Status neu'(003).
      APPEND wa_fcat TO fcat.
    alv sortierung
      CLEAR wa_alv_sort.
      wa_alv_sort-spos            = 1.
      wa_alv_sort-fieldname       = 'DOCNUM'.
      wa_alv_sort-up              = 'X'.
      APPEND wa_alv_sort TO alv_sort.
    alv Ausgabe
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program = alv_report_id
          i_grid_title       = alv_grid_title
          is_layout          = alv_layout
          it_fieldcat        = fcat
          i_save             = 'A'
          it_sort            = alv_sort
          is_variant         = alv_variant
        TABLES
          t_outtab           = out
        EXCEPTIONS
          program_error      = 1
          OTHERS             = 2.
    </code>
    You can manipulate the status of each idoc.

  • How to find contents of ABAP proxy message

    we are using an ABAP proxy to send data including a document number from SAP to PI when a document is received on our SAP ERP system.
    it is possible under certain conditions that the proxy will not be processed, but the document has. I want to be able to check the messages sent to PI  to ensure that all the data has actually created a proxy message. How can I, if it is possible, find the data within the messages so I can determine if the whole process has completed OK.
    Put another way how do we know what data is in a message as listed under transaction SXMB_MONI ? The GUID in this transaction appears to relate to table SXMSPMAST but how can I find the information contained within that message so I can then link the message with the original document and then if necessary call the proxy again for that document ?
    Colin
    Edited by: Colin Heap on Oct 22, 2009 5:16 PM

    The problems I mentioned above seem to have been down to the xml messages themsleves rather than the coding found from Ravis' link however I made a few changes to the code to add more flexibility in the search parameter and also a TRY - ENDTRY to deal with the problem of abends when the SAP cannot interpret the message contents.
    please refer to the original BLOG ( Super Message Monitor for SAP XI ) by Alessandro Guarneri at the link in Ravis' post.
    I have then made the following changes. Please note that the field names used in my code are slighlty different to the original code to fit in with local coding practice however I think it will be easy for a programmer to interpret the changes
    1. Selection Screen 850 has been changed to use a SELECT-OPTION for the payload value. In Alessandros' code this is in INCLUDE ZXIMONI_RSXMB_SEL_MSG_SEL.
    * Super selection screen -------------------------------------------------- BEGIN
    TABLES: idxsndpor, idxrcvpor.
    SELECTION-SCREEN BEGIN OF SCREEN 0850 AS SUBSCREEN.
    SELECTION-SCREEN COMMENT 5(40) text-S98.
    * IDoc
    SELECTION-SCREEN BEGIN OF BLOCK idoc WITH FRAME TITLE text-s16.
    * Sender
    SELECTION-SCREEN BEGIN OF BLOCK idoc_snd WITH FRAME TITLE text-s14.
    SELECT-OPTIONS: s_snum FOR idxsndpor-idocnumber NO INTERVALS,
                    s_styp FOR idxsndpor-idoctyp    NO INTERVALS.
    SELECTION-SCREEN END OF BLOCK idoc_snd.
    * Receiver
    SELECTION-SCREEN BEGIN OF BLOCK idoc_rcv WITH FRAME TITLE text-s15.
    SELECT-OPTIONS: s_rnum FOR idxrcvpor-idocnumber NO INTERVALS,
                    s_rtyp FOR idxrcvpor-idoctyp    NO INTERVALS.
    SELECTION-SCREEN END OF BLOCK idoc_rcv.
    SELECTION-SCREEN END OF BLOCK idoc.
    * Payload
    SELECTION-SCREEN BEGIN OF BLOCK xp WITH FRAME TITLE text-s30.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT (30) text-x01 FOR FIELD p_xpath.
    PARAMETERS: p_xpath TYPE text256.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT (30) text-x02 FOR FIELD s_xvalue. 
    PARAMETERS: p_xvalue TYPE text256 NO-DISPLAY.                   
    SELECT-OPTIONS s_xvalue for p_xvalue.                                      
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK xp.
    SELECTION-SCREEN END OF SCREEN 0850.
    * Super selection screen -------------------------------------------------- END
    I'm having trouble entering the next piece of code for INCLUDE ZXIMONI_RSXMB_CUSTFILTERS  so will enter it in the next post.

  • Currency_KONP-KONWS-EUR-1-is-not-identical-to-the-currency-in-the-agreement

    Hi all,
    Can you please help me out in this ??
    Topic: Blocked Idoc error message "Currency KONP-KONWS EUR 1 is not identical to the currency in the agreement"
    Please some one explain (elaborate) me on the above mentioned error message and also tell/give idea to resolve the error. Thanks in advance.
    I really need the solution. please help me .
    Regards,
    Prathveesh K

    You have to give more details like during which stage or what for the IDOC is being executed?  Also share the error message number.
    G. Lakshmipathi

  • Question to "serial sending a message from R/3 to XI"

    Hi,
    I want to know when I serialize the receiving of the message in XI and one sending of a message goes wrong.
    So are the following message blocked??
    Thanks.
    Regards
    Stefan

    hi,
    yes if you use EOIO (proxies or IDOCs)
    the rest is blocked
    IDOC serilalizing is described in my book:
    (and how to handle error with IDOC EOIO)
    <a href="/people/michal.krawczyk2/blog/2006/10/11/xi-new-book-mastering-idoc-business-scenarios-with-sap-xi"><b>Mastering IDoc Business Scenarios with SAP XI</b></a>
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>
    Regards,
    michal

  • Order Confirmation - Generate IDoc even if the order is credit block - How?

    Hi EDI Experts,
    I have a simple requirement. I have no requirement set up in the output determination procedure for Order Confirmation. At this scenario, i am getting outbound 855 IDoc for all the orders except, the orders with Credit block on it.
    The client wants to send out the order even if it is credit blocked. Is there a way that i can do this?? Any suggestions ??? Your views are most welcome.
    Thanks and Waiting for youy replies,
    Creasy Matt

    Hi,
    I'm not sure, whether it is apt to ur requirement.
    We can remove the Credit block by configuring the 'Sales Order Types'.
    from the Tcode: VOV8, 
    Select ur order type (OR), click on the details icon
    there u can find the 'Delivery block' at the Shipping tab.
    thanks\
    Mahesh

  • How to block the status mail for an inbound Idoc to a specific user

    Hi,
    I have to stop sending the error status mail to a specific user depenidng on Partner Type. This will trigger when an inbound Idoc contains status error(message type INVOIC &ORDRSP).This user needs other mails which are getting triggered with the same Idoc for the same partner. Basically, the requirement is to block only the status mail for that user. The statndard task for this is TS70008125 and it uses the agent determination rule 30000001 (Idoc Administrator).in WE46, this task is assigned to process code EDIR. I have copied the task to a custom task and changed the agent determination rule. I would like to know how will I configure this task so that this custom task will trigger for the status error, without altering other workflows for the same message type & the partner type. Or is there any other way to block the mail?
    Thanks,
    Santosh

    Hi,
    I have done the required coding to exclude the specific agent from the rule,copied the task and its ready. My question is how do I map this custom task to a particular partner type, for the message type INVOIC in WE20? (The message type used for the inbound Idoc is INVOIC). I checked the Partner profile in WE20. Most of the process code is using function module as the processing type.
    Thanks,
    Santosh

  • Invoke IDOC ORDCHG whenenver credit block of sales order is released.

    Hi All,
    Scenario : In the business process, whenever a sales order is created then a Purchase Order is created. And then an outbound ORDERS03 IDOC gets created. Now if the Sales Order is on credit block then a custom segment is dynamically created and sent through the IDOC. But if the later on the Sales Order credit block is released then I need to again send the IDOC with custom segment IN IDOC ORDCHG. As the change in credit block status in Sales Order does not reflect in the PO, so the IDOC doesnt get created. Please advice how to get the IDOC created even in case of credit block status change.
    Thanks in advance..
    Rahul.

    Hello,
    As you said the customer is over limit, after you release the order and do avialability check again, the order will again get blocked because of credit check. The system is behaving correctly as per standard SAP.
    Check the credit limit of the customer and the credit availed in FD32. If you want to deliver the order, you will need to release the credit block again.
    Prase

  • Idoc error (Account vendor no. is currently blocked by user user name )

    Hello ,
    I am sending a cremas idoc from external system (XI) to R3
    But the idoc doesnt get posted.
    It throws the following error 51
    Account <vendor no.> is currently blocked by user <user name(login id for R3)>
    I tried resending this idoc using tcode we19 and was successful in testing it
    However, when i try sending it through XI, it gives me the error
    Does any one know how this can be solved?
    Regards,
    Roshani

    Hi,
    Please make sure that no more screens are open while trying to send the idoc and try again after you get succes from WE19 , It should be posted.
    Also check the thread it says in sm12 if there is any lock entry delete it.
    Error :Account 1000 is currently blocked by user SAPUSER
    Thanks!
    Edited by: sudhir tiwari on Nov 21, 2008 1:07 PM

  • How to place a delivery block at line item level from Inbound ORDERS IDoc?

    Hi EDI/ABAP Experts,
    Can anyone please tell me how to place a delivery block at line item level from Inbound ORDERS IDoc?
    I tried using exit "EXIT_SAPLVEDA_001'. But there is no LIFSP field in either of XVBEP and YVBEP structures.
    Can you guys throw some light. How to place a delivery block @ line item level on sales order from Inbound ORDERS IDoc.
    Thanks,
    Matt .

    Look into the Include: LVEDAF5A that is the only place where this exit is hit... double click on the Structures and look which structure has billling block field.. and use that..
    FORM CUSTOMER_FUNCTION_IDOC USING IDOC_DATA.
      CALL CUSTOMER-FUNCTION '001'
        EXPORTING SEGMENT = IDOC_DATA
                  DVTCOMAG = VTCOMAG
                  DXMESCOD = IDOC_CONTRL-MESCOD
                  CONTRL   = IDOC_CONTRL
        TABLES    DXBDCDATA = BDCDATA
                  DXVBAP    = XVBAP
                  DXVBEP    = XVBEP
                  DYVBEP    = YVBEP
                  DXVBADR   = XVBADR
                  DYVBADR   = YVBADR
                  DXVBPA    = XVBPA
                  DXVBUV    = XVBUV
                  DD_FLAG_P = D_FLAG_P
                  DXKOMV    = XKOMV
                  DXVEKP    = XVEKP
                  DYVEKP    = YVEKP
        CHANGING  DXVBAK   = XVBAK
                  DD_FLAG_K = D_FLAG_K
        EXCEPTIONS
                  USER_ERROR = 01.
    If you are in ECC6.0  you can also use Enhancement point : INTERPRET_IDOC_ORDERS_01 SPOTS ES_SAPLVEDA. in include: LVEDAF2U

Maybe you are looking for