Import Po service contract

Dear SAP experts,
I have the requirement from the client as per the follows
The import PO is made with the main imported vendor which is verbal (by telephonic,e-mail), The supplier then sends the proforma invoice,and arrange to despatch the goods from his location.
Now my client have made five  to six service aggreements on yearly basis with vendors like packing and forwarding vendor,freight vendor, local transporter, clearing agent etc..the charges is on the basis of tonnage ( the PO order unit is in "tonnes"). So when the consignment arrives in india the client contact with all these vendor to transport the goods from indian port to the factory gate. then as per the tonnage quantity in consignment, the payment is made to the respective vendor as per the tonnage charges mentioned in the service aggreements or contracts.
Now in SAP I have to map this process as all the landing charges,transport charges is to be inventorised to the material cost.
so please guide me how i will do this in SAP? as Client is firm for making service aggreements  with all these vendors.
Thanks and Regards,
Ravindra
Edited by: Ravi1911 on Oct 4, 2010 12:45 PM
Edited by: Ravi1911 on Oct 4, 2010 12:46 PM

i have done the customization

Similar Messages

  • Service Contracts - Two Important Questions

    Hi everyone, I hope you're allright... I need to trouble you guys, this time with two questions regarding Service Contracts.
    We are implementing this functionality and we are doing ok so far. But, when I'm raising a WV contract by using txVA41, and, according to my customer's request, I would need to fill in the "WBS Element" field at ITEM level. This I can´t do, since this field is greyed out at item level (but it is not at header level). On the other hand, if I'm trying to make this on a Sales Order - Type Document, It works the other way around (It's greyed out on Header level and can be filled in on item level). Can anyone please explain to me how is this possible?? And more important, is there any way I can turn this situation around?? I would really need to fill the WBS element data on ITEM level on my service contract.
    The other problem we're facing is that, apparently due to regulation issues, (this is a configuration for a USA customer) they need to have on each contract item line the origin and destination data. (This company provides, between other things, data services (communication, bandwith, etc). So each three months they have to see a report indicating the origin and destination of each circuit they're providing in the contract, for tax issues (USF, for example). Did anyone face this problem in the past or have any ideas on how to fill in this data on item level????
    That's all for the moment... I would really really appretiate any help you can provide me since I'm a bit lost with this issues...
    Thanks in advance and best regads,
    Diego Casanueva

    Technically "AirPort Ready" indicates that your Mac has an internal slot for the proper Apple wireless card.
    A Power Mac G4 800 MHz has an internal slot for the original AirPort card. It is not compatible with the AirPort Extreme card
    AirPort Extreme is Apple's name for 802.11g. The original AirPort card is 802.11b.
    802.11g is backward compatible with 802.11b. In other words, 802.11b devices can connect to a 802.11g device as long as the 802.11g device is configured in an 802.11b compatible mode.
    AirTunes is only available on the AirPort Express.

  • Service Contracts Import

    Is there an API or Interface tables for importing Service Contracts.
    Anand.

    Hi,
    You cannot import one Business Area into another. A Business Area is just a collection of folders. One folder can be in many business areas. Access to the folders in the EUL is controlled through the security on the Business Areas. Organising your folders into Business Areas just makes it easier for users to find folders in the EUL.
    If your users need to use the folders in another business area you must either change the security on the business area so that the users can access the folders or use the manage folders to move all the folders into a buinesss area that the users can access. The same folder will then appear in both business areas.
    Rod West

  • Error in BAPI RETURN for Service Contract

    Hi,
      I get an error in the BAPI Return for the Uploading the Service Contracts by LSMW. The Error Message is E BS No status object is available for &.Also want to know can we upload multiple line of header text for a Contract by this BAPI. If so then how would I do this , as the BAPI structure BAPISDTEXT has textline upto 132 characters. And I am take only one file in LSMW where the header & details come alongwith text. Or could also tell me the file structure of for the data upload. The legacy system sends multiple text in the header for a Contract.For Eg.
    Header1 Detail1 Text1
    HEader1 Detail2 Text2
    Header1 Detail3 Text3
    So I would need this text1TEXT2text3 in the Header Text of the Contracts. Or do I need the change the file structure. Many thanks for your time and help.

    Thanks Nablan, I could do that for multiple header coming in file. But I have a question for you on BAdI ALM_ME_006_GOODSMVT. I have implemented this BAdI , and this BAdI is called by a function Module ALM_MEREP_006_CREATE. When I test this FM giving the Material , Orderid and Movement type entries, this BAdI is triggered when giving a breakpoint. I've given this code for changing the movement type to 961. Cause the stanadrd scenario does not maintain Movement type 961 in Mobile Asset Management. The Movement type 961 for unplanned Materials comes to SAP and changes to 261 as maiantained by TCOKO table. To bypass this & retain the movement type 961 in SAP I'm using this BAdI. Currently this is what I'm doing and am stuck in the method interface how do I call the method.
    method IF_EX_ALM_ME_006_GOODSMVT~CREATE .
    break-point.
    *DATA : i_ce_goodsmovement TYPE REFERENCE
              ALM_ME_CUSTOMER_ENHANCEMENT.
    DATA : lr_badi_goods_movement TYPE REF TO if_ex_alm_me_006_goodsmvt.
    DATA : ls_user_data TYPE ALM_ME_USER_DATA-USERID.
    *DATA : goods_movement TYPE ALM_ME_MATERIAL_MOVEMENT.
    CALL METHOD lr_badi_goods_movement->create
      EXPORTING
           ce_goodsmovement = ce_goodsmovement
      IMPORTING
           user_data        = ls_user_data
           custom_user_data = ls_ce_user_data
           goods_movement   = goods_movement
      changing
           return           = return[].
    CALL FUNCTION 'ALM_ME_COMMIT_OR_ROLLBACK'
           TABLES
                return = return.
    endmethod.
    Please help me to get the data in this method. How do I call this.

  • Updating address of a partner in crmd_order Service Contract

    Hello everybody,
               I have a requirement of updating address of partners in service contracts in SAP CRM. I have tried to create an address number and person number and pass it to crm_order_maintain but it is not working. Please help me with this.
    Thanks in advance.
    Regards,
    Srujana.

    I generated a partner set guid from the object guid and obtained new addr and person numbers by using this partner set guid. I am then passing them to crm_order_maintain using the following code but it doesnot seem to work. Please refer to this code and help me.
    data: doc_id TYPE char32,
          new_addrnr TYPE AD_ADDRNUM,
          new_addrnp TYPE AD_PERSNUM.
    *doc_id = wa_ls_orderadm_h-guid.
    DATA: partner_set_guid TYPE crmt_object_guid.
    CALL FUNCTION 'CRM_LINK_GET_OW'
      EXPORTING
        iv_guid_hi                     = wa_ls_orderadm_h-guid
       IV_OBJNAME_HI                  = 'ORDERADM_H'
       IV_OBJNAME_SET                 = 'PARTNER'
      IV_GET_ALL                     =
       IV_INHERIT_FROM_STR            = 'X'
    IMPORTING
      ET_LINK                        =
       EV_GUID_SET                    = partner_set_guid
    EXCEPTIONS
       INVALID_INPUT_DATA             = 1
       NO_ALLOCATED_OBJ_FOUND         = 2
       UNDEFINED_INTERNAL_ERROR       = 3
       OTHERS                         = 4
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL FUNCTION 'COM_PARTNER_ADDRESS_COPY'
      EXPORTING
        iv_caller                  = 'CRM'
        IV_DOCUMENT_ID             = doc_id
        iv_partnerset_guid         = partner_set_guid"'00000000000000000000000000000000'
        iv_addr_nr                 = ls_partner_wrk-addr_nr
        IV_ADDR_NP                 = ls_partner_wrk-addr_np
        iv_addr_type               = '2'
      IV_CONVERSION_3_TO_2       = ' '
      IV_MAKE_EMPTY              = ' '
      IV_NEW_ADDRESS_TYPE        = ' '
    IMPORTING
       EV_NEW_ADDR_NR             =  new_addrnr
       EV_NEW_ADDR_NP             = new_addrnp
      EV_NEW_ADDR_TYPE           =
    EXCEPTIONS
       ERROR_OCCURRED             = 1
       PARAMETER_ERROR            = 2
       OTHERS                     = 3
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    i passed the generated addrnr and addrnp to the crm_order_maintain as follows
    wa_partner1-addr_nr        = new_addrnr."ls_partner_wrk-addr_nr.
    wa_partner1-addr_np        = new_addrnp."ls_partner_wrk-addr_np.
    wa_partner-addr_nr        = new_addrnr."ls_partner_wrk-addr_nr.
    wa_partner-addr_np        = new_addrnp."ls_partner_wrk-addr_np.
    wa_partner-addr_type      = ls_partner_wrk-addr_type.
    INSERT wa_partner INTO TABLE it_partner.
    APPEND wa_partner_att TO it_partner_att.
       INSERT wa_field_names INTO TABLE it_field_names.
        wa_field_names-fieldname  = 'ADDR_NP'.
        wa_field_names-CHANGEABLE  = 'B'.
        INSERT wa_field_names INTO TABLE it_field_names.
        wa_field_names-fieldname  = 'ADDR_NR'.
        wa_field_names-CHANGEABLE  = 'B'.
        INSERT wa_field_names INTO TABLE it_field_names.
        wa_field_names-fieldname  = 'ADDR_ORIGIN'.
        wa_field_names-CHANGEABLE  = 'B'.
        INSERT wa_field_names INTO TABLE it_field_names.
        wa_field_names-fieldname  = 'ADDR_TYPE'.
        wa_field_names-CHANGEABLE  = 'B'.
        INSERT wa_field_names INTO TABLE it_field_names.
        wa_field_names-fieldname  = 'STD_BP_ADDRESS'.
        wa_field_names-CHANGEABLE  = 'B'.
        INSERT wa_field_names INTO TABLE it_field_names.
    DATA : lv_bp TYPE bu_partner,
             lv_bp_log(16) TYPE c,
             lv_partner_guid TYPE bu_partner_guid,
             lv_msg_text TYPE bapi_msg,
             lv_error_text TYPE char8000,
             lv_bpbp(4) TYPE c VALUE 'BPBP',
             lv_logical_key TYPE crmt_logical_key,
             lv_length TYPE i.
    SELECT SINGLE partner FROM but000 INTO lv_bp  WHERE partner_guid = wa_partner-partner_no.
    *Building Logical Key for maintaining partner
          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
            EXPORTING
              input  = lv_bp
            IMPORTING
              output = lv_bp.
          CONDENSE lv_bp NO-GAPS.
         lv_bp_log = lv_partner_guid+0(10) ."lv_bp.
          CONDENSE lv_bp_log NO-GAPS.
          CONCATENATE '0000'
                      'Z0000009'
                      lv_bp_log
                      lv_bpbp
                      INTO lv_logical_key
                      RESPECTING BLANKS.
       wa_input_fields-ref_handle  = lv_handle.
    wa_input_fields-ref_guid = wa_ls_orderadm_h-guid.
    wa_input_fields-ref_kind    = 'A'.
    wa_input_fields-objectname  = 'PARTNER'.
    *wa_input_fields-ref_handle  = '0000000001'.
    wa_input_fields-logical_key = lv_logical_key.
    wa_input_fields-field_names = it_field_names.
    INSERT wa_input_fields INTO TABLE ct_input_fields.
    DATA: lv_created_partnerset_guid           TYPE CRMT_OBJECT_GUID.
    CALL FUNCTION 'CRM_ORDER_MAINTAIN'
    EXPORTING
       IT_PARTNER                    = it_partner
    IMPORTING
       ET_EXCEPTION                  = it_exception
    CHANGING
      CT_ORDERADM_H                 =
      CT_ORDERADM_I                 =
       CT_INPUT_FIELDS               = ct_input_fields
      CV_LOG_HANDLE                 =
      CT_PARTNER_ATTRIBUTES         =
      CT_DOC_FLOW                   =
    EXCEPTIONS
       ERROR_OCCURRED                = 1
       DOCUMENT_LOCKED               = 2
       NO_CHANGE_ALLOWED             = 3
       NO_AUTHORITY                  = 4
       OTHERS                        = 5
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    *ENDIF.
    *CALL FUNCTION 'CRM_PARTNER_MAINTAIN_SINGLE_OW'
    EXPORTING
      IV_REF_GUID                      = wa_ls_orderadm_h-guid
      IV_REF_KIND                      = ls_partner_wrk-ref_kind
      IS_PARTNER_COM                   = wa_partner1
      IV_POPULATE_MODE                 = 'X'
      IV_CHECK_PARTNER_ONLY            = ' '
      IS_PARTNER_CONTROL               = wa_partner_control
    IMPORTING
      EV_CREATED_PARTNERSET_GUID       = lv_created_partnerset_guid
    CHANGING
      CT_INPUT_FIELD_NAMES             = it_field_names
      CT_PARTNER_ATTRIBUTES_COM        = it_partner_att
    EXCEPTIONS
      ERROR_OCCURRED                   = 1
      OTHERS                           = 2
    *IF sy-subrc = 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ELSE.
    DATA: IT_SAVED_OBJECTS TYPE  CRMT_RETURN_OBJECTS,
        REFERENCE(ET_EXCEPTION) TYPE  CRMT_EXCEPTION_T
          IT_OBJECTS_NOT_SAVED TYPE  CRMT_OBJECT_GUID_TAB.
    *DATA: wa_order TYPE CRMT_ORDERADM_H_COM.
    *MOVE-CORRESPONDING wa_ls_orderadm_h to wa_order.
    *CALL FUNCTION 'CRM_ORDER_H_COMPLETE_OW'
    CHANGING
       cs_orderadm_h       = wa_order.
    ls_act_to_save = wa_ls_orderadm_h-guid.
      APPEND ls_act_to_save TO lt_act_to_save.
      CALL FUNCTION 'CRM_ORDER_SAVE'
        EXPORTING
          it_objects_to_save = lt_act_to_save
        IMPORTING
          ET_SAVED_OBJECTS = IT_SAVED_OBJECTS
          et_exception = it_exception
          ET_OBJECTS_NOT_SAVED = IT_OBJECTS_NOT_SAVED
        EXCEPTIONS
          document_not_saved = 1
          OTHERS             = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ELSE.
       WAIT UP TO 2 SECONDS.
      commit work.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            wait = c_x.
      WRITE: / 'Service Contract updated = ', p_obj_id.
      ENDIF.
    ENDIF.

  • How do I "run" an ldt file for Service Contracts?

    Ref. BugNo. 4450150
    How do I “run” an .ldt file for Service Contracts?
    Do I use FNDLOAD and if so is this the way to do it
    FNDLOAD apps/apps_password 0 Y UPLOAD @FND:OKS_TOP/patch/115/import/US/okskfinv.ldt
    Thanks

    See Note:142483.1
    Subject: How to Define the ORACLE_SERVICE_ITEM_FLEXFIELD

  • BOM IN CRM Only for Service  Contract

    Hello
    We want have a BOM explosion working in CRM for service contracts
    Here are the details :
    We have replicated the materials from ECC to CRM. We are not maintaining any BOMu2019s in ECC.
    The idea is that we maintain the BOM Structure in CRM only, as we donu2019t want to have the Items as a billable item in a position, only for information purposes (or later on for metering)
    We have maintained the product category for the header product in CRM so we are able to maintain depended components
    (Relationship type SCDEC  S Dependent Components (DC) )
    Not we are able to assign dependent component to the header material
    Item category groups:
    We understand that the standard item category groups that should be used are ERLA for the header product and LUMF for the Item product.
    In order to support the same functionality for the given item category group , maintained at the product level in ECC we copied the same setting for the item category group from the standard to
    our settings.
    Standart
    Tx type     Item Cat Group          item category     structure scope
    TA             ERLA                TAQ           A single level Explosion of Structured Product     
    TA         LUMF                TAP                   A single level Explosion of Structured Product     
    So we have copied TAQ to ZTAQ and TAP to ZTAP.
    ZS01 is a copy of SC (service contract)
    Tx type     Item Cat Group          item category     structure scope
    ZS01     ZLEI                       ZTAQ          A single level Explosion of Structured Product     
    ZS01     LEIS                       ZTAP          A single level Explosion of Structured Product     
    But when we use a header product in the service contract, we cannot see the BOM is exploding.
    We have also created some products in CRM with exactly the same Item Category groups as the standard and when we create a standard order (TA) in CRM, the BOM is NOT exploding.
    Questions:
    Is it possible to have the BOM setup only in CRM, like we try to do it?
    Is it possible to use our own item category groups in CRM more is the functionality only working with ERLA and LUMF?
    Is it possible to use the BOM Explosion in Service contracts as well ?
    What steps are we missing to get the BOM explosion in CRM ?
    Thank you for your help
    Frank
    Edited by: Frank Foerstner Foerstner on Dec 9, 2011 12:34 PM

    Thanks Nablan, I could do that for multiple header coming in file. But I have a question for you on BAdI ALM_ME_006_GOODSMVT. I have implemented this BAdI , and this BAdI is called by a function Module ALM_MEREP_006_CREATE. When I test this FM giving the Material , Orderid and Movement type entries, this BAdI is triggered when giving a breakpoint. I've given this code for changing the movement type to 961. Cause the stanadrd scenario does not maintain Movement type 961 in Mobile Asset Management. The Movement type 961 for unplanned Materials comes to SAP and changes to 261 as maiantained by TCOKO table. To bypass this & retain the movement type 961 in SAP I'm using this BAdI. Currently this is what I'm doing and am stuck in the method interface how do I call the method.
    method IF_EX_ALM_ME_006_GOODSMVT~CREATE .
    break-point.
    *DATA : i_ce_goodsmovement TYPE REFERENCE
              ALM_ME_CUSTOMER_ENHANCEMENT.
    DATA : lr_badi_goods_movement TYPE REF TO if_ex_alm_me_006_goodsmvt.
    DATA : ls_user_data TYPE ALM_ME_USER_DATA-USERID.
    *DATA : goods_movement TYPE ALM_ME_MATERIAL_MOVEMENT.
    CALL METHOD lr_badi_goods_movement->create
      EXPORTING
           ce_goodsmovement = ce_goodsmovement
      IMPORTING
           user_data        = ls_user_data
           custom_user_data = ls_ce_user_data
           goods_movement   = goods_movement
      changing
           return           = return[].
    CALL FUNCTION 'ALM_ME_COMMIT_OR_ROLLBACK'
           TABLES
                return = return.
    endmethod.
    Please help me to get the data in this method. How do I call this.

  • Function Module to Search Service Contract ?

    Hi All
    I have to search the Service contracts based on :
    1. Customer i.e. Sold-to-party and partner function
    2. Product and
    3. Sales org.
    Is there any Function module  which will provide ablove parmeters as  Import gives me list of Service contracts?
    thanks
    AK

    Try Using:
    CRM_SERVICE_CONTRACTS_SEARCH

  • Service Contracts for Professional Services

    What is the best way to add a service contract to a partner so we can open service calls and know what the service contract covers? some customers have multiple service contracts and some have none. it is important for the tech that opens a service call to know what is covered, if anything. this is a helpdesk type environment.

    Hi Dale
    When using contracts of type item, the contract has a relationship to something that you sell, and can therefore be tracked. When using a Customer type contract, there is no relationship and thus difficult to state what the contract covers. My suggestion would be to create multiple Non inventory items (service items) and link these to the usual Customer Equipment Cards and Contracts. Create 1 contract for each Service Item that is covered. The item description will have to contain as much detail as can fit into 100 characters and your users can then see this in the Item Tab of the contract.
    If you decide to go with a Customer type contract these details can only be added to the Remarks field of the contract.
    Hope this helps
    Kind regards
    Peter Juby

  • Create Service Contract using BAPI_SLSTRANSACT_CREATEMULTI

    Hi,
    In my requirement, I have to create a Service Contract from flat file by using BAPI - BAPI_SLSTRANSACT_CREATEMULTI and data which are comming from flat files are, <b>Serial number, Sold-to party, Ship-to party, Installation date, Contract start date, Contract end date, Service profile, Response profile.</b>
    Please suggest me what are the Import parameters should I pass in this BAPI to create Service Contract?
    Thanks in Advance,
    Deepesh

    Hi Deepesh ,
    Please use BAPI_BUSPROCESSND_CREATEMULTI for creating the service contract.This is better in terms of functionality and usage , though very similar to BAPI_SLSTRANSACT_CREATEMULTI in terms of its interface.
    You need to call :
    1. BAPI_BUSPROCESSND_CREATEMULTI
    2. BAPI_BUSPROCESSND_SAVE
    3. BAPI_TRANSACTION_COMMIT 
    in succession.
    As far as filling the import parameters is concerned,
    1.All your dates would go to APPOINTMENT_H or APPOINTMENT_I ( Header or Item)
    2.Sold-to Party, Ship-to Party would go to PARTNER.
    Regards,
    Rishi.

  • How to creating Service Contract using BAPI_SLSTRANSACT_CREATEMULTI

    Hi,
    In my requirement, I have to create a Service Contract from flat file by using BAPI - BAPI_SLSTRANSACT_CREATEMULTI  and data which are comming from flat files are, Serial number, Sold-to party, Ship-to party, Installation date, Contract start date, Contract end date, Service profile, Response profile.
    Please suggest me what are the Import parameters should I pass in this BAPI to create Service Contract?
    Thanks in Advance,
    Deepesh

    Hi All,
    for everybody's benefit (and to avoid you the time I've spent to work this out...), here is a working example on how to create an sales order (TA) via the BAPI_SLSTRANSACT_CREATEMULTI.
    Not really a Service Contract, but it tells you how to call the BAPI.
    Points appreciated, if you find this helpful...
    I use the convention entryField for the values that should be set based on your system.
    Cheers
    G
    *& Report  ZZGVBAPISALESORDER
    REPORT  ZZGVBAPISALESORDER.
    include constants
    include crm_direct.
    // GUIDs
    data: lv_guid_h       type GUID_32,
          lv_guid_i       type GUID_32,
          lv_guid_sl      type GUID_32,
          lv_guid_p       type GUID_32.
    // Handles
    data: lv_current_handle type crmt_handle,
          lv_handle_h      type crmt_handle,
          lv_handle_i      type crmt_handle,
          lv_handle_sl     type crmt_handle,
          lv_handle_p      type crmt_handle.
    // Administration header + item + etc
    data: lt_salesorder_header type table of bapibus20001_header_ins,
          ls_salesorder_header type bapibus20001_header_ins,
          lt_salesorder_item   type table of bapibus20001_item,
          ls_salesorder_item   type bapibus20001_item,
          lt_scheduleline      type table of BAPIBUS20001_SCHEDLIN,
          ls_scheduleline      type BAPIBUS20001_SCHEDLIN,
          lt_partner           type table of BAPIBUS20001_PARTNER_INS,
          ls_partner           type BAPIBUS20001_PARTNER_INS,
          ls_logical_key       TYPE crmt_partner_logic_partner_key,
          lt_organisation      type table of BAPIBUS20001_ORGMAN_INS,
          ls_organisation      type BAPIBUS20001_ORGMAN_INS.
    // Saved sales orders
    data: lt_saved_process type table of bapibus20001_object_id,
          ls_saved_process type bapibus20001_object_id,
          ls_salesorder    type CRMT_RETURN_OBJECTS_STRUC.
    data: lt_input_fields type table of bapibus20001_input_fields,
          ls_input_fields type bapibus20001_input_fields,
          lt_return type table of bapiret2,
          ls_return type bapiret2.
    // Macro definition to populate structure and input field
    This, called as
    setfield ls_salesorder_header GUID lv_guid_h
    is exploded as
    ls_salesorder_header-GUID = lv_guid_h.
    ls_input_fields-fieldname = 'GUID'.
    append ls_input_fields to lt_input_fields.
    Note 1: &2 (field name) MUST be uppercase
    Note 2: for the salesorder header, I haven't used the macro,
    to show how the code should look.
    I've used the macro everywhere else.
    define setfield.
      &1-&2          = &3.
      ls_input_fields-fieldname  = '&2'.
      append ls_input_fields to lt_input_fields.
    end-of-definition.
    // end of macro definition
      // fill order administration header
    perform get_guid changing lv_guid_h.
    add 1 to lv_handle_h.
    ls_salesorder_header-guid          = lv_guid_h.
    ls_salesorder_header-handle        = lv_handle_h.
    ls_salesorder_header-process_type  = 'TA'.
    clear ls_input_fields.
    ls_input_fields-ref_handle = lv_handle_h.
    ls_input_fields-ref_guid = lv_guid_h.
    *ls_input_fields-ref_kind   = gc_object_ref_kind-orderadm_h.
    ls_input_fields-objectname = gc_object_name-orderadm_h.
    ls_input_fields-fieldname  = 'GUID'.
    append ls_input_fields to lt_input_fields.
    ls_input_fields-fieldname  = 'HANDLE'.
    append ls_input_fields to lt_input_fields.
    ls_input_fields-fieldname  = 'PROCESS_TYPE'.
    append ls_input_fields to lt_input_fields.
    append ls_salesorder_header to lt_salesorder_header.
      // fill organisation data (I needed this, you may rely on
    sales org determination instead...)
    clear ls_input_fields.
    ls_input_fields-ref_handle  = lv_handle_h.
    ls_input_fields-ref_guid    = lv_guid_h.
    ls_input_fields-ref_kind    = gc_object_ref_kind-orderadm_h.
    ls_input_fields-objectname  = gc_object_name-orgman.
    setfield ls_organisation REF_GUID lv_guid_h.
    setfield ls_organisation REF_HANDLE lv_handle_h.
    setfield ls_organisation REF_KIND gc_object_ref_kind-orderadm_h.
    setfield ls_organisation SALES_ORG_RESP salesOrgResp(input).
    setfield ls_organisation SALES_ORG salesOrg(input).
    setfield ls_organisation DIS_CHANNEL disChannel(input).
    append ls_organisation to lt_organisation.
      // fill order administration item
    perform get_guid changing lv_guid_i.
    lv_handle_i = lv_handle_h.
    add 1 to lv_handle_i.
    clear ls_input_fields.
    ls_input_fields-ref_guid   = lv_guid_i.
    ls_input_fields-ref_handle  = lv_handle_i.
    *ls_input_fields-ref_kind   = gc_object_ref_kind-orderadm_i.
    ls_input_fields-objectname = gc_object_name-orderadm_i.
    setfield ls_salesorder_item GUID lv_guid_i.
    setfield ls_salesorder_item HEADER lv_guid_h.
    setfield ls_salesorder_item HANDLE lv_handle_i.
    setfield ls_salesorder_item HEADER_HANDLE lv_handle_h.
    setfield ls_salesorder_item ORDERED_PROD product(input).
    *_set_field ls_salesorder_item ITM_TYPE 'TAN'.
    setfield ls_salesorder_item MODE 'A'.
    *adjustment taken from standard include LCMS_MAPPERF04
    *(see where-used-list for BAPI_SLSTRANSACT_CREATEMULTI, program LCMS_MAPPERU11)
    delete lt_input_fields where fieldname = 'HANDLE'
                                    OR
                                 fieldname = 'HEADER_HANDLE'.
    append ls_salesorder_item to lt_salesorder_item.
      // fill schedule line for item
    perform get_guid changing lv_guid_sl.
    add 1 to lv_handle_sl.
    clear ls_input_fields.
    ls_input_fields-ref_guid   = lv_guid_i.
    ls_input_fields-ref_handle  = lv_handle_i.
    ls_input_fields-ref_kind   = gc_object_ref_kind-orderadm_i.
    ls_input_fields-objectname = gc_object_name-schedlin.
    setfield ls_scheduleline ITEM_GUID lv_guid_i.
    setfield ls_scheduleline GUID lv_guid_sl.
    setfield ls_scheduleline HANDLE lv_handle_sl.
    setfield ls_scheduleline ITEM_HANDLE lv_handle_i.
    setfield ls_scheduleline QUANTITY '1.000'.
    append ls_scheduleline to lt_scheduleline.
      // fill partner line
    *perform get_guid changing lv_guid_p.
    *the partner use the logical key as well
    ls_logical_key-ref_partner_handle = '0001'.
    clear ls_input_fields.
    ls_input_fields-ref_guid   = lv_guid_h.
    ls_input_fields-ref_handle = lv_handle_h.
    ls_input_fields-ref_kind   = gc_object_ref_kind-orderadm_h.
    ls_input_fields-objectname = gc_object_name-partner.
    ls_input_fields-logical_key = ls_logical_key.
    setfield ls_partner REF_GUID lv_guid_h.
    setfield ls_partner REF_HANDLE lv_handle_h.
    setfield ls_partner REF_KIND gc_object_ref_kind-orderadm_h.
    setfield ls_partner REF_PARTNER_HANDLE '0001'.
    setfield ls_partner KIND_OF_ENTRY 'C'.
    setfield ls_partner PARTNER_FCT '00000001'.
    setfield ls_partner PARTNER_NO bpNumber(input).
    setfield ls_partner NO_TYPE 'BP'.
    setfield ls_partner DISPLAY_TYPE 'BP'.
    move-corresponding ls_partner to ls_logical_key.
    append ls_partner to lt_partner.
    //  example of a second partner function (custom) with data
        override
    ls_logical_key-ref_partner_handle = '0002'.
    clear ls_input_fields.
    ls_input_fields-ref_guid   = lv_guid_h.
    ls_input_fields-ref_handle = lv_handle_h.
    ls_input_fields-ref_kind   = gc_object_ref_kind-orderadm_h.
    ls_input_fields-objectname = gc_object_name-partner.
    ls_input_fields-logical_key = ls_logical_key.
    setfield ls_partner REF_GUID lv_guid_h.
    setfield ls_partner REF_HANDLE lv_handle_h.
    setfield ls_partner REF_KIND gc_object_ref_kind-orderadm_h.
    setfield ls_partner REF_PARTNER_HANDLE '0002'.
    setfield ls_partner KIND_OF_ENTRY 'B'.            "manual entry...
    setfield ls_partner PARTNER_FCT customFct(input).
    setfield ls_partner PARTNER_NO bpNumber(input).
    setfield ls_partner NO_TYPE 'BP'.
    setfield ls_partner DISPLAY_TYPE 'BP'.
    setfield ls_partner TITLE 'Mr.'.
    setfield ls_partner FIRSTNAME 'John'.
    setfield ls_partner LASTNAME 'Smith'.
    setfield ls_partner STR_SUPPL1 'John Smith and Co'.
    setfield ls_partner STREET 'Street1'.
    setfield ls_partner STR_SUPPL3 'Street4'.
    setfield ls_partner HOUSE_NO '42'.
    setfield ls_partner CITY 'Townville'.
    setfield ls_partner DISTRICT 'Districtshire'.
    setfield ls_partner POSTL_COD1 'AA1 2BB'.
    note now ...
    *adjustment taken from standard include LCMS_MAPPERF04
    *(see where-used-list for BAPI_SLSTRANSACT_CREATEMULTI, program LCMS_MAPPERU11)
    I don't use macro because name of the field in input_table is different
    *_set_field ls_partner COUNTRYISO 'GB'.
    *instead
    ls_partner-COUNTRYISO = 'GB'.
    ls_input_fields-fieldname = 'COUNTRY'.
    append ls_input_fields to lt_input_fields.
    *_set_field ls_partner LANGU_ISO 'EN'.
    ls_partner-LANGU_ISO = 'EN'.
    ls_input_fields-fieldname = 'LANGU'.
    append ls_input_fields to lt_input_fields.
    move-corresponding ls_partner to ls_logical_key.
    append ls_partner to lt_partner.
    Create sales orders                                                  *
    call function 'BAPI_SLSTRANSACT_CREATEMULTI'
      EXPORTING
        testrun       = false
      TABLES
        header        = lt_salesorder_header[]
        item          = lt_salesorder_item[]
        partner       = lt_partner[]
        organisation  = lt_organisation[]
        input_fields  = lt_input_fields[]
        scheduleline  = lt_scheduleline[]
        saved_process = lt_saved_process[]
        return        = lt_return[].
    // get the GUID of the created object
    call function 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        wait = 'X'.
    INCLUDE ZZGVBAPISALESORDER_GET_GUIDF01.
    The include contains only this:
    ***INCLUDE ZZGVBAPISALESORDER_GET_GUIDF01 .
    *&      Form  get_guid
          text
         <--guid  text
    FORM get_guid  CHANGING GUID.
      CALL FUNCTION 'SYSTEM_UUID_C_CREATE'
          IMPORTING
               UUID    = GUID.
    ENDFORM.                    " get_guid

  • Search Service Contract based on IBASE

    Hello Experts,
    My requirement is In the  Search view of Service Contracts  ADD the Search by IBASE option  to Search the Contracts and i have to search the service contract based on IBASE can you please give me idea how can i achieve the solution?
    Regards,
    Chetan Agali.

    Hi Bhushan,
    Thanks for your reply I append the field called zzsrv_ibase into the context node btqsrvcon through the structure,the field is in the context node but it is not appearing in the configuration tab I saw in one of your tread you mentioned about the maitaining the field in the design layer i will do that, more important is I need related code and where i need to add the code and I saw that in one of your tread mentioned about ( modify the class as per your requirement and then maintain entry for this query in CRMC_OBJ_BTIL_C so that your custom class would be called.) can u please elaborate this.
    Thanks & Regards,
    Chetan Agali.

  • Follow-up Action in Service Contract

    Hi All,
    I am looking for a solution on below scenario to be handled in ECC6.0
    I have a service contract for providing services to a customer for an year (Jan 2009 to Dec 2009.)
    In Dec 2009 i have created a service notification and Service order with reference to this contract .
    Currently as of today Jan 2010 , this contract has expired but my service order / notification is still open.
    I would like to know what will happen to Service notification & service order refering to this contract.
    Will contract expiration drive the changes required on service notification/order or will it block for further processing.
    What standard solution is available to handle such cases in SAP.
    Thanking You,
    sudhi

    Have you tried it??
    From memory it gives you a warning message stating that the contract/item are not valid, but it doesn't stop you processing the order/notification
    PeteA

  • Creation of Sales Order and Service Contract from Inbound IDOC

    Hi Experts,
    My requirement is to create a Sales Order as well as a Service Contract from one Inbound IDOC. I am getting the Inbound IDOC from a third Party. The message type is ORDERS and Basic Type is ORDERS02. How ever i am using an extension type IDOC which carries all the required data for Sales Order and Service Contract. My requirement is like, to create a Sales Order first.
    I have created a Z FM which is attached to the Process Code and subsequently to the message type. Inside the FM i an calling FM 'IDOC_INPUT_ORDERS' for creation of Sales Order. After that i am changing the IDOC data for the Document Type. I am changing the document type which is responsible for Contract Creation.
    Then I am again calling the FM 'IDOC_INPUT_ORDERS' for creation of Contract with the help of IDOC data. But here the Contract is not getting created. It's getting failed during the Batch input session.
    I need to solve this problem as soon as possible. Please help me. If there are any other options also please share.
    Thanks in Advance.
    Regards,
    Priyabrata

    Actually there is problem with BDCDATA. Inside the FM it's calling transaction with help of BDCDATA. If i am creating a Sales order or contract alone its creating successfully. But when i am trying to create both, it's retuning sy-subrc '1001' after calling the transaction on the second attempt. Is there any problem with BDCDATA like we can't handle with less time gap? Please help and give your inputs.
    Regards,
    Priyabrata

  • Creation of Service Contract from Inbound IDOC

    Hi Experts,
    I am using Inbound IDOC type ORDERS02 with message type ORDERS for creation of Sales Order. Now my requirement is like to create a  Service Contract from that Inbound IDOC. The IDOC type contains all the data require to create a Service Contract. The scenario is like, after creation of Sales Order it will check for the corresponding Service Contract exits or not by querying on a Z table which contains all those entries.
    So my idea is to create a Z Program, in which it will check for the Service Contract and will create the same by reprocessing the same IDOC or by calling some Function Module. Please suggest how shall i proceed to create a Service Contract.
    Is there any way to reprocess the IDOC or to collect the Data from the IDOC segments pass them to a FM which is responsible for creation of Inbound IDOC. Please suggest if this is feasible.
    Thanks in Advance.
    Regards,
    Priyabrata.

    Actually there is problem with BDCDATA. Inside the FM it's calling transaction with help of BDCDATA. If i am creating a Sales order or contract alone its creating successfully. But when i am trying to create both, it's retuning sy-subrc '1001' after calling the transaction on the second attempt. Is there any problem with BDCDATA like we can't handle with less time gap? Please help and give your inputs.
    Regards,
    Priyabrata

Maybe you are looking for

  • Error when import dmp file

    Hi, I try to do imp dmp file in oracle 10g xe. the export done was done on oracle 9i but when i do import in oracle 10g it comes with this error msg: Export file created by EXPORT:V09.02.00 via direct path import done in WE8MSWIN1252 character set an

  • CF8, Multiple instances, archiving

    I have a CF7 server installed as a stand alone installation. I have installed CF8 on the same box with the built-in web server, and multiserver. My developers want the multiple instances so they can use Subversion, versioning software. I am trying to

  • Why Will Synced clips not break apart on the timeline?

    I have created a number of synced clips in the evnt browser, and added them to my timeline. Now if i try to break aprt the synced clips on my timeline, it no longer allows me to in FCP X 10.0.9. What gives?

  • My daughter forgot her passcode on her iPod touch.  Any ideas?

    My daughter forgot her passcode for her iPod touch. Any ideas ?

  • How do i transfer funds from my available balance to my linked visa card?

    i was wondering how i could transfer some of the cash i have in my available Paypal balance directly to my credit card which is already linked to the same Paypal account , and i do not want to link my bank cos each time i try the ''withdraw money'' o