9.13.2008

SAP ABAP Jobs with Verizon

Sap ABAP Technical Consultant Openings at Verizon ( MNC )—Hyd ( 3+ yrs relevant exp). Please find below the skill set.

No of Positions : Analyst - ( 3 + year )
: Sr Analyst - ( 4 + year )





About Project : Supply Chan Transformation project mainly deals with MM, Purchasing , Inventory Management modules. The resource need to have very good functional knowledge of MM, SD Modules.


They are currently looking for SAP ABAP Technical Consultant with Scripts, ALE, IDOC, Basic ABAP, Dialogue Programing and good functional knowledge.

Cross Application Knowledge is must and candidate should be working on permenant payroles.


read more...

Yahoo Software Development India Pvt. Ltd.

Yahoo Software Development India Pvt. Ltd.
New Job Vacancy in YAHOO....


Job Description
The Internet is a big, busy place, and we at Yahoo! are proud to stand out in the crowd. As the world’s number one Internet brand, servicing over a half billion people, we’re determined to maintain our commitment to delivering news, entertainment, information and fun… each and every day.

In order to maintain our position as one of the world’s most trafficked Internet destinations, we’re always on the lookout for people with big ideas and big talent to help us provide our visitors with the innovative products and services they’ve come to expect from Yahoo!. We’re looking for people like you.

How Big Can You Think?

Do you enjoy solving highly technical and challenging problems?
Are you excited about the world of e-commerce?
Do you want to be part of a team that is considered a leader in the US Small Business market?

Yahoo! Small Business is looking for energetic and experienced who is passionate about building the next generation, scalable, reliable and high performance e-commerce web application services. Our services support tens of thousands of small business with billions of dollars in sales.

The service must be fast, highly available, customizable, and built to scale. This poses very interesting challenges with browser technologies, distributed programming, large-volume system architecture, efficient program design and security.

A successful candidate must be passionate about his area of expertise, a fast learner, self-starter, and a skilled problem solver.

As an architect, you will provide technical leadership to the team. You will work closely with senior management, engineering and business teams to solve a wide-range of issues, understand broad concepts and make them a reality. You will define best practices and ensure the overall quality of the system architecture and design. You should be able to make significant contribution to backend systems including architecture, design and coding and will be called upon to solve critical production issues.
Desired Candidate Profile
Minimum Qualifications:
* Talent and passion for architecting concepts into reality.
* Excel at solving problems ranging from application design to large system deployment.
* In-depth understanding of transactional systems, data storage technologies, disk/network performance tradeoffs, caching strategies, failover, performance tuning, internet and distributed system architecture.
* Excellent communication and interpersonal skills.
* BS/MS/PhD in Computer Science with relevant work experience of which at least 2-3 years is as an architect for a significantly complex product/service.

Recommended Qualifications:
* Experience optimizing runtime performance and memory size.
* Experience with parallel processing, multithreading, and shared memory.
* Experience with Apache, HTTP protocol and internet technologies.
* Experience UNIX system programming.
* Expertise with object-oriented design, C++, PHP and/or PERL.
* Experience with relational databases especially MySQL.

Some travel may be required.
Company Profile
At Yahoo!, we look at life in a different way. Everything inspires us: from a train ticket to the beverage we drink. Equations, Algorithms, Indexes, Terabytes of data; we see them everywhere. No wonder our product teams in Bangalore have been able to churn out a host of innovations: Yahoo! Podcasts, Yahoo! Audio Search, Yahoo! Hotjobs, Yahoo! SpamGuard+, Behavioral Targeting, consumer centric data driven products and marketing applications to name a few. So to name a few. So, if you wish to get aboard the innovation engine, just walk-in at the below mentioned venue.
Contact Details

Company Name:
Yahoo Software Development India Pvt. Ltd.

Website:
Not Mentioned

Address:
Not Mentioned

Telephone:
Not Mentioned

Reference ID:
15367


read more...

9.12.2008

Triggering and Handling Events

