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

Order header user status update

Former Member
0 Likes
3,207

Hi folks,

Is there any BAPI or Function Module that updates Order Header User Status( AUFK ) ie production order.

Regards,

vinay

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
2,027

Hi Vijay,

Use the FM "BAPI_ALM_ORDER_MAINTAIN" . We had used this FM in one of our projects for updating the User status.

Thanks,

Greetson

6 REPLIES 6
Read only

Former Member
0 Likes
2,027

Hi, you should try FM BAPI_ALM_ORDER_MAINTAIN.

The table parameter 'it_methods' must have two lines:

1. objecttype = 'USERSTATUS', method = 'CREATE', objectkey = order number

2. method = 'SAVE', objectkey = order number

The table parameter 'it_userstatus' must have one line:

1. user_st_text = status you want to create -as seen on transaction IW32-, user_st_text = 01, langu = sy-langu.

Execute the bapi, then the bapi commit... it should work.

Best regards!

Read only

Former Member
0 Likes
2,028

Hi Vijay,

Use the FM "BAPI_ALM_ORDER_MAINTAIN" . We had used this FM in one of our projects for updating the User status.

Thanks,

Greetson

Read only

Former Member
0 Likes
2,027

You can use the function module STATUS_CHANGE_INTERN_VB to change the Order status.

Pass the AUFNR value to the table AUFK and get the Object number (OBJNR) value and pass it to the above function module along with the new status.

Thanks,

Srinivas

Read only

Former Member
0 Likes
2,027

Hi Julio,

I have used the BAPI mentioned and written the code as follows...

&----


*& Report ZJM_SCE_TEST

*&

&----


*&

*&

&----


REPORT ZVD_SCE_TEST.

DATA: BEGIN OF W,

STONR LIKE TJ30-STONR,

BAPIRETURN LIKE BAPIRET2 ,

END OF W.

DATA: GV_STSMA TYPE J_STSMA,

GV_SSTAT TYPE J_STEXT,

GV_USTAT TYPE J_STEXT,

GV_STONR TYPE J_STONR,

GV_LOG_HANDLE TYPE BALLOGHNDL,

GV_S_LOG TYPE BAL_S_LOG,

GV_S_MSG TYPE BAL_S_MSG,

GV_MSGNO TYPE SYMSGNO.

DATA: L_MSGID TYPE SYMSGID,

L_MSGTYP TYPE SYMSGTY,

L_MSGV1 TYPE SYMSGV,

L_MSGV2 TYPE SYMSGV,

L_MSGV3 TYPE SYMSGV,

L_MSGV4 TYPE SYMSGV,

YX TYPE C VALUE 'X',

CAUFVD_E TYPE CAUFVD.

DATA:

ITMETHODS LIKE BAPI_ALM_ORDER_METHOD OCCURS 0 WITH HEADER LINE ,

ITHEADER LIKE BAPI_ALM_ORDER_HEADERS_I OCCURS 0 WITH HEADER LINE ,

ITHEADERUP LIKE BAPI_ALM_ORDER_HEADERS_UP OCCURS 0,

ITHEADERSRV LIKE BAPI_ALM_ORDER_SRVDAT_E OCCURS 0,

ITHEADERSRVUP LIKE BAPI_ALM_ORDER_SRVDAT_UP OCCURS 0,

ITUSERSTATUS LIKE BAPI_ALM_ORDER_USRSTAT OCCURS 0 WITH HEADER LINE,

ITPARTNER LIKE BAPI_ALM_ORDER_PARTN_MUL OCCURS 0,

ITPARTNERUP LIKE BAPI_ALM_ORDER_PARTN_MUL_UP OCCURS 0,

ITOPERATION LIKE BAPI_ALM_ORDER_OPERATION OCCURS 0,

ITOPERATIONUP LIKE BAPI_ALM_ORDER_OPERATION_UP OCCURS 0,

ITRELATION LIKE BAPI_ALM_ORDER_RELATION OCCURS 0,

ITRELATIONUP LIKE BAPI_ALM_ORDER_RELATION_UP OCCURS 0,

ITOBJECTLIST LIKE BAPI_ALM_ORDER_OBJECTLIST OCCURS 0 WITH HEADER LINE,

ITOBJECTLISTUP LIKE BAPI_ALM_ORDER_OLIST_UP OCCURS 0 WITH HEADER LINE,

ITOLISTRELATION LIKE BAPI_ALM_OLIST_RELATION OCCURS 0 WITH HEADER LINE,

ITSRULE LIKE BAPI_ALM_ORDER_SRULE OCCURS 0 WITH HEADER LINE,

