From dropdown selection to multiline output
I'm trying to create pdf -form with Adobe XPro where I'll have several Ship-To addresses. What I would like to have is that the user could select the correct Ship-To party from the dropdown.
Since the pdf-form dropdowns are only single lines the dropdown selection could only show the name of the company (e.g. COMPANY A) and by selecting the wanted company, this would trigger the whole (multiline) address to pop-up as described below (on another text field is ok if needed)
COMPANY A
Streetaddress 1
ZIP-1234 City A
Does anybody have an easy solution for this?
I have created one sample form for you, please look at attachment.
The PDF form does exactly what you want.
Similar Messages
-
Adobe Form Section is Not Showing When Value is Selected from Dropdown List
Hello Experts
We have this issue where an ADOBE FORM is embedded in a WEBDYNPRO APPLICATION.
When selecting a value from the dropdown field in the ADOBE FORM, some particular section in the ADOBE FORM is not shown.
Here's the ADS and NW versions that we were using. We are running on EHP5 landscape.
- ADS - 7.3 SPS 3
- NW 7.3 SPS 3
PS. The same program is working in EHP4 correctly.
Any idea on how to resolve this issue?This is a custom built form, the thing is we just upgraded our system to EHP5 and we are in the test phase. The same form works in system in EHP4.
Based on the dropdown list selection, there are some sections in the form which are hidden previously will be shown now. when you change the country in the dropdown the new sections appear. The sections will not be visible before you select the couuntry from dropdown.
Should I upgrade my Adobe live cycle designer version to a higher one?
Thanks -
How to pass output from one selection-as input to another selectiion??
From a user prompt will iniate many user table selections. And the outputs of each table selection will be used as inputs for the next table selection
I reviewed variable Scope and inner and outer Declare—it would be a great help if some one could give me a example of the right approach??
see sample script :
Thank you so much for your help
---------------------------- Section_01_UserInput.sql -------------------------
-- THIS SECTION OF THE SCRIPT IS TO PROMPT THE USER FOR THE MODEL NAME AND THE ORGANIZATION CODE (e.I...M1,M2,M3...._)
-- THE ORGANIZATION WHERE MODEL WAS CREATED IS THE ONLY PLACE WHERE YOU WOULD FIND THE BILL_SEQUENCE_ID
-- THE COMMON ORGANIZATIONS DO NOT HAVE COMPONETS THEY JUST REFERENCE TO THE ORHANIZATION THAT MODEL WAS CREATED
SET VERIFY OFF
SET ECHO OFF
ACCEPT v_assemblyName CHAR DEFAULT myDefaultAssemblyName PROMPT 'Enter Assembly name:'
ACCEPT v_OrganizationCode CHAR DEFAULT myDefaultOrganizationCode PROMPT 'Enter the Org where the MODEL WAS CREATED :'
SELECT a.organization_code, a.organization_id, b.inventory_item_id, b.segment1, b.description
FROM mtl_parameters a, mtl_system_items_b b
WHERE a.organization_code = '&v_OrganizationCode'
AND
b.segment1 ='&v_assemblyName'
AND
b.organization_id = a.organization_id;
SET VERIFY ON
SET ECHO ON
----OUTPUT of the Section_01_UserInput.sql QUERY---
ORGANIZATION_CODE ORGANIZATION_ID INVENTORY_ITEM_ID SEGMENT1 DESCRIPTION
M1, 207, *[225957]* , CN927779, Sentinel Custom Desktop
----------------------------- Section_02_bom_structures_b.sql ------------------
-- List all option class Bill of Materials for a single ATO or PTO model
-- List of bill_sequence_id and all component_item_id's that belong to that
-- bill_sequence_id
SELECT a.assembly_item_id, a.bill_sequence_id, b.bom_item_type, b.component_item_id
FROM bom_structures_b a, bom_components_b b
WHERE a.assembly_item_id = *['225957']*
AND
b.bill_sequence_id = a.bill_sequence_id
AND
b.bom_item_type = '2'; -- OPTION Class's are identified by bom_item_type
----OUTPUT of the Section_02_bom_structures_b.sql QUERY---
ASSEMBLY_ITEM_ID ORGANIZATION_ID BILL_SEQUENCE_ID BOM_ITEM_TYPE BILL_SEQUENCE_ID COMPONENT_ITEM_ID
*[225957]* , 207 , *[90754]* 2 90754 *[297]*
*[225957]* , 207 , *[90754]* 2 90754 *[299]*
*[225957]* , 207 , *[90754]* 2 90754 *[301]*
----------------------------- Section_03A_bom_structures_b.sql-------------------
-- List all the components under the option class
-- When no components are found with bom_item_type ='4' which means that this assembly has no
-- components in the bom_components_b because the assembly is a child that is a option class.
-- We need to run this script with a bom_item_type ='2' and stored the component_item_id into MEMORY_assembly_id
-- and run script again by read from MEMORY_assembly_id and bom_item_type = '4';
SELECT a.assembly_item_id, a.organization_id, a.bill_sequence_id, b.bom_item_type, b.bill_sequence_id, b.component_item_id
FROM bom_structures_b a, bom_components_b b
WHERE a.assembly_item_id = '297'
AND
b.bill_sequence_id = a.bill_sequence_id
AND
b.bom_item_type = '4';
----OUTPUT of the Section_03A_bom_structures_b.sql QUERY---
ASSEMBLY_ITEM_ID ORGANIZATION_ID BILL_SEQUENCE_ID BOM_ITEM_TYPE BILL_SEQUENCE_ID COMPONENT_ITEM_ID
*[297]* 207 *[384]* 4 384 *[185]*
*[297]* 207 *[384]* 4 384 *[241]*
*[297]* 207 *[384]* 4 384 *[249]*
*[297]* 207 *[384]* 4 384 *[4747]*
*[297]* 207 *[384]* 4 384 *[4749]*
*[297]* 207 *[384]* 4 384 *[4751]*
=================================================================================================
note output FROM EACH SELECT that needs to be passed to the next SELECT statement are *[ ]* for example *['225957'] see below:*
----OUTPUT of the Section_01_UserInput.sql QUERY---
ORGANIZATION_CODE ORGANIZATION_ID INVENTORY_ITEM_ID SEGMENT1 DESCRIPTION
M1, 207, *[225957]* , CN927779, Sentinel Custom Desktop
----OUTPUT of the Section_02_bom_structures_b.sql QUERY---
ASSEMBLY_ITEM_ID ORGANIZATION_ID BILL_SEQUENCE_ID BOM_ITEM_TYPE BILL_SEQUENCE_ID COMPONENT_ITEM_ID
*[225957]* , 207 , *[90754]* 2 90754 *[297]*
*[225957]* , 207 , *[90754]* 2 90754 *[299]*
*[225957]* , 207 , *[90754]* 2 90754 *[301]*
----OUTPUT of the Section_03A_bom_structures_b.sql QUERY---
ASSEMBLY_ITEM_ID ORGANIZATION_ID BILL_SEQUENCE_ID BOM_ITEM_TYPE BILL_SEQUENCE_ID COMPONENT_ITEM_ID
*[297]* 207 *[384]* 4 384 *[185]*
*[297]* 207 *[384]* 4 384 *[241]*
*[297]* 207 *[384]* 4 384 *[249]*
*[297]* 207 *[384]* 4 384 *[4747]*
*[297]* 207 *[384]* 4 384 *[4749]*
*[297]* 207 *[384]* 4 384 *[4751]*
Edited by: user612347 on Mar 16, 2010 4:21 PM
Edited by: user612347 on Mar 16, 2010 4:57 PMHi,
Sorry, it's unclear what you want to do.
Whenever you have a problem, it helps to be as specific as you can.
Post a little sampel data (CREATE TABLE and INSERT statements) and the results you want from that data. Since your problem involves parameters, give a couple of sets of parameters, and the results you want for each set, given the same data.
Are you saying that, after the user enters one set of parameters, you will need to run a variation of this query:
SELECT a.assembly_item_id, a.organization_id, a.bill_sequence_id, b.bom_item_type, b.bill_sequence_id, b.component_item_id
FROM bom_structures_b a, bom_components_b b
WHERE a.assembly_item_id = '303'
AND
a.organization_id = '207'
AND
b.bill_sequence_id = a.bill_sequence_id
AND
b.bom_item_type = '4';several times? What will be different each time? Will the hard-coded strings in the WHERE clause ('303', '207' and '4') be values from the earlier query?
Do you really want to run this query several times, or would you rather run one query, and have it produce results for all the relevant values? (That would probably be eaisest and less error-prone). When you post your desired results, post what you would most like to see. If something else is acceptable, describe it.
You can write SQL*Plus scripts to use parameters (substitution variables.
For example, you can write a query that says:
WHERE a.assembly_item_id = '&1'
AND a.organization_id = '&2'
AND b.bill_sequence_id = a.bill_sequence_id
AND b.bom_item_type = '&3';and call it like this
@Section_03A_bom_structures_b 303 207 4You can have a query output several such rows (for example:
@Section_03A_bom_structures_b 303 207 4
@Section_03A_bom_structures_b 304 298 3
@Section_03A_bom_structures_b 306 99 4), send all of that output to a SPOOL file, and then execute the SPOOL file. -
Select value from dropdown list
hi All,
we have a bsp application MVC based, we have a dropdown list, what we require is when user selects an entry from drop down list and presses a button, we want to select that value from drop down list and then pass it to the method that will be called when button is pressed event..
I want to know two things
1. How do i get the selected value from dropdown ?
2. hw can i retain it to send it to method call in handle_event bit
thank you allHi,
If your application is stateless you have to capture the selected value in do_handle_data and assign it to the controller class attribute and later use this value in do_handle_event directly.
If your application is stateful, on your dropdownlist htmlb tag click F1 you can read the documentation which also shows how to capture the value of dropdownlist in do_handle_event. In the same documentation you can even find few samples provided and check those samples in your system.
Hope this helps.
Regards,
Abhinav -
Selecting a Role from dropdown list throws error
Hi,
I'm using CRM Web UI 7.0. I'm facing problem selecting a Role from dropdown list in the assignment block Roles in the screen Employee. The problem is that the dropdown list doesn't show any value on clicking and gives an error message "Error on page" at the bottom of page. The roles exist in the system and also I'm able to see them for Accounts screen & in the GUI.
Kindly help.
Regards,
ShailiHi,
Just to add to this issue: WebUI-> Account Management-> Contacts-> Roles-> Edit list. When we try to add a role from dropdown in Firefox, it works fine but same throws an error in Internet Explorer related to some script.
Did someone face similar issue and how was it solved?
Regards,
Shikha -
Displaying ui element when selecting value from dropdown
hi,
i have a requirement when user select value from dropdown( some x from dropdown) textedit ui(where user can enter some text) should be displayed and submitted. please give some ideaHi Babanmohi ,
First create a node in your context and under that create an attribute. Then add a Dropdown by Index and TextEdit UI on to your view. Bind both the UI element with the same attribute.
Then create an action on onSelect event of the DropDown UI element. Go to its implementation and write the following:
wdContext.current<Node name>Element.set<attribute name>(wdContext.current<Node name>Element.get<attribute name>)
For example, if in my context there is a node called testnode and under that if im having an attriburte called name, then do the following coding in the onSelect method of dropdown:
wdContext.currentTestnodeElement().setName(wdContext.currentTestnodeElement().getName());
Reply me if you have any issues
Regards,
Jithin -
Choose OU from dropdown list in MDT 2012 without using Lite Touch Wizard??
Is there a way to adding a dropdown to an hta and javascript file to allow a dropdown selection of the OU's in your AD container. Right now I have set that up with HTML and javascript but it will not succeed in passing the value over. Or is there a way of
adding a task to the deployment wizard where a dropdown with the xml values of your OU's would show up and prompt?
Any other ways of making this work would be accepted. We just don't want to use the Lit Touch Wizard on top of our HTA and java.
This is my Java code at the moment.
var oTimer;
// This is the javascript backend for the The BitLocker FrontEnd HTA - CM12 ver 3.0, Jan, 2013.
// report bugs, suggestions, corrections, fixes etc to [email protected] or visit windows-noob.com
// Below are the functions used in the HTA
function searchcomputer(searchstring ) {
var WShell = new ActiveXObject("WScript.Shell");
var oEnvironment = new ActiveXObject("Microsoft.SMS.TSEnvironment");
oEnvironment("SearchString")=searchstring;
var oExec = WShell.Run ("cscript //NoLogo " + GetScriptRoot() + "\\wnb\\searchcomputerbyname.wsf", 0, true);
return oEnvironment("search_Computer");
function performeComputerSearch() {
var searchString = '';
var searchTextBox = document.getElementById('searchstring_association');
var searchReturnedResult = false;
Clear the drop down from previous searches and add the first default element to the drop down.
var el = document.getElementById("destinationComputerList");
/* Clear drop down list. */
while(el.options.length > 0)
el.options.remove(0);
/* Create first element, showing that the user has to select an element from the drop down list. */
var opt1 = document.createElement("option");
el.options.add(opt1);
opt1.text = 'Select destination';
opt1.value = '';
Drop down blanked and first default value is added.
if( searchTextBox != null ) {
searchString = searchTextBox.value;
if( searchString != '' ) {
searchcomputer(searchString );
var oEnvironment = new ActiveXObject("Microsoft.SMS.TSEnvironment");
var currentComputerResourceId = oEnvironment("GetResourceId");
/* When web service returns process the result. */
var html = new ActiveXObject("Microsoft.XMLDOM");
/* Here extract the result from the oEnviroment , remeber to create the oEnviorment object if it's not created before. */
var result = oEnvironment("search_Computer");
// alert(result);
html.loadXML(result);
/* Retrive all the computers in the search result. */
var anodes = html.selectNodes("//Resource");
/* Create drop down elements base on the */
for (var i=0; i < anodes.length; i++){
var obsolete = anodes(i).selectSingleNode("Obsolete").text;
var resourceid = anodes(i).selectSingleNode("ResourceID").text;
if( obsolete == 'false' && currentComputerResourceId != resourceid ) {
/* Computer is not Obsolete, added it to the drop down. */
var name = anodes(i).selectSingleNode("Name").text;
// alert (name);
var SMSUniqueIdentifier= anodes(i).selectSingleNode("ResourceID").text;
var opt = document.createElement("option");
// Add an Option object to Drop Down/List Box
el.options.add(opt);
// Assign text and value to Option object
opt.text = 'ResourceID: ' + SMSUniqueIdentifier + ', Name: ' + name;
opt.value = resourceid;
searchReturnedResult = true;
if( searchReturnedResult == false ) {
alert( "Query for '" + searchString + "' didn't return any computer to make association with, please redefine your search string." );
function makeAssociation () {
/* Make sure that the user has selected a destination computer. */
var el = document.getElementById("destinationComputerList");
var selectedresourceId = el.value;
if( selectedresourceId == '' ) {
/* User havn't selected a computer to make association with. */
alert('No destination computer selected' );
} else {
/* Call the other web service to make the association. */
alert( 'The selected ResourceId is: ' + selectedresourceId);
var answer = makeAssosiationWebServiceCall(selectedresourceId);
if(answer == "True" ){
alert("Successfully Associated Computers");
} else {
alert(answer + 'UnSuccessfully Associated Computers');
function IdentifySCCMDrive()
var fso = new ActiveXObject("Scripting.FileSystemObject");
var oEnvironment = new ActiveXObject("Microsoft.SMS.TSEnvironment");
var drives = new Enumerator(fso.Drives);
for(drives.moveFirst();!drives.atEnd();drives.moveNext())
var drive = drives.item();
if(drive.IsReady && fso.fileexists(drive.path + "\\SMS\\data\\TsmBootstrap.ini"))
var fileContents = fso.OpenTextFile(drive.Path + "\\SMS\\data\\TsmBootstrap.ini").ReadAll();
if(fileContents.search("MediaType=FullMedia") > -1)
oEnvironment("SCCMDRIVE") = drive.Path;
return drive.Path;
function makeAssosiationWebServiceCall(dest){
var WShell = new ActiveXObject("WScript.Shell");
var oEnvironment = new ActiveXObject("Microsoft.SMS.TSEnvironment");
oEnvironment("ReferenceComputerResourceId") = oEnvironment("GetResourceId");
oEnvironment("DestinationComputerResourceId") = dest;
var oExec = WShell.Run ("cscript //NoLogo " + GetScriptRoot() + "\\wnb\\AddComputerAssociationbyID.wsf", 0, true);
return oEnvironment("AddComputerAssociationByIDResult");
function OnLoad()
var WShell = new ActiveXObject("WScript.Shell");
var oEnvironment = new ActiveXObject("Microsoft.SMS.TSEnvironment");
document.getElementById('txtComputerNew').value = oEnvironment("OSDCOMPUTERNAME");
var oTSProgressUI = new ActiveXObject("Microsoft.SMS.TSProgressUI");
oTSProgressUI.CloseProgressDialog();
GetTSVersion();
GetUSMTVersion()
IdentifySCCMDrive();
populateUSMTDropList();
if(oEnvironment("TPM_Available") == "True")
document.getElementsByName("RefreshckBoxEnableBitLocker").item(0).disabled = false;
document.getElementsByName("NewComputerckBoxEnableBitLocker").item(0).disabled = false;
document.title = "The CM12 BitLocker FrontEnd HTA";
function inpBoxUser_OnKeyUp(strCaller)
if(oTimer != undefined)
window.clearTimeout(oTimer);
document.getElementById('txtUserRefresh').value = document.getElementById(strCaller).value;
document.getElementById('txtUserNew').value = document.getElementById(strCaller).value;
oTimer = window.setTimeout("doADCheck('" + strCaller + "')", 2000);
function inpBoxComputer_OnKeyUp(strCaller)
if(oTimer != undefined)
window.clearTimeout(oTimer);
// document.getElementById('txtComputerRefresh').value = document.getElementById(strCaller).value;
document.getElementById('txtComputerNew').value = document.getElementById(strCaller).value;
oTimer = window.setTimeout("doADCheck('" + strCaller + "')", 2000);
function doADCheck(strCaller)
strFullName = GetRealName(document.getElementById(strCaller).value);
if (strFullName == "NOACCOUNT") {
document.getElementById('txtUserNew').style.background = "#EC736A";
document.getElementById('txtUserRefresh').style.background = "#EC736A";
document.getElementById('txtUserInfoNew').innerHTML = "";
document.getElementById('txtUserInfoRefresh').innerHTML = "";
else if(strFullName == "SERVFAIL") {
document.getElementById('txtUserNew').style.background = "#FFA61C";
document.getElementById('txtUserRefresh').style.background = "#FFA61C";
document.getElementById('txtUserInfoNew').innerHTML = "SERVER FAILURE";
document.getElementById('txtUserInfoRefresh').innerHTML = "SERVER FAILURE";
else
document.getElementById('txtUserNew').style.background = "#6EC6F0";
document.getElementById('txtUserRefresh').style.background = "#6EC6F0";
document.getElementById('txtUserInfoNew').innerHTML = strFullName;
document.getElementById('txtUserInfoRefresh').innerHTML = strFullName;
if (document.getElementById(strCaller).value.length == 0) {
document.getElementById('txtUserNew').style.background = "#FFFFFF";
document.getElementById('txtUserRefresh').style.background = "#FFFFFF";
document.getElementById('txtUserInfoNew').innerHTML = "";
document.getElementById('txtUserInfoRefresh').innerHTML = "";
function GetRealName (strUserName)
var WShell = new ActiveXObject("WScript.Shell");
var oEnvironment = new ActiveXObject("Microsoft.SMS.TSEnvironment");
var oExec = WShell.Run ("cscript //NoLogo " + GetScriptRoot() + "\\wnb\\UserNameHelper.wsf /USERNAME:" + strUserName, 0, true);
return oEnvironment("UserFullName");
function GetScriptRoot ()
var oEnvironment = new ActiveXObject("Microsoft.SMS.TSEnvironment");
return oEnvironment("SCRIPTROOT");
function Shutdown()
var WShell = new ActiveXObject("WScript.Shell");
if(window.confirm("Ok to shutdown?"))
WShell.Run ("wpeutil shutdown",0, true);
function Reboot()
var WShell = new ActiveXObject("WScript.Shell");
if(window.confirm("Ok to reboot?"))
WShell.Run ("wpeutil reboot",0, true);
function closeHTA()
var WShell = new ActiveXObject("WScript.Shell");
if(window.confirm("Ok to Exit?"))
WShell.Run ("wpeutil shutdown",0, true);
function commandPrompt()
var WShell = new ActiveXObject("WScript.Shell");
// if(window.confirm("Open Command Prompt?"))
WShell.Run ("cmd.exe /k",1, true);
function cmtrace()
var WShell = new ActiveXObject("WScript.Shell");
// if(window.confirm("Open Command Prompt?"))
WShell.Run ("cmd.exe /k viewlog.cmd",1, true);
function showreport()
var oEnvironment = new ActiveXObject("Microsoft.SMS.TSEnvironment");
alert(oEnvironment("UUID"));
function GetSCCMAssignedSite()
var WShell = new ActiveXObject("WScript.Shell");
var oEnvironment = new ActiveXObject("Microsoft.SMS.TSEnvironment");
var oExec = WShell.Run ("cscript //NoLogo " + GetScriptRoot() + "\\wnb\\sitecode.wsf", 0, true);
return oEnvironment("SiteCode");
function IsComputerKnown()
var WShell = new ActiveXObject("WScript.Shell");
var oEnvironment = new ActiveXObject("Microsoft.SMS.TSEnvironment");
var oExec = WShell.Run ("cscript //NoLogo " + GetScriptRoot() + "\\wnb\\IsComputerKnown.wsf", 0, true);
return oEnvironment("IsComputerKnown");
function myFunction()
var myVal = document.getElementById("ADOU").value;
var outPut = "";
switch (myVal) {
case "1":
outPut = "OU=Administrative,OU=Workstations,DC=imo-online,DC=com";
break;
case "2":
outPut = "OU=Development,OU=Workstations,DC=imo-online,DC=com";
break;
case "3":
outPut = "OU=External,OU=Workstations,DC=imo-online,DC=com";
break;
case "4":
outPut = "OU=IT,OU=Workstations,DC=imo-online,DC=com";
break;
case "5":
outPut = "OU=Restricted,OU=Workstations,DC=imo-online,DC=com";
break;
case "6":
outPut = "OU=Sales,OU=Workstations,DC=imo-online,DC=com";
break;
case "7":
outPut = "OU=Service Computers,OU=Workstations,DC=imo-online,DC=com";
break;
alert(outPut);
function GetComputerName()
var WShell = new ActiveXObject("WScript.Shell");
var oEnvironment = new ActiveXObject("Microsoft.SMS.TSEnvironment");
var oExec = WShell.Run ("cscript //NoLogo " + GetScriptRoot() + "\\wnb\\GetComputerName.wsf", 0, true);
return oEnvironment("GetComputerName");
function GetResourceID()
var WShell = new ActiveXObject("WScript.Shell");
var oEnvironment = new ActiveXObject("Microsoft.SMS.TSEnvironment");
var oExec = WShell.Run ("cscript //NoLogo " + GetScriptRoot() + "\\wnb\\GetResourceID.wsf", 0, true);
return oEnvironment("GetResourceID");
function getUserFriendlyBoolValue( value ) {
if ( value )
return "Yes";
else
return "No";
function GetTSVersion()
var oEnvironment = new ActiveXObject("Microsoft.SMS.TSEnvironment");
sversioninfo = oEnvironment("_SMSTSPackageName");
sHTML = "Task Sequence = " + sversioninfo ;
document.getElementsByName('DivTSVersion').item(0).innerHTML = sHTML;
function GetUSMTVersion()
var fso = new ActiveXObject("Scripting.FileSystemObject");
var oEnvironment = new ActiveXObject("Microsoft.SMS.TSEnvironment");
var drives = new Enumerator(fso.Drives);
var fileContents = "Unidentified Version"
for(drives.moveFirst();!drives.atEnd();drives.moveNext())
var drive = drives.item();
if(drive.IsReady && fso.fileexists(drive.path + "\\_smstasksequence\\wdpackage\\usmt\\usmt_rulesets_version.txt"))
fileContents = fso.OpenTextFile(drive.Path + "\\_smstasksequence\\wdpackage\\usmt\\usmt_rulesets_version.txt").Read(25);
//alert(fileContents);
sHTML = "USMT RuleSet = " + fileContents ;
document.getElementsByName('DivUSMTVersion').item(0).innerHTML = sHTML;
function ShowUSMTVersion()
var fso = new ActiveXObject("Scripting.FileSystemObject");
var oEnvironment = new ActiveXObject("Microsoft.SMS.TSEnvironment");
var drives = new Enumerator(fso.Drives);
var fileContents = ""
for(drives.moveFirst();!drives.atEnd();drives.moveNext())
var drive = drives.item();
if(drive.IsReady && fso.fileexists(drive.path + "\\_smstasksequence\\wdpackage\\usmt\\usmt_rulesets_version.txt"))
fileContents = fso.OpenTextFile(drive.Path + "\\_smstasksequence\\wdpackage\\usmt\\usmt_rulesets_version.txt").Read(25);
alert(fileContents);
sHTML = "USMT RuleSet = " + fileContents ;
document.getElementsByName('DivUSMTVersion').item(0).innerHTML = sHTML;
function ShowVersion()
var oEnvironment = new ActiveXObject("Microsoft.SMS.TSEnvironment");
alert('Task Sequence version=' +oEnvironment("_SMSTSPackageName"));
function populateUSMTDropList()
var WShell = new ActiveXObject("WScript.Shell");
var fso = new ActiveXObject("Scripting.FileSystemObject");
var oEnvironment = new ActiveXObject("Microsoft.SMS.TSEnvironment");
sHTML = "<option value='NULL'>No Restore</option>\n";
sHTML = sHTML + "<option value='SMP'>SMP (Requires Computer Association)</option>\n";
// sUsmtStorePath = "c:\\USMTStores";
sUsmtStorePath = "\\\\sccm\\USMTStores";
if(fso.FolderExists(sUsmtStorePath))
var SubFolders = new Enumerator(fso.GetFolder(sUsmtStorePath).SubFolders);
for(SubFolders.moveFirst();!SubFolders.atEnd();SubFolders.moveNext())
var folder = SubFolders.item();
sLabel = folder.name ;
sValue = folder.name;
if (folder.name.toUpperCase() != "X86" && folder.name.toUpperCase() != "X64")
sHTML = sHTML + "<option value='" + sValue + "'>" + sLabel + "</option>\n" ;
sHTML = "<select id='shareDropDown' name='shareDropDown'>\n" + sHTML + "</select>";
// You need to have a <div> in your HTML with the ID and NAME of divCboList
document.getElementsByName('divUSMTDropDown').item(0).innerHTML = sHTML;
function buildConfirmationMessage( deploymentType, targetUser, targetComputer, dochkdsk, doBackup, doBackupNetwork, doOffline, regionValue, languageValue, BitLockervalue, ADOU, PreProvBitLockervalue, usmtvalue, AUTOComputerName, SCEPvalueRefresh, SCEPvalueNew, EnableBitLockerRefresh, ADOU, EnableBitLockerNew) {
var arr = new Array();
arr[arr.length] = "\r\n";
arr[arr.length] = "Deployment type variable: ";
switch(deploymentType) {
case 0:
arr[arr.length] = "BACKUPOLD";
arr[arr.length] = "\r\n";
arr[arr.length] = "Do CHKDSK: " + getUserFriendlyBoolValue( dochkdsk);
arr[arr.length] = "\r\n";
arr[arr.length] = "Do backup: " + getUserFriendlyBoolValue( doBackup);
arr[arr.length] = "\r\n";
arr[arr.length] = "Do backupNetwork: " + getUserFriendlyBoolValue( doBackupNetwork);
arr[arr.length] = "\r\n";
arr[arr.length] = "Do Offline: " + getUserFriendlyBoolValue( doOffline);
arr[arr.length] = "\r\n";
break;
case 1:
arr[arr.length] = "REFRESH";
arr[arr.length] = "\r\n";
arr[arr.length] = "Do CHKDSK: " + getUserFriendlyBoolValue( dochkdsk);
arr[arr.length] = "\r\n";
arr[arr.length] = "Do backup: " + getUserFriendlyBoolValue( doBackup);
arr[arr.length] = "\r\n";
arr[arr.length] = "Do backupNetwork: " + getUserFriendlyBoolValue( doBackupNetwork);
arr[arr.length] = "\r\n";
arr[arr.length] = "Target user: " + targetUser;
arr[arr.length] = "\r\n";
arr[arr.length] = "AUTO-ComputerName: " + getUserFriendlyBoolValue( AUTOComputerName);
arr[arr.length] = "\r\n";
arr[arr.length] = "Enable SCEP: " + getUserFriendlyBoolValue( SCEPvalueRefresh);
arr[arr.length] = "\r\n";
arr[arr.length] = "EnableBitLockerRefresh: " + getUserFriendlyBoolValue( EnableBitLockerRefresh);
arr[arr.length] = "\r\n";
arr[arr.length] = "ADOU: " + getUserFriendlyBoolValue( ADOU);
arr[arr.length] = "\r\n";
break;
case 2:
arr[arr.length] = "NEWCOMPUTER";
arr[arr.length] = "\r\n";
arr[arr.length] = "RegionValue: " + regionValue;
arr[arr.length] = "\r\n";
arr[arr.length] = "LanguageValue: " + languageValue;
arr[arr.length] = "\r\n";
arr[arr.length] = "Target user: " + targetUser;
arr[arr.length] = "\r\n";
arr[arr.length] = "Target computer: " + targetComputer;
arr[arr.length] = "\r\n";
arr[arr.length] = "AUTO-ComputerName: " + getUserFriendlyBoolValue( AUTOComputerName);
arr[arr.length] = "\r\n";
arr[arr.length] = "Enable SCEP: " + getUserFriendlyBoolValue( SCEPvalueNew);
arr[arr.length] = "\r\n";
arr[arr.length] = "EnableBitLockerNew: " + getUserFriendlyBoolValue( EnableBitLockerNew);
arr[arr.length] = "\r\n";
arr[arr.length] = "BitLockerdropdown: " + BitLockervalue;
arr[arr.length] = "\r\n";
arr[arr.length] = "\r\n";
arr[arr.length] = "Pre-Provision BitLocker: " + PreProvBitLockervalue;
arr[arr.length] = "\r\n";
arr[arr.length] = "USMTdropdown: " + usmtvalue;
arr[arr.length] = "\r\n";
break;
return "Please make sure your selections are ok before proceeding.\nYour Choices:-\n" + arr.join('');
function Proceed(actionToPerform) {
var deploymentType = '';
var targetUser = '';
var targetComputer = '';
var dochkdsk = '';
var doBackup = '';
var doBackupNetwork = '';
var AUTOComputerName = '';
var EnableBitLockerRefresh = '';
var ADOU1 = '';
var EnableBitLockerNew = '';
var doOffline = '';
var regionValue = '';
var languageValue = '';
var BitLockerValue = '';
var PreProvBitLockerValue = '';
var SCEPvalueRefresh = '';
var SCEPvalueNew = '';
var SCEPvalue = '';
var usmtvalue = '';
var oEnvironment = new ActiveXObject("Microsoft.SMS.TSEnvironment");
// Extract the values.
switch (actionToPerform) {
case 'Backup':
// alert( 'You have chosen Backup.');
deploymentType = 0;
dochkdsk= document.getElementById('ckchkdsk').checked;
doBackup= document.getElementById('ckBoxFullBackup').checked;
doBackupNetwork= document.getElementById('ckBoxFullBackupNetwork').checked;
doOffline= document.getElementById('ckBoxDoOffline').checked;
break;
case 'Reinstall':
// alert( 'You have chosen Reinstall.');
deploymentType = 1;
dochkdsk= document.getElementById('Refreshckchkdsk').checked;
doBackup= document.getElementById('RefreshckBoxFullBackup').checked;
doBackupNetwork= document.getElementById('RefreshckBoxFullBackupNetwork').checked;
doOffline= true;
if(document.getElementById('txtUserRefresh').value)
targetUser = document.getElementById('txtUserRefresh').value;
else
targetUser = "EMPTY";
// targetUser = document.getElementById('txtUserRefresh').value;
AUTOComputerName= document.getElementById('RefreshckBoxAUTO-ComputerName').checked;
SCEPvalue= document.getElementById('SCEPckBoxRefresh').checked;
EnableBitLockerRefresh= document.getElementById('RefreshckBoxEnableBitLocker').checked;
ADOU= document.getElementById('ADOU').checked;
break;
case 'Newcomputer':
// alert( 'You have chosen New computer.');
deploymentType = 2;
var regionDrop = document.getElementById('regionDropDown');
var languageDrop = document.getElementById('languageDropDown');
var BitLockerDrop = document.getElementById('BitLockerDropDown');
var usmtdrop = document.getElementById('shareDropDown');
// added code to give targetUser a value if none entered
if(document.getElementById('txtUserNew').value)
targetUser = document.getElementById('txtUserNew').value;
else
targetUser = " ";
// added code to give targetComputer a value if none entered
if(document.getElementById('txtComputerNew').value)
targetComputer = document.getElementById('txtComputerNew').value;
else
targetComputer = oEnvironment("OSDCOMPUTERNAME");
//AUTOComputerName = document.getElementById('ComputerNewckBoxAUTO-ComputerName').checked;
SCEPvalue= document.getElementById('SCEPckBoxNew').checked;
EnableBitLockerNew = document.getElementById('NewComputerckBoxEnableBitlocker').checked;
BitLockerValue = BitLockerDrop.options[BitLockerDrop.selectedIndex].value;
ADOU1 = ADOU.options[ADOU.selectedIndex].value;
PreProvBitLockerValue = document.getElementById('ckBoxPreProvBitLocker').checked;
usmtvalue = usmtdrop.options[usmtdrop.selectedIndex].value;
break;
default:
// keep the values case sensitive !! If no type, Backup, Reinstall or New computer image is selected, the click on the Proceed
// image will excute this section (between default: and break;. Keep it clear but DON'T remove the break.
// alert("'" + actionToPerform + "' isn't a valid selection.");
return;
break;
// Ask user if the values are ok to proceed with.
if(window.confirm( buildConfirmationMessage(deploymentType, targetUser, targetComputer, dochkdsk, doBackup, doBackupNetwork, doOffline, regionValue, languageValue, BitLockerValue,PreProvBitLockerValue, usmtvalue, AUTOComputerName, SCEPvalue, SCEPvalue, ADOU, EnableBitLockerRefresh, EnableBitLockerNew) ) ) {
var oEnvironment = new ActiveXObject("Microsoft.SMS.TSEnvironment");
window.moveTo(2000,2000);
var WShell = new ActiveXObject("WScript.Shell");
switch(deploymentType) {
case 0 :
oEnvironment("DEPLOYMENTTYPE") = "BACKUPOLD";
oEnvironment("DOCHKDSK") = dochkdsk;
oEnvironment("DOBACKUP") = doBackup;
oEnvironment("DOBACKUPNETWORK") = doBackupNetwork;
oEnvironment("DOOFFLINE") = doOffline;
break;
case 1:
oEnvironment("DEPLOYMENTTYPE") = "REFRESH";
oEnvironment("DOCHKDSK") = dochkdsk;
oEnvironment("DOBACKUP") = doBackup;
oEnvironment("DOBACKUPNETWORK") = doBackupNetwork;
oEnvironment("TARGETUSER") = targetUser;
oEnvironment("DOOFFLINE") = doOffline;
oEnvironment("AUTOComputerName") = AUTOComputerName;
oEnvironment("SCEPvalue") = SCEPvalue;
oEnvironment("EnableBitLockerRefresh") = EnableBitLockerRefresh;
oEnvironment("ADOU1") = ADOU;
break;
case 2 :
oEnvironment("DEPLOYMENTTYPE") = "NEWCOMPUTER";
oEnvironment("RegionValue") = regionValue;
oEnvironment("LanguageValue") = languageValue;
oEnvironment("TARGETUSER") = targetUser;
oEnvironment("OSDCOMPUTERNAME") = targetComputer;
oEnvironment("AUTOComputerName") = AUTOComputerName;
oEnvironment("SCEPvalue") = SCEPvalue;
oEnvironment("EnableBitLockerNew") = EnableBitLockerNew;
oEnvironment("BitLockerValue") = BitLockerValue;
oEnvironment("PreProvBitLockerValue") = PreProvBitLockerValue;
oEnvironment("uddir") = usmtvalue;
break;
if(oEnvironment("_SMSTSMEDIATYPE") && oEnvironment("_SMSTSMEDIATYPE") == "FullMedia") {
oEnvironment("OSDStateStorePath") = oEnvironment("SCCMDRIVE") + "\\DiskBackups";
window.setTimeout('window.close()', 2000);My issue is it wont complete the task and have to shut down the deployment.
I am not sure what I am doing wrong in my java function that is not outputting these OU containers.
The movetocomputerOU is specified in the customsettings.ini file below
[MoveComputerToOU]
WebService=http://server/Deployment/ad.asmx/MoveComputerToOU
Parameters=OSDComputerName,MachineObjectOU
OSDComputerName=ComputerName
MachineObjectOU=OUPath
function MyFunction()
var myVal = document.getElementById("ADOU").value;
var outPut = "";
switch (myVal) {
case "1":
outPut = "OU=Administrative,OU=Workstations,DC=imo-online,DC=com";
break;
case "2":
outPut = "OU=Development,OU=Workstations,DC=imo-online,DC=com";
break;
case "3":
outPut = "OU=External,OU=Workstations,DC=imo-online,DC=com";
break;
case "4":
outPut = "OU=IT,OU=Workstations,DC=imo-online,DC=com";
break;
case "5":
outPut = "OU=Restricted,OU=Workstations,DC=imo-online,DC=com";
break;
case "6":
outPut = "OU=Sales,OU=Workstations,DC=imo-online,DC=com";
break;
case "7":
outPut = "OU=Service Computers,OU=Workstations,DC=imo-online,DC=com";
break;
alert(outPut); -
Shopping cart creation category dropdown selecting the most used category
Hi SRM gurus,
While creating a shopping cart one of our most used category gets selected by default before we start doing anything.
Everytime we have to change the category.
Is there a way that will become blank and we can select from the dropdown or the find list.
Kindly suggest.
We are using SRM component version 4.0, SRM server 5.0, our patch level 0008.
Thx. & reg.,
Sridhar.Hi
<b>Yes.. This was happening with us when we used SRM 4.0 version.
We have used an BADI Implementation to resolve this issue.</b>
<u>The BADI name is <b> BBP_F4_READ_ON_EXIT </b></u>
For Product category -> Product category (attr. WGR, PRCAT) GET_CATEGORY Method, you need to go ahead.
<u>Read the documenation of this BADI and you will get the problem resolved after implementing the same.</u>
Here is the documentation
BBP_F4_READ_ON_EXIT
Short Text
Restrict the Display in Input Helps and Search Helps
You can use the Business Add-In (BAdI) BBP_F4_READ_ON_EXIT to restrict (or augment) the list of values and favorites that are output in the input and search helps. You can only process data elements for which input helps exist on HTML templates. The following three BAdIs are also available:
BBP_F4_READ_ON_ENTRY
Use this BAdI if you do not just want to restrict the favorites and values list but also want to select this yourself.
BBP_F4_MEM_UPDATE
BBP_F4_SAVE_DB
The following three modules are used to process the values per data element:
BBP_GET_<data element>_F4
Supplies a list of all values and user-specific favorites. You can influence how this module works using BAdI BBP_F4_READ_ON_ENTRY and BBP_F4_READ_ON_EXIT.
BBP_UPD_<data element>_FAV
Updates the favorites in internal function group storage. You can influence how this module works using BAdI BBP_F4_MEM_UPDATE.
BBP_SET_<data element>_FAV
Writes the current favorites to the database. You can influence how this module behaves using BAdI BBP_F4_SAV_DB.
Use
Only implement this BAdI and only program the appropriate method if you want to restrict or augment the value set of standard selection.
If you determine favorites using a BAdI, the standard modules do not process the favorites further. Warning: If, deviating from standard selection, you determine the list of favorites yourself using a BAdI, you have to temporarily store the favorites in the methods of the BAdIs and carry out final saving to the database yourself.
Standard settings
If data is added via the methods, no check of this data occurs. The check has to occur in the methods themselves.
The interfaces of the methods of the BAdI are (almost) always the same:
IV_LANGUAGE
Language for determination of the texts
IV_USER
User for which the values are requested
ET_<data element>_LIST
The list of valid values changed by you
EV_X_FAV_PROCESSED
Use "X" to stipulate that you have filled the favorites list. Only present if favorites table exists for relevant data element.
ET_<data element>_FAVOURITES
Changed favorites list for user IV_USER. Only exists if favorites table exists for relevant data element.
The methods have to fill the structures of the transfer tables completely. Incompletely filled structures can cause followup errors and unforseen consequences.
Activities
Reading of value lists and favorites using function module BBP_GET_<data element>_F4 occurs as follows:
1. First the BAdI BBP_F4_READ_ON_ENTRY is called. It is possible to fill the input list (and favorites) with default values.
a) In the case of default values, exactly these values are returned to the initiator. No further processing or check occurs and the module is exited.
b) If no default values exist, the standard selection is carried out.
2. Before the values are transferred externally you can restrict or augment the number of hits using the BAdI BBP_F4_READ_ON_EXIT. You can therefore delete entries from or add entries to the input list or favorites list.
3. BAdI BBP_F4_READ_ON_EXIT provides an individual method for each data element for which an input help and/or favorites table exists. These are listed below.
If you use this method, you need to indicate processing using the parameter EV_X_LIST_PROCESSED or EV_X_FAV_PROCESSED. Otherwise the selection is lost.
List of available methods per data element in BBP_F4_READ_ON_EXIT:
Field/Data element Method
Currency GET_CURRENCY
Region GET_REGION
Country GET_COUNTRY
Language GET_LANGUAGE
Industry GET_INDUSTRY
Academic title GET_ACADEMIC
Time zones GET_TIMEZONE
Procurement cards GET_PCARD
Legal forms GET_LEGAL
Format for name format GET_NAMEFORM
Quality management systems GET_QMSYSTEM
Fixed values GET_DOMVALUE
Form of address texts GET_TITLEKEY
Units of measure GET_UNIT
Bank data GET_BANKINFO
Tax number types GET_TAXNUMT
Tax numbers per country GET_TAXTYPE
Tax groups per tax type GET_TAXGROUP
Terms of payment GET_PAYMTERM
RFC destinations GET_RFC_LOGS
Logical systems GET_LOGSYS
Tax codes GET_TAXCODE
Catalogs (attribute CAT) GET_CATALOG
Roles (attribute ROLE) GET_ROLE
Account assignment categories (attribute KNT) GET_KNT_ATTR
Purchasing organizations (from PdOrg) GET_PURCHORG
Purchasing organizations (per company) GET_PORGCOMP
Purchasing group (from PdOrg) GET_PURCHGRP
Purchasing group (per company) GET_PGRPCOMP
Product category (attr. WGR, PRCAT) GET_CATEGORY
Products GET_PRODUCT
Goods recipient plant (attr. REQUESTER) GET_GRCPLANT
Goods recipient user (attr. REQUESTER) GET_GRCUSER
Requester (attribute REQUESTER) GET_BOBUSER
Cost centers (attribute CNT) GET_COSTCENT
Asset classes (attribute ANK) GET_ASSETCL
Assets (attribute AN1) GET_ASSETNO
Asset subnumbers (attribute AN2) ET_ASSETSUB
Network (attribute NET) GET_NETWORK
WBS element (attribute PRO) GET_WBSELEM
Order (attribute ANR) GET_ORDERNO
Customer order (attribute AUN) GET_SDDOC
Customer order item (attribute APO) GET_SDDOCPOS
Document type (attribute BSA) GET_DOCTYPE
Transaction type (attribute TEND_TYPE) GET_TENDTYPE
<i>Incase you face any problems, do let me know.</i>
Hope this will help.
Please reward suitable points.
Regards
- Atul -
How can i create a dynamic structure based on my input from a select-option
Hello,
This is to develop a custom report in FI for G/L Balance based on company code.
I have an input select-option for Company code.
Based on the range of company code my output layout should be modified.
I am not very much sure to create a dynamic internal based on the input from a select-option.
Can any one please let me know how can i do this.
I would appreciate for anyone who turns up quickly.
Thank you,
With regs,
Anitha Joss.See the following program, it builds a dynamic internal table based on the company codes from the select option.
report zrich_0001 .
type-pools: slis.
field-symbols: <dyn_table> type standard table,
<dyn_wa>.
data: alv_fldcat type slis_t_fieldcat_alv,
it_fldcat type lvc_t_fcat.
data: it001 type table of t001 with header line.
selection-screen begin of block b1 with frame title text-001.
select-options: s_bukrs for it001-bukrs.
selection-screen end of block b1.
start-of-selection.
select * into table it001 from t001
where bukrs in s_bukrs.
perform build_dyn_itab.
* Build_dyn_itab
form build_dyn_itab.
data: index(3) type c.
data: new_table type ref to data,
new_line type ref to data,
wa_it_fldcat type lvc_s_fcat.
clear wa_it_fldcat.
wa_it_fldcat-fieldname = 'PERIOD' .
wa_it_fldcat-datatype = 'CHAR'.
wa_it_fldcat-intlen = 6.
append wa_it_fldcat to it_fldcat .
loop at it001.
clear wa_it_fldcat.
wa_it_fldcat-fieldname = it001-bukrs .
wa_it_fldcat-datatype = 'CHAR'.
wa_it_fldcat-intlen = 4.
append wa_it_fldcat to it_fldcat .
endloop.
* Create dynamic internal table and assign to FS
call method cl_alv_table_create=>create_dynamic_table
exporting
it_fieldcatalog = it_fldcat
importing
ep_table = new_table.
assign new_table->* to <dyn_table>.
* Create dynamic work area and assign to FS
create data new_line like line of <dyn_table>.
assign new_line->* to <dyn_wa>.
endform.
Regards,
Rich Heilman -
I am calling a function from a SELECT statement. I want to call this function 3 times in the same select statement, to get 3 different levels in a hierarchy for a particular licence number. This function has a hierarchy query using a START WITH.. CONNECT BY clause and a SYS_CONNECT_BY_PATH function to get the full hierarchy path in the SELECT clause. Then the SUBSTR/INSTR functions are used to get the 1st, 2nd or 3rd element in the hierarchy.
The query is now running very slowly. Is there a better way of doing this -- should I just use in-line views in the SQL statement. Am I trying to do something stupid!!?a) you are calling the PL/SQL engine from the SQL engine 3 times for every row of data you are processing. This WILL have a performance impact.
b) If you can do something purely in SQL then do it that way as this will be the most peformant.
If you post an example of your data (provide us with CREATE TABLE/INSERTs or WITH statement) and an example of what you are trying to get as output then we may be able to help. -
Help with Services from dropdown
Hi everyone,
Everytime I try to use "services" - from the Safari toolbar (Click Safari, then Services from dropdown) I get many of my applications.
The one I would frequently like to use is "Grab" but it's never highlighted as working.
THe word Grab is dark - but then "Screen" "Selection" and "Timed Selection" are grayed out and I cannot grab a page.
I know of the other ways to get grab - but I want to use this pulldown. Why have it if it never works...
I'm sure I'm the one doing something wrong so if someone can help me I would really be appreciative.
Have a beautiful day!
Claudia
<edited out by Moderator>Hi Claudia, You're not doing anything wrong. The Services menu for Grab doesn't work on Tiger either. It's a bug.
You have a beautiful day too!
Tom -
Hi.
I am working on CRM 2007 icwebclient. My requirement is for BP creation either individual or organisation depending on ROLE select mandatory fields are changed.
If role 'Prospect' is selected then few fields are mandatory or if 'sold-to-party' is selected more fields are madatory..
Now which event is working behind this dropdown selection. where i have to write my code. How to set fields 'mandatory' at design time. soon reply would be appreciate.Hello,
as this really seems to be a big Issue for people. Thought as developers you might explore my hints on your own.
For switching the configuration:
Implement the P-Getter for the attribute on the context node with the following code:
CASE iv_property.
WHEN if_bsp_wd_model_setter_getter=>fp_server_event.
rv_value = 'my_event'.
endcase
This will trigger a roundtrip. We do not need to handle the event.
In your view controller implementation class redefine the method DO_CONFIG_DETERMINATION:
METHOD do_config_determination.
* Switch configuration that is used based on field value.
DATA:
lv_value TYPE char2,
lv_object_type TYPE bsp_dlc_object_type VALUE '<DEFAULT>',
lv_object_subtype TYPE BSP_DLC_OBJECT_SUB_TYPE value '<DEFAULT>',
lr_node TYPE REF TO if_bol_bo_property_access.
CALL METHOD super->do_config_determination
EXPORTING
iv_first_time = abap_false.
lr_node = typed_context->some_node->collection_wrapper->get_current( ).
CHECK lr_node IS BOUND.
lr_node->get_property_as_value(
EXPORTING
iv_attr_name = 'SOME_ATTRIBUTE'
IMPORTING
ev_result = lv_value ).
lv_object_type = 'MY_UI_OBJECT_TYPE'.
CASE lv_value .
WHEN 'SOME_VALUE1'.
lv_object_subtype = 'JIMBOB'.
WHEN 'SOME_VALUE2'.
lv_object_subtype = 'BUBBA'.
ENDCASE.
me->set_config_keys( iv_object_type = lv_object_type
iv_object_sub_type = lv_object_subtype
iv_propagate_2_children = abap_true ).
ENDMETHOD.
Just paste the above coding into the method.
What it does:
1. Get the value you want to check from one of the context nodes.
2. Switch the UI Object type (Yes you have to define it in customizing)
3. Switch the UI Sub Object type on base of the field value. (Yes you have to define your own sub object type, this is done via a class that is assigned to your UI Object type in customizing)
For the other solution: As mentioned I have not tried it myself.
The variable on the view controller I am talking about is CONFIGURATION_DESCR of interface IF_BSP_DLC_CONFIGURATION. It has got a method GET_CONFIG_DATA that will give you the XML stream and a method SET_CONFIG_DATA. Putting the changed XML back.
If you had done a were used list for at least one of these methods you would have seen how SAP uses them.
One example: CL_BSP_WD_OVW_VIEWSET->DO_INIT_CONFIG() however this will not help you on your problem.
I know there is a method that will decode the XML stream in the single fields with their properties and there is also a counter part to it. I am afraid that many people will use it to bypass the configurations. This will make it very hard to debug the coding. Thus I will not name the class/method here!
For the sake of maintainability please stick to the first method.
I have seen people getting the XML and then hardcoding another part into it. Then someone changed the config and an error occurs. You try to find out why, but the original developer is no longer there and has not documented anything...
cheers Carsten -
Selecting the sound output device
Hi, is there any way to select which sound output device to use from an Adobe AIR application? If there is, I can't seem to find it (using either the manual, the forums or Google).
Any help will be greatly appreciated.
Thanks,
MichielA new Idea has been added to the Adobe Idea's website for this discussion. Please vote if you are interested and would find this valuable!
Select output device for audio -
Supress 'Further Selection' And 'Search Help' buttons from LDB selection sc
Hi,
How to supress/invisible 'Further Selection' And 'Search Help' buttons from LDB selection screen?
waiting for reply.
Shweta.Hi,
1) try to use another version of sel-screen
2) work with loop at screen:
LOOP AT SCREEN.
CASE SCREEN-NAME.
WHEN 'ANLAGE-LOW' OR 'ANLAGE-HIGH'
OR '%_ANLAGE_%_APP_%-TEXT'
OR '%_ANLAGE_%_APP_%-VALU_PUSH'
OR '%_UNTNR_%_APP_%-TEXT'
OR 'UNTNR-LOW' OR 'UNTNR-HIGH'
OR '%_UNTNR_%_APP_%-VALU_PUSH'
OR 'BEREICH2' OR 'BEREICH3'.
SCREEN-INVISIBLE = 1.
SCREEN-INPUT = 0.
SCREEN-OUTPUT = 0.
WHEN 'BUKRS-LOW'.
SCREEN-REQUIRED = 1.
WHEN OTHERS.
CONTINUE.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
A. -
Help with formatting multiline output into comma delimited ordered output
I have 2 tables:
SQL> desc table_1;
Name Null? Type
===================================
ID NOT NULL NUMBER
DATA1 NOT NULL VARCHAR2(440)
DATA2 NOT NULL VARCHAR2(1024)
SQL> desc table_2;
Name Null? Type
===================================
ID NOT NULL NUMBER
ATTNAME NOT NULL VARCHAR2(255)
ATTVAL VARCHAR2 (4000)
DATA1 NOT NULL CHAR(1)
DATA2 VARCHAR2 (2000)
DATA3 VARCHAR2 (255)
I need to get ATTVAL from where e.g. ATTNAME=att_name1 to ATTNAME=att_name6 from every entry (with its unique ID), and format the output into comma delimited format in e.g. this order:
att_val1,att_val3,att_val6,att_val4,att_val5,att_val6
So e.g. for entry with ID "9812" from the query below, the output I need would be:
187,179,156,134,1436,1809
What I've got so far is as follows:
SQL> SELECT id,attname,attval FROM table_2 WHERE id in (SELECT id from table_1 WHERE data2='xxx')
AND attname in ('att_name1','att_name3','att_name6','att_name4','att_name5','att_name6');
ID ATTNAME ATTVAL
===============================
1970 att_name1 123
1970 att_name2 abc
1970 att_name3 1234
1970 att_name4 def
1970 att_name5 1134
1970 att_name6 ghj
9812 att_name4 134
9812 att_name5 1436
9812 att_name3 156
9812 att_name1 187
9812 att_name2 179
9812 att_name6 1809
77 att_name1 1980
77 att_name5 1867
77 att_name3 174
77 att_name4 1345
77 att_name2 1345
77 att_name6 1345
but I don't know how to format the output comma limited in certain order. (or if this is the best way of getting the data out)
Would someone have idea how this could be done?846954 wrote:
Thanks Frank!
I got much further now :).
I've got Oracle 10g So I used the "SYS_CONNECT_BY_PATH" for my query.
Now I get the output in the format I want, however, it comes out in the order that the attributes are (which is pretty random).The values you posted are in order: 'attval1' < 'attval2' < ...
So I'm using this now(had to use "|" as separator because SYS_CONNECT_BY_PATH would not work with comma due to some of the attval having comma in them ):The values you posted don't contain and commas.
You're hiding what the problem is. It would really help if you posted actual data. It always helps if you post CREATE TABLE and INSERT statements for a little sample data, and the results you want from that data.
Assuming you really have something that has to be in a certain order, and that order is not based on anything in the values themselves, then DECODE might be a good way to do it. Storing the sort value in a table might be even better.
It looks like you were using an Oracle 9 exanple. In Oracle 10, using SYS_CONNECT_BY_PATH is simpler:
SELECT id
, LTRIM ( SYS_CONNECT_BY_PATH (attval, '|')
, '|'
) AS attvals
FROM (
SELECT id
, attval
, ROW_NUMBER () OVER ( PARTITION BY id
ORDER BY DECODE (...)
) AS curr
WHERE id IN (
SELECT id
FROM table_1
WHERE data2 = 'xxx'
AND attname IN ('attname1','attname2','attname3','attname4','attname5','attname6')
WHERE CONNECT_BY_ISLEAF = 1
START WITH curr = 1
CONNECT BY curr = PRIOR curr + 1
AND id = PRIOR id
;You don't need two almost-identical ROW_NUMBERs; one will do just fine.
Maybe you are looking for
-
Downlaoded .exe for Firefox5 gives "file corrupted" error when I try to open it
I am running Windows XP on Parallels 5 on top of MAC OSX on an iMac24. I have no problems downloading Firefox 5 on OSX for Mac, nor for downloading Thunderbird on WinXP/Parallels5. Just Firefox5.exe comes up "file corrupted" when I try to run it or o
-
Hi All, Have an app that I am creating in flashbuilder 4, java axis 2 web service and mysql. In my app I have defined a service. I have had not problems with pulling data and inserting data by calling my java functions through the service. I added a
-
Importing mov files in premiere pro cs5
I just installed Adobe Creative Suite 5 Master Collection on my machine and now, i have two issues. 1. I do have the latest quicktime installed but when i try to import *.mov files with audio, only the audio is imported and works fine. the video isn'
-
Ipod nano on Mac OS X v10.4.10?
I'm planning to buy a 4th generation ipod nano, but I've read that you need to have Mac OS X v10.4.11 or later for this nano. I have Mac OS X v10.4.10, so you think it is still possible to run this 4th generation ipod nano?
-
Want 2 generate customer statement print directly from F.27
Hi All, I want to attach the ZFORM we have created for customer statement to F.27. Currently we generate a spool from F.27 and release it from SP01. Please help. Thanks