In ABAP Objects, triggering and handling an event means that certain methods act as triggers and trigger events, to which other methods - the handlers - react. This means that the handler methods are executed when the event occurs.

This section contains explains how to work with events in ABAP Objects. For precise details of the relevant ABAP statements, refer to the corresponding keyword documentation in the ABAP Editor.

Triggering Events

To trigger an event, a class must

Declare the event in its declaration part
Trigger the event in one of its methods
Declaring Events

You declare events in the declaration part of a class or in an interface. To declare instance events, use the following statement:

EVENTS EXPORTING… VALUE() TYPE type [OPTIONAL]..

To declare static events, use the following statement:

CLASS-EVENTS

Both statements have the same syntax.

When you declare an event, you can use the EXPORTING addition to specify parameters that are passed to the event handler. The parameters are always passed by value. Instance events always contain the implicit parameter SENDER, which has the type of a reference to the type or the interface in which the event is declared.

Triggering Events

An instance event in a class can be triggered by any method in the class. Static events can be triggered by any static method. To trigger an event in a method, use the following statement:

RAISE EVENT EXPORTING… =

For each formal parameter that is not defined as optional, you must pass a corresponding actual parameter in the EXPORTING addition. The self-reference ME is automatically passed to the implicit parameter SENDER.

Handling Events


Events are handled using special methods. To handle an event, a method must

be defined as an event handler method for that event
be registered at runtime for the event.
Declaring Event Handler Methods

Any class can contain event handler methods for events from other classes. You can, of course, also define event handler methods in the same class as the event itself. To declare an event handler method, use the following statement:

METHODS FOR EVENT OF IMPORTING.. ..

for an instance method. For a static method, use CLASS-METHODS instead of METHODS. is an event declared in the class or interface .

The interface of an event handler method may only contain formal parameters defined in the declaration of the event . The attributes of the parameter are also adopted by the event. The event handler method does not have to use all of the parameters passed in the RAISE EVENT statement. If you want the implicit parameter SENDER to be used as well, you must list it in the interface. This parameter allows an instance event handler to access the trigger, for example, to allow it to return results.

If you declare an event handler method in a class, it means that the instances of the class or the class itself are, in principle, able to handle an event triggered in a method.

Registering Event Handler Methods

To allow an event handler method to react to an event, you must determine at runtime the trigger to which it is to react. You can do this with the following statement:

SET HANDLER… … [FOR]…

It links a list of handler methods with corresponding trigger methods. There are four different types of event.

It can be

An instance event declared in a class
An instance event declared in an interface
A static event declared in a class
A static event declared in an interface
The syntax and effect of the SET HANDLER depends on which of the four cases listed above applies.

For an instance event, you must use the FOR addition to specify the instance for which you want to register the handler. You can either specify a single instance as the trigger, using a reference variable :

SET HANDLER… …FOR .

or you can register the handler for all instances that can trigger the event:

SET HANDLER… …FOR ALL INSTANCES.

The registration then applies even to triggering instances that have not yet been created when you register the handler.

You cannot use the FOR addition for static events:

SET HANDLER…

The registration applies automatically to the whole class, or to all of the classes that implement the interface containing the static event. In the case of interfaces, the registration also applies to classes that are not loaded until after the handler has been registered.

Timing of Event Handling

After the RAISE EVENT statement, all registered handler methods are executed before the next statement is processed (synchronous event handling). If a handler method itself triggers events, its handler methods are executed before the original handler method continues. To avoid the possibility of endless recursion, events may currently only be nested 64 deep.

Handler methods are executed in the order in which they were registered. Since event handlers are registered dynamically, you should not assume that they will be processed in a particular order. Instead, you should program as though all event handlers will be executed simultaneously.



read more...

9.10.2008

What is source inspection?

What is source inspection and what are the setup required to do in system to implement successfully?

A source inspection is a quality inspection in which Buyer required the quality check before the material received. So that he performed the quality inspection at the vendor’s Location.

To setup source inspection, you should define inspection type (01 and 0101) in material master QM View. (MM01)

When requesting source inspection, include the following information:

