Function Module to Change / Update BOM Line Items

Hi,
I need a Function Module to Change / Update BOM Line Items.
Please help.
Thanks.

Try this FM - CSAP_MAT_BOM_MAINTAIN

Similar Messages

  • BOM header qty change if BOM line item qty delivered more in previous deliv

    Dear team
    BOM is as follows:
    Finished product
          Material1   100 Units
          Material2   100 Units
    Lets say i create a sales order with 2 units of finished products
    then my sales order will look like:
    Finished Product 2 units
          Material1   100 Units
          Material2   100 Units
    Now i am trying to create a delivery for 1 unit of finished product
    Finished Product 1 units
          Material1   150 Units
          Material2   100 Units
    Here i change the Material1 quantity from 100 to 150 Units and create delivery.
    Now i am creating a second delivery
    In the delivery order i am getting as:
    Finished Product 0.5 Units
         Material1   50 Units
         materail2  50 Units
    But i want
    Finished Product 1 units  (as my finished product open quantity is 1M3)
        Material1   50 Units
        material2  100 units
    Can this be achieved.  Because of more despatch of BOM line items my header BOM item should not change.  It should be same as my open quantity in delivery.

    Hi,
    It depends upon how u are maintaining the BOM. The components calculated is based on the BOM base qty.
    Regards,
    V. Suresh

  • Function module to get adress in line items

    Dear All
    I am using a function module ADDR_GET which is giving me the data in a specific format of addr_val1, Now the requirement is to display the data in a script , so that the address comes as address line 1 ,line 2 and likewise.... Kindly let me know if there are any function modules in this regard <Priority normalized by moderator>
    Edited by: Vinod Kumar on Dec 30, 2011 4:33 PM

    hello!
    i think you could use the address node. It formats the address automatically according to the postal regulations of the sender country...you only need to pass the adrnr to it.
    the link below gives more info abt. the address node.
    http://help.sap.com/saphelp_nw70/helpdata/en/d2/69a151cd8b11d3b563006094192fe3/content.htm

  • Function Module for clearing customer open line items?

    Hi,
    Can anyone suggest me, the FM for clearing the customer open line items/
    Manually we can do by f-32.....but, i need an FM for this?
    Thanks in Advance,
    Manju.

    Hi. I just found a good way of doing this from a program. It sort of uses BDC but in such a way that you don't get all the problems you normally get with BDC.
    First create a custom program with an internal table called YBSID of type BSID, and select into it from BSID the items you want to clear, 1 customer at a time. You must call your internal table YBSID.
    Then you need to populate a BDC table with very basic data, the easiest way to do it is to set a break-point in form "CALL_TRANSACTION" of include F124_MERGE, then run F.13, it will break at this point and you can copy the contents of BDCDTAB.
    Then in your custom program put the same statement as the include "EXPORT YBSID TO MEMORY ID '%F124%'." then call transaction 'FB1D' using the BDC table.
    What this does is clear exactly whatever data you put in YBSID. It uses the transaction FB1D but all the clearing data is already populated from YBSID. If you call a transaction normally it is very hard to select the right items to clear, using YBSID you only enter 1 screen and do not have to select anything.
    You can also use this same method to clear vendor line items using YBSIK and transaction FB1K and G/L line items using YBSIS and FB1S.
    I hope this helps.
    Regards,
    Dave.

  • Add BOM line items for printing those line items in  cs03 transaction

    User will display the BOM line items and when he go by menu path EXTRAS->More-> so at the end of sub menu we need to add one more option for View and Print for that we need to use the menu exit and accordingly we need to add code to capture the related function code and display respective BOM line items in the ALV format. Further on if user wants to print those he should be able to do the same.

    The BOM item node number STPO-STLKN is an 8 digit field therefore I would imagine that you could have a maximum of 99999999 items..
    But you could use multi-level BOMs which would allow you to organise your components better.
    PeteA

  • Function module for BOM Update all line items at a time

    Hi,
    Please enlightenn us, which FM is do the update for BOM item datas. ( current FM is updated line item one item then come out and log in again updating another line item , thus cause more error are facing.)
    we want a FM to update one time all the line time and come out from the screen.
    Thx
    Sathiya

    HI,
    As suggested above use CEWB or if you want to manage it via a Z program then use:
    CSAP_MAT_BOM_MAINTAIN
    or
    CSAP_MAT_BOM_OPEN
    CSAP_BOM_ITEM_MAINTAIN (Use these 3 in sequence, refer to the help file on the FM)
    CSAP_MAT_BOM_CLOSE
    Hope it answers your query.
    Regards,
    Vivek

  • Bapi or Function Module for Change request Management status update

    Hi,
    Do we have any Bapi or function module to change the status of Change request Management.
    Ex: If the status is in To Be Processed i have to change that status to Authorized using any Bapi or FM.
    I have tried with the BAPI crm_icss_change_request but its not updating the status.
    Do you have any idea on this???
    Regards
    Pavan

    hello,
    the function module is 'SOCM_STATUS_VALUES'
    you can find an example of usage of it in the program CRM_SOCM_SERVICE_REPORT
        CALL FUNCTION 'SOCM_STATUS_VALUES'
          EXPORTING
            im_process_type       = report_list-process_type
      IM_LANGU              = SY-LANGU
          TABLES
            status_values         = lt_vsocm_stat_propt.
    I hope it helps
    best regards

  • Updating BOM Sub Items using CS_BC_BOM_CHANGE_BATCH_INPUT

    Hello,
    I am trying to update BOM sub items by using this function module. I am filling up all fields in all tables, still it is giving error.
    Any body has any sample code for this function module...
    Unfortunately there is no documentation for this FM and very little usage in standard programs...
    Regards,
    Krishna.

    Hi,
    My Code for create
    DATA: BOM_HEADER     TYPE CAD_BICSK ,"STRUCTURE FOR HEADER DATA
          IT_BOM_ITEM    TYPE TABLE OF CAD_BOM_ITEM,"INTERNAL TABLE FOR ITEM
          WA_BOM_ITEM    TYPE CAD_BOM_ITEM,"WORK AREA FOR ITEM
          IT_BOM_SUB_ITEM  TYPE TABLE OF CSSUBITEM ,"INTERNAL TABLE FOR SUB ITEM
          WA_BOM_SUB_ITEM  TYPE CSSUBITEM ,"WORK AREA FOR SUB ITEM
          IT_DMS TYPE TABLE OF CLS_CHARAC,"INTERNAL TABLE FOR DMS_CLASS_DATA
          WA_DMS TYPE CLS_CHARAC,"WORK AREA FOR DMS_CLASS_DATA
          IT_SAP_FIELD TYPE TABLE OF RFCDMSDATA,"INTERNAL TABLE FOR SAP_FIELD_DATA
          WA_SAP_FIELD TYPE RFCDMSDATA,"WORK AREA FOR SAP_FIELD_DATA
          E_RETURN       TYPE CAD_RETURN-VALUE,"STRUCTURE FOR RETURN
          E_MESSAGE      TYPE MESSAGE-MSGTX,"STRUCTURE FOR MESSAGE
          E_MESSAGE_LEN  TYPE CAD_RETURN-MESSAGE_LEN."STRUCTURE FOR MESSAGE LENGTH
    LOOP AT IT_DATA INTO WA_DATA.
        MOVE-CORRESPONDING WA_DATA TO WA_DATA1.
        APPEND WA_DATA1 TO IT_DATA1.
      ENDLOOP.
      SORT IT_DATA1 BY MATNR WERKS.
      DELETE ADJACENT DUPLICATES FROM IT_DATA1 COMPARING MATNR WERKS.
      LOOP AT IT_DATA1 INTO WA_DATA1.
        CLEAR: BOM_HEADER, WA_BOM_ITEM,WA_RET.
        REFRESH: IT_BOM_ITEM.
    FILL BOM HEADER
        PERFORM DATE_FORMAT USING WA_DATA1-DATUV CHANGING BOM_HEADER-DATUV.
        BOM_HEADER-MATNR = WA_DATA1-MATNR.
        BOM_HEADER-WERKS = WA_DATA1-WERKS.
        BOM_HEADER-STLAL = WA_DATA1-STLAL.
        BOM_HEADER-STLAN = WA_DATA1-STLAN.
        BOM_HEADER-ZTEXT = WA_DATA1-ZTEXT.
        LOOP AT IT_DATA INTO WA_DATA WHERE MATNR = WA_DATA1-MATNR and werks = wa_Data1-werks.
    FILL ITEM
          if wa_data-postp = 'T'.
            WA_BOM_ITEM-POSNR     = WA_DATA-POSNR.
            WA_BOM_ITEM-POSTP     = WA_DATA-POSTP.
            WA_BOM_ITEM-POTX1     = WA_DATA1-ZTEXT.
          else.
            WA_BOM_ITEM-IDNRK     = WA_DATA-IDNRK.
            WA_BOM_ITEM-POSNR     = WA_DATA-POSNR.
            WA_BOM_ITEM-POSTP     = WA_DATA-POSTP.
            WA_BOM_ITEM-MENGE     = WA_DATA-MENGE.
          endif.
          APPEND WA_BOM_ITEM TO  IT_BOM_ITEM.
        ENDLOOP.
        CALL FUNCTION 'CAD_CREATE_BOM_WITH_SUB_ITEMS'
          EXPORTING
            I_BOM_HEADER   = BOM_HEADER
          IMPORTING
            E_RETURN       = E_RETURN
            E_MESSAGE      = E_MESSAGE
          TABLES
            BOM_ITEM       = IT_BOM_ITEM
            BOM_SUB_ITEM   = IT_BOM_SUB_ITEM
            DMS_CLASS_DATA = IT_DMS
            SAP_FIELD_DATA = IT_SAP_FIELD.
        WA_RET-MATNR = WA_DATA1-MATNR.
        if e_return = 0 .
          wa_ret-status = 'SUCCESS'.
        ELSE.
          wa_ret-status = 'ERROR'.
        ENDIF.
        WA_RET-WERKS = WA_DATA1-WERKS.
        WA_RET-MSG = E_MESSAGE.
        APPEND WA_RET TO IT_RET .
      ENDLOOP.
      LOOP AT IT_RET INTO WA_RET.
        if wa_ret-status =  'ERROR'.
          APPEND wa_ret to it_erv.
          ENDIF.
        WRITE: /.
        WRITE:(12) WA_RET-MATNR,(6) WA_RET-WERKS,(8) wa_ret-status,(70) WA_RET-MSG.
      ENDLOOP.
    Regards,
    Manesh.R

  • How to load long text in BOM line item

    Hello Experts
    How do i load Long text in BOM Line item using LSMW
    Thanks
    S
    Edited by: Alvaro Tejada Galindo on Jan 31, 2008 5:11 PM

    Use Read_text function module.
    you need to pass
    ID
    LANGUAGE
    NAME
    OBJECT   to the function moduel
    To find the Text id name language and object these are the following steps. Example: FB02
    1. goto FB02, Enter Document number
    2. from menuselect Goto>Header-->header Text..... New window will be displayed 
    3. select the Header Text. here you can see all the text. 
    4. click on the TEXT (which you want to know the Text id) , then press log ICON (you can find in bottom right of the text window) it looks like a rolled paper. 
    5. in the Next window you will find Text Name. Text ID, Language. etc...
    Regards,
    Lalit Mohan Gupta.

  • Hi. i used Function module to change Characteristic values of a sales order

    hi. i used Function module to change Characteristic values of a sales order..
    but sales order's Characteristic values didn't change.
    And the Function module doesn't occur any log message.
    please tell me wrong code, and how to solve this problem.
    if i have wrong method, what data can i pass to change the characteristic values
    DATA: LT_E1CUVAL    TYPE TABLE OF E1CUVAL.
      DATA: WA_E1CUVAL    TYPE E1CUVAL.
      DATA: LS_CFG_HEAD   LIKE CUXT_CUCFG_S,
            LS_INSTANCES  LIKE CUXT_CUINS_S,
            LS_VALUES     LIKE CUXT_CUVAL_S,
            LS_E1CUCFG    LIKE E1CUCFG,
            LS_E1CUINS    LIKE E1CUINS,
            LS_E1CUVAL    LIKE E1CUVAL,
            LS_PROFILE    LIKE E1CUCOM,
            LS_VBAP       LIKE VBAP,
            L_CUOBJ       LIKE INOB-CUOBJ,
            L_ATINN       LIKE CABN-ATINN.
      DATA: LT_INSTANCES  LIKE CUXT_CUINS_S OCCURS 0,
            LT_PART_OF    LIKE CUXT_CUPRT_S OCCURS 0,
            LT_VALUES     LIKE CUXT_CUVAL_S OCCURS 0,
            LT_VAR_KEYS   LIKE CUXT_CUVK_S  OCCURS 0,
            LT_KSML       LIKE KSML         OCCURS 0 WITH HEADER LINE,
            BEGIN OF LT_CLINT OCCURS 0,
              CLINT  LIKE KSSK-CLINT,
            END OF LT_CLINT.
      DATA: LT_CUIB       LIKE CUIB_CUOBJ_S OCCURS 0 WITH HEADER LINE.
      DATA: E_ROOT_INSTANCE           TYPE     CUXT_INSTANCE_NO.
      DATA: EV_ROOT_PERSIST_ID     TYPE     IBEXTINST_DATA-EXT_INST_ID.
      DATA: EV_CFG_HAS_CHANGED     TYPE     XFELD.
      DATA: EV_HANDLE_APPL_LOG     TYPE     BALLOGHNDL.
      DATA: L_CUOBJ_NEW           TYPE CUOBJ.
      DATA: L_OWNER               TYPE IBXX_BUSINESS_OBJECT.
      REFRESH LT_E1CUVAL.
      CLEAR LS_VBAP.
      SELECT SINGLE CUOBJ INTO CORRESPONDING FIELDS OF LS_VBAP
                                FROM VBAP WHERE VBELN = I_VBELN
                                            AND POSNR = I_POSNR.
      IF SY-SUBRC <> 0.
        RAISE INSTANCE_NOT_FOUND.
      ENDIF.
      REFRESH LT_CUIB. CLEAR LT_CUIB.
      LT_CUIB-INSTANCE = LS_VBAP-CUOBJ.
      APPEND LT_CUIB.
      CALL FUNCTION 'CUCB_INITIALIZER'
        EXPORTING
          IT_INSTANCES = LT_CUIB[].
      CALL FUNCTION 'CUXI_GET_SINGLE_CONFIGURATION'
        EXPORTING
          I_ROOT_INSTANCE              = LS_VBAP-CUOBJ
        IMPORTING
          E_CFG_HEAD                   = LS_CFG_HEAD
          ES_PROFILE                   = LS_PROFILE
          ET_RETURN                    = ET_RETURN
        TABLES
          E_TAB_INSTANCES              = LT_INSTANCES
          E_TAB_PART_OF                = LT_PART_OF
          E_TAB_VALUES                 = LT_VALUES
          E_TAB_VAR_KEYS               = LT_VAR_KEYS
        EXCEPTIONS
          INVALID_INSTANCE             = 1
          NO_ROOT_INSTANCE             = 2
          INSTANCE_IS_A_CLASSIFICATION = 3
          INTERNAL_ERROR               = 4
          NO_PROFILE_FOUND             = 5
          INVALID_DATA                 = 6
          OTHERS                       = 7.
      IF SY-SUBRC <> 0.
        CASE SY-SUBRC.
          WHEN 1.
            RAISE INSTANCE_NOT_FOUND.
          WHEN 3.
            RAISE INSTANCE_IS_A_CLASSIFICATION.
          WHEN OTHERS.
            RAISE INVALID_DATA.
        ENDCASE.
      ELSE.
        LOOP AT LT_VALUES INTO LS_VALUES.
          IF    LS_VALUES-CHARC = 'SAP_MILLCA_PACKAGING'
             OR LS_VALUES-CHARC = 'PD_CA_PACKING_DM'.
            LS_VALUES-VALUE = '7100010'. "This is test data
            MODIFY LT_VALUES FROM LS_VALUES.
          ELSE.
            DELETE LT_VALUES WHERE CHARC = LS_VALUES-CHARC.
          ENDIF.
          CLEAR LS_VALUES.
        ENDLOOP.
      ENDIF.
    &#50689;&#50629;&#51221;&#48372; &#53945;&#49457; &#48320;&#44221;
      CALL FUNCTION 'CUXI_SET_SINGLE_CONFIGURATION'
        EXPORTING
          I_CFG_HEADER                        = LS_CFG_HEAD
          I_ROOT_INSTANCE                     = LS_VBAP-CUOBJ
        I_PLANT                             =
        I_STRUCTURE_EXPLOSION_DATE          =
        I_STRUCTURE_EXPLOSION_APPL_ID       =
        I_LOGSYS                            =
          IS_PROFILE                          = LS_PROFILE
        IV_ONLY_SINGLE_LEVEL                =
        IV_HANDLE_APPL_LOG                  =
        IV_OBJECT_APPL_LOG                  = 'CIF'
        IV_SUBOBJECT_APPL_LOG               = 'T_CNFG'
        IMPORTING
          E_ROOT_INSTANCE                     = E_ROOT_INSTANCE
          EV_ROOT_PERSIST_ID                  = EV_ROOT_PERSIST_ID
          EV_CFG_HAS_CHANGED                  = EV_CFG_HAS_CHANGED
          EV_HANDLE_APPL_LOG                  = EV_HANDLE_APPL_LOG
          ET_RETURN                           = ET_RETURN
        TABLES
          I_TAB_INSTANCES                     = LT_INSTANCES
          I_TAB_PART_OF                       = LT_PART_OF
          I_TAB_VALUES                        = LT_VALUES
          I_TAB_VAR_KEYS                      = LT_VAR_KEYS
        I_TAB_BLOB                          =
        EXCEPTIONS
          NO_CONFIGURATION_DATA               = 1
          NO_ROOT_INSTANCE                    = 2
          INVALID_INSTANCE                    = 3
          INSTANCE_IS_A_CLASSIFICATION        = 4
          INTERNAL_ERROR                      = 5
          NO_PROFILE_FOUND                    = 6
          INVALID_DATA                        = 7
          OTHERS                              = 8
      IF SY-SUBRC <> 0.
        CASE SY-SUBRC.
          WHEN 1.
            RAISE NO_CONFIGURATION_DATA.
          WHEN 3.
            RAISE NO_ROOT_INSTANCE.
          WHEN 3.
            RAISE INVALID_INSTANCE .
          WHEN 3.
            RAISE INSTANCE_IS_A_CLASSIFICATION.
          WHEN 3.
            RAISE INTERNAL_ERROR.
          WHEN OTHERS.
            RAISE INVALID_DATA.
        ENDCASE.
      ENDIF.
      COMMIT WORK.
    save configuration with next commit
      CLEAR: LS_INSTANCES.
      READ TABLE LT_INSTANCES INTO LS_INSTANCES INDEX 1.
    L_OWNER-OBJECT_TYPE = LS_INSTANCES-OBJ_TYPE.
      L_OWNER-OBJECT_TYPE = 'PVS_POSVAR'.
      L_OWNER-OBJECT_KEY  = LS_INSTANCES-OBJ_KEY.
      CALL FUNCTION 'CUCB_CONFIGURATION_TO_DB'
        EXPORTING
          ROOT_INSTANCE         = LS_VBAP-CUOBJ
          ROOT_OBJECT           = L_OWNER
        IMPORTING
          NEW_INSTANCE          = L_CUOBJ_NEW
        EXCEPTIONS
          INVALID_INSTANCE      = 1
          INVALID_ROOT_INSTANCE = 2
          NO_CHANGES            = 3
          OTHERS                = 4.
      IF SY-SUBRC > 1 AND SY-SUBRC <> 3.
        CLEAR LS_VBAP-CUOBJ.
        RAISE INTERNAL_ERROR.
      ELSEIF SY-SUBRC = 1.
        LS_VBAP-CUOBJ = L_CUOBJ_NEW.
      ENDIF.
    What's wrong?
    help me to solve this problem.
    Thanks a lot.

    <b>SD_SALES_DOCUMENT_READ</b> Reads sales document header and business data: tables VBAK, VBKD and VBPA (Sold-to (AG), Payer (RG) and Ship-to (WE) parties)
    <b>SD_SALES_DOCUMENT_READ_POS</b> Reads sales document header and item material: tables VBAK, VBAP-MATNR
    <b>SD_DOCUMENT_PARTNER_READ</b> partner information including address. Calls SD_PARTNER_READ
    <b>SD_PARTNER_READ</b> all the partners information and addresses
    <b>SD_DETERMINE_CONTRACT_TYPE</b>
    In: at least VBAK-VBELN
    Exceptions: NO CONTRACT | SERVICE_CONTRACT | QUANTITY_CONTRACT
    <b>SD_SALES_DOCUMENT_COPY</b>
    <b>RV_ORDER_FLOW_INFORMATION</b> Reads sales document flow of sales document after delivery and billing
    SD_SALES_DOCUMENT_SAVE create Sales Doc from the copied document
    SD_SALES_DOCUMENT_ENQUEUE to dequeue use DEQUEUE_EVVBAKE
    RV_DELIVERY_PRINT_VIEW Data provision for delivery note printing
    SD_PACKING_PRINT_VIEW
    SD_DELIVERY_VIEW Data collection for printing
    called from RV_DELIVERY_PRINT_VIEW, SD_PACKING_PRINT_VIEW
    RV_BILLING_PRINT_VIEW Data Provision for Billing Document Print
    regards
    vinod

  • Function module to change the value for pricing condition type

    Hello experts,
    I want to change the value for pricing condition type for an item in the transaction CRMD_ORDER.
    I used many function modules but none are working.
    Please kindly suggest a function module that will change the value for a condition type .
    I have used the following function module but its not working, please correct the coding if anything needs to be changed or added. Please help me .
    Thank you.
    CLEAR PRCD_COND.
         SELECT SINGLE * FROM PRCD_COND WHERE KPOSN = WA_ORDERADM_I-GUID AND
                                              KSCHL = COND_TY.
      IF SY-SUBRC = 0.
    *    MOVE-CORRESPONDING PRCD_COND TO L_COND_CHG.
    *    CLEAR L_COND_CHG-KBETR.
        L_COND_CHG-STUNR = PRCD_COND-STUNR.
        L_COND_CHG-KBETR = COND_PRC.
    *    L_COND_CHG-KSCHL = COND_TY.
        INSERT L_COND_CHG INTO TABLE T_COND_CHG.
    L_HEAD_GUID = CRMD_ORDERADM_H-GUID.
    L_ITEM_GUID = WA_ORDERADM_I-GUID.
    INSERT L_HEAD_GUID INTO TABLE HEAD_GUID.
    INSERT L_ITEM_GUID INTO TABLE ITEM_GUID.
        CALL FUNCTION 'CRM_ORDER_READ'
         EXPORTING
           IT_HEADER_GUID                    = HEAD_GUID
           IT_ITEM_GUID                      = ITEM_GUID
         IMPORTING
           ET_ORDERADM_H                     = LT_ORDERADM_H
           ET_ORDERADM_I                     = LT_ORDERADM_I
           ET_PRIDOC                         = IT_PRIDOC_RD
           ET_DOC_FLOW                       = T_DOC_FLOW
    *     CHANGING
    *       CV_LOG_HANDLE                     =
    *     EXCEPTIONS
    *       DOCUMENT_NOT_FOUND                = 1
    *       ERROR_OCCURRED                    = 2
    *       DOCUMENT_LOCKED                   = 3
    *       NO_CHANGE_AUTHORITY               = 4
    *       NO_DISPLAY_AUTHORITY              = 5
    *       NO_CHANGE_ALLOWED                 = 6
    *       OTHERS                            = 7
        IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    MOVE-CORRESPONDING LS_PRIDOC_RD TO L_PRI_COND.
    INSERT L_PRI_COND INTO TABLE PRI_COND.
    LOOP AT IT_PRIDOC_RD INTO LS_PRIDOC_RD.
    MOVE-CORRESPONDING LS_PRIDOC_RD TO L_PRIDOC_CHG.
    L_PRIDOC_CHG-PRIC_COND = PRI_COND.
    L_PRIDOC_CHG-REF_GUID = LS_PRIDOC_RD-GUID.
    L_PRIDOC_CHG-COND_CHANGE = T_COND_CHG.
    INSERT L_PRIDOC_CHG INTO TABLE PRIDOC_CHG.
    ENDLOOP.
    LOOP AT LT_ORDERADM_H INTO LS_ORDERADM_H .
    MOVE-CORRESPONDING LS_ORDERADM_H TO L_HEADER.
    INSERT L_HEADER INTO TABLE HEADER.
    ENDLOOP.
    LOOP AT LT_ORDERADM_I INTO LS_ORDERADM_I.
    MOVE-CORRESPONDING LS_ORDERADM_I TO L_ITEM.
    INSERT L_ITEM INTO TABLE ITEM.
    ENDLOOP.
    L_FIELD-FIELDNAME = 'STUNR'.
    INSERT L_FIELD INTO TABLE FIELD.
    L_FIELD-FIELDNAME = 'KBETR'.
    L_FIELD-CHANGEABLE = 'X'.
    INSERT L_FIELD INTO TABLE FIELD.
    L_INPUT-FIELD_NAMES = FIELD.
    L_INPUT-REF_KIND = 'E'.
    L_INPUT-REF_GUID = LS_PRIDOC_RD-GUID.
    L_INPUT-OBJECTNAME = 'PRIDOC'.
    INSERT L_INPUT INTO TABLE INPUT.
        CALL FUNCTION 'CRM_ORDER_MAINTAIN'
         EXPORTING
           IT_PRIDOC                     = PRIDOC_CHG
         IMPORTING
           ET_EXCEPTION                  = EXCEPT
         CHANGING
           CT_INPUT_FIELDS               = INPUT.
        IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    REFRESH EXCEPT.
    CALL FUNCTION 'CRM_ORDER_SAVE'
      EXPORTING
        IT_OBJECTS_TO_SAVE         = HEAD_GUID
    *   IV_UPDATE_TASK_LOCAL       = FALSE
    *   IV_SAVE_FRAME_LOG          = FALSE
    *   IV_NO_BDOC_SEND            = FALSE
    *   IT_ACTIVE_SWITCH           =
    IMPORTING
       ET_SAVED_OBJECTS           = SAVED
       ET_EXCEPTION               = EXCEPT
       ET_OBJECTS_NOT_SAVED       = UNSAVED
    * CHANGING
    *   CV_LOG_HANDLE              =
    * 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.
    ENDIF.
    COMMIT WORK AND WAIT.

    Hi,,
    To be able to call a function module in an update work process, you must flag it in the Function Builder. When you create the function module, set the Process Type attribute to Update with immediate start
    Alternatively u can use this function module.
    CRM_STATUS_DATA_SAVE_DB
    BAPI_CUSTOMERCRM_CHANGE (If u wish to use a bapi for this).
    Also , Let me know what error you got when implementing other function module.Does the function module didnt return any error but still the value is not changed for pricing condition type?

  • BAPI or function module to change Assignmnet no. (ZUONR) of T code FB02.??

    dear all
    is there any BAPI or function module to change Assignmnet no. (ZUONR) of T code FB02.
    i want to change it in a mass.
    i have tried FI_ITEMS_MASS_CHANGE but its not working...is there any way to do BDC for the same...
    or we can give any condition in BDC to read any particular line item details..actually i have to double click on vendor line item and there i have to change the asignment field text.
    pls help...
    jigar p

    Check the Post
    Any BAPI for "FB02"
    Code is given how to use FI_ITEMS_MASS_CHANGE .
    Regards,
    Abhishek

  • Retrieving the Change Texts per Line Item (Purchase Order) - Very urgent

    Hi,
    How do you retrieve the Change Texts per Line Item (Purchase Order).
    Table T166T does not list these values per line item.
    Please help. This is very urgent & important.
    Best Regards,
    John

    if you are lookin out for change of item texts ...
    then use the function module ... READ_TEXT.
    and 2 tables r used ... STXH and TLINE ....
    double click on item data ...
    goto PO TEXT tab ....
    double click on text ...
    from menu ...
    goto header ... u'll get 4 fields that u need to consider ...
    TDID
    TDOBJECT
    TDHEAD
    TDNAME
    ALL THESE U'LL FIND IN  STXH
    ITEM TEXT is stored in TLINE
    Edited by: anjali rana on Mar 5, 2008 4:55 AM

  • BAPI Function module to change the schedule agreement

    Hello Experts,
                             Can anyone tell me Bapi function module to change the scheduling agreement,
    my requirement is i will get the new AEDAT(Delivery date in schedule line)
    and WMENG(Quantity)  Every time customer sends me a flat file which has got
    revised schedule delivery date and Quantity. It needs to be updated in my system
    using a BAPI Functional Module.

    Hi Vivek,
    You must use the correct or most appropriate forum, so this thread will be moved from to .
    The forum is dedicated to: Data Transfer Techniques, Batch Data Communication, Legacy System Migration Workbench, Application Link Enabling, IDOCs, BAPIs.
    Please see the [Forum Rules of Engagement|https://wiki.sdn.sap.com/wiki/display/HOME/RulesofEngagement] before posting.
    Also read this thread Welcome and Rules of Engagement.
    Greetings,
    Marcelo Ramos

  • Issue with PO change output - Service line items

    Hi All,
    This is issue with PO change output. We have PO with line item 10, 20 and item 10 has 4 service line items. PO is approved and initial print out is taken.
    Some one goes and makes changes to 1st service line items of PO line item 10.
    A change output gets triggered. When this output is printed, it prints line item 10 details. This is standard functionality as this item is changed. But its printing all the service line items for this PO line item. Consider a case where there are 3000 service lines for a PO item. If I add 1 service item to this PO line item, the change form prints 3001 services for that line item. There were no changes done to first 3000 service line items.
    Currently PO change form takes care of changes at PO line item but it does not take care of changes at service line item level.
    Is there any setting that needs to be done for this so that it only considers the changes at Service line item level also.
    Regards,
    Shahu

    If you're using a standard form, send a message to SAP. Otherwise make a change in the form.

Maybe you are looking for