8.2.11

SAP Note 22189 - Forecasting: What algorithms are used

Symptom:

What algorithms are used in forecasting?

Solution

The following formulas use these abbreviations:

Consumption value in Period i: c(i)
Number of consumption values used for forecasting: p
Number of periods in one seasonal cycle: x
Initial value of Trend value: T(0)
Initial value of Basic value: B(0)
Initial values of Seasonal indices: S(0,j)

m
Mean value: M = 1/m * Sum c(i)
i=1

Determining the number of the initialization periods


Depending on the forecast model a certain minimum number of initialization periods is required to carry out the forecast. If the number of initialization periods is not specified in the material master or if the number is below the minimum number, then the minimum number of initialization periods is used:

Forecast model minimum number of initialization periods
constant model (D) 1
trend model (T) 3
saisonal model (S) one full saisonal cycle (note 65088)
saisonal trend model (X) one full saisonal cycle + 3 (note 65088)
exp.smoothing 2.nd order (B) 3

Initializing a constant model


The following procedure is used for both constant model (model 'D') and constant model with smoothing factor adjustment (model 'K').

m
B(0) = 1/m * Sum c(i) = M
i=1

In this formula m is the number of initialization periods.

Initializing a trend model


The following procedure is used for the trend model (model 'T'), for second order exponential smoothing (model 'B'), and for second order exponential smoothing with smoothing factor adjustment.

t(i) = (m-1)/2 - (i-1)

m m
T(0) = (Sum c(i) * t(i) ) / ( Sum t(i)*t(i) )
i=1 i=1

The basic value is the starting value of the new forecast. This is calculated by adding the mean plus the trend value times half the number of initialization periods.

B(0) = M + T(0) * (m-1)/2

Initializing a trend-seasonal model

The following formulas are used below

Number of complete seasons:
n = p div x

Only consumption values of complete seasonal cycles are used for initialization.
m = n * x

The trend is calculated by computing the average of all x trend values of the lines connecting corresponding periods in seperate seasonal cycles.

t(i) = x/2 - (i-1)x

x n n
T(0) = -1/x * Sum ( Sum ( c(k) * t(i) ) / Sum ( t(i) * t(i) ) )
j=1 i=1 i=1

The basic value is the starting point of the new forecast (not considering seasonal indices in the moment). It is calculated as for the trend model.

B(0) = M + T(0) * (m-1)/2

In forecasting the seasonal indices are used as a factor with which the sum of basic value and trend value is multiplied. To calculate initial values the quotient of consumption value and the sum of basic value and trendvalue is calculated. The initial values of the seasonal indices are calculated by computing the mean of corresponding such quotients.

n
S(0,j) = 1/n * Sum ( c(k) / ( B(0) + T(0)*l ) )
i=1

Index k is calculated the following way: k = (i-1)*x+j
Factor l is calculated the following way: l = (n+1-i)*x-j


Example:

Consumption values: 112, 115, 124, 177, 112, 101, 185, 202
p = 8, x = 4, n = 2, m = 8, M = 141

T(0) = - 1/4 * ( (112*2 + 112*(-2)) / (4 + 4)
+ (115*2 + 101*(-2)) / (4 + 4)
+ (124*2 + 185*(-2)) / (4 + 4)
+ (177*2 + 202*(-2)) / (4 + 4) ) = 4.5

B(0) = 141 + 4.5*7/2 = 156.75

S(0,1) = 1/2 * ( 112/(156.75 + 4.5*(-7)) + 112/(156.75 + 4.5*(-3)))
= 0.838

S(0,2) = 1/2 * ( 115/(156.75 + 4.5*(-6)) + 101/(156.75 + 4.5*(-2)))
= 0.784

S(0,3) = 1/2 * ( 124/(156.75 + 4.5*(-5)) + 185/(156.75 + 4.5*(-1)))
= 1.069

S(0,4) = 1/2 * ( 177/(156.75 + 4.5*(-4)) + 202/(156.75 + 4.5*0))
= 1.282


Forecast periods for periods 9, 10, and 11.

c(9) = ( 156.75 + 4.5 ) * 0.838 = 135
c(10) = ( 156.75 + 4.5*2) * 0.784 = 130
c(11) = ( 156.75 + 4.5*3) * 1.069 = 182

SAP Note 22186 - Master DBWR loops (OSF/1 / ORACLE 7.1.4/7.1.6)

Symptom:

This note is only relevant for OSF/1 with ORACLE 7.1.4 or 7.1.6 !
=================================================================

Master Database Writer ora_dbwr_ loops!
As a result a Recovery might not be finished!

Cause and prerequisites

The database was started with several Database Writers.

Solution
Change init.ora: db_writers = 1

or

import patch from sapserv3 or sapserv4

sapserv3:
ORACLE 7.1.4: dist/permanent/ORACLE/bug282553
ORACLE 7.1.6: dist/permanent/ORACLE/bug287202

saperv4:
ORACLE 7.1.4: dist/ORACLE/DEC_UNIX/bug282553
ORACLE 7.1.6: dist/ORACLE/DEC_UNIX/bug287202

The installation instructions can be found in the README file.

SAP Note 22171 - SM58: Entries cannot be deleted

Symptom:

1.) Transaction SM58 shows entries with status "Transaction being executed".
2.) Entries are seen in Status 'Transaction was recorded' in SM58. Additionally, CALL_FUNCTION_SIGNON_REJECTED dumps were logged in the syslog.

Cause and prerequisites

Termination of the send program (rollout failed, mode terminated, etc.) Logging is not possible afterwards.

Solution
For 1.)
SM58: Menu options 'Edit->Reset LUW' 'Edit->Execute function module'. If the transaction has been executed already, logging is completed and the entry is deleted.
For 2.)
If you use User SAP*, create it first.
There is no defalut user master record for this user.
See also Problem Note 13347.
Symptom:

When running the program for copying number range intervals into other company codes, you receive the message
"CoCode XXXX: Copying not possible since intervals already exists".
You can, however, create the number range for the target company code manually.

Cause and prerequisites

The program only copies a document number range if a number range does not exist yet in the target company code for the fiscal year. This is exactly what the documentation for program RFNRIV10 states.

Solution
The functionality of the program has been enhanced for Release 3.0A or 2.2F. As a result, the program copies all number ranges that you could also insert by means of manual maintenance.
Interim correction for 2.2* or 3.0FCS possible:
1) SE38
Program "RFNRIV10" - change text elements
Change numbered texts
Please create the following texts:
100 Interval was copied
110 Interval cannot be copied
200 Target company code
UE1 No Year Result Explanation
No. of blanks: 1 2 24

2) SE38
Program "RFNRIV10" - change source text
report rfnriv10 message-id fc
no standard page heading
line-size 85. <-- DELETE line-size 132. <-- INSERT ... ... tables: bhdgd, nriv, t001. <-- DELETE t001, <-- INSERT t100. <-- INSERT ... ... *------ Schleife über alle Zielbuchungskreise ------------------------- LOOP AT BUK_TAB. <-- Delete all lines SUBOBJECT = BUK_TAB-BUKRS. <-- all the way to the CLEAR NRIV_NACH. <-- end of the program! REFRESH NRIV_NACH. <-- (approx. 95 lines) ... loop at buk_tab. <-- Replace them by the <-- following lines *------ Zielbuchungskreis ausgeben ------------------------------------ at new bukrs. format color col_group intensified off. write: / sy-vline no-gap, (25) text-200 no-gap color col_group intensified, buk_tab-bukrs, 132 sy-vline. endat. *------ Nummernkreisintervalle für Zielbuchungskreis verändern -------- format color col_normal intensified off. loop at nriv_von where subobject = von_buk. clear nriv_nach. refresh nriv_nach. move-corresponding nriv_von to nriv_nach. nriv_nach-subobject = buk_tab-bukrs. clear nriv_nach-nrlevel. nriv_nach-procind = 'I'. append nriv_nach. *------ Nummernkreisintervall in Zielbuchungskreis einfügen ----------- call function 'NUMBER_RANGE_INTERVAL_UPDATE' exporting object = object importing error = error error_occured = xerror warning_occured = xwarning tables error_iv = error_tab interval = nriv_nach exceptions others = 1. if sy-subrc = 1. message id sy-msgid type 'A' number sy-msgno with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. endif. read table nriv_nach index 1. if sy-subrc <> 0.
message a080 with 'RFNRIV10' 'READ NRIV_NACH'.
endif.