a) Purchase order number
b) Item number
c) Part number
d) Quantity of parts to be inspected
e) Date source inspection is required
f) Types of inspection required
- In Process
- Final
- Interim
- First Article Inspection (FAI)
g) Contact name and phone number

Go to transaction QI07 and give the material code, vendor, plant and opening period. When you execute the transaction you would find open purchase orders for the given input data. Select the Purchase Order you wish to perform Source Inspection and choose Create Inspection Lot. These inspection lot triggers for inspection type 0101. Against this inspection Lot perform result recording QE01 & QA11.

When finally you received Goods at your premises, then inspection lot will triggered automatically (01) and perform result recording QE01 & QA11

read more...

PROCEDURE USED FOR SOURCE INSPECTION IN QM

What's the process for source inspection?

The Q-Info Record is used to trigger a source inspection lot for a material or vendor and plant. Under the tab key Inspection Controls in Record of Q-Info, you would find vendor source Inspection and under that select the inspection type desired for source inspection (say 01,0101) and give the lead time required to perform the inspection in days (say 10 days).

If you do not want to trigger an inspection more @ GR for a source Inspection lot then check the box (Source Insp. No Gr).

Ensure that the inspection type selected at source inspection is activated in the Material Master Record for the chosen material in the Quality Management View.

To trigger the lot manually you need to have some open purchase orders for the material/plant/vendor. Go to transaction QI07 and give the material code, vendor, plant and opening period.

When you execute the transaction you would find open purchase orders for the given input data. Select the Purchase Order you wish to perform Source Inspection and choose Create Inspection Lot.

This would trigger the lot and then it is QE01 & QA11

We have an in-process inspection set in the PP routing. We have three MIC's attached that take varying amounts of completion time. SAP will also allow confirmation of that step when only one of the MIC's has been entered. We need the system to NOT allow confirmation (in CO11N) until the UD is made.

The following steps also can be done if more than one operation is there in routing.

1. The operation which requires inspection completion need to be given with the control key having milestone for confirmation.
2. In SPRO-Producion-shop floor control-Operation- Define confirmation parameters, select the order type that will be used for production.
3. In detail screen, In check area - for Results Rec.QM field,change to error message if no inspection results exists.
4. The system will check, if any result recording has been carried out for that operation.
5. The drawback will be, if one MIC is recorderd and others left without value, still the system will allow to confirm the production order.

The above holds good only if there are more than 1 operation. if one operation is there in the routing, directly we can activate the "04 inspection type" for the material and move to quality stock during final confirmation.


read more...

SOURCE INSPECTION IN QM

Can any one guide how to do Source Inspection in QM. What are the settings required to be done and can the lot for source inspection be trigerred manually or automatically.

The Q-Info Record is used to trigger a source inspection lot for a material/vendor and plant. Under the tab key Inspection Control in Q-Info Record, you would find vendor source Inspection and under that select the inspection type desired for source inspection (say 01,0101) and give the lead time required to perform the inspection in days (say 10 days). If you do not want to trigger an inspection lot @ GR for a source Inspection lot then check the box (Source Insp. No Gr).

Ensure that the inspection type selected @ source inspection is activated in the Material Master Record for the chosen material in the Quality Management View.

To trigger the lot manually you need to have some open purchase orders for the material/plant/vendor. Go to transaction QI07 and give the material code,vendor,plant and opening period. When you execute the transaction you would find open purchase orders for the given input data. Select the Purchase Order you wish to perform S.I and choose Create Inspection Lot.

This would trigger the lot and then it is QE01 & QA11.

Two more questions ..

1. Purchase order for this material (which has to undergo source inspection) will show open order qty until GR is
posted for this material.Inspection lot created thru QI07 is not stock posting relevant i.e. you can not post the
quantity to Unrestricted use stock.The procedure you have mentioned allows you to record results but in
the UD there is no Stock posting tab thru which you can post the material to Unrestricted use stock. How
will you take care regarding posting of this material to Unrestricted stock.