ITSRULEUP LIKE BAPI_ALM_ORDER_SRULE_UP OCCURS 0 WITH HEADER LINE,

ITTASKLISTS LIKE BAPI_ALM_ORDER_TASKLISTS_I OCCURS 0 WITH HEADER LINE,

ITCOMPONENT LIKE BAPI_ALM_ORDER_COMPONENT OCCURS 0,

ITCOMPONENTUP LIKE BAPI_ALM_ORDER_COMPONENT_UP OCCURS 0,

ITTEXT LIKE BAPI_ALM_TEXT OCCURS 0,

ITTEXTLINES LIKE BAPI_ALM_TEXT_LINES OCCURS 0,

EXTENSIONIN LIKE BAPIPAREX OCCURS 0,

RETURN LIKE BAPIRET2 OCCURS 0,

ETNUMBERS LIKE BAPI_ALM_NUMBERS OCCURS 0.

PARAMETERS: P_AUFNR LIKE AUFK-AUFNR,

P_STAT LIKE JEST-STAT.

START-OF-SELECTION.

MOVE 'USERSTATUS' TO ITMETHODS-OBJECTTYPE.

MOVE 'CREATE' TO ITMETHODS-METHOD.

MOVE P_AUFNR TO ITMETHODS-OBJECTKEY.

MOVE P_AUFNR TO ITHEADER-ORDERID.

MOVE '21' TO ITHEADER-ORDER_TYPE.

MOVE 'OM11' TO ITHEADER-PLANPLANT.

MOVE 'WOIP' TO ITUSERSTATUS-USER_ST_TEXT.

MOVE SY-LANGU TO ITUSERSTATUS-LANGU.

MOVE 'X' TO ITUSERSTATUS-INACTIVE.

APPEND ITMETHODS.

CLEAR ITMETHODS.

MOVE 'SAVE' TO ITMETHODS-METHOD.

  • MOVE P_AUFNR TO ITMETHODS-OBJECTKEY.

APPEND ITMETHODS.

APPEND ITHEADER.

APPEND ITUSERSTATUS.

CLEAR: ITMETHODS, ITHEADER, ITUSERSTATUS.

CALL FUNCTION 'BAPI_ALM_ORDER_MAINTAIN'

TABLES

IT_METHODS = ITMETHODS

IT_HEADER = ITHEADER

IT_HEADER_UP = ITHEADERUP

IT_HEADER_SRV = ITHEADERSRV

IT_HEADER_SRV_UP = ITHEADERSRVUP

IT_USERSTATUS = ITUSERSTATUS

IT_PARTNER = ITPARTNER

IT_PARTNER_UP = ITPARTNERUP

IT_OPERATION = ITOPERATION

IT_OPERATION_UP = ITOPERATIONUP

IT_RELATION = ITRELATION

IT_RELATION_UP = ITRELATIONUP

IT_COMPONENT = ITCOMPONENT

IT_COMPONENT_UP = ITCOMPONENTUP

IT_OBJECTLIST = ITOBJECTLIST

IT_OBJECTLIST_UP = ITOBJECTLISTUP

IT_OLIST_RELATION = ITOLISTRELATION

IT_TEXT = ITTEXT

IT_TEXT_LINES = ITTEXTLINES

IT_SRULE = ITSRULE

IT_SRULE_UP = ITSRULEUP

IT_TASKLISTS = ITTASKLISTS

EXTENSION_IN = EXTENSIONIN

RETURN = RETURN

ET_NUMBERS = ETNUMBERS.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT = 'X'

IMPORTING

RETURN = W-BAPIRETURN.

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

But still i am getting the following error. Kindly suggest what can be done further.

Regards,

vinay

Read only

0 Likes
2,027

You can do it using the function module STATUS_CHANGE_EXTERN to change the user status.

Thanks,

Srinivas

Read only

Former Member
0 Likes
2,027

The easiest way to update this is by using the Function Module BAPI_ISUSMORDER_USERSTATUSSET. The input parameters are order number, and status. For example to update the status of order 000000000001 to COMP, you could execute the code below.

STATUS_TABLE-extern = 'COMP'.

CALL FUNCTION 'BAPI_ISUSMORDER_USERSTATUSSET'

EXPORTING

number = '000000000001'

status = STATUS_TABLE

IMPORTING

return = lt_bapiret2.

Set the extern field of the STATUS_TABLE equal to the status you want to update to. The available statuses can be seen in table TJ30 (column TXT04). These statuses must first be configed however.

Hope this helps.