Pass in another variable thru onFolioData()
This is my first time dealing with Adobe DPS and I am trying to pass another variable into the onFolioData function.
Right now my code looks like so:
var init_dps_api = function(productIDs, saleNumbers) {
var onFolioData = function (data) {
var len = data.length;
// The library returns an array of folio descriptor objects. Put them into a hash indexed by something more convenient (ie productId)
for (var i = 0; i < len; i++) {
folioDataHash[data[i].productId,data[i].saleNumber] = data[i];
var folio;
for (var j=0; j<productIDs.length; j++){
folio = folioDataHash[productIDs[j],saleNumbers[j]];
if (folio) {
//adobe.dps.store.getPreviewImage(productIDs[j], true, 768, 1024, onPreviewImage2(productIDs[j]));
adobe.dps.store.getPreviewImage(productIDs[j], true, 768, 1024, onPreviewImage(productIDs[j],saleNumbers[j]));
else {
//console("The productId you have defined for purchase/download does not exist within your Fulfillment account");
var onPreviewImage = function(productID,saleNumber) {
var s2= "";
var folio2 = folioDataHash[productID,saleNumber];
In the above code you can see that I want to pass in the saleNumber, but it is breaking the page. Is there a way to do this? Can someone from the Adobe team please assist?
Reason for this is that from our jsp pages, we need to pass salenumbers for our Site Catalyst tracking, so I am grabbing the salenumber from the jsp page and passing it via the javascript api to trigger an Omniture function.
Thank you for your time and patience.
B
Message was edited by: BC_Sothebys
In the main jsp file, it is calling multiple publication ids from the cms. So let's say that on the page, there are 5 buckets. In each bucket, there are 5 publication ids. Each of the publication ids are being pushed into a publicationIDs array.
<script>
publicationIDs.push('<%=publicationId%>');
</script>
This array then gets called in the api
var init_dps_api = function(productIDs) {
var folioDataHash = {};
var onFolioData = function (data) {
var len = data.length;
for (var i = 0; i < len; i++) {
folioDataHash[data[i].productId] = data[i];
var folio;
for (var j=0; j<productIDs.length; j++){
folio = folioDataHash[productIDs[j]];
if (folio) {
adobe.dps.store.getPreviewImage(productIDs[j], true, 768, 1024, onPreviewImage(productIDs[j]));
else {
console("The productId you have defined for purchase/download does not exist within your Fulfillment account");
var onPreviewImage = function(productID) {
var s2= "";
var node2 = "";
var folio2 = folioDataHash[productID];
if (!folio2) return; // un-known folio...nothing to show.
if(globalTab == 'featured') {
node2 = document.getElementById(productID + "_publicationId_Holder_fc");
if(isLoggedIn) {
s2 += "<div class='buyButton' id='" + productID + "'>";
if (folio2.state=='200') {
s2 +="Download";
} else {
s2 += "View";
s2 += "</div>";
if (node2) {
node2.innerHTML = s2;
node2.onclick=function(){
buy(productID);
} else {
s2 += "<div class='buyButtonGreyed' id='" + productID + "'>";
s2 += "Register to Download";
s2 += "</div>";
if (node2) {
node2.innerHTML = s2;
node2.onclick=function(){
showMsgBox1();
if(globalTab == 'view-all') {
node2 = document.getElementById(productID + "_publicationId_Holder_va");
if(isLoggedIn) {
s2 += "<div class='buyButton' id='" + productID + "'>";
if (folio2.state=='200') {
s2 +="Download";
} else {
s2 += "View";
s2 += "</div>";
if (node2) {
node2.innerHTML = s2;
node2.onclick=function(){
buy(productID);
} else {
s2 += "<div class='buyButtonGreyed' id='" + productID + "'>";
s2 += "Register to Download";
s2 += "</div>";
if (node2) {
node2.innerHTML = s2;
node2.onclick=function(){
showMsgBox();
var onLibraryUpdate = function () {
adobe.dps.store.getFolioData(onFolioData);
// Unregister for library updates
unregisterUpdateLibraryHandler(); //commented out by Y.J.
var registerUpdateLibraryHandler = function ()
if (window.adobedpscontextloaded)
// call into the updateLibrary API
adobe.dps.store.registerLibraryUpdateCompleteHandler(onLibraryUpdate);
adobe.dps.store.updateLibrary(); //this needs to be here, otherwise, no button shows up
else {
//console("Failed to find Javascript API");
var unregisterUpdateLibraryHandler = function ()
if (window.adobedpscontextloaded)
// call into the updateLibrary API
adobe.dps.store.unregisterLibraryUpdateCompleteHandler(onLibraryUpdate);
registerUpdateLibraryHandler();
var buy = function(productID) {
var folio = folioDataHash[productID];
if (folio==null) return;
if (folio.state=='100') {
adobe.dps.store.buyFolio(productID);
}else {
adobe.dps.store.viewFolio(productID);
//showMsgBox brings up message box and black cover when user is not logged in
function showMsgBox() {
var overlay = $('#black-cover');
var wrapper = $('#warning-mmsg');
overlay.css({'display':'block'});
wrapper.css({'display':'block'});
//showMsgBox brings up message box and black cover when user is not logged in
function showMsgBox1() {
var overlay = $('#black-covers');
var wrapper = $('#warning-msgs');
overlay.css({'display':'block'});
wrapper.css({'display':'block'});
var consoleElement = document.getElementById("console");
var console = function(s) {
if (consoleElement) consoleElement.innerHTML += s + "<br/>";
} //END: init_dps_api function
This whole script works and in the storefront, all of the 5 buttons appear with the correct publication id in there buckets.
But now I want to be able to pass another variable, in this case saleNumbers, where I would do a second push:
<script>
publicationIDs.push('<%=publicationId%>');
saleNumbers.push('<//%=saleNumber%>'); // second push
</script>
and pass that into the init_dps_api function like so:
var init_dps_api = function(productIDs, saleNumbers) {
What I've done only printed the sale number for the first bucket, but I need it to print 5 different sale numbers for their respective buckets.
Thanks for your time and patience.
Similar Messages
-
Passing an APEX variable to another web page outside of APEX
I need to pass an item variable from an APEX page to another web site outside of APEX. Does anyone know what syntax I would need to use? It needs to keep the session in tact.
Thanks.
KellyAh, as I read more closely ... You say
FIND_USER_IN_DB is defined as an application item.
Application items get treated differently from Page Items. They aren't on any page so there's nothing to directly tie them to a particular page operation. [You may have tried an obvious approach that doesn't work.] Please check where you
sets FIND_USER_IN_DB to the value in &P8_USERNAME.
Does it say "Page Item" / "Item" there? Check the selector? Can you select an Application Item. If memory serves, my (sad) experience is that you can list an Application Item here but it doesn't "work" and there's no warning that it's a problem -- except it doesn't work! Application Items can't be given values this way. Hey, it is what it is. That's the way it doesn't work!
So I believe you must "Submit" FIND_USER_IN_DB and then you can reference it on Page 11. There must be several ways to do this. I'll seaarch / ponder for a plain vanilla one.
Howard
(more)
Well, maybe I have to take it back. There is this documentation that suggests you can pass Application Items. http://docs.oracle.com/cd/E37097_01/doc/doc.42/e35125/bldapp_item_app.htm#BCEHFDDJ See Note in Paragraph 8.
"Note: If you must set this item's value in session state using Ajax, then an Unrestricted protection level must be used for the item (for example in Dynamic Actions, Set Value, Page Items to Submit or Cascading LOVs, Page Items to Submit)."
I'll try to run a test. Still, the best solution for me still seems to assign the value of P8_USERNAME to FIND_USER_IN_DB and then submit the page which will plce the value in session.
(more) I was able to pass an Application Item if I set Session State Protection to Unrestricted. Probably not a good idea! -
Trying to pass and object variable to a method
I have yet another question. I'm trying to display my output in succession using a next button. The button works and I get what I want using test results, however what I really want to do is pass it a variable instead of using a set number.
I want to be able to pass the object variables myProduct, myOfficeSupplies, and maxNumber to method actionPerformed so they can be in-turn passed to the displayResults method which is called in the actionPerformed method. Since there is no direct call to actionPerformed because it is called within one of the built in methods, I can't tell it to receive and pass those variables. Is there a way to do it without having to pass them through the built-in methods?
import javax.swing.JToolBar;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import javax.swing.JPanel;
import java.net.URL;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Panel extends JPanel implements ActionListener
protected JTextArea myTextArea;
protected String newline = "\n";
static final private String FIRST = "first";
static final private String PREVIOUS = "previous";
static final private String NEXT = "next";
public Panel( Product myProduct, OfficeSupplies myOfficeSupplies, int maxNumber )
super(new BorderLayout());
int counter = 0;
//Create the toolbar.
JToolBar myToolBar = new JToolBar( "Still draggable" );
addButtons( myToolBar );
//Create the text area used for output.
myTextArea = new JTextArea( 450, 190 );
myTextArea.setEditable( false );
JScrollPane scrollPane = new JScrollPane( myTextArea );
//Lay out the main panel.
setPreferredSize(new Dimension( 450, 190 ));
add( myToolBar, BorderLayout.PAGE_START );
add( scrollPane, BorderLayout.CENTER );
myTextArea.setText( packageData( myProduct, myOfficeSupplies, counter ) );
setCounter( counter );
} // End Constructor
protected void addButtons( JToolBar myToolBar )
JButton myButton = null;
//first button
myButton = makeNavigationButton( FIRST, "Display first record", "First" );
myToolBar.add(myButton);
//second button
myButton = makeNavigationButton( PREVIOUS, "Display previous record", "Previous" );
myToolBar.add(myButton);
//third button
myButton = makeNavigationButton( NEXT, "Display next record", "Next" );
myToolBar.add(myButton);
} //End method addButtons
protected JButton makeNavigationButton( String actionCommand, String toolTipText, String altText )
//Create and initialize the button.
JButton myButton = new JButton();
myButton.setActionCommand( actionCommand );
myButton.setToolTipText( toolTipText );
myButton.addActionListener( this );
myButton.setText( altText );
return myButton;
} // End makeNavigationButton method
public void actionPerformed( ActionEvent e )
String cmd = e.getActionCommand();
// Handle each button.
if (FIRST.equals(cmd))
{ // first button clicked
int counter = 0;
setCounter( counter );
else if (PREVIOUS.equals(cmd))
{ // second button clicked
counter = getCounter();
if ( counter == 0 )
counter = 5; // 5 would be replaced with variable maxNumber
setCounter( counter );
else
counter = getCounter() - 1;
setCounter( counter );
else if (NEXT.equals(cmd))
{ // third button clicked
counter = getCounter();
if ( counter == 5 ) // 5 would be replaced with variable maxNumber
counter = 0;
setCounter( counter );
else
counter = getCounter() + 1;
setCounter( counter );
displayResult( counter );
} // End method actionPerformed
private int counter;
public void setCounter( int number ) // Declare setCounter method
counter = number; // stores the counter
} // End setCounter method
public int getCounter() // Declares getCounter method
return counter;
} // End method getCounter
protected void displayResult( int counter )
//Test statement
// myTextArea.setText( String.format( "%d", counter ) );
// How can I carry the myProduct and myOfficeSupplies variables into this method?
myTextArea.setText( packageData( product, officeSupplies, counter ) );
myTextArea.setCaretPosition(myTextArea.getDocument().getLength());
} // End method displayResult
* Create the GUI and show it. For thread safety,
* this method should be invoked from the
* event dispatch thread.
public void createAndShowGUI( Product myProduct, OfficeSupplies myOfficeSupplies, int maxNumber )
//Create and set up the window.
JFrame frame = new JFrame("Products");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Add content to the window.
frame.add(new Panel( myProduct, myOfficeSupplies, maxNumber ));
//Display the window.
frame.pack();
frame.setVisible( true );
} // End method createAndShowGUI
public void displayData( Product myProduct, OfficeSupplies myOfficeSupplies, int maxNumber )
JTextArea myTextArea = new JTextArea(); // textarea to display output
JFrame JFrame = new JFrame( "Products" );
// For loop to display data array in a single Window
for ( int counter = 0; counter < maxNumber; counter++ ) // Loop for displaying each product
myTextArea.append( packageData( myProduct, myOfficeSupplies, counter ) + "\n\n" );
JFrame.add( myTextArea ); // add textarea to JFrame
} // End For Loop
JScrollPane scrollPane = new JScrollPane( myTextArea ); //Creates the JScrollPane
JFrame.setPreferredSize(new Dimension(350, 170)); // Sets the pane size
JFrame.add(scrollPane, BorderLayout.CENTER); // adds scrollpane to JFrame
JFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); // Sets program to exit on close
JFrame.setSize( 350, 170 ); // set frame size
JFrame.setVisible( true ); // display frame
} // End method displayData
public String packageData( Product myProduct, OfficeSupplies myOfficeSupplies, int counter ) // Method for formatting output
return String.format( "%s: %d\n%s: %s\n%s: %s\n%s: %s\n%s: $%.2f\n%s: $%.2f\n%s: $%.2f\n%s: $%.2f",
"Product Number", myOfficeSupplies.getProductNumber( counter ),
"Product Name", myOfficeSupplies.getProductName( counter ),
"Product Brand",myProduct.getProductBrand( counter ),
"Number of Units in stock", myOfficeSupplies.getNumberUnits( counter ),
"Price per Unit", myOfficeSupplies.getUnitPrice( counter ),
"Total Value of Item in Stock is", myOfficeSupplies.getProductValue( counter ),
"Restock charge for this product is", myProduct.restockingFee( myOfficeSupplies.getProductValue( counter ) ),
"Total Value of Inventory plus restocking fee", myOfficeSupplies.getProductValue( counter )+
myProduct.restockingFee( myOfficeSupplies.getProductValue( counter ) ) );
} // end method packageData
} //End Class Panelmultarnc wrote:
My instructor has not been very forthcoming with assistance to her students leaving us to figure it out on our own.Aren't they all the same! Makes one wonder why they are called instructors. <sarcasm/>
Of course it's highly likely that enough information was imparted for any sincere, reasonably intelligent student to actually figure it out, and learn the subject in the process.
And if everything were spoonfed, how would one grade the performance of the students? Have them recite from memory
public class HelloWorld left-brace
indent public static void main left-parenthesis String left-bracket right-bracket args right-parenthesis left-brace
And everywhere that Mary went
The lamb was sure to go
db -
Using a variable inside another variable
I'm trying to use one two variable in a package with one variable feeding its value to another variable as follows:
Variable 1 = Count
Variable 2 = File_Name
Variable 1 counts up from 1;I would like to use this value as an input to Variable 2 as follows:
SELECT LOAD_FILENAME FROM DIMSTATS_FILENAME WHERE (SELECT ROW_NUMBER() OVER (Order by FILE_ID) AS RN FROM DIMSTATS_FILENAME) = #DIMSTATS_TEST.count.
How ever I am getting the following Error :
+ODI-1228: Task File_Name (Variable) fails on the target connection DDBSTAGE.
Caused By: java.sql.SQLException: [FMWGEN][SQLServer JDBC Driver][SQLServer]The multi-part identifier "#DIMSTATS_TEST.count" could not be bound.+
I have also noticed that the value of Variable 1 is not being passed to the Select statement above through SQLServer Profiler. If I hard-code the value of #DIMSTATS_TEST.count (Variable1) the query is successful.
How can I get the value of Variable 1 to be passed to Variable 2?
Could someone please help
ThanksYou did not mentioned how you are using those variable .
You need to have these variable inside a package .
It will be like
Variable 1 (Refresh) -------OK-------->Variable 2(Refresh) ------------OK-----> Some other operation .
Thanks,
Sutirtha -
How to pass a shell variable to rman scripts
I want to backup datafile to different directory
depending on the current time,and I can do this to
pass a shell variable to rman scripts,and this
variable will used as part of format ,like this:
backup incremental level=0
tag rman_inc0_bck
filesperset 5
format '$(DIR)/rman_fulldb_%u_%s_%p_%d'
(database include current controlfile)
and $(DIR) is shell variable ,but rman will not
recognize this ,how to achieve this?You could send your script to rman thru a pipe | or <<
echo "backup incremental level=0
tag rman_inc0_bck
filesperset 5
format '$(DIR)/rman_fulldb_%u_%s_%p_%d'
(database include current controlfile);" | rman target /You could also create a "temp script" and then use it from rman with cmdfile
sed "s,XXXDIR,$(DIR)," yourtemplate > /tmp/rmanscript.$$
rman target / cmdfile /tmp/rmanscript.$$
rm /tmp/rmanscript.$$ -
How to pass Applet form variables without showing it on top ?
I am running one applet with some form variables. After submit I want to pass those to .asp file to store into database.
If I use URL method then all are getting displayed on URL location of browser which I do not want. I want to pass many form variables to another .asp file, so it may not be good also.
What is the best way of doing it ? Need urgent help about it.Well If you create a POST request instead as a GET request the variables will not show up in the URL.
On tips how to do that you can either check out this thread:
http://forums.java.sun.com/thread.jsp?forum=31&thread=56388
or one of these:
http://search.java.sun.com/Search/java?qt=applet+GET+POST+variables&col=javafrm&rf=0
Sjur -
Want to pass Applet form variables without showing it on URL Location
I am running one applet with some form variables. After submit I want to pass those to .asp file to store into database.
If I use URL method then all are getting displayed on URL location of browser which I do not want. I want to pass many form variables to another .asp file, so it may not be good also.
What is the best way of doing it ? Need urgent help about it.I tried following code using URL Connection Object, Code is running fine in IE and Appletviewer, but not running in Netscape.
Following is the code:
There is an applet with form. After Submit button, The form variables will be send to ASP script where I am storing it into database. In Netscape the server connection is made (blank record is getting created) but data is not passed.
public void actionPerformed(ActionEvent event) {
try{
ByteArrayOutputStream byteStream = new ByteArrayOutputStream(512);
PrintWriter out = new PrintWriter(byteStream, true);
String postData = "firstName=manisha";
out.print(postData);
out.flush();
URL dataURL = new URL("http://manisha/appletexamples/confirm-px.asp");
URLConnection connection = dataURL.openConnection();
connection.setUseCaches(false);
connection.setDoOutput(true);
String lengthString = String.valueOf(byteStream.size());
connection.setRequestProperty ("Content-Length", lengthString);
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
byteStream.writeTo(connection.getOutputStream());
BufferedReader in =
new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while((line = in.readLine()) != null) {
System.out.println("line: " + line);
} //while
in.close();
} //try
catch(Exception e){}//catch
}//action performed
My ASP Code
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open("DATABASE=phptestdb;DSN=phptestdsn")
%>
<HTML>
<HEAD>
<TITLE> A Sample Program </TITLE>
</HEAD>
<BODY>
<%DIM fname
fname = ""
fname = Request("firstName")
response.write ("fname : " & fname)
qrystr1 = "insert into applettesttable (fname) values ('" & fname & "')"
conn.Execute qrystr1
conn.Close
Set conn = Nothing
%>
</BODY>
</HTML> -
Passing ICM peripheral variables from Agent to IVR
Hello,
I need to know if this is possible since i can't manage to make it work.
The call-flow is :
VG->CVP->ICM->Agent
While the call is in the ICM script , i saved the ICM peripheral variable 4 as the language the customer chooses at the beginning of the call.
I pass this variable to the Agent (we are using CAD 8.5) and i can see it in the Agent Layout.
What i need now is to give the Agent the ability to send the call back to any IVR menu (already managed to make that works using single step transfer)
with the ability to pass the peripheral variable 4 to script so that i can use it as the locale instaed of letting the customer chooses the language again.
Is this possible ?
AmerDavid ,
Here is the assigment from the script for the local to ICM peripheral variable 4
Then when the call arrived to the agent , i can see the ICM peripheral variable 4 as the value of the language (correctly)
when i use a task (single step transfer) to another script , at the begining i assign the call.user.microapp.locale to PV4 and then i try to play wav file (failure)
see below -
How do I enable Data Management if Passing an extra variable to PHP script?
Im trying to use dynamic SQL tables on my PHP server so I need to pass the table name to the PHP script. I don't understand why the Data Management system that sets up CRUD won't allow this extra parameter. It says it can only have one input: item. I can get all records, but when I try to create, update, or delete I get an error.
Or is there another way I can pass the tablename variable to the php file before I call any functions?
Thanks!I use it but does not work for me.
It does not integrates.
You can tag on url value pairs onto your php function call such as:
http://www.yourpath.php?tablename=tablenamesears
You can then extract tablename, by using get in your php script:
$tn = $_GET['tablename'];
This $tn can be used anywhere in your php script as a dynamic value for table targeting.
You can pass as many value pairs as you wish, every preceding pair must be in the form:
http://www.yourpath.php?tablename=tablename&action=update&author=admin
Hope it helps -
Scripting - Passing and Enterprise variable from script to script
Hello all,
We are using UCCX 7.0_SR5
I am looking to be able to pass a captured variable from one script to another.
We use a message in queue where a caller waiting in queue can choose to leave a message and then that message is queued back into the sytem for the next available agent. When that agent recieves the message in queue they basically call back out to the customer leaving the message.
We capture a variable in the first script when they decide to leave a message. The variable holds the call back number that they enter into the system. There is a second script that presents these message in queue calls to the agents. We would like to pass that variable that holds the number enterend by the customer to the second script so that that number appears on CAD in the enterprise data fields. The reason behind this is so the agent has a number to call back in the event they don't reach anyone when the system calls back out and the message left by the customer does not contain a call back number.
How can I pass that variable from one script to another so it can be presented in CAD for the agents?
Thanks for any help and let me know if you need any further information.You would use a "Get Call Contact Info" step to set your callerID variable, where the "Calling Number" attribute is set to your callerID variable.
-
How to get value od one variable baesd on another variable
Hi Gurus,
Is this thing possible?My problem is i have one variable on "0calmonth2" based on this variable i want to populated the values in another object (0calquarter).i.e.
If i select " Jan or Feb or Mar" it should populate 1 in 0calquarter similarly, for other monthHello Deepak
Try a function module like this:
FUNCTION Z_YOUR_FM.
""Interfase local
*" IMPORTING
*" VALUE(I_AREA) TYPE UPC_Y_AREA
*" VALUE(I_VARIABLE) TYPE UPC_Y_VARIABLE
*" VALUE(I_CHANM) TYPE UPC_Y_CHANM OPTIONAL
*" VALUE(ITO_CHANM) TYPE UPC_YTO_CHA
*" EXPORTING
*" REFERENCE(ETO_CHARSEL) TYPE UPC_YTO_CHARSEL
*" EXCEPTIONS
*" FAILED
clear export table
CLEAR eto_charsel.
data: i TYPE i value 1,
ls_charsel TYPE upc_ys_charsel,
l_periv type periv value 'K1',
l_calmonth2 type UMC_Y_ICHAVAL,
l_buffer_call TYPE boole-boole VALUE ' ',
l_subrc LIKE sy-subrc,
ls_return LIKE bapiret2,
l_type LIKE upc_var-vartype,
lto_varsel_all TYPE upc_yto_charsel,
lto_varsel TYPE upc_yto_charsel,
lto_chanm TYPE upc_yto_cha,
wa_varsel like line of lto_varsel,
l_quarter(1),
l_quarterc(5).
Read value of CALMONTH2 variable
CALL FUNCTION 'Z_VARIABLE_GET_DETAIL'
EXPORTING
i_area = <YOUR PLANNING AREA>
i_variable = <YOUR CALMONTH2 VARIABLE>
i_buffer = l_buffer_call
IMPORTING
e_subrc = l_subrc
es_return = ls_return
e_type = l_type
eto_varsel_all = lto_varsel_all
eto_varsel = lto_varsel
eto_chanm = lto_chanm.
IF l_subrc eq 0.
loop at lto_varsel into wa_varsel.
move wa_varsel-low to l_calmonth2.
endloop.
ENDIF.
calculate quarter
CASE l_calmonth2.
WHEN '01' OR '02' OR '03'.
l_quarter = '1'.
WHEN '04' OR '05' OR '06'.
l_quarter = '2'.
WHEN '07' OR '08' OR '09'.
l_quarter = '3'.
WHEN '10' OR '11' OR '12'.
l_quarter = '4'.
ENDCASE.
passing QUARTER to variable value
CLEAR ls_charsel.
ls_charsel-CHANM = I_CHANM.
ls_charsel-SEQNO = i.
ls_charsel-sign = 'I'.
ls_charsel-opt = 'EQ'.
ls_charsel-low = l_quarter.
INSERT ls_charsel INTO TABLE eto_charsel.
add 1 to i.
ENDFUNCTION.
Hope this helps...
regards,
Ibrahim. -
Passing the sh variable value to input of to Pl/SQL Procedure
Hi All,
My doubt is how can I pass the sh variable (.i.e file name stored in sh variable called($F)) as a input of below mention procedure (YODEL_XL_INS_SDG_COMMER_PROD)
for F in *.dat; do
echo $F
#sqlldr apps/apps control=$CONTROL data=$F
# Below Part is used for Add the file name into table
cat $CONTROL| sed "s/:FILE/$F/g" > $F.ctl
sqlldr apps/apps control=$F.ctl log=$F.log bad=$F.bad discard=$DISCARD data=$F
sqlplus -s apps/apps << EOF
spool Yodel_xl_om_inven_items_pkg.txt
set serveroutput on;
DECLARE
X_Error_Code VARCHAR2(1000);
X_Error_Message VARCHAR2(1000);
X_Status VARCHAR2(1000);
BEGIN
YODEL_XL_INS_SDG_COMMER_PROD($F,'SDG',X_Status,X_Error_Code,X_Error_Message);
END;
SHOW ERRORS;
spool off;
exit
EOFDG_COMMER_PROD($F,'SDG',X_Status,X_Error_Code,X_Error_Message);
If i'm passing directly then getting below error.
YODEL_XL_INS_SDG_COMMER_PROD(SDG_Testing_produsts3.dat,'SDG',X_Status,X_Error_Code,X_Error_Message);
ERROR at line 8:
ORA-06550: line 8, column 66:
PLS-00201: identifier 'SDG_Testing_produsts3.dat' must be declared
ORA-06550: line 8, column 2:
PL/SQL: Statement ignored
No errors.
Could you please help me to resolve this.
Edited by: user9077611 on 30-Aug-2012 10:11user9077611 wrote:
Hi All,
My doubt is how can I pass the sh variable (.i.e file name stored in sh variable called($F)) as a input of below mention procedure (YODEL_XL_INS_SDG_COMMER_PROD)
for F in *.dat; do
echo $F
#sqlldr apps/apps control=$CONTROL data=$F
# Below Part is used for Add the file name into table
cat $CONTROL| sed "s/:FILE/$F/g" > $F.ctl
sqlldr apps/apps control=$F.ctl log=$F.log bad=$F.bad discard=$DISCARD data=$F
sqlplus -s apps/apps << EOF
spool Yodel_xl_om_inven_items_pkg.txt
set serveroutput on;
DECLARE
X_Error_Code VARCHAR2(1000);
X_Error_Message VARCHAR2(1000);
X_Status VARCHAR2(1000);
BEGIN
YODEL_XL_INS_SDG_COMMER_PROD($F,'SDG',X_Status,X_Error_Code,X_Error_Message);
END;
SHOW ERRORS;
spool off;
exit
EOFDG_COMMER_PROD($F,'SDG',X_Status,X_Error_Code,X_Error_Message);
If i'm passing directly then getting below error.
YODEL_XL_INS_SDG_COMMER_PROD(SDG_Testing_produsts3.dat,'SDG',X_Status,X_Error_Code,X_Error_Message);
ERROR at line 8:
ORA-06550: line 8, column 66:
PLS-00201: identifier 'SDG_Testing_produsts3.dat' must be declared
ORA-06550: line 8, column 2:
PL/SQL: Statement ignored
No errors.
Could you please help me to resolve this.
Edited by: user9077611 on 30-Aug-2012 10:11You know that strings should be enclosed in single quote marks.
Right? -
How to use one variable as a default value for another variable?
Hi Experts,
Is it possible to use one variable as a default value for another variable?
For example:
Variable 1 = current calendar year month
Variable 2 = mandatory input ready variable for calendar year month
I want to use variable 1 as default value for variable 2, but also have the ability to change the month if required.
Thanks!
Kathrynu can use replacement path variable
in that case u can replace the values of 1 variable with the another variable...
but u cannot do this setting
u cannot make variable 2 as mandatory
u cannot enter value for variable 2
because by default it will take the value of variable 1
u have to make follow settings
variable 2
name , technical name
processing by = replacement path
infoobject = ocalmonth
next tab
replaced by another variable
variable name
offset start , offset lenght
save and hit okey -
Replacement Path Variable with Another Variable
Hi,
I am currently trying to create a report that would need me to have the same values for different characteristics (e.g. clearing date, posting date, net due date). I have seen that there is a way in the replacement path variable that would replace its value with another variable that is ready for input. I also looked into SAP help but I can't seem to figure out on how to do it specifically. Does anyone know a step-by-step process on how to do this? How does this work?
Thank you in advance!take an e.g.
u have characteristic say ch1
u want to restrict it with replacement path variable
first of all create a variable var1
click what it is based upon for e.g. 0calday, 0material etc.
make it user entry variable
select single or multiple entry
make it mandatory
save it and hit okey
click on ch1
right click and say restrict
in new window create a new variable
give its name and technical name
processing path is replacement path
go to next tab of replacement path
select several ooptions
replace variable with another variable
select a variable called var1
change the offset length and offset start with different parameters.
hit okey
this way u have restricted ch1 with replacement path variable var1
now when u run report u have to enter value of var1
which will then further feeded to ch1
this way u can create replacement path variables at lots of instances and then u can always feed the value from var1 at different time
make sure as this ur requirement is date
try to use 0calday as reference infoobject all the times.... -
How to use the value of a variable to set another variable
Hello Experts,
Is it possible to access the value of variable set by the user and set the default value of another variable using the user entered value for the first variable? Example:
Date variable
Week variable
Month variable
User enters one of those and the other two are automatically prefilled with the correct values?
Thanks
RadoHi Rado,
Gothrough following code
Which reads year from user input and converts it to factory calendar week , following which you should able to convert user inputs to required parameters.
DATA: v_year1 TYPE i,
v_int TYPE i,
v_week1 TYPE kweek,
v_qurt TYPE i,
v_perd TYPE /bi0/oifiscper,
v_iweek TYPE i,
v_periv TYPE periv VALUE 'Z4'.
DATA : v_vweeks TYPE /bi0/oicalweek,
v_vperd TYPE /bi0/oifiscper,
v_vperiv TYPE /bi0/oifiscvarnt VALUE 'Z4'.
DATA : vit_weeks LIKE /bi0/scalweek OCCURS 0 WITH HEADER LINE.
DATA : v_perd1 TYPE umc_y_fiscper,
v_weeks TYPE umc_ys_dimvals,
v_pweeks TYPE i.
CASE i_vnam.
WHEN 'WPIYWEEK'. "Variable name of char. in Bex
*Check for Step 2 (After user gives inputs on selection screen)
CHECK i_step = c_after. "Step:2
CLEAR : v_year1,
v_week1,
v_iweek.
*Read the value of variable which used has entered on sel. screen
READ TABLE i_t_var_range INTO wa_var_range
WITH KEY vnam = 'WPIFYEAR'.
v_year1 = wa_var_range-low.
CALL FUNCTION 'TIME_GET_LAST_WEEK'
EXPORTING
if_year = v_year1
IMPORTING
ef_week = v_week1
EXCEPTIONS
fatal_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*Get the no. of week from YYYYWW format
v_iweek = v_week1+4(2).
l_s_range-low = v_iweek.
l_s_range-sign = c_include.
l_s_range-opt = c_equal.
APPEND l_s_range TO e_t_range. "This is the output structure in which u have to add the result
Endcase.
Hope that helps.
Regards
Mr Kapadia
Assigning points is the way to say thanks in SDN.
Maybe you are looking for
-
My iPod Touch (release 5.1.1) refuses to sync with my iMac (release 10.7.4).. I have reset the iPod, Restored the iPod, plugged in into the iMac numberous times, told it to sync from both iTunes and from the iPod but it always refuses to sync and
-
Error while loading text data from R3 to BW
Hi, After mapping my DataSource created in R/3 system to my Infosource, I was taken to the maintenance screen of the transfer structure. I proposed the transfer rules. But my traffic signal of my transfer rule is not turning green. If I continue to a
-
Itunes crashes when i connect my IPOD 5G i Windows XP
Today I added a lot off songs&lists inside my IPOD with Itunes 7.02, I taked off correctly my ipod from security taking off and the songs and songs list where ok in my IPOD. After that I wante to put more songs list but i connected Ipod and Itunes di
-
How do I get DW8 it to depoy .js files to testing server
I'm using dw8 and I set up a testing server, how do I get it to depoy .js files there automatically without having to use windows explorer
-
MobileMe uploads of photos are not of good quality.
When I upload images from Aperture 3 to MobileMe Gallery the image quality is poor, yet the pictures I have are awesome. How can I improve the quality of images posted to my MobileMe Gallery?