Interface Error Handling

Hi Experts,
I am doing an Interface, Journal Upload for Transaction FB01 (F-65).
I have to check the following ERROR Handlings.
1. How can I find out a profit Centres is blocked for posting?
2. How can I find out a GL Accounts are blocked for posting?
3. Incorrect VAT code is allocated.
Please explain me clearly.
Thanks & Regards
Rajendra

Hi rajendra,
if you are using bdc, for uploading data, then the transaction itself will take care of raising the errors in case of erroneous data.
If you are able to get that eror message when you are doing the Fb01 transaction manually, the bdc will also result in the same error messages.
You hace to use an internal table of type bdcmsgcoll to collect such messages.
call transaction 'FB01' using it_bdcdata options from xctuparams messages into it_bdcmsgcoll.
loop at it_bdcmsgcoll.
call function 'FORMAT_MESSAGE'
exporting.
importing
message = lv_message.
write:/ lv_message.
endloop.

Similar Messages

  • Using code interface node with dll crashes LV 2011 but not LV 8.6... using max error handling does nothing

    Hi all,
    I'm having a peculiar problem.
    I inherited a project saved in LabVIEW 8.6. The project must use of particular dll that was built a few years ago. The original developer and source code for this .dll are long gone. The very core logic exists, in the form of embedded C code, and that's it. The .dll is called through a Code Interface Node in LV 8.6 and this setup manages to "work". Howver, running the VI that calls this .dll in LV 2011 causes an "insta crash", as in, no "program has stopped responding".  Error message pops up, then all LV windows close.
    It's very similar to that described in here:
    http://digital.ni.com/public.nsf/allkb/D84C9775ABD921CF8625772A005CA50C
    but this KB says to try putting the amount of error handling to maximum. I tried that, but it didn't help. 
    Using the "Debug" option allows me to run the just-in-time debugger with CVI 2010, which then proceeds to say this:
    Finally, I manage to get this out of it: 
    FATAL RUN-TIME ERROR:   Unknown source position, thread id 0x000012D4:   A non-debuggable thread caused a 'General Protection' fault at address 0x00000000.
    I don't think that really helps at all, but it's there.
    Here is the function prototype of the .dll:
    void  _inputPM@224(uint8_t arg1, uint16_t arg2, uint8_t arg3, float arg4, float arg5, float arg6, float arg7, float arg8, float arg9, float arg10, float arg11, float arg12, float arg13, float arg14, float arg15, float arg16, float arg17, uint16_t arg18, uint16_t arg19, uint16_t arg20, uint16_t arg21, uint16_t arg22, uint16_t arg23, uint16_t arg24, uint16_t arg25, uint16_t arg26, float arg27, float arg28, float arg29, float arg30, float arg31, float arg32, float arg33, float arg34, float arg35, float arg36, float arg37, float arg38, float arg39, float arg40, float arg41, float arg42, float arg43, float arg44, float arg45, float arg46, float arg47, uint16_t arg48, uint16_t arg49, uint16_t arg50, uint16_t arg51, uint16_t arg52, float arg53, float arg54, float arg55, float arg56);
    (never seen a function take 50 input params like that (wouldn't you use a struct? array? something? But I digress, and I don't know anything about .dlls...))  
    I do have a ".lib" and a ".cdb" file with the same name as the .dll, but those also looks like some kind of compiled file. 
    I'm sure the answer I'm going to get is that there is no way of telling what's really going on without .dll source code. I'm hoping against hope that there may be another way or hack.
    Any ideas? Thank you for you help. 
    Regards,
    Mark G 
    Solved!
    Go to Solution.

    MarkCG wrote:
    Changing the call library node to stdcall (WINAPI) did the trick! No more crash. Thank you very much!
    I haven't run LV2011 on windows XP, only on windows 7, so I don't know if that makes a dfference. But  The call type makes no difference when using LV 8.6 on the same machine, however.
    Now I've got to make the .DLL run corretly on a compact fieldpoint....  and avoid crashing IT. 
    Thank you for the help all!
    Well, the DLL did work fine in LabVIEW 8.6 because earlier versions of LabVIEW automatically proceeded to change the calling convention to stdcall, if they noticed a function name decoration of @# (# = number of bytes passed on the stack) appended to the name. This is the default naming decoration for stdcall functions used by VisualC. However this decoration can be overwritten with linker switches, other compilers don't use them always in the same way, and most likely there are in the mean time compilers out there that can produce such decorations also for non stdcall calling convention. So this automagic trickery was removed from newer LabVIEW versions.
    I do think it could be considered a bug in the code that upgrades LabVIEW VIs, that it uses the calling convention that is configuerd in the dialog, instead of the calling convention earlier LabVIEW versions used automagically, but it is an esoteric corner case.
    What Compact Fieldpoint controller do you have? If it's anything newer than 20xx or 21xx forget it. The 22xx controllers use a PPC CPU and VxWorks operating system and can never get a Windows DLL to operate properly. If it is a 20xx controller it's still highly likely that DLL can not even get loaded into LabVIEW as it likely relies on other runtime libraries and possibly Win32 APIs not present in the Pharlap ETS runtime kernel used on those controllers.
    There is a tool to check a DLL for incompatible imports that are not present on specific ETS RT systems. And this list summarizes the RT system used on the various NI controllers.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Forward Error Handling - File interfaces?

    Hello Experts,
    Can we use Forward Error Handling (FEH) for implementing error handling in File Interfaces ?
    Like for simple Application Server file interfaces, if something goes wrong during the process of writing/reading a file on App Server, can we use FEH for showing the log?
    I know it is a concept used for PI...so we want to know if it can be used for file interfaces as well? Just want to keep similar approach for error handling and logging (for both PI and File Interfaces).
    Thanks.

    Edit 1 May 2015: Added inbound
    Just a slight correction.
    FEH is used in the ABAP backend systems and are only for asynchronous inbound proxy interfaces. It is not available for sync proxies, IDocs, BAPIs. Neither is it available for any error handling on the PI system itself.
    PI/XI: Forward Error Handling (FEH) for asynchronous proxy calls with the use of Error and Conflict Handler (ECH)
    Message was edited by: Eng Swee Yeoh

  • Open DeviceNet interface error when TestStand call VIs of NI PCI-8532

    Hello,
    We use NI PCI-8532 was used as DeviceNet master to do functionality test with a slave (AC Drive).
    But when open DeviceNet interface, it happen the error.
    We can't find the solution and hope to find help from you.
    The basic sequence in TestStand is:
    1). Call "Open DeviceNet Interface.vi" to open interface and creat interface object.
         Interface(master) setting: interface name=dnet0, MAC ID=0, baudrate=125000bps
    2). Call "Open DeviceNet IO.vi" to creat DeviceNet IO object.
         Device(slave) setting: MAC ID=63
    3). Call "Operate DeviceNet Interface.vi" and operation code=start
    4). Call "Wait For State.vi"
    5). Call "Read DeviceNet IO.vi" to read data from IO object
    6). Call "Close Object.vi" to close IO object handle
    7). Call "Close Object.vi" to close interface object handle
    Remark, these DeviceNet VIs locates at "C:\Program Files\National Instruments\LabVIEW 2012\vi.lib\DeviceNet\VIAPI".
    First time to run sequece in TestStand, it can pass to run step 1) to open DeviceNet interface.
    But once there is some error with these steps, and it will happen "Open DeviceNet Interface" error (error code=0xBFF62006) when run these steps again.
    Then even use LabVIEW DeviceNet example to test, and it happen the same error except restart computer.
    The DeviceNet example locates at "C:\Program Files\National Instruments\LabVIEW 2012\examples\NI-Industrial Communications for DeviceNet\Basic Examples\PXI & PCI\MixedCommunication.vi".
    Some information more:
    PC operate system: Windows XP SP3
    LabVIEW version: 2012 SP1
    TestStand version: 2012 SP1
    PCI 8532 driver version: 2.3.0
    Other installed PCI board: PCI 8531 CANOpen

    The following errors may be resolved by resetting the CAN, DeviceNET or LIN device:
    Error -1074388986 occurred at ...
    NI-CAN:  (Hex 0xBFF62006) The object is already open in another application.  Solutions: Ensure that only one application at a time uses an object , and that you close all objects prior to exiting your application (don't use LabVIEW toolbar's Abort button).
    Error -1074388969 occurred at ...
    NI-CAN: (Hex 0xBFF62017) This attribute's value must be provided prior to the Open. Solutions: Set the attribute using the Config function before the Open, and do not set the attribute at any later time; Do not configure multiple CAN Objects for the same ID.
    SO,you should reset the DeviceNet.
    And another similar issue can explain some points of your problem  http://digital.ni.com/public.nsf/allkb/7D9383E9BEAD0B21862571640002F687?OpenDocument

  • Error handling in File - XI - SOAP scenario without BPM

    Hello!
    We have a File -> XI -> SOAP scenario without BPM. The problem is that if the Web Service sends back an error XI tries to reprocess the same message again and again instead of taking the next one.
    We do not want set the retry interval to NULL because most error cases are temporary connection problems and then also those messages would not automatically be reprocessed any more.
    We also have to use BE instead of EO, otherwise the Web Service will not return a response. But we need the response to be sure that the processing was successful. The message volume in this scenario is quite high and we do not want to use BPM only for the error handling.
    I know that from SP19 some additional adapter modules are available for async - sync scenarios without BPM. I tried to configure it like described in File - RFC - File without a BPM - Possible from SP 19. but it did not solve the problem. Does anybody have any other ideas? Thanks.
    Regards, Tanja

    Hi Tanja,
    >>>The volume is 3000 messages/day on business days and 700 messages/day during weekends but the traffic will increase in the future
    I think, you should check that out. It is assumedly only 2 days work to build a scenario:
    IDoc -> BP
    BP <-> SOAP/HTTP
    BP -> IDoc (Acknowledgement)
    In the process you need a condition branch, where you decide success or not. You need 2 Interface Mappings for filling the ALEAUD.
    Just send 1000 IDocs to the Test-XI and look to performance monitoring at Runtime Workbench, to find out, how many message will be processed in one hour. Assumedly 3000 and more per day should be possible. The advantage would be to reduce number of systems (no file system) and messages (better monitoring) and using the standard (better maintenance).
    >>>So you are suggesting I should use HTTP adapter and then add the SOAP header manually in a mapping?
    Yes, build the SOAP envelop during the mapping. Most easy is to use XSL or, if your mapping is ready, an additionsal XSL. You can put the error into the Acknowledgement to see it in ERP transaction WE02.
    Filling of ALEAUD fields:
    E1ADHDR/MESTYP: original message type
    E1ADHDR/E1STATE/DOCNUM: original IDoc number
    E1ADHDR/E1STATE/STATUS: 68 in case of error, 53 in case of success
    E1ADHDR/E1STATE/STATXT: Short description for R/3 user what has happend
    I ve done such a scenario several times. That works without any problems.
    Regards,
    Udo

  • BPM for error handling and acknowledgements

    Hi,
    Can any one tell me how to handle BPM for error handling and acknowledgements in one scenario.
    Please send me the link if you have other wise give me the solution on the same.
    Thanks,
    Nagesh

    Hi !
    Just check out these links This might help you.
    Usually Application Level Acknowledgement is considered during Sync communication. If you are using RFC, you can make use of Sync communication. So you can handle it without bpm, provided your both sender and receiver are sync interfaces.
    To know about Ack-
    http://help.sap.com/saphelp_nw2004s/helpdata/en/f4/8620c6b58c422c960c53f3ed71b432/content.htm
    you can not dirrectly access the content of the ACK, however the BPM shows different behaviours based on the ACK status. E.g. if the ACK contains a success message the BPM will continue in its normal process, if the ACK contains a permanent error, it will either stop or go through an exception branch (provided such a branch has been defined). Have a look at the documentation: http://help.sap.com/saphelp_nw04/helpdata/en/43/65ce41ae343e2be10000000a1553f6/content.htm It doesnt"t state the above mentioned behaviour in detail but says that you need to define an exception branch.
    The trickiest part is always to find out, when you will get a transient vs. as permanent error ack. If you are using ACKs with Proxies refer also to this link http://help.sap.com/saphelp_nw04/helpdata/en/29/345d3b7c32a527e10000000a114084/content.htm and this http://help.sap.com/saphelp_nw04/helpdata/en/f4/8620c6b58c422c960c53f3ed71b432/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/29/345d3b7c32a527e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/7b/94553b4d53273de10000000a114084/content.htm
    <b>The following link has entire configuration of Receiver XI Adapter (including acknowledgements)</b>
    http://help.sap.com/saphelp_nw04/helpdata/en/f4/0a1640a991c742e10000000a1550b0/content.htm
           <b>   eror handling in BPM.  
    </b>
    1. CCMS monitoring
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/42fb24ff-0a01-0010-d48d-ed27a70205a8
    2. BPM Monitoring
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e7bc3a5a-0501-0010-1095-eb47159e169c
    3. Monitoring XML Messages http://help.sap.com/saphelp_nw04/helpdata/en/41/b715045ffc11d5b3ea0050da403d6a/frameset.htm
    /people/sap.user72/blog/2005/11/29/xi-how-to-re-process-failed-xi-messages-automatically
    monitoring BPm https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e7bc3a5a-0501-0010-1095-eb47159e169c
    Reconciliation of Messages in BPM - /people/krishna.moorthyp/blog/2006/04/08/reconciliation-of-messages-in-bpm
    Also see the below BPM related links
    check list for BPM https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3bf550d4-0201-0010-b2ae-8569d193124e
    /people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers
    http://help.sap.com/saphelp_nw04/helpdata/en/3c/831620a4f1044dba38b370f77835cc/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/62/dcef46dae42142911c8f14ca7a7c39/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/de/766840bf0cbf49e10000000a1550b0/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/cb/15163ff8519a06e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/08/16163ff8519a06e10000000a114084/content.htm
    Many other examples can be found under the following link at help.sap.com
    http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm
    And some weblogs
    https://weblogs.sdn.sap.com/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken]
    /people/siva.maranani/blog/2005/05/22/schedule-your-bpm *****
    /people/krishna.moorthyp/blog/2005/06/09/walkthrough-with-bpm
    /people/michal.krawczyk2/blog/2005/06/11/xi-how-to-retrieve-messageid-from-a-bpm
    /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
    /people/sravya.talanki2/blog/2005/08/24/do-you-like-to-understand-147correlation148-in-xi
    /people/michal.krawczyk2/blog/2005/09/04/xi-do-you-realy-enjoy-clicking-and-waiting-while-tracing-bpm-steps *****
    /people/udo.martens/blog/2005/09/30/one-logical-system-name-for-serveral-bpm-acknowledgements *****
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    /people/kannan.kailas/blog/2005/12/07/posting-multiple-idocs-with-acknowledgement
    Also have a look at these seminars,
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/daea5871-0701-0010-12aa-c3a0c6d54e02
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/e8515171-0701-0010-be98-e37bec4706cc
    Thanks !!!
    Regards
    Abhishek Agrahari
    Questions are welcome here!!
    <b>Also mark helpful answers by rewarding points</b>

  • How to activate Forward Error Handling in SRM

    Hello Gurus,
    I got an requirement to activate Forward Error Handling in SRM. I have searched on SDN but didn't find appropriate answer on it.
    Even I found some link: PI/XI: Forward Error Handling (FEH) for asynchronous proxy calls with the use of Error and Conflict Handler (ECH)
    It explains me some points like activating FEH from SRM in SPRO. I have activated the same, plz check the screen shot:
    It also follows some development for the same.
    Here my concern is, should I follow this document? Does it applicable to all to all the scenarios?
    Step 8: it assign object id and type what does it mean...
    Does any one can explain me in detail..... Please provide me any document to configure the FEH in SRM.
    I am trying to implement FEH in my SRM system. So that when even XML fails due to error, I should be able to reprocess/restart it with some editing to the XML.
    My receiver interface for XML is PurchaseRequestERPSourcingRequest_In
    I think this is standard one and no need to make any custom code for it. SAP has all ready given solution for it with some Configuration.
    I have made some configurations like:
    The view FEHV_ACTIVE must have the status active.
    In transaction /SAPPO/LOGSYS , the logical system must be defined for the software component SRM-EBP-ESA .
    As stated in in the link :
    http://esworkplace.sap.com/socoview%28bD1lbiZjPTAwMSZkPW1pbg==%29/render.asp?id=2BAABCB0D30111DC2B8D000F20FCB6A9&fragID=…
    Also I have made some configuration according to the Note: 1973768 - No reprocess option is available in FEH for failed in XML in SRM
    Resulted, the “Process” button get activated in the XML Post Processing screen.
    But can I reprocess my XML with edited value from there..?
    All the  configuration part of PI  is already done .
    I wanted to know  about the  FEH  Part. what are the  steps   i am  missing  or where  i am  going  wrong ?
    Please let me help.
    Thanks
    Regards
    Karan

    Dear Raz,
    I have gone with above mentioned note, it explains about creating Custom Proxy and configuration with PI scenario. Even the link in my previous post, explains about the custom proxies and configuration..
    I think I should must be descriptive about my issue.
    I am trying to implement FEH in my SRM system. So that when even XML fails due to error, I should be able to reprocess/restart it with some editing to the XML.
    My receiver interface for XML is PurchaseRequestERPSourcingRequest_In
    I think this is standard one and no need to make any custom code for it. SAP has all ready given solution for it with some Configuration.
    I have made some configurations like:
    The view FEHV_ACTIVE must have the status active.
    In transaction /SAPPO/LOGSYS , the logical system must be defined for the software component SRM-EBP-ESA .
    As stated in in the link :
    http://esworkplace.sap.com/socoview%28bD1lbiZjPTAwMSZkPW1pbg==%29/render.asp?id=2BAABCB0D30111DC2B8D000F20FCB6A9&fragID=…
    Also I have made some configuration according to the Note: 1973768 - No reprocess option is available in FEH for failed in XML in SRM
    Resulted, the “Process” button get activated in the XML Post Processing screen.
    But can I reprocess my XML with edited value from there..?
    Can any one tell me, what are the steps I am missing here. As this is my first time to implement FEH, I am confused.
    Please let me help.
    Regards,
    Chandan

  • Transaction and Error handling in Mediator 11g

    Hi Experts/Gurus/All,
    We have following scenario in Mediators :-
    For Inbound Interfaces :-
    M1-->M2-->M3
    M1 calls M2 and M2 calls M3
    There are 3 mediators, Mediator#1(M1),Mediator#2(M2) and Mediator#3(M3)
    M1 performs a FIle Read and do a ABO-->OAGIS conversion
    M2 performs routing
    M3 performs a OAGIS -->ABO(JDE E1) conversion.
    Now,we are in middle to decide the Fault Handling Mechanism for this case.
    M1 is Asynchronous , M2 is Synchronous and M3 is also Synchronous.
    Question is :
    1. M1 will start a new Transaction,Do M1 will propogate the same transaction to M2 which,as being Synch,propogates the same transaction to M3 ?
    2. How will the commit and Roll back will be taken care of?
    3. What if M1 errors out?
    4. Whatif M2 errors out?
    5. What if M3 errors out?
    In question 3,4 and 5:
    What will happen will the Full Transaction ? If M3 erros out,would the Entire Transaction Propogated by M1 will be roll back?
    Also ,How about Error handling in this case:
    Do I need to create seperate fault-policy.xml and fault-binding.xml for M1,M2 and M3 ?
    Another Scenario is of OUTBOUND interfaces :-
    M1-->M2-->M3
    M1 calls M2 and M2 calls M3
    However , M1,M2 and M3 are all Asynchronous.
    In this scenarios how would I handle following :-
    1. If M2 Errors out,I need the entire Interface which comprises of M1-->M2-->M3 to roll back?
    2. If M3 Errors out,I need the entire Interface which comprises of M1-->M2-->M3 to roll back?
    3. Seperate Transactions means I have to create seperate fault-policy.xml and fault-mapping.xml to handle errors?

    Hi,
    You could create a package, and use the OdiSqlUnload to export the data into a flat file (csv) from snp_check_tab, then amend it. Then create an interface to load the data from the flat file to your tables, either via external tables or SQL Loader.
    Question is, why are you amending data going from source to target? there surely has to be something wrong with the Architecture (especially if you are getting errors in production). If you amend data, so that it is different in source as it is in target, then when it comes to regression testing, this will never match.
    The errors should go be fixed at source, and either you, or the business should have access to do so.
    Cheers
    Bos

  • How to Setup Forward Error Handling in PI Scenarios. Can you help me with the same with screen shots if possible?

    Dear all
    How to Setup Forward Error Handling in PI Scenarios. Can you help me with the same with screen shots if possible?
    Thanks
    Regards
    karan

    Hello
    These are the following errors
    1. Trace level="1" type="T">no interface action for sender or receiver found</Trace>
    2. <Trace level="1" type="System_Error">Application-Error exception return from pipeline processing!
    3.
    <Trace level="1" type="T">Application Error at Receiver... => ROLLBACK WORK</Trace>  
    <Trace level="1" type="T">System Error at Receiver... => ROLLBACK WORK</Trace>  
    <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST" />  
    <Trace level="1" type="System_Error">Application-Error exception return from pipeline processing!</
    Trace level="3" type="T">No persisting of message after plsrv call, because of config</Trace>Trace level="3" type="T">Error of the prevous version:</TraceTrace level="3" type="T">Error ID APPLICATION_ERROR</Trace>
    tThere are repeating errors also.
    TThanks
    Regards
    kkaran

  • Error Handling in JDBC Adaptor - Without BPM

    Hi friends,
    My problem is like this. Scenario is File -> Xi -> JDBC.
    here i didn't used BPM at all.
    My interface is working fine.
    right now i am not doing any error handling for 'Primary key violation, refrential intigrity etc.. '.
    if this type errors encountered i going to adapter monitoring and looking out the issue.
    Now the client requirment is
    whenever this type of errors occured Client should be notified Via email along with error description.
    Is there anyway to do this ?

    Hi Suresh,
    You can setup the Alerting framework of XI to trigger alerts. Alert rules can be set to raise alerts in case of JDBC Adapter Errors.
    Check these links....
    http://help.sap.com/saphelp_nw04/helpdata/en/3f/81023cfa699508e10000000a11402f/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/80/942f3ffed33d67e10000000a114084/frameset.htm
    Thanks & Regards,
    Renjith
    An addition to what i just said...You have to be on SP14 for this...
    Message was edited by: Renjith Andrews

  • File receive adapter command line error handling

    Hi,
    This is our requirement - After the file receive adapter, we need to run a script. Based on the return code of the script, we need to handle the error handling of the interface (i.e. send an email about the error).
    I have looked at the operating system command line in the file adapter. How does XI handle return codes for the command line? If the command line has a error return code, how to send an email from XI?
    If anyone has ideas on this topic, please respond!!
    thanks,
    lasya

    Hi,
    I don't think so, it is possible directly. You can not get the Response back to XI pipeline from the shell script.
    But you can think, if you are able to call this from Mapping.
    And one more option is using Transport Acknowledgement ( with BPM) if the file is not able to write into the target directory you can raise an alert-
    Blog on this-
    /people/michal.krawczyk2/blog/2006/06/22/xi-playing-with-the-file-adapters-acknowledgments
    Regards,
    moorthy

  • Error handling in bapi

    hi all,
          how to handle errors in bapis,and also can anyone send faqs on bapis.

    Hi
    A BAPI should be able to record and classify all possible errors that may occur a function Module BAPI_MESSAGE_GETDETAIL is used to Handle the Error Messages..
    You have to create a parameter named Return for every BAPI. This parameter returns exception messages or success messages to the calling program.
    BAPIs themselves must not trigger any messages (such as MESSAGE xnnn) in the coding. In particular they must not generate terminations or display dialog boxes. Instead, all messages must be intercepted internally and reported back to the calling program in the Return parameter. Otherwise the BAPI will not be processed correctly and control may not be given back to the calling program.
    All error messages or indeed any message that may be returned by the BAPI, must be defined in message table (Tools ® ABAP Workbench ® Development ® Programming environment ® Messages) and described in the documentation for the return parameter. This also applies to the most important or most likely error messages generated by other programs that can be indirectly passed via the BAPI to the application program.
    You must not use exceptions in BAPI interfaces.
    When a termination message (message type A) is triggered, a database rollback is executed in the standard programming model, that is, all tasks performed since the last COMMIT WORK are canceled. When you program BAPIs, we recommend that you also execute a database rollback in the return parameter for termination messages. You must describe this process in the documentation for the Return parameter. For messages of type E (error), the calling program performs the error handling.
    Application developers are provided with two service BAPIs to diagnose and process error messages from BAPI calls:
    BapiService.MessageGetDetail() displays the short and long texts of BAPI error messages.
    BapiService.ApplicationLogGetDetail(), with which information in application logs can be displayed.
    Features
    The export parameter Return can be implemented as follows:
    As a structure, whereby it must be defined in the function module as an export parameter, as well as in the method in the BOR.
    As a table, whereby it must be defined in the function module as a table parameter, as well as in the method in the BOR as an export parameter.
    Before filling the Return parameter you should either initialize the structure with CLEAR or the table with REFRESH and CLEAR.
    If the return parameter is not set or is set to an initial value this means that no error has occurred.
    The Return parameter may be based on the following reference structures:
    BAPIRET2
    You must use this reference structure when developing new BAPIS.
    BAPIRET1, BAPIRETURN
    These reference structures are still partly used in old BAPIs.
    Both structures must be filled in the logon language.
    Reward if Helpfull,
    Naresh.

  • Error Handling in OSB

    Hi,
    In OSB how to catch all different errors and send them to specific
    For ex:
    1.if i get a "file not found" error, i need to send an email notification
    2.if i get an arithmetic error , i need to send it to database
    like any other errors...
    Can we handle all those errors in a single error handler and send them to specific targets
    let me know any questions

    basically what is did is create a generic proxy service which will contain all the logic to handle your faults.
    so in your case you could create a soap or xml proxy service (let's name it ErrorHospital).
    the input of this proxy service needs to contain all the data you need to decide what to do with a certain error.
    for now let's make the interface something like
    <errorMetadata>
    <error>{$fault}</error>
    <payload>{$body}</payload>
    </errorMetadata>you could just add me metadata from the proces which is failing ofcourse, it's up to you to decide what data you need.
    now in for example the EmployeeService something fails.
    In the EmployeeService you add a service error handler, and for the start in this service error handler we will only do a publish to our new 'ErrorHospital'.
    Create the <errorMetadata> element in here and do the publish.
    At this stage we have all the metadata available in our ErrorHospital proxy service, so we can execute all the logic needed for any specifica error.
    In the ErrorHospital proxyservice you could add something like
    if $body/errorMetadata/error/faultCode = 'MAIL-001' then send mail (by use of a mail transport business service (this expression won't work, but just to show what's possible)
    in my blog i used a ErrorRepository in which i configure what actions to execute based on the errorCode
    so you could add MAIL-001 in this repository and define something like
    log_YN = Y
    mail_YN = Y
    report_YN =N
    the generic logic in your errorHospital proxy service will contain a list of
    if - then - else combinations to decide if it should mail, or if it should log or if it should report
    and this will work on every errorCode you define in the ErrorRepository.
    It's a solution we use at my current customer too and works pretty nice, and the administrators can update the ErrorRepository file from the console on production if they decide on a certain moment that they need logging on some errorCode for example
    hope it's a bit clear like this

  • Error handling limitations in XI3.0 SP11 when using IDOC's

    Backround: Sending IDOC's from XI to a 6.20 SAP system with ALEAUD turned on.
    We have found a couple of limitations with XI 3.0 SP11 regarding error handling and are wondering what other XI Developers are doing to work around them:
    1) Unable to generate Alerts from global Alert Rules (PMI) in a BPM
    2) Unable to handle IDOC negative acknowledgments in a BPM
    3) Unable to generate Alerts from Alert Rules (PMI) for negative IDOC acks when NOT using a BPM
    So far we are designing around these issues by using deadline monitoring steps in BPM's to handle IDOC posting errors and raising an Alert (the beauty of this workaround is that the BPM will automatically continue when the IDOC data is corrected and posted), and for non-BPM interfaces the errors must be handled in the receiving SAP system.
    We have sent these issues in to OSS but the replies have come back stating that it is 'by design'.
    Thx,
    Jason.

    Did you get any better solution now?
    Regards
    Mike

  • Receiver Feedback with no Error Handling (Input Design Requested)

    Hi Community,
    Today we have a pretty standard integration scenario that takes in flat files and converts them to Idocs for target SAP systems.  We are looking to redesign the current IDoc interface (posts a customized FIDCC1) under the principle that IDocs in errors on target are always corrected by a change in the source, so essentially we want to report errors back to the source and completely delete the IDoc.  I guess this looks like a synchronous call?, but I want to remain as loosely coupled for this.  Since we also process these files in batches (i.e. each file contains 1 to many invoices), we would like to return the results back to the source based on each file.  For example, the message back to the source (in email so a user can act on it, not a system) could be:
    a) file failed because structure is incorrect (like an XSD type check).
    or of the file makes it through XI,
    b) list of invoices failed because xxx is incorrect and list of invoices that processed.
    We are open to using proxies, any kind of IDoc error handling that could do this, workflows, status idocs, etc.  Every option is on the table. 
    Thanks!
    Peter

    peter
    if u are open to proxes then u might haveone interface that will send the data to proxy and thru proxy u update the idoc....if idoc goes fpor an error u can have another interface triggered that will update/delete the soruce data...for this u might need to pass the soruce files details to proxy and back

Maybe you are looking for

  • Select certificate - 403 Forbidden: Access is denied in Safari

    Safari is asking to 'Select Certificate' for a website. It shows two certificates the old one which expired in Feb last year and the current one which is set to expire in 3011! Regardless which one you choose it comes back with.... Server Error 403 -

  • Need guidance with what settings to use

    I play in a band and am trying to put together video to run while we are on stage. I'm using a Macbook with FCE and using this projector: http://www.projectorcentral.com/NEC-NP100.htm I'm taking clips from DVDs (read: NOT shooting video) and pasting

  • I have lost all audio on both my internal and external speakers.

    I have lost audio on both my internal and external speakers.  I have checked the System Preferences when my external speakers are plugged in it is acknowledged.  When using internal speakers they are also acknowledged.  Sound volume on Preferences is

  • Security and connection string

    Hi,    I am a new developer using ColdFusion.    Does ColdFusion support Windows Authentication or I have to have my connection string in plain text in my cfm files?    Can I have connection string in my form or I have in one config file?    Is it po

  • What are the gestures for switching tabs in safari

    Subject says it: are there gestures for switching tabs in Safari under Lion? (I'm using a MacBook Air.) Thanks.