*------ Meldung ausgeben, ob Einfügen des Intervalls erfolgreich war --
if xerror = 'X'.
format color col_negative intensified off.
write: / sy-vline no-gap,
2 nriv_nach-nrrangenr,
5 nriv_nach-toyear,
11(30) text-110.
select single * from t100 where sprsl = sy-langu
and arbgb = 'NR'
and msgnr = error-msgnr.
if sy-subrc = 0.
write 43(89) t100-text.
endif.
write: 132 sy-vline.
else.
format color col_normal intensified off.
write: / sy-vline no-gap,
2 nriv_nach-nrrangenr,
5 nriv_nach-toyear,
11(30) text-100,
132 sy-vline.
endif.
endloop.

*------ ULINE am Ende jedes Zielbuchungskreises ausgeben --------------
at end of bukrs.
write: sy-uline.
endat.
endloop.

*------ Nummernkreisänderungen auf der Datenbank sichern --------------
call function 'NUMBER_RANGE_UPDATE_CLOSE'
exporting object = object
exceptions no_changes_made = 1
others = 2.
case sy-subrc.
when 0.
when 1.
when others.
message id sy-msgid type 'A' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endcase.

*------ Nummernkreisobjekt 'RF_BELEG' entsperren ----------------------
call function 'NUMBER_RANGE_DEQUEUE'
exporting object = object
exceptions others = 1.
if sy-subrc = 1.
message id sy-msgid type 'A' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.


***********************************************************************
* TOP-OF-PAGE *
***********************************************************************
top-of-page.
format color col_background intensified off.
perform batch-heading(rsbtchh0).
format color col_heading intensified.
skip.
uline.
write: sy-vline no-gap,
(60) text-ue1,
132 sy-vline.
uline.

SAP Note 22152 - RFNRIV10 - copying not possible

Symptom:

When running the program for copying number range intervals into other company codes, you receive the message
"CoCode XXXX: Copying not possible since intervals already exists".
You can, however, create the number range for the target company code manually.

Cause and prerequisites

The program only copies a document number range if a number range does not exist yet in the target company code for the fiscal year. This is exactly what the documentation for program RFNRIV10 states.

Solution
The functionality of the program has been enhanced for Release 3.0A or 2.2F. As a result, the program copies all number ranges that you could also insert by means of manual maintenance.
Interim correction for 2.2* or 3.0FCS possible:
1) SE38
Program "RFNRIV10" - change text elements
Change numbered texts
Please create the following texts:
100 Interval was copied
110 Interval cannot be copied
200 Target company code
UE1 No Year Result Explanation
No. of blanks: 1 2 24

2) SE38
Program "RFNRIV10" - change source text
report rfnriv10 message-id fc
no standard page heading
line-size 85. <-- DELETE
line-size 132. <-- INSERT
...
...
tables: bhdgd,
nriv,
t001. <-- DELETE
t001, <-- INSERT
t100. <-- INSERT
...
...
*------ Schleife über alle Zielbuchungskreise -------------------------
LOOP AT BUK_TAB. <-- Delete all lines
SUBOBJECT = BUK_TAB-BUKRS. <-- all the way to the
CLEAR NRIV_NACH. <-- end of the program!
REFRESH NRIV_NACH. <-- (approx. 95 lines)
...


loop at buk_tab. <-- Replace them by the
<-- following lines *------ Zielbuchungskreis ausgeben ------------------------------------
at new bukrs.
format color col_group intensified off.
write: / sy-vline no-gap,
(25) text-200 no-gap color col_group intensified,
buk_tab-bukrs,
132 sy-vline.
endat.

*------ Nummernkreisintervalle für Zielbuchungskreis verändern --------
format color col_normal intensified off.
loop at nriv_von where subobject = von_buk.
clear nriv_nach.
refresh nriv_nach.
move-corresponding nriv_von to nriv_nach.
nriv_nach-subobject = buk_tab-bukrs.
clear nriv_nach-nrlevel.
nriv_nach-procind = 'I'.
append nriv_nach.

*------ Nummernkreisintervall in Zielbuchungskreis einfügen -----------
call function 'NUMBER_RANGE_INTERVAL_UPDATE'
exporting object = object
importing error = error
error_occured = xerror
warning_occured = xwarning
tables error_iv = error_tab
interval = nriv_nach
exceptions others = 1.
if sy-subrc = 1.
message id sy-msgid type 'A' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
read table nriv_nach index 1.
if sy-subrc <> 0.
message a080 with 'RFNRIV10' 'READ NRIV_NACH'.
endif.

*------ Meldung ausgeben, ob Einfügen des Intervalls erfolgreich war --
if xerror = 'X'.
format color col_negative intensified off.
write: / sy-vline no-gap,
2 nriv_nach-nrrangenr,
5 nriv_nach-toyear,
11(30) text-110.
select single * from t100 where sprsl = sy-langu
and arbgb = 'NR'
and msgnr = error-msgnr.
if sy-subrc = 0.
write 43(89) t100-text.
endif.
write: 132 sy-vline.
else.
format color col_normal intensified off.
write: / sy-vline no-gap,
2 nriv_nach-nrrangenr,
5 nriv_nach-toyear,
11(30) text-100,
132 sy-vline.
endif.
endloop.

*------ ULINE am Ende jedes Zielbuchungskreises ausgeben --------------
at end of bukrs.
write: sy-uline.
endat.
endloop.

*------ Nummernkreisänderungen auf der Datenbank sichern --------------
call function 'NUMBER_RANGE_UPDATE_CLOSE'
exporting object = object
exceptions no_changes_made = 1
others = 2.
case sy-subrc.
when 0.
when 1.
when others.
message id sy-msgid type 'A' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endcase.

*------ Nummernkreisobjekt 'RF_BELEG' entsperren ----------------------
call function 'NUMBER_RANGE_DEQUEUE'
exporting object = object
exceptions others = 1.
if sy-subrc = 1.
message id sy-msgid type 'A' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.


***********************************************************************
* TOP-OF-PAGE *
***********************************************************************
top-of-page.
format color col_background intensified off.
perform batch-heading(rsbtchh0).
format color col_heading intensified.
skip.
uline.
write: sy-vline no-gap,
(60) text-ue1,
132 sy-vline.
uline.

SAP Note 22142 - Requisitions: Allow only 99 account assignment items

Symptom:

In the case of requisitions with multiple account assignment, more than 99 account assignment items were opened without their actually being added. All account assignments above 99 were written over the first account assignment items that were entered.

Cause and prerequisites

Missing query re number of account assignment items before further account assignment item lines were opened.

Solution

Correction in MM06BFBC.

...

*----------------------------------------------------------------------*
* Kontierungstabelle lesen
* Eintrag wird in EBKN (Loopzeile) uebertragen.
*----------------------------------------------------------------------*
form bsc_lesen_loop.
k-lopind = sy-loopc.
k-aktind = k-aktind + 1.
if k-aktind <= k-maxind.
read table bsc index k-aktind.
if sy-subrc eq 0.
move-corresponding bsc to ebkn.
k-pagind = k-pagind + 1.
case eban-vrtkz.
when '1'.
rm06b-mkntm = ebkn-menge.
when '2'.
rm06b-mkntm = ebkn-vproz.
*.........100% bei Dienstleistung
if eban-pstyp eq pstyp-dien and ebkn-menge eq 1000.
rm06b-mkntm = ebkn-menge.
endif.
when others.
rm06b-mkntm = ebkn-menge.
endcase.
endif.
else.
k-aktind = k-aktind - 1.
if trtyp = anz or t160-vorga eq frgb
or ebknpo_help eq 99. ---> insert S11K135475
exit from step-loop.
else.
ebknpo_help = ebknpo_help + 1.
ebkn-zebkn = ebknpo_help.
ebkn-sakto = h-sakto.
rm06b-ergkz = need_full. "Kontierungsblock erforderlich
endif.
endif.

endform.

*eject
*----------------------------------------------------------------------*
* Kontierung loeschen *
*----------------------------------------------------------------------*
...

SAP Note 22133 - Transfer of inspection catalogs

Symptom:

Transfer of inspection catalogs between systems

Cause and prerequisites

Transfer of inspection catalogs between systems

Solution

To transfer inspection catalogs, you have to include the tables concerning the inspection catalogs into a command file and to transfer those.
This applies to the following tables: QPGR und QPGT for code groups
QPCD und QPCT for codes
QPAM for selection quantities
QPAC for codes for the selection quantityNote:

  • Possibly existing long texts are not considered in this case.
  • If you want to transport inspection catalogs with long texts, you should contact your consultant.



