martes, agosto 20, 2013

Workflow - Análisis de problemas

How to Analysie workflow problems

This article contains transactions and techniques that will help you nderstand and analyze your workflow problems.
Transaction SWUD
     SWUD is the diagnosis transaction. This will guide you through the fault  finding process. The check-list order is determined dynamically
     according to:
 a) your workflow definition and
 b) the statistics of the most common mistakes made when
creating/activating a workflow.
 The testbed, provides a launchpad for tests to ensure that your workflow definition is rugged enough for the production environment. It also allows you to access the tasks, subflows, object types, delegated object  types and agent assignments directly, without going through the workflow builder first. (Foreground tasks with no agent assignment are marked in red from release 4.5 onwards). This list is also useful as a catalogue of the components of workflow for documentation or transport purposes.
     Click on the “info” icon to read a description of the test being performed.
     Any workflow accessed through this transaction is added to the last-used
     list. The workflow can be recalled at a later date by clicking on the
     reuse icon in the left-hand column of the last-used list.
     The next section describes the transactions called from SWUD. Experts
     may find it easier calling them directly.
     Secondary Diagnosis Transactions
         o  Transaction SWU3: Verify Workflow Customizing.
            In this transaction the most important basic customizing for
            workflow is checked. If you find any errors here, read the
            documentation for the error. If your system is BBP or CRM, see
            note 60801.
         o  Transaction SWEL: Event Log.
            Note: Before you can use the event log, you must make sure it is
            activated. You check this in transaction SWELS. If you are not
            sure whether or not it is active, just deactivate and activate
            the event log once.
            WARNING: An activated event log can lead to bad performance, and
            must not be activated constantly in a productive system.
         o  Transaction SWE2: Event type linkage
            A workflow is usually started or triggered by an EVENT so it is
            important to make sure that an event occurrs. In the event log
            you can see the event and its business object type.
            If an event has been successfully created, it is important to
            check if there is a receiver type for this event. The receiver
            type is the workflow that has been triggered by the event.
            The coupling between an event and the receiver can be maintained
            in trans. SWE2.
         o  Transaction SWU0: Event simulation
            If you have found NO receiver type in the event log, then you
            should check transaction SWU0, Simulate Events.
            In this transaction you can simulate an event. The system will
            check all workflows that could be triggered by the event and
            tells you whether or not they were triggered. Information is
            displayed for the workflows that were not triggered successfully.
         o  Transaction SWI1: Work item list
            If a workflow was been correctly triggered and started at least
            one WORK ITEM should be created. You can view the work items in
            transaction SWI1, Work Item Selection.
            The easiest way for the selection is just to go into this
            transaction after you have checked the event log. By default all
            the work items of the last hour will be displayed.
            You will find in this transaction the work item number, the
            status of the work item and the workflow task that has created
            the work item. Furthermore, (in the technical workitem display)
            you can have a look at the container by selecting a work item and
            using the menu GOTO -> CONTAINER. To display the work item
            details double click on the item. From the details you can see
            the selected/ possible/excluded agents for this work item by
            using the menu GOTO -> AGENT -> SELECTED/POSSIBLE/EXCLUDED
            When the status of the work item shows an error you should have a
            look at the workflow log using the menu EDIT -> DISPLAY WORKFLOW
            LOG. Here you can see errors that have occurred.
         o  Transaction PFTC/SWDD: Task editor/Workflow Builder
            If you want to have a look at the definition of the workflow you
            can use transaction PFTC, Maintain Tasks.
            The button WORKFLOW BUILDER brings you to a graphical display of
            the workflow structure which is fairly easy to read and
            understand. On the tabstrip TRIGGERING EVENTS you can check if
            the triggering is activated or not and deactivate/activate it by
            clicking on the icon in front of the event.
         o  Transaction OOCU: Customizing overview
            To check if the relevant tasks are activated and users are
            assigned, you can use transaction OOCU; Task Customizing
            In this transaction all the tasks are sorted by the application
            components and are thus easy to find. Note that if you have
            almost no entries in this transaction, you should execute  the
            report RS_APPL_REFRESH in transaction SE38.
         o  Transaction SWUE/SWUS: Event/workflow trigger
            If you have activated a user exit, e.g. for the role
            determination, and you have problems with that, you most probably
            have to debug the workflow. This can be done using the
            transaction SWUS or SWUE.
            With SWUE you can create an event. After you entered object type
            and event you have to fill the event parameters and the key for a
            specific object. If you want to debug the workflow you have to
            set the flag TRIGGER RECIEVER FM SYNCHR. If you have set a break
            point in your user exit or in any other function module of the
            workflow the system will stop at this break point and you can
            start analyzing.
            The second possibility to debug a workflow is to use the
            transaction SWUS, the workflow test environment. In this
            transaction you have to enter the workflow task and fill the
            input data. Please use the F4-help to fill the input data. Here
            again you have to set a break point in your user exit or in any
            other function module of the workflow and then the system will
            stop there.
     Summary of the manual alternative to SWUD
     Now that you have a better understanding of how to use these
     transactions, you can follow the steps below to quickly analyze your
     workflow problems:
     1.  Go to transaction SWU3 and check if everything is okay. If it is
         not, please fix it before you proceed.
     2.  Go to transaction SWEL and check if an event is created. If not,
         check in transaction SWELS if the event log is activated.
         o  If you see an event but no workflow is triggered, proceed with
            step 3.
         o  If you see an event and a workflow is triggered, but the status
            of the triggering shows an error, proceed with step 3.
         o  If you see an event and a workflow is triggered and there is no
            error, proceed with step 4.
         o  If the event log is activated and you do not get any event, open
            up a message using the component of the application to which the
            business object type belongs. From release 20C for creation of
            shopping carts
            the architecture of workflows changed and no events are visible!
     3.  Go to transaction SWU0 and simulate the event. Is the workflow that
         you expect to be triggered visible in the simulation?
         o  If it is not, then check the workflow definition in PFTC. The
            event must be defined as triggering event.
         o  If it is, but the event linkage is not activated, go to
            transaction OOCU and activated it.
         o  If it is visible, but it is not activated, go to transaction PFTC
            and activate it.
     4.  Go to transaction SWI1. Search for the work item that belongs to the
         workflow. Check the status of the work item.
         o  If it shows an error, look at the workflow log. Do you see any
            errors? If yes, you can probably find a solution in the SAPNet
            Frontend. (Tips and tricks on how to search for information and
            solutions in the SAPNet Frontend can be found in note 192194.) If
            you do not find any help in the SAPNet Frontend, please open up a
            message with the component BC-BMT-WFM and tell us the number of
            the error message and the name of the workflow.

