Setting up JSP development server
I need to set up a development server that I can use to develop a JSP based web site that will pull data from an Oracle 9i database. I'm not real familiar with the Oracle products yet. Should I set up the 9ias application server and make sure I can process JSP files first, then install the 9i database? What is the preferred order? Where would I find the documentation that would help me to start from square 1 and set up the web server to process JSP pages?
Hi Lee,
Regarding the architecture SAP is R/3 architecture i.e. it has Logically 3 layers(Presentation, Application and Database), all the 3 layers can be installed on a single system or separate systems, here presentation servers are the clients(i.e. GUI). Regarding 3-digit client(SAP), by default when you install the package three clients(000,001 and 066) are present, if you want to work on the SAP system you need to copy from either 000 or 001 client(we say it client copy-SCC3), to server different purpose we have different clients for ex:066 is an Early Watch client used for OSS, 000 is a SAP AG client which contains standard settings, if anything goes wrong in any clients you can refer to 000.
Regards:-
Santosh.D
Similar Messages
-
Setting up a testing server in Dreamweaver for Java Development
Hey there,
I'm new to Java however, I'm look forward to learning I've been trying to set-up a testing server for Java on my local machine in Dreamweaver but am having some problems! Can anyone outline the steps required in order to do this. I'd really appreciate it.
I did follow the following link http://www.coderanch.com/forums/jforum?module=posts&action=insert&forum_id=33 and went through the troubleshooting section at the bottom. However my Java code does not display in Dreamweaver's 'Live View'
Thanks in advance to anyone willing to take the time.
MikeHey Murray,
Thanks for the link to the Dreamweaver Forum
The link I provided you with earlier was in error I should placed this link instead:
http://www.adobe.com/devnet/dreamweaver/articles/setup_testing_server.html
Thanks for your assistance.
Mike -
Setting up a testing server in Dreamweaver for JAVA Development (NOT JavaScript)
Hey there,
I'm new to Java however, I'm look forward to learning I've been trying to set-up a testing server for Java on my local machine in Dreamweaver but am having some problems! Can anyone outline the steps required in order to do this. I'd really appreciate it.
I did follow the following link http://www.adobe.com/devnet/dreamweaver/articles/setup_testing_server.html and went through the troubleshooting section at the bottom. However my Java code does not display in Dreamweaver's 'Live View'
Thanks in advance to anyone willing to take the time.
MikeHey Murray,
Thanks for the link to the Dreamweaver Forum
The link I provided you with earlier was in error I should placed this link instead:
http://www.adobe.com/devnet/dreamweaver/articles/setup_testing_server.html
Thanks for your assistance.
Mike -
I am totally new to dreamweaver i have always used golive and
with the new upgrade ended up with dreamweaver cs3
and i need to setup a test server to use xml with my site and
i am totally not getting it. i set up a test server it passed the
settings test connected to it but when i try to get schema from the
spry xlm data set i keep getting a failed to get schema from the
dynamic feed ( test.xml) please make sure the Testing server is
configured in the site definition,
i have a dedicated server that i used to work directly off of
but i am just not getting how to or why i need to setup a testing
server just to program something correctly.
any help would be great.
thanksIt is worth trying with Linux as well because a) you are more likely to be deploying Java systems on a unix based system and b) it is very useful for anyone serious about using computers to know how to use a unix shell.
The problem is that you are then learning to use the OS as well as picking up the servlet and jsp deployment skills. It is feasible though- I learned this way, but it can be frustrating at times. The other problem is that once you start getting anywhere with it you won't want to go back to windows again ever.
For development you may want to use Tomcat standalone rather than with Apache because you will not need the load balancing side so much and it does save on trying to configure mod_jk.
If you do go down this path I recommend the O'Reilly "Running Linux" book as a good introduction to the operating system. There is loads of stuff available online as well so it is very well supported. -
HOW TO: Set up your application server to run BC4J
How To set up your application server to run BC4J.
INTRODUCTION
A running BC4J application is actually the combination of:
* Your own application files
* BC4J runtime libraries
In order to successfully run your BC4J application in local mode, the first requirement is
that your application server contains the necessary BC4J libraries.
This How To describes the steps required to ensure that you have a functional
BC4J runtime environment installed on your application server.
Oracle IAS 1.0.2 and Tomcat 3.1 will be used as examples.
THE BC4J RUNTIME LIBRARIES
Whatever application server you deploy to, the following libraries
are required in the following order to be in the classpath.
BC4J Libraries:
xmlparserv2.jar
jdev-rt.zip
jbojdbcpatch.zip
connectionmanager.zip
jbohtml.zip
jboimdomains.zip
ordim817.zip
ordvir817.zip
ordhttp.zip
jbomt.zip
jbodomorcl.zip
jboremote.zip
jndi.jar
jbodatum12.zip
These libraries can be found in <JDEV_HOME>/lib/
INSTALLING THE LIBRARIES ON IAS:
Installing the libraries is simply a matter of copying them to the
application server's filesystem and adding them to the classpath.
IAS's classpath can be modified by editing the file:
<IAS_HOME>\Apache\Jserv\conf\jserv.properties
In this file you'll find the existing pre-installed BC4J libraries which
looks like this:
wrapper.classpath=<IAS_HOME>\Apache\BC4J\lib\ordvir817.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\lib\ordim817.zip
etc.
Note! These BC4J libraries correspond to JDeveloper 3.1.1.
In order to run JDev 3.2 based applications you will have to update these libraries
to JDeveloper 3.2 production.
Steps:
1. Copy (or FTP) the JDev 3.2 BC4J libraries from <JDEV_HOME>\lib to a NEW directory on the
appserver's filesystem called:
<IAS_HOME>\Apache\BC4J\newlib
2. Modify the classpath by editing <IAS_HOME>\Apache\Jserv\conf\jserv.properties.
Example: (modified classpath entries)
# New 3.2 BC4J Runtime libraries
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\xmlparserv2.jar
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jdev-rt.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jbojdbcpatch.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\connectionmanager.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jbohtml.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jboimdomains.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\ordim817.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\ordvir817.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\ordhttp.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jbomt.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jbodomorcl.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jboremote.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jndi.jar
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jbodatum12.zip
Note: Make sure to remove or comment out the existing 3.1.1 BC4J library entries!
To see the changes, you must restart IAS and that's it, your IAS will be updated with
the JDev 3.2 BC4J libraries which allow you to run BC4J Data Tags among other
things!
INSTALLING THE LIBRARIES ON TOMCAT
As before, this process involves both the copying of the libraries
and modifying the classpath.
After copying the BC4J libraries to a path accessible from Tomcat,
you can modify Tomcat's classpath by editing it's startup script:
<TOMCAT_HOME>\bin\tomcat.bat (NT)
<TOMCAT_HOME>\bin\tomcat.sh (Unix)
Here is a portion of a modified tomcat.bat (on NT)
rem Add BC4J libraries
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\xmlparserv2.jar
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jdev-rt.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jbojdbcpatch.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\connectionmanager.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jbohtml.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jboimdomains.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\or dim817.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\ordvir817.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\ordhttp.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jbomt.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jbodomorcl.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jboremote.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jndi.jar
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jbodatum12.zip
rem Add Oracle JDBC library
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\classes12.zip
Note: I also added the Oracle JDBC library since Tomcat does not have it.
It is found at:
<JDEV_HOME>\jdbc\lib\oracle8.1.7\classes12.zip
And That's It!
When Tomcat is restarted using this script, the necessary BC4J libraries
will be in the classpath..
A follow up How To:"How To Deploy a BC4J JSP Application on IAS and Tomcat"
will be posted shortly!I copied the following files in jserv classpath
bc4jct.jar
bc4jctejb.jar
bc4jdomorcl.jar
bc4jhtml.jar
bc4jimdomains.jar
bc4jmt.jar
bc4jmtejb.jar
bc4juixtags.jar
collections.jar
datatags.jar
jdev-cm.jar
regexp.jar
share.jar
uix2.jar
cabo.war
classes12.jar
nls_charset12.jar
ordim.jar
ordhttp.jar
runtime12.jar
jdev-rt.jar
xmlparserv2.jar
bc4j_jclient_common.jar
webapp.war
I got this list from Jdev 9031 on-line help
I also copied the new DataTags.tld file to /webapp directory
When i run my jsp page i get this error..
java.lang.NoClassDefFoundError: java/util/TimerTask
at oracle.jbo.http.HttpContainer.findSessionCookie(HttpContainer.java:693)
at oracle.jbo.html.jsp.datatags.ApplicationModuleTag.doStartTag(ApplicationModuleTag.java:148)
at jspapp.odrjsp__html._menu._jspService(Compiled Code)
at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
at oracle.jsp.app.JspApplication.dispatchRequest(Compiled Code)
at oracle.jsp.JspServlet.doDispatch(Compiled Code)
at oracle.jsp.JspServlet.internalService(Compiled Code)
at oracle.jsp.JspServlet.service(Compiled Code)
at javax.servlet.http.HttpServlet.service(Compiled Code)
at oracle.portal.provider.v1.http.JspRenderer.renderBody(JspRenderer.java:116)
at oracle.portal.provider.v1.RenderManager.render(RenderManager.java:164)
at oracle.portal.provider.v1.http.ServletProviderResponse.showPortlet(Compiled Code)
at oracle.portal.provider.v1.http.HttpProvider.dispatchProviderAction(Compiled Code)
at oracle.portal.provider.v1.http.HttpProvider.service(Compiled Code)
at javax.servlet.http.HttpServlet.service(Compiled Code)
at org.apache.jserv.JServConnection.processRequest(Compiled Code)
at org.apache.jserv.JServConnection.run(Compiled Code)
at java.lang.Thread.run(Compiled Code)
In the JDK 1.3 APi docs, i found that TimerTask was introduced only in JDK 1.3
Does this mean that BC4J (in jdev 9031) will only work
with JDK 1.3 or later?
Thanks for your time.
Harish -
Why This Report Not Working in Production Server But in Development Server
I just need your help in solving one issue. There is one report which is working fine in development server but it is not getting executed in production server.
Although the code is same in both the server. Could you please guide me in locating the problem. I am attaching that report with this mail. Please do the needful help.
TABLES : a363,
mara,
marc,
makt,
ekko,
ekpo,
mkpf,
mseg,
konp,
konh.
SELECTION-SCREEN
SELECTION-SCREEN : BEGIN OF BLOCK cst WITH FRAME TITLE text-001.
SELECT-OPTIONS : s_matnr FOR mara-matnr, "Material Number
s_lifnr FOR ekko-lifnr, "Account Number of the Vendor
s_bedat FOR ekko-bedat, "Purchasing Document Date
s_kschl FOR konh-kschl OBLIGATORY NO INTERVALS, "Condition type
s_bwart FOR mseg-bwart OBLIGATORY NO INTERVALS. "Movement Type (Inventory Management)
PARAMETERS : p_werks LIKE marc-werks OBLIGATORY. "Plant
SELECTION-SCREEN : END OF BLOCK cst.
INCLUDES
INCLUDE zalv_data.
DATA - INTERNAL TABLES AND FIELD LISTS
DATA : BEGIN OF a363_itab OCCURS 0,
matnr LIKE a363-matnr, "Material Number
lifnr LIKE a363-lifnr, "Account Number of the Vendor
werks LIKE a363-werks, "Plant
kschl LIKE a363-kschl, "Condition type
knumh LIKE a363-knumh, "Condition record number
kbetr LIKE konp-kbetr, "Rate (condition amount or percentage) where no scale exists
END OF a363_itab.
DATA : BEGIN OF konp_itab OCCURS 0,
knumh LIKE a363-knumh, "Condition record number
kbetr LIKE konp-kbetr, "Rate (condition amount or percentage) where no scale exists
lifnr LIKE a363-lifnr, "Account Number of the Vendor
END OF konp_itab.
DATA : BEGIN OF ekko_itab OCCURS 0,
ebeln LIKE ekko-ebeln, "Purchasing Document Number
lifnr LIKE ekko-lifnr, "Account Number of the Vendor
bedat LIKE ekko-bedat, "Purchasing Document Date
END OF ekko_itab.
DATA : BEGIN OF ekpo_itab OCCURS 0,
ebeln LIKE ekpo-ebeln, "Purchasing Document Number
ebelp LIKE ekpo-ebelp, "Item Number of Purchasing Document
matnr LIKE ekpo-matnr, "Material Number
werks LIKE ekpo-werks, "Plant
menge LIKE ekpo-menge, "Purchase order quantity
END OF ekpo_itab.
DATA : BEGIN OF v_po_det OCCURS 0, "VENDOR + PLANT + PO DEATILS
lifnr LIKE ekko-lifnr, "Account Number of the Vendor
ebeln LIKE ekko-ebeln, "Purchasing Document Number
ebelp LIKE ekpo-ebelp, "Item Number of Purchasing Document
bedat LIKE ekko-bedat, "Purchasing Document Date
matnr LIKE ekpo-matnr, "Material Number
werks LIKE ekpo-werks, "Plant
menge LIKE ekpo-menge, "Purchase order quantity
kbetr LIKE konp-kbetr, "Rate (condition amount or percentage) where no scale exists
END OF v_po_det.
DATA : BEGIN OF mseg_itab OCCURS 0,
mblnr LIKE mseg-mblnr, "Number of Material Document
ebeln LIKE mseg-ebeln, "Purchasing Document Number
ebelp LIKE mseg-ebelp, "Item Number of Purchasing Document
matnr LIKE mseg-matnr, "Material Number
lifnr LIKE mseg-lifnr, "Account Number of the Vendor
werks LIKE mseg-werks, "Plant
menge LIKE mseg-menge, "Quantity
dmbtr LIKE mseg-dmbtr, "Amount in local currency
bwart LIKE mseg-bwart, "Movement Type (Inventory Management)
END OF mseg_itab.
DATA : BEGIN OF mkpf_itab OCCURS 0,
mblnr LIKE mkpf-mblnr, "Number of Material Document
bldat LIKE mkpf-bldat, "Document Date in Document
END OF mkpf_itab.
DATA : BEGIN OF zeou_pcrdtl_itab OCCURS 0,
matnr LIKE zeou_pcrdtl-matnr, "Material Number
lifnr LIKE zeou_pcrdtl-lifnr, "Account Number of the Vendor
mblnr LIKE zeou_pcrdtl-mblnr, "Number of Material Document
whssn LIKE zeou_pcrdtl-whssn, "Warehouse Records Entry Serial No.
whsdt LIKE zeou_pcrdtl-whsdt, "Warehouse Records Entry date
END OF zeou_pcrdtl_itab.
DATA : BEGIN OF gr_wh_info OCCURS 0, "INFO OF GR & WH BASED ON MVMT TYPE & PO
mblnr LIKE mseg-mblnr, "Number of Material Document
bldat LIKE mkpf-bldat, "Document Date in Document
ebeln LIKE mseg-ebeln, "Purchasing Document Number
ebelp LIKE ekpo-ebelp, "Item Number of Purchasing Document
matnr LIKE mseg-matnr, "Material Number
lifnr LIKE mseg-lifnr, "Account Number of the Vendor
werks LIKE mseg-werks, "Plant
menge LIKE mseg-menge, "Quantity
dmbtr LIKE mseg-dmbtr, "Amount in local currency
bwart LIKE mseg-bwart, "Movement Type (Inventory Management)
whssn LIKE zeou_pcrdtl-whssn, "Warehouse Records Entry Serial No.
whsdt LIKE zeou_pcrdtl-whsdt, "Warehouse Records Entry date
END OF gr_wh_info.
DATA : BEGIN OF bseg_itab OCCURS 0,
ebeln LIKE bseg-ebeln, "Purchasing Document Number
ebelp LIKE bseg-ebelp, "Item Number of Purchasing Document
matnr LIKE bseg-matnr, "Material Number
lifnr LIKE bseg-lifnr, "Account Number of the Vendor
werks LIKE bseg-werks, "Plant
buzid LIKE bseg-buzid, "Identification of the Line Item
bschl LIKE bseg-bschl, "Posting Key
wrbtr LIKE bseg-wrbtr, "Amount in document currency
bukrs LIKE bseg-bukrs, "Company Code
belnr LIKE bseg-belnr, "Accounting Document Number
gjahr LIKE bseg-gjahr, "Fiscal Year
END OF bseg_itab.
DATA : BEGIN OF bkpf_itab OCCURS 0,
bukrs LIKE bkpf-bukrs, "Company Code
belnr LIKE bkpf-belnr, "Accounting Document Number
gjahr LIKE bkpf-gjahr, "Fiscal Year
xblnr LIKE bkpf-xblnr, "Reference Document Number
bldat LIKE bkpf-bldat, "Document Date in Document
END OF bkpf_itab.
DATA : BEGIN OF vend_inv OCCURS 0, "VENDOR INVOICE DETAILS
ebeln LIKE bseg-ebeln, "Purchasing Document Number
ebelp LIKE bseg-ebelp, "Item Number of Purchasing Document
matnr LIKE bseg-matnr, "Material Number
lifnr LIKE bseg-lifnr, "Account Number of the Vendor
werks LIKE bseg-werks, "Plant
buzid LIKE bseg-buzid, "Identification of the Line Item
bschl LIKE bseg-bschl, "Posting Key
wrbtr LIKE bseg-wrbtr, "Amount in document currency
bukrs LIKE bseg-bukrs, "Company Code
belnr LIKE bseg-belnr, "Accounting Document Number
gjahr LIKE bseg-gjahr, "Fiscal Year
xblnr LIKE bkpf-xblnr, "Reference Document Number
bldat LIKE bkpf-bldat, "Document Date in Document
END OF vend_inv.
DATA : BEGIN OF chckinit OCCURS 0, "CHEQUE INIT INFO
ebeln LIKE bseg-ebeln, "Purchasing Document Number
ebelp LIKE bseg-ebelp, "Item Number of Purchasing Document
matnr LIKE bseg-matnr, "Material Number
lifnr LIKE bseg-lifnr, "Account Number of the Vendor
werks LIKE bseg-werks, "Plant
buzid LIKE bseg-buzid, "Identification of the Line Item
bschl LIKE bseg-bschl, "Posting Key
bukrs LIKE bkpf-bukrs, "Company Code
belnr LIKE bkpf-belnr, "Accounting Document Number
gjahr LIKE bkpf-gjahr, "Fiscal Year
koart LIKE bseg-koart, "Account type
augbl LIKE bseg-augbl, "Document Number of the Clearing Document
END OF chckinit.
DATA : BEGIN OF chckpayer OCCURS 0, "CHEQUE BANK DETAILS
vblnr LIKE payr-vblnr, "Document Number of the Payment Document
zbukr LIKE payr-zbukr, "Paying company code
gjahr LIKE payr-gjahr, "Fiscal Year
chect LIKE payr-chect, "Check Number
zaldt LIKE payr-zaldt, "Probable Payment Date (Cash Discount 1 Due)
hbkid LIKE payr-hbkid, "Short key for a house bank
END OF chckpayer.
DATA : chckpayer_u LIKE chckpayer OCCURS 0 WITH HEADER LINE. "UNIQUE CHEQUE DETAILS
DATA : BEGIN OF chckfinal OCCURS 0, "CHEQUE FINAL INFO
ebeln LIKE bseg-ebeln, "Purchasing Document Number
ebelp LIKE bseg-ebelp, "Item Number of Purchasing Document
matnr LIKE bseg-matnr, "Material Number
lifnr LIKE bseg-lifnr, "Account Number of the Vendor
werks LIKE bseg-werks, "Plant
buzid LIKE bseg-buzid, "Identification of the Line Item
bschl LIKE bseg-bschl, "Posting Key
bukrs LIKE bkpf-bukrs, "Company Code
belnr LIKE bkpf-belnr, "Accounting Document Number
gjahr LIKE bkpf-gjahr, "Fiscal Year
koart LIKE bseg-koart, "Account type
augbl LIKE bseg-augbl, "Document Number of the Clearing Document
vblnr LIKE payr-vblnr, "Document Number of the Payment Document
zbukr LIKE payr-zbukr, "Paying company code
chect LIKE payr-chect, "Check Number
zaldt LIKE payr-zaldt, "Probable Payment Date (Cash Discount 1 Due)
hbkid LIKE payr-hbkid, "Short key for a house bank
END OF chckfinal.
DATA : BEGIN OF mat_desc OCCURS 0,
matnr LIKE mara-matnr,
maktx LIKE makt-maktx,
END OF mat_desc.
DATA : BEGIN OF vend_det OCCURS 0,
lifnr LIKE lfa1-lifnr,
name1 LIKE lfa1-name1,
j_1icstno LIKE j_1imovend-j_1icstno,
END OF vend_det.
DATA : BEGIN OF cst_rep OCCURS 0, "FINAL CST REPORT
lifnr LIKE a363-lifnr, "Account Number of the Vendor
name1 LIKE lfa1-name1, "Vendor Name
j_1icstno LIKE j_1imovend-j_1icstno, " Vendor CST No.
werks LIKE a363-werks, "Plant
kschl LIKE a363-kschl, "Condition type
ebeln LIKE ekko-ebeln, "Purchasing Document Number
ebelp LIKE ekpo-ebelp, "Item Number of Purchasing Document
bedat LIKE ekko-bedat, "Purchasing Document Date
matnr LIKE ekpo-matnr, "Material Number
maktx LIKE makt-maktx, "Material Description.
kbetr LIKE konp-kbetr, "Rate (condition amount or percentage) where no scale exists
mblnr LIKE mseg-mblnr, "Number of Material Document
bldat LIKE mkpf-bldat, "Document Date in Document
menge LIKE mseg-menge, "Quantity
dmbtr LIKE mseg-dmbtr, "Amount in local currency
cst_dmbtr LIKE mseg-dmbtr, "CST Amount in local currency
bwart LIKE mseg-bwart, "Movement Type (Inventory Management)
whssn LIKE zeou_pcrdtl-whssn, "Warehouse Records Entry Serial No.
whsdt LIKE zeou_pcrdtl-whsdt, "Warehouse Records Entry date
buzid LIKE bseg-buzid, "Identification of the Line Item
bschl LIKE bseg-bschl, "Posting Key
wrbtr LIKE bseg-wrbtr, "Amount in document currency
cst_wrbtr LIKE bseg-wrbtr, "CST Amount in document currency
belnr LIKE bseg-belnr, "Accounting Document Number
gjahr LIKE bseg-gjahr, "Fiscal Year
xblnr LIKE bkpf-xblnr, "Reference Document Number
koart LIKE bseg-koart, "Account type
augbl LIKE bseg-augbl, "Document Number of the Clearing Document
vblnr LIKE payr-vblnr, "Document Number of the Payment Document
zbukr LIKE payr-zbukr, "Paying company code
chect LIKE payr-chect, "Check Number
zaldt LIKE payr-zaldt, "Probable Payment Date (Cash Discount 1 Due)
hbkid LIKE payr-hbkid, "Short key for a house bank
END OF cst_rep.
DATA : BEGIN OF gt_output OCCURS 0, "ALV OUTPUT
slno LIKE sy-tabix, "Serial Number
lifnr LIKE a363-lifnr, "Account Number of the Vendor
name1 LIKE lfa1-name1, "Vendor Name
j_1icstno LIKE j_1imovend-j_1icstno, " Vendor CST No.
werks LIKE a363-werks, "Plant
kschl LIKE a363-kschl, "Condition type
ebeln LIKE ekko-ebeln, "Purchasing Document Number
ebelp LIKE ekpo-ebelp, "Item Number of Purchasing Document
bedat LIKE ekko-bedat, "Purchasing Document Date
matnr LIKE ekpo-matnr, "Material Number
maktx LIKE makt-maktx, "Material Description
mblnr LIKE mseg-mblnr, "Number of Material Document
bldat LIKE mkpf-bldat, "Document Date in Document
menge LIKE mseg-menge, "Quantity
dmbtr LIKE mseg-dmbtr, "Amount in local currency
cst_dmbtr LIKE mseg-dmbtr, "CST Amount in local currency
bwart LIKE mseg-bwart, "Movement Type (Inventory Management)
whssn LIKE zeou_pcrdtl-whssn, "Warehouse Records Entry Serial No.
whsdt LIKE zeou_pcrdtl-whsdt, "Warehouse Records Entry date
buzid LIKE bseg-buzid, "Identification of the Line Item
bschl LIKE bseg-bschl, "Posting Key
wrbtr LIKE bseg-wrbtr, "Amount in document currency
cst_wrbtr LIKE bseg-wrbtr, "CST Amount in document currency
belnr LIKE bseg-belnr, "Accounting Document Number
gjahr LIKE bseg-gjahr, "Fiscal Year
xblnr LIKE bkpf-xblnr, "Reference Document Number
koart LIKE bseg-koart, "Account type
augbl LIKE bseg-augbl, "Document Number of the Clearing Document
vblnr LIKE payr-vblnr, "Document Number of the Payment Document
zbukr LIKE payr-zbukr, "Paying company code
chect LIKE payr-chect, "Check Number
zaldt LIKE payr-zaldt, "Probable Payment Date (Cash Discount 1 Due)
hbkid LIKE payr-hbkid, "Short key for a house bank
usr_txt1(20) TYPE c,
usr_txt2(20) TYPE c,
END OF gt_output.
*Working Variables
DATA : cst_gr LIKE mseg-dmbtr,
cst_inv LIKE bseg-wrbtr,
usr_txt1(20) TYPE c,
usr_txt2(20) TYPE c.
START-OF-SELECTION.
*Retreiving Data from a363 table for the given input
SELECT matnr
lifnr
werks
kschl
knumh
FROM a363
INTO TABLE a363_itab
WHERE matnr IN s_matnr AND lifnr IN s_lifnr AND werks EQ p_werks AND kschl IN s_kschl.
SELECT *
FROM konp
INTO CORRESPONDING FIELDS OF TABLE konp_itab
FOR ALL ENTRIES IN a363_itab
WHERE knumh EQ a363_itab-knumh.
LOOP AT a363_itab.
READ TABLE konp_itab WITH KEY knumh = a363_itab-knumh.
IF sy-subrc EQ 0.
MOVE : konp_itab-kbetr TO a363_itab-kbetr.
MODIFY a363_itab.
ENDIF.
CLEAR : a363_itab, konp_itab.
ENDLOOP.
SELECT *
FROM makt
INTO CORRESPONDING FIELDS OF TABLE mat_desc
FOR ALL ENTRIES IN a363_itab
WHERE matnr EQ a363_itab-matnr.
SELECT a~lifnr
a~name1
b~j_1icstno
INTO TABLE vend_det
FROM lfa1 AS a JOIN j_1imovend AS b
ON alifnr EQ blifnr
FOR ALL ENTRIES IN a363_itab
WHERE a~lifnr EQ a363_itab-lifnr.
Retreiving Data from EKKO & EKPO table for the given input
And Populating the V_PO_DETAILS itab
SELECT *
FROM ekko
INTO CORRESPONDING FIELDS OF TABLE ekko_itab
FOR ALL ENTRIES IN a363_itab
WHERE lifnr EQ a363_itab-lifnr AND bedat IN s_bedat.
SELECT *
FROM ekpo
INTO CORRESPONDING FIELDS OF TABLE ekpo_itab
FOR ALL ENTRIES IN a363_itab
WHERE matnr EQ a363_itab-matnr AND werks EQ a363_itab-werks AND mwskz NE 'V0'.
LOOP AT ekpo_itab.
MOVE : ekpo_itab-ebelp TO v_po_det-ebelp,
ekpo_itab-matnr TO v_po_det-matnr,
ekpo_itab-werks TO v_po_det-werks,
ekpo_itab-menge TO v_po_det-menge.
READ TABLE ekko_itab WITH KEY ebeln = ekpo_itab-ebeln.
IF sy-subrc EQ 0.
MOVE : ekko_itab-lifnr TO v_po_det-lifnr,
ekko_itab-ebeln TO v_po_det-ebeln,
ekko_itab-bedat TO v_po_det-bedat.
APPEND : v_po_det.
ENDIF.
CLEAR : ekko_itab, ekpo_itab, v_po_det.
ENDLOOP.
LOOP AT v_po_det.
READ TABLE a363_itab WITH KEY matnr = v_po_det-matnr lifnr = v_po_det-lifnr werks = v_po_det-werks.
IF sy-subrc EQ 0.
MOVE : a363_itab-kbetr TO v_po_det-kbetr.
MODIFY v_po_det.
ENDIF.
CLEAR : a363_itab, v_po_det.
ENDLOOP.
Retreiving Data from MKPF & MSEG & ZEOU_PCRDTL table for the given input
And Populating the GR_WH_info itab
SELECT *
FROM mseg
INTO CORRESPONDING FIELDS OF TABLE mseg_itab
FOR ALL ENTRIES IN v_po_det
WHERE ebeln EQ v_po_det-ebeln AND matnr EQ v_po_det-matnr AND bwart IN s_bwart.
SELECT *
FROM mkpf
INTO CORRESPONDING FIELDS OF TABLE mkpf_itab
FOR ALL ENTRIES IN mseg_itab
WHERE mblnr EQ mseg_itab-mblnr.
SELECT *
FROM zeou_pcrdtl
INTO CORRESPONDING FIELDS OF TABLE zeou_pcrdtl_itab
FOR ALL ENTRIES IN mseg_itab
WHERE mblnr EQ mseg_itab-mblnr AND matnr EQ mseg_itab-matnr.
LOOP AT mseg_itab.
MOVE : mseg_itab-mblnr TO gr_wh_info-mblnr,
mseg_itab-ebeln TO gr_wh_info-ebeln,
mseg_itab-ebelp TO gr_wh_info-ebelp,
mseg_itab-matnr TO gr_wh_info-matnr,
mseg_itab-lifnr TO gr_wh_info-lifnr,
mseg_itab-werks TO gr_wh_info-werks,
mseg_itab-menge TO gr_wh_info-menge,
mseg_itab-dmbtr TO gr_wh_info-dmbtr,
mseg_itab-bwart TO gr_wh_info-bwart.
READ TABLE mkpf_itab WITH KEY mblnr = mseg_itab-mblnr.
IF sy-subrc EQ 0.
MOVE : mkpf_itab-bldat TO gr_wh_info-bldat.
ENDIF.
READ TABLE zeou_pcrdtl_itab WITH KEY mblnr = mseg_itab-mblnr.
IF sy-subrc EQ 0.
MOVE : zeou_pcrdtl_itab-whssn TO gr_wh_info-whssn,
zeou_pcrdtl_itab-whsdt TO gr_wh_info-whsdt.
ENDIF.
APPEND : gr_wh_info.
CLEAR : mseg_itab, mkpf_itab, gr_wh_info.
ENDLOOP.
Retreiving Data from BSEG & BKPF table
And Populating the Vendor Invoice Details
SELECT *
FROM bseg
INTO CORRESPONDING FIELDS OF TABLE bseg_itab
FOR ALL ENTRIES IN v_po_det
WHERE ebeln EQ v_po_det-ebeln AND matnr EQ v_po_det-matnr AND buzid EQ 'W' AND bschl EQ '96'.
SELECT *
FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE bkpf_itab
FOR ALL ENTRIES IN bseg_itab
WHERE bukrs EQ bseg_itab-bukrs AND belnr EQ bseg_itab-belnr AND gjahr EQ bseg_itab-gjahr.
LOOP AT bseg_itab.
MOVE : bseg_itab-ebeln TO vend_inv-ebeln,
bseg_itab-ebelp TO vend_inv-ebelp,
bseg_itab-matnr TO vend_inv-matnr,
bseg_itab-lifnr TO vend_inv-lifnr,
bseg_itab-werks TO vend_inv-werks,
bseg_itab-buzid TO vend_inv-buzid,
bseg_itab-bschl TO vend_inv-bschl,
bseg_itab-wrbtr TO vend_inv-wrbtr,
bseg_itab-bukrs TO vend_inv-bukrs,
bseg_itab-belnr TO vend_inv-belnr,
bseg_itab-gjahr TO vend_inv-gjahr.
READ TABLE bkpf_itab WITH KEY bukrs = bseg_itab-bukrs belnr = bseg_itab-belnr gjahr = bseg_itab-gjahr.
IF sy-subrc EQ 0.
MOVE : bkpf_itab-xblnr TO vend_inv-xblnr,
bkpf_itab-bldat TO vend_inv-bldat.
APPEND : vend_inv.
ENDIF.
CLEAR : vend_inv, bseg_itab, bkpf_itab.
ENDLOOP.
Retreiving Data from BSEG & BKPF table
And Populating the Cheque Info Details
SELECT *
FROM bseg
INTO CORRESPONDING FIELDS OF TABLE chckinit
FOR ALL ENTRIES IN v_po_det
WHERE ebeln EQ v_po_det-ebeln AND matnr EQ v_po_det-matnr AND buzid EQ 'W' AND bschl EQ '86' AND koart EQ 'K'.
SELECT *
FROM payr
INTO CORRESPONDING FIELDS OF TABLE chckpayer
FOR ALL ENTRIES IN chckinit
WHERE vblnr EQ chckinit-augbl.
SORT chckpayer BY vblnr DESCENDING.
LOOP AT chckpayer.
ON CHANGE OF chckpayer-vblnr.
MOVE : chckpayer TO chckpayer_u.
APPEND : chckpayer_u.
CLEAR : chckpayer_u, chckpayer.
ENDON.
ENDLOOP.
LOOP AT chckinit.
MOVE : chckinit-ebeln TO chckfinal-ebeln,
chckinit-ebelp TO chckfinal-ebelp,
chckinit-matnr TO chckfinal-matnr,
chckinit-lifnr TO chckfinal-lifnr,
chckinit-werks TO chckfinal-werks,
chckinit-buzid TO chckfinal-buzid,
chckinit-bschl TO chckfinal-bschl,
chckinit-bukrs TO chckfinal-bukrs,
chckinit-gjahr TO chckfinal-gjahr,
chckinit-koart TO chckfinal-koart,
chckinit-augbl TO chckfinal-augbl.
READ TABLE chckpayer_u WITH KEY vblnr = chckinit-augbl gjahr = chckinit-gjahr.
IF sy-subrc EQ 0.
MOVE : chckpayer_u-vblnr TO chckfinal-vblnr,
chckpayer_u-zbukr TO chckfinal-zbukr,
chckpayer_u-chect TO chckfinal-chect,
chckpayer_u-zaldt TO chckfinal-zaldt,
chckpayer_u-hbkid TO chckfinal-hbkid.
APPEND : chckfinal.
ENDIF.
CLEAR : chckfinal, chckpayer_u, chckinit.
ENDLOOP.
Populating the final CST TABLE
LOOP AT v_po_det.
MOVE : v_po_det-lifnr TO cst_rep-lifnr,
v_po_det-werks TO cst_rep-werks,
v_po_det-ebeln TO cst_rep-ebeln,
v_po_det-ebelp TO cst_rep-ebelp,
v_po_det-bedat TO cst_rep-bedat,
v_po_det-matnr TO cst_rep-matnr,
v_po_det-kbetr TO cst_rep-kbetr.
READ TABLE gr_wh_info WITH KEY ebeln = v_po_det-ebeln ebelp = v_po_det-ebelp."matnr = v_po_det-matnr.
IF sy-subrc EQ 0.
MOVE : gr_wh_info-mblnr TO cst_rep-mblnr,
gr_wh_info-bldat TO cst_rep-bldat,
gr_wh_info-menge TO cst_rep-menge,
gr_wh_info-dmbtr TO cst_rep-dmbtr,
gr_wh_info-bwart TO cst_rep-bwart,
gr_wh_info-whssn TO cst_rep-whssn,
gr_wh_info-whsdt TO cst_rep-whsdt.
ENDIF.
READ TABLE vend_inv WITH KEY ebeln = v_po_det-ebeln ebelp = v_po_det-ebelp."matnr = v_po_det-matnr.
IF sy-subrc EQ 0.
MOVE : vend_inv-buzid TO cst_rep-buzid,
vend_inv-bschl TO cst_rep-bschl,
vend_inv-wrbtr TO cst_rep-wrbtr,
vend_inv-belnr TO cst_rep-belnr,
vend_inv-gjahr TO cst_rep-gjahr,
vend_inv-xblnr TO cst_rep-xblnr.
ENDIF.
READ TABLE chckfinal WITH KEY ebeln = v_po_det-ebeln ebelp = v_po_det-ebelp."matnr = v_po_det-matnr.
IF sy-subrc EQ 0.
MOVE : chckfinal-augbl TO cst_rep-augbl,
chckfinal-vblnr TO cst_rep-vblnr,
chckfinal-zbukr TO cst_rep-zbukr,
chckfinal-chect TO cst_rep-chect,
chckfinal-zaldt TO cst_rep-zaldt,
chckfinal-hbkid TO cst_rep-hbkid.
ENDIF.
READ TABLE mat_desc WITH KEY matnr = v_po_det-matnr.
IF sy-subrc EQ 0.
MOVE : mat_desc-maktx TO cst_rep-maktx.
ENDIF.
READ TABLE vend_det WITH KEY lifnr = v_po_det-lifnr.
IF sy-subrc EQ 0.
MOVE : vend_det-name1 TO cst_rep-name1,
vend_det-j_1icstno TO cst_rep-j_1icstno.
ENDIF.
APPEND : cst_rep.
CLEAR : cst_rep, v_po_det, gr_wh_info, vend_inv, chckfinal.
ENDLOOP.
Populating GT_output
LOOP AT cst_rep.
cst_gr = cst_rep-dmbtr * ( cst_rep-kbetr / 1000 ).
cst_inv = cst_rep-wrbtr * ( cst_rep-kbetr / 1000 ).
MOVE : cst_gr TO cst_rep-cst_dmbtr,
cst_inv TO cst_rep-cst_wrbtr.
MODIFY : cst_rep.
CLEAR : cst_rep, cst_gr, cst_inv.
ENDLOOP.
LOOP AT cst_rep.
MOVE : sy-tabix TO gt_output-slno,
cst_rep-lifnr TO gt_output-lifnr,
cst_rep-name1 TO gt_output-name1,
cst_rep-j_1icstno TO gt_output-j_1icstno,
cst_rep-werks TO gt_output-werks,
cst_rep-matnr TO gt_output-matnr,
cst_rep-maktx TO gt_output-maktx,
cst_rep-ebeln TO gt_output-ebeln,
cst_rep-ebelp TO gt_output-ebelp,
cst_rep-bedat TO gt_output-bedat,
cst_rep-mblnr TO gt_output-mblnr,
cst_rep-bldat TO gt_output-bldat,
cst_rep-menge TO gt_output-menge,
cst_rep-dmbtr TO gt_output-dmbtr,
cst_rep-cst_dmbtr TO gt_output-cst_dmbtr,
cst_rep-bwart TO gt_output-bwart,
cst_rep-whssn TO gt_output-whssn,
cst_rep-whsdt TO gt_output-whsdt,
cst_rep-buzid TO gt_output-buzid,
cst_rep-bschl TO gt_output-bschl,
cst_rep-wrbtr TO gt_output-wrbtr,
cst_rep-cst_wrbtr TO gt_output-cst_wrbtr,
cst_rep-belnr TO gt_output-belnr,
cst_rep-gjahr TO gt_output-gjahr,
cst_rep-xblnr TO gt_output-xblnr,
cst_rep-augbl TO gt_output-augbl,
cst_rep-vblnr TO gt_output-vblnr,
cst_rep-zbukr TO gt_output-zbukr,
cst_rep-chect TO gt_output-chect,
cst_rep-zaldt TO gt_output-zaldt,
cst_rep-hbkid TO gt_output-hbkid.
APPEND gt_output.
CLEAR : cst_rep, gt_output, sy-tabix.
ENDLOOP.
END-OF-SELECTION.
*-ALV Routine
PERFORM alv_forms.
*& Form alv_forms
FORM alv_forms.
PERFORM alv_routines.
gx_variant = sy-repid.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = g_save
CHANGING
cs_variant = gx_variant
EXCEPTIONS
not_found = 2.
IF sy-subrc = 0.
vari = gx_variant-variant.
ENDIF.
PERFORM comment_build USING gt_list_top_of_page[].
PERFORM fieldcat_init USING gt_fieldcat[].
PERFORM layout_build USING gs_layout.
PERFORM print_build USING gs_print.
PERFORM alv_output.
ENDFORM. " alv_forms
*& Form alv_routines
FORM alv_routines.
PERFORM eventtab_build USING gt_events[].
PERFORM e06_t_sort_build USING gt_sort[].
PERFORM sp_group_build USING gt_sp_group[].
g_save = 'A'.
PERFORM variant_init.
ENDFORM. " alv_routines
*& Form eventtab_build
FORM eventtab_build USING p_gt_events TYPE slis_t_event.
DATA: ls_event TYPE slis_alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = p_gt_events.
READ TABLE p_gt_events WITH KEY name = slis_ev_top_of_page
INTO ls_event.
IF sy-subrc = 0.
MOVE slis_ev_top_of_page TO ls_event-form.
APPEND ls_event TO p_gt_events.
ENDIF.
READ TABLE p_gt_events WITH KEY name = slis_ev_user_command
INTO ls_event.
IF sy-subrc = 0.
MOVE slis_ev_user_command TO ls_event-form.
APPEND ls_event TO p_gt_events.
ENDIF.
READ TABLE p_gt_events WITH KEY name = slis_ev_pf_status_set
INTO ls_event.
IF sy-subrc = 0.
MOVE slis_ev_pf_status_set TO ls_event-form.
APPEND ls_event TO p_gt_events.
ENDIF.
SORT p_gt_events BY name.
DELETE ADJACENT DUPLICATES FROM p_gt_events.
DELETE p_gt_events WHERE form IS INITIAL.
ENDFORM. " eventtab_build
*& Form sort_build
FORM e06_t_sort_build USING e06_lt_sort TYPE slis_t_sortinfo_alv.
DATA: ls_sort TYPE slis_sortinfo_alv.
CLEAR ls_sort.
ls_sort-fieldname = 'SLNO'.
ls_sort-spos = 1.
ls_sort-up = 'X'.
APPEND ls_sort TO e06_lt_sort.
CLEAR ls_sort.
ls_sort-fieldname = 'CNCNR'.
ls_sort-spos = 1.
ls_sort-up = 'X'.
APPEND ls_sort TO e06_lt_sort.
CLEAR ls_sort.
ls_sort-fieldname = 'MATNR'.
ls_sort-spos = 1.
ls_sort-up = 'X'.
APPEND ls_sort TO e06_lt_sort.
ENDFORM. " sort_build
*& Form sp_group_build
FORM sp_group_build USING p_gt_sp_group TYPE slis_t_sp_group_alv.
DATA: ls_sp_group TYPE slis_sp_group_alv.
CLEAR ls_sp_group.
ls_sp_group-sp_group = 'A'.
ls_sp_group-text = 'PRODUCT'.
APPEND ls_sp_group TO p_gt_sp_group.
ENDFORM. " sp_group_build
*& Form variant_init
FORM variant_init.
CLEAR g_variant.
g_repid = sy-repid.
g_variant-report = g_repid.
ENDFORM. " variant_init
*& Form comment_build
FORM comment_build USING e04_lt_top_of_page TYPE slis_t_listheader.
DATA: ls_line TYPE slis_listheader.
DATA: l_date(10) TYPE c,
l_time(8) TYPE c,
l_out(255) TYPE c.
WRITE sy-datum TO l_date.
WRITE sy-uzeit TO l_time.
CONCATENATE l_date '/' l_time INTO l_out.
CLEAR ls_line.
ls_line-typ = 'H'.
CLEAR ls_line.
ls_line-typ = 'S'.
ls_line-key = 'RUN BY :'.
ls_line-info = sy-uname.
APPEND ls_line TO e04_lt_top_of_page.
CLEAR ls_line.
ls_line-typ = 'S'.
ls_line-key = 'RUN ON :'.
ls_line-info = l_out.
APPEND ls_line TO e04_lt_top_of_page.
ENDFORM. " comment_build
*& Form fieldcat_init
FORM fieldcat_init USING e01_lt_fieldcat TYPE slis_t_fieldcat_alv.
DATA: ls_fieldcat TYPE slis_fieldcat_alv.
DATA n1(3).
DATA count(2) TYPE c.
DATA h1(10).
DATA: l_week LIKE scal-week,
l_text(17) TYPE c.
DATA cnt TYPE i.
cnt = cnt + 1.
CLEAR ls_fieldcat.
ls_fieldcat-row_pos = 1.
ls_fieldcat-col_pos = 1.
ls_fieldcat-fieldname = 'SLNO'.
ls_fieldcat-seltext_m = 'SL.NO'.
ls_fieldcat-hotspot = 'X'.
ls_fieldcat-key = 'X'.
ls_fieldcat-key_sel = 'X'.
ls_fieldcat-just = 'R'.
ls_fieldcat-sp_group = 'A'.
APPEND ls_fieldcat TO e01_lt_fieldcat.
cnt = cnt + 1.
CLEAR ls_fieldcat.
ls_fieldcat-row_pos = 1.
ls_fieldcat-col_pos = cnt.
ls_fieldcat-fieldname = 'LIFNR'.
ls_fieldcat-seltext_m = 'VENDOR NO.'.
ls_fieldcat-hotspot = 'X'.
ls_fieldcat-key = 'X'.
ls_fieldcat-key_sel = 'X'.
ls_fieldcat-just = 'R'.
ls_fieldcat-sp_group = 'A'.
APPEND ls_fieldcat TO e01_lt_fieldcat.
cnt = cnt + 1.
CLEAR ls_fieldcat.
ls_fieldcat-row_pos = 1.
ls_fieldcat-col_pos = cnt.
ls_fieldcat-fieldname = 'NAME1'.
ls_fieldcat-seltext_m = 'VENDOR NAME'.
ls_fieldcat-hotspot = 'X'.
ls_fieldcat-key = 'X'.
ls_fieldcat-key_sel = 'X'.
ls_fieldcat-just = 'L'.
ls_fieldcat-sp_group = 'A'.
APPEND ls_fieldcat TO e01_lt_fieldcat.
cnt = cnt + 1.
CLEAR ls_fieldcat.
ls_fieldcat-row_pos = 1.
ls_fieldcat-col_pos = cnt.
ls_fieldcat-fieldname = 'J_1ICSTNO'.
ls_fieldcat-seltext_m = 'VENDOR CST NO.'.
ls_fieldcat-hotspot = 'X'.
ls_fieldcat-key = 'X'.
ls_fieldcat-key_sel = 'X'.
ls_fieldcat-just = 'R'.
ls_fieldcat-sp_group = 'A'.
APPEND ls_fieldcat TO e01_lt_fieldcat.
cnt = cnt + 1.
CLEAR ls_fieldcat.
ls_fieldcat-row_pos = 1.
ls_fieldcat-col_pos = cnt.
ls_fieldcat-fieldname = 'WERKS'.
ls_fieldcat-seltext_m = 'PLANT'.
ls_fieldcat-key = 'X'.
ls_fieldcat-key_sel = 'X'.
ls_fieldcat-just = 'R'.
ls_fieldcat-sp_group = 'A'.
APPEND ls_fieldcat TO e01_lt_fieldcat.
cnt = cnt + 1.
CLEAR ls_fieldcat.
ls_fieldcat-row_pos = 1.
ls_fieldcat-col_pos = cnt.
ls_fieldcat-fieldname = 'EBELN'.
ls_fieldcat-seltext_m = 'PO NO.'.
ls_fieldcat-key = 'X'.
ls_fieldcat-key_sel = 'X'.
ls_fieldcat-just = 'R'.
ls_fieldcat-sp_group = 'A'.
APPEND ls_fieldcat TO e01_lt_fieldcat.
cnt = cnt + 1.
CLEAR ls_fieldcat.
ls_fieldcat-row_pos = 1.
ls_fieldcat-col_pos = cnt.
ls_fieldcat-fieldname = 'EBELP'.
ls_fieldcat-seltext_m = 'PO ITEM'.
ls_fieldcat-key = 'X'.
ls_fieldcat-key_sel = 'X'.
ls_fieldcat-just = 'R'.
ls_fieldcat-sp_group = 'A'.
APPEND ls_fieldcat TO e01_lt_fieldcat.
cnt = cnt + 1.
CLEAR ls_fieldcat.
ls_fieldcat-row_pos = 1.
ls_fieldcat-col_pos = cntHi ,
This is a sort of performance issue , because your program takes more than the max time set for the program to execute in foreground.
There are many stuff in program which will hamper your performance.
I will list down a few
1. SELECT *
FROM konp
INTO CORRESPONDING FIELDS OF TABLE konp_itab
FOR ALL ENTRIES IN a363_itab
WHERE knumh EQ a363_itab-knumh
in this statement you are using for all entries a363_itab , but before this statement you are not checking if the table has any entry or not , please do remember that for all entries has this characterstic , that if you internal table does not contain any record , then all the records are selected from the database table. So in this case if you table a363_itab is empty , so what you want is no data must be seelcted from table konp , but what will happen is all the records in KONP will be seelcted.
2. While retreiving data you are using seelct * even though you do not require all the fields , an example is
<b>SELECT *
FROM mkpf
INTO CORRESPONDING FIELDS OF TABLE mkpf_itab
FOR ALL ENTRIES IN mseg_itab
WHERE mblnr EQ mseg_itab-mblnr.</b>
in this your internal table contains only 2 fields
<b>mblnr LIKE mkpf-mblnr, "Number of Material Document
bldat LIKE mkpf-bldat, "Document Date in Document</b> , but to get these 2 fields you are selecting all the fields of the table.
3. In select you are using into corresponding fields of table , it is not a good practice., so please avoidd it.
Please understand that you must try to reduce the access to your database tables and try to keep it minimal , because this same thing may happen becasue data in DEV is very less compared to the volume of data in production , so a program working in DEV will take much more time in PRD if not written properly and may result in timeouts , as in your case.
Please try to make chanegs to the prorgam and see if it works.
In case you have more queries , please do revert back.
Regards
Arun
*Reward points if replay is helpful -
ISupplier - Setting up the Development Environment with JDeveloper 9.0.3
Hi friends,
Can you please tell me the steps involved in setting up the development environment for iSupplier Module with JDeveloper in my PC.
Please give me the details about what are the files to be downloaded from Apps, folder structure for development environment etc...
Gurus please reply ASAP.
Thanks,
SanYou should better pick the class files from the JAVA_TOP appropraite to that product and add it to either myclasses in your project in jdev or add it to the classpath.
Once you have these required files then you can launch the pages by either using a test.jsp or use the xml files directly if you know what parameters to pass. I would suggest you to use a test.jsp and launch the first page in the flow which launches from the menu - function by picking it's web_html_call. -
Setting up the development environment
hi,
can anybody suggest the best way to set up the weblogic server
development environment.
we are a group of 5 EJB developers working on weblogic 7.0.
(evaluation version)
each one is developing ejbs which has to interact with other
developer's beans.
each one has installed the server on their own m/c. for developing and
testing the beans.
Once done, integration of the ejbs is done on another server and
tested.
should we use a single server for development? but that may lead to
shutdown/ restart of the server frequently during testing and affect
the other developer's work.
anybody please suggest a better way.
thanks in advance.
anilOn Tue, 05 Nov 2002 21:55:11 +0000, anil wrote:
hi,
can anybody suggest the best way to set up the weblogic server
development environment.
we are a group of 5 EJB developers working on weblogic 7.0.
(evaluation version)
each one is developing ejbs which has to interact with other
developer's beans.
each one has installed the server on their own m/c. for developing and
testing the beans.
Once done, integration of the ejbs is done on another server and
tested.
should we use a single server for development? but that may lead to
shutdown/ restart of the server frequently during testing and affect
the other developer's work.
anybody please suggest a better way.
thanks in advance.
anilYour milleage may vary from others, here we had this environment setup for
a 7 people developing WLS applications:
- Single server for development (Sun Solaris box)
- using remote telnet from Windows workstation/linux workstation
- create a source code repository (e.g. CVS) for source code control and
user workspace
- create standard deployment descriptor with modular directory structures
- system admin only allowed to startup and shutdown server
- server running in "Development Mode" for hotdeploy and avoid shutdown
and restart.
Thank you,
Neo Gigs
"Follow the white rabbit..." -
Integration of PL/SQL and JSP (Java Server Pages)
I need to match a web application developed with PL/SQL with another developed in JSP (Java Server Pages) the problem is that the two apps interact with the same databese, an share de same users, I need to know how to get the user and password loged into pl/sql when the user want to use same of de .jsp pages running on another application server?
Hi Michael Vstling,
Did you try the java classes library (SDOAPI) that can be downloaded from OTN?
It may provide you with a better alternative when manipulating geometries in the Java space. There is an adapter in SDOAPI which can convert a JDBC STRUCT object into Java Geometry object defined in SDOAPI, and vice versa.
There are at least two ways in mixing PL/SQL and Java. The first one, as you mentioned, is to define your custom function in terms of PL/SQL and call it from within your Java program. With SDOAPI, you have the second option, which is to define your own functions in Java using SDOAPI and deploy them as Java stored procedures in db. You can then call them from within your PL/SQL code. In either way performance depends on a lot of things and generally it requires a "try and improve" approach.
About JPublisher and sdo_ordinate_array it may not be a spatial related problem. Did you try search the Java-related forums first?
LJ -
Field Exit is not working in QA but working in Development Server....
Hi friends,
I have created Field Exit for data element EPOS_LGORT (Storage Location) .Which is using in ME21N transaction of MM. This Field Exit is proper
working in Development Server but after transport in QA it is not working. I have checked code , it is same as well as exist in development Server.
Abap/fieldexit parameter already has been set as Yes. But still it is not working.
Following values has been set for Parameter abap/fieldexit for QA .
Dflt value no
ProfileVal YES
Current value YES
SAP Release 4.71
Any other setting required for parameter's . Please suggest me.
Thanks.Hi Chandrasekhar,
Thanks . Default value of parameter abap/fieldexit is 'yes or no' . Basis person told me that abap/fieldexit either can be set yes or no , so where we have to set 'X' value for abap/fieldexit parameter.
After execution of Program RSPARAM , following values found for QA Server.
1.1 R/3 C kernel no
2.1 file no
3.1 file YES
3.2 program parameters YES
3.3 Replace $$ and $(..) YES
3.4 Generate file name YES
4.4 Value in SharedMemory YES
Any other setting's we needed ? -
How does one move Policy Sets & Policies from one server to another
Is there a way to export Policy Set and Policy definitions from a development server and import into a production server?
Not really, the only thing that you may be able to do is replicate the development server LiveCycle database (as this is where the policy set and policy information is stored) and use it for the production system. remember all domains, ussers etc would have to be the same between development and production as the policy sets and policies contain users.
The safest thing to do would be to re-create the policy sets and policies (from scratch) on the Production server.
Regards
Steve -
Setting up Microsoft SQL Server datasource in Websphere 4.0
Does anyone know how to setup an SQL Server jdbc driver in Websphere 4.0? I am using jdbc driver from jTurbo. But I am having trouble specifying the proper URL and other datasource settings in Websphere 4.0 (or WTE) server configuration.
Hi,
Please find the extract from jTurbo site (http://www.newatlanta.com/support/jturbo/third-party.jsp#WebSphere)
which will explain the steps to follow for setting up Microsoft SQL Server datasource
in Websphere 4.0 using jTurbo jdbc driver.
1.Always make sure the JTurbo.jar is set in your classpath.
2.Started "WebSphere Admin Server"
3.Open "WebSphere Administrative Console"
4.Install the JTurbo Driver into WAS by modifying the following field of "Admin DB Driver"
Name: JTurbo
Class Name: com.ashna.jturbo.driver.Driver
URL prefix: jdbc:JTurbo://localhost/pubs
JTA Enabled: false
(apply changes which resulted in the installation of JTurbo Driver)
5.Selected "Create Data Source" in Console "Wizards" drop down
6.Selected "Use an already installed JDBC Driver" JDBC Option
7.Specified "my ds name" as the "Data Source Name"
Specified "pubs" as the "Database Name" pull down is showing "JTurbo"
This should sucessfully create a new data source by the name of "my ds name".
Also there is an excellent document on "Configuring the Merant ConnectJDBC data source for MS SQL Server for the WebSphere Application Server Advanced Single Server Edition" at http://www-4.ibm.com/software/webservers/appserv/doc/v40/ae/infocenter/was/was402/rn112253.4.html .
Hope this helps. Good luck.
Best Regards
Gayam_Slash -
Deploying application to the web with Developer Server
Hi everyone,
Does anyone out there has any notes or step-by-step configuration
guide on deploying application on the web with Developer Server
only (not with OAS)? I know that you can use it with Microsoft
IIS 3.0 or 4.0 (as the web server) but don't know how to set it
up. Appreciate if someone out there could help. Thanks.
null<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Pedro Diaz Robles ([email protected]):
I need exeperience comments and guidelines experience for deploying Forms in the WEB.<HR></BLOCKQUOTE>
Be more specific !! -
Difference in GL in Development Server & Production Derver (Vendor Return)
Hi,
While doing the Vendor Return (Mov Type 122) in Development Server, the entries for Cess & HCess for Excise are being posted in correct GL Accounts .
While doing the same thing on the Procuction Server, the GL Accounts are not matching. May be there may be some mismatch in Transport Request,
Pls. tell me from where I can see the setting (Transaction)for the same (ECess & HECess for Excise) & how can we solve the problem.
Regards,HI
First, check the same gl nbrs are assigned in prod server compare to dev server.. u can check thru table
SE16 give the table as j_1iexcacc and give ur ex grp, co code and trans type as OTHR and excute .. it will show u all the gl nbrs assgined to bed, ed , se cess and etc.. here press F2 to see the details
where u can check for
G/L A/c for RG23A AT1 - For Sec cess
G/L account for RG23A ECS -For Ed cess -
Transfer of business object from development server to testing server
if i want to transfer business object from development server to testing server how can i do that?
what is the system landscape?
what is business object?Hi Rizwan,
U can get details of Business Objects in tcode - SWO1.
Business objects are real world entities modeled as objects in an information system.
Business objects encapsulate both data structures and the functions applied to the data, but hide their full complexity from other objects. This encapsulation of data and functions makes it easier to modify program components, because you can program with the relevant entities without having to know all the implementation details. You can also reuse existing functions.
Client programs access business objects by reading their attributes, or by calling the methods that make up the objectu2019s interface:
Attributes
Attributes describe the data stored in an object through a set of properties. They provide direct read access to the data structures of objects, but client programs cannot change them from outside.
Methods
Methods provide a way to encapsulate the data structures of business objects, and to process them. When accessing an object, the client program calls a method with parameters and gets back return parameters.
Interface
The interface is the set of methods associated with a business object, and determines how an object interacts with the outside world.
The client program defines the object types to be used and, at runtime, creates object instances of those object types.
Maybe you are looking for
-
Home Sharing works, but not able to transfer files between PCs.
I have two laptops at home, one is an old one I keep dedicated to my Apple TV 2nd Gen. (so I don't have to have my laptop on, or my wife can use the ATV if I'm at work w/ my laptop, etc.) Anyway, I sync all my media between both computers so when my
-
How to convert VI that calls a CIN to newer LabVIEW without having the LSB
Hi, I'd like to upgrade a VI which calls a CIN from LV 7.1 to LV 8.5 or 9.0, but I have no access to the CIN code (the .lsb file) anymore. That .lsb was not one of the .lsb which came with LV but written by some third party. The only chance I see wri
-
How to set a password on a folder
I was wondering if it is possible to protect a folder with a password. Let's say I don't want to create an account for other users. They use my account when using my Mac. But I have a folder I don't want them to access. Is it doable?
-
Storage Location To Storage Location Transfer
Hello All We are transfering the stock transfer from one storage location to another store loaction in two step ( 313 & 315) We want to track the Stock in Transit. The details are not coming in MB5T Where we will get that details Thanks in advance Re
-
How can I access the contents of the USB drive plugged into the Airport through Windows 8?
We have an equal amount of Macbook Pro's and Window's computers in our house and we just purchased the Airport Time Capsule 3TB. It works great, but, I want to plug in an external USB Hard Drive to the Airport and access it through the WIndows 8 co