SAP Note 22128 - Request ID's not visible in onarchive

Symptom:

Archive or backup requests started from the planning calendar (transaction DB13) are not visible in onarchive.

Cause and prerequisites

The tool onarchive was not started as user 'adm'.

Solution
Start onarchive as user 'adm'
or
use the '/USER' quailifier in the "LIST/REQUEST" statement.

Example:
========
Onarchive> LIST/REQUEST=*/USER=* # requests of all users
Onarchive> LIST/REQUEST=*/USER=qi5adm # requests of user qi5adm

Additional key words

DB13, CCMS, onarchive

SAP Note 22124 - Problems when exporting to application server

Symptom:

There are several peculiarities associated with exporting reports to an application server.

Cause and prerequisites

The export to an application server uses a different interface than the export to a presentation server (PC). Several possible consequences are described below.

Solution
    1. When you export in table format, no texts except the line texts (e.g. no column headers, footers, headers, title page, last page) are exported. This is only supported for an export in text format.
    2. Report lines to be exported are always appended to existing files up to and including Release 3.0E. Use the following, simple ABAP/4 program to delete the contents of export files:
    PROGRAM Z...
    PARAMETERS: OUT_FILE LIKE LGRWO-OUT_FILE.
    OPEN DATASET OUT_FILE IN TEXT MODE.
    CLOSE DATASET OUT_FILE.
    The program can be run either online or in the background. By means of this program, for example, you can in a first step of the background processing initialize the files required in the subsequent steps.
    3. In contrast to an export to the presentation server (PC), an export to an application server can also be performed in the background.

Additional key words

REPORTWRITER, REPORTPAINTER, DOWNLOAD, title page, headers, report texts, export file


SAP Note 22115 - SAPSQL_ARRAY_INSERT_DUPREC in prg.SAPLBSVU

Symptom:

When you make a posting with account assignment to a WBS element, an update termination occurs in status management.
This problem mostly occurs in summarized or mass postings (FB01).

Cause and prerequisites

You are making several postings in the same transaction to the same WBS element. This might, for example, be the first actual posting to the object. This triggers the setting of an internal (system) status in the function module which checks account assignment for WBS elements. When the system comes to the insert in updating, it finds that this status has already been set by an earlier line item.

Solution
The defective log records cannot be posted to, as the internal reference to the status change insert cannot be corrected manually. This means that you will have to post all the defective records again.
To avoid a recurrence of this problem for future postings, make the correction shown below::


'PS_STAT_CHANGE'

Import-Parameter neu aufnehmen:
I_MODE RCWBS-SEL01 SPACE

...
IF I_MODE IS INITIAL. <=== insert
CALL FUNCTION 'STATUS_CHANGE_FOR_ACTIVITY'
EXPORTING
CHECK_ONLY = CON_YES
OBJNR = PRPS-OBJNR
VRGNG = I_VRGNG
IMPORTING
ACTIVITY_NOT_ALLOWED = ERROR_FOUND
ERROR_OCCURRED = ERROR_FOUND
OBJECT_NOT_FOUND = ERROR_FOUND
STATUS_INCONSISTENT = ERROR_FOUND
STATUS_NOT_ALLOWED = ERROR_FOUND
EXCEPTIONS
ACTIVITY_NOT_ALLOWED = 01
OBJECT_NOT_FOUND = 02
STATUS_INCONSISTENT = 03
STATUS_NOT_ALLOWED = 04
WRONG_INPUT = 05.
IF NOT ERROR_FOUND IS INITIAL OR NOT SY-SUBRC IS INITIAL.
RAISE WRONG_ACTIVITY.
ENDIF.
ENDIF. <=== insert
...
DESCRIBE TABLE LOC_STAT LINES SY-TFILL.
CHECK NOT SY-TFILL IS INITIAL.
IF I_MODE IS INITIAL. "Dialog oder Verbuchung<==insert
CALL FUNCTION 'STATUS_CHANGE_INTERN'
EXPORTING
OBJNR = PRPS-OBJNR
TABLES
STATUS = LOC_STAT.
ELSE. <=== insert
CALL FUNCTION 'STATUS_CHANGE_INTERN_VB' IN UPDATE TASK <===insert
EXPORTING <=== insert
OBJNR = PRPS-OBJNR <=== insert
TABLES <=== insert
STATUS = LOC_STAT. <=== insert
ENDIF. <=== insert
ENDFUNCTION.

-----------------------------------------------------------------

'CJPN_PROJECT_ACCOUNT'

...
* allgemeine Statusverwaltung
...
CASE SY-SUBRC.
WHEN 0.
IF ERROR_OCCURRED IS INITIAL AND CHANGE_STATUS EQ CON_YES.
* CALL FUNCTION 'STATUS_CHANGE_FOR_ACTIVITY' <=== delete
* EXPORTING <=== delete
* OBJNR = PRPS-OBJNR <=== delete
* VRGNG = ACTIVITY <=== delete
* ZEILE = LOC_ZEILE. <=== delete
CALL FUNCTION 'PS_STAT_CHANGE'
EXPORTING
I_MODE = CON_YES <=== insert
I_KATYP = KATYP
I_OBJNR = PRPS-OBJNR
I_VRGNG = ACTIVITY.
ENDIF.
...

SAP Note 22112 - SAPcomm: Program scmcfgcc - error SC001

Symptom:

SAPcomm, error when compiling/checking the configuration file.
Error message of program scmcfgcc: SC001: Parameter required: TO-CHANNEL

Cause and prerequisites

Error in the SAPcomm configuration file:
For one or more of the SERVICE parameter sets in the ROUTING parameters, no default channel was entered (SAPcomm manual, section "Parameter Set ROUTING").

Solution
Correct the SAPcomm configuration file.

SAP Note 22102 - Optimizing the runtimes of reports

Symptom:

A report has a very long runtime. The report terminates online with TIME_OUT.

Cause and prerequisites

Please check the options below for optimizing the performance of a report.

Solution
    1. The "Form printout" flag is set in the layout parameters of the report. In this case, Report Writer internally generates records with zero values for all relevant characteristic combinations, and then processes these records. As a result, accounts that were not posted to are also identified in the report, for example.

    The number of such records can become quite large, increasing the runtime of the report accordingly. This is particularly the case when active variation of selection is involved. Starting in Release 2.2, the additional time required for form printout will be listed separately in the selection log.
    2. When constructing a report, Report Writer processes every data record that is read for every line and column set. Define the report in such a way that as few line and column blocks as possible are used. Whenever possible, use the set hierarchy to form totals.
    3. When possible, use value intervals in large line sets, instead of listing individual values. Report Writer attempts to locate the characteristic values in the corresponding sets for every data record it reads. This search is much faster when intervals are used. If your report uses large line sets, please also see Note 20941 (valid for Release 2.0*, 2.1A through 2.1J, and 2.2A through 2.2D).

    Please note that value intervals for report lines are not expanded during form printout.
    4. Use the "General selection" section of the report ("Data selection" in releases up to and including Release 2.2) to define all the global, constant selection conditions. Every data record that is read will then only have to be checked for this condition once.
    5. Whenever possible, suppress undesired summation levels by specifying detail levels in the report definition, not by using summation levels. When detail levels are used, Report Writer only creates the lines that are actually to be output. In contrast, summation levelsare not taken into account until the report is output, and Report Writer has to create all the report lines internally. When a large percentage of lines is suppressed using summation levels, this can lead to long run times, especially when active variation of selection is involved.
    Therefore, only use the summation levels when you want to change them interactively during report output.

    Avoid the use of suppression indicators in sets when you can achieve the same effect by setting the detail level in the report.
    6. If you regularly execute several reports that read and process the same data, more or less, it is often effective to group these reports together in a report group. In this case, the data is only read once, and is then processed for all the reports.

Additional key words

Performance, TIME_OUT, runtime
----- SUPPORTGUIDE 20010411140028 -----
REPORTWRITER, SGRW_FORMPRINT, SGRW_PERFORMANCE, SGRW_PERF_SEL SGRW_PERFORMANCE, SGRW_PERF_EDITION SGRW_PERFORMANCE, SGRW_MESSAGE, SGRW_DOCU_CONS_NOTE
SGRW_OM SGRW_PS SGRW_PC SGRW_SL SGRW_PCA SGRW_EC SGRW_LIS



6.2.11

