4.2.11

SAP Note 21895 - Suppressing standard output of reports

Symptom:

If reports are run online or in the background, the output generated with write:/ can sometimes cause problems.
This applies, for example, to the report rspo0041 which should delete old spool jobs. If it is scheduled as a background job, it generates a new spool job on termination which contains its status output.

Cause and prerequisites

Customer request

Solution
Generate a new report: REPORT STRT.
SUBMIT USING SELECTION-SET TO SAP-SPOOL 'DESTINATION 'NULL' WITHOUT SPOOL DYNPRO.
Use this report in preference to the old one if no standard output is required.

SAP Note 21893 - R/3 does not start,dev_disp:fork(11: No more proc)

Symptom:

R/3 does not start. All work processes and the dispatcher terminate immediately.
The developer trace dev_disp (directory: /usr/sap//DVEBMGS00/work)
contains the following error messages:

*** ERROR => DpWpCreate: fork (11: No more processes) [dpuxdisp 0472]
***LOG Q0I=> DpWpCreate, fork ( fork 11) [dpuxdisp 0473]
*** ERROR => DpWpDynCreate: DpWpCreate [dpuxdisp 0245]
*** ERROR => DpProcCreate: DpWpDynCreate [dpxxdisp 5319]

or:
*** ERROR => DpWpCreate: fork (35: Operation would block) [dpuxdisp ...
***LOG Q0I=> DpWpCreate, fork ( fork 35) [dpuxdisp 0498]
*** ERROR => DpWpDynCreate: DpWpCreate [dpuxdisp 0242]
*** ERROR => DpProcCreate: DpWpDynCreate [dpxxdisp 5411]

or also:
*** ERROR => e=28 semget(30089,1,2047) (28: No space left on device)
[evtux.c 0859]
*** ERROR => DpWpConnect: EvtCreate (rc=1) [dpxxdisp 5115]
*** ERROR => DpSapEnvInit: DpWpConnect [dpxxdisp 3359]
*** EvtClose: Invalid Event Handle [evtux.c 1166]

Additional key words

startsap sapstart startr3 r3start

Cause and prerequisites

Case 1, 2: The header file /usr/include/sys/errno.h contains the key
term "EAGAIN" and "EWOULDBLOCK"
for error numbers 11 and 35. The man fork shows the
meaning of key word "EAGAIN"
a.) Too little swap space
b.) Kernel parameter "Max. number of processes per user"
is too small.

Case 2: Kernel parameter group "Semaphores" does not correspond to
the SAP recommendations.

Solution
Make sure the kernel parameters recommended by SAP are used (see Installation Guide).

SAP Note 21892 - Example report for sending a fax

Symptom:

How do I send a fax from ABAP programs?

Reason and Prerequisites

You want to send a fax from an application program.

Solution
Copy the report BCS_EXAMPLE_2 and adjust it according to your requirements.

SAP Note 21839 - Materials list (transaction MM60)

Symptom:

1) After executing the materials list function, not all existing materials are considered, or the accounting data for certain materials is not displayed although it exists.

2) If the valuation level in your system is company code level, it is possible for plants to be displayed in the materials list that you have not selected or in which the material does not exist.

Cause and prerequisites

Either materials for which only accounting data has been maintained at plant level were not considered correctly by the program until now or too many entries were displayed if the valuation level is company code level.

Solution
ad 1) Problem corrected in Release 2.2F.
ad 2) Problem corrected in Release 2.2H.

Additional key words

Transaction: MM60; program: RMMVRZ00

SAP Note 21827 - Condition Exclusion

Symptom:

CONDITION EXCLUSION does not function properly with condition records that have a positive value for the following situation:

    • suppose you want to setup the exclusion rules to give the customer the best price out of a group of price conditions.
    • if you used PR00, ZPR1, ZPR2, ZPR3 and you want the system to choose only one as the "best price", you could set this up by creating one exclusion group for each one of the four conditions. "customizing-> functions-> pricing -> control-> pricing proced-> exclusion-> assign"

      EXCLUSION GROUP CONDITION TYPE
      ZPR0 PR00
      ZPR1 ZPR1
      ZPR2 ZPR2
      ZPR3 ZPR3

      in "customizing --> functions --> pricing --> control --> pricing prod --> exclusion --> assign proceed as follows:


      STEPNO PROCEDURE GROUP1 GROUP2
      10 C ZPR0 ZPR1
      20 C ZPR0 ZPR2
      30 C ZPR0 ZPR3
      40 C ZPR1 ZPR2
      50 C ZPR1 ZPR3
      60 C ZPR2 ZPR3


THIS METHOD OF CONDITION EXCLUSION DOES NOT FIND THE BEST PRICE!!!

Cause and prerequisites

Program error.

Solution


Program LV61AF0K:

form kond_ausschluss_guenstigster_c using ausgrp1 ausgrp2.
data: gruppenwert1 like komv-kwert,
gruppenwert2 like komv-kwert.
data: active1 like komv-kinak, "insert
active2 like komv-kinak. "insert
perform kond_ausschluss_gruppenwert using ausgrp1 gruppenwert1."delete
perform kond_ausschluss_gruppenwert using ausgrp1 "insert
gruppenwert1 "insert
active1. "insert
if active1 is initial. "insert
perform kond_ausschluss_gruppenwert using ausgrp2 gruppenwert2."delete
perform kond_ausschluss_gruppenwert using ausgrp2 "insert
gruppenwert2 "insert
active2. "insert
endif. "insert
if active1 is initial and active2 is initial. "insert
if gruppenwert2 > gruppenwert1.
perform kond_ausschluss_gruppe_inak using ausgrp2.
else.
perform kond_ausschluss_gruppe_inak using ausgrp1.
endif.
endif. "insert
endform.

form kond_ausschluss_gruppenwert using ausgrp gruppenwert. "delete
form kond_ausschluss_gruppenwert using ausgrp "insert
gruppenwert "insert
active. "insert

READ TABLE XT684 WITH KEY AUSGRP BINARY SEARCH. "insert
IF NOT XT684-KINAK IS INITIAL. "insert
ACTIVE = XT684-KINAK. "insert
EXIT. "insert
ENDIF. "insert

read table xt684g with key ausgrp binary search.
...
endform.

form kond_ausschluss_gruppe_inak using ausgrp.
READ TABLE XT684 WITH KEY AUSGRP BINARY SEARCH. "insert
XT684-KINAK = 'A'. "insert
MODIFY XT684 INDEX SY-TABIX. "insert
read table xt684g with key ausgrp binary search.
...
endform.



Program LV61AF0X:

FORM XKOMV_BEWERTEN.
.
.
.
IF KOMP-KPOSN NE 0 AND ( ( PREISFINDUNGSART NE 'E' AND
XKOMV-KSTEU <> 'E' ) OR BASISZEILE <> 0 ). "delete XKOMV-KSTEU <> 'E' ) OR BASISZEILE <> 0 ) AND "insert
XKOMV-KINAK NE 'A'. "insert
.
.
.
* Staffelbasis ermitteln
YKSTBS = XKOMV-KSTBS.

IF XKOMV-KZBZG NE SPACE AND KOMP-KPOSN NE 0. "delete
IF ( XKOMV-KZBZG NE SPACE AND KOMP-KPOSN NE 0 ) AND "insert XKOMV-KINAK NE 'A'. "insert
IF PREISFINDUNGSART NE 'E'.
.
.
.
.
.
* Konditionsswert ermitteln / ggf. KBETR aus Staffel holen
IF PREISFINDUNGSART NE 'E' AND KOMP-KPOSN NE 0
AND XKOMV-KINAK NE 'A' "insert
AND XKOMV-KSTEU NE 'E'.
.
.
.

SAP Note 21808 - Product Profile missing

Symptom:

SQLPLUS> Product Profile not loaded

Cause and prerequisites

Table system.product_profile is empty
This should not happen. Most reason is a export only of user SAPR3

Solution
If there is a "ok" System availible:

Use oracle export: command exp
and export for the user system the table product_profile and import
the table on the second database

SAP Note 21805 - IS-OIL 1.*, 2.0A, 2.0B: derivat. from master data

Symptom:

Key word: Allocation

Description:
If no cost type (Recovery indicator) is stored in the cost element, the derivation of the recovery indicator from the master data does not work correctly. The recovery indicator of the receiver is copied from the master record of the sender, which is a mistake.


Transactions: KSV5, KSU5, KSW5, KSWB, KSUB, KSVB
IS-OIL: 1.*, 2.0A, 2.0B

Cause and prerequisites

Program error

Solution
The error can be eliminated by implementing the following correction:


************************************************************************
* Program: MKGALF40
* FORM Routine: ACCOUNT_ASSIGNMENT
************************************************************************
FORM ACCOUNT_ASSIGNMENT
*--------------------------------------------
CHANGING VALID.
*--------------------------------------------
* Single Account Assignment for Receivers
*--------------------------------------------
VALID = TRUE.
*.only if RECID from master data or ALWAYS ??
IF SEQS-RRULE = FROMDATABASE AND
( SEQS-RREPL-CHAIN <> NIL OR RREPL_ACTIVE = TRUE ).

*...JV-Spezial <<<< PERFORM ASSIGN_FIELD_ALLFC USING 'RECID'. <<<< CLEAR . <<<<*...JV-Spezial <<<<
PERFORM PROBE_RECORD USING ' ' ' ' RSET ' ' TRUE
CHANGING VALID.
CHECK VALID = TRUE.
ENDIF.
:
:
:






SAP Note 21799 - Output balance carried forward in a report

Symptom:

Question: How can you define a report using the Report Writer, that prints the balance carried forward?
Keyword: Report Writer, HSLVT, TSLVT, KSLVT, MSLVT.

Other terms

----- SUPPORTGUIDE 20010330131459 -----
REPORTWRITER, SGRW_DOCU_CONS_NOTE
SGRW_OM SGRW_PS SGRW_PC SGRW_SL SGRW_PCA SGRW_EC SGRW_LIS

Reason and Prerequisites

Question

Solution
In many applications, balance carried forward and up to 16 period values are stored in the database together. In this case, the Report Writer allocates the balance carried forward to the period Zero.

Example: in the application FI-GLX 'Extended General Ledger' or FI-SL 'Special Purpose Ledger', the balance carried forward is stored in local currency in the field HSLVT. The amounts in local currency for periods 1 - 16 are stored in fields HSL01 - HSL16. To display the balance carried forward in local currency in one column, use basic key figure HSL and assign period zero to the column. Accordingly, for the balance carried forward in group currency use basic key figure KSL, in transaction currency use basic key figure TSL, and for quantities use basic key figure MSL together with period zero.

SAP Note 21797 - Explain SQL with trace list without result (ST05)

Symptom:

When you choose the function 'Explain SQL' during evaluation of the SQL trace (ST05, 'List Trace'), no query plan is output.
Only the following message is displayed:
'Execution plan of a select statement (Online optimizer)'
or
'sqexplain.out cannot be read'

Cause and prerequisites

Access to the operating system file 'sqexplain.out' failed.

