7.11.2010

PP - Controlling data for your Bill of Materials

You define the default values for BOM in OS28. - Based quantity - BOM Status - Size Unit - Var-size item unit You control the Material type allowed for the BOM header in transaction OS24. In transaction OS27, you define the central settings for your BOM management system. This are one-time settings for BOM management, which should not be change after production.

Low date When you create or process BOMs, the default date is the date defined in your system as the earliest processing date (01/01/1900 in the standard system). BOM validity maintenance Tick if want the user to specify a valid-from date when maintaining BOMs. If not tick the BOM created as of the current date or the system low date (1/1/1990). EC management active Tick if you want to make historical changes to BOMs with reference to a change number. (This means that the status of the BOM both before and after the change is stored in the system.) In this step, you only specify whether engineering change management can be used for maintaining bills of material. In transaction OS25, Configure history requirement for BOMs, you define whether you want to make the use of engineering change management a requirement in certain cases. Hist. reqmt variant Use this indicator to control when history requirement applies to new variants or alternatives in a BOM group. Sub-item documentn You use the Sub-item documentation indicator to define whether changes to sub-items are documented. Header Create BOM header with parameter validity TECHINCAL TYPE Mult. BOM inactive Tick if no multiple BOMs can be maintained in this R/3 system. Variant BOM inactive Tick if no variant BOMs can be maintained in this R/3 system BILL OF MATERIAL ITEM BOM item explosion type If you create a BOM item with reference to a change number and change the valid-from date (in the change header or alternative date), then this can change the sequence of validity periods of a BOM item. The indicator BOM item explosion type specifies whether and according to what rules, the system determines a unique change status, when you display, evaluate or change a BOM to a date in the overlap period. Description variable-sized item This indicator controls which text is displayed in BOM processing for a variable-sized item. Repeated effectivity via external item ID This indicator ensures that an item that already exists under an external item ID can be used. General settings Unit 'piece' In the standard system, this field contains a unit of measure for "piece". You can change this unit. This unit is the base unit of measure (BOM header) or the component unit of measure. Base unit of measure for: Equipment BOM Functional location BOM Document structure Standard BOM Component unit of measure for: Text item Document item Non-stock item without material master record CAD active If you want to maintain BOMs from a CAD system, set this indicator. This activates an additional field in the BOM header and BOM item, which tells you whether the BOM header or BOM item was maintained from a CAD system. If you deactivate engineering change management, changes to bills of material are not recorded. The modification parameters defined here apply to all BOM categories. The following settings are made in the standard R/3 System: 1. Validity date maintenance and engineering change management are active. 2. The current system date is the default valid-from date. 3. CAD is active. 4. Explosion type for BOM item: blank.
read more...

When is a Material BOM Not Exploded?

A BOM is not exploded in the following situations:

- No BOM is effective:
-- On the explosion date and in the given area of validity For the given effectivity parameters

- The BOM has a deletion indicator.

- The BOM is a multiple BOM, and has no alternative that matches the lot size for your required quantity.

- No BOM matches the selection criteria of the BOM application you selected.

- This is possible in the following situations, for example:

-- The application does not take all BOM usages into account.
For example, the application only takes BOMs that are relevant to production into account, so a BOM that is relevant to sales and distribution is not exploded.

-- The application selects a specific alternative on the explosion date you require. The material master record supports alternative determination by Explosion date.
If the specified alternative is not valid on the explosion date, the BOM is not exploded.

-- The application takes production versions in the material master record into account, but no production version has a BOM that is valid on the explosion date you require. The material master record supports alternative determination by Production version.
The system only explodes the BOM defined for the production version that matches the alternative and/or usage entered on the explosion date required.

-- The application only takes BOMs with certain status indicators into account.
For example, the application for MRP only explodes BOMs that have at least the status Explosion for MRP.