SAP Note 22099 - "maximum number of connected terminals reached"

Symptom:

When a user tries to log on to the SAP System, an error message is issued:
"Maximum number of connected terminals reached"

Cause and prerequisites

The maximum number of connections per instance is determined by parameter rdisp/tm_max_no (default setting: 200). When this number is reached, no further logons are possible.

Solution
The parameter must be increased. This can be done without any problems because it requires only little more ressources. After restarting the instance the parameter becomes active.
Note:
If you do not log off properly (for example, switching off the PC without logging off), the connection is retained until it is exited because of a timeout (see note 27320). As a result, the number of open connections may be greater than the number of users logged on to the system.

SAP Note 22091 - Inactive 'Save' function in planning table

Symptom:

The 'Save' icon in the planning table is inactive.

Cause and prerequisites

In the planning table, you cannot save several times due to the fact that the internal management of the orders would lead to discrepancies.

Solution
As a temporary solution it is possible to save the planning results only once in the planning table. For this reason, a popup is displayed when exiting the planning table with 'Exit' where you can enter whether the results are to be saved or not.
As of Release 3.0B, the 'Save' icon will be activated again.

SAP Note 22079 - CONNE_IMPORT_WRONG_COMP_TYPE / INT_GLU1

Symptom:

Update termination SAPLGLIN -> SAPLGLIV with the message "ABAP/4 runtime error CONNE_IMPORT_WRONG_TYPE'.
Alternatvie key words: CONNE_IMPORT_WRONG_COMP_LENG

Cause and prerequisites

A new GLX table has been installed or an existing table has been changed while posting was still occurring in the system.

Solution
Execute a /$SYNC in online system and on the server where the update task is running.

SAP Note 22078 - Print billing document: suppress batch split item

Symptom:

I don't want to have batch split items printed in the billing document when the billing document quantity of the batch split item is 0.

Cause and prerequisites

Modification

Solution
Prerequisite: Billing document quantity "G" must be set for the corresponding entry in the copy control table for billing documents (TVCPF). This setting will cause the billing document quantity to be displayed in the main item.


Change user exit V05NZZRP:

IF NOT VBRP-UECHA IS INITIAL AND VBRP-NETWR IS INITIAL. "insert
EXIT. "insert
ENDIF. "insert

MOVE-CORRESPONDING VBRP TO VBDPRZ.
MOVE-CORRESPONDING VBDPRZ TO LVBDPR.

SAP Note 22077 - Depreciation calculation: cutoff/scrap value ignored

Symptom:

If a cut-off value or scrap value has been defined for an asset, either through specification in the master record or through a cut-off value key in the depreciation key, this value is ignored when the depreciation is calculated.

( ) Depreciation simulation, RASIMU01, Recalculate depreciation, AW01

Cause and prerequisites

Negative acquisition and production costs (APC) are allowed in the asset class. As a result, cut-off values or scrap values are senseless, and are therefore not included in the depreciation calculations.
Negative ACP costs should normally only be allowed for assets under construction.

Solution
Reset the "Negative ACP allowed" flag in the asset class. This will prevent this effect for future assets in the affected class.
For existing assets, use ABAP means to set field ANLB-XNEGA to the initial value (SPACE).
If necessary, recalculate the depreciation values (AS02 -> Recalculate values -> Save).

SAP Note 22067 - Zero stock check w/many transfer orders for bin

Symptom:\

Key word: Zero stock check
If several transfer orders exist for one storage bin, the zero check is not activated for the transfer order that emptied the bin. The same applies for transfer orders with several items for the bin.

Cause and prerequisites

The system cannot activate the zero stock check when several transfer orders exist for the same storage bin, since there is no way to guarantee that the physical removals from the bin will take place in the same sequence that the transfer orders were created. Example: there are two transfer orders for a bin, and a newly created order empties the bin. The withdrawal with the 3rd order takes place before the 2nd, however. The picking routine would consider the bin to be "not empty" and would report it as so.

Solution
While the system does not activate the zero stock check, you can report the bin as empty by using the manual zero stock check.

SAP Note 22061 - Drill-down reporting (CO-PA only): KH807 or KH808

Symptom:

When you run a report (transaction KE30 or from the report definition KE31, KE32), message KH807 or KH808 is issued:
"You cannot run this report for these characteristics (long text)"

Cause and prerequisites

The cause is described in the long text of the error message: No summarization data exists yet for this combination of characteristics.
During the report definition, someone used menu item "Details -> Summarization data" to define that this report cannot be run when no summarization data exists for the current combination of characteristics (or this was the default setting).
The configuration made in the report definition is: Response if no summarization data: error message.

Solution

Either proceed as described in the long text of the error message, or, alternatively, change the report definition:
The option of changing the report definition should only be considered when a test report is involved for which you want to construct the summarization data online, or if only a small report is involved that would not require too much CPU time for online processing.

Changing the report definition:
Use transaction KE32 to call up the report definition. From there, select "Details -> Summarization data" to call up the dialog box "Summarization data" and change the system response when no data exists to a warning. Save the report definition and run the report again. A dialog box appears indicating that no summarization data exists yet, and asks whether you want to run the report anyway. If you respond with "Yes", the report will be run and the summarization data will be constructed online.
You can now also do away with the summarization data completely. In this case, this selection must be deactivated in the "Summarization data" screen. Save the report definition. Running the report will now cause the report list to appear without the summarization data.
The other alternatives from the long text of the error message are also listed here:
If the report is new, then no summarization data exists for this report at all. Someone from application support should run the report in the background for the characteristics you require (menu option "Report data" in the configuration menu).
Furthermore, no summarization data may exist yet for the selected combination of characteristics because the combination you selected was not included in the data. In this case, maintain the combination in the variable group you used and run the report in the background using menu option "Print/actualize". For more information, please contact your application support staff.

SAP Note 22060 - Drill-down reporting: KH408/KH125 during XXL export

Symptom:

Drill-down reporting: Error message KH408 or KH125 when you try to export a report to XXL.

Cause and prerequisites

Possible cause: the report in question has too many columns (e.g. the overview list (drill-down list in 3.0) has too many columns). The Excel List Viewer can only display 256 columns and 16384 lines.

Solution
Change the definition of the overview list so that it generates fewer columns. In 2.2: in the report definition screens, change the values for "Columns for the overview list" and "Lines for the overview list." In 3.0, change the definition of the drill-down list in the layout set.
The exact formula for data transferred by the application:
26 + # of data columns + 5 * ( 1 + # of characteristics ) < 256.

SAP Note 22053 - Verwendung von Dateien im TEXT MODE

Symptom:

Die in einem ABAP-Report spezifizierte Datei soll in der Form verwendet werden, als ob sie in Zeilen aufgebaut ist. D.h. mehrere Datensätze sollen nicht als ein einziger Datenstrom behandelt werden.

Weitere Begriffe
Ursache und Voraussetzungen

Unterschiede zwischen R/2 und R/3.

Lösung
Umformatierung auf UNIX Ebene oder Anpassung der betroffenen Reports.
Diese besteht grundsätzlich darin, daß die Datei im TEXT MODE eröffnet werden muß. Außerdem ist beim TRANSFER der Daten die Länge des Datensatzes anzugeben.
Bitte beachten Sie die mit "<<<===============" markierten Stellen im Source-Coding.

Themenkreis: Erstattungsanträge gem. Entgeltfortzahlungsgesetz
Betroff. Member: RPCEFRA0
Routine: INIT_DTA

FORM INIT_DTA.

...
...
* Datei eroeffnen
OPEN DATASET DTASET FOR OUTPUT "<<<============================
IN TEXT MODE. "<<<============================

CHECK: SY-SUBRC <> 0. "Fehler aufgetreten?

...
...
ENDFORM.


Routine: CREATE_DATASET

FORM CREATE_DATASET.

PERFORM FILL_RECORD. "Datensatz fuellen

TRANSFER REC TO DTASET "Ausgabe des <<<===============
LENGTH REC_LEN "Datensatzes <<<===============
ENDFORM.
Routine: CLOSE_DATASET

FORM CLOSE_DATASET.

...
...

TRANSFER FIN TO DTASET "<<<============================
LENGTH FIN_LEN. "<<<============================

...
...
ENDFORM.


Betroff. Member: RPCEFTA0

...
...
RES3(14), "Reserve
END OF REC,
*
REC_LEN TYPE I, "Satzlänge von REC <<<=========
FIN_LEN TYPE I, "Satzlänge von FIN <<<=========
*
* letzter Datensatz des Datenbestandes
*
BEGIN OF FIN,
SART(2) VALUE 'E9', "Satzart
...
...


