Add BatchNumbers Purchase Invoice
Hi
How is it possible to include data from the Purchase Invoice lot before the user saves it?
I Need fulfill the batch data automatically while the user is still entering the Purchase Invoice
Hi Carlos.
Many ways you can do it,
One is you catch the Item event of user clicking the add button on Before Action = false.
Then you have to manipulate the UI to do this.
Like opening the Batch Form, Creating the batch, so on.
Through DI, you cannot do the above scenario, But you can do below....
When the user choose the PO Document in the choose from list,
You catch the event, create a draft Purchase Invoice for them through DI based from the PO chosen, and while doing so, creating the Batch.
And the show the draft for the user to edit all the other field....
Regards
Edy
Similar Messages
-
Creating custom add-ons for A/P Purchase Invoice
Dear friends,
Please help me in Creating Add-ons on A/P Purchase Invoice in SAP Business One,
Thanks and Regards,
Prashanth Sharma>Is this intentional? Why is it expected that someone
>might need to add informative text for items and not for
>services?
I don't know. Usually there's a DRQ (dev. request) process where all requirements are collected. For version 2004 this happened a long time ago... Maybe noone wanted that feature for Service Invoices?
I propose to log that question as a message on SAP Service Marketplace.
>I am thinking my only option is to make an add-in to
>allow add an editing pane for my user defined field, so
>that I may add text to my P.O. and include this in my
>PLD for formatting/printing.
Sorry, but I think you are right. -
Create a Credit Memo from purchase invoice
Hi everyone,
I am trying to create a credit memo from a purchase invoice, but it retuns the following error:
"RFC is missing"
I am using the JCO classes to develop this application. this is a sample of my code:
IDocuments document = SBOCOMUtil.newDocuments(company,new Integer(19));
document.setCardCode("P00055");
document.setDocDate(new java.util.Date());
document.getLines().setBaseEntry(new Integer(2852));
document.getLines().setBaseLine(new Integer(0));
document.getLines().setBaseType(new Integer(18));
int lRetCode = document.add();
if(lRetCode != 0){
System.out.println(company.getLastError().getErrorMessage() );
Do you have any idea about what is the problem?
Many Thanks.Hi everyone,
the problem was solve. I had to specified the FederalTaxID field on the document.
just added the following field:
document.setFederalTaxID("000000000000");
Thanks. -
Transform an object draft (purchase invoice) to one final with SDK.
Some body help me.
I need transform an object draft (purchase invoice) to one final with SDK.
I want make a massive approving puchase invoice in draf mode.
How can i do that???
CGMHi,
Different DI API Versions handles different XML versions.
see ocompany documentation or you can use the following to reach version 2.
oCompany.XmlExportType = SAPbobsCOM.BoXmlExportTypes.xet_ExportImportMode
oCompany.XMLAsString = False
You can define in the xml file the version. Even if you have an older version it can work also.
I have put here a stocktransfer, but i have found a Purchase Invoice
Here is version 1/2 from 2004ABC versions up to 2007AB ... I had a full function for you.input is the draft absentry.
Private Function saveDraftAsPurchaseInvoice(ByVal AbsEntry As String) As Boolean
'oCompany.XmlExportType = SAPbobsCOM.BoXmlExportTypes.xet_ExportImportMode
'oCompany.XMLAsString = False
Dim oPI As SAPbobsCOM.Documents = oCompany.GetBusinessObject(BoObjectTypes.oPurchaseInvoices)
If oPI.GetByKey(1) Then
oPI.SaveXML(My.Application.Info.DirectoryPath & "\sample_Purchase_invoice.xml")
End If
Dim oDraft As SAPbobsCOM.Documents = oCompany.GetBusinessObject(BoObjectTypes.oDrafts)
If oDraft.GetByKey(AbsEntry) = False Then
Return False
End If
Dim FileName As String = My.Application.Info.DirectoryPath & "\18_" & CStr(DateDiff(DateInterval.Second, CDate("2007/01/01"), Now)) & ".xml"
Dim xmlString As String
Dim oXmlDoc As New Xml.XmlDocument
xmlString = oDraft.GetAsXML()
' event this is not set you have version 1 using table names!
'oCompany.XmlExportType = SAPbobsCOM.BoXmlExportTypes.xet_ExportImportMode -> version 2 of XML DI API, using DOCUMENT instead
' of table name !
xmlString = xmlString.Replace("<Object>112</Object>", "<Object>18</Object>")
xmlString = xmlString.Replace("<ODRF>", "<OPCH>")
xmlString = xmlString.Replace("</ODRF>", "</OPCH>")
xmlString = xmlString.Replace("<DRF1>", "<PCH1>")
xmlString = xmlString.Replace("</DRF1>", "</PCH1>")
xmlString = xmlString.Replace("<DRF3>", "<PCH3>")
xmlString = xmlString.Replace("</DRF3>", "</PCH3>")
xmlString = xmlString.Replace("<DRF6>", "<PCH6>")
xmlString = xmlString.Replace("</DRF6>", "</PCH6>")
oXmlDoc.LoadXml(xmlString)
oXmlDoc.Save(FileName)
Dim oDoc As SAPbobsCOM.Documents = oCompany.GetBusinessObject(BoObjectTypes.oPurchaseInvoices)
Try
oDoc = oCompany.GetBusinessObjectFromXML(FileName, 0)
oDoc.Comments = oDraft.Comments & " DI API ADDED FROM DRAFT"
oDoc.DocNum = 0
oDoc.DocDate = Date.Today
oDoc.DocDueDate = Date.Today
oDoc.TaxDate = Date.Today
lRetCode = oDoc.Add()
'Kill(FileName)
If lRetCode = 0 Then
Dim NewEntry As String = String.Empty
Call oCompany.GetNewObjectCode(NewEntry)
sbo_application.StatusBar.SetText(NewEntry)
Else
sbo_application.StatusBar.SetText(oCompany.GetLastErrorCode.ToString & " - " & oCompany.GetLastErrorDescription)
End If
Catch ex As Exception
sbo_application.StatusBar.SetText(ex.Message)
End Try
End Function
Regards
J.
Edited by: Janos Nagy on Aug 12, 2008 1:13 PM -
Erro when creation Purchase Invoice
Hi ,
when creating a new Purchase Invoice , we have a message :
Incorrect Syntax near '000000' ( OIVL )
we do not have queries , nor add on . and it's the first time we got this message
if someone can help me , thanks
regards
laurentHi Laurent VIALARET,
Genarlly this type of error occured due to G/L Account Mapping. Check the G/L Account Determination in Administrator Module
Check the Warehouse Account Mapping.
Thanks,
Srujal Patel -
hi
plz can you any body send me purchase invoice report
inwhich like InvoiceNo, date, Basic rate MaterialNo MaterialDescription
as soon as possible
Thanks for help
Regards ,
VijayHi
Vijay we cant fullfill your requirement we cant give you the full code. If u have any problem in your report then we will clear your doubt but it is not possible to give you the whole report. But we can provide u a similar report from that u can make modifications according to your requirement
*DATA: ED TYPE F.
DATA : ED(15) TYPE N .
TABLES: EKKO, EKBE, EKPO, KONH , KONV ,LFA1 ,ESLL.
TYPE-POOLS: SLIS.
DATA: val1 like konh-vakey.
Data:GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
G_REPID LIKE SY-REPID,
G_GRID_TITLE TYPE LVC_TITLE.
Data:G_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.
DATA:G_TABNAME TYPE SLIS_TABNAME VALUE 'ITAB1',
G_SAVE .
DATA:GS_VARIANT LIKE DISVARIANT.
DATA:LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA:GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
G_SAVE = 'A'.
DATA: BEGIN OF ITAB OCCURS 10,
EBELN LIKE EKKO-EBELN,
* LIFNR like p_vendor,
LIFNR LIKE EKKO-LIFNR,
NAME1 LIKE LFA1-NAME1,
NAME2 LIKE LFA1-NAME2,
* EBELP LIKE EKBE-EBELP,
BELNR LIKE EKBE-BELNR,
VGABE LIKE EKBE-VGABE,
GJAHR LIKE EKBE-GJAHR,
KNUMV LIKE EKKO-KNUMV,
EKORG LIKE EKKO-EKORG,
BEDAT LIKE EKKO-BEDAT,
* VAKEY LIKE KONH-VAKEY,
END OF ITAB.
DATA: BEGIN OF ITAB1 OCCURS 10,
NAME1 LIKE LFA1-NAME1,
NAME2 LIKE LFA1-NAME2,
EBELN LIKE EKPO-EBELN,
LIFNR LIKE EKKO-LIFNR,
EBELP LIKE EKPO-EBELP,
* EBELP LIKE EKBE-EBELP,
KNUMH LIKE KONH-KNUMH,
BELNR LIKE EKBE-BELNR,
MATNR LIKE EKPO-MATNR,
TXZ01 LIKE EKPO-TXZ01,
PS_PSP_PNR LIKE EKKN-PS_PSP_PNR,
EXTROW LIKE ESLL-EXTROW,
SRVPOS LIKE ESLL-SRVPOS,
KTEXT1 LIKE ESLL-KTEXT1,
KOSTL LIKE EKKN-KOSTL,
NETPR LIKE EKPO-NETPR,
NETWR LIKE EKPO-NETWR,
ED1 TYPE p decimals 2,
KBETR2 LIKE KONV-KBETR,
KBETR1 LIKE KONV-KBETR,
KBETR LIKE KONV-KBETR,
* KBETR3 LIKE KONV-KBETR,
KWERT LIKE KONV-KWERT, " THIS IS FOR FREIGHT
KWERT1 LIKE KONV-KWERT, " THIS IS FOR PBXX OR PB00
KWERT2 LIKE KONV-KWERT, " THIS FOR OTHER CONDITION
MENGE LIKE EKPO-MENGE,
* TOTAL(15) type .
TOTAL TYPE p decimals 2,
VAKEY LIKE KONH-VAKEY,
WERKS LIKE EKPO-WERKS,
MWSKZ LIKE EKPO-MWSKZ,
PACKNO LIKE EKPO-PACKNO,
KNUMV LIKE KONV-KNUMV,
SUB_PACKNO LIKE ESLL-SUB_PACKNO,
GJAHR LIKE RSEG-GJAHR,
END OF ITAB1.
DATA: BEGIN OF ITAB2 OCCURS 10,
EBELN LIKE EKKN-EBELN,
EBELP LIKE EKKN-EBELP,
PS_PSP_PNR LIKE EKKN-PS_PSP_PNR,
KOSTL LIKE EKKN-KOSTL,
END OF ITAB2.
data: begin of itab3 occurs 10,
KNUMH LIKE KONH-KNUMH,
KSCHL LIKE KONH-KSCHL,
end of itab3.
data: begin of itab4 occurs 10,
KBETR LIKE KONP-KBETR,
end of itab4.
data: begin of itab5 occurs 10,
KPOSN LIKE KONV-KPOSN,
KNUMV LIKE KONV-KNUMV,
KSCHL LIKE KONV-KSCHL,
KBETR LIKE KONV-KBETR,
KWERT LIKE KONV-KWERT, " THIS IS FOR FREIGHT
* KAWRT LIKE KONV-KAWRT,
end of itab5.
DATA: BEGIN OF ITAB6 OCCURS 10,
* PACKNO LIKE EKPO-PACKNO,
SUB_PACKNO LIKE ESLL-SUB_PACKNO,
END OF ITAB6.
DATA: BEGIN OF ITAB7 OCCURS 10,
BELNR LIKE RSEG-BELNR,
GJAHR LIKE RSEG-GJAHR,
END OF ITAB7.
DATA: BEGIN OF ITAB8 OCCURS 10,
SUB_PACKNO LIKE ESLL-SUB_PACKNO,
SRVPOS LIKE ESLL-SRVPOS,
EXTROW LIKE ESLL-EXTROW,
KTEXT1 LIKE ESLL-KTEXT1,
END OF ITAB8.
*selection-screen
*SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
*SELECTION-SCREEN SKIP 2.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT 25(23) text-002.
**SELECT-OPTIONS: s_lifnr FOR ekko-lifnr.
*PARAMETERS:p_lifnr LIKE ekko-lifnr obligatory.
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN END OF BLOCK b1.
START-OF-SELECTION.
PERFORM get_data.
* PERFORM field_catalog.
* PERFORM display_data.
END-OF-SELECTION.
**& Form display_data
** text
*FORM display_data.
*data: new(15) TYPE N.
* CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
* EXPORTING
* i_callback_program = sy-repid
* it_fieldcat = int_cat[]
* TABLES
* t_outtab = int_out
* EXCEPTIONS
* program_error = 1
* OTHERS = 2.
*ENDFORM. "display_data
PERFORM GET_DATA.
PERFORM CALL_ALV_GRID.
FORM CALL_ALV_GRID.
PERFORM FIELDCAT_INIT USING GT_FIELDCAT[].
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = G_repid
I_CALLBACK_USER_COMMAND = G_USER_COMMAND
I_GRID_TITLE = G_GRID_TITLE
IT_FIELDCAT = GT_FIELDCAT[]
I_DEFAULT = 'X'
I_SAVE = G_SAVE
IS_VARIANT = Gs_VARIANT
TABLES
T_OUTTAB = ITAB1.
ENDFORM.
FORM FIELDCAT_INIT
USING RT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-TABNAME = G_TABNAME.
LS_FIELDCAT-seltext_l = 'Vendo No'.
LS_FIELDCAT-FIELDNAME = 'LIFNR'.
LS_FIELDCAT-REF_FIELDNAME = 'LIFNR'.
LS_FIELDCAT-REF_TABNAME = 'EKKO'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-TABNAME = G_TABNAME.
LS_FIELDCAT-SELTEXT_L = 'Vendor Name'.
LS_FIELDCAT-FIELDNAME = 'NAME1'.
LS_FIELDCAT-REF_FIELDNAME = 'NAME1'.
LS_FIELDCAT-REF_TABNAME = 'LFA1'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
* CLEAR LS_FIELDCAT.
* LS_FIELDCAT-TABNAME = G_TABNAME.
* LS_FIELDCAT-FIELDNAME = 'NAME2'.
* LS_FIELDCAT-REF_FIELDNAME = 'NAME2'.
* LS_FIELDCAT-REF_TABNAME = 'LFA1'.
* APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-TABNAME = G_TABNAME.
LS_FIELDCAT-seltext_l = 'Purchase Document No'.
LS_FIELDCAT-FIELDNAME = 'EBELN'.
LS_FIELDCAT-REF_FIELDNAME = 'EBELN'.
LS_FIELDCAT-REF_TABNAME = 'EKKO'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
* CLEAR LS_FIELDCAT.
* LS_FIELDCAT-TABNAME = G_TABNAME.
* LS_FIELDCAT-FIELDNAME = 'VGABE'.
* LS_FIELDCAT-REF_FIELDNAME = 'VGABE'.
* LS_FIELDCAT-REF_TABNAME = 'EKBE'.
* APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-TABNAME = G_TABNAME.
LS_FIELDCAT-SELTEXT_L = 'Item No'.
LS_FIELDCAT-FIELDNAME = 'EBELP'.
LS_FIELDCAT-REF_FIELDNAME = 'EBELP'.
LS_FIELDCAT-REF_TABNAME = 'EKPO'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
* CLEAR LS_FIELDCAT.
* LS_FIELDCAT-TABNAME = G_TABNAME.
* LS_FIELDCAT-FIELDNAME = 'BELNR'.
* LS_FIELDCAT-REF_FIELDNAME = 'BELNR'.
* LS_FIELDCAT-REF_TABNAME = 'EKBE'.
* APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-TABNAME = G_TABNAME.
LS_FIELDCAT-SELTEXT_L = 'Document Con'.
LS_FIELDCAT-FIELDNAME = 'KNUMH'.
LS_FIELDCAT-REF_FIELDNAME = 'KNUMH'.
LS_FIELDCAT-REF_TABNAME = 'KONH'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
* CLEAR LS_FIELDCAT.
* LS_FIELDCAT-TABNAME = G_TABNAME.
* LS_FIELDCAT-SELTEXT_L = 'Service/Material No'.
* LS_FIELDCAT-FIELDNAME = 'MATNR'.
* LS_FIELDCAT-REF_FIELDNAME = 'MATNR'.
* LS_FIELDCAT-REF_TABNAME = 'EKPO'.
* APPEND LS_FIELDCAT TO RT_FIELDCAT.
* CLEAR LS_FIELDCAT.
* LS_FIELDCAT-TABNAME = G_TABNAME.
* LS_FIELDCAT-SELTEXT_L = 'Service / Material description' .
* LS_FIELDCAT-FIELDNAME = 'TXZ01'.
* LS_FIELDCAT-REF_FIELDNAME = 'TXZ01'.
* LS_FIELDCAT-REF_TABNAME = 'EKPO'.
* APPEND LS_FIELDCAT TO RT_FIELDCAT.
* CLEAR LS_FIELDCAT.
* LS_FIELDCAT-TABNAME = G_TABNAME.
* LS_FIELDCAT-SELTEXT_L = 'WBS Element' .
* LS_FIELDCAT-FIELDNAME = 'PS_PSP_PNR'.
* LS_FIELDCAT-REF_FIELDNAME = 'PS_PSP_PNR'.
* LS_FIELDCAT-REF_TABNAME = 'EKKN'.
* APPEND LS_FIELDCAT TO RT_FIELDCAT.
* CLEAR LS_FIELDCAT.
* LS_FIELDCAT-TABNAME = G_TABNAME.
* LS_FIELDCAT-SELTEXT_L = 'Serial Number' .
* LS_FIELDCAT-FIELDNAME = 'EXTROW'.
* LS_FIELDCAT-REF_FIELDNAME = 'PACKNO'.
* LS_FIELDCAT-REF_TABNAME = 'ESLL'.
* APPEND LS_FIELDCAT TO RT_FIELDCAT.
* CLEAR LS_FIELDCAT.
* LS_FIELDCAT-TABNAME = G_TABNAME.
* LS_FIELDCAT-SELTEXT_L = 'Service Number' .
* LS_FIELDCAT-FIELDNAME = 'SRVPOS'.
* LS_FIELDCAT-REF_FIELDNAME = 'SRVPOS'.
* LS_FIELDCAT-REF_TABNAME = 'ESLL'.
* APPEND LS_FIELDCAT TO RT_FIELDCAT.
* CLEAR LS_FIELDCAT.
* LS_FIELDCAT-TABNAME = G_TABNAME.
* LS_FIELDCAT-SELTEXT_L = 'Dscription' .
* LS_FIELDCAT-FIELDNAME = 'KTEXT1'.
* LS_FIELDCAT-REF_FIELDNAME = 'KTEXT1'.
* LS_FIELDCAT-REF_TABNAME = 'ESLL'.
* APPEND LS_FIELDCAT TO RT_FIELDCAT.
* CLEAR LS_FIELDCAT.
* LS_FIELDCAT-TABNAME = G_TABNAME.
* LS_FIELDCAT-SELTEXT_L = 'Cost Center'.
* LS_FIELDCAT-FIELDNAME = 'KOSTL'.
* LS_FIELDCAT-REF_FIELDNAME = 'KOSTL'.
* LS_FIELDCAT-REF_TABNAME = 'EKKN'.
* APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-TABNAME = G_TABNAME.
* LS_FIELDCAT-FIELDNAME = 'NETWR'.
LS_FIELDCAT-FIELDNAME = 'NETPR'.
LS_FIELDCAT-reptext_ddic = 'Basic'.
* LS_FIELDCAT-SELTEXT_L = 'Basic'.
LS_FIELDCAT-REF_FIELDNAME = 'NETPR'.
LS_FIELDCAT-REF_TABNAME = 'EKPO'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-TABNAME = G_TABNAME.
LS_FIELDCAT-FIELDNAME = 'NETWR'.
* LS_FIELDCAT-FIELDNAME = 'NETPR'.
* LS_FIELDCAT-reptext_ddic = ''.
* LS_FIELDCAT-SELTEXT_L = 'Basic'.
LS_FIELDCAT-REF_FIELDNAME = 'NETWR'.
LS_FIELDCAT-REF_TABNAME = 'EKPO'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-TABNAME = G_TABNAME.
LS_FIELDCAT-SELTEXT_L = 'Excise'.
LS_FIELDCAT-FIELDNAME = 'ED1'.
LS_FIELDCAT-REF_FIELDNAME = 'ED1'.
* LS_FIELDCAT-REF_TABNAME = 'EKKN'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-TABNAME = G_TABNAME.
LS_FIELDCAT-SELTEXT_L = 'Insurance'.
LS_FIELDCAT-FIELDNAME = 'KBETR2'.
LS_FIELDCAT-REF_FIELDNAME = 'KBETR'.
LS_FIELDCAT-REF_TABNAME = 'KONV'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-TABNAME = G_TABNAME.
LS_FIELDCAT-SELTEXT_L = 'Frieght'.
LS_FIELDCAT-FIELDNAME = 'KWERT'.
LS_FIELDCAT-REF_FIELDNAME = 'KWERT'.
LS_FIELDCAT-REF_TABNAME = 'KONV'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
* CLEAR LS_FIELDCAT.
* LS_FIELDCAT-TABNAME = G_TABNAME.
* LS_FIELDCAT-SELTEXT_L = '' .
* LS_FIELDCAT-FIELDNAME = 'KBETR1'.
* LS_FIELDCAT-REF_FIELDNAME = 'KBETR'.
* LS_FIELDCAT-REF_TABNAME = 'KONV'.
* APPEND LS_FIELDCAT TO RT_FIELDCAT.
*CLEAR LS_FIELDCAT.
* LS_FIELDCAT-TABNAME = G_TABNAME.
* LS_FIELDCAT-SELTEXT_L = 'PBXX'.
* LS_FIELDCAT-FIELDNAME = 'KWERT1'.
* LS_FIELDCAT-REF_FIELDNAME = 'KWERT'.
* LS_FIELDCAT-REF_TABNAME = 'KONV'.
* APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-TABNAME = G_TABNAME.
LS_FIELDCAT-SELTEXT_L = 'VAT/ST '.
LS_FIELDCAT-FIELDNAME = 'KBETR'.
LS_FIELDCAT-REF_FIELDNAME = "KBETR".
LS_FIELDCAT-REF_TABNAME = 'KONV'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-TABNAME = G_TABNAME.
LS_FIELDCAT-SELTEXT_L = 'OTHER '.
LS_FIELDCAT-FIELDNAME = 'KWERT2'.
LS_FIELDCAT-REF_FIELDNAME = "KWERT".
LS_FIELDCAT-REF_TABNAME = 'KONV'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-TABNAME = G_TABNAME.
LS_FIELDCAT-SELTEXT_L = 'TOTAL'.
LS_FIELDCAT-FIELDNAME = 'TOTAL'.
LS_FIELDCAT-REF_FIELDNAME = 'TOTAL'.
* LS_FIELDCAT-REF_TABNAME = 'EKKN'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
ENDFORM. " FIELDCAT_INIT
FORM GET_DATA.
SELECT A~EBELN A~LIFNR A~EKORG A~KNUMV B~VGABE B~GJAHR B~BELNR
L~NAME1 L~NAME2
FROM EKKO AS A
INNER JOIN EKBE AS B ON B~EBELN = A~EBELN
INNER JOIN LFA1 AS L ON L~LIFNR = A~LIFNR
INTO CORRESPONDING
FIELDS OF TABLE ITAB.
* WHERE B~VGABE = '2'.
SELECT EKPO~EBELN EKPO~EBELP EKPO~MATNR EKPO~TXZ01 EKPO~WERKS
EKPO~NETWR EKPO~MENGE EKPO~MWSKZ EKPO~NETPR EKPO~PACKNO
FROM EKPO
INTO CORRESPONDING FIELDS OF TABLE ITAB1
FOR ALL ENTRIES IN ITAB
WHERE EKPO~EBELN = ITAB-EBELN and
EKPO~BUKRS = 'company'.
SELECT EKKN~EBELN EKKN~EBELP EKKN~KOSTL EKKN~PS_PSP_PNR
FROM EKKN
INTO CORRESPONDING FIELDS OF TABLE ITAB2
FOR ALL ENTRIES IN ITAB1
WHERE EKKN~EBELN = ITAB1-EBELN AND
EKKN~EBELP = ITAB1-EBELP.
SELECT KONV~KNUMV KONV~KSCHL KONV~KBETR KONV~KWERT KONV~KWERT
KONV~KPOSN
FROM KONV
INTO CORRESPONDING FIELDS OF TABLE ITAB5
WHERE KONV~KNUMV = ITAB1-KNUMV AND
KONV~KPOSN = ITAB1-EBELP.
* SELECT LFA1~NAME1 LFA1~NAME2 FROM LFA1
* INTO CORRESPONDING FIELDS OF TABLE ITAB1
* WHERE LFA1~LIFNR = ITAB-LIFNR.
* SELECT ESLL~SUB_PACKNO ESLL~SRVPOS
* ESLL~EXTROW ESLL~KTEXT1 FROM ESLL
* INTO CORRESPONDING FIELDS OF TABLE ITAB6
* FOR ALL ENTRIES IN ITAB1
* WHERE ESLL~PACKNO = ITAB1-PACKNO .
** SELECT ESLL~SUB_PACKNO FROM ESLL
** INTO CORRESPONDING FIELDS OF TABLE ITAB6
** FOR ALL ENTRIES IN ITAB1
** WHERE ESLL~PACKNO = ITAB1-PACKNO.
* SELECT ESLL~SUB_PACKNO ESLL~SRVPOS
* ESLL~EXTROW ESLL~KTEXT1 FROM ESLL
* INTO CORRESPONDING FIELDS OF TABLE ITAB8
* FOR ALL ENTRIES IN ITAB6
* WHERE ESLL~PACKNO = ITAB6-SUB_PACKNO .
* SELECT RSEG~BELNR RSEG~GJAHR FROM RSEG
* INTO CORRESPONDING FIELDS OF TABLE ITAB7
* FOR ALL ENTRIES IN ITAB
* WHERE RSEG~BELNR = ITAB-BELNR AND
* RSEG~GJAHR = ITAB-GJAHR.
*LOOP AT ITAB1.
LOOP AT ITAB.
READ TABLE ITAB1 WITH KEY EBELN = ITAB-EBELN.
* IF ITAB1-EBELN = ITAB-EBELN.
IF sy-subrc eq 0.
* ITAB1-EBELN = ITAB-EBELN.
ITAB1-LIFNR = ITAB-LIFNR.
* ITAB1-EBELP = ITAB-EBELP.
ITAB1-BELNR = ITAB-BELNR.
ITAB1-KNUMV = ITAB-KNUMV.
ITAB1-NAME1 = ITAB-NAME1.
ITAB-NAME2 = ITAB-NAME2.
ITAB1-GJAHR = ITAB-GJAHR.
modify itab1 index sy-tabix.
ENDIF.
ENDLOOP.
*LOOP AT ITAB2.
* READ TABLE ITAB1 WITH KEY EBELN = ITAB2-EBELN.
* IF sy-subrc eq 0.
* ITAB1-EBELN = ITAB2-EBELN.
* ITAB1-PS_PSP_PNR = ITAB2-PS_PSP_PNR.
* ITAB1-KOSTL = ITAB2-KOSTL.
* modify itab1 transporting ps_psp_pnr kostl
* where ebeln = Itab2-ebeln AND EBELP = ITAB2-EBELP.
* ENDIF.
*ENDLOOP.
LOOP AT ITAB1.
**ON CHANGE OF ITAB1-ebeln or itab1-ebelp.
* concatenate itab1-werks itab1-lifnr itab1-matnr
* into val1.
* MOVE VAL1 TO ITAB1-VAKEY.
* MODIFY ITAB1.
* SELECT KONH~KNUMH KONH~KSCHL FROM KONH
* INTO CORRESPONDING FIELDS OF TABLE ITAB3
* FOR ALL ENTRIES IN ITAB1
* WHERE KONH~VAKEY = ITAB1-VAKEY.
**endon.
** sort Itab3 by kschl descending.
** Select konp-kbetr from konp into itab4 where
** KONP~KNUMH = ITAB3-KNUMH AND KONP~KSCHL = ITAB3-KSCHL.
**ON CHANGE OF ITAB1-ebelp.
**LOOP AT ITAB3
** ON CHANGE OF ITAB1-ebelp.
* itab1-knumh = itab3-knumh.
** SELECT KONP~KBETR FROM KONP INTO CORRESPONDING FIELDS
** OF TABLE ITAB4
** FOR ALL ENTRIES IN ITAB3 WHERE
** KONP~KNUMH = ITAB3-KNUMH AND KONP~KSCHL = ITAB3-KSCHL .
** IF ITAB3-KSCHL = 'JMOP' .
** ED = ITAB4-KBETR / 1000 * ITAB1-NETWR .
** ENDIF.
** IF ITAB3-KSCHL = 'JEC1'.
** Itab1-ed1 = ITAB4-KBETR / 1000 * ED.
** ADD ED TO ITAB1-ED1.
** modify ITAB1 transporting ed1.
** ENDIF.
* IF ITAB3-KSCHL = 'JMOP' .
* ED = 16 / 100 * ITAB1-NETWR .
* ENDIF.
* IF ITAB3-KSCHL = 'JEC1'.
* Itab1-ed1 = 2 / 100 * ED.
* ADD ED TO ITAB1-ED1.
* modify ITAB1 transporting ed1.
* ENDIF.
** ENDLOOP.
**endon.
modify ITAB1.
*endon.
LOOP AT ITAB5.
IF ITAB5-KSCHL = 'NAVS' OR ITAB5-KSCHL = 'NAVM'.
ITAB1-KBETR = ITAB5-KBETR.
modify ITAB1 transporting KBETR
where KNUMV = ITAB1-KNUMV AND EBELP = ITAB1-EBELP .
ELSEIF ITAB5-KSCHL = 'FRA1' OR ITAB5-KSCHL = 'FRC1' OR
ITAB5-KSCHL = 'FRB1'.
ITAB1-KWERT = ITAB5-KWERT .
modify ITAB1 transporting KWERT
where KNUMV = ITAB1-KNUMV AND EBELP = ITAB1-EBELP
* IF ITAB5-KSCHL = 'FRA1'.
* ITAB1-KBETR1 = ITAB5-KBETR / 1000 * ITAB1-NETWR .
* modify ITAB1 transporting KBETR1
* where KNUMV = ITAB1-KNUMV AND EBELP = ITAB1-EBELP
* ELSEIF ITAB5-KSCHL = 'FRC1' .
* ITAB1-KBETR1 = ITAB5-KBETR * ITAB1-MENGE .
* modify ITAB1 transporting KBETR1
* where KNUMV = ITAB1-KNUMV AND EBELP = ITAB1-EBELP
* ELSEIF ITAB5-KSCHL = 'FRB1' .
* ITAB1-KBETR1 = ITAB5-KBETR .
* modify ITAB1 transporting KBETR1
* where KNUMV = ITAB1-KNUMV AND EBELP = ITAB1-EBELP
* ENDIF.
* **THIS CODE IS FOR iNSURANCE CONDITION
ELSEIF ITAB5-KSCHL = 'ZGIN' OR ITAB5-KSCHL = 'ZIN2'.
ITAB1-KBETR2 = ITAB5-KBETR.
modify ITAB1 transporting KBETR2
where KNUMV = ITAB1-KNUMV AND EBELP = ITAB1-EBELP
* **THIS CODE IS FOR PBXX OR PB00 CONDITION
* ELSEIF ITAB5-KSCHL = 'PBXX' OR ITAB5-KSCHL = 'PB00'.
* ITAB1-KWERT1 = ITAB5-KWERT1.
* modify ITAB1 transporting KWERT1
* where KNUMV = ITAB1-KNUMV AND EBELP = ITAB1-EBELP
** ELSEIF ITAB5-KSCHL = 'JOCM' OR ITAB5-KSCHL = 'RA00' OR
** ITAB5-KSCHL = 'RA01' OR ITAB5-KSCHL = 'RB00' OR
** ITAB5-KSCHL = 'RC00' OR
**THIS CODE IS FOR OTHER CONDITION
ELSEIF ITAB5-KSCHL = 'RL01' OR ITAB5-KSCHL = 'ZA00' OR
ITAB5-KSCHL = 'ZA01' OR ITAB5-KSCHL = 'ZAE1' OR
ITAB5-KSCHL = 'ZAED' OR
ITAB5-KSCHL = 'ZAFR' OR ITAB5-KSCHL = 'ZB00' OR
ITAB5-KSCHL = 'ZBCH' OR ITAB5-KSCHL = 'ZBED' OR
ITAB5-KSCHL = 'ZC00' OR
ITAB5-KSCHL = 'ZCEX' OR ITAB5-KSCHL = 'ZCIF' OR
ITAB5-KSCHL = 'ZHC1' OR ITAB5-KSCHL = 'ZHC2' OR
ITAB5-KSCHL = 'ZHCT' OR
ITAB5-KSCHL = 'ZHCV' OR ITAB5-KSCHL = 'ZJOC' OR
ITAB5-KSCHL = 'ZOTH' OR ITAB5-KSCHL = 'ZOTP' OR
ITAB5-KSCHL = 'ZOTT' OR
ITAB5-KSCHL = 'ZPK1' OR ITAB5-KSCHL = 'ZPK2' OR
ITAB5-KSCHL = 'ZPK3' OR ITAB5-KSCHL = 'ZPK4' OR
ITAB5-KSCHL = 'ZRPO' OR
ITAB5-KSCHL = 'ZSE1' OR ITAB5-KSCHL = 'ZSED' OR
ITAB5-KSCHL = 'ZSFR' OR ITAB5-KSCHL = 'ZSTX' OR
ITAB5-KSCHL = 'ZTPI' OR
ITAB5-KSCHL = 'ZTPV' OR ITAB5-KSCHL = 'ZTRD' OR
ITAB5-KSCHL = 'ZWCT'.
ITAB1-KWERT2 = ITAB5-KWERT.
modify ITAB1 transporting KWERT2
where KNUMV = ITAB1-KNUMV AND EBELP = ITAB1-EBELP
modify itab1.
ENDIF.
ENDLOOP .
ITAB1-TOTAL = ITAB1-NETWR + ITAB1-KWERT2 + ITAB1-KWERT + ITAB1-KBETR.
* ITAB1-TOTAL = ITAB1-NETWR + ITAB1-ED1 + ITAB1-KBETR2 +
* ITAB1-KBETR1 + ITAB1-KBETR + ITAB1-KWERT .
modify ITAB1 transporting TOTAL.
LOOP AT ITAB6.
ITAB1-SUB_PACKNO = ITAB6-SUB_PACKNO.
* modify ITAB1.
ENDLOOP.
LOOP AT ITAB7.
ITAB1-BELNR = ITAB7-BELNR.
ITAB1-GJAHR = ITAB7-GJAHR.
ENDLOOP.
LOOP AT ITAB8.
ITAB1-SUB_PACKNO = ITAB8-SUB_PACKNO.
ITAB1-SRVPOS = ITAB8-SRVPOS.
ITAB1-EXTROW = ITAB8-EXTROW.
ITAB1-KTEXT1 = ITAB8-KTEXT1.
modify ITAB1.
ENDLOOP.
* SELECT ESLL~PACKNO ESLL~SUB_PACKNO ESLL~SRVPOS ESLL~KTEXT1
* FROM ESLL
* INTO CORRESPONDING FIELDS OF TABLE ITAB6
* WHERE ESLL~PACKNO = ITAB1-PACKNO.
** delete adjacent duplicates from itab1 comparing EBELN .
modify ITAB1.
endloop.
sort Itab1 by EBELN Ascending.
SELECT KONV~KBETR FROM KONV
INTO ITAB1-KBETR
WHERE KONV~KSCHL = 'NAVS' OR KONV~KSCHL = 'NAVM'.
ENDSELECT.
ITAB1-KBETR = ITAB5-KBETR.
*ENDLOOP.
*ENDLOOP.
*ENDLOOP.
ENDFORM.
Reward all helpfull answers
Regards
Pavan -
About creating pre-filled purchase invoices
Hello guys,
Would you have any idea of how I can create some generic purchase invoices? The point is to have a set of pre-filled direct invoices (no need for GR) with reference, text, VAT, supplier, quantity = 1, accounts and imputation fields already filled and accessible via MIRO, so that the users just have to enter the amount and date. I should add that I haven't parametered the material master data in this system.
I have seen that in FB60, there is a possibility to create an invoice with reference, accnt assignement template and variants but I need to pass through the logistic transaction MIRO because there is a specific WorkFlow plugged on the invoice validation.
I've thought of creating pre-filled PO but there is no possibility to have multi imputation (with differents account types). What do u think?
Thx
GuillaumeThank you for Your quick reply,
I didn't know this SHD0 transaction and it is pretty useful! halas it doesn't work for my need since it doesn't work for tabs or for screens that are directly generated by the transaction (in the case of MIRO, the lower screen is generated only after u enter the PO). It seems also that you can't imput some amount in the variant created (since it depends on the user parameter, i think because of the . or , thing in the user amounts definition).
Maybe I could use the master data but I don't want to set it just for this. Anyway, I'll see that my customer rethink about it
Regards,
Guillaume -
Report to show all purchase invoices in B1
Is it possible via a standard report in B1 to pull a list of all purchase invoices in the system (open and closed)??
Purchase analysis will only show open invoices as far as i know.Hello Casserly David ,
Please try the following query:
SELECT SUM(T0.DocTotal), T0.DocDate, T0.DocNum,
T0.DocStatus FROM OPCH T0 GROUP BY T0.DocDate,
T0.DocNum, T0.DocStatus
If you want to generate total value of all purchase
invoices automatically, please hold Ctrl button
on keyboard and Click on the header of Document total
column. The total value will appear on the
bottom of report.
Regards,
Wilma Wang
SAP Business One Forums Team -
i just started using this netbook for itunes at first it wouldnt let me purchase anything just free podcasts etc but i got that sorted it was just a matter of resetting the security questions because i hadnt made a purchased from this computer before. now it is allowing me to purchase no problem but itunes will not let me add my purchases to my ipod classic??? i can add all the free podcasts i want but anything that has been purchased is blocked from being added.my ipod show up in itunes but only as a summary thing i cant actually look through my music on the ipod in itunes on this computer
You might want to check your process for moving your iTunes music against this: http://support.apple.com/kb/HT4527.
-
Sales Invoice, Purchase Invoice Merge
Hi Guys
I am creating a report that will give me the total # of Sales and Purchase Invoice, purpose of report is to merge the sales and purchase analysis.
i have added all the fields on the main report from the OINV table, i then created a sub report that has the same fields, only difference is its from OPCH table, i need to have a parameter "Date", that i have created, but doesnt seem to filter the values as to my selection. What could be the problem.
What i am trying to do is merge the Sales Analysis in SAP and the Purchase Analysis in SAP on one report.Euston,
I am doing something similar to yours, I am merging total of (each credit job) with total (each free of charge job) to show in the single report.
here what I am doing right now,
1: Imported both tables into one new report
2: Created a Running total field for FOC (free of charge job)
3: Created a Running total field for CR (credit job)
both of these running totals have formulas under "Evaluate each record"
Formula is like this
line_type="F"
line_type="C"
Both of them are grouped by two different groups however are of the same Reason ID.
I then created formula like this
Whileprintingrecords;
Numbervar x:=0;
Numbervar y:=0;
Numbervar z:=0;
x:=Runningtotal field for FOC
y:=Runnitngtotalfield for CR
z:=x+y
z;
This gives me combined result of two different jobs.
Is that something what you are trying to do?
Regards
Jehanzeb -
Goods receipt number and purchase invoice nubember info objects
hi experts
i have the requirement to build the report with the info objects of goods receipt number(document) , purchase invoice numbers and purchase document numbers from standard cubes or ods.i have checked in inventory management and purchasing cubes&ods i am not success got the purchase document number it is from ods (0PUR_O02) the InfoObject is 0OI_EBELN(purchasing document number),like this i want InfoObject for Goods receipt number and purchase invoices from where can i get these fields.
if u need any more information i will provide.
thanks and regards
Sreenivas.Hi Ahamed,
thanks for your reply,do u have any information about purchase invoice number.
i need one more help from you, how to find out Debtors turnover ratio from Acceount Receivables(AR) (or)G/L (General ledger account).is there any standard queries from Business content,i was checked and i was failed,if you have any solution for this please let me know.
thanks and regards
Sreenivas. -
Selecting alternative Bank account in Purchase invoice is not working
Hello experts
When adding a particular purchase invoice, I select an alternative bank account for this vendor on Logistics tab. But when generating payment file for this invoice through Payment Engine, the bank account that can be seen on the file is the standard one for this vendor, so selecting an alternative Bank account in the invoice doesn't seem to have any effect on payment file. Do I have to consider something else?
RegardsHello Nagarajan
Thanks for the update. But by checking it, I haven't been able to find anything regarding vendor bank account selection on invoice, or about paying an invoice to vendor secondary bank account.
Also I have done some testing, and the only way I have found so far to get a vendor invoice paid in the secondary bank account is to set this secondary bank account as the default bank account just before use Payment Wizard and Payment Engine. But this is a poor workaround and I guess there should be a way to make work properly the "Pay to Bank" functionality in invoice.
Thanks and regards -
How Billing doc.created from purchase invoice in Third Party Sale
Hi All
Our client requirement has been mapped as sap third party sales process .
But if the vendor is delivering less qty . than the qty. for which Sales ordered has been created, How to create the Sales billing Doc. according to the purchase invoice so that Sales Billing Doc. should be created for the delivered qty. only .
Please suggest the configuration & how the data is flowing from the Purchase Invoice to the Sales Invoice.
Thanks in advance
AshokHi
you can achieve your requirement by following
T-Code VTFA (copy control Order to Billing)
use you Third party order type and billing type
Go to Item category (if Standard use TAS)
there is a option "BILLING QUANTITY"
user there "E" Goods receipt quantity less invoiced quantity"
Hope it will solve your problem
Cheers
Shambhu Sarkar -
Purchase Invoice (AP Invoice)
Greetings from India.
we have some issues with some purchase invoice AP invoice.
we buy some materials and some consumables which are second sale. The supplier give us an assessable tax invoice for us to avail the CENVAT tax credit, which is a different invoice then the Original invoice.
how are we to pass this "with copy from GRPO" and how to tabulate the amount for CST/VAT, Excise, Packing, Freight and how to pass the Invoice.
i wish and hope that i get some kind advice and guidance in this issue.
thanks and regards.Hi
This is the case of First Stage Dealer & Second Stage Dealer For this type of Invoice.
1.In which amount CST/VAT are calculated put this Rate in to Unit Price Field
so Unit Price * Qty = Total Amount CST/VAT calculated on it.
2.In which amount Excise are calculated put this Rate in to Assessable Value (INR) Feild
so Assessable Value * Qty = Total Amount Excise calculated on it.
3.Enter freight in to bottom level of GRPO if no Excise on freight OR
4.Enter freight in to Raw level of GRPO if Excise on freight
But make sure all activity done at GRPO level because all accounting effect start at GRPO level.
Thanks,
Srujal Patel -
Purchase Invoice Report fields
hi,
I need to create a purchase invoice drilldown report. the hierarchy for report is..
Company> Plant> Location >Vendor->Invoice
here company and plant are available in RSEG. Where can i find Storage Location and vendor?..
Thanks
SriHi Sri,
If you referring to storage location, then it is only relevant during goods movement & not during invoice posting. there is no option to change the storage location while posting the invoice.
If my understanding of the location you're mentioning is not correct, please let me know.
If helpful award points
Regards,
Vivek
Maybe you are looking for
-
Business Area not populated for F110 but it works for FBZ2
Hi all Gurus, I have marked my co code in OBY6 for Business Area Financial Statement. In GL a/c, I also marked the FSG to be "Required" field. For posting key field status, it set to "Optional" During F110 auto payment run, the Business Area field
-
Hello, I have a problem with a banner on the website of my web design company . Some visitors may make it leads to. while others can not (not an isolated case).'s not worth the restrictions on clicks. I even tested: on the one computer I have not wo
-
Link Customer Return order and Quality Notifcation
Hi Experts, After serveral rounds of investigation and interacted with SAP, I though to post it here to get abest answer for below question. I hope I will get it from you guys as soon. When we create return sales order through Function -> Sales orde
-
How to get value of text (e.g. text() ) for self
Hi all, I have a number of text boxes that I use as buttons which configured at the start. When clicked they pass on their text value ( using "......text()" ) to a global function and then some magic happens. Currently I am using something like: var
-
Error during installation of PI7.0 in Step 4
Dear all, While installing P1 7.0 , Under Step 4 (Execute Service) I have encountered an error stating. "Cannot create hostname\sapmnt" directory, The other lines in the log say.. can't create parent node. n/w location cannot be reached. sys.lib.file