Further checks:
- Do the proper Scheduling in Routing (Backward/forward). In md61 give the requirement in next month.check your in-house production, planned delivery time in md02 give MRP Control parameter Rexplode BOM and Routing.

- Check BOM explosion data in MRP4 view of material master view ( Individual/Coll data).
read more...

How to link BOM component to storage location? | SAP Production Systems

If you have to issue a component for production order of main item always from a specific storage location (component is stored in multiple storage locations but for production of a top item reservations should be created only on a specific storage loc), where can you provide the link between BOM component and storage Loc??

Is it possible to provide that link in BOM? or while allocating BOM components to routing operations or else where?

You can use the issue storage location field on the MRP 2 screen in the material master

or

You have 3 ways of doing it - not including the material master since the components are stored in multiple locations.

1. BOM item - very flexible but very time consuming to maintain if you have lots of BOM's. In CS02 you can set st. loc. on each component, and SAP will take this st. loc. first.

2. from level above - you can set it up so that whatever st. loc. is the default prod. st. loc on the material master for the level above will be the issue st. loc for the components you choose, if the component exists in that st. loc. - kind of a champagne waterfall effect. If the st. loc. is not maintained on the component, it will take the material master default of the component.

3. using supply area and work center. create supply areas and link them to st. loc's. - then link the supply area to the work center on CR02. Then allocate components to operations going through those work centers.

Note:
Supply Areas are meant to be used in conjunction with Kanban. However you can just use them to link the work center to a storage location. You will never see an inventory balance in MMBE in a supply area. With Kanban you can set up automatic triggers to replenish stock to the supply areas from a main stock location.
read more...

SAP QM in Procurement - An Introduction

The QM component is integrated in crucial phases of the procurement process. It supports the

procurement activities by means of functions such as:

    * Vendor Evaluation
    * Vendor block
    * Vendor Release for requests for quotation and purchase orders
    * Assigning technical delivery terms and quality assurance agreements
    * Certificate processing
    * Status administration of the supply relationships
    * Incoming inspections
    * Goods receipt inspections


If your company purchases materials from external vendors, you can implement the QM in Procurement (QM-PT-RP-PRC) component to support your procurement processes for quality assurance purposes.

If you want to implement the QM in Procurement component, your company must also use the Purchasing (MM-PUR) component. If you require functions for processing goods movements, you must also install the Inventory Management (MM-IM) component.

You can implement the QM in Procurement component as a stand-alone component or together with the Quality Inspection (QM-IM) component. As a stand-alone component, you can use all procurement functions except those for processing goods receipt inspections. To process such inspections, you need the Quality Inspection component. Using the functions of the QM in Procurement component, you can:

  • Manage quality-related information for materials, vendors, and manufacturers in quality info records
  • Release or block vendors and manufacturers
  • Monitor the QM systems of vendors and manufacturers
  • Supply quality documents with requests for quotations and purchase orders
  • Evaluate vendors on the basis of quality
  • Certify vendors or manufacturers that have QM systems implemented, to reduce the inspection requirement
  • Manage and release supply relationships
  • Request that quality certificates be submitted with the delivered goods and monitor the receipt of these certificates
  • Inspect vendor goods at vendor sites (source inspections)
  • Inspect vendor goods upon receipt (goods receipt inspections)
  • Manage the posted goods in inspection stock
  • Block the payment of invoices until the goods have been inspected and accepted
  • Process goods receipt inspections for manufacturer-specific materials
  • Inspect goods that have been externally processed when they are returned in a goods receipt

read more...

3.21.2010

SAP ABAP File Processing | Downloading Directly to Microsoft Excel Workbook | Sheet

TABLES: USR03,DD02L.
DATA: ZX030L LIKE X030L.
DATA BEGIN OF ZDFIES OCCURS 0.
INCLUDE STRUCTURE DFIES.
DATA END OF ZDFIES.
DATA: BEGIN OF FLDITAB OCCURS 0,
FLDNAME(11) TYPE C,
END OF FLDITAB.