Possible causes for this are:

    1. Error in program RSINF100 (only in SAP Release <2.1J or <2.2D):
    The file 'sqexplain.out' is only read in the current directory.
    Therefore, the call of 'Explain SQL' fails on the application systems.
    2. UNIX:
    The home directory of user 'sapr3' on the database server is not mounted on all application systems (in all SAP releases).
    NT:
    The share "SQEXPLN" on directory %INFORMIXDIR%\sqexpln is not available on the DB server.
    3. In the home directory of user 'sapr3' on the DB server (or in directory /usr/sap//D*/work on the DB server) there is a file 'sqexplain.out' to which user 'adm' or user 'sapr3' has no read or write access.
    4. The profile parameters SAPDBHOST and SAPLOCALHOST contain different entries although you are working on the database server.
    5. In rare cases no Explain is possible on the application servers (if necessary, a Rabbax exists), but on the database servers everthing works.
Solution


If 'Explain' is requested from an application server, the plan is written to the file 'sqexplain.out' in the home directory of the user (for R/3, this is always sapr3) on the database server.
If the function is started from the database server, the file 'sqexplain.out' is stored in the current directory (/usr/sap//D*/work) on the database server. If a file 'sqexplain.out' already exists in the corresponding directory, the system will try to update this file.

ad 1)
With SAP Release 2.1J or 2.2D, the error in the RSINF100 program was corrected.
You can also download a corrected version of the report from sapserv3/4/5:

  • Download the file with ftp. '/dist/permanent/INFORMIX_22C/explain/rsinf100 ' from sapserv3/4/5.
  • Import the program with the command
    "R3trans -i rsinf100" (as user 'adm').
    CAUTION: The database must be active in this case.

ad 2)

  • DB server is UNIX:

    Make sure that the home directory of the user sapr3 and the path is (physically) the same on all participating computers. 'Yellow Pages' must also be considered.

If the application server is an NT server,

    • a modified report RSXPLINF must be used,
    • the home directory of user 'sapr3' must be accessible from this server.

To import the modified report, use ftp to download
the file 'RSXPLINF.230698'
from the sapserv servers in directory
/general/3rdparty/informix/ddic/
Import this report with the command
"R3trans -i RSXPLINF.230698" (as the user 'adm').
CAUTION: the database must be active when you do this.

To make the home directory of user 'sapr3' available on the NT server, you must create a 'share' called 'homesapr3' for this directory (with Samba) on the database server.
CAUTION: the name 'homesapr3' is obligatory (for technical reasons).
On the NT server, you must then use the command
'net use * \\\homesapr3'
to make this directory available.

DB server is NT:

Create the missing share on the DB server using the command
'net share SQEXPLN=%INFORMIXDIR%\sqexpln'



ad 3)

  • Make sure that the file 'sqlexplain.out' contained in the directories '~/sapr3' or '/usr/sap//D*/work' has the approriate authorizations:
    • User 'adm' and user 'sapr3' must be able to read and write the file. The authorizations should be '-rw-rw-rw-' (666).

ad 4)

  • In this case the Explain cannot be carried out on the database server until the profile parameters have been corrected. The Explain function is also possible from the application servers.
    As a workaround you can delete the existing file 'sqlexplain.out' in the directory '/usr/sap//D*/work' and create a link to a file 'sqlexplain.out' in the directory '~sapr3':

    cd /usr/sap//D*/work
    ln -s ~sapr3/sqlexplain.out sqlexplain.out


ad 5)

  • The problem is caused by the fact that the command 'cd ~sapr3' cannot be executed. In this case you must change report 'RSXPLINF'.
In two places the line

command = 'cd ~sapr3; pwd'.

must be replaced in report RSXPLINF with

command = 'csh -c ''cd ~sapr3; pwd'''.

SAP Note 21790 - WINDOWS NT: Problems with NOTEPAD.EXE

Symptom:

The message server or the dispatcher have an error in NiLists in the trace files.

