7.11.2010

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...

Sequence Of Operations To Get EVA | SAP Project System

In my project system I want project progress analysis on the basis of only time proportionality.  Cost will not be consider for progress andtheir are different units used like m, m3, km & hr for work  in internal & external activities, so is it possible to do such setting on the basis of confirmation in customisation?

Yes it is possible do through activity confirmation.  It all depends on EV basis, their you need to set time proportionality.

You need to perform sequence of operations to get EVA. for time prop. you need to maintain scheduling, activity confirmation etc.


Define default meas method as Time prop for objects in customising.

You need to do customization settings for EVA for progress version, statistical key figures, value catagories, progress cost element etc.

You can go the following customizing steps... this will help you to configure as per your needs. This is not as per your need, as only you can understand what all the customizations you need to do........

1. Create Progress Version 101 with exclusive use 'Progress Analysis'. I have selected Plan & Actual check boxes.
2. Settings for Progress Version-
a) Plan version - '0'
b) EV basis - Cost plan (active project, annual values)
c) POC weighting - Cost plan (active project, annual values)
d) Planning type - Basic dates
e) Early / Late - earliest possible
f) Both reference boxes selected

3. SKFs- I created three SKFs 10 (Non-Aggregated POC), 20 (Aggregated POC) and 30 (POC for RA) with unit of measure '%' and selected the Key value category 'Total values'.

4. I need to assign these SKFs to different value categories. I created three value category 10, 20 & 30 with selection 'SKF with total values' and unit of measure '%'. Then I assigned SKF 10 to VC 10, SKF 20 to VC 20, SKF 30 to VC 30

5. I assigned measurement method as default value:
a) WBS (Plan) - Cost Proportional
b) WBS (Actual) - Cost Proportional
c) Internal Activity (Plan) - Cost Proportional
d) Internal Activity (Actual) - Degree of Processing
c) Exernal activity(Plan) - Cost Proportional
d) Exernal Activity (Actual) - Degree of Processing

6. I made progress cost element '6511100' (Secondary cost element) with Cost element category as 61.

7. I maintain a value catagory 6511100 with Cost radio button selected.
And assigned the progress cost element to the value catagory. i.e Cost element 6511100 to value catagory 6511100.

8. I maintain the assignment of cost element group. ie. I assigned progress cost elemnt to cost element group with default radio button selected. In the cost element group, I have selected certain cost elements which we regularly used (cost elements for project materials, project manhours, project contracts, spares etc)

Run CJEN first then CNE1 and CNE5.
read more...

SAP Logistics : PS Substitutions

Project Substitutions

We have configured Partner funcitons to used at PD and WBS element level. We want to enter the 'customer number' as partner at the PD level and then want to copy it automatically in all the WBS elements under the project.

Is it possible to do such a thing? We are unable to use substitutions coz Partner fields do not occur in the substitution fields.

This is reasonably easy to achieve with substitution exit, where you can retrieve data from any logically linked objects and use these as substitution source data. This is described in note 440186, chapter 4.

However, with this technique you can only maintain the fields of PRPS,  e.g. user fields USR*.

If your intention is to substitute corresponding Partner role in each level of WBS, I think that will not be possible with this technique directly.

You should additionally check if there is a user exit at partner maintenance to complete the scenario.

Normally you can use user exit RGGBS00 to insert a user specific into subsititution.

But in your case, it's a little complex, because the partner is in another table (not in PRPS). however you can try to insert your own field into table GB01 and regenerate with program RGUGBR00 (note 42615). 
read more...