Betroff. Member: RPCEFCA0
Routine: SET_START_VALUES

FORM SET_START_VALUES.

...
...

DESCRIBE FIELD: MODI LENGTH MODI_LEN,"Feldlaengen <<<===============
REC LENGTH REC_LEN, "bestimmen <<<===============
FIN LENGTH FIN_LEN. " <<<===============

...
...
ENDFORM.
Themenkreis: Lohnzettel L16
Betroff. Member: RPC16CA0
Routine: INIT_DTA

FORM INIT_DTA.

...
...
* Datei eroeffnen
OPEN DATASET DTAFILE FOR OUTPUT "<<<============================
IN TEXT MODE. "<<<============================

CHECK: SY-SUBRC <> 0. "Fehler aufgetreten?

...
...
ENDFORM.


Betroff. Member: RPC16LA0
Routine: FILL_INFO_DTA

FORM FILL_INFO_DTA.

...
...

TRANSFER INF TO DTAFILE "Ausgabe des <<<===============
LENGTH INF_LEN. "Datensatzes <<<===============

...
...
ENDFORM.


Routine: WRITE_DTA

FORM WRITE_DTA.

TRANSFER DTA TO DTAFILE "Ausgabe des <<<===============
LENGTH DTA_LEN. "Datensatzes <<<===============

CHECK: NOT P/PRIREC IS INITIAL. "Kontrollausgabe erwuenscht?

REC = DTA. "Daten uebernehmen
APPEND REC. "und archivieren
ENDFORM.
Betroff. Member: RPC16DA0

...
...
NUSED(76), "not used yet
END OF DTA,
*
DTA_LEN TYPE I, "Satzlaenge von DTA <<<=========
INF_LEN TYPE I, "Satzlaenge von INF <<<=========
*
* Informationssatz
*
BEGIN OF INF,
INFID LIKE DTASET-INFID, "Satzart
...
...


Betroff. Member: RPCL16A2
Routine: INIT_VALUES

FORM INIT_VALUES.

...
...

* Anzahl der Lohnarten bestimmen, welche auf Lohnzettel ausge-
* geben werden muessen
* Laenge der Datensaetze ermitteln
DESCRIBE: TABLE LGPOS LINES LGART_NUMS, "<<<=======================
FIELD DTA LENGTH DTA_LEN, "<<<=======================
FIELD INF LENGTH INF_LEN. "<<<=======================

...
...
ENDFORM.

SAP Note 22048 - Error F0207 during payment proposal processing

Symptom:

Key words: F110, FBZ0, F0207, FBZP.
Although the payment proposal list includes a combination of the payer and sender company code, error message F0207 is issued for this combination when you attempt to branch to payment proposal processing:

Sending company code xxxx does not occur in combination with yyyy

Cause and prerequisites

Accounts payable has been changed in the company organization: the assignment of the invoice company code to the payer company codes in table T042 (configuration of payment program, all company codes) has been changed.
Furthermore, the parameters of the payment run were copied from an old payment run (e.g. from the time before the change). This causes the inconsistency described above.

Solution

You can use transaction FBZ0 to process the payment proposal for the involved payment run.

For future payment runs, please create a new copy template. You cannot use the old runs to copy from.

Note
The above situation will probably only occur during test operations or only once after the payment reorganization is changed, and therefore does not pose any serious problems to regular day-to-day operations.

SAP Note 22044 - Breakpoint ignored in system programs

Symptom:

A dynamically set breakpoint is ignored in a system program (e.g. in a logical database).

Cause and prerequisites

System programs are blocked against debugging.

Solution

The indicator "System program" means that such a program cannot be displayed in debugging mode, in order to avoid bothering the enduser with unknown coding.

To debug a system program, either

    • reset the attribute in SE38/Attributes
    • Activate the "System debugging" flag in ABAP/4 debugging.

SAP Note 22043 - Proposed quantities not always whole numbers

Symptom:

Goods movements (and reservations) of a material can be proposed and entered with decimal places even when the quantity has a unit of measure that is restricted to whole numbers (for example, a piece).
This applies, for example, to goods withdrawals for a reservation or for a production order, or backflushing for a goods movement for provision of material for a subcontractor order, when the quantity is not counted in whole pieces.

Other terms

MB01, T006

Reason and Prerequisites

Works as designed. This procedure ensures that, for partial withdrawals, the percentage of the costs is correctly charged.
Example:
If 1 PC of a material is used to produce 10 KG of a material, then an inwards goods movement of 1 kg of the produced materials will cause 0.1 PC of the material to be charged.

Solution
If you want to post the goods movements in whole numbers only, correct the proposed withdrawal quantities when you enter the goods movement.

SAP Note 22031 - Patch CD CD5001 2232 ORACLE Kernel Performance

Symptom:

Inquiry on how to import the patch CD.

Cause and prerequisites

Problem of unclarity: can the patch CD also be used for releases 22D and 22D+?

Solution
CD 5001 2232 ORACLE Kernel Performance Improvements contains complete kernels for the following R/3 releases:

2.1F, 2.1G, 2.1I, 2.2A, and 2.2C with the ORACLE database.

If you use releases

2.2D or 2.2D+ ,
carry out the "Configuration for optimal buffering" actions as described in the guidelines. This buffering is NOT dependent on the operating system.

SAP Note 22026 - Duplicate database background processes/ORA7429

Symptom:

The symptom can be expressed in two ways.
- Duplicate database background processes (example):
Check: ps -ef | grep smon
c11adm 4507 1 0 Jun 4 ? 4:49 ora_smon_C11
orac11 4711 1 0 Jun 4 ? 4:49 ora_smon_C11
oras11 28837 26255 4 13:50:43 ttypb 0:00 grep smon
- ORA7429 smsgsg: shmget() failed to get segment
when connecting to the database

Cause and prerequisites

Linked ORACLE_HOME (example)
cd /oracle
ls -al
lrwxrwxrwx 1 root other 12 Jun 07 15:05 C11 -> /usr/ora/C11

Solution
Dissolve the link (most effective solution)
- or -
ORACLE_HOME must be configured the same, system-wide, in all environments.

SAP Note 22022 - Missing entries in subschema ET00

Symptom:

(Diferencia de categorias)
PRINT NP ALP
PALP X012 GEN
PIT XALP NOAB
PITX 0009 GEN NOAB

Cause and prerequisites

Missing entries.