Example of dev_ms: ***LOG Q0I NiPServToNO: getservbyname [ninti.c. .....
***LOG Q0A NiIServToNo, NiPServToNo ( sapms ) [nixxi.c ....
*** ERROR => MsSCommInit: NiListen (rc=-3) [msxxserv .....

The service not found is the last one in the etc/services file

OR

Not all processes of an application server are started.
disp+work does not start, neither a dev_disp nor a stderrX file is created for disp+work. The process is normally the last entry in the profile START__
Before Release 3.0C, the profile is called START_. Additional key words

startsap, startsap.trc, Service Manager, start-up profiles

Cause and prerequisites

See also note 16338.
The entries in etc/services were made manually with Notepad or a similar editor which does not automatically insert a line feed in the last line. The last service entry can not be read.

Solution
With Notepad, insert a Return afer the last line.
If the problem occurs in the start-up profile, R/3 on the affected application server and the service SAP_ must be restarted after making the change.

SAP Note 21785 - MR01 Cursor position vs. selection flag

Symptom:

When you enter an invoice (MR01, MRHR), you want to branch from the overview screen with the purchase order items (SAPMM08R, screen 150) to the detail screen with one invoice item, and you click on the selection checkbox to do this. The cursor is positioned on a different line, however. When you press "Select", the system branches to the detail screen of the line of the cursor position.

Cause and prerequisites

Not an error. The cursor position determines which detail screen is displayed. This is necessary because you can branch to several detail screens of an item, depending on where the cursor is. The selection boxes are only used for copying items into the invoice. The only inconvenience is when you want to view the detail screen of an item, but not copy it. You then have to place the cursor on the selection box (thus activating it) and press "Choose". After you go "Back", you will have to reset the flag if you do not want to copy the item.

Solution
None (see above).

SAP Note 21780 - Druckausgabe Saldenverzinsung Personenkonten falsch

Symptom:

Debitoren- und Kreditorensaldenverzinsung: Bei der Ausgabe auf den Drucker der erstellten Formulare werden diese nicht richtig formatiert, Seitenwechsel sind falsch usw..

Weitere Begriffe
Ursache und Voraussetzungen

Formulare wurden auf den Bildschirm ausgegeben und von dort mit Druck Liste ausgedruckt.

Lösung
Im Selektionsbild des Reports den Schalter 'Formular auf Drucker ausgeben' ankreuzen. Danach werden die Formulare für den Drucker aufbereitet.

SAP Note 21779 - Incorrect printout of calculation of interest on arrears

Symptom:

When printing the created forms, they are not formatted correctly. Wrong page break, and so on...

Cause and prerequisites

Forms are output on the screen and from there, are printed using Print List.

Solution
Select the switch Output form to printer in the selection screen of the report. Then the forms are formatted for the printer.

SAP Note 21773 - Performance in Reporting (Summarization data)

Symptom:

Long runtimes in CO PA Reporting. Reports terminate when they are run online because runtime is exceeded. In some cases, reports can no longer be executed in the background in an acceptable time, either.

Cause and prerequisites

The new techniques for improving performance in Release 2.2 are not being used to full effect.

Solution

In Release 2.2E, the documentation was substantially improved.

Users of Releases 2.2C and 2.2D currently do not have access to this information, and therefore cannot exhaust all the activity reserves of Reporting in CO-PA.

A detailed note has been written to serve as an interim solution. The note deals with the following subjects:

    • Database access in CO-PA
    • Summarization data
    • Description of the delta read method
    • Possible settings in the report definition

In addition, a detailed case study demonstrates how to use the new techniques.

The target groups for the note are consultants, application managers and advanced users who want to define their own reports.
The note is available exclusively as a Word for Windows 6.0 document because of the graphics contained in it.

Customers can download the note by X.25 and FTP from the server sapserv3 (binary transfer mode!). The German and English versions are stored under the paths
/dist/permanent/Note.0021773/h21773dt.doc (German)
and /dist/permanent/Note.0021773/n21773en.doc (English).


Internally at SAP, the note can also be accessed as an attachment to the document COPAPERFBW in the shared folders
INFOS R/3 --> CO --> D:NEWS:R3/RK
and PROJECTS --> RW-DEV --> D:PROJ:CO-DS

in MLP. The main document contains information on the current changes to the Word documents.
Warning! You should integrate the following notes in your R/3 System (up to and including Release 2.2D):
12505 CO-PA: Extent overflow in the cluster table COIX
18759 Deleting report data --> COIX overflows
18976 Drill-down reporting: RKEBATCH delta read method
22027 Performance: delta read method under ORACLE
22034 Performance: delta read method under ADABAS


Additional key words

Drill-down reporting, Executing reports, KE30, Report definition, KE31, Summarization data, Data buffering, Delta read method, Frozen data, Report data, RKEBATCH, COIX


SAP Note 21765 - Batch input: create and change work center

Symptom:

The batch input session gets stuck in screen 101 SAPCRKO with message 00055 "Make an entry in all required fields". Affected transactions: CR01 and CR02 on the "Work center capacities" screen.

Cause and prerequisites

The default capacity has been defined, but the fields that are required fields in the work center have not been maintained in Customizing.

Solution
Transaction OP36 or menu path: Tools -> Customizing -> Configuration menu -> Logistics -> Production -> Master data -> Work center -> Capacity planning -> Default capacity.
In the header data, maintain required fields
"Planner group", "Base UoM", "Cap. util.", and "No. of ind. cap."


Additional key words

00055

SAP Note 21762 - Duplicate entries in control file / V$DATAFILE

Symptom:

Duplicate entries in the control file and in the display via view
V$DATAFILE.
The filename in the second, doubled entry, is empty.

Cause and prerequisites

Incorrect display! This is caused when the internal ORACLE file number is used again, e.g.
- During reorganization of a tablespace (drop/create tablespace ...)
- When moving data files to another file system
(alter database rename file '...' to '...';)

Solution
The error can be ignored (repaired in ORACLE Rel. 7.3)

SAP Note 21760 - Cell calculation: not all levels have values

Symptom:

A report has a column formula referring to a cell. The column formula is not evaluated for all rows.
Key words: Report Writer, cells

Cause and prerequisites

The cause is a different treatment of the symbolic names in the Report Writer. There are two cases to be considered for the cell assignment:

    1. If the symbolic name is specified in the set row, the row coordinate thus defined is valid for the entire hierarchy of the row set and addresses the report row assigned to the set or value entered in the set row.
    2. If the symbolic name is specified in the header of the set, it only applies to the subhierarchy represented by this set. The rows in the report, that belong to the superior set node, do not belong to the validity range of the row coordinate.
    In this case, you can additionally enter a level for the row coordinate when defining the cells. This level specifies to which summation level of the subhierarchie the cell is to refer. It is thus possible, for example, to print percentages with reference to the current subtotal.

In formula columns with cells, values are only calculated in the rows that belong to the validity range of the row coordinate. The report cells outside the validity range contain the value 0.
Example:

| (1) | (2) | (3) | (4) |
| Year | Formula | Formula | Formula |
-------------------|---------|---------|---------|---------|
ACCOUNT-01 | 100,00 | 20,00 | 20,00 | 20,00 |
ACCOUNT-02 | 400,00 | 80,00 | 80,00 | 80,00 |
* Account group 1| 500,00 | 100,00 | 100,00 | 100,00 |
ACCOUNT-03 | 600,00 | 120,00 | | 40,00 |
ACCOUNT-04 | 900,00 | 180,00 | | 60,00 |
* Account group 2| 1500,00 | 300,00 | | 100,00 |
** all accounts | 2000,00 | 400,00 | | |

Column (2): Column (1) in percent of account group 1 (500,00)
Column (3): Column (1) in percent of account group 1 (500,00)
but only for the accounts of account group 1.
Column (4): Column (1) in percent of the respective account group
(500,00 or 1500,00).


Row set:

Set name symb.
RNo Set/Value Name
-----------------------------------------------
Header: RACCT-ALL ALL
Rows: 010 RACTT-GR1 GR1Z
020 RACTT-GR2 GR2Z

Header: RACCT-GR1 GR1K
Rows: 010 KONTO-01
020 KONTO-02

Header: RACCT-GR2 GR2K
Rows: 010 KONTO-03
020 KONTO-04
-----------------------------------------------


Column set:

Set name symb.
ZNr Value/Formula Name
-----------------------------------------------
Header: RPMAX-JAN
Rows: 010 1..12 YEAR
020 = / *100
030 = / *100
040 = /*100
-----------------------------------------------


Cell assignment:

CELL1 CELL2 CELL3
-----------------------------------------------------------
Column coordinate YEAR YEAR YEAR
Row coordinate GR1Z GR1K ALL
Level 2 *)
addressed value(s) 500,00 500,00 500,00
1500,00
-----------------------------------------------------------
*) Level 2 has the effect that the symbolic name ALL no longer
addresses the top node in the set RACCT-ALL but the
subordinate nodes RACCT-GR1 and RACCT-GR2.

Solution
Place the symbolic name in the row set possibly into the set row of the superordinate set.


Additional key words

----- SUPPORTGUIDE 20010411140028 -----
REPORTWRITER, SGRW_FORMULA, SGRW_AMOUNT, SGRW_RC_STRUCTURE, SGRW_DATA, SGRW_DOCU_CONS_NOTE
SGRW_OM SGRW_PS SGRW_PC SGRW_SL SGRW_PCA SGRW_EC SGRW_LIS

SAP Note 21756 - EDI: Error sending shipping notification

Symptom:

In the outbound shipping notification with the function module 'SD_EDI_DESADV_DES_ID01', no 'EDI_Z03LA' segment is sent for a document with several purchase order items if only the external purchase order item number is changed within the delivery items.
Moreover, the initialization of internal table structures is missing which leads to data from preceding documents being sent in the IDOC data records for several shipping notifications

Cause and prerequisites

Error in function module 'SD_EDI_DESADV_DES_ID01'.

Solution
Correction S11K129744 in Function module 'SD_EDI_DESADV_DES_ID01'
in 3.0.

1. Program LVEDDF0I: Routine 'initialize_global_structures'

form initialize_global_structures.

clear: parvw_checklist, <-- inserted
xvbdkl, <-- inserted
xvbpa, <-- inserted
xvbdpl, <-- inserted
xedidd, <-- inserted
sav_bstnk, <-- inserted
sav_posex, <-- inserted
sav_posnr. <-- inserted

refresh: parvw_checklist, <-- inserted
xvbpa, <-- inserted
xvbdpl. <-- inserted

* Initialise partner roles.
* Fill PARVW_CHECKLIST with all valid entries for EDI.
* N.B. In alphabetical order to allow binary search.
select * from edpvw.
parvw_checklist-parvw = edpvw-parvw.
append parvw_checklist.
endselect.
sort parvw_checklist.

endform.

2. Program LVEDDF0S
Routine 'send_segment_03to06_desadv using int_document'

form send_segment_03to06_desadv using int_document_number.

data: hfeld_03la(1) type c.
data: hfeld_06la(1) type c.
clear xvbdpl. <-- inserted
sort xvbdpl by bstnk bstdk posex posnr.
loop at xvbdpl.
* (DEL) on change of xvbdpl-bstnk. <-- deleted
* (DEL) perform send_segment_03la_desadv using int_document_number.
* (DEL) hfeld_03la = 'X'. <-- deleted
* (DEL) HFELD_06LA = 'X'. <-- deleted
* (DEL) endon. <-- deleted
* (DEL) on change of xvbdpl-posex. <-- deleted
* (DEL) if hfeld_03la ne 'X'. <-- deleted
* (DEL) perform send_segment_03la_desadv using int_document_number.
* (DEL) else. <-- deleted
* (DEL) hfeld_03la = space. <-- deleted
* (DEL) endif. <-- deleted
* (DEL) endon. <-- deleted
if xvbdpl-bstnk ne sav_bstnk or <-- inserted
xvbdpl-posex ne sav_posex. <-- inserted
perform send_segment_03la_desadv using int_document_number.
endif. <-- inserted
* (DEL) on change of xvbdpl-posnr. <-- deleted
if xvbdpl-posnr ne sav_posnr. <-- inserted
*(DEL) IF HFELD_06LA NE 'X'. <-- deleted
perform send_segment_06la_desadv using int_document_number.
*(DEL) ELSE. <-- deleted
*(DEL) HFELD_06LA = SPACE. <-- deleted
*(DEL) ENDIF. <-- deleted
*(DEL) endon. <-- deleted
endif. <-- inserted
sav_bstnk = xvbdpl-bstnk. <-- inserted
sav_posex = xvbdpl-posex. <-- inserted
sav_posnr = xvbdpl-posnr. <-- inserted
endloop.
endform.

2. Program LVEDDTOP

*---------------------------------------------------------------------*
* Helpfields *
*---------------------------------------------------------------------*

DATA: SAV_BSTNK LIKE VBDPL-BSTNK, <-- inserted
SAV_POSEX LIKE VBDPL-POSEX, <-- inserted
SAV_POSNR LIKE VBDPL-POSNR. <-- inserted

*---------------------------------------------------------------------*
* Constants *
*---------------------------------------------------------------------*

SAP Note 21738 - Device type SAPWIN

Symptom:

What is device type SAPWIN used for?

Reason and Prerequisites

This note contains information about the device type SAPWIN; it is not a problem-solving note.

Solution
The program SAPLPD has two functions. On the one hand, it can accept print data like a normal LPD and transfer this data to the host spooler. On the other hand, it can also interpret the special data stream SAPWIN/SWIN and convert it to GDI calls in MS Windows using the printer drivers provided by Windows or the printers.
'SAPWIN' is a data stream protocol, structured in a similar manner to a printer control language, as defined for existing printer families. R/3 contains the device type 'SAPWIN' (or SWIN), which is adapted to it.

'SAPWIN' is an SAP-internal format, which may change without prior notice.

SAPWIN recognizes and processes the following character strings that may be scattered through the output text: (In the subsequent text, 'Esc' always stands for '\033' (ESCAPE), for example, in the case of Unicode,

for the corresponding Unicode character). '\n' (NEWLINE) Line feed and at left margin
'\r' (RETURN) To left margin
'\f' (FORMFEED) form feed

Esc B 1 Normal type
Esc B 2 Bold type
Esc B 3 Extrabold type
Esc B 0 Light type

Esc C x y Set list color x = 0..7, y = N,H,V (as in ABAP)

Esc U 0 No underscores
Esc U 1 Underscores

Esc I 0 Italics off
Esc I 1 Italics on

Esc S s f Font size & family:
f = C Courier family (for example, Courier)
f = R Roman family (for example, Times Roman)
f = S Swiss family (for example, MS Sans Serif)
f = N Novelty family (for example, Old English)
f = H Script family (for example, Script)
f = X Do not change font family
s = Font size in TWIPS (optional)

Esc F name ; Choose font name
Also read Notes 11364 and 13350.

Esc P P|L Portrait/landscape mode


Esc p xx; Set paper size to xx (as of Release 4.02)
1 /* Letter 8 1/2 x 11 in */
2 /* Letter Small 8 1/2 x 11 in */
3 /* Tabloid 11 x 17 in */
4 /* Ledger 17 x 11 in */
5 /* Legal 8 1/2 x 14 in */
6 /* Statement 5 1/2 x 8 1/2 in */
7 /* Executive 7 1/4 x 10 1/2 in */
8 /* A3 297 x 420 mm */
9 /* A4 210 x 297 mm */
10 /* A4 Small 210 x 297 mm */
11 /* A5 148 x 210 mm */
12 /* B4 (JIS) 250 x 354 */
13 /* B5 (JIS) 182 x 257 mm */
14 /* Folio 8 1/2 x 13 in */
15 /* Quarto 215 x 275 mm */
16 /* 10x14 in */
17 /* 11x17 in */
18 /* Note 8 1/2 x 11 in */
19 /* Envelope #9 3 7/8 x 8 7/8 */
20 /* Envelope #10 4 1/8 x 9 1/2 */
21 /* Envelope #11 4 1/2 x 10 3/8 */
22 /* Envelope #12 4 \276 x 11 */
23 /* Envelope #14 5 x 11 1/2 */
24 /* C size sheet */
25 /* D size sheet */
26 /* E size sheet */
27 /* Envelope DL 110 x 220mm */
28 /* Envelope C5,162 x 229 mm */
29 /* Envelope C3 324 x 458 mm */
30 /* Envelope C4 229 x 324 mm */
31 /* Envelope C6 114 x 162 mm */
32 /* Envelope C65 114 x 229 mm */
33 /* Envelope B4 250 x 353 mm */
34 /* Envelope B5 176 x 250 mm */
35 /* Envelope B6 176 x 125 mm */
36 /* Envelope 110 x 230 mm */
37 /* Envelope Monarch 3.875 x 7.5 in */
38 /* 6 3/4 Envelope 3 5/8 x 6 1/2 in */
39 /* US Std Fanfold 14 7/8 x 11 in */
40 /* German Std Fanfold 8 1/2 x 12 in */
41 /* German Legal Fanfold 8 1/2 x 13 in */

As of NT4.0:
42 /* B4 (ISO) 250 x 353 mm */
43 /* Japanese Postcard 100 x 148 mm */
44 /* 9 x 11 in */
45 /* 10 x 11 in */
46 /* 15 x 11 in */
47 /* Envelope Invite 220 x 220 mm */
50 /* Letter Extra 9 \275 x 12 in */
51 /* Legal Extra 9 \275 x 15 in */
52 /* Tabloid Extra 11.69 x 18 in */
53 /* A4 Extra 9.27 x 12.69 in */
54 /* Letter Transverse 8 \275 x 11 in */
55 /* A4 Transverse 210 x 297 mm */
56 /* Letter Extra Transverse 9\275 x 12 in */
57 /* SuperA/SuperA/A4 227 x 356 mm */
58 /* SuperB/SuperB/A3 305 x 487 mm */
59 /* Letter Plus 8.5 x 12.69 in */
60 /* A4 Plus 210 x 330 mm */
61 /* A5 Transverse 148 x 210 mm */
62 /* B5 (JIS) Transverse 182 x 257 mm */
63 /* A3 Extra 322 x 445 mm */
64 /* A5 Extra 174 x 235 mm */
65 /* B5 (ISO) Extra 201 x 276 mm */
66 /* A2 420 x 594 mm */
67 /* A3 Transverse 297 x 420 mm */
68 /* A3 Extra Transverse 322 x 445 mm */

Esc c xx; Set CPI (xx characters per INCH;
xx.xx also possible for decimal places)

Esc l xx Set LPI (characters per INCH, xx.xx also possible)

Esc s x Super/Subscript + = Superscript
- = Subscript
0 = Normal

Esc G x Graphics character for list frame
* * *
0 = *** 1 = * 2 = ** 3 = ** 4 = ** 5 = **
* * *

* * * *
6 = ** 7 = ** 8 = *** 9 = *** : = *** ; = **
* * * *

*
< = * = = ** > = *
*

? = Field not selected (output as _)
@ = Field selected (output as X)

Esc G L sx,sy,ex,ey,thick,style,r,g,b;
Draw line from (sx,sy) to (ex,ey).
All measurements and positions are in TWIPS.
Use thickness 'thick' and style 'style'.
Style: 1 = (full line)
2 = (dashed line)
3 = (dotted line)
4 = (dashed/dotted)
5 = (dashed/2 * dotted)
r,g,b is the RGB color value for the line.

Esc G B sx,sy,ex,ey,thick,lstyle,corner,lr,lg,lb,fstyle,fr,fg,fb;
Draw a rectangle from (sx,sy) to (ex,ey).
All measurements and positions are in TWIPS.
Use thickness 'thick' and style 'lstype'.
Style as ESC G L (centered for all lines)
Also: 6 = full line outside the rectangle
0/7 = draw no frame
'corner' is the corner radius (0 = square corners)
(lr,lg,lb) is the RGB color value of the frame
'fstyle' is the fill pattern:
1 = empty
2 = horizontal lines
3 = vertical lines
4 = diagonal lines to the right
5 = diagonal lines to the left
6 = horizontal + vertical lines
7 = diagonal lines to the left and right
(fr,fg,fb) is the RGB color value for the fill pattern

Esc G b
Output the graphic described by and
at the current position.
is the standard Windows structure.
(As of Release 2.41, and only in the 32-bit version,
as of Release 2.46 also in the 16-bit version, but only up to 64KB bitmaps)

Esc G f
Output the BMP file at the current position.
is a zero-terminated string
(FAs of 2.53/3.04 also; allowed instead of hex-00)
(As of Release 2.41, and only in the 32-bit version,
as of Release 2.46 also in the 16-bit version, but only up to 64KB bitmaps)

Esc G F As ESC G f, graphics are also scaled to the
current font size.

Esc G M nn define macro nn (as Esc G b)
(as of SAPLPD 4.18)

Esc G m nn use macro defined before (as of SAPLPD 4.18)

Esc b barcode Esc Print barcode using barcode DLL
(No bars are output!)
Also refer to Note 14561.

Esc o A An OCR-A character follows (do not use this any more)
Esc o B An OCR-B character follows (do not use this any more)

Esc X Go to DLL extension (may or may not work...)

Esc x yz Output character with hexcode yz

Esc M T xx; Set top margin (unit of measurement = TWIPS as of 2.32)

Esc M L xx; Set left margin (1440 TWIPS = 1 inch = 2.54 cm)
only as of SAPLPD 2.32

Esc D x Set duplex mode
(as of Version 2.44) do not set a default in the
print manager!
x = 'S' Simplex
'D' Duplex (long side)
'T' Tumble (short side)
'F' Print on front
'B' Print on back

Esc T n Select Papertray n
(As of Version 2.44)
n=1..9 (Tray number; interpretation is printer-dependent)
n=M Manual feed
n=E Envelopes
n=e Manual envelopes

Esc d nnnn Output SAPding (requires font)

Esc i nnnn Output SAPicon (requires font up to Version 2.45
as of 2.46, output possible as bitmap graphics)

Esc r ; Output SAPicon with the resource name


Esc R nn Output SAPicon with internal Code 00..ZZ (as of Release 4.21)

Esc t ; Pass data directly through to printer
are 2-digit hexadecimal characters
(can be used for control codes;
functions only if the Windows driver supports
this function - most drivers do NOT support it!)


Esc m x,y; Move to (x,y) Position in TWIPS

Esc w x; Set width of space character in TWIPS

Esc O M p|l p = Use physical paper edge
l = Use logical paper edge (printable area) [default]
(commands only effective with enable_phys_margins=1 [default])

Esc O C b|t b = Use baseline for character positioning
t = Top of the character is the reference point

Esc O p 0|1 0 = Do not use proportional fonts
1 = Allowed proportional fonts

Esc O s 0|1 0 = Do not automatically determine character spacing from
the font size
1 = Character spacing derived from font size

Esc O a 0|1 0 = Issue ABAP lists individually
1 = Issue as a string (you are not allowed to use ESC c)

(may not be used if lists with proportional fonts
(Arial and so on) are to be output.)


Esc W x; Set WinCharSet to x (see WINNT.H)

Esc L hhhh; Set locale to hhhh. hhhh is hex-coded
LANG- and SUBLANG (see WINNT.H)
Esc L c; Locale on c (internal R/3 coding of the language key)
Esc L; Reset locale to previous value (SAPLPD 4.28 and higher)

Esc > m,n; Distribute output on m pages with n characters per page
(can be used for wide lists, for example)
(requires SAPLPD 4.15 or higher)

Esc < 2|4 Print 2 or 4 pages per page (SAPLPD 4.15 or higher)
Must come immediately after ESC %SAPWIN%!
(automatic scaling)

Esc f r,g,b; Define text colour RGB

Esc q m; Set page length in m*1/10 millimeters (SAPLPD 4.25 or higher)

Esc %SAPWIN% Indicates that this is a SAPWIN data stream
(Should be the first command in the initialization
and the title page)
(As of SAPLPD 6.00, SAPLPD also understands a UNICODE
data stream (UTF16-LE), if %SAPWIN% is coded in UNICODE.)



We plan to develop SAPWIN upwards only. This should make it possible to use new SAPLPDs even if the R/3 System has not been upgraded.
However, we only guarantee that the R/3 device type SAPWIN (SWIN) matches the associated SAPLPD.

SAP Note 21734 - Determining sales tax (VAT) from any partner

Symptom:

The tax determination requires the following information:
country of origin
destination country
tax number STCEG for businesses within the EC
tax classification of the customer
tax classification of the material

The determination of the country of origin and the associated access to the customer master and material master for the determination of the tax classification is described in Note 10560.

The determination of
country of origin
tax number
tax classification of the customer
in the standard system is performed according to certain rules:

      a) The destination country is generally taken from the ship-to party.
      b) The tax classification of the customer is determined from the ship-to party, the payer, or the sold-to party based on the existence of a tax number in the customer master record (also see Note 15244).


How can you configure the system such that the tax determination, that is
destination country
tax number
tax classification of the customer
is not done using this rule, but instead is determined

    1. generally from the sold-to party
    2. generally from the payer
    3. based on the existence of the tax number
    4. generally from the ship-to party

----------------------------------------------------------------------
Symptom 2:
*********
Tax data that was created manually is lost when relevant address data of the ship-to party (for example, the field 'Land') is changed. However, the original tax data should be kept.

Additional key words

Tax determination, STCEG, Tax number, Indentification number, Tax classification, Country

Cause and prerequisites
Solution
The possibility of selecting the desired procedure via customizing settings exists as of Release 4.0.
A solution is possible by a modification to the user exits. Refer also to Note 381348. As a precondition, however, the correction to programs LV05EU01 and LV05EU06 described below must be performed. This correction is present in the standard from Release 2.2F.

***********************************************************************
Adjusting customer order completion
***********************************************************************

To make the desired control possible, program MV45AFZZ is available for customer order completion. In the routine USEREXIT_PRICING_PREPARE_TKOMK you can use the following commands:

Possibility 1:
If you generally want to use the sold-to party for tax determination

TKOMK-TAXK1 = KUAGV-TAXK1. <--- for the tax indicator: Customer
TKOMK-LAND1 = KUAGV-LAND1. <--- for the Country Key

Possibility 2:
If you generally want to use the payer for tax determination

TKOMK-TAXK1 = KURGV-TAXK1. <--- for the tax indicator: Customer
TKOMK-LAND1 = KURGV-LAND1. <--- for the Country Key

Possibility 3:
If you want to control the tax determination independently (according to choice) of the ship-to party, the the sold-to party or the payer.

IF KURGV-STCEG NE SPACE AND KURGV-KUNNR NE KUAGV-KUNNR.
TKOMK-LAND1 = KURGV-LAND1.
ELSEIF KUWEV-STCEG NE SPACE OR KUAGV-STCEG = SPACE.
TKOMK-LAND1 = KUWEV-LAND1.
ELSE.
TKOMK-LAND1 = KUAGV-LAND1.
ENDIF.


In possibility 3, the receiving land is determined according to the same logic used to determine the tax number (STCEG) and the tax classification (TAXK1) of the customer.


Possibility 4:
If you want to pull up the ship-to party for the tax determination generally

TKOMK-TAXK1 = KUWEV-TAXK1. <--- for the tax indicator: customer
TKOMK-LAND1 = KUWEV-LAND1. <--- for the country key

***********************************************************************
Adjusting the billing document
***********************************************************************
Create a new data transport routine for the billing document with Transaction VOFM by copying the coding used and expanding it with the additions below. Afterward, place this new data routine in the document flow for the affected types of billing documents.
Possibility 1:
VBRK-TAXK1 = KUAGV-TAXK1. <--- for the tax indicator: Customer
VBRK-LAND1 = KUAGV-LAND1. <--- for the Country Key
if vbrk-stceg_h ca 'ABC'.
VBRK-STCEG = KUAGV-STCEG. <--- for the tax number
vbrk-stceg_h = 'C'.
vbrk-stceg_L = kuagv-land1.
endif.

Possibility 2:
VBRK-TAXK1 = KURGV-TAXK1. <--- for the tax indicator: Customer
VBRK-LAND1 = KURGV-LAND1. <--- for the Country Key
if vbrk-stceg_h ca 'ABC'.
VBRK-STCEG = KURGV-STCEG. <--- for the tax number
vbrk-stceg_h = 'B'.
vbrk-stceg_L = kurgv-land1.
endif.

Possibility 3:
IF KURGV-STCEG NE SPACE AND KURGV-KUNNR NE KUAGV-KUNNR.
VBRK-LAND1 = KURGV-LAND1.
ELSEIF KUWEV-STCEG NE SPACE OR KUAGV-STCEG = SPACE.
VBRK-LAND1 = KUWEV-LAND1.
ELSE.
VBRK-LAND1 = KUAGV-LAND1.
ENDIF.

Possibility 4: VBRK-TAXK1 = KUWEV-TAXK1. <--- for the tax indicator: Customer
VBRK-LAND1 = KUWEV-LAND1. <--- for the Country Key
if vbrk-stceg_h ca 'ABC'.
VBRK-STCEG = KUWEV-STCEG. <--- for the tax number
vbrk-stceg_h = 'A'.
vbrk-stceg_L = kuwev-land1.
endif.

***********************************************************************
***********************************************************************

For possibilities one and two, the following corrections must still be performed (in Standard from Release 2.2F)

Correction in program LV05EU01
.
.
* Lesen Kundenstamm
PERFORM LESEN_KUAGV_KNA1_01.
* EG93ADD
* IF LKNA1-STCEG NE ' '. <--- delete
.
.
.
* IF VTCOM-ALAND CN ' ' AND ZAEHL > 0
* Flag: Steuerdaten sind o.k.
* KUAGV-STDOK = 'X'.
* ENDIF.
* ENDIF. <--- delete
* EG93ADD
.
.
.

Correction in program LV05EU06
.
.
KURGV-STCEG = KNAS-STCEG.
ENDIF.
*IF KURGV-STCEG NE ' ' AND VTCOM-ALAND NE ' '. <--- delete
IF VTCOM-ALAND NE ' '. <--- insert
* Steuern
IF VTCOM-ALAND CN ' '.
PERFORM LESEN_KUWEV_KNVI_04.
. .


Correction in program LV05EU02
.
.
.
PERFORM LESEN_KUAGV_KNA1_01.
* EG93ADD
* IF LKNA1-STCEG NE ' '. <--------- delete
* Steuern
IF VTCOM-ALAND CN ' '.
PERFORM LESEN_KUWEV_KNVI_04.
IF LTSTL-TALND NE VTCOM-ALAND.
SELECT * FROM TSTL INTO TABLE LTSTL WHERE TALND = VTCOM-AL
ENDIF.
ENDIF. <---------- delete
* Steuerindikatoren
.
.
.
.
ENDLOOP.
ENDIF.

* IF VTCOM-ALAND CN ' ' AND ZAEHL > 0.
* Flag: Steuerdaten sind o.k.
* KUAGV-STDOK = 'X'.
* ENDIF.
* ENDIF. <--------- delete* EG93ADD

---------------------------------------------------------------------
Solution for symptom 2: correction in program MV45AFZB
******************** ...
form userexit_check_vbak using us_dialog.
*>>>>>>>>>>>>>>>>>>>>> start of insertion<<<<<<<<<<<<<<<<<<<<<<<<<<<<
if not rv02p-weupd is initial and svbak-tabix > 0.
vbak-taxk1 = *vbak-taxk1.
vbak-taxk2 = *vbak-taxk2.
vbak-taxk3 = *vbak-taxk3.
vbak-taxk4 = *vbak-taxk4.
vbak-taxk5 = *vbak-taxk5.
vbak-taxk6 = *vbak-taxk6.
vbak-taxk7 = *vbak-taxk7.
vbak-taxk8 = *vbak-taxk8.
vbak-taxk9 = *vbak-taxk9.
endif.
*>>>>>>>>>>>>>>>>>>>>> end of insertion <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
endform.
...

SAP Note 21728 - RFFOUS_C - No payment advice notes in batch

Symptom:

If you start program RFFOUS_C (which prints prenumbered checks) in batch and do not wish to issue checks but only payment advice notes, then the following error messages appear:

FS547 Lot 0000 not found
F0073 Program RFFOUS_C: No records selected

You can generate the payment advice notes online without any errors.

Cause and prerequisites

Program error

Solution
Error has been corrected for Release 2.2H/3.0D. An interim correction is possible.

Additional key words

RFFOUS_C, Check info

SAP Note 21724 - Zero values are output w/o decimal places

Symptom:

Zero values are output without decimal places, although decimal places have been defined for the corresponding format class in the layout.
Key words: Report Writer

Cause and prerequisites

The number of decimal places for outputting a value is determined from the specification in the layout and the unit of the value. The number of decimal places assigned to the unit (currency unit or unit of measure) are not exceeded during output, however. Zero values for which no unit could be determined are always output without decimal places. Example: numbers in pieces are never output with decimal places because the unit of measure "Piece" has not been assigned any decimal places.
The maximum possible number of decimal places is increased accordingly when scaled - for example, numbers in pieces are output with a maximum of 3 decimal places when scaled in thousands.

Solution

If you always want to output the number of decimal places specified in the layout - independent of the unit - you can implement the following modification:
Please delete the lines marked with H21724 below from FORM routine E17_EDIT_AMOUNT, include FGRWEE17 (mark with asterisks).

FORM E17_EDIT_AMOUNT USING E17_VALUE

...

*....... factor and decimals in output ...............................*

XCOUNT2 = E17_ROUND + E17_DECIMALS.
* IF XCOUNT2 < E17_DECIP. "<--delete H21724
* XCOUNT1 = XCOUNT2. "<--delete H21724
* ELSE. "<--delete H21724
XCOUNT1 = E17_DECIP.
* ENDIF. "<--delete H21724

...

ENDFORM.
You do not have to regenerate the report groups.

SAP Note 21719 - Sort versions: Which tables can you use?

Symptom:

Which tables can be used for sort versions for asset reporting?
Runtime error GET_WA_NOT_ASSIGNED occurs.
The system generates error message AB066 or AB067.

Cause and prerequisites

The problem is caused by customer-defined sort versions, or incorrect use of sort versions.

Solution
Only fields from the asset and depreciation area themselves can be used in sort versions. In reporting, this means table ANLAV, which contains the fields of table ANLZ (time-dependent data) and table ANLB (depreciation areas) in addition to table ANLA.
In addition, table ANLV (insurance data) can also be used. Table ANLP (posted depreciation) can also be used from Release 2.2 onwards.
Note that it is not possible to include tables based on transactions (ANEK/ANEVP).
If, for example, the transaction type were to be used as a sort criterion, there is no way to avoid having the assets listed several times, which may cause serious problems depending on the type of report involved.
The usage of fields from the investment program (program name or investment program position) is only possible in a report that processes investment programs.
A check when calling the report is implemented as of Release 4.5B. You can implement it in advance by applying Note 139823.
A sort version with depreciation area fields (table ANLB) cannot be used for lists in which more than one depreciation area can be processed (only a few reports allow this, for example RABIKA01 for comparing depreciation). The reason for this is that there is no way of specifying one of up to three areas for the sort version.
Fields from tables ANLP and ANLV can only be used in a sort version if the same tables are used in the relevant report (currently only the case with reports RAGAFA01 and RAVERS01). If these fields are used in other reports, runtime error GET_WA_NOT_ASSIGNED could occur.
An incorrect version of standard sort version 0017 was included in the deliveries up to and including Release 4.6B. By mistake, it contains table ANLA instead of ANLAV. To correct the error, replace table ANLA with ANLAV.

Additional key words

T086, V_T086, OAVI, sort version, PRNAM, PRPOS, investment program

SAP Note 21717 - Periodic distribution of interest/depreciation

Symptom:

The amount of interest to be posted into RABUCH00 for the period cannot be followed.
How is this amount determined?
Key words: Interest distribution, depreciation posting

Cause and prerequisites

Missing documentation

Solution
This net book value is taken period-specifically into account for interest keys which refer to the current net book value with the base value during depreciation posting. That is: the net book value (period net book value) determined for the posting period is used as a planned value for the distribution during the fiscal year instead of the year-end book value.

An example of such an interest key is the interest of the average net book value which is determined as follows:

Interest amount = (RJBG + RJPER) / 2 * Interest rate / 100

RJPER = Net book value for the period
RJBG = Net book value at the start of the year

Example:

Fixed asset: Net book value at start of the year = APC = 12,000
Useful life 10 years with linear depreciation --> 10 %

1. Determination of the annual depreciation:
1.1. Planned annual depreciation: 12.000 / 10 = 1.200

1.2. Period depreciation to be posted: 100 per period

1.3. Net book values per period: 01 - 11.900
02 - 11.800
03 - 11.700
...
12 - 10.800

2. Determination of interest: 5 % of the average net book value

2.1. Planned annual interest:

(12.000 + 10.800 ) / 2 * 5 / 100 = 570

2.2. Interest to be posted:
Period 01: (12.000 + 11.900 ) / 2 * 5 / 100 / 12 * 1 = 49,79

Period 02: (12.000 + 11.800 ) / 2 * 5 / 100 / 12 * 2 = 99,17
posted so far: 49,79
to be posted : 99,17 - 49,79 = 49,38


Period 03: (12.000 + 11.700 ) / 2 * 5 / 100 / 12 * 3 = 148,13
posted so far: 99,17
to be posted : 148,13 - 99,17 = 48,96
...
The example figures can vary due to the settings in Customizing for rounding (for example, always integers ).
Similar problems can also occur when posting the depreciation if the base value for depreciation also uses the period-specific net book value.

SAP Note 21716 - Acct. assign. field GSBER in check deposit program

Symptom:

When entering a check deposit list, the customer wants to be able to enter the business area as well, which will control the postings. You cannot currently include the business area in any entry variant
Key words:
FF68, OT45, SAPMF40S, BSEG-GSBER

Cause and prerequisites

As of 3.0D, the entry of a business area will be supported in check deposit in the standard system.

Solution

Modification possible (Release 2.2 and later):

************************************************************************
1.) Expand structure (SE11):
============================

