Field name "SPERR" in LFA1 and LFB1
Hello - does anyone have any insight on how to bring in the field name "SPERR" into BW. For instance, it is not on the standard extractor that pulls from the table: LFA1, but it is on the standard extractor that pulls from table: LFB1. However, the field name "SPERR" has two completely different meanings depending on which table it is pulled from. So now my dilema is that our data in BW that is used for vendor master data reports, is completely mis-leading because it uses the "SPERR" from table: LFB1. Therefore, vendors in certain company codes are being reported as not having a posting block on them, but they actually do because they were blocked at the central level and not at the individual company code level. Is there any other solution other than adding "SPERR" to the extractor that pulls from table LFA1? I realize my question is vague however any insight would be greatly appreciated.
Thank you in advance!
Hi Shelly,
Of course , there is a way, do one thing, go to your extractor, right a small code
of ABAP, I mean write a 'Select' command on LFA1 with LIFNR vandor code
and Fetch the SPERR and modify the extractor table contents accordingly..
This way you'll be able to get the required data into this field from LFA1..
Need further info revert...
reward points if useful*
Cheers,
Pattan
Similar Messages
-
R/3 Field name for "Pipe Length" and "Length" for SD Billing
Dear Gurus,
I require the R3 tables and fields for "Number of pipes" and "length".
These Fields are used in Billing Document Data: Items (As of 2.0B) (ZS2LIS_13_VDITM) for BI report.
Your Help is greatly appritiated.
Thanks and Regards,
SharathHi Sharath:
Some questions for you:
- What is the exact Technical name of the DataSource? Is "ZS2LIS_13_VDITM" or "2LIS_13_VDITM"?
- Can you see the "Number of pipes" and "length" fields in Transaction Code LBWE? What are their Technical Names?
Those field descriptions don't ring any bell for me, so my guess is that you're dealing either with a Generic Extractor or an Enhacement to the Standard Extractor.
Regards,
Francisco Milán.
Edited by: Francisco Milan on Jan 21, 2011 10:23 AM -
What balance value in sales order and iwant to know table field name in
where the balance value come in sales order i want make sales order report in which i want to add this filed how we add it and tell me table field name of balance vlue and how we give it in FS please help me in this my report are left without it please give me solution
Hello
where the balance value come in sales order
Please note that when you raise your question at SDN forum, your question needs to be clear...
What do you mean by BALANCE VALUE ????
Regards,
Sarthak -
How to rename the column field names
hello guys,
i am retrieving my field names from the database and i view it thru HTML.
When i view it,the column names are those which are given while creating tables.
Ex..
fname,lname,phno,
i want it as First Name,Last Name,Phone Number etc ...<%
try {
stmt = con.createStatement();
sql="SELECT fname, lname, gender, email,phnum,sartweblink, sartaddress1, sartaddress2,sartcounty, country,sartpostcode,dob FROM Artist where artistid='" + sartid + "'";
rs=stmt.executeQuery(sql);
rsmd=rs.getMetaData();
int colcount=rsmd.getColumnCount();
for(i=1;i<=colcount;i++)
%>
<tr><td width="200"><FONT face=verdana size=2><%= rsmd.getColumnName(i)%>
<%
%> </FONT>
<font face=verdana size=2>
<% while(rs.next())
fname=rs.getString("fname");
lname=rs.getString("lname");
gender=rs.getString("gender");
email=rs.getString("email");
phnum=rs.getInt("phnum");
weblink=rs.getString("sartweblink");
address1=rs.getString("sartaddress1");
address2=rs.getString("sartaddress2");
county=rs.getString("sartcounty");
country=rs.getString("country");
postcode=rs.getString("sartpostcode");
dob=rs.getString("dob");
%>i make use of metadata..
can anyone tell me how to do this..
thanks in advancewhy not use alias:
your query is
SELECT fname, lname, gender, email
and will be:
SELECT fname FIRSTNAME, lname LASTNAME, gender GENDER, email EMAILADDRESS -
Field Name of the field on the Selectiion Screen
Hi,
I am executing report program and we get a Selection Screen .The question is can we catch the field names of the fields on the selection screen dynamically.
We can find the field name by pressing F1 and looking into the Technical Information of that perticular field.
But can we fetch the field name dynamically.
Any pointers/information in this regard will be highly helpful.
Thanks & regards,
AbhijeetHello Abhijeet,
Here's what I think you're looking for -
tables spfli.
parameters : p_test like spfli-carrid.
select-options : s_carrid for spfli-connid.
DATA:
descr_ref TYPE ref to cl_abap_elemdescr.
START-OF-SELECTION.
descr_ref ?= cl_abap_typedescr=>describe_by_data( p_test ).
WRITE: / 'Typename :', descr_ref->absolute_name.
WRITE: / 'Kind :', descr_ref->type_kind.
WRITE: / 'Length :', descr_ref->length.
WRITE: / 'Decimals :', descr_ref->decimals.
WRITE: / 'Output Length:', descr_ref->output_length.
WRITE: / 'Help ID :', descr_ref->help_id.
Kind------> data type (C , I , etc.,)
Help ID---> data element (usually).
There are other classes in ABAP of the form CLABAPDESCR which can provide you with other information. These classes all belong to what is called RTTI (Run Time Type Identification). However, these are available only from 46c. You can explore the other classes, as I think they would be very interesting and useful in the future.
Regards,
Anand Mandalika. -
hi,
In sales order create screen, i need the table/structure name and field names for shipping point, and ship to.
for shipping point it think it is vbap-vstel ??
thksHi,
As you said the field for shipping point is VBAP-VSTEL.
You can find the ship-to party information in VBPA by providing the sales order number and the partner function as 'WE' ('WE' is for ship-to party. VBPA-KUNNR will give you the ship-to party).
if you also want the sold-to party then hit VBPA with the sales order number and the partner function as 'AG'(VBPA-KUNNR will give you the sold-to party).
Thanks. -
Get Table fields name for an SAP table
hi,
i need to pass SAP table name as a parameter to the selection screen of a Report program.
This prog shud give me the table Fields name along with type and length.
Is there any standard SAP report program for the same or i have to write my own logic?
Please advise.
regards,
ags.Hi,
For your requirement you have to write own program in dynamic manner by using field symbol concept.
Use this FM DDIF_FIELDINFO_GET and get the field information of database table.
call function 'DDIF_FIELDINFO_GET'
exporting
tabname = <master> u201C Table name
Tables
DFIES_TAB = <table_field> u201C here you will get field information of table
exceptions
not_found = 1
internal_error = 2
others = 3.
if sy-subrc <> 0.
message text-005 type 'E' .
endif.
Loop <table_field> assignigng <field>
*---here you have to collect the relevant information that you are going to display in your output.
Endloop.
Use any one of ALV or OOALV and display your records.
Regards,
Peranandam -
How to programmatically retrieve the real field name from a view object ?
Dear all,
when I map a business component (a database table) to a view, the fields are automatically converted by JDeveloper, for example, a field named 'user_id' in the oracle table definition, becomes 'userid' in the view.
The question: how can I retrieve the right table column name from within a backing bean ? Please explain also what should I bind and how; should I use an iterator ?
Another more: since we can change the label of a field on a view, how can then I get the mapping between the column name on the view and the column name on the table in the database ?
Thanks in advance,
Sergio.Hi Timo,
many thanks for your answer.
The rest of my question: you know we can drop a view from the DataControls onto a ADF page, with each field of the table having a label.
That label is initially set like the internal table field name, so for instance, if user_id is the real table field name, userid will be the (by JDeveloper) internal renamed table field name, and the label would be userid too.
If I then change the label text to, for example, "myUserid", the question is: how can I know which real table field does "myUserid" point to ?
In other words, when my form is submitted, I want to know which field name has been changed and prepare an update sql in a bean.
For this purpose I bind each view field to a validator function in the bean, and collect al the pairs "label_name + submitted value" in an hash table.
Now inorder to build up that update query, I need the mapping between the label_name ("myUserid") and the real table field name ("user_id"). The question: how to map the label to the real table field name ?
By the way, I'm using JDeveloper 11g rel. 2.
Regards,
Sergio. -
Add a custom-field in the table MARC and manage it in MM01/MM02/MM03
Good day to all of you!
I have this task: To add a custom-field to the table MARC. This custom-field will be managed through the MM01/MM02/MM03 transaction as follows:
In the Basic Data 1 or Basic Data 2 the custom-field data will be added. Let's say the field is MATNR OBSOLETE.
I have searched and implemented the things in customizing: Made a copy of function group MGD1, added the field on the screen.
MY PROBLEM! How to manage it??? When the user enters MM01/MM02/MM03 and update this field, the field should be updated in MARC.
1. I am not sure that this custom-field should be on Basic Data1 or Basic Data2.They want it at plant level.
2. How to manage the data transfer from SAP Standard Program and my Custom Function Group.
PLs: Do not paste me link to sap technical site with that example, because there takes the custom fields and UPDATE a CUSTOM TABLE. I need to update MARC!
All the documentations i have read until now tell you how to add the field, ONLY the first part of the SOLUTION.
Any help, pls?
Good day and thank you!Hi Alex,
In which way you are trying to update that custom filed. Have you written any logic in EXITS/BADIS?
http://pavelgk.pbworks.com/f/6729224-Implement-Screen-Exit-for-MM01-Adding-New-Fields-in-Screen.pdf
and
Just read the OSS note mentioned earlier.
Symptom
You want to integrate customer-specific fields in material master maintenance.
Other terms
SAPLMGMM, RMDATIND, ALE, CI_MMH1, EXIT_SAPLMGMU_001
Solution
To add customer-specific fields to an existing material master table (such as MARA or MARC) , you can proceed as follows as of Release 3.0C:
1. Use an append structure to add the fields to the required table in the Dictionary (this is not a modification; for details, see the SAP document "ABAP/4 Dictionary"). In Release 3.x, the length of the field names must be the same as the standard five character fields. This is necessary because of dynamic assignments. As of Release 4.0A, the lengths of the field names can be longer than five characters. If the changes of the fields should be recorded in the change document and taken into account during ALE distribution, set the 'Change document-relevant' indicator for the corresponding data elements. For table MARA in Release 3.x, you must also enhance the database view MARU because the database changes are carried out using this view. This small modification is no longer necessary as of Release 4.0A because the database view MARU is enhanced automatically when you enhance table MARA or the include EMARA (which is the data part of table MARA).
2. Enhancing online maintenance in customized material master maintenance:
Define a subscreen with your customer-specific fields in a customer-specific function group created as a copy of the standard function group MGD1.
In Customizing, assign this subscreen to a maintenance screen using the "Copy customized material master" function. For details, see the Implementation Guide (IMG). As of Release 4.0A, program COPYMGD1 is available. You can use this program to create customer-specific function groups as required. This program is also incorporated in the Customizing function 'Configure customized material master'. Ensure that each field of the subscreen has a field statement in the flow logic, otherwise the data is not transported correctly. You can use subscreen SAPLMGD1 2002 as an example.
If you want these fields to be subject to standard field selection, you must add new entries for them to the central field table for material master maintenance (T130F):
Application examples for standard field selection:
The field is mandatory and is to be flagged with a "?".
The field belongs exclusively to the purchasing user department. Purchasing data and MRP data are both contained on one screen. However, the MRP controller is not to see the purchasing data.
The following data is required for each field:
a) Field name (T130F-FNAME)
b) Field selection group (T130F-FGRUP)
Here, you should use a standard field group if the customer field is subject to the same field selection as the standard fields of the standard field group. If it is not, use a customer-specific field group.
You must then check and, if necessary, modify the attribute of the field group using the function "Maintain field selection for data screens" in Customizing under "Logistics Basic Data -> Material Master".
Field groups 111 through 120 that are not used in the standard system are reserved as customer-specific field groups. As of Release 3.0F, additional customer field groups are available. (For details, see the IMG).
c) Maintenance status (T130F-PSTAT)
List of the user departments that may maintain the field. You can display possible values by using the input help for the maintenance status field in the Customizing activity "Configure Material Master" when maintaining logical screens.
d) Reference (T130F-KZREF)
This indicator must be set if the field from the reference material should be proposed during creation with reference.
Note: You cannot yet use Customizing to enhance table T130F; you can use only transaction SE16 (Data Browser) or transaction SM31. Future releases will include a separate Customizing function for maintaining customer-specific fields. See Note 306966. By implementing this note you can add entries to table T130F within Customizing. This type of maintenance is possible as of Release 4.5B.
You may change the entries for standard fields only with regard to the reference data and field selection group. Changing other data for standard fields constitutes a modification. Therefore, you cannot use the Customizing function "Assign Fields to Field Groups" to change this data.
In addition, you must not add new standard fields to table T130F.
3. If you want to maintain customer-specific fields using data transfer by direct input or via ALE distribution, proceed as follows:
Add the fields to central field table T130F (see above).
Add the customer-specific fields to the data structures for the data transfer (for example, BMMH1 for the main data).
Also, add the customer-specific fields to the tables in which the incorrect data is stored during direct input. These tables have the same name as the corresponding master data table and also have the suffix _TMP.
For example: If you add customer-specific fields to table MARA, you should add the same fields to table MARA_TMP.
If you use ALE, you must also add fields to the IDoc. To process enhanced IDocs, you can use enhancement MGV00001 with customer exit EXIT_SAPLMV01_002 for creating the IDocs and customer exit EXIT_SAPLMV02_002 for posting the IDocs.
Prior to Release 3.0E, enhancing structure BMMH1 constitutes a modification. In this case, you must add the new fields tot the end of the structure before the last field (SENDE = record end indicator).
As of Release 3.0F, structure BMMH1 contains the customer include CI_MMH1, which is part of the enhancement MGA0001. Here, you must proceed as follows:
a) Add the customer-specific fields to include CI_MMH1.
The names of the fields in CI_MMH1 must be identical to those of the corresponding fields in material master tables MARA, MARC and so on.
Important: The fields must be CHAR type fields. Therefore, create CHAR type data elements whose lengths are identical to the output length of your fields in table MARA and so on. Use these data elements in include CI_MMH1, but use the field names from table MARA and so on.
b) Activate include CI_MMH1.
c) If you have not used customer structure ZMMH1 before, create it as a copy of structure BMMH1 and delete the standard fields that you do not require. You are not permitted to delete field STYPE and include CI_MMH1 when doing this. If you have already used structure ZMMH1, add include CI_MMH1 to it.
d) Activate structure ZMMH1. This also adds the customer-specific fields to ZMMH1.
Run program RMDATING. This program generates routines which are supplied to your customer-specific fields from the input file. As of Release 4.5A, you also need to activate the routines/function modules generated by program RMDATING (especially, the MAT_MOVE_BMMH1_XXXX modules). Details about this subject (especially the procedure when using customer structure ZMMH1) are described in the IMG for transferring the material data under item 'Maintain Transfer Structure'. Also, check the declaration of structure WA in program RMMMBIMC to see whether it is declared with sufficient length. If necessary, enhance the declaration (for the time being, this still constitutes a minor modification).
In addition, lengthen domain DI_DATA with CHAR 5000. As of Release 3.1H, this has already been done.
Important: When using customer-specific fields, you can use only structure ZMMH1 to transfer the data. Otherwise, after the next SAP upgrade which contains new standard fields in structure BMMH1, the input files no longer match. If you want these new standard fields to be transferred, add them after your customer-specific fields (the order of the fields in structure ZMMH1 does not need to be the same as the order of the fields in BMMH1).
If you want foreign key dependencies or fixed domain values to be checked, or another check for a customer field, this is possible up to and including Release 3.0D only by modifying the corresponding check function modules. As of Release 3.0E, you can use function exit EXIT_SAPLMGMU_001 (SAP enhancement MGA00001) for these purposes.
If you want to use engineering change management to schedule future changes for your customer-specific fields or you want to use the 'Display at Key Date' function, execute program GENERATE in addition. This program generates the necessary assignments for interpreting the change documents. With regard to engineering change management, you must read Notes 60281, 60973, and 48962.
To date, it is not possible to integrate customer-specific tables in material master maintenance without making a modification. However, you can create customer-specific development objects containing the essential additional logic. You can then integrate these development objects in your system as part of only a minor modification.
check this link. It may helps you to solve your issue.
Thanks
Sravan -
Hi,
Can anyone tell the field name for vendor code and inwhich table it is present?
Regards,
HemaLFA1-LIFNR Account Number of Vendor or Creditor
Hope this is your requirement.
Regards,
Pavan -
Can anyone tell me the field name for "Organizational Hierarchy" and from which table it comes
this is urgent
thanksWhat is "organizational hierarchy"? What application. PCA, CCA, CONS?
-
The field name is not known error
Hi,
I have a report that is pointing to database(db1).
Can i change the database name to database(db2) in my c# application?when i am changing to new database name in my application i am getting error as "field name is not known".
Please give some suggestions.
Thanks in advanceI'm having the same problem.
I've upgraded from Crystal 8.5 to Crystal XI.
I've converted all my reports from Crystal 8.5 to Crystal XI.
When I try to run the report I get the error:
The Field Name is not known and nothing else.
I did upgrade the report and verified the database.
Does anyone have any ideas ?
If I delete the formula, and after I create it (by handle) the report will good.
But I have about 1000 reports ! -
Can you check to see if a Field Name has been changed and what it was originally titled?
Hi,
Please see below thread.Most probably, you will get your answer.
Change Description of a Field
field and colum descriptions
Regards, -
Converting HTML Forms to PDF - Field Names
When I use Adobe 8 to convert and HTML form to PDF all the field names in the resulting PDF have the crazy long names that are jumble of letters and numbers. So I always have to go back through and manually rename every field because I'm using another program to autopopulate the fields with data. Is there any way to get Acrobat to automatically name the fields in the PDF the same as they are named in the form either using the "name" or "id" properties of the HTML fields? I don't understand why this isn't the default behaviour to begin with.
The reason this is done is due to a fundamental difference between HTML forms and Acrobat forms. In HTML forms, fields with the same name do not necessarily share the same value, whereas in Acrobat forms they do.
In the conversion process, Acrobat gives each field a unique name, but also sets a field's mapping name to the name the field had in the original HTML form. This is so that if the PDF form is used to submit as "HTML", then the original field names will be used and any server process that is capable of dealing with the HTML form is capable of dealing with the resulting PDF form. So be aware that if you want to use your modified form to submit to a web server using the "HTML" format, the new field names that you set will not be used. What will be used are the hidden mapping names.
Unfortunately, I don't think there's anything you can do about any of this to make it work like you want.
George -
hi frds
Give me table name and field name of OPEN PO QUANTITY ..
thanks
Pari Vendhan.RSee the sample code for the open PO's based on Vendor
and do accordingly
*& 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.
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{code]
<REMOVED BY MODERATOR>
kushagra
Edited by: Alvaro Tejada Galindo on Feb 18, 2008 2:03 PM
Maybe you are looking for
-
PowerBook 17" - now running v e r y v e r y S L O W
To the forum, I have long entrusted and used my powermac. Now even after a clean re install, loading applications one by one, the machine is literally slowing to a creep. As an example, if I have Mail open, and have several tabs on Safari open, the s
-
ISA550 After upgrade 1.2.17 many error messages in the log
Hi, After upgrade> 1.2.17 many error messages in the log Hello, after upgrading from 1.2.15> 1.2.17 have infinitely many errors in the log: Err - System: sdsd: msgq_open: Error: mq_open () failed on msg queue / sdsd, errno = 2 Err - System: sdsd: ope
-
Default Walkman playlist lists everything, and I mean EVERYTHING
I have the latest version of Walkman installed, 8.4.A.3.1. It's nice, but only one minor quirk. It used to be that it showed only songs from the music folder, but now the default playlist shows every single sound file on the phone. For example, it di
-
Adding a toolbar to Firefox similar to Microsoft
I switched from Internet Explorer to Modzilla Firefox yesterday evening and I can't figure out how to add a toolbar with the basic tools such as File, Edit, View, etc.
-
Premiere Elements 8, organizer will not start
Premiere Elements 8, organizer will not start