Avoid processing of WPUBON in certain case

Hello Experts,
We have a requirement for an Invoicing Scenario for a SAP IS R System. In this scenario, in case of a Particular Condition Type (ZXXX) in WPUBON IDOC (Segment E1WPB03), the further processing of Goods Movement (Article Document) and Billing Invoice (Billing Document) is avoided.
I know there are following user exits which may be used, however I am not sure if this is possible and if yes how -
EXIT_SAPLWPUE_050              POS Inbound Processing Messages
EXIT_SAPLWPUE_102              IDoc WPUBON01 Before Document is Posted
EXIT_SAPLWPUE_104              IDoc WPUBON01 Before Inbound Processing
EXIT_SAPLWPUE_105              Check Whether IDoc Transaction WPUBON01 Is Compressable
EXIT_SAPLWPUE_106              IDoc WPUBON01 Process User Segment
EXIT_SAPLWPUE_109              IDoc WPUBON01 After Inbound Processing
Any pointers are appreciated.
With Regards,
Vikrant

Hi Carsten,
Thanks for your reply.
I have found out the User Exit EXIT_SAPLWPUE_102 can be used but not sure how. Do you have any idea??
I am not sure, but I would like to know how we can handle this kind of scenario with Transaction Type and corresponding configuration. Can you please guide for this also??
With Regards,
Vikrant