miércoles, mayo 29, 2013

Planificación integrada Ceco - CeBe con NGL

Cuando hay NGL activo, para que los gastos planificados en CeCo se reflejen automaticamente en CeBe se debe configurar una transaccion de FI (código tx:) GLPV y marcar los flags: integ. Plan, como se ve a continuación:

jueves, julio 12, 2012

Llamar transacciones SAP sin autorización

La forma más sencilla de saltarse una limitación de acceso a una transacción es a través de la función (SE37):


señalar la transacción y ejecutar.

lunes, mayo 14, 2012

Validación y Sustitución para todos los módulos de SAP

Transacción GGB4


miércoles, mayo 09, 2012

Activar control de disponibilidad ANTES de asignar Presupuesto

Nota :

Note 602588 - Availability control before budgeting

En resumen 2 soluciones:

2. Asignación de un status de usuario original que impida TODO, y que sea borrado tras la operación asignación o modificación de presupuesto.

Esto impide la imputación de costos comprometidos (que se pueden realizar incluso aunque el proy/pep no esté liberado)


You create an order or a project.
In the relevant budget profile, you determine that an availability control is to take place (activation type = 1 or 2).
You have not entered any budget for the order or for the project yet.
(With availability control against releases for the project: You have not entered any releases for the project yet.)

Problem: In this status, debits (purchase requisitions, purchase orders, as of the status 'Released' invoices also) can be posted to the order or to the WBS elements of the project, as the availability control has not yet been activated.

How can this be prevented?
Other terms

ME21, ME21N, ME51, ME51N, MR01, MIRO, FB01, FB50
No availability control
Reason and Prerequisites

Due to technical and performance reasons, the availability control can only be activated if budget already exists for the order or for at least one WBS element of the project.

