09-23-2008 5:34 AM
Hi all,
I want to update the sales office and sales group for existing open SO. I used BAPI_SALESORDER_CHANGE
for Update . But it won't change .
DATA:I_BAPI_VIEW LIKE ORDER_VIEW.
DATA:SALES_DOCUMENTS LIKE SALES_KEY OCCURS 0 WITH HEADER LINE.
DATA:ORDER_HEADERS_OUT LIKE BAPISDHD OCCURS 0 WITH HEADER LINE.
DATA:ORDER_HEADER_INX LIKE BAPISDH1X.
DATA:ORDER_HEADER_IN LIKE BAPISDH1." OCCURS 0 WITH HEADER LINE.
DATA:RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.
I_BAPI_VIEW-HEADER = 'X'.
*I_BAPI_VIEW-ITEM = 'X'.
SALES_DOCUMENTS-VBELN = '0001014088'.
APPEND SALES_DOCUMENTS.
CALL FUNCTION 'BAPISDORDER_GETDETAILEDLIST'
EXPORTING
I_BAPI_VIEW = I_BAPI_VIEW
TABLES
SALES_DOCUMENTS = SALES_DOCUMENTS
ORDER_HEADERS_OUT = ORDER_HEADERS_OUT.
BREAK-POINT.
*****my changes are going to update here
LOOP AT ORDER_HEADERS_OUT.
MOVE-CORRESPONDING ORDER_HEADERS_OUT TO ORDER_HEADER_IN.
IF ORDER_HEADERS_OUT-SALES_OFF = 'CN20'.
ORDER_HEADER_IN-SALES_OFF = 'SH10'.
ORDER_HEADER_INX-SALES_OFF = 'U'.
ORDER_HEADER_IN-SALES_GRP = 'SH1'.
ORDER_HEADER_INX-SALES_GRP = 'U'.
ENDIF.
ENDLOOP.
****************
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = SALES_DOCUMENTS
ORDER_HEADER_IN = ORDER_HEADER_IN
ORDER_HEADER_INX = ORDER_HEADER_INX
BEHAVE_WHEN_ERROR = 'P'
TABLES
RETURN = RETURN.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
COMMIT WORK.
How can i solve this....
09-23-2008 5:47 AM
Hi,
You have to check the structure Checkbox List: SD Order Header ( BAPISDH1X ).
BAPISDH1X-SALES_OFF = 'X'.
Then it updates the sales office for the document.
Regards,
Raju.
09-23-2008 5:42 AM
Hi
What is the return value you are getting from 'BAPI_SALESORDER_CHANGE'
Regards
MD
09-23-2008 5:47 AM
Hi Madhan,
Thanks for ur immediate reply , following values i am getting from my rertun table
E |CJ |021 |WBS element 00000000 does not exist <
E |00 |347 |Field header_inx-updateflag is not an inp<
09-23-2008 5:43 AM
hai,
DATA:ORDER_HEADER_INX LIKE BAPISDH1X.
in the structure bapisdh1x pass the field UPDATEFLAG.
shan.
09-23-2008 5:54 AM
>
> hai,
>
> DATA:ORDER_HEADER_INX LIKE BAPISDH1X.
>
> in the structure bapisdh1x pass the field UPDATEFLAG.
>
>
> shan.
Hi Palani
I gave the same what u mention , but it won't come
09-23-2008 6:05 AM
Now i am getting sales office changes , Guys thanks for your suggestions..
DATA:I_BAPI_VIEW LIKE ORDER_VIEW.
DATA:SALES_DOCUMENTS LIKE SALES_KEY OCCURS 0 WITH HEADER LINE.
DATA:ORDER_HEADERS_OUT LIKE BAPISDHD OCCURS 0 WITH HEADER LINE.
DATA:ORDER_HEADER_INX LIKE BAPISDH1X.
DATA:ORDER_HEADER_IN LIKE BAPISDH1." OCCURS 0 WITH HEADER LINE.
DATA:RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.
I_BAPI_VIEW-HEADER = 'X'.
I_BAPI_VIEW-ITEM = 'X'.
SALES_DOCUMENTS-VBELN = '0001014088'.
APPEND SALES_DOCUMENTS.
CALL FUNCTION 'BAPISDORDER_GETDETAILEDLIST'
EXPORTING
I_BAPI_VIEW = I_BAPI_VIEW
TABLES
SALES_DOCUMENTS = SALES_DOCUMENTS
ORDER_HEADERS_OUT = ORDER_HEADERS_OUT.
BREAK-POINT.
LOOP AT ORDER_HEADERS_OUT.
IF ORDER_HEADERS_OUT-SALES_OFF = 'CN20'.---existing sales office
ORDER_HEADER_IN-SALES_OFF = 'SH10'.----
New sales office
ORDER_HEADER_INX-SALES_OFF = 'X'.
ORDER_HEADER_IN-SALES_GRP = 'SH1'.------new Sales group
ORDER_HEADER_INX-SALES_GRP = 'X'.
order_header_inx-UPDATEFLAG = 'U'.
ENDIF.
ENDLOOP.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = SALES_DOCUMENTS
ORDER_HEADER_IN = ORDER_HEADER_IN
ORDER_HEADER_INX = ORDER_HEADER_INX
TABLES
RETURN = RETURN.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
COMMIT WORK.
BREAK-POINT.
09-23-2008 5:47 AM
Hi,
You have to check the structure Checkbox List: SD Order Header ( BAPISDH1X ).
BAPISDH1X-SALES_OFF = 'X'.
Then it updates the sales office for the document.
Regards,
Raju.
09-23-2008 5:53 AM