Re:Goods Receipt Form
Hi All,
In the Goods Receipt System form i have added a button Called Copy from issue.Then i put a CFL for the button(Which list out all the pending issues - Goods Issues).If i select an entry and clicked choose it is adding the value to the matrix row.After adding the Value then i click ADD it is displaying an error like
"Data Cannot be empty in one of the tables Doc1,Doc3 and Doc10.[Goods Receipt - Document Number] [Message 131-158]"
This is my Code to add issue to the Row:
Private Sub GetPurchaseOrderData(ByVal oGetByKey As String)
Dim oGoodsIssue As SAPbobsCOM.Documents
Dim IntICount As Integer
Dim oItemCode, oItemName, oQty, oUnitPrice, oWhse, oAccountCode, oRG23APartINo, oRG23CPartINo As SAPbouiCOM.EditText
Try
oGoodsIssue = Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInventoryGenExit)
oGoodsIssue.GetByKey(oGetByKey)
For IntICount = 0 To oGoodsIssue.Lines.Count - 1
oGoodsIssue.Lines.SetCurrentLine(IntICount)
oItemCode = oMatrix.Columns.Item("1").Cells.Item(IntICount + 1).Specific
oItemName = oMatrix.Columns.Item("2").Cells.Item(IntICount + 1).Specific
oQty = oMatrix.Columns.Item("9").Cells.Item(IntICount + 1).Specific
oUnitPrice = oMatrix.Columns.Item("10").Cells.Item(IntICount + 1).Specific
oWhse = oMatrix.Columns.Item("15").Cells.Item(IntICount + 1).Specific
oAccountCode = oMatrix.Columns.Item("59").Cells.Item(IntICount + 1).Specific
oRG23APartINo = oMatrix.Columns.Item("140000100").Cells.Item(IntICount + 1).Specific
oRG23CPartINo = oMatrix.Columns.Item("140000096").Cells.Item(IntICount + 1).Specific
Try
oItemCode.Value = oGoodsIssue.Lines.ItemCode
Catch ex As Exception
End Try
Try
oItemName.Value = oGoodsIssue.Lines.ItemDescription
Catch ex As Exception
End Try
Try
oQty.Value = oGoodsIssue.Lines.Quantity
Catch ex As Exception
End Try
Try
oUnitPrice.Value = oGoodsIssue.Lines.Price
Catch ex As Exception
End Try
Try
oWhse.Value = oGoodsIssue.Lines.WarehouseCode
Catch ex As Exception
End Try
Try
oAccountCode.Value = oGoodsIssue.Lines.AccountCode
Catch ex As Exception
End Try
oMatrix.AddRow(1, oMatrix.RowCount)
Next
Catch ex As Exception
Throw ex
End Try
End Sub
I have called the above method inside the cFL event of Copyfrom button.How should i sove this problem.
Awaiting for the results.........:)
Thanx in advance
Mohana
Mohana,
In which line are u getting the error exactly..??
Vasu Natari.
Similar Messages
-
Hello Dears,
How can we see the output of GR form.
How can we trigger this ouptut.
I know the PO number but i donot know the procedure to see the output.
Appriciate your guidence in this regard.
Thanks in advance.Hi,
Go to Nace --> Application and Description --> ME -->click on output types.There select an output type in the list of output types given and then click the Processing Routines where you will get the complete details.
For goods Receipt you will find the output types here.
Thanks,
Abhijit -
Output type settings for Goods receipt slip form
Hi gurus,
I am new to SAP and i am trying to write a functional spec based on a Goods receipt slip template the company has given me.
can anyone tell me the standard forms and programs associated with the Goods Receipt form.also i would appreciate if someone can help me do config settings for this.
thanks and look for ward for suggestionas and help.
ChrisDear Chris ,
You can get all data needed into tcode NACU !
Choose Application ME and messages WE01 until WE03. Inside this customizing you can see all details that you need.
best regards,
Carlos Moçatto -
Copy data from a UDO form to Goods Receipt PO using UI API
Hi, all
I tried to copy data from a UDO form to Goods Receipt PO using UI API through following codes.
It works fine while copying to a Item-type Goods Receipt PO.
But when the doctype is set to service, I got errors.
I use for-loop to copy two items, Description and LineTotal, into the matrix of Goods Receipt PO form, but both failed.
any suggestion?
Edited by: Chao-Yi Wu on Aug 25, 2009 5:50 AMHi Chao-Yi Wu ,
SBO_Application.ActivateMenuItem("2306")
Dim oFormGR As SAPbouiCOM.Form = SBO_Application.Forms.ActiveForm
Dim omtxIQC, omtxGR As SAPbouiCOM.Matrix
Dim oedIQC, oedGR, oed As SAPbouiCOM.EditText
Dim ocbIQC, ocbGR As SAPbouiCOM.ComboBox
oFormGR.Mode = SAPbouiCOM.BoFormMode.fm_ADD_MODE
oedIQC = oFormIQC.Items.Item("13").Specific
oedGR = oFormGR.Items.Item("4").Specific
oedGR.Value = oedIQC.Value
oedIQC = oFormIQC.Items.Item("21").Specific
oedGR = oFormGR.Items.Item("24").Specific
oedGR.Value = oedIQC.Value
oedIQC = oFormIQC.Items.Item("edComments").Specific
oedGR = oFormGR.Items.Item("16").Specific
oed = oFormIQC.Items.Item("3").Specific
oedGR.Value = oedIQC.Value + ", Goods Recript PO:" + oed.Value
ocbIQC = oFormIQC.Items.Item("cbDocType").Specific
ocbGR = oFormGR.Items.Item("3").Specific
If ocbIQC.Selected.Value = "I" Then
ocbGR.Select(0, SAPbouiCOM.BoSearchKey.psk_Index)
Else
ocbGR.Select(1, SAPbouiCOM.BoSearchKey.psk_Index)
End If
omtxIQC = oFormIQC.Items.Item("mtx_0").Specific
For i As Integer = 1 To omtxIQC.RowCount
omtxGR = oFormGR.Items.Item("38").Specific
If ocbIQC.Selected.Value = "I" Then
oedIQC = omtxIQC.Columns.Item("c_ItemCode").Cells.Item(i).Specific
oedGR = omtxGR.Columns.Item("1").Cells.Item(i).Specific
oedGR.String = oedIQC.String
oedIQC = omtxIQC.Columns.Item("c_AQty").Cells.Item(i).Specific
oedGR = omtxGR.Columns.Item("11").Cells.Item(i).Specific
oedGR.String = oedIQC.String
oedIQC = omtxIQC.Columns.Item("col_19").Cells.Item(i).Specific
oedGR = omtxGR.Columns.Item("14").Cells.Item(i).Specific
oedGR.String = oedIQC.String
Else
omtxGR = oFormGR.Items.Item("39").Specific
oedIQC = omtxIQC.Columns.Item("c_Descrp").Cells.Item(i).Specific
oedGR = omtxGR.Columns.Item("1").Cells.Item(i).Specific
oedGR.String = oedIQC.String
oedIQC = omtxIQC.Columns.Item("col_16").Cells.Item(i).Specific
oedGR = omtxGR.Columns.Item("12").Cells.Item(i).Specific
oedGR.String = oedIQC.String
End If
Next
for items the matrix is 38 and for service the matrix is 39
Rgds
Micheal -
Goods receipt / issue form
Hi :
Is there any standard smartform for Goods receipt / Goods issue slip ?
How to create a customizing form using smartforms when a material document is created and saved .
Thx.
Raghugoto NACE Transaction and click on application v2 and click on output types and name itself you will find out.
Reward Points if it is helpful
Thanks
Seshu -
Hi Every body,
How to developed Smart Forms to print Goods Receipts and Purchase Orders.
Pls tell me is there any standard smart form through which we can do it, or if we have to develop it how to do that?...
Thanks,
Ankita
Edited by: Alvaro Tejada Galindo on Feb 22, 2008 3:44 PMCHeck this wiki.
https://www.sdn.sap.com/irj/sdn/wiki?path=/pages/viewpage.action?pageId=37096 -
Automatic PO form goods receipt without reference Movement type 501
Hi,
My client receive sample material from the vendor that is without reference to PO, but upon approval of sample the vendor has to make the payment for which i do not have the reference document number.
To arive at the solution i wanted to generate automatic PO for movement type 501, for which i have checked the movement type settings, 501- automatic PO, i ahve maintained the info record, and during GR for movement type 501 i enter the vendor even than system is not generating any PO in backend, I have centraalised purchase organization assigned to the plant.
can anyone suggest me if i am missing any settings,
Suggestions willbe worth appreciating..\
Thanks
SarfHi,
You need to configure the following steps for creating automatic PO in MIGO transaction.
1.Activate the auto PO in Material and Vendor Master.
2. Maintain the Info record.
3.Assign the Standard Purchase organisation for the plant you want to create auto Po.
Path: ENTERPRISE STRUCTURE-ASSIGNMENT-MATERIALS MANAGEMENT-ASSIGN STANDARD PURCHASE ORG FOR PLANT.
4. Activate create PO automatically for movement type (101,501).
Path: MM-INVENTORY MANAGEMENT AND PHYSICAL INVENTORY-GOODS RECEIPT-CREATE PURCHASE ORDER AUTOMATICALLY - here you can activate for the mvt type you want.
5.In MIGO screen, goto menu Settings and click default values , you will get a screen where you can check the mvt type 101,501... are maintained in mvt type column. if not you just enter the mvt type which you want. and click adopt tab.
6. Now you do GR using 501 mvt type and give the material and vendor ..
It will work.
Regards,
abi -
Hi All
Please give me the solution for the following scenario
I want to place the order for ToolBox, it contains 5 different size of spanners
Tool Box has the created as semi finished item
spanners are created as Raw materials
I placed the order for ToolBox - 100 Nos
When i do the good receipt against the Purchase order, system should update the spanners stock along with tool box stock.
How to handle this in SAP
can any one suggest?
Thanks in Advance
SUNILHi,
Charlii is correct.
Yes it updates twice the stock value.If do GR for both Semi finished material( tool box) and intern if you update raw material( Spanner) as per your scenario.
This will lead to Finance discrepancy. Hence it is not available in standard as well as it is not advisable to go for Z development also.
But there is way out,
If you want to track the stock quantity of spanners based on order quantity of Tool Box.
You can use Order qty and Order Qty SKU ( Stock Keeping unit field in Item overview - quantity and weight tab). There you can maintain the value for
Order quantity 1(tool box) = SKU order unit 5 (Spanners).
When you do GR for Order quantity 1. It updates 5 number for spanners.
Keep in mind it updates only SKU.
It won't update the Order quantity in the stock.(to Avoid double entry form FI point of view).
But you can get the quantity of GR done for tool box (order unit via standard reports).
Hope it will helps.
Thanks
Giri -
G/L Accounts in Goods Receipt PO and AP Invoice
Hi Experts
I created purchase order and i want to receive the order based on the P.O but for a segmented account. i have picked the g/l account in the form settings window and the account has dropped into the goods receipt PO document. when i add the goods receipt po, the values of the goods in the goods receipt document hit the default account i have created for the item group in administration. But i want the values to hit the new account i have picked in the form settings which is showing on the goods receipt document.
Any help?Hi,
Only service type PO you may assign G/L Account. For item type, you have to change item G/L account determination. It cannot be done through document.
Thanks,
Gordon -
Grn report(goods receipt notice)
hi to all sdn people can u pls give coding for this if u give the answer i will be greatful to u and i will reward point to all of u
my report is as follows
a report for grn details which shows the all details of goods receipt movements based on the purcahse order.
and pls tell what is the pupose of this report and tables usedHi
Use the Tables
EKKO,EKPO --PO tables and
MKPF and MSEG Tables GRN related.
This report is useful to track the qty of ggods/materials received with respect to the PO's placed.
see the sample code and change the output as per your requirement.
*& Report ZMM_PO_REPORT
REPORT ZMM_PO_REPORT message-Id yb
NO STANDARD PAGE HEADING
LINE-COUNT 60(1)
LINE-SIZE 230.
D A T A B A S E T A B L E S D E C L A R A T I O N
TABLES: lfa1, " Vendor Master
t161, " PO Doc Types
t024, " Purchase Groups
ekko. " PO Header
T Y P E S D E C L A R A T I O N S
Purchase Orders Main Structure
TYPES: BEGIN OF s_po,
ebeln TYPE ebeln, " PO No.
ebelp TYPE ebelp, " PO Item
bstyp TYPE bstyp, " PO Category
bukrs TYPE bukrs, " Company Code
bsart TYPE bbsrt, " PO Type
lifnr TYPE lifnr, " Vendor No
ekgrp TYPE bkgrp, " Purchase Group
waers TYPE waers, " Currency
bedat TYPE etbdt, " PO Date
txz01 TYPE txz01, " Material Text
werks TYPE ewerk, " Plant
lgort TYPE lgort_d, " Storage Location
matkl TYPE matkl, " Material Group
menge TYPE bamng, " PR Quantity
meins TYPE bamei, " UOM
bprme TYPE bbprm, " Price Unit
netpr TYPE netpr, " Net price
peinh TYPE peinh, " Price Unit UOM
pstyp TYPE pstyp, " Item Category
knttp TYPE knttp, " Account Assignment Category
END OF s_po.
Purchase Orders History Structure
TYPES: BEGIN OF s_account,
ebeln TYPE ebeln, " PO No.
ebelp TYPE ebelp, " PO Item
gjahr TYPE mjahr, " Fiscal Year
belnr TYPE mblnr, " PO Invoice No
menge TYPE menge_d, " PR Quantity
wrbtr TYPE wrbtr, " Price in Local Currency
dmbtr TYPE dmbtr, " Price in Foreign Currency
waers TYPE waers, " Currency
shkzg TYPE shkzg, " Dr/Cr Indicator
END OF s_account.
Purchase Orders History Structure(Item Sum)
TYPES: BEGIN OF s_inv_sum,
ebeln TYPE ebeln, " PO No.
ebelp TYPE ebelp, " PO Item
menge TYPE menge_d, " PR Quantity
wrbtr TYPE wrbtr, " Price in Foreign Currency
waers TYPE waers, " Currency
END OF s_inv_sum.
Purchase Orders Main Structure
TYPES: BEGIN OF s_rep,
lifnr TYPE lifnr, " Vendor No
ebeln TYPE ebeln, " PO No.
ebelp TYPE ebelp, " PO Item
bstyp TYPE bstyp, " PO Category
bsart TYPE bbsrt, " PO Type
ekgrp TYPE bkgrp, " Purchase Group
waers TYPE waers, " Currency
bedat TYPE etbdt, " PO Date
txz01 TYPE txz01, " Material Text
werks TYPE ewerk, " Plant
lgort TYPE lgort_d, " Storage Location
matkl TYPE matkl, " Material Group
menge TYPE bamng, " PR Quantity
meins TYPE bamei, " UOM
bprme TYPE bbprm, " Price Unit
netpr TYPE netpr, " Net price
peinh TYPE peinh, " Price Unit UOM
pstyp TYPE pstyp, " Item Category
knttp TYPE knttp, " Account Assignment Category
name1 TYPE name1, " Plant
orewr TYPE netpr, " To be Invoiced Price
curr TYPE waers, " Inv Doc Currency
END OF s_rep.
D A T A D E C L A R A T I O N S
DATA: gv_title1 TYPE sylisel, " Report title
gv_dial. " Color flag
C O N S T A N T S D E C L A R A T I O N S
CONSTANTS: c_x VALUE 'X', " Flag X
c_h VALUE 'H', " Debit
c_vgabe TYPE vgabe VALUE '2'. " Transaction Type
I N T E R N A L T A B L E S D E C L A R A T I O N S
DATA: i_po TYPE STANDARD TABLE OF s_po WITH HEADER LINE,
" Purchase Order
i_inv TYPE STANDARD TABLE OF s_inv_sum WITH HEADER LINE,
" PO Invoice Values
i_rep TYPE STANDARD TABLE OF s_rep WITH HEADER LINE,
" PO Invoice Values
i_ekbe TYPE STANDARD TABLE OF s_account WITH HEADER LINE.
" PO Invoice Values
S E L E C T I O N S C R E E N *
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_lifnr FOR lfa1-lifnr MATCHCODE OBJECT kred,
s_ebeln FOR ekko-ebeln MATCHCODE OBJECT mekk,
s_bsart FOR t161-bsart,
s_ekgrp FOR t024-ekgrp,
s_bedat FOR ekko-bedat.
SELECTION-SCREEN END OF BLOCK b1.
I N I T I A L I Z A T I O N *
INITIALIZATION.
A T S E L E C T I O N - S C R E E N *
AT SELECTION-SCREEN.
Validate the screen fields
PERFORM validate_screen.
S T A R T - O F - S E L E C T I O N *
START-OF-SELECTION.
Fetch main data
PERFORM fetch_data.
T O P - O F - P A G E *
TOP-OF-PAGE.
Header of the List
PERFORM header.
E N D - O F - P A G E *
Footer
END-OF-PAGE.
ULINE.
E N D - O F - S E L E C T I O N *
END-OF-SELECTION.
Display the Report Output data
PERFORM display_data.
At Line-Selection
AT LINE-SELECTION.
When double clicked on EBELN display the details of Purchase Doc
PERFORM line_sel.
*& Form validate_screen
Validation of Selection Screen fields
FORM validate_screen .
Validation of Vendor Number
CLEAR lfa1-lifnr.
IF NOT s_lifnr[] IS INITIAL.
SELECT lifnr UP TO 1 ROWS
INTO lfa1-lifnr
FROM lfa1
WHERE lifnr IN s_lifnr.
ENDSELECT.
IF sy-subrc <> 0.
MESSAGE e000 WITH 'Invalid Vendor'(002).
ENDIF.
ENDIF.
Validation of PO Number
CLEAR ekko-ebeln.
IF NOT s_ebeln[] IS INITIAL.
SELECT ebeln UP TO 1 ROWS
INTO ekko-ebeln
FROM ekko
WHERE ebeln IN s_ebeln.
ENDSELECT.
IF sy-subrc <> 0.
MESSAGE e000 WITH 'Invalid Document Number'(003).
ENDIF.
ENDIF.
Validation of PO Document Type
CLEAR t161-bsart.
IF NOT s_bsart[] IS INITIAL.
SELECT bsart UP TO 1 ROWS
INTO t161-bsart
FROM t161
WHERE bsart IN s_bsart.
ENDSELECT.
IF sy-subrc <> 0.
MESSAGE e000 WITH 'Invalid Purchase Document Type'(004).
ENDIF.
ENDIF.
Validation of Purchasing Group
CLEAR t024-ekgrp.
IF NOT s_ekgrp[] IS INITIAL.
SELECT ekgrp UP TO 1 ROWS
INTO t024-ekgrp
FROM t024
WHERE ekgrp IN s_ekgrp.
ENDSELECT.
IF sy-subrc <> 0.
MESSAGE e000 WITH 'Invalid Purchasing Group'(005).
ENDIF.
ENDIF.
ENDFORM. " validate_screen
*& Form fetch_data
Fetching the PO related data from Database Tables
FORM fetch_data .
CLEAR i_po.
REFRESH i_po.
SELECT a~ebeln " PO No.
b~ebelp " PO Item
a~bstyp " PO Category
a~bukrs " Company Code
a~bsart " PO Type
a~lifnr " Vendor No
a~ekgrp " Purchase Group
a~waers " Currency
a~bedat " PO Date
b~txz01 " Material Text
b~werks " Plant
b~lgort " Storage Location
b~matkl " Material Group
b~menge " PR Quantity
b~meins " UOM
b~bprme " Price Unit
b~netpr " Net price
b~peinh " Price Unit UOM
b~pstyp " Item Category
b~knttp " Account Assignment Category
INTO TABLE i_po
FROM ekko AS a JOIN ekpo AS b
ON a~ebeln = b~ebeln
WHERE a~ebeln IN s_ebeln AND
a~lifnr IN s_lifnr AND
a~ekgrp IN s_ekgrp AND
a~bsart IN s_bsart AND
a~bedat IN s_bedat.
SORT i_po BY ebeln ebelp.
break-point.
IF NOT i_po[] IS INITIAL.
Fetch the PO History/Invoice Details from EKBE Table
CLEAR i_ekbe.
REFRESH i_ekbe.
SELECT ebeln " PO No.
ebelp " PO Item
gjahr " Fiscal Year
belnr " PO Invoice No
menge " PR Quantity
wrbtr " Price in Local Currency
dmbtr " Price in Foreign Currency
waers " Currency
shkzg " Dr/Cr Indicator
INTO TABLE i_ekbe
FROM ekbe
FOR ALL ENTRIES IN i_po
WHERE ebeln = i_po-ebeln AND
ebelp = i_po-ebelp AND
vgabe = c_vgabe.
break-point.
IF sy-subrc = 0.
SORT i_ekbe BY ebeln ebelp.
LOOP AT i_ekbe.
IF i_ekbe-shkzg = c_h.
i_ekbe-wrbtr = i_ekbe-wrbtr * -1.
ENDIF.
MODIFY i_ekbe.
ENDLOOP.
break-point.
Sum up the Item wise Invoice totals
LOOP AT i_ekbe.
AT END OF ebelp.
READ TABLE i_ekbe INDEX sy-tabix.
SUM.
MOVE-CORRESPONDING i_ekbe TO i_inv.
APPEND i_inv.
ENDAT.
CLEAR i_inv.
ENDLOOP.
SORT i_inv BY ebeln ebelp.
break-point.
ENDIF.
ENDIF.
Move the Vendor Name and Invoice Values to I_rep Internal Table
LOOP AT i_po.
MOVE-CORRESPONDING i_po TO i_rep.
CLEAR i_inv.
READ TABLE i_inv WITH KEY ebeln = i_po-ebeln
ebelp = i_po-ebelp.
IF sy-subrc = 0.
i_rep-orewr = ( i_po-menge - i_inv-menge ) * i_po-netpr.
i_rep-curr = i_inv-waers.
ELSE.
i_rep-orewr = i_po-menge * i_po-netpr.
i_rep-curr = i_po-waers.
ENDIF.
break-point.
Get the Vendor Name
CLEAR lfa1-name1.
SELECT SINGLE name1 FROM lfa1 INTO lfa1-name1
WHERE lifnr = i_po-lifnr.
IF sy-subrc = 0.
i_rep-name1 = lfa1-name1.
ENDIF.
APPEND i_rep.
CLEAR i_rep.
break-point.
ENDLOOP.
SORT i_rep BY lifnr ebeln ebelp.
DELETE i_rep WHERE orewr LE 0.
break-point.
ENDFORM. " fetch_data
*& Form display_data
Display the Report Output data
FORM display_data .
DATA: lv_flag, " New Flag
lv_rec TYPE i. " No of Records
CLEAR lv_rec.
IF i_rep[] IS INITIAL.
MESSAGE e000 WITH 'No Data found'(022).
ELSE.
LOOP AT i_rep.
Toggle Color
PERFORM toggle_color.
IF lv_flag <> space.
NEW-LINE.
ENDIF.
At New Purchase Document
AT NEW ebeln.
WRITE:/1 sy-vline, 2(10) i_rep-ebeln INTENSIFIED OFF.
lv_flag = c_x.
lv_rec = lv_rec + 1.
ENDAT.
WRITE: 1 sy-vline,
12 sy-vline,13(4) i_rep-bsart,
17 sy-vline,18(10) i_rep-lifnr,
28 sy-vline,29(35) i_rep-name1,
64 sy-vline,65(4) i_rep-ekgrp,
69 sy-vline,70(10) i_rep-bedat,
80 sy-vline,81(5) i_rep-ebelp,
86 sy-vline,87(40) i_rep-txz01,
127 sy-vline,128(9) i_rep-matkl,
137 sy-vline,138(1) i_rep-pstyp,
139 sy-vline,140(1) i_rep-knttp,
141 sy-vline,142(4) i_rep-werks,
146 sy-vline,147(4) i_rep-lgort,
151 sy-vline,152(13) i_rep-menge UNIT i_rep-meins,
165 sy-vline,166(3) i_rep-meins,
169 sy-vline,170(15) i_rep-netpr CURRENCY i_rep-waers,
185 sy-vline,186(4) i_rep-waers,
190 sy-vline,191(5) i_rep-peinh,
196 sy-vline,197(4) i_rep-bprme,
201 sy-vline,202(15) i_rep-orewr CURRENCY i_rep-curr,
217 sy-vline,218(4) i_rep-curr,
222 sy-vline,223(7) i_rep-bstyp centered,
230 sy-vline.
NEW-LINE.
hide: i_rep-ebeln.
ENDLOOP.
ULINE.
FORMAT COLOR OFF.
WRITE : /2 'Total Number of Purchasing Documents:'(025) COLOR 3,
lv_rec COLOR 3.
ENDIF.
ENDFORM. " display_data
*& Form header
Write the Report Header
FORM header .
FORMAT RESET.
header
WRITE:/1(230) 'LIST OF PURCHASE DOCUMENTS PER VENDOR'(006) CENTERED.
SKIP.
FORMAT COLOR COL_HEADING.
ULINE.
WRITE:/1 sy-vline,2(10) 'Pur.Doc.No'(006) CENTERED,
12 sy-vline,13(4) 'Type'(007),
17 sy-vline,18(10) 'Vendor'(008) CENTERED,
28 sy-vline,29(35) 'Name'(009) CENTERED,
64 sy-vline,65(4) 'PGrp'(010) CENTERED,
69 sy-vline,70(10) 'Doc.Date'(012) CENTERED,
80 sy-vline,81(5) 'Item'(011),
86 sy-vline,87(40) 'Material Short Text'(024) CENTERED,
127 sy-vline,128(9) 'Mat.Group'(013),
137 sy-vline,138(1) 'I',
139 sy-vline,140(1) 'A',
141 sy-vline,142(4) 'Plnt'(014),
146 sy-vline,147(4) 'SLoc'(015),
151 sy-vline,152(13) 'Quantity'(016) CENTERED,
165 sy-vline,166(3) 'UoM'(017),
169 sy-vline,170(15) 'Net Value'(018) CENTERED,
185 sy-vline,186(4) 'Curr'(019),
190 sy-vline,191(5) 'Per'(020),
196 sy-vline,197(4) 'Unit'(021),
201 sy-vline,202(15) 'To be Invoiced'(023) CENTERED,
217 sy-vline,218(4) 'Curr'(019),
222 sy-vline,223(7) 'Doc.Cat'(026),
230 sy-vline.
ULINE.
ENDFORM. " header
*& Form toggle_color
This routine alters the color of the records in the list
FORM toggle_color.
IF gv_dial = space.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
gv_dial = c_x.
ELSE.
FORMAT COLOR 1 INTENSIFIED OFF.
CLEAR gv_dial.
ENDIF.
ENDFORM. " toggle_color
*& Form LINE_SEL
*When double clicked on EBELN field display the details of Purchase Doc
FORM line_sel.
CASE sy-lsind.
WHEN '1'.
DATA: lv_field(20),
lv_value(10),
lv_bstyp like i_rep-bstyp.
clear: lv_bstyp,lv_value, lv_field.
GET CURSOR FIELD lv_field VALUE lv_value.
IF lv_field = 'I_REP-EBELN'.
IF NOT lv_value IS INITIAL.
READ LINE sy-index FIELD VALUE i_rep-bstyp
INTO lv_bstyp.
READ CURRENT LINE FIELD VALUE i_rep-bstyp INTO lv_bstyp.
if lv_bstyp = 'F'.
SET PARAMETER ID 'BES' FIELD lv_value.
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
elseif ( lv_bstyp = 'K' or lv_bstyp = 'L' ).
SET PARAMETER ID 'VRT' FIELD lv_value.
CALL TRANSACTION 'ME33' AND SKIP FIRST SCREEN.
elseif lv_bstyp = 'A'.
SET PARAMETER ID 'ANF' FIELD lv_value.
CALL TRANSACTION 'ME43' AND SKIP FIRST SCREEN.
endif.
ENDIF.
ENDIF.
ENDCASE.
ENDFORM. " line_sel
Reward points if useful
Regards
Anji -
Exit or Badi to prevent MIGO Goods Receipt on PO with Inbound Delivery
Hi,
I am hoping that someone can provide me with some direction on how to prevent the use of MIGO for GR when the PO being received is (or should be) linked to an inbound delivery.
For purchase orders with a confirmation control key an inbound delivery is to be created and the goods receipt needs to be done from the inbound delivery. This scenario also includes the case of stock transport orders whereby an inbound delivery is created form the outbound delivery. On the other hand for purchase orders without a confirmation control key no inbound delivery is created and the MIGO transaction is to be used to post the goods receipt.
Since both processes are possible, I would like to prevent people from posting the GR using MIGO if certain conditions pre-exist.
Can anyone suggest a means to accomplish this goal? Is there an exit or badi in MIGO that you would suggest using?
Thanks,
PaulHi,
The following user eixts and badis available for migo transaction:
Enhancement/ Business Add-in Description
Enhancement
MB_CF001
Customer Function Exit in the Case of Updating a Art. Doc.
MBCF0011
Read from RESB and RKPF for print list in MB26
MBCF0010
Customer exit: Create reservation BAPI_RESERVATION_CREATE1
MBCF0009
Filling the storage location field
MBCF0007
Customer function exit: Updating a reservation
MBCF0006
Customer function for WBS element
MBCF0005
Article document item for goods receipt/issue slip
MBCF0002
Customer function exit: Segment text in article doc. item
Business Add-in
MB_RESERVATION_BADI
MB21/MB22: Check and Complete Dialog Data
MB_QUAN_CHECK_BADI
BAdI: Item Data at Time of Quantity Check
MB_PHYSINV_INTERNAL
Connection: Core Inventory and Retail AddOn
MB_MIGO_ITEM_BADI
BAdI in MIGO for Changing Item Data
MB_MIGO_BADI
BAdI in MIGO for External Detail Subscreens
MB_DOC_BADI_INTERNAL
BAdIs when Creating an Article Document (SAP Internal)
MB_DOCUMENT_UPDATE
BADI when updating article document: MSEG and MKPF
MB_DOCUMENT_BADI
BAdIs when Creating an Article Document
MB_CIN_MM07MFB7_QTY
Proposal of quantity from Excise invoice in GR
MB_CIN_MM07MFB7
BAdI for India Version exit in include MM07MFB7
MB_CIN_LMBMBU04
posting of gr
MB_CHECK_LINE_BADI
BAdI: Check Line Before Copying to the Blocking Tables
ARC_MM_MATBEL_WRITE
Check Add-On-Specific Data for MM_MATBEL
ARC_MM_MATBEL_CHECK
Check Add-On-Specific Criteria for MM_MATBEL
If it is helpful rewards points
Regards
Pratap.M -
Dear Expert,
How to do automatically Goods Receipt that we no need to go to open screen Goods Receipt to processing. My concept is like we make sale order and system make automatically Purchase Order that we no need go to open that screen.
I need to do like that, because now I have a project to do allocate on new form (Inventory Allocate) that I add-on into B1. So when I click on my button allocate, and then i need system make automatically Goods Receipt that no need open that screen.
Now i want to explain for you about Customer Company Processing:
New Quotation (if we have accepted to make new quotation) -> Sale Contract Instruction Form (In SCI have three decision 1. Short Position (if Short Position, System will prompt automatically Sale Contract (Sale Order) for processing), 2. Spot Position (If Spot Position, system will prompt automatically Purchase Contract Instruction form to processing & Sale Contract (Sale Order) for processing) & 3. Allocate from long (If AFL Position, system will prompt automatically sale contract for processing, after we add sale contract, system will prompt automatically Inventory Allocate form to processing Allocate and then on Inventory Allocate form we can search all purchase contract (purchase contract, we have data in PC after we have done PCI (in PCI have three Position like SCI)) to processing allocate with sale contract.
What i want now is, How can i make Goods Receipt that no need to open GR screen it like we do sale order no need to go to PO screen. ( Ex : sale order screen -> logistics -> Tick on Purchase Orders)
Thanks,
Sivhour.Hello,
You should program a PO by DI API, and GPRO by DI API based on Existing PO.
The, problem is the following: in SAP B1 SDK you cannot create PO based on Sales Order.
So you should use the sale order screen -> logistics -> Tick on Purchase Orders. Then When PO has been created, you can issue the GPRO via custom code.
Regards,
János -
Unit price validation in Purchase Order, Goods Receipt PO and A/R Invoice
Hello!
I want to have validation of the Unit Price field in Purchase Order, Goods Receipt PO and A/R Invoice documents.
This means that user has to get some kind of message if she/he do not enter the Unit price in above mentioned documents.
I can not use the price lists for this, to get the field populated automatically, because I do not have all the prices...
I am no longer newbie when it come to SAP, but this really puzzles me
Thanks,
DejanHello guys,
I have tried to add this code to check if the field Unit Price was empty in the Purchase Order form (Object ID 22)
But it gives me an error message - Error converting data type varchar to numeric (CINF)
I am getting the same error message even if I have some value in the Unit Price field...
I am really confused - what is wrong with it???
Here is the code from the Transaction notification
IF (@object_type = N'22' AND @transaction_type in (N'A', N'U') )
BEGIN
IF EXISTS (SELECT T1.DocEntry FROM OPOR T0 inner join POR1 T1 on T0.DocEntry = T1.DocEntry
WHERE (T1.PriceBefDi IS NULL OR T1.PriceBefDi = ' ') AND T0.DocEntry = @list_of_cols_val_tab_del)
BEGIN
Set @error =1
set @error_message = 'Unit Price cannot be blank'
END
END
Thanks,
Dejan -
Changing the G/L Account while Posting the Goods Receipts in MIGO
Hi All,
I have requirement in which G/L Account needs to be changed based on some validation while Posting the Goods Receipt in MIGO.
I have created exit in OBBH by copying the standard SAP Program RGGBS800 in view V_T80D.
I changed following entry in view V_T80D:
GBLS ZGGBS800 Val/sub:Exits for substitution
Now Inside program ZGGBS800, I have written the logic to change the BSEG-HKONT value with the new G/L Account which gets called inside the standard function module G_VSR_SUBSTITUTION_CALL.
FORM U999.
DATA : V_HKONT TYPE BSEG-HKONT.
clear : V_HKONT.
SELECT SINGLE SAKNR FROM ZMASH1 INTO V_HKONT WHERE MATNR = BSEG-MATNR AND WERKS = BSEG-WERKS.
IF SY-SUBRC EQ 0.
BSEG-HKONT = V_HKONT.
ENDIF.
ENDFORM.
After the execution of the above code the value of BSEG-HKONT changes with new value of V_HKONT but after this when I go further in Standard SAP code of function module G_VSR_SUBSTITUTION_CALL, there is one subroutine FORM EXP_TAB_009_BSEG being called which changes the value of BSEG-HKONT to initial value of HKONT also while moving the data from BSEG to TEMP_STRUCT it doesn't passes the HKONT value, which I want it be passed as I want the changed value to be passed finally to OUT_RESULT. Please look at the code below.
Following is the SAP standard code of subroutione FORM EXP_TAB_009_BSEG :
FORM EXP_TAB_009_BSEG
USING
IN_ORIG STRUCTURE BSEG
CHANGING
OUT_RESULT STRUCTURE BSEG
B_RESULT.
DATA: ORIG LIKE BSEG.
DATA: BEGIN OF TEMP_STRUCT,
ABPER LIKE BSEG-ABPER,
AUGGJ LIKE BSEG-AUGGJ,
DOCLN LIKE BSEG-DOCLN,
FIPOS LIKE BSEG-FIPOS,
FISTL LIKE BSEG-FISTL,
FKBER LIKE BSEG-FKBER,
FKBER_LONG LIKE BSEG-FKBER_LONG,
GEBER LIKE BSEG-GEBER,
GMVKZ LIKE BSEG-GMVKZ,
GRANT_NBR LIKE BSEG-GRANT_NBR,
HKTID LIKE BSEG-HKTID,
HZUON LIKE BSEG-HZUON,
INTRENO LIKE BSEG-INTRENO,
MEASURE LIKE BSEG-MEASURE,
PARGB LIKE BSEG-PARGB,
PPA_EX_IND LIKE BSEG-PPA_EX_IND,
PPRCT LIKE BSEG-PPRCT,
PRCTR LIKE BSEG-PRCTR,
PRODPER LIKE BSEG-PRODPER,
PRZNR LIKE BSEG-PRZNR,
PSEGMENT LIKE BSEG-PSEGMENT,
SAMNR LIKE BSEG-SAMNR,
SCTAX LIKE BSEG-SCTAX,
SEGMENT LIKE BSEG-SEGMENT,
SGTXT LIKE BSEG-SGTXT,
SRTYPE LIKE BSEG-SRTYPE,
UZAWE LIKE BSEG-UZAWE,
XREF1 LIKE BSEG-XREF1,
XREF2 LIKE BSEG-XREF2,
XREF3 LIKE BSEG-XREF3,
ZUONR LIKE BSEG-ZUONR,
ZZBUSPARTN LIKE BSEG-ZZBUSPARTN,
ZZCHAN LIKE BSEG-ZZCHAN,
ZZLOB LIKE BSEG-ZZLOB,
ZZLOCA LIKE BSEG-ZZLOCA,
ZZPRODUCT LIKE BSEG-ZZPRODUCT,
ZZREGION LIKE BSEG-ZZREGION,
ZZSPREG LIKE BSEG-ZZSPREG,
ZZSTATE LIKE BSEG-ZZSTATE,
ZZUSERFLD1 LIKE BSEG-ZZUSERFLD1,
ZZUSERFLD2 LIKE BSEG-ZZUSERFLD2,
ZZUSERFLD3 LIKE BSEG-ZZUSERFLD3,
END OF TEMP_STRUCT.
IF IN_ORIG = BSEG .
B_RESULT = B_FALSE.
OUT_RESULT = IN_ORIG.
EXIT.
ENDIF.
MOVE-CORRESPONDING BSEG TO TEMP_STRUCT.
OUT_RESULT = IN_ORIG.
MOVE-CORRESPONDING TEMP_STRUCT TO OUT_RESULT.
IF IN_ORIG = OUT_RESULT .
B_RESULT = B_FALSE.
ELSE.
B_RESULT = B_TRUE.
ENDIF.
BSEG = OUT_RESULT.
ENDFORM. " EXP_TAB_009_BSEG
I need the value of BSEG-HKONT should be passed to OUT_RESULT-HKONT.
I am not able to find any userexit or BADI for this.
Please guide me on this.
Thanks,
Chandravadan
Edited by: Chandravadan Jaiswal on May 8, 2009 2:18 PM
Edited by: Chandravadan Jaiswal on May 8, 2009 3:45 PMHi
I also need to change hkont while posting MIGO and MIRO transaction..
Any suggestion for this?
Here's my problem.. Substitution of account(HKONT) when posting in MIGO/MIRO -
How to redirect Goods Receipt IM output to a specific printer by user
We currently print a custom Goods Receipt pallet label that we defined as Output Type YE01. The IM printer determintion utilizes the 'by Plant / Storage Location / User Group' option (transaction OMJ4, table TNAD9).
When the receipt if for a particularly large number of pallets, the business would like the flexibility of redirecting the label output to a different, high volume printer.
I'd like to kindly request feedback on how this might be accomplished.
I have looked at the 9 User Exits for MIGO (MBCF002 etc...) but don't see anything suitable.
One idea was to cause a small popup window to appear during the MIGO goods receipt asking the user for the desired printer, which could be selected from a dropdown.
Thanks in advance for any ideas.Hi Michael,
I remember issuing error messages in the form USEREXIT_KOMPBME_FILL in the pgm RVCOMFZ2, so you should be able to also show a pop-up there. But unfortunately, I don't have an idea how to make the output to go to the printer that the user chooses there.
BR
Raf
Maybe you are looking for
-
Read receipt issue in exchange 2013
Hi All, In my environment ,we are having exchange 2013 sp1 ENT edition with outlook 2010 and 2013 as the email client for the exchange users having their default email delivery to pst file . In addition to that , if anyone of the sender send an email
-
On iPad Air how do I post a pic to Facebook if the pic is not in camera roll?
The pic is in a collection synced w my iMac, so the pic is on the iPad Air but not in camera roll. How do I copy a pic to camera roll using only the iPad Air? Then post the pic on facebook?
-
Possible to send PO item info with PO cancellation?
Hello! We are running "pseudo" standalone SRM 5.0. The "pseudo" is because we are using a legacy backend, emulating R/3. We need to send PO cancellation back to our legacy using XI/PI. The standard PROXY for this, "PurchaseOrderCancellationRequest_Ou
-
How to use complex types in a odata url filter
Hello, I am in the process of building a service that uses a complex data type as input in a query filter. I am not sure how the url will need to be generated and also how to retireve this complex type in the get_entity_set method. Example: I h
-
Hi. I have a Mac Pro 5,1 quad core 2.8ghz mid 2010. I purchased 16 gb of ram from Macsales.com. I use Photoshop and other applications in Adobe Creative Suite CS 5 Professional, iphoto, imovie, Final Cut Express 4.0, and Roxio Toast Titanium (for bur