2. Can we have inspection type 01(GR insp for PO) & 0101 (Source Inspection) activated at the same time in the
Material master record for a material.Have you come across such a scenario.What will be the implication if
both the inspection types are activated.

1) Source Inspection(SI): Well, you need to understand the concept and use of Source Inspection. The inspection lots created using this are not stock relevant as the material is not inward thru GR at the point when these lots are triggered. Hence the UD will not have a stock posting tab and if you want a stock posting tab then it becomes normal inspection (01). Hope you understand the difference, also after results record & UD if you decide not to have a inspection lot triggered @ GR then you need to update it in the Q-Info record. The settings for this scenario are already given below.

2) Inspection type (01,0101) can be activated @ the same time.In addition to this you can have a preferred indicator set for the inspection type you want to be selected when you perform goods receipt.
This check box is available in the inspection type set up in the Material master. If you do not check the preferred inspection type then the variant 01 for lot origins 01 is given preference.

If you want an inspection type 0101 to be triggered @ SI then you need to define this in the Q-Info record.






read more...

9.09.2008

Set Up for Credit Card Payment Processing

Given below is the set up for credit card payment processing:

Set Up Credit Control Areas:

Define Credit Control Area
Transaction: OB45
Tables: T014
Action: Define a credit control area and its associated currency. The Update Group should be ‘00012’. This entry is required so the sales order will calculate the value to authorize

Assign Company Code to Credit Control Area
Transaction: OB38
Tables: T001
Action: Assign a default credit control area for each company code

Define Permitted Credit Control Area for a Company
Code
Transaction:
Tables: T001CM
Action: For each company code enter every credit control area that can be used

Identify Credit Price
Transaction: V/08
Tables: T683S
Action: Towards the end of the pricing procedure, after all pricing and tax determination, create a subtotal line to store the value of the price plus any sales tax. Make the following entries:
Sub to: “A”
Reqt: “2”
AltCTy: “4”

Automatic Credit Checking
Transaction: OVA8
Tables: T691F
Action: Select each combination of credit control areas, risk categories and document types for which credit checking should be bypassed. You need to mark the field “no Credit Check” with the valid number for sales documents.

Set Up Payment Guarantees

Define Forms of Payment Guarantee
Transaction: OVFD
Tables: T691K
Action: R/3 is delivered with form “02” defined for payment cards. Other than the descriptor, the only other entry should be “3” in the column labeled “PymtGuaCat”

Define Payment Guarantee Procedure
Transaction:
Tables: T691M/T691O
Action: Define a procedure and a description.
Forms of Payment Guarantee and make the following entries Sequential Number “1”
Payment Guarantee Form “02”
Routine Number “0” Routine Number can be used to validate payment card presence.

Define Customer Payment Guarantee Flag
Transaction:
Tables: T691P
Action: Define a flag to be stored in table.
Create Customer Payment Guarantee = “Payment Card Payment Cards (All Customers can use Payment Cards)”.

Define Sales Document Payment Guarantee Flag
Transaction:
Tables: T691R
Action: Define the flag that will be associated with sales document types that are relevant for payment cards

Assign Sales Document Payment Guarantee Flag
Transaction:
Tables: TVAK
Action: Assign the document flag type the sales documents types that are relevant for payment cards.

Determine Payment Guarantee Procedure
Transaction: OVFJ
Tables: T691U
Action: Combine the Customer flag and the sales document flag to derive the payment guarantee procedure

Payment Card Configuration

Define Card Types
Transaction:
Tables: TVCIN
Action: Create the different card types plus the routine that validates the card for length and prefix (etc…)
Visa , Mastercard, American Express, and Discover
Create the following entries for each payment card
AMEX American Express ZCCARD_CHECK_AMEX Month
DC Discover Card ZCCARD_CHECK_DC Month*****
MC Mastercard ZCCARD_CHECK_MC Month
VISA Visa ZCCARD_CHECK_VISA Month

The Routines can be created based on the original routines delivered by SAP.

*****SAP does not deliver a card check for Discover Card. We created our own routine.

