A small query about BAPI "BAPI_PBSRVAPS_GETDETAIL"

Hi All,
I am Reading key figures from a planning area by parallally running jobs !
I am using BAPI "BAPI_PBSRVAPS_GETDETAIL" in the code.
When i run the program parallally for separate locations, run time exceeds.
Is it because lot of programs are trying to access live cache key figures from the same planning area.
One more strange thing is that after 5 to 6 runs, even if i run for a single location,
it takes increasingly bad time. Do you suggest to open and close simsessions in the code?? But how would that be helpful !
Please win full points by answering this simple question!
Thanks in advance,
chandan

Hi Chandan,
see note 792626 for performance.
Other question - which release do you have ? > 4.0 the BAPI_PBSRVAPS_GETDETAIL is obsolete and should be replaced by BAPI_PBSRVAPS_GETDETAIL2
Regards,
Ernst

Similar Messages

  • Query in BAPI.................Urgent

    Hi Friends,
      Here is my query in BAPI,
      I need a BAPI to upload asset information (which is currently held in Physical data) data  to SAP.
    Its very very urgent for me,plz help me on this.
    Thanks a lot in Advance.
    mrutyun^

    hi Mrutyunjaya,
    try using BAPI_FIXEDASSET_CREATE1.
    You will get lot of information about asset in business object ‘BUS1022’.
    regards,

  • What's about BAPIs?

    hi,all
    What's about BAPIs?

    Hi
    Check All The Links............
    BAPI-step by step
    http://www.sapgenie.com/abap/bapi/example.htm
    RFC and BAPI:
    difference between RFC and BAPi
    Difference between BAPI and RFC?
    BAPI.
    http://help.sap.com/saphelp_46c/helpdata/en/9b/417f07ee2211d1ad14080009b0fb56/frameset.htm
    http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
    Checkout !!
    http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
    http://techrepublic.com.com/5100-6329-1051160.html#
    http://www.sap-img.com/bapi.htm
    http://www.sap-img.com/abap/bapi-conventions.htm
    http://www.sappoint.com/abap/bapiintro.pdf
    http://www.sapgenie.com/abap/bapi/example.htm
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
    http://techrepublic.com.com/5100-6329-1051160.html#
    http://www.sap-img.com/bapi.htm
    http://www.sap-img.com/abap/bapi-conventions.htm
    http://www.sappoint.com/abap/bapiintro.pdf
    http://ifr.sap.com/catalog/query.asp
    Reward All Helpfull Answers...........

  • Small Query help

    small query i have data like below ,
    Month ProductNo CustomerNo     Units
    Jan 9001 1001-09 100
    jan 9002 1002-09 200
    jan 9003 1003-09 300
    jan 9001 ABCCustomer 400
    Jan 9002 1004-09 500
    for any record - if column - customerNo starts with numeric it has to show like CN_****** other wise the same name.
    Result should be
    Jan 9001 CN_1001-09 100
    jan 9002 CN_1002-09 200
    jan 9003 CN_1003-09 300
    jan 9001 ABCCustomer 400
    Jan 9002     CN_1004-09 500
    Can some one help to get the query

    Hi,
    try this,
    SQL>  select *from v$version;
    BANNER
    Personal Oracle Database 10g Release 10.1.0.2.0 - Production
    PL/SQL Release 10.1.0.2.0 - Production
    CORE    10.1.0.2.0      Production
    TNS for 32-bit Windows: Version 10.1.0.2.0 - Production
    NLSRTL Version 10.1.0.2.0 - Production
      1  with t  as
      2  (select 'Jan' Month ,9001 ProductNo, '1001-09' CustomerNo, 100 Units from dual
      3  union all
      4  select 'jan', 9002 ,'1002-09', 200 from dual
      5  union all
      6  select 'jan', 9003, '1003-09', 300 from dual
      7  union all
      8  select 'jan', 9001, 'ABCCustomer', 400 from dual
      9  union all
    10  select 'Jan', 9002, '1004-09', 500  from dual)
    11  select  Month,ProductNo,(case when regexp_like(customerno,'^[[:digit:]]') then
    12   'CN_'||CustomerNo
    13  else
    14* CustomerNo end)cudtomer_no, units from t
    SQL> /
    MON  PRODUCTNO CUDTOMER_NO         UNITS
    Jan       9001 CN_1001-09            100
    jan       9002 CN_1002-09            200
    jan       9003 CN_1003-09            300
    jan       9001 ABCCustomer           400
    Jan       9002 CN_1004-09            500or
    regexp_like(customerno,'^[0-9]')or
    regexp_like(customerno,'^[0123456789]')Edited by: user291283 on Sep 12, 2009 8:22 AM
    Edited by: user291283 on Sep 12, 2009 9:24 AM

  • Query about local storage

    Hi,
         i had a query about local storage.
         I've a machine that hosts weblogic and tangosol. i've an ejb that accesses a distributed cache i.e NamedCache cache = CacheFactory.get("MyCache")
         i modified tangosol-coherence.xml and set local-storage to false ( for distributed cache) and replaced the file in coherence.jar.
         i'm using an overflow scheme and the back map uses a disk scheme.
         i also start a separate standalone instance of tangosol and i set the system property of local storage to true for the standalone instance.
         i start the standalone instance first and then weblogic.
         The idea is ensure that the tangosol instance in weblogic or the weblogic JVM should not participate in storing data (hence local storage false).
         only the JVM for the standalone instance should store data (hence local storage true -system property).
         i wanted to know whether the property "local-storage" is pertinent to a member(machine) or to a JVM?
         the reason for this doubt: as i'm using a disk scheme, tangosol creates a file for an overflow (e.g lh014402~.tp). i can see two such files when ideally i would have wanted only one for the tangosol instance.
         -rw-r--r-- 1 zephyr users 8364032 2005-06-23 17:02 lh014402~.tp
         -rw-r--r-- 1 zephyr users 8364032 2005-06-23 17:02 lh014403~.tp.
         can you please let me know if we can configure tangosol in such a way that we can two separate instances running with local stroage false for one and true for the other?
         Awaiting your reply
         Thanks
         Vinay

    I would suggest leaving the default 'local-storage' value set to 'true' in the tangosol-coherence.xml and just use the JVM argument to control the local storage of each individual node. Then start the stand alone instance normally (I assume you are using the com.tangosol.net.DefaultCacheServer) and start the WebLogic instance with the following:
         java [...] -Dtangosol.coherence.distributed.localstorage=false [...]
         Hope this helps.
         Later,
         Rob Misek
         Tangosol, Inc.

  • Query about XAResource.end() API in JMS context

    Hi All,
    I have a small query regarding the behavior of an XAResource supplied by a JMS server.
    Suppose I start a transaction using XaResource.start() method and I create a publisher and registered durable subscriber on the XASession that supplied the above mentioned XAResource. After that I send some messages and receive some messages from a Topic that already had some messages for the concerned Subscriber.
    Now I end this transaction by calling XaResource.end() with the flag TMSUSPEND.
    My question is that can the Publisher and Subscriber objects created between the start() and end() methods of the XAResource object be used now after the transaction has been suspended.
    Also now if I resume this transaction can I use these publisher and subscriber objects again without re-creating them.
    It would be great if some of the bright people on this forum can share some info on this.
    cheers
    Adolf

    Now I end this transaction by calling XaResource.end()
    with the flag TMSUSPEND.
    My question is that can the Publisher and Subscriber
    objects created between the start() and end() methods
    of the XAResource object be used now after the
    transaction has been suspended.This is dependend on the JMS implementation. If it falls back into a local transaction context after suspending the current XA tx, then yes, otherwise no.
    Also now if I resume this transaction can I use these
    publisher and subscriber objects again without
    re-creating them.IMO, yes.
    However, chapter 8 of the JMS spec (XA/ASF) is intended to use within a J2EE environment. Thus, most of the behavior of JMS XA/ASF is specified in the EJB spec, not in the JMS spec. If you consult both, you'll get the whole picture. Whether JMS XA/ASF works with a specific app server is dependent on the app server's implementation of this part. For example, some use ASF (connection consumers) with callbacks for message/tx association (like the J2EE ref impl), some use ASF without callbacks (like JBoss, WebSphere) so there has to be an automatic association with XAResource.start. Some don't use ASF at all but a message consumer (like WLS). And so on. JCA 1.5 with JMS pluggability uses callbacks.
    It's very tricky and time consuming to integrate a JMS server XA/ASF wise into an app server. Every app server is different. Sometimes you'll have to implement proprietary interfaces to plug into it.
    We have done that. How it works is here:
    http://www.swiftmq.net/products/kernel/jmsxaasf/index.html

  • A Problem about BAPI

    Hi,everyone.
    Now i want to use JCo and BAPI to execute a function(create sales order ps:transaction code is VA01).
    How do i to find the BAPI that i need?
    And where can i find some documents about BAPI?
    Thx~~ a lot
    PS:if this topic isn`t suitable in Java Programming,plz tell me thx ,^^ 
                         by Louis

    HI Louis,
       You can find out the bapis , by running transaction -bapi (Bapi Explorer).
    Here u get a list of standard BAPI's given by SAP.
    u can select appropriate bapi  from here.. Associated with each bapi documentation is there . from this u will get a clear picture of import params ,export params and tables.
    Now to execute  BAPI  or RFC using JCO,
    please go through this sample piece of code. fill the params of standard jco methods with appropriate parameters for your use.
    private static JCO.Client client;
    private static JCO.Repository repository;
    client =
                        JCO.createClient(
                             "<client num>",
                             "<user name>",
                             "<password>",
                             "en",
                             "<server ip or server name>",
                             "<instance number>");
                   client.connect();
                   repository = new JCO.Repository("REP", client);
    try {
    IFunctionTemplate m_read_container;
    m_read_container =repository.getFunctionTemplate("<RFC Name>");
    JCO.Function function_read_cont  = m_read_container.getFunction();
    JCO.ParameterList importparam =
    function_read_cont.getImportParameterList();
    importparam.setValue(<Your value to pass>, "<Import parameter name as in RFC>");
    client.execute(function_read_cont);
    JCO.ParameterList tables =
       function_read_cont.getTableParameterList();
    //For Tables
    JCO.Table container = tables.getTable("<Your table Name from table parameter>");
    for (int iCtr = 0; iCtr < container.getNumRows(); iCtr++) {
    container.setRow(iCtr);
    Strin value = container.getString("<Tale fieldName>");
    JCO.ParameterList exp_abs_read =
    function_read_cont.getExportParameterList();//For Export Params
    JCO.Structure st_abs_read =
    exp_abs_read.getStructure("<If structure using then give structure name>");
    for (int iCtrst = 0;iCtrst < st_abs_read.getNumFields();
                             iCtrst++) {
                             //          String str_field_val = st_abs_read.getString("<Structure Field Name>"));
    String fieldName = st_abs_read.getName(iCtrst);
    } catch (Exception e) {
                                 Regards
                                  Kishor Gopinathan

  • Query on Bapi

    HI
    This is the query on BAPi,I have got one FS on Enhancement.i.e EPOS Upload program,that means i have to upload the data from Excel sheet to sap by using BAPI.I have one BAPI Name also,i.e XBAPI_RE_CN_SALES_REP_REPORT.This was given from onsite,i am workig in offshore,Actually in the excel sheet the fields are comp code,contact number,sale type,report name ,report to,and sales netvolume.But in that BAPI i could not find all the parameters which are existing in the excel sheet.If we want to upload the data from excel sheet,we shud have the same fields in the BAPI na!! to pass from that fucntion module(BAPI).So please tell me the process and coding ,I know its very simple procedure.But I am unable to do it.Please help me out

    it is necessary to have fields...but there might be a  case where company code in BAPI will hold some other field, means it might not be company code but some other field and when executed it transfers data to company code field. also, XBAPI_RE_CN_SALES_REP_REPORT is not a BAPI...check it...

  • Big Troubles on designing Query about special customers' counting

    Hello buddies:
    I meet a problem on designing Query about special customers' counting. Let me describe the requirment first.  I want to create a query with BEX , and there is a key figure with very special logic.
    That is: to list the counts of the customers which has more than one sales records in a time period from sales data. 
    For example :
    when the user excute the query , he or she must input a time period ( 2007.01~2007.03 e.g)
    then the query output as follow:
    District          Cust-sount
    North-Zone       100
    South-Zone      120
    The Main trouble are :
    1. Threr are no document number in the detail of sales data document records. so I could not count the sales times with document number.
    2. The time period is not fixed value, it depends on the user's input, so I can not define the counting logic in the update rule or in the query with fixed time period.
    Anybody who met similar requirement pls show me your hand and give your solutions, thanks very much.
    Jason

    Hi,
        Your solution sounds a good way to count the distinct customers. but in my case, one salse line item must not be recognize as one sales record, instead,  one customer's all sales line items occurs in one day must be  recognize as one sales record ( or we say that one sales behavior).
    for example:
    customer     product    quantity   date
    cust001       prod001        10       2007.06.06
    cust001       prod002        20       2007.06.06
    the two line items above means one sales record for the customer "cust001".
    so I could not simply use the CKF : (( Counter ) *FV2 ) > 1 .
    Best Regards,
    Jason

  • Query about licensing Jdeveloper

    Dear Friends,
    I have a query about licensing of Jdeveloper development tool. I understand that Jdeveloper is Free tool.That is we do not require license to use Jdeveloper for development as well as production.
    Recent I heard that Jdeveloper is free only if we purchase Oracle Application Server. Is it correct ? Does one need to purchase Jdeveloper license if it is being deployed on any other App. server eg. Jboss etc ?
    Can anyone throw light on the same ?
    Many thanks,
    Vaij

    Hi,
    JDeveloper is free! Oracle ADF - the binding layer - ADF BC, and ADF Faces need an OracleAs licence
    Frank

  • About bapi with help of example

    about bapi with help of example plz dont give links.

    With the correct customizing (order types, etc...) the following BAPI will create a PM order for you.
    Naturally the master data is also required to be created in SAP (Technical objects, Work places, etc...)
    *& Report  Z_BAPI_ALM_ORDER_MAINTAIN_TEST                              *
    REPORT  z_bapi_alm_order_maintain_test.
    TABLES: mara,
            resb.                               "anyagfoglalások táblája
    DATA: it_methods LIKE STANDARD TABLE OF bapi_alm_order_method,
          wa_methods LIKE LINE OF it_methods.
    DATA: it_header LIKE STANDARD TABLE OF bapi_alm_order_headers_i,
          wa_header LIKE LINE OF it_header.
    DATA: it_operation LIKE STANDARD TABLE OF bapi_alm_order_operation,
          wa_operation LIKE LINE OF it_operation.
    DATA: it_component LIKE STANDARD TABLE OF bapi_alm_order_component,
          wa_component LIKE LINE OF it_component.
    DATA: it_component_up LIKE
                          STANDARD TABLE OF bapi_alm_order_component_up,
          wa_component_up LIKE LINE OF it_component_up.
    DATA: et_numbers LIKE STANDARD TABLE OF bapi_alm_numbers,
          wa_numbers LIKE LINE OF et_numbers.
    DATA: et_extension_in LIKE STANDARD TABLE OF bapiparex,
          wa_extension_in LIKE LINE OF et_extension_in.
    DATA: et_return LIKE STANDARD TABLE OF bapiret2,
          wa_return LIKE LINE OF et_return.
    DATA: it_resb LIKE STANDARD TABLE OF resb,
          wa_resb LIKE LINE OF it_resb.
    DATA: lv_commit TYPE i.
    PARAMETERS: p_test AS CHECKBOX DEFAULT 'X'.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: p_create RADIOBUTTON GROUP rg1 DEFAULT 'X'.
    SELECTION-SCREEN COMMENT 4(30) text-rcr.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: p_change RADIOBUTTON GROUP rg1.
    SELECTION-SCREEN COMMENT 4(30) text-rch.
    PARAMETERS: p_aufnr LIKE aufk-aufnr MEMORY ID anr.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN SKIP.
    PARAMETERS: p_compon AS CHECKBOX DEFAULT 'X'.
    PARAMETERS: p_partn AS CHECKBOX DEFAULT 'X'.
    START-OF-SELECTION.
      IF p_aufnr IS INITIAL.
        MOVE '007321002921' TO p_aufnr.
      ENDIF.
      PERFORM it_methods_fill.
      PERFORM it_header_fill.
      PERFORM it_operation_fill.
      IF p_compon = 'X'.
        PERFORM it_component_fill.
      ENDIF.
      REFRESH et_numbers.
      break zaladev.
      CALL FUNCTION 'Z_BAPI_ALM_ORDER_MAINTAIN'
        TABLES
          it_methods             = it_methods
          it_header              = it_header
    *   IT_HEADER_UP           =
    *   IT_HEADER_SRV          =
    *   IT_HEADER_SRV_UP       =
    *   IT_USERSTATUS          =
    *   IT_PARTNER             =
    *   IT_PARTNER_UP          =
          it_operation           = it_operation
    *   IT_OPERATION_UP        =
    *   IT_RELATION            =
    *   IT_RELATION_UP         =
          it_component           = it_component
          it_component_up        = it_component_up
    *   IT_TEXT                = it_text
    *   IT_TEXT_LINES          =
          extension_in           = et_extension_in
          et_return              = et_return
          et_numbers             = et_numbers.
      CLEAR lv_commit.
      LOOP AT et_return INTO wa_return.
        IF wa_return-type = 'S' AND NOT wa_return-message_v2 IS INITIAL.
          IF p_test IS INITIAL.
            CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
            lv_commit = 1.
          ENDIF.
          EXIT.
        ENDIF.
      ENDLOOP.
      IF lv_commit IS INITIAL.
        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
      ENDIF.
      break zaladev.
    *&      Form  it_methods_fill
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM it_methods_fill.
      IF p_create = 'X'.                               "LÉTREHOZÁS
        MOVE '1' TO wa_methods-refnumber.
        MOVE 'HEADER' TO wa_methods-objecttype.
        MOVE 'CREATE' TO wa_methods-method.
        MOVE '%00000000001' TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
        MOVE '1' TO wa_methods-refnumber.
        MOVE 'OPERATION' TO wa_methods-objecttype.
        MOVE 'CREATE' TO wa_methods-method.
        MOVE '%000000000010010' TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
        MOVE '2' TO wa_methods-refnumber.
        MOVE 'OPERATION' TO wa_methods-objecttype.
        MOVE 'CREATE' TO wa_methods-method.
        MOVE '%000000000010020' TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
        MOVE '3' TO wa_methods-refnumber.
        MOVE 'OPERATION' TO wa_methods-objecttype.
        MOVE 'CREATE' TO wa_methods-method.
        MOVE '%0000000000100200010' TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
        MOVE '4' TO wa_methods-refnumber.
        MOVE 'OPERATION' TO wa_methods-objecttype.
        MOVE 'CREATE' TO wa_methods-method.
        MOVE '%0000000000100200020' TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
        IF p_compon = 'X'.
          MOVE 1 TO wa_methods-refnumber.
          MOVE 'COMPONENT' TO wa_methods-objecttype.
          MOVE 'CREATE' TO wa_methods-method.
          MOVE '%00000000001' TO wa_methods-objectkey.
          APPEND wa_methods TO it_methods.
          MOVE 2 TO wa_methods-refnumber.
          MOVE 'COMPONENT' TO wa_methods-objecttype.
          MOVE 'CREATE' TO wa_methods-method.
          MOVE '%00000000001' TO wa_methods-objectkey.
          APPEND wa_methods TO it_methods.
        ENDIF.
        MOVE '1' TO wa_methods-refnumber.
        MOVE '' TO wa_methods-objecttype.
        MOVE 'SAVE' TO wa_methods-method.
        MOVE '%00000000001' TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
      ELSE.                                            "MÓDOSÍTÁS
        MOVE '1' TO wa_methods-refnumber.
        MOVE 'HEADER' TO wa_methods-objecttype.
        MOVE 'CHANGE' TO wa_methods-method.
        MOVE p_aufnr TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
        IF p_compon = 'X'.
          MOVE 1 TO wa_methods-refnumber.
          MOVE 'COMPONENT' TO wa_methods-objecttype.
          MOVE 'CHANGE' TO wa_methods-method.
          MOVE p_aufnr TO wa_methods-objectkey.
          APPEND wa_methods TO it_methods.
          MOVE 2 TO wa_methods-refnumber.
          MOVE 'COMPONENT' TO wa_methods-objecttype.
          MOVE 'CHANGE' TO wa_methods-method.
          MOVE p_aufnr TO wa_methods-objectkey.
          APPEND wa_methods TO it_methods.
          MOVE 3 TO wa_methods-refnumber.
          MOVE 'COMPONENT' TO wa_methods-objecttype.
          MOVE 'DELETE' TO wa_methods-method.
          MOVE p_aufnr TO wa_methods-objectkey.
          APPEND wa_methods TO it_methods.
        ENDIF.
        MOVE '1' TO wa_methods-refnumber.
        MOVE '' TO wa_methods-objecttype.
        MOVE 'SAVE' TO wa_methods-method.
        MOVE p_aufnr TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
      ENDIF.
    ENDFORM.                    " it_methods_fill
    *&      Form  it_header_fill
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM it_header_fill .
      IF p_create = 'X'.                               "LÉTREHOZÁS
        MOVE '%00000000001' TO wa_header-orderid.
        MOVE 'D210' TO wa_header-order_type.           "rendelésfajta
        MOVE '2000' TO wa_header-planplant.            "tervez&#337; gyár
        MOVE '19' TO wa_header-mn_wk_ctr.              "fel.munkahely
        MOVE '2000' TO wa_header-plant.                "fel.munkahely gyára
        MOVE 'CUV-SZV-CSUR-ATEM-I...' TO wa_header-funct_loc. "m&#369;sz.hely
        MOVE '' TO wa_header-equipment.                "berendezés
        MOVE '' TO wa_header-material.                 "anyagszám
    *    MOVE '' TO wa_header-LOC_WK_CTR.               "fel.munkahely
    *    MOVE '' TO wa_header-LOC_COMP_CODE.            "vállalat
    *    MOVE sy-datum TO wa_header-START_DATE.         "kezdés dátuma
    *    MOVE sy-datum TO wa_header-FINISH_DATE.        "befejezés dátuma
    *    MOVE '' TO wa_header-BASICSTART.               "kezdés id&#337;pontja
    *   MOVE '' TO wa_header-BASIC_FIN.                "befejezés id&#337;pontja
        MOVE 'Teszt szöveg 1' TO wa_header-short_text.  "szöveg
        APPEND wa_header TO it_header.
      ELSE.                                            "MÓDOSÍTÁS
        MOVE p_aufnr TO wa_header-orderid.
        MOVE 'CUV-SZV-CSUR-ATEM-II..' TO wa_header-funct_loc. "m&#369;sz.hely
        MOVE 'Teszt szöveg módosítva 2' TO wa_header-short_text.  "szöveg
        APPEND wa_header TO it_header.
      ENDIF.
    ENDFORM.                    " it_header_fill
    *&      Form  it_operation_fill
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM it_operation_fill .
      IF p_create = 'X'.                                "LÉTREHOZÁS
        MOVE 10 TO wa_operation-activity.             "m&#369;velet
        MOVE ''     TO wa_operation-sub_activity.         "al-m&#369;velet
        MOVE 'PM01'     TO wa_operation-control_key.         "vezérl&#337; kulcs
    *    MOVE '19'   TO wa_operation-WORK_CNTR.            "munkahely
    *    MOVE '2000' TO wa_operation-PLANT.                "gyár
        MOVE ''     TO wa_operation-standard_text_key.    "mintakulcs
        MOVE 'M&#369;velet leírása 1.sor' TO wa_operation-description."leírás
        MOVE ''     TO wa_operation-vendor_no.            "szállító
    *    MOVE 3      TO wa_operation-quantity.             "mennyiség
    *    MOVE 'KG'   TO wa_operation-base_uom.             "menny.egys.
    *    MOVE 500    TO wa_operation-PRICE.                "ár
    *    MOVE 1      TO wa_operation-PRICE_UNIT.           "áregység
    *    MOVE 'HUF'  TO wa_operation-CURRENCY.             "pénznem
    *    MOVE ''     TO wa_operation-PERS_NO.              "törzsszám
        MOVE 10      TO wa_operation-work_activity.        "m&#369;velet munkája
    *    MOVE 'KG'   TO wa_operation-UN_WORK.              "m&#369;velet munkája
        MOVE 2      TO wa_operation-number_of_capacities.  "szüks. kapacitás
        APPEND wa_operation TO it_operation.
        MOVE 20 TO wa_operation-activity.             "m&#369;velet
        MOVE ''     TO wa_operation-sub_activity.         "al-m&#369;velet
        MOVE 'PM01'     TO wa_operation-control_key.         "vezérl&#337; kulcs
    *    MOVE '19'   TO wa_operation-WORK_CNTR.            "munkahely
    *    MOVE '2000' TO wa_operation-PLANT.                "gyár
        MOVE ''     TO wa_operation-standard_text_key.    "mintakulcs
        MOVE 'M&#369;velet leírása 2.sor' TO wa_operation-description."leírás
        MOVE ''     TO wa_operation-vendor_no.            "szállító
    *    MOVE 5      TO wa_operation-quantity.             "mennyiség
    *    MOVE 'KG'   TO wa_operation-base_uom.             "menny.egys.
    *    MOVE 500    TO wa_operation-PRICE.                "ár
    *    MOVE 1      TO wa_operation-PRICE_UNIT.           "áregység
    *    MOVE 'HUF'  TO wa_operation-CURRENCY.             "pénznem
    *    MOVE ''     TO wa_operation-PERS_NO.              "törzsszám
        MOVE 5      TO wa_operation-work_activity.        "m&#369;velet munkája
    *    MOVE 'KG'   TO wa_operation-UN_WORK.              "m&#369;velet munkája
        MOVE 1      TO wa_operation-number_of_capacities.  "szüks. kapacitás
        APPEND wa_operation TO it_operation.
        MOVE 20 TO wa_operation-activity.             "m&#369;velet
        MOVE 10     TO wa_operation-sub_activity.         "al-m&#369;velet
        MOVE 'PM01'     TO wa_operation-control_key.         "vezérl&#337; kulcs
    *    MOVE '19'   TO wa_operation-WORK_CNTR.            "munkahely
    *    MOVE '2000' TO wa_operation-PLANT.                "gyár
        MOVE ''     TO wa_operation-standard_text_key.    "mintakulcs
        MOVE 'Alm&#369;velet leírása 2/1.sor' TO wa_operation-description."leírás
        MOVE ''     TO wa_operation-vendor_no.            "szállító
    *    MOVE 5      TO wa_operation-quantity.             "mennyiség
        MOVE 'KG'   TO wa_operation-base_uom.             "menny.egys.
    *    MOVE 500    TO wa_operation-PRICE.                "ár
    *    MOVE 1      TO wa_operation-PRICE_UNIT.           "áregység
    *    MOVE 'HUF'  TO wa_operation-CURRENCY.             "pénznem
    *    MOVE ''     TO wa_operation-PERS_NO.              "törzsszám
        MOVE 2      TO wa_operation-work_activity.        "m&#369;velet munkája
    *    MOVE 'KG'   TO wa_operation-UN_WORK.              "m&#369;velet munkája
        MOVE 1      TO wa_operation-number_of_capacities.  "szüks. kapacitás
        APPEND wa_operation TO it_operation.
        MOVE 20 TO wa_operation-activity.             "m&#369;velet
        MOVE 20     TO wa_operation-sub_activity.         "al-m&#369;velet
        MOVE 'PM01'     TO wa_operation-control_key.         "vezérl&#337; kulcs
    *    MOVE '19'   TO wa_operation-WORK_CNTR.            "munkahely
    *    MOVE '2000' TO wa_operation-PLANT.                "gyár
        MOVE '11'     TO wa_operation-standard_text_key.    "mintakulcs
        MOVE 'Alm&#369;velet leírása 2/2.sor' TO wa_operation-description."leírás
        MOVE ''     TO wa_operation-vendor_no.            "szállító
        MOVE 5      TO wa_operation-quantity.             "mennyiség
        MOVE 'KG'   TO wa_operation-base_uom.             "menny.egys.
    *    MOVE 500    TO wa_operation-PRICE.                "ár
    *    MOVE 1      TO wa_operation-PRICE_UNIT.           "áregység
    *    MOVE 'HUF'  TO wa_operation-CURRENCY.             "pénznem
    *    MOVE ''     TO wa_operation-PERS_NO.              "törzsszám
        MOVE 3      TO wa_operation-work_activity.        "m&#369;velet munkája
    *    MOVE 'KG'   TO wa_operation-UN_WORK.              "m&#369;velet munkája
        MOVE 1      TO wa_operation-number_of_capacities.  "szüks. kapacitás
        APPEND wa_operation TO it_operation.
      ELSE.                                            "MÓDOSÍTÁS
      ENDIF.
    ENDFORM.                    " it_operation_fill
    *&      Form  it_component_fill
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM it_component_fill.
      IF p_create = 'X'.                                   "LÉTREHOZÁS
        MOVE '0010'            TO wa_component-item_number.
        MOVE '000000023336110300' TO wa_component-material.   "cikkszám
        MOVE '2000'        TO wa_component-plant.      "gyár
        MOVE '0001'        TO wa_component-stge_loc.   "raktár
        MOVE 1             TO wa_component-requirement_quantity. "felh.m.
        MOVE '0020'        TO wa_component-activity.   "m&#369;velet
        APPEND wa_component TO it_component.
        MOVE '0020'         TO wa_component-item_number.
        MOVE '000000095000001900' TO wa_component-material.   "cikkszám
        MOVE '2000'         TO wa_component-plant.      "gyár
        MOVE ''             TO wa_component-stge_loc.   "raktár
        MOVE 2              TO wa_component-requirement_quantity. "felh.m.
        MOVE '0020'         TO wa_component-activity.   "m&#369;velet
        MOVE 'N'            TO wa_component-item_cat.   "tételtípus
        MOVE '0000000014'   TO wa_component-vendor_no.   "szállító
        APPEND wa_component TO it_component.
      ELSE.                                                "MÓDOSÍTÁS
        SELECT * FROM resb
          INTO TABLE it_resb
          WHERE aufnr EQ p_aufnr.
        IF sy-subrc = 0.
          READ TABLE it_resb INTO wa_resb
            WITH KEY aufnr = p_aufnr.
          MOVE wa_resb-rsnum TO wa_component-reserv_no.
        ELSE.
          CLEAR wa_component-reserv_no.
        ENDIF.
        MOVE '0010'            TO wa_component-item_number.
        MOVE '0001'        TO wa_component-res_item.
    *    MOVE '000000023336110400' TO wa_component-material.   "cikkszám
    *    MOVE '2000'        TO wa_component-plant.      "gyár
    *    MOVE '0001'        TO wa_component-stge_loc.   "raktár
        MOVE 6             TO wa_component-requirement_quantity. "felh.m.
        MOVE '0020'        TO wa_component-activity.   "m&#369;velet
        APPEND wa_component TO it_component.
        MOVE 'X' TO wa_component_up-requirement_quantity.
        MOVE 'X' TO wa_component_up-activity.
        APPEND wa_component_up TO it_component_up.
        MOVE '0020'            TO wa_component-item_number.
        MOVE '0002'        TO wa_component-res_item.
    *    MOVE '000000095000001800' TO wa_component-material.   "cikkszám
    *    MOVE '2000'        TO wa_component-plant.      "gyár
    *    MOVE '0001'        TO wa_component-stge_loc.   "raktár
        MOVE 6             TO wa_component-requirement_quantity. "felh.m.
        MOVE '0010'        TO wa_component-activity.   "m&#369;velet
        APPEND wa_component TO it_component.
    *    MOVE 'X' TO wa_component_up-material.
        MOVE 'X' TO wa_component_up-requirement_quantity.
        MOVE 'X' TO wa_component_up-activity.
        APPEND wa_component_up TO it_component_up.
        MOVE '0030'            TO wa_component-item_number.
        MOVE '000000023336110400' TO wa_component-material.   "cikkszám
        MOVE '2000'        TO wa_component-plant.      "gyár
        MOVE '0001'        TO wa_component-stge_loc.   "raktár
        MOVE 7             TO wa_component-requirement_quantity. "felh.m.
        MOVE '0020'        TO wa_component-activity.   "m&#369;velet
        APPEND wa_component TO it_component.
      ENDIF.
    ENDFORM.                    " it_component_fill

  • New issue in R 12.1.3 in AP while query about inovice was recorded in AP

    i record new invoice in ap on release R 12.1.3 and when query about it on invoice form the error appeare was it
    forms
    FRM-40735:POST-QUERY trigger raised unhandled exception ORA-04063
    how can someone help us

    Hi,
    Please see these docs.
    R12:Getting FRM-40735 Post-Query Trigger On Quering Invoice [ID 1209736.1]
    After Applying Patch APXINWKB.fmb Is Not Working [ID 1159124.1]
    R12.1.1 APXINWKB Invoice Workbench Form Comes Up With 'ORA-01403' [ID 949942.1]
    12.1.1: FRM-40735: Post-Query Trigger Raised Unhandled Exception ORA-04063 [ID 1077613.1]
    Query on Invoices, Getting "FRM-40735: POST-QUERY trigger raised unhandled exception ORA-4063" [ID 1076609.1]
    Thanks,
    Hussein

  • Querying a BAPI Function Module

    Is it possible to write a query on the BAPI Function Module. For example I have a views in oracle database and i can query the views based on some condition and get the required data from the views. In the same way is it possible to query the BAPI function module to get the data based on given condition

    Hi Nikki,
       You can use FM RFC_READ_TABLE to read data from any SAP table.
      Also check following post by Raja -
         RFC_READ_TABLE for SAP Web AS - Code Sample
    Cheers,
    Sanjeev

  • When I run the BAPI "BAPI_PBSRVAPS_GETDETAIL" .It gives me a short dump.

    When I run the BAPI "BAPI_PBSRVAPS_GETDETAIL" .It gives me a short dump.
    Can anybody help me with this?

    This is the content of the dump.
    Runtime Errors         OBJECTS_OBJREF_NOT_ASSIGNED
    Except.                CX_SY_REF_IS_INITIAL
    Date and Time          05/17/2007 11:21:29
    Short text
         Access via 'NULL' object reference not possible.
    What happened?
         Error in the ABAP Application Program
         The current ABAP program "/SAPAPO/SAPLADVF" had to be terminated because it has
         come across a statement that unfortunately cannot be executed.
    Error analysis
         An exception occurred that is explained in detail below.
         The exception, which is assigned to class 'CX_SY_REF_IS_INITIAL', was not
          caught in
         procedure "/SAPAPO/ADVF_CELL_INPUT" "(FUNCTION)", nor was it propagated by a
          RAISING clause.
         Since the caller of the procedure could not have anticipated that the
         exception would occur, the current program is terminated.
         The reason for the exception is:
         You attempted to use a 'NULL' object reference (points to 'nothing')
         access a component (variable: "C_S_ACTVIEW-AGC_CHILD1-APOGRID").
         An object reference must point to an object (an instance of a class)
         before it can be used to access components.
         Either the reference was never set or it was set to 'NULL' using the
         CLEAR statement.
    Missing RAISING Clause in Interface
        Program                                 /SAPAPO/SAPLADVF
        Include                                 /SAPAPO/LADVFU06
        Row                                     1
        Module type                             (FUNCTION)
        Module Name                             /SAPAPO/ADVF_CELL_INPUT
    Trigger Location of Exception
        Program                                 /SAPAPO/SAPLADVF
        Include                                 /SAPAPO/LADVFU06
        Row                                     81
        Module type                             (FUNCTION)
        Module Name                             /SAPAPO/ADVF_CELL_INPUT
    Source Code Extract
    Line  SourceCde
       51 *#TR# (1) Check arguments: Read only mode must be 0, 1 or 2 and row and column must be provi
       52   if f_argument2 is initial or f_argument3 is initial.
       53     break-point id /SAPAPO/ADV__EXECUTION. clear f_argument. f_calc_error = true. exit.
       54   endif.
       55
       56
       57 *#TR# (1a) Calculate line number of the cell (line + line offset)
       58   l_line = f_argument2 + i_line_offset.
       59
      60 *#TR# (1b) Set L_CELL_READONLY depending on the read only mode F_ARGUMENT
      61   case f_argument.
      62     when 0. l_cell_readonly = /sapapo/cl_agc_base=>gs_c_agc_readonly_values-read_only.
      63     when 1. l_cell_readonly = /sapapo/cl_agc_base=>gs_c_agc_readonly_values-read_write.
      64     when 2. l_cell_readonly = /sapapo/cl_agc_base=>gs_c_agc_readonly_values-stateless.
      65     when others.
      66       break-point id /SAPAPO/ADV__EXECUTION. clear f_argument. f_calc_error = true. return.
      67   endcase.
      68
      69 *#TR# (1c) The input status of cells set to read only by the data view definition (history)
      70   if f_argument3 < g_s_cols_properties-first_input_column.
      71     return.
      72   endif.
      73
      74 *#TR# (1d) Note 1005813: The old APOGRID does not support the read only mode
      75 *#TR# /SAPAPO/CL_AGC_BASE=>GS_C_AGC_READONLY_VALUES-READ_WRITE. For compatibility reasons, w
      76 *#TR# read only mode /SAPAPO/CL_AGC_BASE=>GS_C_AGC_READONLY_VALUES-STATELESS
      77
      78 *#TR# Determine version of APOGRID to check, if new or old APOGRID is used. The version is b
      79 *#TR# reasons
      80   if g_agc_grid_version is initial.
    >>>>     c_s_actview-agc_child1-apogrid->get_control_version(
      82       IMPORTING
      83         apogrid           = l_apogrid
      84       EXCEPTIONS
      85         cntl_system_error = 1
      86         cntl_error        = 2
      87         others            = 3
      88           ).
      89     if sy-subrc <> 0.
      90       break-point id /sapapo/adv__execution. clear f_argument. f_calc_error = true. exit.
    91     endif.
    92
    93     g_agc_grid_version = l_apogrid.
    94   endif.
    95
    96 *#TR# If the old grid is used change read only mode if necessary
    97   if g_agc_grid_version < 200
    98     and l_cell_readonly = /sapapo/cl_agc_base=>gs_c_agc_readonly_values-read_write.
    99
    100     l_cell_readonly = /sapapo/cl_agc_base=>gs_c_agc_readonly_values-stateless.

  • Could anyone just possibly tell  me about BAPI'S and BADI'S in brief?

    Hi all,
    Could anyone just possibly tell  me about BAPI'S and BADI'S in brief?
    Regards in advance,
    Sanjeev K.V.

    BAPI-
    step by step
    http://www.sapgenie.com/abap/bapi/example.htm
    list of all bapis
    http://www.planetsap.com/LIST_ALL_BAPIs.htm
    for BAPI's
    http://www.sappoint.com/abap/bapiintro.pdf
    http://www.sappoint.com/abap/bapiprg.pdf
    http://www.sappoint.com/abap/bapiactx.pdf
    http://www.sappoint.com/abap/bapilst.pdf
    http://www.sappoint.com/abap/bapiexer.pdf
    http://service.sap.com/ale
    http://service.sap.com/bapi
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf
    http://www.planetsap.com/Bapi_main_page.htm
    http://www.topxml.com/sap/sap_idoc_xml.asp
    http://www.sapdevelopment.co.uk/
    http://www.sapdevelopment.co.uk/java/jco/bapi_jco.pdf
    Also refer to the following links..
    www.sappoint.com/abap/bapiintro.pdf
    www.sap-img.com/bapi.htm
    www.sap-img.com/abap/bapi-conventions.htm
    www.planetsap.com/Bapi_main_page.htm
    www.sapgenie.com/abap/bapi/index.htm
    Checkout !!
    http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
    http://techrepublic.com.com/5100-6329-1051160.html#
    http://www.sap-img.com/bapi.htm
    http://www.sap-img.com/abap/bapi-conventions.htm
    http://www.sappoint.com/abap/bapiintro.pdf
    BAPI
    http://help.sap.com/saphelp_46c/helpdata/en/9b/417f07ee2211d1ad14080009b0fb56/frameset.htm
    http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
    http://www.sapgenie.com/abap/bapi/example.htm
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf
    u can check the below the material also
    what is BAPI?
    BAPI stands for Business API(Application Program Interface).
    A BAPI is remotely enabled function module ie it can be invoked from remote programs like standalone JAVA programs, web interface etc..
    You can make your function module remotely enabled in attributes of Function module but
    A BAPI are standard SAP function modules provided by SAP for remote access. Also they are part of Businees Objest Repository(BOR).
    BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects. You create business objects and those are then registered in your BOR (Business Object Repository) which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA. in this case u only specify the business object and its method from external system in BAPI there is no direct system call. while RFC are direct system call Some BAPIs provide basic functions and can be used for most SAP business object types. These BAPIs should be implemented the same for all business object types. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs. Whenever possible, a standardized BAPI must be used in preference to an individual BAPI.
    The following standardized BAPIs are provided:
    Reading instances of SAP business objects
    GetList ( ) With the BAPI GetList you can select a range of object key values, for example, company codes and material numbers.
    The BAPI GetList() is a class method.
    GetDetail() With the BAPI GetDetail() the details of an instance of a business object type are retrieved and returned to the calling program. The instance is identified via its key. The BAPI GetDetail() is an instance method. BAPIs that can create, change or delete instances of a business object type
    The following BAPIs of the same object type have to be programmed so that they can be called several times within one transaction. For example, if, after sales order 1 has been created, a second sales order 2 is created in the same transaction, the second BAPI call must not affect the consistency of the sales order 2. After completing the transaction with a COMMIT WORK, both the orders are saved consistently in the database.
    Create( ) and CreateFromData! ( )
    The BAPIs Create() and CreateFromData() create an instance of an SAP business object type, for example, a purchase order. These BAPIs are class methods.
    Change( )
    The BAPI Change() changes an existing instance of an SAP business object type, for example, a purchase order. The BAPI Change () is an instance method.
    Delete( ) and Undelete( ) The BAPI Delete() deletes an instance of an SAP business object type from the database or sets a deletion flag.
    The BAPI Undelete() removes a deletion flag. These BAPIs are instance methods.
    Cancel ( ) Unlike the BAPI Delete(), the BAPI Cancel() cancels an instance of a business object type. The instance to be cancelled remains in the database and an additional instance is created and this is the one that is actually canceled. The Cancel() BAPI is an instance method.
    Add<subobject> ( ) and Remove<subobject> ( ) The BAPI Add<subobject> adds a subobject to an existing object inst! ance and the BAPI and Remove<subobject> removes a subobject from an object instance. These BAPIs are instance methods.
    Example Code
    U need to give the step_nr, item_nr, cond_count and cond_type so the correct conditon will be updated. If no condition exists for the given parameters, a new condition will be created.
    U can find these parameters for a particular condition type in table KONV.
    *& Form saveTransactionJOCR
    text
    --> p1 text
    <-- p2 text
    FORM saveTransactionJOCR .
    data: salesdocument like BAPIVBELN-VBELN,
    order_header_inx like bapisdh1x,
    order_header_in like bapisdh1,
    return type standard table of bapiret2 with header line,
    conditions_in type standard table of bapicond with header line,
    conditions_inx type standard table of bapicondx with header line,
    logic_switch like BAPISDLS,
    step_nr like conditions_in-cond_st_no,
    item_nr like conditions_in-itm_number,
    cond_count like conditions_in-cond_count,
    cond_type like conditions_in-cond_type.
    salesdocument = wa_order_information-VBELN.
    LOGIC_SWITCH-COND_HANDL = 'X'.
    order_header_inx-updateflag = 'U'.
    conditions
    clear conditions_in[].
    clear conditions_inx[].
    clear: step_nr,
    item_nr,
    cond_count,
    cond_type.
    step_nr = '710'.
    item_nr = '000000'.
    cond_count = '01'.
    cond_type = 'ZCP2'.
    CONDITIONS_IN-ITM_NUMBER = item_nr.
    conditions_in-cond_st_no = step_nr.
    CONDITIONS_IN-COND_COUNT = cond_count.
    CONDITIONS_IN-COND_TYPE = cond_type.
    CONDITIONS_IN-COND_VALUE = 666.
    CONDITIONS_IN-CURRENCY = 'EUR'.
    append conditions_in.
    CONDITIONS_INX-ITM_NUMBER = item_nr.
    conditions_inx-cond_st_no = step_nr.
    CONDITIONS_INX-COND_COUNT = cond_count.
    CONDITIONS_INX-COND_TYPE = cond_type.
    CONDITIONS_INX-UPDATEFLAG = 'U'.
    CONDITIONS_INX-COND_VALUE = 'X'.
    CONDITIONS_INX-CURRENCY = 'X'.
    append conditions_inx.
    CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
    EXPORTING
    SALESDOCUMENT = salesdocument
    ORDER_HEADER_IN = order_header_in
    ORDER_HEADER_INX = order_header_inx
    LOGIC_SWITCH = logic_switch
    TABLES
    RETURN = return
    CONDITIONS_IN = conditions_in
    CONDITIONS_INX = conditions_inx
    if return-type ne 'E'.
    commit work and wait.
    endif.
    ENDFORM. " saveTransactionJOCR
    Bdc to Bapi
    The steps to be followed are :
    1. Find out the relevant BAPI (BAPI_SALESORDER_CHANGE for VA02).
    [for VA01 use BAPI_SALESORDER_CREATEFROMDAT2]
    2. Create a Z program and call the BAPi (same as a Funtion module call).
    2. Now, if you see this BAPi, it has
    -> Importing structures.
    eg: SALESDOCUMENT: this will take the Sales order header data as input.
    -> Tables parameters:
    eg: ORDER_ITEM_IN: this will take the line item data as input.
    Note :
    Only specify fields that should be changed
    Select these fields by entering an X in the checkboxes
    Enter a U in the UPDATEFLAG field
    Always specify key fields when changing the data, including in the checkboxes
    The configuration is an exception here. If this needs to be changed, you need to complete it again fully.
    Maintain quantities and dates in the schedule line data
    Possible UPDATEFLAGS:
    U = change
    D = delete
    I = add
    Example
    1. Delete the whole order
    2. Delete order items
    3. Change the order
    4. Change the configuration
    Notes
    1. Minimum entry:
    You must enter the order number in the SALESDOCUMENT structure.
    You must always enter key fields for changes.
    You must always specify the update indicator in the ORDER_HEADER_INX.
    2. Commit control:
    The BAPI does not run a database Commit, which means that the application must trigger the Commit so that the changes are read to the database. To do this, use the BAPI_TRANSACTION_COMMIT BAPI.
    For further details... refer to the Function Module documentation for the BAPi.
    Bapi to VB(Visual Basic)
    Long back I had used the following flow structure to acheive the same.
    Report -> SM59 RFC destination -> COM4ABAP -> VB.exe
    my report uses the rfc destination to create a COM session with com4abap. com4abap calls the vb.exe and manages the flow of data between sap and vb exe.
    You need to have com4abap.exe
    If com4abap is installed you will find it in sapgui installatin directory , C:\Program Files\SAPpc\sapgui\RFCSDK\com4abap.
    else refer OSS note 419822 for installation of com4abap
    after making the settings in com4abap to point to the vb program and setting up rfc destination in sm59 to point to com4abap session , you can use the following function modules to call the vb code.
    for setting up com4abap and rfc destination please refer to the documentation for com4abap.
    Invoke NEW DCOM session
    call function 'BEGIN_COM_SESSION'
    exporting
    service_dest = service_dest "(this will be a RFC destination created in SM59)
    importing
    worker_dest = worker_dest
    exceptions
    connect_to_dcom_service_failed = 1
    connect_to_dcom_worker_failed = 2
    others = 3.
    call function 'create_com_instance' destination worker_dest
    exporting
    clsid = g_c_clsid
    typelib = g_c_typelib
    importing
    instid = g_f_oid
    exceptions
    communication_failure = 1 message g_f_msg
    system_failure = 2 message g_f_msg
    invalid_instance_id = 3
    others = 4.
    call function 'com_invoke' destination worker_dest
    exporting
    %instid = g_f_oid
    %method = 'UpdatePDF'
    sntemp = g_v_const_filent
    snsysid = sy-sysid
    snflag = 'N'
    tables
    rssaptable = g_t_pdfdetail1
    %return = g_t_pdfdetail1 "t_test
    exceptions
    communication_failure = 1 message g_f_msg
    system_failure = 2 message g_f_msg
    invalid_instance_id = 3
    others = 4.
    then close the com session , using
    FM delete_com_instance
    FM END_COM_SESSION
    Reward if u find useful
    Regards
    Nagesh.Paruchuri

Maybe you are looking for