14.12.10

SAP Note 13426 - Notes on decentralized shipping

Symptom:

1. Error when adding material masters in R/3 because of taxes.
2. When adding deliveries, the batch is not ready for input if no
reference work is maintained in the material master.
3. The R/2 delivery number is not used as an R/3 delivery number or the
search option for the R/2 delivery number is missing.
4. The search option for the R/2 customer number is missing if only one
one-time customer number is used.
5. If more than one plant is used, when adding the material master
for the second plant, the error message
'Weight unit not ready for input' is generated.
6. It is desired to transfer the route from R/2 to the R/3 route.

Cause and prerequisites

Error or development request
The points 1, 2, 5 and 6 are corrected in Release 3.0.
The points 3 and 4 are also relevant to Releases 3.0* and 3.1*.

Solution
ad 1: Corrected by Release 2.2 at the latest.
Please change the following lines in the RVMATDEZ program:

IF DVM01-VKORG NE ' '.
SELECT SINGLE * FROM TVKO WHERE VKORG = DVM01-VKORG. "<-- new line
IF SY-SUBRC NE 0. CLEAR TVKO. ENDIF. "<-- new line
SELECT SINGLE * FROM T001 WHERE BUKRS = TVKO-BUKRS. "<-- changed
IF SY-SUBRC = 0.
SELECT * FROM TSTL
WHERE TALND = T001-LAND1.
STEUER-TALND = TSTL-TALND.


ad 2: Corrected by Release 2.2 at the latest:
Please change the MV50AO0F program as follows:

IF LIKP-VERUR NE ' ' AND LIKP-COMMN NE ' ' AND T180-TRTYP EQ 'H'.
IF DVK02-SNKOM NE LIKP-VERUR(10) OR DVK02-POSNR NE LIPS-POSNR.
SELECT * FROM DVK02 WHERE SNKOM = LIKP-VERUR(10) AND
POSNR = LIPS-POSNR.
ENDSELECT.
ENDIF.
IF SY-SUBRC = 0.
CASE SCREEN-NAME.
WHEN 'LIPS-CHARG'.
IF DVK02-CHARG NE ' '.
SCREEN-INPUT = 1.
SCREEN-ACTIVE = 1.
ENDIF.
ENDCASE.
ENDIF.
ENDIF.

MODIFY SCREEN.
ENDLOOP.

ENDMODULE.

ad 3: Possibly later via control option in Customizing in the standard
system (not planned up to and including Release 3.1Z)

For a central system, transferring the R/2 delivery number could be
allowed.
Adapt the RVDVVL11 program:

PERFORM NEW_FIELD USING 'BDC_OKCODE' '/8 '.
PERFORM NEW_DYNPRO USING 'SAPMV50A' '0220'.
PERFORM NEW_FIELD USING 'KUWEV-KUNNR' SATZ-KUNNR.
PERFORM NEW_FIELD USING 'LIKP-WADAT' SATZ-WADAT.

WRITE SATZ-VERUR+10(8) TO LIKP-VBELN. "new line
PERFORM NEW_FIELD USING 'LIKP-VBELN' LIKP-VBELN. "new line

PERFORM NEW_FIELD USING 'LIKP-ANZPK' SATZ-ANZPK.
In the FV50XFLK and FV50XFLP programs, the following position is then to be changed (included as of Release 3.0).

You can find this with FIND VERUR:
IF LIKP-VBELN IS INITIAL. "New
THEAD-TDNAME = 'XXXXXXXXXX'.
ELSE. "New
THEAD-TDNAME = LIKP-VBELN. "New
ENDIF. "New


If this does not work, define a matchcode ID in the VMVL matchcode object which contains the LIKP-VERUR field (either completely or parts of it). The BELNR field is in LIKP-VERUR+10(08), BUKRS is in LIKP-VERUR+18(2), and WERKS is in LIKP-VERUR+20(2).

ad 4: Possibly later via control option in Customizing in the standard
system

You can carry out the following change in the RVDVVL11 program, if you have a sample one-time account:

Assumption: The sample one-time account is called 0000050000.


TABLES: LIKP,
LIPS, KNVV, "<-- changed
KNA1.

....
....
....

PERFORM NEW_FIELD USING 'KUWEV-KUNNR' SATZ-KUNNR.
PERFORM NEW_FIELD USING 'LIKP-WADAT' SATZ-WADAT.
PERFORM NEW_FIELD USING 'LIKP-ANZPK' SATZ-ANZPK.
* Popup CPD-Kunden, falls es sich um CPD-Kunden handelt


SINGLE * FROM KNA1 WHERE KUNNR = SATZ-KUNNR. "<-- New
IF SY-SUBRC = 0 AND KNA1-XCPDK = 'X'.


ad 5: (corrected in Release 3.0 at the latest):

Change the following lines in the RVMATDEZ program:

REPORT RVMATDEZ MESSAGE-ID V7.

DATA: TRTYP. "H Hinzufügen, V Ändern "<-- new line

...
...