Define Card Categories
Transaction:
Tables: TVCTY
Action: Define the card category to determine if a
payment card is a credit card or a procurement card.
Create the following two entries
Cat Description One Card Additional Data
CC Credit Cards No-check No-check
PC Procurement Cards No-check Check

Determine Card Categories
Transaction:
Tables: TVCTD
Action: For each card category map the account number range to a card category. Multiple ranges are possible for each card category or a masking technique can be used. Get the card number ranges from user community. Below is just a sample of what I am aware are the different types of cards.

Visa Credit Expires in 7 days.
400000 405500
405505 405549
405555 415927
415929 424603
424606 427532
427534 428799
428900 471699
471700 499999
Visa Procurement Expires in 7 days.
405501 405504
405550 405554
415928 415928
424604 424605
427533 427533
428800 428899
Mastercard Credit Expires in 30 days
500000 540499
540600 554999
557000 599999
Mastercard Procurement Expires in 30 days
540500 540599
555000 556999

American Express Credit Expires in 30 days
340000 349999
370000 379999

Discover Card Credit Expires in 30 days
601100 601199

Set Sales Documents to accept Payment Card Information Transaction:
Tables: TVAK
Action: Review the listing of Sales Document types and enter “03” in the column labeled “PT” for each type which can accept a payment card

Configuration for Authorization Request

Maintain Authorization Requirements
Transaction: OV9A
Tables: TFRM
Action: Define and activate the abap requirement that determines when an authorization is sent. Note that the following tables are available to be used in the abap requirement (VBAK, VBAP, VBKD, VBUK, and VBUP).

Define Checking Group
Transaction:
Tables: CCPGA
Action: Define a checking group and enter the
description. Then follow the below guidelines for the remaining fields to be filled.
AuthReq Routine 901 is set here.
PreAu If checked R/3 will request an authorization for a .01 and the authorization will be flagged as such. (Insight does not use pre-authorization check).
A horizon This is the days in the future SAP will use to determine the value to authorize
(Insight does not use auth horizon period).
Valid You will get warning message if the payment card is expiring within 30 days of order entry date.

Assign Checking Group to Sales Document
Transaction:
Tables: TVAK
Action: Assign the checking group to the sales order types relevant for payment cards

Define Authorization Validity Periods
Transaction:
Tables: TVCIN
Action: For each card type enter the authorization validity period in days.

AMEX American Express 30
DC Discover card 30
MC Master card 30
VISA Visa 7

Configuration for clearing houses

Create new General Ledger Accounts
Transaction: FS01
Tables:
Action: Two General Ledger accounts need to be created for each payment card type. One for A/R reconciliation purposes and one for credit card clearing.

Maintain Condition Types
Transaction: OV85
Tables: T685
Action: Define a condition type for account determination and assign it to access sequence “A001”

Define account determination procedure
Transaction: OV86
Tables: T683 / T683S
Action: Define procedure name and select the procedure for control. Enter the condition type defined in the previous step.

Assign account determination procedure
Transaction:
Tables:
Action: Determine which billing type we are using for payment card process.

Authorization and Settlement Control

Transaction:
Tables: TCCAA
Action: Define the general ledger accounts for reconciliation and clearing and assign the function modules for authorization and settlement along with the proper RFC destinations for each.

Enter Merchant ID’s
Transaction:
Tables: TCCM
Action: Create the merchant id’s that the company uses to process payment cards

Assign merchant id’s
Transaction:
Tables: TCCAA
Action: Enter the merchant id’s with each clearinghouse account

read more...

Difference Between Simple and Automatic Credit Check Types

Explain in detail difference between simple and automatic credit check types. In automatic check, difference between static and dynamic checks.

SIMPLE CREDIT CHECK : Tr.Code - FD32

It Considers the Doc.Value + Open Items.

Doc.Value : Sales Order Has been saved but not delivered

Open Item : Sales Order has been saved , Delivered, Billed & Transfered to FI, but not received the payment from the customer.

Eg: Customer Credit Limit is Rs.1,00,000/-
Suppose Doc.Value + Open Item Value is Rs.1,10,000/-

