Logic required
Dear all,
In people HRMS screen, if it is a 'candidate '. I need to display in a column of DFF as HR file Num: 1/2016
1 is the sequence number and 2016 is one year.
How can achieve us, please suggest.
I tried, the problem is solved.
The sequence is created:
CREATE SEQUENCE xxnmc_hr_file_seq
START WITH 1
MAXVALUE 999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 100
ALL;
Function:
FUNCTION to CREATE or REPLACE xxnmc_hr_file
RETURN number
AS
number of retval;
BEGIN
SELECT xxnmc_hr_file_seq. NEXTVAL
IN retval
FROM DUAL;
RETURN (retval);
exception
while others then
RETURNS a null value.
END;
/
And in the customization of the form I to call the function
= (select xxnmc_hr_file |) » /'|| TO_CHAR (sysdate, 'YYYY') of double)
Thank you
Tags: Oracle Applications
Similar Questions
-
Logic required for the following data
Hi allI have the procedure that I call a cursor to retrieve records. This query returns the following data
DI SZ DII CWT Back to top down 9 1/2 9.625 8.921 36 18 1602 13 1/2 13.375 12.515 61 19 1962 18 1/2 18.625 17.755 87.5 20 503 26 26 24.75 105 20 103 9 1/2 9.625 8.835 40 1602 3858 7 7 6.276 26 1683 6352 I want to print only those values...
9 1/2 9.625 8.921 36 18 1602 9 1/2 9.625 8.835 40 1602 3858 7 7 6.276 26 1683 6352 As you can see in these first values and down overlap.
I tried several ways to sort the query on the fields and have a logic, but I always get an extra line that is not overlapping.
Can someone give me please the logic to get the desired result through conditions of procedure/function/formula
Thank you
929107 wrote:
Hey Maher,
Thanks for the reply, but I'm looking at some generic logic /Algorithm, I don't want to play with a fixed set of values. Values can change with the evolution of other structures.
Kind regards
I showed with fixed values for explanation.
You can use my select statement on your table
Select * from
(select di, dii, ctw, sz, offset (down) on ldown (top control)
of
) where downstairs > = nvl (ldown, down);
Concerning
Mr. Mahir Quluzade
-
Calendar holiday table logic required in sql instead of pl sql
My fn_test function calculates the date of-1. And if it's a holiday according to the temp_calendar of the table, and then call it recursively the fn_test again to-1. In this case until I get a holiday, no date.
I've implemented as follows:
But I can have a single SQL do which is more effective?
Drop table temp_calendar;
Create table temp_calendar)
Identification number,
date of vacation);
Insert into temp_calendar values (1, "January 5, 2012'");
Insert into temp_calendar values (1, ' 6 January 2012');
Insert into temp_calendar values (1, 10 January 2012 ');
Insert into temp_calendar values (1, ' 2 February 2012');
Insert into temp_calendar values (1, 11 February 2012 ');
Commit;
FUNCTION to CREATE or REPLACE fn_test (in_date IN DATE)
DATE OF RETURN
IS
v_pr_day DATE;
BEGIN
v_pr_day: = in_date-1;
BY Calendar_Dates (holiday SELECT FROM temp_calendar)
LOOP
IF (v_pr_day = Calendar_Dates.holiday)
THEN
v_pr_day: = fn_test (v_pr_day);
END IF;
END LOOP;
RETURN TRUNC (v_pr_day);
END fn_test;
/
Select double fn_test('8-JAN-2012'); -Returns Jan. 7 as no holiday in the temp_calendar table.
But select double fn_test('7-JAN-2012'); -Returns Jan 6 4 and 5 is holidays in the temp_calendar table.
Thank you...Hello
It could do:
create or replace FUNCTION fn_test (in_date IN DATE) return date is l_ret date; begin select startdt-1 into l_ret from ( select min(holiday) startdt, max(holiday) enddt from ( select id, holiday, holiday-(row_number() over (order by holiday)) grp from temp_calendar ) group by grp ) v where in_date-1 between startdt and enddt; return l_ret; exception when no_data_found then return in_date-1; end fn_test; /
Test:
[11.2] Scott @ My11g > l 1 declare 2 l_date1 date := to_date('8-JAN-2012','dd-Mon-yyyy'); 3 l_date2 date := to_date('7-JAN-2012','dd-Mon-yyyy'); 4 begin 5 null; 6 dbms_output.put_line(l_date1 ||' => '||fn_test(l_date1)); 7 dbms_output.put_line(l_date2 ||' => '||fn_test(l_date2)); 8* end; [11.2] Scott @ My11g > / 08/01/2012 00:00:00 => 07/01/2012 00:00:00 07/01/2012 00:00:00 => 04/01/2012 00:00:00 PL/SQL procedure successfully completed. Elapsed: 00:00:00.02
-
Hello
I have a procedure under certain conditions... only condition does not work correctly... Please help me in this regard.
Only exception part... When no data found... then displays mesg connection not valid... but the update command does not work. Please help me...CREATE OR REPLACE PROCEDURE Customer_Login( in_web_login IN SLA_CUSTOMER_MASTER.WEB_LOGIN%TYPE, --1 in_web_password IN SLA_CUSTOMER_MASTER.WEB_PASSWORD%TYPE, --2 out_code_error OUT VARCHAR2, -- OUT -- return the error code according with customer Login out_msg_error OUT VARCHAR2 -- OUT -- return the error description ) AS --#################################################################### --### Customer Login --#################################################################### v_scst_id NUMBER; password_age NUMBER; -- Days from pwd_exp_date to in check date return_txt VARCHAR2(100); -- Message to be returned (may be NULL) v_expired CHAR(5); v_fail_login_attmp NUMBER:=0; --#################################################################### --### EXCEPTIONs --#################################################################### e_invalidLogin EXCEPTION; e_expiredPassword EXCEPTION; --#################################################################### BEGIN BEGIN /* if wrong login name and wrong password */ SELECT scst_id,Trunc(sysdate - pwd_exp_dt) INTO v_scst_id,password_age FROM SLA_CUSTOMER_MASTER WHERE web_login = in_web_login AND web_password = in_web_password OR in_web_login is null OR in_web_password is null; END; /* if Password has been expired */ IF password_age > 180 THEN return_txt := 'Your password has expired.'; -- raise e_expiredPassword; ELSE /* If login name and password and valid dates then return scsct_id*/ IF password_age > 165 AND password_age < 180 THEN return_txt := v_scst_id||'Your password will expire very soon. Please change your old password.'; END IF; END IF; dbms_output.put_line(return_txt); SELECT expired INTO v_expired FROM SLA_CUSTOMER_MASTER WHERE web_login = in_web_login AND web_password = in_web_password; IF v_expired = 'Y' THEN return_txt := 'Login Expired'; END IF; dbms_output.put_line(return_txt); EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.put_line('Invalid Login'); UPDATE sla_customer_master SET fail_login_attmp = NVL (fail_login_attmp, 0) + 1 WHERE web_login = in_web_login AND web_password = in_web_password RETURNING fail_login_attmp INTO v_fail_login_attmp; commit; IF v_fail_login_attmp = 7 THEN UPDATE sla_customer_master SET EXPIRED = 'Y' WHERE web_login = in_web_login AND web_password = in_web_password; END IF; WHEN e_invalidLogin THEN ROLLBACK; out_code_error := SQLCODE; out_msg_error := 'ORA-2000 - Invalid login'; WHEN e_expiredPassword THEN ROLLBACK; out_code_error := SQLCODE; out_msg_error := 'ORA-2000 - Expired password'; END Customer_Login;
Concerning
SAHello
Do not worry... Be cool... I understand your problem. I've seen so many comments from experts on managing exceptions... and the maintenance code... (Avenue). In any case I'm also not that many experts. But this solution will give you a lot of relaxation. You can get rid of your huge workload.
Please perform this procedure... If Ok... then do like okay... If it is useful, then make it as useful...
CREATE OR REPLACE PROCEDURE Customer_Login_new( in_web_login IN SLA_CUSTOMER_MASTER.WEB_LOGIN%TYPE, --1 in_web_password IN SLA_CUSTOMER_MASTER.WEB_PASSWORD%TYPE, --2 out_scst_id OUT NUMBER, out_scst_first_name OUT VARCHAR2, out_scst_last_name OUT VARCHAR2, out_scst_email OUT VARCHAR2, out_code_error OUT VARCHAR2, -- OUT -- return the error code according with customer Login out_msg_error OUT VARCHAR2 -- OUT -- return the error description ) AS --#################################################################### --### User Defined Variables --#################################################################### v_password_age NUMBER; v_expired CHAR(5); v_fail_login_attmp NUMBER:=0; v_login sla_customer_master.web_login%TYPE; v_password sla_customer_master.web_password%TYPE; v_scst_id sla_customer_master.scst_id%TYPE; v_first_name sla_customer_master.scst_first_name%TYPE ; v_last_name sla_customer_master.scst_last_name%TYPE ; v_email sla_customer_master.scst_email%TYPE ; v_number NUMBER(1); --#################################################################### --### EXCEPTIONs --#################################################################### e_invalidLogin EXCEPTION; e_expiredPassword EXCEPTION; e_changePassword EXCEPTION; e_invalidpassword EXCEPTION; --#################################################################### BEGIN SELECT COUNT(ROWID) INTO v_number FROM SLA_CUSTOMER_MASTER WHERE web_login = in_web_login; IF v_number = 0 THEN IF NVL(v_login,'#') <> NVL(in_web_login,'$') then raise e_invalidLogin; END IF; END IF; SELECT scst_id,Trunc(sysdate - pwd_exp_dt),expired,scst_first_name,scst_last_name,scst_email,web_login,web_password INTO v_scst_id,v_password_age,v_expired,v_first_name,v_last_name,v_email,v_login,v_password FROM SLA_CUSTOMER_MASTER WHERE web_login = in_web_login AND web_password = in_web_password; IF v_password_age > 180 OR v_expired ='Y' THEN raise e_expiredPassword; ELSE IF v_password_age > 165 AND v_password_age < 180 AND v_expired ='N' THEN raise e_changePassword; END IF; END IF; EXCEPTION WHEN NO_DATA_FOUND THEN UPDATE sla_customer_master SET fail_login_attmp = NVL (fail_login_attmp, 0) + 1 WHERE web_login = in_web_login RETURNING fail_login_attmp INTO v_fail_login_attmp; commit; IF v_fail_login_attmp = 7 THEN UPDATE sla_customer_master SET EXPIRED = 'Y' WHERE web_login = in_web_login AND web_password = in_web_password; commit; END IF; out_msg_error :='Invalid password'; WHEN e_changePassword THEN ROLLBACK; out_scst_id:= v_scst_id; WHEN e_expiredPassword THEN ROLLBACK; out_code_error := SQLCODE; out_scst_id:= v_scst_id; out_scst_first_name:=v_first_name; out_scst_last_name:=v_last_name; out_scst_email:=v_email; out_msg_error:='PWD_EXP/EXPIRED'; WHEN e_invalidLogin THEN ROLLBACK; out_code_error := SQLCODE; out_msg_error := 'Invalid Login'; WHEN others THEN ROLLBACK; END Customer_Login_new;
Concerning
KPRPublished by: KPR on June 9, 2011 22:52
-
Waveshaping circuit using a 555 timer
I tried to reproduce this circuit much longer. I am trying to use a timer 555 as an Astable multivibrator with a suddenly IC monostable circuit. However, when I create the circuit and use different combinations of RC I actually get a correct output of the timer, but it does not cause the one-shot get active then and I can immediately connect a clock of multisim that turned the circuit works very well. Can someone please take a look on the circuit, I have designed and see where I was wrong? Refer to the multisim file attached.
Sorry for the delay on this point - we have been busy in the ISF group.
Your tour was very close! I think that by not only not the CLR and a cable entries, your circuit had problems. Probably the pins of the CLR was defaulting to a low logic (requiring so low Q and Q ~ high) as indicated in the data sheet.
Here is the circuit has been corrected (note I increased the capacitor to give lasting impulse on Q / Q ~ because the pulse of the 555 timer period was approximately 250 ms).
In dealing with digital circuits, it is often convenient connect digital inputs to an interactive SPDT switch and VCC (or any level of CMOS circuit is in) and ground as I did here. This gives you the ability to interactively control parts of the interactive test circuit...
Kind regards
Patrick Noonan
Business Development Manager
National Instruments - Electronics Workbench Group -
Identification of Positions co-ordinated in a polygon
I know that I can use the built in sdo_geom functions to get the min and max coordinates of a rectangle. I was wondering if a similar feature exists for non-rectangular polygons like parallelograms. Question I have is that users can enter 4 sets of coordinates in any order to construct a geometry object. My logic requires that I know that the top left and top right of the geometry object. I can write a function to return this, but I wanted to check that this feature does not already exist.
Thank you
RobertRobert,
The question seemed familiar. In any case, I understand a little better the problem.
-- "MBR's points are Xs" .| O X | * * | * * | * * | * * | O O | * * | * * | * * | * * ---X----O------- |
If you are looking for the O, you can search the intersection between your polygon and lines-definition-the-MBR. The following example shows how you can identify the points of the extreme left and right of your polygon (not the MBR encompassing).
WITH SampleGeometry AS ( SELECT SDO_GEOMETRY( 'POLYGON ((6091829.946 2271465.64, 6092444.797 2271460.591, 6092445.067 2271797.663, 6091825.777 2271802.748, 6091829.946 2271465.64))', 40986 ) geometry FROM dual ), MbrEdges AS ( SELECT SDO_GEOMETRY('LINESTRING ('|| SDO_GEOM.SDO_MIN_MBR_ORDINATE(geometry,1)||' '|| SDO_GEOM.SDO_MIN_MBR_ORDINATE(geometry,2)||','|| SDO_GEOM.SDO_MIN_MBR_ORDINATE(geometry,1)||' '|| SDO_GEOM.SDO_MAX_MBR_ORDINATE(geometry,2)||')', 40986 ) LeftEdge, SDO_GEOMETRY('LINESTRING ('|| SDO_GEOM.SDO_MAX_MBR_ORDINATE(geometry,1)||' '|| SDO_GEOM.SDO_MIN_MBR_ORDINATE(geometry,2)||','|| SDO_GEOM.SDO_MAX_MBR_ORDINATE(geometry,1)||' '|| SDO_GEOM.SDO_MAX_MBR_ORDINATE(geometry,2)||')', 40986 ) RightEdge FROM SampleGeometry ) SELECT SDO_GEOM.SDO_INTERSECTION(SampleGeometry.geometry, MbrEdges.LeftEdge, 0.001) LeftMostPoint, SDO_GEOM.SDO_INTERSECTION(SampleGeometry.geometry, MbrEdges.RightEdge, 0.001) RightMostPoint FROM SampleGeometry, MbrEdges; -- "Result" SDO_GEOMETRY(2001, 40986, NULL, SDO_ELEM_INFO_ARRAY(1, 1, 1), SDO_ORDINATE_ARRAY(6091825.78, 2271802.75)) --"LeftMost" SDO_GEOMETRY(2001, 40986, NULL, SDO_ELEM_INFO_ARRAY(1, 1, 1), SDO_ORDINATE_ARRAY(6092445.07, 2271797.66)) -- "RightMost"
Here's an alternative that doesn't generate intermediate lines:
WITH SampleGeometry AS ( SELECT SDO_GEOMETRY( 'POLYGON ((6091829.946 2271465.64, 6092444.797 2271460.591, 6092445.067 2271797.663, 6091825.777 2271802.748, 6091829.946 2271465.64))', 40986 ) geometry FROM dual ), LeftMbrEdge AS ( SELECT MIN(t.x) x FROM SampleGeometry, TABLE(SDO_UTIL.GETVERTICES(geometry)) t ), RightMbrEdge As ( SELECT MAX(t.x) x FROM SampleGeometry, TABLE(SDO_UTIL.GETVERTICES(geometry)) t ), LeftMostPoint As ( SELECT t.x, t.y FROM SampleGeometry, LeftMbrEdge, TABLE(SDO_UTIL.GETVERTICES(geometry)) t WHERE t.x = LeftMbrEdge.x ), RightMostPoint As ( SELECT t.x, t.y FROM SampleGeometry, RightMbrEdge, TABLE(SDO_UTIL.GETVERTICES(geometry)) t WHERE t.x = RightMbrEdge.x ) SELECT LeftMostPoint.*, RightMostPoint.* FROM LeftMostPoint, RightMostPoint; -- "Result " 6091825.78 2271802.75 6092445.07 2271797.66
These examples have only sought for points of polygon that has touched the edges left or right of the MBR. You can easily change to search for polygon points that affect the edges higher or lower of the MBR.
Kind regards
Noel -
Can someone help me figure out how I can do the following?
I have a query stored in the "Queries", column "Code". For example: "" Select * from sales; ""
I can do this to return the stored query results:
It works well, but I can't get a variable works correctly. That is to say. I want to use a date for the WHERE clause.declare v_sql varchar2(1000); begin select code into v_sql from queries where id=13; return v_sql; end;
Something like:
Obviously, this doesn't work. Is this possible to do?Query: Select * from sales where sale_date = :v_date; Code: declare v_sql varchar2(1000); v_date date; begin v_date := to_date('01/07/2012', 'DD/MM/YYYY'); select code into v_sql from queries where id=13; return v_sql; end;
Oracle 11g, Apex 4.0.1
Thank you very much!!
~ P
Edited by: pearlyred 24/01/2013 16:56 Versions addedAn essential difference is when you use the Apex.
With a normal client, written in Java, .net, C/C++ and so on, that you would typically use the PL/SQL to apply the logic required, creates the SQL cursor and returns the handle for this SQL cursor in the memory of the server as a reference cursor (pointer) to the client.
There are several ways to apply the PL/SQL code that creates the ref cursor. This approach uses static SQL like on {message identifier: = 10390039}. Another approach uses dynamic SQL, as shown in {message identifier: = 10805597}.
The complexity of this approach is mandatory. You can dynamically create a SQL with a variable number of bind variables. However, the ref cursor requires coding with a fixed set of bind variables. A ref cursor doesn't support dynamic linking (where the number of bind variables is only known at run time). There are alternatives - such as DBMS_SQL (which supports the dynamic SQL statements, dynamic linking and dynamic recovery) and then by converting the variable of DBMS_SQL cursor in a Ref mouse pointer that can be passed to the client.
Well, then, how is this different from the Apex?
Apex of PL/SQL. He cannot use ref Cursor that you create with your PL/SQL code and pass it to render in a report. REF CURSOR is designed to be used by external clients in this way. No PL/SQL.
Apex uses DBMS_SQL for this - it's the equivalent of ref cursor in PL/SQL.
So if you want to pass a SQL for Apex, you do not like a ref cursor You do it rather like a SQL string - where the string contains the SQL statement Dynamics (and bind variable names) to use. Apex receives this and he uses DBMS_SQL parse, link and run like a slider. (in fact, it uses the system version of DBMS_SQL that allows him to run the cursor as the owner of this application of the Apex).
With Apex, there
(a) returns a SQL statement
(b) ensure that the SQL includes the names of variables relevant to the linkSimple example. A function that can be called from any page of the Apex to return the SQL code required to make a report of the Ministry employee.
create or replace function EmployeesInDept( deptVar varchar2 ) is begin return( 'select * from emp where deptno = :'||deptVar ); end;
This seems a little weird. A normal customer would have passed the dept value. Apex needs to pass the variable there (page element) that contains the value.
This function will be used as follows on page 123 app Apex:
--// page item P123_DEPT contains deptid EmployeesInDept( deptVar => 'P123_DEPT' );
And on page 234:
--// page item P234_DEPT contains deptid EmployeesInDept( deptVar => 'P234_DEPT' );
The alternative is more complex - create a PL/SQL procedure that receives the value of the variable actual (as opposed to the variable name). Create the cursor. Through the DBMS_SQL. Display the cursor as an html, via PTHreport. But it goes much of the rendering features of Apex report in this custom procedure - and results in a huge loss in the reports feature.
Comment - dynamic SQL approach as described above is practically an exception in the Apex. It's often much easier to create several regions report (each report supporting a set of combinations of filter criteria) and then apply the conditional rendering rules to determine which report to render to the specified filter criteria combination.
-
The Port of the switch to ESX host configuration
I have a switch that connects to a physical server used in
virtualization. This means that virtual machines with IP addresses on
several subnets will send layer 2 frames to this switch.
However, in an attempt to reduce the number of network adapters on the server
It is. If there is only one card NETWORK in this physics
Server connected to a physical switch port - it is possible to
with a port on the handful of physical switch frames that come
all virtual machines running on the physical server - when these VMs have IPs
different subnets? Or each separate subnet property intellectual logic requires a
switch port separated to manage its images and its own on physical NETWORK card
the server used for virtualization?
Thanks for your comments
Yes, you need to configure the physical switch port as a trunk and then configure the VLAN tagging on your Exchange Configuration-> Networking.
If you have found this helpful at all prices please points using the correct or useful! Thank you!
-
Create Resource Pool c# Web Services SDK
Hello
I then starting in this area and I seriously need help.
Can anyone help/provide code me by creating a resourcepool? and by creating a new folder under a resourcepool?...
Thank you... Thank you
Shim
Check out this script: createResourcepool.pl
You can certainly add the logic required to even create the folder before the list of resources, etc... but this should give you an example on how to create a resource pool.
=========================================================================
William Lam
VMware vExpert 2009
Scripts for VMware ESX/ESXi and resources at: http://engineering.ucsb.edu/~duonglt/vmware/
Introduction to the vMA (tips/tricks)
Getting started with vSphere SDK for Perl
VMware Code Central - Scripts/code samples for developers and administrators
If you find this information useful, please give points to "correct" or "useful".
-
Problem with the exceptions of the workflow activity management
Hello
I use the activity stream in my Bpel process, I get an exception in one of the streams, but other streams are working properly. Even I have included the Catch block for another i still stream get the error response.
Please suggest me how to sink the activity of exception handling.
Thanks in advance.Hello
just to restructure your BPEL process. The 'Flow' activity contains several activities 'Sequence '. Just put an activity 'Reach' within each activity in the 'Sequence '. Then put another 'Sequence' activity within each "Scope" activity... and there put logic/required activities.
After this, you can create fault handling on these activities 'scope '. In this way, you can manage defects in each sequence flow.
Kind regards
Martin -
Difference between spaces reserved &; formulas
Hello
I used formulas. Placeholders also seems same as formulas, then what is the difference between them and what situation the spaces reserved are useful
If you have time please let me know the difference...
Thank youuser13432927 wrote:
HelloI used formulas. Placeholders also seems same as formulas, then what is the difference between them and what situation the spaces reserved are useful
If you have time please let me know the difference...
Here's the difference...
Placeholder
Place support column is the column where we can define the global variable and that variable is used in the columns of formula for different calculations. column support palce is a global variable of the report.A placeholder is a column for which you set the data type and the PL/SQL value that you set.
You can set the value of a column in the space reserved for the following locations:
01.the before report trigger, if the placeholder is a level of report column
02.A report level formula column, if the placeholder is a level of report column
03.A formula in the space booked group or group below (the value is defined once for each record in the Group)
If we want to return multiple values according to our logic we will use place holedr column in the formula column.
Formula column
The formula column is used for the calculation of the logic required for the report. formula column will calculate the value based on our logic, it will return a value.
A column of formulas makes a calculation defined by the user on an another data column (s), including the columns of the placeholder. Colums formula should not be used to set the values for the parameters.Hoping to understand...
If someone answer is useful or appropriate, please mark accordingly.
-
OSMF1.5 unable to properly analyze the DRM of MBR info?
Hello
I'll put a based OSMF 1.5 player who plays solution FlashAccess DRM-protected video content of MBR. I noticed that the drmTrait.drmMetadata is always null until a license has been sent to the server for. But our business logic requires sending custom data to the server for authentication. In this case, DRMContentData (of drmTrait.drmMetadata) might not be zero if I want to send the authentication token with drmTrait.authenticateWithToken ().
In OSMF Sprint5 1.6, there is a named event DRMState.AUTHENTICATING that will be sent when the customer is demanding the license, in this case, drmTrait.drmMetadata has the valid value that can be used to send automatic personalized token. But in OSMF 1.5, there is none of this case. Return auth error trying to break so I can get the error to the client auth event. I jumped in the auth error event, I could access to drmTrait.drmMetadata, but I failed. It is always set to null.
I put a similar thread in OSMF forum (http://forums.adobe.com/thread/886810?tstart=0), but no response yet. I would be grateful if someone could help.
Thank you.
I posted a reply in the thread OSMF.
Kind regards
Kimi
-
Query DirectoryManager API (ES2)
In my workflow, I have two user, 'Punishment' and 'Validate', tasks that are performed by the members of the group "Risk assessors". Business logic requires that the user who is performing the task of "Sanction" is unable to accomplish the task of "validating". My implementation assigns the task of "Sanction" to the group "Evaluators" capture the TaskResult in order to identify the person who has performed the task and then uses a custom to choose a transferee that is appropriate for the task of 'Validate' (i.e. selects a member any of "Risk assessors", but not the Member who made the "Sanction").
In the custom component, I use the DirectoryManagerServiceClient class to retrieve the set of individual members of the group. Once I have this, it's a simple task does not take into account the user of "Sanction" and select a random user from the rest.
My problem occurs when you try to assign this user chosen at random to the task of "validating". I see the following error in the logs:
2009-12-11 13:59:16, ERROR 327 [com.adobe.workflow.AWS] action-instance of stall: 739 with message: attribute using an XPath expression specified with the following expression: / process_data/transferee, but this expression has not been evaluated to a data type that supports the user's Department. The supported types are 'Chain', 'com.adobe.idp.dsc.um.lookup.datamodel.User' and 'com.adobe.idp.dsc.um.lookup.datamodel.Group '.
The user, that I return the custom component is of type com.adobe.idp.um.api.infomodel.User - it is the type of user exposed by DirectoryManagerServiceClient. Is it possible for me to this card to an instance of com.adobe.idp.dsc.um.lookup.datamodel.User? The class expected by "Assign task" is not present in the Javadoc of the ES2.
I imagine there will be a way for me to retrieve the username of my user instance and go to the "assign task", but I'm really curious to know how this is supposed to work. I think that the poster of this thread
led to the same thing.-Craig
It seems that these two classes are not related, with the exception of the fact that they both represent users. I think that should not retrieve a string of the ID of the infomodel. Object user (getUserID method) and use it as input to assign tasks.
-
Loss of value after split/join
Hello
In my process, there is an activity to split/join. Before the split, there is an activity of interactivity. The user can set the values of BPMObject.
Then, in the split/join, all interactive activities can change the values of BPMObject. Before the join, the process works very well.
However, after the join, the interactive activity gets only the original BPMObject values. All the changes are lost.
Argument mapping entry for activity ScreenFlow interactive final is: var1vpsfArg = var1
(var1 is the Instance variable)
How to get the updated value?
Sincerely,Hello
I don't think that this was due to the mapping of your argument. Whenever you encounter problems obtaining new information of a join activity, the problem is usually the logic of the join activity itself.
There are two ways you can treat a Split / join the boss. If you Split-> properties right click-> Advanced, you'll see a checkbox that allows you to generate (default) copies or generates no copies. This means that transitions leaving the split can either each have their own independent copy of the original instance variable or all transitions leaving the split can share original variable of instance.
I guess you don't see information flowing on the join, because the separation is set to generate copies and you're not recover the information copied into the join. If you're curious, here's what the engine makes when it hits a Split activity that is configured to generate copies:
1. the instance arrives in Split activity
2. the engine automatically sends the original (copy 0) instance with all its variables of the join activity
3 if there are two transitions from the split, the engine automatically creates a copy of the instance for each of the transitions and sends them to the two activities following the separation through their respective transitions. If the two activities that followed the separation were 'Credit Check' and 'Check inventory', you would now have the original instance in the join (copy 0) and a copy (copy1) in the 'Credit Check' activity and a copy (copy 2) to 'check inventory.
4. as an end user end "Credit Check" copy work happens in the activity of join and executes the logic in the join
5. as an end user finishes the job in 'check inventory' copy arrives in the activity of join and executes the logic in the join
6. now that all copies have arrived and completed the join, the engine automatically moves the original (copy 0) instance of join and downstream activity in the process.Here's the logic that you might want to add to your activity to join (the logic below assume that I named my business 'Credit Check' and 'Check inventory'). You will notice that wherever you are referring to instance information that would have been defined in one of the two activities between the Split and Join are designated within the logic of the join using the prefix "copy.". This 'copy.' is only used within the activity of join and not in Split (no logic required here) 'Credit check' or 'check inventory.
// this lets you know where this copy came from
logMessage "JOIN: previous activity was: " + copy.activity.source.name using severity = DEBUG
case copy.activity.source.name
when "CheckCredit" then
order.creditStatus = copy.order.creditStatus
when "CheckInventory" then
order.status = copy.order.status
// the "else" should not have been hit if you've done this correctly
else
order.status = "Problem"
endAfter end users finish their work in the business 'Credit check' this exectutes logic. Logic of the activity of the join uses the variable 'copy.activity.source.name' to determine source of the copy. Since there are only two activities immediately preceding the join in this example, there are only two clauses "when" in the case statement. If there is 4, so there will be 4 clauses "when".
It is important to mention the name of the activity in the logic above. Note that the friendly labels are 'Credit Check' and 'check inventory? Right click on each of your activities immediately preceding the join-> click Properties and note the reading text in the field "Activity Id" for each of these activities. In this example, while activity appears to be named "Credit Check" the name of that logic will use will be "CheckCredit" without space. The value in the field of activity of the activity code, this is what happened in the variable 'copy.activity.source.name' of the join logic.
What will happen if you do not have the 'case' in the logic above? You would see the variable information in the last copy you arrive at the joint to replace information written in previous copies. The last copy to win.
In the second paragraph of the present, I mentioned that you can choose to generate (default) copies or generates no copies (by unchecking the box). I tend to leave the default value simply because it's the way I've always done. You should be careful, because if you put a new activity just before your join, the logic in the join will have to change to take account of the new activity in a new clause of "when". If you choose not to generate copies, then you need not all logic in the join activity above.
Hope this helps,
Dan -
The logic behind the requirement to map Google API?
Is there any logic behind needing an API key for rendering, Google maps, or is this just Google wielding a stick and say do what we tell you to do?
It must be in their interest to supercomputers - what is?
Google MUST have changed something in the last 3-4 weeks. You need now to an API of code it seems if you use a php file.
Try this out. Grab the code to insert a basic Google map on your page from the link below:
Insert the code in a php file and won't work - the error apppears - no card
Insert this code into a html file and it will work - the map appears
Why and how it detects if the page is an html page or a php page?
So to summarize this seems that no API code is required if the file extension is .html BUT an API key is required if the file is a .php extension - it just does not make much sense.
I'm marking this answer as correct because it's the closest I can get to fix the problem (it still doesn't explain why a version .html a factory file without the API key, but a .php file only)
Google Geo developers blog: Building for Scale: Google Maps API Standard Plan updates
Maybe you are looking for
-
I tried to read some of the stories on my screen, but some just get a blank page, but on Internet Explorer, they open fine. I also have the latest version of Mozilla.
-
18.0 Firefox works fine when I open it on a 32-bit desktop. I can open any Web site (I use one tab). But when I closed Firefox, I get the message "Firefox has crashed." It charges ok, but I've never had this problem with any version of Firefox before
-
Anyone know what model Tecra A10 comes with a webcam & software to read the cards? Thank you very much 1Sona
-
vehicle followed by using vision builder
Can someone help me to follow a vehicle using vision builder?
-
I uninstalled and reinstalled the printer and the fix is not required.