How to protect source of your precious scripts
Hi all,
This short topic is dedicated to all script writters, who wants to keep their scripts out of reach for third persons.
The main framework we'll be talking about is the simple directive called #targetengine.
As we all know, even some of the simplest scripts we made can be really powerfull and lucrative. This is the main reason why we may want to keep them out of range for other people and our employers.
This is the moment where #targetengine directive comes handy.
OK, lets get started.
#targetengine is getting two (as far as I know) basic parameters.
- main (which destroys all the variables/function definitions after scripts is executed)
- session (which keeps all the stuff while application is still running).
You can also make your own global spaces and call them whatever you want to, but we'll be working on just two of these.
In first place, try to copy and paste this simple script to your extended toolscript and try to run it.
#target illustrator
#targetengine "main"
alert(msg);
alert(var1);
safeFunction();
It does not work! You will get a message that both of these variables are not defined and safeFunction is not a function, and thats good.
Now, try to run this script and then run the other one.
#target illustrator
#targetengine "session"
var msg = "this is a message";
var var1 = 4345;
function safeFunction()
showMsg();
function showMsg()
alert(msg +"\n"+ var1);
As you have probably already noticed, the 2nd script works like a charm now.
No matter how experienced coders you are, I suggest you to always keep your property safe, and this is the best way of making your scripts safe.
Have a nice day,
Igor
PS. excuse me my english.
BeOpenMinded wrote:
PS. excuse me my english.
Your English seems perfectly fine, no worries there, thanks for sharing.
BeOpenMinded wrote:
- How to protect source of your precious scripts
- keep … scripts out of reach for third persons
- keep your property safe, and this is the best way of making your scripts safe
I am just curious however how does this approach keep scripts safe, out of reach and protected from third parties, in what capacity?
Similar Messages
-
How do you list all your created scripts?
Hi all.....
Is there a way to list all of the scripts that you have created that are in your database? I tried the SELECT * FROM CAT but that wont list your scripts. Any ideas?786304 wrote:
If we have stand alone procedures and functions
user_source or dba_source gives the list
**If we have the procedures and functions within the packages How will us know?**
Can anybody give me the query for that one
Thanks,Hi,
Check out this.
SELECT dbms_metadata.get_ddl('PACKAGE','your_package_name') FROM dual;
SELECT dbms_metadata.get_ddl('PACKAGE_BODY','your_package_name') FROM dual;Hope this Helps.
regards,
achyut k -
hai,
can u pls tell how to secure the java source code in the client place.is there any convesion method to secure the source code.Pre-judging by the way the OP communicates here, it's probably a safe bet that his code is already cryptic enough - it's probably a mess that would be hard to follow.
-
How to protect sourcecode,i have seen,there are many programs,which can convert .Class files to .java files,ok,How to protect resourcecode.thanks
Write your code in C++ and compile it using a good optimizing compiler, like icc (Intel C++ Compiler). (Hand-written assembly code is relatively simple to be decoded because it must be small and understandable by its writer, a human being; Microsoft C++ is a good compiler, but generates machine code that is very understandable by a human being - you don't need to be an unemployed Russian guy with a PhD in number theory to break the code - just being a normal guy that has a lot of time to spend is enough. Try reading the very contrived code that icc generates and compares it with the MSVC++ compiler generated code...)
To make the C++ code being harder to be understood if disassembled, use the Standard C++ Library (STL) and use a lot of templatized code, but turn the optimization options to the maximum available.
Java and .NET languages are not very amenable to source code protection. Obfuscating tools are available, but if you understand the subject of the code, you can easily guess the original source code. For instance, you can try to decompile the code of RSA JSafe that comes with the Sun JCE. Even obfuscated by Dash-O it is perfectly possible to understand what algorithms are implemented. -
How to protect java source code?
Hi everybody
I love Java but I think that people can decompile my class file to take my source code!Like this program
http://kpdus.tripod.com/jad.html
How to protect our source code?Even you use Jar files, they can unzip them and decompile!
Thanks in advance!Use Java Obfuscator. Try one of these
http://preemptive.com/products/dasho/index.html
http://www.zelix.com/klassmaster/obfuscator.html
http://java-source.net/open-source/obfuscators -
How to track what your Calc Script/Business Rule is doing?
Hi,
I wanted to know the methods or the best way to keep a track of what your Calculation Script of Business Rule is doing once you execute it.
Or suppose it fails for some reason and the reason is not a syntax error (that it usually would show up in EAS while validating)how can you know what's going wrong?
Please let me know !
~ AdellaAll the CDFs are available at - https://www.samplecode.oracle.com/tracker/tracking/linkid/prpl1004/action/ExecuteQuery?query=essbase1
There are also the Echo CDFs in the String collection -
@JechoBoth - Echoes back all arguments passed to the function. To pass an array of arguments use @List(comma delimited list).
@JechoString - Echoes back all arguments passed to the function. To pass an array of arguments use @List(comma delimited list).
@JechoDouble - Echoes back all arguments passed to the function. To pass an array of arguments use @List(comma delimited list).
Saying that they usually need to be a calc block so if you are expecting to find where a calc is up to in an aggregation it is not going to tell you much.
Also you have to watch out if you are calculating a large number of blocks then you can end up outputing more information that you would ever need.
If you look in the essbase application log you can actually get an idea of which part of the script the calc is executing and times without the need for CDFs.
Also if a script fails then the app log is the place to go and check.
You can also look at the standard calc commands in essbase
SET NOTICE - http://download.oracle.com/docs/cd/E17236_01/epm.1112/esb_tech_ref/frameset.htm?set_notice.html
"Monitors the progress of your calculation by providing completion notices at intervals during the calculation. The number of notices depends on the level you specify."
SET MSG - http://download.oracle.com/docs/cd/E17236_01/epm.1112/esb_tech_ref/frameset.htm?set_msg.html
"Sets the level of messaging you want returned about calculations, and enables simulated calculations."
or if on 11.1.2.x then the @RETURN function - http://download.oracle.com/docs/cd/E17236_01/epm.1112/esb_tech_ref/frameset.htm?return.html
"Exits the calculation immediately under specified logical conditions. You can use the IF... ELSEIF calculation command block to specify the logical error conditions, and use the @RETURN function to exit the calculation with customized error messages and levels."
Cheers
John
http://john-goodwin.blogspot.com/ -
[Tip] How to protect Image file
Hello,
If you have ever wanted to protect your image file,
especially within your Flash content,
this article will be helpful.
First of all, there are some points you need to protect when
you deliver image data with Flash.
1. Internet Browser Cache.
Even though you use 'HTTPS' protocol when you deliver your
file,
if it is pass the 'Network (or Protocol) Layer' of your
machine, it is already in 'plain' data
(not encrypted), and can be read by Internet Browser.
Those 'plain' data will be stored in Internet Browser's
Cache directory.
There are many Internet Browser Cache reader programs, and
they can intercept those
data before the Internet Browser program deletes the cache
files.
So, just using 'HTTPS' is not an answer. You need to encode
your image data
with your own (or with well known cypher algorithms)
encoding/decoding methods.
In this article, I want to explain more detail about this. I
scramble the image
so that make it hard to figure out what the original image
was, not only with human eyes
but also with 'strong enough' 'Key' length.
2. Screen Capture.
Even if you encoded your image data, it will be finally
shown on your screen,
without any noises, or any other ugly filters.
So, you can 'Capture' your monitor screen itself.
There can be many ways to avoid this. First, you can erase
the system's 'Clip board'.
You just can erase it regularly, or you can detect whether
the Internet Browser -which is
showing your image data- is active or not and erase clip
board when it is active (in foreground),
and hide your Flash area when the browser is inactive (in
background).
If a hacker just take a picture of monitor screen with high
quality Camera,
you still can avoid that, by showing some black rectangle,
or any layers on the screen
regularly only in very short period (like mili-second). But
I think this way sometimes you feel
tired or be annoyed when you watch that kind of blinking
screen.
== About my code ==
What I want to present here today is 'modifying(encoding) the
image' data itself.
There are many ways you can try for modifying your image data
and revert it back to original data.
You can use legacy block cipher algorithms like DES, AES, for
encoding and decoding the
image data, because the image data (RGB values) what Flash
uses is actually a combination of 'bit's.
But if you decode the 'encoded image' data, you probably use
'get pixel'/'set pixel' function for
reconstructing the proper 'RGB' value of each pixel. But I am
sorry that this function is extremely slow
so that you need to wait for a couple of minutes to see an
image.
So, what I want to show you today is 'Scrambling the image'
like 'picture puzzle',
with using 'copyPixels' function which is 'extremely fast'.
(Actually, there can be many other solutions for this, so
please don't hesitate to proceed your own research)
Let's say you have 8*8 pixel size of image blocks, and you
completely disorder those blocks for
entire image area. That size of block is too small to figure
out where it should be, with our
humble human being's naked eyes. So, you need to know the
'answer', which is saying what image block
was originally on which 'cell'. This 'answer' is the 'key'
for my simple 'image scramble' logic.
The 'key' I said here, you should understand that, is the
'key' value of normal 'block cipher' algorithms.
So, if you know the key, you can rearrange all those 'blocks'
back, but if you don't know the key,
simply you can't do that, or you need to wates tremendous
time for that.
Here, I use 16*16 size block for your eye's convenience, and
with 8*8 size of 'matrix' which is
comprised of each 16*16 size blocks. I mean, one 8*8 matrix
has 64 blocks, so each block of
one 'matrix' can be at '1st cell of matrix or 64th cell of
matrix. So, the 'odds' is 'Factorial of 64',
which is 64! == 1.268869322e+89 .
Let's say you know my algorithm (complete source code), and
you try every different 'matrix' values.
If it takes 0.001 seconds to test one 'matrix' value you have
chosen, it will take
"(64!) / (1000*60*60*24*365) =
4.0235582250724303685766549129617e+78" Years!!!! to find exact
matrix value.
== FLA sample ==
In my sample *.fla file, I embedded all those 'key' values.
So, you can not use my sample directly for your
own project. But I think this sample will give you an useful
idea for your own implementation.
<* Exchanging the key values *>
For example, you need to get the 'key' values from the
server, only when it is needed.
You can use 'loadVariables()' function for this purpose.
But, all data delivered by 'loadVariables()' or
'getUrl()', or any other functions of Flash, are
'Cached'.... So, you need to exchange that 'key' values
more safer way.
One of that 'safer key exchange' is to use 'token'. For
example, when the client requests the key value
to the server, the client should generate an random value (I
will call it 'token') and send it to the server.
Now the server modifies the 'key' value 'with the token',
and sends back to client. Finally, the client
decode the 'key' value with the token value it generated.
As you can see, my logic is just 'rearranging each blocks'
with respond to the given matrix values (key).
It is really really simple. There in the ActionScript code,
you can see 3 matrix, and some other variables.
var chessunit = 16 // Size of block
var arrayw = 8 // Width of Matrix
var arrayh = 8 // Height of Matrix
var arraysize = arrayh * arrayw
var chessarray = Array (arraysize) // Matrix for decoding
chessarray = Array
(64,37,5,35,45,25,52,38,12,61,34,23,3,26,39,58,32,28,17,2,60,16,59,19,57,48,43,18,47,21,4 0,15,31,6,44,46,30,51,27,56,20,24,13,7,42,1,49,54,36,53,9,50,4,8,10,14,33,11,22,63,55,29,4 1,62)
// In case of the width of an image is not exactly the
multiple of the width of matrix,
// we need to encode the right most area of the image.
// So, I simply use another matrix for only that area.
// Maybe You can generate more bigger image, of which the
width of it is exactly the multiple of
// the width of matrix. And you let the decoder to show only
the original size of the image.
// Please try yourself. :)
var dwArray = Array
(32,19,3,18,23,13,26,6,31,17,12,2,20,29,16,14,9,1,30,8,10,24,22,11,15,28,7,4,21,25,27,5)
// In case of the Height of an image is not exactly the
multiple of the Height of matrix,
// we need to encode the bottom most area of the image.
// So, I simply use another matrix for only that area.
// Maybe You can generate more bigger image, of which the
Height of it is exactly the multiple of
// the Height of matrix. And you let the decoder to show
only the original size of the image.
// Please try yourself. :)
var dhArray = Array
(40,23,4,22,29,16,33,24,8,38,21,15,2,17,37,20,18,11,1,10,12,36,30,27,13,25,28,14,19,32,35 ,7,5,26,3,31,34,6,9,39)
You can change the block size, matrix size, any values you
want.
By the way, if the block size becomes smaller, you'll get
more stronger security level. But you have to
compensate it with the slow down of the performance.
** Ooops, I can not attach my sample *.fla file, but only
ActionScript code here...
But I believe you can try without testing my *.fla sample.
If you really want to test it, please mail me.
([email protected])
** You need to 'export' image object, with the name of
"img0".
== Image encoder ==
Encoding (Scramble) the original image is also simple. You
just need to copy each blocks in reverse of
the 'ActionScript code'. That's all. You just use same
'matrix', but copy source and target reverse of
ActionScript code. I think you can write it with any
languages you like, C/C++, C#, Java, and
anything.... right?
== Block cipher ==
Now, you know that my implementation is kind of 'intuitive'
representation of 'block cipher'.
More precisely, it is called 'ECB', which encodes each
encoding block (matrix) with the key values
from the beginning to the end. You can twist the matrix every
time you pass one matrix area of an image.
It is called 'chaining'. There are some 'chaining' block
cipher methods like 'CBC'...
(If you want to know more, please look up "
http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation
Thank you for your time to read my humble article,
and wish you Good luck. :)Hello Crandom,
If you want to encrypt a critical strings, like special
server script url or parameters, then it is simple.
The most simple and faster method is to "XOR ing the string"
with a key string. You use the same key string when you encode and
decode (by Just using XOR). This is similar to 'Stream cipher'
algorithms.
And there is "open source cipher algorithm" (called
AS-CryptoLib) written in ActionScript, including most of algorithms
like Hash, Block cipher, RSA... if you want more stronger
encryption strength..
But I bet you also want to encode your script logic itself.
In that case, you should write your own 'Interpreter'. For example,
you encode all your ActionScript source code string, and decode it,
and you interpret each script tokens like 'if' 'for' 'while',
etc...
Actually, your question also inspired me to think about
loading script string and run it on the fly.
Maybe.... we can start from this article...
http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_16691"
I suggest you just use commercial SWF file encrypting tools
like Ameyata's "SWF encrypt". It changes the SWF file structure so
that usual 'SWF file decompilers' can not read codes properly.
And.... If you can use Flex2 (for your current project), and
it is ok with you (If you don't need to change a lot in your
current project) to use JavaScript to control your objects or
behavior of SWF file, then I think there is another possible way.
After you decode the Javascript string, you load a web page,
or change the content of HTML file already opened, so that your new
script will be working, as what you wanted to be. But I didn't test
it :)
Best regards. -
[TUTORIAL] ADD YOUR OWN KEYBOARD SHORTCUTS TO YOUR JSX SCRIPTS
This is for Windows only; it uses a feature to launch your favorite software via a keyboard shortcut. It’s been here for a while but it just never occurred to me to use it for this purpose.
1. Create a shortcut on the Desktop that points to your script.
2. Assign a keyboard shortcut to it. That’s it!!!!
If you don't know how, here’s a step by step
1. Open the folder where all your scripts live
2. Right click on any of them and click on “Send to …” -> “Desktop (Create Shortcut)”
3. (Optional) Rename the shortcut; to help you remember it is a good practice to include the actual key combination
4. Right click on the shortcut, click on “Properties”
5. The Shortcut Key says “None”, place the cursor there and hit for example Ctrl+Alt+8
6. Click on “Apply” then on “Ok”
7. That’s it, go to Illustrator and hit your key combination.
Notes:
1. Add the following line to the beginning of all your jsx scripts “#target Illustrator” (without the quotations)
2. If there are duplicate key combinations, your newly created shortcut will take precedence over any existing Illustrator shortcut used for something else, so…to help you see what key combos are available:
1. In Illustrator, go to “Edit” -> “Keyboard Shortcuts…”, then click on “Export text…”
2. The file is saved as a text delimited, open it with Excel or similar program to be able to sort
3. This is what I get, a sorted list that easily shows what’s available
3. If you have lost of scripts, your desktop will soon be overcrowded with icons, which many people really hate. An alternative could be to create a shortcut to the folder containing all your scripts and assign a key combination. When you’re in Illustrator and use the key combo the folder will open and you will have to double click on the file to run it. Not ideal….but your desktop will be uncluttered and is still better that going to the menus to run your scripts.
any comments or questions are welcomedCarlos - it is not a windows security warning, and there is no checkbox. This is coming from extendscript (it has that icon when you alt-tab). Windows doesn't know that this is a script, the OS just launches extendscript with the file as an argument.
The text is:
You are about to run a script in Adobe Illustrator CS5. You should only run scripts from a trusted source. Do you want to run the script? -
Rolling Your Own Script Editor
Does anyone know if there is a way in a window you've developed on your
own to access Forte's "compile" logic? Have a TextEditField and would
like the stuff in it to be compiled.
Curtis Marsden
[email protected]If we are making a text-editor wish list, let me add my two cents worth --
How about text-sensitive help - when you do f1, look up the word under the
cursor, and if it is found, automatically position to that topic in the
help file. And as long as we are talking about help, how about more
example syntax, suitable for cutting and pasting?
I do like Forte's search and replace feature, with the little check-boxes,
but wish that it would find all references, not just those in methods. I
got nailed once changing an attribute or method name (I forget which) that
was also referenced in a virtual attribute. The code broke, and it was
pretty hard to track down why.
Beyond that, I would echo ALL of Richard's suggestions. If I were to pick
the one or two points that I would consider most important, it would be
these: Using color to highlight key words and comments in the methods; and
using a treeview with projects, classes, and methods to simplify navigation
of the project hierarchy.
--Jeanne
======================================================
Jeanne Hesler <[email protected]>
MSF&W Software, Product Development
(217) 698-3535 ext 207
http://www.msfw.com
======================================================
/\ Imaging Developer - the only imaging product
\/ integrated into the Forte Development Environment
======================================================
From: Richard Stobart <[email protected]>
To: Don Nelson <[email protected]>; Thomas Mercer-Hursh, Ph.D.
<[email protected]>
Cc: Forte Users <[email protected]>
Subject: Re: Rolling your own script editor
Date: Sunday, March 29, 1998 6:45 AM
I think the point is that the editing in Forte is archaic. Someone (andwe
all are looking directly at Forte themselves) needs to provide a user
friendly development environment.
Useful features that are on all successful IDE's built in the later partof
the century are:
Text highlighting - This doesn't even work properly in V3F. Tryshift-down
past a long line.
Context highlighting or colours - Type a reserved word and it appears in
bold would be a good start.
Search - What is that greyed out cancel button for?
Search - I am reading someone's code and they are calling a method on anSO.
How do I quickly find where that method is?
Layout - What about a tree view of Projects, Classes and
Methods/Attributes - Double click on the method and go directly there. Take
a look at MSVC for a useable interface.
'How do I?' on help.
Why is it necessary to keep going to the web to look for tech support?
Can't that be added to Help.
Object ID's - all or nothing. Try changing an object's name. All the
function prototypes change - none of the code changes - brokeneverywhere.
If there was a descent Search and Replace (Would you like to replacethis?
And the text in your function prototype, Would you like to replace this
too?) this would be vaguely acceptable.
I could go on but I won't.
Regards
Richard Stobart
Consultant, ECSoft, UK
101 Wigmore Street
London W1H 9AA
(0171) 355 1101
-----Original Message-----
From: Don Nelson <[email protected]>
To: Thomas Mercer-Hursh, Ph.D. <[email protected]>
Cc: Forte Users <[email protected]>
Date: 29 March 1998 01:49
Subject: Re: Rolling your own script editor
You probably could, but it would very likely "break" with future
versions
of Forte. Not recommended at this time.
Don
At 03:32 PM 3/27/98 -0800, Thomas Mercer-Hursh, Ph.D. wrote:
At 09:45 PM 3/27/98 +0000, Alfred Scholldorf wrote:
No, but Wow would that be a cool feature!
Does anyone know if there is a way in a window you've developed on
your
own to access Forte's "compile" logic? Have a TextEditField andwould
like the stuff in it to be compiled.
[email protected]
Also potentially quite interesting would be the option to use optional
editors in place of any standard one. I have been very impressed, for
example, with ED4W and its ability to recognize syntax, use color to
highlight syntactically relevent areas, and provide typing shortcutswhich
can pop in whole language segments in response to a few keystrokes. They
haven't done a Forte language template yet, but they do provide all the
tools necessary to do one and they have provided the capability withmany
other languages to hand the current buffer to a compiler, collect the
errors, and then return to ED4W with errors marked. I don't know howeasy
it would be to get it to interface with the repository, but I don't seewhy
this should be that difficult.
=========================================================================
Thomas Mercer-Hursh, Ph.D email:
[email protected]
Computing Integrity, Inc. sales: 510-233-9329
550 Casey Drive - Cypress Point support: 510-233-9327
Point Richmond, CA 94801-3751 fax: 510-233-6950
============================================
Don Nelson
Regional Consulting Manager - Rocky Mountain Region
Forte Software, Inc.
Denver, CO
Phone: 303-265-7709
Corporate voice mail: 510-986-3810
aka: [email protected]
============================================
"Until you learn to stalk and overrun, you can't devour anyone" - Hobbes -
How to protect SAP Application Tables and Reports in R/3
Hi Gurus,
Any one please explain me detail how to protect tables in R/3 with different senarios.
How to protect reports in SAP R/3 without assigning SA38 transaction access
How to protect Program in SAP R/3 in R/3Hello Happyman,
<b>What do you mean by Protect Table, Program and Report?</b>
Let me ask you one base Question, On which area are you working? Are you from functional side or Technical side (Developement or Basis guy)?
This is very clear cut answer that with the restricted autorization you can protect table and programs. Do not provide the change autorization.
CATCH your BASIS guy and he will do rest of the things. Just explain him what are you want to protect.
Hope this helps.
Regards
Arif Mansuri -
ME05 How to schedule source list job with steps?
Can someone please give me instructions on how to create source list ME05 in background using "Steps"? I know how to create a background job in ME05 but need to have several jobs run back to back in the middle of the night. I am reluctant to shedule them at different times and would prefer to use the "Steps" function. Thanks for your input!
Hello
Steps:
First create variant for the report in normal execution mode (to provide input selection parameters in backgrpund)
1. Transaion code SM36
Give Job name you want created (Give some meaningful name) and Press enter
2. Give the ABAP program name
3. Select variant and save the selections
4. Come back to initial screen , select the Start condition button and provide the interval as per requirement to schedule the job and save.
5. Save the job.
Check the Job in SM37 and relase the Job.
warm regards
Rama -
How to use Standard text in SAP SCRIPTS
Hi all,
Please tell me how can we use the standard text what we have created in SO10 with sap scripts.Hi Gaurav
You can create standard texts using the transaction SO10. Then to insert these standard texts in the SAPScript choose the menu, Insert->Text->Standard and choose the standard text that you want to choose.
Alternatively, you can display standard texts in your SAP Scripts using the command:
INCLUDE ZSTEXT OBJECT TEXT ID ST LANGUAGE EN
where ZSTEXT refers to the Standard Text name.
Reward pts if found usefull
Regards
Sathish:) -
How to Avoid blank page in SAP Script
I am working on a Script. My Script prints a check.
This script is a copy of a std script.
It has 3 pages - First Next Last
My First page has all the required data.
My second page is empty with out any values.
I am getting the blank page as Page 2 when executing. How can we avoid it ?
SenthilHi Senthil,
Please see the below points:
1. Please check what have you defined as the NEXT PAGE for your first page. If so change it and make the first page itself as the next page.
2. Check your main Window, may be there is blank line at the last of the main window, so check that abd remove that,so you won't get the blank page
Please see the link which is similar to your problem:
Re: How to remove blank page in sap script
May it helps you.
Regards.
Deepak Sharma. -
How to protect the lines in smartforms
hi gurus
i want to know how to protect the line in smartforms..
regards
baskarCheck this link.
http://www.saptechies.com/smartforms-protect-lines-in-main-window/
if you are using tables, there are two options for protection against line break: You can protect a line type against page break. You can protect several table lines against page break for output in the main area.
Protection against page break for line types Double-click on your table node and choose the Table tab page. Switch to the detail view by choosing the Details pushbutton. Set the Protection against page break checkbox in the table for the relevant line type. Table lines that use this line type are output on one page.
Protection against page break for several table lines Expand the main area of your table node in the navigation tree. Insert a file node for the table lines to be protected in the main area. If you have already created table lines in the main area, you can put the lines that you want to protect again page break under the file using Drag&Drop. Otherwise, create the table lines as subnodes of the file. Choose the Output Options tab page of the file node and set the Page Protection option. All table lines that are in the file with the Page Protection option set are output on one page
Regards,
Maha -
How to insert the style in sap-script? and in smart form?
how to insert the style in sap-script? and in smart form?
Hi..,
For SAP scripts u need to create them in SE72 ...
and u can include them in the script editor as..
/: STYLE <STYLE-NAME>
P1 text............... (*** P1 is the Paragraph format created in SE72 )
/: STYLE *
For smartforms u need to go for the transaction (tcode) SMARTSTYLES... here u can create paragraph and character formats globally...
<b>Sunil, plz do remember to close all your threads, when ur problem is solved !!</b>
reward all helpful answers,
sai ramesh
Maybe you are looking for
-
For Purchase order CIF Problem
Hi APO experts For PO, to change the INCO Terms Fields and this Field has added in User Exit of CIFPUR01 of structure custom Structure CIFPUORCUSe (No other Fields has changed) then CIF the PO INCO Terms Has not updated in APO System.. Suppose If i
-
Hi, I am having issues in displaying multi line text on a Text Item. Basically there is data in the database column DetailText which is stored like this with carriage returns : If I look at the column in Toad it is formatted with all the carriage ret
-
I have to install GC 10.2.0.1 (which uses an Oracle 10.1 database). Then I have to upgrade the Oracle DB to 10.2.0.3, by first installing a new 10.2.0.1 ORACLE_HOME and applying the 10.2.0.3 patchset. Then I have to apply the Grid Control 10.2.0.4 pa
-
ACE DSR (Direct Server Return) Questions.
I currently have an ACE 4710 configured for DSR. However, I am at a loss as to how I should configure the loopback (or virtual interface) for the servers. Easy to do in Linux, but not so much on a Windows Server 2000 box. Any ideas or guides would be
-
We all have an idea of how to pass in variables / parameters to a swf file when on an html file. But, how do I pass in a variable / parameter / external variable to my flash file when it is an EXE under the following situations; On the call to start