Solution Add the entries to ET00 and ET0D (The ones marked in this column ->-NEW!
----
P2010 X930 GEN NOAB Tratamiento infotipo 2010
PRINT NP ALP Tabla para el pago de diferencias X
PALP X012 GEN BWGRL's para el pago de diferencias X
PIT XALP NOAB BWGRL superiores + suplementos + Primas X
ZLIT AMS Unload ZL a IT
P0083 Compensación económica de vacaciones
PIT X015 GEN NOAB Evaluación de CC-nominas tiempos
PIT X009 GEN NOAB Eliminar BWGRL's con split ALP X
COPY XIW0 * Tratamiento incentivos
PIT E020 P03 Almacenamiento en Bruto, Collect en RT
EDSS0 Cálculo Días Seguridad Social/Cotización

SAP Note 22006 - ME21 ME31: Order price changes constantly

Symptom:

A purchase order (without material) is created. A general discount/surcharge is defined for the vendor. The price is entered manually in the purchase order but another required field (for example, the delivery date) is not. At first, the discount/surcharge is calculated correctly for the entered price and displayed as net price.
However, if you fill the previously forgotten field (delivery date), the discount/surcharge is calculated for the already determined net price and not for the price originally entered.

Cause and prerequisites

Due to technical reasons, this cannot be implemented any other way. The system cannot distinguish whether the price was overwritten again by the user or whether it is the already calculated net price.

Solution
The user has to make sure during the entry that he enters the correct price again. The problem only occurs with inexperienced users and also only for items without material.

SAP Note 21997 - Modification of picking list by telefax

Symptom:

The shipping of picking lists by telefax in the message application V4 is not planned as a default

Cause and prerequisites

The functions are not programmed.

Solution
Implement the following modification indicated with <--- in the member FV50XF0B in the FORM routine BELEG_KOMMILISTE_ANSTOSSEN. FORM BELEG_KOMMILISTE_ANSTOSSEN.TABLES: VBLKK,
SADR. <---
DATA: BEGIN OF TVBLKP OCCURS 0. INCLUDE STRUCTURE VBLKP.
DATA: END OF TVBLKP.
DATA: BKA_POS TYPE C.
DATA: NRIV_NUMBER(10).

* beschaffen der Druckparameter
IF TVST-NACHA = '1'. <---
IF TVST-KSCHL NE TNAD5-KSCHL OR
LIKP-VSTEL NE TNAD5-VSTEL.

SELECT SINGLE * FROM TNAD5 WHERE KAPPL = 'V4' AND
KSCHL = TVST-KSCHL AND
VSTEL = LIKP-VSTEL.
IF SY-SUBRC NE 0.
CLEAR: TNAD5.
EXIT.
ENDIF.
ENDIF.
ELSE. <---
CLEAR TNAD5. < ---
ENDIF. <---
IF TVST-NACHA = '2'. <---
SELECT SINGLE * FROM SADR WHERE ADRNR = TVST-ADRNR <---
AND NATIO = SPACE. <---
IF SY_SUBRC NE 0. <---
CLEAR SADR. <---
EXIT. <---
ENDIF. <---
IF SADR-TELFX IS INITIAL. <---
EXIT. <---
ENDIF. < ---
ENDIF. <---

* erzeugen NAST-Satz
CLEAR NAT.
MOVE-CORRESPONDING TVST TO NAT.
IF TVST-NACHA = '1'. <---
MOVE-CORRESPONDING TNAD5 TO NAT.
NAT-TDARMOD = T685B-TDARMOD.
ENDIF. <---
IF TVST-NACHA = '2'. <---
MOVE SADR-TELFX TO NAT-TELFX. <---
ENDIF. <---
NAT-MANDT = XLIKP-MANDT.
NAT-KAPPL = 'V4'.
NAT-OBJKY = XLIKP-VBELN.
LIKP = XLIKP.

SAP Note 21992 - Empty menu options are not compressed

Symptom:

Menus still contain empty lines.

Cause and prerequisites

SAPGUI does not send the function code, which does not have to be unique, to the work process but the position of the selected menu function in the menu tree. Since empty menu options can only result from dynamic texts (and not from the user interface maintenance), you cannot omit empty menu options in the first place; they also cannot be suppressed dynamically as this would move the menu options of subsequent menu options.

Solution
At present, it is not possible to compress menus.

Additional key words

blank menu options

SAP Note 21982 - Product hierarchy: Matchcode MAT_P

Symptom:

Syntax error in SAPLV81A, Object M_MAT1P unknown.

Cause and prerequisites

Customer deleted matchcode ID "P" of object MAT1. This ID is required in the program, however.

Solution
Regenerate the matchcode ID. Because it involves a DB view, there are no performance losses.

SAP Note 21975 - Deliveries are not split properly

Symptom:

The unloading point is not copied into the header data of the delivery (Transport screen), although it was entered in the customer master and also appears in the order.
Furthermore, when you change the unloading point on the partner detail screen, the delivery header is not changed either.
In addition, the unloading point was ignored as a split criterion when creating deliveries.
In transaction VL04 (collective delivery run), different deliveries are generated for the same ship-to party, despite the same combination criteria, when the ship-to party has deliveries with different partner data.

Cause and prerequisites

Program error

Solution
1. Program FV50C001 (up to 2.2D):

FORM DATEN_KOPIEREN_001.
.....

LOOP AT XVBPA WHERE VBELN = LIKP-VBELN AND PARVW = 'WE'. "< New
EXIT. "< New
ENDLOOP. "< New
IF SY-SUBRC = 0. "< New
LIKP-ABLAD = XVBPA-ABLAD. "< New
ENDIF. "< New

ENDFORM.


2. MV50AF0F (up to 2.2D):

At the end of the FORM routine

FORM FCODE_KPAR.

....... "< New
IF RV02P-WEUPD NE SPACE. "< New
LOOP AT XVBPA WHERE VBELN = LIKP-VBELN AND "< New
PARVW = 'WE' AND "< New
UPDKZ NE 'D'. "< New
EXIT. "< New
ENDLOOP. "< New
IF SY-SUBRC = 0. "< New
LIKP-ABLAD = XVBPA-ABLAD. "< New
ENDIF. "< New
ENDIF. "< New
ENDFORM. "< New


3. FV50CF0P (up to 2.2E):

FORM PARTNER_KOPIEREN.

...
...

* GGF. Setzen Partner in Lieferkopf
CASE XVBPA-PARVW.
WHEN 'WE'.
LIKP-KUNNR = XVBPA-KUNNR.
LIKP-ABLAD = XVBPA-ABLAD. "<-- new line
WHEN 'AG'.
LIKP-KUNAG = XVBPA-KUNNR.
ENDCASE.


4. FV50CF0P (up to 2.2E):

FORM PARTNER_KOPIEREN_PRUEFEN USING PK_SUBRC
PK_VBELN.

DATA: CVBPAKEY1(21),
VV_EXIT(1).

PK_SUBRC = 0. "<-- new line
CVBPAKEY1+00(03) = CVBAP-MANDT.
CVBPAKEY1+03(10) = CVBAP-VBELN.
....
....

IF SY-SUBRC EQ 0.
* Korrektur 080393
IF ( XVBPA-KUNNR NE CVBPA-KUNNR AND XVBPA-NRART = 'KU' ) OR
( XVBPA-LIFNR NE CVBPA-LIFNR AND XVBPA-NRART = 'LI' ) OR
( XVBPA-PARNR NE CVBPA-PARNR AND XVBPA-NRART = 'AP' ) OR
( XVBPA-PERNR NE CVBPA-PERNR AND XVBPA-NRART = 'PE' ) OR

( XVBPA-PARVW EQ 'WE' AND "<-- new line
NOT XVBPA-ABLAD IS INITIAL AND "<-- new line
NOT CVBPA-ABLAD IS INITIAL AND "<-- new line
XVBPA-ABLAD NE CVBPA-ABLAD ) "<-- new line

OR ( XVBPA-ADRNR NE CVBPA-ADRNR ).

* Korrektur 080393
* IF XVBPA-KUNNR NE CVBPA-KUNNR.
VV_EXIT = CHARX.
EXIT.
ENDIF.
ENDIF.
ENDLOOP.
....

CAUTION: The query to be changed in this module appears twice in Release 2.1*, and must be changed in both places.


5. Include LV50SF0P Form PARTNER_KOPIEREN_PRUEFEN 2.1 only:

FORM PARTNER_KOPIEREN_PRUEFEN USING PKP_VBELN
PKP_SUBRC.

DATA: CVBPAKEY1(21).

...

* Partner gefunden, weicht er ab?
IF SY-SUBRC EQ 0.
CASE XVBPA-NRART.
WHEN 'KU'. CVBPA-KUNNR = CVBPA-KUNNR.
WHEN 'LI'. CVBPA-KUNNR = CVBPA-LIFNR.
WHEN 'PE'. CVBPA-KUNNR = CVBPA-PERNR.
WHEN 'AP'. CVBPA-KUNNR = CVBPA-PARNR.
ENDCASE.
IF XVBPA-KUNNR NE CVBPA-KUNNR OR
( XVBPA-PARVW EQ 'WE' AND "<-- new line
NOT XVBPA-ABLAD IS INITIAL AND "<-- new line
NOT CVBPA-ABLAD IS INITIAL AND "<-- new line
XVBPA-ABLAD NE CVBPA-ABLAD ) OR "<-- new line
XVBPA-ADRNR NE CVBPA-ADRNR.
PKP_SUBRC = 4.
EXIT.
ENDIF.
ENDIF.
ENDLOOP.

...


6. Include LV50SF0S FORM STEUERUNG_ZENTRAL

FORM STEUERUNG_ZENTRAL.

* 6. feststellen, ob neue Lieferung
* 6.1 wenn keine Zusammenführung erlaubt ist
* 6.2 wenn kein passender gefunden wird
KOPF_GEFUNDEN = SPACE.
ABBRECHEN = SPACE.


DATA: GEFUNDEN_VBELN LIKE LIKP-VBELN. "<-- new
CLEAR GEFUNDEN_VBELN. "<-- new
LOOP AT ZLIKP. "<-- new
IF ZLIKP = LIKP. "<-- new
TEMP_VBELN(1) = '$'. "<-- new
TEMP_VBELN+1 = SY-TABIX. "<-- new
PERFORM PARTNER_KOPIEREN_PRUEFEN_PRE(SAPFV50C) USING "<-- new
DC_SUBRC TEMP_VBELN. "<-- new
IF DC_SUBRC = 0. GEFUNDEN_VBELN = TEMP_VBELN. ENDIF. "<-- new
ENDIF. "<-- new
ENDLOOP. "<-- new


LOOP AT ZLIKP.
TEMP_VBELN(1) = '$'. "<-- new
TEMP_VBELN+1 = SY-TABIX. "<-- new
IF GEFUNDEN_VBELN NE SPACE. "<-- new
CHECK TEMP_VBELN = GEFUNDEN_VBELN. "<-- new
ENDIF. "<-- new
IF ZLIKP = LIKP.
* falls keine Zusammenführung gestattet ist, gilt dies jedoch
* nicht für Positionen desselben Auftrags
IF LIKP-KZAZU EQ SPACE.

7.Include FV50CF0P; add the following new FORM routine:

FORM PARTNER_KOPIEREN_PRUEFEN_PRE USING PK_SUBRC
PK_VBELN.

DATA: CVBPAKEY1(21),
VV_EXIT(1).

CVBPAKEY1+00(03) = CVBAP-MANDT.
CVBPAKEY1+03(10) = CVBAP-VBELN.
PK_SUBRC = 0.
LOOP AT XVBPA WHERE VBELN = PK_VBELN.
CVBPAKEY1+13(06) = CVBAP-POSNR.
CVBPAKEY1+19(02) = XVBPA-PARVW.
READ TABLE CVBPA WITH KEY CVBPAKEY1 BINARY SEARCH.
* Abweichender Partner auf Auftragspositionsebene
IF SY-SUBRC NE 0.
CVBPAKEY1+13(06) = POSNR_LOW.
READ TABLE CVBPA WITH KEY CVBPAKEY1 BINARY SEARCH.
ENDIF.

IF SY-SUBRC EQ 0.
IF ( XVBPA-KUNNR NE CVBPA-KUNNR AND XVBPA-NRART = 'KU' ) OR
( XVBPA-LIFNR NE CVBPA-LIFNR AND XVBPA-NRART = 'LI' ) OR
( XVBPA-PARNR NE CVBPA-PARNR AND XVBPA-NRART = 'AP' ) OR
( XVBPA-PERNR NE CVBPA-PERNR AND XVBPA-NRART = 'PE' ) OR
( XVBPA-PARVW EQ 'WE' AND
NOT XVBPA-ABLAD IS INITIAL AND
NOT CVBPA-ABLAD IS INITIAL AND
XVBPA-ABLAD NE CVBPA-ABLAD ) OR
( XVBPA-ADRNR NE CVBPA-ADRNR ).
PK_SUBRC = 4.
VV_EXIT = CHARX.
EXIT.
ENDIF.
ENDIF.
ENDLOOP.

ENDFORM.

SAP Note 21971 - Connection between SAP GUI and application server terminated

Symptom:

The connection between the application server and the SAP GUI is terminated.

Entries in the system log:
Syslog Q04 (Connection to user xxx, Terminal xxx terminated)

Entries in trace file dev_disp (for example):
***LOG Q0I => NiPRead: recv (232: Connection reset by peer) [niuxi.c ..
***LOG Q04 => DpRTmPrep, NiRead (220 user 46 terminal ) [dpxxdisp 4924]

Note: The error number (in this case 232) is platform-specific

Other terms

recv, writev, NiRead, NiWrite, connection termination, WAN Router

Reason and Prerequisites

The application server receives a message from the network layer of the operating system (TCP) stating that the connection to the SAP GUI has been terminated.

Possible causes:
a) The frontend host was turned off or the operating system (for example, Windows) was shut down even though SAP GUIs were active.

b) Network problems (router, WAN and so on)
c) The SAP GUI process on the frontend stopped or terminated the connection without logging off from the application server.