There are three workaround solutions for this problem.
    1. Activating availability control without any budget (user exit as of Release 4.6C)
              You can use a user exit to activate the availability control for the order or for the project without any existing budget. For further details, see Note 599813.
    2. Entering a dummy budget
              Enter an original budget, for example, to the amount of a currency unit (transaction KO22 or CJ30) in the order or in a top WBS element of the project.
              If you have set
      a) activation type 2 (background activation) or
      b) availability control against releases (possible only with projects) for the availability control,
              subsequently activate the availability control explicitly with transaction KO30 or CJBV.
              Afterwards, reset the original budget with the same transaction (KO22 or CJ30) to zero.
              The availability control is now active in the order or project, even though the budget is still zero.
    3. Solution by using a user status profile
              Restriction: You can only use this solution for WBS elements if you want to budget all account assignment elements. In other words: If account assignment elements that are to remain without a specific budget exist in a project, the solution described in the following section cannot be used.
It cannot be used either, if allotted funds are not to be assigned to WBS elements, but to subordinate orders, networks or network transactions instead.
              Preparation: If you do not use any user status profile for your orders or WBS elements, use transaction OK02 to create a user status profile and assign it to the 'Internal order' or 'WBS element' object category.
In addition, provide the relevant order types or project profiles in Customizing with the newly created user status profile so that in future newly created orders or WBS elements use this automatically.
              In the (new or existing) user status profile add a new status without status number, for example, the status NOBU ("no budget"). For this status, set the 'Initial status' indicator so that it is automatically set with the creation of orders or WBS elements.
In this status, relevant debits of all types should be forbidden. Double-click the status NOBU to navigate to the transaction control of the new status and choose 'New Entries'. A list of the business transactions with an indicator for the business transaction control is displayed.
      a) Override:
                       Set all relevant debit business transactions to 'Forbidden': Purchase requisitions, purchase orders, G/L account postings, and so on .
                       In other words: For an order in the status NOBU all relevant debit business transactions are forbidden. As NOBU is in the initial status, these debit business transactions are automatically forbidden for all newly created orders or WBS elements that do not have any budget yet, in particular.
      b) Follow-up action:
                       The status NOBU is to be automatically deleted ('Delete' indicator)
==> with availability control against budget through business transactions 'Budgeting' and 'Budget supplement',
==> with availability control against releases through business transaction 'Budget Release'.
                       In other words: As soon as a budget that is relevant for the availability control is assigned, the debit business transactions that are forbidden through the status NOBU are potentially possible again.
These debit business transactions are then checked by the availability control.
                       Note 1: If the 'Delete' indicator is not provided and, as a result, you cannot set it as a follow-up action, then use transaction BS32 to set the 'UsrSt' indicator for transaction KBUD (Budgeting) or KBFR (Budget Release).
                       Note 2: With availability control against releases, make sure that the corrections for Note 367984 have been implemented in your system.

Error en control de disponibilidad de Presupuesto en PS

Parametrizado el control de disponibilidad tipo "2" Warning y aviso via mail al responsable tras superar umbral de presupuesto definido, SAP envpia mensaje de error al realiza SOLPE.

Solución asignar Responsable al PEP, SAP sino encuentra responsable para enviar el mail de advertencia arroja mensaje de ERROR y ninguna información adicional.

Reestructuración base de datos info Proyecto (no documentado)

Reestructuración base de datos info Proyecto  -->  CJEN

Ajuste entre PI y registros de totales (costes reales + comprometidos)  -->  (SE38)  RKACOR04

Reparación tablas de números de objetos ONR*  -->  (SE38)  RBONRRP1

martes, mayo 08, 2012

Analisís de progreso en Tabla (ALV, y MUCHISIMO más amigable que CNE5)

Transacción CNPAWB

Campos Obligatorios en Componentes de Material (PS)

Definir obligatoriedad de campos en los Componentes de Material en CJ20N.
Considerando que los definidos en MM no tienen aplicación (campo Clase de Costo por ejemplo aparece como disponible y en MM está definido como visualizable).

Transacción OIPSMDMAT debe ser habilitada en el exterprise business functions (transacción  SFW5) :


Esto abre la parametrización de selección de campos para los componentes de material:

