on 08-25-2009 8:27 AM
Hello,
The customer requirement is to do Goods Receipt for HU in RF. In RF the standard transaction is LM76 for GR for HU.
The scenario is Multiple handling units are there for each inbound delivery. the client wants to do GR for each HU. where as in
standard TC: LM76, if one HU is entered GR is done for the entire inbound delivery.
Can i go for customized transaction (is it possible to develop) in RF where GR is done for each handling unit ( i.e. multiple HU's
are there in the inbound delivery)
Regards,
Neetha
Hello,
You have to develop Z transaction for doing goods receipt against each HU. I have used previously for doing goods receipt by scanning each HU.
Regards,
Prashant
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
I've done something similar on RF for a retailer in Holland and used enhancement MWMRFDLV/INCLUDE ZXLHUU31.
I've added an example of the code that is implemented.
This enhancement is called by transaction LM61 op to LM66 en LM71 up to LM76.
Transaction LM76 is initially intended to select the delivery by scanning the HU.
What I did is reducing the information on the sceen to the HU that has been scanned
Secondly yo need to assure that when the user is creating a TO or posting the GR it is performed for the HU only.
For this you need to do additional development mwmrf631 (= Delivery Header / in the PAI define your own logic that post the GR for a single HU) What I used is an outputtype in application V6 (HU) that is triggerred from include ZXLHUU21 and will post the GR with BAPI_GOODSMVT_CREATE' . See 2nd example include ZXLHuu21
I hope my comment are usefull for you.
Kind regards
Ronald
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INCLUDE ZXLHUU31
case sy-tcode.
WHEN con_lm76.
inperken OP HU als de levering meerdere Handling Units heeft
alleen dan inperken op HU informatie
LOOP AT et_postab WHERE posnr = '000000'.
SELECT SINGLE anzpk FROM likp INTO et_postab-anzpk
WHERE vbeln = et_postab-vbeln.
MODIFY et_postab.
IF et_postab-anzpk > 1.
EXIT.
ENDIF.
ENDLOOP.
CHECK et_postab-anzpk > 1.
GET PARAMETER ID 'INP_100' FIELD inp_100.
i_exidv = inp_100.
IF i_exidv NA sy-abcde.
et_postab-exidv = i_exidv.
et_postab-anzpk = 1.
LOOP AT et_postab WHERE posnr <> '000000'.
SELECT SINGLE aexidv abrgew b~vemng
INTO (et_postab-exidv, et_postab-brgew, et_postab-lfimg)
FROM vekp AS a INNER JOIN vepo AS b
ON avenum = bvenum
WHERE a~exidv = i_exidv
AND bvenum = avenum
AND b~vbeln = et_postab-vbeln
AND b~posnr = et_postab-posnr.
MODIFY et_postab.
ENDLOOP.
et_postab-anzpk = 1.
MODIFY et_postab TRANSPORTING exidv brgew anzpk WHERE posnr = '000000'.
DELETE et_postab WHERE exidv IS INITIAL.
SORT et_postab BY posnr.
ENDIF.
ENDCASE.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
EXIT_SAPLLMOB_084 INCLUDE ZXLHUU21 .
&----
*& Include ZXLHUU21 *
&----
Initial development by Perfect for People - Ronald Westdijk
************************************************************************
o_current_field = current_field.
o_verification_errors[] = verification_errors[].
SET PARAMETER ID 'BYDLVRY' FIELD LIKP-VBELN.
CASE sy-tcode.
WHEN con_lm76.
CASE sy-ucomm.
WHEN fcode_save.
***************************************************************
melding alleen geven als meerdere Handling Units bestaan
en als deze nog moeten worden geboekt.
***************************************************************
SELECT SINGLE anzpk FROM likp INTO i_anzpk
WHERE vbeln = likp-vbeln.
CHECK i_anzpk > '1'.
check output messages in tabel NAST of deze nog moet worden geboekt.
melding alleen geven als er nog meerdere HU open staan.
eerst de HU's ophalen
daarna de nast records inlezen in i_nast (output ZMCR) en checken
REFRESH i_nast.
CLEAR vbco3.
vbco3-vbeln = likp-vbeln.
CALL FUNCTION 'SD_PACKING_PRINT_VIEW'
EXPORTING
comwa = vbco3
auftrag_nicht_lesen = 'X'
exportdaten_nicht_lesen = 'X'
TABLES
vbplk_tab = xvbplk
vbplp_tab = xvbplp
vbpls_tab = xvbpls.
LOOP AT xvbplk.
SELECT SINGLE * FROM nast INTO i_nast
WHERE vstat = '0'
AND kappl = 'V6'
AND objky = xvbplk-venum
AND kschl = 'ZMCR'.
IF sy-subrc = 0.
APPEND i_nast.
ENDIF.
ENDLOOP.
DESCRIBE TABLE i_nast LINES n.
CHECK n > 1.
message lf317 Het systeem zal de boeking uitvoeren, verder?
sy-msgid = 'LF'.
sy-msgno = '317'.
PERFORM warning_message(rlmob001).
GET PARAMETER ID 'POX' FIELD msg_answ.
SET PARAMETER ID 'POX' FIELD ''.
CASE msg_answ.
WHEN ver_on.
output ZMCR after HU to post Goods receipt is executed.
REFRESH bapihukey.
bapihukey-hu_exid = i_exidv.
APPEND bapihukey.
REFRESH bapioutptype.
bapioutptype-trans_medium = '8'.
bapioutptype-output_type = 'ZMCR'.
APPEND bapioutptype.
CALL FUNCTION 'BAPI_HU_PROCESS_MSG_DIRECT'
TABLES
hukey = bapihukey
outputtype = bapioutptype
return = bapiret2.
LEAVE TO TRANSACTION con_lm01.
ENDCASE.
ENDCASE.
ENDCASE.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks for sharing this code. I'm disappointed that standard functionality doesn't exist for GR by pallet HU. When I read the LES documentation SAP does exactly what the document says.
Goods Receipt u2013 Receiving
When goods arrive at the warehouse you can identify the inbound delivery by scanning the barcode
on the pallet (handling unit number), the delivery number or other selection criteria.
It doesn't say anywhere that you can do a goods receipt for the individual pallet. It's all about the details.
User | Count |
---|---|
110 | |
12 | |
11 | |
6 | |
5 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.