Solution
Unfortunately, the application server cannot use the return codes of the TCP layer to determine the cause (this can be compared with the "click" on a telephone if one person puts down the receiver unexpectedly or when there is interference on the line).
Therefore, you must determine the cause on the frontend.
a)-
b) If a dialog box, which refers to a terminated connection, also appears on the frontend, this is a sure indicator of a network problem.


c) If the SAP window disappears without leaving any messages, this indicates that there is a problem in the SAP GUI.


In a customer message, give us a detailed description of the symptom on the frontend (error dialog box and so on).

For every GUI termination, the dispatcher Trace file dev_disp contains a row such as:

RM-T17, U319, 604 WEDLICH, atalanta, 16:24:10, M0, W1, VF02, 3/0

Meaning:
SAP GUI 17 (internal from dispatcher's point of view)
User 319 (within the application server)
Client 604
Username WEDLICH
Terminal-ID atalanta
Time 16:24:10
Mode 0 (last active)
Workprocess 1 (last active)
Transaction VF02
Session no. 3 (internal imode level 0)

If the user name entry is missing, the termination occurred before the user logged on.

If the terminal ID entry is missing, the terminal has not transferred an ID (the host name on Windows).

SAP Note 21965 - Delete orders: DBIF_RSQL_NO_MEMORY

Symptom:

When you try to delete a large order (around 700 items), the program terminates with a dump. The same applies to all sales document types.
Error DBIF_RSQL_NO_MEMORY in SAPLSCD0.

Cause and prerequisites

When the deleted order is transerred, the limit of 7.4 MB of data is exceeded. The application does not detect that this limit has been reached before it transfers the data to the update task.

Solution
There are three possible solutions:
1. Delete the sales document in portions (200 items each).
2. Do not delete the sales document, but instead enter a reason for
rejection in the items (Function: Fast change, reason for rejection)
3. Deactivate the single field documentation during deletion for table
KONVC in change document object VERKBELEG (using transaction SCDO)
and then call the function "Generate update task."


Additional key words

SAPLSCD0, CHANGEDOCUMENT_CLOSE

SAP Note 21960 - Several instances/systems on one UNIX computer

Symptom:

    • You want to install several SAP systems or at least several SAP system components on a host.
    • Apart from SAP software, you want to use software from another manufacturer on a host.


What must I bear in mind?

Other terms


Consolidation, application stacking, liveCache, APO optimizer, database, workload manager, logical partitioning, WLM, lpar

Reason and Prerequisites


It is technically possible to install and operate several SAP systems as well as third-party software on a single host. SAP provides guaranteed support for a configuration containing several SAP systems on the same system under the usual prerequisites. The following cases are typical:

    1. Several instances of the same system on one server
    You should be able to run several instances of a system on a single powerful host if you want, for example, to fully exploit the main memory. Where possible, you should use a 64-bit system to enable use of the available resources. In some cases it makes sense to install several SAP instances (for example, separation of applications on the instance level, setup of dedicated RFC instances, provision of additional spool work processes before Release 4). Several instances always place higher demands on resources than a single instance because, for example, the shared memory (PXA, Extended Pool) is created several times (possibly in different sizes each time).
    2. Several central systems on a server
    On large hosts, several small central SAP systems (in other words, database and central instance together) are to be operated.
    3. liveCache, APO optimizer, ITS split the server with one or more components.
    4. Third-party software is operated together with SAP software on one
    server.

Installing different R/3 systems separately or even installing different system components on separate computers has the following advantages:

  • simple administration of the individual servers
  • high fail-safe
  • high flexibility during the upgrade
  • unique assignment of resource consumption and performance

In general, the following applies:

  • A combination of test, consolidation and productive systems on the same host is not recommended because then you can no longer test OS patches or OS kernel parameter changes.
  • Avoid a combination of 32-bit and 64-bit databases on the same host. This type of 'mixed' configuration is not provided for in the standard system. For further enquiries about this contact your database partner. Your database partner can tell you which database systems and versions can be installed together on one host.
  • Release dependencies and patches: In general, the systems or instances can have different release levels. A restriction arises from the fact that the operating system version has to be compatible with the releases of all SAP systems or the third-party software. We cannot guarantee that different releases of the same or different SAP solutions are released on the same operating system version. Furthermore, we cannot exclude that different SAP solutions may require different, incompatible OS patches. The customer bears the full risk if systems have to run on different operating system versions or patch levels because the requirements for a component have changed.
  • If several SAP systems are installed on a host system, they affect each other in terms of stability and performance. However, it is difficult to determine exactly how and when the different systems interact.
  • As far as the technical implementation is concerned, simultaneous operation of several systems or instances on a single host is mainly a matter of sizing. This means that the hardware resources required must be planned accurately and adapted to the operating system, database and SAP parameters. These result from the individual demands of the individual user and his or her initial situation.
  • The required hardware resources and system parameters must be accurately determined by the implementation partner (for example, the operating system partner, database partner or the SAP Basis adviser) together with the customer.
  • Make sure you also read the installation guide for your particular release/operating system/database combination.
  • This note does not claim to be complete.
Solution
    1. Multiple SAP systems on one host
    Using several SAP systems on one computer is particularly challenging in terms of the administration of such configurations. Above all, there will be side effects in terms of release dependencies and patches which are difficult to recognize. The analysis tools provided by SAP can no longer be used without modifications with the configuration of several systems on one host. Therefore, if you want to use proactive SAP services such as "Early Watch'" and "Going Live" for configurations of several SAP systems on one host, you should first inform SAP service about this combination.
    If it turns out that performance problems are mainly caused by incorrect sizing during implementation (in other words, by inadequately assigning the individual server resources), SAP cannot be considered to be responsible.
    2. Instance numbers
    SAP instances are identified uniquely by the host name and the two-digit SAP system number (instance number). The instance numbers must therefore (also in the first case) be different. Instance numbers 98 and 99 are not allowed. With HP-UX 11.0, the port belonging to instance number 75 is already used by the operating system. See also Notes 29972 and 94783 (ERROR => DpShMCreate DpIPCInit).
    3. CPU
    The required total CPU power for several systems on one host can exceed the sum of the CPU power for the same systems on separate hosts. Ask your hardware partner or operating system partner about mechanisms in the operating system that limit the competing consumption of available CPU power among the individual SAP systems and the third-party software.
    4. Main memory
    The amount of required main memory (RAM) must be higher than the sum of the same systems on separate hosts.
    5. .sapconf file for R3INST
    Until Release 3.1, the installation is carried out with R3INST. The available RAM is given in file /usr/sap/trans/.sapconf (and the local copy /etc/sapconf). The sapconf file consists of three parts with the headers "SYSTEM", "INSTANCE" and "PROTOCOL". The storage space available for each SAP system is under "SYSTEM". Similarly, the storage space for each SAP instance is under "INSTANCE" (without database system). The entries are there for documentation purposes only. You do not have to maintain the values for system operation. If you still want to modify them, you should use the R3INST in EDIT mode.
    As of Release 4.0, SAP systems are installed with the R3SETUP. The /usr/sap/trans/.sapconf file is no longer used.
    6. Swap Space
    You can determine the Swap Space requirement for every SAP system using the program SAPPFPAR. The sum of these values, the Swap space of the operating system and other programs gives you the required Swap space on the computer. Make sure you define sufficient Swap space. See Notes 38052, 97179, and 153641.
    7. Instance profile
    If a system which is already installed should use more or less main memory (RAM) than it does, then you must change the instance profile subsequently. For this, refer to Note 21636. As of Release 4.0, Note 107209 is available for this problem.
    Refer to Note 88416 for information about the PHYS_MEMSIZE parameter.
    8. Batch operation
    Up to Release 3.1, one host was entered for batch processing. Two instances on one computer caused the symptoms described in Notes 110878 and 116082.
    As of Release 4.0, the application server the batch job is running on is defined for job planning.
    9. Operating system dependencies:
      a) Memory management
      All relevant SAP releases are (at least on Unix operating systems and Linux operating systems) available in a 64-bit version and should be operated as 64-bit. If you operate the SAP software as 32-bit, refer to the following notes for the operation system-dependent aspects during memory management:

      HP-UX: 33576, 37537, 43427,106819, 100410, 113189
      TRU-64: 32915, 30606
      Windows NT: 28392
      AIX: 37537, 78498, 95454
      Linux: 386605
      b) The SAP hardware partners have tested workload or resource management tools for use in SAP production environments.
      c) The option of statically or dynamically partitioning software is also an alternative for the consolidated use of SAP software. Contact your hardware partner to request additional information about products and recommendations. SAP views these server partitions, which are running on one server and upon which several operating systems are running simultaneously using partitioning technology, as a standalone servers. Make sure that sufficient resources are available to the SAP software (see above). If you are dynamically adjusting the CPU and memory resources available to the SAP system, take the cautionary measures mentioned in section 1 of the solution, since certain SAP monitoring tools are not set up for this adjustment.
      d) For all usage types, the platform partner or the implementation partner is responsible for the sizing of the integrated solution.
      SAP advises against installing test, development and production systems on the same operating system.
    10. Databases
      a) Informix
      Refer to Note 12825 for information about Informix under UNIX.
      b) Oracle
      If using SQL*NET V1, refer to Notes 37182 and 98252.
      c) SAP DB
      See Note 327578.
    11. liveCache
    See Note 392852.
    12. APO Optimizer
    The APO system uses optimizers in various modules (for example, PP/DS, SNP, ND). These are dedicated programs that have different hardware requirements depending on the release. Optimizers should be installed on dedicated servers.