DATA ITABUSR03 LIKE USR03 OCCURS 0 WITH HEADER LINE.
DATA TNAME LIKE DD02L-TABNAME.
SELECT * FROM USR03 INTO TABLE ITABUSR03.
TNAME = 'USR03'.
PERFORM GETFIELEDS.
PERFORM SHOW123.

FORM GETFIELEDS.

CALL FUNCTION 'GET_FIELDTAB'
EXPORTING
LANGU = SY-LANGU
ONLY = SPACE
TABNAME = TNAME
WITHTEXT = 'X' IMPORTING
HEADER = ZX030L
TABLES
FIELDTAB = ZDFIES
EXCEPTIONS
INTERNAL_ERROR = 01
NO_TEXTS_FOUND = 02
TABLE_HAS_NO_FIELDS = 03
TABLE_NOT_ACTIV = 04.
CASE SY-SUBRC.
WHEN 0.
LOOP AT ZDFIES.
FLDITAB-FLDNAME = ZDFIES-FIELDNAME.
APPEND FLDITAB.
ENDLOOP.
WHEN OTHERS.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
with SY-SUBRC.
ENDCASE.

ENDFORM.

FORM SHOW123.

CALL FUNCTION 'EXCEL_OLE_STANDARD_DAT'
EXPORTING
FILE_NAME = 'C:\USR03.XLS'
DATA_SHEET_NAME = 'USER LIST'
TABLES
DATA_TAB = ITABUSR03
FIELDNAMES = FLDITAB
EXCEPTIONS
FILE_NOT_EXIST = 1
FILENAME_EXPECTED = 2
COMMUNICATION_ERROR = 3
OLE_OBJECT_METHOD_ERROR = 4
OLE_OBJECT_PROPERTY_ERROR = 5
INVALID_FILENAME = 6
INVALID_PIVOT_FIELDS = 7
DOWNLOAD_PROBLEM = 8
OTHERS = 9.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

ENDFORM.
read more...

What is the difference between SY-UCOMM and OK_CODE in Dialog Program? | SAP ABAP Programming

sy-ucomm is for doing the functions what the user wishes to do at that particular event. You use it in menus and other place . this mainly in using
 
ok_code is generally used in screen as of I have used.  You will define the function in the screen. and you can use it in the main program.
ok_code acts just as a temporary variable that stores the value of sy-ucomm.


When user interacts with the screen elements, the function code that you have assigned is filled in the sy-ucomm field which is turn gets reflected in OK_CODE. 

In your ABAP programs, you should work with the OK_CODE field instead of SY-UCOMM. There are two reasons for this: Firstly, the ABAP program has full control over fields declared within it, and secondly, you should never change the value of an ABAP system field. However, you should also always initialize the OK_CODE field in an ABAP program for the following reason: 

In the same way that the OK_CODE field in the ABAP program and the system field SY-UCOMM receive the contents of the corresponding screen fields in the PAI event, their contents are also assigned to the OK_CODE screen field and system field SYST-UCOMM in the PBO event. Therefore, you must clear the OK_CODE field in the ABAP program to ensure that the function code of a screen is not already filled in the PBO event with an unwanted value. This is particularly important when the next PAI event can be triggered with an empty function code (for example, using ENTER). Empty function codes do not affect SY-UCOMM or the OK_CODE field, and consequently, the old field contents are transported.
read more...

2.28.2010

Capacity Planning in PS module | Calendar like in MS Projects

With Pool Capacity we can generally define capacity for a group of expertise in a given Work Center. Meaning that if I have 10 peoples working at 40 hours a week each, my total capacity on a weekly basis is 400 hours.

If the demands from activities in my various projects using that Work Center exceeds the 400 hours then I'll be under capacity and Gantt's in Planning Board will show in red !!!!!

However if I decide to go for Individual Capacity planning using HR module; then from what I read the individuals already defined in HR as employee number; will be tied to the Work Center and automatically taken and represented in Gantt's chart individually.