Add field "GSBER_KF" with data element "GSBEI_EB" to structure "FEBSCK_KF". Activate the structure.

************************************************************************
2.) Add to the screen (SE51):
=============================

Place the field on screen "SAPVF40S/1001" (release 2.2) or "SAPVF40S/1003" (release 3.0). Note the following:

  • a) Field "FEBSCK-GSBER_KF" must be selected as a long key word.
  • b) Field "FEBSCK-GSBER_KF" must be selected as a template. Enter the value "222" as modification group 1.
  • c) Field "*FEBSCK-GSBER_KF" must be selected as a header.
  • d) Add statement "FIELD FEBSCK-GSBER_KF." to the flow logic.

Generate the screen.

************************************************************************
3.) Change the program (SE38) (release 2.2 only):
=================================================

Insert the lines indicated below. Then perform a syntax check.
------------------------------------------------------------------------

Include MF40SFA1:
-----------------

FORM KF_FELDER_FUELLEN.

KF_FELDER-FNAME = 'FEBSCK-VERTT_KF'.
APPEND KF_FELDER.
KF_FELDER-FNAME = 'FEBSCK-GSBER_KF'. <--NEW
APPEND KF_FELDER. <--NEW

ENDFORM.


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

Include MF40SFB1:
-----------------

FORM AUSZUG_EINLESEN.
.
.
.
* Einzelsätze (und Referenzsätze) lesen
SELECT * FROM FEBEP WHERE KUKEY = FEBKO-KUKEY
ORDER BY PRIMARY KEY.
CLEAR TAB1.
MOVE-CORRESPONDING FEBEP TO TAB1.
TAB1-VERTT_KF = FEBEP-VERTT.
TAB1-GSBER_KF = FEBEP-GSBER. <--NEU
SELECT * FROM FEBRE WHERE KUKEY = FEBKO-KUKEY
AND ESNUM = FEBEP-ESNUM.
.
.
.
ENDFORM.


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

