Quantity of labels to be print during good receive
Hi experts!
I have a problem with the quantity of labels to be print during good receive.
The point is the following =
-Material Master - Basic Unit of measure "Liters"
-Purchase Order - is created with Basic Unit of measure "Liters"
-Good Receive - I receive for example 20 liters, but stored in 2 drums for 10 liters each. As I store the drums, I want to print 2 labels, one for each drum.
How can I do that?
Thanks in advance for your reply!
Regards,
Viru.
Hi
I understand your requirement. There is no customization for this requirement. If you make 2 GR, then you get 2 labels. But practically it is not possible. And you need labels to paste is on drum. I will tell you what we have done. It may help you also.
Ask you abaper to give page break for every quantity when it comes to Drum in the script or smart form by a logic. So that no of drums = number of pages.
Make only for required unit of measure not for all
Regards
Antony
Similar Messages
-
Automatic PO creation during goods receive - free of harge PO item
Hi,
I am trying to automatically create a free of charge PO item during goods receive.
Using movement type 511 and activating the "automatic PO" setting in the customizing does not seem to do the job?
Thanks
JensHi,
Please verify your settingsas given below
1. MM02 - Material Master - Purchasing view Qual.f.FreeGoodsDis. enter "1" here.
2. XK02 - Vendor Master - Purchasing view - Activate 'Grant discount in kind'
3. SPRO > MM > Purchasing > Discount in Kind (Discount in Form of Bonus Goods) > Define And Assign Discount-in-Kind Schema > Determine Free Goods Schema > Here assign Free Goods Schema "NR0001" for combination of Schema Group for Purchase Org., Schema Group for Vendor
4. ME11/ME12 - Purchase Info Record > Here in "conditions" screen, click on button "Free Goods" (Ctrl + F1) click
on "Exclusive" button and maintain the condition record that on 10 qty of material XX, Additional material for Free Goods will be 2 qty. of XX.
The following transaction can also be used for maintaining Purchase info record
1.MBN1
2.MBN2
3.MBN3
SAM -
Quantity related Scale pricing not considered during Goods receipt
Hello Group,
First thanks for looking into my issue. I tried to follow the solution in SAP Note 401941 on assessing the right unit price as it relates to the quantity received during Goods receipt, but my ABAP developers are very green at this time and they cannot figure out where to place this code fix and how it would work.
Background on issue.
From quantity of 1 to 99, I want the price to be 4.00 each
From quantity of 100 and above, I want the price to be 3.00 each.
When doing goods receipts for quantities that have not reached 100 yet, it is still assessing 3.00 each. I found the OSS note above that is really not helpful and was wondering if anyone else is using scale pricing and how their GRs are calculated for correct unit price.
Thanks all for your assistance.
SamanthaThe scale pricing cannot be used to influence price during goods receipt. Goods Receipt will pick up the price from the purchasing document.
Suppose you want to have that the price be determined based on the quantity received over a period of time, you need to use rebate agreement.
The OSS note mentioned in your question says that you can determine the price based on the schedule line quantity during GR (not quantity at the time of GR). It will not solve your requirement.
Lakshman -
Error Quantity in stockkeeping unit is zero during Good Receipt
Hi experts,
I need a little help from you to solve a problem we are having.
I'm trying to enter a Good Receipt with reference a transport purchase order. The system efectively suggest the quantity that is still open for the order 0.503 LB. But when I tried to post the GR, the system give me this error: "Quantity in stockkeeping unit is zero", message No. M7106.
Here are some relevant information:
Base unit of measure for the material is TO (tonne)
90,388 LB (US pound) <=> 41 TO (tonne)
Right now this quantity is in stock in transit
Even is a very small quantity, What we want is make is zero.
Thank in advance,
Mairo.Hi Bhavesh,
I ran MB5T and the relevant qty is there in Stock in transit. But despite there are 0.503 LB in order qty, there are 0.000 qty in base unit (TO). This is the problem.
What the user really wants is make zero this stock in transit.
Any other suggestion?
Thanks,
Mairo. -
Batch master record not created automatically during Goods Receive
Hi,
When Goods Receipt is performed in central ERP, the batch master records will be auto created. However, if we turn on the decentralize warehouse management functionality, we observed that the batch master records are no longer be auto created during GR. Is this a known SAP bug? Is there any user exits available?
TracyHi Tracy.
Can you just confirm the process...
Inbound delivery created in ERP and replicated to Decentral - With Batch?
Decentral puts batch into warehouse and post GR back to ERP
ERP receipt posted but batch master not updated.
What values are not updated in ERP or is it the entire record?. Within the IDOC transfer settings of ERP you can enable/disable certain IDOC field which prevent update (HUM etc). This may be the issue
Let me know some more information
Regards
Steve -
Printing a putaway label at the time of Goods Receipt
When the Goods Receipt(GR) is done for the stock in interim receiving area (Storage Type 902) then the put-away labels are printed from Transfer Order for GR.
Users will take the labels and move the materials from staging area to destination bins according to information printed on the label. There should be feature to re-print the labels (from spool standard SAP function) as and when needed.
Currently at the IDC location, the following process is utilized; The WMS system produces a putaway label at the time of Goods Receipt. The label print screen in WMS asks for the load ID of the received load and the operator selects label type l and the barcode printer it should print at. The label is automatically printed and sent to a pre-assigned printer. The label is then used to identify the location which the material is to be relocated to from the receiving area, either a picking bin location, or a surplus bin location for storage and replenishment purposes. The label has Job Type, Receipt Date, Quantity, Material Number & Description, Operator I.D., Number of pallets/boxes, Unit of Issue, Serial Number, Destination bin and Load I.D.
can any one guide me on this!! ASAPdo you mean when a GR is printed, it shud automatically print the label as opposed to the manual process now?
In that case you may have to find a user exit that is triggerred upn saving the GR and call ur label program from there. -
Prevent quantity updating during Goods Receipt
Hi,
We have a particular requirement for a type of subcontracting process (not the standard SAP subcontracting) as mentioned below.
We create a Purchase Order for a material (without a standard cost) and giving an account assignment category in the PO. The Net price mentioned in the PO is the processing charges for the vendor (service charges). It does not indicate price for the material.
When we receive the finished material from the vendor, we perform a Goods receipt. The stock gets updated and accounting documents are created.
Our requirement is to stop this quantity updating during Goods Receipt. But, at the same time, we would like the accounting documents to be created as we need to pay the vendor.
Is there any way of achieving this?
Pl let me know. Any inputs would be appreciated.Hi,
Thanks for the response!
I understand that in the standard process, the parent item inforecord takes care of the processing charges. But this is process that has been customized differently as the client has SAP as well as legacy systems talking to each other.
Turning off the qty updating at the material type level will turn it off for all purchase orders created for the material at that particular plant which is something we would like to avoid.
We would basically like to turn it off for particular purchase order type. The reason for turning it off is that after the GR is done, there is a separate process that comes from the legacy system and updates the same quantity of finished product and also posts the consumption of components.
So, our basic requirement is , is it possible to turn off qty updating for the GR of a particular purchase order document type and yet create accounting document. Material is not a valuated material and has a standard cost zero.
Any inputs in this regard will be helpful.
Regards -
How to print Column Labels on each print page of an ALV report
Hi,
I have an ALV report which is of 10 print pages.
I need to print Column Labels on each print page.
How it is possible.
Plz write the solution
NarendraHi Narendra
try this code.
reward pts if help.
Deepanker.
*& Report ZDEMO_ALVGRID_EDIT *
*& Example of a simple ALV Grid Report *
*& The basic ALV grid, Enhanced to display specific fields as *
*& editable depending on field value *
REPORT ZDEMO_ALVGRID_EDIT .
TABLES: ekko.
TYPE-POOLS: slis. "ALV Declarations
*Data Declaration
TYPES: BEGIN OF t_ekko,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
statu TYPE ekpo-statu,
aedat TYPE ekpo-aedat,
matnr TYPE ekpo-matnr,
menge TYPE ekpo-menge,
meins TYPE ekpo-meins,
netpr TYPE ekpo-netpr,
peinh TYPE ekpo-peinh,
field_style TYPE lvc_t_styl, "FOR DISABLE
END OF t_ekko.
DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
wa_ekko TYPE t_ekko.
*ALV data declarations
DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE.
DATA: it_fieldcat TYPE lvc_t_fcat, "slis_t_fieldcat_alv WITH HEADER LINE,
wa_fieldcat TYPE lvc_s_fcat,
gd_tab_group TYPE slis_t_sp_group_alv,
gd_layout TYPE lvc_s_layo, "slis_layout_alv,
gd_repid LIKE sy-repid.
*Start-of-selection.
START-OF-SELECTION.
PERFORM data_retrieval.
PERFORM set_specific_field_attributes.
PERFORM build_fieldcatalog.
PERFORM build_layout.
PERFORM display_alv_report.
*& Form BUILD_FIELDCATALOG
Build Fieldcatalog for ALV Report
FORM build_fieldcatalog.
wa_fieldcat-fieldname = 'EBELN'.
wa_fieldcat-scrtext_m = 'Purchase Order'.
wa_fieldcat-col_pos = 0.
wa_fieldcat-outputlen = 10.
wa_fieldcat-emphasize = 'X'.
wa_fieldcat-key = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'EBELP'.
wa_fieldcat-scrtext_m = 'PO Item'.
wa_fieldcat-col_pos = 1.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'STATU'.
wa_fieldcat-scrtext_m = 'Status'.
wa_fieldcat-col_pos = 2.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'AEDAT'.
wa_fieldcat-scrtext_m = 'Item change date'.
wa_fieldcat-col_pos = 3.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-scrtext_m = 'Material Number'.
wa_fieldcat-col_pos = 4.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'MENGE'.
wa_fieldcat-scrtext_m = 'PO quantity'.
wa_fieldcat-col_pos = 5.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'MEINS'.
wa_fieldcat-scrtext_m = 'Order Unit'.
wa_fieldcat-col_pos = 6.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'NETPR'.
wa_fieldcat-scrtext_m = 'Net Price'.
wa_fieldcat-edit = 'X'. "sets whole column to be editable
wa_fieldcat-col_pos = 7.
wa_fieldcat-outputlen = 15.
wa_fieldcat-datatype = 'CURR'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'PEINH'.
wa_fieldcat-scrtext_m = 'Price Unit'.
wa_fieldcat-col_pos = 8.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
ENDFORM. " BUILD_FIELDCATALOG
*& Form BUILD_LAYOUT
Build layout for ALV grid report
FORM build_layout.
Set layout field for field attributes(i.e. input/output)
gd_layout-stylefname = 'FIELD_STYLE'.
gd_layout-zebra = 'X'.
ENDFORM. " BUILD_LAYOUT
*& Form DISPLAY_ALV_REPORT
Display report using ALV grid
FORM display_alv_report.
gd_repid = sy-repid.
call function 'REUSE_ALV_GRID_DISPLAY'
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_callback_program = gd_repid
i_callback_user_command = 'USER_COMMAND'
is_layout_lvc = gd_layout
it_fieldcat_lvc = it_fieldcat
i_save = 'X'
TABLES
t_outtab = it_ekko
EXCEPTIONS
program_error = 1
OTHERS = 2.
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. " DISPLAY_ALV_REPORT
*& Form DATA_RETRIEVAL
Retrieve data form EKPO table and populate itab it_ekko
FORM data_retrieval.
SELECT ebeln ebelp statu aedat matnr menge meins netpr peinh
UP TO 10 ROWS
FROM ekpo
INTO CORRESPONDING FIELDS OF TABLE it_ekko.
ENDFORM. " DATA_RETRIEVAL
*& Form set_specific_field_attributes
populate FIELD_STYLE table with specific field attributes
form set_specific_field_attributes .
DATA ls_stylerow TYPE lvc_s_styl .
DATA lt_styletab TYPE lvc_t_styl .
Populate style variable (FIELD_STYLE) with style properties
The NETPR field/column has been set to editable in the fieldcatalog...
The following code sets it to be disabled(display only) if 'NETPR'
is gt than 10.
LOOP AT it_ekko INTO wa_ekko.
IF wa_ekko-netpr GT 10.
ls_stylerow-fieldname = 'NETPR' .
ls_stylerow-style = cl_gui_alv_grid=>mc_style_disabled.
"set field to disabled
APPEND ls_stylerow TO wa_ekko-field_style.
MODIFY it_ekko FROM wa_ekko.
ENDIF.
ENDLOOP.
endform. " set_specific_field_attributes
pls reward pts is help, -
Explain the term 'If a quantity of goods received is not yet calculated'
Hi SAP Experts
I read the note: 212286-Overview note: Valuation during goods movements.
In the end, it reads
"Determination of credit posting to order during the goods receipt for production order During goods receipt for the production order, the value of goods movement is determined by the credit of the production order.
If a quantity of goods received is not yet calculated, credit posting
to order is calculated from plan credit.
If the quantity of goods received is already calculated, the order is credited for actual costs."
Please help to explain the sentence, thanks you.
If a quantity of goods received is not yet calculated, credit posting
to order is calculated from plan credit."
Regards
MikeThank Mukthar.
I know the logic for the production, but i don not think the sentence' if the quantity of goods received has not yet been calculated' is apply to the logic of production.
For example, 135103-GR for purchase order in foreign currency: Rounding, In the beginning, it also reads "The problem can occur if the quantity of goods received has not yet been calculated.".
It not only describe the production order, but also describe the purchase order. so i think it apple to one special situation.
Regards
Mike -
Printing sapscript label using zebra printer
Hi,
Can anybody please help me regarding "printing sapscript label using zebra printer"?
i hav set the following print default settings in the transaction mb90:
output device :
NO01
device type: YZZX_ZEB
but when i try to print ,i am getting error message stating that "the respective sapscript form is not active ".
i hav also attached my print program for ur easy reference.
====================================================================*
FORM open_form_slv.
*' Description:
*' Add information for the SAP spooler
*' Change the name of the standard customized form for Zebra print
*' Last Change Vers Programmer Reason
*1
DATA: BEGIN OF print_infos.
INCLUDE STRUCTURE itcpo.
DATA: END OF print_infos.
DATA: form_name(16) TYPE c, char1(1) TYPE c, ind_beg TYPE i.
PERFORM itcpo_fuellen.
MOVE-CORRESPONDING itcpo TO print_infos.
WRITE sy-datum USING EDIT MASK '__.__.____'
TO print_infos-tdcovtitle+1.
WRITE sy-uzeit USING EDIT MASK '__:__:__'
TO print_infos-tdcovtitle+12.
CONCATENATE itcpo-tddest sy-uname ' PO'(001) ekpo-ebeln ' Doc.No'(002)
mseg-mblnr print_infos-tdcovtitle
INTO print_infos-tdcovtitle SEPARATED BY space.
form name from the table YZZM_GR_LABEL
IF NOT g_fonam IS INITIAL.
tnapr-fonam = g_fonam.
ENDIF.
if the used printer is a Zebra label printer, then the customized
layout set name ???_???_XXX will be changed to ???_???_ZP
SELECT SINGLE * FROM tsp03d WHERE padest = nast-ldest.
IF tsp03d-patype = 'YZZX_ZEB'.
ind_beg := 15.
WHILE ind_beg > -1.
char1 := tnapr-fonam+ind_beg. " substr(tnapr-fonam,ind_beg,1)
IF char1 = '_'.
form_name := tnapr-fonam(ind_beg).
CONCATENATE form_name '_ZP' INTO tnapr-fonam.
EXIT.
ENDIF.
ind_beg := ind_beg - 1.
ENDWHILE.
ENDIF.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
device = 'PRINTER'
language = language
OPTIONS = print_infos
form = tnapr-fonam
dialog = ' '.
x_open := x.
IF mseg-weanz = 0. mseg-weanz = 1. ENDIF.
IF syst-tcode <> 'MB90' AND NOT g_flag_popup IS INITIAL.
check for requirement of printing label and ask for gr-quantities (popup)
SELECT SINGLE * FROM yzzm_gr_quantity WHERE ebeln = mseg-ebeln.
CLEAR yzzm_gr_quantity-no_popup.
ELSE.
and ask not for gr-quantities
IF syst-tcode = 'MB90'.
yzzm_gr_quantity-erfmg := mseg-menge.
ELSE.
yzzm_gr_quantity-erfmg := mseg-menge / mseg-weanz.
ENDIF.
yzzm_gr_quantity-no_popup := x.
ENDIF.
determination inspection lot number
CLEAR qals-prueflos.
SELECT SINGLE * FROM qals WHERE mblnr = mseg-mblnr
AND zeile = mseg-zeile
AND mjahr = mseg-mjahr.
determination vendor batch
CLEAR mch1-licha.
SELECT SINGLE * FROM mch1 INTO mch1 WHERE matnr = mseg-matnr
AND charg = mseg-charg.
ENDFORM. "open_form_label
=================================================================== *
FORM we01_print_slv.
*' Description:
*' print out of hazardous symbol
*' controls the Zebra printer
*' Last Change Vers Programmer Reason
*****26.09.2007 Starts
DATA: l_objky TYPE nast-objky,"Object key
l_vstat TYPE nast-vstat. "Processing status of message
*****26.09.2007 Starts
TABLES: mgef, t300.
FIELD-SYMBOLS: .
DATA: aux_index LIKE sy-index.
DATA: count_haz_sym, position TYPE n, zw TYPE p DECIMALS 1.
DATA: aux_value(5) TYPE c.
DATA: txt(10) TYPE c, pos(5) TYPE c.
t001w-werks = r_werks.
t001w-name1 = r_name1.
PERFORM read_address.
*2
SELECT SINGLE * FROM ekpo WHERE ebeln = mseg-ebeln
AND ebelp = mseg-ebelp.
CLEAR mara-stoff.
SELECT SINGLE stoff INTO mara-stoff FROM mara WHERE matnr = mseg-matnr.
IF NOT mara-stoff IS INITIAL.
CLEAR t300.
SELECT SINGLE * FROM t300 WHERE lgnum = mseg-lgnum.
IF NOT sy-subrc IS INITIAL.
for plants without warehouses try to use the country code
CASE mseg-werks.
WHEN 'BUP'.
t300-regkz := 'US '.
ENDCASE.
ENDIF.
CLEAR mgef.
SELECT SINGLE * FROM mgef WHERE stoff = mara-stoff
AND regkz = t300-regkz.
ENDIF.
in case of more then one label, use for each a new output window
(not only for the first)
IF g_count > 1.
CALL FUNCTION 'CONTROL_FORM'
EXPORTING
command = 'NEW-WINDOW'.
ENDIF.
Ausgabe Gefahrstoffsysmbole Neustadt, V.Hilgert 14.07.98
*For output type YNL7, the hazardous warning symbol has to be printed at the bottom of the label.So label is called before that.
IF tnapr-kschl = 'YNL7'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'LABEL'.
ENDIF.
count_haz_sym = 0. position = 0.
WHILE count_haz_sym = 'XN'.
For output type YNL7, the width of the standard text is small.
IF tnapr-kschl = 'YNL7'.
zw = position * '0.2' + '0.1'. pos = zw.
ELSE.
zw = position * '1.3' + '0.1'. pos = zw.
ENDIF.
IF tsp03d-patype = 'YZZX_ZEB'. " device type for ZEBRA label priter
aux_value := count_haz_sym.
ELSE.
aux_value := pos. " HP/Kyocera or other laser printer
ENDIF.
CALL FUNCTION 'TEXT_SYMBOL_SETVALUE'
EXPORTING
name = '&XPOS&'
value = aux_value
EXCEPTIONS
OTHERS = 1.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element =
window = 'MAIN'
EXCEPTIONS
element = 1
function = 2
type = 3
unopened = 4
unstarted = 5
window = 6
OTHERS = 7.
IF sy-subrc = 0.
*Varying the position for YNL7
IF tnapr-kschl = 'YNL7'.
position = position + 2.
ELSE.
position = position + 1.
ENDIF.
ENDIF.
ENDIF.
ENDWHILE.
IF NOT mseg-vfdat IS INITIAL.
am07m-mhtxt = text-105.
ENDIF.
IF NOT am07m-mhdat IS INITIAL.
am07m-mhztx = text-106.
ENDIF.
IF ekko-bsart = 'UB'.
am07m-litxt = text-101.
am07m-libzg = ekko-reswk.
ELSE.
am07m-litxt = text-100.
am07m-libzg = ekko-lifnr.
ENDIF.
belpos-mblnr = mkpf-mblnr.
belpos-zeile = mseg-zeile.
CONDENSE belpos NO-GAPS.
am07m-belpos = belpos.
IF t156-shkzg = h.
am07m-hdlne = text-020.
ELSE.
am07m-hdlne = text-010.
ENDIF.
Ausgabe der Etiketten mit den ind. Mengen
IF NOT g_flag_popup IS INITIAL.
SELECT SINGLE * FROM yzzm_gr_quantity WHERE ebeln = mseg-ebeln
AND weanz = g_count.
ELSE.
* print the number of labels is handeled by the Zebra printer
IF tsp03d-patype = 'YZZX_ZEB'. " device type for Zebra label prts
g_lbls_tot := mseg-weanz - g_count + 1.
g_break_print := x.
ENDIF.
ENDIF.
mseg-erfmg := yzzm_gr_quantity-erfmg.*
********26.09.2007 Starts
CONCATENATE mseg-mblnr mseg-mjahr mseg-zeile INTO l_objky.
SELECT SINGLE vstat INTO l_vstat FROM nast WHERE kappl = 'ME' AND
objky = l_objky AND
kschl = 'YNL7'.
********26.09.2007 Ends
CALL FUNCTION 'TEXT_SYMBOL_SETVALUE'
EXPORTING
name = '&nummer&'
value = g_count.
IF tnapr-kschl <> 'YNL7'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'LABEL'.
else.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'BAR_CODE'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
CODEPAGE = 9
OTHERS = 10.
IF sy-subrc <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
ENDFORM. "GR_label_print
*& Form lesen
text
-->OBJKY text
FORM lesen USING objky.
nast_key = objky.
CLEAR retco.
SELECT SINGLE * FROM mkpf WHERE mblnr = nast_key-mblnr
AND mjahr = nast_key-mjahr.
SELECT SINGLE * FROM mseg WHERE mblnr = mkpf-mblnr
AND zeile = nast_key-zeile
AND mjahr = mkpf-mjahr.
IF sy-subrc NE 0.
retco = sy-subrc.
EXIT.
ENDIF.
PERFORM tab156_lesen.
xskkz = t156-rstyp.
PERFORM tab001w_lesen.
IF NOT mseg-evers IS INITIAL. "Versandvorschriften lesen.
PERFORM t027_lesen.
ENDIF.
PERFORM bestellung_lesen.
IF NOT ekpo-knttp IS INITIAL AND NOT
ekpo-weunb IS INITIAL.
PERFORM kontierung_lesen. "für multikontierte Bestellungen
ENDIF.
IF NOT mseg-ematn IS INITIAL.
PERFORM lesen_htn.
ELSE. "111277/PH
CLEAR am07m-mfrpn. "111277/PH
ENDIF.
IF mseg-matnr IS INITIAL.
mseg-menge = mseg-bpmng.
mseg-meins = mseg-bprme.
PERFORM bestelltext_lesen.
CLEAR mabdr.
ELSE.
PERFORM material_lesen.
ENDIF.
PERFORM tab024_lesen.
PERFORM t064b_lesen.
PERFORM ladr_lesen.
ENDFORM. "lesen
Lesen für WE-Schein Fert.Auftrag -
FORM lesen_wf USING objky.
nast_key = objky.
CLEAR retco.
SELECT SINGLE * FROM mkpf WHERE mblnr = nast_key-mblnr
AND mjahr = nast_key-mjahr.
SELECT SINGLE * FROM mseg WHERE mblnr = mkpf-mblnr
AND zeile = nast_key-zeile
AND mjahr = mkpf-mjahr.
IF sy-subrc NE 0.
retco = sy-subrc.
EXIT.
ENDIF.
PERFORM tab156_lesen.
xskkz = t156-rstyp.
PERFORM tab001w_lesen.
PERFORM auftrag_lesen.
IF NOT mseg-matnr IS INITIAL.
PERFORM material_lesen.
ELSE.
mseg-menge = mseg-erfmg.
mseg-meins = mseg-erfme.
ENDIF.
PERFORM tab024d_lesen.
PERFORM t064b_lesen.
PERFORM ladr_lesen.
ENDFORM. "lesen_wf
Lesen für Warenausgang -
FORM lesen_wa USING objky.
nast_key = objky.
CLEAR retco.
SELECT SINGLE * FROM mkpf WHERE mblnr = nast_key-mblnr
AND mjahr = nast_key-mjahr.
SELECT SINGLE * FROM mseg WHERE mblnr = mkpf-mblnr
AND zeile = nast_key-zeile
AND mjahr = mkpf-mjahr.
IF sy-subrc NE 0.
retco = sy-subrc.
EXIT.
ENDIF.
PERFORM tab156_lesen.
xskkz = t156-rstyp.
PERFORM tab001w_lesen.
IF NOT mseg-matnr IS INITIAL.
PERFORM material_lesen.
ENDIF.
PERFORM ladr_lesen.
ENDFORM. "lesen_wa
Druck Vorbereiten -
FORM open_form.
PERFORM itcpo_fuellen.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
device = 'PRINTER'
language = language
OPTIONS = itcpo
dialog = ' '.
PERFORM lesen_t159p.
x_open = x.
ENDFORM. "open_form
Druck Vorbereiten Sammelscheine -
FORM open_form_sammel.
PERFORM lesen_t159p.
PERFORM itcpo_fuellen.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
device = 'PRINTER'
language = language
OPTIONS = itcpo
form = tnapr-fonam
dialog = ' '.
x_open = x.
ENDFORM. "open_form_sammel
Druck schließen -
FORM close_form.
CHECK NOT x_open IS INITIAL.
CALL FUNCTION 'CLOSE_FORM'.
CLEAR x_open.
ENDFORM. "close_form
Hilfsfelder versorgen für Sammelscheindruck -
FORM helpdata1.
*mkpf = mkpf.
*mseg-lgort = mseg-lgort.
*ladr = ladr.
save_mkpf = *mkpf-usnam.
save_mblnr = *mkpf-mblnr.
save_budat = *mkpf-budat.
save_cpudt = *mkpf-cpudt.
save_ematn = *mseg-ematn.
save_lgort = *mseg-lgort.
save_ladr = *ladr.
*t001w = t001w.
save_werks = *t001w-werks.
save_name1 = *t001w-name1.
*ekko = ekko.
*am07m = am07m.
save_lifnr = *ekko-lifnr.
save_ebeln = *ekko-ebeln.
save_ekgrp = *ekko-ekgrp.
save_linam = *am07m-name1.
save_lina2 = *am07m-name2.
*t024 = t024.
save_eknam = *t024-eknam.
save_ektel = *t024-ektel.
*mkpf-usnam = old_mkpf.
*mkpf-mblnr = old_mblnr.
*mkpf-cpudt = old_cpudt.
*mkpf-budat = old_budat.
*mseg-ematn = old_ematn.
*mseg-lgort = old_lgort.
*ladr = old_ladr.
*t001w-werks = old_werks.
*t001w-name1 = old_name1.
*t024-eknam = old_eknam.
*t024-ektel = old_ektel.
*ekko-lifnr = old_lifnr.
*ekko-ebeln = old_ebeln.
*ekko-ekgrp = old_ekgrp.
*am07m-name1 = old_linam.
*am07m-name2 = old_lina2.
save_lfa1 = lfa1.
IF NOT old_lfa1 IS INITIAL.
lfa1 = old_lfa1.
ENDIF.
ENDFORM. "helpdata1
--- Versorgung der Hilfsfelder vor CLOSE_FORM bei Sammelscheindruck --
FORM helpdata2.
old_lfa1 = save_lfa1.
lfa1 = save_lfa1.
old_mkpf = save_mkpf.
old_lgort = save_lgort.
old_ladr = save_ladr.
old_budat = save_budat.
old_cpudt = save_cpudt.
old_werks = save_werks.
old_name1 = save_name1.
old_mblnr = save_mblnr.
old_lifnr = save_lifnr.
old_linam = save_linam.
old_lina2 = save_lina2.
old_ebeln = save_ebeln.
old_ekgrp = save_ekgrp.
old_eknam = save_eknam.
old_ektel = save_ektel.
old_ematn = save_ematn.
*mkpf-usnam = save_mkpf.
*mkpf-mblnr = save_mblnr.
*mkpf-budat = save_budat.
*mkpf-cpudt = save_cpudt.
*mseg-ematn = save_ematn.
*mseg-lgort = save_lgort.
*ladr = save_ladr.
*t001w-werks = save_werks.
*t001w-name1 = save_name1.
*t024-eknam = save_eknam.
*t024-ektel = save_ektel.
*ekko-lifnr = save_lifnr.
*ekko-ebeln = save_ebeln.
*ekko-ekgrp = save_ekgrp.
*am07m-name1 = save_linam.
*am07m-name2 = save_lina2.
ENDFORM. "helpdata2
Form Lesen Warenausgang Lohnbearbeiter -
FORM lesen_wlb USING objky.
nast_key = objky.
CLEAR retco.
SELECT SINGLE * FROM mkpf WHERE mblnr = nast_key-mblnr
AND mjahr = nast_key-mjahr.
SELECT SINGLE * FROM mseg WHERE mblnr = mkpf-mblnr
AND zeile = nast_key-zeile
AND mjahr = mkpf-mjahr.
IF sy-subrc NE 0.
retco = sy-subrc.
EXIT.
ENDIF.
PERFORM tab156_lesen.
xskkz = t156-rstyp.
PERFORM tab001w_lesen.
IF NOT mseg-matnr IS INITIAL.
PERFORM material_lesen.
ENDIF.
ON CHANGE OF mseg-lifnr.
PERFORM read_address.
ENDON.
ENDFORM. "lesen_wlb
*eject
Fuellen der ITCPO -
FORM itcpo_fuellen.
IF xscreen NE space.
*- Testausgabe auf Bildschirm -
itcpo-tdpreview = 'X'.
itcpo-tdnoprint = 'X'.
ELSE.
CLEAR: itcpo-tdpreview,
itcpo-tdnoprint.
ENDIF.
MOVE-CORRESPONDING nast TO itcpo.
itcpo-tdcover = nast-tdocover.
itcpo-tddest = nast-ldest.
itcpo-tddataset = nast-dsnam.
itcpo-tdsuffix1 = nast-dsuf1.
itcpo-tdsuffix2 = nast-dsuf2.
itcpo-tdimmed = nast-dimme.
itcpo-tddelete = nast-delet.
itcpo-tdcopies = nast-anzal.
itcpo-tdprogram = sy-repid.
ITCPO-TDTELELAND = US_COUNTRY.
itcpo-tdsenddate = nast-vsdat.
itcpo-tdsendtime = nast-vsura.
itcpo-tdnewid = x.
ENDFORM. "itcpo_fuellen
*eject.
------------ FORM lesen der Lagerortadr. ---------------------------*
FORM ladr_lesen.
DATA: BEGIN OF addr_sel.
INCLUDE STRUCTURE addr1_sel.
DATA: END OF addr_sel.
CLEAR ladr.
SELECT SINGLE * FROM twlad WHERE werks = mseg-werks
AND lgort = mseg-lgort
AND lfdnr = '001'.
IF NOT twlad-adrnr IS INITIAL AND sy-subrc IS INITIAL.
MOVE twlad-adrnr TO addr_sel-addrnumber.
ENDIF.
CALL FUNCTION 'ADDR_GET'
EXPORTING
address_selection = addr_sel
IMPORTING
sadr = ladr
EXCEPTIONS
OTHERS = 1.
ENDFORM. "ladr_lesen
**& Form REPRINT
text
*FORM reprint.
TABLES : nase.
DATA : x TYPE string.
IF nase-vermo = 2.
x = 'REPRINT'.
ENDIF.
*ENDFORM. "REPRINT
Kindly do the needful.
Thanks in advance
Regards
SwarnaHi Swarna,
CALL FUNCTION 'OPEN_FORM'
EXPORTING
device = 'PRINTER'
language = language
OPTIONS = print_infos
<b>form = tnapr-fonam</b>
dialog = ' '.
x_open := x.
I thing its not a good way to pass the Form name to the Parameter.
Try like,
data : temp_form like tnapr-fonam.
<b>form = temp_form</b>
Thanks. -
Automatic Creation of Purchase order during Goods Receipt
Hai Guys,
Can you please tell me is there any ways to get a Automatic PO during Goods Receipt???
Regards
Jino.Config
1.Automatic PO generation must be activated for the movment type in IMG>Inv Mgmt & Phy Inv> GR>Create PO automatically. ( Note that automatic PO is only possible for mvmt 101 & 161)
2. The plant you are working with must be assigned to a standard purchase organisation.
3. A default PO document type must be specified for the GR in IMG> MM>purchasing>specify default vaues for document types.
Master Data
1.In mateial master Auto PO is to be set.
2.in Vendor Master Auto PO generation or agreed with him an indicator is to be set.
3.Info-Record should exist with the combination of material,vendor and the auto PO flagged in info record. -
Document type during Goods Receipt in Intercompany Transfer flow
Hi,
We create a PO, Delivery and GI in company A
We do a Goods Receipt in company B.
Can we customize that FI document type ZZ is used during Goods Receipt in company B?
Document type ZZ may only be used in the Intercompany flow.
Where can I customize this setting?
Thank you in advance,
Best regards,
Eric van Zundert.Hi,
The following are the standard steps to create an accounting document type and assign it to a transaction.
1) In T-code OBF4, click on "Financial accounting document types" and create a new document type.
2)On the same T-code, Click on "Goods receipt document type" and assign the document type to the transaction.
3)On the same T-code, Click on "Financial accounting No range" and assign the number range for each document type based on company code and fiscal year.
Thanks and Regards,
Maheshwari -
Auto populate of vendor in partner Tab during Goods issue- Batch management
Dear All,
I there a possibility of populating the Vendor (in partner tab) during goods issue (MVT 601,201, 240 etc).
Provided the material is batch managed.
Thanks and Best Regards
W.RaghuramWhat I feel is that u have to maintain the Batch Characteristics then it is quite possible.
In std In Partner tab I feel not possible. Not sure other expert may guide you.
Biswajit -
MPN Manufacturer batch determination during goods issue
I am from pharma industry and my business runs with batch management, MPN features.
Scenario:
I have 3 different finished product P1, P2 and P3. All three finished products use raw material R1.
But, I have restrcition like, when I am manufacturing P1 product I can only use R1 of batch from manufacturer M1.
For P2 material we can use R1 batch from manufacturer M2 only.
For P3 material we can use R1 batch from manufacturer M1 and M2.
Now, I have maintained the BOM CS02 batch classification for three differ FGs P1, P2 and P3 with relation P1-R1-M1, P2-R1-M2, P3-R1-M1+M2.
In COB2 T-code I am mainmtaining strategy type CO02 - Order type/Plant/Parent material with child relation ship. Here also, I am maintaining relation P1-R1-M1, P2-R1-M2, P3-R1-M1+M2.
Now, when I am creating process order in COR1, I am getting in case of P1 order R1 material batch determination only batches from M1 manufacturer.
Same as for P2 material process order R1 material only batches for detrmination from M2 manufacturer.
Same as for P3 material process order R1 material batch determination option from M1 and M2 only.
Now, if I don't go for batch determination through Process order and in stead of that if I want the batch determination during goods issue MIGO 261 movement against order, the above manufacturer level control we can't put.
As in MBC2 T-code, we have standard batch determination and search strategy for material, plant and movement type.
But, here we can't maintain any parent child relationship.
Now, can you please suggest how I can control manufactuer batch detrmination as per above strategy during Migo goods issue.
Through any standard settings we can do or, any exits required?
Gurus please suggest!Dear
You can do this by using FM CO_WB_BATCH_DETERMINATION or VB_BATCH_DETERMINATION function module.
here you can sort the batches and compare the Batch results with the batch search strategy.
Regards,
R.Brahmankar -
Automatic batch determination during goods issue
Hi,
We want automatic batch determination during issuance of components to a process order with out clicking on batch determination tab in COIK as well as I don't want to give '' in MB 1A transaction. Without clicking anything batch is determining is process order for components. But it is not happening during goods issue either in transaction COIK or in MB1A. If I use COIK again i have to click on batch determination tab and putting '' in MB1A. Then only batch determining. How to avoid this. Batch should determine automatically in inventory posting also like COIK, MB1A etc.
Thanks & Regards,
N. LaxmanDear Laxman,
Check these links,
https://wiki.sdn.sap.com/wiki/display/ERPLO/Batch+Determination
Automatic batch determination
Re: how to make the batch determination process automatic
Regards
Mangalraj.S
Maybe you are looking for
-
Apple customer service...A+
I'm posting this so people know problems and issues get resolved many times and that hardware or software defects happen with the best companies. I bought a refurb iphone 3g in December 2008 and my warranty expired in August 2009 (90 days is the mini
-
Centralised Payment _ Precautions to be taken
Under One Company Code there are around 10 profit centers and right now all payments/receipts vendors/customers are being released/received from those profit centers only. HR is also implemented and HR postings are being made to those 10 profit cen
-
Multiple PIA/Application servers to one database?
We're planning an upgrade to PT 8.50, FSCM 9.1 and with this upgrade we want to add access for outside customers/vendors. What's the best way to configure an internal employee site/app, and a customer site/app to one production database? Is it as sim
-
ALE Change pointer idocs generated in wrong sequence
We are using the serialization group to generate the MATMAS and CLFMAS idocs with the sequence MATMAS generated first and then CLFMAS. Normally,this seems to work fine with the idocs generated in the right sequence. However, during a period of every
-
What's up with rumored Flashback infection of 500,000 MacBooks?
What's up with rumored Flashback infection of 500,000 MacBooks?