Set a User Status depending on System Status
Hi,
I would like to activate a user status of the sales document depending on the Rejection Status.
Do you know how this could be done?
Thanks
Edited by: mforman on Feb 25, 2011 11:54 AM
I've created a Status Profile with the Object Types: Sales Order header and Sales Order item.
But I don't know which Business Transaction I should allow/set in order to get this status set once a rejection reason is assigned to an item.
Any suggestion? Or workaround?
Thanks
Similar Messages
-
System Status MSPT cannot set a user status
When creating a user status for PM orders (transaction OIBS) we have a user status WOM (waiting on material). The user status profile is assigned to the PM order Object type. We want the user status WOM to be automatically set when the system status MSPT is active. However, there is no business transaction for "missing parts" or "material shortage", etc. How can I get system status MSPT to set a user status automatically?
Marc,
If its not possible by business transaction, then you will need to develop something.
Its pretty straight forward by utilising user-exit IWO10009 and function module STATUS_CHANGE_EXTERN
PeteA -
Set a User Status for Quality Notifications only if they are "Activated".
Hello experts:
I need to be able to set a User Status for Quality Notifications only if they are "Activated".
When defects are recorded for an inspection lot, a "Defect Notification" is created which can be activated to become a "Quality Notification". Initially, the only difference between the inactive "Defect Notification" and the active "Quality Notification" is that the system status DEFR is active for the "Defect Notification", but is cleared when the notification is activated.
So, I'm looking for the business process associated with the Activation to use as a trigger for my own user status.
I checked the business rules for status DEFR and found that the following processes clear this status
PMM1 - Postpone Notification
PMM2 - Put Notification In Process
PMM3 - Assign Order
PMM6 - Put Notification In Process Again
Any Ideas ?Perhaps some additional information would help you understand what I need to do.
For notification type F3, we are recording all defects found in production.
Most of these are expected defects that result in a minor reduction in yield.
For this type of defect, we do not activate the notification, and the inspection lot is closed automatically at the end of production.
However, sometimes defects are observed of an unexpected type or a higher than expected quantity.
When this happens we manually activate the notification and assign tasks to find and correct the cause.
It is only for these activated notifications that I want to automatically set a user status, which among other things, will prevent the notification from being closed until some other actions are complete and a different user status is selected.
The function of the user status currently works exactly as I want, but if it is set as the initial status for all F3 notifications, it is also preventing the un-activated defect notifications from automatically closing. I therefore want to use the Activation event as the trigger to set my user status. -
How to restrict manual setting of User Status?
Hi,
I have created an User Profile where a particular User Status is "set" based on the Business Transaction "Release".
However, we are also allowed to set this User Status manually without carrying out the Business Transaction "Release".
How do I restrict manual setting of those User Statuses that are "set" based on a Business Transaction?
RajPete,
I did read that post. But it is about providing authorisation to set a Status for an User.
The case I am referring is, an User Status is auto set by a Bus. Trans Release. But I am also permitted to set the status transition manually. This way, Users tend to skip Releasing the Service Order. This is affecting upstream processes.
Is there a way where we can restrict manual setting of User Statuses that have to be normally auto set by Bus. Transactions?
Raj -
BAPI/FM for setting the user status for the Project definition and WBS elem
Hi,
I have to set the User Status for the Project Definition and the WBS elements in that project.
The User status to be set is the same for the project and wbs elements.
Please let me know if there is any BAPI/FM to set the user status..
Thanks in advance.
Regards
ShivaHi Shkithija,
There is a dump encoutered in the form "PS_FLAG_GET_GLOBAL_FLAGS" for 'chk_precommit_ok' in the "BAPI_PS_PRECOMMIT".
But it is showing SY-SUBRC = 0 when used along with BAPI_TRANSACTION_COMMIT.
May i know what are input parameters we need to pass it to "BAPI_PS_PRECOMMIT".
Do you have any idea.
Please let me know
Regards
vishnu -
How to set a user status (complete) when ever system status is set complete
Experts,
We have configured status profile and few user status (say open, pre-release, complete) and assigned the status profile to the item category(zxxx).
The problem we have is if we have a service order that is created with the item (item category zxxx) -- Say the header status is open and the item status is pre-release. Now end user comes and sets the header status to completed - then the item status is still set pre-release. It is not changing to complete as expected.
Yes, the Item system status is set to completed but not the user status. How do I configure to set a complete user status when the header and item system status are set to completed.
Thank you
Edited by: ram on May 4, 2010 8:51 PMI am not sure if this can be "reverse engineered" in Status profile.
But here is some hint. You can use the BAdI CRM_ORDER_STATUS mehtod AFTER_CHANGE and actually break when the Header status is changed, and set the item status as desired. -
PM order for set/reset user status
I have one requriement like this I need to update the user status for many operations of single PM order at a time when user sets or resets the status. Kindly let me know is there any function module or any bapi for this or can you suggest me how to proceed with the further actions to handle this.
thanks in advance for your help.Hi Jaya,
Before i tell you the FM, there is something u must know about changing the user statuses in PM.
User statuses are sequential in nature. Eg, if current user status is 15 and you want to set the new status to 30, you must set it to 20, then 25 and then finally 30.
For this you must first fetch all the valid statuses for the PM order depending on its status profile.
Next, call the following FM repeatedly each time passing the next status number in sequence until you reach the desired status number:
'STATUS_CHANGE_EXTERN'.
Hope this is helpful.
Thanks,
Sonal -
How to add new actions in customization setting of user status ?
Hii All
I am tring to use user status for blocking the creation of new breakdown notification if one breakdown ntification is already pending on it. I want to set equipment under Breakdown status on equipment when breakdown notification created on it, but when i check for setting the action in user status customization setting, cannot locate the create notification there action there & also cannot add the same in it.
Can any body tell me how new action can be added there??
RegardsMakarand Gurjar,
You won't be able to do this with user-statuses.
See your other [VERY similar post|Blocking of Equipment for Notification creation;
PeteA -
Variant Configurator : Value set by user or dependency ?
Hi,
How can i determine whether a value in a characteristic in the variant configurator is set by a user or by a dependency ?
with regards
ErikHi,
When a variant is created , inthat particular screen, theres an option
Whether it is cretd by user or system.
And table name is RSVAR
field is TRANSPORT
Thanks,
Shreya -
Setting System status on assigning User status
We can change the user status by changing the system status ...
is there some work around to change a system status e.g REL on Setting a User Status .. ?
Please advise. ThanksHi,
I think this is possible using "Maintain Substitutions", but no sure. Try out once.
SRP0 - Project Systems -> Structures ->Operative structures -> Work Breakdown Structures (WBS) -> Maintain Substitutions.
Regards,
Punith. -
Changing system status depending on user status
Hello All,
What I need to do is, when the user sets the user status to, let's say, "Finished", I have to detect it and change the system status to "Concluded".
Does anybody have any idea about how could I manage this situation?
Thanks in advance.If you set the system status from within the transaction online, the solution by Richard is indeed correct. However, if you change a user stauts using an action, you have to perform two actions: set the user status (FM CRM_STATUS_CHANGE_EXTERN) and set the system status (FM CRM_STATUS_CHANGE_INTERN) as well.
In this case, you also must check if you have to set this status only on header level, or also on item level, but a good developer can help you out on this one.
Hope this helps you. -
Prevent User Status from being set by System Status
Hello,
I wonder if there is a standard way to prevent setting some User Status as long as activity network is not released.
Thanks in advance,
Best Regards.
NirHi Nir,
Go through the link mentioned below,
http://help.sap.com/saphelp_erp60_sp/helpdata/en/a9/8a853488601e33e10000009b38f83b/frameset.htm
Once you have read it thoroughly create a user status. Dont forget to select the object types for which this user status should work. Once you have created the user status, in the business transactions list, for the transaction Release check the radio button under Forbidden. This should fulfill your requirement. When you assign this user status to a Network or an activity it should prohibit the release transaction.
Hope this helps.
Best Regards,
Gokul
Edited by: Gokul on Jan 14, 2010 9:53 AM -
Any Pointers to set user status in iw31 and iw32
Hi all,
I am working on an enhancement where I need to set the user status for an order every time a new order is created(iw31) or an existing order is changed(iw32) and a material in that is flagged as a retirement unit material.
Is there any function module to do that?Hello Anu
I would like to point to the BAPI documentation where a useful BAdI (<b>IBAPI_ALM_ORD_MODIFY</b>) is mentioned:
FU BAPI_ALM_ORDER_MAINTAIN
Short Text
Process Maintenance-/Service Order
Functionality
This Business Application Programming Interface (BAPI) is used for
changing maintenance- or service orders and their lower-level objects.
The following objects of an order can be processed (for restrictions,
see the note at the end of the documentation):
o Order header
o Partner
o User status
o Order operations
o Relationships
o Components
o Long texts for order header, operations, and components
Function
Calling up this BAPI once allows you to perform all the operations. For
this the system supplies the function module with a method table
containing the methods to be performed. The entries in the method table
refer to data records in the optionally filled-out data tables. All the
methods from the method table are performed. Alternatively, just lower-
level objects from existing orders can be changed.
You can process the transferred data with the Business Add-In (BAdI)
IBAPI_ALM_ORD_MODIFY to, for example, merge data from the external
system with data from the R/3 system. The BAdI is called up as soon as
the transferred data is converted into the internal format. The tests
then take place after this.
Construction of Method Table
o REFNUMBER Reference number for linking object methods - attributes
The reference number is the line of the database which contains the
corresponding data. The data table is determined by the object type.
o OBJECTTYPE Object category
The object category specifies which object from the order should be
processed. The key words listed here are not language-dependent and
must be transferred exactly as they are. The following objects
exist:
- HEADER Order header
- PARTNER Partner data
- USERSTATUS User status
- OPERATION Operation data
- RELATION Relationships
- COMPONENT Components
- TEXT Long texts
- (empty) ,General BAPI functions (save)
o METHOD Methods
The methods with which the data should be processed. The following
functions exist:
- CREATE Create objects
- CHANGE Change objects
- DELETE Delete objects
- RELEASE Release
- TECHNICALCOMPLETE Technically complete
- ATPCHECK Availability check
- CALCULATE Calculate
- SCHEDULE Schedule
- DELELTEDSEX Delete the status for external scheduling at
operation level
- SAVE Save all data
- DIALOG Call-up dialog. See explanation below.
- TRACE Write trace file in the specified file to the
frontend
o OBJECTKEY SAP external object key
This key is for assigning the lower-level objects correctly to the
corresponding objects, as there is always just one key in the data
table. The key must have the following structure:
- 1-12 Order number
When creating orders with internal number assignment, a
reference number beginning with % must be entered here. The
BAPI then returns this number and the number actually assigned.
- 13-16 Operation number
- 17-20 Sub-operation number
For relationships, the key is structured as follows:
- 1-12 ,Order number from
- 13-16 Operation number from
- 17-28 Order number to
- 29-32 Operation number to
The following methods are permissible for the individual objects:
o HEADER:
CREATE, CHANGE, RELEASE, TECHNICALCOMPLETE, ATPCHECK, CALCUALTE,
SCHEDULE
o OPERATION
CREATE, CHANGE, DELETE, DELETEDSEX
o PARTNER, RELATION, COMPONENT, USERSTATUS, TEXT:
CREATE, CHANGE, DELETE
o (empty):
SAVE, DIALOG, TRACE
Data tables and update tables
The objects have one or more data tables. For some objects you can
specify which of the fields specified in the structure should be
changed. For this you must set the field in the corresponding table to X
as in the data table. If no update-table is transferred, then only
those fields are set that have a value that is not initial. This
simplifies the transfer data. However, this means it is not possible to
delete fields. If an update structure should only be specified for some
data records, the table with the update fields must nonetheless have the
same amount of lines as the data table. The empty lines are then
treated as if no update structure was transferred. The objects
"Partner", "User Status", and "Text" have no update tables. The whole
data record is always copied here.
References
The objects use the field REFNUMBER from the method table to refer to
the lines in the data table. Counting always begins with 1. In doing
this, REFNUMBER also refers to the update table. However, in the method
table there is a second reference to higher-level objects for
lower-levels objects. The field OBJECTKEY must be filled with order
number, operation number, and sub-operation number, as specified above.
If lower-level objects of a newly-created order should be changed, then
you must enter a temporary order number that must begin with %. Several
orders can be numbered serially, for example, with %00000000001,
%00000000002 ... .
The following objects have special treatment for REFNUMBER:
o Partner
o Texts
Partners have an order number in the data table. During processing of
the method table, all those entries in the data table are processed
which have an order number that is the same as that in the line to which
the method refers. Thus, through just one entry in the method table,
several partners can be changed.
Texts are composed of two tables. The first table (IT_TEXT) is made up
of the header data of the text. Here you must specify the object and the
first and last line of the text table (respectively inclusive, counting
from 1). Through this, a line segment is specified in the text line
table (IT_TEXT_LINES).
Peculiarities in processing
The BAPI processes the transferred methods in a particular sequence,
which must not correspond to the sequence in the methods table.
o Write trace file
o Change user status time period 1
o Delete objects (dependent first)
o Create new objects
o Change existing or newly-created objects
o Change user status time period 2
o Status change of order
o Save data
The methods are performed such that lower-level objects can also be
assigned to newly-created objects. For example, first the operations are
created, and then the components. Long texts can also be created for the
objects.
Components have an exceptional position. Components are created through
the assignment to an operation, that is, using the "key" order/
operation (item number). However, as this is not the unique component
key, you can only access the components to change them, delete them, or
add long texts by using the reservation number/-item, which is only
given after saving. This means that, for example, you cannot create a
long text when you create the component.
User status changes can take place at two different time points. Time
point 1 is before the object changes, time point 2 is after the object
changes and before the status change of the system. These time points
should be defined in the transfer table in the field CHANGE_EVENT. The
field documentation contains the possible values.
The external scheduling is offered by the BAPI as a special function.
THe BAPI can set the date field directly at the operation level, and
select the operation with the status DSEX "Date set by external system".
This status prevents any further scheduling of the operation, it keeps
the transferred dates. For this, set the category 'X' in the restriction
categories. When reading the operation, this category is also returned,
independent of the category of restriction set in the dialog. To delete
the status, you can call up the method DELETEDSEX for the object
operation. The external scheduling cannot be influenced in the dialog.
All changes to the scheduling restrictions in the dialog are saved as
normal, but are not relevant for the scheduling as long as the status
DSEX is active.
Every time the BAPI is called up, a SAVE or DIALOG method must be
transferred. Normally, calling up a BAPI is seen as a transaction. All
data that is changed in the BAPI should be saved to the database
immediately. The BAPI checks whether a SAVE method exists, otherwise it
terminates processing. A test run of the BAPI is composed of a normal
call-up using the SAVE method and a subsequent
BAPI_TRANSACTION_ROLLBACK. To call up the BAPI without the SAVE method,
for example, to realize dialog transactions, the BAPI can be called up
with the DIALOG method. This switches off the check for the SAVE method.
The processor must then ensure that later either a SAVE method or a
BAPI_TRANSACTION_ROLLBACK is called up.
A BAPI_TRANSACTION_COMMIT without SAVE method terminates processing in
the update to ensure that no inconsistent data is written to the
database. The processor who called up the BAPI does not receive any
confirmation for the termination of the update in the target system.
This logic is necessary as the order data was flagged for updating with
BAPI_TRANSACTION_COMMIT through the SAVE method. However, the status
information was already flagged for updating when the BAPI was called
up. A BAPI_TRANSACTION_COMMIT without SAVE method then just saves the
status information and would generate inconsistent orders, if the
updating was not terminated.
Customer Enhancement
The BAdI IBAPI_ALM_ORD_MODIFY can be used to change the transferred
data. The BAdI is called up after the conversion of the transfer
structure into the structures used internally. Additional data can be
transferred using the table EXTENSION_IN. Only then is the data checked.
Example
The following examples should clarify the use.
Creating an order
OBJECTKEY should be filled with a temporary key. The BAPI returns this
key together with the assigned order number in the return table
ET_NUMBERS . The order number in the HEADER table should also be filled
with the number. For external number assignment, the external number
should be specified. The update structure can be transferred if
necessary.
Methods table
REFNUMBER OBJECTTYPE METHOD OBJECTKEY
1 HEADER CREATE %00000000001
IT_HEADER
ORDERID ORDER_TYPE PLANPLANT ...
%00000000001 PM01 1000 ...
Creating an order with operation and long text
Methods table
REFNUMBER OBJECTTYPE METHOD OBJECTKEY
1 HEADER CREATE %00000000001
1 OPERATION CREATE %00000000001
1 TEXT CREATE %000000000010010
IT_HEADER
ORDERID ORDER_TYPE PLANPLANT ...
%00000000001 PM01 1000 ...
IT_OPERATION
ACTIVITY SUB_ACTIVITY CONTROL_KEY WRK_CNTR ...
10 PM01 MECHANIC ...
IT_TEXT
ACTIVITY ... TEXTSTART TEXTEND
10 ... 1 2
IT_TEXT_LINES
TDFORMAT TDLINE
* Longtext for operation 10, line 1
* Line 2 of the long text
Notes
Using the BAPI to process the order data cannot support all the functions
of the transaction. This applies in particular for the following
functions:
Order header data
o The object list cannot be processed.
o Refurbishment orders are not supported.
o The estimated costs cannot be processed - only the estimated overall
costs of the order.
o Notification data cannot be processed with the order BAPI. Even if
the settings in Customizing are such that the orders and
notifications can be maintained on one screen, no notification is
created for the order.
o Permits cannot be processed.
o The order addresses cannot be processed.
o Individual partner addresses cannot be maintained.
o The settlement rule cannot be maintained.
Order functions
o Printing the papers is not possible.
o Locking and unlocking the order is not possible.
o Accepting and rejecting quotations is not possible.
o Business completion is not possible.
o Flagging for deletion is not possible.
o The log cannot be displayed.
o User default values are not used.
o The field selection is not checked.
o The Customer Exits/BAdIs are not executed completely.
o Joint ventures are not supported.
o Funds Management is not supported.
o Investment orders are not supported.
o No integration of service products with task lists possible.
o No integration of configurable service products possible.
o Assignment of sales document items with service products in
accordance with the aforementioned conditions.
Operation data
o A change of the control key in the operation is not possible, if
this leads to a change of the processing type (internal-/external
processing)
o User status change not possible.
o Production resources and tools cannot be processed.
o Service lines cannot be processed.
o Task list integration is not supported.
o Linking operations with object list is not supported.
Component data
o User status change not possible.
o BOM data cannot be processed.
o The delivery address cannot be processed.
Further information
See also the documentation for the individual transfer tables.
Parameters
IT_METHODS
IT_HEADER
IT_HEADER_UP
IT_HEADER_SRV
IT_HEADER_SRV_UP
IT_USERSTATUS
IT_PARTNER
IT_PARTNER_UP
IT_OPERATION
IT_OPERATION_UP
IT_RELATION
IT_RELATION_UP
IT_COMPONENT
IT_COMPONENT_UP
IT_TEXT
IT_TEXT_LINES
EXTENSION_IN
RETURN
ET_NUMBERS
Exceptions
Function Group
IBAPI_ALM_ORDER
Regards
Uwe -
IO system status and user status
Hi all,
Could you please tell me where the link between IO sys and user status.
Thank you.Hi
System status and User status:
System Status
o The system sets a system status informing the user that the system has executed a certain business transaction for an object.
o You can only influence this status by executing a business transaction that changes the system status.
o If you release an internal order, the system automatically sets the Released system status.
User Status
o You can set a user status in addition to the existing system status.
o You specify the user status in a status profile, which you create for each order type in Customizing.
o You can specify and activate any number of user statuses.
o In a production order you can simultaneously
The system status and the user status influence the business transactions in the same way.
The status profile allows you to:
o Define the user status and document its functions with a corresponding long text.
o Assign a status number that specifies the order in which the system reaches the user statuses.
o Define an initial status, which is then automatically set when an object is created.
o Determine that a user status is automatically set when you execute a business transaction.
o Permit or forbid specified transactions, if a status is active.
VVR -
Function module to set user status during QA11 transaction
Hi ,
Anyone knows the function module to set the user status during QA11/QA12 transaction?
I received the user status 'e.g CFA1' from an idoc data and would like to set the user set based on this idoc value during QA11/QA12 transaction.
Any function module for this action? BDC seems impossible..
Thanks.
Regards,
Clarice.oh i realised this function module can be used
STATUS_CHANGE_EXTERN
with a commit statement..
Maybe you are looking for
-
Dear Seniors, I had set release procedure already for contract and purchase order. Whenever i do po w.r.to contract, i have to release both contract and PO to do GRN. For example, consider vendor X and Y, i have contract for these 2 vendors and
-
I set up a blog using iWeb on my iMac with the intention of posting pics and text while abroad on vacation. Since I plan to travel without my laptop, taking only my iPhone and iPad, I hoped to be able to post comments and attachments to the blog remo
-
VT04 - Adding new select options in grouping screen for capacity criteria
Hi, I am trying to add a new select option(min & max) for grouping the delivery based on the quanity/no of units just like the weight/volume. Is there an exit/enhancement available in the program. The program for VT04 is RV56TRGN and the actual progr
-
Power Mac G4 Cube boots fine in OS X, but not in OS 9
This is kind of a runoff of my other thread. I've been trying to get Classic to work for quite a while now. My computer has OS X 10.4 on it, but I installed OS 9.0.4 off a disk for Classic. I have also downloaded the required updates to get to OS 9.1
-
STO shipping data tab not appearing in PO hence cannot make deli.by VL10B
Hi, I am doing stock transfer order setting in define shipping data for plant in SPRO (stock transfer order setting ).In documentation it is mentioned that we had to set customer number of receiving plant and also sales org/dis/channel for supplying