PL/SQL , D2K Forms Problem
Hi,
I am developing a package for HR.
I had developed procedure which take data from
temparary ASCII file to temparary table, and from temparary table to Attendance table.(Punch card machine generates ASCII FILE)
In this procedure i had put one validation clause for date & time, means if attendace date and time is greater than system date & time then it should reject the data.
Due to some reson my Server's time got changed and server time was back by 6hrs.
I have used D2k for my Application and Oracle 8i as DB.
I am invoking above procedure from D2k form.
Now problem is when i run this from Application it gives error for each record as systime is got changed, but if i execute this procedure directly from PL/SQL it works.
Pls. note that i am doing this from client machine.
Regards,
Mrugank
EMP IN TIME and date are the time and date respectively , for the attendance. Sorry, but how do those relate to these?
ATNDATE and CUR_EMP.ATTIME?What I think we need is some debugging instrumentation here. For once we're pretty close to it. Could you amend the insert into upis.mesg statement so it does this
insert into upis.mesg Values (
Eno,AtndDate,cur_emp.Attime||'-'||
Cur_emp.InOutInd ||'-'||Cur_emp.TrtNo||'-'|| To_char(Cur_emp.Flag) ||'/'||
'Time Greater Than Current Time'||to_char(sysdate,'dd/mm/yyyyhh24mi' ), 0);Please change your code so that this message gets written regardless of whether the time test is failed.
Alternatively use DBMS_OUTPUT To display AtndDate,cur_emp.Attime, to_char(sysdate,'dd/mm/yyyyhh24mi' )
Then run your proc from Form and SQL*PLus, and post sample output from both runs.
Cheers, APC
Similar Messages
-
Problem in cut-paste data from a column in d2k forms to word file
Hello all,
Thanks for going through my problem. One of my clients is using a HP P-4 machine with Windows XP as OS. I have given them a D2k form for data entry having a multiple line column through a three-tier architectute on Apache web server. His problem is that he is not able to cut-paste the data entered in the multi-line column into a word file or vice-versa; whereas I am able to do the same from my machine or any other non-Xp machine. What might be the problem?
Regards
NJThis is usually caused by a security issue. Look for "Applet warning" in the browser status bar. If there is a warning you will not be able to copy and paste. It was also common when using the MS-JVM to run Forms. Try using the latest version of Jinitiator - 1.3.1.23
This can also be caused if the browser security settings are set too high.
In the future please be sure to provide more details. For example, Forms version, browser and its version, etc. -
D2k forms installation problem.... plz help me soooon
hi i installed d2k forms 6i for windows xp(sp2). but it doestnt connect to the database. how can v connect the database?
if i work with sql, do i install oracle 8i seperatly? or directly i can u se sql and plsql directly with only using d2k cd?
please post the complete installation guide for D2k(forms 6i)..................reply me sooon plzzzzzzzzzzzIn addition to the previous posting, remember that Forms 6i installs 8.0.6.3 Net 8 compatible tnsnames.ora and sqlnet.ora files by default. These files are not compatible with 9i and higher version of database servers. Do binary ftp the tnsnames.ora and sqlnet.ora from your database server to the directory where you specify by setting the TNS_ADMIN. If none set, then the default directory is the one under the 6i installation. If you don't want to set TNS_ADMIN, then replace the ones under 6i/network/admin directory with the ones you ftp from your db server.
I hope this proves useful. -
Sql query/function problem??
Hi ,
I have problems writing a difficult sql query, please help me
I have a table t in which there are 50000 records
the table has columns like
create table t
(MATCH_ID NUMBER(4) NOT NULL,
TEAM_ID NUMBER(4),
PLAYER_ID NUMBER(4),
RUNS NUMBER(3))
here match_id, player_id and team_id are jointly primary key
SQL> SELECT * FORM T WHERE MATCH_ID < 10
MATCH_ID TEAM_ID PL_ID RUNS
1 2 1228 8
1 2 1203 82
1 2 1316 24
1 1 1150 27
1 1 1278 13
1 1 1243 60
2 1 1278 37
2 1 1291 0
2 1 1243 53
2 2 1228 25
2 2 1285 103
2 2 1316 60
3 2 1228 8
3 2 1285 25
3 2 858 43
3 1 1278 52
3 1 1394 6
3 1 1243 31
4 1 1278 61
4 1 1394 6
4 1 1243 3
4 2 1228 41
4 2 1285 40
4 2 858 5
6 2 1228 20
6 2 1285 100
6 2 1408 0
7 2 1228 15
7 2 1285 34
7 2 1408 44
8 2 1228 0
8 2 1420 31
8 2 1340 66
9 2 1420 19
9 2 1385 28
9 2 1340 0
.....so on upto 50000 records..
the problem is that I want to extract how many times each player_id in each
match exists in the table, prior to that match_id (or current_match_id)
along with that in another column, I also want the sum of 'RUNS' for each
player_id prior to that match_id (or current_match_id)
my disired output is:
MATCH_ID TEAM_ID player_ID RUNS NO_OF_OCCURENCES SUM(RUNS)
BEFORE_THIS_MATCH BEFORE_THIS_MATCH
FOR_THIS_PLAYER_ID FOR_THIS_PLAYER_ID
1 2 1228 8 0 0
1 2 1203 82 0 0
1 2 1316 24 0 0
1 1 1150 27 0 0
1 1 1278 13 0 0
1 1 1243 60 0 0
2 1 1278 37 1 13
2 1 1291 0 0 0
2 1 1243 53 1 60
2 2 1228 25 1 8
2 2 1285 103 0 0
2 2 1316 60 1 24
3 2 1228 8 2 33
3 2 1285 25 1 103
3 2 858 43 0 0
3 1 1278 52 2 50
3 1 1394 6 0 0
3 1 1243 31 2 113
4 1 1278 61 3 102
4 1 1394 6 1 6
4 1 1243 3 3 144
4 2 1228 41 3 41
4 2 1285 40 2 128
4 2 858 5 1 43
6 2 1228 20 4 82
6 2 1285 100 3 168
6 2 1408 0 0 0
7 2 1228 15 5 102
7 2 1285 34 4 268
7 2 1408 44 1 0
8 2 1228 0 6 117
8 2 1420 31 0 0
8 2 1340 66 0 0
9 2 1420 19 1 31
9 2 1385 28 0 0
9 2 1340 0 1 66
as you can see from the above data (5TH COLUMN), i have mentioned the
existance of each player_id in each match prior to the current_match_id
since match_id = 1 is the 1st match in the table so no player_id comes in the
table before match number 1.
In match number 2 , player_id = 1278 was also present in match_id = 1 so
thats why Number_OF_OCCURENCES = 1 for player_id = 1278 in match_id = 2
and so on..
same is the case with 'RUNS' column but here RUNS are the SUM of each
player_id's 'RUNS' before the current match
Note: if some player_id does not exist in the table before the current
match_ID then the query should return zero for that player_id ( as in 4th and
5th columns of no_of_occurances and sum(runs) respectively)
for example: in above data
MATCH_ID TEAM_ID PLayer_ID RUNS NO_OF_OCCURENCES SUM(RUNS)
BEFORE_THIS_MATCH BEFORE_THIS_MATCH
FOR_THIS_PLAYER_ID FOR_THIS_PLAYER_ID
9 2 1385 28 0 0
I hope this will clear my problem
i would be extremely grateful if someone helps me out??
here is sample ddl of the above data
create table t
(MATCH_ID NUMBER(4) NOT NULL,
TEAM_ID NUMBER(4),
PLAYER_ID NUMBER(4),
RUNS NUMBER(3))
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (1, 2, 1228, 8);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (1, 2, 1203, 82);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (1, 2, 1316, 24);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (1, 1, 1150, 27);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (1, 1, 1278, 13);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (1, 1, 1243, 60);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (2, 1, 1278, 37);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (2, 1, 1291, 0);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (2, 1, 1243, 53);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (2, 2, 1228, 25);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (2, 2, 1285, 103);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (2, 2, 1316, 60);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (3, 2, 1228, 8);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (3, 2, 1285, 25);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (3, 2, 858, 43);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (3, 1, 1278, 52);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (3, 1, 1394, 6);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (3, 1, 1243, 31);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (4, 1, 1278, 61);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (4, 1, 1394, 6);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (4, 1, 1243, 3);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (4, 2, 1228, 41);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (4, 2, 1285, 40);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (4, 2, 858, 5);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (6, 2, 1228, 20);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (6, 2, 1285, 100);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (6, 2, 1408, 0);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (7, 2, 1228, 15);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (7, 2, 1285, 34);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (7, 2, 1408, 44);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (8, 2, 1228, 0);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (8, 2, 1420, 31);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (8, 2, 1340, 66);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (9, 2, 1420, 19);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (9, 2, 1385, 28);
insert into t (MATCH_ID, TEAM_ID, PLAYER_ID, RUNS) values (9, 2, 1340, 0);regards
ramis.Ramis,
SQL> select * from tt;
MATCH_ID TEAM_ID PLAYER_ID RUNS
1 2 1228 8
1 2 1203 82
1 2 1316 24
1 1 1150 27
1 1 1278 13
1 1 1243 60
2 1 1278 37
2 1 1291 0
2 1 1243 53
2 2 1228 25
2 2 1285 103
2 2 1316 60
3 2 1228 8
3 2 1285 25
3 2 858 43
3 1 1278 52
3 1 1394 6
3 1 1243 31
4 1 1278 61
4 1 1394 6
4 1 1243 3
4 2 1228 41
4 2 1285 40
4 2 858 5
6 2 1228 20
6 2 1285 100
6 2 1408 0
7 2 1228 15
7 2 1285 34
7 2 1408 44
8 2 1228 0
8 2 1420 31
8 2 1340 66
9 2 1420 19
9 2 1385 28
9 2 1340 0
36 rows selected.
SQL> select tt.match_id,
tt.team_id,
tt.player_id,
tt.runs,
nvl(a.sum_player,0) OCC,
nvl(b.sum_runs,0) SUM_RUNS
from
tt,
(select a.match_id,a.team_id,a.player_id,a.runs,count(*) sum_player
from tt a,
(select match_id,player_id
from tt
group by match_id,player_id) b
where a.match_id>b.match_id
and a.player_id=b.player_id
group by a.match_id,a.team_id,a.player_id,a.runs
) a,
(select a.match_id,a.team_id,a.player_id,a.runs,sum(b.runs) sum_runs
from tt a,
(select match_id,player_id,runs
from tt) b
where a.match_id>b.match_id
and a.player_id=b.player_id
group by a.match_id,a.team_id,a.player_id,a.runs
) b
where tt.match_id=a.match_id(+)
and tt.team_id=a.team_id(+)
and tt.player_id=a.player_id(+)
and tt.match_id=b.match_id(+)
and tt.team_id=b.team_id(+)
and tt.player_id=b.player_id(+)
MATCH_ID TEAM_ID PLAYER_ID RUNS OCC SUM_RUNS
1 1 1150 27 0 0
1 1 1243 60 0 0
1 1 1278 13 0 0
1 2 1203 82 0 0
1 2 1228 8 0 0
1 2 1316 24 0 0
2 1 1243 53 1 60
2 1 1278 37 1 13
2 1 1291 0 0 0
2 2 1228 25 1 8
2 2 1285 103 0 0
2 2 1316 60 1 24
3 1 1243 31 2 113
3 1 1278 52 2 50
3 1 1394 6 0 0
3 2 858 43 0 0
3 2 1228 8 2 33
3 2 1285 25 1 103
4 1 1243 3 3 144
4 1 1278 61 3 102
4 1 1394 6 1 6
4 2 858 5 1 43
4 2 1228 41 3 41
4 2 1285 40 2 128
6 2 1228 20 4 82
6 2 1285 100 3 168
6 2 1408 0 0 0
7 2 1228 15 5 102
7 2 1285 34 4 268
7 2 1408 44 1 0
8 2 1228 0 6 117
8 2 1340 66 0 0
8 2 1420 31 0 0
9 2 1340 0 1 66
9 2 1385 28 0 0
9 2 1420 19 1 31
36 rows selected.
SQL> Is this do you want ?
Nicolas. -
SQL query / thread problem!
I have the following code. when the execute mkethod is called, an instance of TransactionRunner is created. within the run method of TransactionRunner an SQLQuery is executed. I want to return the result set when the query has been executed, how can I do this, at the moment it tries to return the resultSet before the thread has finished. any ideas? I hav tried using a boolean as a flag but it doesn't appear to work.
public static ResultSet execute(String SQL, boolean rs)
System.out.println("in execute, dbm") ;
SQLStatement = SQL ;
result = rs ;
complete = false ;
tr = dbm.new TransactionRunner(SQL) ;
//SOME FORM OF INDICATION TO THE END OF SQL EXECUTION
return resultSet ;
class TransactionRunner implements Runnable
public ResultSet rs ;
private Thread queryThread ;
public String SQLStatement ;
public TransactionRunner(String SQL)
SQLStatement = SQL ;
queryThread = new Thread(this) ;
queryThread.start() ;
public void run()
if (result == true)
executeQuery(SQLStatement) ;
complete = true;
else
update(SQLStatement) ;
}I am up against the same problem, but I believe that
you could fire off a progress monitor during the
thread task and have the thread return the ResultSet.If you're planning to use Swing, then yes, you do need to execute the command in a spawned thread, otherwise your event thread will hang. BUT, spawning a sub-thread from a Swing app is not equivalent to spawning one from a simple console app, because the Swing event thread will keep your process alive. Instead, I would suggest doing something like the following:
1) In the ActionListener that invokes the query (may be hung off a menu item, or a button, depending on your app):
public void actionPerformed(ActionEvent actionEvent)
(new Thread(new MyQuery())).start();
displayWaitIndication();
}This method runs in the event thread, and spawns a sub-thread to run the query. It also displays some sort of wait indication, maybe a progress box or a WAIT_CURSOR (I prefer the wait cursor, as you can't accurately display the progress of a server-side operation).
2) MyQuery implements Runnable:
public void run()
List data = // call something to perform DB op here
SwingUtilities.invokeLater(new Runnable()
public void run()
mainWindow.refresh(data);
}This may be a bit confusing, as it leaves a lot of stuff out. I've used "List" as the return from the database function; chances are that you'll actually implement something like MyResultSet. You don't want to use an actual java.sql.ResultSet, because it (may) perform(s) a client-server call to retrieve each row. So, you process the real result-set into a container object (List or whatever) in the sub-thread.
Then, you pass that container object back to the display window, on the event thread. I've used a variable to access the display window; you may do things differently. The key thing is the use of SwingUtilities.invokeLater(), to perform the actual update on the event thread.
To summarize:
1) You initiate the action on the event-thread.
2) You perform the action in a sub-thread, put the resuls into a container.
3) You update your display on the event-thread, using SwingUtilities.invokeLater(). -
D2k Forms did not execute query.
In D2k forms 4.5 Support. In Application "WHEN BUTTON PRESSED" event written code as "do key(EXECUTE QUERY)". if i gives db click on query button it did executed all records from oracle 8i database. only 15,16,17,18 auto generated numbers(i think created sequence for auto generated numbers) only. Please guide me how to find and solve this problem.
You should post this thread to the Forms forum...Here it is Forms
-
Muse CC 2014 contact web forms problems
Hi I recently created a website using muse cc 2014 and I uploaded it to the hosting server a free one at freehosting.com I set up everything I know of and when I uploaded the site using muse it gave a error message saying something about PHP mail??? I setup the mail account for my admin user and entered that in the muse contact form. If I test the contact form I do not get the messages and I even added a email to have it forwarded to my yahoo account. If I go in my email account and enter the hosting email account I however do see the message on the server's webmail page and it gets forwarded to the email I set to be the forward email. I checked everything and I'm really confused as what needs to be done. I also submitted a ticket asking customer service they have yet to respond. To note I'm using a free hosting company as it's just a personal website that I don't need all the fancy stuff just the basic needed components to make it work. my website does show up and the pages work EXCEPT the contact form which is needed and important. I ran the script and this is the results
PHP Version - OK
mail configured incorrectly
SQL configuration problem
The last two items I really don't understand what is the problem
Im using Cpanel and here is some basic info on the host server. Please help me. Thanks
Hosting package
Free Website
Server Name
customers
cPanel Version
11.44.0 (build 16)
Theme
x3
Apache version
2.4.9
PHP version
5.4.26
MySQL version
5.5.37-cll
Architecture
x86_64
Operating system
linux
Shared IP Address
Path to sendmail
/usr/sbin/sendmail
Path to Perl
/usr/bin/perl
Perl version
5.10.1
Kernel version
3.14.3
cPanel Pro
1.0 (RC1)What would be the fix or proper setup for the "SQL configuration problem?" I too am having form problems on a third party host, and after checking the PHP diagnostics, the "php version" reads ok, the "mail configuration" is ok, but the SQL configuration is not.
I guess I just need to know what I need to communicate to the hosting administrator about the SQL so they will configure it properly.
Thanks -
Am calling the sql loader (sqlldr73) using HOST command from D2K Forms 4.5.
my code has following sequence,
<sequence of stmts 1>
Host(....);
<sequence of stmts 2>
the stmts(<sequence of stmts 2>) following the call to HOST commant should be executed only after successful execution of the sql loader.
curently the sql loader and stmts(<sequence of stmts 2>) are running parallely
Is there any work around?Hi,
Better way to do it would be to write a batch / shell script with the sequence of statements you want to execute and call the batch file using the host command.
Regards,
Arun -
Designer pl/sql web forms - 11g compatibility
Quick question for all...
Has anyone attempted or encountered problems when generating Designer pl/sql web forms into 11g database?
thanks!All my Web PL/SQL generator stuff is in 10g R2. I did have to make sure that I ran the Web PL/SQL installer to make sure I had the latest versions of the WSGL package and its companions.
Why? Are you having a problem? -
Dynamic SQL in Form Builder 6.0
Hai,
I would like to know how to create Dynamic SQL in Form Builder 6.0. I'am using oracle 9i database...Please help me.....I studied the EXEC_SQL and i wrote these syntax(below), but it gives me error...Could you help me please......:
PROCEDURE Dynamic_sql IS
connection_id EXEC_SQL.CONNTYPE;
cursorID EXEC_SQL.CURSTYPE;
sql_string VARCHAR2(1000);
v_pc varchar2 (4);
v_pd varchar2 (30);
v_poc varchar2(4);
v_pvd DATE;
v_pid DATE;
exec_id PLS_INTEGER;
out_file TEXT_IO.FILE_TYPE;
linebuf varchar2(7000);
vchFileName VARCHAR2(100);
Vchfolder VARCHAR2(100);
AppID PLS_INTEGER;
nmbAlert varchar2(50);
BEGIN
SET_APPLICATION_PROPERTY(CURSOR_STYLE,'BUSY');
vchFileName := 'dynamic_sql_'||sysdate||'.txt';
Vchfolder := 'D:\KONS\Damar\';
host('mkdir '||Vchfolder,NO_SCREEN);
out_file := text_io.fopen(vchfolder||vchFileName,'w');
TEXT_IO.PUT_LINE (out_file,'PRODUCT CODE PRODUCT DESC PRODUCT OBJECT CODE PRODUCT VALID DATE PRODUCT INVALID DATE ');
connection_id := EXEC_SQL.OPEN_CONNECTION('FIFDBA/F1FDBA@REPL_DAILY');
cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
sql_string := 'SELECT PROD_CODE, PROD_DESC, PROD_OBJT_CODE, PROD_VALID_DATE, PROD_INVALID_DATE
FROM HOUS_PRODUCT_TYPE ';
EXEC_SQL.PARSE(connection_id, cursorID, sql_string, exec_sql.V7);
--EXEC_SQL.BIND_VARIABLE(connection_id, cursorID, '', input_empno);
EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 1,v_pc, 4);
EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 2, v_pd, 30);
EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 3, v_poc, 4);
EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 4, v_pvd);
EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 5, v_pid);
exec_id := EXEC_SQL.EXECUTE(connection_id, cursorID);
WHILE (EXEC_SQL.FETCH_ROWS(connection_id, cursorID) > 0 ) LOOP
EXEC_SQL.COLUMN_VALUE(connection_id, cursorID, 1, v_pc, 4);
EXEC_SQL.COLUMN_VALUE(connection_id, cursorID, 2, v_pd);
EXEC_SQL.COLUMN_VALUE(connection_id, cursorID, 3, v_poc);
EXEC_SQL.COLUMN_VALUE(connection_id, cursorID, 4, v_pvd);
EXEC_SQL.COLUMN_VALUE(connection_id, cursorID, 5, v_pid);
TEXT_IO.PUT_LINE(out_file,v_pc || v_pd ||v_poc||v_pvd||v_pid);
--Forms_DDL('INSERT INTO TEMP VALUES('||''''||nRows||' '||v_state_id||''''||')');
--COMMIT_FORM();
END LOOP;
EXEC_SQL.CLOSE_CURSOR(connection_id, cursorID);
EXEC_SQL.CLOSE_CONNECTION(connection_id);
SET_APPLICATION_PROPERTY(CURSOR_STYLE,'DEFAULT');
TEXT_IO.FCLOSE(out_FILE); -
Smart Form problem with address layout
Hello everyone,
I need your help please for a smart form problem. We need the address layout for great britain with street1, street2 etc. but currently street2 is alligned before street1.
We are using the FM ADDRESS_INTO_PRINTFORM (SAP standard address node) and according to the documenation the layout for GB is different as we see it currently.
We have checked the sold-to and all contact persons, they have as country GB and language EN maintained.
In customizing for address screen layout there is nothing chosen (tested to set up Europe, but did not change anything).
For the customizing 'specify my countries...' we have maintained GB as country with the address layout key 006, vehicle country key GB and language key EN.
For the described setting shouldn't there be designed the address in our smart forms according to 006? Anyhting in customizing we missed?
Thanks a lot for your answers.
TorstenHi,
Try to use line priority of FM, below is a brief of documentation. You can read it more in FM documentation:
Control Parameters
See also the parameter documentation.
ADDRESS_TYPE - Address type (from 3.0C)
There are three types of address:
Address type '1': addresses of firms or organizations; the address
structure which is used in most SAP applications as 'Address'.
Address type '2': address of a person
Address type '3': work address, usually the address of a contact person
in a company
The default value SPACE for the address type is handled like type '1',
and is needed for the upwards-compatibility of the function module.
Which parameters are used for which address type is explained in the
ADDRESS_TYPE parameter documentation.
The three character "address layout key" of the recipient country (LAND1) controls which of the available country-specific routines is used to format addresses for the country in question. This key is stored in field T005-ADDRS and is entered in Customizing under Global settings -> Set countries -> Define countries, on the detail screen under "Address layout key".
Keys for customer routines in the SAP enhancement SZAD0001 can be
maintained via the transaction SM30 (extended table maintenance),table
name T005A, in the customer name range, and be assigned in country customizing.
The address attributes are passed in the structures ADDRESS1 (type 1), ADDRESS2 (type 2), ADDRESS3 (type 3) or ADRSWA_IN (type SPACE).
NUMBER_OF_LINES (ADRSWA_IN-ANZZL)
The number of lines available for the address layout. If the number of
lines is not sufficient for the complete layout of an address, then
lines are consecutively suppressed according to the rules of the country in question. Use the parameter LINE_PRIORITY (ADRSWA_IN-PRIOR) overrules the standard sequence in which the output lines are to be suppressed.
LINE_PRIORITY (ADRSWA_IN-PRIOR)
If not equal to SPACE, this field overwrites the standard sequence in
which the lines are suppressed if the available number of lines ANZZL is
insufficient.
The standard sequence is defined as follows:
Type 1: 'AP43HRT7I86LC2BS5O' (GB: 'APRT4327I86CBS5LO')
Type 2: 'APHRT7I86LCBS5O' (GB: 'PRT7I86CBS5LO')
Type 3: 'APF43HR7I86TLC2BSND5O' (GB: 'APRT4327I86CBS5LNDIO')
where (if they occupy a line of their own):
A = Title
P = Mandatory empty line 1
F = Function of the contact person in the company
4 = Name 4
3 = Name 3
H = Different city
R = Region
T = District
L = Name of country
C = Postal code
T = District
7 = Street 3 (field STR_SUPPL2)
I = Street 5 (field LOCATION)
8 = Street 4 (field STR_SUPPL3)
6 = Street 2 (field STR_SUPPL1)
L = Country
C = Postal code
2 = Name 2
B = PO Box
S = Street or PO Box
5 = c/o name
N = Name (and title) of a person
D = Department
O = City
Which of these attributes are available for maintenance can vary. All
fields exist in Business Address Services.
STREET_HAS_PRIORITY (ADRSWA_IN-WAREN)
'X': Street has priority over PO Box (delivery address for example)
' ': PO Box has priority over street. This is the default value.
regards, -
What are the best books for PL/SQL and Forms for BEGINNERS?
I asked about learning Oracle Forms in an earlier thread. Some suggested Oracle training at official Oracle Training centers like Koenig. I just went to the Koenig site. The OCA & OCP Forms Developer Training Boot Camp is a whopping 2,610 USD. That’s like 1/4 Million LKR. It’s more that the yearly salary of both the 2 new developers we got and want to train. That’s out of the question.
Some have suggested shadowing experiences programmers and team coding. Both options are out, since those things don't work here.
Learning from sites such as Francois Degrelle's blog is no good for new people since they will get confused.
I have come to the conclusion that the only way to do is to buy 2 books, one for PL/SQL and another for Oracle Forms, give it to them and ask them to follow the book and learn it and also give a time period like 2 or 3 months.
What are the good books out there for BEGINNERS to learn PL/SQL and Forms?
Edited by: Channa on Aug 8, 2010 10:08 PM
Edited by: Channa on Aug 8, 2010 10:12 PMIn addition to the books the chapter Application Developer's Guide - Fundamentals in the documentation is also worth giving a shot:
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/toc.htm
Just for the record: I believe leaving them alone with the books won't do it. I'd at least define objectives (e.g. $chapters of the books in a week) and after they achieved them I'd test their knowledge of the individual objectives (like it was back in school :p ). By that you have control over how they are proceeding, you can focus on the things they didn't understand and you are able to eradicate some bad habits they might adopt during their studies.
If you don't take your time to train them proper you won't get good developers anyway and you will loose much more time and money...
cheers -
Oracle Database 11g Administrator or Oracle PL/SQL and Forms Developer?
Hi,
I am thinking about doing an Oracle certification course- Oracle Database 11g Administrator or Oracle PL/SQL and Forms Developer.
Oracle Database 11g OCP and OCM certification requires 3 mandatory training courses to be completed that costs between $1900 and $3250/each. Oracle PL/SQL certication doesn't require any mandatory training course.
Which one of these would be a good choice? Please advise.
Thank you,
TracyRegardless of which path you want to take, in order to get the OCP certification in either the DBA or PL/SQL developer track, you must first obtain the respective OCA certification for that track. I'm assuming that since you are still undecided in which path to take that you haven't started working on either yet. If you look at the pages for the OCA DBA and OCA PL/SQL Developer certs and what is required for each, you'll see that the first block of tests for either certification (the SQL based exams) has the same options (1Z0-007, 1Z0-047, 1Z0-051) and passing one of those SQL based exams gives credit towards obtaining both OCA certifications. That might be a good place to start.
Doing one of these tests first might give you some extra time to decide which track you want to pursue. But as Justin said, it really depends on what you do (or plan on doing) in your career as to which path might be more beneficial for you.
As for the OCM level stuff, I wouldn't even think about it until you get the OCP. One step at a time... Same with OCP before OCA. That being said, my suggestions are just that, suggestions. You're free to take any exams/courses in any order, but you won't be able to obtain the certs until you have completed the requirements for each. -
Which trigger fires when i press cancel query button in oracle d2k forms.
hi all,
i have simply press then enter query but didn't enter anything in form and then press the cancel query. so i just want to know that what trigger will fire when i press the cancel query button in d2k form.
Regards,
kam.Why not ask into Forms<br>
<br>
Nicolas. -
I' d like to use dynamic SQL in Form, but i'm attacking a access database(ODBC OCA).
Is there any way to do that?
Thanks.
nullSEE ALL EXAMPLES
=============
Example 1
** Built-in: FORMS_DDL
** Example: The expression can be a string literal.
BEGIN
Forms_DDL('create table temp(n NUMBER)');
IF NOT Form_Success THEN
Message ('Table Creation Failed');
ELSE
Message ('Table Created');
END IF;
END;
Example 2
** Built-in: FORMS_DDL
** Example: The string can be an expression or variable.
** Create a table with n Number columns.
** TEMP(COL1, COL2, ..., COLn).
PROCEDURE Create_N_Column_Number_Table (n NUMBER) IS
my_stmt VARCHAR2(2000);
BEGIN
my_stmt := 'create table tmp(COL1 NUMBER';
FOR I in 2..N LOOP
my_stmt := my_stmt| |',COL'| |TO_CHAR(i)| |' NUMBER';
END LOOP;
my_stmt := my_stmt| |')';
** Now, create the table...
Forms_DDL(my_stmt);
IF NOT Form_Success THEN
Message ('Table Creation Failed');
ELSE
Message ('Table Created');
END IF;
END;
Example 3:
** Built-in: FORMS_DDL
** Example: The statement parameter can be a block
** of dynamically created PL/SQL code.
DECLARE
procname VARCHAR2(30);
BEGIN
IF :global.flag = 'TRUE' THEN
procname := 'Assign_New_Employer';
ELSE
procname := 'Update_New_Employer';
END IF;
Forms_DDL('Begin '| | procname | |'; End;');
IF NOT Form_Success THEN
Message ('Employee Maintenance Failed');
ELSE
Message ('Employee Maintenance Successful');
END IF;
END;
Example 4:
** Built-in: FORMS_DDL
** Example: Issue the SQL statement passed in as an argument,
** and return a number representing the outcome of
** executing the SQL statement.
** A result of zero represents success.
FUNCTION Do_Sql (stmt VARCHAR2, check_for_locks BOOLEAN := TRUE)
RETURN NUMBER
IS
SQL_SUCCESS CONSTANT NUMBER := 0;
BEGIN
IF stmt IS NULL THEN
Message ('DO_SQL: Passed a null statement.');
RETURN SQL_SUCCESS;
END IF;
IF Check_For_Locks AND :System.Form_Status = 'CHANGED' THEN
Message ('DO_SQL: Form has outstanding locks pending.');
RETURN SQL_SUCCESS;
END IF;
Forms_DDL(stmt);
IF Form_Success THEN
RETURN SQL_SUCCESS;
ELSE
RETURN Dbms_Error_Code;
END IF;
END;
Maybe you are looking for
-
Can hard disk be replaced with larger capacity of SSD or SATA disk?
Weighing on buying a Twist, can I replace the hard disk with larger capacity SSD or SATA disk? Is there any capacity limit on SATA disk? Are SSD and SATA disks compatible for Twist (say replace SSD disk with SATA disk or vice versa? Many thanks.
-
Can my hp1510 scanner be used as a fax
Can my scanner be used as a fax?
-
Despite my Javascript for Firefox 23 being "enabled" ( I checked re the "about:config" steps), some websites are still asking me to enable my Javascript to view content. Safari works without any problem. OS/X 10.8.4
-
E-Mail Generating from database error ORA-06502: PL/SQL:
Hello, I have write script for generating HTML formated email from database (11g). when text body increase 4000 char it generating error ORA-06502: PL/SQL: numeric or value error: character string buffer too small ORA-06512: at "EXPORT.REALIZATIONHTM
-
I've deleted a couple third-party applications recently, but when I go to Finder>Services, their services still show up, even though the application they point to are gone. Is there an easy fix to this?