Include MF40SIC1:
-----------------

MODULE D02XX_LOOP.
.
.
.
* Werte übernehmen
* Standard TAB1-Felder
IF NOT FEBSCA-KWBTR IS INITIAL.
TAB1-KWBTR = FEBSCA-KWBTR.
ENDIF.
* Kundenfelder
.
.
ENDIF.
ENDCASE.
ELSEIF DYNP_KFELD-FNAME+12(3) = '_KF'. <--NEU
* TAB1-Kontierungsfeld <--NEU
TAB1_NAME+5(10) = DYNP_KFELD-FNAME+7(10). <--NEU
ASSIGN (TAB1_NAME) TO . <--NEU
IF SY-SUBRC = 0. <--NEU
= . <--NEU
ENDIF. <--NEU
ELSE.
* TAB2-Feld
TAB2-ZEINR = COUNT.
.
.
.
ENDMODULE.


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

Include LF40KF02:
-----------------

FORM S_FEBEP_FILL.
.
.
.
FEBEP-VERTT = TAB1_S-VERTT_KF.
FEBEP-GSBER = TAB1_S-GSBER_KF. <--NEU
.
.
.
ENDFORM.


************************************************************************

SAP Note 21709 - RVINVB00 and KMAT causes error message 00045

Symptom:

When you try to use program RVINVB00 to copy orders that contain configurable materials (KMAT, item category TAC), a termination occurs:
A: Screen source RVINVB00 0460 is not available (EM 00045)

Cause and prerequisites

Due to technical limitations, it is not currently possible to copy orders with configurable materials using RVINVB00 or RVINVB10.

Solution
None currently available.


Additional key words

RVINVBT0

3.2.11

SAP Note 21706 - RABUCH00 - Reconciliation posted values are impossible

Symptom:

The posted values of the current period do not match the total of the posted values of the previous period and the amount to be posted. Key words: Special reserves, reconciliatio

Cause and prerequisites

Incorrect understanding of the booking list.

Solution
The list of the audit trail RABUCH00 cannot be used for the reconciliation of the value posted up to now, since the fixed assets which do not have an amount to be posted in the current period are not shown there.
Example: If the entire posting amount of the year was posted in the amount of DM10 for a fixed asset in the previous period, this fixed asset is not contained in the current period in the RABUCH list and is consequently missing from the total.
The reconciliation of the posted values is possible as of Release 2.2 with report RAGAFA01.

SAP Note 21705 - Termination during inspection lot creation

Symptom:

Termination during the inspection lot creation, for example, for a goods receipt. Error message: Program " " not found.
Key words: "SAPLCPSE" "LOAD_PROGRAM_NOT_FOUND"

Cause and prerequisites

Specifications for application Q were missing in the view maintenance for view V_TCA44 (which can be maintained with transaction SM30).

Solution

Please include the following in the above view with transaction SM30:

    1. Select the entry "Q" and branch to the detail screen.
    2. On the detail screen: Enter QPAP_RANG_FIND for field "Perform" and SAPLQPAP for field "Program".


If you have no entry at all, select "New entries" and enter in addition the following data:
Application : Q
Task list type : *
Selection ind. : Q1

SAP Note 21703 - CONVERT_NO_NUMBER termination when selecting via matchcode

Symptom:

Termination with CONVERT_NO_NUMBER (Program SAPLCJPN) occurs during matchcode selection of WBS element.
Termination point: Function CJPN_PROJEKTNUMMER_UNEDIT (Include LCJPNU02)

Cause and prerequisites

Matchcode problem

Solution

This is described below using matchcode MEKK, matchcode ID P as an example:

Note (release 2.2x):
--------------------

  • You can only make this change when the matchcode object does not have a matchcode ID with activation type P (program-controlled matchcode creation).
  • If program controlled matchcode-IDs already exist in a match code object, then a transparent Matchcode-ID can only be created if no new secondary table must be declared (starting with 3.0x this restriction no longer applies).


