Programmatically creating a Rendezvous : missing variable in Result container
Hi everybody,
For my tests purpose, I need to programmatically create a sequence. In this sequence, I need to insert Rendezvous steps.
Everything works fine when creating them, but when I execute the sequence / steps created this error always show up for rendezvous step :
Unknown variable 'TimeoutOccured' ; Error accessing item 'Result.TimeoutOccured'
According to the TS help, this variable should be created when I configure the step for the rendezvous operation. Drag and dropping the step from the TS insertion palette works fine, and the variable is created when chosing the operation 'rendezvous'. But when doing the same thing through programmation, the variable is not created.
Here are the steps executed to create the RDV step :
I create a new step using method Engine.NewStep
I set the step name using Step.Name
I set the rendezvous properties using a statement (Parameters.BranchesRendezVous.RDVStep is the variable holding the the step reference) :
Parameters.BranchesRendezVous.RDVStep.AsStep.Operation = 1, //A value that specifies the operation for the step to perform. The valid values are 0 = Create, 1 = Rendezvous, and 2 = Get Status
Parameters.BranchesRendezVous.RDVStep.AsStep.NameOrRefExpr = Parameters.BranchesRendezVous.RefName, //Contains the Rendezvous Name expression for the Create operation and the Rendezvous Name or Reference expression for all other Rendezvous operations
Parameters.BranchesRendezVous.RDVStep.AsStep.TimeoutEnabled = False, //The Timeout Enabled setting for the Rendezvous operation
Parameters.BranchesRendezVous.RDVStep.AsStep.ErrorOnTimeout = True, //The Timeout Causes Run-Time Error setting for the Rendezvous operation
Parameters.BranchesRendezVous.RDVStep.AsStep.RendezvousCountExpr = Parameters.NbBranches, //The Number of Threads Per Rendezvous expression for the Create operation
Parameters.BranchesRendezVous.RDVStep.AsStep.Lifetime = 3, //A value that specifies the Lifetime setting to use for the Create operation. The valid values are 0 = Same as Sequence, 1 = Same as Thread, 2 = Use Object Reference, and 3 = Same as Execution
4. Then I insert the step in my current sequence using method Sequence.InsertStep
Everything works fine, the rendezvous step is perfectly created and all properties are set finely. However, the variable TimeouOccured is missing in the Step.Result container (TS help says that this propoerty exists when the step is configured as a rendezvous operation (cf. Operation = 1)).
Am I doing something wrong somewhere ? Why is this variable missing ?
Solved!
Go to Solution.
Hi Doug,
TS help says that this property exists when the step is configured as a rendezvous operation (cf. Operation = 1)... So shouldn't it be created when I create / insert the step ?
I find it very weired to add a subproperty to a StepType, in the Result container...
Similar Messages
-
Data Logging a programmatically created shared variable of cluster or array datatype into citadel DB
Hi,
Is there a way to log a programmatically created shared variable of cluster or array datatype into citadel DB?
I have attempted to programmatically create a shared variable of type 'double' and was able to successfully log the same into Citadel DB. In the attachment, Please refer to the attached project SV_TC.lvproj and specifically to SV_W.vi for the code that i have used (W.png file shows the dB in MAX and shared variable in NI Distributed System Manager)
However when i tried the same approach to create a shared variable 'array of double', i noticed that traces are not getting created and hence data logging isn't happening into the Citadel DB. I was however able to write and read the shared variable array without issues. The same is true with cluster datatype also. Please refer to SN_NW.vi for the code that i have used - only difference from SV_W.vi is that i have tried to create a shared variable of type 'array of double'
One observation is that if i create an 'array of double' or cluster in a shared variable library using the project explorer and deploy, i could see that these being logged into Citadel DB.
Hence i want to understand what could be done to achieve the same programmatically? Could you please advice?
Regards,
Sridhar
Attachments:
SV_TC.zip 3925 KBWhy is the transaction happening over remote?
Because we need the information to be on our database immediately when they submit it.
I don't know anything about streams or replication.....
The web database is run by the company that hosts our web site. We use PL/SQL to show the pages and output the html. It fetches the data the customer is requesting from our database, but I'm struggling to get the best way to insert into our database from there. -
How can I programmatically create and use a global variable?
I have an app where the number of AI DAQmx tasks I create are specified in a config file. I have a monitor task that periodically looks at the latest values from all DAQ tasks. I've been doing this with a set of global variables because it was the simplest way to do it. But to do this, I have to explicitly create a separate AI task that uses the hard-coded global variable name for the DAQmx samples. I would prefer to only write one VI for the DAQ loop that writes to a global variable that I programmatically create based on the config file. The only solution I can think of is to use a global variable "pool" that is sized bigger than I expect to need, and then have a big switch case to select which one I want based on the task index. But this sounds pretty silly.
I tend to agree with Ben. I don't buy the concept of taking the asy way out (globals) because it very rarely will things remain static. You almost always have to extend the features and functionality of an application and then you will run into issues with sloppy and lazy implementations. The solutions offered may require a little time to learn but once you do it doesn't really require any extra effort.
Mark Yedinak
"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot -
Posting Document not created (export data missing)
We are working on ECC 6.0 and during creation of Cancellation Billing document type IVS for the Intercompany billing, the document did not create Accounting document giving the Posting status as G - Posting document not created (export data missing). However checked the Foreign trade data and the system states that Foreign trade is complete.
Can any one suggest the solution for this?
Thanks.Hello Mohammad,
About this issue, the incompletion of this cancellation document
arises might because the reference delivery has been archived/deleted.
This is likely due to your current copy control settings (VTFL).
If you have set ' ', in the export determination field this means that
there is a common 'exnum' key between the delivery and billing documents
LIKP-EXNUM & VBRK-EXNUM are the same.
The result of deleting the delivery is that you also delete the FT data
for the delivery, Because the billing document and delivery share the
same foreign trade table entries, you have in effect deleted the FT data
of the billing document too. This would most likely go unnoticed but if
you then cancel the invoice the system has no FT to copy into the new
cancellation billing document, which leads to this issue.
Firstly you should set the export determination flag in the copy control
of the delivery & billing documents. This will avoid this issue in the
future. Set it to to 'A' or 'B' depending on your requirements.
For the incomplete cancellation billing document, you could use userexit to
set it as complete:
You can use transaction CMOD.
Create a project for example FT project button create short text: ....
drop button Enhancement assignment & save use for example local object.
Use the F4-help for Enhancement and look for V50EPROP.
Drop button Components:
here you will find EXIT_SAPLV50E_005 and EXIT_SAPLV50E_006
In the userexits doubleclick on the includes ZXV50U05 and ZXV50U06
The coding in the userexits should be: C_COMPLETE = 'X'.
Afterwards activate generate ... and save.
The development class is VEI.
Please also check note 118573 which explains the FT user exits.
Regards,
Alex -
How do I programmatically create and save an empty project?
I can programmatically create an empty project, but when I drop an
invoke node on the project, select "Save", and wire in the desired
path, it results in an "Error 1". I am getting the error on the "Save"
invoke node (An input parameter is invalid.) The only input is the
path, which is correct. What am I doing wrong? Also, how can I
specify a name for the project?
GregI think the problem is that you use the current path and strip off the path the current VI's name. This leaves you with a path that has no filename to save it to. Put in a build path after it where you build in a project name with a .lvproj extension. When I did that, the error went away.
Message Edited by Ravens Fan on 08-08-2007 11:36 PM
Attachments:
Create%20and%20Save%20New%20Project[1].png 4 KB -
BPEL Process returns "empty variable/expression result."
Hi,
I have an Asynchronous BPEL Process which uses a DB Adapter (which in turn uses a custom SQL Procedure) to insert a value in to a table and return a sequence value generated in the procedure back to the BPEL Process. The process inserts the value in to the table but the sequence is not returned back and i get the below error,
<selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
<part name="summary">
<summary>
empty variable/expression result.
xpath variable/expression expression "/ns2:OutputParameters/ns2:X_NO" is empty at line 94, when attempting reading/copying it.
Please make sure the variable/expression result "/ns2:OutputParameters/ns2:X_NO" is not empty.
</summary>
</part>
</selectionFailure>
If i see the process flow the invoke activity shows the sequence value is returned from the procedure but when the invoke activity passes that value to the Assign activity its lost and the above error is displayed.
The details i see in Invoke activity is below,
<messages>
<Invoke_1_DBProcWrite_InputVariable>
<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="InputParameters">
<InputParameters
xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/SUR_NEW_BPEL_PROC/">
<P_NAME>Vivek</P_NAME>
</InputParameters>
</part>
</Invoke_1_DBProcWrite_InputVariable>
<Invoke_1_DBProcWrite_OutputVariable>
<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="OutputParameters">
<db:OutputParameters xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:db="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/SUR_NEW_BPEL_PROC/">
<X_NO>9</X_NO>
</db:OutputParameters>
</part>
<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
name="response-headers">[]</part>
</Invoke_1_DBProcWrite_OutputVariable>
</messages>
I use Jdeveloper version 10.1.3.3.0.4157. I did not recieve this error in Jdeveloper 10.1.3.1.
Please let me know how to resolve this issue.
Regards, SureshI have exactly the same problem!!!! I would appreciate someone from Product or other to explain why I can see the incoming variable being created but when XPath expression is attempted to extract a value so I can do an assignment I get a "empty variable/expression result".
Using JDEV10.1.3.3 and SOA 10.1.3.3 advanced install. My process is receiving a R12 Business Event listed here:
<?xml version="1.0" encoding="UTF-8" ?>
- <WF_EVENT_T xmlns="http://xmlns.oracle.com/xdb/APPS/BES_EVENT/BES_EVENT">
<PRIORITY xmlns="">50</PRIORITY>
<SEND_DATE xmlns="">2008-04-30T13:40:33.000-05:00</SEND_DATE>
<RECEIVE_DATE xmlns="">2008-04-30T13:40:40.000-05:00</RECEIVE_DATE>
<CORRELATION_ID xmlns="" />
- <PARAMETER_LIST xmlns="">
- <PARAMETER_LIST_ITEM>
<NAME>BO_ID</NAME>
<VALUE>123456</VALUE>
</PARAMETER_LIST_ITEM>
- <PARAMETER_LIST_ITEM>
<NAME>#CURRENT_PHASE</NAME>
<VALUE>201</VALUE>
</PARAMETER_LIST_ITEM>
</PARAMETER_LIST>
<EVENT_NAME xmlns="">oracle.apps.ar.hz.PersonBO.create</EVENT_NAME>
<EVENT_KEY xmlns="">777666</EVENT_KEY>
<EVENT_DATA xmlns="" />
- <FROM_AGENT xmlns="">
<NAME>WF_BPEL_QAGENT</NAME>
<SYSTEM>VIS12.US.ORACLE.COM</SYSTEM>
</FROM_AGENT>
<TO_AGENT xmlns="" />
<ERROR_SUBSCRIPTION xmlns="">TBo0FQQPy6ngQKjAuQAXWA==</ERROR_SUBSCRIPTION>
<ERROR_MESSAGE xmlns="" />
<ERROR_STACK xmlns="" />
</WF_EVENT_T> -
Re:- XMII is there a way todynamically create local or transaction variable
Dear all,
Is there a way to create local or transaction variable dynamically inside the BLS transactions.
I have a scenario where in i am reading the XMl document and based on the number of node (sub node ) items i need to temporary save those values into transaction variable . I want to use these saved transaction variable tvalues o later insert into databaseAfter reading your second post, I wonder why you want to temporarily store the separate values from the XML node in a local property.
If you already have all values available in a XML, than it would be easier to process the XML directly in MII, as that is what MII does best. MII can directly access the node values and use it as input for your databse inserts. Using a repeater action, you can process 0 to n nodes. Use XPath to transfer the node values to the query parameters.
Is this the option you are looking for, or do I miss something?
Michael -
Error: empty variable/expression result
Hi ,
I am following the examples and initiating a bpel process(not the process given in the examples) through java. But when I execute the java code, I get the following error:
com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.
xmlsoap.org/ws/2003/03/business-process/}selectionFailure}
messageType: {null}
parts: {{summary=<summary>empty variable/expression result.
xpath variable/expression expression "/client:helloProcessRequest/client:name" i
s empty at line 30, when attempting reading/copying it.
Please make sure the variable/expression result "/client:helloProcessRequest/cli
ent:name" is not empty.
</summary>}}
com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is null. Please check the process instance for detail.
I am sending the variable in the string with the following code:
String xml = "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"><SOAP-ENV:Body><m:helloProcessRequest xmlns:m=\"http://xmlns.oracle.com/hello\"><m:name>revanth</m:name></m:helloProcessRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>";
Locator locator = new Locator("default","bpel",props);
IDeliveryService deliveryService = (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME );
// construct the normalized message and send to collaxa server
NormalizedMessage nm = new NormalizedMessage( );
nm.addPart("payload", xml );
NormalizedMessage res = deliveryService.request("hello", "process", nm);
Map payload = res.getPayload();
Can anybody please tell me what is missing here?
Appreciate your help.
Thank you,
RevanthGot it. Was sending the wrong string. Needed to send only the varaible and not the soap envelope. just for information, i had to send this string:
String xml = "<m:helloProcessRequest xmlns:m=\"http://xmlns.oracle.com/hello\"><m:name>revanth</m:name></m:helloProcessRequest>";
Sorry for any trouble.
Rev -
Programmatically create array from common cluster items inside array of clusters
I have seen many questions and responses on dealing with arrays of clusters, but none that discuss quite what I am looking for. I am trying to programmatically create an array from common cluster items inside array of clusters. I have a working solution but looking for a cleaner approach. I have an array of clusters representing channels of data. Each cluster contains a mixture of control data types, i.e.. names, types, range, values, units, etc. The entire cluster is a typedef made up of other typedefs such as the type, range and units and native controls like numeric and boolean. One array is a “block” or module. One cluster is a channel of data. I wrote a small vi to extract all the data with the same units and “pipe” them into another array so that I can process all the data from all the channels of the same units together. It consists of a loop to iterate through the array, in which there is an unbundle by name and a case structure with a case for each unit. Within a specific case, there is a build array for that unit and all the other non-relevant shift registers pass through. As you can see from the attached snapshots, the effort to add an additional unit grows as each non-relevant case must be wired through. It is important to note that there is no default case. My question: Is there a cleaner, more efficient and elegant way to do this?
Thanks in advance!
Solved!
Go to Solution.
Attachments:
NI_Chan units to array_1.png 35 KB
NI_Chan units to array_2.png 50 KBnathand wrote:
Your comments made me curious, so I put together a quick test. Maybe there's an error in the code (below as a snippet, and attached as a VI) or maybe it's been fixed in LabVIEW 2013, but I'm consistently getting faster times from the IPE (2-3 ms versus 5-6ms for unbundle/index). See if you get the same results. For fun I flipped the order of the test and got the same results (this is why the snippet and the VI execute the tests in opposite order).
This seems like a poster child for using the IPES! We can look at the index array + replace subset and recognize that it is in place, but the compiler is not so clever (yet!). The bundle/unbundle is a well-known "magic pattern" so it should be roughly equivalent to the IPES, with a tiny penalty due to overhead.
Replace only the array operation with an IPES and leave the bundle/unbundle alone and I wager the times will be roughly the same as using the nested IPES. Maybe even a slight lean toward the magic pattern now if I recall correctly.
If you instantly recognize all combinations which the compiler will optimize and not optimize, or you want to exhaustively benchmark all of your code then pick and choose between the two to avoid the slight overhead. Otherwise I think the IPES looks better, at best works MUCH better, and at worst works ever-so-slightly worse. And as a not-so-gentle reminder to all: if you really care about performance at this level of detail: TURN OFF DEBUGGING! -
Create records for missing periods in transformation
I need to create some routine that creates fical periods missing with 0,00 as value in de key figure and the characteristics remain the same. It is possible to create in the transformation something like this? Should put it in the initial routine or in the end one?
Source
Company 1; Account 1; Fiscper 012009; KF 345 Eur
Company 1; Account 1; Fiscper 032009; KF 123 Eur
Company 1; Account 1; Fiscper 062009; KF 678 Eur
Company 1; Account 2; Fiscper 012009; KF 987 Eur
Final destination
Company 1; Account 1; Fiscper 01.2009; KF 345 Eur
Company 1; Account 1; Fiscper 02.2009; KF 0 Eur
Company 1; Account 1; Fiscper 03.2009; KF 123 Eur
Company 1; Account 1; Fiscper 04.2009; KF 0 Eur
Company 1; Account 1; Fiscper 05.2009; KF 0 Eur
Company 1; Account 1; Fiscper 06.2009; KF 678 Eur
Company 1; Account 1; Fiscper 07.2009; KF 0 Eur
Company 1; Account 2; Fiscper 01.2009; KF 987 Euryou are right, that's what I'm afraid of.
I already have a end routine:
PROGRAM trans_routine.
* CLASS routine DEFINITION
CLASS lcl_transform DEFINITION.
PUBLIC SECTION.
* Attributs
DATA:
p_check_master_data_exist
TYPE RSODSOCHECKONLY READ-ONLY,
*- Instance for getting request runtime attributs;
* Available information: Refer to methods of
* interface 'if_rsbk_request_admintab_view'
p_r_request
TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.
PRIVATE SECTION.
TYPE-POOLS: rsd, rstr.
* Rule specific types
TYPES:
BEGIN OF _ty_s_TG_1,
* InfoObject: ZIGCHENTI Magn_ci - Entity.
/BIC/ZIGCHENTI TYPE /BIC/OIZIGCHENTI,
* InfoObject: ZIGCHPART Magn_ci - Partner.
/BIC/ZIGCHPART TYPE /BIC/OIZIGCHPART,
* InfoObject: ZIGCHCTSH Magn_ci - CtShare.
/BIC/ZIGCHCTSH TYPE /BIC/OIZIGCHCTSH,
* InfoObject: ZIGCHCURR Magn_ci - Currency.
/BIC/ZIGCHCURR TYPE /BIC/OIZIGCHCURR,
* InfoObject: ZIGCHZONE Magn_ci - ZONE.
/BIC/ZIGCHZONE TYPE /BIC/OIZIGCHZONE,
* InfoObject: 0FISCPER Exercício / período.
FISCPER TYPE /BI0/OIFISCPER,
* InfoObject: 0FISCVARNT Variante de exercício.
FISCVARNT TYPE /BI0/OIFISCVARNT,
* InfoObject: ZIGKFCSAM Magnitude - Consolidated Amount.
/BIC/ZIGKFCSAM TYPE /BIC/OIZIGKFCSAM,
* InfoObject: 0CURRENCY Código da moeda.
CURRENCY TYPE /BI0/OICURRENCY,
* InfoObject: 0FISCYEAR Exercício.
FISCYEAR TYPE /BI0/OIFISCYEAR,
* InfoObject: 0FISCPER3 Período contábil.
FISCPER3 TYPE /BI0/OIFISCPER3,
* InfoObject: ZIGCHAINT Magn_ci - Audit ID.
/BIC/ZIGCHAINT TYPE /BIC/OIZIGCHAINT,
* InfoObject: ZIGCHFINT Magn_ci - Fluxo.
/BIC/ZIGCHFINT TYPE /BIC/OIZIGCHFINT,
* InfoObject: ZIGCHGLAC Magn_ci - Conta.
/BIC/ZIGCHGLAC TYPE /BIC/OIZIGCHGLAC,
* InfoObject: ZIGCHCINT Magn_ci - Categoria.
/BIC/ZIGCHCINT TYPE /BIC/OIZIGCHCINT,
* InfoObject: ZIGCHPINT Magnitude - Perímetro de Consolidação.
/BIC/ZIGCHPINT TYPE /BIC/OIZIGCHPINT,
* InfoObject: ZIGCHCCUR Magn_ci - Consolidation Currency.
/BIC/ZIGCHCCUR TYPE /BIC/OIZIGCHCCUR,
* InfoObject: ZIGCHVINT Magnitude - Versão de Consolidação.
/BIC/ZIGCHVINT TYPE /BIC/OIZIGCHVINT,
* InfoObject: ZIGCHPROD Magn_ci - PROD.
/BIC/ZIGCHPROD TYPE /BIC/OIZIGCHPROD,
* InfoObject: ZIGCHDEST Magn_ci - Dest.
/BIC/ZIGCHDEST TYPE /BIC/OIZIGCHDEST,
* InfoObject: ZIGKFCSAC Magn - Cons.Amount - CURR.
/BIC/ZIGKFCSAC TYPE /BIC/OIZIGKFCSAC,
* InfoObject: ZIGKFCAIP Magn - Cons.Amount - IVA - PMP.
/BIC/ZIGKFCAIP TYPE /BIC/OIZIGKFCAIP,
* InfoObject: ZIGKFCAIR Magn - Cons.Amount - IVA - PMR.
/BIC/ZIGKFCAIR TYPE /BIC/OIZIGKFCAIR,
* InfoObject: ZIGKFVLM Dados Magnitude - Valor Mensal.
/BIC/ZIGKFVLM TYPE /BIC/OIZIGKFVLM,
* Field: RECORD.
RECORD TYPE RSARECORD,
END OF _ty_s_TG_1.
TYPES:
_ty_t_TG_1 TYPE STANDARD TABLE OF _ty_s_TG_1
WITH NON-UNIQUE DEFAULT KEY.
*$*$ begin of global - insert your declaration only below this line *-*
... "insert your code here
*$*$ end of global - insert your declaration only before this line *-*
METHODS
end_routine
IMPORTING
request type rsrequest
datapackid type rsdatapid
EXPORTING
monitor type rstr_ty_t_monitors
CHANGING
RESULT_PACKAGE type _ty_t_TG_1
RAISING
cx_rsrout_abort.
METHODS
inverse_end_routine
IMPORTING
i_th_fields_outbound TYPE rstran_t_field_inv
i_r_selset_outbound TYPE REF TO cl_rsmds_set
i_is_main_selection TYPE rs_bool
i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
i_r_universe_inbound TYPE REF TO cl_rsmds_universe
CHANGING
c_th_fields_inbound TYPE rstran_t_field_inv
c_r_selset_inbound TYPE REF TO cl_rsmds_set
c_exact TYPE rs_bool.
ENDCLASS. "routine DEFINITION
*$*$ begin of 2nd part global - insert your code only below this line *
... "insert your code here
*$*$ end of 2nd part global - insert your code only before this line *
* CLASS routine IMPLEMENTATION
CLASS lcl_transform IMPLEMENTATION.
* Method end_routine
* Calculation of result package via end routine
* Note: Update of target fields depends on rule assignment in
* transformation editor. Only fields that have a rule assigned,
* are updated to the data target.
* <-> result package
METHOD end_routine.
*=== Segments ===
FIELD-SYMBOLS:
<RESULT_FIELDS> TYPE _ty_s_TG_1.
DATA:
MONITOR_REC TYPE rstmonitor.
*$*$ begin of routine - insert your code only below this line *-*
DATA: wa_result_fim type _ty_s_TG_1.
DATA: l_tabix type sy-tabix.
CLEAR wa_result_fim.
l_tabix = 0.
SORT RESULT_PACKAGE BY /BIC/ZIGCHENTI /BIC/ZIGCHAINT /BIC/ZIGCHGLAC
/BIC/ZIGCHPINT
/BIC/ZIGCHVINT FISCPER.
LOOP AT RESULT_PACKAGE assigning <RESULT_FIELDS>.
IF sy-tabix = 1.
<RESULT_FIELDS>-/BIC/ZIGKFVLM = <RESULT_FIELDS>-/BIC/ZIGKFCSAM.
ELSE.
l_tabix = sy-tabix - 1.
READ TABLE RESULT_PACKAGE INDEX l_tabix INTO wa_result_fim.
IF sy-subrc EQ 0.
IF wa_result_fim-/BIC/ZIGCHENTI =
<RESULT_FIELDS>-/BIC/ZIGCHENTI
AND wa_result_fim-/BIC/ZIGCHAINT =
<RESULT_FIELDS>-/BIC/ZIGCHAINT
AND wa_result_fim-/BIC/ZIGCHGLAC =
<RESULT_FIELDS>-/BIC/ZIGCHGLAC
AND wa_result_fim-/BIC/ZIGCHPINT =
<RESULT_FIELDS>-/BIC/ZIGCHPINT
AND wa_result_fim-/BIC/ZIGCHVINT =
<RESULT_FIELDS>-/BIC/ZIGCHVINT
AND wa_result_fim-FISCYEAR = <RESULT_FIELDS>-FISCYEAR.
Before I do this calculation I want it to validate if exist the period if not should append it with 0,00 and them do the subtraction.
<RESULT_FIELDS>-/BIC/ZIGKFVLM =
<RESULT_FIELDS>-/BIC/ZIGKFCSAM -
wa_result_fim-/BIC/ZIGKFCSAM.
ELSE.
<RESULT_FIELDS>-/BIC/ZIGKFVLM =
<RESULT_FIELDS>-/BIC/ZIGKFCSAM.
ENDIF.
ELSE.
EXIT.
ENDIF.
ENDIF.
ENDLOOP.
*-- fill table "MONITOR" with values of structure "MONITOR_REC"
*- to make monitor entries
... "to cancel the update process
* raise exception type CX_RSROUT_ABORT.
*$*$ end of routine - insert your code only before this line *-*
ENDMETHOD. "end_routine
* Method inverse_end_routine
* This subroutine needs to be implemented only for direct access
* (for better performance) and for the Report/Report Interface
* (drill through).
* The inverse routine should transform a projection and
* a selection for the target to a projection and a selection
* for the source, respectively.
* If the implementation remains empty all fields are filled and
* all values are selected.
METHOD inverse_end_routine.
*$*$ begin of inverse routine - insert your code only below this line*-*
... "insert your code here
*$*$ end of inverse routine - insert your code only before this line *-*
ENDMETHOD. "inverse_end_routine
Edited by: João Piçarra on Aug 13, 2009 12:18 PM -
Variable/expression result error
Hi,
I am trying to run a BPEL process which reads data from an EDI file, transforms it and calls the Sales Order creation API. The process is giving the following error at runtime:
<selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"><part name="summary"><summary>empty variable/expression result.
xpath variable/expression expression "ora:processXSLT('EDI2Oracle.xsl',bpws:getVariableData('ReceiveEDI850XML_Dequeue_InputVariable','Transaction-850'))" is empty at line 69, when attempting reading/copying it.
Please make sure the variable/expression result "ora:processXSLT('EDI2Oracle.xsl',bpws:getVariableData('ReceiveEDI850XML_Dequeue_InputVariable','Transaction-850'))" is not empty.
</summary>
</part></selectionFailure>
Please can anyone help me resolve this issue. Also, does any one have a concise document on how to import an EDI and create 850 Purchase Order.
Regards,
BaluHi,
can you please provide some details of the ReceiveEDI850XML_Dequeue_InputVariable?
What is the input before your transform?
What value is in this Transaction-850 parameter and what is the namespace of the Input?
Can you please check if the namespaces are set right? -
What is the best way to define this missing variable?????
I think I am almost there with this question, thanks for working with me on this: trying to make buttons go target cue points in video
I get this error code:
ReferenceError: Error #1065: Variable seek_btn is not defined.
import fl.video.*;
// Video component instance name
var flvControl:FLVPlayback = display;
var flvSource:String = "lou.flv";
// Set video
flvControl.source = flvSource;
// Add seek functionality to the button
function seekHandler(event:MouseEvent):void
flvControl.seekToNavCuePoint("lou1")
seek_btn.addEventListener(MouseEvent.CLICK, seekHandler);
seek_btn1.cuePointName = new String();
seek_btn1.cuePointName = "lou1";
seek_btn1.addEventListener(MouseEvent.CLICK, onButtonPress);
seek_btn2.cuePointName = new String();
seek_btn2.cuePointName = "lou2";
seek_btn2.addEventListener(MouseEvent.CLICK, onButtonPress);
// onButtonPress function
function onButtonPress(evt:MouseEvent):void {
flvControl.seekToNavCuePoint(evt.target.cuePointName);Definitely.... you are trying to assign a listener to something that does not exist
seek_btn.addEventListener(MouseEvent.CLICK, seekHandler);
If you do not have a seek_btn, the best way to define the missing variable is to create the seek_btn object. If you don't plan to, then rather than define it, get rid of any code that uses it. -
Missing variables in Infoset Query.
Hi All,
0P_KEYD2 is a variable for characterstic "Posting Date" in the query which fires on ODS 0FIAR_O03.I have created an Infoset on ODS 0FIAR_O03 and 0CUST_SALES(Master Data)and created a query on this infoset. But I am unable to see variable 0P_KEYD2 for Posting Date in the Infoset Query.
(There are some other variables too which are not visible in Infoset Query, these include - custom "Z..." variables & BC variables, with SAP exit and with User entry, etc)
Could anyone suggest how to access this same variable for query on infoset as in ODS query?
I tried having an new Infoset with just the ODS 0FIAR_O03, but here again these variables are missing for this characterstic (and possibly other variables for other characterstic), while if I try to build the query on the above ODS directly I get the variables!
Version: We are on BW 3.5
Thanks,
Melwyn Joseph
Message was edited by: Melwyn Joseph
Message was edited by: Melwyn JosephHi,
I'd put this query in SDN quite some time back..but didn't get any response then.
As Raymond said above, that is what I'd done in my case. The original variables are SAP exit (u can view their code in the standard SAP FM's). Here the code refers to other variables/objects with their specific tech names (or something similar..don't remember it now). In infoset, as we dont get the original tech. names of the objects in the query ...these SAP exit codes will not work for these variables.
The solution is to create your own custom variables & populate it in Customer Exit. U can get the logic from the SAP exit code...its not that difficult to understand.
cheers,
-Me -
Programmatically create and deploy process definition
1. It seems that PAPI does not support process definition creation and deployment. We need to programmatically create and deploy process definitions, what should we use?
2. Is it possible to programmatically add variable definitions to a process instance? We have an external program that creates the process instance but sometimes the process instance may need to add some additional variables.
Thank you for your help,
shirleyHi Shirley,
You're right PAPI wasn't intended to deploy processes, however, you can deploy processes automatically using ANT.
You'd need to republish and redeploy (again using ANT) to add additional variables to a deployed process. Simplest thing to do would be to add attributes to an existing BPM Object. If you just added a new variable, you'd need to change argument mapping troughout the project.
hth,
Dan -
Programmatically create transport packages (*.epa files)
Hi fellow SDN members,
Does anyone know is it is possible to programmatically create transport packages, i.e. *.epa files using an SAP API?
Thanks in advance,
Robin van het HofHi Michael,
Actually your blog was a great help as well.
I had created something similar, with the addition of deployment dates of PAR files, displaying certain manifest properties, dependencies, etc.
I am able to select all modified objects from a certain period, but the missing part is creating the actual export
(ps: I consider myself an expert as wel )
Kind regards
Robin van het Hof
Maybe you are looking for
-
Control pannel not showing some installed programs
my os is win 7 and my control pannel is only showing google chrome and microsoft . net framework 4 client and ms office enterprise.but i have installed many programs such as mozila,adobe reader,avast antivirus and so many others but they are not show
-
Panasonic TV and Skype Camera only send video for ...
I just bought a TCP50ST50 TV and the TY-CC20W camera for Skype. Incoming video is fine. Audio in and out is fine. Sending video lasts for 5 seconds, then the camera turns off. I hit the ok button on the remote and the video starts sending again for a
-
Hi friends, Please help me out . How to configure the billing output by E-mail to customer Thanks Sai
-
Installing contact center enterprise 6.0 in new server and upgrading to 7.0
Hi, I am trying to install contact center enterprise 6.0 into a new server ( earlier both call manage 4.3 and enterprise 6.0 were in the same BOX). So now i am upgrading cucm4.3 to 7.0 and installing enterprise 6.0 onto a new server taking backup fr
-
How do i change which applications start when i turn on mac?
i have a new macbook pro so learning my way round things. how do i change which apps start when i turn it on? thanks