25
Case Pack Picking WHS Case Pack Picking Screen Input Field Field reference Field Typ Mandatory 1 Ware House ltap-lgnum Single Yes 2 Shipment No ltak-benum Single 3 Group No Single 4 Movement Type Single 5 Transfer Order LTAK-TANUM Single Validations 1 2 if the entry does not exist give the error message 3 if the entry does not exist give the error message 5 if the entry does not exist give the error message vbss-sammg ltbk-bwlvs Ware House Number : Entered WHS Should be exist che Shipment Number: Shipment Number should be Exist in Group No: Group Number should be exist in vbss , So Transfer Order : Transfer Order should be exist in

ZWRF5

Embed Size (px)

DESCRIPTION

Pick and pack F.S

Citation preview

Sheet1Case Pack PickingWHSTONext BinBinMaterialQty/CarCartonEmpty BinTO QtyDest. BinCase Pack Picking ScreenInput FieldField referenceField TypeMandatoryParamenter IDF4 Help1Ware Houseltap-lgnumSingleYesLGN2Shipment Noltak-benumSingle3Group Novbss-sammgSingle4Movement Type ltbk-bwlvsSingle5Transfer OrderLTAK-TANUMSingleValidations1Ware House Number : Entered WHS Should be exist check in the T300 by passing Ware House Number2Shipment Number: Shipment Number should be Exist in VTTK , So Validate LTAK-BENUm with VTTK-TKNUMif the entry does not exist give the error message "Shipment Doesn't Exist'.3Group No: Group Number should be exist in vbss , So validate the user entry with VBSS-SAMMGif the entry does not exist give the error message "Group Not Found''.5Transfer Order : Transfer Order should be exist in LTAK , So validate the entry in LTAK TANUM and Ware House number LTAK-LGNUMif the entry does not exist give the error message "Transfer Order Not Found for Ware House''.Logic 1. Open TO: Fetch all open Transfer Orders from LTAK with Tanum as LTAK-TANUM and LGNUM as warehouse number andltak-kquit ne 'X' and ltak-trart eq 'A'if data not found , give the error message as 'No Open Transfer orders for Ware House'if found collect the entries in storage type and Queue wise and display the entries in Bin Selection screenSELECTif you select the queue and storage type it will sort all the open T.O for selected Queue processand storage Type in T.O Item and will go to case pack picking screen for further Picking

When T.O : Fetch the the open T.O items by the ware house number and T.O number and Ware House number and kquit ne 'X'if not found give the error "No Open Transfer orders for Tran Order"if found go to the Case Pack Picking screen for further processwhen Group : Select the Open T.O from LTAK with grpup number as refnr and kquit ne 'X'if not found give the error "No Open Transfer orders for Group"if found go to the Case Pack Picking screen for further processwhen Movement type: Select the Open Transfer Order in LTAK kquit ne 'X' and ware house as LTAK-LGNUM and BWLVS is LTAK-BWLVSif not found give the error "No Open Transfer orders for Movement Type"if found go to the Case Pack Picking screen for further processWhen Shipment No : Select the open T.O from LTAK kquit ne 'X' and LGNUM is LTAK-LGNUM and benum as Shipment numberif not found give the error "No Open Transfer orders for shipment"if found go to the Case Pack Picking screen for further process100001302Case Pack Picking100001303

Next Bin : fetch the Open T.O line item by the user selection in the initial Bin-Selection Screen and sort the items by T.O number and Line item and read the first item and display as Next Bin to scan the binBin : validate the Bin with open T.O for given selection wise and if not found in the Open T.O list give the error message " BIN is not in the Entered TO"if found read the Open T.O line item details with the bin as source storage bin and display the T.O item details in Material Description , Required Quantity as ltap-vsolm Materialvalidate the scanned material and Bin with Open T.O and line itemif not found "UPC is not in TO/Bin Check "if found check the material marc-kzkri is 'X' and check the ship to party customer kna1-brsch = 'EAST'If Yes Print the message "EAS Security Tag required'if material and bin is in open T.O list it will propose the Quantity per carton and Quantity requiredEmpty Binif we check the Empty bin it will make the scannes qantity as zero for that particular Bin and MaterialBackif the user presed back it has to go intial screenClearIt will clear the bin , Material , and it will propose the next bin in sorted way by the user selectionCarton/Unitit will control the Quantity per carton and units or CartonsSAVEIt will check the bin is empty or not if empty print the error message "Please scan Bin "It will check the Upc is empty or not if empty print the error message "Please scan SKU"it will check the Confirmed Qunaity if it is more print the error message " Excess Qty cant be picked"if it is less quantity print the message " Would you like to Post the Difference?'if it is empty bin is checked print the message as " Would you like Make Bin as Zero"after all sccuess confirm the T.O by using the LT11 Bdc and if it is low quantity create the T.O with same values of existing T.O itemby " L_TO_CREATE_SINGLE" with same refrence number and with diffence qusntity and ware house after this propose the next bin as sorted wayif no open T.O found the give the message as "NO Open T.O Items"