Here credit limit exceeds then system reacts.

Options : A) Warning Message
B) Error Message (Sales Order won't be saved)
C) Error Message with Delivery Block

AUTOMATIC CREDIT CHECK : Give extra credit facilities to the particular customer.

STATIC CREDIT LIMIT DETERMINATION :Checking Group + Risk Catageory + Credit Control Area.

A) Credit Checking Groups : Types of Checking Groups.

01) Sales
02) Deliveries
03) Goods Issue
At all the above 3 levels orders can be blocked.

B) Risk Catageory : Based on the risk catageories company decide how much credit has to give to the customer.

HIGH RISK (0001) : LOW CREDIT
LOW RISK (0002) : MORE CREDIT
MEDIUM RISK(0003) : Average Credit

Static Credit Check it checks all these doc value & check with the credit limit

1) Open Doc.Value / Sales Order Value : Which is save but not delievered

2) Open Delivery Doc.Value : Which is delivered but not billed

3) Open Billing Doc.Value : Which is billed but not posted to FI

4) Open Item : Which is transfered to FI but not received from the customer.

DYNAMIC CREDIT CHECK : 1) Open Doc
2) Open Delivery
3) Open Billing
4) Open Items
5) Horizon Period = Eg.3Months

Here the System will not consider the above 1,2,3& 4 values for the lost 3 months

Then assign the Sales Doc & Del Documents.

Sales Doc.Type(OR) + credit Check(0) + Credit Group (01)

Credit Limit Check for Delivery Type : Del.Type (LF) + Del Credit
Group (02) + Goods Issue Credit Group (03)

read more...

9.08.2008

MRP block for Credit limit attained Customers

How to block the requirement (MD04) generated by the item category in a sales order when the customer has attained the credit limit? The MRP requirements still appear even though the schedule is zero.

You should try and use one of the standard requirements.

See in transaction "VOFM".

Under Requirements / Subsequent Functions / Reqs.Availablity.

Try using routine 103, you may have to tweak if it doesn't work exactly as you'd like.

For example, you can write a routine 903 because you only wanted this reaction for certain business units. Irregardless, using a routine similar to this will prevent the requirement from appearing in MD04 for orders blocked on credit.

Code:
DATA: W_ZSDCRD TYPE ZSD_CREDITBLCK.
DATA: W_CMGST LIKE VBUK-CMGST.

SELECT SINGLE * INTO W_ZSDCRD
FROM ZSD_CREDITBLCK
WHERE KKBER = VBAK-KKBER
AND CTLPC = VBAK-CTLPC.

IF SY-SUBRC = 0 AND VBUK-CMGST CA 'B'.

IMPORT VBUK-CMGST TO W_CMGST FROM MEMORY ID 'CREDIT'.

IF W_CMGST = SPACE.
MESSAGE I706(Z1).
EXPORT VBUK-CMGST TO MEMORY ID 'CREDIT'.
ENDIF.

*} REPLACE
*{ INSERT DEVK966908 1

*} INSERT
* Read the subsequent function information for the message
PERFORM FOFUN_TEXT_READ USING GL_FOFUN
CHANGING FOFUN_TEXT.
MESSAGE ID 'V1' TYPE 'E' NUMBER '849'
WITH FOFUN_TEXT
RAISING ERROR.
*{ INSERT DEVK966908 2

*} INSERT
ENDIF.
ENDFORM.

read more...

How To Do Configuration For Credit Management

Credit and risk management takes place in the credit control area. According to your corporate requirements, you can implement credit management that is centralized, decentralized, or somewhere in between.

An organizational unit that represents the area where customer credit is awarded and monitored. This organizational unit can either be a single or several company codes, if credit control is performed across several company codes. One credit control area contains credit control information for each customer.

For example, if your credit management is centralized, you can define one credit control area for all of your company codes.

If, on the other hand, your credit policy requires decentralized credit management, you can define credit control areas for each company code or each group of company codes.

