Question concerning How To Handle Acknowledgments for IDoc

Hello everybody,
in the document
https://websmp103.sap-ag.de/~sapdownload/011000358700003477212005E/HowTo_IDOC_Ack_20040817RR.pdf
it is not explicitly emphasized whether the receiver system has to be a SAP system.
So my question: Has the receiving system (that send the acknowledgement back) to be a SAP system?
Regards Mario

Mario,
To send Idoc acks's from an SAP system back to an SAP system, these are ther following steps that would be needed.
1. The Idoc ALEAUD needs to be have an entry in the outbound partner profile of the SAP system. A report needs to be scheduled to send the Ack;'s to XI,.
2. In XI, an idoc comm channel should be created with respect to the SAP system that is waiting for the acknowledgement.  --> name the comm channel as say idocAckChannel.
3. Create a receiver agreement for this channel. The sender Service will the SAP system sending the Ack, the receievr service will be the business system for the SAP system receving the ack , the intreface name and namespace make it as *.
Now, when XI receives the ack from the SAP system, it will look for the Receievr Agreement for this Ack and then use the Ack Comm channel to send the Acknowledegement back.
Regards,
Bhavesh

Similar Messages

  • How to handle bdc for more than one transaction?

    how to handle bdc for more than one transaction?

    Hi srk,
    I am providing you with some references below. Hope this prove to be helpful to you.
    Method 1:
    Use one BDC_OPEN_GROUP
    Multiple BDC_INSERT 
    One BDC_CLOSE_GROUP.
    Call function BDC_OPENGROUP.
    Build BDC data and call lBDC_INSERT for transaction 1
    Build BDC data and call lBDC_INSERT for transaction 2
    Build BDC data and call lBDC_INSERT for transaction 3
    paas the tcodes to bdc_insert.
    call function BDC_CLOSE_GROUP.
    Also check this out:
    Here we need to record 2 transactions (shdb).
    Once completion of the recording. Populate the data into input internal table .
    Loop the internal table and process the 2 transactions
    like
    1. BDC_OPEN_GROUP
    2. LOOP AT ITAB
    a. Populate first transaction recording data
    and pass transaction to the BDC_INSERT_GROUP.
    BDC_INSERT_GROUP.
    b. Populate second transaction recording data
    and pass transaction to the BDC_INSERT_GROUP.
    BDC_INSERT_GROUP.
    ENDLOOP.
    3. BDC_CLOSE_GROUP
    the above info can be found at : How to use 2 transactions in BDC?
    Also check this out:
    Suppose u have created recordings for transactions 'MM01' 'XK01' and 'VA01'.
    Then do this:
    bdc_open_group.
    after this we have to fill the bdcdata structure for one transaction.here 'MM01'.
    bdc_insert.
    refresh bdcdata.
    after this we have to fill the bdcdata structure for one transaction.here 'xk01'.
    bdc_insert .
    refresh bdcdata.
    after this we have to fill the bdcdata structure for one transaction.here 'va01'.
    bdc_insert.
    bdc_close_group.
    Hope these are useful to you.
    Please reward if any of the above are useful.
    Regards,
    Kalyan

  • Question about how ExifMeta handles multivalued tags

    Hi,
    I have tested the ExifMeta (Great work, just what I needed!) to read face recognition data written by Picasa to RegionName, RegionType etc. fields in jpg metadata. Everything seems to work fine if there is only one name in the field but Picasa writes several values separated with commas like this:
    RegionName     John Doe, Jill Doll
    RegionType     Face, Face
    etc.
    In that case, the corresponding fields remain completely empty. So is this convention of writing several values separated by commas "standard" way of doing this? Is there any way to fix this?
    Additionally, three Region category tags refuse to load giving the following error:
    "Not updating due to error getting property, id: XMPmwgrs_RegionAppliedToDimensionsUnit, from: nil, to: pixel, err-msg: Attempt to access property "XMPmwgrs_RegionAppliedToDimensionsUnit" not declared in com.robcole.lightroom.ExifMeta's Info.lua"
    This is minor problem but it would be nice to know how to handle this kind of error in the future. Do I need to declare these in the lua-code if I need them?
    Looking forward to replies,
    Mikko

    Mikko,
    In future, please direct exif-meta specific questions to the exif-meta forum, or me personally.
    But a quick answer: exif-meta doesn't (by default) parse ("interpret") text values, so commas shouldn't be handled differently than any other text.
    The best way to find out what's going on is to invoke exiftool from the command line and inspect the output.
    My hunch is there is a zero character in there representing end-of-string, which can cause problems for lua code (e.g. Lightroom).
    If you send me one of your files which includes the face data, I'll have a look.
    PS - No clue about the 3 region tags (might be worth trying it with the latest version of exiftool) - please send me a file for inspection - thanks.
    Rob

  • How to handle error for a file to file transform in ODI

    I am doing a lab for file to file transformation where source = CSV file and target = Flat file.
    1) When I am changing the datatype in source two files are getting created where one having the errored out data and the other having the errored message, how how to handle the errored data?
    2) If the target path is changed the session in ODI is showing as completed, it should error out. Here no files are created in source as earlier. Hoe to handle this type of error?

    Hi,
    I have used the following KMs in my transformation with the following options:
    IKM SQL Incremental Update
    INSERT    <Default>:true
    UPDATE    <Default>:true
    COMMIT    <Default>:true
    SYNC_JRN_DELETE    <Default>:true
    FLOW_CONTROL    <Default>:true
    RECYCLE_ERRORS    <Default>:false
    STATIC_CONTROL    <Default>:false
    TRUNCATE    <Default>:false
    DELETE_ALL    <Default>:false
    CREATE_TARG_TABLE    <Default>:false
    DELETE_TEMPORARY_OBJECTS     <Default>:true
    LKM SQL to SQL
    DELETE_TEMPORARY_OBJECTS    <Default>:true
    CKM Oracle
    DROP_ERROR_TABLE    <Default>:false
    DROP_CHECK_TABLE    <Default>:false
    CREATE_ERROR_INDEX    <Default>:true
    COMPATIBLE    <Default>:9
    VALIDATE    <Default>:false
    ENABLE_EDITION_SUPPORT    <Default>:false
    UPGRADE_ERROR_TABLE    true

  • How to handle error for a Db Table to Db table transform in ODI

    Hi,
    I have created two table in two different schema source and target, where there is a field for e.g.- place where the datatype is varchar2 and data inserted is string.
    In designer model of ODI i have put the type of place as number in both source and target and accordingly done the mapping.
    When it is executed it should give an error, but it got completed but no data is inserted neither in target table nor in error table in the target schema(E$_TARGET_TEST which is created automatically).
    Why the error is not given and how to handle such type of error..
    Please help.
    The codes for source and target tables are as follows:
    source table code:
    CREATE TABLE "DEF"."SOURCE_TEST"
        "EMP_ID"   NUMBER(9,0),
        "EMP_NAME" VARCHAR2(20 BYTE),
        "SAL"      NUMBER(9,0),
        "PLACE"    VARCHAR2(10 BYTE),
        PRIMARY KEY ("EMP_ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "USERS" ENABLE
    inserted data:
    INSERT INTO "DEF"."SOURCE_TEST" (EMP_ID, EMP_NAME, SAL, PLACE) VALUES ('1', 'ani', '12000', 'kol')
    INSERT INTO "DEF"."SOURCE_TEST" (EMP_ID, EMP_NAME, SAL, PLACE) VALUES ('2', 'priya', '15000', 'jad')
    target table code:
    CREATE TABLE "ABC"."TARGET_TEST"
        "EMP_ID"     NUMBER(9,0),
        "EMP_NAME"   VARCHAR2(20 BYTE),
        "YEARLY_SAL" NUMBER(9,0),
        "BONUS"      NUMBER(9,0),
        "PLACE"      VARCHAR2(10 BYTE),
        PRIMARY KEY ("EMP_ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "USERS" ENABLE

    Hi,
    I have used the following KMs in my transformation with the following options:
    IKM SQL Incremental Update
    INSERT    <Default>:true
    UPDATE    <Default>:true
    COMMIT    <Default>:true
    SYNC_JRN_DELETE    <Default>:true
    FLOW_CONTROL    <Default>:true
    RECYCLE_ERRORS    <Default>:false
    STATIC_CONTROL    <Default>:false
    TRUNCATE    <Default>:false
    DELETE_ALL    <Default>:false
    CREATE_TARG_TABLE    <Default>:false
    DELETE_TEMPORARY_OBJECTS     <Default>:true
    LKM SQL to SQL
    DELETE_TEMPORARY_OBJECTS    <Default>:true
    CKM Oracle
    DROP_ERROR_TABLE    <Default>:false
    DROP_CHECK_TABLE    <Default>:false
    CREATE_ERROR_INDEX    <Default>:true
    COMPATIBLE    <Default>:9
    VALIDATE    <Default>:false
    ENABLE_EDITION_SUPPORT    <Default>:false
    UPGRADE_ERROR_TABLE    true

  • Question on "How to Handle Inv management Scenarios in BW" docuemnt.

    Hi all,
    I read the document "How to Handle inventory management scenarios in BW" and I did not understood what a snapshot scenario is?  Can anyone tell me what is the difference between snapshop and non-cumulative scenario's.
    thanks,
    Sabrina.

    In a non-cumulative scenario the current stock of any day (or month) is not stored physically in the cube. Instead the stock values over time is calculated dynamically at query runtime by the BW OLAP engine, which basically derives the stock by summing up the periodic value changes (cumulative inflow and outflow of the non-cumulative key figure), which are stored in the cube (together with a so called stock marker used as the basis of the calclation).
    In the snapshot scenario the current stock of any month is calculated in a snapshot ODS and then loaded to a cube. This means that the the stock value is physically stored in the cube in an ordinary cumulative key figure.
    Since a non-cumulative cube store value changes and not the actual stock this means that performance might be bad if there are many value changes for each characteristic combination in a month (since the stock is calculated at runtime and many records must be processed to derive the stock). So in this case the snapshot scenario is better since no runtime calculations of the stock need to occur  and since only one record, containing the actual stock value will be stored in each month for each characteristic combination having a stock value.
    I think you would be better of with an example, but with this explanation in mind looking at the scenarios in the How to again might clarify things...
    Regards,
    Christian
    / Christian
    Message was edited by: Christian

  • How to handle threading for TCP communicat​ion?

    Hi,
    I've a project to control two separate applications (C++ and LabView) and both of them are implemented as server. Another client program (C++) is used to control those application. The communication among them are implemented using TCP socket. The client program sends message to start or stop some tasks on the servers. The client program also sends time (hh:mm:ss) with the start and stop message to determine when to start or stop.
    In C++ application (server): The application listens for connection and when gets  one, it creates a communication thread to handle that and again listen for another connection. The communication thread handles message passing and when it receives start or stop message, it creates a timer thread with the received time to trigger a task at specified time. And after that it waits for message from the client. So, here, when thread (communication, timer) is needed, it is created.
    In LabView (server): I've tried to create same thing as the C++ server. But, from LabView manual and others forum threads, I got that LabView is multithreading and it can be done using independent loop. So, I'd to create four loops in a diagram:
    1. Listen for new connection
    2. Handle communication for already received connection
    3. Start timer
    4. Stop timer
    and they are run at the beginning of the execution and communication among them are managed using local variables. But, 2,3 and 4th loop can handle only one connection and it can handle another if the current is closed. But, the C++ application can handle more than one connection by creating thread when it is necessary but not at the beginning of the execution of the application.
    Is there a better way to implement this in LabView?
    Is it possible to handle multiple connections and create diagram node/block (like thread) dynamically like C++?
    Thanks.
    Using LabVIEW 2010, Visual C#, Visual C++ (2005, 2008, 2010)
    Solved!
    Go to Solution.

    There are several ways to do this in modern LabVIEW and you should probably search the Example Finder for some TCP examples. The classic way is to transfer the connection refnum from the listen loop to a communication loop that adds it to an array of connection IDs and then continously iterates over this array to do the communication. It works since about LabVIEW 4.0 perfectly for me even for applications with HTTP based communication protocol. But you need to make sure of course that the communciation handling for one connection isn't delaying its work for some reasons as that would delay the handling of the other connections too, as they are really worked on sequentially. If you encounter an error, the connection ID is closed and removed from the array.
    The other is that you create a VI that does your whole communication and terminates itself on an error or when getting the quit command. Make this VI to be reentrant and then launch it through VI server as reentrant instance, passing it the newly received connection refnum form the listen loop. Then use the Run method to let it start and operate like an independant thread.
    For all of these you should be able to find an example in the Example Finder when searching for TCP.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Did anyone know how to update status for Idoc Finsta01

    Hi ,
    Did anybody did updating idoc status and message for idoc type FINSTA01.
    In Lockbox idoc_input_lockbx.
    If any BADI avilibale fr this to update.
    Thanks,
    Madhu

    Option 1:
    See SAP Help as below you will get the idea-
    Certain IDoc statuses are classified as archivable in the standard system, while others are not. You can display or change this classification.
    The current status of an IDoc must be archivable before the IDoc can be archived.
    Procedure
    Choose SAP Menu -> Tools -> Business Communications -> IDoc Basis -> Control -> Status -> Maintain Status Value.
    To change entries, choose .
    Select the required status. By double-clicking you can call a detail screen, in which you can display or change the archivability.
    By using or you can display or change all statuses one after another.
    Option2: I think it might be possible using generate status file for the outbound IDOC and then change the status in the file further process it. But I am not sure, I just had a look at the Xns in WEDI and made this story
    Thanks,
    Naren

  • How to handle Asynch Synch (IDoc - SOAP) interfce without using BPM

    Hi Experts,
    I have a Idoc to SOAP scenario and where I need to hadle SOAP response but for this how it can be handle without BPM I am unable to figure out. Specificaly it is a interfacce with SFDC (sales force.com) CRM and need to handle IDoc - SOAP interface and response needs to be captured with another idoc which can be sent back to SAP.
    Any suggestion will be helpful.
    Regards,
    Nitin Patil

    Hi,
    you cannot do it with IDOC adapter unless you have PI 7.3 without a BPM
    you need to use a different adapter like ABAP proxy (on java) or RFC
    hope it's clear,
    Regards,
    Michal Krawczyk

  • Posting block Question in How to handle inventory management scenarios

    Hi all - I have a question in document
    <b>"How to...Handle Inventory Management Scenarios in BW"</b>
    can anyone please tell me what a posting block is in this document...
    also I did not understood what a Validity table is?
    thanks,
    Sabrina.

    Hi Sabrina!
    A 'posting block' period is something that now you are facing in inventory management, but you have to consider it in ALL logistic cockpit flows (what you can see in LBWE).
    This requirement can be easily explained in this way: as you know, to fill a setup table you have to activate the extract structure of the datasource for which you want to run the setup job (otherwise the system says that no active extract structure exists, do you remember ?); but, by doing so with the posting operations open (in other words, users can create new document or change the existing ones), you run the risk that these records are automatically included in the extraction queue (or in SM13 if you are using unserialized method) AND also collected in setup table ! And you will have the same records with the initial load (from setup table) and then the same from delta load (from the queue): a nice data duplication.
    To avoid this situation, a "posting block" (or a "free-posting period" or a "downtime") is requested. No one can post new document during your setup job...
    Hope now is clearer...
    Bye,
    Roberto

  • Question on how to handle United States 401-K catch up deduction

    Just have a question here to see how other Oracle customers in the United States might be handling the 401-K catch up deduction. For 2009, an employee can deduct up to $16,500 in pay as 401-K deductions. That is the limit for this year as set by US law and IRS regulations. However for employees who are age 50 and over, for 2009 they can deduct an additional $5,500 for 401-K, making their total limit for the year $22,000. These limits can change from year to year. Since not all employees are eligible for this catch up amount, you cannot just set one limit amount for 401-K. The way we have attacked it is that we created two elements, one for 401-K and one for 401-K catchup. That mostly works pretty well. The issue we run into is that when an employee hits the limit on the main 401-K deduction, payroll does not automatically roll over and start the catch up deduction, in the same payroll run. In the next payroll run, the catch up deduction will kick in and the employee's paycheck is back to normal. But it is confusing for the employees who hit this situation (which is a small number) because their paycheck ends up a higher amount in the week that they hit the limit on the main 401-K deduction. How have other customers handled setting up the 401-K catch up deduction? Have you been able to get payroll to continue the normal weekly deduction for 401-K even when the employee hits the yearly limit for the regular 401-K deduction? If so, would be curious to hear how you have configured your system to do this. Thanks for your time and assistance.
    John Dickey

    Okay, after doing a lot of research and studying, I am beginning to see a way to make this work. We will have to find a way to test this out in a development environment. It looks like that if I set the catch up element entry percentage amount to NULL (blank), then set the Take Overlimit Catchup value to ALWAYS, then it may work the way that I want it to. If I am reading this right, at the start of the year only the base element percentage will have a calculation done and a deduction taken (let me emphasize that I am talking about a SEQUENTIAL value for the catch up processing field value). In the period that the employee hits the base limiit, the base element percentage will be fully calculated, with the amount in excess assigned to the CATCH UP ELEMENT. The trick here, that I was failing to realize at first, was that the take overlimit amounts always goes to the catchup element. The next week all of the base percentage amount is overflow and goes to the catch up element. You keep adding to the catch up element amount until you hit the catch up limit. There is NEVER a calculation of an catch up element amount, since the percentage is NULL in that element entry. The only element that ever gets an amount calculated for it is the base element. There is a document, document id 733997.1, that gives an explanation and example of how this Take Overlimit Catchup function works. Will see what happens whenever we can get around to testing this out.
    John Dickey

  • SQL question- on how to handle groups of records at a time.

    Hi,
    I have a sql that looks like the following:
    insert into INVALID_DATES_TMP
    (id, gid, created, t_rowid, updated)
    select id, gid, created, rowid, updated
    from TABLE1
    where fix_invalid_date_pkg.is_date_invalid('TABLE1', 'CREATED', ROWID) = 'Y';
    COMMIT;
    What the above sql does is selects all rows from TABLE1 where the CREATED column
    has invalid dates and inserts them into invalid_dates_tmp table. So we can process/fix
    those invalid dates from the temp table. Problem is our DBA said Table1 can have
    millions of rows so the above sql can be very database intensive. So, I need to
    figure out another way that may handle chunks of rows at a time from table1.
    Any ideas are appreciated!
    ThankYou,
    Radhika.

    Hallo,
    in general INSERT AS SELECT is the fastest method to insert into the table.
    Probably you can use direct load ? (Hint APPEND).
    Other options (INSERT IN LOOP or BULK + FORALL) are slower.
    I think, this method is optimal.
    Another question is, the function itself. It is not clear, whether it searches the invalid dates optimal. I suppose strong, that function uses dynamic SQL.
    Why ? It is better to search static . Or you use this function for many other columns ? Could you post the function also ?
    Regards
    Dmytro

  • Acknowledgments for IDoc

    Hi,
    In an IDoc-PI/XI-External System scenario, are system error acknowledgments sent back to the SAP sender system when system errors occurred during message processing in PI/XI?
    If so, in what forms are the system error acknowledgments?
    Thanks in advance,
    Francis

    Ohhh.. i think lot of confusion
    I answered earlier also in terms of non SAP systems. Lets talk only in terms of Idoc
    In case of idocs, only receiver system decides whether an acknowledgment IDoc should be sent back to the sender based on the ALE configuration (for ALEAUD). So this would only be possible in Idoc - XI - Idoc scenario. In any of the other scenario u will not get ALEAUD back.
    In case of External Sys - XI - Idoc, even if Idoc receiver sends back the ALEAUD, BPM would be required to send back the ALEAUD to external system.
    In case of Idoc - XI - External Sys, the system ack sent by the External Sys is converted to an ALEAUD message and is sent back to Sender R3 system
    Regards,
    Prateek

  • Handling messages for IDOC

    Hi all,
    Now Iam getting message in Business work place (SBWP) only
    for an idoc if partnerprofile is not found.I need to get
    messages for every case say when it is processed or with errors etc.. in my inbox.
    Please tell me how to go with this problem.
    Any help will be appreciated.
    regards
    chandu.

    Hi Sai,
    You have to define a workflow which will send the messages in case of any error.
    for this first you have to identify the agents or the persons to which the messages have to sent in of the failures and then associate these agents with the workflow.
    Then you will be able to get the message in your inbox if you are selected as the agent.
    Regards.
    Lavanya.

  • How to Handle Events for JOptionPane buttons?

    Hi All,
    I need a help...
    I am trying to develop a simple SWING application that consists of multiple elements (mainly text fields) and a Submit button. On pressing Submit button, it should validate all the fields and then do something else. But if some fields are left blank, then it should give a pop-up message and on clicking the OK button on the pop-up message, the focus should go to that text field which is left null.
    The problem is I am not able to understand how to Capture this OK button click-event of the pop-up message. I mean how to do something when the OK/Cancle button of the pop-up window is clicked.
    Please Help me.
    Thanks in Advance,
    Ujjal

    As already pointed out, JOptionPane has some static methods which show a dialog, and return an int, or a string. The whole point of this class is to remove the need for any event handling by the developer, that is, you simply call the showDialog method or whatever, and it returns a value telling you, for example, which button was pressed - no need for action listeners at all. The result of the showDialog method (or whichever you use) tells you which button was pressed. Check the javadocs for JOptionPane for details of several constants that indicate which button was pressed
    The class exists to make simple dialogs trivial to generate - you're overcomplicating things!

Maybe you are looking for

  • Edit Total line in ALV

    Hi, I want to display the total of lines on the subtotal line of my grid. As I don't have this field on my catalog, I think I would have to edit the total line to set the total of regs above... Could someone help me? Tks. Regards, Flavio.

  • Creating web services from session beans

    Hi everybody, I want to know how to generate web services using session beans in Weblogic Worshop. I need this urgently!!! Any help will be very much appreciated. Can anybody please help me...... Thanks, Neelima

  • Importing .emlx files back into mail....please help

    Hi, I am running the most current version of Tiger and Mail. A few months ago, I accidentally deleted an account on mail. This deleted all my emails from the inbox having to do with that account. The other day, I bought File Salvage and salvaged a bu

  • Macbook Pro: printing problem

    Hi, I have a pretty weird problem with my Macbook Pro. When I try to print in Word, Excel or any native Os X App, Os X returns an error, ranging from "out-of-memory" (although 800mb free) to "Something went wrong". This occurs when printing on any of

  • Tablespace Datafile

    Dears, Some days back we got a requirement from our client that they want to divide the datafiles into small size files.They were having datafiles of 10 GB each and they want to convert them into 2 GB files.As according to them back up of large file