PICKING LIST SMARTFORMS/SAPSCRIPT
Hi Friends,
Can someone tell me what is the Smartform/sapscript for 'Picking List'. I guess the tcode is VL10B to print form. Also what are the config.
I will defintly reward points for any useful answers
Hi,
I did the quick search in my SAP System and i found 3 layouts
layout name is SD_PICK_LAB_TXT and Driver program name is RVADKE01
layout name is SD_PICK_COLL and Driver program name is RVADSK01
layout name is SD_PICK_COLL and Driver program name is RVADSK01
Regards
Sudheer
Similar Messages
-
Runtime Error for the Picking List Smartform
Hi All,
I am working on the smartform, used for GI Scrapping for 551 Movement type. The requirement is they need DEA number for the Plant. I have written code for getting the DEA number. Iacivated the form and I want to print it using the TCODE MB02.
I get the runtime error saying UPDATE TERMINATED.I saw Dump Analysis it says CALL_FUNCTION_PARM_MISSING. It says IS_ADRC is the parameter. The ABAP program is the include program /SMB40/M07DRSON. This show the function module lf_fname with out passing the parameter IS_ADRC. How can I change the program. This is Standard program.
Thanks,Then the smart form interface in the transaction SMARTFORMS you have to remove the parameter IS_ADRC. As the calling program will not automatically add the parameters if you add it in the smartforms...
If you want the values from the table ADRC..you can write subroutines in the INITIALIZATION to get the values...
Thanks,
Naren -
Re: Printing Picking list in different language
Hi,
I have developed Picking List using SAPscript in English and French language, but when i try to print output using LT31 it only prints in English language. Where do i assign different language for picking list. I appreciate your help.
Thanks.
HiteshRavi,
Is it possblie to print in different language for picking list unlike Order Confirmation / Delivery note if i have logon in English language.
Thanks.
Hitesh -
Hi,
Could anybody post the program and form in XML format for pick list smartform /SMB40/SDPLK_L ?
I could not find this smartform in the preconfigured package in market place.
Thanks Appreciated.
AnnaHere is the print program:
* Print of pickinglist for one single delivery note with Smart Form
REPORT /bpr3pf/rvadek01 LINE-COUNT 100 MESSAGE-ID vn.
TABLES: vbco3, "Communicationarea for view
vblkk, "Headerview
vblkp, "Itemview
ltak, "Transportauftrag
adrs, "Communicationarea for Address
riserls, "Serialnumbers
komser, "Communicationarea Serialnumbers
tvst, tvstt, "Shipping point
vbkok, vbpok.
TABLES: nast, "Messages
*nast, "Messages
tnapr, "Programs & Forms
itcpo, "Communicationarea for Spool
arc_params, "Archive parameters
toa_dara, "Archive parameters
addr_key. "Adressnumber for ADDRESS
TYPE-POOLS szadr.
DATA: retcode LIKE sy-subrc, "Returncode
xvbeln LIKE likp-vbeln,
xkomau LIKE likp-vbeln,
xscreen(1) TYPE c. "Output on printer or screen
DATA: BEGIN OF tvblkp OCCURS 0. "Internal table for items
INCLUDE STRUCTURE vblkp.
DATA: END OF tvblkp.
DATA: BEGIN OF tsernr OCCURS 0. "Internal table for serialnumbers
INCLUDE STRUCTURE riserls.
DATA: END OF tsernr.
DATA: BEGIN OF tsernr_print OCCURS 0.
INCLUDE STRUCTURE komser.
DATA: END OF tsernr_print.
DATA: BEGIN OF tltap OCCURS 50. "TA-Positionen
INCLUDE STRUCTURE ltap.
INCLUDE STRUCTURE ltap1.
DATA: END OF tltap.
DATA: BEGIN OF svblkp.
INCLUDE STRUCTURE vblkp.
DATA: END OF svblkp.
INCLUDE /smb40/vblpdata.
*include vblpdata.
INCLUDE /smb40/vbfadata.
*include vbfadata.
INCLUDE /smb40/vbukdata.
*include vbukdata.
INCLUDE /smb40/vbupdata.
*include vbupdata.
INCLUDE /smb40/vbbddata.
*include vbbddata.
INCLUDE /smb40/vbpadata.
*include vbpadata.
INCLUDE /smb40/sadrdata.
*include sadrdata.
* FORM ENTRY *
* Steuerung des Drucks *
FORM entry USING return_code us_screen.
CLEAR retcode.
xscreen = us_screen.
PERFORM processing USING us_screen.
IF retcode NE 0.
return_code = 1.
ELSE.
* Kommimengen an Lieferungen zurückgeben, aber nicht bei Druckansicht
IF xscreen = ' '.
PERFORM delivery_update.
ENDIF.
return_code = 0.
ENDIF.
ENDFORM. "entry
* FORM PROCESSING *
* --> PROC_SCREEN *
FORM processing USING proc_screen.
REFRESH: xlips,
xvbfa,
xvbuk,
xvbup,
yvbfa,
yvbuk,
yvbup.
PERFORM get_data.
CHECK retcode = 0.
PERFORM get_comm USING proc_screen tvst-aland.
CHECK retcode = 0.
PERFORM user_exit1.
PERFORM smartform_print.
CHECK retcode = 0.
ENDFORM. "processing
* S U B R O U T I N E S *
* FORM DELIVERY_UPDATE *
* Ergänzen Lieferung um Kommissionierinformation *
* Ergänzen der Lieferungen um Kommissionierinformation
FORM delivery_update.
DATA: BEGIN OF hvbpok OCCURS 10. "Lieferpositionen Kommiss.
INCLUDE STRUCTURE vbpok.
DATA: END OF hvbpok.
DATA: BEGIN OF sav_nast.
INCLUDE STRUCTURE nast.
DATA: END OF sav_nast.
* DATA: SYNC_FLAG TYPE C. "synchrone Verbuchung?
* Füllen Lieferkopfdaten für Kommi-Update
vbkok-vbeln_vl = xvbeln.
vbkok-vbeln = vblkk-komau.
* Füllen Positionsdaten zu Liefernr.
LOOP AT tvblkp.
hvbpok-vbeln_vl = tvblkp-vbeln.
hvbpok-posnr_vl = tvblkp-posnr.
hvbpok-posnn = tvblkp-posnr.
hvbpok-vbeln = vblkk-komau.
hvbpok-vbtyp_n = 'Q'.
hvbpok-pikmg = tvblkp-komng.
hvbpok-meins = tvblkp-meins.
hvbpok-ndifm = 0.
hvbpok-taqui = ' '.
hvbpok-charg = tvblkp-charg.
hvbpok-matnr = tvblkp-matnr.
hvbpok-brgew = tvblkp-brgew.
hvbpok-gewei = tvblkp-gewei.
hvbpok-volum = tvblkp-volum.
hvbpok-voleh = tvblkp-voleh.
hvbpok-orpos = 0.
APPEND hvbpok.
ENDLOOP.
* IF NAST-VSZTP <> 4.
* SYNC_FLAG = 'X'.
* ELSE.
* SYNC_FLAG = ' '.
* ENDIF.
sav_nast = nast.
CALL FUNCTION 'SD_DELIVERY_UPDATE_PICKING'
EXPORTING
nicht_sperren = 'X'
vbkok_wa = vbkok
aufrufer_t = 'X'
TABLES
vbpok_tab = hvbpok.
nast = sav_nast.
* Freigabe an Datenbank
* COMMIT WORK.
ENDFORM. "delivery_update
* FORM get_comm *
* --> US_SCREEN Output on screen *
* ' ' = printer *
* 'X' = screen *
* --> US_COUNTRY County for telecommunication and SET COUNTRY *
FORM get_comm USING us_screen us_country.
DATA: lvs_itcpo TYPE itcpo,
lvf_device(30) TYPE c,
lvf_dialog(1) TYPE c VALUE ' ',
lvs_recipient LIKE swotobjid,
lvs_sender LIKE swotobjid,
lvs_snast TYPE snast,
lvf_program LIKE sy-repid,
lvs_comm_type TYPE ad_comm,
lvs_comm_values TYPE szadr_comm_values.
* reset return code
retcode = 0.
* if there is a communication strategy used ...
IF NOT nast-tcode IS INITIAL.
* ... use stratagy to get communication type
CALL FUNCTION 'ADDR_GET_NEXT_COMM_TYPE'
EXPORTING
strategy = nast-tcode
* ADDRESS_TYPE =
* ADDRESS_NUMBER = VBDKA-ADRNR
* PERSON_NUMBER = VBDKA-ADRNP
address_number = addr_key-addrnumber
person_number = addr_key-persnumber
IMPORTING
comm_type = lvs_comm_type
comm_values = lvs_comm_values
* TABLES
* STRATEGY_TABLE =
EXCEPTIONS
address_not_exist = 1
person_not_exist = 2
no_comm_type_found = 3
internal_error = 4
parameter_error = 5
OTHERS = 6.
IF sy-subrc <> 0.
retcode = sy-subrc.
syst-msgty = 'E'.
PERFORM protocol_update.
ENDIF.
ENDIF.
* convert communication data
MOVE-CORRESPONDING nast TO lvs_snast.
MOVE sy-repid TO lvf_program.
CALL FUNCTION 'CONVERT_COMM_TYPE_DATA'
EXPORTING
pi_comm_type = lvs_comm_type
pi_comm_values = lvs_comm_values
pi_screen = us_screen
* PI_NEWID =
pi_country = us_country
pi_repid = lvf_program
pi_snast = lvs_snast
IMPORTING
pe_itcpo = lvs_itcpo
pe_device = lvf_device
pe_mail_recipient = lvs_recipient
pe_mail_sender = lvs_sender
EXCEPTIONS
comm_type_not_supported = 1
recipient_creation_failed = 2
sender_creation_failed = 3
OTHERS = 4.
IF sy-subrc <> 0.
retcode = sy-subrc.
syst-msgty = 'E'.
PERFORM protocol_update.
ENDIF.
CHECK retcode EQ 0.
* if there is no communication type
IF lvs_comm_type IS INITIAL.
* set device
CASE nast-nacha.
WHEN '1'.
lvf_device = 'PRINTER'.
WHEN '2'.
lvf_device = 'TELEFAX'.
lvs_itcpo-tdtelenum = nast-telfx.
IF nast-tland IS INITIAL.
lvs_itcpo-tdteleland = us_country.
ELSE.
lvs_itcpo-tdteleland = nast-tland.
ENDIF.
lvs_itcpo-tdsenddate = nast-vsdat.
lvs_itcpo-tdsendtime = nast-vsura.
lvs_itcpo-tdfaxuser = nast-usnam.
WHEN '3'.
lvf_device = 'TELETEX'.
lvs_itcpo-tdtelenum = nast-teltx.
IF nast-tland IS INITIAL.
lvs_itcpo-tdteleland = us_country.
ELSE.
lvs_itcpo-tdteleland = nast-tland.
ENDIF.
lvs_itcpo-tdsenddate = nast-vsdat.
lvs_itcpo-tdsendtime = nast-vsura.
WHEN '4'.
lvf_device = 'TELEX'.
lvs_itcpo-tdtelenum = nast-telx1.
IF nast-tland IS INITIAL.
lvs_itcpo-tdteleland = us_country.
ELSE.
lvs_itcpo-tdteleland = nast-tland.
ENDIF.
lvs_itcpo-tdsenddate = nast-vsdat.
lvs_itcpo-tdsendtime = nast-vsura.
WHEN OTHERS.
lvf_device = 'PRINTER'.
ENDCASE.
ENDIF.
* fill structure itcpo
itcpo = lvs_itcpo.
SET COUNTRY us_country.
* include rvadopfo.
ENDFORM. "get_comm
* FORM GET_DATA *
* General provision of data for the form *
FORM get_data.
DATA: vblkp_lines TYPE p.
* Beschaffen View
xvbeln = nast-objky.
CALL FUNCTION 'RV_DELIVERY_PICK_VIEW'
EXPORTING
vbeln = xvbeln
zweck = 'D'
spras = nast-spras
IMPORTING
vblkk_wa = vblkk
TABLES
vblkp_tab = tvblkp
EXCEPTIONS
OTHERS = 1.
IF sy-subrc NE 0.
PERFORM protocol_update.
ENDIF.
* gibt es zu kommissionierende Positionen, ggf. sortieren
DESCRIBE TABLE tvblkp LINES vblkp_lines.
IF vblkp_lines GT 0.
* Nummernvergabe Kommissionierauftrag
CLEAR vblkk-komau.
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
nr_range_nr = '01'
object = 'SD_PICKING'
IMPORTING
number = vblkk-komau
EXCEPTIONS
OTHERS = 1.
IF sy-subrc NE 0.
ENDIF.
IF vblkk-komau IS INITIAL.
vblkk-komau = sy-datum+2.
vblkk-komau+6(4) = sy-uzeit(4).
ENDIF.
PERFORM sort_pick_list.
retcode = 0.
ELSE.
retcode = 4.
syst-msgid = 'VN'.
syst-msgno = '202'.
syst-msgty = 'E'.
syst-msgv1 = vblkk-vbeln.
PERFORM protocol_update.
CHECK 1 = 2.
ENDIF.
* Lesen Versandstelle
IF vblkk-vstel EQ space.
CLEAR: tvst, tvstt.
ELSE.
SELECT SINGLE * FROM tvst WHERE vstel EQ vblkk-vstel.
IF sy-subrc NE 0.
CLEAR tvst.
syst-msgid = 'VN'.
syst-msgno = '203'.
syst-msgty = 'E'.
syst-msgv1 = 'TVST'.
syst-msgv2 = syst-subrc.
PERFORM protocol_update.
ENDIF.
SELECT SINGLE * FROM tvstt WHERE spras EQ nast-spras
AND vstel EQ vblkk-vstel.
IF sy-subrc NE 0.
CLEAR tvstt.
syst-msgid = 'VN'.
syst-msgno = '203'.
syst-msgty = 'E'.
syst-msgv1 = 'TVSTT'.
syst-msgv2 = syst-subrc.
PERFORM protocol_update.
ENDIF.
ENDIF.
ENDFORM. "get_data
* FORM GET_SERIAL_NO *
* In this routine the serialnumbers are fetched from the *
* database. *
FORM get_serial_no.
REFRESH tsernr.
REFRESH tsernr_print.
CHECK vblkp-anzsn > 0.
* Read the Serialnumbers of a Position.
CALL FUNCTION 'SERIAL_LS_PRINT'
EXPORTING
vbeln = vblkp-vbeln
posnr = vblkp-posnr
TABLES
iserls = tsernr.
* Process the stringtable for Printing.
CALL FUNCTION 'PROCESS_SERIALS_FOR_PRINT'
EXPORTING
i_boundary_left = '(_'
i_boundary_right = '_)'
i_sep_char_strings = ',_'
i_sep_char_interval = '_-_'
i_use_interval = 'X'
i_boundary_method = 'C'
i_line_length = 50
i_no_zero = 'X'
i_alphabet = sy-abcde
i_digits = '0123456789'
i_special_chars = '-'
i_with_second_digit = ' '
TABLES
serials = tsernr
serials_print = tsernr_print
EXCEPTIONS
boundary_missing = 01
interval_separation_missing = 02
length_to_small = 03
internal_error = 04
wrong_method = 05
wrong_serial = 06
two_equal_serials = 07
serial_with_wrong_char = 08
serial_separation_missing = 09.
IF sy-subrc NE 0.
PERFORM protocol_update.
ENDIF.
ENDFORM. "get_serial_no
* FORM SMARTFORM_PRINT
FORM smartform_print.
DATA: e_werks LIKE tvblkp-werks VALUE ' ',
e_lgort LIKE tvblkp-lgort VALUE ' ',
e_lgnum LIKE tvblkp-lgnum VALUE ' ',
e_mbdat LIKE tvblkp-mbdat VALUE IS INITIAL.
DATA: lf_fm_name TYPE rs38l_fnam.
DATA: ls_control_param TYPE ssfctrlop.
DATA: ls_composer_param TYPE ssfcompop.
DATA: ls_recipient TYPE swotobjid.
DATA: ls_sender TYPE swotobjid.
DATA: lf_formname TYPE tdsfname.
DATA: ls_addr_key LIKE addr_key.
CLEAR retcode.
* nast_key = objky.
PERFORM set_print_param USING ls_addr_key
CHANGING ls_control_param
ls_composer_param
ls_recipient
ls_sender
retcode.
*Get the Smart Form name.
IF NOT tnapr-sform IS INITIAL.
lf_formname = tnapr-sform.
ELSE.
MESSAGE e001(/smb40/ssfcomposer).
ENDIF.
* determine smartform function module for invoice
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING formname = lf_formname
* variant = ' '
* direct_call = ' '
IMPORTING fm_name = lf_fm_name
EXCEPTIONS no_form = 1
no_function_module = 2
OTHERS = 3.
IF sy-subrc <> 0.
* error handling
retcode = sy-subrc.
IF sy-subrc = 1.
MESSAGE e001(/smb40/ssfcomposer).
ENDIF.
IF sy-subrc = 2.
MESSAGE e002(/smb40/ssfcomposer).
ENDIF.
PERFORM protocol_update.
ENDIF.
CALL FUNCTION lf_fm_name
EXPORTING
archive_index = toa_dara
* ARCHIVE_INDEX_TAB =
archive_parameters = arc_params
control_parameters = ls_control_param
* MAIL_APPL_OBJ =
mail_recipient = ls_recipient
mail_sender = ls_sender
output_options = ls_composer_param
user_settings = ' '
vblkk = vblkk
TABLES
tvblkp = tvblkp
* 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.
retcode = sy-subrc.
PERFORM protocol_update.
* get SmartForm protocoll and store it in the NAST protocoll
PERFORM add_smfrm_prot.
ENDIF.
ENDFORM. "smartform_print
* FORM PROTOCOL_UPDATE *
* The messages are collected for the processing protocol. *
FORM protocol_update.
CHECK xscreen = 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 SENDER *
* This routine determines the address of the sender (Table VBUR)*
FORM user_exit1.
ENDFORM. "user_exit1
INCLUDE /smb40/mv50bfz1.
*include mv50bfz1.
*& Form set_print_param
* text
* -->P_LS_ADDR_KEY text
* <--P_LS_CONTROL_PARAM text
* <--P_LS_COMPOSER_PARAM text
* <--P_LS_RECIPIENT text
* <--P_LS_SENDER text
* <--P_RETCO text
FORM set_print_param USING is_addr_key LIKE addr_key
CHANGING cs_control_param TYPE ssfctrlop
cs_composer_param TYPE ssfcompop
cs_recipient TYPE swotobjid
cs_sender TYPE swotobjid
cf_retcode TYPE sy-subrc.
DATA: ls_itcpo TYPE itcpo.
DATA: lf_repid TYPE sy-repid.
DATA: lf_device TYPE tddevice.
DATA: ls_recipient TYPE swotobjid.
DATA: ls_sender TYPE swotobjid.
lf_repid = sy-repid.
IF itcpo IS INITIAL.
CALL FUNCTION 'WFMC_PREPARE_SMART_FORM'
EXPORTING
pi_nast = nast
pi_addr_key = is_addr_key
pi_repid = lf_repid
IMPORTING
pe_returncode = cf_retcode
pe_itcpo = ls_itcpo
pe_device = lf_device
pe_recipient = cs_recipient
pe_sender = cs_sender.
IF cf_retcode = 0.
MOVE-CORRESPONDING ls_itcpo TO cs_composer_param.
* CS_CONTROL_PARAM-NO_OPEN
* CS_CONTROL_PARAM-NO_CLOSE
cs_control_param-device = lf_device.
cs_control_param-no_dialog = 'X'.
cs_control_param-preview = xscreen.
cs_control_param-getotf = ls_itcpo-tdgetotf.
cs_control_param-langu = nast-spras.
* CS_CONTROL_PARAM-REPLANGU1
* CS_CONTROL_PARAM-REPLANGU2
* CS_CONTROL_PARAM-REPLANGU3
* CS_CONTROL_PARAM-STARTPAGE
ENDIF.
ELSE.
MOVE-CORRESPONDING itcpo TO cs_composer_param.
* CS_CONTROL_PARAM-NO_OPEN
* CS_CONTROL_PARAM-NO_CLOSE
cs_control_param-device = lf_device.
cs_control_param-no_dialog = 'X'.
cs_control_param-preview = xscreen.
cs_control_param-getotf = itcpo-tdgetotf.
cs_control_param-langu = nast-spras.
* CS_CONTROL_PARAM-REPLANGU1
* CS_CONTROL_PARAM-REPLANGU2
* CS_CONTROL_PARAM-REPLANGU3
* CS_CONTROL_PARAM-STARTPAGE
ENDIF.
ENDFORM. " set_print_param
**& Form protocol_update_i
** text
** --> p1 text
** <-- p2 text
*form protocol_update_i.
* check xscreen = 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_i
*& Form add_smfrm_prot
* text
* --> p1 text
* <-- p2 text
FORM add_smfrm_prot.
DATA: lt_errortab TYPE tsferror.
DATA: lf_msgnr TYPE sy-msgno.
DATA: l_s_log TYPE bal_s_log,
p_loghandle TYPE balloghndl,
l_s_msg TYPE bal_s_msg.
FIELD-SYMBOLS: <fs_errortab> TYPE LINE OF tsferror.
* get smart form protocoll
CALL FUNCTION 'SSF_READ_ERRORS'
IMPORTING
errortab = lt_errortab.
* add smartform protocoll to nast protocoll
LOOP AT lt_errortab ASSIGNING <fs_errortab>.
CLEAR lf_msgnr.
lf_msgnr = <fs_errortab>-errnumber.
CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
EXPORTING
msg_arbgb = <fs_errortab>-msgid
msg_nr = lf_msgnr
msg_ty = <fs_errortab>-msgty
msg_v1 = <fs_errortab>-msgv1
msg_v2 = <fs_errortab>-msgv2
msg_v3 = <fs_errortab>-msgv3
msg_v4 = <fs_errortab>-msgv4
EXCEPTIONS
OTHERS = 1.
ENDLOOP.
* open the application log
l_s_log-extnumber = sy-uname.
CALL FUNCTION 'BAL_LOG_CREATE'
EXPORTING
i_s_log = l_s_log
IMPORTING
e_log_handle = p_loghandle
EXCEPTIONS
OTHERS = 1.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
LOOP AT lt_errortab ASSIGNING <fs_errortab>.
MOVE-CORRESPONDING <fs_errortab> TO l_s_msg.
CALL FUNCTION 'BAL_LOG_MSG_ADD'
EXPORTING
i_log_handle = p_loghandle
i_s_msg = l_s_msg
EXCEPTIONS
OTHERS = 1.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDLOOP.
CALL FUNCTION 'BAL_DSP_LOG_DISPLAY'.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " add_smfrm_prot -
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 -
Problem onStandard Smartform for Picking list
Hi Experts..
I want to know is there any standard SMARTFORM for PICKING LIST?
and also let me know PrintProgram name also.....Hi,
Check the below link.. It contains a document.. Go trough it.
Point 3.1.4
[http://help.sap.com/bp_bblibrary/470/documentation/J16_BB_ConfigGuide_EN_US.doc]
Edited by: Lokesh Tarey on Jul 15, 2010 2:03 PM -
SAPScript Form for Production order Pick List
Hi gurus
We need to make a small change on printout of production pick list and I can see the form name in transaction OPK8, which is the same one as printout of production order paper. But when I read the form with SE71, I cannot see section to do with "pick list". All I can see are about production order paper. I make a search with a few words currently printed on pick list however nothing can be found in that form.Can someone please help with a little input? Thanks a lot.
yuHi,
In OPK8 you can find different lists. Each list is assigned to one form and one program. Check with the program.
Regards,
V. Suresh -
For one delivery generate several pick lists as per diff storage locations.
I want to print several pick list for one delivery as per different storage locations in SAPscript. i.e - for one Delivery if the storage location is defferent then several pick list will be printed
Mahmood,
If you are using the standard tcode/print program then u have to modify the program. after fetching all the item data of the delivery, sort the internal table with storage location and at every new storage location trigger the function module for calling the SAP Script or Smartform. By doing this every new storage location new form gets triggered.
regards.. -
Handling Unit and Picking List Output
Hello SAP Gurus,
I am not able to generate the output for Handling Unit and Picking List. Can you please help me in configuring the same.Can you please do let me know the steps to be completed for the output.
Thanks & Regards,
SunilHi Sunil,
1. TCODE NACZ -> Create a procedure.
2. For this procedure you can define control sequence (Step, Control, Condition Type).
3. TCODE NACE -> Choose Application V6 (Handling Units).
4. Click on Output types.
5. You can create your own output type here.
6. For this output type you can give the access sequesnce.
7. For the same output type, in Processing Routines, give the Medium (Printer, EDI, etc.), Print Program Name, From Entry, Form name (SapScript Name). If it is a smartforms then specify the name in SmartFrom coulmn.
First 2 steps are depende on the requirement. You can go with standard settings.
Thanks,
Mandar -
Clarifications in pick list output type EK00
Hello ,
Have any one of you used the pick list output EK00 . I have
tried this and I do have some issues with
We are using SAP R/3 4.7 x 200 version .
Output type EK00 is not available in the application V2 (
Shipping ) . Its available in application V4 (Shipping special
case).
1. I have assigned the shipping points through T code VOK2 as I
am not able to find the output EK00 through customization menu.
2. I have maintained the printers details through VP01SHP ( correct me if I am wrong) . I am using the standard program RVADEK01 and form
SD_PICK_SINGLE in the output EK00.
After doing the above setting when I am creating delivery in
VL01N , the output type EK00 is not assigned automatically and
when I try to assign it manually , it gives an error message
"Processing program missing for output EK00 (medium 1)in
application V2" . I dont know why the system is looking for
application V2 when it is not available in V2 and only available
in V4 .
Am I missing anything in my process . Can some one help me in this .
With regards,
Joseph Anand.BDear Joseph,
Have you done the following setting in transaction v/38:
1.On the Display View "Output Types": Overview screen, in the Output type group box, select EK00. (Application V4)
2.In the left frame, under Dialog Structure, double-click on the Processing routines folder.
3.On the Change View "Processing Routines": Overview screen, choose .
4.In the first medium, for Print output, enter the Smart Form print program /SMB40/RVADEK01 under Program and Smart Form /SMB40/SDPIK_L under SmartForm.
Document Types Picking List
Output Types EK00
Transaction Code v/38
Smart Form Program /SMB40/RVADEK01
Smart Form /SMB40/SDPIK_L
/SMB40/SDPIK_A
5. Save the changes.
Regards,
Naveen. -
Hi friends
There is critical issue that i need to configure the picklist out put. Please explain me step by step configuration, assignment, out put type used,condition record and from where we have to generate the pick list out put? whether in delivery? here they have configured delivery out put as packing list out put and it is assigned to LF. PLEASE NOT THERE IS NO LEAN OR WEAR HOUSE MANAGEMENT.
Regards
KRNHI nkr
TRy to print pick list using tcode VL10B.
Form name : LVSKOMMIL1
Print program : RLKOMM40
Configurations are done in tcode OMLV. Form is maintained under Print Code and print program under Multiple processing of OMLV.
VL10B is able to create delivery note in background
check the settings in NACE for this picking Output type, Print program and Script form Whether this output type is triggering the form or not?
You can also use the Smartform for picking
/SMB40/SDPIK_L
try with transaction OPK8
Reward if useful to u -
I am getting a short dump in class "CL_SSF_XSF_UTILITIES==========CP"
while running the smartform for the picking list.
The short dump says "division by 0 (type p) error." in "CONVERT_METRIC" method
The code where actual dump occurs is:
<b>when unit_character.
case ounit.
when unit_twip.
ovalue = ivalue * 1440 / cpi.
when unit_point.
ovalue = ivalue * 72 / cpi.
when unit_inch.
ovalue = ivalue / cpi.</b>.
Any help would be appreciated.
Thankshi friends,
i am facing with the same problem..
can you please let me know what is the solution for this problem ?
please remember actually it is a standard program we cant modify it... ?
Thanks in advance...
ysr
Edited by: ysr@jay on Feb 12, 2010 10:50 AM -
Picking List Second time onward printing need to use diff logo
Dear experts :
Good afternoon, need some idea. If the customer requested the picking list, first time printing need to print logo A. But if second time onward printing (like reprint) then need to print logo B.
The picking list is writtin in smartform.
Any idea, how to control it ?
Thank you very much.jay1981 wrote:
I own a dvd business and would like to use it.
//Create new DVD objects and add them to the inventory
DVD theDVD = new DVD("Good Luck Chuck", "Comedy", "1", 10, 19.99);
theInventoryGUI.addDVDToInventory(theDVD);
theDVD = new DVD("The Bourne Identity", "Action Adventure", "2", 20, 15.49);
theInventoryGUI.addDVDToInventory(theDVD);
theDVD = new DVD("The Reaping", "Horror", "3", 13, 15.99);
theInventoryGUI.addDVDToInventory(theDVD);
theDVD = new DVD("Deja Vu", "Action", "4", 17, 14.49);
theInventoryGUI.addDVDToInventory(theDVD);Bad luck if the customer wants anything other than those 4 DVD's -
Create Smart form for Pick list
Hi,
How do i start for creating a smart form for pick list.
Regards
Ajayhi
refer this
http://www.****************/Tutorials/Smartforms/PO/page1.htm
Edited by: Swetha on Jul 10, 2008 6:15 PM -
Hi
Am looking for an info regarding SF for <i>picking List</i> UK version where we need to call from TCode LT31, i found one at US version where i need to customize the o/p. My question is do i need to add on that package in order to utilize the predefined SF or is there any alternate way?
My next question is while printing through TCode LT31 am finding the o/p in script format, am not getting idea which script, output type, Program it is calling exactly. Through TNAPR i found SD_PICK_SINGLE is calling from Application V4, where it has not been listed in NACE.
Can you please let me out know the above queries?
Regards
ShinoyWarehouse management sapscripts are maintained in table T329F using IMG path:
SPRO->Logistics Execution->Warehouse Management->Tools->Develop Forms->Assign Forms.
If ther's a predefined package for UK, loading it might provide a UK pick list.
Reagrds
Sridahr
Maybe you are looking for
-
How do you make screen shots in OSX v10.6?
How do you make screen shots with Mac OS 10.6?
-
Need help please swf html not working right
Hello everyone, I created a game in keynote for my HS kids with links to the right slide according to whether or not they are the correct answer. I exported it to flash. I got two files xxx.swf when I click on this on my desktop it opens in safari wi
-
F.05 Foreign Currency Valuation BDIFF not empty
Hi gurus, When we execute F.05 transaction for November 2008 we have the same amount in our output list in columns "old difference" and "new difference", no amount for posting. Before this error we have executed F.05 and reseted the postings with F.0
-
I have table Tab1 has 20 columns i have table tab2 has 10 columns , i want you uses the bulk collect insert in tab2 to tab 1 only selected columns from the tab1 . TYPE ARRAY IS TABLE OF tab2%ROWTYPE; l_tab_array ARRAY; BEGIN SELECT * BULK COLLECT INT
-
I've had this problem before. I can't remember how I fixed it. This is in regard to my G5 Dual desktop. All of a sudden colors are dull, at least in some places. For example, the stock widget has green and red where it shows prices as being up or dow