IF BMM00_MM01-XEIL1 CN '/ ' OR "<-- changed line
BMM00_MM01-XEIV1 CN '/ ' OR "<-- changed line
BMM00_MM01-XEIV2 CN '/ ' OR "<-- changed line
BMM00_MM01-XEIV4 CN '/ '. "<-- changed line
BMM00 = BMM00_MM01.
DVM01 = DVM01_MM01.
TRTYP = 'H'. "<-- new line
PERFORM HAUPTSATZ_1.
PERFORM CALL_TRANSACTION.
PERFORM MAIL_SENDEN.
ENDIF.
IF BMM00_MM02-XEIL1 CN '/ ' OR "<-- changed line
BMM00_MM02-XEIV1 CN '/ ' OR "<-- changed line
BMM00_MM02-XEIV2 CN '/ ' OR "<-- changed line
BMM00_MM02-XEIV4 CN '/ '. "<-- changed line
TRTYP = 'V'. "<-- new line
BMM00 = BMM00_MM02.
DVM01 = DVM01_MM02.
PERFORM HAUPTSATZ_1.
PERFORM CALL_TRANSACTION.
ENDIF.


....
....

FORM HAUPTSATZ_1.
BMMH1 = I_BMMH1.
IF MARA-MEINS NE DVM01-MEINS. "<-- new line
BMMH1-MEINS = DVM01-MEINS. "Basismengeneinheit
ENDIF. "<-- new line
IF MARA-MATNR NE XDVM01-MATNR "<-- new line
AND ( TRTYP = 'H' ). "<-- new line
BMMH1-MAKTX = DVM01-MAKTX. "Materialkurztext
ENDIF. "<-- new line
BMMH1-MATKL = DVM01-MATKL. "Warengruppe
IF MARA-MATNR NE XDVM01-MATNR "<-- new line
OR ( TRTYP = 'V' AND MARA-BRGEW NE XDVM01-BRGEW ). "<-- new line
WRITE DVM01-BRGEW TO BMMH1-BRGEW
USING EDIT MASK EDITMASK.
ENDIF. "<-- new line
IF MARA-MATNR NE XDVM01-MATNR "<-- new line
OR ( TRTYP = 'V' AND MARA-NTGEW NE XDVM01-NTGEW ). "<-- new line
WRITE DVM01-NTGEW TO BMMH1-NTGEW
USING EDIT MASK EDITMASK.
ENDIF. "<-- new line
IF MARA-MATNR NE XDVM01-MATNR. "<-- new line
BMMH1-GEWEI = 'KG'.
ENDIF. "<-- new line
XBMMH5 = I_BMMH5.
IF DVM01-SPRAS1 NE ' ' AND DVM01-MAKTX1 NE ' '.
XBMMH5-SPRAS = DVM01-SPRAS1. "Sprache
XBMMH5-MAKTX = DVM01-MAKTX1. "Kurztext
APPEND XBMMH5.
ENDIF.
IF MARA-MATNR NE XDVM01-MATNR "<-- new line
OR ( TRTYP = 'V' AND MARA-VOLUM NE XDVM01-VOLUM ). "<-- new line
WRITE DVM01-VOLUM TO BMMH1-VOLUM
USING EDIT MASK EDITMASK.
ENDIF. "<-- new line
IF MARA-MATNR NE XDVM01-MATNR OR TRTYP = 'V'. "<-- new line
BMMH1-VOLEH = 'M3'.
ENDIF. e "<-- new line
BMMH1-BEHVO = DVM01-BEHVO. "Behältervorschrift
.....

IF MARA-TRAGR NE XDVM01-TRAGR "<-- new line
OR ( TRTYP = 'V' AND MARA-TRAGR NE XDVM01-TRAGR ). "<-- new line
BMMH1-TRAGR = DVM01-TRAGR.
ENDIF. "<-- new line
....
....
***** S h or t t e x t s f o r o t h e r l a n g u a g e s ********
REFRESH XBMMH5.

IF TRTYP = 'V'. "new
IF DVM01-MAKTX NE ' '. "new
IF DVM01-SPRAS = SPACE. DVM01-SPRAS = SY-LANGU. ENDIF. "new
XBMMH5-SPRAS = DVM01-SPRAS. "Sprache "new
XBMMH5-MAKTX = DVM01-MAKTX. "Kurztext "new
APPEND XBMMH5. "new
ENDIF. "new
ENDIF. "new


6. This answer is still being worked on

Should be given in R/2-5.0F and R/3-3.0A.
An advanced correction is possible.

In the DVK01 structure in R/2 and R/3, a six figure field ZZROUTE should be included, which is filled with the route in the RVDZVS23 program in R/2.
In R/3, the RVDVVL11 program should be extended as follows:

TABLES: TVRO, TVROT.

SELECT SINGLE * FROM TVRO WHERE ROUTE = DVK01-ZZROUTE.
IF SY-SUBRC NE 0.
TVRO-ROUTE = DVK01-ZZROUTE.
INSERT TVRO.

TVROT-ROUTE = DVK01-ZZROUTE.
TVROT-SPRAS = 'D'.
TVROT-BEZEI = DVK01-ZZROUTE.
INSERT TVROT.
ENDIF.
PERFORM NEW_FIELD USING 'LIKP-ROUTE' SATZ-ZZROUTE.

This note will not be included in a Hot Package. Check whether you
require the correction described in your system. When you apply a Hot
Package, the system may overwrite parts of this correction. Therefore,
when applying a Hot Package, make sure that you confirm that you want
to retain this correction (SPAM/SPAU) unchanged in your system.

Additional key words

RVMATDEZ
RVDVVL11
Decentralized shipping

Key word: Decentralized shipping

No comments:

Post a Comment