Similar Messages

  • How do i get my code to be applicable in a certain case

    Greetings ABAPers. I would like to know the various ways in which i can get my code to be applicable in a certain case. Ive include the code below. I want the code to execute only when the object type is 'BP' for business partner. That is, i want my logic (code) to execute only when the object type is an external object (BP) otherwise it should be handled normally the way SAP handles internal objects. The tricky part for me isnt the actual check because i could have used the CHECK statement. The tricky part is how do i tell it to handle it the way SAP handles normal internal object assignments i.e. pass execution onto SAP so to speak.
    Any suggestions as to how i can clean up my code and improve my commenting is also greatly appreciated.
    Code:
    method if_ex_hrbas00infty~before_output.
    Ensure that this validation only occurs for this user
    check sy-uname = 'LMANDIMIKA'.
    If the function code is an insert then continue or stop otherwise
    check pppar-fcode = 'INSE'.
    *Data declarations
    data: lt_hrp1001 type table of hrp1001,
    ls_hrp1001 type hrp1001,
    lv_sobid type sobid,
    lv_sclas type sclas,
    lv_rsign type rsign,
    lv_relat type relat,
    lv_plvar type plvar,
    lv_otype type objid.
    Clear the local table and local variables
    refresh lt_hrp1001.
    clear: lv_sobid, lv_sclas, lv_rsign, lv_relat, ls_hrp1001, lv_plvar, lv_otype.
    *Take our data declarations and insert data elements from the new relationship which we are trying to create.
    lv_sclas = old_innnn-vdata+0(2). "target object type
    lv_sobid = old_innnn-vdata+2(10). "target object ID
    lv_rsign = old_innnn-subty+0(1). "relationship direction
    lv_relat = old_innnn-subty+1(3). "relationship type
    lv_otype = old_innnn-otype.
    lv_plvar = old_innnn-plvar. "planned version
    *Check for existing relationships between a BP of that type with other external objects
    select * from hrp1001 into table lt_hrp1001
    where plvar = old_innnn-plvar
    and sobid = lv_sobid
    and sclas = lv_sclas
    and rsign = lv_rsign
    and relat = lv_relat
    and otype = lv_otype.
    *Loop through the table and compare the existing relationship with the new one
    loop at lt_hrp1001
    into ls_hrp1001.
    Check that the end date for the existing relationship is after (greater than) the start date for the new relationship.
    if ls_hrp1001-endda > old_innnn-begda and ls_hrp1001-begda < old_innnn-endda.
    message e004(/cco/a3_msg) with lv_relat lv_sobid '' ''.
    exit.
    endif.
    endloop.
    endmethod.

    Hello kpmolinarivera,
    The iTunes Store country can be changed in Settings > iTunes & App Stores > Apple ID: > View Apple ID > Country/Region.
    iOS: Changing the signed-in iTunes Store Apple ID account
    http://support.apple.com/kb/HT1311
    Cheers,
    Allen

  • How do i get my code to be applicable in a certain case only

    Greetings ABAPers. I would like to know the various ways in which i can get my code to be applicable in a certain case. Ive include the code below. I want the code to execute only when the object type is 'BP' for business partner. That is, i want my logic (code) to execute only when the object type is an external object (BP) otherwise it should be handled normally the way SAP handles internal objects. The tricky part for me isnt the actual check because i could have used the CHECK statement. The tricky part is how do i tell it to handle it the way SAP handles normal internal object assignments.
    Any suggestions as to how i can clean up my code and improve my commenting is also greatly appreciated.
    Code:
    method if_ex_hrbas00infty~before_output.
    Ensure that this validation only occurs for this user
      check sy-uname = 'LMANDIMIKA'.
    If the function code is an insert then continue or stop otherwise
      check pppar-fcode = 'INSE'.
    *Data declarations
      data: lt_hrp1001 type table of hrp1001,
            ls_hrp1001 type hrp1001,
            lv_sobid type sobid,
            lv_sclas type sclas,
            lv_rsign type rsign,
            lv_relat type relat,
            lv_plvar type plvar,
            lv_otype type objid.
    Clear the local table and local variables
      refresh lt_hrp1001.
      clear: lv_sobid, lv_sclas, lv_rsign, lv_relat, ls_hrp1001, lv_plvar, lv_otype.
    *Take our data declarations and insert data elements from the new relationship which we are trying to create.
      lv_sclas = old_innnn-vdata+0(2).    "target object type
      lv_sobid = old_innnn-vdata+2(10).   "target object ID
      lv_rsign = old_innnn-subty+0(1).    "relationship direction
      lv_relat = old_innnn-subty+1(3).    "relationship type
      lv_otype = old_innnn-otype.
      lv_plvar = old_innnn-plvar.         "planned version
    *Check for existing relationships between a BP of that type with other external objects
      select * from hrp1001 into table lt_hrp1001
        where plvar = old_innnn-plvar
          and sobid = lv_sobid
          and sclas = lv_sclas
          and rsign = lv_rsign
          and relat = lv_relat
          and otype = lv_otype.
    *Loop through the table and compare the existing relationship with the new one
      loop at lt_hrp1001
        into ls_hrp1001.
    Check that the end date for the existing relationship is after (greater than) the start date for the new relationship.
        if ls_hrp1001-endda > old_innnn-begda and ls_hrp1001-begda < old_innnn-endda.
          message e004(/cco/a3_msg) with lv_relat lv_sobid '' ''.
          exit.
        endif.
      endloop.
    endmethod.
    Edited by: Lovemore Mandimika on May 14, 2008 10:36 AM

    Hello kpmolinarivera,
    The iTunes Store country can be changed in Settings > iTunes & App Stores > Apple ID: > View Apple ID > Country/Region.
    iOS: Changing the signed-in iTunes Store Apple ID account
    http://support.apple.com/kb/HT1311
    Cheers,
    Allen

  • Is it possible to run process chain from the certain process/point?

    Hello
    Is it possible to run process chain from the certain process?
    How?
    Thanks

    Hello,
    yes it possible! use the following steps.
    1. Goto the process which you want the chain to start from.Goto display messages>> Chain tab. In the generated instance note the variant and instance.
    2. Goto table RSPROCESSLOG and give variant and instance and get logid details.
    3. t codese37>> run FM RSPROCESSFINISH.
    4. give the deatils u have got in RSPROCESSLOG table here and say execute.
    This will solve ur problem.
    Hope this helps!
    Reg
    Deepmala

  • Avoid processing of Duplicate Synchronous Messages

    Hi,
    I have two synchronous messages coming with almost zero delay in it. Both the messages contains the same data which is causing a major problem in the backend.
    I want to avoid the processing of duplicate message. My scenario is HTTP to SOAP (sync)...
    The option that I thought of are:
    - Using BPM so that messages can be sent sequentially to backend and there it can be checked for duplicate entries (client is not ready to use BPM)
    - Providing Delay in Message Mapping...(I will end up with same issue as same amount of delay will be provided to both the messages may or may not but dont want to take risk)
    - I cant make a look up to see if entry already exists as the difference between incoming duplicate messages are so small that it will not give the desired result.
    Also thought of creating message ID in URL only but it is not possible with QOS BE.
    Is there any way through which I can process the sync messages in sequential way... or something that will avoid processing
    of duplicate messages?
    Any thought?
    Thanks,
    Sunil Singh

    Hi Sunil,
    Checking the data weather is duplicate or not (ie, its already resides in Rev application) would sure require to use of lookup or BPM.
    >
    SUNIL SINGH wrote:
    > I want to avoid the processing of duplicate message. My scenario is HTTP to SOAP (sync)...
    even if the data is comming with some delay between them. how will you check that is duplicate message or not unless you use lookup or BPM in it to compare two independent messages at runtime.
    My idea would be! instead of trying to put a validation at PI.
    check in the source system whats causing their application to generate duplicate messages in first place and send it to PI.
    check whats the issue over there and ask them to rectify it or rather not to trigger duplicate data. (it would be easier to control this from source application).
    PS: even if we find a way to stop duplicate messages to be processed inside PI. its unnecessary load for PI.
    -->Senthilprakash.

  • Lock an Idoc to avoid processing twice

    Hello,
    I have a question on how I can avoid processing an idoc which is already in process.
    Scenario: The Idoc is processed manually. Within a second gap, a batch program also processed the same idoc.
    Result: 2 subsequent LUW Idocs got created.
    It has to be avoided.
    Logic : Once the Idoc processing it started, function module ZIDOC_INPUT_SHIPMENT_LUW is triggered. This calls ZETM_OPTIMIZED_SHIPMENT_LUW function module which in turn calls ZETM_PROCESS_SO_LUW. For event ACPD, if shipment does not exist then check if delivery exists. If delivery does not exist, create delivery. If delivery is created, then call function module IDOC_INBOUND_WRITE_TO_DB. Then call function module IDOC_START_INBOUND. Idoc status set to 53.  Call function module IDOC_STATUS_WRITE_TO_DATABASE.
    For manually triggered idoc, subsequent idoc is created without delivery.
    Batch processing created delivery and then the subsequent Idoc.
    Former should not occur.
    How can I resolve it?
    Is it possible to lock the Idoc once the processing is started?
    Any alternate way?
    Appreciate your help.
    Thanks,
    Benjamin

    Hi,
    Check an idoc in we05 here you will get partner details from control record,
    for inboud IDOC your system will be reciver system, get those partner details from edidc fill the same details in both sender and reciver.
    or get an idoc number form your system inboud or outbound Idoc then goto se11 and table EDIDC enter idoc number you will get the control record values for that idoc if it is inboud idoc just chsnge the sender information and copy same values as in reciver for outboud vice versa, just change the parter details..
    hope this helps you.
    Thanks
    Pavan

  • Automated process to crop away certain pixels

    How can I automate the process to crop away certain pixels from the edges of a batch of pictures of different dimension?
    Example:
    Picture 1 : 400 x 600px
    Picture 2 : 360 x 480px
    Picture 3 : 600 x 800px
    I want to crop away 5px from each edge of each picture which would then end up being 390x590px, 350x470px and 590x790px respectively.

    MichaelTeoh wrote:
    I want to crop away 5px from each edge of each picture which would then end up being 390x590px, 350x470px and 590x790px respectively.
    Example:
    Picture 1 : 400 x 600px    = 400:600 = 4:6 =  2:3
    Picture 2 : 360 x 480px    = 36:48 = 6:8 = 3:4
    Picture 3 : 600 x 800px   =  3:4
    So you can record the three action to center crop your images to the 2:3 and 3:4 aspect ratios  shown in your examples then use image size to size them you three example  pixel sizes then use canvas size to to trim the 5 px of the border,  just set the canvas to you three sizes 390x590px  350x470px and 590x790px do not check relative and leave the anchor point in the center.  Five pixels will be trimmed form all sides. Any image that started with the correct 2:3 or 3:4 aspect ratios will not be cropped by the first crop only the canvas size crop will trim pixels.
    To handle both Portrait and Landscape image the action would need to record a fit image step instead of the image size step a fit image step fit to longest side need to be recorded  and the canvas size would need to be recorded to trim both width and height by a relative -10px.   My  AspectRatioSelection plugin will automatically orient the aspect ratio recorded to the images orientation.

  • Diagram disable adds overhead in certain cases

    I was doing some timing tests of two ways to do the same thing – a typecast and flatten to string.  Well, in the process I saw a discrepancy when a diagram disable structure was wrapped around a typecast.  Without the diagram disable, 1000000 iterations took 274 msec.  With a diagram disable around the same thing, it took 1485 msec.
    This scared me a bit, because technically the diagram disable case should be no different (ok, maybe a small overhead).  It further scared me, because the same overhead is invisible with flatten to string.  Inconsistent behavior…
    The vi that clearly shows the “bug” in 8.0.1 is attached.
    This is not a show stopper, but says “use the diagram disable structure with caution”.
    Thoughts?
    Attachments:
    Diagram Disable Bug.vi ‏24 KB

    Apparently that wasn't the only case where Diagram Disable behaves differently than just having the code inline.  I also was  investigating the performance of certain VIs, because I wanted to know if variant operations were faster than flatten/unflatten to/from string.
    In the following snippet, I set the number of loop iterations to 100 and ran the VI, resulting in an Elapsed Time of ~50ms.  I then moved the 'To Variant' VI inside the Enabled structure for both cases (Disabled and Enabled), and running the VI again resulted in an elapsed time of over 2 seconds!  The source code should be identical in both cases, but it appears as though there is some optimization occuring in the first case that is not occurring in the 2nd case. It's as though in the first case, the compiler is smart enough to realize that the loop output does not change from iteration to iteration, but in the 2nd case it gets stupid.
    So continue to beware of the Diagram Disable structure...
    Attachments:
    benchmark.png ‏71 KB

  • How to avoid use of function module in case of background jobs?

    Hi ,
           I am working a file tranfer interface .Functionality is to extract file either apllication or presentation server , and process the file  through bapi , send the  result in their respective server. This program should run through batch jobs in background mode.
    I am using following function module :
      SUBST_GET_FILE_LIS : Get the file list from application server
    TMP_GUI_DIRECTORY_LIST_FILES : Get the file list from presentation server
    GUI_UPLOad : to extract file data   from presentation server
    GUI_downLOAD : to download data  to presentation server
    in case of background job these function modules will not work.... so how to resolve this issue...
    what are the methods we can apply?
    Thanks & Regards
    Sandeep

    Hi,
    This FM is used to get list of files from Application server (will work in Background). This cannot be used to list files from presentation server.  There is no way , by which you can process presentation server files in background mode.
    Regards
    Vinod

  • How to avoid withholding tax posting in the case of ERS

    Hi
    We are trying to process Rent using Frame work Order.
    The issue here is withholding tax codes maintained for other purposes like Professional Fee, etc in the vendor master gets picked up automatically in this Rent invoice and the relevant WH Tax postings are made in the accounting document.
    Being ERS and usage of T code MRRL, the invoice generation is automatic instead of manual MIRO. Hence, user has no control to deselect withholding tax codes while generating invoices.
    Appreicate any suggestions how to avoid this?
    OR
    Is there any way of posting rent using frame work order instead of ERS (ie MRRL)?
    Please let me know if I m not clear.
    Thanks
    Sridevi
    PS: In Spain, there is no WH tax on Rent

    Hi,
    Assign a new Accounting Document to T. Code "MRIS" in OMR4.
    First create a new Document Type
    Then Assign Document Types in Invoice Verification
    Now go to OBBH - Substitution in Accounting Documents and write substitution for this new FI Doc Type and T. Code MRIS. Here take help of your FI consultant.
    You can use field XREF3 - Cash Flow, and keep constant vale for this as "Blank" since it is Relevant with Cash Flow.

  • How to stop form processing in script at certain condition

    Hi,
    I need to stop sap script form processing at a certain conditon. E.g., if there are 3 or less items to be printed it should not print the form at all. Since im using standard print pgm i can make changes only in form. Is there any command in (like stop or exit) script to do so? please let me know.
    Rgds
    sudhanshu

    You can create a output control requirement in the transaction VOFM and attach the requirement to the condition type in an output procedure or to an individual access in an access sequence.
    What you can do in this requirement routine is set sy-subrc to 4 if the condition is not met and 0 otherwise.
    Your functional consultant should be able to help you with this.
    regards,
    Advait

  • How exclude QM in certain cases

    1)In normal cases they are purchasing  a material and created inspection lot (with movement type 103) and taking usage decision(if accepted ,will go to unrestricted(105) otherwise returned with 124)
    How ever if the same material purchased from another vendor it should not under go any inspection(it should not create inspection lot as inpsection not required) .
    2)Also the same material if they purchase from local vendor it should not create inspection lot.(inspection not required)
    3)For Non stock materials(UNBW), inspection is required. how to address this.is it possible  by manual inspection lot or source inspection
    Edited by: raguram29 on Jun 24, 2010 2:03 AM

    Hi Raguram,
                           2)Also the same material if they purchase from local vendor it should not create inspection lot.(inspection not required)
    This can be achieved by settings in QM info record --QI01 -Here you can avoid inspection lot for particular vendor & material combination in Inspection control tab set as X-No Inspection
    3)For Non stock materials(UNBW), inspection is required. how to address this.is it possible by manual inspection lot or source inspection
    This can be achieved by settings in QM info record --QI01 -Here you can Get material  inspection for particular vendor & material combination in Inspection control tab Tick Source inspection -no GR
    Thanks,
    Rajanikanth

  • Avoid Process chain parllel run

    Dear Experts
    I have to execute 8 process chains through an interface A (8 PC handles by different dept people).
    8 PC have a common IP,sometimes if they trigger at same time I am facing table lock error.
    Now I want to avoid this parllel execution of PC eventhough they trigger in same time.
    Requirement:out of these 1 PC runs then other PC should wait for the completion of 1 and then should get trigger.
    Any logic for ABAP or any option on BI7 ?
    Please help me
    Assuring for full points.
    Thanks and regards
    Rajesh

    Hi...
    First create 7 Events in SM62........suppose.......A,B,C,D,E,F,G.........
    U use the process Program ............and the Program name is BTC_EVENT_RAISE............
    Incluse this program in the end of each PC......And this program will raise event........
    First PC1 will run........make it time based.......in the end include the program............which raise Event A.......
    Include A in the Start variant of PC2............(ie..make rest all the 7 PC event based)....so once PC1 completed.it will trigger PC2...........
    Similarly...........PC2 will rsise Event B............which in turn will trigger PC3............
    In this way the other chains.......
    Design the PC s in this format......
    Start Process
    Program
    Regards,
    Debjani.......

  • Not all my passwords are synced across. Are there certain cases when it is not supposed to?

    I have two computers, one at work and my personal laptop. Both are set up to use FF4 sync, and I checked, passwords are enabled to be synced. However, I found that certain passwords are not synced (well, one at least) -- I thought adding the page as a favourite might help but no luck. The password is still not synced. Are there circumstances in which passwords should not sync (by design)? Or is this some bug?
    Thanks for the great browser, guys and gals!

    It's possible that particular Password is somehow "broken" to sync. In which case, Sync will skip it.
    To correct it;<br>
    - Delete the entry that isn't syncing from your passwords. <br>
    - Sync Now<br>
    - Then visit the page for the password, add the password<br>
    - Sync Now, again<br>
    - Finally, Sync Now, from other machine.

  • Oracle 11g stored procs: SELECT ALL_ARGUMENTS not returning certain values in certain cases

    I'm doing a select on the ALL_ARGUMENTS like:
    SELECT count(*) FROM all_arguments WHERE owner LIKE 'MySchema' ESCAPE '/' AND object_name LIKE 'MyStoredProc' ESCAPE '/' AND package_name LIKE 'MyPackage' ESCAPE '/';
    Sometimes, after connecting to the DB after a certain period of time, I get a result = 0, althought the Stored Procedure is there. Immediatelly after that I retry, and I get result = 2.
    Why is that? Does the SELECT recompile the stored proc?

    I'm surprised that you get anything if you use that query.
    Oracle considers object names to be uppercase unless the name is enclosed in double quotes. So there would be no schemas with a name 'MySchema' since the name would actually be 'MYSCHEMA'.