13. ITS
ITS should be installed on a dedicated server.

SAP Note 21936 - PA-TRV (A): daily allow., domes. part of trip abroad

Symptom:

Travel Expense Accounting (Austria), calculation of daily allowance for
trip abroad. If the domestic part of the outward trip before crossing the border lasts longer than one day, or if the domestic part of the return trip after crossing the border lasts longer than one day, the corresponding days do not appear on the form.
Furthermore, deductions made for business meals (gratuitous meals) are not taken into account in the accounting program.

Cause and prerequisites

According to Wilfried Ortner, "Personalverrechnung in der Praxis" ("Personnel accounting in practise"), Jan. 1, 1995, point 22.3.3.6:
"Fractions of a day that are not taken into account during the calculation of the daily allowance for the portion of the trip abroad should then be included when the daily allowance is being calculated
for the domestic portion." Correspondingly, an exact date should not be assigned to the domestic portion; this portion of the trip is assigned to the last minute of travel. This is why the individual domestic days are not shown.
Similarly, date-specific business meals (domestic) cannot be assigned to a specific date and are, therefore, not taken into account.

Solution
Example of how to treat trips abroad, if domestic meals were had:
Depart Vienna : 1/1 10:00
Outward: cross border to Germany : 1/2 08:00
Return: cross border to Germany : 1/7 19:00
Return to Vienna : 1/8 20:00

Manual solution:
deductions from the day the border is crossed (outward) to day the border is crossed (return), that is from 1/2 till 1/7, are deducted by the accounting program from the corresponding day-abroad records.
If business meals exist for 1/1 or 8/1, you must enter these as a negative receipt.
Set up the corresponding expense type in T706B as the expense category 'Others' and code it with the same input tax as the domestic daily allowance. You can enter ATS 180.00- as the default value.
Solution using program:
See Note no. 23654.

SAP Note 21927 - Representation of 13 periods in Asset Accounting

Symptom:

A fiscal year is divided into four week periods, that is into 13 periods. How can this be represented in Asset Accounting?
Key words: period version, fiscal year version

Solution

It is generally the case that the periods of the useful life always refer to the specified number of periods of the fiscal year version.
Take this into account when specifying a useful life of less than one fiscal year. The same applies to the expired useful life if it is to be manually predefined for the old assets data takeover.
Example: 1 Periods of useful life correspond for a fiscal year version with

  • 12 Periods: 1/12 of a year, i.e. one month
  • 13 Periods: 1/13 of a year
  • 26 Periods: 1/26 of a year

If you have an odd number of periods, there then can be a problem if the middle of the year is to be represented. For a fiscal year version with 13 periods the middle of the year would have to occur during period 6.5. However, you can only represent either 6 or 7, which means that in the year of acquisition the depreciation deviates by half a period (which is 1/26) from the exact result.
You can avoid this by defining a fiscal year version with 26 periods (you can use a different variant in Asset Accounting to that used in General Ledger providing that both the start and end of the year agree).
Furthermore, you should consider that the period control rules (determination of the depreciation period for a half-year rule) can only be automatically defined for a fiscal year version with 12 or 24 periods These rules must be entered manually for all other variants.

SAP Note 21919 - ORACLE installation terminates at "spawn 'echo'"

Symptom:

Error unix.stp(1430) occurs during installation of the ORACLE DB
OS_ERROR ... An operating system error corrupted while trying to
spawn 'echo /oracle/c11'|grep '^/'' while redirecting output to ''

Cause and prerequisites

Insufficient authorization to access file /dev/null.

Solution
chmod 666 /dev/null