Esta genera otras mejoras descritas al final de este artículo(como la creación del botón Grabar sin Salir en CJ20n), pero como apremiaba la asignación de campos ...

Documentación de la EBF:


Project Builder
  • You can call up archived projects for viewing.
  • When processing a project, you can save the changed data without exiting the project.
  • You can manage statistical key figures on an additional tab page.
  • You can choose how many recently-processed projects should be displayed.
  • You can create collective purchase requisitions.
  • You can manage short and long texts in multiple languages for the following PS objects (multilanguage support):
  • Project definition
  • WBS element
  • Activity/operation
  • Network
  • Milestone
  • Integration of progress tracking for material components
  • Additional tab page for customer enhancements
  • Changing of material assignments using drag and drop
  • Grouping of materials and external services to a single purchase requisition
You can use ProMan to display all procurement-related data and documents for a specific object in different overviews. Information of the procurement process is consolidated from different applications - for example, the Project System, Materials Management, and Production Planning and Control.
In these ProMan overviews, you can run various procurement-related functions; for example, you can create an order for a purchase requisition, post a goods issue for network components, transfer stock, and so forth.
Forecast Workbench
You can create forecasts for the following objects:
  • WBS element
  • Network activity
Progress Tracking
In this business function, progress tracking is also available for the following PS objects:
  • Network activities
  • Work breakdown structure elements
Progress tracking enables you to track the progress of work breakdown structure elements and network activities by means of deadline information, priorities, and statuses of assigned events. You can manually enter the data, or have the system calculate the data from existing system data.
Easy Cost Planning
In this business function, you can use Easy Cost Planning also for network activities and individual activity elements.
Access Control List
You can use an access control list to assign authorizations for the following PS objects:
  • Project definition
  • WBS element
  • Network
  • Activity/operation
  • Activity elements
You can assign the following authorizations:
  • No Authorization
  • Read
  • Edit
  • Administration
Three user types are available:
  • Single users
  • User group
  • Organizational unit
The access control list is displayed on a new tab page for each PS object. You can specify whether the system should pass on access rights. You can use the menu option Delete Access Control List (transaction CNACLD) to display and delete all access control lists of a project.
Progress Analysis Workbench
You can display the result of the query in the standard layout or the confirmation layout. These layouts can be shown as a table or a tree structure.
The milestone POCs of a project are displayed in a separate column.
When the data is exported to Microsoft Excel tables, the PS object types have descriptive names.
Status changes made in projects can be temporarily stored in the progress analysis workbench.
After a Microsoft Excel file is uploaded, the system issues a log with all data that could not be uploaded.
Business Add-Ins for the Calculation in the Project System
The following Business Add-Ins are available:
  • Customer-specific Prices for Cost Planning of Networks: BADI_ACT_PRICE_CK
  • Adjustment of the CO Version for Storing the Planned Costs of Networks: BADI_NW_CO_VERS_CK
Material Component
Item category C is now available for material components that you assign to network activities using a catalog. Material components with item category C cannot be copied.
You can assign delivery address also to material components that do not have the procurement type third-party purchase requisition. A new button is available in the tabular component overviews for this purpose.
You can use a field selection to determine which fields should be displayed in the component overview, and in the detail view.
You have the option of adding a new tab page for the detail view of material components, where you can add customer-specific fields.
Settlement Rules
By regenerating the settlement rules, you can change settlement rules that were automatically generated for a WBS element. TheWBS_SETTLEMENT_RULE BAdI includes the GET_TEMPLATE method for this purpose.
Performance improvement through allocation of status combinations
You can assign a combination of statuses to a project. This speeds up the creation of reports because the system only needs to search in one status table instead of two. In the Implementation Guide (IMG), you can configure which statuses are possible and which priority should be used to assign those statuses. From the SAP Easy Access menu choose   Project System   Structures   Operative Structure   Work Breakdown Structure (WBS)/Network  .
WBS Account Assignment at MRP Area Level
The Implementation Guide now includes the IMG activity Determine WBS Account Assignment at MRP Area Level (TPS_MRP_AREA_PSP). In this IMG activity, you use the WBS Account Assignment at MRP Area Level indicator to control the planning of MRP elements that are assigned to projects in the Project System and in which there are storage location MRP areas.
BI Content
The following extractors are available for BI Content:
  • Extractor for statistical key figures for network, network activity, and activity element
  • Extractor for data from the customer fields for project definition, WBS element, network, network activity, and activity element
  • Extractor for data from the user fields for WBS element, network activity, and activity element
  • Extractor for Easy Cost Planning data and the customer fields for WBS element, network activity, activity element, and claims
  • Extractor for language-dependent short texts

