22.10.11

SAP Note 28683 - PERFORM_NOT_FOUND: VOFM routine is not active

Symptom:

During order processing, shipping, LIS, billing, and so on, a termination occurs when the system calls a VOFM routine (external perform). The system issues the following error message: PERFORM_NOT_FOUND.
This symptom can affect all users of VOFM objects.

Other terms

SDINVOFM, TFRM, TFRMT, VOFM, SAPMV80H, RV80HGEN, AKTIVIEREN_ALLE, formulas, conditions, data transport routine, copy routine, data transfer, forecast delivery schedule, JIT delivery schedule, message, message determination

Reason and Prerequisites
    1. The called routine is not included in the calling program (that is, the include line is missing in the relevant include carrier).
    2. There is no entry for this routine in the tables TFRM and TFRMT. The routine is not active and cannot be used.
    3. The relevant ABAP does not exist in the system.
Solution
    1. Start the report RV80HGEN to include the used program in the carrier include of the calling application. After you execute the report, if the program continues to terminate, proceed with the solution described in point 2.
    2. Use transaction SE38 to start the report SDINVOFM. For more information about the procedure, see the program documentation of this report.

The report SDINVOFM is delivered as of Release 3.0B. For releases lower than 3.0B, you must copy the report from SAPSERV3 using FTP. The file is called /dist/permanent/Note.0028683.

The relevant transport request is called P30K049593.





Documentation for the report SDINVOFM


The report enables you to directly create TFRM and TFRMT entries without having to detour to transaction VOFM. In particular, this procedure does NOT generate any new ABAP source code, which means that any ABAP source code that already exists will NOT be overwritten. The tables are updated ONLY once test mode has been deactivated.

The following list provides an overview of the classes that are accessible via VOFM. Here, the "SAP" column lists the name of the standard include carrier and the "Customer" column lists the name of the customer include carrier. You can use this list to find out the relevant class for a routine (see the example).


* Class SAP Customer
* -----------------------------------------------
* Copying requirements
abed lv45cnnn rv45bnnn
lbed fv50bnnn rv50bnnn
fbed lv60annn rv60bnnn
casb lv43annn rv43annn
tbed lv45tnnn rv45tnnn
* Data transports
adat fv45cnnn rv45cnnn
ldat fv50cnnn rv50cnnn
fdat fv60cnnn rv60cnnn
casc fv44annn rv44annn
tdat lv45tenn rv45tenn
vsel fv51annn rv51annn
* Text names
tnam lv70tnnn rv70tnnn
txnm fv46tnnn rv46tnnn
* Requirements
pbed lv61annn rv61annn
pbef lv61dnnn rv61dnnn
pben lv61bnnn rv61bnnn
pbek lv61cnnn rv61cnnn
pbel lv61gnnn rv61gnnn
* Batches
chbe l080mnnn r080mnnn
chrg lv01fnnn rv01fnnn
* Export requirements
exko lv52ennn rv52ennn
* Follow-on functions
fofu lv07annn rv07accc
* Formulas
pfrs fv62annn rv62annn
pfra fv63annn rv63annn
pfrm fv64annn rv64annn
prun fv13annn rv13znnn
pstk fv65annn rv65annn
* IS-OIL-DS
OICA (carrier:SAPLV61A) fv69annn rv69annn < MAP
OIAA (carrier:SAPLMBGB) fv70annn rv70annn < Exchange
* Reporting
lst1 rv77snnn rv77unnn
* VIS
mcv1 sapfmcvf rmcvunnn
mcv2 sapfmcvf rmcvunnn
mce1 sapfmcef rmceunnn
mce2 sapfmcef rmceunnn
mcf1 sapfmcff rmcfunnn
mcf2 sapfmcff rmcfunnn
mcb1 sapfmcbf rmcbunnn
mcb2 sapfmcbf rmcbunnn
* QM
mcq1 sapfmcqf rmcqunnn
mcq2 sapfmcqf rmcqunnn
mci1 sapfmcif rmciunnn
mci2 sapfmcif rmciunnn


Note: The classes for the class areas SIS and QM can be read directly from the names of the routines; for example routine FMCB1402 belongs to the class MCB1.


If you require log texts, the system outputs information about whether TFRM or TFRMT entries and the relevant ABAP exist in the system or not.

Examples:

**********************************************************************
*** Example 1 *
**********************************************************************
A customer problem contains the following error message:
PERFORM_NOT_FOUND: Program LV45C001 not found.
From the list, you determine the class ABED for LV45C001 (nnn = 001).
The program SDINVOFM is started with this class.
1. Run: The program runs in test mode
=====================================================================

Test mode is activated; Tables TFRM and TFRMT will not be updated.


Start parameters for the report SDINVOFM:
------------------------------------
Class ABED
Routine Number 1
Routines - short text
x Test mode
x Output log texts

Log texts of the report SDINVOFM:
------------------------------------

TFRM - Entry for number 001 (Class ABED) : missing.
TFRMT - Entry for number 001 (Class ABED, Language D): exists.
ABAP - Routine for number 001 (Class ABED) : exists.

Interpretation of the log:
------------------------------
Only the TFRM entry for this routine is missing (an error may have occurred during a transport).



2. Run: The Program runs in production mode.
===================================================================
Start parameters for the report SDINVOFM:
------------------------------------
Class ABED
Routine Number 1
Routines - short text
_ Test mode
_ Output log texts

If the program is started with these parameters, the TFRM entry is created for class = ABED, Routine number = 1. At the same time, you branch to the relevant VOFM detail screen for this class.
ATTENTION:
You still have to activate the routine;
Path: Edit -> Activate.

**********************************************************************
*** Example 2 *
**********************************************************************
As in example 1, but in the first run the log contains the note:

ABAP - Routine for number 001 (Class ABED) : missing.


In this case, continue with the report SDCLVOFM.

Start parameters for the report SDCLVOFM:
------------------------------------
Class ABED
x Change mode

You once again branch to the detail screen of VOFM for the class ABED.

ATTENTION:
You still have to activate the routine;
Path: Edit -> Activate all.

No comments:

Post a Comment