Credit limits and credit exposure are managed at both credit control area and customer level. You set up credit control areas and other data related to credit management in Customizing for Financial Accounting. The implementation guide is under Enterprise Structure -> Definition or Assignment -> Financial Accounting and then Maintain credit control area. You assign customers to specific credit control areas and specify the appropriate credit limits in the customer master record.

Settings for determining the credit control area of a document. The settings of items 1 - 4 are taken into account according to their priority. The credit control area found is stored in field VBAK-KKBER.

1. Transaction OB38
Check which credit control area is assigned to the company code.
Company code:
Credit control area:

2. Transaction OVFL
Check which credit control area is assigned to the sales area.
Sales area:
Credit control area:

3. Transaction XD02 or VD02
Check which credit control area is assigned to the payer.
Payer:
Credit control area:

4. Transaction SE37
Is user exit EXIT_SAPV45K_001 being used?

5. Transaction OBZK
For the settings under items 2 - 4, field "All company codes" must be marked in Transaction
OB45, or the credit control area must be entered under the relevant company code in table
T001CM of the credit control areas allowed.
Company code:
Credit control areas allowed:

6. Settings for the credit checks

7. Transaction OVAK
Which settings do exist for the sales document type used?
Sales document:
Check credit:
Credit group:

8. Transaction OVAD
Which settings do exist for the delivery type used?
Delivery type:
Credit group for delivery:
Credit group for goods issue:

9. Transaction OB01
Credit management/Change risk category
Definition of the risk category for each credit control area. This risk category can be
assigned to a credit account by using Transaction FD32.

10. Transaction OVA8
Here, the individual credit checks for key fields
o credit control area
o risk category
o credit group are set. Take these key fields from the above settings and go to the detail
screen. In particular, check whether fields "Reaction" and "Status/block" are set
correctly. To carry out follow-up actions in case of a credit block, the credit check
status must be set (field "Status/block").

11. Transaction FD32
Credit master data for the payer of the relevant document.
Credit account:
Credit limit:
Risk category:
Currency:

12. Settings for updating the credit values Update of the credit values is required for the limit
check (static or dynamic credit limit check).

13. Transaction OVA7
Update of the credit value is active for the corresponding item type if the check box is marked. This field corresponds to
field "Active receivable" in Transaction VOV7.
Item type:
Active receivable:

14. Transaction V/08, Pricing
In the pricing procedure used for pricing, subtotal "A" must be entered in a line for
determining the credit value (mark the pricing procedure and doubleclick on "Control").
Usually, the net value plus taxes is used. This way the system is determined to use this
subtotal for credit pricing. The credit price is stored in field VBAP-CMPRE and used for
update and credit check.
You can find the used pricing procedure of the order under "Item -> Condition -> Analysis".
Pricing procedure:
Line with subtotal = 'A':

15. Transaction OB45
Which update group (field "Update") do you use in the relevant credit control area? The
default setting is "12". If you use another update group, check whether this is fine with
you. If you open an OSS message, please tell us the alternative update group.
Credit control area:
Update:

16. Transaction OMO1
Which kind of update did you choose for structure S066?
In any case, "Synchronous update (1)" has to be chosen as the kind of update.
All other settings will lead to errors.


read more...

9.07.2008

Software Legalities Part 2 - Software Escrow

Software Legalities Part 2 - Software Escrow
Source Code License

The agreement should include a license grant to the licensee in the event of release of the code, which outlines how the licensee:


may use the code (for maintenance only) and
should handle the code (keeping it confidential, etc.).

Licensor Warranties

The agreement may state that the licensor warrants that the source code deposited is the correct code and that, as deposited, it will correctly compile into the software.

Force Majeure

An escrow agreement should also contain a force majeure clause. This clause means that in the event of war, acts of God, weather and other uncontrollable forces, the parties are excused from performing. The licensee will want to exclude or limit this clause to be sure that it is not used to avoid obligations by the licensor or agent.

Indemnification and Liability Limits


The Escrow Agent will usually require that the parties indemnify the agent and that there is a liability limit on the agent's risk. Indemnification of the agent means that if any party to the agreement or third party sues the agent, the parties agree to jointly pay the costs of such litigation.

