Pick list without WMS
hello, friends.
is there any way to generate a picking list where WMS is not being used?
regards and thanks.
Transfer orders created with Lean WM instead of normal WM have the following characteristics:
-Confirmation of transfer orders is not required.
-Stock differences are reported to IM for processing. Handling differences is not possible in WM.
-You can transmit Lean WM transfer order data to external systems.
-Recording performance data, such as assignment to a picker, return confirmation of actual times or determining planned times is possible for this type of TO.
-If a transfer order has been created, subsequent changes to the delivery can be made in the Pick Quantity field. This is not possible in standard WM.
Similar Messages
-
Picking list generation without Warehouse management
Hi all,
I have requirement for my client to generate picking list genereation without wm. so i assigned EK00 condition type, transmission medium, Language, send time & picking confirmation in shipping point. Also created condition record in VP01SHP tcode but still unable to generate output for picking in VL70.
Please suggest !
Thanks & Regards,
ShaktiFollowing 2 recently discussed SDN thread will be help to you:
- Re: We use picking option without warehouse management installed
- picking without warehouse management
Regards
JP -
When viewing pick lists from different web sites my iPad 2 (safari) selects the first choice on the list and loads it without allowing me to pick my option; is there a way to change this default?
With your playhead over the clip in the timeline and that V track's 'track selector' as the only one active...hit the 'f' key.
This will load the original clip into the viewer at the matching point of the frame in the timeline.
K -
Printing immedietely of Putaway list or Pick list in SAP WM
Hi
We have one requirement in WMS rollout is:
For automatic background printing of Putaway list or Pick list in SAP WM, System doesnt recognize Printer name as LOCL (settings in T code- OMLV). In OMLV we must have a network printer name for automatic printing the Putaway List after MIGO transaction and also for automatic printing the Pick List in Background with WMTA out put type - which triggers during delivery creation.
If we configure LOCL in OMLV screen the spool gets generated but it doesnt execute automatically and that needs to be triggered manually using T code SP02 or SP01.
We want to print these putaway or pick list automatically(either thru LOCL or network printer) immediate after generating a spool(without any user interaction).
Regards,
MMHi MM,
Inorder to get automatic put away list after GR you need to define the printer in OMLV settings.
Step 1:
If you are using Ricoh printer (Paper print out of TO) and Zebra Printer (Label printer for printing labels), you need define this combination under the icon "Printer pool/Labels".
Warehouse - Ricoh printer name - Zebra printer name (Pre-condition : Both the Ricoh and Zebra printers needs to be configured in SAP by your Basis team).
Step 2:
Under icon "Warehouse Movement" in the Assignment section, you need to define the condition for printing.
For example
Warehouse no: Source str type Destination str. type Printername
AB1 902 *** Ricoh printer name1
AB1 Q01 *** Ricoh printer name2
The above situation prints all put away list for receiving area to Ricoh printer name 1 & all put away list cleared by QA people to Ricoh printer name 2.
Step 3:
Analyze the condition set under the icon "Analyze" (print control tables).
You can re-check the conditions set by you in the above section. specify the warehouse number, source str type, dest. str type and execute you should be getting the printer name correctly assigned in the earlier section.
Hope the above explanation helps. Pls award points if you feel appropriate. -
Crystal Parameter Hierarchy Pick List not showing in Infoview
Hello,
We are having an issue with crystal reports not showing the hierarchy pick list in infoview.
We have 3 environments, Dev, QA, Prod.
Business Objects environments consist of 3 separate servers
Dev
Windows Server 2003 64bit
BOXI 3.1 with Service Pack 2
Integration Kit 3.1 with SP2
Crystal Reports V1 SP2
QA
Windows Server 2003 64bit
BOXI 3.1 with Service Pack 2
Integration Kit 3.1 with SP2
Crystal Reports V1 SP2
Prod
Windows Server 2003 64bit
BOXI 3.1 with Service Pack 2
Integration Kit 3.1 with SP2
Crystal Reports V1 SP2
SAP BW Environments consist of 2 server landscapes, with DEV / QA sitting on 1 and production on its own.
ServerA
Dev and QA
ServerB
Prod
We create a crystal report in Dev BOBJ, and publish to DEV SAP BW system sitting on ServerA.
The picklist shows hierarchy properly in Dev Infoview.
We then LCM the report to QA BOBJ, and Do Not publish to QA SAP BW system sitting on ServerA.
We transport the role that the report was published to, from Dev SAP BW to QA SAP BW
The picklist shows hierarchy properly in QA Infoview.
We then LCM the report to PROD BOBJ, and Do Not publish to PROD SAP BW system sitting on ServerB.
We transport the role from QA SAP BW to Prod SAP BW
The picklist does NOT show hierarchy properly in Prod Infoview.
We are a bit confused on why the picklist works properly on QA Infoview without publishing, but will not work on Production Infoview.
Is it because the repository objects for the picklist contain some server paths? (Since DEV and QA sit on the same server "ServerA")
Do we need to publish in production SAP BW for the hierarchy pick list to function?
Any help would be appreciated,
Thanks!
NickHi Nick,
Did you get this resolved? We are encountering the same issue. We have migrated our report from QA to Prod using BW Transport and then used BW Publisher to publish to BOE. The parameter list shows in InfoView for Dev and QA, but not Prod.
We're using BOE SP2 FP 2.8 -
Pick List Will Not Print On Add with SAP B1 2007A
There appears to be a bug with printing pick lists on Add with SAP B1 2007A. I have replicated the problem with PL03, 06 and 08.
Pick lists will print manually, but if you have them setup to print on add (Administration->System Initialization->Print Preferences), the following error in the log will appear:
Error Default report not found for current report type; set a default report and try again C:\Program Files\SAP\SAP Business One\SAP Business One.exe PID=6104 TID=1672
I ran a SQL trace and found the problem. The default Pick List report is set and set correctly in tables RTYP and RDOC. The problem is that SAP is looking for a RTYP.CODE value of PKL1 (instead of RLR2). PKL1 does not exist as a code in either 2005 or 2007. The Pick List document ID is RLR20001.
To confirm this on my demo database, I updated RTYP and set the CODE of RLR2 to PKL1. Afterwards, when adding a Pick List, it printed without any errors. I suppose another temporary fix would be to add a new record to the RTYP tabe with a CODE of PKL1 and the default pick list report document ID.After many hours of inquiring, searching and digging... There is an obscur SAP Note that says clearly, NOT SUPPORTED.
Best thing I could do, was to keep a server with the same configuration ready to connect to my SAN and take over from the dead server.
So for anyone interested in this topic. Save you time, search the SAP Notes for Support and high availability.
Hope that helps others. -
Need solution for dynamic pick lists in Crystal Reports
Does anyone have a good solution for creating a dynamic pick list for a Crystal Report that is based off of a BW Query without having to use a BW user input variable? In many cases it is not practical to use a BW variable to generate a dynamic pick list due to the high number of possible member values and the highly dynamic nature of the particular characteristic (customers, materials, etc.). In my understanding the LOV Server is not an option when dealing with SAP BW. Anyone else running into this issue with Crystal and SAP BW?
Hi Mike,
we once solved this by creating LOVs in BusinessView Manager. I am not sure if you can use the BW Publisher in this scenario as we did not use it. We published the reports directly to the BOE server for some reasons.
Creating a LOV in BusinessView manager is really easy. You can create cascading prompts, shedule refreshing of the lists, ...
By using the cascading prompt feature you can make prompts like this:
First enter the customer number (or pick it from a list) and then the second list, which holds the materials only has shows the ones which had been purchased by that customer. I think this is what you are looking for.
You should give it a try!
Thorsten -
How to set Bin Location when adding Pick List by DI
I would like to add Pick Lists by DI.
This is Working but if i Try to Add a Bin Location by using This Code:
oPL.Lines.BinAllocations.BinAbsEntry = Convert.ToInt32(binabs[a]);
oPL.Lines.BinAllocations.Quantity = Convert.ToDouble( quantity[a]) ;
i'll get iternal error -2007
if i Update the Picklist afert addig using above mentioned code update runs without error Message but no Bin Locations are visible in Pick List.
Picklist looks like this:Hi Fabian,
SAPbobsCOM.PickLists oPickList = SBO_Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPickLists);
oPickList.Lines.BaseObjectType = "17";
oPickList.Lines.OrderEntry = 378;
oPickList.Lines.OrderRowID = 0;
oPickList.Lines.ReleasedQuantity = 5;
if (oPickList.Add() != 0)
System.Windows.Forms.MessageBox.Show("Error : " + SBO_Company.GetLastErrorDescription());
//Screenshot 1
if (oPickList.GetByKey(Convert.ToInt32(SBO_Company.GetNewObjectKey())))
oPickList.Lines.BinAllocations.BinAbsEntry = 1; // 05-SYSTEM-BIN-LOCATION
oPickList.Lines.BinAllocations.Quantity = oPickList.Lines.ReleasedQuantity;
if (oPickList.UpdateReleasedAllocation() != 0)
System.Windows.Forms.MessageBox.Show("Error : " + SBO_Company.GetLastErrorDescription());
//Screenshot2
Screenshot 1
Screenshot 2
regards,
Maik -
Standard output type for Delivery picking list
Hi All,
My requirement is to trigger a picking list from the outbound delivery whenever the overall WM status is "B". Probably I need to look at a new requirement routine to add this condition.
Pls tell me what is the standard output type available for delivery picking list. I have analyed "EK00". Looks like this works only for deliveries without warehouse management.
Also we dont have a customization path for "EK00" and it has to be assigned to a shipping point.
Pls confirm if we can use EK00 for deliveries with warehouse management and is it correct?Else what is the other standard output type available for delivery picking list.check ZPCK picking list.
SPRO>Logistics Execution>Shipping>Basic Shipping Functions>Output Control-->Define print parameters shipping
Here available ZPCK condition type.I think this condition record you can use. -
Edit a picking list with VL01N.
Hi everybody,
I need some help to edit PICKING LIST and not a delivbrey inbound when I create an inbound delivery.
My problem is when I want to edit a picking list with a storage location MM &WM, I have an error, "Delivery 0082010157 does not contain items to be picked". Consequently I can't print it? And I can't begin ma picking without this list!!
I customize NACE.
First I put the application V2( Shipping). I Took the output type EK00
Then I use the application the procedure V10000
In the procedure I affect the condition type EK00 WITH the REQUIREMENT WM Transfer order
I check all the point and the error message is always here, why?
In the other hand, why I just have a storage location MM without WM, I can edit this piscking list.
The problem is because of wm statuts!!
Somebody could help me, please how could I do to printHi,
thanks, but the Delivery item category is actived for picking.
Hav you got other point of custumising that I could check?
Thanks for your help.
Kari -
Hi,
Someone knows smartforms and its program for picking list?.
I don't want to use sapscript SD_PICK_COLL and its program RVADSK01.
Thanks very much.
Matteo Vernile.hi,
go through this code.
Program Description: *
A packing list is printed for each outbound delivery. *
Before the delivery is made to a customer the goods are *
packed in a box or any other container and to have a *
list of products put in the package packing list is *
required. This packing list will be printed upon pick *
confirmation or at a time the delivery note is created. *
REPORT z_sd_rep_000002 MESSAGE-ID zdevmsg.
********************TABLES USED***************************************
TABLES: likp, "SD Document: Delivery Header Data
lips, "SD document: Delivery: Item data
vbak, "Sales Document: Header Data
vbpa, "Sales Document: Partner
vbuk, "Sales Document: Header Status and Admin Data
vttp, "Shipment Item
vttk, "Shipment Header,
adrc, "Addresses (Business Address Services)
tvst, "Organizational Unit: Shipping Points
vbfa, "Sales Document Flow
kna1, "General Data in Customer Master
vepo, "Packing: Handling Unit Item (Contents)
vekp. "Handling Unit - Header Table
INCLUDE rvadtabl.
********************WORK AREA*****************************************
DATA : wa_zpacklist TYPE zpacklist, "structure to hold all the data
"that has to be passed to the
"smart form
wa_item TYPE LINE OF zitempack."workarea of main item struct
DATA : wa_item_lips TYPE LINE OF zitempack."wrkarea for data selected
"from LIPS table
********************INTERNAL TABLE************************************
DATA : i_item_lips TYPE zitempack, "Internal table for data
"selected from LIPS table
i_item TYPE zitempack. "main internal table for
"items data.
*****************************CONSTANTS********************************
CONSTANTS : c_posnn(1) TYPE c VALUE 'J',
YATHAM6 Insert Begin
c_vbtyp_v(1) type c VALUE 'C',
YATHAM6 Insert End
c_parvw_stp TYPE vbpa-parvw VALUE 'AG',
c_parvw_shp TYPE vbpa-parvw VALUE 'WE',
c_formname TYPE tdsfname VALUE 'Z_PACKINGLIST',
c_zdevmsg TYPE SY-MSGID value 'ZDEVMSG',
c_e TYPE SY-MSGTY VALUE 'E',
c_000 TYPE SY-MSGNO VALUE '000',
c_X(1) TYPE c VALUE 'X',
c_fully_picked(1) TYPE c VALUE 'C'.
***************************GLOBAL VARIABLE****************************
DATA : v_objnm LIKE thead-tdname,
v_tknum_tmp LIKE vttp-tknum,
v_formname TYPE rs38l_fnam,
v_venum TYPE vekp-venum,
v_screen, "Output on printer or screen
v_picked(1).
************************MAIN PROGRAM ***********************************
FORM entry USING return_code us_screen.
DATA: v_retcode TYPE sy-subrc.
CLEAR v_retcode.
Clear any previous data.
CLEAR wa_zpacklist.
v_screen = us_screen.
Check whether the Delivery number is already been picked.If it is
picked the set the print parameters
PERFORM processing USING us_screen
CHANGING v_retcode.
IF v_retcode NE 0.
return_code = 1.
ELSE.
return_code = 0.
ENDIF.
ENDFORM. "ENTRY
*& Form PROCESSING
Check whether the Delivery number is already been picked.If it is
picked the set the print parameters
FORM processing USING us_screen
CHANGING v_retcode.
DATA: v_fm_name TYPE rs38l_fnam.
DATA: v_control_param TYPE ssfctrlop.
DATA: v_composer_param TYPE ssfcompop.
DATA: v_recipient TYPE swotobjid.
DATA: v_sender TYPE swotobjid.
DATA: v_formname TYPE tdsfname .
get SmartForm from customizing table TNAPR
v_formname = tnapr-sform.
Check whether the delivery number has been picked.If it is picked
select the relevant data for that delivery number
PERFORM get_data CHANGING v_retcode.
CHECK v_retcode EQ 0.
Set the print parameters for Smartform
PERFORM set_print_param CHANGING v_control_param
v_composer_param
v_recipient
v_sender
v_retcode.
Check whether the Smart form exists.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = c_formname
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
fm_name = v_formname
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3
IF sy-subrc <> 0.
v_retcode = sy-subrc.
PERFORM protocol_update.
ENDIF.
Check the structure wa_zpacklist for data.
IF NOT wa_zpacklist IS INITIAL.
CALL FUNCTION v_formname
EXPORTING
archive_index = toa_dara
archive_parameters = arc_params
control_parameters = v_control_param
mail_recipient = v_recipient
mail_sender = v_sender
output_options = v_composer_param
user_settings = ' '
wa_zpacklist = wa_zpacklist
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO =
JOB_OUTPUT_OPTIONS =
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5. .
IF sy-subrc <> 0.
error handling
v_retcode = sy-subrc.
PERFORM protocol_update.
ENDIF.
ELSE.
IF v_screen = space.
CALL FUNCTION 'NAST_PROTOCOL_INIT_AND_LOAD'
EXPORTING
cps_nast = nast.
CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
EXPORTING
msg_arbgb = c_ZDEVMSG
msg_nr = c_000
msg_ty = c_E
msg_v1 = syst-msgv1
msg_v2 = syst-msgv2
msg_v3 = syst-msgv3
msg_v4 = syst-msgv4
EXCEPTIONS
OTHERS = 1.
ELSE.
MESSAGE e000 WITH 'No Data Exists, to Display Output'(002).
ENDIF. " IF v_screen = space.
ENDIF. " if not wa_zpacklist[] is initial
ENDFORM. " PROCESSING
*& Form get_data
Check whether the delivery number has been picked.If it is picked
select the relevant data for that delivery number
FORM get_data CHANGING v_retcode.
This is the Input obtained from the NAST entry, Delivery Number
wa_zpacklist-vbeln = nast-objky.
CLEAR v_picked.
Check if the Delivery has Not been Picked, if not then Do Not Display
the Layout and display an Error Message
CLEAR vbuk.
SELECT SINGLE kostk
FROM vbuk
INTO vbuk-kostk
WHERE vbeln EQ wa_zpacklist-vbeln.
The Picking should Not be Processed, Else Display a Msg
IF vbuk-kostk NE c_fully_picked AND vbuk-kostk NE space.
v_picked = c_X.
v_retcode = 1.
IF v_screen = space.
CALL FUNCTION 'NAST_PROTOCOL_INIT_AND_LOAD'
EXPORTING
cps_nast = nast.
CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
EXPORTING
msg_arbgb = c_ZDEVMSG
msg_nr = c_000
msg_ty = c_E
msg_v1 = syst-msgv1
msg_v2 = syst-msgv2
msg_v3 = syst-msgv3
msg_v4 = syst-msgv4
EXCEPTIONS
OTHERS = 1.
ELSE.
MESSAGE e000 WITH
'Delivery has not been Picked-Please Check'(001).
ENDIF.
ENDIF.
CHECK v_retcode = 0.
get all the header related data from LIKP,VBAK,VBFA,VTTP,VTTK
PERFORM get_header_data.
get the address numbers for shipping point ,ship-to-party and
sold-to-party from VBFA,TVST tables
PERFORM get_addr_no.
get all the item details from VBAP ,LIPS
PERFORM get_item_data.
ENDFORM. " get_data
*& Form get_header_data
Get all the header related data from LIKP,VBAK,VBFA,VTTP,VTTK
FORM get_header_data.
select the header data from LIKP based on Delivery number.
select the following fields and put it into workarea wa_zpacklist.
SELECT SINGLE vbeln "Delivery number
kunnr "Sold to party
kunag "Shipt to party
inco1 "Inco term
inco2 "Inco term 2
btgew "Total Weight
gewei "Net weight
anzpk "Total noumber of packages in delivery
vkorg "Sales Organization
vstel "Shipping Point/Receiving Point
bldat "Date on which the Docu. was created
FROM likp
INTO CORRESPONDING FIELDS OF wa_zpacklist
WHERE vbeln = wa_zpacklist-vbeln.
to get Purchase order number (BSTNK),
Sales order number (VBELV),
Contract number (VBELN_GRP),
Customer order date first get the Sales document from VBFA
using Delivery number (LIKP-VBELN) and VBTYP_N in the where clause.
YATHAM6 Del Begin - D47K910351 05/12/2004
SELECT SINGLE vbelv "Sales Document
INTO wa_zpacklist-vbelv
FROM vbfa
WHERE vbeln = wa_zpacklist-vbeln
AND vbtyp_n = c_posnn
YATHAM6 Insert Begin - 04/15/2004
Preceding Document category only Order need to be selected
Without this it is selecting Quote and/or Inquiry because of
Select single (Which would select the first entry)
AND vbtyp_v = c_vbtyp_v.
YATHAM6 Insert End - 04/15/2004
YATHAM6 Del End - D47K910351 05/12/2004
YATHAM6 Insert Begin - D47K910351 05/12/2004
When a Sales order is created with reference to another sales order
two precding document categorys will be available for a delivery.
Example: Order with subsequent delivery free of charge
Need to get latest preceding document. This change was made to pull
correct preceding document which will be on delivery line item.
All delivery items will have the same preceding document number.
select single vgbel from lips into wa_zpacklist-vbelv
where vbeln = wa_zpacklist-vbeln.
YATHAM6 Insert End - D47K910351 05/12/2004
SELECT SINGLE bstnk "Customer purchase order number
vbeln_grp "Master Contract NUmber
bstdk "Customer Order date
INTO (wa_zpacklist-bstnk,
wa_zpacklist-vbeln_grp,
wa_zpacklist-bstdk)
FROM vbak
WHERE vbeln = wa_zpacklist-vbelv.
select shipment number from VTTP table using wa_zpaclist-vbeln in the
where clause.
SELECT tknum "Shipment Number
FROM vttp
UP TO 1 ROWS
INTO wa_zpacklist-tknum_tmp
WHERE vbeln = wa_zpacklist-vbeln.
ENDSELECT.
for this value of wa_zpacklist-tknum_tmp select
External identification 2
Shipping type
Number of forwarding agent
from VTTK
SELECT SINGLE exti2 "External identification 2
vsart "Shipping type
tdlnr "Number of forwarding agent
INTO (wa_zpacklist-exti2,
wa_zpacklist-vsart,
wa_zpacklist-tdlnr)
FROM vttk
WHERE tknum = wa_zpacklist-tknum_tmp.
get the packing date from VEkP table for which Internal Handling
Unit Number(VENUM) is required from VEPO table.
get the value from VEPO table for the delivery number.
SELECT venum
UP TO 1 ROWS
FROM vepo
INTO v_venum
WHERE vbeln = wa_zpacklist-vbeln.
EXIT.
ENDSELECT.
CHECK sy-subrc = 0.
SELECT SINGLE erdat
FROM vekp
INTO wa_zpacklist-erdat
WHERE venum = v_venum.
ENDFORM. " get_header
*& Form get_item
Get all the item details from VBAP ,LIPS
FORM get_item_data.
refresh the internal tables of item data.
data: v_tabix like sy-tabix. "YATHAM6 Insert 03/31/2004
REFRESH : i_item,
i_item_lips.
get the item details from VBAP table based on the sales document
number(VBELV) and store the data in i_item
SELECT posnr "Sales Document Item
posex "Item Number of the Underlying Purchase
"Order
kwmeng "Quantity Ordered
kdmat "Customer Item Number
INTO CORRESPONDING FIELDS OF
TABLE i_item
FROM vbap
WHERE vbeln EQ wa_zpacklist-vbelv.
get the item details from LIPS based on Delivery number and
ZZCATNO(Catalog numer)from mara using an inner join between LIPS and
MARA using matnr as key
*Begin of GONAGUNTLA2 - @0001 02/11/2004 D47K906487
SELECT a~vbeln "Delivery Number
a~vtweg "Distribution Channel
a~posnr "Delivery item
a~lfimg "Actual quantity delivered (in sales units)
a~matnr "Material Number
b~zzcatno "Catlog Number for each material
FROM lips AS a
INNER JOIN
mara AS b
ON amatnr = bmatnr
INTO CORRESPONDING FIELDS OF
TABLE i_item_lips
WHERE a~vbeln = wa_zpacklist-vbeln.
SELECT a~vbeln "Delivery Number
a~vtweg "Distribution Channel
a~posnr "Delivery item
a~pstyv "Delivery item category
a~lfimg
"Actual quantity delivered (in sales units)
a~matnr "Material Number
a~uepos
"Higher-level item in bill of material structures
a~vgpos "Sales order line item
b~zzcatno "Catlog Number for each material
FROM lips AS a
INNER JOIN
mara AS b
ON amatnr = bmatnr
INTO CORRESPONDING FIELDS OF
TABLE i_item_lips
WHERE a~vbeln = wa_zpacklist-vbeln.
*End of GONAGUNTLA2 - @0001 02/11/2004 D47K906487
clear the workareas
CLEAR : wa_item,
wa_item_lips.
loop at the main internal table which contains the item data.
so that the data in the internal table i_item_lips is passed in the
i_item table
LOOP AT i_item INTO wa_item.
v_tabix = sy-tabix. "YATHAM6 Insert 03/31/2004
read the internal table i_item_lips for key Item Number(POSNR)
because the only link between the LIPS table and VBAP table is
(POSNR) for the same delivery number.
*Begin of GONAGUNTLA2 - @0001 02/12/2004
READ TABLE i_item_lips
INTO wa_item_lips
WITH KEY posnr = wa_item-posnr.
READ TABLE i_item_lips
INTO wa_item_lips
WITH KEY vgpos = wa_item-posnr.
*End of GONAGUNTLA2 - @0001 02/12/2004
check whether the same POSNR value is there in the I_item_lips table
IF sy-subrc = 0.
*Begin of GONAGUNTLA2 - @0001 02/12/2004
perform get_previous_del_qty using wa_zpacklist-vbelv
wa_item_lips-vgpos
wa_item_lips-vbeln
wa_item_lips-posnr
wa_item-kwmeng.
move wa_item-kwmeng to wa_item_lips-kwmeng.
*End of GONAGUNTLA2 - @0001 02/12/2004
to find out the Back Orders subtract Ordered Qty (KWMENG)
with Actual Qty (LFIMG)
wa_item_lips-zbkord = wa_item-kwmeng - wa_item_lips-lfimg.
Begin of Modifications - YATHAM6 12/15/2003
if wa_item-posex is not blank the repace wa_item-posnr with it.If *
it is not blank then don't do anything.
IF NOT wa_item-posex IS INITIAL.
MOVE wa_item-posex TO wa_item_lips-posnr .
ENDIF. "if not wa_item-posex is initial.
If wa_item-posex is initial.
Begin of GONAGUNTLA2 - @0001 02/12/2004
move wa_item-posnr to wa_item_lips-posex.
move wa_item_lips-posnr to wa_item_lips-posex.
*End of GONAGUNTLA2 - @0001 02/12/2004
else.
move wa_item-posex to wa_item_lips-posex.
endif.
End of Modifications - YATHAM6 12/15/2003
modify the internal table i_item by transporting VBELN LFIMG ZCALC.
*Begin of GONAGUNTLA2 - @0001 02/11/2004 D47K906487
MODIFY i_item FROM wa_item_lips
TRANSPORTING vbeln "Delivery Number
posnr "Delivery item
posex " YATHAM6 Insert
*lfimg "Actual Quantity Delivered
zbkord "Back Order
zzcatno "Catlog Number
matnr "Material Number
vtweg
WHERE posnr = wa_item-posnr.
MODIFY i_item FROM wa_item_lips "YATHAM6 Del 03/31/2004
MODIFY i_item FROM wa_item_lips index v_tabix
TRANSPORTING vbeln "Delivery Number
posnr "Delivery item
posex " YATHAM6 Insert
KWMENG
" gonaguntla2 Insert
lfimg
"Actual Quantity Delivered
zbkord "Back Order
zzcatno "Catlog Number
matnr "Material Number
vtweg
uepos
pstyv.
*Table i_item should be updated with the corresponding entry not with
*the
item number.
WHERE posnr = wa_item-posnr. "YATHAM6 Del
else.
YATHAM6 Mod Begin - 04/22/2004
Delete the Current row instead of item. Because the Delivery item
sequence could be different than that of the Sales Order item #.
delete i_item where posnr = wa_item-posnr.
delete i_item index v_tabix.
YATHAM6 Mod End - 04/22/2004
*End of GONAGUNTLA2 - @0001 02/11/2004 D47K906487
ENDIF. " if sy-subrc = 0.
ENDLOOP. "loop at i_item
now once the i_item internal table is full
check it.
IF NOT i_item[] IS INITIAL.
sort i_item[] by vbeln descending posex. "YATHAM6 Insert
move the data from i_item into the structure wa_zpacklist.
wa_zpacklist-zitempack_tb[] = i_item[].
ENDIF. "if not i_item[] is initial.
ENDFORM. " get_item
*& Form get_addr
text
Get the address numbers for shipping point ,ship-to-party and
sold-to-party from VBFA,TVST tables
FORM get_addr_no .
To find out the addresses of sold-to-party, goto table VBPA select
the address number ADRNR
SELECT SINGLE adrnr "Address Number
INTO wa_zpacklist-adrnrstp
FROM vbpa
YATHAM6 Mod Begin - 04/15/2004
Get the address numbers for the Delivery instead of Sales order
WHERE vbeln = wa_zpacklist-vbelv
WHERE vbeln = wa_zpacklist-vbeln
YATHAM6 Mod End - 04/15/2004
AND parvw = c_parvw_stp.
To find out the addresses of ship-to-party, goto table VBPA select
the address number ADRNR
SELECT SINGLE adrnr "Address Number
INTO wa_zpacklist-adrnrshp
FROM vbpa
YATHAM6 Mod Begin - 04/15/2004
Get the address numbers for the Delivery instead of Sales order
WHERE vbeln = wa_zpacklist-vbelv
WHERE vbeln = wa_zpacklist-vbeln
YATHAM6 Mod End - 04/15/2004
AND parvw = c_parvw_shp.
To select the addresses for Shipping point find out the address *
number from TVST table .
SELECT SINGLE adrnr "Address Number
INTO wa_zpacklist-adrnr
FROM tvst
WHERE vstel = wa_zpacklist-vstel.
ENDFORM. " get_addr
*& Form set_print_param
Set the print paramters for the smartform
FORM set_print_param CHANGING v_control_param TYPE ssfctrlop
v_composer_param TYPE ssfcompop
v_recipient TYPE swotobjid
v_sender TYPE swotobjid
v_retcode TYPE sy-subrc.
DATA: v_itcpo TYPE itcpo.
DATA: v_repid TYPE sy-repid.
DATA: v_device TYPE tddevice.
v_repid = sy-repid.
CALL FUNCTION 'WFMC_PREPARE_SMART_FORM'
EXPORTING
pi_nast = nast
pi_repid = v_repid
IMPORTING
pe_returncode = v_retcode
pe_itcpo = v_itcpo
pe_device = v_device
pe_recipient = v_recipient
pe_sender = v_sender.
IF v_retcode = 0.
MOVE-CORRESPONDING v_itcpo TO v_composer_param.
v_control_param-device = v_device.
v_control_param-no_dialog = c_X.
v_control_param-preview = v_screen.
v_control_param-getotf = v_itcpo-tdgetotf.
v_control_param-langu = nast-spras.
ENDIF.
ENDFORM. " set_print_param
*& Form protocol_update
text
Error Handling
FORM protocol_update .
CHECK v_screen = space.
CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
EXPORTING
msg_arbgb = syst-msgid
msg_nr = syst-msgno
msg_ty = syst-msgty
msg_v1 = syst-msgv1
msg_v2 = syst-msgv2
msg_v3 = syst-msgv3
msg_v4 = syst-msgv4
EXCEPTIONS
OTHERS = 1.
ENDFORM. " protocol_update
*& Form get_previous_del_qty
text
--> p1 text
<-- p2 text
FORM get_previous_del_qty using f_so
f_so_item
f_del
f_del_item
f_so_qty.
data: begin of i_vbfa_tab occurs 0,
vbeln like vbfa-vbeln,
posnn like vbfa-posnn,
end of i_vbfa_tab.
data: fv_lfimg like lips-lfimg.
select vbeln posnn into table i_vbfa_tab from vbfa
where vbelv eq f_so
and posnv eq f_so_item
and vbtyp_n eq 'J'.
loop at i_vbfa_tab.
if i_vbfa_tab-vbeln ne f_del.
clear fv_lfimg.
select single lfimg into fv_lfimg
from lips
where vbeln eq i_vbfa_tab-vbeln
and posnr eq i_vbfa_tab-posnn.
f_so_qty = f_so_qty - fv_lfimg.
endif.
endloop.
ENDFORM. " get_previous_del_qty -
hi,
again i have a returns problem :).
this time i want to set up returns based on pick lists from warehouses and suppliers. the imagined scenarios goes something like this. a store orders a set if items, usually up to 800 - 1000 lines of items. this is delivered in a unknow set of crates, which is packed differently depending on deliery. ie on some days similar orders may require 4 crates, other days its 5 crates (this is mostly due to the crates availabe at the wh may be of different size). naturally one or more crates may be dilivered to the wrong place. now, since the employe at the store dont want to go through 800 lines of items to find the missing ones, they would just want to make a full return on the entire crate.
ideally this would be done using the pick list from the wh/supplier, since this is the only way to accuratly know whats in hte crate, but i dont know of any way to do that in sim without having to manually enter every single item. can this be done somehow? please dont restrict yourselfs to vanilla solutions, any and all extra tables are welcome :)!
cheers
nilsHaving the same problem here - were you ever able to resolve the issue?
-
What is the difference between sales order with picking and without picking
hi friends,
i would like to know what is the difference between sales order with picking and without picking.
thanks
skrishnanHello,
Picking refers to preparing the right quantity and quality of goods for shipping on schedule as required by the customer.
Once picking is configured, SAP Sd automatically generates picking lists and picking labels which can be tagged to the relevant goods. SAP can be configured to ensure that picked quantity is confirmed before goods are issued. This can be done using transaction code VSTK. In T-code VSTK, picking confirmations can be set, which ensure that goods picked for delivery are in accordance with picking slips.
Picking thus helps in monitoring each item using the picking status. Picking is normally done in SAP SD by a shipping clerk.
Prase -
TO (Pick LIst) Creation before GI for Reservation
Hi Experts,
We have a requirement that we should create the TO (Pick List) first for a reservation and after physical picking perfomr the GI. Is there standard SAP functionality to cater this requirement? If we do teh GI first then process is standard but teh requirement is that we wanted to create the TO without doing GI.
Please advice.
Thanks,
KHANHi Khan,
If I understand you right, you would like to do the TO before doing the PGI. This is standard. For this, you must either have Lean WM or full WM active.
Hope this answers your question.
Regards
Nikhilesh -
Pick List Creation Released quantity exceeds open quantity
Hi all,
I'm getting the following error when trying to create pick lists through the SAPB1 DI:
"Released quantity exceeds open quantity "
Every time, the stock quantity in the warehouse that the code concerns is by far enough when compared to the released quantity.
I cannot turn off the warehouse setting recommended on another post on here.
Any ideas?
Thanks
Cal.Hi, sorry for my delayed response!
This is still an issue, I already have a condition to check against the warehouse's current stock, this is being successful but still generates the above error when we get to PLIST.add()
Here's the SQL I'm using to gather my data:
select distinct t3.docnum,t4.listName as'Price List',(select isnull(sum(1),0) from pkl1 S99 where S99.orderentry = T0.docentry
and S99.orderline = T0.linenum) as 'cupid',t0.DocEntry, t3.Confirmed, DATEDIFF(DAY,GETDATE(),t3.DocDueDate)
as 'DateDifference' from rdr1 t0 inner join oitm t2 on t0.ItemCode = t2.ItemCode inner join ORDR t3
on t3.DocEntry = t0.DocEntry inner join OCRD t1 on t3.CardCode = t1.cardcode inner join OPLN t4
on t1.listnum = t4.listNum where T0.[WhsCode] = 'xxx' and T2.[OnHand] > 0 and T0.[OpenQty] > 0 and T2.InvntItem = 'y'
and t3.Confirmed = 'y' and (select isnull(sum(1),0) from pkl1 S99 where S99.orderentry = T0.docentry and S99.orderline = T0.linenum) = 0
and t4.ListName <> 'EconoSupplies Sales' and t4.ListName <> 'EconoSupplies Sales (EUR)'
and DATEDIFF(DAY,GETDATE(),t3.DocDueDate) < case when datepart(WEEKDAY,getdate()) = 6 then 4 else 2 end group by t3.docnum,t0.docEntry,
t3.Confirmed , t0.LineNum, t4.listname, DATEDIFF(DAY,GETDATE(),t3.DocDueDate) order by t0.DocEntry
This returns a list of all the picks that I am interested in. I have changed the warehouse code for privacy.
Next, we loop through each pick and extract the data:
SELECT T1.[DocNum], T1.[DocEntry],T0.[LineNum], T1.[CardCode],T0.[ItemCode], T0.[Dscription], T0.[OpenQty], (SELECT sum(s99
.[OpenQty]) FROM RDR1 s99 WHERE s99.[DocEntry] = T0.[DocEntry] and s99.[ItemCode] = T0.[ItemCode]) as 'TotalQty',T3.
[OnHand] FROM RDR1 T0 INNER JOIN ORDR T1 ON T0.DocEntry = T1.DocEntry INNER JOIN OITM T2 ON T0.ItemCode = T2.ItemCode INNER
JOIN OITW T3 ON T0.ItemCode = T3.ItemCode and T0.WhsCode = T3.WhsCode WHERE T0.[WhsCode] = 'DSV' and T3.[OnHand] > 0 and
T0.[OpenQty] > 0 and T2.InvntItem = 'y' and t0.docEntry = <<<VB VARIABLE HERE>>>
ORDER BY T1.[DocEntry], T0.[LineNum]
These two sql commands are stored in a table and called from the VB code, for soft code re-usability.
The SQL returns the results I am expecting, and I don't think the problem lies here.
Here's the VB code:
Dim PLIST As SAPbobsCOM.PickLists
PLIST = GetDIConnection.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPickLists)
Dim RS, RS1, RS2, RS12 As SAPbobsCOM.Recordset
Dim i, ii As Integer
RS = GetDIConnection.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
RS1 = GetDIConnection.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
RS12 = GetDIConnection.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
Dim WhsCode As String = GetCompanyNamedConfigValue("xxxxx", "xx")
Dim SQLText As String
Dim nErr, errMsg As String
Dim DocDate As Date = Now
Dim tempI As Integer = 1
Dim executeBody As Boolean = True
Dim ExecuteHead As Boolean = True
Dim picklistcheck, picklistcheck1 As String
Dim Type As String
'CJB---- AUTO GENERATE PICK LIST-------------------------------------
Dim OCHAPPCFGValue As String = GetAPPCFGEntry("GeneratePicks")
If OCHAPPCFGValue = "Y" The
Dim DocEntry, qty, docnum As Integer 'SO docentry & line qty
Dim ItemCode As String ' Itemcode for SO line
Dim price As Double
Dim LineNum As Integer
Dim OrderRs, ORderRs1 As SAPbobsCOM.Recordset
Dim HashTable As New Hashtable
Dim HashArray(2) As String
OrderRs = GetDIConnection.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
ORderRs1 = GetDIConnection.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
Dim sqlstring1 As String = GetAPPCFGEntry("SQLSTRING1SOWMS03")
Echo("Debug, sqlstring1: " & sqlstring1)
OrderRs.DoQuery(sqlstring1) ' just assume the SQL brings back what I need
Dim Attemptcount As Integer = 1
'We now have the docEntries we need, so we loop through each docEntry and extract the lines
Do Until OrderRs.EoF
DocEntry = OrderRs.Fields.Item("DocEntry").Value
EchoBanner("NEW RECORD, attempt count: " & Attemptcount)
Echo("DocEntry: " & DocEntry)
Dim sqlstringPart1, SqlStringPart2 As String
sqlstringPart1 = GetAPPCFGEntry("SQLSTRINGSOWMS03P1")
SqlStringPart2 = GetAPPCFGEntry("SQLSTRINGSOWMS03P2")
Dim sqlstring As String = sqlstringPart1 & " '" & DocEntry & "' " & SqlStringPart2
Echo("Debug: SOFT CODED SQL STRING FROM OCHAPPCFG FOR PICK LIST SELECTION CRITERIA:")
Echo(sqlstring)
ORderRs1.DoQuery(sqlstring)
If ORderRs1.RecordCount = 0 Then
'Error!
EchoBanner("No records found under docEntry: " & DocEntry)
End If
PLIST.PickDate = Today
PLIST.Name = "DSV Interface"
PLIST.OwnerCode = 1
Dim icount As Integer = 0
Dim onHand, TotalQty As Integer
Dim LineAdded As Boolean = False
Do Until ORderRs1.EoF
docnum = ORderRs1.Fields.Item("DocNum").Value
'PLIST.Lines.SetCurrentLine(icount)
ItemCode = ORderRs1.Fields.Item("ItemCode").Value
' price = OrderRs1.Fields.Item("Price").Value
onHand = CInt(ORderRs1.Fields.Item("onHand").Value)
TotalQty = CInt(ORderRs1.Fields.Item("TotalQty").Value)
Echo("DocNum: " & docnum)
Echo("Debug: Onhand: " & onHand)
Echo("Debug: TotalQty: " & TotalQty)
If TotalQty > onHand Then
'WE CANNOT RAISE THIS PICK LIST, MORE REQUESTED THAN IN STOCK!
Echo("Unable to generate Pick List, not enough stock for item: " & ItemCode)
Exit Do
End If
PLIST.Lines.SetCurrentLine(icount)
Echo("Line set to " & icount)
PLIST.Lines.BaseObjectType = SAPbobsCOM.BoObjectTypes.oOrders
PLIST.Lines.OrderEntry = DocEntry
'CJB
LineNum = ORderRs1.Fields.Item("LineNum").Value
PLIST.Lines.OrderRowID = LineNum
'PLIST.Lines.ReleasedQuantity = OrderRs1.RecordCount ' quantity from the line in SO - OpenLineQty
PLIST.Lines.ReleasedQuantity = ORderRs1.Fields.Item("OpenQty").Value
' PLIST.Lines.TaxCode = OrderRs1.Fields.Item("VatGroup").Value
Echo("Record count : " & ORderRs1.RecordCount)
Echo("Icount: " & icount)
Echo("Details...")
Echo("Debug: LineNum: " & LineNum)
Echo("Debug: DocNum: " & docnum)
Echo("Debug: ItemCode: " & ItemCode)
Echo("Debug: Released Quantity: " & PLIST.Lines.ReleasedQuantity)
Echo("Debug: Picked Quantity: " & PLIST.Lines.PickedQuantity)
Echo("Debug: OnHand: " & onHand)
Echo("Debug: PickDate: " & PLIST.PickDate)
PLIST.Lines.Add()
Echo("Pick List line added!")
icount += 1
ORderRs1.MoveNext()
LineAdded = True
Loop
' OrderRs.DoQuery("select t0.absentry, t0.pickentry, t0.orderEntry, t1.DocEntry, t0.PickQtty from pkl1 t0 inner join ordr t1 on t0.OrderEntry = t1.DocEntry where t1.DocEntry = '" & DocEntry & "'"
' If OrderRs.RecordCount = 0 Then
If LineAdded = True Then
Echo("Adding Pick List...")
Dim lretcode As Integer = PLIST.Add()
If lretcode = 0 Then
'success!
EchoBanner("Success")
Dim LastPickEntry As String = GetDIConnection.GetNewObjectKey()
Echo("Enitre Pick List created! See Pick & Pack -> Pick List in SAPB1")
Echo("Pick Entry: " & LastPickEntry)
Else
EchoBanner("ERROR! UNABLE TO GENERATE PICKLIST!! " & GetDIConnection.GetLastErrorDescription)
End If
Else
Echo("NO LINES FOUND TO ADD TO THE PICK LIST!")
' Err.Raise(vbObjectError, "SOWMS03, generate picklist", "Error creating PickList! Error Description: " & GetDIConnection.GetLastErrorDescription & " Error Code: " & GetDIConnection.GetLastErrorCode)
'need a way of logging this error without jumping out of the loop.
End If
OrderRs.MoveNext()
Attemptcount += 1
Loop
Maybe you are looking for
-
I have tried reinstalling the lastest version but it did not fix the problem. I am running windows 7 on a hp envy. My scroll bar was working fine before the firefox version 4 update. Also the up and down arrows do not work unless I click on the outli
-
Null value in Composite Primary key
Hi, I have a requirement where I need to identify each record based on 4 columns. I though that I could achieve the same by imposing a composite primary key based on all the 4 columns. But any one of the column can be null at anytime. Can I still imp
-
File adapter - how to make shure a file is complete for sender/receiver?
Hi everybody, I want to use the file adapter and a question arises for both sender and receiver: On the sender: How does the PI know when a file is complete for reading? Can this be a problem (PI starts reading the file when it is not complete?) On t
-
i would like to query a view and convert the result into microsoft excel(.xls) and store it in file system. Actually is it possible. If yes how? Immediate reply would be highy appreciated. Thanks in advance, shravan null
-
[SOLVED] Gnome 3.12 search results in Activities overview
When I'm searching for an application in the Activities overview I'm getting the icons on the top row of matching applications, and beneath that I have 4 empty rows of search results: 1 for Terminal, 1 for Files, 1 for Keys and 1 for Weather. Those 4