Message Delivery Order

          Hi,
          I am looking to exactly match the order of delivery of the messages published
          to a topic to the order of delivery the messages are subscribed to by MDB listening
          to the topic. From the documentation, I could make out that this order of delivery
          is guaranteed by JMS for normal mode of operation, but it is not guaranteed for
          redelivered messages. I could find out from the previous postings in this forum
          that WLS 8.1 does guarantee the order of delivery even for redelivered and recovered
          messages but the previous versions do not. We are using WLS 6.1 and hence I can
          conclude that the order is not guaranteed for redelivered messages. I would like
          to know if there is any other way to achieve this guaranteed order of delivery.
          I was just thinking in the lines of configuring a destination key for the topic
          with JMSMessageId set to ascending so that it is always FIFO and setting the MessagesMaximum
          field for the MDB's connectionFactory to 1. Would that make sure that the order
          is maintained even for redelivered messages ?
          Please help.
          Thanks,
          Goutam.
          

          Saswati Mukherjee wrote:
          > Hi Tom,
          >
          > Thanks a lot for the information. In our case the MDB has to be transactional.
          > Meaning, if the processing of the message in the onMessage() of the MDB is not
          > as expected, then we should rollback that message and try to do the same processing
          > again. I am not sure if there is any other way to accomplish this other than making
          > the MDB transactional. If there is not, then I think the first option you have
          > mentioned is ruled out for our case. Please confirm.
          I think so, but I recommend seeing if you can get a second opinion.
          One thing you could try, but I'm not 100% sure if it would always
          work, would be to cache the message-id of the message you are
          rolling back. Then, keep forcing roll backs on subsequent
          messages until the cached message is received again. You might
          try raising this solution through customer support to see
          if you can get confirmation as to whether this would work.
          > Then I would try to explore
          > the second option you have mentioned, i.e. running the MDB in WLS 6.1 and running
          > the JMS in WLS 8.1.
          If it is possible for you to go this route, I recommend it. Again, it
          would need customer support verification to see if this is supported.
          >
          > Thanks again,
          > Saswati.
          >
          >
          > Tom Barnes <[email protected].bea.com>
          > wrote:
          >
          >>
          >>Saswati Mukherjee wrote:
          >>
          >>
          >>>Hi,
          >>>
          >>>I am looking to exactly match the order of delivery of the messages
          >>
          >>published
          >>
          >>>to a topic to the order of delivery the messages are subscribed to
          >>
          >>by MDB listening
          >>
          >>>to the topic. From the documentation, I could make out that this order
          >>
          >>of delivery
          >>
          >>>is guaranteed by JMS for normal mode of operation, but it is not guaranteed
          >>
          >>for
          >>
          >>>redelivered messages. I could find out from the previous postings in
          >>
          >>this forum
          >>
          >>>that WLS 8.1 does guarantee the order of delivery even for redelivered
          >>
          >>and recovered
          >>
          >>>messages but the previous versions do not. We are using WLS 6.1 and
          >>
          >>hence I can
          >>
          >>>conclude that the order is not guaranteed for redelivered messages.
          >>
          >>I would like
          >>
          >>>to know if there is any other way to achieve this guaranteed order
          >>
          >>of delivery.
          >>
          >>>I was just thinking in the lines of configuring a destination key for
          >>
          >>the topic
          >>
          >>>with JMSMessageId set to ascending so that it is always FIFO and setting
          >>
          >>the MessagesMaximum
          >>
          >>>field for the MDB's connectionFactory to 1. Would that make sure that
          >>
          >>the order
          >>
          >>>is maintained even for redelivered messages ?
          >>
          >>No, it would not. In fact, JMS already does this much.
          >>
          >>Actually, you might be able to take advantage of MDB's defined
          >>side-effects: When a Runtime is thrown from "onMessage()"
          >>of a non-transactional MDB, the instance closes and then
          >>recreates itself (and its subscription).
          >>- So assuming the MDB is non-transactional...
          >>- And assuming "max-beans-in-free-pool" is set to "1"...
          >>- If the MDB is a durable subscriber it won't be able
          >>to automatically recreate itself and reconnect until the
          >>old previous instance finishes closing, the messages
          >>will be ordered for the new instance.
          >>- If the MDB is a nondurable subscriber, then the recreate
          >>will, by definition, be an entirely new subscription,
          >>and ordering will be fine. (But messages sent to
          >>the topic will be missed while the session is
          >>recreating itself.)
          >>
          >>Another option is to continue to use 6.1 for the MDB but
          >>start up and 8.1 instance solely for running JMS remotely.
          >>I'm not 100% sure, but I think ordering would
          >>be guaranteed on the 6.1 JMS client as long you follow
          >>the documented 8.1 ordered redelivery restrictions. Contact
          >>BEA support to confirm.
          >>
          >>
          >>
          >>>Please help.
          >>>
          >>>Thanks,
          >>>Goutam.
          >>
          >
          

