Material List from class
I need to get report on list of materials assigned to particular class.
Can anybody get me the solution for the above.
Hi Navin,
Try one of these:
1) Goto MM03 select F4 option in which select the Materials for classes, there u can give the class and class type press enter and click on find button.
or
2) the information from tables CAWN, AUSP, CABN INOB, KLAH.
or
3) Check in AUSP ( Characteristic Values ) table if its useful
Input
KLART filed value = Class type - 001 for materialclass
OBJEK = Material numbwer in cas of class type 001
ATINN = Characterisitc.
Thanks!
Preethi.
Similar Messages
-
Material list from Matl. determination cond.type
Hi Guru's,
I want to create a report thru querry to extract the Materials which are under particular division/s from the Materials determination condition type( EX. A001).
I am not able to get the correct table from the condition type for material determination to join with the MARA table, so that i can extract the entire material list from Condition typer or condition records of A001 and join with MARA to filter those materials according to the divisions.
Your earliest help will be rewarded.
ManojThanks sankar,
But i would like to generate a Querry, with the condition type from say xxxx table and material no. and division form MARA table.
Could you be more in detail how to go about it thru querry using which table.
Thanks
Manoj -
Hi Friends,
I need material list which have been maintained under the perticular class,pls guide me any t-code or from which table it's possible..
Regards
HariDaer Hari,
Enter the Material number + 00000 in table KSSK for selection "Object" until the object = 18digit , enter the material class.Also you can get the value from AUSP, enter the object = 00000+material number until 18digit.
From KSSK you find The Int.Class No , enter it to the KLAH table as Int.Class No, There you''ll find class number.
Try it.
Regards,
w1n -
How to identify undefined classification material list from material master
Hi ,
1. I would like to identify the materials which is not having classification view from material master. 2. how to maintain the same in mass transaction. kindly give replies for the same.
Thanks,
HariHello Kara,
To main classification in all materials follow the below process.
Go to t code MM50.
Insert material no. or number range, and material view from Maintenance status (classification) and after that press execute (F8) button.
Click on the check box and press Maintain materials button.
Select required class types and press enter.
Finally press save button.
Thanks.
Ashfaque Hasan. -
How to send List from jsp to action class
hi,
i m fetching list from database and showing to jsp as follows:
user can update that list i need to collect that updated list in next action class but i m not able to do that. can anybody suggest me any solution the code i m using is as follows:
<html:form action="/myUpdate">
<table>
<tr>
<td>
<label><input type="text" property="name" name="name" value=""/></label>
</td>
</tr>
<logic:iterate id="address" name="info" property="addressList" indexId="rowindex">
<tr>
<td>
<input type="text" value="" name="address[<bean:write name="rowindex"/>].houseno" />
</td>
<td>
<input type="text" value="" name="address[<bean:write name="rowindex"/>].roadname" />
</td>
<td>
<input type="text" value="" name="address[<bean:write name="rowindex"/>].city" />
</td>
<td>
<input type="text" value="" name="address[<bean:write name="rowindex"/>].state" />
</td>
<td>
<input type="text" value="" name="address[<bean:write name="rowindex"/>].country" />
</td>
</tr>
</logic:iterate>
<tr>
<html:submit/>
</tr>
</table>
</html:form>
here in privious action i m settting bean object in session with name 'info'. it is fetching data and disply it correctly but when i m trying to get this updated data in myUpdate action i m not getting list element.--------------- MyBean.java----------------------
package form;
import java.util.Iterator;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
* @author Sushant.Raut
public class MyBean extends ActionForm {
Logger log = Logger.getLogger(this.getClass());
/* (non-Javadoc)
* @see org.apache.struts.action.ActionForm#reset(org.apache.struts.action.ActionMapping, javax.servlet.http.HttpServletRequest)
@Override
public void reset(ActionMapping mapping, HttpServletRequest request) {
// TODO Auto-generated method stub
super.reset(mapping, request);
this.name = "";
public String toString()
System.out.println("name : " + this.name );
for(Iterator<Address> iterator = addressList.iterator(); iterator.hasNext();)
Address address = (Address)iterator.next();
System.out.println("city : " + address.getCity());
return null;
private static final long serialVersionUID = 1L;
private String name;
private List<Address> addressList;
* @return the names
public MyBean()
log.info("Bean Construtor is called.");
System.out.println("MyBean:::::constructor is called.");
public String getName() {
log.info("Bean getName() is called");
return name;
* @param names the names to set
public void setName(String name) {
this.name = name;
log.info("Bean setName() is called");
* @return the address
public List<Address> getAddressList() {
log.info("Bean getAddressList() is called");
return addressList;
* @param address the address to set
public void setAddressList(List<Address> address) {
log.info("Bean setAddressList() is called");
this.addressList = address;
public Address getAddress(int index)
log.info("Bean getAddress(int index) is called");
while(index >= addressList.size())
addressList.add(new Address());
return this.addressList.get(index);
public void setAddress(int index, Address address)
log.info("Bean setAddress(int index, Address address)) is called");
this.addressList.add(index, address);
}------------- Address.java------------
package form;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionMapping;
* @author Sushant.Raut
public class Address {
private String houseno;
private String roadname;
private String city;
private String state;
private String country;
public Address(){}
* @return the houseno
public String getHouseno() {
return houseno;
* @param houseno the houseno to set
public void setHouseno(String houseno) {
this.houseno = houseno;
* @return the roadname
public String getRoadname() {
return roadname;
* @param roadname the roadname to set
public void setRoadname(String roadname) {
this.roadname = roadname;
* @return the city
public String getCity() {
return city;
* @param city the city to set
public void setCity(String city) {
this.city = city;
* @return the state
public String getState() {
return state;
* @param state the state to set
public void setState(String state) {
this.state = state;
* @return the country
public String getCountry() {
return country;
* @param country the country to set
public void setCountry(String country) {
this.country = country;
public void reset(ActionMapping mapping, HttpServletRequest request)
this.city = "";
this.country = "";
this.houseno = "";
this.roadname = "";
this.state = "";
}------ MyAction.java------
package action;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import form.Address;
import form.MyBean;
* @author Sushant.Raut
public class MyAction extends Action {
Logger log = Logger.getLogger(this.getClass());
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)throws Exception{
MyBean myBean = new MyBean();
log.info("Bean is Initialised.");
String name = "sushant";
Address address = new Address();
address.setCity("city1");
address.setCountry("India");
address.setHouseno("1111");
address.setRoadname("xyz Road");
address.setState("MH");
Address address1 = new Address();
address1.setCity("Hyderabad");
address1.setCountry("India");
address1.setHouseno("2222");
address1.setRoadname("ABC Road");
address1.setState("AP");
List<Address> addressSet = new ArrayList<Address>();
addressSet.add(address);
addressSet.add(address1);
myBean.setName(name);
myBean.setAddressList(addressSet);
request.getSession().setAttribute("info", myBean);
log.info("Bean is bound to session.");
System.out.println("MyBean object is bound to session.");
System.out.println(myBean);
return mapping.findForward("success");
}-------- show.jsp-----------
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<html:form action="/myUpdate">
<table>
<tr>
<td>
<label><html:text property="name" name="info"/></label>
</td>
</tr>
<logic:iterate id="address" name="info" property="addressList" indexId="rowindex">
<tr>
<td>
<html:text property="houseno" name="address" indexed="true"/>
</td>
<td>
<html:text property="roadname" name="address" indexed="true"/>
</td>
<td>
<html:text property="city" name="address" indexed="true"/>
</td>
<td>
<html:text property="state" name="address" indexed="true"/>
</td>
<td>
<html:text property="country" name="address" indexed="true"/>
</td>
</tr>
</logic:iterate>
<tr>
<html:submit title="Submit"/>
</tr>
</table>
</html:form>
</body>
</html> -
Getting list of classes from a jar
Hi
I want to retrieve list of class names from a jar. i used URLClassLoader and it retrieves pakcage name but i don't know how to retrieve class namesI don't know if this is the best way, but I did this once before like this:import java.util.jar.JarEntry;
import java.util.jar.JarFile;
// then you can do this
String path = "path to some JAR file goes here";
JarFile jar = new JarFile(path);
Enumeration<JarEntry> entries = jar.entries();
while (entries.hasMoreElements())
JarEntry entry = entries.nextElement();
String name = entry.getName();
if (name.endsWith(".class"))
// this is a class entry
} -
How to return a list of class from a package
Hi,
I'm trying to create a RPG game with 50 characters. There will be a superclass, and each character is a subclass that extends from the superclass. Each will have unique abilities that will be functions. These classes will be thrown into a package.
I would like to know the code for returning the list of classes in that package. That way, I can present them as a list for the player to choose just a handful of characters to start out with.
Thanks in advanceHi u can use the this class
flash.utils.describeType;
Regards
Sumit Agrawal -
Noobie question: How do I add something to the display list from a non-main class?
I know how to use addChild() within the main class to add
something to the stage display list and have it appear on the
screen, but how do I add something to the stage display list from
code within another class?
So for example say I want to add some text (myTextField) to
the stage's display list from within NotTheMainClass' code, could
you give an example of the necessary code?you must pass a reference to a display list object or create
one that's available to your class.
there are so many ways to do this i'm not sure how you want
to proceed. but you can create a globally available reference to
the stage and root timeline: -
Accessing an Array List from another class
Hi, I was a member on here before, but I forgot my password and my security question is wrong.
My question is how do I access a private arraylist from a different class in the same package?
What I am trying to do is the following (hard to explain).
Make a picking client for a shop, so that when an order is recieved, the picker can click on the orders button, and view all of the current orders that have not been completed. This Pick client has its own user interface, in a seperate class from where the BoughtList array is created, in the cashier client. The boughtlist is created when the cashier puts in the product number into the cashier client and clicks buy. I seem to be having trouble accessing the list from another class. Once the order is completed the cashier clicks bought and the list is reset. There is another class in a different pagage that processes some of the functions of the order, eg newOrder().
Yes it is for Uni so I dont need / want the full answers, jist something to get started. Also please dont flame me, I have done many other parts of this project, just having trouble getting started on this one.
Here is the code for the cashier client. The code for the Pick client is almost the same, I just need to make the code that displays the orders.
package Clients;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.text.NumberFormat;
import java.util.Locale;
import Catalogue.*;
import DBAccess.*;
import Processing.*;
import Middle.*;
class CashierGUI
class STATE // Cashier states
public static final int PROCESS = 0;
public static final int CHECKED = 1;
class NAME // Names of buttons
public static final String CHECK = "Check";
public static final String BUY = "Buy";
public static final String CANCEL = "Cancel";
public static final String BOUGHT = "Bought";
private static final int H = 300; // Height of window pixels
private static final int W = 400; // Width of window pixels
private JLabel theAction = new JLabel();
private JTextField theInput = new JTextField();
private JTextArea theOutput = new JTextArea();
private JScrollPane theSP = new JScrollPane();
private JButton theBtCheck = new JButton( NAME.CHECK );
private JButton theBtBuy = new JButton( NAME.BUY );
private JButton theBtCancel= new JButton( NAME.CANCEL );
private JButton theBtBought= new JButton( NAME.BOUGHT );
private int theState = STATE.PROCESS; // Current state
private Product theProduct = null; // Current product
private BoughtList theBought = null; // Bought items
private Transaction theCB = new Transaction();
private StockReadWriter theStock = null;
private OrderProcessing theOrder = null;
private NumberFormat theMoney =
NumberFormat.getCurrencyInstance( Locale.UK );
public CashierGUI( RootPaneContainer rpc, MiddleFactory mf )
try //
theStock = mf.getNewStockReadWriter(); // DataBase access
theOrder = mf.getNewOrderProcessing(); // Process order
} catch ( Exception e )
System.out.println("Exception: " + e.getMessage() );
Container cp = rpc.getContentPane(); // Content Pane
Container rootWindow = (Container) rpc; // Root Window
cp.setLayout(null); // No layout manager
rootWindow.setSize( W, H ); // Size of Window
Font f = new Font("Monospaced",Font.PLAIN,12); // Font f is
theBtCheck.setBounds( 16, 25+60*0, 80, 40 ); // Check Button
theBtCheck.addActionListener( theCB ); // Listener
cp.add( theBtCheck ); // Add to canvas
theBtBuy.setBounds( 16, 25+60*1, 80, 40 ); // Buy button
theBtBuy.addActionListener( theCB ); // Listener
cp.add( theBtBuy ); // Add to canvas
theBtCancel.setBounds( 16, 25+60*2, 80, 40 ); // Cancel Button
theBtCancel.addActionListener( theCB ); // Listener
cp.add( theBtCancel ); // Add to canvas
theBtBought.setBounds( 16, 25+60*3, 80, 40 ); // Clear Button
theBtBought.addActionListener( theCB ); // Listener
cp.add( theBtBought ); // Add to canvas
theAction.setBounds( 110, 25 , 270, 20 ); // Message area
theAction.setText( "" ); // Blank
cp.add( theAction ); // Add to canvas
theInput.setBounds( 110, 50, 270, 40 ); // Input Area
theInput.setText(""); // Blank
cp.add( theInput ); // Add to canvas
theSP.setBounds( 110, 100, 270, 160 ); // Scrolling pane
theOutput.setText( "" ); // Blank
theOutput.setFont( f ); // Uses font
cp.add( theSP ); // Add to canvas
theSP.getViewport().add( theOutput ); // In TextArea
rootWindow.setVisible( true ); // Make visible
class Transaction implements ActionListener // Listener
public void actionPerformed( ActionEvent ae ) // Interaction
if ( theStock == null )
theAction.setText("No conection");
return; // No connection
String actionIs = ae.getActionCommand(); // Button
try
if ( theBought == null )
int on = theOrder.uniqueNumber(); // Unique order no.
theBought = new BoughtList( on ); // Bought list
if ( actionIs.equals( NAME.CHECK ) ) // Button CHECK
theState = STATE.PROCESS; // State process
String pn = theInput.getText().trim(); // Product no.
int amount = 1; // & quantity
if ( theStock.exists( pn ) ) // Stock Exists?
{ // T
Product pr = theStock.getDetails(pn); // Get details
if ( pr.getQuantity() >= amount ) // In stock?
{ // T
theAction.setText( // Display
pr.getDescription() + " : " + // description
theMoney.format(pr.getPrice()) + // price
" (" + pr.getQuantity() + ")" // quantity
); // of product
theProduct = pr; // Remember prod.
theProduct.setQuantity( amount ); // & quantity
theState = STATE.CHECKED; // OK await BUY
} else { // F
theAction.setText( // Not in Stock
pr.getDescription() +" not in stock"
} else { // F Stock exists
theAction.setText( // Unknown
"Unknown product number " + pn // product no.
if ( actionIs.equals( NAME.BUY ) ) // Button BUY
if ( theState != STATE.CHECKED ) // Not checked
{ // with customer
theAction.setText("Check if OK with customer first");
return;
boolean stockBought = // Buy
theStock.buyStock( // however
theProduct.getProductNo(), // may fail
theProduct.getQuantity() ); //
if ( stockBought ) // Stock bought
{ // T
theBought.add( theProduct ); // Add to bought
theOutput.setText( "" ); // clear
theOutput.append( theBought.details()); // Display
theAction.setText("Purchased " + // details
theProduct.getDescription()); //
// theInput.setText( "" );
} else { // F
theAction.setText("!!! Not in stock"); // Now no stock
theState = STATE.PROCESS; // All Done
if ( actionIs.equals( NAME.CANCEL ) ) // Button CANCEL
if ( theBought.number() >= 1 ) // item to cancel
{ // T
Product dt = theBought.remove(); // Remove from list
theStock.addStock( dt.getProductNo(), // Re-stock
dt.getQuantity() ); // as not sold
theAction.setText(""); //
theOutput.setText(theBought.details()); // display sales
} else { // F
theOutput.setText( "" ); // Clear
theState = STATE.PROCESS;
if ( actionIs.equals( NAME.BOUGHT ) ) // Button Bought
if ( theBought.number() >= 1 ) // items > 1
{ // T
theOrder.newOrder( theBought ); // Process order
theBought = null; // reset
theOutput.setText( "" ); // Clear
theInput.setText( "" ); //
theAction.setText( "Next customer" ); // New Customer
theState = STATE.PROCESS; // All Done
theInput.requestFocus(); // theInput has Focus
catch ( StockException e ) // Error
{ // Of course
theOutput.append( "Fail Stock access:" + // Should not
e.getMessage() + "\n" ); // happen
catch ( OrderException e ) // Error
{ // Of course
theOutput.append( "Fail Order process:" + // Should not
e.getMessage() + "\n" ); // happen
}(disclaimer: I did not read through your Swing code, as I find that painful)
My question is how do I access a private arraylist from a different class in the same
package?Provide a public accessor method (getMyPrivateArrayList()) -
How can we delete one Material from Material List?
Hello Experts,
How can we delete one Material from Material List? Is their any possibility?Hi,
Instead of deleting you can go for mark for deletion in MM06.
Thanks
VSA -
Material Listing/Exclution replication from R/3 to CRM,
hi,
We are using SAP CRM 3.0 and R/3 4.6c
In R/3 system we maintained an exclution for a material and the system is giving the message 'Material xxxx excluded.
If we use the same customer and the same material in CRM, the Material xxxx accepting (there is no message saying material excluded)
Please let me know if there is any downloading object for material listing/exclusion or how to over come this problem
Thanks in advance.
Regards,
Ram.This is a recent blog http://weblogs.sdn.sap.com/pub/wlg/15445?page=last [original link is broken] [original link is broken] [original link is broken]
I can't remember if 3.0 offers some or all of this. -
Order types entered in a Ztable, system will not perform material listing.
Hi Guys,
I have a requirement where user will enter the list of order types to be excluded from material listing through a custom table.
For all those order types entered in the custom table the system will not perform any material listing check, regardless if the material is existing in the material listing.
Can you please tell me how to do this through coding???Any particular exit or where can i code this.???
Many Thanks in Advance,
Rajendra
Moderator message : Requirements dumping not allowed, show the work you have already done. Thread locked.
Edited by: Vinod Kumar on Jan 13, 2012 4:08 PMSwagat,
Thank you for your response, what I am still not getting is - even in manual transfers via LT10 shouldn't the system restrict the movements to certain storage types? If you think from the shopfloor perspective the WM material movements are done at WM level only - meaning moving materials from one storage type to another and LT10 is widely used as it is one step tcode.
I know we can restrict movements when storage class is assigned in search strategy, but this applies only to hazardous materials. The material in question is not hazardous so I am still thinking if there is any way to restrict material movements.
Do you have any documentation link which mentions search strategies are not taken into consideration during manual transfer? If yes please send that would be helpful.
Once again thanks for your time. -
hi,
i want a material list for which if i specify a period i will get materials with
a)No goods reciept
b)No stock or material movement(issue/transfer posting etc).
c)no sales or shipping.
should have happened for the materials for that period.
if no standard report exists can you tell me the algoritthm.
urgent: satisfying answers will be awarded full pointsRajkiran,
am sure you will never setisfy even we send you number of report because you have to chenge according to your requirement.dont expect spoon feeding.
*& Object Id : &*
*& Object Name : ZMM_STO_REGISTER &*
*& Function Module Name : MM &*
*& Transaction Code : ZMMSTO &*
*& Author : Amit&*
*& Module Name : MATERIAL MANAGEMENT &*
*& Sub-Module : &*
*& Program Type : Report &*
*& Create Date : 28.03.2007 &*
*& Completion Date : 30.03.2007 &*
*& SAP Release : &*
*& Description : STO REGISTER &*
*& MODIFICATION LOG : MODIFIED AT 30.04.2007 adding new field &*
*& chapter-id by chakrapani mishra &*
REPORT zmm_sto_register.
* TABLES USED *
TABLES :vbrk, "Billing Document: Header Data
vbrp, "Billing Document: Item Data
mara, "General Material Data
konv, "Conditions (Transaction Data)
t023t, "Material Group Descriptions
ekko, "Purchasing Document Header
likp, "SD Document: Delivery Header Data
mvke, "Sales Data for Material
t001w, "Plants/Branches
marm, "Units of Measure for Material
j_1imtchid, "Combination of Material Number and Chapter ID
mseg,
mkpf,
j_1iexchdr.
TYPE-POOLS : slis. "TYPE POOL SLIS
* INTERNAL TABLES *
DATA: BEGIN OF t_vbrp OCCURS 0, "INTERNAL TABLE FOR VBRP
vbeln LIKE vbrp-vbeln, "Billing Document
vstel LIKE vbrp-vstel, "Shipping Point/Receiving Point
vgbel LIKE vbrp-vgbel, "Document number of the reference document
aubel LIKE vbrp-aubel, "Sales Document
matnr LIKE vbrp-matnr, "Material Number
arktx LIKE vbrp-arktx, "Short text for sales order item
matkl LIKE vbrp-matkl, "Material Group
fkimg LIKE vbrp-fkimg, "Actual Invoiced Quantity
werks LIKE vbrp-werks, "Plant
posnr LIKE vbrp-posnr, " Billing item
vrkme LIKE vbrp-vrkme, " Sales unit
vgbel1 LIKE mkpf-xblnr,
END OF t_vbrp.
DATA: BEGIN OF t_vbrk OCCURS 0, "INTERNAL TABLE FOR VBRK
kunag LIKE vbrk-kunag, "Sold-to party
vbeln LIKE vbrk-vbeln, "Billing Document
fkdat LIKE vbrk-fkdat, "Billing date for billing index and printout
knumv LIKE vbrk-knumv, "Number of the document condition
fkart LIKE vbrk-fkart, "Billing Type
vtweg LIKE vbrk-vtweg, "Distribution Channel
vkorg LIKE vbrk-vkorg, "Sales Organization
erzet LIKE vbrk-erzet,
w_flag TYPE c,
l_tabix TYPE sy-tabix,
END OF t_vbrk.
DATA: BEGIN OF t_temp1 OCCURS 0, "INTERNAL TABLE FOR VBRK
vbeln LIKE vbrp-vbeln, "Billing Document
fkart LIKE vbrk-fkart,
fkdat LIKE vbrk-fkdat,
vgbel LIKE vbrp-vgbel, "Document number of the reference document
werks LIKE vbrp-werks,
w_flag TYPE c,
END OF t_temp1.
DATA: BEGIN OF t_mara OCCURS 0, "INTERNAL TABLE FOR MARA
matnr LIKE mara-matnr, "Material Number
mtart LIKE mara-mtart, "Material Type
wrkst LIKE mara-wrkst, "Finish
extwg LIKE mara-extwg, "Design
labor LIKE mara-labor, "Grade/Category No.
normt LIKE mara-normt, "Thickness in mm
bismt LIKE mara-bismt, "Size (L*B) in mm
matkl LIKE mara-matkl,
spart LIKE mara-spart,
meins LIKE mara-meins,
END OF t_mara.
DATA : BEGIN OF t_konv OCCURS 0, "INTERNAL TABLE FOR KONV
knumv LIKE konv-knumv, "Number of the document condition
kposn LIKE konv-kposn, "Condition item number
kschl LIKE konv-kschl, "Condition type
kwert LIKE konv-kwert, "Condition value
kbetr LIKE konv-kbetr, "Condition rate
END OF t_konv.
DATA : BEGIN OF t_likp OCCURS 0, "INTERNAL TABLE FOR LIKP
vbeln LIKE likp-vbeln, "Delivery
lfdat LIKE likp-lfdat, "Delivery Date
kunnr LIKE likp-kunnr,
bldat LIKE likp-bldat, " document date
vbeln_kp LIKE mkpf-xblnr, " likp-vbeln,
END OF t_likp.
DATA : BEGIN OF t_t023t OCCURS 0, "INTERNAL TABLE FOR T023T
matkl LIKE t023t-matkl, "Material Group
wgbez LIKE t023t-wgbez, "Material Group Description
spras LIKE t023t-spras, "Language Key
END OF t_t023t.
DATA : BEGIN OF t_ekko OCCURS 0, "INTERNAL TABLE FOR EKKO
ebeln LIKE ekko-ebeln, "Purchasing Document Number
bsart LIKE ekko-bsart, "Purchasing Document Type
aedat LIKE ekko-aedat, "Date on Which Record Was Created
knumv LIKE ekko-knumv, "Number of the document condition
END OF t_ekko.
DATA : BEGIN OF t_ekpo OCCURS 0, "INTERNAL TABLE FOR EKKO
ebeln LIKE ekko-ebeln, "Purchasing Document Number
loekz LIKE ekko-loekz, "Purchasing Document Type
END OF t_ekpo.
DATA : BEGIN OF t_mvke OCCURS 0,
matnr LIKE mvke-matnr,
mvgr1 LIKE mvke-mvgr1,
END OF t_mvke.
DATA : BEGIN OF t_t001w OCCURS 0, "INTERNAL TABLE FOR KONV
werks LIKE t001w-werks, "Number of the document condition
name1 LIKE t001w-name1, "Condition type
kunnr LIKE t001w-kunnr, "Condition value
name2 LIKE t001w-name2, "Condition item number
END OF t_t001w.
DATA : BEGIN OF t_t001w2 OCCURS 0, "INTERNAL TABLE FOR KONV
werks LIKE t001w-werks, "Number of the document condition
name1 LIKE t001w-name1, "Condition type
kunnr LIKE t001w-kunnr, "Condition value
name2 LIKE t001w-name2, "Condition item number
END OF t_t001w2.
DATA : BEGIN OF t_marm OCCURS 0,
matnr LIKE marm-matnr,
meinh LIKE marm-meinh,
umrez LIKE marm-umrez,
umren LIKE marm-umren,
END OF t_marm.
DATA : BEGIN OF t_tvm1t OCCURS 0,
mvgr1 LIKE tvm1t-mvgr1,
bezie LIKE tvm1t-bezei,
END OF t_tvm1t.
**********************modification additioon of chapter ID 30.04.2007
DATA : BEGIN OF t_j_1imtchid OCCURS 0, "INTERNAL TABLE FOR j_1imtchid
matnr LIKE j_1imtchid-matnr, "Material Number
j_1ichid LIKE j_1imtchid-j_1ichid, "Chapter ID
END OF t_j_1imtchid.
DATA : BEGIN OF t_j_1iexchdr OCCURS 0, "INTERNAL TABLE FOR j_1imtchid
exnum LIKE j_1iexchdr-exnum, "Material Number
exdat LIKE j_1iexchdr-exdat, "Chapter ID
rdoc LIKE j_1iexchdr-rdoc,
werks LIKE j_1iexchdr-werks,
status LIKE j_1iexchdr-status,
trntyp LIKE j_1iexchdr-trntyp,
END OF t_j_1iexchdr.
**********************modification additioon of chapter ID 30.04.2007
DATA: BEGIN OF t_final OCCURS 0, "INTERNAL TABLE T_FINAL
fkart LIKE vbrk-fkart,
kunag LIKE vbrk-kunag,
vbeln_k LIKE vbrk-vbeln,
fkdat LIKE vbrk-fkdat,
knumv LIKE vbrk-knumv,
fkart1 LIKE vbrk-fkart,
vtweg LIKE vbrk-vtweg,
vkorg LIKE vbrk-vkorg,
vbeln LIKE likp-vbeln, "Delivery
vbeln_p LIKE vbrp-vbeln,
vstel LIKE vbrp-vstel,
"vgbel like mkpf-xblnr,
vgbel LIKE vbrp-vgbel,
aubel LIKE vbrp-aubel,
matnr LIKE vbrp-matnr,
arktx LIKE vbrp-arktx,
matkl LIKE vbrp-matkl,
fkimg LIKE vbrp-fkimg,
posnr LIKE vbrp-posnr,
vrkme LIKE vbrp-vrkme,
matnr_m LIKE mara-matnr,
mtart LIKE mara-mtart,
wrkst LIKE mara-wrkst,
extwg LIKE mara-extwg,
labor LIKE mara-labor,
normt LIKE mara-normt,
bismt LIKE mara-bismt,
spart LIKE mara-spart,
meins LIKE mara-meins,
kposn LIKE konv-kposn,
kschl LIKE konv-kschl,
kwert LIKE konv-kwert,
kwert1 LIKE konv-kwert,
kwert2 LIKE konv-kwert,
kwert3 LIKE konv-kwert,
kwert4 LIKE konv-kwert,
kwert5 LIKE konv-kwert,
kbetr LIKE konv-kbetr,
vbeln_kp LIKE mkpf-xblnr, " likp-vbeln,
lfdat LIKE likp-lfdat,
wgbez LIKE t023t-wgbez,
spras LIKE t023t-spras,
bsart LIKE ekko-bsart,
aedat LIKE ekko-aedat,
**********************modification additioon of chapter ID 30.04.2007
j_1ichid LIKE j_1imtchid-j_1ichid ,
**********************modification additioon of chapter ID 30.04.2007
total TYPE p DECIMALS 2,
mvgr1 LIKE mvke-mvgr1,
werks LIKE t001w-werks, "Number of the document condition
kunnr LIKE t001w-kunnr, "Condition value
name1 LIKE t001w-name1, "Condition type
name2 LIKE t001w-name2, "Condition item number
werks1 LIKE t001w-werks, "Number of the document condition
kunnr1 LIKE t001w-kunnr, "Condition value
name11 LIKE t001w-name1, "Condition type
name21 LIKE t001w-name2,
exnum LIKE j_1iexchdr-exnum, "Material Number
exdat LIKE j_1iexchdr-exdat, "Chapter ID
rdoc LIKE j_1iexchdr-rdoc,
bom TYPE p DECIMALS 4,
mult TYPE p DECIMALS 4,
bezie LIKE tvm1t-bezei,
length(5) TYPE n,
breath(5) TYPE n,
bldat LIKE likp-bldat, " document date
size(15) TYPE p DECIMALS 2,
area(15) TYPE p DECIMALS 2,
mblnr TYPE mseg-mblnr, "Number of Material Document
mjahr TYPE mseg-mjahr, "Material Document Year
budat TYPE mkpf-budat, "Posting period
w_flag TYPE c,
flag TYPE c,
END OF t_final.
DATA : BEGIN OF t_temp OCCURS 0,
kunag LIKE vbrk-kunag,
vbeln_k LIKE vbrk-vbeln,
fkdat LIKE vbrk-fkdat,
knumv LIKE vbrk-knumv,
fkart LIKE vbrk-fkart,
vtweg LIKE vbrk-vtweg,
vkorg LIKE vbrk-vkorg,
vbeln LIKE likp-vbeln, "Delivery
vbeln_p LIKE vbrp-vbeln,
vstel LIKE vbrp-vstel,
"vgbel like mkpf-xblnr,
vgbel LIKE vbrp-vgbel,
aubel LIKE vbrp-aubel,
matnr LIKE vbrp-matnr,
arktx LIKE vbrp-arktx,
matkl LIKE vbrp-matkl,
fkimg LIKE vbrp-fkimg,
posnr LIKE vbrp-posnr,
vrkme LIKE vbrp-vrkme,
matnr_m LIKE mara-matnr,
mtart LIKE mara-mtart,
wrkst LIKE mara-wrkst,
extwg LIKE mara-extwg,
labor LIKE mara-labor,
normt LIKE mara-normt,
bismt LIKE mara-bismt,
spart LIKE mara-spart,
meins LIKE mara-meins,
kposn LIKE konv-kposn,
kschl LIKE konv-kschl,
kwert LIKE konv-kwert,
kwert1 LIKE konv-kwert,
kwert2 LIKE konv-kwert,
kwert3 LIKE konv-kwert,
kwert4 LIKE konv-kwert,
kwert5 LIKE konv-kwert,
kbetr LIKE konv-kbetr,
vbeln_kp LIKE mkpf-xblnr, " likp-vbeln,
lfdat LIKE likp-lfdat,
wgbez LIKE t023t-wgbez,
spras LIKE t023t-spras,
bsart LIKE ekko-bsart,
aedat LIKE ekko-aedat,
**********************modification additioon of chapter ID 30.04.2007
j_1ichid LIKE j_1imtchid-j_1ichid ,
**********************modification additioon of chapter ID 30.04.2007
total TYPE p DECIMALS 2,
mvgr1 LIKE mvke-mvgr1,
werks LIKE t001w-werks, "Number of the document condition
kunnr LIKE t001w-kunnr, "Condition value
name1 LIKE t001w-name1, "Condition type
name2 LIKE t001w-name2, "Condition item number
werks1 LIKE t001w-werks, "Number of the document condition
kunnr1 LIKE t001w-kunnr, "Condition value
name11 LIKE t001w-name1, "Condition type
name21 LIKE t001w-name2,
exnum LIKE j_1iexchdr-exnum, "Material Number
exdat LIKE j_1iexchdr-exdat, "Chapter ID
rdoc LIKE j_1iexchdr-rdoc,
bom TYPE p DECIMALS 4,
mult TYPE p DECIMALS 4,
bezie LIKE tvm1t-bezei,
length(5) TYPE n,
breath(5) TYPE n,
size(15) TYPE p DECIMALS 2,
area(15) TYPE p DECIMALS 2,
mblnr TYPE mseg-mblnr, "Number of Material Document
mjahr TYPE mseg-mjahr, "Material Document Year
budat TYPE mkpf-budat, "Posting period
END OF t_temp.
DATA : BEGIN OF it_mseg OCCURS 0,
werks LIKE mseg-werks,
matnr LIKE mseg-matnr,
ebeln LIKE mseg-ebeln,
mblnr TYPE mseg-mblnr, "Number of Material Document
mjahr TYPE mseg-mjahr, "Material Document Year
END OF it_mseg.
DATA : BEGIN OF it_mkpf OCCURS 0,
budat TYPE mkpf-budat,
mblnr TYPE mkpf-mblnr,
tcode2 LIKE mkpf-tcode2,
" xblnr(10) TYPE C,
xblnr LIKE likp-vbeln, "Delivery
END OF it_mkpf.
DATA : BEGIN OF it_vbuk OCCURS 0,
vbeln LIKE vbuk-vbeln,
wbstk LIKE vbuk-wbstk,
END OF it_vbuk.
DATA : it_vbrk LIKE t_vbrk OCCURS 0 WITH HEADER LINE.
DATA : it_vbrp LIKE t_vbrp OCCURS 0 WITH HEADER LINE.
DATA : it_mara LIKE t_mara OCCURS 0 WITH HEADER LINE.
TYPES : w_str TYPE string,
str TYPE string.
* WORK AREAS *
DATA: wa_vbrk LIKE t_vbrk. "WORK AREA FOR VBRK
DATA: wa_vbrp LIKE t_vbrp. "WORK AREA FOR VBRP
DATA: wa_mara LIKE t_mara. "WORK AREA FOR MARA
DATA: wa_sfinal LIKE t_temp. "WORK AREA FOR T_FINAL
DATA: wa_sfinal1 LIKE t_final. "WORK AREA FOR T_FINAL
DATA: wa_mseg LIKE it_mseg. "Workarea for internal table mseg
DATA : wa_vbeln LIKE t_vbrk-vbeln.
DATA: wa_mkpf LIKE it_mkpf. "Workarea for internal table mkpf
* ALV *
DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat LIKE LINE OF it_fieldcat,
it_top_of_page TYPE slis_t_listheader,
ls_layout TYPE slis_layout_alv,
gt_events TYPE slis_t_event.
* SELECTION-SCREEN *
SELECTION-SCREEN BEGIN OF BLOCK detail WITH FRAME TITLE text-000.
SELECT-OPTIONS: supp_pnt FOR vbrp-vstel OBLIGATORY. "SUPPLYING PLANT
SELECT-OPTIONS: recv_pnt FOR vbrk-kunag OBLIGATORY. "RECEIVING PLANT
SELECT-OPTIONS: period FOR vbrk-fkdat OBLIGATORY. "PERIOD
SELECT-OPTIONS: budat FOR mkpf-budat. " MIGO DATE
SELECTION-SCREEN END OF BLOCK detail.
* START-OF-SELECTION *
***********************************POPULATING DATA
PERFORM populating_data.
**********************************MOVE DATA
PERFORM move_data.
*********************************DATA- FETCHING
PERFORM data_fetching.
*********************************GET ALV DATA
PERFORM alv_get_data.
*********************************ALV GRID DATA
PERFORM alv_grid.
*********************************TOP OF PAGE
PERFORM top_of_page.
* VALIDATION OF SELECTION SCREEN *
AT SELECTION-SCREEN ON period.
IF period-high IS INITIAL.
MESSAGE e001(zamit).
ENDIF.
* SELECTION OF DATA *
FORM populating_data.
*************POPULATING DATA FROM VBRK
CLEAR t_vbrk.
REFRESH t_vbrk.
SELECT kunag
vbeln
fkdat
knumv
fkart
vtweg
vkorg
erzet
FROM vbrk INTO TABLE t_vbrk
WHERE kunag IN recv_pnt AND
fkdat IN period AND
fkart = 'JEX' OR
fkart = 'F8' AND
vtweg = '10' AND
vkorg = '1000'.
DELETE t_vbrk[] WHERE fkdat = '' .
DELETE t_vbrk[] WHERE fkdat NOT IN period.
DELETE t_vbrk[] WHERE kunag NOT IN recv_pnt.
IF t_vbrk[] IS INITIAL.
MESSAGE i002(zamit).
LEAVE LIST-PROCESSING.
ENDIF.
DELETE t_vbrk WHERE fkdat NOT IN period.
*DATA: l_tabix TYPE sy-tabix. " declare the sy-tabix as local variable
*DATA: l_lines TYPE sy-tabix.
*DATA: l_index TYPE sy-tabix.
*"SORT T_VBRK DESCENDING BY vbeln.
*SORT T_VBRK ASCENDING BY vbeln fkart .
*DESCRIBE TABLE t_vbrk LINES l_lines . "The current number of table rows of the internal table itab is determined and is assigned to the data object lin
*CHECK l_lines > 1. " check lines are greater than 1
*LOOP AT t_vbrk.
* l_tabix = sy-tabix. " assine Index of Internal Tables into local var l_tabix
* l_index = l_tabix + 1.
* IF t_vbrk-fkart = 'F8'. " loop on the temp table
*READ TABLE t_vbrk INTO wa_vbrk INDEX l_index. " read the temp table with index l_index
*IF sy-subrc = 0.
*CHECK t_vbrk-vbeln < wa_vbrk-vbeln .
* if sy-subrc = 0.
* t_vbrk-W_FLAG = 'X'.
* MODIFY t_vbrk TRANSPORTING W_FLAG.
*endif.
* endif.
*else.
* exit.
*endif.
*endloop.
*LOOP at t_vbrk.
*DELETE t_vbrk WHERE w_flag = 'X' .
*endloop.
*" change by kalika dated 28.06.2007
**" change by kalika dated 28.06.2007
*************POPULATING DATA FROM VBRP
IF t_vbrk[] IS NOT INITIAL.
CLEAR t_vbrp.
REFRESH t_vbrp.
SELECT vbeln
vstel
vgbel
aubel
matnr
arktx
matkl
fkimg
werks
posnr
vrkme
FROM vbrp INTO TABLE t_vbrp
FOR ALL ENTRIES IN t_vbrk
WHERE vbeln = t_vbrk-vbeln
AND vstel IN supp_pnt .
ENDIF.
IF sy-subrc <> 0.
MESSAGE i000(zamit).
LEAVE LIST-PROCESSING.
ENDIF.
IF t_vbrp[] IS NOT INITIAL.
SELECT vbeln wbstk FROM vbuk
INTO TABLE it_vbuk FOR ALL ENTRIES IN
t_vbrp WHERE vbeln = t_vbrp-vgbel.
ENDIF.
"DELETE t_vbrp[] WHERE vstel NOT in supp_pnt. " by kalika
*************POPULATING DATA FROM MARA
it_vbrp[] = t_vbrp[].
" it_vbrp-vgbel1 = t_vbrp-vgbel.
"SORT it_vbrp BY matnr.
SORT t_vbrp BY vbeln.
" DELETE ADJACENT DUPLICATES FROM it_vbrp COMPARING matnr . by kalika
* IF t_vbrp IS NOT INITIAL.
CLEAR t_mara.
REFRESH t_mara.
SELECT matnr
mtart
wrkst
extwg
labor
normt
bismt
matkl
spart
meins
FROM mara INTO TABLE t_mara
FOR ALL ENTRIES IN it_vbrp WHERE
matnr = it_vbrp-matnr .
* ENDIF.
*************POPULATING DATA FROM KONV
it_vbrk[] = t_vbrk[].
SORT it_vbrk BY knumv .
DELETE ADJACENT DUPLICATES FROM it_vbrk COMPARING knumv .
CLEAR t_konv.
REFRESH t_konv.
SELECT knumv
kposn
kschl
kwert
kbetr
FROM konv INTO TABLE t_konv
FOR ALL ENTRIES IN it_vbrk
WHERE knumv = it_vbrk-knumv.
DELETE t_konv WHERE
kschl <> 'ZR02'
AND kschl <> 'JEXP'
AND kschl <> 'JECS'
AND kschl <> 'DIFF'.
*************POPULATING DATA FROM LIKP
it_vbrp[] = t_vbrp[].
SORT it_vbrp BY vgbel.
" DELETE ADJACENT DUPLICATES FROM it_vbrp COMPARING vgbel . by kalika
CLEAR t_likp.
REFRESH t_likp.
SELECT vbeln
lfdat
bldat " NEW CHANGE
FROM likp INTO CORRESPONDING FIELDS OF TABLE t_likp
FOR ALL ENTRIES IN it_vbrp
WHERE vbeln = it_vbrp-vgbel.
*************POPULATING DATA FROM T023T
it_mara[] = t_mara[].
SORT it_mara BY matkl .
DELETE ADJACENT DUPLICATES FROM it_mara COMPARING matkl.
CLEAR t_t023t.
REFRESH t_t023t.
IF t_mara[] IS NOT INITIAL.
SELECT matkl
wgbez
spras
FROM t023t INTO TABLE t_t023t
FOR ALL ENTRIES IN it_mara
WHERE matkl = it_mara-matkl AND
spras = sy-langu.
ENDIF.
*************POPULATING DATA FROM EKKO
it_vbrp[] = t_vbrp[].
SORT it_vbrp BY aubel.
" DELETE ADJACENT DUPLICATES FROM it_vbrp COMPARING aubel. by kalika
CLEAR t_ekko.
REFRESH t_ekko.
SELECT ebeln
bsart
aedat
knumv
FROM ekko
INTO TABLE t_ekko
FOR ALL ENTRIES IN it_vbrp
WHERE ebeln = it_vbrp-aubel
AND bsart LIKE 'U%'.
************************delete invoice where it is being deleted from the system
*SELECT ebeln loekz
* FROM ekpo
* INTO CORRESPONDING FIELDS OF TABLE t_ekpo
* FOR ALL ENTRIES IN t_ekko
* WHERE ebeln = t_ekko-ebeln.
*DELETE t_ekpo WHERE loekz = 'L'.
*************POPULATING DATA FROM t001w
it_vbrp[] = t_vbrp[].
SORT it_vbrp BY werks.
" DELETE ADJACENT DUPLICATES FROM it_vbrp COMPARING werks . by kalika
CLEAR t_t001w.
REFRESH t_t001w.
SELECT werks
name1
kunnr
name2
FROM t001w INTO TABLE t_t001w
FOR ALL ENTRIES IN it_vbrp
WHERE werks = it_vbrp-werks .
it_vbrk[] = t_vbrk[].
SORT it_vbrk BY kunag.
DELETE ADJACENT DUPLICATES FROM it_vbrk COMPARING kunag .
CLEAR t_t001w2.
REFRESH t_t001w2.
SELECT werks
name1
kunnr
name2
FROM t001w INTO TABLE t_t001w2
FOR ALL ENTRIES IN it_vbrk
WHERE kunnr = it_vbrk-kunag .
*--------POPULATING DATA FROM MARM
SELECT matnr
meinh
umrez
umren FROM marm INTO TABLE t_marm
FOR ALL ENTRIES IN t_mara
WHERE matnr = t_mara-matnr.
*********************POPULATING DATA FROM MVKE
CLEAR t_mvke.
REFRESH t_mvke.
SELECT matnr
mvgr1
FROM mvke INTO TABLE t_mvke
FOR ALL ENTRIES IN t_vbrp
WHERE matnr = t_vbrp-matnr .
*-----------------POPULATING DATA FROM TVM1T.
SELECT
mvgr1 bezei FROM tvm1t
INTO TABLE t_tvm1t FOR ALL ENTRIES IN t_mvke
WHERE mvgr1 = t_mvke-mvgr1.
**********************modification additioon of chapter ID 30.04.2007
*-----------------POPULATING DATA FROM j_1imtchid.
CLEAR t_j_1imtchid.
REFRESH t_j_1imtchid.
SELECT matnr
j_1ichid
FROM j_1imtchid INTO TABLE t_j_1imtchid
FOR ALL ENTRIES IN t_vbrp
WHERE matnr = t_vbrp-matnr .
*-----------------POPULATING DATA FROM j_1iexchdr.
CLEAR t_j_1iexchdr.
REFRESH t_j_1iexchdr.
SELECT exnum
exdat
rdoc
werks
trntyp
status
FROM j_1iexchdr INTO TABLE t_j_1iexchdr
FOR ALL ENTRIES IN t_vbrp
WHERE rdoc = t_vbrp-vbeln
AND werks = t_vbrp-werks
AND trntyp = 'DLFC' . " by kalika
DELETE t_j_1iexchdr WHERE status = 'R' . " by kalika
DELETE t_j_1iexchdr WHERE status = 'B' . " by kalika
SORT t_j_1iexchdr BY rdoc.
***************end of modification additioon of chapter ID 30.04.2007
******* start of modification kalika dated 19.06.2007
LOOP AT t_likp.
t_likp-vbeln_kp = t_likp-vbeln.
MODIFY t_likp.
ENDLOOP.
* SELECT budat mblnr xblnr tcode2
* FROM mkpf
* INTO CORRESPONDING FIELDS OF TABLE it_mkpf
* FOR ALL ENTRIES IN t_likp
* WHERE xblnr = t_likp-vbeln_kp
* AND tcode2 LIKE 'MIGO_GR'
* AND budat IN budat. "26.07.2007
SELECT ebeln mblnr FROM mseg
INTO CORRESPONDING FIELDS OF TABLE it_mseg
FOR ALL ENTRIES IN t_vbrp
WHERE ebeln = t_vbrp-aubel AND mblnr LIKE '5%'.
SELECT budat mblnr tcode2
FROM mkpf
INTO CORRESPONDING FIELDS OF TABLE it_mkpf
FOR ALL ENTRIES IN it_mseg
WHERE mblnr = it_mseg-mblnr
AND tcode2 LIKE 'MIGO_GR'
AND budat IN budat. "26.07.2007
*loop at it_mkpf.
*DELETE it_mkpf WHERE mblnr = '4'.
*MODIFY it_mkpf.
*ENDLOOP.
ENDFORM. "populating_data
* FORM MOVE_DATA. *
FORM move_data.
CLEAR t_final.
REFRESH t_final.
SORT : t_vbrp BY vbeln,
t_vbrk BY vbeln,
t_mara BY matnr,
t_likp BY vbeln,
t_ekko BY ebeln,
t_t023t BY matkl,
t_konv BY knumv,
t_mvke BY matnr,
t_t001w BY werks,
t_t001w2 BY kunnr,
t_tvm1t BY mvgr1,
t_j_1iexchdr BY rdoc,
t_j_1imtchid BY matnr,
t_j_1iexchdr BY rdoc werks,
" it_mkpf by mblnr,
it_mseg BY mblnr,
it_mkpf BY mblnr,
it_vbuk BY vbeln.
CLEAR t_vbrp.
LOOP AT t_vbrp.
t_final-vstel = t_vbrp-vstel.
t_final-vgbel = t_vbrp-vgbel.
t_final-aubel = t_vbrp-aubel.
t_final-matnr = t_vbrp-matnr.
t_final-arktx = t_vbrp-arktx.
t_final-matkl = t_vbrp-matkl.
t_final-fkimg = t_vbrp-fkimg.
t_final-posnr = t_vbrp-posnr.
t_final-vrkme = t_vbrp-vrkme.
" t_vbrp-vgbel1 = t_vbrp-vgbel.
READ TABLE it_vbuk WITH KEY vbeln = t_vbrp-vgbel BINARY SEARCH.
IF sy-subrc = 0.
t_final-flag = it_vbuk-wbstk.
ENDIF.
CLEAR t_vbrk.
READ TABLE t_vbrk WITH KEY vbeln = t_vbrp-vbeln
BINARY SEARCH.
IF sy-subrc = 0.
t_final-kunag = t_vbrk-kunag.
t_final-vbeln_k = t_vbrk-vbeln.
t_final-fkdat = t_vbrk-fkdat.
t_final-fkart = t_vbrk-fkart.
t_final-knumv = t_vbrk-knumv.
ENDIF.
CLEAR t_mara.
READ TABLE t_mara WITH KEY matnr = t_vbrp-matnr BINARY SEARCH.
IF sy-subrc = 0.
t_final-mtart = t_mara-mtart.
t_final-wrkst = t_mara-wrkst.
t_final-extwg = t_mara-extwg.
t_final-labor = t_mara-labor.
t_final-normt = t_mara-normt.
t_final-bismt = t_mara-bismt.
t_final-spart = t_mara-spart.
t_final-meins = t_mara-meins.
SPLIT t_final-bismt AT '*' INTO t_final-length t_final-breath.
IF t_final-bismt = ''.
t_final-size = ''.
ELSE.
t_final-size = t_vbrp-fkimg * ( t_final-length * t_final-breath ) / 1000000.
ENDIF.
ENDIF.
CLEAR t_konv.
READ TABLE t_konv WITH KEY knumv = t_vbrk-knumv BINARY SEARCH.
IF sy-subrc = 0.
t_final-kschl = t_konv-kschl.
ENDIF.
CLEAR t_likp.
READ TABLE t_likp WITH KEY vbeln = t_vbrp-vgbel BINARY SEARCH.
IF sy-subrc = 0.
t_final-lfdat = t_likp-lfdat.
t_final-bldat = t_likp-bldat. " NEW CHANGE
t_final-vbeln_kp = t_likp-vbeln.
ENDIF.
CLEAR t_ekko.
READ TABLE t_ekko WITH KEY ebeln = t_vbrp-aubel BINARY SEARCH.
IF sy-subrc = 0.
t_final-aedat = t_ekko-aedat.
ENDIF.
CLEAR t_t023t.
READ TABLE t_t023t WITH KEY matkl = t_vbrp-matkl BINARY SEARCH.
IF sy-subrc = 0.
t_final-wgbez = t_t023t-wgbez.
ENDIF.
CLEAR t_t001w.
READ TABLE t_t001w WITH KEY werks = t_vbrp-werks BINARY SEARCH.
IF sy-subrc = 0.
t_final-name1 = t_t001w-name1.
ENDIF.
CLEAR t_t001w2.
READ TABLE t_t001w2 WITH KEY kunnr = t_vbrk-kunag BINARY SEARCH.
IF sy-subrc = 0.
t_final-name21 = t_t001w2-name2.
ENDIF.
READ TABLE t_mvke WITH KEY matnr = t_vbrp-matnr BINARY SEARCH.
IF sy-subrc = 0.
t_final-mvgr1 = t_mvke-mvgr1.
ENDIF.
READ TABLE t_tvm1t WITH KEY mvgr1 = t_mvke-mvgr1 BINARY SEARCH.
IF sy-subrc = 0.
t_final-bezie = t_tvm1t-bezie.
ENDIF.
**********************modification additioon of chapter ID 30.04.2007
READ TABLE t_j_1imtchid WITH KEY matnr = t_vbrp-matnr BINARY SEARCH.
IF sy-subrc = 0.
t_final-j_1ichid = t_j_1imtchid-j_1ichid.
ENDIF.
READ TABLE t_j_1iexchdr WITH KEY rdoc = t_vbrp-vbeln
werks = t_vbrp-werks
BINARY SEARCH.
IF sy-subrc = 0.
t_final-exnum = t_j_1iexchdr-exnum.
t_final-exdat = t_j_1iexchdr-exdat.
t_final-rdoc = t_j_1iexchdr-rdoc.
t_final-werks = t_j_1iexchdr-werks.
ENDIF.
**************end of modification additioon of chapter ID 30.04.2007
"******** START OF MODIFICATION KALIKA 26.07.2007.
READ TABLE it_mseg INTO wa_mseg WITH KEY ebeln = t_vbrp-aubel.
IF sy-subrc = 0.
t_final-mblnr = wa_mseg-mblnr.
ENDIF.
"INTO wa_mkpf
READ TABLE it_mkpf WITH KEY mblnr = t_final-mblnr
tcode2 = 'MIGO_GR'.
IF sy-subrc = 0.
t_final-budat = it_mkpf-budat.
ENDIF.
APPEND t_final.
CLEAR t_final.
ENDLOOP.
DELETE t_final[] WHERE flag = 'A' OR flag = ''. "change by amit for reverse deliveries as rkp.
DELETE t_final WHERE fkdat = ' ' .
DELETE t_final[] WHERE kunag NOT IN recv_pnt.
DELETE t_final[] WHERE vstel NOT IN supp_pnt.
DELETE t_final[] WHERE fkart = 'JEX' AND exnum = ' '. " CHANGE BY KALIKA
" FOR INVOICE WHOSE EXCISE NOT MAINTAINED
IF t_final[] IS INITIAL.
MESSAGE i002(zamit).
LEAVE LIST-PROCESSING.
ENDIF.
*---------------MARM CALCULATION
SORT t_marm BY matnr meinh.
DELETE t_marm WHERE meinh = 'M2'.
SORT t_marm BY matnr.
LOOP AT t_final.
READ TABLE t_marm WITH KEY matnr = t_final-matnr." T_MARM-MEINH <> 'M2'.
t_final-bom = ( t_marm-umrez / t_marm-umren ).
MODIFY t_final TRANSPORTING bom.
t_final-mult = t_final-bom * t_final-fkimg.
MODIFY t_final TRANSPORTING mult.
CLEAR t_final.
ENDLOOP.
*--------------------delivery no.
*-------------------beginning of adding na*******
LOOP AT t_final.
" *** change by kalika
IF t_final-matkl EQ 'BWGRBBD'
OR t_final-matkl = 'BWGRBPD'
OR t_final-matkl = 'BWGRCLB'
OR t_final-matkl = 'BWGRCMD'
OR t_final-matkl = 'BWGRGFB'
OR t_final-matkl = 'BWGRGFC'
OR t_final-matkl = 'BWGRGFO'
OR t_final-matkl = 'GRNLAM'
OR t_final-matkl = 'DVNRTKBB'
OR t_final-matkl = 'MRETBBD'
OR t_final-matkl = 'MRGRBBD'
OR t_final-matkl = 'MRGRCMD'
OR t_final-matkl = 'MRRBBD'
OR t_final-matkl = 'PLAMGBSD'
OR t_final-matkl = 'BWETBBD'
OR t_final-matkl = 'PLAMGOSD'.
* "LOOP AT t_final WHERE matkl = 'BWGRBBD'
*OR matkl = 'BWGRBPD'
*OR matkl = 'BWGRCLB'
*OR matkl = 'BWGRCMD'
*OR matkl = 'BWGRGFB'
*OR matkl = 'BWGRGFC'
*OR matkl = 'BWGRGFO'
*OR matkl = 'GRNLAM'
*OR matkl = 'DVNRTKBB'
*OR matkl = 'MRETBBD'
*OR matkl = 'MRGRBBD'
*OR matkl = 'MRGRCMD'
*OR matkl = 'MRRBBD'
*OR matkl = 'PLAMGBSD'
*OR matkl = 'BWETBBD'
*OR matkl = 'PLAMGOSD'.
*** change by kalika
t_final-area = ( t_final-size * 15 ) / 10 .
MODIFY t_final TRANSPORTING area.
ELSE.
t_final-area = ( t_final-normt * t_final-size ) / 4. "t_final-bom
MODIFY t_final TRANSPORTING area.
ENDIF.
ENDLOOP.
"*** change by kalika
" ** start Division Specific FA & NA to be displayed by kalika
LOOP AT t_final.
IF t_final-spart = 'LM' .
t_final-area = space.
ENDIF.
IF t_final-spart = 'DD'.
t_final-area = space.
ENDIF.
MODIFY t_final.
ENDLOOP.
* " ** end Division Specific FA & NA to be displayed by kalika
* LOOP AT t_final WHERE matkl = 'BWETPLY'
* OR matkl = 'BWGRCHQ'
* OR matkl = 'BWGRCLP'
* OR matkl = 'BWGRCMG'
* OR matkl = 'BWGRFLX'
* OR matkl = 'BWGRFRP'
* OR matkl = 'BWGRGCP'
* OR matkl = 'BWGRPCT'
* OR matkl = 'BWGRPLY'
* OR matkl = 'BWGRSHT'
* OR matkl = 'MRGRPLY'
* OR matkl = 'MRTPLY'.
* t_final-area = ( t_final-normt * t_final-bom ) / 4.
* MODIFY t_final.
* ENDLOOP.
*-------------------ending of adding na**********
ENDFORM. " move_data.
* data_fetching *
FORM data_fetching.
*------ASSESSIBLE VALUE
SORT t_final BY knumv.
SORT t_konv BY knumv kposn.
CLEAR t_final.
CLEAR t_konv.
LOOP AT t_konv.
IF t_konv-kschl = 'ZR02'.
READ TABLE t_final WITH KEY knumv = t_konv-knumv posnr = t_konv-kposn.
t_final-kwert1 = t_konv-kwert.
t_final-kbetr = t_konv-kbetr.
IF sy-tabix <> 0.
MODIFY t_final INDEX sy-tabix TRANSPORTING kwert1 kbetr.
CLEAR t_final.
CLEAR t_konv.
ENDIF.
ENDIF.
*-----EXICESE
IF t_konv-kschl = 'JEXP'.
READ TABLE t_final WITH KEY knumv = t_konv-knumv posnr = t_konv-kposn.
t_final-kwert2 = t_konv-kwert.
IF sy-tabix <> 0.
MODIFY t_final INDEX sy-tabix TRANSPORTING kwert2.
CLEAR t_final.
CLEAR t_konv.
ENDIF.
ENDIF.
*-------CESS
IF t_konv-kschl = 'JECS'.
READ TABLE t_final WITH KEY knumv = t_konv-knumv posnr = t_konv-kposn.
t_final-kwert3 = t_konv-kwert.
IF sy-tabix <> 0.
MODIFY t_final INDEX sy-tabix TRANSPORTING kwert3.
CLEAR t_final.
CLEAR t_konv.
ENDIF.
ENDIF.
*-----ROUNDING
IF t_konv-kschl = 'DIFF'.
READ TABLE t_final WITH KEY knumv = t_konv-knumv posnr = t_konv-kposn.
t_final-kwert4 = t_konv-kwert.
IF sy-tabix <> 0.
MODIFY t_final INDEX sy-tabix TRANSPORTING kwert4.
CLEAR t_final.
CLEAR t_konv.
ENDIF.
ENDIF.
ENDLOOP.
****************TOTAL OF ALL VALUES
LOOP AT t_final.
t_final-total = t_final-kwert1 + t_final-kwert2 + t_final-kwert3 + t_final-kwert4.
MODIFY t_final INDEX sy-tabix TRANSPORTING total .
CLEAR t_final.
ENDLOOP.
*--------------delivery calculation.
" start change by kalika
DELETE t_final WHERE total = ' '. " BY KALIKA
" end change by kalika
LOOP AT t_final.
t_temp-vbeln_k = t_final-vbeln_k.
t_temp-vgbel = t_final-vgbel.
t_temp-fkart = t_final-fkart.
t_temp-kunag = t_final-kunag.
APPEND t_temp.
CLEAR t_temp.
ENDLOOP.
SORT t_temp DESCENDING BY vbeln_k .
SORT t_temp BY vgbel.
LOOP AT t_final.
READ TABLE t_temp WITH KEY vgbel = t_final-vgbel.
t_final-vbeln_k = t_temp-vbeln_k.
*---change by amit for validating migi date by amit
if t_final-budat = 0.
t_final-mblnr = ''.
endif.
*---change by amit for validating migi date by amit
MODIFY t_final TRANSPORTING vbeln_k mblnr.
CLEAR t_final.
ENDLOOP.
" start KALIKA 30.06.2007.
"SORT t_final STABLE DESCENDING by fkart fkdat. "plz kalika do not forbid stable even it doent any effect this case but in future when large amount of data in production it will works.
SORT t_final STABLE ASCENDING BY fkart fkdat. "plz kalika do not forbid stable even it doent any effect this case but in future when large amount of data in production it will works.
DATA: l_tabix TYPE sy-tabix. " declare the sy-tabix as local variable
DATA: l_lines TYPE sy-tabix.
DATA: l_index TYPE sy-tabix.
DESCRIBE TABLE t_final LINES l_lines . "The current number of table rows of the internal table itab is determined and is assigned to the data object lin
CHECK l_lines > 1. " check lines are greater than 1
LOOP AT t_final WHERE fkart = 'F8'.
l_tabix = sy-tabix. " assine Index of Internal Tables into local var l_tabix
l_index = l_tabix + 1.
READ TABLE t_final INTO wa_sfinal1 INDEX l_index. " read the temp table with index l_index
IF sy-subrc = 0.
CHECK t_final-vgbel = wa_sfinal1-vgbel AND t_final-knumv NE wa_sfinal1-knumv.
IF sy-subrc = 0.
t_final-w_flag = 'X'.
MODIFY t_final TRANSPORTING w_flag.
ENDIF.
ENDIF.
ENDLOOP.
"DELETE ADJACENT DUPLICATES FROM t_final[] COMPARING fkart
DELETE t_final[] WHERE w_flag = 'X'.
" end KALIKA 30.06.2007.
*--change by amit for performa invoice deletion
DELETE t_final[] WHERE aedat = 0.
ENDFORM. " sub_CAL
* FORM ALV GET DATA FOR NOTIONAL AREA *
FORM alv_get_data .
CLEAR it_fieldcat.
***************** SUPPLYING PLANT
* wa_fieldcat-col_pos = '1'. " ALV O/P COL-1
wa_fieldcat-fieldname = 'VSTEL'.
wa_fieldcat-seltext_m = 'SUPPLYING PLANT'.
wa_fieldcat-just = 'L'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
wa_fieldcat-tabname = 'T_FINAL'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
***************** SUPPLYING PLANT
* wa_fieldcat-col_pos = '2'. " ALV O/P COL-1
wa_fieldcat-fieldname = 'NAME1'.
wa_fieldcat-seltext_m = 'SUPP PLANT DESCRTN'.
wa_fieldcat-just = 'L'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 20.
wa_fieldcat-tabname = 'T_FINAL'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
******************** RECEIVING PLANT
* wa_fieldcat-col_pos = '3'. " ALV O/P COL-2
wa_fieldcat-fieldname = 'KUNAG'.
wa_fieldcat-seltext_m = 'RECEIVING PLANT'.
wa_fieldcat-just = 'L'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
******************** RECEIVING PLANT
* wa_fieldcat-col_pos = '4'. " ALV O/P COL-2
wa_fieldcat-fieldname = 'NAME21'.
wa_fieldcat-seltext_m = 'RECE PLNT DESCRTN'.
wa_fieldcat-just = 'L'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
***************** BILL NUMBER
* wa_fieldcat-col_pos = '5'. " ALV O/P COL-3
wa_fieldcat-fieldname = 'VBELN_K'.
wa_fieldcat-seltext_m = 'BILL NUMBER'.
wa_fieldcat-just = 'L'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
*******************BILL DATE
* wa_fieldcat-col_pos = '6'. " ALV O/P COL-4
wa_fieldcat-fieldname = 'FKDAT'.
wa_fieldcat-seltext_m = 'BILL DATE'.
wa_fieldcat-just = 'L'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
*********** OUT BOUND DELIVERY NO
* wa_fieldcat-col_pos = '7'. " ALV O/P COL-5
wa_fieldcat-fieldname = 'VGBEL'.
wa_fieldcat-seltext_m = 'OUT BOUND DELIVERY NO'.
wa_fieldcat-just = 'L'.
* wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-tabname = 'T_FINAL'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
*********** OUT BOUND DELIVERY DATE
** wa_fieldcat-col_pos = '8'. " ALV O/P COL-6
* wa_fieldcat-fieldname = 'LFDAT'.
* wa_fieldcat-seltext_m = 'OUT BOUND DELIVERY DATE'.
* wa_fieldcat-just = 'L'.
* wa_fieldcat-tabname = 'T_FINAL'.
* wa_fieldcat-outputlen = 15.
* APPEND wa_fieldcat TO it_fieldcat.
* CLEAR wa_fieldcat.
" * wa_fieldcat-col_pos = '8'. " ALV O/P COL-6
wa_fieldcat-fieldname = 'BLDAT'.
wa_fieldcat-seltext_m = 'DELIVERY DOC DATE'. " NEW CHANGE
wa_fieldcat-just = 'L'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
************* S.T.O. NO.
* wa_fieldcat-col_pos = '9'. " ALV O/P COL-6
wa_fieldcat-fieldname = 'AUBEL'.
wa_fieldcat-seltext_m = 'S.T.O. NO.'.
wa_fieldcat-just = 'L'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
*********** S.T.O. DATE
* wa_fieldcat-col_pos = '10'. " ALV O/P COL-6
wa_fieldcat-fieldname = 'AEDAT'.
wa_fieldcat-seltext_m = 'S.T.O. DATE'.
wa_fieldcat-just = 'L'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
************ DIVISION
* wa_fieldcat-col_pos = '11'. " ALV O/P COL-7
wa_fieldcat-fieldname = 'SPART'.
wa_fieldcat-seltext_m = 'DIVISION'.
wa_fieldcat-just = 'L'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
********** MATERIAL CODE
* wa_fieldcat-col_pos = '12'. " ALV O/P COL-9
wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-seltext_m = 'MATERIAL CODE'.
wa_fieldcat-just = 'L'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-outputlen = 20.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
************ DESCRIPTION
* wa_fieldcat-col_pos = '13'. " ALV O/P COL-10
wa_fieldcat-fieldname = 'ARKTX'.
wa_fieldcat-seltext_m = 'DESCRIPTION'.
wa_fieldcat-just = 'R'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
**************MATERIAL TYPE
* wa_fieldcat-col_pos = '14'. " ALV O/P COL-11
wa_fieldcat-fieldname = 'MTART'.
wa_fieldcat-seltext_m = 'MATERIAL TYPE'.
wa_fieldcat-just = 'R'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
************MATERIAL GROUP
* wa_fieldcat-col_pos = '15'. " ALV O/P COL-13
wa_fieldcat-fieldname = 'MATKL'.
wa_fieldcat-seltext_m = 'MATERIAL GROUP'.
wa_fieldcat-just = 'R'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
*******************modification additioon of chapter ID 30.04.2007
******************chapterID
* wa_fieldcat-col_pos = '32'. " ALV O/P COL-27'.
wa_fieldcat-fieldname = 'J_1ICHID'.
wa_fieldcat-seltext_m = 'CHAPTER-ID'.
wa_fieldcat-just = 'R'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
* wa_fieldcat-col_pos = '33'. " ALV O/P COL-27'.
wa_fieldcat-fieldname = 'EXNUM'.
wa_fieldcat-seltext_m = 'EXCISE DOC.NO.'.
wa_fieldcat-just = 'R'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
* wa_fieldcat-col_pos = '34'. " ALV O/P COL-27'.
wa_fieldcat-fieldname = 'EXDAT'.
wa_fieldcat-seltext_m = 'EXCISE DOC.DATE'.
wa_fieldcat-just = 'R'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
***************end of modification additioon of chapter ID 30.04.2007
*********SUB GROUP
* wa_fieldcat-col_pos = '16'. " ALV O/P COL-13
wa_fieldcat-fieldname = 'MVGR1'.
wa_fieldcat-seltext_m = 'SUB GROUP'.
wa_fieldcat-just = 'R'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
* wa_fieldcat-col_pos = '16'. " ALV O/P COL-13
wa_fieldcat-fieldname = 'BEZIE'.
wa_fieldcat-seltext_m = 'SUB GROUP DISCRP'.
wa_fieldcat-just = 'R'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
***************GROUP DISCRIPTION
* wa_fieldcat-col_pos = '17'. " ALV O/P COL-14
wa_fieldcat-fieldname = 'WGBEZ'.
wa_fieldcat-seltext_m = 'GROUP DISCRIPTION'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-just = 'R'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
*****************FINISH
* wa_fieldcat-col_pos = '18'. " ALV O/P COL-15
wa_fieldcat-fieldname = 'WRKST'.
wa_fieldcat-seltext_m = 'FINISH'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-just = 'R'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
*****************sale u o m
* wa_fieldcat-col_pos = '19'. " ALV O/P COL-15
wa_fieldcat-fieldname = 'VRKME'.
wa_fieldcat-seltext_m = 'SALE U O M'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-just = 'R'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
*****************BASE u o m
* wa_fieldcat-col_pos = '19'. " ALV O/P COL-15
wa_fieldcat-fieldname = 'MEINS'.
wa_fieldcat-seltext_m = 'BASE U O M'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-just = 'R'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
**************DESIGN NO.
* wa_fieldcat-col_pos = '20'. " ALV O/P COL-17
wa_fieldcat-fieldname = 'EXTWG'.
wa_fieldcat-seltext_m = 'DESIGN NO.'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-just = 'R'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
*****************CATEGORY
* wa_fieldcat-col_pos = '21'. " ALV O/P COL-18
wa_fieldcat-fieldname = 'LABOR'.
wa_fieldcat-seltext_m = 'CATEGORY'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-just = 'R'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
**************THICKNESS
* wa_fieldcat-col_pos = '22'. " ALV O/P COL-19.
wa_fieldcat-fieldname = 'NORMT'.
wa_fieldcat-seltext_m = 'THICKNESS'.
wa_fieldcat-just = 'R'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
**************SIZE
* wa_fieldcat-col_pos = '23'. " ALV O/P COL-20.
wa_fieldcat-fieldname = 'BISMT'.
wa_fieldcat-seltext_m = 'SIZE'.
wa_fieldcat-just = 'R'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
****************BILLED QTY
* wa_fieldcat-col_pos = '24'. " ALV O/P COL-21.
wa_fieldcat-fieldname = 'FKIMG'.
wa_fieldcat-seltext_m = 'BILLED QTY'.
wa_fieldcat-just = 'R'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
**************RETE
* wa_fieldcat-col_pos = '26'. " ALV O/P COL-21.
wa_fieldcat-fieldname = 'BOM'.
wa_fieldcat-seltext_m = 'CONVERSION RATE'.
wa_fieldcat-just = 'R'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
******************MULT
* wa_fieldcat-col_pos = '32'. " ALV O/P COL-27'.
wa_fieldcat-fieldname = 'MULT'.
wa_fieldcat-seltext_m = 'BILLED QTY IN BUM'.
wa_fieldcat-just = 'R'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
**************RETE
* wa_fieldcat-col_pos = '25'. " ALV O/P COL-21.
wa_fieldcat-fieldname = 'KBETR'.
wa_fieldcat-seltext_m = 'RATE / BASE UOM'.
wa_fieldcat-just = 'R'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
**************ASSESSIBLE VALUE
* wa_fieldcat-col_pos = '27'. " ALV O/P COL-22.
wa_fieldcat-fieldname = 'KWERT1'.
wa_fieldcat-seltext_m = 'ASSESSIBLE VALUE'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-just = 'R'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
****************EXCISE
* wa_fieldcat-col_pos = '28'. " ALV O/P COL-23.
wa_fieldcat-fieldname = 'KWERT2'.
wa_fieldcat-seltext_m = 'EXCISE'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-just = 'R'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
*****************CESS
* wa_fieldcat-col_pos = '29'. " ALV O/P COL-24.
wa_fieldcat-fieldname = 'KWERT3'.
wa_fieldcat-seltext_m = 'CESS'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-just = 'R'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
******************ROUNDING
* wa_fieldcat-col_pos = '30'. " ALV O/P COL-26.
wa_fieldcat-fieldname = 'KWERT4'.
wa_fieldcat-seltext_m = 'ROUNDING'.
wa_fieldcat-just = 'R'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
******************TOTAL
* wa_fieldcat-col_pos = '31'. " ALV O/P COL-27'.
wa_fieldcat-fieldname = 'TOTAL'.
wa_fieldcat-seltext_m = 'TOTAL'.
wa_fieldcat-just = 'R'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'AREA'.
wa_fieldcat-seltext_m = 'NA'.
wa_fieldcat-just = 'R'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'MBLNR'.
wa_fieldcat-seltext_m = 'MIGO NO'.
wa_fieldcat-just = 'R'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'BUDAT'.
wa_fieldcat-seltext_m = 'MIGO DATE'.
wa_fieldcat-just = 'R'.
wa_fieldcat-tabname = 'T_FINAL'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
ENDFORM. " ALV_GET_DATA
* FORM ALV_GRID *
FORM alv_grid .
PERFORM fill_list_header USING it_top_of_page[].
PERFORM event-build USING gt_events[].
PERFORM fill_layout USING ls_layout.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout = ls_layout
it_fieldcat = it_fieldcat
it_events = gt_events[]
i_save = 'A'
TABLES
t_outtab -
Getting error while trying to get pending approval list from SOA server
Hi,
I have followed the steps mentioned in the following post to get the pending approval list from SOA server using java api's :
Using Java APIs for Oracle Human Workflows | Oracle Technologies Premier
But when I am running the java program I am getting the following error :
java.io.InvalidClassException: oracle.bpel.services.common.exception.ServicesException; local class incompatible: stream classdesc serialVersionUID = 1, local class serialVersionUID = -2263933888849127134
Please let me know how to solve this issue.
ThanksYou would need to spcify the JNDI path in a properties file or the like.
Suggestions here should help -
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial -
Material replication from R/3 to SRM - Issue with Material group
Hello All,
I am working on BADI PRODUCT_CUSTOMER2 and method MAP_R3_TO_CRM_MATERIALMaterial replication part from R/3 to SRM.
I am using a Ztable to map r/3 material group to SRM material group(Product category).
For example Material M1 with material group 100 is transferred to SRM. Material group(Product category) 100 exist in SRM, but I am changing the material group to 200 in the product_customer2 badi. its working fine.
In another scenario, Material with material M1 with material group 300. Material group(product category) 300 does not exist in SRM,
I am changing the material group to 200 in the bdoc, in the product_customer2 badi. It is not working. The LUW is failing in SMQ2 transaction with the error "Error in Mapping (Details: transaction SMW01)". The BDOC is failing with error "Category for material group 300 does not exist"
I tried to deactivate the badi PRODUCT_CUSTOMER2, even then the FM MAP_BAPIMTCS_AND_PROCESS is validating the material group from R/3.
I tried to change the material group 300 to the existing material group 200 at initial stage in debugging in function module MAP_BAPIMTCS_AND_PROCESS but still the bdoc is failing with error "No storage form defined for product type 01 / logical system".
I am doing my testing using the following steps.
1. change the material descriptioni in MM02 in R/3.
2. An item is displayed in the queue in SMQ2 in SRM.
3. I have debugged the LUW and analyzed my badi by setting breakpoint at method MAP_R3_TO_CRM_MATERIAL, its changing the material group in the bdoc properly.
that didnt work.
also i tried to change the material group in the function module MAP_BAPIMTCS_AND_PROCESS before the badi is called.
4. I am checking the BDOc status using tcode SMW01 and checking the material using tcode COMMPR01.
can someone tell me how I can change the R/3 material group to SRM material group at the time of mapping in SRM?
Thanks
Sathish PMHi find below for the product cat
Steps to create the product category in SRM:
1) Create MM material groups in ECC client. This will create a transport. Go to SRM Tcode R3AS and select the object u201CDNL_CUST_PROD1u201D from the list and run it. You can monitor the job using R3AM1 in SRM. This will bring the material group into SRM. This can be seen in TCode u201CCOMM_HIERARCHYu201D in SRM.
2) Once it is done. Go to IMG in SRM and go to path SRM> SRM server> Cross app biz settings> Account aassigmnet> Define GL code for Acc *** Cat and Prod Cat. Maintain the GL code against this prod cat for all the account assignment codes. This is client specific setting and need to be done in every client by opening it. This GL code is given in the form in ticket.
3) Do a test and check if the product category is available for procurement in SC.
Regards,
Satish
Maybe you are looking for
-
How to get the total number of occurrences based on the value of a column.
Hello everyone, This is the first time that I will ask question here on your forum but has been following several threads ever since. I guess that now is my turn to ask a question. So anyway here is the thing, I have a query that should return count
-
HT1339 Trying to reset iPod (classic 2nd generation)
when trying to reset iPod (4gb 2nd gen) i get a picture of a frowny face iPod and instructions to contact support. I plug the USB cable in, try to reset using iTunes, and my ipod is not recognized by computer (itunes or in My Computer). Any help?
-
How can i permanently delete my Apple iCloud E-Mail from my Apple Account?
I Have one Apple ID Account and bascily i want to delete my Apple iCloud E-Mail address permanently from my apple ID account. Please Help me. I am be very help to you.
-
Custom File Info Panel: Bridge Locks Up (trials, tribulations, woes)
o/ all! So I've spent the better part of this morning trying (for what I think is the fifth time this year) to get a custom file info panel installed properly. I've managed to successfully install a generic panel with most of the properties that I'd
-
We moved a database from HP/UX to linux, upgraded oracle from 11.2.0.1 to 11.2.0.3, and from filesystems to ASM. The new server has 32 cores and 500gb of memory. the old server has less than half of that. Queries take twice as long to run on the ne