Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Bapi Contract Change: -Cannot modify Net Price

Former Member
0 Likes
930

How can I modify the item net price? Please, I really need to modifiy it but it always contain the same...

3 REPLIES 3
Read only

Former Member
0 Likes
551

pls explain your code, let s see whet do you do

Read only

Former Member
0 Likes
551

See the following EXAMPLE:


DATA:i_bapi_view LIKE order_view.
DATA:sales_documents LIKE sales_key OCCURS 0 WITH HEADER LINE.
*ORDER_OUT
DATA:order_items_out LIKE bapisdit OCCURS 0 WITH HEADER LINE.
DATA:order_headers_out LIKE bapisdhd OCCURS 0 WITH HEADER LINE.
DATA:order_header_inx LIKE bapisdh1x.
***ORDER_IN
DATA:order_item_in LIKE bapisditm OCCURS 0 WITH HEADER LINE.
DATA:order_header_in LIKE bapisdh1 OCCURS 0 WITH HEADER LINE.
DATA:order_item_inx LIKE bapisditmx OCCURS 0 WITH HEADER LINE.
DATA:schedule_lines LIKE bapischdl OCCURS 0 WITH HEADER LINE.
DATA:schedule_linesx LIKE bapischdlx OCCURS 0 WITH HEADER LINE.
DATA: i_hdr TYPE bapisdh1.

DATA: TCONDSX          LIKE BAPICONDX  OCCURS 0 WITH HEADER LINE.
DATA: COND_ch          LIKE BAPICOND  OCCURS 0 WITH HEADER LINE.

DATA: itab_item          LIKE bapisditem  OCCURS 0 WITH HEADER LINE.
DATA: itab_ch          LIKE itab_item  OCCURS 0 WITH HEADER LINE.
DATA: s_order_header_in LIKE bapisdh1.
DATA: s_order_header_inx LIKE bapisdh1x.
DATA: BEGIN OF i_order_item_in OCCURS 0.
        INCLUDE STRUCTURE bapisditm.
DATA: END   OF i_order_item_in.
DATA: BEGIN OF i_order_item_inx OCCURS 0.
        INCLUDE STRUCTURE bapisditmx.
DATA: END   OF i_order_item_inx.
DATA: BEGIN OF it_return OCCURS 0.
        INCLUDE STRUCTURE bapiret2.
DATA: END OF it_return.
DATA: BEGIN OF i_sched OCCURS 10.
        INCLUDE STRUCTURE bapischdl.
DATA: END OF i_sched.
DATA: BEGIN OF i_schedx OCCURS 10.
        INCLUDE STRUCTURE bapischdlx.
DATA: END OF i_schedx.
DATA : zmsg(50) TYPE c.

DATA : order_contracts_out LIKE   bapisdcntr OCCURS 0 WITH HEADER LINE.
DATA : order_billingplans_out LIKE  bapisdbpl OCCURS 0 WITH HEADER LINE.
DATA : order_billingdates_out LIKE  bapisdbpld OCCURS 0 WITH HEADER LINE.
DATA : order_partners_out LIKE  bapisdpart OCCURS 0 WITH HEADER LINE,
       order_conditions_out LIKE bapisdcond OCCURS 0 WITH HEADER LINE,
       order_cond_head LIKE bapicondhd OCCURS 0 WITH HEADER LINE,
       order_cond_item LIKE bapicondit OCCURS 0 WITH HEADER LINE,
       order_cond_qty_scale LIKE bapicondqs OCCURS 0 WITH HEADER LINE,
       order_cond_val_scale LIKE bapicondvs OCCURS 0 WITH HEADER LINE.

**condition data
DATA logic_switch LIKE bapisdls.
DATA: ls_order_header_x TYPE BAPISDHD1X,
ls_cond TYPE BAPICOND,
ls_cond_x TYPE BAPICONDX,
lt_cond TYPE TABLE OF BAPICOND,
lt_cond_x TYPE TABLE OF BAPICONDX,
lt_return TYPE TABLE OF BAPIRET2.

Parameters
SELECTION-SCREEN : BEGIN OF BLOCK order WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP.
PARAMETERS: p_vbeln TYPE BAPIVBELN-VBELN OBLIGATORY,
            pval TYPE vbap-bwtar .
SELECTION-SCREEN : END OF BLOCK order.
order_header_in-sd_doc_cat  = 'C'.
order_header_inx-updateflag = 'U'.

 i_bapi_view-header = 'X'.
    i_bapi_view-item = 'X'.
    i_bapi_view-partner = 'X'.
    i_bapi_view-contract = 'X'.
    i_bapi_view-sdcond = 'X'.
    i_bapi_view-sdcond_add = 'X'.
    i_bapi_view-billplan = 'X'.
    i_bapi_view-configure = 'X'.
sales_documents-vbeln = p_vbeln.
APPEND sales_documents.

Read only

Former Member
0 Likes
551

Continue...


CALL FUNCTION 'BAPISDORDER_GETDETAILEDLIST'
      EXPORTING
        i_bapi_view            = i_bapi_view
      TABLES
        sales_documents        = sales_documents
        order_headers_out      = order_headers_out
        order_items_out        = order_items_out
        order_contracts_out    = order_contracts_out
        order_billingplans_out = order_billingplans_out
        order_billingdates_out = order_billingdates_out
        order_partners_out     = order_partners_out
        order_conditions_out   = order_conditions_out.

        LOOP AT order_items_out .
  MOVE-CORRESPONDING order_items_out TO order_item_in.
  order_item_in-NET_VALUE = 'ADD NEW UR NET VALUE'l.
  APPEND order_item_in.
ENDLOOP.

LOOP AT order_item_in .
  MOVE-CORRESPONDING order_item_in TO itab_ch.
  APPEND itab_ch.
ENDLOOP.



LOOP AT order_conditions_out.
MOVE-CORRESPONDING order_conditions_out TONET_VALUE.

if order_conditions_out-COND_TYPE = 'ZP00'.
COND_ch-COND_VALUE = '120'.
APPEND COND_CH.
ENDIF.
ENDLOOP.
loop at cond_ch.
ls_order_header_x-updateflag = 'U'.

ls_cond-itm_number = cond_ch-itm_number.
ls_cond-cond_type = cond_ch-cond_type.
ls_cond-cond_value = cond_ch-cond_value.
ls_cond-currency = 'INR'.

ls_cond_x-itm_number = cond_ch-itm_number.
ls_cond_x-cond_type = cond_ch-cond_type.
ls_cond_X-cond_value = 'X'.
ls_cond_x-currency = 'X'.
ls_cond_X-updateflag = 'U'.
APPEND ls_cond TO lt_cond.
APPEND ls_cond_x TO lt_cond_x.

endloop.
logic_switch-cond_handl = 'X'.


CALL FUNCTION 'SD_SALESDOCUMENT_CHANGE'
EXPORTING
SALESDOCUMENT = p_vbeln
* ORDER_HEADER_IN =
order_header_inx = ls_order_header_x
 LOGIC_SWITCH = logic_switch
tables
return = lt_return
CONDITIONS_IN = lt_cond
CONDITIONS_INX = lt_cond_x
.
BREAK DEVELOPER.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
  EXPORTING
    wait = 'X'.