1. Maintain the technical settings for table EKKN in the Data Dictionary and activate them.
Then enter the foreign key for PS_PSP_PNR as a semantical foreign
key with degree of dependency OPT and cardinality CN.
2. Activate table EKKN
3. Add table PRPS as a secondary table of matchcode object MEKK.
To do this, place the cursor on table EKKN in matchcode object
maintenance and click on the button for secondary table selection.
4. Add the fields PRPS-PSPNR and PRPS-POSID to MC object MEKK.
5. Activate MC object MEKK.
6. Now maintain MC ID P and change the update type to "I".
7. Add table PRPS as a secondary table here as well. Save your changes.
8. Select the list of fields for MC ID 'P' and insert one line before
field EKKN-PS_PSP_PNR. Enter field POSID there.
In the line of field EKKN-PS_PSP_PNR, activate the flags "Mod"
and "Ns". In the "C1" column, overwrite the value "26" with a "1".
Save your changes and go back to the header data of MC ID "P".
9. Start program SAPMACO with object MEKK, function DEL, and
client "*". Select the ID "P" and run the program. Use a parallel
session to do this.
10. Activate MC ID MEKK-P; ignore the warning messages.
11. Use the menu item Utilities -> Database utility -> View for
generation and generate the view for the MC ID online.
12. Define a database index for field PS_PSP_PNR in table EKKN.
SE11 - EKKN change - Indices - ID '1' Field MANDT Field PS_PSP_PNR Save and activate. Create online via Utilities -> Database utility -> View.
13. Test the changed matchcode.

SAP Note 21701 - E00159 The logon language does not fit...

Symptom:

Logon is rejected.

Error message:
E00159 The logon language does not fit the system code page...
E00159 ...

Cause and prerequisites

Incorrect application server selected.
-or- Table TCP09 has not been maintained.

To log on to R/3, several tests must first succeed:
1: Client exists
2: User exists in client
3: Client + user + password match
4: Logon language is installed in the system
(Otherwise: E00171 with list of installed languages)
5: The logon language matches the application server character set
(Check 5 is the subject of this note)
6: The SAPGUI character set matches that of the application server
(Check 6 is not yet active)

Solution
If R/3 uses mixed character sets, each user will have to log on to a suitable application server. Example: If you want to work in Russian, you can work only on an application server that uses SAP character set 1500. The character set of the application server where you tried to log on is output in the error message.

If the application server is correct, but you still cannot log on, the contents of table TCP09 may be incomplete.
There are two possible solutions:

Repair A:
A logon in English will always work. Log on in English and use transaction SM31 to add to table TCP09. Then log off and on again.

Note: Cases have been reported where transaction SM31 did not work because checks against other tables did not function properly. If, for example, a message appears such as:
A: E Q
this means that table T002T is missing an entry that indicates what the Slovakian language ("Q") is called in English ("E"). In this case, try B below:

Repair B:
Log on to a different application server - one that uses a suitable character set. Maintain table TCP09 there. You must then wait 3 to 5 minutes, however (depending on the buffer refresh rates) before you can repeat your original logon attempt.

Repair C:
Run report RSCP0014. The report is familiar with several possible
entries for table TCP09 and can, if desired, insert them.

Repair D:
Use transaction SE51 (Screen Painter) to change the process logic of MSTTCP09/1000: If all FIELD and SELECT statements are removed, there is no further external check.

Repair E:
The table TCP09 is transparent and can be maintained externally via SQL, assuming you have suitable access rights. After this, you need to log in again in English and enter "/$TAB" in the OK code line

Another note: If you change table TCP09, you should restart the SAPGUI before repeating the logon attempt. If you attempt to simply enter the password again on the logon screen, the table is not always read again.

Sensible entries to have in table TCP09:

Language Character Set
------------------------------------------------------------------------
1 Chinese 8400 Simplified Chinese
3 Korean 8500 Korean
B Hebrew 1800 SAP internal, as ISO 8859-8 (hebrew)
C Czech 1401 SAP internal, as ISO 8859-2
D German 1100 SAP-internal, as ISO 8859-1 (00697/00819)
D German 1150 SAP-internal, as ISO 8859-1 [for multi-codepage]
D German 1401 SAP internal, as ISO 8859-2
D German 1600 SAP-internal, as ISO 8859-3
D German 1610 SAP-internal, as ISO 8859-9 (Latin No.5)
E English 1100 SAP-internal, as ISO 8859-1 (00697/00819)
E English 1150 SAP-internal, as ISO 8859-1 [for multi-codepage]
E English 1401 SAP internal, as ISO 8859-2
E English 1500 SAP-internal, as ISO 8859-5
E English 1600 SAP-internal, as ISO 8859-3
E English 1610 SAP-internal, as ISO 8859-9 (Latin Nr.5)
E English 1700 SAP-internal. as ISO 8859-7 (Greek)
E English 8000 Shift JIS
E English 8100 EUC Extended Unix Codepage
E English 8200 JIS
E English 8300 Traditional Chinese
E English 8400 Simplified Chinese
E English 8500 Korean
F French 1100 SAP-internal, as ISO 8859-1 (00697/00819)
F French 1150 SAP-internal, as ISO 8859-1 [for multi-codepage]
G Greek 1700 SAP-internal, as ISO 8859-7 (Greek)
I Italian 1100 SAP-internal, as ISO 8859-1 (00697/00819)
I Italian 1150 SAP-internal, as ISO 8859-1 [for multi-codepage]
J Japanese 8000 Shift JIS
J Japanese 8100 EUC Extended Unix Codepage
J Japanese 8200 JIS
K Danish 1100 SAP-internal, as ISO 8859-1 (00697/00819)
K Danish 1150 SAP-internal, as ISO 8859-1 [for multi-codepage]
L Polish 1401 SAP internal, as ISO 8859-2
M Chinese 8300 Traditional Chinese
N Dutch 1100 SAP-internal, asISO 8859-1 (00697/00819)
N Dutch 1150 SAP-internal, as ISO 8859-1 [for multi-codepage]
O Norwegian 1100 SAP-internal, as ISO 8859-1 (00697/00819)
O Norwegian 1150 SAP-internal, as ISO 8859-1 [for multi-codepage]
P Portuguese 1100 SAP-internal, as ISO 8859-1 (00697/00819)
P Portuguses 1150 SAP-internal, as ISO 8859-1 [for multi-codepage]
Q Slovakian 1401 SAP internal, as ISO 8859-2
R Russian 1500 SAP-internal, as ISO 8859-5
S Spanish 1100 SAP-internal, as ISO 8859-1 (00697/00819)
S Spanish 1150 SAP-internal, as ISO 8859-1 [for multi-codepage]
T Turkish 1600 SAP-internal, as ISO 8859-3
T Turkish 1610 SAP-internal, as ISO 8859-9 (Latin No.5)
U Finnish 1100 SAP-internal, as ISO 8859-1 (00697/00819)
U Finnish 1150 SAP-internal, as ISO 8859-1 [for multi-codepage]
V Swedish 1100 SAP-internal, as ISO 8859-1 (00697/00819)
V Swedish 1150 SAP-internal, as ISO 8859-1 [for multi-codepage]


Additional key words

MNLS

SAP Note 21699 - Scrolling in the batch split screen

Symptom:

In certain situations, you cannot create new batches in the batch split screen because you cannot scroll to a screen with blank lines

Cause and prerequisites

The function 'Create items' ('Positionen anlegen') which is to be used here, is not active in this screen.

Solution
The following actions are required:

1. Call the status maintenance of status UCH with transaction SE41. With F2 on 'Edit' ('Bearbeiten'), functions that are possible here are displayed.
Activate the function 'Create items' ('Positionen anlegen') with
the key 'Activate <-> Deactivate' ('Aktivieren/Deaktivieren').
If the function is not present, then it must be included under the
name POAN.

2. Include the following entry with SM31 in table T185 in the screen sequence control for the clients used:
a) Application area SAPMV50A
Screen seq. group *
lt. group screen seq. *


Screen group U0 Subsequent scr. group
Panel UCH Subsequent panel
Function code POAN Subseq. function code ENT1


Module of screen change POSITION_ANLEGEN
Program SAPFV50P
Module on return
Program on return


Parameter source A
Stack operation 0
b)
Program SAPMV50A
Screen seq.grp header *
Screen seq.grp item *


Screen group U0 Subsequent screen group
Panel CHSP Subsequent panel
Function code POAN Subsequent funct.code ENT1


Module of screen change POSITION_ANLEGEN
Program SAPFV50P
Module on return
Program on return


Parameter source A
Stack operation 0

SAP Note 21697 - Term. ME028 when creating RFQ with item category L

Symptom:

When you create a request for quotation (Transaction ME41) or a contract (Transactions ME31, ME31K) with item category L (subcontracting) (with or without reference), the system terminates with message ME028 'Field selection PT3A not defined' (or PT3K).

Cause and prerequisites

No subcontracting is provided in the standard system for REFQs and contracts.

Solution
You can create field selection key PT3A or the PT3K in Customizing by copying from PT0A or PT0K ( step "Define Screen Layout at Document Level"). After this, you can create a subcontracting item. However, no BOM explosion is carried out and no component screen is displayed.

SAP Note 21686 - CO reports: Fields of structure CCSS not permitted

Symptom:

During the library maintenance of Report Writer GR22 as well as during the set maintenance GS02, the fields of structure CCSS, such as PARGB, PRCTR and others are not displayed. However, these fields are displayed in SE12.

Other terms

----- SUPPORTGUIDE 20010208103353 -----
REPORTWRITER, SGRW_DOCU_CONS_NOTE, SGRW_DATAMODEL
SGRW_OM, SGRW_PS, library, field

Reason and Prerequisites

Database structure CCSS and Report Writer table CCSS have nothing in common except for the name. Report Writer table CCSS is defined in the control tables of the Report Writer and cannot be changed by the user. All fields that can be used for the report definition are displayed during the library maintenance.

Solution
If you cannot create the desired report with the displayed fields, contact your consultant.

SAP Note 21682 - Runtime of VL04: Process delivery due list

Symptom:

Processing the delivery due list (VL04) takes too much time.

Cause and prerequisites

This problem occurs particularly it if there are many sales orders due for processing for which the program tries to create deliveries during each transaction run. This could include sales orders that are blocked for the delivery or, for example, sales orders for which no availability was given so far.

Solution
Instead of trying to supply also the 'old' sales orders during each run in VL04, you could alternatively start VL04 several times a day and closely restrict the selection of the sales orders to be delivered in this case by:
- additionally entering the "From" selection date (date on which delivery is created) in addition to the "To" selection date. If you, for example, choose the current date in both cases, deliveries are only created for the sales orders that are due for shipping today.
- not using any data as selection criterion that refer to order items (for example, material, plant).
With this procedure, you can make sure that the new sales orders are transferred quickly to shipping department and that the log of run stays small and changeable.
In addition, you should start VL04 periodically, for example, daily or weekly for all sales orders due for shipping to edit the backlog to be reduced. In this case, we recommend to schedule such a run (SAPMV50S) in the background.

SAP Note 21681 - HR: Sick pay supplement for civil service employees

Symptom:

The sick pay supplement for employees of the civil service cannot be
calculated with schemas D1KA and D1BL.

Cause and prerequisites

This functionality is missing.

Solution

Building in this functionality requires a lot of time and energy. If
you are not under pressure of time, it is best to wait until you have
upgraded to Release 2.2G or Release 3.0B.
If you cannot wait until then, carry out all the steps described below.
When you do this, remember that the names of schemas and cycles in the
Civil Service often contain an O (letter) and not a 0 (number).


Two variants were taken into consideration when net pay during approved
leave was being calculated:

Variant 1:
-----------
You can find this type of calculation in schema DOZ1. The net pay during approved leave is calculated for the period when the employee receives sick pay supplement.
Payroll treats the personnel number as if it were paid and present only during the time of the sick pay supplement. On all other days it is set at 'unpaid'.
To make use of this version, you must activate the lines marked V1 below in schema DOZ1 and deactivate the lines marked V2.

