2008 Mar 26 8:35 AM
i'm using bapi_create_fromdat2 to create sales order but problem is my quanity field is not getting updated .
2008 Mar 26 8:42 AM
Hai.
check this.
&----
*& Report ZSAN_BAPI_PURCHASE_ORDER *
*& *
&----
*& *
*& *
&----
REPORT ZSAN_BAPI_PURCHASE_ORDER .
DATA: HEADER LIKE BAPIMEPOHEADER,
" Header
HEADER_IND LIKE BAPIMEPOHEADERX,
" Header index
PO_ITEMS LIKE BAPIMEPOITEM OCCURS 0 WITH HEADER LINE,
" Item table
ITEMS_IND LIKE BAPIMEPOITEMX OCCURS 0 WITH HEADER LINE,
" Item index table
RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE
" Message Return table
.
SET PF-STATUS 'SANKET'.
**Initialize Header values
*HEADER-DOC_TYPE = 'NB'.
*HEADER-ITEM_INTVL = '00001'.
*HEADER-VENDOR = '0000001000'.
*HEADER-PURCH_ORG = '1000'.
*HEADER-PUR_GROUP = '001'.
*HEADER-CURRENCY = 'EUR'.
*HEADER-COMP_CODE = '1000'.
*HEADER-PMNTTRMS = '00001'.
*
**Initialize Index values
*HEADER_IND-DOC_TYPE = 'X'.
*HEADER_IND-ITEM_INTVL = 'X'.
*HEADER_IND-VENDOR = 'X'.
*HEADER_IND-PURCH_ORG = 'X'.
*HEADER_IND-PUR_GROUP = 'X'.
*HEADER_IND-CURRENCY = 'X'.
*HEADER_IND-COMP_CODE = 'X'.
*HEADER_IND-PMNTTRMS = 'X'.
*Initialize Header values
HEADER-DOC_TYPE = 'NB'.
HEADER-ITEM_INTVL = '00001'.
HEADER-VENDOR = '0000003020'.
HEADER-PURCH_ORG = '3000'.
HEADER-PUR_GROUP = '000'.
HEADER-CURRENCY = 'USD'.
*Initialize Index values
HEADER_IND-DOC_TYPE = 'X'.
HEADER_IND-ITEM_INTVL = 'X'.
HEADER_IND-VENDOR = 'X'.
HEADER_IND-PURCH_ORG = 'X'.
HEADER_IND-PUR_GROUP = 'X'.
HEADER_IND-CURRENCY = 'X'.
*Initialize Item values
PO_ITEMS-PO_ITEM = '00001'.
PO_ITEMS-MATERIAL = '100-100'.
PO_ITEMS-PLANT = '3000'.
PO_ITEMS-QUANTITY = '4'.
PO_ITEMS-NET_PRICE = '1'.
APPEND PO_ITEMS.
*Initialize Item index values
ITEMS_IND-PO_ITEM = '00001'.
ITEMS_IND-MATERIAL = 'X'.
ITEMS_IND-PLANT = 'X'.
ITEMS_IND-QUANTITY = 'X'.
PO_ITEMS-NET_PRICE = '1'.
APPEND ITEMS_IND.
*Initialize Item values
PO_ITEMS-PO_ITEM = '00002'.
PO_ITEMS-MATERIAL = '200-200'.
PO_ITEMS-PLANT = '3100'.
PO_ITEMS-QUANTITY = '20'.
PO_ITEMS-NET_PRICE = '3'.
APPEND PO_ITEMS.
*Initialize Item index values
ITEMS_IND-PO_ITEM = '00002'.
ITEMS_IND-MATERIAL = 'X'.
ITEMS_IND-PLANT = 'X'.
ITEMS_IND-QUANTITY = 'X'.
ITEMS_IND-NET_PRICE = 'X'.
APPEND ITEMS_IND.
*Initialize Item values
PO_ITEMS-PO_ITEM = '00003'.
PO_ITEMS-MATERIAL = '102-510'.
PO_ITEMS-PLANT = '3000'.
PO_ITEMS-QUANTITY = '20'.
PO_ITEMS-NET_PRICE = '246'.
APPEND PO_ITEMS.
*Initialize Item index values
ITEMS_IND-PO_ITEM = '00003'.
ITEMS_IND-MATERIAL = 'X'.
ITEMS_IND-PLANT = 'X'.
ITEMS_IND-QUANTITY = 'X'.
ITEMS_IND-NET_PRICE = 'X'.
APPEND ITEMS_IND.
*Create Production order
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
POHEADER = HEADER
POHEADERX = HEADER_IND
TABLES
RETURN = RETURN
POITEM = PO_ITEMS
POITEMX = ITEMS_IND.
*Commit BAPI
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
*Display PO number
FORMAT COLOR 6 INVERSE ON.
READ TABLE RETURN WITH KEY TYPE = 'S'.
IF SY-SUBRC <> 0.
WRITE: /,'Purchase Order not created'.
ELSE.
WRITE: /, RETURN-MESSAGE.
ENDIF.
FORMAT COLOR OFF INVERSE OFF.
2----
&----
*& Report ZSAN_BAPI_TEST1 *
*& *
&----
*& *
*& *
&----
REPORT ZSAN_BAPI_TEST1.
DATA: ORDER_HEADER LIKE BAPISDHEAD,
" Sales and Distribution Document Header
ORDERPARTNER LIKE BAPIPARTNR OCCURS 0 WITH HEADER LINE,
" SD Document Partner
ORDER_ITEM_IN LIKE BAPIITEMIN OCCURS 0 WITH HEADER LINE,
" Create SD Document Item
HEADER_IND LIKE BAPISDHEADX,
" Checkbox Fields for Sales and Distribution Document Header
RETURN LIKE BAPIRETURN1 OCCURS 0 WITH HEADER LINE,
" Return Parameter
W_ORDER LIKE BAPIVBELN-VBELN.
" Sales Document
*Initialize values
ORDER_HEADER-DOC_TYPE = 'TA'.
ORDER_HEADER-SALES_ORG = '5555'.
ORDER_HEADER-DISTR_CHAN = '55'.
ORDER_HEADER-DIVISION = '55'.
ORDERPARTNER-PARTN_NUMB = '0000003002'.
ORDERPARTNER-PARTN_ROLE = 'SP'.
APPEND ORDERPARTNER.
CLEAR ORDERPARTNER.
ORDER_ITEM_IN-MATERIAL = 'MAT1'.
ORDER_ITEM_IN-REQ_QTY = '2.000'.
APPEND ORDER_ITEM_IN.
CLEAR ORDER_ITEM_IN.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT1'
EXPORTING
ORDER_HEADER_IN = ORDER_HEADER
CONVERT_PARVW_AUART = 'X'
IMPORTING
SALESDOCUMENT = W_ORDER
RETURN = RETURN
TABLES
ORDER_ITEMS_IN = ORDER_ITEM_IN
ORDER_PARTNERS = ORDERPARTNER.
*Commit BAPI's process
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
FORMAT COLOR 6 INVERSE ON.
READ TABLE RETURN WITH KEY TYPE = 'E'.
IF SY-SUBRC = 0.
WRITE: 'Sales order not created' .
ELSE.
WRITE: ' Sales order NO.',W_ORDER COLOR 5, 'created successfully'.
ENDIF.
FORMAT COLOR OFF INVERSE OFF.
3----
&----
*& Report ZSAN_BAPI_PROFIT_CTR *
*& *
&----
*& *
*& *
&----
REPORT ZSAN_BAPI_PROFIT_CTR .
PARAMETERS: PR_CTR LIKE BAPI0015ID2-PROFIT_CTR,
VLD_TO LIKE BAPI0015_3-DATE.
DATA: PROFITCENTERID LIKE BAPI0015ID2 OCCURS 0 WITH HEADER LINE,
VALID_FORM LIKE BAPI0015_3-DATE,
VALID_TO LIKE BAPI0015_3-DATE,
BASICDATA LIKE BAPI0015_4 OCCURS 0 WITH HEADER LINE,
RETURN LIKE BAPIRET2 ,
PROFITCENTER LIKE BAPI0015ID2-PROFIT_CTR,
CONTROLLINGAREA LIKE BAPI0015ID2-CO_AREA.
*Fill PROFITCENTERID
PROFITCENTERID-PROFIT_CTR = PR_CTR.
PROFITCENTERID-CO_AREA = '1000'.
APPEND PROFITCENTERID.
*Fill VALID_FORM
VALID_FORM = '19940101'.
*Fill VALID_TO
VALID_TO = VLD_TO.
*Fill BASICDATA
BASICDATA-PRCTR_NAME = 'Sanket'.
BASICDATA-PRCTR_HIER_GRP = 'H1010'.
BASICDATA-IN_CHARGE = 'Sanket'.
APPEND BASICDATA.
*Get Profit center
CALL FUNCTION 'BAPI_PROFITCENTER_CREATE'
EXPORTING
PROFITCENTERID = PROFITCENTERID
VALIDFROM = VALID_FORM
VALIDTO = VALID_TO
BASICDATA = BASICDATA
IMPORTING
RETURN = RETURN
PROFITCENTER = PROFITCENTER
CONTROLLINGAREA = CONTROLLINGAREA.
*Commit BAPI
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
*Display profit center
FORMAT COLOR 6 INVERSE ON.
IF RETURN-TYPE = 'E'.
WRITE: /,RETURN-MESSAGE.
ELSE.
WRITE: /,RETURN-MESSAGE.
ENDIF.
FORMAT COLOR OFF INVERSE OFF.
regards.
sowjanya.b
i'm using bapi_create_fromdat2 to create sales order but problem is my quanity field is not getting updated .
2008 Mar 26 8:37 AM
hi,
Declar the field qty in Character format,
LIke this,
data: qty(10) type c.
2008 Mar 26 8:42 AM
Hai.
check this.
&----
*& Report ZSAN_BAPI_PURCHASE_ORDER *
*& *
&----
*& *
*& *
&----
REPORT ZSAN_BAPI_PURCHASE_ORDER .
DATA: HEADER LIKE BAPIMEPOHEADER,
" Header
HEADER_IND LIKE BAPIMEPOHEADERX,
" Header index
PO_ITEMS LIKE BAPIMEPOITEM OCCURS 0 WITH HEADER LINE,
" Item table
ITEMS_IND LIKE BAPIMEPOITEMX OCCURS 0 WITH HEADER LINE,
" Item index table
RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE
" Message Return table
.
SET PF-STATUS 'SANKET'.
**Initialize Header values
*HEADER-DOC_TYPE = 'NB'.
*HEADER-ITEM_INTVL = '00001'.
*HEADER-VENDOR = '0000001000'.
*HEADER-PURCH_ORG = '1000'.
*HEADER-PUR_GROUP = '001'.
*HEADER-CURRENCY = 'EUR'.
*HEADER-COMP_CODE = '1000'.
*HEADER-PMNTTRMS = '00001'.
*
**Initialize Index values
*HEADER_IND-DOC_TYPE = 'X'.
*HEADER_IND-ITEM_INTVL = 'X'.
*HEADER_IND-VENDOR = 'X'.
*HEADER_IND-PURCH_ORG = 'X'.
*HEADER_IND-PUR_GROUP = 'X'.
*HEADER_IND-CURRENCY = 'X'.
*HEADER_IND-COMP_CODE = 'X'.
*HEADER_IND-PMNTTRMS = 'X'.
*Initialize Header values
HEADER-DOC_TYPE = 'NB'.
HEADER-ITEM_INTVL = '00001'.
HEADER-VENDOR = '0000003020'.
HEADER-PURCH_ORG = '3000'.
HEADER-PUR_GROUP = '000'.
HEADER-CURRENCY = 'USD'.
*Initialize Index values
HEADER_IND-DOC_TYPE = 'X'.
HEADER_IND-ITEM_INTVL = 'X'.
HEADER_IND-VENDOR = 'X'.
HEADER_IND-PURCH_ORG = 'X'.
HEADER_IND-PUR_GROUP = 'X'.
HEADER_IND-CURRENCY = 'X'.
*Initialize Item values
PO_ITEMS-PO_ITEM = '00001'.
PO_ITEMS-MATERIAL = '100-100'.
PO_ITEMS-PLANT = '3000'.
PO_ITEMS-QUANTITY = '4'.
PO_ITEMS-NET_PRICE = '1'.
APPEND PO_ITEMS.
*Initialize Item index values
ITEMS_IND-PO_ITEM = '00001'.
ITEMS_IND-MATERIAL = 'X'.
ITEMS_IND-PLANT = 'X'.
ITEMS_IND-QUANTITY = 'X'.
PO_ITEMS-NET_PRICE = '1'.
APPEND ITEMS_IND.
*Initialize Item values
PO_ITEMS-PO_ITEM = '00002'.
PO_ITEMS-MATERIAL = '200-200'.
PO_ITEMS-PLANT = '3100'.
PO_ITEMS-QUANTITY = '20'.
PO_ITEMS-NET_PRICE = '3'.
APPEND PO_ITEMS.
*Initialize Item index values
ITEMS_IND-PO_ITEM = '00002'.
ITEMS_IND-MATERIAL = 'X'.
ITEMS_IND-PLANT = 'X'.
ITEMS_IND-QUANTITY = 'X'.
ITEMS_IND-NET_PRICE = 'X'.
APPEND ITEMS_IND.
*Initialize Item values
PO_ITEMS-PO_ITEM = '00003'.
PO_ITEMS-MATERIAL = '102-510'.
PO_ITEMS-PLANT = '3000'.
PO_ITEMS-QUANTITY = '20'.
PO_ITEMS-NET_PRICE = '246'.
APPEND PO_ITEMS.
*Initialize Item index values
ITEMS_IND-PO_ITEM = '00003'.
ITEMS_IND-MATERIAL = 'X'.
ITEMS_IND-PLANT = 'X'.
ITEMS_IND-QUANTITY = 'X'.
ITEMS_IND-NET_PRICE = 'X'.
APPEND ITEMS_IND.
*Create Production order
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
POHEADER = HEADER
POHEADERX = HEADER_IND
TABLES
RETURN = RETURN
POITEM = PO_ITEMS
POITEMX = ITEMS_IND.
*Commit BAPI
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
*Display PO number
FORMAT COLOR 6 INVERSE ON.
READ TABLE RETURN WITH KEY TYPE = 'S'.
IF SY-SUBRC <> 0.
WRITE: /,'Purchase Order not created'.
ELSE.
WRITE: /, RETURN-MESSAGE.
ENDIF.
FORMAT COLOR OFF INVERSE OFF.
2----
&----
*& Report ZSAN_BAPI_TEST1 *
*& *
&----
*& *
*& *
&----
REPORT ZSAN_BAPI_TEST1.
DATA: ORDER_HEADER LIKE BAPISDHEAD,
" Sales and Distribution Document Header
ORDERPARTNER LIKE BAPIPARTNR OCCURS 0 WITH HEADER LINE,
" SD Document Partner
ORDER_ITEM_IN LIKE BAPIITEMIN OCCURS 0 WITH HEADER LINE,
" Create SD Document Item
HEADER_IND LIKE BAPISDHEADX,
" Checkbox Fields for Sales and Distribution Document Header
RETURN LIKE BAPIRETURN1 OCCURS 0 WITH HEADER LINE,
" Return Parameter
W_ORDER LIKE BAPIVBELN-VBELN.
" Sales Document
*Initialize values
ORDER_HEADER-DOC_TYPE = 'TA'.
ORDER_HEADER-SALES_ORG = '5555'.
ORDER_HEADER-DISTR_CHAN = '55'.
ORDER_HEADER-DIVISION = '55'.
ORDERPARTNER-PARTN_NUMB = '0000003002'.
ORDERPARTNER-PARTN_ROLE = 'SP'.
APPEND ORDERPARTNER.
CLEAR ORDERPARTNER.
ORDER_ITEM_IN-MATERIAL = 'MAT1'.
ORDER_ITEM_IN-REQ_QTY = '2.000'.
APPEND ORDER_ITEM_IN.
CLEAR ORDER_ITEM_IN.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT1'
EXPORTING
ORDER_HEADER_IN = ORDER_HEADER
CONVERT_PARVW_AUART = 'X'
IMPORTING
SALESDOCUMENT = W_ORDER
RETURN = RETURN
TABLES
ORDER_ITEMS_IN = ORDER_ITEM_IN
ORDER_PARTNERS = ORDERPARTNER.
*Commit BAPI's process
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
FORMAT COLOR 6 INVERSE ON.
READ TABLE RETURN WITH KEY TYPE = 'E'.
IF SY-SUBRC = 0.
WRITE: 'Sales order not created' .
ELSE.
WRITE: ' Sales order NO.',W_ORDER COLOR 5, 'created successfully'.
ENDIF.
FORMAT COLOR OFF INVERSE OFF.
3----
&----
*& Report ZSAN_BAPI_PROFIT_CTR *
*& *
&----
*& *
*& *
&----
REPORT ZSAN_BAPI_PROFIT_CTR .
PARAMETERS: PR_CTR LIKE BAPI0015ID2-PROFIT_CTR,
VLD_TO LIKE BAPI0015_3-DATE.
DATA: PROFITCENTERID LIKE BAPI0015ID2 OCCURS 0 WITH HEADER LINE,
VALID_FORM LIKE BAPI0015_3-DATE,
VALID_TO LIKE BAPI0015_3-DATE,
BASICDATA LIKE BAPI0015_4 OCCURS 0 WITH HEADER LINE,
RETURN LIKE BAPIRET2 ,
PROFITCENTER LIKE BAPI0015ID2-PROFIT_CTR,
CONTROLLINGAREA LIKE BAPI0015ID2-CO_AREA.
*Fill PROFITCENTERID
PROFITCENTERID-PROFIT_CTR = PR_CTR.
PROFITCENTERID-CO_AREA = '1000'.
APPEND PROFITCENTERID.
*Fill VALID_FORM
VALID_FORM = '19940101'.
*Fill VALID_TO
VALID_TO = VLD_TO.
*Fill BASICDATA
BASICDATA-PRCTR_NAME = 'Sanket'.
BASICDATA-PRCTR_HIER_GRP = 'H1010'.
BASICDATA-IN_CHARGE = 'Sanket'.
APPEND BASICDATA.
*Get Profit center
CALL FUNCTION 'BAPI_PROFITCENTER_CREATE'
EXPORTING
PROFITCENTERID = PROFITCENTERID
VALIDFROM = VALID_FORM
VALIDTO = VALID_TO
BASICDATA = BASICDATA
IMPORTING
RETURN = RETURN
PROFITCENTER = PROFITCENTER
CONTROLLINGAREA = CONTROLLINGAREA.
*Commit BAPI
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
*Display profit center
FORMAT COLOR 6 INVERSE ON.
IF RETURN-TYPE = 'E'.
WRITE: /,RETURN-MESSAGE.
ELSE.
WRITE: /,RETURN-MESSAGE.
ENDIF.
FORMAT COLOR OFF INVERSE OFF.
regards.
sowjanya.b
2008 Mar 26 8:42 AM
Hi,
If u are using STANDARD BAPI BAPI_SALESORDER_CREATEFROMDAT1
populate quantity in TABLES parameter ORDER_ITEMS_IN-TARGET_QTY.
if u are using ZBAPI declare ur quantity field with reference to
ORDER_ITEMS_IN-TARGET_QTY.
Regards,
Ballack.
Reward Points if helpful.
2008 Mar 26 8:42 AM
2008 Mar 26 9:02 AM
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |