OT: Beginning FrameMaker Scripting Webinar
Hello Framers,
I will be doing a Beginning FrameMaker Scripting Webinar on
Tuesday, January 15, 2013 at 11:00 am EST
Every FrameMaker workflow can benefit from automation. Starting with version 10, FrameMaker has built-in ExtendScript scripting support. If you have ever thought about FrameMaker automation, this is the webinar to attend. We start with the very basics so you can decide if scripting is for you. If you are a FrameScript user, let me know, and we will provide examples in both languages.
The webinar is free and will go for about an hour. If you would like to attend, please send me an email to [email protected] or [email protected]
Rick
Rick Quatro
Carmen Publishing Inc.
585-283-5045
[email protected]
Hello Framers,
I will be doing a Beginning FrameMaker Scripting Webinar on
Tuesday, January 15, 2013 at 11:00 am EST
Every FrameMaker workflow can benefit from automation. Starting with version 10, FrameMaker has built-in ExtendScript scripting support. If you have ever thought about FrameMaker automation, this is the webinar to attend. We start with the very basics so you can decide if scripting is for you. If you are a FrameScript user, let me know, and we will provide examples in both languages.
The webinar is free and will go for about an hour. If you would like to attend, please send me an email to [email protected] or [email protected].
Rick
Rick Quatro
Carmen Publishing Inc.
585-283-5045
[email protected]
Similar Messages
-
FrameMaker Scripting forum?
I was hoping to start a discussion on the new FrameMaker Scripting board, but found I could neither start a new discussion nor reply to an existing one.
Is it locked for some reason? Would it be inappropriate to ask for input here? Is anyone aware of other forums where ExtendScript for FrameMaker is being discussed?Sorry, but the nice (@$!%^*!!!!*@^!) Jive Software is misbehaving. It seems like only some accounts can start a discussion. I've paged the Adobe-admin and hopefully this will be cleared up shortly.
-
Welcome to the new FrameMaker scripting forum
As FM10 now has built-in scripting via ExtendScript, this sub-forum was set up as a venue for discussions related to the ins and out of using ExtendScript.
As well, questions on FrameScript and FDK programming are welcome here.
If you missed the kick-off webinar on May 26th by Rick Quatro on FM10 & Extendscript, the slides and sample scripts are available on Rick's blog here:
http://frameautomation.com/2011/05/31/framemaker-10-extendscript-slides/Hi!.
We have Portal 3.0.9.8.3 patch (over 9ias 1.0.2.2.2a Minimal edition) and... a lot of problems about performance. We4ve oracle 9i(repository) running in another server,NT PIII 512MB RAM.
I4m getting the following errors:
1) portlet could not be contacted
2) Timeout occurred whilst retrieving page meta data
3) timeout for content....
I had increase the timeout's params...but without success.
It seems that DB process takes a lot!!!
Sometimes, after the third "refresh", I get the rigth page.
What4s happening??
I must to use 3.0.9.8.2 patch??
thanks,
Adrian. -
Will the e-seminar on FrameMaker scripting ever be available again?
I'm referring specifically to the one listed in the ExtendScript Resources section. I'd also be interested in any other videos out there that could help me learn the basics of FM scripting. Any info would be much appreciated!
Cronos,
Setting an attribute on all graphics in the document should be dead easy as part of the conversion table. And even if it is not handled by the conversion table it is going to be much easier after conversion. So I would not worry about the alignment of the images in the original documents at all. There are other ways to spend your time. I would expect lots of problems that cannot be handled by any conversion table. You will probably need to do some scripting in pre-processing and post-processing to make the materials come out as valid DITA with minimal manual afterwork. One tool you will have to purchase is FrameSLT, by West Street Consulting. At only $100 it gives you full XSLT power (and more) within FrameMaker. I would not be able to survive my projects without it.
I specialize in this work - automated conversion from unstructured to structured FrameMaker (whether it is DITA or something else does not really matter that much to me). I am not doing this for free, but if you get stuck drop me a line and I can see what I can do for you. Thousands of unstructured documents to DITA sounds like a job you could use a very high degree of automation for.
Good luck
Jang -
For the first time, we will be broadcasting the Israeli FrameMaker User Group meeting (#27), for the benefit of members who are unable to attend in person, and in order to open the event to other users world-wide.
Topics:
Language-Related Aspects of FrameMaker (brief overview) -- Shlomo Perets
Localization of FrameMaker Source Files -- Marva Roth, Net-Translators.com
Tips from a translation company on how to make your FrameMaker easier to localize, best practices and pitfalls
Wednesday, February 17
Starting time: 7pm Israel, 5pm UTC, 12pm EST, 9am PST
Duration: approximately 75 minutes
To register, please visit
https://student.gototraining.com/4b34y/register/2503139699677230336
Shlomo Perets, www.microtype.com
FrameMaker/TCS training & consulting * FM-to-Acrobat TimeSavers/Assistants -
OS install in guest ldom fails on install-begin script
Hello,
I am installing solaris 10 u4 on guest ldom using DVD media loaded in the physical server. The guest ldom was able to boot from DVD media and goes through installation steps where I input the hostname, ip, etc upto the section where the install script prompts for "Remote Services Enabled". After this section, the installation drops to # prompt.
System identification complete.
/sbin/install-begin: test: argument expected
Exiting to shell.
When I do "cat /sbin/install-begin", this script shows incomplete. Earlier I checked the script in primary ldom under /cdrom/cdrom0/s1/sbin, and it looked ok and I am using the same DVD media which was used to build the base OS.
# cat /sbin/install-begin
#!/bin/sh
# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#ident "@(#)install-begin.sh 1.4 06/03/10 SMI"
# RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the Government
# is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the
# Rights in Technical Data and Computer Software clause at DFARS 52.227-7013
# and in similar clauses in the FAR and NASA FAR Supplement.
# NOTE: At this point on non-Intel systems, the locale has
# not yet been configured
# NOTE: This script may be called from outside the window
# system (boot with "nowin" or kdmconfig/prtconf
# configuration failed) or within the window system
. /sbin/install-common
if install_debug_isset scripts ; then
===========================================
Not sure why the /sbin/install-begin script is not getting copied completly. Please let me if you have any input on this issue. I am planning to try with different DVD image to see if that helps.
Thanks for your help !!.Thanks for your reply. Is there any fix for 6747687, I didnt see any in sunsolve. Here is the output from cdrw -Mv, the DVD I am using is the standard Sun DVD media.
# cdrw -Mv
Device : TSSTcorp CD/DVDW TS-T632A
Firmware : Rev. SR03 ()
Track No. |Type |Start address
1 |Data |0
Leadout |Data |1701760
Last session start address: 0
======================
Here is the df -k output from where it drops to shell prompt during install.
# df -k
Filesystem kbytes used avail capacity Mounted on
/virtual-devices@100/channel-devices@200/disk@3:b 174639 157917 0 100% /
/devices 0 0 0 0% /devices
ctfs 0 0 0 0% /system/contract
proc 0 0 0 0% /proc
mnttab 0 0 0 0% /etc/mnttab
swap 11498224 352 11497872 1% /etc/svc/volatile
objfs 0 0 0 0% /system/object
swap 11742576 244704 11497872 3% /tmp
/tmp/dev 11742576 244704 11497872 3% /dev
fd 0 0 0 0% /dev/fd
/devices/virtual-devices@100/channel-devices@200/disk@3:a 3210366 3210366 0 100% /cdrom
/cdrom/Solaris_10/Tools/Boot/usr 3210366 3210366 0 100% /usr
/platform/SUNW,SPARC-Enterprise-T5220/lib/libc_psr/libc_psr_hwcap1.so.1 174639 157917 0 100% /platform/sun4v/lib/libc_psr.so.1
/platform/SUNW,SPARC-Enterprise-T5220/lib/sparcv9/libc_psr/libc_psr_hwcap1.so.1 174639 157917 0 100% /platform/sun4v/lib/sparcv9/libc_psr.so.1
swap 11497880 8 11497872 1% /tmp/root/var/run -
Directory Binding Script (Active and Open Directory) 10.7
Hi everyone
I'm reposting this in the right thread. I've written a Directory Binding Script for 10.6 and ported it now to 10.7 as among the things that have changed in the upgraded version is a refurbished directory binding enviroment.
The original thread can be found here: https://discussions.apple.com/thread/3090068. The script is applicable for clients as well and simplifies the binding process considerably.
Be aware that the reformatted script here contains some faulty line breaks. So you'll have to correct them in a proper text editor.
#!/bin/sh
#Uncomment the following line to abort the script on errors
#trap exit ERR
## Script to automate OD and AD Binding of Mac OS X 10.7 Servers
## Script written by Marc Horat, URZ Basel, 11.6.2010
## Updated: 12.08.2011
# With the use of the following sources as inspiration:
# http://www.howtomac.co.uk/?p=247
#Created by Ross Hamilton
#Clock restart / Remove existing settings
#Join to Open Directory and Active Directory
# Bombich's AD-Bind Script:
# This script binds to AD and configures advanced options of the AD plugin
# As this scripts contains a password, be sure to take appropriate security
# precautions
# A good way to run this script is to set it as a login hook on your master machine
# Because it only needs to be run once, the last thing this script does is to delete
# itself. If you have another login script that you typically run, include the
# script on your master machine, and indicate its path in the "newLoginScript"
# variable.
# If running this as a one-time login hook to bind to AD after imaging,
# be sure to enable auto-login (for any local user) before creating your master image
#################CONFIGURATION##########################
#OD
# These variables need to be configured for your env
odAdmin="YOURODADMIN" #enter your OD admin name between the quotes
odPassword="YOURODPW" # Enter your OD admin password between the quotes
oddomain="YOURODDOMAIN" # FQDN of your OD domain
computerGroup="YOURNEWODCOMPGROUP" # Add appropriate computer group you want machines to be added to, case sensitive
oldComputerGroup="YOUROLDODCOMPGROUP" # If the Computer is in a Group already
#AD
# Standard parameters
domain="YOURADDOMAIN" # fully qualified DNS name of Active Directory Domain
domainname="YOURADDOMAINNAME" #Name of the Domain as specified in the search paths
udn="YOURADADMIN" # username of a privileged network user
password="YOURADPW" # password of a privileged network user
ou="OU=YOUR,OU=OU,OU=URZ,OU=IN,DC=YOUR,DC=AD,DC=DOMAIN" # Distinguished name of container for the computer E.G. OU=Macs,OU=Computers,DC=AD,DC=DOMAIN,DC=CH
# Advanced options AD Plugin
alldomains="disable" # 'enable' or 'disable' automatic multi-domain authentication
localhome="disable" # 'enable' or 'disable' force home directory to local drive
protocol="smb" # 'afp', 'smb' or 'nfs' (since 10.7) change how home is mounted from server
mobile="enable" # 'enable' or 'disable' mobile account support for offline logon
mobileconfirm="enable" # 'enable' or 'disable' warn the user that a mobile acct will be created
useuncpath="enable" # 'enable' or 'disable' use AD SMBHome attribute to determine the home dir
user_shell="/bin/bash" # e.g., /bin/bash or "none"
preferred="-preferred $domain" # Use the specified server for all Directory lookups and authentication
# (e.g. "-nopreferred" or "-preferred ad.server.edu")
admingroups="$domainname\YOURADADMINGROUP" # These comma-separated AD groups may administer the machine (e.g. "" or "APPLE\macadmins")
packetsign="allow" # allow | disable | require
packetencrypt="allow" # allow | disable | require
passinterval="14" # number of days
namespace="domain" # forest | domain
# Login hook setting -- specify the path to a login hook that you want to run instead of this script
newLoginHook="" # e.g., "/Library/Management/login.sh"
################################# End of configuration
############ Begin of Script
# Host-specific parameters
# computerid should be set dynamically, this value must be machine-specific
# This value may be restricted to 19 characters! The only error you'll receive upon entering
# an invalid computer id is to the effect of not having appropriate privileges to perform the requested operation
#computerid=`/sbin/ifconfig en0 | awk '/ether/ { gsub(":", ""); print $2 }'` # MAC Address
#computerid=`hostname | sed 's/.unibas.ch//'`
#computerid=`/usr/sbin/scutil --get LocalHostName | cut -c 1-19` # Assure that this will produce unique names!
#computerid=`/usr/sbin/scutil --get LocalHostName`
computerid=`scutil --get ComputerName`
adcomputerid=`echo "$computerid" | tr [:lower:] [:upper:]`
# These variables probably don't need to be changed
# Determing if any directory binding exists
nicAddress=`ifconfig en0 | grep ether | awk '{print $2}'`
if dscl localhost -list /LDAPv3 | grep . > /dev/null
then
check4ODtmp=`dscl localhost -list /LDAPv3 | grep -n 1 | sed 's/1://' | sed 's/2://'`
check4OD=${check4ODtmp//[[:space:]]/}
echo "Found LDAP: "$check4ODtmp
check4ODaccttmp=`dscl /LDAPv3/"$check4OD" -read Computers/"$computerid" RealName | cut -c 11-`
check4ODacct=${check4ODaccttmp//[[:space:]]/}
echo "Found LDAP-Computer-Account: "$check4ODacct
else
check4OD=""
check4ODacct=""
echo "No bound LDAP Server found"
fi
if [ $oldComputerGroup != "" ] && dscl localhost -list /LDAPv3 | grep . > /dev/null
then
check4ODgroupMembershiptmp=`dscl /LDAPv3/"$check4OD" -read ComputerGroups/"$oldComputerGroup" | grep "$computerid"`
check4ODgroupMembership=$check4ODgroupMembershiptmp
echo "LDAP Group Membership in Group: "$oldComputerGroup
else
check4ODgroupMembership=""
echo "No LDAP Group Membership defined or not bound to a server"
fi
if dscl localhost -list "/Active Directory" | grep $domainname > /dev/null
then
check4ADtmp=`dsconfigad -show | grep "Active Directory Domain" | sed 's/Active Directory Domain//' | sed 's/=//'`
check4AD=${check4ADtmp//[[:space:]]/}
echo "Found AD: "$check4AD
check4ADaccttmp=`dsconfigad -show | grep "Computer Account" | sed 's/Computer Account//' | sed 's/=//'`
check4ADacct=${check4ADaccttmp//[[:space:]]/}
echo "Found AD-Account: "$check4ADacct
else
check4AD=""
check4ADacct=""
echo "No AD-Account found"
fi
osversionlong=`sw_vers -productVersion`
osvers=${osversionlong:3:1}
#Time Sync
#Restart ntpdate
StartService ()
if [ "${TIMESYNC:=-YES-}" = "-YES-" ] && ! GetPID ntpd > /dev/null; then
CheckForNetwork
if [ -f /var/run/NetworkTime.StartupItem -o "${NETWORKUP}" = "-NO-" ]; then exit; fi
touch /var/run/NetworkTime.StartupItem
echo "Starting network time synchronization"
# Synchronize our clock to the network’s time,
# then fire off ntpd to keep the clock in sync.
ntpdate -bvs
ntpd -f /var/run/ntp.drift -p /var/run/ntpd.pid
fi
echo ""
echo ""
sleep 5
#### Removing any existing directory bindings
#Clear OD Computer Account and delete entry from Computer group
if dscl localhost -list /LDAPv3 | grep . > /dev/null
then
echo "This computer is bound to the following Open Directory Services:"
dscl localhost -list /LDAPv3
echo "With the Search Path entries:"
dscl /Search -read / CSPSearchPath | grep /LDAP
sleep 5
if [ "${check4ODacct}" == "${computerid}" ]
then
echo "This machine already has a computer account on $oddomain."
# Set the GUID
GUID="$(dscl /LDAPv3/$oddomain -read /Computers/${computerid} GeneratedUID | awk '{ print $2 }')"
echo "Found GUID: "$GUID
if [ "$oldComputerGroup" != "" ] && [ "$check4ODgroupMembership" != "" ]
then
echo "Removing entry from group $oldComputerGroup"
dscl -u "${odAdmin}" -P "${odPassword}" /LDAPv3/"$check4OD" -delete /ComputerGroups/"$oldComputerGroup" GroupMembership "${computerid}"
dscl -u "${odAdmin}" -P "${odPassword}" /LDAPv3/"$check4OD" -delete /ComputerGroups/"$oldComputerGroup" GroupMembers "${GUID}"
dscl -u "${odAdmin}" -P "${odPassword}" /LDAPv3/"$check4OD" -delete /ComputerLists/"$oldComputerGroup" Computers "${computerid}"
fi
echo "Removing Computer entry $computerid in OD"
dscl -u "${odAdmin}" -P "${odPassword}" /LDAPv3/"$check4OD" -delete /Computers/"${computerid}"
fi
#List existing Directories
echo "Removing OD-Binding to "$check4OD
dsconfigldap -r "$check4OD"
echo "Removing Search Path entries"
dscl /Search -delete / CSPSearchPath /LDAPv3/"$check4OD"
dscl /Search/Contacts -delete / CSPSearchPath /LDAPv3/"$check4OD"
dscl /Search -delete / CSPSearchPath /LDAPv3/"$check4OD"
sleep 5
else
echo "No LDAP or OD Binding present.";
fi
echo ""
# Check a second time in order to delete any remaining LDAP-Bindings
echo "Scanning for further LDAP servers"
if dscl localhost -list /LDAPv3 | grep . > /dev/null
then
echo "Found:"
dscl localhost -list /LDAPv3
echo "Removing OD-Binding to "$check4ODtmp
dsconfigldap -r "$check4ODtmp"
dscl /Search -delete / CSPSearchPath /LDAPv3/"$check4ODtmp"
dscl /Search/Contacts -delete / CSPSearchPath /LDAPv3/"$check4ODtmp"
dscl /Search -delete / CSPSearchPath /LDAPv3/"$check4ODtmp"
sleep 5
else
echo "No further LDAP or OD Binding present."
fi
echo ""
echo ""
#Remove the Active Directory binding
if [ "$check4AD" != "" ]
then
echo "This computer is bound to the following Active Directory Services:"
dscl localhost -list "/Active Directory"
echo "With the Search Path entries:"
dscl /Search -read / CSPSearchPath | grep /Active
sleep 5
echo "Removing any existing AD-Binding to "$check4AD
dsconfigad -f -remove -username "$udn" -password "$password"
echo "Removing Search Path entries"
if [ "$preferred" != "-nopreferred" ]
then
dscl /Search -delete / CSPSearchPath /Active Directory/"$domainname"
dscl /Search/Contacts -delete / CSPSearchPath /Active Directory/"$domainname"
dscl /Search -delete / CSPSearchPath /Active Directory/"$domainname"
fi
dscl /Search -delete / CSPSearchPath "/Active Directory/$domainname/All Domains"
dscl /Search/Contacts -delete / CSPSearchPath "/Active Directory/$domainname/All Domains"
#remove search path entries from 10.6
if dscl /Search -read / CSPSearchPath | grep /Active > /dev/null
then
dscl /Search -delete / CSPSearchPath "/Active Directory/$domainname/$domain"
dscl /Search/Contacts -delete / CSPSearchPath "/Active Directory/$domainname/$domain"
fi
sleep 5
else
echo "No Active Directory Binding present."
fi
echo ""
#Remove Existing Directory Services Config
echo "Removing existing DS Config"
if [ -d "/Library/Preferences/edu.mit.Kerberos" ]
then
rm -R /Library/Preferences/edu.mit.Kerberos
fi
if [ -d "/etc/krb5.keytab" ]
then
rm -R /etc/krb5.keytab
fi
# Clean up the DirectoryService configuration files
rm -Rfv /Library/Preferences/DirectoryService/*
#OD
echo ""
echo ""
echo "Binding to OD-Damin "$oddomain
sleep 5
dsconfigldap -v -a "$oddomain" -n "$oddomain" -c "$computerid"
echo "Killing opendirectoryd"
killall opendirectoryd
sleep 5
echo "Adding computer account $computerid to /LDAPv3/${oddomain} on $oddomain"
dscl -u "${odAdmin}" -P "${odPassword}" /LDAPv3/"$oddomain" -create /Computers/"$computerid" ENetAddress "$nicAddress"
dscl -u "${odAdmin}" -P "${odPassword}" /LDAPv3/"$oddomain" -merge /Computers/"$computerid" RealName "$computerid"
# Set the GUID
GUID="$(dscl /LDAPv3/$oddomain -read /Computers/${computerid} GeneratedUID | awk '{ print $2 }')"
# Add computer to ComputerList and ComputerGroup
if [ $computerGroup != "" ]
then
echo "Adding computer $computerid to OD group $computerGroup on $oddomain"
dscl -u "${odAdmin}" -P "${odPassword}" /LDAPv3/"$oddomain" -merge /ComputerLists/"$computerGroup" apple-computers "$computerid"
dscl -u "${odAdmin}" -P "${odPassword}" /LDAPv3/"$oddomain" -merge /ComputerGroups/"$computerGroup" apple-group-memberguid "${GUID}"
dscl -u "${odAdmin}" -P "${odPassword}" /LDAPv3/"$oddomain" -merge /ComputerGroups/"$computerGroup" memberUid "$computerid"
fi
echo "Finished OD Binding."
sleep 5 # Give DS a chance to catch up
echo ""
echo ""
echo "Performing the AD Binding"
#AD
# Activate the AD plugin
defaults write /Library/Preferences/DirectoryService/DirectoryService "Active Directory" "Active"
plutil -convert xml1 /Library/Preferences/DirectoryService/DirectoryService.plist
#Use the existing AD-Computername or generate a new one
computeridtmp="default"
if [ "$check4ADacct" == "" ]
then
LEN=$(echo ${#adcomputerid})
if [ $LEN -lt 15 ]; then
echo "ComputerID "$adcomputerid " has 15 characters or less and is therefore suitable for AD-Binding. It is $adcomputerid"
computeridtmp=$adcomputerid
else
echo "ComputerID "$adcomputerid " has 16 or more characters and needs to be modified for AD-Binding."
echo "Removing any -"
computeridtmp=${adcomputerid//-/}
LEN=$(echo ${#computeridtmp})
if [ $LEN -lt 15 ]; then
echo "ComputerID "$computeridtmp" has now 15 characters or less and is therefore suitable for AD-Binding."
else
echo "Only using the last 15 characters of the Computer name to be able to bind to AD."
computeridtmp=${computeridtmp:(-15)}
fi
echo "Cropped Computername to "$computeridtmp
fi
else
computeridtmp=${check4ADacct//$/}
echo "Found existing AD Account previously, attempting to recreate in the OU: "$computeridtmp
fi
echo ""
# Bind to AD
echo "Binding to AD-Domain "$domain" with computerid "$computeridtmp
dsconfigad -f -add "$domain" -username "$udn" -password "$password" -ou "$ou" -computer "$computeridtmp"
echo ""
echo "Setting the Advanced AD Plugin options"
# Configure advanced AD plugin options
if [ "$admingroups" = "" ]
then
dsconfigad -nogroups
else
dsconfigad -groups "$admingroups"
fi
dsconfigad -alldomains "$alldomains"
dsconfigad -localhome "$localhome"
dsconfigad -protocol "$protocol"
dsconfigad -mobile "$mobile"
dsconfigad -mobileconfirm "$mobileconfirm"
dsconfigad -useuncpath "$useuncpath"
dsconfigad -shell "$user_shell"
dsconfigad "$preferred"
dsconfigad -packetsign "$packetsign" -packetencrypt "$packetencrypt" -passinterval "$passinterval"
dsconfigad -namespace "$namespace"
sleep 5
echo ""
echo ""
# Add the OD & AD node to the search path
if [ "$alldomains" = "enable" ]
then
csp="/Active Directory/$domainname/All Domains"
else
csp="/Active Directory/$domainname"
fi
echo "Finished AD Binding."
echo "Adding Domain /LDAPv3/"$oddomain" and "$csp" to Search Path"
dscl /Search -create / SearchPolicy CSPSearchPath
dscl /Search/Contacts -create / SearchPolicy CSPSearchPath
echo "Adding OD.."
dscl /Search -append / CSPSearchPath /LDAPv3/"$oddomain"
dscl /Search/Contacts -append / CSPSearchPath /LDAPv3/"$oddomain"
echo "Adding AD.."
#Adding all Domains first to improve reliability under 10.7
if [ "$alldomains" != "enable" ]
then
cspadall="/Active Directory/$domainname/All Domains"
dscl /Search/Contacts -append / CSPSearchPath "$cspadall"
dscl /Search -append / CSPSearchPath "$cspadall"
fi
dscl /Search/Contacts -append / CSPSearchPath "$csp"
dscl /Search -append / CSPSearchPath "$csp"
echo "Finished Updating Search Paths."
echo ""
echo ""
# Restart DirectoryService (necessary to reload AD plugin activation settings)
killall opendirectoryd
# Destroy the login hook (or change it)
if [ "${newLoginHook}" == "" ]
then
defaults delete /var/root/Library/Preferences/com.apple.loginwindow LoginHook
else
defaults write /var/root/Library/Preferences/com.apple.loginwindow LoginHook $newLoginHook
fi
sleep 5
# Customizing the login-Window
#defaults write /Library/Preferences/com.apple.loginwindow AdminHostInfo DSStatus
#defaults write /Library/Preferences/com.apple.loginwindow showInputMenu -bool TRUE
#defaults write /Library/Preferences/com.apple.loginwindow SHOWFULLNAME -bool TRUE
# This works in a pinch if the above code does not
#defaults write /Library/Preferences/DirectoryService/SearchNodeConfig "Search Node Custom Path Array" -array "/Active Directory/All Domains"
#defaults write /Library/Preferences/DirectoryService/SearchNodeConfig "Search Policy" -int 3
#plutil -convert xml1 /Library/Preferences/DirectoryService/SearchNodeConfig.plist
#killall opendirectoryd
# Disable autologin
defaults delete /Library/Preferences/com.apple.loginwindow autoLoginUser
srm /etc/kcpassword
echo ""
echo ""
echo ""
echo "Now bound to OD Domain:"
dscl localhost -list /LDAPv3
echo "With Search Path entries:"
dscl /Search -read / CSPSearchPath | grep /LDAP
echo "Now bound to AD Domain:"
dscl localhost -list "/Active Directory"
echo "With Search Path entries:"
dscl /Search -read / CSPSearchPath | grep /Active
exit 0 ## Success
exit 1 ## Failure
Any inputs, questions and improvement suggestions are, of course, most welcome!
Cheers
SeeHi everyone
I'm reposting this in the right thread. I've written a Directory Binding Script for 10.6 and ported it now to 10.7 as among the things that have changed in the upgraded version is a refurbished directory binding enviroment.
The original thread can be found here: https://discussions.apple.com/thread/3090068. The script is applicable for clients as well and simplifies the binding process considerably.
Be aware that the reformatted script here contains some faulty line breaks. So you'll have to correct them in a proper text editor.
#!/bin/sh
#Uncomment the following line to abort the script on errors
#trap exit ERR
## Script to automate OD and AD Binding of Mac OS X 10.7 Servers
## Script written by Marc Horat, URZ Basel, 11.6.2010
## Updated: 12.08.2011
# With the use of the following sources as inspiration:
# http://www.howtomac.co.uk/?p=247
#Created by Ross Hamilton
#Clock restart / Remove existing settings
#Join to Open Directory and Active Directory
# Bombich's AD-Bind Script:
# This script binds to AD and configures advanced options of the AD plugin
# As this scripts contains a password, be sure to take appropriate security
# precautions
# A good way to run this script is to set it as a login hook on your master machine
# Because it only needs to be run once, the last thing this script does is to delete
# itself. If you have another login script that you typically run, include the
# script on your master machine, and indicate its path in the "newLoginScript"
# variable.
# If running this as a one-time login hook to bind to AD after imaging,
# be sure to enable auto-login (for any local user) before creating your master image
#################CONFIGURATION##########################
#OD
# These variables need to be configured for your env
odAdmin="YOURODADMIN" #enter your OD admin name between the quotes
odPassword="YOURODPW" # Enter your OD admin password between the quotes
oddomain="YOURODDOMAIN" # FQDN of your OD domain
computerGroup="YOURNEWODCOMPGROUP" # Add appropriate computer group you want machines to be added to, case sensitive
oldComputerGroup="YOUROLDODCOMPGROUP" # If the Computer is in a Group already
#AD
# Standard parameters
domain="YOURADDOMAIN" # fully qualified DNS name of Active Directory Domain
domainname="YOURADDOMAINNAME" #Name of the Domain as specified in the search paths
udn="YOURADADMIN" # username of a privileged network user
password="YOURADPW" # password of a privileged network user
ou="OU=YOUR,OU=OU,OU=URZ,OU=IN,DC=YOUR,DC=AD,DC=DOMAIN" # Distinguished name of container for the computer E.G. OU=Macs,OU=Computers,DC=AD,DC=DOMAIN,DC=CH
# Advanced options AD Plugin
alldomains="disable" # 'enable' or 'disable' automatic multi-domain authentication
localhome="disable" # 'enable' or 'disable' force home directory to local drive
protocol="smb" # 'afp', 'smb' or 'nfs' (since 10.7) change how home is mounted from server
mobile="enable" # 'enable' or 'disable' mobile account support for offline logon
mobileconfirm="enable" # 'enable' or 'disable' warn the user that a mobile acct will be created
useuncpath="enable" # 'enable' or 'disable' use AD SMBHome attribute to determine the home dir
user_shell="/bin/bash" # e.g., /bin/bash or "none"
preferred="-preferred $domain" # Use the specified server for all Directory lookups and authentication
# (e.g. "-nopreferred" or "-preferred ad.server.edu")
admingroups="$domainname\YOURADADMINGROUP" # These comma-separated AD groups may administer the machine (e.g. "" or "APPLE\macadmins")
packetsign="allow" # allow | disable | require
packetencrypt="allow" # allow | disable | require
passinterval="14" # number of days
namespace="domain" # forest | domain
# Login hook setting -- specify the path to a login hook that you want to run instead of this script
newLoginHook="" # e.g., "/Library/Management/login.sh"
################################# End of configuration
############ Begin of Script
# Host-specific parameters
# computerid should be set dynamically, this value must be machine-specific
# This value may be restricted to 19 characters! The only error you'll receive upon entering
# an invalid computer id is to the effect of not having appropriate privileges to perform the requested operation
#computerid=`/sbin/ifconfig en0 | awk '/ether/ { gsub(":", ""); print $2 }'` # MAC Address
#computerid=`hostname | sed 's/.unibas.ch//'`
#computerid=`/usr/sbin/scutil --get LocalHostName | cut -c 1-19` # Assure that this will produce unique names!
#computerid=`/usr/sbin/scutil --get LocalHostName`
computerid=`scutil --get ComputerName`
adcomputerid=`echo "$computerid" | tr [:lower:] [:upper:]`
# These variables probably don't need to be changed
# Determing if any directory binding exists
nicAddress=`ifconfig en0 | grep ether | awk '{print $2}'`
if dscl localhost -list /LDAPv3 | grep . > /dev/null
then
check4ODtmp=`dscl localhost -list /LDAPv3 | grep -n 1 | sed 's/1://' | sed 's/2://'`
check4OD=${check4ODtmp//[[:space:]]/}
echo "Found LDAP: "$check4ODtmp
check4ODaccttmp=`dscl /LDAPv3/"$check4OD" -read Computers/"$computerid" RealName | cut -c 11-`
check4ODacct=${check4ODaccttmp//[[:space:]]/}
echo "Found LDAP-Computer-Account: "$check4ODacct
else
check4OD=""
check4ODacct=""
echo "No bound LDAP Server found"
fi
if [ $oldComputerGroup != "" ] && dscl localhost -list /LDAPv3 | grep . > /dev/null
then
check4ODgroupMembershiptmp=`dscl /LDAPv3/"$check4OD" -read ComputerGroups/"$oldComputerGroup" | grep "$computerid"`
check4ODgroupMembership=$check4ODgroupMembershiptmp
echo "LDAP Group Membership in Group: "$oldComputerGroup
else
check4ODgroupMembership=""
echo "No LDAP Group Membership defined or not bound to a server"
fi
if dscl localhost -list "/Active Directory" | grep $domainname > /dev/null
then
check4ADtmp=`dsconfigad -show | grep "Active Directory Domain" | sed 's/Active Directory Domain//' | sed 's/=//'`
check4AD=${check4ADtmp//[[:space:]]/}
echo "Found AD: "$check4AD
check4ADaccttmp=`dsconfigad -show | grep "Computer Account" | sed 's/Computer Account//' | sed 's/=//'`
check4ADacct=${check4ADaccttmp//[[:space:]]/}
echo "Found AD-Account: "$check4ADacct
else
check4AD=""
check4ADacct=""
echo "No AD-Account found"
fi
osversionlong=`sw_vers -productVersion`
osvers=${osversionlong:3:1}
#Time Sync
#Restart ntpdate
StartService ()
if [ "${TIMESYNC:=-YES-}" = "-YES-" ] && ! GetPID ntpd > /dev/null; then
CheckForNetwork
if [ -f /var/run/NetworkTime.StartupItem -o "${NETWORKUP}" = "-NO-" ]; then exit; fi
touch /var/run/NetworkTime.StartupItem
echo "Starting network time synchronization"
# Synchronize our clock to the network’s time,
# then fire off ntpd to keep the clock in sync.
ntpdate -bvs
ntpd -f /var/run/ntp.drift -p /var/run/ntpd.pid
fi
echo ""
echo ""
sleep 5
#### Removing any existing directory bindings
#Clear OD Computer Account and delete entry from Computer group
if dscl localhost -list /LDAPv3 | grep . > /dev/null
then
echo "This computer is bound to the following Open Directory Services:"
dscl localhost -list /LDAPv3
echo "With the Search Path entries:"
dscl /Search -read / CSPSearchPath | grep /LDAP
sleep 5
if [ "${check4ODacct}" == "${computerid}" ]
then
echo "This machine already has a computer account on $oddomain."
# Set the GUID
GUID="$(dscl /LDAPv3/$oddomain -read /Computers/${computerid} GeneratedUID | awk '{ print $2 }')"
echo "Found GUID: "$GUID
if [ "$oldComputerGroup" != "" ] && [ "$check4ODgroupMembership" != "" ]
then
echo "Removing entry from group $oldComputerGroup"
dscl -u "${odAdmin}" -P "${odPassword}" /LDAPv3/"$check4OD" -delete /ComputerGroups/"$oldComputerGroup" GroupMembership "${computerid}"
dscl -u "${odAdmin}" -P "${odPassword}" /LDAPv3/"$check4OD" -delete /ComputerGroups/"$oldComputerGroup" GroupMembers "${GUID}"
dscl -u "${odAdmin}" -P "${odPassword}" /LDAPv3/"$check4OD" -delete /ComputerLists/"$oldComputerGroup" Computers "${computerid}"
fi
echo "Removing Computer entry $computerid in OD"
dscl -u "${odAdmin}" -P "${odPassword}" /LDAPv3/"$check4OD" -delete /Computers/"${computerid}"
fi
#List existing Directories
echo "Removing OD-Binding to "$check4OD
dsconfigldap -r "$check4OD"
echo "Removing Search Path entries"
dscl /Search -delete / CSPSearchPath /LDAPv3/"$check4OD"
dscl /Search/Contacts -delete / CSPSearchPath /LDAPv3/"$check4OD"
dscl /Search -delete / CSPSearchPath /LDAPv3/"$check4OD"
sleep 5
else
echo "No LDAP or OD Binding present.";
fi
echo ""
# Check a second time in order to delete any remaining LDAP-Bindings
echo "Scanning for further LDAP servers"
if dscl localhost -list /LDAPv3 | grep . > /dev/null
then
echo "Found:"
dscl localhost -list /LDAPv3
echo "Removing OD-Binding to "$check4ODtmp
dsconfigldap -r "$check4ODtmp"
dscl /Search -delete / CSPSearchPath /LDAPv3/"$check4ODtmp"
dscl /Search/Contacts -delete / CSPSearchPath /LDAPv3/"$check4ODtmp"
dscl /Search -delete / CSPSearchPath /LDAPv3/"$check4ODtmp"
sleep 5
else
echo "No further LDAP or OD Binding present."
fi
echo ""
echo ""
#Remove the Active Directory binding
if [ "$check4AD" != "" ]
then
echo "This computer is bound to the following Active Directory Services:"
dscl localhost -list "/Active Directory"
echo "With the Search Path entries:"
dscl /Search -read / CSPSearchPath | grep /Active
sleep 5
echo "Removing any existing AD-Binding to "$check4AD
dsconfigad -f -remove -username "$udn" -password "$password"
echo "Removing Search Path entries"
if [ "$preferred" != "-nopreferred" ]
then
dscl /Search -delete / CSPSearchPath /Active Directory/"$domainname"
dscl /Search/Contacts -delete / CSPSearchPath /Active Directory/"$domainname"
dscl /Search -delete / CSPSearchPath /Active Directory/"$domainname"
fi
dscl /Search -delete / CSPSearchPath "/Active Directory/$domainname/All Domains"
dscl /Search/Contacts -delete / CSPSearchPath "/Active Directory/$domainname/All Domains"
#remove search path entries from 10.6
if dscl /Search -read / CSPSearchPath | grep /Active > /dev/null
then
dscl /Search -delete / CSPSearchPath "/Active Directory/$domainname/$domain"
dscl /Search/Contacts -delete / CSPSearchPath "/Active Directory/$domainname/$domain"
fi
sleep 5
else
echo "No Active Directory Binding present."
fi
echo ""
#Remove Existing Directory Services Config
echo "Removing existing DS Config"
if [ -d "/Library/Preferences/edu.mit.Kerberos" ]
then
rm -R /Library/Preferences/edu.mit.Kerberos
fi
if [ -d "/etc/krb5.keytab" ]
then
rm -R /etc/krb5.keytab
fi
# Clean up the DirectoryService configuration files
rm -Rfv /Library/Preferences/DirectoryService/*
#OD
echo ""
echo ""
echo "Binding to OD-Damin "$oddomain
sleep 5
dsconfigldap -v -a "$oddomain" -n "$oddomain" -c "$computerid"
echo "Killing opendirectoryd"
killall opendirectoryd
sleep 5
echo "Adding computer account $computerid to /LDAPv3/${oddomain} on $oddomain"
dscl -u "${odAdmin}" -P "${odPassword}" /LDAPv3/"$oddomain" -create /Computers/"$computerid" ENetAddress "$nicAddress"
dscl -u "${odAdmin}" -P "${odPassword}" /LDAPv3/"$oddomain" -merge /Computers/"$computerid" RealName "$computerid"
# Set the GUID
GUID="$(dscl /LDAPv3/$oddomain -read /Computers/${computerid} GeneratedUID | awk '{ print $2 }')"
# Add computer to ComputerList and ComputerGroup
if [ $computerGroup != "" ]
then
echo "Adding computer $computerid to OD group $computerGroup on $oddomain"
dscl -u "${odAdmin}" -P "${odPassword}" /LDAPv3/"$oddomain" -merge /ComputerLists/"$computerGroup" apple-computers "$computerid"
dscl -u "${odAdmin}" -P "${odPassword}" /LDAPv3/"$oddomain" -merge /ComputerGroups/"$computerGroup" apple-group-memberguid "${GUID}"
dscl -u "${odAdmin}" -P "${odPassword}" /LDAPv3/"$oddomain" -merge /ComputerGroups/"$computerGroup" memberUid "$computerid"
fi
echo "Finished OD Binding."
sleep 5 # Give DS a chance to catch up
echo ""
echo ""
echo "Performing the AD Binding"
#AD
# Activate the AD plugin
defaults write /Library/Preferences/DirectoryService/DirectoryService "Active Directory" "Active"
plutil -convert xml1 /Library/Preferences/DirectoryService/DirectoryService.plist
#Use the existing AD-Computername or generate a new one
computeridtmp="default"
if [ "$check4ADacct" == "" ]
then
LEN=$(echo ${#adcomputerid})
if [ $LEN -lt 15 ]; then
echo "ComputerID "$adcomputerid " has 15 characters or less and is therefore suitable for AD-Binding. It is $adcomputerid"
computeridtmp=$adcomputerid
else
echo "ComputerID "$adcomputerid " has 16 or more characters and needs to be modified for AD-Binding."
echo "Removing any -"
computeridtmp=${adcomputerid//-/}
LEN=$(echo ${#computeridtmp})
if [ $LEN -lt 15 ]; then
echo "ComputerID "$computeridtmp" has now 15 characters or less and is therefore suitable for AD-Binding."
else
echo "Only using the last 15 characters of the Computer name to be able to bind to AD."
computeridtmp=${computeridtmp:(-15)}
fi
echo "Cropped Computername to "$computeridtmp
fi
else
computeridtmp=${check4ADacct//$/}
echo "Found existing AD Account previously, attempting to recreate in the OU: "$computeridtmp
fi
echo ""
# Bind to AD
echo "Binding to AD-Domain "$domain" with computerid "$computeridtmp
dsconfigad -f -add "$domain" -username "$udn" -password "$password" -ou "$ou" -computer "$computeridtmp"
echo ""
echo "Setting the Advanced AD Plugin options"
# Configure advanced AD plugin options
if [ "$admingroups" = "" ]
then
dsconfigad -nogroups
else
dsconfigad -groups "$admingroups"
fi
dsconfigad -alldomains "$alldomains"
dsconfigad -localhome "$localhome"
dsconfigad -protocol "$protocol"
dsconfigad -mobile "$mobile"
dsconfigad -mobileconfirm "$mobileconfirm"
dsconfigad -useuncpath "$useuncpath"
dsconfigad -shell "$user_shell"
dsconfigad "$preferred"
dsconfigad -packetsign "$packetsign" -packetencrypt "$packetencrypt" -passinterval "$passinterval"
dsconfigad -namespace "$namespace"
sleep 5
echo ""
echo ""
# Add the OD & AD node to the search path
if [ "$alldomains" = "enable" ]
then
csp="/Active Directory/$domainname/All Domains"
else
csp="/Active Directory/$domainname"
fi
echo "Finished AD Binding."
echo "Adding Domain /LDAPv3/"$oddomain" and "$csp" to Search Path"
dscl /Search -create / SearchPolicy CSPSearchPath
dscl /Search/Contacts -create / SearchPolicy CSPSearchPath
echo "Adding OD.."
dscl /Search -append / CSPSearchPath /LDAPv3/"$oddomain"
dscl /Search/Contacts -append / CSPSearchPath /LDAPv3/"$oddomain"
echo "Adding AD.."
#Adding all Domains first to improve reliability under 10.7
if [ "$alldomains" != "enable" ]
then
cspadall="/Active Directory/$domainname/All Domains"
dscl /Search/Contacts -append / CSPSearchPath "$cspadall"
dscl /Search -append / CSPSearchPath "$cspadall"
fi
dscl /Search/Contacts -append / CSPSearchPath "$csp"
dscl /Search -append / CSPSearchPath "$csp"
echo "Finished Updating Search Paths."
echo ""
echo ""
# Restart DirectoryService (necessary to reload AD plugin activation settings)
killall opendirectoryd
# Destroy the login hook (or change it)
if [ "${newLoginHook}" == "" ]
then
defaults delete /var/root/Library/Preferences/com.apple.loginwindow LoginHook
else
defaults write /var/root/Library/Preferences/com.apple.loginwindow LoginHook $newLoginHook
fi
sleep 5
# Customizing the login-Window
#defaults write /Library/Preferences/com.apple.loginwindow AdminHostInfo DSStatus
#defaults write /Library/Preferences/com.apple.loginwindow showInputMenu -bool TRUE
#defaults write /Library/Preferences/com.apple.loginwindow SHOWFULLNAME -bool TRUE
# This works in a pinch if the above code does not
#defaults write /Library/Preferences/DirectoryService/SearchNodeConfig "Search Node Custom Path Array" -array "/Active Directory/All Domains"
#defaults write /Library/Preferences/DirectoryService/SearchNodeConfig "Search Policy" -int 3
#plutil -convert xml1 /Library/Preferences/DirectoryService/SearchNodeConfig.plist
#killall opendirectoryd
# Disable autologin
defaults delete /Library/Preferences/com.apple.loginwindow autoLoginUser
srm /etc/kcpassword
echo ""
echo ""
echo ""
echo "Now bound to OD Domain:"
dscl localhost -list /LDAPv3
echo "With Search Path entries:"
dscl /Search -read / CSPSearchPath | grep /LDAP
echo "Now bound to AD Domain:"
dscl localhost -list "/Active Directory"
echo "With Search Path entries:"
dscl /Search -read / CSPSearchPath | grep /Active
exit 0 ## Success
exit 1 ## Failure
Any inputs, questions and improvement suggestions are, of course, most welcome!
Cheers
See -
Out of memory Error while querying SQL Script based Calculation View
Hi All,
I wanted to test the performance of Graphical and SQL Script based Calculation views.
Created Graphical (CA_GRPH) and SQL Script (CA_SQL) Calculation views.
Analytic View (AN_GRPH) for both Calculation views are the same which is Graphical based (90 Attributes and 5 Measures)
In Analytic View data foundation I have a Fact table which has 1.5 Billion records and 9 Dimension Tables –collectively 500 million records (7 Attribute Views). 9 Referential joins with cardinality N:1 and 1 Referential join with cardinality N:N.
I wanted to keep (CA_GRPH) and (CA_SQL) as a base Calculation views and leverage those to create various calculation views (Will be creating different Calc views for respective Business segments)
In order to test this I have created below calc views on top of base calc views.
Graphical Based: Created (CA_GRAPH_XYZ) by having CA_GRPH in projection with 30 Calculated Columns. – This retrieves data in 13 secs
SQL Script Based: Created (CA_GRPH_ABC) by having CA_SQL in projection view with 30 calculated columns – This errors out after 1.50 mins.
Could not execute 'SELECT "COLUMN_A","COLUMN _B"," COLUMN _C"," COLUMN _D", SUM("COLUMN _REVENUE") AS ...' in 1:50.480 minutes .
SAP DBTech JDBC: [2048]: column store error: [2048] column store error: search table error: [1000002] Error executing physical plan: exception 1000002:
ltt/impl/memory.cpp:63
Out of memory ; $size$=1507711; $name$=ihm; $type$=pool; $inuse_count$=170104; $allocated_size$=219215007925
exception 1000002:
Any suggestion / help in fixing this issue will be greatly appreciated.
Regards,
AvHi Raj,
Thanks for your time, please find edited snap hot of Analytic View (AN_GRPH) below,
Calculation view(CA_SQL)
/********* Begin Procedure Script ************/
BEGIN
var_out =
SELECT
"COLUMN_1"
"COLUMN_2",
"COLUMN_84",
"COLUMN_85;",
SUM("REVN") AS "REVN",
SUM("MGN") AS "MGN",
SUM("ORD_QTY") AS "ORD_QTY",
SUM("SYS_QTY1") AS "SYS_QTY1",
SUM("SYS_QTY") AS "SYS_QTY"
FROM
"_SYS_BIC"."XYZ/AN_GRPH"
GROUP BY
"COLUMN_1"
"COLUMN_2",
"COLUMN_84",
"COLUMN_85";
END
/********* End Procedure Script ************/
Later i have built one more Calculation view(CA_GRPH_ABC) using (CA_SQL)in projection. i have 30 calculated measures in this final calc view. this final calc view is throwing above mentioned error.
Not sure if i can use SQL script based calc view in graphical based calc views?
Regards,
AV -
Syntax error while creating Calculation view script based
Hi Folks,
I'm creating Calc view based on script and drafted a simple code but I'm getting syntax error.
Its just fetching few coloumns from two tables products and purchaseorderitem.
/********* Begin Procedure Script ************/
BEGIN
var_out = select productid , category, nameid, currency, grossamount, quantity
FROM sap.hana.democontent.epm.data.products AS P , sap.hana.democontent.epm.data.purchaseorderitem AS B
where P.productid = B.productid;
END /********* End Procedure Script ************/
Could you pls take a look and let me know what wrong I'm doing?
Error logs are:-
sap.hana..package.project.folder.mytest.CALCSCRIPTVIEWInternal deployment of object failed;Repository: Encountered an error in repository runtime extension;Internal Error:Deploy Calculation View: SQL: sql syntax error: incorrect syntax near "democontent": line 5 col 18 (at pos 439)nSet Schema DDL statement: set schema "SYSTEM"nType DDL: create type "_SYS_BIC"."sap.hana..package.project.folder.mytest/CALCSCRIPTVIEW/proc/tabletype/VAR_OUT" as table ("PRODUCTID" NVARCHAR(10), "CATEGORY" NVARCHAR(2), "NAMEID" NVARCHAR(10), "CURRENCY" NVARCHAR(5), "GROSSAMOUNT" DECIMAL(15,2), "QUANITYT" DECIMAL(13,3))nProcedure DDL: create procedure "_SYS_BIC"."sap.hana.package.project.folder.mytest/CALCSCRIPTVIEW/proc" ( OUT var_out "_SYS_BIC"."sap.hana.package.project.folder.mytest/CALCSCRIPTVIEW/proc/tabletype/VAR_OUT" ) language sqlscript sql security definer reads sql data as n /********* Begin Procedure Script ************/ n BEGIN n t var_out = select productid , category, nameid, currency, grossamount, quantityn t FROM sap.hana.democontent.epm.data.products AS P , sap.hana.democontent.epm.data.purchaseorderitem AS Bn t where P.productid = B.productid;nnEND /********* End Procedure Script ************/nHi Rubane,
I don't have EPM installed here but based on this Table User Defined Functions( Table UDF ) in HANA you are not properly defining the source table.
In your case missing 1) schema of EPM, 2) not using double quotes, 3) separation of package and view, 4) missing camel case on purchaseOrderItem:
FROM sap.hana.democontent.epm.data.products AS P , sap.hana.democontent.epm.data.purchaseorderitem AS B
On blog:
from "SAP_HANA_EPM_DEMO"."sap.hana.democontent.epm.data::businessPartner" as a
SAP_HANA_EPM_DEMO is the schema
sap.hana.democontent.epm.data is the package
businessPartner is the view
Start simple... before the seletion try it out on Studio SQL.
Regards, Fernando Da Rós -
Label printing issue with chinese characters (SAP script)
Hi ,
I have a requirement to print chinese characters on label print out.
Here are the steps already tried:
1) Created a new device type which is copy if ASCIIPRI and character set 8400
2) Font ANDALE_S, CNHEI, CNSONG are assigned to device type, same fonts called in SAP script.
3) During the print, it is picking ANDALE_S font(observed in spool RAW data), but preview is good.
4) I put ZPL codes CW1,B:MSUNG.FNTFS in beginning of script and also ^A@N,50,50,B:MSUNG.FNT while prining actual chinese text in SAP script.
5) also tried other device types assigned to printer LZEBU2, LB_ZEB2 etc.,
6) already checked at printer DIMM level, SIMSUN, ANDALE_S fonts are already installed
7) Character set on printer is same as in SAP
So far no option worked, it default to Courier fonts while printing and it results garbage characters.
If anyone has ideas, please advice.
thank you,
AnilHi,,
If the ZPL commands are correct for switching to the printer's internal CHinese font and character set, it may work to add the fonts via SE73 -> Printer Fonts -> ASCIIPRI . In here you need to add the commands in the print control SFxxx for your created font.
Another possibility is to print via windows and device type CNSAPWIN. Here it should not be necessary to add any font.
Regards,
Aidan -
FrameMaker and Photoshop ExtendScript Example
Hello All,
It seems that there was an example of using Photoshop in a FrameMaker ExtendScript script, but I don't remembe where I saw it. My intention is to get the path of an imported image in FrameMaker, use Photoshop to convert it to another format, and then replace the original image with the new format. Any pointers on using Photoshop from a FrameMaker script would be appreciated. Thank you very much.
RickRick,
I guess the script you are referring to was demo6.jsx from one of the demos. It basically created the script to run in Photoshop as a string and then sent this to the app. Below are the lines.
- Michael
function createScript(path){
script = "preferences.rulerUnits = Units.PIXELS;\
open(File('"+path+"'));\
docRef_1 = app.activeDocument;\
docRef_1.activeLayer."+effect+"\
docRef_1.save()";
sendPhotoshop(script);
// Create a new BridgeTalk object, stuff the script, and send it to PS
function sendPhotoshop(script){
var bt = new BridgeTalk();
bt.target = "Photoshop";
bt.body = script;
bt.send(); -
Script for getting the online/offline status
Hi all,
After enabling checkbox of "Enable assistive access device" is possible to get the online/ offline status.From Menu we will get the status.Without doing this i want to get the apple mail account online/offline status.hope some help scripts for this.[That script|http://discussions.apple.com/message.jspa?messageID=11012484#11012484] could change the Online Status of all mail accounts. The following one will just report their Online Status. Is this what you are (were) asking for?
--BEGINNING OF SCRIPT
tell application "Mail" to activate
tell application "System Events" to tell process "Mail"
set theMenu to menu "Mailbox" of menu bar 1
if enabled of menu item "Take All Accounts Online" of theMenu then
return "All accounts are currently offline"
else
return "All accounts are currently online"
end if
end tell
--END OF SCRIPT -
Script for: Getting the closest price within the group
Hello
I need some help for my script.I would like to add new field . Do you guys have an idea any OLAP functions .
It was my simple script which doesn't give the answer I want.
SELECT
NO,
SUM_QTY,
QTY_QUOTED,
CASE WHEN QTY_QUOTED < SUM_QTY
THEN MAX(QTY_QUOTED)
WHEN QTY_QUOTED = SUM_QTY
THEN QTY_QUOTED
WHEN QTY_QUOTED > SUM_QTY
THEN MIN(QTY_QUOTED) END AS CLOSEST_Q
from table1
GROUP BY NO, SUM_QTY, QTY_QUOTED;
output for the script below:
No SUM_QTY QTY_QUOTED CLOSEST_Q
567 3 2 2
567 3 99 99
130 140 156 156
123 515 40 40
911 120 600 600
911 120 800 800
567 3 3 3
567 3 5 5
911 120 700 700
130 140 138 138
130 140 12 12
123 515 2 2
I would like to see the last field below:
No Sum_Qty Qty_Quoted The Field I want to have or The other way I want to see
==== ======= ======== ================ ==================
123 515 40 x 40
123 515 2 40
567 3 5 3
567 3 2 3
567 3 3 x 3
567 3 99 3
911 120 600 x 600
911 120 700 600
911 120 800 600
130 140 12 138
130 140 138 x 138
130 140 256 138
I willl appreciate if you can give any clue /solution or idea.
Thanks a lot,
Pinar[That script|http://discussions.apple.com/message.jspa?messageID=11012484#11012484] could change the Online Status of all mail accounts. The following one will just report their Online Status. Is this what you are (were) asking for?
--BEGINNING OF SCRIPT
tell application "Mail" to activate
tell application "System Events" to tell process "Mail"
set theMenu to menu "Mailbox" of menu bar 1
if enabled of menu item "Take All Accounts Online" of theMenu then
return "All accounts are currently offline"
else
return "All accounts are currently online"
end if
end tell
--END OF SCRIPT -
Problem with save as action in CS4 PS script
Hi,
I am just beginning to script and I am encountering an Error message when running this particular snippet, which was taken from the CS4 scripting Guide
This is the part of script that is causing a problem, anybody know why its giving me an error message? I've been searching around a lot and cant seem to figure it out...
app.activeDocument.flatten () ;
jpgFile = new File( "/Temp001.jpeg" );
app.activeDocument.saveAs(jpgFile);
Thank you!Im a newbie working out of a mac so im not sure how to define the file path :/
Since my file was originally a psd file, I tried inserting the jpeg option as you suggested, from the scripting guide as follow :
app.activeDocument.flatten () ;
jpgFile = new File( "/Temp001.jpeg" );
jpgSaveOptions = new JPEGSaveOptions();
jpgSaveOptions.embedColorProfile = true;
jpgSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE;
jpgSaveOptions.matte = MatteType.NONE;
jpgSaveOptions.quality = 5;
app.activeDocument.saveAs(jpgFile, jpgSaveOptions, true,Extension.LOWERCASE);
but its still giving me the same error message...
thank you very much for your reply, hope you can help me some more ! -
Hi so I have a webpage i'm trying to fiddle around with and so far I've added both a sprymenu (for navigation throughout the site) and an easy rotator. both are javascript functions but when I go to load the page i see my sprymenu for a brief second until it is covered up by the easy rotator. I'm wondering if I need to write a function to re position the easy rotator perhaps? Or maybe there's another method. Does anyone have any ideas?
hello nancy thank you for your timely response, I don't currently have the website online yet. Is there another way you can view the code?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
body {
background-color: #A0A0AD;
-->
</style><p><a href="index.html"><img src="Actionable Perspectives/Actionable Perspectives.jpg" width="590" height="90" /></a></p>
<hr align="left" width="1000" />
<p>
</head>
<body>
<script src="Actionable Perspectives/SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
</p>
<link href="Actionable Perspectives/SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css">
<ul id="MenuBar1" class="MenuBarHorizontal">
<li><a class="MenuBarItemSubmenu" href="#">Capabilities</a>
<ul>
<li><a href="Staff.html">Staff</a></li>
<li><a href="Locations.html">Locations</a></li>
<li><a href="Business Models.html">Business Models</a></li>
</ul>
</li>
<li><a href="#" class="MenuBarItemSubmenu">Solutions</a>
<ul>
<li><a href="Industries.html">Industries</a></li>
<li><a href="Strategies.html">Strategies</a></li>
<li><a href="Big Data.html">Big Data</a></li>
<li><a href="Cloud Computing.html">Cloud Computing</a></li>
<li><a href="Product Development.html">Product Development</a></li>
<li><a href="Outsourcing.html">Outsourcing</a></li>
</ul>
</li>
<li><a class="MenuBarItemSubmenu" href="#">Innovations</a>
<ul>
<li><a href="White Papers.html">White Papers</a> </li>
<li><a href="Appearances.html">Appearances</a></li>
<li><a href="Press Releases.html">Press Releases</a></li>
</ul>
</li>
</ul>
<script type="text/javascript">
<!--
var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"Actionable Perspectives/SpryAssets/SpryMenuBarDownHover.gif", imgRight:"Actionable Perspectives/SpryAssets/SpryMenuBarRightHover.gif"});
//-->
</script>
<!-- Begin DWUser_EasyRotator -->
<script type="text/javascript" src="http://c520866.r66.cf2.rackcdn.com/1/js/easy_rotator.min.js"></script>
<div class="dwuserEasyRotator" style="width: 800px; height: 600px; position:relative; text-align: left;" data-erconfig="{autoplayEnabled:true, autoplayDelay:3000, lpp:'102-105-108-101-58-47-47-47-67-58-47-85-115-101-114-115-47-74-37-50-48-77-105-99-104 -97-101-108-47-68-111-99-117-109-101-110-116-115-47-69-97-115-121-82-111-116-97-116-111-11 4-80-114-101-118-105-101-119-47-112-114-101-118-105-101-119-95-115-119-102-115-47', wv:1}" data-ername="Actionable Perspectives">
<div data-ertype="content" style="display: none;">
<ul data-erlabel="Main Category">
<li> <img class="main" src="Actionable Perspectives/TurkeyControl5.jpg" /> <img class="thumb" src="Actionable Perspectives/TurkeyControl5.jpg" /> </li>
<li> <img class="main" src="Actionable Perspectives/TurkeyControl4.jpg" /> <img class="thumb" src="Actionable Perspectives/TurkeyControl4.jpg" /> </li>
<li> <img class="main" src="Actionable Perspectives/TurkeyControl3.JPG" /> <img class="thumb" src="Actionable Perspectives/TurkeyControl3.JPG" /> </li>
<li> <img class="main" src="Actionable Perspectives/TurkeyControl2.JPG" /> <img class="thumb" src="Actionable Perspectives/TurkeyControl2.JPG" /> </li>
<li> <img class="main" src="Actionable Perspectives/TurkeyControl1.JPG" /> <img class="thumb" src="Actionable Perspectives/TurkeyControl1.JPG" /> </li>
<li> <img class="main" src="Actionable Perspectives/Shanghai3.JPG" /> <img class="thumb" src="Actionable Perspectives/Shanghai3.JPG" /> </li>
<li> <img class="main" src="Actionable Perspectives/Shanghai2.JPG" /> <img class="thumb" src="Actionable Perspectives/Shanghai2.JPG" /> </li>
<li> <img class="main" src="Actionable Perspectives/Shanghai1.JPG" /> <img class="thumb" src="Actionable Perspectives/Shanghai1.JPG" /> </li>
<li> <img class="main" src="Actionable Perspectives/NYSE3.jpg" /> <img class="thumb" src="Actionable Perspectives/NYSE3.jpg" /> </li>
<li> <img class="main" src="Actionable Perspectives/NYSE2.jpg" /> <img class="thumb" src="Actionable Perspectives/NYSE2.jpg" /> </li>
<li> <img class="main" src="Actionable Perspectives/NYSE1.jpg" /> <img class="thumb" src="Actionable Perspectives/NYSE1.jpg" /> </li>
<li> <img class="main" src="Actionable Perspectives/MCIS-Minister-Valerian-Vreme-with-Frank-and-Steve.jpg" /> <img class="thumb" src="Actionable Perspectives/MCIS-Minister-Valerian-Vreme-with-Frank-and-Steve.jpg" /> </li>
<li> <img class="main" src="Actionable Perspectives/MCIS - Cloud Computing meeting.jpg" /> <img class="thumb" src="Actionable Perspectives/MCIS - Cloud Computing meeting.jpg" /> </li>
<li> <img class="main" src="Actionable Perspectives/CloudPMI.JPG" /> <img class="thumb" src="Actionable Perspectives/CloudPMI.JPG" /> </li>
<li> <img class="main" src="Actionable Perspectives/ChinaLab3.JPG" /> <img class="thumb" src="Actionable Perspectives/ChinaLab3.JPG" /> </li>
<li> <img class="main" src="Actionable Perspectives/ChinaLab2.JPG" /> <img class="thumb" src="Actionable Perspectives/ChinaLab2.JPG" /> </li>
<li> <img class="main" src="Actionable Perspectives/ChinaLab1.JPG" /> <img class="thumb" src="Actionable Perspectives/ChinaLab1.JPG" /> </li>
</ul>
</div>
<div data-ertype="layout" data-ertemplatename="NONE" style="">
<div class="erimgMain" style="position: absolute; left:0;right:0;top:0;bottom:70px;" data-erconfig="{___numTiles:3, scaleMode:'fillArea', imgType:'main', __loopNextButton:false, arrowButtonMode:'rollover'}">
<div class="erimgMain_slides" style="position: absolute; left:0px; top:0; bottom:0; right:0px;">
<div class="erimgMain_slide">
<div class="erimgMain_img" style="position: absolute; left: 0; right: 0; top: 0; bottom: 0;"></div>
<div class="erhideWhenNoText" style="background: #000; background: rgba(0,0,0,0.85); position: absolute; left: 0; right: 0; bottom: 0; padding: 5px; color: #FFF; font-family: Arial; font-size: 12px;">
<p class="erimgMain_title" style="padding: 0; margin: 0 0 3px 0; font-weight: bold;"></p>
<p class="erimgMain_desc" style="padding: 0 0 10px 0; margin: 0;"></p>
</div>
</div>
</div>
<div class="erimgMain_arrowLeft" style="position:absolute; left: 10px; top: 50%; margin-top: -15px;" data-erconfig="{image:'circleSmall', image2:'circleSmall'}"></div>
<div class="erimgMain_arrowRight" style="position:absolute; right: 10px; top: 50%; margin-top: -15px;"></div>
</div>
<div class="erimgMain rotatorTileNav" style="position: absolute; left:0;right:0;bottom:0;height:80px;" data-erconfig="{numTiles:-1, scaleMode:'fillArea', imgType:'thumb', loopNextButton:false, arrowButtonMode:'rollover', __slideLinkEvent:'rollover'}">
<div style="position: absolute; left: 0; top: 10px; right: 0; bottom: 0; background: #FFF;"></div>
<div class="erimgMain_slides" style="position: absolute; left:0px; top:0; bottom:0; right:0px;">
<div class="erimgMain_slide">
<div class="erimgMain_img" style="position: absolute; left: 0; right: 0; top: 10px; bottom: 0; margin: 2px 1px;"></div>
<!-- <div class="" style="background: #555; position: absolute; left: 1px; right: 1px; top: 10px; bottom: 0; padding: 5px; color: #FFF; font-family: Arial; font-size: 12px; text-align: center;">
<p class="erimgMain_title" style="padding: 5px; margin: 0 0 3px 0; font-weight: bold;"></p>
</div> -->
<div class="selectionArrow visibleWhenSelected" style="position: absolute; top: 0; left: 50%; margin-left: -10px; width: 20px; height: 10px; background-image: url('http://easyrotator.s3.amazonaws.com/1/i/rotator/FFF_arrow10_export.png');"></div>
</div>
</div>
<div class="erimgMain_arrowLeft" style="position:absolute; left: 60px; top: 50%; margin-top: -10px;" data-erconfig="{image:'circleSmall', image2:'circleSmall'}"></div>
<div class="erimgMain_arrowRight" style="position:absolute; right: 60px; top: 50%; margin-top: -10px;"></div>
</div>
<div class="erabout erFixCSS3" style="color: #FFF; text-align: left; background: #000; background:rgba(0,0,0,0.93); border: 2px solid #FFF; padding: 20px; font: normal 11px/14px Verdana,_sans; width: 300px; border-radius: 10px; display:none;"> This <a style="color:#FFF;" href="http://www.dwuser.com/easyrotator/" target="_blank">jQuery slider</a> was created with the free <a style="color:#FFF;" href="http://www.dwuser.com/easyrotator/" target="_blank">EasyRotator</a> software from DWUser.com. <br />
<br />
Use WordPress? The free <a style="color:#FFF;" href="http://www.dwuser.com/easyrotator/wordpress/" target="_blank">EasyRotator for WordPress</a> plugin lets you create beautiful <a style="color:#FFF;" href="http://www.dwuser.com/easyrotator/wordpress/" target="_blank">WordPress sliders</a> in seconds. <br />
<br />
<a style="color:#FFF;" href="#" class="erabout_ok">OK</a> </div>
<noscript>
Rotator powered by <a href="http://www.dwuser.com/easyrotator/">EasyRotator</a>, a free and easy jQuery slider builder from DWUser.com. Please enable JavaScript to view.
</noscript>
<script type="text/javascript">/*Avoid IE gzip bug*/(function(b,c,d){try{if(!b[d]){b[d]="temp";var a=c.createElement("script");a.type="text/javascript";a.src="http://easyrotator.s3.amazonaws.com/1/js/nozip/easy_rotator.min.js";c.getElementsByTagName("head")[0].appendChild(a)}}catch(e){alert("EasyRotator fail; contact support.")}})(window,document,"er_$144");</script>
</div>
</div>
<!-- End DWUser_EasyRotator -->
</body>
</html>
Maybe you are looking for
-
I created a password using iChain whilst on a website where I have an account. For some reason, I needed to change the password and it seems that the website can only be accessed using the original chain password. I do not have a record of it and it
-
I got my first mac and wonder what is the max ram capacity?
This is my first mac and I gotten it for school for my animation and visual effects. Since they like using tutorials that uses a lot of mac commands instead of windows so I am doing this so I can easily follow along. I gotten a Apple iMac MD063L from
-
Hi Can any body help me out. The images captured by N-91 camera (2 Mega pix) are not clear. How can I make them clear???
-
Instant Client with SQLServer2005 Linked Server
I have successfully installed Instant Client 11.2.0.1.0 on my Windows Server2008. I am able to create an ODBC data source selecting the driver "Oracle in instantclient_11_2". I have also been able to link tables from Access to Oracle. I can logon to
-
SWC APPL 6.04 set up in PI
Hello experts, I am trying to activate Enterprise Services in SAP, I've uploaded the SWC in PI ESR: Objects appear in ESR and are activated but SPROXY in ECC is not showing the SWC APPL 6.04 Maybe I'm missing some SICF activation or something else. I