Variant 2:
-----------
You can find this calculation variant in schema DOZ2. This is where
the net pay during approved leave is paid. Payroll treats the personnel
number as if it were on leave for the whole month. This means that the
gross amount is formed from the components that are laid down in
monthly amounts plus the vacation bonus for one whole month.
To make use of this variant, you must activate the lines marked V2 below
in schema DOZA and deactivate the lines marked V1.


Carrying out this correction:
-----------------------------
***********************************************************************
Changes/Functionalities of schemata
***********************************************************************

Step 1
----------
Add the lines marked <---- to the payroll schema that you use (D1KA
oder D1BL). Note: by way of example, these additions were carried out in schema D1KA in the Note. Schema D1BL can be extended in the same way.

Attention: this is only an excerpt of schema D1KA!

Func. Par1 Par2 Par3 Par4 P D Text
COM Payroll schema: Civil Service
COM Valid for : BAT VKA
COM : BMTG
COM Date.............: 17.06.1994
COM ---------------------------------------
GRBEG ***** Start of gross part ****
DOED set switch for civil service
COPY DIN0 * Initialization Germany (switch)
COPY DOGD basic data
P0015 DO26 P67 NOAB read additional payments
IF DO27 sick pay, insurance fund?
IF DO63 <----- supplement for employees
COPY DOZA <----- calculation: supplement for employees
ELSE <----- becomes: supplement for employees
COPY DOKZ calculate sick pay supplement
ENDIF <----- becomes: supplement for employees
PIT DO29 NOAB save wtypes in IT in variables
ENDIF becomes: sick pay, insurance fund?

    1. Create schema DOZA anew
    ---------------------------------


Func. Par1 Par2 Par3 Par4 P D Text
COM Teilschema: Öffentlicher Dienst
COM Gültig für: BAT
COM Ergänzen IT um Ergebnislohnarten
COM Nettourlaubslohn
COM Stand............: 08.05.1995
COM -------------------------------------
RFRSH ALL delete all
COPY DOZ1 calculate net pay during leave V1
PRT DO28 P67 NOAB net pay during leave..save in IT V1
COPY DOZ2 * calculate net pay during leave V2
PRT DO50 P67 NOAB * net pay during leave..save in IT V2
PITAB S AIT save IT in AIT
RFRSH ALL delete all
PITAB L AIT reload IT back from AIT save
COPY DOGD basic data

    2. Create schema DOZ1 anew

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

Func. Par1 Par2 Par3 Par4 P D Text
COM Payroll schema: sick pay supplement
COM Valid for: BAT Variant 1
COM Date.............: 09.05.1995
COM DIN0 deactivated
COM ---------------------------------------
COPY DIN0 * * Initialization Germany (switch)
COPY DOGD basic data
COPY DOLA import last payroll result
PLRT DO40 NOAB set /A wage types in LRT to 0
COPY DOZ3 gross net sick pay (leave) BAT Variant 1
COPY DWB0 * * import further bens./deductions
COPY DST0 * Preparation for Tax Germany
COPY DOAL monthly factoring and storage
DOZV UMLB calculate VBL/ZVK contribution amounts
DOZV STPM tax VBL/ZVK contrib. (lump sum per month)
COPY DSV0 Social insurance (Germany)
DOZV ERHB Calculate VBL/ZVK increased amount
ACTIO DO38 S Set permanency lock for tax
ACTIO DO39 always enforce formation principle
COPY DST1 Tax (Germany)
PRINT NP IT End of net part
PIT D030 P05 Net summary
PIT D040 Amount to be paid before bank transfer
COPY DVE0 * Capital formation (Germany)
COPY DNN0 * Net bens./deductions and bank transfers
COPY DEND End of processing Germany
XEDT * Form callup

    3. Create schema DOZ2 anew.
    ---------------------------------

    Func. Par1 Par2 Par3 Par4 P D Text
    COM Payroll schema: sick pay supplement
    COM Valid for: BAT Variant 2
    COM Date............: 09.05.1995
    COM DIN0 deactivated
    COM ---------------------------------------
    COPY DIN0 * * Initialization Germany (switch)
    COPY DOGD basic data
    COPY DOLA import last payroll result
    PLRT DO40 GEN NOAB set /A wtypes in LRT to 0
    COPY DOZ4 gross sick pay supplement BAT Variant 2
    COPY DWB0 * * import of further bens./deds.
    COPY DST0 * preparations for Tax (Germany)
    COPY DOAZ monthly factoring and storage not DOAL
    DOZV UMLB calculate VBL/ZVK contribution amount
    DOZV STPM tax VBL/ZVK contribution (lump sum p. mth
    COPY DSV0 Social insurance (Germany)
    DOZV ERHB calculate VBL/ZVK increased amount
    ACTIO DO38 S set permanency lock for Tax
    ACTIO DO39 always enforce principle of formation
    COPY DST1 Tax (Germany)
    PRINT NP IT End of net part
    PIT D030 P05 Net summary
    PIT D040 amount to be paid before bank transfer
    COPY DVE0 * Capital formation (Germany)
    COPY DNN0 * Net bens./deds. and bank transfers
    COPY DEND End of processing Germany
    XEDT * form callup
    4. Create schema DOZ3 anew.
    ---------------------------------


COM Gross part: time data processing
COM Sick pay supplement BAT Variant 1
COM Date: 24.05.1995
COM ----------------------------------------
GENPS Personal shift schedule (PSS)
P2003 S** Insert shift subst. in PSS belatedly
PRINT NP PSP Print PSS
ACTIO DO03 AR Provide basis of valuation
MOD DOMK GEN Provide modifiers
RAB Import absences
DNAB Germany-specific absence routines
PPSP DOPS Process PSS
PARTT Partial period factors from shift sched.
PPSP DOPR Process PSS for tax days
PAB Process absences
DAB Germany-specific absence routines
PRINT NP PART Print partial period factors
PRINT NP PARX Print absences
ACTIO DO64 GEN * Form wage type "vacation bonus"
ACTIO DO65 * Set SI-day indicator in PSS
P0014 DO41 P67 NOAB Form /O10 (if applicable)
P0015 DO41 P67 NOAB Form /O10 (if applicable)
PIT DO15 GEN NOAB Evaluation of time wage types
PIT X020 P03 Enter gross and store RT

    5. Create schema DOZ4 anew
    ----------------------------------

    Func. Par1 Par2 Par3 Par4 P D Text
    COM Gross part: time data processing
    COM Sick pay supplement BAT Variant 2
    COM Date: 09.05.1995
    COM --------------------------------------
    GENPS S** Personal shift schedule (PSS)
    PRINT NP PSP Print PSS
    ACTIO DO03 AR Provide bases of evaluation
    PARTT Partial period factors from shift sched.
    PRINT NP PART Print partial period factors
    PRINT NP PARX Print absences
    ACTIO DO64 GEN Form wage type "vacation bonus"
    PPSP DO65 Set SI-day indicator in PSS
    P0014 DO41 P67 NOAB Form /O10 if applicable
    P0015 DO41 P67 NOAB Form /O10 if applicable
    PIT DO15 GEN NOAB Evaluation of time wage types
    PIT X020 P03 Enter gross and store RT

    6. Create schema DOAZ anew:

-------------------------------------
Func. Par1 Par2 Par3 Par4 P D Text
COM _ _ _ _ _ _ Monthly factoring and storage
COM _ _ _ _ _ _ German Civil Service
COM _ _ _ _ _ _ Comparative calc. f. sick pay supplement
## _ _ _ _ _ _ Status 09/01/1995
## _ _ _ _ _ _ ----------------------------------------
GEN/8 2 _ _ _ _ _ Create wage types /801 to /802 in IT
PIT DO36 _ _ _ _ _ Determine partial monthly factors DO36
PIT DO37 P10 _ _ _ _ Valuate pay elements
PIT D023 P20 NOAB _ _ _ Gross input and storage
PIT D025 P04 NOAB _ _ _ Gross cumulation, cost distribution

    7. To schema DOAL add cycle DO66:

------------------------------------------------- Func. Par1 Par2 Par3 Par4 P D Text
COM Monthly factoring and storage
COM German Civil Service
## Status 07/22/1993
## ----------------------------------------
IF XIT * Are there any XIT-entries?
PIT DS3A P39 Determine basic pay (§3b)
ENDIF * IF XIT end
GEN/8 2 Create wage types /801 bis /802 in IT
PIT DO36 Determine partial monthly factors DO36
PIT XCM0 P31 * Monthly lump sums for cost accounting
PIT DO37 P10 Valuate pay elements
ACTIO XCH0 A Hourly rates for cost accounting
ACTIO DO34 GEN Create Infotype O601 (workdays)
ACTIO DO66 GEN Create O603 from VBLB 950828
PIT D023 P20 NOAB Gross entry and storage
ACTIO DO22 V Enter variable SVTT
ACTIO DO23 AR Cumulate average bases
PIT DO31 P67 NOAB Create /O05 .. /O08 from /222 .. /225
IF XIT * Are there any XIT-entries?
PRT DS3B P39 * Determine basic pay (§3b)
XIT XIT * Make time intervals disjuctive
XIT 10Y * Evaluate T510Y
XIT VAL * Valuate XIT
PRINT NP XIT XIT after evaluation
ACTIO DS3C Determine basic pay (§3b) month.basis
PIT DS3D NOAB Determine basic pay (§3b) hourly basis
PIT DS3E NOAB Determine basic pay (§52(3))
XIT S90 * Calculate tax exemption (§3b)
PIT DS3F NOAB * Calculate tax exemption (§52(3))
PIT DS3G NOAB * Store basic pay
ENDIF * IF XIT end
PIT D025 P04 NOAB Gross cumulation, cost distribution
PIT DDVB NOAB Check company insurance gross amount***********************************************************************
B) Changes/Functionalities of cycles
***********************************************************************

    1. Create cycle DO63 anew:
    ------------------------------------

Function of cycle: to check if BAT applies to employee


VarArg. FZ T Operation Operation Operation Operation
-------------+---------+---------+---------+---------
D SETIN A=01OUTWPITRFA
* SCOND=F IF
1 SCOND=T IF
2 SCOND=T IF
5 SCOND=T IF

    2. Check to see if cycle DO28 exists
    ---------------------------------------------


Function of this cycle: to save the resulting wage types - sick pay
BAT/BMT-G II in IT (Variant 1)


VarArg. FZ T Operation Operation Operation Operation
-------------+---------+---------+---------+---------
D VWTCL 67
*
2 ADDWTI*

    3. Add payroll type 3 to cycle DOMK.
    ------------------------------------------------------

This cycle is accessed when variant 1 is carried out.
Sub schema DOZ3 (time data processing)

Function of this cycle: to set sick pay suppl. indicator for employees.


VarArg. FZ T Operation Operation Operation Operation
-------------+---------+---------+---------+---------
MODIF A=49MODIF 2=20 ANGESTELLT

    4. Create cycle DO64
    ---------------------------------

Function of this cycle: to form wage type O301 Vacation bonus (Var2only)

VarArg. FZ T Operation Operation Operation Operation
-------------+---------+---------+---------+---------
NUM=GASOLLSETIN R=3 ADDWTIO301

    5. Create cycle DO65 anew
    ---------------------------------

Function of this cycle: to set SI-day indicator in PSS (var. 2 only)

VarArg. FZ T Operation Operation Operation Operation
-------------+---------+---------+---------+---------
PSPCGSVT=X

    6. Check to see if cycle DO50 exists
    ---------------------------------------------

Function of this cycle: to save the result wage types - sick pay suppl.
BAT/BMT-G II in IT (Variante 2)

VarArg. FZ T Operation Operation Operation Operation
-------------+---------+---------+---------+---------
D VWTCL 67
*
2 NUM=2 ADDWTI*

    7. Insert the lines marked <---- in cycle D011.
    ----------------------------------------------------------------
    Attention: this is only an excerpt of cycle D011!


Function of this cycle. to import recurring bens./deds. and additional
payments

