Can we call a procedecujre from other procedure as a form action
Hi
I have a procedure which creates a form and action of form I gave as another procedure .
When I am clicking on the form submit. I am getting page not found error even though I have grant access to PUBLIC
Regards,
Radha
Hi,
I am creating a dynamic page. In that dynamic page I am creating a form whose action is a procedure customschema.procedure_radhas
code is below
<HTML>
<HEAD>
<TITLE>Example</TITLE>
</HEAD>
<BODY>
<ORACLE>declare
begin
htp.formOpen('custom.procedure_radhas','get');
htp.prn('<table><tr><td>Event Name</td><td>');
htp.formText('event_name',20,20,:event_name);
htp.prn('</td></tr><tr><td>Event Date</td><td>');
htp.formText('event_date',20,20,:event_date);
htp.prn('</td></tr><tr><td>Event Venue</td><td>');
htp.formText('event_venue',20,20,:event_venue);
htp.prn('</td></tr><tr><td>Event Duration</td><td>');
htp.formText('event_duration',20,20,:event_duration);
htp.prn('</td></tr><tr><td>Event desc</td><td>');
htp.formText('event_desc',20,20,:event_desc);
htp.prn('</td></tr><tr><td colSpan="2" align="center">');
htp.formSubmit('submit');
htp.prn('</td></tr></table>');
htp.formClose;
end;
</ORACLE>
</BODY>
</HTML>
In that procedure (custom.procedure_radhas) I am creating one form and the action of the form is agin a procedure
Create or Replace Procedure CUSTOM.PROCEDURE_RADHAS
event_name IN VARCHAR2,
event_date IN DATE,
event_venue IN VARCHAR2,
event_duration IN number,
event_desc IN varchar2)
as
begin
htp.formOpen('custom.proc_calen','GET');
htp.prn('<table><tr><td>Event Name</td><td>');
htp.formText('event_name',20,20,event_name);
htp.prn('</td></tr><tr><td>Username</td><td>');
htp.formText('username',20,20,portal.wwctx_api.get_User());
htp.prn('</td></tr><tr><td>Email</td><td>');
htp.formText('email',20,20,'enter email');
htp.prn('</td></tr><tr><td colSpan="2" align="center">');
htp.formSubmit('submit');
htp.prn('</td></tr></table>');
htp.formClose();
exception
when others then
null;
end;
In that procedure(custom.proc_calen)
Create or Replace Procedure CUSTOM.PROC_CALEN
( event_name varchar2,
username IN VARCHAR2 ,
email IN VARCHAR2)
as
begin
insert into calendar_table values(event_name,username,email);
exception
when others then
null;
end;
I am tryoing to insert values into a table .
But i am getting file not found
pls find out the solution
Regards
Radha
Similar Messages
-
How can I call a function from a procedure
I have a function named: f_calc_value which return the variable v_result. This function is part of a package.
How can I call this function from a new procedure I am creating?
Thanksor refer this theread....calling function from procedure
-
How can i call my function from a procedure?
My function is:
create or replace FUNCTION test(pAttributeName IN NUMBER)
RETURN VARCHAR2 IS
ret VARCHAR2(100) := NULL;
VAR n1 NUMBER
BEGIN
SELECT Klartext INTO ret FROM piclist WHERE ATTRIBUTNAME = 'voltage_level' and PICLIST_ID =pAttributeName;
RETURN ret;
Insert into BM_ATTRIB(ID_ERFASSUNG,ID_ATTRIBNAME,ATTRIB_CHA,BM_ATTRIB_ID) VALUES(1,1,ret,1);
exception
when no_data_found then
ret := 'AAA' ------- you can return any default value,if you like
--return ret;
return NULL;
when others then
dbms_output.put_line('Exception:'||sqlerrm);
End;
I want to call it from a procedure!
Please help!
Nicoleif the function is in the same package as the procedure then merely specify the function name and parameters:
retcode := functionname(param1..paramn);
If in another package then:
retcode := packagename.functionname(param1..paramn);
If the function is in another schema then you need to grant execute rights to the package/function to the schema trying to run the function:
grant execute on packagename/functionname to otherschema;
you need to be the package/function schema owner to do the above grant. -
3 iphones in household.All use same apple ID.But all contacts get mixed between phones and facetime calls come in from other contacts.How can we change this so our phone information isn't visible to each other?
Use separate Apple IDs for each family member and use Family Sharing features of those things (if any) that you do want to share. https://www.apple.com/ios/whats-new/family-sharing/
-
Can I call a report from pl/sql?
How can I call a report from pl/sql? I would like the output to be pdf and have it outputted to the screen?
We are running Oracle 10g database and 10.1.2.3 application server on LInux Redhat 4.
Thanks.
Shirley
Edited by: jonesfnalgov on Jul 12, 2011 2:17 PM
Edited by: jonesfnalgov on Jul 12, 2011 2:18 PMHello,
a package is provided : srwAPIins.sql installs the Event-Driven Publishing API.
http://download.oracle.com/docs/cd/B14099_17/bi.1012/b14048/pbr_evnt.htm
The Event-Driven Publishing API is a PL/SQL package that provides the basic functions required for the development of procedures that respond to events in the database. Event-driven jobs are submitted using the HTTP protocol. The server assigns a unique job_ident record to every call, useful for tracking the status of the job.
Regards -
Calling Java Methods from Stored Procedures
Can I call Java Methods from Oracle Stored Procedures? I have a Java framework that logs events and would like to reuse it for logging events that occur in stored procedures.
nullYou need to publish java class methods to plsql.
Attached below is some information.
Although both PL/SQL modules and Java classes are stored in the database
and are managed by many of the same mechanisms, each of them resides in
its own namespace. Therefore, Java methods are not accessible from SQL
and PL/SQL by default. In order to expose Java methods to the SQL and
PL/SQL engines, first publish that Java method to the SQL namespace using
a 'Call Spec'.
Note: A 'Call Spec' does not create an additional layer of
execution so there is no performance penalty incurred.
A 'Call Spec' is simply a syntactical mechanism used to
make a method known in the SQL namespace.
The SQL name established by the 'Call Spec' can be top-level or packaged.
The syntax differs only slightly and is consistent with that used for
PL/SQL procedures and packages. For more information on the exact
syntax, see the references listed in 'Related Topics'.
In general, a top-level procedure 'Call Spec' takes the form:
CREATE OR REPLACE PROCEDURE procname ( pname mode ptype, ... )
AS LANGUAGE JAVA NAME 'javaname ( javatype, ... )';
Where: procname is the SQL name you wish to publish
pname is the name for a parameter to procname
mode is the parameter mode (i.e. IN, OUT, IN OUT)
ptype is a valid SQL type (e.g. NUMBER, CHAR, etc.)
javaname is the fully qualified name of the Java method
javatype is a Java type for the corresponding parameter
Likewise, a top-level function 'Call Spec' takes the form:
CREATE OR REPLACE FUNCTION fname ( pname mode ptype, ... ) RETURN rtype
AS LANGUAGE JAVA NAME 'javaname ( javatype, ... ) return javatype';
Where: fname is the SQL name you wish to publish
rtype is the SQL return type of the function
Note: Within the NAME clause, everything within quotes is case
sensitive. For example, if the keyword 'return' is in all
CAPS, this Call Spec will not compile.
Other optional parts of this syntax have been omitted here for simplicity.
Additional examples in subsequent sections illustrate some of these options.
eg
CREATE PROCEDURE MyProc (rowcnt IN NUMBER, numrows OUT NUMBER)
AS LANGUAGE JAVA NAME 'MyClass.MyMethod(int, int[])';
There are several important things to note here:
1.) The 'Call Spec' for a JSP must be created in the same schema as the
corresponding Java class that implements that method.
2.) IN parameters are passed by value. This is the only parameter mode
available in Java. OUT parameters, therefore, must be passed as single
element arrays in order to emulate pass by reference.
3.) Parameter names do not need to match, but the number and types of
the parameters must match (with just one exception - see item 5 below).
Oracle 8i supports conversions between an assortment of SQL and Java.
See the references listed in 'Related Topics' for additional information.
4.) Primitive types (e.g. int, float, etc.) are not required to be fully
qualified with any package name. However, standard Java object types
(e.g. String, Integer, etc.) as well as any user defined object types
(e.g. like those generated by JPublisher) must be prefixed with a
corresponding package name (e.g. java.lang) if applicable.
5.) The 'main' method which takes a single String[] parameter can be
mapped to any PL/SQL procedure or function which takes some number
of VARCHAR2 or CHAR type IN parameters. For example, the java method:
public static void main ( String[] args ) { ... }
can be mapped to each of the following:
PROCEDURE MyProc2 ( arg1 IN CHAR ) ...
PROCEDURE MyProc3 ( arg1 IN CHAR, arg2 IN VARCHAR2 ) ...
PROCEDURE MyProc4 ( arg1 IN VARCHAR2, arg2 IN VARCHAR2 ) ...
and so forth. Parameters map to the corresponding element of the String
array (e.g. arg1 -> args[0], arg2 -> args[1], etc.).
null -
Can we call shell script from oracle 9i?
Hi experts,
I wanted to know can we call shell script from oracle 9i procedures? If yes,how
Thanks
ShaanNo. I can't think of a way to do this...
If you want you can use DBMS_SCHEDULER to call OS SHELL scripts within.
For e.g.
CREATE PROGRAM
begin
dbms_scheduler.create_program
program_name => 'CHECK_TIME',
program_type => 'EXECUTABLE',
program_action => '/opt/oracle/chk_date.sh',
enabled => TRUE,
comments => 'Check the Time'
end;
CREATE A SHELL SCRIPT
opt/oracle> cat chk_date.sh
#!/usr/bin/ksh
echo "The date is :`date`"
CREATE SCHEDULE
begin
dbms_scheduler.create_schedule
schedule_name => 'EVERY_30_MINS',
repeat_interval => 'FREQ=MINUTELY; INTERVAL=30',
comments => 'Every 30-mins'
end;
CREATE JOB
begin
dbms_scheduler.create_job
job_name => 'RUN_CHECK_TIME',
program_name => 'CHECK_TIME',
schedule_name => 'EVERY_30_MINS',
comments => 'Run the program CHECK_TIME every 30 minutes',
enabled => TRUE
end;
MANUALLY RUN A JOB
exec dbms_scheduler.run_job('RUN_CHECK_TIME'); -
How can i call a servlet from a servlet ?
Hello,
Can i call a Servlet from within a Servlet ?
and is it "right thing" to Do ?
ThanksJMO, but I wouldn't do it like this.
Don't have a remote object like a servlet doing database queries for your app. That will mean TWO network hops for every query if the database resides on another machine. The network is the biggest bottleneck you've got.
Write a JavaBean that does the database stuff for you and just have the first servlet instantiate it when it needs it. A Bean has a better chance of being reused, too. Write a TableGateway or DAO for your object.
Or write an EJB to do it.
The only time I've done a servlet-to-servlet connection like that was for one servlet running in a DMZ that would authenticate a user and then forward the request to another servlet running inside the second firewall.
I wouldn't encapsulate database query logic in a servlet like that. JMO - MOD -
How can I call a RFC from dynpage ?
Hi!
I would like to know how can I call a RFC from a Portal aplication, dynpage or jspdynpage. there include some libraries ?
any idea?
thanksfor deploying SAP Jra :
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/ad09cd07-0a01-0010-93a9-933e247d3ba4#search=%22how%20to%20use%20jca%20sapjra%20site%3Asap.com%22
For lookup of SAP Jra use:
com.sapportals.connector.connection.IConnectionFactory connectionFactory =(IConnectionFactory) initctx.lookup( "deployedAdapters/SAPFactory/shareable/SAPFactory");
Using SAP Jra
http://help.sap.com/saphelp_nw04s/helpdata/en/47/13044258bdd417e10000000a1550b0/content.htm
The important jars required are:
connector.jar
Genericconnector.jar
prtjndisupport.jar
Thanks -
How can i call a zreport from my bsp page.
Hi friends,
How can i call a zreport from my bsp page.
MoosaHi Friend,
These are the codings to be wirtten in BSP for transferring values to the REPORT
DATA:wf_date TYPE ztable-ID.
data:seltab type standard table of rsparams,
wa_seltab like line of seltab,
event TYPE REF TO if_htmlb_data.
DATA:p_value TYPE REF TO CL_HTMLB_INPUTFIELD.
event = cl_htmlb_manager=>get_event( runtime->server->request ).
p_requ ?= CL_HTMLB_MANAGER=>GET_DATA(
request = runtime->server->request
name = 'inputField'
id = 'i1'
if p_requ is not initial.
wf_date = p_requ->value.
endif.
clear wa_seltab.
if wf_date is not initial.
wa_seltab-selname = 'P_REQU'.
wa_seltab-kind = 'P'.
wa_seltab-option = 'EQ'.
wa_seltab-low = wf_date.
append wa_seltab to seltab.
endif.
submit *ZSAMPLEAP1* with selection-table seltab AND RETURN .(ZSAMPLEAP1 refers to the report name and AND RETURN for coming back to the BSP page after the completion of its operation in Report )
IMPORT int_name TO int_name FROM MEMORY ID '*zid*'.(For importing the obtained value from Report)
In Report
REPORT ZSAMPLEAP1.
SELECT-OPTIONS: p_requ FOR ztable-id NO INTERVALS.
SELECT SINGLE name from ztable into int_name WHERE id = p_requ-low.
WRITE:int_name.
EXPORT int_name TO MEMORY ID 'zsharmila'.
With Regards,
SHARMILA BRINDHA.M -
I have a function from a dll that return a double* string and an integer. How can I call this function from LabVIEW? There is a possibility to work in LabVIEW with a double* string?
pcbv wrote:
> Hello all,<br><br>The header of the function is:
>
> "HRESULT WRAPIEnumerateDevices(WRAPI_NDIS_DEVICE **ppDeviceList, long *plItems);"
>
> where WRAPI_NDIS_DEVICE have this form:
>
> typedef struct WRAPI_NDIS_DEVICE<br>{<br>
> WCHAR *pDeviceName;<br>
> WCHAR *pDeviceDescription;<br><br>}
> WRAPI_NDIS_DEVICE;<br><br>
>
> The function is from WRAPI.dll, used for communication with wireless card.
> For my application I need to call in LabVIEW this function.
Two difficulties I can see with this.
First the application seems to allocate the array of references
internally and return a pointer to that array. In that case there must
be another function which then deallocates that array again.
Then you would need to setup the function call to have a pointer to an
int32 number for the deviceList parameter and another pointer to int32
one for the plItems parameter.
Then create another function in your DLL similar to this:
HRESULT WRAPIEnumExtractDevice(WRAPI_NDIS_DEVICE *lpDeviceList, long i,
CHAR lpszDeviceName, LONG lenDeviceName,
CHAR lpszDeviceDesc, LONG lenDeviceDesc)
if (!lpDeviceList)
return ERROR_INV_PARAMETER;
if (lpDeviceList[i].pDeviceName)
WideCharToMultiByte(CP_ACP, 0,
pDeviceList[i].pDeviceName, -1,
lpszDeviceName, lenDeviceName,
NULL, NULL);
if (lpDeviceList[i].pDeviceName)
WideCharToMultiByte(CP_ACP, 0,
pDeviceList[i].pDeviceDescription, -1,
lpszDeviceDesc, lenDeviceDesc,
NULL, NULL);
return NO_ERROR;
Pass the int32 you got from the first parameter of the previous call as
a simple int32 passed by value to this function (and make sure you don't
call this function with a higher index than (plItems - 1) returned from
the first function.
Rolf Kalbermatter
Rolf Kalbermatter
CIT Engineering Netherlands
a division of Test & Measurement Solutions -
Can LabVIEW call a function from a .sys file or is LabVIEW limited to dll access?
My vendor has sent me a .sys file with functions accessing their hardware. Can i call these function from labview directly or do I have to wrapper the .sys with a dll?
Well a sys file is a kernel device driver. LabVIEW does not have any direct way of accessing such a driver. The way kernel drivers are accessed is usually through a DLL which makes calls to WinAPI functions such as CreateFile(), ReadFile(), WriteFile(), CloseHandle() and DeviceIORequest(). Since these WinAPI calls are basically just DLL calls too, you could theoretically use the Call Library Node to call them and access the kernel device driver in such a way.
However for any kernel device driver with more than one or two device driver calls, it will certainly be easier in terms of development, debugging and maintenance of the code, to write actually a dedicated DLL in C/C++ for this device driver and access that DLL from LabVIEW, especially if you consider the LabVIEW datatype limitations when designing the DLL interface (Basically this same DLL can then be called from any other Windows development environment, be it Visual Basic (similar datatype limitation as LabVIEW), Delphi, (Visual) C, LabVIEW or also various scripting environments like Python and Lua.
Some of the necessary WindAPI calls are rather involved and pose quite a bit of trouble to get the parameter data right in LabVIEw.
Rolf Kalbermatter
CIT Engineering Netherlands
a division of Test & Measurement Solutions -
Can we call a BDC from REPORT program.
hi
can anybody tell me that
can we call a BDC from REPORT program.
thanks®ardsYes, It can be called.
Infact you can generate a program from SHDB recording and in the program generated you can put necessary report logic and call the BDC/CALL TRANSACTION as required.
<b>Please check here for a sample program,</b>
http://www.sapdevelopment.co.uk/bdc/bdc_ctcode.htm
Regards
Kathirvel -
Can we call a transaction from a report
hi
can we call a transaction from a reporthi,
we can call
check it
*& Report ZSALESORDERDETAILS_ASHOK
REPORT ZSALESORDERDETAILS_ASHOK
NO STANDARD PAGE HEADING
LINE-SIZE 50
LINE-COUNT 35(5).
*data declaration.
tables :vbak.
tables: VBAP.
DATA : TVBAK LIKE VBAK OCCURS 0 WITH HEADER LINE,
TVBAP LIKE VBAP OCCURS 0 WITH HEADER LINE,
TEMP TYPE p decimals 5 VALUE '0.0' ,
A type i,
FIELDNAME TYPE STRING,
FIELDVALUE TYPE VBAP-VBELN.
DATA G_CB.
selection-screen begin of block screen1 with frame title TEXT-001.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN COMMENT /32(35) COMM1.
SELECTION-SCREEN ULINE /27(35).
SELECTION-SCREEN SKIP.
SELECT-OPTIONS TVBELN FOR VBAK-VBELN.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN ULINE.
SELECTION-SCREEN COMMENT /30(50) COMM2.
SELECTION-SCREEN ULINE /27(40).
SELECTION-SCREEN SKIP.
SELECT-OPTIONS TERDAT FOR VBAK-ERDAT.
SELECTION-SCREEN SKIP.
selection-screen end of block screen1.
*Initialization
Initialization .
TVBELN-low = 4000.
TVBELN-high = 5000.
TVBELN-option = 'BT'.
TVBELN-sign = 'I'.
APPEND TVBELN.
TERDAT-low = '19960202'.
TERDAT-high = '20020302' .
APPEND TERDAT.
AT SELECTION-SCREEN .
SELECT *
FROM VBAK
INTO TABLE TVBAK
WHERE VBELN IN TVBELN AND erdat IN Terdat .
IF sy-subrc ne 0.
MESSAGE 'ENTERED ORDER NOT FOUND' type 'E'.
ENDIF.
START-OF-SELECTION.
REFRESH TVBAK.
SELECT *
FROM VBAK
INTO TABLE TVBAK
WHERE VBELN IN TVBELN AND ERDAT IN TERDAT.
END-OF-SELECTION.
LOOP AT TVBAK.
WRITE: /2 SY-VLINE,
TVBAK-VBELN INPUT ON ,
15 SY-VLINE,TVBAK-ERDAT hotspot on,
30 SY-VLINE, 35 TVBAK-ERNAM,
46 SY-VLINE,
g_cb AS CHECKBOX.
ENDLOOP.
A = SY-LINCT - SY-LINNO - 1.
SKIP A .
RESERVE A LINES.
AT SELECTION-SCREEN OUTPUT.
comm1 ='SELECT SALES ORDER RANGE'.
comm2 ='SELECT SALES ORDER CREATION DATE'.
TOP-OF-PAGE.
ULINE.
WRITE /15 ' SALES ORDER REPORT ' COLOR = 1 .
ULINE.
WRITE : /7 ' VBELN ' COLOR = 5 ,
19 ' ERDAT ' COLOR = 5,
34 ' ERNAM ' COLOR = 5.
ULINE.
END-OF-PAGE.
IF SY-LSIND = 0.
ULINE.
WRITE : /2 'NUMBER OF LINE IN THIS PAGE = ', SY-LINNO.
SKIP.
WRITE: /30 'PAGE NUMBER = ', SY-PAGNO.
ULINE.
ELSEIF SY-LSIND = 1.
ULINE.
WRITE : /12 'TOTAL PRICE = ' ,TEMP.
CLEAR TEMP.
SKIP.
WRITE : /30 'PAGE NUMBER = ', SY-PAGNO.
ULINE.
ENDIF.
at line-selection.
GET CURSOR FIELD FIELDNAME VALUE FIELDVALUE.
IF FIELDNAME = 'TVBAK-VBELN'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = FIELDVALUE
IMPORTING
OUTPUT = FIELDVALUE.
WINDOW STARTING AT 60 2 ENDING AT 120 25.
IF SY-LSIND = 1.
SELECT
FROM VBAP
INTO TABLE TVBAP
WHERE VBELN EQ FIELDVALUE.
LOOP AT TVBAP.
TEMP = TEMP + TVBAP-NETPR.
WRITE : /2 SY-VLINE, TVBAP-matnr,
17 SY-VLINE,TVBAP-VBELN,
30 SY-VLINE,TVBAP-NETPR currency 'IN',
49 SY-VLINE.
ENDLOOP.
ULINE.
A = SY-LINCT - SY-LINNO - 1.
SKIP A .
RESERVE A LINES.
ENDIF.
<b>ELSEIF SY-LSIND = 2.
call transaction 'MM01' .
ENDIF.</b>
TOP-OF-PAGE DURING LINE-SELECTION.
WRITE : / SY-ULINE,
/7 ' DETAIL OF GIVEN SALES ORDER ' COLOR = 5,
/ SY-ULINE,
/4 'MATNR',
22 'VBELN',
35 'NETPR',
/ SY-ULINE.
Regards
ASHOK
Message was edited by:
ASHOK KUMAR -
Can we call a bdc from a report program?
hi
Can we call a bdc from a report program?
Thanks
RamaHello,
Yes..
Check this example:
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
DATA : L_EBELN TYPE EKPO-EBELN,
L_EBELP TYPE EKPO-EBELP.
DATA : L_DATE1 TYPE SY-DATUM,
L_DATE2 TYPE SY-DATUM,
L_YEAR(4),
L_MONTH(2),
L_DATE(2).
DATA: L_AMOUNT1 LIKE RK40C-WTGBTR.
DATA: L_POSID_OLD TYPE PS_POSID.
DATA: L_POSID_NEW TYPE PS_POSID.
DATA: LS_COBK LIKE COBK.
DATA: LT_ITEMS LIKE RK40C OCCURS 0 WITH HEADER LINE,
LT_COEP LIKE COEP OCCURS 0 WITH HEADER LINE,
LT_COEPL LIKE COEPL OCCURS 0 WITH HEADER LINE,
LT_COEPR LIKE COEPR OCCURS 0 WITH HEADER LINE,
LT_MESG LIKE MESG OCCURS 0 WITH HEADER LINE.
DATA: LV_NUM TYPE POSNR_ACC VALUE '1'.
DATA: CD_SEND_REC_REL LIKE COHEADER-SEND_REC_REL,
LD_STATUS LIKE RK23F-STATUS.
DATA: L_DYNNR LIKE FELD-DYNNR.
CLEAR : L_DATE,L_DATE1,L_DATE2,L_YEAR,L_MONTH.
L_DATE1 = SY-DATUM.
L_YEAR = L_DATE1(4).
L_MONTH = L_DATE1+4(2).
L_DATE = L_DATE1+6(2).
CONCATENATE L_DATE L_MONTH L_YEAR INTO L_DATE2 .
CASE R_UCOMM.
WHEN '&IC1'. "doubleclick
CHECK RS_SELFIELD-FIELDNAME = 'EBELN'.
READ TABLE G_T_FINAL INDEX RS_SELFIELD-TABINDEX.
IF SY-SUBRC = 0.
READ TABLE G_T_TEMP WITH KEY LOGNUM = G_T_FINAL-LOGNUM.
IF SY-SUBRC = 0.
MESSAGE I899(KB) WITH TEXT-004.
ELSE.
CLEAR : L_EBELN,L_EBELP,LS_COBK,LT_ITEMS,G_T_BDC,G_T_MESSAGE,
CD_SEND_REC_REL,LD_STATUS.
REFRESH: LT_ITEMS,G_T_BDC,G_T_MESSAGE.
SET PARAMETER ID 'BES' FIELD G_T_FINAL-EBELN.
GET PARAMETER ID 'BES' FIELD L_EBELN.
SET PARAMETER ID 'BSP' FIELD G_T_FINAL-EBELP.
GET PARAMETER ID 'BSP' FIELD L_EBELP.
SORT G_T_FINAL BY EBELN EBELP.
READ TABLE G_T_FINAL WITH KEY EBELN = L_EBELN
EBELP = L_EBELP
BINARY SEARCH.
IF SY-SUBRC = 0.
LS_COBK-KOKRS = G_T_FINAL-KOKRS.
LS_COBK-GJAHR = SY-DATUM+0(4).
LS_COBK-VRGNG = 'RKU1'.
LS_COBK-PERAB = SY-DATUM+4(2).
LS_COBK-PERBI = SY-DATUM+4(2).
LS_COBK-BLDAT = SY-DATUM.
LS_COBK-BUDAT = SY-DATUM.
LS_COBK-CPUDT = SY-DATUM.
LS_COBK-USNAM = SY-UNAME.
LS_COBK-WSDAT = SY-DATUM.
LS_COBK-KURST = 'M'.
LS_COBK-VARNR = '05SAP'.
LS_COBK-KWAER = G_T_FINAL-WAERS.
LS_COBK-CPUTM = SY-UZEIT.
CLEAR : L_POSID_OLD,L_POSID_NEW.
CALL FUNCTION 'CONVERSION_EXIT_ABPSP_INPUT'
EXPORTING
INPUT = G_T_FINAL-POSID_NEW
IMPORTING
OUTPUT = L_POSID_NEW.
CALL FUNCTION 'CONVERSION_EXIT_ABPSP_INPUT'
EXPORTING
INPUT = G_T_FINAL-POSID_OLD
IMPORTING
OUTPUT = L_POSID_OLD.
L_AMOUNT1 = G_T_FINAL-AMOUNT.
LT_ITEMS-ZLENR = LV_NUM.
LT_ITEMS-EPSPNR = L_POSID_NEW.
LT_ITEMS-SPSPNR = L_POSID_OLD.
LT_ITEMS-KSTAR = G_T_FINAL-KSTAR.
LT_ITEMS-WAERS = G_T_FINAL-WAERS.
LT_ITEMS-WTGBTR = L_AMOUNT1.
LT_ITEMS-WKGBTR = L_AMOUNT1.
APPEND LT_ITEMS.
CLEAR: LT_ITEMS.
* For reposting the Cost
CHECK NOT LT_ITEMS[] IS INITIAL.
CALL FUNCTION 'K40C_COBK_CHECK_POST'
CHANGING
ITCOBK = LS_COBK
EXCEPTIONS
PERIOD_BLOCKED = 1
EXTERNAL_NUMBER_MISSING = 2
ERROR_OCCURED = 3.
IF SY-SUBRC IS INITIAL.
CALL FUNCTION 'K40C_DOCUMENT_LINE_CHECK'
EXPORTING
DOC_HEADER = LS_COBK
IGNORE_WARNINGS = 'X'
TABLES
DOC_ITEMS = LT_ITEMS.
*...Create Tables for database
CALL FUNCTION 'K40C_DOCUMENT_CREATE'
EXPORTING
DOC_HEADER = LS_COBK
TABLES
DOC_ITEMS = LT_ITEMS
ITCOEP = LT_COEP
ITCOEPL = LT_COEPL
ITCOEPR = LT_COEPR.
CALL FUNCTION 'K40C_DOCUMENT_POST'
TABLES
ITCOEP = LT_COEP
ITCOEPL = LT_COEPL
ITCOEPR = LT_COEPR
CHANGING
DOC_HEADER = LS_COBK.
ENDIF.
ENDIF.
IF SY-SUBRC = 0.
GET PARAMETER ID 'KBXXN_P_VAR_RKU1' FIELD CD_SEND_REC_REL.
GET PARAMETER ID 'KBXX_START_DYNPRO' FIELD LD_STATUS.
IF CD_SEND_REC_REL IS INITIAL AND LD_STATUS IS INITIAL.
CLEAR L_DYNNR.
L_DYNNR = '1220'.
PERFORM BDC_DYNPRO USING 'SAPLK23F1' '1200'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'COHEADER-SEND_REC_REL'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=PVAR'.
PERFORM BDC_FIELD USING 'COHEADER-SEND_REC_REL'
'05SAP'.
PERFORM BDC_FIELD USING 'RK23F-STATUS'
'L'.
PERFORM BDC_FIELD USING 'COHEADER-BLDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-BUDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-PERIO'
L_MONTH.
PERFORM BDC_DYNPRO USING 'SAPLK23F1' '1200'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RK23F-STATUS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=LISI'.
PERFORM BDC_FIELD USING 'COHEADER-SEND_REC_REL'
'05SAP'.
PERFORM BDC_FIELD USING 'RK23F-STATUS'
'S'.
PERFORM BDC_FIELD USING 'COHEADER-BLDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-BUDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-PERIO'
L_MONTH.
PERFORM FILL_BDC_SCREEN USING L_DYNNR L_DATE2 L_MONTH.
ENDIF.
IF CD_SEND_REC_REL EQ '05SAP' AND LD_STATUS EQ 'S'.
CLEAR L_DYNNR.
L_DYNNR = '1220'.
PERFORM FILL_BDC_SCREEN USING L_DYNNR L_DATE2 L_MONTH.
ELSEIF CD_SEND_REC_REL EQ '05SAP' AND LD_STATUS EQ 'L'.
CLEAR L_DYNNR.
L_DYNNR = '1220'.
PERFORM BDC_DYNPRO USING 'SAPLK23F1' L_DYNNR.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RK23F-STATUS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=LISI'.
PERFORM BDC_FIELD USING 'COHEADER-SEND_REC_REL'
'05SAP'.
PERFORM BDC_FIELD USING 'RK23F-STATUS'
'S'.
PERFORM BDC_FIELD USING 'COHEADER-BLDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-BUDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-PERIO'
L_MONTH.
PERFORM FILL_BDC_SCREEN USING L_DYNNR L_DATE2 L_MONTH.
ELSEIF CD_SEND_REC_REL NE '05SAP' AND LD_STATUS EQ 'S'.
CASE CD_SEND_REC_REL.
WHEN '01SAP' OR '02SAP' OR '04SAP' OR '08SAP' OR '09SAP'.
CLEAR L_DYNNR.
L_DYNNR = '1220'.
WHEN '03SAP' OR '07SAP'.
CLEAR L_DYNNR.
L_DYNNR = '1230' .
WHEN '06SAP'.
CLEAR L_DYNNR.
L_DYNNR = '1210'.
WHEN '10SAP'.
CLEAR L_DYNNR.
L_DYNNR = '1270'.
ENDCASE.
PERFORM BDC_DYNPRO USING 'SAPLK23F1' L_DYNNR.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'COHEADER-SEND_REC_REL'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=PVAR'.
PERFORM BDC_FIELD USING 'COHEADER-SEND_REC_REL'
'05SAP'.
PERFORM BDC_FIELD USING 'RK23F-STATUS'
'S'.
PERFORM BDC_FIELD USING 'COHEADER-BLDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-BUDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-PERIO'
L_MONTH.
PERFORM BDC_FIELD USING 'RK23F-WAERS'
'EUR'.
PERFORM FILL_BDC_SCREEN USING L_DYNNR L_DATE2 L_MONTH.
ELSEIF CD_SEND_REC_REL NE '05SAP' AND LD_STATUS EQ 'L'.
CASE CD_SEND_REC_REL.
WHEN '01SAP' OR '02SAP' OR '04SAP' OR '08SAP' OR '09SAP'.
CLEAR L_DYNNR.
L_DYNNR = '1220'.
WHEN '03SAP' OR '07SAP'.
CLEAR L_DYNNR.
L_DYNNR = '1230' .
WHEN '06SAP'.
CLEAR L_DYNNR.
L_DYNNR = '1210'.
WHEN '10SAP'.
CLEAR L_DYNNR.
L_DYNNR = '1270'.
ENDCASE.
PERFORM BDC_DYNPRO USING 'SAPLK23F1' '1200'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'COHEADER-SEND_REC_REL'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=PVAR'.
PERFORM BDC_FIELD USING 'COHEADER-SEND_REC_REL'
'05SAP'.
PERFORM BDC_FIELD USING 'RK23F-STATUS'
'L'.
PERFORM BDC_FIELD USING 'COHEADER-BLDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-BUDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-PERIO'
L_MONTH.
PERFORM BDC_DYNPRO USING 'SAPLK23F1' '1200'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RK23F-STATUS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=LISI'.
PERFORM BDC_FIELD USING 'COHEADER-SEND_REC_REL'
'05SAP'.
PERFORM BDC_FIELD USING 'RK23F-STATUS'
'S'.
PERFORM BDC_FIELD USING 'COHEADER-BLDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-BUDAT'
L_DATE2.
PERFORM BDC_FIELD USING 'COHEADER-PERIO'
L_MONTH.
PERFORM FILL_BDC_SCREEN USING L_DYNNR L_DATE2 L_MONTH.
ENDIF.
CALL TRANSACTION 'KB11N' USING G_T_BDC MODE G_MODE MESSAGES
INTO G_T_MESSAGE.
IF NOT G_T_MESSAGE[] IS INITIAL.
READ TABLE G_T_MESSAGE WITH KEY MSGTYP = 'S'.
IF SY-SUBRC = 0.
DELETE FROM BALHDR WHERE LOGNUMBER = G_T_FINAL-LOGNUM AND
OBJECT = G_T_FINAL-OBJECT AND
SUBOBJECT = G_T_FINAL-SUBOBJECT.
COMMIT WORK.
G_T_TEMP = G_T_FINAL.
APPEND G_T_TEMP.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
CLEAR G_T_MESSAGE.
REFRESH G_T_MESSAGE.
*refresh g_t_bdc.
CLEAR G_T_BDC.
REFRESH G_T_BDC.
ENDIF.
ENDCASE.
ENDFORM. " USER_COMMAND
Vasanth
Maybe you are looking for
-
Host Credentials ERROR Invalid username and or password Oracle 11g
Hi, This error has been bugging me for sometime now and I can't find a straight forward answer anywhere, can you help? Oracle 11g on Windows XP SP2 Intel box. I am trying to export data and when I'm asked for the Host Credentials I get the error " ER
-
FINDING THE LARGEST NODE IN A BINARY TREE
can anybody help me with a recursive function to find the LARGEST NODE IN A BINARY TREE if you are given the following specs. PLEASE NOTE THAT IT'S A BINARY TREE NOT A SEARCH TREE. Public class Node { Node left; Node right; int val; int Largest(Node
-
Keychain password what does that mean?
keychain password what does that mean?
-
Hello, I am having trouble with a datawindow that has 2 columns where I need Auto Size Height to manage the height at run-time. But it does not work and the column data shows on the next row. I have set the Auto Size property on the column and the de
-
Hi, I want to configure test scenario for checking the connectivity using Sender RNIF to SAP PI to Receiver RNIF. I just need to send one or 2 fields data and check whther data has been correctly posted to Reciver side or not. Can any body suggest st