To the extent that there is an exclusion in this section for the agent's negligence or willful behavior, this is reasonable given the low income the agent receives from storage. However, these exclusions are important -- without them, there is no way for the parties themselves not to end up paying if one party has to sue the agent for loss or misuse of the code or other acts.

A liability limit for all parties to the agreement is a provision that generally protects all parties to the contract, and the agent's request is reasonable given the low income the agent receives from storage. It is important, however, to be sure that the liability limit covers at least the value of the software source code.

Conclusion
If you are a licensor, software escrow will be a necessary part of your business requested by licensees. In many circumstances, licensees do not understand the process, or why they're making the request, and sometimes some discussion of the business goals can help. For example, if there is no maintenance agreement for the software, or the software is leased through an ASP model with no time commitment for provision by the licensor, there is no reason for software escrow.

If you're a licensee purchasing expensive and vital software to be maintained and used over a long period, escrow can be very helpful. Keep in mind, though, that if the software can be recreated at a relatively low cost, or maintained or substituted by another software company, escrow may not be a logical request given the costs in time and money of the escrow and the contract.



read more...

Software Escrow ? - Complete Info.

What Is Software Escrow?

Software escrow means deposit of the software's source code into an account held by a third party escrow agent. Escrow is typically requested by a party licensing software (the "licensee"), to ensure maintenance of the software. The software source code is released to the licensee if the licensor files for bankruptcy or otherwise fails to maintain and update the software as promised in the software license agreement.

What Is Software Source Code?

Source code is the software's programming code represented in a particular programming language that humans can write and understand.

Picking an Escrow Agent

Either the licensor or licensee should pick an escrow agent. Generally, the licensor should pick and pay for the agent so that the owner of the software has the choice of which third party will be responsible for storing and handling the source code. Additionally, the licensor often will have more than one licensee request escrow, and having the same agent each time makes the record keeping and contract negotiation much simpler.

Often, licensees will allow the licensor to pick the agent if the licensor also pays the escrow fees. When picking an agent, be sure to investigate the background and financial status of the company. An agent with no assets and without substantial insurance coverage is not a good choice. The agent should have substantial resources, so that the parties to the escrow agreement may be protected in the event of the agent's negligence and ensuing litigation, or in the event of loss of the code and financial reimbursement by the agent's insurance company.

Costs of Software Escrow

Software escrow fees are typically between $1000 and $2000 per year per licensee. There is some variation based on different pricing structures. Some companies will reduce the rates for licensors who have substantial numbers of licensee deposits.

Escrow Agreement

The software escrow agreement is a three party contract that governs the procedures and terms of the escrow process between the licensor, licensee and agent. Usually, the software license agreement will contain a clause that states that the parties agree to escrow and will execute a separate agreement to cover those terms. As this agreement involves three parties, the negotiations can be more difficult than usual.

The party that chooses and pays the agent should negotiate its terms with the agent prior to bringing the third party into the negotiations. This will save time in that two of the three parties will already have agreed on the contract wording prior to the third party reviewing the agreement.

Important Terms

Procedures

The agreement should outline the procedures for the deposit and handling of the code by the licensor and agent, including what will be deposited (updates, customizations, etc.) and how often the deposits should occur. How the agent is to receive the code, and where and how it is to be stored should also be addressed.

The agreement must also define the procedures for release of the code after an event that's recognized as triggering its release. These procedures should include notice to the parties, deadlines for response and counter argument, opportunity to seek court order, and so on.

Events Triggering Release of the Code

The agreement should state what events result in release of the code to the licensee. These may include:

  • The licensor filing for bankruptcy
  • The licensor breaching the license agreement
  • The licensor failing to provide maintenance as agreed
  • The licensor going through a merger or acquisition resulting in a new licensing entity

The licensor should always try to limit the release events solely to failure to provide maintenance. If any of the other events above occur and the licensor continues to provide maintenance as agreed, there is no reason to justify release of the source code and release may cause substantial damage to the licensor in this event.





read more...