BAPI_REQUISITION_CHANGE - SERVICES

Good Morning to All.
How do you change friends via BAPI items in the Services tab of a purchase requisition?
Today I do the following.
I use the BAPI_REQUISITION_GETDETAIL to retrieve existing information, then through external handle such information, the information can change using the Request BAPI_REQUISITION_CHANGE, but the tab in Services (based Activities) has no parameters to modify this Bapi.
Is there any other function to do this?
Ronaldo Nogueira.

Hi,
unfortunately you can not use this BAPI for first point. Here is a quote from BAPI documentation
You cannot add any new items. The method only supports the changing
of already existing items.
Point 2 should not be a problem. Just read BAPI documentation how to do it. Basically you should call BAPI_REQUISITION_GETDETAIL and fill structures with data from this BAPI. Then just modify required fields and call your BAPI.
I am not sure if you can change header text with this BAPI.
Cheers

Similar Messages

  • Service PO - Multiple account assignments for service line items

    Hi All,
    I'm trying to create a service purchase order using BAPI 'BAPI_PO_CREATE1'.
    But i need to create service line items with multiple account assignments say
    For line item 10 -
    1)Service line 1 -Cost center 'XYZ'.
    2)Service line 2 -Cost center 'ABC'.
    In POACCOUNT there is no option to specify the service line item .
    Moreover in POSERVICES also there is no option to mention costcenter.
    How can i create the same...
    Thanks in advance
    Regards
    Prasanthi

    Dear Prithviraj,
    CAPEX (Category 'A'), can it apply to OPEX/Blanket and Sm. Proj?
    I know create multiple account assigment under ME51N/ME52N.
    Any solution by using FM (BAPI_REQUISITION_CREATE and  BAPI_REQUISITION_CHANGE)?
    thanks
    Regards,
    Weng

  • BAPI_REQUISITION_CHANGE Price

    Hi,
      I try to use BAPI_REQUISITION_CHANGE to change price of my PREQ and I have always this message "Data in REQUISITION_ITEM_OLD for item 00010 does not correspond to current database status".
      Do I have to fill all the field in the requisition_items_old or just the field I want to change.....
    Does somebody already use this BAPI and can help me
    Best regards
    Andre

    before calling  BAPI_REQUISITION_CHANGE  you should read current data into ITEM (requisition_items and requisition_account_assignment).to do so :
    data:
    prnum TYPE bapieban-preq_no ,
    i_pritem LIKE bapieban OCCURS 0 WITH HEADER LINE ,
    i_acc LIKE bapiebkn OCCURS 0 WITH HEADER LINE ,
    pritem LIKE bapiebanv  OCCURS 0 WITH HEADER LINE  ,
          pritem_new LIKE bapiebanv OCCURS 0 WITH HEADER LINE ,
    req_acc_old  LIKE  bapiebknv OCCURS 0 WITH HEADER LINE ,
          req_acc_new  LIKE  bapiebknv OCCURS  0 WITH HEADER LINE
    CALL FUNCTION 'BAPI_REQUISITION_GETDETAIL'
            EXPORTING
              number                               = prnum
             account_assignment                   = 'X'
      ITEM_TEXTS                           = ' '
      SERVICES                             = ' '
      SERVICE_TEXTS                        = ' '
            TABLES
             requisition_items                    = i_pritem
             requisition_account_assignment       = i_acc
      REQUISITION_TEXT                     =
      REQUISITION_LIMITS                   =
      REQUISITION_CONTRACT_LIMITS          =
      REQUISITION_SERVICES                 =
      REQUISITION_SERVICES_TEXTS           =
      REQUISITION_SRV_ACCASS_VALUES        =
      RETURN                               =
       know you have data in internal tables and you can change these tables, you can loop in tables , but before change data MOVE these tables into New tables :
               MOVE-CORRESPONDING  i_pritem  TO pritem  .
               MOVE-CORRESPONDING  i_pritem  TO pritem_new .
    NOTE: dont change data in  pritem ,just change pritem_new  because we want to call BAPI_REQUISITION_CHANGE   and we will send pritem_new  and  pritem.BAPI_REQUISITION_CHANGE will read pritem_new   to change PR items.
    also for account assingment:
    MOVE-CORRESPONDING  i_acc  TO req_acc_old .
    MOVE-CORRESPONDING  req_acc_old TO  req_acc_new.
    APPEND  req_acc_old.
    " CHANGE VALUE IN req_acc_new (NOT IN req_acc_old)
           req_acc_new-funds_ctr  = 1000.
            req_acc_new-cmmt_item  = 482000.
    append  req_acc_new.
    NOW CALL bapi fm -
      DATA: c_x LIKE bapita-wait .
      c_x = 'X'.
      DATA:ret TYPE TABLE OF bapiret2 WITH HEADER LINE  .
    CALL FUNCTION 'BAPI_REQUISITION_CHANGE'
        EXPORTING
          number                        = prnum
        TABLES
          requisition_items_old         =  pritem
          requisition_items_new         =  pritem_new
         requisition_account_old       =  req_acc_old
         requisition_account_new       = req_acc_new
        REQUISITION_TEXT_OLD          =
        REQUISITION_TEXT_NEW          =
         return                        = ret
      break rrostami.
      READ TABLE ret INTO ret WITH KEY type = 'E' .
      IF sy-subrc NE 0.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            wait = c_x.
      ENDIF.

  • REQUISITION SERVICES CHANGE

    Hi all,
    How can I change services data in a purchase requisition ? I have tried with BAPI_REQUISITION_CHANGE but it doesn't provide this kind of change. It hasn't "services" in tables parameter like BAPI_REQUISITION_CREATE and BAPI_REQUISITION_GETDETAIL have.
    Thanks in advance for help.

    HI,
    try these..
    BAPI_SERVICE_GET_DETAIL Read Detailed Data for a Service Master Record 
    PREQCR Create purchase requisition - SAPLMEWQ EXIT_SAPLMEWQ_001 Customer exit for processing of requisitions via BAPIs
    see this link
    http://help.sap.com/saphelp_dimp50/helpdata/EN/bc/5bba42a75fc611e10000000a1550b0/content.htm
    http://www.ibm.com/developerworks/websphere/techjournal/0308_chen/chen.html
    thanks
    karthik

  • Error while calling a select esb service

    javax.resource.ResourceException: RollbackException: Transaction has been marked for rollback:
    I encounter the above error while executing a synchronous bpel process, that invokes an esb db select service to fetch a value from the db.
    the details available for the error are:
    An unhandled exception has been thrown in the ESB system. The exception reported is: "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0 at java.util.Vector.get(Vector.java:710) at oracle.tip.esb.server.common.wsif.WSIFInvoker.readResponseHeader(Unknown Source) at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(Unknown Source) at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(Unknown Source) at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.nextService(Unknown Source) at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.processBusinessEvent(Unknown Source) at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(Unknown Source) at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(Unknown Source) at oracle.tip.esb.server.dispatch.BusinessEvent.raise(Unknown Source) at oracle.tip.esb.wsif.WSIFOperation_ESB.executeRequestResponseOperation(Unknown Source) at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:431) at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:353) at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:192) at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:733) at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:368) at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:197) at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3266) at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1696) at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75) at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:184) at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:269) at com.collaxa.cube.engine.CubeE
    Please suggest
    thanx
    AJ

    Done That,
    Thanx a ton Dave, it worked.
    So I am finally moving on :-)
    Just one question Dave, I happened to work on the Beta release of this version too, the problem was not there. How come we have been able to get it in dev preview.

  • Error while invoking a WS-Security secured web service from Oracle BPEL..

    Hi ,
    We are facing some error while invoking a WS-Security secured web service from our BPEL Process on the windows platform(SOA 10.1.3.3.0).
    For the BPEL process we are following the same steps as given in an AMIS blog : - [http://technology.amis.nl/blog/1607/how-to-call-a-ws-security-secured-web-service-from-oracle-bpel]
    but sttill,after deploying it and passing values in it,we are getting the following error on the console :-
    “Header [http://schemas.xmlsoap.org/ws/2004/08/addressing:Action] for ultimate recipient is required but not present in the message”
    Any pointers in this regard will be highly appreciated.
    Thanks,
    Saurabh

    Hi James,
    Thanks for the quick reply.
    We've tried to call that web service from an HTML designed in Visual Studios with the same username and password and its working fine.
    But on the BPEL console, we are getting the error as mentioned.
    Also if you can tell me how to set the user name and password in the header of the parter link.I could not find how to do it.
    Thanks,
    Saurabh

  • Necessary Fields For Creation of Service PO of Order Type Relaese Order.

    Dear Guru,
    I have encountered an issue which i am trying to resolve...
    My this requirment will seem little okward the way i am asking but i have no way...
    The issue is I have to create a Service PO of Order type Release order (RO) using BAPI Function Module .BAPI_PO_CREATE1.
    The service PO should be of multiple Item and services for particular line item should be multiple.
    When I am creating this using ME21 or ME21N i am facing no issue.
    But when i am using BAPI Function Module .BAPI_PO_CREATE1
    i am getting following errors ;; The error which i am getting as below                                                                               
    T ID                   NUM MESSAGE                                                                               
    E BAPI                001 No instance of object type PurchaseOrder has been created. External reference:
    E MEPO              000 Purchase order still contains faulty items                                    
    E SE                   029 Please maintain services or limits                                            
    E SE                   140 Service HIRING OF LCD: please specify unit of measure
    But I am failing to findout in which field services  or limits and unit of measurement have to maintain.
    What are the necessary fields have to pass in Bapi import parameter and the table i am unable to findout.
    Please show some way how to resolve this or give me some guideline to resolve this
    Dear Moderator request your kind intervane to move this qurry into correct forum if i have asked this in wrong forum
    Thanks and regards
    saifur rahaman

    Hi Saifur
    Can you please elaborate how did you resolve the issue we are also facing same problem when we are trying to create the PO for service items through SRM it is throwing same error while creating the PO in SAP.
    Email Id : [email protected]
    Thank you in advance!!
    Regards
    Deepika

  • Logical Systems in Business Services

    Hi
    In Business Service creation, for Adapter Specific Identifiers, the parameter for the Logical System. It is only possible to assign one logical system to one Business Service ?.
    i.e. to do
    MyBusServ1, Z_LS_1 
    MyBusServ2, Z_LS_1
    is not possible ?
    When trying to assign Z_LS_1 to MyBusServ2 I get the error that Z_LS_1 is already assigned. Is there a way to circumvent ?, I do not want to create two logical systems in R/3 as the IDOCS types submitted by the Business Services are the same.
    Thanks
    Damien

    Thanks for the replies
    Sarvesh - The Business service is the sender of the information \ IDOC. If I remove the Adapter specific config then how will XI know what Logical system to apply to the IDOC ?.
    Jaishankar - I am creating two IDOC's in SAP. MATMAS and PORDCR. The input file are coming from two different source systems. lets say sys1 and sys2. Both of thse for clarity are created in my scenario as Business Services. sys 1 creates MATMAS and PORDCR IDOC's int he syatem, sys2 creates PORDCR IDOC's in the system. As sys1 and sys2 are related in that they created the IDOC's as part od the same project then I would like to collect in the same partner profile in SAP e.g. Partner Profile ZPP_IDOC with IDOC types MATMAS PORDCR that serve as input for both systems. Logically I would assume that I can assing the logical system ZPP_IDOC to both the adapter specific parameter in both sys1 and sys2.
    Thanks
    Damien

  • Not Able To View Data in Web Service Model

    Hi ,
       I m trying to view a table using web service model.
       When i write the same code for binding it to context , i m able to view its data.
       But not so while using Web Service Model(not adaptive web service model).
       The code is: 
             Request_ZMANAGE_MAKT_ZMANAGE_ZMAKT object1 =new Request_ZMANAGE_MAKT_ZMANAGE_ZMAKT();
       wdContext.nodeRequest_ZMANAGE_MAKT_ZMANAGE_ZMAKT().bind(object1);
       object1.setResponse(new Response_ZMANAGE_MAKT_ZMANAGE_ZMAKT());
      CAn anybody plz solve my problem.
    Thanks..
    Regards,
    Ankita

    Hi,
    I have no problem with item :P15_EV_LCL this is having a value my probem here is i am using java script to display the value in different color based on the condtion case
    eg:
    select
    case
    TRUNC((
    ( (NVL(Z."AEWP",0) - NVL(Z."BEWP_Final",0) ) / DECODE(Z."BEWP_Final",0,NULL,Z."BEWP_Final") ) * 100
    ),2)
    = :P15_EV_LCL
    then
    span style="background-color:lightgreen"
    || TRUNC((
    ( (NVL(Z."AEWP",0) - NVL(Z."BEWP_Final",0) ) / DECODE(Z."BEWP_Final",0,NULL,Z."BEWP_Final") ) * 100
    ),2) || '%' || /span
    else
    span style="background-color:yellow"
    || TRUNC(
    ( (NVL(Z."AEWP",0) - NVL(Z."BEWP_Final",0) ) / DECODE(Z."BEWP_Final",0,NULL,Z."BEWP_Final") ) * 100
    ),2) || '%' || /span
    end "Effort"
    from actuals Z
    If i dont use this <Span style="Background-color:color"> i am able to generate data in excel sheet if i use this color coding i am not able to get data in spread sheet.
    Please suggest
    Thanks
    Sudhir
    Edited by: Sudhir_N on Mar 23, 2009 10:00 PM

  • Unable to capture return values in web services api

    At the time of login to web services if my server is down ,
    it returns following error :
    java.lang.StringIndexOutOfBoundsException: String index out of range: -1
            at java.lang.String.substring(String.java:1438)
            at java.lang.String.substring(String.java:1411)
    I want to capture this error so that i can try another server to login. how do i capture this error
    Another place where i want to capture the return Value is when i look for a report on the server
    rh = boBIPlatform.get("path://InfoObjects/Root Folder/"src_folder"/" + reportName +
                               "@SI_SCHEDULEINFO,SI_PROCESSINFO" ,oGetOptions);
    oInfoObjects = rh.getInfoObjects();
    CrystalReport = (CrystalReport)oInfoObjects.getInfoObject(0);
    Here if the report is not there on the server , it returns a null handler exception.
    but if i try catching it by checking my responsehandler is null  like rh == null  it does not catch it.
    Any help will be appreciated
    thanks
    Rakesh Gupta

    Ted : i have two cases
    1)   server = server_st.nextToken();
        providerURL = "http://"server"/dswsbobje/services";
        sessConnURL = new URL(providerURL + "/session");
       Connection boConnection = new Connection(sessConnURL);
       Session boSession = new Session(boConnection);
      EnterpriseCredential boEnterpriseCredential = new    EnterpriseCredential();
                  boEnterpriseCredential.setLogin(userid);
      boEnterpriseCredential.setPassword(pwd);
      boEnterpriseCredential.setAuthType(auth);
    SessionInfo boSI = boSession.login(boEnterpriseCredential);
    I have got a list of servers running web servcies stored in my tokens. when i pass the first server name say " test:8080" and that server is down , i want to catch somewhere in the code above that it did not get the connection so that i can loop back and try with the second server say test1:8080
    This is for failover purposes.
    at present when i was trying to capture return value of boSI it  breaks giving the error
    java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring(String.java:1438)
    at java.lang.String.substring(String.java:1411)
    2nd case :
    I am geeting reports from the server and scheduling them:
    i run the following code which works fine if reports is there
    rh = boBIPlatform.get("path://InfoObjects/Root Folder/"src_folder"/" + reportName +
    "@SI_SCHEDULEINFO,SI_PROCESSINFO" ,oGetOptions);
    oInfoObjects = rh.getInfoObjects();
    CrystalReport = (CrystalReport)oInfoObjects.getInfoObject(0);
    Here if  the  report  is not there on the server  then i should be able to catch from the response handle rh that it has got a null value.
    but rh does not return a null value 
    the code ultimately throws a null handle at the following line
    CrystalReport = (CrystalReport)oInfoObjects.getInfoObject(0);
    i am not able to catch the null value there also.
    hope you got my issue.

  • Adobe Cloud Services

    How comes Adobe Cloud services is not available to people in Africa?

    There is a special sub forum for iOs Reader:
    http://forums.adobe.com/community/adobe_reader_forums/ios?view=discussions

  • Service Desk - Expert Mode - Not all actions are available

    Dear SAP colleagues,
    I have just implemented the Service Desk in our SOLMAN system.
    1. I choose Incident Management
    2. I click on Queries
    3. I click on a ticket (Transaction ID).
    4. I edit the message
    5. When I select Actions, I only have the 4 following options :
        - Send Message to SAP
        - Maintain SAP Logon Data
        - Display SAP Action Log
        - Update SAP Message
    When I consult some demos, there are many differents options available in Actions menu, as, for example :
    - Open System fro SAP
    - Confirm Message to SAP
    - E-Mail to Message Creator (Mail)
    - Print Message
    - Create Change Document
    - Call Solution Manager Diagnostics.
    Is it due to an missing authorizations (roles and profiles) ?
    Thanks for your input.
    Best regards
    CP2009

    Dear Rajeev,
    First of all, thanks for your input.
    I have choosen SIVA when I have activated BC Sets.
    Should I activate also BC Sets for transaction type SLFN ?
    1. I have started SPPFCADM and follow your recommandations.
    2. I have choosen CRM_ORDER
    3. I have then click on "Condition Configuration (Transportable Conditions)
    4. There are many entries related to the Support and Service Desk
    Example : Support Desk Message Action Profile
    I have 5 actions defined -
    Action 01 : Send Message to Processor
    Action 02 : Create/Change Basis Message from CRM Procedure
    Action 03 : Send Notification to SAP
    Action 04 : Update Message from SAP
    Action 05 : Confirm Message to SAP
    I have activate BC Sets for transaction type SIVA, not for SLFN.
    Best regards
    CP2009

  • How to log in to Service Desk to create sample message to SAP?

    Dear all,
    How to log in to Service Desk under my Solution Manager server to create sample message to SAP under Component: SV-SMG-SUP?
    Regards
    GN

    Hi GN,
    You have different options to create messages in test component SV-SMG-SUP-TST:
    1. if you are on 7.1 you can create message using CRM_UI
    2. If you are using lower vrsion then either you can create message using Workcenter or using transaction NOTIF_CREATE or using menu --> Help --> Create support message.
    Thanks
    Regards,
    Vikram

  • How to allow access to web service running under ApplicationPoolIdentity

    Hi All,
    I have a WCF web service hosted in IIS 7 (or maybe 7.5, whichever comes with Windows server 2008 R2) using DefaultAppPool running under ApplicationPoolIdentity per Microsoft's recommendation. The web service needs to call a stored procedure to insert data
    to a db. The web server is on a different VM than the database server. The db server is running SQL 2008 R2. Both VMs run Windows server 2008 R2.
    When the web service tries to connect to db, it encounters this exception:
    Exception in InsertToDb()System.Data.SqlClient.SqlException (0x80131904): Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
       at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
    Here's the connection string in web.config:
    Application Name=somewebservice;Server=somewebserver;Integrated Security=SSPI;Database=somedatabase;Connection Timeout=60"
    How should I configure SQL security to make this work?
    Thanks in advanced.

    Thanks for the link Dan. Maybe I'm the one who cause the confusion :)
    If I understand you(and Erland) correctly, you suggest using a custom, domain account for application pool identity. However, if we do that, our IT will need to maintain those accounts, and they don't  want that. So I'm choosing a built-in account called
    ApplicationPoolIdentity as the application pool identity, but it's not working. Network Service, on the other hand, works, but my boss wants us to follow MS's best practice.
    What's puzzling is that according to this: http://learn.iis.net/page.aspx/624/application-pool-identities/, both Network Service and ApplicationPoolIdentity uses machine account to access network resource (like db in this case), but in my case, Network Service
    works, but not ApplicationPoolIdentity.
    Hallo Stephen,
    with respect - it seems to me that only idiots are working at your IT ;)... It is absolutely useful to work with "service accounts" created within the domain. That's the only way to manage and control accounts!
    If you want to "pass through" the identity of the web user (SSO) you have to check whether the app pool is set to "allow impersonate". As far as I understand the ApplicationPoolIdentity-function the app pool will create a unique user named as the service.
    I assume that will not work with the connection to the sql server because this user is unknown.
    Local Service will not work because it's restriction is located to the local machine.
    Network Service will work because access to network resources will be available.
    So my recommendation is to use a dedicated service account or impersonation:
    http://msdn.microsoft.com/en-us/library/xh507fc5.aspx
    Uwe Ricken
    MCITP Database Administrator 2005
    MCITP Database Administrator 2008
    MCITS Microsoft SQL Server 2008, Database Development
    db Berater GmbH
    http://www-db-berater.de

  • How do I use the Web Services API to query orders?

    The help doc states, "you can retrieve details for purchases including products purchased, payments received, and their status." The only additional info is at the link to eCommerce-Related Web Service, which does not include any information about retrieving "products purchased, payments received, and their status."

    Hey if you read over that again you have two links, the other is this one:
    https://worldsecuresystems.com/catalystwebservice/catalystcrmwebservice.asmx

Maybe you are looking for