ForAll in the procedure

Hi all

I am a beginner in PL/SQL... Need your expertise in this...

CREATE TABLE CUST

(

S_DATA VARCHAR2 (40 BYTES) BY DEFAULT ' ' NOT NULL,

V_YEAR VARCHAR2 (8 BYTES) BY DEFAULT ' ' NOT NULL,

S_STAT VARCHAR2 (1 BYTE),

DATE OF START_DT,

END_DT DATE,

S_DESP VARCHAR2 (60 BYTE),

SRCE_YEAR VARCHAR2 (4 BYTE),

S_SEQ NUMBER 4,

S_SOURCE VARCHAR2 (30 BYTE),

);


CREATE A UNIQUE CUST_PK ON CUST (S_DATA, V_YEAR) INDEX;

ALTER TABLE CUST ADD()
CONSTRAINT CUST_PK
KEY ELEMENTARY SCHOOL
(S_DATA, V_YEAR)
ENABLE VALIDATE);


Few records of the table...

Insert into cust values (' 2014 'LITEM', ',', TO_DATE (1 January 2014 ',' DD/MM/YYYY '), TO_DATE (December 31, 2014 ',' DD/MM/YYYY '), 'BookLEM', ' 2014 ", 89, 'Mary');
Insert into cust values (' 2011 'NJM', ',', TO_DATE (January 1, 2014 ',' DD/MM/YYYY '), TO_DATE (December 31, 2014 ',' DD/MM/YYYY '), 'BookLEM', ' 2014 ", 89, 'Mary');
Insert into cust values ('LM', '2014', ', TO_DATE (1 January 2014 ',' DD/MM/YYYY '), TO_DATE (December 31, 2014 ',' DD/MM/YYYY '), 'test rec', '2014', 1, 'Jacob');
Insert into cust values (' 2014 'KHJ', ',', TO_DATE (January 1, 2014 ',' DD/MM/YYYY '), TO_DATE (December 31, 2014 ',' DD/MM/YYYY '), 'store rec', '2014', 4, 'Jacob');
Insert into cust values ('KIFM', ' 2000 ',', TO_DATE (1 January 2014 ',' DD/MM/YYYY '), TO_DATE (December 31, 2014 ',' DD/MM/YYYY '), 'BookLEM', ' 2014 ", 89, 'Mary');


Table cust has around 48000 records. I create a stored procedure to insert records for each record in the cust with v_year = 2014, with the range below...

1. for each record from 2014 to cust = v_year, create records with v_year = 2015 (with s_stat = 'B') and v_year = 2016,2017,2018 (with s = s_stat ')
2 start_dt, end_dt will vary respective to the v_year as below in insert statements.
3. prior to insert the records, check if the file already exists, if there are jump the insert for this year.   -I don't know how this script as well...


create or replace procedure cust_test (
out_ret_code OUT NUMBER,
out_err_msg  OUT VARCHAR2) 
is

        CURSOR samp_cur is
             select * from cust where v_year='2014';
TYPE cur_data is TABLE OF cust%ROWTYPE;
result_data   cur_data := cur_data();
begin
  open samp_cur;
  loop
       fetch samp_cur BULK COLLECT into result_data limit 1000000;
       exit when result_data.COUNT=0;
       FORALL idx in 1..result_data.COUNT 
              insert into cust (s_data,v_year,s_stat,start_dt,end_dt,s_desp,srce_year,s_seq,s_source)
              values (result_data(idx).s_data,'2015','B',to_date('01/01/2015', 'MM/DD/YYYY'),to_date('12/31/2015','MM/DD/YYYY'),result_data(idx).s_desp,'2015',result_data(idx).s_seq,'user1');
     
              insert into cust (s_data,v_year,s_stat,start_dt,end_dt,s_desp,srce_year,s_seq,s_source)
              values (result_data(idx).s_data,'2016','S',to_date('01/01/2016', 'MM/DD/YYYY'),to_date('12/31/2016','MM/DD/YYYY'),result_data(idx).s_desp,'2016',result_data(idx).s_seq,'user1');
              insert into cust (s_data,v_year,s_stat,start_dt,end_dt,s_desp,srce_year,s_seq,s_source)
              values (result_data(idx).s_data,'2017','S',to_date('01/01/2017', 'MM/DD/YYYY'),to_date('12/31/2017','MM/DD/YYYY'),result_data(idx).s_desp,'2017',result_data(idx).s_seq,'user1');
              insert into cust (s_data,v_year,s_stat,start_dt,end_dt,s_desp,srce_year,s_seq,s_source)
              values (result_data(idx).s_data,'2018','S',to_date('01/01/2018', 'MM/DD/YYYY'),to_date('12/31/2018','MM/DD/YYYY'),result_data(idx).s_desp,'2018',result_data(idx).s_seq,'user1');
   END LOOP;
 Close samp_cur;
end;
/

I get an error in the procedure that must be declared IDX... Also, please advise if it is correct in terms of scope... Appreciate your help...

Thank you very much.


INSERT INTO CUST

(

S_DATA

V_YEAR

S_STAT

START_DT

END_DT

S_DESP

SRCE_YEAR

S_SEQ

S_SOURCE

)

SELECT S_DATA, the_year, CASE WHEN the_year = 2015 CAN ' to ' B' ELSE ' END

TO_DATE(the_year||) e 0101', 'YYYYMMDD'), TO_DATE(the_year||) e 1231', 'YYYYMMDD')

s_desp

the_year

s_seq

, "user1".

FROM CUST, (SELECT 2014 + LEVEL the_year FROM DUAL CONNECT BY LEVEL<>

WHERE V_YEAR = ' 2014 "

;

You can use merge or condition NOT EXISTS to skip existing records, like this:

MERGE INTO CUST
WITH THE HELP OF)
SELECT S_DATA, the_year V_YEAR, WHEN the_year-CASE = 2015 THEN ' of ' B' ELSE ' END S_STAT
TO_DATE(the_year||) e 0101', 'YYYYMMDD') START_DT, TO_DATE(the_year||) e 1231', 'YYYYMMDD') END_DT
s_desp
the_year SRCE_YEAR
s_seq
"user1" S_SOURCE
FROM CUST, (SELECT 2014 + LEVEL the_year FROM DUAL CONNECT BY LEVEL<>
WHERE V_YEAR = ' 2014 "
) D
ON (CUST. S_DATA = D.S_DATA AND CUST. V_YEAR = D.V_YEAR)
WHEN NOT MATCHED THEN INSERT
(
S_DATA
V_YEAR
S_STAT
START_DT
END_DT
S_DESP
SRCE_YEAR
S_SEQ
S_SOURCE
)
VALUES)
D.S_DATA
D.V_YEAR
D.S_STAT
D.START_DT
D.END_DT
D.S_DESP
D.SRCE_YEAR
D.S_SEQ
D.S_SOURCE
);

or:

INSERT INTO CUST
(
S_DATA
V_YEAR
S_STAT
START_DT
END_DT
S_DESP
SRCE_YEAR
S_SEQ
S_SOURCE
)
SELECT S_DATA, the_year V_YEAR, WHEN the_year-CASE = 2015 THEN ' of ' B' ELSE ' END S_STAT
TO_DATE(the_year||) e 0101', 'YYYYMMDD') START_DT, TO_DATE(the_year||) e 1231', 'YYYYMMDD') END_DT
s_desp
the_year SRCE_YEAR
s_seq
"user1" S_SOURCE
CUST C1, (SELECT 2014 + LEVEL the_year FROM DUAL CONNECT BY LEVEL<>
WHERE V_YEAR = '2014' AND NOT EXISTS (SELECT 1 FROM CUST WHERE S_DATA = C1. S_DATA AND V_YEAR = the_year);

Tags: Database

Similar Questions

  • Get the result of the procedure

    Hi all

    I have a procedure using storeb from the collection in an object of type as:

    create or replace type calc_type as object
    (
    field1 number,
    field2 number,
    field3 varchar2);
    
    create or replace type calc_table as table of calc_type;
    
    procedure make_calc_sched(v_id in number, v_user_id in varchar2) is 
    
    table_calc calc_table;
    begin
      select s.id, s.price, s.desc
      bulk collect into table_calc
      from tableA s
      inner join tableB d on d.id = s.id
      --.....
      
    end;
    

    How can I get the result of the procedure?

    procedure make_calc_sched(v_id in number, v_user_id in varchar2, v_table in out ????) is
    

    I plan to put up-to-date and inserts using the FORALL sentence.

    Can I use slider?  Maybe is a better way to do it.

    With the help of Oracle Database 11 g Enterprise Edition Release 11.2.0.4.0

    Thank you

    I think I got it:

    procedure make_calc_sched(v_id in number, v_user_id in varchar2, v_table out calc_table) is 
    
    begin
      select calc_type(s.id, s.price, s.desc)
      bulk collect into v_table
      from tableA s
      inner join tableB d on d.id = s.id
      --.....
    
    end;
    

    I'll look to materialize views more later. Someone at - it examples?

    Best,

  • The procedure helps

    Hello

    Can someone help me with the procedure below. It seems to me, but I'm unable to turn it and get the error.

    "Error (8.36): PLS-00103: encountered the symbol"UNDER"when expecting one of the following conditions: (- + case null new mod continue County avg current prior min max sql stddev sum variance execute forall time timestamp interval date fusion pipe)"

    CREATE OR REPLACE PROCEDURE ddl_create_proc(p_table IN varchar2)
    AS
    i_stmt varchar2(200);
    BEGIN
    dbms_output.put_line('starting....');
    i_stmt := 'create table'||p_table||as 'select * from emp';
    execute immediate i_stmt;
    dbms_output.put_line('procedure Ended');
    EXCEPTION
    WHEN OTHERS THEN
    dbms_output.put_line('EXCEPTION '||SQLERRM||'MESSAGE'||SQLCODE);
    END;
    /
    
    

    Thanks in advance!

    Hello

    user782973 wrote:

    Hello

    Can someone help me with the procedure below. It seems to me, but I'm unable to turn it and get the error.

    "Error (8.36): PLS-00103: encountered the symbol"UNDER"when expecting one of the following conditions: (- + case mod new null continue County avg current min max sql prior stddev sum variance execute forall time timestamp interval date fusionpipe" ").

    1. CREATE OR REPLACE PROCEDURE ddl_create_proc (p_table IN varchar2)
    2. AS
    3. i_stmt varchar2 (200);
    4. BEGIN
    5. dbms_output.put_line ('starting...');
    6. i_stmt: = 'create table ' | p_table | as ' select * from emp';
    7. immediately run i_stmt;
    8. dbms_output.put_line ("'procedure completed");
    9. EXCEPTION
    10. WHILE OTHERS THEN
    11. dbms_output.put_line ('EXCEPTION' |) SQLERRM | ' MESSAGE' | SQLCODE);
    12. END;
    13. /

    Thanks in advance!

    In addition to what others have said, whenever you do the dynamic SQL code, display the value chain before you run it, like this:

    CREATE OR REPLACE PROCEDURE ddl_create_proc (p_table IN varchar2)

    AS

    i_stmt varchar2 (200);

    BEGIN

    dbms_output.put_line ('go... ») ;

    i_stmt: = 'create table ' | p_table | ' in select * from emp';

    dbms_output.put_line (i_stmt |) '= i_stmt in ddl_create_proc");  -For debugging

    immediately run i_stmt;

    dbms_output.put_line ('procedure completed");

    END ddl_create_proc;

    /

    After the test is finished, you can comment out the line marked "for debugging.

    You need an EXCEPTION section.  If there is an error, the error message will be displayed by default; you don't need to explicitly show.

    What is the big picture here?  What is this procedure intended to do?  There may already be a procedure provided by Oracle that the fact, perhaps in dbms_metadata:

    DBMS_METADATA

  • A question about the procedure of bind_array in the sys.dbms_sql package

    Hi all

    I have a problem with the procedure of bind_array of the sys.dbms_sql package and I would be grateful if you could kindly show where I've made mistakes in my code.

    Parameter
    Value of the parameter
    Oracle versionEnterprise Edition Release 11.2.0.1.0 - 64 bit
    OPERATING SYSTEMLinux Fedora Core 17 (X86_64)

    Test case:

    For the purpose of this exercise (if you want that data at your disposal), I use the employees of the HR schema example table.

    Problem:

    Consider the following SQL query:

    SELECT    t1.first_name fname
    FROM        hr.employees t1
    WHERE     t1.employee_id IN (197, 179, 130, 116);
    
    

    This gives the following result

    FNAME

    --------------------

    Mozhe

    Shelli

    Kevin

    Charles

    SQL >

    Just an exercise I want to use the dbms_sql package to do the same thing (there is absolutely no need to do it, because nothing is dynamic here, but as I said, the goal was to do some exercises with sys.dbms_sql package in order to better understand how to work these procedure/functions)

    Here's what I wrote (the following was performed directly in SQL * more):

    SET SQLBLANKLINES ON;
    ALTER SESSION SET PLSQL_WARNINGS='ENABLE:ALL';
    SET SERVEROUTPUT ON;
    
    
    CREATE OR REPLACE PROCEDURE mytestProc
    AUTHID DEFINER
    IS   
    BEGIN
        <<bk>>
        DECLARE
            curId       PLS_INTEGER;  -- The cursor ID
    
            rowCnt      PLS_INTEGER;  
    
           
            fname       hr.employees.first_name%TYPE;
            FNAME_LNG   CONSTANT PLS_INTEGER := 20;
           
            empIds      sys.dbms_sql.NUMBER_TABLE;
           
            SQLSTMT     CONSTANT VARCHAR2(100) :=
                'SELECT t1.first_name '                 ||
                'FROM   hr.employees t1 '               ||
                'WHERE  t1.employee_id IN :b_empIdTab';
        BEGIN
            -- We chose 4 arbitrary employee_id for
            -- the purpose of this exercise from
            -- the employee table of oracle sample
            -- 'hr' schema
            empIds(1) := 197;
            empIds(2) := 179;
            empIds(3) := 130;
            empIds(4) := 116;
           
            bk.curId := sys.dbms_sql.open_cursor(security_level=>2);
           
            sys.dbms_sql.parse(bk.curId, 
                                bk.SQLSTMT, 
                               sys.dbms_sql.NATIVE
                              );
                              
            sys.dbms_sql.define_column(bk.curId, 
                                       1, 
                                       bk.fname,
     bk.FNAME_LNG
                                      );
           
            -- So normally here the 4 employees id are provided
            -- to the SQL statement
            sys.dbms_sql.bind_array(bk.curId, ':b_empIdTab', bk.empIds);
           
            rowCnt := sys.dbms_sql.execute(bk.curId);
           
            WHILE (sys.dbms_sql.fetch_rows(bk.curId) > 0) LOOP
                sys.dbms_sql.column_value(bk.curId, 1, bk.fname);
                sys.dbms_output.put_line('fname = ' || bk.fname);
            END LOOP;
           
            sys.dbms_sql.close_cursor(bk.curId);
        END;
    END mytestProc;
    /
    SHOW ERRORS;
    
    
    BEGIN
        mytestProc();
    END;
    /
    
    
    DROP PROCEDURE mytestProc;
    SET SERVEROUTPUT OFF;
    
    

    And here is the result of the code above:

    fname = Shelli

    PL/SQL procedure successfully completed.

    SQL >

    What don't get me, is why instead of four names (fname), I get one?

    Thanks in advance,

    Kind regards

    Dariyoosh

    To be honest, the evolution of the DBMS_SQL is somewhat confusing, but suffice it to say the DBMS_SQL. Procedure BIND_ARRAY is not what you are looking for.

    The DBMS_SQL. Procedure BIND_ARRAY binds each value in the array to turn to * separated * execution of the SQL statement, which is similar to the FORALL in native dynamic SQL statement. While this works well for INSERT/UPDATE/DELETE and works in principle with SELECT statements, which, according to me, you actually get is the result of one of these performances that is clearly not what you want.

    Instead what you are looking for is one of the overloads of the DBMS_SQL. Procedure bind_variable that supports the binding types of collections, but will not work with SQL, you have now the paragraph uses a literal in, you use is a MEMBER OF (which is AFAIK not call to the index) or treat the collection in a table via the syntax of function () TABLE and each join or use it as an IN subquery.

  • Dynamics of PL/SQL code in the procedure of the ODI

    Hi guys:

    I have a PL/SQL code to run in an ODI proc that changes because of a loop.

    I have to update the many tables with the same prefix and its sufix is the dynamic part of my PL/SQL. Also, I need to adjust the DT_ETL (I already have a variable in my package with the sysdate) and the limit of a rownum.

    My variables are:

    vGET_CD_BASE*.
    vQTD_REG_UPDATE*.
    vETL_DATE*.

    PL/SQL is described below (with dynamic parts of it as ODI #vXXXXX variables):

    DECLARE
    CURSOR v_Cur IS
    SELECT ROWID KEY_ROW IN GG_DATA. WRK_SN_DET_ITEM_EXTR_PARC_ * #vGET_CD_BASE * WHERE DT_ETL = TO_DATE('01/01/1900','DD/MM/YYYY') and rownum < * #vQTD_REG_UPDATE *;
    TYPE t_Tabela IS TABLE OF ROWID directory INDEX;
    r_Reg t_Tabela;
    BEGIN
    OPEN v_Cur.
    LOOP
    Get the v_Cur COLLECT LOOSE r_Reg LIMIT 100000;
    FORALL i IN 1.r_Reg.COUNT

    UPDATE GG_DATA. WRK_SN_DET_ITEM_EXTR_PARC_ * #vGET_CD_BASE *.
    SET DT_ETL = TO_DATE ('* #vETL_DATE * ',' DD/MM/YYYY HH24:MI:SS')
    WHERE ROWID = r_Reg (i);

    EXIT WHEN v_Cur % NOTFOUND;
    COMMIT;
    END LOOP;
    CLOSE V_Cur;
    COMMIT;
    END;

    What should I change to make it work of PL/SQL in the ODI process?

    Kind regards.
    Luiz Araujo

    Hi Buchu.

    What if you put the name of the table in the variable instead of concatenate in the PL/SQL code.

    This is what I did and seems that worked here.

    (1) create a variable for the name of the table as follows:

    Variable name: var_Table_Dual
    Source code: select 'DOUBLE' double

    (2) create a PRC_VAR_CHANGE procedure

    (3) create a CMD_VAR_CHANGE command

    Command:
    declare vText varchar2 (100): = ";

    Start

    SELECT sysdate in vText #var_DUAL;

    end;

    (4) create a Package for the test.
    First step: Refresh variable
    Second step: call the procedure.

    The result of the operator for the procedure was the following code.
    declare vText varchar2 (100): = ";

    Start

    SELECT sysdate from vText OF #DATA_WAREHOUSE. INC_SYSDATE;

    end;

    Try and let me know.

    Cheers mate!

  • Table table changes to the procedure

    I have defined an object Type and an array Type, use it in the package as a parameter and use it in a FORALL statement. It compiles, but I can't really pass the data to the procedure.
    CREATE OR REPLACE TYPE TYPE_RD AS OBJECT   
         (rd_id     INTEGER,
          child_id  INTEGER,
          start_date DATE,
          end_date  DATE);
    /
    
    CREATE OR REPLACE TYPE TABLE_RD AS TABLE OF TYPE_RD;   
    /
    
    PROCEDURE save_rd_test
       (  p_rec_data    TABLE_RD ) IS
    BEGIN
         forall i in 1 .. p_rec_data.count
          -- the insert statement here
    EXCEPTION
       WHEN OTHERS THEN
      -- log the error
    END;
    /
    I tried to call the procedure as follows:
    exec save_rd_test(p_rec_data=>TABLE_RD((1000,100,to_date('01/01/2010','mm/dd/yyyy'),to_date('12/31/2010','mm/dd/yyyy')) ) )
    
    PLS-00306: wrong number or types of arguments in call to 'TABLE_RD'
    What I'm trying to actually possible, and if so what am I doing wrong?

    Maybe this?

    exec save_rd_test(p_rec_data=>TABLE_RD(TYPE_RD(1000,100,to_date('01/01/2010','mm/dd/yyyy'),to_date('12/31/2010','mm/dd/yyyy')) ) )
    
  • What is the procedure for upgrading Thunderbird ESR 17.0.7 at 31.6 on Mac OSX 10.10.2?

    What is the procedure for upgrading from Thunderbird ESR 17.0.7 at 31.6 (last public version) on Mac OSX 10.10.2?

    Is it as simple as install new version and then run to see all local folders and my email and its folders from IMAP to my company as before the upgrade?

    Thank you

    Create a full backup of your Thunderbird profiles folder.
    Uninstall the old version of ESR.
    Download the latest version from https://www.mozilla.org/en-US/thunderbird/all.html and install it.

  • the procedure entry point NSSUTIL_EscapeSize could not be located in the dynamic link library nssutil3.dll

    Windows XP with Firefox 18.0.1 does not open when upgraded to the latest version.
    Error messages have been
    (1) the procedure entry that point pr_setcurrentthreadname could not be located in the dynamic library (2) ndpr4.dll the procedure entry point NSSUTIL_EscapeSize could not be located in the dynamic links (3) library nssutil3.dll was not able to load XPCOM

    A ran malware & anti-virus software then deleted Firefox via Control Panel, then residual file file C:\Documents & Folders\ApplicationData\Mozilla Director and program folder.
    Local & installed products ndpr4.dl and nssutil3.dll - fresh reinstall firefox several times - he got rid of the error message 1 but not 2 or 3 always cannot open Firefox.
    All solutions?

    I have this problem and I use Zone Alarm Extreme Security with Force active field. I found that by turning off the virtual Cache in Zone Alarm that this problem has disappeared and has been able to restart firefox.

    Here is a post I found that addresses the issue in some way. http://KB.mozillazine.org/Browser_will_not_start_up#Firefox_does_not_start_after_updating_with_ZoneAlarm_ForceField_enabled

  • After you install a Foxfire 5.0 update, I get this message when you try to open Mozilla: the procedure entry point sqlite3_db_status could not be located in the dynamic link library mozsqlite3.dll.

    I get this message when you try to open Mozilla: the procedure entry point sqlite3_db_status could not be located in the dynamic link library mozsqlite3.dll.

    Do a clean reinstall.

    Download a new copy of Firefox and save the file to the desktop.

    • Uninstall your current version of Firefox.
    • Do not remove the data of a personal nature when you uninstall the current version.

    Delete the program folder Firefox before installing newly downloaded copy of the Firefox installer.

    • It is important to remove the Firefox program folder to delete all the files and make sure that there is no problem with the files that were the remains after uninstallation.

    Your bookmarks and other profile data is stored in the Firefox profile folder and will not be affected by a relocation, but make sure that you do not select delete data of a personal nature if you uninstall Firefox.

  • I downloaded Itunes 12.3.3 and now I tunes does not recognize my Ipad or Iphone. I went through all the procedures and just uninstall and reinstall. Please fix 12.3.3.Thanks.

    I downloaded Itunes 12.3.3 and now I tunes does not recognize my Ipad or Iphone. I went through all the procedures and just uninstall and reinstall. Please fix 12.3.3.Thanks.

    iTunes: fix iPhone or iPod not detected Windows 10

  • The procedure of procurement of the game Clash of Clans first two payments $9.99 $4.44 and the second did not gems continued with the developer of the game and they told me to resolve this ongoing problem with Apple's iTunes... help me solve

    The procedure of procurement of the game Clash of Clans first two payments $9.99 $4.44 and the second did not gems continued with the developer of the game and they told me to solve this problem continue with Apple iTunes... help solve me this problem and the compensatory jewelry

    Double-see your message, my first response to this topic tells you how to contact iTunes Support (we are fellow users): Re: the procurement process of the Clash game Clans the amount was deducted from the iTunes account and do not have t...

  • Hello everyone, I just bought a Thunderbolt Apple display to use with my 2012 15 "27" Macbook Pro, Win10/Bootcamp. Is anyone know the procedure to get the display to work with Bootcamp Windows 10?  I have connected screen but no picture. TY

    Hi all

    I just bought a Thunderbolt Apple display to use with my 2012 15 "27" Macbook Pro Win10/Boot Camp running. Is anyone know the procedure to get the display to work with Bootcamp/Windows 10? Is there a setting in the training Camp that must be turned on to make it work? I have connected screen but could not get a desktop display.  Any help would be really appreciated! TY

    The monitor should have a TB and adapter power connector. The monitor works on both OSX. ? If so, shut down of windows, connect monitor and start Windows. Your TB 2012 monitor is not plug-and-play with Windows.

    Please see ports Thunderbolt and views: frequently asked questions (FAQ) - Apple Support .

    1. the "hot pluggable" Thunderbolt devices using Windows with Boot Camp?

    Thunderbolt hot plugging is supported under Windows 8 or 8.1 on all Macs from 2014 and later.

    For all other Mac computers, Windows 7, 8 and 8.1 scans and active them Thunderbolt devices connected to ports Thunderbolt during the Windows startup process. If your device has been plugged in not at startup, Windows detects not without a reboot.

  • Error "the procedure entry point SMapLS_IP_EBP_12 be found in KERNEL32.dll dynamic link library" when you try to play Red Alert: Command & Conquer

    Original title: the procedure entry point SMapLS_IP_EBP_12 could not be found in KERNEL32.dll dynamic link library.

    Ive been trying to install Red Alert: Command and Conquer on my new pc windows 7 and of course he will not play to come with all can't play because its running windows 6.1 and it's a single program of windows 95. then I went through all troubleshooting and change everything to make sure that it works and it actually installed, but when I went to play this message appears and im like why does this happen to me!

    The procedure entry point SMapLS_IP_EBP_12 be found in KERNEL32.dll dynamic link library.

    It of the message, can someone help me?

    Hi BigAl3000,

    Please note that Command & Conquer: Red Alert 3 is the only version compatible with Windows 7.

    Red Alert 2 and red alert are not compatible with Windows 7.

    See Windows 7 compatibility for Command & Conquer: Red Alert for more information.

    To troubleshoot program compatibility issues in Windows 7, try the following methods:

     

    Method 1: Open the program compatibility problems

     

    Most programs written for Windows Vista are also running Windows 7, but some older programs might run poorly or not at all. If an older program does not work, use the program compatibility issues to simulate the behavior of earlier versions of Windows.

    Method 2: Contact the program vendor or the hardware manufacturer

     

    Contact the program vendor for advice on how to solve the problem. In general, the software vendor's Web site provides a support section that you can use, for example, to search for an error message that you receive from the program.

    Hope this information helps.

    Gokul - Microsoft Support

    [If this post was helpful, please click the button "Vote as helpful" (green triangle). If it can help solve your problem, click on the button 'Propose as answer' or 'mark as answer '. [By proposing / marking a post as answer or useful you help others find the answer more quickly.]

  • the procedure entry point GetFinalPathNameByHandleW could not be found in KERNEL32.dll dynamic link library

    Hello

    While trying to install a program, I see the following on the screen error message:

    The procedure entry point GetFinalPathNameByHandleW could not be found in KERNEL32.dll dynamic link library

    The I set him, is a Windows XP 32-bit environment.

    The I am installing, is a program, created by my own company, using a 32-bit self-extracting installer, which is also created by my own business using InstallAnywhere Flexera software.

    No changes were made on the environment of the installers.

    No change seems is done on the environment for creating installation programs (where the self-extracting installer is created): I checked the monitor of reliability/Action Center / Control Panel and no entries are present between a job and an installer without work.

    The file 'KERNEL32.dll' is mentioned in the error message, I checked his date of change, which is 11/30/2012, this should not be the cause of the problem either.

    Witnin the self-extracting installation program, a few changes were found, those who are considered at the moment, but there is no indication or not those who are causing the error message I see here.

    Does anyone have an idea what may cause the error message mentioned and how to cope?

    Thank you

    Dominique

    These types of error messages mean that the program is looking "inside" the file specified (in this case kernel32.dll) try to find a function/procedure to run called "GetFinalPathNameByHandleW" and find do not.

    The program calls the non-existent function badly or the library file is not in there.  Things do not match somewhere.

    A DLL is a library of dynamic links and files as kernel32.dll are sometimes just a bunch of procedures/functions/subroutines and all located in a single, portable file.

    In a primitive way, you can use a text editor to open the kernel32.dll file (make a copy if it your desire) and search for a string "GetFinalPathNameByHandleW" and you will not find.

    You can even search for "GetFinal", and you won't find it in the XP kernel32.dll file:

    But if you do the same thing on a Windows 7 + kernel32.dll you 'll find:

    If your program calls a function inside a DLL, but this feature does not exist in the Windows XP's kernel32.dll file.

    I think that GetFinalPathNameByHandleW was introduced in Windows Vista, so now here you would be fine.

    If who wrote your program is that it works on XP, they need to stick to the functions that are part of XP and GetFinalPathNameByHandleW isn't here, where the error.

  • 'The procedure entry point DecodePointer could not be found in KERNEL32.dll dynamic link library '.

    ORIGINAL TITLE: How can I fix this please?

    I have an older version of Windows XP (Home edition) Version 5.1.  Trying to get updated with service packs, etc., I get the pop up message in the box below.  How can I fix the problem?

    'The procedure entry point DecodePointer could not be found in KERNEL32.dll dynamic link library '.

    Thank you for your help.

    The other post:

    We get an error "iexplore.exe - point of entry not found in KERNEL32.dll dynamic link library" so he was trying to use internet explore.

    In Firefox, I have automatic updates verified, but for some reason any I do not receive them.  I need all the service packs for Microsoft.

    When I try to use Internet Explorer to connect to the internet, I get a message that says "iexplore.exe - point of entry not found in KERNEL32.dll dynamic link library" How can I fix?  I get a lot of error messages related to the KERNEL32.dll dynamic link library.

    In addition, for some unknown reason, I lost my software of Microsoft - Word, Excel, etc.  I don't have the disc to recharge.

    Thanks for any help.  This kind of thing is frustrating and I really appreciate the availability of Microsoft Answers for assistance.

    Additional post:

    Im trying to update my computer with SP2 and Windows 7.  Even when I try to use I Tunes and do other things that I receive and message entry point (they vary).

    Here are a couple:
    1. the procedure for DecodePointer entry point could not be located in the line of the dynamic library KERNEL32.dll.

    2. the procedure entry point SHRRegGetValueW be found in the library of dynamic links SHLWAPI.dll.

    I have an old computer. Compaq Windows XP - Home Edition, 5.1.

    A month ago I lost my Microsoft Office software. Word and excel... it was all gone.   I have to reload the diskettes of origin provided with this computer which is about 7 years old.

    Is this thing?  I CAN go on the internet and move OK, but I can't download updates, or I Tunes or much else.

    * Original title: do not get the automatic updates.

    http://Windows.Microsoft.com/en-us/Windows/help/learn-how-to-install-Windows-XP-Service-Pack-3-SP3

    Tom Ferguson

Maybe you are looking for