How to submit custom SQL to the DB in SAP system

Hi
In the project in which I had participated before, there were CRM server and WAS which had IPC server (price decision tool). There was a requirement that IPC referred CRM data, but there was no suitable BAPI in CRM. So, at the UserExit in IPC I made the programs that submit custom SQL to CRM DB via JCo.
In a similar idea, Can I submit custom SQL to the DB of SAP environment (ERP, CRM and so on) from general WAS (don't have the IPC) ?
I already know the way that I make the function module which throw SQL in SAP and call it from WAS. Could you tell me other methods if it exists ?
Best regards,

What's about RFC?

Similar Messages

  • How to print Integrity sql in the preparedstatement?

    How to print Integrity sql in the preparedstatement?
    Connection conn = null;
    String sql = "select * from person where name=?";
    PreparedStatement ps = conn.prepareStatement(sql);
    ps.setObject(1, "robin");
    ps.executeQuery();
    i'm wants print Integrity sql.
    For example:select * from person where name='robin'
    How should I do?
    thanks a lot!

    PreparedStatement doesn't offer methods for that. You can write your own implementation of PreparedStatement which wraps the originating PreparedStatement and saves the set* values and writes it to the toString().
    If needed, myself I just print the sql as well as the values-being-set to the debug statement.Logger.debug(query + " " + values);

  • How to specify custom SQL in polling db adapter with logical delete option

    Hi all,
    I am writing a SOA composite app using JDeveloper SOA Suite 11.1.1.4 connecting to a SQL Server db using a polling DB Adapter with the logical delete option to send data to a BPEL process.
    I have requirements which go beyond what is supported in the JDeveloper UI for DB Adapter polling options, namely:
    * update more than one column to mark each row read, and
    * specify different SQL for the logical delete operation based on whether bpel processing of the data polled was successful or not.
    A complicating factor is that the polling involves two tables. Here is my full use-case:
    1) Polling will select data derived from two tables: e.g. 'headers' and 'details' simplified for this example:
    table: headers
    hid - primary key
    name - data label
    status - 'unprocessed', 'processed', or 'error'
    processedDate - null when data is loaded, set to current datetime when row is processed
    table: details
    hid - foreign key pointed at header.hid
    attr - data attribute name
    value - value of data attribute
    2) There is a many:1 relationship between detail and header rows through the hid columns. The db adapter polling SELECT shall return results from an outer join consisting of one header row and the associated detail rows where header.status = 'unprocessed' and header.hid = details.hid. (This is supported by the Jdeveloper UI)
    3) The polled data will be sent to be processed by a bpel process:
    3.1) If the bpel processing succeeds, the logical delete (UPDATE) operation shall set header.status = 'processed', and header.processedDate = 'getdate()'.
    3.2) If bpel processing fails (e.g. hits a data error while processing the selected data) the logical delete (UPDATE) operation shall set header.status = 'failed', header.processedDate = 'getdate()', and header.errorMsg = '{some text returned from bpel}'.
    Several parts of #3 are not supported by the JDeveloper UI: updating multiple columns to mark the row processed, using getdate() to populate a value of one of those column updates, doing different update operations based on the results of the BPEL processing of the data (success or error), and using data obtained from BPEL processing as a value of those column updates (error message).
    I have found examples which describe specifying custom SQL using the polling delete option to create a template then modifying the toplink file(s) to specify custom select and update SQL to implement a logical delete. (e.g. http://dlimiter.wordpress.com/2009/11/05/advanced-logic-in-oracle-bpel-polling-database-adapter/ and http://myexperienceswithsoa.blogspot.com/2010/06/db-adapter-polling-tricks.html). But none of them match what I've got in my project, in the first case because maybe because I'm using a higher version of JDeveloper, and in the second I think because in my case two tables are involved.
    Any suggestions would be appreciated. Thanks, John

    Hi John,
    You've raised a good scenario.
    First of all let me say that the purpose of the DB polling transaction, is to have an option to initiate a process from a DB table/view and not to update multiple fields in a table (or have other complex manipulation on the table).
    So, when choose to update a field in a record, after reading it, you are "telling" the engine not to poll this record again. Sure, i guess you can find a solution/workaround for it, but I don't think this is the way....
    The question now is what to do?
    You can have another DB adapter where you can update the data after finishing the process. In that case, after reading the data (on polling transaction) - update the header.status = 'processed' for example, and after processing the selected data update the rest of the fields.
    Hope it make some sense to you.
    Arik

  • How to submit a report ,Passing the internal tables from parent report

    How to submit a report ,Passing the internal tables from the parent report ?

    The SUBMIT statement executes a report from within a report. i.e. you could have a drill-down which
    calls another report. Can only execute reports of type '1'.
    *Code used to execute a report
    SUBMIT Zreport.
    *Code used to populate 'select-options' & execute report
    DATA: seltab type table of rsparams,
          seltab_wa like line of seltab.
      seltab_wa-selname = 'PNPPERNR'.
      seltab_wa-sign    = 'I'.
      seltab_wa-option  = 'EQ'.
    load each personnel number accessed from the structure into
    parameters to be used in the report
      loop at pnppernr.
        seltab_wa-low = pnppernr-low.
        append seltab_wa to seltab.
      endloop.
      SUBMIT zreport with selection-table seltab
                                    via selection-screen.
    *Code used to populate 'parameters' & execute report
    SUBMIT zreport with p_param1 = 'value'
                    with p_param2 = 'value'.
    Other additions for SUBMIT
    *Submit report and return to current program afterwards
    SUBMIT zreport AND RETURN.
    *Submit report via its own selection screen
    SUBMIT zreport VIA SELECTION-SCREEN.
    *Submit report using selection screen variant
    SUBMIT zreport USING SELECTION-SET 'VARIANT1'.
    *Submit report but export resultant list to memory, rather than
    *it being displayed on screen
    SUBMIT zreport EXPORTING LIST TO MEMORY.
    Once report has finished and control has returned to calling
    program, use function modules LIST_FROM_MEMORY, WRITE_LIST and
    DISPLAY_LIST to retrieve and display report.
    *Example Code (Retrieving list from memory)
    DATA  BEGIN OF itab_list OCCURS 0.
            INCLUDE STRUCTURE abaplist.
    DATA  END OF itab_list.
    DATA: BEGIN OF vlist OCCURS 0,
            filler1(01)   TYPE c,
            field1(06)    TYPE c,
            filler(08)    TYPE c,
            field2(10)    TYPE c,
            filler3(01)   TYPE c,
            field3(10)    TYPE c,
            filler4(01)   TYPE c,
            field4(3)     TYPE c,
            filler5(02)   TYPE c,
            field5(15)    TYPE c,
            filler6(02)   TYPE c,
            field6(30)    TYPE c,
            filler7(43)   TYPE c,
            field7(10)    TYPE c,
          END OF vlist.
    SUBMIT zreport EXPORTING LIST TO MEMORY.
    CALL FUNCTION 'LIST_FROM_MEMORY'
      TABLES
        listobject = itab_list
      EXCEPTIONS
        not_found  = 4
        OTHERS     = 8.
    CALL FUNCTION 'LIST_TO_ASCI'
      EXPORTING
        list_index         = -1
      TABLES
        listasci           = vlist
        listobject         = itab_list
      EXCEPTIONS
        empty_list         = 1
        list_index_invalid = 2
        OTHERS             = 3.
    IF sy-subrc NE '0'.
      WRITE:/ 'LIST_TO_ASCI error !! ', sy-subrc.
    ENDIF.
    Submit report as job
    *Submit report as job(i.e. in background)
    data: jobname like tbtcjob-jobname value
                                 ' TRANSFER TRANSLATION'.
    data: jobcount like tbtcjob-jobcount,
          host like msxxlist-host.
    data: begin of starttime.
            include structure tbtcstrt.
    data: end of starttime.
    data: starttimeimmediate like btch0000-char1.
    Job open
      call function 'JOB_OPEN'
           exporting
                delanfrep        = ' '
                jobgroup         = ' '
                jobname          = jobname
                sdlstrtdt        = sy-datum
                sdlstrttm        = sy-uzeit
           importing
                jobcount         = jobcount
           exceptions
                cant_create_job  = 01
                invalid_job_data = 02
                jobname_missing  = 03.
      if sy-subrc ne 0.
                                           "error processing
      endif.
    Insert process into job
    SUBMIT zreport and return
                    with p_param1 = 'value'
                    with p_param2 = 'value'
                    user sy-uname
                    via job jobname
                    number jobcount.
      if sy-subrc > 0.
                                           "error processing
      endif.
    Close job
      starttime-sdlstrtdt = sy-datum + 1.
      starttime-sdlstrttm = '220000'.
      call function 'JOB_CLOSE'
           exporting
                event_id             = starttime-eventid
                event_param          = starttime-eventparm
                event_periodic       = starttime-periodic
                jobcount             = jobcount
                jobname              = jobname
                laststrtdt           = starttime-laststrtdt
                laststrttm           = starttime-laststrttm
                prddays              = 1
                prdhours             = 0
                prdmins              = 0
                prdmonths            = 0
                prdweeks             = 0
                sdlstrtdt            = starttime-sdlstrtdt
                sdlstrttm            = starttime-sdlstrttm
                strtimmed            = starttimeimmediate
                targetsystem         = host
           exceptions
                cant_start_immediate = 01
                invalid_startdate    = 02
                jobname_missing      = 03
                job_close_failed     = 04
                job_nosteps          = 05
                job_notex            = 06
                lock_failed          = 07
                others               = 99.
      if sy-subrc eq 0.
                                           "error processing
      endif.

  • How to Keep Custom Brushes in the Brush Panel Flyout Menu?

    So I have a set of brushes that I mostly commonly use. However, I still use other brushes on occasion. When I load those brushes, my custom brush set doesn't stay in the flyout menu and I have no choice but to find the brush file and reload it. Every time.
    It's getting to be a pain in the butt, so I'm wondering if there is a way to permanently keep your custom brush set in the flyout menu of the brush panel I've attached a screen shot in case what I wanted wasn't quite clear! I want my custom brushes to go where the green area is point.
    Also I'm running a Japanese version of PS, but I'm pretty sure almost all the menu places remain the same. I translated some of the menu (although it might not be the exact same as the US CS6, but if you give me instructions, I'm pretty sure I can figure it out!)

    Thanks! You're a life saver
    iPhoneから送信
    2014/10/31 16:16、R_Kelly <[email protected]> のメッセージ:
    How to Keep Custom Brushes in the Brush Panel Flyout Menu?
    created by R_Kelly in Photoshop General Discussion - View the full discussion
    Looks like you using mac os x?
    There are two places you can put your brush presets file:
    1. /Macintosh HD /Applications/Adobe Photoshop CS6/Presets/Brushes
    2. /Users/User Name/Library/Application Support/Adobe/Adobe Photoshop CS6/Presets/Brushes
    The difference is that the ones in the cs6 application folder show in your red area and the ones in the library show up below the red area with a separator line
    Please note that the Adobe Forums do not accept email attachments. If you want to embed a screen image in your message please visit the thread in the forum to embed the image at https://forums.adobe.com/message/6886054#6886054
    Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page:
    To unsubscribe from this thread, please visit the message page at . In the Actions box on the right, click the Stop Email Notifications link.
    Start a new discussion in Photoshop General Discussion by email or at Adobe Community
    For more information about maintaining your forum email notifications please go to http://forums.adobe.com/thread/416458?tstart=0.

  • How to Including custom text in the step "User Decision"

    Hi All
    Please help me in this regards I got problem
    How to Including custom text in the step "User Decision"
    Regards
    Poonam
    Edited by: Julius Bussche on Feb 2, 2009 1:59 PM
    Please use the corect forum, meaningfull subject titles and use the search before asking questions

    Hi Poonam,
    If I understood your problem correctly...
    When you create a user decision a screen will appear.
    In the decision tab under Title you can give your custom text.
    Even if you want to give some variable (value of which will be determined at runtime) you can give that as well.
    Like you have created a container for BOR objects MAT_DETAIL, in that object there is a field MATERIAL.
    You can define your custom text as below:
    Title: Would you like to create new material or display material &
    Parameter 1:  &MAT_DETAIL.MATERIAL&;
    In Title you can give as max. as 4 &(ampersand). And each & will be replaced by each Parameter at runtime in same sequence.
    In parameters you use to select the container defined by you earlier.
    Hope this will help.

  • How we can import an IDOC structure from one SAP system to another w/o ALE

    Hi Gurus,
    How we can import an IDOC structure from one SAP system to another? we're not able to use ALE tech, these two sap systems are isolated.
    Any response will be awarded!
    Thanks a lot.
    Samson

    hi,
    1.One is by change pointer concept i.e by executing the RBDMIDOC.We can generate the idoc and automatically to the inbound System.
    2.By executable program also like bd10 and bd11.
    Regards,
    SHIVA(reward if helpful).

  • How we can import an IDOC structure from one SAP system to another

    Hi Gurus,
    How we can import an IDOC structure from one SAP system to another? If we're using ALE, how can we do that? Please can someone give me the process and necessary t codes.
    Any response will be awarded!
    Thanks a lot.
    Samson

    hi!
    Define the logical system names in both the systems.
    Logical system names :SAP001
    SAP002
    SAP001 FOR 001 CLIENT
    SAP002 FOR 002 CLIENT
    These two logical system definitions should be present in both the systems.
    Assign the logical systems to the client. (in both the systems)
    Assign SAP001 to 001 CLIENT
    Assign SAP002 to 002 CLIENT
    you can See these in transaction SALE.
    After this define the rfc DESTINATION IN sm59. (in both the systems)
    In 001 client create the RFC destination name SAP002
    In the tab log on security, give the user name and password and client of the 002 client and save it.
    Similarly do the reverse in the 002 Client.
    In 001 client create the port.(Transaction WE21)
    Specify the RFC destination name as SAP002.
    Now you can define the ports, (both the systems)
    Create the partner profile for partner(ie gve logical system name of partner) , so give as SAP002.
    partner profile in both the systems.
    Now create the distribution model in BD64 and goto edit>model view>distribute.
    The same model view will be visible n distributed to the partner system also..which in this case is sap002.
    U may trigger the idoc from we19 and chk its status in we05.
    Please let me know if you need further info on this.

  • Taking the data from interactive forms and load the data into SAP system?

    hi all,
    I want to know how to take the data from interactive forms and load the data into sap system?
    if u have any sample scenario, explain with that.
    thanks in advance
    Raja

    Hello,
    Check the program...
    SAPBC480_DEMO.
    Check the below threads
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/88e7ea34-0501-0010-95b0-ed14cfbeb85a
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/bfbcd790-0201-0010-679d-e36a3c6b89fa
    Thanks
    Seshu

  • User couldn't recieve the mail from SAP SYSTEM

    Hi all experts,
    User couldn't recieve the mail from SAP SYSTEM since the Unicode changes were pushed ,
    how to fix the issue ?
    Thanks & Best regards,
    Michael

    Hi Michael,
    Is the SAPConnect configured as per note [455140|https://service.sap.com/sap/support/notes/455140] ?
    Since you are talking about receiving emails, do you see the emails in SOIN transaction (or report RSBCSIN)? Have you tried telnet directly to the SAPConnect plugin as described on note [607108|https://service.sap.com/sap/support/notes/607108]
    What is the value of parameter is/SMTP/virt_host_<*>?
    Regards,
    Tiago

  • How  to add custom fields to the  sap standard  program ukm_bp_display

    How  to add new custom  fields to the  sap standard  program ukm_bp_display .
    could u  please any one help me on this?

    Hello Kumar,
    You have to modify below structure, as this structure is providing the field catalog for output display (ALV).
    Here you can see there are a lot of include structures, so if you want to add fields in the output display you can add those fileds as an append structure to any of the below mentioned structures (Like ukm_s_account, ukm_s_bp_cms_sgm etc as per your requiremnt and positon at which you need to dispaly your fields.)
    DATA: BEGIN OF gt_grid_alv OCCURS 0.
           partner LIKE but000-partner,
           credit_sgmnt LIKE ukmbp_cms_sgm-credit_sgmnt.
            INCLUDE STRUCTURE ukm_s_account.
            INCLUDE STRUCTURE ukm_s_bp_cms_sgm.
    DATA:   credit_sgmnt_txt LIKE ukmcred_sgm0t-credit_sgmnt_txt.
          Gruppe Vector
            INCLUDE STRUCTURE ukm_s_bp_vector.
          Gruppe OBL = Obligo
          include structure UKM_S_BP_CMS_MALUSDSP_OUT.
            INCLUDE STRUCTURE ukm_s_display_segment.
            INCLUDE STRUCTURE ukm_s_bp_cms.
            INCLUDE STRUCTURE bus000_dat.
    *DATA:   icon(4).
          Gruppe RAST (Raster)
    DATA:
             rast01 LIKE ukm_s_display_segment-AMOUNT_GRID,
             rast02 LIKE ukm_s_display_segment-AMOUNT_GRID,
             rast03 LIKE ukm_s_display_segment-AMOUNT_GRID,
             rast04 LIKE ukm_s_display_segment-AMOUNT_GRID,
             rast05 LIKE ukm_s_display_segment-AMOUNT_GRID,
             rast06 LIKE ukm_s_display_segment-AMOUNT_GRID.
    DATA:    rast2_6 LIKE ukm_s_display_segment-AMOUNT_GRID.
    "Summe raster 2 bis 6
    DATA:  END OF gt_grid_alv.
    Another way is you can  go  to SE38, and you can create implicit enhancements.One enhancement point is available here in this required area. so create an implementation and add your fileds with data types.This way is also simple.
    Hope this will solve yiour problems.
    Regards,
    Antony Thomas

  • How to add Custom Attributes in the SOAP header for OWSM

    Hi,
    I like to know how to add the Custom Attributes in the SOAP header for OSWM username token authentication.
    Currently we are getting the header element like
    <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    here we need to add the attribute "soap:mustUnderstand="1" , so the element will look like
    <wsse:Security soap:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    Any info on this will be helpful.
    Thanks,
    ArunM

    Hi Jay, you can make it in more than 1 way.
    I suggest you the following:
    - create an URL iview that points to any URL you want.
    - define a Resource that points to the iview (with a window name, to open in new window)
    - define an Area that points to the resource
    - add your new Area to the your current Area Group
    Regards!

  • How to pass custom parameters to the Notification message body in a process

    Hi All,
    We are migrating from ORACLE workflows to Oracle OWB process flows as part of upgrade to Oracle 11g R2. Earlier in workflow notification mesages we could attach custom attributes (eg X_NAME) and reference the custom attributes in the notification message body (&X_NAME) to dynamically build the message body as per the custom attribute values.
    I tried to add a cutom parameter X_EMAIL_ID to a OWB process notification activity and trying to pass it to the notification message body by giving the value "This message is from &X_EMAIL_ID" in TEXT_BODY. But when I get the notification message it shows only "This message is from" and it does not show anything about X_EMAIL_ID.
    Please advise Please help us if anyone have used any workaround to dynamically populate the TEXT_BODY in a notification activity based on custom parameters.
    Thanks and regards,
    Shankar

    Hi David,
    Thank you for your suggestions. When I try to bind the variable to the notification activity parameter TEXT_BODY I get this error - VLD-10035: The value of parameter TEXT_BODY in a NOTIFICATION activity must be a literal value, bindings or expressions are not allowed. It looks like the text_body can have only literal values. Could you please advise if you received any such error or how could you resolve them.
    Thanks and regards,
    Shankar

  • How to replicate customer fields in the  backend system.

    Hi All,
    I need to transfer PO customer fields that were created in the SRM system to backend SAP system.
    I am using Extended Classic Scenario in SRM and SRM Version is 5.0.
    I am able to replicate the data created in SRM system to the backend.
    How ever, I found the following BADI while debugging.
    1. BBP_DOC_SAVE_BADI
    2. BBP_CTR_RELVAL_ICC
    3. BBP_DOC_SAVE_ICC
    4. BBP_F4_SAVE_DB
    5. HRSYNC_P
    Hence, please tell me which BADI, I need to use to send my customer fields to the backend system.
    Regards,
    Venky.

    Hi
    As Disha told, <u>You need to create a customer Implementation of any othe BADIs using SE19 Transaction.
    Say, you create an active customer Implementation of BBP_ECS_PO_OUT_BADI...</u>
    <u><b>See links given in earlier reply for detailed sample code.</b></u>
    <u>Write the following sample code (pls change it as per your business requirement)</u>
    METHOD if_ex_bbp_ecs_po_out_badi~bbp_b46b_po_outbound.
    ** Customer fields
    MOVE 'POHEADER' TO w_customer_fields-refobject.
    *PO approver
    MOVE 'ZZAPPROVER' TO w_customer_fields-fieldname.
    MOVE is_header-zzlastapprover TO w_customer_fields-container.
    APPEND w_customer_fields TO ct_bapi_customer_fields.
    *SC Date
    MOVE 'ZZSCDATE' TO w_customer_fields-fieldname.
    MOVE lv_scheader-created_at TO w_customer_fields-container(15).
    APPEND w_customer_fields TO ct_bapi_customer_fields.
    *Requester Org
    MOVE 'ZZORGA' TO w_customer_fields-fieldname.
    MOVE w_requester_orgunit TO w_customer_fields-container.
    APPEND w_customer_fields TO ct_bapi_customer_fields.
    endmethod.
    <u>BBP_PO_INBOUND_BADI in R/3.</u>
    method IF_EX_BBP_PO_INBOUND_BADI~BBP_MAP_BEFORE_BAPI.
    data wa_customer_fields TYPE BBPS_IF_CUSTOMER_FIELDS.
    data : WA_BAPI_TE_MEPOHEADER type BAPI_TE_MEPOHEADER,
    WA_BAPI_TE_MEPOHEADERX type BAPI_TE_MEPOHEADERX.
    data WA_EXTENSIONIN TYPE BAPIPAREX.
    data txt_960(960) type c.
    *** EKKO Customer fields.
    *PO Number
    move BBP_POHEADER-PO_NUMBER to WA_BAPI_TE_MEPOHEADER-PO_NUMBER.
    move BBP_POHEADER-PO_NUMBER to WA_BAPI_TE_MEPOHEADERX-PO_NUMBER.
    *ZZAPPROVER
    READ TABLE BBP_CUSTOMER_FIELDS INTO wa_customer_fields
    WITH KEY refobject = 'POHEADER'
    fieldname = 'ZZAPPROVER'.
    IF SY-SUBRC EQ 0.
    MOVE wa_customer_fields-container TO WA_BAPI_TE_MEPOHEADER-ZZAPPROVER.
    WA_BAPI_TE_MEPOHEADERX-ZZAPPROVER = 'X'.
    endif.
    *ZZSCDATE
    READ TABLE BBP_CUSTOMER_FIELDS INTO wa_customer_fields
    WITH KEY refobject = 'POHEADER'
    fieldname = 'ZZSCDATE'.
    IF SY-SUBRC EQ 0.
    MOVE wa_customer_fields-container TO WA_BAPI_TE_MEPOHEADER-ZZSCDATE.
    WA_BAPI_TE_MEPOHEADERX-ZZSCDATE = 'X'.
    endif.
    *ZZORGA
    READ TABLE BBP_CUSTOMER_FIELDS INTO wa_customer_fields
    WITH KEY refobject = 'POHEADER'
    fieldname = 'ZZORGA'.
    IF SY-SUBRC EQ 0.
    MOVE wa_customer_fields-container TO WA_BAPI_TE_MEPOHEADER-ZZORGA.
    WA_BAPI_TE_MEPOHEADERX-ZZORGA = 'X'.
    endif.
    CLEAR txt_960.
    CLEAR WA_EXTENSIONIN.
    write WA_BAPI_TE_MEPOHEADER to txt_960 left-justified.
    WA_EXTENSIONIN-STRUCTURE = 'BAPI_TE_MEPOHEADER'.
    WA_EXTENSIONIN-VALUEPART1 = txt_960(240).
    WA_EXTENSIONIN-VALUEPART2 = txt_960+240(240).
    WA_EXTENSIONIN-VALUEPART3 = txt_960+480(240).
    WA_EXTENSIONIN-VALUEPART4 = txt_960+720(240).
    append WA_EXTENSIONIN to BAPI_EXTENSIONIN.
    CLEAR txt_960.
    CLEAR WA_EXTENSIONIN.
    write WA_BAPI_TE_MEPOHEADERX to txt_960 left-justified.
    WA_EXTENSIONIN-STRUCTURE = 'BAPI_TE_MEPOHEADERX'.
    WA_EXTENSIONIN-VALUEPART1 = txt_960(240).
    WA_EXTENSIONIN-VALUEPART2 = txt_960+240(240).
    WA_EXTENSIONIN-VALUEPART3 = txt_960+480(240).
    WA_EXTENSIONIN-VALUEPART4 = txt_960+720(240).
    append WA_EXTENSIONIN to BAPI_EXTENSIONIN.
    endmethod.
    Hope this will help.
    Regards
    - Atul

  • How to add custom sql operations in Database adapters?

    I have a database adapter in ESB configured with insert, update and select operations.
    I wanted to add another select operation with pure sql. When I added the operation it gave me error "Start of the root element expected" while registering the service.
    Can't we do like this?
    I use SOA suite 10.1.3.4.
    - Sam

    Hi Thanks for reply.
    There is an option while configuring the DB adapter "Execute Custom SQL" where you can specify the query you want to execute. It will generate the schema as per the query you enter in the wizard.
    I have created adapters with this type of custom SQLs and even I have put multiple operations in the same adapters where all use Custom SQL and they are working fine.
    Thease custom SQL operations can be anything insert, update, select and they even work with other operations using procedures in the same adapter. But yes we need to modify the WSDL manuallly.
    My problem was that when I try to add the custom SQL operation in the adapter which is configured with normal select, insert and update operation, I was getting the error mentioned.
    - Sam

Maybe you are looking for