Skip to Content
author's profile photo Former Member
Former Member

some BDC question

1.When the system is getting slow. How can you get the message what is going wrong?

2.what is RFC?wat r the RFC types?

3.what is Deep Structure?

4.how you identify errors in call tr?

5.An ABAP program creates a batch input session. We need to submit the program and the batch session in back ground. How to do it?

6.BDC Data which format?

Add a comment
10|10000 characters needed characters exceeded

Related questions

4 Answers

  • Posted on Dec 01, 2007 at 02:06 AM

    2. RFC can be a function module which can be called remotely from an external application. RFC function mosules can be called using RFC detsinations. You have to create RFC destinations in order to call RFC Functions in other systems.

    Read more here:

    http://help.sap.com/saphelp_nw04/helpdata/en/6f/1bd5b6a85b11d6b28500508b5d5211/frameset.htm

    3) A Deep structure is a structure within a structure.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Dec 01, 2007 at 05:55 AM

    Hi,

    1..

    RFC (remote function call) is a call to a function module running in a different system.Programmatically ,you can call the RFC enabled function module

    using the "CALL FUNCTION Destination" statement.

    There are 3 types of RFC's.

    1.Synchronous RFC: With this call,the calling program stops processing until the control is returned back to the called function

    2.Transactional RFC (tRFC)

    Transactional RFC (known as asynchronous RFC) is an asynchronous communication method that executes the called function module in the RFC server only once.

    3.Queued RFC: LUWs are processed in the order specified by the application, tRFC can be serialized using queues (inbound and outbound queues). This type of RFC is called queued RFC (qRFC).

    You need to enable the function module to RFC from se37 transaction.

    2..structures containing internal tables as components or

    Internal table containing Structure as components are called Deep Internal table.

    Please check this link for reading a deep structure.

    read-a-deep-structure

    3..

    BDCMSGCOLL strcture can handle errors in calltransaction..

    check this thread

    http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm

    Regards

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Dec 02, 2007 at 06:06 AM

    Hi

    <b>1.When the system is getting slow. How can you get the message what is going wrong?</b>

    In BDC you don't know the at the time of execution but after genararting the LOG you can see where exactly the proble is

    <b>2.what is RFC?wat r the RFC types?</b>

    RFC is a remote functional Call through which the SAP and other softwares could be linked.

    its a remote enabled Functional Module,it acts as the normal functional module with export and import parameters.

    A special software must be used to create a dynamic linking library for a functional module(RFC) to interact with the third party softwares(for ex:Dcom Connector)

    Check below link for further details

    http://help.sap.com/saphelp_nw04/helpdata/en/6f/1bd5b6a85b11d6b28500508b5d5211/content.htm

    http://help.sap.com/printdocu/core/Print46c/de/data/pdf/BCFESDE2/BCFESDE2.pdf

    Transactional RFC (tRFC) and Queued RFC (qRFC). tRFC is used mainly to transfer ALE Intermediate Documents (IDocs).

    Transactional RFC:

    If an error occurs during a synchronous remote function call, the system cannot tell at what point the error occurred (most crucially, whether the function module was actually processed in R/3 before the operation failed). Restarting a failed call is therefore a dangerous thing to do, since you risk duplicating a completed function call.

    To alleviate this problem, you can use transactional RFC, which guarantees that each function call you issue will only be executed once, even if you submit it repeatedly to the R/3 System. The system implements this safeguard by assigning a unique transaction ID (TID) to each transaction that you submit. When you attempt to process the transaction, the system checks whether that TID has already been processed. If it has, the transaction is ignored.

    Queued RFC:

    When you use transactional RFC, you cannot guarantee the order in which the function calls will be processed in the system (it is quite possible that one call might overtake another). For cases where you need to specify a particular processing order, you can use queued RFC, which is an extension of transactional RFC. In qRFC, you place each function call in a logical queue. A function call cannot be executed until all of its predecessors in the queue have been processed. Queued RFC calls are processed asynchronously.

    RFC is an SAP interface protocol. Based on CPI-C, it considerably simplifies the programming of communication processes between systems.

    RFCs enable you to call and execute predefined functions in a remote system - or even in the same system.

    RFCs manage the communication process, parameter transfer and error handling.

    Have a look at this link.

    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE2/BCFESDE2.pdf

    http://help.sap.com/saphelp_47x200/helpdata/en/22/042860488911d189490000e829fbbd/frameset.htm.

    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f078394a-4469-2910-c4bf-853c75674694

    Please go through the following link. You will get good info on RFC & its types.

    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f078394a-4469-2910-c4bf-853c75674694

    <b>3.what is Deep Structure?</b>

    structures containing internal tables as components or

    Internal table containing Structure as components are called Deep Internal table.

    A nested structure is a structure that contains one or more other structures as components. Flat structures contain only elementary data types with a fixed length (no internal tables, reference types, or strings). The term deep structure can apply regardless of whether the structure is nested or not. Nested structures are flat so long as none of the above types is contained in any nesting level.

    Any structure that contains at least one internal table, reference type, or string as a component (regardless of nesting) is a deep structure. Accordingly, internal tables, references, and strings are also known as deep data types. The technical difference between deep structures and all others is as follows. When you create a deep structure, the system creates a pointer in memory that points to the real field contents or other administrative information. When you create a flat data type, the actual field contents are stored with the type in memory. Since the field contents are not stored with the field descriptions in the case of deep structures, assignments, offset and length specifications and other operations are handled differently from flat structures.

    http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb2fcc358411d1829f0000e829fbfe/content.htm

    Please check this link for reading a deep structure.

    read-a-deep-structure

    Example:

    TYPES: BEGIN OF TYPE_DEEP,

    MATNR TYPE MATNR,

    T_MARC TYPE MARC OCCURS 0,

    END OF TYPE_DEEP.

    DATA: T_DEEP TYPE STANDARD TABLE OF TYPE_DEEP.

    DATA: WA_DEEP TYPE TYPE_DEEP.

    DATA: T_MARC TYPE TABLE OF MARC.

    DATA: S_MARC TYPE MARC.

    • Populating data.

    WA_DEEP-MATNR = 'TEST'.

    S_MARC-MATNR = 'TEST'.

    S_MARC-WERKS = '9090'.

    APPEND S_MARC TO T_MARC.

    • Append second level internal table.

    WA_DEEP-T_MARC[] = T_MARC[].

    • Append.

    APPEND WA_DEEP TO T_DEEP.

    • Process the internal table.

    LOOP AT T_DEEP INTO WA_DEEP.

    WRITE: / WA_DEEP-MATNR.

    • PROCESS the second level internal table.

    LOOP AT WA_DEEP-T_MARC INTO S_MARC.

    WRITE: S_MARC-WERKS.

    ENDLOOP.

    ENDLOOP.

    <b>4.how you identify errors in call tr?</b>

    Error handling in call transaction.

    The BDCMSGCOLL does not have the messages text. It has only the message type, number and message parameters.

    You have to read the message text. (recall that the database table T100 stores all the messages.)

    To handle error in bdc call transaction method...without using structure BDCMSGCOLL,

    Use Std Function module 'FORMAT_MESSAGE'

    5.An ABAP program creates a batch input session. We need to submit the program and the batch session in back ground. How to do it?

    The BDC you are performing might contain frontend controls like text editor, which do not work in background mode. That might be a reason.

    Alternative you can use transactions that do not have such controls or just perform some function module / BAPI operations for the rest.

    **************

    Are you getting any warning messages while running it in foreground. If so then please pass the value for DKACB-FMORE = 'X' then it will work fine.

    *****************

    r u using

    commit work and wait

    after ever updation in record

    COMMIT WORK AND WAIT

    This form specifies synchronous processing. The COMMITstatement waits for the end of processing. Control returns to your program after all high priority (V1) function modules have run successfully.

    The AND WAIT form is convenient for switching old programs to synchronous processing without having to re-write the code. Functionally, using AND WAIT for update-task updates is just the same as dialog-task updates with PERFORM ON COMMIT.

    ***********************

    <b>6.BDC Data which format?</b>

    BDCDATA is a structure which consists of these fields for the processing of a transaction. So we have to declare an internal table of BDCDATA to store all this data.

    BDCDATA fields:

    PROGRAM -> Name of the Program

    DYNPRO -> Screen No

    DYNBEGIN -> At the start of a new screen we have to set it to 'X' or else ' '.

    FNAM -> Name of the Screen field where data has to be entered

    FVAL -> Value for Screen field

    <b>Reward if usefull</b>

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Dec 03, 2007 at 07:02 AM

    2. RFC is remote function call which is a call to a fuction module of a remote system other tahn calling .

    types are as follows:-

    syncronus and asyncronus and asyncronus RFC have sub type Transactional asyncronus RFC.

    4.in call transcation we create internal table of type BDCMSGCOLL and obtain the errors in that.

    5. there is option in BDC process background you select that option

    6.BDCDATA has structure as

    Program

    dynapro

    dynabegin

    fnam

    fval

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.