Maybe you are looking for

  • HT201290 how to use QuickTime with OS 10.9.5

    I would like to watch downloaded files of a TV series which are on my hard drive.  However, 4 of the downloaded files will not play using QuickTime.  Episodes 5 through 11 are fine.  I borrowed an external drive from a friend who downloaded the same

  • Radiogroups submitted to a report

    Hi, I'm new to apex, using Apex 4.1.1. I've created a report which contains two columns of dates and a radiogroup for each as follows: select apex_item.radiogroup(1,report1) "Radio 1" ,report1 ,apex_item.radiogroup(2,report2) "Radio 2" ,report2 from

  • Finder not working after sleep

    Whenever my macbook pro 13" late 2011 wakes from sleep, finder no longer works, and I cannot shut down. I have to force shut down by holding in the power button, and then boot up again. I'm not a power user, and don't know how to fix the problem. If

  • Transform html to a microsoft word doc

    Hello!, here's a problem. I have a program that generates documents in HTML. The user needs to work with this documents but he wants the documents in MSWord format. i know how to store the html and how to put binary documents in navigator, but not to

  • [solved] System crash and freeze. Kernel issue?

    My computer just crashed pretty bad a couple times in a row: Apr 30 15:45:14 black kernel: [ 950.973380] BUG: unable to handle kernel NULL pointer dereference at 00000002 Apr 30 15:45:14 black kernel: [ 950.973502] IP: [<c0256292>] __block_write_full