% formular help
Need help creating a formular if anyone can help thank you in advanced!
ok so i need a formular that works out 20% of the first 500 and anything over 500 at 10%
so for instance 612.10 works out as 111.21
the first 20% of 500 = 100
the rest over 500 is 112.1 at 10% = 11.21
Total = 111.21
hope i have made sence!
Thanks again
Rlskin,
If your input amount is in Column A, you can do that calculation with:
=IF(A<500, A*0.2, 100+(A-500)*0.1)
Regards,
Jerry
Similar Messages
-
Help please with formulars in Chatrs
Post Author: Hagster
CA Forum: Charts and Graphs
Hello All
My problem is I create a simple report one table 5 fields.
Table = Delv
Fields - id Customer Date Days-early-or-late (shown as a number neg for late pos for early) Qty-shippedWhat I am trying to do is Group by customer and then show the percentage of on time deliveries for each customer.What I have done so far:Created a report that groups by Customer Created a running total of 'Days-early-or-late' and which is just a count records if {days-early-or-late} >= 0 (called Tot-Pos)Created a running total of 'Days-early-or-late' and which is just a count All records (called Tot-All)
Created a formular called 'Percent-OnTime' Which is just ( running tot Pos / running tot All * 100 ) this gives me my percent of ontime deliveries{#Tot-Pos}/{#Tot-All}*100
When choosing the data for the chartI set 'On change of' to Group customerand Show value should be 'my formular Percent-OnTime'Trouble is the formular Percent-OnTime is not in the available fields to select, my other two running totals are and if I create formulars to make running totals manually using whileprintingrecords var = var +1 kind of thing these show up in the available fields but still not the 'Percent-onTime' formular.
Formulars show up, but any formular that is made up of ano0ther formular does not show up in the available fields.
Using Version 11.0.0 and very frustrated
Am I missing something, why are my formulars that contain other formulars missed out from the available fields?Is there a built in way to calculate the Percent of a certain amount of records of a field against the total amount of records?
Any one have any ideas or pointers to where I can look or what I can do to resolve this issue please.
Many Kind Regards GuyPost Author: Manuel de Kleine
CA Forum: Charts and Graphs
Guy,This occurs due to the multi-pass reporting process of the CR Engine:Your formulas are threaded in pass#1, while the running totals are threaded in pass#2.What you could do to avoid this is the following:Create a formula to count the number of early (and on time) deliveries: {@ Delivery on time} IF {Days-early-or-late} >= 0 THEN 1 // delivery on time or early ELSE 0 // delivery lateNow, you can use a new formula {@ percentage on time deliveries}:Sum ({@ Delivery on time}, )/Count ({Days-early-or-late}, )*100 -
How to create a contact-formular in flash builder 4?
Hello!
Is there any way to create a contact-formular in flash builder 4?
Only three text-boxes (name, email, message) and the "send" button!
I build my page in flash catalyst and export it as an fxp file to flash builder!
What comes next? Please help me!
GreetingsYou understood correctly:
- I removed all Build Path > Source Paths
- I moved those paths over to Library Paths > Source attachment
I took inspiration by how the Flex SDK is added to the project. Flex and flex related frameworks (e.g. datavisualization lib) also specify a Source Attachment under Lib Path. If I remove the source attachment I am not able to drill down into Flex code when I want to by Command-clicking on a class name (or hitting F3).
All my SWC are open source. BTW some of the source paths I was using were the path to the Flex code and to datavisualtization lib, which I think are the biggest library I am linking against. So maybe to recreate, just add those 2 libraries and make sure to add the source path AND source attachment.
I am using RSLs for every library if that matters.
I don't understand why specifying a Source Attachment would cause any issues... the swc is in sync with the source specified in its source attachment. -
Hi all, ;)
First of all, sorry about my poor English.
I have a problem with Swing and Threads, I hope you help me (because I'm in the firsts two weeks in my new job)
I have two classes:
Form1: Its a JPanel class with JProgressBar and JLabel inside.
FormularioApplet: (the main) Its a JPanel class with a form1 inside.
I have to download a file from a server and show the progress of the download in the JProgressBar. To make it I do this:
In Form1 I make a Thread that update the progress bar and gets the fole from the server.
In FormularioApplet (the main) I call to the method getDownloadedFile from Form1 to get the File.
THE PROBLEM:
The execution of FormularioApplet finishes before the Thread of Form1 (with download the file) download the file. Then, when I call in FormularioApplet the variable with the file an Exception: Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException is generated.
First main begins his execution, then call to Form1 (a thread) then continues his execution and when the execution is finished ends the execution os Form1 and his thread.
How can I do for main class call the function and the Thread download his file after main class assign the file of return method?
How can I pass information froma class include an a main class. Form1 can't send to main (because main class made a Form1 f1 = new Form1()) any information from his end of the execution. I think if Form1 can say to main class that he finishes is job, then main class can gets the file.
I put in bold the important lines.
Note: My level of JAVA, you can see, is not elevated.
THANKS A LOT
Form1 class:
package es.cambrabcn.signer.gui;
import java.awt.HeadlessException;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.StringTokenizer;
import java.util.Vector;
import javax.swing.SwingUtilities;
public class Form1 extends javax.swing.JPanel {
//Variables relacionadas con la clase original DownloadProgressBar
private InputStream file;
private int totalCicles;
private int totalFiles;
private int currentProgress;
private SwingWorker worker;
private ByteArrayOutputStream byteArray;
private boolean done;
/** Creates new form prueba */
public Form1() {
initComponents();
this.byteArray = new ByteArrayOutputStream();
progressBar.setStringPainted(true);
//this.totalFiles = totalFiles;
currentProgress = 0;
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
// <editor-fold defaultstate="collapsed" desc=" C�digo Generado ">
private void initComponents() {
label1 = new javax.swing.JLabel();
progressBar = new javax.swing.JProgressBar();
statusLabel = new javax.swing.JLabel();
setBackground(new java.awt.Color(255, 255, 255));
setMaximumSize(new java.awt.Dimension(300, 150));
setMinimumSize(new java.awt.Dimension(300, 150));
setPreferredSize(new java.awt.Dimension(300, 150));
label1.setFont(new java.awt.Font("Arial", 1, 18));
label1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
label1.setText("Barra de progreso");
statusLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
statusLabel.setText("Cargando");
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
.add(org.jdesktop.layout.GroupLayout.LEADING, statusLabel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE)
.add(org.jdesktop.layout.GroupLayout.LEADING, progressBar, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE)
.add(org.jdesktop.layout.GroupLayout.LEADING, label1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE))
.addContainerGap())
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(label1)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(progressBar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(statusLabel)
.addContainerGap(73, Short.MAX_VALUE))
}// </editor-fold>
// Declaraci�n de variables - no modificar
private javax.swing.JLabel label1;
private javax.swing.JProgressBar progressBar;
private javax.swing.JLabel statusLabel;
// Fin de declaraci�n de variables
public byte[] getDownloadedFile(String documentToSign){
//Variables locales
byte puente[] = null;
try{
//Leemos el documento a firmar
StringTokenizer st = new StringTokenizer(documentToSign, ";");
Vector<URL> fileURL = new Vector<URL>();
HttpSender sender = new HttpSender(null);
//Introducimos la lista de URLs de archivos a bajar en el objeto Vector
for(; st.hasMoreTokens(); fileURL.add(new URL(st.nextToken())));
//Para cada URL descargaremos un archivo
for(int i = 0; i < fileURL.size(); i++) {
file = sender.getMethod((URL)fileURL.get(i));
if(file == null) {
Thread.sleep(1000L);
throw new RuntimeException("Error descarregant el document a signar.");
System.out.println("Form1 Dentro de getDownloadFile, Antes de startDownload()");
//Fijamos el valor del n�mero de ciclos que se har�n seg�n el tama�o del fichero
this.totalCicles = sender.returnCurrentContentLength() / 1024;
this.progressBar.setMaximum(totalCicles);
//Modificamos el texto del JLabel seg�n el n�mero de fichero que estemos descargando
this.statusLabel.setText((new StringBuilder("Descarregant document ")).append(i + 1).append(" de ").append(fileURL.size()).toString());
statusLabel.setAlignmentX(0.5F);
*//Iniciamos la descarga del fichero, este m�todo llama internamente a un Thread*
*this.startDownload();*
*System.out.println("Form1 Dentro de getDownloadFile, Despu�s de startDownload()");*
*//if (pane.showProgressDialog() == -1) {*
*while (!this.isDone()){*
*System.out.println("No est� acabada la descarga");*
*if (this.isDone()){*
*System.out.println("Thread ACABADO --> Enviamos a puente el archivo");*
*puente = this.byteArray.toByteArray();*
*System.out.println("Form1 getDownloadFile() tama�o puente: " + puente.length);*
*else{*
*Thread.sleep(5000L);*
*// throw new RuntimeException("Proc�s de desc�rrega del document a signar cancel�lat.");*
catch (HeadlessException e) {
//javascript("onSignError", new String[] {
//(new StringBuilder("UI: ")).append(e.getMessage()).toString()});
e.printStackTrace();
catch (MalformedURLException e) {
//javascript("onSignError", new String[] {
//(new StringBuilder("CMS: ")).append(e.getMessage()).toString()});
e.printStackTrace();
catch (HttpSenderException e) {
//javascript("onSignError", new String[] {
//(new StringBuilder("CMS: ")).append(e.getMessage()).toString()});
e.printStackTrace();
catch (InterruptedException e) {
//javascript("onSignError", new String[] {
//(new StringBuilder("CMS: ")).append(e.getMessage()).toString()});
e.printStackTrace();
//System.out.println("Form1 getDownloadFile() tama�o puente: " + puente.length);
return puente;
public void updateStatus(final int i){
Runnable doSetProgressBarValue = new Runnable() {
public void run() {
progressBar.setValue(i);
SwingUtilities.invokeLater(doSetProgressBarValue);
public void startDownload() {
System.out.println("Form1 Inicio startDownload()");
System.out.println("Form1 Dentro de startDownload, antes de definir la subclase SwingWorker");
System.out.println(done);
worker = new SwingWorker() {
public Object construct() {
System.out.println("Form1 Dentro de startDownload, dentro de construct(), Antes de entrar en doWork()");
return doWork();
public void finished() {
System.out.println("Form1 Dentro de startDownload, dentro de finished(), Antes de asignar done = true");
System.out.println(done);
done = true;
System.out.println("Form1 Dentro de startDownload, dentro de finished(), Despu�s de asignar done = true");
System.out.println(done);
statusLabel.setText("Completado, tama�o del archivo: " + (byteArray.size() / 1024) + "KB");
System.out.println("Form1 Dentro de startDownload, antes de worker.start()");
worker.start();
System.out.println("Form1 Dentro de startDownload, antes de salir de startDownload");
System.out.println(done);
System.out.println("Form1 Dentro de startDownload, despu�s de worker.start()");
* M�todo doWork()
* Este m�todo descarga por partes el archivo que es necesario descargar, adem�s de actualizar
* la barra de carga del proceso de carga de la GUI.
public Object doWork() {
System.out.println("Form1 doWork() this.byteArray.size(): " + this.byteArray.size());
try {
byte buffer[] = new byte[1024];
for(int c = 0; (c = this.file.read(buffer)) > 0;) {
this.currentProgress++;
updateStatus(this.currentProgress);
this.byteArray.write(buffer, 0, c);
this.byteArray.flush();
this.file.close();
this.currentProgress = totalCicles;
updateStatus(this.currentProgress);
} catch(IOException e) {
e.printStackTrace();
System.out.println("Form1 doWork() FINAL this.byteArray.size(): " + this.byteArray.size());
//done = true;
System.out.println("AHORA DONE = TRUE");
return "Done";
public boolean isDone() {
return this.done;
FormularioApplet class (main)
package es.cambrabcn.signer.gui;
import java.awt.Color;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URL;
import java.security.Security;
import java.util.StringTokenizer;
import java.util.Vector;
import javax.swing.SwingUtilities;
import netscape.javascript.JSObject;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import sun.security.provider.Sun;
import be.cardon.cryptoapi.provider.CryptoAPIProvider;
public class FormularioApplet extends java.applet.Applet {
//Variables globales
int paso = 0;
private static final String JS_ONLOAD = "onLoad";
private static final String JS_ONLOADERROR = "onLoadError";
private static final int SIGNATURE_PDF = 1;
private static final int SIGNATURE_XML = 2;
//private String signButtonValue;
private int signatureType;
private String documentToSign;
private String pdfSignatureField;
private Vector<String> outputFilename;
private Color appletBackground = new Color(255, 255, 255);
private Vector<byte[]> ftbsigned;
* Initializes the applet FormularioApplet
public void init(){
try {
SwingUtilities.invokeLater(new Runnable() {
//SwingUtilities.invokeAndWait(new Runnable() {
//java.awt.EventQueue.invokeAndWait(new Runnable() {
public void run() {
try{
readParameters();
initComponents();
catch(FileNotFoundException e){
javascript(JS_ONLOADERROR, new String[] {
(new StringBuilder("Init: ")).append(e.getMessage()).toString()});
e.printStackTrace();
catch(IOException e) {
javascript(JS_ONLOADERROR, new String[] {
(new StringBuilder("Init: ")).append(e.getMessage()).toString()});
e.printStackTrace();
catch (Exception e) {
javascript(JS_ONLOADERROR, new String[] {
(new StringBuilder("Init: ")).append(e.getMessage()).toString()});
e.printStackTrace();
javascript(JS_ONLOAD, null);
/** This method is called from within the init() method to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
// <editor-fold defaultstate="collapsed" desc=" C�digo Generado ">
private void initComponents() {
this.setSize(350, 450);
appletPanel = new javax.swing.JPanel();
jPanel1 = new javax.swing.JPanel();
jTextField1 = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
label = new javax.swing.JLabel();
jPanel3 = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
setLayout(new java.awt.BorderLayout());
appletPanel.setBackground(new java.awt.Color(255, 255, 255));
appletPanel.setMaximumSize(new java.awt.Dimension(350, 430));
appletPanel.setMinimumSize(new java.awt.Dimension(350, 430));
appletPanel.setPreferredSize(new java.awt.Dimension(350, 430));
jPanel1.setBackground(new java.awt.Color(255, 255, 255));
jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 102, 204)));
jTextField1.setFont(new java.awt.Font("Arial", 1, 18));
jTextField1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jTextField1.setText("SIGNATURA ELECTRONICA");
org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.add(jTextField1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 308, Short.MAX_VALUE)
.addContainerGap())
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.add(jTextField1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 24, Short.MAX_VALUE)
.addContainerGap())
jPanel2.setBackground(new java.awt.Color(255, 255, 255));
jPanel2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 102, 204)));
label.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
label.setIcon(new javax.swing.ImageIcon("C:\\java\\workspaces\\cambrabcn\\firmasElectronicas\\logo.gif"));
org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.add(label, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 308, Short.MAX_VALUE)
.addContainerGap())
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.add(label)
.addContainerGap(229, Short.MAX_VALUE))
jPanel3.setBackground(new java.awt.Color(255, 255, 255));
jPanel3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 102, 204)));
//this.jButton1.setVisible(false);
//this.jButton2.setVisible(false);
jButton1.setText("Seg\u00fcent");
jButton1.setAlignmentX(0.5F);
//Cargamos el primer formulario en el JPanel2
loadFirstForm();
//Modificamos el texto del bot�n y el contador de pasos.
//this.jButton1.setText("Siguiente");
//this.jButton1.setVisible(true);
//this.jButton2.setVisible(true);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
jButton2.setText("Cancel\u00b7lar");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
org.jdesktop.layout.GroupLayout jPanel3Layout = new org.jdesktop.layout.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel3Layout.createSequentialGroup()
.addContainerGap()
.add(jButton1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 94, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 112, Short.MAX_VALUE)
.add(jButton2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 102, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel3Layout.createSequentialGroup()
.addContainerGap()
.add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jButton2)
.add(jButton1))
.addContainerGap())
org.jdesktop.layout.GroupLayout appletPanelLayout = new org.jdesktop.layout.GroupLayout(appletPanel);
appletPanel.setLayout(appletPanelLayout);
appletPanelLayout.setHorizontalGroup(
appletPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, appletPanelLayout.createSequentialGroup()
.addContainerGap()
.add(appletPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
.add(org.jdesktop.layout.GroupLayout.LEADING, jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(org.jdesktop.layout.GroupLayout.LEADING, jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(org.jdesktop.layout.GroupLayout.LEADING, jPanel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
appletPanelLayout.setVerticalGroup(
appletPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, appletPanelLayout.createSequentialGroup()
.addContainerGap()
.add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
add(appletPanel, java.awt.BorderLayout.CENTER);
}// </editor-fold>
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
this.destroy();
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
changeForms(this.paso);
// Declaraci�n de variables - no modificar
private javax.swing.JPanel appletPanel;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JLabel jTextField1;
private javax.swing.JLabel label;
// Fin de declaraci�n de variables
* M�todo readParameters
* M�todo que inicializa los valores de los par�metros internos, recibidos por par�metro.
private void readParameters() throws FileNotFoundException, IOException {
???????????????? deleted for the forum
addSecurityProviders();
* M�tode loadFirstForm
* Aquest m�tode carrega a jPanel2 el formulari que informa sobre la c�rrega dels arxius
private void loadFirstForm(){
//Form1 f1 = new Form1(stream, i + 1, fileURL.size(), sender.returnCurrentContentLength(), appletBackground);
//Form1 f1 = new Form1(fileURL.size(), sender.returnCurrentContentLength());
Form1 f1 = new Form1();
//Lo dimensionamos y posicionamos
f1.setSize(310, 150);
f1.setLocation(10, 110);
//A�adimos el formulario al JPanel que lo contendr�
this.jPanel2.add(f1);
//Validem i repintem el JPanel
jPanel2.validate();
jPanel2.repaint();
//Descarreguem l'arxiu a signar
*System.out.println("FormularioApplet Dentro de loadFirstForm(), antes de llamar a getDownloadFile()");*
*byte obj[] = f1.getDownloadedFile(this.documentToSign);*
if (obj == null){
System.out.println("Lo que devuelve f1.getDownloadedFile(this.documentToSign) es NULL");
else{
System.out.println("Lo que devuelve f1.getDownloadedFile(this.documentToSign) NO es NULL");
System.out.println("obj: " + obj.length);
this.ftbsigned.add(obj);
System.out.println("FormularioApplet Dentro de loadFirstForm(), despu�s de llamar a getDownloadFile()");
//Indicamos que el primer paso ya se ha efectuado
this.paso++;
* M�tode changeForms
* Aquest m�tode carrega a jPanel2 un formulari concret segons el valor de la variable global "paso"
private void changeForms(int paso){
/*A cada paso se cargar� en el JPanel y formulario diferente
* Paso previo: Se realiza en la inicializaci�n, carga el formulario, descarga el archivo y muestra la barra de carga.
* Case 1: Se carga el formulario de selecci�n de tipo de firma.
* Case 2: Se carga el formulario de datos de la persona que firma.
this.paso = paso;
switch(paso){
case 1:
//Creamos un objeto de formulario (seleccion de tipo de firma)
Form2 f2 = new Form2();
//Lo dimensionamos y posicionamos
f2.setSize(310, 185);
f2.setLocation(10, 110);
//Quitamos el formulario 1 y a�adimos el formulario 2 al JPanel
this.jPanel2.remove(1);
this.jPanel2.add(f2);
//Validem i repintem el JPanel
jPanel2.validate();
jPanel2.repaint();
//Modificamos el contador de pasos.
this.paso++;
break;
case 2:
//Creamos un objeto de formulario (seleccion de tipo de firma)
Form3 f3 = new Form3();
//Lo dimensionamos y posicionamos
f3.setSize(310, 175);
f3.setLocation(15, 130);
//Quitamos el formulario 1 y a�adimos el formulario 3 al JPanel
this.jPanel2.remove(1);
this.jPanel2.add(f3);
//Validem i repintem el JPanel
jPanel2.validate();
jPanel2.repaint();
//Modificamos el texto del bot�n y el contador de pasos.
this.jButton1.setText("Finalizar");
this.paso++;
break;
default:
//Finalizar el Applet
//C�digo que se encargue de guardar el archivo en el disco duro del usuario
break;
private void addSecurityProviders() throws FileNotFoundException, IOException {
Security.addProvider(new CryptoAPIProvider());
if (signatureType == SIGNATURE_PDF) {
Security.addProvider(new BouncyCastleProvider());
else {
Security.addProvider(new Sun());
private File createOutputFile(String filename, int index) {
return new File((String)outputFilename.get(index));
protected Object javascript(String function, String args[]) throws RuntimeException {
//Remove
if (true) return null;
try {
Vector<String> list = new Vector<String>();
if(args != null) {
for(int i = 0; i < args.length; i++) {
list.addElement(args);
if(list.size() > 0) {
Object objs[] = new Object[list.size()];
list.copyInto(objs);
return JSObject.getWindow(this).call(function, objs);
} catch(UnsatisfiedLinkError e) {
e.printStackTrace();
throw new RuntimeException((new StringBuilder()).append(e).append("\nFunci�: ").append(function).toString());
} catch(Throwable e) {
e.printStackTrace();
throw new RuntimeException((new StringBuilder()).append(e).append("\nFunci�: ").append(function).toString());
return JSObject.getWindow(this).call(function, new Object[0]);
Edited by: Kefalegereta on Oct 31, 2007 3:54 AM
Edited by: Kefalegereta on Oct 31, 2007 4:00 AMLook at iOS Troubleshooting Wi-Fi networks and connections http://support.apple.com/kb/TS1398
iPad: Issues connecting to Wi-Fi networks http://support.apple.com/kb/ts3304
iOS: Recommended settings for Wi-Fi routers and access points http://support.apple.com/kb/HT4199
Additional things to try.
Try this first. Turn Off your iPad. Then turn Off (disconnect power cord) the wireless router & then back On. Now boot your iPad. Hopefully it will see the WiFi.
Go to Settings>Wi-Fi and turn Off. Then while at Settings>Wi-Fi, turn back On and chose a Network.
Change the channel on your wireless router. Instructions at http://macintoshhowto.com/advanced/how-to-get-a-good-range-on-your-wireless-netw ork.html
Another thing to try - Go into your router security settings and change from WEP to WPA with AES.
How to Quickly Fix iPad 3 Wi-Fi Reception Problems
http://osxdaily.com/2012/03/21/fix-new-ipad-3-wi-fi-reception-problems/
If none of the above suggestions work, look at this link.
iPad Wi-Fi Problems: Comprehensive List of Fixes
http://appletoolbox.com/2010/04/ipad-wi-fi-problems-comprehensive-list-of-fixes/
Fix iPad Wifi Connection and Signal Issues http://www.youtube.com/watch?v=uwWtIG5jUxE
~~~~~~~~~~~~~~~
If any of the above solutions work, please post back what solved your problem. It will help others with the same problem.
Cheers, Tom -
Dear friends,
I need to do the following task.
For Movement 911, I need to remove hard coding (PROD) and incorporate the following logic in the script program.
Data is maintained (set-id:z_vendor_assembly_area) in both Format Group (PRTCLASS) and Symbolic name (LNAME). Above set-id already contained PROD against cost center No. Hard coding should be removed and apply processing logic as follows:
Read PRTCLASS for LNAME = PROD
Extract FROM
If Vendor No. = FROM in the layout form then show Cost Center = LNAME
I don't know where to incoporte the coding in the below program, Pls anyone give me the solution to where to incorporate the coding and how.
script Coding:
TABLES: ltak, ltap, *ltap, rldru, *rldru, mgef, itcpo, usr01,
t300, t300t, t331, t333b, t646g, t646h, tsp03, t340d,
t329f, t329d, t329p, *t329p, t329a, t301t, *t301t, lqua,
rl03t, *rl03t, lein, t302t, *t302t, cpkme, lprdr,
likp, kna1, mseg, afpo, t003p, marc, makt, stxl, lips,
lubu, cobl, ekpo, t157e, caufv, ltbp, mkpf, t156t, lfa1,
resb, plpo, pkhd, t001w, mara, vbap, eket, qals, t024,
ekko, vbak, sadr, t001l, t496f, t496r, tvapt, pkps,
tvaut, vbpa, pa0105,
table usr03 was removed for 3.1h to 4.6 conversion.
tables usr21 & adrp were added instead.
usr21, adrp,
for the Ethis project Aug 2001 //EB
inob, kssk, ksml, ausp, cawnt, cabnt, prps, prps,mseg, zmapd,
SR29757 //EB sept 2002
t333,
SR#76047
afko, aufk,
SR#82839
viora, jsto, tj30, tj30t.
*{ INSERT for Service Pack changes Jan 20001 // EB.
DATA: humla TYPE c.
*} INSERT
DATA: BEGIN OF addr_groups OCCURS 3.
INCLUDE STRUCTURE adagroups.
DATA: END OF addr_groups.
DATA: BEGIN OF addr_sel.
INCLUDE STRUCTURE addr1_sel.
DATA: END OF addr_sel.
DATA: BEGIN OF addr_val.
INCLUDE STRUCTURE addr1_val.
DATA: END OF addr_val.
4.7 Upgrade Issue Resolution
DATA: DRUCKVERBUCHER TYPE C. "Steuert ob Druck aus Verbu.
data etikett type c.
DATA: batchsrc LIKE mseg-charg, "GV1
batchdest LIKE mseg-charg,
destmatnr(18) TYPE c,
binflg TYPE c,
ctrlcycle LIKE pkhd-pknum,
diff TYPE i,
fstprnt TYPE c VALUE 'X', "GV1
item_count(4) TYPE n,
prntmess TYPE c VALUE 'X', "GV1
negative TYPE c,
hotpick TYPE c,
key(12) TYPE c,
objnr(22) TYPE c,
srcmatnr(18) TYPE c,
stattext(40) TYPE c,
valuatsrc LIKE mseg-bwtar, "GV1
valuatdest LIKE mseg-bwtar, "GV1
prtbatch TYPE c, "GV1
prtvaluat TYPE c, "GV1
supparea LIKE pkhd-prvbe,
status_drpz LIKE tj02-istat VALUE 'I0210',
tot_qty TYPE i, "GV1
vendcar(10) TYPE c,
vendint like mseg-lifnr,
vendint TYPE i,
wrkeof TYPE c. "GV1
DATA: BEGIN OF t_altbin OCCURS 10, "GV1
bin(6) TYPE c,
END OF t_altbin,
bin1(6) TYPE c, "GV1
bin2(6) TYPE c, "GV1
bin3(6) TYPE c, "GV1
bin4(6) TYPE c, "GV1
bin5(6) TYPE c, "GV1
bin6(6) TYPE c, "GV1
bin7(6) TYPE c, "GV1
bin8(6) TYPE c, "GV1
bin9(6) TYPE c, "GV1
bin10(6) TYPE c. "GV1
DATA: BEGIN OF t_qty OCCURS 100, "GV1
bin LIKE ltap-nlpla,
qty TYPE i,
matnr LIKE ltap-matnr,
END OF t_qty. "GV1
DATA: p_proto LIKE rldru-proto.
*data con_program_data like sy-repid value 'RLVSDR00'.
DATA con_program_data LIKE sy-repid VALUE 'ZPJSDR00'.
*{ Added for SR:293067
DATA: BEGIN OF mseg_data_0 OCCURS 10,
aufnr LIKE mseg-aufnr,
mblnr LIKE ltak-mblnr,
mjahr LIKE ltak-mjahr,
mbpos LIKE ltap-mbpos,
END OF mseg_data_0.
DATA: mseg_data LIKE mseg_data_0.
DATA: x(1) TYPE c.
*........Reportspezifische Parameter und Select-Options.................
SELECTION-SCREEN BEGIN OF BLOCK xxx WITH FRAME TITLE text-010.
PARAMETERS:
druckkz LIKE rldru-drukz,
edrucker LIKE rldru-ldest,
spoolpar LIKE rldru-spool,
drucken AS CHECKBOX DEFAULT 'X'. "Kz Liste drucken
SELECTION-SCREEN SKIP 1.
PARAMETERS:
tasch AS CHECKBOX DEFAULT 'X', "Druck TA-Schein
lesch AS CHECKBOX DEFAULT 'X', "Druck LE-Schein
letasch AS CHECKBOX DEFAULT 'X', "Druck LE-TA-Schein
leinh AS CHECKBOX DEFAULT 'X'. "Druck LE-Inhaltsverzeichnis
SELECTION-SCREEN END OF BLOCK xxx.
Interne Tabellen *
*........Tabelle der TA-Positionen.....................................
DATA: BEGIN OF tap OCCURS 50.
INCLUDE STRUCTURE ltap.
INCLUDE STRUCTURE ltap1.
DATA: END OF tap.
DATA: BEGIN OF lsperr OCCURS 50.
INCLUDE STRUCTURE lein.
DATA: END OF lsperr.
DATA BEGIN OF options1.
INCLUDE STRUCTURE itcpo.
DATA END OF options1.
DATA: BEGIN OF prlst_tmp.
INCLUDE STRUCTURE print_co.
DATA: END OF prlst_tmp.
DATA: BEGIN OF l_qamvtab OCCURS 10.
INCLUDE STRUCTURE qamv.
DATA: END OF l_qamvtab.
DATA: BEGIN OF l_qamv_save.
INCLUDE STRUCTURE qamv.
DATA: END OF l_qamv_save.
*DATA: BEGIN OF G_QAMV_TAB OCCURS 10.
INCLUDE STRUCTURE QAMV.
*DATA: END OF G_QAMV_TAB.
DATA: BEGIN OF qamvtab OCCURS 10.
INCLUDE STRUCTURE qamv.
DATA: END OF qamvtab.
DATA: BEGIN OF qapotab OCCURS 10.
INCLUDE STRUCTURE qapo.
DATA: END OF qapotab.
DATA: BEGIN OF qasvtab OCCURS 10.
INCLUDE STRUCTURE qasv.
DATA: END OF qasvtab.
DATA: BEGIN OF i_qals.
INCLUDE STRUCTURE qals.
DATA: END OF i_qals.
DATA: i_first_print(1) VALUE 'X',
i_print_message LIKE tq30-kzmessage VALUE 'X'.
DATA: BEGIN OF qsperr OCCURS 100.
INCLUDE STRUCTURE lqua.
DATA: END OF qsperr.
*........Interne Tabelle zur Aufnahme der Druckinformationen zu dem.....
*........Druck von Palettenscheinen. ...................................
*........(Achtung: wird auch gebraucht im RLKOMM00-Kommilistendruck)....
DATA: BEGIN OF int_ledruck OCCURS 100,
drukz LIKE t329f-drukz,
formu LIKE t329f-formu,
tddelete LIKE t329p-tddelete,
tdnewid LIKE t329p-tdnewid,
tdimmed LIKE t329p-tdimmed,
tddataset LIKE t329p-tddataset,
tdcopies LIKE t329p-tdcopies,
ldest LIKE t329d-ldest,
le_schtyp,
sorco(4),
lenum LIKE lein-lenum,
vltyp LIKE ltap-vltyp,
vlber LIKE ltap-vlber,
vlpla LIKE ltap-vlpla,
nltyp LIKE ltap-nltyp,
nlber LIKE ltap-nlber,
nlpla LIKE ltap-nlpla,
lgnum LIKE ltap-lgnum,
nidr2 LIKE t329d-nidr2,
nidr3 LIKE t329d-nidr3,
nidr4 LIKE t329d-nidr4,
END OF int_ledruck.
........Protoco of Printer search instead of print out...............
DATA: BEGIN OF iproto OCCURS 20.
INCLUDE STRUCTURE lprdr.
DATA: END OF iproto.
Einzelfelder *
DATA: flg_lgtyp_barcode(1) TYPE c VALUE ' '.
DATA: flg_form_open TYPE c,
flg_tadruck_aut TYPE c,
flg_tadruck_man TYPE c,
flg_tadruck_wie TYPE c, " Sapscript oder Abap
flg_taplg1 TYPE c,
flg_taplg2 TYPE c,
flg_druck_umbuch TYPE c,
flg_erster_umbuch TYPE c,
flag for vendors with more than one address //EB Aug99
flg_vendor_addr TYPE c,
erster_durchlauf TYPE c,
mvmt261-flag type c.
DATA: kz_sort_vonlagertyp TYPE c.
DATA: hlp_tapos LIKE ltap-tapos,
hlp_tapos_umbuch LIKE ltap-tapos,
sav_tapos LIKE ltap-tapos,
cnt_samml TYPE p. "Anz. Pos./Blatt
Umbuchungsspezifika.........................................*
DATA: u2_taplg LIKE rldru-taplg,
cnt_umb_pos TYPE c.
DATA: BEGIN OF u2_rl03t.
INCLUDE STRUCTURE rl03t.
DATA: END OF u2_rl03t.
DATA: BEGIN OF u2_ltap.
INCLUDE STRUCTURE ltap.
DATA: END OF u2_ltap.
Konstanten *
DATA: druckaufbereitung(16) TYPE c VALUE 'X_PAPER_NT ',
con_blank LIKE ltap-vorga VALUE ' ',
con_eins LIKE ltap-tapos VALUE '0001',
con_tb LIKE ltap-vorga VALUE 'TB',
con_u1 LIKE ltap-vorga VALUE 'U1',
con_u2 LIKE ltap-vorga VALUE 'U2',
con_schein_le VALUE '1', "LE-Schein
con_schein_leta VALUE '2', "LE-TA-Schein
con_schein_lei VALUE '3', "LE-Inhaltsverzeichnis
con_vorga_tl LIKE t342-vorga VALUE 'TL',
rfltn(18) TYPE c,
taplg(19) TYPE c,
*taplg(19) TYPE c,
talgn(15) TYPE c.
*.......Altlasten wegen gemeinsamer Includes............................
DATA: abap TYPE c VALUE 'A',
sapscript TYPE c VALUE 'S',
formular LIKE t329f-formu.
DATA: bar1 TYPE c,
bar2 TYPE c,
bar3 TYPE c,
bar5 TYPE c,
shipping TYPE c,
afsdesc LIKE caufv-ktext,
afsnum LIKE afpo-matnr,
engdesc LIKE makt-maktx,
engsernum LIKE afpo-charg,
destplan LIKE mseg-werks,
srcplan LIKE mseg-werks,
deststor LIKE mseg-lgort,
srcstor LIKE mseg-lgort,
destbin LIKE ltap-nlpla,
prodordnum LIKE afpo-aufnr,
collectord LIKE caufv-maufnr,
engnum LIKE caufv-stlbez,
sonum LIKE ltap-nlpla,
topass TYPE c,
rush TYPE c,
delnum LIKE ltap-nlpla,
soitemnum(16) TYPE c,
textkey(15) TYPE c,
textkey1(10) TYPE c,
class-text(15) TYPE c VALUE 'Classification:',
sdgrpchk LIKE ltap-vlpla,
temp-ltak-date like ltak-bdatu,
temp-wm-mvmt like ltak-bwlvs.
DATA: BEGIN OF i_snum OCCURS 0,
aufnr LIKE zpps-aufnr,
zmatnr LIKE zpps-zmatnr,
zatserial LIKE zpps-zatserial,
*{ Modification Start P913099
Added the following fields
zatcage LIKE zpps-zatcage,
zatser_cage(23) TYPE c, " Concatenate zatserial + zatcage.
*}Modification End P913099
END OF i_snum.
DATA: w_remain LIKE sy-tabix,
w_line LIKE sy-tabix,
w_start LIKE sy-tabix,
w_end LIKE sy-tabix,
*{ Modification Start P913099
*Commented the two fields
serialnum1 LIKE zpps-zatserial,
serialnum2 LIKE zpps-zatserial.
Added the following fields
serialnum1(23) type c,
serialnum2(23) type c.
*}Modification End P913099
*{ Added for SR:27018
DATA: flag_watermark_cust,
wm_text LIKE zcscf-zwmtext,
csc_uk_wm TYPE c.
DATA: BEGIN OF i_zcscf OCCURS 10.
INCLUDE STRUCTURE zcscf.
DATA: END OF i_zcscf.
Added for the Ethis Project...Aug 2001 //EB
DATA: temp-objek LIKE inob-objek,
temp-lsonr LIKE rl03t-lsonr.
DATA: BEGIN OF temp_inob.
INCLUDE STRUCTURE inob.
DATA: END OF temp_inob.
DATA: BEGIN OF temp_kssk.
INCLUDE STRUCTURE kssk.
DATA: END OF temp_kssk.
DATA: BEGIN OF temp_ausp.
INCLUDE STRUCTURE ausp.
DATA: END OF temp_ausp.
DATA: BEGIN OF temp_cawnt.
INCLUDE STRUCTURE cawnt.
DATA: END OF temp_cawnt.
DATA: BEGIN OF temp_cabnt.
INCLUDE STRUCTURE cabnt.
DATA: END OF temp_cabnt.
DATA: BEGIN OF temp_ksml OCCURS 0,
imerk LIKE ksml-imerk,
END OF temp_ksml.
DATA: BEGIN OF out_batch_class OCCURS 0,
description LIKE cabnt-atbez,
value LIKE ausp-atwrt,
END OF out_batch_class.
DATA: BEGIN OF i_ltap OCCURS 0,
tanum LIKE ltap-tanum,
vlpla LIKE ltap-vlpla,
vltyp LIKE ltap-vltyp,
vlber LIKE ltap-vlber,
vsolm LIKE ltap-vsolm,
END OF i_ltap.
DATA special-fill(18) TYPE c.
DATA float-value TYPE p DECIMALS 3.
DATA: actualen TYPE i,
remlen TYPE i,
atsign(1) TYPE c VALUE '@',
source-wbs-ele LIKE zmapd-zsourceposid,
pono LIKE mseg-ebeln,
vendorno LIKE mcha-lifnr,
linecnt TYPE i,
char-prodorder LIKE ausp-atwrt.
DATA: persono LIKE usr21-persnumber,
first-name LIKE adrp-name_first,
last-name LIKE adrp-name_last.
end Aug 2001 //EB
issue#MM20020808 // EB Aug 2002
DATA: BEGIN OF temp_mseg occurs 0,
mblnr like mseg-mblnr,
mjahr like mseg-mjahr,
zeile like mseg-zeile,
bwart like mseg-bwart,
xauto like mseg-xauto,
matnr like mseg-matnr,
lgort like mseg-lgort,
tbnum like mseg-tbnum,
werks like mseg-werks,
END OF temp_mseg.
data: temp-beskz like marc-beskz,
temp-fevor like marc-fevor,
temp-msg-text(10) type c,
high-priority-flag type c.
issue#MM20020819 // EB Aug 2002
DATA: temp-indx(4) TYPE n.
SR29757 //EB sept 2002
DATA: BEGIN OF temp_afvc OCCURS 0,
aplzl LIKE afvc-aplzl,
plnkn LIKE afvc-plnkn,
vornr LIKE afvc-vornr,
objnr LIKE afvc-objnr,
END OF temp_afvc.
DATA: stattext-oper(40) TYPE c,
temp-drukz LIKE t333-drukz,
oper-count TYPE i.
end SR29757
TYPES: BEGIN OF t_storloc,
storloc TYPE mseg-lgort,
END OF t_storloc.
DATA: storloc_tbl TYPE STANDARD TABLE OF t_storloc WITH HEADER LINE.
TYPES: BEGIN OF t_sched1,
fevor TYPE afko-fevor,
END OF t_sched1.
DATA: sched1_tbl TYPE STANDARD TABLE OF t_sched1 WITH HEADER LINE.
TYPES: BEGIN OF t_sched2,
fevor TYPE afko-fevor,
END OF t_sched2.
DATA: sched2_tbl TYPE STANDARD TABLE OF t_sched2 WITH HEADER LINE.
INCLUDE mllvskon.
........Sort-routeenies and definition of output table OUT..........
Egidio Jan 99
INCLUDE zlvsdr30.
AT SELECTION-SCREEN *
AT SELECTION-SCREEN.
PERFORM at_selection_screen.
wait up to 10 seconds.
START-OF-SELECTION *
START-OF-SELECTION.
PERFORM start_of_selection.
GET LTAK *
GET ltak.
PERFORM get_ltak.
clear temp-ltak-date.
temp-ltak-date = ltak-bdatu.
temp-wm-mvmt = ltak-bwlvs.
GET LTAP *
GET ltap.
CLEAR temp-indx.
PERFORM get_ltap.
GET NEW TABLES INFO (CODE MOVED IN form get_ltap.)
perform new_tables_access.
END-OF-SELECTION *
END-OF-SELECTION.
PERFORM end_of_selection.
Unterprogramme, die zu den einzelnen Reportereignissen *
aufgerufen werden: *
AT_SELECTION_SCREEN *
START_OF_SELECTION *
GET_LTAK *
GET_LTAP *
END_OF_SELECTION *
AT SELECTION-SCREEN *
FORM at_selection_screen.
*........Prüfen das eingegebene Druckkennzeichen.......................
IF druckkz NE space.
PERFORM t329f_lesen USING t4_lgnum druckkz.
IF sy-subrc NE 0.
MESSAGE a118 WITH t4_lgnum druckkz.
ENDIF.
ENDIF.
*........Prüfen den eingegebenen Drucker...............................
IF edrucker NE space.
PERFORM tsp03_lesen USING edrucker.
IF sy-subrc NE 0.
MESSAGE a119 WITH edrucker.
ENDIF.
ENDIF.
*........Prüfen das eingegebene Spoolparameterkennzeichen..............
IF spoolpar NE space.
PERFORM t329p_lesen USING t4_lgnum spoolpar.
IF sy-subrc NE 0.
MESSAGE a116 WITH t4_lgnum spoolpar.
ENDIF.
ENDIF.
ENDFORM.
START-OF-SELECTION *
FORM start_of_selection.
........Is used in mutual include RLVSEXTE...........................
flg_tadruck_wie = sapscript.
........Initialize internal table out ...............................
REFRESH out.
*........Importieren von QPSERR und LSPERR aus Memory
IF NOT t4_kzmem IS INITIAL.
IMPORT qsperr
lsperr FROM MEMORY ID druck_id.
SORT qsperr.
ENDIF.
ENDFORM.
GET LTAK *
FORM get_ltak.
CLEAR cpkme.
*........Read T340D-REPID once to def. Work-area for data -> open_form
PERFORM t340d_lesen USING ltak-lgnum.
*........Druckkennzeichen .............................................
IF druckkz IS INITIAL.
*........Druckkennzeichen aus dem TA-Kopf..............................
IF ltak-drukz IS INITIAL.
MESSAGE a114.
ELSE.
*........read necessary information about Sort-indicator and check....
PERFORM t329f_lesen USING t4_lgnum ltak-drukz.
IF sy-subrc NE 0.
MESSAGE a118 WITH t4_lgnum ltak-drukz.
ENDIF.
ENDIF.
ENDIF.
*........Prüfen, ob Wiederholdruck ....................................
IF NOT ltak-druck IS INITIAL. " Mimik für Wiederholdruck
MOVE text-002 TO rldru-wiedr. " Druckwiederholung
ENDIF.
*........Lesen Text zur Transportart..................................
PERFORM t333b_lesen USING ltak-lgnum ltak-trart.
........Lesen Kanbandaten / Read Kanbandata if necessary.............
IF NOT ltak-pknum IS INITIAL AND NOT ltak-pkpos IS INITIAL.
PERFORM kanban_read.
ENDIF.
.......Füllen IKOPF / Fill internal table IKOPF......................
PERFORM ikopf_fuellen.
ENDFORM.
GET LTAP *
FORM get_ltap.
.......Print certificate number etc... when printing online.........
PERFORM ltap_adding_from_qsperr.
.......Special treatment for posting changes........................
PERFORM posting_change_special.
*.......Print extra note when TO is inventory doc. or when 0-stock-ctrl.
PERFORM inv_nulko_note.
.......Mixing of bin location with position within bin...............
PERFORM platz_positionen_mischen.
.......Special stock into external format............................
PERFORM sonum_conversion.
.......Find Printer according to Printer tables etc..................
PERFORM printer_search.
ZPJ_LVSUMBUCHEN was added for production issue #518795
CLEAR temp_mseg[].
IF t329f-formu = 'ZPJ_LVSTAEINZEL' OR
t329f-formu = 'ZPJ_LVSUMBUCHEN' OR
t329f-formu = 'ZPJ_LVSTA961ZEL'.
*issue mm515642
SELECT mblnr mjahr zeile bwart xauto matnr lgort tbnum werks
INTO CORRESPONDING FIELDS OF TABLE temp_mseg FROM mseg
WHERE mblnr EQ ltak-mblnr
AND mjahr EQ ltak-mjahr
AND matnr EQ ltap-matnr.
ELSE.
*issue mm20200819
SELECT mblnr mjahr zeile bwart xauto matnr lgort tbnum werks
INTO CORRESPONDING FIELDS OF TABLE temp_mseg FROM mseg
WHERE mblnr EQ ltak-mblnr
AND mjahr EQ ltak-mjahr
AND lgort EQ ltak-lgnum.
ENDIF.
PERFORM new_tables_access.
.......Füllen Out / Fill internal table OUT..........................
PERFORM out_fuellen.
ENDFORM.
END-OF-SELECTION *
FORM end_of_selection.
*........Some helper fields...........................................
DATA: sav_vltyp LIKE ltap-vltyp,
sav_tanum LIKE ltap-tanum,
sav_formu LIKE t329f-formu,
sav_tddelete LIKE t329p-tddelete,
sav_tdimmed LIKE t329p-tdimmed,
sav_tdnewid LIKE t329p-tdnewid,
sav_tddataset LIKE t329p-tddataset,
sav_tdcopies LIKE t329p-tdcopies,
sav_ldest LIKE ltap-ldest.
DCE Project (SR 29757)
Determine if TO is assigned to a Queue instead of printing
DATA: to_warehouse LIKE ltak-lgnum,
to_nbr LIKE ltak-tanum,
wk_queue LIKE ltak-queue, "Queue
wk_priority LIKE ltak-tapri,
process_hotpick TYPE c,
assign_msg(6) TYPE c.
SR#83485 do not print the TO if......
if temp-wm-mvmt is initial.
move ltak-bwlvs to temp-wm-mvmt.
endif.
if srcplan = '0001' and
destplan = '0017' and
temp-wm-mvmt = '911'.
exit.
endif.
Only check the hotpicks with movement type 261
CLEAR process_hotpick.
IF ( hotpick = 'X' OR
hotpick = 'A' OR
hotpick = 'B' OR
hotpick = 'C' OR
hotpick = 'D' ) AND
ikopf-bwart NE 261.
process_hotpick = 'X'.
ENDIF.
CLEAR assign_msg.
IF ikopf-queue IS INITIAL AND
ikopf-kquit NE 'X' AND
process_hotpick NE 'X' AND
Warehouse 17A
( ( ikopf-lgnum = '17A' AND
( ikopf-bwart = 101 OR
ikopf-bwart = 105 ) ) OR
Warehouse 1A
( ikopf-lgnum = '1A ' AND
( ikopf-bwart = 101 OR
ikopf-bwart = 105 OR
ikopf-bwart = 231 OR
ikopf-bwart = 261 OR
ikopf-bwart = 351 OR
ikopf-bwart = 541 OR
ikopf-bwart = 911 ) ) ).
ikopf-bwart = 954 ) ) ). "KYS
to_warehouse = ikopf-lgnum.
to_nbr = ikopf-tanum.
PERFORM assign_queue IN PROGRAM zmrf_assign_queue
USING to_warehouse to_nbr wk_queue
wk_priority assign_msg hotpick.
ENDIF.
Bypass printing if TO is assigned to a queue
IF assign_msg = 'ASSIGN'.
ltak-tapri = wk_priority.
ltak-queue = wk_queue.
IF wk_queue(6) = 'PALLET'.
SELECT SINGLE zcage INTO wk_queue
FROM ztocage
WHERE lgnum = ltak-lgnum AND
tbnum = ltak-tbnum.
IF sy-subrc NE 0.
wk_queue = 'PALLET_??'.
ENDIF.
ENDIF.
IF wk_priority = 5.
CONCATENATE wk_queue 'Hotpick' INTO ltak-lznum SEPARATED BY space.
ELSE.
ltak-lznum = wk_queue.
ENDIF.
CLEAR assign_msg.
ELSE.
Ethis phase III //EB Sept 2002
CLEAR temp-drukz.
PERFORM check-movement-types.
clear: mvmt261-flag, high-priority-flag.
perform get_usrdefined_stortype.
issue #552159
IF temp-drukz = '05'.
move 'X' to high-priority-flag.
PERFORM mvmt961_logic.
SR#76047
elseif not mvmt261-flag is initial .
move 'X' to high-priority-flag.
perform mvmt261_special_logic.
SR#82839 (not yet implemented Feb 2006(EB)
if mseg-werks = '0001' and
ikopf-bwart = '261'.
loop at temp_mseg.
clear: temp-beskz, temp-fevor, temp-msg-text.
select single beskz fevor into (temp-beskz, temp-fevor) from marc
where matnr = temp_mseg-matnr and
werks = temp_mseg-werks.
perform get_userdefined_scheduler.
read table sched1_tbl with key fevor = temp-fevor.
if sy-subrc = 0.
move ' AMAX' to temp-msg-text.
else.
read table sched2_tbl with key fevor = temp-fevor.
if sy-subrc = 0.
move ' Solumina' to temp-msg-text.
endif.
endif.
check sy-subrc = 0.
if sy-subrc = 0 and temp-beskz = 'E'.
perform solumina_PO_signal.
endif.
endloop.
endif.
endif.
if high-priority-flag is initial.
flg_form_open = con_false.
MOVE con_x TO erster_durchlauf.
Ausdruck der TA-Scheine / Printing normal TO papers *
(wenn Parameter "Druck TA-Schein" gesetzt ist) *
IF tasch = con_x.
*.......Einzelne TA-Positionen drucken bzw. Sammelliste................
LOOP AT ikopf.
PERFORM sort_out.
PERFORM ikopf_to_original.
CLEAR item_count.
LOOP AT out WHERE ltap-tanum = ltak-tanum. "GV01
item_count = item_count + 1.
ENDLOOP.
LOOP AT out WHERE flg_druck_umbuch IS initial
AND ltap-tanum = ltak-tanum.
.......Filling because of form-handling............................
PERFORM out_to_original.
Batch classification description & value + vendor & PO
This was inserted for for the ETHIS project Aug 2001; by EB
clear out_batch_class[].
FREE out_batch_class.
PERFORM batch_classification.
PERFORM mvmt281_extra_info.
*........Prüfen, ob gemäß T329D-Einstellung gedruckt werden darf......
*//....../ Check with T329D if printing is allowed....................
CHECK t329d-nidru <> con_x.
*//.....Drucken Einzeldruck / Solo-Printing (One TO-item per page) ....
IF out-samml IS INITIAL.
PERFORM einzelta_drucken. " Drucken Positionen einzeln
ENDIF.
*.......Printing Collect list / Sammelliste ..........................
*//.....Wechsel VON-Lagertyp ( nur bei Sammellisten )...................
IF ltap-tanum <> sav_tanum OR
ltap-vltyp <> sav_vltyp OR
out-formu <> sav_formu OR
out-tddelete <> sav_tddelete OR
out-tdimmed <> sav_tdimmed OR
out-tdnewid <> sav_tdnewid OR
out-tddataset <> sav_tddataset OR
out-tdcopies <> sav_tdcopies OR
out-ldest <> sav_ldest.
.........more interesting coding.....................................
IF kz_sort_vonlagertyp = con_x AND
t329f-samml = con_x.
PERFORM druck_ansteuern.
.........get back to the boring part.................................
sav_tanum = ltap-tanum.
sav_vltyp = ltap-vltyp.
sav_formu = out-formu.
sav_tddelete = out-tddelete.
sav_tdimmed = out-tdimmed.
sav_tdnewid = out-tdnewid.
sav_tddataset = out-tddataset.
sav_tdcopies = out-tdcopies.
sav_ldest = out-ldest.
ENDIF.
ENDIF.
*//.....On change of any one of the fields in the OUT before TANUM .. ..
IF ltap-tanum <> sav_tanum OR
out-formu <> sav_formu OR
out-tddelete <> sav_tddelete OR
out-tdimmed <> sav_tdimmed OR
out-tdnewid <> sav_tdnewid OR
out-tddataset <> sav_tddataset OR
out-tdcopies <> sav_tdcopies OR
out-ldest <> sav_ldest.
.........more interesting coding.....................................
IF out-samml = con_x AND
kz_sort_vonlagertyp <> con_x.
PERFORM druck_ansteuern.
.........get back to the boring part.................................
sav_tanum = ltap-tanum.
sav_formu = out-formu.
sav_tddelete = out-tddelete.
sav_tdimmed = out-tdimmed.
sav_tdnewid = out-tdnewid.
sav_tddataset = out-tddataset.
sav_tdcopies = out-tdcopies.
sav_ldest = out-ldest.
ENDIF.
ENDIF.
*.......Drucken Sammelliste / Printing into list.......................
IF NOT out-samml IS INITIAL.
PERFORM sammelliste_drucken_sapscript.
ENDIF.
MOVE space TO erster_durchlauf.
ENDLOOP.
IF wrkeof = 'X'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'EOF'.
ENDIF.
*.......Beim Ende von Druckparameter und Drucker - Formular schliessen..
IF NOT out-samml IS INITIAL.
PERFORM formular_schliessen.
ENDIF.
ENDLOOP.
*........Formular schließen / Close last Form .........................
PERFORM formular_schliessen.
Drucken Umbuchanweisung / Print posting changes extra .........
LOOP AT ikopf.
PERFORM sort_out.
PERFORM ikopf_to_original.
CLEAR: u2_rl03t, u2_ltap, u2_taplg, cnt_umb_pos.
CLEAR item_count.
LOOP AT out WHERE ltap-tanum = ltak-tanum. "GV01
item_count = item_count + 1.
ENDLOOP.
LOOP AT out WHERE flg_druck_umbuch = con_true
AND ltap-tanum = ltak-tanum.
PERFORM out_to_original.
Batch classification description & value + vendor & PO
This was inserted for for the ETHIS project Aug 2001; by EB
clear out_batch_class[].
FREE out_batch_class.
PERFORM batch_classification.
PERFORM umbuchungen_drucken.
ENDLOOP.
ENDLOOP.
ENDIF.
Druck der Scheine zu den Lagereinheiten./ Print LE-forms ....*
(wenn entsprechende Parameter gesetzt sind)..................*
IF lesch = con_x OR letasch = con_x OR leinh = con_x.
PERFORM le_druck. "in Include-RLVSDR31
ENDIF.
Ethis III // Sept 2002
ENDIF.
SR#29757
ENDIF.
ENDFORM.
INCLUDES *
*........Zulesen der Gefahrenvermerke...................................
*........Preparing hazardous goods notes
INCLUDE rlvsmgef.
*........Externer Aufruf des Druckprogramms.............................
*........Call of printing from external i.e. out of posting TOs
INCLUDE rlvsexte.
*........Zulesen der Druckroutine für SAPSCRIPT-Druck Einzel-TA.......
*........Printing Solo-formulars
*include rlvsdr90.
INCLUDE zlvsdr90. "//GV1
*........Zulesen der Druckroutine für SAPSCRIPT-Druck Sammelliste.....
*........Printing lists
*include rlvsdr91.
INCLUDE zlvsdr91. "//GV1
*........Zulesen der Druckroutine für SAPSCRIPT-Druck Umbuchungen.....
*........Printing posting changes
*include rlvsdr92.
INCLUDE zlvsdr92. "//GV1
*........Drucken von Lagereinheiten. ..................................
*........Printing Storage Units
*include rlvsdr31.
INCLUDE zlvsdr31. "//GV1
*........Print a different form for movement type 961/962..............
INCLUDE zlvsdr961. "//sr#44937 //EB
*........New tables access
INCLUDE zpjlvsdx. "//GV1
INCLUDE zspectrm.
SR#82839
include zsignal.
FORM BARCODE_TAPLG *
Barcodeverschlüsselung mit TA-Nummer,-Position und Lgnum *
FORM barcode_taplg.
WRITE ltak-tanum TO rldru-taplg(10). " EinzelPositionsDruck
WRITE ltap-tapos TO rldru-taplg+10(4).
WRITE ltak-lgnum TO rldru-taplg+14(3).
ENDFORM.
FORM DRUCK_ANSTEUERN *
Anstoßen des DRUCKS über SAPSCRIPT *
FORM druck_ansteuern.
*........Eventuell offenes Formular schließen / Close open forms......
IF flg_form_open = con_true.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'EOF'. "GV01
PERFORM formular_schliessen.
ENDIF.
*........Das neue Formular eroeffnen
PERFORM formular_oeffnen.
PERFORM sammelliste_kopf.
ENDFORM.
FORM EINZELTA_DRUCKEN *
Druckvorbereitung *
FORM einzelta_drucken.
IF flg_form_open = con_true.
PERFORM formular_schliessen.
ENDIF.
........Hazardous materials, Barcode.................................
PERFORM solo_prepare.
PERFORM formular_oeffnen. "Open
PERFORM einzelta_drucken_sapscript. "RLVSDR90
PERFORM formular_schliessen. "Close
ENDFORM.
FORM FORMULAR_OEFFNEN *
Formular oeffnen *
FORM formular_oeffnen.
flg_form_open = con_true.
........Füllen ITCPO ................................................
.........Anhängen an Spool oder Neueintrag ? ........................
IF t329p-tdnewid = con_x.
MOVE t329p-tdnewid TO itcpo-tdnewid.
ENDIF.Let it be more clear.
U pasted the driver program .
What I suggest u to do is use routines and do the required things.For this u will have seperate program,check out that and let me know.
Regards -
Make PDF formular only accessable for one user at the same time?
Hello!
I designed a formular which needs to be filled in by different departments of our company. Unfortunatly the DF can be opened by several people at the same time. Is there any way to "lock" the PDF, fot that only one user has access to the formular at the same time, like e.g in MS Word Docs?
Please help, I coudn´t find a solution myself.
Thanks!
K.B.This needs to be done on an OS level not by the application.
-
Text item validation into Formular.
hi.
From some days I have written my fiirst application using Oracle Forms6i.
In oracle9i I created table USER with column id_user number(5), username varchar2(10) and passwd varchar2(12).
In oracle forms builder I created the formular with 4 controls(2 fields - username and passwd ,one button to login user and Text item to the botton of this formular to print message for user). In ProperPalette for Text item 'username' and 'passwd' I set adequately Maximum Lenght peperty to 10 and 12(for 'passwd' field) and Required to Yes.
Then I wanted to make a validation username and passwd fields in this way, that the user can put in 'username' field the string with length between 8 to 10 and for 'passwd' between 8 to 12 and checking all other cases incorrect data entering by login user.
I created trigger WHEN-MOUSE-CLICK for button with this body:
declare
dlug_username number;
dlug_passwd number;
begin
dlug_username := length(:user_data_log.username);
dlug_passwd := length(:user_data_log.passwd);
if (:user_data_log.username = NULL and :user_data_log.passwd = NULL) then
:user_data_log.komunikaty_logowania := 'you didn enter any data!';
elsif dlug_username >= 8 and dlug_passwd >= 8 then
:user_data_log.komunikaty_logowania := 'Correct data!';
elsif dlug_username < 8 or dlug_passwd < 8 then
:user_data_log.komunikaty_logowania := 'Fields USERNAME i PASSWD must have more then 8 sign. Correct them!';
:user_data_log.username := '';
:user_data_log.passwd := '';
end if;
exception
when VALUE_ERROR then
:user_data_log.komunikaty_logowania := dlug_username;
end;
When I run this form by Run Form client/server button, it's not matter what I'll enter in two field 'username', 'passwd', when I press button always is invoke exception section
but no if condition.
Now, I don't know what do with this. What is the best way to resolve problems with validation of form elements?
Thanks in advance for all help, some hints, tutorials. I appologise for so long post, but I
want directly describe my problem. Thanks.Hi,
Regarding to your post and your problem , obviously the code doesn't go into the
IF condition and validate it becouse the syntax is not appropriate and every time it goes to the IF it jumps into the exception part. Thats why you have to correct your code as fllowing.
if (:user_data_log.username IS NULL) and (:user_data_log.passwd IS NULL) then
etc till the end of the code.
Kindly if this approach meet your requirment of solving , update your problem with a Subject of Solved
Regards
Omar -
Pictures in insert in form central not visible in pdf formular after export
Why it is not fisible to see the picture in the pdf formular after export from FormsCentral
Hi,
Please refer to the following FAQ document: http://forums.adobe.com/docs/DOC-4144
Post back to this thread if it doesn't help to resolve the issue.
Regards,
Brian -
How to use routine or formular in the transformation??
I need to write a routine or use formular in the transformation. The requirement is to change the value from source field calendar day (char. 8) e.g. 05.08.2008 to 07.2009 in infoobject ZCALMONTH(char.6) after data uploaded into infoprovider, namely plus one year. Does anyone know how to write a routine or use formular in the transformation.
Hi,
Try this..
> data: year type i.
> data:month type i.
> data:lv_calday(6) type c.
> year = source_fields-calday+0(4).
> year = year + 1.
> month = source_fields-calday+4(2).
> if ( month <> 1 ).
> month = month - 1.
> else.
> month = 12.
> year = year - 1.<here correct it as per your requirement - u want next year or previous year>
> endif.
> concatenate year month to lv_calday.
> result = lv_calday.
Hope it helps.Let me know any issues.
Regards,
Rathy
Edited by: Rathy Moorthy on Jul 22, 2009 7:51 AM -
Crosstab query using PL/SQL [HELP]
hi all,
i got this output after execute my query:
week no | department | item | budget
1 | 0901 | salary | 25000
1 | 0901 | stationery | 5000
1 | 5501 | salary | 45000
2 | 0901 | salary | 25000
2 | 5501 | salary | 25000
2 | 5501 | stationery | 100
i hope to get the output like below:
dept/week no 1 2 3
=========================================
0901 30,000 25,000 800 (A)
5501 45,000 25,100 100 (B)
variance 45,000 70,000 70,800 (C)
=========================================
Grand total - 75,000 - 50,100 - (D)
======================================
NOTE:
the week is from week 1 until week 52, is it advisable to use looping or??.
It is more than 2 departments and items as well. the user is allowed to passing in more than 1 selection of the items (salary,stationary,hardware and software, etc) to get this report.
I need to display the output on the screen/spool into file after the execution.
==========
Definition
===========
Grant total (D1) by week =(A1 + B1)
Variance (C1) for the 1st week of the year will always take the (B1) values as the based values for the next calculation. whereas (C2) = (C1) + (A2) and (C3) =(C2)+(A3) and the same formular apply up to week 52.
the pivot method not a suitable solution to produce this output.
anyone can suggest the shorter and more intelligent solution?
this is very urgent, pls help!! thankYou can get your basic data by,
SELECT department, week_no, sum(budget) AS budget
FROM your_table
GROUP BY department, week_no;Then you'll just pivot the above data by week. Then you can use an analytic SUM() to get your weekly totals.
WITH your_table AS (
SELECT '0901' AS department, 1 AS week_no, 1000 AS budget FROM dual
UNION ALL
SELECT '1234' AS department, 1 AS week_no, 500 AS budget FROM dual)
SELECT v.*,
SUM(budget) OVER (PARTITION BY week_no) AS week_total
FROM (
SELECT department, week_no, sum(budget) AS budget
FROM your_table
GROUP BY department, week_no
ORDER BY department, week_no
) v;I have to admit I'm a bit confused about your definition of variance. -
Help converting binary to decimal.
Hi all.
I'm taking a course in Java programming and so far its been a great experience. I'm currently stumped on one of my assignments and I am kindly requesting some assistance.
Basically I have to convert a binary entry into its decimal comparison.
so for instance an entry of 1101 would output 13.
I have the calculation formula, but my problem is finding out whether the point i'm looking at is either a 1 or a 0. I can't seem to 'strip it down' to the value.
My current thought is something like this:
binary = 1101;
// problem is here
thou = (binary % 1000) / 1000;
hund = (thou % 100) / 100;
tens = (hund % 10) / 10;
ones = (tens % 1) / 1;
// then do formular
decimal = ones * 1 + tens * 2 + hund * 4 + thou * 8;
I have searched but all the suggestions say to use a custom function or other obscure method. I don't know that stuff real well and we aren't even that far in the book either. All we've done so far is while, if .. else, condition statements.
I will include the actual text for the question, in case i'm not clear. This text also includes a 'tip' which isn't helping me. (http://www.geocities.com/kaveman2000/q-4-25.pdf)
Thanks again for any pointers.angeles1016 (and all),
thanks for your great help and code snippets.
angeles1016,
using the code you provided i noticed that the last (single digit) was giving the wrong response in certain cases. (1000, 0111, 0001, ..) i could be off one.
either way, i decided to fix it up and give you all the update.
// do class, main function stuff
if(binary/1000 == 1){
thousands += (binary/1000);
temp = binary % 1000;
if(temp/100 == 1){
hundreds += (temp/100);
temp = temp % 100;
if(temp/10 == 1){
tens += (temp/10);
temp = temp % 10;
if(temp/1 == 1){
ones += (temp/1);
// calculate binary to decimal
decimal = (ones * 1) + (tens * 2) + (hundreds * 4) + (thousands * 8);
// take result and convert to string for output
result += "Decimal: " + decimal + "\n";
// display in gui ?
// end function and class stuff(note: i suppose the statements similar to "thousands += (binary/1000);" can be simplified as "thousands = 1;") -
Is there a way the user to change the equation in the formular node from the front panel on the fly, dynamically?
Try the Parser VIs (also known as LV Mathematics VIs, or simply GMath VIs) located under the Analyze>>Mathematics palette (not in the Base package). You might want to start with the "Eval Formual Node.vi" located in the Analyze>>Mathematics>>Formula palette. There are many differences between these G-based, dynamic formula VIs and the LabVIEW formula node, but these VIs often prove quite useful when your formula changes on the fly. For more detail on the differences, see the LabVIEW Help file (Cntrl-Shift-? from within LabVIEW) under the topic "Mathematics VIs, parser differences with Formula Node".
-
Urgent: Formular question: get first/last month value with qty value
We've got a query result as the following:
Jan_2007 -- Feb_2007 -- Mar_2007 -- Apr_2007
0 --- 54 --- 0 --- 3
23 ---0 --- 12 --- 7
In the above query result,
1st row shows the sales quantity in Jan_2007 is 0, in Feb_2007 is 54, in Mar_2007 is 0, and in Apr_2007 is 3.
2nd row shows the sales quantity in Jan_2007 is 23, in Feb_2007 is 0, in Mar_2007 is 12, and in Apr_2007 is 7.
We would like to add a new column to get the first/last month value with quantity, e.g., in 1st row, the 1st month value with quantity value (>0) is Feb_2007, and the last month value with quantity value (>0) is Apr_2007. Therefore the 1st month value with qty is Feb_2007 and the last month value with qty is Apr_2007. In 2nd row, the first month value with qty is Jan_2007 and the last month value with qty is Apr_2007. But how to use formular to get the 1st/last month values with qty?
We will give you reward points!Hello Kevin,
You can create forumula using [Boolean Operator|http://help.sap.com/saphelp_nw04/helpdata/en/23/17f13a2f160f28e10000000a114084/content.htm]
IF<Logic Expression> THEN <Expression1> ELSE <Expression2> can also be made using a formula in the form
You can also use the [AND, OR Logical operators |http://help.sap.com/saphelp_nw04/helpdata/en/23/17f13a2f160f28e10000000a114084/content.htm]to check all the keyfigure columns.
Thanks
Chandran -
How to edit pdf formulars on the ipad app?
Are there any restrictions?
Thanks for your help!Hi Nico Berthold,
Which forumulas you are trying to edit? Is that related to Adobe Reader M? If your PDF documents have formulas (Javascript or FormCalc), they will not work on mobile app at the moment.
~Deepak -
Formulars with pictures in numbers
Hello,
I need help... I´m creating a list with contacts in numbers and I want that when I´m choosing a name from a list that in a different cell automaticly the picture of the person appears. I was trying arround with the look up formulars but it´s not working with pictures.... Who can help me???Images cannot be manipulated with formulas, they are the background for the cell. And "choosing a name from a list" has to be done with a checkbox or some other means that can be noticed by a formula, selecting a cell with a mouse click will not cause anything to happen.
With those two things in mind, you can get the effect you are after. I'll assume a checkbox will be used and it will be in column A, starting at row 2 (i.e., cell A2 of Table 1).
Create another table for the photos. Use a plain table, no headers. Three columns.
Cell A1 of your new table will have the formula =Table 1::A2 . Fill this down to the end of the table.
I recommend you do something similar in column B to copy the persons' last & first names.
Column C will contain the photos as background images.
Hide column A.
Resize the table cells so the photos are the size you want.
Use Reorganize to set a filter for "show rows where column A is TRUE"
When you check a checkbox in your table (i.e., select a person), the person's photo and name will show up in the other table.
I suggested having the name next to the photo so you can more easily put the correct photo for each person in the table. Otherwise it will be difficult to put the photos in the right places.
I did not hide the column of names so that, if you have selected more than one person, the name appears next to each. You may or may not want that.
Maybe you are looking for
-
Need to add a second hard drive. Which model?
Hello, I would like to add a second hard drive to my G3. My current 12 Gig ATA/133 hard drive is not sufficient anymore for my projects. I would like to choose a SATA hard drive and I need some help with the selection of a model. I am choosing SATA b
-
itunes for some reason wont allow me to add this mpg video file in to library. i even did the copy/paste and drag/drop but nothing happens. updates are already done. im trying to move this video file to my ipad so i can use it on app called minimal f
-
ITunes, App Store, Internet
Hi, I have an iPod 4th generation and the other day it was working fine and I was able to download off of iTunes and the App Store, as well as retrieving my email. However, now even though I have a solid wifi connection it won't connect to anything
-
hi all and thanks for every answer, my problem is this: i made a bw query universe based. in the bw query there are some restricred key figure (i used a variable on month [MMAAAA]) On this universe i want to create 12 queries (always the same) but i
-
Error During Reconciliation(Sun IDM)
During NT reconciliation I got the following error. As a result reconciliation is getting failed within 1 min after reconciliation is started. The error in reconciliation status is: Error while examining user 108000004: com.waveset.util.WavesetExcept