Mapping in to SAP System

Hi,
1's we complete the AS-IS Document and we have interactions withthe concerned modules how do we map the Process in to SAP.how do we create COPst Centre's
Thanks,
PM

If you are asking how to create cost centers, You need to have setup the necessary controlling area and assign the company code to it.
KS01 t-code can help you create a new Cost Center.

Similar Messages

  • Two different company in same SAP system ?

    Dear Gurus,
    I came across a requirement from Client
    There is a company A which is having own business . This company A operates/manage company B (all panning/execution/sales purchase/inventory etc) but not in Books of account. From legal point of view company A is funding company B & generates profit/loss.
    But practically company A manages all Business of Company B like a group company but from legal point of view it is a Third party in which company A has Investment . In management reporting they shows all the details of company B.
    The reason of this kind of arrangement is govt licence.
    In there current situation they have there own legacy system on which they manages this all things ( 2 different Data base ) & its legal .
    Can this be mapped in same SAP System ( say as different company code or any other way ) ? ? How ?
    Regards,
    Ishwar

    Dear Christian,
    Actually I feel that may be that is possible by creating a new company code but i am more concern from Audit point of view
    Auditor might have problem : why i am mapping some other (legal point of view ) company Transaction in my system ?
    if anybudy has came across similar situation please guide
    Ishwar

  • Idoc not posted in sap system

    Hi All,
    i have configured the file to idoc and idoc to idoc scenario.
    in sxmb_moni,the inbound idoc is fetching one port and the out bound idoc is fetching the default port,how can i config the port that is idoc comming from sap system.
    in interface mapping i am not able to assign the operational mapping that is created in IR, it is fetch the default name space of the idoc ,which is not to our operational mapping created in IR.
    Regards,
    reddy

    in sxmb_moni,the inbound idoc is fetching one port and the out bound idoc is fetching the default port,how can i config the
    port that is idoc comming from sap system.
    In Message Mapping enable the EDI_DC40 segment and then give value to the SNDPOR/ RCVPOR ....once done in receiver IDOC channel check the Apply Control Record from Payload....Michal has written a blog on EDI_DC40 segment check it once.
    in interface mapping i am not able to assign the operational mapping that is created in IR, it is fetch the default name space
    of the idoc ,which is not to our operational mapping created in IR.
    This behavior is correct....IDOC will refer to its own namespace and not to the one created in IR.....and this should not cause any issue while assigning mapping in Interface Determination....if it is causing an error then you have not selected the objects properly.
    Regards,
    Abhishek.

  • How to implement SSO to non-SAP systems using SAP logon ticket?

    Hello,
    We would like to implement Single Sign On between our SAP Netweaver system and a Siebel which is a non-SAP system using SAP logon tickets.
    Can anyone please give me some leads on this, in particular:
    1. Is there a JAVA API or an SAP plug-in that can be implemented on the Siebel machine to extract the SAP logon ticket?
    2. As the other machine might seat on a complete different domain, is it possible to implement SAP logon ticket without using cookies (perhaps through the HTTP header?
    3. In case you think using SAP logon tickets is not the best solution here I would be happy to hear any other suggestions you might have.
    Roy

    Hi,
    I'm currently using SAML as well. Unfortunately the SAP J2EE cannot work as authority (identity provider) but what you can do is using an open implementation of SAML such as opensso which is an open version of SUNs Java System access manager.
    There are a couple of other projects such as opensaml, apache's wss4j or shibboleth that might be interesting in this context.
    I just installed opensso and got it working with SAP J2EE 7.0 using SAPs JAAS SAMLLoginModule to authenticate users within SAP J2EE.
    In this scenario opensso serves as identity provider just as you need! There are a couple of Policy agents available on SUNs Download site you can use with Apache, Tomcat, JBOSS, WebSphere, Bea Web Logic etc. in order to authenticate! Otherwise you just directly authenticate against opensso. When installing opensso you can configure the type of user store you want  to use! By default it uses LDAP but you can also use different types of user store using JDBC or other mechanisms. Since you have a Directory Service you could easily connect it to your existing directory.
    There is also a way to map user ids directly in opensso by adding a uid mapping class. I created some documentation with lots of screenshots about using opensso with SAP J2EE. You can easily use opensso with any other system that supports SAML. In the case of SAP the usage is currently limited to SAML versions 1.0 and 1.1. Version 2.0 is not yet supported but should be in one of the following versions.
    Here are some links you might want to check:
    OpenSAML: https://spaces.internet2.edu/display/OpenSAML/Home
    wss4j: http://ws.apache.org/wss4j/
    shibboleth: http://shibboleth.internet2.edu/
    opensso: https://opensso.dev.java.net/
    On SDN you will find a documentation on how to connect SUN Java System Access Manager to SAP J2EE (see https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/906d9fc6-31b9-2910-1385-90edad7d7570). As I said opensso is based on the SUN Access Manager code and looks quite the same. So you can adapt this documentation in order to configure opensso or you can just ask me for the documentation.
    Hope this is helpful...
    Let me know if you need further assistance on this topic
    Cheers

  • Another IISPROXY question (multiple SAP systems)

    Hi!
    We've got a challenge. We have SAP EP (6.0 SP12), visible from outside
    (via  MS ISA server publishing). Also we have several SAP systems (BW,
    ERP2004, Solution Manager), that we want to make available from web.
    We installed IIS proxy module on portal server machine. It's working.
    I even maneged to publish some test reports and WebGUI of BW server.
    But when I try to publish in a simmilar way other system, I fall into
    problem.
    When you call '/sap/bw/' for example, SAP system after authentication
    converts it to something like '/sap(lsdkSDF435ssdgf)/bw'. As far as I
    understand between "(" and ")" there is some hash of password or something.
    The problem is, that it's true and the same for all SAP systems.
    So if I put in iisproxy.xml following strings:
    <mapping name="bw">
    <source>
         <protocol>http</protocol>
         <prefix>/sap/bw/</prefix>
    </source>
    <source>
         <protocol>http</protocol>
         <prefix>/sap/bw</prefix>
    </source>
    <source>
         <protocol>http</protocol>
         <prefix>/sap/public/bc/its/mimes/</prefix>
    </source>
    <source>
         <protocol>http</protocol>
         <prefix>/sap(</prefix>
    </source>
    <target>
            <protocol>http</protocol>
         <host>bw-server.ourdomain.local</host>
         <port>8000</port>
    </target>
    <compress-types>text/html, text/plain</compress-types>
    </mapping>
    it's working for BW server. We able to see reports and webGUI.
    If I try to add following strings for ERP2004 server:
    <mapping name="erp">
         <source>
              <protocol>http</protocol>
              <prefix>/erp/sap/bc/gui/sap/</prefix>
              <new-prefix>/sap/bc/gui/sap/</new-prefix>
         </source>
         <source>
              <protocol>http</protocol>
              <prefix>/erp/sap/bc/gui/sap</prefix>
              <new-prefix>/sap/bc/gui/sap</new-prefix>
         </source>
         <source>
              <protocol>http</protocol>
              <prefix>/erp/sap/bw/BEx</prefix>
              <new-prefix>/sap/bw/BEx</new-prefix>
         </source>
         <source>
              <protocol>http</protocol>
              <prefix>/erp/sap/bw/BEx/</prefix>
              <new-prefix>/sap/bw/BEx/</new-prefix>
         </source>
         <source>
              <protocol>http</protocol>
              <prefix>/erp/sap/public/bc/its/mimes/</prefix>
              <new-prefix>/sap/public/bc/its/mimes/</new-prefix>
         </source>
         <source>
              <protocol>http</protocol>
              <prefix>/erp/sap/public/bc/ur/Design2002/</prefix>
              <new-prefix>/sap/public/bc/ur/Design2002/</new-prefix>
         </source>
         <source>
              <protocol>http</protocol>
              <prefix>/erp/sap/bc/public/systemlogin/</prefix>
              <new-prefix>/sap/bc/public/systemlogin/</new-prefix>
         </source>
         <source>
              <protocol>http</protocol>
              <prefix>/sap(</prefix>
         </source>
         <target>
              <protocol>http</protocol>
              <host>erp2004-server.ourdomain.local</host>
              <port>8000</port>
         </target>
    <compress-types>text/html, text/plain</compress-types>
    </mapping>
    and try to open webGUI, it redirects to BW server.
    A think that's because double '/sap(' prefixes.
    How can we avoid that?
    Same situation for SolMan.
    In portal's 'System Landscape' setup is:
    BW system
      ITS
        ITS description: CLIxxxSID
        ITS host name: portal-server.ourdomain.ru (this name in accessible from internet, it's a host where portal and IISPROXY are installed)
        ITS path: /sap/bc/gui/sap/its/webgui
    ERP2004 system
      ITS
        ITS description: CLIxxxSID
        ITS host name: portal-server.ourdomain.ru
        ITS path: /erp/sap/bc/gui/sap/its/ (I added /erp/ trying to distinguish request to ERP2004 server), without it it's also not working)
    In intranet (if we do not use IISPROXY) everything is working. Of course with other system definitions in System Landscape.
    Do I need to provide more details? Or my question is clear?
    Thanks in advance for help and support!
    Regards,
    DK
    P.S. Actually I opened an OSS message on this topic (with "high" priority), but no SAP activities since September, 6th :o(

    Hi Jayesh!
    Seems it's not working :o( And worst thing, that I do not know why :o(
    What i've done.
    1) Created an alias '/erp/sap/', that points to '/default_host/sap/bc/gui/sap/its/webgui'.
    2) In System Landscape edited system definition (of an ERP2004 system), so that ITS path is now '/erp/sap/' and ITS host 'ourportal.ourdomain.ru'.
    3) Created an 'SAP transaction iView' that should launch SU01 transaction in ERP2004 system.
    Now when I try to open it from page, portal tries to connect me to our BW server.
    Seems that alias are working in some other way :o(
    Here's what I can see in IISPROXY log:
    11:57:29 Filter J2EE --> GET /erp/sap/
    11:57:29   7616 Proxy    GET http://erp2004.ourdomain.ru:8000/erp/sap/
    11:57:29   7616 Proxy    HTTP/1.1 200 OK | queued for 0.000 sec, processed in 0.078 sec.
    11:57:29   7616 Proxy    | GET http://erp2004.ourdomain.ru:8000/erp/sap/ | HTTP/1.1 200 OK | 0.000 | 0.078
    11:59:41 Filter J2EE --> GET /sap(dslkknvDSAFSADVFDSVaslkdv)/bc/gui/sap/its/webgui?okcode=/nSU01&DisconnectOnClose=0&sap-client=200&sap-language=en&sap-accessibility=
    11:59:41   6952 Proxy    GET http://bw.ourdomain.local:8000/sap(dslkknvDSAFSADVFDSVaslkdv)/bc/gui/sap/its/webgui
    So it's still tries to open '/sap(dslkknvDSAFSADVFDSVaslkdv)/bc/gui/sap/its/webgui' instead of /erp/sap(
    dslkknvDSAFSADVFDSVaslkdv)/
    Thanks for help and support!
    Regards,
    DK

  • Hi prloblem while importing the table in to sap system

    hi
    I exported a table from sap and set the values and i am importing same table to sap system
    when I am executing that function i am getting following error at mConnection.execute();
    error
    com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: Illegal access to a string (offset too large)
    at com.sap.mw.jco.rfc.MiddlewareRFC$Client.nativeExecute(Native Method)
    at com.sap.mw.jco.rfc.MiddlewareRFC$Client.execute(MiddlewareRFC.java:1242)
    at com.sap.mw.jco.JCO$Client.execute(JCO.java:3816)
    at com.sap.mw.jco.JCO$Client.execute(JCO.java:3261)
    at com.example.Testing.main(Testing.java:46)
    my program
    package com.example;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Map;
    import com.sap.mw.jco.*;
    import com.sap.mw.jco.JCO.AbapException;
    import com.sap.mw.jco.JCO.Structure;
    import com.sap.mw.jco.JCO.Table;
    import com.sap.mw.jco.support.SapInfo.MyRepository;
    public class Testing {
    @SuppressWarnings("deprecation")
    public static void main(String[] args) {
    JCO.Client mConnection;
    JCO.Repository mRepository;
    JCO.Function function;
    mConnection = JCO.createClient("800", "AGORE", "sap333", "EN","10.25.116.33", "00");
    mConnection.connect();
    mRepository = new JCO.Repository("ARAsoft", mConnection);
    IFunctionTemplate ft = mRepository.getFunctionTemplate("ZBAPI_CREATE_QUOTATION3");
    function = ft.getFunction();
    if (function == null) {
    System.out.println("ZBAPI_CREATE_QUOTATION3" + " not found in SAP.");
    JCO.ParameterList list = function.getTableParameterList();
    JCO.Table ztable = list.getTable("QUOTATION");
    for (int i = 0; i < 3; i++) {
    ztable.appendRow(); //ztable.setValue(value, field name)
    ztable.setValue("6000000012"+ i,"RFQ_NUMBER");
    ztable.setValue("00010"+ i,"ITEM");
    ztable.setValue("0020"+ i,"PRICE");
    list.setValue(ztable,"QUOTATION");
    System.out.println(ztable);
    System.out.println(list);
    function.setTableParameterList(list);
    try
    mConnection.execute(function);
    catch(Exception e)
    e.printStackTrace();
    System.exit(1);
    JCO.Table codes = null;
    try {
    codes = function.getTableParameterList().getTable("QUOTATION");
    System.out.println("Return Values starts HERE:");
    for (int i =0; i < codes.getNumRows(); i++){
    codes.setRow(i);
    System.out.println(codes.getString("MANDT")+ '\t'+
    codes.getValue("RFQ_NUMBER")+ '\t'+
    codes.getString("ITEM")+ '\t'+
    codes.getString("PRICE")); }
    catch (Exception ex) {
    ex.printStackTrace();
    System.exit(2);
    mConnection.disconnect();

    Guys,
    I am able to solve the problem. I think the problem is Language settings difference between Database and OWB repository.

  • Error in receiver SAP system , while reading the xml received over Proxy

    Hi,
    I am having one FTP to Proxy scenario, receiving complex XML file at FTP and have to pass this exact file to proxy in a single field.
    As no mapping is required, created a data type with single node and both sender and receiver end.
    After executing scenario, Data is displayed properly in PI moni, but when the file is received at SAP end, its giving error in SAP system moni that
    "Error during XML => ABAP conversion".
    The same scenario, when we are executing using SOAP or Mail sender adapter and proxy receiver, the interface is working fine at both ends.In SOAP and mail scenario, they are sending XML data enclosed in SOAP envelope.
    but when the data is received at PI, the SOAP envelope is removed, and CDATA is being read by PI, and interface working fine.
    Please provide your inputs in case of FTP sender.
    Thanks,
    Ruchi

    Hi Ganesh,
    Thanks for your response.
    SOAP and Mail scenario are also using the same inbound proxy structure , and the proxy is working fine in both cases.
    For FTP scenario we are reusing the same inbound proxy but we are facing error .
    SAP is getting
    "XML to ABAP Conversion error with error id as "CX_ST_MATCH_ELEMENT " System expected the element 'Namespace of the inbound service interface' .
    Please guide.
    Thanks,
    Ruchi

  • What are the major process to transfer the data from legacy to sap system.

    What are the major process to transfer the data from legacy to sap system using BDC at Real Time only?

    hi,
    BATCH DATA COMMUNICATION
    main methods are:
    1. SESSION METHOD
    2. CALL TRANSACTION
    3. DIRECT INPUT
    Advantages offered by BATCH INPUT method:
    1. Can process large data volumes in batch.
    2. Can be planned and submitted in the background.
    3. No manual interaction is required when data is transferred.
    4. Data integrity is maintained as whatever data is transferred to the table is through transaction. Hence batch input data is submitted to all the checks and validations.
    To implement one of the supported data transfers, you must often write the program that exports the data from your non-SAP system. This program, known as a “data transfer” program must map the data from the external system into the data structure required by the SAP batch input program.
    The batch input program must build all of the input to execute the SAP transaction.
    Two main steps are required:
    • To build an internal table containing every screen and every field to be filled in during the execution of an SAP transaction.
    • To pass the table to SAP for processing.
    Prerequisite for Data Transfer Program
    Writing a Data Transfer Program involves following prerequisites:
    Analyzing data from local file
    Analyzing transaction
    Analyzing transaction involves following steps:
    • The transaction code, if you do not already know it.
    • Which fields require input i.e., mandatory.
    • Which fields can you allow to default to standard values.
    • The names, types, and lengths of the fields that are used by a transaction.
    • Screen number and Name of module pool program behind a particular transaction.
    To analyze a transaction::
    • Start the transaction by menu or by entering the transaction code in the command box.
    (You can determine the transaction name by choosing System – Status.)
    • Step through the transaction, entering the data will be required for processing your batch input data.
    • On each screen, note the program name and screen (dynpro) number.
    (dynpro = dyn + pro. Dyn = screen, pro = number)
    • Display these by choosing System – Status. The relevant fields are Program (dynpro) and Dynpro number. If pop-up windows occur during execution, you can get the program name and screen number by pressing F1 on any field or button on the screen.
    The technical info pop-up shows not only the field information but also the program and screen.
    • For each field, check box, and radio button on each screen, press F1 (help) and then choose Technical Info.
    Note the following information:
    - The field name for batch input, which you’ll find in its own box.
    - The length and data type of the field. You can display this information by double clicking on the Data Element field.
    • Find out the identification code for each function (button or menu) that you must execute to process the batch-input data (or to go to new screen).
    Place the cursor on the button or menu entry while holding down the left mouse button. Then press F1.
    In the pop-up window that follows, choose Technical info and note the code that is shown in the Function field.
    You can also run any function that is assigned to a function key by way of the function key number. To display the list of available function keys, click on the right mouse button. Note the key number that is assigned to the functions you want to run.
    Once you have program name, screen number, field name (screen field name), you can start writing.
    DATA TRANSFER program.
    Declaring internal table
    First Integral Table similar to structure like local file.
    Declaring internal table like BDCDATA
    The data from internal table is not transferred directly to database table, it has to go through transaction. You need to pass data to particular screen and to particular screen-field. Data is passed to transaction in particular format, hence there is a need for batch input structure.
    The batch input structure stores the data that is to be entered into SAP system and the actions that are necessary to process the data. The batch input structure is used by all of the batch input methods. You can use the same structure for all types of batch input, regardless of whether you are creating a session in the batch input queue or using CALL TRANSACTION.
    This structure is BDCDATA, which can contain the batch input data for only a single run of a transaction. The typical processing loop in a program is as follows:
    • Create a BDCDATA structure
    • Write the structure out to a session or process it with CALL TRANSACTION USING; and then
    • Create a BDCDATA structure for the next transaction that is to be processed.
    Within a BDCDATA structure, organize the data of screens in a transaction. Each screen that is processed in the course of a transaction must be identified with a BDCDATA record. This record uses the Program, Dynpro, and Dynbegin fields of the structure.
    The screen identifier record is followed by a separate BDCDATA record for each value, to be entered into a field. These records use the FNAM and FVAL fields of the BDCDATA structure. Values to be entered in a field can be any of the following:
    • Data that is entered into screen fields.
    • Function codes that are entered into the command field. Such function codes execute functions in a transaction, such as Save or Enter.
    The BDCDATA structure contains the following fields:
    • PROGRAM: Name of module pool program associated with the screen. Set this field only for the first record for the screen.
    • DYNPRO: Screen Number. Set this field only in the first record for the screen.
    • DYNBEGIN: Indicates the first record for the screen. Set this field to X, only for the first record for the screen. (Reset to ‘ ‘ (blank) for all other records.)
    • FNAM: Field Name. The FNAM field is not case-sensitive.
    • FVAL: Value for the field named in FNAM. The FVAL field is case-sensitive. Values assigned to this field are always padded on the right, if they are less than 132 characters. Values must be in character format.
    Transferring data from local file to internal table
    Data is uploaded to internal table by UPLOAD of WS_UPLOAD function.
    Population of BDCDATA
    For each record of internal table, you need to populate Internal table, which is similar to BDCDATA structure.
    All these five initial steps are necessary for any type of BDC interface.
    DATA TRANSFER program can call SESSION METHOD or CALL TRANSACTION. The initial steps for both the methods are same.
    First step for both the methods is to upload the data to internal table. From Internal Table, the data is transferred to database table by two ways i.e., Session method and Call transaction.
    SESSION METHOD
    About Session method
    In this method you transfer data from internal table to database table through sessions.
    In this method, an ABAP/4 program reads the external data that is to be entered in the SAP System and stores the data in session. A session stores the actions that are required to enter your data using normal SAP transaction i.e., Data is transferred to session which in turn transfers data to database table.
    Session is intermediate step between internal table and database table. Data along with its action is stored in session i.e., data for screen fields, to which screen it is passed, the program name behind it, and how the next screen is processed.
    When the program has finished generating the session, you can run the session to execute the SAP transactions in it. You can either explicitly start and monitor a session or have the session run in the background processing system.
    Unless session is processed, the data is not transferred to database table.
    BDC_OPEN_GROUP
    You create the session through program by BDC_OPEN_GROUP function.
    Parameters to this function are:
    • User Name: User name
    • Group: Name of the session
    • Lock Date: The date on which you want to process the session.
    • Keep: This parameter is passed as ‘X’ when you want to retain session after
    processing it or ‘ ‘ to delete it after processing.
    BDC_INSERT
    This function creates the session & data is transferred to Session.
    Parameters to this function are:
    • Tcode: Transaction Name
    • Dynprotab: BDC Data
    BDC_CLOSE_GROUP
    This function closes the BDC Group. No Parameters.
    Some additional information for session processing
    When the session is generated using the KEEP option within the BDC_OPEN_GROUP, the system always keeps the sessions in the queue, whether it has been processed successfully or not.
    However, if the session is processed, you have to delete it manually. When session processing is completed successfully while KEEP option was not set, it will be removed automatically from the session queue. Log is not removed for that session.
    If the batch-input session is terminated with errors, then it appears in the list of INCORRECT session and it can be processed again. To correct incorrect session, you can analyze the session. The Analysis function allows to determine which screen and value has produced the error. If you find small errors in data, you can correct them interactively, otherwise you need to modify batch input program, which has generated the session or many times even the data file.
    CALL TRANSACTION
    About CALL TRANSACTION
    A technique similar to SESSION method, while batch input is a two-step procedure, Call Transaction does both steps online, one after the other. In this method, you call a transaction from your program by
    Call transaction <tcode> using <BDCTAB>
    Mode <A/N/E>
    Update <S/A>
    Messages into <MSGTAB>.
    Parameter – 1 is transaction code.
    Parameter – 2 is name of BDCTAB table.
    Parameter – 3 here you are specifying mode in which you execute transaction
    A is all screen mode. All the screen of transaction are displayed.
    N is no screen mode. No screen is displayed when you execute the transaction.
    E is error screen. Only those screens are displayed wherein you have error record.
    Parameter – 4 here you are specifying update type by which database table is updated.
    S is for Synchronous update in which if you change data of one table then all the related Tables gets updated. And sy-subrc is returned i.e., sy-subrc is returned for once and all.
    A is for Asynchronous update. When you change data of one table, the sy-subrc is returned. And then updating of other affected tables takes place. So if system fails to update other tables, still sy-subrc returned is 0 (i.e., when first table gets updated).
    Parameter – 5 when you update database table, operation is either successful or unsuccessful or operation is successful with some warning. These messages are stored in internal table, which you specify along with MESSAGE statement. This internal table should be declared like BDCMSGCOLL, a structure available in ABAP/4. It contains the following fields:
    1. Tcode: Transaction code
    2. Dyname: Batch point module name
    3. Dynumb: Batch input Dyn number
    4. Msgtyp: Batch input message type (A/E/W/I/S)
    5. Msgspra: Batch input Lang, id of message
    6. Msgid: Message id
    7. MsgvN: Message variables (N = 1 - 4)
    For each entry, which is updated in database, table message is available in BDCMSGCOLL. As BDCMSGCOLL is structure, you need to declare a internal table which can contain multiple records (unlike structure).
    Steps for CALL TRANSACTION method
    1. Internal table for the data (structure similar to your local file)
    2. BDCTAB like BDCDATA
    3. UPLOAD or WS_UPLOAD function to upload the data from local file to itab. (Considering file is local file)
    4. Loop at itab.
    Populate BDCTAB table.
    Call transaction <tcode> using <BDCTAB>
    Mode <A/N/E>
    Update <S/A>.
    Refresh BDCTAB.
    Endloop.
    (To populate BDCTAB, You need to transfer each and every field)
    The major differences between Session method and Call transaction are as follows:
    SESSION METHOD CALL TRANSACTION
    1. Data is not updated in database table unless Session is processed. Immediate updation in database table.
    2. No sy-subrc is returned. Sy-subrc is returned.
    3. Error log is created for error records. Errors need to be handled explicitly
    4. Updation in database table is always synchronous Updation in database table can be synchronous Or Asynchronous.
    Error Handling in CALL TRANSACTION
    When Session Method updates the records in database table, error records are stored in the log file. In Call transaction there is no such log file available and error record is lost unless handled. Usually you need to give report of all the error records i.e., records which are not inserted or updated in the database table. This can be done by the following method:
    Steps for the error handling in CALL TRANSACTION
    1. Internal table for the data (structure similar to your local file)
    2. BDCTAB like BDCDATA
    3. Internal table BDCMSG like BDCMSGCOLL
    4. Internal table similar to Ist internal table
    (Third and fourth steps are for error handling)
    5. UPLOAD or WS_UPLOAD function to upload the data from the local file to itab. (Considering file is local file)
    6. Loop at itab.
    Populate BDCTAB table.
    Call transaction <tr.code> using <Bdctab>
    Mode <A/N/E>
    Update <S/A>
    Messages <BDCMSG>.
    Perform check.
    Refresh BDCTAB.
    Endloop.
    7 Form check.
    IF sy-subrc <> 0. (Call transaction returns the sy-subrc if updating is not successful).
    Call function Format_message.
    (This function is called to store the message given by system and to display it along with record)
    Append itab2.
    Display the record and message.
    DIRECT INPUT
    About Direct Input
    In contrast to batch input, this technique does not create sessions, but stores the data directly. It does not simulate the online transaction. To enter the data into the corresponding database tables directly, the system calls a number of function modules that execute any necessary checks. In case of errors, the direct input technique provides a restart mechanism. However, to be able to activate the restart mechanism, direct input programs must be executed in the background only. Direct input checks the data thoroughly and then updates the database directly.
    You can start a Direct Input program in two ways;
    Start the program directly
    This is the quickest way to see if the program works with your flat file. This option is possible with all direct input programs. If the program ends abnormally, you will not have any logs telling you what has or has not been posted. To minimize the chance of this happening, always use the check file option for the first run with your flat file. This allows you to detect format errors before transfer.
    Starting the program via the DI administration transaction
    This transaction restarts the processing, if the data transfer program aborts. Since DI document are immediately posted into the SAP D/B, the restart option prevents the duplicate document posting that occurs during a program restart (i.e., without adjusting your flat file).
    Direct input is usually done for standard data like material master, FI accounting document, SD sales order and Classification for which SAP has provided standard programs.
    First time you work with the Direct Input administration program, you will need to do some preparation before you can transfer data:
    - Create variant
    - Define job
    - Start job
    - Restart job
    Common batch input errors
    - The batch input BDCDATA structure tries to assign values to fields which do not exist in the current transaction screen.
    - The screen in the BDCDATA structure does not match the right sequence, or an intermediate screen is missing.
    - On exceptional occasions, the logic flow of batch input session does not exactly match that of manual online processing. Testing the sessions online can discover by this.
    - The BDCDATA structure contains fields, which are longer than the actual definition.
    - Authorization problems.
    RECORDING A BATCH INPUT
    A B recording allows you to record a R/3 transaction and generate a program that contains all screens and field information in the required BDC-DATA format.
    You can either use SHDB transaction for recording or
    SYSTEM ? SERVICES ? BATCH INPUT ? EDIT
    And from here click recording.
    Enter name for the recording.
    (Dates are optional)
    Click recording.
    Enter transaction code.
    Enter.
    Click Save button.
    You finally come to a screen where, you have all the information for each screen including BDC_OKCODE.
    • Click Get Transaction.
    • Return to BI.
    • Click overview.
    • Position the cursor on the just recorded entry and click generate program.
    • Enter program name.
    • Click enter
    The program is generated for the particular transaction.
    BACKGROUND PROCESSING
    Need for Background processing
    When a large volume of data is involved, usually all batch inputs are done in background.
    The R/3 system includes functions that allow users to work non-interactively or offline. The background processing systems handle these functions.
    Non-interactively means that instead of executing the ABAP/4 programs and waiting for an answer, user can submit those programs for execution at a more convenient planned time.
    There are several reasons to submit programs for background execution.
    • The maximum time allowed for online execution should not exceed 300 seconds. User gets TIMEOUT error and an aborted transaction, if time for execution exceeds 300 seconds. To avoid these types of error, you can submit jobs for background processing.
    • You can use the system while your program is executing.
    This does not mean that interactive or online work is not useful. Both type of processing have their own purposes. Online work is the most common one entering business data, displaying information, printing small reports, managing the system and so on. Background jobs are mainly used for the following tasks; to process large amount of data, to execute periodic jobs without human intervention, to run program at a more convenient, planned time other than during normal working hours i.e., Nights or weekends.
    The transaction for background processing is SM36.
    Or
    Tools ? Administration ? Jobs ? Define jobs
    Or
    System ? services ? Jobs
    Components of the background jobs
    A job in Background processing is a series of steps that can be scheduled and step is a program for background processing.
    • Job name. Define the name of assigned to the job. It identifies the job. You can specify up to 32 characters for the name.
    • Job class. Indicates the type of background processing priority assigned to the job.
    The job class determines the priority of a job. The background system admits three types of job classes: A B & C, which correspond to job priority.
    • Job steps. Parameters to be passed for this screen are as follows:
    Program name.
    Variant if it is report program
    Start criteria for the job: Option available for this are as follows:
    Immediate - allows you to start a job immediately.
    Date/Time - allows you to start a job at a specific name.
    After job - you can start a job after a particular job.
    After event - allows you to start a job after a particular event.
    At operation mode - allows you to start a job when the system switches to a particular operation mode.
    Defining Background jobs
    It is two step process: Firstly, you define the job and then release it.
    When users define a job and save it, they are actually scheduling the report i.e., specifying the job components, the steps, the start time.
    When users schedule program for background processing, they are instructing the system to execute an ABAP/4 report or an external program in the background. Scheduled jobs are not executed until they are released. When jobs are released, they are sent for execution to the background processing system at the specified start time. Both scheduling and releasing of jobs require authorizations.
    HANDLING OF POP UP SCREEN IN BDC
    Many times in transaction pop up screen appears and for this screen you don’t pass any record but some indication to system telling it to proceed further. For example: The following screen
    To handle such screen, system has provided a variable called BDC_CURSOR. You pass this variable to BDCDATA and process the screen.
    Usually such screen appears in many transactions, in this case you are just passing information, that YES you want to save the information, that means YES should be clicked. So you are transferring this information to BDCDATA i.e., field name of YES which is usually SPOT_OPTION. Instead of BDC_OKCODE, you are passing BDC_CURSOR.
    BDC_CURSOR is also used to place cursor on particular field.
    A simple transaction where you are entering customer number on first screen and on next screen data is displayed for the particular customer number. Field, which we are changing here, are name and city. When you click on save, the changed record gets saved.
    Prerequisite to write this BDC interface as indicated earlier is:
    1. To find screen number
    2. To find screen field names, type of the field and length of the field.
    3. To find BDC_OKCODE for each screen
    4. Create flat file.
    generally  Batch Input usually are used to transfer large amount of data. For example you are implementing a new SAP project, and of course you will need some data transfer from legacy system to SAP system.
    CALL TRANSACTION is used especially for integration actions between two SAP systems or between different modules. Users sometimes wish to do something like that click a button or an item then SAP would inserts or changes data automatically. Here CALL TRANSACTION should be considered.
    2. Transfer data for multiple transactions usually the Batch Input method is used.
    check these sites for step by step process:
    For BDC:
    http://myweb.dal.ca/hchinni/sap/bdc_home.htm
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&
    http://www.sap-img.com/abap/learning-bdc-programming.htm
    http://www.sapdevelopment.co.uk/bdc/bdchome.htm
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm
    http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html
    Check these link:
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    http://www.sap-img.com/abap/question-about-bdc-program.htm
    http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
    http://www.planetsap.com/bdc_main_page.htm
    call Transaction or session method ?
    null

  • Idoc  b/w sap(r/3) and non sap system .

    hi gurus,
    how i pass an outbound idoc  b/w sap(r/3) and non sap system .
    which  function module we will use in this scenerio for inbound and outbound idoc both
    please guide me  with an example .

    Hi Pawan,
    Non SAP system should have RFC adapter in order to receive and send Idocs from/to SAP.
    If this is not your case, you should us a Integrator Middelware with RFC and standard adapters like SAP Exchange Infrastructure.
    If for example, your non SAP system is able to process data from flat files you can build next interface: SAP send Idocs to middleware that receive them using RFC adapter, middelware maps Idocs into flat file and send it to a one of non SAP system folder using FTP adapter. Non sap system triggers the flat file into its applications.
    Reward points if useful.
    Roger

  • Need of XI to send an XML from one SAP system to another SAP system

    Dear colleagues,
    I work in the SRM solution.
    In SRM there is a Purchaser and Supplier scenario called Supplier Self Services.
    The Purchaser creates a Purchase order and sends it to the supplier in form of an XML file.
    The purchaser system and supplier system are the same SAP system but different clients.
    Example: Purchaser client is 300 and Supplier client is 330 and both of them are on the same system.
    I have a very basic question.
    Currently we have the XI system which acts as an interface to send the Purchaser PO XML to the Supplier as XML.
    a)My question is in case the XML structure is identical across both the clients, then what is the need of XI system?
    b) Is it not possible to send XML from one client to another without an XI system? there si no need of any message mapping required since I am expecting the same XML structure in both clients.
    Please clarify the need of XI system in the following scenario. Is it not possible without XI?
    Many thanks.
    Best regards,
    Srivatsa

    Hi Srivatsa,
        YOu can send the XML message from one sap system to another sap system even without an XI system in between.
    But the use of SAP XI (Or any other middleware) is recommended because, it gives you the following advantages.
    1) Better monitoring and alerting mechanism. XI provides you robust set of tools that let you monitor the status of the messages that are exchanged.
    2) Direct communication between systems is referred to as Point to Point communication, which has its own disadvantages as against Hub and SPoke model (Message exchange using XI).
    3) Message delivery is guaranteed if you have XI in between.
    If the target system is down, the sender sap system will not try multiple times to post the message.
    But if you use XI, it can be configured to send the message multiple times, till it succeeds.
    Regards,
    Ravi Kanth Talagana

  • Unable to send IDOCs from SAP PI 7.3 system to a NON-SAP system

    Hi Experts,
       We have a simple file to IDOC scenario in our SAP PI system. There is no mapping as the file is already in the IDOC-XML format.
    However , the target system is a NON-SAP system. We are using a TCP/IP RFC destination to connect to it.
    Here are the settings we have done,
    1) Creates a 3rd party technical system and business system in SLD.
    2) We have assigned a logical system name for the business system (LSKABA100).
    3) Created a port in IDX1 with the same name LSKABA100 and assigned the TCP/IP RFC destination. The RFC destination is pinging fine.
    4) Imported the metadata for the IDOC from a SAP port and copied the same to LSKABA100 port.
    5) Created the sender agreement, receiver determination, interface determination and receiver agreement in ID.
    When we send the file, there is an error on SM58 transaction of our PI system. It says "RFC_ERROR_SYSTEM_FAILURE: IDocException occurred."
    Other than that it does not provide a lot of details.
    We have seen this thread and this blog but did not get any break through.
    Please help us, if someone has any ideas.
    Best Regards,
    Ravikanth Talagana

    Hi all,
        I am not using any SAP Jco user either in my config or in the RFC destination.
    What is the user id that needs to have the authorization?
    I am using a TCP/IP RFC destination and it does not have any user id/pwd.
    There is also, no problem while doing a connection test to the RFC destination.
    Best Regards,
    Ravikanth Talagana

  • Dynamic scrap mapping in to SAP

    Hai All,
    I am having scenario like this... for finished product based on the order qty system should take different assembly srap percentage like. For order qty 0 to 100 it is 10%  , From 100 to 200 it is 20% , from above 200 it is 15% like this. Is there a way to map this in SAP.

    Dear
    Did you try to maintain the Assmbly scrpe % in MRP1 view ??
    Maintain the same and create the Production Order .It will automatically increase the Order Qty and you can find scrap portion and percenatge in CO02.
    If you have already created PO  and now maintaing Assmbly scarpe  at MRP1 for FG , then call the Read PP master date before Goods Issu happend againt the PO (Status should nto be GMPS )
    Refer : Production Order Scrap flow
    Regards
    JH

  • Method for Downloading Huge Data from SAP system

    Hi All,
    we need to download the huge data from one SAP system  & then, need to migrate into another SAP system.
    is there any better method, except downloading data through SE11/SE16 ? please advice.
    Thanks
    pabi

    I have already done several system mergers, and we usually do not have the need to download data.
    SAP can talk to SAP. with RFC and by using ALE/IDOC communication.
    so it is possible to send e.g. material master with BD10 per IDOC from system A to system B.
    you can define that the IDOC is collected, which means it is saved to a file on the application server of the receiving system.
    you then can use LSMW and read this file with several hundred thousand of IDOCs as source.
    Field mapping is easy if you use IDOC method for import, because then you have a 1:1 field mapping.
    So you need only to focus on the few fields where the values changes from old to new system..

  • Data extract/convert from SAP system and load to Unix system - Urgent

    Hi,
    I have a requirement that I need to extract data from SAP and each data field will have some conditions and need to map/Load it to the Legacy Unix system.
    there are four kinds of data objects of HR system, need to extract them individually and map those into Unix system.
    Can anyone please suggest me step-by-step how to go about it....like
    do we need to write a report for that?
    do we need to use Function modules? etc.,
    How to set mappings of that Data to a file?
    How to map that file to Unix system?
    Need to run those on daily basis and after first run, only changed data file need to be loaded. how to do this?
    thanks
    Alankaar
    rewarded with the points.

    Hi
    I can't say this becouse I don't the problem, anyway u have to do it by yourself.
    U should create:
    - a document where u define the file format: data type, size and name of the field of the unix system;
    - a document for the mapping: link between SAP fields and Unix system fields
    Based on these document you'll create a structure on the report:
    DATA: BEGIN OF STR_UNIX_SYSTEM,
                 FIELD1 ...,
                 FIELD2 ...,
                 FIELDN....,
               END  OF STR_UNIX_SYSTEM.
    and the code to transfer the data from SAP to legacy:
    MOVE: <SAP TABLE>-FIELD TO STR_UNIX_SYSTEM-FIELD1,
    So all steps have to be defined in the report before downloading the file.
    So I don't know which legacy system you're speaking about, after creating the file the legacy should read it in order to upload the data.
    U can create a daily job for that report, if you need to transfer the changed data only you should read the change document table (CDHDR and CDPOS) but I don't know HR so I'm not sure these tables are available for HR.
    Max

  • Access data from 2 SAP systems into WebDynpro..Please guide :)

    Hello,
    Is is possible to access/retrieve data from 2 seperate SAP systems in Web Dynpro?
    To ellaborate more:
    Under normal situation - We create a Model using which you can access the required BAPI/RFC and using the JCo this connection is complete.
    So, in the SLD there is one JCo connection/object for this model.
    Now as per my quesry, I want to access data from 2 systems... like CRM & R/3.
    So how can I do this:
    1. Create 2 seperate model objects and then do Model Context Mapping. If this is rite, then I will have to create 2 JCo connections in SLD.
    2. Is is possibe that under one model (example this model is accessing R/3), I need to access data from CRM <i><b>without creatiing another model</b></i>. So that are the possiblities? Secondly is this way/path recommended?If no, how should I proceed.
    Hope my requirements are clear
    Awaiting Reply.
    Thanks & Warm Regards,
    Ritu

    Ritu,
    There is no way you can create single model for 2 different R/3 systems (unless SAP decides to implement this in later versions).
    If you still want to stick with a single model approach, I would suggest to use <b>Webservice</b> model where the R/3 interaction part would be taken care by WebService.
    Ashutosh

Maybe you are looking for