The link is to tie them as employee number to the Work Center in HR.

My question is; likewise in MS Projects; where we can define availability via the calendar; we can grey out days when an individual is on vacation or not available.

And that will reflect in the overall availability...

In PS is there a way to get an ''equivalent'' calendar !!!!

I did not see anything in PS itself to lock individual's dates !!!!!

Would this be in HR ???

Mainly when I want to reserve vacation time ahead for indivial labour resources..!!!!

I am not an expert in this area but I know a bit about it (I made it in a customer, but at the end I had to undo it). Actually I cannot work with networks so all I have it is my memory.

The pool capacity works as you say, but it seems that you are using the capacity availabality feature. I understood that if you use that, the system only checks if there is capacity avalibale, but not makes a capacity "commitment", it means, other networks can plan that capacity as own (this is made in the "levelling" section). At last, I only used the first feature so only had a look on the second.

I do not know how to plan people from HR module but:
- In CMP9 you can assign people to networks in basis to its Work Center in individual days (but it is very boring for the user).
- In the activity tag "Personal Assignment" you can assign people to an activity. This uses the HR information (working start time, absences, substitutions...). But this is not a capacity check or plan (at the end, I used that information to make a customer-specific report).
- The function "HR_PERSON_READ_WORK_SCHEDULE" can be used to know the exact avilabilty of a person (it will show you working hours, if that day is holiday, if there is a planned absence or substitution... everything). But you need to report previously that data to the system. (if you use it, take a look to the HR_PERSON_INIT_WORK_SCHEDULE too).
- The working factory calendar of the activity it is used to plan the capacity ==> maybe you would need to make a calendar for each employee (too much work I think).

Note that in MS project when you "gray" days is for all the activities, to make that in PS you should make a factory calendar with those days as no working days. I have talking to "gray" those days for each activity.

Sorry if this is not very clear (it has taken me an hour with several interrupts).

I very much agree with Guillermo, and I would suggest to go for his ideea. In my opinion using personal capacity planing in PS-HR is very inflexible and deficitary.

However, the link PS-HR you are asking for,

1. In work center (Transsaction: change work center) you will have to assign the persons from HR, you will have to be carefull as in the transaction there are 2 methods/buttons to assign persons to a work center. now I cannot tell you by heart which one is effectively linking the HR with PS, as only one works, you will have to try both of them (swich to capacity view and you'll see one button sth. "Link to HR" and then the other option is in the menu bar)

2. In HR - you will have to work with your HR colleagues maybe, should be maintained some HR Infotypes: Transaction PA61,
Infotype 0007 - planned working time (e.g. 8 hr. a day)
Infotype 0005 - vacation
Infotype 2001, type pf Infotype 0100 - absences

For the infotype 0007 - you will have alreadythe Arbeitszeitplanregel "rule to plan the working time", if I translate correct from german, which will set the calender for you. This is made with another HR transaction for the HR calender ....this calender(e.g. factory calender) has to be then generated/activated for every month (separate transaction). I do not remember all the transactions codes now, but is pretty much intuitiv, as the system will give you the steps while maintaining the Infotypes.

3. Then you plan the persons in the Activities for a determined period of time. In CMP9 you'll see the availability with the standard working hours (8Hr/day, as set in HR in calender) and the absences (as planed in HR in infotypes) with empty cells (Nota Bene: these cells have in transactions CMP2 and CMP3 a change modus, are not grey or inactive !!!!!) You can change the planing then with the transactions CMP2 or CMP3, one is from project, the other from workcenter point of view . If you make changes in CMP2 or 3 you will not see the changes in Project builder for example. With CMP9 you can only view the personals planing for a workcenter, a project...

I remember there is another transaction to see the personal availability somewhere in the Infosystem> PS>capacity. You'll have to look for it and generate it from Mandant 000.
read more...