VarArg. FZ T Operation Operation Operation Operation Operation Operatio
-------------+---------+---------+---------+---------+---------+--------
*** J ADDWT * ADDWT /610 Bergmannsprämie
*** K D OUTWPITRFA
*** K * Z GCY D005 ALLE ANDEREN
*** K ** Z GCY D005 ALLE ANDEREN
*** K 1 Z GCY DO52 <---- insert BAT B&L
*** K 2 Z GCY DO52 <---- insert BAT VKA
*** K 4 Z GCY DO47 BMT-G II
*** K 5 Z GCY DO52 <---- insert BAT KRANKENHAUS
*** L OPIND ADDWT * ADDWT /PF2 AUSGLEICH FORDER.

    8. Create cycle DO52 anew
    ----------------------------------

Function of this cycle: to calculate sick pay supplement

VArg. FZ T Operation Operation Operation Operation Operation Operation
-----------+---------+---------+---------+---------+---------+-------- D ADDWT * ZERO=&HILFADDWT&HILFAMT=& NURLSETIN A=01OUTWPITRFA
1 D NUM=& NURLNUM?2 FILLF N
1 * D ADDWT O600AMT-& HILFAMT?0 BAT B&L VAR. 1
1 * *
1 * > ADDWT O314
1 = D AMT*GKAU23AMT/GKSOLLADDWT O600AMT-& HILFAMT?0 VAR. 2
1 = *
1 = > ADDWT O314
1 > ADDWT O314
2 D NUM=& NURLNUM?2 FILLF N
2 * D ADDWT O600AMT-& HILFAMT?0 BAT VKA VAR. 1
2 * *
2 * > ADDWT O314
2 = AMT*GKAU23AMT/GKSOLLADDWT O600AMT-& HILF* VAR. 2
2 = 1 D AMT?0
2 = *
2 = > ADDWT O314
2 > ADDWT O314
5 D NUM?2 FILLF N
5 * D ADDWT O600AMT-& HILFAMT?0 BAT KH. VAR. 1
5 * *
5 * > ADDWT O314
5 = D AMT*GKAU23AMT/GKSOLLADDWT O600AMT-& HILFAMT?0 VAR. 2
5 = *
5 = > ADDWT O314
5 > ADDWT O314

Note: For variant 2 the system uses Modif payroll 21 to read in T554C. The Modif A in time data processing (Schema DOTK) in cycle DOMO is set to 21 for employees. The corresponding entry is read in table T554C. The unpaid absence counting class 23 is evaluated. Therefore, in cycle DO52 you find 'GKAU23'.

    9. For cycle DO29 create the following rule for wage type /150:

VarArg. FZ TOperation Operation Operation Operation Operation Operation
--------+-+-+---------+---------+---------+---------+---------+---------
_ _ ZERO=&VBLBADDWT&VBLB

    10. Create cycle DO66:

VarArg. FZ TOperation Operation Operation Operation Operation Operation
--------+-+-+---------+---------+---------+---------+---------+---------
_ _ DNUM=& VBLBNUM?2
< _ AMT=& VBLBADDWTIO603
= _ AMT=& VBLBAMT*GKAU23AMT/GKSOLLADDWTIO603

***********************************************************************
C) Changes/Functionalities of table entries
***********************************************************************

    1. Example entry 'sick pay supplement' in T554C (for variant 1)


Molga Modif from paroll Valuat.rule Text From
01 49 22 sick pay supplement 01.01.1995
------------------------------------------------------------------------
Counting class Paid Percentage rate
22 X 100,00


Time Percentage rate Unit BP split payroll I 100,00 RT X O321 Uaufschl.

Special processing
Generation from T510S

************************************************************************

    2. Example entry 'sick pay supplement' in T554C (for variant 2)


Molga Modif from payroll Valuat.class Text From
01 21 23 sick pay supplement 01.01.1995
-----------------------------------------------------------------------
Counting class Paid Percentage rate
23 100,00


Time Percentage rate Unit BP split payroll



Special processing
Generation from T510S


    3. In table T5D0C for Modif 49 the following entry must exist
    (for variant 1):

Modif Bew. Beg End Ver. Bew. Bew. Bew. Bew. Bew. Bew.
Abr. Kl. Da Da Kz. Kl.1 Kl.2 Kl.3 Kl.4 Kl.5 Kl.6
49 02 01011900 31129999 03 21 21 22 21 21 00

For Modif 21 the following entry is relevant (for variant 2):

Modif Bew. Beg End Ver. Bew. Bew. Bew. Bew. Bew. Bew.
Abr. Kl. Da Da Kz. Kl.1 Kl.2 Kl.3 Kl.4 Kl.5 Kl.6
21 02 01011900 31129999 03 02 21 23 21 21 00

    4. Add wage types /156 (Pay subj.to VBLt,SI-exempt), O321 (Extra leave BAT), O314 (Sickness allowance bonus) and O603 (Gross SPF during RWH) to T512T/T512W.

T512T:
------
S Mol Wage type + Wage type text ShText
----------------------------------------------------
D 01 O321 Extra leave BAT ExLv BAT
D 01 O314 Sickness allowance bonus SABonus
D 01 O603 Gross SPF during RWH GrSPFRWH
D 01 /156 Pay subj.to VBL,SI-exempt VBL SIex



T512W:
------ MoLGA....... 01 WType O321 Extra leave BAT
From 01.01.1901 To 31.12.9999
Base wage type : Valuation basis StatemntWT % rate 100
1st derived WType : Valuation basis StatemntWT % rate 0
2nd derived WType : Valuation basis StatemntWT % rate 0
....+....1....+....2....+....3....+....4....+....5
1 0 0 0 01 3 000 0 000 Processing classes
0 0111 Processing classes
xx x x x Cumulations 01 to
xxx xx Cumulations 51 to
Averages : ....+....1....+....2....+....3.. % rate
BPE ANZ BTR 100.00
BPE ANZ BTR 100.00
BPE ANZ BTR 100.00
BPE ANZ BTR 100.00
BPE ANZ BTR 100.00
1 2 3 4 5 6 7 8 9 X 1 2 3 4 5 6 7 8 9 X
00 Evaluation classes

MoLGA....... 01 WType /156 Pay subj.to VBL,SI-exempt
Ch-indicator.... From 01.01.1901 To 31.12.9999
Base wage type : Valuation basis StatemntWT
1st derived WType: Valuation basis StatemntWT % rate
2nd derived WType: Valuation basis StatemntWT % rate
....+....1....+....2....+....3....+....4....+....5
01 0 0 03 0 10 100 0 01 Processing classes
0 Processing classes
Cumulation 01 to
Cumulations 51 to
Averages : ....+....1....+....2....+....3.. %-rate
BPE ANZ BTR 100.00
BPE ANZ BTR 100.00
BPE ANZ BTR 100.00
BPE ANZ BTR 100.00
BPE ANZ BTR 100.00
1 2 3 4 5 6 7 8 9 X 1 2 3 4 5 6 7 8 9 X
00 01 Evaluation classes

MoLGA....... 01 WType O314 Sickness allowance bonus
Ch-indicator.... From 01.01.1901 To 31.12.9999
Base wage type : Valuation basis StatemntWT
1st derived WType: Valuation basis StatemntWT % rate
2nd derived WType: Valuation basis StatemntWT % rate
....+....1....+....2....+....3....+....4....+....5
1 0 0 0 0 3 00A 0 000 Processing classes
00 0 Processing classes
x x x x Cumulations 01 to
xx xx Cumulations 51 to
Averages : ....+....1....+....2....+....3.. % rate
BPE ANZ BTR 100.00
BPE ANZ BTR 100.00
BPE ANZ BTR 100.00
BPE ANZ BTR 100.00
BPE ANZ BTR 100.00
1 2 3 4 5 6 7 8 9 X 1 2 3 4 5 6 7 8 9 X
2202 Evaluation classes

MoLGA....... 01 WType O603 Gross SPF during RWH
Ch-indicator.... From 01.01.1901 To 31.12.9999
Base wage type : Evaluation basis StatemntWT
1st derived WType: Evaluation basis StatemntWT % rate
2nd derived WType: Evaluation basis StatemntWT % rate
....+....1....+....2....+....3....+....4....+....5
0 0 0 0 3 000 0 0 0 Processing classes
00 Processing classes
Cumulations 01 to
x Cumulations 51 to
Averages : ....+....1....+....2....+....3.. % rate
BPE ANZ BTR 100.00
BPE ANZ BTR 100.00
BPE ANZ BTR 100.00
BPE ANZ BTR 100.00
BPE ANZ BTR 100.00
1 2 3 4 5 6 7 8 9 X 1 2 3 4 5 6 7 8 9 X
Evaluation classes

    5. Maintain evaluation classes and cumulations in T512W

For wage type /150 set processing class 67 to '2'.
For wage types /O0* set processing class 29 to '0'.
For wage type /242 set processing class 33 to '0'.
For wage type O304 delete cumulation 50´.

D) Program changes

In Report RPCZVUD0 in routine HOLE_LART_AUS_IT insert the line marked with YUIK119422: FORM HOLE_LART_AUS_IT USING $LART.

LOOP AT IT WHERE LGART = $LART.
CASE $LART.
WHEN '/102'. LART_102 = LART_102 + IT-BETRG.
WHEN '/103'. LART_103 = LART_103 + IT-BETRG.
WHEN '/148'. LART_148 = LART_148 + IT-BETRG.
WHEN '/149'. LART_149 = LART_149 + IT-BETRG.
WHEN '/150'. LART_150 = LART_150 + IT-BETRG.
WHEN '/151'. LART_151 = LART_151 + IT-BETRG.
WHEN '/152'. LART_152 = LART_152 + IT-BETRG.
WHEN '/156'. LART_156 = LART_156 + IT-BETRG. "YUIK119422
WHEN '/240'. LART_240 = LART_240 + IT-BETRG.
WHEN '/241'. LART_241 = LART_241 + IT-BETRG.
WHEN '/280'. LART_280 = LART_280 + IT-BETRG.
WHEN '/281'. LART_281 = LART_281 + IT-BETRG.
WHEN '/282'. LART_282 = LART_282 + IT-BETRG.
WHEN '/283'. LART_283 = LART_283 + IT-BETRG.
WHEN '/284'. LART_284 = LART_284 + IT-BETRG.
WHEN '/285'. LART_285 = LART_285 + IT-BETRG.
WHEN '/286'. LART_286 = LART_286 + IT-BETRG.
WHEN '/287'. LART_287 = LART_287 + IT-BETRG.
WHEN '/288'. LART_288 = LART_288 + IT-BETRG.
WHEN '/289'. LART_289 = LART_289 + IT-BETRG.
WHEN '/290'. LART_290 = LART_290 + IT-BETRG.
WHEN '/291'. LART_291 = LART_291 + IT-BETRG.
WHEN '/292'. LART_292 = LART_292 + IT-BETRG.
WHEN '/293'. LART_293 = LART_293 + IT-BETRG.
WHEN '/294'. LART_294 = LART_294 + IT-BETRG.
WHEN '/295'. LART_295 = LART_295 + IT-BETRG.
WHEN '/296'. LART_296 = LART_296 + IT-BETRG.
WHEN '/297'. LART_297 = LART_297 + IT-BETRG.
WHEN '/298'. LART_298 = LART_298 + IT-BETRG.
WHEN '/299'. LART_299 = LART_299 + IT-BETRG.
WHEN '/303'. LART_303 = IT-ANZHL.
WHEN '/321'. LART_321 = LART_321 + IT-BETRG.
WHEN '/324'. LART_324 = LART_324 + IT-BETRG. "YKMK116110
WHEN '/369'. LART_369 = LART_369 + IT-BETRG.
WHEN '/389'. LART_389 = LART_389 + IT-BETRG.
WHEN '/399'. LART_399 = LART_399 + IT-BETRG.
ENDCASE.
ENDLOOP.
ENDFORM.

***********************************************************************
End of correction for 'Sick pay supplement for employees'