Similar Messages

  • Factory Calendar issue in creation of Sales Order/ Delivery Order

    Hi all,
    There is one issue. Our user is not able to create Sales Order/ delivery order as he is getting the below error message u201CDate 2010-12-27 lies after the end of Factory calendar F1u201D. But when I checked the plant in customization, the Factory calendar assigned is u201CKRu201D and not u201CF1u201D. So I donu2019t understand why this error message is appearing. But when I checked Factory calendar u201CF1u201D, it was valid only up to 2010 and there are special rules also set. Only few days in the year are working days. Factory Calendar u201CF1u201D description says u201CKOR customers billed on the 25th of every monthu201D
    Please advice.
    Regards,
    Brijesh

    Dear
    If F1 is the correct calander , then goto OP03-Calander Maintenece -select the Holoiday Caleneder  and extende the Valaidity till 2020 and also Select the Factory Calander  do the same till 2020 .Now Goback to main screen of OP03-Plant asisngement -re-assing the same F1 calaneder .
    Secondly check the factory calender of the plant in OX10.Then in SPRO > enterprise structure >Definition > logistic execution>define shipping point .Select you shipping point and assgin the proper factory calender
    .Goto OVX5 , choose your sales organization, click on details, Detailed information tab - Sales Org Calendar (maintain your factory calendar here not Sale Org Calander )
    .Check in VOV8, use the "Propose delivery date" and "Lead time in Days" options to default today's date as the requested delivery date.
    Refer : Public holiday dates issue
    Regards
    JH

  • Quantity and Price Totals on Sale Order and Delivery Order

    Dear ABAP Gurus,
    I want to add totals of line items (Quantity and Price) in sale order and delivery order screens. Can you please guide me how to do this. The price can be any from pricing procedure ie exclusive or inclusive price of sales tax.
    regards,
    RSA
    Moderator message : Requirements dumping not allowed, show the work you have already done, thread locked.
    Edited by: Vinod Kumar on Jan 28, 2012 9:23 PM

    Hi,
    Try this :
    IF @transaction_type in ('A','U') AND (@OBJECT_TYPE='22')
    BEGIN
    If exists (SELECT t3.docentry FROM OWOR T0  INNER JOIN WOR1 T1 ON T0.DocEntry = T1.DocEntry left join POR1 T2 on T2.[U_JONum] = T0.[OriginNum] and  T0.[ItemCode] =  t2.U_SubConItem] INNER JOIN OPOR T3 ON T2.DocEntry = T3.DocEntry WHERE T1.[PlannedQty] <> T2.[Quantity] and  T1.[ItemCode]  = 'subcon' and  T3.DocEntry = @list_of_cols_val_tab_del )
    Begin
    SET @error = 10
    SET @error_message = 'Not allowed to add more than planned'
    End
    End
    Thanks & Regards,
    Nagarajan

  • Service PO from Delivery Order

    Hi,
    I have the following scenario.
    On creation of a Delivery Order, I would like to trigger automatic creation of a Service PO. I am looking for ways to do it.
    Could some one guide me on how to proceed. I am looking for the right exit where I can put my code (for  creation of Service PO through BDC).
    Thanks & Regards,
    Shobhit

    Hi Shobit,
    You can you FM BAPI_PO_CREATE1 for creating Service orders.
    But, let us know how you are creating Delivery Order.
    If you are creating through VA01 (Order Type : TAM), then you can code at USEREXIT_SAVE_DOCUMENT_PREPARE in Include MV45AF0B_BELEG_SICHERN.
    Regards,
    Raj
    Message was edited by: Rajasekhar Dinavahi

  • Not to include item from purchase order to the delivery order

    Hi,
    i need some guidance on above topic. The user requested to have the functionality not to include the item from purchase order to delivery order when the item having  order balance quantity more than the available stock.
    In other words, if a PO contains several items, those order balance quantity which is more than the available stock will not be included in the DO.
    is the above scenario possible?
    please advise.
    Thanks.

    Hi Yue ,
    u can do it , but in this case u have to make use of user exit or BADI.
    option 1 .
    by using user exit , u can delete/change picking/confirm qty .
    option2:
    while doing  the PGI , do can cross check stock avail with PO qty and raise error messages.
    LE_SHP_GOODSMOVEMENT --> see its documentations in se18.
    Regards
    Peram

  • Immediate delivery order create

    Hi all,
         i want to create a delievry order immediately after salesorder create.For this in SPRO i changed the ordertype (RO) shipping  option to  immediate delivery to 'A'.
    with this i am able to create deleivery order immediately to sales order.But  my problem is for  first  time i am able to create delivery order with salesorder .but for second time it is not creating.That is creation is happening  alternatively .
    so can  u please give me a solution for this..

    What do you mean "for the second time"? If there is already a delivery created for the whole order quantity, you won't be able to create any more deliveries for the same order.
    There are also other factors, such as partial delivery tolerance on customer level, among many others. When you try to create the delivery and it is not possible, there will be a message, which will explain the reason.
    This is all part of SD configuration and has nothing to do with ABAP.

  • Error while PGI Delivery order

    HI All,
    I am getting the following message when PGI delivery order "Material's product unit must be entered in whole numbers
    ". Could any one can help me to solve the issue please ?
    Thanks & Best regards,
    Saiful arif

    Some inputs
    possibilties:
    1. check the conversation factors between your order Unit of measure and storage unit of measure
    2. T-code : CUNI and check the number of decimal places for the unit of measure you are entering

  • Error when PGI Delivery Order

    HI all,
    I am getting the following error message when PGI delivery order for return proses
    "Material's product unit must be entered in whole numbers".
    Could someone help me please to fix that problem ?
    Thanks and best regards,
    Saiful arif

    Hi,
           Have u mantained the base unit of measure and sales unit to be different . If yes, then have you mantained the conversion factor. Kindly check manually there could be a decimal point coming as a result of the conversion factor mantained for the two different UOM in the material master.
    Thanks
    Manoj Sharma

  • Pls...help...printing the whole delivery order...very very urgent

    Can anybody help me in this code.
    I would like to print out delivery order,but when i printed,it just printed out the whole delivery order in the bottom of A4 paper.Can anybody modify the source code and give me proper one?
    I would it to fit on A4 paper.
    These are the soource code,Pls help,it's very urgent.Thanks for any help.
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.table.*;
    import java.sql.*;
    import java.net.*;
    import java.io.*;
    import java.util.*;
    import java.awt.print.*;
    import java.awt.geom.*;
    public class ConfirmDeliveryOrderDialog extends JDialog implements ActionListener,Printable
    private ResultSetTableModel retrieveDOInfoModel;
    private JTable newDOTable;
    private JScrollPane newDOSp;
    private JLabel comT1,comT2,comT3,doT,doID,doIDNo,receivedDate,actualReceivedDate,deliveryTo,deliveryToCustomerInfo,
    companyAddress,companyAddressInfo,tel,telNo,dispatchDate,actualDispatchDate,total,totalQuantity,
    inputTotalQuantity,totalKg,inputTotalKg,remark,inputRemark;
    private Line2D line,line1;
    private Graphics2D g;
    private Container cp;
    private JButton printBtn,exitBtn;
    private Connection con;
    private Statement retrieveDOInfoStmt;
    private ResultSet retrieveDOInfoRs;
    int quan,Kg;
    boolean centered = true;
    public ConfirmDeliveryOrderDialog(JDialog parent)
    super(parent,"New Delivery Order",true);
    try
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con = Laundry.getConnection();
    retrieveDOInfoStmt = con.createStatement();
    String retrieveDOInfo = "SELECT ItemName,ItemTypeName,WashingType,CleaningType,ItemCategory,QuantityOrKg AS [Quantity/Kg] " +
    "FROM DoDetail,DOInfo " +
    "WHERE DODetail.DOID = DOInfo.DOID " +
    "AND DOInfo.CompanyID = " + Laundry.companyDetails.get(0) +
    "AND DODetail.DOID = " + EnterDeliveryOrderNumberDialog.DOInfo.get(0);
    retrieveDOInfoRs = retrieveDOInfoStmt.executeQuery(retrieveDOInfo);
    if(Laundry.SCROLLABLE)
    retrieveDOInfoModel = new ScrollingResultSetTableModel(retrieveDOInfoRs);
    else
    retrieveDOInfoModel = new CachingResultSetTableModel(retrieveDOInfoRs);
    newDOTable = new JTable(retrieveDOInfoModel);
    newDOSp = new JScrollPane(newDOTable);
    newDOTable.getTableHeader().setReorderingAllowed(false);
    newDOTable.setPreferredScrollableViewportSize(new Dimension(550,350));
    retrieveDOInfoStmt.close();
    con.close();
    cp = getContentPane();
    cp.add(newDOSp, BorderLayout.CENTER);
    catch(SQLException ext)
    JOptionPane.showMessageDialog(null,"SQL Exception:","ERROR",JOptionPane.ERROR_MESSAGE);
    while (ext != null)
    JOptionPane.showMessageDialog(null,"SQL State:" + ext.getSQLState() + "\nMessage:" + ext.getMessage() + "\nVendor:" + ext.getErrorCode(),"ERROR",JOptionPane.ERROR_MESSAGE);
    ext = ext.getNextException();
    catch(ClassNotFoundException ex)
    JOptionPane.showMessageDialog(null,"Exception:" + ex,"ERROR",JOptionPane.ERROR_MESSAGE);
    ex.printStackTrace();
    catch(Exception e)
    JOptionPane.showMessageDialog(null,"Exception:" + e,"ERROR",JOptionPane.ERROR_MESSAGE);
    try
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con = Laundry.getConnection();
    retrieveDOInfoStmt = con.createStatement();
    String retrieveDOInfo = "SELECT SUM(QuantityOrKg) AS [Total Quantity] " +
    "FROM DOInfo,DODetail " +
    "WHERE DOInfo.DOID = DODetail.DOID " +
    "AND DOInfo.CompanyID = " + Laundry.companyDetails.get(0) +
    "AND DODetail.DOID = " + EnterDeliveryOrderNumberDialog.DOInfo.get(0) +
    "AND ItemCategory = 'Piece' " +
    "GROUP BY DODetail.DOID ";
    retrieveDOInfoRs = retrieveDOInfoStmt.executeQuery(retrieveDOInfo);
    while(retrieveDOInfoRs.next())
    quan = retrieveDOInfoRs.getInt("Total Quantity");
    retrieveDOInfoStmt.close();
    con.close();
    catch(SQLException ext)
    JOptionPane.showMessageDialog(null,"SQL Exception:","ERROR",JOptionPane.ERROR_MESSAGE);
    while (ext != null)
    JOptionPane.showMessageDialog(null,"SQL State:" + ext.getSQLState() + "\nMessage:" + ext.getMessage() + "\nVendor:" + ext.getErrorCode(),"ERROR",JOptionPane.ERROR_MESSAGE);
    ext = ext.getNextException();
    catch(ClassNotFoundException ex)
    JOptionPane.showMessageDialog(null,"Exception:" + ex,"ERROR",JOptionPane.ERROR_MESSAGE);
    ex.printStackTrace();
    catch(Exception e)
    JOptionPane.showMessageDialog(null,"Exception:" + e,"ERROR",JOptionPane.ERROR_MESSAGE);
    try
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con = Laundry.getConnection();
    retrieveDOInfoStmt = con.createStatement();
    String retrieveDOInfo = "SELECT SUM(QuantityOrKg) AS [Total Kg] " +
    "FROM DOInfo, DODetail " +
    "WHERE DOInfo.DOID = DODetail.DOID " +
    "AND DODetail.DOID = " + EnterDeliveryOrderNumberDialog.DOInfo.get(0) +
    "AND DOInfo.CompanyID = " + Laundry.companyDetails.get(0) +
    "AND ItemCategory = 'Kg' " +
    "GROUP BY DODetail.DOID ";
    retrieveDOInfoRs = retrieveDOInfoStmt.executeQuery(retrieveDOInfo);
    while(retrieveDOInfoRs.next())
    Kg = retrieveDOInfoRs.getInt("Total Kg");
    retrieveDOInfoStmt.close();
    con.close();
    catch(SQLException ext)
    JOptionPane.showMessageDialog(null,"SQL Exception:","ERROR",JOptionPane.ERROR_MESSAGE);
    while (ext != null)
    JOptionPane.showMessageDialog(null,"SQL State:" + ext.getSQLState() + "\nMessage:" + ext.getMessage() + "\nVendor:" + ext.getErrorCode(),"ERROR",JOptionPane.ERROR_MESSAGE);
    ext = ext.getNextException();
    catch(ClassNotFoundException ex)
    JOptionPane.showMessageDialog(null,"Exception:" + ex,"ERROR",JOptionPane.ERROR_MESSAGE);
    ex.printStackTrace();
    catch(Exception e)
    JOptionPane.showMessageDialog(null,"Exception:" + e,"ERROR",JOptionPane.ERROR_MESSAGE);
    comT1 = new JLabel("Deluxe Laundry Sdn Bhd");
    comT1.setFont(new Font("Sanserif",Font.BOLD,12));
    comT2 = new JLabel("Lot 1641, Jln Sungai Tua, Batu Caves, 68100 Selangor Darul Ehsan");
    comT2.setFont(new Font("Sanserif",Font.PLAIN,10));
    comT3 = new JLabel("Tel : 03-61863093 03-61863091 Fax : 03-61863096");
    comT3.setFont(new Font("Sanserif",Font.PLAIN,10));
    Box comBox = Box.createVerticalBox();
    comBox.add(Box.createVerticalStrut(5));
    comBox.add(comT1);
    comBox.add(Box.createVerticalStrut(2));
    comBox.add(comT2);
    comBox.add(Box.createVerticalStrut(2));
    comBox.add(comT3);
    comBox.add(Box.createVerticalStrut(2));
    Box comNBox = Box.createHorizontalBox();
    comNBox.add(Box.createHorizontalStrut(10));
    comNBox.add(comBox);
    comNBox.add(Box.createHorizontalStrut(300));
    //line = new Line2D.Float();
    //line.setLine(10,50,600,50);
    //Graphics2D dfl = (Graphics2D)g;
    //dfl.drawLine(10,50,600,50);
    doT = new JLabel("Delivery Order");
    doT.setFont(new Font("Sanserif",Font.BOLD,17));
    doID = new JLabel("DO ID : ");
    doID.setFont(new Font("Sanserif",Font.BOLD,12));
    doIDNo = new JLabel("");
    doIDNo.setText("" + EnterDeliveryOrderNumberDialog.DOInfo.get(0));
    doIDNo.setFont(new Font("Sanserif",Font.PLAIN,12));
    receivedDate = new JLabel("Received Date : ");
    receivedDate.setFont(new Font("Sanserif",Font.BOLD,12));
    actualReceivedDate = new JLabel("");
    actualReceivedDate.setText("" + EnterDeliveryOrderNumberDialog.DOInfo.get(1));
    actualReceivedDate.setFont(new Font("Sanserif",Font.PLAIN,12));
    JPanel jp = new JPanel();
    jp.setLayout(new GridLayout(2,3));
    jp.add(doID);
    jp.add(doIDNo);
    jp.add(receivedDate);
    jp.add(actualReceivedDate);
    Box doBox = Box.createHorizontalBox();
    doBox.add(Box.createHorizontalStrut(200));
    doBox.add(doT);
    doBox.add(Box.createHorizontalStrut(50));
    doBox.add(jp);
    doBox.add(Box.createHorizontalStrut(100));
    //line1 = new Line2D.Float();
    //line1.setLine(10,0,600,0);
    //Graphics2D df2 = (Graphics2D)g;
    //df2.drawLine(10,100,600,100);
    deliveryTo = new JLabel("Delivery To :");
    deliveryTo.setFont(new Font("Sanserif",Font.BOLD,12));
    deliveryToCustomerInfo = new JLabel("");
    deliveryToCustomerInfo.setText("" + Laundry.companyDetails.get(1));
    deliveryToCustomerInfo.setFont(new Font("Sanserif",Font.PLAIN,12));
    Box deliveryToBox = Box.createHorizontalBox();
    deliveryToBox.add(Box.createHorizontalStrut(10));
    deliveryToBox.add(deliveryTo);
    deliveryToBox.add(Box.createHorizontalStrut(10));
    deliveryToBox.add(deliveryToCustomerInfo);
    deliveryToBox.add(Box.createHorizontalStrut(500));
    companyAddress = new JLabel("");
    companyAddress.setFont(new Font("Sanserif",Font.BOLD,12));
    companyAddressInfo = new JLabel("");
    companyAddressInfo.setText("" + Laundry.companyDetails.get(2));
    companyAddressInfo.setFont(new Font("Sanserif",Font.PLAIN,12));
    Box companyAddressBox = Box.createHorizontalBox();
    companyAddressBox.add(Box.createHorizontalStrut(98));
    companyAddressBox.add(companyAddress);
    companyAddressBox.add(Box.createHorizontalStrut(10));
    companyAddressBox.add(companyAddressInfo);
    companyAddressBox.add(Box.createHorizontalStrut(500));
    tel = new JLabel("Tel :");
    tel.setFont(new Font("Sanserif",Font.BOLD,12));
    telNo = new JLabel("");
    telNo.setText("" + '0'+Laundry.companyDetails.get(3));
    telNo.setFont(new Font("Sanserif",Font.PLAIN,12));
    Box telBox = Box.createHorizontalBox();
    telBox.add(Box.createHorizontalStrut(10));
    telBox.add(tel);
    telBox.add(Box.createHorizontalStrut(10));
    telBox.add(telNo);
    telBox.add(Box.createHorizontalStrut(500));
    dispatchDate = new JLabel("Dispatch Date :");
    dispatchDate.setFont(new Font("Sanserif",Font.BOLD,12));
    actualDispatchDate = new JLabel("");
    actualDispatchDate.setText("" + EnterDeliveryOrderNumberDialog.DOInfo.get(2));
    actualDispatchDate.setFont(new Font("Sanserif",Font.PLAIN,12));
    Box dispatchBox = Box.createHorizontalBox();
    dispatchBox.add(Box.createHorizontalStrut(10));
    dispatchBox.add(dispatchDate);
    dispatchBox.add(Box.createHorizontalStrut(10));
    dispatchBox.add(actualDispatchDate);
    dispatchBox.add(Box.createHorizontalStrut(500));
    remark = new JLabel("Remark :");
    remark.setFont(new Font("Sanserif",Font.BOLD,12));
    inputRemark = new JLabel("");
    inputRemark.setText("" + EnterDeliveryOrderNumberDialog.DOInfo.get(3));
    inputRemark.setFont(new Font("Sanserif",Font.PLAIN,12));
    Box remarkBox = Box.createHorizontalBox();
    remarkBox.add(Box.createHorizontalStrut(10));
    remarkBox.add(remark);
    remarkBox.add(Box.createHorizontalStrut(10));
    remarkBox.add(inputRemark);
    remarkBox.add(Box.createHorizontalStrut(500));
    Box infoBox = Box.createVerticalBox();
    infoBox.add(Box.createVerticalStrut(5));
    infoBox.add(deliveryToBox);
    infoBox.add(Box.createVerticalStrut(5));
    infoBox.add(companyAddressBox);
    infoBox.add(Box.createVerticalStrut(5));
    infoBox.add(telBox);
    infoBox.add(Box.createVerticalStrut(5));
    infoBox.add(dispatchBox);
    infoBox.add(Box.createVerticalStrut(5));
    infoBox.add(remarkBox);
    infoBox.add(Box.createVerticalStrut(5));
    Box northBox = Box.createVerticalBox();
    northBox.add(Box.createVerticalStrut(5));
    northBox.add(comNBox);
    northBox.add(Box.createVerticalStrut(5));
    northBox.add(doBox);
    northBox.add(Box.createVerticalStrut(5));
    northBox.add(infoBox);
    northBox.add(Box.createVerticalStrut(5));
    Shape firstShape = new Rectangle(350,100,10,5);
    //Font font = new Font("Sanserif",Font.PLAIN,5);
    String text = "Checked By";
    //g.drawString(text,365,105);
    //g.setFont(new Font("Sanserif",Font.PLAIN,5));
    //g.fill(firstShape);
    //g.draw(firstShape);
    //Box joinBox = Box.createHorizontalBox();
    //joinBox.add(northBox);
    //joinBox.add(Box.createHorizontalStrut(10));
    //joinBox.add(g);
    printBtn = new JButton("Print");
    printBtn.addActionListener(this);
    exitBtn = new JButton("Exit");
    exitBtn.addActionListener(this);
    JPanel jp3 = new JPanel();
    jp3.add(printBtn);
    jp3.add(exitBtn);
    total = new JLabel("Total");
    totalQuantity = new JLabel("Quantity");
    totalQuantity.setFont(new Font("Sanserif",Font.PLAIN,12));
    inputTotalQuantity = new JLabel("");
    inputTotalQuantity.setFont(new Font("Sanserif",Font.PLAIN,12));
    inputTotalQuantity.setText("" + quan);
    totalKg = new JLabel("Kg");
    totalKg.setFont(new Font("Sanserif",Font.PLAIN,12));
    inputTotalKg = new JLabel("");
    inputTotalKg.setFont(new Font("Sanserif",Font.PLAIN,12));
    inputTotalKg.setText("" + Kg);
    Box totalBox = Box.createHorizontalBox();
    totalBox.add(Box.createHorizontalStrut(270));
    totalBox.add(total);
    totalBox.add(Box.createHorizontalStrut(50));
    totalBox.add(totalQuantity);
    totalBox.add(Box.createHorizontalStrut(50));
    totalBox.add(inputTotalQuantity);
    totalBox.add(Box.createHorizontalStrut(30));
    totalBox.add(totalKg);
    totalBox.add(Box.createHorizontalStrut(50));
    totalBox.add(inputTotalKg);
    totalBox.add(Box.createHorizontalStrut(30));
    Box southBox = Box.createVerticalBox();
    southBox.add(Box.createVerticalStrut(10));
    southBox.add(totalBox);
    southBox.add(Box.createVerticalStrut(5));
    southBox.add(jp3);
    cp = getContentPane();
    cp.add(northBox, BorderLayout.NORTH);
    cp.add(southBox, BorderLayout.SOUTH);
    setSize(600,400);
    setLocation(100,100);
    public void actionPerformed(ActionEvent ae)
    if(ae.getSource() == printBtn)
    PageFormat page = new PageFormat();
    Paper paper = new Paper();
    paper.setSize(595.275590551181,841.8897637795276);
    paper.setImageableArea(70.8661417322835,70.8661417322835,453.5433070866141,700.1574803149607);
    page.setPaper(paper);
    page.setOrientation(PageFormat.PORTRAIT);
    PrinterJob printJob = PrinterJob.getPrinterJob();
    if(page == null)
    page = printJob.defaultPage();
    printJob.setPrintable(this,page);
    if(printJob.printDialog())
    try
    printJob.print();
    setVisible(false);
    JOptionPane.showMessageDialog(null,"Please Generate Normal Or Express JobList","JobList",JOptionPane.INFORMATION_MESSAGE);
    catch(PrinterException e)
    JOptionPane.showMessageDialog(this,e);
    else if(ae.getSource() == exitBtn)
    EnterDeliveryOrderNumberDialog.removeDOInfo();
    setVisible(false);
    public int print(Graphics g, PageFormat pf, int page) throws PrinterException
    if(page >= 1)
    return Printable.NO_SUCH_PAGE;
    Graphics2D g2 = (Graphics2D)g;
    g2.translate(pf.getImageableX(), pf.getImageableY());
    if(centered)
    g2.translate(pf.getImageableWidth(), pf.getImageableHeight());
    Dimension d = getSize();
    double scale = Math.min(pf.getImageableWidth() / d.width, pf.getImageableHeight() / d.height);
    if (scale < 1.0)
    g2.scale(scale, scale);
    if (centered)
    g2.translate(-d.width, -d.height);          
    paint(g2);
    return Printable.PAGE_EXISTS;

    Hi Thanx, your code helped. I have got another question. How do i implement a method from another method class into the applet. say, i want to implemen set frequency from the below code into my applet you wrote above?
    class Histogram
         int frequency[];
         String alphabet;
         Histogram(String alphabet)
              this.alphabet=alphabet;
              frequency=new int[alphabet.length()];
         void scan(String message)
              for(int i=0;i<message.length;i++)
                   frequncy[alphabet.IndexOf(message.charAt(i))]++;
         void setfrequency(int frequency[])
              for(int i=0;i<alphabet.length;i++)
              this.frequency=frequency[i];
         double entropy()
              int total=0;
              double probablity;
              log2=Math.log(2.0);
              for(int i=0;i<alphabet.length;i++)
                   total+=freguency[i];

  • Credit Management not activated in Delivery Order

    Hi,
    I've made relevant configurations in SPRO such that during the creation of sales order, credit management is activated. A warning message popup to warn user of the credit exceeded.
    However, during delivery order creation, such warning message does not get popup.
    I'm using the simple credit checks. In spro->sales & distribution ->basic functions->credit management->assign sales docs & delivery docs-> credit limit check for delivery types, i've set the relevant delivery type to have credit group 02 (Delivery) & 03 (PGI). Under the item cat for delivery order, i've also checked the active credit checkbox.
    Any config i've missed out?
    Thanks
    Regards,
    HweeLing

    Hi,
    According to your reply, I can only set credit checks popup message at only 1 place - Either sales order OR delivery order?
    Does it mean that if i have the check in sales order, I cannot have the same popup message in delivery order?
    Currently, i have the popup message in sales order.
    I do not want to block delivery order. I only want a warning message thats all.
    Thanks

  • Change Delivery Order Mail Language

    Hi,
    The language in my delivery order email is in chinese. How can I change it back to English?
    Thanks.

     Hubber wrote:
    The language in my delivery order email is in chinese. How can I change it back to English?
    Hello and welcome to the Skype Community!
    please contact Skype customer service
    TIME ZONE - US EASTERN. LOCATION - PHILADELPHIA, PA, USA.
    I recommend that you always run the latest Skype version: Windows & Mac
    If my advice helped to fix your issue please mark it as a solution to help others.
    Please note that I generally don't respond to unsolicited Private Messages. Thank you.

  • Problem Delivery order & Reservation

    Dear Guru,
    I have problem about Delivery order & Reservation.
    I've opened Delivery order using TCode VL01N and will goods issue on another day.
    After that  I am creating reservation(MB21) which I can be goods issue before the Delivery order.
    So, Stock is not enough for the Delivery order.
    I'd like system to check stock before goods issue by reservation.
    Anyway, I try to config using TCode  OMB1 (Movement type 201 ->  Dynamic avail. check = B ).
    System will be alert error message when I have determine batch  both Delivery Order and Reservation.
    In case stock is not enough for the reservation include to prevent stock for the delivery order , I'd like system show message everytime although I don't detemine batch both delivery order and reservation. I mean that system 'll protect stock for delivery order after that reservation can be goods issue.
    Please sugguest me how to solve this problem.
    Best Regards,
    Horoda
    Edited by: nrokarad on Aug 13, 2010 4:51 AM

    Design Time Package name prefixes are normally in the form com.mycompany. They are used to restrict the Java package names that can be used.
    You can find these in the Development Configuration perspective: Browse your DC: DC Metadata -> DC Definition -> Package Names.
    Are you using a local Web project or a Web Module DC?

  • REPORT OR TABLE TO CAPTURE SALE ORDER AND DELIVERY ORDER HEADER TEXTS

    HI GURUS,
    where are the sale order header text is stored?
    How to retrieve the same in the form of report.
    the same for Delivery order header text..
    Regards
    Sri

    Hi Sri,
    just goto sales order header text and click on text u will get Text name, Text ID,and Text object
    pass these values to function module READ_TEXT .
    Regards,
    sksk.

  • Credit release transfer from Delivery order to sale order

    Dear Master's,
    Our setting for credit release from delivery order but now change requirement from our organization, they like this check from sale order and i create setting it in test server but there is a problem with me, every thing is ok, system also block sale order for credit release but the value that is, net value. our requirement is different, we need gross value as we already working in previous with delivery order. anybody can solve my problem, i try to find it and feel there is no problem in setting but problem still in system.
    Regards
    Khan

    I already "A" which is credit amount adjust in Gross value after tax and all other discount values but i am confuse why system release value from before tax and trader offers
    Muhammad Arafkhan 
    Please use correct English. it is very hard to understand your requirement the above is one of the  small examples of your post. Am also not perfect.However, will try to use correct English to my level.
    Please never use any SMS language and try to avoid the maximum  grammatical errors.
    Coming into your requirement as per my understanding, previously you were using the credit control at Delivery level, now the same setting is changed to order level is that correct?
    Now kindly explain your requirement once again what is the issue after this change in OVA8? I did not understand completely.
    thanks,
    Srinu.

  • Sales order item quantity is not copied to delivery order quantity

    hi,
    i am trying to make a delivery order w.r.t. sales order which have 10 quantity for a certian material. when i create it, all the data on sales order is copied to the delivery order automatically EXCEPT the material quantity which was 10. it was working perfect and i dont know what mistake i made. is there any way out?
    thanks

    Hi,
    While creating delivery, r u getting the following error..
    An item with no delivery quantity is not permitted. Item will be deleted.
    If so, you are maintainig picking location determination for that particular plant and shipping point combination.
    i.e.,
    in OVL3 , for ur plant , Shipping point, Storage condition(Taken from Material master- Plant/Stor1 View)
    you will be maintaining some storage location.
    But for that storage location, you do not maintain a stock..
    If you specify the storage location in sale order, the error won't come..
    Otherwise add stock to the storage location assigned in OVL3..
    It'll work..
    I have also got the same error..
    Hope it may be useful to you..
    Thanks & Regards,
    Venkatesh.S.P

Maybe you are looking for