T.SCase Pack Picking ScreenDevelop the screensScreen 9000Screen 9001Screen 9003Input FieldField referenceField TypeMandatoryParamenter IDF4 Help1Ware Houseltap-lgnumSingleYesLGN2Shipment Noltak-benumSingle3Group Novbss-sammgSingle4Movement Type ltbk-bwlvsSingle5Transfer OrderLTAK-TANUMSingleValidations1Ware House Number : Entered WHS Should be exist check in the T300 by passing Ware House Number2Shipment Number: Shipment Number should be Exist in VTTK , So Validate LTAK-BENUm with VTTK-TKNUMif the entry does not exist give the error message "Shipment Doesn't Exist'.SELECTtanumFROMltakINTOTABLEv_ltakWHERElgnum=ltak-lgnumANDkquitNE'X'ANDbenum=ltak-benum.if failed message " 'No Open Transfer orders for shipment' ltbk-benum SELECTlgnum`tanumtapos

matnrvlplanlplanltypvsolmmeinsvltypINTOCORRESPONDINGFIELDSOFTABLEiltapFROMltapFORALLENTRIESINv_ltakWHERElgnumEQltak-lgnumANDtanumEQv_ltak-tanumANDpquitNE'X'.Fetch next_binCall screen 90013Group No: Group Number should be exist in vbss , So validate the user entry with VBSS-SAMMGSELECTSINGLE*FROMvbssWHEREsammg=vbss-sammg.if sy-subrc ne 0message 'Group Not Found''else.SELECTlgnumtanumtaposmatnrvlplanlplanltypvsolmmeinsvltypINTOCORRESPONDINGFIELDSOFTABLEiltapFROMltapFORALLENTRIESINv_ltakWHERElgnumEQltak-lgnumANDtanumEQv_ltak-tanumANDpquitNE'X'.endif.Fetch next_binCall screen 90014.Movement TypeSELECTtanumFROMltakINTOTABLEv_ltakWHERElgnum=ltak-lgnumANDkquitNE'X'ANDbwlvs=ltbk-bwlvs.if sy-subrc ne 0message " 'No Open Transfer orders for Movement type' ltbk-bwlvs else.SELECTlgnumtanumtaposmatnrvlplanlplanltypvsolmmeinsvltypINTOCORRESPONDINGFIELDSOFTABLEiltapFROMltapFORALLENTRIESINv_ltakWHERElgnumEQltak-lgnumANDtanumEQv_ltak-tanumANDpquitNE'X'.endif.5Transfer Order : Transfer Order should be exist in LTAK , So validate the entry in LTAK TANUM and Ware House number LTAK-LGNUMSELECTSINGLE*FROMltakWHERElgnumEQltak-lgnumANDtanum=ltap-tanumANDkquitNE'X'.if sy-subrc ne 0message ''No Open Transfer orders for Tran Order' lelse.SELECTlgnumtanumtaposmatnrvlplanltypnlplavsolmmeinsvltypINTOCORRESPONDINGFIELDSOFTABLEiltapFROMltapWHERElgnumEQltak-lgnumANDtanumEQltap-tanumANDpquitNE'X'.Fetch next_binCall screen 9001Open T.OSELECTlgnumtanumbwartbwlvskquitqueueFROMltakINTOTABLEgt_queltakWHERElgnumEQltak-lgnumANDkquitNE'X'ANDtrartEQ'A'.IFsy-subrcNE0message '' 'No Open Transfer orders for Ware House'else.SELECTltak~lgnumltak~tanumltak~queueltap~taposltap~matnrltap~maktxltap~vlplaltap~nlplaltap~nltypltap~vsolmltap~meinsltap~vltypltap~koberINTOCORRESPONDINGFIELDSOFTABLEiltapFROMltakINNERJOINltapONltak~lgnumEQltap~lgnumANDltak~tanumEQltap~tanumWHEREltak~lgnumEQltak-lgnumANDltak~kquitNE'X'ANDltak~trartEQ'A'ANDltap~pquitNE'X'.prepare internal table Que wise LOOPATiltap.gs_binscr-lgnum=iltap-lgnum.gs_binscr-vltyp=iltap-vltyp.gs_binscr-queue=iltap-queue.gs_binscr-no_of_bin=1.COLLECTgs_binscrINTOgt_binscr.CLEARgs_binscr.ENDLOOP.call screen 9003Screen 9003Display in Storage type , Queue , Bin in STEP LOOPPROCESSBEFOREOUTPUT.MODULEstatus_9003.LOOPATgt_binscrINTOgs_binscrCURSORc.MODULEdisp_steploop.ENDLOOP.PROCESSAFTERINPUT.MODULEuser_command_9003ATEXIT-COMMAND.LOOP.MODULEmod_steploop.ENDLOOP.MODULEuser_cmd_9003.MODULEdisp_steploopOUTPUT.idx=sy-stepl+line.READTABLEgt_binscrINTOgs_binscrINDEXidx.ENDMODULE.MODULEmod_steploopINPUT.lines=sy-loopc.idx=sy-stepl+line.MODIFYgt_binscrFROMgs_binscrINDEXidx.

ENDMODULE."MOD_STEPLOOPINPUTSel

READTABLEgt_binscrINTOgs_binscrINDEXidx.DELETEiltapWHERE"lgnumNEgs_binscr-lgnumANDvltypNEgs_binscr-vltypORqueueNEgs_binscr-queue.CLEARok_9003.CLEARiltap.SORTiltapBYtanumtaposASCENDING.PERFORMnext_bin.CALLSCREEN9001.FORMfetch_next_bin.LOOPATiltapWHEREconfNE'X'ANDtanum=wa_ltap-tanumANDtaposGTltap-tapos.ltak-lgnum=iltap-lgnum.ltap-tanum=iltap-tanum.ltap-tapos=iltap-tapos.ivlpla=iltap-vlpla.ivltyp=iltap-vltyp.EXIT.ENDLOOP.IFsy-subrcNE0.LOOPATiltapWHEREconfNE'X'ANDtanumGTltap-tanum.ltak-lgnum=iltap-lgnum.ltap-tanum=iltap-tanum.ltap-tapos=iltap-tapos.ivlpla=iltap-vlpla.ivltyp=iltap-vltyp.EXIT.ENDLOOP.IFsy-subrcNE0.SORTiltapBYtanumtapos.READTABLEiltapINDEX1.IFsy-subrcEQ0.ltak-lgnum=iltap-lgnum.ltap-tanum=iltap-tanum.ltap-tapos=iltap-tapos.ivlpla=iltap-vlpla.ivltyp=iltap-vltyp.ELSE.ivlpla='NOOpenTO'.CLEAR:to_crt.CLEAR:ltap-tanum,ltap-tapos,ivltyp.ENDIF.ENDIF.ENDIF.Screen 9001Display T.O from fetch_nextbinand display ltap-vlpla in next bin1When user scan the binREADTABLEiltapINTOwa_ltapWITHKEYvlpla=ltap-vlpla.IFsy-subrcNE0.SELECTSINGLEpquitFROMltapINTOipquitWHEREtanumEQltap-tanumANDvlplaEQltap-vlpla.IFipquitEQ'X'.PERFORMdisp_messageUSINGltap-vlpla'BINisConfirmed/Canceled'''CHANGINGans.ELSE.PERFORMdisp_messageUSINGltap-vlpla'BINisnotintheEnteredTO'''CHANGINGans.cng_picked='F'.ENDIF.CLEAR:ltap-vlpla.EXIT.ELSE.CLEAR:wa_ltap-anoc,wa_ltap-aqty.CLEAR:ivltyp,ivlpla.ltap-tanum=wa_ltap-tanum.ENDIF.2when user scan the materialIFNOTupcISINITIAL.IFupcCAsy-abcde.ELSE.CALLFUNCTION'CONVERSION_EXIT_EAN11_INPUT'EXPORTINGinput=upcIMPORTINGoutput=upc.ENDIF.READTABLEiltapINTOwa_ltapWITHKEYupc=upcvlpla=ltap-vlpla.IFsy-subrcNE0.READTABLEiltapINTOwa_ltapWITHKEYmatnr=upcvlpla=ltap-vlpla.IFsy-subrcNE0.PERFORMdisp_messageUSINGupc'isnotinTO/BinCheck'''CHANGINGans.CLEAR:upc.leavetoscreen9001.ENDIF."upc=wa_ltap-upc.ENDIF.ltap-tanum=wa_ltap-tanum.when SaveCheck the quantitiesREADTABLEiltapWITHKEYtapos=wa_ltap-taposvlpla=ltap-vlpla.IFwa_ltap-aqtyGTiltap-iqty.message " Excess Qty cant be picked'.EXIT.ENDIF.ELSEIFiltap-aqtyISNOTINITIAL.message 'WouldyouliketoPosttheDifference?'.ELSEIFiltap-aqtyISINITIAL.message 'WouldyoulikeMakeBinasZero'.endif.Confirm the bin and Qualtity as belowgs_ltap_conf-tanum=wa_ltap-tanum.gs_ltap_conf-tapos=wa_ltap-tapos.gs_ltap_conf-nista=wa_ltap-aqty.gs_ltap_conf-altme=wa_ltap-meins.*gs_ltap_conf-parti='X'.CLEAR:gs_ltapzero.SELECTSINGLElgnumtanumtaposkznkonulkoINTOgs_ltapzeroFROMltapWHERElgnumEQltak-lgnumANDtanumEQwa_ltap-tanumANDtaposEQwa_ltap-tapos.IFgs_ltapzero-nulkoEQ0.ELSE.gs_ltap_conf-kznul='X'.ENDIF.IFwa_ltap-aqtyLTiltap-iqty."ORzeroEQ'X'.COMPUTEgv_todiffqty=iltap-iqty-wa_ltap-aqty.*gs_ltap_conf-kznul='X'.gs_ltap_conf-ndifa=gv_todiffqty.IFzeroEQ'X'.COMPUTEgv_todiffqty=iltap-iqty-wa_ltap-aqty.gs_ltap_conf-kznul='X'.gs_ltap_conf-ndifa=gv_todiffqty.ENDIF.ENDIF.APPENDgs_ltap_confTOgt_ltap_conf.CLEARgs_ltap_conf.CALLFUNCTION'L_TO_CONFIRM'EXPORTINGi_lgnum=ltak-lgnumi_tanum=wa_ltap-tanum*i_squit=''*I_QUKNZ=''*I_SUBST=''i_qname=sy-unamei_ename=sy-uname*I_SOLEX=0*I_PERNR=0*I_STDAT=INIT_DATUM*I_STUZT=0*I_ENDAT=INIT_DATUM*I_ENUZT=0*I_ISTWM=0*I_KOMIM=''*I_EINLM=''*I_TBELI=''*I_UPDATE_TASK=''i_commit_work='X'*I_AUSFB=''TABLESt_ltap_conf=gt_ltap_conf*T_LTAP_CONF_HU=*T_LTAP_CONF_HU_SERIAL=EXCEPTIONSto_confirmed=1to_doesnt_exist=2item_confirmed=3item_subsystem=4item_doesnt_exist=5item_without_zero_stock_check=6item_with_zero_stock_check=7one_item_with_zero_stock_check=8item_su_bulk_storage=9item_no_su_bulk_storage=10one_item_su_bulk_storage=11foreign_lock=12squit_or_quantities=13vquit_or_quantities=14bquit_or_quantities=15quantity_wrong=16double_lines=17kzdif_wrong=18no_difference=19no_negative_quantities=20wrong_zero_stock_check=21su_not_found=22no_stock_on_su=23su_wrong=24too_many_su=25nothing_to_do=26no_unit_of_measure=27xfeld_wrong=28update_without_commit=29no_authority=30lqnum_missing=31charg_missing=32no_sobkz=33no_charg=34nlpla_wrong=35two_step_confirmation_required=36two_step_conf_not_allowed=37pick_confirmation_missing=38quknz_wrong=39hu_data_wrong=40no_hu_data_required=41hu_data_missing=42hu_not_found=43picking_of_hu_not_possible=44not_enough_stock_in_hu=45serial_number_data_wrong=46serial_numbers_not_required=47no_differences_allowed=48serial_number_not_available=49serial_number_data_missing=50to_item_split_not_allowed=51input_wrong=52error_message=53OTHERS=54.IFsy-subrcEQ0.CLEARg_error.ELSE.CALLFUNCTION'MESSAGE_TEXT_BUILD'EXPORTINGmsgid=sy-msgidmsgnr=sy-msgnomsgv1=sy-msgv1msgv2=sy-msgv2msgv3=sy-msgv3msgv4=sy-msgv4IMPORTINGmessage_text_output=msg_str.g_error='X'.PERFORMdisp_messageUSINGltap-tanummsg_str''CHANGINGans.ENDIF.Call Fetch_nextbin and display the T.O and Bin respective Places

Sheet3philips E130