Why this acroform script not working in livecycle E2
I have this script on a acroform and it works great, but when try in live cycle it does not do anything, Can someone think of the reason? Essentially the value in drop down is populated in text filed but want t make a 1d barcode so using barcode font!
event.value = ""; // clear the field;
var oField = this.getField("NAME1");
if(oField != null) {
// populate if not null;
// get the value of the field object and add guard bits and LA;
event.value = "*LA" + oField.value + "*";}
The various object models for scripting in an XFA form are almost entirely different than they are for an AcroForm, so you generally cannot have interchangeable scripts. I'd suggest you ask in the LiveCycle Designer forum for help.
Similar Messages
-
Why this code is not working??? java script
gen_validatorv2.js
JavaScript Form Validator
Version 2.0.2
Copyright 2003 JavaScript-coder.com. All rights reserved.
You use this script in your Web pages, provided these opening credit
lines are kept intact.
The Form validation script is distributed free from JavaScript-Coder.com
You may please add a link to JavaScript-Coder.com,
making it easy for others to find this script.
Checkout the Give a link and Get a link page:
http://www.javascript-coder.com/links/how-to-link.php
You may not reprint or redistribute this code without permission from
JavaScript-Coder.com.
JavaScript Coder
It precisely codes what you imagine!
Grab your copy here:
http://www.javascript-coder.com/
function Validator(frmname)
this.formobj=document.forms[frmname];
if(!this.formobj)
alert("BUG: couldnot get Form object "+frmname);
return;
if(this.formobj.onsubmit)
this.formobj.old_onsubmit = this.formobj.onsubmit;
this.formobj.onsubmit=null;
else
this.formobj.old_onsubmit = null;
this.formobj.onsubmit=form_submit_handler;
this.addValidation = add_validation;
this.setAddnlValidationFunction=set_addnl_vfunction;
this.clearAllValidations = clear_all_validations;
function set_addnl_vfunction(functionname)
this.formobj.addnlvalidation = functionname;
function clear_all_validations()
for(var itr=0;itr < this.formobj.elements.length;itr++)
this.formobj.elements[itr].validationset = null;
function form_submit_handler()
for(var itr=0;itr < this.elements.length;itr++)
if(this.elements[itr].validationset &&
!this.elements[itr].validationset.validate())
return false;
if(this.addnlvalidation)
str =" var ret = "+this.addnlvalidation+"()";
eval(str);
if(!ret) return ret;
return true;
function add_validation(itemname,descriptor,errstr)
if(!this.formobj)
alert("BUG: the form object is not set properly");
return;
}//if
var itemobj = this.formobj[itemname];
if(!itemobj)
alert("BUG: Couldnot get the input object named: "+itemname);
return;
if(!itemobj.validationset)
itemobj.validationset = new ValidationSet(itemobj);
itemobj.validationset.add(descriptor,errstr);
function ValidationDesc(inputitem,desc,error)
this.desc=desc;
this.error=error;
this.itemobj = inputitem;
this.validate=vdesc_validate;
function vdesc_validate()
if(!V2validateData(this.desc,this.itemobj,this.error))
this.itemobj.focus();
return false;
return true;
function ValidationSet(inputitem)
this.vSet=new Array();
this.add= add_validationdesc;
this.validate= vset_validate;
this.itemobj = inputitem;
function add_validationdesc(desc,error)
this.vSet[this.vSet.length]=
new ValidationDesc(this.itemobj,desc,error);
function vset_validate()
for(var itr=0;itr<this.vSet.length;itr++)
if(!this.vSet[itr].validate())
return false;
return true;
function validateEmailv2(email)
// a very simple email validation checking.
// you can add more complex email checking if it helps
if(email.length <= 0)
return true;
var splitted = email.match("^(.+)@(.+)$");
if(splitted == null) return false;
if(splitted[1] != null )
var regexp_user=/^\"?[\w-_\.]*\"?$/;
if(splitted[1].match(regexp_user) == null) return false;
if(splitted[2] != null)
var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
if(splitted[2].match(regexp_domain) == null)
var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
if(splitted[2].match(regexp_ip) == null) return false;
}// if
return true;
return false;
function V2validateData(strValidateStr,objValue,strError)
var epos = strValidateStr.search("=");
var command = "";
var cmdvalue = "";
if(epos >= 0)
command = strValidateStr.substring(0,epos);
cmdvalue = strValidateStr.substr(epos+1);
else
command = strValidateStr;
switch(command)
case "req":
case "required":
if(eval(objValue.value.length) == 0)
if(!strError || strError.length ==0)
strError = objValue.name + " : Required Field";
}//if
alert(strError);
return false;
}//if
break;
}//case required
case "maxlength":
case "maxlen":
if(eval(objValue.value.length) > eval(cmdvalue))
if(!strError || strError.length ==0)
strError = objValue.name + " : "+cmdvalue+" characters maximum ";
}//if
alert(strError + "\n[Current length = " + objValue.value.length + " ]");
return false;
}//if
break;
}//case maxlen
case "minlength":
case "minlen":
if(eval(objValue.value.length) < eval(cmdvalue))
if(!strError || strError.length ==0)
strError = objValue.name + " : " + cmdvalue + " characters minimum ";
}//if
alert(strError + "\n[Current length = " + objValue.value.length + " ]");
return false;
}//if
break;
}//case minlen
case "alnum":
case "alphanumeric":
var charpos = objValue.value.search("[^A-Za-z0-9]");
if(objValue.value.length > 0 && charpos >= 0)
if(!strError || strError.length ==0)
strError = objValue.name+": Only alpha-numeric characters allowed ";
}//if
alert(strError + "\n [Error character position " + eval(charpos+1)+"]");
return false;
}//if
break;
}//case alphanumeric
case "num":
case "numeric":
var charpos = objValue.value.search("[^0-9]");
if(objValue.value.length > 0 && charpos >= 0)
if(!strError || strError.length ==0)
strError = objValue.name+": Only digits allowed ";
}//if
alert(strError + "\n [Error character position " + eval(charpos+1)+"]");
return false;
}//if
break;
}//numeric
case "alphabetic":
case "alpha":
var charpos = objValue.value.search("[^A-Za-z]");
if(objValue.value.length > 0 && charpos >= 0)
if(!strError || strError.length ==0)
strError = objValue.name+": Only alphabetic characters allowed ";
}//if
alert(strError + "\n [Error character position " + eval(charpos+1)+"]");
return false;
}//if
break;
}//alpha
case "alnumhyphen":
var charpos = objValue.value.search("[^A-Za-z0-9\-_]");
if(objValue.value.length > 0 && charpos >= 0)
if(!strError || strError.length ==0)
strError = objValue.name+": characters allowed are A-Z,a-z,0-9,- and _";
}//if
alert(strError + "\n [Error character position " + eval(charpos+1)+"]");
return false;
}//if
break;
case "email":
if(!validateEmailv2(objValue.value))
if(!strError || strError.length ==0)
strError = objValue.name+": Enter a valid Email address ";
}//if
alert(strError);
return false;
}//if
break;
}//case email
case "lt":
case "lessthan":
if(isNaN(objValue.value))
alert(objValue.name+": Should be a number ");
return false;
}//if
if(eval(objValue.value) >= eval(cmdvalue))
if(!strError || strError.length ==0)
strError = objValue.name + " : value should be less than "+ cmdvalue;
}//if
alert(strError);
return false;
}//if
break;
}//case lessthan
case "gt":
case "greaterthan":
if(isNaN(objValue.value))
alert(objValue.name+": Should be a number ");
return false;
}//if
if(eval(objValue.value) <= eval(cmdvalue))
if(!strError || strError.length ==0)
strError = objValue.name + " : value should be greater than "+ cmdvalue;
}//if
alert(strError);
return false;
}//if
break;
}//case greaterthan
case "regexp":
if(objValue.value.length > 0)
if(!objValue.value.match(cmdvalue))
if(!strError || strError.length ==0)
strError = objValue.name+": Invalid characters found ";
}//if
alert(strError);
return false;
}//if
break;
}//case regexp
case "dontselect":
if(objValue.selectedIndex == null)
alert("BUG: dontselect command for non-select Item");
return false;
if(objValue.selectedIndex == eval(cmdvalue))
if(!strError || strError.length ==0)
strError = objValue.name+": Please Select one option ";
}//if
alert(strError);
return false;
break;
}//case dontselect
}//switch
return true;
Copyright 2003 JavaScript-coder.com. All rights reserved.
example.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Example for Validator</title>
<script language="JavaScript" src="gen_validatorv2.js" type="text/javascript"></script>
</head>
<body>
<form action="" name="myform" >
<table cellspacing="2" cellpadding="2" border="0">
<tr>
<td align="right">First Name</td>
<td><input type="text" name="FirstName"></td>
</tr>
<tr>
<td align="right">Last Name</td>
<td><input type="text" name="LastName"></td>
</tr>
<tr>
<td align="right">EMail</td>
<td><input type="text" name="Email"></td>
</tr>
<tr>
<td align="right">Phone</td>
<td><input type="text" name="Phone"></td>
</tr>
<tr>
<td align="right">Address</td>
<td><textarea cols="20" rows="5" name="Address"></textarea></td>
</tr>
<tr>
<td align="right">Country</td>
<td>
<SELECT name="Country">
<option value="" selected>[choose yours]
<option value="008">Albania
<option value="012">Algeria
<option value="016">American Samoa
<option value="020">Andorra
<option value="024">Angola
<option value="660">Anguilla
<option value="010">Antarctica
<option value="028">Antigua And Barbuda
<option value="032">Argentina
<option value="051">Armenia
<option value="533">Aruba
</SELECT>
</td>
</tr>
<tr>
<td align="right"></td>
<td><input type="submit" value="Submit"></td>
</tr>
</table>
</form>
<script language="JavaScript" type="text/javascript">
//You should create the validator only after the definition of the HTML form
var frmvalidator = new Validator("myform");
frmvalidator.addValidation("FirstName","req","Please enter your First Name");
frmvalidator.addValidation("FirstName","maxlen=20",
"Max length for FirstName is 20");
frmvalidator.addValidation("FirstName","alpha");
frmvalidator.addValidation("LastName","req");
frmvalidator.addValidation("LastName","maxlen=20");
frmvalidator.addValidation("Email","maxlen=50");
frmvalidator.addValidation("Email","req");
frmvalidator.addValidation("Email","email");
frmvalidator.addValidation("Phone","maxlen=50");
frmvalidator.addValidation("Phone","numeric");
frmvalidator.addValidation("Address","maxlen=50");
frmvalidator.addValidation("Country","dontselect=0");
</script>
</body>
</html>
documentation.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>JavaScript Form Validator Documentation</title>
<Style>
BODY, P,TD{ font-family: Arial,Verdana,Helvetica, sans-serif; font-size: 10pt }
H1{ font-family: Arial,Verdana,Helvetica, sans-serif; font-size: 18pt; color : #000066}
H3{ font-family: Arial,Verdana,Helvetica, sans-serif; font-size: 12pt; color : #000066 }
A{font-family: Arial,Verdana,Helvetica, sans-serif;}
B { font-family : Arial, Helvetica, sans-serif; font-size : 12px; font-weight : bold;}
CODE {font-family : Courier,monospace;font-size: 10pt;color : #800000;}
CODE.htm {font-family : "Courier New", Courier, monospace; font-size : x-small; color : #000080;}
</Style>
</head>
<body>
<center>
<table cellspacing="2" cellpadding="2" border="0" width="600">
<tr><td>
<h1>JavaScript Form Validations Made Easy!</h1>
<h3>Documentation for JavaScript Form Validator</h3>
<HR size=1>
<P>
The Form validation script is distributed free from JavaScript-Coder.com<br>
You can use the script in your web pages for free.
</P>
<P>
You may please add a link to JavaScript-Coder.com,
making it easy for others to find this script.<br>
Checkout the <A href="http://www.javascript-coder.com/links/how-to-link.php
target="_blank">Give a Link & Get a Link!</A> page.
</P>
<P>
<B>JavaScript Coder</B><br>
It precisely codes what you imagine!<br>
Grab your copy here: http://www.javascript-coder.com
</P>
<HR size=1>
<P>
Using client side JavaScript is an efficient way to validate the user input
in web applications. When there are many fields in the form, the JavaScript
validation becomes too complex.
</P>
<P>
The JavaScript class presented here makes the form validations many times easier.
</P>
<P>
The idea is to create a set of "validation descriptors" associated with each element
in a form. The "validation descriptor" is nothing but a string specifying the type of
validation to be performed.
</P>
<P>
Each field in the form can have 0, 1, or more validations. For example, the input should
not be empty, should be less than 25 chars, should be alpha-numeric, etc
</P>
You can associate a set of validation descriptors for each input field in the form.
<a name="3"></a>
<h3>Using The Script</h3>
1.Include gen_validatorv2.js in your html file just before closing the HEAD tag<br><br>
<CODE>
<script language="JavaScript" src="gen_validatorv2.js" type="text/javascript"></script><BR>
</head><BR>
</CODE><br>
2. Just after defining your form,
Create a form validator object passing the name of the form<br><br>
<CODE class='htm'>
<FORM name='myform' action=""><BR>
<!----Your input fields go here --><BR>
</FORM><BR>
</CODE><CODE>
<SCRIPT language="JavaScript"><BR>
var frmvalidator = new Validator("myform");<BR>
</CODE>
<br>
<br>
3. Now add the validations required<br><br>
<CODE>
frmvalidator.addValidation("FirstName","alpha");
</CODE><br><br>
the first argument is the name of the field and the second argument is the
validation descriptor, which specifies the type of validation to be performed.<br>
You can add any number of validations.The list of validation descriptors are provided
at the end of the documentation.<br>
The optional third argument is the error string to be displayed if the validation
fails.<br>
<br>
<CODE>
frmvalidator.addValidation("FirstName","alpha");<br>
frmvalidator.addValidation("FirstName","req","Please enter your First Name");<br>
frmvalidator.addValidation("FirstName","maxlen=20",<br>
"Max length for FirstName is 20"); <br>
</CODE> <br>
<br>
4. Similarly, add validations for the fields where validation is required.<br>
That's it! You are ready to go.
<A name="3"></A>
<h3>Example</h3>
The example below will make the idea clearer<br>
<CODE class="htm">
<form action="" name="myform" ><BR>
<table cellspacing="2" cellpadding="2" border="0"><BR>
<tr><BR>
<td align="right">First Name</td><BR>
<td><input type="text" name="FirstName"></td><BR>
</tr><BR>
<tr><BR>
<td align="right">Last Name</td><BR>
<td><input type="text" name="LastName"></td><BR>
</tr><BR>
<tr><BR>
<td align="right">EMail</td><BR>
<td><input type="text" name="Email"></td><BR>
</tr><BR>
<tr><BR>
<td align="right">Phone</td><BR>
<td><input type="text" name="Phone"></td><BR>
</tr><BR>
<tr><BR>
<td align="right">Address</td><BR>
<td><textarea cols="20" rows="5" name="Address"></textarea></td><BR>
</tr><BR>
<tr><BR>
<td align="right">Country</td><BR>
<td><BR>
<SELECT name="Country"><BR>
<option value="" selected>[choose yours]<BR>
<option value="008">Albania<BR>
<option value="012">Algeria<BR>
<option value="016">American Samoa<BR>
<option value="020">Andorra<BR>
<option value="024">Angola<BR>
<option value="660">Anguilla<BR>
<option value="010">Antarctica<BR>
<option value="028">Antigua And Barbuda<BR>
<option value="032">Argentina<BR>
<option value="051">Armenia<BR>
<option value="533">Aruba <BR>
</SELECT><BR>
</td><BR>
</tr><BR>
<tr><BR>
<td align="right"></td><BR>
<td><input type="submit" value="Submit"></td><BR>
</tr><BR>
</table><BR>
</form><BR>
</CODE><CODE>
<script language="JavaScript" type="text/javascript"><BR>
var frmvalidator = new Validator("myform");<BR>
frmvalidator.addValidation("FirstName","req","Please enter your First Name");<BR>
frmvalidator.addValidation("FirstName","maxlen=20",<BR>
"Max length for FirstName is 20");<BR>
frmvalidator.addValidation("FirstName","alpha");<BR>
<BR>
frmvalidator.addValidation("LastName","req");<BR>
frmvalidator.addValidation("LastName","maxlen=20");<BR>
<BR>
frmvalidator.addValidation("Email","maxlen=50");<BR>
frmvalidator.addValidation("Email","req");<BR>
frmvalidator.addValidation("Email","email");<BR>
<BR>
frmvalidator.addValidation("Phone","maxlen=50");<BR>
frmvalidator.addValidation("Phone","numeric");<BR>
<BR>
frmvalidator.addValidation("Address","maxlen=50");<BR>
frmvalidator.addValidation("Country","dontselect=0");<BR>
</script><BR>
</CODE>
<A name="4"></A>
<h3>Some Additional Notes</h3>
<LI type="disc">The form validators should be created only after defining the HTML form
(only after the </form> tag. )<br>
<LI type="disc">Your form should have a distinguished name.
If there are more than one form
in the same page, you can add validators for each of them. The names of the
forms and the validators should not clash.
<LI type="disc">You can't use the javascript onsubmit event of the form if it you are
using this validator script. It is because the validator script automatically overrides the
onsubmit event. If you want to add a custom validation, see the section below
</LI>
<A name="5"></A>
<h3>Adding Custom Validation</h3>
If you want to add a custom validation, which is not provided by the validation descriptors,
you can do so. Here are the steps:
<LI type="disc">Create a javascript function which returns true or false depending on the validation.<br>
<CODE>
function DoCustomValidation()<BR>
{<BR>
var frm = document.forms["myform"];<BR>
if(frm.pwd1.value != frm.pwd2.value)<BR>
{<BR>
alert('The Password and verified password does not match!');<BR>
return false;<BR>
}<BR>
else<BR>
{<BR>
return true;<BR>
}<BR>
}<BR>
</CODE><br>
<LI type="disc">Associate the validation function with the validator object.<br>
<CODE>
frmvalidator.setAddnlValidationFunction("DoCustomValidation");
</CODE><br>
</LI>
<P>
The custom validation function will be called automatically after other validations.
</P>
<P>
If you want to do more than one custom validations, you can do all those
validations in the same function.
</P>
<CODE>
function DoCustomValidation()<BR>
{<BR>
var frm = document.forms["myform"];<BR>
if(false == DoMyValidationOne())<BR>
{<BR>
alert('Validation One Failed!');<BR>
return false;<BR>
}<BR>
else<BR>
if(false == DoMyValidationTwo())<BR>
{<BR>
alert('Validation Two Failed!');<BR>
return false;<BR>
}<BR>
else<BR>
{<BR>
return true;<BR>
}<BR>
}<BR>
</CODE><br>
where DoMyValidationOne() and DoMyValidationTwo() are custom functions for
validation.
<A name="6"></A>
<h3>Clear All Validations</h3>
In some dynamically programmed pages, it may be required to change the validations in the
form at run time. For such cases, a function is included which clears all validations in the
validator object.<br><br>
<CODE>
frmvalidator.clearAllValidations();
</CODE><br>
<br>
this function call clears all validations you set.<br>
You will not need this method in most cases.
<a name="7"></a>
<h3>Table of Validation Descriptors</h3>
<table cellspacing="2" cellpadding="2" border="1" width="520px">
<tr>
<td><FONT face=Arial size=2>
required<BR>
req </FONT>
</td>
<td><FONT face=Arial size=2>The field should not be
empty </FONT>
</td>
</tr>
<tr>
<td><FONT face=Arial size=2>
maxlen=???<BR>
maxlength=???
</td>
<td><FONT face=Arial size=2>checks the length entered data to the maximum. For
example, if the maximum size permitted is 25, give the validation descriptor as "maxlen=25"
</td>
</tr>
<tr>
<td><FONT face=Arial size=2>
minlen=???<BR>
minlength=???
</td>
<td><FONT face=Arial size=2>checks the length of the entered string to the
required minimum. example "minlen=5"
</td>
</tr>
<tr>
<td><FONT face=Arial size=2>
alphanumeric /<BR>
alnum </FONT>
</td>
<td><FONT face=Arial size=2>Check the data if it
contains any other characters other than alphabetic or numeric characters
</FONT>
</td>
</tr>
<tr>
<td><FONT face=Arial size=2>num <BR>
numeric </FONT>
</td>
<td><FONT face=Arial size=2>Check numeric data
</FONT>
</td>
</tr>
<tr>
<td><FONT face=Arial size=2>alpha <BR>
alphabetic </FONT>
</td>
<td><FONT face=Arial size=2>Check alphabetic data.
</FONT>
</td>
</tr>
<tr>
<td><FONT face=Arial size=2>email </FONT>
</td>
<td><FONT face=Arial size=2>The field is an email
field and verify the validity of the data. </FONT>
</td>
</tr>
<tr>
<td><FONT face=Arial size=2>lt=???<BR>
lessthan=???
</td>
<td><FONT face=Arial size=2>
Verify the data to be less than the value passed.
Valid only for numeric fields. <BR>
example: if the
value should be less than 1000 give validation description as "lt=1000"
</td>
</tr>
<tr>
<td><FONT face=Arial size=2>gt=???<BR>
greaterthan=??? </td>
<td><FONT face=Arial size=2>
Verify the data to be greater than the value passed.
Valid only for numeric fields. <BR>
example: if the
value should be greater than 10 give validation description as "gt=10"
</td>
</tr>
<tr>
<td><FONT face=Arial size=2>regexp=??? </FONT>
</td>
<td><FONT face=Arial size=2>
Check with a regular expression the value should match the regular expression.<BR>
example: "regexp=^[A-Za-z]{1,20}$" allow up to 20 alphabetic
characters.
</td>
</tr>
<tr>
<td><FONT face=Arial size=2>dontselect=?? </FONT>
</td>
<td><FONT face=Arial size=2>This
validation descriptor is valid only for select input items (lists)
Normally, the select list boxes will have one item saying 'Select One' or
some thing like that. The user should select an option other than this
option. If the index of this option is 0, the validation description
should be "dontselect=0"
</td>
</tr>
</table>
<P>
<table cellspacing="2" cellpadding="2" border="1" width="520">
<tr>
<td>
<B>NOTE:</B><br>
The HTML Form Wizard included in JavaScript Coder contains still more
number of validations
(comparison validations, check box & radio button validations and more)<br>
Using the wizard, you can add validations to your forms
without writing a single line of code! <br>
JavaScript Coder takes care of
generating the code and inserting the code in to the HTML file.<br>
<A href="http://www.javascript-coder.com/index.phtml
target="_blank">Read more about JavaScript Coder</A>
</td>
</tr>
</table>
</P>
<A name="8"></A>
<h3>Example Page</h3>
See the <a href="example.html target="_blank"
>JavaScript form validation example here</a>
</td>
</tr>
<tr><td align="center">
<HR><br>
Copyright © 2003 JavaScript-Coder.com. All rights reserved.
</td></tr>
</table>
</center>
</body>
</html>The code is not working because you made a mistake somewhere, duh! So figure out what (hint: firefox javascript console, it's your friend) and fix it!
And next time when you post code: use the [ code ] tags to pretty format your code, as it is now it's unreadable.
http://forum.java.sun.com/help.jspa?sec=formatting -
Why this code is not working for alv
Dear
Regards,
i have implemented the same program for ALV which i have used earlier in the reports. but now it is showing no output:
*& Report ZTCT1_ALV2 *
REPORT ztct1_alv2 .
CLASS lcl_event_receiver DEFINITION DEFERRED.
* INCLUDING TABLES.
TABLES: vbrk,
vbrp,
kna1,
t001w,
makt.
* DECLARATION OF INTERNAL TABLES.
DATA: BEGIN OF itab OCCURS 0, "Including the fields of VBRK and VBRP
kunag LIKE vbrk-kunag, "Customer Code
name1 LIKE kna1-name1, "Customer Name
vbeln LIKE vbrk-vbeln, "Invoice #
fkdat LIKE vbrk-fkdat, "Invoice Date
werks LIKE vbrp-werks, "Plant
name2 LIKE t001w-name1,"Plant Description
matnr LIKE vbrp-matnr, "Material #
maktx LIKE makt-maktx, "Material Description
meins LIKE vbrp-meins, "Unit of Measure
fklmg LIKE vbrp-fklmg, "Quantity
netwr LIKE vbrp-netwr, "Amount
END OF itab,
BEGIN OF itnm OCCURS 0, "Including the fields of VBRK and KNA1
kunag LIKE vbrk-kunag, "Customer Code
name1 LIKE kna1-name1, "Customer Name
END OF itnm,
BEGIN OF itpt OCCURS 0, "Including the fields of VBRP and T001W
werks LIKE vbrp-werks, "Plant
name1 LIKE t001w-name1,"Plant Description
END OF itpt,
BEGIN OF itmt OCCURS 0, "Including the fields of VBRP and MAKT
matnr LIKE vbrp-matnr, "Material #
maktx LIKE makt-maktx, "Material description
END OF itmt,
BEGIN OF itsm OCCURS 0,
kunag LIKE kna1-kunnr,
name1 LIKE kna1-name1,
fklmg LIKE vbrp-fklmg,
netwr LIKE vbrp-netwr,
END OF itsm,
ok_code LIKE sy-ucomm,
save_ok LIKE sy-ucomm,
g_max TYPE i VALUE 100,
g_repid LIKE sy-repid,
gs_layout TYPE lvc_s_layo,
g_container TYPE scrfname VALUE 'CUST_CONT',
grid1 TYPE REF TO cl_gui_alv_grid,
g_custom_container TYPE REF TO cl_gui_custom_container,
grid2 TYPE REF TO cl_gui_alv_grid,
gt_sort TYPE lvc_t_sort,
gt_fieldcatalog TYPE lvc_t_fcat,
w_tot_qty LIKE vbrp-fklmg,
w_tot_amt LIKE vbrp-netwr,
* Reference to Dialogbox Container.
dialogbox_container TYPE REF TO cl_gui_dialogbox_container,
* Reference to local class that handles events of GRID1 and
* DIALOGBOX_CONTAINER
event_receiver TYPE REF TO lcl_event_receiver.
* SELECT-OPTIONS
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK input WITH FRAME TITLE text-000.
SELECT-OPTIONS: s_werks FOR vbrp-werks, "Plant
s_kunag FOR vbrk-kunag, "Customer
s_matnr FOR vbrp-matnr, "Material Number
s_fkdat FOR vbrk-fkdat. "Invoice Date
SELECTION-SCREEN END OF BLOCK input .
SELECTION-SCREEN SKIP 1.
* START-OF-SELECTION
START-OF-SELECTION.
SET SCREEN 100.
* CLEARING INTERNAL TABLES.
CLEAR: itab,
itnm,
itmt,
itpt.
* QUERY FOR JOINING TABLES VBRK AND VBRP
SELECT vbrk~kunag
vbrk~vbeln
vbrk~fkdat
vbrp~werks
vbrp~matnr
vbrp~meins
vbrp~fklmg
vbrp~netwr
INTO CORRESPONDING FIELDS OF TABLE itab
FROM vbrk
INNER JOIN vbrp
ON vbrk~vbeln = vbrp~vbeln
WHERE vbrk~kunag IN s_kunag
AND vbrk~fkdat IN s_fkdat
AND vbrp~matnr IN s_matnr
AND vbrp~werks IN s_werks.
* QUERY FOR JOINING TABLES VBRK AND KNA1
SELECT kna1~kunnr AS kunag
kna1~name1
INTO TABLE itnm
FROM kna1
WHERE kna1~kunnr IN s_kunag.
* QUERY FOR JOINING TABLES VBRP AND T001W
SELECT t001w~werks
t001w~name1
INTO TABLE itpt
FROM t001w
WHERE t001w~werks IN s_werks.
* QUERY FOR JOINING TABLES VBRP AND MAKT
SELECT makt~matnr
makt~maktx
INTO TABLE itmt
FROM makt
WHERE makt~matnr IN s_matnr.
* SORTING INTERNAL TABLES.
SORT itab BY kunag.
* LOOP AT itab.
* CLEAR: itmt, itnm, itpt.
* READ TABLE itnm WITH KEY kunag = itab-kunag.
* READ TABLE itmt WITH KEY matnr = itab-matnr.
* READ TABLE itpt WITH KEY werks = itab-werks.
* itab-name1 = itnm-name1.
* itab-maktx = itmt-maktx.
* itab-name2 = itpt-name1.
* MODIFY itab.
* ENDLOOP.
* PERFORM fieldcatalog_init USING gt_fieldcatalog[] 'KUNAG' 'C' 'Customer Code'.
* PERFORM fieldcatalog_init USING gt_fieldcatalog[] 'NAME1' 'C' 'Customer Name'.
* PERFORM fieldcatalog_init USING gt_fieldcatalog[] 'VBELN' 'C' 'Invoice #'.
* PERFORM fieldcatalog_init USING gt_fieldcatalog[] 'FKDAT' 'DATS' 'Invoice Date'.
* PERFORM fieldcatalog_init USING gt_fieldcatalog[] 'WERKS' 'C' 'Plant'.
* PERFORM fieldcatalog_init USING gt_fieldcatalog[] 'NAME2' 'C' 'Plant Description'.
* PERFORM fieldcatalog_init USING gt_fieldcatalog[] 'MATNR' 'C' 'Material #'.
* PERFORM fieldcatalog_init USING gt_fieldcatalog[] 'MAKTX' 'C' 'Material Description'.
* PERFORM fieldcatalog_init USING gt_fieldcatalog[] 'MEINS' 'C' 'UoM'.
* PERFORM fieldcatalog_init USING gt_fieldcatalog[] 'FKLMG' 'QUAN' 'Quantity'.
* PERFORM fieldcatalog_init USING gt_fieldcatalog[] 'NETWR' 'CURR' 'Amount'.
LOOP AT itab.
CLEAR itsm.
READ TABLE itnm WITH KEY kunag = itab-kunag.
itsm-kunag = itab-kunag.
itsm-name1 = itnm-name1.
itsm-fklmg = itab-fklmg.
itsm-netwr = itab-netwr.
COLLECT itsm.
ENDLOOP.
PERFORM fieldcatalog_init USING gt_fieldcatalog[] 'KUNAG' 'C' 'Customer Code'.
PERFORM fieldcatalog_init USING gt_fieldcatalog[] 'NAME1' 'C' 'Customer Name'.
PERFORM fieldcatalog_init USING gt_fieldcatalog[] 'FKLMG' 'QUAN' 'Quantity'.
PERFORM fieldcatalog_init USING gt_fieldcatalog[] 'NETWR' 'CURR' 'Amount'.
PERFORM sort_build USING gt_sort[].
PERFORM layout_init USING gs_layout.
* LOCAL CLASSES: Definition
CLASS lcl_event_receiver DEFINITION.
PUBLIC SECTION.
METHODS:
handle_double_click
FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING e_row e_column,
handle_close
FOR EVENT close OF cl_gui_dialogbox_container
IMPORTING sender.
PRIVATE SECTION.
DATA: dialogbox_status TYPE c. "'X': does exist, SPACE: does not ex.
ENDCLASS. "lcl_event_receiver DEFINITION
* LOCAL CLASSES: Implementation
CLASS lcl_event_receiver IMPLEMENTATION.
* §3.At doubleclick(1): The event DOUBLE_CLICK provides
* parameters of the clicked row and column.
* Use row parameter to select a line of the
* corresponding internal table.
METHOD handle_double_click.
DATA: ls_sm LIKE LINE OF itsm,
wa_itab LIKE ITAB.
* read selected row from internal table gt_sflight
READ TABLE itsm INDEX e_row-index INTO ls_sm.
* §4.At Doubleclick(2): Select booking data
* READ TABLE ITAB WITH KEY KUNAG = LS_SM-KUNAG. .
READ TABLE ITAB INTO WA_ITAB WITH KEY KUNAG = LS_SM-KUNAG.
* §5.At doubleclick(3): Create dialogbox to show detail list
* (if not already existent)
IF dialogbox_status IS INITIAL.
dialogbox_status = 'X'.
PERFORM create_detail_list.
ELSE.
CALL METHOD dialogbox_container->set_visible
EXPORTING
visible = 'X'.
CALL METHOD grid2->refresh_table_display.
ENDIF.
ENDMETHOD. "handle_double_click
METHOD handle_close.
* §6.Handle the CLOSE-button of the dialogbox
* set dialogbox invisible
* (the dialogbox is destroyed outomatically when the user
* switches to another dynpro).
CALL METHOD sender->set_visible
EXPORTING
visible = space.
* In this example closing the dialogbox leads
* to make it invisible. It is also conceivable to destroy it
* and recreate it if the user doubleclicks a line again.
* Displaying a great amount of data has a greater impact on performance.
ENDMETHOD. "handle_close
ENDCLASS. "lcl_event_receiver IMPLEMENTATION
* lcl_event_receiver (Implementation)
*=====================================================================
* FORM EXIT_PROGRAM *
FORM exit_program.
CALL METHOD g_custom_container->free.
CALL METHOD cl_gui_cfw=>flush.
IF sy-subrc NE 0.
* add your handling, for example
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = g_repid
txt2 = sy-subrc
txt1 = 'Error in FLush'(500).
ENDIF.
LEAVE TO SCREEN 0.
ENDFORM. "exit_program
* MODULE PBO_ALV OUTPUT
MODULE pbo_alv OUTPUT.
SET PF-STATUS 'MAIN'.
SET TITLEBAR 'MAIN100'.
g_repid = sy-repid.
IF g_custom_container IS INITIAL.
READ TABLE itsm.
CREATE OBJECT g_custom_container
EXPORTING
container_name = g_container
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.
IF sy-subrc NE 0.
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = g_repid
txt2 = sy-subrc
txt1 = 'The control could not be created'(510).
ENDIF.
CREATE OBJECT grid1
EXPORTING
i_parent = g_custom_container.
gs_layout-grid_title = 'Invoice Summary'.
CALL METHOD grid1->set_table_for_first_display
EXPORTING
is_layout = gs_layout
CHANGING
it_outtab = itsm[]
it_fieldcatalog = gt_fieldcatalog
it_sort = gt_sort.
CREATE OBJECT event_receiver.
SET HANDLER event_receiver->handle_double_click FOR grid1.
ENDIF.
CALL METHOD cl_gui_control=>set_focus
EXPORTING
control = grid1.
ENDMODULE. "PBO_ALV OUTPUT
* MODULE PAI_ALV INPUT
MODULE pai_alv INPUT.
CALL METHOD cl_gui_cfw=>dispatch.
CASE sy-ucomm.
WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. "PAI_ALV INPUT
*& Form fieldcatalog_init
* text
* -->LT_FIELDCATtext
* -->VALUE(FIELDtextE)
* -->VALUE(FIELDtextE)
* -->VALUE(FIELDtextT)
FORM fieldcatalog_init USING lt_fieldcatalog TYPE lvc_t_fcat
value(field_name) value(field_type) value(field_text).
DATA: ls_fieldcatalog TYPE lvc_s_fcat.
CLEAR ls_fieldcatalog.
ls_fieldcatalog-fieldname = field_name.
ls_fieldcatalog-datatype = field_type.
ls_fieldcatalog-reptext = field_text.
ls_fieldcatalog-coltext = field_text.
ls_fieldcatalog-seltext = field_text.
ls_fieldcatalog-tooltip = field_text.
APPEND ls_fieldcatalog TO lt_fieldcatalog.
ENDFORM. "fieldcatalog_init
*& Form sort_build
* text
* -->LT_SORT text
FORM sort_build USING lt_sort TYPE lvc_t_sort.
DATA: ls_sort TYPE lvc_s_sort.
ls_sort-fieldname = 'KUNAG'. "Fieldname on which to sort
ls_sort-up = 'X'. "Sort Ascending
APPEND ls_sort TO lt_sort.
ls_sort-fieldname = 'NAME1'. "Fieldname on which to sort
ls_sort-up = 'X'. "Sort Ascending
APPEND ls_sort TO lt_sort.
ENDFORM. "sort_build
*& Form layout_init
* text
* -->LS_LAYOUT text
FORM layout_init USING ls_layout TYPE lvc_s_layo.
ls_layout-zebra = 'X'.
ls_layout-grid_title = 'Customer Details'.
ls_layout-sel_mode = 'A'.
ls_layout-cwidth_opt = 'X'.
ENDFORM. "layout_init
*& Form create_detail_list
* text
* --> p1 text
* <-- p2 text
FORM create_detail_list.
* create dialogbox container as dynpro-instance
* When the user switches to another screen, it is
* destroyed by lifetime mangagement of CFW
CREATE OBJECT dialogbox_container
EXPORTING
top = 150
left = 150
lifetime = cntl_lifetime_dynpro
caption = 'INVOICE DETAILS'(200)
width = 800
height = 200.
CREATE OBJECT grid2
EXPORTING i_parent = dialogbox_container.
* Register ABAP OO event 'CLOSE'. It is not necessary to register this
* event at the frontend (this is done during creation).
SET HANDLER event_receiver->handle_close FOR dialogbox_container.
* display data
gs_layout-grid_title = 'Invoice Details'(100).
CALL METHOD grid2->set_table_for_first_display
EXPORTING
i_structure_name = 'itab'
is_layout = gs_layout
CHANGING
it_outtab = itab[]
it_fieldcatalog = gt_fieldcatalog
it_sort = gt_sort.
CALL METHOD cl_gui_control=>set_focus
EXPORTING
control = grid2.
ENDFORM. " create_detail_list[code][/
code]Hi,
I also copied and pasted the same code check once again by copying this code and create screens by double clicking on 100.
CLASS lcl_event_receiver DEFINITION DEFERRED.
* INCLUDING TABLES.
TABLES: vbrk,
vbrp,
kna1,
t001w,
makt.
* DECLARATION OF INTERNAL TABLES.
DATA: BEGIN OF itab OCCURS 0, "Including the fields of VBRK and VBRP
kunag LIKE vbrk-kunag, "Customer Code
name1 LIKE kna1-name1, "Customer Name
vbeln LIKE vbrk-vbeln, "Invoice #
fkdat LIKE vbrk-fkdat, "Invoice Date
werks LIKE vbrp-werks, "Plant
name2 LIKE t001w-name1,"Plant Description
matnr LIKE vbrp-matnr, "Material #
maktx LIKE makt-maktx, "Material Description
meins LIKE vbrp-meins, "Unit of Measure
fklmg LIKE vbrp-fklmg, "Quantity
netwr LIKE vbrp-netwr, "Amount
END OF itab,
BEGIN OF itnm OCCURS 0, "Including the fields of VBRK and KNA1
kunag LIKE vbrk-kunag, "Customer Code
name1 LIKE kna1-name1, "Customer Name
END OF itnm,
BEGIN OF itpt OCCURS 0, "Including the fields of VBRP and T001W
werks LIKE vbrp-werks, "Plant
name1 LIKE t001w-name1,"Plant Description
END OF itpt,
BEGIN OF itmt OCCURS 0, "Including the fields of VBRP and MAKT
matnr LIKE vbrp-matnr, "Material #
maktx LIKE makt-maktx, "Material description
END OF itmt,
BEGIN OF itsm OCCURS 0,
kunag LIKE kna1-kunnr,
name1 LIKE kna1-name1,
fklmg LIKE vbrp-fklmg,
netwr LIKE vbrp-netwr,
END OF itsm,
ok_code LIKE sy-ucomm,
save_ok LIKE sy-ucomm,
g_max TYPE i VALUE 100,
g_repid LIKE sy-repid,
gs_layout TYPE lvc_s_layo,
g_container TYPE scrfname VALUE 'CUST_CONT',
grid1 TYPE REF TO cl_gui_alv_grid,
g_custom_container TYPE REF TO cl_gui_custom_container,
grid2 TYPE REF TO cl_gui_alv_grid,
gt_sort TYPE lvc_t_sort,
gt_fieldcatalog TYPE lvc_t_fcat,
w_tot_qty LIKE vbrp-fklmg,
w_tot_amt LIKE vbrp-netwr,
* Reference to Dialogbox Container.
dialogbox_container TYPE REF TO cl_gui_dialogbox_container,
* Reference to local class that handles events of GRID1 and
* DIALOGBOX_CONTAINER
event_receiver TYPE REF TO lcl_event_receiver.
* SELECT-OPTIONS
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK input WITH FRAME TITLE text-000.
SELECT-OPTIONS: s_werks FOR vbrp-werks, "Plant
s_kunag FOR vbrk-kunag, "Customer
s_matnr FOR vbrp-matnr, "Material Number
s_fkdat FOR vbrk-fkdat. "Invoice Date
SELECTION-SCREEN END OF BLOCK input .
SELECTION-SCREEN SKIP 1.
* START-OF-SELECTION
START-OF-SELECTION.
SET SCREEN 100.
* CLEARING INTERNAL TABLES.
CLEAR: itab,
itnm,
itmt,
itpt.
* QUERY FOR JOINING TABLES VBRK AND VBRP
SELECT vbrk~kunag
vbrk~vbeln
vbrk~fkdat
vbrp~werks
vbrp~matnr
vbrp~meins
vbrp~fklmg
vbrp~netwr
INTO CORRESPONDING FIELDS OF TABLE itab
FROM vbrk
INNER JOIN vbrp
ON vbrk~vbeln = vbrp~vbeln
WHERE vbrk~kunag IN s_kunag
AND vbrk~fkdat IN s_fkdat
AND vbrp~matnr IN s_matnr
AND vbrp~werks IN s_werks.
* QUERY FOR JOINING TABLES VBRK AND KNA1
SELECT kna1~kunnr AS kunag
kna1~name1
INTO TABLE itnm
FROM kna1
WHERE kna1~kunnr IN s_kunag.
* QUERY FOR JOINING TABLES VBRP AND T001W
SELECT t001w~werks
t001w~name1
INTO TABLE itpt
FROM t001w
WHERE t001w~werks IN s_werks.
* QUERY FOR JOINING TABLES VBRP AND MAKT
SELECT makt~matnr
makt~maktx
INTO TABLE itmt
FROM makt
WHERE makt~matnr IN s_matnr.
* SORTING INTERNAL TABLES.
SORT itab BY kunag.
LOOP AT itab.
CLEAR itsm.
READ TABLE itnm WITH KEY kunag = itab-kunag.
itsm-kunag = itab-kunag.
itsm-name1 = itnm-name1.
itsm-fklmg = itab-fklmg.
itsm-netwr = itab-netwr.
COLLECT itsm.
ENDLOOP.
* END-OF-SELECTION.
* If not itsm[] is initial.
* CALL SCREEN 100.
* endif.
* LOCAL CLASSES: Definition
CLASS lcl_event_receiver DEFINITION.
PUBLIC SECTION.
METHODS:
handle_double_click
FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING e_row e_column,
handle_close
FOR EVENT close OF cl_gui_dialogbox_container
IMPORTING sender.
PRIVATE SECTION.
DATA: dialogbox_status TYPE c. "'X': does exist, SPACE: does not ex
ENDCLASS. "lcl_event_receiver DEFINITION
* LOCAL CLASSES: Implementation
CLASS lcl_event_receiver IMPLEMENTATION.
* §3.At doubleclick(1): The event DOUBLE_CLICK provides
* parameters of the clicked row and column.
* Use row parameter to select a line of the
* corresponding internal table.
METHOD handle_double_click.
DATA: ls_sm LIKE LINE OF itsm,
wa_itab LIKE ITAB.
* read selected row from internal table gt_sflight
READ TABLE itsm INDEX e_row-index INTO ls_sm.
* §4.At Doubleclick(2): Select booking data
* READ TABLE ITAB WITH KEY KUNAG = LS_SM-KUNAG. .
READ TABLE ITAB INTO WA_ITAB WITH KEY KUNAG = LS_SM-KUNAG.
* §5.At doubleclick(3): Create dialogbox to show detail list
* (if not already existent)
IF dialogbox_status IS INITIAL.
dialogbox_status = 'X'.
PERFORM create_detail_list.
ELSE.
CALL METHOD dialogbox_container->set_visible
EXPORTING
visible = 'X'.
CALL METHOD grid2->refresh_table_display.
ENDIF.
ENDMETHOD. "handle_double_click
METHOD handle_close.
* §6.Handle the CLOSE-button of the dialogbox
* set dialogbox invisible
* (the dialogbox is destroyed outomatically when the user
* switches to another dynpro).
CALL METHOD sender->set_visible
EXPORTING
visible = space.
* In this example closing the dialogbox leads
* to make it invisible. It is also conceivable to destroy it
* and recreate it if the user doubleclicks a line again.
* Displaying a great amount of data has a greater impact on
*performance.
ENDMETHOD. "handle_close
ENDCLASS. "lcl_event_receiver IMPLEMENTATION
* lcl_event_receiver (Implementation)
*=====================================================================
* FORM EXIT_PROGRAM *
FORM exit_program.
CALL METHOD g_custom_container->free.
CALL METHOD cl_gui_cfw=>flush.
IF sy-subrc NE 0.
* add your handling, for example
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = g_repid
txt2 = sy-subrc
txt1 = 'Error in FLush'(500).
ENDIF.
LEAVE TO SCREEN 0.
ENDFORM. "exit_program
*& Module STATUS_0100 OUTPUT
* text
module STATUS_0100 output.
SET PF-STATUS 'MAIN'.
SET TITLEBAR 'MAIN100'.
g_repid = sy-repid.
IF g_custom_container IS INITIAL.
READ TABLE itsm.
CREATE OBJECT g_custom_container
EXPORTING
container_name = g_container
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.
IF sy-subrc NE 0.
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = g_repid
txt2 = sy-subrc
txt1 = 'The control could not be created'(510).
ENDIF.
CREATE OBJECT grid1
EXPORTING
i_parent = g_custom_container.
gs_layout-grid_title = 'Invoice Summary'.
PERFORM fieldcatalog_init USING gt_fieldcatalog[] 'KUNAG' 'C'
'Customer Code'.
PERFORM fieldcatalog_init USING gt_fieldcatalog[] 'NAME1' 'C'
'Customer Name'.
PERFORM fieldcatalog_init USING gt_fieldcatalog[] 'FKLMG' 'QUAN'
'Quantity'.
PERFORM fieldcatalog_init USING gt_fieldcatalog[] 'NETWR' 'CURR'
'Amount'.
PERFORM sort_build USING gt_sort[].
PERFORM layout_init USING gs_layout.
CALL METHOD grid1->set_table_for_first_display
EXPORTING
is_layout = gs_layout
CHANGING
it_outtab = itsm[]
it_fieldcatalog = gt_fieldcatalog
it_sort = gt_sort.
CREATE OBJECT event_receiver.
SET HANDLER event_receiver->handle_double_click FOR grid1.
ENDIF.
CALL METHOD cl_gui_control=>set_focus
EXPORTING
control = grid1.
endmodule. " STATUS_0100 OUTPUT
* MODULE PAI_ALV INPUT
MODULE USER_COMMAND_0100.
CALL METHOD cl_gui_cfw=>dispatch.
CASE sy-ucomm.
WHEN 'BACK' OR 'EXIT' OR 'CANC'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. "PAI_ALV INPUT
*& Form fieldcatalog_init
* text
* -->LT_FIELDCATtext
* -->VALUE(FIELDtextE)
* -->VALUE(FIELDtextE)
* -->VALUE(FIELDtextT)
FORM fieldcatalog_init USING lt_fieldcatalog TYPE lvc_t_fcat
value(field_name) value(field_type)
value(field_text).
DATA: ls_fieldcatalog TYPE lvc_s_fcat.
CLEAR ls_fieldcatalog.
ls_fieldcatalog-fieldname = field_name.
ls_fieldcatalog-datatype = field_type.
ls_fieldcatalog-reptext = field_text.
ls_fieldcatalog-coltext = field_text.
ls_fieldcatalog-seltext = field_text.
ls_fieldcatalog-tooltip = field_text.
APPEND ls_fieldcatalog TO lt_fieldcatalog.
ENDFORM. "fieldcatalog_init
*& Form sort_build
* text
* -->LT_SORT text
FORM sort_build USING lt_sort TYPE lvc_t_sort.
DATA: ls_sort TYPE lvc_s_sort.
ls_sort-fieldname = 'KUNAG'. "Fieldname on which to sort
ls_sort-up = 'X'. "Sort Ascending
APPEND ls_sort TO lt_sort.
ls_sort-fieldname = 'NAME1'. "Fieldname on which to sort
ls_sort-up = 'X'. "Sort Ascending
APPEND ls_sort TO lt_sort.
ENDFORM. "sort_build
*& Form layout_init
* text
* -->LS_LAYOUT text
FORM layout_init USING ls_layout TYPE lvc_s_layo.
ls_layout-zebra = 'X'.
ls_layout-grid_title = 'Customer Details'.
ls_layout-sel_mode = 'A'.
ls_layout-cwidth_opt = 'X'.
ENDFORM. "layout_init
*& Form create_detail_list
* text
* --> p1 text
* <-- p2 text
FORM create_detail_list.
* create dialogbox container as dynpro-instance
* When the user switches to another screen, it is
* destroyed by lifetime mangagement of CFW
CREATE OBJECT dialogbox_container
EXPORTING
top = 150
left = 150
lifetime = cntl_lifetime_dynpro
caption = 'INVOICE DETAILS'(200)
width = 800
height = 200.
CREATE OBJECT grid2
EXPORTING i_parent = dialogbox_container.
* Register ABAP OO event 'CLOSE'. It is not necessary to register this
* event at the frontend (this is done during creation).
SET HANDLER event_receiver->handle_close FOR dialogbox_container.
* display data
gs_layout-grid_title = 'Invoice Details'(100).
CALL METHOD grid2->set_table_for_first_display
EXPORTING
i_structure_name = 'itab'
is_layout = gs_layout
CHANGING
it_outtab = itab[]
it_fieldcatalog = gt_fieldcatalog
it_sort = gt_sort.
CALL METHOD cl_gui_control=>set_focus
EXPORTING
control = grid2.
ENDFORM. " create_detail_list
Nothing wrong in the code i am able to see the output with five records and the pop-up screen on double clicking a value.
Kindly close the thread or revert back -
Logout Script not working in 10.9.3 Mavericks
Sorry for the duplicate post, but this issue is with MacBook Pro not iMac.
Can anyone tell me why this logoutscript will not work using LogouHook in Mavericks. The exact same script worked with Lion and Mountain Lion.
#!/bin/csh
## CCS-Checkout Logout Script
if ( $USER == 'ccs-checkout' ) then
#first, unlock all files
/usr/bin/chflags -R nouchg /Users/ccs-checkout/*
/usr/bin/chflags -R nouchg /Users/ccs-checkout/.Trash/
/usr/bin/chflags -R nouchg /Users/ccs-checkout/.??*
#then, delete all of the files
/bin/rm -R /Users/ccs-checkout
#copy a "clean" version of the ccs-checkout users home directory
/usr/bin/ditto -rsrcFork /var/skel/ccs-checkout /Users/ccs-checkout
#ensure that the users directory exists and set the privs
/usr/sbin/chown -R ccs-checkout:wheel /Users/ccs-checkout
/bin/chmod -R 775 /Users/ccs-checkout/
#make sure trash is empty
/bin/rm -R /Users/ccs-checkout/.Trash/
#make sure trash dir exists and set privs for trash and dot files
/bin/mkdir /Users/ccs-checkout/.Trash
/usr/sbin/chown -R ccs-checkout /Users/ccs-checkout/.??*
/bin/chmod -R 700 /Users/ccs-checkout/.??*
endif
exit 0
The script will run in terminal when copied and pasted from #first, unlock all of the files to exit 0.
When I run defaults write com.apple.loginwindow LogoutHook /usr/local/bin/LogoutScript the date on the com.apple.loginwindow.plist file changes so it is being modified.
Apparently there is something in:
#!/bin/csh
## CCS-Checkout Logout Script
if ( $USER == 'ccs-checkout' ) then
That Mavericks does not like or won't execute.
To duplicate this issue on your MBP make a user named ccs-checkout with normal permissions and autologon. After the first logon of the ccs-checkout user log out and log on as root and copy the ccs-checkout users local profile to the /var/skel/ folder. Then make the above script into an executable .sh file named LogoutScript and place it in the /usr/local/bin/ folder and run the above LogoutHook.
Thanks for any help with this issue.This is the part of code where script fails. In 9.2 I haven't any kind of problems.
think(0.1);
forms
.tree(100,
"//forms:tree[(@name='ZVE_PREGLED_ZAVAROVANJE_0')]")
.expandNode(
"X");
think(0.1);
forms
.tree(101,
"//forms:tree[(@name='ZVE_PREGLED_ZAVAROVANJE_0')]")
.selectNode(
"XY");
think(0.1);
forms
.tree(102,
"//forms:tree[(@name='ZVE_PREGLED_ZAVAROVANJE_0')]")
.activateNode(
"XYZ");
think(0.1);
forms
.textField(103,
"//forms:textField[(@name='INFO_BLOCK_IZBRANA_ZAVAROVANJA_0')]")
.setFocus();
think(0.1);
} -
Hello:
I have a Mac running OS 10.8.5 and I use Acrobat Pro and Acrobat Reader. Today for some reason, any time I try and access a pdf file from a web page, it won't open. I get a blank window. PDF files already on my computer open fine and I can create PDF files from Word docs, but I can't download or view any pdf file from any web page. Strangely, PDF files on web pages open just fine on my iPhone.
I checked that both my copy of Acrobat Pro and Acrobat Reader are up-to-date. They are.
I checked that my copy of Firefox is up-to-date. It is. And nothing changed with Firefox within the last 24 hours.
I am a humble computer end-user. I am baffled as to why this would suddenly not work. I have not changed any settings, etc. Any help or suggestions would be greatly appreciated.Thank you.
I checked your instructions you sent and as far as I can tell all of my settings, etc for Firefox (plugin updates and preferences) are correct but I am having the same problem.
However, everything works in Safari. I don't have time to attempt to diagnose why Firefox no longer works. I will just switch to Safari.
Many thanks.
Charles
Charles Deister
(503) 949-5762
[email protected]<applewebdata://81CB4171-226F-49DF-BD59-A38A7360B3FB/[email protected]>
PO Box 5032
Salem, OR 97304
http://www.pilotstrat.com<http://www.pilotstrat.com/>
This transmission (including any attachments) may contain confidential information, privileged material, or constitute non-public information. Any use of this information by anyone other than the intended recipient is prohibited. If you have received this transmission in error, please immediately reply to the sender and delete this information from your system. Use, dissemination, distribution, or reproduction of this transmission by unintended recipients is not authorized and may be unlawful. -
Why is my else not working!?
public void welcome()
char welcomeChoice;
InOut.println("Welcome to Dylan's Hospital records.");
InOut.println("Would you like to proceed to the main menu? Y/N");
welcomeChoice = InOut.readChar();
if((welcomeChoice == 'y')||(welcomeChoice=='Y'))
InOut.print("\n");
mainMenu();
else if((welcomeChoice == 'N')||(welcomeChoice=='n'));
//exit
else
InOut.println("invalid response");
}//welcomeim not an expert at java but i cannot see why this method should not work. the else is underlined and tells me "Syntax error on token "else", delete this token". But do i not need the else for the if statement to work!?You can also do this instead of doing your "or"
statements
if(welcomeChoice.equalsIgnoreCase("y"))
Not when welcomeChoice is a char.Whoops didn't see that. Nevermind! -
HT1338 why is the video not working with skype on this os
why is the video not working with skype on this os
Try this:
Quit Skype.
Click on the desktop so Finder is active. Hold the option key down and click on Go in the menu bar.
In the drop down, select Library.
Open the Library folder and scroll down to Preferences.
In that folder, there is a file called com.skype.skype.plist. Trash that file.
Now try Skype. -
Hi Someone Know why my charger is not working properly but always it was been working good but now when conect my iphone (3gs) appears a golden triangle saying :Charging is not Supported with this accessory. Please I Need Some Help Here. Thanks =D
sounds like the cable or the iphone connector are somehow damaged
-
I already update my os to ios7 but the panorama wallpaper is not working, i try to use before the ios7 beta, the panorama is working. Why in this ios7 is not working. Could anyone help me????? Thanks
That's odd.
Try this: Unplug your Time Capsule and your router. On your MBP, click the Wi-Fi icon and select "Open Network Preferences".
Click the lock icon to authenticate, then click the "gear" and select "set service order". Wherever AirPort (or Wi-Fi - I forget what Snow Leopard calls it) appears, drag it elsewhere in the list. Click OK, then Apply, then power up your router and TC.
If that doesn't result in any change, repeat the above but try making the service(s) you do not need "inactive".
The purpose of this is to reset or at least change your Network Preferences, which somehow got confused upon upgrading to SL. -
Why Dynamic Parameter is not working, when i create report using stored procedure ?
Post Author: Shashi Kant
CA Forum: General
Hi all
Why Dynamic Parameter is not working, when i create report XI using stored procedure ?
Only i shaw those parameters which i used in my stored procedure, the parameter which i create dynamic using stored procedure
is not shown to me when i referesh the report for viewing the results.
I have used the same procedure which i mention below but can not seen the last screen which is shown in this .
============================================================================================
1. Select View > Field Explorer2. Right-click on Parameter Fields and select New from the right-click menu.3. Enter u201CCustomer Nameu201D as the name for your parameter4. Under u201CList of Valuesu201D select u201CDynamicu201D5. Under the Value column, click where is says u201Cclick here to add itemu201D and select Customer Name from the drop-down list. The dialog shown now look like the one shown below in Figure 1. Click OK to return to your report design.
Dynamic Parameter Setup6. Next, select Report > Select Expert, select the Customer Name field and click OK.7. Using the drop-down list beside select u201CIs Equal Tou201D and using the drop-down list, select your parameter field (it should be the first field). 8. Click OK to return to your report design and see the parameter dialog.The parameter dialog will appear and show you a dynamic list of values that is updated each time your run your report. It couldnu2019t be easier! In our next tutorial, we will be looking at how to use this feature to create cascading parameter fields, where the values are filtered by the preceding selection.
Dynamic Parameters in Action
My question is that whether dynamic parameter is working with storedprocedure or not.
When i added one table and try to fetch records using dyanmic prameters. after that i am not be able to find the dynamic parameter option when i referesh my report.
One more thing when i try the static parameter for my report, the option i see when i referesh the screen.
Please reply soon , it's urgent
Regards
shashi kantHi Kishore,
I have tested the issue step by step by following you description, while the first issue works well in my local environment. Based on my research, this can be caused by the lookup expression or it indeed return Male value based on the logic. If you use the
expression below, it will indeed only return the Male record. So please try to double-check the record in the two datasets and the expression in your environment:
=lookup(first(Fields!ProgramID.Value,"DataSet1"),Fields!ProgramID.Value,Fields!Gender.Value,"DataSet2")
As to the second issue, please try to use the following expression:
=Count(Lookup(fields!ProgramID.value,fields!ProgramID.value,fields!Gender.value,"DataSet2"))
Besides, if this issue still exist, in order to trouble shoot this issue more efficiently, could you please post both the .rdl file with all the size properties to us by the following E-mail address? It is benefit for us to do further analysis.
E-mail: [email protected]
Thanks,
Katherine Xiong
Katherine Xiong
TechNet Community Support -
Why Oracle 8i is not Working with JDK 1.3
Why Oracle 8i is not Working with JDK 1.3 by using JDBC.
try this
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:"somedsn","scott","tiger");
I am using this for Oracle, it is working for me.
Uma
Java Developer
http://www.globalleafs.com -
Why do my panels not work in CC 2014
I made my own panels in CC but they don't work in CC 2014. I miss them.
It's the latter. Thank you for answering my question.
Op 21 jun. 2014, om 09:42 heeft Trevor Dennis <[email protected]> het volgende geschreven:
Why do my panels not work in CC 2014
created by Trevor Dennis in Photoshop General Discussion - View the full discussion
Are you talking about a custom workspace, or actual panels made with Configurator? If the former, then go Preferences > Sync settings. If the latter, then those Flash panels no longer work in CC 2014. Check out any of the multiple threads about Extensions being greyed out.
Please note that the Adobe Forums do not accept email attachments. If you want to embed a screen image in your message please visit the thread in the forum to embed the image at https://forums.adobe.com/message/6481073#6481073
Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page:
To unsubscribe from this thread, please visit the message page at . In the Actions box on the right, click the Stop Email Notifications link.
Start a new discussion in Photoshop General Discussion by email or at Adobe Community
For more information about maintaining your forum email notifications please go to http://forums.adobe.com/thread/416458?tstart=0. -
Why does my iMessage not work even with my apple ID signed in?
Why does my iMessage not work even with my apple ID signed in?
Using FaceTime http://support.apple.com/kb/ht4319
Troubleshooting FaceTime http://support.apple.com/kb/TS3367
The Complete Guide to FaceTime + iMessage: Setup, Use, and Troubleshooting
http://tinyurl.com/a7odey8
Troubleshooting FaceTime and iMessage activation
http://support.apple.com/kb/TS4268
iOS: FaceTime is 'Unable to verify email because it is in use'
http://support.apple.com/kb/TS3510
Using FaceTime and iMessage behind a firewall
http://support.apple.com/kb/HT4245
iOS: About Messages
http://support.apple.com/kb/HT3529
Set up iMessage
http://www.apple.com/ca/ios/messages/
iOS 6 and OS X Mountain Lion: Link your phone number and Apple ID for use with FaceTime and iMessage
http://support.apple.com/kb/HT5538
How to Set Up & Use iMessage on iPhone, iPad, & iPod touch with iOS
http://osxdaily.com/2011/10/18/set-up-imessage-on-iphone-ipad-ipod-touch-with-io s-5/
Troubleshooting Messages
http://support.apple.com/kb/TS2755
Troubleshooting iMessage Issues: Some Useful Tips You Should Try
http://www.igeeksblog.com/troubleshooting-imessage-issues/
Setting Up Multiple iOS Devices for iMessage and Facetime
http://macmost.com/setting-up-multiple-ios-devices-for-messages-and-facetime.htm l
FaceTime and iMessage not accepting Apple ID password
http://www.ilounge.com/index.php/articles/comments/facetime-and-imessage-not-acc epting-apple-id-password/
FaceTime, Game Center, Messages: Troubleshooting sign in issues
http://support.apple.com/kb/TS3970
Unable to use FaceTime and iMessage with my apple ID
https://discussions.apple.com/thread/4649373?tstart=90
How to Block Someone on FaceTime
http://www.ehow.com/how_10033185_block-someone-facetime.html
My Facetime Doesn't Ring
https://discussions.apple.com/message/19087457
Send an iMessage as a Text Message Instead with a Quick Tap & Hold
http://osxdaily.com/2012/11/18/send-imessage-as-text-message/
To send messages to non-Apple devices, check out the TextFree app https://itunes.apple.com/us/app/text-free-textfree-sms-real/id399355755?mt=8
How to Send SMS from iPad
http://www.iskysoft.com/apple-ipad/send-sms-from-ipad.html
You can check the status of the FaceTime/iMessage servers at this link.
http://www.apple.com/support/systemstatus/
Cheers, Tom
BTW- Your profile shows you have iOS 6.1.4 installed. The max iOS for an iPad is 6.1.3. iOS 6.1.4 is for iPhones only. -
Why does Server Monitor not work with non-Xserves?
Does anyone know why Server Monitor does not work with non-Xserve computers? We acquired a Power Mac for a server, based on there being no apparent difference except for the obvious. Turns out there are some differences after all.
Do Power Macs lack some hardware components or is this just a software thing?God question, unfortunitly I dont have the answer but I would also like to know why the software only works for X-Serve....Is there any 3rd Party Software that is similar to "Server Monitor"?
Thanks -
Why does my imessage not work with only 1 phone number
Why does my imessage not work with only 1 phone number? It keeps going to imessage and then back to text message
Both you and the recipient have to have active data connections, and both devices have to have iOS 5 or higher to be able to use iMessage. Also, they both have to have iMessage activated. If that is already the case, there is a possiblility that iMessage is down. It has gone up and down several times in the past week. Check this page for status, and if necessary you can report a problem with a link in the lower right corner. http://www.apple.com/support/icloud/systemstatus/
Maybe you are looking for
-
I currently have 512MB (on 2 chips) installed in a 667mhz G4 (DVI) running OS X 10.4.7. I'd like to keep my Powerbook going at least through the release of Leopard next spring, so I'm looking at maxing the RAM out a 1GB. I basically use the computer
-
Video out after using Apple Video adapter.
Hi, I have an Mac G5 17" iSight and after I mirror'd my screen to my TV using an Apple video adapter (something I've done hundreds of times before) the computer screen wouldn't change back to the general screen resolution (also something it used to d
-
Urgent Help in Iplanet 4.1
Hi I created 2 virtual webservers in one box running in solaris 2.6. i want to maintain the user session across these 2 virtual webservers..So i used MMapSessionManager.. But it is not maintaining session across . Can some help me how to maintain the
-
Raising receipt for Inter-Org transfer
Hi, Is there any API for inventory Receipt creation for Inter-Org transfer. I have gone through Receving Open Interface, Oracle Inventory Open Interface and API Volume II(manual), it specifically says "Receiving Open Interface does not support:Receiv
-
Hi all, Does anybody implemented ChaRM functionality for BW system? Please share your experience on how you handled the transports. Thanks in advance, -Mike.