Using the BAdI BADI_MAT_CUST_SCR customers now can define customer specific fields
for material components and display them on a separate tab in the detail view of components.

Customers now can define a field selection for material components and thus control which
fields should be displayed in the detail and tabular views of material components. You can
define the field selection using the following IMG menu path:

Project System->Material Procurement ->Define Field Selection for Components


Aunque no se utilice PROMAN (Aprovisionamiento orientado a Proyecto) ni lista de materiales, igualmente se puede utilizar la transacción principal CNMM , ofreciendo un resumen general de los componentes de material de proyecto y su status.

Funciones para trabajar en PS con numero interno (object number)

La mayoría de las tablas requeridas para desarrollos en PS , requieren la utilización de OBJNR (object number) la nota siguiente señala las funciones de conversión a utilizar (como usuario lo más sencillo es utilizar la transacción RKACSHOW).

Note 522246 - PS consulting: Internal and external number for project/WBS

Within a client, a unique 1:1 ratio exists between the external WBS element number and its respective internal number.

The internal number is part of the key on the database table. The external number is unique, this means the external number can similarly only occur (as the internal number also) in each client one single time.

The internal number is determined from the respective number range object when a project or WBS element are created. The object number of the object is created based on this internal number.
The conversion between internal and external number is processed with the following modules:
           converts the external project number into the internal project number (definition)
           converts the internal project number into the external project number (definition)
           converts the external WBS element number into the internal WBS element number
           converts the internal WBS element number into the external WBS element number
           converts the external WBS element number into the internal WBS element number (wildcards)
           converts the internal WBS element number into the external WBS element number (wildcards)
           standard WBS: converts the external project number into the internal project number
           standard WBS: converts the internal project number into the external project number
           standard WBS: converts the external WBS element number into the internal WBS element number
           standard WBS: converts the internal WBS element number into the external WBS element number

These conversions are carried out partly automatically, however, they can also be called 'manually'.

If they are called 'manually', the initiator is responsible for the consistency of the data. Conversion modules cannot return any exceptions and must therefore work with messages.

If, for example, CONVERSION_EXIT_KONPR_INPUT is called with an external number that is not compatible with the project coding mask (see project coding mask) (for example, letters in a numeric section), the program terminates.

Example for automatic conversion:
           You position the internal number of a WBS element on a screen by using DDIC field PRPS-PSPNR. Its data element PS_POSNR uses domain PS_POSNR which has KONPR defined as the conversion routine.
           This causes the internal WBS element number used in the program as the external number to be automatically displayed when this screen is processed (by CONVERSION_EXIT_KONPR_OUTPUT). This is actually the usual situation, in other words, if a WBS element is displayed on a screen, this is normally the automatically converted internal number.
           If you enter an external WBS number in the WBS element field, the system converts it automatically into the internal number (by CONVERSION_EXIT_KONPR_INPUT).
           As a result, it is not possible, for example, to search in Transaction SE16 in database tables for internal numbers. If an internal number is entered in field PSPNR, it is treated as an external number. Therefore the conversion fails, the project/WBS element is not found. Use Transaction SE17 here which does not carry out any conversion.

The internal number or the object number of the WBS element are stored in all reference objects in which the WBS element is used as the account assignment (network activity, purchase requisition, settlement rule, classification, CO document, FI document and so on).

This way the external number of the project or WBS element can subsequently be changed at any time; the internal number (and thus the consistency of the data) as a result remains unaffected.

A project or WBS element that is identified in different clients or in a distributed system by an identical external number have with almost certain probability different internal numbers.

For this reason, projects and WBS elements must not be copied from another system or client into a target system that is not empty because the internal number would thus also be copied.

In distributed systems, also the internal number is generally different for each system for a project or WBS element, however here identification takes place between the systems explicitly with the external number.

For this reason the external number is not changeable for ALE distribution.